html/generated/
s.rs

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