logo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
pub struct TextInputType {
    // The number is decimal, allowing a decimal point to provide fractional.
    pub decimal: bool,

    // Enum value index, corresponds to one of the values.
    pub index: usize,

    // The number is signed, allowing a positive or negative sign at the start.
    pub signed: bool,
}

impl TextInputType {
    // Optimize for textual information. [...]
    pub const TEXT: TextInputType = TextInputType {
        index: 0,
        decimal: false,
        signed: false,
    };

    // Optimize for multiline textual information. [...]
    pub const MULTILINE: TextInputType = TextInputType {
        index: 1,
        decimal: false,
        signed: false,
    };

    // Optimize for unsigned numerical information without a decimal point. [...]
    pub const NUMBER: TextInputType = TextInputType {
        index: 2,
        decimal: false,
        signed: false,
    };

    // Optimize for telephone numbers. [...]
    pub const PHONE: TextInputType = TextInputType {
        index: 3,
        decimal: false,
        signed: false,
    };

    // Optimize for date and time information. [...]
    pub const DATATIME: TextInputType = TextInputType {
        index: 4,
        decimal: false,
        signed: false,
    };

    // Optimize for email addresses. [...]
    pub const EMAIL_ADDRESS: TextInputType = TextInputType {
        index: 5,
        decimal: false,
        signed: false,
    };

    // Optimize for URLs. [...]
    pub const URL: TextInputType = TextInputType {
        index: 6,
        decimal: false,
        signed: false,
    };

    // Optimize for passwords that are visible to the user. [...]
    pub const VISIBLE_PASSWORD: TextInputType = TextInputType {
        index: 7,
        decimal: false,
        signed: false,
    };

    // Optimized for a person's name. [...]
    pub const NAME: TextInputType = TextInputType {
        index: 8,
        decimal: false,
        signed: false,
    };

    // Optimized for postal mailing addresses. [...]
    pub const STREET_ADDRESS: TextInputType = TextInputType {
        index: 9,
        decimal: false,
        signed: false,
    };

    // Prevent the OS from showing the on-screen virtual keyboard.
    pub const NONE: TextInputType = TextInputType {
        index: 10,
        decimal: false,
        signed: false,
    };
    // toJson() → Map<String, dynamic>
    // Returns a representation of this object as a JSON object.
}

impl Default for TextInputType {
    fn default() -> Self {
        Self {
            decimal: Default::default(),
            index: Default::default(),
            signed: Default::default(),
        }
    }
}