html/generated/
progress.rs

1pub mod element {
2    /// The HTML `<progress>` element
3    ///
4    /// [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress)
5    #[doc(alias = "progress")]
6    #[non_exhaustive]
7    #[derive(PartialEq, Clone, Default)]
8    pub struct Progress {
9        sys: html_sys::forms::Progress,
10        children: Vec<super::child::ProgressChild>,
11    }
12    impl Progress {
13        /// Create a new builder
14        pub fn builder() -> super::builder::ProgressBuilder {
15            super::builder::ProgressBuilder::new(Default::default())
16        }
17    }
18    impl Progress {
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 Progress {
29        /// Get the value of the `value` attribute
30        pub fn value(&self) -> std::option::Option<f64> {
31            self.sys.value
32        }
33        /// Set the value of the `value` attribute
34        pub fn set_value(&mut self, value: std::option::Option<f64>) {
35            self.sys.value = value;
36        }
37        /// Get the value of the `max` attribute
38        pub fn max(&self) -> std::option::Option<f64> {
39            self.sys.max
40        }
41        /// Set the value of the `max` attribute
42        pub fn set_max(&mut self, value: std::option::Option<f64>) {
43            self.sys.max = value;
44        }
45        /// Get the value of the `role` attribute
46        pub fn role(&self) -> std::option::Option<&str> {
47            self.sys.role.as_deref()
48        }
49        /// Set the value of the `role` attribute
50        pub fn set_role(
51            &mut self,
52            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
53        ) {
54            self.sys.role = value.map(|v| v.into());
55        }
56        /// Get the value of the `aria-atomic` attribute
57        pub fn aria_atomic(&self) -> bool {
58            self.sys.aria_atomic
59        }
60        /// Set the value of the `aria-atomic` attribute
61        pub fn set_aria_atomic(&mut self, value: bool) {
62            self.sys.aria_atomic = value;
63        }
64        /// Get the value of the `aria-braillelabel` attribute
65        pub fn aria_braille_label(&self) -> std::option::Option<&str> {
66            self.sys.aria_braille_label.as_deref()
67        }
68        /// Set the value of the `aria-braillelabel` attribute
69        pub fn set_aria_braille_label(
70            &mut self,
71            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
72        ) {
73            self.sys.aria_braille_label = value.map(|v| v.into());
74        }
75        /// Get the value of the `aria-brailleroledescription` attribute
76        pub fn aria_braille_role_description(&self) -> std::option::Option<&str> {
77            self.sys.aria_braille_role_description.as_deref()
78        }
79        /// Set the value of the `aria-brailleroledescription` attribute
80        pub fn set_aria_braille_role_description(
81            &mut self,
82            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
83        ) {
84            self.sys.aria_braille_role_description = value.map(|v| v.into());
85        }
86        /// Get the value of the `aria-busy` attribute
87        pub fn aria_busy(&self) -> bool {
88            self.sys.aria_busy
89        }
90        /// Set the value of the `aria-busy` attribute
91        pub fn set_aria_busy(&mut self, value: bool) {
92            self.sys.aria_busy = value;
93        }
94        /// Get the value of the `aria-controls` attribute
95        pub fn aria_controls_elements(&self) -> std::option::Option<&str> {
96            self.sys.aria_controls_elements.as_deref()
97        }
98        /// Set the value of the `aria-controls` attribute
99        pub fn set_aria_controls_elements(
100            &mut self,
101            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
102        ) {
103            self.sys.aria_controls_elements = value.map(|v| v.into());
104        }
105        /// Get the value of the `aria-current` attribute
106        pub fn aria_current(&self) -> std::option::Option<&str> {
107            self.sys.aria_current.as_deref()
108        }
109        /// Set the value of the `aria-current` attribute
110        pub fn set_aria_current(
111            &mut self,
112            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
113        ) {
114            self.sys.aria_current = value.map(|v| v.into());
115        }
116        /// Get the value of the `aria-describedby` attribute
117        pub fn aria_described_by_elements(&self) -> std::option::Option<&str> {
118            self.sys.aria_described_by_elements.as_deref()
119        }
120        /// Set the value of the `aria-describedby` attribute
121        pub fn set_aria_described_by_elements(
122            &mut self,
123            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
124        ) {
125            self.sys.aria_described_by_elements = value.map(|v| v.into());
126        }
127        /// Get the value of the `aria-description` attribute
128        pub fn aria_description(&self) -> std::option::Option<&str> {
129            self.sys.aria_description.as_deref()
130        }
131        /// Set the value of the `aria-description` attribute
132        pub fn set_aria_description(
133            &mut self,
134            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
135        ) {
136            self.sys.aria_description = value.map(|v| v.into());
137        }
138        /// Get the value of the `aria-details` attribute
139        pub fn aria_details_elements(&self) -> std::option::Option<&str> {
140            self.sys.aria_details_elements.as_deref()
141        }
142        /// Set the value of the `aria-details` attribute
143        pub fn set_aria_details_elements(
144            &mut self,
145            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
146        ) {
147            self.sys.aria_details_elements = value.map(|v| v.into());
148        }
149        /// Get the value of the `aria-disabled` attribute
150        pub fn aria_disabled(&self) -> bool {
151            self.sys.aria_disabled
152        }
153        /// Set the value of the `aria-disabled` attribute
154        pub fn set_aria_disabled(&mut self, value: bool) {
155            self.sys.aria_disabled = value;
156        }
157        /// Get the value of the `aria-dropeffect` attribute
158        pub fn aria_drop_effect(&self) -> std::option::Option<&str> {
159            self.sys.aria_drop_effect.as_deref()
160        }
161        /// Set the value of the `aria-dropeffect` attribute
162        pub fn set_aria_drop_effect(
163            &mut self,
164            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
165        ) {
166            self.sys.aria_drop_effect = value.map(|v| v.into());
167        }
168        /// Get the value of the `aria-errormessage` attribute
169        pub fn aria_error_message_elements(&self) -> std::option::Option<&str> {
170            self.sys.aria_error_message_elements.as_deref()
171        }
172        /// Set the value of the `aria-errormessage` attribute
173        pub fn set_aria_error_message_elements(
174            &mut self,
175            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
176        ) {
177            self.sys.aria_error_message_elements = value.map(|v| v.into());
178        }
179        /// Get the value of the `aria-flowto` attribute
180        pub fn aria_flow_to_elements(&self) -> std::option::Option<&str> {
181            self.sys.aria_flow_to_elements.as_deref()
182        }
183        /// Set the value of the `aria-flowto` attribute
184        pub fn set_aria_flow_to_elements(
185            &mut self,
186            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
187        ) {
188            self.sys.aria_flow_to_elements = value.map(|v| v.into());
189        }
190        /// Get the value of the `aria-grabbed` attribute
191        pub fn aria_grabbed(&self) -> bool {
192            self.sys.aria_grabbed
193        }
194        /// Set the value of the `aria-grabbed` attribute
195        pub fn set_aria_grabbed(&mut self, value: bool) {
196            self.sys.aria_grabbed = value;
197        }
198        /// Get the value of the `aria-haspopup` attribute
199        pub fn aria_has_popup(&self) -> std::option::Option<&str> {
200            self.sys.aria_has_popup.as_deref()
201        }
202        /// Set the value of the `aria-haspopup` attribute
203        pub fn set_aria_has_popup(
204            &mut self,
205            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
206        ) {
207            self.sys.aria_has_popup = value.map(|v| v.into());
208        }
209        /// Get the value of the `aria-hidden` attribute
210        pub fn aria_hidden(&self) -> bool {
211            self.sys.aria_hidden
212        }
213        /// Set the value of the `aria-hidden` attribute
214        pub fn set_aria_hidden(&mut self, value: bool) {
215            self.sys.aria_hidden = value;
216        }
217        /// Get the value of the `aria-invalid` attribute
218        pub fn aria_invalid(&self) -> std::option::Option<&str> {
219            self.sys.aria_invalid.as_deref()
220        }
221        /// Set the value of the `aria-invalid` attribute
222        pub fn set_aria_invalid(
223            &mut self,
224            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
225        ) {
226            self.sys.aria_invalid = value.map(|v| v.into());
227        }
228        /// Get the value of the `aria-keyshortcuts` attribute
229        pub fn aria_key_shortcuts(&self) -> std::option::Option<&str> {
230            self.sys.aria_key_shortcuts.as_deref()
231        }
232        /// Set the value of the `aria-keyshortcuts` attribute
233        pub fn set_aria_key_shortcuts(
234            &mut self,
235            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
236        ) {
237            self.sys.aria_key_shortcuts = value.map(|v| v.into());
238        }
239        /// Get the value of the `aria-label` attribute
240        pub fn aria_label(&self) -> std::option::Option<&str> {
241            self.sys.aria_label.as_deref()
242        }
243        /// Set the value of the `aria-label` attribute
244        pub fn set_aria_label(
245            &mut self,
246            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
247        ) {
248            self.sys.aria_label = value.map(|v| v.into());
249        }
250        /// Get the value of the `aria-labelledby` attribute
251        pub fn aria_labelled_by_elements(&self) -> std::option::Option<&str> {
252            self.sys.aria_labelled_by_elements.as_deref()
253        }
254        /// Set the value of the `aria-labelledby` attribute
255        pub fn set_aria_labelled_by_elements(
256            &mut self,
257            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
258        ) {
259            self.sys.aria_labelled_by_elements = value.map(|v| v.into());
260        }
261        /// Get the value of the `aria-live` attribute
262        pub fn aria_live(&self) -> std::option::Option<&str> {
263            self.sys.aria_live.as_deref()
264        }
265        /// Set the value of the `aria-live` attribute
266        pub fn set_aria_live(
267            &mut self,
268            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
269        ) {
270            self.sys.aria_live = value.map(|v| v.into());
271        }
272        /// Get the value of the `aria-owns` attribute
273        pub fn aria_owns_elements(&self) -> std::option::Option<&str> {
274            self.sys.aria_owns_elements.as_deref()
275        }
276        /// Set the value of the `aria-owns` attribute
277        pub fn set_aria_owns_elements(
278            &mut self,
279            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
280        ) {
281            self.sys.aria_owns_elements = value.map(|v| v.into());
282        }
283        /// Get the value of the `aria-relevant` attribute
284        pub fn aria_relevant(&self) -> std::option::Option<&str> {
285            self.sys.aria_relevant.as_deref()
286        }
287        /// Set the value of the `aria-relevant` attribute
288        pub fn set_aria_relevant(
289            &mut self,
290            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
291        ) {
292            self.sys.aria_relevant = value.map(|v| v.into());
293        }
294        /// Get the value of the `aria-roledescription` attribute
295        pub fn aria_role_description(&self) -> std::option::Option<&str> {
296            self.sys.aria_role_description.as_deref()
297        }
298        /// Set the value of the `aria-roledescription` attribute
299        pub fn set_aria_role_description(
300            &mut self,
301            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
302        ) {
303            self.sys.aria_role_description = value.map(|v| v.into());
304        }
305        /// Get the value of the `aria-valuemax` attribute
306        pub fn aria_value_max(&self) -> std::option::Option<f64> {
307            self.sys.aria_value_max
308        }
309        /// Set the value of the `aria-valuemax` attribute
310        pub fn set_aria_value_max(&mut self, value: std::option::Option<f64>) {
311            self.sys.aria_value_max = value;
312        }
313        /// Get the value of the `aria-valuemin` attribute
314        pub fn aria_value_min(&self) -> std::option::Option<f64> {
315            self.sys.aria_value_min
316        }
317        /// Set the value of the `aria-valuemin` attribute
318        pub fn set_aria_value_min(&mut self, value: std::option::Option<f64>) {
319            self.sys.aria_value_min = value;
320        }
321        /// Get the value of the `aria-valuenow` attribute
322        pub fn aria_value_now(&self) -> std::option::Option<f64> {
323            self.sys.aria_value_now
324        }
325        /// Set the value of the `aria-valuenow` attribute
326        pub fn set_aria_value_now(&mut self, value: std::option::Option<f64>) {
327            self.sys.aria_value_now = value;
328        }
329        /// Get the value of the `aria-valuetext` attribute
330        pub fn aria_value_text(&self) -> std::option::Option<&str> {
331            self.sys.aria_value_text.as_deref()
332        }
333        /// Set the value of the `aria-valuetext` attribute
334        pub fn set_aria_value_text(
335            &mut self,
336            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
337        ) {
338            self.sys.aria_value_text = value.map(|v| v.into());
339        }
340        /// Get the value of the `accesskey` attribute
341        pub fn access_key(&self) -> std::option::Option<&str> {
342            self.sys.access_key.as_deref()
343        }
344        /// Set the value of the `accesskey` attribute
345        pub fn set_access_key(
346            &mut self,
347            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
348        ) {
349            self.sys.access_key = value.map(|v| v.into());
350        }
351        /// Get the value of the `autocapitalize` attribute
352        pub fn auto_capitalize(&self) -> std::option::Option<&str> {
353            self.sys.auto_capitalize.as_deref()
354        }
355        /// Set the value of the `autocapitalize` attribute
356        pub fn set_auto_capitalize(
357            &mut self,
358            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
359        ) {
360            self.sys.auto_capitalize = value.map(|v| v.into());
361        }
362        /// Get the value of the `autofocus` attribute
363        pub fn autofocus(&self) -> bool {
364            self.sys.autofocus
365        }
366        /// Set the value of the `autofocus` attribute
367        pub fn set_autofocus(&mut self, value: bool) {
368            self.sys.autofocus = value;
369        }
370        /// Get the value of the `class` attribute
371        pub fn class(&self) -> std::option::Option<&str> {
372            self.sys.class.as_deref()
373        }
374        /// Set the value of the `class` attribute
375        pub fn set_class(
376            &mut self,
377            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
378        ) {
379            self.sys.class = value.map(|v| v.into());
380        }
381        /// Get the value of the `contenteditable` attribute
382        pub fn content_editable(&self) -> std::option::Option<&str> {
383            self.sys.content_editable.as_deref()
384        }
385        /// Set the value of the `contenteditable` attribute
386        pub fn set_content_editable(
387            &mut self,
388            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
389        ) {
390            self.sys.content_editable = value.map(|v| v.into());
391        }
392        /// Get the value of the `dir` attribute
393        pub fn direction(&self) -> std::option::Option<&str> {
394            self.sys.direction.as_deref()
395        }
396        /// Set the value of the `dir` attribute
397        pub fn set_direction(
398            &mut self,
399            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
400        ) {
401            self.sys.direction = value.map(|v| v.into());
402        }
403        /// Get the value of the `draggable` attribute
404        pub fn draggable(&self) -> bool {
405            self.sys.draggable
406        }
407        /// Set the value of the `draggable` attribute
408        pub fn set_draggable(&mut self, value: bool) {
409            self.sys.draggable = value;
410        }
411        /// Get the value of the `enterkeyhint` attribute
412        pub fn enter_key_hint(&self) -> std::option::Option<&str> {
413            self.sys.enter_key_hint.as_deref()
414        }
415        /// Set the value of the `enterkeyhint` attribute
416        pub fn set_enter_key_hint(
417            &mut self,
418            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
419        ) {
420            self.sys.enter_key_hint = value.map(|v| v.into());
421        }
422        /// Get the value of the `exportparts` attribute
423        pub fn export_parts(&self) -> std::option::Option<&str> {
424            self.sys.export_parts.as_deref()
425        }
426        /// Set the value of the `exportparts` attribute
427        pub fn set_export_parts(
428            &mut self,
429            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
430        ) {
431            self.sys.export_parts = value.map(|v| v.into());
432        }
433        /// Get the value of the `hidden` attribute
434        pub fn hidden(&self) -> std::option::Option<&str> {
435            self.sys.hidden.as_deref()
436        }
437        /// Set the value of the `hidden` attribute
438        pub fn set_hidden(
439            &mut self,
440            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
441        ) {
442            self.sys.hidden = value.map(|v| v.into());
443        }
444        /// Get the value of the `id` attribute
445        pub fn id(&self) -> std::option::Option<&str> {
446            self.sys.id.as_deref()
447        }
448        /// Set the value of the `id` attribute
449        pub fn set_id(
450            &mut self,
451            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
452        ) {
453            self.sys.id = value.map(|v| v.into());
454        }
455        /// Get the value of the `inert` attribute
456        pub fn inert(&self) -> bool {
457            self.sys.inert
458        }
459        /// Set the value of the `inert` attribute
460        pub fn set_inert(&mut self, value: bool) {
461            self.sys.inert = value;
462        }
463        /// Get the value of the `inputmode` attribute
464        pub fn input_mode(&self) -> std::option::Option<&str> {
465            self.sys.input_mode.as_deref()
466        }
467        /// Set the value of the `inputmode` attribute
468        pub fn set_input_mode(
469            &mut self,
470            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
471        ) {
472            self.sys.input_mode = value.map(|v| v.into());
473        }
474        /// Get the value of the `is` attribute
475        pub fn is_(&self) -> std::option::Option<&str> {
476            self.sys.is_.as_deref()
477        }
478        /// Set the value of the `is` attribute
479        pub fn set_is_(
480            &mut self,
481            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
482        ) {
483            self.sys.is_ = value.map(|v| v.into());
484        }
485        /// Get the value of the `itemid` attribute
486        pub fn item_id(&self) -> std::option::Option<&str> {
487            self.sys.item_id.as_deref()
488        }
489        /// Set the value of the `itemid` attribute
490        pub fn set_item_id(
491            &mut self,
492            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
493        ) {
494            self.sys.item_id = value.map(|v| v.into());
495        }
496        /// Get the value of the `itemprop` attribute
497        pub fn item_prop(&self) -> std::option::Option<&str> {
498            self.sys.item_prop.as_deref()
499        }
500        /// Set the value of the `itemprop` attribute
501        pub fn set_item_prop(
502            &mut self,
503            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
504        ) {
505            self.sys.item_prop = value.map(|v| v.into());
506        }
507        /// Get the value of the `itemref` attribute
508        pub fn item_ref(&self) -> std::option::Option<&str> {
509            self.sys.item_ref.as_deref()
510        }
511        /// Set the value of the `itemref` attribute
512        pub fn set_item_ref(
513            &mut self,
514            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
515        ) {
516            self.sys.item_ref = value.map(|v| v.into());
517        }
518        /// Get the value of the `itemscope` attribute
519        pub fn item_scope(&self) -> std::option::Option<&str> {
520            self.sys.item_scope.as_deref()
521        }
522        /// Set the value of the `itemscope` attribute
523        pub fn set_item_scope(
524            &mut self,
525            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
526        ) {
527            self.sys.item_scope = value.map(|v| v.into());
528        }
529        /// Get the value of the `itemtype` attribute
530        pub fn item_type(&self) -> std::option::Option<&str> {
531            self.sys.item_type.as_deref()
532        }
533        /// Set the value of the `itemtype` attribute
534        pub fn set_item_type(
535            &mut self,
536            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
537        ) {
538            self.sys.item_type = value.map(|v| v.into());
539        }
540        /// Get the value of the `lang` attribute
541        pub fn lang(&self) -> std::option::Option<&str> {
542            self.sys.lang.as_deref()
543        }
544        /// Set the value of the `lang` attribute
545        pub fn set_lang(
546            &mut self,
547            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
548        ) {
549            self.sys.lang = value.map(|v| v.into());
550        }
551        /// Get the value of the `nonce` attribute
552        pub fn nonce(&self) -> std::option::Option<&str> {
553            self.sys.nonce.as_deref()
554        }
555        /// Set the value of the `nonce` attribute
556        pub fn set_nonce(
557            &mut self,
558            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
559        ) {
560            self.sys.nonce = value.map(|v| v.into());
561        }
562        /// Get the value of the `part` attribute
563        pub fn part(&self) -> std::option::Option<&str> {
564            self.sys.part.as_deref()
565        }
566        /// Set the value of the `part` attribute
567        pub fn set_part(
568            &mut self,
569            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
570        ) {
571            self.sys.part = value.map(|v| v.into());
572        }
573        /// Get the value of the `slot` attribute
574        pub fn slot(&self) -> std::option::Option<&str> {
575            self.sys.slot.as_deref()
576        }
577        /// Set the value of the `slot` attribute
578        pub fn set_slot(
579            &mut self,
580            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
581        ) {
582            self.sys.slot = value.map(|v| v.into());
583        }
584        /// Get the value of the `spellcheck` attribute
585        pub fn spellcheck(&self) -> std::option::Option<&str> {
586            self.sys.spellcheck.as_deref()
587        }
588        /// Set the value of the `spellcheck` attribute
589        pub fn set_spellcheck(
590            &mut self,
591            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
592        ) {
593            self.sys.spellcheck = value.map(|v| v.into());
594        }
595        /// Get the value of the `style` attribute
596        pub fn style(&self) -> std::option::Option<&str> {
597            self.sys.style.as_deref()
598        }
599        /// Set the value of the `style` attribute
600        pub fn set_style(
601            &mut self,
602            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
603        ) {
604            self.sys.style = value.map(|v| v.into());
605        }
606        /// Get the value of the `tabindex` attribute
607        pub fn tab_index(&self) -> std::option::Option<i64> {
608            self.sys.tab_index
609        }
610        /// Set the value of the `tabindex` attribute
611        pub fn set_tab_index(&mut self, value: std::option::Option<i64>) {
612            self.sys.tab_index = value;
613        }
614        /// Get the value of the `title` attribute
615        pub fn title(&self) -> std::option::Option<&str> {
616            self.sys.title.as_deref()
617        }
618        /// Set the value of the `title` attribute
619        pub fn set_title(
620            &mut self,
621            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
622        ) {
623            self.sys.title = value.map(|v| v.into());
624        }
625        /// Get the value of the `translate` attribute
626        pub fn translate(&self) -> bool {
627            self.sys.translate
628        }
629        /// Set the value of the `translate` attribute
630        pub fn set_translate(&mut self, value: bool) {
631            self.sys.translate = value;
632        }
633    }
634    impl Progress {
635        /// Access the element's children
636        pub fn children(&self) -> &[super::child::ProgressChild] {
637            self.children.as_ref()
638        }
639        /// Mutably access the element's children
640        pub fn children_mut(&mut self) -> &mut Vec<super::child::ProgressChild> {
641            &mut self.children
642        }
643    }
644    impl crate::Render for Progress {
645        fn render(
646            &self,
647            f: &mut std::fmt::Formatter<'_>,
648            depth: usize,
649        ) -> std::fmt::Result {
650            write!(f, "{:level$}", "", level = depth * 4)?;
651            html_sys::RenderElement::write_opening_tag(&self.sys, f)?;
652            if !self.children.is_empty() {
653                write!(f, "\n")?;
654            }
655            for el in &self.children {
656                crate::Render::render(&el, f, depth)?;
657                write!(f, "\n")?;
658            }
659            write!(f, "{:level$}", "", level = depth * 4)?;
660            html_sys::RenderElement::write_closing_tag(&self.sys, f)?;
661            Ok(())
662        }
663    }
664    impl std::fmt::Debug for Progress {
665        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
666            crate::Render::render(self, f, 0)?;
667            Ok(())
668        }
669    }
670    impl std::fmt::Display for Progress {
671        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
672            html_sys::RenderElement::write_opening_tag(&self.sys, f)?;
673            for el in &self.children {
674                write!(f, "{el}")?;
675            }
676            html_sys::RenderElement::write_closing_tag(&self.sys, f)?;
677            Ok(())
678        }
679    }
680    impl crate::HtmlElement for Progress {}
681    impl crate::FlowContent for Progress {}
682    impl crate::PhrasingContent for Progress {}
683    impl crate::PalpableContent for Progress {}
684    impl std::convert::Into<html_sys::forms::Progress> for Progress {
685        fn into(self) -> html_sys::forms::Progress {
686            self.sys
687        }
688    }
689    impl From<html_sys::forms::Progress> for Progress {
690        fn from(sys: html_sys::forms::Progress) -> Self {
691            Self { sys, children: vec![] }
692        }
693    }
694}
695pub mod child {
696    /// The permitted child items for the `Progress` element
697    #[derive(PartialEq, Clone)]
698    pub enum ProgressChild {
699        /// The Abbreviation element
700        Abbreviation(crate::generated::all::Abbreviation),
701        /// The Anchor element
702        Anchor(crate::generated::all::Anchor),
703        /// The Audio element
704        Audio(crate::generated::all::Audio),
705        /// The BidirectionalIsolate element
706        BidirectionalIsolate(crate::generated::all::BidirectionalIsolate),
707        /// The BidirectionalTextOverride element
708        BidirectionalTextOverride(crate::generated::all::BidirectionalTextOverride),
709        /// The Bold element
710        Bold(crate::generated::all::Bold),
711        /// The Button element
712        Button(crate::generated::all::Button),
713        /// The Canvas element
714        Canvas(crate::generated::all::Canvas),
715        /// The Cite element
716        Cite(crate::generated::all::Cite),
717        /// The Code element
718        Code(crate::generated::all::Code),
719        /// The Data element
720        Data(crate::generated::all::Data),
721        /// The DataList element
722        DataList(crate::generated::all::DataList),
723        /// The Definition element
724        Definition(crate::generated::all::Definition),
725        /// The DeletedText element
726        DeletedText(crate::generated::all::DeletedText),
727        /// The Embed element
728        Embed(crate::generated::all::Embed),
729        /// The Emphasis element
730        Emphasis(crate::generated::all::Emphasis),
731        /// The Iframe element
732        Iframe(crate::generated::all::Iframe),
733        /// The Image element
734        Image(crate::generated::all::Image),
735        /// The ImageMap element
736        ImageMap(crate::generated::all::ImageMap),
737        /// The ImageMapArea element
738        ImageMapArea(crate::generated::all::ImageMapArea),
739        /// The Input element
740        Input(crate::generated::all::Input),
741        /// The InsertedText element
742        InsertedText(crate::generated::all::InsertedText),
743        /// The Italic element
744        Italic(crate::generated::all::Italic),
745        /// The KeyboardInput element
746        KeyboardInput(crate::generated::all::KeyboardInput),
747        /// The Label element
748        Label(crate::generated::all::Label),
749        /// The LineBreak element
750        LineBreak(crate::generated::all::LineBreak),
751        /// The LineBreakOpportunity element
752        LineBreakOpportunity(crate::generated::all::LineBreakOpportunity),
753        /// The Link element
754        Link(crate::generated::all::Link),
755        /// The MarkText element
756        MarkText(crate::generated::all::MarkText),
757        /// The Meta element
758        Meta(crate::generated::all::Meta),
759        /// The Meter element
760        Meter(crate::generated::all::Meter),
761        /// The NoScript element
762        NoScript(crate::generated::all::NoScript),
763        /// The Object element
764        Object(crate::generated::all::Object),
765        /// The Output element
766        Output(crate::generated::all::Output),
767        /// The Picture element
768        Picture(crate::generated::all::Picture),
769        /// The Progress element
770        Progress(crate::generated::all::Progress),
771        /// The Quotation element
772        Quotation(crate::generated::all::Quotation),
773        /// The RubyAnnotation element
774        RubyAnnotation(crate::generated::all::RubyAnnotation),
775        /// The SampleOutput element
776        SampleOutput(crate::generated::all::SampleOutput),
777        /// The Script element
778        Script(crate::generated::all::Script),
779        /// The Select element
780        Select(crate::generated::all::Select),
781        /// The SideComment element
782        SideComment(crate::generated::all::SideComment),
783        /// The Slot element
784        Slot(crate::generated::all::Slot),
785        /// The Span element
786        Span(crate::generated::all::Span),
787        /// The StrikeThrough element
788        StrikeThrough(crate::generated::all::StrikeThrough),
789        /// The Strong element
790        Strong(crate::generated::all::Strong),
791        /// The SubScript element
792        SubScript(crate::generated::all::SubScript),
793        /// The SuperScript element
794        SuperScript(crate::generated::all::SuperScript),
795        /// The Template element
796        Template(crate::generated::all::Template),
797        /// The Text element
798        Text(std::borrow::Cow<'static, str>),
799        /// The TextArea element
800        TextArea(crate::generated::all::TextArea),
801        /// The Time element
802        Time(crate::generated::all::Time),
803        /// The Underline element
804        Underline(crate::generated::all::Underline),
805        /// The Variable element
806        Variable(crate::generated::all::Variable),
807        /// The Video element
808        Video(crate::generated::all::Video),
809    }
810    impl std::convert::From<crate::generated::all::Abbreviation> for ProgressChild {
811        fn from(value: crate::generated::all::Abbreviation) -> Self {
812            Self::Abbreviation(value)
813        }
814    }
815    impl std::convert::From<crate::generated::all::Anchor> for ProgressChild {
816        fn from(value: crate::generated::all::Anchor) -> Self {
817            Self::Anchor(value)
818        }
819    }
820    impl std::convert::From<crate::generated::all::Audio> for ProgressChild {
821        fn from(value: crate::generated::all::Audio) -> Self {
822            Self::Audio(value)
823        }
824    }
825    impl std::convert::From<crate::generated::all::BidirectionalIsolate>
826    for ProgressChild {
827        fn from(value: crate::generated::all::BidirectionalIsolate) -> Self {
828            Self::BidirectionalIsolate(value)
829        }
830    }
831    impl std::convert::From<crate::generated::all::BidirectionalTextOverride>
832    for ProgressChild {
833        fn from(value: crate::generated::all::BidirectionalTextOverride) -> Self {
834            Self::BidirectionalTextOverride(value)
835        }
836    }
837    impl std::convert::From<crate::generated::all::Bold> for ProgressChild {
838        fn from(value: crate::generated::all::Bold) -> Self {
839            Self::Bold(value)
840        }
841    }
842    impl std::convert::From<crate::generated::all::Button> for ProgressChild {
843        fn from(value: crate::generated::all::Button) -> Self {
844            Self::Button(value)
845        }
846    }
847    impl std::convert::From<crate::generated::all::Canvas> for ProgressChild {
848        fn from(value: crate::generated::all::Canvas) -> Self {
849            Self::Canvas(value)
850        }
851    }
852    impl std::convert::From<crate::generated::all::Cite> for ProgressChild {
853        fn from(value: crate::generated::all::Cite) -> Self {
854            Self::Cite(value)
855        }
856    }
857    impl std::convert::From<crate::generated::all::Code> for ProgressChild {
858        fn from(value: crate::generated::all::Code) -> Self {
859            Self::Code(value)
860        }
861    }
862    impl std::convert::From<crate::generated::all::Data> for ProgressChild {
863        fn from(value: crate::generated::all::Data) -> Self {
864            Self::Data(value)
865        }
866    }
867    impl std::convert::From<crate::generated::all::DataList> for ProgressChild {
868        fn from(value: crate::generated::all::DataList) -> Self {
869            Self::DataList(value)
870        }
871    }
872    impl std::convert::From<crate::generated::all::Definition> for ProgressChild {
873        fn from(value: crate::generated::all::Definition) -> Self {
874            Self::Definition(value)
875        }
876    }
877    impl std::convert::From<crate::generated::all::DeletedText> for ProgressChild {
878        fn from(value: crate::generated::all::DeletedText) -> Self {
879            Self::DeletedText(value)
880        }
881    }
882    impl std::convert::From<crate::generated::all::Embed> for ProgressChild {
883        fn from(value: crate::generated::all::Embed) -> Self {
884            Self::Embed(value)
885        }
886    }
887    impl std::convert::From<crate::generated::all::Emphasis> for ProgressChild {
888        fn from(value: crate::generated::all::Emphasis) -> Self {
889            Self::Emphasis(value)
890        }
891    }
892    impl std::convert::From<crate::generated::all::Iframe> for ProgressChild {
893        fn from(value: crate::generated::all::Iframe) -> Self {
894            Self::Iframe(value)
895        }
896    }
897    impl std::convert::From<crate::generated::all::Image> for ProgressChild {
898        fn from(value: crate::generated::all::Image) -> Self {
899            Self::Image(value)
900        }
901    }
902    impl std::convert::From<crate::generated::all::ImageMap> for ProgressChild {
903        fn from(value: crate::generated::all::ImageMap) -> Self {
904            Self::ImageMap(value)
905        }
906    }
907    impl std::convert::From<crate::generated::all::ImageMapArea> for ProgressChild {
908        fn from(value: crate::generated::all::ImageMapArea) -> Self {
909            Self::ImageMapArea(value)
910        }
911    }
912    impl std::convert::From<crate::generated::all::Input> for ProgressChild {
913        fn from(value: crate::generated::all::Input) -> Self {
914            Self::Input(value)
915        }
916    }
917    impl std::convert::From<crate::generated::all::InsertedText> for ProgressChild {
918        fn from(value: crate::generated::all::InsertedText) -> Self {
919            Self::InsertedText(value)
920        }
921    }
922    impl std::convert::From<crate::generated::all::Italic> for ProgressChild {
923        fn from(value: crate::generated::all::Italic) -> Self {
924            Self::Italic(value)
925        }
926    }
927    impl std::convert::From<crate::generated::all::KeyboardInput> for ProgressChild {
928        fn from(value: crate::generated::all::KeyboardInput) -> Self {
929            Self::KeyboardInput(value)
930        }
931    }
932    impl std::convert::From<crate::generated::all::Label> for ProgressChild {
933        fn from(value: crate::generated::all::Label) -> Self {
934            Self::Label(value)
935        }
936    }
937    impl std::convert::From<crate::generated::all::LineBreak> for ProgressChild {
938        fn from(value: crate::generated::all::LineBreak) -> Self {
939            Self::LineBreak(value)
940        }
941    }
942    impl std::convert::From<crate::generated::all::LineBreakOpportunity>
943    for ProgressChild {
944        fn from(value: crate::generated::all::LineBreakOpportunity) -> Self {
945            Self::LineBreakOpportunity(value)
946        }
947    }
948    impl std::convert::From<crate::generated::all::Link> for ProgressChild {
949        fn from(value: crate::generated::all::Link) -> Self {
950            Self::Link(value)
951        }
952    }
953    impl std::convert::From<crate::generated::all::MarkText> for ProgressChild {
954        fn from(value: crate::generated::all::MarkText) -> Self {
955            Self::MarkText(value)
956        }
957    }
958    impl std::convert::From<crate::generated::all::Meta> for ProgressChild {
959        fn from(value: crate::generated::all::Meta) -> Self {
960            Self::Meta(value)
961        }
962    }
963    impl std::convert::From<crate::generated::all::Meter> for ProgressChild {
964        fn from(value: crate::generated::all::Meter) -> Self {
965            Self::Meter(value)
966        }
967    }
968    impl std::convert::From<crate::generated::all::NoScript> for ProgressChild {
969        fn from(value: crate::generated::all::NoScript) -> Self {
970            Self::NoScript(value)
971        }
972    }
973    impl std::convert::From<crate::generated::all::Object> for ProgressChild {
974        fn from(value: crate::generated::all::Object) -> Self {
975            Self::Object(value)
976        }
977    }
978    impl std::convert::From<crate::generated::all::Output> for ProgressChild {
979        fn from(value: crate::generated::all::Output) -> Self {
980            Self::Output(value)
981        }
982    }
983    impl std::convert::From<crate::generated::all::Picture> for ProgressChild {
984        fn from(value: crate::generated::all::Picture) -> Self {
985            Self::Picture(value)
986        }
987    }
988    impl std::convert::From<crate::generated::all::Progress> for ProgressChild {
989        fn from(value: crate::generated::all::Progress) -> Self {
990            Self::Progress(value)
991        }
992    }
993    impl std::convert::From<crate::generated::all::Quotation> for ProgressChild {
994        fn from(value: crate::generated::all::Quotation) -> Self {
995            Self::Quotation(value)
996        }
997    }
998    impl std::convert::From<crate::generated::all::RubyAnnotation> for ProgressChild {
999        fn from(value: crate::generated::all::RubyAnnotation) -> Self {
1000            Self::RubyAnnotation(value)
1001        }
1002    }
1003    impl std::convert::From<crate::generated::all::SampleOutput> for ProgressChild {
1004        fn from(value: crate::generated::all::SampleOutput) -> Self {
1005            Self::SampleOutput(value)
1006        }
1007    }
1008    impl std::convert::From<crate::generated::all::Script> for ProgressChild {
1009        fn from(value: crate::generated::all::Script) -> Self {
1010            Self::Script(value)
1011        }
1012    }
1013    impl std::convert::From<crate::generated::all::Select> for ProgressChild {
1014        fn from(value: crate::generated::all::Select) -> Self {
1015            Self::Select(value)
1016        }
1017    }
1018    impl std::convert::From<crate::generated::all::SideComment> for ProgressChild {
1019        fn from(value: crate::generated::all::SideComment) -> Self {
1020            Self::SideComment(value)
1021        }
1022    }
1023    impl std::convert::From<crate::generated::all::Slot> for ProgressChild {
1024        fn from(value: crate::generated::all::Slot) -> Self {
1025            Self::Slot(value)
1026        }
1027    }
1028    impl std::convert::From<crate::generated::all::Span> for ProgressChild {
1029        fn from(value: crate::generated::all::Span) -> Self {
1030            Self::Span(value)
1031        }
1032    }
1033    impl std::convert::From<crate::generated::all::StrikeThrough> for ProgressChild {
1034        fn from(value: crate::generated::all::StrikeThrough) -> Self {
1035            Self::StrikeThrough(value)
1036        }
1037    }
1038    impl std::convert::From<crate::generated::all::Strong> for ProgressChild {
1039        fn from(value: crate::generated::all::Strong) -> Self {
1040            Self::Strong(value)
1041        }
1042    }
1043    impl std::convert::From<crate::generated::all::SubScript> for ProgressChild {
1044        fn from(value: crate::generated::all::SubScript) -> Self {
1045            Self::SubScript(value)
1046        }
1047    }
1048    impl std::convert::From<crate::generated::all::SuperScript> for ProgressChild {
1049        fn from(value: crate::generated::all::SuperScript) -> Self {
1050            Self::SuperScript(value)
1051        }
1052    }
1053    impl std::convert::From<crate::generated::all::Template> for ProgressChild {
1054        fn from(value: crate::generated::all::Template) -> Self {
1055            Self::Template(value)
1056        }
1057    }
1058    impl std::convert::From<std::borrow::Cow<'static, str>> for ProgressChild {
1059        fn from(value: std::borrow::Cow<'static, str>) -> Self {
1060            Self::Text(value)
1061        }
1062    }
1063    impl std::convert::From<&'static str> for ProgressChild {
1064        fn from(value: &'static str) -> Self {
1065            Self::Text(value.into())
1066        }
1067    }
1068    impl std::convert::From<String> for ProgressChild {
1069        fn from(value: String) -> Self {
1070            Self::Text(value.into())
1071        }
1072    }
1073    impl std::convert::From<crate::generated::all::TextArea> for ProgressChild {
1074        fn from(value: crate::generated::all::TextArea) -> Self {
1075            Self::TextArea(value)
1076        }
1077    }
1078    impl std::convert::From<crate::generated::all::Time> for ProgressChild {
1079        fn from(value: crate::generated::all::Time) -> Self {
1080            Self::Time(value)
1081        }
1082    }
1083    impl std::convert::From<crate::generated::all::Underline> for ProgressChild {
1084        fn from(value: crate::generated::all::Underline) -> Self {
1085            Self::Underline(value)
1086        }
1087    }
1088    impl std::convert::From<crate::generated::all::Variable> for ProgressChild {
1089        fn from(value: crate::generated::all::Variable) -> Self {
1090            Self::Variable(value)
1091        }
1092    }
1093    impl std::convert::From<crate::generated::all::Video> for ProgressChild {
1094        fn from(value: crate::generated::all::Video) -> Self {
1095            Self::Video(value)
1096        }
1097    }
1098    impl crate::Render for ProgressChild {
1099        fn render(
1100            &self,
1101            f: &mut std::fmt::Formatter<'_>,
1102            depth: usize,
1103        ) -> std::fmt::Result {
1104            match self {
1105                Self::Abbreviation(el) => crate::Render::render(el, f, depth + 1),
1106                Self::Anchor(el) => crate::Render::render(el, f, depth + 1),
1107                Self::Audio(el) => crate::Render::render(el, f, depth + 1),
1108                Self::BidirectionalIsolate(el) => crate::Render::render(el, f, depth + 1),
1109                Self::BidirectionalTextOverride(el) => {
1110                    crate::Render::render(el, f, depth + 1)
1111                }
1112                Self::Bold(el) => crate::Render::render(el, f, depth + 1),
1113                Self::Button(el) => crate::Render::render(el, f, depth + 1),
1114                Self::Canvas(el) => crate::Render::render(el, f, depth + 1),
1115                Self::Cite(el) => crate::Render::render(el, f, depth + 1),
1116                Self::Code(el) => crate::Render::render(el, f, depth + 1),
1117                Self::Data(el) => crate::Render::render(el, f, depth + 1),
1118                Self::DataList(el) => crate::Render::render(el, f, depth + 1),
1119                Self::Definition(el) => crate::Render::render(el, f, depth + 1),
1120                Self::DeletedText(el) => crate::Render::render(el, f, depth + 1),
1121                Self::Embed(el) => crate::Render::render(el, f, depth + 1),
1122                Self::Emphasis(el) => crate::Render::render(el, f, depth + 1),
1123                Self::Iframe(el) => crate::Render::render(el, f, depth + 1),
1124                Self::Image(el) => crate::Render::render(el, f, depth + 1),
1125                Self::ImageMap(el) => crate::Render::render(el, f, depth + 1),
1126                Self::ImageMapArea(el) => crate::Render::render(el, f, depth + 1),
1127                Self::Input(el) => crate::Render::render(el, f, depth + 1),
1128                Self::InsertedText(el) => crate::Render::render(el, f, depth + 1),
1129                Self::Italic(el) => crate::Render::render(el, f, depth + 1),
1130                Self::KeyboardInput(el) => crate::Render::render(el, f, depth + 1),
1131                Self::Label(el) => crate::Render::render(el, f, depth + 1),
1132                Self::LineBreak(el) => crate::Render::render(el, f, depth + 1),
1133                Self::LineBreakOpportunity(el) => crate::Render::render(el, f, depth + 1),
1134                Self::Link(el) => crate::Render::render(el, f, depth + 1),
1135                Self::MarkText(el) => crate::Render::render(el, f, depth + 1),
1136                Self::Meta(el) => crate::Render::render(el, f, depth + 1),
1137                Self::Meter(el) => crate::Render::render(el, f, depth + 1),
1138                Self::NoScript(el) => crate::Render::render(el, f, depth + 1),
1139                Self::Object(el) => crate::Render::render(el, f, depth + 1),
1140                Self::Output(el) => crate::Render::render(el, f, depth + 1),
1141                Self::Picture(el) => crate::Render::render(el, f, depth + 1),
1142                Self::Progress(el) => crate::Render::render(el, f, depth + 1),
1143                Self::Quotation(el) => crate::Render::render(el, f, depth + 1),
1144                Self::RubyAnnotation(el) => crate::Render::render(el, f, depth + 1),
1145                Self::SampleOutput(el) => crate::Render::render(el, f, depth + 1),
1146                Self::Script(el) => crate::Render::render(el, f, depth + 1),
1147                Self::Select(el) => crate::Render::render(el, f, depth + 1),
1148                Self::SideComment(el) => crate::Render::render(el, f, depth + 1),
1149                Self::Slot(el) => crate::Render::render(el, f, depth + 1),
1150                Self::Span(el) => crate::Render::render(el, f, depth + 1),
1151                Self::StrikeThrough(el) => crate::Render::render(el, f, depth + 1),
1152                Self::Strong(el) => crate::Render::render(el, f, depth + 1),
1153                Self::SubScript(el) => crate::Render::render(el, f, depth + 1),
1154                Self::SuperScript(el) => crate::Render::render(el, f, depth + 1),
1155                Self::Template(el) => crate::Render::render(el, f, depth + 1),
1156                Self::Text(el) => crate::Render::render(el, f, depth + 1),
1157                Self::TextArea(el) => crate::Render::render(el, f, depth + 1),
1158                Self::Time(el) => crate::Render::render(el, f, depth + 1),
1159                Self::Underline(el) => crate::Render::render(el, f, depth + 1),
1160                Self::Variable(el) => crate::Render::render(el, f, depth + 1),
1161                Self::Video(el) => crate::Render::render(el, f, depth + 1),
1162            }
1163        }
1164    }
1165    impl std::fmt::Debug for ProgressChild {
1166        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1167            crate::Render::render(self, f, 0)?;
1168            Ok(())
1169        }
1170    }
1171    impl std::fmt::Display for ProgressChild {
1172        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1173            match self {
1174                Self::Abbreviation(el) => write!(f, "{el}"),
1175                Self::Anchor(el) => write!(f, "{el}"),
1176                Self::Audio(el) => write!(f, "{el}"),
1177                Self::BidirectionalIsolate(el) => write!(f, "{el}"),
1178                Self::BidirectionalTextOverride(el) => write!(f, "{el}"),
1179                Self::Bold(el) => write!(f, "{el}"),
1180                Self::Button(el) => write!(f, "{el}"),
1181                Self::Canvas(el) => write!(f, "{el}"),
1182                Self::Cite(el) => write!(f, "{el}"),
1183                Self::Code(el) => write!(f, "{el}"),
1184                Self::Data(el) => write!(f, "{el}"),
1185                Self::DataList(el) => write!(f, "{el}"),
1186                Self::Definition(el) => write!(f, "{el}"),
1187                Self::DeletedText(el) => write!(f, "{el}"),
1188                Self::Embed(el) => write!(f, "{el}"),
1189                Self::Emphasis(el) => write!(f, "{el}"),
1190                Self::Iframe(el) => write!(f, "{el}"),
1191                Self::Image(el) => write!(f, "{el}"),
1192                Self::ImageMap(el) => write!(f, "{el}"),
1193                Self::ImageMapArea(el) => write!(f, "{el}"),
1194                Self::Input(el) => write!(f, "{el}"),
1195                Self::InsertedText(el) => write!(f, "{el}"),
1196                Self::Italic(el) => write!(f, "{el}"),
1197                Self::KeyboardInput(el) => write!(f, "{el}"),
1198                Self::Label(el) => write!(f, "{el}"),
1199                Self::LineBreak(el) => write!(f, "{el}"),
1200                Self::LineBreakOpportunity(el) => write!(f, "{el}"),
1201                Self::Link(el) => write!(f, "{el}"),
1202                Self::MarkText(el) => write!(f, "{el}"),
1203                Self::Meta(el) => write!(f, "{el}"),
1204                Self::Meter(el) => write!(f, "{el}"),
1205                Self::NoScript(el) => write!(f, "{el}"),
1206                Self::Object(el) => write!(f, "{el}"),
1207                Self::Output(el) => write!(f, "{el}"),
1208                Self::Picture(el) => write!(f, "{el}"),
1209                Self::Progress(el) => write!(f, "{el}"),
1210                Self::Quotation(el) => write!(f, "{el}"),
1211                Self::RubyAnnotation(el) => write!(f, "{el}"),
1212                Self::SampleOutput(el) => write!(f, "{el}"),
1213                Self::Script(el) => write!(f, "{el}"),
1214                Self::Select(el) => write!(f, "{el}"),
1215                Self::SideComment(el) => write!(f, "{el}"),
1216                Self::Slot(el) => write!(f, "{el}"),
1217                Self::Span(el) => write!(f, "{el}"),
1218                Self::StrikeThrough(el) => write!(f, "{el}"),
1219                Self::Strong(el) => write!(f, "{el}"),
1220                Self::SubScript(el) => write!(f, "{el}"),
1221                Self::SuperScript(el) => write!(f, "{el}"),
1222                Self::Template(el) => write!(f, "{el}"),
1223                Self::Text(el) => write!(f, "{el}"),
1224                Self::TextArea(el) => write!(f, "{el}"),
1225                Self::Time(el) => write!(f, "{el}"),
1226                Self::Underline(el) => write!(f, "{el}"),
1227                Self::Variable(el) => write!(f, "{el}"),
1228                Self::Video(el) => write!(f, "{el}"),
1229            }
1230        }
1231    }
1232}
1233pub mod builder {
1234    /// A builder struct for Progress
1235    pub struct ProgressBuilder {
1236        element: super::element::Progress,
1237    }
1238    impl ProgressBuilder {
1239        pub(crate) fn new(element: super::element::Progress) -> Self {
1240            Self { element }
1241        }
1242        /// Finish building the element
1243        pub fn build(&mut self) -> super::element::Progress {
1244            self.element.clone()
1245        }
1246        /// Insert a `data-*` property
1247        pub fn data(
1248            &mut self,
1249            data_key: impl Into<std::borrow::Cow<'static, str>>,
1250            value: impl Into<std::borrow::Cow<'static, str>>,
1251        ) -> &mut ProgressBuilder {
1252            self.element.data_map_mut().insert(data_key.into(), value.into());
1253            self
1254        }
1255        /// Append a new `Abbreviation` element
1256        pub fn abbreviation<F>(&mut self, f: F) -> &mut Self
1257        where
1258            F: for<'a> FnOnce(
1259                &'a mut crate::generated::all::builders::AbbreviationBuilder,
1260            ) -> &'a mut crate::generated::all::builders::AbbreviationBuilder,
1261        {
1262            let ty: crate::generated::all::Abbreviation = Default::default();
1263            let mut ty_builder = crate::generated::all::builders::AbbreviationBuilder::new(
1264                ty,
1265            );
1266            (f)(&mut ty_builder);
1267            let ty = ty_builder.build();
1268            self.element.children_mut().push(ty.into());
1269            self
1270        }
1271        /// Append a new `Anchor` element
1272        pub fn anchor<F>(&mut self, f: F) -> &mut Self
1273        where
1274            F: for<'a> FnOnce(
1275                &'a mut crate::generated::all::builders::AnchorBuilder,
1276            ) -> &'a mut crate::generated::all::builders::AnchorBuilder,
1277        {
1278            let ty: crate::generated::all::Anchor = Default::default();
1279            let mut ty_builder = crate::generated::all::builders::AnchorBuilder::new(ty);
1280            (f)(&mut ty_builder);
1281            let ty = ty_builder.build();
1282            self.element.children_mut().push(ty.into());
1283            self
1284        }
1285        /// Append a new `Audio` element
1286        pub fn audio<F>(&mut self, f: F) -> &mut Self
1287        where
1288            F: for<'a> FnOnce(
1289                &'a mut crate::generated::all::builders::AudioBuilder,
1290            ) -> &'a mut crate::generated::all::builders::AudioBuilder,
1291        {
1292            let ty: crate::generated::all::Audio = Default::default();
1293            let mut ty_builder = crate::generated::all::builders::AudioBuilder::new(ty);
1294            (f)(&mut ty_builder);
1295            let ty = ty_builder.build();
1296            self.element.children_mut().push(ty.into());
1297            self
1298        }
1299        /// Append a new `BidirectionalIsolate` element
1300        pub fn bidirectional_isolate<F>(&mut self, f: F) -> &mut Self
1301        where
1302            F: for<'a> FnOnce(
1303                &'a mut crate::generated::all::builders::BidirectionalIsolateBuilder,
1304            ) -> &'a mut crate::generated::all::builders::BidirectionalIsolateBuilder,
1305        {
1306            let ty: crate::generated::all::BidirectionalIsolate = Default::default();
1307            let mut ty_builder = crate::generated::all::builders::BidirectionalIsolateBuilder::new(
1308                ty,
1309            );
1310            (f)(&mut ty_builder);
1311            let ty = ty_builder.build();
1312            self.element.children_mut().push(ty.into());
1313            self
1314        }
1315        /// Append a new `BidirectionalTextOverride` element
1316        pub fn bidirectional_text_override<F>(&mut self, f: F) -> &mut Self
1317        where
1318            F: for<'a> FnOnce(
1319                &'a mut crate::generated::all::builders::BidirectionalTextOverrideBuilder,
1320            ) -> &'a mut crate::generated::all::builders::BidirectionalTextOverrideBuilder,
1321        {
1322            let ty: crate::generated::all::BidirectionalTextOverride = Default::default();
1323            let mut ty_builder = crate::generated::all::builders::BidirectionalTextOverrideBuilder::new(
1324                ty,
1325            );
1326            (f)(&mut ty_builder);
1327            let ty = ty_builder.build();
1328            self.element.children_mut().push(ty.into());
1329            self
1330        }
1331        /// Append a new `Bold` element
1332        pub fn bold<F>(&mut self, f: F) -> &mut Self
1333        where
1334            F: for<'a> FnOnce(
1335                &'a mut crate::generated::all::builders::BoldBuilder,
1336            ) -> &'a mut crate::generated::all::builders::BoldBuilder,
1337        {
1338            let ty: crate::generated::all::Bold = Default::default();
1339            let mut ty_builder = crate::generated::all::builders::BoldBuilder::new(ty);
1340            (f)(&mut ty_builder);
1341            let ty = ty_builder.build();
1342            self.element.children_mut().push(ty.into());
1343            self
1344        }
1345        /// Append a new `Button` element
1346        pub fn button<F>(&mut self, f: F) -> &mut Self
1347        where
1348            F: for<'a> FnOnce(
1349                &'a mut crate::generated::all::builders::ButtonBuilder,
1350            ) -> &'a mut crate::generated::all::builders::ButtonBuilder,
1351        {
1352            let ty: crate::generated::all::Button = Default::default();
1353            let mut ty_builder = crate::generated::all::builders::ButtonBuilder::new(ty);
1354            (f)(&mut ty_builder);
1355            let ty = ty_builder.build();
1356            self.element.children_mut().push(ty.into());
1357            self
1358        }
1359        /// Append a new `Canvas` element
1360        pub fn canvas<F>(&mut self, f: F) -> &mut Self
1361        where
1362            F: for<'a> FnOnce(
1363                &'a mut crate::generated::all::builders::CanvasBuilder,
1364            ) -> &'a mut crate::generated::all::builders::CanvasBuilder,
1365        {
1366            let ty: crate::generated::all::Canvas = Default::default();
1367            let mut ty_builder = crate::generated::all::builders::CanvasBuilder::new(ty);
1368            (f)(&mut ty_builder);
1369            let ty = ty_builder.build();
1370            self.element.children_mut().push(ty.into());
1371            self
1372        }
1373        /// Append a new `Cite` element
1374        pub fn cite<F>(&mut self, f: F) -> &mut Self
1375        where
1376            F: for<'a> FnOnce(
1377                &'a mut crate::generated::all::builders::CiteBuilder,
1378            ) -> &'a mut crate::generated::all::builders::CiteBuilder,
1379        {
1380            let ty: crate::generated::all::Cite = Default::default();
1381            let mut ty_builder = crate::generated::all::builders::CiteBuilder::new(ty);
1382            (f)(&mut ty_builder);
1383            let ty = ty_builder.build();
1384            self.element.children_mut().push(ty.into());
1385            self
1386        }
1387        /// Append a new `Code` element
1388        pub fn code<F>(&mut self, f: F) -> &mut Self
1389        where
1390            F: for<'a> FnOnce(
1391                &'a mut crate::generated::all::builders::CodeBuilder,
1392            ) -> &'a mut crate::generated::all::builders::CodeBuilder,
1393        {
1394            let ty: crate::generated::all::Code = Default::default();
1395            let mut ty_builder = crate::generated::all::builders::CodeBuilder::new(ty);
1396            (f)(&mut ty_builder);
1397            let ty = ty_builder.build();
1398            self.element.children_mut().push(ty.into());
1399            self
1400        }
1401        /// Append a new `Data` element
1402        pub fn data_el<F>(&mut self, f: F) -> &mut Self
1403        where
1404            F: for<'a> FnOnce(
1405                &'a mut crate::generated::all::builders::DataBuilder,
1406            ) -> &'a mut crate::generated::all::builders::DataBuilder,
1407        {
1408            let ty: crate::generated::all::Data = Default::default();
1409            let mut ty_builder = crate::generated::all::builders::DataBuilder::new(ty);
1410            (f)(&mut ty_builder);
1411            let ty = ty_builder.build();
1412            self.element.children_mut().push(ty.into());
1413            self
1414        }
1415        /// Append a new `DataList` element
1416        pub fn data_list<F>(&mut self, f: F) -> &mut Self
1417        where
1418            F: for<'a> FnOnce(
1419                &'a mut crate::generated::all::builders::DataListBuilder,
1420            ) -> &'a mut crate::generated::all::builders::DataListBuilder,
1421        {
1422            let ty: crate::generated::all::DataList = Default::default();
1423            let mut ty_builder = crate::generated::all::builders::DataListBuilder::new(
1424                ty,
1425            );
1426            (f)(&mut ty_builder);
1427            let ty = ty_builder.build();
1428            self.element.children_mut().push(ty.into());
1429            self
1430        }
1431        /// Append a new `Definition` element
1432        pub fn definition<F>(&mut self, f: F) -> &mut Self
1433        where
1434            F: for<'a> FnOnce(
1435                &'a mut crate::generated::all::builders::DefinitionBuilder,
1436            ) -> &'a mut crate::generated::all::builders::DefinitionBuilder,
1437        {
1438            let ty: crate::generated::all::Definition = Default::default();
1439            let mut ty_builder = crate::generated::all::builders::DefinitionBuilder::new(
1440                ty,
1441            );
1442            (f)(&mut ty_builder);
1443            let ty = ty_builder.build();
1444            self.element.children_mut().push(ty.into());
1445            self
1446        }
1447        /// Append a new `DeletedText` element
1448        pub fn deleted_text<F>(&mut self, f: F) -> &mut Self
1449        where
1450            F: for<'a> FnOnce(
1451                &'a mut crate::generated::all::builders::DeletedTextBuilder,
1452            ) -> &'a mut crate::generated::all::builders::DeletedTextBuilder,
1453        {
1454            let ty: crate::generated::all::DeletedText = Default::default();
1455            let mut ty_builder = crate::generated::all::builders::DeletedTextBuilder::new(
1456                ty,
1457            );
1458            (f)(&mut ty_builder);
1459            let ty = ty_builder.build();
1460            self.element.children_mut().push(ty.into());
1461            self
1462        }
1463        /// Append a new `Embed` element
1464        pub fn embed<F>(&mut self, f: F) -> &mut Self
1465        where
1466            F: for<'a> FnOnce(
1467                &'a mut crate::generated::all::builders::EmbedBuilder,
1468            ) -> &'a mut crate::generated::all::builders::EmbedBuilder,
1469        {
1470            let ty: crate::generated::all::Embed = Default::default();
1471            let mut ty_builder = crate::generated::all::builders::EmbedBuilder::new(ty);
1472            (f)(&mut ty_builder);
1473            let ty = ty_builder.build();
1474            self.element.children_mut().push(ty.into());
1475            self
1476        }
1477        /// Append a new `Emphasis` element
1478        pub fn emphasis<F>(&mut self, f: F) -> &mut Self
1479        where
1480            F: for<'a> FnOnce(
1481                &'a mut crate::generated::all::builders::EmphasisBuilder,
1482            ) -> &'a mut crate::generated::all::builders::EmphasisBuilder,
1483        {
1484            let ty: crate::generated::all::Emphasis = Default::default();
1485            let mut ty_builder = crate::generated::all::builders::EmphasisBuilder::new(
1486                ty,
1487            );
1488            (f)(&mut ty_builder);
1489            let ty = ty_builder.build();
1490            self.element.children_mut().push(ty.into());
1491            self
1492        }
1493        /// Append a new `Iframe` element
1494        pub fn iframe<F>(&mut self, f: F) -> &mut Self
1495        where
1496            F: for<'a> FnOnce(
1497                &'a mut crate::generated::all::builders::IframeBuilder,
1498            ) -> &'a mut crate::generated::all::builders::IframeBuilder,
1499        {
1500            let ty: crate::generated::all::Iframe = Default::default();
1501            let mut ty_builder = crate::generated::all::builders::IframeBuilder::new(ty);
1502            (f)(&mut ty_builder);
1503            let ty = ty_builder.build();
1504            self.element.children_mut().push(ty.into());
1505            self
1506        }
1507        /// Append a new `Image` element
1508        pub fn image<F>(&mut self, f: F) -> &mut Self
1509        where
1510            F: for<'a> FnOnce(
1511                &'a mut crate::generated::all::builders::ImageBuilder,
1512            ) -> &'a mut crate::generated::all::builders::ImageBuilder,
1513        {
1514            let ty: crate::generated::all::Image = Default::default();
1515            let mut ty_builder = crate::generated::all::builders::ImageBuilder::new(ty);
1516            (f)(&mut ty_builder);
1517            let ty = ty_builder.build();
1518            self.element.children_mut().push(ty.into());
1519            self
1520        }
1521        /// Append a new `ImageMap` element
1522        pub fn image_map<F>(&mut self, f: F) -> &mut Self
1523        where
1524            F: for<'a> FnOnce(
1525                &'a mut crate::generated::all::builders::ImageMapBuilder,
1526            ) -> &'a mut crate::generated::all::builders::ImageMapBuilder,
1527        {
1528            let ty: crate::generated::all::ImageMap = Default::default();
1529            let mut ty_builder = crate::generated::all::builders::ImageMapBuilder::new(
1530                ty,
1531            );
1532            (f)(&mut ty_builder);
1533            let ty = ty_builder.build();
1534            self.element.children_mut().push(ty.into());
1535            self
1536        }
1537        /// Append a new `ImageMapArea` element
1538        pub fn image_map_area<F>(&mut self, f: F) -> &mut Self
1539        where
1540            F: for<'a> FnOnce(
1541                &'a mut crate::generated::all::builders::ImageMapAreaBuilder,
1542            ) -> &'a mut crate::generated::all::builders::ImageMapAreaBuilder,
1543        {
1544            let ty: crate::generated::all::ImageMapArea = Default::default();
1545            let mut ty_builder = crate::generated::all::builders::ImageMapAreaBuilder::new(
1546                ty,
1547            );
1548            (f)(&mut ty_builder);
1549            let ty = ty_builder.build();
1550            self.element.children_mut().push(ty.into());
1551            self
1552        }
1553        /// Append a new `Input` element
1554        pub fn input<F>(&mut self, f: F) -> &mut Self
1555        where
1556            F: for<'a> FnOnce(
1557                &'a mut crate::generated::all::builders::InputBuilder,
1558            ) -> &'a mut crate::generated::all::builders::InputBuilder,
1559        {
1560            let ty: crate::generated::all::Input = Default::default();
1561            let mut ty_builder = crate::generated::all::builders::InputBuilder::new(ty);
1562            (f)(&mut ty_builder);
1563            let ty = ty_builder.build();
1564            self.element.children_mut().push(ty.into());
1565            self
1566        }
1567        /// Append a new `InsertedText` element
1568        pub fn inserted_text<F>(&mut self, f: F) -> &mut Self
1569        where
1570            F: for<'a> FnOnce(
1571                &'a mut crate::generated::all::builders::InsertedTextBuilder,
1572            ) -> &'a mut crate::generated::all::builders::InsertedTextBuilder,
1573        {
1574            let ty: crate::generated::all::InsertedText = Default::default();
1575            let mut ty_builder = crate::generated::all::builders::InsertedTextBuilder::new(
1576                ty,
1577            );
1578            (f)(&mut ty_builder);
1579            let ty = ty_builder.build();
1580            self.element.children_mut().push(ty.into());
1581            self
1582        }
1583        /// Append a new `Italic` element
1584        pub fn italic<F>(&mut self, f: F) -> &mut Self
1585        where
1586            F: for<'a> FnOnce(
1587                &'a mut crate::generated::all::builders::ItalicBuilder,
1588            ) -> &'a mut crate::generated::all::builders::ItalicBuilder,
1589        {
1590            let ty: crate::generated::all::Italic = Default::default();
1591            let mut ty_builder = crate::generated::all::builders::ItalicBuilder::new(ty);
1592            (f)(&mut ty_builder);
1593            let ty = ty_builder.build();
1594            self.element.children_mut().push(ty.into());
1595            self
1596        }
1597        /// Append a new `KeyboardInput` element
1598        pub fn keyboard_input<F>(&mut self, f: F) -> &mut Self
1599        where
1600            F: for<'a> FnOnce(
1601                &'a mut crate::generated::all::builders::KeyboardInputBuilder,
1602            ) -> &'a mut crate::generated::all::builders::KeyboardInputBuilder,
1603        {
1604            let ty: crate::generated::all::KeyboardInput = Default::default();
1605            let mut ty_builder = crate::generated::all::builders::KeyboardInputBuilder::new(
1606                ty,
1607            );
1608            (f)(&mut ty_builder);
1609            let ty = ty_builder.build();
1610            self.element.children_mut().push(ty.into());
1611            self
1612        }
1613        /// Append a new `Label` element
1614        pub fn label<F>(&mut self, f: F) -> &mut Self
1615        where
1616            F: for<'a> FnOnce(
1617                &'a mut crate::generated::all::builders::LabelBuilder,
1618            ) -> &'a mut crate::generated::all::builders::LabelBuilder,
1619        {
1620            let ty: crate::generated::all::Label = Default::default();
1621            let mut ty_builder = crate::generated::all::builders::LabelBuilder::new(ty);
1622            (f)(&mut ty_builder);
1623            let ty = ty_builder.build();
1624            self.element.children_mut().push(ty.into());
1625            self
1626        }
1627        /// Append a new `LineBreak` element
1628        pub fn line_break<F>(&mut self, f: F) -> &mut Self
1629        where
1630            F: for<'a> FnOnce(
1631                &'a mut crate::generated::all::builders::LineBreakBuilder,
1632            ) -> &'a mut crate::generated::all::builders::LineBreakBuilder,
1633        {
1634            let ty: crate::generated::all::LineBreak = Default::default();
1635            let mut ty_builder = crate::generated::all::builders::LineBreakBuilder::new(
1636                ty,
1637            );
1638            (f)(&mut ty_builder);
1639            let ty = ty_builder.build();
1640            self.element.children_mut().push(ty.into());
1641            self
1642        }
1643        /// Append a new `LineBreakOpportunity` element
1644        pub fn line_break_opportunity<F>(&mut self, f: F) -> &mut Self
1645        where
1646            F: for<'a> FnOnce(
1647                &'a mut crate::generated::all::builders::LineBreakOpportunityBuilder,
1648            ) -> &'a mut crate::generated::all::builders::LineBreakOpportunityBuilder,
1649        {
1650            let ty: crate::generated::all::LineBreakOpportunity = Default::default();
1651            let mut ty_builder = crate::generated::all::builders::LineBreakOpportunityBuilder::new(
1652                ty,
1653            );
1654            (f)(&mut ty_builder);
1655            let ty = ty_builder.build();
1656            self.element.children_mut().push(ty.into());
1657            self
1658        }
1659        /// Append a new `Link` element
1660        pub fn link<F>(&mut self, f: F) -> &mut Self
1661        where
1662            F: for<'a> FnOnce(
1663                &'a mut crate::generated::all::builders::LinkBuilder,
1664            ) -> &'a mut crate::generated::all::builders::LinkBuilder,
1665        {
1666            let ty: crate::generated::all::Link = Default::default();
1667            let mut ty_builder = crate::generated::all::builders::LinkBuilder::new(ty);
1668            (f)(&mut ty_builder);
1669            let ty = ty_builder.build();
1670            self.element.children_mut().push(ty.into());
1671            self
1672        }
1673        /// Append a new `MarkText` element
1674        pub fn mark_text<F>(&mut self, f: F) -> &mut Self
1675        where
1676            F: for<'a> FnOnce(
1677                &'a mut crate::generated::all::builders::MarkTextBuilder,
1678            ) -> &'a mut crate::generated::all::builders::MarkTextBuilder,
1679        {
1680            let ty: crate::generated::all::MarkText = Default::default();
1681            let mut ty_builder = crate::generated::all::builders::MarkTextBuilder::new(
1682                ty,
1683            );
1684            (f)(&mut ty_builder);
1685            let ty = ty_builder.build();
1686            self.element.children_mut().push(ty.into());
1687            self
1688        }
1689        /// Append a new `Meta` element
1690        pub fn meta<F>(&mut self, f: F) -> &mut Self
1691        where
1692            F: for<'a> FnOnce(
1693                &'a mut crate::generated::all::builders::MetaBuilder,
1694            ) -> &'a mut crate::generated::all::builders::MetaBuilder,
1695        {
1696            let ty: crate::generated::all::Meta = Default::default();
1697            let mut ty_builder = crate::generated::all::builders::MetaBuilder::new(ty);
1698            (f)(&mut ty_builder);
1699            let ty = ty_builder.build();
1700            self.element.children_mut().push(ty.into());
1701            self
1702        }
1703        /// Append a new `Meter` element
1704        pub fn meter<F>(&mut self, f: F) -> &mut Self
1705        where
1706            F: for<'a> FnOnce(
1707                &'a mut crate::generated::all::builders::MeterBuilder,
1708            ) -> &'a mut crate::generated::all::builders::MeterBuilder,
1709        {
1710            let ty: crate::generated::all::Meter = Default::default();
1711            let mut ty_builder = crate::generated::all::builders::MeterBuilder::new(ty);
1712            (f)(&mut ty_builder);
1713            let ty = ty_builder.build();
1714            self.element.children_mut().push(ty.into());
1715            self
1716        }
1717        /// Append a new `NoScript` element
1718        pub fn no_script<F>(&mut self, f: F) -> &mut Self
1719        where
1720            F: for<'a> FnOnce(
1721                &'a mut crate::generated::all::builders::NoScriptBuilder,
1722            ) -> &'a mut crate::generated::all::builders::NoScriptBuilder,
1723        {
1724            let ty: crate::generated::all::NoScript = Default::default();
1725            let mut ty_builder = crate::generated::all::builders::NoScriptBuilder::new(
1726                ty,
1727            );
1728            (f)(&mut ty_builder);
1729            let ty = ty_builder.build();
1730            self.element.children_mut().push(ty.into());
1731            self
1732        }
1733        /// Append a new `Object` element
1734        pub fn object<F>(&mut self, f: F) -> &mut Self
1735        where
1736            F: for<'a> FnOnce(
1737                &'a mut crate::generated::all::builders::ObjectBuilder,
1738            ) -> &'a mut crate::generated::all::builders::ObjectBuilder,
1739        {
1740            let ty: crate::generated::all::Object = Default::default();
1741            let mut ty_builder = crate::generated::all::builders::ObjectBuilder::new(ty);
1742            (f)(&mut ty_builder);
1743            let ty = ty_builder.build();
1744            self.element.children_mut().push(ty.into());
1745            self
1746        }
1747        /// Append a new `Output` element
1748        pub fn output<F>(&mut self, f: F) -> &mut Self
1749        where
1750            F: for<'a> FnOnce(
1751                &'a mut crate::generated::all::builders::OutputBuilder,
1752            ) -> &'a mut crate::generated::all::builders::OutputBuilder,
1753        {
1754            let ty: crate::generated::all::Output = Default::default();
1755            let mut ty_builder = crate::generated::all::builders::OutputBuilder::new(ty);
1756            (f)(&mut ty_builder);
1757            let ty = ty_builder.build();
1758            self.element.children_mut().push(ty.into());
1759            self
1760        }
1761        /// Append a new `Picture` element
1762        pub fn picture<F>(&mut self, f: F) -> &mut Self
1763        where
1764            F: for<'a> FnOnce(
1765                &'a mut crate::generated::all::builders::PictureBuilder,
1766            ) -> &'a mut crate::generated::all::builders::PictureBuilder,
1767        {
1768            let ty: crate::generated::all::Picture = Default::default();
1769            let mut ty_builder = crate::generated::all::builders::PictureBuilder::new(
1770                ty,
1771            );
1772            (f)(&mut ty_builder);
1773            let ty = ty_builder.build();
1774            self.element.children_mut().push(ty.into());
1775            self
1776        }
1777        /// Append a new `Progress` element
1778        pub fn progress<F>(&mut self, f: F) -> &mut Self
1779        where
1780            F: for<'a> FnOnce(
1781                &'a mut crate::generated::all::builders::ProgressBuilder,
1782            ) -> &'a mut crate::generated::all::builders::ProgressBuilder,
1783        {
1784            let ty: crate::generated::all::Progress = Default::default();
1785            let mut ty_builder = crate::generated::all::builders::ProgressBuilder::new(
1786                ty,
1787            );
1788            (f)(&mut ty_builder);
1789            let ty = ty_builder.build();
1790            self.element.children_mut().push(ty.into());
1791            self
1792        }
1793        /// Append a new `Quotation` element
1794        pub fn quotation<F>(&mut self, f: F) -> &mut Self
1795        where
1796            F: for<'a> FnOnce(
1797                &'a mut crate::generated::all::builders::QuotationBuilder,
1798            ) -> &'a mut crate::generated::all::builders::QuotationBuilder,
1799        {
1800            let ty: crate::generated::all::Quotation = Default::default();
1801            let mut ty_builder = crate::generated::all::builders::QuotationBuilder::new(
1802                ty,
1803            );
1804            (f)(&mut ty_builder);
1805            let ty = ty_builder.build();
1806            self.element.children_mut().push(ty.into());
1807            self
1808        }
1809        /// Append a new `RubyAnnotation` element
1810        pub fn ruby_annotation<F>(&mut self, f: F) -> &mut Self
1811        where
1812            F: for<'a> FnOnce(
1813                &'a mut crate::generated::all::builders::RubyAnnotationBuilder,
1814            ) -> &'a mut crate::generated::all::builders::RubyAnnotationBuilder,
1815        {
1816            let ty: crate::generated::all::RubyAnnotation = Default::default();
1817            let mut ty_builder = crate::generated::all::builders::RubyAnnotationBuilder::new(
1818                ty,
1819            );
1820            (f)(&mut ty_builder);
1821            let ty = ty_builder.build();
1822            self.element.children_mut().push(ty.into());
1823            self
1824        }
1825        /// Append a new `SampleOutput` element
1826        pub fn sample_output<F>(&mut self, f: F) -> &mut Self
1827        where
1828            F: for<'a> FnOnce(
1829                &'a mut crate::generated::all::builders::SampleOutputBuilder,
1830            ) -> &'a mut crate::generated::all::builders::SampleOutputBuilder,
1831        {
1832            let ty: crate::generated::all::SampleOutput = Default::default();
1833            let mut ty_builder = crate::generated::all::builders::SampleOutputBuilder::new(
1834                ty,
1835            );
1836            (f)(&mut ty_builder);
1837            let ty = ty_builder.build();
1838            self.element.children_mut().push(ty.into());
1839            self
1840        }
1841        /// Append a new `Script` element
1842        pub fn script<F>(&mut self, f: F) -> &mut Self
1843        where
1844            F: for<'a> FnOnce(
1845                &'a mut crate::generated::all::builders::ScriptBuilder,
1846            ) -> &'a mut crate::generated::all::builders::ScriptBuilder,
1847        {
1848            let ty: crate::generated::all::Script = Default::default();
1849            let mut ty_builder = crate::generated::all::builders::ScriptBuilder::new(ty);
1850            (f)(&mut ty_builder);
1851            let ty = ty_builder.build();
1852            self.element.children_mut().push(ty.into());
1853            self
1854        }
1855        /// Append a new `Select` element
1856        pub fn select<F>(&mut self, f: F) -> &mut Self
1857        where
1858            F: for<'a> FnOnce(
1859                &'a mut crate::generated::all::builders::SelectBuilder,
1860            ) -> &'a mut crate::generated::all::builders::SelectBuilder,
1861        {
1862            let ty: crate::generated::all::Select = Default::default();
1863            let mut ty_builder = crate::generated::all::builders::SelectBuilder::new(ty);
1864            (f)(&mut ty_builder);
1865            let ty = ty_builder.build();
1866            self.element.children_mut().push(ty.into());
1867            self
1868        }
1869        /// Append a new `SideComment` element
1870        pub fn side_comment<F>(&mut self, f: F) -> &mut Self
1871        where
1872            F: for<'a> FnOnce(
1873                &'a mut crate::generated::all::builders::SideCommentBuilder,
1874            ) -> &'a mut crate::generated::all::builders::SideCommentBuilder,
1875        {
1876            let ty: crate::generated::all::SideComment = Default::default();
1877            let mut ty_builder = crate::generated::all::builders::SideCommentBuilder::new(
1878                ty,
1879            );
1880            (f)(&mut ty_builder);
1881            let ty = ty_builder.build();
1882            self.element.children_mut().push(ty.into());
1883            self
1884        }
1885        /// Append a new `Slot` element
1886        pub fn slot<F>(&mut self, f: F) -> &mut Self
1887        where
1888            F: for<'a> FnOnce(
1889                &'a mut crate::generated::all::builders::SlotBuilder,
1890            ) -> &'a mut crate::generated::all::builders::SlotBuilder,
1891        {
1892            let ty: crate::generated::all::Slot = Default::default();
1893            let mut ty_builder = crate::generated::all::builders::SlotBuilder::new(ty);
1894            (f)(&mut ty_builder);
1895            let ty = ty_builder.build();
1896            self.element.children_mut().push(ty.into());
1897            self
1898        }
1899        /// Append a new `Span` element
1900        pub fn span<F>(&mut self, f: F) -> &mut Self
1901        where
1902            F: for<'a> FnOnce(
1903                &'a mut crate::generated::all::builders::SpanBuilder,
1904            ) -> &'a mut crate::generated::all::builders::SpanBuilder,
1905        {
1906            let ty: crate::generated::all::Span = Default::default();
1907            let mut ty_builder = crate::generated::all::builders::SpanBuilder::new(ty);
1908            (f)(&mut ty_builder);
1909            let ty = ty_builder.build();
1910            self.element.children_mut().push(ty.into());
1911            self
1912        }
1913        /// Append a new `StrikeThrough` element
1914        pub fn strike_through<F>(&mut self, f: F) -> &mut Self
1915        where
1916            F: for<'a> FnOnce(
1917                &'a mut crate::generated::all::builders::StrikeThroughBuilder,
1918            ) -> &'a mut crate::generated::all::builders::StrikeThroughBuilder,
1919        {
1920            let ty: crate::generated::all::StrikeThrough = Default::default();
1921            let mut ty_builder = crate::generated::all::builders::StrikeThroughBuilder::new(
1922                ty,
1923            );
1924            (f)(&mut ty_builder);
1925            let ty = ty_builder.build();
1926            self.element.children_mut().push(ty.into());
1927            self
1928        }
1929        /// Append a new `Strong` element
1930        pub fn strong<F>(&mut self, f: F) -> &mut Self
1931        where
1932            F: for<'a> FnOnce(
1933                &'a mut crate::generated::all::builders::StrongBuilder,
1934            ) -> &'a mut crate::generated::all::builders::StrongBuilder,
1935        {
1936            let ty: crate::generated::all::Strong = Default::default();
1937            let mut ty_builder = crate::generated::all::builders::StrongBuilder::new(ty);
1938            (f)(&mut ty_builder);
1939            let ty = ty_builder.build();
1940            self.element.children_mut().push(ty.into());
1941            self
1942        }
1943        /// Append a new `SubScript` element
1944        pub fn sub_script<F>(&mut self, f: F) -> &mut Self
1945        where
1946            F: for<'a> FnOnce(
1947                &'a mut crate::generated::all::builders::SubScriptBuilder,
1948            ) -> &'a mut crate::generated::all::builders::SubScriptBuilder,
1949        {
1950            let ty: crate::generated::all::SubScript = Default::default();
1951            let mut ty_builder = crate::generated::all::builders::SubScriptBuilder::new(
1952                ty,
1953            );
1954            (f)(&mut ty_builder);
1955            let ty = ty_builder.build();
1956            self.element.children_mut().push(ty.into());
1957            self
1958        }
1959        /// Append a new `SuperScript` element
1960        pub fn super_script<F>(&mut self, f: F) -> &mut Self
1961        where
1962            F: for<'a> FnOnce(
1963                &'a mut crate::generated::all::builders::SuperScriptBuilder,
1964            ) -> &'a mut crate::generated::all::builders::SuperScriptBuilder,
1965        {
1966            let ty: crate::generated::all::SuperScript = Default::default();
1967            let mut ty_builder = crate::generated::all::builders::SuperScriptBuilder::new(
1968                ty,
1969            );
1970            (f)(&mut ty_builder);
1971            let ty = ty_builder.build();
1972            self.element.children_mut().push(ty.into());
1973            self
1974        }
1975        /// Append a new `Template` element
1976        pub fn template<F>(&mut self, f: F) -> &mut Self
1977        where
1978            F: for<'a> FnOnce(
1979                &'a mut crate::generated::all::builders::TemplateBuilder,
1980            ) -> &'a mut crate::generated::all::builders::TemplateBuilder,
1981        {
1982            let ty: crate::generated::all::Template = Default::default();
1983            let mut ty_builder = crate::generated::all::builders::TemplateBuilder::new(
1984                ty,
1985            );
1986            (f)(&mut ty_builder);
1987            let ty = ty_builder.build();
1988            self.element.children_mut().push(ty.into());
1989            self
1990        }
1991        /// Append a new text element.
1992        pub fn text(
1993            &mut self,
1994            s: impl Into<std::borrow::Cow<'static, str>>,
1995        ) -> &mut Self {
1996            let cow = s.into();
1997            self.element.children_mut().push(cow.into());
1998            self
1999        }
2000        /// Append a new `TextArea` element
2001        pub fn text_area<F>(&mut self, f: F) -> &mut Self
2002        where
2003            F: for<'a> FnOnce(
2004                &'a mut crate::generated::all::builders::TextAreaBuilder,
2005            ) -> &'a mut crate::generated::all::builders::TextAreaBuilder,
2006        {
2007            let ty: crate::generated::all::TextArea = Default::default();
2008            let mut ty_builder = crate::generated::all::builders::TextAreaBuilder::new(
2009                ty,
2010            );
2011            (f)(&mut ty_builder);
2012            let ty = ty_builder.build();
2013            self.element.children_mut().push(ty.into());
2014            self
2015        }
2016        /// Append a new `Time` element
2017        pub fn time<F>(&mut self, f: F) -> &mut Self
2018        where
2019            F: for<'a> FnOnce(
2020                &'a mut crate::generated::all::builders::TimeBuilder,
2021            ) -> &'a mut crate::generated::all::builders::TimeBuilder,
2022        {
2023            let ty: crate::generated::all::Time = Default::default();
2024            let mut ty_builder = crate::generated::all::builders::TimeBuilder::new(ty);
2025            (f)(&mut ty_builder);
2026            let ty = ty_builder.build();
2027            self.element.children_mut().push(ty.into());
2028            self
2029        }
2030        /// Append a new `Underline` element
2031        pub fn underline<F>(&mut self, f: F) -> &mut Self
2032        where
2033            F: for<'a> FnOnce(
2034                &'a mut crate::generated::all::builders::UnderlineBuilder,
2035            ) -> &'a mut crate::generated::all::builders::UnderlineBuilder,
2036        {
2037            let ty: crate::generated::all::Underline = Default::default();
2038            let mut ty_builder = crate::generated::all::builders::UnderlineBuilder::new(
2039                ty,
2040            );
2041            (f)(&mut ty_builder);
2042            let ty = ty_builder.build();
2043            self.element.children_mut().push(ty.into());
2044            self
2045        }
2046        /// Append a new `Variable` element
2047        pub fn variable<F>(&mut self, f: F) -> &mut Self
2048        where
2049            F: for<'a> FnOnce(
2050                &'a mut crate::generated::all::builders::VariableBuilder,
2051            ) -> &'a mut crate::generated::all::builders::VariableBuilder,
2052        {
2053            let ty: crate::generated::all::Variable = Default::default();
2054            let mut ty_builder = crate::generated::all::builders::VariableBuilder::new(
2055                ty,
2056            );
2057            (f)(&mut ty_builder);
2058            let ty = ty_builder.build();
2059            self.element.children_mut().push(ty.into());
2060            self
2061        }
2062        /// Append a new `Video` element
2063        pub fn video<F>(&mut self, f: F) -> &mut Self
2064        where
2065            F: for<'a> FnOnce(
2066                &'a mut crate::generated::all::builders::VideoBuilder,
2067            ) -> &'a mut crate::generated::all::builders::VideoBuilder,
2068        {
2069            let ty: crate::generated::all::Video = Default::default();
2070            let mut ty_builder = crate::generated::all::builders::VideoBuilder::new(ty);
2071            (f)(&mut ty_builder);
2072            let ty = ty_builder.build();
2073            self.element.children_mut().push(ty.into());
2074            self
2075        }
2076        /// Set the value of the `value` attribute
2077        pub fn value(&mut self, value: f64) -> &mut Self {
2078            self.element.set_value(Some(value));
2079            self
2080        }
2081        /// Set the value of the `max` attribute
2082        pub fn max(&mut self, value: f64) -> &mut Self {
2083            self.element.set_max(Some(value));
2084            self
2085        }
2086        /// Set the value of the `role` attribute
2087        pub fn role(
2088            &mut self,
2089            value: impl Into<std::borrow::Cow<'static, str>>,
2090        ) -> &mut Self {
2091            self.element.set_role(Some(value.into()));
2092            self
2093        }
2094        /// Set the value of the `aria-atomic` attribute
2095        pub fn aria_atomic(&mut self, value: bool) -> &mut Self {
2096            self.element.set_aria_atomic(value);
2097            self
2098        }
2099        /// Set the value of the `aria-braillelabel` attribute
2100        pub fn aria_braille_label(
2101            &mut self,
2102            value: impl Into<std::borrow::Cow<'static, str>>,
2103        ) -> &mut Self {
2104            self.element.set_aria_braille_label(Some(value.into()));
2105            self
2106        }
2107        /// Set the value of the `aria-brailleroledescription` attribute
2108        pub fn aria_braille_role_description(
2109            &mut self,
2110            value: impl Into<std::borrow::Cow<'static, str>>,
2111        ) -> &mut Self {
2112            self.element.set_aria_braille_role_description(Some(value.into()));
2113            self
2114        }
2115        /// Set the value of the `aria-busy` attribute
2116        pub fn aria_busy(&mut self, value: bool) -> &mut Self {
2117            self.element.set_aria_busy(value);
2118            self
2119        }
2120        /// Set the value of the `aria-controls` attribute
2121        pub fn aria_controls_elements(
2122            &mut self,
2123            value: impl Into<std::borrow::Cow<'static, str>>,
2124        ) -> &mut Self {
2125            self.element.set_aria_controls_elements(Some(value.into()));
2126            self
2127        }
2128        /// Set the value of the `aria-current` attribute
2129        pub fn aria_current(
2130            &mut self,
2131            value: impl Into<std::borrow::Cow<'static, str>>,
2132        ) -> &mut Self {
2133            self.element.set_aria_current(Some(value.into()));
2134            self
2135        }
2136        /// Set the value of the `aria-describedby` attribute
2137        pub fn aria_described_by_elements(
2138            &mut self,
2139            value: impl Into<std::borrow::Cow<'static, str>>,
2140        ) -> &mut Self {
2141            self.element.set_aria_described_by_elements(Some(value.into()));
2142            self
2143        }
2144        /// Set the value of the `aria-description` attribute
2145        pub fn aria_description(
2146            &mut self,
2147            value: impl Into<std::borrow::Cow<'static, str>>,
2148        ) -> &mut Self {
2149            self.element.set_aria_description(Some(value.into()));
2150            self
2151        }
2152        /// Set the value of the `aria-details` attribute
2153        pub fn aria_details_elements(
2154            &mut self,
2155            value: impl Into<std::borrow::Cow<'static, str>>,
2156        ) -> &mut Self {
2157            self.element.set_aria_details_elements(Some(value.into()));
2158            self
2159        }
2160        /// Set the value of the `aria-disabled` attribute
2161        pub fn aria_disabled(&mut self, value: bool) -> &mut Self {
2162            self.element.set_aria_disabled(value);
2163            self
2164        }
2165        /// Set the value of the `aria-dropeffect` attribute
2166        pub fn aria_drop_effect(
2167            &mut self,
2168            value: impl Into<std::borrow::Cow<'static, str>>,
2169        ) -> &mut Self {
2170            self.element.set_aria_drop_effect(Some(value.into()));
2171            self
2172        }
2173        /// Set the value of the `aria-errormessage` attribute
2174        pub fn aria_error_message_elements(
2175            &mut self,
2176            value: impl Into<std::borrow::Cow<'static, str>>,
2177        ) -> &mut Self {
2178            self.element.set_aria_error_message_elements(Some(value.into()));
2179            self
2180        }
2181        /// Set the value of the `aria-flowto` attribute
2182        pub fn aria_flow_to_elements(
2183            &mut self,
2184            value: impl Into<std::borrow::Cow<'static, str>>,
2185        ) -> &mut Self {
2186            self.element.set_aria_flow_to_elements(Some(value.into()));
2187            self
2188        }
2189        /// Set the value of the `aria-grabbed` attribute
2190        pub fn aria_grabbed(&mut self, value: bool) -> &mut Self {
2191            self.element.set_aria_grabbed(value);
2192            self
2193        }
2194        /// Set the value of the `aria-haspopup` attribute
2195        pub fn aria_has_popup(
2196            &mut self,
2197            value: impl Into<std::borrow::Cow<'static, str>>,
2198        ) -> &mut Self {
2199            self.element.set_aria_has_popup(Some(value.into()));
2200            self
2201        }
2202        /// Set the value of the `aria-hidden` attribute
2203        pub fn aria_hidden(&mut self, value: bool) -> &mut Self {
2204            self.element.set_aria_hidden(value);
2205            self
2206        }
2207        /// Set the value of the `aria-invalid` attribute
2208        pub fn aria_invalid(
2209            &mut self,
2210            value: impl Into<std::borrow::Cow<'static, str>>,
2211        ) -> &mut Self {
2212            self.element.set_aria_invalid(Some(value.into()));
2213            self
2214        }
2215        /// Set the value of the `aria-keyshortcuts` attribute
2216        pub fn aria_key_shortcuts(
2217            &mut self,
2218            value: impl Into<std::borrow::Cow<'static, str>>,
2219        ) -> &mut Self {
2220            self.element.set_aria_key_shortcuts(Some(value.into()));
2221            self
2222        }
2223        /// Set the value of the `aria-label` attribute
2224        pub fn aria_label(
2225            &mut self,
2226            value: impl Into<std::borrow::Cow<'static, str>>,
2227        ) -> &mut Self {
2228            self.element.set_aria_label(Some(value.into()));
2229            self
2230        }
2231        /// Set the value of the `aria-labelledby` attribute
2232        pub fn aria_labelled_by_elements(
2233            &mut self,
2234            value: impl Into<std::borrow::Cow<'static, str>>,
2235        ) -> &mut Self {
2236            self.element.set_aria_labelled_by_elements(Some(value.into()));
2237            self
2238        }
2239        /// Set the value of the `aria-live` attribute
2240        pub fn aria_live(
2241            &mut self,
2242            value: impl Into<std::borrow::Cow<'static, str>>,
2243        ) -> &mut Self {
2244            self.element.set_aria_live(Some(value.into()));
2245            self
2246        }
2247        /// Set the value of the `aria-owns` attribute
2248        pub fn aria_owns_elements(
2249            &mut self,
2250            value: impl Into<std::borrow::Cow<'static, str>>,
2251        ) -> &mut Self {
2252            self.element.set_aria_owns_elements(Some(value.into()));
2253            self
2254        }
2255        /// Set the value of the `aria-relevant` attribute
2256        pub fn aria_relevant(
2257            &mut self,
2258            value: impl Into<std::borrow::Cow<'static, str>>,
2259        ) -> &mut Self {
2260            self.element.set_aria_relevant(Some(value.into()));
2261            self
2262        }
2263        /// Set the value of the `aria-roledescription` attribute
2264        pub fn aria_role_description(
2265            &mut self,
2266            value: impl Into<std::borrow::Cow<'static, str>>,
2267        ) -> &mut Self {
2268            self.element.set_aria_role_description(Some(value.into()));
2269            self
2270        }
2271        /// Set the value of the `aria-valuemax` attribute
2272        pub fn aria_value_max(&mut self, value: f64) -> &mut Self {
2273            self.element.set_aria_value_max(Some(value));
2274            self
2275        }
2276        /// Set the value of the `aria-valuemin` attribute
2277        pub fn aria_value_min(&mut self, value: f64) -> &mut Self {
2278            self.element.set_aria_value_min(Some(value));
2279            self
2280        }
2281        /// Set the value of the `aria-valuenow` attribute
2282        pub fn aria_value_now(&mut self, value: f64) -> &mut Self {
2283            self.element.set_aria_value_now(Some(value));
2284            self
2285        }
2286        /// Set the value of the `aria-valuetext` attribute
2287        pub fn aria_value_text(
2288            &mut self,
2289            value: impl Into<std::borrow::Cow<'static, str>>,
2290        ) -> &mut Self {
2291            self.element.set_aria_value_text(Some(value.into()));
2292            self
2293        }
2294        /// Set the value of the `accesskey` attribute
2295        pub fn access_key(
2296            &mut self,
2297            value: impl Into<std::borrow::Cow<'static, str>>,
2298        ) -> &mut Self {
2299            self.element.set_access_key(Some(value.into()));
2300            self
2301        }
2302        /// Set the value of the `autocapitalize` attribute
2303        pub fn auto_capitalize(
2304            &mut self,
2305            value: impl Into<std::borrow::Cow<'static, str>>,
2306        ) -> &mut Self {
2307            self.element.set_auto_capitalize(Some(value.into()));
2308            self
2309        }
2310        /// Set the value of the `autofocus` attribute
2311        pub fn autofocus(&mut self, value: bool) -> &mut Self {
2312            self.element.set_autofocus(value);
2313            self
2314        }
2315        /// Set the value of the `class` attribute
2316        pub fn class(
2317            &mut self,
2318            value: impl Into<std::borrow::Cow<'static, str>>,
2319        ) -> &mut Self {
2320            self.element.set_class(Some(value.into()));
2321            self
2322        }
2323        /// Set the value of the `contenteditable` attribute
2324        pub fn content_editable(
2325            &mut self,
2326            value: impl Into<std::borrow::Cow<'static, str>>,
2327        ) -> &mut Self {
2328            self.element.set_content_editable(Some(value.into()));
2329            self
2330        }
2331        /// Set the value of the `dir` attribute
2332        pub fn direction(
2333            &mut self,
2334            value: impl Into<std::borrow::Cow<'static, str>>,
2335        ) -> &mut Self {
2336            self.element.set_direction(Some(value.into()));
2337            self
2338        }
2339        /// Set the value of the `draggable` attribute
2340        pub fn draggable(&mut self, value: bool) -> &mut Self {
2341            self.element.set_draggable(value);
2342            self
2343        }
2344        /// Set the value of the `enterkeyhint` attribute
2345        pub fn enter_key_hint(
2346            &mut self,
2347            value: impl Into<std::borrow::Cow<'static, str>>,
2348        ) -> &mut Self {
2349            self.element.set_enter_key_hint(Some(value.into()));
2350            self
2351        }
2352        /// Set the value of the `exportparts` attribute
2353        pub fn export_parts(
2354            &mut self,
2355            value: impl Into<std::borrow::Cow<'static, str>>,
2356        ) -> &mut Self {
2357            self.element.set_export_parts(Some(value.into()));
2358            self
2359        }
2360        /// Set the value of the `hidden` attribute
2361        pub fn hidden(
2362            &mut self,
2363            value: impl Into<std::borrow::Cow<'static, str>>,
2364        ) -> &mut Self {
2365            self.element.set_hidden(Some(value.into()));
2366            self
2367        }
2368        /// Set the value of the `id` attribute
2369        pub fn id(
2370            &mut self,
2371            value: impl Into<std::borrow::Cow<'static, str>>,
2372        ) -> &mut Self {
2373            self.element.set_id(Some(value.into()));
2374            self
2375        }
2376        /// Set the value of the `inert` attribute
2377        pub fn inert(&mut self, value: bool) -> &mut Self {
2378            self.element.set_inert(value);
2379            self
2380        }
2381        /// Set the value of the `inputmode` attribute
2382        pub fn input_mode(
2383            &mut self,
2384            value: impl Into<std::borrow::Cow<'static, str>>,
2385        ) -> &mut Self {
2386            self.element.set_input_mode(Some(value.into()));
2387            self
2388        }
2389        /// Set the value of the `is` attribute
2390        pub fn is_(
2391            &mut self,
2392            value: impl Into<std::borrow::Cow<'static, str>>,
2393        ) -> &mut Self {
2394            self.element.set_is_(Some(value.into()));
2395            self
2396        }
2397        /// Set the value of the `itemid` attribute
2398        pub fn item_id(
2399            &mut self,
2400            value: impl Into<std::borrow::Cow<'static, str>>,
2401        ) -> &mut Self {
2402            self.element.set_item_id(Some(value.into()));
2403            self
2404        }
2405        /// Set the value of the `itemprop` attribute
2406        pub fn item_prop(
2407            &mut self,
2408            value: impl Into<std::borrow::Cow<'static, str>>,
2409        ) -> &mut Self {
2410            self.element.set_item_prop(Some(value.into()));
2411            self
2412        }
2413        /// Set the value of the `itemref` attribute
2414        pub fn item_ref(
2415            &mut self,
2416            value: impl Into<std::borrow::Cow<'static, str>>,
2417        ) -> &mut Self {
2418            self.element.set_item_ref(Some(value.into()));
2419            self
2420        }
2421        /// Set the value of the `itemscope` attribute
2422        pub fn item_scope(
2423            &mut self,
2424            value: impl Into<std::borrow::Cow<'static, str>>,
2425        ) -> &mut Self {
2426            self.element.set_item_scope(Some(value.into()));
2427            self
2428        }
2429        /// Set the value of the `itemtype` attribute
2430        pub fn item_type(
2431            &mut self,
2432            value: impl Into<std::borrow::Cow<'static, str>>,
2433        ) -> &mut Self {
2434            self.element.set_item_type(Some(value.into()));
2435            self
2436        }
2437        /// Set the value of the `lang` attribute
2438        pub fn lang(
2439            &mut self,
2440            value: impl Into<std::borrow::Cow<'static, str>>,
2441        ) -> &mut Self {
2442            self.element.set_lang(Some(value.into()));
2443            self
2444        }
2445        /// Set the value of the `nonce` attribute
2446        pub fn nonce(
2447            &mut self,
2448            value: impl Into<std::borrow::Cow<'static, str>>,
2449        ) -> &mut Self {
2450            self.element.set_nonce(Some(value.into()));
2451            self
2452        }
2453        /// Set the value of the `part` attribute
2454        pub fn part(
2455            &mut self,
2456            value: impl Into<std::borrow::Cow<'static, str>>,
2457        ) -> &mut Self {
2458            self.element.set_part(Some(value.into()));
2459            self
2460        }
2461        /// Set the value of the `slot` attribute
2462        pub fn slot_attr(
2463            &mut self,
2464            value: impl Into<std::borrow::Cow<'static, str>>,
2465        ) -> &mut Self {
2466            self.element.set_slot(Some(value.into()));
2467            self
2468        }
2469        /// Set the value of the `spellcheck` attribute
2470        pub fn spellcheck(
2471            &mut self,
2472            value: impl Into<std::borrow::Cow<'static, str>>,
2473        ) -> &mut Self {
2474            self.element.set_spellcheck(Some(value.into()));
2475            self
2476        }
2477        /// Set the value of the `style` attribute
2478        pub fn style(
2479            &mut self,
2480            value: impl Into<std::borrow::Cow<'static, str>>,
2481        ) -> &mut Self {
2482            self.element.set_style(Some(value.into()));
2483            self
2484        }
2485        /// Set the value of the `tabindex` attribute
2486        pub fn tab_index(&mut self, value: i64) -> &mut Self {
2487            self.element.set_tab_index(Some(value));
2488            self
2489        }
2490        /// Set the value of the `title` attribute
2491        pub fn title(
2492            &mut self,
2493            value: impl Into<std::borrow::Cow<'static, str>>,
2494        ) -> &mut Self {
2495            self.element.set_title(Some(value.into()));
2496            self
2497        }
2498        /// Set the value of the `translate` attribute
2499        pub fn translate(&mut self, value: bool) -> &mut Self {
2500            self.element.set_translate(value);
2501            self
2502        }
2503        /// Push a new child element to the list of children.
2504        pub fn push<T>(&mut self, child_el: T) -> &mut Self
2505        where
2506            T: Into<crate::generated::all::children::ProgressChild>,
2507        {
2508            let child_el = child_el.into();
2509            self.element.children_mut().push(child_el);
2510            self
2511        }
2512        /// Extend the list of children with an iterator of child elements.
2513        pub fn extend<I, T>(&mut self, iter: I) -> &mut Self
2514        where
2515            I: IntoIterator<Item = T>,
2516            T: Into<crate::generated::all::children::ProgressChild>,
2517        {
2518            let iter = iter.into_iter().map(|child_el| child_el.into());
2519            self.element.children_mut().extend(iter);
2520            self
2521        }
2522    }
2523}