html/generated/
bdi.rs

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