html/generated/
section.rs

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