applin/
option.rs

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    /// This is useful for serde `skip_serializing_if` attributes.
49    #[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    /// Size the image to fill the space, preserving aspect ratio.
64    #[serde(rename = "cover")]
65    Cover,
66    /// Size the image to just fit inside the space, preserving aspect ratio.
67    #[serde(rename = "fit")]
68    Fit,
69    /// Stretch the image to fill the space.
70    #[serde(rename = "stretch")]
71    Stretch,
72}