@draftbit/core 47.1.0 → 47.1.1-1b33f0.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.
Files changed (207) hide show
  1. package/lib/commonjs/components/Justification.js +5 -1
  2. package/lib/commonjs/components/ResizeMode.js +5 -1
  3. package/lib/commonjs/mappings/DatePicker.js +1 -1
  4. package/lib/commonjs/mappings/FlashList.js +9 -3
  5. package/lib/commonjs/mappings/FlatList.js +3 -2
  6. package/lib/commonjs/mappings/ScrollView.js +2 -0
  7. package/lib/commonjs/mappings/TextField.js +2 -2
  8. package/lib/module/components/Justification.js +1 -0
  9. package/lib/module/components/ResizeMode.js +1 -0
  10. package/lib/module/mappings/DatePicker.js +1 -1
  11. package/lib/module/mappings/FlashList.js +9 -3
  12. package/lib/module/mappings/FlatList.js +3 -2
  13. package/lib/module/mappings/ScrollView.js +3 -1
  14. package/lib/module/mappings/TextField.js +2 -2
  15. package/lib/typescript/src/mappings/DatePicker.d.ts +1 -1
  16. package/lib/typescript/src/mappings/FlashList.d.ts +15 -4
  17. package/lib/typescript/src/mappings/FlashList.d.ts.map +1 -1
  18. package/lib/typescript/src/mappings/FlatList.d.ts +3 -2
  19. package/lib/typescript/src/mappings/FlatList.d.ts.map +1 -1
  20. package/lib/typescript/src/mappings/ScrollView.d.ts +11 -0
  21. package/lib/typescript/src/mappings/ScrollView.d.ts.map +1 -1
  22. package/package.json +3 -3
  23. package/src/Provider.js +9 -0
  24. package/src/components/Accordion/AccordionGroup.js +44 -0
  25. package/src/components/Accordion/AccordionItem.js +32 -0
  26. package/src/components/Accordion/index.js +2 -0
  27. package/src/components/ActionSheet/ActionSheet.js +45 -0
  28. package/src/components/ActionSheet/ActionSheetCancel.js +6 -0
  29. package/src/components/ActionSheet/ActionSheetItem.js +30 -0
  30. package/src/components/ActionSheet/index.js +3 -0
  31. package/src/components/AnimatedCircularProgress.js +43 -0
  32. package/src/components/AspectRatio.js +18 -0
  33. package/src/components/AvatarEdit.js +30 -0
  34. package/src/components/Banner.js +109 -0
  35. package/src/components/Button.js +114 -0
  36. package/src/components/Card.js +57 -0
  37. package/src/components/CardBlock.js +54 -0
  38. package/src/components/CardContainer.js +69 -0
  39. package/src/components/CardContainerRating.js +79 -0
  40. package/src/components/CardContainerShortImage.js +33 -0
  41. package/src/components/CardInline.js +36 -0
  42. package/src/components/Carousel.js +68 -0
  43. package/src/components/Checkbox/Checkbox.js +62 -0
  44. package/src/components/Checkbox/CheckboxGroup.js +21 -0
  45. package/src/components/Checkbox/CheckboxGroupRow.js +76 -0
  46. package/src/components/Checkbox/CheckboxRow.js +77 -0
  47. package/src/components/Checkbox/context.js +14 -0
  48. package/src/components/Checkbox/index.js +3 -0
  49. package/src/components/CircleImage.js +8 -0
  50. package/src/components/CircularProgress.js +81 -0
  51. package/src/components/Config.js +64 -0
  52. package/src/components/Container.js +43 -0
  53. package/src/components/DatePicker/DatePicker.js +377 -0
  54. package/src/components/DatePicker/DatePickerComponent.js +13 -0
  55. package/src/components/DatePicker/DatePickerComponent.web.js +30 -0
  56. package/src/components/DatePicker/DatePickerComponentType.js +1 -0
  57. package/src/components/DeprecatedButton.js +83 -0
  58. package/src/components/DeprecatedCardWrapper.js +18 -0
  59. package/src/components/DeprecatedFAB.js +114 -0
  60. package/src/components/Divider.js +13 -0
  61. package/src/components/Elevation.js +20 -0
  62. package/src/components/FAB.js +46 -0
  63. package/src/components/FieldSearchBarFull.js +53 -0
  64. package/src/components/FormRow.js +19 -0
  65. package/src/components/Header.js +44 -0
  66. package/src/components/HeaderLarge.js +7 -0
  67. package/src/components/HeaderMedium.js +7 -0
  68. package/src/components/HeaderOverline.js +7 -0
  69. package/src/components/IconButton.js +35 -0
  70. package/src/components/Image.js +47 -0
  71. package/src/components/Justification.js +1 -0
  72. package/src/components/Layout.js +50 -0
  73. package/src/components/NumberInput.js +49 -0
  74. package/src/components/Picker/Picker.js +267 -0
  75. package/src/components/Picker/PickerComponent.android.js +69 -0
  76. package/src/components/Picker/PickerComponent.ios.js +79 -0
  77. package/src/components/Picker/PickerComponent.web.js +70 -0
  78. package/src/components/Picker/PickerTypes.js +1 -0
  79. package/src/components/Portal/Portal.js +35 -0
  80. package/src/components/Portal/PortalConsumer.js +27 -0
  81. package/src/components/Portal/PortalHost.js +107 -0
  82. package/src/components/Portal/PortalManager.js +32 -0
  83. package/src/components/Pressable.js +12 -0
  84. package/src/components/ProgressBar.js +118 -0
  85. package/src/components/ProgressCircle.js +13 -0
  86. package/src/components/ProgressIndicator.js +27 -0
  87. package/src/components/RadioButton/RadioButton.js +17 -0
  88. package/src/components/RadioButton/RadioButtonFieldGroup.js +17 -0
  89. package/src/components/RadioButton/RadioButtonGroup.js +43 -0
  90. package/src/components/RadioButton/RadioButtonRow.js +76 -0
  91. package/src/components/RadioButton/context.js +14 -0
  92. package/src/components/RadioButton/index.js +4 -0
  93. package/src/components/ResizeMode.js +1 -0
  94. package/src/components/Row.js +48 -0
  95. package/src/components/RowBodyIcon.js +8 -0
  96. package/src/components/RowHeadlineImageCaption.js +12 -0
  97. package/src/components/RowHeadlineImageIcon.js +14 -0
  98. package/src/components/SVG.js +13 -0
  99. package/src/components/ScreenContainer.js +34 -0
  100. package/src/components/Slider.js +63 -0
  101. package/src/components/StarRating.js +50 -0
  102. package/src/components/StepIndicator.js +346 -0
  103. package/src/components/Stepper.js +41 -0
  104. package/src/components/Surface.js +32 -0
  105. package/src/components/Swiper/Swiper.js +29 -0
  106. package/src/components/Swiper/SwiperItem.js +9 -0
  107. package/src/components/Swiper/index.js +2 -0
  108. package/src/components/Switch.js +56 -0
  109. package/src/components/Text.js +33 -0
  110. package/src/components/TextField.js +428 -0
  111. package/src/components/ToggleButton.js +39 -0
  112. package/src/components/Touchable.js +12 -0
  113. package/src/components/Touchable.web.js +2 -0
  114. package/src/components/Typography.js +36 -0
  115. package/src/components/useAuthState.js +31 -0
  116. package/src/constants.js +10 -0
  117. package/src/hooks.js +12 -0
  118. package/src/index.js +53 -0
  119. package/src/interfaces/Icon.js +8 -0
  120. package/src/mappings/Accordion.js +41 -0
  121. package/src/mappings/AccordionItem.js +16 -0
  122. package/src/mappings/ActionSheet.js +13 -0
  123. package/src/mappings/ActionSheetCancel.js +19 -0
  124. package/src/mappings/ActionSheetItem.js +23 -0
  125. package/src/mappings/ActivityIndicator.js +58 -0
  126. package/src/mappings/AudioPlayer.js +57 -0
  127. package/src/mappings/AvatarEdit.js +38 -0
  128. package/src/mappings/Banner.js +32 -0
  129. package/src/mappings/BlurView.js +42 -0
  130. package/src/mappings/Button.js +116 -0
  131. package/src/mappings/Card.js +52 -0
  132. package/src/mappings/CardBlock.js +123 -0
  133. package/src/mappings/CardContainer.js +104 -0
  134. package/src/mappings/CardContainerRating.js +126 -0
  135. package/src/mappings/CardContainerShortImage.js +120 -0
  136. package/src/mappings/CardInline.js +52 -0
  137. package/src/mappings/Carousel.js +19 -0
  138. package/src/mappings/Checkbox.js +46 -0
  139. package/src/mappings/CheckboxGroup.js +26 -0
  140. package/src/mappings/CheckboxRow.js +61 -0
  141. package/src/mappings/CircleImage.js +25 -0
  142. package/src/mappings/Container.js +30 -0
  143. package/src/mappings/CustomCode.js +8 -0
  144. package/src/mappings/DatePicker.js +176 -0
  145. package/src/mappings/DatePicker.ts +1 -1
  146. package/src/mappings/Divider.js +27 -0
  147. package/src/mappings/FAB.js +37 -0
  148. package/src/mappings/Fetch.js +13 -0
  149. package/src/mappings/FieldSearchBarFull.js +50 -0
  150. package/src/mappings/FlashList.js +85 -0
  151. package/src/mappings/FlashList.ts +9 -4
  152. package/src/mappings/FlatList.js +37 -0
  153. package/src/mappings/FlatList.ts +3 -2
  154. package/src/mappings/HeaderLarge.js +29 -0
  155. package/src/mappings/HeaderMedium.js +55 -0
  156. package/src/mappings/HeaderOverline.js +55 -0
  157. package/src/mappings/Icon.js +32 -0
  158. package/src/mappings/IconButton.js +35 -0
  159. package/src/mappings/Image.js +35 -0
  160. package/src/mappings/ImageBackground.js +29 -0
  161. package/src/mappings/KeyboardAvoidingView.js +41 -0
  162. package/src/mappings/KeyboardAwareScrollView.js +50 -0
  163. package/src/mappings/Layout.js +200 -0
  164. package/src/mappings/LinearGradient.js +77 -0
  165. package/src/mappings/MapCallout.js +21 -0
  166. package/src/mappings/MapMarker.js +47 -0
  167. package/src/mappings/MapView.js +139 -0
  168. package/src/mappings/Modal.js +42 -0
  169. package/src/mappings/NumberInput.js +254 -0
  170. package/src/mappings/Picker.js +148 -0
  171. package/src/mappings/ProgressBar.js +101 -0
  172. package/src/mappings/ProgressCircle.js +109 -0
  173. package/src/mappings/ProgressIndicator.js +181 -0
  174. package/src/mappings/RadioButton.js +51 -0
  175. package/src/mappings/RadioButtonGroup.js +17 -0
  176. package/src/mappings/RadioButtonRow.js +42 -0
  177. package/src/mappings/RowBodyIcon.js +75 -0
  178. package/src/mappings/RowHeadlineImageCaption.js +167 -0
  179. package/src/mappings/RowHeadlineImageIcon.js +99 -0
  180. package/src/mappings/SVG.js +20 -0
  181. package/src/mappings/SafeAreaView.js +33 -0
  182. package/src/mappings/ScrollView.js +33 -0
  183. package/src/mappings/ScrollView.ts +4 -0
  184. package/src/mappings/Slider.js +60 -0
  185. package/src/mappings/StarRating.js +43 -0
  186. package/src/mappings/Stepper.js +32 -0
  187. package/src/mappings/Surface.js +14 -0
  188. package/src/mappings/Swiper.js +62 -0
  189. package/src/mappings/SwiperItem.js +8 -0
  190. package/src/mappings/Switch.js +81 -0
  191. package/src/mappings/Text.js +251 -0
  192. package/src/mappings/TextArea.js +274 -0
  193. package/src/mappings/TextField.js +391 -0
  194. package/src/mappings/TextField.ts +2 -2
  195. package/src/mappings/TextInput.js +402 -0
  196. package/src/mappings/ToggleButton.js +50 -0
  197. package/src/mappings/Touchable.js +60 -0
  198. package/src/mappings/Video.js +81 -0
  199. package/src/mappings/View.js +207 -0
  200. package/src/mappings/WebView.js +88 -0
  201. package/src/styles/DarkTheme.js +26 -0
  202. package/src/styles/DefaultTheme.js +111 -0
  203. package/src/styles/fonts.js +62 -0
  204. package/src/styles/overlay.js +60 -0
  205. package/src/styles/shadow.js +51 -0
  206. package/src/theming.js +3 -0
  207. package/src/utilities.js +102 -0
