1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4pub enum Allow {
5 #[serde(rename = "all")]
6 All,
7 #[serde(rename = "ascii")]
8 Ascii,
9 #[serde(rename = "email")]
10 Email,
11 #[serde(rename = "numbers")]
12 Numbers,
13 #[serde(rename = "tel")]
14 Tel,
15}
16
17impl Default for Allow {
18 fn default() -> Self {
19 Self::All
20 }
21}
22
23#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24pub enum AutoCapitalize {
25 #[serde(rename = "names")]
26 Names,
27 #[serde(rename = "sentences")]
28 Sentences,
29}
30
31impl Default for AutoCapitalize {
32 fn default() -> Self {
33 Self::Sentences
34 }
35}
36
37#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
38pub enum HAlignment {
39 #[serde(rename = "start")]
40 Start,
41 #[serde(rename = "center")]
42 Center,
43 #[serde(rename = "end")]
44 End,
45}
46
47impl HAlignment {
48 #[must_use]
50 pub fn is_start(&self) -> bool {
51 self == &Self::Start
52 }
53}
54
55impl Default for HAlignment {
56 fn default() -> Self {
57 Self::Center
58 }
59}
60
61#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
62pub enum Disposition {
63 #[serde(rename = "cover")]
65 Cover,
66 #[serde(rename = "fit")]
68 Fit,
69 #[serde(rename = "stretch")]
71 Stretch,
72}