lenra_app/gen/
components_lenra.rs

1use serde::{Deserialize, Serialize};
2///Element of type Actionable
3#[derive(Clone, Debug, Deserialize, Serialize)]
4#[serde(deny_unknown_fields)]
5pub struct Actionable {
6    pub child: LenraComponent,
7    ///The listener to be called when the actionable is double pressed.
8    #[serde(
9        rename = "onDoublePressed",
10        default,
11        skip_serializing_if = "Option::is_none"
12    )]
13    pub on_double_pressed: Option<Listener>,
14    ///The listener to be called when the actionable is hovered and when the mouse exits the hoverable area.
15    #[serde(rename = "onHovered", default, skip_serializing_if = "Option::is_none")]
16    pub on_hovered: Option<Listener>,
17    ///The listener to be called when the actionable is long pressed.
18    #[serde(rename = "onLongPressed", default, skip_serializing_if = "Option::is_none")]
19    pub on_long_pressed: Option<Listener>,
20    ///The listener to be called when the actionable is pressed.
21    #[serde(rename = "onPressed", default, skip_serializing_if = "Option::is_none")]
22    pub on_pressed: Option<Listener>,
23    ///The listener to be called when the actionable is pressed inside and released outside of the actionable, causing it to cancel the press action.
24    #[serde(
25        rename = "onPressedCancel",
26        default,
27        skip_serializing_if = "Option::is_none"
28    )]
29    pub on_pressed_cancel: Option<Listener>,
30    ///Whether the actionable can submit a form.
31    #[serde(default, skip_serializing_if = "Option::is_none")]
32    pub submit: Option<bool>,
33    ///The identifier of the component
34    #[serde(rename = "_type")]
35    pub type_: serde_json::Value,
36}
37impl From<&Actionable> for Actionable {
38    fn from(value: &Actionable) -> Self {
39        value.clone()
40    }
41}
42impl Actionable {
43    pub fn builder() -> builder::Actionable {
44        builder::Actionable::default()
45    }
46}
47///Element of type Button
48#[derive(Clone, Debug, Deserialize, Serialize)]
49#[serde(deny_unknown_fields)]
50pub struct Button {
51    ///The button is disabled if true
52    #[serde(default, skip_serializing_if = "Option::is_none")]
53    pub disabled: Option<bool>,
54    #[serde(rename = "leftIcon", default, skip_serializing_if = "Option::is_none")]
55    pub left_icon: Option<Icon>,
56    #[serde(rename = "mainStyle", default, skip_serializing_if = "Option::is_none")]
57    pub main_style: Option<StylesStyle>,
58    #[serde(rename = "onPressed", default, skip_serializing_if = "Option::is_none")]
59    pub on_pressed: Option<Listener>,
60    #[serde(rename = "rightIcon", default, skip_serializing_if = "Option::is_none")]
61    pub right_icon: Option<Icon>,
62    #[serde(default, skip_serializing_if = "Option::is_none")]
63    pub size: Option<StylesSize>,
64    ///Whether the button is a submit button for a form.
65    #[serde(default, skip_serializing_if = "Option::is_none")]
66    pub submit: Option<bool>,
67    ///The value of the text inside the button
68    pub text: String,
69    ///The identifier of the component
70    #[serde(rename = "_type")]
71    pub type_: serde_json::Value,
72}
73impl From<&Button> for Button {
74    fn from(value: &Button) -> Self {
75        value.clone()
76    }
77}
78impl Button {
79    pub fn builder() -> builder::Button {
80        builder::Button::default()
81    }
82}
83///Element of type Carousel
84#[derive(Clone, Debug, Deserialize, Serialize)]
85#[serde(deny_unknown_fields)]
86pub struct Carousel {
87    ///The children
88    pub children: Vec<LenraComponent>,
89    #[serde(default, skip_serializing_if = "Option::is_none")]
90    pub options: Option<StylesCarouselOptions>,
91    ///The identifier of the component
92    #[serde(rename = "_type")]
93    pub type_: serde_json::Value,
94}
95impl From<&Carousel> for Carousel {
96    fn from(value: &Carousel) -> Self {
97        value.clone()
98    }
99}
100impl Carousel {
101    pub fn builder() -> builder::Carousel {
102        builder::Carousel::default()
103    }
104}
105///Element of type Checkbox
106#[derive(Clone, Debug, Deserialize, Serialize)]
107#[serde(deny_unknown_fields)]
108pub struct Checkbox {
109    ///Whether the checkbox is focused initially.
110    #[serde(default, skip_serializing_if = "Option::is_none")]
111    pub autofocus: Option<bool>,
112    #[serde(
113        rename = "materialTapTargetSize",
114        default,
115        skip_serializing_if = "Option::is_none"
116    )]
117    pub material_tap_target_size: Option<StylesMaterialTapTargetSize>,
118    ///The name that will be used in the form.
119    #[serde(default, skip_serializing_if = "Option::is_none")]
120    pub name: Option<String>,
121    #[serde(rename = "onPressed", default, skip_serializing_if = "Option::is_none")]
122    pub on_pressed: Option<Listener>,
123    #[serde(default, skip_serializing_if = "Option::is_none")]
124    pub style: Option<StylesCheckboxStyle>,
125    ///Whether the checkbox can have 3 states.
126    #[serde(default, skip_serializing_if = "Option::is_none")]
127    pub tristate: Option<bool>,
128    ///The identifier of the component
129    #[serde(rename = "_type")]
130    pub type_: serde_json::Value,
131    ///The default state of the checkbox
132    pub value: bool,
133}
134impl From<&Checkbox> for Checkbox {
135    fn from(value: &Checkbox) -> Self {
136        value.clone()
137    }
138}
139impl Checkbox {
140    pub fn builder() -> builder::Checkbox {
141        builder::Checkbox::default()
142    }
143}
144///Element of type container
145#[derive(Clone, Debug, Deserialize, Serialize)]
146#[serde(deny_unknown_fields)]
147pub struct Container {
148    #[serde(default, skip_serializing_if = "Option::is_none")]
149    pub alignment: Option<StylesAlignment>,
150    #[serde(default, skip_serializing_if = "Option::is_none")]
151    pub border: Option<StylesBorder>,
152    #[serde(default, skip_serializing_if = "Option::is_none")]
153    pub child: Option<Box<LenraComponent>>,
154    #[serde(default, skip_serializing_if = "Option::is_none")]
155    pub constraints: Option<StylesBoxConstraints>,
156    #[serde(default, skip_serializing_if = "Option::is_none")]
157    pub decoration: Option<StylesBoxDecoration>,
158    #[serde(default, skip_serializing_if = "Option::is_none")]
159    pub padding: Option<StylesPadding>,
160    ///The identifier of the component
161    #[serde(rename = "_type")]
162    pub type_: serde_json::Value,
163}
164impl From<&Container> for Container {
165    fn from(value: &Container) -> Self {
166        value.clone()
167    }
168}
169impl Container {
170    pub fn builder() -> builder::Container {
171        builder::Container::default()
172    }
173}
174///Mongo data query projection
175#[derive(Clone, Debug, Deserialize, Serialize)]
176pub struct DataProjection(pub serde_json::Map<String, serde_json::Value>);
177impl std::ops::Deref for DataProjection {
178    type Target = serde_json::Map<String, serde_json::Value>;
179    fn deref(&self) -> &serde_json::Map<String, serde_json::Value> {
180        &self.0
181    }
182}
183impl From<DataProjection> for serde_json::Map<String, serde_json::Value> {
184    fn from(value: DataProjection) -> Self {
185        value.0
186    }
187}
188impl From<&DataProjection> for DataProjection {
189    fn from(value: &DataProjection) -> Self {
190        value.clone()
191    }
192}
193impl From<serde_json::Map<String, serde_json::Value>> for DataProjection {
194    fn from(value: serde_json::Map<String, serde_json::Value>) -> Self {
195        Self(value)
196    }
197}
198///Mongo data query
199#[derive(Clone, Debug, Deserialize, Serialize)]
200pub struct DataQuery(pub serde_json::Map<String, serde_json::Value>);
201impl std::ops::Deref for DataQuery {
202    type Target = serde_json::Map<String, serde_json::Value>;
203    fn deref(&self) -> &serde_json::Map<String, serde_json::Value> {
204        &self.0
205    }
206}
207impl From<DataQuery> for serde_json::Map<String, serde_json::Value> {
208    fn from(value: DataQuery) -> Self {
209        value.0
210    }
211}
212impl From<&DataQuery> for DataQuery {
213    fn from(value: &DataQuery) -> Self {
214        value.clone()
215    }
216}
217impl From<serde_json::Map<String, serde_json::Value>> for DataQuery {
218    fn from(value: serde_json::Map<String, serde_json::Value>) -> Self {
219        Self(value)
220    }
221}
222///Parameters passed to the listener
223#[derive(Clone, Debug, Deserialize, Serialize)]
224pub struct DefsProps(pub serde_json::Map<String, serde_json::Value>);
225impl std::ops::Deref for DefsProps {
226    type Target = serde_json::Map<String, serde_json::Value>;
227    fn deref(&self) -> &serde_json::Map<String, serde_json::Value> {
228        &self.0
229    }
230}
231impl From<DefsProps> for serde_json::Map<String, serde_json::Value> {
232    fn from(value: DefsProps) -> Self {
233        value.0
234    }
235}
236impl From<&DefsProps> for DefsProps {
237    fn from(value: &DefsProps) -> Self {
238        value.clone()
239    }
240}
241impl From<serde_json::Map<String, serde_json::Value>> for DefsProps {
242    fn from(value: serde_json::Map<String, serde_json::Value>) -> Self {
243        Self(value)
244    }
245}
246///Element of type Dropdown Button
247#[derive(Clone, Debug, Deserialize, Serialize)]
248#[serde(deny_unknown_fields)]
249pub struct DropdownButton {
250    pub child: Box<LenraComponent>,
251    ///If true, the dropdown button is disabled
252    #[serde(default, skip_serializing_if = "Option::is_none")]
253    pub disabled: Option<bool>,
254    #[serde(default, skip_serializing_if = "Option::is_none")]
255    pub icon: Option<Icon>,
256    #[serde(rename = "mainStyle", default, skip_serializing_if = "Option::is_none")]
257    pub main_style: Option<StylesStyle>,
258    #[serde(default, skip_serializing_if = "Option::is_none")]
259    pub size: Option<StylesSize>,
260    ///The text of the dropdown button
261    pub text: String,
262    ///The identifier of the component
263    #[serde(rename = "_type")]
264    pub type_: serde_json::Value,
265}
266impl From<&DropdownButton> for DropdownButton {
267    fn from(value: &DropdownButton) -> Self {
268        value.clone()
269    }
270}
271impl DropdownButton {
272    pub fn builder() -> builder::DropdownButton {
273        builder::DropdownButton::default()
274    }
275}
276///Element of type Flex
277#[derive(Clone, Debug, Deserialize, Serialize)]
278#[serde(deny_unknown_fields)]
279pub struct Flex {
280    ///The children
281    pub children: Vec<LenraComponent>,
282    ///The alignment along the cross axis
283    #[serde(
284        rename = "crossAxisAlignment",
285        default,
286        skip_serializing_if = "Option::is_none"
287    )]
288    pub cross_axis_alignment: Option<FlexCrossAxisAlignment>,
289    #[serde(default, skip_serializing_if = "Option::is_none")]
290    pub direction: Option<StylesDirection>,
291    ///if true the flex will fill the main axis. Otherwise it will take the children size.
292    #[serde(rename = "fillParent", default, skip_serializing_if = "Option::is_none")]
293    pub fill_parent: Option<bool>,
294    #[serde(
295        rename = "horizontalDirection",
296        default,
297        skip_serializing_if = "Option::is_none"
298    )]
299    pub horizontal_direction: Option<StylesTextDirection>,
300    ///The alignment along the main axis
301    #[serde(
302        rename = "mainAxisAlignment",
303        default,
304        skip_serializing_if = "Option::is_none"
305    )]
306    pub main_axis_alignment: Option<FlexMainAxisAlignment>,
307    #[serde(default, skip_serializing_if = "Option::is_none")]
308    pub padding: Option<StylesPadding>,
309    ///If true the flex will scroll if there is too many item in the Main Axis.
310    #[serde(default, skip_serializing_if = "Option::is_none")]
311    pub scroll: Option<bool>,
312    #[serde(default, skip_serializing_if = "Option::is_none")]
313    pub spacing: Option<f64>,
314    #[serde(rename = "textBaseline", default, skip_serializing_if = "Option::is_none")]
315    pub text_baseline: Option<StylesTextBaseline>,
316    ///The identifier of the component
317    #[serde(rename = "_type")]
318    pub type_: serde_json::Value,
319    #[serde(
320        rename = "verticalDirection",
321        default,
322        skip_serializing_if = "Option::is_none"
323    )]
324    pub vertical_direction: Option<StylesVerticalDirection>,
325}
326impl From<&Flex> for Flex {
327    fn from(value: &Flex) -> Self {
328        value.clone()
329    }
330}
331impl Flex {
332    pub fn builder() -> builder::Flex {
333        builder::Flex::default()
334    }
335}
336///The alignment along the cross axis
337#[derive(
338    Clone,
339    Copy,
340    Debug,
341    Deserialize,
342    Eq,
343    Hash,
344    Ord,
345    PartialEq,
346    PartialOrd,
347    Serialize
348)]
349pub enum FlexCrossAxisAlignment {
350    #[serde(rename = "start")]
351    Start,
352    #[serde(rename = "end")]
353    End,
354    #[serde(rename = "center")]
355    Center,
356    #[serde(rename = "stretch")]
357    Stretch,
358    #[serde(rename = "baseline")]
359    Baseline,
360}
361impl From<&FlexCrossAxisAlignment> for FlexCrossAxisAlignment {
362    fn from(value: &FlexCrossAxisAlignment) -> Self {
363        value.clone()
364    }
365}
366impl ToString for FlexCrossAxisAlignment {
367    fn to_string(&self) -> String {
368        match *self {
369            Self::Start => "start".to_string(),
370            Self::End => "end".to_string(),
371            Self::Center => "center".to_string(),
372            Self::Stretch => "stretch".to_string(),
373            Self::Baseline => "baseline".to_string(),
374        }
375    }
376}
377impl std::str::FromStr for FlexCrossAxisAlignment {
378    type Err = &'static str;
379    fn from_str(value: &str) -> Result<Self, &'static str> {
380        match value {
381            "start" => Ok(Self::Start),
382            "end" => Ok(Self::End),
383            "center" => Ok(Self::Center),
384            "stretch" => Ok(Self::Stretch),
385            "baseline" => Ok(Self::Baseline),
386            _ => Err("invalid value"),
387        }
388    }
389}
390impl std::convert::TryFrom<&str> for FlexCrossAxisAlignment {
391    type Error = &'static str;
392    fn try_from(value: &str) -> Result<Self, &'static str> {
393        value.parse()
394    }
395}
396impl std::convert::TryFrom<&String> for FlexCrossAxisAlignment {
397    type Error = &'static str;
398    fn try_from(value: &String) -> Result<Self, &'static str> {
399        value.parse()
400    }
401}
402impl std::convert::TryFrom<String> for FlexCrossAxisAlignment {
403    type Error = &'static str;
404    fn try_from(value: String) -> Result<Self, &'static str> {
405        value.parse()
406    }
407}
408///The alignment along the main axis
409#[derive(
410    Clone,
411    Copy,
412    Debug,
413    Deserialize,
414    Eq,
415    Hash,
416    Ord,
417    PartialEq,
418    PartialOrd,
419    Serialize
420)]
421pub enum FlexMainAxisAlignment {
422    #[serde(rename = "start")]
423    Start,
424    #[serde(rename = "end")]
425    End,
426    #[serde(rename = "center")]
427    Center,
428    #[serde(rename = "spaceBetween")]
429    SpaceBetween,
430    #[serde(rename = "spaceAround")]
431    SpaceAround,
432    #[serde(rename = "spaceEvenly")]
433    SpaceEvenly,
434}
435impl From<&FlexMainAxisAlignment> for FlexMainAxisAlignment {
436    fn from(value: &FlexMainAxisAlignment) -> Self {
437        value.clone()
438    }
439}
440impl ToString for FlexMainAxisAlignment {
441    fn to_string(&self) -> String {
442        match *self {
443            Self::Start => "start".to_string(),
444            Self::End => "end".to_string(),
445            Self::Center => "center".to_string(),
446            Self::SpaceBetween => "spaceBetween".to_string(),
447            Self::SpaceAround => "spaceAround".to_string(),
448            Self::SpaceEvenly => "spaceEvenly".to_string(),
449        }
450    }
451}
452impl std::str::FromStr for FlexMainAxisAlignment {
453    type Err = &'static str;
454    fn from_str(value: &str) -> Result<Self, &'static str> {
455        match value {
456            "start" => Ok(Self::Start),
457            "end" => Ok(Self::End),
458            "center" => Ok(Self::Center),
459            "spaceBetween" => Ok(Self::SpaceBetween),
460            "spaceAround" => Ok(Self::SpaceAround),
461            "spaceEvenly" => Ok(Self::SpaceEvenly),
462            _ => Err("invalid value"),
463        }
464    }
465}
466impl std::convert::TryFrom<&str> for FlexMainAxisAlignment {
467    type Error = &'static str;
468    fn try_from(value: &str) -> Result<Self, &'static str> {
469        value.parse()
470    }
471}
472impl std::convert::TryFrom<&String> for FlexMainAxisAlignment {
473    type Error = &'static str;
474    fn try_from(value: &String) -> Result<Self, &'static str> {
475        value.parse()
476    }
477}
478impl std::convert::TryFrom<String> for FlexMainAxisAlignment {
479    type Error = &'static str;
480    fn try_from(value: String) -> Result<Self, &'static str> {
481        value.parse()
482    }
483}
484///Element of type Flexible
485#[derive(Clone, Debug, Deserialize, Serialize)]
486#[serde(deny_unknown_fields)]
487pub struct Flexible {
488    pub child: Box<LenraComponent>,
489    #[serde(default, skip_serializing_if = "Option::is_none")]
490    pub fit: Option<StylesFlexFit>,
491    ///How a flexible child is inscribed into the available space.
492    #[serde(default, skip_serializing_if = "Option::is_none")]
493    pub flex: Option<i64>,
494    ///The identifier of the component
495    #[serde(rename = "_type")]
496    pub type_: serde_json::Value,
497}
498impl From<&Flexible> for Flexible {
499    fn from(value: &Flexible) -> Self {
500        value.clone()
501    }
502}
503impl Flexible {
504    pub fn builder() -> builder::Flexible {
505        builder::Flexible::default()
506    }
507}
508///Element of type Form
509#[derive(Clone, Debug, Deserialize, Serialize)]
510#[serde(deny_unknown_fields)]
511pub struct Form {
512    pub child: Box<LenraComponent>,
513    ///Callback when the user submits the form.
514    #[serde(rename = "onSubmit", default, skip_serializing_if = "Option::is_none")]
515    pub on_submit: Option<Listener>,
516    ///The identifier of the component
517    #[serde(rename = "_type")]
518    pub type_: serde_json::Value,
519}
520impl From<&Form> for Form {
521    fn from(value: &Form) -> Self {
522        value.clone()
523    }
524}
525impl Form {
526    pub fn builder() -> builder::Form {
527        builder::Form::default()
528    }
529}
530///The Icon to use
531#[derive(Clone, Debug, Deserialize, Serialize)]
532#[serde(deny_unknown_fields)]
533pub struct Icon {
534    ///The color of the Icon. If not set or null, the color is inherited from the theme.
535    #[serde(default, skip_serializing_if = "Option::is_none")]
536    pub color: Option<StylesColor>,
537    ///The semantic label for the Icon. This will be announced when using accessibility mode.
538    #[serde(rename = "semanticLabel", default, skip_serializing_if = "Option::is_none")]
539    pub semantic_label: Option<String>,
540    #[serde(default, skip_serializing_if = "Option::is_none")]
541    pub size: Option<f64>,
542    #[serde(default, skip_serializing_if = "Option::is_none")]
543    pub style: Option<IconDefinitionsIconStyle>,
544    ///The identifier of the component
545    #[serde(rename = "_type")]
546    pub type_: serde_json::Value,
547    ///The value of the Icon
548    pub value: StylesIconName,
549}
550impl From<&Icon> for Icon {
551    fn from(value: &Icon) -> Self {
552        value.clone()
553    }
554}
555impl Icon {
556    pub fn builder() -> builder::Icon {
557        builder::Icon::default()
558    }
559}
560///The style of the Icon
561#[derive(
562    Clone,
563    Copy,
564    Debug,
565    Deserialize,
566    Eq,
567    Hash,
568    Ord,
569    PartialEq,
570    PartialOrd,
571    Serialize
572)]
573pub enum IconDefinitionsIconStyle {
574    #[serde(rename = "filled")]
575    Filled,
576    #[serde(rename = "sharp")]
577    Sharp,
578    #[serde(rename = "rounded")]
579    Rounded,
580    #[serde(rename = "outlined")]
581    Outlined,
582}
583impl From<&IconDefinitionsIconStyle> for IconDefinitionsIconStyle {
584    fn from(value: &IconDefinitionsIconStyle) -> Self {
585        value.clone()
586    }
587}
588impl ToString for IconDefinitionsIconStyle {
589    fn to_string(&self) -> String {
590        match *self {
591            Self::Filled => "filled".to_string(),
592            Self::Sharp => "sharp".to_string(),
593            Self::Rounded => "rounded".to_string(),
594            Self::Outlined => "outlined".to_string(),
595        }
596    }
597}
598impl std::str::FromStr for IconDefinitionsIconStyle {
599    type Err = &'static str;
600    fn from_str(value: &str) -> Result<Self, &'static str> {
601        match value {
602            "filled" => Ok(Self::Filled),
603            "sharp" => Ok(Self::Sharp),
604            "rounded" => Ok(Self::Rounded),
605            "outlined" => Ok(Self::Outlined),
606            _ => Err("invalid value"),
607        }
608    }
609}
610impl std::convert::TryFrom<&str> for IconDefinitionsIconStyle {
611    type Error = &'static str;
612    fn try_from(value: &str) -> Result<Self, &'static str> {
613        value.parse()
614    }
615}
616impl std::convert::TryFrom<&String> for IconDefinitionsIconStyle {
617    type Error = &'static str;
618    fn try_from(value: &String) -> Result<Self, &'static str> {
619        value.parse()
620    }
621}
622impl std::convert::TryFrom<String> for IconDefinitionsIconStyle {
623    type Error = &'static str;
624    fn try_from(value: String) -> Result<Self, &'static str> {
625        value.parse()
626    }
627}
628///Element of type Image
629#[derive(Clone, Debug, Deserialize, Serialize)]
630#[serde(deny_unknown_fields)]
631pub struct Image {
632    ///How to align the image.
633    #[serde(default, skip_serializing_if = "Option::is_none")]
634    pub alignment: Option<StylesAlignment>,
635    ///The center slice for a nine-patch image.
636    #[serde(rename = "centerSlice", default, skip_serializing_if = "Option::is_none")]
637    pub center_slice: Option<StylesRect>,
638    ///The error placeholder when the image encounters an error during loading.
639    #[serde(
640        rename = "errorPlaceholder",
641        default,
642        skip_serializing_if = "Option::is_none"
643    )]
644    pub error_placeholder: Option<Box<LenraComponent>>,
645    ///Whether to exclude this image from semantics.
646    #[serde(
647        rename = "excludeFromSemantics",
648        default,
649        skip_serializing_if = "Option::is_none"
650    )]
651    pub exclude_from_semantics: Option<bool>,
652    ///The quality of the image.
653    #[serde(rename = "filterQuality", default, skip_serializing_if = "Option::is_none")]
654    pub filter_quality: Option<StylesFilterQuality>,
655    ///How the image should fit the parent box.
656    #[serde(default, skip_serializing_if = "Option::is_none")]
657    pub fit: Option<StylesBoxFit>,
658    ///A placeholder to display while the image is loading or to add effects to the image.
659    #[serde(
660        rename = "framePlaceholder",
661        default,
662        skip_serializing_if = "Option::is_none"
663    )]
664    pub frame_placeholder: Option<Box<LenraComponent>>,
665    ///Whether the old image (true) or nothing (false) is shown when the image provider changes.
666    #[serde(
667        rename = "gaplessPlayback",
668        default,
669        skip_serializing_if = "Option::is_none"
670    )]
671    pub gapless_playback: Option<bool>,
672    #[serde(default, skip_serializing_if = "Option::is_none")]
673    pub height: Option<f64>,
674    ///Whether to paint the image with anti-aliasing.
675    #[serde(rename = "isAntiAlias", default, skip_serializing_if = "Option::is_none")]
676    pub is_anti_alias: Option<bool>,
677    ///A placeholder to display while the image is still loading.
678    #[serde(
679        rename = "loadingPlaceholder",
680        default,
681        skip_serializing_if = "Option::is_none"
682    )]
683    pub loading_placeholder: Option<Box<LenraComponent>>,
684    ///How the image should be repeated accross the bounds not covered by the image.
685    #[serde(default, skip_serializing_if = "Option::is_none")]
686    pub repeat: Option<StylesImageRepeat>,
687    ///A semantic description of the image. This is used for TalkBack on Android and VoiceOver on IOS.
688    #[serde(rename = "semanticLabel", default, skip_serializing_if = "Option::is_none")]
689    pub semantic_label: Option<String>,
690    ///The URL to the image. Will fetch the application's image if the URL does not start with `http(s)://`.
691    pub src: String,
692    ///The identifier of the component
693    #[serde(rename = "_type")]
694    pub type_: serde_json::Value,
695    #[serde(default, skip_serializing_if = "Option::is_none")]
696    pub width: Option<f64>,
697}
698impl From<&Image> for Image {
699    fn from(value: &Image) -> Self {
700        value.clone()
701    }
702}
703impl Image {
704    pub fn builder() -> builder::Image {
705        builder::Image::default()
706    }
707}
708///Any component
709#[derive(Clone, Debug, Deserialize, Serialize)]
710#[serde(untagged)]
711pub enum LenraComponent {
712    Actionable(Box<Actionable>),
713    Button(Button),
714    Carousel(Carousel),
715    Checkbox(Checkbox),
716    Container(Container),
717    DropdownButton(DropdownButton),
718    Flex(Flex),
719    Flexible(Flexible),
720    Form(Form),
721    Icon(Icon),
722    Image(Image),
723    Menu(Menu),
724    MenuItem(MenuItem),
725    OverlayEntry(OverlayEntry),
726    Radio(Radio),
727    Slider(Slider),
728    Stack(Stack),
729    StatusSticker(StatusSticker),
730    Text(Text),
731    Textfield(Textfield),
732    Toggle(Toggle),
733    View(View),
734    Wrap(Wrap),
735}
736impl From<&LenraComponent> for LenraComponent {
737    fn from(value: &LenraComponent) -> Self {
738        value.clone()
739    }
740}
741impl From<Box<Actionable>> for LenraComponent {
742    fn from(value: Box<Actionable>) -> Self {
743        Self::Actionable(value)
744    }
745}
746impl From<Button> for LenraComponent {
747    fn from(value: Button) -> Self {
748        Self::Button(value)
749    }
750}
751impl From<Carousel> for LenraComponent {
752    fn from(value: Carousel) -> Self {
753        Self::Carousel(value)
754    }
755}
756impl From<Checkbox> for LenraComponent {
757    fn from(value: Checkbox) -> Self {
758        Self::Checkbox(value)
759    }
760}
761impl From<Container> for LenraComponent {
762    fn from(value: Container) -> Self {
763        Self::Container(value)
764    }
765}
766impl From<DropdownButton> for LenraComponent {
767    fn from(value: DropdownButton) -> Self {
768        Self::DropdownButton(value)
769    }
770}
771impl From<Flex> for LenraComponent {
772    fn from(value: Flex) -> Self {
773        Self::Flex(value)
774    }
775}
776impl From<Flexible> for LenraComponent {
777    fn from(value: Flexible) -> Self {
778        Self::Flexible(value)
779    }
780}
781impl From<Form> for LenraComponent {
782    fn from(value: Form) -> Self {
783        Self::Form(value)
784    }
785}
786impl From<Icon> for LenraComponent {
787    fn from(value: Icon) -> Self {
788        Self::Icon(value)
789    }
790}
791impl From<Image> for LenraComponent {
792    fn from(value: Image) -> Self {
793        Self::Image(value)
794    }
795}
796impl From<Menu> for LenraComponent {
797    fn from(value: Menu) -> Self {
798        Self::Menu(value)
799    }
800}
801impl From<MenuItem> for LenraComponent {
802    fn from(value: MenuItem) -> Self {
803        Self::MenuItem(value)
804    }
805}
806impl From<OverlayEntry> for LenraComponent {
807    fn from(value: OverlayEntry) -> Self {
808        Self::OverlayEntry(value)
809    }
810}
811impl From<Radio> for LenraComponent {
812    fn from(value: Radio) -> Self {
813        Self::Radio(value)
814    }
815}
816impl From<Slider> for LenraComponent {
817    fn from(value: Slider) -> Self {
818        Self::Slider(value)
819    }
820}
821impl From<Stack> for LenraComponent {
822    fn from(value: Stack) -> Self {
823        Self::Stack(value)
824    }
825}
826impl From<StatusSticker> for LenraComponent {
827    fn from(value: StatusSticker) -> Self {
828        Self::StatusSticker(value)
829    }
830}
831impl From<Text> for LenraComponent {
832    fn from(value: Text) -> Self {
833        Self::Text(value)
834    }
835}
836impl From<Textfield> for LenraComponent {
837    fn from(value: Textfield) -> Self {
838        Self::Textfield(value)
839    }
840}
841impl From<Toggle> for LenraComponent {
842    fn from(value: Toggle) -> Self {
843        Self::Toggle(value)
844    }
845}
846impl From<View> for LenraComponent {
847    fn from(value: View) -> Self {
848        Self::View(value)
849    }
850}
851impl From<Wrap> for LenraComponent {
852    fn from(value: Wrap) -> Self {
853        Self::Wrap(value)
854    }
855}
856#[derive(Clone, Debug, Deserialize, Serialize)]
857#[serde(deny_unknown_fields)]
858pub struct Listener {
859    ///The name of the listener to call
860    pub name: ListenerName,
861    #[serde(default, skip_serializing_if = "Option::is_none")]
862    pub props: Option<DefsProps>,
863    #[serde(rename = "_type")]
864    pub type_: serde_json::Value,
865}
866impl From<&Listener> for Listener {
867    fn from(value: &Listener) -> Self {
868        value.clone()
869    }
870}
871impl Listener {
872    pub fn builder() -> builder::Listener {
873        builder::Listener::default()
874    }
875}
876///The name of the listener to call
877#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
878pub struct ListenerName(String);
879impl std::ops::Deref for ListenerName {
880    type Target = String;
881    fn deref(&self) -> &String {
882        &self.0
883    }
884}
885impl From<ListenerName> for String {
886    fn from(value: ListenerName) -> Self {
887        value.0
888    }
889}
890impl From<&ListenerName> for ListenerName {
891    fn from(value: &ListenerName) -> Self {
892        value.clone()
893    }
894}
895impl std::str::FromStr for ListenerName {
896    type Err = &'static str;
897    fn from_str(value: &str) -> Result<Self, &'static str> {
898        if regress::Regex::new("^(@lenra:)?[a-zA-Z_$][a-zA-Z_.$0-9]*$")
899            .unwrap()
900            .find(value)
901            .is_none()
902        {
903            return Err(
904                "doesn't match pattern \"^(@lenra:)?[a-zA-Z_$][a-zA-Z_.$0-9]*$\"",
905            );
906        }
907        Ok(Self(value.to_string()))
908    }
909}
910impl std::convert::TryFrom<&str> for ListenerName {
911    type Error = &'static str;
912    fn try_from(value: &str) -> Result<Self, &'static str> {
913        value.parse()
914    }
915}
916impl std::convert::TryFrom<&String> for ListenerName {
917    type Error = &'static str;
918    fn try_from(value: &String) -> Result<Self, &'static str> {
919        value.parse()
920    }
921}
922impl std::convert::TryFrom<String> for ListenerName {
923    type Error = &'static str;
924    fn try_from(value: String) -> Result<Self, &'static str> {
925        value.parse()
926    }
927}
928impl<'de> serde::Deserialize<'de> for ListenerName {
929    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
930    where
931        D: serde::Deserializer<'de>,
932    {
933        String::deserialize(deserializer)?
934            .parse()
935            .map_err(|e: &'static str| {
936                <D::Error as serde::de::Error>::custom(e.to_string())
937            })
938    }
939}
940///Element of type Menu
941#[derive(Clone, Debug, Deserialize, Serialize)]
942#[serde(deny_unknown_fields)]
943pub struct Menu {
944    ///The menu items
945    pub children: Vec<LenraComponent>,
946    ///The identifier of the component
947    #[serde(rename = "_type")]
948    pub type_: serde_json::Value,
949}
950impl From<&Menu> for Menu {
951    fn from(value: &Menu) -> Self {
952        value.clone()
953    }
954}
955impl Menu {
956    pub fn builder() -> builder::Menu {
957        builder::Menu::default()
958    }
959}
960///Element of type MenuItem
961#[derive(Clone, Debug, Deserialize, Serialize)]
962#[serde(deny_unknown_fields)]
963pub struct MenuItem {
964    ///Whether the element should be disabled or not.
965    #[serde(default, skip_serializing_if = "Option::is_none")]
966    pub disabled: Option<bool>,
967    #[serde(default, skip_serializing_if = "Option::is_none")]
968    pub icon: Option<Icon>,
969    ///Whether the element is selected or not.
970    #[serde(rename = "isSelected", default, skip_serializing_if = "Option::is_none")]
971    pub is_selected: Option<bool>,
972    #[serde(rename = "onPressed", default, skip_serializing_if = "Option::is_none")]
973    pub on_pressed: Option<Listener>,
974    ///The text of the element
975    pub text: String,
976    ///The identifier of the component
977    #[serde(rename = "_type")]
978    pub type_: serde_json::Value,
979}
980impl From<&MenuItem> for MenuItem {
981    fn from(value: &MenuItem) -> Self {
982        value.clone()
983    }
984}
985impl MenuItem {
986    pub fn builder() -> builder::MenuItem {
987        builder::MenuItem::default()
988    }
989}
990///Element of type OverlayEntry
991#[derive(Clone, Debug, Deserialize, Serialize)]
992#[serde(deny_unknown_fields)]
993pub struct OverlayEntry {
994    pub child: Box<LenraComponent>,
995    ///Whether this entry must be included in the tree even if there is a fully opaque entry above it.
996    #[serde(rename = "maintainState", default, skip_serializing_if = "Option::is_none")]
997    pub maintain_state: Option<bool>,
998    ///Whether this entry occludes the entire overlay.
999    #[serde(default, skip_serializing_if = "Option::is_none")]
1000    pub opaque: Option<bool>,
1001    ///Whether this entry should be shown.
1002    #[serde(rename = "showOverlay", default, skip_serializing_if = "Option::is_none")]
1003    pub show_overlay: Option<bool>,
1004    ///The identifier of the component
1005    #[serde(rename = "_type")]
1006    pub type_: serde_json::Value,
1007}
1008impl From<&OverlayEntry> for OverlayEntry {
1009    fn from(value: &OverlayEntry) -> Self {
1010        value.clone()
1011    }
1012}
1013impl OverlayEntry {
1014    pub fn builder() -> builder::OverlayEntry {
1015        builder::OverlayEntry::default()
1016    }
1017}
1018///Element of type Radio
1019#[derive(Clone, Debug, Deserialize, Serialize)]
1020#[serde(deny_unknown_fields)]
1021pub struct Radio {
1022    ///Whether the radio will be selected initially.
1023    #[serde(default, skip_serializing_if = "Option::is_none")]
1024    pub autofocus: Option<bool>,
1025    ///The value group of the radio
1026    #[serde(rename = "groupValue")]
1027    pub group_value: String,
1028    ///Configures the minimum size of the tap target.
1029    #[serde(
1030        rename = "materialTapTargetSize",
1031        default,
1032        skip_serializing_if = "Option::is_none"
1033    )]
1034    pub material_tap_target_size: Option<StylesMaterialTapTargetSize>,
1035    ///The name that will be used in the form.
1036    #[serde(default, skip_serializing_if = "Option::is_none")]
1037    pub name: Option<String>,
1038    #[serde(rename = "onPressed", default, skip_serializing_if = "Option::is_none")]
1039    pub on_pressed: Option<Listener>,
1040    #[serde(default, skip_serializing_if = "Option::is_none")]
1041    pub style: Option<StylesRadioStyle>,
1042    ///Whether the radio is allowed to go from checked to unchecked when clicking on it.
1043    #[serde(default, skip_serializing_if = "Option::is_none")]
1044    pub toggleable: Option<bool>,
1045    ///The identifier of the component
1046    #[serde(rename = "_type")]
1047    pub type_: serde_json::Value,
1048    ///The value of the radio
1049    pub value: String,
1050}
1051impl From<&Radio> for Radio {
1052    fn from(value: &Radio) -> Self {
1053        value.clone()
1054    }
1055}
1056impl Radio {
1057    pub fn builder() -> builder::Radio {
1058        builder::Radio::default()
1059    }
1060}
1061///Element of type Slider
1062#[derive(Clone, Debug, Deserialize, Serialize)]
1063#[serde(deny_unknown_fields)]
1064pub struct Slider {
1065    ///Whether the slider should be focused initially.
1066    #[serde(default, skip_serializing_if = "Option::is_none")]
1067    pub autofocus: Option<bool>,
1068    #[serde(default, skip_serializing_if = "Option::is_none")]
1069    pub divisions: Option<f64>,
1070    ///The label of the slider.
1071    #[serde(default, skip_serializing_if = "Option::is_none")]
1072    pub label: Option<String>,
1073    #[serde(default, skip_serializing_if = "Option::is_none")]
1074    pub max: Option<f64>,
1075    #[serde(default, skip_serializing_if = "Option::is_none")]
1076    pub min: Option<f64>,
1077    ///The name that will be used in the form.
1078    #[serde(default, skip_serializing_if = "Option::is_none")]
1079    pub name: Option<String>,
1080    ///The callback to be invoked when the slider is released.
1081    #[serde(rename = "onChangeEnd", default, skip_serializing_if = "Option::is_none")]
1082    pub on_change_end: Option<Listener>,
1083    ///The callback to be invoked when the slider is pressed.
1084    #[serde(rename = "onChangeStart", default, skip_serializing_if = "Option::is_none")]
1085    pub on_change_start: Option<Listener>,
1086    ///The callback to be invoked when the slider value changes.
1087    #[serde(rename = "onChanged", default, skip_serializing_if = "Option::is_none")]
1088    pub on_changed: Option<Listener>,
1089    #[serde(default, skip_serializing_if = "Option::is_none")]
1090    pub style: Option<StylesSliderStyle>,
1091    ///The identifier of the component
1092    #[serde(rename = "_type")]
1093    pub type_: serde_json::Value,
1094    #[serde(default, skip_serializing_if = "Option::is_none")]
1095    pub value: Option<f64>,
1096}
1097impl From<&Slider> for Slider {
1098    fn from(value: &Slider) -> Self {
1099        value.clone()
1100    }
1101}
1102impl Slider {
1103    pub fn builder() -> builder::Slider {
1104        builder::Slider::default()
1105    }
1106}
1107///Element of type Stack
1108#[derive(Clone, Debug, Deserialize, Serialize)]
1109#[serde(deny_unknown_fields)]
1110pub struct Stack {
1111    #[serde(default, skip_serializing_if = "Option::is_none")]
1112    pub alignment: Option<StylesAlignment>,
1113    ///The children of the Stack.
1114    pub children: Vec<LenraComponent>,
1115    #[serde(default, skip_serializing_if = "Option::is_none")]
1116    pub fit: Option<StylesStackFit>,
1117    ///The identifier of the component
1118    #[serde(rename = "_type")]
1119    pub type_: serde_json::Value,
1120}
1121impl From<&Stack> for Stack {
1122    fn from(value: &Stack) -> Self {
1123        value.clone()
1124    }
1125}
1126impl Stack {
1127    pub fn builder() -> builder::Stack {
1128        builder::Stack::default()
1129    }
1130}
1131///Element of type StatusSticker
1132#[derive(Clone, Debug, Deserialize, Serialize)]
1133#[serde(deny_unknown_fields)]
1134pub struct StatusSticker {
1135    ///the status of the element
1136    pub status: StatusStickerStatus,
1137    ///The identifier of the component
1138    #[serde(rename = "_type")]
1139    pub type_: serde_json::Value,
1140}
1141impl From<&StatusSticker> for StatusSticker {
1142    fn from(value: &StatusSticker) -> Self {
1143        value.clone()
1144    }
1145}
1146impl StatusSticker {
1147    pub fn builder() -> builder::StatusSticker {
1148        builder::StatusSticker::default()
1149    }
1150}
1151///the status of the element
1152#[derive(
1153    Clone,
1154    Copy,
1155    Debug,
1156    Deserialize,
1157    Eq,
1158    Hash,
1159    Ord,
1160    PartialEq,
1161    PartialOrd,
1162    Serialize
1163)]
1164pub enum StatusStickerStatus {
1165    #[serde(rename = "success")]
1166    Success,
1167    #[serde(rename = "warning")]
1168    Warning,
1169    #[serde(rename = "error")]
1170    Error,
1171    #[serde(rename = "pending")]
1172    Pending,
1173}
1174impl From<&StatusStickerStatus> for StatusStickerStatus {
1175    fn from(value: &StatusStickerStatus) -> Self {
1176        value.clone()
1177    }
1178}
1179impl ToString for StatusStickerStatus {
1180    fn to_string(&self) -> String {
1181        match *self {
1182            Self::Success => "success".to_string(),
1183            Self::Warning => "warning".to_string(),
1184            Self::Error => "error".to_string(),
1185            Self::Pending => "pending".to_string(),
1186        }
1187    }
1188}
1189impl std::str::FromStr for StatusStickerStatus {
1190    type Err = &'static str;
1191    fn from_str(value: &str) -> Result<Self, &'static str> {
1192        match value {
1193            "success" => Ok(Self::Success),
1194            "warning" => Ok(Self::Warning),
1195            "error" => Ok(Self::Error),
1196            "pending" => Ok(Self::Pending),
1197            _ => Err("invalid value"),
1198        }
1199    }
1200}
1201impl std::convert::TryFrom<&str> for StatusStickerStatus {
1202    type Error = &'static str;
1203    fn try_from(value: &str) -> Result<Self, &'static str> {
1204        value.parse()
1205    }
1206}
1207impl std::convert::TryFrom<&String> for StatusStickerStatus {
1208    type Error = &'static str;
1209    fn try_from(value: &String) -> Result<Self, &'static str> {
1210        value.parse()
1211    }
1212}
1213impl std::convert::TryFrom<String> for StatusStickerStatus {
1214    type Error = &'static str;
1215    fn try_from(value: String) -> Result<Self, &'static str> {
1216        value.parse()
1217    }
1218}
1219///The alignment to use.
1220#[derive(
1221    Clone,
1222    Copy,
1223    Debug,
1224    Deserialize,
1225    Eq,
1226    Hash,
1227    Ord,
1228    PartialEq,
1229    PartialOrd,
1230    Serialize
1231)]
1232pub enum StylesAlignment {
1233    #[serde(rename = "bottomCenter")]
1234    BottomCenter,
1235    #[serde(rename = "bottomLeft")]
1236    BottomLeft,
1237    #[serde(rename = "bottomRight")]
1238    BottomRight,
1239    #[serde(rename = "center")]
1240    Center,
1241    #[serde(rename = "centerLeft")]
1242    CenterLeft,
1243    #[serde(rename = "centerRight")]
1244    CenterRight,
1245    #[serde(rename = "topCenter")]
1246    TopCenter,
1247    #[serde(rename = "topLeft")]
1248    TopLeft,
1249    #[serde(rename = "topRight")]
1250    TopRight,
1251}
1252impl From<&StylesAlignment> for StylesAlignment {
1253    fn from(value: &StylesAlignment) -> Self {
1254        value.clone()
1255    }
1256}
1257impl ToString for StylesAlignment {
1258    fn to_string(&self) -> String {
1259        match *self {
1260            Self::BottomCenter => "bottomCenter".to_string(),
1261            Self::BottomLeft => "bottomLeft".to_string(),
1262            Self::BottomRight => "bottomRight".to_string(),
1263            Self::Center => "center".to_string(),
1264            Self::CenterLeft => "centerLeft".to_string(),
1265            Self::CenterRight => "centerRight".to_string(),
1266            Self::TopCenter => "topCenter".to_string(),
1267            Self::TopLeft => "topLeft".to_string(),
1268            Self::TopRight => "topRight".to_string(),
1269        }
1270    }
1271}
1272impl std::str::FromStr for StylesAlignment {
1273    type Err = &'static str;
1274    fn from_str(value: &str) -> Result<Self, &'static str> {
1275        match value {
1276            "bottomCenter" => Ok(Self::BottomCenter),
1277            "bottomLeft" => Ok(Self::BottomLeft),
1278            "bottomRight" => Ok(Self::BottomRight),
1279            "center" => Ok(Self::Center),
1280            "centerLeft" => Ok(Self::CenterLeft),
1281            "centerRight" => Ok(Self::CenterRight),
1282            "topCenter" => Ok(Self::TopCenter),
1283            "topLeft" => Ok(Self::TopLeft),
1284            "topRight" => Ok(Self::TopRight),
1285            _ => Err("invalid value"),
1286        }
1287    }
1288}
1289impl std::convert::TryFrom<&str> for StylesAlignment {
1290    type Error = &'static str;
1291    fn try_from(value: &str) -> Result<Self, &'static str> {
1292        value.parse()
1293    }
1294}
1295impl std::convert::TryFrom<&String> for StylesAlignment {
1296    type Error = &'static str;
1297    fn try_from(value: &String) -> Result<Self, &'static str> {
1298        value.parse()
1299    }
1300}
1301impl std::convert::TryFrom<String> for StylesAlignment {
1302    type Error = &'static str;
1303    fn try_from(value: String) -> Result<Self, &'static str> {
1304        value.parse()
1305    }
1306}
1307///The AutofillHints enum to handle textfield's autocompletion.
1308#[derive(Clone, Debug, Deserialize, Serialize)]
1309pub struct StylesAutofillHints(pub Vec<StylesAutofillHintsItem>);
1310impl std::ops::Deref for StylesAutofillHints {
1311    type Target = Vec<StylesAutofillHintsItem>;
1312    fn deref(&self) -> &Vec<StylesAutofillHintsItem> {
1313        &self.0
1314    }
1315}
1316impl From<StylesAutofillHints> for Vec<StylesAutofillHintsItem> {
1317    fn from(value: StylesAutofillHints) -> Self {
1318        value.0
1319    }
1320}
1321impl From<&StylesAutofillHints> for StylesAutofillHints {
1322    fn from(value: &StylesAutofillHints) -> Self {
1323        value.clone()
1324    }
1325}
1326impl From<Vec<StylesAutofillHintsItem>> for StylesAutofillHints {
1327    fn from(value: Vec<StylesAutofillHintsItem>) -> Self {
1328        Self(value)
1329    }
1330}
1331#[derive(
1332    Clone,
1333    Copy,
1334    Debug,
1335    Deserialize,
1336    Eq,
1337    Hash,
1338    Ord,
1339    PartialEq,
1340    PartialOrd,
1341    Serialize
1342)]
1343pub enum StylesAutofillHintsItem {
1344    #[serde(rename = "addressCity")]
1345    AddressCity,
1346    #[serde(rename = "addressCityAndState")]
1347    AddressCityAndState,
1348    #[serde(rename = "addressState")]
1349    AddressState,
1350    #[serde(rename = "birthday")]
1351    Birthday,
1352    #[serde(rename = "birthdayDay")]
1353    BirthdayDay,
1354    #[serde(rename = "birthdayMonth")]
1355    BirthdayMonth,
1356    #[serde(rename = "birthdayYear")]
1357    BirthdayYear,
1358    #[serde(rename = "countryCode")]
1359    CountryCode,
1360    #[serde(rename = "countryName")]
1361    CountryName,
1362    #[serde(rename = "creditCardExpirationDate")]
1363    CreditCardExpirationDate,
1364    #[serde(rename = "creditCardExpirationDay")]
1365    CreditCardExpirationDay,
1366    #[serde(rename = "creditCardExpirationMonth")]
1367    CreditCardExpirationMonth,
1368    #[serde(rename = "creditCardExpirationYear")]
1369    CreditCardExpirationYear,
1370    #[serde(rename = "creditCardFamilyName")]
1371    CreditCardFamilyName,
1372    #[serde(rename = "creditCardGivenName")]
1373    CreditCardGivenName,
1374    #[serde(rename = "creditCardMiddleName")]
1375    CreditCardMiddleName,
1376    #[serde(rename = "creditCardName")]
1377    CreditCardName,
1378    #[serde(rename = "creditCardNumber")]
1379    CreditCardNumber,
1380    #[serde(rename = "creditCardSecurityCode")]
1381    CreditCardSecurityCode,
1382    #[serde(rename = "creditCardType")]
1383    CreditCardType,
1384    #[serde(rename = "email")]
1385    Email,
1386    #[serde(rename = "familyName")]
1387    FamilyName,
1388    #[serde(rename = "fullStreetAddress")]
1389    FullStreetAddress,
1390    #[serde(rename = "gender")]
1391    Gender,
1392    #[serde(rename = "givenName")]
1393    GivenName,
1394    #[serde(rename = "impp")]
1395    Impp,
1396    #[serde(rename = "jobTitle")]
1397    JobTitle,
1398    #[serde(rename = "language")]
1399    Language,
1400    #[serde(rename = "location")]
1401    Location,
1402    #[serde(rename = "middleInitial")]
1403    MiddleInitial,
1404    #[serde(rename = "middleName")]
1405    MiddleName,
1406    #[serde(rename = "name")]
1407    Name,
1408    #[serde(rename = "namePrefix")]
1409    NamePrefix,
1410    #[serde(rename = "nameSuffix")]
1411    NameSuffix,
1412    #[serde(rename = "newPassword")]
1413    NewPassword,
1414    #[serde(rename = "newUsername")]
1415    NewUsername,
1416    #[serde(rename = "nickname")]
1417    Nickname,
1418    #[serde(rename = "oneTimeCode")]
1419    OneTimeCode,
1420    #[serde(rename = "organizationName")]
1421    OrganizationName,
1422    #[serde(rename = "password")]
1423    Password,
1424    #[serde(rename = "photo")]
1425    Photo,
1426    #[serde(rename = "postalAddress")]
1427    PostalAddress,
1428    #[serde(rename = "postalAddressExtended")]
1429    PostalAddressExtended,
1430    #[serde(rename = "postalAddressExtendedPostalCode")]
1431    PostalAddressExtendedPostalCode,
1432    #[serde(rename = "postalCode")]
1433    PostalCode,
1434    #[serde(rename = "streetAddressLevel1")]
1435    StreetAddressLevel1,
1436    #[serde(rename = "streetAddressLevel2")]
1437    StreetAddressLevel2,
1438    #[serde(rename = "streetAddressLevel3")]
1439    StreetAddressLevel3,
1440    #[serde(rename = "streetAddressLevel4")]
1441    StreetAddressLevel4,
1442    #[serde(rename = "streetAddressLine1")]
1443    StreetAddressLine1,
1444    #[serde(rename = "streetAddressLine2")]
1445    StreetAddressLine2,
1446    #[serde(rename = "streetAddressLine3")]
1447    StreetAddressLine3,
1448    #[serde(rename = "sublocality")]
1449    Sublocality,
1450    #[serde(rename = "telephoneNumber")]
1451    TelephoneNumber,
1452    #[serde(rename = "telephoneNumberAreaCode")]
1453    TelephoneNumberAreaCode,
1454    #[serde(rename = "telephoneNumberCountryCode")]
1455    TelephoneNumberCountryCode,
1456    #[serde(rename = "telephoneNumberDevice")]
1457    TelephoneNumberDevice,
1458    #[serde(rename = "telephoneNumberExtension")]
1459    TelephoneNumberExtension,
1460    #[serde(rename = "telephoneNumberLocal")]
1461    TelephoneNumberLocal,
1462    #[serde(rename = "telephoneNumberLocalPrefix")]
1463    TelephoneNumberLocalPrefix,
1464    #[serde(rename = "telephoneNumberLocalSuffix")]
1465    TelephoneNumberLocalSuffix,
1466    #[serde(rename = "telephoneNumberNational")]
1467    TelephoneNumberNational,
1468    #[serde(rename = "transactionAmount")]
1469    TransactionAmount,
1470    #[serde(rename = "transactionCurrency")]
1471    TransactionCurrency,
1472    #[serde(rename = "url")]
1473    Url,
1474    #[serde(rename = "username")]
1475    Username,
1476}
1477impl From<&StylesAutofillHintsItem> for StylesAutofillHintsItem {
1478    fn from(value: &StylesAutofillHintsItem) -> Self {
1479        value.clone()
1480    }
1481}
1482impl ToString for StylesAutofillHintsItem {
1483    fn to_string(&self) -> String {
1484        match *self {
1485            Self::AddressCity => "addressCity".to_string(),
1486            Self::AddressCityAndState => "addressCityAndState".to_string(),
1487            Self::AddressState => "addressState".to_string(),
1488            Self::Birthday => "birthday".to_string(),
1489            Self::BirthdayDay => "birthdayDay".to_string(),
1490            Self::BirthdayMonth => "birthdayMonth".to_string(),
1491            Self::BirthdayYear => "birthdayYear".to_string(),
1492            Self::CountryCode => "countryCode".to_string(),
1493            Self::CountryName => "countryName".to_string(),
1494            Self::CreditCardExpirationDate => "creditCardExpirationDate".to_string(),
1495            Self::CreditCardExpirationDay => "creditCardExpirationDay".to_string(),
1496            Self::CreditCardExpirationMonth => "creditCardExpirationMonth".to_string(),
1497            Self::CreditCardExpirationYear => "creditCardExpirationYear".to_string(),
1498            Self::CreditCardFamilyName => "creditCardFamilyName".to_string(),
1499            Self::CreditCardGivenName => "creditCardGivenName".to_string(),
1500            Self::CreditCardMiddleName => "creditCardMiddleName".to_string(),
1501            Self::CreditCardName => "creditCardName".to_string(),
1502            Self::CreditCardNumber => "creditCardNumber".to_string(),
1503            Self::CreditCardSecurityCode => "creditCardSecurityCode".to_string(),
1504            Self::CreditCardType => "creditCardType".to_string(),
1505            Self::Email => "email".to_string(),
1506            Self::FamilyName => "familyName".to_string(),
1507            Self::FullStreetAddress => "fullStreetAddress".to_string(),
1508            Self::Gender => "gender".to_string(),
1509            Self::GivenName => "givenName".to_string(),
1510            Self::Impp => "impp".to_string(),
1511            Self::JobTitle => "jobTitle".to_string(),
1512            Self::Language => "language".to_string(),
1513            Self::Location => "location".to_string(),
1514            Self::MiddleInitial => "middleInitial".to_string(),
1515            Self::MiddleName => "middleName".to_string(),
1516            Self::Name => "name".to_string(),
1517            Self::NamePrefix => "namePrefix".to_string(),
1518            Self::NameSuffix => "nameSuffix".to_string(),
1519            Self::NewPassword => "newPassword".to_string(),
1520            Self::NewUsername => "newUsername".to_string(),
1521            Self::Nickname => "nickname".to_string(),
1522            Self::OneTimeCode => "oneTimeCode".to_string(),
1523            Self::OrganizationName => "organizationName".to_string(),
1524            Self::Password => "password".to_string(),
1525            Self::Photo => "photo".to_string(),
1526            Self::PostalAddress => "postalAddress".to_string(),
1527            Self::PostalAddressExtended => "postalAddressExtended".to_string(),
1528            Self::PostalAddressExtendedPostalCode => {
1529                "postalAddressExtendedPostalCode".to_string()
1530            }
1531            Self::PostalCode => "postalCode".to_string(),
1532            Self::StreetAddressLevel1 => "streetAddressLevel1".to_string(),
1533            Self::StreetAddressLevel2 => "streetAddressLevel2".to_string(),
1534            Self::StreetAddressLevel3 => "streetAddressLevel3".to_string(),
1535            Self::StreetAddressLevel4 => "streetAddressLevel4".to_string(),
1536            Self::StreetAddressLine1 => "streetAddressLine1".to_string(),
1537            Self::StreetAddressLine2 => "streetAddressLine2".to_string(),
1538            Self::StreetAddressLine3 => "streetAddressLine3".to_string(),
1539            Self::Sublocality => "sublocality".to_string(),
1540            Self::TelephoneNumber => "telephoneNumber".to_string(),
1541            Self::TelephoneNumberAreaCode => "telephoneNumberAreaCode".to_string(),
1542            Self::TelephoneNumberCountryCode => "telephoneNumberCountryCode".to_string(),
1543            Self::TelephoneNumberDevice => "telephoneNumberDevice".to_string(),
1544            Self::TelephoneNumberExtension => "telephoneNumberExtension".to_string(),
1545            Self::TelephoneNumberLocal => "telephoneNumberLocal".to_string(),
1546            Self::TelephoneNumberLocalPrefix => "telephoneNumberLocalPrefix".to_string(),
1547            Self::TelephoneNumberLocalSuffix => "telephoneNumberLocalSuffix".to_string(),
1548            Self::TelephoneNumberNational => "telephoneNumberNational".to_string(),
1549            Self::TransactionAmount => "transactionAmount".to_string(),
1550            Self::TransactionCurrency => "transactionCurrency".to_string(),
1551            Self::Url => "url".to_string(),
1552            Self::Username => "username".to_string(),
1553        }
1554    }
1555}
1556impl std::str::FromStr for StylesAutofillHintsItem {
1557    type Err = &'static str;
1558    fn from_str(value: &str) -> Result<Self, &'static str> {
1559        match value {
1560            "addressCity" => Ok(Self::AddressCity),
1561            "addressCityAndState" => Ok(Self::AddressCityAndState),
1562            "addressState" => Ok(Self::AddressState),
1563            "birthday" => Ok(Self::Birthday),
1564            "birthdayDay" => Ok(Self::BirthdayDay),
1565            "birthdayMonth" => Ok(Self::BirthdayMonth),
1566            "birthdayYear" => Ok(Self::BirthdayYear),
1567            "countryCode" => Ok(Self::CountryCode),
1568            "countryName" => Ok(Self::CountryName),
1569            "creditCardExpirationDate" => Ok(Self::CreditCardExpirationDate),
1570            "creditCardExpirationDay" => Ok(Self::CreditCardExpirationDay),
1571            "creditCardExpirationMonth" => Ok(Self::CreditCardExpirationMonth),
1572            "creditCardExpirationYear" => Ok(Self::CreditCardExpirationYear),
1573            "creditCardFamilyName" => Ok(Self::CreditCardFamilyName),
1574            "creditCardGivenName" => Ok(Self::CreditCardGivenName),
1575            "creditCardMiddleName" => Ok(Self::CreditCardMiddleName),
1576            "creditCardName" => Ok(Self::CreditCardName),
1577            "creditCardNumber" => Ok(Self::CreditCardNumber),
1578            "creditCardSecurityCode" => Ok(Self::CreditCardSecurityCode),
1579            "creditCardType" => Ok(Self::CreditCardType),
1580            "email" => Ok(Self::Email),
1581            "familyName" => Ok(Self::FamilyName),
1582            "fullStreetAddress" => Ok(Self::FullStreetAddress),
1583            "gender" => Ok(Self::Gender),
1584            "givenName" => Ok(Self::GivenName),
1585            "impp" => Ok(Self::Impp),
1586            "jobTitle" => Ok(Self::JobTitle),
1587            "language" => Ok(Self::Language),
1588            "location" => Ok(Self::Location),
1589            "middleInitial" => Ok(Self::MiddleInitial),
1590            "middleName" => Ok(Self::MiddleName),
1591            "name" => Ok(Self::Name),
1592            "namePrefix" => Ok(Self::NamePrefix),
1593            "nameSuffix" => Ok(Self::NameSuffix),
1594            "newPassword" => Ok(Self::NewPassword),
1595            "newUsername" => Ok(Self::NewUsername),
1596            "nickname" => Ok(Self::Nickname),
1597            "oneTimeCode" => Ok(Self::OneTimeCode),
1598            "organizationName" => Ok(Self::OrganizationName),
1599            "password" => Ok(Self::Password),
1600            "photo" => Ok(Self::Photo),
1601            "postalAddress" => Ok(Self::PostalAddress),
1602            "postalAddressExtended" => Ok(Self::PostalAddressExtended),
1603            "postalAddressExtendedPostalCode" => {
1604                Ok(Self::PostalAddressExtendedPostalCode)
1605            }
1606            "postalCode" => Ok(Self::PostalCode),
1607            "streetAddressLevel1" => Ok(Self::StreetAddressLevel1),
1608            "streetAddressLevel2" => Ok(Self::StreetAddressLevel2),
1609            "streetAddressLevel3" => Ok(Self::StreetAddressLevel3),
1610            "streetAddressLevel4" => Ok(Self::StreetAddressLevel4),
1611            "streetAddressLine1" => Ok(Self::StreetAddressLine1),
1612            "streetAddressLine2" => Ok(Self::StreetAddressLine2),
1613            "streetAddressLine3" => Ok(Self::StreetAddressLine3),
1614            "sublocality" => Ok(Self::Sublocality),
1615            "telephoneNumber" => Ok(Self::TelephoneNumber),
1616            "telephoneNumberAreaCode" => Ok(Self::TelephoneNumberAreaCode),
1617            "telephoneNumberCountryCode" => Ok(Self::TelephoneNumberCountryCode),
1618            "telephoneNumberDevice" => Ok(Self::TelephoneNumberDevice),
1619            "telephoneNumberExtension" => Ok(Self::TelephoneNumberExtension),
1620            "telephoneNumberLocal" => Ok(Self::TelephoneNumberLocal),
1621            "telephoneNumberLocalPrefix" => Ok(Self::TelephoneNumberLocalPrefix),
1622            "telephoneNumberLocalSuffix" => Ok(Self::TelephoneNumberLocalSuffix),
1623            "telephoneNumberNational" => Ok(Self::TelephoneNumberNational),
1624            "transactionAmount" => Ok(Self::TransactionAmount),
1625            "transactionCurrency" => Ok(Self::TransactionCurrency),
1626            "url" => Ok(Self::Url),
1627            "username" => Ok(Self::Username),
1628            _ => Err("invalid value"),
1629        }
1630    }
1631}
1632impl std::convert::TryFrom<&str> for StylesAutofillHintsItem {
1633    type Error = &'static str;
1634    fn try_from(value: &str) -> Result<Self, &'static str> {
1635        value.parse()
1636    }
1637}
1638impl std::convert::TryFrom<&String> for StylesAutofillHintsItem {
1639    type Error = &'static str;
1640    fn try_from(value: &String) -> Result<Self, &'static str> {
1641        value.parse()
1642    }
1643}
1644impl std::convert::TryFrom<String> for StylesAutofillHintsItem {
1645    type Error = &'static str;
1646    fn try_from(value: String) -> Result<Self, &'static str> {
1647        value.parse()
1648    }
1649}
1650///Element of type Border
1651#[derive(Clone, Debug, Deserialize, Serialize)]
1652#[serde(deny_unknown_fields)]
1653pub struct StylesBorder {
1654    #[serde(default, skip_serializing_if = "Option::is_none")]
1655    pub bottom: Option<StylesBorderSide>,
1656    #[serde(default, skip_serializing_if = "Option::is_none")]
1657    pub left: Option<StylesBorderSide>,
1658    #[serde(default, skip_serializing_if = "Option::is_none")]
1659    pub right: Option<StylesBorderSide>,
1660    #[serde(default, skip_serializing_if = "Option::is_none")]
1661    pub top: Option<StylesBorderSide>,
1662}
1663impl From<&StylesBorder> for StylesBorder {
1664    fn from(value: &StylesBorder) -> Self {
1665        value.clone()
1666    }
1667}
1668impl StylesBorder {
1669    pub fn builder() -> builder::StylesBorder {
1670        builder::StylesBorder::default()
1671    }
1672}
1673///Element of type BorderRadius
1674#[derive(Clone, Debug, Deserialize, Serialize)]
1675#[serde(deny_unknown_fields)]
1676pub struct StylesBorderRadius {
1677    #[serde(rename = "bottomLeft", default, skip_serializing_if = "Option::is_none")]
1678    pub bottom_left: Option<StylesBorderRadiusDefinitionsRadiusType>,
1679    #[serde(rename = "bottomRight", default, skip_serializing_if = "Option::is_none")]
1680    pub bottom_right: Option<StylesBorderRadiusDefinitionsRadiusType>,
1681    #[serde(rename = "topLeft", default, skip_serializing_if = "Option::is_none")]
1682    pub top_left: Option<StylesBorderRadiusDefinitionsRadiusType>,
1683    #[serde(rename = "topRight", default, skip_serializing_if = "Option::is_none")]
1684    pub top_right: Option<StylesBorderRadiusDefinitionsRadiusType>,
1685}
1686impl From<&StylesBorderRadius> for StylesBorderRadius {
1687    fn from(value: &StylesBorderRadius) -> Self {
1688        value.clone()
1689    }
1690}
1691impl StylesBorderRadius {
1692    pub fn builder() -> builder::StylesBorderRadius {
1693        builder::StylesBorderRadius::default()
1694    }
1695}
1696#[derive(Clone, Debug, Deserialize, Serialize)]
1697#[serde(deny_unknown_fields)]
1698pub struct StylesBorderRadiusDefinitionsRadiusType {
1699    #[serde(default, skip_serializing_if = "Option::is_none")]
1700    pub x: Option<f64>,
1701    #[serde(default, skip_serializing_if = "Option::is_none")]
1702    pub y: Option<f64>,
1703}
1704impl From<&StylesBorderRadiusDefinitionsRadiusType>
1705for StylesBorderRadiusDefinitionsRadiusType {
1706    fn from(value: &StylesBorderRadiusDefinitionsRadiusType) -> Self {
1707        value.clone()
1708    }
1709}
1710impl StylesBorderRadiusDefinitionsRadiusType {
1711    pub fn builder() -> builder::StylesBorderRadiusDefinitionsRadiusType {
1712        builder::StylesBorderRadiusDefinitionsRadiusType::default()
1713    }
1714}
1715///Element of type BorderSide
1716#[derive(Clone, Debug, Deserialize, Serialize)]
1717#[serde(deny_unknown_fields)]
1718pub struct StylesBorderSide {
1719    #[serde(default, skip_serializing_if = "Option::is_none")]
1720    pub color: Option<StylesColor>,
1721    #[serde(default, skip_serializing_if = "Option::is_none")]
1722    pub width: Option<f64>,
1723}
1724impl From<&StylesBorderSide> for StylesBorderSide {
1725    fn from(value: &StylesBorderSide) -> Self {
1726        value.clone()
1727    }
1728}
1729impl StylesBorderSide {
1730    pub fn builder() -> builder::StylesBorderSide {
1731        builder::StylesBorderSide::default()
1732    }
1733}
1734///Element of type BoxConstraints
1735#[derive(Clone, Debug, Deserialize, Serialize)]
1736#[serde(deny_unknown_fields)]
1737pub struct StylesBoxConstraints {
1738    #[serde(rename = "maxHeight", default, skip_serializing_if = "Option::is_none")]
1739    pub max_height: Option<f64>,
1740    #[serde(rename = "maxWidth", default, skip_serializing_if = "Option::is_none")]
1741    pub max_width: Option<f64>,
1742    #[serde(rename = "minHeight", default, skip_serializing_if = "Option::is_none")]
1743    pub min_height: Option<f64>,
1744    #[serde(rename = "minWidth", default, skip_serializing_if = "Option::is_none")]
1745    pub min_width: Option<f64>,
1746}
1747impl From<&StylesBoxConstraints> for StylesBoxConstraints {
1748    fn from(value: &StylesBoxConstraints) -> Self {
1749        value.clone()
1750    }
1751}
1752impl StylesBoxConstraints {
1753    pub fn builder() -> builder::StylesBoxConstraints {
1754        builder::StylesBoxConstraints::default()
1755    }
1756}
1757///Element of type BoxDecoration
1758#[derive(Clone, Debug, Deserialize, Serialize)]
1759#[serde(deny_unknown_fields)]
1760pub struct StylesBoxDecoration {
1761    #[serde(rename = "borderRadius", default, skip_serializing_if = "Option::is_none")]
1762    pub border_radius: Option<StylesBorderRadius>,
1763    #[serde(rename = "boxShadow", default, skip_serializing_if = "Option::is_none")]
1764    pub box_shadow: Option<StylesBoxShadow>,
1765    #[serde(default, skip_serializing_if = "Option::is_none")]
1766    pub color: Option<StylesColor>,
1767    #[serde(default, skip_serializing_if = "Option::is_none")]
1768    pub shape: Option<StylesBoxShape>,
1769}
1770impl From<&StylesBoxDecoration> for StylesBoxDecoration {
1771    fn from(value: &StylesBoxDecoration) -> Self {
1772        value.clone()
1773    }
1774}
1775impl StylesBoxDecoration {
1776    pub fn builder() -> builder::StylesBoxDecoration {
1777        builder::StylesBoxDecoration::default()
1778    }
1779}
1780///How the box should be fitted in its parent.
1781#[derive(
1782    Clone,
1783    Copy,
1784    Debug,
1785    Deserialize,
1786    Eq,
1787    Hash,
1788    Ord,
1789    PartialEq,
1790    PartialOrd,
1791    Serialize
1792)]
1793pub enum StylesBoxFit {
1794    #[serde(rename = "contain")]
1795    Contain,
1796    #[serde(rename = "cover")]
1797    Cover,
1798    #[serde(rename = "fill")]
1799    Fill,
1800    #[serde(rename = "fitHeight")]
1801    FitHeight,
1802    #[serde(rename = "fitWidth")]
1803    FitWidth,
1804    #[serde(rename = "none")]
1805    None,
1806    #[serde(rename = "scaleDown")]
1807    ScaleDown,
1808}
1809impl From<&StylesBoxFit> for StylesBoxFit {
1810    fn from(value: &StylesBoxFit) -> Self {
1811        value.clone()
1812    }
1813}
1814impl ToString for StylesBoxFit {
1815    fn to_string(&self) -> String {
1816        match *self {
1817            Self::Contain => "contain".to_string(),
1818            Self::Cover => "cover".to_string(),
1819            Self::Fill => "fill".to_string(),
1820            Self::FitHeight => "fitHeight".to_string(),
1821            Self::FitWidth => "fitWidth".to_string(),
1822            Self::None => "none".to_string(),
1823            Self::ScaleDown => "scaleDown".to_string(),
1824        }
1825    }
1826}
1827impl std::str::FromStr for StylesBoxFit {
1828    type Err = &'static str;
1829    fn from_str(value: &str) -> Result<Self, &'static str> {
1830        match value {
1831            "contain" => Ok(Self::Contain),
1832            "cover" => Ok(Self::Cover),
1833            "fill" => Ok(Self::Fill),
1834            "fitHeight" => Ok(Self::FitHeight),
1835            "fitWidth" => Ok(Self::FitWidth),
1836            "none" => Ok(Self::None),
1837            "scaleDown" => Ok(Self::ScaleDown),
1838            _ => Err("invalid value"),
1839        }
1840    }
1841}
1842impl std::convert::TryFrom<&str> for StylesBoxFit {
1843    type Error = &'static str;
1844    fn try_from(value: &str) -> Result<Self, &'static str> {
1845        value.parse()
1846    }
1847}
1848impl std::convert::TryFrom<&String> for StylesBoxFit {
1849    type Error = &'static str;
1850    fn try_from(value: &String) -> Result<Self, &'static str> {
1851        value.parse()
1852    }
1853}
1854impl std::convert::TryFrom<String> for StylesBoxFit {
1855    type Error = &'static str;
1856    fn try_from(value: String) -> Result<Self, &'static str> {
1857        value.parse()
1858    }
1859}
1860///Component of type BoxHeightStyle.
1861#[derive(
1862    Clone,
1863    Copy,
1864    Debug,
1865    Deserialize,
1866    Eq,
1867    Hash,
1868    Ord,
1869    PartialEq,
1870    PartialOrd,
1871    Serialize
1872)]
1873pub enum StylesBoxHeightStyle {
1874    #[serde(rename = "includeLineSpacingBottom")]
1875    IncludeLineSpacingBottom,
1876    #[serde(rename = "includeLineSpacingMiddle")]
1877    IncludeLineSpacingMiddle,
1878    #[serde(rename = "includeLineSpacingTop")]
1879    IncludeLineSpacingTop,
1880    #[serde(rename = "max")]
1881    Max,
1882    #[serde(rename = "strut")]
1883    Strut,
1884    #[serde(rename = "tight")]
1885    Tight,
1886}
1887impl From<&StylesBoxHeightStyle> for StylesBoxHeightStyle {
1888    fn from(value: &StylesBoxHeightStyle) -> Self {
1889        value.clone()
1890    }
1891}
1892impl ToString for StylesBoxHeightStyle {
1893    fn to_string(&self) -> String {
1894        match *self {
1895            Self::IncludeLineSpacingBottom => "includeLineSpacingBottom".to_string(),
1896            Self::IncludeLineSpacingMiddle => "includeLineSpacingMiddle".to_string(),
1897            Self::IncludeLineSpacingTop => "includeLineSpacingTop".to_string(),
1898            Self::Max => "max".to_string(),
1899            Self::Strut => "strut".to_string(),
1900            Self::Tight => "tight".to_string(),
1901        }
1902    }
1903}
1904impl std::str::FromStr for StylesBoxHeightStyle {
1905    type Err = &'static str;
1906    fn from_str(value: &str) -> Result<Self, &'static str> {
1907        match value {
1908            "includeLineSpacingBottom" => Ok(Self::IncludeLineSpacingBottom),
1909            "includeLineSpacingMiddle" => Ok(Self::IncludeLineSpacingMiddle),
1910            "includeLineSpacingTop" => Ok(Self::IncludeLineSpacingTop),
1911            "max" => Ok(Self::Max),
1912            "strut" => Ok(Self::Strut),
1913            "tight" => Ok(Self::Tight),
1914            _ => Err("invalid value"),
1915        }
1916    }
1917}
1918impl std::convert::TryFrom<&str> for StylesBoxHeightStyle {
1919    type Error = &'static str;
1920    fn try_from(value: &str) -> Result<Self, &'static str> {
1921        value.parse()
1922    }
1923}
1924impl std::convert::TryFrom<&String> for StylesBoxHeightStyle {
1925    type Error = &'static str;
1926    fn try_from(value: &String) -> Result<Self, &'static str> {
1927        value.parse()
1928    }
1929}
1930impl std::convert::TryFrom<String> for StylesBoxHeightStyle {
1931    type Error = &'static str;
1932    fn try_from(value: String) -> Result<Self, &'static str> {
1933        value.parse()
1934    }
1935}
1936///Element of type BoxShadow
1937#[derive(Clone, Debug, Deserialize, Serialize)]
1938#[serde(deny_unknown_fields)]
1939pub struct StylesBoxShadow {
1940    #[serde(rename = "blurRadius", default, skip_serializing_if = "Option::is_none")]
1941    pub blur_radius: Option<f64>,
1942    #[serde(default, skip_serializing_if = "Option::is_none")]
1943    pub color: Option<StylesColor>,
1944    #[serde(default, skip_serializing_if = "Option::is_none")]
1945    pub offset: Option<StylesOffset>,
1946    #[serde(rename = "spreadRadius", default, skip_serializing_if = "Option::is_none")]
1947    pub spread_radius: Option<f64>,
1948}
1949impl From<&StylesBoxShadow> for StylesBoxShadow {
1950    fn from(value: &StylesBoxShadow) -> Self {
1951        value.clone()
1952    }
1953}
1954impl StylesBoxShadow {
1955    pub fn builder() -> builder::StylesBoxShadow {
1956        builder::StylesBoxShadow::default()
1957    }
1958}
1959///The BoxShape enum, used to define the shape of a box.
1960#[derive(
1961    Clone,
1962    Copy,
1963    Debug,
1964    Deserialize,
1965    Eq,
1966    Hash,
1967    Ord,
1968    PartialEq,
1969    PartialOrd,
1970    Serialize
1971)]
1972pub enum StylesBoxShape {
1973    #[serde(rename = "circle")]
1974    Circle,
1975    #[serde(rename = "rectangle")]
1976    Rectangle,
1977}
1978impl From<&StylesBoxShape> for StylesBoxShape {
1979    fn from(value: &StylesBoxShape) -> Self {
1980        value.clone()
1981    }
1982}
1983impl ToString for StylesBoxShape {
1984    fn to_string(&self) -> String {
1985        match *self {
1986            Self::Circle => "circle".to_string(),
1987            Self::Rectangle => "rectangle".to_string(),
1988        }
1989    }
1990}
1991impl std::str::FromStr for StylesBoxShape {
1992    type Err = &'static str;
1993    fn from_str(value: &str) -> Result<Self, &'static str> {
1994        match value {
1995            "circle" => Ok(Self::Circle),
1996            "rectangle" => Ok(Self::Rectangle),
1997            _ => Err("invalid value"),
1998        }
1999    }
2000}
2001impl std::convert::TryFrom<&str> for StylesBoxShape {
2002    type Error = &'static str;
2003    fn try_from(value: &str) -> Result<Self, &'static str> {
2004        value.parse()
2005    }
2006}
2007impl std::convert::TryFrom<&String> for StylesBoxShape {
2008    type Error = &'static str;
2009    fn try_from(value: &String) -> Result<Self, &'static str> {
2010        value.parse()
2011    }
2012}
2013impl std::convert::TryFrom<String> for StylesBoxShape {
2014    type Error = &'static str;
2015    fn try_from(value: String) -> Result<Self, &'static str> {
2016        value.parse()
2017    }
2018}
2019///Component of type BoxWidthStyle.
2020#[derive(
2021    Clone,
2022    Copy,
2023    Debug,
2024    Deserialize,
2025    Eq,
2026    Hash,
2027    Ord,
2028    PartialEq,
2029    PartialOrd,
2030    Serialize
2031)]
2032pub enum StylesBoxWidthStyle {
2033    #[serde(rename = "max")]
2034    Max,
2035    #[serde(rename = "tight")]
2036    Tight,
2037}
2038impl From<&StylesBoxWidthStyle> for StylesBoxWidthStyle {
2039    fn from(value: &StylesBoxWidthStyle) -> Self {
2040        value.clone()
2041    }
2042}
2043impl ToString for StylesBoxWidthStyle {
2044    fn to_string(&self) -> String {
2045        match *self {
2046            Self::Max => "max".to_string(),
2047            Self::Tight => "tight".to_string(),
2048        }
2049    }
2050}
2051impl std::str::FromStr for StylesBoxWidthStyle {
2052    type Err = &'static str;
2053    fn from_str(value: &str) -> Result<Self, &'static str> {
2054        match value {
2055            "max" => Ok(Self::Max),
2056            "tight" => Ok(Self::Tight),
2057            _ => Err("invalid value"),
2058        }
2059    }
2060}
2061impl std::convert::TryFrom<&str> for StylesBoxWidthStyle {
2062    type Error = &'static str;
2063    fn try_from(value: &str) -> Result<Self, &'static str> {
2064        value.parse()
2065    }
2066}
2067impl std::convert::TryFrom<&String> for StylesBoxWidthStyle {
2068    type Error = &'static str;
2069    fn try_from(value: &String) -> Result<Self, &'static str> {
2070        value.parse()
2071    }
2072}
2073impl std::convert::TryFrom<String> for StylesBoxWidthStyle {
2074    type Error = &'static str;
2075    fn try_from(value: String) -> Result<Self, &'static str> {
2076        value.parse()
2077    }
2078}
2079///Component of type Brightness.
2080#[derive(
2081    Clone,
2082    Copy,
2083    Debug,
2084    Deserialize,
2085    Eq,
2086    Hash,
2087    Ord,
2088    PartialEq,
2089    PartialOrd,
2090    Serialize
2091)]
2092pub enum StylesBrightness {
2093    #[serde(rename = "dark")]
2094    Dark,
2095    #[serde(rename = "light")]
2096    Light,
2097}
2098impl From<&StylesBrightness> for StylesBrightness {
2099    fn from(value: &StylesBrightness) -> Self {
2100        value.clone()
2101    }
2102}
2103impl ToString for StylesBrightness {
2104    fn to_string(&self) -> String {
2105        match *self {
2106            Self::Dark => "dark".to_string(),
2107            Self::Light => "light".to_string(),
2108        }
2109    }
2110}
2111impl std::str::FromStr for StylesBrightness {
2112    type Err = &'static str;
2113    fn from_str(value: &str) -> Result<Self, &'static str> {
2114        match value {
2115            "dark" => Ok(Self::Dark),
2116            "light" => Ok(Self::Light),
2117            _ => Err("invalid value"),
2118        }
2119    }
2120}
2121impl std::convert::TryFrom<&str> for StylesBrightness {
2122    type Error = &'static str;
2123    fn try_from(value: &str) -> Result<Self, &'static str> {
2124        value.parse()
2125    }
2126}
2127impl std::convert::TryFrom<&String> for StylesBrightness {
2128    type Error = &'static str;
2129    fn try_from(value: &String) -> Result<Self, &'static str> {
2130        value.parse()
2131    }
2132}
2133impl std::convert::TryFrom<String> for StylesBrightness {
2134    type Error = &'static str;
2135    fn try_from(value: String) -> Result<Self, &'static str> {
2136        value.parse()
2137    }
2138}
2139///Element of type CarouselOptions
2140#[derive(Clone, Debug, Deserialize, Serialize)]
2141#[serde(deny_unknown_fields)]
2142pub struct StylesCarouselOptions {
2143    #[serde(rename = "aspectRatio", default, skip_serializing_if = "Option::is_none")]
2144    pub aspect_ratio: Option<f64>,
2145    #[serde(rename = "autoPlay", default, skip_serializing_if = "Option::is_none")]
2146    pub auto_play: Option<bool>,
2147    #[serde(
2148        rename = "autoPlayAnimationDuration",
2149        default,
2150        skip_serializing_if = "Option::is_none"
2151    )]
2152    pub auto_play_animation_duration: Option<StylesDuration>,
2153    #[serde(
2154        rename = "autoPlayInterval",
2155        default,
2156        skip_serializing_if = "Option::is_none"
2157    )]
2158    pub auto_play_interval: Option<StylesDuration>,
2159    #[serde(
2160        rename = "enableInfiniteScroll",
2161        default,
2162        skip_serializing_if = "Option::is_none"
2163    )]
2164    pub enable_infinite_scroll: Option<bool>,
2165    #[serde(
2166        rename = "enlargeCenterPage",
2167        default,
2168        skip_serializing_if = "Option::is_none"
2169    )]
2170    pub enlarge_center_page: Option<bool>,
2171    #[serde(
2172        rename = "enlargeStrategy",
2173        default,
2174        skip_serializing_if = "Option::is_none"
2175    )]
2176    pub enlarge_strategy: Option<StylesCarouselOptionsEnlargeStrategy>,
2177    #[serde(default, skip_serializing_if = "Option::is_none")]
2178    pub height: Option<f64>,
2179    #[serde(rename = "initialPage", default, skip_serializing_if = "Option::is_none")]
2180    pub initial_page: Option<i64>,
2181    #[serde(
2182        rename = "pauseAutoPlayOnTouch",
2183        default,
2184        skip_serializing_if = "Option::is_none"
2185    )]
2186    pub pause_auto_play_on_touch: Option<bool>,
2187    #[serde(default, skip_serializing_if = "Option::is_none")]
2188    pub reverse: Option<bool>,
2189    #[serde(
2190        rename = "scrollDirection",
2191        default,
2192        skip_serializing_if = "Option::is_none"
2193    )]
2194    pub scroll_direction: Option<StylesDirection>,
2195    #[serde(
2196        rename = "viewportFraction",
2197        default,
2198        skip_serializing_if = "Option::is_none"
2199    )]
2200    pub viewport_fraction: Option<f64>,
2201}
2202impl From<&StylesCarouselOptions> for StylesCarouselOptions {
2203    fn from(value: &StylesCarouselOptions) -> Self {
2204        value.clone()
2205    }
2206}
2207impl StylesCarouselOptions {
2208    pub fn builder() -> builder::StylesCarouselOptions {
2209        builder::StylesCarouselOptions::default()
2210    }
2211}
2212#[derive(
2213    Clone,
2214    Copy,
2215    Debug,
2216    Deserialize,
2217    Eq,
2218    Hash,
2219    Ord,
2220    PartialEq,
2221    PartialOrd,
2222    Serialize
2223)]
2224pub enum StylesCarouselOptionsEnlargeStrategy {
2225    #[serde(rename = "scale")]
2226    Scale,
2227    #[serde(rename = "height")]
2228    Height,
2229    #[serde(rename = "zoom")]
2230    Zoom,
2231}
2232impl From<&StylesCarouselOptionsEnlargeStrategy>
2233for StylesCarouselOptionsEnlargeStrategy {
2234    fn from(value: &StylesCarouselOptionsEnlargeStrategy) -> Self {
2235        value.clone()
2236    }
2237}
2238impl ToString for StylesCarouselOptionsEnlargeStrategy {
2239    fn to_string(&self) -> String {
2240        match *self {
2241            Self::Scale => "scale".to_string(),
2242            Self::Height => "height".to_string(),
2243            Self::Zoom => "zoom".to_string(),
2244        }
2245    }
2246}
2247impl std::str::FromStr for StylesCarouselOptionsEnlargeStrategy {
2248    type Err = &'static str;
2249    fn from_str(value: &str) -> Result<Self, &'static str> {
2250        match value {
2251            "scale" => Ok(Self::Scale),
2252            "height" => Ok(Self::Height),
2253            "zoom" => Ok(Self::Zoom),
2254            _ => Err("invalid value"),
2255        }
2256    }
2257}
2258impl std::convert::TryFrom<&str> for StylesCarouselOptionsEnlargeStrategy {
2259    type Error = &'static str;
2260    fn try_from(value: &str) -> Result<Self, &'static str> {
2261        value.parse()
2262    }
2263}
2264impl std::convert::TryFrom<&String> for StylesCarouselOptionsEnlargeStrategy {
2265    type Error = &'static str;
2266    fn try_from(value: &String) -> Result<Self, &'static str> {
2267        value.parse()
2268    }
2269}
2270impl std::convert::TryFrom<String> for StylesCarouselOptionsEnlargeStrategy {
2271    type Error = &'static str;
2272    fn try_from(value: String) -> Result<Self, &'static str> {
2273        value.parse()
2274    }
2275}
2276///Element of type CheckboxStyle
2277#[derive(Clone, Debug, Deserialize, Serialize)]
2278#[serde(deny_unknown_fields)]
2279pub struct StylesCheckboxStyle {
2280    #[serde(rename = "activeColor", default, skip_serializing_if = "Option::is_none")]
2281    pub active_color: Option<StylesColor>,
2282    #[serde(rename = "checkColor", default, skip_serializing_if = "Option::is_none")]
2283    pub check_color: Option<StylesColor>,
2284    #[serde(rename = "focusColor", default, skip_serializing_if = "Option::is_none")]
2285    pub focus_color: Option<StylesColor>,
2286    #[serde(rename = "hoverColor", default, skip_serializing_if = "Option::is_none")]
2287    pub hover_color: Option<StylesColor>,
2288    #[serde(default, skip_serializing_if = "Option::is_none")]
2289    pub shape: Option<StylesOutlinedBorder>,
2290    #[serde(default, skip_serializing_if = "Option::is_none")]
2291    pub side: Option<StylesBorderSide>,
2292    #[serde(rename = "splashRadius", default, skip_serializing_if = "Option::is_none")]
2293    pub splash_radius: Option<f64>,
2294    #[serde(rename = "visualDensity", default, skip_serializing_if = "Option::is_none")]
2295    pub visual_density: Option<StylesVisualDensity>,
2296}
2297impl From<&StylesCheckboxStyle> for StylesCheckboxStyle {
2298    fn from(value: &StylesCheckboxStyle) -> Self {
2299        value.clone()
2300    }
2301}
2302impl StylesCheckboxStyle {
2303    pub fn builder() -> builder::StylesCheckboxStyle {
2304        builder::StylesCheckboxStyle::default()
2305    }
2306}
2307///Color type
2308#[derive(Clone, Debug, Deserialize, Serialize)]
2309pub struct StylesColor(pub i64);
2310impl std::ops::Deref for StylesColor {
2311    type Target = i64;
2312    fn deref(&self) -> &i64 {
2313        &self.0
2314    }
2315}
2316impl From<StylesColor> for i64 {
2317    fn from(value: StylesColor) -> Self {
2318        value.0
2319    }
2320}
2321impl From<&StylesColor> for StylesColor {
2322    fn from(value: &StylesColor) -> Self {
2323        value.clone()
2324    }
2325}
2326impl From<i64> for StylesColor {
2327    fn from(value: i64) -> Self {
2328        Self(value)
2329    }
2330}
2331impl std::str::FromStr for StylesColor {
2332    type Err = <i64 as std::str::FromStr>::Err;
2333    fn from_str(value: &str) -> Result<Self, Self::Err> {
2334        Ok(Self(value.parse()?))
2335    }
2336}
2337impl std::convert::TryFrom<&str> for StylesColor {
2338    type Error = <i64 as std::str::FromStr>::Err;
2339    fn try_from(value: &str) -> Result<Self, Self::Error> {
2340        value.parse()
2341    }
2342}
2343impl std::convert::TryFrom<&String> for StylesColor {
2344    type Error = <i64 as std::str::FromStr>::Err;
2345    fn try_from(value: &String) -> Result<Self, Self::Error> {
2346        value.parse()
2347    }
2348}
2349impl std::convert::TryFrom<String> for StylesColor {
2350    type Error = <i64 as std::str::FromStr>::Err;
2351    fn try_from(value: String) -> Result<Self, Self::Error> {
2352        value.parse()
2353    }
2354}
2355impl ToString for StylesColor {
2356    fn to_string(&self) -> String {
2357        self.0.to_string()
2358    }
2359}
2360///The direction of the component (horizontal/vertical)
2361#[derive(
2362    Clone,
2363    Copy,
2364    Debug,
2365    Deserialize,
2366    Eq,
2367    Hash,
2368    Ord,
2369    PartialEq,
2370    PartialOrd,
2371    Serialize
2372)]
2373pub enum StylesDirection {
2374    #[serde(rename = "horizontal")]
2375    Horizontal,
2376    #[serde(rename = "vertical")]
2377    Vertical,
2378}
2379impl From<&StylesDirection> for StylesDirection {
2380    fn from(value: &StylesDirection) -> Self {
2381        value.clone()
2382    }
2383}
2384impl ToString for StylesDirection {
2385    fn to_string(&self) -> String {
2386        match *self {
2387            Self::Horizontal => "horizontal".to_string(),
2388            Self::Vertical => "vertical".to_string(),
2389        }
2390    }
2391}
2392impl std::str::FromStr for StylesDirection {
2393    type Err = &'static str;
2394    fn from_str(value: &str) -> Result<Self, &'static str> {
2395        match value {
2396            "horizontal" => Ok(Self::Horizontal),
2397            "vertical" => Ok(Self::Vertical),
2398            _ => Err("invalid value"),
2399        }
2400    }
2401}
2402impl std::convert::TryFrom<&str> for StylesDirection {
2403    type Error = &'static str;
2404    fn try_from(value: &str) -> Result<Self, &'static str> {
2405        value.parse()
2406    }
2407}
2408impl std::convert::TryFrom<&String> for StylesDirection {
2409    type Error = &'static str;
2410    fn try_from(value: &String) -> Result<Self, &'static str> {
2411        value.parse()
2412    }
2413}
2414impl std::convert::TryFrom<String> for StylesDirection {
2415    type Error = &'static str;
2416    fn try_from(value: String) -> Result<Self, &'static str> {
2417        value.parse()
2418    }
2419}
2420///Component of type DragStartBehavior.
2421#[derive(
2422    Clone,
2423    Copy,
2424    Debug,
2425    Deserialize,
2426    Eq,
2427    Hash,
2428    Ord,
2429    PartialEq,
2430    PartialOrd,
2431    Serialize
2432)]
2433pub enum StylesDragStartBehavior {
2434    #[serde(rename = "start")]
2435    Start,
2436    #[serde(rename = "down")]
2437    Down,
2438}
2439impl From<&StylesDragStartBehavior> for StylesDragStartBehavior {
2440    fn from(value: &StylesDragStartBehavior) -> Self {
2441        value.clone()
2442    }
2443}
2444impl ToString for StylesDragStartBehavior {
2445    fn to_string(&self) -> String {
2446        match *self {
2447            Self::Start => "start".to_string(),
2448            Self::Down => "down".to_string(),
2449        }
2450    }
2451}
2452impl std::str::FromStr for StylesDragStartBehavior {
2453    type Err = &'static str;
2454    fn from_str(value: &str) -> Result<Self, &'static str> {
2455        match value {
2456            "start" => Ok(Self::Start),
2457            "down" => Ok(Self::Down),
2458            _ => Err("invalid value"),
2459        }
2460    }
2461}
2462impl std::convert::TryFrom<&str> for StylesDragStartBehavior {
2463    type Error = &'static str;
2464    fn try_from(value: &str) -> Result<Self, &'static str> {
2465        value.parse()
2466    }
2467}
2468impl std::convert::TryFrom<&String> for StylesDragStartBehavior {
2469    type Error = &'static str;
2470    fn try_from(value: &String) -> Result<Self, &'static str> {
2471        value.parse()
2472    }
2473}
2474impl std::convert::TryFrom<String> for StylesDragStartBehavior {
2475    type Error = &'static str;
2476    fn try_from(value: String) -> Result<Self, &'static str> {
2477        value.parse()
2478    }
2479}
2480///Element of type Duration
2481#[derive(Clone, Debug, Deserialize, Serialize)]
2482#[serde(deny_unknown_fields)]
2483pub struct StylesDuration {
2484    #[serde(default, skip_serializing_if = "Option::is_none")]
2485    pub days: Option<i64>,
2486    #[serde(default, skip_serializing_if = "Option::is_none")]
2487    pub hours: Option<i64>,
2488    #[serde(default, skip_serializing_if = "Option::is_none")]
2489    pub microseconds: Option<i64>,
2490    #[serde(default, skip_serializing_if = "Option::is_none")]
2491    pub milliseconds: Option<i64>,
2492    #[serde(default, skip_serializing_if = "Option::is_none")]
2493    pub minutes: Option<i64>,
2494    #[serde(default, skip_serializing_if = "Option::is_none")]
2495    pub seconds: Option<i64>,
2496}
2497impl From<&StylesDuration> for StylesDuration {
2498    fn from(value: &StylesDuration) -> Self {
2499        value.clone()
2500    }
2501}
2502impl StylesDuration {
2503    pub fn builder() -> builder::StylesDuration {
2504        builder::StylesDuration::default()
2505    }
2506}
2507///The filter quality to use.
2508#[derive(
2509    Clone,
2510    Copy,
2511    Debug,
2512    Deserialize,
2513    Eq,
2514    Hash,
2515    Ord,
2516    PartialEq,
2517    PartialOrd,
2518    Serialize
2519)]
2520pub enum StylesFilterQuality {
2521    #[serde(rename = "high")]
2522    High,
2523    #[serde(rename = "medium")]
2524    Medium,
2525    #[serde(rename = "low")]
2526    Low,
2527    #[serde(rename = "none")]
2528    None,
2529}
2530impl From<&StylesFilterQuality> for StylesFilterQuality {
2531    fn from(value: &StylesFilterQuality) -> Self {
2532        value.clone()
2533    }
2534}
2535impl ToString for StylesFilterQuality {
2536    fn to_string(&self) -> String {
2537        match *self {
2538            Self::High => "high".to_string(),
2539            Self::Medium => "medium".to_string(),
2540            Self::Low => "low".to_string(),
2541            Self::None => "none".to_string(),
2542        }
2543    }
2544}
2545impl std::str::FromStr for StylesFilterQuality {
2546    type Err = &'static str;
2547    fn from_str(value: &str) -> Result<Self, &'static str> {
2548        match value {
2549            "high" => Ok(Self::High),
2550            "medium" => Ok(Self::Medium),
2551            "low" => Ok(Self::Low),
2552            "none" => Ok(Self::None),
2553            _ => Err("invalid value"),
2554        }
2555    }
2556}
2557impl std::convert::TryFrom<&str> for StylesFilterQuality {
2558    type Error = &'static str;
2559    fn try_from(value: &str) -> Result<Self, &'static str> {
2560        value.parse()
2561    }
2562}
2563impl std::convert::TryFrom<&String> for StylesFilterQuality {
2564    type Error = &'static str;
2565    fn try_from(value: &String) -> Result<Self, &'static str> {
2566        value.parse()
2567    }
2568}
2569impl std::convert::TryFrom<String> for StylesFilterQuality {
2570    type Error = &'static str;
2571    fn try_from(value: String) -> Result<Self, &'static str> {
2572        value.parse()
2573    }
2574}
2575///How a flexible child is inscribed into the available space.
2576#[derive(
2577    Clone,
2578    Copy,
2579    Debug,
2580    Deserialize,
2581    Eq,
2582    Hash,
2583    Ord,
2584    PartialEq,
2585    PartialOrd,
2586    Serialize
2587)]
2588pub enum StylesFlexFit {
2589    #[serde(rename = "loose")]
2590    Loose,
2591    #[serde(rename = "tight")]
2592    Tight,
2593}
2594impl From<&StylesFlexFit> for StylesFlexFit {
2595    fn from(value: &StylesFlexFit) -> Self {
2596        value.clone()
2597    }
2598}
2599impl ToString for StylesFlexFit {
2600    fn to_string(&self) -> String {
2601        match *self {
2602            Self::Loose => "loose".to_string(),
2603            Self::Tight => "tight".to_string(),
2604        }
2605    }
2606}
2607impl std::str::FromStr for StylesFlexFit {
2608    type Err = &'static str;
2609    fn from_str(value: &str) -> Result<Self, &'static str> {
2610        match value {
2611            "loose" => Ok(Self::Loose),
2612            "tight" => Ok(Self::Tight),
2613            _ => Err("invalid value"),
2614        }
2615    }
2616}
2617impl std::convert::TryFrom<&str> for StylesFlexFit {
2618    type Error = &'static str;
2619    fn try_from(value: &str) -> Result<Self, &'static str> {
2620        value.parse()
2621    }
2622}
2623impl std::convert::TryFrom<&String> for StylesFlexFit {
2624    type Error = &'static str;
2625    fn try_from(value: &String) -> Result<Self, &'static str> {
2626        value.parse()
2627    }
2628}
2629impl std::convert::TryFrom<String> for StylesFlexFit {
2630    type Error = &'static str;
2631    fn try_from(value: String) -> Result<Self, &'static str> {
2632        value.parse()
2633    }
2634}
2635///Element of type FloatingLabelBehavior.
2636#[derive(
2637    Clone,
2638    Copy,
2639    Debug,
2640    Deserialize,
2641    Eq,
2642    Hash,
2643    Ord,
2644    PartialEq,
2645    PartialOrd,
2646    Serialize
2647)]
2648pub enum StylesFloatingLabelBehavior {
2649    #[serde(rename = "always")]
2650    Always,
2651    #[serde(rename = "auto")]
2652    Auto,
2653    #[serde(rename = "never")]
2654    Never,
2655}
2656impl From<&StylesFloatingLabelBehavior> for StylesFloatingLabelBehavior {
2657    fn from(value: &StylesFloatingLabelBehavior) -> Self {
2658        value.clone()
2659    }
2660}
2661impl ToString for StylesFloatingLabelBehavior {
2662    fn to_string(&self) -> String {
2663        match *self {
2664            Self::Always => "always".to_string(),
2665            Self::Auto => "auto".to_string(),
2666            Self::Never => "never".to_string(),
2667        }
2668    }
2669}
2670impl std::str::FromStr for StylesFloatingLabelBehavior {
2671    type Err = &'static str;
2672    fn from_str(value: &str) -> Result<Self, &'static str> {
2673        match value {
2674            "always" => Ok(Self::Always),
2675            "auto" => Ok(Self::Auto),
2676            "never" => Ok(Self::Never),
2677            _ => Err("invalid value"),
2678        }
2679    }
2680}
2681impl std::convert::TryFrom<&str> for StylesFloatingLabelBehavior {
2682    type Error = &'static str;
2683    fn try_from(value: &str) -> Result<Self, &'static str> {
2684        value.parse()
2685    }
2686}
2687impl std::convert::TryFrom<&String> for StylesFloatingLabelBehavior {
2688    type Error = &'static str;
2689    fn try_from(value: &String) -> Result<Self, &'static str> {
2690        value.parse()
2691    }
2692}
2693impl std::convert::TryFrom<String> for StylesFloatingLabelBehavior {
2694    type Error = &'static str;
2695    fn try_from(value: String) -> Result<Self, &'static str> {
2696        value.parse()
2697    }
2698}
2699///All of the possible values for an Icon.
2700#[derive(
2701    Clone,
2702    Copy,
2703    Debug,
2704    Deserialize,
2705    Eq,
2706    Hash,
2707    Ord,
2708    PartialEq,
2709    PartialOrd,
2710    Serialize
2711)]
2712pub enum StylesIconName {
2713    #[serde(rename = "ac_unit")]
2714    AcUnit,
2715    #[serde(rename = "access_alarm")]
2716    AccessAlarm,
2717    #[serde(rename = "access_alarms")]
2718    AccessAlarms,
2719    #[serde(rename = "access_time")]
2720    AccessTime,
2721    #[serde(rename = "access_time_filled")]
2722    AccessTimeFilled,
2723    #[serde(rename = "accessibility")]
2724    Accessibility,
2725    #[serde(rename = "accessibility_new")]
2726    AccessibilityNew,
2727    #[serde(rename = "accessible")]
2728    Accessible,
2729    #[serde(rename = "accessible_forward")]
2730    AccessibleForward,
2731    #[serde(rename = "account_balance")]
2732    AccountBalance,
2733    #[serde(rename = "account_balance_wallet")]
2734    AccountBalanceWallet,
2735    #[serde(rename = "account_box")]
2736    AccountBox,
2737    #[serde(rename = "account_circle")]
2738    AccountCircle,
2739    #[serde(rename = "account_tree")]
2740    AccountTree,
2741    #[serde(rename = "ad_units")]
2742    AdUnits,
2743    #[serde(rename = "adb")]
2744    Adb,
2745    #[serde(rename = "add")]
2746    Add,
2747    #[serde(rename = "add_a_photo")]
2748    AddAPhoto,
2749    #[serde(rename = "add_alarm")]
2750    AddAlarm,
2751    #[serde(rename = "add_alert")]
2752    AddAlert,
2753    #[serde(rename = "add_box")]
2754    AddBox,
2755    #[serde(rename = "add_business")]
2756    AddBusiness,
2757    #[serde(rename = "add_call")]
2758    AddCall,
2759    #[serde(rename = "add_chart")]
2760    AddChart,
2761    #[serde(rename = "add_circle")]
2762    AddCircle,
2763    #[serde(rename = "add_circle_outline")]
2764    AddCircleOutline,
2765    #[serde(rename = "add_comment")]
2766    AddComment,
2767    #[serde(rename = "add_ic_call")]
2768    AddIcCall,
2769    #[serde(rename = "add_link")]
2770    AddLink,
2771    #[serde(rename = "add_location")]
2772    AddLocation,
2773    #[serde(rename = "add_location_alt")]
2774    AddLocationAlt,
2775    #[serde(rename = "add_moderator")]
2776    AddModerator,
2777    #[serde(rename = "add_photo_alternate")]
2778    AddPhotoAlternate,
2779    #[serde(rename = "add_reaction")]
2780    AddReaction,
2781    #[serde(rename = "add_road")]
2782    AddRoad,
2783    #[serde(rename = "add_shopping_cart")]
2784    AddShoppingCart,
2785    #[serde(rename = "add_task")]
2786    AddTask,
2787    #[serde(rename = "add_to_drive")]
2788    AddToDrive,
2789    #[serde(rename = "add_to_home_screen")]
2790    AddToHomeScreen,
2791    #[serde(rename = "add_to_photos")]
2792    AddToPhotos,
2793    #[serde(rename = "add_to_queue")]
2794    AddToQueue,
2795    #[serde(rename = "addchart")]
2796    Addchart,
2797    #[serde(rename = "adjust")]
2798    Adjust,
2799    #[serde(rename = "admin_panel_settings")]
2800    AdminPanelSettings,
2801    #[serde(rename = "agriculture")]
2802    Agriculture,
2803    #[serde(rename = "air")]
2804    Air,
2805    #[serde(rename = "airline_seat_flat")]
2806    AirlineSeatFlat,
2807    #[serde(rename = "airline_seat_flat_angled")]
2808    AirlineSeatFlatAngled,
2809    #[serde(rename = "airline_seat_individual_suite")]
2810    AirlineSeatIndividualSuite,
2811    #[serde(rename = "airline_seat_legroom_extra")]
2812    AirlineSeatLegroomExtra,
2813    #[serde(rename = "airline_seat_legroom_normal")]
2814    AirlineSeatLegroomNormal,
2815    #[serde(rename = "airline_seat_legroom_reduced")]
2816    AirlineSeatLegroomReduced,
2817    #[serde(rename = "airline_seat_recline_extra")]
2818    AirlineSeatReclineExtra,
2819    #[serde(rename = "airline_seat_recline_normal")]
2820    AirlineSeatReclineNormal,
2821    #[serde(rename = "airplane_ticket")]
2822    AirplaneTicket,
2823    #[serde(rename = "airplanemode_active")]
2824    AirplanemodeActive,
2825    #[serde(rename = "airplanemode_inactive")]
2826    AirplanemodeInactive,
2827    #[serde(rename = "airplanemode_off")]
2828    AirplanemodeOff,
2829    #[serde(rename = "airplanemode_on")]
2830    AirplanemodeOn,
2831    #[serde(rename = "airplay")]
2832    Airplay,
2833    #[serde(rename = "airport_shuttle")]
2834    AirportShuttle,
2835    #[serde(rename = "alarm")]
2836    Alarm,
2837    #[serde(rename = "alarm_add")]
2838    AlarmAdd,
2839    #[serde(rename = "alarm_off")]
2840    AlarmOff,
2841    #[serde(rename = "alarm_on")]
2842    AlarmOn,
2843    #[serde(rename = "album")]
2844    Album,
2845    #[serde(rename = "align_horizontal_center")]
2846    AlignHorizontalCenter,
2847    #[serde(rename = "align_horizontal_left")]
2848    AlignHorizontalLeft,
2849    #[serde(rename = "align_horizontal_right")]
2850    AlignHorizontalRight,
2851    #[serde(rename = "align_vertical_bottom")]
2852    AlignVerticalBottom,
2853    #[serde(rename = "align_vertical_center")]
2854    AlignVerticalCenter,
2855    #[serde(rename = "align_vertical_top")]
2856    AlignVerticalTop,
2857    #[serde(rename = "all_inbox")]
2858    AllInbox,
2859    #[serde(rename = "all_inclusive")]
2860    AllInclusive,
2861    #[serde(rename = "all_out")]
2862    AllOut,
2863    #[serde(rename = "alt_route")]
2864    AltRoute,
2865    #[serde(rename = "alternate_email")]
2866    AlternateEmail,
2867    #[serde(rename = "amp_stories")]
2868    AmpStories,
2869    #[serde(rename = "analytics")]
2870    Analytics,
2871    #[serde(rename = "anchor")]
2872    Anchor,
2873    #[serde(rename = "android")]
2874    Android,
2875    #[serde(rename = "animation")]
2876    Animation,
2877    #[serde(rename = "announcement")]
2878    Announcement,
2879    #[serde(rename = "aod")]
2880    Aod,
2881    #[serde(rename = "apartment")]
2882    Apartment,
2883    #[serde(rename = "api")]
2884    Api,
2885    #[serde(rename = "app_blocking")]
2886    AppBlocking,
2887    #[serde(rename = "app_registration")]
2888    AppRegistration,
2889    #[serde(rename = "app_settings_alt")]
2890    AppSettingsAlt,
2891    #[serde(rename = "approval")]
2892    Approval,
2893    #[serde(rename = "apps")]
2894    Apps,
2895    #[serde(rename = "architecture")]
2896    Architecture,
2897    #[serde(rename = "archive")]
2898    Archive,
2899    #[serde(rename = "arrow_back")]
2900    ArrowBack,
2901    #[serde(rename = "arrow_back_ios")]
2902    ArrowBackIos,
2903    #[serde(rename = "arrow_back_ios_new")]
2904    ArrowBackIosNew,
2905    #[serde(rename = "arrow_circle_down")]
2906    ArrowCircleDown,
2907    #[serde(rename = "arrow_circle_up")]
2908    ArrowCircleUp,
2909    #[serde(rename = "arrow_downward")]
2910    ArrowDownward,
2911    #[serde(rename = "arrow_drop_down")]
2912    ArrowDropDown,
2913    #[serde(rename = "arrow_drop_down_circle")]
2914    ArrowDropDownCircle,
2915    #[serde(rename = "arrow_drop_up")]
2916    ArrowDropUp,
2917    #[serde(rename = "arrow_forward")]
2918    ArrowForward,
2919    #[serde(rename = "arrow_forward_ios")]
2920    ArrowForwardIos,
2921    #[serde(rename = "arrow_left")]
2922    ArrowLeft,
2923    #[serde(rename = "arrow_right")]
2924    ArrowRight,
2925    #[serde(rename = "arrow_right_alt")]
2926    ArrowRightAlt,
2927    #[serde(rename = "arrow_upward")]
2928    ArrowUpward,
2929    #[serde(rename = "art_track")]
2930    ArtTrack,
2931    #[serde(rename = "article")]
2932    Article,
2933    #[serde(rename = "aspect_ratio")]
2934    AspectRatio,
2935    #[serde(rename = "assessment")]
2936    Assessment,
2937    #[serde(rename = "assignment")]
2938    Assignment,
2939    #[serde(rename = "assignment_ind")]
2940    AssignmentInd,
2941    #[serde(rename = "assignment_late")]
2942    AssignmentLate,
2943    #[serde(rename = "assignment_return")]
2944    AssignmentReturn,
2945    #[serde(rename = "assignment_returned")]
2946    AssignmentReturned,
2947    #[serde(rename = "assignment_turned_in")]
2948    AssignmentTurnedIn,
2949    #[serde(rename = "assistant")]
2950    Assistant,
2951    #[serde(rename = "assistant_direction")]
2952    AssistantDirection,
2953    #[serde(rename = "assistant_navigation")]
2954    AssistantNavigation,
2955    #[serde(rename = "assistant_photo")]
2956    AssistantPhoto,
2957    #[serde(rename = "atm")]
2958    Atm,
2959    #[serde(rename = "attach_email")]
2960    AttachEmail,
2961    #[serde(rename = "attach_file")]
2962    AttachFile,
2963    #[serde(rename = "attach_money")]
2964    AttachMoney,
2965    #[serde(rename = "attachment")]
2966    Attachment,
2967    #[serde(rename = "attractions")]
2968    Attractions,
2969    #[serde(rename = "attribution")]
2970    Attribution,
2971    #[serde(rename = "audiotrack")]
2972    Audiotrack,
2973    #[serde(rename = "auto_awesome")]
2974    AutoAwesome,
2975    #[serde(rename = "auto_awesome_mosaic")]
2976    AutoAwesomeMosaic,
2977    #[serde(rename = "auto_awesome_motion")]
2978    AutoAwesomeMotion,
2979    #[serde(rename = "auto_delete")]
2980    AutoDelete,
2981    #[serde(rename = "auto_fix_high")]
2982    AutoFixHigh,
2983    #[serde(rename = "auto_fix_normal")]
2984    AutoFixNormal,
2985    #[serde(rename = "auto_fix_off")]
2986    AutoFixOff,
2987    #[serde(rename = "auto_graph")]
2988    AutoGraph,
2989    #[serde(rename = "auto_stories")]
2990    AutoStories,
2991    #[serde(rename = "autofps_select")]
2992    AutofpsSelect,
2993    #[serde(rename = "autorenew")]
2994    Autorenew,
2995    #[serde(rename = "av_timer")]
2996    AvTimer,
2997    #[serde(rename = "baby_changing_station")]
2998    BabyChangingStation,
2999    #[serde(rename = "backpack")]
3000    Backpack,
3001    #[serde(rename = "backspace")]
3002    Backspace,
3003    #[serde(rename = "backup")]
3004    Backup,
3005    #[serde(rename = "backup_table")]
3006    BackupTable,
3007    #[serde(rename = "badge")]
3008    Badge,
3009    #[serde(rename = "bakery_dining")]
3010    BakeryDining,
3011    #[serde(rename = "balcony")]
3012    Balcony,
3013    #[serde(rename = "ballot")]
3014    Ballot,
3015    #[serde(rename = "bar_chart")]
3016    BarChart,
3017    #[serde(rename = "batch_prediction")]
3018    BatchPrediction,
3019    #[serde(rename = "bathroom")]
3020    Bathroom,
3021    #[serde(rename = "bathtub")]
3022    Bathtub,
3023    #[serde(rename = "battery_alert")]
3024    BatteryAlert,
3025    #[serde(rename = "battery_charging_full")]
3026    BatteryChargingFull,
3027    #[serde(rename = "battery_full")]
3028    BatteryFull,
3029    #[serde(rename = "battery_saver")]
3030    BatterySaver,
3031    #[serde(rename = "battery_std")]
3032    BatteryStd,
3033    #[serde(rename = "battery_unknown")]
3034    BatteryUnknown,
3035    #[serde(rename = "beach_access")]
3036    BeachAccess,
3037    #[serde(rename = "bed")]
3038    Bed,
3039    #[serde(rename = "bedroom_baby")]
3040    BedroomBaby,
3041    #[serde(rename = "bedroom_child")]
3042    BedroomChild,
3043    #[serde(rename = "bedroom_parent")]
3044    BedroomParent,
3045    #[serde(rename = "bedtime")]
3046    Bedtime,
3047    #[serde(rename = "beenhere")]
3048    Beenhere,
3049    #[serde(rename = "bento")]
3050    Bento,
3051    #[serde(rename = "bike_scooter")]
3052    BikeScooter,
3053    #[serde(rename = "biotech")]
3054    Biotech,
3055    #[serde(rename = "blender")]
3056    Blender,
3057    #[serde(rename = "block")]
3058    Block,
3059    #[serde(rename = "block_flipped")]
3060    BlockFlipped,
3061    #[serde(rename = "bloodtype")]
3062    Bloodtype,
3063    #[serde(rename = "bluetooth")]
3064    Bluetooth,
3065    #[serde(rename = "bluetooth_audio")]
3066    BluetoothAudio,
3067    #[serde(rename = "bluetooth_connected")]
3068    BluetoothConnected,
3069    #[serde(rename = "bluetooth_disabled")]
3070    BluetoothDisabled,
3071    #[serde(rename = "bluetooth_drive")]
3072    BluetoothDrive,
3073    #[serde(rename = "bluetooth_searching")]
3074    BluetoothSearching,
3075    #[serde(rename = "blur_circular")]
3076    BlurCircular,
3077    #[serde(rename = "blur_linear")]
3078    BlurLinear,
3079    #[serde(rename = "blur_off")]
3080    BlurOff,
3081    #[serde(rename = "blur_on")]
3082    BlurOn,
3083    #[serde(rename = "bolt")]
3084    Bolt,
3085    #[serde(rename = "book")]
3086    Book,
3087    #[serde(rename = "book_online")]
3088    BookOnline,
3089    #[serde(rename = "bookmark")]
3090    Bookmark,
3091    #[serde(rename = "bookmark_add")]
3092    BookmarkAdd,
3093    #[serde(rename = "bookmark_added")]
3094    BookmarkAdded,
3095    #[serde(rename = "bookmark_border")]
3096    BookmarkBorder,
3097    #[serde(rename = "bookmark_outline")]
3098    BookmarkOutline,
3099    #[serde(rename = "bookmark_remove")]
3100    BookmarkRemove,
3101    #[serde(rename = "bookmarks")]
3102    Bookmarks,
3103    #[serde(rename = "border_all")]
3104    BorderAll,
3105    #[serde(rename = "border_bottom")]
3106    BorderBottom,
3107    #[serde(rename = "border_clear")]
3108    BorderClear,
3109    #[serde(rename = "border_color")]
3110    BorderColor,
3111    #[serde(rename = "border_horizontal")]
3112    BorderHorizontal,
3113    #[serde(rename = "border_inner")]
3114    BorderInner,
3115    #[serde(rename = "border_left")]
3116    BorderLeft,
3117    #[serde(rename = "border_outer")]
3118    BorderOuter,
3119    #[serde(rename = "border_right")]
3120    BorderRight,
3121    #[serde(rename = "border_style")]
3122    BorderStyle,
3123    #[serde(rename = "border_top")]
3124    BorderTop,
3125    #[serde(rename = "border_vertical")]
3126    BorderVertical,
3127    #[serde(rename = "branding_watermark")]
3128    BrandingWatermark,
3129    #[serde(rename = "breakfast_dining")]
3130    BreakfastDining,
3131    #[serde(rename = "brightness_1")]
3132    Brightness1,
3133    #[serde(rename = "brightness_2")]
3134    Brightness2,
3135    #[serde(rename = "brightness_3")]
3136    Brightness3,
3137    #[serde(rename = "brightness_4")]
3138    Brightness4,
3139    #[serde(rename = "brightness_5")]
3140    Brightness5,
3141    #[serde(rename = "brightness_6")]
3142    Brightness6,
3143    #[serde(rename = "brightness_7")]
3144    Brightness7,
3145    #[serde(rename = "brightness_auto")]
3146    BrightnessAuto,
3147    #[serde(rename = "brightness_high")]
3148    BrightnessHigh,
3149    #[serde(rename = "brightness_low")]
3150    BrightnessLow,
3151    #[serde(rename = "brightness_medium")]
3152    BrightnessMedium,
3153    #[serde(rename = "broken_image")]
3154    BrokenImage,
3155    #[serde(rename = "browser_not_supported")]
3156    BrowserNotSupported,
3157    #[serde(rename = "brunch_dining")]
3158    BrunchDining,
3159    #[serde(rename = "brush")]
3160    Brush,
3161    #[serde(rename = "bubble_chart")]
3162    BubbleChart,
3163    #[serde(rename = "bug_report")]
3164    BugReport,
3165    #[serde(rename = "build")]
3166    Build,
3167    #[serde(rename = "build_circle")]
3168    BuildCircle,
3169    #[serde(rename = "bungalow")]
3170    Bungalow,
3171    #[serde(rename = "burst_mode")]
3172    BurstMode,
3173    #[serde(rename = "bus_alert")]
3174    BusAlert,
3175    #[serde(rename = "business")]
3176    Business,
3177    #[serde(rename = "business_center")]
3178    BusinessCenter,
3179    #[serde(rename = "cabin")]
3180    Cabin,
3181    #[serde(rename = "cable")]
3182    Cable,
3183    #[serde(rename = "cached")]
3184    Cached,
3185    #[serde(rename = "cake")]
3186    Cake,
3187    #[serde(rename = "calculate")]
3188    Calculate,
3189    #[serde(rename = "calendar_today")]
3190    CalendarToday,
3191    #[serde(rename = "calendar_view_day")]
3192    CalendarViewDay,
3193    #[serde(rename = "calendar_view_month")]
3194    CalendarViewMonth,
3195    #[serde(rename = "calendar_view_week")]
3196    CalendarViewWeek,
3197    #[serde(rename = "call")]
3198    Call,
3199    #[serde(rename = "call_end")]
3200    CallEnd,
3201    #[serde(rename = "call_made")]
3202    CallMade,
3203    #[serde(rename = "call_merge")]
3204    CallMerge,
3205    #[serde(rename = "call_missed")]
3206    CallMissed,
3207    #[serde(rename = "call_missed_outgoing")]
3208    CallMissedOutgoing,
3209    #[serde(rename = "call_received")]
3210    CallReceived,
3211    #[serde(rename = "call_split")]
3212    CallSplit,
3213    #[serde(rename = "call_to_action")]
3214    CallToAction,
3215    #[serde(rename = "camera")]
3216    Camera,
3217    #[serde(rename = "camera_alt")]
3218    CameraAlt,
3219    #[serde(rename = "camera_enhance")]
3220    CameraEnhance,
3221    #[serde(rename = "camera_front")]
3222    CameraFront,
3223    #[serde(rename = "camera_indoor")]
3224    CameraIndoor,
3225    #[serde(rename = "camera_outdoor")]
3226    CameraOutdoor,
3227    #[serde(rename = "camera_rear")]
3228    CameraRear,
3229    #[serde(rename = "camera_roll")]
3230    CameraRoll,
3231    #[serde(rename = "cameraswitch")]
3232    Cameraswitch,
3233    #[serde(rename = "campaign")]
3234    Campaign,
3235    #[serde(rename = "cancel")]
3236    Cancel,
3237    #[serde(rename = "cancel_presentation")]
3238    CancelPresentation,
3239    #[serde(rename = "cancel_schedule_send")]
3240    CancelScheduleSend,
3241    #[serde(rename = "car_rental")]
3242    CarRental,
3243    #[serde(rename = "car_repair")]
3244    CarRepair,
3245    #[serde(rename = "card_giftcard")]
3246    CardGiftcard,
3247    #[serde(rename = "card_membership")]
3248    CardMembership,
3249    #[serde(rename = "card_travel")]
3250    CardTravel,
3251    #[serde(rename = "carpenter")]
3252    Carpenter,
3253    #[serde(rename = "cases")]
3254    Cases,
3255    #[serde(rename = "casino")]
3256    Casino,
3257    #[serde(rename = "cast")]
3258    Cast,
3259    #[serde(rename = "cast_connected")]
3260    CastConnected,
3261    #[serde(rename = "cast_for_education")]
3262    CastForEducation,
3263    #[serde(rename = "catching_pokemon")]
3264    CatchingPokemon,
3265    #[serde(rename = "category")]
3266    Category,
3267    #[serde(rename = "celebration")]
3268    Celebration,
3269    #[serde(rename = "cell_wifi")]
3270    CellWifi,
3271    #[serde(rename = "center_focus_strong")]
3272    CenterFocusStrong,
3273    #[serde(rename = "center_focus_weak")]
3274    CenterFocusWeak,
3275    #[serde(rename = "chair")]
3276    Chair,
3277    #[serde(rename = "chair_alt")]
3278    ChairAlt,
3279    #[serde(rename = "chalet")]
3280    Chalet,
3281    #[serde(rename = "change_circle")]
3282    ChangeCircle,
3283    #[serde(rename = "change_history")]
3284    ChangeHistory,
3285    #[serde(rename = "charging_station")]
3286    ChargingStation,
3287    #[serde(rename = "chat")]
3288    Chat,
3289    #[serde(rename = "chat_bubble")]
3290    ChatBubble,
3291    #[serde(rename = "chat_bubble_outline")]
3292    ChatBubbleOutline,
3293    #[serde(rename = "check")]
3294    Check,
3295    #[serde(rename = "check_box")]
3296    CheckBox,
3297    #[serde(rename = "check_box_outline_blank")]
3298    CheckBoxOutlineBlank,
3299    #[serde(rename = "check_circle")]
3300    CheckCircle,
3301    #[serde(rename = "check_circle_outline")]
3302    CheckCircleOutline,
3303    #[serde(rename = "checklist")]
3304    Checklist,
3305    #[serde(rename = "checklist_rtl")]
3306    ChecklistRtl,
3307    #[serde(rename = "checkroom")]
3308    Checkroom,
3309    #[serde(rename = "chevron_left")]
3310    ChevronLeft,
3311    #[serde(rename = "chevron_right")]
3312    ChevronRight,
3313    #[serde(rename = "child_care")]
3314    ChildCare,
3315    #[serde(rename = "child_friendly")]
3316    ChildFriendly,
3317    #[serde(rename = "chrome_reader_mode")]
3318    ChromeReaderMode,
3319    #[serde(rename = "circle")]
3320    Circle,
3321    #[serde(rename = "circle_notifications")]
3322    CircleNotifications,
3323    #[serde(rename = "class_")]
3324    Class,
3325    #[serde(rename = "clean_hands")]
3326    CleanHands,
3327    #[serde(rename = "cleaning_services")]
3328    CleaningServices,
3329    #[serde(rename = "clear")]
3330    Clear,
3331    #[serde(rename = "clear_all")]
3332    ClearAll,
3333    #[serde(rename = "close")]
3334    Close,
3335    #[serde(rename = "close_fullscreen")]
3336    CloseFullscreen,
3337    #[serde(rename = "closed_caption")]
3338    ClosedCaption,
3339    #[serde(rename = "closed_caption_disabled")]
3340    ClosedCaptionDisabled,
3341    #[serde(rename = "closed_caption_off")]
3342    ClosedCaptionOff,
3343    #[serde(rename = "cloud")]
3344    Cloud,
3345    #[serde(rename = "cloud_circle")]
3346    CloudCircle,
3347    #[serde(rename = "cloud_done")]
3348    CloudDone,
3349    #[serde(rename = "cloud_download")]
3350    CloudDownload,
3351    #[serde(rename = "cloud_off")]
3352    CloudOff,
3353    #[serde(rename = "cloud_queue")]
3354    CloudQueue,
3355    #[serde(rename = "cloud_upload")]
3356    CloudUpload,
3357    #[serde(rename = "code")]
3358    Code,
3359    #[serde(rename = "code_off")]
3360    CodeOff,
3361    #[serde(rename = "coffee")]
3362    Coffee,
3363    #[serde(rename = "coffee_maker")]
3364    CoffeeMaker,
3365    #[serde(rename = "collections")]
3366    Collections,
3367    #[serde(rename = "collections_bookmark")]
3368    CollectionsBookmark,
3369    #[serde(rename = "color_lens")]
3370    ColorLens,
3371    #[serde(rename = "colorize")]
3372    Colorize,
3373    #[serde(rename = "comment")]
3374    Comment,
3375    #[serde(rename = "comment_bank")]
3376    CommentBank,
3377    #[serde(rename = "commute")]
3378    Commute,
3379    #[serde(rename = "compare")]
3380    Compare,
3381    #[serde(rename = "compare_arrows")]
3382    CompareArrows,
3383    #[serde(rename = "compass_calibration")]
3384    CompassCalibration,
3385    #[serde(rename = "compress")]
3386    Compress,
3387    #[serde(rename = "computer")]
3388    Computer,
3389    #[serde(rename = "confirmation_num")]
3390    ConfirmationNum,
3391    #[serde(rename = "confirmation_number")]
3392    ConfirmationNumber,
3393    #[serde(rename = "connect_without_contact")]
3394    ConnectWithoutContact,
3395    #[serde(rename = "connected_tv")]
3396    ConnectedTv,
3397    #[serde(rename = "construction")]
3398    Construction,
3399    #[serde(rename = "contact_mail")]
3400    ContactMail,
3401    #[serde(rename = "contact_page")]
3402    ContactPage,
3403    #[serde(rename = "contact_phone")]
3404    ContactPhone,
3405    #[serde(rename = "contact_support")]
3406    ContactSupport,
3407    #[serde(rename = "contactless")]
3408    Contactless,
3409    #[serde(rename = "contacts")]
3410    Contacts,
3411    #[serde(rename = "content_copy")]
3412    ContentCopy,
3413    #[serde(rename = "content_cut")]
3414    ContentCut,
3415    #[serde(rename = "content_paste")]
3416    ContentPaste,
3417    #[serde(rename = "content_paste_off")]
3418    ContentPasteOff,
3419    #[serde(rename = "control_camera")]
3420    ControlCamera,
3421    #[serde(rename = "control_point")]
3422    ControlPoint,
3423    #[serde(rename = "control_point_duplicate")]
3424    ControlPointDuplicate,
3425    #[serde(rename = "copy")]
3426    Copy,
3427    #[serde(rename = "copy_all")]
3428    CopyAll,
3429    #[serde(rename = "copyright")]
3430    Copyright,
3431    #[serde(rename = "coronavirus")]
3432    Coronavirus,
3433    #[serde(rename = "corporate_fare")]
3434    CorporateFare,
3435    #[serde(rename = "cottage")]
3436    Cottage,
3437    #[serde(rename = "countertops")]
3438    Countertops,
3439    #[serde(rename = "create")]
3440    Create,
3441    #[serde(rename = "create_new_folder")]
3442    CreateNewFolder,
3443    #[serde(rename = "credit_card")]
3444    CreditCard,
3445    #[serde(rename = "credit_card_off")]
3446    CreditCardOff,
3447    #[serde(rename = "credit_score")]
3448    CreditScore,
3449    #[serde(rename = "crib")]
3450    Crib,
3451    #[serde(rename = "crop")]
3452    Crop,
3453    #[serde(rename = "crop_16_9")]
3454    Crop169,
3455    #[serde(rename = "crop_3_2")]
3456    Crop32,
3457    #[serde(rename = "crop_5_4")]
3458    Crop54,
3459    #[serde(rename = "crop_7_5")]
3460    Crop75,
3461    #[serde(rename = "crop_din")]
3462    CropDin,
3463    #[serde(rename = "crop_free")]
3464    CropFree,
3465    #[serde(rename = "crop_landscape")]
3466    CropLandscape,
3467    #[serde(rename = "crop_original")]
3468    CropOriginal,
3469    #[serde(rename = "crop_portrait")]
3470    CropPortrait,
3471    #[serde(rename = "crop_rotate")]
3472    CropRotate,
3473    #[serde(rename = "crop_square")]
3474    CropSquare,
3475    #[serde(rename = "cut")]
3476    Cut,
3477    #[serde(rename = "dangerous")]
3478    Dangerous,
3479    #[serde(rename = "dark_mode")]
3480    DarkMode,
3481    #[serde(rename = "dashboard")]
3482    Dashboard,
3483    #[serde(rename = "dashboard_customize")]
3484    DashboardCustomize,
3485    #[serde(rename = "data_saver_off")]
3486    DataSaverOff,
3487    #[serde(rename = "data_saver_on")]
3488    DataSaverOn,
3489    #[serde(rename = "data_usage")]
3490    DataUsage,
3491    #[serde(rename = "date_range")]
3492    DateRange,
3493    #[serde(rename = "deck")]
3494    Deck,
3495    #[serde(rename = "dehaze")]
3496    Dehaze,
3497    #[serde(rename = "delete")]
3498    Delete,
3499    #[serde(rename = "delete_forever")]
3500    DeleteForever,
3501    #[serde(rename = "delete_outline")]
3502    DeleteOutline,
3503    #[serde(rename = "delete_sweep")]
3504    DeleteSweep,
3505    #[serde(rename = "delivery_dining")]
3506    DeliveryDining,
3507    #[serde(rename = "departure_board")]
3508    DepartureBoard,
3509    #[serde(rename = "description")]
3510    Description,
3511    #[serde(rename = "design_services")]
3512    DesignServices,
3513    #[serde(rename = "desktop_access_disabled")]
3514    DesktopAccessDisabled,
3515    #[serde(rename = "desktop_mac")]
3516    DesktopMac,
3517    #[serde(rename = "desktop_windows")]
3518    DesktopWindows,
3519    #[serde(rename = "details")]
3520    Details,
3521    #[serde(rename = "developer_board")]
3522    DeveloperBoard,
3523    #[serde(rename = "developer_board_off")]
3524    DeveloperBoardOff,
3525    #[serde(rename = "developer_mode")]
3526    DeveloperMode,
3527    #[serde(rename = "device_hub")]
3528    DeviceHub,
3529    #[serde(rename = "device_thermostat")]
3530    DeviceThermostat,
3531    #[serde(rename = "device_unknown")]
3532    DeviceUnknown,
3533    #[serde(rename = "devices")]
3534    Devices,
3535    #[serde(rename = "devices_other")]
3536    DevicesOther,
3537    #[serde(rename = "dialer_sip")]
3538    DialerSip,
3539    #[serde(rename = "dialpad")]
3540    Dialpad,
3541    #[serde(rename = "dining")]
3542    Dining,
3543    #[serde(rename = "dinner_dining")]
3544    DinnerDining,
3545    #[serde(rename = "directions")]
3546    Directions,
3547    #[serde(rename = "directions_bike")]
3548    DirectionsBike,
3549    #[serde(rename = "directions_boat")]
3550    DirectionsBoat,
3551    #[serde(rename = "directions_boat_filled")]
3552    DirectionsBoatFilled,
3553    #[serde(rename = "directions_bus")]
3554    DirectionsBus,
3555    #[serde(rename = "directions_bus_filled")]
3556    DirectionsBusFilled,
3557    #[serde(rename = "directions_car")]
3558    DirectionsCar,
3559    #[serde(rename = "directions_car_filled")]
3560    DirectionsCarFilled,
3561    #[serde(rename = "directions_ferry")]
3562    DirectionsFerry,
3563    #[serde(rename = "directions_off")]
3564    DirectionsOff,
3565    #[serde(rename = "directions_railway_filled")]
3566    DirectionsRailwayFilled,
3567    #[serde(rename = "directions_run")]
3568    DirectionsRun,
3569    #[serde(rename = "directions_railway")]
3570    DirectionsRailway,
3571    #[serde(rename = "directions_subway")]
3572    DirectionsSubway,
3573    #[serde(rename = "directions_subway_filled")]
3574    DirectionsSubwayFilled,
3575    #[serde(rename = "directions_train")]
3576    DirectionsTrain,
3577    #[serde(rename = "directions_transit")]
3578    DirectionsTransit,
3579    #[serde(rename = "directions_transit_filled")]
3580    DirectionsTransitFilled,
3581    #[serde(rename = "directions_walk")]
3582    DirectionsWalk,
3583    #[serde(rename = "dirty_lens")]
3584    DirtyLens,
3585    #[serde(rename = "disabled_by_default")]
3586    DisabledByDefault,
3587    #[serde(rename = "disc_full")]
3588    DiscFull,
3589    #[serde(rename = "dnd_forwardslash")]
3590    DndForwardslash,
3591    #[serde(rename = "dns")]
3592    Dns,
3593    #[serde(rename = "do_disturb")]
3594    DoDisturb,
3595    #[serde(rename = "do_disturb_alt")]
3596    DoDisturbAlt,
3597    #[serde(rename = "do_disturb_off")]
3598    DoDisturbOff,
3599    #[serde(rename = "do_disturb_on")]
3600    DoDisturbOn,
3601    #[serde(rename = "do_not_disturb")]
3602    DoNotDisturb,
3603    #[serde(rename = "do_not_disturb_alt")]
3604    DoNotDisturbAlt,
3605    #[serde(rename = "do_not_disturb_off")]
3606    DoNotDisturbOff,
3607    #[serde(rename = "do_not_disturb_on")]
3608    DoNotDisturbOn,
3609    #[serde(rename = "do_not_disturb_on_total_silence")]
3610    DoNotDisturbOnTotalSilence,
3611    #[serde(rename = "do_not_step")]
3612    DoNotStep,
3613    #[serde(rename = "do_not_touch")]
3614    DoNotTouch,
3615    #[serde(rename = "dock")]
3616    Dock,
3617    #[serde(rename = "document_scanner")]
3618    DocumentScanner,
3619    #[serde(rename = "domain")]
3620    Domain,
3621    #[serde(rename = "domain_disabled")]
3622    DomainDisabled,
3623    #[serde(rename = "domain_verification")]
3624    DomainVerification,
3625    #[serde(rename = "done")]
3626    Done,
3627    #[serde(rename = "done_all")]
3628    DoneAll,
3629    #[serde(rename = "done_outline")]
3630    DoneOutline,
3631    #[serde(rename = "donut_large")]
3632    DonutLarge,
3633    #[serde(rename = "donut_small")]
3634    DonutSmall,
3635    #[serde(rename = "door_back")]
3636    DoorBack,
3637    #[serde(rename = "door_front")]
3638    DoorFront,
3639    #[serde(rename = "door_sliding")]
3640    DoorSliding,
3641    #[serde(rename = "doorbell")]
3642    Doorbell,
3643    #[serde(rename = "double_arrow")]
3644    DoubleArrow,
3645    #[serde(rename = "downhill_skiing")]
3646    DownhillSkiing,
3647    #[serde(rename = "download")]
3648    Download,
3649    #[serde(rename = "download_done")]
3650    DownloadDone,
3651    #[serde(rename = "download_for_offline")]
3652    DownloadForOffline,
3653    #[serde(rename = "downloading")]
3654    Downloading,
3655    #[serde(rename = "drafts")]
3656    Drafts,
3657    #[serde(rename = "drag_handle")]
3658    DragHandle,
3659    #[serde(rename = "drag_indicator")]
3660    DragIndicator,
3661    #[serde(rename = "drive_eta")]
3662    DriveEta,
3663    #[serde(rename = "drive_file_move")]
3664    DriveFileMove,
3665    #[serde(rename = "drive_file_move_outline")]
3666    DriveFileMoveOutline,
3667    #[serde(rename = "drive_file_rename_outline")]
3668    DriveFileRenameOutline,
3669    #[serde(rename = "drive_folder_upload")]
3670    DriveFolderUpload,
3671    #[serde(rename = "dry")]
3672    Dry,
3673    #[serde(rename = "dry_cleaning")]
3674    DryCleaning,
3675    #[serde(rename = "duo")]
3676    Duo,
3677    #[serde(rename = "dvr")]
3678    Dvr,
3679    #[serde(rename = "dynamic_feed")]
3680    DynamicFeed,
3681    #[serde(rename = "dynamic_form")]
3682    DynamicForm,
3683    #[serde(rename = "e_mobiledata")]
3684    EMobiledata,
3685    #[serde(rename = "earbuds")]
3686    Earbuds,
3687    #[serde(rename = "earbuds_battery")]
3688    EarbudsBattery,
3689    #[serde(rename = "east")]
3690    East,
3691    #[serde(rename = "eco")]
3692    Eco,
3693    #[serde(rename = "edgesensor_high")]
3694    EdgesensorHigh,
3695    #[serde(rename = "edgesensor_low")]
3696    EdgesensorLow,
3697    #[serde(rename = "edit")]
3698    Edit,
3699    #[serde(rename = "edit_attributes")]
3700    EditAttributes,
3701    #[serde(rename = "edit_location")]
3702    EditLocation,
3703    #[serde(rename = "edit_location_alt")]
3704    EditLocationAlt,
3705    #[serde(rename = "edit_notifications")]
3706    EditNotifications,
3707    #[serde(rename = "edit_off")]
3708    EditOff,
3709    #[serde(rename = "edit_road")]
3710    EditRoad,
3711    #[serde(rename = "eight_k")]
3712    EightK,
3713    #[serde(rename = "eight_k_plus")]
3714    EightKPlus,
3715    #[serde(rename = "eight_mp")]
3716    EightMp,
3717    #[serde(rename = "eighteen_mp")]
3718    EighteenMp,
3719    #[serde(rename = "eject")]
3720    Eject,
3721    #[serde(rename = "elderly")]
3722    Elderly,
3723    #[serde(rename = "electric_bike")]
3724    ElectricBike,
3725    #[serde(rename = "electric_car")]
3726    ElectricCar,
3727    #[serde(rename = "electric_moped")]
3728    ElectricMoped,
3729    #[serde(rename = "electric_rickshaw")]
3730    ElectricRickshaw,
3731    #[serde(rename = "electric_scooter")]
3732    ElectricScooter,
3733    #[serde(rename = "electrical_services")]
3734    ElectricalServices,
3735    #[serde(rename = "elevator")]
3736    Elevator,
3737    #[serde(rename = "eleven_mp")]
3738    ElevenMp,
3739    #[serde(rename = "email")]
3740    Email,
3741    #[serde(rename = "emoji_emotions")]
3742    EmojiEmotions,
3743    #[serde(rename = "emoji_events")]
3744    EmojiEvents,
3745    #[serde(rename = "emoji_flags")]
3746    EmojiFlags,
3747    #[serde(rename = "emoji_food_beverage")]
3748    EmojiFoodBeverage,
3749    #[serde(rename = "emoji_nature")]
3750    EmojiNature,
3751    #[serde(rename = "emoji_objects")]
3752    EmojiObjects,
3753    #[serde(rename = "emoji_people")]
3754    EmojiPeople,
3755    #[serde(rename = "emoji_symbols")]
3756    EmojiSymbols,
3757    #[serde(rename = "emoji_transportation")]
3758    EmojiTransportation,
3759    #[serde(rename = "engineering")]
3760    Engineering,
3761    #[serde(rename = "enhance_photo_translate")]
3762    EnhancePhotoTranslate,
3763    #[serde(rename = "enhanced_encryption")]
3764    EnhancedEncryption,
3765    #[serde(rename = "equalizer")]
3766    Equalizer,
3767    #[serde(rename = "error")]
3768    Error,
3769    #[serde(rename = "error_outline")]
3770    ErrorOutline,
3771    #[serde(rename = "escalator")]
3772    Escalator,
3773    #[serde(rename = "escalator_warning")]
3774    EscalatorWarning,
3775    #[serde(rename = "euro")]
3776    Euro,
3777    #[serde(rename = "euro_symbol")]
3778    EuroSymbol,
3779    #[serde(rename = "ev_station")]
3780    EvStation,
3781    #[serde(rename = "event")]
3782    Event,
3783    #[serde(rename = "event_available")]
3784    EventAvailable,
3785    #[serde(rename = "event_busy")]
3786    EventBusy,
3787    #[serde(rename = "event_note")]
3788    EventNote,
3789    #[serde(rename = "event_seat")]
3790    EventSeat,
3791    #[serde(rename = "exit_to_app")]
3792    ExitToApp,
3793    #[serde(rename = "expand")]
3794    Expand,
3795    #[serde(rename = "expand_less")]
3796    ExpandLess,
3797    #[serde(rename = "expand_more")]
3798    ExpandMore,
3799    #[serde(rename = "explicit")]
3800    Explicit,
3801    #[serde(rename = "explore")]
3802    Explore,
3803    #[serde(rename = "explore_off")]
3804    ExploreOff,
3805    #[serde(rename = "exposure")]
3806    Exposure,
3807    #[serde(rename = "exposure_minus_1")]
3808    ExposureMinus1,
3809    #[serde(rename = "exposure_minus_2")]
3810    ExposureMinus2,
3811    #[serde(rename = "exposure_neg_1")]
3812    ExposureNeg1,
3813    #[serde(rename = "exposure_neg_2")]
3814    ExposureNeg2,
3815    #[serde(rename = "exposure_plus_1")]
3816    ExposurePlus1,
3817    #[serde(rename = "exposure_plus_2")]
3818    ExposurePlus2,
3819    #[serde(rename = "exposure_zero")]
3820    ExposureZero,
3821    #[serde(rename = "extension")]
3822    Extension,
3823    #[serde(rename = "extension_off")]
3824    ExtensionOff,
3825    #[serde(rename = "face")]
3826    Face,
3827    #[serde(rename = "face_retouching_off")]
3828    FaceRetouchingOff,
3829    #[serde(rename = "face_retouching_natural")]
3830    FaceRetouchingNatural,
3831    #[serde(rename = "facebook")]
3832    Facebook,
3833    #[serde(rename = "fact_check")]
3834    FactCheck,
3835    #[serde(rename = "family_restroom")]
3836    FamilyRestroom,
3837    #[serde(rename = "fast_forward")]
3838    FastForward,
3839    #[serde(rename = "fast_rewind")]
3840    FastRewind,
3841    #[serde(rename = "fastfood")]
3842    Fastfood,
3843    #[serde(rename = "favorite")]
3844    Favorite,
3845    #[serde(rename = "favorite_border")]
3846    FavoriteBorder,
3847    #[serde(rename = "favorite_outline")]
3848    FavoriteOutline,
3849    #[serde(rename = "featured_play_list")]
3850    FeaturedPlayList,
3851    #[serde(rename = "featured_video")]
3852    FeaturedVideo,
3853    #[serde(rename = "feed")]
3854    Feed,
3855    #[serde(rename = "feedback")]
3856    Feedback,
3857    #[serde(rename = "female")]
3858    Female,
3859    #[serde(rename = "fence")]
3860    Fence,
3861    #[serde(rename = "festival")]
3862    Festival,
3863    #[serde(rename = "fiber_dvr")]
3864    FiberDvr,
3865    #[serde(rename = "fiber_manual_record")]
3866    FiberManualRecord,
3867    #[serde(rename = "fiber_new")]
3868    FiberNew,
3869    #[serde(rename = "fiber_pin")]
3870    FiberPin,
3871    #[serde(rename = "fiber_smart_record")]
3872    FiberSmartRecord,
3873    #[serde(rename = "fifteen_mp")]
3874    FifteenMp,
3875    #[serde(rename = "file_copy")]
3876    FileCopy,
3877    #[serde(rename = "file_download")]
3878    FileDownload,
3879    #[serde(rename = "file_download_done")]
3880    FileDownloadDone,
3881    #[serde(rename = "file_download_off")]
3882    FileDownloadOff,
3883    #[serde(rename = "file_present")]
3884    FilePresent,
3885    #[serde(rename = "file_upload")]
3886    FileUpload,
3887    #[serde(rename = "filter")]
3888    Filter,
3889    #[serde(rename = "filter_1")]
3890    Filter1,
3891    #[serde(rename = "filter_2")]
3892    Filter2,
3893    #[serde(rename = "filter_3")]
3894    Filter3,
3895    #[serde(rename = "filter_4")]
3896    Filter4,
3897    #[serde(rename = "filter_5")]
3898    Filter5,
3899    #[serde(rename = "filter_6")]
3900    Filter6,
3901    #[serde(rename = "filter_7")]
3902    Filter7,
3903    #[serde(rename = "filter_8")]
3904    Filter8,
3905    #[serde(rename = "filter_9")]
3906    Filter9,
3907    #[serde(rename = "filter_9_plus")]
3908    Filter9Plus,
3909    #[serde(rename = "filter_alt")]
3910    FilterAlt,
3911    #[serde(rename = "filter_b_and_w")]
3912    FilterBAndW,
3913    #[serde(rename = "filter_center_focus")]
3914    FilterCenterFocus,
3915    #[serde(rename = "filter_drama")]
3916    FilterDrama,
3917    #[serde(rename = "filter_frames")]
3918    FilterFrames,
3919    #[serde(rename = "filter_hdr")]
3920    FilterHdr,
3921    #[serde(rename = "filter_list")]
3922    FilterList,
3923    #[serde(rename = "filter_list_alt")]
3924    FilterListAlt,
3925    #[serde(rename = "filter_none")]
3926    FilterNone,
3927    #[serde(rename = "filter_tilt_shift")]
3928    FilterTiltShift,
3929    #[serde(rename = "filter_vintage")]
3930    FilterVintage,
3931    #[serde(rename = "find_in_page")]
3932    FindInPage,
3933    #[serde(rename = "find_replace")]
3934    FindReplace,
3935    #[serde(rename = "fingerprint")]
3936    Fingerprint,
3937    #[serde(rename = "fire_extinguisher")]
3938    FireExtinguisher,
3939    #[serde(rename = "fire_hydrant")]
3940    FireHydrant,
3941    #[serde(rename = "fireplace")]
3942    Fireplace,
3943    #[serde(rename = "first_page")]
3944    FirstPage,
3945    #[serde(rename = "fit_screen")]
3946    FitScreen,
3947    #[serde(rename = "fitness_center")]
3948    FitnessCenter,
3949    #[serde(rename = "five_g")]
3950    FiveG,
3951    #[serde(rename = "five_k")]
3952    FiveK,
3953    #[serde(rename = "five_k_plus")]
3954    FiveKPlus,
3955    #[serde(rename = "five_mp")]
3956    FiveMp,
3957    #[serde(rename = "flag")]
3958    Flag,
3959    #[serde(rename = "flaky")]
3960    Flaky,
3961    #[serde(rename = "flare")]
3962    Flare,
3963    #[serde(rename = "flash_auto")]
3964    FlashAuto,
3965    #[serde(rename = "flash_off")]
3966    FlashOff,
3967    #[serde(rename = "flash_on")]
3968    FlashOn,
3969    #[serde(rename = "flashlight_off")]
3970    FlashlightOff,
3971    #[serde(rename = "flashlight_on")]
3972    FlashlightOn,
3973    #[serde(rename = "flatware")]
3974    Flatware,
3975    #[serde(rename = "flight")]
3976    Flight,
3977    #[serde(rename = "flight_land")]
3978    FlightLand,
3979    #[serde(rename = "flight_takeoff")]
3980    FlightTakeoff,
3981    #[serde(rename = "flip")]
3982    Flip,
3983    #[serde(rename = "flip_camera_android")]
3984    FlipCameraAndroid,
3985    #[serde(rename = "flip_camera_ios")]
3986    FlipCameraIos,
3987    #[serde(rename = "flip_to_back")]
3988    FlipToBack,
3989    #[serde(rename = "flip_to_front")]
3990    FlipToFront,
3991    #[serde(rename = "flourescent")]
3992    Flourescent,
3993    #[serde(rename = "flutter_dash")]
3994    FlutterDash,
3995    #[serde(rename = "fmd_bad")]
3996    FmdBad,
3997    #[serde(rename = "fmd_good")]
3998    FmdGood,
3999    #[serde(rename = "folder")]
4000    Folder,
4001    #[serde(rename = "folder_open")]
4002    FolderOpen,
4003    #[serde(rename = "folder_shared")]
4004    FolderShared,
4005    #[serde(rename = "folder_special")]
4006    FolderSpecial,
4007    #[serde(rename = "follow_the_signs")]
4008    FollowTheSigns,
4009    #[serde(rename = "font_download")]
4010    FontDownload,
4011    #[serde(rename = "font_download_off")]
4012    FontDownloadOff,
4013    #[serde(rename = "food_bank")]
4014    FoodBank,
4015    #[serde(rename = "format_align_center")]
4016    FormatAlignCenter,
4017    #[serde(rename = "format_align_justify")]
4018    FormatAlignJustify,
4019    #[serde(rename = "format_align_left")]
4020    FormatAlignLeft,
4021    #[serde(rename = "format_align_right")]
4022    FormatAlignRight,
4023    #[serde(rename = "format_bold")]
4024    FormatBold,
4025    #[serde(rename = "format_clear")]
4026    FormatClear,
4027    #[serde(rename = "format_color_fill")]
4028    FormatColorFill,
4029    #[serde(rename = "format_color_reset")]
4030    FormatColorReset,
4031    #[serde(rename = "format_color_text")]
4032    FormatColorText,
4033    #[serde(rename = "format_indent_decrease")]
4034    FormatIndentDecrease,
4035    #[serde(rename = "format_indent_increase")]
4036    FormatIndentIncrease,
4037    #[serde(rename = "format_italic")]
4038    FormatItalic,
4039    #[serde(rename = "format_line_spacing")]
4040    FormatLineSpacing,
4041    #[serde(rename = "format_list_bulleted")]
4042    FormatListBulleted,
4043    #[serde(rename = "format_list_numbered")]
4044    FormatListNumbered,
4045    #[serde(rename = "format_list_numbered_rtl")]
4046    FormatListNumberedRtl,
4047    #[serde(rename = "format_paint")]
4048    FormatPaint,
4049    #[serde(rename = "format_quote")]
4050    FormatQuote,
4051    #[serde(rename = "format_shapes")]
4052    FormatShapes,
4053    #[serde(rename = "format_size")]
4054    FormatSize,
4055    #[serde(rename = "format_strikethrough")]
4056    FormatStrikethrough,
4057    #[serde(rename = "format_textdirection_l_to_r")]
4058    FormatTextdirectionLToR,
4059    #[serde(rename = "format_textdirection_r_to_l")]
4060    FormatTextdirectionRToL,
4061    #[serde(rename = "format_underline")]
4062    FormatUnderline,
4063    #[serde(rename = "format_underlined")]
4064    FormatUnderlined,
4065    #[serde(rename = "forum")]
4066    Forum,
4067    #[serde(rename = "forward")]
4068    Forward,
4069    #[serde(rename = "forward_10")]
4070    Forward10,
4071    #[serde(rename = "forward_30")]
4072    Forward30,
4073    #[serde(rename = "forward_5")]
4074    Forward5,
4075    #[serde(rename = "forward_to_inbox")]
4076    ForwardToInbox,
4077    #[serde(rename = "foundation")]
4078    Foundation,
4079    #[serde(rename = "four_g_mobiledata")]
4080    FourGMobiledata,
4081    #[serde(rename = "four_g_plus_mobiledata")]
4082    FourGPlusMobiledata,
4083    #[serde(rename = "four_k")]
4084    FourK,
4085    #[serde(rename = "four_k_plus")]
4086    FourKPlus,
4087    #[serde(rename = "four_mp")]
4088    FourMp,
4089    #[serde(rename = "fourteen_mp")]
4090    FourteenMp,
4091    #[serde(rename = "free_breakfast")]
4092    FreeBreakfast,
4093    #[serde(rename = "fullscreen")]
4094    Fullscreen,
4095    #[serde(rename = "fullscreen_exit")]
4096    FullscreenExit,
4097    #[serde(rename = "functions")]
4098    Functions,
4099    #[serde(rename = "g_mobiledata")]
4100    GMobiledata,
4101    #[serde(rename = "g_translate")]
4102    GTranslate,
4103    #[serde(rename = "gamepad")]
4104    Gamepad,
4105    #[serde(rename = "games")]
4106    Games,
4107    #[serde(rename = "garage")]
4108    Garage,
4109    #[serde(rename = "gavel")]
4110    Gavel,
4111    #[serde(rename = "gesture")]
4112    Gesture,
4113    #[serde(rename = "get_app")]
4114    GetApp,
4115    #[serde(rename = "gif")]
4116    Gif,
4117    #[serde(rename = "gite")]
4118    Gite,
4119    #[serde(rename = "golf_course")]
4120    GolfCourse,
4121    #[serde(rename = "gpp_bad")]
4122    GppBad,
4123    #[serde(rename = "gpp_good")]
4124    GppGood,
4125    #[serde(rename = "gpp_maybe")]
4126    GppMaybe,
4127    #[serde(rename = "gps_fixed")]
4128    GpsFixed,
4129    #[serde(rename = "gps_not_fixed")]
4130    GpsNotFixed,
4131    #[serde(rename = "gps_off")]
4132    GpsOff,
4133    #[serde(rename = "grade")]
4134    Grade,
4135    #[serde(rename = "gradient")]
4136    Gradient,
4137    #[serde(rename = "grading")]
4138    Grading,
4139    #[serde(rename = "grain")]
4140    Grain,
4141    #[serde(rename = "graphic_eq")]
4142    GraphicEq,
4143    #[serde(rename = "grass")]
4144    Grass,
4145    #[serde(rename = "grid_3x3")]
4146    Grid3x3,
4147    #[serde(rename = "grid_4x4")]
4148    Grid4x4,
4149    #[serde(rename = "grid_goldenratio")]
4150    GridGoldenratio,
4151    #[serde(rename = "grid_off")]
4152    GridOff,
4153    #[serde(rename = "grid_on")]
4154    GridOn,
4155    #[serde(rename = "grid_view")]
4156    GridView,
4157    #[serde(rename = "group")]
4158    Group,
4159    #[serde(rename = "group_add")]
4160    GroupAdd,
4161    #[serde(rename = "group_work")]
4162    GroupWork,
4163    #[serde(rename = "groups")]
4164    Groups,
4165    #[serde(rename = "h_mobiledata")]
4166    HMobiledata,
4167    #[serde(rename = "h_plus_mobiledata")]
4168    HPlusMobiledata,
4169    #[serde(rename = "hail")]
4170    Hail,
4171    #[serde(rename = "handyman")]
4172    Handyman,
4173    #[serde(rename = "hardware")]
4174    Hardware,
4175    #[serde(rename = "hd")]
4176    Hd,
4177    #[serde(rename = "hdr_auto")]
4178    HdrAuto,
4179    #[serde(rename = "hdr_auto_select")]
4180    HdrAutoSelect,
4181    #[serde(rename = "hdr_enhanced_select")]
4182    HdrEnhancedSelect,
4183    #[serde(rename = "hdr_off")]
4184    HdrOff,
4185    #[serde(rename = "hdr_off_select")]
4186    HdrOffSelect,
4187    #[serde(rename = "hdr_on")]
4188    HdrOn,
4189    #[serde(rename = "hdr_on_select")]
4190    HdrOnSelect,
4191    #[serde(rename = "hdr_plus")]
4192    HdrPlus,
4193    #[serde(rename = "hdr_strong")]
4194    HdrStrong,
4195    #[serde(rename = "hdr_weak")]
4196    HdrWeak,
4197    #[serde(rename = "headphones")]
4198    Headphones,
4199    #[serde(rename = "headphones_battery")]
4200    HeadphonesBattery,
4201    #[serde(rename = "headset")]
4202    Headset,
4203    #[serde(rename = "headset_mic")]
4204    HeadsetMic,
4205    #[serde(rename = "headset_off")]
4206    HeadsetOff,
4207    #[serde(rename = "healing")]
4208    Healing,
4209    #[serde(rename = "health_and_safety")]
4210    HealthAndSafety,
4211    #[serde(rename = "hearing")]
4212    Hearing,
4213    #[serde(rename = "hearing_disabled")]
4214    HearingDisabled,
4215    #[serde(rename = "height")]
4216    Height,
4217    #[serde(rename = "help")]
4218    Help,
4219    #[serde(rename = "help_center")]
4220    HelpCenter,
4221    #[serde(rename = "help_outline")]
4222    HelpOutline,
4223    #[serde(rename = "hevc")]
4224    Hevc,
4225    #[serde(rename = "hide_image")]
4226    HideImage,
4227    #[serde(rename = "hide_source")]
4228    HideSource,
4229    #[serde(rename = "high_quality")]
4230    HighQuality,
4231    #[serde(rename = "highlight")]
4232    Highlight,
4233    #[serde(rename = "highlight_alt")]
4234    HighlightAlt,
4235    #[serde(rename = "highlight_off")]
4236    HighlightOff,
4237    #[serde(rename = "highlight_remove")]
4238    HighlightRemove,
4239    #[serde(rename = "hiking")]
4240    Hiking,
4241    #[serde(rename = "history")]
4242    History,
4243    #[serde(rename = "history_edu")]
4244    HistoryEdu,
4245    #[serde(rename = "history_toggle_off")]
4246    HistoryToggleOff,
4247    #[serde(rename = "holiday_village")]
4248    HolidayVillage,
4249    #[serde(rename = "home")]
4250    Home,
4251    #[serde(rename = "home_filled")]
4252    HomeFilled,
4253    #[serde(rename = "home_max")]
4254    HomeMax,
4255    #[serde(rename = "home_mini")]
4256    HomeMini,
4257    #[serde(rename = "home_repair_service")]
4258    HomeRepairService,
4259    #[serde(rename = "home_work")]
4260    HomeWork,
4261    #[serde(rename = "horizontal_distribute")]
4262    HorizontalDistribute,
4263    #[serde(rename = "horizontal_rule")]
4264    HorizontalRule,
4265    #[serde(rename = "horizontal_split")]
4266    HorizontalSplit,
4267    #[serde(rename = "hot_tub")]
4268    HotTub,
4269    #[serde(rename = "hotel")]
4270    Hotel,
4271    #[serde(rename = "hourglass_bottom")]
4272    HourglassBottom,
4273    #[serde(rename = "hourglass_disabled")]
4274    HourglassDisabled,
4275    #[serde(rename = "hourglass_empty")]
4276    HourglassEmpty,
4277    #[serde(rename = "hourglass_full")]
4278    HourglassFull,
4279    #[serde(rename = "hourglass_top")]
4280    HourglassTop,
4281    #[serde(rename = "house")]
4282    House,
4283    #[serde(rename = "house_siding")]
4284    HouseSiding,
4285    #[serde(rename = "houseboat")]
4286    Houseboat,
4287    #[serde(rename = "how_to_reg")]
4288    HowToReg,
4289    #[serde(rename = "how_to_vote")]
4290    HowToVote,
4291    #[serde(rename = "http")]
4292    Http,
4293    #[serde(rename = "https")]
4294    Https,
4295    #[serde(rename = "hvac")]
4296    Hvac,
4297    #[serde(rename = "ice_skating")]
4298    IceSkating,
4299    #[serde(rename = "icecream")]
4300    Icecream,
4301    #[serde(rename = "image")]
4302    Image,
4303    #[serde(rename = "image_aspect_ratio")]
4304    ImageAspectRatio,
4305    #[serde(rename = "image_not_supported")]
4306    ImageNotSupported,
4307    #[serde(rename = "image_search")]
4308    ImageSearch,
4309    #[serde(rename = "imagesearch_roller")]
4310    ImagesearchRoller,
4311    #[serde(rename = "import_contacts")]
4312    ImportContacts,
4313    #[serde(rename = "import_export")]
4314    ImportExport,
4315    #[serde(rename = "important_devices")]
4316    ImportantDevices,
4317    #[serde(rename = "inbox")]
4318    Inbox,
4319    #[serde(rename = "indeterminate_check_box")]
4320    IndeterminateCheckBox,
4321    #[serde(rename = "info")]
4322    Info,
4323    #[serde(rename = "info_outline")]
4324    InfoOutline,
4325    #[serde(rename = "input")]
4326    Input,
4327    #[serde(rename = "insert_chart")]
4328    InsertChart,
4329    #[serde(rename = "insert_comment")]
4330    InsertComment,
4331    #[serde(rename = "insert_drive_file")]
4332    InsertDriveFile,
4333    #[serde(rename = "insert_emoticon")]
4334    InsertEmoticon,
4335    #[serde(rename = "insert_invitation")]
4336    InsertInvitation,
4337    #[serde(rename = "insert_link")]
4338    InsertLink,
4339    #[serde(rename = "insert_photo")]
4340    InsertPhoto,
4341    #[serde(rename = "insights")]
4342    Insights,
4343    #[serde(rename = "integration_instructions")]
4344    IntegrationInstructions,
4345    #[serde(rename = "inventory")]
4346    Inventory,
4347    #[serde(rename = "inventory_2")]
4348    Inventory2,
4349    #[serde(rename = "invert_colors")]
4350    InvertColors,
4351    #[serde(rename = "invert_colors_off")]
4352    InvertColorsOff,
4353    #[serde(rename = "invert_colors_on")]
4354    InvertColorsOn,
4355    #[serde(rename = "ios_share")]
4356    IosShare,
4357    #[serde(rename = "iron")]
4358    Iron,
4359    #[serde(rename = "iso")]
4360    Iso,
4361    #[serde(rename = "kayaking")]
4362    Kayaking,
4363    #[serde(rename = "keyboard")]
4364    Keyboard,
4365    #[serde(rename = "keyboard_alt")]
4366    KeyboardAlt,
4367    #[serde(rename = "keyboard_arrow_down")]
4368    KeyboardArrowDown,
4369    #[serde(rename = "keyboard_arrow_left")]
4370    KeyboardArrowLeft,
4371    #[serde(rename = "keyboard_arrow_right")]
4372    KeyboardArrowRight,
4373    #[serde(rename = "keyboard_arrow_up")]
4374    KeyboardArrowUp,
4375    #[serde(rename = "keyboard_backspace")]
4376    KeyboardBackspace,
4377    #[serde(rename = "keyboard_capslock")]
4378    KeyboardCapslock,
4379    #[serde(rename = "keyboard_control")]
4380    KeyboardControl,
4381    #[serde(rename = "keyboard_hide")]
4382    KeyboardHide,
4383    #[serde(rename = "keyboard_return")]
4384    KeyboardReturn,
4385    #[serde(rename = "keyboard_tab")]
4386    KeyboardTab,
4387    #[serde(rename = "keyboard_voice")]
4388    KeyboardVoice,
4389    #[serde(rename = "king_bed")]
4390    KingBed,
4391    #[serde(rename = "kitchen")]
4392    Kitchen,
4393    #[serde(rename = "kitesurfing")]
4394    Kitesurfing,
4395    #[serde(rename = "label")]
4396    Label,
4397    #[serde(rename = "label_important")]
4398    LabelImportant,
4399    #[serde(rename = "label_important_outline")]
4400    LabelImportantOutline,
4401    #[serde(rename = "label_off")]
4402    LabelOff,
4403    #[serde(rename = "label_outline")]
4404    LabelOutline,
4405    #[serde(rename = "landscape")]
4406    Landscape,
4407    #[serde(rename = "language")]
4408    Language,
4409    #[serde(rename = "laptop")]
4410    Laptop,
4411    #[serde(rename = "laptop_chromebook")]
4412    LaptopChromebook,
4413    #[serde(rename = "laptop_mac")]
4414    LaptopMac,
4415    #[serde(rename = "laptop_windows")]
4416    LaptopWindows,
4417    #[serde(rename = "last_page")]
4418    LastPage,
4419    #[serde(rename = "launch")]
4420    Launch,
4421    #[serde(rename = "layers")]
4422    Layers,
4423    #[serde(rename = "layers_clear")]
4424    LayersClear,
4425    #[serde(rename = "leaderboard")]
4426    Leaderboard,
4427    #[serde(rename = "leak_add")]
4428    LeakAdd,
4429    #[serde(rename = "leak_remove")]
4430    LeakRemove,
4431    #[serde(rename = "leave_bags_at_home")]
4432    LeaveBagsAtHome,
4433    #[serde(rename = "legend_toggle")]
4434    LegendToggle,
4435    #[serde(rename = "lens")]
4436    Lens,
4437    #[serde(rename = "lens_blur")]
4438    LensBlur,
4439    #[serde(rename = "library_add")]
4440    LibraryAdd,
4441    #[serde(rename = "library_add_check")]
4442    LibraryAddCheck,
4443    #[serde(rename = "library_books")]
4444    LibraryBooks,
4445    #[serde(rename = "library_music")]
4446    LibraryMusic,
4447    #[serde(rename = "light")]
4448    Light,
4449    #[serde(rename = "light_mode")]
4450    LightMode,
4451    #[serde(rename = "lightbulb")]
4452    Lightbulb,
4453    #[serde(rename = "lightbulb_outline")]
4454    LightbulbOutline,
4455    #[serde(rename = "line_style")]
4456    LineStyle,
4457    #[serde(rename = "line_weight")]
4458    LineWeight,
4459    #[serde(rename = "linear_scale")]
4460    LinearScale,
4461    #[serde(rename = "link")]
4462    Link,
4463    #[serde(rename = "link_off")]
4464    LinkOff,
4465    #[serde(rename = "linked_camera")]
4466    LinkedCamera,
4467    #[serde(rename = "liquor")]
4468    Liquor,
4469    #[serde(rename = "list")]
4470    List,
4471    #[serde(rename = "list_alt")]
4472    ListAlt,
4473    #[serde(rename = "live_help")]
4474    LiveHelp,
4475    #[serde(rename = "live_tv")]
4476    LiveTv,
4477    #[serde(rename = "living")]
4478    Living,
4479    #[serde(rename = "local_activity")]
4480    LocalActivity,
4481    #[serde(rename = "local_airport")]
4482    LocalAirport,
4483    #[serde(rename = "local_atm")]
4484    LocalAtm,
4485    #[serde(rename = "local_attraction")]
4486    LocalAttraction,
4487    #[serde(rename = "local_bar")]
4488    LocalBar,
4489    #[serde(rename = "local_cafe")]
4490    LocalCafe,
4491    #[serde(rename = "local_car_wash")]
4492    LocalCarWash,
4493    #[serde(rename = "local_convenience_store")]
4494    LocalConvenienceStore,
4495    #[serde(rename = "local_dining")]
4496    LocalDining,
4497    #[serde(rename = "local_drink")]
4498    LocalDrink,
4499    #[serde(rename = "local_fire_department")]
4500    LocalFireDepartment,
4501    #[serde(rename = "local_florist")]
4502    LocalFlorist,
4503    #[serde(rename = "local_gas_station")]
4504    LocalGasStation,
4505    #[serde(rename = "local_grocery_store")]
4506    LocalGroceryStore,
4507    #[serde(rename = "local_hospital")]
4508    LocalHospital,
4509    #[serde(rename = "local_hotel")]
4510    LocalHotel,
4511    #[serde(rename = "local_laundry_service")]
4512    LocalLaundryService,
4513    #[serde(rename = "local_library")]
4514    LocalLibrary,
4515    #[serde(rename = "local_mall")]
4516    LocalMall,
4517    #[serde(rename = "local_movies")]
4518    LocalMovies,
4519    #[serde(rename = "local_offer")]
4520    LocalOffer,
4521    #[serde(rename = "local_parking")]
4522    LocalParking,
4523    #[serde(rename = "local_pharmacy")]
4524    LocalPharmacy,
4525    #[serde(rename = "local_phone")]
4526    LocalPhone,
4527    #[serde(rename = "local_pizza")]
4528    LocalPizza,
4529    #[serde(rename = "local_play")]
4530    LocalPlay,
4531    #[serde(rename = "local_police")]
4532    LocalPolice,
4533    #[serde(rename = "local_post_office")]
4534    LocalPostOffice,
4535    #[serde(rename = "local_print_shop")]
4536    LocalPrintShop,
4537    #[serde(rename = "local_printshop")]
4538    LocalPrintshop,
4539    #[serde(rename = "local_restaurant")]
4540    LocalRestaurant,
4541    #[serde(rename = "local_see")]
4542    LocalSee,
4543    #[serde(rename = "local_shipping")]
4544    LocalShipping,
4545    #[serde(rename = "local_taxi")]
4546    LocalTaxi,
4547    #[serde(rename = "location_city")]
4548    LocationCity,
4549    #[serde(rename = "location_disabled")]
4550    LocationDisabled,
4551    #[serde(rename = "location_history")]
4552    LocationHistory,
4553    #[serde(rename = "location_off")]
4554    LocationOff,
4555    #[serde(rename = "location_on")]
4556    LocationOn,
4557    #[serde(rename = "location_pin")]
4558    LocationPin,
4559    #[serde(rename = "location_searching")]
4560    LocationSearching,
4561    #[serde(rename = "lock")]
4562    Lock,
4563    #[serde(rename = "lock_clock")]
4564    LockClock,
4565    #[serde(rename = "lock_open")]
4566    LockOpen,
4567    #[serde(rename = "lock_outline")]
4568    LockOutline,
4569    #[serde(rename = "login")]
4570    Login,
4571    #[serde(rename = "logout")]
4572    Logout,
4573    #[serde(rename = "looks")]
4574    Looks,
4575    #[serde(rename = "looks_3")]
4576    Looks3,
4577    #[serde(rename = "looks_4")]
4578    Looks4,
4579    #[serde(rename = "looks_5")]
4580    Looks5,
4581    #[serde(rename = "looks_6")]
4582    Looks6,
4583    #[serde(rename = "looks_one")]
4584    LooksOne,
4585    #[serde(rename = "looks_two")]
4586    LooksTwo,
4587    #[serde(rename = "loop")]
4588    Loop,
4589    #[serde(rename = "loupe")]
4590    Loupe,
4591    #[serde(rename = "low_priority")]
4592    LowPriority,
4593    #[serde(rename = "loyalty")]
4594    Loyalty,
4595    #[serde(rename = "lte_mobiledata")]
4596    LteMobiledata,
4597    #[serde(rename = "lte_plus_mobiledata")]
4598    LtePlusMobiledata,
4599    #[serde(rename = "luggage")]
4600    Luggage,
4601    #[serde(rename = "lunch_dining")]
4602    LunchDining,
4603    #[serde(rename = "mail")]
4604    Mail,
4605    #[serde(rename = "mail_outline")]
4606    MailOutline,
4607    #[serde(rename = "male")]
4608    Male,
4609    #[serde(rename = "manage_accounts")]
4610    ManageAccounts,
4611    #[serde(rename = "manage_search")]
4612    ManageSearch,
4613    #[serde(rename = "map")]
4614    Map,
4615    #[serde(rename = "maps_home_work")]
4616    MapsHomeWork,
4617    #[serde(rename = "maps_ugc")]
4618    MapsUgc,
4619    #[serde(rename = "margin")]
4620    Margin,
4621    #[serde(rename = "mark_as_unread")]
4622    MarkAsUnread,
4623    #[serde(rename = "mark_chat_read")]
4624    MarkChatRead,
4625    #[serde(rename = "mark_chat_unread")]
4626    MarkChatUnread,
4627    #[serde(rename = "mark_email_read")]
4628    MarkEmailRead,
4629    #[serde(rename = "mark_email_unread")]
4630    MarkEmailUnread,
4631    #[serde(rename = "markunread")]
4632    Markunread,
4633    #[serde(rename = "markunread_mailbox")]
4634    MarkunreadMailbox,
4635    #[serde(rename = "masks")]
4636    Masks,
4637    #[serde(rename = "maximize")]
4638    Maximize,
4639    #[serde(rename = "media_bluetooth_off")]
4640    MediaBluetoothOff,
4641    #[serde(rename = "media_bluetooth_on")]
4642    MediaBluetoothOn,
4643    #[serde(rename = "mediation")]
4644    Mediation,
4645    #[serde(rename = "medical_services")]
4646    MedicalServices,
4647    #[serde(rename = "medication")]
4648    Medication,
4649    #[serde(rename = "meeting_room")]
4650    MeetingRoom,
4651    #[serde(rename = "memory")]
4652    Memory,
4653    #[serde(rename = "menu")]
4654    Menu,
4655    #[serde(rename = "menu_book")]
4656    MenuBook,
4657    #[serde(rename = "menu_open")]
4658    MenuOpen,
4659    #[serde(rename = "merge_type")]
4660    MergeType,
4661    #[serde(rename = "message")]
4662    Message,
4663    #[serde(rename = "messenger")]
4664    Messenger,
4665    #[serde(rename = "messenger_outline")]
4666    MessengerOutline,
4667    #[serde(rename = "mic")]
4668    Mic,
4669    #[serde(rename = "mic_external_off")]
4670    MicExternalOff,
4671    #[serde(rename = "mic_external_on")]
4672    MicExternalOn,
4673    #[serde(rename = "mic_none")]
4674    MicNone,
4675    #[serde(rename = "mic_off")]
4676    MicOff,
4677    #[serde(rename = "microwave")]
4678    Microwave,
4679    #[serde(rename = "military_tech")]
4680    MilitaryTech,
4681    #[serde(rename = "minimize")]
4682    Minimize,
4683    #[serde(rename = "miscellaneous_services")]
4684    MiscellaneousServices,
4685    #[serde(rename = "missed_video_call")]
4686    MissedVideoCall,
4687    #[serde(rename = "mms")]
4688    Mms,
4689    #[serde(rename = "mobile_friendly")]
4690    MobileFriendly,
4691    #[serde(rename = "mobile_off")]
4692    MobileOff,
4693    #[serde(rename = "mobile_screen_share")]
4694    MobileScreenShare,
4695    #[serde(rename = "mobiledata_off")]
4696    MobiledataOff,
4697    #[serde(rename = "mode")]
4698    Mode,
4699    #[serde(rename = "mode_comment")]
4700    ModeComment,
4701    #[serde(rename = "mode_edit")]
4702    ModeEdit,
4703    #[serde(rename = "mode_edit_outline")]
4704    ModeEditOutline,
4705    #[serde(rename = "mode_night")]
4706    ModeNight,
4707    #[serde(rename = "mode_standby")]
4708    ModeStandby,
4709    #[serde(rename = "model_training")]
4710    ModelTraining,
4711    #[serde(rename = "monetization_on")]
4712    MonetizationOn,
4713    #[serde(rename = "money")]
4714    Money,
4715    #[serde(rename = "money_off")]
4716    MoneyOff,
4717    #[serde(rename = "money_off_csred")]
4718    MoneyOffCsred,
4719    #[serde(rename = "monitor")]
4720    Monitor,
4721    #[serde(rename = "monitor_weight")]
4722    MonitorWeight,
4723    #[serde(rename = "monochrome_photos")]
4724    MonochromePhotos,
4725    #[serde(rename = "mood")]
4726    Mood,
4727    #[serde(rename = "mood_bad")]
4728    MoodBad,
4729    #[serde(rename = "moped")]
4730    Moped,
4731    #[serde(rename = "more")]
4732    More,
4733    #[serde(rename = "more_horiz")]
4734    MoreHoriz,
4735    #[serde(rename = "more_time")]
4736    MoreTime,
4737    #[serde(rename = "more_vert")]
4738    MoreVert,
4739    #[serde(rename = "motion_photos_auto")]
4740    MotionPhotosAuto,
4741    #[serde(rename = "motion_photos_off")]
4742    MotionPhotosOff,
4743    #[serde(rename = "motion_photos_on")]
4744    MotionPhotosOn,
4745    #[serde(rename = "motion_photos_pause")]
4746    MotionPhotosPause,
4747    #[serde(rename = "motion_photos_paused")]
4748    MotionPhotosPaused,
4749    #[serde(rename = "motorcycle")]
4750    Motorcycle,
4751    #[serde(rename = "mouse")]
4752    Mouse,
4753    #[serde(rename = "move_to_inbox")]
4754    MoveToInbox,
4755    #[serde(rename = "movie")]
4756    Movie,
4757    #[serde(rename = "movie_creation")]
4758    MovieCreation,
4759    #[serde(rename = "movie_filter")]
4760    MovieFilter,
4761    #[serde(rename = "moving")]
4762    Moving,
4763    #[serde(rename = "mp")]
4764    Mp,
4765    #[serde(rename = "multiline_chart")]
4766    MultilineChart,
4767    #[serde(rename = "multiple_stop")]
4768    MultipleStop,
4769    #[serde(rename = "multitrack_audio")]
4770    MultitrackAudio,
4771    #[serde(rename = "museum")]
4772    Museum,
4773    #[serde(rename = "music_note")]
4774    MusicNote,
4775    #[serde(rename = "music_off")]
4776    MusicOff,
4777    #[serde(rename = "music_video")]
4778    MusicVideo,
4779    #[serde(rename = "my_library_add")]
4780    MyLibraryAdd,
4781    #[serde(rename = "my_library_books")]
4782    MyLibraryBooks,
4783    #[serde(rename = "my_library_music")]
4784    MyLibraryMusic,
4785    #[serde(rename = "my_location")]
4786    MyLocation,
4787    #[serde(rename = "nat")]
4788    Nat,
4789    #[serde(rename = "nature")]
4790    Nature,
4791    #[serde(rename = "nature_people")]
4792    NaturePeople,
4793    #[serde(rename = "navigate_before")]
4794    NavigateBefore,
4795    #[serde(rename = "navigate_next")]
4796    NavigateNext,
4797    #[serde(rename = "navigation")]
4798    Navigation,
4799    #[serde(rename = "near_me")]
4800    NearMe,
4801    #[serde(rename = "near_me_disabled")]
4802    NearMeDisabled,
4803    #[serde(rename = "nearby_error")]
4804    NearbyError,
4805    #[serde(rename = "nearby_off")]
4806    NearbyOff,
4807    #[serde(rename = "network_cell")]
4808    NetworkCell,
4809    #[serde(rename = "network_check")]
4810    NetworkCheck,
4811    #[serde(rename = "network_locked")]
4812    NetworkLocked,
4813    #[serde(rename = "network_wifi")]
4814    NetworkWifi,
4815    #[serde(rename = "new_label")]
4816    NewLabel,
4817    #[serde(rename = "new_releases")]
4818    NewReleases,
4819    #[serde(rename = "next_plan")]
4820    NextPlan,
4821    #[serde(rename = "next_week")]
4822    NextWeek,
4823    #[serde(rename = "nfc")]
4824    Nfc,
4825    #[serde(rename = "night_shelter")]
4826    NightShelter,
4827    #[serde(rename = "nightlife")]
4828    Nightlife,
4829    #[serde(rename = "nightlight")]
4830    Nightlight,
4831    #[serde(rename = "nightlight_round")]
4832    NightlightRound,
4833    #[serde(rename = "nights_stay")]
4834    NightsStay,
4835    #[serde(rename = "nine_k")]
4836    NineK,
4837    #[serde(rename = "nine_k_plus")]
4838    NineKPlus,
4839    #[serde(rename = "nine_mp")]
4840    NineMp,
4841    #[serde(rename = "nineteen_mp")]
4842    NineteenMp,
4843    #[serde(rename = "no_accounts")]
4844    NoAccounts,
4845    #[serde(rename = "no_backpack")]
4846    NoBackpack,
4847    #[serde(rename = "no_cell")]
4848    NoCell,
4849    #[serde(rename = "no_drinks")]
4850    NoDrinks,
4851    #[serde(rename = "no_encryption")]
4852    NoEncryption,
4853    #[serde(rename = "no_encryption_gmailerrorred")]
4854    NoEncryptionGmailerrorred,
4855    #[serde(rename = "no_flash")]
4856    NoFlash,
4857    #[serde(rename = "no_food")]
4858    NoFood,
4859    #[serde(rename = "no_luggage")]
4860    NoLuggage,
4861    #[serde(rename = "no_meals")]
4862    NoMeals,
4863    #[serde(rename = "no_meals_ouline")]
4864    NoMealsOuline,
4865    #[serde(rename = "no_meeting_room")]
4866    NoMeetingRoom,
4867    #[serde(rename = "no_photography")]
4868    NoPhotography,
4869    #[serde(rename = "no_sim")]
4870    NoSim,
4871    #[serde(rename = "no_stroller")]
4872    NoStroller,
4873    #[serde(rename = "no_transfer")]
4874    NoTransfer,
4875    #[serde(rename = "nordic_walking")]
4876    NordicWalking,
4877    #[serde(rename = "north")]
4878    North,
4879    #[serde(rename = "north_east")]
4880    NorthEast,
4881    #[serde(rename = "north_west")]
4882    NorthWest,
4883    #[serde(rename = "not_accessible")]
4884    NotAccessible,
4885    #[serde(rename = "not_interested")]
4886    NotInterested,
4887    #[serde(rename = "not_listed_location")]
4888    NotListedLocation,
4889    #[serde(rename = "not_started")]
4890    NotStarted,
4891    #[serde(rename = "note")]
4892    Note,
4893    #[serde(rename = "note_add")]
4894    NoteAdd,
4895    #[serde(rename = "note_alt")]
4896    NoteAlt,
4897    #[serde(rename = "notes")]
4898    Notes,
4899    #[serde(rename = "notification_add")]
4900    NotificationAdd,
4901    #[serde(rename = "notification_important")]
4902    NotificationImportant,
4903    #[serde(rename = "notifications")]
4904    Notifications,
4905    #[serde(rename = "notifications_active")]
4906    NotificationsActive,
4907    #[serde(rename = "notifications_none")]
4908    NotificationsNone,
4909    #[serde(rename = "notifications_off")]
4910    NotificationsOff,
4911    #[serde(rename = "notifications_on")]
4912    NotificationsOn,
4913    #[serde(rename = "notifications_paused")]
4914    NotificationsPaused,
4915    #[serde(rename = "now_wallpaper")]
4916    NowWallpaper,
4917    #[serde(rename = "now_widgets")]
4918    NowWidgets,
4919    #[serde(rename = "offline_bolt")]
4920    OfflineBolt,
4921    #[serde(rename = "offline_pin")]
4922    OfflinePin,
4923    #[serde(rename = "offline_share")]
4924    OfflineShare,
4925    #[serde(rename = "ondemand_video")]
4926    OndemandVideo,
4927    #[serde(rename = "one_k")]
4928    OneK,
4929    #[serde(rename = "one_k_plus")]
4930    OneKPlus,
4931    #[serde(rename = "one_x_mobiledata")]
4932    OneXMobiledata,
4933    #[serde(rename = "online_prediction")]
4934    OnlinePrediction,
4935    #[serde(rename = "opacity")]
4936    Opacity,
4937    #[serde(rename = "open_in_browser")]
4938    OpenInBrowser,
4939    #[serde(rename = "open_in_full")]
4940    OpenInFull,
4941    #[serde(rename = "open_in_new")]
4942    OpenInNew,
4943    #[serde(rename = "open_in_new_off")]
4944    OpenInNewOff,
4945    #[serde(rename = "open_with")]
4946    OpenWith,
4947    #[serde(rename = "other_houses")]
4948    OtherHouses,
4949    #[serde(rename = "outbond")]
4950    Outbond,
4951    #[serde(rename = "outbound")]
4952    Outbound,
4953    #[serde(rename = "outbox")]
4954    Outbox,
4955    #[serde(rename = "outdoor_grill")]
4956    OutdoorGrill,
4957    #[serde(rename = "outgoing_mail")]
4958    OutgoingMail,
4959    #[serde(rename = "outlet")]
4960    Outlet,
4961    #[serde(rename = "outlined_flag")]
4962    OutlinedFlag,
4963    #[serde(rename = "padding")]
4964    Padding,
4965    #[serde(rename = "pages")]
4966    Pages,
4967    #[serde(rename = "pageview")]
4968    Pageview,
4969    #[serde(rename = "paid")]
4970    Paid,
4971    #[serde(rename = "palette")]
4972    Palette,
4973    #[serde(rename = "pan_tool")]
4974    PanTool,
4975    #[serde(rename = "panorama")]
4976    Panorama,
4977    #[serde(rename = "panorama_fish_eye")]
4978    PanoramaFishEye,
4979    #[serde(rename = "panorama_fisheye")]
4980    PanoramaFisheye,
4981    #[serde(rename = "panorama_horizontal")]
4982    PanoramaHorizontal,
4983    #[serde(rename = "panorama_horizontal_select")]
4984    PanoramaHorizontalSelect,
4985    #[serde(rename = "panorama_photosphere")]
4986    PanoramaPhotosphere,
4987    #[serde(rename = "panorama_photosphere_select")]
4988    PanoramaPhotosphereSelect,
4989    #[serde(rename = "panorama_vertical")]
4990    PanoramaVertical,
4991    #[serde(rename = "panorama_vertical_select")]
4992    PanoramaVerticalSelect,
4993    #[serde(rename = "panorama_wide_angle")]
4994    PanoramaWideAngle,
4995    #[serde(rename = "panorama_wide_angle_select")]
4996    PanoramaWideAngleSelect,
4997    #[serde(rename = "paragliding")]
4998    Paragliding,
4999    #[serde(rename = "park")]
5000    Park,
5001    #[serde(rename = "party_mode")]
5002    PartyMode,
5003    #[serde(rename = "password")]
5004    Password,
5005    #[serde(rename = "paste")]
5006    Paste,
5007    #[serde(rename = "pattern")]
5008    Pattern,
5009    #[serde(rename = "pause")]
5010    Pause,
5011    #[serde(rename = "pause_circle")]
5012    PauseCircle,
5013    #[serde(rename = "pause_circle_filled")]
5014    PauseCircleFilled,
5015    #[serde(rename = "pause_circle_outline")]
5016    PauseCircleOutline,
5017    #[serde(rename = "pause_presentation")]
5018    PausePresentation,
5019    #[serde(rename = "payment")]
5020    Payment,
5021    #[serde(rename = "payments")]
5022    Payments,
5023    #[serde(rename = "pedal_bike")]
5024    PedalBike,
5025    #[serde(rename = "pending")]
5026    Pending,
5027    #[serde(rename = "pending_actions")]
5028    PendingActions,
5029    #[serde(rename = "people")]
5030    People,
5031    #[serde(rename = "people_alt")]
5032    PeopleAlt,
5033    #[serde(rename = "people_outline")]
5034    PeopleOutline,
5035    #[serde(rename = "perm_camera_mic")]
5036    PermCameraMic,
5037    #[serde(rename = "perm_contact_cal")]
5038    PermContactCal,
5039    #[serde(rename = "perm_contact_calendar")]
5040    PermContactCalendar,
5041    #[serde(rename = "perm_data_setting")]
5042    PermDataSetting,
5043    #[serde(rename = "perm_device_info")]
5044    PermDeviceInfo,
5045    #[serde(rename = "perm_device_information")]
5046    PermDeviceInformation,
5047    #[serde(rename = "perm_identity")]
5048    PermIdentity,
5049    #[serde(rename = "perm_media")]
5050    PermMedia,
5051    #[serde(rename = "perm_phone_msg")]
5052    PermPhoneMsg,
5053    #[serde(rename = "perm_scan_wifi")]
5054    PermScanWifi,
5055    #[serde(rename = "person")]
5056    Person,
5057    #[serde(rename = "person_add")]
5058    PersonAdd,
5059    #[serde(rename = "person_add_alt")]
5060    PersonAddAlt,
5061    #[serde(rename = "person_add_alt_1")]
5062    PersonAddAlt1,
5063    #[serde(rename = "person_add_disabled")]
5064    PersonAddDisabled,
5065    #[serde(rename = "person_off")]
5066    PersonOff,
5067    #[serde(rename = "person_outline")]
5068    PersonOutline,
5069    #[serde(rename = "person_pin")]
5070    PersonPin,
5071    #[serde(rename = "person_pin_circle")]
5072    PersonPinCircle,
5073    #[serde(rename = "person_remove")]
5074    PersonRemove,
5075    #[serde(rename = "person_remove_alt_1")]
5076    PersonRemoveAlt1,
5077    #[serde(rename = "person_search")]
5078    PersonSearch,
5079    #[serde(rename = "personal_injury")]
5080    PersonalInjury,
5081    #[serde(rename = "personal_video")]
5082    PersonalVideo,
5083    #[serde(rename = "pest_control")]
5084    PestControl,
5085    #[serde(rename = "pest_control_rodent")]
5086    PestControlRodent,
5087    #[serde(rename = "pets")]
5088    Pets,
5089    #[serde(rename = "phone")]
5090    Phone,
5091    #[serde(rename = "phone_android")]
5092    PhoneAndroid,
5093    #[serde(rename = "phone_bluetooth_speaker")]
5094    PhoneBluetoothSpeaker,
5095    #[serde(rename = "phone_callback")]
5096    PhoneCallback,
5097    #[serde(rename = "phone_disabled")]
5098    PhoneDisabled,
5099    #[serde(rename = "phone_enabled")]
5100    PhoneEnabled,
5101    #[serde(rename = "phone_forwarded")]
5102    PhoneForwarded,
5103    #[serde(rename = "phone_in_talk")]
5104    PhoneInTalk,
5105    #[serde(rename = "phone_iphone")]
5106    PhoneIphone,
5107    #[serde(rename = "phone_locked")]
5108    PhoneLocked,
5109    #[serde(rename = "phone_missed")]
5110    PhoneMissed,
5111    #[serde(rename = "phone_paused")]
5112    PhonePaused,
5113    #[serde(rename = "phonelink")]
5114    Phonelink,
5115    #[serde(rename = "phonelink_erase")]
5116    PhonelinkErase,
5117    #[serde(rename = "phonelink_lock")]
5118    PhonelinkLock,
5119    #[serde(rename = "phonelink_off")]
5120    PhonelinkOff,
5121    #[serde(rename = "phonelink_ring")]
5122    PhonelinkRing,
5123    #[serde(rename = "phonelink_setup")]
5124    PhonelinkSetup,
5125    #[serde(rename = "photo")]
5126    Photo,
5127    #[serde(rename = "photo_album")]
5128    PhotoAlbum,
5129    #[serde(rename = "photo_camera")]
5130    PhotoCamera,
5131    #[serde(rename = "photo_camera_back")]
5132    PhotoCameraBack,
5133    #[serde(rename = "photo_camera_front")]
5134    PhotoCameraFront,
5135    #[serde(rename = "photo_filter")]
5136    PhotoFilter,
5137    #[serde(rename = "photo_library")]
5138    PhotoLibrary,
5139    #[serde(rename = "photo_size_select_actual")]
5140    PhotoSizeSelectActual,
5141    #[serde(rename = "photo_size_select_large")]
5142    PhotoSizeSelectLarge,
5143    #[serde(rename = "photo_size_select_small")]
5144    PhotoSizeSelectSmall,
5145    #[serde(rename = "piano")]
5146    Piano,
5147    #[serde(rename = "piano_off")]
5148    PianoOff,
5149    #[serde(rename = "picture_as_pdf")]
5150    PictureAsPdf,
5151    #[serde(rename = "picture_in_picture")]
5152    PictureInPicture,
5153    #[serde(rename = "picture_in_picture_alt")]
5154    PictureInPictureAlt,
5155    #[serde(rename = "pie_chart")]
5156    PieChart,
5157    #[serde(rename = "pie_chart_outline")]
5158    PieChartOutline,
5159    #[serde(rename = "pin")]
5160    Pin,
5161    #[serde(rename = "pin_drop")]
5162    PinDrop,
5163    #[serde(rename = "pivot_table_chart")]
5164    PivotTableChart,
5165    #[serde(rename = "place")]
5166    Place,
5167    #[serde(rename = "plagiarism")]
5168    Plagiarism,
5169    #[serde(rename = "play_arrow")]
5170    PlayArrow,
5171    #[serde(rename = "play_circle")]
5172    PlayCircle,
5173    #[serde(rename = "play_circle_fill")]
5174    PlayCircleFill,
5175    #[serde(rename = "play_circle_filled")]
5176    PlayCircleFilled,
5177    #[serde(rename = "play_circle_outline")]
5178    PlayCircleOutline,
5179    #[serde(rename = "play_disabled")]
5180    PlayDisabled,
5181    #[serde(rename = "play_for_work")]
5182    PlayForWork,
5183    #[serde(rename = "play_lesson")]
5184    PlayLesson,
5185    #[serde(rename = "playlist_add")]
5186    PlaylistAdd,
5187    #[serde(rename = "playlist_add_check")]
5188    PlaylistAddCheck,
5189    #[serde(rename = "playlist_play")]
5190    PlaylistPlay,
5191    #[serde(rename = "plumbing")]
5192    Plumbing,
5193    #[serde(rename = "plus_one")]
5194    PlusOne,
5195    #[serde(rename = "podcasts")]
5196    Podcasts,
5197    #[serde(rename = "point_of_sale")]
5198    PointOfSale,
5199    #[serde(rename = "policy")]
5200    Policy,
5201    #[serde(rename = "poll")]
5202    Poll,
5203    #[serde(rename = "polymer")]
5204    Polymer,
5205    #[serde(rename = "pool")]
5206    Pool,
5207    #[serde(rename = "portable_wifi_off")]
5208    PortableWifiOff,
5209    #[serde(rename = "portrait")]
5210    Portrait,
5211    #[serde(rename = "post_add")]
5212    PostAdd,
5213    #[serde(rename = "power")]
5214    Power,
5215    #[serde(rename = "power_input")]
5216    PowerInput,
5217    #[serde(rename = "power_off")]
5218    PowerOff,
5219    #[serde(rename = "power_settings_new")]
5220    PowerSettingsNew,
5221    #[serde(rename = "precision_manufacturing")]
5222    PrecisionManufacturing,
5223    #[serde(rename = "pregnant_woman")]
5224    PregnantWoman,
5225    #[serde(rename = "present_to_all")]
5226    PresentToAll,
5227    #[serde(rename = "preview")]
5228    Preview,
5229    #[serde(rename = "price_change")]
5230    PriceChange,
5231    #[serde(rename = "price_check")]
5232    PriceCheck,
5233    #[serde(rename = "print")]
5234    Print,
5235    #[serde(rename = "print_disabled")]
5236    PrintDisabled,
5237    #[serde(rename = "priority_high")]
5238    PriorityHigh,
5239    #[serde(rename = "privacy_tip")]
5240    PrivacyTip,
5241    #[serde(rename = "production_quantity_limits")]
5242    ProductionQuantityLimits,
5243    #[serde(rename = "psychology")]
5244    Psychology,
5245    #[serde(rename = "public")]
5246    Public,
5247    #[serde(rename = "public_off")]
5248    PublicOff,
5249    #[serde(rename = "publish")]
5250    Publish,
5251    #[serde(rename = "published_with_changes")]
5252    PublishedWithChanges,
5253    #[serde(rename = "push_pin")]
5254    PushPin,
5255    #[serde(rename = "qr_code")]
5256    QrCode,
5257    #[serde(rename = "qr_code_2")]
5258    QrCode2,
5259    #[serde(rename = "qr_code_scanner")]
5260    QrCodeScanner,
5261    #[serde(rename = "query_builder")]
5262    QueryBuilder,
5263    #[serde(rename = "query_stats")]
5264    QueryStats,
5265    #[serde(rename = "question_answer")]
5266    QuestionAnswer,
5267    #[serde(rename = "queue")]
5268    Queue,
5269    #[serde(rename = "queue_music")]
5270    QueueMusic,
5271    #[serde(rename = "queue_play_next")]
5272    QueuePlayNext,
5273    #[serde(rename = "quick_contacts_dialer")]
5274    QuickContactsDialer,
5275    #[serde(rename = "quick_contacts_mail")]
5276    QuickContactsMail,
5277    #[serde(rename = "quickreply")]
5278    Quickreply,
5279    #[serde(rename = "quiz")]
5280    Quiz,
5281    #[serde(rename = "r_mobiledata")]
5282    RMobiledata,
5283    #[serde(rename = "radar")]
5284    Radar,
5285    #[serde(rename = "radio")]
5286    Radio,
5287    #[serde(rename = "radio_button_checked")]
5288    RadioButtonChecked,
5289    #[serde(rename = "radio_button_off")]
5290    RadioButtonOff,
5291    #[serde(rename = "radio_button_on")]
5292    RadioButtonOn,
5293    #[serde(rename = "radio_button_unchecked")]
5294    RadioButtonUnchecked,
5295    #[serde(rename = "railway_alert")]
5296    RailwayAlert,
5297    #[serde(rename = "ramen_dining")]
5298    RamenDining,
5299    #[serde(rename = "rate_review")]
5300    RateReview,
5301    #[serde(rename = "raw_off")]
5302    RawOff,
5303    #[serde(rename = "raw_on")]
5304    RawOn,
5305    #[serde(rename = "read_more")]
5306    ReadMore,
5307    #[serde(rename = "real_estate_agent")]
5308    RealEstateAgent,
5309    #[serde(rename = "receipt")]
5310    Receipt,
5311    #[serde(rename = "receipt_long")]
5312    ReceiptLong,
5313    #[serde(rename = "recent_actors")]
5314    RecentActors,
5315    #[serde(rename = "recommend")]
5316    Recommend,
5317    #[serde(rename = "record_voice_over")]
5318    RecordVoiceOver,
5319    #[serde(rename = "redeem")]
5320    Redeem,
5321    #[serde(rename = "redo")]
5322    Redo,
5323    #[serde(rename = "reduce_capacity")]
5324    ReduceCapacity,
5325    #[serde(rename = "refresh")]
5326    Refresh,
5327    #[serde(rename = "remember_me")]
5328    RememberMe,
5329    #[serde(rename = "remove")]
5330    Remove,
5331    #[serde(rename = "remove_circle")]
5332    RemoveCircle,
5333    #[serde(rename = "remove_circle_outline")]
5334    RemoveCircleOutline,
5335    #[serde(rename = "remove_done")]
5336    RemoveDone,
5337    #[serde(rename = "remove_from_queue")]
5338    RemoveFromQueue,
5339    #[serde(rename = "remove_moderator")]
5340    RemoveModerator,
5341    #[serde(rename = "remove_red_eye")]
5342    RemoveRedEye,
5343    #[serde(rename = "remove_shopping_cart")]
5344    RemoveShoppingCart,
5345    #[serde(rename = "reorder")]
5346    Reorder,
5347    #[serde(rename = "repeat")]
5348    Repeat,
5349    #[serde(rename = "repeat_on")]
5350    RepeatOn,
5351    #[serde(rename = "repeat_one")]
5352    RepeatOne,
5353    #[serde(rename = "repeat_one_on")]
5354    RepeatOneOn,
5355    #[serde(rename = "replay")]
5356    Replay,
5357    #[serde(rename = "replay_10")]
5358    Replay10,
5359    #[serde(rename = "replay_30")]
5360    Replay30,
5361    #[serde(rename = "replay_5")]
5362    Replay5,
5363    #[serde(rename = "replay_circle_filled")]
5364    ReplayCircleFilled,
5365    #[serde(rename = "reply")]
5366    Reply,
5367    #[serde(rename = "reply_all")]
5368    ReplyAll,
5369    #[serde(rename = "report")]
5370    Report,
5371    #[serde(rename = "report_gmailerrorred")]
5372    ReportGmailerrorred,
5373    #[serde(rename = "report_off")]
5374    ReportOff,
5375    #[serde(rename = "report_problem")]
5376    ReportProblem,
5377    #[serde(rename = "request_page")]
5378    RequestPage,
5379    #[serde(rename = "request_quote")]
5380    RequestQuote,
5381    #[serde(rename = "reset_tv")]
5382    ResetTv,
5383    #[serde(rename = "restart_alt")]
5384    RestartAlt,
5385    #[serde(rename = "restaurant")]
5386    Restaurant,
5387    #[serde(rename = "restaurant_menu")]
5388    RestaurantMenu,
5389    #[serde(rename = "restore")]
5390    Restore,
5391    #[serde(rename = "restore_from_trash")]
5392    RestoreFromTrash,
5393    #[serde(rename = "restore_page")]
5394    RestorePage,
5395    #[serde(rename = "reviews")]
5396    Reviews,
5397    #[serde(rename = "rice_bowl")]
5398    RiceBowl,
5399    #[serde(rename = "ring_volume")]
5400    RingVolume,
5401    #[serde(rename = "roofing")]
5402    Roofing,
5403    #[serde(rename = "room")]
5404    Room,
5405    #[serde(rename = "room_preferences")]
5406    RoomPreferences,
5407    #[serde(rename = "room_service")]
5408    RoomService,
5409    #[serde(rename = "rotate_90_degrees_ccw")]
5410    Rotate90DegreesCcw,
5411    #[serde(rename = "rotate_left")]
5412    RotateLeft,
5413    #[serde(rename = "rotate_right")]
5414    RotateRight,
5415    #[serde(rename = "rounded_corner")]
5416    RoundedCorner,
5417    #[serde(rename = "router")]
5418    Router,
5419    #[serde(rename = "rowing")]
5420    Rowing,
5421    #[serde(rename = "rss_feed")]
5422    RssFeed,
5423    #[serde(rename = "rsvp")]
5424    Rsvp,
5425    #[serde(rename = "rtt")]
5426    Rtt,
5427    #[serde(rename = "rule")]
5428    Rule,
5429    #[serde(rename = "rule_folder")]
5430    RuleFolder,
5431    #[serde(rename = "run_circle")]
5432    RunCircle,
5433    #[serde(rename = "running_with_errors")]
5434    RunningWithErrors,
5435    #[serde(rename = "rv_hookup")]
5436    RvHookup,
5437    #[serde(rename = "safety_divider")]
5438    SafetyDivider,
5439    #[serde(rename = "sailing")]
5440    Sailing,
5441    #[serde(rename = "sanitizer")]
5442    Sanitizer,
5443    #[serde(rename = "satellite")]
5444    Satellite,
5445    #[serde(rename = "save")]
5446    Save,
5447    #[serde(rename = "save_alt")]
5448    SaveAlt,
5449    #[serde(rename = "saved_search")]
5450    SavedSearch,
5451    #[serde(rename = "savings")]
5452    Savings,
5453    #[serde(rename = "scanner")]
5454    Scanner,
5455    #[serde(rename = "scatter_plot")]
5456    ScatterPlot,
5457    #[serde(rename = "schedule")]
5458    Schedule,
5459    #[serde(rename = "schedule_send")]
5460    ScheduleSend,
5461    #[serde(rename = "schema")]
5462    Schema,
5463    #[serde(rename = "school")]
5464    School,
5465    #[serde(rename = "science")]
5466    Science,
5467    #[serde(rename = "score")]
5468    Score,
5469    #[serde(rename = "screen_lock_landscape")]
5470    ScreenLockLandscape,
5471    #[serde(rename = "screen_lock_portrait")]
5472    ScreenLockPortrait,
5473    #[serde(rename = "screen_lock_rotation")]
5474    ScreenLockRotation,
5475    #[serde(rename = "screen_rotation")]
5476    ScreenRotation,
5477    #[serde(rename = "screen_search_desktop")]
5478    ScreenSearchDesktop,
5479    #[serde(rename = "screen_share")]
5480    ScreenShare,
5481    #[serde(rename = "screenshot")]
5482    Screenshot,
5483    #[serde(rename = "sd")]
5484    Sd,
5485    #[serde(rename = "sd_card")]
5486    SdCard,
5487    #[serde(rename = "sd_card_alert")]
5488    SdCardAlert,
5489    #[serde(rename = "sd_storage")]
5490    SdStorage,
5491    #[serde(rename = "search")]
5492    Search,
5493    #[serde(rename = "search_off")]
5494    SearchOff,
5495    #[serde(rename = "security")]
5496    Security,
5497    #[serde(rename = "security_update")]
5498    SecurityUpdate,
5499    #[serde(rename = "security_update_good")]
5500    SecurityUpdateGood,
5501    #[serde(rename = "security_update_warning")]
5502    SecurityUpdateWarning,
5503    #[serde(rename = "segment")]
5504    Segment,
5505    #[serde(rename = "select_all")]
5506    SelectAll,
5507    #[serde(rename = "self_improvement")]
5508    SelfImprovement,
5509    #[serde(rename = "sell")]
5510    Sell,
5511    #[serde(rename = "send")]
5512    Send,
5513    #[serde(rename = "send_and_archive")]
5514    SendAndArchive,
5515    #[serde(rename = "send_to_mobile")]
5516    SendToMobile,
5517    #[serde(rename = "sensor_door")]
5518    SensorDoor,
5519    #[serde(rename = "sensor_window")]
5520    SensorWindow,
5521    #[serde(rename = "sensors")]
5522    Sensors,
5523    #[serde(rename = "sensors_off")]
5524    SensorsOff,
5525    #[serde(rename = "sentiment_dissatisfied")]
5526    SentimentDissatisfied,
5527    #[serde(rename = "sentiment_neutral")]
5528    SentimentNeutral,
5529    #[serde(rename = "sentiment_satisfied")]
5530    SentimentSatisfied,
5531    #[serde(rename = "sentiment_satisfied_alt")]
5532    SentimentSatisfiedAlt,
5533    #[serde(rename = "sentiment_very_dissatisfied")]
5534    SentimentVeryDissatisfied,
5535    #[serde(rename = "sentiment_very_satisfied")]
5536    SentimentVerySatisfied,
5537    #[serde(rename = "set_meal")]
5538    SetMeal,
5539    #[serde(rename = "settings")]
5540    Settings,
5541    #[serde(rename = "settings_accessibility")]
5542    SettingsAccessibility,
5543    #[serde(rename = "settings_applications")]
5544    SettingsApplications,
5545    #[serde(rename = "settings_backup_restore")]
5546    SettingsBackupRestore,
5547    #[serde(rename = "settings_bluetooth")]
5548    SettingsBluetooth,
5549    #[serde(rename = "settings_brightness")]
5550    SettingsBrightness,
5551    #[serde(rename = "settings_cell")]
5552    SettingsCell,
5553    #[serde(rename = "settings_display")]
5554    SettingsDisplay,
5555    #[serde(rename = "settings_ethernet")]
5556    SettingsEthernet,
5557    #[serde(rename = "settings_input_antenna")]
5558    SettingsInputAntenna,
5559    #[serde(rename = "settings_input_component")]
5560    SettingsInputComponent,
5561    #[serde(rename = "settings_input_composite")]
5562    SettingsInputComposite,
5563    #[serde(rename = "settings_input_hdmi")]
5564    SettingsInputHdmi,
5565    #[serde(rename = "settings_input_svideo")]
5566    SettingsInputSvideo,
5567    #[serde(rename = "settings_overscan")]
5568    SettingsOverscan,
5569    #[serde(rename = "settings_phone")]
5570    SettingsPhone,
5571    #[serde(rename = "settings_power")]
5572    SettingsPower,
5573    #[serde(rename = "settings_remote")]
5574    SettingsRemote,
5575    #[serde(rename = "settings_suggest")]
5576    SettingsSuggest,
5577    #[serde(rename = "settings_system_daydream")]
5578    SettingsSystemDaydream,
5579    #[serde(rename = "settings_voice")]
5580    SettingsVoice,
5581    #[serde(rename = "seven_k")]
5582    SevenK,
5583    #[serde(rename = "seven_k_plus")]
5584    SevenKPlus,
5585    #[serde(rename = "seven_mp")]
5586    SevenMp,
5587    #[serde(rename = "seventeen_mp")]
5588    SeventeenMp,
5589    #[serde(rename = "share")]
5590    Share,
5591    #[serde(rename = "share_arrival_time")]
5592    ShareArrivalTime,
5593    #[serde(rename = "share_location")]
5594    ShareLocation,
5595    #[serde(rename = "shield")]
5596    Shield,
5597    #[serde(rename = "shop")]
5598    Shop,
5599    #[serde(rename = "shop_2")]
5600    Shop2,
5601    #[serde(rename = "shop_two")]
5602    ShopTwo,
5603    #[serde(rename = "shopping_bag")]
5604    ShoppingBag,
5605    #[serde(rename = "shopping_basket")]
5606    ShoppingBasket,
5607    #[serde(rename = "shopping_cart")]
5608    ShoppingCart,
5609    #[serde(rename = "short_text")]
5610    ShortText,
5611    #[serde(rename = "shortcut")]
5612    Shortcut,
5613    #[serde(rename = "show_chart")]
5614    ShowChart,
5615    #[serde(rename = "shower")]
5616    Shower,
5617    #[serde(rename = "shuffle")]
5618    Shuffle,
5619    #[serde(rename = "shuffle_on")]
5620    ShuffleOn,
5621    #[serde(rename = "shutter_speed")]
5622    ShutterSpeed,
5623    #[serde(rename = "sick")]
5624    Sick,
5625    #[serde(rename = "signal_cellular_0_bar")]
5626    SignalCellular0Bar,
5627    #[serde(rename = "signal_cellular_4_bar")]
5628    SignalCellular4Bar,
5629    #[serde(rename = "signal_cellular_alt")]
5630    SignalCellularAlt,
5631    #[serde(rename = "signal_cellular_connected_no_internet_0_bar")]
5632    SignalCellularConnectedNoInternet0Bar,
5633    #[serde(rename = "signal_cellular_connected_no_internet_4_bar")]
5634    SignalCellularConnectedNoInternet4Bar,
5635    #[serde(rename = "signal_cellular_no_sim")]
5636    SignalCellularNoSim,
5637    #[serde(rename = "signal_cellular_nodata")]
5638    SignalCellularNodata,
5639    #[serde(rename = "signal_cellular_null")]
5640    SignalCellularNull,
5641    #[serde(rename = "signal_cellular_off")]
5642    SignalCellularOff,
5643    #[serde(rename = "signal_wifi_0_bar")]
5644    SignalWifi0Bar,
5645    #[serde(rename = "signal_wifi_4_bar")]
5646    SignalWifi4Bar,
5647    #[serde(rename = "signal_wifi_4_bar_lock")]
5648    SignalWifi4BarLock,
5649    #[serde(rename = "signal_wifi_bad")]
5650    SignalWifiBad,
5651    #[serde(rename = "signal_wifi_connected_no_internet_4")]
5652    SignalWifiConnectedNoInternet4,
5653    #[serde(rename = "signal_wifi_off")]
5654    SignalWifiOff,
5655    #[serde(rename = "signal_wifi_statusbar_4_bar")]
5656    SignalWifiStatusbar4Bar,
5657    #[serde(rename = "signal_wifi_statusbar_connected_no_internet_4")]
5658    SignalWifiStatusbarConnectedNoInternet4,
5659    #[serde(rename = "signal_wifi_statusbar_null")]
5660    SignalWifiStatusbarNull,
5661    #[serde(rename = "sim_card")]
5662    SimCard,
5663    #[serde(rename = "sim_card_alert")]
5664    SimCardAlert,
5665    #[serde(rename = "sim_card_download")]
5666    SimCardDownload,
5667    #[serde(rename = "single_bed")]
5668    SingleBed,
5669    #[serde(rename = "sip")]
5670    Sip,
5671    #[serde(rename = "six_ft_apart")]
5672    SixFtApart,
5673    #[serde(rename = "six_k")]
5674    SixK,
5675    #[serde(rename = "six_k_plus")]
5676    SixKPlus,
5677    #[serde(rename = "six_mp")]
5678    SixMp,
5679    #[serde(rename = "sixteen_mp")]
5680    SixteenMp,
5681    #[serde(rename = "sixty_fps")]
5682    SixtyFps,
5683    #[serde(rename = "sixty_fps_select")]
5684    SixtyFpsSelect,
5685    #[serde(rename = "skateboarding")]
5686    Skateboarding,
5687    #[serde(rename = "skip_next")]
5688    SkipNext,
5689    #[serde(rename = "skip_previous")]
5690    SkipPrevious,
5691    #[serde(rename = "sledding")]
5692    Sledding,
5693    #[serde(rename = "slideshow")]
5694    Slideshow,
5695    #[serde(rename = "slow_motion_video")]
5696    SlowMotionVideo,
5697    #[serde(rename = "smart_button")]
5698    SmartButton,
5699    #[serde(rename = "smart_display")]
5700    SmartDisplay,
5701    #[serde(rename = "smart_screen")]
5702    SmartScreen,
5703    #[serde(rename = "smart_toy")]
5704    SmartToy,
5705    #[serde(rename = "smartphone")]
5706    Smartphone,
5707    #[serde(rename = "smoke_free")]
5708    SmokeFree,
5709    #[serde(rename = "smoking_rooms")]
5710    SmokingRooms,
5711    #[serde(rename = "sms")]
5712    Sms,
5713    #[serde(rename = "sms_failed")]
5714    SmsFailed,
5715    #[serde(rename = "snippet_folder")]
5716    SnippetFolder,
5717    #[serde(rename = "snooze")]
5718    Snooze,
5719    #[serde(rename = "snowboarding")]
5720    Snowboarding,
5721    #[serde(rename = "snowmobile")]
5722    Snowmobile,
5723    #[serde(rename = "snowshoeing")]
5724    Snowshoeing,
5725    #[serde(rename = "soap")]
5726    Soap,
5727    #[serde(rename = "social_distance")]
5728    SocialDistance,
5729    #[serde(rename = "sort")]
5730    Sort,
5731    #[serde(rename = "sort_by_alpha")]
5732    SortByAlpha,
5733    #[serde(rename = "source")]
5734    Source,
5735    #[serde(rename = "south")]
5736    South,
5737    #[serde(rename = "south_east")]
5738    SouthEast,
5739    #[serde(rename = "south_west")]
5740    SouthWest,
5741    #[serde(rename = "spa")]
5742    Spa,
5743    #[serde(rename = "space_bar")]
5744    SpaceBar,
5745    #[serde(rename = "space_dashboard")]
5746    SpaceDashboard,
5747    #[serde(rename = "speaker")]
5748    Speaker,
5749    #[serde(rename = "speaker_group")]
5750    SpeakerGroup,
5751    #[serde(rename = "speaker_notes")]
5752    SpeakerNotes,
5753    #[serde(rename = "speaker_notes_off")]
5754    SpeakerNotesOff,
5755    #[serde(rename = "speaker_phone")]
5756    SpeakerPhone,
5757    #[serde(rename = "speed")]
5758    Speed,
5759    #[serde(rename = "spellcheck")]
5760    Spellcheck,
5761    #[serde(rename = "splitscreen")]
5762    Splitscreen,
5763    #[serde(rename = "sports")]
5764    Sports,
5765    #[serde(rename = "sports_bar")]
5766    SportsBar,
5767    #[serde(rename = "sports_baseball")]
5768    SportsBaseball,
5769    #[serde(rename = "sports_basketball")]
5770    SportsBasketball,
5771    #[serde(rename = "sports_cricket")]
5772    SportsCricket,
5773    #[serde(rename = "sports_esports")]
5774    SportsEsports,
5775    #[serde(rename = "sports_football")]
5776    SportsFootball,
5777    #[serde(rename = "sports_golf")]
5778    SportsGolf,
5779    #[serde(rename = "sports_handball")]
5780    SportsHandball,
5781    #[serde(rename = "sports_hockey")]
5782    SportsHockey,
5783    #[serde(rename = "sports_kabaddi")]
5784    SportsKabaddi,
5785    #[serde(rename = "sports_mma")]
5786    SportsMma,
5787    #[serde(rename = "sports_motorsports")]
5788    SportsMotorsports,
5789    #[serde(rename = "sports_rugby")]
5790    SportsRugby,
5791    #[serde(rename = "sports_score")]
5792    SportsScore,
5793    #[serde(rename = "sports_soccer")]
5794    SportsSoccer,
5795    #[serde(rename = "sports_tennis")]
5796    SportsTennis,
5797    #[serde(rename = "sports_volleyball")]
5798    SportsVolleyball,
5799    #[serde(rename = "square_foot")]
5800    SquareFoot,
5801    #[serde(rename = "stacked_bar_chart")]
5802    StackedBarChart,
5803    #[serde(rename = "stacked_line_chart")]
5804    StackedLineChart,
5805    #[serde(rename = "stairs")]
5806    Stairs,
5807    #[serde(rename = "star")]
5808    Star,
5809    #[serde(rename = "star_border")]
5810    StarBorder,
5811    #[serde(rename = "star_border_purple500")]
5812    StarBorderPurple500,
5813    #[serde(rename = "star_half")]
5814    StarHalf,
5815    #[serde(rename = "star_outline")]
5816    StarOutline,
5817    #[serde(rename = "star_purple500")]
5818    StarPurple500,
5819    #[serde(rename = "star_rate")]
5820    StarRate,
5821    #[serde(rename = "stars")]
5822    Stars,
5823    #[serde(rename = "stay_current_landscape")]
5824    StayCurrentLandscape,
5825    #[serde(rename = "stay_current_portrait")]
5826    StayCurrentPortrait,
5827    #[serde(rename = "stay_primary_landscape")]
5828    StayPrimaryLandscape,
5829    #[serde(rename = "stay_primary_portrait")]
5830    StayPrimaryPortrait,
5831    #[serde(rename = "sticky_note_2")]
5832    StickyNote2,
5833    #[serde(rename = "stop")]
5834    Stop,
5835    #[serde(rename = "stop_circle")]
5836    StopCircle,
5837    #[serde(rename = "stop_screen_share")]
5838    StopScreenShare,
5839    #[serde(rename = "storage")]
5840    Storage,
5841    #[serde(rename = "store")]
5842    Store,
5843    #[serde(rename = "store_mall_directory")]
5844    StoreMallDirectory,
5845    #[serde(rename = "storefront")]
5846    Storefront,
5847    #[serde(rename = "storm")]
5848    Storm,
5849    #[serde(rename = "straighten")]
5850    Straighten,
5851    #[serde(rename = "stream")]
5852    Stream,
5853    #[serde(rename = "streetview")]
5854    Streetview,
5855    #[serde(rename = "strikethrough_s")]
5856    StrikethroughS,
5857    #[serde(rename = "stroller")]
5858    Stroller,
5859    #[serde(rename = "style")]
5860    Style,
5861    #[serde(rename = "subdirectory_arrow_left")]
5862    SubdirectoryArrowLeft,
5863    #[serde(rename = "subdirectory_arrow_right")]
5864    SubdirectoryArrowRight,
5865    #[serde(rename = "subject")]
5866    Subject,
5867    #[serde(rename = "subscript")]
5868    Subscript,
5869    #[serde(rename = "subscriptions")]
5870    Subscriptions,
5871    #[serde(rename = "subtitles")]
5872    Subtitles,
5873    #[serde(rename = "subtitles_off")]
5874    SubtitlesOff,
5875    #[serde(rename = "subway")]
5876    Subway,
5877    #[serde(rename = "summarize")]
5878    Summarize,
5879    #[serde(rename = "superscript")]
5880    Superscript,
5881    #[serde(rename = "supervised_user_circle")]
5882    SupervisedUserCircle,
5883    #[serde(rename = "supervisor_account")]
5884    SupervisorAccount,
5885    #[serde(rename = "support")]
5886    Support,
5887    #[serde(rename = "support_agent")]
5888    SupportAgent,
5889    #[serde(rename = "surfing")]
5890    Surfing,
5891    #[serde(rename = "surround_sound")]
5892    SurroundSound,
5893    #[serde(rename = "swap_calls")]
5894    SwapCalls,
5895    #[serde(rename = "swap_horiz")]
5896    SwapHoriz,
5897    #[serde(rename = "swap_horizontal_circle")]
5898    SwapHorizontalCircle,
5899    #[serde(rename = "swap_vert")]
5900    SwapVert,
5901    #[serde(rename = "swap_vert_circle")]
5902    SwapVertCircle,
5903    #[serde(rename = "swap_vertical_circle")]
5904    SwapVerticalCircle,
5905    #[serde(rename = "swipe")]
5906    Swipe,
5907    #[serde(rename = "switch_account")]
5908    SwitchAccount,
5909    #[serde(rename = "switch_camera")]
5910    SwitchCamera,
5911    #[serde(rename = "switch_left")]
5912    SwitchLeft,
5913    #[serde(rename = "switch_right")]
5914    SwitchRight,
5915    #[serde(rename = "switch_video")]
5916    SwitchVideo,
5917    #[serde(rename = "sync")]
5918    Sync,
5919    #[serde(rename = "sync_alt")]
5920    SyncAlt,
5921    #[serde(rename = "sync_disabled")]
5922    SyncDisabled,
5923    #[serde(rename = "sync_problem")]
5924    SyncProblem,
5925    #[serde(rename = "system_security_update")]
5926    SystemSecurityUpdate,
5927    #[serde(rename = "system_security_update_good")]
5928    SystemSecurityUpdateGood,
5929    #[serde(rename = "system_security_update_warning")]
5930    SystemSecurityUpdateWarning,
5931    #[serde(rename = "system_update")]
5932    SystemUpdate,
5933    #[serde(rename = "system_update_alt")]
5934    SystemUpdateAlt,
5935    #[serde(rename = "system_update_tv")]
5936    SystemUpdateTv,
5937    #[serde(rename = "tab")]
5938    Tab,
5939    #[serde(rename = "tab_unselected")]
5940    TabUnselected,
5941    #[serde(rename = "table_chart")]
5942    TableChart,
5943    #[serde(rename = "table_rows")]
5944    TableRows,
5945    #[serde(rename = "table_view")]
5946    TableView,
5947    #[serde(rename = "tablet")]
5948    Tablet,
5949    #[serde(rename = "tablet_android")]
5950    TabletAndroid,
5951    #[serde(rename = "tablet_mac")]
5952    TabletMac,
5953    #[serde(rename = "tag")]
5954    Tag,
5955    #[serde(rename = "tag_faces")]
5956    TagFaces,
5957    #[serde(rename = "takeout_dining")]
5958    TakeoutDining,
5959    #[serde(rename = "tap_and_play")]
5960    TapAndPlay,
5961    #[serde(rename = "tapas")]
5962    Tapas,
5963    #[serde(rename = "task")]
5964    Task,
5965    #[serde(rename = "task_alt")]
5966    TaskAlt,
5967    #[serde(rename = "taxi_alert")]
5968    TaxiAlert,
5969    #[serde(rename = "ten_k")]
5970    TenK,
5971    #[serde(rename = "ten_mp")]
5972    TenMp,
5973    #[serde(rename = "terrain")]
5974    Terrain,
5975    #[serde(rename = "text_fields")]
5976    TextFields,
5977    #[serde(rename = "text_format")]
5978    TextFormat,
5979    #[serde(rename = "text_rotate_up")]
5980    TextRotateUp,
5981    #[serde(rename = "text_rotate_vertical")]
5982    TextRotateVertical,
5983    #[serde(rename = "text_rotation_angledown")]
5984    TextRotationAngledown,
5985    #[serde(rename = "text_rotation_angleup")]
5986    TextRotationAngleup,
5987    #[serde(rename = "text_rotation_down")]
5988    TextRotationDown,
5989    #[serde(rename = "text_rotation_none")]
5990    TextRotationNone,
5991    #[serde(rename = "text_snippet")]
5992    TextSnippet,
5993    #[serde(rename = "textsms")]
5994    Textsms,
5995    #[serde(rename = "texture")]
5996    Texture,
5997    #[serde(rename = "theater_comedy")]
5998    TheaterComedy,
5999    #[serde(rename = "theaters")]
6000    Theaters,
6001    #[serde(rename = "thermostat")]
6002    Thermostat,
6003    #[serde(rename = "thermostat_auto")]
6004    ThermostatAuto,
6005    #[serde(rename = "thirteen_mp")]
6006    ThirteenMp,
6007    #[serde(rename = "thirty_fps")]
6008    ThirtyFps,
6009    #[serde(rename = "thirty_fps_select")]
6010    ThirtyFpsSelect,
6011    #[serde(rename = "three_g_mobiledata")]
6012    ThreeGMobiledata,
6013    #[serde(rename = "three_k")]
6014    ThreeK,
6015    #[serde(rename = "three_k_plus")]
6016    ThreeKPlus,
6017    #[serde(rename = "three_mp")]
6018    ThreeMp,
6019    #[serde(rename = "three_p")]
6020    ThreeP,
6021    #[serde(rename = "threed_rotation")]
6022    ThreedRotation,
6023    #[serde(rename = "threesixty")]
6024    Threesixty,
6025    #[serde(rename = "thumb_down")]
6026    ThumbDown,
6027    #[serde(rename = "thumb_down_alt")]
6028    ThumbDownAlt,
6029    #[serde(rename = "thumb_down_off_alt")]
6030    ThumbDownOffAlt,
6031    #[serde(rename = "thumb_up")]
6032    ThumbUp,
6033    #[serde(rename = "thumb_up_alt")]
6034    ThumbUpAlt,
6035    #[serde(rename = "thumb_up_off_alt")]
6036    ThumbUpOffAlt,
6037    #[serde(rename = "thumbs_up_down")]
6038    ThumbsUpDown,
6039    #[serde(rename = "time_to_leave")]
6040    TimeToLeave,
6041    #[serde(rename = "timelapse")]
6042    Timelapse,
6043    #[serde(rename = "timeline")]
6044    Timeline,
6045    #[serde(rename = "timer")]
6046    Timer,
6047    #[serde(rename = "timer_10")]
6048    Timer10,
6049    #[serde(rename = "timer_10_select")]
6050    Timer10Select,
6051    #[serde(rename = "timer_3")]
6052    Timer3,
6053    #[serde(rename = "timer_3_select")]
6054    Timer3Select,
6055    #[serde(rename = "timer_off")]
6056    TimerOff,
6057    #[serde(rename = "title")]
6058    Title,
6059    #[serde(rename = "toc")]
6060    Toc,
6061    #[serde(rename = "today")]
6062    Today,
6063    #[serde(rename = "toggle_off")]
6064    ToggleOff,
6065    #[serde(rename = "toggle_on")]
6066    ToggleOn,
6067    #[serde(rename = "toll")]
6068    Toll,
6069    #[serde(rename = "tonality")]
6070    Tonality,
6071    #[serde(rename = "topic")]
6072    Topic,
6073    #[serde(rename = "touch_app")]
6074    TouchApp,
6075    #[serde(rename = "tour")]
6076    Tour,
6077    #[serde(rename = "toys")]
6078    Toys,
6079    #[serde(rename = "track_changes")]
6080    TrackChanges,
6081    #[serde(rename = "traffic")]
6082    Traffic,
6083    #[serde(rename = "train")]
6084    Train,
6085    #[serde(rename = "tram")]
6086    Tram,
6087    #[serde(rename = "transfer_within_a_station")]
6088    TransferWithinAStation,
6089    #[serde(rename = "transform")]
6090    Transform,
6091    #[serde(rename = "transgender")]
6092    Transgender,
6093    #[serde(rename = "transit_enterexit")]
6094    TransitEnterexit,
6095    #[serde(rename = "translate")]
6096    Translate,
6097    #[serde(rename = "travel_explore")]
6098    TravelExplore,
6099    #[serde(rename = "trending_down")]
6100    TrendingDown,
6101    #[serde(rename = "trending_flat")]
6102    TrendingFlat,
6103    #[serde(rename = "trending_neutral")]
6104    TrendingNeutral,
6105    #[serde(rename = "trending_up")]
6106    TrendingUp,
6107    #[serde(rename = "trip_origin")]
6108    TripOrigin,
6109    #[serde(rename = "try_sms_star")]
6110    TrySmsStar,
6111    #[serde(rename = "tty")]
6112    Tty,
6113    #[serde(rename = "tune")]
6114    Tune,
6115    #[serde(rename = "tungsten")]
6116    Tungsten,
6117    #[serde(rename = "turned_in")]
6118    TurnedIn,
6119    #[serde(rename = "turned_in_not")]
6120    TurnedInNot,
6121    #[serde(rename = "tv")]
6122    Tv,
6123    #[serde(rename = "tv_off")]
6124    TvOff,
6125    #[serde(rename = "twelve_mp")]
6126    TwelveMp,
6127    #[serde(rename = "twenty_four_mp")]
6128    TwentyFourMp,
6129    #[serde(rename = "twenty_mp")]
6130    TwentyMp,
6131    #[serde(rename = "twenty_one_mp")]
6132    TwentyOneMp,
6133    #[serde(rename = "twenty_three_mp")]
6134    TwentyThreeMp,
6135    #[serde(rename = "twenty_two_mp")]
6136    TwentyTwoMp,
6137    #[serde(rename = "two_k")]
6138    TwoK,
6139    #[serde(rename = "two_k_plus")]
6140    TwoKPlus,
6141    #[serde(rename = "two_mp")]
6142    TwoMp,
6143    #[serde(rename = "two_wheeler")]
6144    TwoWheeler,
6145    #[serde(rename = "umbrella")]
6146    Umbrella,
6147    #[serde(rename = "unarchive")]
6148    Unarchive,
6149    #[serde(rename = "undo")]
6150    Undo,
6151    #[serde(rename = "unfold_less")]
6152    UnfoldLess,
6153    #[serde(rename = "unfold_more")]
6154    UnfoldMore,
6155    #[serde(rename = "unpublished")]
6156    Unpublished,
6157    #[serde(rename = "unsubscribe")]
6158    Unsubscribe,
6159    #[serde(rename = "upcoming")]
6160    Upcoming,
6161    #[serde(rename = "update")]
6162    Update,
6163    #[serde(rename = "update_disabled")]
6164    UpdateDisabled,
6165    #[serde(rename = "upgrade")]
6166    Upgrade,
6167    #[serde(rename = "upload")]
6168    Upload,
6169    #[serde(rename = "upload_file")]
6170    UploadFile,
6171    #[serde(rename = "usb")]
6172    Usb,
6173    #[serde(rename = "usb_off")]
6174    UsbOff,
6175    #[serde(rename = "verified")]
6176    Verified,
6177    #[serde(rename = "verified_user")]
6178    VerifiedUser,
6179    #[serde(rename = "vertical_align_bottom")]
6180    VerticalAlignBottom,
6181    #[serde(rename = "vertical_align_center")]
6182    VerticalAlignCenter,
6183    #[serde(rename = "vertical_align_top")]
6184    VerticalAlignTop,
6185    #[serde(rename = "vertical_distribute")]
6186    VerticalDistribute,
6187    #[serde(rename = "vertical_split")]
6188    VerticalSplit,
6189    #[serde(rename = "vibration")]
6190    Vibration,
6191    #[serde(rename = "video_call")]
6192    VideoCall,
6193    #[serde(rename = "video_camera_back")]
6194    VideoCameraBack,
6195    #[serde(rename = "video_camera_front")]
6196    VideoCameraFront,
6197    #[serde(rename = "video_collection")]
6198    VideoCollection,
6199    #[serde(rename = "video_label")]
6200    VideoLabel,
6201    #[serde(rename = "video_library")]
6202    VideoLibrary,
6203    #[serde(rename = "video_settings")]
6204    VideoSettings,
6205    #[serde(rename = "video_stable")]
6206    VideoStable,
6207    #[serde(rename = "videocam")]
6208    Videocam,
6209    #[serde(rename = "videocam_off")]
6210    VideocamOff,
6211    #[serde(rename = "videogame_asset")]
6212    VideogameAsset,
6213    #[serde(rename = "videogame_asset_off")]
6214    VideogameAssetOff,
6215    #[serde(rename = "view_agenda")]
6216    ViewAgenda,
6217    #[serde(rename = "view_array")]
6218    ViewArray,
6219    #[serde(rename = "view_carousel")]
6220    ViewCarousel,
6221    #[serde(rename = "view_column")]
6222    ViewColumn,
6223    #[serde(rename = "view_comfortable")]
6224    ViewComfortable,
6225    #[serde(rename = "view_comfy")]
6226    ViewComfy,
6227    #[serde(rename = "view_compact")]
6228    ViewCompact,
6229    #[serde(rename = "view_day")]
6230    ViewDay,
6231    #[serde(rename = "view_headline")]
6232    ViewHeadline,
6233    #[serde(rename = "view_in_ar")]
6234    ViewInAr,
6235    #[serde(rename = "view_list")]
6236    ViewList,
6237    #[serde(rename = "view_module")]
6238    ViewModule,
6239    #[serde(rename = "view_quilt")]
6240    ViewQuilt,
6241    #[serde(rename = "view_sidebar")]
6242    ViewSidebar,
6243    #[serde(rename = "view_stream")]
6244    ViewStream,
6245    #[serde(rename = "view_week")]
6246    ViewWeek,
6247    #[serde(rename = "vignette")]
6248    Vignette,
6249    #[serde(rename = "villa")]
6250    Villa,
6251    #[serde(rename = "visibility")]
6252    Visibility,
6253    #[serde(rename = "visibility_off")]
6254    VisibilityOff,
6255    #[serde(rename = "voice_chat")]
6256    VoiceChat,
6257    #[serde(rename = "voice_over_off")]
6258    VoiceOverOff,
6259    #[serde(rename = "voicemail")]
6260    Voicemail,
6261    #[serde(rename = "volume_down")]
6262    VolumeDown,
6263    #[serde(rename = "volume_mute")]
6264    VolumeMute,
6265    #[serde(rename = "volume_off")]
6266    VolumeOff,
6267    #[serde(rename = "volume_up")]
6268    VolumeUp,
6269    #[serde(rename = "volunteer_activism")]
6270    VolunteerActivism,
6271    #[serde(rename = "vpn_key")]
6272    VpnKey,
6273    #[serde(rename = "vpn_lock")]
6274    VpnLock,
6275    #[serde(rename = "vrpano")]
6276    Vrpano,
6277    #[serde(rename = "wallet_giftcard")]
6278    WalletGiftcard,
6279    #[serde(rename = "wallet_membership")]
6280    WalletMembership,
6281    #[serde(rename = "wallet_travel")]
6282    WalletTravel,
6283    #[serde(rename = "wallpaper")]
6284    Wallpaper,
6285    #[serde(rename = "warning")]
6286    Warning,
6287    #[serde(rename = "warning_amber")]
6288    WarningAmber,
6289    #[serde(rename = "wash")]
6290    Wash,
6291    #[serde(rename = "watch")]
6292    Watch,
6293    #[serde(rename = "watch_later")]
6294    WatchLater,
6295    #[serde(rename = "water")]
6296    Water,
6297    #[serde(rename = "water_damage")]
6298    WaterDamage,
6299    #[serde(rename = "waterfall_chart")]
6300    WaterfallChart,
6301    #[serde(rename = "waves")]
6302    Waves,
6303    #[serde(rename = "wb_auto")]
6304    WbAuto,
6305    #[serde(rename = "wb_cloudy")]
6306    WbCloudy,
6307    #[serde(rename = "wb_incandescent")]
6308    WbIncandescent,
6309    #[serde(rename = "wb_iridescent")]
6310    WbIridescent,
6311    #[serde(rename = "wb_shade")]
6312    WbShade,
6313    #[serde(rename = "wb_sunny")]
6314    WbSunny,
6315    #[serde(rename = "wb_twighlight")]
6316    WbTwighlight,
6317    #[serde(rename = "wb_twilight")]
6318    WbTwilight,
6319    #[serde(rename = "wc")]
6320    Wc,
6321    #[serde(rename = "web")]
6322    Web,
6323    #[serde(rename = "web_asset")]
6324    WebAsset,
6325    #[serde(rename = "web_asset_off")]
6326    WebAssetOff,
6327    #[serde(rename = "web_stories")]
6328    WebStories,
6329    #[serde(rename = "weekend")]
6330    Weekend,
6331    #[serde(rename = "west")]
6332    West,
6333    #[serde(rename = "whatshot")]
6334    Whatshot,
6335    #[serde(rename = "wheelchair_pickup")]
6336    WheelchairPickup,
6337    #[serde(rename = "where_to_vote")]
6338    WhereToVote,
6339    #[serde(rename = "widgets")]
6340    Widgets,
6341    #[serde(rename = "wifi")]
6342    Wifi,
6343    #[serde(rename = "wifi_calling")]
6344    WifiCalling,
6345    #[serde(rename = "wifi_calling_3")]
6346    WifiCalling3,
6347    #[serde(rename = "wifi_lock")]
6348    WifiLock,
6349    #[serde(rename = "wifi_off")]
6350    WifiOff,
6351    #[serde(rename = "wifi_protected_setup")]
6352    WifiProtectedSetup,
6353    #[serde(rename = "wifi_tethering")]
6354    WifiTethering,
6355    #[serde(rename = "wifi_tethering_off")]
6356    WifiTetheringOff,
6357    #[serde(rename = "window")]
6358    Window,
6359    #[serde(rename = "wine_bar")]
6360    WineBar,
6361    #[serde(rename = "work")]
6362    Work,
6363    #[serde(rename = "work_off")]
6364    WorkOff,
6365    #[serde(rename = "work_outline")]
6366    WorkOutline,
6367    #[serde(rename = "workspaces")]
6368    Workspaces,
6369    #[serde(rename = "workspaces_filled")]
6370    WorkspacesFilled,
6371    #[serde(rename = "workspaces_outline")]
6372    WorkspacesOutline,
6373    #[serde(rename = "wrap_text")]
6374    WrapText,
6375    #[serde(rename = "wrong_location")]
6376    WrongLocation,
6377    #[serde(rename = "wysiwyg")]
6378    Wysiwyg,
6379    #[serde(rename = "yard")]
6380    Yard,
6381    #[serde(rename = "youtube_searched_for")]
6382    YoutubeSearchedFor,
6383    #[serde(rename = "zoom_in")]
6384    ZoomIn,
6385    #[serde(rename = "zoom_out")]
6386    ZoomOut,
6387    #[serde(rename = "zoom_out_map")]
6388    ZoomOutMap,
6389    #[serde(rename = "zoom_out_outlined")]
6390    ZoomOutOutlined,
6391}
6392impl From<&StylesIconName> for StylesIconName {
6393    fn from(value: &StylesIconName) -> Self {
6394        value.clone()
6395    }
6396}
6397impl ToString for StylesIconName {
6398    fn to_string(&self) -> String {
6399        match *self {
6400            Self::AcUnit => "ac_unit".to_string(),
6401            Self::AccessAlarm => "access_alarm".to_string(),
6402            Self::AccessAlarms => "access_alarms".to_string(),
6403            Self::AccessTime => "access_time".to_string(),
6404            Self::AccessTimeFilled => "access_time_filled".to_string(),
6405            Self::Accessibility => "accessibility".to_string(),
6406            Self::AccessibilityNew => "accessibility_new".to_string(),
6407            Self::Accessible => "accessible".to_string(),
6408            Self::AccessibleForward => "accessible_forward".to_string(),
6409            Self::AccountBalance => "account_balance".to_string(),
6410            Self::AccountBalanceWallet => "account_balance_wallet".to_string(),
6411            Self::AccountBox => "account_box".to_string(),
6412            Self::AccountCircle => "account_circle".to_string(),
6413            Self::AccountTree => "account_tree".to_string(),
6414            Self::AdUnits => "ad_units".to_string(),
6415            Self::Adb => "adb".to_string(),
6416            Self::Add => "add".to_string(),
6417            Self::AddAPhoto => "add_a_photo".to_string(),
6418            Self::AddAlarm => "add_alarm".to_string(),
6419            Self::AddAlert => "add_alert".to_string(),
6420            Self::AddBox => "add_box".to_string(),
6421            Self::AddBusiness => "add_business".to_string(),
6422            Self::AddCall => "add_call".to_string(),
6423            Self::AddChart => "add_chart".to_string(),
6424            Self::AddCircle => "add_circle".to_string(),
6425            Self::AddCircleOutline => "add_circle_outline".to_string(),
6426            Self::AddComment => "add_comment".to_string(),
6427            Self::AddIcCall => "add_ic_call".to_string(),
6428            Self::AddLink => "add_link".to_string(),
6429            Self::AddLocation => "add_location".to_string(),
6430            Self::AddLocationAlt => "add_location_alt".to_string(),
6431            Self::AddModerator => "add_moderator".to_string(),
6432            Self::AddPhotoAlternate => "add_photo_alternate".to_string(),
6433            Self::AddReaction => "add_reaction".to_string(),
6434            Self::AddRoad => "add_road".to_string(),
6435            Self::AddShoppingCart => "add_shopping_cart".to_string(),
6436            Self::AddTask => "add_task".to_string(),
6437            Self::AddToDrive => "add_to_drive".to_string(),
6438            Self::AddToHomeScreen => "add_to_home_screen".to_string(),
6439            Self::AddToPhotos => "add_to_photos".to_string(),
6440            Self::AddToQueue => "add_to_queue".to_string(),
6441            Self::Addchart => "addchart".to_string(),
6442            Self::Adjust => "adjust".to_string(),
6443            Self::AdminPanelSettings => "admin_panel_settings".to_string(),
6444            Self::Agriculture => "agriculture".to_string(),
6445            Self::Air => "air".to_string(),
6446            Self::AirlineSeatFlat => "airline_seat_flat".to_string(),
6447            Self::AirlineSeatFlatAngled => "airline_seat_flat_angled".to_string(),
6448            Self::AirlineSeatIndividualSuite => {
6449                "airline_seat_individual_suite".to_string()
6450            }
6451            Self::AirlineSeatLegroomExtra => "airline_seat_legroom_extra".to_string(),
6452            Self::AirlineSeatLegroomNormal => "airline_seat_legroom_normal".to_string(),
6453            Self::AirlineSeatLegroomReduced => "airline_seat_legroom_reduced".to_string(),
6454            Self::AirlineSeatReclineExtra => "airline_seat_recline_extra".to_string(),
6455            Self::AirlineSeatReclineNormal => "airline_seat_recline_normal".to_string(),
6456            Self::AirplaneTicket => "airplane_ticket".to_string(),
6457            Self::AirplanemodeActive => "airplanemode_active".to_string(),
6458            Self::AirplanemodeInactive => "airplanemode_inactive".to_string(),
6459            Self::AirplanemodeOff => "airplanemode_off".to_string(),
6460            Self::AirplanemodeOn => "airplanemode_on".to_string(),
6461            Self::Airplay => "airplay".to_string(),
6462            Self::AirportShuttle => "airport_shuttle".to_string(),
6463            Self::Alarm => "alarm".to_string(),
6464            Self::AlarmAdd => "alarm_add".to_string(),
6465            Self::AlarmOff => "alarm_off".to_string(),
6466            Self::AlarmOn => "alarm_on".to_string(),
6467            Self::Album => "album".to_string(),
6468            Self::AlignHorizontalCenter => "align_horizontal_center".to_string(),
6469            Self::AlignHorizontalLeft => "align_horizontal_left".to_string(),
6470            Self::AlignHorizontalRight => "align_horizontal_right".to_string(),
6471            Self::AlignVerticalBottom => "align_vertical_bottom".to_string(),
6472            Self::AlignVerticalCenter => "align_vertical_center".to_string(),
6473            Self::AlignVerticalTop => "align_vertical_top".to_string(),
6474            Self::AllInbox => "all_inbox".to_string(),
6475            Self::AllInclusive => "all_inclusive".to_string(),
6476            Self::AllOut => "all_out".to_string(),
6477            Self::AltRoute => "alt_route".to_string(),
6478            Self::AlternateEmail => "alternate_email".to_string(),
6479            Self::AmpStories => "amp_stories".to_string(),
6480            Self::Analytics => "analytics".to_string(),
6481            Self::Anchor => "anchor".to_string(),
6482            Self::Android => "android".to_string(),
6483            Self::Animation => "animation".to_string(),
6484            Self::Announcement => "announcement".to_string(),
6485            Self::Aod => "aod".to_string(),
6486            Self::Apartment => "apartment".to_string(),
6487            Self::Api => "api".to_string(),
6488            Self::AppBlocking => "app_blocking".to_string(),
6489            Self::AppRegistration => "app_registration".to_string(),
6490            Self::AppSettingsAlt => "app_settings_alt".to_string(),
6491            Self::Approval => "approval".to_string(),
6492            Self::Apps => "apps".to_string(),
6493            Self::Architecture => "architecture".to_string(),
6494            Self::Archive => "archive".to_string(),
6495            Self::ArrowBack => "arrow_back".to_string(),
6496            Self::ArrowBackIos => "arrow_back_ios".to_string(),
6497            Self::ArrowBackIosNew => "arrow_back_ios_new".to_string(),
6498            Self::ArrowCircleDown => "arrow_circle_down".to_string(),
6499            Self::ArrowCircleUp => "arrow_circle_up".to_string(),
6500            Self::ArrowDownward => "arrow_downward".to_string(),
6501            Self::ArrowDropDown => "arrow_drop_down".to_string(),
6502            Self::ArrowDropDownCircle => "arrow_drop_down_circle".to_string(),
6503            Self::ArrowDropUp => "arrow_drop_up".to_string(),
6504            Self::ArrowForward => "arrow_forward".to_string(),
6505            Self::ArrowForwardIos => "arrow_forward_ios".to_string(),
6506            Self::ArrowLeft => "arrow_left".to_string(),
6507            Self::ArrowRight => "arrow_right".to_string(),
6508            Self::ArrowRightAlt => "arrow_right_alt".to_string(),
6509            Self::ArrowUpward => "arrow_upward".to_string(),
6510            Self::ArtTrack => "art_track".to_string(),
6511            Self::Article => "article".to_string(),
6512            Self::AspectRatio => "aspect_ratio".to_string(),
6513            Self::Assessment => "assessment".to_string(),
6514            Self::Assignment => "assignment".to_string(),
6515            Self::AssignmentInd => "assignment_ind".to_string(),
6516            Self::AssignmentLate => "assignment_late".to_string(),
6517            Self::AssignmentReturn => "assignment_return".to_string(),
6518            Self::AssignmentReturned => "assignment_returned".to_string(),
6519            Self::AssignmentTurnedIn => "assignment_turned_in".to_string(),
6520            Self::Assistant => "assistant".to_string(),
6521            Self::AssistantDirection => "assistant_direction".to_string(),
6522            Self::AssistantNavigation => "assistant_navigation".to_string(),
6523            Self::AssistantPhoto => "assistant_photo".to_string(),
6524            Self::Atm => "atm".to_string(),
6525            Self::AttachEmail => "attach_email".to_string(),
6526            Self::AttachFile => "attach_file".to_string(),
6527            Self::AttachMoney => "attach_money".to_string(),
6528            Self::Attachment => "attachment".to_string(),
6529            Self::Attractions => "attractions".to_string(),
6530            Self::Attribution => "attribution".to_string(),
6531            Self::Audiotrack => "audiotrack".to_string(),
6532            Self::AutoAwesome => "auto_awesome".to_string(),
6533            Self::AutoAwesomeMosaic => "auto_awesome_mosaic".to_string(),
6534            Self::AutoAwesomeMotion => "auto_awesome_motion".to_string(),
6535            Self::AutoDelete => "auto_delete".to_string(),
6536            Self::AutoFixHigh => "auto_fix_high".to_string(),
6537            Self::AutoFixNormal => "auto_fix_normal".to_string(),
6538            Self::AutoFixOff => "auto_fix_off".to_string(),
6539            Self::AutoGraph => "auto_graph".to_string(),
6540            Self::AutoStories => "auto_stories".to_string(),
6541            Self::AutofpsSelect => "autofps_select".to_string(),
6542            Self::Autorenew => "autorenew".to_string(),
6543            Self::AvTimer => "av_timer".to_string(),
6544            Self::BabyChangingStation => "baby_changing_station".to_string(),
6545            Self::Backpack => "backpack".to_string(),
6546            Self::Backspace => "backspace".to_string(),
6547            Self::Backup => "backup".to_string(),
6548            Self::BackupTable => "backup_table".to_string(),
6549            Self::Badge => "badge".to_string(),
6550            Self::BakeryDining => "bakery_dining".to_string(),
6551            Self::Balcony => "balcony".to_string(),
6552            Self::Ballot => "ballot".to_string(),
6553            Self::BarChart => "bar_chart".to_string(),
6554            Self::BatchPrediction => "batch_prediction".to_string(),
6555            Self::Bathroom => "bathroom".to_string(),
6556            Self::Bathtub => "bathtub".to_string(),
6557            Self::BatteryAlert => "battery_alert".to_string(),
6558            Self::BatteryChargingFull => "battery_charging_full".to_string(),
6559            Self::BatteryFull => "battery_full".to_string(),
6560            Self::BatterySaver => "battery_saver".to_string(),
6561            Self::BatteryStd => "battery_std".to_string(),
6562            Self::BatteryUnknown => "battery_unknown".to_string(),
6563            Self::BeachAccess => "beach_access".to_string(),
6564            Self::Bed => "bed".to_string(),
6565            Self::BedroomBaby => "bedroom_baby".to_string(),
6566            Self::BedroomChild => "bedroom_child".to_string(),
6567            Self::BedroomParent => "bedroom_parent".to_string(),
6568            Self::Bedtime => "bedtime".to_string(),
6569            Self::Beenhere => "beenhere".to_string(),
6570            Self::Bento => "bento".to_string(),
6571            Self::BikeScooter => "bike_scooter".to_string(),
6572            Self::Biotech => "biotech".to_string(),
6573            Self::Blender => "blender".to_string(),
6574            Self::Block => "block".to_string(),
6575            Self::BlockFlipped => "block_flipped".to_string(),
6576            Self::Bloodtype => "bloodtype".to_string(),
6577            Self::Bluetooth => "bluetooth".to_string(),
6578            Self::BluetoothAudio => "bluetooth_audio".to_string(),
6579            Self::BluetoothConnected => "bluetooth_connected".to_string(),
6580            Self::BluetoothDisabled => "bluetooth_disabled".to_string(),
6581            Self::BluetoothDrive => "bluetooth_drive".to_string(),
6582            Self::BluetoothSearching => "bluetooth_searching".to_string(),
6583            Self::BlurCircular => "blur_circular".to_string(),
6584            Self::BlurLinear => "blur_linear".to_string(),
6585            Self::BlurOff => "blur_off".to_string(),
6586            Self::BlurOn => "blur_on".to_string(),
6587            Self::Bolt => "bolt".to_string(),
6588            Self::Book => "book".to_string(),
6589            Self::BookOnline => "book_online".to_string(),
6590            Self::Bookmark => "bookmark".to_string(),
6591            Self::BookmarkAdd => "bookmark_add".to_string(),
6592            Self::BookmarkAdded => "bookmark_added".to_string(),
6593            Self::BookmarkBorder => "bookmark_border".to_string(),
6594            Self::BookmarkOutline => "bookmark_outline".to_string(),
6595            Self::BookmarkRemove => "bookmark_remove".to_string(),
6596            Self::Bookmarks => "bookmarks".to_string(),
6597            Self::BorderAll => "border_all".to_string(),
6598            Self::BorderBottom => "border_bottom".to_string(),
6599            Self::BorderClear => "border_clear".to_string(),
6600            Self::BorderColor => "border_color".to_string(),
6601            Self::BorderHorizontal => "border_horizontal".to_string(),
6602            Self::BorderInner => "border_inner".to_string(),
6603            Self::BorderLeft => "border_left".to_string(),
6604            Self::BorderOuter => "border_outer".to_string(),
6605            Self::BorderRight => "border_right".to_string(),
6606            Self::BorderStyle => "border_style".to_string(),
6607            Self::BorderTop => "border_top".to_string(),
6608            Self::BorderVertical => "border_vertical".to_string(),
6609            Self::BrandingWatermark => "branding_watermark".to_string(),
6610            Self::BreakfastDining => "breakfast_dining".to_string(),
6611            Self::Brightness1 => "brightness_1".to_string(),
6612            Self::Brightness2 => "brightness_2".to_string(),
6613            Self::Brightness3 => "brightness_3".to_string(),
6614            Self::Brightness4 => "brightness_4".to_string(),
6615            Self::Brightness5 => "brightness_5".to_string(),
6616            Self::Brightness6 => "brightness_6".to_string(),
6617            Self::Brightness7 => "brightness_7".to_string(),
6618            Self::BrightnessAuto => "brightness_auto".to_string(),
6619            Self::BrightnessHigh => "brightness_high".to_string(),
6620            Self::BrightnessLow => "brightness_low".to_string(),
6621            Self::BrightnessMedium => "brightness_medium".to_string(),
6622            Self::BrokenImage => "broken_image".to_string(),
6623            Self::BrowserNotSupported => "browser_not_supported".to_string(),
6624            Self::BrunchDining => "brunch_dining".to_string(),
6625            Self::Brush => "brush".to_string(),
6626            Self::BubbleChart => "bubble_chart".to_string(),
6627            Self::BugReport => "bug_report".to_string(),
6628            Self::Build => "build".to_string(),
6629            Self::BuildCircle => "build_circle".to_string(),
6630            Self::Bungalow => "bungalow".to_string(),
6631            Self::BurstMode => "burst_mode".to_string(),
6632            Self::BusAlert => "bus_alert".to_string(),
6633            Self::Business => "business".to_string(),
6634            Self::BusinessCenter => "business_center".to_string(),
6635            Self::Cabin => "cabin".to_string(),
6636            Self::Cable => "cable".to_string(),
6637            Self::Cached => "cached".to_string(),
6638            Self::Cake => "cake".to_string(),
6639            Self::Calculate => "calculate".to_string(),
6640            Self::CalendarToday => "calendar_today".to_string(),
6641            Self::CalendarViewDay => "calendar_view_day".to_string(),
6642            Self::CalendarViewMonth => "calendar_view_month".to_string(),
6643            Self::CalendarViewWeek => "calendar_view_week".to_string(),
6644            Self::Call => "call".to_string(),
6645            Self::CallEnd => "call_end".to_string(),
6646            Self::CallMade => "call_made".to_string(),
6647            Self::CallMerge => "call_merge".to_string(),
6648            Self::CallMissed => "call_missed".to_string(),
6649            Self::CallMissedOutgoing => "call_missed_outgoing".to_string(),
6650            Self::CallReceived => "call_received".to_string(),
6651            Self::CallSplit => "call_split".to_string(),
6652            Self::CallToAction => "call_to_action".to_string(),
6653            Self::Camera => "camera".to_string(),
6654            Self::CameraAlt => "camera_alt".to_string(),
6655            Self::CameraEnhance => "camera_enhance".to_string(),
6656            Self::CameraFront => "camera_front".to_string(),
6657            Self::CameraIndoor => "camera_indoor".to_string(),
6658            Self::CameraOutdoor => "camera_outdoor".to_string(),
6659            Self::CameraRear => "camera_rear".to_string(),
6660            Self::CameraRoll => "camera_roll".to_string(),
6661            Self::Cameraswitch => "cameraswitch".to_string(),
6662            Self::Campaign => "campaign".to_string(),
6663            Self::Cancel => "cancel".to_string(),
6664            Self::CancelPresentation => "cancel_presentation".to_string(),
6665            Self::CancelScheduleSend => "cancel_schedule_send".to_string(),
6666            Self::CarRental => "car_rental".to_string(),
6667            Self::CarRepair => "car_repair".to_string(),
6668            Self::CardGiftcard => "card_giftcard".to_string(),
6669            Self::CardMembership => "card_membership".to_string(),
6670            Self::CardTravel => "card_travel".to_string(),
6671            Self::Carpenter => "carpenter".to_string(),
6672            Self::Cases => "cases".to_string(),
6673            Self::Casino => "casino".to_string(),
6674            Self::Cast => "cast".to_string(),
6675            Self::CastConnected => "cast_connected".to_string(),
6676            Self::CastForEducation => "cast_for_education".to_string(),
6677            Self::CatchingPokemon => "catching_pokemon".to_string(),
6678            Self::Category => "category".to_string(),
6679            Self::Celebration => "celebration".to_string(),
6680            Self::CellWifi => "cell_wifi".to_string(),
6681            Self::CenterFocusStrong => "center_focus_strong".to_string(),
6682            Self::CenterFocusWeak => "center_focus_weak".to_string(),
6683            Self::Chair => "chair".to_string(),
6684            Self::ChairAlt => "chair_alt".to_string(),
6685            Self::Chalet => "chalet".to_string(),
6686            Self::ChangeCircle => "change_circle".to_string(),
6687            Self::ChangeHistory => "change_history".to_string(),
6688            Self::ChargingStation => "charging_station".to_string(),
6689            Self::Chat => "chat".to_string(),
6690            Self::ChatBubble => "chat_bubble".to_string(),
6691            Self::ChatBubbleOutline => "chat_bubble_outline".to_string(),
6692            Self::Check => "check".to_string(),
6693            Self::CheckBox => "check_box".to_string(),
6694            Self::CheckBoxOutlineBlank => "check_box_outline_blank".to_string(),
6695            Self::CheckCircle => "check_circle".to_string(),
6696            Self::CheckCircleOutline => "check_circle_outline".to_string(),
6697            Self::Checklist => "checklist".to_string(),
6698            Self::ChecklistRtl => "checklist_rtl".to_string(),
6699            Self::Checkroom => "checkroom".to_string(),
6700            Self::ChevronLeft => "chevron_left".to_string(),
6701            Self::ChevronRight => "chevron_right".to_string(),
6702            Self::ChildCare => "child_care".to_string(),
6703            Self::ChildFriendly => "child_friendly".to_string(),
6704            Self::ChromeReaderMode => "chrome_reader_mode".to_string(),
6705            Self::Circle => "circle".to_string(),
6706            Self::CircleNotifications => "circle_notifications".to_string(),
6707            Self::Class => "class_".to_string(),
6708            Self::CleanHands => "clean_hands".to_string(),
6709            Self::CleaningServices => "cleaning_services".to_string(),
6710            Self::Clear => "clear".to_string(),
6711            Self::ClearAll => "clear_all".to_string(),
6712            Self::Close => "close".to_string(),
6713            Self::CloseFullscreen => "close_fullscreen".to_string(),
6714            Self::ClosedCaption => "closed_caption".to_string(),
6715            Self::ClosedCaptionDisabled => "closed_caption_disabled".to_string(),
6716            Self::ClosedCaptionOff => "closed_caption_off".to_string(),
6717            Self::Cloud => "cloud".to_string(),
6718            Self::CloudCircle => "cloud_circle".to_string(),
6719            Self::CloudDone => "cloud_done".to_string(),
6720            Self::CloudDownload => "cloud_download".to_string(),
6721            Self::CloudOff => "cloud_off".to_string(),
6722            Self::CloudQueue => "cloud_queue".to_string(),
6723            Self::CloudUpload => "cloud_upload".to_string(),
6724            Self::Code => "code".to_string(),
6725            Self::CodeOff => "code_off".to_string(),
6726            Self::Coffee => "coffee".to_string(),
6727            Self::CoffeeMaker => "coffee_maker".to_string(),
6728            Self::Collections => "collections".to_string(),
6729            Self::CollectionsBookmark => "collections_bookmark".to_string(),
6730            Self::ColorLens => "color_lens".to_string(),
6731            Self::Colorize => "colorize".to_string(),
6732            Self::Comment => "comment".to_string(),
6733            Self::CommentBank => "comment_bank".to_string(),
6734            Self::Commute => "commute".to_string(),
6735            Self::Compare => "compare".to_string(),
6736            Self::CompareArrows => "compare_arrows".to_string(),
6737            Self::CompassCalibration => "compass_calibration".to_string(),
6738            Self::Compress => "compress".to_string(),
6739            Self::Computer => "computer".to_string(),
6740            Self::ConfirmationNum => "confirmation_num".to_string(),
6741            Self::ConfirmationNumber => "confirmation_number".to_string(),
6742            Self::ConnectWithoutContact => "connect_without_contact".to_string(),
6743            Self::ConnectedTv => "connected_tv".to_string(),
6744            Self::Construction => "construction".to_string(),
6745            Self::ContactMail => "contact_mail".to_string(),
6746            Self::ContactPage => "contact_page".to_string(),
6747            Self::ContactPhone => "contact_phone".to_string(),
6748            Self::ContactSupport => "contact_support".to_string(),
6749            Self::Contactless => "contactless".to_string(),
6750            Self::Contacts => "contacts".to_string(),
6751            Self::ContentCopy => "content_copy".to_string(),
6752            Self::ContentCut => "content_cut".to_string(),
6753            Self::ContentPaste => "content_paste".to_string(),
6754            Self::ContentPasteOff => "content_paste_off".to_string(),
6755            Self::ControlCamera => "control_camera".to_string(),
6756            Self::ControlPoint => "control_point".to_string(),
6757            Self::ControlPointDuplicate => "control_point_duplicate".to_string(),
6758            Self::Copy => "copy".to_string(),
6759            Self::CopyAll => "copy_all".to_string(),
6760            Self::Copyright => "copyright".to_string(),
6761            Self::Coronavirus => "coronavirus".to_string(),
6762            Self::CorporateFare => "corporate_fare".to_string(),
6763            Self::Cottage => "cottage".to_string(),
6764            Self::Countertops => "countertops".to_string(),
6765            Self::Create => "create".to_string(),
6766            Self::CreateNewFolder => "create_new_folder".to_string(),
6767            Self::CreditCard => "credit_card".to_string(),
6768            Self::CreditCardOff => "credit_card_off".to_string(),
6769            Self::CreditScore => "credit_score".to_string(),
6770            Self::Crib => "crib".to_string(),
6771            Self::Crop => "crop".to_string(),
6772            Self::Crop169 => "crop_16_9".to_string(),
6773            Self::Crop32 => "crop_3_2".to_string(),
6774            Self::Crop54 => "crop_5_4".to_string(),
6775            Self::Crop75 => "crop_7_5".to_string(),
6776            Self::CropDin => "crop_din".to_string(),
6777            Self::CropFree => "crop_free".to_string(),
6778            Self::CropLandscape => "crop_landscape".to_string(),
6779            Self::CropOriginal => "crop_original".to_string(),
6780            Self::CropPortrait => "crop_portrait".to_string(),
6781            Self::CropRotate => "crop_rotate".to_string(),
6782            Self::CropSquare => "crop_square".to_string(),
6783            Self::Cut => "cut".to_string(),
6784            Self::Dangerous => "dangerous".to_string(),
6785            Self::DarkMode => "dark_mode".to_string(),
6786            Self::Dashboard => "dashboard".to_string(),
6787            Self::DashboardCustomize => "dashboard_customize".to_string(),
6788            Self::DataSaverOff => "data_saver_off".to_string(),
6789            Self::DataSaverOn => "data_saver_on".to_string(),
6790            Self::DataUsage => "data_usage".to_string(),
6791            Self::DateRange => "date_range".to_string(),
6792            Self::Deck => "deck".to_string(),
6793            Self::Dehaze => "dehaze".to_string(),
6794            Self::Delete => "delete".to_string(),
6795            Self::DeleteForever => "delete_forever".to_string(),
6796            Self::DeleteOutline => "delete_outline".to_string(),
6797            Self::DeleteSweep => "delete_sweep".to_string(),
6798            Self::DeliveryDining => "delivery_dining".to_string(),
6799            Self::DepartureBoard => "departure_board".to_string(),
6800            Self::Description => "description".to_string(),
6801            Self::DesignServices => "design_services".to_string(),
6802            Self::DesktopAccessDisabled => "desktop_access_disabled".to_string(),
6803            Self::DesktopMac => "desktop_mac".to_string(),
6804            Self::DesktopWindows => "desktop_windows".to_string(),
6805            Self::Details => "details".to_string(),
6806            Self::DeveloperBoard => "developer_board".to_string(),
6807            Self::DeveloperBoardOff => "developer_board_off".to_string(),
6808            Self::DeveloperMode => "developer_mode".to_string(),
6809            Self::DeviceHub => "device_hub".to_string(),
6810            Self::DeviceThermostat => "device_thermostat".to_string(),
6811            Self::DeviceUnknown => "device_unknown".to_string(),
6812            Self::Devices => "devices".to_string(),
6813            Self::DevicesOther => "devices_other".to_string(),
6814            Self::DialerSip => "dialer_sip".to_string(),
6815            Self::Dialpad => "dialpad".to_string(),
6816            Self::Dining => "dining".to_string(),
6817            Self::DinnerDining => "dinner_dining".to_string(),
6818            Self::Directions => "directions".to_string(),
6819            Self::DirectionsBike => "directions_bike".to_string(),
6820            Self::DirectionsBoat => "directions_boat".to_string(),
6821            Self::DirectionsBoatFilled => "directions_boat_filled".to_string(),
6822            Self::DirectionsBus => "directions_bus".to_string(),
6823            Self::DirectionsBusFilled => "directions_bus_filled".to_string(),
6824            Self::DirectionsCar => "directions_car".to_string(),
6825            Self::DirectionsCarFilled => "directions_car_filled".to_string(),
6826            Self::DirectionsFerry => "directions_ferry".to_string(),
6827            Self::DirectionsOff => "directions_off".to_string(),
6828            Self::DirectionsRailwayFilled => "directions_railway_filled".to_string(),
6829            Self::DirectionsRun => "directions_run".to_string(),
6830            Self::DirectionsRailway => "directions_railway".to_string(),
6831            Self::DirectionsSubway => "directions_subway".to_string(),
6832            Self::DirectionsSubwayFilled => "directions_subway_filled".to_string(),
6833            Self::DirectionsTrain => "directions_train".to_string(),
6834            Self::DirectionsTransit => "directions_transit".to_string(),
6835            Self::DirectionsTransitFilled => "directions_transit_filled".to_string(),
6836            Self::DirectionsWalk => "directions_walk".to_string(),
6837            Self::DirtyLens => "dirty_lens".to_string(),
6838            Self::DisabledByDefault => "disabled_by_default".to_string(),
6839            Self::DiscFull => "disc_full".to_string(),
6840            Self::DndForwardslash => "dnd_forwardslash".to_string(),
6841            Self::Dns => "dns".to_string(),
6842            Self::DoDisturb => "do_disturb".to_string(),
6843            Self::DoDisturbAlt => "do_disturb_alt".to_string(),
6844            Self::DoDisturbOff => "do_disturb_off".to_string(),
6845            Self::DoDisturbOn => "do_disturb_on".to_string(),
6846            Self::DoNotDisturb => "do_not_disturb".to_string(),
6847            Self::DoNotDisturbAlt => "do_not_disturb_alt".to_string(),
6848            Self::DoNotDisturbOff => "do_not_disturb_off".to_string(),
6849            Self::DoNotDisturbOn => "do_not_disturb_on".to_string(),
6850            Self::DoNotDisturbOnTotalSilence => {
6851                "do_not_disturb_on_total_silence".to_string()
6852            }
6853            Self::DoNotStep => "do_not_step".to_string(),
6854            Self::DoNotTouch => "do_not_touch".to_string(),
6855            Self::Dock => "dock".to_string(),
6856            Self::DocumentScanner => "document_scanner".to_string(),
6857            Self::Domain => "domain".to_string(),
6858            Self::DomainDisabled => "domain_disabled".to_string(),
6859            Self::DomainVerification => "domain_verification".to_string(),
6860            Self::Done => "done".to_string(),
6861            Self::DoneAll => "done_all".to_string(),
6862            Self::DoneOutline => "done_outline".to_string(),
6863            Self::DonutLarge => "donut_large".to_string(),
6864            Self::DonutSmall => "donut_small".to_string(),
6865            Self::DoorBack => "door_back".to_string(),
6866            Self::DoorFront => "door_front".to_string(),
6867            Self::DoorSliding => "door_sliding".to_string(),
6868            Self::Doorbell => "doorbell".to_string(),
6869            Self::DoubleArrow => "double_arrow".to_string(),
6870            Self::DownhillSkiing => "downhill_skiing".to_string(),
6871            Self::Download => "download".to_string(),
6872            Self::DownloadDone => "download_done".to_string(),
6873            Self::DownloadForOffline => "download_for_offline".to_string(),
6874            Self::Downloading => "downloading".to_string(),
6875            Self::Drafts => "drafts".to_string(),
6876            Self::DragHandle => "drag_handle".to_string(),
6877            Self::DragIndicator => "drag_indicator".to_string(),
6878            Self::DriveEta => "drive_eta".to_string(),
6879            Self::DriveFileMove => "drive_file_move".to_string(),
6880            Self::DriveFileMoveOutline => "drive_file_move_outline".to_string(),
6881            Self::DriveFileRenameOutline => "drive_file_rename_outline".to_string(),
6882            Self::DriveFolderUpload => "drive_folder_upload".to_string(),
6883            Self::Dry => "dry".to_string(),
6884            Self::DryCleaning => "dry_cleaning".to_string(),
6885            Self::Duo => "duo".to_string(),
6886            Self::Dvr => "dvr".to_string(),
6887            Self::DynamicFeed => "dynamic_feed".to_string(),
6888            Self::DynamicForm => "dynamic_form".to_string(),
6889            Self::EMobiledata => "e_mobiledata".to_string(),
6890            Self::Earbuds => "earbuds".to_string(),
6891            Self::EarbudsBattery => "earbuds_battery".to_string(),
6892            Self::East => "east".to_string(),
6893            Self::Eco => "eco".to_string(),
6894            Self::EdgesensorHigh => "edgesensor_high".to_string(),
6895            Self::EdgesensorLow => "edgesensor_low".to_string(),
6896            Self::Edit => "edit".to_string(),
6897            Self::EditAttributes => "edit_attributes".to_string(),
6898            Self::EditLocation => "edit_location".to_string(),
6899            Self::EditLocationAlt => "edit_location_alt".to_string(),
6900            Self::EditNotifications => "edit_notifications".to_string(),
6901            Self::EditOff => "edit_off".to_string(),
6902            Self::EditRoad => "edit_road".to_string(),
6903            Self::EightK => "eight_k".to_string(),
6904            Self::EightKPlus => "eight_k_plus".to_string(),
6905            Self::EightMp => "eight_mp".to_string(),
6906            Self::EighteenMp => "eighteen_mp".to_string(),
6907            Self::Eject => "eject".to_string(),
6908            Self::Elderly => "elderly".to_string(),
6909            Self::ElectricBike => "electric_bike".to_string(),
6910            Self::ElectricCar => "electric_car".to_string(),
6911            Self::ElectricMoped => "electric_moped".to_string(),
6912            Self::ElectricRickshaw => "electric_rickshaw".to_string(),
6913            Self::ElectricScooter => "electric_scooter".to_string(),
6914            Self::ElectricalServices => "electrical_services".to_string(),
6915            Self::Elevator => "elevator".to_string(),
6916            Self::ElevenMp => "eleven_mp".to_string(),
6917            Self::Email => "email".to_string(),
6918            Self::EmojiEmotions => "emoji_emotions".to_string(),
6919            Self::EmojiEvents => "emoji_events".to_string(),
6920            Self::EmojiFlags => "emoji_flags".to_string(),
6921            Self::EmojiFoodBeverage => "emoji_food_beverage".to_string(),
6922            Self::EmojiNature => "emoji_nature".to_string(),
6923            Self::EmojiObjects => "emoji_objects".to_string(),
6924            Self::EmojiPeople => "emoji_people".to_string(),
6925            Self::EmojiSymbols => "emoji_symbols".to_string(),
6926            Self::EmojiTransportation => "emoji_transportation".to_string(),
6927            Self::Engineering => "engineering".to_string(),
6928            Self::EnhancePhotoTranslate => "enhance_photo_translate".to_string(),
6929            Self::EnhancedEncryption => "enhanced_encryption".to_string(),
6930            Self::Equalizer => "equalizer".to_string(),
6931            Self::Error => "error".to_string(),
6932            Self::ErrorOutline => "error_outline".to_string(),
6933            Self::Escalator => "escalator".to_string(),
6934            Self::EscalatorWarning => "escalator_warning".to_string(),
6935            Self::Euro => "euro".to_string(),
6936            Self::EuroSymbol => "euro_symbol".to_string(),
6937            Self::EvStation => "ev_station".to_string(),
6938            Self::Event => "event".to_string(),
6939            Self::EventAvailable => "event_available".to_string(),
6940            Self::EventBusy => "event_busy".to_string(),
6941            Self::EventNote => "event_note".to_string(),
6942            Self::EventSeat => "event_seat".to_string(),
6943            Self::ExitToApp => "exit_to_app".to_string(),
6944            Self::Expand => "expand".to_string(),
6945            Self::ExpandLess => "expand_less".to_string(),
6946            Self::ExpandMore => "expand_more".to_string(),
6947            Self::Explicit => "explicit".to_string(),
6948            Self::Explore => "explore".to_string(),
6949            Self::ExploreOff => "explore_off".to_string(),
6950            Self::Exposure => "exposure".to_string(),
6951            Self::ExposureMinus1 => "exposure_minus_1".to_string(),
6952            Self::ExposureMinus2 => "exposure_minus_2".to_string(),
6953            Self::ExposureNeg1 => "exposure_neg_1".to_string(),
6954            Self::ExposureNeg2 => "exposure_neg_2".to_string(),
6955            Self::ExposurePlus1 => "exposure_plus_1".to_string(),
6956            Self::ExposurePlus2 => "exposure_plus_2".to_string(),
6957            Self::ExposureZero => "exposure_zero".to_string(),
6958            Self::Extension => "extension".to_string(),
6959            Self::ExtensionOff => "extension_off".to_string(),
6960            Self::Face => "face".to_string(),
6961            Self::FaceRetouchingOff => "face_retouching_off".to_string(),
6962            Self::FaceRetouchingNatural => "face_retouching_natural".to_string(),
6963            Self::Facebook => "facebook".to_string(),
6964            Self::FactCheck => "fact_check".to_string(),
6965            Self::FamilyRestroom => "family_restroom".to_string(),
6966            Self::FastForward => "fast_forward".to_string(),
6967            Self::FastRewind => "fast_rewind".to_string(),
6968            Self::Fastfood => "fastfood".to_string(),
6969            Self::Favorite => "favorite".to_string(),
6970            Self::FavoriteBorder => "favorite_border".to_string(),
6971            Self::FavoriteOutline => "favorite_outline".to_string(),
6972            Self::FeaturedPlayList => "featured_play_list".to_string(),
6973            Self::FeaturedVideo => "featured_video".to_string(),
6974            Self::Feed => "feed".to_string(),
6975            Self::Feedback => "feedback".to_string(),
6976            Self::Female => "female".to_string(),
6977            Self::Fence => "fence".to_string(),
6978            Self::Festival => "festival".to_string(),
6979            Self::FiberDvr => "fiber_dvr".to_string(),
6980            Self::FiberManualRecord => "fiber_manual_record".to_string(),
6981            Self::FiberNew => "fiber_new".to_string(),
6982            Self::FiberPin => "fiber_pin".to_string(),
6983            Self::FiberSmartRecord => "fiber_smart_record".to_string(),
6984            Self::FifteenMp => "fifteen_mp".to_string(),
6985            Self::FileCopy => "file_copy".to_string(),
6986            Self::FileDownload => "file_download".to_string(),
6987            Self::FileDownloadDone => "file_download_done".to_string(),
6988            Self::FileDownloadOff => "file_download_off".to_string(),
6989            Self::FilePresent => "file_present".to_string(),
6990            Self::FileUpload => "file_upload".to_string(),
6991            Self::Filter => "filter".to_string(),
6992            Self::Filter1 => "filter_1".to_string(),
6993            Self::Filter2 => "filter_2".to_string(),
6994            Self::Filter3 => "filter_3".to_string(),
6995            Self::Filter4 => "filter_4".to_string(),
6996            Self::Filter5 => "filter_5".to_string(),
6997            Self::Filter6 => "filter_6".to_string(),
6998            Self::Filter7 => "filter_7".to_string(),
6999            Self::Filter8 => "filter_8".to_string(),
7000            Self::Filter9 => "filter_9".to_string(),
7001            Self::Filter9Plus => "filter_9_plus".to_string(),
7002            Self::FilterAlt => "filter_alt".to_string(),
7003            Self::FilterBAndW => "filter_b_and_w".to_string(),
7004            Self::FilterCenterFocus => "filter_center_focus".to_string(),
7005            Self::FilterDrama => "filter_drama".to_string(),
7006            Self::FilterFrames => "filter_frames".to_string(),
7007            Self::FilterHdr => "filter_hdr".to_string(),
7008            Self::FilterList => "filter_list".to_string(),
7009            Self::FilterListAlt => "filter_list_alt".to_string(),
7010            Self::FilterNone => "filter_none".to_string(),
7011            Self::FilterTiltShift => "filter_tilt_shift".to_string(),
7012            Self::FilterVintage => "filter_vintage".to_string(),
7013            Self::FindInPage => "find_in_page".to_string(),
7014            Self::FindReplace => "find_replace".to_string(),
7015            Self::Fingerprint => "fingerprint".to_string(),
7016            Self::FireExtinguisher => "fire_extinguisher".to_string(),
7017            Self::FireHydrant => "fire_hydrant".to_string(),
7018            Self::Fireplace => "fireplace".to_string(),
7019            Self::FirstPage => "first_page".to_string(),
7020            Self::FitScreen => "fit_screen".to_string(),
7021            Self::FitnessCenter => "fitness_center".to_string(),
7022            Self::FiveG => "five_g".to_string(),
7023            Self::FiveK => "five_k".to_string(),
7024            Self::FiveKPlus => "five_k_plus".to_string(),
7025            Self::FiveMp => "five_mp".to_string(),
7026            Self::Flag => "flag".to_string(),
7027            Self::Flaky => "flaky".to_string(),
7028            Self::Flare => "flare".to_string(),
7029            Self::FlashAuto => "flash_auto".to_string(),
7030            Self::FlashOff => "flash_off".to_string(),
7031            Self::FlashOn => "flash_on".to_string(),
7032            Self::FlashlightOff => "flashlight_off".to_string(),
7033            Self::FlashlightOn => "flashlight_on".to_string(),
7034            Self::Flatware => "flatware".to_string(),
7035            Self::Flight => "flight".to_string(),
7036            Self::FlightLand => "flight_land".to_string(),
7037            Self::FlightTakeoff => "flight_takeoff".to_string(),
7038            Self::Flip => "flip".to_string(),
7039            Self::FlipCameraAndroid => "flip_camera_android".to_string(),
7040            Self::FlipCameraIos => "flip_camera_ios".to_string(),
7041            Self::FlipToBack => "flip_to_back".to_string(),
7042            Self::FlipToFront => "flip_to_front".to_string(),
7043            Self::Flourescent => "flourescent".to_string(),
7044            Self::FlutterDash => "flutter_dash".to_string(),
7045            Self::FmdBad => "fmd_bad".to_string(),
7046            Self::FmdGood => "fmd_good".to_string(),
7047            Self::Folder => "folder".to_string(),
7048            Self::FolderOpen => "folder_open".to_string(),
7049            Self::FolderShared => "folder_shared".to_string(),
7050            Self::FolderSpecial => "folder_special".to_string(),
7051            Self::FollowTheSigns => "follow_the_signs".to_string(),
7052            Self::FontDownload => "font_download".to_string(),
7053            Self::FontDownloadOff => "font_download_off".to_string(),
7054            Self::FoodBank => "food_bank".to_string(),
7055            Self::FormatAlignCenter => "format_align_center".to_string(),
7056            Self::FormatAlignJustify => "format_align_justify".to_string(),
7057            Self::FormatAlignLeft => "format_align_left".to_string(),
7058            Self::FormatAlignRight => "format_align_right".to_string(),
7059            Self::FormatBold => "format_bold".to_string(),
7060            Self::FormatClear => "format_clear".to_string(),
7061            Self::FormatColorFill => "format_color_fill".to_string(),
7062            Self::FormatColorReset => "format_color_reset".to_string(),
7063            Self::FormatColorText => "format_color_text".to_string(),
7064            Self::FormatIndentDecrease => "format_indent_decrease".to_string(),
7065            Self::FormatIndentIncrease => "format_indent_increase".to_string(),
7066            Self::FormatItalic => "format_italic".to_string(),
7067            Self::FormatLineSpacing => "format_line_spacing".to_string(),
7068            Self::FormatListBulleted => "format_list_bulleted".to_string(),
7069            Self::FormatListNumbered => "format_list_numbered".to_string(),
7070            Self::FormatListNumberedRtl => "format_list_numbered_rtl".to_string(),
7071            Self::FormatPaint => "format_paint".to_string(),
7072            Self::FormatQuote => "format_quote".to_string(),
7073            Self::FormatShapes => "format_shapes".to_string(),
7074            Self::FormatSize => "format_size".to_string(),
7075            Self::FormatStrikethrough => "format_strikethrough".to_string(),
7076            Self::FormatTextdirectionLToR => "format_textdirection_l_to_r".to_string(),
7077            Self::FormatTextdirectionRToL => "format_textdirection_r_to_l".to_string(),
7078            Self::FormatUnderline => "format_underline".to_string(),
7079            Self::FormatUnderlined => "format_underlined".to_string(),
7080            Self::Forum => "forum".to_string(),
7081            Self::Forward => "forward".to_string(),
7082            Self::Forward10 => "forward_10".to_string(),
7083            Self::Forward30 => "forward_30".to_string(),
7084            Self::Forward5 => "forward_5".to_string(),
7085            Self::ForwardToInbox => "forward_to_inbox".to_string(),
7086            Self::Foundation => "foundation".to_string(),
7087            Self::FourGMobiledata => "four_g_mobiledata".to_string(),
7088            Self::FourGPlusMobiledata => "four_g_plus_mobiledata".to_string(),
7089            Self::FourK => "four_k".to_string(),
7090            Self::FourKPlus => "four_k_plus".to_string(),
7091            Self::FourMp => "four_mp".to_string(),
7092            Self::FourteenMp => "fourteen_mp".to_string(),
7093            Self::FreeBreakfast => "free_breakfast".to_string(),
7094            Self::Fullscreen => "fullscreen".to_string(),
7095            Self::FullscreenExit => "fullscreen_exit".to_string(),
7096            Self::Functions => "functions".to_string(),
7097            Self::GMobiledata => "g_mobiledata".to_string(),
7098            Self::GTranslate => "g_translate".to_string(),
7099            Self::Gamepad => "gamepad".to_string(),
7100            Self::Games => "games".to_string(),
7101            Self::Garage => "garage".to_string(),
7102            Self::Gavel => "gavel".to_string(),
7103            Self::Gesture => "gesture".to_string(),
7104            Self::GetApp => "get_app".to_string(),
7105            Self::Gif => "gif".to_string(),
7106            Self::Gite => "gite".to_string(),
7107            Self::GolfCourse => "golf_course".to_string(),
7108            Self::GppBad => "gpp_bad".to_string(),
7109            Self::GppGood => "gpp_good".to_string(),
7110            Self::GppMaybe => "gpp_maybe".to_string(),
7111            Self::GpsFixed => "gps_fixed".to_string(),
7112            Self::GpsNotFixed => "gps_not_fixed".to_string(),
7113            Self::GpsOff => "gps_off".to_string(),
7114            Self::Grade => "grade".to_string(),
7115            Self::Gradient => "gradient".to_string(),
7116            Self::Grading => "grading".to_string(),
7117            Self::Grain => "grain".to_string(),
7118            Self::GraphicEq => "graphic_eq".to_string(),
7119            Self::Grass => "grass".to_string(),
7120            Self::Grid3x3 => "grid_3x3".to_string(),
7121            Self::Grid4x4 => "grid_4x4".to_string(),
7122            Self::GridGoldenratio => "grid_goldenratio".to_string(),
7123            Self::GridOff => "grid_off".to_string(),
7124            Self::GridOn => "grid_on".to_string(),
7125            Self::GridView => "grid_view".to_string(),
7126            Self::Group => "group".to_string(),
7127            Self::GroupAdd => "group_add".to_string(),
7128            Self::GroupWork => "group_work".to_string(),
7129            Self::Groups => "groups".to_string(),
7130            Self::HMobiledata => "h_mobiledata".to_string(),
7131            Self::HPlusMobiledata => "h_plus_mobiledata".to_string(),
7132            Self::Hail => "hail".to_string(),
7133            Self::Handyman => "handyman".to_string(),
7134            Self::Hardware => "hardware".to_string(),
7135            Self::Hd => "hd".to_string(),
7136            Self::HdrAuto => "hdr_auto".to_string(),
7137            Self::HdrAutoSelect => "hdr_auto_select".to_string(),
7138            Self::HdrEnhancedSelect => "hdr_enhanced_select".to_string(),
7139            Self::HdrOff => "hdr_off".to_string(),
7140            Self::HdrOffSelect => "hdr_off_select".to_string(),
7141            Self::HdrOn => "hdr_on".to_string(),
7142            Self::HdrOnSelect => "hdr_on_select".to_string(),
7143            Self::HdrPlus => "hdr_plus".to_string(),
7144            Self::HdrStrong => "hdr_strong".to_string(),
7145            Self::HdrWeak => "hdr_weak".to_string(),
7146            Self::Headphones => "headphones".to_string(),
7147            Self::HeadphonesBattery => "headphones_battery".to_string(),
7148            Self::Headset => "headset".to_string(),
7149            Self::HeadsetMic => "headset_mic".to_string(),
7150            Self::HeadsetOff => "headset_off".to_string(),
7151            Self::Healing => "healing".to_string(),
7152            Self::HealthAndSafety => "health_and_safety".to_string(),
7153            Self::Hearing => "hearing".to_string(),
7154            Self::HearingDisabled => "hearing_disabled".to_string(),
7155            Self::Height => "height".to_string(),
7156            Self::Help => "help".to_string(),
7157            Self::HelpCenter => "help_center".to_string(),
7158            Self::HelpOutline => "help_outline".to_string(),
7159            Self::Hevc => "hevc".to_string(),
7160            Self::HideImage => "hide_image".to_string(),
7161            Self::HideSource => "hide_source".to_string(),
7162            Self::HighQuality => "high_quality".to_string(),
7163            Self::Highlight => "highlight".to_string(),
7164            Self::HighlightAlt => "highlight_alt".to_string(),
7165            Self::HighlightOff => "highlight_off".to_string(),
7166            Self::HighlightRemove => "highlight_remove".to_string(),
7167            Self::Hiking => "hiking".to_string(),
7168            Self::History => "history".to_string(),
7169            Self::HistoryEdu => "history_edu".to_string(),
7170            Self::HistoryToggleOff => "history_toggle_off".to_string(),
7171            Self::HolidayVillage => "holiday_village".to_string(),
7172            Self::Home => "home".to_string(),
7173            Self::HomeFilled => "home_filled".to_string(),
7174            Self::HomeMax => "home_max".to_string(),
7175            Self::HomeMini => "home_mini".to_string(),
7176            Self::HomeRepairService => "home_repair_service".to_string(),
7177            Self::HomeWork => "home_work".to_string(),
7178            Self::HorizontalDistribute => "horizontal_distribute".to_string(),
7179            Self::HorizontalRule => "horizontal_rule".to_string(),
7180            Self::HorizontalSplit => "horizontal_split".to_string(),
7181            Self::HotTub => "hot_tub".to_string(),
7182            Self::Hotel => "hotel".to_string(),
7183            Self::HourglassBottom => "hourglass_bottom".to_string(),
7184            Self::HourglassDisabled => "hourglass_disabled".to_string(),
7185            Self::HourglassEmpty => "hourglass_empty".to_string(),
7186            Self::HourglassFull => "hourglass_full".to_string(),
7187            Self::HourglassTop => "hourglass_top".to_string(),
7188            Self::House => "house".to_string(),
7189            Self::HouseSiding => "house_siding".to_string(),
7190            Self::Houseboat => "houseboat".to_string(),
7191            Self::HowToReg => "how_to_reg".to_string(),
7192            Self::HowToVote => "how_to_vote".to_string(),
7193            Self::Http => "http".to_string(),
7194            Self::Https => "https".to_string(),
7195            Self::Hvac => "hvac".to_string(),
7196            Self::IceSkating => "ice_skating".to_string(),
7197            Self::Icecream => "icecream".to_string(),
7198            Self::Image => "image".to_string(),
7199            Self::ImageAspectRatio => "image_aspect_ratio".to_string(),
7200            Self::ImageNotSupported => "image_not_supported".to_string(),
7201            Self::ImageSearch => "image_search".to_string(),
7202            Self::ImagesearchRoller => "imagesearch_roller".to_string(),
7203            Self::ImportContacts => "import_contacts".to_string(),
7204            Self::ImportExport => "import_export".to_string(),
7205            Self::ImportantDevices => "important_devices".to_string(),
7206            Self::Inbox => "inbox".to_string(),
7207            Self::IndeterminateCheckBox => "indeterminate_check_box".to_string(),
7208            Self::Info => "info".to_string(),
7209            Self::InfoOutline => "info_outline".to_string(),
7210            Self::Input => "input".to_string(),
7211            Self::InsertChart => "insert_chart".to_string(),
7212            Self::InsertComment => "insert_comment".to_string(),
7213            Self::InsertDriveFile => "insert_drive_file".to_string(),
7214            Self::InsertEmoticon => "insert_emoticon".to_string(),
7215            Self::InsertInvitation => "insert_invitation".to_string(),
7216            Self::InsertLink => "insert_link".to_string(),
7217            Self::InsertPhoto => "insert_photo".to_string(),
7218            Self::Insights => "insights".to_string(),
7219            Self::IntegrationInstructions => "integration_instructions".to_string(),
7220            Self::Inventory => "inventory".to_string(),
7221            Self::Inventory2 => "inventory_2".to_string(),
7222            Self::InvertColors => "invert_colors".to_string(),
7223            Self::InvertColorsOff => "invert_colors_off".to_string(),
7224            Self::InvertColorsOn => "invert_colors_on".to_string(),
7225            Self::IosShare => "ios_share".to_string(),
7226            Self::Iron => "iron".to_string(),
7227            Self::Iso => "iso".to_string(),
7228            Self::Kayaking => "kayaking".to_string(),
7229            Self::Keyboard => "keyboard".to_string(),
7230            Self::KeyboardAlt => "keyboard_alt".to_string(),
7231            Self::KeyboardArrowDown => "keyboard_arrow_down".to_string(),
7232            Self::KeyboardArrowLeft => "keyboard_arrow_left".to_string(),
7233            Self::KeyboardArrowRight => "keyboard_arrow_right".to_string(),
7234            Self::KeyboardArrowUp => "keyboard_arrow_up".to_string(),
7235            Self::KeyboardBackspace => "keyboard_backspace".to_string(),
7236            Self::KeyboardCapslock => "keyboard_capslock".to_string(),
7237            Self::KeyboardControl => "keyboard_control".to_string(),
7238            Self::KeyboardHide => "keyboard_hide".to_string(),
7239            Self::KeyboardReturn => "keyboard_return".to_string(),
7240            Self::KeyboardTab => "keyboard_tab".to_string(),
7241            Self::KeyboardVoice => "keyboard_voice".to_string(),
7242            Self::KingBed => "king_bed".to_string(),
7243            Self::Kitchen => "kitchen".to_string(),
7244            Self::Kitesurfing => "kitesurfing".to_string(),
7245            Self::Label => "label".to_string(),
7246            Self::LabelImportant => "label_important".to_string(),
7247            Self::LabelImportantOutline => "label_important_outline".to_string(),
7248            Self::LabelOff => "label_off".to_string(),
7249            Self::LabelOutline => "label_outline".to_string(),
7250            Self::Landscape => "landscape".to_string(),
7251            Self::Language => "language".to_string(),
7252            Self::Laptop => "laptop".to_string(),
7253            Self::LaptopChromebook => "laptop_chromebook".to_string(),
7254            Self::LaptopMac => "laptop_mac".to_string(),
7255            Self::LaptopWindows => "laptop_windows".to_string(),
7256            Self::LastPage => "last_page".to_string(),
7257            Self::Launch => "launch".to_string(),
7258            Self::Layers => "layers".to_string(),
7259            Self::LayersClear => "layers_clear".to_string(),
7260            Self::Leaderboard => "leaderboard".to_string(),
7261            Self::LeakAdd => "leak_add".to_string(),
7262            Self::LeakRemove => "leak_remove".to_string(),
7263            Self::LeaveBagsAtHome => "leave_bags_at_home".to_string(),
7264            Self::LegendToggle => "legend_toggle".to_string(),
7265            Self::Lens => "lens".to_string(),
7266            Self::LensBlur => "lens_blur".to_string(),
7267            Self::LibraryAdd => "library_add".to_string(),
7268            Self::LibraryAddCheck => "library_add_check".to_string(),
7269            Self::LibraryBooks => "library_books".to_string(),
7270            Self::LibraryMusic => "library_music".to_string(),
7271            Self::Light => "light".to_string(),
7272            Self::LightMode => "light_mode".to_string(),
7273            Self::Lightbulb => "lightbulb".to_string(),
7274            Self::LightbulbOutline => "lightbulb_outline".to_string(),
7275            Self::LineStyle => "line_style".to_string(),
7276            Self::LineWeight => "line_weight".to_string(),
7277            Self::LinearScale => "linear_scale".to_string(),
7278            Self::Link => "link".to_string(),
7279            Self::LinkOff => "link_off".to_string(),
7280            Self::LinkedCamera => "linked_camera".to_string(),
7281            Self::Liquor => "liquor".to_string(),
7282            Self::List => "list".to_string(),
7283            Self::ListAlt => "list_alt".to_string(),
7284            Self::LiveHelp => "live_help".to_string(),
7285            Self::LiveTv => "live_tv".to_string(),
7286            Self::Living => "living".to_string(),
7287            Self::LocalActivity => "local_activity".to_string(),
7288            Self::LocalAirport => "local_airport".to_string(),
7289            Self::LocalAtm => "local_atm".to_string(),
7290            Self::LocalAttraction => "local_attraction".to_string(),
7291            Self::LocalBar => "local_bar".to_string(),
7292            Self::LocalCafe => "local_cafe".to_string(),
7293            Self::LocalCarWash => "local_car_wash".to_string(),
7294            Self::LocalConvenienceStore => "local_convenience_store".to_string(),
7295            Self::LocalDining => "local_dining".to_string(),
7296            Self::LocalDrink => "local_drink".to_string(),
7297            Self::LocalFireDepartment => "local_fire_department".to_string(),
7298            Self::LocalFlorist => "local_florist".to_string(),
7299            Self::LocalGasStation => "local_gas_station".to_string(),
7300            Self::LocalGroceryStore => "local_grocery_store".to_string(),
7301            Self::LocalHospital => "local_hospital".to_string(),
7302            Self::LocalHotel => "local_hotel".to_string(),
7303            Self::LocalLaundryService => "local_laundry_service".to_string(),
7304            Self::LocalLibrary => "local_library".to_string(),
7305            Self::LocalMall => "local_mall".to_string(),
7306            Self::LocalMovies => "local_movies".to_string(),
7307            Self::LocalOffer => "local_offer".to_string(),
7308            Self::LocalParking => "local_parking".to_string(),
7309            Self::LocalPharmacy => "local_pharmacy".to_string(),
7310            Self::LocalPhone => "local_phone".to_string(),
7311            Self::LocalPizza => "local_pizza".to_string(),
7312            Self::LocalPlay => "local_play".to_string(),
7313            Self::LocalPolice => "local_police".to_string(),
7314            Self::LocalPostOffice => "local_post_office".to_string(),
7315            Self::LocalPrintShop => "local_print_shop".to_string(),
7316            Self::LocalPrintshop => "local_printshop".to_string(),
7317            Self::LocalRestaurant => "local_restaurant".to_string(),
7318            Self::LocalSee => "local_see".to_string(),
7319            Self::LocalShipping => "local_shipping".to_string(),
7320            Self::LocalTaxi => "local_taxi".to_string(),
7321            Self::LocationCity => "location_city".to_string(),
7322            Self::LocationDisabled => "location_disabled".to_string(),
7323            Self::LocationHistory => "location_history".to_string(),
7324            Self::LocationOff => "location_off".to_string(),
7325            Self::LocationOn => "location_on".to_string(),
7326            Self::LocationPin => "location_pin".to_string(),
7327            Self::LocationSearching => "location_searching".to_string(),
7328            Self::Lock => "lock".to_string(),
7329            Self::LockClock => "lock_clock".to_string(),
7330            Self::LockOpen => "lock_open".to_string(),
7331            Self::LockOutline => "lock_outline".to_string(),
7332            Self::Login => "login".to_string(),
7333            Self::Logout => "logout".to_string(),
7334            Self::Looks => "looks".to_string(),
7335            Self::Looks3 => "looks_3".to_string(),
7336            Self::Looks4 => "looks_4".to_string(),
7337            Self::Looks5 => "looks_5".to_string(),
7338            Self::Looks6 => "looks_6".to_string(),
7339            Self::LooksOne => "looks_one".to_string(),
7340            Self::LooksTwo => "looks_two".to_string(),
7341            Self::Loop => "loop".to_string(),
7342            Self::Loupe => "loupe".to_string(),
7343            Self::LowPriority => "low_priority".to_string(),
7344            Self::Loyalty => "loyalty".to_string(),
7345            Self::LteMobiledata => "lte_mobiledata".to_string(),
7346            Self::LtePlusMobiledata => "lte_plus_mobiledata".to_string(),
7347            Self::Luggage => "luggage".to_string(),
7348            Self::LunchDining => "lunch_dining".to_string(),
7349            Self::Mail => "mail".to_string(),
7350            Self::MailOutline => "mail_outline".to_string(),
7351            Self::Male => "male".to_string(),
7352            Self::ManageAccounts => "manage_accounts".to_string(),
7353            Self::ManageSearch => "manage_search".to_string(),
7354            Self::Map => "map".to_string(),
7355            Self::MapsHomeWork => "maps_home_work".to_string(),
7356            Self::MapsUgc => "maps_ugc".to_string(),
7357            Self::Margin => "margin".to_string(),
7358            Self::MarkAsUnread => "mark_as_unread".to_string(),
7359            Self::MarkChatRead => "mark_chat_read".to_string(),
7360            Self::MarkChatUnread => "mark_chat_unread".to_string(),
7361            Self::MarkEmailRead => "mark_email_read".to_string(),
7362            Self::MarkEmailUnread => "mark_email_unread".to_string(),
7363            Self::Markunread => "markunread".to_string(),
7364            Self::MarkunreadMailbox => "markunread_mailbox".to_string(),
7365            Self::Masks => "masks".to_string(),
7366            Self::Maximize => "maximize".to_string(),
7367            Self::MediaBluetoothOff => "media_bluetooth_off".to_string(),
7368            Self::MediaBluetoothOn => "media_bluetooth_on".to_string(),
7369            Self::Mediation => "mediation".to_string(),
7370            Self::MedicalServices => "medical_services".to_string(),
7371            Self::Medication => "medication".to_string(),
7372            Self::MeetingRoom => "meeting_room".to_string(),
7373            Self::Memory => "memory".to_string(),
7374            Self::Menu => "menu".to_string(),
7375            Self::MenuBook => "menu_book".to_string(),
7376            Self::MenuOpen => "menu_open".to_string(),
7377            Self::MergeType => "merge_type".to_string(),
7378            Self::Message => "message".to_string(),
7379            Self::Messenger => "messenger".to_string(),
7380            Self::MessengerOutline => "messenger_outline".to_string(),
7381            Self::Mic => "mic".to_string(),
7382            Self::MicExternalOff => "mic_external_off".to_string(),
7383            Self::MicExternalOn => "mic_external_on".to_string(),
7384            Self::MicNone => "mic_none".to_string(),
7385            Self::MicOff => "mic_off".to_string(),
7386            Self::Microwave => "microwave".to_string(),
7387            Self::MilitaryTech => "military_tech".to_string(),
7388            Self::Minimize => "minimize".to_string(),
7389            Self::MiscellaneousServices => "miscellaneous_services".to_string(),
7390            Self::MissedVideoCall => "missed_video_call".to_string(),
7391            Self::Mms => "mms".to_string(),
7392            Self::MobileFriendly => "mobile_friendly".to_string(),
7393            Self::MobileOff => "mobile_off".to_string(),
7394            Self::MobileScreenShare => "mobile_screen_share".to_string(),
7395            Self::MobiledataOff => "mobiledata_off".to_string(),
7396            Self::Mode => "mode".to_string(),
7397            Self::ModeComment => "mode_comment".to_string(),
7398            Self::ModeEdit => "mode_edit".to_string(),
7399            Self::ModeEditOutline => "mode_edit_outline".to_string(),
7400            Self::ModeNight => "mode_night".to_string(),
7401            Self::ModeStandby => "mode_standby".to_string(),
7402            Self::ModelTraining => "model_training".to_string(),
7403            Self::MonetizationOn => "monetization_on".to_string(),
7404            Self::Money => "money".to_string(),
7405            Self::MoneyOff => "money_off".to_string(),
7406            Self::MoneyOffCsred => "money_off_csred".to_string(),
7407            Self::Monitor => "monitor".to_string(),
7408            Self::MonitorWeight => "monitor_weight".to_string(),
7409            Self::MonochromePhotos => "monochrome_photos".to_string(),
7410            Self::Mood => "mood".to_string(),
7411            Self::MoodBad => "mood_bad".to_string(),
7412            Self::Moped => "moped".to_string(),
7413            Self::More => "more".to_string(),
7414            Self::MoreHoriz => "more_horiz".to_string(),
7415            Self::MoreTime => "more_time".to_string(),
7416            Self::MoreVert => "more_vert".to_string(),
7417            Self::MotionPhotosAuto => "motion_photos_auto".to_string(),
7418            Self::MotionPhotosOff => "motion_photos_off".to_string(),
7419            Self::MotionPhotosOn => "motion_photos_on".to_string(),
7420            Self::MotionPhotosPause => "motion_photos_pause".to_string(),
7421            Self::MotionPhotosPaused => "motion_photos_paused".to_string(),
7422            Self::Motorcycle => "motorcycle".to_string(),
7423            Self::Mouse => "mouse".to_string(),
7424            Self::MoveToInbox => "move_to_inbox".to_string(),
7425            Self::Movie => "movie".to_string(),
7426            Self::MovieCreation => "movie_creation".to_string(),
7427            Self::MovieFilter => "movie_filter".to_string(),
7428            Self::Moving => "moving".to_string(),
7429            Self::Mp => "mp".to_string(),
7430            Self::MultilineChart => "multiline_chart".to_string(),
7431            Self::MultipleStop => "multiple_stop".to_string(),
7432            Self::MultitrackAudio => "multitrack_audio".to_string(),
7433            Self::Museum => "museum".to_string(),
7434            Self::MusicNote => "music_note".to_string(),
7435            Self::MusicOff => "music_off".to_string(),
7436            Self::MusicVideo => "music_video".to_string(),
7437            Self::MyLibraryAdd => "my_library_add".to_string(),
7438            Self::MyLibraryBooks => "my_library_books".to_string(),
7439            Self::MyLibraryMusic => "my_library_music".to_string(),
7440            Self::MyLocation => "my_location".to_string(),
7441            Self::Nat => "nat".to_string(),
7442            Self::Nature => "nature".to_string(),
7443            Self::NaturePeople => "nature_people".to_string(),
7444            Self::NavigateBefore => "navigate_before".to_string(),
7445            Self::NavigateNext => "navigate_next".to_string(),
7446            Self::Navigation => "navigation".to_string(),
7447            Self::NearMe => "near_me".to_string(),
7448            Self::NearMeDisabled => "near_me_disabled".to_string(),
7449            Self::NearbyError => "nearby_error".to_string(),
7450            Self::NearbyOff => "nearby_off".to_string(),
7451            Self::NetworkCell => "network_cell".to_string(),
7452            Self::NetworkCheck => "network_check".to_string(),
7453            Self::NetworkLocked => "network_locked".to_string(),
7454            Self::NetworkWifi => "network_wifi".to_string(),
7455            Self::NewLabel => "new_label".to_string(),
7456            Self::NewReleases => "new_releases".to_string(),
7457            Self::NextPlan => "next_plan".to_string(),
7458            Self::NextWeek => "next_week".to_string(),
7459            Self::Nfc => "nfc".to_string(),
7460            Self::NightShelter => "night_shelter".to_string(),
7461            Self::Nightlife => "nightlife".to_string(),
7462            Self::Nightlight => "nightlight".to_string(),
7463            Self::NightlightRound => "nightlight_round".to_string(),
7464            Self::NightsStay => "nights_stay".to_string(),
7465            Self::NineK => "nine_k".to_string(),
7466            Self::NineKPlus => "nine_k_plus".to_string(),
7467            Self::NineMp => "nine_mp".to_string(),
7468            Self::NineteenMp => "nineteen_mp".to_string(),
7469            Self::NoAccounts => "no_accounts".to_string(),
7470            Self::NoBackpack => "no_backpack".to_string(),
7471            Self::NoCell => "no_cell".to_string(),
7472            Self::NoDrinks => "no_drinks".to_string(),
7473            Self::NoEncryption => "no_encryption".to_string(),
7474            Self::NoEncryptionGmailerrorred => "no_encryption_gmailerrorred".to_string(),
7475            Self::NoFlash => "no_flash".to_string(),
7476            Self::NoFood => "no_food".to_string(),
7477            Self::NoLuggage => "no_luggage".to_string(),
7478            Self::NoMeals => "no_meals".to_string(),
7479            Self::NoMealsOuline => "no_meals_ouline".to_string(),
7480            Self::NoMeetingRoom => "no_meeting_room".to_string(),
7481            Self::NoPhotography => "no_photography".to_string(),
7482            Self::NoSim => "no_sim".to_string(),
7483            Self::NoStroller => "no_stroller".to_string(),
7484            Self::NoTransfer => "no_transfer".to_string(),
7485            Self::NordicWalking => "nordic_walking".to_string(),
7486            Self::North => "north".to_string(),
7487            Self::NorthEast => "north_east".to_string(),
7488            Self::NorthWest => "north_west".to_string(),
7489            Self::NotAccessible => "not_accessible".to_string(),
7490            Self::NotInterested => "not_interested".to_string(),
7491            Self::NotListedLocation => "not_listed_location".to_string(),
7492            Self::NotStarted => "not_started".to_string(),
7493            Self::Note => "note".to_string(),
7494            Self::NoteAdd => "note_add".to_string(),
7495            Self::NoteAlt => "note_alt".to_string(),
7496            Self::Notes => "notes".to_string(),
7497            Self::NotificationAdd => "notification_add".to_string(),
7498            Self::NotificationImportant => "notification_important".to_string(),
7499            Self::Notifications => "notifications".to_string(),
7500            Self::NotificationsActive => "notifications_active".to_string(),
7501            Self::NotificationsNone => "notifications_none".to_string(),
7502            Self::NotificationsOff => "notifications_off".to_string(),
7503            Self::NotificationsOn => "notifications_on".to_string(),
7504            Self::NotificationsPaused => "notifications_paused".to_string(),
7505            Self::NowWallpaper => "now_wallpaper".to_string(),
7506            Self::NowWidgets => "now_widgets".to_string(),
7507            Self::OfflineBolt => "offline_bolt".to_string(),
7508            Self::OfflinePin => "offline_pin".to_string(),
7509            Self::OfflineShare => "offline_share".to_string(),
7510            Self::OndemandVideo => "ondemand_video".to_string(),
7511            Self::OneK => "one_k".to_string(),
7512            Self::OneKPlus => "one_k_plus".to_string(),
7513            Self::OneXMobiledata => "one_x_mobiledata".to_string(),
7514            Self::OnlinePrediction => "online_prediction".to_string(),
7515            Self::Opacity => "opacity".to_string(),
7516            Self::OpenInBrowser => "open_in_browser".to_string(),
7517            Self::OpenInFull => "open_in_full".to_string(),
7518            Self::OpenInNew => "open_in_new".to_string(),
7519            Self::OpenInNewOff => "open_in_new_off".to_string(),
7520            Self::OpenWith => "open_with".to_string(),
7521            Self::OtherHouses => "other_houses".to_string(),
7522            Self::Outbond => "outbond".to_string(),
7523            Self::Outbound => "outbound".to_string(),
7524            Self::Outbox => "outbox".to_string(),
7525            Self::OutdoorGrill => "outdoor_grill".to_string(),
7526            Self::OutgoingMail => "outgoing_mail".to_string(),
7527            Self::Outlet => "outlet".to_string(),
7528            Self::OutlinedFlag => "outlined_flag".to_string(),
7529            Self::Padding => "padding".to_string(),
7530            Self::Pages => "pages".to_string(),
7531            Self::Pageview => "pageview".to_string(),
7532            Self::Paid => "paid".to_string(),
7533            Self::Palette => "palette".to_string(),
7534            Self::PanTool => "pan_tool".to_string(),
7535            Self::Panorama => "panorama".to_string(),
7536            Self::PanoramaFishEye => "panorama_fish_eye".to_string(),
7537            Self::PanoramaFisheye => "panorama_fisheye".to_string(),
7538            Self::PanoramaHorizontal => "panorama_horizontal".to_string(),
7539            Self::PanoramaHorizontalSelect => "panorama_horizontal_select".to_string(),
7540            Self::PanoramaPhotosphere => "panorama_photosphere".to_string(),
7541            Self::PanoramaPhotosphereSelect => "panorama_photosphere_select".to_string(),
7542            Self::PanoramaVertical => "panorama_vertical".to_string(),
7543            Self::PanoramaVerticalSelect => "panorama_vertical_select".to_string(),
7544            Self::PanoramaWideAngle => "panorama_wide_angle".to_string(),
7545            Self::PanoramaWideAngleSelect => "panorama_wide_angle_select".to_string(),
7546            Self::Paragliding => "paragliding".to_string(),
7547            Self::Park => "park".to_string(),
7548            Self::PartyMode => "party_mode".to_string(),
7549            Self::Password => "password".to_string(),
7550            Self::Paste => "paste".to_string(),
7551            Self::Pattern => "pattern".to_string(),
7552            Self::Pause => "pause".to_string(),
7553            Self::PauseCircle => "pause_circle".to_string(),
7554            Self::PauseCircleFilled => "pause_circle_filled".to_string(),
7555            Self::PauseCircleOutline => "pause_circle_outline".to_string(),
7556            Self::PausePresentation => "pause_presentation".to_string(),
7557            Self::Payment => "payment".to_string(),
7558            Self::Payments => "payments".to_string(),
7559            Self::PedalBike => "pedal_bike".to_string(),
7560            Self::Pending => "pending".to_string(),
7561            Self::PendingActions => "pending_actions".to_string(),
7562            Self::People => "people".to_string(),
7563            Self::PeopleAlt => "people_alt".to_string(),
7564            Self::PeopleOutline => "people_outline".to_string(),
7565            Self::PermCameraMic => "perm_camera_mic".to_string(),
7566            Self::PermContactCal => "perm_contact_cal".to_string(),
7567            Self::PermContactCalendar => "perm_contact_calendar".to_string(),
7568            Self::PermDataSetting => "perm_data_setting".to_string(),
7569            Self::PermDeviceInfo => "perm_device_info".to_string(),
7570            Self::PermDeviceInformation => "perm_device_information".to_string(),
7571            Self::PermIdentity => "perm_identity".to_string(),
7572            Self::PermMedia => "perm_media".to_string(),
7573            Self::PermPhoneMsg => "perm_phone_msg".to_string(),
7574            Self::PermScanWifi => "perm_scan_wifi".to_string(),
7575            Self::Person => "person".to_string(),
7576            Self::PersonAdd => "person_add".to_string(),
7577            Self::PersonAddAlt => "person_add_alt".to_string(),
7578            Self::PersonAddAlt1 => "person_add_alt_1".to_string(),
7579            Self::PersonAddDisabled => "person_add_disabled".to_string(),
7580            Self::PersonOff => "person_off".to_string(),
7581            Self::PersonOutline => "person_outline".to_string(),
7582            Self::PersonPin => "person_pin".to_string(),
7583            Self::PersonPinCircle => "person_pin_circle".to_string(),
7584            Self::PersonRemove => "person_remove".to_string(),
7585            Self::PersonRemoveAlt1 => "person_remove_alt_1".to_string(),
7586            Self::PersonSearch => "person_search".to_string(),
7587            Self::PersonalInjury => "personal_injury".to_string(),
7588            Self::PersonalVideo => "personal_video".to_string(),
7589            Self::PestControl => "pest_control".to_string(),
7590            Self::PestControlRodent => "pest_control_rodent".to_string(),
7591            Self::Pets => "pets".to_string(),
7592            Self::Phone => "phone".to_string(),
7593            Self::PhoneAndroid => "phone_android".to_string(),
7594            Self::PhoneBluetoothSpeaker => "phone_bluetooth_speaker".to_string(),
7595            Self::PhoneCallback => "phone_callback".to_string(),
7596            Self::PhoneDisabled => "phone_disabled".to_string(),
7597            Self::PhoneEnabled => "phone_enabled".to_string(),
7598            Self::PhoneForwarded => "phone_forwarded".to_string(),
7599            Self::PhoneInTalk => "phone_in_talk".to_string(),
7600            Self::PhoneIphone => "phone_iphone".to_string(),
7601            Self::PhoneLocked => "phone_locked".to_string(),
7602            Self::PhoneMissed => "phone_missed".to_string(),
7603            Self::PhonePaused => "phone_paused".to_string(),
7604            Self::Phonelink => "phonelink".to_string(),
7605            Self::PhonelinkErase => "phonelink_erase".to_string(),
7606            Self::PhonelinkLock => "phonelink_lock".to_string(),
7607            Self::PhonelinkOff => "phonelink_off".to_string(),
7608            Self::PhonelinkRing => "phonelink_ring".to_string(),
7609            Self::PhonelinkSetup => "phonelink_setup".to_string(),
7610            Self::Photo => "photo".to_string(),
7611            Self::PhotoAlbum => "photo_album".to_string(),
7612            Self::PhotoCamera => "photo_camera".to_string(),
7613            Self::PhotoCameraBack => "photo_camera_back".to_string(),
7614            Self::PhotoCameraFront => "photo_camera_front".to_string(),
7615            Self::PhotoFilter => "photo_filter".to_string(),
7616            Self::PhotoLibrary => "photo_library".to_string(),
7617            Self::PhotoSizeSelectActual => "photo_size_select_actual".to_string(),
7618            Self::PhotoSizeSelectLarge => "photo_size_select_large".to_string(),
7619            Self::PhotoSizeSelectSmall => "photo_size_select_small".to_string(),
7620            Self::Piano => "piano".to_string(),
7621            Self::PianoOff => "piano_off".to_string(),
7622            Self::PictureAsPdf => "picture_as_pdf".to_string(),
7623            Self::PictureInPicture => "picture_in_picture".to_string(),
7624            Self::PictureInPictureAlt => "picture_in_picture_alt".to_string(),
7625            Self::PieChart => "pie_chart".to_string(),
7626            Self::PieChartOutline => "pie_chart_outline".to_string(),
7627            Self::Pin => "pin".to_string(),
7628            Self::PinDrop => "pin_drop".to_string(),
7629            Self::PivotTableChart => "pivot_table_chart".to_string(),
7630            Self::Place => "place".to_string(),
7631            Self::Plagiarism => "plagiarism".to_string(),
7632            Self::PlayArrow => "play_arrow".to_string(),
7633            Self::PlayCircle => "play_circle".to_string(),
7634            Self::PlayCircleFill => "play_circle_fill".to_string(),
7635            Self::PlayCircleFilled => "play_circle_filled".to_string(),
7636            Self::PlayCircleOutline => "play_circle_outline".to_string(),
7637            Self::PlayDisabled => "play_disabled".to_string(),
7638            Self::PlayForWork => "play_for_work".to_string(),
7639            Self::PlayLesson => "play_lesson".to_string(),
7640            Self::PlaylistAdd => "playlist_add".to_string(),
7641            Self::PlaylistAddCheck => "playlist_add_check".to_string(),
7642            Self::PlaylistPlay => "playlist_play".to_string(),
7643            Self::Plumbing => "plumbing".to_string(),
7644            Self::PlusOne => "plus_one".to_string(),
7645            Self::Podcasts => "podcasts".to_string(),
7646            Self::PointOfSale => "point_of_sale".to_string(),
7647            Self::Policy => "policy".to_string(),
7648            Self::Poll => "poll".to_string(),
7649            Self::Polymer => "polymer".to_string(),
7650            Self::Pool => "pool".to_string(),
7651            Self::PortableWifiOff => "portable_wifi_off".to_string(),
7652            Self::Portrait => "portrait".to_string(),
7653            Self::PostAdd => "post_add".to_string(),
7654            Self::Power => "power".to_string(),
7655            Self::PowerInput => "power_input".to_string(),
7656            Self::PowerOff => "power_off".to_string(),
7657            Self::PowerSettingsNew => "power_settings_new".to_string(),
7658            Self::PrecisionManufacturing => "precision_manufacturing".to_string(),
7659            Self::PregnantWoman => "pregnant_woman".to_string(),
7660            Self::PresentToAll => "present_to_all".to_string(),
7661            Self::Preview => "preview".to_string(),
7662            Self::PriceChange => "price_change".to_string(),
7663            Self::PriceCheck => "price_check".to_string(),
7664            Self::Print => "print".to_string(),
7665            Self::PrintDisabled => "print_disabled".to_string(),
7666            Self::PriorityHigh => "priority_high".to_string(),
7667            Self::PrivacyTip => "privacy_tip".to_string(),
7668            Self::ProductionQuantityLimits => "production_quantity_limits".to_string(),
7669            Self::Psychology => "psychology".to_string(),
7670            Self::Public => "public".to_string(),
7671            Self::PublicOff => "public_off".to_string(),
7672            Self::Publish => "publish".to_string(),
7673            Self::PublishedWithChanges => "published_with_changes".to_string(),
7674            Self::PushPin => "push_pin".to_string(),
7675            Self::QrCode => "qr_code".to_string(),
7676            Self::QrCode2 => "qr_code_2".to_string(),
7677            Self::QrCodeScanner => "qr_code_scanner".to_string(),
7678            Self::QueryBuilder => "query_builder".to_string(),
7679            Self::QueryStats => "query_stats".to_string(),
7680            Self::QuestionAnswer => "question_answer".to_string(),
7681            Self::Queue => "queue".to_string(),
7682            Self::QueueMusic => "queue_music".to_string(),
7683            Self::QueuePlayNext => "queue_play_next".to_string(),
7684            Self::QuickContactsDialer => "quick_contacts_dialer".to_string(),
7685            Self::QuickContactsMail => "quick_contacts_mail".to_string(),
7686            Self::Quickreply => "quickreply".to_string(),
7687            Self::Quiz => "quiz".to_string(),
7688            Self::RMobiledata => "r_mobiledata".to_string(),
7689            Self::Radar => "radar".to_string(),
7690            Self::Radio => "radio".to_string(),
7691            Self::RadioButtonChecked => "radio_button_checked".to_string(),
7692            Self::RadioButtonOff => "radio_button_off".to_string(),
7693            Self::RadioButtonOn => "radio_button_on".to_string(),
7694            Self::RadioButtonUnchecked => "radio_button_unchecked".to_string(),
7695            Self::RailwayAlert => "railway_alert".to_string(),
7696            Self::RamenDining => "ramen_dining".to_string(),
7697            Self::RateReview => "rate_review".to_string(),
7698            Self::RawOff => "raw_off".to_string(),
7699            Self::RawOn => "raw_on".to_string(),
7700            Self::ReadMore => "read_more".to_string(),
7701            Self::RealEstateAgent => "real_estate_agent".to_string(),
7702            Self::Receipt => "receipt".to_string(),
7703            Self::ReceiptLong => "receipt_long".to_string(),
7704            Self::RecentActors => "recent_actors".to_string(),
7705            Self::Recommend => "recommend".to_string(),
7706            Self::RecordVoiceOver => "record_voice_over".to_string(),
7707            Self::Redeem => "redeem".to_string(),
7708            Self::Redo => "redo".to_string(),
7709            Self::ReduceCapacity => "reduce_capacity".to_string(),
7710            Self::Refresh => "refresh".to_string(),
7711            Self::RememberMe => "remember_me".to_string(),
7712            Self::Remove => "remove".to_string(),
7713            Self::RemoveCircle => "remove_circle".to_string(),
7714            Self::RemoveCircleOutline => "remove_circle_outline".to_string(),
7715            Self::RemoveDone => "remove_done".to_string(),
7716            Self::RemoveFromQueue => "remove_from_queue".to_string(),
7717            Self::RemoveModerator => "remove_moderator".to_string(),
7718            Self::RemoveRedEye => "remove_red_eye".to_string(),
7719            Self::RemoveShoppingCart => "remove_shopping_cart".to_string(),
7720            Self::Reorder => "reorder".to_string(),
7721            Self::Repeat => "repeat".to_string(),
7722            Self::RepeatOn => "repeat_on".to_string(),
7723            Self::RepeatOne => "repeat_one".to_string(),
7724            Self::RepeatOneOn => "repeat_one_on".to_string(),
7725            Self::Replay => "replay".to_string(),
7726            Self::Replay10 => "replay_10".to_string(),
7727            Self::Replay30 => "replay_30".to_string(),
7728            Self::Replay5 => "replay_5".to_string(),
7729            Self::ReplayCircleFilled => "replay_circle_filled".to_string(),
7730            Self::Reply => "reply".to_string(),
7731            Self::ReplyAll => "reply_all".to_string(),
7732            Self::Report => "report".to_string(),
7733            Self::ReportGmailerrorred => "report_gmailerrorred".to_string(),
7734            Self::ReportOff => "report_off".to_string(),
7735            Self::ReportProblem => "report_problem".to_string(),
7736            Self::RequestPage => "request_page".to_string(),
7737            Self::RequestQuote => "request_quote".to_string(),
7738            Self::ResetTv => "reset_tv".to_string(),
7739            Self::RestartAlt => "restart_alt".to_string(),
7740            Self::Restaurant => "restaurant".to_string(),
7741            Self::RestaurantMenu => "restaurant_menu".to_string(),
7742            Self::Restore => "restore".to_string(),
7743            Self::RestoreFromTrash => "restore_from_trash".to_string(),
7744            Self::RestorePage => "restore_page".to_string(),
7745            Self::Reviews => "reviews".to_string(),
7746            Self::RiceBowl => "rice_bowl".to_string(),
7747            Self::RingVolume => "ring_volume".to_string(),
7748            Self::Roofing => "roofing".to_string(),
7749            Self::Room => "room".to_string(),
7750            Self::RoomPreferences => "room_preferences".to_string(),
7751            Self::RoomService => "room_service".to_string(),
7752            Self::Rotate90DegreesCcw => "rotate_90_degrees_ccw".to_string(),
7753            Self::RotateLeft => "rotate_left".to_string(),
7754            Self::RotateRight => "rotate_right".to_string(),
7755            Self::RoundedCorner => "rounded_corner".to_string(),
7756            Self::Router => "router".to_string(),
7757            Self::Rowing => "rowing".to_string(),
7758            Self::RssFeed => "rss_feed".to_string(),
7759            Self::Rsvp => "rsvp".to_string(),
7760            Self::Rtt => "rtt".to_string(),
7761            Self::Rule => "rule".to_string(),
7762            Self::RuleFolder => "rule_folder".to_string(),
7763            Self::RunCircle => "run_circle".to_string(),
7764            Self::RunningWithErrors => "running_with_errors".to_string(),
7765            Self::RvHookup => "rv_hookup".to_string(),
7766            Self::SafetyDivider => "safety_divider".to_string(),
7767            Self::Sailing => "sailing".to_string(),
7768            Self::Sanitizer => "sanitizer".to_string(),
7769            Self::Satellite => "satellite".to_string(),
7770            Self::Save => "save".to_string(),
7771            Self::SaveAlt => "save_alt".to_string(),
7772            Self::SavedSearch => "saved_search".to_string(),
7773            Self::Savings => "savings".to_string(),
7774            Self::Scanner => "scanner".to_string(),
7775            Self::ScatterPlot => "scatter_plot".to_string(),
7776            Self::Schedule => "schedule".to_string(),
7777            Self::ScheduleSend => "schedule_send".to_string(),
7778            Self::Schema => "schema".to_string(),
7779            Self::School => "school".to_string(),
7780            Self::Science => "science".to_string(),
7781            Self::Score => "score".to_string(),
7782            Self::ScreenLockLandscape => "screen_lock_landscape".to_string(),
7783            Self::ScreenLockPortrait => "screen_lock_portrait".to_string(),
7784            Self::ScreenLockRotation => "screen_lock_rotation".to_string(),
7785            Self::ScreenRotation => "screen_rotation".to_string(),
7786            Self::ScreenSearchDesktop => "screen_search_desktop".to_string(),
7787            Self::ScreenShare => "screen_share".to_string(),
7788            Self::Screenshot => "screenshot".to_string(),
7789            Self::Sd => "sd".to_string(),
7790            Self::SdCard => "sd_card".to_string(),
7791            Self::SdCardAlert => "sd_card_alert".to_string(),
7792            Self::SdStorage => "sd_storage".to_string(),
7793            Self::Search => "search".to_string(),
7794            Self::SearchOff => "search_off".to_string(),
7795            Self::Security => "security".to_string(),
7796            Self::SecurityUpdate => "security_update".to_string(),
7797            Self::SecurityUpdateGood => "security_update_good".to_string(),
7798            Self::SecurityUpdateWarning => "security_update_warning".to_string(),
7799            Self::Segment => "segment".to_string(),
7800            Self::SelectAll => "select_all".to_string(),
7801            Self::SelfImprovement => "self_improvement".to_string(),
7802            Self::Sell => "sell".to_string(),
7803            Self::Send => "send".to_string(),
7804            Self::SendAndArchive => "send_and_archive".to_string(),
7805            Self::SendToMobile => "send_to_mobile".to_string(),
7806            Self::SensorDoor => "sensor_door".to_string(),
7807            Self::SensorWindow => "sensor_window".to_string(),
7808            Self::Sensors => "sensors".to_string(),
7809            Self::SensorsOff => "sensors_off".to_string(),
7810            Self::SentimentDissatisfied => "sentiment_dissatisfied".to_string(),
7811            Self::SentimentNeutral => "sentiment_neutral".to_string(),
7812            Self::SentimentSatisfied => "sentiment_satisfied".to_string(),
7813            Self::SentimentSatisfiedAlt => "sentiment_satisfied_alt".to_string(),
7814            Self::SentimentVeryDissatisfied => "sentiment_very_dissatisfied".to_string(),
7815            Self::SentimentVerySatisfied => "sentiment_very_satisfied".to_string(),
7816            Self::SetMeal => "set_meal".to_string(),
7817            Self::Settings => "settings".to_string(),
7818            Self::SettingsAccessibility => "settings_accessibility".to_string(),
7819            Self::SettingsApplications => "settings_applications".to_string(),
7820            Self::SettingsBackupRestore => "settings_backup_restore".to_string(),
7821            Self::SettingsBluetooth => "settings_bluetooth".to_string(),
7822            Self::SettingsBrightness => "settings_brightness".to_string(),
7823            Self::SettingsCell => "settings_cell".to_string(),
7824            Self::SettingsDisplay => "settings_display".to_string(),
7825            Self::SettingsEthernet => "settings_ethernet".to_string(),
7826            Self::SettingsInputAntenna => "settings_input_antenna".to_string(),
7827            Self::SettingsInputComponent => "settings_input_component".to_string(),
7828            Self::SettingsInputComposite => "settings_input_composite".to_string(),
7829            Self::SettingsInputHdmi => "settings_input_hdmi".to_string(),
7830            Self::SettingsInputSvideo => "settings_input_svideo".to_string(),
7831            Self::SettingsOverscan => "settings_overscan".to_string(),
7832            Self::SettingsPhone => "settings_phone".to_string(),
7833            Self::SettingsPower => "settings_power".to_string(),
7834            Self::SettingsRemote => "settings_remote".to_string(),
7835            Self::SettingsSuggest => "settings_suggest".to_string(),
7836            Self::SettingsSystemDaydream => "settings_system_daydream".to_string(),
7837            Self::SettingsVoice => "settings_voice".to_string(),
7838            Self::SevenK => "seven_k".to_string(),
7839            Self::SevenKPlus => "seven_k_plus".to_string(),
7840            Self::SevenMp => "seven_mp".to_string(),
7841            Self::SeventeenMp => "seventeen_mp".to_string(),
7842            Self::Share => "share".to_string(),
7843            Self::ShareArrivalTime => "share_arrival_time".to_string(),
7844            Self::ShareLocation => "share_location".to_string(),
7845            Self::Shield => "shield".to_string(),
7846            Self::Shop => "shop".to_string(),
7847            Self::Shop2 => "shop_2".to_string(),
7848            Self::ShopTwo => "shop_two".to_string(),
7849            Self::ShoppingBag => "shopping_bag".to_string(),
7850            Self::ShoppingBasket => "shopping_basket".to_string(),
7851            Self::ShoppingCart => "shopping_cart".to_string(),
7852            Self::ShortText => "short_text".to_string(),
7853            Self::Shortcut => "shortcut".to_string(),
7854            Self::ShowChart => "show_chart".to_string(),
7855            Self::Shower => "shower".to_string(),
7856            Self::Shuffle => "shuffle".to_string(),
7857            Self::ShuffleOn => "shuffle_on".to_string(),
7858            Self::ShutterSpeed => "shutter_speed".to_string(),
7859            Self::Sick => "sick".to_string(),
7860            Self::SignalCellular0Bar => "signal_cellular_0_bar".to_string(),
7861            Self::SignalCellular4Bar => "signal_cellular_4_bar".to_string(),
7862            Self::SignalCellularAlt => "signal_cellular_alt".to_string(),
7863            Self::SignalCellularConnectedNoInternet0Bar => {
7864                "signal_cellular_connected_no_internet_0_bar".to_string()
7865            }
7866            Self::SignalCellularConnectedNoInternet4Bar => {
7867                "signal_cellular_connected_no_internet_4_bar".to_string()
7868            }
7869            Self::SignalCellularNoSim => "signal_cellular_no_sim".to_string(),
7870            Self::SignalCellularNodata => "signal_cellular_nodata".to_string(),
7871            Self::SignalCellularNull => "signal_cellular_null".to_string(),
7872            Self::SignalCellularOff => "signal_cellular_off".to_string(),
7873            Self::SignalWifi0Bar => "signal_wifi_0_bar".to_string(),
7874            Self::SignalWifi4Bar => "signal_wifi_4_bar".to_string(),
7875            Self::SignalWifi4BarLock => "signal_wifi_4_bar_lock".to_string(),
7876            Self::SignalWifiBad => "signal_wifi_bad".to_string(),
7877            Self::SignalWifiConnectedNoInternet4 => {
7878                "signal_wifi_connected_no_internet_4".to_string()
7879            }
7880            Self::SignalWifiOff => "signal_wifi_off".to_string(),
7881            Self::SignalWifiStatusbar4Bar => "signal_wifi_statusbar_4_bar".to_string(),
7882            Self::SignalWifiStatusbarConnectedNoInternet4 => {
7883                "signal_wifi_statusbar_connected_no_internet_4".to_string()
7884            }
7885            Self::SignalWifiStatusbarNull => "signal_wifi_statusbar_null".to_string(),
7886            Self::SimCard => "sim_card".to_string(),
7887            Self::SimCardAlert => "sim_card_alert".to_string(),
7888            Self::SimCardDownload => "sim_card_download".to_string(),
7889            Self::SingleBed => "single_bed".to_string(),
7890            Self::Sip => "sip".to_string(),
7891            Self::SixFtApart => "six_ft_apart".to_string(),
7892            Self::SixK => "six_k".to_string(),
7893            Self::SixKPlus => "six_k_plus".to_string(),
7894            Self::SixMp => "six_mp".to_string(),
7895            Self::SixteenMp => "sixteen_mp".to_string(),
7896            Self::SixtyFps => "sixty_fps".to_string(),
7897            Self::SixtyFpsSelect => "sixty_fps_select".to_string(),
7898            Self::Skateboarding => "skateboarding".to_string(),
7899            Self::SkipNext => "skip_next".to_string(),
7900            Self::SkipPrevious => "skip_previous".to_string(),
7901            Self::Sledding => "sledding".to_string(),
7902            Self::Slideshow => "slideshow".to_string(),
7903            Self::SlowMotionVideo => "slow_motion_video".to_string(),
7904            Self::SmartButton => "smart_button".to_string(),
7905            Self::SmartDisplay => "smart_display".to_string(),
7906            Self::SmartScreen => "smart_screen".to_string(),
7907            Self::SmartToy => "smart_toy".to_string(),
7908            Self::Smartphone => "smartphone".to_string(),
7909            Self::SmokeFree => "smoke_free".to_string(),
7910            Self::SmokingRooms => "smoking_rooms".to_string(),
7911            Self::Sms => "sms".to_string(),
7912            Self::SmsFailed => "sms_failed".to_string(),
7913            Self::SnippetFolder => "snippet_folder".to_string(),
7914            Self::Snooze => "snooze".to_string(),
7915            Self::Snowboarding => "snowboarding".to_string(),
7916            Self::Snowmobile => "snowmobile".to_string(),
7917            Self::Snowshoeing => "snowshoeing".to_string(),
7918            Self::Soap => "soap".to_string(),
7919            Self::SocialDistance => "social_distance".to_string(),
7920            Self::Sort => "sort".to_string(),
7921            Self::SortByAlpha => "sort_by_alpha".to_string(),
7922            Self::Source => "source".to_string(),
7923            Self::South => "south".to_string(),
7924            Self::SouthEast => "south_east".to_string(),
7925            Self::SouthWest => "south_west".to_string(),
7926            Self::Spa => "spa".to_string(),
7927            Self::SpaceBar => "space_bar".to_string(),
7928            Self::SpaceDashboard => "space_dashboard".to_string(),
7929            Self::Speaker => "speaker".to_string(),
7930            Self::SpeakerGroup => "speaker_group".to_string(),
7931            Self::SpeakerNotes => "speaker_notes".to_string(),
7932            Self::SpeakerNotesOff => "speaker_notes_off".to_string(),
7933            Self::SpeakerPhone => "speaker_phone".to_string(),
7934            Self::Speed => "speed".to_string(),
7935            Self::Spellcheck => "spellcheck".to_string(),
7936            Self::Splitscreen => "splitscreen".to_string(),
7937            Self::Sports => "sports".to_string(),
7938            Self::SportsBar => "sports_bar".to_string(),
7939            Self::SportsBaseball => "sports_baseball".to_string(),
7940            Self::SportsBasketball => "sports_basketball".to_string(),
7941            Self::SportsCricket => "sports_cricket".to_string(),
7942            Self::SportsEsports => "sports_esports".to_string(),
7943            Self::SportsFootball => "sports_football".to_string(),
7944            Self::SportsGolf => "sports_golf".to_string(),
7945            Self::SportsHandball => "sports_handball".to_string(),
7946            Self::SportsHockey => "sports_hockey".to_string(),
7947            Self::SportsKabaddi => "sports_kabaddi".to_string(),
7948            Self::SportsMma => "sports_mma".to_string(),
7949            Self::SportsMotorsports => "sports_motorsports".to_string(),
7950            Self::SportsRugby => "sports_rugby".to_string(),
7951            Self::SportsScore => "sports_score".to_string(),
7952            Self::SportsSoccer => "sports_soccer".to_string(),
7953            Self::SportsTennis => "sports_tennis".to_string(),
7954            Self::SportsVolleyball => "sports_volleyball".to_string(),
7955            Self::SquareFoot => "square_foot".to_string(),
7956            Self::StackedBarChart => "stacked_bar_chart".to_string(),
7957            Self::StackedLineChart => "stacked_line_chart".to_string(),
7958            Self::Stairs => "stairs".to_string(),
7959            Self::Star => "star".to_string(),
7960            Self::StarBorder => "star_border".to_string(),
7961            Self::StarBorderPurple500 => "star_border_purple500".to_string(),
7962            Self::StarHalf => "star_half".to_string(),
7963            Self::StarOutline => "star_outline".to_string(),
7964            Self::StarPurple500 => "star_purple500".to_string(),
7965            Self::StarRate => "star_rate".to_string(),
7966            Self::Stars => "stars".to_string(),
7967            Self::StayCurrentLandscape => "stay_current_landscape".to_string(),
7968            Self::StayCurrentPortrait => "stay_current_portrait".to_string(),
7969            Self::StayPrimaryLandscape => "stay_primary_landscape".to_string(),
7970            Self::StayPrimaryPortrait => "stay_primary_portrait".to_string(),
7971            Self::StickyNote2 => "sticky_note_2".to_string(),
7972            Self::Stop => "stop".to_string(),
7973            Self::StopCircle => "stop_circle".to_string(),
7974            Self::StopScreenShare => "stop_screen_share".to_string(),
7975            Self::Storage => "storage".to_string(),
7976            Self::Store => "store".to_string(),
7977            Self::StoreMallDirectory => "store_mall_directory".to_string(),
7978            Self::Storefront => "storefront".to_string(),
7979            Self::Storm => "storm".to_string(),
7980            Self::Straighten => "straighten".to_string(),
7981            Self::Stream => "stream".to_string(),
7982            Self::Streetview => "streetview".to_string(),
7983            Self::StrikethroughS => "strikethrough_s".to_string(),
7984            Self::Stroller => "stroller".to_string(),
7985            Self::Style => "style".to_string(),
7986            Self::SubdirectoryArrowLeft => "subdirectory_arrow_left".to_string(),
7987            Self::SubdirectoryArrowRight => "subdirectory_arrow_right".to_string(),
7988            Self::Subject => "subject".to_string(),
7989            Self::Subscript => "subscript".to_string(),
7990            Self::Subscriptions => "subscriptions".to_string(),
7991            Self::Subtitles => "subtitles".to_string(),
7992            Self::SubtitlesOff => "subtitles_off".to_string(),
7993            Self::Subway => "subway".to_string(),
7994            Self::Summarize => "summarize".to_string(),
7995            Self::Superscript => "superscript".to_string(),
7996            Self::SupervisedUserCircle => "supervised_user_circle".to_string(),
7997            Self::SupervisorAccount => "supervisor_account".to_string(),
7998            Self::Support => "support".to_string(),
7999            Self::SupportAgent => "support_agent".to_string(),
8000            Self::Surfing => "surfing".to_string(),
8001            Self::SurroundSound => "surround_sound".to_string(),
8002            Self::SwapCalls => "swap_calls".to_string(),
8003            Self::SwapHoriz => "swap_horiz".to_string(),
8004            Self::SwapHorizontalCircle => "swap_horizontal_circle".to_string(),
8005            Self::SwapVert => "swap_vert".to_string(),
8006            Self::SwapVertCircle => "swap_vert_circle".to_string(),
8007            Self::SwapVerticalCircle => "swap_vertical_circle".to_string(),
8008            Self::Swipe => "swipe".to_string(),
8009            Self::SwitchAccount => "switch_account".to_string(),
8010            Self::SwitchCamera => "switch_camera".to_string(),
8011            Self::SwitchLeft => "switch_left".to_string(),
8012            Self::SwitchRight => "switch_right".to_string(),
8013            Self::SwitchVideo => "switch_video".to_string(),
8014            Self::Sync => "sync".to_string(),
8015            Self::SyncAlt => "sync_alt".to_string(),
8016            Self::SyncDisabled => "sync_disabled".to_string(),
8017            Self::SyncProblem => "sync_problem".to_string(),
8018            Self::SystemSecurityUpdate => "system_security_update".to_string(),
8019            Self::SystemSecurityUpdateGood => "system_security_update_good".to_string(),
8020            Self::SystemSecurityUpdateWarning => {
8021                "system_security_update_warning".to_string()
8022            }
8023            Self::SystemUpdate => "system_update".to_string(),
8024            Self::SystemUpdateAlt => "system_update_alt".to_string(),
8025            Self::SystemUpdateTv => "system_update_tv".to_string(),
8026            Self::Tab => "tab".to_string(),
8027            Self::TabUnselected => "tab_unselected".to_string(),
8028            Self::TableChart => "table_chart".to_string(),
8029            Self::TableRows => "table_rows".to_string(),
8030            Self::TableView => "table_view".to_string(),
8031            Self::Tablet => "tablet".to_string(),
8032            Self::TabletAndroid => "tablet_android".to_string(),
8033            Self::TabletMac => "tablet_mac".to_string(),
8034            Self::Tag => "tag".to_string(),
8035            Self::TagFaces => "tag_faces".to_string(),
8036            Self::TakeoutDining => "takeout_dining".to_string(),
8037            Self::TapAndPlay => "tap_and_play".to_string(),
8038            Self::Tapas => "tapas".to_string(),
8039            Self::Task => "task".to_string(),
8040            Self::TaskAlt => "task_alt".to_string(),
8041            Self::TaxiAlert => "taxi_alert".to_string(),
8042            Self::TenK => "ten_k".to_string(),
8043            Self::TenMp => "ten_mp".to_string(),
8044            Self::Terrain => "terrain".to_string(),
8045            Self::TextFields => "text_fields".to_string(),
8046            Self::TextFormat => "text_format".to_string(),
8047            Self::TextRotateUp => "text_rotate_up".to_string(),
8048            Self::TextRotateVertical => "text_rotate_vertical".to_string(),
8049            Self::TextRotationAngledown => "text_rotation_angledown".to_string(),
8050            Self::TextRotationAngleup => "text_rotation_angleup".to_string(),
8051            Self::TextRotationDown => "text_rotation_down".to_string(),
8052            Self::TextRotationNone => "text_rotation_none".to_string(),
8053            Self::TextSnippet => "text_snippet".to_string(),
8054            Self::Textsms => "textsms".to_string(),
8055            Self::Texture => "texture".to_string(),
8056            Self::TheaterComedy => "theater_comedy".to_string(),
8057            Self::Theaters => "theaters".to_string(),
8058            Self::Thermostat => "thermostat".to_string(),
8059            Self::ThermostatAuto => "thermostat_auto".to_string(),
8060            Self::ThirteenMp => "thirteen_mp".to_string(),
8061            Self::ThirtyFps => "thirty_fps".to_string(),
8062            Self::ThirtyFpsSelect => "thirty_fps_select".to_string(),
8063            Self::ThreeGMobiledata => "three_g_mobiledata".to_string(),
8064            Self::ThreeK => "three_k".to_string(),
8065            Self::ThreeKPlus => "three_k_plus".to_string(),
8066            Self::ThreeMp => "three_mp".to_string(),
8067            Self::ThreeP => "three_p".to_string(),
8068            Self::ThreedRotation => "threed_rotation".to_string(),
8069            Self::Threesixty => "threesixty".to_string(),
8070            Self::ThumbDown => "thumb_down".to_string(),
8071            Self::ThumbDownAlt => "thumb_down_alt".to_string(),
8072            Self::ThumbDownOffAlt => "thumb_down_off_alt".to_string(),
8073            Self::ThumbUp => "thumb_up".to_string(),
8074            Self::ThumbUpAlt => "thumb_up_alt".to_string(),
8075            Self::ThumbUpOffAlt => "thumb_up_off_alt".to_string(),
8076            Self::ThumbsUpDown => "thumbs_up_down".to_string(),
8077            Self::TimeToLeave => "time_to_leave".to_string(),
8078            Self::Timelapse => "timelapse".to_string(),
8079            Self::Timeline => "timeline".to_string(),
8080            Self::Timer => "timer".to_string(),
8081            Self::Timer10 => "timer_10".to_string(),
8082            Self::Timer10Select => "timer_10_select".to_string(),
8083            Self::Timer3 => "timer_3".to_string(),
8084            Self::Timer3Select => "timer_3_select".to_string(),
8085            Self::TimerOff => "timer_off".to_string(),
8086            Self::Title => "title".to_string(),
8087            Self::Toc => "toc".to_string(),
8088            Self::Today => "today".to_string(),
8089            Self::ToggleOff => "toggle_off".to_string(),
8090            Self::ToggleOn => "toggle_on".to_string(),
8091            Self::Toll => "toll".to_string(),
8092            Self::Tonality => "tonality".to_string(),
8093            Self::Topic => "topic".to_string(),
8094            Self::TouchApp => "touch_app".to_string(),
8095            Self::Tour => "tour".to_string(),
8096            Self::Toys => "toys".to_string(),
8097            Self::TrackChanges => "track_changes".to_string(),
8098            Self::Traffic => "traffic".to_string(),
8099            Self::Train => "train".to_string(),
8100            Self::Tram => "tram".to_string(),
8101            Self::TransferWithinAStation => "transfer_within_a_station".to_string(),
8102            Self::Transform => "transform".to_string(),
8103            Self::Transgender => "transgender".to_string(),
8104            Self::TransitEnterexit => "transit_enterexit".to_string(),
8105            Self::Translate => "translate".to_string(),
8106            Self::TravelExplore => "travel_explore".to_string(),
8107            Self::TrendingDown => "trending_down".to_string(),
8108            Self::TrendingFlat => "trending_flat".to_string(),
8109            Self::TrendingNeutral => "trending_neutral".to_string(),
8110            Self::TrendingUp => "trending_up".to_string(),
8111            Self::TripOrigin => "trip_origin".to_string(),
8112            Self::TrySmsStar => "try_sms_star".to_string(),
8113            Self::Tty => "tty".to_string(),
8114            Self::Tune => "tune".to_string(),
8115            Self::Tungsten => "tungsten".to_string(),
8116            Self::TurnedIn => "turned_in".to_string(),
8117            Self::TurnedInNot => "turned_in_not".to_string(),
8118            Self::Tv => "tv".to_string(),
8119            Self::TvOff => "tv_off".to_string(),
8120            Self::TwelveMp => "twelve_mp".to_string(),
8121            Self::TwentyFourMp => "twenty_four_mp".to_string(),
8122            Self::TwentyMp => "twenty_mp".to_string(),
8123            Self::TwentyOneMp => "twenty_one_mp".to_string(),
8124            Self::TwentyThreeMp => "twenty_three_mp".to_string(),
8125            Self::TwentyTwoMp => "twenty_two_mp".to_string(),
8126            Self::TwoK => "two_k".to_string(),
8127            Self::TwoKPlus => "two_k_plus".to_string(),
8128            Self::TwoMp => "two_mp".to_string(),
8129            Self::TwoWheeler => "two_wheeler".to_string(),
8130            Self::Umbrella => "umbrella".to_string(),
8131            Self::Unarchive => "unarchive".to_string(),
8132            Self::Undo => "undo".to_string(),
8133            Self::UnfoldLess => "unfold_less".to_string(),
8134            Self::UnfoldMore => "unfold_more".to_string(),
8135            Self::Unpublished => "unpublished".to_string(),
8136            Self::Unsubscribe => "unsubscribe".to_string(),
8137            Self::Upcoming => "upcoming".to_string(),
8138            Self::Update => "update".to_string(),
8139            Self::UpdateDisabled => "update_disabled".to_string(),
8140            Self::Upgrade => "upgrade".to_string(),
8141            Self::Upload => "upload".to_string(),
8142            Self::UploadFile => "upload_file".to_string(),
8143            Self::Usb => "usb".to_string(),
8144            Self::UsbOff => "usb_off".to_string(),
8145            Self::Verified => "verified".to_string(),
8146            Self::VerifiedUser => "verified_user".to_string(),
8147            Self::VerticalAlignBottom => "vertical_align_bottom".to_string(),
8148            Self::VerticalAlignCenter => "vertical_align_center".to_string(),
8149            Self::VerticalAlignTop => "vertical_align_top".to_string(),
8150            Self::VerticalDistribute => "vertical_distribute".to_string(),
8151            Self::VerticalSplit => "vertical_split".to_string(),
8152            Self::Vibration => "vibration".to_string(),
8153            Self::VideoCall => "video_call".to_string(),
8154            Self::VideoCameraBack => "video_camera_back".to_string(),
8155            Self::VideoCameraFront => "video_camera_front".to_string(),
8156            Self::VideoCollection => "video_collection".to_string(),
8157            Self::VideoLabel => "video_label".to_string(),
8158            Self::VideoLibrary => "video_library".to_string(),
8159            Self::VideoSettings => "video_settings".to_string(),
8160            Self::VideoStable => "video_stable".to_string(),
8161            Self::Videocam => "videocam".to_string(),
8162            Self::VideocamOff => "videocam_off".to_string(),
8163            Self::VideogameAsset => "videogame_asset".to_string(),
8164            Self::VideogameAssetOff => "videogame_asset_off".to_string(),
8165            Self::ViewAgenda => "view_agenda".to_string(),
8166            Self::ViewArray => "view_array".to_string(),
8167            Self::ViewCarousel => "view_carousel".to_string(),
8168            Self::ViewColumn => "view_column".to_string(),
8169            Self::ViewComfortable => "view_comfortable".to_string(),
8170            Self::ViewComfy => "view_comfy".to_string(),
8171            Self::ViewCompact => "view_compact".to_string(),
8172            Self::ViewDay => "view_day".to_string(),
8173            Self::ViewHeadline => "view_headline".to_string(),
8174            Self::ViewInAr => "view_in_ar".to_string(),
8175            Self::ViewList => "view_list".to_string(),
8176            Self::ViewModule => "view_module".to_string(),
8177            Self::ViewQuilt => "view_quilt".to_string(),
8178            Self::ViewSidebar => "view_sidebar".to_string(),
8179            Self::ViewStream => "view_stream".to_string(),
8180            Self::ViewWeek => "view_week".to_string(),
8181            Self::Vignette => "vignette".to_string(),
8182            Self::Villa => "villa".to_string(),
8183            Self::Visibility => "visibility".to_string(),
8184            Self::VisibilityOff => "visibility_off".to_string(),
8185            Self::VoiceChat => "voice_chat".to_string(),
8186            Self::VoiceOverOff => "voice_over_off".to_string(),
8187            Self::Voicemail => "voicemail".to_string(),
8188            Self::VolumeDown => "volume_down".to_string(),
8189            Self::VolumeMute => "volume_mute".to_string(),
8190            Self::VolumeOff => "volume_off".to_string(),
8191            Self::VolumeUp => "volume_up".to_string(),
8192            Self::VolunteerActivism => "volunteer_activism".to_string(),
8193            Self::VpnKey => "vpn_key".to_string(),
8194            Self::VpnLock => "vpn_lock".to_string(),
8195            Self::Vrpano => "vrpano".to_string(),
8196            Self::WalletGiftcard => "wallet_giftcard".to_string(),
8197            Self::WalletMembership => "wallet_membership".to_string(),
8198            Self::WalletTravel => "wallet_travel".to_string(),
8199            Self::Wallpaper => "wallpaper".to_string(),
8200            Self::Warning => "warning".to_string(),
8201            Self::WarningAmber => "warning_amber".to_string(),
8202            Self::Wash => "wash".to_string(),
8203            Self::Watch => "watch".to_string(),
8204            Self::WatchLater => "watch_later".to_string(),
8205            Self::Water => "water".to_string(),
8206            Self::WaterDamage => "water_damage".to_string(),
8207            Self::WaterfallChart => "waterfall_chart".to_string(),
8208            Self::Waves => "waves".to_string(),
8209            Self::WbAuto => "wb_auto".to_string(),
8210            Self::WbCloudy => "wb_cloudy".to_string(),
8211            Self::WbIncandescent => "wb_incandescent".to_string(),
8212            Self::WbIridescent => "wb_iridescent".to_string(),
8213            Self::WbShade => "wb_shade".to_string(),
8214            Self::WbSunny => "wb_sunny".to_string(),
8215            Self::WbTwighlight => "wb_twighlight".to_string(),
8216            Self::WbTwilight => "wb_twilight".to_string(),
8217            Self::Wc => "wc".to_string(),
8218            Self::Web => "web".to_string(),
8219            Self::WebAsset => "web_asset".to_string(),
8220            Self::WebAssetOff => "web_asset_off".to_string(),
8221            Self::WebStories => "web_stories".to_string(),
8222            Self::Weekend => "weekend".to_string(),
8223            Self::West => "west".to_string(),
8224            Self::Whatshot => "whatshot".to_string(),
8225            Self::WheelchairPickup => "wheelchair_pickup".to_string(),
8226            Self::WhereToVote => "where_to_vote".to_string(),
8227            Self::Widgets => "widgets".to_string(),
8228            Self::Wifi => "wifi".to_string(),
8229            Self::WifiCalling => "wifi_calling".to_string(),
8230            Self::WifiCalling3 => "wifi_calling_3".to_string(),
8231            Self::WifiLock => "wifi_lock".to_string(),
8232            Self::WifiOff => "wifi_off".to_string(),
8233            Self::WifiProtectedSetup => "wifi_protected_setup".to_string(),
8234            Self::WifiTethering => "wifi_tethering".to_string(),
8235            Self::WifiTetheringOff => "wifi_tethering_off".to_string(),
8236            Self::Window => "window".to_string(),
8237            Self::WineBar => "wine_bar".to_string(),
8238            Self::Work => "work".to_string(),
8239            Self::WorkOff => "work_off".to_string(),
8240            Self::WorkOutline => "work_outline".to_string(),
8241            Self::Workspaces => "workspaces".to_string(),
8242            Self::WorkspacesFilled => "workspaces_filled".to_string(),
8243            Self::WorkspacesOutline => "workspaces_outline".to_string(),
8244            Self::WrapText => "wrap_text".to_string(),
8245            Self::WrongLocation => "wrong_location".to_string(),
8246            Self::Wysiwyg => "wysiwyg".to_string(),
8247            Self::Yard => "yard".to_string(),
8248            Self::YoutubeSearchedFor => "youtube_searched_for".to_string(),
8249            Self::ZoomIn => "zoom_in".to_string(),
8250            Self::ZoomOut => "zoom_out".to_string(),
8251            Self::ZoomOutMap => "zoom_out_map".to_string(),
8252            Self::ZoomOutOutlined => "zoom_out_outlined".to_string(),
8253        }
8254    }
8255}
8256impl std::str::FromStr for StylesIconName {
8257    type Err = &'static str;
8258    fn from_str(value: &str) -> Result<Self, &'static str> {
8259        match value {
8260            "ac_unit" => Ok(Self::AcUnit),
8261            "access_alarm" => Ok(Self::AccessAlarm),
8262            "access_alarms" => Ok(Self::AccessAlarms),
8263            "access_time" => Ok(Self::AccessTime),
8264            "access_time_filled" => Ok(Self::AccessTimeFilled),
8265            "accessibility" => Ok(Self::Accessibility),
8266            "accessibility_new" => Ok(Self::AccessibilityNew),
8267            "accessible" => Ok(Self::Accessible),
8268            "accessible_forward" => Ok(Self::AccessibleForward),
8269            "account_balance" => Ok(Self::AccountBalance),
8270            "account_balance_wallet" => Ok(Self::AccountBalanceWallet),
8271            "account_box" => Ok(Self::AccountBox),
8272            "account_circle" => Ok(Self::AccountCircle),
8273            "account_tree" => Ok(Self::AccountTree),
8274            "ad_units" => Ok(Self::AdUnits),
8275            "adb" => Ok(Self::Adb),
8276            "add" => Ok(Self::Add),
8277            "add_a_photo" => Ok(Self::AddAPhoto),
8278            "add_alarm" => Ok(Self::AddAlarm),
8279            "add_alert" => Ok(Self::AddAlert),
8280            "add_box" => Ok(Self::AddBox),
8281            "add_business" => Ok(Self::AddBusiness),
8282            "add_call" => Ok(Self::AddCall),
8283            "add_chart" => Ok(Self::AddChart),
8284            "add_circle" => Ok(Self::AddCircle),
8285            "add_circle_outline" => Ok(Self::AddCircleOutline),
8286            "add_comment" => Ok(Self::AddComment),
8287            "add_ic_call" => Ok(Self::AddIcCall),
8288            "add_link" => Ok(Self::AddLink),
8289            "add_location" => Ok(Self::AddLocation),
8290            "add_location_alt" => Ok(Self::AddLocationAlt),
8291            "add_moderator" => Ok(Self::AddModerator),
8292            "add_photo_alternate" => Ok(Self::AddPhotoAlternate),
8293            "add_reaction" => Ok(Self::AddReaction),
8294            "add_road" => Ok(Self::AddRoad),
8295            "add_shopping_cart" => Ok(Self::AddShoppingCart),
8296            "add_task" => Ok(Self::AddTask),
8297            "add_to_drive" => Ok(Self::AddToDrive),
8298            "add_to_home_screen" => Ok(Self::AddToHomeScreen),
8299            "add_to_photos" => Ok(Self::AddToPhotos),
8300            "add_to_queue" => Ok(Self::AddToQueue),
8301            "addchart" => Ok(Self::Addchart),
8302            "adjust" => Ok(Self::Adjust),
8303            "admin_panel_settings" => Ok(Self::AdminPanelSettings),
8304            "agriculture" => Ok(Self::Agriculture),
8305            "air" => Ok(Self::Air),
8306            "airline_seat_flat" => Ok(Self::AirlineSeatFlat),
8307            "airline_seat_flat_angled" => Ok(Self::AirlineSeatFlatAngled),
8308            "airline_seat_individual_suite" => Ok(Self::AirlineSeatIndividualSuite),
8309            "airline_seat_legroom_extra" => Ok(Self::AirlineSeatLegroomExtra),
8310            "airline_seat_legroom_normal" => Ok(Self::AirlineSeatLegroomNormal),
8311            "airline_seat_legroom_reduced" => Ok(Self::AirlineSeatLegroomReduced),
8312            "airline_seat_recline_extra" => Ok(Self::AirlineSeatReclineExtra),
8313            "airline_seat_recline_normal" => Ok(Self::AirlineSeatReclineNormal),
8314            "airplane_ticket" => Ok(Self::AirplaneTicket),
8315            "airplanemode_active" => Ok(Self::AirplanemodeActive),
8316            "airplanemode_inactive" => Ok(Self::AirplanemodeInactive),
8317            "airplanemode_off" => Ok(Self::AirplanemodeOff),
8318            "airplanemode_on" => Ok(Self::AirplanemodeOn),
8319            "airplay" => Ok(Self::Airplay),
8320            "airport_shuttle" => Ok(Self::AirportShuttle),
8321            "alarm" => Ok(Self::Alarm),
8322            "alarm_add" => Ok(Self::AlarmAdd),
8323            "alarm_off" => Ok(Self::AlarmOff),
8324            "alarm_on" => Ok(Self::AlarmOn),
8325            "album" => Ok(Self::Album),
8326            "align_horizontal_center" => Ok(Self::AlignHorizontalCenter),
8327            "align_horizontal_left" => Ok(Self::AlignHorizontalLeft),
8328            "align_horizontal_right" => Ok(Self::AlignHorizontalRight),
8329            "align_vertical_bottom" => Ok(Self::AlignVerticalBottom),
8330            "align_vertical_center" => Ok(Self::AlignVerticalCenter),
8331            "align_vertical_top" => Ok(Self::AlignVerticalTop),
8332            "all_inbox" => Ok(Self::AllInbox),
8333            "all_inclusive" => Ok(Self::AllInclusive),
8334            "all_out" => Ok(Self::AllOut),
8335            "alt_route" => Ok(Self::AltRoute),
8336            "alternate_email" => Ok(Self::AlternateEmail),
8337            "amp_stories" => Ok(Self::AmpStories),
8338            "analytics" => Ok(Self::Analytics),
8339            "anchor" => Ok(Self::Anchor),
8340            "android" => Ok(Self::Android),
8341            "animation" => Ok(Self::Animation),
8342            "announcement" => Ok(Self::Announcement),
8343            "aod" => Ok(Self::Aod),
8344            "apartment" => Ok(Self::Apartment),
8345            "api" => Ok(Self::Api),
8346            "app_blocking" => Ok(Self::AppBlocking),
8347            "app_registration" => Ok(Self::AppRegistration),
8348            "app_settings_alt" => Ok(Self::AppSettingsAlt),
8349            "approval" => Ok(Self::Approval),
8350            "apps" => Ok(Self::Apps),
8351            "architecture" => Ok(Self::Architecture),
8352            "archive" => Ok(Self::Archive),
8353            "arrow_back" => Ok(Self::ArrowBack),
8354            "arrow_back_ios" => Ok(Self::ArrowBackIos),
8355            "arrow_back_ios_new" => Ok(Self::ArrowBackIosNew),
8356            "arrow_circle_down" => Ok(Self::ArrowCircleDown),
8357            "arrow_circle_up" => Ok(Self::ArrowCircleUp),
8358            "arrow_downward" => Ok(Self::ArrowDownward),
8359            "arrow_drop_down" => Ok(Self::ArrowDropDown),
8360            "arrow_drop_down_circle" => Ok(Self::ArrowDropDownCircle),
8361            "arrow_drop_up" => Ok(Self::ArrowDropUp),
8362            "arrow_forward" => Ok(Self::ArrowForward),
8363            "arrow_forward_ios" => Ok(Self::ArrowForwardIos),
8364            "arrow_left" => Ok(Self::ArrowLeft),
8365            "arrow_right" => Ok(Self::ArrowRight),
8366            "arrow_right_alt" => Ok(Self::ArrowRightAlt),
8367            "arrow_upward" => Ok(Self::ArrowUpward),
8368            "art_track" => Ok(Self::ArtTrack),
8369            "article" => Ok(Self::Article),
8370            "aspect_ratio" => Ok(Self::AspectRatio),
8371            "assessment" => Ok(Self::Assessment),
8372            "assignment" => Ok(Self::Assignment),
8373            "assignment_ind" => Ok(Self::AssignmentInd),
8374            "assignment_late" => Ok(Self::AssignmentLate),
8375            "assignment_return" => Ok(Self::AssignmentReturn),
8376            "assignment_returned" => Ok(Self::AssignmentReturned),
8377            "assignment_turned_in" => Ok(Self::AssignmentTurnedIn),
8378            "assistant" => Ok(Self::Assistant),
8379            "assistant_direction" => Ok(Self::AssistantDirection),
8380            "assistant_navigation" => Ok(Self::AssistantNavigation),
8381            "assistant_photo" => Ok(Self::AssistantPhoto),
8382            "atm" => Ok(Self::Atm),
8383            "attach_email" => Ok(Self::AttachEmail),
8384            "attach_file" => Ok(Self::AttachFile),
8385            "attach_money" => Ok(Self::AttachMoney),
8386            "attachment" => Ok(Self::Attachment),
8387            "attractions" => Ok(Self::Attractions),
8388            "attribution" => Ok(Self::Attribution),
8389            "audiotrack" => Ok(Self::Audiotrack),
8390            "auto_awesome" => Ok(Self::AutoAwesome),
8391            "auto_awesome_mosaic" => Ok(Self::AutoAwesomeMosaic),
8392            "auto_awesome_motion" => Ok(Self::AutoAwesomeMotion),
8393            "auto_delete" => Ok(Self::AutoDelete),
8394            "auto_fix_high" => Ok(Self::AutoFixHigh),
8395            "auto_fix_normal" => Ok(Self::AutoFixNormal),
8396            "auto_fix_off" => Ok(Self::AutoFixOff),
8397            "auto_graph" => Ok(Self::AutoGraph),
8398            "auto_stories" => Ok(Self::AutoStories),
8399            "autofps_select" => Ok(Self::AutofpsSelect),
8400            "autorenew" => Ok(Self::Autorenew),
8401            "av_timer" => Ok(Self::AvTimer),
8402            "baby_changing_station" => Ok(Self::BabyChangingStation),
8403            "backpack" => Ok(Self::Backpack),
8404            "backspace" => Ok(Self::Backspace),
8405            "backup" => Ok(Self::Backup),
8406            "backup_table" => Ok(Self::BackupTable),
8407            "badge" => Ok(Self::Badge),
8408            "bakery_dining" => Ok(Self::BakeryDining),
8409            "balcony" => Ok(Self::Balcony),
8410            "ballot" => Ok(Self::Ballot),
8411            "bar_chart" => Ok(Self::BarChart),
8412            "batch_prediction" => Ok(Self::BatchPrediction),
8413            "bathroom" => Ok(Self::Bathroom),
8414            "bathtub" => Ok(Self::Bathtub),
8415            "battery_alert" => Ok(Self::BatteryAlert),
8416            "battery_charging_full" => Ok(Self::BatteryChargingFull),
8417            "battery_full" => Ok(Self::BatteryFull),
8418            "battery_saver" => Ok(Self::BatterySaver),
8419            "battery_std" => Ok(Self::BatteryStd),
8420            "battery_unknown" => Ok(Self::BatteryUnknown),
8421            "beach_access" => Ok(Self::BeachAccess),
8422            "bed" => Ok(Self::Bed),
8423            "bedroom_baby" => Ok(Self::BedroomBaby),
8424            "bedroom_child" => Ok(Self::BedroomChild),
8425            "bedroom_parent" => Ok(Self::BedroomParent),
8426            "bedtime" => Ok(Self::Bedtime),
8427            "beenhere" => Ok(Self::Beenhere),
8428            "bento" => Ok(Self::Bento),
8429            "bike_scooter" => Ok(Self::BikeScooter),
8430            "biotech" => Ok(Self::Biotech),
8431            "blender" => Ok(Self::Blender),
8432            "block" => Ok(Self::Block),
8433            "block_flipped" => Ok(Self::BlockFlipped),
8434            "bloodtype" => Ok(Self::Bloodtype),
8435            "bluetooth" => Ok(Self::Bluetooth),
8436            "bluetooth_audio" => Ok(Self::BluetoothAudio),
8437            "bluetooth_connected" => Ok(Self::BluetoothConnected),
8438            "bluetooth_disabled" => Ok(Self::BluetoothDisabled),
8439            "bluetooth_drive" => Ok(Self::BluetoothDrive),
8440            "bluetooth_searching" => Ok(Self::BluetoothSearching),
8441            "blur_circular" => Ok(Self::BlurCircular),
8442            "blur_linear" => Ok(Self::BlurLinear),
8443            "blur_off" => Ok(Self::BlurOff),
8444            "blur_on" => Ok(Self::BlurOn),
8445            "bolt" => Ok(Self::Bolt),
8446            "book" => Ok(Self::Book),
8447            "book_online" => Ok(Self::BookOnline),
8448            "bookmark" => Ok(Self::Bookmark),
8449            "bookmark_add" => Ok(Self::BookmarkAdd),
8450            "bookmark_added" => Ok(Self::BookmarkAdded),
8451            "bookmark_border" => Ok(Self::BookmarkBorder),
8452            "bookmark_outline" => Ok(Self::BookmarkOutline),
8453            "bookmark_remove" => Ok(Self::BookmarkRemove),
8454            "bookmarks" => Ok(Self::Bookmarks),
8455            "border_all" => Ok(Self::BorderAll),
8456            "border_bottom" => Ok(Self::BorderBottom),
8457            "border_clear" => Ok(Self::BorderClear),
8458            "border_color" => Ok(Self::BorderColor),
8459            "border_horizontal" => Ok(Self::BorderHorizontal),
8460            "border_inner" => Ok(Self::BorderInner),
8461            "border_left" => Ok(Self::BorderLeft),
8462            "border_outer" => Ok(Self::BorderOuter),
8463            "border_right" => Ok(Self::BorderRight),
8464            "border_style" => Ok(Self::BorderStyle),
8465            "border_top" => Ok(Self::BorderTop),
8466            "border_vertical" => Ok(Self::BorderVertical),
8467            "branding_watermark" => Ok(Self::BrandingWatermark),
8468            "breakfast_dining" => Ok(Self::BreakfastDining),
8469            "brightness_1" => Ok(Self::Brightness1),
8470            "brightness_2" => Ok(Self::Brightness2),
8471            "brightness_3" => Ok(Self::Brightness3),
8472            "brightness_4" => Ok(Self::Brightness4),
8473            "brightness_5" => Ok(Self::Brightness5),
8474            "brightness_6" => Ok(Self::Brightness6),
8475            "brightness_7" => Ok(Self::Brightness7),
8476            "brightness_auto" => Ok(Self::BrightnessAuto),
8477            "brightness_high" => Ok(Self::BrightnessHigh),
8478            "brightness_low" => Ok(Self::BrightnessLow),
8479            "brightness_medium" => Ok(Self::BrightnessMedium),
8480            "broken_image" => Ok(Self::BrokenImage),
8481            "browser_not_supported" => Ok(Self::BrowserNotSupported),
8482            "brunch_dining" => Ok(Self::BrunchDining),
8483            "brush" => Ok(Self::Brush),
8484            "bubble_chart" => Ok(Self::BubbleChart),
8485            "bug_report" => Ok(Self::BugReport),
8486            "build" => Ok(Self::Build),
8487            "build_circle" => Ok(Self::BuildCircle),
8488            "bungalow" => Ok(Self::Bungalow),
8489            "burst_mode" => Ok(Self::BurstMode),
8490            "bus_alert" => Ok(Self::BusAlert),
8491            "business" => Ok(Self::Business),
8492            "business_center" => Ok(Self::BusinessCenter),
8493            "cabin" => Ok(Self::Cabin),
8494            "cable" => Ok(Self::Cable),
8495            "cached" => Ok(Self::Cached),
8496            "cake" => Ok(Self::Cake),
8497            "calculate" => Ok(Self::Calculate),
8498            "calendar_today" => Ok(Self::CalendarToday),
8499            "calendar_view_day" => Ok(Self::CalendarViewDay),
8500            "calendar_view_month" => Ok(Self::CalendarViewMonth),
8501            "calendar_view_week" => Ok(Self::CalendarViewWeek),
8502            "call" => Ok(Self::Call),
8503            "call_end" => Ok(Self::CallEnd),
8504            "call_made" => Ok(Self::CallMade),
8505            "call_merge" => Ok(Self::CallMerge),
8506            "call_missed" => Ok(Self::CallMissed),
8507            "call_missed_outgoing" => Ok(Self::CallMissedOutgoing),
8508            "call_received" => Ok(Self::CallReceived),
8509            "call_split" => Ok(Self::CallSplit),
8510            "call_to_action" => Ok(Self::CallToAction),
8511            "camera" => Ok(Self::Camera),
8512            "camera_alt" => Ok(Self::CameraAlt),
8513            "camera_enhance" => Ok(Self::CameraEnhance),
8514            "camera_front" => Ok(Self::CameraFront),
8515            "camera_indoor" => Ok(Self::CameraIndoor),
8516            "camera_outdoor" => Ok(Self::CameraOutdoor),
8517            "camera_rear" => Ok(Self::CameraRear),
8518            "camera_roll" => Ok(Self::CameraRoll),
8519            "cameraswitch" => Ok(Self::Cameraswitch),
8520            "campaign" => Ok(Self::Campaign),
8521            "cancel" => Ok(Self::Cancel),
8522            "cancel_presentation" => Ok(Self::CancelPresentation),
8523            "cancel_schedule_send" => Ok(Self::CancelScheduleSend),
8524            "car_rental" => Ok(Self::CarRental),
8525            "car_repair" => Ok(Self::CarRepair),
8526            "card_giftcard" => Ok(Self::CardGiftcard),
8527            "card_membership" => Ok(Self::CardMembership),
8528            "card_travel" => Ok(Self::CardTravel),
8529            "carpenter" => Ok(Self::Carpenter),
8530            "cases" => Ok(Self::Cases),
8531            "casino" => Ok(Self::Casino),
8532            "cast" => Ok(Self::Cast),
8533            "cast_connected" => Ok(Self::CastConnected),
8534            "cast_for_education" => Ok(Self::CastForEducation),
8535            "catching_pokemon" => Ok(Self::CatchingPokemon),
8536            "category" => Ok(Self::Category),
8537            "celebration" => Ok(Self::Celebration),
8538            "cell_wifi" => Ok(Self::CellWifi),
8539            "center_focus_strong" => Ok(Self::CenterFocusStrong),
8540            "center_focus_weak" => Ok(Self::CenterFocusWeak),
8541            "chair" => Ok(Self::Chair),
8542            "chair_alt" => Ok(Self::ChairAlt),
8543            "chalet" => Ok(Self::Chalet),
8544            "change_circle" => Ok(Self::ChangeCircle),
8545            "change_history" => Ok(Self::ChangeHistory),
8546            "charging_station" => Ok(Self::ChargingStation),
8547            "chat" => Ok(Self::Chat),
8548            "chat_bubble" => Ok(Self::ChatBubble),
8549            "chat_bubble_outline" => Ok(Self::ChatBubbleOutline),
8550            "check" => Ok(Self::Check),
8551            "check_box" => Ok(Self::CheckBox),
8552            "check_box_outline_blank" => Ok(Self::CheckBoxOutlineBlank),
8553            "check_circle" => Ok(Self::CheckCircle),
8554            "check_circle_outline" => Ok(Self::CheckCircleOutline),
8555            "checklist" => Ok(Self::Checklist),
8556            "checklist_rtl" => Ok(Self::ChecklistRtl),
8557            "checkroom" => Ok(Self::Checkroom),
8558            "chevron_left" => Ok(Self::ChevronLeft),
8559            "chevron_right" => Ok(Self::ChevronRight),
8560            "child_care" => Ok(Self::ChildCare),
8561            "child_friendly" => Ok(Self::ChildFriendly),
8562            "chrome_reader_mode" => Ok(Self::ChromeReaderMode),
8563            "circle" => Ok(Self::Circle),
8564            "circle_notifications" => Ok(Self::CircleNotifications),
8565            "class_" => Ok(Self::Class),
8566            "clean_hands" => Ok(Self::CleanHands),
8567            "cleaning_services" => Ok(Self::CleaningServices),
8568            "clear" => Ok(Self::Clear),
8569            "clear_all" => Ok(Self::ClearAll),
8570            "close" => Ok(Self::Close),
8571            "close_fullscreen" => Ok(Self::CloseFullscreen),
8572            "closed_caption" => Ok(Self::ClosedCaption),
8573            "closed_caption_disabled" => Ok(Self::ClosedCaptionDisabled),
8574            "closed_caption_off" => Ok(Self::ClosedCaptionOff),
8575            "cloud" => Ok(Self::Cloud),
8576            "cloud_circle" => Ok(Self::CloudCircle),
8577            "cloud_done" => Ok(Self::CloudDone),
8578            "cloud_download" => Ok(Self::CloudDownload),
8579            "cloud_off" => Ok(Self::CloudOff),
8580            "cloud_queue" => Ok(Self::CloudQueue),
8581            "cloud_upload" => Ok(Self::CloudUpload),
8582            "code" => Ok(Self::Code),
8583            "code_off" => Ok(Self::CodeOff),
8584            "coffee" => Ok(Self::Coffee),
8585            "coffee_maker" => Ok(Self::CoffeeMaker),
8586            "collections" => Ok(Self::Collections),
8587            "collections_bookmark" => Ok(Self::CollectionsBookmark),
8588            "color_lens" => Ok(Self::ColorLens),
8589            "colorize" => Ok(Self::Colorize),
8590            "comment" => Ok(Self::Comment),
8591            "comment_bank" => Ok(Self::CommentBank),
8592            "commute" => Ok(Self::Commute),
8593            "compare" => Ok(Self::Compare),
8594            "compare_arrows" => Ok(Self::CompareArrows),
8595            "compass_calibration" => Ok(Self::CompassCalibration),
8596            "compress" => Ok(Self::Compress),
8597            "computer" => Ok(Self::Computer),
8598            "confirmation_num" => Ok(Self::ConfirmationNum),
8599            "confirmation_number" => Ok(Self::ConfirmationNumber),
8600            "connect_without_contact" => Ok(Self::ConnectWithoutContact),
8601            "connected_tv" => Ok(Self::ConnectedTv),
8602            "construction" => Ok(Self::Construction),
8603            "contact_mail" => Ok(Self::ContactMail),
8604            "contact_page" => Ok(Self::ContactPage),
8605            "contact_phone" => Ok(Self::ContactPhone),
8606            "contact_support" => Ok(Self::ContactSupport),
8607            "contactless" => Ok(Self::Contactless),
8608            "contacts" => Ok(Self::Contacts),
8609            "content_copy" => Ok(Self::ContentCopy),
8610            "content_cut" => Ok(Self::ContentCut),
8611            "content_paste" => Ok(Self::ContentPaste),
8612            "content_paste_off" => Ok(Self::ContentPasteOff),
8613            "control_camera" => Ok(Self::ControlCamera),
8614            "control_point" => Ok(Self::ControlPoint),
8615            "control_point_duplicate" => Ok(Self::ControlPointDuplicate),
8616            "copy" => Ok(Self::Copy),
8617            "copy_all" => Ok(Self::CopyAll),
8618            "copyright" => Ok(Self::Copyright),
8619            "coronavirus" => Ok(Self::Coronavirus),
8620            "corporate_fare" => Ok(Self::CorporateFare),
8621            "cottage" => Ok(Self::Cottage),
8622            "countertops" => Ok(Self::Countertops),
8623            "create" => Ok(Self::Create),
8624            "create_new_folder" => Ok(Self::CreateNewFolder),
8625            "credit_card" => Ok(Self::CreditCard),
8626            "credit_card_off" => Ok(Self::CreditCardOff),
8627            "credit_score" => Ok(Self::CreditScore),
8628            "crib" => Ok(Self::Crib),
8629            "crop" => Ok(Self::Crop),
8630            "crop_16_9" => Ok(Self::Crop169),
8631            "crop_3_2" => Ok(Self::Crop32),
8632            "crop_5_4" => Ok(Self::Crop54),
8633            "crop_7_5" => Ok(Self::Crop75),
8634            "crop_din" => Ok(Self::CropDin),
8635            "crop_free" => Ok(Self::CropFree),
8636            "crop_landscape" => Ok(Self::CropLandscape),
8637            "crop_original" => Ok(Self::CropOriginal),
8638            "crop_portrait" => Ok(Self::CropPortrait),
8639            "crop_rotate" => Ok(Self::CropRotate),
8640            "crop_square" => Ok(Self::CropSquare),
8641            "cut" => Ok(Self::Cut),
8642            "dangerous" => Ok(Self::Dangerous),
8643            "dark_mode" => Ok(Self::DarkMode),
8644            "dashboard" => Ok(Self::Dashboard),
8645            "dashboard_customize" => Ok(Self::DashboardCustomize),
8646            "data_saver_off" => Ok(Self::DataSaverOff),
8647            "data_saver_on" => Ok(Self::DataSaverOn),
8648            "data_usage" => Ok(Self::DataUsage),
8649            "date_range" => Ok(Self::DateRange),
8650            "deck" => Ok(Self::Deck),
8651            "dehaze" => Ok(Self::Dehaze),
8652            "delete" => Ok(Self::Delete),
8653            "delete_forever" => Ok(Self::DeleteForever),
8654            "delete_outline" => Ok(Self::DeleteOutline),
8655            "delete_sweep" => Ok(Self::DeleteSweep),
8656            "delivery_dining" => Ok(Self::DeliveryDining),
8657            "departure_board" => Ok(Self::DepartureBoard),
8658            "description" => Ok(Self::Description),
8659            "design_services" => Ok(Self::DesignServices),
8660            "desktop_access_disabled" => Ok(Self::DesktopAccessDisabled),
8661            "desktop_mac" => Ok(Self::DesktopMac),
8662            "desktop_windows" => Ok(Self::DesktopWindows),
8663            "details" => Ok(Self::Details),
8664            "developer_board" => Ok(Self::DeveloperBoard),
8665            "developer_board_off" => Ok(Self::DeveloperBoardOff),
8666            "developer_mode" => Ok(Self::DeveloperMode),
8667            "device_hub" => Ok(Self::DeviceHub),
8668            "device_thermostat" => Ok(Self::DeviceThermostat),
8669            "device_unknown" => Ok(Self::DeviceUnknown),
8670            "devices" => Ok(Self::Devices),
8671            "devices_other" => Ok(Self::DevicesOther),
8672            "dialer_sip" => Ok(Self::DialerSip),
8673            "dialpad" => Ok(Self::Dialpad),
8674            "dining" => Ok(Self::Dining),
8675            "dinner_dining" => Ok(Self::DinnerDining),
8676            "directions" => Ok(Self::Directions),
8677            "directions_bike" => Ok(Self::DirectionsBike),
8678            "directions_boat" => Ok(Self::DirectionsBoat),
8679            "directions_boat_filled" => Ok(Self::DirectionsBoatFilled),
8680            "directions_bus" => Ok(Self::DirectionsBus),
8681            "directions_bus_filled" => Ok(Self::DirectionsBusFilled),
8682            "directions_car" => Ok(Self::DirectionsCar),
8683            "directions_car_filled" => Ok(Self::DirectionsCarFilled),
8684            "directions_ferry" => Ok(Self::DirectionsFerry),
8685            "directions_off" => Ok(Self::DirectionsOff),
8686            "directions_railway_filled" => Ok(Self::DirectionsRailwayFilled),
8687            "directions_run" => Ok(Self::DirectionsRun),
8688            "directions_railway" => Ok(Self::DirectionsRailway),
8689            "directions_subway" => Ok(Self::DirectionsSubway),
8690            "directions_subway_filled" => Ok(Self::DirectionsSubwayFilled),
8691            "directions_train" => Ok(Self::DirectionsTrain),
8692            "directions_transit" => Ok(Self::DirectionsTransit),
8693            "directions_transit_filled" => Ok(Self::DirectionsTransitFilled),
8694            "directions_walk" => Ok(Self::DirectionsWalk),
8695            "dirty_lens" => Ok(Self::DirtyLens),
8696            "disabled_by_default" => Ok(Self::DisabledByDefault),
8697            "disc_full" => Ok(Self::DiscFull),
8698            "dnd_forwardslash" => Ok(Self::DndForwardslash),
8699            "dns" => Ok(Self::Dns),
8700            "do_disturb" => Ok(Self::DoDisturb),
8701            "do_disturb_alt" => Ok(Self::DoDisturbAlt),
8702            "do_disturb_off" => Ok(Self::DoDisturbOff),
8703            "do_disturb_on" => Ok(Self::DoDisturbOn),
8704            "do_not_disturb" => Ok(Self::DoNotDisturb),
8705            "do_not_disturb_alt" => Ok(Self::DoNotDisturbAlt),
8706            "do_not_disturb_off" => Ok(Self::DoNotDisturbOff),
8707            "do_not_disturb_on" => Ok(Self::DoNotDisturbOn),
8708            "do_not_disturb_on_total_silence" => Ok(Self::DoNotDisturbOnTotalSilence),
8709            "do_not_step" => Ok(Self::DoNotStep),
8710            "do_not_touch" => Ok(Self::DoNotTouch),
8711            "dock" => Ok(Self::Dock),
8712            "document_scanner" => Ok(Self::DocumentScanner),
8713            "domain" => Ok(Self::Domain),
8714            "domain_disabled" => Ok(Self::DomainDisabled),
8715            "domain_verification" => Ok(Self::DomainVerification),
8716            "done" => Ok(Self::Done),
8717            "done_all" => Ok(Self::DoneAll),
8718            "done_outline" => Ok(Self::DoneOutline),
8719            "donut_large" => Ok(Self::DonutLarge),
8720            "donut_small" => Ok(Self::DonutSmall),
8721            "door_back" => Ok(Self::DoorBack),
8722            "door_front" => Ok(Self::DoorFront),
8723            "door_sliding" => Ok(Self::DoorSliding),
8724            "doorbell" => Ok(Self::Doorbell),
8725            "double_arrow" => Ok(Self::DoubleArrow),
8726            "downhill_skiing" => Ok(Self::DownhillSkiing),
8727            "download" => Ok(Self::Download),
8728            "download_done" => Ok(Self::DownloadDone),
8729            "download_for_offline" => Ok(Self::DownloadForOffline),
8730            "downloading" => Ok(Self::Downloading),
8731            "drafts" => Ok(Self::Drafts),
8732            "drag_handle" => Ok(Self::DragHandle),
8733            "drag_indicator" => Ok(Self::DragIndicator),
8734            "drive_eta" => Ok(Self::DriveEta),
8735            "drive_file_move" => Ok(Self::DriveFileMove),
8736            "drive_file_move_outline" => Ok(Self::DriveFileMoveOutline),
8737            "drive_file_rename_outline" => Ok(Self::DriveFileRenameOutline),
8738            "drive_folder_upload" => Ok(Self::DriveFolderUpload),
8739            "dry" => Ok(Self::Dry),
8740            "dry_cleaning" => Ok(Self::DryCleaning),
8741            "duo" => Ok(Self::Duo),
8742            "dvr" => Ok(Self::Dvr),
8743            "dynamic_feed" => Ok(Self::DynamicFeed),
8744            "dynamic_form" => Ok(Self::DynamicForm),
8745            "e_mobiledata" => Ok(Self::EMobiledata),
8746            "earbuds" => Ok(Self::Earbuds),
8747            "earbuds_battery" => Ok(Self::EarbudsBattery),
8748            "east" => Ok(Self::East),
8749            "eco" => Ok(Self::Eco),
8750            "edgesensor_high" => Ok(Self::EdgesensorHigh),
8751            "edgesensor_low" => Ok(Self::EdgesensorLow),
8752            "edit" => Ok(Self::Edit),
8753            "edit_attributes" => Ok(Self::EditAttributes),
8754            "edit_location" => Ok(Self::EditLocation),
8755            "edit_location_alt" => Ok(Self::EditLocationAlt),
8756            "edit_notifications" => Ok(Self::EditNotifications),
8757            "edit_off" => Ok(Self::EditOff),
8758            "edit_road" => Ok(Self::EditRoad),
8759            "eight_k" => Ok(Self::EightK),
8760            "eight_k_plus" => Ok(Self::EightKPlus),
8761            "eight_mp" => Ok(Self::EightMp),
8762            "eighteen_mp" => Ok(Self::EighteenMp),
8763            "eject" => Ok(Self::Eject),
8764            "elderly" => Ok(Self::Elderly),
8765            "electric_bike" => Ok(Self::ElectricBike),
8766            "electric_car" => Ok(Self::ElectricCar),
8767            "electric_moped" => Ok(Self::ElectricMoped),
8768            "electric_rickshaw" => Ok(Self::ElectricRickshaw),
8769            "electric_scooter" => Ok(Self::ElectricScooter),
8770            "electrical_services" => Ok(Self::ElectricalServices),
8771            "elevator" => Ok(Self::Elevator),
8772            "eleven_mp" => Ok(Self::ElevenMp),
8773            "email" => Ok(Self::Email),
8774            "emoji_emotions" => Ok(Self::EmojiEmotions),
8775            "emoji_events" => Ok(Self::EmojiEvents),
8776            "emoji_flags" => Ok(Self::EmojiFlags),
8777            "emoji_food_beverage" => Ok(Self::EmojiFoodBeverage),
8778            "emoji_nature" => Ok(Self::EmojiNature),
8779            "emoji_objects" => Ok(Self::EmojiObjects),
8780            "emoji_people" => Ok(Self::EmojiPeople),
8781            "emoji_symbols" => Ok(Self::EmojiSymbols),
8782            "emoji_transportation" => Ok(Self::EmojiTransportation),
8783            "engineering" => Ok(Self::Engineering),
8784            "enhance_photo_translate" => Ok(Self::EnhancePhotoTranslate),
8785            "enhanced_encryption" => Ok(Self::EnhancedEncryption),
8786            "equalizer" => Ok(Self::Equalizer),
8787            "error" => Ok(Self::Error),
8788            "error_outline" => Ok(Self::ErrorOutline),
8789            "escalator" => Ok(Self::Escalator),
8790            "escalator_warning" => Ok(Self::EscalatorWarning),
8791            "euro" => Ok(Self::Euro),
8792            "euro_symbol" => Ok(Self::EuroSymbol),
8793            "ev_station" => Ok(Self::EvStation),
8794            "event" => Ok(Self::Event),
8795            "event_available" => Ok(Self::EventAvailable),
8796            "event_busy" => Ok(Self::EventBusy),
8797            "event_note" => Ok(Self::EventNote),
8798            "event_seat" => Ok(Self::EventSeat),
8799            "exit_to_app" => Ok(Self::ExitToApp),
8800            "expand" => Ok(Self::Expand),
8801            "expand_less" => Ok(Self::ExpandLess),
8802            "expand_more" => Ok(Self::ExpandMore),
8803            "explicit" => Ok(Self::Explicit),
8804            "explore" => Ok(Self::Explore),
8805            "explore_off" => Ok(Self::ExploreOff),
8806            "exposure" => Ok(Self::Exposure),
8807            "exposure_minus_1" => Ok(Self::ExposureMinus1),
8808            "exposure_minus_2" => Ok(Self::ExposureMinus2),
8809            "exposure_neg_1" => Ok(Self::ExposureNeg1),
8810            "exposure_neg_2" => Ok(Self::ExposureNeg2),
8811            "exposure_plus_1" => Ok(Self::ExposurePlus1),
8812            "exposure_plus_2" => Ok(Self::ExposurePlus2),
8813            "exposure_zero" => Ok(Self::ExposureZero),
8814            "extension" => Ok(Self::Extension),
8815            "extension_off" => Ok(Self::ExtensionOff),
8816            "face" => Ok(Self::Face),
8817            "face_retouching_off" => Ok(Self::FaceRetouchingOff),
8818            "face_retouching_natural" => Ok(Self::FaceRetouchingNatural),
8819            "facebook" => Ok(Self::Facebook),
8820            "fact_check" => Ok(Self::FactCheck),
8821            "family_restroom" => Ok(Self::FamilyRestroom),
8822            "fast_forward" => Ok(Self::FastForward),
8823            "fast_rewind" => Ok(Self::FastRewind),
8824            "fastfood" => Ok(Self::Fastfood),
8825            "favorite" => Ok(Self::Favorite),
8826            "favorite_border" => Ok(Self::FavoriteBorder),
8827            "favorite_outline" => Ok(Self::FavoriteOutline),
8828            "featured_play_list" => Ok(Self::FeaturedPlayList),
8829            "featured_video" => Ok(Self::FeaturedVideo),
8830            "feed" => Ok(Self::Feed),
8831            "feedback" => Ok(Self::Feedback),
8832            "female" => Ok(Self::Female),
8833            "fence" => Ok(Self::Fence),
8834            "festival" => Ok(Self::Festival),
8835            "fiber_dvr" => Ok(Self::FiberDvr),
8836            "fiber_manual_record" => Ok(Self::FiberManualRecord),
8837            "fiber_new" => Ok(Self::FiberNew),
8838            "fiber_pin" => Ok(Self::FiberPin),
8839            "fiber_smart_record" => Ok(Self::FiberSmartRecord),
8840            "fifteen_mp" => Ok(Self::FifteenMp),
8841            "file_copy" => Ok(Self::FileCopy),
8842            "file_download" => Ok(Self::FileDownload),
8843            "file_download_done" => Ok(Self::FileDownloadDone),
8844            "file_download_off" => Ok(Self::FileDownloadOff),
8845            "file_present" => Ok(Self::FilePresent),
8846            "file_upload" => Ok(Self::FileUpload),
8847            "filter" => Ok(Self::Filter),
8848            "filter_1" => Ok(Self::Filter1),
8849            "filter_2" => Ok(Self::Filter2),
8850            "filter_3" => Ok(Self::Filter3),
8851            "filter_4" => Ok(Self::Filter4),
8852            "filter_5" => Ok(Self::Filter5),
8853            "filter_6" => Ok(Self::Filter6),
8854            "filter_7" => Ok(Self::Filter7),
8855            "filter_8" => Ok(Self::Filter8),
8856            "filter_9" => Ok(Self::Filter9),
8857            "filter_9_plus" => Ok(Self::Filter9Plus),
8858            "filter_alt" => Ok(Self::FilterAlt),
8859            "filter_b_and_w" => Ok(Self::FilterBAndW),
8860            "filter_center_focus" => Ok(Self::FilterCenterFocus),
8861            "filter_drama" => Ok(Self::FilterDrama),
8862            "filter_frames" => Ok(Self::FilterFrames),
8863            "filter_hdr" => Ok(Self::FilterHdr),
8864            "filter_list" => Ok(Self::FilterList),
8865            "filter_list_alt" => Ok(Self::FilterListAlt),
8866            "filter_none" => Ok(Self::FilterNone),
8867            "filter_tilt_shift" => Ok(Self::FilterTiltShift),
8868            "filter_vintage" => Ok(Self::FilterVintage),
8869            "find_in_page" => Ok(Self::FindInPage),
8870            "find_replace" => Ok(Self::FindReplace),
8871            "fingerprint" => Ok(Self::Fingerprint),
8872            "fire_extinguisher" => Ok(Self::FireExtinguisher),
8873            "fire_hydrant" => Ok(Self::FireHydrant),
8874            "fireplace" => Ok(Self::Fireplace),
8875            "first_page" => Ok(Self::FirstPage),
8876            "fit_screen" => Ok(Self::FitScreen),
8877            "fitness_center" => Ok(Self::FitnessCenter),
8878            "five_g" => Ok(Self::FiveG),
8879            "five_k" => Ok(Self::FiveK),
8880            "five_k_plus" => Ok(Self::FiveKPlus),
8881            "five_mp" => Ok(Self::FiveMp),
8882            "flag" => Ok(Self::Flag),
8883            "flaky" => Ok(Self::Flaky),
8884            "flare" => Ok(Self::Flare),
8885            "flash_auto" => Ok(Self::FlashAuto),
8886            "flash_off" => Ok(Self::FlashOff),
8887            "flash_on" => Ok(Self::FlashOn),
8888            "flashlight_off" => Ok(Self::FlashlightOff),
8889            "flashlight_on" => Ok(Self::FlashlightOn),
8890            "flatware" => Ok(Self::Flatware),
8891            "flight" => Ok(Self::Flight),
8892            "flight_land" => Ok(Self::FlightLand),
8893            "flight_takeoff" => Ok(Self::FlightTakeoff),
8894            "flip" => Ok(Self::Flip),
8895            "flip_camera_android" => Ok(Self::FlipCameraAndroid),
8896            "flip_camera_ios" => Ok(Self::FlipCameraIos),
8897            "flip_to_back" => Ok(Self::FlipToBack),
8898            "flip_to_front" => Ok(Self::FlipToFront),
8899            "flourescent" => Ok(Self::Flourescent),
8900            "flutter_dash" => Ok(Self::FlutterDash),
8901            "fmd_bad" => Ok(Self::FmdBad),
8902            "fmd_good" => Ok(Self::FmdGood),
8903            "folder" => Ok(Self::Folder),
8904            "folder_open" => Ok(Self::FolderOpen),
8905            "folder_shared" => Ok(Self::FolderShared),
8906            "folder_special" => Ok(Self::FolderSpecial),
8907            "follow_the_signs" => Ok(Self::FollowTheSigns),
8908            "font_download" => Ok(Self::FontDownload),
8909            "font_download_off" => Ok(Self::FontDownloadOff),
8910            "food_bank" => Ok(Self::FoodBank),
8911            "format_align_center" => Ok(Self::FormatAlignCenter),
8912            "format_align_justify" => Ok(Self::FormatAlignJustify),
8913            "format_align_left" => Ok(Self::FormatAlignLeft),
8914            "format_align_right" => Ok(Self::FormatAlignRight),
8915            "format_bold" => Ok(Self::FormatBold),
8916            "format_clear" => Ok(Self::FormatClear),
8917            "format_color_fill" => Ok(Self::FormatColorFill),
8918            "format_color_reset" => Ok(Self::FormatColorReset),
8919            "format_color_text" => Ok(Self::FormatColorText),
8920            "format_indent_decrease" => Ok(Self::FormatIndentDecrease),
8921            "format_indent_increase" => Ok(Self::FormatIndentIncrease),
8922            "format_italic" => Ok(Self::FormatItalic),
8923            "format_line_spacing" => Ok(Self::FormatLineSpacing),
8924            "format_list_bulleted" => Ok(Self::FormatListBulleted),
8925            "format_list_numbered" => Ok(Self::FormatListNumbered),
8926            "format_list_numbered_rtl" => Ok(Self::FormatListNumberedRtl),
8927            "format_paint" => Ok(Self::FormatPaint),
8928            "format_quote" => Ok(Self::FormatQuote),
8929            "format_shapes" => Ok(Self::FormatShapes),
8930            "format_size" => Ok(Self::FormatSize),
8931            "format_strikethrough" => Ok(Self::FormatStrikethrough),
8932            "format_textdirection_l_to_r" => Ok(Self::FormatTextdirectionLToR),
8933            "format_textdirection_r_to_l" => Ok(Self::FormatTextdirectionRToL),
8934            "format_underline" => Ok(Self::FormatUnderline),
8935            "format_underlined" => Ok(Self::FormatUnderlined),
8936            "forum" => Ok(Self::Forum),
8937            "forward" => Ok(Self::Forward),
8938            "forward_10" => Ok(Self::Forward10),
8939            "forward_30" => Ok(Self::Forward30),
8940            "forward_5" => Ok(Self::Forward5),
8941            "forward_to_inbox" => Ok(Self::ForwardToInbox),
8942            "foundation" => Ok(Self::Foundation),
8943            "four_g_mobiledata" => Ok(Self::FourGMobiledata),
8944            "four_g_plus_mobiledata" => Ok(Self::FourGPlusMobiledata),
8945            "four_k" => Ok(Self::FourK),
8946            "four_k_plus" => Ok(Self::FourKPlus),
8947            "four_mp" => Ok(Self::FourMp),
8948            "fourteen_mp" => Ok(Self::FourteenMp),
8949            "free_breakfast" => Ok(Self::FreeBreakfast),
8950            "fullscreen" => Ok(Self::Fullscreen),
8951            "fullscreen_exit" => Ok(Self::FullscreenExit),
8952            "functions" => Ok(Self::Functions),
8953            "g_mobiledata" => Ok(Self::GMobiledata),
8954            "g_translate" => Ok(Self::GTranslate),
8955            "gamepad" => Ok(Self::Gamepad),
8956            "games" => Ok(Self::Games),
8957            "garage" => Ok(Self::Garage),
8958            "gavel" => Ok(Self::Gavel),
8959            "gesture" => Ok(Self::Gesture),
8960            "get_app" => Ok(Self::GetApp),
8961            "gif" => Ok(Self::Gif),
8962            "gite" => Ok(Self::Gite),
8963            "golf_course" => Ok(Self::GolfCourse),
8964            "gpp_bad" => Ok(Self::GppBad),
8965            "gpp_good" => Ok(Self::GppGood),
8966            "gpp_maybe" => Ok(Self::GppMaybe),
8967            "gps_fixed" => Ok(Self::GpsFixed),
8968            "gps_not_fixed" => Ok(Self::GpsNotFixed),
8969            "gps_off" => Ok(Self::GpsOff),
8970            "grade" => Ok(Self::Grade),
8971            "gradient" => Ok(Self::Gradient),
8972            "grading" => Ok(Self::Grading),
8973            "grain" => Ok(Self::Grain),
8974            "graphic_eq" => Ok(Self::GraphicEq),
8975            "grass" => Ok(Self::Grass),
8976            "grid_3x3" => Ok(Self::Grid3x3),
8977            "grid_4x4" => Ok(Self::Grid4x4),
8978            "grid_goldenratio" => Ok(Self::GridGoldenratio),
8979            "grid_off" => Ok(Self::GridOff),
8980            "grid_on" => Ok(Self::GridOn),
8981            "grid_view" => Ok(Self::GridView),
8982            "group" => Ok(Self::Group),
8983            "group_add" => Ok(Self::GroupAdd),
8984            "group_work" => Ok(Self::GroupWork),
8985            "groups" => Ok(Self::Groups),
8986            "h_mobiledata" => Ok(Self::HMobiledata),
8987            "h_plus_mobiledata" => Ok(Self::HPlusMobiledata),
8988            "hail" => Ok(Self::Hail),
8989            "handyman" => Ok(Self::Handyman),
8990            "hardware" => Ok(Self::Hardware),
8991            "hd" => Ok(Self::Hd),
8992            "hdr_auto" => Ok(Self::HdrAuto),
8993            "hdr_auto_select" => Ok(Self::HdrAutoSelect),
8994            "hdr_enhanced_select" => Ok(Self::HdrEnhancedSelect),
8995            "hdr_off" => Ok(Self::HdrOff),
8996            "hdr_off_select" => Ok(Self::HdrOffSelect),
8997            "hdr_on" => Ok(Self::HdrOn),
8998            "hdr_on_select" => Ok(Self::HdrOnSelect),
8999            "hdr_plus" => Ok(Self::HdrPlus),
9000            "hdr_strong" => Ok(Self::HdrStrong),
9001            "hdr_weak" => Ok(Self::HdrWeak),
9002            "headphones" => Ok(Self::Headphones),
9003            "headphones_battery" => Ok(Self::HeadphonesBattery),
9004            "headset" => Ok(Self::Headset),
9005            "headset_mic" => Ok(Self::HeadsetMic),
9006            "headset_off" => Ok(Self::HeadsetOff),
9007            "healing" => Ok(Self::Healing),
9008            "health_and_safety" => Ok(Self::HealthAndSafety),
9009            "hearing" => Ok(Self::Hearing),
9010            "hearing_disabled" => Ok(Self::HearingDisabled),
9011            "height" => Ok(Self::Height),
9012            "help" => Ok(Self::Help),
9013            "help_center" => Ok(Self::HelpCenter),
9014            "help_outline" => Ok(Self::HelpOutline),
9015            "hevc" => Ok(Self::Hevc),
9016            "hide_image" => Ok(Self::HideImage),
9017            "hide_source" => Ok(Self::HideSource),
9018            "high_quality" => Ok(Self::HighQuality),
9019            "highlight" => Ok(Self::Highlight),
9020            "highlight_alt" => Ok(Self::HighlightAlt),
9021            "highlight_off" => Ok(Self::HighlightOff),
9022            "highlight_remove" => Ok(Self::HighlightRemove),
9023            "hiking" => Ok(Self::Hiking),
9024            "history" => Ok(Self::History),
9025            "history_edu" => Ok(Self::HistoryEdu),
9026            "history_toggle_off" => Ok(Self::HistoryToggleOff),
9027            "holiday_village" => Ok(Self::HolidayVillage),
9028            "home" => Ok(Self::Home),
9029            "home_filled" => Ok(Self::HomeFilled),
9030            "home_max" => Ok(Self::HomeMax),
9031            "home_mini" => Ok(Self::HomeMini),
9032            "home_repair_service" => Ok(Self::HomeRepairService),
9033            "home_work" => Ok(Self::HomeWork),
9034            "horizontal_distribute" => Ok(Self::HorizontalDistribute),
9035            "horizontal_rule" => Ok(Self::HorizontalRule),
9036            "horizontal_split" => Ok(Self::HorizontalSplit),
9037            "hot_tub" => Ok(Self::HotTub),
9038            "hotel" => Ok(Self::Hotel),
9039            "hourglass_bottom" => Ok(Self::HourglassBottom),
9040            "hourglass_disabled" => Ok(Self::HourglassDisabled),
9041            "hourglass_empty" => Ok(Self::HourglassEmpty),
9042            "hourglass_full" => Ok(Self::HourglassFull),
9043            "hourglass_top" => Ok(Self::HourglassTop),
9044            "house" => Ok(Self::House),
9045            "house_siding" => Ok(Self::HouseSiding),
9046            "houseboat" => Ok(Self::Houseboat),
9047            "how_to_reg" => Ok(Self::HowToReg),
9048            "how_to_vote" => Ok(Self::HowToVote),
9049            "http" => Ok(Self::Http),
9050            "https" => Ok(Self::Https),
9051            "hvac" => Ok(Self::Hvac),
9052            "ice_skating" => Ok(Self::IceSkating),
9053            "icecream" => Ok(Self::Icecream),
9054            "image" => Ok(Self::Image),
9055            "image_aspect_ratio" => Ok(Self::ImageAspectRatio),
9056            "image_not_supported" => Ok(Self::ImageNotSupported),
9057            "image_search" => Ok(Self::ImageSearch),
9058            "imagesearch_roller" => Ok(Self::ImagesearchRoller),
9059            "import_contacts" => Ok(Self::ImportContacts),
9060            "import_export" => Ok(Self::ImportExport),
9061            "important_devices" => Ok(Self::ImportantDevices),
9062            "inbox" => Ok(Self::Inbox),
9063            "indeterminate_check_box" => Ok(Self::IndeterminateCheckBox),
9064            "info" => Ok(Self::Info),
9065            "info_outline" => Ok(Self::InfoOutline),
9066            "input" => Ok(Self::Input),
9067            "insert_chart" => Ok(Self::InsertChart),
9068            "insert_comment" => Ok(Self::InsertComment),
9069            "insert_drive_file" => Ok(Self::InsertDriveFile),
9070            "insert_emoticon" => Ok(Self::InsertEmoticon),
9071            "insert_invitation" => Ok(Self::InsertInvitation),
9072            "insert_link" => Ok(Self::InsertLink),
9073            "insert_photo" => Ok(Self::InsertPhoto),
9074            "insights" => Ok(Self::Insights),
9075            "integration_instructions" => Ok(Self::IntegrationInstructions),
9076            "inventory" => Ok(Self::Inventory),
9077            "inventory_2" => Ok(Self::Inventory2),
9078            "invert_colors" => Ok(Self::InvertColors),
9079            "invert_colors_off" => Ok(Self::InvertColorsOff),
9080            "invert_colors_on" => Ok(Self::InvertColorsOn),
9081            "ios_share" => Ok(Self::IosShare),
9082            "iron" => Ok(Self::Iron),
9083            "iso" => Ok(Self::Iso),
9084            "kayaking" => Ok(Self::Kayaking),
9085            "keyboard" => Ok(Self::Keyboard),
9086            "keyboard_alt" => Ok(Self::KeyboardAlt),
9087            "keyboard_arrow_down" => Ok(Self::KeyboardArrowDown),
9088            "keyboard_arrow_left" => Ok(Self::KeyboardArrowLeft),
9089            "keyboard_arrow_right" => Ok(Self::KeyboardArrowRight),
9090            "keyboard_arrow_up" => Ok(Self::KeyboardArrowUp),
9091            "keyboard_backspace" => Ok(Self::KeyboardBackspace),
9092            "keyboard_capslock" => Ok(Self::KeyboardCapslock),
9093            "keyboard_control" => Ok(Self::KeyboardControl),
9094            "keyboard_hide" => Ok(Self::KeyboardHide),
9095            "keyboard_return" => Ok(Self::KeyboardReturn),
9096            "keyboard_tab" => Ok(Self::KeyboardTab),
9097            "keyboard_voice" => Ok(Self::KeyboardVoice),
9098            "king_bed" => Ok(Self::KingBed),
9099            "kitchen" => Ok(Self::Kitchen),
9100            "kitesurfing" => Ok(Self::Kitesurfing),
9101            "label" => Ok(Self::Label),
9102            "label_important" => Ok(Self::LabelImportant),
9103            "label_important_outline" => Ok(Self::LabelImportantOutline),
9104            "label_off" => Ok(Self::LabelOff),
9105            "label_outline" => Ok(Self::LabelOutline),
9106            "landscape" => Ok(Self::Landscape),
9107            "language" => Ok(Self::Language),
9108            "laptop" => Ok(Self::Laptop),
9109            "laptop_chromebook" => Ok(Self::LaptopChromebook),
9110            "laptop_mac" => Ok(Self::LaptopMac),
9111            "laptop_windows" => Ok(Self::LaptopWindows),
9112            "last_page" => Ok(Self::LastPage),
9113            "launch" => Ok(Self::Launch),
9114            "layers" => Ok(Self::Layers),
9115            "layers_clear" => Ok(Self::LayersClear),
9116            "leaderboard" => Ok(Self::Leaderboard),
9117            "leak_add" => Ok(Self::LeakAdd),
9118            "leak_remove" => Ok(Self::LeakRemove),
9119            "leave_bags_at_home" => Ok(Self::LeaveBagsAtHome),
9120            "legend_toggle" => Ok(Self::LegendToggle),
9121            "lens" => Ok(Self::Lens),
9122            "lens_blur" => Ok(Self::LensBlur),
9123            "library_add" => Ok(Self::LibraryAdd),
9124            "library_add_check" => Ok(Self::LibraryAddCheck),
9125            "library_books" => Ok(Self::LibraryBooks),
9126            "library_music" => Ok(Self::LibraryMusic),
9127            "light" => Ok(Self::Light),
9128            "light_mode" => Ok(Self::LightMode),
9129            "lightbulb" => Ok(Self::Lightbulb),
9130            "lightbulb_outline" => Ok(Self::LightbulbOutline),
9131            "line_style" => Ok(Self::LineStyle),
9132            "line_weight" => Ok(Self::LineWeight),
9133            "linear_scale" => Ok(Self::LinearScale),
9134            "link" => Ok(Self::Link),
9135            "link_off" => Ok(Self::LinkOff),
9136            "linked_camera" => Ok(Self::LinkedCamera),
9137            "liquor" => Ok(Self::Liquor),
9138            "list" => Ok(Self::List),
9139            "list_alt" => Ok(Self::ListAlt),
9140            "live_help" => Ok(Self::LiveHelp),
9141            "live_tv" => Ok(Self::LiveTv),
9142            "living" => Ok(Self::Living),
9143            "local_activity" => Ok(Self::LocalActivity),
9144            "local_airport" => Ok(Self::LocalAirport),
9145            "local_atm" => Ok(Self::LocalAtm),
9146            "local_attraction" => Ok(Self::LocalAttraction),
9147            "local_bar" => Ok(Self::LocalBar),
9148            "local_cafe" => Ok(Self::LocalCafe),
9149            "local_car_wash" => Ok(Self::LocalCarWash),
9150            "local_convenience_store" => Ok(Self::LocalConvenienceStore),
9151            "local_dining" => Ok(Self::LocalDining),
9152            "local_drink" => Ok(Self::LocalDrink),
9153            "local_fire_department" => Ok(Self::LocalFireDepartment),
9154            "local_florist" => Ok(Self::LocalFlorist),
9155            "local_gas_station" => Ok(Self::LocalGasStation),
9156            "local_grocery_store" => Ok(Self::LocalGroceryStore),
9157            "local_hospital" => Ok(Self::LocalHospital),
9158            "local_hotel" => Ok(Self::LocalHotel),
9159            "local_laundry_service" => Ok(Self::LocalLaundryService),
9160            "local_library" => Ok(Self::LocalLibrary),
9161            "local_mall" => Ok(Self::LocalMall),
9162            "local_movies" => Ok(Self::LocalMovies),
9163            "local_offer" => Ok(Self::LocalOffer),
9164            "local_parking" => Ok(Self::LocalParking),
9165            "local_pharmacy" => Ok(Self::LocalPharmacy),
9166            "local_phone" => Ok(Self::LocalPhone),
9167            "local_pizza" => Ok(Self::LocalPizza),
9168            "local_play" => Ok(Self::LocalPlay),
9169            "local_police" => Ok(Self::LocalPolice),
9170            "local_post_office" => Ok(Self::LocalPostOffice),
9171            "local_print_shop" => Ok(Self::LocalPrintShop),
9172            "local_printshop" => Ok(Self::LocalPrintshop),
9173            "local_restaurant" => Ok(Self::LocalRestaurant),
9174            "local_see" => Ok(Self::LocalSee),
9175            "local_shipping" => Ok(Self::LocalShipping),
9176            "local_taxi" => Ok(Self::LocalTaxi),
9177            "location_city" => Ok(Self::LocationCity),
9178            "location_disabled" => Ok(Self::LocationDisabled),
9179            "location_history" => Ok(Self::LocationHistory),
9180            "location_off" => Ok(Self::LocationOff),
9181            "location_on" => Ok(Self::LocationOn),
9182            "location_pin" => Ok(Self::LocationPin),
9183            "location_searching" => Ok(Self::LocationSearching),
9184            "lock" => Ok(Self::Lock),
9185            "lock_clock" => Ok(Self::LockClock),
9186            "lock_open" => Ok(Self::LockOpen),
9187            "lock_outline" => Ok(Self::LockOutline),
9188            "login" => Ok(Self::Login),
9189            "logout" => Ok(Self::Logout),
9190            "looks" => Ok(Self::Looks),
9191            "looks_3" => Ok(Self::Looks3),
9192            "looks_4" => Ok(Self::Looks4),
9193            "looks_5" => Ok(Self::Looks5),
9194            "looks_6" => Ok(Self::Looks6),
9195            "looks_one" => Ok(Self::LooksOne),
9196            "looks_two" => Ok(Self::LooksTwo),
9197            "loop" => Ok(Self::Loop),
9198            "loupe" => Ok(Self::Loupe),
9199            "low_priority" => Ok(Self::LowPriority),
9200            "loyalty" => Ok(Self::Loyalty),
9201            "lte_mobiledata" => Ok(Self::LteMobiledata),
9202            "lte_plus_mobiledata" => Ok(Self::LtePlusMobiledata),
9203            "luggage" => Ok(Self::Luggage),
9204            "lunch_dining" => Ok(Self::LunchDining),
9205            "mail" => Ok(Self::Mail),
9206            "mail_outline" => Ok(Self::MailOutline),
9207            "male" => Ok(Self::Male),
9208            "manage_accounts" => Ok(Self::ManageAccounts),
9209            "manage_search" => Ok(Self::ManageSearch),
9210            "map" => Ok(Self::Map),
9211            "maps_home_work" => Ok(Self::MapsHomeWork),
9212            "maps_ugc" => Ok(Self::MapsUgc),
9213            "margin" => Ok(Self::Margin),
9214            "mark_as_unread" => Ok(Self::MarkAsUnread),
9215            "mark_chat_read" => Ok(Self::MarkChatRead),
9216            "mark_chat_unread" => Ok(Self::MarkChatUnread),
9217            "mark_email_read" => Ok(Self::MarkEmailRead),
9218            "mark_email_unread" => Ok(Self::MarkEmailUnread),
9219            "markunread" => Ok(Self::Markunread),
9220            "markunread_mailbox" => Ok(Self::MarkunreadMailbox),
9221            "masks" => Ok(Self::Masks),
9222            "maximize" => Ok(Self::Maximize),
9223            "media_bluetooth_off" => Ok(Self::MediaBluetoothOff),
9224            "media_bluetooth_on" => Ok(Self::MediaBluetoothOn),
9225            "mediation" => Ok(Self::Mediation),
9226            "medical_services" => Ok(Self::MedicalServices),
9227            "medication" => Ok(Self::Medication),
9228            "meeting_room" => Ok(Self::MeetingRoom),
9229            "memory" => Ok(Self::Memory),
9230            "menu" => Ok(Self::Menu),
9231            "menu_book" => Ok(Self::MenuBook),
9232            "menu_open" => Ok(Self::MenuOpen),
9233            "merge_type" => Ok(Self::MergeType),
9234            "message" => Ok(Self::Message),
9235            "messenger" => Ok(Self::Messenger),
9236            "messenger_outline" => Ok(Self::MessengerOutline),
9237            "mic" => Ok(Self::Mic),
9238            "mic_external_off" => Ok(Self::MicExternalOff),
9239            "mic_external_on" => Ok(Self::MicExternalOn),
9240            "mic_none" => Ok(Self::MicNone),
9241            "mic_off" => Ok(Self::MicOff),
9242            "microwave" => Ok(Self::Microwave),
9243            "military_tech" => Ok(Self::MilitaryTech),
9244            "minimize" => Ok(Self::Minimize),
9245            "miscellaneous_services" => Ok(Self::MiscellaneousServices),
9246            "missed_video_call" => Ok(Self::MissedVideoCall),
9247            "mms" => Ok(Self::Mms),
9248            "mobile_friendly" => Ok(Self::MobileFriendly),
9249            "mobile_off" => Ok(Self::MobileOff),
9250            "mobile_screen_share" => Ok(Self::MobileScreenShare),
9251            "mobiledata_off" => Ok(Self::MobiledataOff),
9252            "mode" => Ok(Self::Mode),
9253            "mode_comment" => Ok(Self::ModeComment),
9254            "mode_edit" => Ok(Self::ModeEdit),
9255            "mode_edit_outline" => Ok(Self::ModeEditOutline),
9256            "mode_night" => Ok(Self::ModeNight),
9257            "mode_standby" => Ok(Self::ModeStandby),
9258            "model_training" => Ok(Self::ModelTraining),
9259            "monetization_on" => Ok(Self::MonetizationOn),
9260            "money" => Ok(Self::Money),
9261            "money_off" => Ok(Self::MoneyOff),
9262            "money_off_csred" => Ok(Self::MoneyOffCsred),
9263            "monitor" => Ok(Self::Monitor),
9264            "monitor_weight" => Ok(Self::MonitorWeight),
9265            "monochrome_photos" => Ok(Self::MonochromePhotos),
9266            "mood" => Ok(Self::Mood),
9267            "mood_bad" => Ok(Self::MoodBad),
9268            "moped" => Ok(Self::Moped),
9269            "more" => Ok(Self::More),
9270            "more_horiz" => Ok(Self::MoreHoriz),
9271            "more_time" => Ok(Self::MoreTime),
9272            "more_vert" => Ok(Self::MoreVert),
9273            "motion_photos_auto" => Ok(Self::MotionPhotosAuto),
9274            "motion_photos_off" => Ok(Self::MotionPhotosOff),
9275            "motion_photos_on" => Ok(Self::MotionPhotosOn),
9276            "motion_photos_pause" => Ok(Self::MotionPhotosPause),
9277            "motion_photos_paused" => Ok(Self::MotionPhotosPaused),
9278            "motorcycle" => Ok(Self::Motorcycle),
9279            "mouse" => Ok(Self::Mouse),
9280            "move_to_inbox" => Ok(Self::MoveToInbox),
9281            "movie" => Ok(Self::Movie),
9282            "movie_creation" => Ok(Self::MovieCreation),
9283            "movie_filter" => Ok(Self::MovieFilter),
9284            "moving" => Ok(Self::Moving),
9285            "mp" => Ok(Self::Mp),
9286            "multiline_chart" => Ok(Self::MultilineChart),
9287            "multiple_stop" => Ok(Self::MultipleStop),
9288            "multitrack_audio" => Ok(Self::MultitrackAudio),
9289            "museum" => Ok(Self::Museum),
9290            "music_note" => Ok(Self::MusicNote),
9291            "music_off" => Ok(Self::MusicOff),
9292            "music_video" => Ok(Self::MusicVideo),
9293            "my_library_add" => Ok(Self::MyLibraryAdd),
9294            "my_library_books" => Ok(Self::MyLibraryBooks),
9295            "my_library_music" => Ok(Self::MyLibraryMusic),
9296            "my_location" => Ok(Self::MyLocation),
9297            "nat" => Ok(Self::Nat),
9298            "nature" => Ok(Self::Nature),
9299            "nature_people" => Ok(Self::NaturePeople),
9300            "navigate_before" => Ok(Self::NavigateBefore),
9301            "navigate_next" => Ok(Self::NavigateNext),
9302            "navigation" => Ok(Self::Navigation),
9303            "near_me" => Ok(Self::NearMe),
9304            "near_me_disabled" => Ok(Self::NearMeDisabled),
9305            "nearby_error" => Ok(Self::NearbyError),
9306            "nearby_off" => Ok(Self::NearbyOff),
9307            "network_cell" => Ok(Self::NetworkCell),
9308            "network_check" => Ok(Self::NetworkCheck),
9309            "network_locked" => Ok(Self::NetworkLocked),
9310            "network_wifi" => Ok(Self::NetworkWifi),
9311            "new_label" => Ok(Self::NewLabel),
9312            "new_releases" => Ok(Self::NewReleases),
9313            "next_plan" => Ok(Self::NextPlan),
9314            "next_week" => Ok(Self::NextWeek),
9315            "nfc" => Ok(Self::Nfc),
9316            "night_shelter" => Ok(Self::NightShelter),
9317            "nightlife" => Ok(Self::Nightlife),
9318            "nightlight" => Ok(Self::Nightlight),
9319            "nightlight_round" => Ok(Self::NightlightRound),
9320            "nights_stay" => Ok(Self::NightsStay),
9321            "nine_k" => Ok(Self::NineK),
9322            "nine_k_plus" => Ok(Self::NineKPlus),
9323            "nine_mp" => Ok(Self::NineMp),
9324            "nineteen_mp" => Ok(Self::NineteenMp),
9325            "no_accounts" => Ok(Self::NoAccounts),
9326            "no_backpack" => Ok(Self::NoBackpack),
9327            "no_cell" => Ok(Self::NoCell),
9328            "no_drinks" => Ok(Self::NoDrinks),
9329            "no_encryption" => Ok(Self::NoEncryption),
9330            "no_encryption_gmailerrorred" => Ok(Self::NoEncryptionGmailerrorred),
9331            "no_flash" => Ok(Self::NoFlash),
9332            "no_food" => Ok(Self::NoFood),
9333            "no_luggage" => Ok(Self::NoLuggage),
9334            "no_meals" => Ok(Self::NoMeals),
9335            "no_meals_ouline" => Ok(Self::NoMealsOuline),
9336            "no_meeting_room" => Ok(Self::NoMeetingRoom),
9337            "no_photography" => Ok(Self::NoPhotography),
9338            "no_sim" => Ok(Self::NoSim),
9339            "no_stroller" => Ok(Self::NoStroller),
9340            "no_transfer" => Ok(Self::NoTransfer),
9341            "nordic_walking" => Ok(Self::NordicWalking),
9342            "north" => Ok(Self::North),
9343            "north_east" => Ok(Self::NorthEast),
9344            "north_west" => Ok(Self::NorthWest),
9345            "not_accessible" => Ok(Self::NotAccessible),
9346            "not_interested" => Ok(Self::NotInterested),
9347            "not_listed_location" => Ok(Self::NotListedLocation),
9348            "not_started" => Ok(Self::NotStarted),
9349            "note" => Ok(Self::Note),
9350            "note_add" => Ok(Self::NoteAdd),
9351            "note_alt" => Ok(Self::NoteAlt),
9352            "notes" => Ok(Self::Notes),
9353            "notification_add" => Ok(Self::NotificationAdd),
9354            "notification_important" => Ok(Self::NotificationImportant),
9355            "notifications" => Ok(Self::Notifications),
9356            "notifications_active" => Ok(Self::NotificationsActive),
9357            "notifications_none" => Ok(Self::NotificationsNone),
9358            "notifications_off" => Ok(Self::NotificationsOff),
9359            "notifications_on" => Ok(Self::NotificationsOn),
9360            "notifications_paused" => Ok(Self::NotificationsPaused),
9361            "now_wallpaper" => Ok(Self::NowWallpaper),
9362            "now_widgets" => Ok(Self::NowWidgets),
9363            "offline_bolt" => Ok(Self::OfflineBolt),
9364            "offline_pin" => Ok(Self::OfflinePin),
9365            "offline_share" => Ok(Self::OfflineShare),
9366            "ondemand_video" => Ok(Self::OndemandVideo),
9367            "one_k" => Ok(Self::OneK),
9368            "one_k_plus" => Ok(Self::OneKPlus),
9369            "one_x_mobiledata" => Ok(Self::OneXMobiledata),
9370            "online_prediction" => Ok(Self::OnlinePrediction),
9371            "opacity" => Ok(Self::Opacity),
9372            "open_in_browser" => Ok(Self::OpenInBrowser),
9373            "open_in_full" => Ok(Self::OpenInFull),
9374            "open_in_new" => Ok(Self::OpenInNew),
9375            "open_in_new_off" => Ok(Self::OpenInNewOff),
9376            "open_with" => Ok(Self::OpenWith),
9377            "other_houses" => Ok(Self::OtherHouses),
9378            "outbond" => Ok(Self::Outbond),
9379            "outbound" => Ok(Self::Outbound),
9380            "outbox" => Ok(Self::Outbox),
9381            "outdoor_grill" => Ok(Self::OutdoorGrill),
9382            "outgoing_mail" => Ok(Self::OutgoingMail),
9383            "outlet" => Ok(Self::Outlet),
9384            "outlined_flag" => Ok(Self::OutlinedFlag),
9385            "padding" => Ok(Self::Padding),
9386            "pages" => Ok(Self::Pages),
9387            "pageview" => Ok(Self::Pageview),
9388            "paid" => Ok(Self::Paid),
9389            "palette" => Ok(Self::Palette),
9390            "pan_tool" => Ok(Self::PanTool),
9391            "panorama" => Ok(Self::Panorama),
9392            "panorama_fish_eye" => Ok(Self::PanoramaFishEye),
9393            "panorama_fisheye" => Ok(Self::PanoramaFisheye),
9394            "panorama_horizontal" => Ok(Self::PanoramaHorizontal),
9395            "panorama_horizontal_select" => Ok(Self::PanoramaHorizontalSelect),
9396            "panorama_photosphere" => Ok(Self::PanoramaPhotosphere),
9397            "panorama_photosphere_select" => Ok(Self::PanoramaPhotosphereSelect),
9398            "panorama_vertical" => Ok(Self::PanoramaVertical),
9399            "panorama_vertical_select" => Ok(Self::PanoramaVerticalSelect),
9400            "panorama_wide_angle" => Ok(Self::PanoramaWideAngle),
9401            "panorama_wide_angle_select" => Ok(Self::PanoramaWideAngleSelect),
9402            "paragliding" => Ok(Self::Paragliding),
9403            "park" => Ok(Self::Park),
9404            "party_mode" => Ok(Self::PartyMode),
9405            "password" => Ok(Self::Password),
9406            "paste" => Ok(Self::Paste),
9407            "pattern" => Ok(Self::Pattern),
9408            "pause" => Ok(Self::Pause),
9409            "pause_circle" => Ok(Self::PauseCircle),
9410            "pause_circle_filled" => Ok(Self::PauseCircleFilled),
9411            "pause_circle_outline" => Ok(Self::PauseCircleOutline),
9412            "pause_presentation" => Ok(Self::PausePresentation),
9413            "payment" => Ok(Self::Payment),
9414            "payments" => Ok(Self::Payments),
9415            "pedal_bike" => Ok(Self::PedalBike),
9416            "pending" => Ok(Self::Pending),
9417            "pending_actions" => Ok(Self::PendingActions),
9418            "people" => Ok(Self::People),
9419            "people_alt" => Ok(Self::PeopleAlt),
9420            "people_outline" => Ok(Self::PeopleOutline),
9421            "perm_camera_mic" => Ok(Self::PermCameraMic),
9422            "perm_contact_cal" => Ok(Self::PermContactCal),
9423            "perm_contact_calendar" => Ok(Self::PermContactCalendar),
9424            "perm_data_setting" => Ok(Self::PermDataSetting),
9425            "perm_device_info" => Ok(Self::PermDeviceInfo),
9426            "perm_device_information" => Ok(Self::PermDeviceInformation),
9427            "perm_identity" => Ok(Self::PermIdentity),
9428            "perm_media" => Ok(Self::PermMedia),
9429            "perm_phone_msg" => Ok(Self::PermPhoneMsg),
9430            "perm_scan_wifi" => Ok(Self::PermScanWifi),
9431            "person" => Ok(Self::Person),
9432            "person_add" => Ok(Self::PersonAdd),
9433            "person_add_alt" => Ok(Self::PersonAddAlt),
9434            "person_add_alt_1" => Ok(Self::PersonAddAlt1),
9435            "person_add_disabled" => Ok(Self::PersonAddDisabled),
9436            "person_off" => Ok(Self::PersonOff),
9437            "person_outline" => Ok(Self::PersonOutline),
9438            "person_pin" => Ok(Self::PersonPin),
9439            "person_pin_circle" => Ok(Self::PersonPinCircle),
9440            "person_remove" => Ok(Self::PersonRemove),
9441            "person_remove_alt_1" => Ok(Self::PersonRemoveAlt1),
9442            "person_search" => Ok(Self::PersonSearch),
9443            "personal_injury" => Ok(Self::PersonalInjury),
9444            "personal_video" => Ok(Self::PersonalVideo),
9445            "pest_control" => Ok(Self::PestControl),
9446            "pest_control_rodent" => Ok(Self::PestControlRodent),
9447            "pets" => Ok(Self::Pets),
9448            "phone" => Ok(Self::Phone),
9449            "phone_android" => Ok(Self::PhoneAndroid),
9450            "phone_bluetooth_speaker" => Ok(Self::PhoneBluetoothSpeaker),
9451            "phone_callback" => Ok(Self::PhoneCallback),
9452            "phone_disabled" => Ok(Self::PhoneDisabled),
9453            "phone_enabled" => Ok(Self::PhoneEnabled),
9454            "phone_forwarded" => Ok(Self::PhoneForwarded),
9455            "phone_in_talk" => Ok(Self::PhoneInTalk),
9456            "phone_iphone" => Ok(Self::PhoneIphone),
9457            "phone_locked" => Ok(Self::PhoneLocked),
9458            "phone_missed" => Ok(Self::PhoneMissed),
9459            "phone_paused" => Ok(Self::PhonePaused),
9460            "phonelink" => Ok(Self::Phonelink),
9461            "phonelink_erase" => Ok(Self::PhonelinkErase),
9462            "phonelink_lock" => Ok(Self::PhonelinkLock),
9463            "phonelink_off" => Ok(Self::PhonelinkOff),
9464            "phonelink_ring" => Ok(Self::PhonelinkRing),
9465            "phonelink_setup" => Ok(Self::PhonelinkSetup),
9466            "photo" => Ok(Self::Photo),
9467            "photo_album" => Ok(Self::PhotoAlbum),
9468            "photo_camera" => Ok(Self::PhotoCamera),
9469            "photo_camera_back" => Ok(Self::PhotoCameraBack),
9470            "photo_camera_front" => Ok(Self::PhotoCameraFront),
9471            "photo_filter" => Ok(Self::PhotoFilter),
9472            "photo_library" => Ok(Self::PhotoLibrary),
9473            "photo_size_select_actual" => Ok(Self::PhotoSizeSelectActual),
9474            "photo_size_select_large" => Ok(Self::PhotoSizeSelectLarge),
9475            "photo_size_select_small" => Ok(Self::PhotoSizeSelectSmall),
9476            "piano" => Ok(Self::Piano),
9477            "piano_off" => Ok(Self::PianoOff),
9478            "picture_as_pdf" => Ok(Self::PictureAsPdf),
9479            "picture_in_picture" => Ok(Self::PictureInPicture),
9480            "picture_in_picture_alt" => Ok(Self::PictureInPictureAlt),
9481            "pie_chart" => Ok(Self::PieChart),
9482            "pie_chart_outline" => Ok(Self::PieChartOutline),
9483            "pin" => Ok(Self::Pin),
9484            "pin_drop" => Ok(Self::PinDrop),
9485            "pivot_table_chart" => Ok(Self::PivotTableChart),
9486            "place" => Ok(Self::Place),
9487            "plagiarism" => Ok(Self::Plagiarism),
9488            "play_arrow" => Ok(Self::PlayArrow),
9489            "play_circle" => Ok(Self::PlayCircle),
9490            "play_circle_fill" => Ok(Self::PlayCircleFill),
9491            "play_circle_filled" => Ok(Self::PlayCircleFilled),
9492            "play_circle_outline" => Ok(Self::PlayCircleOutline),
9493            "play_disabled" => Ok(Self::PlayDisabled),
9494            "play_for_work" => Ok(Self::PlayForWork),
9495            "play_lesson" => Ok(Self::PlayLesson),
9496            "playlist_add" => Ok(Self::PlaylistAdd),
9497            "playlist_add_check" => Ok(Self::PlaylistAddCheck),
9498            "playlist_play" => Ok(Self::PlaylistPlay),
9499            "plumbing" => Ok(Self::Plumbing),
9500            "plus_one" => Ok(Self::PlusOne),
9501            "podcasts" => Ok(Self::Podcasts),
9502            "point_of_sale" => Ok(Self::PointOfSale),
9503            "policy" => Ok(Self::Policy),
9504            "poll" => Ok(Self::Poll),
9505            "polymer" => Ok(Self::Polymer),
9506            "pool" => Ok(Self::Pool),
9507            "portable_wifi_off" => Ok(Self::PortableWifiOff),
9508            "portrait" => Ok(Self::Portrait),
9509            "post_add" => Ok(Self::PostAdd),
9510            "power" => Ok(Self::Power),
9511            "power_input" => Ok(Self::PowerInput),
9512            "power_off" => Ok(Self::PowerOff),
9513            "power_settings_new" => Ok(Self::PowerSettingsNew),
9514            "precision_manufacturing" => Ok(Self::PrecisionManufacturing),
9515            "pregnant_woman" => Ok(Self::PregnantWoman),
9516            "present_to_all" => Ok(Self::PresentToAll),
9517            "preview" => Ok(Self::Preview),
9518            "price_change" => Ok(Self::PriceChange),
9519            "price_check" => Ok(Self::PriceCheck),
9520            "print" => Ok(Self::Print),
9521            "print_disabled" => Ok(Self::PrintDisabled),
9522            "priority_high" => Ok(Self::PriorityHigh),
9523            "privacy_tip" => Ok(Self::PrivacyTip),
9524            "production_quantity_limits" => Ok(Self::ProductionQuantityLimits),
9525            "psychology" => Ok(Self::Psychology),
9526            "public" => Ok(Self::Public),
9527            "public_off" => Ok(Self::PublicOff),
9528            "publish" => Ok(Self::Publish),
9529            "published_with_changes" => Ok(Self::PublishedWithChanges),
9530            "push_pin" => Ok(Self::PushPin),
9531            "qr_code" => Ok(Self::QrCode),
9532            "qr_code_2" => Ok(Self::QrCode2),
9533            "qr_code_scanner" => Ok(Self::QrCodeScanner),
9534            "query_builder" => Ok(Self::QueryBuilder),
9535            "query_stats" => Ok(Self::QueryStats),
9536            "question_answer" => Ok(Self::QuestionAnswer),
9537            "queue" => Ok(Self::Queue),
9538            "queue_music" => Ok(Self::QueueMusic),
9539            "queue_play_next" => Ok(Self::QueuePlayNext),
9540            "quick_contacts_dialer" => Ok(Self::QuickContactsDialer),
9541            "quick_contacts_mail" => Ok(Self::QuickContactsMail),
9542            "quickreply" => Ok(Self::Quickreply),
9543            "quiz" => Ok(Self::Quiz),
9544            "r_mobiledata" => Ok(Self::RMobiledata),
9545            "radar" => Ok(Self::Radar),
9546            "radio" => Ok(Self::Radio),
9547            "radio_button_checked" => Ok(Self::RadioButtonChecked),
9548            "radio_button_off" => Ok(Self::RadioButtonOff),
9549            "radio_button_on" => Ok(Self::RadioButtonOn),
9550            "radio_button_unchecked" => Ok(Self::RadioButtonUnchecked),
9551            "railway_alert" => Ok(Self::RailwayAlert),
9552            "ramen_dining" => Ok(Self::RamenDining),
9553            "rate_review" => Ok(Self::RateReview),
9554            "raw_off" => Ok(Self::RawOff),
9555            "raw_on" => Ok(Self::RawOn),
9556            "read_more" => Ok(Self::ReadMore),
9557            "real_estate_agent" => Ok(Self::RealEstateAgent),
9558            "receipt" => Ok(Self::Receipt),
9559            "receipt_long" => Ok(Self::ReceiptLong),
9560            "recent_actors" => Ok(Self::RecentActors),
9561            "recommend" => Ok(Self::Recommend),
9562            "record_voice_over" => Ok(Self::RecordVoiceOver),
9563            "redeem" => Ok(Self::Redeem),
9564            "redo" => Ok(Self::Redo),
9565            "reduce_capacity" => Ok(Self::ReduceCapacity),
9566            "refresh" => Ok(Self::Refresh),
9567            "remember_me" => Ok(Self::RememberMe),
9568            "remove" => Ok(Self::Remove),
9569            "remove_circle" => Ok(Self::RemoveCircle),
9570            "remove_circle_outline" => Ok(Self::RemoveCircleOutline),
9571            "remove_done" => Ok(Self::RemoveDone),
9572            "remove_from_queue" => Ok(Self::RemoveFromQueue),
9573            "remove_moderator" => Ok(Self::RemoveModerator),
9574            "remove_red_eye" => Ok(Self::RemoveRedEye),
9575            "remove_shopping_cart" => Ok(Self::RemoveShoppingCart),
9576            "reorder" => Ok(Self::Reorder),
9577            "repeat" => Ok(Self::Repeat),
9578            "repeat_on" => Ok(Self::RepeatOn),
9579            "repeat_one" => Ok(Self::RepeatOne),
9580            "repeat_one_on" => Ok(Self::RepeatOneOn),
9581            "replay" => Ok(Self::Replay),
9582            "replay_10" => Ok(Self::Replay10),
9583            "replay_30" => Ok(Self::Replay30),
9584            "replay_5" => Ok(Self::Replay5),
9585            "replay_circle_filled" => Ok(Self::ReplayCircleFilled),
9586            "reply" => Ok(Self::Reply),
9587            "reply_all" => Ok(Self::ReplyAll),
9588            "report" => Ok(Self::Report),
9589            "report_gmailerrorred" => Ok(Self::ReportGmailerrorred),
9590            "report_off" => Ok(Self::ReportOff),
9591            "report_problem" => Ok(Self::ReportProblem),
9592            "request_page" => Ok(Self::RequestPage),
9593            "request_quote" => Ok(Self::RequestQuote),
9594            "reset_tv" => Ok(Self::ResetTv),
9595            "restart_alt" => Ok(Self::RestartAlt),
9596            "restaurant" => Ok(Self::Restaurant),
9597            "restaurant_menu" => Ok(Self::RestaurantMenu),
9598            "restore" => Ok(Self::Restore),
9599            "restore_from_trash" => Ok(Self::RestoreFromTrash),
9600            "restore_page" => Ok(Self::RestorePage),
9601            "reviews" => Ok(Self::Reviews),
9602            "rice_bowl" => Ok(Self::RiceBowl),
9603            "ring_volume" => Ok(Self::RingVolume),
9604            "roofing" => Ok(Self::Roofing),
9605            "room" => Ok(Self::Room),
9606            "room_preferences" => Ok(Self::RoomPreferences),
9607            "room_service" => Ok(Self::RoomService),
9608            "rotate_90_degrees_ccw" => Ok(Self::Rotate90DegreesCcw),
9609            "rotate_left" => Ok(Self::RotateLeft),
9610            "rotate_right" => Ok(Self::RotateRight),
9611            "rounded_corner" => Ok(Self::RoundedCorner),
9612            "router" => Ok(Self::Router),
9613            "rowing" => Ok(Self::Rowing),
9614            "rss_feed" => Ok(Self::RssFeed),
9615            "rsvp" => Ok(Self::Rsvp),
9616            "rtt" => Ok(Self::Rtt),
9617            "rule" => Ok(Self::Rule),
9618            "rule_folder" => Ok(Self::RuleFolder),
9619            "run_circle" => Ok(Self::RunCircle),
9620            "running_with_errors" => Ok(Self::RunningWithErrors),
9621            "rv_hookup" => Ok(Self::RvHookup),
9622            "safety_divider" => Ok(Self::SafetyDivider),
9623            "sailing" => Ok(Self::Sailing),
9624            "sanitizer" => Ok(Self::Sanitizer),
9625            "satellite" => Ok(Self::Satellite),
9626            "save" => Ok(Self::Save),
9627            "save_alt" => Ok(Self::SaveAlt),
9628            "saved_search" => Ok(Self::SavedSearch),
9629            "savings" => Ok(Self::Savings),
9630            "scanner" => Ok(Self::Scanner),
9631            "scatter_plot" => Ok(Self::ScatterPlot),
9632            "schedule" => Ok(Self::Schedule),
9633            "schedule_send" => Ok(Self::ScheduleSend),
9634            "schema" => Ok(Self::Schema),
9635            "school" => Ok(Self::School),
9636            "science" => Ok(Self::Science),
9637            "score" => Ok(Self::Score),
9638            "screen_lock_landscape" => Ok(Self::ScreenLockLandscape),
9639            "screen_lock_portrait" => Ok(Self::ScreenLockPortrait),
9640            "screen_lock_rotation" => Ok(Self::ScreenLockRotation),
9641            "screen_rotation" => Ok(Self::ScreenRotation),
9642            "screen_search_desktop" => Ok(Self::ScreenSearchDesktop),
9643            "screen_share" => Ok(Self::ScreenShare),
9644            "screenshot" => Ok(Self::Screenshot),
9645            "sd" => Ok(Self::Sd),
9646            "sd_card" => Ok(Self::SdCard),
9647            "sd_card_alert" => Ok(Self::SdCardAlert),
9648            "sd_storage" => Ok(Self::SdStorage),
9649            "search" => Ok(Self::Search),
9650            "search_off" => Ok(Self::SearchOff),
9651            "security" => Ok(Self::Security),
9652            "security_update" => Ok(Self::SecurityUpdate),
9653            "security_update_good" => Ok(Self::SecurityUpdateGood),
9654            "security_update_warning" => Ok(Self::SecurityUpdateWarning),
9655            "segment" => Ok(Self::Segment),
9656            "select_all" => Ok(Self::SelectAll),
9657            "self_improvement" => Ok(Self::SelfImprovement),
9658            "sell" => Ok(Self::Sell),
9659            "send" => Ok(Self::Send),
9660            "send_and_archive" => Ok(Self::SendAndArchive),
9661            "send_to_mobile" => Ok(Self::SendToMobile),
9662            "sensor_door" => Ok(Self::SensorDoor),
9663            "sensor_window" => Ok(Self::SensorWindow),
9664            "sensors" => Ok(Self::Sensors),
9665            "sensors_off" => Ok(Self::SensorsOff),
9666            "sentiment_dissatisfied" => Ok(Self::SentimentDissatisfied),
9667            "sentiment_neutral" => Ok(Self::SentimentNeutral),
9668            "sentiment_satisfied" => Ok(Self::SentimentSatisfied),
9669            "sentiment_satisfied_alt" => Ok(Self::SentimentSatisfiedAlt),
9670            "sentiment_very_dissatisfied" => Ok(Self::SentimentVeryDissatisfied),
9671            "sentiment_very_satisfied" => Ok(Self::SentimentVerySatisfied),
9672            "set_meal" => Ok(Self::SetMeal),
9673            "settings" => Ok(Self::Settings),
9674            "settings_accessibility" => Ok(Self::SettingsAccessibility),
9675            "settings_applications" => Ok(Self::SettingsApplications),
9676            "settings_backup_restore" => Ok(Self::SettingsBackupRestore),
9677            "settings_bluetooth" => Ok(Self::SettingsBluetooth),
9678            "settings_brightness" => Ok(Self::SettingsBrightness),
9679            "settings_cell" => Ok(Self::SettingsCell),
9680            "settings_display" => Ok(Self::SettingsDisplay),
9681            "settings_ethernet" => Ok(Self::SettingsEthernet),
9682            "settings_input_antenna" => Ok(Self::SettingsInputAntenna),
9683            "settings_input_component" => Ok(Self::SettingsInputComponent),
9684            "settings_input_composite" => Ok(Self::SettingsInputComposite),
9685            "settings_input_hdmi" => Ok(Self::SettingsInputHdmi),
9686            "settings_input_svideo" => Ok(Self::SettingsInputSvideo),
9687            "settings_overscan" => Ok(Self::SettingsOverscan),
9688            "settings_phone" => Ok(Self::SettingsPhone),
9689            "settings_power" => Ok(Self::SettingsPower),
9690            "settings_remote" => Ok(Self::SettingsRemote),
9691            "settings_suggest" => Ok(Self::SettingsSuggest),
9692            "settings_system_daydream" => Ok(Self::SettingsSystemDaydream),
9693            "settings_voice" => Ok(Self::SettingsVoice),
9694            "seven_k" => Ok(Self::SevenK),
9695            "seven_k_plus" => Ok(Self::SevenKPlus),
9696            "seven_mp" => Ok(Self::SevenMp),
9697            "seventeen_mp" => Ok(Self::SeventeenMp),
9698            "share" => Ok(Self::Share),
9699            "share_arrival_time" => Ok(Self::ShareArrivalTime),
9700            "share_location" => Ok(Self::ShareLocation),
9701            "shield" => Ok(Self::Shield),
9702            "shop" => Ok(Self::Shop),
9703            "shop_2" => Ok(Self::Shop2),
9704            "shop_two" => Ok(Self::ShopTwo),
9705            "shopping_bag" => Ok(Self::ShoppingBag),
9706            "shopping_basket" => Ok(Self::ShoppingBasket),
9707            "shopping_cart" => Ok(Self::ShoppingCart),
9708            "short_text" => Ok(Self::ShortText),
9709            "shortcut" => Ok(Self::Shortcut),
9710            "show_chart" => Ok(Self::ShowChart),
9711            "shower" => Ok(Self::Shower),
9712            "shuffle" => Ok(Self::Shuffle),
9713            "shuffle_on" => Ok(Self::ShuffleOn),
9714            "shutter_speed" => Ok(Self::ShutterSpeed),
9715            "sick" => Ok(Self::Sick),
9716            "signal_cellular_0_bar" => Ok(Self::SignalCellular0Bar),
9717            "signal_cellular_4_bar" => Ok(Self::SignalCellular4Bar),
9718            "signal_cellular_alt" => Ok(Self::SignalCellularAlt),
9719            "signal_cellular_connected_no_internet_0_bar" => {
9720                Ok(Self::SignalCellularConnectedNoInternet0Bar)
9721            }
9722            "signal_cellular_connected_no_internet_4_bar" => {
9723                Ok(Self::SignalCellularConnectedNoInternet4Bar)
9724            }
9725            "signal_cellular_no_sim" => Ok(Self::SignalCellularNoSim),
9726            "signal_cellular_nodata" => Ok(Self::SignalCellularNodata),
9727            "signal_cellular_null" => Ok(Self::SignalCellularNull),
9728            "signal_cellular_off" => Ok(Self::SignalCellularOff),
9729            "signal_wifi_0_bar" => Ok(Self::SignalWifi0Bar),
9730            "signal_wifi_4_bar" => Ok(Self::SignalWifi4Bar),
9731            "signal_wifi_4_bar_lock" => Ok(Self::SignalWifi4BarLock),
9732            "signal_wifi_bad" => Ok(Self::SignalWifiBad),
9733            "signal_wifi_connected_no_internet_4" => {
9734                Ok(Self::SignalWifiConnectedNoInternet4)
9735            }
9736            "signal_wifi_off" => Ok(Self::SignalWifiOff),
9737            "signal_wifi_statusbar_4_bar" => Ok(Self::SignalWifiStatusbar4Bar),
9738            "signal_wifi_statusbar_connected_no_internet_4" => {
9739                Ok(Self::SignalWifiStatusbarConnectedNoInternet4)
9740            }
9741            "signal_wifi_statusbar_null" => Ok(Self::SignalWifiStatusbarNull),
9742            "sim_card" => Ok(Self::SimCard),
9743            "sim_card_alert" => Ok(Self::SimCardAlert),
9744            "sim_card_download" => Ok(Self::SimCardDownload),
9745            "single_bed" => Ok(Self::SingleBed),
9746            "sip" => Ok(Self::Sip),
9747            "six_ft_apart" => Ok(Self::SixFtApart),
9748            "six_k" => Ok(Self::SixK),
9749            "six_k_plus" => Ok(Self::SixKPlus),
9750            "six_mp" => Ok(Self::SixMp),
9751            "sixteen_mp" => Ok(Self::SixteenMp),
9752            "sixty_fps" => Ok(Self::SixtyFps),
9753            "sixty_fps_select" => Ok(Self::SixtyFpsSelect),
9754            "skateboarding" => Ok(Self::Skateboarding),
9755            "skip_next" => Ok(Self::SkipNext),
9756            "skip_previous" => Ok(Self::SkipPrevious),
9757            "sledding" => Ok(Self::Sledding),
9758            "slideshow" => Ok(Self::Slideshow),
9759            "slow_motion_video" => Ok(Self::SlowMotionVideo),
9760            "smart_button" => Ok(Self::SmartButton),
9761            "smart_display" => Ok(Self::SmartDisplay),
9762            "smart_screen" => Ok(Self::SmartScreen),
9763            "smart_toy" => Ok(Self::SmartToy),
9764            "smartphone" => Ok(Self::Smartphone),
9765            "smoke_free" => Ok(Self::SmokeFree),
9766            "smoking_rooms" => Ok(Self::SmokingRooms),
9767            "sms" => Ok(Self::Sms),
9768            "sms_failed" => Ok(Self::SmsFailed),
9769            "snippet_folder" => Ok(Self::SnippetFolder),
9770            "snooze" => Ok(Self::Snooze),
9771            "snowboarding" => Ok(Self::Snowboarding),
9772            "snowmobile" => Ok(Self::Snowmobile),
9773            "snowshoeing" => Ok(Self::Snowshoeing),
9774            "soap" => Ok(Self::Soap),
9775            "social_distance" => Ok(Self::SocialDistance),
9776            "sort" => Ok(Self::Sort),
9777            "sort_by_alpha" => Ok(Self::SortByAlpha),
9778            "source" => Ok(Self::Source),
9779            "south" => Ok(Self::South),
9780            "south_east" => Ok(Self::SouthEast),
9781            "south_west" => Ok(Self::SouthWest),
9782            "spa" => Ok(Self::Spa),
9783            "space_bar" => Ok(Self::SpaceBar),
9784            "space_dashboard" => Ok(Self::SpaceDashboard),
9785            "speaker" => Ok(Self::Speaker),
9786            "speaker_group" => Ok(Self::SpeakerGroup),
9787            "speaker_notes" => Ok(Self::SpeakerNotes),
9788            "speaker_notes_off" => Ok(Self::SpeakerNotesOff),
9789            "speaker_phone" => Ok(Self::SpeakerPhone),
9790            "speed" => Ok(Self::Speed),
9791            "spellcheck" => Ok(Self::Spellcheck),
9792            "splitscreen" => Ok(Self::Splitscreen),
9793            "sports" => Ok(Self::Sports),
9794            "sports_bar" => Ok(Self::SportsBar),
9795            "sports_baseball" => Ok(Self::SportsBaseball),
9796            "sports_basketball" => Ok(Self::SportsBasketball),
9797            "sports_cricket" => Ok(Self::SportsCricket),
9798            "sports_esports" => Ok(Self::SportsEsports),
9799            "sports_football" => Ok(Self::SportsFootball),
9800            "sports_golf" => Ok(Self::SportsGolf),
9801            "sports_handball" => Ok(Self::SportsHandball),
9802            "sports_hockey" => Ok(Self::SportsHockey),
9803            "sports_kabaddi" => Ok(Self::SportsKabaddi),
9804            "sports_mma" => Ok(Self::SportsMma),
9805            "sports_motorsports" => Ok(Self::SportsMotorsports),
9806            "sports_rugby" => Ok(Self::SportsRugby),
9807            "sports_score" => Ok(Self::SportsScore),
9808            "sports_soccer" => Ok(Self::SportsSoccer),
9809            "sports_tennis" => Ok(Self::SportsTennis),
9810            "sports_volleyball" => Ok(Self::SportsVolleyball),
9811            "square_foot" => Ok(Self::SquareFoot),
9812            "stacked_bar_chart" => Ok(Self::StackedBarChart),
9813            "stacked_line_chart" => Ok(Self::StackedLineChart),
9814            "stairs" => Ok(Self::Stairs),
9815            "star" => Ok(Self::Star),
9816            "star_border" => Ok(Self::StarBorder),
9817            "star_border_purple500" => Ok(Self::StarBorderPurple500),
9818            "star_half" => Ok(Self::StarHalf),
9819            "star_outline" => Ok(Self::StarOutline),
9820            "star_purple500" => Ok(Self::StarPurple500),
9821            "star_rate" => Ok(Self::StarRate),
9822            "stars" => Ok(Self::Stars),
9823            "stay_current_landscape" => Ok(Self::StayCurrentLandscape),
9824            "stay_current_portrait" => Ok(Self::StayCurrentPortrait),
9825            "stay_primary_landscape" => Ok(Self::StayPrimaryLandscape),
9826            "stay_primary_portrait" => Ok(Self::StayPrimaryPortrait),
9827            "sticky_note_2" => Ok(Self::StickyNote2),
9828            "stop" => Ok(Self::Stop),
9829            "stop_circle" => Ok(Self::StopCircle),
9830            "stop_screen_share" => Ok(Self::StopScreenShare),
9831            "storage" => Ok(Self::Storage),
9832            "store" => Ok(Self::Store),
9833            "store_mall_directory" => Ok(Self::StoreMallDirectory),
9834            "storefront" => Ok(Self::Storefront),
9835            "storm" => Ok(Self::Storm),
9836            "straighten" => Ok(Self::Straighten),
9837            "stream" => Ok(Self::Stream),
9838            "streetview" => Ok(Self::Streetview),
9839            "strikethrough_s" => Ok(Self::StrikethroughS),
9840            "stroller" => Ok(Self::Stroller),
9841            "style" => Ok(Self::Style),
9842            "subdirectory_arrow_left" => Ok(Self::SubdirectoryArrowLeft),
9843            "subdirectory_arrow_right" => Ok(Self::SubdirectoryArrowRight),
9844            "subject" => Ok(Self::Subject),
9845            "subscript" => Ok(Self::Subscript),
9846            "subscriptions" => Ok(Self::Subscriptions),
9847            "subtitles" => Ok(Self::Subtitles),
9848            "subtitles_off" => Ok(Self::SubtitlesOff),
9849            "subway" => Ok(Self::Subway),
9850            "summarize" => Ok(Self::Summarize),
9851            "superscript" => Ok(Self::Superscript),
9852            "supervised_user_circle" => Ok(Self::SupervisedUserCircle),
9853            "supervisor_account" => Ok(Self::SupervisorAccount),
9854            "support" => Ok(Self::Support),
9855            "support_agent" => Ok(Self::SupportAgent),
9856            "surfing" => Ok(Self::Surfing),
9857            "surround_sound" => Ok(Self::SurroundSound),
9858            "swap_calls" => Ok(Self::SwapCalls),
9859            "swap_horiz" => Ok(Self::SwapHoriz),
9860            "swap_horizontal_circle" => Ok(Self::SwapHorizontalCircle),
9861            "swap_vert" => Ok(Self::SwapVert),
9862            "swap_vert_circle" => Ok(Self::SwapVertCircle),
9863            "swap_vertical_circle" => Ok(Self::SwapVerticalCircle),
9864            "swipe" => Ok(Self::Swipe),
9865            "switch_account" => Ok(Self::SwitchAccount),
9866            "switch_camera" => Ok(Self::SwitchCamera),
9867            "switch_left" => Ok(Self::SwitchLeft),
9868            "switch_right" => Ok(Self::SwitchRight),
9869            "switch_video" => Ok(Self::SwitchVideo),
9870            "sync" => Ok(Self::Sync),
9871            "sync_alt" => Ok(Self::SyncAlt),
9872            "sync_disabled" => Ok(Self::SyncDisabled),
9873            "sync_problem" => Ok(Self::SyncProblem),
9874            "system_security_update" => Ok(Self::SystemSecurityUpdate),
9875            "system_security_update_good" => Ok(Self::SystemSecurityUpdateGood),
9876            "system_security_update_warning" => Ok(Self::SystemSecurityUpdateWarning),
9877            "system_update" => Ok(Self::SystemUpdate),
9878            "system_update_alt" => Ok(Self::SystemUpdateAlt),
9879            "system_update_tv" => Ok(Self::SystemUpdateTv),
9880            "tab" => Ok(Self::Tab),
9881            "tab_unselected" => Ok(Self::TabUnselected),
9882            "table_chart" => Ok(Self::TableChart),
9883            "table_rows" => Ok(Self::TableRows),
9884            "table_view" => Ok(Self::TableView),
9885            "tablet" => Ok(Self::Tablet),
9886            "tablet_android" => Ok(Self::TabletAndroid),
9887            "tablet_mac" => Ok(Self::TabletMac),
9888            "tag" => Ok(Self::Tag),
9889            "tag_faces" => Ok(Self::TagFaces),
9890            "takeout_dining" => Ok(Self::TakeoutDining),
9891            "tap_and_play" => Ok(Self::TapAndPlay),
9892            "tapas" => Ok(Self::Tapas),
9893            "task" => Ok(Self::Task),
9894            "task_alt" => Ok(Self::TaskAlt),
9895            "taxi_alert" => Ok(Self::TaxiAlert),
9896            "ten_k" => Ok(Self::TenK),
9897            "ten_mp" => Ok(Self::TenMp),
9898            "terrain" => Ok(Self::Terrain),
9899            "text_fields" => Ok(Self::TextFields),
9900            "text_format" => Ok(Self::TextFormat),
9901            "text_rotate_up" => Ok(Self::TextRotateUp),
9902            "text_rotate_vertical" => Ok(Self::TextRotateVertical),
9903            "text_rotation_angledown" => Ok(Self::TextRotationAngledown),
9904            "text_rotation_angleup" => Ok(Self::TextRotationAngleup),
9905            "text_rotation_down" => Ok(Self::TextRotationDown),
9906            "text_rotation_none" => Ok(Self::TextRotationNone),
9907            "text_snippet" => Ok(Self::TextSnippet),
9908            "textsms" => Ok(Self::Textsms),
9909            "texture" => Ok(Self::Texture),
9910            "theater_comedy" => Ok(Self::TheaterComedy),
9911            "theaters" => Ok(Self::Theaters),
9912            "thermostat" => Ok(Self::Thermostat),
9913            "thermostat_auto" => Ok(Self::ThermostatAuto),
9914            "thirteen_mp" => Ok(Self::ThirteenMp),
9915            "thirty_fps" => Ok(Self::ThirtyFps),
9916            "thirty_fps_select" => Ok(Self::ThirtyFpsSelect),
9917            "three_g_mobiledata" => Ok(Self::ThreeGMobiledata),
9918            "three_k" => Ok(Self::ThreeK),
9919            "three_k_plus" => Ok(Self::ThreeKPlus),
9920            "three_mp" => Ok(Self::ThreeMp),
9921            "three_p" => Ok(Self::ThreeP),
9922            "threed_rotation" => Ok(Self::ThreedRotation),
9923            "threesixty" => Ok(Self::Threesixty),
9924            "thumb_down" => Ok(Self::ThumbDown),
9925            "thumb_down_alt" => Ok(Self::ThumbDownAlt),
9926            "thumb_down_off_alt" => Ok(Self::ThumbDownOffAlt),
9927            "thumb_up" => Ok(Self::ThumbUp),
9928            "thumb_up_alt" => Ok(Self::ThumbUpAlt),
9929            "thumb_up_off_alt" => Ok(Self::ThumbUpOffAlt),
9930            "thumbs_up_down" => Ok(Self::ThumbsUpDown),
9931            "time_to_leave" => Ok(Self::TimeToLeave),
9932            "timelapse" => Ok(Self::Timelapse),
9933            "timeline" => Ok(Self::Timeline),
9934            "timer" => Ok(Self::Timer),
9935            "timer_10" => Ok(Self::Timer10),
9936            "timer_10_select" => Ok(Self::Timer10Select),
9937            "timer_3" => Ok(Self::Timer3),
9938            "timer_3_select" => Ok(Self::Timer3Select),
9939            "timer_off" => Ok(Self::TimerOff),
9940            "title" => Ok(Self::Title),
9941            "toc" => Ok(Self::Toc),
9942            "today" => Ok(Self::Today),
9943            "toggle_off" => Ok(Self::ToggleOff),
9944            "toggle_on" => Ok(Self::ToggleOn),
9945            "toll" => Ok(Self::Toll),
9946            "tonality" => Ok(Self::Tonality),
9947            "topic" => Ok(Self::Topic),
9948            "touch_app" => Ok(Self::TouchApp),
9949            "tour" => Ok(Self::Tour),
9950            "toys" => Ok(Self::Toys),
9951            "track_changes" => Ok(Self::TrackChanges),
9952            "traffic" => Ok(Self::Traffic),
9953            "train" => Ok(Self::Train),
9954            "tram" => Ok(Self::Tram),
9955            "transfer_within_a_station" => Ok(Self::TransferWithinAStation),
9956            "transform" => Ok(Self::Transform),
9957            "transgender" => Ok(Self::Transgender),
9958            "transit_enterexit" => Ok(Self::TransitEnterexit),
9959            "translate" => Ok(Self::Translate),
9960            "travel_explore" => Ok(Self::TravelExplore),
9961            "trending_down" => Ok(Self::TrendingDown),
9962            "trending_flat" => Ok(Self::TrendingFlat),
9963            "trending_neutral" => Ok(Self::TrendingNeutral),
9964            "trending_up" => Ok(Self::TrendingUp),
9965            "trip_origin" => Ok(Self::TripOrigin),
9966            "try_sms_star" => Ok(Self::TrySmsStar),
9967            "tty" => Ok(Self::Tty),
9968            "tune" => Ok(Self::Tune),
9969            "tungsten" => Ok(Self::Tungsten),
9970            "turned_in" => Ok(Self::TurnedIn),
9971            "turned_in_not" => Ok(Self::TurnedInNot),
9972            "tv" => Ok(Self::Tv),
9973            "tv_off" => Ok(Self::TvOff),
9974            "twelve_mp" => Ok(Self::TwelveMp),
9975            "twenty_four_mp" => Ok(Self::TwentyFourMp),
9976            "twenty_mp" => Ok(Self::TwentyMp),
9977            "twenty_one_mp" => Ok(Self::TwentyOneMp),
9978            "twenty_three_mp" => Ok(Self::TwentyThreeMp),
9979            "twenty_two_mp" => Ok(Self::TwentyTwoMp),
9980            "two_k" => Ok(Self::TwoK),
9981            "two_k_plus" => Ok(Self::TwoKPlus),
9982            "two_mp" => Ok(Self::TwoMp),
9983            "two_wheeler" => Ok(Self::TwoWheeler),
9984            "umbrella" => Ok(Self::Umbrella),
9985            "unarchive" => Ok(Self::Unarchive),
9986            "undo" => Ok(Self::Undo),
9987            "unfold_less" => Ok(Self::UnfoldLess),
9988            "unfold_more" => Ok(Self::UnfoldMore),
9989            "unpublished" => Ok(Self::Unpublished),
9990            "unsubscribe" => Ok(Self::Unsubscribe),
9991            "upcoming" => Ok(Self::Upcoming),
9992            "update" => Ok(Self::Update),
9993            "update_disabled" => Ok(Self::UpdateDisabled),
9994            "upgrade" => Ok(Self::Upgrade),
9995            "upload" => Ok(Self::Upload),
9996            "upload_file" => Ok(Self::UploadFile),
9997            "usb" => Ok(Self::Usb),
9998            "usb_off" => Ok(Self::UsbOff),
9999            "verified" => Ok(Self::Verified),
10000            "verified_user" => Ok(Self::VerifiedUser),
10001            "vertical_align_bottom" => Ok(Self::VerticalAlignBottom),
10002            "vertical_align_center" => Ok(Self::VerticalAlignCenter),
10003            "vertical_align_top" => Ok(Self::VerticalAlignTop),
10004            "vertical_distribute" => Ok(Self::VerticalDistribute),
10005            "vertical_split" => Ok(Self::VerticalSplit),
10006            "vibration" => Ok(Self::Vibration),
10007            "video_call" => Ok(Self::VideoCall),
10008            "video_camera_back" => Ok(Self::VideoCameraBack),
10009            "video_camera_front" => Ok(Self::VideoCameraFront),
10010            "video_collection" => Ok(Self::VideoCollection),
10011            "video_label" => Ok(Self::VideoLabel),
10012            "video_library" => Ok(Self::VideoLibrary),
10013            "video_settings" => Ok(Self::VideoSettings),
10014            "video_stable" => Ok(Self::VideoStable),
10015            "videocam" => Ok(Self::Videocam),
10016            "videocam_off" => Ok(Self::VideocamOff),
10017            "videogame_asset" => Ok(Self::VideogameAsset),
10018            "videogame_asset_off" => Ok(Self::VideogameAssetOff),
10019            "view_agenda" => Ok(Self::ViewAgenda),
10020            "view_array" => Ok(Self::ViewArray),
10021            "view_carousel" => Ok(Self::ViewCarousel),
10022            "view_column" => Ok(Self::ViewColumn),
10023            "view_comfortable" => Ok(Self::ViewComfortable),
10024            "view_comfy" => Ok(Self::ViewComfy),
10025            "view_compact" => Ok(Self::ViewCompact),
10026            "view_day" => Ok(Self::ViewDay),
10027            "view_headline" => Ok(Self::ViewHeadline),
10028            "view_in_ar" => Ok(Self::ViewInAr),
10029            "view_list" => Ok(Self::ViewList),
10030            "view_module" => Ok(Self::ViewModule),
10031            "view_quilt" => Ok(Self::ViewQuilt),
10032            "view_sidebar" => Ok(Self::ViewSidebar),
10033            "view_stream" => Ok(Self::ViewStream),
10034            "view_week" => Ok(Self::ViewWeek),
10035            "vignette" => Ok(Self::Vignette),
10036            "villa" => Ok(Self::Villa),
10037            "visibility" => Ok(Self::Visibility),
10038            "visibility_off" => Ok(Self::VisibilityOff),
10039            "voice_chat" => Ok(Self::VoiceChat),
10040            "voice_over_off" => Ok(Self::VoiceOverOff),
10041            "voicemail" => Ok(Self::Voicemail),
10042            "volume_down" => Ok(Self::VolumeDown),
10043            "volume_mute" => Ok(Self::VolumeMute),
10044            "volume_off" => Ok(Self::VolumeOff),
10045            "volume_up" => Ok(Self::VolumeUp),
10046            "volunteer_activism" => Ok(Self::VolunteerActivism),
10047            "vpn_key" => Ok(Self::VpnKey),
10048            "vpn_lock" => Ok(Self::VpnLock),
10049            "vrpano" => Ok(Self::Vrpano),
10050            "wallet_giftcard" => Ok(Self::WalletGiftcard),
10051            "wallet_membership" => Ok(Self::WalletMembership),
10052            "wallet_travel" => Ok(Self::WalletTravel),
10053            "wallpaper" => Ok(Self::Wallpaper),
10054            "warning" => Ok(Self::Warning),
10055            "warning_amber" => Ok(Self::WarningAmber),
10056            "wash" => Ok(Self::Wash),
10057            "watch" => Ok(Self::Watch),
10058            "watch_later" => Ok(Self::WatchLater),
10059            "water" => Ok(Self::Water),
10060            "water_damage" => Ok(Self::WaterDamage),
10061            "waterfall_chart" => Ok(Self::WaterfallChart),
10062            "waves" => Ok(Self::Waves),
10063            "wb_auto" => Ok(Self::WbAuto),
10064            "wb_cloudy" => Ok(Self::WbCloudy),
10065            "wb_incandescent" => Ok(Self::WbIncandescent),
10066            "wb_iridescent" => Ok(Self::WbIridescent),
10067            "wb_shade" => Ok(Self::WbShade),
10068            "wb_sunny" => Ok(Self::WbSunny),
10069            "wb_twighlight" => Ok(Self::WbTwighlight),
10070            "wb_twilight" => Ok(Self::WbTwilight),
10071            "wc" => Ok(Self::Wc),
10072            "web" => Ok(Self::Web),
10073            "web_asset" => Ok(Self::WebAsset),
10074            "web_asset_off" => Ok(Self::WebAssetOff),
10075            "web_stories" => Ok(Self::WebStories),
10076            "weekend" => Ok(Self::Weekend),
10077            "west" => Ok(Self::West),
10078            "whatshot" => Ok(Self::Whatshot),
10079            "wheelchair_pickup" => Ok(Self::WheelchairPickup),
10080            "where_to_vote" => Ok(Self::WhereToVote),
10081            "widgets" => Ok(Self::Widgets),
10082            "wifi" => Ok(Self::Wifi),
10083            "wifi_calling" => Ok(Self::WifiCalling),
10084            "wifi_calling_3" => Ok(Self::WifiCalling3),
10085            "wifi_lock" => Ok(Self::WifiLock),
10086            "wifi_off" => Ok(Self::WifiOff),
10087            "wifi_protected_setup" => Ok(Self::WifiProtectedSetup),
10088            "wifi_tethering" => Ok(Self::WifiTethering),
10089            "wifi_tethering_off" => Ok(Self::WifiTetheringOff),
10090            "window" => Ok(Self::Window),
10091            "wine_bar" => Ok(Self::WineBar),
10092            "work" => Ok(Self::Work),
10093            "work_off" => Ok(Self::WorkOff),
10094            "work_outline" => Ok(Self::WorkOutline),
10095            "workspaces" => Ok(Self::Workspaces),
10096            "workspaces_filled" => Ok(Self::WorkspacesFilled),
10097            "workspaces_outline" => Ok(Self::WorkspacesOutline),
10098            "wrap_text" => Ok(Self::WrapText),
10099            "wrong_location" => Ok(Self::WrongLocation),
10100            "wysiwyg" => Ok(Self::Wysiwyg),
10101            "yard" => Ok(Self::Yard),
10102            "youtube_searched_for" => Ok(Self::YoutubeSearchedFor),
10103            "zoom_in" => Ok(Self::ZoomIn),
10104            "zoom_out" => Ok(Self::ZoomOut),
10105            "zoom_out_map" => Ok(Self::ZoomOutMap),
10106            "zoom_out_outlined" => Ok(Self::ZoomOutOutlined),
10107            _ => Err("invalid value"),
10108        }
10109    }
10110}
10111impl std::convert::TryFrom<&str> for StylesIconName {
10112    type Error = &'static str;
10113    fn try_from(value: &str) -> Result<Self, &'static str> {
10114        value.parse()
10115    }
10116}
10117impl std::convert::TryFrom<&String> for StylesIconName {
10118    type Error = &'static str;
10119    fn try_from(value: &String) -> Result<Self, &'static str> {
10120        value.parse()
10121    }
10122}
10123impl std::convert::TryFrom<String> for StylesIconName {
10124    type Error = &'static str;
10125    fn try_from(value: String) -> Result<Self, &'static str> {
10126        value.parse()
10127    }
10128}
10129///How the image should be painted on the areas that it does not cover.
10130#[derive(
10131    Clone,
10132    Copy,
10133    Debug,
10134    Deserialize,
10135    Eq,
10136    Hash,
10137    Ord,
10138    PartialEq,
10139    PartialOrd,
10140    Serialize
10141)]
10142pub enum StylesImageRepeat {
10143    #[serde(rename = "noRepeat")]
10144    NoRepeat,
10145    #[serde(rename = "repeat")]
10146    Repeat,
10147    #[serde(rename = "repeatX")]
10148    RepeatX,
10149    #[serde(rename = "repeatY")]
10150    RepeatY,
10151}
10152impl From<&StylesImageRepeat> for StylesImageRepeat {
10153    fn from(value: &StylesImageRepeat) -> Self {
10154        value.clone()
10155    }
10156}
10157impl ToString for StylesImageRepeat {
10158    fn to_string(&self) -> String {
10159        match *self {
10160            Self::NoRepeat => "noRepeat".to_string(),
10161            Self::Repeat => "repeat".to_string(),
10162            Self::RepeatX => "repeatX".to_string(),
10163            Self::RepeatY => "repeatY".to_string(),
10164        }
10165    }
10166}
10167impl std::str::FromStr for StylesImageRepeat {
10168    type Err = &'static str;
10169    fn from_str(value: &str) -> Result<Self, &'static str> {
10170        match value {
10171            "noRepeat" => Ok(Self::NoRepeat),
10172            "repeat" => Ok(Self::Repeat),
10173            "repeatX" => Ok(Self::RepeatX),
10174            "repeatY" => Ok(Self::RepeatY),
10175            _ => Err("invalid value"),
10176        }
10177    }
10178}
10179impl std::convert::TryFrom<&str> for StylesImageRepeat {
10180    type Error = &'static str;
10181    fn try_from(value: &str) -> Result<Self, &'static str> {
10182        value.parse()
10183    }
10184}
10185impl std::convert::TryFrom<&String> for StylesImageRepeat {
10186    type Error = &'static str;
10187    fn try_from(value: &String) -> Result<Self, &'static str> {
10188        value.parse()
10189    }
10190}
10191impl std::convert::TryFrom<String> for StylesImageRepeat {
10192    type Error = &'static str;
10193    fn try_from(value: String) -> Result<Self, &'static str> {
10194        value.parse()
10195    }
10196}
10197///Element of type InputBorder
10198#[derive(Clone, Debug, Deserialize, Serialize)]
10199#[serde(deny_unknown_fields)]
10200pub struct StylesInputBorder {
10201    #[serde(rename = "borderRadius", default, skip_serializing_if = "Option::is_none")]
10202    pub border_radius: Option<StylesBorderRadius>,
10203    #[serde(rename = "borderSide")]
10204    pub border_side: StylesBorderSide,
10205    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
10206    pub type_: Option<StylesInputBorderType>,
10207}
10208impl From<&StylesInputBorder> for StylesInputBorder {
10209    fn from(value: &StylesInputBorder) -> Self {
10210        value.clone()
10211    }
10212}
10213impl StylesInputBorder {
10214    pub fn builder() -> builder::StylesInputBorder {
10215        builder::StylesInputBorder::default()
10216    }
10217}
10218#[derive(
10219    Clone,
10220    Copy,
10221    Debug,
10222    Deserialize,
10223    Eq,
10224    Hash,
10225    Ord,
10226    PartialEq,
10227    PartialOrd,
10228    Serialize
10229)]
10230pub enum StylesInputBorderType {
10231    #[serde(rename = "underline")]
10232    Underline,
10233    #[serde(rename = "outline")]
10234    Outline,
10235}
10236impl From<&StylesInputBorderType> for StylesInputBorderType {
10237    fn from(value: &StylesInputBorderType) -> Self {
10238        value.clone()
10239    }
10240}
10241impl ToString for StylesInputBorderType {
10242    fn to_string(&self) -> String {
10243        match *self {
10244            Self::Underline => "underline".to_string(),
10245            Self::Outline => "outline".to_string(),
10246        }
10247    }
10248}
10249impl std::str::FromStr for StylesInputBorderType {
10250    type Err = &'static str;
10251    fn from_str(value: &str) -> Result<Self, &'static str> {
10252        match value {
10253            "underline" => Ok(Self::Underline),
10254            "outline" => Ok(Self::Outline),
10255            _ => Err("invalid value"),
10256        }
10257    }
10258}
10259impl std::convert::TryFrom<&str> for StylesInputBorderType {
10260    type Error = &'static str;
10261    fn try_from(value: &str) -> Result<Self, &'static str> {
10262        value.parse()
10263    }
10264}
10265impl std::convert::TryFrom<&String> for StylesInputBorderType {
10266    type Error = &'static str;
10267    fn try_from(value: &String) -> Result<Self, &'static str> {
10268        value.parse()
10269    }
10270}
10271impl std::convert::TryFrom<String> for StylesInputBorderType {
10272    type Error = &'static str;
10273    fn try_from(value: String) -> Result<Self, &'static str> {
10274        value.parse()
10275    }
10276}
10277///Element of type InputDecoration
10278#[derive(Clone, Debug, Deserialize, Serialize)]
10279#[serde(deny_unknown_fields)]
10280pub struct StylesInputDecoration {
10281    ///Whether to align the label with the hint or not. Defaults to false.
10282    #[serde(
10283        rename = "alignLabelWithHint",
10284        default,
10285        skip_serializing_if = "Option::is_none"
10286    )]
10287    pub align_label_with_hint: Option<bool>,
10288    ///The border to display around the input. Will render a border by default when border is null.
10289    #[serde(default, skip_serializing_if = "Option::is_none")]
10290    pub border: Option<StylesInputBorder>,
10291    ///The constraints to be applied to the input.
10292    #[serde(default, skip_serializing_if = "Option::is_none")]
10293    pub constraints: Option<StylesBoxConstraints>,
10294    ///The padding to be applied to the input.
10295    #[serde(rename = "contentPadding", default, skip_serializing_if = "Option::is_none")]
10296    pub content_padding: Option<StylesPadding>,
10297    #[serde(default, skip_serializing_if = "serde_json::Map::is_empty")]
10298    pub counter: serde_json::Map<String, serde_json::Value>,
10299    ///The style use for the counterText.
10300    #[serde(rename = "counterStyle", default, skip_serializing_if = "Option::is_none")]
10301    pub counter_style: Option<StylesTextStyle>,
10302    ///The text to place below the line as a character counter.
10303    #[serde(rename = "counterText", default, skip_serializing_if = "Option::is_none")]
10304    pub counter_text: Option<String>,
10305    ///The border to display when the input is disabled and not showing an error.
10306    #[serde(rename = "disabledBorder", default, skip_serializing_if = "Option::is_none")]
10307    pub disabled_border: Option<StylesInputBorder>,
10308    ///Whether the input is enabled or disabled.
10309    #[serde(default, skip_serializing_if = "Option::is_none")]
10310    pub enabled: Option<bool>,
10311    ///The border to display when the input is enabled and not showing an error.
10312    #[serde(rename = "enabledBorder", default, skip_serializing_if = "Option::is_none")]
10313    pub enabled_border: Option<StylesInputBorder>,
10314    ///The border to display when the input has an error and does not have the focus.
10315    #[serde(rename = "errorBorder", default, skip_serializing_if = "Option::is_none")]
10316    pub error_border: Option<StylesInputBorder>,
10317    ///The maximum number of lines the error text can use.
10318    #[serde(rename = "errorMaxLines", default, skip_serializing_if = "Option::is_none")]
10319    pub error_max_lines: Option<i64>,
10320    ///The style to use for the error text.
10321    #[serde(rename = "errorStyle", default, skip_serializing_if = "Option::is_none")]
10322    pub error_style: Option<StylesTextStyle>,
10323    ///The error text to display when the input has an error.
10324    #[serde(rename = "errorText", default, skip_serializing_if = "Option::is_none")]
10325    pub error_text: Option<String>,
10326    ///The fill color of the input.
10327    #[serde(rename = "fillColor", default, skip_serializing_if = "Option::is_none")]
10328    pub fill_color: Option<StylesColor>,
10329    ///Whether the input is filled with fillColor.
10330    #[serde(default, skip_serializing_if = "Option::is_none")]
10331    pub filled: Option<bool>,
10332    ///Defines how the floating label should be displayed.
10333    #[serde(
10334        rename = "floatingLabelBehavior",
10335        default,
10336        skip_serializing_if = "Option::is_none"
10337    )]
10338    pub floating_label_behavior: Option<StylesFloatingLabelBehavior>,
10339    ///The style to use for the floating label.
10340    #[serde(
10341        rename = "floatingLabelStyle",
10342        default,
10343        skip_serializing_if = "Option::is_none"
10344    )]
10345    pub floating_label_style: Option<StylesTextStyle>,
10346    ///The color to use when the input is focused.
10347    #[serde(rename = "focusColor", default, skip_serializing_if = "Option::is_none")]
10348    pub focus_color: Option<StylesColor>,
10349    ///The border to display when the input has the focus.
10350    #[serde(rename = "focusedBorder", default, skip_serializing_if = "Option::is_none")]
10351    pub focused_border: Option<StylesInputBorder>,
10352    ///The border to display when the input has the focus and has an error.
10353    #[serde(
10354        rename = "focusedErrorBorder",
10355        default,
10356        skip_serializing_if = "Option::is_none"
10357    )]
10358    pub focused_error_border: Option<StylesInputBorder>,
10359    ///The maximum number of lines the helper text can use.
10360    #[serde(rename = "helperMaxLines", default, skip_serializing_if = "Option::is_none")]
10361    pub helper_max_lines: Option<i64>,
10362    ///The style to use for the helper text.
10363    #[serde(rename = "helperStyle", default, skip_serializing_if = "Option::is_none")]
10364    pub helper_style: Option<StylesTextStyle>,
10365    ///The helper text to display.
10366    #[serde(rename = "helperText", default, skip_serializing_if = "Option::is_none")]
10367    pub helper_text: Option<String>,
10368    ///The maximum number of lines the hint text can use.
10369    #[serde(rename = "hintMaxLines", default, skip_serializing_if = "Option::is_none")]
10370    pub hint_max_lines: Option<i64>,
10371    ///The style to use for the hint text.
10372    #[serde(rename = "hintStyle", default, skip_serializing_if = "Option::is_none")]
10373    pub hint_style: Option<StylesTextStyle>,
10374    ///The hint text to display.
10375    #[serde(rename = "hintText", default, skip_serializing_if = "Option::is_none")]
10376    pub hint_text: Option<String>,
10377    ///The direction of the hint text.
10378    #[serde(
10379        rename = "hintTextDirection",
10380        default,
10381        skip_serializing_if = "Option::is_none"
10382    )]
10383    pub hint_text_direction: Option<StylesTextDirection>,
10384    ///The color to use when the input is hovered.
10385    #[serde(rename = "hoverColor", default, skip_serializing_if = "Option::is_none")]
10386    pub hover_color: Option<StylesColor>,
10387    #[serde(default, skip_serializing_if = "Option::is_none")]
10388    pub icon: Option<Icon>,
10389    ///The color for the icon
10390    #[serde(rename = "iconColor", default, skip_serializing_if = "Option::is_none")]
10391    pub icon_color: Option<StylesColor>,
10392    ///Whether the decoration is the same size as the input field.
10393    #[serde(rename = "isCollapsed", default, skip_serializing_if = "Option::is_none")]
10394    pub is_collapsed: Option<bool>,
10395    ///Whether the decoration is dense.
10396    #[serde(rename = "isDense", default, skip_serializing_if = "Option::is_none")]
10397    pub is_dense: Option<bool>,
10398    #[serde(default, skip_serializing_if = "Option::is_none")]
10399    pub label: Option<Box<LenraComponent>>,
10400    ///The style to use for the label.
10401    #[serde(rename = "labelStyle", default, skip_serializing_if = "Option::is_none")]
10402    pub label_style: Option<StylesTextStyle>,
10403    ///The text that describes the input field.
10404    #[serde(rename = "labelText", default, skip_serializing_if = "Option::is_none")]
10405    pub label_text: Option<String>,
10406    #[serde(default, skip_serializing_if = "Option::is_none")]
10407    pub prefix: Option<Box<LenraComponent>>,
10408    #[serde(rename = "prefixIcon", default, skip_serializing_if = "Option::is_none")]
10409    pub prefix_icon: Option<Icon>,
10410    ///the color of the prefixIcon
10411    #[serde(
10412        rename = "prefixIconColor",
10413        default,
10414        skip_serializing_if = "Option::is_none"
10415    )]
10416    pub prefix_icon_color: Option<StylesColor>,
10417    ///The constraints for the prefixIcon.
10418    #[serde(
10419        rename = "prefixIconConstraints",
10420        default,
10421        skip_serializing_if = "Option::is_none"
10422    )]
10423    pub prefix_icon_constraints: Option<StylesBoxConstraints>,
10424    ///The style to use for the prefixText.
10425    #[serde(rename = "prefixStyle", default, skip_serializing_if = "Option::is_none")]
10426    pub prefix_style: Option<StylesTextStyle>,
10427    ///The text to display before the input.
10428    #[serde(rename = "prefixText", default, skip_serializing_if = "Option::is_none")]
10429    pub prefix_text: Option<String>,
10430    ///The semantic label for the counterText.
10431    #[serde(
10432        rename = "semanticCounterText",
10433        default,
10434        skip_serializing_if = "Option::is_none"
10435    )]
10436    pub semantic_counter_text: Option<String>,
10437    #[serde(default, skip_serializing_if = "serde_json::Map::is_empty")]
10438    pub suffix: serde_json::Map<String, serde_json::Value>,
10439    #[serde(rename = "suffixIcon", default, skip_serializing_if = "Option::is_none")]
10440    pub suffix_icon: Option<Icon>,
10441    ///the color of the sufficIcon
10442    #[serde(
10443        rename = "suffixIconColor",
10444        default,
10445        skip_serializing_if = "Option::is_none"
10446    )]
10447    pub suffix_icon_color: Option<StylesColor>,
10448    ///The constraints for the suffixIcon.
10449    #[serde(
10450        rename = "suffixIconConstraints",
10451        default,
10452        skip_serializing_if = "Option::is_none"
10453    )]
10454    pub suffix_icon_constraints: Option<StylesBoxConstraints>,
10455    ///The style to use for the suffixText.
10456    #[serde(rename = "suffixStyle", default, skip_serializing_if = "Option::is_none")]
10457    pub suffix_style: Option<StylesTextStyle>,
10458    ///The text to display after the input.
10459    #[serde(rename = "suffixText", default, skip_serializing_if = "Option::is_none")]
10460    pub suffix_text: Option<String>,
10461}
10462impl From<&StylesInputDecoration> for StylesInputDecoration {
10463    fn from(value: &StylesInputDecoration) -> Self {
10464        value.clone()
10465    }
10466}
10467impl StylesInputDecoration {
10468    pub fn builder() -> builder::StylesInputDecoration {
10469        builder::StylesInputDecoration::default()
10470    }
10471}
10472///Element of type locale
10473#[derive(Clone, Debug, Deserialize, Serialize)]
10474#[serde(deny_unknown_fields)]
10475pub struct StylesLocale {
10476    ///The region subtag for the locale.
10477    #[serde(rename = "countryCode", default, skip_serializing_if = "Option::is_none")]
10478    pub country_code: Option<String>,
10479    ///The primary language subtag for the locale.
10480    #[serde(rename = "languageCode", default, skip_serializing_if = "Option::is_none")]
10481    pub language_code: Option<String>,
10482    ///The script subtag for the locale.
10483    #[serde(rename = "scriptCode", default, skip_serializing_if = "Option::is_none")]
10484    pub script_code: Option<String>,
10485}
10486impl From<&StylesLocale> for StylesLocale {
10487    fn from(value: &StylesLocale) -> Self {
10488        value.clone()
10489    }
10490}
10491impl StylesLocale {
10492    pub fn builder() -> builder::StylesLocale {
10493        builder::StylesLocale::default()
10494    }
10495}
10496///Element of type MaterialTapTargetSize
10497#[derive(
10498    Clone,
10499    Copy,
10500    Debug,
10501    Deserialize,
10502    Eq,
10503    Hash,
10504    Ord,
10505    PartialEq,
10506    PartialOrd,
10507    Serialize
10508)]
10509pub enum StylesMaterialTapTargetSize {
10510    #[serde(rename = "shrinkWrap")]
10511    ShrinkWrap,
10512    #[serde(rename = "padded")]
10513    Padded,
10514}
10515impl From<&StylesMaterialTapTargetSize> for StylesMaterialTapTargetSize {
10516    fn from(value: &StylesMaterialTapTargetSize) -> Self {
10517        value.clone()
10518    }
10519}
10520impl ToString for StylesMaterialTapTargetSize {
10521    fn to_string(&self) -> String {
10522        match *self {
10523            Self::ShrinkWrap => "shrinkWrap".to_string(),
10524            Self::Padded => "padded".to_string(),
10525        }
10526    }
10527}
10528impl std::str::FromStr for StylesMaterialTapTargetSize {
10529    type Err = &'static str;
10530    fn from_str(value: &str) -> Result<Self, &'static str> {
10531        match value {
10532            "shrinkWrap" => Ok(Self::ShrinkWrap),
10533            "padded" => Ok(Self::Padded),
10534            _ => Err("invalid value"),
10535        }
10536    }
10537}
10538impl std::convert::TryFrom<&str> for StylesMaterialTapTargetSize {
10539    type Error = &'static str;
10540    fn try_from(value: &str) -> Result<Self, &'static str> {
10541        value.parse()
10542    }
10543}
10544impl std::convert::TryFrom<&String> for StylesMaterialTapTargetSize {
10545    type Error = &'static str;
10546    fn try_from(value: &String) -> Result<Self, &'static str> {
10547        value.parse()
10548    }
10549}
10550impl std::convert::TryFrom<String> for StylesMaterialTapTargetSize {
10551    type Error = &'static str;
10552    fn try_from(value: String) -> Result<Self, &'static str> {
10553        value.parse()
10554    }
10555}
10556///Component of type MaxLengthEnforcement.
10557#[derive(
10558    Clone,
10559    Copy,
10560    Debug,
10561    Deserialize,
10562    Eq,
10563    Hash,
10564    Ord,
10565    PartialEq,
10566    PartialOrd,
10567    Serialize
10568)]
10569pub enum StylesMaxLengthEnforcement {
10570    #[serde(rename = "none")]
10571    None,
10572    #[serde(rename = "enforced")]
10573    Enforced,
10574    #[serde(rename = "truncateAfterCompositionEnds")]
10575    TruncateAfterCompositionEnds,
10576}
10577impl From<&StylesMaxLengthEnforcement> for StylesMaxLengthEnforcement {
10578    fn from(value: &StylesMaxLengthEnforcement) -> Self {
10579        value.clone()
10580    }
10581}
10582impl ToString for StylesMaxLengthEnforcement {
10583    fn to_string(&self) -> String {
10584        match *self {
10585            Self::None => "none".to_string(),
10586            Self::Enforced => "enforced".to_string(),
10587            Self::TruncateAfterCompositionEnds => {
10588                "truncateAfterCompositionEnds".to_string()
10589            }
10590        }
10591    }
10592}
10593impl std::str::FromStr for StylesMaxLengthEnforcement {
10594    type Err = &'static str;
10595    fn from_str(value: &str) -> Result<Self, &'static str> {
10596        match value {
10597            "none" => Ok(Self::None),
10598            "enforced" => Ok(Self::Enforced),
10599            "truncateAfterCompositionEnds" => Ok(Self::TruncateAfterCompositionEnds),
10600            _ => Err("invalid value"),
10601        }
10602    }
10603}
10604impl std::convert::TryFrom<&str> for StylesMaxLengthEnforcement {
10605    type Error = &'static str;
10606    fn try_from(value: &str) -> Result<Self, &'static str> {
10607        value.parse()
10608    }
10609}
10610impl std::convert::TryFrom<&String> for StylesMaxLengthEnforcement {
10611    type Error = &'static str;
10612    fn try_from(value: &String) -> Result<Self, &'static str> {
10613        value.parse()
10614    }
10615}
10616impl std::convert::TryFrom<String> for StylesMaxLengthEnforcement {
10617    type Error = &'static str;
10618    fn try_from(value: String) -> Result<Self, &'static str> {
10619        value.parse()
10620    }
10621}
10622///Element of type Offset
10623#[derive(Clone, Debug, Deserialize, Serialize)]
10624#[serde(deny_unknown_fields)]
10625pub struct StylesOffset {
10626    #[serde(default, skip_serializing_if = "Option::is_none")]
10627    pub dx: Option<f64>,
10628    #[serde(default, skip_serializing_if = "Option::is_none")]
10629    pub dy: Option<f64>,
10630}
10631impl From<&StylesOffset> for StylesOffset {
10632    fn from(value: &StylesOffset) -> Self {
10633        value.clone()
10634    }
10635}
10636impl StylesOffset {
10637    pub fn builder() -> builder::StylesOffset {
10638        builder::StylesOffset::default()
10639    }
10640}
10641///Element of type OutlinedBorder
10642#[derive(Clone, Debug, Deserialize, Serialize)]
10643#[serde(deny_unknown_fields)]
10644pub struct StylesOutlinedBorder {
10645    #[serde(default, skip_serializing_if = "Option::is_none")]
10646    pub side: Option<StylesBorderSide>,
10647}
10648impl From<&StylesOutlinedBorder> for StylesOutlinedBorder {
10649    fn from(value: &StylesOutlinedBorder) -> Self {
10650        value.clone()
10651    }
10652}
10653impl StylesOutlinedBorder {
10654    pub fn builder() -> builder::StylesOutlinedBorder {
10655        builder::StylesOutlinedBorder::default()
10656    }
10657}
10658///Element of type Padding
10659#[derive(Clone, Debug, Deserialize, Serialize)]
10660#[serde(deny_unknown_fields)]
10661pub struct StylesPadding {
10662    #[serde(default, skip_serializing_if = "Option::is_none")]
10663    pub bottom: Option<f64>,
10664    #[serde(default, skip_serializing_if = "Option::is_none")]
10665    pub left: Option<f64>,
10666    #[serde(default, skip_serializing_if = "Option::is_none")]
10667    pub right: Option<f64>,
10668    #[serde(default, skip_serializing_if = "Option::is_none")]
10669    pub top: Option<f64>,
10670}
10671impl From<&StylesPadding> for StylesPadding {
10672    fn from(value: &StylesPadding) -> Self {
10673        value.clone()
10674    }
10675}
10676impl StylesPadding {
10677    pub fn builder() -> builder::StylesPadding {
10678        builder::StylesPadding::default()
10679    }
10680}
10681///Element of type RadioStyle
10682#[derive(Clone, Debug, Deserialize, Serialize)]
10683#[serde(deny_unknown_fields)]
10684pub struct StylesRadioStyle {
10685    ///Color of the active radio button
10686    #[serde(rename = "activeColor", default, skip_serializing_if = "Option::is_none")]
10687    pub active_color: Option<StylesColor>,
10688    ///Color of the radio when it is focused
10689    #[serde(rename = "focusColor", default, skip_serializing_if = "Option::is_none")]
10690    pub focus_color: Option<StylesColor>,
10691    ///Color when the mouse is over the element
10692    #[serde(default, skip_serializing_if = "Option::is_none")]
10693    pub hovercolor: Option<StylesColor>,
10694    #[serde(rename = "splashRadius", default, skip_serializing_if = "Option::is_none")]
10695    pub splash_radius: Option<f64>,
10696    ///Color when the radio is not selected
10697    #[serde(
10698        rename = "unselectedColor",
10699        default,
10700        skip_serializing_if = "Option::is_none"
10701    )]
10702    pub unselected_color: Option<StylesColor>,
10703    #[serde(rename = "visualDensity", default, skip_serializing_if = "Option::is_none")]
10704    pub visual_density: Option<StylesVisualDensity>,
10705}
10706impl From<&StylesRadioStyle> for StylesRadioStyle {
10707    fn from(value: &StylesRadioStyle) -> Self {
10708        value.clone()
10709    }
10710}
10711impl StylesRadioStyle {
10712    pub fn builder() -> builder::StylesRadioStyle {
10713        builder::StylesRadioStyle::default()
10714    }
10715}
10716///Element of type Radius
10717#[derive(Clone, Debug, Deserialize, Serialize)]
10718#[serde(deny_unknown_fields)]
10719pub struct StylesRadius {
10720    #[serde(default, skip_serializing_if = "Option::is_none")]
10721    pub x: Option<f64>,
10722    #[serde(default, skip_serializing_if = "Option::is_none")]
10723    pub y: Option<f64>,
10724}
10725impl From<&StylesRadius> for StylesRadius {
10726    fn from(value: &StylesRadius) -> Self {
10727        value.clone()
10728    }
10729}
10730impl StylesRadius {
10731    pub fn builder() -> builder::StylesRadius {
10732        builder::StylesRadius::default()
10733    }
10734}
10735///Element of type Rect
10736#[derive(Clone, Debug, Deserialize, Serialize)]
10737#[serde(deny_unknown_fields)]
10738pub struct StylesRect {
10739    #[serde(default, skip_serializing_if = "Option::is_none")]
10740    pub height: Option<f64>,
10741    #[serde(default, skip_serializing_if = "Option::is_none")]
10742    pub left: Option<f64>,
10743    #[serde(default, skip_serializing_if = "Option::is_none")]
10744    pub top: Option<f64>,
10745    #[serde(default, skip_serializing_if = "Option::is_none")]
10746    pub width: Option<f64>,
10747}
10748impl From<&StylesRect> for StylesRect {
10749    fn from(value: &StylesRect) -> Self {
10750        value.clone()
10751    }
10752}
10753impl StylesRect {
10754    pub fn builder() -> builder::StylesRect {
10755        builder::StylesRect::default()
10756    }
10757}
10758///The size to use, the component will be sized according to the value.
10759#[derive(
10760    Clone,
10761    Copy,
10762    Debug,
10763    Deserialize,
10764    Eq,
10765    Hash,
10766    Ord,
10767    PartialEq,
10768    PartialOrd,
10769    Serialize
10770)]
10771pub enum StylesSize {
10772    #[serde(rename = "small")]
10773    Small,
10774    #[serde(rename = "medium")]
10775    Medium,
10776    #[serde(rename = "large")]
10777    Large,
10778}
10779impl From<&StylesSize> for StylesSize {
10780    fn from(value: &StylesSize) -> Self {
10781        value.clone()
10782    }
10783}
10784impl ToString for StylesSize {
10785    fn to_string(&self) -> String {
10786        match *self {
10787            Self::Small => "small".to_string(),
10788            Self::Medium => "medium".to_string(),
10789            Self::Large => "large".to_string(),
10790        }
10791    }
10792}
10793impl std::str::FromStr for StylesSize {
10794    type Err = &'static str;
10795    fn from_str(value: &str) -> Result<Self, &'static str> {
10796        match value {
10797            "small" => Ok(Self::Small),
10798            "medium" => Ok(Self::Medium),
10799            "large" => Ok(Self::Large),
10800            _ => Err("invalid value"),
10801        }
10802    }
10803}
10804impl std::convert::TryFrom<&str> for StylesSize {
10805    type Error = &'static str;
10806    fn try_from(value: &str) -> Result<Self, &'static str> {
10807        value.parse()
10808    }
10809}
10810impl std::convert::TryFrom<&String> for StylesSize {
10811    type Error = &'static str;
10812    fn try_from(value: &String) -> Result<Self, &'static str> {
10813        value.parse()
10814    }
10815}
10816impl std::convert::TryFrom<String> for StylesSize {
10817    type Error = &'static str;
10818    fn try_from(value: String) -> Result<Self, &'static str> {
10819        value.parse()
10820    }
10821}
10822///Element of type SliderStyle
10823#[derive(Clone, Debug, Deserialize, Serialize)]
10824#[serde(deny_unknown_fields)]
10825pub struct StylesSliderStyle {
10826    #[serde(rename = "activeColor", default, skip_serializing_if = "Option::is_none")]
10827    pub active_color: Option<StylesColor>,
10828    #[serde(rename = "inactiveColor", default, skip_serializing_if = "Option::is_none")]
10829    pub inactive_color: Option<StylesColor>,
10830    #[serde(rename = "thumbColor", default, skip_serializing_if = "Option::is_none")]
10831    pub thumb_color: Option<StylesColor>,
10832}
10833impl From<&StylesSliderStyle> for StylesSliderStyle {
10834    fn from(value: &StylesSliderStyle) -> Self {
10835        value.clone()
10836    }
10837}
10838impl StylesSliderStyle {
10839    pub fn builder() -> builder::StylesSliderStyle {
10840        builder::StylesSliderStyle::default()
10841    }
10842}
10843///The StackFit enum.
10844#[derive(
10845    Clone,
10846    Copy,
10847    Debug,
10848    Deserialize,
10849    Eq,
10850    Hash,
10851    Ord,
10852    PartialEq,
10853    PartialOrd,
10854    Serialize
10855)]
10856pub enum StylesStackFit {
10857    #[serde(rename = "expand")]
10858    Expand,
10859    #[serde(rename = "loose")]
10860    Loose,
10861    #[serde(rename = "passthrough")]
10862    Passthrough,
10863}
10864impl From<&StylesStackFit> for StylesStackFit {
10865    fn from(value: &StylesStackFit) -> Self {
10866        value.clone()
10867    }
10868}
10869impl ToString for StylesStackFit {
10870    fn to_string(&self) -> String {
10871        match *self {
10872            Self::Expand => "expand".to_string(),
10873            Self::Loose => "loose".to_string(),
10874            Self::Passthrough => "passthrough".to_string(),
10875        }
10876    }
10877}
10878impl std::str::FromStr for StylesStackFit {
10879    type Err = &'static str;
10880    fn from_str(value: &str) -> Result<Self, &'static str> {
10881        match value {
10882            "expand" => Ok(Self::Expand),
10883            "loose" => Ok(Self::Loose),
10884            "passthrough" => Ok(Self::Passthrough),
10885            _ => Err("invalid value"),
10886        }
10887    }
10888}
10889impl std::convert::TryFrom<&str> for StylesStackFit {
10890    type Error = &'static str;
10891    fn try_from(value: &str) -> Result<Self, &'static str> {
10892        value.parse()
10893    }
10894}
10895impl std::convert::TryFrom<&String> for StylesStackFit {
10896    type Error = &'static str;
10897    fn try_from(value: &String) -> Result<Self, &'static str> {
10898        value.parse()
10899    }
10900}
10901impl std::convert::TryFrom<String> for StylesStackFit {
10902    type Error = &'static str;
10903    fn try_from(value: String) -> Result<Self, &'static str> {
10904        value.parse()
10905    }
10906}
10907///Defines the strut of a text line.
10908#[derive(Clone, Debug, Deserialize, Serialize)]
10909#[serde(deny_unknown_fields)]
10910pub struct StylesStrutStyle {
10911    ///A label to help identify this strut style.
10912    #[serde(rename = "debugLabel", default, skip_serializing_if = "Option::is_none")]
10913    pub debug_label: Option<String>,
10914    ///The font family to use for this strut style.
10915    #[serde(rename = "fontFamily", default, skip_serializing_if = "Option::is_none")]
10916    pub font_family: Option<String>,
10917    ///A list of fallback font families to use for this strut style.
10918    #[serde(
10919        rename = "fontFamilyFallback",
10920        default,
10921        skip_serializing_if = "Vec::is_empty"
10922    )]
10923    pub font_family_fallback: Vec<serde_json::Value>,
10924    #[serde(rename = "fontSize", default, skip_serializing_if = "Option::is_none")]
10925    pub font_size: Option<f64>,
10926    ///The font weight to use for this strut style.
10927    #[serde(rename = "fontWeight", default, skip_serializing_if = "Option::is_none")]
10928    pub font_weight: Option<String>,
10929    ///Whether to force the strut height.
10930    #[serde(
10931        rename = "forceStrutHeight",
10932        default,
10933        skip_serializing_if = "Option::is_none"
10934    )]
10935    pub force_strut_height: Option<bool>,
10936    #[serde(default, skip_serializing_if = "Option::is_none")]
10937    pub height: Option<f64>,
10938    #[serde(default, skip_serializing_if = "Option::is_none")]
10939    pub leading: Option<f64>,
10940    #[serde(
10941        rename = "leadingDistribution",
10942        default,
10943        skip_serializing_if = "Option::is_none"
10944    )]
10945    pub leading_distribution: Option<StylesTextLeadingDistribution>,
10946}
10947impl From<&StylesStrutStyle> for StylesStrutStyle {
10948    fn from(value: &StylesStrutStyle) -> Self {
10949        value.clone()
10950    }
10951}
10952impl StylesStrutStyle {
10953    pub fn builder() -> builder::StylesStrutStyle {
10954        builder::StylesStrutStyle::default()
10955    }
10956}
10957///The style to use, the component will be changed according to the theme.
10958#[derive(
10959    Clone,
10960    Copy,
10961    Debug,
10962    Deserialize,
10963    Eq,
10964    Hash,
10965    Ord,
10966    PartialEq,
10967    PartialOrd,
10968    Serialize
10969)]
10970pub enum StylesStyle {
10971    #[serde(rename = "primary")]
10972    Primary,
10973    #[serde(rename = "secondary")]
10974    Secondary,
10975    #[serde(rename = "tertiary")]
10976    Tertiary,
10977}
10978impl From<&StylesStyle> for StylesStyle {
10979    fn from(value: &StylesStyle) -> Self {
10980        value.clone()
10981    }
10982}
10983impl ToString for StylesStyle {
10984    fn to_string(&self) -> String {
10985        match *self {
10986            Self::Primary => "primary".to_string(),
10987            Self::Secondary => "secondary".to_string(),
10988            Self::Tertiary => "tertiary".to_string(),
10989        }
10990    }
10991}
10992impl std::str::FromStr for StylesStyle {
10993    type Err = &'static str;
10994    fn from_str(value: &str) -> Result<Self, &'static str> {
10995        match value {
10996            "primary" => Ok(Self::Primary),
10997            "secondary" => Ok(Self::Secondary),
10998            "tertiary" => Ok(Self::Tertiary),
10999            _ => Err("invalid value"),
11000        }
11001    }
11002}
11003impl std::convert::TryFrom<&str> for StylesStyle {
11004    type Error = &'static str;
11005    fn try_from(value: &str) -> Result<Self, &'static str> {
11006        value.parse()
11007    }
11008}
11009impl std::convert::TryFrom<&String> for StylesStyle {
11010    type Error = &'static str;
11011    fn try_from(value: &String) -> Result<Self, &'static str> {
11012        value.parse()
11013    }
11014}
11015impl std::convert::TryFrom<String> for StylesStyle {
11016    type Error = &'static str;
11017    fn try_from(value: String) -> Result<Self, &'static str> {
11018        value.parse()
11019    }
11020}
11021///Component of type TextAlign.
11022#[derive(
11023    Clone,
11024    Copy,
11025    Debug,
11026    Deserialize,
11027    Eq,
11028    Hash,
11029    Ord,
11030    PartialEq,
11031    PartialOrd,
11032    Serialize
11033)]
11034pub enum StylesTextAlign {
11035    #[serde(rename = "left")]
11036    Left,
11037    #[serde(rename = "right")]
11038    Right,
11039    #[serde(rename = "center")]
11040    Center,
11041    #[serde(rename = "justify")]
11042    Justify,
11043    #[serde(rename = "start")]
11044    Start,
11045    #[serde(rename = "end")]
11046    End,
11047}
11048impl From<&StylesTextAlign> for StylesTextAlign {
11049    fn from(value: &StylesTextAlign) -> Self {
11050        value.clone()
11051    }
11052}
11053impl ToString for StylesTextAlign {
11054    fn to_string(&self) -> String {
11055        match *self {
11056            Self::Left => "left".to_string(),
11057            Self::Right => "right".to_string(),
11058            Self::Center => "center".to_string(),
11059            Self::Justify => "justify".to_string(),
11060            Self::Start => "start".to_string(),
11061            Self::End => "end".to_string(),
11062        }
11063    }
11064}
11065impl std::str::FromStr for StylesTextAlign {
11066    type Err = &'static str;
11067    fn from_str(value: &str) -> Result<Self, &'static str> {
11068        match value {
11069            "left" => Ok(Self::Left),
11070            "right" => Ok(Self::Right),
11071            "center" => Ok(Self::Center),
11072            "justify" => Ok(Self::Justify),
11073            "start" => Ok(Self::Start),
11074            "end" => Ok(Self::End),
11075            _ => Err("invalid value"),
11076        }
11077    }
11078}
11079impl std::convert::TryFrom<&str> for StylesTextAlign {
11080    type Error = &'static str;
11081    fn try_from(value: &str) -> Result<Self, &'static str> {
11082        value.parse()
11083    }
11084}
11085impl std::convert::TryFrom<&String> for StylesTextAlign {
11086    type Error = &'static str;
11087    fn try_from(value: &String) -> Result<Self, &'static str> {
11088        value.parse()
11089    }
11090}
11091impl std::convert::TryFrom<String> for StylesTextAlign {
11092    type Error = &'static str;
11093    fn try_from(value: String) -> Result<Self, &'static str> {
11094        value.parse()
11095    }
11096}
11097///Component of type TextAlignVertical.
11098#[derive(
11099    Clone,
11100    Copy,
11101    Debug,
11102    Deserialize,
11103    Eq,
11104    Hash,
11105    Ord,
11106    PartialEq,
11107    PartialOrd,
11108    Serialize
11109)]
11110pub enum StylesTextAlignVertical {
11111    #[serde(rename = "bottom")]
11112    Bottom,
11113    #[serde(rename = "center")]
11114    Center,
11115    #[serde(rename = "top")]
11116    Top,
11117}
11118impl From<&StylesTextAlignVertical> for StylesTextAlignVertical {
11119    fn from(value: &StylesTextAlignVertical) -> Self {
11120        value.clone()
11121    }
11122}
11123impl ToString for StylesTextAlignVertical {
11124    fn to_string(&self) -> String {
11125        match *self {
11126            Self::Bottom => "bottom".to_string(),
11127            Self::Center => "center".to_string(),
11128            Self::Top => "top".to_string(),
11129        }
11130    }
11131}
11132impl std::str::FromStr for StylesTextAlignVertical {
11133    type Err = &'static str;
11134    fn from_str(value: &str) -> Result<Self, &'static str> {
11135        match value {
11136            "bottom" => Ok(Self::Bottom),
11137            "center" => Ok(Self::Center),
11138            "top" => Ok(Self::Top),
11139            _ => Err("invalid value"),
11140        }
11141    }
11142}
11143impl std::convert::TryFrom<&str> for StylesTextAlignVertical {
11144    type Error = &'static str;
11145    fn try_from(value: &str) -> Result<Self, &'static str> {
11146        value.parse()
11147    }
11148}
11149impl std::convert::TryFrom<&String> for StylesTextAlignVertical {
11150    type Error = &'static str;
11151    fn try_from(value: &String) -> Result<Self, &'static str> {
11152        value.parse()
11153    }
11154}
11155impl std::convert::TryFrom<String> for StylesTextAlignVertical {
11156    type Error = &'static str;
11157    fn try_from(value: String) -> Result<Self, &'static str> {
11158        value.parse()
11159    }
11160}
11161///A horizontal line used for aligning text.
11162#[derive(
11163    Clone,
11164    Copy,
11165    Debug,
11166    Deserialize,
11167    Eq,
11168    Hash,
11169    Ord,
11170    PartialEq,
11171    PartialOrd,
11172    Serialize
11173)]
11174pub enum StylesTextBaseline {
11175    #[serde(rename = "alphabetic")]
11176    Alphabetic,
11177    #[serde(rename = "ideographic")]
11178    Ideographic,
11179}
11180impl From<&StylesTextBaseline> for StylesTextBaseline {
11181    fn from(value: &StylesTextBaseline) -> Self {
11182        value.clone()
11183    }
11184}
11185impl ToString for StylesTextBaseline {
11186    fn to_string(&self) -> String {
11187        match *self {
11188            Self::Alphabetic => "alphabetic".to_string(),
11189            Self::Ideographic => "ideographic".to_string(),
11190        }
11191    }
11192}
11193impl std::str::FromStr for StylesTextBaseline {
11194    type Err = &'static str;
11195    fn from_str(value: &str) -> Result<Self, &'static str> {
11196        match value {
11197            "alphabetic" => Ok(Self::Alphabetic),
11198            "ideographic" => Ok(Self::Ideographic),
11199            _ => Err("invalid value"),
11200        }
11201    }
11202}
11203impl std::convert::TryFrom<&str> for StylesTextBaseline {
11204    type Error = &'static str;
11205    fn try_from(value: &str) -> Result<Self, &'static str> {
11206        value.parse()
11207    }
11208}
11209impl std::convert::TryFrom<&String> for StylesTextBaseline {
11210    type Error = &'static str;
11211    fn try_from(value: &String) -> Result<Self, &'static str> {
11212        value.parse()
11213    }
11214}
11215impl std::convert::TryFrom<String> for StylesTextBaseline {
11216    type Error = &'static str;
11217    fn try_from(value: String) -> Result<Self, &'static str> {
11218        value.parse()
11219    }
11220}
11221///Component of type TextCapitalization.
11222#[derive(
11223    Clone,
11224    Copy,
11225    Debug,
11226    Deserialize,
11227    Eq,
11228    Hash,
11229    Ord,
11230    PartialEq,
11231    PartialOrd,
11232    Serialize
11233)]
11234pub enum StylesTextCapitalization {
11235    #[serde(rename = "none")]
11236    None,
11237    #[serde(rename = "words")]
11238    Words,
11239    #[serde(rename = "sentences")]
11240    Sentences,
11241    #[serde(rename = "characters")]
11242    Characters,
11243}
11244impl From<&StylesTextCapitalization> for StylesTextCapitalization {
11245    fn from(value: &StylesTextCapitalization) -> Self {
11246        value.clone()
11247    }
11248}
11249impl ToString for StylesTextCapitalization {
11250    fn to_string(&self) -> String {
11251        match *self {
11252            Self::None => "none".to_string(),
11253            Self::Words => "words".to_string(),
11254            Self::Sentences => "sentences".to_string(),
11255            Self::Characters => "characters".to_string(),
11256        }
11257    }
11258}
11259impl std::str::FromStr for StylesTextCapitalization {
11260    type Err = &'static str;
11261    fn from_str(value: &str) -> Result<Self, &'static str> {
11262        match value {
11263            "none" => Ok(Self::None),
11264            "words" => Ok(Self::Words),
11265            "sentences" => Ok(Self::Sentences),
11266            "characters" => Ok(Self::Characters),
11267            _ => Err("invalid value"),
11268        }
11269    }
11270}
11271impl std::convert::TryFrom<&str> for StylesTextCapitalization {
11272    type Error = &'static str;
11273    fn try_from(value: &str) -> Result<Self, &'static str> {
11274        value.parse()
11275    }
11276}
11277impl std::convert::TryFrom<&String> for StylesTextCapitalization {
11278    type Error = &'static str;
11279    fn try_from(value: &String) -> Result<Self, &'static str> {
11280        value.parse()
11281    }
11282}
11283impl std::convert::TryFrom<String> for StylesTextCapitalization {
11284    type Error = &'static str;
11285    fn try_from(value: String) -> Result<Self, &'static str> {
11286        value.parse()
11287    }
11288}
11289///Allows you to underline, overline or strike out the text.
11290#[derive(
11291    Clone,
11292    Copy,
11293    Debug,
11294    Deserialize,
11295    Eq,
11296    Hash,
11297    Ord,
11298    PartialEq,
11299    PartialOrd,
11300    Serialize
11301)]
11302pub enum StylesTextDecoration {
11303    #[serde(rename = "lineThrough")]
11304    LineThrough,
11305    #[serde(rename = "overline")]
11306    Overline,
11307    #[serde(rename = "underline")]
11308    Underline,
11309    #[serde(rename = "none")]
11310    None,
11311}
11312impl From<&StylesTextDecoration> for StylesTextDecoration {
11313    fn from(value: &StylesTextDecoration) -> Self {
11314        value.clone()
11315    }
11316}
11317impl ToString for StylesTextDecoration {
11318    fn to_string(&self) -> String {
11319        match *self {
11320            Self::LineThrough => "lineThrough".to_string(),
11321            Self::Overline => "overline".to_string(),
11322            Self::Underline => "underline".to_string(),
11323            Self::None => "none".to_string(),
11324        }
11325    }
11326}
11327impl std::str::FromStr for StylesTextDecoration {
11328    type Err = &'static str;
11329    fn from_str(value: &str) -> Result<Self, &'static str> {
11330        match value {
11331            "lineThrough" => Ok(Self::LineThrough),
11332            "overline" => Ok(Self::Overline),
11333            "underline" => Ok(Self::Underline),
11334            "none" => Ok(Self::None),
11335            _ => Err("invalid value"),
11336        }
11337    }
11338}
11339impl std::convert::TryFrom<&str> for StylesTextDecoration {
11340    type Error = &'static str;
11341    fn try_from(value: &str) -> Result<Self, &'static str> {
11342        value.parse()
11343    }
11344}
11345impl std::convert::TryFrom<&String> for StylesTextDecoration {
11346    type Error = &'static str;
11347    fn try_from(value: &String) -> Result<Self, &'static str> {
11348        value.parse()
11349    }
11350}
11351impl std::convert::TryFrom<String> for StylesTextDecoration {
11352    type Error = &'static str;
11353    fn try_from(value: String) -> Result<Self, &'static str> {
11354        value.parse()
11355    }
11356}
11357///The style in which to draw a text decoration.
11358#[derive(
11359    Clone,
11360    Copy,
11361    Debug,
11362    Deserialize,
11363    Eq,
11364    Hash,
11365    Ord,
11366    PartialEq,
11367    PartialOrd,
11368    Serialize
11369)]
11370pub enum StylesTextDecorationStyle {
11371    #[serde(rename = "dashed")]
11372    Dashed,
11373    #[serde(rename = "dotted")]
11374    Dotted,
11375    #[serde(rename = "double")]
11376    Double,
11377    #[serde(rename = "solid")]
11378    Solid,
11379    #[serde(rename = "wavy")]
11380    Wavy,
11381}
11382impl From<&StylesTextDecorationStyle> for StylesTextDecorationStyle {
11383    fn from(value: &StylesTextDecorationStyle) -> Self {
11384        value.clone()
11385    }
11386}
11387impl ToString for StylesTextDecorationStyle {
11388    fn to_string(&self) -> String {
11389        match *self {
11390            Self::Dashed => "dashed".to_string(),
11391            Self::Dotted => "dotted".to_string(),
11392            Self::Double => "double".to_string(),
11393            Self::Solid => "solid".to_string(),
11394            Self::Wavy => "wavy".to_string(),
11395        }
11396    }
11397}
11398impl std::str::FromStr for StylesTextDecorationStyle {
11399    type Err = &'static str;
11400    fn from_str(value: &str) -> Result<Self, &'static str> {
11401        match value {
11402            "dashed" => Ok(Self::Dashed),
11403            "dotted" => Ok(Self::Dotted),
11404            "double" => Ok(Self::Double),
11405            "solid" => Ok(Self::Solid),
11406            "wavy" => Ok(Self::Wavy),
11407            _ => Err("invalid value"),
11408        }
11409    }
11410}
11411impl std::convert::TryFrom<&str> for StylesTextDecorationStyle {
11412    type Error = &'static str;
11413    fn try_from(value: &str) -> Result<Self, &'static str> {
11414        value.parse()
11415    }
11416}
11417impl std::convert::TryFrom<&String> for StylesTextDecorationStyle {
11418    type Error = &'static str;
11419    fn try_from(value: &String) -> Result<Self, &'static str> {
11420        value.parse()
11421    }
11422}
11423impl std::convert::TryFrom<String> for StylesTextDecorationStyle {
11424    type Error = &'static str;
11425    fn try_from(value: String) -> Result<Self, &'static str> {
11426        value.parse()
11427    }
11428}
11429///In which direction the elements should be placed following the horizontal axis.
11430#[derive(
11431    Clone,
11432    Copy,
11433    Debug,
11434    Deserialize,
11435    Eq,
11436    Hash,
11437    Ord,
11438    PartialEq,
11439    PartialOrd,
11440    Serialize
11441)]
11442pub enum StylesTextDirection {
11443    #[serde(rename = "ltr")]
11444    Ltr,
11445    #[serde(rename = "rtl")]
11446    Rtl,
11447}
11448impl From<&StylesTextDirection> for StylesTextDirection {
11449    fn from(value: &StylesTextDirection) -> Self {
11450        value.clone()
11451    }
11452}
11453impl ToString for StylesTextDirection {
11454    fn to_string(&self) -> String {
11455        match *self {
11456            Self::Ltr => "ltr".to_string(),
11457            Self::Rtl => "rtl".to_string(),
11458        }
11459    }
11460}
11461impl std::str::FromStr for StylesTextDirection {
11462    type Err = &'static str;
11463    fn from_str(value: &str) -> Result<Self, &'static str> {
11464        match value {
11465            "ltr" => Ok(Self::Ltr),
11466            "rtl" => Ok(Self::Rtl),
11467            _ => Err("invalid value"),
11468        }
11469    }
11470}
11471impl std::convert::TryFrom<&str> for StylesTextDirection {
11472    type Error = &'static str;
11473    fn try_from(value: &str) -> Result<Self, &'static str> {
11474        value.parse()
11475    }
11476}
11477impl std::convert::TryFrom<&String> for StylesTextDirection {
11478    type Error = &'static str;
11479    fn try_from(value: &String) -> Result<Self, &'static str> {
11480        value.parse()
11481    }
11482}
11483impl std::convert::TryFrom<String> for StylesTextDirection {
11484    type Error = &'static str;
11485    fn try_from(value: String) -> Result<Self, &'static str> {
11486        value.parse()
11487    }
11488}
11489///Element of type TextFieldStyle
11490#[derive(Clone, Debug, Deserialize, Serialize)]
11491#[serde(deny_unknown_fields)]
11492pub struct StylesTextFieldStyle {
11493    ///The color of the cursor.
11494    #[serde(rename = "cursorColor", default, skip_serializing_if = "Option::is_none")]
11495    pub cursor_color: Option<StylesColor>,
11496    #[serde(rename = "cursorHeight", default, skip_serializing_if = "Option::is_none")]
11497    pub cursor_height: Option<f64>,
11498    ///The radius of the cursor.
11499    #[serde(rename = "cursorRadius", default, skip_serializing_if = "Option::is_none")]
11500    pub cursor_radius: Option<StylesRadius>,
11501    #[serde(rename = "cursorWidth", default, skip_serializing_if = "Option::is_none")]
11502    pub cursor_width: Option<f64>,
11503    ///The decoration of the input.
11504    #[serde(default, skip_serializing_if = "Option::is_none")]
11505    pub decoration: Option<StylesInputDecoration>,
11506    ///The appearance of the keyboard.
11507    #[serde(
11508        rename = "keyboardAppearance",
11509        default,
11510        skip_serializing_if = "Option::is_none"
11511    )]
11512    pub keyboard_appearance: Option<StylesBrightness>,
11513    ///The character used to obscure the text.
11514    #[serde(
11515        rename = "obscuringCharacter",
11516        default,
11517        skip_serializing_if = "Option::is_none"
11518    )]
11519    pub obscuring_character: Option<String>,
11520    ///The padding of the scrollable when the Textfield scrolls into view.
11521    #[serde(rename = "scrollPadding", default, skip_serializing_if = "Option::is_none")]
11522    pub scroll_padding: Option<StylesPadding>,
11523    ///The height of the selection highlight boxes.
11524    #[serde(
11525        rename = "selectionHeightStyle",
11526        default,
11527        skip_serializing_if = "Option::is_none"
11528    )]
11529    pub selection_height_style: Option<StylesBoxHeightStyle>,
11530    ///The width of the selection highlight boxes.
11531    #[serde(
11532        rename = "selectionWidthStyle",
11533        default,
11534        skip_serializing_if = "Option::is_none"
11535    )]
11536    pub selection_width_style: Option<StylesBoxWidthStyle>,
11537    #[serde(rename = "strutStyle", default, skip_serializing_if = "Option::is_none")]
11538    pub strut_style: Option<StylesStrutStyle>,
11539    ///The alignment of the text.
11540    #[serde(rename = "textAlign", default, skip_serializing_if = "Option::is_none")]
11541    pub text_align: Option<StylesTextAlign>,
11542    ///How the text should be aligned vertically.
11543    #[serde(
11544        rename = "textAlignVertical",
11545        default,
11546        skip_serializing_if = "Option::is_none"
11547    )]
11548    pub text_align_vertical: Option<StylesTextAlignVertical>,
11549    ///The style of the text.
11550    #[serde(rename = "textStyle", default, skip_serializing_if = "Option::is_none")]
11551    pub text_style: Option<StylesTextStyle>,
11552}
11553impl From<&StylesTextFieldStyle> for StylesTextFieldStyle {
11554    fn from(value: &StylesTextFieldStyle) -> Self {
11555        value.clone()
11556    }
11557}
11558impl StylesTextFieldStyle {
11559    pub fn builder() -> builder::StylesTextFieldStyle {
11560        builder::StylesTextFieldStyle::default()
11561    }
11562}
11563///Component of type TextInputAction.
11564#[derive(
11565    Clone,
11566    Copy,
11567    Debug,
11568    Deserialize,
11569    Eq,
11570    Hash,
11571    Ord,
11572    PartialEq,
11573    PartialOrd,
11574    Serialize
11575)]
11576pub enum StylesTextInputAction {
11577    #[serde(rename = "continueAction")]
11578    ContinueAction,
11579    #[serde(rename = "done")]
11580    Done,
11581    #[serde(rename = "emergencyCall")]
11582    EmergencyCall,
11583    #[serde(rename = "go")]
11584    Go,
11585    #[serde(rename = "join")]
11586    Join,
11587    #[serde(rename = "newline")]
11588    Newline,
11589    #[serde(rename = "next")]
11590    Next,
11591    #[serde(rename = "none")]
11592    None,
11593    #[serde(rename = "previous")]
11594    Previous,
11595    #[serde(rename = "route")]
11596    Route,
11597    #[serde(rename = "search")]
11598    Search,
11599    #[serde(rename = "send")]
11600    Send,
11601    #[serde(rename = "unspecified")]
11602    Unspecified,
11603}
11604impl From<&StylesTextInputAction> for StylesTextInputAction {
11605    fn from(value: &StylesTextInputAction) -> Self {
11606        value.clone()
11607    }
11608}
11609impl ToString for StylesTextInputAction {
11610    fn to_string(&self) -> String {
11611        match *self {
11612            Self::ContinueAction => "continueAction".to_string(),
11613            Self::Done => "done".to_string(),
11614            Self::EmergencyCall => "emergencyCall".to_string(),
11615            Self::Go => "go".to_string(),
11616            Self::Join => "join".to_string(),
11617            Self::Newline => "newline".to_string(),
11618            Self::Next => "next".to_string(),
11619            Self::None => "none".to_string(),
11620            Self::Previous => "previous".to_string(),
11621            Self::Route => "route".to_string(),
11622            Self::Search => "search".to_string(),
11623            Self::Send => "send".to_string(),
11624            Self::Unspecified => "unspecified".to_string(),
11625        }
11626    }
11627}
11628impl std::str::FromStr for StylesTextInputAction {
11629    type Err = &'static str;
11630    fn from_str(value: &str) -> Result<Self, &'static str> {
11631        match value {
11632            "continueAction" => Ok(Self::ContinueAction),
11633            "done" => Ok(Self::Done),
11634            "emergencyCall" => Ok(Self::EmergencyCall),
11635            "go" => Ok(Self::Go),
11636            "join" => Ok(Self::Join),
11637            "newline" => Ok(Self::Newline),
11638            "next" => Ok(Self::Next),
11639            "none" => Ok(Self::None),
11640            "previous" => Ok(Self::Previous),
11641            "route" => Ok(Self::Route),
11642            "search" => Ok(Self::Search),
11643            "send" => Ok(Self::Send),
11644            "unspecified" => Ok(Self::Unspecified),
11645            _ => Err("invalid value"),
11646        }
11647    }
11648}
11649impl std::convert::TryFrom<&str> for StylesTextInputAction {
11650    type Error = &'static str;
11651    fn try_from(value: &str) -> Result<Self, &'static str> {
11652        value.parse()
11653    }
11654}
11655impl std::convert::TryFrom<&String> for StylesTextInputAction {
11656    type Error = &'static str;
11657    fn try_from(value: &String) -> Result<Self, &'static str> {
11658        value.parse()
11659    }
11660}
11661impl std::convert::TryFrom<String> for StylesTextInputAction {
11662    type Error = &'static str;
11663    fn try_from(value: String) -> Result<Self, &'static str> {
11664        value.parse()
11665    }
11666}
11667///Element of textInput Type
11668#[derive(Clone, Debug, Deserialize, Serialize)]
11669#[serde(deny_unknown_fields)]
11670pub struct StylesTextInputType {
11671    ///Whether to show copy option in toolbar
11672    #[serde(default, skip_serializing_if = "Option::is_none")]
11673    pub copy: Option<bool>,
11674    ///Whether to show cut option in toolbar
11675    #[serde(default, skip_serializing_if = "Option::is_none")]
11676    pub cut: Option<bool>,
11677    ///Whether to show past option in toolbar
11678    #[serde(default, skip_serializing_if = "Option::is_none")]
11679    pub paste: Option<bool>,
11680    ///Whether to show select all option in toolbar
11681    #[serde(rename = "selectAll", default, skip_serializing_if = "Option::is_none")]
11682    pub select_all: Option<bool>,
11683}
11684impl From<&StylesTextInputType> for StylesTextInputType {
11685    fn from(value: &StylesTextInputType) -> Self {
11686        value.clone()
11687    }
11688}
11689impl StylesTextInputType {
11690    pub fn builder() -> builder::StylesTextInputType {
11691        builder::StylesTextInputType::default()
11692    }
11693}
11694///The TextLeadingDistribution enum.
11695#[derive(
11696    Clone,
11697    Copy,
11698    Debug,
11699    Deserialize,
11700    Eq,
11701    Hash,
11702    Ord,
11703    PartialEq,
11704    PartialOrd,
11705    Serialize
11706)]
11707pub enum StylesTextLeadingDistribution {
11708    #[serde(rename = "even")]
11709    Even,
11710    #[serde(rename = "proportional")]
11711    Proportional,
11712}
11713impl From<&StylesTextLeadingDistribution> for StylesTextLeadingDistribution {
11714    fn from(value: &StylesTextLeadingDistribution) -> Self {
11715        value.clone()
11716    }
11717}
11718impl ToString for StylesTextLeadingDistribution {
11719    fn to_string(&self) -> String {
11720        match *self {
11721            Self::Even => "even".to_string(),
11722            Self::Proportional => "proportional".to_string(),
11723        }
11724    }
11725}
11726impl std::str::FromStr for StylesTextLeadingDistribution {
11727    type Err = &'static str;
11728    fn from_str(value: &str) -> Result<Self, &'static str> {
11729        match value {
11730            "even" => Ok(Self::Even),
11731            "proportional" => Ok(Self::Proportional),
11732            _ => Err("invalid value"),
11733        }
11734    }
11735}
11736impl std::convert::TryFrom<&str> for StylesTextLeadingDistribution {
11737    type Error = &'static str;
11738    fn try_from(value: &str) -> Result<Self, &'static str> {
11739        value.parse()
11740    }
11741}
11742impl std::convert::TryFrom<&String> for StylesTextLeadingDistribution {
11743    type Error = &'static str;
11744    fn try_from(value: &String) -> Result<Self, &'static str> {
11745        value.parse()
11746    }
11747}
11748impl std::convert::TryFrom<String> for StylesTextLeadingDistribution {
11749    type Error = &'static str;
11750    fn try_from(value: String) -> Result<Self, &'static str> {
11751        value.parse()
11752    }
11753}
11754///The style of the Text.
11755#[derive(Clone, Debug, Deserialize, Serialize)]
11756#[serde(deny_unknown_fields)]
11757pub struct StylesTextStyle {
11758    ///The color of the text.
11759    #[serde(default, skip_serializing_if = "Option::is_none")]
11760    pub color: Option<StylesColor>,
11761    #[serde(default, skip_serializing_if = "Option::is_none")]
11762    pub decoration: Option<StylesTextDecoration>,
11763    ///The color of the decoration.
11764    #[serde(
11765        rename = "decorationColor",
11766        default,
11767        skip_serializing_if = "Option::is_none"
11768    )]
11769    pub decoration_color: Option<StylesColor>,
11770    #[serde(
11771        rename = "decorationStyle",
11772        default,
11773        skip_serializing_if = "Option::is_none"
11774    )]
11775    pub decoration_style: Option<StylesTextDecorationStyle>,
11776    #[serde(
11777        rename = "decorationThickness",
11778        default,
11779        skip_serializing_if = "Option::is_none"
11780    )]
11781    pub decoration_thickness: Option<f64>,
11782    ///The font family of the text.
11783    #[serde(rename = "fontFamily", default, skip_serializing_if = "Option::is_none")]
11784    pub font_family: Option<String>,
11785    ///The list of font families to use if the first font family could not be found.
11786    #[serde(
11787        rename = "fontFamilyFallback",
11788        default,
11789        skip_serializing_if = "Vec::is_empty"
11790    )]
11791    pub font_family_fallback: Vec<String>,
11792    #[serde(rename = "fontSize", default, skip_serializing_if = "Option::is_none")]
11793    pub font_size: Option<f64>,
11794    ///The style of the text.
11795    #[serde(rename = "fontStyle", default, skip_serializing_if = "Option::is_none")]
11796    pub font_style: Option<StylesTextStyleFontStyle>,
11797    ///The weight of the text.
11798    #[serde(rename = "fontWeight", default, skip_serializing_if = "Option::is_none")]
11799    pub font_weight: Option<StylesTextStyleFontWeight>,
11800    #[serde(default, skip_serializing_if = "Option::is_none")]
11801    pub height: Option<f64>,
11802    #[serde(rename = "letterSpacing", default, skip_serializing_if = "Option::is_none")]
11803    pub letter_spacing: Option<f64>,
11804    ///How visual text overflow should be handled.
11805    #[serde(default, skip_serializing_if = "Option::is_none")]
11806    pub overflow: Option<StylesTextStyleOverflow>,
11807    ///A list of Shadows that will be painted underneath the text.
11808    #[serde(default, skip_serializing_if = "Vec::is_empty")]
11809    pub shadows: Vec<StylesBoxShadow>,
11810    ///The common baseline that should be aligned between this text and its parent text.
11811    #[serde(rename = "textBaseline", default, skip_serializing_if = "Option::is_none")]
11812    pub text_baseline: Option<StylesTextBaseline>,
11813    #[serde(rename = "wordSpacing", default, skip_serializing_if = "Option::is_none")]
11814    pub word_spacing: Option<f64>,
11815}
11816impl From<&StylesTextStyle> for StylesTextStyle {
11817    fn from(value: &StylesTextStyle) -> Self {
11818        value.clone()
11819    }
11820}
11821impl StylesTextStyle {
11822    pub fn builder() -> builder::StylesTextStyle {
11823        builder::StylesTextStyle::default()
11824    }
11825}
11826///The style of the text.
11827#[derive(
11828    Clone,
11829    Copy,
11830    Debug,
11831    Deserialize,
11832    Eq,
11833    Hash,
11834    Ord,
11835    PartialEq,
11836    PartialOrd,
11837    Serialize
11838)]
11839pub enum StylesTextStyleFontStyle {
11840    #[serde(rename = "italic")]
11841    Italic,
11842    #[serde(rename = "normal")]
11843    Normal,
11844}
11845impl From<&StylesTextStyleFontStyle> for StylesTextStyleFontStyle {
11846    fn from(value: &StylesTextStyleFontStyle) -> Self {
11847        value.clone()
11848    }
11849}
11850impl ToString for StylesTextStyleFontStyle {
11851    fn to_string(&self) -> String {
11852        match *self {
11853            Self::Italic => "italic".to_string(),
11854            Self::Normal => "normal".to_string(),
11855        }
11856    }
11857}
11858impl std::str::FromStr for StylesTextStyleFontStyle {
11859    type Err = &'static str;
11860    fn from_str(value: &str) -> Result<Self, &'static str> {
11861        match value {
11862            "italic" => Ok(Self::Italic),
11863            "normal" => Ok(Self::Normal),
11864            _ => Err("invalid value"),
11865        }
11866    }
11867}
11868impl std::convert::TryFrom<&str> for StylesTextStyleFontStyle {
11869    type Error = &'static str;
11870    fn try_from(value: &str) -> Result<Self, &'static str> {
11871        value.parse()
11872    }
11873}
11874impl std::convert::TryFrom<&String> for StylesTextStyleFontStyle {
11875    type Error = &'static str;
11876    fn try_from(value: &String) -> Result<Self, &'static str> {
11877        value.parse()
11878    }
11879}
11880impl std::convert::TryFrom<String> for StylesTextStyleFontStyle {
11881    type Error = &'static str;
11882    fn try_from(value: String) -> Result<Self, &'static str> {
11883        value.parse()
11884    }
11885}
11886///The weight of the text.
11887#[derive(
11888    Clone,
11889    Copy,
11890    Debug,
11891    Deserialize,
11892    Eq,
11893    Hash,
11894    Ord,
11895    PartialEq,
11896    PartialOrd,
11897    Serialize
11898)]
11899pub enum StylesTextStyleFontWeight {
11900    #[serde(rename = "bold")]
11901    Bold,
11902    #[serde(rename = "normal")]
11903    Normal,
11904    #[serde(rename = "w100")]
11905    W100,
11906    #[serde(rename = "w200")]
11907    W200,
11908    #[serde(rename = "w300")]
11909    W300,
11910    #[serde(rename = "w400")]
11911    W400,
11912    #[serde(rename = "w500")]
11913    W500,
11914    #[serde(rename = "w600")]
11915    W600,
11916    #[serde(rename = "w700")]
11917    W700,
11918    #[serde(rename = "w800")]
11919    W800,
11920    #[serde(rename = "w900")]
11921    W900,
11922}
11923impl From<&StylesTextStyleFontWeight> for StylesTextStyleFontWeight {
11924    fn from(value: &StylesTextStyleFontWeight) -> Self {
11925        value.clone()
11926    }
11927}
11928impl ToString for StylesTextStyleFontWeight {
11929    fn to_string(&self) -> String {
11930        match *self {
11931            Self::Bold => "bold".to_string(),
11932            Self::Normal => "normal".to_string(),
11933            Self::W100 => "w100".to_string(),
11934            Self::W200 => "w200".to_string(),
11935            Self::W300 => "w300".to_string(),
11936            Self::W400 => "w400".to_string(),
11937            Self::W500 => "w500".to_string(),
11938            Self::W600 => "w600".to_string(),
11939            Self::W700 => "w700".to_string(),
11940            Self::W800 => "w800".to_string(),
11941            Self::W900 => "w900".to_string(),
11942        }
11943    }
11944}
11945impl std::str::FromStr for StylesTextStyleFontWeight {
11946    type Err = &'static str;
11947    fn from_str(value: &str) -> Result<Self, &'static str> {
11948        match value {
11949            "bold" => Ok(Self::Bold),
11950            "normal" => Ok(Self::Normal),
11951            "w100" => Ok(Self::W100),
11952            "w200" => Ok(Self::W200),
11953            "w300" => Ok(Self::W300),
11954            "w400" => Ok(Self::W400),
11955            "w500" => Ok(Self::W500),
11956            "w600" => Ok(Self::W600),
11957            "w700" => Ok(Self::W700),
11958            "w800" => Ok(Self::W800),
11959            "w900" => Ok(Self::W900),
11960            _ => Err("invalid value"),
11961        }
11962    }
11963}
11964impl std::convert::TryFrom<&str> for StylesTextStyleFontWeight {
11965    type Error = &'static str;
11966    fn try_from(value: &str) -> Result<Self, &'static str> {
11967        value.parse()
11968    }
11969}
11970impl std::convert::TryFrom<&String> for StylesTextStyleFontWeight {
11971    type Error = &'static str;
11972    fn try_from(value: &String) -> Result<Self, &'static str> {
11973        value.parse()
11974    }
11975}
11976impl std::convert::TryFrom<String> for StylesTextStyleFontWeight {
11977    type Error = &'static str;
11978    fn try_from(value: String) -> Result<Self, &'static str> {
11979        value.parse()
11980    }
11981}
11982///How visual text overflow should be handled.
11983#[derive(
11984    Clone,
11985    Copy,
11986    Debug,
11987    Deserialize,
11988    Eq,
11989    Hash,
11990    Ord,
11991    PartialEq,
11992    PartialOrd,
11993    Serialize
11994)]
11995pub enum StylesTextStyleOverflow {
11996    #[serde(rename = "clip")]
11997    Clip,
11998    #[serde(rename = "ellipsis")]
11999    Ellipsis,
12000    #[serde(rename = "fade")]
12001    Fade,
12002    #[serde(rename = "visible")]
12003    Visible,
12004}
12005impl From<&StylesTextStyleOverflow> for StylesTextStyleOverflow {
12006    fn from(value: &StylesTextStyleOverflow) -> Self {
12007        value.clone()
12008    }
12009}
12010impl ToString for StylesTextStyleOverflow {
12011    fn to_string(&self) -> String {
12012        match *self {
12013            Self::Clip => "clip".to_string(),
12014            Self::Ellipsis => "ellipsis".to_string(),
12015            Self::Fade => "fade".to_string(),
12016            Self::Visible => "visible".to_string(),
12017        }
12018    }
12019}
12020impl std::str::FromStr for StylesTextStyleOverflow {
12021    type Err = &'static str;
12022    fn from_str(value: &str) -> Result<Self, &'static str> {
12023        match value {
12024            "clip" => Ok(Self::Clip),
12025            "ellipsis" => Ok(Self::Ellipsis),
12026            "fade" => Ok(Self::Fade),
12027            "visible" => Ok(Self::Visible),
12028            _ => Err("invalid value"),
12029        }
12030    }
12031}
12032impl std::convert::TryFrom<&str> for StylesTextStyleOverflow {
12033    type Error = &'static str;
12034    fn try_from(value: &str) -> Result<Self, &'static str> {
12035        value.parse()
12036    }
12037}
12038impl std::convert::TryFrom<&String> for StylesTextStyleOverflow {
12039    type Error = &'static str;
12040    fn try_from(value: &String) -> Result<Self, &'static str> {
12041        value.parse()
12042    }
12043}
12044impl std::convert::TryFrom<String> for StylesTextStyleOverflow {
12045    type Error = &'static str;
12046    fn try_from(value: String) -> Result<Self, &'static str> {
12047        value.parse()
12048    }
12049}
12050///Element of type ToggleStyle
12051#[derive(Clone, Debug, Deserialize, Serialize)]
12052#[serde(deny_unknown_fields)]
12053pub struct StylesToggleStyle {
12054    #[serde(rename = "activeColor", default, skip_serializing_if = "Option::is_none")]
12055    pub active_color: Option<StylesColor>,
12056    #[serde(
12057        rename = "activeThumbImage",
12058        default,
12059        skip_serializing_if = "Option::is_none"
12060    )]
12061    pub active_thumb_image: Option<Image>,
12062    #[serde(
12063        rename = "activeTrackColor",
12064        default,
12065        skip_serializing_if = "Option::is_none"
12066    )]
12067    pub active_track_color: Option<StylesColor>,
12068    #[serde(rename = "focusColor", default, skip_serializing_if = "Option::is_none")]
12069    pub focus_color: Option<StylesColor>,
12070    #[serde(rename = "hoverColor", default, skip_serializing_if = "Option::is_none")]
12071    pub hover_color: Option<StylesColor>,
12072    #[serde(
12073        rename = "inactiveThumbColor",
12074        default,
12075        skip_serializing_if = "Option::is_none"
12076    )]
12077    pub inactive_thumb_color: Option<StylesColor>,
12078    #[serde(
12079        rename = "inactiveThumbImage",
12080        default,
12081        skip_serializing_if = "Option::is_none"
12082    )]
12083    pub inactive_thumb_image: Option<Image>,
12084    #[serde(
12085        rename = "inactiveTrackColor",
12086        default,
12087        skip_serializing_if = "Option::is_none"
12088    )]
12089    pub inactive_track_color: Option<StylesColor>,
12090    #[serde(
12091        rename = "materialTapTargetSize",
12092        default,
12093        skip_serializing_if = "Option::is_none"
12094    )]
12095    pub material_tap_target_size: Option<StylesToggleStyleMaterialTapTargetSize>,
12096}
12097impl From<&StylesToggleStyle> for StylesToggleStyle {
12098    fn from(value: &StylesToggleStyle) -> Self {
12099        value.clone()
12100    }
12101}
12102impl StylesToggleStyle {
12103    pub fn builder() -> builder::StylesToggleStyle {
12104        builder::StylesToggleStyle::default()
12105    }
12106}
12107#[derive(
12108    Clone,
12109    Copy,
12110    Debug,
12111    Deserialize,
12112    Eq,
12113    Hash,
12114    Ord,
12115    PartialEq,
12116    PartialOrd,
12117    Serialize
12118)]
12119pub enum StylesToggleStyleMaterialTapTargetSize {
12120    #[serde(rename = "padded")]
12121    Padded,
12122    #[serde(rename = "shrinkWrap")]
12123    ShrinkWrap,
12124}
12125impl From<&StylesToggleStyleMaterialTapTargetSize>
12126for StylesToggleStyleMaterialTapTargetSize {
12127    fn from(value: &StylesToggleStyleMaterialTapTargetSize) -> Self {
12128        value.clone()
12129    }
12130}
12131impl ToString for StylesToggleStyleMaterialTapTargetSize {
12132    fn to_string(&self) -> String {
12133        match *self {
12134            Self::Padded => "padded".to_string(),
12135            Self::ShrinkWrap => "shrinkWrap".to_string(),
12136        }
12137    }
12138}
12139impl std::str::FromStr for StylesToggleStyleMaterialTapTargetSize {
12140    type Err = &'static str;
12141    fn from_str(value: &str) -> Result<Self, &'static str> {
12142        match value {
12143            "padded" => Ok(Self::Padded),
12144            "shrinkWrap" => Ok(Self::ShrinkWrap),
12145            _ => Err("invalid value"),
12146        }
12147    }
12148}
12149impl std::convert::TryFrom<&str> for StylesToggleStyleMaterialTapTargetSize {
12150    type Error = &'static str;
12151    fn try_from(value: &str) -> Result<Self, &'static str> {
12152        value.parse()
12153    }
12154}
12155impl std::convert::TryFrom<&String> for StylesToggleStyleMaterialTapTargetSize {
12156    type Error = &'static str;
12157    fn try_from(value: &String) -> Result<Self, &'static str> {
12158        value.parse()
12159    }
12160}
12161impl std::convert::TryFrom<String> for StylesToggleStyleMaterialTapTargetSize {
12162    type Error = &'static str;
12163    fn try_from(value: String) -> Result<Self, &'static str> {
12164        value.parse()
12165    }
12166}
12167///Element of type toolbar options
12168#[derive(Clone, Debug, Deserialize, Serialize)]
12169#[serde(deny_unknown_fields)]
12170pub struct StylesToolbarOptions {
12171    ///The number is decimal, allowing a decimal point to provide fractional
12172    #[serde(default, skip_serializing_if = "Option::is_none")]
12173    pub decimal: Option<bool>,
12174    ///The number is signed, allowing a positive or negative sign at the start.
12175    #[serde(default, skip_serializing_if = "Option::is_none")]
12176    pub signed: Option<bool>,
12177}
12178impl From<&StylesToolbarOptions> for StylesToolbarOptions {
12179    fn from(value: &StylesToolbarOptions) -> Self {
12180        value.clone()
12181    }
12182}
12183impl StylesToolbarOptions {
12184    pub fn builder() -> builder::StylesToolbarOptions {
12185        builder::StylesToolbarOptions::default()
12186    }
12187}
12188///How the objects should be aligned following the vertical axis.
12189#[derive(
12190    Clone,
12191    Copy,
12192    Debug,
12193    Deserialize,
12194    Eq,
12195    Hash,
12196    Ord,
12197    PartialEq,
12198    PartialOrd,
12199    Serialize
12200)]
12201pub enum StylesVerticalDirection {
12202    #[serde(rename = "down")]
12203    Down,
12204    #[serde(rename = "up")]
12205    Up,
12206}
12207impl From<&StylesVerticalDirection> for StylesVerticalDirection {
12208    fn from(value: &StylesVerticalDirection) -> Self {
12209        value.clone()
12210    }
12211}
12212impl ToString for StylesVerticalDirection {
12213    fn to_string(&self) -> String {
12214        match *self {
12215            Self::Down => "down".to_string(),
12216            Self::Up => "up".to_string(),
12217        }
12218    }
12219}
12220impl std::str::FromStr for StylesVerticalDirection {
12221    type Err = &'static str;
12222    fn from_str(value: &str) -> Result<Self, &'static str> {
12223        match value {
12224            "down" => Ok(Self::Down),
12225            "up" => Ok(Self::Up),
12226            _ => Err("invalid value"),
12227        }
12228    }
12229}
12230impl std::convert::TryFrom<&str> for StylesVerticalDirection {
12231    type Error = &'static str;
12232    fn try_from(value: &str) -> Result<Self, &'static str> {
12233        value.parse()
12234    }
12235}
12236impl std::convert::TryFrom<&String> for StylesVerticalDirection {
12237    type Error = &'static str;
12238    fn try_from(value: &String) -> Result<Self, &'static str> {
12239        value.parse()
12240    }
12241}
12242impl std::convert::TryFrom<String> for StylesVerticalDirection {
12243    type Error = &'static str;
12244    fn try_from(value: String) -> Result<Self, &'static str> {
12245        value.parse()
12246    }
12247}
12248///The visual density of UI components.
12249#[derive(
12250    Clone,
12251    Copy,
12252    Debug,
12253    Deserialize,
12254    Eq,
12255    Hash,
12256    Ord,
12257    PartialEq,
12258    PartialOrd,
12259    Serialize
12260)]
12261pub enum StylesVisualDensity {
12262    #[serde(rename = "comfortable")]
12263    Comfortable,
12264    #[serde(rename = "compact")]
12265    Compact,
12266    #[serde(rename = "standard")]
12267    Standard,
12268}
12269impl From<&StylesVisualDensity> for StylesVisualDensity {
12270    fn from(value: &StylesVisualDensity) -> Self {
12271        value.clone()
12272    }
12273}
12274impl ToString for StylesVisualDensity {
12275    fn to_string(&self) -> String {
12276        match *self {
12277            Self::Comfortable => "comfortable".to_string(),
12278            Self::Compact => "compact".to_string(),
12279            Self::Standard => "standard".to_string(),
12280        }
12281    }
12282}
12283impl std::str::FromStr for StylesVisualDensity {
12284    type Err = &'static str;
12285    fn from_str(value: &str) -> Result<Self, &'static str> {
12286        match value {
12287            "comfortable" => Ok(Self::Comfortable),
12288            "compact" => Ok(Self::Compact),
12289            "standard" => Ok(Self::Standard),
12290            _ => Err("invalid value"),
12291        }
12292    }
12293}
12294impl std::convert::TryFrom<&str> for StylesVisualDensity {
12295    type Error = &'static str;
12296    fn try_from(value: &str) -> Result<Self, &'static str> {
12297        value.parse()
12298    }
12299}
12300impl std::convert::TryFrom<&String> for StylesVisualDensity {
12301    type Error = &'static str;
12302    fn try_from(value: &String) -> Result<Self, &'static str> {
12303        value.parse()
12304    }
12305}
12306impl std::convert::TryFrom<String> for StylesVisualDensity {
12307    type Error = &'static str;
12308    fn try_from(value: String) -> Result<Self, &'static str> {
12309        value.parse()
12310    }
12311}
12312///How the objects in the Wrap should be aligned.
12313#[derive(
12314    Clone,
12315    Copy,
12316    Debug,
12317    Deserialize,
12318    Eq,
12319    Hash,
12320    Ord,
12321    PartialEq,
12322    PartialOrd,
12323    Serialize
12324)]
12325pub enum StylesWrapAlignment {
12326    #[serde(rename = "start")]
12327    Start,
12328    #[serde(rename = "end")]
12329    End,
12330    #[serde(rename = "center")]
12331    Center,
12332    #[serde(rename = "spaceBetween")]
12333    SpaceBetween,
12334    #[serde(rename = "spaceAround")]
12335    SpaceAround,
12336    #[serde(rename = "spaceEvenly")]
12337    SpaceEvenly,
12338}
12339impl From<&StylesWrapAlignment> for StylesWrapAlignment {
12340    fn from(value: &StylesWrapAlignment) -> Self {
12341        value.clone()
12342    }
12343}
12344impl ToString for StylesWrapAlignment {
12345    fn to_string(&self) -> String {
12346        match *self {
12347            Self::Start => "start".to_string(),
12348            Self::End => "end".to_string(),
12349            Self::Center => "center".to_string(),
12350            Self::SpaceBetween => "spaceBetween".to_string(),
12351            Self::SpaceAround => "spaceAround".to_string(),
12352            Self::SpaceEvenly => "spaceEvenly".to_string(),
12353        }
12354    }
12355}
12356impl std::str::FromStr for StylesWrapAlignment {
12357    type Err = &'static str;
12358    fn from_str(value: &str) -> Result<Self, &'static str> {
12359        match value {
12360            "start" => Ok(Self::Start),
12361            "end" => Ok(Self::End),
12362            "center" => Ok(Self::Center),
12363            "spaceBetween" => Ok(Self::SpaceBetween),
12364            "spaceAround" => Ok(Self::SpaceAround),
12365            "spaceEvenly" => Ok(Self::SpaceEvenly),
12366            _ => Err("invalid value"),
12367        }
12368    }
12369}
12370impl std::convert::TryFrom<&str> for StylesWrapAlignment {
12371    type Error = &'static str;
12372    fn try_from(value: &str) -> Result<Self, &'static str> {
12373        value.parse()
12374    }
12375}
12376impl std::convert::TryFrom<&String> for StylesWrapAlignment {
12377    type Error = &'static str;
12378    fn try_from(value: &String) -> Result<Self, &'static str> {
12379        value.parse()
12380    }
12381}
12382impl std::convert::TryFrom<String> for StylesWrapAlignment {
12383    type Error = &'static str;
12384    fn try_from(value: String) -> Result<Self, &'static str> {
12385        value.parse()
12386    }
12387}
12388///How the objects in the Wrap should be aligned on the CrossAxis.
12389#[derive(
12390    Clone,
12391    Copy,
12392    Debug,
12393    Deserialize,
12394    Eq,
12395    Hash,
12396    Ord,
12397    PartialEq,
12398    PartialOrd,
12399    Serialize
12400)]
12401pub enum StylesWrapCrossAlignment {
12402    #[serde(rename = "start")]
12403    Start,
12404    #[serde(rename = "end")]
12405    End,
12406    #[serde(rename = "center")]
12407    Center,
12408}
12409impl From<&StylesWrapCrossAlignment> for StylesWrapCrossAlignment {
12410    fn from(value: &StylesWrapCrossAlignment) -> Self {
12411        value.clone()
12412    }
12413}
12414impl ToString for StylesWrapCrossAlignment {
12415    fn to_string(&self) -> String {
12416        match *self {
12417            Self::Start => "start".to_string(),
12418            Self::End => "end".to_string(),
12419            Self::Center => "center".to_string(),
12420        }
12421    }
12422}
12423impl std::str::FromStr for StylesWrapCrossAlignment {
12424    type Err = &'static str;
12425    fn from_str(value: &str) -> Result<Self, &'static str> {
12426        match value {
12427            "start" => Ok(Self::Start),
12428            "end" => Ok(Self::End),
12429            "center" => Ok(Self::Center),
12430            _ => Err("invalid value"),
12431        }
12432    }
12433}
12434impl std::convert::TryFrom<&str> for StylesWrapCrossAlignment {
12435    type Error = &'static str;
12436    fn try_from(value: &str) -> Result<Self, &'static str> {
12437        value.parse()
12438    }
12439}
12440impl std::convert::TryFrom<&String> for StylesWrapCrossAlignment {
12441    type Error = &'static str;
12442    fn try_from(value: &String) -> Result<Self, &'static str> {
12443        value.parse()
12444    }
12445}
12446impl std::convert::TryFrom<String> for StylesWrapCrossAlignment {
12447    type Error = &'static str;
12448    fn try_from(value: String) -> Result<Self, &'static str> {
12449        value.parse()
12450    }
12451}
12452///Element of type Text
12453#[derive(Clone, Debug, Deserialize, Serialize)]
12454#[serde(deny_unknown_fields)]
12455pub struct Text {
12456    ///Additional texts to add after this text.
12457    #[serde(default, skip_serializing_if = "Vec::is_empty")]
12458    pub children: Vec<Text>,
12459    #[serde(default, skip_serializing_if = "Option::is_none")]
12460    pub locale: Option<StylesLocale>,
12461    ///The value to explain a different semantics
12462    #[serde(rename = "semanticsLabel", default, skip_serializing_if = "Option::is_none")]
12463    pub semantics_label: Option<String>,
12464    ///Whether the assistive technologies should spell out this text character by character
12465    #[serde(rename = "spellOut", default, skip_serializing_if = "Option::is_none")]
12466    pub spell_out: Option<bool>,
12467    #[serde(default, skip_serializing_if = "Option::is_none")]
12468    pub style: Option<StylesTextStyle>,
12469    ///The text alignment
12470    #[serde(rename = "textAlign", default, skip_serializing_if = "Option::is_none")]
12471    pub text_align: Option<TextTextAlign>,
12472    ///The identifier of the component
12473    #[serde(rename = "_type")]
12474    pub type_: serde_json::Value,
12475    ///the value displayed in the element
12476    pub value: String,
12477}
12478impl From<&Text> for Text {
12479    fn from(value: &Text) -> Self {
12480        value.clone()
12481    }
12482}
12483impl Text {
12484    pub fn builder() -> builder::Text {
12485        builder::Text::default()
12486    }
12487}
12488///The text alignment
12489#[derive(
12490    Clone,
12491    Copy,
12492    Debug,
12493    Deserialize,
12494    Eq,
12495    Hash,
12496    Ord,
12497    PartialEq,
12498    PartialOrd,
12499    Serialize
12500)]
12501pub enum TextTextAlign {
12502    #[serde(rename = "left")]
12503    Left,
12504    #[serde(rename = "center")]
12505    Center,
12506    #[serde(rename = "right")]
12507    Right,
12508    #[serde(rename = "justify")]
12509    Justify,
12510    #[serde(rename = "start")]
12511    Start,
12512    #[serde(rename = "end")]
12513    End,
12514}
12515impl From<&TextTextAlign> for TextTextAlign {
12516    fn from(value: &TextTextAlign) -> Self {
12517        value.clone()
12518    }
12519}
12520impl ToString for TextTextAlign {
12521    fn to_string(&self) -> String {
12522        match *self {
12523            Self::Left => "left".to_string(),
12524            Self::Center => "center".to_string(),
12525            Self::Right => "right".to_string(),
12526            Self::Justify => "justify".to_string(),
12527            Self::Start => "start".to_string(),
12528            Self::End => "end".to_string(),
12529        }
12530    }
12531}
12532impl std::str::FromStr for TextTextAlign {
12533    type Err = &'static str;
12534    fn from_str(value: &str) -> Result<Self, &'static str> {
12535        match value {
12536            "left" => Ok(Self::Left),
12537            "center" => Ok(Self::Center),
12538            "right" => Ok(Self::Right),
12539            "justify" => Ok(Self::Justify),
12540            "start" => Ok(Self::Start),
12541            "end" => Ok(Self::End),
12542            _ => Err("invalid value"),
12543        }
12544    }
12545}
12546impl std::convert::TryFrom<&str> for TextTextAlign {
12547    type Error = &'static str;
12548    fn try_from(value: &str) -> Result<Self, &'static str> {
12549        value.parse()
12550    }
12551}
12552impl std::convert::TryFrom<&String> for TextTextAlign {
12553    type Error = &'static str;
12554    fn try_from(value: &String) -> Result<Self, &'static str> {
12555        value.parse()
12556    }
12557}
12558impl std::convert::TryFrom<String> for TextTextAlign {
12559    type Error = &'static str;
12560    fn try_from(value: String) -> Result<Self, &'static str> {
12561        value.parse()
12562    }
12563}
12564///Element of type TextField
12565#[derive(Clone, Debug, Deserialize, Serialize)]
12566#[serde(deny_unknown_fields)]
12567pub struct Textfield {
12568    ///Whether to enable the autocorrection
12569    #[serde(default, skip_serializing_if = "Option::is_none")]
12570    pub autocorrect: Option<bool>,
12571    ///The type of this text input to provide autofill hints.
12572    #[serde(rename = "autofillHints", default, skip_serializing_if = "Option::is_none")]
12573    pub autofill_hints: Option<StylesAutofillHints>,
12574    ///Whether this Textfield should be focused initially.
12575    #[serde(default, skip_serializing_if = "Option::is_none")]
12576    pub autofocus: Option<bool>,
12577    ///Callback that generates a custom counter view.
12578    #[serde(rename = "buildCounter", default, skip_serializing_if = "Option::is_none")]
12579    pub build_counter: Option<Listener>,
12580    ///Determines the way that drag start behavior is handled.
12581    #[serde(
12582        rename = "dragStartBehavior",
12583        default,
12584        skip_serializing_if = "Option::is_none"
12585    )]
12586    pub drag_start_behavior: Option<StylesDragStartBehavior>,
12587    ///Whether to enable user interface options to change the text selection.
12588    #[serde(
12589        rename = "enableInteractiveSelection",
12590        default,
12591        skip_serializing_if = "Option::is_none"
12592    )]
12593    pub enable_interactive_selection: Option<bool>,
12594    ///Whether the text field is enabled.
12595    #[serde(default, skip_serializing_if = "Option::is_none")]
12596    pub enabled: Option<bool>,
12597    ///Whether the TextField is sized to fill its parent.
12598    #[serde(default, skip_serializing_if = "Option::is_none")]
12599    pub expands: Option<bool>,
12600    ///The type of the keyboard to use for editing the text.
12601    #[serde(rename = "keyboardType", default, skip_serializing_if = "Option::is_none")]
12602    pub keyboard_type: Option<StylesTextInputType>,
12603    ///The maximum number of characters to allow in the text field.
12604    #[serde(rename = "maxLength", default, skip_serializing_if = "Option::is_none")]
12605    pub max_length: Option<i64>,
12606    ///Determines how the maxLength limit should be enforced.
12607    #[serde(
12608        rename = "maxLengthEnforcement",
12609        default,
12610        skip_serializing_if = "Option::is_none"
12611    )]
12612    pub max_length_enforcement: Option<StylesMaxLengthEnforcement>,
12613    ///The maximum number of lines to show at one time.
12614    #[serde(rename = "maxLines", default, skip_serializing_if = "Option::is_none")]
12615    pub max_lines: Option<i64>,
12616    ///The minimum number of lines to occupy on the screen.
12617    #[serde(rename = "minLines", default, skip_serializing_if = "Option::is_none")]
12618    pub min_lines: Option<i64>,
12619    ///The name that will be used in the form.
12620    #[serde(default, skip_serializing_if = "Option::is_none")]
12621    pub name: Option<String>,
12622    ///Whether to hide the text being edited.
12623    #[serde(rename = "obscureText", default, skip_serializing_if = "Option::is_none")]
12624    pub obscure_text: Option<bool>,
12625    ///This is used to receive a private command from the input method.
12626    #[serde(
12627        rename = "onAppPrivateCommand",
12628        default,
12629        skip_serializing_if = "Option::is_none"
12630    )]
12631    pub on_app_private_command: Option<Listener>,
12632    ///Callback when the user changes the text field value.
12633    #[serde(rename = "onChanged", default, skip_serializing_if = "Option::is_none")]
12634    pub on_changed: Option<Listener>,
12635    ///Callback when the user finishes editing the text field.
12636    #[serde(
12637        rename = "onEditingComplete",
12638        default,
12639        skip_serializing_if = "Option::is_none"
12640    )]
12641    pub on_editing_complete: Option<Listener>,
12642    ///Callback when the user tells he is done editing the text field.
12643    #[serde(rename = "onSubmitted", default, skip_serializing_if = "Option::is_none")]
12644    pub on_submitted: Option<Listener>,
12645    ///Callback when the user taps on the text field.
12646    #[serde(rename = "onTap", default, skip_serializing_if = "Option::is_none")]
12647    pub on_tap: Option<Listener>,
12648    ///Whether the text can be changed.
12649    #[serde(rename = "readOnly", default, skip_serializing_if = "Option::is_none")]
12650    pub read_only: Option<bool>,
12651    ///Whether to show the cursor.
12652    #[serde(rename = "showCursor", default, skip_serializing_if = "Option::is_none")]
12653    pub show_cursor: Option<bool>,
12654    ///The style of the Textfield.
12655    #[serde(default, skip_serializing_if = "Option::is_none")]
12656    pub style: Option<StylesTextFieldStyle>,
12657    ///Configures how the platform keyboard will select an uppercase or lowercase keyboard.
12658    #[serde(
12659        rename = "textCapitalization",
12660        default,
12661        skip_serializing_if = "Option::is_none"
12662    )]
12663    pub text_capitalization: Option<StylesTextCapitalization>,
12664    ///The direction of the text.
12665    #[serde(rename = "textDirection", default, skip_serializing_if = "Option::is_none")]
12666    pub text_direction: Option<StylesTextDirection>,
12667    ///The type of the action button to use for the keyboard.
12668    #[serde(
12669        rename = "textInputAction",
12670        default,
12671        skip_serializing_if = "Option::is_none"
12672    )]
12673    pub text_input_action: Option<StylesTextInputAction>,
12674    ///Configuration of toolbar options
12675    #[serde(rename = "toolbarOptions", default, skip_serializing_if = "Option::is_none")]
12676    pub toolbar_options: Option<StylesToolbarOptions>,
12677    ///The identifier of the component
12678    #[serde(rename = "_type")]
12679    pub type_: serde_json::Value,
12680    ///The value displayed inside the Textfield
12681    pub value: String,
12682}
12683impl From<&Textfield> for Textfield {
12684    fn from(value: &Textfield) -> Self {
12685        value.clone()
12686    }
12687}
12688impl Textfield {
12689    pub fn builder() -> builder::Textfield {
12690        builder::Textfield::default()
12691    }
12692}
12693///Element of type Toggle
12694#[derive(Clone, Debug, Deserialize, Serialize)]
12695#[serde(deny_unknown_fields)]
12696pub struct Toggle {
12697    ///The default focus in boolean.
12698    #[serde(default, skip_serializing_if = "Option::is_none")]
12699    pub autofocus: Option<bool>,
12700    ///The toggle is disabled if true
12701    #[serde(default, skip_serializing_if = "Option::is_none")]
12702    pub disabled: Option<bool>,
12703    ///Determines the way that drag start behavior is handled.
12704    #[serde(
12705        rename = "dragStartBehavior",
12706        default,
12707        skip_serializing_if = "Option::is_none"
12708    )]
12709    pub drag_start_behavior: Option<ToggleDragStartBehavior>,
12710    ///The name that will be used in the form.
12711    #[serde(default, skip_serializing_if = "Option::is_none")]
12712    pub name: Option<String>,
12713    #[serde(rename = "onPressed", default, skip_serializing_if = "Option::is_none")]
12714    pub on_pressed: Option<Listener>,
12715    #[serde(rename = "splashRadius", default, skip_serializing_if = "Option::is_none")]
12716    pub splash_radius: Option<f64>,
12717    #[serde(default, skip_serializing_if = "Option::is_none")]
12718    pub style: Option<StylesToggleStyle>,
12719    ///The identifier of the component
12720    #[serde(rename = "_type")]
12721    pub type_: serde_json::Value,
12722    ///The value of the element.
12723    pub value: bool,
12724}
12725impl From<&Toggle> for Toggle {
12726    fn from(value: &Toggle) -> Self {
12727        value.clone()
12728    }
12729}
12730impl Toggle {
12731    pub fn builder() -> builder::Toggle {
12732        builder::Toggle::default()
12733    }
12734}
12735///Determines the way that drag start behavior is handled.
12736#[derive(
12737    Clone,
12738    Copy,
12739    Debug,
12740    Deserialize,
12741    Eq,
12742    Hash,
12743    Ord,
12744    PartialEq,
12745    PartialOrd,
12746    Serialize
12747)]
12748pub enum ToggleDragStartBehavior {
12749    #[serde(rename = "start")]
12750    Start,
12751    #[serde(rename = "down")]
12752    Down,
12753}
12754impl From<&ToggleDragStartBehavior> for ToggleDragStartBehavior {
12755    fn from(value: &ToggleDragStartBehavior) -> Self {
12756        value.clone()
12757    }
12758}
12759impl ToString for ToggleDragStartBehavior {
12760    fn to_string(&self) -> String {
12761        match *self {
12762            Self::Start => "start".to_string(),
12763            Self::Down => "down".to_string(),
12764        }
12765    }
12766}
12767impl std::str::FromStr for ToggleDragStartBehavior {
12768    type Err = &'static str;
12769    fn from_str(value: &str) -> Result<Self, &'static str> {
12770        match value {
12771            "start" => Ok(Self::Start),
12772            "down" => Ok(Self::Down),
12773            _ => Err("invalid value"),
12774        }
12775    }
12776}
12777impl std::convert::TryFrom<&str> for ToggleDragStartBehavior {
12778    type Error = &'static str;
12779    fn try_from(value: &str) -> Result<Self, &'static str> {
12780        value.parse()
12781    }
12782}
12783impl std::convert::TryFrom<&String> for ToggleDragStartBehavior {
12784    type Error = &'static str;
12785    fn try_from(value: &String) -> Result<Self, &'static str> {
12786        value.parse()
12787    }
12788}
12789impl std::convert::TryFrom<String> for ToggleDragStartBehavior {
12790    type Error = &'static str;
12791    fn try_from(value: String) -> Result<Self, &'static str> {
12792        value.parse()
12793    }
12794}
12795///Element of type view
12796#[derive(Clone, Debug, Deserialize, Serialize)]
12797#[serde(deny_unknown_fields)]
12798pub struct View {
12799    ///The context projection. This field represents the projection of the context, allowing selective retrieval of specific elements. It is a map that specifies the desired elements to be included in the projection.
12800    #[serde(default, skip_serializing_if = "serde_json::Map::is_empty")]
12801    pub context: serde_json::Map<String, serde_json::Value>,
12802    #[serde(default, skip_serializing_if = "Option::is_none")]
12803    pub find: Option<ViewDefinitionsFind>,
12804    ///The name of the view
12805    pub name: String,
12806    #[serde(default, skip_serializing_if = "Option::is_none")]
12807    pub props: Option<DefsProps>,
12808    ///The identifier of the component
12809    #[serde(rename = "_type")]
12810    pub type_: serde_json::Value,
12811}
12812impl From<&View> for View {
12813    fn from(value: &View) -> Self {
12814        value.clone()
12815    }
12816}
12817impl View {
12818    pub fn builder() -> builder::View {
12819        builder::View::default()
12820    }
12821}
12822///Find query for view components
12823#[derive(Clone, Debug, Deserialize, Serialize)]
12824#[serde(deny_unknown_fields)]
12825pub struct ViewDefinitionsFind {
12826    ///the collection where the query is applied
12827    pub coll: String,
12828    #[serde(default, skip_serializing_if = "Option::is_none")]
12829    pub projection: Option<DataProjection>,
12830    pub query: DataQuery,
12831}
12832impl From<&ViewDefinitionsFind> for ViewDefinitionsFind {
12833    fn from(value: &ViewDefinitionsFind) -> Self {
12834        value.clone()
12835    }
12836}
12837impl ViewDefinitionsFind {
12838    pub fn builder() -> builder::ViewDefinitionsFind {
12839        builder::ViewDefinitionsFind::default()
12840    }
12841}
12842///Element of type Wrap
12843#[derive(Clone, Debug, Deserialize, Serialize)]
12844#[serde(deny_unknown_fields)]
12845pub struct Wrap {
12846    #[serde(default, skip_serializing_if = "Option::is_none")]
12847    pub alignment: Option<StylesWrapAlignment>,
12848    ///The children of the wrap.
12849    pub children: Vec<LenraComponent>,
12850    #[serde(
12851        rename = "crossAxisAlignment",
12852        default,
12853        skip_serializing_if = "Option::is_none"
12854    )]
12855    pub cross_axis_alignment: Option<StylesWrapCrossAlignment>,
12856    #[serde(default, skip_serializing_if = "Option::is_none")]
12857    pub direction: Option<StylesDirection>,
12858    #[serde(
12859        rename = "horizontalDirection",
12860        default,
12861        skip_serializing_if = "Option::is_none"
12862    )]
12863    pub horizontal_direction: Option<StylesTextDirection>,
12864    #[serde(rename = "runAlignment", default, skip_serializing_if = "Option::is_none")]
12865    pub run_alignment: Option<StylesWrapAlignment>,
12866    #[serde(rename = "runSpacing", default, skip_serializing_if = "Option::is_none")]
12867    pub run_spacing: Option<f64>,
12868    #[serde(default, skip_serializing_if = "Option::is_none")]
12869    pub spacing: Option<f64>,
12870    ///The identifier of the component
12871    #[serde(rename = "_type")]
12872    pub type_: serde_json::Value,
12873    #[serde(
12874        rename = "verticalDirection",
12875        default,
12876        skip_serializing_if = "Option::is_none"
12877    )]
12878    pub vertical_direction: Option<StylesVerticalDirection>,
12879}
12880impl From<&Wrap> for Wrap {
12881    fn from(value: &Wrap) -> Self {
12882        value.clone()
12883    }
12884}
12885impl Wrap {
12886    pub fn builder() -> builder::Wrap {
12887        builder::Wrap::default()
12888    }
12889}
12890pub mod builder {
12891    #[derive(Clone, Debug)]
12892    pub struct Actionable {
12893        child: Result<super::LenraComponent, String>,
12894        on_double_pressed: Result<Option<super::Listener>, String>,
12895        on_hovered: Result<Option<super::Listener>, String>,
12896        on_long_pressed: Result<Option<super::Listener>, String>,
12897        on_pressed: Result<Option<super::Listener>, String>,
12898        on_pressed_cancel: Result<Option<super::Listener>, String>,
12899        submit: Result<Option<bool>, String>,
12900        type_: Result<serde_json::Value, String>,
12901    }
12902    impl Default for Actionable {
12903        fn default() -> Self {
12904            Self {
12905                child: Err("no value supplied for child".to_string()),
12906                on_double_pressed: Ok(Default::default()),
12907                on_hovered: Ok(Default::default()),
12908                on_long_pressed: Ok(Default::default()),
12909                on_pressed: Ok(Default::default()),
12910                on_pressed_cancel: Ok(Default::default()),
12911                submit: Ok(Default::default()),
12912                type_: Err("no value supplied for type_".to_string()),
12913            }
12914        }
12915    }
12916    impl Actionable {
12917        pub fn child<T>(mut self, value: T) -> Self
12918        where
12919            T: std::convert::TryInto<super::LenraComponent>,
12920            T::Error: std::fmt::Display,
12921        {
12922            self
12923                .child = value
12924                .try_into()
12925                .map_err(|e| {
12926                    format!("error converting supplied value for child: {}", e)
12927                });
12928            self
12929        }
12930        pub fn on_double_pressed<T>(mut self, value: T) -> Self
12931        where
12932            T: std::convert::TryInto<Option<super::Listener>>,
12933            T::Error: std::fmt::Display,
12934        {
12935            self
12936                .on_double_pressed = value
12937                .try_into()
12938                .map_err(|e| {
12939                    format!(
12940                        "error converting supplied value for on_double_pressed: {}", e
12941                    )
12942                });
12943            self
12944        }
12945        pub fn on_hovered<T>(mut self, value: T) -> Self
12946        where
12947            T: std::convert::TryInto<Option<super::Listener>>,
12948            T::Error: std::fmt::Display,
12949        {
12950            self
12951                .on_hovered = value
12952                .try_into()
12953                .map_err(|e| {
12954                    format!("error converting supplied value for on_hovered: {}", e)
12955                });
12956            self
12957        }
12958        pub fn on_long_pressed<T>(mut self, value: T) -> Self
12959        where
12960            T: std::convert::TryInto<Option<super::Listener>>,
12961            T::Error: std::fmt::Display,
12962        {
12963            self
12964                .on_long_pressed = value
12965                .try_into()
12966                .map_err(|e| {
12967                    format!("error converting supplied value for on_long_pressed: {}", e)
12968                });
12969            self
12970        }
12971        pub fn on_pressed<T>(mut self, value: T) -> Self
12972        where
12973            T: std::convert::TryInto<Option<super::Listener>>,
12974            T::Error: std::fmt::Display,
12975        {
12976            self
12977                .on_pressed = value
12978                .try_into()
12979                .map_err(|e| {
12980                    format!("error converting supplied value for on_pressed: {}", e)
12981                });
12982            self
12983        }
12984        pub fn on_pressed_cancel<T>(mut self, value: T) -> Self
12985        where
12986            T: std::convert::TryInto<Option<super::Listener>>,
12987            T::Error: std::fmt::Display,
12988        {
12989            self
12990                .on_pressed_cancel = value
12991                .try_into()
12992                .map_err(|e| {
12993                    format!(
12994                        "error converting supplied value for on_pressed_cancel: {}", e
12995                    )
12996                });
12997            self
12998        }
12999        pub fn submit<T>(mut self, value: T) -> Self
13000        where
13001            T: std::convert::TryInto<Option<bool>>,
13002            T::Error: std::fmt::Display,
13003        {
13004            self
13005                .submit = value
13006                .try_into()
13007                .map_err(|e| {
13008                    format!("error converting supplied value for submit: {}", e)
13009                });
13010            self
13011        }
13012        pub fn type_<T>(mut self, value: T) -> Self
13013        where
13014            T: std::convert::TryInto<serde_json::Value>,
13015            T::Error: std::fmt::Display,
13016        {
13017            self
13018                .type_ = value
13019                .try_into()
13020                .map_err(|e| {
13021                    format!("error converting supplied value for type_: {}", e)
13022                });
13023            self
13024        }
13025    }
13026    impl std::convert::TryFrom<Actionable> for super::Actionable {
13027        type Error = String;
13028        fn try_from(value: Actionable) -> Result<Self, String> {
13029            Ok(Self {
13030                child: value.child?,
13031                on_double_pressed: value.on_double_pressed?,
13032                on_hovered: value.on_hovered?,
13033                on_long_pressed: value.on_long_pressed?,
13034                on_pressed: value.on_pressed?,
13035                on_pressed_cancel: value.on_pressed_cancel?,
13036                submit: value.submit?,
13037                type_: value.type_?,
13038            })
13039        }
13040    }
13041    impl From<super::Actionable> for Actionable {
13042        fn from(value: super::Actionable) -> Self {
13043            Self {
13044                child: Ok(value.child),
13045                on_double_pressed: Ok(value.on_double_pressed),
13046                on_hovered: Ok(value.on_hovered),
13047                on_long_pressed: Ok(value.on_long_pressed),
13048                on_pressed: Ok(value.on_pressed),
13049                on_pressed_cancel: Ok(value.on_pressed_cancel),
13050                submit: Ok(value.submit),
13051                type_: Ok(value.type_),
13052            }
13053        }
13054    }
13055    #[derive(Clone, Debug)]
13056    pub struct Button {
13057        disabled: Result<Option<bool>, String>,
13058        left_icon: Result<Option<super::Icon>, String>,
13059        main_style: Result<Option<super::StylesStyle>, String>,
13060        on_pressed: Result<Option<super::Listener>, String>,
13061        right_icon: Result<Option<super::Icon>, String>,
13062        size: Result<Option<super::StylesSize>, String>,
13063        submit: Result<Option<bool>, String>,
13064        text: Result<String, String>,
13065        type_: Result<serde_json::Value, String>,
13066    }
13067    impl Default for Button {
13068        fn default() -> Self {
13069            Self {
13070                disabled: Ok(Default::default()),
13071                left_icon: Ok(Default::default()),
13072                main_style: Ok(Default::default()),
13073                on_pressed: Ok(Default::default()),
13074                right_icon: Ok(Default::default()),
13075                size: Ok(Default::default()),
13076                submit: Ok(Default::default()),
13077                text: Err("no value supplied for text".to_string()),
13078                type_: Err("no value supplied for type_".to_string()),
13079            }
13080        }
13081    }
13082    impl Button {
13083        pub fn disabled<T>(mut self, value: T) -> Self
13084        where
13085            T: std::convert::TryInto<Option<bool>>,
13086            T::Error: std::fmt::Display,
13087        {
13088            self
13089                .disabled = value
13090                .try_into()
13091                .map_err(|e| {
13092                    format!("error converting supplied value for disabled: {}", e)
13093                });
13094            self
13095        }
13096        pub fn left_icon<T>(mut self, value: T) -> Self
13097        where
13098            T: std::convert::TryInto<Option<super::Icon>>,
13099            T::Error: std::fmt::Display,
13100        {
13101            self
13102                .left_icon = value
13103                .try_into()
13104                .map_err(|e| {
13105                    format!("error converting supplied value for left_icon: {}", e)
13106                });
13107            self
13108        }
13109        pub fn main_style<T>(mut self, value: T) -> Self
13110        where
13111            T: std::convert::TryInto<Option<super::StylesStyle>>,
13112            T::Error: std::fmt::Display,
13113        {
13114            self
13115                .main_style = value
13116                .try_into()
13117                .map_err(|e| {
13118                    format!("error converting supplied value for main_style: {}", e)
13119                });
13120            self
13121        }
13122        pub fn on_pressed<T>(mut self, value: T) -> Self
13123        where
13124            T: std::convert::TryInto<Option<super::Listener>>,
13125            T::Error: std::fmt::Display,
13126        {
13127            self
13128                .on_pressed = value
13129                .try_into()
13130                .map_err(|e| {
13131                    format!("error converting supplied value for on_pressed: {}", e)
13132                });
13133            self
13134        }
13135        pub fn right_icon<T>(mut self, value: T) -> Self
13136        where
13137            T: std::convert::TryInto<Option<super::Icon>>,
13138            T::Error: std::fmt::Display,
13139        {
13140            self
13141                .right_icon = value
13142                .try_into()
13143                .map_err(|e| {
13144                    format!("error converting supplied value for right_icon: {}", e)
13145                });
13146            self
13147        }
13148        pub fn size<T>(mut self, value: T) -> Self
13149        where
13150            T: std::convert::TryInto<Option<super::StylesSize>>,
13151            T::Error: std::fmt::Display,
13152        {
13153            self
13154                .size = value
13155                .try_into()
13156                .map_err(|e| format!("error converting supplied value for size: {}", e));
13157            self
13158        }
13159        pub fn submit<T>(mut self, value: T) -> Self
13160        where
13161            T: std::convert::TryInto<Option<bool>>,
13162            T::Error: std::fmt::Display,
13163        {
13164            self
13165                .submit = value
13166                .try_into()
13167                .map_err(|e| {
13168                    format!("error converting supplied value for submit: {}", e)
13169                });
13170            self
13171        }
13172        pub fn text<T>(mut self, value: T) -> Self
13173        where
13174            T: std::convert::TryInto<String>,
13175            T::Error: std::fmt::Display,
13176        {
13177            self
13178                .text = value
13179                .try_into()
13180                .map_err(|e| format!("error converting supplied value for text: {}", e));
13181            self
13182        }
13183        pub fn type_<T>(mut self, value: T) -> Self
13184        where
13185            T: std::convert::TryInto<serde_json::Value>,
13186            T::Error: std::fmt::Display,
13187        {
13188            self
13189                .type_ = value
13190                .try_into()
13191                .map_err(|e| {
13192                    format!("error converting supplied value for type_: {}", e)
13193                });
13194            self
13195        }
13196    }
13197    impl std::convert::TryFrom<Button> for super::Button {
13198        type Error = String;
13199        fn try_from(value: Button) -> Result<Self, String> {
13200            Ok(Self {
13201                disabled: value.disabled?,
13202                left_icon: value.left_icon?,
13203                main_style: value.main_style?,
13204                on_pressed: value.on_pressed?,
13205                right_icon: value.right_icon?,
13206                size: value.size?,
13207                submit: value.submit?,
13208                text: value.text?,
13209                type_: value.type_?,
13210            })
13211        }
13212    }
13213    impl From<super::Button> for Button {
13214        fn from(value: super::Button) -> Self {
13215            Self {
13216                disabled: Ok(value.disabled),
13217                left_icon: Ok(value.left_icon),
13218                main_style: Ok(value.main_style),
13219                on_pressed: Ok(value.on_pressed),
13220                right_icon: Ok(value.right_icon),
13221                size: Ok(value.size),
13222                submit: Ok(value.submit),
13223                text: Ok(value.text),
13224                type_: Ok(value.type_),
13225            }
13226        }
13227    }
13228    #[derive(Clone, Debug)]
13229    pub struct Carousel {
13230        children: Result<Vec<super::LenraComponent>, String>,
13231        options: Result<Option<super::StylesCarouselOptions>, String>,
13232        type_: Result<serde_json::Value, String>,
13233    }
13234    impl Default for Carousel {
13235        fn default() -> Self {
13236            Self {
13237                children: Err("no value supplied for children".to_string()),
13238                options: Ok(Default::default()),
13239                type_: Err("no value supplied for type_".to_string()),
13240            }
13241        }
13242    }
13243    impl Carousel {
13244        pub fn children<T>(mut self, value: T) -> Self
13245        where
13246            T: std::convert::TryInto<Vec<super::LenraComponent>>,
13247            T::Error: std::fmt::Display,
13248        {
13249            self
13250                .children = value
13251                .try_into()
13252                .map_err(|e| {
13253                    format!("error converting supplied value for children: {}", e)
13254                });
13255            self
13256        }
13257        pub fn options<T>(mut self, value: T) -> Self
13258        where
13259            T: std::convert::TryInto<Option<super::StylesCarouselOptions>>,
13260            T::Error: std::fmt::Display,
13261        {
13262            self
13263                .options = value
13264                .try_into()
13265                .map_err(|e| {
13266                    format!("error converting supplied value for options: {}", e)
13267                });
13268            self
13269        }
13270        pub fn type_<T>(mut self, value: T) -> Self
13271        where
13272            T: std::convert::TryInto<serde_json::Value>,
13273            T::Error: std::fmt::Display,
13274        {
13275            self
13276                .type_ = value
13277                .try_into()
13278                .map_err(|e| {
13279                    format!("error converting supplied value for type_: {}", e)
13280                });
13281            self
13282        }
13283    }
13284    impl std::convert::TryFrom<Carousel> for super::Carousel {
13285        type Error = String;
13286        fn try_from(value: Carousel) -> Result<Self, String> {
13287            Ok(Self {
13288                children: value.children?,
13289                options: value.options?,
13290                type_: value.type_?,
13291            })
13292        }
13293    }
13294    impl From<super::Carousel> for Carousel {
13295        fn from(value: super::Carousel) -> Self {
13296            Self {
13297                children: Ok(value.children),
13298                options: Ok(value.options),
13299                type_: Ok(value.type_),
13300            }
13301        }
13302    }
13303    #[derive(Clone, Debug)]
13304    pub struct Checkbox {
13305        autofocus: Result<Option<bool>, String>,
13306        material_tap_target_size: Result<
13307            Option<super::StylesMaterialTapTargetSize>,
13308            String,
13309        >,
13310        name: Result<Option<String>, String>,
13311        on_pressed: Result<Option<super::Listener>, String>,
13312        style: Result<Option<super::StylesCheckboxStyle>, String>,
13313        tristate: Result<Option<bool>, String>,
13314        type_: Result<serde_json::Value, String>,
13315        value: Result<bool, String>,
13316    }
13317    impl Default for Checkbox {
13318        fn default() -> Self {
13319            Self {
13320                autofocus: Ok(Default::default()),
13321                material_tap_target_size: Ok(Default::default()),
13322                name: Ok(Default::default()),
13323                on_pressed: Ok(Default::default()),
13324                style: Ok(Default::default()),
13325                tristate: Ok(Default::default()),
13326                type_: Err("no value supplied for type_".to_string()),
13327                value: Err("no value supplied for value".to_string()),
13328            }
13329        }
13330    }
13331    impl Checkbox {
13332        pub fn autofocus<T>(mut self, value: T) -> Self
13333        where
13334            T: std::convert::TryInto<Option<bool>>,
13335            T::Error: std::fmt::Display,
13336        {
13337            self
13338                .autofocus = value
13339                .try_into()
13340                .map_err(|e| {
13341                    format!("error converting supplied value for autofocus: {}", e)
13342                });
13343            self
13344        }
13345        pub fn material_tap_target_size<T>(mut self, value: T) -> Self
13346        where
13347            T: std::convert::TryInto<Option<super::StylesMaterialTapTargetSize>>,
13348            T::Error: std::fmt::Display,
13349        {
13350            self
13351                .material_tap_target_size = value
13352                .try_into()
13353                .map_err(|e| {
13354                    format!(
13355                        "error converting supplied value for material_tap_target_size: {}",
13356                        e
13357                    )
13358                });
13359            self
13360        }
13361        pub fn name<T>(mut self, value: T) -> Self
13362        where
13363            T: std::convert::TryInto<Option<String>>,
13364            T::Error: std::fmt::Display,
13365        {
13366            self
13367                .name = value
13368                .try_into()
13369                .map_err(|e| format!("error converting supplied value for name: {}", e));
13370            self
13371        }
13372        pub fn on_pressed<T>(mut self, value: T) -> Self
13373        where
13374            T: std::convert::TryInto<Option<super::Listener>>,
13375            T::Error: std::fmt::Display,
13376        {
13377            self
13378                .on_pressed = value
13379                .try_into()
13380                .map_err(|e| {
13381                    format!("error converting supplied value for on_pressed: {}", e)
13382                });
13383            self
13384        }
13385        pub fn style<T>(mut self, value: T) -> Self
13386        where
13387            T: std::convert::TryInto<Option<super::StylesCheckboxStyle>>,
13388            T::Error: std::fmt::Display,
13389        {
13390            self
13391                .style = value
13392                .try_into()
13393                .map_err(|e| {
13394                    format!("error converting supplied value for style: {}", e)
13395                });
13396            self
13397        }
13398        pub fn tristate<T>(mut self, value: T) -> Self
13399        where
13400            T: std::convert::TryInto<Option<bool>>,
13401            T::Error: std::fmt::Display,
13402        {
13403            self
13404                .tristate = value
13405                .try_into()
13406                .map_err(|e| {
13407                    format!("error converting supplied value for tristate: {}", e)
13408                });
13409            self
13410        }
13411        pub fn type_<T>(mut self, value: T) -> Self
13412        where
13413            T: std::convert::TryInto<serde_json::Value>,
13414            T::Error: std::fmt::Display,
13415        {
13416            self
13417                .type_ = value
13418                .try_into()
13419                .map_err(|e| {
13420                    format!("error converting supplied value for type_: {}", e)
13421                });
13422            self
13423        }
13424        pub fn value<T>(mut self, value: T) -> Self
13425        where
13426            T: std::convert::TryInto<bool>,
13427            T::Error: std::fmt::Display,
13428        {
13429            self
13430                .value = value
13431                .try_into()
13432                .map_err(|e| {
13433                    format!("error converting supplied value for value: {}", e)
13434                });
13435            self
13436        }
13437    }
13438    impl std::convert::TryFrom<Checkbox> for super::Checkbox {
13439        type Error = String;
13440        fn try_from(value: Checkbox) -> Result<Self, String> {
13441            Ok(Self {
13442                autofocus: value.autofocus?,
13443                material_tap_target_size: value.material_tap_target_size?,
13444                name: value.name?,
13445                on_pressed: value.on_pressed?,
13446                style: value.style?,
13447                tristate: value.tristate?,
13448                type_: value.type_?,
13449                value: value.value?,
13450            })
13451        }
13452    }
13453    impl From<super::Checkbox> for Checkbox {
13454        fn from(value: super::Checkbox) -> Self {
13455            Self {
13456                autofocus: Ok(value.autofocus),
13457                material_tap_target_size: Ok(value.material_tap_target_size),
13458                name: Ok(value.name),
13459                on_pressed: Ok(value.on_pressed),
13460                style: Ok(value.style),
13461                tristate: Ok(value.tristate),
13462                type_: Ok(value.type_),
13463                value: Ok(value.value),
13464            }
13465        }
13466    }
13467    #[derive(Clone, Debug)]
13468    pub struct Container {
13469        alignment: Result<Option<super::StylesAlignment>, String>,
13470        border: Result<Option<super::StylesBorder>, String>,
13471        child: Result<Option<Box<super::LenraComponent>>, String>,
13472        constraints: Result<Option<super::StylesBoxConstraints>, String>,
13473        decoration: Result<Option<super::StylesBoxDecoration>, String>,
13474        padding: Result<Option<super::StylesPadding>, String>,
13475        type_: Result<serde_json::Value, String>,
13476    }
13477    impl Default for Container {
13478        fn default() -> Self {
13479            Self {
13480                alignment: Ok(Default::default()),
13481                border: Ok(Default::default()),
13482                child: Ok(Default::default()),
13483                constraints: Ok(Default::default()),
13484                decoration: Ok(Default::default()),
13485                padding: Ok(Default::default()),
13486                type_: Err("no value supplied for type_".to_string()),
13487            }
13488        }
13489    }
13490    impl Container {
13491        pub fn alignment<T>(mut self, value: T) -> Self
13492        where
13493            T: std::convert::TryInto<Option<super::StylesAlignment>>,
13494            T::Error: std::fmt::Display,
13495        {
13496            self
13497                .alignment = value
13498                .try_into()
13499                .map_err(|e| {
13500                    format!("error converting supplied value for alignment: {}", e)
13501                });
13502            self
13503        }
13504        pub fn border<T>(mut self, value: T) -> Self
13505        where
13506            T: std::convert::TryInto<Option<super::StylesBorder>>,
13507            T::Error: std::fmt::Display,
13508        {
13509            self
13510                .border = value
13511                .try_into()
13512                .map_err(|e| {
13513                    format!("error converting supplied value for border: {}", e)
13514                });
13515            self
13516        }
13517        pub fn child<T>(mut self, value: T) -> Self
13518        where
13519            T: std::convert::TryInto<Option<Box<super::LenraComponent>>>,
13520            T::Error: std::fmt::Display,
13521        {
13522            self
13523                .child = value
13524                .try_into()
13525                .map_err(|e| {
13526                    format!("error converting supplied value for child: {}", e)
13527                });
13528            self
13529        }
13530        pub fn constraints<T>(mut self, value: T) -> Self
13531        where
13532            T: std::convert::TryInto<Option<super::StylesBoxConstraints>>,
13533            T::Error: std::fmt::Display,
13534        {
13535            self
13536                .constraints = value
13537                .try_into()
13538                .map_err(|e| {
13539                    format!("error converting supplied value for constraints: {}", e)
13540                });
13541            self
13542        }
13543        pub fn decoration<T>(mut self, value: T) -> Self
13544        where
13545            T: std::convert::TryInto<Option<super::StylesBoxDecoration>>,
13546            T::Error: std::fmt::Display,
13547        {
13548            self
13549                .decoration = value
13550                .try_into()
13551                .map_err(|e| {
13552                    format!("error converting supplied value for decoration: {}", e)
13553                });
13554            self
13555        }
13556        pub fn padding<T>(mut self, value: T) -> Self
13557        where
13558            T: std::convert::TryInto<Option<super::StylesPadding>>,
13559            T::Error: std::fmt::Display,
13560        {
13561            self
13562                .padding = value
13563                .try_into()
13564                .map_err(|e| {
13565                    format!("error converting supplied value for padding: {}", e)
13566                });
13567            self
13568        }
13569        pub fn type_<T>(mut self, value: T) -> Self
13570        where
13571            T: std::convert::TryInto<serde_json::Value>,
13572            T::Error: std::fmt::Display,
13573        {
13574            self
13575                .type_ = value
13576                .try_into()
13577                .map_err(|e| {
13578                    format!("error converting supplied value for type_: {}", e)
13579                });
13580            self
13581        }
13582    }
13583    impl std::convert::TryFrom<Container> for super::Container {
13584        type Error = String;
13585        fn try_from(value: Container) -> Result<Self, String> {
13586            Ok(Self {
13587                alignment: value.alignment?,
13588                border: value.border?,
13589                child: value.child?,
13590                constraints: value.constraints?,
13591                decoration: value.decoration?,
13592                padding: value.padding?,
13593                type_: value.type_?,
13594            })
13595        }
13596    }
13597    impl From<super::Container> for Container {
13598        fn from(value: super::Container) -> Self {
13599            Self {
13600                alignment: Ok(value.alignment),
13601                border: Ok(value.border),
13602                child: Ok(value.child),
13603                constraints: Ok(value.constraints),
13604                decoration: Ok(value.decoration),
13605                padding: Ok(value.padding),
13606                type_: Ok(value.type_),
13607            }
13608        }
13609    }
13610    #[derive(Clone, Debug)]
13611    pub struct DropdownButton {
13612        child: Result<Box<super::LenraComponent>, String>,
13613        disabled: Result<Option<bool>, String>,
13614        icon: Result<Option<super::Icon>, String>,
13615        main_style: Result<Option<super::StylesStyle>, String>,
13616        size: Result<Option<super::StylesSize>, String>,
13617        text: Result<String, String>,
13618        type_: Result<serde_json::Value, String>,
13619    }
13620    impl Default for DropdownButton {
13621        fn default() -> Self {
13622            Self {
13623                child: Err("no value supplied for child".to_string()),
13624                disabled: Ok(Default::default()),
13625                icon: Ok(Default::default()),
13626                main_style: Ok(Default::default()),
13627                size: Ok(Default::default()),
13628                text: Err("no value supplied for text".to_string()),
13629                type_: Err("no value supplied for type_".to_string()),
13630            }
13631        }
13632    }
13633    impl DropdownButton {
13634        pub fn child<T>(mut self, value: T) -> Self
13635        where
13636            T: std::convert::TryInto<Box<super::LenraComponent>>,
13637            T::Error: std::fmt::Display,
13638        {
13639            self
13640                .child = value
13641                .try_into()
13642                .map_err(|e| {
13643                    format!("error converting supplied value for child: {}", e)
13644                });
13645            self
13646        }
13647        pub fn disabled<T>(mut self, value: T) -> Self
13648        where
13649            T: std::convert::TryInto<Option<bool>>,
13650            T::Error: std::fmt::Display,
13651        {
13652            self
13653                .disabled = value
13654                .try_into()
13655                .map_err(|e| {
13656                    format!("error converting supplied value for disabled: {}", e)
13657                });
13658            self
13659        }
13660        pub fn icon<T>(mut self, value: T) -> Self
13661        where
13662            T: std::convert::TryInto<Option<super::Icon>>,
13663            T::Error: std::fmt::Display,
13664        {
13665            self
13666                .icon = value
13667                .try_into()
13668                .map_err(|e| format!("error converting supplied value for icon: {}", e));
13669            self
13670        }
13671        pub fn main_style<T>(mut self, value: T) -> Self
13672        where
13673            T: std::convert::TryInto<Option<super::StylesStyle>>,
13674            T::Error: std::fmt::Display,
13675        {
13676            self
13677                .main_style = value
13678                .try_into()
13679                .map_err(|e| {
13680                    format!("error converting supplied value for main_style: {}", e)
13681                });
13682            self
13683        }
13684        pub fn size<T>(mut self, value: T) -> Self
13685        where
13686            T: std::convert::TryInto<Option<super::StylesSize>>,
13687            T::Error: std::fmt::Display,
13688        {
13689            self
13690                .size = value
13691                .try_into()
13692                .map_err(|e| format!("error converting supplied value for size: {}", e));
13693            self
13694        }
13695        pub fn text<T>(mut self, value: T) -> Self
13696        where
13697            T: std::convert::TryInto<String>,
13698            T::Error: std::fmt::Display,
13699        {
13700            self
13701                .text = value
13702                .try_into()
13703                .map_err(|e| format!("error converting supplied value for text: {}", e));
13704            self
13705        }
13706        pub fn type_<T>(mut self, value: T) -> Self
13707        where
13708            T: std::convert::TryInto<serde_json::Value>,
13709            T::Error: std::fmt::Display,
13710        {
13711            self
13712                .type_ = value
13713                .try_into()
13714                .map_err(|e| {
13715                    format!("error converting supplied value for type_: {}", e)
13716                });
13717            self
13718        }
13719    }
13720    impl std::convert::TryFrom<DropdownButton> for super::DropdownButton {
13721        type Error = String;
13722        fn try_from(value: DropdownButton) -> Result<Self, String> {
13723            Ok(Self {
13724                child: value.child?,
13725                disabled: value.disabled?,
13726                icon: value.icon?,
13727                main_style: value.main_style?,
13728                size: value.size?,
13729                text: value.text?,
13730                type_: value.type_?,
13731            })
13732        }
13733    }
13734    impl From<super::DropdownButton> for DropdownButton {
13735        fn from(value: super::DropdownButton) -> Self {
13736            Self {
13737                child: Ok(value.child),
13738                disabled: Ok(value.disabled),
13739                icon: Ok(value.icon),
13740                main_style: Ok(value.main_style),
13741                size: Ok(value.size),
13742                text: Ok(value.text),
13743                type_: Ok(value.type_),
13744            }
13745        }
13746    }
13747    #[derive(Clone, Debug)]
13748    pub struct Flex {
13749        children: Result<Vec<super::LenraComponent>, String>,
13750        cross_axis_alignment: Result<Option<super::FlexCrossAxisAlignment>, String>,
13751        direction: Result<Option<super::StylesDirection>, String>,
13752        fill_parent: Result<Option<bool>, String>,
13753        horizontal_direction: Result<Option<super::StylesTextDirection>, String>,
13754        main_axis_alignment: Result<Option<super::FlexMainAxisAlignment>, String>,
13755        padding: Result<Option<super::StylesPadding>, String>,
13756        scroll: Result<Option<bool>, String>,
13757        spacing: Result<Option<f64>, String>,
13758        text_baseline: Result<Option<super::StylesTextBaseline>, String>,
13759        type_: Result<serde_json::Value, String>,
13760        vertical_direction: Result<Option<super::StylesVerticalDirection>, String>,
13761    }
13762    impl Default for Flex {
13763        fn default() -> Self {
13764            Self {
13765                children: Err("no value supplied for children".to_string()),
13766                cross_axis_alignment: Ok(Default::default()),
13767                direction: Ok(Default::default()),
13768                fill_parent: Ok(Default::default()),
13769                horizontal_direction: Ok(Default::default()),
13770                main_axis_alignment: Ok(Default::default()),
13771                padding: Ok(Default::default()),
13772                scroll: Ok(Default::default()),
13773                spacing: Ok(Default::default()),
13774                text_baseline: Ok(Default::default()),
13775                type_: Err("no value supplied for type_".to_string()),
13776                vertical_direction: Ok(Default::default()),
13777            }
13778        }
13779    }
13780    impl Flex {
13781        pub fn children<T>(mut self, value: T) -> Self
13782        where
13783            T: std::convert::TryInto<Vec<super::LenraComponent>>,
13784            T::Error: std::fmt::Display,
13785        {
13786            self
13787                .children = value
13788                .try_into()
13789                .map_err(|e| {
13790                    format!("error converting supplied value for children: {}", e)
13791                });
13792            self
13793        }
13794        pub fn cross_axis_alignment<T>(mut self, value: T) -> Self
13795        where
13796            T: std::convert::TryInto<Option<super::FlexCrossAxisAlignment>>,
13797            T::Error: std::fmt::Display,
13798        {
13799            self
13800                .cross_axis_alignment = value
13801                .try_into()
13802                .map_err(|e| {
13803                    format!(
13804                        "error converting supplied value for cross_axis_alignment: {}", e
13805                    )
13806                });
13807            self
13808        }
13809        pub fn direction<T>(mut self, value: T) -> Self
13810        where
13811            T: std::convert::TryInto<Option<super::StylesDirection>>,
13812            T::Error: std::fmt::Display,
13813        {
13814            self
13815                .direction = value
13816                .try_into()
13817                .map_err(|e| {
13818                    format!("error converting supplied value for direction: {}", e)
13819                });
13820            self
13821        }
13822        pub fn fill_parent<T>(mut self, value: T) -> Self
13823        where
13824            T: std::convert::TryInto<Option<bool>>,
13825            T::Error: std::fmt::Display,
13826        {
13827            self
13828                .fill_parent = value
13829                .try_into()
13830                .map_err(|e| {
13831                    format!("error converting supplied value for fill_parent: {}", e)
13832                });
13833            self
13834        }
13835        pub fn horizontal_direction<T>(mut self, value: T) -> Self
13836        where
13837            T: std::convert::TryInto<Option<super::StylesTextDirection>>,
13838            T::Error: std::fmt::Display,
13839        {
13840            self
13841                .horizontal_direction = value
13842                .try_into()
13843                .map_err(|e| {
13844                    format!(
13845                        "error converting supplied value for horizontal_direction: {}", e
13846                    )
13847                });
13848            self
13849        }
13850        pub fn main_axis_alignment<T>(mut self, value: T) -> Self
13851        where
13852            T: std::convert::TryInto<Option<super::FlexMainAxisAlignment>>,
13853            T::Error: std::fmt::Display,
13854        {
13855            self
13856                .main_axis_alignment = value
13857                .try_into()
13858                .map_err(|e| {
13859                    format!(
13860                        "error converting supplied value for main_axis_alignment: {}", e
13861                    )
13862                });
13863            self
13864        }
13865        pub fn padding<T>(mut self, value: T) -> Self
13866        where
13867            T: std::convert::TryInto<Option<super::StylesPadding>>,
13868            T::Error: std::fmt::Display,
13869        {
13870            self
13871                .padding = value
13872                .try_into()
13873                .map_err(|e| {
13874                    format!("error converting supplied value for padding: {}", e)
13875                });
13876            self
13877        }
13878        pub fn scroll<T>(mut self, value: T) -> Self
13879        where
13880            T: std::convert::TryInto<Option<bool>>,
13881            T::Error: std::fmt::Display,
13882        {
13883            self
13884                .scroll = value
13885                .try_into()
13886                .map_err(|e| {
13887                    format!("error converting supplied value for scroll: {}", e)
13888                });
13889            self
13890        }
13891        pub fn spacing<T>(mut self, value: T) -> Self
13892        where
13893            T: std::convert::TryInto<Option<f64>>,
13894            T::Error: std::fmt::Display,
13895        {
13896            self
13897                .spacing = value
13898                .try_into()
13899                .map_err(|e| {
13900                    format!("error converting supplied value for spacing: {}", e)
13901                });
13902            self
13903        }
13904        pub fn text_baseline<T>(mut self, value: T) -> Self
13905        where
13906            T: std::convert::TryInto<Option<super::StylesTextBaseline>>,
13907            T::Error: std::fmt::Display,
13908        {
13909            self
13910                .text_baseline = value
13911                .try_into()
13912                .map_err(|e| {
13913                    format!("error converting supplied value for text_baseline: {}", e)
13914                });
13915            self
13916        }
13917        pub fn type_<T>(mut self, value: T) -> Self
13918        where
13919            T: std::convert::TryInto<serde_json::Value>,
13920            T::Error: std::fmt::Display,
13921        {
13922            self
13923                .type_ = value
13924                .try_into()
13925                .map_err(|e| {
13926                    format!("error converting supplied value for type_: {}", e)
13927                });
13928            self
13929        }
13930        pub fn vertical_direction<T>(mut self, value: T) -> Self
13931        where
13932            T: std::convert::TryInto<Option<super::StylesVerticalDirection>>,
13933            T::Error: std::fmt::Display,
13934        {
13935            self
13936                .vertical_direction = value
13937                .try_into()
13938                .map_err(|e| {
13939                    format!(
13940                        "error converting supplied value for vertical_direction: {}", e
13941                    )
13942                });
13943            self
13944        }
13945    }
13946    impl std::convert::TryFrom<Flex> for super::Flex {
13947        type Error = String;
13948        fn try_from(value: Flex) -> Result<Self, String> {
13949            Ok(Self {
13950                children: value.children?,
13951                cross_axis_alignment: value.cross_axis_alignment?,
13952                direction: value.direction?,
13953                fill_parent: value.fill_parent?,
13954                horizontal_direction: value.horizontal_direction?,
13955                main_axis_alignment: value.main_axis_alignment?,
13956                padding: value.padding?,
13957                scroll: value.scroll?,
13958                spacing: value.spacing?,
13959                text_baseline: value.text_baseline?,
13960                type_: value.type_?,
13961                vertical_direction: value.vertical_direction?,
13962            })
13963        }
13964    }
13965    impl From<super::Flex> for Flex {
13966        fn from(value: super::Flex) -> Self {
13967            Self {
13968                children: Ok(value.children),
13969                cross_axis_alignment: Ok(value.cross_axis_alignment),
13970                direction: Ok(value.direction),
13971                fill_parent: Ok(value.fill_parent),
13972                horizontal_direction: Ok(value.horizontal_direction),
13973                main_axis_alignment: Ok(value.main_axis_alignment),
13974                padding: Ok(value.padding),
13975                scroll: Ok(value.scroll),
13976                spacing: Ok(value.spacing),
13977                text_baseline: Ok(value.text_baseline),
13978                type_: Ok(value.type_),
13979                vertical_direction: Ok(value.vertical_direction),
13980            }
13981        }
13982    }
13983    #[derive(Clone, Debug)]
13984    pub struct Flexible {
13985        child: Result<Box<super::LenraComponent>, String>,
13986        fit: Result<Option<super::StylesFlexFit>, String>,
13987        flex: Result<Option<i64>, String>,
13988        type_: Result<serde_json::Value, String>,
13989    }
13990    impl Default for Flexible {
13991        fn default() -> Self {
13992            Self {
13993                child: Err("no value supplied for child".to_string()),
13994                fit: Ok(Default::default()),
13995                flex: Ok(Default::default()),
13996                type_: Err("no value supplied for type_".to_string()),
13997            }
13998        }
13999    }
14000    impl Flexible {
14001        pub fn child<T>(mut self, value: T) -> Self
14002        where
14003            T: std::convert::TryInto<Box<super::LenraComponent>>,
14004            T::Error: std::fmt::Display,
14005        {
14006            self
14007                .child = value
14008                .try_into()
14009                .map_err(|e| {
14010                    format!("error converting supplied value for child: {}", e)
14011                });
14012            self
14013        }
14014        pub fn fit<T>(mut self, value: T) -> Self
14015        where
14016            T: std::convert::TryInto<Option<super::StylesFlexFit>>,
14017            T::Error: std::fmt::Display,
14018        {
14019            self
14020                .fit = value
14021                .try_into()
14022                .map_err(|e| format!("error converting supplied value for fit: {}", e));
14023            self
14024        }
14025        pub fn flex<T>(mut self, value: T) -> Self
14026        where
14027            T: std::convert::TryInto<Option<i64>>,
14028            T::Error: std::fmt::Display,
14029        {
14030            self
14031                .flex = value
14032                .try_into()
14033                .map_err(|e| format!("error converting supplied value for flex: {}", e));
14034            self
14035        }
14036        pub fn type_<T>(mut self, value: T) -> Self
14037        where
14038            T: std::convert::TryInto<serde_json::Value>,
14039            T::Error: std::fmt::Display,
14040        {
14041            self
14042                .type_ = value
14043                .try_into()
14044                .map_err(|e| {
14045                    format!("error converting supplied value for type_: {}", e)
14046                });
14047            self
14048        }
14049    }
14050    impl std::convert::TryFrom<Flexible> for super::Flexible {
14051        type Error = String;
14052        fn try_from(value: Flexible) -> Result<Self, String> {
14053            Ok(Self {
14054                child: value.child?,
14055                fit: value.fit?,
14056                flex: value.flex?,
14057                type_: value.type_?,
14058            })
14059        }
14060    }
14061    impl From<super::Flexible> for Flexible {
14062        fn from(value: super::Flexible) -> Self {
14063            Self {
14064                child: Ok(value.child),
14065                fit: Ok(value.fit),
14066                flex: Ok(value.flex),
14067                type_: Ok(value.type_),
14068            }
14069        }
14070    }
14071    #[derive(Clone, Debug)]
14072    pub struct Form {
14073        child: Result<Box<super::LenraComponent>, String>,
14074        on_submit: Result<Option<super::Listener>, String>,
14075        type_: Result<serde_json::Value, String>,
14076    }
14077    impl Default for Form {
14078        fn default() -> Self {
14079            Self {
14080                child: Err("no value supplied for child".to_string()),
14081                on_submit: Ok(Default::default()),
14082                type_: Err("no value supplied for type_".to_string()),
14083            }
14084        }
14085    }
14086    impl Form {
14087        pub fn child<T>(mut self, value: T) -> Self
14088        where
14089            T: std::convert::TryInto<Box<super::LenraComponent>>,
14090            T::Error: std::fmt::Display,
14091        {
14092            self
14093                .child = value
14094                .try_into()
14095                .map_err(|e| {
14096                    format!("error converting supplied value for child: {}", e)
14097                });
14098            self
14099        }
14100        pub fn on_submit<T>(mut self, value: T) -> Self
14101        where
14102            T: std::convert::TryInto<Option<super::Listener>>,
14103            T::Error: std::fmt::Display,
14104        {
14105            self
14106                .on_submit = value
14107                .try_into()
14108                .map_err(|e| {
14109                    format!("error converting supplied value for on_submit: {}", e)
14110                });
14111            self
14112        }
14113        pub fn type_<T>(mut self, value: T) -> Self
14114        where
14115            T: std::convert::TryInto<serde_json::Value>,
14116            T::Error: std::fmt::Display,
14117        {
14118            self
14119                .type_ = value
14120                .try_into()
14121                .map_err(|e| {
14122                    format!("error converting supplied value for type_: {}", e)
14123                });
14124            self
14125        }
14126    }
14127    impl std::convert::TryFrom<Form> for super::Form {
14128        type Error = String;
14129        fn try_from(value: Form) -> Result<Self, String> {
14130            Ok(Self {
14131                child: value.child?,
14132                on_submit: value.on_submit?,
14133                type_: value.type_?,
14134            })
14135        }
14136    }
14137    impl From<super::Form> for Form {
14138        fn from(value: super::Form) -> Self {
14139            Self {
14140                child: Ok(value.child),
14141                on_submit: Ok(value.on_submit),
14142                type_: Ok(value.type_),
14143            }
14144        }
14145    }
14146    #[derive(Clone, Debug)]
14147    pub struct Icon {
14148        color: Result<Option<super::StylesColor>, String>,
14149        semantic_label: Result<Option<String>, String>,
14150        size: Result<Option<f64>, String>,
14151        style: Result<Option<super::IconDefinitionsIconStyle>, String>,
14152        type_: Result<serde_json::Value, String>,
14153        value: Result<super::StylesIconName, String>,
14154    }
14155    impl Default for Icon {
14156        fn default() -> Self {
14157            Self {
14158                color: Ok(Default::default()),
14159                semantic_label: Ok(Default::default()),
14160                size: Ok(Default::default()),
14161                style: Ok(Default::default()),
14162                type_: Err("no value supplied for type_".to_string()),
14163                value: Err("no value supplied for value".to_string()),
14164            }
14165        }
14166    }
14167    impl Icon {
14168        pub fn color<T>(mut self, value: T) -> Self
14169        where
14170            T: std::convert::TryInto<Option<super::StylesColor>>,
14171            T::Error: std::fmt::Display,
14172        {
14173            self
14174                .color = value
14175                .try_into()
14176                .map_err(|e| {
14177                    format!("error converting supplied value for color: {}", e)
14178                });
14179            self
14180        }
14181        pub fn semantic_label<T>(mut self, value: T) -> Self
14182        where
14183            T: std::convert::TryInto<Option<String>>,
14184            T::Error: std::fmt::Display,
14185        {
14186            self
14187                .semantic_label = value
14188                .try_into()
14189                .map_err(|e| {
14190                    format!("error converting supplied value for semantic_label: {}", e)
14191                });
14192            self
14193        }
14194        pub fn size<T>(mut self, value: T) -> Self
14195        where
14196            T: std::convert::TryInto<Option<f64>>,
14197            T::Error: std::fmt::Display,
14198        {
14199            self
14200                .size = value
14201                .try_into()
14202                .map_err(|e| format!("error converting supplied value for size: {}", e));
14203            self
14204        }
14205        pub fn style<T>(mut self, value: T) -> Self
14206        where
14207            T: std::convert::TryInto<Option<super::IconDefinitionsIconStyle>>,
14208            T::Error: std::fmt::Display,
14209        {
14210            self
14211                .style = value
14212                .try_into()
14213                .map_err(|e| {
14214                    format!("error converting supplied value for style: {}", e)
14215                });
14216            self
14217        }
14218        pub fn type_<T>(mut self, value: T) -> Self
14219        where
14220            T: std::convert::TryInto<serde_json::Value>,
14221            T::Error: std::fmt::Display,
14222        {
14223            self
14224                .type_ = value
14225                .try_into()
14226                .map_err(|e| {
14227                    format!("error converting supplied value for type_: {}", e)
14228                });
14229            self
14230        }
14231        pub fn value<T>(mut self, value: T) -> Self
14232        where
14233            T: std::convert::TryInto<super::StylesIconName>,
14234            T::Error: std::fmt::Display,
14235        {
14236            self
14237                .value = value
14238                .try_into()
14239                .map_err(|e| {
14240                    format!("error converting supplied value for value: {}", e)
14241                });
14242            self
14243        }
14244    }
14245    impl std::convert::TryFrom<Icon> for super::Icon {
14246        type Error = String;
14247        fn try_from(value: Icon) -> Result<Self, String> {
14248            Ok(Self {
14249                color: value.color?,
14250                semantic_label: value.semantic_label?,
14251                size: value.size?,
14252                style: value.style?,
14253                type_: value.type_?,
14254                value: value.value?,
14255            })
14256        }
14257    }
14258    impl From<super::Icon> for Icon {
14259        fn from(value: super::Icon) -> Self {
14260            Self {
14261                color: Ok(value.color),
14262                semantic_label: Ok(value.semantic_label),
14263                size: Ok(value.size),
14264                style: Ok(value.style),
14265                type_: Ok(value.type_),
14266                value: Ok(value.value),
14267            }
14268        }
14269    }
14270    #[derive(Clone, Debug)]
14271    pub struct Image {
14272        alignment: Result<Option<super::StylesAlignment>, String>,
14273        center_slice: Result<Option<super::StylesRect>, String>,
14274        error_placeholder: Result<Option<Box<super::LenraComponent>>, String>,
14275        exclude_from_semantics: Result<Option<bool>, String>,
14276        filter_quality: Result<Option<super::StylesFilterQuality>, String>,
14277        fit: Result<Option<super::StylesBoxFit>, String>,
14278        frame_placeholder: Result<Option<Box<super::LenraComponent>>, String>,
14279        gapless_playback: Result<Option<bool>, String>,
14280        height: Result<Option<f64>, String>,
14281        is_anti_alias: Result<Option<bool>, String>,
14282        loading_placeholder: Result<Option<Box<super::LenraComponent>>, String>,
14283        repeat: Result<Option<super::StylesImageRepeat>, String>,
14284        semantic_label: Result<Option<String>, String>,
14285        src: Result<String, String>,
14286        type_: Result<serde_json::Value, String>,
14287        width: Result<Option<f64>, String>,
14288    }
14289    impl Default for Image {
14290        fn default() -> Self {
14291            Self {
14292                alignment: Ok(Default::default()),
14293                center_slice: Ok(Default::default()),
14294                error_placeholder: Ok(Default::default()),
14295                exclude_from_semantics: Ok(Default::default()),
14296                filter_quality: Ok(Default::default()),
14297                fit: Ok(Default::default()),
14298                frame_placeholder: Ok(Default::default()),
14299                gapless_playback: Ok(Default::default()),
14300                height: Ok(Default::default()),
14301                is_anti_alias: Ok(Default::default()),
14302                loading_placeholder: Ok(Default::default()),
14303                repeat: Ok(Default::default()),
14304                semantic_label: Ok(Default::default()),
14305                src: Err("no value supplied for src".to_string()),
14306                type_: Err("no value supplied for type_".to_string()),
14307                width: Ok(Default::default()),
14308            }
14309        }
14310    }
14311    impl Image {
14312        pub fn alignment<T>(mut self, value: T) -> Self
14313        where
14314            T: std::convert::TryInto<Option<super::StylesAlignment>>,
14315            T::Error: std::fmt::Display,
14316        {
14317            self
14318                .alignment = value
14319                .try_into()
14320                .map_err(|e| {
14321                    format!("error converting supplied value for alignment: {}", e)
14322                });
14323            self
14324        }
14325        pub fn center_slice<T>(mut self, value: T) -> Self
14326        where
14327            T: std::convert::TryInto<Option<super::StylesRect>>,
14328            T::Error: std::fmt::Display,
14329        {
14330            self
14331                .center_slice = value
14332                .try_into()
14333                .map_err(|e| {
14334                    format!("error converting supplied value for center_slice: {}", e)
14335                });
14336            self
14337        }
14338        pub fn error_placeholder<T>(mut self, value: T) -> Self
14339        where
14340            T: std::convert::TryInto<Option<Box<super::LenraComponent>>>,
14341            T::Error: std::fmt::Display,
14342        {
14343            self
14344                .error_placeholder = value
14345                .try_into()
14346                .map_err(|e| {
14347                    format!(
14348                        "error converting supplied value for error_placeholder: {}", e
14349                    )
14350                });
14351            self
14352        }
14353        pub fn exclude_from_semantics<T>(mut self, value: T) -> Self
14354        where
14355            T: std::convert::TryInto<Option<bool>>,
14356            T::Error: std::fmt::Display,
14357        {
14358            self
14359                .exclude_from_semantics = value
14360                .try_into()
14361                .map_err(|e| {
14362                    format!(
14363                        "error converting supplied value for exclude_from_semantics: {}",
14364                        e
14365                    )
14366                });
14367            self
14368        }
14369        pub fn filter_quality<T>(mut self, value: T) -> Self
14370        where
14371            T: std::convert::TryInto<Option<super::StylesFilterQuality>>,
14372            T::Error: std::fmt::Display,
14373        {
14374            self
14375                .filter_quality = value
14376                .try_into()
14377                .map_err(|e| {
14378                    format!("error converting supplied value for filter_quality: {}", e)
14379                });
14380            self
14381        }
14382        pub fn fit<T>(mut self, value: T) -> Self
14383        where
14384            T: std::convert::TryInto<Option<super::StylesBoxFit>>,
14385            T::Error: std::fmt::Display,
14386        {
14387            self
14388                .fit = value
14389                .try_into()
14390                .map_err(|e| format!("error converting supplied value for fit: {}", e));
14391            self
14392        }
14393        pub fn frame_placeholder<T>(mut self, value: T) -> Self
14394        where
14395            T: std::convert::TryInto<Option<Box<super::LenraComponent>>>,
14396            T::Error: std::fmt::Display,
14397        {
14398            self
14399                .frame_placeholder = value
14400                .try_into()
14401                .map_err(|e| {
14402                    format!(
14403                        "error converting supplied value for frame_placeholder: {}", e
14404                    )
14405                });
14406            self
14407        }
14408        pub fn gapless_playback<T>(mut self, value: T) -> Self
14409        where
14410            T: std::convert::TryInto<Option<bool>>,
14411            T::Error: std::fmt::Display,
14412        {
14413            self
14414                .gapless_playback = value
14415                .try_into()
14416                .map_err(|e| {
14417                    format!(
14418                        "error converting supplied value for gapless_playback: {}", e
14419                    )
14420                });
14421            self
14422        }
14423        pub fn height<T>(mut self, value: T) -> Self
14424        where
14425            T: std::convert::TryInto<Option<f64>>,
14426            T::Error: std::fmt::Display,
14427        {
14428            self
14429                .height = value
14430                .try_into()
14431                .map_err(|e| {
14432                    format!("error converting supplied value for height: {}", e)
14433                });
14434            self
14435        }
14436        pub fn is_anti_alias<T>(mut self, value: T) -> Self
14437        where
14438            T: std::convert::TryInto<Option<bool>>,
14439            T::Error: std::fmt::Display,
14440        {
14441            self
14442                .is_anti_alias = value
14443                .try_into()
14444                .map_err(|e| {
14445                    format!("error converting supplied value for is_anti_alias: {}", e)
14446                });
14447            self
14448        }
14449        pub fn loading_placeholder<T>(mut self, value: T) -> Self
14450        where
14451            T: std::convert::TryInto<Option<Box<super::LenraComponent>>>,
14452            T::Error: std::fmt::Display,
14453        {
14454            self
14455                .loading_placeholder = value
14456                .try_into()
14457                .map_err(|e| {
14458                    format!(
14459                        "error converting supplied value for loading_placeholder: {}", e
14460                    )
14461                });
14462            self
14463        }
14464        pub fn repeat<T>(mut self, value: T) -> Self
14465        where
14466            T: std::convert::TryInto<Option<super::StylesImageRepeat>>,
14467            T::Error: std::fmt::Display,
14468        {
14469            self
14470                .repeat = value
14471                .try_into()
14472                .map_err(|e| {
14473                    format!("error converting supplied value for repeat: {}", e)
14474                });
14475            self
14476        }
14477        pub fn semantic_label<T>(mut self, value: T) -> Self
14478        where
14479            T: std::convert::TryInto<Option<String>>,
14480            T::Error: std::fmt::Display,
14481        {
14482            self
14483                .semantic_label = value
14484                .try_into()
14485                .map_err(|e| {
14486                    format!("error converting supplied value for semantic_label: {}", e)
14487                });
14488            self
14489        }
14490        pub fn src<T>(mut self, value: T) -> Self
14491        where
14492            T: std::convert::TryInto<String>,
14493            T::Error: std::fmt::Display,
14494        {
14495            self
14496                .src = value
14497                .try_into()
14498                .map_err(|e| format!("error converting supplied value for src: {}", e));
14499            self
14500        }
14501        pub fn type_<T>(mut self, value: T) -> Self
14502        where
14503            T: std::convert::TryInto<serde_json::Value>,
14504            T::Error: std::fmt::Display,
14505        {
14506            self
14507                .type_ = value
14508                .try_into()
14509                .map_err(|e| {
14510                    format!("error converting supplied value for type_: {}", e)
14511                });
14512            self
14513        }
14514        pub fn width<T>(mut self, value: T) -> Self
14515        where
14516            T: std::convert::TryInto<Option<f64>>,
14517            T::Error: std::fmt::Display,
14518        {
14519            self
14520                .width = value
14521                .try_into()
14522                .map_err(|e| {
14523                    format!("error converting supplied value for width: {}", e)
14524                });
14525            self
14526        }
14527    }
14528    impl std::convert::TryFrom<Image> for super::Image {
14529        type Error = String;
14530        fn try_from(value: Image) -> Result<Self, String> {
14531            Ok(Self {
14532                alignment: value.alignment?,
14533                center_slice: value.center_slice?,
14534                error_placeholder: value.error_placeholder?,
14535                exclude_from_semantics: value.exclude_from_semantics?,
14536                filter_quality: value.filter_quality?,
14537                fit: value.fit?,
14538                frame_placeholder: value.frame_placeholder?,
14539                gapless_playback: value.gapless_playback?,
14540                height: value.height?,
14541                is_anti_alias: value.is_anti_alias?,
14542                loading_placeholder: value.loading_placeholder?,
14543                repeat: value.repeat?,
14544                semantic_label: value.semantic_label?,
14545                src: value.src?,
14546                type_: value.type_?,
14547                width: value.width?,
14548            })
14549        }
14550    }
14551    impl From<super::Image> for Image {
14552        fn from(value: super::Image) -> Self {
14553            Self {
14554                alignment: Ok(value.alignment),
14555                center_slice: Ok(value.center_slice),
14556                error_placeholder: Ok(value.error_placeholder),
14557                exclude_from_semantics: Ok(value.exclude_from_semantics),
14558                filter_quality: Ok(value.filter_quality),
14559                fit: Ok(value.fit),
14560                frame_placeholder: Ok(value.frame_placeholder),
14561                gapless_playback: Ok(value.gapless_playback),
14562                height: Ok(value.height),
14563                is_anti_alias: Ok(value.is_anti_alias),
14564                loading_placeholder: Ok(value.loading_placeholder),
14565                repeat: Ok(value.repeat),
14566                semantic_label: Ok(value.semantic_label),
14567                src: Ok(value.src),
14568                type_: Ok(value.type_),
14569                width: Ok(value.width),
14570            }
14571        }
14572    }
14573    #[derive(Clone, Debug)]
14574    pub struct Listener {
14575        name: Result<super::ListenerName, String>,
14576        props: Result<Option<super::DefsProps>, String>,
14577        type_: Result<serde_json::Value, String>,
14578    }
14579    impl Default for Listener {
14580        fn default() -> Self {
14581            Self {
14582                name: Err("no value supplied for name".to_string()),
14583                props: Ok(Default::default()),
14584                type_: Err("no value supplied for type_".to_string()),
14585            }
14586        }
14587    }
14588    impl Listener {
14589        pub fn name<T>(mut self, value: T) -> Self
14590        where
14591            T: std::convert::TryInto<super::ListenerName>,
14592            T::Error: std::fmt::Display,
14593        {
14594            self
14595                .name = value
14596                .try_into()
14597                .map_err(|e| format!("error converting supplied value for name: {}", e));
14598            self
14599        }
14600        pub fn props<T>(mut self, value: T) -> Self
14601        where
14602            T: std::convert::TryInto<Option<super::DefsProps>>,
14603            T::Error: std::fmt::Display,
14604        {
14605            self
14606                .props = value
14607                .try_into()
14608                .map_err(|e| {
14609                    format!("error converting supplied value for props: {}", e)
14610                });
14611            self
14612        }
14613        pub fn type_<T>(mut self, value: T) -> Self
14614        where
14615            T: std::convert::TryInto<serde_json::Value>,
14616            T::Error: std::fmt::Display,
14617        {
14618            self
14619                .type_ = value
14620                .try_into()
14621                .map_err(|e| {
14622                    format!("error converting supplied value for type_: {}", e)
14623                });
14624            self
14625        }
14626    }
14627    impl std::convert::TryFrom<Listener> for super::Listener {
14628        type Error = String;
14629        fn try_from(value: Listener) -> Result<Self, String> {
14630            Ok(Self {
14631                name: value.name?,
14632                props: value.props?,
14633                type_: value.type_?,
14634            })
14635        }
14636    }
14637    impl From<super::Listener> for Listener {
14638        fn from(value: super::Listener) -> Self {
14639            Self {
14640                name: Ok(value.name),
14641                props: Ok(value.props),
14642                type_: Ok(value.type_),
14643            }
14644        }
14645    }
14646    #[derive(Clone, Debug)]
14647    pub struct Menu {
14648        children: Result<Vec<super::LenraComponent>, String>,
14649        type_: Result<serde_json::Value, String>,
14650    }
14651    impl Default for Menu {
14652        fn default() -> Self {
14653            Self {
14654                children: Err("no value supplied for children".to_string()),
14655                type_: Err("no value supplied for type_".to_string()),
14656            }
14657        }
14658    }
14659    impl Menu {
14660        pub fn children<T>(mut self, value: T) -> Self
14661        where
14662            T: std::convert::TryInto<Vec<super::LenraComponent>>,
14663            T::Error: std::fmt::Display,
14664        {
14665            self
14666                .children = value
14667                .try_into()
14668                .map_err(|e| {
14669                    format!("error converting supplied value for children: {}", e)
14670                });
14671            self
14672        }
14673        pub fn type_<T>(mut self, value: T) -> Self
14674        where
14675            T: std::convert::TryInto<serde_json::Value>,
14676            T::Error: std::fmt::Display,
14677        {
14678            self
14679                .type_ = value
14680                .try_into()
14681                .map_err(|e| {
14682                    format!("error converting supplied value for type_: {}", e)
14683                });
14684            self
14685        }
14686    }
14687    impl std::convert::TryFrom<Menu> for super::Menu {
14688        type Error = String;
14689        fn try_from(value: Menu) -> Result<Self, String> {
14690            Ok(Self {
14691                children: value.children?,
14692                type_: value.type_?,
14693            })
14694        }
14695    }
14696    impl From<super::Menu> for Menu {
14697        fn from(value: super::Menu) -> Self {
14698            Self {
14699                children: Ok(value.children),
14700                type_: Ok(value.type_),
14701            }
14702        }
14703    }
14704    #[derive(Clone, Debug)]
14705    pub struct MenuItem {
14706        disabled: Result<Option<bool>, String>,
14707        icon: Result<Option<super::Icon>, String>,
14708        is_selected: Result<Option<bool>, String>,
14709        on_pressed: Result<Option<super::Listener>, String>,
14710        text: Result<String, String>,
14711        type_: Result<serde_json::Value, String>,
14712    }
14713    impl Default for MenuItem {
14714        fn default() -> Self {
14715            Self {
14716                disabled: Ok(Default::default()),
14717                icon: Ok(Default::default()),
14718                is_selected: Ok(Default::default()),
14719                on_pressed: Ok(Default::default()),
14720                text: Err("no value supplied for text".to_string()),
14721                type_: Err("no value supplied for type_".to_string()),
14722            }
14723        }
14724    }
14725    impl MenuItem {
14726        pub fn disabled<T>(mut self, value: T) -> Self
14727        where
14728            T: std::convert::TryInto<Option<bool>>,
14729            T::Error: std::fmt::Display,
14730        {
14731            self
14732                .disabled = value
14733                .try_into()
14734                .map_err(|e| {
14735                    format!("error converting supplied value for disabled: {}", e)
14736                });
14737            self
14738        }
14739        pub fn icon<T>(mut self, value: T) -> Self
14740        where
14741            T: std::convert::TryInto<Option<super::Icon>>,
14742            T::Error: std::fmt::Display,
14743        {
14744            self
14745                .icon = value
14746                .try_into()
14747                .map_err(|e| format!("error converting supplied value for icon: {}", e));
14748            self
14749        }
14750        pub fn is_selected<T>(mut self, value: T) -> Self
14751        where
14752            T: std::convert::TryInto<Option<bool>>,
14753            T::Error: std::fmt::Display,
14754        {
14755            self
14756                .is_selected = value
14757                .try_into()
14758                .map_err(|e| {
14759                    format!("error converting supplied value for is_selected: {}", e)
14760                });
14761            self
14762        }
14763        pub fn on_pressed<T>(mut self, value: T) -> Self
14764        where
14765            T: std::convert::TryInto<Option<super::Listener>>,
14766            T::Error: std::fmt::Display,
14767        {
14768            self
14769                .on_pressed = value
14770                .try_into()
14771                .map_err(|e| {
14772                    format!("error converting supplied value for on_pressed: {}", e)
14773                });
14774            self
14775        }
14776        pub fn text<T>(mut self, value: T) -> Self
14777        where
14778            T: std::convert::TryInto<String>,
14779            T::Error: std::fmt::Display,
14780        {
14781            self
14782                .text = value
14783                .try_into()
14784                .map_err(|e| format!("error converting supplied value for text: {}", e));
14785            self
14786        }
14787        pub fn type_<T>(mut self, value: T) -> Self
14788        where
14789            T: std::convert::TryInto<serde_json::Value>,
14790            T::Error: std::fmt::Display,
14791        {
14792            self
14793                .type_ = value
14794                .try_into()
14795                .map_err(|e| {
14796                    format!("error converting supplied value for type_: {}", e)
14797                });
14798            self
14799        }
14800    }
14801    impl std::convert::TryFrom<MenuItem> for super::MenuItem {
14802        type Error = String;
14803        fn try_from(value: MenuItem) -> Result<Self, String> {
14804            Ok(Self {
14805                disabled: value.disabled?,
14806                icon: value.icon?,
14807                is_selected: value.is_selected?,
14808                on_pressed: value.on_pressed?,
14809                text: value.text?,
14810                type_: value.type_?,
14811            })
14812        }
14813    }
14814    impl From<super::MenuItem> for MenuItem {
14815        fn from(value: super::MenuItem) -> Self {
14816            Self {
14817                disabled: Ok(value.disabled),
14818                icon: Ok(value.icon),
14819                is_selected: Ok(value.is_selected),
14820                on_pressed: Ok(value.on_pressed),
14821                text: Ok(value.text),
14822                type_: Ok(value.type_),
14823            }
14824        }
14825    }
14826    #[derive(Clone, Debug)]
14827    pub struct OverlayEntry {
14828        child: Result<Box<super::LenraComponent>, String>,
14829        maintain_state: Result<Option<bool>, String>,
14830        opaque: Result<Option<bool>, String>,
14831        show_overlay: Result<Option<bool>, String>,
14832        type_: Result<serde_json::Value, String>,
14833    }
14834    impl Default for OverlayEntry {
14835        fn default() -> Self {
14836            Self {
14837                child: Err("no value supplied for child".to_string()),
14838                maintain_state: Ok(Default::default()),
14839                opaque: Ok(Default::default()),
14840                show_overlay: Ok(Default::default()),
14841                type_: Err("no value supplied for type_".to_string()),
14842            }
14843        }
14844    }
14845    impl OverlayEntry {
14846        pub fn child<T>(mut self, value: T) -> Self
14847        where
14848            T: std::convert::TryInto<Box<super::LenraComponent>>,
14849            T::Error: std::fmt::Display,
14850        {
14851            self
14852                .child = value
14853                .try_into()
14854                .map_err(|e| {
14855                    format!("error converting supplied value for child: {}", e)
14856                });
14857            self
14858        }
14859        pub fn maintain_state<T>(mut self, value: T) -> Self
14860        where
14861            T: std::convert::TryInto<Option<bool>>,
14862            T::Error: std::fmt::Display,
14863        {
14864            self
14865                .maintain_state = value
14866                .try_into()
14867                .map_err(|e| {
14868                    format!("error converting supplied value for maintain_state: {}", e)
14869                });
14870            self
14871        }
14872        pub fn opaque<T>(mut self, value: T) -> Self
14873        where
14874            T: std::convert::TryInto<Option<bool>>,
14875            T::Error: std::fmt::Display,
14876        {
14877            self
14878                .opaque = value
14879                .try_into()
14880                .map_err(|e| {
14881                    format!("error converting supplied value for opaque: {}", e)
14882                });
14883            self
14884        }
14885        pub fn show_overlay<T>(mut self, value: T) -> Self
14886        where
14887            T: std::convert::TryInto<Option<bool>>,
14888            T::Error: std::fmt::Display,
14889        {
14890            self
14891                .show_overlay = value
14892                .try_into()
14893                .map_err(|e| {
14894                    format!("error converting supplied value for show_overlay: {}", e)
14895                });
14896            self
14897        }
14898        pub fn type_<T>(mut self, value: T) -> Self
14899        where
14900            T: std::convert::TryInto<serde_json::Value>,
14901            T::Error: std::fmt::Display,
14902        {
14903            self
14904                .type_ = value
14905                .try_into()
14906                .map_err(|e| {
14907                    format!("error converting supplied value for type_: {}", e)
14908                });
14909            self
14910        }
14911    }
14912    impl std::convert::TryFrom<OverlayEntry> for super::OverlayEntry {
14913        type Error = String;
14914        fn try_from(value: OverlayEntry) -> Result<Self, String> {
14915            Ok(Self {
14916                child: value.child?,
14917                maintain_state: value.maintain_state?,
14918                opaque: value.opaque?,
14919                show_overlay: value.show_overlay?,
14920                type_: value.type_?,
14921            })
14922        }
14923    }
14924    impl From<super::OverlayEntry> for OverlayEntry {
14925        fn from(value: super::OverlayEntry) -> Self {
14926            Self {
14927                child: Ok(value.child),
14928                maintain_state: Ok(value.maintain_state),
14929                opaque: Ok(value.opaque),
14930                show_overlay: Ok(value.show_overlay),
14931                type_: Ok(value.type_),
14932            }
14933        }
14934    }
14935    #[derive(Clone, Debug)]
14936    pub struct Radio {
14937        autofocus: Result<Option<bool>, String>,
14938        group_value: Result<String, String>,
14939        material_tap_target_size: Result<
14940            Option<super::StylesMaterialTapTargetSize>,
14941            String,
14942        >,
14943        name: Result<Option<String>, String>,
14944        on_pressed: Result<Option<super::Listener>, String>,
14945        style: Result<Option<super::StylesRadioStyle>, String>,
14946        toggleable: Result<Option<bool>, String>,
14947        type_: Result<serde_json::Value, String>,
14948        value: Result<String, String>,
14949    }
14950    impl Default for Radio {
14951        fn default() -> Self {
14952            Self {
14953                autofocus: Ok(Default::default()),
14954                group_value: Err("no value supplied for group_value".to_string()),
14955                material_tap_target_size: Ok(Default::default()),
14956                name: Ok(Default::default()),
14957                on_pressed: Ok(Default::default()),
14958                style: Ok(Default::default()),
14959                toggleable: Ok(Default::default()),
14960                type_: Err("no value supplied for type_".to_string()),
14961                value: Err("no value supplied for value".to_string()),
14962            }
14963        }
14964    }
14965    impl Radio {
14966        pub fn autofocus<T>(mut self, value: T) -> Self
14967        where
14968            T: std::convert::TryInto<Option<bool>>,
14969            T::Error: std::fmt::Display,
14970        {
14971            self
14972                .autofocus = value
14973                .try_into()
14974                .map_err(|e| {
14975                    format!("error converting supplied value for autofocus: {}", e)
14976                });
14977            self
14978        }
14979        pub fn group_value<T>(mut self, value: T) -> Self
14980        where
14981            T: std::convert::TryInto<String>,
14982            T::Error: std::fmt::Display,
14983        {
14984            self
14985                .group_value = value
14986                .try_into()
14987                .map_err(|e| {
14988                    format!("error converting supplied value for group_value: {}", e)
14989                });
14990            self
14991        }
14992        pub fn material_tap_target_size<T>(mut self, value: T) -> Self
14993        where
14994            T: std::convert::TryInto<Option<super::StylesMaterialTapTargetSize>>,
14995            T::Error: std::fmt::Display,
14996        {
14997            self
14998                .material_tap_target_size = value
14999                .try_into()
15000                .map_err(|e| {
15001                    format!(
15002                        "error converting supplied value for material_tap_target_size: {}",
15003                        e
15004                    )
15005                });
15006            self
15007        }
15008        pub fn name<T>(mut self, value: T) -> Self
15009        where
15010            T: std::convert::TryInto<Option<String>>,
15011            T::Error: std::fmt::Display,
15012        {
15013            self
15014                .name = value
15015                .try_into()
15016                .map_err(|e| format!("error converting supplied value for name: {}", e));
15017            self
15018        }
15019        pub fn on_pressed<T>(mut self, value: T) -> Self
15020        where
15021            T: std::convert::TryInto<Option<super::Listener>>,
15022            T::Error: std::fmt::Display,
15023        {
15024            self
15025                .on_pressed = value
15026                .try_into()
15027                .map_err(|e| {
15028                    format!("error converting supplied value for on_pressed: {}", e)
15029                });
15030            self
15031        }
15032        pub fn style<T>(mut self, value: T) -> Self
15033        where
15034            T: std::convert::TryInto<Option<super::StylesRadioStyle>>,
15035            T::Error: std::fmt::Display,
15036        {
15037            self
15038                .style = value
15039                .try_into()
15040                .map_err(|e| {
15041                    format!("error converting supplied value for style: {}", e)
15042                });
15043            self
15044        }
15045        pub fn toggleable<T>(mut self, value: T) -> Self
15046        where
15047            T: std::convert::TryInto<Option<bool>>,
15048            T::Error: std::fmt::Display,
15049        {
15050            self
15051                .toggleable = value
15052                .try_into()
15053                .map_err(|e| {
15054                    format!("error converting supplied value for toggleable: {}", e)
15055                });
15056            self
15057        }
15058        pub fn type_<T>(mut self, value: T) -> Self
15059        where
15060            T: std::convert::TryInto<serde_json::Value>,
15061            T::Error: std::fmt::Display,
15062        {
15063            self
15064                .type_ = value
15065                .try_into()
15066                .map_err(|e| {
15067                    format!("error converting supplied value for type_: {}", e)
15068                });
15069            self
15070        }
15071        pub fn value<T>(mut self, value: T) -> Self
15072        where
15073            T: std::convert::TryInto<String>,
15074            T::Error: std::fmt::Display,
15075        {
15076            self
15077                .value = value
15078                .try_into()
15079                .map_err(|e| {
15080                    format!("error converting supplied value for value: {}", e)
15081                });
15082            self
15083        }
15084    }
15085    impl std::convert::TryFrom<Radio> for super::Radio {
15086        type Error = String;
15087        fn try_from(value: Radio) -> Result<Self, String> {
15088            Ok(Self {
15089                autofocus: value.autofocus?,
15090                group_value: value.group_value?,
15091                material_tap_target_size: value.material_tap_target_size?,
15092                name: value.name?,
15093                on_pressed: value.on_pressed?,
15094                style: value.style?,
15095                toggleable: value.toggleable?,
15096                type_: value.type_?,
15097                value: value.value?,
15098            })
15099        }
15100    }
15101    impl From<super::Radio> for Radio {
15102        fn from(value: super::Radio) -> Self {
15103            Self {
15104                autofocus: Ok(value.autofocus),
15105                group_value: Ok(value.group_value),
15106                material_tap_target_size: Ok(value.material_tap_target_size),
15107                name: Ok(value.name),
15108                on_pressed: Ok(value.on_pressed),
15109                style: Ok(value.style),
15110                toggleable: Ok(value.toggleable),
15111                type_: Ok(value.type_),
15112                value: Ok(value.value),
15113            }
15114        }
15115    }
15116    #[derive(Clone, Debug)]
15117    pub struct Slider {
15118        autofocus: Result<Option<bool>, String>,
15119        divisions: Result<Option<f64>, String>,
15120        label: Result<Option<String>, String>,
15121        max: Result<Option<f64>, String>,
15122        min: Result<Option<f64>, String>,
15123        name: Result<Option<String>, String>,
15124        on_change_end: Result<Option<super::Listener>, String>,
15125        on_change_start: Result<Option<super::Listener>, String>,
15126        on_changed: Result<Option<super::Listener>, String>,
15127        style: Result<Option<super::StylesSliderStyle>, String>,
15128        type_: Result<serde_json::Value, String>,
15129        value: Result<Option<f64>, String>,
15130    }
15131    impl Default for Slider {
15132        fn default() -> Self {
15133            Self {
15134                autofocus: Ok(Default::default()),
15135                divisions: Ok(Default::default()),
15136                label: Ok(Default::default()),
15137                max: Ok(Default::default()),
15138                min: Ok(Default::default()),
15139                name: Ok(Default::default()),
15140                on_change_end: Ok(Default::default()),
15141                on_change_start: Ok(Default::default()),
15142                on_changed: Ok(Default::default()),
15143                style: Ok(Default::default()),
15144                type_: Err("no value supplied for type_".to_string()),
15145                value: Ok(Default::default()),
15146            }
15147        }
15148    }
15149    impl Slider {
15150        pub fn autofocus<T>(mut self, value: T) -> Self
15151        where
15152            T: std::convert::TryInto<Option<bool>>,
15153            T::Error: std::fmt::Display,
15154        {
15155            self
15156                .autofocus = value
15157                .try_into()
15158                .map_err(|e| {
15159                    format!("error converting supplied value for autofocus: {}", e)
15160                });
15161            self
15162        }
15163        pub fn divisions<T>(mut self, value: T) -> Self
15164        where
15165            T: std::convert::TryInto<Option<f64>>,
15166            T::Error: std::fmt::Display,
15167        {
15168            self
15169                .divisions = value
15170                .try_into()
15171                .map_err(|e| {
15172                    format!("error converting supplied value for divisions: {}", e)
15173                });
15174            self
15175        }
15176        pub fn label<T>(mut self, value: T) -> Self
15177        where
15178            T: std::convert::TryInto<Option<String>>,
15179            T::Error: std::fmt::Display,
15180        {
15181            self
15182                .label = value
15183                .try_into()
15184                .map_err(|e| {
15185                    format!("error converting supplied value for label: {}", e)
15186                });
15187            self
15188        }
15189        pub fn max<T>(mut self, value: T) -> Self
15190        where
15191            T: std::convert::TryInto<Option<f64>>,
15192            T::Error: std::fmt::Display,
15193        {
15194            self
15195                .max = value
15196                .try_into()
15197                .map_err(|e| format!("error converting supplied value for max: {}", e));
15198            self
15199        }
15200        pub fn min<T>(mut self, value: T) -> Self
15201        where
15202            T: std::convert::TryInto<Option<f64>>,
15203            T::Error: std::fmt::Display,
15204        {
15205            self
15206                .min = value
15207                .try_into()
15208                .map_err(|e| format!("error converting supplied value for min: {}", e));
15209            self
15210        }
15211        pub fn name<T>(mut self, value: T) -> Self
15212        where
15213            T: std::convert::TryInto<Option<String>>,
15214            T::Error: std::fmt::Display,
15215        {
15216            self
15217                .name = value
15218                .try_into()
15219                .map_err(|e| format!("error converting supplied value for name: {}", e));
15220            self
15221        }
15222        pub fn on_change_end<T>(mut self, value: T) -> Self
15223        where
15224            T: std::convert::TryInto<Option<super::Listener>>,
15225            T::Error: std::fmt::Display,
15226        {
15227            self
15228                .on_change_end = value
15229                .try_into()
15230                .map_err(|e| {
15231                    format!("error converting supplied value for on_change_end: {}", e)
15232                });
15233            self
15234        }
15235        pub fn on_change_start<T>(mut self, value: T) -> Self
15236        where
15237            T: std::convert::TryInto<Option<super::Listener>>,
15238            T::Error: std::fmt::Display,
15239        {
15240            self
15241                .on_change_start = value
15242                .try_into()
15243                .map_err(|e| {
15244                    format!("error converting supplied value for on_change_start: {}", e)
15245                });
15246            self
15247        }
15248        pub fn on_changed<T>(mut self, value: T) -> Self
15249        where
15250            T: std::convert::TryInto<Option<super::Listener>>,
15251            T::Error: std::fmt::Display,
15252        {
15253            self
15254                .on_changed = value
15255                .try_into()
15256                .map_err(|e| {
15257                    format!("error converting supplied value for on_changed: {}", e)
15258                });
15259            self
15260        }
15261        pub fn style<T>(mut self, value: T) -> Self
15262        where
15263            T: std::convert::TryInto<Option<super::StylesSliderStyle>>,
15264            T::Error: std::fmt::Display,
15265        {
15266            self
15267                .style = value
15268                .try_into()
15269                .map_err(|e| {
15270                    format!("error converting supplied value for style: {}", e)
15271                });
15272            self
15273        }
15274        pub fn type_<T>(mut self, value: T) -> Self
15275        where
15276            T: std::convert::TryInto<serde_json::Value>,
15277            T::Error: std::fmt::Display,
15278        {
15279            self
15280                .type_ = value
15281                .try_into()
15282                .map_err(|e| {
15283                    format!("error converting supplied value for type_: {}", e)
15284                });
15285            self
15286        }
15287        pub fn value<T>(mut self, value: T) -> Self
15288        where
15289            T: std::convert::TryInto<Option<f64>>,
15290            T::Error: std::fmt::Display,
15291        {
15292            self
15293                .value = value
15294                .try_into()
15295                .map_err(|e| {
15296                    format!("error converting supplied value for value: {}", e)
15297                });
15298            self
15299        }
15300    }
15301    impl std::convert::TryFrom<Slider> for super::Slider {
15302        type Error = String;
15303        fn try_from(value: Slider) -> Result<Self, String> {
15304            Ok(Self {
15305                autofocus: value.autofocus?,
15306                divisions: value.divisions?,
15307                label: value.label?,
15308                max: value.max?,
15309                min: value.min?,
15310                name: value.name?,
15311                on_change_end: value.on_change_end?,
15312                on_change_start: value.on_change_start?,
15313                on_changed: value.on_changed?,
15314                style: value.style?,
15315                type_: value.type_?,
15316                value: value.value?,
15317            })
15318        }
15319    }
15320    impl From<super::Slider> for Slider {
15321        fn from(value: super::Slider) -> Self {
15322            Self {
15323                autofocus: Ok(value.autofocus),
15324                divisions: Ok(value.divisions),
15325                label: Ok(value.label),
15326                max: Ok(value.max),
15327                min: Ok(value.min),
15328                name: Ok(value.name),
15329                on_change_end: Ok(value.on_change_end),
15330                on_change_start: Ok(value.on_change_start),
15331                on_changed: Ok(value.on_changed),
15332                style: Ok(value.style),
15333                type_: Ok(value.type_),
15334                value: Ok(value.value),
15335            }
15336        }
15337    }
15338    #[derive(Clone, Debug)]
15339    pub struct Stack {
15340        alignment: Result<Option<super::StylesAlignment>, String>,
15341        children: Result<Vec<super::LenraComponent>, String>,
15342        fit: Result<Option<super::StylesStackFit>, String>,
15343        type_: Result<serde_json::Value, String>,
15344    }
15345    impl Default for Stack {
15346        fn default() -> Self {
15347            Self {
15348                alignment: Ok(Default::default()),
15349                children: Err("no value supplied for children".to_string()),
15350                fit: Ok(Default::default()),
15351                type_: Err("no value supplied for type_".to_string()),
15352            }
15353        }
15354    }
15355    impl Stack {
15356        pub fn alignment<T>(mut self, value: T) -> Self
15357        where
15358            T: std::convert::TryInto<Option<super::StylesAlignment>>,
15359            T::Error: std::fmt::Display,
15360        {
15361            self
15362                .alignment = value
15363                .try_into()
15364                .map_err(|e| {
15365                    format!("error converting supplied value for alignment: {}", e)
15366                });
15367            self
15368        }
15369        pub fn children<T>(mut self, value: T) -> Self
15370        where
15371            T: std::convert::TryInto<Vec<super::LenraComponent>>,
15372            T::Error: std::fmt::Display,
15373        {
15374            self
15375                .children = value
15376                .try_into()
15377                .map_err(|e| {
15378                    format!("error converting supplied value for children: {}", e)
15379                });
15380            self
15381        }
15382        pub fn fit<T>(mut self, value: T) -> Self
15383        where
15384            T: std::convert::TryInto<Option<super::StylesStackFit>>,
15385            T::Error: std::fmt::Display,
15386        {
15387            self
15388                .fit = value
15389                .try_into()
15390                .map_err(|e| format!("error converting supplied value for fit: {}", e));
15391            self
15392        }
15393        pub fn type_<T>(mut self, value: T) -> Self
15394        where
15395            T: std::convert::TryInto<serde_json::Value>,
15396            T::Error: std::fmt::Display,
15397        {
15398            self
15399                .type_ = value
15400                .try_into()
15401                .map_err(|e| {
15402                    format!("error converting supplied value for type_: {}", e)
15403                });
15404            self
15405        }
15406    }
15407    impl std::convert::TryFrom<Stack> for super::Stack {
15408        type Error = String;
15409        fn try_from(value: Stack) -> Result<Self, String> {
15410            Ok(Self {
15411                alignment: value.alignment?,
15412                children: value.children?,
15413                fit: value.fit?,
15414                type_: value.type_?,
15415            })
15416        }
15417    }
15418    impl From<super::Stack> for Stack {
15419        fn from(value: super::Stack) -> Self {
15420            Self {
15421                alignment: Ok(value.alignment),
15422                children: Ok(value.children),
15423                fit: Ok(value.fit),
15424                type_: Ok(value.type_),
15425            }
15426        }
15427    }
15428    #[derive(Clone, Debug)]
15429    pub struct StatusSticker {
15430        status: Result<super::StatusStickerStatus, String>,
15431        type_: Result<serde_json::Value, String>,
15432    }
15433    impl Default for StatusSticker {
15434        fn default() -> Self {
15435            Self {
15436                status: Err("no value supplied for status".to_string()),
15437                type_: Err("no value supplied for type_".to_string()),
15438            }
15439        }
15440    }
15441    impl StatusSticker {
15442        pub fn status<T>(mut self, value: T) -> Self
15443        where
15444            T: std::convert::TryInto<super::StatusStickerStatus>,
15445            T::Error: std::fmt::Display,
15446        {
15447            self
15448                .status = value
15449                .try_into()
15450                .map_err(|e| {
15451                    format!("error converting supplied value for status: {}", e)
15452                });
15453            self
15454        }
15455        pub fn type_<T>(mut self, value: T) -> Self
15456        where
15457            T: std::convert::TryInto<serde_json::Value>,
15458            T::Error: std::fmt::Display,
15459        {
15460            self
15461                .type_ = value
15462                .try_into()
15463                .map_err(|e| {
15464                    format!("error converting supplied value for type_: {}", e)
15465                });
15466            self
15467        }
15468    }
15469    impl std::convert::TryFrom<StatusSticker> for super::StatusSticker {
15470        type Error = String;
15471        fn try_from(value: StatusSticker) -> Result<Self, String> {
15472            Ok(Self {
15473                status: value.status?,
15474                type_: value.type_?,
15475            })
15476        }
15477    }
15478    impl From<super::StatusSticker> for StatusSticker {
15479        fn from(value: super::StatusSticker) -> Self {
15480            Self {
15481                status: Ok(value.status),
15482                type_: Ok(value.type_),
15483            }
15484        }
15485    }
15486    #[derive(Clone, Debug)]
15487    pub struct StylesBorder {
15488        bottom: Result<Option<super::StylesBorderSide>, String>,
15489        left: Result<Option<super::StylesBorderSide>, String>,
15490        right: Result<Option<super::StylesBorderSide>, String>,
15491        top: Result<Option<super::StylesBorderSide>, String>,
15492    }
15493    impl Default for StylesBorder {
15494        fn default() -> Self {
15495            Self {
15496                bottom: Ok(Default::default()),
15497                left: Ok(Default::default()),
15498                right: Ok(Default::default()),
15499                top: Ok(Default::default()),
15500            }
15501        }
15502    }
15503    impl StylesBorder {
15504        pub fn bottom<T>(mut self, value: T) -> Self
15505        where
15506            T: std::convert::TryInto<Option<super::StylesBorderSide>>,
15507            T::Error: std::fmt::Display,
15508        {
15509            self
15510                .bottom = value
15511                .try_into()
15512                .map_err(|e| {
15513                    format!("error converting supplied value for bottom: {}", e)
15514                });
15515            self
15516        }
15517        pub fn left<T>(mut self, value: T) -> Self
15518        where
15519            T: std::convert::TryInto<Option<super::StylesBorderSide>>,
15520            T::Error: std::fmt::Display,
15521        {
15522            self
15523                .left = value
15524                .try_into()
15525                .map_err(|e| format!("error converting supplied value for left: {}", e));
15526            self
15527        }
15528        pub fn right<T>(mut self, value: T) -> Self
15529        where
15530            T: std::convert::TryInto<Option<super::StylesBorderSide>>,
15531            T::Error: std::fmt::Display,
15532        {
15533            self
15534                .right = value
15535                .try_into()
15536                .map_err(|e| {
15537                    format!("error converting supplied value for right: {}", e)
15538                });
15539            self
15540        }
15541        pub fn top<T>(mut self, value: T) -> Self
15542        where
15543            T: std::convert::TryInto<Option<super::StylesBorderSide>>,
15544            T::Error: std::fmt::Display,
15545        {
15546            self
15547                .top = value
15548                .try_into()
15549                .map_err(|e| format!("error converting supplied value for top: {}", e));
15550            self
15551        }
15552    }
15553    impl std::convert::TryFrom<StylesBorder> for super::StylesBorder {
15554        type Error = String;
15555        fn try_from(value: StylesBorder) -> Result<Self, String> {
15556            Ok(Self {
15557                bottom: value.bottom?,
15558                left: value.left?,
15559                right: value.right?,
15560                top: value.top?,
15561            })
15562        }
15563    }
15564    impl From<super::StylesBorder> for StylesBorder {
15565        fn from(value: super::StylesBorder) -> Self {
15566            Self {
15567                bottom: Ok(value.bottom),
15568                left: Ok(value.left),
15569                right: Ok(value.right),
15570                top: Ok(value.top),
15571            }
15572        }
15573    }
15574    #[derive(Clone, Debug)]
15575    pub struct StylesBorderRadius {
15576        bottom_left: Result<
15577            Option<super::StylesBorderRadiusDefinitionsRadiusType>,
15578            String,
15579        >,
15580        bottom_right: Result<
15581            Option<super::StylesBorderRadiusDefinitionsRadiusType>,
15582            String,
15583        >,
15584        top_left: Result<Option<super::StylesBorderRadiusDefinitionsRadiusType>, String>,
15585        top_right: Result<
15586            Option<super::StylesBorderRadiusDefinitionsRadiusType>,
15587            String,
15588        >,
15589    }
15590    impl Default for StylesBorderRadius {
15591        fn default() -> Self {
15592            Self {
15593                bottom_left: Ok(Default::default()),
15594                bottom_right: Ok(Default::default()),
15595                top_left: Ok(Default::default()),
15596                top_right: Ok(Default::default()),
15597            }
15598        }
15599    }
15600    impl StylesBorderRadius {
15601        pub fn bottom_left<T>(mut self, value: T) -> Self
15602        where
15603            T: std::convert::TryInto<
15604                Option<super::StylesBorderRadiusDefinitionsRadiusType>,
15605            >,
15606            T::Error: std::fmt::Display,
15607        {
15608            self
15609                .bottom_left = value
15610                .try_into()
15611                .map_err(|e| {
15612                    format!("error converting supplied value for bottom_left: {}", e)
15613                });
15614            self
15615        }
15616        pub fn bottom_right<T>(mut self, value: T) -> Self
15617        where
15618            T: std::convert::TryInto<
15619                Option<super::StylesBorderRadiusDefinitionsRadiusType>,
15620            >,
15621            T::Error: std::fmt::Display,
15622        {
15623            self
15624                .bottom_right = value
15625                .try_into()
15626                .map_err(|e| {
15627                    format!("error converting supplied value for bottom_right: {}", e)
15628                });
15629            self
15630        }
15631        pub fn top_left<T>(mut self, value: T) -> Self
15632        where
15633            T: std::convert::TryInto<
15634                Option<super::StylesBorderRadiusDefinitionsRadiusType>,
15635            >,
15636            T::Error: std::fmt::Display,
15637        {
15638            self
15639                .top_left = value
15640                .try_into()
15641                .map_err(|e| {
15642                    format!("error converting supplied value for top_left: {}", e)
15643                });
15644            self
15645        }
15646        pub fn top_right<T>(mut self, value: T) -> Self
15647        where
15648            T: std::convert::TryInto<
15649                Option<super::StylesBorderRadiusDefinitionsRadiusType>,
15650            >,
15651            T::Error: std::fmt::Display,
15652        {
15653            self
15654                .top_right = value
15655                .try_into()
15656                .map_err(|e| {
15657                    format!("error converting supplied value for top_right: {}", e)
15658                });
15659            self
15660        }
15661    }
15662    impl std::convert::TryFrom<StylesBorderRadius> for super::StylesBorderRadius {
15663        type Error = String;
15664        fn try_from(value: StylesBorderRadius) -> Result<Self, String> {
15665            Ok(Self {
15666                bottom_left: value.bottom_left?,
15667                bottom_right: value.bottom_right?,
15668                top_left: value.top_left?,
15669                top_right: value.top_right?,
15670            })
15671        }
15672    }
15673    impl From<super::StylesBorderRadius> for StylesBorderRadius {
15674        fn from(value: super::StylesBorderRadius) -> Self {
15675            Self {
15676                bottom_left: Ok(value.bottom_left),
15677                bottom_right: Ok(value.bottom_right),
15678                top_left: Ok(value.top_left),
15679                top_right: Ok(value.top_right),
15680            }
15681        }
15682    }
15683    #[derive(Clone, Debug)]
15684    pub struct StylesBorderRadiusDefinitionsRadiusType {
15685        x: Result<Option<f64>, String>,
15686        y: Result<Option<f64>, String>,
15687    }
15688    impl Default for StylesBorderRadiusDefinitionsRadiusType {
15689        fn default() -> Self {
15690            Self {
15691                x: Ok(Default::default()),
15692                y: Ok(Default::default()),
15693            }
15694        }
15695    }
15696    impl StylesBorderRadiusDefinitionsRadiusType {
15697        pub fn x<T>(mut self, value: T) -> Self
15698        where
15699            T: std::convert::TryInto<Option<f64>>,
15700            T::Error: std::fmt::Display,
15701        {
15702            self
15703                .x = value
15704                .try_into()
15705                .map_err(|e| format!("error converting supplied value for x: {}", e));
15706            self
15707        }
15708        pub fn y<T>(mut self, value: T) -> Self
15709        where
15710            T: std::convert::TryInto<Option<f64>>,
15711            T::Error: std::fmt::Display,
15712        {
15713            self
15714                .y = value
15715                .try_into()
15716                .map_err(|e| format!("error converting supplied value for y: {}", e));
15717            self
15718        }
15719    }
15720    impl std::convert::TryFrom<StylesBorderRadiusDefinitionsRadiusType>
15721    for super::StylesBorderRadiusDefinitionsRadiusType {
15722        type Error = String;
15723        fn try_from(
15724            value: StylesBorderRadiusDefinitionsRadiusType,
15725        ) -> Result<Self, String> {
15726            Ok(Self { x: value.x?, y: value.y? })
15727        }
15728    }
15729    impl From<super::StylesBorderRadiusDefinitionsRadiusType>
15730    for StylesBorderRadiusDefinitionsRadiusType {
15731        fn from(value: super::StylesBorderRadiusDefinitionsRadiusType) -> Self {
15732            Self {
15733                x: Ok(value.x),
15734                y: Ok(value.y),
15735            }
15736        }
15737    }
15738    #[derive(Clone, Debug)]
15739    pub struct StylesBorderSide {
15740        color: Result<Option<super::StylesColor>, String>,
15741        width: Result<Option<f64>, String>,
15742    }
15743    impl Default for StylesBorderSide {
15744        fn default() -> Self {
15745            Self {
15746                color: Ok(Default::default()),
15747                width: Ok(Default::default()),
15748            }
15749        }
15750    }
15751    impl StylesBorderSide {
15752        pub fn color<T>(mut self, value: T) -> Self
15753        where
15754            T: std::convert::TryInto<Option<super::StylesColor>>,
15755            T::Error: std::fmt::Display,
15756        {
15757            self
15758                .color = value
15759                .try_into()
15760                .map_err(|e| {
15761                    format!("error converting supplied value for color: {}", e)
15762                });
15763            self
15764        }
15765        pub fn width<T>(mut self, value: T) -> Self
15766        where
15767            T: std::convert::TryInto<Option<f64>>,
15768            T::Error: std::fmt::Display,
15769        {
15770            self
15771                .width = value
15772                .try_into()
15773                .map_err(|e| {
15774                    format!("error converting supplied value for width: {}", e)
15775                });
15776            self
15777        }
15778    }
15779    impl std::convert::TryFrom<StylesBorderSide> for super::StylesBorderSide {
15780        type Error = String;
15781        fn try_from(value: StylesBorderSide) -> Result<Self, String> {
15782            Ok(Self {
15783                color: value.color?,
15784                width: value.width?,
15785            })
15786        }
15787    }
15788    impl From<super::StylesBorderSide> for StylesBorderSide {
15789        fn from(value: super::StylesBorderSide) -> Self {
15790            Self {
15791                color: Ok(value.color),
15792                width: Ok(value.width),
15793            }
15794        }
15795    }
15796    #[derive(Clone, Debug)]
15797    pub struct StylesBoxConstraints {
15798        max_height: Result<Option<f64>, String>,
15799        max_width: Result<Option<f64>, String>,
15800        min_height: Result<Option<f64>, String>,
15801        min_width: Result<Option<f64>, String>,
15802    }
15803    impl Default for StylesBoxConstraints {
15804        fn default() -> Self {
15805            Self {
15806                max_height: Ok(Default::default()),
15807                max_width: Ok(Default::default()),
15808                min_height: Ok(Default::default()),
15809                min_width: Ok(Default::default()),
15810            }
15811        }
15812    }
15813    impl StylesBoxConstraints {
15814        pub fn max_height<T>(mut self, value: T) -> Self
15815        where
15816            T: std::convert::TryInto<Option<f64>>,
15817            T::Error: std::fmt::Display,
15818        {
15819            self
15820                .max_height = value
15821                .try_into()
15822                .map_err(|e| {
15823                    format!("error converting supplied value for max_height: {}", e)
15824                });
15825            self
15826        }
15827        pub fn max_width<T>(mut self, value: T) -> Self
15828        where
15829            T: std::convert::TryInto<Option<f64>>,
15830            T::Error: std::fmt::Display,
15831        {
15832            self
15833                .max_width = value
15834                .try_into()
15835                .map_err(|e| {
15836                    format!("error converting supplied value for max_width: {}", e)
15837                });
15838            self
15839        }
15840        pub fn min_height<T>(mut self, value: T) -> Self
15841        where
15842            T: std::convert::TryInto<Option<f64>>,
15843            T::Error: std::fmt::Display,
15844        {
15845            self
15846                .min_height = value
15847                .try_into()
15848                .map_err(|e| {
15849                    format!("error converting supplied value for min_height: {}", e)
15850                });
15851            self
15852        }
15853        pub fn min_width<T>(mut self, value: T) -> Self
15854        where
15855            T: std::convert::TryInto<Option<f64>>,
15856            T::Error: std::fmt::Display,
15857        {
15858            self
15859                .min_width = value
15860                .try_into()
15861                .map_err(|e| {
15862                    format!("error converting supplied value for min_width: {}", e)
15863                });
15864            self
15865        }
15866    }
15867    impl std::convert::TryFrom<StylesBoxConstraints> for super::StylesBoxConstraints {
15868        type Error = String;
15869        fn try_from(value: StylesBoxConstraints) -> Result<Self, String> {
15870            Ok(Self {
15871                max_height: value.max_height?,
15872                max_width: value.max_width?,
15873                min_height: value.min_height?,
15874                min_width: value.min_width?,
15875            })
15876        }
15877    }
15878    impl From<super::StylesBoxConstraints> for StylesBoxConstraints {
15879        fn from(value: super::StylesBoxConstraints) -> Self {
15880            Self {
15881                max_height: Ok(value.max_height),
15882                max_width: Ok(value.max_width),
15883                min_height: Ok(value.min_height),
15884                min_width: Ok(value.min_width),
15885            }
15886        }
15887    }
15888    #[derive(Clone, Debug)]
15889    pub struct StylesBoxDecoration {
15890        border_radius: Result<Option<super::StylesBorderRadius>, String>,
15891        box_shadow: Result<Option<super::StylesBoxShadow>, String>,
15892        color: Result<Option<super::StylesColor>, String>,
15893        shape: Result<Option<super::StylesBoxShape>, String>,
15894    }
15895    impl Default for StylesBoxDecoration {
15896        fn default() -> Self {
15897            Self {
15898                border_radius: Ok(Default::default()),
15899                box_shadow: Ok(Default::default()),
15900                color: Ok(Default::default()),
15901                shape: Ok(Default::default()),
15902            }
15903        }
15904    }
15905    impl StylesBoxDecoration {
15906        pub fn border_radius<T>(mut self, value: T) -> Self
15907        where
15908            T: std::convert::TryInto<Option<super::StylesBorderRadius>>,
15909            T::Error: std::fmt::Display,
15910        {
15911            self
15912                .border_radius = value
15913                .try_into()
15914                .map_err(|e| {
15915                    format!("error converting supplied value for border_radius: {}", e)
15916                });
15917            self
15918        }
15919        pub fn box_shadow<T>(mut self, value: T) -> Self
15920        where
15921            T: std::convert::TryInto<Option<super::StylesBoxShadow>>,
15922            T::Error: std::fmt::Display,
15923        {
15924            self
15925                .box_shadow = value
15926                .try_into()
15927                .map_err(|e| {
15928                    format!("error converting supplied value for box_shadow: {}", e)
15929                });
15930            self
15931        }
15932        pub fn color<T>(mut self, value: T) -> Self
15933        where
15934            T: std::convert::TryInto<Option<super::StylesColor>>,
15935            T::Error: std::fmt::Display,
15936        {
15937            self
15938                .color = value
15939                .try_into()
15940                .map_err(|e| {
15941                    format!("error converting supplied value for color: {}", e)
15942                });
15943            self
15944        }
15945        pub fn shape<T>(mut self, value: T) -> Self
15946        where
15947            T: std::convert::TryInto<Option<super::StylesBoxShape>>,
15948            T::Error: std::fmt::Display,
15949        {
15950            self
15951                .shape = value
15952                .try_into()
15953                .map_err(|e| {
15954                    format!("error converting supplied value for shape: {}", e)
15955                });
15956            self
15957        }
15958    }
15959    impl std::convert::TryFrom<StylesBoxDecoration> for super::StylesBoxDecoration {
15960        type Error = String;
15961        fn try_from(value: StylesBoxDecoration) -> Result<Self, String> {
15962            Ok(Self {
15963                border_radius: value.border_radius?,
15964                box_shadow: value.box_shadow?,
15965                color: value.color?,
15966                shape: value.shape?,
15967            })
15968        }
15969    }
15970    impl From<super::StylesBoxDecoration> for StylesBoxDecoration {
15971        fn from(value: super::StylesBoxDecoration) -> Self {
15972            Self {
15973                border_radius: Ok(value.border_radius),
15974                box_shadow: Ok(value.box_shadow),
15975                color: Ok(value.color),
15976                shape: Ok(value.shape),
15977            }
15978        }
15979    }
15980    #[derive(Clone, Debug)]
15981    pub struct StylesBoxShadow {
15982        blur_radius: Result<Option<f64>, String>,
15983        color: Result<Option<super::StylesColor>, String>,
15984        offset: Result<Option<super::StylesOffset>, String>,
15985        spread_radius: Result<Option<f64>, String>,
15986    }
15987    impl Default for StylesBoxShadow {
15988        fn default() -> Self {
15989            Self {
15990                blur_radius: Ok(Default::default()),
15991                color: Ok(Default::default()),
15992                offset: Ok(Default::default()),
15993                spread_radius: Ok(Default::default()),
15994            }
15995        }
15996    }
15997    impl StylesBoxShadow {
15998        pub fn blur_radius<T>(mut self, value: T) -> Self
15999        where
16000            T: std::convert::TryInto<Option<f64>>,
16001            T::Error: std::fmt::Display,
16002        {
16003            self
16004                .blur_radius = value
16005                .try_into()
16006                .map_err(|e| {
16007                    format!("error converting supplied value for blur_radius: {}", e)
16008                });
16009            self
16010        }
16011        pub fn color<T>(mut self, value: T) -> Self
16012        where
16013            T: std::convert::TryInto<Option<super::StylesColor>>,
16014            T::Error: std::fmt::Display,
16015        {
16016            self
16017                .color = value
16018                .try_into()
16019                .map_err(|e| {
16020                    format!("error converting supplied value for color: {}", e)
16021                });
16022            self
16023        }
16024        pub fn offset<T>(mut self, value: T) -> Self
16025        where
16026            T: std::convert::TryInto<Option<super::StylesOffset>>,
16027            T::Error: std::fmt::Display,
16028        {
16029            self
16030                .offset = value
16031                .try_into()
16032                .map_err(|e| {
16033                    format!("error converting supplied value for offset: {}", e)
16034                });
16035            self
16036        }
16037        pub fn spread_radius<T>(mut self, value: T) -> Self
16038        where
16039            T: std::convert::TryInto<Option<f64>>,
16040            T::Error: std::fmt::Display,
16041        {
16042            self
16043                .spread_radius = value
16044                .try_into()
16045                .map_err(|e| {
16046                    format!("error converting supplied value for spread_radius: {}", e)
16047                });
16048            self
16049        }
16050    }
16051    impl std::convert::TryFrom<StylesBoxShadow> for super::StylesBoxShadow {
16052        type Error = String;
16053        fn try_from(value: StylesBoxShadow) -> Result<Self, String> {
16054            Ok(Self {
16055                blur_radius: value.blur_radius?,
16056                color: value.color?,
16057                offset: value.offset?,
16058                spread_radius: value.spread_radius?,
16059            })
16060        }
16061    }
16062    impl From<super::StylesBoxShadow> for StylesBoxShadow {
16063        fn from(value: super::StylesBoxShadow) -> Self {
16064            Self {
16065                blur_radius: Ok(value.blur_radius),
16066                color: Ok(value.color),
16067                offset: Ok(value.offset),
16068                spread_radius: Ok(value.spread_radius),
16069            }
16070        }
16071    }
16072    #[derive(Clone, Debug)]
16073    pub struct StylesCarouselOptions {
16074        aspect_ratio: Result<Option<f64>, String>,
16075        auto_play: Result<Option<bool>, String>,
16076        auto_play_animation_duration: Result<Option<super::StylesDuration>, String>,
16077        auto_play_interval: Result<Option<super::StylesDuration>, String>,
16078        enable_infinite_scroll: Result<Option<bool>, String>,
16079        enlarge_center_page: Result<Option<bool>, String>,
16080        enlarge_strategy: Result<
16081            Option<super::StylesCarouselOptionsEnlargeStrategy>,
16082            String,
16083        >,
16084        height: Result<Option<f64>, String>,
16085        initial_page: Result<Option<i64>, String>,
16086        pause_auto_play_on_touch: Result<Option<bool>, String>,
16087        reverse: Result<Option<bool>, String>,
16088        scroll_direction: Result<Option<super::StylesDirection>, String>,
16089        viewport_fraction: Result<Option<f64>, String>,
16090    }
16091    impl Default for StylesCarouselOptions {
16092        fn default() -> Self {
16093            Self {
16094                aspect_ratio: Ok(Default::default()),
16095                auto_play: Ok(Default::default()),
16096                auto_play_animation_duration: Ok(Default::default()),
16097                auto_play_interval: Ok(Default::default()),
16098                enable_infinite_scroll: Ok(Default::default()),
16099                enlarge_center_page: Ok(Default::default()),
16100                enlarge_strategy: Ok(Default::default()),
16101                height: Ok(Default::default()),
16102                initial_page: Ok(Default::default()),
16103                pause_auto_play_on_touch: Ok(Default::default()),
16104                reverse: Ok(Default::default()),
16105                scroll_direction: Ok(Default::default()),
16106                viewport_fraction: Ok(Default::default()),
16107            }
16108        }
16109    }
16110    impl StylesCarouselOptions {
16111        pub fn aspect_ratio<T>(mut self, value: T) -> Self
16112        where
16113            T: std::convert::TryInto<Option<f64>>,
16114            T::Error: std::fmt::Display,
16115        {
16116            self
16117                .aspect_ratio = value
16118                .try_into()
16119                .map_err(|e| {
16120                    format!("error converting supplied value for aspect_ratio: {}", e)
16121                });
16122            self
16123        }
16124        pub fn auto_play<T>(mut self, value: T) -> Self
16125        where
16126            T: std::convert::TryInto<Option<bool>>,
16127            T::Error: std::fmt::Display,
16128        {
16129            self
16130                .auto_play = value
16131                .try_into()
16132                .map_err(|e| {
16133                    format!("error converting supplied value for auto_play: {}", e)
16134                });
16135            self
16136        }
16137        pub fn auto_play_animation_duration<T>(mut self, value: T) -> Self
16138        where
16139            T: std::convert::TryInto<Option<super::StylesDuration>>,
16140            T::Error: std::fmt::Display,
16141        {
16142            self
16143                .auto_play_animation_duration = value
16144                .try_into()
16145                .map_err(|e| {
16146                    format!(
16147                        "error converting supplied value for auto_play_animation_duration: {}",
16148                        e
16149                    )
16150                });
16151            self
16152        }
16153        pub fn auto_play_interval<T>(mut self, value: T) -> Self
16154        where
16155            T: std::convert::TryInto<Option<super::StylesDuration>>,
16156            T::Error: std::fmt::Display,
16157        {
16158            self
16159                .auto_play_interval = value
16160                .try_into()
16161                .map_err(|e| {
16162                    format!(
16163                        "error converting supplied value for auto_play_interval: {}", e
16164                    )
16165                });
16166            self
16167        }
16168        pub fn enable_infinite_scroll<T>(mut self, value: T) -> Self
16169        where
16170            T: std::convert::TryInto<Option<bool>>,
16171            T::Error: std::fmt::Display,
16172        {
16173            self
16174                .enable_infinite_scroll = value
16175                .try_into()
16176                .map_err(|e| {
16177                    format!(
16178                        "error converting supplied value for enable_infinite_scroll: {}",
16179                        e
16180                    )
16181                });
16182            self
16183        }
16184        pub fn enlarge_center_page<T>(mut self, value: T) -> Self
16185        where
16186            T: std::convert::TryInto<Option<bool>>,
16187            T::Error: std::fmt::Display,
16188        {
16189            self
16190                .enlarge_center_page = value
16191                .try_into()
16192                .map_err(|e| {
16193                    format!(
16194                        "error converting supplied value for enlarge_center_page: {}", e
16195                    )
16196                });
16197            self
16198        }
16199        pub fn enlarge_strategy<T>(mut self, value: T) -> Self
16200        where
16201            T: std::convert::TryInto<
16202                Option<super::StylesCarouselOptionsEnlargeStrategy>,
16203            >,
16204            T::Error: std::fmt::Display,
16205        {
16206            self
16207                .enlarge_strategy = value
16208                .try_into()
16209                .map_err(|e| {
16210                    format!(
16211                        "error converting supplied value for enlarge_strategy: {}", e
16212                    )
16213                });
16214            self
16215        }
16216        pub fn height<T>(mut self, value: T) -> Self
16217        where
16218            T: std::convert::TryInto<Option<f64>>,
16219            T::Error: std::fmt::Display,
16220        {
16221            self
16222                .height = value
16223                .try_into()
16224                .map_err(|e| {
16225                    format!("error converting supplied value for height: {}", e)
16226                });
16227            self
16228        }
16229        pub fn initial_page<T>(mut self, value: T) -> Self
16230        where
16231            T: std::convert::TryInto<Option<i64>>,
16232            T::Error: std::fmt::Display,
16233        {
16234            self
16235                .initial_page = value
16236                .try_into()
16237                .map_err(|e| {
16238                    format!("error converting supplied value for initial_page: {}", e)
16239                });
16240            self
16241        }
16242        pub fn pause_auto_play_on_touch<T>(mut self, value: T) -> Self
16243        where
16244            T: std::convert::TryInto<Option<bool>>,
16245            T::Error: std::fmt::Display,
16246        {
16247            self
16248                .pause_auto_play_on_touch = value
16249                .try_into()
16250                .map_err(|e| {
16251                    format!(
16252                        "error converting supplied value for pause_auto_play_on_touch: {}",
16253                        e
16254                    )
16255                });
16256            self
16257        }
16258        pub fn reverse<T>(mut self, value: T) -> Self
16259        where
16260            T: std::convert::TryInto<Option<bool>>,
16261            T::Error: std::fmt::Display,
16262        {
16263            self
16264                .reverse = value
16265                .try_into()
16266                .map_err(|e| {
16267                    format!("error converting supplied value for reverse: {}", e)
16268                });
16269            self
16270        }
16271        pub fn scroll_direction<T>(mut self, value: T) -> Self
16272        where
16273            T: std::convert::TryInto<Option<super::StylesDirection>>,
16274            T::Error: std::fmt::Display,
16275        {
16276            self
16277                .scroll_direction = value
16278                .try_into()
16279                .map_err(|e| {
16280                    format!(
16281                        "error converting supplied value for scroll_direction: {}", e
16282                    )
16283                });
16284            self
16285        }
16286        pub fn viewport_fraction<T>(mut self, value: T) -> Self
16287        where
16288            T: std::convert::TryInto<Option<f64>>,
16289            T::Error: std::fmt::Display,
16290        {
16291            self
16292                .viewport_fraction = value
16293                .try_into()
16294                .map_err(|e| {
16295                    format!(
16296                        "error converting supplied value for viewport_fraction: {}", e
16297                    )
16298                });
16299            self
16300        }
16301    }
16302    impl std::convert::TryFrom<StylesCarouselOptions> for super::StylesCarouselOptions {
16303        type Error = String;
16304        fn try_from(value: StylesCarouselOptions) -> Result<Self, String> {
16305            Ok(Self {
16306                aspect_ratio: value.aspect_ratio?,
16307                auto_play: value.auto_play?,
16308                auto_play_animation_duration: value.auto_play_animation_duration?,
16309                auto_play_interval: value.auto_play_interval?,
16310                enable_infinite_scroll: value.enable_infinite_scroll?,
16311                enlarge_center_page: value.enlarge_center_page?,
16312                enlarge_strategy: value.enlarge_strategy?,
16313                height: value.height?,
16314                initial_page: value.initial_page?,
16315                pause_auto_play_on_touch: value.pause_auto_play_on_touch?,
16316                reverse: value.reverse?,
16317                scroll_direction: value.scroll_direction?,
16318                viewport_fraction: value.viewport_fraction?,
16319            })
16320        }
16321    }
16322    impl From<super::StylesCarouselOptions> for StylesCarouselOptions {
16323        fn from(value: super::StylesCarouselOptions) -> Self {
16324            Self {
16325                aspect_ratio: Ok(value.aspect_ratio),
16326                auto_play: Ok(value.auto_play),
16327                auto_play_animation_duration: Ok(value.auto_play_animation_duration),
16328                auto_play_interval: Ok(value.auto_play_interval),
16329                enable_infinite_scroll: Ok(value.enable_infinite_scroll),
16330                enlarge_center_page: Ok(value.enlarge_center_page),
16331                enlarge_strategy: Ok(value.enlarge_strategy),
16332                height: Ok(value.height),
16333                initial_page: Ok(value.initial_page),
16334                pause_auto_play_on_touch: Ok(value.pause_auto_play_on_touch),
16335                reverse: Ok(value.reverse),
16336                scroll_direction: Ok(value.scroll_direction),
16337                viewport_fraction: Ok(value.viewport_fraction),
16338            }
16339        }
16340    }
16341    #[derive(Clone, Debug)]
16342    pub struct StylesCheckboxStyle {
16343        active_color: Result<Option<super::StylesColor>, String>,
16344        check_color: Result<Option<super::StylesColor>, String>,
16345        focus_color: Result<Option<super::StylesColor>, String>,
16346        hover_color: Result<Option<super::StylesColor>, String>,
16347        shape: Result<Option<super::StylesOutlinedBorder>, String>,
16348        side: Result<Option<super::StylesBorderSide>, String>,
16349        splash_radius: Result<Option<f64>, String>,
16350        visual_density: Result<Option<super::StylesVisualDensity>, String>,
16351    }
16352    impl Default for StylesCheckboxStyle {
16353        fn default() -> Self {
16354            Self {
16355                active_color: Ok(Default::default()),
16356                check_color: Ok(Default::default()),
16357                focus_color: Ok(Default::default()),
16358                hover_color: Ok(Default::default()),
16359                shape: Ok(Default::default()),
16360                side: Ok(Default::default()),
16361                splash_radius: Ok(Default::default()),
16362                visual_density: Ok(Default::default()),
16363            }
16364        }
16365    }
16366    impl StylesCheckboxStyle {
16367        pub fn active_color<T>(mut self, value: T) -> Self
16368        where
16369            T: std::convert::TryInto<Option<super::StylesColor>>,
16370            T::Error: std::fmt::Display,
16371        {
16372            self
16373                .active_color = value
16374                .try_into()
16375                .map_err(|e| {
16376                    format!("error converting supplied value for active_color: {}", e)
16377                });
16378            self
16379        }
16380        pub fn check_color<T>(mut self, value: T) -> Self
16381        where
16382            T: std::convert::TryInto<Option<super::StylesColor>>,
16383            T::Error: std::fmt::Display,
16384        {
16385            self
16386                .check_color = value
16387                .try_into()
16388                .map_err(|e| {
16389                    format!("error converting supplied value for check_color: {}", e)
16390                });
16391            self
16392        }
16393        pub fn focus_color<T>(mut self, value: T) -> Self
16394        where
16395            T: std::convert::TryInto<Option<super::StylesColor>>,
16396            T::Error: std::fmt::Display,
16397        {
16398            self
16399                .focus_color = value
16400                .try_into()
16401                .map_err(|e| {
16402                    format!("error converting supplied value for focus_color: {}", e)
16403                });
16404            self
16405        }
16406        pub fn hover_color<T>(mut self, value: T) -> Self
16407        where
16408            T: std::convert::TryInto<Option<super::StylesColor>>,
16409            T::Error: std::fmt::Display,
16410        {
16411            self
16412                .hover_color = value
16413                .try_into()
16414                .map_err(|e| {
16415                    format!("error converting supplied value for hover_color: {}", e)
16416                });
16417            self
16418        }
16419        pub fn shape<T>(mut self, value: T) -> Self
16420        where
16421            T: std::convert::TryInto<Option<super::StylesOutlinedBorder>>,
16422            T::Error: std::fmt::Display,
16423        {
16424            self
16425                .shape = value
16426                .try_into()
16427                .map_err(|e| {
16428                    format!("error converting supplied value for shape: {}", e)
16429                });
16430            self
16431        }
16432        pub fn side<T>(mut self, value: T) -> Self
16433        where
16434            T: std::convert::TryInto<Option<super::StylesBorderSide>>,
16435            T::Error: std::fmt::Display,
16436        {
16437            self
16438                .side = value
16439                .try_into()
16440                .map_err(|e| format!("error converting supplied value for side: {}", e));
16441            self
16442        }
16443        pub fn splash_radius<T>(mut self, value: T) -> Self
16444        where
16445            T: std::convert::TryInto<Option<f64>>,
16446            T::Error: std::fmt::Display,
16447        {
16448            self
16449                .splash_radius = value
16450                .try_into()
16451                .map_err(|e| {
16452                    format!("error converting supplied value for splash_radius: {}", e)
16453                });
16454            self
16455        }
16456        pub fn visual_density<T>(mut self, value: T) -> Self
16457        where
16458            T: std::convert::TryInto<Option<super::StylesVisualDensity>>,
16459            T::Error: std::fmt::Display,
16460        {
16461            self
16462                .visual_density = value
16463                .try_into()
16464                .map_err(|e| {
16465                    format!("error converting supplied value for visual_density: {}", e)
16466                });
16467            self
16468        }
16469    }
16470    impl std::convert::TryFrom<StylesCheckboxStyle> for super::StylesCheckboxStyle {
16471        type Error = String;
16472        fn try_from(value: StylesCheckboxStyle) -> Result<Self, String> {
16473            Ok(Self {
16474                active_color: value.active_color?,
16475                check_color: value.check_color?,
16476                focus_color: value.focus_color?,
16477                hover_color: value.hover_color?,
16478                shape: value.shape?,
16479                side: value.side?,
16480                splash_radius: value.splash_radius?,
16481                visual_density: value.visual_density?,
16482            })
16483        }
16484    }
16485    impl From<super::StylesCheckboxStyle> for StylesCheckboxStyle {
16486        fn from(value: super::StylesCheckboxStyle) -> Self {
16487            Self {
16488                active_color: Ok(value.active_color),
16489                check_color: Ok(value.check_color),
16490                focus_color: Ok(value.focus_color),
16491                hover_color: Ok(value.hover_color),
16492                shape: Ok(value.shape),
16493                side: Ok(value.side),
16494                splash_radius: Ok(value.splash_radius),
16495                visual_density: Ok(value.visual_density),
16496            }
16497        }
16498    }
16499    #[derive(Clone, Debug)]
16500    pub struct StylesDuration {
16501        days: Result<Option<i64>, String>,
16502        hours: Result<Option<i64>, String>,
16503        microseconds: Result<Option<i64>, String>,
16504        milliseconds: Result<Option<i64>, String>,
16505        minutes: Result<Option<i64>, String>,
16506        seconds: Result<Option<i64>, String>,
16507    }
16508    impl Default for StylesDuration {
16509        fn default() -> Self {
16510            Self {
16511                days: Ok(Default::default()),
16512                hours: Ok(Default::default()),
16513                microseconds: Ok(Default::default()),
16514                milliseconds: Ok(Default::default()),
16515                minutes: Ok(Default::default()),
16516                seconds: Ok(Default::default()),
16517            }
16518        }
16519    }
16520    impl StylesDuration {
16521        pub fn days<T>(mut self, value: T) -> Self
16522        where
16523            T: std::convert::TryInto<Option<i64>>,
16524            T::Error: std::fmt::Display,
16525        {
16526            self
16527                .days = value
16528                .try_into()
16529                .map_err(|e| format!("error converting supplied value for days: {}", e));
16530            self
16531        }
16532        pub fn hours<T>(mut self, value: T) -> Self
16533        where
16534            T: std::convert::TryInto<Option<i64>>,
16535            T::Error: std::fmt::Display,
16536        {
16537            self
16538                .hours = value
16539                .try_into()
16540                .map_err(|e| {
16541                    format!("error converting supplied value for hours: {}", e)
16542                });
16543            self
16544        }
16545        pub fn microseconds<T>(mut self, value: T) -> Self
16546        where
16547            T: std::convert::TryInto<Option<i64>>,
16548            T::Error: std::fmt::Display,
16549        {
16550            self
16551                .microseconds = value
16552                .try_into()
16553                .map_err(|e| {
16554                    format!("error converting supplied value for microseconds: {}", e)
16555                });
16556            self
16557        }
16558        pub fn milliseconds<T>(mut self, value: T) -> Self
16559        where
16560            T: std::convert::TryInto<Option<i64>>,
16561            T::Error: std::fmt::Display,
16562        {
16563            self
16564                .milliseconds = value
16565                .try_into()
16566                .map_err(|e| {
16567                    format!("error converting supplied value for milliseconds: {}", e)
16568                });
16569            self
16570        }
16571        pub fn minutes<T>(mut self, value: T) -> Self
16572        where
16573            T: std::convert::TryInto<Option<i64>>,
16574            T::Error: std::fmt::Display,
16575        {
16576            self
16577                .minutes = value
16578                .try_into()
16579                .map_err(|e| {
16580                    format!("error converting supplied value for minutes: {}", e)
16581                });
16582            self
16583        }
16584        pub fn seconds<T>(mut self, value: T) -> Self
16585        where
16586            T: std::convert::TryInto<Option<i64>>,
16587            T::Error: std::fmt::Display,
16588        {
16589            self
16590                .seconds = value
16591                .try_into()
16592                .map_err(|e| {
16593                    format!("error converting supplied value for seconds: {}", e)
16594                });
16595            self
16596        }
16597    }
16598    impl std::convert::TryFrom<StylesDuration> for super::StylesDuration {
16599        type Error = String;
16600        fn try_from(value: StylesDuration) -> Result<Self, String> {
16601            Ok(Self {
16602                days: value.days?,
16603                hours: value.hours?,
16604                microseconds: value.microseconds?,
16605                milliseconds: value.milliseconds?,
16606                minutes: value.minutes?,
16607                seconds: value.seconds?,
16608            })
16609        }
16610    }
16611    impl From<super::StylesDuration> for StylesDuration {
16612        fn from(value: super::StylesDuration) -> Self {
16613            Self {
16614                days: Ok(value.days),
16615                hours: Ok(value.hours),
16616                microseconds: Ok(value.microseconds),
16617                milliseconds: Ok(value.milliseconds),
16618                minutes: Ok(value.minutes),
16619                seconds: Ok(value.seconds),
16620            }
16621        }
16622    }
16623    #[derive(Clone, Debug)]
16624    pub struct StylesInputBorder {
16625        border_radius: Result<Option<super::StylesBorderRadius>, String>,
16626        border_side: Result<super::StylesBorderSide, String>,
16627        type_: Result<Option<super::StylesInputBorderType>, String>,
16628    }
16629    impl Default for StylesInputBorder {
16630        fn default() -> Self {
16631            Self {
16632                border_radius: Ok(Default::default()),
16633                border_side: Err("no value supplied for border_side".to_string()),
16634                type_: Ok(Default::default()),
16635            }
16636        }
16637    }
16638    impl StylesInputBorder {
16639        pub fn border_radius<T>(mut self, value: T) -> Self
16640        where
16641            T: std::convert::TryInto<Option<super::StylesBorderRadius>>,
16642            T::Error: std::fmt::Display,
16643        {
16644            self
16645                .border_radius = value
16646                .try_into()
16647                .map_err(|e| {
16648                    format!("error converting supplied value for border_radius: {}", e)
16649                });
16650            self
16651        }
16652        pub fn border_side<T>(mut self, value: T) -> Self
16653        where
16654            T: std::convert::TryInto<super::StylesBorderSide>,
16655            T::Error: std::fmt::Display,
16656        {
16657            self
16658                .border_side = value
16659                .try_into()
16660                .map_err(|e| {
16661                    format!("error converting supplied value for border_side: {}", e)
16662                });
16663            self
16664        }
16665        pub fn type_<T>(mut self, value: T) -> Self
16666        where
16667            T: std::convert::TryInto<Option<super::StylesInputBorderType>>,
16668            T::Error: std::fmt::Display,
16669        {
16670            self
16671                .type_ = value
16672                .try_into()
16673                .map_err(|e| {
16674                    format!("error converting supplied value for type_: {}", e)
16675                });
16676            self
16677        }
16678    }
16679    impl std::convert::TryFrom<StylesInputBorder> for super::StylesInputBorder {
16680        type Error = String;
16681        fn try_from(value: StylesInputBorder) -> Result<Self, String> {
16682            Ok(Self {
16683                border_radius: value.border_radius?,
16684                border_side: value.border_side?,
16685                type_: value.type_?,
16686            })
16687        }
16688    }
16689    impl From<super::StylesInputBorder> for StylesInputBorder {
16690        fn from(value: super::StylesInputBorder) -> Self {
16691            Self {
16692                border_radius: Ok(value.border_radius),
16693                border_side: Ok(value.border_side),
16694                type_: Ok(value.type_),
16695            }
16696        }
16697    }
16698    #[derive(Clone, Debug)]
16699    pub struct StylesInputDecoration {
16700        align_label_with_hint: Result<Option<bool>, String>,
16701        border: Result<Option<super::StylesInputBorder>, String>,
16702        constraints: Result<Option<super::StylesBoxConstraints>, String>,
16703        content_padding: Result<Option<super::StylesPadding>, String>,
16704        counter: Result<serde_json::Map<String, serde_json::Value>, String>,
16705        counter_style: Result<Option<super::StylesTextStyle>, String>,
16706        counter_text: Result<Option<String>, String>,
16707        disabled_border: Result<Option<super::StylesInputBorder>, String>,
16708        enabled: Result<Option<bool>, String>,
16709        enabled_border: Result<Option<super::StylesInputBorder>, String>,
16710        error_border: Result<Option<super::StylesInputBorder>, String>,
16711        error_max_lines: Result<Option<i64>, String>,
16712        error_style: Result<Option<super::StylesTextStyle>, String>,
16713        error_text: Result<Option<String>, String>,
16714        fill_color: Result<Option<super::StylesColor>, String>,
16715        filled: Result<Option<bool>, String>,
16716        floating_label_behavior: Result<
16717            Option<super::StylesFloatingLabelBehavior>,
16718            String,
16719        >,
16720        floating_label_style: Result<Option<super::StylesTextStyle>, String>,
16721        focus_color: Result<Option<super::StylesColor>, String>,
16722        focused_border: Result<Option<super::StylesInputBorder>, String>,
16723        focused_error_border: Result<Option<super::StylesInputBorder>, String>,
16724        helper_max_lines: Result<Option<i64>, String>,
16725        helper_style: Result<Option<super::StylesTextStyle>, String>,
16726        helper_text: Result<Option<String>, String>,
16727        hint_max_lines: Result<Option<i64>, String>,
16728        hint_style: Result<Option<super::StylesTextStyle>, String>,
16729        hint_text: Result<Option<String>, String>,
16730        hint_text_direction: Result<Option<super::StylesTextDirection>, String>,
16731        hover_color: Result<Option<super::StylesColor>, String>,
16732        icon: Result<Option<super::Icon>, String>,
16733        icon_color: Result<Option<super::StylesColor>, String>,
16734        is_collapsed: Result<Option<bool>, String>,
16735        is_dense: Result<Option<bool>, String>,
16736        label: Result<Option<Box<super::LenraComponent>>, String>,
16737        label_style: Result<Option<super::StylesTextStyle>, String>,
16738        label_text: Result<Option<String>, String>,
16739        prefix: Result<Option<Box<super::LenraComponent>>, String>,
16740        prefix_icon: Result<Option<super::Icon>, String>,
16741        prefix_icon_color: Result<Option<super::StylesColor>, String>,
16742        prefix_icon_constraints: Result<Option<super::StylesBoxConstraints>, String>,
16743        prefix_style: Result<Option<super::StylesTextStyle>, String>,
16744        prefix_text: Result<Option<String>, String>,
16745        semantic_counter_text: Result<Option<String>, String>,
16746        suffix: Result<serde_json::Map<String, serde_json::Value>, String>,
16747        suffix_icon: Result<Option<super::Icon>, String>,
16748        suffix_icon_color: Result<Option<super::StylesColor>, String>,
16749        suffix_icon_constraints: Result<Option<super::StylesBoxConstraints>, String>,
16750        suffix_style: Result<Option<super::StylesTextStyle>, String>,
16751        suffix_text: Result<Option<String>, String>,
16752    }
16753    impl Default for StylesInputDecoration {
16754        fn default() -> Self {
16755            Self {
16756                align_label_with_hint: Ok(Default::default()),
16757                border: Ok(Default::default()),
16758                constraints: Ok(Default::default()),
16759                content_padding: Ok(Default::default()),
16760                counter: Ok(Default::default()),
16761                counter_style: Ok(Default::default()),
16762                counter_text: Ok(Default::default()),
16763                disabled_border: Ok(Default::default()),
16764                enabled: Ok(Default::default()),
16765                enabled_border: Ok(Default::default()),
16766                error_border: Ok(Default::default()),
16767                error_max_lines: Ok(Default::default()),
16768                error_style: Ok(Default::default()),
16769                error_text: Ok(Default::default()),
16770                fill_color: Ok(Default::default()),
16771                filled: Ok(Default::default()),
16772                floating_label_behavior: Ok(Default::default()),
16773                floating_label_style: Ok(Default::default()),
16774                focus_color: Ok(Default::default()),
16775                focused_border: Ok(Default::default()),
16776                focused_error_border: Ok(Default::default()),
16777                helper_max_lines: Ok(Default::default()),
16778                helper_style: Ok(Default::default()),
16779                helper_text: Ok(Default::default()),
16780                hint_max_lines: Ok(Default::default()),
16781                hint_style: Ok(Default::default()),
16782                hint_text: Ok(Default::default()),
16783                hint_text_direction: Ok(Default::default()),
16784                hover_color: Ok(Default::default()),
16785                icon: Ok(Default::default()),
16786                icon_color: Ok(Default::default()),
16787                is_collapsed: Ok(Default::default()),
16788                is_dense: Ok(Default::default()),
16789                label: Ok(Default::default()),
16790                label_style: Ok(Default::default()),
16791                label_text: Ok(Default::default()),
16792                prefix: Ok(Default::default()),
16793                prefix_icon: Ok(Default::default()),
16794                prefix_icon_color: Ok(Default::default()),
16795                prefix_icon_constraints: Ok(Default::default()),
16796                prefix_style: Ok(Default::default()),
16797                prefix_text: Ok(Default::default()),
16798                semantic_counter_text: Ok(Default::default()),
16799                suffix: Ok(Default::default()),
16800                suffix_icon: Ok(Default::default()),
16801                suffix_icon_color: Ok(Default::default()),
16802                suffix_icon_constraints: Ok(Default::default()),
16803                suffix_style: Ok(Default::default()),
16804                suffix_text: Ok(Default::default()),
16805            }
16806        }
16807    }
16808    impl StylesInputDecoration {
16809        pub fn align_label_with_hint<T>(mut self, value: T) -> Self
16810        where
16811            T: std::convert::TryInto<Option<bool>>,
16812            T::Error: std::fmt::Display,
16813        {
16814            self
16815                .align_label_with_hint = value
16816                .try_into()
16817                .map_err(|e| {
16818                    format!(
16819                        "error converting supplied value for align_label_with_hint: {}",
16820                        e
16821                    )
16822                });
16823            self
16824        }
16825        pub fn border<T>(mut self, value: T) -> Self
16826        where
16827            T: std::convert::TryInto<Option<super::StylesInputBorder>>,
16828            T::Error: std::fmt::Display,
16829        {
16830            self
16831                .border = value
16832                .try_into()
16833                .map_err(|e| {
16834                    format!("error converting supplied value for border: {}", e)
16835                });
16836            self
16837        }
16838        pub fn constraints<T>(mut self, value: T) -> Self
16839        where
16840            T: std::convert::TryInto<Option<super::StylesBoxConstraints>>,
16841            T::Error: std::fmt::Display,
16842        {
16843            self
16844                .constraints = value
16845                .try_into()
16846                .map_err(|e| {
16847                    format!("error converting supplied value for constraints: {}", e)
16848                });
16849            self
16850        }
16851        pub fn content_padding<T>(mut self, value: T) -> Self
16852        where
16853            T: std::convert::TryInto<Option<super::StylesPadding>>,
16854            T::Error: std::fmt::Display,
16855        {
16856            self
16857                .content_padding = value
16858                .try_into()
16859                .map_err(|e| {
16860                    format!("error converting supplied value for content_padding: {}", e)
16861                });
16862            self
16863        }
16864        pub fn counter<T>(mut self, value: T) -> Self
16865        where
16866            T: std::convert::TryInto<serde_json::Map<String, serde_json::Value>>,
16867            T::Error: std::fmt::Display,
16868        {
16869            self
16870                .counter = value
16871                .try_into()
16872                .map_err(|e| {
16873                    format!("error converting supplied value for counter: {}", e)
16874                });
16875            self
16876        }
16877        pub fn counter_style<T>(mut self, value: T) -> Self
16878        where
16879            T: std::convert::TryInto<Option<super::StylesTextStyle>>,
16880            T::Error: std::fmt::Display,
16881        {
16882            self
16883                .counter_style = value
16884                .try_into()
16885                .map_err(|e| {
16886                    format!("error converting supplied value for counter_style: {}", e)
16887                });
16888            self
16889        }
16890        pub fn counter_text<T>(mut self, value: T) -> Self
16891        where
16892            T: std::convert::TryInto<Option<String>>,
16893            T::Error: std::fmt::Display,
16894        {
16895            self
16896                .counter_text = value
16897                .try_into()
16898                .map_err(|e| {
16899                    format!("error converting supplied value for counter_text: {}", e)
16900                });
16901            self
16902        }
16903        pub fn disabled_border<T>(mut self, value: T) -> Self
16904        where
16905            T: std::convert::TryInto<Option<super::StylesInputBorder>>,
16906            T::Error: std::fmt::Display,
16907        {
16908            self
16909                .disabled_border = value
16910                .try_into()
16911                .map_err(|e| {
16912                    format!("error converting supplied value for disabled_border: {}", e)
16913                });
16914            self
16915        }
16916        pub fn enabled<T>(mut self, value: T) -> Self
16917        where
16918            T: std::convert::TryInto<Option<bool>>,
16919            T::Error: std::fmt::Display,
16920        {
16921            self
16922                .enabled = value
16923                .try_into()
16924                .map_err(|e| {
16925                    format!("error converting supplied value for enabled: {}", e)
16926                });
16927            self
16928        }
16929        pub fn enabled_border<T>(mut self, value: T) -> Self
16930        where
16931            T: std::convert::TryInto<Option<super::StylesInputBorder>>,
16932            T::Error: std::fmt::Display,
16933        {
16934            self
16935                .enabled_border = value
16936                .try_into()
16937                .map_err(|e| {
16938                    format!("error converting supplied value for enabled_border: {}", e)
16939                });
16940            self
16941        }
16942        pub fn error_border<T>(mut self, value: T) -> Self
16943        where
16944            T: std::convert::TryInto<Option<super::StylesInputBorder>>,
16945            T::Error: std::fmt::Display,
16946        {
16947            self
16948                .error_border = value
16949                .try_into()
16950                .map_err(|e| {
16951                    format!("error converting supplied value for error_border: {}", e)
16952                });
16953            self
16954        }
16955        pub fn error_max_lines<T>(mut self, value: T) -> Self
16956        where
16957            T: std::convert::TryInto<Option<i64>>,
16958            T::Error: std::fmt::Display,
16959        {
16960            self
16961                .error_max_lines = value
16962                .try_into()
16963                .map_err(|e| {
16964                    format!("error converting supplied value for error_max_lines: {}", e)
16965                });
16966            self
16967        }
16968        pub fn error_style<T>(mut self, value: T) -> Self
16969        where
16970            T: std::convert::TryInto<Option<super::StylesTextStyle>>,
16971            T::Error: std::fmt::Display,
16972        {
16973            self
16974                .error_style = value
16975                .try_into()
16976                .map_err(|e| {
16977                    format!("error converting supplied value for error_style: {}", e)
16978                });
16979            self
16980        }
16981        pub fn error_text<T>(mut self, value: T) -> Self
16982        where
16983            T: std::convert::TryInto<Option<String>>,
16984            T::Error: std::fmt::Display,
16985        {
16986            self
16987                .error_text = value
16988                .try_into()
16989                .map_err(|e| {
16990                    format!("error converting supplied value for error_text: {}", e)
16991                });
16992            self
16993        }
16994        pub fn fill_color<T>(mut self, value: T) -> Self
16995        where
16996            T: std::convert::TryInto<Option<super::StylesColor>>,
16997            T::Error: std::fmt::Display,
16998        {
16999            self
17000                .fill_color = value
17001                .try_into()
17002                .map_err(|e| {
17003                    format!("error converting supplied value for fill_color: {}", e)
17004                });
17005            self
17006        }
17007        pub fn filled<T>(mut self, value: T) -> Self
17008        where
17009            T: std::convert::TryInto<Option<bool>>,
17010            T::Error: std::fmt::Display,
17011        {
17012            self
17013                .filled = value
17014                .try_into()
17015                .map_err(|e| {
17016                    format!("error converting supplied value for filled: {}", e)
17017                });
17018            self
17019        }
17020        pub fn floating_label_behavior<T>(mut self, value: T) -> Self
17021        where
17022            T: std::convert::TryInto<Option<super::StylesFloatingLabelBehavior>>,
17023            T::Error: std::fmt::Display,
17024        {
17025            self
17026                .floating_label_behavior = value
17027                .try_into()
17028                .map_err(|e| {
17029                    format!(
17030                        "error converting supplied value for floating_label_behavior: {}",
17031                        e
17032                    )
17033                });
17034            self
17035        }
17036        pub fn floating_label_style<T>(mut self, value: T) -> Self
17037        where
17038            T: std::convert::TryInto<Option<super::StylesTextStyle>>,
17039            T::Error: std::fmt::Display,
17040        {
17041            self
17042                .floating_label_style = value
17043                .try_into()
17044                .map_err(|e| {
17045                    format!(
17046                        "error converting supplied value for floating_label_style: {}", e
17047                    )
17048                });
17049            self
17050        }
17051        pub fn focus_color<T>(mut self, value: T) -> Self
17052        where
17053            T: std::convert::TryInto<Option<super::StylesColor>>,
17054            T::Error: std::fmt::Display,
17055        {
17056            self
17057                .focus_color = value
17058                .try_into()
17059                .map_err(|e| {
17060                    format!("error converting supplied value for focus_color: {}", e)
17061                });
17062            self
17063        }
17064        pub fn focused_border<T>(mut self, value: T) -> Self
17065        where
17066            T: std::convert::TryInto<Option<super::StylesInputBorder>>,
17067            T::Error: std::fmt::Display,
17068        {
17069            self
17070                .focused_border = value
17071                .try_into()
17072                .map_err(|e| {
17073                    format!("error converting supplied value for focused_border: {}", e)
17074                });
17075            self
17076        }
17077        pub fn focused_error_border<T>(mut self, value: T) -> Self
17078        where
17079            T: std::convert::TryInto<Option<super::StylesInputBorder>>,
17080            T::Error: std::fmt::Display,
17081        {
17082            self
17083                .focused_error_border = value
17084                .try_into()
17085                .map_err(|e| {
17086                    format!(
17087                        "error converting supplied value for focused_error_border: {}", e
17088                    )
17089                });
17090            self
17091        }
17092        pub fn helper_max_lines<T>(mut self, value: T) -> Self
17093        where
17094            T: std::convert::TryInto<Option<i64>>,
17095            T::Error: std::fmt::Display,
17096        {
17097            self
17098                .helper_max_lines = value
17099                .try_into()
17100                .map_err(|e| {
17101                    format!(
17102                        "error converting supplied value for helper_max_lines: {}", e
17103                    )
17104                });
17105            self
17106        }
17107        pub fn helper_style<T>(mut self, value: T) -> Self
17108        where
17109            T: std::convert::TryInto<Option<super::StylesTextStyle>>,
17110            T::Error: std::fmt::Display,
17111        {
17112            self
17113                .helper_style = value
17114                .try_into()
17115                .map_err(|e| {
17116                    format!("error converting supplied value for helper_style: {}", e)
17117                });
17118            self
17119        }
17120        pub fn helper_text<T>(mut self, value: T) -> Self
17121        where
17122            T: std::convert::TryInto<Option<String>>,
17123            T::Error: std::fmt::Display,
17124        {
17125            self
17126                .helper_text = value
17127                .try_into()
17128                .map_err(|e| {
17129                    format!("error converting supplied value for helper_text: {}", e)
17130                });
17131            self
17132        }
17133        pub fn hint_max_lines<T>(mut self, value: T) -> Self
17134        where
17135            T: std::convert::TryInto<Option<i64>>,
17136            T::Error: std::fmt::Display,
17137        {
17138            self
17139                .hint_max_lines = value
17140                .try_into()
17141                .map_err(|e| {
17142                    format!("error converting supplied value for hint_max_lines: {}", e)
17143                });
17144            self
17145        }
17146        pub fn hint_style<T>(mut self, value: T) -> Self
17147        where
17148            T: std::convert::TryInto<Option<super::StylesTextStyle>>,
17149            T::Error: std::fmt::Display,
17150        {
17151            self
17152                .hint_style = value
17153                .try_into()
17154                .map_err(|e| {
17155                    format!("error converting supplied value for hint_style: {}", e)
17156                });
17157            self
17158        }
17159        pub fn hint_text<T>(mut self, value: T) -> Self
17160        where
17161            T: std::convert::TryInto<Option<String>>,
17162            T::Error: std::fmt::Display,
17163        {
17164            self
17165                .hint_text = value
17166                .try_into()
17167                .map_err(|e| {
17168                    format!("error converting supplied value for hint_text: {}", e)
17169                });
17170            self
17171        }
17172        pub fn hint_text_direction<T>(mut self, value: T) -> Self
17173        where
17174            T: std::convert::TryInto<Option<super::StylesTextDirection>>,
17175            T::Error: std::fmt::Display,
17176        {
17177            self
17178                .hint_text_direction = value
17179                .try_into()
17180                .map_err(|e| {
17181                    format!(
17182                        "error converting supplied value for hint_text_direction: {}", e
17183                    )
17184                });
17185            self
17186        }
17187        pub fn hover_color<T>(mut self, value: T) -> Self
17188        where
17189            T: std::convert::TryInto<Option<super::StylesColor>>,
17190            T::Error: std::fmt::Display,
17191        {
17192            self
17193                .hover_color = value
17194                .try_into()
17195                .map_err(|e| {
17196                    format!("error converting supplied value for hover_color: {}", e)
17197                });
17198            self
17199        }
17200        pub fn icon<T>(mut self, value: T) -> Self
17201        where
17202            T: std::convert::TryInto<Option<super::Icon>>,
17203            T::Error: std::fmt::Display,
17204        {
17205            self
17206                .icon = value
17207                .try_into()
17208                .map_err(|e| format!("error converting supplied value for icon: {}", e));
17209            self
17210        }
17211        pub fn icon_color<T>(mut self, value: T) -> Self
17212        where
17213            T: std::convert::TryInto<Option<super::StylesColor>>,
17214            T::Error: std::fmt::Display,
17215        {
17216            self
17217                .icon_color = value
17218                .try_into()
17219                .map_err(|e| {
17220                    format!("error converting supplied value for icon_color: {}", e)
17221                });
17222            self
17223        }
17224        pub fn is_collapsed<T>(mut self, value: T) -> Self
17225        where
17226            T: std::convert::TryInto<Option<bool>>,
17227            T::Error: std::fmt::Display,
17228        {
17229            self
17230                .is_collapsed = value
17231                .try_into()
17232                .map_err(|e| {
17233                    format!("error converting supplied value for is_collapsed: {}", e)
17234                });
17235            self
17236        }
17237        pub fn is_dense<T>(mut self, value: T) -> Self
17238        where
17239            T: std::convert::TryInto<Option<bool>>,
17240            T::Error: std::fmt::Display,
17241        {
17242            self
17243                .is_dense = value
17244                .try_into()
17245                .map_err(|e| {
17246                    format!("error converting supplied value for is_dense: {}", e)
17247                });
17248            self
17249        }
17250        pub fn label<T>(mut self, value: T) -> Self
17251        where
17252            T: std::convert::TryInto<Option<Box<super::LenraComponent>>>,
17253            T::Error: std::fmt::Display,
17254        {
17255            self
17256                .label = value
17257                .try_into()
17258                .map_err(|e| {
17259                    format!("error converting supplied value for label: {}", e)
17260                });
17261            self
17262        }
17263        pub fn label_style<T>(mut self, value: T) -> Self
17264        where
17265            T: std::convert::TryInto<Option<super::StylesTextStyle>>,
17266            T::Error: std::fmt::Display,
17267        {
17268            self
17269                .label_style = value
17270                .try_into()
17271                .map_err(|e| {
17272                    format!("error converting supplied value for label_style: {}", e)
17273                });
17274            self
17275        }
17276        pub fn label_text<T>(mut self, value: T) -> Self
17277        where
17278            T: std::convert::TryInto<Option<String>>,
17279            T::Error: std::fmt::Display,
17280        {
17281            self
17282                .label_text = value
17283                .try_into()
17284                .map_err(|e| {
17285                    format!("error converting supplied value for label_text: {}", e)
17286                });
17287            self
17288        }
17289        pub fn prefix<T>(mut self, value: T) -> Self
17290        where
17291            T: std::convert::TryInto<Option<Box<super::LenraComponent>>>,
17292            T::Error: std::fmt::Display,
17293        {
17294            self
17295                .prefix = value
17296                .try_into()
17297                .map_err(|e| {
17298                    format!("error converting supplied value for prefix: {}", e)
17299                });
17300            self
17301        }
17302        pub fn prefix_icon<T>(mut self, value: T) -> Self
17303        where
17304            T: std::convert::TryInto<Option<super::Icon>>,
17305            T::Error: std::fmt::Display,
17306        {
17307            self
17308                .prefix_icon = value
17309                .try_into()
17310                .map_err(|e| {
17311                    format!("error converting supplied value for prefix_icon: {}", e)
17312                });
17313            self
17314        }
17315        pub fn prefix_icon_color<T>(mut self, value: T) -> Self
17316        where
17317            T: std::convert::TryInto<Option<super::StylesColor>>,
17318            T::Error: std::fmt::Display,
17319        {
17320            self
17321                .prefix_icon_color = value
17322                .try_into()
17323                .map_err(|e| {
17324                    format!(
17325                        "error converting supplied value for prefix_icon_color: {}", e
17326                    )
17327                });
17328            self
17329        }
17330        pub fn prefix_icon_constraints<T>(mut self, value: T) -> Self
17331        where
17332            T: std::convert::TryInto<Option<super::StylesBoxConstraints>>,
17333            T::Error: std::fmt::Display,
17334        {
17335            self
17336                .prefix_icon_constraints = value
17337                .try_into()
17338                .map_err(|e| {
17339                    format!(
17340                        "error converting supplied value for prefix_icon_constraints: {}",
17341                        e
17342                    )
17343                });
17344            self
17345        }
17346        pub fn prefix_style<T>(mut self, value: T) -> Self
17347        where
17348            T: std::convert::TryInto<Option<super::StylesTextStyle>>,
17349            T::Error: std::fmt::Display,
17350        {
17351            self
17352                .prefix_style = value
17353                .try_into()
17354                .map_err(|e| {
17355                    format!("error converting supplied value for prefix_style: {}", e)
17356                });
17357            self
17358        }
17359        pub fn prefix_text<T>(mut self, value: T) -> Self
17360        where
17361            T: std::convert::TryInto<Option<String>>,
17362            T::Error: std::fmt::Display,
17363        {
17364            self
17365                .prefix_text = value
17366                .try_into()
17367                .map_err(|e| {
17368                    format!("error converting supplied value for prefix_text: {}", e)
17369                });
17370            self
17371        }
17372        pub fn semantic_counter_text<T>(mut self, value: T) -> Self
17373        where
17374            T: std::convert::TryInto<Option<String>>,
17375            T::Error: std::fmt::Display,
17376        {
17377            self
17378                .semantic_counter_text = value
17379                .try_into()
17380                .map_err(|e| {
17381                    format!(
17382                        "error converting supplied value for semantic_counter_text: {}",
17383                        e
17384                    )
17385                });
17386            self
17387        }
17388        pub fn suffix<T>(mut self, value: T) -> Self
17389        where
17390            T: std::convert::TryInto<serde_json::Map<String, serde_json::Value>>,
17391            T::Error: std::fmt::Display,
17392        {
17393            self
17394                .suffix = value
17395                .try_into()
17396                .map_err(|e| {
17397                    format!("error converting supplied value for suffix: {}", e)
17398                });
17399            self
17400        }
17401        pub fn suffix_icon<T>(mut self, value: T) -> Self
17402        where
17403            T: std::convert::TryInto<Option<super::Icon>>,
17404            T::Error: std::fmt::Display,
17405        {
17406            self
17407                .suffix_icon = value
17408                .try_into()
17409                .map_err(|e| {
17410                    format!("error converting supplied value for suffix_icon: {}", e)
17411                });
17412            self
17413        }
17414        pub fn suffix_icon_color<T>(mut self, value: T) -> Self
17415        where
17416            T: std::convert::TryInto<Option<super::StylesColor>>,
17417            T::Error: std::fmt::Display,
17418        {
17419            self
17420                .suffix_icon_color = value
17421                .try_into()
17422                .map_err(|e| {
17423                    format!(
17424                        "error converting supplied value for suffix_icon_color: {}", e
17425                    )
17426                });
17427            self
17428        }
17429        pub fn suffix_icon_constraints<T>(mut self, value: T) -> Self
17430        where
17431            T: std::convert::TryInto<Option<super::StylesBoxConstraints>>,
17432            T::Error: std::fmt::Display,
17433        {
17434            self
17435                .suffix_icon_constraints = value
17436                .try_into()
17437                .map_err(|e| {
17438                    format!(
17439                        "error converting supplied value for suffix_icon_constraints: {}",
17440                        e
17441                    )
17442                });
17443            self
17444        }
17445        pub fn suffix_style<T>(mut self, value: T) -> Self
17446        where
17447            T: std::convert::TryInto<Option<super::StylesTextStyle>>,
17448            T::Error: std::fmt::Display,
17449        {
17450            self
17451                .suffix_style = value
17452                .try_into()
17453                .map_err(|e| {
17454                    format!("error converting supplied value for suffix_style: {}", e)
17455                });
17456            self
17457        }
17458        pub fn suffix_text<T>(mut self, value: T) -> Self
17459        where
17460            T: std::convert::TryInto<Option<String>>,
17461            T::Error: std::fmt::Display,
17462        {
17463            self
17464                .suffix_text = value
17465                .try_into()
17466                .map_err(|e| {
17467                    format!("error converting supplied value for suffix_text: {}", e)
17468                });
17469            self
17470        }
17471    }
17472    impl std::convert::TryFrom<StylesInputDecoration> for super::StylesInputDecoration {
17473        type Error = String;
17474        fn try_from(value: StylesInputDecoration) -> Result<Self, String> {
17475            Ok(Self {
17476                align_label_with_hint: value.align_label_with_hint?,
17477                border: value.border?,
17478                constraints: value.constraints?,
17479                content_padding: value.content_padding?,
17480                counter: value.counter?,
17481                counter_style: value.counter_style?,
17482                counter_text: value.counter_text?,
17483                disabled_border: value.disabled_border?,
17484                enabled: value.enabled?,
17485                enabled_border: value.enabled_border?,
17486                error_border: value.error_border?,
17487                error_max_lines: value.error_max_lines?,
17488                error_style: value.error_style?,
17489                error_text: value.error_text?,
17490                fill_color: value.fill_color?,
17491                filled: value.filled?,
17492                floating_label_behavior: value.floating_label_behavior?,
17493                floating_label_style: value.floating_label_style?,
17494                focus_color: value.focus_color?,
17495                focused_border: value.focused_border?,
17496                focused_error_border: value.focused_error_border?,
17497                helper_max_lines: value.helper_max_lines?,
17498                helper_style: value.helper_style?,
17499                helper_text: value.helper_text?,
17500                hint_max_lines: value.hint_max_lines?,
17501                hint_style: value.hint_style?,
17502                hint_text: value.hint_text?,
17503                hint_text_direction: value.hint_text_direction?,
17504                hover_color: value.hover_color?,
17505                icon: value.icon?,
17506                icon_color: value.icon_color?,
17507                is_collapsed: value.is_collapsed?,
17508                is_dense: value.is_dense?,
17509                label: value.label?,
17510                label_style: value.label_style?,
17511                label_text: value.label_text?,
17512                prefix: value.prefix?,
17513                prefix_icon: value.prefix_icon?,
17514                prefix_icon_color: value.prefix_icon_color?,
17515                prefix_icon_constraints: value.prefix_icon_constraints?,
17516                prefix_style: value.prefix_style?,
17517                prefix_text: value.prefix_text?,
17518                semantic_counter_text: value.semantic_counter_text?,
17519                suffix: value.suffix?,
17520                suffix_icon: value.suffix_icon?,
17521                suffix_icon_color: value.suffix_icon_color?,
17522                suffix_icon_constraints: value.suffix_icon_constraints?,
17523                suffix_style: value.suffix_style?,
17524                suffix_text: value.suffix_text?,
17525            })
17526        }
17527    }
17528    impl From<super::StylesInputDecoration> for StylesInputDecoration {
17529        fn from(value: super::StylesInputDecoration) -> Self {
17530            Self {
17531                align_label_with_hint: Ok(value.align_label_with_hint),
17532                border: Ok(value.border),
17533                constraints: Ok(value.constraints),
17534                content_padding: Ok(value.content_padding),
17535                counter: Ok(value.counter),
17536                counter_style: Ok(value.counter_style),
17537                counter_text: Ok(value.counter_text),
17538                disabled_border: Ok(value.disabled_border),
17539                enabled: Ok(value.enabled),
17540                enabled_border: Ok(value.enabled_border),
17541                error_border: Ok(value.error_border),
17542                error_max_lines: Ok(value.error_max_lines),
17543                error_style: Ok(value.error_style),
17544                error_text: Ok(value.error_text),
17545                fill_color: Ok(value.fill_color),
17546                filled: Ok(value.filled),
17547                floating_label_behavior: Ok(value.floating_label_behavior),
17548                floating_label_style: Ok(value.floating_label_style),
17549                focus_color: Ok(value.focus_color),
17550                focused_border: Ok(value.focused_border),
17551                focused_error_border: Ok(value.focused_error_border),
17552                helper_max_lines: Ok(value.helper_max_lines),
17553                helper_style: Ok(value.helper_style),
17554                helper_text: Ok(value.helper_text),
17555                hint_max_lines: Ok(value.hint_max_lines),
17556                hint_style: Ok(value.hint_style),
17557                hint_text: Ok(value.hint_text),
17558                hint_text_direction: Ok(value.hint_text_direction),
17559                hover_color: Ok(value.hover_color),
17560                icon: Ok(value.icon),
17561                icon_color: Ok(value.icon_color),
17562                is_collapsed: Ok(value.is_collapsed),
17563                is_dense: Ok(value.is_dense),
17564                label: Ok(value.label),
17565                label_style: Ok(value.label_style),
17566                label_text: Ok(value.label_text),
17567                prefix: Ok(value.prefix),
17568                prefix_icon: Ok(value.prefix_icon),
17569                prefix_icon_color: Ok(value.prefix_icon_color),
17570                prefix_icon_constraints: Ok(value.prefix_icon_constraints),
17571                prefix_style: Ok(value.prefix_style),
17572                prefix_text: Ok(value.prefix_text),
17573                semantic_counter_text: Ok(value.semantic_counter_text),
17574                suffix: Ok(value.suffix),
17575                suffix_icon: Ok(value.suffix_icon),
17576                suffix_icon_color: Ok(value.suffix_icon_color),
17577                suffix_icon_constraints: Ok(value.suffix_icon_constraints),
17578                suffix_style: Ok(value.suffix_style),
17579                suffix_text: Ok(value.suffix_text),
17580            }
17581        }
17582    }
17583    #[derive(Clone, Debug)]
17584    pub struct StylesLocale {
17585        country_code: Result<Option<String>, String>,
17586        language_code: Result<Option<String>, String>,
17587        script_code: Result<Option<String>, String>,
17588    }
17589    impl Default for StylesLocale {
17590        fn default() -> Self {
17591            Self {
17592                country_code: Ok(Default::default()),
17593                language_code: Ok(Default::default()),
17594                script_code: Ok(Default::default()),
17595            }
17596        }
17597    }
17598    impl StylesLocale {
17599        pub fn country_code<T>(mut self, value: T) -> Self
17600        where
17601            T: std::convert::TryInto<Option<String>>,
17602            T::Error: std::fmt::Display,
17603        {
17604            self
17605                .country_code = value
17606                .try_into()
17607                .map_err(|e| {
17608                    format!("error converting supplied value for country_code: {}", e)
17609                });
17610            self
17611        }
17612        pub fn language_code<T>(mut self, value: T) -> Self
17613        where
17614            T: std::convert::TryInto<Option<String>>,
17615            T::Error: std::fmt::Display,
17616        {
17617            self
17618                .language_code = value
17619                .try_into()
17620                .map_err(|e| {
17621                    format!("error converting supplied value for language_code: {}", e)
17622                });
17623            self
17624        }
17625        pub fn script_code<T>(mut self, value: T) -> Self
17626        where
17627            T: std::convert::TryInto<Option<String>>,
17628            T::Error: std::fmt::Display,
17629        {
17630            self
17631                .script_code = value
17632                .try_into()
17633                .map_err(|e| {
17634                    format!("error converting supplied value for script_code: {}", e)
17635                });
17636            self
17637        }
17638    }
17639    impl std::convert::TryFrom<StylesLocale> for super::StylesLocale {
17640        type Error = String;
17641        fn try_from(value: StylesLocale) -> Result<Self, String> {
17642            Ok(Self {
17643                country_code: value.country_code?,
17644                language_code: value.language_code?,
17645                script_code: value.script_code?,
17646            })
17647        }
17648    }
17649    impl From<super::StylesLocale> for StylesLocale {
17650        fn from(value: super::StylesLocale) -> Self {
17651            Self {
17652                country_code: Ok(value.country_code),
17653                language_code: Ok(value.language_code),
17654                script_code: Ok(value.script_code),
17655            }
17656        }
17657    }
17658    #[derive(Clone, Debug)]
17659    pub struct StylesOffset {
17660        dx: Result<Option<f64>, String>,
17661        dy: Result<Option<f64>, String>,
17662    }
17663    impl Default for StylesOffset {
17664        fn default() -> Self {
17665            Self {
17666                dx: Ok(Default::default()),
17667                dy: Ok(Default::default()),
17668            }
17669        }
17670    }
17671    impl StylesOffset {
17672        pub fn dx<T>(mut self, value: T) -> Self
17673        where
17674            T: std::convert::TryInto<Option<f64>>,
17675            T::Error: std::fmt::Display,
17676        {
17677            self
17678                .dx = value
17679                .try_into()
17680                .map_err(|e| format!("error converting supplied value for dx: {}", e));
17681            self
17682        }
17683        pub fn dy<T>(mut self, value: T) -> Self
17684        where
17685            T: std::convert::TryInto<Option<f64>>,
17686            T::Error: std::fmt::Display,
17687        {
17688            self
17689                .dy = value
17690                .try_into()
17691                .map_err(|e| format!("error converting supplied value for dy: {}", e));
17692            self
17693        }
17694    }
17695    impl std::convert::TryFrom<StylesOffset> for super::StylesOffset {
17696        type Error = String;
17697        fn try_from(value: StylesOffset) -> Result<Self, String> {
17698            Ok(Self {
17699                dx: value.dx?,
17700                dy: value.dy?,
17701            })
17702        }
17703    }
17704    impl From<super::StylesOffset> for StylesOffset {
17705        fn from(value: super::StylesOffset) -> Self {
17706            Self {
17707                dx: Ok(value.dx),
17708                dy: Ok(value.dy),
17709            }
17710        }
17711    }
17712    #[derive(Clone, Debug)]
17713    pub struct StylesOutlinedBorder {
17714        side: Result<Option<super::StylesBorderSide>, String>,
17715    }
17716    impl Default for StylesOutlinedBorder {
17717        fn default() -> Self {
17718            Self {
17719                side: Ok(Default::default()),
17720            }
17721        }
17722    }
17723    impl StylesOutlinedBorder {
17724        pub fn side<T>(mut self, value: T) -> Self
17725        where
17726            T: std::convert::TryInto<Option<super::StylesBorderSide>>,
17727            T::Error: std::fmt::Display,
17728        {
17729            self
17730                .side = value
17731                .try_into()
17732                .map_err(|e| format!("error converting supplied value for side: {}", e));
17733            self
17734        }
17735    }
17736    impl std::convert::TryFrom<StylesOutlinedBorder> for super::StylesOutlinedBorder {
17737        type Error = String;
17738        fn try_from(value: StylesOutlinedBorder) -> Result<Self, String> {
17739            Ok(Self { side: value.side? })
17740        }
17741    }
17742    impl From<super::StylesOutlinedBorder> for StylesOutlinedBorder {
17743        fn from(value: super::StylesOutlinedBorder) -> Self {
17744            Self { side: Ok(value.side) }
17745        }
17746    }
17747    #[derive(Clone, Debug)]
17748    pub struct StylesPadding {
17749        bottom: Result<Option<f64>, String>,
17750        left: Result<Option<f64>, String>,
17751        right: Result<Option<f64>, String>,
17752        top: Result<Option<f64>, String>,
17753    }
17754    impl Default for StylesPadding {
17755        fn default() -> Self {
17756            Self {
17757                bottom: Ok(Default::default()),
17758                left: Ok(Default::default()),
17759                right: Ok(Default::default()),
17760                top: Ok(Default::default()),
17761            }
17762        }
17763    }
17764    impl StylesPadding {
17765        pub fn bottom<T>(mut self, value: T) -> Self
17766        where
17767            T: std::convert::TryInto<Option<f64>>,
17768            T::Error: std::fmt::Display,
17769        {
17770            self
17771                .bottom = value
17772                .try_into()
17773                .map_err(|e| {
17774                    format!("error converting supplied value for bottom: {}", e)
17775                });
17776            self
17777        }
17778        pub fn left<T>(mut self, value: T) -> Self
17779        where
17780            T: std::convert::TryInto<Option<f64>>,
17781            T::Error: std::fmt::Display,
17782        {
17783            self
17784                .left = value
17785                .try_into()
17786                .map_err(|e| format!("error converting supplied value for left: {}", e));
17787            self
17788        }
17789        pub fn right<T>(mut self, value: T) -> Self
17790        where
17791            T: std::convert::TryInto<Option<f64>>,
17792            T::Error: std::fmt::Display,
17793        {
17794            self
17795                .right = value
17796                .try_into()
17797                .map_err(|e| {
17798                    format!("error converting supplied value for right: {}", e)
17799                });
17800            self
17801        }
17802        pub fn top<T>(mut self, value: T) -> Self
17803        where
17804            T: std::convert::TryInto<Option<f64>>,
17805            T::Error: std::fmt::Display,
17806        {
17807            self
17808                .top = value
17809                .try_into()
17810                .map_err(|e| format!("error converting supplied value for top: {}", e));
17811            self
17812        }
17813    }
17814    impl std::convert::TryFrom<StylesPadding> for super::StylesPadding {
17815        type Error = String;
17816        fn try_from(value: StylesPadding) -> Result<Self, String> {
17817            Ok(Self {
17818                bottom: value.bottom?,
17819                left: value.left?,
17820                right: value.right?,
17821                top: value.top?,
17822            })
17823        }
17824    }
17825    impl From<super::StylesPadding> for StylesPadding {
17826        fn from(value: super::StylesPadding) -> Self {
17827            Self {
17828                bottom: Ok(value.bottom),
17829                left: Ok(value.left),
17830                right: Ok(value.right),
17831                top: Ok(value.top),
17832            }
17833        }
17834    }
17835    #[derive(Clone, Debug)]
17836    pub struct StylesRadioStyle {
17837        active_color: Result<Option<super::StylesColor>, String>,
17838        focus_color: Result<Option<super::StylesColor>, String>,
17839        hovercolor: Result<Option<super::StylesColor>, String>,
17840        splash_radius: Result<Option<f64>, String>,
17841        unselected_color: Result<Option<super::StylesColor>, String>,
17842        visual_density: Result<Option<super::StylesVisualDensity>, String>,
17843    }
17844    impl Default for StylesRadioStyle {
17845        fn default() -> Self {
17846            Self {
17847                active_color: Ok(Default::default()),
17848                focus_color: Ok(Default::default()),
17849                hovercolor: Ok(Default::default()),
17850                splash_radius: Ok(Default::default()),
17851                unselected_color: Ok(Default::default()),
17852                visual_density: Ok(Default::default()),
17853            }
17854        }
17855    }
17856    impl StylesRadioStyle {
17857        pub fn active_color<T>(mut self, value: T) -> Self
17858        where
17859            T: std::convert::TryInto<Option<super::StylesColor>>,
17860            T::Error: std::fmt::Display,
17861        {
17862            self
17863                .active_color = value
17864                .try_into()
17865                .map_err(|e| {
17866                    format!("error converting supplied value for active_color: {}", e)
17867                });
17868            self
17869        }
17870        pub fn focus_color<T>(mut self, value: T) -> Self
17871        where
17872            T: std::convert::TryInto<Option<super::StylesColor>>,
17873            T::Error: std::fmt::Display,
17874        {
17875            self
17876                .focus_color = value
17877                .try_into()
17878                .map_err(|e| {
17879                    format!("error converting supplied value for focus_color: {}", e)
17880                });
17881            self
17882        }
17883        pub fn hovercolor<T>(mut self, value: T) -> Self
17884        where
17885            T: std::convert::TryInto<Option<super::StylesColor>>,
17886            T::Error: std::fmt::Display,
17887        {
17888            self
17889                .hovercolor = value
17890                .try_into()
17891                .map_err(|e| {
17892                    format!("error converting supplied value for hovercolor: {}", e)
17893                });
17894            self
17895        }
17896        pub fn splash_radius<T>(mut self, value: T) -> Self
17897        where
17898            T: std::convert::TryInto<Option<f64>>,
17899            T::Error: std::fmt::Display,
17900        {
17901            self
17902                .splash_radius = value
17903                .try_into()
17904                .map_err(|e| {
17905                    format!("error converting supplied value for splash_radius: {}", e)
17906                });
17907            self
17908        }
17909        pub fn unselected_color<T>(mut self, value: T) -> Self
17910        where
17911            T: std::convert::TryInto<Option<super::StylesColor>>,
17912            T::Error: std::fmt::Display,
17913        {
17914            self
17915                .unselected_color = value
17916                .try_into()
17917                .map_err(|e| {
17918                    format!(
17919                        "error converting supplied value for unselected_color: {}", e
17920                    )
17921                });
17922            self
17923        }
17924        pub fn visual_density<T>(mut self, value: T) -> Self
17925        where
17926            T: std::convert::TryInto<Option<super::StylesVisualDensity>>,
17927            T::Error: std::fmt::Display,
17928        {
17929            self
17930                .visual_density = value
17931                .try_into()
17932                .map_err(|e| {
17933                    format!("error converting supplied value for visual_density: {}", e)
17934                });
17935            self
17936        }
17937    }
17938    impl std::convert::TryFrom<StylesRadioStyle> for super::StylesRadioStyle {
17939        type Error = String;
17940        fn try_from(value: StylesRadioStyle) -> Result<Self, String> {
17941            Ok(Self {
17942                active_color: value.active_color?,
17943                focus_color: value.focus_color?,
17944                hovercolor: value.hovercolor?,
17945                splash_radius: value.splash_radius?,
17946                unselected_color: value.unselected_color?,
17947                visual_density: value.visual_density?,
17948            })
17949        }
17950    }
17951    impl From<super::StylesRadioStyle> for StylesRadioStyle {
17952        fn from(value: super::StylesRadioStyle) -> Self {
17953            Self {
17954                active_color: Ok(value.active_color),
17955                focus_color: Ok(value.focus_color),
17956                hovercolor: Ok(value.hovercolor),
17957                splash_radius: Ok(value.splash_radius),
17958                unselected_color: Ok(value.unselected_color),
17959                visual_density: Ok(value.visual_density),
17960            }
17961        }
17962    }
17963    #[derive(Clone, Debug)]
17964    pub struct StylesRadius {
17965        x: Result<Option<f64>, String>,
17966        y: Result<Option<f64>, String>,
17967    }
17968    impl Default for StylesRadius {
17969        fn default() -> Self {
17970            Self {
17971                x: Ok(Default::default()),
17972                y: Ok(Default::default()),
17973            }
17974        }
17975    }
17976    impl StylesRadius {
17977        pub fn x<T>(mut self, value: T) -> Self
17978        where
17979            T: std::convert::TryInto<Option<f64>>,
17980            T::Error: std::fmt::Display,
17981        {
17982            self
17983                .x = value
17984                .try_into()
17985                .map_err(|e| format!("error converting supplied value for x: {}", e));
17986            self
17987        }
17988        pub fn y<T>(mut self, value: T) -> Self
17989        where
17990            T: std::convert::TryInto<Option<f64>>,
17991            T::Error: std::fmt::Display,
17992        {
17993            self
17994                .y = value
17995                .try_into()
17996                .map_err(|e| format!("error converting supplied value for y: {}", e));
17997            self
17998        }
17999    }
18000    impl std::convert::TryFrom<StylesRadius> for super::StylesRadius {
18001        type Error = String;
18002        fn try_from(value: StylesRadius) -> Result<Self, String> {
18003            Ok(Self { x: value.x?, y: value.y? })
18004        }
18005    }
18006    impl From<super::StylesRadius> for StylesRadius {
18007        fn from(value: super::StylesRadius) -> Self {
18008            Self {
18009                x: Ok(value.x),
18010                y: Ok(value.y),
18011            }
18012        }
18013    }
18014    #[derive(Clone, Debug)]
18015    pub struct StylesRect {
18016        height: Result<Option<f64>, String>,
18017        left: Result<Option<f64>, String>,
18018        top: Result<Option<f64>, String>,
18019        width: Result<Option<f64>, String>,
18020    }
18021    impl Default for StylesRect {
18022        fn default() -> Self {
18023            Self {
18024                height: Ok(Default::default()),
18025                left: Ok(Default::default()),
18026                top: Ok(Default::default()),
18027                width: Ok(Default::default()),
18028            }
18029        }
18030    }
18031    impl StylesRect {
18032        pub fn height<T>(mut self, value: T) -> Self
18033        where
18034            T: std::convert::TryInto<Option<f64>>,
18035            T::Error: std::fmt::Display,
18036        {
18037            self
18038                .height = value
18039                .try_into()
18040                .map_err(|e| {
18041                    format!("error converting supplied value for height: {}", e)
18042                });
18043            self
18044        }
18045        pub fn left<T>(mut self, value: T) -> Self
18046        where
18047            T: std::convert::TryInto<Option<f64>>,
18048            T::Error: std::fmt::Display,
18049        {
18050            self
18051                .left = value
18052                .try_into()
18053                .map_err(|e| format!("error converting supplied value for left: {}", e));
18054            self
18055        }
18056        pub fn top<T>(mut self, value: T) -> Self
18057        where
18058            T: std::convert::TryInto<Option<f64>>,
18059            T::Error: std::fmt::Display,
18060        {
18061            self
18062                .top = value
18063                .try_into()
18064                .map_err(|e| format!("error converting supplied value for top: {}", e));
18065            self
18066        }
18067        pub fn width<T>(mut self, value: T) -> Self
18068        where
18069            T: std::convert::TryInto<Option<f64>>,
18070            T::Error: std::fmt::Display,
18071        {
18072            self
18073                .width = value
18074                .try_into()
18075                .map_err(|e| {
18076                    format!("error converting supplied value for width: {}", e)
18077                });
18078            self
18079        }
18080    }
18081    impl std::convert::TryFrom<StylesRect> for super::StylesRect {
18082        type Error = String;
18083        fn try_from(value: StylesRect) -> Result<Self, String> {
18084            Ok(Self {
18085                height: value.height?,
18086                left: value.left?,
18087                top: value.top?,
18088                width: value.width?,
18089            })
18090        }
18091    }
18092    impl From<super::StylesRect> for StylesRect {
18093        fn from(value: super::StylesRect) -> Self {
18094            Self {
18095                height: Ok(value.height),
18096                left: Ok(value.left),
18097                top: Ok(value.top),
18098                width: Ok(value.width),
18099            }
18100        }
18101    }
18102    #[derive(Clone, Debug)]
18103    pub struct StylesSliderStyle {
18104        active_color: Result<Option<super::StylesColor>, String>,
18105        inactive_color: Result<Option<super::StylesColor>, String>,
18106        thumb_color: Result<Option<super::StylesColor>, String>,
18107    }
18108    impl Default for StylesSliderStyle {
18109        fn default() -> Self {
18110            Self {
18111                active_color: Ok(Default::default()),
18112                inactive_color: Ok(Default::default()),
18113                thumb_color: Ok(Default::default()),
18114            }
18115        }
18116    }
18117    impl StylesSliderStyle {
18118        pub fn active_color<T>(mut self, value: T) -> Self
18119        where
18120            T: std::convert::TryInto<Option<super::StylesColor>>,
18121            T::Error: std::fmt::Display,
18122        {
18123            self
18124                .active_color = value
18125                .try_into()
18126                .map_err(|e| {
18127                    format!("error converting supplied value for active_color: {}", e)
18128                });
18129            self
18130        }
18131        pub fn inactive_color<T>(mut self, value: T) -> Self
18132        where
18133            T: std::convert::TryInto<Option<super::StylesColor>>,
18134            T::Error: std::fmt::Display,
18135        {
18136            self
18137                .inactive_color = value
18138                .try_into()
18139                .map_err(|e| {
18140                    format!("error converting supplied value for inactive_color: {}", e)
18141                });
18142            self
18143        }
18144        pub fn thumb_color<T>(mut self, value: T) -> Self
18145        where
18146            T: std::convert::TryInto<Option<super::StylesColor>>,
18147            T::Error: std::fmt::Display,
18148        {
18149            self
18150                .thumb_color = value
18151                .try_into()
18152                .map_err(|e| {
18153                    format!("error converting supplied value for thumb_color: {}", e)
18154                });
18155            self
18156        }
18157    }
18158    impl std::convert::TryFrom<StylesSliderStyle> for super::StylesSliderStyle {
18159        type Error = String;
18160        fn try_from(value: StylesSliderStyle) -> Result<Self, String> {
18161            Ok(Self {
18162                active_color: value.active_color?,
18163                inactive_color: value.inactive_color?,
18164                thumb_color: value.thumb_color?,
18165            })
18166        }
18167    }
18168    impl From<super::StylesSliderStyle> for StylesSliderStyle {
18169        fn from(value: super::StylesSliderStyle) -> Self {
18170            Self {
18171                active_color: Ok(value.active_color),
18172                inactive_color: Ok(value.inactive_color),
18173                thumb_color: Ok(value.thumb_color),
18174            }
18175        }
18176    }
18177    #[derive(Clone, Debug)]
18178    pub struct StylesStrutStyle {
18179        debug_label: Result<Option<String>, String>,
18180        font_family: Result<Option<String>, String>,
18181        font_family_fallback: Result<Vec<serde_json::Value>, String>,
18182        font_size: Result<Option<f64>, String>,
18183        font_weight: Result<Option<String>, String>,
18184        force_strut_height: Result<Option<bool>, String>,
18185        height: Result<Option<f64>, String>,
18186        leading: Result<Option<f64>, String>,
18187        leading_distribution: Result<
18188            Option<super::StylesTextLeadingDistribution>,
18189            String,
18190        >,
18191    }
18192    impl Default for StylesStrutStyle {
18193        fn default() -> Self {
18194            Self {
18195                debug_label: Ok(Default::default()),
18196                font_family: Ok(Default::default()),
18197                font_family_fallback: Ok(Default::default()),
18198                font_size: Ok(Default::default()),
18199                font_weight: Ok(Default::default()),
18200                force_strut_height: Ok(Default::default()),
18201                height: Ok(Default::default()),
18202                leading: Ok(Default::default()),
18203                leading_distribution: Ok(Default::default()),
18204            }
18205        }
18206    }
18207    impl StylesStrutStyle {
18208        pub fn debug_label<T>(mut self, value: T) -> Self
18209        where
18210            T: std::convert::TryInto<Option<String>>,
18211            T::Error: std::fmt::Display,
18212        {
18213            self
18214                .debug_label = value
18215                .try_into()
18216                .map_err(|e| {
18217                    format!("error converting supplied value for debug_label: {}", e)
18218                });
18219            self
18220        }
18221        pub fn font_family<T>(mut self, value: T) -> Self
18222        where
18223            T: std::convert::TryInto<Option<String>>,
18224            T::Error: std::fmt::Display,
18225        {
18226            self
18227                .font_family = value
18228                .try_into()
18229                .map_err(|e| {
18230                    format!("error converting supplied value for font_family: {}", e)
18231                });
18232            self
18233        }
18234        pub fn font_family_fallback<T>(mut self, value: T) -> Self
18235        where
18236            T: std::convert::TryInto<Vec<serde_json::Value>>,
18237            T::Error: std::fmt::Display,
18238        {
18239            self
18240                .font_family_fallback = value
18241                .try_into()
18242                .map_err(|e| {
18243                    format!(
18244                        "error converting supplied value for font_family_fallback: {}", e
18245                    )
18246                });
18247            self
18248        }
18249        pub fn font_size<T>(mut self, value: T) -> Self
18250        where
18251            T: std::convert::TryInto<Option<f64>>,
18252            T::Error: std::fmt::Display,
18253        {
18254            self
18255                .font_size = value
18256                .try_into()
18257                .map_err(|e| {
18258                    format!("error converting supplied value for font_size: {}", e)
18259                });
18260            self
18261        }
18262        pub fn font_weight<T>(mut self, value: T) -> Self
18263        where
18264            T: std::convert::TryInto<Option<String>>,
18265            T::Error: std::fmt::Display,
18266        {
18267            self
18268                .font_weight = value
18269                .try_into()
18270                .map_err(|e| {
18271                    format!("error converting supplied value for font_weight: {}", e)
18272                });
18273            self
18274        }
18275        pub fn force_strut_height<T>(mut self, value: T) -> Self
18276        where
18277            T: std::convert::TryInto<Option<bool>>,
18278            T::Error: std::fmt::Display,
18279        {
18280            self
18281                .force_strut_height = value
18282                .try_into()
18283                .map_err(|e| {
18284                    format!(
18285                        "error converting supplied value for force_strut_height: {}", e
18286                    )
18287                });
18288            self
18289        }
18290        pub fn height<T>(mut self, value: T) -> Self
18291        where
18292            T: std::convert::TryInto<Option<f64>>,
18293            T::Error: std::fmt::Display,
18294        {
18295            self
18296                .height = value
18297                .try_into()
18298                .map_err(|e| {
18299                    format!("error converting supplied value for height: {}", e)
18300                });
18301            self
18302        }
18303        pub fn leading<T>(mut self, value: T) -> Self
18304        where
18305            T: std::convert::TryInto<Option<f64>>,
18306            T::Error: std::fmt::Display,
18307        {
18308            self
18309                .leading = value
18310                .try_into()
18311                .map_err(|e| {
18312                    format!("error converting supplied value for leading: {}", e)
18313                });
18314            self
18315        }
18316        pub fn leading_distribution<T>(mut self, value: T) -> Self
18317        where
18318            T: std::convert::TryInto<Option<super::StylesTextLeadingDistribution>>,
18319            T::Error: std::fmt::Display,
18320        {
18321            self
18322                .leading_distribution = value
18323                .try_into()
18324                .map_err(|e| {
18325                    format!(
18326                        "error converting supplied value for leading_distribution: {}", e
18327                    )
18328                });
18329            self
18330        }
18331    }
18332    impl std::convert::TryFrom<StylesStrutStyle> for super::StylesStrutStyle {
18333        type Error = String;
18334        fn try_from(value: StylesStrutStyle) -> Result<Self, String> {
18335            Ok(Self {
18336                debug_label: value.debug_label?,
18337                font_family: value.font_family?,
18338                font_family_fallback: value.font_family_fallback?,
18339                font_size: value.font_size?,
18340                font_weight: value.font_weight?,
18341                force_strut_height: value.force_strut_height?,
18342                height: value.height?,
18343                leading: value.leading?,
18344                leading_distribution: value.leading_distribution?,
18345            })
18346        }
18347    }
18348    impl From<super::StylesStrutStyle> for StylesStrutStyle {
18349        fn from(value: super::StylesStrutStyle) -> Self {
18350            Self {
18351                debug_label: Ok(value.debug_label),
18352                font_family: Ok(value.font_family),
18353                font_family_fallback: Ok(value.font_family_fallback),
18354                font_size: Ok(value.font_size),
18355                font_weight: Ok(value.font_weight),
18356                force_strut_height: Ok(value.force_strut_height),
18357                height: Ok(value.height),
18358                leading: Ok(value.leading),
18359                leading_distribution: Ok(value.leading_distribution),
18360            }
18361        }
18362    }
18363    #[derive(Clone, Debug)]
18364    pub struct StylesTextFieldStyle {
18365        cursor_color: Result<Option<super::StylesColor>, String>,
18366        cursor_height: Result<Option<f64>, String>,
18367        cursor_radius: Result<Option<super::StylesRadius>, String>,
18368        cursor_width: Result<Option<f64>, String>,
18369        decoration: Result<Option<super::StylesInputDecoration>, String>,
18370        keyboard_appearance: Result<Option<super::StylesBrightness>, String>,
18371        obscuring_character: Result<Option<String>, String>,
18372        scroll_padding: Result<Option<super::StylesPadding>, String>,
18373        selection_height_style: Result<Option<super::StylesBoxHeightStyle>, String>,
18374        selection_width_style: Result<Option<super::StylesBoxWidthStyle>, String>,
18375        strut_style: Result<Option<super::StylesStrutStyle>, String>,
18376        text_align: Result<Option<super::StylesTextAlign>, String>,
18377        text_align_vertical: Result<Option<super::StylesTextAlignVertical>, String>,
18378        text_style: Result<Option<super::StylesTextStyle>, String>,
18379    }
18380    impl Default for StylesTextFieldStyle {
18381        fn default() -> Self {
18382            Self {
18383                cursor_color: Ok(Default::default()),
18384                cursor_height: Ok(Default::default()),
18385                cursor_radius: Ok(Default::default()),
18386                cursor_width: Ok(Default::default()),
18387                decoration: Ok(Default::default()),
18388                keyboard_appearance: Ok(Default::default()),
18389                obscuring_character: Ok(Default::default()),
18390                scroll_padding: Ok(Default::default()),
18391                selection_height_style: Ok(Default::default()),
18392                selection_width_style: Ok(Default::default()),
18393                strut_style: Ok(Default::default()),
18394                text_align: Ok(Default::default()),
18395                text_align_vertical: Ok(Default::default()),
18396                text_style: Ok(Default::default()),
18397            }
18398        }
18399    }
18400    impl StylesTextFieldStyle {
18401        pub fn cursor_color<T>(mut self, value: T) -> Self
18402        where
18403            T: std::convert::TryInto<Option<super::StylesColor>>,
18404            T::Error: std::fmt::Display,
18405        {
18406            self
18407                .cursor_color = value
18408                .try_into()
18409                .map_err(|e| {
18410                    format!("error converting supplied value for cursor_color: {}", e)
18411                });
18412            self
18413        }
18414        pub fn cursor_height<T>(mut self, value: T) -> Self
18415        where
18416            T: std::convert::TryInto<Option<f64>>,
18417            T::Error: std::fmt::Display,
18418        {
18419            self
18420                .cursor_height = value
18421                .try_into()
18422                .map_err(|e| {
18423                    format!("error converting supplied value for cursor_height: {}", e)
18424                });
18425            self
18426        }
18427        pub fn cursor_radius<T>(mut self, value: T) -> Self
18428        where
18429            T: std::convert::TryInto<Option<super::StylesRadius>>,
18430            T::Error: std::fmt::Display,
18431        {
18432            self
18433                .cursor_radius = value
18434                .try_into()
18435                .map_err(|e| {
18436                    format!("error converting supplied value for cursor_radius: {}", e)
18437                });
18438            self
18439        }
18440        pub fn cursor_width<T>(mut self, value: T) -> Self
18441        where
18442            T: std::convert::TryInto<Option<f64>>,
18443            T::Error: std::fmt::Display,
18444        {
18445            self
18446                .cursor_width = value
18447                .try_into()
18448                .map_err(|e| {
18449                    format!("error converting supplied value for cursor_width: {}", e)
18450                });
18451            self
18452        }
18453        pub fn decoration<T>(mut self, value: T) -> Self
18454        where
18455            T: std::convert::TryInto<Option<super::StylesInputDecoration>>,
18456            T::Error: std::fmt::Display,
18457        {
18458            self
18459                .decoration = value
18460                .try_into()
18461                .map_err(|e| {
18462                    format!("error converting supplied value for decoration: {}", e)
18463                });
18464            self
18465        }
18466        pub fn keyboard_appearance<T>(mut self, value: T) -> Self
18467        where
18468            T: std::convert::TryInto<Option<super::StylesBrightness>>,
18469            T::Error: std::fmt::Display,
18470        {
18471            self
18472                .keyboard_appearance = value
18473                .try_into()
18474                .map_err(|e| {
18475                    format!(
18476                        "error converting supplied value for keyboard_appearance: {}", e
18477                    )
18478                });
18479            self
18480        }
18481        pub fn obscuring_character<T>(mut self, value: T) -> Self
18482        where
18483            T: std::convert::TryInto<Option<String>>,
18484            T::Error: std::fmt::Display,
18485        {
18486            self
18487                .obscuring_character = value
18488                .try_into()
18489                .map_err(|e| {
18490                    format!(
18491                        "error converting supplied value for obscuring_character: {}", e
18492                    )
18493                });
18494            self
18495        }
18496        pub fn scroll_padding<T>(mut self, value: T) -> Self
18497        where
18498            T: std::convert::TryInto<Option<super::StylesPadding>>,
18499            T::Error: std::fmt::Display,
18500        {
18501            self
18502                .scroll_padding = value
18503                .try_into()
18504                .map_err(|e| {
18505                    format!("error converting supplied value for scroll_padding: {}", e)
18506                });
18507            self
18508        }
18509        pub fn selection_height_style<T>(mut self, value: T) -> Self
18510        where
18511            T: std::convert::TryInto<Option<super::StylesBoxHeightStyle>>,
18512            T::Error: std::fmt::Display,
18513        {
18514            self
18515                .selection_height_style = value
18516                .try_into()
18517                .map_err(|e| {
18518                    format!(
18519                        "error converting supplied value for selection_height_style: {}",
18520                        e
18521                    )
18522                });
18523            self
18524        }
18525        pub fn selection_width_style<T>(mut self, value: T) -> Self
18526        where
18527            T: std::convert::TryInto<Option<super::StylesBoxWidthStyle>>,
18528            T::Error: std::fmt::Display,
18529        {
18530            self
18531                .selection_width_style = value
18532                .try_into()
18533                .map_err(|e| {
18534                    format!(
18535                        "error converting supplied value for selection_width_style: {}",
18536                        e
18537                    )
18538                });
18539            self
18540        }
18541        pub fn strut_style<T>(mut self, value: T) -> Self
18542        where
18543            T: std::convert::TryInto<Option<super::StylesStrutStyle>>,
18544            T::Error: std::fmt::Display,
18545        {
18546            self
18547                .strut_style = value
18548                .try_into()
18549                .map_err(|e| {
18550                    format!("error converting supplied value for strut_style: {}", e)
18551                });
18552            self
18553        }
18554        pub fn text_align<T>(mut self, value: T) -> Self
18555        where
18556            T: std::convert::TryInto<Option<super::StylesTextAlign>>,
18557            T::Error: std::fmt::Display,
18558        {
18559            self
18560                .text_align = value
18561                .try_into()
18562                .map_err(|e| {
18563                    format!("error converting supplied value for text_align: {}", e)
18564                });
18565            self
18566        }
18567        pub fn text_align_vertical<T>(mut self, value: T) -> Self
18568        where
18569            T: std::convert::TryInto<Option<super::StylesTextAlignVertical>>,
18570            T::Error: std::fmt::Display,
18571        {
18572            self
18573                .text_align_vertical = value
18574                .try_into()
18575                .map_err(|e| {
18576                    format!(
18577                        "error converting supplied value for text_align_vertical: {}", e
18578                    )
18579                });
18580            self
18581        }
18582        pub fn text_style<T>(mut self, value: T) -> Self
18583        where
18584            T: std::convert::TryInto<Option<super::StylesTextStyle>>,
18585            T::Error: std::fmt::Display,
18586        {
18587            self
18588                .text_style = value
18589                .try_into()
18590                .map_err(|e| {
18591                    format!("error converting supplied value for text_style: {}", e)
18592                });
18593            self
18594        }
18595    }
18596    impl std::convert::TryFrom<StylesTextFieldStyle> for super::StylesTextFieldStyle {
18597        type Error = String;
18598        fn try_from(value: StylesTextFieldStyle) -> Result<Self, String> {
18599            Ok(Self {
18600                cursor_color: value.cursor_color?,
18601                cursor_height: value.cursor_height?,
18602                cursor_radius: value.cursor_radius?,
18603                cursor_width: value.cursor_width?,
18604                decoration: value.decoration?,
18605                keyboard_appearance: value.keyboard_appearance?,
18606                obscuring_character: value.obscuring_character?,
18607                scroll_padding: value.scroll_padding?,
18608                selection_height_style: value.selection_height_style?,
18609                selection_width_style: value.selection_width_style?,
18610                strut_style: value.strut_style?,
18611                text_align: value.text_align?,
18612                text_align_vertical: value.text_align_vertical?,
18613                text_style: value.text_style?,
18614            })
18615        }
18616    }
18617    impl From<super::StylesTextFieldStyle> for StylesTextFieldStyle {
18618        fn from(value: super::StylesTextFieldStyle) -> Self {
18619            Self {
18620                cursor_color: Ok(value.cursor_color),
18621                cursor_height: Ok(value.cursor_height),
18622                cursor_radius: Ok(value.cursor_radius),
18623                cursor_width: Ok(value.cursor_width),
18624                decoration: Ok(value.decoration),
18625                keyboard_appearance: Ok(value.keyboard_appearance),
18626                obscuring_character: Ok(value.obscuring_character),
18627                scroll_padding: Ok(value.scroll_padding),
18628                selection_height_style: Ok(value.selection_height_style),
18629                selection_width_style: Ok(value.selection_width_style),
18630                strut_style: Ok(value.strut_style),
18631                text_align: Ok(value.text_align),
18632                text_align_vertical: Ok(value.text_align_vertical),
18633                text_style: Ok(value.text_style),
18634            }
18635        }
18636    }
18637    #[derive(Clone, Debug)]
18638    pub struct StylesTextInputType {
18639        copy: Result<Option<bool>, String>,
18640        cut: Result<Option<bool>, String>,
18641        paste: Result<Option<bool>, String>,
18642        select_all: Result<Option<bool>, String>,
18643    }
18644    impl Default for StylesTextInputType {
18645        fn default() -> Self {
18646            Self {
18647                copy: Ok(Default::default()),
18648                cut: Ok(Default::default()),
18649                paste: Ok(Default::default()),
18650                select_all: Ok(Default::default()),
18651            }
18652        }
18653    }
18654    impl StylesTextInputType {
18655        pub fn copy<T>(mut self, value: T) -> Self
18656        where
18657            T: std::convert::TryInto<Option<bool>>,
18658            T::Error: std::fmt::Display,
18659        {
18660            self
18661                .copy = value
18662                .try_into()
18663                .map_err(|e| format!("error converting supplied value for copy: {}", e));
18664            self
18665        }
18666        pub fn cut<T>(mut self, value: T) -> Self
18667        where
18668            T: std::convert::TryInto<Option<bool>>,
18669            T::Error: std::fmt::Display,
18670        {
18671            self
18672                .cut = value
18673                .try_into()
18674                .map_err(|e| format!("error converting supplied value for cut: {}", e));
18675            self
18676        }
18677        pub fn paste<T>(mut self, value: T) -> Self
18678        where
18679            T: std::convert::TryInto<Option<bool>>,
18680            T::Error: std::fmt::Display,
18681        {
18682            self
18683                .paste = value
18684                .try_into()
18685                .map_err(|e| {
18686                    format!("error converting supplied value for paste: {}", e)
18687                });
18688            self
18689        }
18690        pub fn select_all<T>(mut self, value: T) -> Self
18691        where
18692            T: std::convert::TryInto<Option<bool>>,
18693            T::Error: std::fmt::Display,
18694        {
18695            self
18696                .select_all = value
18697                .try_into()
18698                .map_err(|e| {
18699                    format!("error converting supplied value for select_all: {}", e)
18700                });
18701            self
18702        }
18703    }
18704    impl std::convert::TryFrom<StylesTextInputType> for super::StylesTextInputType {
18705        type Error = String;
18706        fn try_from(value: StylesTextInputType) -> Result<Self, String> {
18707            Ok(Self {
18708                copy: value.copy?,
18709                cut: value.cut?,
18710                paste: value.paste?,
18711                select_all: value.select_all?,
18712            })
18713        }
18714    }
18715    impl From<super::StylesTextInputType> for StylesTextInputType {
18716        fn from(value: super::StylesTextInputType) -> Self {
18717            Self {
18718                copy: Ok(value.copy),
18719                cut: Ok(value.cut),
18720                paste: Ok(value.paste),
18721                select_all: Ok(value.select_all),
18722            }
18723        }
18724    }
18725    #[derive(Clone, Debug)]
18726    pub struct StylesTextStyle {
18727        color: Result<Option<super::StylesColor>, String>,
18728        decoration: Result<Option<super::StylesTextDecoration>, String>,
18729        decoration_color: Result<Option<super::StylesColor>, String>,
18730        decoration_style: Result<Option<super::StylesTextDecorationStyle>, String>,
18731        decoration_thickness: Result<Option<f64>, String>,
18732        font_family: Result<Option<String>, String>,
18733        font_family_fallback: Result<Vec<String>, String>,
18734        font_size: Result<Option<f64>, String>,
18735        font_style: Result<Option<super::StylesTextStyleFontStyle>, String>,
18736        font_weight: Result<Option<super::StylesTextStyleFontWeight>, String>,
18737        height: Result<Option<f64>, String>,
18738        letter_spacing: Result<Option<f64>, String>,
18739        overflow: Result<Option<super::StylesTextStyleOverflow>, String>,
18740        shadows: Result<Vec<super::StylesBoxShadow>, String>,
18741        text_baseline: Result<Option<super::StylesTextBaseline>, String>,
18742        word_spacing: Result<Option<f64>, String>,
18743    }
18744    impl Default for StylesTextStyle {
18745        fn default() -> Self {
18746            Self {
18747                color: Ok(Default::default()),
18748                decoration: Ok(Default::default()),
18749                decoration_color: Ok(Default::default()),
18750                decoration_style: Ok(Default::default()),
18751                decoration_thickness: Ok(Default::default()),
18752                font_family: Ok(Default::default()),
18753                font_family_fallback: Ok(Default::default()),
18754                font_size: Ok(Default::default()),
18755                font_style: Ok(Default::default()),
18756                font_weight: Ok(Default::default()),
18757                height: Ok(Default::default()),
18758                letter_spacing: Ok(Default::default()),
18759                overflow: Ok(Default::default()),
18760                shadows: Ok(Default::default()),
18761                text_baseline: Ok(Default::default()),
18762                word_spacing: Ok(Default::default()),
18763            }
18764        }
18765    }
18766    impl StylesTextStyle {
18767        pub fn color<T>(mut self, value: T) -> Self
18768        where
18769            T: std::convert::TryInto<Option<super::StylesColor>>,
18770            T::Error: std::fmt::Display,
18771        {
18772            self
18773                .color = value
18774                .try_into()
18775                .map_err(|e| {
18776                    format!("error converting supplied value for color: {}", e)
18777                });
18778            self
18779        }
18780        pub fn decoration<T>(mut self, value: T) -> Self
18781        where
18782            T: std::convert::TryInto<Option<super::StylesTextDecoration>>,
18783            T::Error: std::fmt::Display,
18784        {
18785            self
18786                .decoration = value
18787                .try_into()
18788                .map_err(|e| {
18789                    format!("error converting supplied value for decoration: {}", e)
18790                });
18791            self
18792        }
18793        pub fn decoration_color<T>(mut self, value: T) -> Self
18794        where
18795            T: std::convert::TryInto<Option<super::StylesColor>>,
18796            T::Error: std::fmt::Display,
18797        {
18798            self
18799                .decoration_color = value
18800                .try_into()
18801                .map_err(|e| {
18802                    format!(
18803                        "error converting supplied value for decoration_color: {}", e
18804                    )
18805                });
18806            self
18807        }
18808        pub fn decoration_style<T>(mut self, value: T) -> Self
18809        where
18810            T: std::convert::TryInto<Option<super::StylesTextDecorationStyle>>,
18811            T::Error: std::fmt::Display,
18812        {
18813            self
18814                .decoration_style = value
18815                .try_into()
18816                .map_err(|e| {
18817                    format!(
18818                        "error converting supplied value for decoration_style: {}", e
18819                    )
18820                });
18821            self
18822        }
18823        pub fn decoration_thickness<T>(mut self, value: T) -> Self
18824        where
18825            T: std::convert::TryInto<Option<f64>>,
18826            T::Error: std::fmt::Display,
18827        {
18828            self
18829                .decoration_thickness = value
18830                .try_into()
18831                .map_err(|e| {
18832                    format!(
18833                        "error converting supplied value for decoration_thickness: {}", e
18834                    )
18835                });
18836            self
18837        }
18838        pub fn font_family<T>(mut self, value: T) -> Self
18839        where
18840            T: std::convert::TryInto<Option<String>>,
18841            T::Error: std::fmt::Display,
18842        {
18843            self
18844                .font_family = value
18845                .try_into()
18846                .map_err(|e| {
18847                    format!("error converting supplied value for font_family: {}", e)
18848                });
18849            self
18850        }
18851        pub fn font_family_fallback<T>(mut self, value: T) -> Self
18852        where
18853            T: std::convert::TryInto<Vec<String>>,
18854            T::Error: std::fmt::Display,
18855        {
18856            self
18857                .font_family_fallback = value
18858                .try_into()
18859                .map_err(|e| {
18860                    format!(
18861                        "error converting supplied value for font_family_fallback: {}", e
18862                    )
18863                });
18864            self
18865        }
18866        pub fn font_size<T>(mut self, value: T) -> Self
18867        where
18868            T: std::convert::TryInto<Option<f64>>,
18869            T::Error: std::fmt::Display,
18870        {
18871            self
18872                .font_size = value
18873                .try_into()
18874                .map_err(|e| {
18875                    format!("error converting supplied value for font_size: {}", e)
18876                });
18877            self
18878        }
18879        pub fn font_style<T>(mut self, value: T) -> Self
18880        where
18881            T: std::convert::TryInto<Option<super::StylesTextStyleFontStyle>>,
18882            T::Error: std::fmt::Display,
18883        {
18884            self
18885                .font_style = value
18886                .try_into()
18887                .map_err(|e| {
18888                    format!("error converting supplied value for font_style: {}", e)
18889                });
18890            self
18891        }
18892        pub fn font_weight<T>(mut self, value: T) -> Self
18893        where
18894            T: std::convert::TryInto<Option<super::StylesTextStyleFontWeight>>,
18895            T::Error: std::fmt::Display,
18896        {
18897            self
18898                .font_weight = value
18899                .try_into()
18900                .map_err(|e| {
18901                    format!("error converting supplied value for font_weight: {}", e)
18902                });
18903            self
18904        }
18905        pub fn height<T>(mut self, value: T) -> Self
18906        where
18907            T: std::convert::TryInto<Option<f64>>,
18908            T::Error: std::fmt::Display,
18909        {
18910            self
18911                .height = value
18912                .try_into()
18913                .map_err(|e| {
18914                    format!("error converting supplied value for height: {}", e)
18915                });
18916            self
18917        }
18918        pub fn letter_spacing<T>(mut self, value: T) -> Self
18919        where
18920            T: std::convert::TryInto<Option<f64>>,
18921            T::Error: std::fmt::Display,
18922        {
18923            self
18924                .letter_spacing = value
18925                .try_into()
18926                .map_err(|e| {
18927                    format!("error converting supplied value for letter_spacing: {}", e)
18928                });
18929            self
18930        }
18931        pub fn overflow<T>(mut self, value: T) -> Self
18932        where
18933            T: std::convert::TryInto<Option<super::StylesTextStyleOverflow>>,
18934            T::Error: std::fmt::Display,
18935        {
18936            self
18937                .overflow = value
18938                .try_into()
18939                .map_err(|e| {
18940                    format!("error converting supplied value for overflow: {}", e)
18941                });
18942            self
18943        }
18944        pub fn shadows<T>(mut self, value: T) -> Self
18945        where
18946            T: std::convert::TryInto<Vec<super::StylesBoxShadow>>,
18947            T::Error: std::fmt::Display,
18948        {
18949            self
18950                .shadows = value
18951                .try_into()
18952                .map_err(|e| {
18953                    format!("error converting supplied value for shadows: {}", e)
18954                });
18955            self
18956        }
18957        pub fn text_baseline<T>(mut self, value: T) -> Self
18958        where
18959            T: std::convert::TryInto<Option<super::StylesTextBaseline>>,
18960            T::Error: std::fmt::Display,
18961        {
18962            self
18963                .text_baseline = value
18964                .try_into()
18965                .map_err(|e| {
18966                    format!("error converting supplied value for text_baseline: {}", e)
18967                });
18968            self
18969        }
18970        pub fn word_spacing<T>(mut self, value: T) -> Self
18971        where
18972            T: std::convert::TryInto<Option<f64>>,
18973            T::Error: std::fmt::Display,
18974        {
18975            self
18976                .word_spacing = value
18977                .try_into()
18978                .map_err(|e| {
18979                    format!("error converting supplied value for word_spacing: {}", e)
18980                });
18981            self
18982        }
18983    }
18984    impl std::convert::TryFrom<StylesTextStyle> for super::StylesTextStyle {
18985        type Error = String;
18986        fn try_from(value: StylesTextStyle) -> Result<Self, String> {
18987            Ok(Self {
18988                color: value.color?,
18989                decoration: value.decoration?,
18990                decoration_color: value.decoration_color?,
18991                decoration_style: value.decoration_style?,
18992                decoration_thickness: value.decoration_thickness?,
18993                font_family: value.font_family?,
18994                font_family_fallback: value.font_family_fallback?,
18995                font_size: value.font_size?,
18996                font_style: value.font_style?,
18997                font_weight: value.font_weight?,
18998                height: value.height?,
18999                letter_spacing: value.letter_spacing?,
19000                overflow: value.overflow?,
19001                shadows: value.shadows?,
19002                text_baseline: value.text_baseline?,
19003                word_spacing: value.word_spacing?,
19004            })
19005        }
19006    }
19007    impl From<super::StylesTextStyle> for StylesTextStyle {
19008        fn from(value: super::StylesTextStyle) -> Self {
19009            Self {
19010                color: Ok(value.color),
19011                decoration: Ok(value.decoration),
19012                decoration_color: Ok(value.decoration_color),
19013                decoration_style: Ok(value.decoration_style),
19014                decoration_thickness: Ok(value.decoration_thickness),
19015                font_family: Ok(value.font_family),
19016                font_family_fallback: Ok(value.font_family_fallback),
19017                font_size: Ok(value.font_size),
19018                font_style: Ok(value.font_style),
19019                font_weight: Ok(value.font_weight),
19020                height: Ok(value.height),
19021                letter_spacing: Ok(value.letter_spacing),
19022                overflow: Ok(value.overflow),
19023                shadows: Ok(value.shadows),
19024                text_baseline: Ok(value.text_baseline),
19025                word_spacing: Ok(value.word_spacing),
19026            }
19027        }
19028    }
19029    #[derive(Clone, Debug)]
19030    pub struct StylesToggleStyle {
19031        active_color: Result<Option<super::StylesColor>, String>,
19032        active_thumb_image: Result<Option<super::Image>, String>,
19033        active_track_color: Result<Option<super::StylesColor>, String>,
19034        focus_color: Result<Option<super::StylesColor>, String>,
19035        hover_color: Result<Option<super::StylesColor>, String>,
19036        inactive_thumb_color: Result<Option<super::StylesColor>, String>,
19037        inactive_thumb_image: Result<Option<super::Image>, String>,
19038        inactive_track_color: Result<Option<super::StylesColor>, String>,
19039        material_tap_target_size: Result<
19040            Option<super::StylesToggleStyleMaterialTapTargetSize>,
19041            String,
19042        >,
19043    }
19044    impl Default for StylesToggleStyle {
19045        fn default() -> Self {
19046            Self {
19047                active_color: Ok(Default::default()),
19048                active_thumb_image: Ok(Default::default()),
19049                active_track_color: Ok(Default::default()),
19050                focus_color: Ok(Default::default()),
19051                hover_color: Ok(Default::default()),
19052                inactive_thumb_color: Ok(Default::default()),
19053                inactive_thumb_image: Ok(Default::default()),
19054                inactive_track_color: Ok(Default::default()),
19055                material_tap_target_size: Ok(Default::default()),
19056            }
19057        }
19058    }
19059    impl StylesToggleStyle {
19060        pub fn active_color<T>(mut self, value: T) -> Self
19061        where
19062            T: std::convert::TryInto<Option<super::StylesColor>>,
19063            T::Error: std::fmt::Display,
19064        {
19065            self
19066                .active_color = value
19067                .try_into()
19068                .map_err(|e| {
19069                    format!("error converting supplied value for active_color: {}", e)
19070                });
19071            self
19072        }
19073        pub fn active_thumb_image<T>(mut self, value: T) -> Self
19074        where
19075            T: std::convert::TryInto<Option<super::Image>>,
19076            T::Error: std::fmt::Display,
19077        {
19078            self
19079                .active_thumb_image = value
19080                .try_into()
19081                .map_err(|e| {
19082                    format!(
19083                        "error converting supplied value for active_thumb_image: {}", e
19084                    )
19085                });
19086            self
19087        }
19088        pub fn active_track_color<T>(mut self, value: T) -> Self
19089        where
19090            T: std::convert::TryInto<Option<super::StylesColor>>,
19091            T::Error: std::fmt::Display,
19092        {
19093            self
19094                .active_track_color = value
19095                .try_into()
19096                .map_err(|e| {
19097                    format!(
19098                        "error converting supplied value for active_track_color: {}", e
19099                    )
19100                });
19101            self
19102        }
19103        pub fn focus_color<T>(mut self, value: T) -> Self
19104        where
19105            T: std::convert::TryInto<Option<super::StylesColor>>,
19106            T::Error: std::fmt::Display,
19107        {
19108            self
19109                .focus_color = value
19110                .try_into()
19111                .map_err(|e| {
19112                    format!("error converting supplied value for focus_color: {}", e)
19113                });
19114            self
19115        }
19116        pub fn hover_color<T>(mut self, value: T) -> Self
19117        where
19118            T: std::convert::TryInto<Option<super::StylesColor>>,
19119            T::Error: std::fmt::Display,
19120        {
19121            self
19122                .hover_color = value
19123                .try_into()
19124                .map_err(|e| {
19125                    format!("error converting supplied value for hover_color: {}", e)
19126                });
19127            self
19128        }
19129        pub fn inactive_thumb_color<T>(mut self, value: T) -> Self
19130        where
19131            T: std::convert::TryInto<Option<super::StylesColor>>,
19132            T::Error: std::fmt::Display,
19133        {
19134            self
19135                .inactive_thumb_color = value
19136                .try_into()
19137                .map_err(|e| {
19138                    format!(
19139                        "error converting supplied value for inactive_thumb_color: {}", e
19140                    )
19141                });
19142            self
19143        }
19144        pub fn inactive_thumb_image<T>(mut self, value: T) -> Self
19145        where
19146            T: std::convert::TryInto<Option<super::Image>>,
19147            T::Error: std::fmt::Display,
19148        {
19149            self
19150                .inactive_thumb_image = value
19151                .try_into()
19152                .map_err(|e| {
19153                    format!(
19154                        "error converting supplied value for inactive_thumb_image: {}", e
19155                    )
19156                });
19157            self
19158        }
19159        pub fn inactive_track_color<T>(mut self, value: T) -> Self
19160        where
19161            T: std::convert::TryInto<Option<super::StylesColor>>,
19162            T::Error: std::fmt::Display,
19163        {
19164            self
19165                .inactive_track_color = value
19166                .try_into()
19167                .map_err(|e| {
19168                    format!(
19169                        "error converting supplied value for inactive_track_color: {}", e
19170                    )
19171                });
19172            self
19173        }
19174        pub fn material_tap_target_size<T>(mut self, value: T) -> Self
19175        where
19176            T: std::convert::TryInto<
19177                Option<super::StylesToggleStyleMaterialTapTargetSize>,
19178            >,
19179            T::Error: std::fmt::Display,
19180        {
19181            self
19182                .material_tap_target_size = value
19183                .try_into()
19184                .map_err(|e| {
19185                    format!(
19186                        "error converting supplied value for material_tap_target_size: {}",
19187                        e
19188                    )
19189                });
19190            self
19191        }
19192    }
19193    impl std::convert::TryFrom<StylesToggleStyle> for super::StylesToggleStyle {
19194        type Error = String;
19195        fn try_from(value: StylesToggleStyle) -> Result<Self, String> {
19196            Ok(Self {
19197                active_color: value.active_color?,
19198                active_thumb_image: value.active_thumb_image?,
19199                active_track_color: value.active_track_color?,
19200                focus_color: value.focus_color?,
19201                hover_color: value.hover_color?,
19202                inactive_thumb_color: value.inactive_thumb_color?,
19203                inactive_thumb_image: value.inactive_thumb_image?,
19204                inactive_track_color: value.inactive_track_color?,
19205                material_tap_target_size: value.material_tap_target_size?,
19206            })
19207        }
19208    }
19209    impl From<super::StylesToggleStyle> for StylesToggleStyle {
19210        fn from(value: super::StylesToggleStyle) -> Self {
19211            Self {
19212                active_color: Ok(value.active_color),
19213                active_thumb_image: Ok(value.active_thumb_image),
19214                active_track_color: Ok(value.active_track_color),
19215                focus_color: Ok(value.focus_color),
19216                hover_color: Ok(value.hover_color),
19217                inactive_thumb_color: Ok(value.inactive_thumb_color),
19218                inactive_thumb_image: Ok(value.inactive_thumb_image),
19219                inactive_track_color: Ok(value.inactive_track_color),
19220                material_tap_target_size: Ok(value.material_tap_target_size),
19221            }
19222        }
19223    }
19224    #[derive(Clone, Debug)]
19225    pub struct StylesToolbarOptions {
19226        decimal: Result<Option<bool>, String>,
19227        signed: Result<Option<bool>, String>,
19228    }
19229    impl Default for StylesToolbarOptions {
19230        fn default() -> Self {
19231            Self {
19232                decimal: Ok(Default::default()),
19233                signed: Ok(Default::default()),
19234            }
19235        }
19236    }
19237    impl StylesToolbarOptions {
19238        pub fn decimal<T>(mut self, value: T) -> Self
19239        where
19240            T: std::convert::TryInto<Option<bool>>,
19241            T::Error: std::fmt::Display,
19242        {
19243            self
19244                .decimal = value
19245                .try_into()
19246                .map_err(|e| {
19247                    format!("error converting supplied value for decimal: {}", e)
19248                });
19249            self
19250        }
19251        pub fn signed<T>(mut self, value: T) -> Self
19252        where
19253            T: std::convert::TryInto<Option<bool>>,
19254            T::Error: std::fmt::Display,
19255        {
19256            self
19257                .signed = value
19258                .try_into()
19259                .map_err(|e| {
19260                    format!("error converting supplied value for signed: {}", e)
19261                });
19262            self
19263        }
19264    }
19265    impl std::convert::TryFrom<StylesToolbarOptions> for super::StylesToolbarOptions {
19266        type Error = String;
19267        fn try_from(value: StylesToolbarOptions) -> Result<Self, String> {
19268            Ok(Self {
19269                decimal: value.decimal?,
19270                signed: value.signed?,
19271            })
19272        }
19273    }
19274    impl From<super::StylesToolbarOptions> for StylesToolbarOptions {
19275        fn from(value: super::StylesToolbarOptions) -> Self {
19276            Self {
19277                decimal: Ok(value.decimal),
19278                signed: Ok(value.signed),
19279            }
19280        }
19281    }
19282    #[derive(Clone, Debug)]
19283    pub struct Text {
19284        children: Result<Vec<super::Text>, String>,
19285        locale: Result<Option<super::StylesLocale>, String>,
19286        semantics_label: Result<Option<String>, String>,
19287        spell_out: Result<Option<bool>, String>,
19288        style: Result<Option<super::StylesTextStyle>, String>,
19289        text_align: Result<Option<super::TextTextAlign>, String>,
19290        type_: Result<serde_json::Value, String>,
19291        value: Result<String, String>,
19292    }
19293    impl Default for Text {
19294        fn default() -> Self {
19295            Self {
19296                children: Ok(Default::default()),
19297                locale: Ok(Default::default()),
19298                semantics_label: Ok(Default::default()),
19299                spell_out: Ok(Default::default()),
19300                style: Ok(Default::default()),
19301                text_align: Ok(Default::default()),
19302                type_: Err("no value supplied for type_".to_string()),
19303                value: Err("no value supplied for value".to_string()),
19304            }
19305        }
19306    }
19307    impl Text {
19308        pub fn children<T>(mut self, value: T) -> Self
19309        where
19310            T: std::convert::TryInto<Vec<super::Text>>,
19311            T::Error: std::fmt::Display,
19312        {
19313            self
19314                .children = value
19315                .try_into()
19316                .map_err(|e| {
19317                    format!("error converting supplied value for children: {}", e)
19318                });
19319            self
19320        }
19321        pub fn locale<T>(mut self, value: T) -> Self
19322        where
19323            T: std::convert::TryInto<Option<super::StylesLocale>>,
19324            T::Error: std::fmt::Display,
19325        {
19326            self
19327                .locale = value
19328                .try_into()
19329                .map_err(|e| {
19330                    format!("error converting supplied value for locale: {}", e)
19331                });
19332            self
19333        }
19334        pub fn semantics_label<T>(mut self, value: T) -> Self
19335        where
19336            T: std::convert::TryInto<Option<String>>,
19337            T::Error: std::fmt::Display,
19338        {
19339            self
19340                .semantics_label = value
19341                .try_into()
19342                .map_err(|e| {
19343                    format!("error converting supplied value for semantics_label: {}", e)
19344                });
19345            self
19346        }
19347        pub fn spell_out<T>(mut self, value: T) -> Self
19348        where
19349            T: std::convert::TryInto<Option<bool>>,
19350            T::Error: std::fmt::Display,
19351        {
19352            self
19353                .spell_out = value
19354                .try_into()
19355                .map_err(|e| {
19356                    format!("error converting supplied value for spell_out: {}", e)
19357                });
19358            self
19359        }
19360        pub fn style<T>(mut self, value: T) -> Self
19361        where
19362            T: std::convert::TryInto<Option<super::StylesTextStyle>>,
19363            T::Error: std::fmt::Display,
19364        {
19365            self
19366                .style = value
19367                .try_into()
19368                .map_err(|e| {
19369                    format!("error converting supplied value for style: {}", e)
19370                });
19371            self
19372        }
19373        pub fn text_align<T>(mut self, value: T) -> Self
19374        where
19375            T: std::convert::TryInto<Option<super::TextTextAlign>>,
19376            T::Error: std::fmt::Display,
19377        {
19378            self
19379                .text_align = value
19380                .try_into()
19381                .map_err(|e| {
19382                    format!("error converting supplied value for text_align: {}", e)
19383                });
19384            self
19385        }
19386        pub fn type_<T>(mut self, value: T) -> Self
19387        where
19388            T: std::convert::TryInto<serde_json::Value>,
19389            T::Error: std::fmt::Display,
19390        {
19391            self
19392                .type_ = value
19393                .try_into()
19394                .map_err(|e| {
19395                    format!("error converting supplied value for type_: {}", e)
19396                });
19397            self
19398        }
19399        pub fn value<T>(mut self, value: T) -> Self
19400        where
19401            T: std::convert::TryInto<String>,
19402            T::Error: std::fmt::Display,
19403        {
19404            self
19405                .value = value
19406                .try_into()
19407                .map_err(|e| {
19408                    format!("error converting supplied value for value: {}", e)
19409                });
19410            self
19411        }
19412    }
19413    impl std::convert::TryFrom<Text> for super::Text {
19414        type Error = String;
19415        fn try_from(value: Text) -> Result<Self, String> {
19416            Ok(Self {
19417                children: value.children?,
19418                locale: value.locale?,
19419                semantics_label: value.semantics_label?,
19420                spell_out: value.spell_out?,
19421                style: value.style?,
19422                text_align: value.text_align?,
19423                type_: value.type_?,
19424                value: value.value?,
19425            })
19426        }
19427    }
19428    impl From<super::Text> for Text {
19429        fn from(value: super::Text) -> Self {
19430            Self {
19431                children: Ok(value.children),
19432                locale: Ok(value.locale),
19433                semantics_label: Ok(value.semantics_label),
19434                spell_out: Ok(value.spell_out),
19435                style: Ok(value.style),
19436                text_align: Ok(value.text_align),
19437                type_: Ok(value.type_),
19438                value: Ok(value.value),
19439            }
19440        }
19441    }
19442    #[derive(Clone, Debug)]
19443    pub struct Textfield {
19444        autocorrect: Result<Option<bool>, String>,
19445        autofill_hints: Result<Option<super::StylesAutofillHints>, String>,
19446        autofocus: Result<Option<bool>, String>,
19447        build_counter: Result<Option<super::Listener>, String>,
19448        drag_start_behavior: Result<Option<super::StylesDragStartBehavior>, String>,
19449        enable_interactive_selection: Result<Option<bool>, String>,
19450        enabled: Result<Option<bool>, String>,
19451        expands: Result<Option<bool>, String>,
19452        keyboard_type: Result<Option<super::StylesTextInputType>, String>,
19453        max_length: Result<Option<i64>, String>,
19454        max_length_enforcement: Result<
19455            Option<super::StylesMaxLengthEnforcement>,
19456            String,
19457        >,
19458        max_lines: Result<Option<i64>, String>,
19459        min_lines: Result<Option<i64>, String>,
19460        name: Result<Option<String>, String>,
19461        obscure_text: Result<Option<bool>, String>,
19462        on_app_private_command: Result<Option<super::Listener>, String>,
19463        on_changed: Result<Option<super::Listener>, String>,
19464        on_editing_complete: Result<Option<super::Listener>, String>,
19465        on_submitted: Result<Option<super::Listener>, String>,
19466        on_tap: Result<Option<super::Listener>, String>,
19467        read_only: Result<Option<bool>, String>,
19468        show_cursor: Result<Option<bool>, String>,
19469        style: Result<Option<super::StylesTextFieldStyle>, String>,
19470        text_capitalization: Result<Option<super::StylesTextCapitalization>, String>,
19471        text_direction: Result<Option<super::StylesTextDirection>, String>,
19472        text_input_action: Result<Option<super::StylesTextInputAction>, String>,
19473        toolbar_options: Result<Option<super::StylesToolbarOptions>, String>,
19474        type_: Result<serde_json::Value, String>,
19475        value: Result<String, String>,
19476    }
19477    impl Default for Textfield {
19478        fn default() -> Self {
19479            Self {
19480                autocorrect: Ok(Default::default()),
19481                autofill_hints: Ok(Default::default()),
19482                autofocus: Ok(Default::default()),
19483                build_counter: Ok(Default::default()),
19484                drag_start_behavior: Ok(Default::default()),
19485                enable_interactive_selection: Ok(Default::default()),
19486                enabled: Ok(Default::default()),
19487                expands: Ok(Default::default()),
19488                keyboard_type: Ok(Default::default()),
19489                max_length: Ok(Default::default()),
19490                max_length_enforcement: Ok(Default::default()),
19491                max_lines: Ok(Default::default()),
19492                min_lines: Ok(Default::default()),
19493                name: Ok(Default::default()),
19494                obscure_text: Ok(Default::default()),
19495                on_app_private_command: Ok(Default::default()),
19496                on_changed: Ok(Default::default()),
19497                on_editing_complete: Ok(Default::default()),
19498                on_submitted: Ok(Default::default()),
19499                on_tap: Ok(Default::default()),
19500                read_only: Ok(Default::default()),
19501                show_cursor: Ok(Default::default()),
19502                style: Ok(Default::default()),
19503                text_capitalization: Ok(Default::default()),
19504                text_direction: Ok(Default::default()),
19505                text_input_action: Ok(Default::default()),
19506                toolbar_options: Ok(Default::default()),
19507                type_: Err("no value supplied for type_".to_string()),
19508                value: Err("no value supplied for value".to_string()),
19509            }
19510        }
19511    }
19512    impl Textfield {
19513        pub fn autocorrect<T>(mut self, value: T) -> Self
19514        where
19515            T: std::convert::TryInto<Option<bool>>,
19516            T::Error: std::fmt::Display,
19517        {
19518            self
19519                .autocorrect = value
19520                .try_into()
19521                .map_err(|e| {
19522                    format!("error converting supplied value for autocorrect: {}", e)
19523                });
19524            self
19525        }
19526        pub fn autofill_hints<T>(mut self, value: T) -> Self
19527        where
19528            T: std::convert::TryInto<Option<super::StylesAutofillHints>>,
19529            T::Error: std::fmt::Display,
19530        {
19531            self
19532                .autofill_hints = value
19533                .try_into()
19534                .map_err(|e| {
19535                    format!("error converting supplied value for autofill_hints: {}", e)
19536                });
19537            self
19538        }
19539        pub fn autofocus<T>(mut self, value: T) -> Self
19540        where
19541            T: std::convert::TryInto<Option<bool>>,
19542            T::Error: std::fmt::Display,
19543        {
19544            self
19545                .autofocus = value
19546                .try_into()
19547                .map_err(|e| {
19548                    format!("error converting supplied value for autofocus: {}", e)
19549                });
19550            self
19551        }
19552        pub fn build_counter<T>(mut self, value: T) -> Self
19553        where
19554            T: std::convert::TryInto<Option<super::Listener>>,
19555            T::Error: std::fmt::Display,
19556        {
19557            self
19558                .build_counter = value
19559                .try_into()
19560                .map_err(|e| {
19561                    format!("error converting supplied value for build_counter: {}", e)
19562                });
19563            self
19564        }
19565        pub fn drag_start_behavior<T>(mut self, value: T) -> Self
19566        where
19567            T: std::convert::TryInto<Option<super::StylesDragStartBehavior>>,
19568            T::Error: std::fmt::Display,
19569        {
19570            self
19571                .drag_start_behavior = value
19572                .try_into()
19573                .map_err(|e| {
19574                    format!(
19575                        "error converting supplied value for drag_start_behavior: {}", e
19576                    )
19577                });
19578            self
19579        }
19580        pub fn enable_interactive_selection<T>(mut self, value: T) -> Self
19581        where
19582            T: std::convert::TryInto<Option<bool>>,
19583            T::Error: std::fmt::Display,
19584        {
19585            self
19586                .enable_interactive_selection = value
19587                .try_into()
19588                .map_err(|e| {
19589                    format!(
19590                        "error converting supplied value for enable_interactive_selection: {}",
19591                        e
19592                    )
19593                });
19594            self
19595        }
19596        pub fn enabled<T>(mut self, value: T) -> Self
19597        where
19598            T: std::convert::TryInto<Option<bool>>,
19599            T::Error: std::fmt::Display,
19600        {
19601            self
19602                .enabled = value
19603                .try_into()
19604                .map_err(|e| {
19605                    format!("error converting supplied value for enabled: {}", e)
19606                });
19607            self
19608        }
19609        pub fn expands<T>(mut self, value: T) -> Self
19610        where
19611            T: std::convert::TryInto<Option<bool>>,
19612            T::Error: std::fmt::Display,
19613        {
19614            self
19615                .expands = value
19616                .try_into()
19617                .map_err(|e| {
19618                    format!("error converting supplied value for expands: {}", e)
19619                });
19620            self
19621        }
19622        pub fn keyboard_type<T>(mut self, value: T) -> Self
19623        where
19624            T: std::convert::TryInto<Option<super::StylesTextInputType>>,
19625            T::Error: std::fmt::Display,
19626        {
19627            self
19628                .keyboard_type = value
19629                .try_into()
19630                .map_err(|e| {
19631                    format!("error converting supplied value for keyboard_type: {}", e)
19632                });
19633            self
19634        }
19635        pub fn max_length<T>(mut self, value: T) -> Self
19636        where
19637            T: std::convert::TryInto<Option<i64>>,
19638            T::Error: std::fmt::Display,
19639        {
19640            self
19641                .max_length = value
19642                .try_into()
19643                .map_err(|e| {
19644                    format!("error converting supplied value for max_length: {}", e)
19645                });
19646            self
19647        }
19648        pub fn max_length_enforcement<T>(mut self, value: T) -> Self
19649        where
19650            T: std::convert::TryInto<Option<super::StylesMaxLengthEnforcement>>,
19651            T::Error: std::fmt::Display,
19652        {
19653            self
19654                .max_length_enforcement = value
19655                .try_into()
19656                .map_err(|e| {
19657                    format!(
19658                        "error converting supplied value for max_length_enforcement: {}",
19659                        e
19660                    )
19661                });
19662            self
19663        }
19664        pub fn max_lines<T>(mut self, value: T) -> Self
19665        where
19666            T: std::convert::TryInto<Option<i64>>,
19667            T::Error: std::fmt::Display,
19668        {
19669            self
19670                .max_lines = value
19671                .try_into()
19672                .map_err(|e| {
19673                    format!("error converting supplied value for max_lines: {}", e)
19674                });
19675            self
19676        }
19677        pub fn min_lines<T>(mut self, value: T) -> Self
19678        where
19679            T: std::convert::TryInto<Option<i64>>,
19680            T::Error: std::fmt::Display,
19681        {
19682            self
19683                .min_lines = value
19684                .try_into()
19685                .map_err(|e| {
19686                    format!("error converting supplied value for min_lines: {}", e)
19687                });
19688            self
19689        }
19690        pub fn name<T>(mut self, value: T) -> Self
19691        where
19692            T: std::convert::TryInto<Option<String>>,
19693            T::Error: std::fmt::Display,
19694        {
19695            self
19696                .name = value
19697                .try_into()
19698                .map_err(|e| format!("error converting supplied value for name: {}", e));
19699            self
19700        }
19701        pub fn obscure_text<T>(mut self, value: T) -> Self
19702        where
19703            T: std::convert::TryInto<Option<bool>>,
19704            T::Error: std::fmt::Display,
19705        {
19706            self
19707                .obscure_text = value
19708                .try_into()
19709                .map_err(|e| {
19710                    format!("error converting supplied value for obscure_text: {}", e)
19711                });
19712            self
19713        }
19714        pub fn on_app_private_command<T>(mut self, value: T) -> Self
19715        where
19716            T: std::convert::TryInto<Option<super::Listener>>,
19717            T::Error: std::fmt::Display,
19718        {
19719            self
19720                .on_app_private_command = value
19721                .try_into()
19722                .map_err(|e| {
19723                    format!(
19724                        "error converting supplied value for on_app_private_command: {}",
19725                        e
19726                    )
19727                });
19728            self
19729        }
19730        pub fn on_changed<T>(mut self, value: T) -> Self
19731        where
19732            T: std::convert::TryInto<Option<super::Listener>>,
19733            T::Error: std::fmt::Display,
19734        {
19735            self
19736                .on_changed = value
19737                .try_into()
19738                .map_err(|e| {
19739                    format!("error converting supplied value for on_changed: {}", e)
19740                });
19741            self
19742        }
19743        pub fn on_editing_complete<T>(mut self, value: T) -> Self
19744        where
19745            T: std::convert::TryInto<Option<super::Listener>>,
19746            T::Error: std::fmt::Display,
19747        {
19748            self
19749                .on_editing_complete = value
19750                .try_into()
19751                .map_err(|e| {
19752                    format!(
19753                        "error converting supplied value for on_editing_complete: {}", e
19754                    )
19755                });
19756            self
19757        }
19758        pub fn on_submitted<T>(mut self, value: T) -> Self
19759        where
19760            T: std::convert::TryInto<Option<super::Listener>>,
19761            T::Error: std::fmt::Display,
19762        {
19763            self
19764                .on_submitted = value
19765                .try_into()
19766                .map_err(|e| {
19767                    format!("error converting supplied value for on_submitted: {}", e)
19768                });
19769            self
19770        }
19771        pub fn on_tap<T>(mut self, value: T) -> Self
19772        where
19773            T: std::convert::TryInto<Option<super::Listener>>,
19774            T::Error: std::fmt::Display,
19775        {
19776            self
19777                .on_tap = value
19778                .try_into()
19779                .map_err(|e| {
19780                    format!("error converting supplied value for on_tap: {}", e)
19781                });
19782            self
19783        }
19784        pub fn read_only<T>(mut self, value: T) -> Self
19785        where
19786            T: std::convert::TryInto<Option<bool>>,
19787            T::Error: std::fmt::Display,
19788        {
19789            self
19790                .read_only = value
19791                .try_into()
19792                .map_err(|e| {
19793                    format!("error converting supplied value for read_only: {}", e)
19794                });
19795            self
19796        }
19797        pub fn show_cursor<T>(mut self, value: T) -> Self
19798        where
19799            T: std::convert::TryInto<Option<bool>>,
19800            T::Error: std::fmt::Display,
19801        {
19802            self
19803                .show_cursor = value
19804                .try_into()
19805                .map_err(|e| {
19806                    format!("error converting supplied value for show_cursor: {}", e)
19807                });
19808            self
19809        }
19810        pub fn style<T>(mut self, value: T) -> Self
19811        where
19812            T: std::convert::TryInto<Option<super::StylesTextFieldStyle>>,
19813            T::Error: std::fmt::Display,
19814        {
19815            self
19816                .style = value
19817                .try_into()
19818                .map_err(|e| {
19819                    format!("error converting supplied value for style: {}", e)
19820                });
19821            self
19822        }
19823        pub fn text_capitalization<T>(mut self, value: T) -> Self
19824        where
19825            T: std::convert::TryInto<Option<super::StylesTextCapitalization>>,
19826            T::Error: std::fmt::Display,
19827        {
19828            self
19829                .text_capitalization = value
19830                .try_into()
19831                .map_err(|e| {
19832                    format!(
19833                        "error converting supplied value for text_capitalization: {}", e
19834                    )
19835                });
19836            self
19837        }
19838        pub fn text_direction<T>(mut self, value: T) -> Self
19839        where
19840            T: std::convert::TryInto<Option<super::StylesTextDirection>>,
19841            T::Error: std::fmt::Display,
19842        {
19843            self
19844                .text_direction = value
19845                .try_into()
19846                .map_err(|e| {
19847                    format!("error converting supplied value for text_direction: {}", e)
19848                });
19849            self
19850        }
19851        pub fn text_input_action<T>(mut self, value: T) -> Self
19852        where
19853            T: std::convert::TryInto<Option<super::StylesTextInputAction>>,
19854            T::Error: std::fmt::Display,
19855        {
19856            self
19857                .text_input_action = value
19858                .try_into()
19859                .map_err(|e| {
19860                    format!(
19861                        "error converting supplied value for text_input_action: {}", e
19862                    )
19863                });
19864            self
19865        }
19866        pub fn toolbar_options<T>(mut self, value: T) -> Self
19867        where
19868            T: std::convert::TryInto<Option<super::StylesToolbarOptions>>,
19869            T::Error: std::fmt::Display,
19870        {
19871            self
19872                .toolbar_options = value
19873                .try_into()
19874                .map_err(|e| {
19875                    format!("error converting supplied value for toolbar_options: {}", e)
19876                });
19877            self
19878        }
19879        pub fn type_<T>(mut self, value: T) -> Self
19880        where
19881            T: std::convert::TryInto<serde_json::Value>,
19882            T::Error: std::fmt::Display,
19883        {
19884            self
19885                .type_ = value
19886                .try_into()
19887                .map_err(|e| {
19888                    format!("error converting supplied value for type_: {}", e)
19889                });
19890            self
19891        }
19892        pub fn value<T>(mut self, value: T) -> Self
19893        where
19894            T: std::convert::TryInto<String>,
19895            T::Error: std::fmt::Display,
19896        {
19897            self
19898                .value = value
19899                .try_into()
19900                .map_err(|e| {
19901                    format!("error converting supplied value for value: {}", e)
19902                });
19903            self
19904        }
19905    }
19906    impl std::convert::TryFrom<Textfield> for super::Textfield {
19907        type Error = String;
19908        fn try_from(value: Textfield) -> Result<Self, String> {
19909            Ok(Self {
19910                autocorrect: value.autocorrect?,
19911                autofill_hints: value.autofill_hints?,
19912                autofocus: value.autofocus?,
19913                build_counter: value.build_counter?,
19914                drag_start_behavior: value.drag_start_behavior?,
19915                enable_interactive_selection: value.enable_interactive_selection?,
19916                enabled: value.enabled?,
19917                expands: value.expands?,
19918                keyboard_type: value.keyboard_type?,
19919                max_length: value.max_length?,
19920                max_length_enforcement: value.max_length_enforcement?,
19921                max_lines: value.max_lines?,
19922                min_lines: value.min_lines?,
19923                name: value.name?,
19924                obscure_text: value.obscure_text?,
19925                on_app_private_command: value.on_app_private_command?,
19926                on_changed: value.on_changed?,
19927                on_editing_complete: value.on_editing_complete?,
19928                on_submitted: value.on_submitted?,
19929                on_tap: value.on_tap?,
19930                read_only: value.read_only?,
19931                show_cursor: value.show_cursor?,
19932                style: value.style?,
19933                text_capitalization: value.text_capitalization?,
19934                text_direction: value.text_direction?,
19935                text_input_action: value.text_input_action?,
19936                toolbar_options: value.toolbar_options?,
19937                type_: value.type_?,
19938                value: value.value?,
19939            })
19940        }
19941    }
19942    impl From<super::Textfield> for Textfield {
19943        fn from(value: super::Textfield) -> Self {
19944            Self {
19945                autocorrect: Ok(value.autocorrect),
19946                autofill_hints: Ok(value.autofill_hints),
19947                autofocus: Ok(value.autofocus),
19948                build_counter: Ok(value.build_counter),
19949                drag_start_behavior: Ok(value.drag_start_behavior),
19950                enable_interactive_selection: Ok(value.enable_interactive_selection),
19951                enabled: Ok(value.enabled),
19952                expands: Ok(value.expands),
19953                keyboard_type: Ok(value.keyboard_type),
19954                max_length: Ok(value.max_length),
19955                max_length_enforcement: Ok(value.max_length_enforcement),
19956                max_lines: Ok(value.max_lines),
19957                min_lines: Ok(value.min_lines),
19958                name: Ok(value.name),
19959                obscure_text: Ok(value.obscure_text),
19960                on_app_private_command: Ok(value.on_app_private_command),
19961                on_changed: Ok(value.on_changed),
19962                on_editing_complete: Ok(value.on_editing_complete),
19963                on_submitted: Ok(value.on_submitted),
19964                on_tap: Ok(value.on_tap),
19965                read_only: Ok(value.read_only),
19966                show_cursor: Ok(value.show_cursor),
19967                style: Ok(value.style),
19968                text_capitalization: Ok(value.text_capitalization),
19969                text_direction: Ok(value.text_direction),
19970                text_input_action: Ok(value.text_input_action),
19971                toolbar_options: Ok(value.toolbar_options),
19972                type_: Ok(value.type_),
19973                value: Ok(value.value),
19974            }
19975        }
19976    }
19977    #[derive(Clone, Debug)]
19978    pub struct Toggle {
19979        autofocus: Result<Option<bool>, String>,
19980        disabled: Result<Option<bool>, String>,
19981        drag_start_behavior: Result<Option<super::ToggleDragStartBehavior>, String>,
19982        name: Result<Option<String>, String>,
19983        on_pressed: Result<Option<super::Listener>, String>,
19984        splash_radius: Result<Option<f64>, String>,
19985        style: Result<Option<super::StylesToggleStyle>, String>,
19986        type_: Result<serde_json::Value, String>,
19987        value: Result<bool, String>,
19988    }
19989    impl Default for Toggle {
19990        fn default() -> Self {
19991            Self {
19992                autofocus: Ok(Default::default()),
19993                disabled: Ok(Default::default()),
19994                drag_start_behavior: Ok(Default::default()),
19995                name: Ok(Default::default()),
19996                on_pressed: Ok(Default::default()),
19997                splash_radius: Ok(Default::default()),
19998                style: Ok(Default::default()),
19999                type_: Err("no value supplied for type_".to_string()),
20000                value: Err("no value supplied for value".to_string()),
20001            }
20002        }
20003    }
20004    impl Toggle {
20005        pub fn autofocus<T>(mut self, value: T) -> Self
20006        where
20007            T: std::convert::TryInto<Option<bool>>,
20008            T::Error: std::fmt::Display,
20009        {
20010            self
20011                .autofocus = value
20012                .try_into()
20013                .map_err(|e| {
20014                    format!("error converting supplied value for autofocus: {}", e)
20015                });
20016            self
20017        }
20018        pub fn disabled<T>(mut self, value: T) -> Self
20019        where
20020            T: std::convert::TryInto<Option<bool>>,
20021            T::Error: std::fmt::Display,
20022        {
20023            self
20024                .disabled = value
20025                .try_into()
20026                .map_err(|e| {
20027                    format!("error converting supplied value for disabled: {}", e)
20028                });
20029            self
20030        }
20031        pub fn drag_start_behavior<T>(mut self, value: T) -> Self
20032        where
20033            T: std::convert::TryInto<Option<super::ToggleDragStartBehavior>>,
20034            T::Error: std::fmt::Display,
20035        {
20036            self
20037                .drag_start_behavior = value
20038                .try_into()
20039                .map_err(|e| {
20040                    format!(
20041                        "error converting supplied value for drag_start_behavior: {}", e
20042                    )
20043                });
20044            self
20045        }
20046        pub fn name<T>(mut self, value: T) -> Self
20047        where
20048            T: std::convert::TryInto<Option<String>>,
20049            T::Error: std::fmt::Display,
20050        {
20051            self
20052                .name = value
20053                .try_into()
20054                .map_err(|e| format!("error converting supplied value for name: {}", e));
20055            self
20056        }
20057        pub fn on_pressed<T>(mut self, value: T) -> Self
20058        where
20059            T: std::convert::TryInto<Option<super::Listener>>,
20060            T::Error: std::fmt::Display,
20061        {
20062            self
20063                .on_pressed = value
20064                .try_into()
20065                .map_err(|e| {
20066                    format!("error converting supplied value for on_pressed: {}", e)
20067                });
20068            self
20069        }
20070        pub fn splash_radius<T>(mut self, value: T) -> Self
20071        where
20072            T: std::convert::TryInto<Option<f64>>,
20073            T::Error: std::fmt::Display,
20074        {
20075            self
20076                .splash_radius = value
20077                .try_into()
20078                .map_err(|e| {
20079                    format!("error converting supplied value for splash_radius: {}", e)
20080                });
20081            self
20082        }
20083        pub fn style<T>(mut self, value: T) -> Self
20084        where
20085            T: std::convert::TryInto<Option<super::StylesToggleStyle>>,
20086            T::Error: std::fmt::Display,
20087        {
20088            self
20089                .style = value
20090                .try_into()
20091                .map_err(|e| {
20092                    format!("error converting supplied value for style: {}", e)
20093                });
20094            self
20095        }
20096        pub fn type_<T>(mut self, value: T) -> Self
20097        where
20098            T: std::convert::TryInto<serde_json::Value>,
20099            T::Error: std::fmt::Display,
20100        {
20101            self
20102                .type_ = value
20103                .try_into()
20104                .map_err(|e| {
20105                    format!("error converting supplied value for type_: {}", e)
20106                });
20107            self
20108        }
20109        pub fn value<T>(mut self, value: T) -> Self
20110        where
20111            T: std::convert::TryInto<bool>,
20112            T::Error: std::fmt::Display,
20113        {
20114            self
20115                .value = value
20116                .try_into()
20117                .map_err(|e| {
20118                    format!("error converting supplied value for value: {}", e)
20119                });
20120            self
20121        }
20122    }
20123    impl std::convert::TryFrom<Toggle> for super::Toggle {
20124        type Error = String;
20125        fn try_from(value: Toggle) -> Result<Self, String> {
20126            Ok(Self {
20127                autofocus: value.autofocus?,
20128                disabled: value.disabled?,
20129                drag_start_behavior: value.drag_start_behavior?,
20130                name: value.name?,
20131                on_pressed: value.on_pressed?,
20132                splash_radius: value.splash_radius?,
20133                style: value.style?,
20134                type_: value.type_?,
20135                value: value.value?,
20136            })
20137        }
20138    }
20139    impl From<super::Toggle> for Toggle {
20140        fn from(value: super::Toggle) -> Self {
20141            Self {
20142                autofocus: Ok(value.autofocus),
20143                disabled: Ok(value.disabled),
20144                drag_start_behavior: Ok(value.drag_start_behavior),
20145                name: Ok(value.name),
20146                on_pressed: Ok(value.on_pressed),
20147                splash_radius: Ok(value.splash_radius),
20148                style: Ok(value.style),
20149                type_: Ok(value.type_),
20150                value: Ok(value.value),
20151            }
20152        }
20153    }
20154    #[derive(Clone, Debug)]
20155    pub struct View {
20156        context: Result<serde_json::Map<String, serde_json::Value>, String>,
20157        find: Result<Option<super::ViewDefinitionsFind>, String>,
20158        name: Result<String, String>,
20159        props: Result<Option<super::DefsProps>, String>,
20160        type_: Result<serde_json::Value, String>,
20161    }
20162    impl Default for View {
20163        fn default() -> Self {
20164            Self {
20165                context: Ok(Default::default()),
20166                find: Ok(Default::default()),
20167                name: Err("no value supplied for name".to_string()),
20168                props: Ok(Default::default()),
20169                type_: Err("no value supplied for type_".to_string()),
20170            }
20171        }
20172    }
20173    impl View {
20174        pub fn context<T>(mut self, value: T) -> Self
20175        where
20176            T: std::convert::TryInto<serde_json::Map<String, serde_json::Value>>,
20177            T::Error: std::fmt::Display,
20178        {
20179            self
20180                .context = value
20181                .try_into()
20182                .map_err(|e| {
20183                    format!("error converting supplied value for context: {}", e)
20184                });
20185            self
20186        }
20187        pub fn find<T>(mut self, value: T) -> Self
20188        where
20189            T: std::convert::TryInto<Option<super::ViewDefinitionsFind>>,
20190            T::Error: std::fmt::Display,
20191        {
20192            self
20193                .find = value
20194                .try_into()
20195                .map_err(|e| format!("error converting supplied value for find: {}", e));
20196            self
20197        }
20198        pub fn name<T>(mut self, value: T) -> Self
20199        where
20200            T: std::convert::TryInto<String>,
20201            T::Error: std::fmt::Display,
20202        {
20203            self
20204                .name = value
20205                .try_into()
20206                .map_err(|e| format!("error converting supplied value for name: {}", e));
20207            self
20208        }
20209        pub fn props<T>(mut self, value: T) -> Self
20210        where
20211            T: std::convert::TryInto<Option<super::DefsProps>>,
20212            T::Error: std::fmt::Display,
20213        {
20214            self
20215                .props = value
20216                .try_into()
20217                .map_err(|e| {
20218                    format!("error converting supplied value for props: {}", e)
20219                });
20220            self
20221        }
20222        pub fn type_<T>(mut self, value: T) -> Self
20223        where
20224            T: std::convert::TryInto<serde_json::Value>,
20225            T::Error: std::fmt::Display,
20226        {
20227            self
20228                .type_ = value
20229                .try_into()
20230                .map_err(|e| {
20231                    format!("error converting supplied value for type_: {}", e)
20232                });
20233            self
20234        }
20235    }
20236    impl std::convert::TryFrom<View> for super::View {
20237        type Error = String;
20238        fn try_from(value: View) -> Result<Self, String> {
20239            Ok(Self {
20240                context: value.context?,
20241                find: value.find?,
20242                name: value.name?,
20243                props: value.props?,
20244                type_: value.type_?,
20245            })
20246        }
20247    }
20248    impl From<super::View> for View {
20249        fn from(value: super::View) -> Self {
20250            Self {
20251                context: Ok(value.context),
20252                find: Ok(value.find),
20253                name: Ok(value.name),
20254                props: Ok(value.props),
20255                type_: Ok(value.type_),
20256            }
20257        }
20258    }
20259    #[derive(Clone, Debug)]
20260    pub struct ViewDefinitionsFind {
20261        coll: Result<String, String>,
20262        projection: Result<Option<super::DataProjection>, String>,
20263        query: Result<super::DataQuery, String>,
20264    }
20265    impl Default for ViewDefinitionsFind {
20266        fn default() -> Self {
20267            Self {
20268                coll: Err("no value supplied for coll".to_string()),
20269                projection: Ok(Default::default()),
20270                query: Err("no value supplied for query".to_string()),
20271            }
20272        }
20273    }
20274    impl ViewDefinitionsFind {
20275        pub fn coll<T>(mut self, value: T) -> Self
20276        where
20277            T: std::convert::TryInto<String>,
20278            T::Error: std::fmt::Display,
20279        {
20280            self
20281                .coll = value
20282                .try_into()
20283                .map_err(|e| format!("error converting supplied value for coll: {}", e));
20284            self
20285        }
20286        pub fn projection<T>(mut self, value: T) -> Self
20287        where
20288            T: std::convert::TryInto<Option<super::DataProjection>>,
20289            T::Error: std::fmt::Display,
20290        {
20291            self
20292                .projection = value
20293                .try_into()
20294                .map_err(|e| {
20295                    format!("error converting supplied value for projection: {}", e)
20296                });
20297            self
20298        }
20299        pub fn query<T>(mut self, value: T) -> Self
20300        where
20301            T: std::convert::TryInto<super::DataQuery>,
20302            T::Error: std::fmt::Display,
20303        {
20304            self
20305                .query = value
20306                .try_into()
20307                .map_err(|e| {
20308                    format!("error converting supplied value for query: {}", e)
20309                });
20310            self
20311        }
20312    }
20313    impl std::convert::TryFrom<ViewDefinitionsFind> for super::ViewDefinitionsFind {
20314        type Error = String;
20315        fn try_from(value: ViewDefinitionsFind) -> Result<Self, String> {
20316            Ok(Self {
20317                coll: value.coll?,
20318                projection: value.projection?,
20319                query: value.query?,
20320            })
20321        }
20322    }
20323    impl From<super::ViewDefinitionsFind> for ViewDefinitionsFind {
20324        fn from(value: super::ViewDefinitionsFind) -> Self {
20325            Self {
20326                coll: Ok(value.coll),
20327                projection: Ok(value.projection),
20328                query: Ok(value.query),
20329            }
20330        }
20331    }
20332    #[derive(Clone, Debug)]
20333    pub struct Wrap {
20334        alignment: Result<Option<super::StylesWrapAlignment>, String>,
20335        children: Result<Vec<super::LenraComponent>, String>,
20336        cross_axis_alignment: Result<Option<super::StylesWrapCrossAlignment>, String>,
20337        direction: Result<Option<super::StylesDirection>, String>,
20338        horizontal_direction: Result<Option<super::StylesTextDirection>, String>,
20339        run_alignment: Result<Option<super::StylesWrapAlignment>, String>,
20340        run_spacing: Result<Option<f64>, String>,
20341        spacing: Result<Option<f64>, String>,
20342        type_: Result<serde_json::Value, String>,
20343        vertical_direction: Result<Option<super::StylesVerticalDirection>, String>,
20344    }
20345    impl Default for Wrap {
20346        fn default() -> Self {
20347            Self {
20348                alignment: Ok(Default::default()),
20349                children: Err("no value supplied for children".to_string()),
20350                cross_axis_alignment: Ok(Default::default()),
20351                direction: Ok(Default::default()),
20352                horizontal_direction: Ok(Default::default()),
20353                run_alignment: Ok(Default::default()),
20354                run_spacing: Ok(Default::default()),
20355                spacing: Ok(Default::default()),
20356                type_: Err("no value supplied for type_".to_string()),
20357                vertical_direction: Ok(Default::default()),
20358            }
20359        }
20360    }
20361    impl Wrap {
20362        pub fn alignment<T>(mut self, value: T) -> Self
20363        where
20364            T: std::convert::TryInto<Option<super::StylesWrapAlignment>>,
20365            T::Error: std::fmt::Display,
20366        {
20367            self
20368                .alignment = value
20369                .try_into()
20370                .map_err(|e| {
20371                    format!("error converting supplied value for alignment: {}", e)
20372                });
20373            self
20374        }
20375        pub fn children<T>(mut self, value: T) -> Self
20376        where
20377            T: std::convert::TryInto<Vec<super::LenraComponent>>,
20378            T::Error: std::fmt::Display,
20379        {
20380            self
20381                .children = value
20382                .try_into()
20383                .map_err(|e| {
20384                    format!("error converting supplied value for children: {}", e)
20385                });
20386            self
20387        }
20388        pub fn cross_axis_alignment<T>(mut self, value: T) -> Self
20389        where
20390            T: std::convert::TryInto<Option<super::StylesWrapCrossAlignment>>,
20391            T::Error: std::fmt::Display,
20392        {
20393            self
20394                .cross_axis_alignment = value
20395                .try_into()
20396                .map_err(|e| {
20397                    format!(
20398                        "error converting supplied value for cross_axis_alignment: {}", e
20399                    )
20400                });
20401            self
20402        }
20403        pub fn direction<T>(mut self, value: T) -> Self
20404        where
20405            T: std::convert::TryInto<Option<super::StylesDirection>>,
20406            T::Error: std::fmt::Display,
20407        {
20408            self
20409                .direction = value
20410                .try_into()
20411                .map_err(|e| {
20412                    format!("error converting supplied value for direction: {}", e)
20413                });
20414            self
20415        }
20416        pub fn horizontal_direction<T>(mut self, value: T) -> Self
20417        where
20418            T: std::convert::TryInto<Option<super::StylesTextDirection>>,
20419            T::Error: std::fmt::Display,
20420        {
20421            self
20422                .horizontal_direction = value
20423                .try_into()
20424                .map_err(|e| {
20425                    format!(
20426                        "error converting supplied value for horizontal_direction: {}", e
20427                    )
20428                });
20429            self
20430        }
20431        pub fn run_alignment<T>(mut self, value: T) -> Self
20432        where
20433            T: std::convert::TryInto<Option<super::StylesWrapAlignment>>,
20434            T::Error: std::fmt::Display,
20435        {
20436            self
20437                .run_alignment = value
20438                .try_into()
20439                .map_err(|e| {
20440                    format!("error converting supplied value for run_alignment: {}", e)
20441                });
20442            self
20443        }
20444        pub fn run_spacing<T>(mut self, value: T) -> Self
20445        where
20446            T: std::convert::TryInto<Option<f64>>,
20447            T::Error: std::fmt::Display,
20448        {
20449            self
20450                .run_spacing = value
20451                .try_into()
20452                .map_err(|e| {
20453                    format!("error converting supplied value for run_spacing: {}", e)
20454                });
20455            self
20456        }
20457        pub fn spacing<T>(mut self, value: T) -> Self
20458        where
20459            T: std::convert::TryInto<Option<f64>>,
20460            T::Error: std::fmt::Display,
20461        {
20462            self
20463                .spacing = value
20464                .try_into()
20465                .map_err(|e| {
20466                    format!("error converting supplied value for spacing: {}", e)
20467                });
20468            self
20469        }
20470        pub fn type_<T>(mut self, value: T) -> Self
20471        where
20472            T: std::convert::TryInto<serde_json::Value>,
20473            T::Error: std::fmt::Display,
20474        {
20475            self
20476                .type_ = value
20477                .try_into()
20478                .map_err(|e| {
20479                    format!("error converting supplied value for type_: {}", e)
20480                });
20481            self
20482        }
20483        pub fn vertical_direction<T>(mut self, value: T) -> Self
20484        where
20485            T: std::convert::TryInto<Option<super::StylesVerticalDirection>>,
20486            T::Error: std::fmt::Display,
20487        {
20488            self
20489                .vertical_direction = value
20490                .try_into()
20491                .map_err(|e| {
20492                    format!(
20493                        "error converting supplied value for vertical_direction: {}", e
20494                    )
20495                });
20496            self
20497        }
20498    }
20499    impl std::convert::TryFrom<Wrap> for super::Wrap {
20500        type Error = String;
20501        fn try_from(value: Wrap) -> Result<Self, String> {
20502            Ok(Self {
20503                alignment: value.alignment?,
20504                children: value.children?,
20505                cross_axis_alignment: value.cross_axis_alignment?,
20506                direction: value.direction?,
20507                horizontal_direction: value.horizontal_direction?,
20508                run_alignment: value.run_alignment?,
20509                run_spacing: value.run_spacing?,
20510                spacing: value.spacing?,
20511                type_: value.type_?,
20512                vertical_direction: value.vertical_direction?,
20513            })
20514        }
20515    }
20516    impl From<super::Wrap> for Wrap {
20517        fn from(value: super::Wrap) -> Self {
20518            Self {
20519                alignment: Ok(value.alignment),
20520                children: Ok(value.children),
20521                cross_axis_alignment: Ok(value.cross_axis_alignment),
20522                direction: Ok(value.direction),
20523                horizontal_direction: Ok(value.horizontal_direction),
20524                run_alignment: Ok(value.run_alignment),
20525                run_spacing: Ok(value.run_spacing),
20526                spacing: Ok(value.spacing),
20527                type_: Ok(value.type_),
20528                vertical_direction: Ok(value.vertical_direction),
20529            }
20530        }
20531    }
20532}
20533
20534
20535pub fn actionable<T0>(child: T0) -> builder::Actionable 
20536where
20537    T0: std::convert::TryInto<LenraComponent>,
20538    T0::Error: std::fmt::Display,
20539 {
20540    Actionable::builder()
20541        .type_("actionable")
20542        .child(child)
20543}
20544
20545pub fn button<T0>(text: T0) -> builder::Button 
20546where
20547    T0: std::convert::TryInto<String>,
20548    T0::Error: std::fmt::Display,
20549 {
20550    Button::builder()
20551        .type_("button")
20552        .text(text)
20553}
20554
20555pub fn carousel<T0>(children: T0) -> builder::Carousel 
20556where
20557    T0: std::convert::TryInto<Vec < LenraComponent >>,
20558    T0::Error: std::fmt::Display,
20559 {
20560    Carousel::builder()
20561        .type_("carousel")
20562        .children(children)
20563}
20564
20565pub fn checkbox<T0>(value: T0) -> builder::Checkbox 
20566where
20567    T0: std::convert::TryInto<bool>,
20568    T0::Error: std::fmt::Display,
20569 {
20570    Checkbox::builder()
20571        .type_("checkbox")
20572        .value(value)
20573}
20574
20575pub fn container() -> builder::Container {
20576    Container::builder()
20577        .type_("container")
20578}
20579
20580pub fn dropdownbutton<T0, T1>(child: T0, text: T1) -> builder::DropdownButton 
20581where
20582    T0: std::convert::TryInto<Box < LenraComponent >>,
20583    T0::Error: std::fmt::Display,
20584    T1: std::convert::TryInto<String>,
20585    T1::Error: std::fmt::Display,
20586 {
20587    DropdownButton::builder()
20588        .type_("dropdownbutton")
20589        .child(child)
20590        .text(text)
20591}
20592
20593pub fn flex<T0>(children: T0) -> builder::Flex 
20594where
20595    T0: std::convert::TryInto<Vec < LenraComponent >>,
20596    T0::Error: std::fmt::Display,
20597 {
20598    Flex::builder()
20599        .type_("flex")
20600        .children(children)
20601}
20602
20603pub fn flexible<T0>(child: T0) -> builder::Flexible 
20604where
20605    T0: std::convert::TryInto<Box < LenraComponent >>,
20606    T0::Error: std::fmt::Display,
20607 {
20608    Flexible::builder()
20609        .type_("flexible")
20610        .child(child)
20611}
20612
20613pub fn form<T0>(child: T0) -> builder::Form 
20614where
20615    T0: std::convert::TryInto<Box < LenraComponent >>,
20616    T0::Error: std::fmt::Display,
20617 {
20618    Form::builder()
20619        .type_("form")
20620        .child(child)
20621}
20622
20623pub fn icon<T0>(value: T0) -> builder::Icon 
20624where
20625    T0: std::convert::TryInto<StylesIconName>,
20626    T0::Error: std::fmt::Display,
20627 {
20628    Icon::builder()
20629        .type_("icon")
20630        .value(value)
20631}
20632
20633pub fn image<T0>(src: T0) -> builder::Image 
20634where
20635    T0: std::convert::TryInto<String>,
20636    T0::Error: std::fmt::Display,
20637 {
20638    Image::builder()
20639        .type_("image")
20640        .src(src)
20641}
20642
20643pub fn menu<T0>(children: T0) -> builder::Menu 
20644where
20645    T0: std::convert::TryInto<Vec < LenraComponent >>,
20646    T0::Error: std::fmt::Display,
20647 {
20648    Menu::builder()
20649        .type_("menu")
20650        .children(children)
20651}
20652
20653pub fn menuitem<T0>(text: T0) -> builder::MenuItem 
20654where
20655    T0: std::convert::TryInto<String>,
20656    T0::Error: std::fmt::Display,
20657 {
20658    MenuItem::builder()
20659        .type_("menuitem")
20660        .text(text)
20661}
20662
20663pub fn overlayentry<T0>(child: T0) -> builder::OverlayEntry 
20664where
20665    T0: std::convert::TryInto<Box < LenraComponent >>,
20666    T0::Error: std::fmt::Display,
20667 {
20668    OverlayEntry::builder()
20669        .type_("overlayentry")
20670        .child(child)
20671}
20672
20673pub fn radio<T0, T1>(group_value: T0, value: T1) -> builder::Radio 
20674where
20675    T0: std::convert::TryInto<String>,
20676    T0::Error: std::fmt::Display,
20677    T1: std::convert::TryInto<String>,
20678    T1::Error: std::fmt::Display,
20679 {
20680    Radio::builder()
20681        .type_("radio")
20682        .group_value(group_value)
20683        .value(value)
20684}
20685
20686pub fn slider() -> builder::Slider {
20687    Slider::builder()
20688        .type_("slider")
20689}
20690
20691pub fn stack<T0>(children: T0) -> builder::Stack 
20692where
20693    T0: std::convert::TryInto<Vec < LenraComponent >>,
20694    T0::Error: std::fmt::Display,
20695 {
20696    Stack::builder()
20697        .type_("stack")
20698        .children(children)
20699}
20700
20701pub fn statussticker<T0>(status: T0) -> builder::StatusSticker 
20702where
20703    T0: std::convert::TryInto<StatusStickerStatus>,
20704    T0::Error: std::fmt::Display,
20705 {
20706    StatusSticker::builder()
20707        .type_("statussticker")
20708        .status(status)
20709}
20710
20711pub fn text<T0>(value: T0) -> builder::Text 
20712where
20713    T0: std::convert::TryInto<String>,
20714    T0::Error: std::fmt::Display,
20715 {
20716    Text::builder()
20717        .type_("text")
20718        .value(value)
20719}
20720
20721pub fn toggle<T0>(value: T0) -> builder::Toggle 
20722where
20723    T0: std::convert::TryInto<bool>,
20724    T0::Error: std::fmt::Display,
20725 {
20726    Toggle::builder()
20727        .type_("toggle")
20728        .value(value)
20729}
20730
20731pub fn view<T0>(name: T0) -> builder::View 
20732where
20733    T0: std::convert::TryInto<String>,
20734    T0::Error: std::fmt::Display,
20735 {
20736    View::builder()
20737        .type_("view")
20738        .name(name)
20739}
20740
20741pub fn wrap<T0>(children: T0) -> builder::Wrap 
20742where
20743    T0: std::convert::TryInto<Vec < LenraComponent >>,
20744    T0::Error: std::fmt::Display,
20745 {
20746    Wrap::builder()
20747        .type_("wrap")
20748        .children(children)
20749}