html/generated/
dialog.rs

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