html/generated/
output.rs

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