@draftbit/core 46.2.0 → 46.2.1-45f2e3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Accordion/AccordionItem.js +24 -5
- package/lib/commonjs/components/Accordion/AccordionItem.js.map +1 -1
- package/lib/commonjs/components/DatePicker/DatePickerComponentType.js.map +1 -1
- package/lib/commonjs/components/DeprecatedCardWrapper.js +2 -14
- package/lib/commonjs/components/DeprecatedCardWrapper.js.map +1 -1
- package/lib/commonjs/components/StarRating.js +24 -5
- package/lib/commonjs/components/StarRating.js.map +1 -1
- package/lib/commonjs/mappings/ActionSheetItem.js.map +1 -1
- package/lib/commonjs/mappings/BlurView.js.map +1 -1
- package/lib/commonjs/mappings/FlatList.js +4 -0
- package/lib/commonjs/mappings/FlatList.js.map +1 -1
- package/lib/commonjs/mappings/NumberInput.js +241 -0
- package/lib/commonjs/mappings/NumberInput.js.map +1 -0
- package/lib/commonjs/mappings/RadioButton.js.map +1 -1
- package/lib/commonjs/mappings/RadioButtonRow.js.map +1 -1
- package/lib/commonjs/mappings/Text.js +33 -26
- package/lib/commonjs/mappings/Text.js.map +1 -1
- package/lib/commonjs/mappings/TextArea.js +181 -2
- package/lib/commonjs/mappings/TextArea.js.map +1 -1
- package/lib/commonjs/mappings/TextField.js +191 -2
- package/lib/commonjs/mappings/TextField.js.map +1 -1
- package/lib/commonjs/mappings/TextInput.js +180 -29
- package/lib/commonjs/mappings/TextInput.js.map +1 -1
- package/lib/module/components/AvatarEdit.js +16 -5
- package/lib/module/components/AvatarEdit.js.map +1 -1
- package/lib/module/components/CardBlock.js +15 -5
- package/lib/module/components/CardBlock.js.map +1 -1
- package/lib/module/components/Checkbox/CheckboxRow.js +23 -6
- package/lib/module/components/Checkbox/CheckboxRow.js.map +1 -1
- package/lib/module/mappings/FlatList.js +4 -0
- package/lib/module/mappings/FlatList.js.map +1 -1
- package/lib/module/mappings/NumberInput.js +231 -0
- package/lib/module/mappings/NumberInput.js.map +1 -0
- package/lib/module/mappings/Text.js +33 -26
- package/lib/module/mappings/Text.js.map +1 -1
- package/lib/module/mappings/TextArea.js +182 -3
- package/lib/module/mappings/TextArea.js.map +1 -1
- package/lib/module/mappings/TextField.js +192 -3
- package/lib/module/mappings/TextField.js.map +1 -1
- package/lib/module/mappings/TextInput.js +180 -29
- package/lib/module/mappings/TextInput.js.map +1 -1
- package/lib/typescript/src/mappings/FlatList.d.ts +10 -0
- package/lib/typescript/src/mappings/NumberInput.d.ts +297 -0
- package/lib/typescript/src/mappings/Text.d.ts +24 -10
- package/lib/typescript/src/mappings/TextArea.d.ts +1 -11
- package/lib/typescript/src/mappings/TextField.d.ts +4 -4
- package/lib/typescript/src/mappings/TextInput.d.ts +3 -254
- package/package.json +2 -2
- package/src/mappings/FlatList.js +4 -0
- package/src/mappings/FlatList.ts +4 -0
- package/src/mappings/NumberInput.js +248 -0
- package/src/mappings/NumberInput.ts +267 -0
- package/src/mappings/Text.js +33 -26
- package/src/mappings/Text.ts +34 -27
- package/src/mappings/TextArea.js +210 -3
- package/src/mappings/TextArea.ts +216 -3
- package/src/mappings/TextField.js +220 -3
- package/src/mappings/TextField.ts +227 -3
- package/src/mappings/TextInput.js +208 -31
- package/src/mappings/TextInput.ts +214 -34
package/src/mappings/Text.ts
CHANGED
|
@@ -15,7 +15,19 @@ const SEED_DATA_PROPS = {
|
|
|
15
15
|
label: "accessibilityLabel",
|
|
16
16
|
description:
|
|
17
17
|
"Overrides the text that's read by the screen reader when the user interacts with the element. By default, the label is constructed by traversing all the children and accumulating all the Text nodes separated by space.",
|
|
18
|
-
editable:
|
|
18
|
+
editable: true,
|
|
19
|
+
required: false,
|
|
20
|
+
formType: FORM_TYPES.string,
|
|
21
|
+
propType: PROP_TYPES.STRING,
|
|
22
|
+
defaultValue: null,
|
|
23
|
+
},
|
|
24
|
+
accessibilityHint: {
|
|
25
|
+
group: GROUPS.accessibility,
|
|
26
|
+
name: "accessibilityHint",
|
|
27
|
+
label: "accessibilityHint",
|
|
28
|
+
description:
|
|
29
|
+
"An accessibility hint helps users understand what will happen when they perform an action on the accessibility element when that result is not clear from the accessibility label.",
|
|
30
|
+
editable: true,
|
|
19
31
|
required: false,
|
|
20
32
|
formType: FORM_TYPES.string,
|
|
21
33
|
propType: PROP_TYPES.STRING,
|
|
@@ -40,7 +52,7 @@ const SEED_DATA_PROPS = {
|
|
|
40
52
|
"imagebutton",
|
|
41
53
|
"adjustable",
|
|
42
54
|
],
|
|
43
|
-
editable:
|
|
55
|
+
editable: true,
|
|
44
56
|
required: false,
|
|
45
57
|
formType: FORM_TYPES.flatArray,
|
|
46
58
|
propType: PROP_TYPES.STRING,
|
|
@@ -51,8 +63,8 @@ const SEED_DATA_PROPS = {
|
|
|
51
63
|
name: "accessible",
|
|
52
64
|
label: "accessible",
|
|
53
65
|
description:
|
|
54
|
-
"When set to true, indicates that the view is an accessibility element. The default value for a Text element is true.See the Accessibility guide for more information.",
|
|
55
|
-
editable:
|
|
66
|
+
"When set to true, indicates that the view is an accessibility element. The default value for a Text element is true. See the Accessibility guide for more information.",
|
|
67
|
+
editable: true,
|
|
56
68
|
required: false,
|
|
57
69
|
formType: FORM_TYPES.boolean,
|
|
58
70
|
propType: PROP_TYPES.BOOLEAN,
|
|
@@ -64,7 +76,7 @@ const SEED_DATA_PROPS = {
|
|
|
64
76
|
label: "adjustsFontSizeToFit",
|
|
65
77
|
description:
|
|
66
78
|
"Specifies whether fonts should be scaled down automatically to fit given style constraints.",
|
|
67
|
-
editable:
|
|
79
|
+
editable: true,
|
|
68
80
|
required: false,
|
|
69
81
|
formType: FORM_TYPES.boolean,
|
|
70
82
|
propType: PROP_TYPES.BOOLEAN,
|
|
@@ -76,7 +88,7 @@ const SEED_DATA_PROPS = {
|
|
|
76
88
|
label: "allowFontScaling",
|
|
77
89
|
description:
|
|
78
90
|
"Specifies whether fonts should scale to respect Text Size accessibility settings. The default is true.",
|
|
79
|
-
editable:
|
|
91
|
+
editable: true,
|
|
80
92
|
required: false,
|
|
81
93
|
formType: FORM_TYPES.boolean,
|
|
82
94
|
propType: PROP_TYPES.BOOLEAN,
|
|
@@ -87,9 +99,9 @@ const SEED_DATA_PROPS = {
|
|
|
87
99
|
name: "dataDetectorType",
|
|
88
100
|
label: "dataDetectorType",
|
|
89
101
|
description:
|
|
90
|
-
"Determines the types of data converted to clickable URLs in the text element. By default no data types are detected.You can provide only one type.Possible values for dataDetectorType are:\n'phoneNumber'\n'link'\n'email'\n'none'\n'all'\n",
|
|
102
|
+
"Determines the types of data converted to clickable URLs in the text element. By default no data types are detected. You can provide only one type. Possible values for dataDetectorType are:\n'phoneNumber'\n'link'\n'email'\n'none'\n'all'\n",
|
|
91
103
|
options: ["phoneNumber", "link", "email", "none", "all"],
|
|
92
|
-
editable:
|
|
104
|
+
editable: true,
|
|
93
105
|
required: false,
|
|
94
106
|
formType: FORM_TYPES.flatArray,
|
|
95
107
|
propType: PROP_TYPES.STRING,
|
|
@@ -101,7 +113,7 @@ const SEED_DATA_PROPS = {
|
|
|
101
113
|
label: "disabled",
|
|
102
114
|
description:
|
|
103
115
|
"Specifies the disabled state of the text view for testing purposes",
|
|
104
|
-
editable:
|
|
116
|
+
editable: true,
|
|
105
117
|
required: false,
|
|
106
118
|
formType: FORM_TYPES.boolean,
|
|
107
119
|
propType: PROP_TYPES.BOOLEAN,
|
|
@@ -126,26 +138,21 @@ const SEED_DATA_PROPS = {
|
|
|
126
138
|
label: "maxFontSizeMultiplier",
|
|
127
139
|
description:
|
|
128
140
|
"Specifies largest possible scale a font can reach when allowFontScaling is enabled. Possible values:\nnull/undefined (default): inherit from the parent node or the global default (0)\n0: no max, ignore parent/global default\n>= 1: sets the maxFontSizeMultiplier of this node to this value\n",
|
|
129
|
-
editable:
|
|
141
|
+
editable: true,
|
|
130
142
|
required: false,
|
|
131
143
|
formType: FORM_TYPES.number,
|
|
132
144
|
propType: PROP_TYPES.NUMBER,
|
|
133
145
|
defaultValue: null,
|
|
134
146
|
},
|
|
135
|
-
|
|
136
|
-
group: GROUPS.
|
|
137
|
-
name: "
|
|
138
|
-
label: "
|
|
139
|
-
description:
|
|
140
|
-
|
|
141
|
-
editable: false,
|
|
147
|
+
nativeID: {
|
|
148
|
+
group: GROUPS.accessibility,
|
|
149
|
+
name: "nativeID",
|
|
150
|
+
label: "nativeID",
|
|
151
|
+
description: "Used to locate this view from native code.",
|
|
152
|
+
editable: true,
|
|
142
153
|
required: false,
|
|
143
|
-
formType: FORM_TYPES.
|
|
144
|
-
propType: PROP_TYPES.
|
|
145
|
-
min: 0.01,
|
|
146
|
-
step: 0.01,
|
|
147
|
-
precision: 2,
|
|
148
|
-
max: 1.0,
|
|
154
|
+
formType: FORM_TYPES.string,
|
|
155
|
+
propType: PROP_TYPES.STRING,
|
|
149
156
|
defaultValue: null,
|
|
150
157
|
},
|
|
151
158
|
numberOfLines: {
|
|
@@ -168,7 +175,7 @@ const SEED_DATA_PROPS = {
|
|
|
168
175
|
label: "selectable",
|
|
169
176
|
description:
|
|
170
177
|
"Lets the user select text, to use the native copy and paste functionality.",
|
|
171
|
-
editable:
|
|
178
|
+
editable: true,
|
|
172
179
|
required: false,
|
|
173
180
|
formType: FORM_TYPES.boolean,
|
|
174
181
|
propType: PROP_TYPES.BOOLEAN,
|
|
@@ -179,7 +186,7 @@ const SEED_DATA_PROPS = {
|
|
|
179
186
|
name: "selectionColor",
|
|
180
187
|
label: "selectionColor",
|
|
181
188
|
description: "The highlight color of the text.",
|
|
182
|
-
editable:
|
|
189
|
+
editable: true,
|
|
183
190
|
required: false,
|
|
184
191
|
formType: FORM_TYPES.color,
|
|
185
192
|
propType: PROP_TYPES.THEME,
|
|
@@ -191,7 +198,7 @@ const SEED_DATA_PROPS = {
|
|
|
191
198
|
label: "suppressHighlighting",
|
|
192
199
|
description:
|
|
193
200
|
"When true, no visual change is made when text is pressed down. By default, a gray oval highlights the text on press down.",
|
|
194
|
-
editable:
|
|
201
|
+
editable: true,
|
|
195
202
|
required: false,
|
|
196
203
|
formType: FORM_TYPES.boolean,
|
|
197
204
|
propType: PROP_TYPES.BOOLEAN,
|
|
@@ -204,7 +211,7 @@ const SEED_DATA_PROPS = {
|
|
|
204
211
|
description:
|
|
205
212
|
"Set text break strategy on Android API Level 23+, possible values are simple, highQuality, balanced The default value is highQuality.",
|
|
206
213
|
options: ["simple", "highQuality", "balanced"],
|
|
207
|
-
editable:
|
|
214
|
+
editable: true,
|
|
208
215
|
required: false,
|
|
209
216
|
formType: FORM_TYPES.flatArray,
|
|
210
217
|
propType: PROP_TYPES.STRING,
|
package/src/mappings/TextArea.js
CHANGED
|
@@ -1,4 +1,211 @@
|
|
|
1
|
-
import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME,
|
|
1
|
+
import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, Triggers, } from "@draftbit/types";
|
|
2
|
+
const TEXT_AREA_PROPS = {
|
|
3
|
+
allowFontScaling: {
|
|
4
|
+
group: GROUPS.advanced,
|
|
5
|
+
label: "Allow Font Scaling",
|
|
6
|
+
description: "Whether fonts should scale to respect Text Size in the user's accessibility settings. (Default: true)",
|
|
7
|
+
editable: true,
|
|
8
|
+
required: false,
|
|
9
|
+
defaultValue: null,
|
|
10
|
+
formType: FORM_TYPES.boolean,
|
|
11
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
12
|
+
},
|
|
13
|
+
autoCapitalize: {
|
|
14
|
+
group: GROUPS.advanced,
|
|
15
|
+
label: "Auto Capitalize",
|
|
16
|
+
description: "Can automatically capitalize sentences, words, and characters (Default: none).",
|
|
17
|
+
editable: true,
|
|
18
|
+
required: false,
|
|
19
|
+
defaultValue: null,
|
|
20
|
+
options: ["none", "sentences", "words", "characters"],
|
|
21
|
+
formType: FORM_TYPES.flatArray,
|
|
22
|
+
propType: PROP_TYPES.STRING,
|
|
23
|
+
},
|
|
24
|
+
autoCorrect: {
|
|
25
|
+
group: GROUPS.advanced,
|
|
26
|
+
label: "Auto Correct",
|
|
27
|
+
description: "Enables auto correction",
|
|
28
|
+
editable: true,
|
|
29
|
+
required: false,
|
|
30
|
+
defaultValue: null,
|
|
31
|
+
formType: FORM_TYPES.boolean,
|
|
32
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
33
|
+
},
|
|
34
|
+
autoFocus: {
|
|
35
|
+
group: GROUPS.basic,
|
|
36
|
+
label: "Auto Focus",
|
|
37
|
+
description: "Focuses the input on load in and brings up the keyboard",
|
|
38
|
+
editable: true,
|
|
39
|
+
required: false,
|
|
40
|
+
defaultValue: null,
|
|
41
|
+
formType: FORM_TYPES.boolean,
|
|
42
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
43
|
+
},
|
|
44
|
+
caretHidden: {
|
|
45
|
+
group: GROUPS.advanced,
|
|
46
|
+
label: "Hide Caret",
|
|
47
|
+
description: "Hides the caret(the line small line underneath each showing where you're editing/typing",
|
|
48
|
+
editable: true,
|
|
49
|
+
required: false,
|
|
50
|
+
defaultValue: null,
|
|
51
|
+
formType: FORM_TYPES.boolean,
|
|
52
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
53
|
+
},
|
|
54
|
+
contextMenuHidden: {
|
|
55
|
+
group: GROUPS.advanced,
|
|
56
|
+
label: "Hide Context Menu",
|
|
57
|
+
description: "Hides the system context menu (Default: false)",
|
|
58
|
+
editable: true,
|
|
59
|
+
required: false,
|
|
60
|
+
defaultValue: null,
|
|
61
|
+
formType: FORM_TYPES.boolean,
|
|
62
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
63
|
+
},
|
|
64
|
+
editable: {
|
|
65
|
+
group: GROUPS.advanced,
|
|
66
|
+
label: "Editable",
|
|
67
|
+
description: "If false, the text is not editable",
|
|
68
|
+
editable: true,
|
|
69
|
+
required: false,
|
|
70
|
+
defaultValue: true,
|
|
71
|
+
formType: FORM_TYPES.boolean,
|
|
72
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
73
|
+
},
|
|
74
|
+
keyboardAppearance: {
|
|
75
|
+
group: GROUPS.advanced,
|
|
76
|
+
label: "Keyboard Appearance",
|
|
77
|
+
description: "Determines the color of the keyboard.(iOS Only)",
|
|
78
|
+
editable: true,
|
|
79
|
+
required: false,
|
|
80
|
+
defaultValue: null,
|
|
81
|
+
options: ["default", "light", "dark"],
|
|
82
|
+
formType: FORM_TYPES.flatArray,
|
|
83
|
+
propType: PROP_TYPES.STRING,
|
|
84
|
+
},
|
|
85
|
+
keyboardType: {
|
|
86
|
+
group: GROUPS.advanced,
|
|
87
|
+
label: "Keyboard Type",
|
|
88
|
+
description: "Determines what keyboard is given to the user.",
|
|
89
|
+
editable: true,
|
|
90
|
+
required: false,
|
|
91
|
+
defaultValue: null,
|
|
92
|
+
options: [
|
|
93
|
+
"default",
|
|
94
|
+
"email-address",
|
|
95
|
+
"numeric",
|
|
96
|
+
"phone-pad",
|
|
97
|
+
"ascii-capable",
|
|
98
|
+
"numbers-and-punctuation",
|
|
99
|
+
"url",
|
|
100
|
+
"number-pad",
|
|
101
|
+
"name-phone-pad",
|
|
102
|
+
"decimal-pad",
|
|
103
|
+
"twitter",
|
|
104
|
+
"web-search",
|
|
105
|
+
"visible-password",
|
|
106
|
+
],
|
|
107
|
+
formType: FORM_TYPES.flatArray,
|
|
108
|
+
propType: PROP_TYPES.STRING,
|
|
109
|
+
},
|
|
110
|
+
maxLength: {
|
|
111
|
+
group: GROUPS.basic,
|
|
112
|
+
label: "Max Length",
|
|
113
|
+
description: "Limits the input to a set number of characters.",
|
|
114
|
+
editable: true,
|
|
115
|
+
required: false,
|
|
116
|
+
defaultValue: null,
|
|
117
|
+
min: 0,
|
|
118
|
+
step: 1,
|
|
119
|
+
precision: 0,
|
|
120
|
+
formType: FORM_TYPES.number,
|
|
121
|
+
propType: PROP_TYPES.NUMBER,
|
|
122
|
+
},
|
|
123
|
+
placeholder: {
|
|
124
|
+
group: GROUPS.data,
|
|
125
|
+
label: "Placeholder Text",
|
|
126
|
+
description: "The text that is shown on load when no value is available.",
|
|
127
|
+
editable: true,
|
|
128
|
+
required: false,
|
|
129
|
+
defaultValue: "Enter a value...",
|
|
130
|
+
formType: FORM_TYPES.string,
|
|
131
|
+
propType: PROP_TYPES.STRING,
|
|
132
|
+
},
|
|
133
|
+
placeholderTextColor: {
|
|
134
|
+
group: GROUPS.basic,
|
|
135
|
+
label: "Placeholder Text Color",
|
|
136
|
+
description: "The color of the placeholder text.",
|
|
137
|
+
editable: true,
|
|
138
|
+
required: false,
|
|
139
|
+
defaultValue: null,
|
|
140
|
+
formType: FORM_TYPES.color,
|
|
141
|
+
propType: PROP_TYPES.STRING,
|
|
142
|
+
},
|
|
143
|
+
returnKeyLabel: {
|
|
144
|
+
group: GROUPS.advanced,
|
|
145
|
+
label: "Return Key Label",
|
|
146
|
+
description: "(Android Only) Sets the label on the return key (use this instead of rewturnKeyType)",
|
|
147
|
+
editable: true,
|
|
148
|
+
required: false,
|
|
149
|
+
defaultValue: null,
|
|
150
|
+
formType: FORM_TYPES.string,
|
|
151
|
+
propType: PROP_TYPES.STRING,
|
|
152
|
+
},
|
|
153
|
+
returnKeyType: {
|
|
154
|
+
group: GROUPS.advanced,
|
|
155
|
+
label: "Return Key Type",
|
|
156
|
+
description: "Determines how the return key should look like",
|
|
157
|
+
editable: true,
|
|
158
|
+
required: false,
|
|
159
|
+
defaultValue: null,
|
|
160
|
+
options: [
|
|
161
|
+
"done",
|
|
162
|
+
"go",
|
|
163
|
+
"next",
|
|
164
|
+
"search",
|
|
165
|
+
"send",
|
|
166
|
+
"none",
|
|
167
|
+
"previous",
|
|
168
|
+
"default",
|
|
169
|
+
"emergency-call",
|
|
170
|
+
"google",
|
|
171
|
+
"join",
|
|
172
|
+
"route",
|
|
173
|
+
"yahoo",
|
|
174
|
+
],
|
|
175
|
+
formType: FORM_TYPES.flatArray,
|
|
176
|
+
propType: PROP_TYPES.STRING,
|
|
177
|
+
},
|
|
178
|
+
secureTextEntry: {
|
|
179
|
+
group: GROUPS.basic,
|
|
180
|
+
label: "Password Input?",
|
|
181
|
+
description: "Hides the characters with a *, useful for passwords and other sensitive information.",
|
|
182
|
+
editable: true,
|
|
183
|
+
required: false,
|
|
184
|
+
defaultValue: null,
|
|
185
|
+
formType: FORM_TYPES.boolean,
|
|
186
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
187
|
+
},
|
|
188
|
+
selectionColor: {
|
|
189
|
+
group: GROUPS.advanced,
|
|
190
|
+
label: "Selection Color",
|
|
191
|
+
description: "Color of the highlighted portion when selecting.",
|
|
192
|
+
editable: true,
|
|
193
|
+
required: false,
|
|
194
|
+
defaultValue: null,
|
|
195
|
+
formType: FORM_TYPES.color,
|
|
196
|
+
propType: PROP_TYPES.STRING,
|
|
197
|
+
},
|
|
198
|
+
selectTextOnFocus: {
|
|
199
|
+
group: GROUPS.advanced,
|
|
200
|
+
label: "Select Text on Focus",
|
|
201
|
+
description: "If true, all the text will automatically be selected on focus",
|
|
202
|
+
editable: true,
|
|
203
|
+
required: false,
|
|
204
|
+
defaultValue: null,
|
|
205
|
+
formType: FORM_TYPES.boolean,
|
|
206
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
207
|
+
},
|
|
208
|
+
};
|
|
2
209
|
export const SEED_DATA = {
|
|
3
210
|
name: "Text Area",
|
|
4
211
|
tag: "TextInput",
|
|
@@ -18,9 +225,9 @@ export const SEED_DATA = {
|
|
|
18
225
|
},
|
|
19
226
|
triggers: [Triggers.OnChangeText],
|
|
20
227
|
props: {
|
|
21
|
-
...
|
|
228
|
+
...TEXT_AREA_PROPS,
|
|
22
229
|
placeholder: {
|
|
23
|
-
...
|
|
230
|
+
...TEXT_AREA_PROPS.placeholder,
|
|
24
231
|
defaultValue: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.",
|
|
25
232
|
},
|
|
26
233
|
multiline: {
|
package/src/mappings/TextArea.ts
CHANGED
|
@@ -4,10 +4,223 @@ import {
|
|
|
4
4
|
FORM_TYPES,
|
|
5
5
|
PROP_TYPES,
|
|
6
6
|
FIELD_NAME,
|
|
7
|
-
TEXT_INPUT_PROPS,
|
|
8
7
|
Triggers,
|
|
9
8
|
} from "@draftbit/types";
|
|
10
9
|
|
|
10
|
+
const TEXT_AREA_PROPS = {
|
|
11
|
+
allowFontScaling: {
|
|
12
|
+
group: GROUPS.advanced,
|
|
13
|
+
label: "Allow Font Scaling",
|
|
14
|
+
description:
|
|
15
|
+
"Whether fonts should scale to respect Text Size in the user's accessibility settings. (Default: true)",
|
|
16
|
+
editable: true,
|
|
17
|
+
required: false,
|
|
18
|
+
defaultValue: null,
|
|
19
|
+
formType: FORM_TYPES.boolean,
|
|
20
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
21
|
+
},
|
|
22
|
+
autoCapitalize: {
|
|
23
|
+
group: GROUPS.advanced,
|
|
24
|
+
label: "Auto Capitalize",
|
|
25
|
+
description:
|
|
26
|
+
"Can automatically capitalize sentences, words, and characters (Default: none).",
|
|
27
|
+
editable: true,
|
|
28
|
+
required: false,
|
|
29
|
+
defaultValue: null,
|
|
30
|
+
options: ["none", "sentences", "words", "characters"],
|
|
31
|
+
formType: FORM_TYPES.flatArray,
|
|
32
|
+
propType: PROP_TYPES.STRING,
|
|
33
|
+
},
|
|
34
|
+
autoCorrect: {
|
|
35
|
+
group: GROUPS.advanced,
|
|
36
|
+
label: "Auto Correct",
|
|
37
|
+
description: "Enables auto correction",
|
|
38
|
+
editable: true,
|
|
39
|
+
required: false,
|
|
40
|
+
defaultValue: null,
|
|
41
|
+
formType: FORM_TYPES.boolean,
|
|
42
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
43
|
+
},
|
|
44
|
+
autoFocus: {
|
|
45
|
+
group: GROUPS.basic,
|
|
46
|
+
label: "Auto Focus",
|
|
47
|
+
description: "Focuses the input on load in and brings up the keyboard",
|
|
48
|
+
editable: true,
|
|
49
|
+
required: false,
|
|
50
|
+
defaultValue: null,
|
|
51
|
+
formType: FORM_TYPES.boolean,
|
|
52
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
53
|
+
},
|
|
54
|
+
caretHidden: {
|
|
55
|
+
group: GROUPS.advanced,
|
|
56
|
+
label: "Hide Caret",
|
|
57
|
+
description:
|
|
58
|
+
"Hides the caret(the line small line underneath each showing where you're editing/typing",
|
|
59
|
+
editable: true,
|
|
60
|
+
required: false,
|
|
61
|
+
defaultValue: null,
|
|
62
|
+
formType: FORM_TYPES.boolean,
|
|
63
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
64
|
+
},
|
|
65
|
+
contextMenuHidden: {
|
|
66
|
+
group: GROUPS.advanced,
|
|
67
|
+
label: "Hide Context Menu",
|
|
68
|
+
description: "Hides the system context menu (Default: false)",
|
|
69
|
+
editable: true,
|
|
70
|
+
required: false,
|
|
71
|
+
defaultValue: null,
|
|
72
|
+
formType: FORM_TYPES.boolean,
|
|
73
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
74
|
+
},
|
|
75
|
+
editable: {
|
|
76
|
+
group: GROUPS.advanced,
|
|
77
|
+
label: "Editable",
|
|
78
|
+
description: "If false, the text is not editable",
|
|
79
|
+
editable: true,
|
|
80
|
+
required: false,
|
|
81
|
+
defaultValue: true,
|
|
82
|
+
formType: FORM_TYPES.boolean,
|
|
83
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
84
|
+
},
|
|
85
|
+
keyboardAppearance: {
|
|
86
|
+
group: GROUPS.advanced,
|
|
87
|
+
label: "Keyboard Appearance",
|
|
88
|
+
description: "Determines the color of the keyboard.(iOS Only)",
|
|
89
|
+
editable: true,
|
|
90
|
+
required: false,
|
|
91
|
+
defaultValue: null,
|
|
92
|
+
options: ["default", "light", "dark"],
|
|
93
|
+
formType: FORM_TYPES.flatArray,
|
|
94
|
+
propType: PROP_TYPES.STRING,
|
|
95
|
+
},
|
|
96
|
+
keyboardType: {
|
|
97
|
+
group: GROUPS.advanced,
|
|
98
|
+
label: "Keyboard Type",
|
|
99
|
+
description: "Determines what keyboard is given to the user.",
|
|
100
|
+
editable: true,
|
|
101
|
+
required: false,
|
|
102
|
+
defaultValue: null,
|
|
103
|
+
options: [
|
|
104
|
+
"default",
|
|
105
|
+
"email-address",
|
|
106
|
+
"numeric",
|
|
107
|
+
"phone-pad",
|
|
108
|
+
"ascii-capable",
|
|
109
|
+
"numbers-and-punctuation",
|
|
110
|
+
"url",
|
|
111
|
+
"number-pad",
|
|
112
|
+
"name-phone-pad",
|
|
113
|
+
"decimal-pad",
|
|
114
|
+
"twitter",
|
|
115
|
+
"web-search",
|
|
116
|
+
"visible-password",
|
|
117
|
+
],
|
|
118
|
+
formType: FORM_TYPES.flatArray,
|
|
119
|
+
propType: PROP_TYPES.STRING,
|
|
120
|
+
},
|
|
121
|
+
maxLength: {
|
|
122
|
+
group: GROUPS.basic,
|
|
123
|
+
label: "Max Length",
|
|
124
|
+
description: "Limits the input to a set number of characters.",
|
|
125
|
+
editable: true,
|
|
126
|
+
required: false,
|
|
127
|
+
defaultValue: null,
|
|
128
|
+
min: 0,
|
|
129
|
+
step: 1,
|
|
130
|
+
precision: 0,
|
|
131
|
+
formType: FORM_TYPES.number,
|
|
132
|
+
propType: PROP_TYPES.NUMBER,
|
|
133
|
+
},
|
|
134
|
+
placeholder: {
|
|
135
|
+
group: GROUPS.data,
|
|
136
|
+
label: "Placeholder Text",
|
|
137
|
+
description: "The text that is shown on load when no value is available.",
|
|
138
|
+
editable: true,
|
|
139
|
+
required: false,
|
|
140
|
+
defaultValue: "Enter a value...",
|
|
141
|
+
formType: FORM_TYPES.string,
|
|
142
|
+
propType: PROP_TYPES.STRING,
|
|
143
|
+
},
|
|
144
|
+
placeholderTextColor: {
|
|
145
|
+
group: GROUPS.basic,
|
|
146
|
+
label: "Placeholder Text Color",
|
|
147
|
+
description: "The color of the placeholder text.",
|
|
148
|
+
editable: true,
|
|
149
|
+
required: false,
|
|
150
|
+
defaultValue: null,
|
|
151
|
+
formType: FORM_TYPES.color,
|
|
152
|
+
propType: PROP_TYPES.STRING,
|
|
153
|
+
},
|
|
154
|
+
returnKeyLabel: {
|
|
155
|
+
group: GROUPS.advanced,
|
|
156
|
+
label: "Return Key Label",
|
|
157
|
+
description:
|
|
158
|
+
"(Android Only) Sets the label on the return key (use this instead of rewturnKeyType)",
|
|
159
|
+
editable: true,
|
|
160
|
+
required: false,
|
|
161
|
+
defaultValue: null,
|
|
162
|
+
formType: FORM_TYPES.string,
|
|
163
|
+
propType: PROP_TYPES.STRING,
|
|
164
|
+
},
|
|
165
|
+
returnKeyType: {
|
|
166
|
+
group: GROUPS.advanced,
|
|
167
|
+
label: "Return Key Type",
|
|
168
|
+
description: "Determines how the return key should look like",
|
|
169
|
+
editable: true,
|
|
170
|
+
required: false,
|
|
171
|
+
defaultValue: null,
|
|
172
|
+
options: [
|
|
173
|
+
"done",
|
|
174
|
+
"go",
|
|
175
|
+
"next",
|
|
176
|
+
"search",
|
|
177
|
+
"send",
|
|
178
|
+
"none",
|
|
179
|
+
"previous",
|
|
180
|
+
"default",
|
|
181
|
+
"emergency-call",
|
|
182
|
+
"google",
|
|
183
|
+
"join",
|
|
184
|
+
"route",
|
|
185
|
+
"yahoo",
|
|
186
|
+
],
|
|
187
|
+
formType: FORM_TYPES.flatArray,
|
|
188
|
+
propType: PROP_TYPES.STRING,
|
|
189
|
+
},
|
|
190
|
+
secureTextEntry: {
|
|
191
|
+
group: GROUPS.basic,
|
|
192
|
+
label: "Password Input?",
|
|
193
|
+
description:
|
|
194
|
+
"Hides the characters with a *, useful for passwords and other sensitive information.",
|
|
195
|
+
editable: true,
|
|
196
|
+
required: false,
|
|
197
|
+
defaultValue: null,
|
|
198
|
+
formType: FORM_TYPES.boolean,
|
|
199
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
200
|
+
},
|
|
201
|
+
selectionColor: {
|
|
202
|
+
group: GROUPS.advanced,
|
|
203
|
+
label: "Selection Color",
|
|
204
|
+
description: "Color of the highlighted portion when selecting.",
|
|
205
|
+
editable: true,
|
|
206
|
+
required: false,
|
|
207
|
+
defaultValue: null,
|
|
208
|
+
formType: FORM_TYPES.color,
|
|
209
|
+
propType: PROP_TYPES.STRING,
|
|
210
|
+
},
|
|
211
|
+
selectTextOnFocus: {
|
|
212
|
+
group: GROUPS.advanced,
|
|
213
|
+
label: "Select Text on Focus",
|
|
214
|
+
description:
|
|
215
|
+
"If true, all the text will automatically be selected on focus",
|
|
216
|
+
editable: true,
|
|
217
|
+
required: false,
|
|
218
|
+
defaultValue: null,
|
|
219
|
+
formType: FORM_TYPES.boolean,
|
|
220
|
+
propType: PROP_TYPES.BOOLEAN,
|
|
221
|
+
},
|
|
222
|
+
};
|
|
223
|
+
|
|
11
224
|
export const SEED_DATA = {
|
|
12
225
|
name: "Text Area",
|
|
13
226
|
tag: "TextInput",
|
|
@@ -27,9 +240,9 @@ export const SEED_DATA = {
|
|
|
27
240
|
},
|
|
28
241
|
triggers: [Triggers.OnChangeText],
|
|
29
242
|
props: {
|
|
30
|
-
...
|
|
243
|
+
...TEXT_AREA_PROPS,
|
|
31
244
|
placeholder: {
|
|
32
|
-
...
|
|
245
|
+
...TEXT_AREA_PROPS.placeholder,
|
|
33
246
|
defaultValue:
|
|
34
247
|
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.",
|
|
35
248
|
},
|