html/generated/
li.rs

1pub mod element {
2    /// The HTML `<li>` element
3    ///
4    /// [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li)
5    #[doc(alias = "li")]
6    #[non_exhaustive]
7    #[derive(PartialEq, Clone, Default)]
8    pub struct ListItem {
9        sys: html_sys::text::ListItem,
10        children: Vec<super::child::ListItemChild>,
11    }
12    impl ListItem {
13        /// Create a new builder
14        pub fn builder() -> super::builder::ListItemBuilder {
15            super::builder::ListItemBuilder::new(Default::default())
16        }
17    }
18    impl ListItem {
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 ListItem {
29        /// Get the value of the `value` attribute
30        pub fn value(&self) -> std::option::Option<&str> {
31            self.sys.value.as_deref()
32        }
33        /// Set the value of the `value` attribute
34        pub fn set_value(
35            &mut self,
36            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
37        ) {
38            self.sys.value = value.map(|v| v.into());
39        }
40        /// Get the value of the `role` attribute
41        pub fn role(&self) -> std::option::Option<&str> {
42            self.sys.role.as_deref()
43        }
44        /// Set the value of the `role` attribute
45        pub fn set_role(
46            &mut self,
47            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
48        ) {
49            self.sys.role = value.map(|v| v.into());
50        }
51        /// Get the value of the `aria-activedescendant` attribute
52        pub fn aria_active_descendant_element(&self) -> std::option::Option<&str> {
53            self.sys.aria_active_descendant_element.as_deref()
54        }
55        /// Set the value of the `aria-activedescendant` attribute
56        pub fn set_aria_active_descendant_element(
57            &mut self,
58            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
59        ) {
60            self.sys.aria_active_descendant_element = value.map(|v| v.into());
61        }
62        /// Get the value of the `aria-atomic` attribute
63        pub fn aria_atomic(&self) -> bool {
64            self.sys.aria_atomic
65        }
66        /// Set the value of the `aria-atomic` attribute
67        pub fn set_aria_atomic(&mut self, value: bool) {
68            self.sys.aria_atomic = value;
69        }
70        /// Get the value of the `aria-autocomplete` attribute
71        pub fn aria_auto_complete(&self) -> std::option::Option<&str> {
72            self.sys.aria_auto_complete.as_deref()
73        }
74        /// Set the value of the `aria-autocomplete` attribute
75        pub fn set_aria_auto_complete(
76            &mut self,
77            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
78        ) {
79            self.sys.aria_auto_complete = value.map(|v| v.into());
80        }
81        /// Get the value of the `aria-braillelabel` attribute
82        pub fn aria_braille_label(&self) -> std::option::Option<&str> {
83            self.sys.aria_braille_label.as_deref()
84        }
85        /// Set the value of the `aria-braillelabel` attribute
86        pub fn set_aria_braille_label(
87            &mut self,
88            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
89        ) {
90            self.sys.aria_braille_label = value.map(|v| v.into());
91        }
92        /// Get the value of the `aria-brailleroledescription` attribute
93        pub fn aria_braille_role_description(&self) -> std::option::Option<&str> {
94            self.sys.aria_braille_role_description.as_deref()
95        }
96        /// Set the value of the `aria-brailleroledescription` attribute
97        pub fn set_aria_braille_role_description(
98            &mut self,
99            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
100        ) {
101            self.sys.aria_braille_role_description = value.map(|v| v.into());
102        }
103        /// Get the value of the `aria-busy` attribute
104        pub fn aria_busy(&self) -> bool {
105            self.sys.aria_busy
106        }
107        /// Set the value of the `aria-busy` attribute
108        pub fn set_aria_busy(&mut self, value: bool) {
109            self.sys.aria_busy = value;
110        }
111        /// Get the value of the `aria-checked` attribute
112        pub fn aria_checked(&self) -> std::option::Option<&str> {
113            self.sys.aria_checked.as_deref()
114        }
115        /// Set the value of the `aria-checked` attribute
116        pub fn set_aria_checked(
117            &mut self,
118            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
119        ) {
120            self.sys.aria_checked = value.map(|v| v.into());
121        }
122        /// Get the value of the `aria-colcount` attribute
123        pub fn aria_col_count(&self) -> std::option::Option<i64> {
124            self.sys.aria_col_count
125        }
126        /// Set the value of the `aria-colcount` attribute
127        pub fn set_aria_col_count(&mut self, value: std::option::Option<i64>) {
128            self.sys.aria_col_count = value;
129        }
130        /// Get the value of the `aria-colindex` attribute
131        pub fn aria_col_index(&self) -> std::option::Option<i64> {
132            self.sys.aria_col_index
133        }
134        /// Set the value of the `aria-colindex` attribute
135        pub fn set_aria_col_index(&mut self, value: std::option::Option<i64>) {
136            self.sys.aria_col_index = value;
137        }
138        /// Get the value of the `aria-colindextext` attribute
139        pub fn aria_col_index_text(&self) -> std::option::Option<&str> {
140            self.sys.aria_col_index_text.as_deref()
141        }
142        /// Set the value of the `aria-colindextext` attribute
143        pub fn set_aria_col_index_text(
144            &mut self,
145            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
146        ) {
147            self.sys.aria_col_index_text = value.map(|v| v.into());
148        }
149        /// Get the value of the `aria-colspan` attribute
150        pub fn aria_col_span(&self) -> std::option::Option<i64> {
151            self.sys.aria_col_span
152        }
153        /// Set the value of the `aria-colspan` attribute
154        pub fn set_aria_col_span(&mut self, value: std::option::Option<i64>) {
155            self.sys.aria_col_span = value;
156        }
157        /// Get the value of the `aria-controls` attribute
158        pub fn aria_controls_elements(&self) -> std::option::Option<&str> {
159            self.sys.aria_controls_elements.as_deref()
160        }
161        /// Set the value of the `aria-controls` attribute
162        pub fn set_aria_controls_elements(
163            &mut self,
164            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
165        ) {
166            self.sys.aria_controls_elements = value.map(|v| v.into());
167        }
168        /// Get the value of the `aria-current` attribute
169        pub fn aria_current(&self) -> std::option::Option<&str> {
170            self.sys.aria_current.as_deref()
171        }
172        /// Set the value of the `aria-current` attribute
173        pub fn set_aria_current(
174            &mut self,
175            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
176        ) {
177            self.sys.aria_current = value.map(|v| v.into());
178        }
179        /// Get the value of the `aria-describedby` attribute
180        pub fn aria_described_by_elements(&self) -> std::option::Option<&str> {
181            self.sys.aria_described_by_elements.as_deref()
182        }
183        /// Set the value of the `aria-describedby` attribute
184        pub fn set_aria_described_by_elements(
185            &mut self,
186            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
187        ) {
188            self.sys.aria_described_by_elements = value.map(|v| v.into());
189        }
190        /// Get the value of the `aria-description` attribute
191        pub fn aria_description(&self) -> std::option::Option<&str> {
192            self.sys.aria_description.as_deref()
193        }
194        /// Set the value of the `aria-description` attribute
195        pub fn set_aria_description(
196            &mut self,
197            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
198        ) {
199            self.sys.aria_description = value.map(|v| v.into());
200        }
201        /// Get the value of the `aria-details` attribute
202        pub fn aria_details_elements(&self) -> std::option::Option<&str> {
203            self.sys.aria_details_elements.as_deref()
204        }
205        /// Set the value of the `aria-details` attribute
206        pub fn set_aria_details_elements(
207            &mut self,
208            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
209        ) {
210            self.sys.aria_details_elements = value.map(|v| v.into());
211        }
212        /// Get the value of the `aria-disabled` attribute
213        pub fn aria_disabled(&self) -> bool {
214            self.sys.aria_disabled
215        }
216        /// Set the value of the `aria-disabled` attribute
217        pub fn set_aria_disabled(&mut self, value: bool) {
218            self.sys.aria_disabled = value;
219        }
220        /// Get the value of the `aria-dropeffect` attribute
221        pub fn aria_drop_effect(&self) -> std::option::Option<&str> {
222            self.sys.aria_drop_effect.as_deref()
223        }
224        /// Set the value of the `aria-dropeffect` attribute
225        pub fn set_aria_drop_effect(
226            &mut self,
227            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
228        ) {
229            self.sys.aria_drop_effect = value.map(|v| v.into());
230        }
231        /// Get the value of the `aria-errormessage` attribute
232        pub fn aria_error_message_elements(&self) -> std::option::Option<&str> {
233            self.sys.aria_error_message_elements.as_deref()
234        }
235        /// Set the value of the `aria-errormessage` attribute
236        pub fn set_aria_error_message_elements(
237            &mut self,
238            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
239        ) {
240            self.sys.aria_error_message_elements = value.map(|v| v.into());
241        }
242        /// Get the value of the `aria-expanded` attribute
243        pub fn aria_expanded(&self) -> bool {
244            self.sys.aria_expanded
245        }
246        /// Set the value of the `aria-expanded` attribute
247        pub fn set_aria_expanded(&mut self, value: bool) {
248            self.sys.aria_expanded = value;
249        }
250        /// Get the value of the `aria-flowto` attribute
251        pub fn aria_flow_to_elements(&self) -> std::option::Option<&str> {
252            self.sys.aria_flow_to_elements.as_deref()
253        }
254        /// Set the value of the `aria-flowto` attribute
255        pub fn set_aria_flow_to_elements(
256            &mut self,
257            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
258        ) {
259            self.sys.aria_flow_to_elements = value.map(|v| v.into());
260        }
261        /// Get the value of the `aria-grabbed` attribute
262        pub fn aria_grabbed(&self) -> bool {
263            self.sys.aria_grabbed
264        }
265        /// Set the value of the `aria-grabbed` attribute
266        pub fn set_aria_grabbed(&mut self, value: bool) {
267            self.sys.aria_grabbed = value;
268        }
269        /// Get the value of the `aria-haspopup` attribute
270        pub fn aria_has_popup(&self) -> std::option::Option<&str> {
271            self.sys.aria_has_popup.as_deref()
272        }
273        /// Set the value of the `aria-haspopup` attribute
274        pub fn set_aria_has_popup(
275            &mut self,
276            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
277        ) {
278            self.sys.aria_has_popup = value.map(|v| v.into());
279        }
280        /// Get the value of the `aria-hidden` attribute
281        pub fn aria_hidden(&self) -> bool {
282            self.sys.aria_hidden
283        }
284        /// Set the value of the `aria-hidden` attribute
285        pub fn set_aria_hidden(&mut self, value: bool) {
286            self.sys.aria_hidden = value;
287        }
288        /// Get the value of the `aria-invalid` attribute
289        pub fn aria_invalid(&self) -> std::option::Option<&str> {
290            self.sys.aria_invalid.as_deref()
291        }
292        /// Set the value of the `aria-invalid` attribute
293        pub fn set_aria_invalid(
294            &mut self,
295            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
296        ) {
297            self.sys.aria_invalid = value.map(|v| v.into());
298        }
299        /// Get the value of the `aria-keyshortcuts` attribute
300        pub fn aria_key_shortcuts(&self) -> std::option::Option<&str> {
301            self.sys.aria_key_shortcuts.as_deref()
302        }
303        /// Set the value of the `aria-keyshortcuts` attribute
304        pub fn set_aria_key_shortcuts(
305            &mut self,
306            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
307        ) {
308            self.sys.aria_key_shortcuts = value.map(|v| v.into());
309        }
310        /// Get the value of the `aria-label` attribute
311        pub fn aria_label(&self) -> std::option::Option<&str> {
312            self.sys.aria_label.as_deref()
313        }
314        /// Set the value of the `aria-label` attribute
315        pub fn set_aria_label(
316            &mut self,
317            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
318        ) {
319            self.sys.aria_label = value.map(|v| v.into());
320        }
321        /// Get the value of the `aria-labelledby` attribute
322        pub fn aria_labelled_by_elements(&self) -> std::option::Option<&str> {
323            self.sys.aria_labelled_by_elements.as_deref()
324        }
325        /// Set the value of the `aria-labelledby` attribute
326        pub fn set_aria_labelled_by_elements(
327            &mut self,
328            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
329        ) {
330            self.sys.aria_labelled_by_elements = value.map(|v| v.into());
331        }
332        /// Get the value of the `aria-level` attribute
333        pub fn aria_level(&self) -> std::option::Option<i64> {
334            self.sys.aria_level
335        }
336        /// Set the value of the `aria-level` attribute
337        pub fn set_aria_level(&mut self, value: std::option::Option<i64>) {
338            self.sys.aria_level = value;
339        }
340        /// Get the value of the `aria-live` attribute
341        pub fn aria_live(&self) -> std::option::Option<&str> {
342            self.sys.aria_live.as_deref()
343        }
344        /// Set the value of the `aria-live` attribute
345        pub fn set_aria_live(
346            &mut self,
347            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
348        ) {
349            self.sys.aria_live = value.map(|v| v.into());
350        }
351        /// Get the value of the `aria-modal` attribute
352        pub fn aria_modal(&self) -> bool {
353            self.sys.aria_modal
354        }
355        /// Set the value of the `aria-modal` attribute
356        pub fn set_aria_modal(&mut self, value: bool) {
357            self.sys.aria_modal = value;
358        }
359        /// Get the value of the `aria-multiline` attribute
360        pub fn aria_multi_line(&self) -> bool {
361            self.sys.aria_multi_line
362        }
363        /// Set the value of the `aria-multiline` attribute
364        pub fn set_aria_multi_line(&mut self, value: bool) {
365            self.sys.aria_multi_line = value;
366        }
367        /// Get the value of the `aria-multiselectable` attribute
368        pub fn aria_multi_selectable(&self) -> bool {
369            self.sys.aria_multi_selectable
370        }
371        /// Set the value of the `aria-multiselectable` attribute
372        pub fn set_aria_multi_selectable(&mut self, value: bool) {
373            self.sys.aria_multi_selectable = value;
374        }
375        /// Get the value of the `aria-orientation` attribute
376        pub fn aria_orientation(&self) -> std::option::Option<&str> {
377            self.sys.aria_orientation.as_deref()
378        }
379        /// Set the value of the `aria-orientation` attribute
380        pub fn set_aria_orientation(
381            &mut self,
382            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
383        ) {
384            self.sys.aria_orientation = value.map(|v| v.into());
385        }
386        /// Get the value of the `aria-owns` attribute
387        pub fn aria_owns_elements(&self) -> std::option::Option<&str> {
388            self.sys.aria_owns_elements.as_deref()
389        }
390        /// Set the value of the `aria-owns` attribute
391        pub fn set_aria_owns_elements(
392            &mut self,
393            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
394        ) {
395            self.sys.aria_owns_elements = value.map(|v| v.into());
396        }
397        /// Get the value of the `aria-placeholder` attribute
398        pub fn aria_placeholder(&self) -> std::option::Option<&str> {
399            self.sys.aria_placeholder.as_deref()
400        }
401        /// Set the value of the `aria-placeholder` attribute
402        pub fn set_aria_placeholder(
403            &mut self,
404            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
405        ) {
406            self.sys.aria_placeholder = value.map(|v| v.into());
407        }
408        /// Get the value of the `aria-posinset` attribute
409        pub fn aria_pos_in_set(&self) -> std::option::Option<i64> {
410            self.sys.aria_pos_in_set
411        }
412        /// Set the value of the `aria-posinset` attribute
413        pub fn set_aria_pos_in_set(&mut self, value: std::option::Option<i64>) {
414            self.sys.aria_pos_in_set = value;
415        }
416        /// Get the value of the `aria-pressed` attribute
417        pub fn aria_pressed(&self) -> std::option::Option<&str> {
418            self.sys.aria_pressed.as_deref()
419        }
420        /// Set the value of the `aria-pressed` attribute
421        pub fn set_aria_pressed(
422            &mut self,
423            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
424        ) {
425            self.sys.aria_pressed = value.map(|v| v.into());
426        }
427        /// Get the value of the `aria-readonly` attribute
428        pub fn aria_read_only(&self) -> bool {
429            self.sys.aria_read_only
430        }
431        /// Set the value of the `aria-readonly` attribute
432        pub fn set_aria_read_only(&mut self, value: bool) {
433            self.sys.aria_read_only = value;
434        }
435        /// Get the value of the `aria-relevant` attribute
436        pub fn aria_relevant(&self) -> std::option::Option<&str> {
437            self.sys.aria_relevant.as_deref()
438        }
439        /// Set the value of the `aria-relevant` attribute
440        pub fn set_aria_relevant(
441            &mut self,
442            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
443        ) {
444            self.sys.aria_relevant = value.map(|v| v.into());
445        }
446        /// Get the value of the `aria-required` attribute
447        pub fn aria_required(&self) -> bool {
448            self.sys.aria_required
449        }
450        /// Set the value of the `aria-required` attribute
451        pub fn set_aria_required(&mut self, value: bool) {
452            self.sys.aria_required = value;
453        }
454        /// Get the value of the `aria-roledescription` attribute
455        pub fn aria_role_description(&self) -> std::option::Option<&str> {
456            self.sys.aria_role_description.as_deref()
457        }
458        /// Set the value of the `aria-roledescription` attribute
459        pub fn set_aria_role_description(
460            &mut self,
461            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
462        ) {
463            self.sys.aria_role_description = value.map(|v| v.into());
464        }
465        /// Get the value of the `aria-rowcount` attribute
466        pub fn aria_row_count(&self) -> std::option::Option<i64> {
467            self.sys.aria_row_count
468        }
469        /// Set the value of the `aria-rowcount` attribute
470        pub fn set_aria_row_count(&mut self, value: std::option::Option<i64>) {
471            self.sys.aria_row_count = value;
472        }
473        /// Get the value of the `aria-rowindex` attribute
474        pub fn aria_row_index(&self) -> std::option::Option<i64> {
475            self.sys.aria_row_index
476        }
477        /// Set the value of the `aria-rowindex` attribute
478        pub fn set_aria_row_index(&mut self, value: std::option::Option<i64>) {
479            self.sys.aria_row_index = value;
480        }
481        /// Get the value of the `aria-rowindextext` attribute
482        pub fn aria_row_index_text(&self) -> std::option::Option<&str> {
483            self.sys.aria_row_index_text.as_deref()
484        }
485        /// Set the value of the `aria-rowindextext` attribute
486        pub fn set_aria_row_index_text(
487            &mut self,
488            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
489        ) {
490            self.sys.aria_row_index_text = value.map(|v| v.into());
491        }
492        /// Get the value of the `aria-rowspan` attribute
493        pub fn aria_row_span(&self) -> std::option::Option<i64> {
494            self.sys.aria_row_span
495        }
496        /// Set the value of the `aria-rowspan` attribute
497        pub fn set_aria_row_span(&mut self, value: std::option::Option<i64>) {
498            self.sys.aria_row_span = value;
499        }
500        /// Get the value of the `aria-selected` attribute
501        pub fn aria_selected(&self) -> bool {
502            self.sys.aria_selected
503        }
504        /// Set the value of the `aria-selected` attribute
505        pub fn set_aria_selected(&mut self, value: bool) {
506            self.sys.aria_selected = value;
507        }
508        /// Get the value of the `aria-setsize` attribute
509        pub fn aria_set_size(&self) -> std::option::Option<i64> {
510            self.sys.aria_set_size
511        }
512        /// Set the value of the `aria-setsize` attribute
513        pub fn set_aria_set_size(&mut self, value: std::option::Option<i64>) {
514            self.sys.aria_set_size = value;
515        }
516        /// Get the value of the `aria-sort` attribute
517        pub fn aria_sort(&self) -> std::option::Option<&str> {
518            self.sys.aria_sort.as_deref()
519        }
520        /// Set the value of the `aria-sort` attribute
521        pub fn set_aria_sort(
522            &mut self,
523            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
524        ) {
525            self.sys.aria_sort = value.map(|v| v.into());
526        }
527        /// Get the value of the `aria-valuemax` attribute
528        pub fn aria_value_max(&self) -> std::option::Option<f64> {
529            self.sys.aria_value_max
530        }
531        /// Set the value of the `aria-valuemax` attribute
532        pub fn set_aria_value_max(&mut self, value: std::option::Option<f64>) {
533            self.sys.aria_value_max = value;
534        }
535        /// Get the value of the `aria-valuemin` attribute
536        pub fn aria_value_min(&self) -> std::option::Option<f64> {
537            self.sys.aria_value_min
538        }
539        /// Set the value of the `aria-valuemin` attribute
540        pub fn set_aria_value_min(&mut self, value: std::option::Option<f64>) {
541            self.sys.aria_value_min = value;
542        }
543        /// Get the value of the `aria-valuenow` attribute
544        pub fn aria_value_now(&self) -> std::option::Option<f64> {
545            self.sys.aria_value_now
546        }
547        /// Set the value of the `aria-valuenow` attribute
548        pub fn set_aria_value_now(&mut self, value: std::option::Option<f64>) {
549            self.sys.aria_value_now = value;
550        }
551        /// Get the value of the `aria-valuetext` attribute
552        pub fn aria_value_text(&self) -> std::option::Option<&str> {
553            self.sys.aria_value_text.as_deref()
554        }
555        /// Set the value of the `aria-valuetext` attribute
556        pub fn set_aria_value_text(
557            &mut self,
558            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
559        ) {
560            self.sys.aria_value_text = value.map(|v| v.into());
561        }
562        /// Get the value of the `accesskey` attribute
563        pub fn access_key(&self) -> std::option::Option<&str> {
564            self.sys.access_key.as_deref()
565        }
566        /// Set the value of the `accesskey` attribute
567        pub fn set_access_key(
568            &mut self,
569            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
570        ) {
571            self.sys.access_key = value.map(|v| v.into());
572        }
573        /// Get the value of the `autocapitalize` attribute
574        pub fn auto_capitalize(&self) -> std::option::Option<&str> {
575            self.sys.auto_capitalize.as_deref()
576        }
577        /// Set the value of the `autocapitalize` attribute
578        pub fn set_auto_capitalize(
579            &mut self,
580            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
581        ) {
582            self.sys.auto_capitalize = value.map(|v| v.into());
583        }
584        /// Get the value of the `autofocus` attribute
585        pub fn autofocus(&self) -> bool {
586            self.sys.autofocus
587        }
588        /// Set the value of the `autofocus` attribute
589        pub fn set_autofocus(&mut self, value: bool) {
590            self.sys.autofocus = value;
591        }
592        /// Get the value of the `class` attribute
593        pub fn class(&self) -> std::option::Option<&str> {
594            self.sys.class.as_deref()
595        }
596        /// Set the value of the `class` attribute
597        pub fn set_class(
598            &mut self,
599            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
600        ) {
601            self.sys.class = value.map(|v| v.into());
602        }
603        /// Get the value of the `contenteditable` attribute
604        pub fn content_editable(&self) -> std::option::Option<&str> {
605            self.sys.content_editable.as_deref()
606        }
607        /// Set the value of the `contenteditable` attribute
608        pub fn set_content_editable(
609            &mut self,
610            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
611        ) {
612            self.sys.content_editable = value.map(|v| v.into());
613        }
614        /// Get the value of the `dir` attribute
615        pub fn direction(&self) -> std::option::Option<&str> {
616            self.sys.direction.as_deref()
617        }
618        /// Set the value of the `dir` attribute
619        pub fn set_direction(
620            &mut self,
621            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
622        ) {
623            self.sys.direction = value.map(|v| v.into());
624        }
625        /// Get the value of the `draggable` attribute
626        pub fn draggable(&self) -> bool {
627            self.sys.draggable
628        }
629        /// Set the value of the `draggable` attribute
630        pub fn set_draggable(&mut self, value: bool) {
631            self.sys.draggable = value;
632        }
633        /// Get the value of the `enterkeyhint` attribute
634        pub fn enter_key_hint(&self) -> std::option::Option<&str> {
635            self.sys.enter_key_hint.as_deref()
636        }
637        /// Set the value of the `enterkeyhint` attribute
638        pub fn set_enter_key_hint(
639            &mut self,
640            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
641        ) {
642            self.sys.enter_key_hint = value.map(|v| v.into());
643        }
644        /// Get the value of the `exportparts` attribute
645        pub fn export_parts(&self) -> std::option::Option<&str> {
646            self.sys.export_parts.as_deref()
647        }
648        /// Set the value of the `exportparts` attribute
649        pub fn set_export_parts(
650            &mut self,
651            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
652        ) {
653            self.sys.export_parts = value.map(|v| v.into());
654        }
655        /// Get the value of the `hidden` attribute
656        pub fn hidden(&self) -> std::option::Option<&str> {
657            self.sys.hidden.as_deref()
658        }
659        /// Set the value of the `hidden` attribute
660        pub fn set_hidden(
661            &mut self,
662            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
663        ) {
664            self.sys.hidden = value.map(|v| v.into());
665        }
666        /// Get the value of the `id` attribute
667        pub fn id(&self) -> std::option::Option<&str> {
668            self.sys.id.as_deref()
669        }
670        /// Set the value of the `id` attribute
671        pub fn set_id(
672            &mut self,
673            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
674        ) {
675            self.sys.id = value.map(|v| v.into());
676        }
677        /// Get the value of the `inert` attribute
678        pub fn inert(&self) -> bool {
679            self.sys.inert
680        }
681        /// Set the value of the `inert` attribute
682        pub fn set_inert(&mut self, value: bool) {
683            self.sys.inert = value;
684        }
685        /// Get the value of the `inputmode` attribute
686        pub fn input_mode(&self) -> std::option::Option<&str> {
687            self.sys.input_mode.as_deref()
688        }
689        /// Set the value of the `inputmode` attribute
690        pub fn set_input_mode(
691            &mut self,
692            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
693        ) {
694            self.sys.input_mode = value.map(|v| v.into());
695        }
696        /// Get the value of the `is` attribute
697        pub fn is_(&self) -> std::option::Option<&str> {
698            self.sys.is_.as_deref()
699        }
700        /// Set the value of the `is` attribute
701        pub fn set_is_(
702            &mut self,
703            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
704        ) {
705            self.sys.is_ = value.map(|v| v.into());
706        }
707        /// Get the value of the `itemid` attribute
708        pub fn item_id(&self) -> std::option::Option<&str> {
709            self.sys.item_id.as_deref()
710        }
711        /// Set the value of the `itemid` attribute
712        pub fn set_item_id(
713            &mut self,
714            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
715        ) {
716            self.sys.item_id = value.map(|v| v.into());
717        }
718        /// Get the value of the `itemprop` attribute
719        pub fn item_prop(&self) -> std::option::Option<&str> {
720            self.sys.item_prop.as_deref()
721        }
722        /// Set the value of the `itemprop` attribute
723        pub fn set_item_prop(
724            &mut self,
725            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
726        ) {
727            self.sys.item_prop = value.map(|v| v.into());
728        }
729        /// Get the value of the `itemref` attribute
730        pub fn item_ref(&self) -> std::option::Option<&str> {
731            self.sys.item_ref.as_deref()
732        }
733        /// Set the value of the `itemref` attribute
734        pub fn set_item_ref(
735            &mut self,
736            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
737        ) {
738            self.sys.item_ref = value.map(|v| v.into());
739        }
740        /// Get the value of the `itemscope` attribute
741        pub fn item_scope(&self) -> std::option::Option<&str> {
742            self.sys.item_scope.as_deref()
743        }
744        /// Set the value of the `itemscope` attribute
745        pub fn set_item_scope(
746            &mut self,
747            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
748        ) {
749            self.sys.item_scope = value.map(|v| v.into());
750        }
751        /// Get the value of the `itemtype` attribute
752        pub fn item_type(&self) -> std::option::Option<&str> {
753            self.sys.item_type.as_deref()
754        }
755        /// Set the value of the `itemtype` attribute
756        pub fn set_item_type(
757            &mut self,
758            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
759        ) {
760            self.sys.item_type = value.map(|v| v.into());
761        }
762        /// Get the value of the `lang` attribute
763        pub fn lang(&self) -> std::option::Option<&str> {
764            self.sys.lang.as_deref()
765        }
766        /// Set the value of the `lang` attribute
767        pub fn set_lang(
768            &mut self,
769            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
770        ) {
771            self.sys.lang = value.map(|v| v.into());
772        }
773        /// Get the value of the `nonce` attribute
774        pub fn nonce(&self) -> std::option::Option<&str> {
775            self.sys.nonce.as_deref()
776        }
777        /// Set the value of the `nonce` attribute
778        pub fn set_nonce(
779            &mut self,
780            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
781        ) {
782            self.sys.nonce = value.map(|v| v.into());
783        }
784        /// Get the value of the `part` attribute
785        pub fn part(&self) -> std::option::Option<&str> {
786            self.sys.part.as_deref()
787        }
788        /// Set the value of the `part` attribute
789        pub fn set_part(
790            &mut self,
791            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
792        ) {
793            self.sys.part = value.map(|v| v.into());
794        }
795        /// Get the value of the `slot` attribute
796        pub fn slot(&self) -> std::option::Option<&str> {
797            self.sys.slot.as_deref()
798        }
799        /// Set the value of the `slot` attribute
800        pub fn set_slot(
801            &mut self,
802            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
803        ) {
804            self.sys.slot = value.map(|v| v.into());
805        }
806        /// Get the value of the `spellcheck` attribute
807        pub fn spellcheck(&self) -> std::option::Option<&str> {
808            self.sys.spellcheck.as_deref()
809        }
810        /// Set the value of the `spellcheck` attribute
811        pub fn set_spellcheck(
812            &mut self,
813            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
814        ) {
815            self.sys.spellcheck = value.map(|v| v.into());
816        }
817        /// Get the value of the `style` attribute
818        pub fn style(&self) -> std::option::Option<&str> {
819            self.sys.style.as_deref()
820        }
821        /// Set the value of the `style` attribute
822        pub fn set_style(
823            &mut self,
824            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
825        ) {
826            self.sys.style = value.map(|v| v.into());
827        }
828        /// Get the value of the `tabindex` attribute
829        pub fn tab_index(&self) -> std::option::Option<i64> {
830            self.sys.tab_index
831        }
832        /// Set the value of the `tabindex` attribute
833        pub fn set_tab_index(&mut self, value: std::option::Option<i64>) {
834            self.sys.tab_index = value;
835        }
836        /// Get the value of the `title` attribute
837        pub fn title(&self) -> std::option::Option<&str> {
838            self.sys.title.as_deref()
839        }
840        /// Set the value of the `title` attribute
841        pub fn set_title(
842            &mut self,
843            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
844        ) {
845            self.sys.title = value.map(|v| v.into());
846        }
847        /// Get the value of the `translate` attribute
848        pub fn translate(&self) -> bool {
849            self.sys.translate
850        }
851        /// Set the value of the `translate` attribute
852        pub fn set_translate(&mut self, value: bool) {
853            self.sys.translate = value;
854        }
855    }
856    impl ListItem {
857        /// Access the element's children
858        pub fn children(&self) -> &[super::child::ListItemChild] {
859            self.children.as_ref()
860        }
861        /// Mutably access the element's children
862        pub fn children_mut(&mut self) -> &mut Vec<super::child::ListItemChild> {
863            &mut self.children
864        }
865    }
866    impl crate::Render for ListItem {
867        fn render(
868            &self,
869            f: &mut std::fmt::Formatter<'_>,
870            depth: usize,
871        ) -> std::fmt::Result {
872            write!(f, "{:level$}", "", level = depth * 4)?;
873            html_sys::RenderElement::write_opening_tag(&self.sys, f)?;
874            if !self.children.is_empty() {
875                write!(f, "\n")?;
876            }
877            for el in &self.children {
878                crate::Render::render(&el, f, depth)?;
879                write!(f, "\n")?;
880            }
881            write!(f, "{:level$}", "", level = depth * 4)?;
882            html_sys::RenderElement::write_closing_tag(&self.sys, f)?;
883            Ok(())
884        }
885    }
886    impl std::fmt::Debug for ListItem {
887        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
888            crate::Render::render(self, f, 0)?;
889            Ok(())
890        }
891    }
892    impl std::fmt::Display for ListItem {
893        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
894            html_sys::RenderElement::write_opening_tag(&self.sys, f)?;
895            for el in &self.children {
896                write!(f, "{el}")?;
897            }
898            html_sys::RenderElement::write_closing_tag(&self.sys, f)?;
899            Ok(())
900        }
901    }
902    impl crate::HtmlElement for ListItem {}
903    impl std::convert::Into<html_sys::text::ListItem> for ListItem {
904        fn into(self) -> html_sys::text::ListItem {
905            self.sys
906        }
907    }
908    impl From<html_sys::text::ListItem> for ListItem {
909        fn from(sys: html_sys::text::ListItem) -> Self {
910            Self { sys, children: vec![] }
911        }
912    }
913}
914pub mod child {
915    /// The permitted child items for the `ListItem` element
916    #[derive(PartialEq, Clone)]
917    pub enum ListItemChild {
918        /// The Abbreviation element
919        Abbreviation(crate::generated::all::Abbreviation),
920        /// The Address element
921        Address(crate::generated::all::Address),
922        /// The Anchor element
923        Anchor(crate::generated::all::Anchor),
924        /// The Article element
925        Article(crate::generated::all::Article),
926        /// The Aside element
927        Aside(crate::generated::all::Aside),
928        /// The Audio element
929        Audio(crate::generated::all::Audio),
930        /// The BidirectionalIsolate element
931        BidirectionalIsolate(crate::generated::all::BidirectionalIsolate),
932        /// The BidirectionalTextOverride element
933        BidirectionalTextOverride(crate::generated::all::BidirectionalTextOverride),
934        /// The BlockQuote element
935        BlockQuote(crate::generated::all::BlockQuote),
936        /// The Bold element
937        Bold(crate::generated::all::Bold),
938        /// The Button element
939        Button(crate::generated::all::Button),
940        /// The Canvas element
941        Canvas(crate::generated::all::Canvas),
942        /// The Cite element
943        Cite(crate::generated::all::Cite),
944        /// The Code element
945        Code(crate::generated::all::Code),
946        /// The Data element
947        Data(crate::generated::all::Data),
948        /// The DataList element
949        DataList(crate::generated::all::DataList),
950        /// The Definition element
951        Definition(crate::generated::all::Definition),
952        /// The DeletedText element
953        DeletedText(crate::generated::all::DeletedText),
954        /// The DescriptionList element
955        DescriptionList(crate::generated::all::DescriptionList),
956        /// The Details element
957        Details(crate::generated::all::Details),
958        /// The Dialog element
959        Dialog(crate::generated::all::Dialog),
960        /// The Division element
961        Division(crate::generated::all::Division),
962        /// The Embed element
963        Embed(crate::generated::all::Embed),
964        /// The Emphasis element
965        Emphasis(crate::generated::all::Emphasis),
966        /// The Fieldset element
967        Fieldset(crate::generated::all::Fieldset),
968        /// The Figure element
969        Figure(crate::generated::all::Figure),
970        /// The Footer element
971        Footer(crate::generated::all::Footer),
972        /// The Form element
973        Form(crate::generated::all::Form),
974        /// The Header element
975        Header(crate::generated::all::Header),
976        /// The Heading1 element
977        Heading1(crate::generated::all::Heading1),
978        /// The Heading2 element
979        Heading2(crate::generated::all::Heading2),
980        /// The Heading3 element
981        Heading3(crate::generated::all::Heading3),
982        /// The Heading4 element
983        Heading4(crate::generated::all::Heading4),
984        /// The Heading5 element
985        Heading5(crate::generated::all::Heading5),
986        /// The Heading6 element
987        Heading6(crate::generated::all::Heading6),
988        /// The HeadingGroup element
989        HeadingGroup(crate::generated::all::HeadingGroup),
990        /// The Iframe element
991        Iframe(crate::generated::all::Iframe),
992        /// The Image element
993        Image(crate::generated::all::Image),
994        /// The ImageMap element
995        ImageMap(crate::generated::all::ImageMap),
996        /// The ImageMapArea element
997        ImageMapArea(crate::generated::all::ImageMapArea),
998        /// The Input element
999        Input(crate::generated::all::Input),
1000        /// The InsertedText element
1001        InsertedText(crate::generated::all::InsertedText),
1002        /// The Italic element
1003        Italic(crate::generated::all::Italic),
1004        /// The KeyboardInput element
1005        KeyboardInput(crate::generated::all::KeyboardInput),
1006        /// The Label element
1007        Label(crate::generated::all::Label),
1008        /// The LineBreak element
1009        LineBreak(crate::generated::all::LineBreak),
1010        /// The LineBreakOpportunity element
1011        LineBreakOpportunity(crate::generated::all::LineBreakOpportunity),
1012        /// The Link element
1013        Link(crate::generated::all::Link),
1014        /// The Main element
1015        Main(crate::generated::all::Main),
1016        /// The MarkText element
1017        MarkText(crate::generated::all::MarkText),
1018        /// The Menu element
1019        Menu(crate::generated::all::Menu),
1020        /// The Meta element
1021        Meta(crate::generated::all::Meta),
1022        /// The Meter element
1023        Meter(crate::generated::all::Meter),
1024        /// The Navigation element
1025        Navigation(crate::generated::all::Navigation),
1026        /// The NoScript element
1027        NoScript(crate::generated::all::NoScript),
1028        /// The Object element
1029        Object(crate::generated::all::Object),
1030        /// The OrderedList element
1031        OrderedList(crate::generated::all::OrderedList),
1032        /// The Output element
1033        Output(crate::generated::all::Output),
1034        /// The Paragraph element
1035        Paragraph(crate::generated::all::Paragraph),
1036        /// The Picture element
1037        Picture(crate::generated::all::Picture),
1038        /// The PreformattedText element
1039        PreformattedText(crate::generated::all::PreformattedText),
1040        /// The Progress element
1041        Progress(crate::generated::all::Progress),
1042        /// The Quotation element
1043        Quotation(crate::generated::all::Quotation),
1044        /// The RubyAnnotation element
1045        RubyAnnotation(crate::generated::all::RubyAnnotation),
1046        /// The SampleOutput element
1047        SampleOutput(crate::generated::all::SampleOutput),
1048        /// The Script element
1049        Script(crate::generated::all::Script),
1050        /// The Search element
1051        Search(crate::generated::all::Search),
1052        /// The Section element
1053        Section(crate::generated::all::Section),
1054        /// The Select element
1055        Select(crate::generated::all::Select),
1056        /// The SideComment element
1057        SideComment(crate::generated::all::SideComment),
1058        /// The Slot element
1059        Slot(crate::generated::all::Slot),
1060        /// The Span element
1061        Span(crate::generated::all::Span),
1062        /// The StrikeThrough element
1063        StrikeThrough(crate::generated::all::StrikeThrough),
1064        /// The Strong element
1065        Strong(crate::generated::all::Strong),
1066        /// The SubScript element
1067        SubScript(crate::generated::all::SubScript),
1068        /// The SuperScript element
1069        SuperScript(crate::generated::all::SuperScript),
1070        /// The Table element
1071        Table(crate::generated::all::Table),
1072        /// The Template element
1073        Template(crate::generated::all::Template),
1074        /// The Text element
1075        Text(std::borrow::Cow<'static, str>),
1076        /// The TextArea element
1077        TextArea(crate::generated::all::TextArea),
1078        /// The ThematicBreak element
1079        ThematicBreak(crate::generated::all::ThematicBreak),
1080        /// The Time element
1081        Time(crate::generated::all::Time),
1082        /// The Underline element
1083        Underline(crate::generated::all::Underline),
1084        /// The UnorderedList element
1085        UnorderedList(crate::generated::all::UnorderedList),
1086        /// The Variable element
1087        Variable(crate::generated::all::Variable),
1088        /// The Video element
1089        Video(crate::generated::all::Video),
1090    }
1091    impl std::convert::From<crate::generated::all::Abbreviation> for ListItemChild {
1092        fn from(value: crate::generated::all::Abbreviation) -> Self {
1093            Self::Abbreviation(value)
1094        }
1095    }
1096    impl std::convert::From<crate::generated::all::Address> for ListItemChild {
1097        fn from(value: crate::generated::all::Address) -> Self {
1098            Self::Address(value)
1099        }
1100    }
1101    impl std::convert::From<crate::generated::all::Anchor> for ListItemChild {
1102        fn from(value: crate::generated::all::Anchor) -> Self {
1103            Self::Anchor(value)
1104        }
1105    }
1106    impl std::convert::From<crate::generated::all::Article> for ListItemChild {
1107        fn from(value: crate::generated::all::Article) -> Self {
1108            Self::Article(value)
1109        }
1110    }
1111    impl std::convert::From<crate::generated::all::Aside> for ListItemChild {
1112        fn from(value: crate::generated::all::Aside) -> Self {
1113            Self::Aside(value)
1114        }
1115    }
1116    impl std::convert::From<crate::generated::all::Audio> for ListItemChild {
1117        fn from(value: crate::generated::all::Audio) -> Self {
1118            Self::Audio(value)
1119        }
1120    }
1121    impl std::convert::From<crate::generated::all::BidirectionalIsolate>
1122    for ListItemChild {
1123        fn from(value: crate::generated::all::BidirectionalIsolate) -> Self {
1124            Self::BidirectionalIsolate(value)
1125        }
1126    }
1127    impl std::convert::From<crate::generated::all::BidirectionalTextOverride>
1128    for ListItemChild {
1129        fn from(value: crate::generated::all::BidirectionalTextOverride) -> Self {
1130            Self::BidirectionalTextOverride(value)
1131        }
1132    }
1133    impl std::convert::From<crate::generated::all::BlockQuote> for ListItemChild {
1134        fn from(value: crate::generated::all::BlockQuote) -> Self {
1135            Self::BlockQuote(value)
1136        }
1137    }
1138    impl std::convert::From<crate::generated::all::Bold> for ListItemChild {
1139        fn from(value: crate::generated::all::Bold) -> Self {
1140            Self::Bold(value)
1141        }
1142    }
1143    impl std::convert::From<crate::generated::all::Button> for ListItemChild {
1144        fn from(value: crate::generated::all::Button) -> Self {
1145            Self::Button(value)
1146        }
1147    }
1148    impl std::convert::From<crate::generated::all::Canvas> for ListItemChild {
1149        fn from(value: crate::generated::all::Canvas) -> Self {
1150            Self::Canvas(value)
1151        }
1152    }
1153    impl std::convert::From<crate::generated::all::Cite> for ListItemChild {
1154        fn from(value: crate::generated::all::Cite) -> Self {
1155            Self::Cite(value)
1156        }
1157    }
1158    impl std::convert::From<crate::generated::all::Code> for ListItemChild {
1159        fn from(value: crate::generated::all::Code) -> Self {
1160            Self::Code(value)
1161        }
1162    }
1163    impl std::convert::From<crate::generated::all::Data> for ListItemChild {
1164        fn from(value: crate::generated::all::Data) -> Self {
1165            Self::Data(value)
1166        }
1167    }
1168    impl std::convert::From<crate::generated::all::DataList> for ListItemChild {
1169        fn from(value: crate::generated::all::DataList) -> Self {
1170            Self::DataList(value)
1171        }
1172    }
1173    impl std::convert::From<crate::generated::all::Definition> for ListItemChild {
1174        fn from(value: crate::generated::all::Definition) -> Self {
1175            Self::Definition(value)
1176        }
1177    }
1178    impl std::convert::From<crate::generated::all::DeletedText> for ListItemChild {
1179        fn from(value: crate::generated::all::DeletedText) -> Self {
1180            Self::DeletedText(value)
1181        }
1182    }
1183    impl std::convert::From<crate::generated::all::DescriptionList> for ListItemChild {
1184        fn from(value: crate::generated::all::DescriptionList) -> Self {
1185            Self::DescriptionList(value)
1186        }
1187    }
1188    impl std::convert::From<crate::generated::all::Details> for ListItemChild {
1189        fn from(value: crate::generated::all::Details) -> Self {
1190            Self::Details(value)
1191        }
1192    }
1193    impl std::convert::From<crate::generated::all::Dialog> for ListItemChild {
1194        fn from(value: crate::generated::all::Dialog) -> Self {
1195            Self::Dialog(value)
1196        }
1197    }
1198    impl std::convert::From<crate::generated::all::Division> for ListItemChild {
1199        fn from(value: crate::generated::all::Division) -> Self {
1200            Self::Division(value)
1201        }
1202    }
1203    impl std::convert::From<crate::generated::all::Embed> for ListItemChild {
1204        fn from(value: crate::generated::all::Embed) -> Self {
1205            Self::Embed(value)
1206        }
1207    }
1208    impl std::convert::From<crate::generated::all::Emphasis> for ListItemChild {
1209        fn from(value: crate::generated::all::Emphasis) -> Self {
1210            Self::Emphasis(value)
1211        }
1212    }
1213    impl std::convert::From<crate::generated::all::Fieldset> for ListItemChild {
1214        fn from(value: crate::generated::all::Fieldset) -> Self {
1215            Self::Fieldset(value)
1216        }
1217    }
1218    impl std::convert::From<crate::generated::all::Figure> for ListItemChild {
1219        fn from(value: crate::generated::all::Figure) -> Self {
1220            Self::Figure(value)
1221        }
1222    }
1223    impl std::convert::From<crate::generated::all::Footer> for ListItemChild {
1224        fn from(value: crate::generated::all::Footer) -> Self {
1225            Self::Footer(value)
1226        }
1227    }
1228    impl std::convert::From<crate::generated::all::Form> for ListItemChild {
1229        fn from(value: crate::generated::all::Form) -> Self {
1230            Self::Form(value)
1231        }
1232    }
1233    impl std::convert::From<crate::generated::all::Header> for ListItemChild {
1234        fn from(value: crate::generated::all::Header) -> Self {
1235            Self::Header(value)
1236        }
1237    }
1238    impl std::convert::From<crate::generated::all::Heading1> for ListItemChild {
1239        fn from(value: crate::generated::all::Heading1) -> Self {
1240            Self::Heading1(value)
1241        }
1242    }
1243    impl std::convert::From<crate::generated::all::Heading2> for ListItemChild {
1244        fn from(value: crate::generated::all::Heading2) -> Self {
1245            Self::Heading2(value)
1246        }
1247    }
1248    impl std::convert::From<crate::generated::all::Heading3> for ListItemChild {
1249        fn from(value: crate::generated::all::Heading3) -> Self {
1250            Self::Heading3(value)
1251        }
1252    }
1253    impl std::convert::From<crate::generated::all::Heading4> for ListItemChild {
1254        fn from(value: crate::generated::all::Heading4) -> Self {
1255            Self::Heading4(value)
1256        }
1257    }
1258    impl std::convert::From<crate::generated::all::Heading5> for ListItemChild {
1259        fn from(value: crate::generated::all::Heading5) -> Self {
1260            Self::Heading5(value)
1261        }
1262    }
1263    impl std::convert::From<crate::generated::all::Heading6> for ListItemChild {
1264        fn from(value: crate::generated::all::Heading6) -> Self {
1265            Self::Heading6(value)
1266        }
1267    }
1268    impl std::convert::From<crate::generated::all::HeadingGroup> for ListItemChild {
1269        fn from(value: crate::generated::all::HeadingGroup) -> Self {
1270            Self::HeadingGroup(value)
1271        }
1272    }
1273    impl std::convert::From<crate::generated::all::Iframe> for ListItemChild {
1274        fn from(value: crate::generated::all::Iframe) -> Self {
1275            Self::Iframe(value)
1276        }
1277    }
1278    impl std::convert::From<crate::generated::all::Image> for ListItemChild {
1279        fn from(value: crate::generated::all::Image) -> Self {
1280            Self::Image(value)
1281        }
1282    }
1283    impl std::convert::From<crate::generated::all::ImageMap> for ListItemChild {
1284        fn from(value: crate::generated::all::ImageMap) -> Self {
1285            Self::ImageMap(value)
1286        }
1287    }
1288    impl std::convert::From<crate::generated::all::ImageMapArea> for ListItemChild {
1289        fn from(value: crate::generated::all::ImageMapArea) -> Self {
1290            Self::ImageMapArea(value)
1291        }
1292    }
1293    impl std::convert::From<crate::generated::all::Input> for ListItemChild {
1294        fn from(value: crate::generated::all::Input) -> Self {
1295            Self::Input(value)
1296        }
1297    }
1298    impl std::convert::From<crate::generated::all::InsertedText> for ListItemChild {
1299        fn from(value: crate::generated::all::InsertedText) -> Self {
1300            Self::InsertedText(value)
1301        }
1302    }
1303    impl std::convert::From<crate::generated::all::Italic> for ListItemChild {
1304        fn from(value: crate::generated::all::Italic) -> Self {
1305            Self::Italic(value)
1306        }
1307    }
1308    impl std::convert::From<crate::generated::all::KeyboardInput> for ListItemChild {
1309        fn from(value: crate::generated::all::KeyboardInput) -> Self {
1310            Self::KeyboardInput(value)
1311        }
1312    }
1313    impl std::convert::From<crate::generated::all::Label> for ListItemChild {
1314        fn from(value: crate::generated::all::Label) -> Self {
1315            Self::Label(value)
1316        }
1317    }
1318    impl std::convert::From<crate::generated::all::LineBreak> for ListItemChild {
1319        fn from(value: crate::generated::all::LineBreak) -> Self {
1320            Self::LineBreak(value)
1321        }
1322    }
1323    impl std::convert::From<crate::generated::all::LineBreakOpportunity>
1324    for ListItemChild {
1325        fn from(value: crate::generated::all::LineBreakOpportunity) -> Self {
1326            Self::LineBreakOpportunity(value)
1327        }
1328    }
1329    impl std::convert::From<crate::generated::all::Link> for ListItemChild {
1330        fn from(value: crate::generated::all::Link) -> Self {
1331            Self::Link(value)
1332        }
1333    }
1334    impl std::convert::From<crate::generated::all::Main> for ListItemChild {
1335        fn from(value: crate::generated::all::Main) -> Self {
1336            Self::Main(value)
1337        }
1338    }
1339    impl std::convert::From<crate::generated::all::MarkText> for ListItemChild {
1340        fn from(value: crate::generated::all::MarkText) -> Self {
1341            Self::MarkText(value)
1342        }
1343    }
1344    impl std::convert::From<crate::generated::all::Menu> for ListItemChild {
1345        fn from(value: crate::generated::all::Menu) -> Self {
1346            Self::Menu(value)
1347        }
1348    }
1349    impl std::convert::From<crate::generated::all::Meta> for ListItemChild {
1350        fn from(value: crate::generated::all::Meta) -> Self {
1351            Self::Meta(value)
1352        }
1353    }
1354    impl std::convert::From<crate::generated::all::Meter> for ListItemChild {
1355        fn from(value: crate::generated::all::Meter) -> Self {
1356            Self::Meter(value)
1357        }
1358    }
1359    impl std::convert::From<crate::generated::all::Navigation> for ListItemChild {
1360        fn from(value: crate::generated::all::Navigation) -> Self {
1361            Self::Navigation(value)
1362        }
1363    }
1364    impl std::convert::From<crate::generated::all::NoScript> for ListItemChild {
1365        fn from(value: crate::generated::all::NoScript) -> Self {
1366            Self::NoScript(value)
1367        }
1368    }
1369    impl std::convert::From<crate::generated::all::Object> for ListItemChild {
1370        fn from(value: crate::generated::all::Object) -> Self {
1371            Self::Object(value)
1372        }
1373    }
1374    impl std::convert::From<crate::generated::all::OrderedList> for ListItemChild {
1375        fn from(value: crate::generated::all::OrderedList) -> Self {
1376            Self::OrderedList(value)
1377        }
1378    }
1379    impl std::convert::From<crate::generated::all::Output> for ListItemChild {
1380        fn from(value: crate::generated::all::Output) -> Self {
1381            Self::Output(value)
1382        }
1383    }
1384    impl std::convert::From<crate::generated::all::Paragraph> for ListItemChild {
1385        fn from(value: crate::generated::all::Paragraph) -> Self {
1386            Self::Paragraph(value)
1387        }
1388    }
1389    impl std::convert::From<crate::generated::all::Picture> for ListItemChild {
1390        fn from(value: crate::generated::all::Picture) -> Self {
1391            Self::Picture(value)
1392        }
1393    }
1394    impl std::convert::From<crate::generated::all::PreformattedText> for ListItemChild {
1395        fn from(value: crate::generated::all::PreformattedText) -> Self {
1396            Self::PreformattedText(value)
1397        }
1398    }
1399    impl std::convert::From<crate::generated::all::Progress> for ListItemChild {
1400        fn from(value: crate::generated::all::Progress) -> Self {
1401            Self::Progress(value)
1402        }
1403    }
1404    impl std::convert::From<crate::generated::all::Quotation> for ListItemChild {
1405        fn from(value: crate::generated::all::Quotation) -> Self {
1406            Self::Quotation(value)
1407        }
1408    }
1409    impl std::convert::From<crate::generated::all::RubyAnnotation> for ListItemChild {
1410        fn from(value: crate::generated::all::RubyAnnotation) -> Self {
1411            Self::RubyAnnotation(value)
1412        }
1413    }
1414    impl std::convert::From<crate::generated::all::SampleOutput> for ListItemChild {
1415        fn from(value: crate::generated::all::SampleOutput) -> Self {
1416            Self::SampleOutput(value)
1417        }
1418    }
1419    impl std::convert::From<crate::generated::all::Script> for ListItemChild {
1420        fn from(value: crate::generated::all::Script) -> Self {
1421            Self::Script(value)
1422        }
1423    }
1424    impl std::convert::From<crate::generated::all::Search> for ListItemChild {
1425        fn from(value: crate::generated::all::Search) -> Self {
1426            Self::Search(value)
1427        }
1428    }
1429    impl std::convert::From<crate::generated::all::Section> for ListItemChild {
1430        fn from(value: crate::generated::all::Section) -> Self {
1431            Self::Section(value)
1432        }
1433    }
1434    impl std::convert::From<crate::generated::all::Select> for ListItemChild {
1435        fn from(value: crate::generated::all::Select) -> Self {
1436            Self::Select(value)
1437        }
1438    }
1439    impl std::convert::From<crate::generated::all::SideComment> for ListItemChild {
1440        fn from(value: crate::generated::all::SideComment) -> Self {
1441            Self::SideComment(value)
1442        }
1443    }
1444    impl std::convert::From<crate::generated::all::Slot> for ListItemChild {
1445        fn from(value: crate::generated::all::Slot) -> Self {
1446            Self::Slot(value)
1447        }
1448    }
1449    impl std::convert::From<crate::generated::all::Span> for ListItemChild {
1450        fn from(value: crate::generated::all::Span) -> Self {
1451            Self::Span(value)
1452        }
1453    }
1454    impl std::convert::From<crate::generated::all::StrikeThrough> for ListItemChild {
1455        fn from(value: crate::generated::all::StrikeThrough) -> Self {
1456            Self::StrikeThrough(value)
1457        }
1458    }
1459    impl std::convert::From<crate::generated::all::Strong> for ListItemChild {
1460        fn from(value: crate::generated::all::Strong) -> Self {
1461            Self::Strong(value)
1462        }
1463    }
1464    impl std::convert::From<crate::generated::all::SubScript> for ListItemChild {
1465        fn from(value: crate::generated::all::SubScript) -> Self {
1466            Self::SubScript(value)
1467        }
1468    }
1469    impl std::convert::From<crate::generated::all::SuperScript> for ListItemChild {
1470        fn from(value: crate::generated::all::SuperScript) -> Self {
1471            Self::SuperScript(value)
1472        }
1473    }
1474    impl std::convert::From<crate::generated::all::Table> for ListItemChild {
1475        fn from(value: crate::generated::all::Table) -> Self {
1476            Self::Table(value)
1477        }
1478    }
1479    impl std::convert::From<crate::generated::all::Template> for ListItemChild {
1480        fn from(value: crate::generated::all::Template) -> Self {
1481            Self::Template(value)
1482        }
1483    }
1484    impl std::convert::From<std::borrow::Cow<'static, str>> for ListItemChild {
1485        fn from(value: std::borrow::Cow<'static, str>) -> Self {
1486            Self::Text(value)
1487        }
1488    }
1489    impl std::convert::From<&'static str> for ListItemChild {
1490        fn from(value: &'static str) -> Self {
1491            Self::Text(value.into())
1492        }
1493    }
1494    impl std::convert::From<String> for ListItemChild {
1495        fn from(value: String) -> Self {
1496            Self::Text(value.into())
1497        }
1498    }
1499    impl std::convert::From<crate::generated::all::TextArea> for ListItemChild {
1500        fn from(value: crate::generated::all::TextArea) -> Self {
1501            Self::TextArea(value)
1502        }
1503    }
1504    impl std::convert::From<crate::generated::all::ThematicBreak> for ListItemChild {
1505        fn from(value: crate::generated::all::ThematicBreak) -> Self {
1506            Self::ThematicBreak(value)
1507        }
1508    }
1509    impl std::convert::From<crate::generated::all::Time> for ListItemChild {
1510        fn from(value: crate::generated::all::Time) -> Self {
1511            Self::Time(value)
1512        }
1513    }
1514    impl std::convert::From<crate::generated::all::Underline> for ListItemChild {
1515        fn from(value: crate::generated::all::Underline) -> Self {
1516            Self::Underline(value)
1517        }
1518    }
1519    impl std::convert::From<crate::generated::all::UnorderedList> for ListItemChild {
1520        fn from(value: crate::generated::all::UnorderedList) -> Self {
1521            Self::UnorderedList(value)
1522        }
1523    }
1524    impl std::convert::From<crate::generated::all::Variable> for ListItemChild {
1525        fn from(value: crate::generated::all::Variable) -> Self {
1526            Self::Variable(value)
1527        }
1528    }
1529    impl std::convert::From<crate::generated::all::Video> for ListItemChild {
1530        fn from(value: crate::generated::all::Video) -> Self {
1531            Self::Video(value)
1532        }
1533    }
1534    impl crate::Render for ListItemChild {
1535        fn render(
1536            &self,
1537            f: &mut std::fmt::Formatter<'_>,
1538            depth: usize,
1539        ) -> std::fmt::Result {
1540            match self {
1541                Self::Abbreviation(el) => crate::Render::render(el, f, depth + 1),
1542                Self::Address(el) => crate::Render::render(el, f, depth + 1),
1543                Self::Anchor(el) => crate::Render::render(el, f, depth + 1),
1544                Self::Article(el) => crate::Render::render(el, f, depth + 1),
1545                Self::Aside(el) => crate::Render::render(el, f, depth + 1),
1546                Self::Audio(el) => crate::Render::render(el, f, depth + 1),
1547                Self::BidirectionalIsolate(el) => crate::Render::render(el, f, depth + 1),
1548                Self::BidirectionalTextOverride(el) => {
1549                    crate::Render::render(el, f, depth + 1)
1550                }
1551                Self::BlockQuote(el) => crate::Render::render(el, f, depth + 1),
1552                Self::Bold(el) => crate::Render::render(el, f, depth + 1),
1553                Self::Button(el) => crate::Render::render(el, f, depth + 1),
1554                Self::Canvas(el) => crate::Render::render(el, f, depth + 1),
1555                Self::Cite(el) => crate::Render::render(el, f, depth + 1),
1556                Self::Code(el) => crate::Render::render(el, f, depth + 1),
1557                Self::Data(el) => crate::Render::render(el, f, depth + 1),
1558                Self::DataList(el) => crate::Render::render(el, f, depth + 1),
1559                Self::Definition(el) => crate::Render::render(el, f, depth + 1),
1560                Self::DeletedText(el) => crate::Render::render(el, f, depth + 1),
1561                Self::DescriptionList(el) => crate::Render::render(el, f, depth + 1),
1562                Self::Details(el) => crate::Render::render(el, f, depth + 1),
1563                Self::Dialog(el) => crate::Render::render(el, f, depth + 1),
1564                Self::Division(el) => crate::Render::render(el, f, depth + 1),
1565                Self::Embed(el) => crate::Render::render(el, f, depth + 1),
1566                Self::Emphasis(el) => crate::Render::render(el, f, depth + 1),
1567                Self::Fieldset(el) => crate::Render::render(el, f, depth + 1),
1568                Self::Figure(el) => crate::Render::render(el, f, depth + 1),
1569                Self::Footer(el) => crate::Render::render(el, f, depth + 1),
1570                Self::Form(el) => crate::Render::render(el, f, depth + 1),
1571                Self::Header(el) => crate::Render::render(el, f, depth + 1),
1572                Self::Heading1(el) => crate::Render::render(el, f, depth + 1),
1573                Self::Heading2(el) => crate::Render::render(el, f, depth + 1),
1574                Self::Heading3(el) => crate::Render::render(el, f, depth + 1),
1575                Self::Heading4(el) => crate::Render::render(el, f, depth + 1),
1576                Self::Heading5(el) => crate::Render::render(el, f, depth + 1),
1577                Self::Heading6(el) => crate::Render::render(el, f, depth + 1),
1578                Self::HeadingGroup(el) => crate::Render::render(el, f, depth + 1),
1579                Self::Iframe(el) => crate::Render::render(el, f, depth + 1),
1580                Self::Image(el) => crate::Render::render(el, f, depth + 1),
1581                Self::ImageMap(el) => crate::Render::render(el, f, depth + 1),
1582                Self::ImageMapArea(el) => crate::Render::render(el, f, depth + 1),
1583                Self::Input(el) => crate::Render::render(el, f, depth + 1),
1584                Self::InsertedText(el) => crate::Render::render(el, f, depth + 1),
1585                Self::Italic(el) => crate::Render::render(el, f, depth + 1),
1586                Self::KeyboardInput(el) => crate::Render::render(el, f, depth + 1),
1587                Self::Label(el) => crate::Render::render(el, f, depth + 1),
1588                Self::LineBreak(el) => crate::Render::render(el, f, depth + 1),
1589                Self::LineBreakOpportunity(el) => crate::Render::render(el, f, depth + 1),
1590                Self::Link(el) => crate::Render::render(el, f, depth + 1),
1591                Self::Main(el) => crate::Render::render(el, f, depth + 1),
1592                Self::MarkText(el) => crate::Render::render(el, f, depth + 1),
1593                Self::Menu(el) => crate::Render::render(el, f, depth + 1),
1594                Self::Meta(el) => crate::Render::render(el, f, depth + 1),
1595                Self::Meter(el) => crate::Render::render(el, f, depth + 1),
1596                Self::Navigation(el) => crate::Render::render(el, f, depth + 1),
1597                Self::NoScript(el) => crate::Render::render(el, f, depth + 1),
1598                Self::Object(el) => crate::Render::render(el, f, depth + 1),
1599                Self::OrderedList(el) => crate::Render::render(el, f, depth + 1),
1600                Self::Output(el) => crate::Render::render(el, f, depth + 1),
1601                Self::Paragraph(el) => crate::Render::render(el, f, depth + 1),
1602                Self::Picture(el) => crate::Render::render(el, f, depth + 1),
1603                Self::PreformattedText(el) => crate::Render::render(el, f, depth + 1),
1604                Self::Progress(el) => crate::Render::render(el, f, depth + 1),
1605                Self::Quotation(el) => crate::Render::render(el, f, depth + 1),
1606                Self::RubyAnnotation(el) => crate::Render::render(el, f, depth + 1),
1607                Self::SampleOutput(el) => crate::Render::render(el, f, depth + 1),
1608                Self::Script(el) => crate::Render::render(el, f, depth + 1),
1609                Self::Search(el) => crate::Render::render(el, f, depth + 1),
1610                Self::Section(el) => crate::Render::render(el, f, depth + 1),
1611                Self::Select(el) => crate::Render::render(el, f, depth + 1),
1612                Self::SideComment(el) => crate::Render::render(el, f, depth + 1),
1613                Self::Slot(el) => crate::Render::render(el, f, depth + 1),
1614                Self::Span(el) => crate::Render::render(el, f, depth + 1),
1615                Self::StrikeThrough(el) => crate::Render::render(el, f, depth + 1),
1616                Self::Strong(el) => crate::Render::render(el, f, depth + 1),
1617                Self::SubScript(el) => crate::Render::render(el, f, depth + 1),
1618                Self::SuperScript(el) => crate::Render::render(el, f, depth + 1),
1619                Self::Table(el) => crate::Render::render(el, f, depth + 1),
1620                Self::Template(el) => crate::Render::render(el, f, depth + 1),
1621                Self::Text(el) => crate::Render::render(el, f, depth + 1),
1622                Self::TextArea(el) => crate::Render::render(el, f, depth + 1),
1623                Self::ThematicBreak(el) => crate::Render::render(el, f, depth + 1),
1624                Self::Time(el) => crate::Render::render(el, f, depth + 1),
1625                Self::Underline(el) => crate::Render::render(el, f, depth + 1),
1626                Self::UnorderedList(el) => crate::Render::render(el, f, depth + 1),
1627                Self::Variable(el) => crate::Render::render(el, f, depth + 1),
1628                Self::Video(el) => crate::Render::render(el, f, depth + 1),
1629            }
1630        }
1631    }
1632    impl std::fmt::Debug for ListItemChild {
1633        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1634            crate::Render::render(self, f, 0)?;
1635            Ok(())
1636        }
1637    }
1638    impl std::fmt::Display for ListItemChild {
1639        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1640            match self {
1641                Self::Abbreviation(el) => write!(f, "{el}"),
1642                Self::Address(el) => write!(f, "{el}"),
1643                Self::Anchor(el) => write!(f, "{el}"),
1644                Self::Article(el) => write!(f, "{el}"),
1645                Self::Aside(el) => write!(f, "{el}"),
1646                Self::Audio(el) => write!(f, "{el}"),
1647                Self::BidirectionalIsolate(el) => write!(f, "{el}"),
1648                Self::BidirectionalTextOverride(el) => write!(f, "{el}"),
1649                Self::BlockQuote(el) => write!(f, "{el}"),
1650                Self::Bold(el) => write!(f, "{el}"),
1651                Self::Button(el) => write!(f, "{el}"),
1652                Self::Canvas(el) => write!(f, "{el}"),
1653                Self::Cite(el) => write!(f, "{el}"),
1654                Self::Code(el) => write!(f, "{el}"),
1655                Self::Data(el) => write!(f, "{el}"),
1656                Self::DataList(el) => write!(f, "{el}"),
1657                Self::Definition(el) => write!(f, "{el}"),
1658                Self::DeletedText(el) => write!(f, "{el}"),
1659                Self::DescriptionList(el) => write!(f, "{el}"),
1660                Self::Details(el) => write!(f, "{el}"),
1661                Self::Dialog(el) => write!(f, "{el}"),
1662                Self::Division(el) => write!(f, "{el}"),
1663                Self::Embed(el) => write!(f, "{el}"),
1664                Self::Emphasis(el) => write!(f, "{el}"),
1665                Self::Fieldset(el) => write!(f, "{el}"),
1666                Self::Figure(el) => write!(f, "{el}"),
1667                Self::Footer(el) => write!(f, "{el}"),
1668                Self::Form(el) => write!(f, "{el}"),
1669                Self::Header(el) => write!(f, "{el}"),
1670                Self::Heading1(el) => write!(f, "{el}"),
1671                Self::Heading2(el) => write!(f, "{el}"),
1672                Self::Heading3(el) => write!(f, "{el}"),
1673                Self::Heading4(el) => write!(f, "{el}"),
1674                Self::Heading5(el) => write!(f, "{el}"),
1675                Self::Heading6(el) => write!(f, "{el}"),
1676                Self::HeadingGroup(el) => write!(f, "{el}"),
1677                Self::Iframe(el) => write!(f, "{el}"),
1678                Self::Image(el) => write!(f, "{el}"),
1679                Self::ImageMap(el) => write!(f, "{el}"),
1680                Self::ImageMapArea(el) => write!(f, "{el}"),
1681                Self::Input(el) => write!(f, "{el}"),
1682                Self::InsertedText(el) => write!(f, "{el}"),
1683                Self::Italic(el) => write!(f, "{el}"),
1684                Self::KeyboardInput(el) => write!(f, "{el}"),
1685                Self::Label(el) => write!(f, "{el}"),
1686                Self::LineBreak(el) => write!(f, "{el}"),
1687                Self::LineBreakOpportunity(el) => write!(f, "{el}"),
1688                Self::Link(el) => write!(f, "{el}"),
1689                Self::Main(el) => write!(f, "{el}"),
1690                Self::MarkText(el) => write!(f, "{el}"),
1691                Self::Menu(el) => write!(f, "{el}"),
1692                Self::Meta(el) => write!(f, "{el}"),
1693                Self::Meter(el) => write!(f, "{el}"),
1694                Self::Navigation(el) => write!(f, "{el}"),
1695                Self::NoScript(el) => write!(f, "{el}"),
1696                Self::Object(el) => write!(f, "{el}"),
1697                Self::OrderedList(el) => write!(f, "{el}"),
1698                Self::Output(el) => write!(f, "{el}"),
1699                Self::Paragraph(el) => write!(f, "{el}"),
1700                Self::Picture(el) => write!(f, "{el}"),
1701                Self::PreformattedText(el) => write!(f, "{el}"),
1702                Self::Progress(el) => write!(f, "{el}"),
1703                Self::Quotation(el) => write!(f, "{el}"),
1704                Self::RubyAnnotation(el) => write!(f, "{el}"),
1705                Self::SampleOutput(el) => write!(f, "{el}"),
1706                Self::Script(el) => write!(f, "{el}"),
1707                Self::Search(el) => write!(f, "{el}"),
1708                Self::Section(el) => write!(f, "{el}"),
1709                Self::Select(el) => write!(f, "{el}"),
1710                Self::SideComment(el) => write!(f, "{el}"),
1711                Self::Slot(el) => write!(f, "{el}"),
1712                Self::Span(el) => write!(f, "{el}"),
1713                Self::StrikeThrough(el) => write!(f, "{el}"),
1714                Self::Strong(el) => write!(f, "{el}"),
1715                Self::SubScript(el) => write!(f, "{el}"),
1716                Self::SuperScript(el) => write!(f, "{el}"),
1717                Self::Table(el) => write!(f, "{el}"),
1718                Self::Template(el) => write!(f, "{el}"),
1719                Self::Text(el) => write!(f, "{el}"),
1720                Self::TextArea(el) => write!(f, "{el}"),
1721                Self::ThematicBreak(el) => write!(f, "{el}"),
1722                Self::Time(el) => write!(f, "{el}"),
1723                Self::Underline(el) => write!(f, "{el}"),
1724                Self::UnorderedList(el) => write!(f, "{el}"),
1725                Self::Variable(el) => write!(f, "{el}"),
1726                Self::Video(el) => write!(f, "{el}"),
1727            }
1728        }
1729    }
1730}
1731pub mod builder {
1732    /// A builder struct for ListItem
1733    pub struct ListItemBuilder {
1734        element: super::element::ListItem,
1735    }
1736    impl ListItemBuilder {
1737        pub(crate) fn new(element: super::element::ListItem) -> Self {
1738            Self { element }
1739        }
1740        /// Finish building the element
1741        pub fn build(&mut self) -> super::element::ListItem {
1742            self.element.clone()
1743        }
1744        /// Insert a `data-*` property
1745        pub fn data(
1746            &mut self,
1747            data_key: impl Into<std::borrow::Cow<'static, str>>,
1748            value: impl Into<std::borrow::Cow<'static, str>>,
1749        ) -> &mut ListItemBuilder {
1750            self.element.data_map_mut().insert(data_key.into(), value.into());
1751            self
1752        }
1753        /// Append a new `Abbreviation` element
1754        pub fn abbreviation<F>(&mut self, f: F) -> &mut Self
1755        where
1756            F: for<'a> FnOnce(
1757                &'a mut crate::generated::all::builders::AbbreviationBuilder,
1758            ) -> &'a mut crate::generated::all::builders::AbbreviationBuilder,
1759        {
1760            let ty: crate::generated::all::Abbreviation = Default::default();
1761            let mut ty_builder = crate::generated::all::builders::AbbreviationBuilder::new(
1762                ty,
1763            );
1764            (f)(&mut ty_builder);
1765            let ty = ty_builder.build();
1766            self.element.children_mut().push(ty.into());
1767            self
1768        }
1769        /// Append a new `Address` element
1770        pub fn address<F>(&mut self, f: F) -> &mut Self
1771        where
1772            F: for<'a> FnOnce(
1773                &'a mut crate::generated::all::builders::AddressBuilder,
1774            ) -> &'a mut crate::generated::all::builders::AddressBuilder,
1775        {
1776            let ty: crate::generated::all::Address = Default::default();
1777            let mut ty_builder = crate::generated::all::builders::AddressBuilder::new(
1778                ty,
1779            );
1780            (f)(&mut ty_builder);
1781            let ty = ty_builder.build();
1782            self.element.children_mut().push(ty.into());
1783            self
1784        }
1785        /// Append a new `Anchor` element
1786        pub fn anchor<F>(&mut self, f: F) -> &mut Self
1787        where
1788            F: for<'a> FnOnce(
1789                &'a mut crate::generated::all::builders::AnchorBuilder,
1790            ) -> &'a mut crate::generated::all::builders::AnchorBuilder,
1791        {
1792            let ty: crate::generated::all::Anchor = Default::default();
1793            let mut ty_builder = crate::generated::all::builders::AnchorBuilder::new(ty);
1794            (f)(&mut ty_builder);
1795            let ty = ty_builder.build();
1796            self.element.children_mut().push(ty.into());
1797            self
1798        }
1799        /// Append a new `Article` element
1800        pub fn article<F>(&mut self, f: F) -> &mut Self
1801        where
1802            F: for<'a> FnOnce(
1803                &'a mut crate::generated::all::builders::ArticleBuilder,
1804            ) -> &'a mut crate::generated::all::builders::ArticleBuilder,
1805        {
1806            let ty: crate::generated::all::Article = Default::default();
1807            let mut ty_builder = crate::generated::all::builders::ArticleBuilder::new(
1808                ty,
1809            );
1810            (f)(&mut ty_builder);
1811            let ty = ty_builder.build();
1812            self.element.children_mut().push(ty.into());
1813            self
1814        }
1815        /// Append a new `Aside` element
1816        pub fn aside<F>(&mut self, f: F) -> &mut Self
1817        where
1818            F: for<'a> FnOnce(
1819                &'a mut crate::generated::all::builders::AsideBuilder,
1820            ) -> &'a mut crate::generated::all::builders::AsideBuilder,
1821        {
1822            let ty: crate::generated::all::Aside = Default::default();
1823            let mut ty_builder = crate::generated::all::builders::AsideBuilder::new(ty);
1824            (f)(&mut ty_builder);
1825            let ty = ty_builder.build();
1826            self.element.children_mut().push(ty.into());
1827            self
1828        }
1829        /// Append a new `Audio` element
1830        pub fn audio<F>(&mut self, f: F) -> &mut Self
1831        where
1832            F: for<'a> FnOnce(
1833                &'a mut crate::generated::all::builders::AudioBuilder,
1834            ) -> &'a mut crate::generated::all::builders::AudioBuilder,
1835        {
1836            let ty: crate::generated::all::Audio = Default::default();
1837            let mut ty_builder = crate::generated::all::builders::AudioBuilder::new(ty);
1838            (f)(&mut ty_builder);
1839            let ty = ty_builder.build();
1840            self.element.children_mut().push(ty.into());
1841            self
1842        }
1843        /// Append a new `BidirectionalIsolate` element
1844        pub fn bidirectional_isolate<F>(&mut self, f: F) -> &mut Self
1845        where
1846            F: for<'a> FnOnce(
1847                &'a mut crate::generated::all::builders::BidirectionalIsolateBuilder,
1848            ) -> &'a mut crate::generated::all::builders::BidirectionalIsolateBuilder,
1849        {
1850            let ty: crate::generated::all::BidirectionalIsolate = Default::default();
1851            let mut ty_builder = crate::generated::all::builders::BidirectionalIsolateBuilder::new(
1852                ty,
1853            );
1854            (f)(&mut ty_builder);
1855            let ty = ty_builder.build();
1856            self.element.children_mut().push(ty.into());
1857            self
1858        }
1859        /// Append a new `BidirectionalTextOverride` element
1860        pub fn bidirectional_text_override<F>(&mut self, f: F) -> &mut Self
1861        where
1862            F: for<'a> FnOnce(
1863                &'a mut crate::generated::all::builders::BidirectionalTextOverrideBuilder,
1864            ) -> &'a mut crate::generated::all::builders::BidirectionalTextOverrideBuilder,
1865        {
1866            let ty: crate::generated::all::BidirectionalTextOverride = Default::default();
1867            let mut ty_builder = crate::generated::all::builders::BidirectionalTextOverrideBuilder::new(
1868                ty,
1869            );
1870            (f)(&mut ty_builder);
1871            let ty = ty_builder.build();
1872            self.element.children_mut().push(ty.into());
1873            self
1874        }
1875        /// Append a new `BlockQuote` element
1876        pub fn block_quote<F>(&mut self, f: F) -> &mut Self
1877        where
1878            F: for<'a> FnOnce(
1879                &'a mut crate::generated::all::builders::BlockQuoteBuilder,
1880            ) -> &'a mut crate::generated::all::builders::BlockQuoteBuilder,
1881        {
1882            let ty: crate::generated::all::BlockQuote = Default::default();
1883            let mut ty_builder = crate::generated::all::builders::BlockQuoteBuilder::new(
1884                ty,
1885            );
1886            (f)(&mut ty_builder);
1887            let ty = ty_builder.build();
1888            self.element.children_mut().push(ty.into());
1889            self
1890        }
1891        /// Append a new `Bold` element
1892        pub fn bold<F>(&mut self, f: F) -> &mut Self
1893        where
1894            F: for<'a> FnOnce(
1895                &'a mut crate::generated::all::builders::BoldBuilder,
1896            ) -> &'a mut crate::generated::all::builders::BoldBuilder,
1897        {
1898            let ty: crate::generated::all::Bold = Default::default();
1899            let mut ty_builder = crate::generated::all::builders::BoldBuilder::new(ty);
1900            (f)(&mut ty_builder);
1901            let ty = ty_builder.build();
1902            self.element.children_mut().push(ty.into());
1903            self
1904        }
1905        /// Append a new `Button` element
1906        pub fn button<F>(&mut self, f: F) -> &mut Self
1907        where
1908            F: for<'a> FnOnce(
1909                &'a mut crate::generated::all::builders::ButtonBuilder,
1910            ) -> &'a mut crate::generated::all::builders::ButtonBuilder,
1911        {
1912            let ty: crate::generated::all::Button = Default::default();
1913            let mut ty_builder = crate::generated::all::builders::ButtonBuilder::new(ty);
1914            (f)(&mut ty_builder);
1915            let ty = ty_builder.build();
1916            self.element.children_mut().push(ty.into());
1917            self
1918        }
1919        /// Append a new `Canvas` element
1920        pub fn canvas<F>(&mut self, f: F) -> &mut Self
1921        where
1922            F: for<'a> FnOnce(
1923                &'a mut crate::generated::all::builders::CanvasBuilder,
1924            ) -> &'a mut crate::generated::all::builders::CanvasBuilder,
1925        {
1926            let ty: crate::generated::all::Canvas = Default::default();
1927            let mut ty_builder = crate::generated::all::builders::CanvasBuilder::new(ty);
1928            (f)(&mut ty_builder);
1929            let ty = ty_builder.build();
1930            self.element.children_mut().push(ty.into());
1931            self
1932        }
1933        /// Append a new `Cite` element
1934        pub fn cite<F>(&mut self, f: F) -> &mut Self
1935        where
1936            F: for<'a> FnOnce(
1937                &'a mut crate::generated::all::builders::CiteBuilder,
1938            ) -> &'a mut crate::generated::all::builders::CiteBuilder,
1939        {
1940            let ty: crate::generated::all::Cite = Default::default();
1941            let mut ty_builder = crate::generated::all::builders::CiteBuilder::new(ty);
1942            (f)(&mut ty_builder);
1943            let ty = ty_builder.build();
1944            self.element.children_mut().push(ty.into());
1945            self
1946        }
1947        /// Append a new `Code` element
1948        pub fn code<F>(&mut self, f: F) -> &mut Self
1949        where
1950            F: for<'a> FnOnce(
1951                &'a mut crate::generated::all::builders::CodeBuilder,
1952            ) -> &'a mut crate::generated::all::builders::CodeBuilder,
1953        {
1954            let ty: crate::generated::all::Code = Default::default();
1955            let mut ty_builder = crate::generated::all::builders::CodeBuilder::new(ty);
1956            (f)(&mut ty_builder);
1957            let ty = ty_builder.build();
1958            self.element.children_mut().push(ty.into());
1959            self
1960        }
1961        /// Append a new `Data` element
1962        pub fn data_el<F>(&mut self, f: F) -> &mut Self
1963        where
1964            F: for<'a> FnOnce(
1965                &'a mut crate::generated::all::builders::DataBuilder,
1966            ) -> &'a mut crate::generated::all::builders::DataBuilder,
1967        {
1968            let ty: crate::generated::all::Data = Default::default();
1969            let mut ty_builder = crate::generated::all::builders::DataBuilder::new(ty);
1970            (f)(&mut ty_builder);
1971            let ty = ty_builder.build();
1972            self.element.children_mut().push(ty.into());
1973            self
1974        }
1975        /// Append a new `DataList` element
1976        pub fn data_list<F>(&mut self, f: F) -> &mut Self
1977        where
1978            F: for<'a> FnOnce(
1979                &'a mut crate::generated::all::builders::DataListBuilder,
1980            ) -> &'a mut crate::generated::all::builders::DataListBuilder,
1981        {
1982            let ty: crate::generated::all::DataList = Default::default();
1983            let mut ty_builder = crate::generated::all::builders::DataListBuilder::new(
1984                ty,
1985            );
1986            (f)(&mut ty_builder);
1987            let ty = ty_builder.build();
1988            self.element.children_mut().push(ty.into());
1989            self
1990        }
1991        /// Append a new `Definition` element
1992        pub fn definition<F>(&mut self, f: F) -> &mut Self
1993        where
1994            F: for<'a> FnOnce(
1995                &'a mut crate::generated::all::builders::DefinitionBuilder,
1996            ) -> &'a mut crate::generated::all::builders::DefinitionBuilder,
1997        {
1998            let ty: crate::generated::all::Definition = Default::default();
1999            let mut ty_builder = crate::generated::all::builders::DefinitionBuilder::new(
2000                ty,
2001            );
2002            (f)(&mut ty_builder);
2003            let ty = ty_builder.build();
2004            self.element.children_mut().push(ty.into());
2005            self
2006        }
2007        /// Append a new `DeletedText` element
2008        pub fn deleted_text<F>(&mut self, f: F) -> &mut Self
2009        where
2010            F: for<'a> FnOnce(
2011                &'a mut crate::generated::all::builders::DeletedTextBuilder,
2012            ) -> &'a mut crate::generated::all::builders::DeletedTextBuilder,
2013        {
2014            let ty: crate::generated::all::DeletedText = Default::default();
2015            let mut ty_builder = crate::generated::all::builders::DeletedTextBuilder::new(
2016                ty,
2017            );
2018            (f)(&mut ty_builder);
2019            let ty = ty_builder.build();
2020            self.element.children_mut().push(ty.into());
2021            self
2022        }
2023        /// Append a new `DescriptionList` element
2024        pub fn description_list<F>(&mut self, f: F) -> &mut Self
2025        where
2026            F: for<'a> FnOnce(
2027                &'a mut crate::generated::all::builders::DescriptionListBuilder,
2028            ) -> &'a mut crate::generated::all::builders::DescriptionListBuilder,
2029        {
2030            let ty: crate::generated::all::DescriptionList = Default::default();
2031            let mut ty_builder = crate::generated::all::builders::DescriptionListBuilder::new(
2032                ty,
2033            );
2034            (f)(&mut ty_builder);
2035            let ty = ty_builder.build();
2036            self.element.children_mut().push(ty.into());
2037            self
2038        }
2039        /// Append a new `Details` element
2040        pub fn details<F>(&mut self, f: F) -> &mut Self
2041        where
2042            F: for<'a> FnOnce(
2043                &'a mut crate::generated::all::builders::DetailsBuilder,
2044            ) -> &'a mut crate::generated::all::builders::DetailsBuilder,
2045        {
2046            let ty: crate::generated::all::Details = Default::default();
2047            let mut ty_builder = crate::generated::all::builders::DetailsBuilder::new(
2048                ty,
2049            );
2050            (f)(&mut ty_builder);
2051            let ty = ty_builder.build();
2052            self.element.children_mut().push(ty.into());
2053            self
2054        }
2055        /// Append a new `Dialog` element
2056        pub fn dialog<F>(&mut self, f: F) -> &mut Self
2057        where
2058            F: for<'a> FnOnce(
2059                &'a mut crate::generated::all::builders::DialogBuilder,
2060            ) -> &'a mut crate::generated::all::builders::DialogBuilder,
2061        {
2062            let ty: crate::generated::all::Dialog = Default::default();
2063            let mut ty_builder = crate::generated::all::builders::DialogBuilder::new(ty);
2064            (f)(&mut ty_builder);
2065            let ty = ty_builder.build();
2066            self.element.children_mut().push(ty.into());
2067            self
2068        }
2069        /// Append a new `Division` element
2070        pub fn division<F>(&mut self, f: F) -> &mut Self
2071        where
2072            F: for<'a> FnOnce(
2073                &'a mut crate::generated::all::builders::DivisionBuilder,
2074            ) -> &'a mut crate::generated::all::builders::DivisionBuilder,
2075        {
2076            let ty: crate::generated::all::Division = Default::default();
2077            let mut ty_builder = crate::generated::all::builders::DivisionBuilder::new(
2078                ty,
2079            );
2080            (f)(&mut ty_builder);
2081            let ty = ty_builder.build();
2082            self.element.children_mut().push(ty.into());
2083            self
2084        }
2085        /// Append a new `Embed` element
2086        pub fn embed<F>(&mut self, f: F) -> &mut Self
2087        where
2088            F: for<'a> FnOnce(
2089                &'a mut crate::generated::all::builders::EmbedBuilder,
2090            ) -> &'a mut crate::generated::all::builders::EmbedBuilder,
2091        {
2092            let ty: crate::generated::all::Embed = Default::default();
2093            let mut ty_builder = crate::generated::all::builders::EmbedBuilder::new(ty);
2094            (f)(&mut ty_builder);
2095            let ty = ty_builder.build();
2096            self.element.children_mut().push(ty.into());
2097            self
2098        }
2099        /// Append a new `Emphasis` element
2100        pub fn emphasis<F>(&mut self, f: F) -> &mut Self
2101        where
2102            F: for<'a> FnOnce(
2103                &'a mut crate::generated::all::builders::EmphasisBuilder,
2104            ) -> &'a mut crate::generated::all::builders::EmphasisBuilder,
2105        {
2106            let ty: crate::generated::all::Emphasis = Default::default();
2107            let mut ty_builder = crate::generated::all::builders::EmphasisBuilder::new(
2108                ty,
2109            );
2110            (f)(&mut ty_builder);
2111            let ty = ty_builder.build();
2112            self.element.children_mut().push(ty.into());
2113            self
2114        }
2115        /// Append a new `Fieldset` element
2116        pub fn fieldset<F>(&mut self, f: F) -> &mut Self
2117        where
2118            F: for<'a> FnOnce(
2119                &'a mut crate::generated::all::builders::FieldsetBuilder,
2120            ) -> &'a mut crate::generated::all::builders::FieldsetBuilder,
2121        {
2122            let ty: crate::generated::all::Fieldset = Default::default();
2123            let mut ty_builder = crate::generated::all::builders::FieldsetBuilder::new(
2124                ty,
2125            );
2126            (f)(&mut ty_builder);
2127            let ty = ty_builder.build();
2128            self.element.children_mut().push(ty.into());
2129            self
2130        }
2131        /// Append a new `Figure` element
2132        pub fn figure<F>(&mut self, f: F) -> &mut Self
2133        where
2134            F: for<'a> FnOnce(
2135                &'a mut crate::generated::all::builders::FigureBuilder,
2136            ) -> &'a mut crate::generated::all::builders::FigureBuilder,
2137        {
2138            let ty: crate::generated::all::Figure = Default::default();
2139            let mut ty_builder = crate::generated::all::builders::FigureBuilder::new(ty);
2140            (f)(&mut ty_builder);
2141            let ty = ty_builder.build();
2142            self.element.children_mut().push(ty.into());
2143            self
2144        }
2145        /// Append a new `Footer` element
2146        pub fn footer<F>(&mut self, f: F) -> &mut Self
2147        where
2148            F: for<'a> FnOnce(
2149                &'a mut crate::generated::all::builders::FooterBuilder,
2150            ) -> &'a mut crate::generated::all::builders::FooterBuilder,
2151        {
2152            let ty: crate::generated::all::Footer = Default::default();
2153            let mut ty_builder = crate::generated::all::builders::FooterBuilder::new(ty);
2154            (f)(&mut ty_builder);
2155            let ty = ty_builder.build();
2156            self.element.children_mut().push(ty.into());
2157            self
2158        }
2159        /// Append a new `Form` element
2160        pub fn form<F>(&mut self, f: F) -> &mut Self
2161        where
2162            F: for<'a> FnOnce(
2163                &'a mut crate::generated::all::builders::FormBuilder,
2164            ) -> &'a mut crate::generated::all::builders::FormBuilder,
2165        {
2166            let ty: crate::generated::all::Form = Default::default();
2167            let mut ty_builder = crate::generated::all::builders::FormBuilder::new(ty);
2168            (f)(&mut ty_builder);
2169            let ty = ty_builder.build();
2170            self.element.children_mut().push(ty.into());
2171            self
2172        }
2173        /// Append a new `Header` element
2174        pub fn header<F>(&mut self, f: F) -> &mut Self
2175        where
2176            F: for<'a> FnOnce(
2177                &'a mut crate::generated::all::builders::HeaderBuilder,
2178            ) -> &'a mut crate::generated::all::builders::HeaderBuilder,
2179        {
2180            let ty: crate::generated::all::Header = Default::default();
2181            let mut ty_builder = crate::generated::all::builders::HeaderBuilder::new(ty);
2182            (f)(&mut ty_builder);
2183            let ty = ty_builder.build();
2184            self.element.children_mut().push(ty.into());
2185            self
2186        }
2187        /// Append a new `Heading1` element
2188        pub fn heading_1<F>(&mut self, f: F) -> &mut Self
2189        where
2190            F: for<'a> FnOnce(
2191                &'a mut crate::generated::all::builders::Heading1Builder,
2192            ) -> &'a mut crate::generated::all::builders::Heading1Builder,
2193        {
2194            let ty: crate::generated::all::Heading1 = Default::default();
2195            let mut ty_builder = crate::generated::all::builders::Heading1Builder::new(
2196                ty,
2197            );
2198            (f)(&mut ty_builder);
2199            let ty = ty_builder.build();
2200            self.element.children_mut().push(ty.into());
2201            self
2202        }
2203        /// Append a new `Heading2` element
2204        pub fn heading_2<F>(&mut self, f: F) -> &mut Self
2205        where
2206            F: for<'a> FnOnce(
2207                &'a mut crate::generated::all::builders::Heading2Builder,
2208            ) -> &'a mut crate::generated::all::builders::Heading2Builder,
2209        {
2210            let ty: crate::generated::all::Heading2 = Default::default();
2211            let mut ty_builder = crate::generated::all::builders::Heading2Builder::new(
2212                ty,
2213            );
2214            (f)(&mut ty_builder);
2215            let ty = ty_builder.build();
2216            self.element.children_mut().push(ty.into());
2217            self
2218        }
2219        /// Append a new `Heading3` element
2220        pub fn heading_3<F>(&mut self, f: F) -> &mut Self
2221        where
2222            F: for<'a> FnOnce(
2223                &'a mut crate::generated::all::builders::Heading3Builder,
2224            ) -> &'a mut crate::generated::all::builders::Heading3Builder,
2225        {
2226            let ty: crate::generated::all::Heading3 = Default::default();
2227            let mut ty_builder = crate::generated::all::builders::Heading3Builder::new(
2228                ty,
2229            );
2230            (f)(&mut ty_builder);
2231            let ty = ty_builder.build();
2232            self.element.children_mut().push(ty.into());
2233            self
2234        }
2235        /// Append a new `Heading4` element
2236        pub fn heading_4<F>(&mut self, f: F) -> &mut Self
2237        where
2238            F: for<'a> FnOnce(
2239                &'a mut crate::generated::all::builders::Heading4Builder,
2240            ) -> &'a mut crate::generated::all::builders::Heading4Builder,
2241        {
2242            let ty: crate::generated::all::Heading4 = Default::default();
2243            let mut ty_builder = crate::generated::all::builders::Heading4Builder::new(
2244                ty,
2245            );
2246            (f)(&mut ty_builder);
2247            let ty = ty_builder.build();
2248            self.element.children_mut().push(ty.into());
2249            self
2250        }
2251        /// Append a new `Heading5` element
2252        pub fn heading_5<F>(&mut self, f: F) -> &mut Self
2253        where
2254            F: for<'a> FnOnce(
2255                &'a mut crate::generated::all::builders::Heading5Builder,
2256            ) -> &'a mut crate::generated::all::builders::Heading5Builder,
2257        {
2258            let ty: crate::generated::all::Heading5 = Default::default();
2259            let mut ty_builder = crate::generated::all::builders::Heading5Builder::new(
2260                ty,
2261            );
2262            (f)(&mut ty_builder);
2263            let ty = ty_builder.build();
2264            self.element.children_mut().push(ty.into());
2265            self
2266        }
2267        /// Append a new `Heading6` element
2268        pub fn heading_6<F>(&mut self, f: F) -> &mut Self
2269        where
2270            F: for<'a> FnOnce(
2271                &'a mut crate::generated::all::builders::Heading6Builder,
2272            ) -> &'a mut crate::generated::all::builders::Heading6Builder,
2273        {
2274            let ty: crate::generated::all::Heading6 = Default::default();
2275            let mut ty_builder = crate::generated::all::builders::Heading6Builder::new(
2276                ty,
2277            );
2278            (f)(&mut ty_builder);
2279            let ty = ty_builder.build();
2280            self.element.children_mut().push(ty.into());
2281            self
2282        }
2283        /// Append a new `HeadingGroup` element
2284        pub fn heading_group<F>(&mut self, f: F) -> &mut Self
2285        where
2286            F: for<'a> FnOnce(
2287                &'a mut crate::generated::all::builders::HeadingGroupBuilder,
2288            ) -> &'a mut crate::generated::all::builders::HeadingGroupBuilder,
2289        {
2290            let ty: crate::generated::all::HeadingGroup = Default::default();
2291            let mut ty_builder = crate::generated::all::builders::HeadingGroupBuilder::new(
2292                ty,
2293            );
2294            (f)(&mut ty_builder);
2295            let ty = ty_builder.build();
2296            self.element.children_mut().push(ty.into());
2297            self
2298        }
2299        /// Append a new `Iframe` element
2300        pub fn iframe<F>(&mut self, f: F) -> &mut Self
2301        where
2302            F: for<'a> FnOnce(
2303                &'a mut crate::generated::all::builders::IframeBuilder,
2304            ) -> &'a mut crate::generated::all::builders::IframeBuilder,
2305        {
2306            let ty: crate::generated::all::Iframe = Default::default();
2307            let mut ty_builder = crate::generated::all::builders::IframeBuilder::new(ty);
2308            (f)(&mut ty_builder);
2309            let ty = ty_builder.build();
2310            self.element.children_mut().push(ty.into());
2311            self
2312        }
2313        /// Append a new `Image` element
2314        pub fn image<F>(&mut self, f: F) -> &mut Self
2315        where
2316            F: for<'a> FnOnce(
2317                &'a mut crate::generated::all::builders::ImageBuilder,
2318            ) -> &'a mut crate::generated::all::builders::ImageBuilder,
2319        {
2320            let ty: crate::generated::all::Image = Default::default();
2321            let mut ty_builder = crate::generated::all::builders::ImageBuilder::new(ty);
2322            (f)(&mut ty_builder);
2323            let ty = ty_builder.build();
2324            self.element.children_mut().push(ty.into());
2325            self
2326        }
2327        /// Append a new `ImageMap` element
2328        pub fn image_map<F>(&mut self, f: F) -> &mut Self
2329        where
2330            F: for<'a> FnOnce(
2331                &'a mut crate::generated::all::builders::ImageMapBuilder,
2332            ) -> &'a mut crate::generated::all::builders::ImageMapBuilder,
2333        {
2334            let ty: crate::generated::all::ImageMap = Default::default();
2335            let mut ty_builder = crate::generated::all::builders::ImageMapBuilder::new(
2336                ty,
2337            );
2338            (f)(&mut ty_builder);
2339            let ty = ty_builder.build();
2340            self.element.children_mut().push(ty.into());
2341            self
2342        }
2343        /// Append a new `ImageMapArea` element
2344        pub fn image_map_area<F>(&mut self, f: F) -> &mut Self
2345        where
2346            F: for<'a> FnOnce(
2347                &'a mut crate::generated::all::builders::ImageMapAreaBuilder,
2348            ) -> &'a mut crate::generated::all::builders::ImageMapAreaBuilder,
2349        {
2350            let ty: crate::generated::all::ImageMapArea = Default::default();
2351            let mut ty_builder = crate::generated::all::builders::ImageMapAreaBuilder::new(
2352                ty,
2353            );
2354            (f)(&mut ty_builder);
2355            let ty = ty_builder.build();
2356            self.element.children_mut().push(ty.into());
2357            self
2358        }
2359        /// Append a new `Input` element
2360        pub fn input<F>(&mut self, f: F) -> &mut Self
2361        where
2362            F: for<'a> FnOnce(
2363                &'a mut crate::generated::all::builders::InputBuilder,
2364            ) -> &'a mut crate::generated::all::builders::InputBuilder,
2365        {
2366            let ty: crate::generated::all::Input = Default::default();
2367            let mut ty_builder = crate::generated::all::builders::InputBuilder::new(ty);
2368            (f)(&mut ty_builder);
2369            let ty = ty_builder.build();
2370            self.element.children_mut().push(ty.into());
2371            self
2372        }
2373        /// Append a new `InsertedText` element
2374        pub fn inserted_text<F>(&mut self, f: F) -> &mut Self
2375        where
2376            F: for<'a> FnOnce(
2377                &'a mut crate::generated::all::builders::InsertedTextBuilder,
2378            ) -> &'a mut crate::generated::all::builders::InsertedTextBuilder,
2379        {
2380            let ty: crate::generated::all::InsertedText = Default::default();
2381            let mut ty_builder = crate::generated::all::builders::InsertedTextBuilder::new(
2382                ty,
2383            );
2384            (f)(&mut ty_builder);
2385            let ty = ty_builder.build();
2386            self.element.children_mut().push(ty.into());
2387            self
2388        }
2389        /// Append a new `Italic` element
2390        pub fn italic<F>(&mut self, f: F) -> &mut Self
2391        where
2392            F: for<'a> FnOnce(
2393                &'a mut crate::generated::all::builders::ItalicBuilder,
2394            ) -> &'a mut crate::generated::all::builders::ItalicBuilder,
2395        {
2396            let ty: crate::generated::all::Italic = Default::default();
2397            let mut ty_builder = crate::generated::all::builders::ItalicBuilder::new(ty);
2398            (f)(&mut ty_builder);
2399            let ty = ty_builder.build();
2400            self.element.children_mut().push(ty.into());
2401            self
2402        }
2403        /// Append a new `KeyboardInput` element
2404        pub fn keyboard_input<F>(&mut self, f: F) -> &mut Self
2405        where
2406            F: for<'a> FnOnce(
2407                &'a mut crate::generated::all::builders::KeyboardInputBuilder,
2408            ) -> &'a mut crate::generated::all::builders::KeyboardInputBuilder,
2409        {
2410            let ty: crate::generated::all::KeyboardInput = Default::default();
2411            let mut ty_builder = crate::generated::all::builders::KeyboardInputBuilder::new(
2412                ty,
2413            );
2414            (f)(&mut ty_builder);
2415            let ty = ty_builder.build();
2416            self.element.children_mut().push(ty.into());
2417            self
2418        }
2419        /// Append a new `Label` element
2420        pub fn label<F>(&mut self, f: F) -> &mut Self
2421        where
2422            F: for<'a> FnOnce(
2423                &'a mut crate::generated::all::builders::LabelBuilder,
2424            ) -> &'a mut crate::generated::all::builders::LabelBuilder,
2425        {
2426            let ty: crate::generated::all::Label = Default::default();
2427            let mut ty_builder = crate::generated::all::builders::LabelBuilder::new(ty);
2428            (f)(&mut ty_builder);
2429            let ty = ty_builder.build();
2430            self.element.children_mut().push(ty.into());
2431            self
2432        }
2433        /// Append a new `LineBreak` element
2434        pub fn line_break<F>(&mut self, f: F) -> &mut Self
2435        where
2436            F: for<'a> FnOnce(
2437                &'a mut crate::generated::all::builders::LineBreakBuilder,
2438            ) -> &'a mut crate::generated::all::builders::LineBreakBuilder,
2439        {
2440            let ty: crate::generated::all::LineBreak = Default::default();
2441            let mut ty_builder = crate::generated::all::builders::LineBreakBuilder::new(
2442                ty,
2443            );
2444            (f)(&mut ty_builder);
2445            let ty = ty_builder.build();
2446            self.element.children_mut().push(ty.into());
2447            self
2448        }
2449        /// Append a new `LineBreakOpportunity` element
2450        pub fn line_break_opportunity<F>(&mut self, f: F) -> &mut Self
2451        where
2452            F: for<'a> FnOnce(
2453                &'a mut crate::generated::all::builders::LineBreakOpportunityBuilder,
2454            ) -> &'a mut crate::generated::all::builders::LineBreakOpportunityBuilder,
2455        {
2456            let ty: crate::generated::all::LineBreakOpportunity = Default::default();
2457            let mut ty_builder = crate::generated::all::builders::LineBreakOpportunityBuilder::new(
2458                ty,
2459            );
2460            (f)(&mut ty_builder);
2461            let ty = ty_builder.build();
2462            self.element.children_mut().push(ty.into());
2463            self
2464        }
2465        /// Append a new `Link` element
2466        pub fn link<F>(&mut self, f: F) -> &mut Self
2467        where
2468            F: for<'a> FnOnce(
2469                &'a mut crate::generated::all::builders::LinkBuilder,
2470            ) -> &'a mut crate::generated::all::builders::LinkBuilder,
2471        {
2472            let ty: crate::generated::all::Link = Default::default();
2473            let mut ty_builder = crate::generated::all::builders::LinkBuilder::new(ty);
2474            (f)(&mut ty_builder);
2475            let ty = ty_builder.build();
2476            self.element.children_mut().push(ty.into());
2477            self
2478        }
2479        /// Append a new `Main` element
2480        pub fn main<F>(&mut self, f: F) -> &mut Self
2481        where
2482            F: for<'a> FnOnce(
2483                &'a mut crate::generated::all::builders::MainBuilder,
2484            ) -> &'a mut crate::generated::all::builders::MainBuilder,
2485        {
2486            let ty: crate::generated::all::Main = Default::default();
2487            let mut ty_builder = crate::generated::all::builders::MainBuilder::new(ty);
2488            (f)(&mut ty_builder);
2489            let ty = ty_builder.build();
2490            self.element.children_mut().push(ty.into());
2491            self
2492        }
2493        /// Append a new `MarkText` element
2494        pub fn mark_text<F>(&mut self, f: F) -> &mut Self
2495        where
2496            F: for<'a> FnOnce(
2497                &'a mut crate::generated::all::builders::MarkTextBuilder,
2498            ) -> &'a mut crate::generated::all::builders::MarkTextBuilder,
2499        {
2500            let ty: crate::generated::all::MarkText = Default::default();
2501            let mut ty_builder = crate::generated::all::builders::MarkTextBuilder::new(
2502                ty,
2503            );
2504            (f)(&mut ty_builder);
2505            let ty = ty_builder.build();
2506            self.element.children_mut().push(ty.into());
2507            self
2508        }
2509        /// Append a new `Menu` element
2510        pub fn menu<F>(&mut self, f: F) -> &mut Self
2511        where
2512            F: for<'a> FnOnce(
2513                &'a mut crate::generated::all::builders::MenuBuilder,
2514            ) -> &'a mut crate::generated::all::builders::MenuBuilder,
2515        {
2516            let ty: crate::generated::all::Menu = Default::default();
2517            let mut ty_builder = crate::generated::all::builders::MenuBuilder::new(ty);
2518            (f)(&mut ty_builder);
2519            let ty = ty_builder.build();
2520            self.element.children_mut().push(ty.into());
2521            self
2522        }
2523        /// Append a new `Meta` element
2524        pub fn meta<F>(&mut self, f: F) -> &mut Self
2525        where
2526            F: for<'a> FnOnce(
2527                &'a mut crate::generated::all::builders::MetaBuilder,
2528            ) -> &'a mut crate::generated::all::builders::MetaBuilder,
2529        {
2530            let ty: crate::generated::all::Meta = Default::default();
2531            let mut ty_builder = crate::generated::all::builders::MetaBuilder::new(ty);
2532            (f)(&mut ty_builder);
2533            let ty = ty_builder.build();
2534            self.element.children_mut().push(ty.into());
2535            self
2536        }
2537        /// Append a new `Meter` element
2538        pub fn meter<F>(&mut self, f: F) -> &mut Self
2539        where
2540            F: for<'a> FnOnce(
2541                &'a mut crate::generated::all::builders::MeterBuilder,
2542            ) -> &'a mut crate::generated::all::builders::MeterBuilder,
2543        {
2544            let ty: crate::generated::all::Meter = Default::default();
2545            let mut ty_builder = crate::generated::all::builders::MeterBuilder::new(ty);
2546            (f)(&mut ty_builder);
2547            let ty = ty_builder.build();
2548            self.element.children_mut().push(ty.into());
2549            self
2550        }
2551        /// Append a new `Navigation` element
2552        pub fn navigation<F>(&mut self, f: F) -> &mut Self
2553        where
2554            F: for<'a> FnOnce(
2555                &'a mut crate::generated::all::builders::NavigationBuilder,
2556            ) -> &'a mut crate::generated::all::builders::NavigationBuilder,
2557        {
2558            let ty: crate::generated::all::Navigation = Default::default();
2559            let mut ty_builder = crate::generated::all::builders::NavigationBuilder::new(
2560                ty,
2561            );
2562            (f)(&mut ty_builder);
2563            let ty = ty_builder.build();
2564            self.element.children_mut().push(ty.into());
2565            self
2566        }
2567        /// Append a new `NoScript` element
2568        pub fn no_script<F>(&mut self, f: F) -> &mut Self
2569        where
2570            F: for<'a> FnOnce(
2571                &'a mut crate::generated::all::builders::NoScriptBuilder,
2572            ) -> &'a mut crate::generated::all::builders::NoScriptBuilder,
2573        {
2574            let ty: crate::generated::all::NoScript = Default::default();
2575            let mut ty_builder = crate::generated::all::builders::NoScriptBuilder::new(
2576                ty,
2577            );
2578            (f)(&mut ty_builder);
2579            let ty = ty_builder.build();
2580            self.element.children_mut().push(ty.into());
2581            self
2582        }
2583        /// Append a new `Object` element
2584        pub fn object<F>(&mut self, f: F) -> &mut Self
2585        where
2586            F: for<'a> FnOnce(
2587                &'a mut crate::generated::all::builders::ObjectBuilder,
2588            ) -> &'a mut crate::generated::all::builders::ObjectBuilder,
2589        {
2590            let ty: crate::generated::all::Object = Default::default();
2591            let mut ty_builder = crate::generated::all::builders::ObjectBuilder::new(ty);
2592            (f)(&mut ty_builder);
2593            let ty = ty_builder.build();
2594            self.element.children_mut().push(ty.into());
2595            self
2596        }
2597        /// Append a new `OrderedList` element
2598        pub fn ordered_list<F>(&mut self, f: F) -> &mut Self
2599        where
2600            F: for<'a> FnOnce(
2601                &'a mut crate::generated::all::builders::OrderedListBuilder,
2602            ) -> &'a mut crate::generated::all::builders::OrderedListBuilder,
2603        {
2604            let ty: crate::generated::all::OrderedList = Default::default();
2605            let mut ty_builder = crate::generated::all::builders::OrderedListBuilder::new(
2606                ty,
2607            );
2608            (f)(&mut ty_builder);
2609            let ty = ty_builder.build();
2610            self.element.children_mut().push(ty.into());
2611            self
2612        }
2613        /// Append a new `Output` element
2614        pub fn output<F>(&mut self, f: F) -> &mut Self
2615        where
2616            F: for<'a> FnOnce(
2617                &'a mut crate::generated::all::builders::OutputBuilder,
2618            ) -> &'a mut crate::generated::all::builders::OutputBuilder,
2619        {
2620            let ty: crate::generated::all::Output = Default::default();
2621            let mut ty_builder = crate::generated::all::builders::OutputBuilder::new(ty);
2622            (f)(&mut ty_builder);
2623            let ty = ty_builder.build();
2624            self.element.children_mut().push(ty.into());
2625            self
2626        }
2627        /// Append a new `Paragraph` element
2628        pub fn paragraph<F>(&mut self, f: F) -> &mut Self
2629        where
2630            F: for<'a> FnOnce(
2631                &'a mut crate::generated::all::builders::ParagraphBuilder,
2632            ) -> &'a mut crate::generated::all::builders::ParagraphBuilder,
2633        {
2634            let ty: crate::generated::all::Paragraph = Default::default();
2635            let mut ty_builder = crate::generated::all::builders::ParagraphBuilder::new(
2636                ty,
2637            );
2638            (f)(&mut ty_builder);
2639            let ty = ty_builder.build();
2640            self.element.children_mut().push(ty.into());
2641            self
2642        }
2643        /// Append a new `Picture` element
2644        pub fn picture<F>(&mut self, f: F) -> &mut Self
2645        where
2646            F: for<'a> FnOnce(
2647                &'a mut crate::generated::all::builders::PictureBuilder,
2648            ) -> &'a mut crate::generated::all::builders::PictureBuilder,
2649        {
2650            let ty: crate::generated::all::Picture = Default::default();
2651            let mut ty_builder = crate::generated::all::builders::PictureBuilder::new(
2652                ty,
2653            );
2654            (f)(&mut ty_builder);
2655            let ty = ty_builder.build();
2656            self.element.children_mut().push(ty.into());
2657            self
2658        }
2659        /// Append a new `PreformattedText` element
2660        pub fn preformatted_text<F>(&mut self, f: F) -> &mut Self
2661        where
2662            F: for<'a> FnOnce(
2663                &'a mut crate::generated::all::builders::PreformattedTextBuilder,
2664            ) -> &'a mut crate::generated::all::builders::PreformattedTextBuilder,
2665        {
2666            let ty: crate::generated::all::PreformattedText = Default::default();
2667            let mut ty_builder = crate::generated::all::builders::PreformattedTextBuilder::new(
2668                ty,
2669            );
2670            (f)(&mut ty_builder);
2671            let ty = ty_builder.build();
2672            self.element.children_mut().push(ty.into());
2673            self
2674        }
2675        /// Append a new `Progress` element
2676        pub fn progress<F>(&mut self, f: F) -> &mut Self
2677        where
2678            F: for<'a> FnOnce(
2679                &'a mut crate::generated::all::builders::ProgressBuilder,
2680            ) -> &'a mut crate::generated::all::builders::ProgressBuilder,
2681        {
2682            let ty: crate::generated::all::Progress = Default::default();
2683            let mut ty_builder = crate::generated::all::builders::ProgressBuilder::new(
2684                ty,
2685            );
2686            (f)(&mut ty_builder);
2687            let ty = ty_builder.build();
2688            self.element.children_mut().push(ty.into());
2689            self
2690        }
2691        /// Append a new `Quotation` element
2692        pub fn quotation<F>(&mut self, f: F) -> &mut Self
2693        where
2694            F: for<'a> FnOnce(
2695                &'a mut crate::generated::all::builders::QuotationBuilder,
2696            ) -> &'a mut crate::generated::all::builders::QuotationBuilder,
2697        {
2698            let ty: crate::generated::all::Quotation = Default::default();
2699            let mut ty_builder = crate::generated::all::builders::QuotationBuilder::new(
2700                ty,
2701            );
2702            (f)(&mut ty_builder);
2703            let ty = ty_builder.build();
2704            self.element.children_mut().push(ty.into());
2705            self
2706        }
2707        /// Append a new `RubyAnnotation` element
2708        pub fn ruby_annotation<F>(&mut self, f: F) -> &mut Self
2709        where
2710            F: for<'a> FnOnce(
2711                &'a mut crate::generated::all::builders::RubyAnnotationBuilder,
2712            ) -> &'a mut crate::generated::all::builders::RubyAnnotationBuilder,
2713        {
2714            let ty: crate::generated::all::RubyAnnotation = Default::default();
2715            let mut ty_builder = crate::generated::all::builders::RubyAnnotationBuilder::new(
2716                ty,
2717            );
2718            (f)(&mut ty_builder);
2719            let ty = ty_builder.build();
2720            self.element.children_mut().push(ty.into());
2721            self
2722        }
2723        /// Append a new `SampleOutput` element
2724        pub fn sample_output<F>(&mut self, f: F) -> &mut Self
2725        where
2726            F: for<'a> FnOnce(
2727                &'a mut crate::generated::all::builders::SampleOutputBuilder,
2728            ) -> &'a mut crate::generated::all::builders::SampleOutputBuilder,
2729        {
2730            let ty: crate::generated::all::SampleOutput = Default::default();
2731            let mut ty_builder = crate::generated::all::builders::SampleOutputBuilder::new(
2732                ty,
2733            );
2734            (f)(&mut ty_builder);
2735            let ty = ty_builder.build();
2736            self.element.children_mut().push(ty.into());
2737            self
2738        }
2739        /// Append a new `Script` element
2740        pub fn script<F>(&mut self, f: F) -> &mut Self
2741        where
2742            F: for<'a> FnOnce(
2743                &'a mut crate::generated::all::builders::ScriptBuilder,
2744            ) -> &'a mut crate::generated::all::builders::ScriptBuilder,
2745        {
2746            let ty: crate::generated::all::Script = Default::default();
2747            let mut ty_builder = crate::generated::all::builders::ScriptBuilder::new(ty);
2748            (f)(&mut ty_builder);
2749            let ty = ty_builder.build();
2750            self.element.children_mut().push(ty.into());
2751            self
2752        }
2753        /// Append a new `Search` element
2754        pub fn search<F>(&mut self, f: F) -> &mut Self
2755        where
2756            F: for<'a> FnOnce(
2757                &'a mut crate::generated::all::builders::SearchBuilder,
2758            ) -> &'a mut crate::generated::all::builders::SearchBuilder,
2759        {
2760            let ty: crate::generated::all::Search = Default::default();
2761            let mut ty_builder = crate::generated::all::builders::SearchBuilder::new(ty);
2762            (f)(&mut ty_builder);
2763            let ty = ty_builder.build();
2764            self.element.children_mut().push(ty.into());
2765            self
2766        }
2767        /// Append a new `Section` element
2768        pub fn section<F>(&mut self, f: F) -> &mut Self
2769        where
2770            F: for<'a> FnOnce(
2771                &'a mut crate::generated::all::builders::SectionBuilder,
2772            ) -> &'a mut crate::generated::all::builders::SectionBuilder,
2773        {
2774            let ty: crate::generated::all::Section = Default::default();
2775            let mut ty_builder = crate::generated::all::builders::SectionBuilder::new(
2776                ty,
2777            );
2778            (f)(&mut ty_builder);
2779            let ty = ty_builder.build();
2780            self.element.children_mut().push(ty.into());
2781            self
2782        }
2783        /// Append a new `Select` element
2784        pub fn select<F>(&mut self, f: F) -> &mut Self
2785        where
2786            F: for<'a> FnOnce(
2787                &'a mut crate::generated::all::builders::SelectBuilder,
2788            ) -> &'a mut crate::generated::all::builders::SelectBuilder,
2789        {
2790            let ty: crate::generated::all::Select = Default::default();
2791            let mut ty_builder = crate::generated::all::builders::SelectBuilder::new(ty);
2792            (f)(&mut ty_builder);
2793            let ty = ty_builder.build();
2794            self.element.children_mut().push(ty.into());
2795            self
2796        }
2797        /// Append a new `SideComment` element
2798        pub fn side_comment<F>(&mut self, f: F) -> &mut Self
2799        where
2800            F: for<'a> FnOnce(
2801                &'a mut crate::generated::all::builders::SideCommentBuilder,
2802            ) -> &'a mut crate::generated::all::builders::SideCommentBuilder,
2803        {
2804            let ty: crate::generated::all::SideComment = Default::default();
2805            let mut ty_builder = crate::generated::all::builders::SideCommentBuilder::new(
2806                ty,
2807            );
2808            (f)(&mut ty_builder);
2809            let ty = ty_builder.build();
2810            self.element.children_mut().push(ty.into());
2811            self
2812        }
2813        /// Append a new `Slot` element
2814        pub fn slot<F>(&mut self, f: F) -> &mut Self
2815        where
2816            F: for<'a> FnOnce(
2817                &'a mut crate::generated::all::builders::SlotBuilder,
2818            ) -> &'a mut crate::generated::all::builders::SlotBuilder,
2819        {
2820            let ty: crate::generated::all::Slot = Default::default();
2821            let mut ty_builder = crate::generated::all::builders::SlotBuilder::new(ty);
2822            (f)(&mut ty_builder);
2823            let ty = ty_builder.build();
2824            self.element.children_mut().push(ty.into());
2825            self
2826        }
2827        /// Append a new `Span` element
2828        pub fn span<F>(&mut self, f: F) -> &mut Self
2829        where
2830            F: for<'a> FnOnce(
2831                &'a mut crate::generated::all::builders::SpanBuilder,
2832            ) -> &'a mut crate::generated::all::builders::SpanBuilder,
2833        {
2834            let ty: crate::generated::all::Span = Default::default();
2835            let mut ty_builder = crate::generated::all::builders::SpanBuilder::new(ty);
2836            (f)(&mut ty_builder);
2837            let ty = ty_builder.build();
2838            self.element.children_mut().push(ty.into());
2839            self
2840        }
2841        /// Append a new `StrikeThrough` element
2842        pub fn strike_through<F>(&mut self, f: F) -> &mut Self
2843        where
2844            F: for<'a> FnOnce(
2845                &'a mut crate::generated::all::builders::StrikeThroughBuilder,
2846            ) -> &'a mut crate::generated::all::builders::StrikeThroughBuilder,
2847        {
2848            let ty: crate::generated::all::StrikeThrough = Default::default();
2849            let mut ty_builder = crate::generated::all::builders::StrikeThroughBuilder::new(
2850                ty,
2851            );
2852            (f)(&mut ty_builder);
2853            let ty = ty_builder.build();
2854            self.element.children_mut().push(ty.into());
2855            self
2856        }
2857        /// Append a new `Strong` element
2858        pub fn strong<F>(&mut self, f: F) -> &mut Self
2859        where
2860            F: for<'a> FnOnce(
2861                &'a mut crate::generated::all::builders::StrongBuilder,
2862            ) -> &'a mut crate::generated::all::builders::StrongBuilder,
2863        {
2864            let ty: crate::generated::all::Strong = Default::default();
2865            let mut ty_builder = crate::generated::all::builders::StrongBuilder::new(ty);
2866            (f)(&mut ty_builder);
2867            let ty = ty_builder.build();
2868            self.element.children_mut().push(ty.into());
2869            self
2870        }
2871        /// Append a new `SubScript` element
2872        pub fn sub_script<F>(&mut self, f: F) -> &mut Self
2873        where
2874            F: for<'a> FnOnce(
2875                &'a mut crate::generated::all::builders::SubScriptBuilder,
2876            ) -> &'a mut crate::generated::all::builders::SubScriptBuilder,
2877        {
2878            let ty: crate::generated::all::SubScript = Default::default();
2879            let mut ty_builder = crate::generated::all::builders::SubScriptBuilder::new(
2880                ty,
2881            );
2882            (f)(&mut ty_builder);
2883            let ty = ty_builder.build();
2884            self.element.children_mut().push(ty.into());
2885            self
2886        }
2887        /// Append a new `SuperScript` element
2888        pub fn super_script<F>(&mut self, f: F) -> &mut Self
2889        where
2890            F: for<'a> FnOnce(
2891                &'a mut crate::generated::all::builders::SuperScriptBuilder,
2892            ) -> &'a mut crate::generated::all::builders::SuperScriptBuilder,
2893        {
2894            let ty: crate::generated::all::SuperScript = Default::default();
2895            let mut ty_builder = crate::generated::all::builders::SuperScriptBuilder::new(
2896                ty,
2897            );
2898            (f)(&mut ty_builder);
2899            let ty = ty_builder.build();
2900            self.element.children_mut().push(ty.into());
2901            self
2902        }
2903        /// Append a new `Table` element
2904        pub fn table<F>(&mut self, f: F) -> &mut Self
2905        where
2906            F: for<'a> FnOnce(
2907                &'a mut crate::generated::all::builders::TableBuilder,
2908            ) -> &'a mut crate::generated::all::builders::TableBuilder,
2909        {
2910            let ty: crate::generated::all::Table = Default::default();
2911            let mut ty_builder = crate::generated::all::builders::TableBuilder::new(ty);
2912            (f)(&mut ty_builder);
2913            let ty = ty_builder.build();
2914            self.element.children_mut().push(ty.into());
2915            self
2916        }
2917        /// Append a new `Template` element
2918        pub fn template<F>(&mut self, f: F) -> &mut Self
2919        where
2920            F: for<'a> FnOnce(
2921                &'a mut crate::generated::all::builders::TemplateBuilder,
2922            ) -> &'a mut crate::generated::all::builders::TemplateBuilder,
2923        {
2924            let ty: crate::generated::all::Template = Default::default();
2925            let mut ty_builder = crate::generated::all::builders::TemplateBuilder::new(
2926                ty,
2927            );
2928            (f)(&mut ty_builder);
2929            let ty = ty_builder.build();
2930            self.element.children_mut().push(ty.into());
2931            self
2932        }
2933        /// Append a new text element.
2934        pub fn text(
2935            &mut self,
2936            s: impl Into<std::borrow::Cow<'static, str>>,
2937        ) -> &mut Self {
2938            let cow = s.into();
2939            self.element.children_mut().push(cow.into());
2940            self
2941        }
2942        /// Append a new `TextArea` element
2943        pub fn text_area<F>(&mut self, f: F) -> &mut Self
2944        where
2945            F: for<'a> FnOnce(
2946                &'a mut crate::generated::all::builders::TextAreaBuilder,
2947            ) -> &'a mut crate::generated::all::builders::TextAreaBuilder,
2948        {
2949            let ty: crate::generated::all::TextArea = Default::default();
2950            let mut ty_builder = crate::generated::all::builders::TextAreaBuilder::new(
2951                ty,
2952            );
2953            (f)(&mut ty_builder);
2954            let ty = ty_builder.build();
2955            self.element.children_mut().push(ty.into());
2956            self
2957        }
2958        /// Append a new `ThematicBreak` element
2959        pub fn thematic_break<F>(&mut self, f: F) -> &mut Self
2960        where
2961            F: for<'a> FnOnce(
2962                &'a mut crate::generated::all::builders::ThematicBreakBuilder,
2963            ) -> &'a mut crate::generated::all::builders::ThematicBreakBuilder,
2964        {
2965            let ty: crate::generated::all::ThematicBreak = Default::default();
2966            let mut ty_builder = crate::generated::all::builders::ThematicBreakBuilder::new(
2967                ty,
2968            );
2969            (f)(&mut ty_builder);
2970            let ty = ty_builder.build();
2971            self.element.children_mut().push(ty.into());
2972            self
2973        }
2974        /// Append a new `Time` element
2975        pub fn time<F>(&mut self, f: F) -> &mut Self
2976        where
2977            F: for<'a> FnOnce(
2978                &'a mut crate::generated::all::builders::TimeBuilder,
2979            ) -> &'a mut crate::generated::all::builders::TimeBuilder,
2980        {
2981            let ty: crate::generated::all::Time = Default::default();
2982            let mut ty_builder = crate::generated::all::builders::TimeBuilder::new(ty);
2983            (f)(&mut ty_builder);
2984            let ty = ty_builder.build();
2985            self.element.children_mut().push(ty.into());
2986            self
2987        }
2988        /// Append a new `Underline` element
2989        pub fn underline<F>(&mut self, f: F) -> &mut Self
2990        where
2991            F: for<'a> FnOnce(
2992                &'a mut crate::generated::all::builders::UnderlineBuilder,
2993            ) -> &'a mut crate::generated::all::builders::UnderlineBuilder,
2994        {
2995            let ty: crate::generated::all::Underline = Default::default();
2996            let mut ty_builder = crate::generated::all::builders::UnderlineBuilder::new(
2997                ty,
2998            );
2999            (f)(&mut ty_builder);
3000            let ty = ty_builder.build();
3001            self.element.children_mut().push(ty.into());
3002            self
3003        }
3004        /// Append a new `UnorderedList` element
3005        pub fn unordered_list<F>(&mut self, f: F) -> &mut Self
3006        where
3007            F: for<'a> FnOnce(
3008                &'a mut crate::generated::all::builders::UnorderedListBuilder,
3009            ) -> &'a mut crate::generated::all::builders::UnorderedListBuilder,
3010        {
3011            let ty: crate::generated::all::UnorderedList = Default::default();
3012            let mut ty_builder = crate::generated::all::builders::UnorderedListBuilder::new(
3013                ty,
3014            );
3015            (f)(&mut ty_builder);
3016            let ty = ty_builder.build();
3017            self.element.children_mut().push(ty.into());
3018            self
3019        }
3020        /// Append a new `Variable` element
3021        pub fn variable<F>(&mut self, f: F) -> &mut Self
3022        where
3023            F: for<'a> FnOnce(
3024                &'a mut crate::generated::all::builders::VariableBuilder,
3025            ) -> &'a mut crate::generated::all::builders::VariableBuilder,
3026        {
3027            let ty: crate::generated::all::Variable = Default::default();
3028            let mut ty_builder = crate::generated::all::builders::VariableBuilder::new(
3029                ty,
3030            );
3031            (f)(&mut ty_builder);
3032            let ty = ty_builder.build();
3033            self.element.children_mut().push(ty.into());
3034            self
3035        }
3036        /// Append a new `Video` element
3037        pub fn video<F>(&mut self, f: F) -> &mut Self
3038        where
3039            F: for<'a> FnOnce(
3040                &'a mut crate::generated::all::builders::VideoBuilder,
3041            ) -> &'a mut crate::generated::all::builders::VideoBuilder,
3042        {
3043            let ty: crate::generated::all::Video = Default::default();
3044            let mut ty_builder = crate::generated::all::builders::VideoBuilder::new(ty);
3045            (f)(&mut ty_builder);
3046            let ty = ty_builder.build();
3047            self.element.children_mut().push(ty.into());
3048            self
3049        }
3050        /// Set the value of the `value` attribute
3051        pub fn value(
3052            &mut self,
3053            value: impl Into<std::borrow::Cow<'static, str>>,
3054        ) -> &mut Self {
3055            self.element.set_value(Some(value.into()));
3056            self
3057        }
3058        /// Set the value of the `role` attribute
3059        pub fn role(
3060            &mut self,
3061            value: impl Into<std::borrow::Cow<'static, str>>,
3062        ) -> &mut Self {
3063            self.element.set_role(Some(value.into()));
3064            self
3065        }
3066        /// Set the value of the `aria-activedescendant` attribute
3067        pub fn aria_active_descendant_element(
3068            &mut self,
3069            value: impl Into<std::borrow::Cow<'static, str>>,
3070        ) -> &mut Self {
3071            self.element.set_aria_active_descendant_element(Some(value.into()));
3072            self
3073        }
3074        /// Set the value of the `aria-atomic` attribute
3075        pub fn aria_atomic(&mut self, value: bool) -> &mut Self {
3076            self.element.set_aria_atomic(value);
3077            self
3078        }
3079        /// Set the value of the `aria-autocomplete` attribute
3080        pub fn aria_auto_complete(
3081            &mut self,
3082            value: impl Into<std::borrow::Cow<'static, str>>,
3083        ) -> &mut Self {
3084            self.element.set_aria_auto_complete(Some(value.into()));
3085            self
3086        }
3087        /// Set the value of the `aria-braillelabel` attribute
3088        pub fn aria_braille_label(
3089            &mut self,
3090            value: impl Into<std::borrow::Cow<'static, str>>,
3091        ) -> &mut Self {
3092            self.element.set_aria_braille_label(Some(value.into()));
3093            self
3094        }
3095        /// Set the value of the `aria-brailleroledescription` attribute
3096        pub fn aria_braille_role_description(
3097            &mut self,
3098            value: impl Into<std::borrow::Cow<'static, str>>,
3099        ) -> &mut Self {
3100            self.element.set_aria_braille_role_description(Some(value.into()));
3101            self
3102        }
3103        /// Set the value of the `aria-busy` attribute
3104        pub fn aria_busy(&mut self, value: bool) -> &mut Self {
3105            self.element.set_aria_busy(value);
3106            self
3107        }
3108        /// Set the value of the `aria-checked` attribute
3109        pub fn aria_checked(
3110            &mut self,
3111            value: impl Into<std::borrow::Cow<'static, str>>,
3112        ) -> &mut Self {
3113            self.element.set_aria_checked(Some(value.into()));
3114            self
3115        }
3116        /// Set the value of the `aria-colcount` attribute
3117        pub fn aria_col_count(&mut self, value: i64) -> &mut Self {
3118            self.element.set_aria_col_count(Some(value));
3119            self
3120        }
3121        /// Set the value of the `aria-colindex` attribute
3122        pub fn aria_col_index(&mut self, value: i64) -> &mut Self {
3123            self.element.set_aria_col_index(Some(value));
3124            self
3125        }
3126        /// Set the value of the `aria-colindextext` attribute
3127        pub fn aria_col_index_text(
3128            &mut self,
3129            value: impl Into<std::borrow::Cow<'static, str>>,
3130        ) -> &mut Self {
3131            self.element.set_aria_col_index_text(Some(value.into()));
3132            self
3133        }
3134        /// Set the value of the `aria-colspan` attribute
3135        pub fn aria_col_span(&mut self, value: i64) -> &mut Self {
3136            self.element.set_aria_col_span(Some(value));
3137            self
3138        }
3139        /// Set the value of the `aria-controls` attribute
3140        pub fn aria_controls_elements(
3141            &mut self,
3142            value: impl Into<std::borrow::Cow<'static, str>>,
3143        ) -> &mut Self {
3144            self.element.set_aria_controls_elements(Some(value.into()));
3145            self
3146        }
3147        /// Set the value of the `aria-current` attribute
3148        pub fn aria_current(
3149            &mut self,
3150            value: impl Into<std::borrow::Cow<'static, str>>,
3151        ) -> &mut Self {
3152            self.element.set_aria_current(Some(value.into()));
3153            self
3154        }
3155        /// Set the value of the `aria-describedby` attribute
3156        pub fn aria_described_by_elements(
3157            &mut self,
3158            value: impl Into<std::borrow::Cow<'static, str>>,
3159        ) -> &mut Self {
3160            self.element.set_aria_described_by_elements(Some(value.into()));
3161            self
3162        }
3163        /// Set the value of the `aria-description` attribute
3164        pub fn aria_description(
3165            &mut self,
3166            value: impl Into<std::borrow::Cow<'static, str>>,
3167        ) -> &mut Self {
3168            self.element.set_aria_description(Some(value.into()));
3169            self
3170        }
3171        /// Set the value of the `aria-details` attribute
3172        pub fn aria_details_elements(
3173            &mut self,
3174            value: impl Into<std::borrow::Cow<'static, str>>,
3175        ) -> &mut Self {
3176            self.element.set_aria_details_elements(Some(value.into()));
3177            self
3178        }
3179        /// Set the value of the `aria-disabled` attribute
3180        pub fn aria_disabled(&mut self, value: bool) -> &mut Self {
3181            self.element.set_aria_disabled(value);
3182            self
3183        }
3184        /// Set the value of the `aria-dropeffect` attribute
3185        pub fn aria_drop_effect(
3186            &mut self,
3187            value: impl Into<std::borrow::Cow<'static, str>>,
3188        ) -> &mut Self {
3189            self.element.set_aria_drop_effect(Some(value.into()));
3190            self
3191        }
3192        /// Set the value of the `aria-errormessage` attribute
3193        pub fn aria_error_message_elements(
3194            &mut self,
3195            value: impl Into<std::borrow::Cow<'static, str>>,
3196        ) -> &mut Self {
3197            self.element.set_aria_error_message_elements(Some(value.into()));
3198            self
3199        }
3200        /// Set the value of the `aria-expanded` attribute
3201        pub fn aria_expanded(&mut self, value: bool) -> &mut Self {
3202            self.element.set_aria_expanded(value);
3203            self
3204        }
3205        /// Set the value of the `aria-flowto` attribute
3206        pub fn aria_flow_to_elements(
3207            &mut self,
3208            value: impl Into<std::borrow::Cow<'static, str>>,
3209        ) -> &mut Self {
3210            self.element.set_aria_flow_to_elements(Some(value.into()));
3211            self
3212        }
3213        /// Set the value of the `aria-grabbed` attribute
3214        pub fn aria_grabbed(&mut self, value: bool) -> &mut Self {
3215            self.element.set_aria_grabbed(value);
3216            self
3217        }
3218        /// Set the value of the `aria-haspopup` attribute
3219        pub fn aria_has_popup(
3220            &mut self,
3221            value: impl Into<std::borrow::Cow<'static, str>>,
3222        ) -> &mut Self {
3223            self.element.set_aria_has_popup(Some(value.into()));
3224            self
3225        }
3226        /// Set the value of the `aria-hidden` attribute
3227        pub fn aria_hidden(&mut self, value: bool) -> &mut Self {
3228            self.element.set_aria_hidden(value);
3229            self
3230        }
3231        /// Set the value of the `aria-invalid` attribute
3232        pub fn aria_invalid(
3233            &mut self,
3234            value: impl Into<std::borrow::Cow<'static, str>>,
3235        ) -> &mut Self {
3236            self.element.set_aria_invalid(Some(value.into()));
3237            self
3238        }
3239        /// Set the value of the `aria-keyshortcuts` attribute
3240        pub fn aria_key_shortcuts(
3241            &mut self,
3242            value: impl Into<std::borrow::Cow<'static, str>>,
3243        ) -> &mut Self {
3244            self.element.set_aria_key_shortcuts(Some(value.into()));
3245            self
3246        }
3247        /// Set the value of the `aria-label` attribute
3248        pub fn aria_label(
3249            &mut self,
3250            value: impl Into<std::borrow::Cow<'static, str>>,
3251        ) -> &mut Self {
3252            self.element.set_aria_label(Some(value.into()));
3253            self
3254        }
3255        /// Set the value of the `aria-labelledby` attribute
3256        pub fn aria_labelled_by_elements(
3257            &mut self,
3258            value: impl Into<std::borrow::Cow<'static, str>>,
3259        ) -> &mut Self {
3260            self.element.set_aria_labelled_by_elements(Some(value.into()));
3261            self
3262        }
3263        /// Set the value of the `aria-level` attribute
3264        pub fn aria_level(&mut self, value: i64) -> &mut Self {
3265            self.element.set_aria_level(Some(value));
3266            self
3267        }
3268        /// Set the value of the `aria-live` attribute
3269        pub fn aria_live(
3270            &mut self,
3271            value: impl Into<std::borrow::Cow<'static, str>>,
3272        ) -> &mut Self {
3273            self.element.set_aria_live(Some(value.into()));
3274            self
3275        }
3276        /// Set the value of the `aria-modal` attribute
3277        pub fn aria_modal(&mut self, value: bool) -> &mut Self {
3278            self.element.set_aria_modal(value);
3279            self
3280        }
3281        /// Set the value of the `aria-multiline` attribute
3282        pub fn aria_multi_line(&mut self, value: bool) -> &mut Self {
3283            self.element.set_aria_multi_line(value);
3284            self
3285        }
3286        /// Set the value of the `aria-multiselectable` attribute
3287        pub fn aria_multi_selectable(&mut self, value: bool) -> &mut Self {
3288            self.element.set_aria_multi_selectable(value);
3289            self
3290        }
3291        /// Set the value of the `aria-orientation` attribute
3292        pub fn aria_orientation(
3293            &mut self,
3294            value: impl Into<std::borrow::Cow<'static, str>>,
3295        ) -> &mut Self {
3296            self.element.set_aria_orientation(Some(value.into()));
3297            self
3298        }
3299        /// Set the value of the `aria-owns` attribute
3300        pub fn aria_owns_elements(
3301            &mut self,
3302            value: impl Into<std::borrow::Cow<'static, str>>,
3303        ) -> &mut Self {
3304            self.element.set_aria_owns_elements(Some(value.into()));
3305            self
3306        }
3307        /// Set the value of the `aria-placeholder` attribute
3308        pub fn aria_placeholder(
3309            &mut self,
3310            value: impl Into<std::borrow::Cow<'static, str>>,
3311        ) -> &mut Self {
3312            self.element.set_aria_placeholder(Some(value.into()));
3313            self
3314        }
3315        /// Set the value of the `aria-posinset` attribute
3316        pub fn aria_pos_in_set(&mut self, value: i64) -> &mut Self {
3317            self.element.set_aria_pos_in_set(Some(value));
3318            self
3319        }
3320        /// Set the value of the `aria-pressed` attribute
3321        pub fn aria_pressed(
3322            &mut self,
3323            value: impl Into<std::borrow::Cow<'static, str>>,
3324        ) -> &mut Self {
3325            self.element.set_aria_pressed(Some(value.into()));
3326            self
3327        }
3328        /// Set the value of the `aria-readonly` attribute
3329        pub fn aria_read_only(&mut self, value: bool) -> &mut Self {
3330            self.element.set_aria_read_only(value);
3331            self
3332        }
3333        /// Set the value of the `aria-relevant` attribute
3334        pub fn aria_relevant(
3335            &mut self,
3336            value: impl Into<std::borrow::Cow<'static, str>>,
3337        ) -> &mut Self {
3338            self.element.set_aria_relevant(Some(value.into()));
3339            self
3340        }
3341        /// Set the value of the `aria-required` attribute
3342        pub fn aria_required(&mut self, value: bool) -> &mut Self {
3343            self.element.set_aria_required(value);
3344            self
3345        }
3346        /// Set the value of the `aria-roledescription` attribute
3347        pub fn aria_role_description(
3348            &mut self,
3349            value: impl Into<std::borrow::Cow<'static, str>>,
3350        ) -> &mut Self {
3351            self.element.set_aria_role_description(Some(value.into()));
3352            self
3353        }
3354        /// Set the value of the `aria-rowcount` attribute
3355        pub fn aria_row_count(&mut self, value: i64) -> &mut Self {
3356            self.element.set_aria_row_count(Some(value));
3357            self
3358        }
3359        /// Set the value of the `aria-rowindex` attribute
3360        pub fn aria_row_index(&mut self, value: i64) -> &mut Self {
3361            self.element.set_aria_row_index(Some(value));
3362            self
3363        }
3364        /// Set the value of the `aria-rowindextext` attribute
3365        pub fn aria_row_index_text(
3366            &mut self,
3367            value: impl Into<std::borrow::Cow<'static, str>>,
3368        ) -> &mut Self {
3369            self.element.set_aria_row_index_text(Some(value.into()));
3370            self
3371        }
3372        /// Set the value of the `aria-rowspan` attribute
3373        pub fn aria_row_span(&mut self, value: i64) -> &mut Self {
3374            self.element.set_aria_row_span(Some(value));
3375            self
3376        }
3377        /// Set the value of the `aria-selected` attribute
3378        pub fn aria_selected(&mut self, value: bool) -> &mut Self {
3379            self.element.set_aria_selected(value);
3380            self
3381        }
3382        /// Set the value of the `aria-setsize` attribute
3383        pub fn aria_set_size(&mut self, value: i64) -> &mut Self {
3384            self.element.set_aria_set_size(Some(value));
3385            self
3386        }
3387        /// Set the value of the `aria-sort` attribute
3388        pub fn aria_sort(
3389            &mut self,
3390            value: impl Into<std::borrow::Cow<'static, str>>,
3391        ) -> &mut Self {
3392            self.element.set_aria_sort(Some(value.into()));
3393            self
3394        }
3395        /// Set the value of the `aria-valuemax` attribute
3396        pub fn aria_value_max(&mut self, value: f64) -> &mut Self {
3397            self.element.set_aria_value_max(Some(value));
3398            self
3399        }
3400        /// Set the value of the `aria-valuemin` attribute
3401        pub fn aria_value_min(&mut self, value: f64) -> &mut Self {
3402            self.element.set_aria_value_min(Some(value));
3403            self
3404        }
3405        /// Set the value of the `aria-valuenow` attribute
3406        pub fn aria_value_now(&mut self, value: f64) -> &mut Self {
3407            self.element.set_aria_value_now(Some(value));
3408            self
3409        }
3410        /// Set the value of the `aria-valuetext` attribute
3411        pub fn aria_value_text(
3412            &mut self,
3413            value: impl Into<std::borrow::Cow<'static, str>>,
3414        ) -> &mut Self {
3415            self.element.set_aria_value_text(Some(value.into()));
3416            self
3417        }
3418        /// Set the value of the `accesskey` attribute
3419        pub fn access_key(
3420            &mut self,
3421            value: impl Into<std::borrow::Cow<'static, str>>,
3422        ) -> &mut Self {
3423            self.element.set_access_key(Some(value.into()));
3424            self
3425        }
3426        /// Set the value of the `autocapitalize` attribute
3427        pub fn auto_capitalize(
3428            &mut self,
3429            value: impl Into<std::borrow::Cow<'static, str>>,
3430        ) -> &mut Self {
3431            self.element.set_auto_capitalize(Some(value.into()));
3432            self
3433        }
3434        /// Set the value of the `autofocus` attribute
3435        pub fn autofocus(&mut self, value: bool) -> &mut Self {
3436            self.element.set_autofocus(value);
3437            self
3438        }
3439        /// Set the value of the `class` attribute
3440        pub fn class(
3441            &mut self,
3442            value: impl Into<std::borrow::Cow<'static, str>>,
3443        ) -> &mut Self {
3444            self.element.set_class(Some(value.into()));
3445            self
3446        }
3447        /// Set the value of the `contenteditable` attribute
3448        pub fn content_editable(
3449            &mut self,
3450            value: impl Into<std::borrow::Cow<'static, str>>,
3451        ) -> &mut Self {
3452            self.element.set_content_editable(Some(value.into()));
3453            self
3454        }
3455        /// Set the value of the `dir` attribute
3456        pub fn direction(
3457            &mut self,
3458            value: impl Into<std::borrow::Cow<'static, str>>,
3459        ) -> &mut Self {
3460            self.element.set_direction(Some(value.into()));
3461            self
3462        }
3463        /// Set the value of the `draggable` attribute
3464        pub fn draggable(&mut self, value: bool) -> &mut Self {
3465            self.element.set_draggable(value);
3466            self
3467        }
3468        /// Set the value of the `enterkeyhint` attribute
3469        pub fn enter_key_hint(
3470            &mut self,
3471            value: impl Into<std::borrow::Cow<'static, str>>,
3472        ) -> &mut Self {
3473            self.element.set_enter_key_hint(Some(value.into()));
3474            self
3475        }
3476        /// Set the value of the `exportparts` attribute
3477        pub fn export_parts(
3478            &mut self,
3479            value: impl Into<std::borrow::Cow<'static, str>>,
3480        ) -> &mut Self {
3481            self.element.set_export_parts(Some(value.into()));
3482            self
3483        }
3484        /// Set the value of the `hidden` attribute
3485        pub fn hidden(
3486            &mut self,
3487            value: impl Into<std::borrow::Cow<'static, str>>,
3488        ) -> &mut Self {
3489            self.element.set_hidden(Some(value.into()));
3490            self
3491        }
3492        /// Set the value of the `id` attribute
3493        pub fn id(
3494            &mut self,
3495            value: impl Into<std::borrow::Cow<'static, str>>,
3496        ) -> &mut Self {
3497            self.element.set_id(Some(value.into()));
3498            self
3499        }
3500        /// Set the value of the `inert` attribute
3501        pub fn inert(&mut self, value: bool) -> &mut Self {
3502            self.element.set_inert(value);
3503            self
3504        }
3505        /// Set the value of the `inputmode` attribute
3506        pub fn input_mode(
3507            &mut self,
3508            value: impl Into<std::borrow::Cow<'static, str>>,
3509        ) -> &mut Self {
3510            self.element.set_input_mode(Some(value.into()));
3511            self
3512        }
3513        /// Set the value of the `is` attribute
3514        pub fn is_(
3515            &mut self,
3516            value: impl Into<std::borrow::Cow<'static, str>>,
3517        ) -> &mut Self {
3518            self.element.set_is_(Some(value.into()));
3519            self
3520        }
3521        /// Set the value of the `itemid` attribute
3522        pub fn item_id(
3523            &mut self,
3524            value: impl Into<std::borrow::Cow<'static, str>>,
3525        ) -> &mut Self {
3526            self.element.set_item_id(Some(value.into()));
3527            self
3528        }
3529        /// Set the value of the `itemprop` attribute
3530        pub fn item_prop(
3531            &mut self,
3532            value: impl Into<std::borrow::Cow<'static, str>>,
3533        ) -> &mut Self {
3534            self.element.set_item_prop(Some(value.into()));
3535            self
3536        }
3537        /// Set the value of the `itemref` attribute
3538        pub fn item_ref(
3539            &mut self,
3540            value: impl Into<std::borrow::Cow<'static, str>>,
3541        ) -> &mut Self {
3542            self.element.set_item_ref(Some(value.into()));
3543            self
3544        }
3545        /// Set the value of the `itemscope` attribute
3546        pub fn item_scope(
3547            &mut self,
3548            value: impl Into<std::borrow::Cow<'static, str>>,
3549        ) -> &mut Self {
3550            self.element.set_item_scope(Some(value.into()));
3551            self
3552        }
3553        /// Set the value of the `itemtype` attribute
3554        pub fn item_type(
3555            &mut self,
3556            value: impl Into<std::borrow::Cow<'static, str>>,
3557        ) -> &mut Self {
3558            self.element.set_item_type(Some(value.into()));
3559            self
3560        }
3561        /// Set the value of the `lang` attribute
3562        pub fn lang(
3563            &mut self,
3564            value: impl Into<std::borrow::Cow<'static, str>>,
3565        ) -> &mut Self {
3566            self.element.set_lang(Some(value.into()));
3567            self
3568        }
3569        /// Set the value of the `nonce` attribute
3570        pub fn nonce(
3571            &mut self,
3572            value: impl Into<std::borrow::Cow<'static, str>>,
3573        ) -> &mut Self {
3574            self.element.set_nonce(Some(value.into()));
3575            self
3576        }
3577        /// Set the value of the `part` attribute
3578        pub fn part(
3579            &mut self,
3580            value: impl Into<std::borrow::Cow<'static, str>>,
3581        ) -> &mut Self {
3582            self.element.set_part(Some(value.into()));
3583            self
3584        }
3585        /// Set the value of the `slot` attribute
3586        pub fn slot_attr(
3587            &mut self,
3588            value: impl Into<std::borrow::Cow<'static, str>>,
3589        ) -> &mut Self {
3590            self.element.set_slot(Some(value.into()));
3591            self
3592        }
3593        /// Set the value of the `spellcheck` attribute
3594        pub fn spellcheck(
3595            &mut self,
3596            value: impl Into<std::borrow::Cow<'static, str>>,
3597        ) -> &mut Self {
3598            self.element.set_spellcheck(Some(value.into()));
3599            self
3600        }
3601        /// Set the value of the `style` attribute
3602        pub fn style(
3603            &mut self,
3604            value: impl Into<std::borrow::Cow<'static, str>>,
3605        ) -> &mut Self {
3606            self.element.set_style(Some(value.into()));
3607            self
3608        }
3609        /// Set the value of the `tabindex` attribute
3610        pub fn tab_index(&mut self, value: i64) -> &mut Self {
3611            self.element.set_tab_index(Some(value));
3612            self
3613        }
3614        /// Set the value of the `title` attribute
3615        pub fn title(
3616            &mut self,
3617            value: impl Into<std::borrow::Cow<'static, str>>,
3618        ) -> &mut Self {
3619            self.element.set_title(Some(value.into()));
3620            self
3621        }
3622        /// Set the value of the `translate` attribute
3623        pub fn translate(&mut self, value: bool) -> &mut Self {
3624            self.element.set_translate(value);
3625            self
3626        }
3627        /// Push a new child element to the list of children.
3628        pub fn push<T>(&mut self, child_el: T) -> &mut Self
3629        where
3630            T: Into<crate::generated::all::children::ListItemChild>,
3631        {
3632            let child_el = child_el.into();
3633            self.element.children_mut().push(child_el);
3634            self
3635        }
3636        /// Extend the list of children with an iterator of child elements.
3637        pub fn extend<I, T>(&mut self, iter: I) -> &mut Self
3638        where
3639            I: IntoIterator<Item = T>,
3640            T: Into<crate::generated::all::children::ListItemChild>,
3641        {
3642            let iter = iter.into_iter().map(|child_el| child_el.into());
3643            self.element.children_mut().extend(iter);
3644            self
3645        }
3646    }
3647}