1#[doc(alias = "input")]
5#[non_exhaustive]
6#[derive(Debug, Clone, PartialEq, Default)]
7pub struct Input {
8 pub data_map: crate::DataMap,
9 global_attrs: crate::GlobalAttributes,
10 pub accept: std::option::Option<std::borrow::Cow<'static, str>>,
12 pub alt: std::option::Option<std::borrow::Cow<'static, str>>,
14 pub autocomplete: std::option::Option<std::borrow::Cow<'static, str>>,
16 pub checked: std::option::Option<std::borrow::Cow<'static, str>>,
18 pub dirname: std::option::Option<std::borrow::Cow<'static, str>>,
20 pub disabled: std::option::Option<std::borrow::Cow<'static, str>>,
22 pub form: std::option::Option<std::borrow::Cow<'static, str>>,
24 pub formaction: std::option::Option<std::borrow::Cow<'static, str>>,
26 pub formenctype: std::option::Option<std::borrow::Cow<'static, str>>,
28 pub formmethod: std::option::Option<std::borrow::Cow<'static, str>>,
30 pub formnovalidate: std::option::Option<std::borrow::Cow<'static, str>>,
32 pub formtarget: std::option::Option<std::borrow::Cow<'static, str>>,
34 pub height: std::option::Option<std::borrow::Cow<'static, str>>,
36 pub list: std::option::Option<std::borrow::Cow<'static, str>>,
38 pub max: std::option::Option<std::borrow::Cow<'static, str>>,
40 pub maxlength: std::option::Option<std::borrow::Cow<'static, str>>,
42 pub min: std::option::Option<std::borrow::Cow<'static, str>>,
44 pub minlength: std::option::Option<std::borrow::Cow<'static, str>>,
46 pub multiple: std::option::Option<std::borrow::Cow<'static, str>>,
48 pub name: std::option::Option<std::borrow::Cow<'static, str>>,
50 pub pattern: std::option::Option<std::borrow::Cow<'static, str>>,
52 pub placeholder: std::option::Option<std::borrow::Cow<'static, str>>,
54 pub popovertarget: std::option::Option<std::borrow::Cow<'static, str>>,
56 pub popovertargetaction: std::option::Option<std::borrow::Cow<'static, str>>,
58 pub readonly: std::option::Option<std::borrow::Cow<'static, str>>,
60 pub required: std::option::Option<std::borrow::Cow<'static, str>>,
62 pub size: std::option::Option<std::borrow::Cow<'static, str>>,
64 pub src: std::option::Option<std::borrow::Cow<'static, str>>,
66 pub step: std::option::Option<std::borrow::Cow<'static, str>>,
68 pub type_: std::option::Option<std::borrow::Cow<'static, str>>,
70 pub value: std::option::Option<std::borrow::Cow<'static, str>>,
72 pub width: std::option::Option<std::borrow::Cow<'static, str>>,
74 pub role: std::option::Option<std::borrow::Cow<'static, str>>,
76 pub aria_active_descendant_element: std::option::Option<
78 std::borrow::Cow<'static, str>,
79 >,
80 pub aria_atomic: bool,
82 pub aria_auto_complete: std::option::Option<std::borrow::Cow<'static, str>>,
84 pub aria_braille_label: std::option::Option<std::borrow::Cow<'static, str>>,
86 pub aria_braille_role_description: std::option::Option<
88 std::borrow::Cow<'static, str>,
89 >,
90 pub aria_busy: bool,
92 pub aria_checked: std::option::Option<std::borrow::Cow<'static, str>>,
94 pub aria_col_index: std::option::Option<i64>,
96 pub aria_col_index_text: std::option::Option<std::borrow::Cow<'static, str>>,
98 pub aria_col_span: std::option::Option<i64>,
100 pub aria_controls_elements: std::option::Option<std::borrow::Cow<'static, str>>,
102 pub aria_current: std::option::Option<std::borrow::Cow<'static, str>>,
104 pub aria_described_by_elements: std::option::Option<std::borrow::Cow<'static, str>>,
106 pub aria_description: std::option::Option<std::borrow::Cow<'static, str>>,
108 pub aria_details_elements: std::option::Option<std::borrow::Cow<'static, str>>,
110 pub aria_disabled: bool,
112 pub aria_drop_effect: std::option::Option<std::borrow::Cow<'static, str>>,
114 pub aria_error_message_elements: std::option::Option<std::borrow::Cow<'static, str>>,
116 pub aria_expanded: bool,
118 pub aria_flow_to_elements: std::option::Option<std::borrow::Cow<'static, str>>,
120 pub aria_grabbed: bool,
122 pub aria_has_popup: std::option::Option<std::borrow::Cow<'static, str>>,
124 pub aria_hidden: bool,
126 pub aria_invalid: std::option::Option<std::borrow::Cow<'static, str>>,
128 pub aria_key_shortcuts: std::option::Option<std::borrow::Cow<'static, str>>,
130 pub aria_label: std::option::Option<std::borrow::Cow<'static, str>>,
132 pub aria_labelled_by_elements: std::option::Option<std::borrow::Cow<'static, str>>,
134 pub aria_level: std::option::Option<i64>,
136 pub aria_live: std::option::Option<std::borrow::Cow<'static, str>>,
138 pub aria_multi_line: bool,
140 pub aria_orientation: std::option::Option<std::borrow::Cow<'static, str>>,
142 pub aria_owns_elements: std::option::Option<std::borrow::Cow<'static, str>>,
144 pub aria_placeholder: std::option::Option<std::borrow::Cow<'static, str>>,
146 pub aria_pos_in_set: std::option::Option<i64>,
148 pub aria_pressed: std::option::Option<std::borrow::Cow<'static, str>>,
150 pub aria_read_only: bool,
152 pub aria_relevant: std::option::Option<std::borrow::Cow<'static, str>>,
154 pub aria_required: bool,
156 pub aria_role_description: std::option::Option<std::borrow::Cow<'static, str>>,
158 pub aria_row_index: std::option::Option<i64>,
160 pub aria_row_index_text: std::option::Option<std::borrow::Cow<'static, str>>,
162 pub aria_row_span: std::option::Option<i64>,
164 pub aria_selected: bool,
166 pub aria_set_size: std::option::Option<i64>,
168 pub aria_value_max: std::option::Option<f64>,
170 pub aria_value_min: std::option::Option<f64>,
172 pub aria_value_now: std::option::Option<f64>,
174 pub aria_value_text: std::option::Option<std::borrow::Cow<'static, str>>,
176}
177impl crate::RenderElement for Input {
178 fn write_opening_tag<W: std::fmt::Write>(&self, writer: &mut W) -> std::fmt::Result {
179 write!(writer, "<input")?;
180 if let Some(field) = self.accept.as_ref() {
181 write!(writer, r#" accept="{field}""#)?;
182 }
183 if let Some(field) = self.alt.as_ref() {
184 write!(writer, r#" alt="{field}""#)?;
185 }
186 if let Some(field) = self.autocomplete.as_ref() {
187 write!(writer, r#" autocomplete="{field}""#)?;
188 }
189 if let Some(field) = self.checked.as_ref() {
190 write!(writer, r#" checked="{field}""#)?;
191 }
192 if let Some(field) = self.dirname.as_ref() {
193 write!(writer, r#" dirname="{field}""#)?;
194 }
195 if let Some(field) = self.disabled.as_ref() {
196 write!(writer, r#" disabled="{field}""#)?;
197 }
198 if let Some(field) = self.form.as_ref() {
199 write!(writer, r#" form="{field}""#)?;
200 }
201 if let Some(field) = self.formaction.as_ref() {
202 write!(writer, r#" formaction="{field}""#)?;
203 }
204 if let Some(field) = self.formenctype.as_ref() {
205 write!(writer, r#" formenctype="{field}""#)?;
206 }
207 if let Some(field) = self.formmethod.as_ref() {
208 write!(writer, r#" formmethod="{field}""#)?;
209 }
210 if let Some(field) = self.formnovalidate.as_ref() {
211 write!(writer, r#" formnovalidate="{field}""#)?;
212 }
213 if let Some(field) = self.formtarget.as_ref() {
214 write!(writer, r#" formtarget="{field}""#)?;
215 }
216 if let Some(field) = self.height.as_ref() {
217 write!(writer, r#" height="{field}""#)?;
218 }
219 if let Some(field) = self.list.as_ref() {
220 write!(writer, r#" list="{field}""#)?;
221 }
222 if let Some(field) = self.max.as_ref() {
223 write!(writer, r#" max="{field}""#)?;
224 }
225 if let Some(field) = self.maxlength.as_ref() {
226 write!(writer, r#" maxlength="{field}""#)?;
227 }
228 if let Some(field) = self.min.as_ref() {
229 write!(writer, r#" min="{field}""#)?;
230 }
231 if let Some(field) = self.minlength.as_ref() {
232 write!(writer, r#" minlength="{field}""#)?;
233 }
234 if let Some(field) = self.multiple.as_ref() {
235 write!(writer, r#" multiple="{field}""#)?;
236 }
237 if let Some(field) = self.name.as_ref() {
238 write!(writer, r#" name="{field}""#)?;
239 }
240 if let Some(field) = self.pattern.as_ref() {
241 write!(writer, r#" pattern="{field}""#)?;
242 }
243 if let Some(field) = self.placeholder.as_ref() {
244 write!(writer, r#" placeholder="{field}""#)?;
245 }
246 if let Some(field) = self.popovertarget.as_ref() {
247 write!(writer, r#" popovertarget="{field}""#)?;
248 }
249 if let Some(field) = self.popovertargetaction.as_ref() {
250 write!(writer, r#" popovertargetaction="{field}""#)?;
251 }
252 if let Some(field) = self.readonly.as_ref() {
253 write!(writer, r#" readonly="{field}""#)?;
254 }
255 if let Some(field) = self.required.as_ref() {
256 write!(writer, r#" required="{field}""#)?;
257 }
258 if let Some(field) = self.size.as_ref() {
259 write!(writer, r#" size="{field}""#)?;
260 }
261 if let Some(field) = self.src.as_ref() {
262 write!(writer, r#" src="{field}""#)?;
263 }
264 if let Some(field) = self.step.as_ref() {
265 write!(writer, r#" step="{field}""#)?;
266 }
267 if let Some(field) = self.type_.as_ref() {
268 write!(writer, r#" type="{field}""#)?;
269 }
270 if let Some(field) = self.value.as_ref() {
271 write!(writer, r#" value="{field}""#)?;
272 }
273 if let Some(field) = self.width.as_ref() {
274 write!(writer, r#" width="{field}""#)?;
275 }
276 if let Some(field) = self.role.as_ref() {
277 write!(writer, r#" role="{field}""#)?;
278 }
279 if let Some(field) = self.aria_active_descendant_element.as_ref() {
280 write!(writer, r#" aria-activedescendant="{field}""#)?;
281 }
282 if self.aria_atomic {
283 write!(writer, r#" aria-atomic"#)?;
284 }
285 if let Some(field) = self.aria_auto_complete.as_ref() {
286 write!(writer, r#" aria-autocomplete="{field}""#)?;
287 }
288 if let Some(field) = self.aria_braille_label.as_ref() {
289 write!(writer, r#" aria-braillelabel="{field}""#)?;
290 }
291 if let Some(field) = self.aria_braille_role_description.as_ref() {
292 write!(writer, r#" aria-brailleroledescription="{field}""#)?;
293 }
294 if self.aria_busy {
295 write!(writer, r#" aria-busy"#)?;
296 }
297 if let Some(field) = self.aria_checked.as_ref() {
298 write!(writer, r#" aria-checked="{field}""#)?;
299 }
300 if let Some(field) = self.aria_col_index.as_ref() {
301 write!(writer, r#" aria-colindex="{field}""#)?;
302 }
303 if let Some(field) = self.aria_col_index_text.as_ref() {
304 write!(writer, r#" aria-colindextext="{field}""#)?;
305 }
306 if let Some(field) = self.aria_col_span.as_ref() {
307 write!(writer, r#" aria-colspan="{field}""#)?;
308 }
309 if let Some(field) = self.aria_controls_elements.as_ref() {
310 write!(writer, r#" aria-controls="{field}""#)?;
311 }
312 if let Some(field) = self.aria_current.as_ref() {
313 write!(writer, r#" aria-current="{field}""#)?;
314 }
315 if let Some(field) = self.aria_described_by_elements.as_ref() {
316 write!(writer, r#" aria-describedby="{field}""#)?;
317 }
318 if let Some(field) = self.aria_description.as_ref() {
319 write!(writer, r#" aria-description="{field}""#)?;
320 }
321 if let Some(field) = self.aria_details_elements.as_ref() {
322 write!(writer, r#" aria-details="{field}""#)?;
323 }
324 if self.aria_disabled {
325 write!(writer, r#" aria-disabled"#)?;
326 }
327 if let Some(field) = self.aria_drop_effect.as_ref() {
328 write!(writer, r#" aria-dropeffect="{field}""#)?;
329 }
330 if let Some(field) = self.aria_error_message_elements.as_ref() {
331 write!(writer, r#" aria-errormessage="{field}""#)?;
332 }
333 if self.aria_expanded {
334 write!(writer, r#" aria-expanded"#)?;
335 }
336 if let Some(field) = self.aria_flow_to_elements.as_ref() {
337 write!(writer, r#" aria-flowto="{field}""#)?;
338 }
339 if self.aria_grabbed {
340 write!(writer, r#" aria-grabbed"#)?;
341 }
342 if let Some(field) = self.aria_has_popup.as_ref() {
343 write!(writer, r#" aria-haspopup="{field}""#)?;
344 }
345 if self.aria_hidden {
346 write!(writer, r#" aria-hidden"#)?;
347 }
348 if let Some(field) = self.aria_invalid.as_ref() {
349 write!(writer, r#" aria-invalid="{field}""#)?;
350 }
351 if let Some(field) = self.aria_key_shortcuts.as_ref() {
352 write!(writer, r#" aria-keyshortcuts="{field}""#)?;
353 }
354 if let Some(field) = self.aria_label.as_ref() {
355 write!(writer, r#" aria-label="{field}""#)?;
356 }
357 if let Some(field) = self.aria_labelled_by_elements.as_ref() {
358 write!(writer, r#" aria-labelledby="{field}""#)?;
359 }
360 if let Some(field) = self.aria_level.as_ref() {
361 write!(writer, r#" aria-level="{field}""#)?;
362 }
363 if let Some(field) = self.aria_live.as_ref() {
364 write!(writer, r#" aria-live="{field}""#)?;
365 }
366 if self.aria_multi_line {
367 write!(writer, r#" aria-multiline"#)?;
368 }
369 if let Some(field) = self.aria_orientation.as_ref() {
370 write!(writer, r#" aria-orientation="{field}""#)?;
371 }
372 if let Some(field) = self.aria_owns_elements.as_ref() {
373 write!(writer, r#" aria-owns="{field}""#)?;
374 }
375 if let Some(field) = self.aria_placeholder.as_ref() {
376 write!(writer, r#" aria-placeholder="{field}""#)?;
377 }
378 if let Some(field) = self.aria_pos_in_set.as_ref() {
379 write!(writer, r#" aria-posinset="{field}""#)?;
380 }
381 if let Some(field) = self.aria_pressed.as_ref() {
382 write!(writer, r#" aria-pressed="{field}""#)?;
383 }
384 if self.aria_read_only {
385 write!(writer, r#" aria-readonly"#)?;
386 }
387 if let Some(field) = self.aria_relevant.as_ref() {
388 write!(writer, r#" aria-relevant="{field}""#)?;
389 }
390 if self.aria_required {
391 write!(writer, r#" aria-required"#)?;
392 }
393 if let Some(field) = self.aria_role_description.as_ref() {
394 write!(writer, r#" aria-roledescription="{field}""#)?;
395 }
396 if let Some(field) = self.aria_row_index.as_ref() {
397 write!(writer, r#" aria-rowindex="{field}""#)?;
398 }
399 if let Some(field) = self.aria_row_index_text.as_ref() {
400 write!(writer, r#" aria-rowindextext="{field}""#)?;
401 }
402 if let Some(field) = self.aria_row_span.as_ref() {
403 write!(writer, r#" aria-rowspan="{field}""#)?;
404 }
405 if self.aria_selected {
406 write!(writer, r#" aria-selected"#)?;
407 }
408 if let Some(field) = self.aria_set_size.as_ref() {
409 write!(writer, r#" aria-setsize="{field}""#)?;
410 }
411 if let Some(field) = self.aria_value_max.as_ref() {
412 write!(writer, r#" aria-valuemax="{field}""#)?;
413 }
414 if let Some(field) = self.aria_value_min.as_ref() {
415 write!(writer, r#" aria-valuemin="{field}""#)?;
416 }
417 if let Some(field) = self.aria_value_now.as_ref() {
418 write!(writer, r#" aria-valuenow="{field}""#)?;
419 }
420 if let Some(field) = self.aria_value_text.as_ref() {
421 write!(writer, r#" aria-valuetext="{field}""#)?;
422 }
423 write!(writer, "{}", self.global_attrs)?;
424 write!(writer, "{}", self.data_map)?;
425 write!(writer, ">")?;
426 Ok(())
427 }
428 #[allow(unused_variables)]
429 fn write_closing_tag<W: std::fmt::Write>(&self, writer: &mut W) -> std::fmt::Result {
430 Ok(())
431 }
432}
433impl std::fmt::Display for Input {
434 fn fmt(&self, writer: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
435 use crate::RenderElement;
436 self.write_opening_tag(writer)?;
437 self.write_closing_tag(writer)?;
438 Ok(())
439 }
440}
441impl std::ops::Deref for Input {
442 type Target = crate::GlobalAttributes;
443 fn deref(&self) -> &Self::Target {
444 &self.global_attrs
445 }
446}
447impl std::ops::DerefMut for Input {
448 fn deref_mut(&mut self) -> &mut Self::Target {
449 &mut self.global_attrs
450 }
451}