@@ -0,0 +1,402 @@
1
+ import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, Triggers, StylesPanelSections, createDisabledProp, } from "@draftbit/types";
2
+ export const SEED_DATA_PROPS = {
3
+ style: {
4
+ group: GROUPS.basic,
5
+ label: "Style",
6
+ description: "Text Style",
7
+ editable: false,
8
+ required: false,
9
+ formType: FORM_TYPES.typeStyle,
10
+ propType: PROP_TYPES.THEME,
11
+ defaultValue: null,
12
+ },
13
+ clearButtonMode: {
14
+ group: GROUPS.basic,
15
+ label: "Clear Button Mode",
16
+ description: "Enables a button within the textInput to clear the data entered",
17
+ editable: true,
18
+ required: false,
19
+ options: ["never", "while-editing", "unless-editing", "always"],
20
+ defaultValue: null,
21
+ formType: FORM_TYPES.flatArray,
22
+ propType: PROP_TYPES.STRING,
23
+ },
24
+ clearTextOnFocus: {
25
+ group: GROUPS.basic,
26
+ label: "Clear Text on Focus",
27
+ description: "If true, clears the text field automatically when its focused.",
28
+ editable: true,
29
+ required: false,
30
+ defaultValue: null,
31
+ formType: FORM_TYPES.boolean,
32
+ propType: PROP_TYPES.BOOLEAN,
33
+ },
34
+ enablesReturnKeyAutomatically: {
35
+ group: GROUPS.basic,
36
+ label: "Enables Return Key Automatically",
37
+ description: "If true, the keyboard disables the return key when there is no text and automatically enables it when there is (Default: false)",
38
+ editable: true,
39
+ required: false,
40
+ defaultValue: null,
41
+ formType: FORM_TYPES.boolean,
42
+ propType: PROP_TYPES.BOOLEAN,
43
+ },
44
+ underlineColorAndroid: {
45
+ group: GROUPS.basic,
46
+ label: "Underline color",
47
+ description: "(Android Only) The color of the underline(the line underneath the text when finished typing.",
48
+ editable: true,
49
+ required: false,
50
+ defaultValue: null,
51
+ formType: FORM_TYPES.color,
52
+ propType: PROP_TYPES.THEME,
53
+ },
54
+ fieldName: {
55
+ ...FIELD_NAME,
56
+ defaultValue: "textInputValue",
57
+ handlerPropName: "onChangeText",
58
+ },
59
+ };
60
+ export const SEED_DATA = [
61
+ {
62
+ name: "Text Input",
63
+ tag: "TextInput",
64
+ description: "An input field that allows users to type in data.",
65
+ category: COMPONENT_TYPES.input,
66
+ stylesPanelSections: [
67
+ StylesPanelSections.Typography,
68
+ StylesPanelSections.Background,
69
+ StylesPanelSections.Size,
70
+ StylesPanelSections.MarginsAndPaddings,
71
+ StylesPanelSections.Position,
72
+ StylesPanelSections.Borders,
73
+ StylesPanelSections.Effects,
74
+ ],
75
+ preview_image_url: "https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png",
76
+ supports_list_render: false,
77
+ layout: {
78
+ borderLeftWidth: 1,
79
+ borderRightWidth: 1,
80
+ borderTopWidth: 1,
81
+ borderBottomWidth: 1,
82
+ borderColor: "divider",
83
+ paddingLeft: 8,
84
+ paddingRight: 8,
85
+ paddingTop: 8,
86
+ paddingBottom: 8,
87
+ borderRadius: 8,
88
+ },
89
+ triggers: [Triggers.OnChangeText],
90
+ props: {
91
+ allowFontScaling: {
92
+ group: GROUPS.advanced,
93
+ label: "Allow Font Scaling",
94
+ description: "Whether fonts should scale to respect Text Size in the user's accessibility settings. (Default: true)",
95
+ editable: true,
96
+ required: false,
97
+ defaultValue: null,
98
+ formType: FORM_TYPES.boolean,
99
+ propType: PROP_TYPES.BOOLEAN,
100
+ },
101
+ autoCapitalize: {
102
+ group: GROUPS.advanced,
103
+ label: "Auto Capitalize",
104
+ description: "Can automatically capitalize sentences, words, and characters (Default: none).",
105
+ editable: true,
106
+ required: false,
107
+ defaultValue: "none",
108
+ options: ["none", "sentences", "words", "characters"],
109
+ formType: FORM_TYPES.flatArray,
110
+ propType: PROP_TYPES.STRING,
111
+ },
112
+ autoCorrect: {
113
+ group: GROUPS.advanced,
114
+ label: "Auto Correct",
115
+ description: "Enables auto correction",
116
+ editable: true,
117
+ required: false,
118
+ defaultValue: null,
119
+ formType: FORM_TYPES.boolean,
120
+ propType: PROP_TYPES.BOOLEAN,
121
+ },
122
+ autoFocus: {
123
+ group: GROUPS.basic,
124
+ label: "Auto Focus",
125
+ description: "Focuses the input on load in and brings up the keyboard",
126
+ editable: true,
127
+ required: false,
128
+ defaultValue: null,
129
+ formType: FORM_TYPES.boolean,
130
+ propType: PROP_TYPES.BOOLEAN,
131
+ },
132
+ caretHidden: {
133
+ group: GROUPS.advanced,
134
+ label: "Hide Caret",
135
+ description: "Hides the caret(the line small line underneath each showing where you're editing/typing",
136
+ editable: true,
137
+ required: false,
138
+ defaultValue: null,
139
+ formType: FORM_TYPES.boolean,
140
+ propType: PROP_TYPES.BOOLEAN,
141
+ },
142
+ contextMenuHidden: {
143
+ group: GROUPS.advanced,
144
+ label: "Hide Context Menu",
145
+ description: "Hides the system context menu (Default: false)",
146
+ editable: true,
147
+ required: false,
148
+ defaultValue: null,
149
+ formType: FORM_TYPES.boolean,
150
+ propType: PROP_TYPES.BOOLEAN,
151
+ },
152
+ editable: {
153
+ group: GROUPS.data,
154
+ label: "Editable?",
155
+ description: "If false, the text is not editable",
156
+ editable: true,
157
+ required: false,
158
+ defaultValue: null,
159
+ formType: FORM_TYPES.boolean,
160
+ propType: PROP_TYPES.BOOLEAN,
161
+ },
162
+ keyboardAppearance: {
163
+ group: GROUPS.advanced,
164
+ label: "Keyboard Appearance",
165
+ description: "Determines the color of the keyboard.(iOS Only)",
166
+ editable: true,
167
+ required: false,
168
+ defaultValue: null,
169
+ options: ["default", "light", "dark"],
170
+ formType: FORM_TYPES.flatArray,
171
+ propType: PROP_TYPES.STRING,
172
+ },
173
+ keyboardType: {
174
+ group: GROUPS.advanced,
175
+ label: "Keyboard Type",
176
+ description: "Determines what keyboard is given to the user.",
177
+ editable: true,
178
+ required: false,
179
+ defaultValue: null,
180
+ options: [
181
+ "default",
182
+ "email-address",
183
+ "numeric",
184
+ "phone-pad",
185
+ "ascii-capable",
186
+ "numbers-and-punctuation",
187
+ "url",
188
+ "number-pad",
189
+ "name-phone-pad",
190
+ "decimal-pad",
191
+ "twitter",
192
+ "web-search",
193
+ "visible-password",
194
+ ],
195
+ formType: FORM_TYPES.flatArray,
196
+ propType: PROP_TYPES.STRING,
197
+ },
198
+ maxLength: {
199
+ group: GROUPS.basic,
200
+ label: "Max Length",
201
+ description: "Limits the input to a set number of characters.",
202
+ editable: true,
203
+ required: false,
204
+ defaultValue: null,
205
+ min: 0,
206
+ step: 1,
207
+ precision: 0,
208
+ formType: FORM_TYPES.number,
209
+ propType: PROP_TYPES.NUMBER,
210
+ },
211
+ placeholder: {
212
+ group: GROUPS.data,
213
+ label: "Placeholder Text",
214
+ description: "The text that is shown on load when no value is available.",
215
+ editable: true,
216
+ required: false,
217
+ defaultValue: "Enter a value...",
218
+ formType: FORM_TYPES.string,
219
+ propType: PROP_TYPES.STRING,
220
+ },
221
+ placeholderTextColor: {
222
+ group: GROUPS.basic,
223
+ label: "Placeholder Text Color",
224
+ description: "The color of the placeholder text.",
225
+ editable: true,
226
+ required: false,
227
+ defaultValue: null,
228
+ formType: FORM_TYPES.color,
229
+ propType: PROP_TYPES.STRING,
230
+ },
231
+ returnKeyLabel: {
232
+ group: GROUPS.advanced,
233
+ label: "Return Key Label",
234
+ description: "(Android Only) Sets the label on the return key (use this instead of rewturnKeyType)",
235
+ editable: true,
236
+ required: false,
237
+ defaultValue: null,
238
+ formType: FORM_TYPES.string,
239
+ propType: PROP_TYPES.STRING,
240
+ },
241
+ blurOnSubmit: {
242
+ group: GROUPS.advanced,
243
+ label: "Blur On Submit",
244
+ description: "If true, the text field will blur when submitted. ",
245
+ editable: true,
246
+ required: false,
247
+ defaultValue: null,
248
+ formType: FORM_TYPES.boolean,
249
+ propType: PROP_TYPES.BOOLEAN,
250
+ },
251
+ returnKeyType: {
252
+ group: GROUPS.advanced,
253
+ label: "Return Key Type",
254
+ description: "Determines how the return key should look like",
255
+ editable: true,
256
+ required: false,
257
+ defaultValue: null,
258
+ options: [
259
+ "done",
260
+ "go",
261
+ "next",
262
+ "search",
263
+ "send",
264
+ "none",
265
+ "previous",
266
+ "default",
267
+ "emergency-call",
268
+ "google",
269
+ "join",
270
+ "route",
271
+ "yahoo",
272
+ ],
273
+ formType: FORM_TYPES.flatArray,
274
+ propType: PROP_TYPES.STRING,
275
+ },
276
+ secureTextEntry: {
277
+ group: GROUPS.basic,
278
+ label: "Password Input?",
279
+ description: "Hides the characters with a *, useful for passwords and other sensitive information.",
280
+ editable: true,
281
+ required: false,
282
+ defaultValue: null,
283
+ formType: FORM_TYPES.boolean,
284
+ propType: PROP_TYPES.BOOLEAN,
285
+ },
286
+ selectionColor: {
287
+ group: GROUPS.advanced,
288
+ label: "Selection Color",
289
+ description: "Color of the highlighted portion when selecting.",
290
+ editable: true,
291
+ required: false,
292
+ defaultValue: null,
293
+ formType: FORM_TYPES.color,
294
+ propType: PROP_TYPES.STRING,
295
+ },
296
+ selectTextOnFocus: {
297
+ group: GROUPS.advanced,
298
+ label: "Select Text on Focus",
299
+ description: "If true, all the text will automatically be selected on focus",
300
+ editable: true,
301
+ required: false,
302
+ defaultValue: null,
303
+ formType: FORM_TYPES.boolean,
304
+ propType: PROP_TYPES.BOOLEAN,
305
+ },
306
+ ...SEED_DATA_PROPS,
307
+ multiline: {
308
+ group: GROUPS.basic,
309
+ label: "Multiple Lines",
310
+ description: "Allows multiple lines of input, useful for situations where the user may be typing in a lot of data.",
311
+ editable: true,
312
+ required: false,
313
+ defaultValue: null,
314
+ formType: FORM_TYPES.boolean,
315
+ propType: PROP_TYPES.BOOLEAN,
316
+ },
317
+ numberOfLines: {
318
+ group: GROUPS.basic,
319
+ label: "Number of Lines",
320
+ description: "Sets the number of lines for the input (Multiple Lines needs to be true)",
321
+ editable: true,
322
+ required: false,
323
+ defaultValue: null,
324
+ min: 0,
325
+ step: 1,
326
+ precision: 0,
327
+ formType: FORM_TYPES.number,
328
+ propType: PROP_TYPES.NUMBER,
329
+ },
330
+ disabled: createDisabledProp(),
331
+ scrollEnabled: {
332
+ group: GROUPS.basic,
333
+ label: "Scroll Enabled",
334
+ description: "If false, scrolling of the input will be disabled. Only works when Multiple Lines is true",
335
+ editable: true,
336
+ required: false,
337
+ defaultValue: null,
338
+ formType: FORM_TYPES.boolean,
339
+ propType: PROP_TYPES.BOOLEAN,
340
+ },
341
+ spellcheck: {
342
+ group: GROUPS.basic,
343
+ label: "Disable Spell Check",
344
+ description: "If false, disables spell-check style (red underlines). Default comes from Auto Correct",
345
+ editable: true,
346
+ required: false,
347
+ defaultValue: null,
348
+ formType: FORM_TYPES.boolean,
349
+ propType: PROP_TYPES.BOOLEAN,
350
+ },
351
+ textContentType: {
352
+ group: GROUPS.advanced,
353
+ label: "Text Content Type",
354
+ description: "Give the keyboard and system about what it should do with the input. For example, if its an address, autofill from address book",
355
+ editable: true,
356
+ required: false,
357
+ defaultValue: null,
358
+ options: [
359
+ "none",
360
+ "URL",
361
+ "addressCity",
362
+ "addressCityAndState",
363
+ "addressState",
364
+ "countryName",
365
+ "creditCardNumber",
366
+ "emailAddress",
367
+ "familyName",
368
+ "fullStreetAddress",
369
+ "givenName",
370
+ "jobTitle",
371
+ "location",
372
+ "middleName",
373
+ "name",
374
+ "namePrefix",
375
+ "nameSuffix",
376
+ "nickname",
377
+ "organizationName",
378
+ "postalCode",
379
+ "streetAddressLine1",
380
+ "streetAddressLine2",
381
+ "sublocality",
382
+ "telephoneNumber",
383
+ "username",
384
+ "password",
385
+ ],
386
+ formType: FORM_TYPES.flatArray,
387
+ propType: PROP_TYPES.STRING,
388
+ },
389
+ textBreakStrategy: {
390
+ group: GROUPS.advanced,
391
+ label: "Text Break Strategy",
392
+ description: "(Android Only) Set the text break strategy. (Default: simple)",
393
+ editable: true,
394
+ required: false,
395
+ defaultValue: null,
396
+ options: ["simple", "highQuality", "balanced"],
397
+ formType: FORM_TYPES.flatArray,
398
+ propType: PROP_TYPES.STRING,
399
+ },
400
+ },
401
+ },
402
+ ];
@@ -0,0 +1,50 @@
1
+ import { GROUPS, COMPONENT_TYPES, createIconProp, createBoolProp, createColorProp, createStaticNumberProp, createFieldNameProp, createIconSizeProp, createActionProp, Triggers, StylesPanelSections, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Toggle Button",
4
+ tag: "ToggleButton",
5
+ category: COMPONENT_TYPES.deprecated,
6
+ stylesPanelSections: [
7
+ StylesPanelSections.Margins,
8
+ StylesPanelSections.Effects,
9
+ StylesPanelSections.Position,
10
+ ],
11
+ layout: {},
12
+ triggers: [Triggers.OnPress],
13
+ props: {
14
+ onPress: createActionProp(),
15
+ icon: createIconProp({
16
+ required: true,
17
+ }),
18
+ iconSize: createIconSizeProp(),
19
+ fieldName: createFieldNameProp({
20
+ defaultValue: false,
21
+ valuePropName: "toggled",
22
+ }),
23
+ disabled: createBoolProp({
24
+ label: "Disabled",
25
+ description: "Whether the button should be disabled",
26
+ group: GROUPS.basic,
27
+ }),
28
+ color: createColorProp({
29
+ group: GROUPS.basic,
30
+ }),
31
+ colorSecondary: createColorProp({
32
+ label: "Secondary Color",
33
+ group: GROUPS.basic,
34
+ }),
35
+ borderColor: createColorProp({
36
+ label: "Border Color",
37
+ group: GROUPS.basic,
38
+ }),
39
+ width: createStaticNumberProp({
40
+ label: "Width",
41
+ description: "Width",
42
+ defaultValue: 50,
43
+ }),
44
+ height: createStaticNumberProp({
45
+ label: "Height",
46
+ description: "Height",
47
+ defaultValue: 50,
48
+ }),
49
+ },
50
+ };
@@ -0,0 +1,60 @@
1
+ import { COMPONENT_TYPES, createActionProp, Triggers, createStaticNumberProp, StylesPanelSections, } from "@draftbit/types";
2
+ const SEED_DATA_PROPS = {
3
+ stylesPanelSections: [
4
+ StylesPanelSections.Size,
5
+ StylesPanelSections.Margins,
6
+ StylesPanelSections.Borders,
7
+ ],
8
+ layout: {},
9
+ triggers: [Triggers.OnPress, Triggers.OnLongPress],
10
+ props: {
11
+ onPress: createActionProp(),
12
+ onLongPress: createActionProp(),
13
+ activeOpacity: createStaticNumberProp({
14
+ label: "Active Opacity",
15
+ description: "The opacity when the button is pressed.",
16
+ defaultValue: 0.8,
17
+ min: 0,
18
+ max: 1,
19
+ step: 0.01,
20
+ precision: 2,
21
+ required: false,
22
+ }),
23
+ disabledOpacity: createStaticNumberProp({
24
+ label: "Disabled Opacity",
25
+ description: "The opacity when the button is disabled.",
26
+ defaultValue: 0.8,
27
+ min: 0,
28
+ max: 1,
29
+ step: 0.01,
30
+ precision: 2,
31
+ required: false,
32
+ }),
33
+ delayLongPress: createStaticNumberProp({
34
+ label: "Delay Long Press",
35
+ description: "Duration (in milliseconds) from onPressIn before onLongPress is called.",
36
+ required: false,
37
+ }),
38
+ hitSlop: createStaticNumberProp({
39
+ label: "Hit Slop",
40
+ description: "Sets additional distance outside of element in which a press can be detected.",
41
+ required: false,
42
+ }),
43
+ },
44
+ };
45
+ export const SEED_DATA = [
46
+ {
47
+ name: "Touchable",
48
+ tag: "Touchable",
49
+ description: "An interactive view with no styles",
50
+ category: COMPONENT_TYPES.button,
51
+ ...SEED_DATA_PROPS,
52
+ },
53
+ {
54
+ name: "Pressable",
55
+ tag: "Pressable",
56
+ description: "An interactive view with no styles",
57
+ category: COMPONENT_TYPES.button,
58
+ ...SEED_DATA_PROPS,
59
+ },
60
+ ];
@@ -0,0 +1,81 @@
1
+ import { COMPONENT_TYPES, createStaticBoolProp, createSourceProp, createResizeModeProp, createNumberProp, GROUPS, StylesPanelSections, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Video",
4
+ tag: "Video",
5
+ description: "Given a URL, display a video",
6
+ doc_link: "https://docs.expo.io/versions/latest/sdk/video/",
7
+ code_link: "https://github.com/expo/expo/blob/master/packages/expo-av/src/Video.tsx",
8
+ category: COMPONENT_TYPES.media,
9
+ stylesPanelSections: [
10
+ StylesPanelSections.Size,
11
+ StylesPanelSections.Margins,
12
+ StylesPanelSections.Background,
13
+ StylesPanelSections.Position,
14
+ StylesPanelSections.Effects,
15
+ ],
16
+ layout: {
17
+ height: 215,
18
+ },
19
+ props: {
20
+ source: createSourceProp({
21
+ label: "Source",
22
+ description: "The source of the video data to display.",
23
+ defaultValue: "http://static.draftbit.com/videos/intro-to-draftbit.mp4",
24
+ }),
25
+ usePoster: createStaticBoolProp({
26
+ label: "Use Thumbnail",
27
+ description: "Show a thumbnail before the video starts.",
28
+ defaultValue: false,
29
+ }),
30
+ posterSource: createSourceProp({
31
+ label: "Thumbnail Source",
32
+ description: "The optional image to display over the video while it is loading.",
33
+ defaultValue: null,
34
+ required: false,
35
+ }),
36
+ resizeMode: createResizeModeProp(),
37
+ isMuted: createStaticBoolProp({
38
+ label: "Mute Audio",
39
+ description: "Mute the audio of the video.",
40
+ }),
41
+ useNativeControls: createStaticBoolProp({
42
+ label: "Use Native Controls",
43
+ description: "Display the playback controls, allowing users to play or pause the video.",
44
+ defaultValue: true,
45
+ }),
46
+ shouldPlay: createStaticBoolProp({
47
+ label: "Play Automatically",
48
+ description: "Start playing the video after loading is finished.",
49
+ }),
50
+ isLooping: createStaticBoolProp({
51
+ label: "Loop Video",
52
+ description: "Automatically replay the video.",
53
+ }),
54
+ positionMillis: createNumberProp({
55
+ label: "Starting Point",
56
+ description: "Set a certian starting point of the video",
57
+ min: 0,
58
+ step: 0.01,
59
+ precision: 2,
60
+ group: GROUPS.basic,
61
+ }),
62
+ rate: createNumberProp({
63
+ label: "Playback Rate",
64
+ description: "The playback rate of the media. This value must be between 0.0 and 32.0 (Default: 1)",
65
+ min: 0,
66
+ max: 32,
67
+ step: 0.25,
68
+ precision: 2,
69
+ group: GROUPS.basic,
70
+ }),
71
+ volume: createNumberProp({
72
+ label: "Volume",
73
+ description: "The volume of the audio for this media. This value must be between 0.0 (silence) and 1.0 (maximum volume). (Default: .5)",
74
+ min: 0,
75
+ max: 1,
76
+ step: 0.1,
77
+ precision: 1,
78
+ group: GROUPS.basic,
79
+ }),
80
+ },
81
+ };