html/generated/
bdo.rs

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