html/generated/
pre.rs

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