html/generated/
p.rs

1pub mod element {
2    /// The HTML `<p>` element
3    ///
4    /// [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/p)
5    #[doc(alias = "p")]
6    #[non_exhaustive]
7    #[derive(PartialEq, Clone, Default)]
8    pub struct Paragraph {
9        sys: html_sys::text::Paragraph,
10        children: Vec<super::child::ParagraphChild>,
11    }
12    impl Paragraph {
13        /// Create a new builder
14        pub fn builder() -> super::builder::ParagraphBuilder {
15            super::builder::ParagraphBuilder::new(Default::default())
16        }
17    }
18    impl Paragraph {
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 Paragraph {
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 Paragraph {
813        /// Access the element's children
814        pub fn children(&self) -> &[super::child::ParagraphChild] {
815            self.children.as_ref()
816        }
817        /// Mutably access the element's children
818        pub fn children_mut(&mut self) -> &mut Vec<super::child::ParagraphChild> {
819            &mut self.children
820        }
821    }
822    impl crate::Render for Paragraph {
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            if !self.children.is_empty() {
831                write!(f, "\n")?;
832            }
833            for el in &self.children {
834                crate::Render::render(&el, f, depth)?;
835                write!(f, "\n")?;
836            }
837            write!(f, "{:level$}", "", level = depth * 4)?;
838            html_sys::RenderElement::write_closing_tag(&self.sys, f)?;
839            Ok(())
840        }
841    }
842    impl std::fmt::Debug for Paragraph {
843        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
844            crate::Render::render(self, f, 0)?;
845            Ok(())
846        }
847    }
848    impl std::fmt::Display for Paragraph {
849        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
850            html_sys::RenderElement::write_opening_tag(&self.sys, f)?;
851            for el in &self.children {
852                write!(f, "{el}")?;
853            }
854            html_sys::RenderElement::write_closing_tag(&self.sys, f)?;
855            Ok(())
856        }
857    }
858    impl crate::HtmlElement for Paragraph {}
859    impl crate::FlowContent for Paragraph {}
860    impl crate::PalpableContent for Paragraph {}
861    impl std::convert::Into<html_sys::text::Paragraph> for Paragraph {
862        fn into(self) -> html_sys::text::Paragraph {
863            self.sys
864        }
865    }
866    impl From<html_sys::text::Paragraph> for Paragraph {
867        fn from(sys: html_sys::text::Paragraph) -> Self {
868            Self { sys, children: vec![] }
869        }
870    }
871}
872pub mod child {
873    /// The permitted child items for the `Paragraph` element
874    #[derive(PartialEq, Clone)]
875    pub enum ParagraphChild {
876        /// The Abbreviation element
877        Abbreviation(crate::generated::all::Abbreviation),
878        /// The Anchor element
879        Anchor(crate::generated::all::Anchor),
880        /// The Audio element
881        Audio(crate::generated::all::Audio),
882        /// The BidirectionalIsolate element
883        BidirectionalIsolate(crate::generated::all::BidirectionalIsolate),
884        /// The BidirectionalTextOverride element
885        BidirectionalTextOverride(crate::generated::all::BidirectionalTextOverride),
886        /// The Bold element
887        Bold(crate::generated::all::Bold),
888        /// The Button element
889        Button(crate::generated::all::Button),
890        /// The Canvas element
891        Canvas(crate::generated::all::Canvas),
892        /// The Cite element
893        Cite(crate::generated::all::Cite),
894        /// The Code element
895        Code(crate::generated::all::Code),
896        /// The Data element
897        Data(crate::generated::all::Data),
898        /// The DataList element
899        DataList(crate::generated::all::DataList),
900        /// The Definition element
901        Definition(crate::generated::all::Definition),
902        /// The DeletedText element
903        DeletedText(crate::generated::all::DeletedText),
904        /// The Embed element
905        Embed(crate::generated::all::Embed),
906        /// The Emphasis element
907        Emphasis(crate::generated::all::Emphasis),
908        /// The Iframe element
909        Iframe(crate::generated::all::Iframe),
910        /// The Image element
911        Image(crate::generated::all::Image),
912        /// The ImageMap element
913        ImageMap(crate::generated::all::ImageMap),
914        /// The ImageMapArea element
915        ImageMapArea(crate::generated::all::ImageMapArea),
916        /// The Input element
917        Input(crate::generated::all::Input),
918        /// The InsertedText element
919        InsertedText(crate::generated::all::InsertedText),
920        /// The Italic element
921        Italic(crate::generated::all::Italic),
922        /// The KeyboardInput element
923        KeyboardInput(crate::generated::all::KeyboardInput),
924        /// The Label element
925        Label(crate::generated::all::Label),
926        /// The LineBreak element
927        LineBreak(crate::generated::all::LineBreak),
928        /// The LineBreakOpportunity element
929        LineBreakOpportunity(crate::generated::all::LineBreakOpportunity),
930        /// The Link element
931        Link(crate::generated::all::Link),
932        /// The MarkText element
933        MarkText(crate::generated::all::MarkText),
934        /// The Meta element
935        Meta(crate::generated::all::Meta),
936        /// The Meter element
937        Meter(crate::generated::all::Meter),
938        /// The NoScript element
939        NoScript(crate::generated::all::NoScript),
940        /// The Object element
941        Object(crate::generated::all::Object),
942        /// The Output element
943        Output(crate::generated::all::Output),
944        /// The Picture element
945        Picture(crate::generated::all::Picture),
946        /// The Progress element
947        Progress(crate::generated::all::Progress),
948        /// The Quotation element
949        Quotation(crate::generated::all::Quotation),
950        /// The RubyAnnotation element
951        RubyAnnotation(crate::generated::all::RubyAnnotation),
952        /// The SampleOutput element
953        SampleOutput(crate::generated::all::SampleOutput),
954        /// The Script element
955        Script(crate::generated::all::Script),
956        /// The Select element
957        Select(crate::generated::all::Select),
958        /// The SideComment element
959        SideComment(crate::generated::all::SideComment),
960        /// The Slot element
961        Slot(crate::generated::all::Slot),
962        /// The Span element
963        Span(crate::generated::all::Span),
964        /// The StrikeThrough element
965        StrikeThrough(crate::generated::all::StrikeThrough),
966        /// The Strong element
967        Strong(crate::generated::all::Strong),
968        /// The SubScript element
969        SubScript(crate::generated::all::SubScript),
970        /// The SuperScript element
971        SuperScript(crate::generated::all::SuperScript),
972        /// The Template element
973        Template(crate::generated::all::Template),
974        /// The Text element
975        Text(std::borrow::Cow<'static, str>),
976        /// The TextArea element
977        TextArea(crate::generated::all::TextArea),
978        /// The Time element
979        Time(crate::generated::all::Time),
980        /// The Underline element
981        Underline(crate::generated::all::Underline),
982        /// The Variable element
983        Variable(crate::generated::all::Variable),
984        /// The Video element
985        Video(crate::generated::all::Video),
986    }
987    impl std::convert::From<crate::generated::all::Abbreviation> for ParagraphChild {
988        fn from(value: crate::generated::all::Abbreviation) -> Self {
989            Self::Abbreviation(value)
990        }
991    }
992    impl std::convert::From<crate::generated::all::Anchor> for ParagraphChild {
993        fn from(value: crate::generated::all::Anchor) -> Self {
994            Self::Anchor(value)
995        }
996    }
997    impl std::convert::From<crate::generated::all::Audio> for ParagraphChild {
998        fn from(value: crate::generated::all::Audio) -> Self {
999            Self::Audio(value)
1000        }
1001    }
1002    impl std::convert::From<crate::generated::all::BidirectionalIsolate>
1003    for ParagraphChild {
1004        fn from(value: crate::generated::all::BidirectionalIsolate) -> Self {
1005            Self::BidirectionalIsolate(value)
1006        }
1007    }
1008    impl std::convert::From<crate::generated::all::BidirectionalTextOverride>
1009    for ParagraphChild {
1010        fn from(value: crate::generated::all::BidirectionalTextOverride) -> Self {
1011            Self::BidirectionalTextOverride(value)
1012        }
1013    }
1014    impl std::convert::From<crate::generated::all::Bold> for ParagraphChild {
1015        fn from(value: crate::generated::all::Bold) -> Self {
1016            Self::Bold(value)
1017        }
1018    }
1019    impl std::convert::From<crate::generated::all::Button> for ParagraphChild {
1020        fn from(value: crate::generated::all::Button) -> Self {
1021            Self::Button(value)
1022        }
1023    }
1024    impl std::convert::From<crate::generated::all::Canvas> for ParagraphChild {
1025        fn from(value: crate::generated::all::Canvas) -> Self {
1026            Self::Canvas(value)
1027        }
1028    }
1029    impl std::convert::From<crate::generated::all::Cite> for ParagraphChild {
1030        fn from(value: crate::generated::all::Cite) -> Self {
1031            Self::Cite(value)
1032        }
1033    }
1034    impl std::convert::From<crate::generated::all::Code> for ParagraphChild {
1035        fn from(value: crate::generated::all::Code) -> Self {
1036            Self::Code(value)
1037        }
1038    }
1039    impl std::convert::From<crate::generated::all::Data> for ParagraphChild {
1040        fn from(value: crate::generated::all::Data) -> Self {
1041            Self::Data(value)
1042        }
1043    }
1044    impl std::convert::From<crate::generated::all::DataList> for ParagraphChild {
1045        fn from(value: crate::generated::all::DataList) -> Self {
1046            Self::DataList(value)
1047        }
1048    }
1049    impl std::convert::From<crate::generated::all::Definition> for ParagraphChild {
1050        fn from(value: crate::generated::all::Definition) -> Self {
1051            Self::Definition(value)
1052        }
1053    }
1054    impl std::convert::From<crate::generated::all::DeletedText> for ParagraphChild {
1055        fn from(value: crate::generated::all::DeletedText) -> Self {
1056            Self::DeletedText(value)
1057        }
1058    }
1059    impl std::convert::From<crate::generated::all::Embed> for ParagraphChild {
1060        fn from(value: crate::generated::all::Embed) -> Self {
1061            Self::Embed(value)
1062        }
1063    }
1064    impl std::convert::From<crate::generated::all::Emphasis> for ParagraphChild {
1065        fn from(value: crate::generated::all::Emphasis) -> Self {
1066            Self::Emphasis(value)
1067        }
1068    }
1069    impl std::convert::From<crate::generated::all::Iframe> for ParagraphChild {
1070        fn from(value: crate::generated::all::Iframe) -> Self {
1071            Self::Iframe(value)
1072        }
1073    }
1074    impl std::convert::From<crate::generated::all::Image> for ParagraphChild {
1075        fn from(value: crate::generated::all::Image) -> Self {
1076            Self::Image(value)
1077        }
1078    }
1079    impl std::convert::From<crate::generated::all::ImageMap> for ParagraphChild {
1080        fn from(value: crate::generated::all::ImageMap) -> Self {
1081            Self::ImageMap(value)
1082        }
1083    }
1084    impl std::convert::From<crate::generated::all::ImageMapArea> for ParagraphChild {
1085        fn from(value: crate::generated::all::ImageMapArea) -> Self {
1086            Self::ImageMapArea(value)
1087        }
1088    }
1089    impl std::convert::From<crate::generated::all::Input> for ParagraphChild {
1090        fn from(value: crate::generated::all::Input) -> Self {
1091            Self::Input(value)
1092        }
1093    }
1094    impl std::convert::From<crate::generated::all::InsertedText> for ParagraphChild {
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 ParagraphChild {
1100        fn from(value: crate::generated::all::Italic) -> Self {
1101            Self::Italic(value)
1102        }
1103    }
1104    impl std::convert::From<crate::generated::all::KeyboardInput> for ParagraphChild {
1105        fn from(value: crate::generated::all::KeyboardInput) -> Self {
1106            Self::KeyboardInput(value)
1107        }
1108    }
1109    impl std::convert::From<crate::generated::all::Label> for ParagraphChild {
1110        fn from(value: crate::generated::all::Label) -> Self {
1111            Self::Label(value)
1112        }
1113    }
1114    impl std::convert::From<crate::generated::all::LineBreak> for ParagraphChild {
1115        fn from(value: crate::generated::all::LineBreak) -> Self {
1116            Self::LineBreak(value)
1117        }
1118    }
1119    impl std::convert::From<crate::generated::all::LineBreakOpportunity>
1120    for ParagraphChild {
1121        fn from(value: crate::generated::all::LineBreakOpportunity) -> Self {
1122            Self::LineBreakOpportunity(value)
1123        }
1124    }
1125    impl std::convert::From<crate::generated::all::Link> for ParagraphChild {
1126        fn from(value: crate::generated::all::Link) -> Self {
1127            Self::Link(value)
1128        }
1129    }
1130    impl std::convert::From<crate::generated::all::MarkText> for ParagraphChild {
1131        fn from(value: crate::generated::all::MarkText) -> Self {
1132            Self::MarkText(value)
1133        }
1134    }
1135    impl std::convert::From<crate::generated::all::Meta> for ParagraphChild {
1136        fn from(value: crate::generated::all::Meta) -> Self {
1137            Self::Meta(value)
1138        }
1139    }
1140    impl std::convert::From<crate::generated::all::Meter> for ParagraphChild {
1141        fn from(value: crate::generated::all::Meter) -> Self {
1142            Self::Meter(value)
1143        }
1144    }
1145    impl std::convert::From<crate::generated::all::NoScript> for ParagraphChild {
1146        fn from(value: crate::generated::all::NoScript) -> Self {
1147            Self::NoScript(value)
1148        }
1149    }
1150    impl std::convert::From<crate::generated::all::Object> for ParagraphChild {
1151        fn from(value: crate::generated::all::Object) -> Self {
1152            Self::Object(value)
1153        }
1154    }
1155    impl std::convert::From<crate::generated::all::Output> for ParagraphChild {
1156        fn from(value: crate::generated::all::Output) -> Self {
1157            Self::Output(value)
1158        }
1159    }
1160    impl std::convert::From<crate::generated::all::Picture> for ParagraphChild {
1161        fn from(value: crate::generated::all::Picture) -> Self {
1162            Self::Picture(value)
1163        }
1164    }
1165    impl std::convert::From<crate::generated::all::Progress> for ParagraphChild {
1166        fn from(value: crate::generated::all::Progress) -> Self {
1167            Self::Progress(value)
1168        }
1169    }
1170    impl std::convert::From<crate::generated::all::Quotation> for ParagraphChild {
1171        fn from(value: crate::generated::all::Quotation) -> Self {
1172            Self::Quotation(value)
1173        }
1174    }
1175    impl std::convert::From<crate::generated::all::RubyAnnotation> for ParagraphChild {
1176        fn from(value: crate::generated::all::RubyAnnotation) -> Self {
1177            Self::RubyAnnotation(value)
1178        }
1179    }
1180    impl std::convert::From<crate::generated::all::SampleOutput> for ParagraphChild {
1181        fn from(value: crate::generated::all::SampleOutput) -> Self {
1182            Self::SampleOutput(value)
1183        }
1184    }
1185    impl std::convert::From<crate::generated::all::Script> for ParagraphChild {
1186        fn from(value: crate::generated::all::Script) -> Self {
1187            Self::Script(value)
1188        }
1189    }
1190    impl std::convert::From<crate::generated::all::Select> for ParagraphChild {
1191        fn from(value: crate::generated::all::Select) -> Self {
1192            Self::Select(value)
1193        }
1194    }
1195    impl std::convert::From<crate::generated::all::SideComment> for ParagraphChild {
1196        fn from(value: crate::generated::all::SideComment) -> Self {
1197            Self::SideComment(value)
1198        }
1199    }
1200    impl std::convert::From<crate::generated::all::Slot> for ParagraphChild {
1201        fn from(value: crate::generated::all::Slot) -> Self {
1202            Self::Slot(value)
1203        }
1204    }
1205    impl std::convert::From<crate::generated::all::Span> for ParagraphChild {
1206        fn from(value: crate::generated::all::Span) -> Self {
1207            Self::Span(value)
1208        }
1209    }
1210    impl std::convert::From<crate::generated::all::StrikeThrough> for ParagraphChild {
1211        fn from(value: crate::generated::all::StrikeThrough) -> Self {
1212            Self::StrikeThrough(value)
1213        }
1214    }
1215    impl std::convert::From<crate::generated::all::Strong> for ParagraphChild {
1216        fn from(value: crate::generated::all::Strong) -> Self {
1217            Self::Strong(value)
1218        }
1219    }
1220    impl std::convert::From<crate::generated::all::SubScript> for ParagraphChild {
1221        fn from(value: crate::generated::all::SubScript) -> Self {
1222            Self::SubScript(value)
1223        }
1224    }
1225    impl std::convert::From<crate::generated::all::SuperScript> for ParagraphChild {
1226        fn from(value: crate::generated::all::SuperScript) -> Self {
1227            Self::SuperScript(value)
1228        }
1229    }
1230    impl std::convert::From<crate::generated::all::Template> for ParagraphChild {
1231        fn from(value: crate::generated::all::Template) -> Self {
1232            Self::Template(value)
1233        }
1234    }
1235    impl std::convert::From<std::borrow::Cow<'static, str>> for ParagraphChild {
1236        fn from(value: std::borrow::Cow<'static, str>) -> Self {
1237            Self::Text(value)
1238        }
1239    }
1240    impl std::convert::From<&'static str> for ParagraphChild {
1241        fn from(value: &'static str) -> Self {
1242            Self::Text(value.into())
1243        }
1244    }
1245    impl std::convert::From<String> for ParagraphChild {
1246        fn from(value: String) -> Self {
1247            Self::Text(value.into())
1248        }
1249    }
1250    impl std::convert::From<crate::generated::all::TextArea> for ParagraphChild {
1251        fn from(value: crate::generated::all::TextArea) -> Self {
1252            Self::TextArea(value)
1253        }
1254    }
1255    impl std::convert::From<crate::generated::all::Time> for ParagraphChild {
1256        fn from(value: crate::generated::all::Time) -> Self {
1257            Self::Time(value)
1258        }
1259    }
1260    impl std::convert::From<crate::generated::all::Underline> for ParagraphChild {
1261        fn from(value: crate::generated::all::Underline) -> Self {
1262            Self::Underline(value)
1263        }
1264    }
1265    impl std::convert::From<crate::generated::all::Variable> for ParagraphChild {
1266        fn from(value: crate::generated::all::Variable) -> Self {
1267            Self::Variable(value)
1268        }
1269    }
1270    impl std::convert::From<crate::generated::all::Video> for ParagraphChild {
1271        fn from(value: crate::generated::all::Video) -> Self {
1272            Self::Video(value)
1273        }
1274    }
1275    impl crate::Render for ParagraphChild {
1276        fn render(
1277            &self,
1278            f: &mut std::fmt::Formatter<'_>,
1279            depth: usize,
1280        ) -> std::fmt::Result {
1281            match self {
1282                Self::Abbreviation(el) => crate::Render::render(el, f, depth + 1),
1283                Self::Anchor(el) => crate::Render::render(el, f, depth + 1),
1284                Self::Audio(el) => crate::Render::render(el, f, depth + 1),
1285                Self::BidirectionalIsolate(el) => crate::Render::render(el, f, depth + 1),
1286                Self::BidirectionalTextOverride(el) => {
1287                    crate::Render::render(el, f, depth + 1)
1288                }
1289                Self::Bold(el) => crate::Render::render(el, f, depth + 1),
1290                Self::Button(el) => crate::Render::render(el, f, depth + 1),
1291                Self::Canvas(el) => crate::Render::render(el, f, depth + 1),
1292                Self::Cite(el) => crate::Render::render(el, f, depth + 1),
1293                Self::Code(el) => crate::Render::render(el, f, depth + 1),
1294                Self::Data(el) => crate::Render::render(el, f, depth + 1),
1295                Self::DataList(el) => crate::Render::render(el, f, depth + 1),
1296                Self::Definition(el) => crate::Render::render(el, f, depth + 1),
1297                Self::DeletedText(el) => crate::Render::render(el, f, depth + 1),
1298                Self::Embed(el) => crate::Render::render(el, f, depth + 1),
1299                Self::Emphasis(el) => crate::Render::render(el, f, depth + 1),
1300                Self::Iframe(el) => crate::Render::render(el, f, depth + 1),
1301                Self::Image(el) => crate::Render::render(el, f, depth + 1),
1302                Self::ImageMap(el) => crate::Render::render(el, f, depth + 1),
1303                Self::ImageMapArea(el) => crate::Render::render(el, f, depth + 1),
1304                Self::Input(el) => crate::Render::render(el, f, depth + 1),
1305                Self::InsertedText(el) => crate::Render::render(el, f, depth + 1),
1306                Self::Italic(el) => crate::Render::render(el, f, depth + 1),
1307                Self::KeyboardInput(el) => crate::Render::render(el, f, depth + 1),
1308                Self::Label(el) => crate::Render::render(el, f, depth + 1),
1309                Self::LineBreak(el) => crate::Render::render(el, f, depth + 1),
1310                Self::LineBreakOpportunity(el) => crate::Render::render(el, f, depth + 1),
1311                Self::Link(el) => crate::Render::render(el, f, depth + 1),
1312                Self::MarkText(el) => crate::Render::render(el, f, depth + 1),
1313                Self::Meta(el) => crate::Render::render(el, f, depth + 1),
1314                Self::Meter(el) => crate::Render::render(el, f, depth + 1),
1315                Self::NoScript(el) => crate::Render::render(el, f, depth + 1),
1316                Self::Object(el) => crate::Render::render(el, f, depth + 1),
1317                Self::Output(el) => crate::Render::render(el, f, depth + 1),
1318                Self::Picture(el) => crate::Render::render(el, f, depth + 1),
1319                Self::Progress(el) => crate::Render::render(el, f, depth + 1),
1320                Self::Quotation(el) => crate::Render::render(el, f, depth + 1),
1321                Self::RubyAnnotation(el) => crate::Render::render(el, f, depth + 1),
1322                Self::SampleOutput(el) => crate::Render::render(el, f, depth + 1),
1323                Self::Script(el) => crate::Render::render(el, f, depth + 1),
1324                Self::Select(el) => crate::Render::render(el, f, depth + 1),
1325                Self::SideComment(el) => crate::Render::render(el, f, depth + 1),
1326                Self::Slot(el) => crate::Render::render(el, f, depth + 1),
1327                Self::Span(el) => crate::Render::render(el, f, depth + 1),
1328                Self::StrikeThrough(el) => crate::Render::render(el, f, depth + 1),
1329                Self::Strong(el) => crate::Render::render(el, f, depth + 1),
1330                Self::SubScript(el) => crate::Render::render(el, f, depth + 1),
1331                Self::SuperScript(el) => crate::Render::render(el, f, depth + 1),
1332                Self::Template(el) => crate::Render::render(el, f, depth + 1),
1333                Self::Text(el) => crate::Render::render(el, f, depth + 1),
1334                Self::TextArea(el) => crate::Render::render(el, f, depth + 1),
1335                Self::Time(el) => crate::Render::render(el, f, depth + 1),
1336                Self::Underline(el) => crate::Render::render(el, f, depth + 1),
1337                Self::Variable(el) => crate::Render::render(el, f, depth + 1),
1338                Self::Video(el) => crate::Render::render(el, f, depth + 1),
1339            }
1340        }
1341    }
1342    impl std::fmt::Debug for ParagraphChild {
1343        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1344            crate::Render::render(self, f, 0)?;
1345            Ok(())
1346        }
1347    }
1348    impl std::fmt::Display for ParagraphChild {
1349        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1350            match self {
1351                Self::Abbreviation(el) => write!(f, "{el}"),
1352                Self::Anchor(el) => write!(f, "{el}"),
1353                Self::Audio(el) => write!(f, "{el}"),
1354                Self::BidirectionalIsolate(el) => write!(f, "{el}"),
1355                Self::BidirectionalTextOverride(el) => write!(f, "{el}"),
1356                Self::Bold(el) => write!(f, "{el}"),
1357                Self::Button(el) => write!(f, "{el}"),
1358                Self::Canvas(el) => write!(f, "{el}"),
1359                Self::Cite(el) => write!(f, "{el}"),
1360                Self::Code(el) => write!(f, "{el}"),
1361                Self::Data(el) => write!(f, "{el}"),
1362                Self::DataList(el) => write!(f, "{el}"),
1363                Self::Definition(el) => write!(f, "{el}"),
1364                Self::DeletedText(el) => write!(f, "{el}"),
1365                Self::Embed(el) => write!(f, "{el}"),
1366                Self::Emphasis(el) => write!(f, "{el}"),
1367                Self::Iframe(el) => write!(f, "{el}"),
1368                Self::Image(el) => write!(f, "{el}"),
1369                Self::ImageMap(el) => write!(f, "{el}"),
1370                Self::ImageMapArea(el) => write!(f, "{el}"),
1371                Self::Input(el) => write!(f, "{el}"),
1372                Self::InsertedText(el) => write!(f, "{el}"),
1373                Self::Italic(el) => write!(f, "{el}"),
1374                Self::KeyboardInput(el) => write!(f, "{el}"),
1375                Self::Label(el) => write!(f, "{el}"),
1376                Self::LineBreak(el) => write!(f, "{el}"),
1377                Self::LineBreakOpportunity(el) => write!(f, "{el}"),
1378                Self::Link(el) => write!(f, "{el}"),
1379                Self::MarkText(el) => write!(f, "{el}"),
1380                Self::Meta(el) => write!(f, "{el}"),
1381                Self::Meter(el) => write!(f, "{el}"),
1382                Self::NoScript(el) => write!(f, "{el}"),
1383                Self::Object(el) => write!(f, "{el}"),
1384                Self::Output(el) => write!(f, "{el}"),
1385                Self::Picture(el) => write!(f, "{el}"),
1386                Self::Progress(el) => write!(f, "{el}"),
1387                Self::Quotation(el) => write!(f, "{el}"),
1388                Self::RubyAnnotation(el) => write!(f, "{el}"),
1389                Self::SampleOutput(el) => write!(f, "{el}"),
1390                Self::Script(el) => write!(f, "{el}"),
1391                Self::Select(el) => write!(f, "{el}"),
1392                Self::SideComment(el) => write!(f, "{el}"),
1393                Self::Slot(el) => write!(f, "{el}"),
1394                Self::Span(el) => write!(f, "{el}"),
1395                Self::StrikeThrough(el) => write!(f, "{el}"),
1396                Self::Strong(el) => write!(f, "{el}"),
1397                Self::SubScript(el) => write!(f, "{el}"),
1398                Self::SuperScript(el) => write!(f, "{el}"),
1399                Self::Template(el) => write!(f, "{el}"),
1400                Self::Text(el) => write!(f, "{el}"),
1401                Self::TextArea(el) => write!(f, "{el}"),
1402                Self::Time(el) => write!(f, "{el}"),
1403                Self::Underline(el) => write!(f, "{el}"),
1404                Self::Variable(el) => write!(f, "{el}"),
1405                Self::Video(el) => write!(f, "{el}"),
1406            }
1407        }
1408    }
1409}
1410pub mod builder {
1411    /// A builder struct for Paragraph
1412    pub struct ParagraphBuilder {
1413        element: super::element::Paragraph,
1414    }
1415    impl ParagraphBuilder {
1416        pub(crate) fn new(element: super::element::Paragraph) -> Self {
1417            Self { element }
1418        }
1419        /// Finish building the element
1420        pub fn build(&mut self) -> super::element::Paragraph {
1421            self.element.clone()
1422        }
1423        /// Insert a `data-*` property
1424        pub fn data(
1425            &mut self,
1426            data_key: impl Into<std::borrow::Cow<'static, str>>,
1427            value: impl Into<std::borrow::Cow<'static, str>>,
1428        ) -> &mut ParagraphBuilder {
1429            self.element.data_map_mut().insert(data_key.into(), value.into());
1430            self
1431        }
1432        /// Append a new `Abbreviation` element
1433        pub fn abbreviation<F>(&mut self, f: F) -> &mut Self
1434        where
1435            F: for<'a> FnOnce(
1436                &'a mut crate::generated::all::builders::AbbreviationBuilder,
1437            ) -> &'a mut crate::generated::all::builders::AbbreviationBuilder,
1438        {
1439            let ty: crate::generated::all::Abbreviation = Default::default();
1440            let mut ty_builder = crate::generated::all::builders::AbbreviationBuilder::new(
1441                ty,
1442            );
1443            (f)(&mut ty_builder);
1444            let ty = ty_builder.build();
1445            self.element.children_mut().push(ty.into());
1446            self
1447        }
1448        /// Append a new `Anchor` element
1449        pub fn anchor<F>(&mut self, f: F) -> &mut Self
1450        where
1451            F: for<'a> FnOnce(
1452                &'a mut crate::generated::all::builders::AnchorBuilder,
1453            ) -> &'a mut crate::generated::all::builders::AnchorBuilder,
1454        {
1455            let ty: crate::generated::all::Anchor = Default::default();
1456            let mut ty_builder = crate::generated::all::builders::AnchorBuilder::new(ty);
1457            (f)(&mut ty_builder);
1458            let ty = ty_builder.build();
1459            self.element.children_mut().push(ty.into());
1460            self
1461        }
1462        /// Append a new `Audio` element
1463        pub fn audio<F>(&mut self, f: F) -> &mut Self
1464        where
1465            F: for<'a> FnOnce(
1466                &'a mut crate::generated::all::builders::AudioBuilder,
1467            ) -> &'a mut crate::generated::all::builders::AudioBuilder,
1468        {
1469            let ty: crate::generated::all::Audio = Default::default();
1470            let mut ty_builder = crate::generated::all::builders::AudioBuilder::new(ty);
1471            (f)(&mut ty_builder);
1472            let ty = ty_builder.build();
1473            self.element.children_mut().push(ty.into());
1474            self
1475        }
1476        /// Append a new `BidirectionalIsolate` element
1477        pub fn bidirectional_isolate<F>(&mut self, f: F) -> &mut Self
1478        where
1479            F: for<'a> FnOnce(
1480                &'a mut crate::generated::all::builders::BidirectionalIsolateBuilder,
1481            ) -> &'a mut crate::generated::all::builders::BidirectionalIsolateBuilder,
1482        {
1483            let ty: crate::generated::all::BidirectionalIsolate = Default::default();
1484            let mut ty_builder = crate::generated::all::builders::BidirectionalIsolateBuilder::new(
1485                ty,
1486            );
1487            (f)(&mut ty_builder);
1488            let ty = ty_builder.build();
1489            self.element.children_mut().push(ty.into());
1490            self
1491        }
1492        /// Append a new `BidirectionalTextOverride` element
1493        pub fn bidirectional_text_override<F>(&mut self, f: F) -> &mut Self
1494        where
1495            F: for<'a> FnOnce(
1496                &'a mut crate::generated::all::builders::BidirectionalTextOverrideBuilder,
1497            ) -> &'a mut crate::generated::all::builders::BidirectionalTextOverrideBuilder,
1498        {
1499            let ty: crate::generated::all::BidirectionalTextOverride = Default::default();
1500            let mut ty_builder = crate::generated::all::builders::BidirectionalTextOverrideBuilder::new(
1501                ty,
1502            );
1503            (f)(&mut ty_builder);
1504            let ty = ty_builder.build();
1505            self.element.children_mut().push(ty.into());
1506            self
1507        }
1508        /// Append a new `Bold` element
1509        pub fn bold<F>(&mut self, f: F) -> &mut Self
1510        where
1511            F: for<'a> FnOnce(
1512                &'a mut crate::generated::all::builders::BoldBuilder,
1513            ) -> &'a mut crate::generated::all::builders::BoldBuilder,
1514        {
1515            let ty: crate::generated::all::Bold = Default::default();
1516            let mut ty_builder = crate::generated::all::builders::BoldBuilder::new(ty);
1517            (f)(&mut ty_builder);
1518            let ty = ty_builder.build();
1519            self.element.children_mut().push(ty.into());
1520            self
1521        }
1522        /// Append a new `Button` element
1523        pub fn button<F>(&mut self, f: F) -> &mut Self
1524        where
1525            F: for<'a> FnOnce(
1526                &'a mut crate::generated::all::builders::ButtonBuilder,
1527            ) -> &'a mut crate::generated::all::builders::ButtonBuilder,
1528        {
1529            let ty: crate::generated::all::Button = Default::default();
1530            let mut ty_builder = crate::generated::all::builders::ButtonBuilder::new(ty);
1531            (f)(&mut ty_builder);
1532            let ty = ty_builder.build();
1533            self.element.children_mut().push(ty.into());
1534            self
1535        }
1536        /// Append a new `Canvas` element
1537        pub fn canvas<F>(&mut self, f: F) -> &mut Self
1538        where
1539            F: for<'a> FnOnce(
1540                &'a mut crate::generated::all::builders::CanvasBuilder,
1541            ) -> &'a mut crate::generated::all::builders::CanvasBuilder,
1542        {
1543            let ty: crate::generated::all::Canvas = Default::default();
1544            let mut ty_builder = crate::generated::all::builders::CanvasBuilder::new(ty);
1545            (f)(&mut ty_builder);
1546            let ty = ty_builder.build();
1547            self.element.children_mut().push(ty.into());
1548            self
1549        }
1550        /// Append a new `Cite` element
1551        pub fn cite<F>(&mut self, f: F) -> &mut Self
1552        where
1553            F: for<'a> FnOnce(
1554                &'a mut crate::generated::all::builders::CiteBuilder,
1555            ) -> &'a mut crate::generated::all::builders::CiteBuilder,
1556        {
1557            let ty: crate::generated::all::Cite = Default::default();
1558            let mut ty_builder = crate::generated::all::builders::CiteBuilder::new(ty);
1559            (f)(&mut ty_builder);
1560            let ty = ty_builder.build();
1561            self.element.children_mut().push(ty.into());
1562            self
1563        }
1564        /// Append a new `Code` element
1565        pub fn code<F>(&mut self, f: F) -> &mut Self
1566        where
1567            F: for<'a> FnOnce(
1568                &'a mut crate::generated::all::builders::CodeBuilder,
1569            ) -> &'a mut crate::generated::all::builders::CodeBuilder,
1570        {
1571            let ty: crate::generated::all::Code = Default::default();
1572            let mut ty_builder = crate::generated::all::builders::CodeBuilder::new(ty);
1573            (f)(&mut ty_builder);
1574            let ty = ty_builder.build();
1575            self.element.children_mut().push(ty.into());
1576            self
1577        }
1578        /// Append a new `Data` element
1579        pub fn data_el<F>(&mut self, f: F) -> &mut Self
1580        where
1581            F: for<'a> FnOnce(
1582                &'a mut crate::generated::all::builders::DataBuilder,
1583            ) -> &'a mut crate::generated::all::builders::DataBuilder,
1584        {
1585            let ty: crate::generated::all::Data = Default::default();
1586            let mut ty_builder = crate::generated::all::builders::DataBuilder::new(ty);
1587            (f)(&mut ty_builder);
1588            let ty = ty_builder.build();
1589            self.element.children_mut().push(ty.into());
1590            self
1591        }
1592        /// Append a new `DataList` element
1593        pub fn data_list<F>(&mut self, f: F) -> &mut Self
1594        where
1595            F: for<'a> FnOnce(
1596                &'a mut crate::generated::all::builders::DataListBuilder,
1597            ) -> &'a mut crate::generated::all::builders::DataListBuilder,
1598        {
1599            let ty: crate::generated::all::DataList = Default::default();
1600            let mut ty_builder = crate::generated::all::builders::DataListBuilder::new(
1601                ty,
1602            );
1603            (f)(&mut ty_builder);
1604            let ty = ty_builder.build();
1605            self.element.children_mut().push(ty.into());
1606            self
1607        }
1608        /// Append a new `Definition` element
1609        pub fn definition<F>(&mut self, f: F) -> &mut Self
1610        where
1611            F: for<'a> FnOnce(
1612                &'a mut crate::generated::all::builders::DefinitionBuilder,
1613            ) -> &'a mut crate::generated::all::builders::DefinitionBuilder,
1614        {
1615            let ty: crate::generated::all::Definition = Default::default();
1616            let mut ty_builder = crate::generated::all::builders::DefinitionBuilder::new(
1617                ty,
1618            );
1619            (f)(&mut ty_builder);
1620            let ty = ty_builder.build();
1621            self.element.children_mut().push(ty.into());
1622            self
1623        }
1624        /// Append a new `DeletedText` element
1625        pub fn deleted_text<F>(&mut self, f: F) -> &mut Self
1626        where
1627            F: for<'a> FnOnce(
1628                &'a mut crate::generated::all::builders::DeletedTextBuilder,
1629            ) -> &'a mut crate::generated::all::builders::DeletedTextBuilder,
1630        {
1631            let ty: crate::generated::all::DeletedText = Default::default();
1632            let mut ty_builder = crate::generated::all::builders::DeletedTextBuilder::new(
1633                ty,
1634            );
1635            (f)(&mut ty_builder);
1636            let ty = ty_builder.build();
1637            self.element.children_mut().push(ty.into());
1638            self
1639        }
1640        /// Append a new `Embed` element
1641        pub fn embed<F>(&mut self, f: F) -> &mut Self
1642        where
1643            F: for<'a> FnOnce(
1644                &'a mut crate::generated::all::builders::EmbedBuilder,
1645            ) -> &'a mut crate::generated::all::builders::EmbedBuilder,
1646        {
1647            let ty: crate::generated::all::Embed = Default::default();
1648            let mut ty_builder = crate::generated::all::builders::EmbedBuilder::new(ty);
1649            (f)(&mut ty_builder);
1650            let ty = ty_builder.build();
1651            self.element.children_mut().push(ty.into());
1652            self
1653        }
1654        /// Append a new `Emphasis` element
1655        pub fn emphasis<F>(&mut self, f: F) -> &mut Self
1656        where
1657            F: for<'a> FnOnce(
1658                &'a mut crate::generated::all::builders::EmphasisBuilder,
1659            ) -> &'a mut crate::generated::all::builders::EmphasisBuilder,
1660        {
1661            let ty: crate::generated::all::Emphasis = Default::default();
1662            let mut ty_builder = crate::generated::all::builders::EmphasisBuilder::new(
1663                ty,
1664            );
1665            (f)(&mut ty_builder);
1666            let ty = ty_builder.build();
1667            self.element.children_mut().push(ty.into());
1668            self
1669        }
1670        /// Append a new `Iframe` element
1671        pub fn iframe<F>(&mut self, f: F) -> &mut Self
1672        where
1673            F: for<'a> FnOnce(
1674                &'a mut crate::generated::all::builders::IframeBuilder,
1675            ) -> &'a mut crate::generated::all::builders::IframeBuilder,
1676        {
1677            let ty: crate::generated::all::Iframe = Default::default();
1678            let mut ty_builder = crate::generated::all::builders::IframeBuilder::new(ty);
1679            (f)(&mut ty_builder);
1680            let ty = ty_builder.build();
1681            self.element.children_mut().push(ty.into());
1682            self
1683        }
1684        /// Append a new `Image` element
1685        pub fn image<F>(&mut self, f: F) -> &mut Self
1686        where
1687            F: for<'a> FnOnce(
1688                &'a mut crate::generated::all::builders::ImageBuilder,
1689            ) -> &'a mut crate::generated::all::builders::ImageBuilder,
1690        {
1691            let ty: crate::generated::all::Image = Default::default();
1692            let mut ty_builder = crate::generated::all::builders::ImageBuilder::new(ty);
1693            (f)(&mut ty_builder);
1694            let ty = ty_builder.build();
1695            self.element.children_mut().push(ty.into());
1696            self
1697        }
1698        /// Append a new `ImageMap` element
1699        pub fn image_map<F>(&mut self, f: F) -> &mut Self
1700        where
1701            F: for<'a> FnOnce(
1702                &'a mut crate::generated::all::builders::ImageMapBuilder,
1703            ) -> &'a mut crate::generated::all::builders::ImageMapBuilder,
1704        {
1705            let ty: crate::generated::all::ImageMap = Default::default();
1706            let mut ty_builder = crate::generated::all::builders::ImageMapBuilder::new(
1707                ty,
1708            );
1709            (f)(&mut ty_builder);
1710            let ty = ty_builder.build();
1711            self.element.children_mut().push(ty.into());
1712            self
1713        }
1714        /// Append a new `ImageMapArea` element
1715        pub fn image_map_area<F>(&mut self, f: F) -> &mut Self
1716        where
1717            F: for<'a> FnOnce(
1718                &'a mut crate::generated::all::builders::ImageMapAreaBuilder,
1719            ) -> &'a mut crate::generated::all::builders::ImageMapAreaBuilder,
1720        {
1721            let ty: crate::generated::all::ImageMapArea = Default::default();
1722            let mut ty_builder = crate::generated::all::builders::ImageMapAreaBuilder::new(
1723                ty,
1724            );
1725            (f)(&mut ty_builder);
1726            let ty = ty_builder.build();
1727            self.element.children_mut().push(ty.into());
1728            self
1729        }
1730        /// Append a new `Input` element
1731        pub fn input<F>(&mut self, f: F) -> &mut Self
1732        where
1733            F: for<'a> FnOnce(
1734                &'a mut crate::generated::all::builders::InputBuilder,
1735            ) -> &'a mut crate::generated::all::builders::InputBuilder,
1736        {
1737            let ty: crate::generated::all::Input = Default::default();
1738            let mut ty_builder = crate::generated::all::builders::InputBuilder::new(ty);
1739            (f)(&mut ty_builder);
1740            let ty = ty_builder.build();
1741            self.element.children_mut().push(ty.into());
1742            self
1743        }
1744        /// Append a new `InsertedText` element
1745        pub fn inserted_text<F>(&mut self, f: F) -> &mut Self
1746        where
1747            F: for<'a> FnOnce(
1748                &'a mut crate::generated::all::builders::InsertedTextBuilder,
1749            ) -> &'a mut crate::generated::all::builders::InsertedTextBuilder,
1750        {
1751            let ty: crate::generated::all::InsertedText = Default::default();
1752            let mut ty_builder = crate::generated::all::builders::InsertedTextBuilder::new(
1753                ty,
1754            );
1755            (f)(&mut ty_builder);
1756            let ty = ty_builder.build();
1757            self.element.children_mut().push(ty.into());
1758            self
1759        }
1760        /// Append a new `Italic` element
1761        pub fn italic<F>(&mut self, f: F) -> &mut Self
1762        where
1763            F: for<'a> FnOnce(
1764                &'a mut crate::generated::all::builders::ItalicBuilder,
1765            ) -> &'a mut crate::generated::all::builders::ItalicBuilder,
1766        {
1767            let ty: crate::generated::all::Italic = Default::default();
1768            let mut ty_builder = crate::generated::all::builders::ItalicBuilder::new(ty);
1769            (f)(&mut ty_builder);
1770            let ty = ty_builder.build();
1771            self.element.children_mut().push(ty.into());
1772            self
1773        }
1774        /// Append a new `KeyboardInput` element
1775        pub fn keyboard_input<F>(&mut self, f: F) -> &mut Self
1776        where
1777            F: for<'a> FnOnce(
1778                &'a mut crate::generated::all::builders::KeyboardInputBuilder,
1779            ) -> &'a mut crate::generated::all::builders::KeyboardInputBuilder,
1780        {
1781            let ty: crate::generated::all::KeyboardInput = Default::default();
1782            let mut ty_builder = crate::generated::all::builders::KeyboardInputBuilder::new(
1783                ty,
1784            );
1785            (f)(&mut ty_builder);
1786            let ty = ty_builder.build();
1787            self.element.children_mut().push(ty.into());
1788            self
1789        }
1790        /// Append a new `Label` element
1791        pub fn label<F>(&mut self, f: F) -> &mut Self
1792        where
1793            F: for<'a> FnOnce(
1794                &'a mut crate::generated::all::builders::LabelBuilder,
1795            ) -> &'a mut crate::generated::all::builders::LabelBuilder,
1796        {
1797            let ty: crate::generated::all::Label = Default::default();
1798            let mut ty_builder = crate::generated::all::builders::LabelBuilder::new(ty);
1799            (f)(&mut ty_builder);
1800            let ty = ty_builder.build();
1801            self.element.children_mut().push(ty.into());
1802            self
1803        }
1804        /// Append a new `LineBreak` element
1805        pub fn line_break<F>(&mut self, f: F) -> &mut Self
1806        where
1807            F: for<'a> FnOnce(
1808                &'a mut crate::generated::all::builders::LineBreakBuilder,
1809            ) -> &'a mut crate::generated::all::builders::LineBreakBuilder,
1810        {
1811            let ty: crate::generated::all::LineBreak = Default::default();
1812            let mut ty_builder = crate::generated::all::builders::LineBreakBuilder::new(
1813                ty,
1814            );
1815            (f)(&mut ty_builder);
1816            let ty = ty_builder.build();
1817            self.element.children_mut().push(ty.into());
1818            self
1819        }
1820        /// Append a new `LineBreakOpportunity` element
1821        pub fn line_break_opportunity<F>(&mut self, f: F) -> &mut Self
1822        where
1823            F: for<'a> FnOnce(
1824                &'a mut crate::generated::all::builders::LineBreakOpportunityBuilder,
1825            ) -> &'a mut crate::generated::all::builders::LineBreakOpportunityBuilder,
1826        {
1827            let ty: crate::generated::all::LineBreakOpportunity = Default::default();
1828            let mut ty_builder = crate::generated::all::builders::LineBreakOpportunityBuilder::new(
1829                ty,
1830            );
1831            (f)(&mut ty_builder);
1832            let ty = ty_builder.build();
1833            self.element.children_mut().push(ty.into());
1834            self
1835        }
1836        /// Append a new `Link` element
1837        pub fn link<F>(&mut self, f: F) -> &mut Self
1838        where
1839            F: for<'a> FnOnce(
1840                &'a mut crate::generated::all::builders::LinkBuilder,
1841            ) -> &'a mut crate::generated::all::builders::LinkBuilder,
1842        {
1843            let ty: crate::generated::all::Link = Default::default();
1844            let mut ty_builder = crate::generated::all::builders::LinkBuilder::new(ty);
1845            (f)(&mut ty_builder);
1846            let ty = ty_builder.build();
1847            self.element.children_mut().push(ty.into());
1848            self
1849        }
1850        /// Append a new `MarkText` element
1851        pub fn mark_text<F>(&mut self, f: F) -> &mut Self
1852        where
1853            F: for<'a> FnOnce(
1854                &'a mut crate::generated::all::builders::MarkTextBuilder,
1855            ) -> &'a mut crate::generated::all::builders::MarkTextBuilder,
1856        {
1857            let ty: crate::generated::all::MarkText = Default::default();
1858            let mut ty_builder = crate::generated::all::builders::MarkTextBuilder::new(
1859                ty,
1860            );
1861            (f)(&mut ty_builder);
1862            let ty = ty_builder.build();
1863            self.element.children_mut().push(ty.into());
1864            self
1865        }
1866        /// Append a new `Meta` element
1867        pub fn meta<F>(&mut self, f: F) -> &mut Self
1868        where
1869            F: for<'a> FnOnce(
1870                &'a mut crate::generated::all::builders::MetaBuilder,
1871            ) -> &'a mut crate::generated::all::builders::MetaBuilder,
1872        {
1873            let ty: crate::generated::all::Meta = Default::default();
1874            let mut ty_builder = crate::generated::all::builders::MetaBuilder::new(ty);
1875            (f)(&mut ty_builder);
1876            let ty = ty_builder.build();
1877            self.element.children_mut().push(ty.into());
1878            self
1879        }
1880        /// Append a new `Meter` element
1881        pub fn meter<F>(&mut self, f: F) -> &mut Self
1882        where
1883            F: for<'a> FnOnce(
1884                &'a mut crate::generated::all::builders::MeterBuilder,
1885            ) -> &'a mut crate::generated::all::builders::MeterBuilder,
1886        {
1887            let ty: crate::generated::all::Meter = Default::default();
1888            let mut ty_builder = crate::generated::all::builders::MeterBuilder::new(ty);
1889            (f)(&mut ty_builder);
1890            let ty = ty_builder.build();
1891            self.element.children_mut().push(ty.into());
1892            self
1893        }
1894        /// Append a new `NoScript` element
1895        pub fn no_script<F>(&mut self, f: F) -> &mut Self
1896        where
1897            F: for<'a> FnOnce(
1898                &'a mut crate::generated::all::builders::NoScriptBuilder,
1899            ) -> &'a mut crate::generated::all::builders::NoScriptBuilder,
1900        {
1901            let ty: crate::generated::all::NoScript = Default::default();
1902            let mut ty_builder = crate::generated::all::builders::NoScriptBuilder::new(
1903                ty,
1904            );
1905            (f)(&mut ty_builder);
1906            let ty = ty_builder.build();
1907            self.element.children_mut().push(ty.into());
1908            self
1909        }
1910        /// Append a new `Object` element
1911        pub fn object<F>(&mut self, f: F) -> &mut Self
1912        where
1913            F: for<'a> FnOnce(
1914                &'a mut crate::generated::all::builders::ObjectBuilder,
1915            ) -> &'a mut crate::generated::all::builders::ObjectBuilder,
1916        {
1917            let ty: crate::generated::all::Object = Default::default();
1918            let mut ty_builder = crate::generated::all::builders::ObjectBuilder::new(ty);
1919            (f)(&mut ty_builder);
1920            let ty = ty_builder.build();
1921            self.element.children_mut().push(ty.into());
1922            self
1923        }
1924        /// Append a new `Output` element
1925        pub fn output<F>(&mut self, f: F) -> &mut Self
1926        where
1927            F: for<'a> FnOnce(
1928                &'a mut crate::generated::all::builders::OutputBuilder,
1929            ) -> &'a mut crate::generated::all::builders::OutputBuilder,
1930        {
1931            let ty: crate::generated::all::Output = Default::default();
1932            let mut ty_builder = crate::generated::all::builders::OutputBuilder::new(ty);
1933            (f)(&mut ty_builder);
1934            let ty = ty_builder.build();
1935            self.element.children_mut().push(ty.into());
1936            self
1937        }
1938        /// Append a new `Picture` element
1939        pub fn picture<F>(&mut self, f: F) -> &mut Self
1940        where
1941            F: for<'a> FnOnce(
1942                &'a mut crate::generated::all::builders::PictureBuilder,
1943            ) -> &'a mut crate::generated::all::builders::PictureBuilder,
1944        {
1945            let ty: crate::generated::all::Picture = Default::default();
1946            let mut ty_builder = crate::generated::all::builders::PictureBuilder::new(
1947                ty,
1948            );
1949            (f)(&mut ty_builder);
1950            let ty = ty_builder.build();
1951            self.element.children_mut().push(ty.into());
1952            self
1953        }
1954        /// Append a new `Progress` element
1955        pub fn progress<F>(&mut self, f: F) -> &mut Self
1956        where
1957            F: for<'a> FnOnce(
1958                &'a mut crate::generated::all::builders::ProgressBuilder,
1959            ) -> &'a mut crate::generated::all::builders::ProgressBuilder,
1960        {
1961            let ty: crate::generated::all::Progress = Default::default();
1962            let mut ty_builder = crate::generated::all::builders::ProgressBuilder::new(
1963                ty,
1964            );
1965            (f)(&mut ty_builder);
1966            let ty = ty_builder.build();
1967            self.element.children_mut().push(ty.into());
1968            self
1969        }
1970        /// Append a new `Quotation` element
1971        pub fn quotation<F>(&mut self, f: F) -> &mut Self
1972        where
1973            F: for<'a> FnOnce(
1974                &'a mut crate::generated::all::builders::QuotationBuilder,
1975            ) -> &'a mut crate::generated::all::builders::QuotationBuilder,
1976        {
1977            let ty: crate::generated::all::Quotation = Default::default();
1978            let mut ty_builder = crate::generated::all::builders::QuotationBuilder::new(
1979                ty,
1980            );
1981            (f)(&mut ty_builder);
1982            let ty = ty_builder.build();
1983            self.element.children_mut().push(ty.into());
1984            self
1985        }
1986        /// Append a new `RubyAnnotation` element
1987        pub fn ruby_annotation<F>(&mut self, f: F) -> &mut Self
1988        where
1989            F: for<'a> FnOnce(
1990                &'a mut crate::generated::all::builders::RubyAnnotationBuilder,
1991            ) -> &'a mut crate::generated::all::builders::RubyAnnotationBuilder,
1992        {
1993            let ty: crate::generated::all::RubyAnnotation = Default::default();
1994            let mut ty_builder = crate::generated::all::builders::RubyAnnotationBuilder::new(
1995                ty,
1996            );
1997            (f)(&mut ty_builder);
1998            let ty = ty_builder.build();
1999            self.element.children_mut().push(ty.into());
2000            self
2001        }
2002        /// Append a new `SampleOutput` element
2003        pub fn sample_output<F>(&mut self, f: F) -> &mut Self
2004        where
2005            F: for<'a> FnOnce(
2006                &'a mut crate::generated::all::builders::SampleOutputBuilder,
2007            ) -> &'a mut crate::generated::all::builders::SampleOutputBuilder,
2008        {
2009            let ty: crate::generated::all::SampleOutput = Default::default();
2010            let mut ty_builder = crate::generated::all::builders::SampleOutputBuilder::new(
2011                ty,
2012            );
2013            (f)(&mut ty_builder);
2014            let ty = ty_builder.build();
2015            self.element.children_mut().push(ty.into());
2016            self
2017        }
2018        /// Append a new `Script` element
2019        pub fn script<F>(&mut self, f: F) -> &mut Self
2020        where
2021            F: for<'a> FnOnce(
2022                &'a mut crate::generated::all::builders::ScriptBuilder,
2023            ) -> &'a mut crate::generated::all::builders::ScriptBuilder,
2024        {
2025            let ty: crate::generated::all::Script = Default::default();
2026            let mut ty_builder = crate::generated::all::builders::ScriptBuilder::new(ty);
2027            (f)(&mut ty_builder);
2028            let ty = ty_builder.build();
2029            self.element.children_mut().push(ty.into());
2030            self
2031        }
2032        /// Append a new `Select` element
2033        pub fn select<F>(&mut self, f: F) -> &mut Self
2034        where
2035            F: for<'a> FnOnce(
2036                &'a mut crate::generated::all::builders::SelectBuilder,
2037            ) -> &'a mut crate::generated::all::builders::SelectBuilder,
2038        {
2039            let ty: crate::generated::all::Select = Default::default();
2040            let mut ty_builder = crate::generated::all::builders::SelectBuilder::new(ty);
2041            (f)(&mut ty_builder);
2042            let ty = ty_builder.build();
2043            self.element.children_mut().push(ty.into());
2044            self
2045        }
2046        /// Append a new `SideComment` element
2047        pub fn side_comment<F>(&mut self, f: F) -> &mut Self
2048        where
2049            F: for<'a> FnOnce(
2050                &'a mut crate::generated::all::builders::SideCommentBuilder,
2051            ) -> &'a mut crate::generated::all::builders::SideCommentBuilder,
2052        {
2053            let ty: crate::generated::all::SideComment = Default::default();
2054            let mut ty_builder = crate::generated::all::builders::SideCommentBuilder::new(
2055                ty,
2056            );
2057            (f)(&mut ty_builder);
2058            let ty = ty_builder.build();
2059            self.element.children_mut().push(ty.into());
2060            self
2061        }
2062        /// Append a new `Slot` element
2063        pub fn slot<F>(&mut self, f: F) -> &mut Self
2064        where
2065            F: for<'a> FnOnce(
2066                &'a mut crate::generated::all::builders::SlotBuilder,
2067            ) -> &'a mut crate::generated::all::builders::SlotBuilder,
2068        {
2069            let ty: crate::generated::all::Slot = Default::default();
2070            let mut ty_builder = crate::generated::all::builders::SlotBuilder::new(ty);
2071            (f)(&mut ty_builder);
2072            let ty = ty_builder.build();
2073            self.element.children_mut().push(ty.into());
2074            self
2075        }
2076        /// Append a new `Span` element
2077        pub fn span<F>(&mut self, f: F) -> &mut Self
2078        where
2079            F: for<'a> FnOnce(
2080                &'a mut crate::generated::all::builders::SpanBuilder,
2081            ) -> &'a mut crate::generated::all::builders::SpanBuilder,
2082        {
2083            let ty: crate::generated::all::Span = Default::default();
2084            let mut ty_builder = crate::generated::all::builders::SpanBuilder::new(ty);
2085            (f)(&mut ty_builder);
2086            let ty = ty_builder.build();
2087            self.element.children_mut().push(ty.into());
2088            self
2089        }
2090        /// Append a new `StrikeThrough` element
2091        pub fn strike_through<F>(&mut self, f: F) -> &mut Self
2092        where
2093            F: for<'a> FnOnce(
2094                &'a mut crate::generated::all::builders::StrikeThroughBuilder,
2095            ) -> &'a mut crate::generated::all::builders::StrikeThroughBuilder,
2096        {
2097            let ty: crate::generated::all::StrikeThrough = Default::default();
2098            let mut ty_builder = crate::generated::all::builders::StrikeThroughBuilder::new(
2099                ty,
2100            );
2101            (f)(&mut ty_builder);
2102            let ty = ty_builder.build();
2103            self.element.children_mut().push(ty.into());
2104            self
2105        }
2106        /// Append a new `Strong` element
2107        pub fn strong<F>(&mut self, f: F) -> &mut Self
2108        where
2109            F: for<'a> FnOnce(
2110                &'a mut crate::generated::all::builders::StrongBuilder,
2111            ) -> &'a mut crate::generated::all::builders::StrongBuilder,
2112        {
2113            let ty: crate::generated::all::Strong = Default::default();
2114            let mut ty_builder = crate::generated::all::builders::StrongBuilder::new(ty);
2115            (f)(&mut ty_builder);
2116            let ty = ty_builder.build();
2117            self.element.children_mut().push(ty.into());
2118            self
2119        }
2120        /// Append a new `SubScript` element
2121        pub fn sub_script<F>(&mut self, f: F) -> &mut Self
2122        where
2123            F: for<'a> FnOnce(
2124                &'a mut crate::generated::all::builders::SubScriptBuilder,
2125            ) -> &'a mut crate::generated::all::builders::SubScriptBuilder,
2126        {
2127            let ty: crate::generated::all::SubScript = Default::default();
2128            let mut ty_builder = crate::generated::all::builders::SubScriptBuilder::new(
2129                ty,
2130            );
2131            (f)(&mut ty_builder);
2132            let ty = ty_builder.build();
2133            self.element.children_mut().push(ty.into());
2134            self
2135        }
2136        /// Append a new `SuperScript` element
2137        pub fn super_script<F>(&mut self, f: F) -> &mut Self
2138        where
2139            F: for<'a> FnOnce(
2140                &'a mut crate::generated::all::builders::SuperScriptBuilder,
2141            ) -> &'a mut crate::generated::all::builders::SuperScriptBuilder,
2142        {
2143            let ty: crate::generated::all::SuperScript = Default::default();
2144            let mut ty_builder = crate::generated::all::builders::SuperScriptBuilder::new(
2145                ty,
2146            );
2147            (f)(&mut ty_builder);
2148            let ty = ty_builder.build();
2149            self.element.children_mut().push(ty.into());
2150            self
2151        }
2152        /// Append a new `Template` element
2153        pub fn template<F>(&mut self, f: F) -> &mut Self
2154        where
2155            F: for<'a> FnOnce(
2156                &'a mut crate::generated::all::builders::TemplateBuilder,
2157            ) -> &'a mut crate::generated::all::builders::TemplateBuilder,
2158        {
2159            let ty: crate::generated::all::Template = Default::default();
2160            let mut ty_builder = crate::generated::all::builders::TemplateBuilder::new(
2161                ty,
2162            );
2163            (f)(&mut ty_builder);
2164            let ty = ty_builder.build();
2165            self.element.children_mut().push(ty.into());
2166            self
2167        }
2168        /// Append a new text element.
2169        pub fn text(
2170            &mut self,
2171            s: impl Into<std::borrow::Cow<'static, str>>,
2172        ) -> &mut Self {
2173            let cow = s.into();
2174            self.element.children_mut().push(cow.into());
2175            self
2176        }
2177        /// Append a new `TextArea` element
2178        pub fn text_area<F>(&mut self, f: F) -> &mut Self
2179        where
2180            F: for<'a> FnOnce(
2181                &'a mut crate::generated::all::builders::TextAreaBuilder,
2182            ) -> &'a mut crate::generated::all::builders::TextAreaBuilder,
2183        {
2184            let ty: crate::generated::all::TextArea = Default::default();
2185            let mut ty_builder = crate::generated::all::builders::TextAreaBuilder::new(
2186                ty,
2187            );
2188            (f)(&mut ty_builder);
2189            let ty = ty_builder.build();
2190            self.element.children_mut().push(ty.into());
2191            self
2192        }
2193        /// Append a new `Time` element
2194        pub fn time<F>(&mut self, f: F) -> &mut Self
2195        where
2196            F: for<'a> FnOnce(
2197                &'a mut crate::generated::all::builders::TimeBuilder,
2198            ) -> &'a mut crate::generated::all::builders::TimeBuilder,
2199        {
2200            let ty: crate::generated::all::Time = Default::default();
2201            let mut ty_builder = crate::generated::all::builders::TimeBuilder::new(ty);
2202            (f)(&mut ty_builder);
2203            let ty = ty_builder.build();
2204            self.element.children_mut().push(ty.into());
2205            self
2206        }
2207        /// Append a new `Underline` element
2208        pub fn underline<F>(&mut self, f: F) -> &mut Self
2209        where
2210            F: for<'a> FnOnce(
2211                &'a mut crate::generated::all::builders::UnderlineBuilder,
2212            ) -> &'a mut crate::generated::all::builders::UnderlineBuilder,
2213        {
2214            let ty: crate::generated::all::Underline = Default::default();
2215            let mut ty_builder = crate::generated::all::builders::UnderlineBuilder::new(
2216                ty,
2217            );
2218            (f)(&mut ty_builder);
2219            let ty = ty_builder.build();
2220            self.element.children_mut().push(ty.into());
2221            self
2222        }
2223        /// Append a new `Variable` element
2224        pub fn variable<F>(&mut self, f: F) -> &mut Self
2225        where
2226            F: for<'a> FnOnce(
2227                &'a mut crate::generated::all::builders::VariableBuilder,
2228            ) -> &'a mut crate::generated::all::builders::VariableBuilder,
2229        {
2230            let ty: crate::generated::all::Variable = Default::default();
2231            let mut ty_builder = crate::generated::all::builders::VariableBuilder::new(
2232                ty,
2233            );
2234            (f)(&mut ty_builder);
2235            let ty = ty_builder.build();
2236            self.element.children_mut().push(ty.into());
2237            self
2238        }
2239        /// Append a new `Video` element
2240        pub fn video<F>(&mut self, f: F) -> &mut Self
2241        where
2242            F: for<'a> FnOnce(
2243                &'a mut crate::generated::all::builders::VideoBuilder,
2244            ) -> &'a mut crate::generated::all::builders::VideoBuilder,
2245        {
2246            let ty: crate::generated::all::Video = Default::default();
2247            let mut ty_builder = crate::generated::all::builders::VideoBuilder::new(ty);
2248            (f)(&mut ty_builder);
2249            let ty = ty_builder.build();
2250            self.element.children_mut().push(ty.into());
2251            self
2252        }
2253        /// Set the value of the `role` attribute
2254        pub fn role(
2255            &mut self,
2256            value: impl Into<std::borrow::Cow<'static, str>>,
2257        ) -> &mut Self {
2258            self.element.set_role(Some(value.into()));
2259            self
2260        }
2261        /// Set the value of the `aria-activedescendant` attribute
2262        pub fn aria_active_descendant_element(
2263            &mut self,
2264            value: impl Into<std::borrow::Cow<'static, str>>,
2265        ) -> &mut Self {
2266            self.element.set_aria_active_descendant_element(Some(value.into()));
2267            self
2268        }
2269        /// Set the value of the `aria-atomic` attribute
2270        pub fn aria_atomic(&mut self, value: bool) -> &mut Self {
2271            self.element.set_aria_atomic(value);
2272            self
2273        }
2274        /// Set the value of the `aria-autocomplete` attribute
2275        pub fn aria_auto_complete(
2276            &mut self,
2277            value: impl Into<std::borrow::Cow<'static, str>>,
2278        ) -> &mut Self {
2279            self.element.set_aria_auto_complete(Some(value.into()));
2280            self
2281        }
2282        /// Set the value of the `aria-brailleroledescription` attribute
2283        pub fn aria_braille_role_description(
2284            &mut self,
2285            value: impl Into<std::borrow::Cow<'static, str>>,
2286        ) -> &mut Self {
2287            self.element.set_aria_braille_role_description(Some(value.into()));
2288            self
2289        }
2290        /// Set the value of the `aria-busy` attribute
2291        pub fn aria_busy(&mut self, value: bool) -> &mut Self {
2292            self.element.set_aria_busy(value);
2293            self
2294        }
2295        /// Set the value of the `aria-checked` attribute
2296        pub fn aria_checked(
2297            &mut self,
2298            value: impl Into<std::borrow::Cow<'static, str>>,
2299        ) -> &mut Self {
2300            self.element.set_aria_checked(Some(value.into()));
2301            self
2302        }
2303        /// Set the value of the `aria-colcount` attribute
2304        pub fn aria_col_count(&mut self, value: i64) -> &mut Self {
2305            self.element.set_aria_col_count(Some(value));
2306            self
2307        }
2308        /// Set the value of the `aria-colindex` attribute
2309        pub fn aria_col_index(&mut self, value: i64) -> &mut Self {
2310            self.element.set_aria_col_index(Some(value));
2311            self
2312        }
2313        /// Set the value of the `aria-colindextext` attribute
2314        pub fn aria_col_index_text(
2315            &mut self,
2316            value: impl Into<std::borrow::Cow<'static, str>>,
2317        ) -> &mut Self {
2318            self.element.set_aria_col_index_text(Some(value.into()));
2319            self
2320        }
2321        /// Set the value of the `aria-colspan` attribute
2322        pub fn aria_col_span(&mut self, value: i64) -> &mut Self {
2323            self.element.set_aria_col_span(Some(value));
2324            self
2325        }
2326        /// Set the value of the `aria-controls` attribute
2327        pub fn aria_controls_elements(
2328            &mut self,
2329            value: impl Into<std::borrow::Cow<'static, str>>,
2330        ) -> &mut Self {
2331            self.element.set_aria_controls_elements(Some(value.into()));
2332            self
2333        }
2334        /// Set the value of the `aria-current` attribute
2335        pub fn aria_current(
2336            &mut self,
2337            value: impl Into<std::borrow::Cow<'static, str>>,
2338        ) -> &mut Self {
2339            self.element.set_aria_current(Some(value.into()));
2340            self
2341        }
2342        /// Set the value of the `aria-describedby` attribute
2343        pub fn aria_described_by_elements(
2344            &mut self,
2345            value: impl Into<std::borrow::Cow<'static, str>>,
2346        ) -> &mut Self {
2347            self.element.set_aria_described_by_elements(Some(value.into()));
2348            self
2349        }
2350        /// Set the value of the `aria-description` attribute
2351        pub fn aria_description(
2352            &mut self,
2353            value: impl Into<std::borrow::Cow<'static, str>>,
2354        ) -> &mut Self {
2355            self.element.set_aria_description(Some(value.into()));
2356            self
2357        }
2358        /// Set the value of the `aria-details` attribute
2359        pub fn aria_details_elements(
2360            &mut self,
2361            value: impl Into<std::borrow::Cow<'static, str>>,
2362        ) -> &mut Self {
2363            self.element.set_aria_details_elements(Some(value.into()));
2364            self
2365        }
2366        /// Set the value of the `aria-disabled` attribute
2367        pub fn aria_disabled(&mut self, value: bool) -> &mut Self {
2368            self.element.set_aria_disabled(value);
2369            self
2370        }
2371        /// Set the value of the `aria-dropeffect` attribute
2372        pub fn aria_drop_effect(
2373            &mut self,
2374            value: impl Into<std::borrow::Cow<'static, str>>,
2375        ) -> &mut Self {
2376            self.element.set_aria_drop_effect(Some(value.into()));
2377            self
2378        }
2379        /// Set the value of the `aria-errormessage` attribute
2380        pub fn aria_error_message_elements(
2381            &mut self,
2382            value: impl Into<std::borrow::Cow<'static, str>>,
2383        ) -> &mut Self {
2384            self.element.set_aria_error_message_elements(Some(value.into()));
2385            self
2386        }
2387        /// Set the value of the `aria-expanded` attribute
2388        pub fn aria_expanded(&mut self, value: bool) -> &mut Self {
2389            self.element.set_aria_expanded(value);
2390            self
2391        }
2392        /// Set the value of the `aria-flowto` attribute
2393        pub fn aria_flow_to_elements(
2394            &mut self,
2395            value: impl Into<std::borrow::Cow<'static, str>>,
2396        ) -> &mut Self {
2397            self.element.set_aria_flow_to_elements(Some(value.into()));
2398            self
2399        }
2400        /// Set the value of the `aria-grabbed` attribute
2401        pub fn aria_grabbed(&mut self, value: bool) -> &mut Self {
2402            self.element.set_aria_grabbed(value);
2403            self
2404        }
2405        /// Set the value of the `aria-haspopup` attribute
2406        pub fn aria_has_popup(
2407            &mut self,
2408            value: impl Into<std::borrow::Cow<'static, str>>,
2409        ) -> &mut Self {
2410            self.element.set_aria_has_popup(Some(value.into()));
2411            self
2412        }
2413        /// Set the value of the `aria-hidden` attribute
2414        pub fn aria_hidden(&mut self, value: bool) -> &mut Self {
2415            self.element.set_aria_hidden(value);
2416            self
2417        }
2418        /// Set the value of the `aria-invalid` attribute
2419        pub fn aria_invalid(
2420            &mut self,
2421            value: impl Into<std::borrow::Cow<'static, str>>,
2422        ) -> &mut Self {
2423            self.element.set_aria_invalid(Some(value.into()));
2424            self
2425        }
2426        /// Set the value of the `aria-keyshortcuts` attribute
2427        pub fn aria_key_shortcuts(
2428            &mut self,
2429            value: impl Into<std::borrow::Cow<'static, str>>,
2430        ) -> &mut Self {
2431            self.element.set_aria_key_shortcuts(Some(value.into()));
2432            self
2433        }
2434        /// Set the value of the `aria-level` attribute
2435        pub fn aria_level(&mut self, value: i64) -> &mut Self {
2436            self.element.set_aria_level(Some(value));
2437            self
2438        }
2439        /// Set the value of the `aria-live` attribute
2440        pub fn aria_live(
2441            &mut self,
2442            value: impl Into<std::borrow::Cow<'static, str>>,
2443        ) -> &mut Self {
2444            self.element.set_aria_live(Some(value.into()));
2445            self
2446        }
2447        /// Set the value of the `aria-modal` attribute
2448        pub fn aria_modal(&mut self, value: bool) -> &mut Self {
2449            self.element.set_aria_modal(value);
2450            self
2451        }
2452        /// Set the value of the `aria-multiline` attribute
2453        pub fn aria_multi_line(&mut self, value: bool) -> &mut Self {
2454            self.element.set_aria_multi_line(value);
2455            self
2456        }
2457        /// Set the value of the `aria-multiselectable` attribute
2458        pub fn aria_multi_selectable(&mut self, value: bool) -> &mut Self {
2459            self.element.set_aria_multi_selectable(value);
2460            self
2461        }
2462        /// Set the value of the `aria-orientation` attribute
2463        pub fn aria_orientation(
2464            &mut self,
2465            value: impl Into<std::borrow::Cow<'static, str>>,
2466        ) -> &mut Self {
2467            self.element.set_aria_orientation(Some(value.into()));
2468            self
2469        }
2470        /// Set the value of the `aria-owns` attribute
2471        pub fn aria_owns_elements(
2472            &mut self,
2473            value: impl Into<std::borrow::Cow<'static, str>>,
2474        ) -> &mut Self {
2475            self.element.set_aria_owns_elements(Some(value.into()));
2476            self
2477        }
2478        /// Set the value of the `aria-placeholder` attribute
2479        pub fn aria_placeholder(
2480            &mut self,
2481            value: impl Into<std::borrow::Cow<'static, str>>,
2482        ) -> &mut Self {
2483            self.element.set_aria_placeholder(Some(value.into()));
2484            self
2485        }
2486        /// Set the value of the `aria-posinset` attribute
2487        pub fn aria_pos_in_set(&mut self, value: i64) -> &mut Self {
2488            self.element.set_aria_pos_in_set(Some(value));
2489            self
2490        }
2491        /// Set the value of the `aria-pressed` attribute
2492        pub fn aria_pressed(
2493            &mut self,
2494            value: impl Into<std::borrow::Cow<'static, str>>,
2495        ) -> &mut Self {
2496            self.element.set_aria_pressed(Some(value.into()));
2497            self
2498        }
2499        /// Set the value of the `aria-readonly` attribute
2500        pub fn aria_read_only(&mut self, value: bool) -> &mut Self {
2501            self.element.set_aria_read_only(value);
2502            self
2503        }
2504        /// Set the value of the `aria-relevant` attribute
2505        pub fn aria_relevant(
2506            &mut self,
2507            value: impl Into<std::borrow::Cow<'static, str>>,
2508        ) -> &mut Self {
2509            self.element.set_aria_relevant(Some(value.into()));
2510            self
2511        }
2512        /// Set the value of the `aria-required` attribute
2513        pub fn aria_required(&mut self, value: bool) -> &mut Self {
2514            self.element.set_aria_required(value);
2515            self
2516        }
2517        /// Set the value of the `aria-roledescription` attribute
2518        pub fn aria_role_description(
2519            &mut self,
2520            value: impl Into<std::borrow::Cow<'static, str>>,
2521        ) -> &mut Self {
2522            self.element.set_aria_role_description(Some(value.into()));
2523            self
2524        }
2525        /// Set the value of the `aria-rowcount` attribute
2526        pub fn aria_row_count(&mut self, value: i64) -> &mut Self {
2527            self.element.set_aria_row_count(Some(value));
2528            self
2529        }
2530        /// Set the value of the `aria-rowindex` attribute
2531        pub fn aria_row_index(&mut self, value: i64) -> &mut Self {
2532            self.element.set_aria_row_index(Some(value));
2533            self
2534        }
2535        /// Set the value of the `aria-rowindextext` attribute
2536        pub fn aria_row_index_text(
2537            &mut self,
2538            value: impl Into<std::borrow::Cow<'static, str>>,
2539        ) -> &mut Self {
2540            self.element.set_aria_row_index_text(Some(value.into()));
2541            self
2542        }
2543        /// Set the value of the `aria-rowspan` attribute
2544        pub fn aria_row_span(&mut self, value: i64) -> &mut Self {
2545            self.element.set_aria_row_span(Some(value));
2546            self
2547        }
2548        /// Set the value of the `aria-selected` attribute
2549        pub fn aria_selected(&mut self, value: bool) -> &mut Self {
2550            self.element.set_aria_selected(value);
2551            self
2552        }
2553        /// Set the value of the `aria-setsize` attribute
2554        pub fn aria_set_size(&mut self, value: i64) -> &mut Self {
2555            self.element.set_aria_set_size(Some(value));
2556            self
2557        }
2558        /// Set the value of the `aria-sort` attribute
2559        pub fn aria_sort(
2560            &mut self,
2561            value: impl Into<std::borrow::Cow<'static, str>>,
2562        ) -> &mut Self {
2563            self.element.set_aria_sort(Some(value.into()));
2564            self
2565        }
2566        /// Set the value of the `aria-valuemax` attribute
2567        pub fn aria_value_max(&mut self, value: f64) -> &mut Self {
2568            self.element.set_aria_value_max(Some(value));
2569            self
2570        }
2571        /// Set the value of the `aria-valuemin` attribute
2572        pub fn aria_value_min(&mut self, value: f64) -> &mut Self {
2573            self.element.set_aria_value_min(Some(value));
2574            self
2575        }
2576        /// Set the value of the `aria-valuenow` attribute
2577        pub fn aria_value_now(&mut self, value: f64) -> &mut Self {
2578            self.element.set_aria_value_now(Some(value));
2579            self
2580        }
2581        /// Set the value of the `aria-valuetext` attribute
2582        pub fn aria_value_text(
2583            &mut self,
2584            value: impl Into<std::borrow::Cow<'static, str>>,
2585        ) -> &mut Self {
2586            self.element.set_aria_value_text(Some(value.into()));
2587            self
2588        }
2589        /// Set the value of the `accesskey` attribute
2590        pub fn access_key(
2591            &mut self,
2592            value: impl Into<std::borrow::Cow<'static, str>>,
2593        ) -> &mut Self {
2594            self.element.set_access_key(Some(value.into()));
2595            self
2596        }
2597        /// Set the value of the `autocapitalize` attribute
2598        pub fn auto_capitalize(
2599            &mut self,
2600            value: impl Into<std::borrow::Cow<'static, str>>,
2601        ) -> &mut Self {
2602            self.element.set_auto_capitalize(Some(value.into()));
2603            self
2604        }
2605        /// Set the value of the `autofocus` attribute
2606        pub fn autofocus(&mut self, value: bool) -> &mut Self {
2607            self.element.set_autofocus(value);
2608            self
2609        }
2610        /// Set the value of the `class` attribute
2611        pub fn class(
2612            &mut self,
2613            value: impl Into<std::borrow::Cow<'static, str>>,
2614        ) -> &mut Self {
2615            self.element.set_class(Some(value.into()));
2616            self
2617        }
2618        /// Set the value of the `contenteditable` attribute
2619        pub fn content_editable(
2620            &mut self,
2621            value: impl Into<std::borrow::Cow<'static, str>>,
2622        ) -> &mut Self {
2623            self.element.set_content_editable(Some(value.into()));
2624            self
2625        }
2626        /// Set the value of the `dir` attribute
2627        pub fn direction(
2628            &mut self,
2629            value: impl Into<std::borrow::Cow<'static, str>>,
2630        ) -> &mut Self {
2631            self.element.set_direction(Some(value.into()));
2632            self
2633        }
2634        /// Set the value of the `draggable` attribute
2635        pub fn draggable(&mut self, value: bool) -> &mut Self {
2636            self.element.set_draggable(value);
2637            self
2638        }
2639        /// Set the value of the `enterkeyhint` attribute
2640        pub fn enter_key_hint(
2641            &mut self,
2642            value: impl Into<std::borrow::Cow<'static, str>>,
2643        ) -> &mut Self {
2644            self.element.set_enter_key_hint(Some(value.into()));
2645            self
2646        }
2647        /// Set the value of the `exportparts` attribute
2648        pub fn export_parts(
2649            &mut self,
2650            value: impl Into<std::borrow::Cow<'static, str>>,
2651        ) -> &mut Self {
2652            self.element.set_export_parts(Some(value.into()));
2653            self
2654        }
2655        /// Set the value of the `hidden` attribute
2656        pub fn hidden(
2657            &mut self,
2658            value: impl Into<std::borrow::Cow<'static, str>>,
2659        ) -> &mut Self {
2660            self.element.set_hidden(Some(value.into()));
2661            self
2662        }
2663        /// Set the value of the `id` attribute
2664        pub fn id(
2665            &mut self,
2666            value: impl Into<std::borrow::Cow<'static, str>>,
2667        ) -> &mut Self {
2668            self.element.set_id(Some(value.into()));
2669            self
2670        }
2671        /// Set the value of the `inert` attribute
2672        pub fn inert(&mut self, value: bool) -> &mut Self {
2673            self.element.set_inert(value);
2674            self
2675        }
2676        /// Set the value of the `inputmode` attribute
2677        pub fn input_mode(
2678            &mut self,
2679            value: impl Into<std::borrow::Cow<'static, str>>,
2680        ) -> &mut Self {
2681            self.element.set_input_mode(Some(value.into()));
2682            self
2683        }
2684        /// Set the value of the `is` attribute
2685        pub fn is_(
2686            &mut self,
2687            value: impl Into<std::borrow::Cow<'static, str>>,
2688        ) -> &mut Self {
2689            self.element.set_is_(Some(value.into()));
2690            self
2691        }
2692        /// Set the value of the `itemid` attribute
2693        pub fn item_id(
2694            &mut self,
2695            value: impl Into<std::borrow::Cow<'static, str>>,
2696        ) -> &mut Self {
2697            self.element.set_item_id(Some(value.into()));
2698            self
2699        }
2700        /// Set the value of the `itemprop` attribute
2701        pub fn item_prop(
2702            &mut self,
2703            value: impl Into<std::borrow::Cow<'static, str>>,
2704        ) -> &mut Self {
2705            self.element.set_item_prop(Some(value.into()));
2706            self
2707        }
2708        /// Set the value of the `itemref` attribute
2709        pub fn item_ref(
2710            &mut self,
2711            value: impl Into<std::borrow::Cow<'static, str>>,
2712        ) -> &mut Self {
2713            self.element.set_item_ref(Some(value.into()));
2714            self
2715        }
2716        /// Set the value of the `itemscope` attribute
2717        pub fn item_scope(
2718            &mut self,
2719            value: impl Into<std::borrow::Cow<'static, str>>,
2720        ) -> &mut Self {
2721            self.element.set_item_scope(Some(value.into()));
2722            self
2723        }
2724        /// Set the value of the `itemtype` attribute
2725        pub fn item_type(
2726            &mut self,
2727            value: impl Into<std::borrow::Cow<'static, str>>,
2728        ) -> &mut Self {
2729            self.element.set_item_type(Some(value.into()));
2730            self
2731        }
2732        /// Set the value of the `lang` attribute
2733        pub fn lang(
2734            &mut self,
2735            value: impl Into<std::borrow::Cow<'static, str>>,
2736        ) -> &mut Self {
2737            self.element.set_lang(Some(value.into()));
2738            self
2739        }
2740        /// Set the value of the `nonce` attribute
2741        pub fn nonce(
2742            &mut self,
2743            value: impl Into<std::borrow::Cow<'static, str>>,
2744        ) -> &mut Self {
2745            self.element.set_nonce(Some(value.into()));
2746            self
2747        }
2748        /// Set the value of the `part` attribute
2749        pub fn part(
2750            &mut self,
2751            value: impl Into<std::borrow::Cow<'static, str>>,
2752        ) -> &mut Self {
2753            self.element.set_part(Some(value.into()));
2754            self
2755        }
2756        /// Set the value of the `slot` attribute
2757        pub fn slot_attr(
2758            &mut self,
2759            value: impl Into<std::borrow::Cow<'static, str>>,
2760        ) -> &mut Self {
2761            self.element.set_slot(Some(value.into()));
2762            self
2763        }
2764        /// Set the value of the `spellcheck` attribute
2765        pub fn spellcheck(
2766            &mut self,
2767            value: impl Into<std::borrow::Cow<'static, str>>,
2768        ) -> &mut Self {
2769            self.element.set_spellcheck(Some(value.into()));
2770            self
2771        }
2772        /// Set the value of the `style` attribute
2773        pub fn style(
2774            &mut self,
2775            value: impl Into<std::borrow::Cow<'static, str>>,
2776        ) -> &mut Self {
2777            self.element.set_style(Some(value.into()));
2778            self
2779        }
2780        /// Set the value of the `tabindex` attribute
2781        pub fn tab_index(&mut self, value: i64) -> &mut Self {
2782            self.element.set_tab_index(Some(value));
2783            self
2784        }
2785        /// Set the value of the `title` attribute
2786        pub fn title(
2787            &mut self,
2788            value: impl Into<std::borrow::Cow<'static, str>>,
2789        ) -> &mut Self {
2790            self.element.set_title(Some(value.into()));
2791            self
2792        }
2793        /// Set the value of the `translate` attribute
2794        pub fn translate(&mut self, value: bool) -> &mut Self {
2795            self.element.set_translate(value);
2796            self
2797        }
2798        /// Push a new child element to the list of children.
2799        pub fn push<T>(&mut self, child_el: T) -> &mut Self
2800        where
2801            T: Into<crate::generated::all::children::ParagraphChild>,
2802        {
2803            let child_el = child_el.into();
2804            self.element.children_mut().push(child_el);
2805            self
2806        }
2807        /// Extend the list of children with an iterator of child elements.
2808        pub fn extend<I, T>(&mut self, iter: I) -> &mut Self
2809        where
2810            I: IntoIterator<Item = T>,
2811            T: Into<crate::generated::all::children::ParagraphChild>,
2812        {
2813            let iter = iter.into_iter().map(|child_el| child_el.into());
2814            self.element.children_mut().extend(iter);
2815            self
2816        }
2817    }
2818}