html/generated/
span.rs

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