html/generated/
header.rs

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