html/generated/
i.rs

1pub mod element {
2    /// The HTML `<i>` element
3    ///
4    /// [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i)
5    #[doc(alias = "i")]
6    #[non_exhaustive]
7    #[derive(PartialEq, Clone, Default)]
8    pub struct Italic {
9        sys: html_sys::text::Italic,
10        children: Vec<super::child::ItalicChild>,
11    }
12    impl Italic {
13        /// Create a new builder
14        pub fn builder() -> super::builder::ItalicBuilder {
15            super::builder::ItalicBuilder::new(Default::default())
16        }
17    }
18    impl Italic {
19        /// Access the element's `data-*` properties
20        pub fn data_map(&self) -> &html_sys::DataMap {
21            &self.sys.data_map
22        }
23        /// Mutably access the element's `data-*` properties
24        pub fn data_map_mut(&mut self) -> &mut html_sys::DataMap {
25            &mut self.sys.data_map
26        }
27    }
28    impl Italic {
29        /// Get the value of the `role` attribute
30        pub fn role(&self) -> std::option::Option<&str> {
31            self.sys.role.as_deref()
32        }
33        /// Set the value of the `role` attribute
34        pub fn set_role(
35            &mut self,
36            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
37        ) {
38            self.sys.role = value.map(|v| v.into());
39        }
40        /// Get the value of the `aria-activedescendant` attribute
41        pub fn aria_active_descendant_element(&self) -> std::option::Option<&str> {
42            self.sys.aria_active_descendant_element.as_deref()
43        }
44        /// Set the value of the `aria-activedescendant` attribute
45        pub fn set_aria_active_descendant_element(
46            &mut self,
47            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
48        ) {
49            self.sys.aria_active_descendant_element = value.map(|v| v.into());
50        }
51        /// Get the value of the `aria-atomic` attribute
52        pub fn aria_atomic(&self) -> bool {
53            self.sys.aria_atomic
54        }
55        /// Set the value of the `aria-atomic` attribute
56        pub fn set_aria_atomic(&mut self, value: bool) {
57            self.sys.aria_atomic = value;
58        }
59        /// Get the value of the `aria-autocomplete` attribute
60        pub fn aria_auto_complete(&self) -> std::option::Option<&str> {
61            self.sys.aria_auto_complete.as_deref()
62        }
63        /// Set the value of the `aria-autocomplete` attribute
64        pub fn set_aria_auto_complete(
65            &mut self,
66            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
67        ) {
68            self.sys.aria_auto_complete = value.map(|v| v.into());
69        }
70        /// Get the value of the `aria-brailleroledescription` attribute
71        pub fn aria_braille_role_description(&self) -> std::option::Option<&str> {
72            self.sys.aria_braille_role_description.as_deref()
73        }
74        /// Set the value of the `aria-brailleroledescription` attribute
75        pub fn set_aria_braille_role_description(
76            &mut self,
77            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
78        ) {
79            self.sys.aria_braille_role_description = value.map(|v| v.into());
80        }
81        /// Get the value of the `aria-busy` attribute
82        pub fn aria_busy(&self) -> bool {
83            self.sys.aria_busy
84        }
85        /// Set the value of the `aria-busy` attribute
86        pub fn set_aria_busy(&mut self, value: bool) {
87            self.sys.aria_busy = value;
88        }
89        /// Get the value of the `aria-checked` attribute
90        pub fn aria_checked(&self) -> std::option::Option<&str> {
91            self.sys.aria_checked.as_deref()
92        }
93        /// Set the value of the `aria-checked` attribute
94        pub fn set_aria_checked(
95            &mut self,
96            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
97        ) {
98            self.sys.aria_checked = value.map(|v| v.into());
99        }
100        /// Get the value of the `aria-colcount` attribute
101        pub fn aria_col_count(&self) -> std::option::Option<i64> {
102            self.sys.aria_col_count
103        }
104        /// Set the value of the `aria-colcount` attribute
105        pub fn set_aria_col_count(&mut self, value: std::option::Option<i64>) {
106            self.sys.aria_col_count = value;
107        }
108        /// Get the value of the `aria-colindex` attribute
109        pub fn aria_col_index(&self) -> std::option::Option<i64> {
110            self.sys.aria_col_index
111        }
112        /// Set the value of the `aria-colindex` attribute
113        pub fn set_aria_col_index(&mut self, value: std::option::Option<i64>) {
114            self.sys.aria_col_index = value;
115        }
116        /// Get the value of the `aria-colindextext` attribute
117        pub fn aria_col_index_text(&self) -> std::option::Option<&str> {
118            self.sys.aria_col_index_text.as_deref()
119        }
120        /// Set the value of the `aria-colindextext` attribute
121        pub fn set_aria_col_index_text(
122            &mut self,
123            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
124        ) {
125            self.sys.aria_col_index_text = value.map(|v| v.into());
126        }
127        /// Get the value of the `aria-colspan` attribute
128        pub fn aria_col_span(&self) -> std::option::Option<i64> {
129            self.sys.aria_col_span
130        }
131        /// Set the value of the `aria-colspan` attribute
132        pub fn set_aria_col_span(&mut self, value: std::option::Option<i64>) {
133            self.sys.aria_col_span = value;
134        }
135        /// Get the value of the `aria-controls` attribute
136        pub fn aria_controls_elements(&self) -> std::option::Option<&str> {
137            self.sys.aria_controls_elements.as_deref()
138        }
139        /// Set the value of the `aria-controls` attribute
140        pub fn set_aria_controls_elements(
141            &mut self,
142            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
143        ) {
144            self.sys.aria_controls_elements = value.map(|v| v.into());
145        }
146        /// Get the value of the `aria-current` attribute
147        pub fn aria_current(&self) -> std::option::Option<&str> {
148            self.sys.aria_current.as_deref()
149        }
150        /// Set the value of the `aria-current` attribute
151        pub fn set_aria_current(
152            &mut self,
153            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
154        ) {
155            self.sys.aria_current = value.map(|v| v.into());
156        }
157        /// Get the value of the `aria-describedby` attribute
158        pub fn aria_described_by_elements(&self) -> std::option::Option<&str> {
159            self.sys.aria_described_by_elements.as_deref()
160        }
161        /// Set the value of the `aria-describedby` attribute
162        pub fn set_aria_described_by_elements(
163            &mut self,
164            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
165        ) {
166            self.sys.aria_described_by_elements = value.map(|v| v.into());
167        }
168        /// Get the value of the `aria-description` attribute
169        pub fn aria_description(&self) -> std::option::Option<&str> {
170            self.sys.aria_description.as_deref()
171        }
172        /// Set the value of the `aria-description` attribute
173        pub fn set_aria_description(
174            &mut self,
175            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
176        ) {
177            self.sys.aria_description = value.map(|v| v.into());
178        }
179        /// Get the value of the `aria-details` attribute
180        pub fn aria_details_elements(&self) -> std::option::Option<&str> {
181            self.sys.aria_details_elements.as_deref()
182        }
183        /// Set the value of the `aria-details` attribute
184        pub fn set_aria_details_elements(
185            &mut self,
186            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
187        ) {
188            self.sys.aria_details_elements = value.map(|v| v.into());
189        }
190        /// Get the value of the `aria-disabled` attribute
191        pub fn aria_disabled(&self) -> bool {
192            self.sys.aria_disabled
193        }
194        /// Set the value of the `aria-disabled` attribute
195        pub fn set_aria_disabled(&mut self, value: bool) {
196            self.sys.aria_disabled = value;
197        }
198        /// Get the value of the `aria-dropeffect` attribute
199        pub fn aria_drop_effect(&self) -> std::option::Option<&str> {
200            self.sys.aria_drop_effect.as_deref()
201        }
202        /// Set the value of the `aria-dropeffect` attribute
203        pub fn set_aria_drop_effect(
204            &mut self,
205            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
206        ) {
207            self.sys.aria_drop_effect = value.map(|v| v.into());
208        }
209        /// Get the value of the `aria-errormessage` attribute
210        pub fn aria_error_message_elements(&self) -> std::option::Option<&str> {
211            self.sys.aria_error_message_elements.as_deref()
212        }
213        /// Set the value of the `aria-errormessage` attribute
214        pub fn set_aria_error_message_elements(
215            &mut self,
216            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
217        ) {
218            self.sys.aria_error_message_elements = value.map(|v| v.into());
219        }
220        /// Get the value of the `aria-expanded` attribute
221        pub fn aria_expanded(&self) -> bool {
222            self.sys.aria_expanded
223        }
224        /// Set the value of the `aria-expanded` attribute
225        pub fn set_aria_expanded(&mut self, value: bool) {
226            self.sys.aria_expanded = value;
227        }
228        /// Get the value of the `aria-flowto` attribute
229        pub fn aria_flow_to_elements(&self) -> std::option::Option<&str> {
230            self.sys.aria_flow_to_elements.as_deref()
231        }
232        /// Set the value of the `aria-flowto` attribute
233        pub fn set_aria_flow_to_elements(
234            &mut self,
235            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
236        ) {
237            self.sys.aria_flow_to_elements = value.map(|v| v.into());
238        }
239        /// Get the value of the `aria-grabbed` attribute
240        pub fn aria_grabbed(&self) -> bool {
241            self.sys.aria_grabbed
242        }
243        /// Set the value of the `aria-grabbed` attribute
244        pub fn set_aria_grabbed(&mut self, value: bool) {
245            self.sys.aria_grabbed = value;
246        }
247        /// Get the value of the `aria-haspopup` attribute
248        pub fn aria_has_popup(&self) -> std::option::Option<&str> {
249            self.sys.aria_has_popup.as_deref()
250        }
251        /// Set the value of the `aria-haspopup` attribute
252        pub fn set_aria_has_popup(
253            &mut self,
254            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
255        ) {
256            self.sys.aria_has_popup = value.map(|v| v.into());
257        }
258        /// Get the value of the `aria-hidden` attribute
259        pub fn aria_hidden(&self) -> bool {
260            self.sys.aria_hidden
261        }
262        /// Set the value of the `aria-hidden` attribute
263        pub fn set_aria_hidden(&mut self, value: bool) {
264            self.sys.aria_hidden = value;
265        }
266        /// Get the value of the `aria-invalid` attribute
267        pub fn aria_invalid(&self) -> std::option::Option<&str> {
268            self.sys.aria_invalid.as_deref()
269        }
270        /// Set the value of the `aria-invalid` attribute
271        pub fn set_aria_invalid(
272            &mut self,
273            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
274        ) {
275            self.sys.aria_invalid = value.map(|v| v.into());
276        }
277        /// Get the value of the `aria-keyshortcuts` attribute
278        pub fn aria_key_shortcuts(&self) -> std::option::Option<&str> {
279            self.sys.aria_key_shortcuts.as_deref()
280        }
281        /// Set the value of the `aria-keyshortcuts` attribute
282        pub fn set_aria_key_shortcuts(
283            &mut self,
284            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
285        ) {
286            self.sys.aria_key_shortcuts = value.map(|v| v.into());
287        }
288        /// Get the value of the `aria-level` attribute
289        pub fn aria_level(&self) -> std::option::Option<i64> {
290            self.sys.aria_level
291        }
292        /// Set the value of the `aria-level` attribute
293        pub fn set_aria_level(&mut self, value: std::option::Option<i64>) {
294            self.sys.aria_level = value;
295        }
296        /// Get the value of the `aria-live` attribute
297        pub fn aria_live(&self) -> std::option::Option<&str> {
298            self.sys.aria_live.as_deref()
299        }
300        /// Set the value of the `aria-live` attribute
301        pub fn set_aria_live(
302            &mut self,
303            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
304        ) {
305            self.sys.aria_live = value.map(|v| v.into());
306        }
307        /// Get the value of the `aria-modal` attribute
308        pub fn aria_modal(&self) -> bool {
309            self.sys.aria_modal
310        }
311        /// Set the value of the `aria-modal` attribute
312        pub fn set_aria_modal(&mut self, value: bool) {
313            self.sys.aria_modal = value;
314        }
315        /// Get the value of the `aria-multiline` attribute
316        pub fn aria_multi_line(&self) -> bool {
317            self.sys.aria_multi_line
318        }
319        /// Set the value of the `aria-multiline` attribute
320        pub fn set_aria_multi_line(&mut self, value: bool) {
321            self.sys.aria_multi_line = value;
322        }
323        /// Get the value of the `aria-multiselectable` attribute
324        pub fn aria_multi_selectable(&self) -> bool {
325            self.sys.aria_multi_selectable
326        }
327        /// Set the value of the `aria-multiselectable` attribute
328        pub fn set_aria_multi_selectable(&mut self, value: bool) {
329            self.sys.aria_multi_selectable = value;
330        }
331        /// Get the value of the `aria-orientation` attribute
332        pub fn aria_orientation(&self) -> std::option::Option<&str> {
333            self.sys.aria_orientation.as_deref()
334        }
335        /// Set the value of the `aria-orientation` attribute
336        pub fn set_aria_orientation(
337            &mut self,
338            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
339        ) {
340            self.sys.aria_orientation = value.map(|v| v.into());
341        }
342        /// Get the value of the `aria-owns` attribute
343        pub fn aria_owns_elements(&self) -> std::option::Option<&str> {
344            self.sys.aria_owns_elements.as_deref()
345        }
346        /// Set the value of the `aria-owns` attribute
347        pub fn set_aria_owns_elements(
348            &mut self,
349            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
350        ) {
351            self.sys.aria_owns_elements = value.map(|v| v.into());
352        }
353        /// Get the value of the `aria-placeholder` attribute
354        pub fn aria_placeholder(&self) -> std::option::Option<&str> {
355            self.sys.aria_placeholder.as_deref()
356        }
357        /// Set the value of the `aria-placeholder` attribute
358        pub fn set_aria_placeholder(
359            &mut self,
360            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
361        ) {
362            self.sys.aria_placeholder = value.map(|v| v.into());
363        }
364        /// Get the value of the `aria-posinset` attribute
365        pub fn aria_pos_in_set(&self) -> std::option::Option<i64> {
366            self.sys.aria_pos_in_set
367        }
368        /// Set the value of the `aria-posinset` attribute
369        pub fn set_aria_pos_in_set(&mut self, value: std::option::Option<i64>) {
370            self.sys.aria_pos_in_set = value;
371        }
372        /// Get the value of the `aria-pressed` attribute
373        pub fn aria_pressed(&self) -> std::option::Option<&str> {
374            self.sys.aria_pressed.as_deref()
375        }
376        /// Set the value of the `aria-pressed` attribute
377        pub fn set_aria_pressed(
378            &mut self,
379            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
380        ) {
381            self.sys.aria_pressed = value.map(|v| v.into());
382        }
383        /// Get the value of the `aria-readonly` attribute
384        pub fn aria_read_only(&self) -> bool {
385            self.sys.aria_read_only
386        }
387        /// Set the value of the `aria-readonly` attribute
388        pub fn set_aria_read_only(&mut self, value: bool) {
389            self.sys.aria_read_only = value;
390        }
391        /// Get the value of the `aria-relevant` attribute
392        pub fn aria_relevant(&self) -> std::option::Option<&str> {
393            self.sys.aria_relevant.as_deref()
394        }
395        /// Set the value of the `aria-relevant` attribute
396        pub fn set_aria_relevant(
397            &mut self,
398            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
399        ) {
400            self.sys.aria_relevant = value.map(|v| v.into());
401        }
402        /// Get the value of the `aria-required` attribute
403        pub fn aria_required(&self) -> bool {
404            self.sys.aria_required
405        }
406        /// Set the value of the `aria-required` attribute
407        pub fn set_aria_required(&mut self, value: bool) {
408            self.sys.aria_required = value;
409        }
410        /// Get the value of the `aria-roledescription` attribute
411        pub fn aria_role_description(&self) -> std::option::Option<&str> {
412            self.sys.aria_role_description.as_deref()
413        }
414        /// Set the value of the `aria-roledescription` attribute
415        pub fn set_aria_role_description(
416            &mut self,
417            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
418        ) {
419            self.sys.aria_role_description = value.map(|v| v.into());
420        }
421        /// Get the value of the `aria-rowcount` attribute
422        pub fn aria_row_count(&self) -> std::option::Option<i64> {
423            self.sys.aria_row_count
424        }
425        /// Set the value of the `aria-rowcount` attribute
426        pub fn set_aria_row_count(&mut self, value: std::option::Option<i64>) {
427            self.sys.aria_row_count = value;
428        }
429        /// Get the value of the `aria-rowindex` attribute
430        pub fn aria_row_index(&self) -> std::option::Option<i64> {
431            self.sys.aria_row_index
432        }
433        /// Set the value of the `aria-rowindex` attribute
434        pub fn set_aria_row_index(&mut self, value: std::option::Option<i64>) {
435            self.sys.aria_row_index = value;
436        }
437        /// Get the value of the `aria-rowindextext` attribute
438        pub fn aria_row_index_text(&self) -> std::option::Option<&str> {
439            self.sys.aria_row_index_text.as_deref()
440        }
441        /// Set the value of the `aria-rowindextext` attribute
442        pub fn set_aria_row_index_text(
443            &mut self,
444            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
445        ) {
446            self.sys.aria_row_index_text = value.map(|v| v.into());
447        }
448        /// Get the value of the `aria-rowspan` attribute
449        pub fn aria_row_span(&self) -> std::option::Option<i64> {
450            self.sys.aria_row_span
451        }
452        /// Set the value of the `aria-rowspan` attribute
453        pub fn set_aria_row_span(&mut self, value: std::option::Option<i64>) {
454            self.sys.aria_row_span = value;
455        }
456        /// Get the value of the `aria-selected` attribute
457        pub fn aria_selected(&self) -> bool {
458            self.sys.aria_selected
459        }
460        /// Set the value of the `aria-selected` attribute
461        pub fn set_aria_selected(&mut self, value: bool) {
462            self.sys.aria_selected = value;
463        }
464        /// Get the value of the `aria-setsize` attribute
465        pub fn aria_set_size(&self) -> std::option::Option<i64> {
466            self.sys.aria_set_size
467        }
468        /// Set the value of the `aria-setsize` attribute
469        pub fn set_aria_set_size(&mut self, value: std::option::Option<i64>) {
470            self.sys.aria_set_size = value;
471        }
472        /// Get the value of the `aria-sort` attribute
473        pub fn aria_sort(&self) -> std::option::Option<&str> {
474            self.sys.aria_sort.as_deref()
475        }
476        /// Set the value of the `aria-sort` attribute
477        pub fn set_aria_sort(
478            &mut self,
479            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
480        ) {
481            self.sys.aria_sort = value.map(|v| v.into());
482        }
483        /// Get the value of the `aria-valuemax` attribute
484        pub fn aria_value_max(&self) -> std::option::Option<f64> {
485            self.sys.aria_value_max
486        }
487        /// Set the value of the `aria-valuemax` attribute
488        pub fn set_aria_value_max(&mut self, value: std::option::Option<f64>) {
489            self.sys.aria_value_max = value;
490        }
491        /// Get the value of the `aria-valuemin` attribute
492        pub fn aria_value_min(&self) -> std::option::Option<f64> {
493            self.sys.aria_value_min
494        }
495        /// Set the value of the `aria-valuemin` attribute
496        pub fn set_aria_value_min(&mut self, value: std::option::Option<f64>) {
497            self.sys.aria_value_min = value;
498        }
499        /// Get the value of the `aria-valuenow` attribute
500        pub fn aria_value_now(&self) -> std::option::Option<f64> {
501            self.sys.aria_value_now
502        }
503        /// Set the value of the `aria-valuenow` attribute
504        pub fn set_aria_value_now(&mut self, value: std::option::Option<f64>) {
505            self.sys.aria_value_now = value;
506        }
507        /// Get the value of the `aria-valuetext` attribute
508        pub fn aria_value_text(&self) -> std::option::Option<&str> {
509            self.sys.aria_value_text.as_deref()
510        }
511        /// Set the value of the `aria-valuetext` attribute
512        pub fn set_aria_value_text(
513            &mut self,
514            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
515        ) {
516            self.sys.aria_value_text = value.map(|v| v.into());
517        }
518        /// Get the value of the `accesskey` attribute
519        pub fn access_key(&self) -> std::option::Option<&str> {
520            self.sys.access_key.as_deref()
521        }
522        /// Set the value of the `accesskey` attribute
523        pub fn set_access_key(
524            &mut self,
525            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
526        ) {
527            self.sys.access_key = value.map(|v| v.into());
528        }
529        /// Get the value of the `autocapitalize` attribute
530        pub fn auto_capitalize(&self) -> std::option::Option<&str> {
531            self.sys.auto_capitalize.as_deref()
532        }
533        /// Set the value of the `autocapitalize` attribute
534        pub fn set_auto_capitalize(
535            &mut self,
536            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
537        ) {
538            self.sys.auto_capitalize = value.map(|v| v.into());
539        }
540        /// Get the value of the `autofocus` attribute
541        pub fn autofocus(&self) -> bool {
542            self.sys.autofocus
543        }
544        /// Set the value of the `autofocus` attribute
545        pub fn set_autofocus(&mut self, value: bool) {
546            self.sys.autofocus = value;
547        }
548        /// Get the value of the `class` attribute
549        pub fn class(&self) -> std::option::Option<&str> {
550            self.sys.class.as_deref()
551        }
552        /// Set the value of the `class` attribute
553        pub fn set_class(
554            &mut self,
555            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
556        ) {
557            self.sys.class = value.map(|v| v.into());
558        }
559        /// Get the value of the `contenteditable` attribute
560        pub fn content_editable(&self) -> std::option::Option<&str> {
561            self.sys.content_editable.as_deref()
562        }
563        /// Set the value of the `contenteditable` attribute
564        pub fn set_content_editable(
565            &mut self,
566            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
567        ) {
568            self.sys.content_editable = value.map(|v| v.into());
569        }
570        /// Get the value of the `dir` attribute
571        pub fn direction(&self) -> std::option::Option<&str> {
572            self.sys.direction.as_deref()
573        }
574        /// Set the value of the `dir` attribute
575        pub fn set_direction(
576            &mut self,
577            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
578        ) {
579            self.sys.direction = value.map(|v| v.into());
580        }
581        /// Get the value of the `draggable` attribute
582        pub fn draggable(&self) -> bool {
583            self.sys.draggable
584        }
585        /// Set the value of the `draggable` attribute
586        pub fn set_draggable(&mut self, value: bool) {
587            self.sys.draggable = value;
588        }
589        /// Get the value of the `enterkeyhint` attribute
590        pub fn enter_key_hint(&self) -> std::option::Option<&str> {
591            self.sys.enter_key_hint.as_deref()
592        }
593        /// Set the value of the `enterkeyhint` attribute
594        pub fn set_enter_key_hint(
595            &mut self,
596            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
597        ) {
598            self.sys.enter_key_hint = value.map(|v| v.into());
599        }
600        /// Get the value of the `exportparts` attribute
601        pub fn export_parts(&self) -> std::option::Option<&str> {
602            self.sys.export_parts.as_deref()
603        }
604        /// Set the value of the `exportparts` attribute
605        pub fn set_export_parts(
606            &mut self,
607            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
608        ) {
609            self.sys.export_parts = value.map(|v| v.into());
610        }
611        /// Get the value of the `hidden` attribute
612        pub fn hidden(&self) -> std::option::Option<&str> {
613            self.sys.hidden.as_deref()
614        }
615        /// Set the value of the `hidden` attribute
616        pub fn set_hidden(
617            &mut self,
618            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
619        ) {
620            self.sys.hidden = value.map(|v| v.into());
621        }
622        /// Get the value of the `id` attribute
623        pub fn id(&self) -> std::option::Option<&str> {
624            self.sys.id.as_deref()
625        }
626        /// Set the value of the `id` attribute
627        pub fn set_id(
628            &mut self,
629            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
630        ) {
631            self.sys.id = value.map(|v| v.into());
632        }
633        /// Get the value of the `inert` attribute
634        pub fn inert(&self) -> bool {
635            self.sys.inert
636        }
637        /// Set the value of the `inert` attribute
638        pub fn set_inert(&mut self, value: bool) {
639            self.sys.inert = value;
640        }
641        /// Get the value of the `inputmode` attribute
642        pub fn input_mode(&self) -> std::option::Option<&str> {
643            self.sys.input_mode.as_deref()
644        }
645        /// Set the value of the `inputmode` attribute
646        pub fn set_input_mode(
647            &mut self,
648            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
649        ) {
650            self.sys.input_mode = value.map(|v| v.into());
651        }
652        /// Get the value of the `is` attribute
653        pub fn is_(&self) -> std::option::Option<&str> {
654            self.sys.is_.as_deref()
655        }
656        /// Set the value of the `is` attribute
657        pub fn set_is_(
658            &mut self,
659            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
660        ) {
661            self.sys.is_ = value.map(|v| v.into());
662        }
663        /// Get the value of the `itemid` attribute
664        pub fn item_id(&self) -> std::option::Option<&str> {
665            self.sys.item_id.as_deref()
666        }
667        /// Set the value of the `itemid` attribute
668        pub fn set_item_id(
669            &mut self,
670            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
671        ) {
672            self.sys.item_id = value.map(|v| v.into());
673        }
674        /// Get the value of the `itemprop` attribute
675        pub fn item_prop(&self) -> std::option::Option<&str> {
676            self.sys.item_prop.as_deref()
677        }
678        /// Set the value of the `itemprop` attribute
679        pub fn set_item_prop(
680            &mut self,
681            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
682        ) {
683            self.sys.item_prop = value.map(|v| v.into());
684        }
685        /// Get the value of the `itemref` attribute
686        pub fn item_ref(&self) -> std::option::Option<&str> {
687            self.sys.item_ref.as_deref()
688        }
689        /// Set the value of the `itemref` attribute
690        pub fn set_item_ref(
691            &mut self,
692            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
693        ) {
694            self.sys.item_ref = value.map(|v| v.into());
695        }
696        /// Get the value of the `itemscope` attribute
697        pub fn item_scope(&self) -> std::option::Option<&str> {
698            self.sys.item_scope.as_deref()
699        }
700        /// Set the value of the `itemscope` attribute
701        pub fn set_item_scope(
702            &mut self,
703            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
704        ) {
705            self.sys.item_scope = value.map(|v| v.into());
706        }
707        /// Get the value of the `itemtype` attribute
708        pub fn item_type(&self) -> std::option::Option<&str> {
709            self.sys.item_type.as_deref()
710        }
711        /// Set the value of the `itemtype` attribute
712        pub fn set_item_type(
713            &mut self,
714            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
715        ) {
716            self.sys.item_type = value.map(|v| v.into());
717        }
718        /// Get the value of the `lang` attribute
719        pub fn lang(&self) -> std::option::Option<&str> {
720            self.sys.lang.as_deref()
721        }
722        /// Set the value of the `lang` attribute
723        pub fn set_lang(
724            &mut self,
725            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
726        ) {
727            self.sys.lang = value.map(|v| v.into());
728        }
729        /// Get the value of the `nonce` attribute
730        pub fn nonce(&self) -> std::option::Option<&str> {
731            self.sys.nonce.as_deref()
732        }
733        /// Set the value of the `nonce` attribute
734        pub fn set_nonce(
735            &mut self,
736            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
737        ) {
738            self.sys.nonce = value.map(|v| v.into());
739        }
740        /// Get the value of the `part` attribute
741        pub fn part(&self) -> std::option::Option<&str> {
742            self.sys.part.as_deref()
743        }
744        /// Set the value of the `part` attribute
745        pub fn set_part(
746            &mut self,
747            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
748        ) {
749            self.sys.part = value.map(|v| v.into());
750        }
751        /// Get the value of the `slot` attribute
752        pub fn slot(&self) -> std::option::Option<&str> {
753            self.sys.slot.as_deref()
754        }
755        /// Set the value of the `slot` attribute
756        pub fn set_slot(
757            &mut self,
758            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
759        ) {
760            self.sys.slot = value.map(|v| v.into());
761        }
762        /// Get the value of the `spellcheck` attribute
763        pub fn spellcheck(&self) -> std::option::Option<&str> {
764            self.sys.spellcheck.as_deref()
765        }
766        /// Set the value of the `spellcheck` attribute
767        pub fn set_spellcheck(
768            &mut self,
769            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
770        ) {
771            self.sys.spellcheck = value.map(|v| v.into());
772        }
773        /// Get the value of the `style` attribute
774        pub fn style(&self) -> std::option::Option<&str> {
775            self.sys.style.as_deref()
776        }
777        /// Set the value of the `style` attribute
778        pub fn set_style(
779            &mut self,
780            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
781        ) {
782            self.sys.style = value.map(|v| v.into());
783        }
784        /// Get the value of the `tabindex` attribute
785        pub fn tab_index(&self) -> std::option::Option<i64> {
786            self.sys.tab_index
787        }
788        /// Set the value of the `tabindex` attribute
789        pub fn set_tab_index(&mut self, value: std::option::Option<i64>) {
790            self.sys.tab_index = value;
791        }
792        /// Get the value of the `title` attribute
793        pub fn title(&self) -> std::option::Option<&str> {
794            self.sys.title.as_deref()
795        }
796        /// Set the value of the `title` attribute
797        pub fn set_title(
798            &mut self,
799            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
800        ) {
801            self.sys.title = value.map(|v| v.into());
802        }
803        /// Get the value of the `translate` attribute
804        pub fn translate(&self) -> bool {
805            self.sys.translate
806        }
807        /// Set the value of the `translate` attribute
808        pub fn set_translate(&mut self, value: bool) {
809            self.sys.translate = value;
810        }
811    }
812    impl Italic {
813        /// Access the element's children
814        pub fn children(&self) -> &[super::child::ItalicChild] {
815            self.children.as_ref()
816        }
817        /// Mutably access the element's children
818        pub fn children_mut(&mut self) -> &mut Vec<super::child::ItalicChild> {
819            &mut self.children
820        }
821    }
822    impl crate::Render for Italic {
823        fn render(
824            &self,
825            f: &mut std::fmt::Formatter<'_>,
826            depth: usize,
827        ) -> std::fmt::Result {
828            write!(f, "{:level$}", "", level = depth * 4)?;
829            html_sys::RenderElement::write_opening_tag(&self.sys, f)?;
830            if !self.children.is_empty() {
831                write!(f, "\n")?;
832            }
833            for el in &self.children {
834                crate::Render::render(&el, f, depth)?;
835                write!(f, "\n")?;
836            }
837            write!(f, "{:level$}", "", level = depth * 4)?;
838            html_sys::RenderElement::write_closing_tag(&self.sys, f)?;
839            Ok(())
840        }
841    }
842    impl std::fmt::Debug for Italic {
843        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
844            crate::Render::render(self, f, 0)?;
845            Ok(())
846        }
847    }
848    impl std::fmt::Display for Italic {
849        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
850            html_sys::RenderElement::write_opening_tag(&self.sys, f)?;
851            for el in &self.children {
852                write!(f, "{el}")?;
853            }
854            html_sys::RenderElement::write_closing_tag(&self.sys, f)?;
855            Ok(())
856        }
857    }
858    impl crate::HtmlElement for Italic {}
859    impl crate::FlowContent for Italic {}
860    impl crate::PhrasingContent for Italic {}
861    impl crate::PalpableContent for Italic {}
862    impl std::convert::Into<html_sys::text::Italic> for Italic {
863        fn into(self) -> html_sys::text::Italic {
864            self.sys
865        }
866    }
867    impl From<html_sys::text::Italic> for Italic {
868        fn from(sys: html_sys::text::Italic) -> Self {
869            Self { sys, children: vec![] }
870        }
871    }
872}
873pub mod child {
874    /// The permitted child items for the `Italic` element
875    #[derive(PartialEq, Clone)]
876    pub enum ItalicChild {
877        /// The Abbreviation element
878        Abbreviation(crate::generated::all::Abbreviation),
879        /// The Anchor element
880        Anchor(crate::generated::all::Anchor),
881        /// The Audio element
882        Audio(crate::generated::all::Audio),
883        /// The BidirectionalIsolate element
884        BidirectionalIsolate(crate::generated::all::BidirectionalIsolate),
885        /// The BidirectionalTextOverride element
886        BidirectionalTextOverride(crate::generated::all::BidirectionalTextOverride),
887        /// The Bold element
888        Bold(crate::generated::all::Bold),
889        /// The Button element
890        Button(crate::generated::all::Button),
891        /// The Canvas element
892        Canvas(crate::generated::all::Canvas),
893        /// The Cite element
894        Cite(crate::generated::all::Cite),
895        /// The Code element
896        Code(crate::generated::all::Code),
897        /// The Data element
898        Data(crate::generated::all::Data),
899        /// The DataList element
900        DataList(crate::generated::all::DataList),
901        /// The Definition element
902        Definition(crate::generated::all::Definition),
903        /// The DeletedText element
904        DeletedText(crate::generated::all::DeletedText),
905        /// The Embed element
906        Embed(crate::generated::all::Embed),
907        /// The Emphasis element
908        Emphasis(crate::generated::all::Emphasis),
909        /// The Iframe element
910        Iframe(crate::generated::all::Iframe),
911        /// The Image element
912        Image(crate::generated::all::Image),
913        /// The ImageMap element
914        ImageMap(crate::generated::all::ImageMap),
915        /// The ImageMapArea element
916        ImageMapArea(crate::generated::all::ImageMapArea),
917        /// The Input element
918        Input(crate::generated::all::Input),
919        /// The InsertedText element
920        InsertedText(crate::generated::all::InsertedText),
921        /// The Italic element
922        Italic(crate::generated::all::Italic),
923        /// The KeyboardInput element
924        KeyboardInput(crate::generated::all::KeyboardInput),
925        /// The Label element
926        Label(crate::generated::all::Label),
927        /// The LineBreak element
928        LineBreak(crate::generated::all::LineBreak),
929        /// The LineBreakOpportunity element
930        LineBreakOpportunity(crate::generated::all::LineBreakOpportunity),
931        /// The Link element
932        Link(crate::generated::all::Link),
933        /// The MarkText element
934        MarkText(crate::generated::all::MarkText),
935        /// The Meta element
936        Meta(crate::generated::all::Meta),
937        /// The Meter element
938        Meter(crate::generated::all::Meter),
939        /// The NoScript element
940        NoScript(crate::generated::all::NoScript),
941        /// The Object element
942        Object(crate::generated::all::Object),
943        /// The Output element
944        Output(crate::generated::all::Output),
945        /// The Picture element
946        Picture(crate::generated::all::Picture),
947        /// The Progress element
948        Progress(crate::generated::all::Progress),
949        /// The Quotation element
950        Quotation(crate::generated::all::Quotation),
951        /// The RubyAnnotation element
952        RubyAnnotation(crate::generated::all::RubyAnnotation),
953        /// The SampleOutput element
954        SampleOutput(crate::generated::all::SampleOutput),
955        /// The Script element
956        Script(crate::generated::all::Script),
957        /// The Select element
958        Select(crate::generated::all::Select),
959        /// The SideComment element
960        SideComment(crate::generated::all::SideComment),
961        /// The Slot element
962        Slot(crate::generated::all::Slot),
963        /// The Span element
964        Span(crate::generated::all::Span),
965        /// The StrikeThrough element
966        StrikeThrough(crate::generated::all::StrikeThrough),
967        /// The Strong element
968        Strong(crate::generated::all::Strong),
969        /// The SubScript element
970        SubScript(crate::generated::all::SubScript),
971        /// The SuperScript element
972        SuperScript(crate::generated::all::SuperScript),
973        /// The Template element
974        Template(crate::generated::all::Template),
975        /// The Text element
976        Text(std::borrow::Cow<'static, str>),
977        /// The TextArea element
978        TextArea(crate::generated::all::TextArea),
979        /// The Time element
980        Time(crate::generated::all::Time),
981        /// The Underline element
982        Underline(crate::generated::all::Underline),
983        /// The Variable element
984        Variable(crate::generated::all::Variable),
985        /// The Video element
986        Video(crate::generated::all::Video),
987    }
988    impl std::convert::From<crate::generated::all::Abbreviation> for ItalicChild {
989        fn from(value: crate::generated::all::Abbreviation) -> Self {
990            Self::Abbreviation(value)
991        }
992    }
993    impl std::convert::From<crate::generated::all::Anchor> for ItalicChild {
994        fn from(value: crate::generated::all::Anchor) -> Self {
995            Self::Anchor(value)
996        }
997    }
998    impl std::convert::From<crate::generated::all::Audio> for ItalicChild {
999        fn from(value: crate::generated::all::Audio) -> Self {
1000            Self::Audio(value)
1001        }
1002    }
1003    impl std::convert::From<crate::generated::all::BidirectionalIsolate>
1004    for ItalicChild {
1005        fn from(value: crate::generated::all::BidirectionalIsolate) -> Self {
1006            Self::BidirectionalIsolate(value)
1007        }
1008    }
1009    impl std::convert::From<crate::generated::all::BidirectionalTextOverride>
1010    for ItalicChild {
1011        fn from(value: crate::generated::all::BidirectionalTextOverride) -> Self {
1012            Self::BidirectionalTextOverride(value)
1013        }
1014    }
1015    impl std::convert::From<crate::generated::all::Bold> for ItalicChild {
1016        fn from(value: crate::generated::all::Bold) -> Self {
1017            Self::Bold(value)
1018        }
1019    }
1020    impl std::convert::From<crate::generated::all::Button> for ItalicChild {
1021        fn from(value: crate::generated::all::Button) -> Self {
1022            Self::Button(value)
1023        }
1024    }
1025    impl std::convert::From<crate::generated::all::Canvas> for ItalicChild {
1026        fn from(value: crate::generated::all::Canvas) -> Self {
1027            Self::Canvas(value)
1028        }
1029    }
1030    impl std::convert::From<crate::generated::all::Cite> for ItalicChild {
1031        fn from(value: crate::generated::all::Cite) -> Self {
1032            Self::Cite(value)
1033        }
1034    }
1035    impl std::convert::From<crate::generated::all::Code> for ItalicChild {
1036        fn from(value: crate::generated::all::Code) -> Self {
1037            Self::Code(value)
1038        }
1039    }
1040    impl std::convert::From<crate::generated::all::Data> for ItalicChild {
1041        fn from(value: crate::generated::all::Data) -> Self {
1042            Self::Data(value)
1043        }
1044    }
1045    impl std::convert::From<crate::generated::all::DataList> for ItalicChild {
1046        fn from(value: crate::generated::all::DataList) -> Self {
1047            Self::DataList(value)
1048        }
1049    }
1050    impl std::convert::From<crate::generated::all::Definition> for ItalicChild {
1051        fn from(value: crate::generated::all::Definition) -> Self {
1052            Self::Definition(value)
1053        }
1054    }
1055    impl std::convert::From<crate::generated::all::DeletedText> for ItalicChild {
1056        fn from(value: crate::generated::all::DeletedText) -> Self {
1057            Self::DeletedText(value)
1058        }
1059    }
1060    impl std::convert::From<crate::generated::all::Embed> for ItalicChild {
1061        fn from(value: crate::generated::all::Embed) -> Self {
1062            Self::Embed(value)
1063        }
1064    }
1065    impl std::convert::From<crate::generated::all::Emphasis> for ItalicChild {
1066        fn from(value: crate::generated::all::Emphasis) -> Self {
1067            Self::Emphasis(value)
1068        }
1069    }
1070    impl std::convert::From<crate::generated::all::Iframe> for ItalicChild {
1071        fn from(value: crate::generated::all::Iframe) -> Self {
1072            Self::Iframe(value)
1073        }
1074    }
1075    impl std::convert::From<crate::generated::all::Image> for ItalicChild {
1076        fn from(value: crate::generated::all::Image) -> Self {
1077            Self::Image(value)
1078        }
1079    }
1080    impl std::convert::From<crate::generated::all::ImageMap> for ItalicChild {
1081        fn from(value: crate::generated::all::ImageMap) -> Self {
1082            Self::ImageMap(value)
1083        }
1084    }
1085    impl std::convert::From<crate::generated::all::ImageMapArea> for ItalicChild {
1086        fn from(value: crate::generated::all::ImageMapArea) -> Self {
1087            Self::ImageMapArea(value)
1088        }
1089    }
1090    impl std::convert::From<crate::generated::all::Input> for ItalicChild {
1091        fn from(value: crate::generated::all::Input) -> Self {
1092            Self::Input(value)
1093        }
1094    }
1095    impl std::convert::From<crate::generated::all::InsertedText> for ItalicChild {
1096        fn from(value: crate::generated::all::InsertedText) -> Self {
1097            Self::InsertedText(value)
1098        }
1099    }
1100    impl std::convert::From<crate::generated::all::Italic> for ItalicChild {
1101        fn from(value: crate::generated::all::Italic) -> Self {
1102            Self::Italic(value)
1103        }
1104    }
1105    impl std::convert::From<crate::generated::all::KeyboardInput> for ItalicChild {
1106        fn from(value: crate::generated::all::KeyboardInput) -> Self {
1107            Self::KeyboardInput(value)
1108        }
1109    }
1110    impl std::convert::From<crate::generated::all::Label> for ItalicChild {
1111        fn from(value: crate::generated::all::Label) -> Self {
1112            Self::Label(value)
1113        }
1114    }
1115    impl std::convert::From<crate::generated::all::LineBreak> for ItalicChild {
1116        fn from(value: crate::generated::all::LineBreak) -> Self {
1117            Self::LineBreak(value)
1118        }
1119    }
1120    impl std::convert::From<crate::generated::all::LineBreakOpportunity>
1121    for ItalicChild {
1122        fn from(value: crate::generated::all::LineBreakOpportunity) -> Self {
1123            Self::LineBreakOpportunity(value)
1124        }
1125    }
1126    impl std::convert::From<crate::generated::all::Link> for ItalicChild {
1127        fn from(value: crate::generated::all::Link) -> Self {
1128            Self::Link(value)
1129        }
1130    }
1131    impl std::convert::From<crate::generated::all::MarkText> for ItalicChild {
1132        fn from(value: crate::generated::all::MarkText) -> Self {
1133            Self::MarkText(value)
1134        }
1135    }
1136    impl std::convert::From<crate::generated::all::Meta> for ItalicChild {
1137        fn from(value: crate::generated::all::Meta) -> Self {
1138            Self::Meta(value)
1139        }
1140    }
1141    impl std::convert::From<crate::generated::all::Meter> for ItalicChild {
1142        fn from(value: crate::generated::all::Meter) -> Self {
1143            Self::Meter(value)
1144        }
1145    }
1146    impl std::convert::From<crate::generated::all::NoScript> for ItalicChild {
1147        fn from(value: crate::generated::all::NoScript) -> Self {
1148            Self::NoScript(value)
1149        }
1150    }
1151    impl std::convert::From<crate::generated::all::Object> for ItalicChild {
1152        fn from(value: crate::generated::all::Object) -> Self {
1153            Self::Object(value)
1154        }
1155    }
1156    impl std::convert::From<crate::generated::all::Output> for ItalicChild {
1157        fn from(value: crate::generated::all::Output) -> Self {
1158            Self::Output(value)
1159        }
1160    }
1161    impl std::convert::From<crate::generated::all::Picture> for ItalicChild {
1162        fn from(value: crate::generated::all::Picture) -> Self {
1163            Self::Picture(value)
1164        }
1165    }
1166    impl std::convert::From<crate::generated::all::Progress> for ItalicChild {
1167        fn from(value: crate::generated::all::Progress) -> Self {
1168            Self::Progress(value)
1169        }
1170    }
1171    impl std::convert::From<crate::generated::all::Quotation> for ItalicChild {
1172        fn from(value: crate::generated::all::Quotation) -> Self {
1173            Self::Quotation(value)
1174        }
1175    }
1176    impl std::convert::From<crate::generated::all::RubyAnnotation> for ItalicChild {
1177        fn from(value: crate::generated::all::RubyAnnotation) -> Self {
1178            Self::RubyAnnotation(value)
1179        }
1180    }
1181    impl std::convert::From<crate::generated::all::SampleOutput> for ItalicChild {
1182        fn from(value: crate::generated::all::SampleOutput) -> Self {
1183            Self::SampleOutput(value)
1184        }
1185    }
1186    impl std::convert::From<crate::generated::all::Script> for ItalicChild {
1187        fn from(value: crate::generated::all::Script) -> Self {
1188            Self::Script(value)
1189        }
1190    }
1191    impl std::convert::From<crate::generated::all::Select> for ItalicChild {
1192        fn from(value: crate::generated::all::Select) -> Self {
1193            Self::Select(value)
1194        }
1195    }
1196    impl std::convert::From<crate::generated::all::SideComment> for ItalicChild {
1197        fn from(value: crate::generated::all::SideComment) -> Self {
1198            Self::SideComment(value)
1199        }
1200    }
1201    impl std::convert::From<crate::generated::all::Slot> for ItalicChild {
1202        fn from(value: crate::generated::all::Slot) -> Self {
1203            Self::Slot(value)
1204        }
1205    }
1206    impl std::convert::From<crate::generated::all::Span> for ItalicChild {
1207        fn from(value: crate::generated::all::Span) -> Self {
1208            Self::Span(value)
1209        }
1210    }
1211    impl std::convert::From<crate::generated::all::StrikeThrough> for ItalicChild {
1212        fn from(value: crate::generated::all::StrikeThrough) -> Self {
1213            Self::StrikeThrough(value)
1214        }
1215    }
1216    impl std::convert::From<crate::generated::all::Strong> for ItalicChild {
1217        fn from(value: crate::generated::all::Strong) -> Self {
1218            Self::Strong(value)
1219        }
1220    }
1221    impl std::convert::From<crate::generated::all::SubScript> for ItalicChild {
1222        fn from(value: crate::generated::all::SubScript) -> Self {
1223            Self::SubScript(value)
1224        }
1225    }
1226    impl std::convert::From<crate::generated::all::SuperScript> for ItalicChild {
1227        fn from(value: crate::generated::all::SuperScript) -> Self {
1228            Self::SuperScript(value)
1229        }
1230    }
1231    impl std::convert::From<crate::generated::all::Template> for ItalicChild {
1232        fn from(value: crate::generated::all::Template) -> Self {
1233            Self::Template(value)
1234        }
1235    }
1236    impl std::convert::From<std::borrow::Cow<'static, str>> for ItalicChild {
1237        fn from(value: std::borrow::Cow<'static, str>) -> Self {
1238            Self::Text(value)
1239        }
1240    }
1241    impl std::convert::From<&'static str> for ItalicChild {
1242        fn from(value: &'static str) -> Self {
1243            Self::Text(value.into())
1244        }
1245    }
1246    impl std::convert::From<String> for ItalicChild {
1247        fn from(value: String) -> Self {
1248            Self::Text(value.into())
1249        }
1250    }
1251    impl std::convert::From<crate::generated::all::TextArea> for ItalicChild {
1252        fn from(value: crate::generated::all::TextArea) -> Self {
1253            Self::TextArea(value)
1254        }
1255    }
1256    impl std::convert::From<crate::generated::all::Time> for ItalicChild {
1257        fn from(value: crate::generated::all::Time) -> Self {
1258            Self::Time(value)
1259        }
1260    }
1261    impl std::convert::From<crate::generated::all::Underline> for ItalicChild {
1262        fn from(value: crate::generated::all::Underline) -> Self {
1263            Self::Underline(value)
1264        }
1265    }
1266    impl std::convert::From<crate::generated::all::Variable> for ItalicChild {
1267        fn from(value: crate::generated::all::Variable) -> Self {
1268            Self::Variable(value)
1269        }
1270    }
1271    impl std::convert::From<crate::generated::all::Video> for ItalicChild {
1272        fn from(value: crate::generated::all::Video) -> Self {
1273            Self::Video(value)
1274        }
1275    }
1276    impl crate::Render for ItalicChild {
1277        fn render(
1278            &self,
1279            f: &mut std::fmt::Formatter<'_>,
1280            depth: usize,
1281        ) -> std::fmt::Result {
1282            match self {
1283                Self::Abbreviation(el) => crate::Render::render(el, f, depth + 1),
1284                Self::Anchor(el) => crate::Render::render(el, f, depth + 1),
1285                Self::Audio(el) => crate::Render::render(el, f, depth + 1),
1286                Self::BidirectionalIsolate(el) => crate::Render::render(el, f, depth + 1),
1287                Self::BidirectionalTextOverride(el) => {
1288                    crate::Render::render(el, f, depth + 1)
1289                }
1290                Self::Bold(el) => crate::Render::render(el, f, depth + 1),
1291                Self::Button(el) => crate::Render::render(el, f, depth + 1),
1292                Self::Canvas(el) => crate::Render::render(el, f, depth + 1),
1293                Self::Cite(el) => crate::Render::render(el, f, depth + 1),
1294                Self::Code(el) => crate::Render::render(el, f, depth + 1),
1295                Self::Data(el) => crate::Render::render(el, f, depth + 1),
1296                Self::DataList(el) => crate::Render::render(el, f, depth + 1),
1297                Self::Definition(el) => crate::Render::render(el, f, depth + 1),
1298                Self::DeletedText(el) => crate::Render::render(el, f, depth + 1),
1299                Self::Embed(el) => crate::Render::render(el, f, depth + 1),
1300                Self::Emphasis(el) => crate::Render::render(el, f, depth + 1),
1301                Self::Iframe(el) => crate::Render::render(el, f, depth + 1),
1302                Self::Image(el) => crate::Render::render(el, f, depth + 1),
1303                Self::ImageMap(el) => crate::Render::render(el, f, depth + 1),
1304                Self::ImageMapArea(el) => crate::Render::render(el, f, depth + 1),
1305                Self::Input(el) => crate::Render::render(el, f, depth + 1),
1306                Self::InsertedText(el) => crate::Render::render(el, f, depth + 1),
1307                Self::Italic(el) => crate::Render::render(el, f, depth + 1),
1308                Self::KeyboardInput(el) => crate::Render::render(el, f, depth + 1),
1309                Self::Label(el) => crate::Render::render(el, f, depth + 1),
1310                Self::LineBreak(el) => crate::Render::render(el, f, depth + 1),
1311                Self::LineBreakOpportunity(el) => crate::Render::render(el, f, depth + 1),
1312                Self::Link(el) => crate::Render::render(el, f, depth + 1),
1313                Self::MarkText(el) => crate::Render::render(el, f, depth + 1),
1314                Self::Meta(el) => crate::Render::render(el, f, depth + 1),
1315                Self::Meter(el) => crate::Render::render(el, f, depth + 1),
1316                Self::NoScript(el) => crate::Render::render(el, f, depth + 1),
1317                Self::Object(el) => crate::Render::render(el, f, depth + 1),
1318                Self::Output(el) => crate::Render::render(el, f, depth + 1),
1319                Self::Picture(el) => crate::Render::render(el, f, depth + 1),
1320                Self::Progress(el) => crate::Render::render(el, f, depth + 1),
1321                Self::Quotation(el) => crate::Render::render(el, f, depth + 1),
1322                Self::RubyAnnotation(el) => crate::Render::render(el, f, depth + 1),
1323                Self::SampleOutput(el) => crate::Render::render(el, f, depth + 1),
1324                Self::Script(el) => crate::Render::render(el, f, depth + 1),
1325                Self::Select(el) => crate::Render::render(el, f, depth + 1),
1326                Self::SideComment(el) => crate::Render::render(el, f, depth + 1),
1327                Self::Slot(el) => crate::Render::render(el, f, depth + 1),
1328                Self::Span(el) => crate::Render::render(el, f, depth + 1),
1329                Self::StrikeThrough(el) => crate::Render::render(el, f, depth + 1),
1330                Self::Strong(el) => crate::Render::render(el, f, depth + 1),
1331                Self::SubScript(el) => crate::Render::render(el, f, depth + 1),
1332                Self::SuperScript(el) => crate::Render::render(el, f, depth + 1),
1333                Self::Template(el) => crate::Render::render(el, f, depth + 1),
1334                Self::Text(el) => crate::Render::render(el, f, depth + 1),
1335                Self::TextArea(el) => crate::Render::render(el, f, depth + 1),
1336                Self::Time(el) => crate::Render::render(el, f, depth + 1),
1337                Self::Underline(el) => crate::Render::render(el, f, depth + 1),
1338                Self::Variable(el) => crate::Render::render(el, f, depth + 1),
1339                Self::Video(el) => crate::Render::render(el, f, depth + 1),
1340            }
1341        }
1342    }
1343    impl std::fmt::Debug for ItalicChild {
1344        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1345            crate::Render::render(self, f, 0)?;
1346            Ok(())
1347        }
1348    }
1349    impl std::fmt::Display for ItalicChild {
1350        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1351            match self {
1352                Self::Abbreviation(el) => write!(f, "{el}"),
1353                Self::Anchor(el) => write!(f, "{el}"),
1354                Self::Audio(el) => write!(f, "{el}"),
1355                Self::BidirectionalIsolate(el) => write!(f, "{el}"),
1356                Self::BidirectionalTextOverride(el) => write!(f, "{el}"),
1357                Self::Bold(el) => write!(f, "{el}"),
1358                Self::Button(el) => write!(f, "{el}"),
1359                Self::Canvas(el) => write!(f, "{el}"),
1360                Self::Cite(el) => write!(f, "{el}"),
1361                Self::Code(el) => write!(f, "{el}"),
1362                Self::Data(el) => write!(f, "{el}"),
1363                Self::DataList(el) => write!(f, "{el}"),
1364                Self::Definition(el) => write!(f, "{el}"),
1365                Self::DeletedText(el) => write!(f, "{el}"),
1366                Self::Embed(el) => write!(f, "{el}"),
1367                Self::Emphasis(el) => write!(f, "{el}"),
1368                Self::Iframe(el) => write!(f, "{el}"),
1369                Self::Image(el) => write!(f, "{el}"),
1370                Self::ImageMap(el) => write!(f, "{el}"),
1371                Self::ImageMapArea(el) => write!(f, "{el}"),
1372                Self::Input(el) => write!(f, "{el}"),
1373                Self::InsertedText(el) => write!(f, "{el}"),
1374                Self::Italic(el) => write!(f, "{el}"),
1375                Self::KeyboardInput(el) => write!(f, "{el}"),
1376                Self::Label(el) => write!(f, "{el}"),
1377                Self::LineBreak(el) => write!(f, "{el}"),
1378                Self::LineBreakOpportunity(el) => write!(f, "{el}"),
1379                Self::Link(el) => write!(f, "{el}"),
1380                Self::MarkText(el) => write!(f, "{el}"),
1381                Self::Meta(el) => write!(f, "{el}"),
1382                Self::Meter(el) => write!(f, "{el}"),
1383                Self::NoScript(el) => write!(f, "{el}"),
1384                Self::Object(el) => write!(f, "{el}"),
1385                Self::Output(el) => write!(f, "{el}"),
1386                Self::Picture(el) => write!(f, "{el}"),
1387                Self::Progress(el) => write!(f, "{el}"),
1388                Self::Quotation(el) => write!(f, "{el}"),
1389                Self::RubyAnnotation(el) => write!(f, "{el}"),
1390                Self::SampleOutput(el) => write!(f, "{el}"),
1391                Self::Script(el) => write!(f, "{el}"),
1392                Self::Select(el) => write!(f, "{el}"),
1393                Self::SideComment(el) => write!(f, "{el}"),
1394                Self::Slot(el) => write!(f, "{el}"),
1395                Self::Span(el) => write!(f, "{el}"),
1396                Self::StrikeThrough(el) => write!(f, "{el}"),
1397                Self::Strong(el) => write!(f, "{el}"),
1398                Self::SubScript(el) => write!(f, "{el}"),
1399                Self::SuperScript(el) => write!(f, "{el}"),
1400                Self::Template(el) => write!(f, "{el}"),
1401                Self::Text(el) => write!(f, "{el}"),
1402                Self::TextArea(el) => write!(f, "{el}"),
1403                Self::Time(el) => write!(f, "{el}"),
1404                Self::Underline(el) => write!(f, "{el}"),
1405                Self::Variable(el) => write!(f, "{el}"),
1406                Self::Video(el) => write!(f, "{el}"),
1407            }
1408        }
1409    }
1410}
1411pub mod builder {
1412    /// A builder struct for Italic
1413    pub struct ItalicBuilder {
1414        element: super::element::Italic,
1415    }
1416    impl ItalicBuilder {
1417        pub(crate) fn new(element: super::element::Italic) -> Self {
1418            Self { element }
1419        }
1420        /// Finish building the element
1421        pub fn build(&mut self) -> super::element::Italic {
1422            self.element.clone()
1423        }
1424        /// Insert a `data-*` property
1425        pub fn data(
1426            &mut self,
1427            data_key: impl Into<std::borrow::Cow<'static, str>>,
1428            value: impl Into<std::borrow::Cow<'static, str>>,
1429        ) -> &mut ItalicBuilder {
1430            self.element.data_map_mut().insert(data_key.into(), value.into());
1431            self
1432        }
1433        /// Append a new `Abbreviation` element
1434        pub fn abbreviation<F>(&mut self, f: F) -> &mut Self
1435        where
1436            F: for<'a> FnOnce(
1437                &'a mut crate::generated::all::builders::AbbreviationBuilder,
1438            ) -> &'a mut crate::generated::all::builders::AbbreviationBuilder,
1439        {
1440            let ty: crate::generated::all::Abbreviation = Default::default();
1441            let mut ty_builder = crate::generated::all::builders::AbbreviationBuilder::new(
1442                ty,
1443            );
1444            (f)(&mut ty_builder);
1445            let ty = ty_builder.build();
1446            self.element.children_mut().push(ty.into());
1447            self
1448        }
1449        /// Append a new `Anchor` element
1450        pub fn anchor<F>(&mut self, f: F) -> &mut Self
1451        where
1452            F: for<'a> FnOnce(
1453                &'a mut crate::generated::all::builders::AnchorBuilder,
1454            ) -> &'a mut crate::generated::all::builders::AnchorBuilder,
1455        {
1456            let ty: crate::generated::all::Anchor = Default::default();
1457            let mut ty_builder = crate::generated::all::builders::AnchorBuilder::new(ty);
1458            (f)(&mut ty_builder);
1459            let ty = ty_builder.build();
1460            self.element.children_mut().push(ty.into());
1461            self
1462        }
1463        /// Append a new `Audio` element
1464        pub fn audio<F>(&mut self, f: F) -> &mut Self
1465        where
1466            F: for<'a> FnOnce(
1467                &'a mut crate::generated::all::builders::AudioBuilder,
1468            ) -> &'a mut crate::generated::all::builders::AudioBuilder,
1469        {
1470            let ty: crate::generated::all::Audio = Default::default();
1471            let mut ty_builder = crate::generated::all::builders::AudioBuilder::new(ty);
1472            (f)(&mut ty_builder);
1473            let ty = ty_builder.build();
1474            self.element.children_mut().push(ty.into());
1475            self
1476        }
1477        /// Append a new `BidirectionalIsolate` element
1478        pub fn bidirectional_isolate<F>(&mut self, f: F) -> &mut Self
1479        where
1480            F: for<'a> FnOnce(
1481                &'a mut crate::generated::all::builders::BidirectionalIsolateBuilder,
1482            ) -> &'a mut crate::generated::all::builders::BidirectionalIsolateBuilder,
1483        {
1484            let ty: crate::generated::all::BidirectionalIsolate = Default::default();
1485            let mut ty_builder = crate::generated::all::builders::BidirectionalIsolateBuilder::new(
1486                ty,
1487            );
1488            (f)(&mut ty_builder);
1489            let ty = ty_builder.build();
1490            self.element.children_mut().push(ty.into());
1491            self
1492        }
1493        /// Append a new `BidirectionalTextOverride` element
1494        pub fn bidirectional_text_override<F>(&mut self, f: F) -> &mut Self
1495        where
1496            F: for<'a> FnOnce(
1497                &'a mut crate::generated::all::builders::BidirectionalTextOverrideBuilder,
1498            ) -> &'a mut crate::generated::all::builders::BidirectionalTextOverrideBuilder,
1499        {
1500            let ty: crate::generated::all::BidirectionalTextOverride = Default::default();
1501            let mut ty_builder = crate::generated::all::builders::BidirectionalTextOverrideBuilder::new(
1502                ty,
1503            );
1504            (f)(&mut ty_builder);
1505            let ty = ty_builder.build();
1506            self.element.children_mut().push(ty.into());
1507            self
1508        }
1509        /// Append a new `Bold` element
1510        pub fn bold<F>(&mut self, f: F) -> &mut Self
1511        where
1512            F: for<'a> FnOnce(
1513                &'a mut crate::generated::all::builders::BoldBuilder,
1514            ) -> &'a mut crate::generated::all::builders::BoldBuilder,
1515        {
1516            let ty: crate::generated::all::Bold = Default::default();
1517            let mut ty_builder = crate::generated::all::builders::BoldBuilder::new(ty);
1518            (f)(&mut ty_builder);
1519            let ty = ty_builder.build();
1520            self.element.children_mut().push(ty.into());
1521            self
1522        }
1523        /// Append a new `Button` element
1524        pub fn button<F>(&mut self, f: F) -> &mut Self
1525        where
1526            F: for<'a> FnOnce(
1527                &'a mut crate::generated::all::builders::ButtonBuilder,
1528            ) -> &'a mut crate::generated::all::builders::ButtonBuilder,
1529        {
1530            let ty: crate::generated::all::Button = Default::default();
1531            let mut ty_builder = crate::generated::all::builders::ButtonBuilder::new(ty);
1532            (f)(&mut ty_builder);
1533            let ty = ty_builder.build();
1534            self.element.children_mut().push(ty.into());
1535            self
1536        }
1537        /// Append a new `Canvas` element
1538        pub fn canvas<F>(&mut self, f: F) -> &mut Self
1539        where
1540            F: for<'a> FnOnce(
1541                &'a mut crate::generated::all::builders::CanvasBuilder,
1542            ) -> &'a mut crate::generated::all::builders::CanvasBuilder,
1543        {
1544            let ty: crate::generated::all::Canvas = Default::default();
1545            let mut ty_builder = crate::generated::all::builders::CanvasBuilder::new(ty);
1546            (f)(&mut ty_builder);
1547            let ty = ty_builder.build();
1548            self.element.children_mut().push(ty.into());
1549            self
1550        }
1551        /// Append a new `Cite` element
1552        pub fn cite<F>(&mut self, f: F) -> &mut Self
1553        where
1554            F: for<'a> FnOnce(
1555                &'a mut crate::generated::all::builders::CiteBuilder,
1556            ) -> &'a mut crate::generated::all::builders::CiteBuilder,
1557        {
1558            let ty: crate::generated::all::Cite = Default::default();
1559            let mut ty_builder = crate::generated::all::builders::CiteBuilder::new(ty);
1560            (f)(&mut ty_builder);
1561            let ty = ty_builder.build();
1562            self.element.children_mut().push(ty.into());
1563            self
1564        }
1565        /// Append a new `Code` element
1566        pub fn code<F>(&mut self, f: F) -> &mut Self
1567        where
1568            F: for<'a> FnOnce(
1569                &'a mut crate::generated::all::builders::CodeBuilder,
1570            ) -> &'a mut crate::generated::all::builders::CodeBuilder,
1571        {
1572            let ty: crate::generated::all::Code = Default::default();
1573            let mut ty_builder = crate::generated::all::builders::CodeBuilder::new(ty);
1574            (f)(&mut ty_builder);
1575            let ty = ty_builder.build();
1576            self.element.children_mut().push(ty.into());
1577            self
1578        }
1579        /// Append a new `Data` element
1580        pub fn data_el<F>(&mut self, f: F) -> &mut Self
1581        where
1582            F: for<'a> FnOnce(
1583                &'a mut crate::generated::all::builders::DataBuilder,
1584            ) -> &'a mut crate::generated::all::builders::DataBuilder,
1585        {
1586            let ty: crate::generated::all::Data = Default::default();
1587            let mut ty_builder = crate::generated::all::builders::DataBuilder::new(ty);
1588            (f)(&mut ty_builder);
1589            let ty = ty_builder.build();
1590            self.element.children_mut().push(ty.into());
1591            self
1592        }
1593        /// Append a new `DataList` element
1594        pub fn data_list<F>(&mut self, f: F) -> &mut Self
1595        where
1596            F: for<'a> FnOnce(
1597                &'a mut crate::generated::all::builders::DataListBuilder,
1598            ) -> &'a mut crate::generated::all::builders::DataListBuilder,
1599        {
1600            let ty: crate::generated::all::DataList = Default::default();
1601            let mut ty_builder = crate::generated::all::builders::DataListBuilder::new(
1602                ty,
1603            );
1604            (f)(&mut ty_builder);
1605            let ty = ty_builder.build();
1606            self.element.children_mut().push(ty.into());
1607            self
1608        }
1609        /// Append a new `Definition` element
1610        pub fn definition<F>(&mut self, f: F) -> &mut Self
1611        where
1612            F: for<'a> FnOnce(
1613                &'a mut crate::generated::all::builders::DefinitionBuilder,
1614            ) -> &'a mut crate::generated::all::builders::DefinitionBuilder,
1615        {
1616            let ty: crate::generated::all::Definition = Default::default();
1617            let mut ty_builder = crate::generated::all::builders::DefinitionBuilder::new(
1618                ty,
1619            );
1620            (f)(&mut ty_builder);
1621            let ty = ty_builder.build();
1622            self.element.children_mut().push(ty.into());
1623            self
1624        }
1625        /// Append a new `DeletedText` element
1626        pub fn deleted_text<F>(&mut self, f: F) -> &mut Self
1627        where
1628            F: for<'a> FnOnce(
1629                &'a mut crate::generated::all::builders::DeletedTextBuilder,
1630            ) -> &'a mut crate::generated::all::builders::DeletedTextBuilder,
1631        {
1632            let ty: crate::generated::all::DeletedText = Default::default();
1633            let mut ty_builder = crate::generated::all::builders::DeletedTextBuilder::new(
1634                ty,
1635            );
1636            (f)(&mut ty_builder);
1637            let ty = ty_builder.build();
1638            self.element.children_mut().push(ty.into());
1639            self
1640        }
1641        /// Append a new `Embed` element
1642        pub fn embed<F>(&mut self, f: F) -> &mut Self
1643        where
1644            F: for<'a> FnOnce(
1645                &'a mut crate::generated::all::builders::EmbedBuilder,
1646            ) -> &'a mut crate::generated::all::builders::EmbedBuilder,
1647        {
1648            let ty: crate::generated::all::Embed = Default::default();
1649            let mut ty_builder = crate::generated::all::builders::EmbedBuilder::new(ty);
1650            (f)(&mut ty_builder);
1651            let ty = ty_builder.build();
1652            self.element.children_mut().push(ty.into());
1653            self
1654        }
1655        /// Append a new `Emphasis` element
1656        pub fn emphasis<F>(&mut self, f: F) -> &mut Self
1657        where
1658            F: for<'a> FnOnce(
1659                &'a mut crate::generated::all::builders::EmphasisBuilder,
1660            ) -> &'a mut crate::generated::all::builders::EmphasisBuilder,
1661        {
1662            let ty: crate::generated::all::Emphasis = Default::default();
1663            let mut ty_builder = crate::generated::all::builders::EmphasisBuilder::new(
1664                ty,
1665            );
1666            (f)(&mut ty_builder);
1667            let ty = ty_builder.build();
1668            self.element.children_mut().push(ty.into());
1669            self
1670        }
1671        /// Append a new `Iframe` element
1672        pub fn iframe<F>(&mut self, f: F) -> &mut Self
1673        where
1674            F: for<'a> FnOnce(
1675                &'a mut crate::generated::all::builders::IframeBuilder,
1676            ) -> &'a mut crate::generated::all::builders::IframeBuilder,
1677        {
1678            let ty: crate::generated::all::Iframe = Default::default();
1679            let mut ty_builder = crate::generated::all::builders::IframeBuilder::new(ty);
1680            (f)(&mut ty_builder);
1681            let ty = ty_builder.build();
1682            self.element.children_mut().push(ty.into());
1683            self
1684        }
1685        /// Append a new `Image` element
1686        pub fn image<F>(&mut self, f: F) -> &mut Self
1687        where
1688            F: for<'a> FnOnce(
1689                &'a mut crate::generated::all::builders::ImageBuilder,
1690            ) -> &'a mut crate::generated::all::builders::ImageBuilder,
1691        {
1692            let ty: crate::generated::all::Image = Default::default();
1693            let mut ty_builder = crate::generated::all::builders::ImageBuilder::new(ty);
1694            (f)(&mut ty_builder);
1695            let ty = ty_builder.build();
1696            self.element.children_mut().push(ty.into());
1697            self
1698        }
1699        /// Append a new `ImageMap` element
1700        pub fn image_map<F>(&mut self, f: F) -> &mut Self
1701        where
1702            F: for<'a> FnOnce(
1703                &'a mut crate::generated::all::builders::ImageMapBuilder,
1704            ) -> &'a mut crate::generated::all::builders::ImageMapBuilder,
1705        {
1706            let ty: crate::generated::all::ImageMap = Default::default();
1707            let mut ty_builder = crate::generated::all::builders::ImageMapBuilder::new(
1708                ty,
1709            );
1710            (f)(&mut ty_builder);
1711            let ty = ty_builder.build();
1712            self.element.children_mut().push(ty.into());
1713            self
1714        }
1715        /// Append a new `ImageMapArea` element
1716        pub fn image_map_area<F>(&mut self, f: F) -> &mut Self
1717        where
1718            F: for<'a> FnOnce(
1719                &'a mut crate::generated::all::builders::ImageMapAreaBuilder,
1720            ) -> &'a mut crate::generated::all::builders::ImageMapAreaBuilder,
1721        {
1722            let ty: crate::generated::all::ImageMapArea = Default::default();
1723            let mut ty_builder = crate::generated::all::builders::ImageMapAreaBuilder::new(
1724                ty,
1725            );
1726            (f)(&mut ty_builder);
1727            let ty = ty_builder.build();
1728            self.element.children_mut().push(ty.into());
1729            self
1730        }
1731        /// Append a new `Input` element
1732        pub fn input<F>(&mut self, f: F) -> &mut Self
1733        where
1734            F: for<'a> FnOnce(
1735                &'a mut crate::generated::all::builders::InputBuilder,
1736            ) -> &'a mut crate::generated::all::builders::InputBuilder,
1737        {
1738            let ty: crate::generated::all::Input = Default::default();
1739            let mut ty_builder = crate::generated::all::builders::InputBuilder::new(ty);
1740            (f)(&mut ty_builder);
1741            let ty = ty_builder.build();
1742            self.element.children_mut().push(ty.into());
1743            self
1744        }
1745        /// Append a new `InsertedText` element
1746        pub fn inserted_text<F>(&mut self, f: F) -> &mut Self
1747        where
1748            F: for<'a> FnOnce(
1749                &'a mut crate::generated::all::builders::InsertedTextBuilder,
1750            ) -> &'a mut crate::generated::all::builders::InsertedTextBuilder,
1751        {
1752            let ty: crate::generated::all::InsertedText = Default::default();
1753            let mut ty_builder = crate::generated::all::builders::InsertedTextBuilder::new(
1754                ty,
1755            );
1756            (f)(&mut ty_builder);
1757            let ty = ty_builder.build();
1758            self.element.children_mut().push(ty.into());
1759            self
1760        }
1761        /// Append a new `Italic` element
1762        pub fn italic<F>(&mut self, f: F) -> &mut Self
1763        where
1764            F: for<'a> FnOnce(
1765                &'a mut crate::generated::all::builders::ItalicBuilder,
1766            ) -> &'a mut crate::generated::all::builders::ItalicBuilder,
1767        {
1768            let ty: crate::generated::all::Italic = Default::default();
1769            let mut ty_builder = crate::generated::all::builders::ItalicBuilder::new(ty);
1770            (f)(&mut ty_builder);
1771            let ty = ty_builder.build();
1772            self.element.children_mut().push(ty.into());
1773            self
1774        }
1775        /// Append a new `KeyboardInput` element
1776        pub fn keyboard_input<F>(&mut self, f: F) -> &mut Self
1777        where
1778            F: for<'a> FnOnce(
1779                &'a mut crate::generated::all::builders::KeyboardInputBuilder,
1780            ) -> &'a mut crate::generated::all::builders::KeyboardInputBuilder,
1781        {
1782            let ty: crate::generated::all::KeyboardInput = Default::default();
1783            let mut ty_builder = crate::generated::all::builders::KeyboardInputBuilder::new(
1784                ty,
1785            );
1786            (f)(&mut ty_builder);
1787            let ty = ty_builder.build();
1788            self.element.children_mut().push(ty.into());
1789            self
1790        }
1791        /// Append a new `Label` element
1792        pub fn label<F>(&mut self, f: F) -> &mut Self
1793        where
1794            F: for<'a> FnOnce(
1795                &'a mut crate::generated::all::builders::LabelBuilder,
1796            ) -> &'a mut crate::generated::all::builders::LabelBuilder,
1797        {
1798            let ty: crate::generated::all::Label = Default::default();
1799            let mut ty_builder = crate::generated::all::builders::LabelBuilder::new(ty);
1800            (f)(&mut ty_builder);
1801            let ty = ty_builder.build();
1802            self.element.children_mut().push(ty.into());
1803            self
1804        }
1805        /// Append a new `LineBreak` element
1806        pub fn line_break<F>(&mut self, f: F) -> &mut Self
1807        where
1808            F: for<'a> FnOnce(
1809                &'a mut crate::generated::all::builders::LineBreakBuilder,
1810            ) -> &'a mut crate::generated::all::builders::LineBreakBuilder,
1811        {
1812            let ty: crate::generated::all::LineBreak = Default::default();
1813            let mut ty_builder = crate::generated::all::builders::LineBreakBuilder::new(
1814                ty,
1815            );
1816            (f)(&mut ty_builder);
1817            let ty = ty_builder.build();
1818            self.element.children_mut().push(ty.into());
1819            self
1820        }
1821        /// Append a new `LineBreakOpportunity` element
1822        pub fn line_break_opportunity<F>(&mut self, f: F) -> &mut Self
1823        where
1824            F: for<'a> FnOnce(
1825                &'a mut crate::generated::all::builders::LineBreakOpportunityBuilder,
1826            ) -> &'a mut crate::generated::all::builders::LineBreakOpportunityBuilder,
1827        {
1828            let ty: crate::generated::all::LineBreakOpportunity = Default::default();
1829            let mut ty_builder = crate::generated::all::builders::LineBreakOpportunityBuilder::new(
1830                ty,
1831            );
1832            (f)(&mut ty_builder);
1833            let ty = ty_builder.build();
1834            self.element.children_mut().push(ty.into());
1835            self
1836        }
1837        /// Append a new `Link` element
1838        pub fn link<F>(&mut self, f: F) -> &mut Self
1839        where
1840            F: for<'a> FnOnce(
1841                &'a mut crate::generated::all::builders::LinkBuilder,
1842            ) -> &'a mut crate::generated::all::builders::LinkBuilder,
1843        {
1844            let ty: crate::generated::all::Link = Default::default();
1845            let mut ty_builder = crate::generated::all::builders::LinkBuilder::new(ty);
1846            (f)(&mut ty_builder);
1847            let ty = ty_builder.build();
1848            self.element.children_mut().push(ty.into());
1849            self
1850        }
1851        /// Append a new `MarkText` element
1852        pub fn mark_text<F>(&mut self, f: F) -> &mut Self
1853        where
1854            F: for<'a> FnOnce(
1855                &'a mut crate::generated::all::builders::MarkTextBuilder,
1856            ) -> &'a mut crate::generated::all::builders::MarkTextBuilder,
1857        {
1858            let ty: crate::generated::all::MarkText = Default::default();
1859            let mut ty_builder = crate::generated::all::builders::MarkTextBuilder::new(
1860                ty,
1861            );
1862            (f)(&mut ty_builder);
1863            let ty = ty_builder.build();
1864            self.element.children_mut().push(ty.into());
1865            self
1866        }
1867        /// Append a new `Meta` element
1868        pub fn meta<F>(&mut self, f: F) -> &mut Self
1869        where
1870            F: for<'a> FnOnce(
1871                &'a mut crate::generated::all::builders::MetaBuilder,
1872            ) -> &'a mut crate::generated::all::builders::MetaBuilder,
1873        {
1874            let ty: crate::generated::all::Meta = Default::default();
1875            let mut ty_builder = crate::generated::all::builders::MetaBuilder::new(ty);
1876            (f)(&mut ty_builder);
1877            let ty = ty_builder.build();
1878            self.element.children_mut().push(ty.into());
1879            self
1880        }
1881        /// Append a new `Meter` element
1882        pub fn meter<F>(&mut self, f: F) -> &mut Self
1883        where
1884            F: for<'a> FnOnce(
1885                &'a mut crate::generated::all::builders::MeterBuilder,
1886            ) -> &'a mut crate::generated::all::builders::MeterBuilder,
1887        {
1888            let ty: crate::generated::all::Meter = Default::default();
1889            let mut ty_builder = crate::generated::all::builders::MeterBuilder::new(ty);
1890            (f)(&mut ty_builder);
1891            let ty = ty_builder.build();
1892            self.element.children_mut().push(ty.into());
1893            self
1894        }
1895        /// Append a new `NoScript` element
1896        pub fn no_script<F>(&mut self, f: F) -> &mut Self
1897        where
1898            F: for<'a> FnOnce(
1899                &'a mut crate::generated::all::builders::NoScriptBuilder,
1900            ) -> &'a mut crate::generated::all::builders::NoScriptBuilder,
1901        {
1902            let ty: crate::generated::all::NoScript = Default::default();
1903            let mut ty_builder = crate::generated::all::builders::NoScriptBuilder::new(
1904                ty,
1905            );
1906            (f)(&mut ty_builder);
1907            let ty = ty_builder.build();
1908            self.element.children_mut().push(ty.into());
1909            self
1910        }
1911        /// Append a new `Object` element
1912        pub fn object<F>(&mut self, f: F) -> &mut Self
1913        where
1914            F: for<'a> FnOnce(
1915                &'a mut crate::generated::all::builders::ObjectBuilder,
1916            ) -> &'a mut crate::generated::all::builders::ObjectBuilder,
1917        {
1918            let ty: crate::generated::all::Object = Default::default();
1919            let mut ty_builder = crate::generated::all::builders::ObjectBuilder::new(ty);
1920            (f)(&mut ty_builder);
1921            let ty = ty_builder.build();
1922            self.element.children_mut().push(ty.into());
1923            self
1924        }
1925        /// Append a new `Output` element
1926        pub fn output<F>(&mut self, f: F) -> &mut Self
1927        where
1928            F: for<'a> FnOnce(
1929                &'a mut crate::generated::all::builders::OutputBuilder,
1930            ) -> &'a mut crate::generated::all::builders::OutputBuilder,
1931        {
1932            let ty: crate::generated::all::Output = Default::default();
1933            let mut ty_builder = crate::generated::all::builders::OutputBuilder::new(ty);
1934            (f)(&mut ty_builder);
1935            let ty = ty_builder.build();
1936            self.element.children_mut().push(ty.into());
1937            self
1938        }
1939        /// Append a new `Picture` element
1940        pub fn picture<F>(&mut self, f: F) -> &mut Self
1941        where
1942            F: for<'a> FnOnce(
1943                &'a mut crate::generated::all::builders::PictureBuilder,
1944            ) -> &'a mut crate::generated::all::builders::PictureBuilder,
1945        {
1946            let ty: crate::generated::all::Picture = Default::default();
1947            let mut ty_builder = crate::generated::all::builders::PictureBuilder::new(
1948                ty,
1949            );
1950            (f)(&mut ty_builder);
1951            let ty = ty_builder.build();
1952            self.element.children_mut().push(ty.into());
1953            self
1954        }
1955        /// Append a new `Progress` element
1956        pub fn progress<F>(&mut self, f: F) -> &mut Self
1957        where
1958            F: for<'a> FnOnce(
1959                &'a mut crate::generated::all::builders::ProgressBuilder,
1960            ) -> &'a mut crate::generated::all::builders::ProgressBuilder,
1961        {
1962            let ty: crate::generated::all::Progress = Default::default();
1963            let mut ty_builder = crate::generated::all::builders::ProgressBuilder::new(
1964                ty,
1965            );
1966            (f)(&mut ty_builder);
1967            let ty = ty_builder.build();
1968            self.element.children_mut().push(ty.into());
1969            self
1970        }
1971        /// Append a new `Quotation` element
1972        pub fn quotation<F>(&mut self, f: F) -> &mut Self
1973        where
1974            F: for<'a> FnOnce(
1975                &'a mut crate::generated::all::builders::QuotationBuilder,
1976            ) -> &'a mut crate::generated::all::builders::QuotationBuilder,
1977        {
1978            let ty: crate::generated::all::Quotation = Default::default();
1979            let mut ty_builder = crate::generated::all::builders::QuotationBuilder::new(
1980                ty,
1981            );
1982            (f)(&mut ty_builder);
1983            let ty = ty_builder.build();
1984            self.element.children_mut().push(ty.into());
1985            self
1986        }
1987        /// Append a new `RubyAnnotation` element
1988        pub fn ruby_annotation<F>(&mut self, f: F) -> &mut Self
1989        where
1990            F: for<'a> FnOnce(
1991                &'a mut crate::generated::all::builders::RubyAnnotationBuilder,
1992            ) -> &'a mut crate::generated::all::builders::RubyAnnotationBuilder,
1993        {
1994            let ty: crate::generated::all::RubyAnnotation = Default::default();
1995            let mut ty_builder = crate::generated::all::builders::RubyAnnotationBuilder::new(
1996                ty,
1997            );
1998            (f)(&mut ty_builder);
1999            let ty = ty_builder.build();
2000            self.element.children_mut().push(ty.into());
2001            self
2002        }
2003        /// Append a new `SampleOutput` element
2004        pub fn sample_output<F>(&mut self, f: F) -> &mut Self
2005        where
2006            F: for<'a> FnOnce(
2007                &'a mut crate::generated::all::builders::SampleOutputBuilder,
2008            ) -> &'a mut crate::generated::all::builders::SampleOutputBuilder,
2009        {
2010            let ty: crate::generated::all::SampleOutput = Default::default();
2011            let mut ty_builder = crate::generated::all::builders::SampleOutputBuilder::new(
2012                ty,
2013            );
2014            (f)(&mut ty_builder);
2015            let ty = ty_builder.build();
2016            self.element.children_mut().push(ty.into());
2017            self
2018        }
2019        /// Append a new `Script` element
2020        pub fn script<F>(&mut self, f: F) -> &mut Self
2021        where
2022            F: for<'a> FnOnce(
2023                &'a mut crate::generated::all::builders::ScriptBuilder,
2024            ) -> &'a mut crate::generated::all::builders::ScriptBuilder,
2025        {
2026            let ty: crate::generated::all::Script = Default::default();
2027            let mut ty_builder = crate::generated::all::builders::ScriptBuilder::new(ty);
2028            (f)(&mut ty_builder);
2029            let ty = ty_builder.build();
2030            self.element.children_mut().push(ty.into());
2031            self
2032        }
2033        /// Append a new `Select` element
2034        pub fn select<F>(&mut self, f: F) -> &mut Self
2035        where
2036            F: for<'a> FnOnce(
2037                &'a mut crate::generated::all::builders::SelectBuilder,
2038            ) -> &'a mut crate::generated::all::builders::SelectBuilder,
2039        {
2040            let ty: crate::generated::all::Select = Default::default();
2041            let mut ty_builder = crate::generated::all::builders::SelectBuilder::new(ty);
2042            (f)(&mut ty_builder);
2043            let ty = ty_builder.build();
2044            self.element.children_mut().push(ty.into());
2045            self
2046        }
2047        /// Append a new `SideComment` element
2048        pub fn side_comment<F>(&mut self, f: F) -> &mut Self
2049        where
2050            F: for<'a> FnOnce(
2051                &'a mut crate::generated::all::builders::SideCommentBuilder,
2052            ) -> &'a mut crate::generated::all::builders::SideCommentBuilder,
2053        {
2054            let ty: crate::generated::all::SideComment = Default::default();
2055            let mut ty_builder = crate::generated::all::builders::SideCommentBuilder::new(
2056                ty,
2057            );
2058            (f)(&mut ty_builder);
2059            let ty = ty_builder.build();
2060            self.element.children_mut().push(ty.into());
2061            self
2062        }
2063        /// Append a new `Slot` element
2064        pub fn slot<F>(&mut self, f: F) -> &mut Self
2065        where
2066            F: for<'a> FnOnce(
2067                &'a mut crate::generated::all::builders::SlotBuilder,
2068            ) -> &'a mut crate::generated::all::builders::SlotBuilder,
2069        {
2070            let ty: crate::generated::all::Slot = Default::default();
2071            let mut ty_builder = crate::generated::all::builders::SlotBuilder::new(ty);
2072            (f)(&mut ty_builder);
2073            let ty = ty_builder.build();
2074            self.element.children_mut().push(ty.into());
2075            self
2076        }
2077        /// Append a new `Span` element
2078        pub fn span<F>(&mut self, f: F) -> &mut Self
2079        where
2080            F: for<'a> FnOnce(
2081                &'a mut crate::generated::all::builders::SpanBuilder,
2082            ) -> &'a mut crate::generated::all::builders::SpanBuilder,
2083        {
2084            let ty: crate::generated::all::Span = Default::default();
2085            let mut ty_builder = crate::generated::all::builders::SpanBuilder::new(ty);
2086            (f)(&mut ty_builder);
2087            let ty = ty_builder.build();
2088            self.element.children_mut().push(ty.into());
2089            self
2090        }
2091        /// Append a new `StrikeThrough` element
2092        pub fn strike_through<F>(&mut self, f: F) -> &mut Self
2093        where
2094            F: for<'a> FnOnce(
2095                &'a mut crate::generated::all::builders::StrikeThroughBuilder,
2096            ) -> &'a mut crate::generated::all::builders::StrikeThroughBuilder,
2097        {
2098            let ty: crate::generated::all::StrikeThrough = Default::default();
2099            let mut ty_builder = crate::generated::all::builders::StrikeThroughBuilder::new(
2100                ty,
2101            );
2102            (f)(&mut ty_builder);
2103            let ty = ty_builder.build();
2104            self.element.children_mut().push(ty.into());
2105            self
2106        }
2107        /// Append a new `Strong` element
2108        pub fn strong<F>(&mut self, f: F) -> &mut Self
2109        where
2110            F: for<'a> FnOnce(
2111                &'a mut crate::generated::all::builders::StrongBuilder,
2112            ) -> &'a mut crate::generated::all::builders::StrongBuilder,
2113        {
2114            let ty: crate::generated::all::Strong = Default::default();
2115            let mut ty_builder = crate::generated::all::builders::StrongBuilder::new(ty);
2116            (f)(&mut ty_builder);
2117            let ty = ty_builder.build();
2118            self.element.children_mut().push(ty.into());
2119            self
2120        }
2121        /// Append a new `SubScript` element
2122        pub fn sub_script<F>(&mut self, f: F) -> &mut Self
2123        where
2124            F: for<'a> FnOnce(
2125                &'a mut crate::generated::all::builders::SubScriptBuilder,
2126            ) -> &'a mut crate::generated::all::builders::SubScriptBuilder,
2127        {
2128            let ty: crate::generated::all::SubScript = Default::default();
2129            let mut ty_builder = crate::generated::all::builders::SubScriptBuilder::new(
2130                ty,
2131            );
2132            (f)(&mut ty_builder);
2133            let ty = ty_builder.build();
2134            self.element.children_mut().push(ty.into());
2135            self
2136        }
2137        /// Append a new `SuperScript` element
2138        pub fn super_script<F>(&mut self, f: F) -> &mut Self
2139        where
2140            F: for<'a> FnOnce(
2141                &'a mut crate::generated::all::builders::SuperScriptBuilder,
2142            ) -> &'a mut crate::generated::all::builders::SuperScriptBuilder,
2143        {
2144            let ty: crate::generated::all::SuperScript = Default::default();
2145            let mut ty_builder = crate::generated::all::builders::SuperScriptBuilder::new(
2146                ty,
2147            );
2148            (f)(&mut ty_builder);
2149            let ty = ty_builder.build();
2150            self.element.children_mut().push(ty.into());
2151            self
2152        }
2153        /// Append a new `Template` element
2154        pub fn template<F>(&mut self, f: F) -> &mut Self
2155        where
2156            F: for<'a> FnOnce(
2157                &'a mut crate::generated::all::builders::TemplateBuilder,
2158            ) -> &'a mut crate::generated::all::builders::TemplateBuilder,
2159        {
2160            let ty: crate::generated::all::Template = Default::default();
2161            let mut ty_builder = crate::generated::all::builders::TemplateBuilder::new(
2162                ty,
2163            );
2164            (f)(&mut ty_builder);
2165            let ty = ty_builder.build();
2166            self.element.children_mut().push(ty.into());
2167            self
2168        }
2169        /// Append a new text element.
2170        pub fn text(
2171            &mut self,
2172            s: impl Into<std::borrow::Cow<'static, str>>,
2173        ) -> &mut Self {
2174            let cow = s.into();
2175            self.element.children_mut().push(cow.into());
2176            self
2177        }
2178        /// Append a new `TextArea` element
2179        pub fn text_area<F>(&mut self, f: F) -> &mut Self
2180        where
2181            F: for<'a> FnOnce(
2182                &'a mut crate::generated::all::builders::TextAreaBuilder,
2183            ) -> &'a mut crate::generated::all::builders::TextAreaBuilder,
2184        {
2185            let ty: crate::generated::all::TextArea = Default::default();
2186            let mut ty_builder = crate::generated::all::builders::TextAreaBuilder::new(
2187                ty,
2188            );
2189            (f)(&mut ty_builder);
2190            let ty = ty_builder.build();
2191            self.element.children_mut().push(ty.into());
2192            self
2193        }
2194        /// Append a new `Time` element
2195        pub fn time<F>(&mut self, f: F) -> &mut Self
2196        where
2197            F: for<'a> FnOnce(
2198                &'a mut crate::generated::all::builders::TimeBuilder,
2199            ) -> &'a mut crate::generated::all::builders::TimeBuilder,
2200        {
2201            let ty: crate::generated::all::Time = Default::default();
2202            let mut ty_builder = crate::generated::all::builders::TimeBuilder::new(ty);
2203            (f)(&mut ty_builder);
2204            let ty = ty_builder.build();
2205            self.element.children_mut().push(ty.into());
2206            self
2207        }
2208        /// Append a new `Underline` element
2209        pub fn underline<F>(&mut self, f: F) -> &mut Self
2210        where
2211            F: for<'a> FnOnce(
2212                &'a mut crate::generated::all::builders::UnderlineBuilder,
2213            ) -> &'a mut crate::generated::all::builders::UnderlineBuilder,
2214        {
2215            let ty: crate::generated::all::Underline = Default::default();
2216            let mut ty_builder = crate::generated::all::builders::UnderlineBuilder::new(
2217                ty,
2218            );
2219            (f)(&mut ty_builder);
2220            let ty = ty_builder.build();
2221            self.element.children_mut().push(ty.into());
2222            self
2223        }
2224        /// Append a new `Variable` element
2225        pub fn variable<F>(&mut self, f: F) -> &mut Self
2226        where
2227            F: for<'a> FnOnce(
2228                &'a mut crate::generated::all::builders::VariableBuilder,
2229            ) -> &'a mut crate::generated::all::builders::VariableBuilder,
2230        {
2231            let ty: crate::generated::all::Variable = Default::default();
2232            let mut ty_builder = crate::generated::all::builders::VariableBuilder::new(
2233                ty,
2234            );
2235            (f)(&mut ty_builder);
2236            let ty = ty_builder.build();
2237            self.element.children_mut().push(ty.into());
2238            self
2239        }
2240        /// Append a new `Video` element
2241        pub fn video<F>(&mut self, f: F) -> &mut Self
2242        where
2243            F: for<'a> FnOnce(
2244                &'a mut crate::generated::all::builders::VideoBuilder,
2245            ) -> &'a mut crate::generated::all::builders::VideoBuilder,
2246        {
2247            let ty: crate::generated::all::Video = Default::default();
2248            let mut ty_builder = crate::generated::all::builders::VideoBuilder::new(ty);
2249            (f)(&mut ty_builder);
2250            let ty = ty_builder.build();
2251            self.element.children_mut().push(ty.into());
2252            self
2253        }
2254        /// Set the value of the `role` attribute
2255        pub fn role(
2256            &mut self,
2257            value: impl Into<std::borrow::Cow<'static, str>>,
2258        ) -> &mut Self {
2259            self.element.set_role(Some(value.into()));
2260            self
2261        }
2262        /// Set the value of the `aria-activedescendant` attribute
2263        pub fn aria_active_descendant_element(
2264            &mut self,
2265            value: impl Into<std::borrow::Cow<'static, str>>,
2266        ) -> &mut Self {
2267            self.element.set_aria_active_descendant_element(Some(value.into()));
2268            self
2269        }
2270        /// Set the value of the `aria-atomic` attribute
2271        pub fn aria_atomic(&mut self, value: bool) -> &mut Self {
2272            self.element.set_aria_atomic(value);
2273            self
2274        }
2275        /// Set the value of the `aria-autocomplete` attribute
2276        pub fn aria_auto_complete(
2277            &mut self,
2278            value: impl Into<std::borrow::Cow<'static, str>>,
2279        ) -> &mut Self {
2280            self.element.set_aria_auto_complete(Some(value.into()));
2281            self
2282        }
2283        /// Set the value of the `aria-brailleroledescription` attribute
2284        pub fn aria_braille_role_description(
2285            &mut self,
2286            value: impl Into<std::borrow::Cow<'static, str>>,
2287        ) -> &mut Self {
2288            self.element.set_aria_braille_role_description(Some(value.into()));
2289            self
2290        }
2291        /// Set the value of the `aria-busy` attribute
2292        pub fn aria_busy(&mut self, value: bool) -> &mut Self {
2293            self.element.set_aria_busy(value);
2294            self
2295        }
2296        /// Set the value of the `aria-checked` attribute
2297        pub fn aria_checked(
2298            &mut self,
2299            value: impl Into<std::borrow::Cow<'static, str>>,
2300        ) -> &mut Self {
2301            self.element.set_aria_checked(Some(value.into()));
2302            self
2303        }
2304        /// Set the value of the `aria-colcount` attribute
2305        pub fn aria_col_count(&mut self, value: i64) -> &mut Self {
2306            self.element.set_aria_col_count(Some(value));
2307            self
2308        }
2309        /// Set the value of the `aria-colindex` attribute
2310        pub fn aria_col_index(&mut self, value: i64) -> &mut Self {
2311            self.element.set_aria_col_index(Some(value));
2312            self
2313        }
2314        /// Set the value of the `aria-colindextext` attribute
2315        pub fn aria_col_index_text(
2316            &mut self,
2317            value: impl Into<std::borrow::Cow<'static, str>>,
2318        ) -> &mut Self {
2319            self.element.set_aria_col_index_text(Some(value.into()));
2320            self
2321        }
2322        /// Set the value of the `aria-colspan` attribute
2323        pub fn aria_col_span(&mut self, value: i64) -> &mut Self {
2324            self.element.set_aria_col_span(Some(value));
2325            self
2326        }
2327        /// Set the value of the `aria-controls` attribute
2328        pub fn aria_controls_elements(
2329            &mut self,
2330            value: impl Into<std::borrow::Cow<'static, str>>,
2331        ) -> &mut Self {
2332            self.element.set_aria_controls_elements(Some(value.into()));
2333            self
2334        }
2335        /// Set the value of the `aria-current` attribute
2336        pub fn aria_current(
2337            &mut self,
2338            value: impl Into<std::borrow::Cow<'static, str>>,
2339        ) -> &mut Self {
2340            self.element.set_aria_current(Some(value.into()));
2341            self
2342        }
2343        /// Set the value of the `aria-describedby` attribute
2344        pub fn aria_described_by_elements(
2345            &mut self,
2346            value: impl Into<std::borrow::Cow<'static, str>>,
2347        ) -> &mut Self {
2348            self.element.set_aria_described_by_elements(Some(value.into()));
2349            self
2350        }
2351        /// Set the value of the `aria-description` attribute
2352        pub fn aria_description(
2353            &mut self,
2354            value: impl Into<std::borrow::Cow<'static, str>>,
2355        ) -> &mut Self {
2356            self.element.set_aria_description(Some(value.into()));
2357            self
2358        }
2359        /// Set the value of the `aria-details` attribute
2360        pub fn aria_details_elements(
2361            &mut self,
2362            value: impl Into<std::borrow::Cow<'static, str>>,
2363        ) -> &mut Self {
2364            self.element.set_aria_details_elements(Some(value.into()));
2365            self
2366        }
2367        /// Set the value of the `aria-disabled` attribute
2368        pub fn aria_disabled(&mut self, value: bool) -> &mut Self {
2369            self.element.set_aria_disabled(value);
2370            self
2371        }
2372        /// Set the value of the `aria-dropeffect` attribute
2373        pub fn aria_drop_effect(
2374            &mut self,
2375            value: impl Into<std::borrow::Cow<'static, str>>,
2376        ) -> &mut Self {
2377            self.element.set_aria_drop_effect(Some(value.into()));
2378            self
2379        }
2380        /// Set the value of the `aria-errormessage` attribute
2381        pub fn aria_error_message_elements(
2382            &mut self,
2383            value: impl Into<std::borrow::Cow<'static, str>>,
2384        ) -> &mut Self {
2385            self.element.set_aria_error_message_elements(Some(value.into()));
2386            self
2387        }
2388        /// Set the value of the `aria-expanded` attribute
2389        pub fn aria_expanded(&mut self, value: bool) -> &mut Self {
2390            self.element.set_aria_expanded(value);
2391            self
2392        }
2393        /// Set the value of the `aria-flowto` attribute
2394        pub fn aria_flow_to_elements(
2395            &mut self,
2396            value: impl Into<std::borrow::Cow<'static, str>>,
2397        ) -> &mut Self {
2398            self.element.set_aria_flow_to_elements(Some(value.into()));
2399            self
2400        }
2401        /// Set the value of the `aria-grabbed` attribute
2402        pub fn aria_grabbed(&mut self, value: bool) -> &mut Self {
2403            self.element.set_aria_grabbed(value);
2404            self
2405        }
2406        /// Set the value of the `aria-haspopup` attribute
2407        pub fn aria_has_popup(
2408            &mut self,
2409            value: impl Into<std::borrow::Cow<'static, str>>,
2410        ) -> &mut Self {
2411            self.element.set_aria_has_popup(Some(value.into()));
2412            self
2413        }
2414        /// Set the value of the `aria-hidden` attribute
2415        pub fn aria_hidden(&mut self, value: bool) -> &mut Self {
2416            self.element.set_aria_hidden(value);
2417            self
2418        }
2419        /// Set the value of the `aria-invalid` attribute
2420        pub fn aria_invalid(
2421            &mut self,
2422            value: impl Into<std::borrow::Cow<'static, str>>,
2423        ) -> &mut Self {
2424            self.element.set_aria_invalid(Some(value.into()));
2425            self
2426        }
2427        /// Set the value of the `aria-keyshortcuts` attribute
2428        pub fn aria_key_shortcuts(
2429            &mut self,
2430            value: impl Into<std::borrow::Cow<'static, str>>,
2431        ) -> &mut Self {
2432            self.element.set_aria_key_shortcuts(Some(value.into()));
2433            self
2434        }
2435        /// Set the value of the `aria-level` attribute
2436        pub fn aria_level(&mut self, value: i64) -> &mut Self {
2437            self.element.set_aria_level(Some(value));
2438            self
2439        }
2440        /// Set the value of the `aria-live` attribute
2441        pub fn aria_live(
2442            &mut self,
2443            value: impl Into<std::borrow::Cow<'static, str>>,
2444        ) -> &mut Self {
2445            self.element.set_aria_live(Some(value.into()));
2446            self
2447        }
2448        /// Set the value of the `aria-modal` attribute
2449        pub fn aria_modal(&mut self, value: bool) -> &mut Self {
2450            self.element.set_aria_modal(value);
2451            self
2452        }
2453        /// Set the value of the `aria-multiline` attribute
2454        pub fn aria_multi_line(&mut self, value: bool) -> &mut Self {
2455            self.element.set_aria_multi_line(value);
2456            self
2457        }
2458        /// Set the value of the `aria-multiselectable` attribute
2459        pub fn aria_multi_selectable(&mut self, value: bool) -> &mut Self {
2460            self.element.set_aria_multi_selectable(value);
2461            self
2462        }
2463        /// Set the value of the `aria-orientation` attribute
2464        pub fn aria_orientation(
2465            &mut self,
2466            value: impl Into<std::borrow::Cow<'static, str>>,
2467        ) -> &mut Self {
2468            self.element.set_aria_orientation(Some(value.into()));
2469            self
2470        }
2471        /// Set the value of the `aria-owns` attribute
2472        pub fn aria_owns_elements(
2473            &mut self,
2474            value: impl Into<std::borrow::Cow<'static, str>>,
2475        ) -> &mut Self {
2476            self.element.set_aria_owns_elements(Some(value.into()));
2477            self
2478        }
2479        /// Set the value of the `aria-placeholder` attribute
2480        pub fn aria_placeholder(
2481            &mut self,
2482            value: impl Into<std::borrow::Cow<'static, str>>,
2483        ) -> &mut Self {
2484            self.element.set_aria_placeholder(Some(value.into()));
2485            self
2486        }
2487        /// Set the value of the `aria-posinset` attribute
2488        pub fn aria_pos_in_set(&mut self, value: i64) -> &mut Self {
2489            self.element.set_aria_pos_in_set(Some(value));
2490            self
2491        }
2492        /// Set the value of the `aria-pressed` attribute
2493        pub fn aria_pressed(
2494            &mut self,
2495            value: impl Into<std::borrow::Cow<'static, str>>,
2496        ) -> &mut Self {
2497            self.element.set_aria_pressed(Some(value.into()));
2498            self
2499        }
2500        /// Set the value of the `aria-readonly` attribute
2501        pub fn aria_read_only(&mut self, value: bool) -> &mut Self {
2502            self.element.set_aria_read_only(value);
2503            self
2504        }
2505        /// Set the value of the `aria-relevant` attribute
2506        pub fn aria_relevant(
2507            &mut self,
2508            value: impl Into<std::borrow::Cow<'static, str>>,
2509        ) -> &mut Self {
2510            self.element.set_aria_relevant(Some(value.into()));
2511            self
2512        }
2513        /// Set the value of the `aria-required` attribute
2514        pub fn aria_required(&mut self, value: bool) -> &mut Self {
2515            self.element.set_aria_required(value);
2516            self
2517        }
2518        /// Set the value of the `aria-roledescription` attribute
2519        pub fn aria_role_description(
2520            &mut self,
2521            value: impl Into<std::borrow::Cow<'static, str>>,
2522        ) -> &mut Self {
2523            self.element.set_aria_role_description(Some(value.into()));
2524            self
2525        }
2526        /// Set the value of the `aria-rowcount` attribute
2527        pub fn aria_row_count(&mut self, value: i64) -> &mut Self {
2528            self.element.set_aria_row_count(Some(value));
2529            self
2530        }
2531        /// Set the value of the `aria-rowindex` attribute
2532        pub fn aria_row_index(&mut self, value: i64) -> &mut Self {
2533            self.element.set_aria_row_index(Some(value));
2534            self
2535        }
2536        /// Set the value of the `aria-rowindextext` attribute
2537        pub fn aria_row_index_text(
2538            &mut self,
2539            value: impl Into<std::borrow::Cow<'static, str>>,
2540        ) -> &mut Self {
2541            self.element.set_aria_row_index_text(Some(value.into()));
2542            self
2543        }
2544        /// Set the value of the `aria-rowspan` attribute
2545        pub fn aria_row_span(&mut self, value: i64) -> &mut Self {
2546            self.element.set_aria_row_span(Some(value));
2547            self
2548        }
2549        /// Set the value of the `aria-selected` attribute
2550        pub fn aria_selected(&mut self, value: bool) -> &mut Self {
2551            self.element.set_aria_selected(value);
2552            self
2553        }
2554        /// Set the value of the `aria-setsize` attribute
2555        pub fn aria_set_size(&mut self, value: i64) -> &mut Self {
2556            self.element.set_aria_set_size(Some(value));
2557            self
2558        }
2559        /// Set the value of the `aria-sort` attribute
2560        pub fn aria_sort(
2561            &mut self,
2562            value: impl Into<std::borrow::Cow<'static, str>>,
2563        ) -> &mut Self {
2564            self.element.set_aria_sort(Some(value.into()));
2565            self
2566        }
2567        /// Set the value of the `aria-valuemax` attribute
2568        pub fn aria_value_max(&mut self, value: f64) -> &mut Self {
2569            self.element.set_aria_value_max(Some(value));
2570            self
2571        }
2572        /// Set the value of the `aria-valuemin` attribute
2573        pub fn aria_value_min(&mut self, value: f64) -> &mut Self {
2574            self.element.set_aria_value_min(Some(value));
2575            self
2576        }
2577        /// Set the value of the `aria-valuenow` attribute
2578        pub fn aria_value_now(&mut self, value: f64) -> &mut Self {
2579            self.element.set_aria_value_now(Some(value));
2580            self
2581        }
2582        /// Set the value of the `aria-valuetext` attribute
2583        pub fn aria_value_text(
2584            &mut self,
2585            value: impl Into<std::borrow::Cow<'static, str>>,
2586        ) -> &mut Self {
2587            self.element.set_aria_value_text(Some(value.into()));
2588            self
2589        }
2590        /// Set the value of the `accesskey` attribute
2591        pub fn access_key(
2592            &mut self,
2593            value: impl Into<std::borrow::Cow<'static, str>>,
2594        ) -> &mut Self {
2595            self.element.set_access_key(Some(value.into()));
2596            self
2597        }
2598        /// Set the value of the `autocapitalize` attribute
2599        pub fn auto_capitalize(
2600            &mut self,
2601            value: impl Into<std::borrow::Cow<'static, str>>,
2602        ) -> &mut Self {
2603            self.element.set_auto_capitalize(Some(value.into()));
2604            self
2605        }
2606        /// Set the value of the `autofocus` attribute
2607        pub fn autofocus(&mut self, value: bool) -> &mut Self {
2608            self.element.set_autofocus(value);
2609            self
2610        }
2611        /// Set the value of the `class` attribute
2612        pub fn class(
2613            &mut self,
2614            value: impl Into<std::borrow::Cow<'static, str>>,
2615        ) -> &mut Self {
2616            self.element.set_class(Some(value.into()));
2617            self
2618        }
2619        /// Set the value of the `contenteditable` attribute
2620        pub fn content_editable(
2621            &mut self,
2622            value: impl Into<std::borrow::Cow<'static, str>>,
2623        ) -> &mut Self {
2624            self.element.set_content_editable(Some(value.into()));
2625            self
2626        }
2627        /// Set the value of the `dir` attribute
2628        pub fn direction(
2629            &mut self,
2630            value: impl Into<std::borrow::Cow<'static, str>>,
2631        ) -> &mut Self {
2632            self.element.set_direction(Some(value.into()));
2633            self
2634        }
2635        /// Set the value of the `draggable` attribute
2636        pub fn draggable(&mut self, value: bool) -> &mut Self {
2637            self.element.set_draggable(value);
2638            self
2639        }
2640        /// Set the value of the `enterkeyhint` attribute
2641        pub fn enter_key_hint(
2642            &mut self,
2643            value: impl Into<std::borrow::Cow<'static, str>>,
2644        ) -> &mut Self {
2645            self.element.set_enter_key_hint(Some(value.into()));
2646            self
2647        }
2648        /// Set the value of the `exportparts` attribute
2649        pub fn export_parts(
2650            &mut self,
2651            value: impl Into<std::borrow::Cow<'static, str>>,
2652        ) -> &mut Self {
2653            self.element.set_export_parts(Some(value.into()));
2654            self
2655        }
2656        /// Set the value of the `hidden` attribute
2657        pub fn hidden(
2658            &mut self,
2659            value: impl Into<std::borrow::Cow<'static, str>>,
2660        ) -> &mut Self {
2661            self.element.set_hidden(Some(value.into()));
2662            self
2663        }
2664        /// Set the value of the `id` attribute
2665        pub fn id(
2666            &mut self,
2667            value: impl Into<std::borrow::Cow<'static, str>>,
2668        ) -> &mut Self {
2669            self.element.set_id(Some(value.into()));
2670            self
2671        }
2672        /// Set the value of the `inert` attribute
2673        pub fn inert(&mut self, value: bool) -> &mut Self {
2674            self.element.set_inert(value);
2675            self
2676        }
2677        /// Set the value of the `inputmode` attribute
2678        pub fn input_mode(
2679            &mut self,
2680            value: impl Into<std::borrow::Cow<'static, str>>,
2681        ) -> &mut Self {
2682            self.element.set_input_mode(Some(value.into()));
2683            self
2684        }
2685        /// Set the value of the `is` attribute
2686        pub fn is_(
2687            &mut self,
2688            value: impl Into<std::borrow::Cow<'static, str>>,
2689        ) -> &mut Self {
2690            self.element.set_is_(Some(value.into()));
2691            self
2692        }
2693        /// Set the value of the `itemid` attribute
2694        pub fn item_id(
2695            &mut self,
2696            value: impl Into<std::borrow::Cow<'static, str>>,
2697        ) -> &mut Self {
2698            self.element.set_item_id(Some(value.into()));
2699            self
2700        }
2701        /// Set the value of the `itemprop` attribute
2702        pub fn item_prop(
2703            &mut self,
2704            value: impl Into<std::borrow::Cow<'static, str>>,
2705        ) -> &mut Self {
2706            self.element.set_item_prop(Some(value.into()));
2707            self
2708        }
2709        /// Set the value of the `itemref` attribute
2710        pub fn item_ref(
2711            &mut self,
2712            value: impl Into<std::borrow::Cow<'static, str>>,
2713        ) -> &mut Self {
2714            self.element.set_item_ref(Some(value.into()));
2715            self
2716        }
2717        /// Set the value of the `itemscope` attribute
2718        pub fn item_scope(
2719            &mut self,
2720            value: impl Into<std::borrow::Cow<'static, str>>,
2721        ) -> &mut Self {
2722            self.element.set_item_scope(Some(value.into()));
2723            self
2724        }
2725        /// Set the value of the `itemtype` attribute
2726        pub fn item_type(
2727            &mut self,
2728            value: impl Into<std::borrow::Cow<'static, str>>,
2729        ) -> &mut Self {
2730            self.element.set_item_type(Some(value.into()));
2731            self
2732        }
2733        /// Set the value of the `lang` attribute
2734        pub fn lang(
2735            &mut self,
2736            value: impl Into<std::borrow::Cow<'static, str>>,
2737        ) -> &mut Self {
2738            self.element.set_lang(Some(value.into()));
2739            self
2740        }
2741        /// Set the value of the `nonce` attribute
2742        pub fn nonce(
2743            &mut self,
2744            value: impl Into<std::borrow::Cow<'static, str>>,
2745        ) -> &mut Self {
2746            self.element.set_nonce(Some(value.into()));
2747            self
2748        }
2749        /// Set the value of the `part` attribute
2750        pub fn part(
2751            &mut self,
2752            value: impl Into<std::borrow::Cow<'static, str>>,
2753        ) -> &mut Self {
2754            self.element.set_part(Some(value.into()));
2755            self
2756        }
2757        /// Set the value of the `slot` attribute
2758        pub fn slot_attr(
2759            &mut self,
2760            value: impl Into<std::borrow::Cow<'static, str>>,
2761        ) -> &mut Self {
2762            self.element.set_slot(Some(value.into()));
2763            self
2764        }
2765        /// Set the value of the `spellcheck` attribute
2766        pub fn spellcheck(
2767            &mut self,
2768            value: impl Into<std::borrow::Cow<'static, str>>,
2769        ) -> &mut Self {
2770            self.element.set_spellcheck(Some(value.into()));
2771            self
2772        }
2773        /// Set the value of the `style` attribute
2774        pub fn style(
2775            &mut self,
2776            value: impl Into<std::borrow::Cow<'static, str>>,
2777        ) -> &mut Self {
2778            self.element.set_style(Some(value.into()));
2779            self
2780        }
2781        /// Set the value of the `tabindex` attribute
2782        pub fn tab_index(&mut self, value: i64) -> &mut Self {
2783            self.element.set_tab_index(Some(value));
2784            self
2785        }
2786        /// Set the value of the `title` attribute
2787        pub fn title(
2788            &mut self,
2789            value: impl Into<std::borrow::Cow<'static, str>>,
2790        ) -> &mut Self {
2791            self.element.set_title(Some(value.into()));
2792            self
2793        }
2794        /// Set the value of the `translate` attribute
2795        pub fn translate(&mut self, value: bool) -> &mut Self {
2796            self.element.set_translate(value);
2797            self
2798        }
2799        /// Push a new child element to the list of children.
2800        pub fn push<T>(&mut self, child_el: T) -> &mut Self
2801        where
2802            T: Into<crate::generated::all::children::ItalicChild>,
2803        {
2804            let child_el = child_el.into();
2805            self.element.children_mut().push(child_el);
2806            self
2807        }
2808        /// Extend the list of children with an iterator of child elements.
2809        pub fn extend<I, T>(&mut self, iter: I) -> &mut Self
2810        where
2811            I: IntoIterator<Item = T>,
2812            T: Into<crate::generated::all::children::ItalicChild>,
2813        {
2814            let iter = iter.into_iter().map(|child_el| child_el.into());
2815            self.element.children_mut().extend(iter);
2816            self
2817        }
2818    }
2819}