html/generated/
canvas.rs

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