html/generated/
details.rs

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