@draftbit/core 47.0.0 → 47.0.1-50db3c.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 (247) hide show
  1. package/lib/commonjs/components/Accordion/AccordionItem.js +23 -4
  2. package/lib/commonjs/components/Button.js +31 -22
  3. package/lib/commonjs/components/Checkbox/Checkbox.js +1 -3
  4. package/lib/commonjs/components/DeprecatedCardWrapper.js +2 -2
  5. package/lib/commonjs/components/DeprecatedFAB.js +1 -2
  6. package/lib/commonjs/components/Justification.js +5 -1
  7. package/lib/commonjs/components/Picker/Picker.js +3 -4
  8. package/lib/commonjs/components/Picker/PickerComponent.android.js +20 -3
  9. package/lib/commonjs/components/Picker/PickerComponent.ios.js +2 -2
  10. package/lib/commonjs/components/Pressable.js +59 -0
  11. package/lib/commonjs/components/ResizeMode.js +5 -1
  12. package/lib/commonjs/components/Touchable.js +27 -11
  13. package/lib/commonjs/constants.js +1 -1
  14. package/lib/commonjs/mappings/Button.js +21 -10
  15. package/lib/commonjs/mappings/Pressable.js +52 -0
  16. package/lib/module/components/Button.js +25 -16
  17. package/lib/module/components/Checkbox/Checkbox.js +2 -3
  18. package/lib/module/components/DeprecatedCardWrapper.js +2 -2
  19. package/lib/module/components/DeprecatedFAB.js +2 -3
  20. package/lib/module/components/Justification.js +1 -0
  21. package/lib/module/components/Picker/Picker.js +3 -4
  22. package/lib/module/components/Picker/PickerComponent.ios.js +1 -1
  23. package/lib/module/components/Pressable.js +40 -0
  24. package/lib/module/components/ResizeMode.js +1 -0
  25. package/lib/module/components/Touchable.js +25 -10
  26. package/lib/module/mappings/Button.js +22 -11
  27. package/lib/module/mappings/Pressable.js +45 -0
  28. package/lib/typescript/src/components/Button.d.ts +2 -0
  29. package/lib/typescript/src/components/Button.d.ts.map +1 -1
  30. package/lib/typescript/src/components/Checkbox/Checkbox.d.ts +2 -2
  31. package/lib/typescript/src/components/Checkbox/Checkbox.d.ts.map +1 -1
  32. package/lib/typescript/src/components/DeprecatedCardWrapper.d.ts.map +1 -1
  33. package/lib/typescript/src/components/DeprecatedFAB.d.ts +2 -2
  34. package/lib/typescript/src/components/DeprecatedFAB.d.ts.map +1 -1
  35. package/lib/typescript/src/components/Picker/Picker.d.ts.map +1 -1
  36. package/lib/typescript/src/components/Pressable.d.ts +18 -0
  37. package/lib/typescript/src/components/Pressable.d.ts.map +1 -0
  38. package/lib/typescript/src/components/Touchable.d.ts +9 -2
  39. package/lib/typescript/src/components/Touchable.d.ts.map +1 -1
  40. package/lib/typescript/src/mappings/Button.d.ts +113 -4
  41. package/lib/typescript/src/mappings/Button.d.ts.map +1 -1
  42. package/lib/typescript/src/mappings/Pressable.d.ts +76 -0
  43. package/lib/typescript/src/mappings/Pressable.d.ts.map +1 -0
  44. package/package.json +3 -3
  45. package/src/Provider.js +9 -0
  46. package/src/components/Accordion/AccordionGroup.js +44 -0
  47. package/src/components/Accordion/AccordionItem.js +32 -0
  48. package/src/components/Accordion/index.js +2 -0
  49. package/src/components/ActionSheet/ActionSheet.js +45 -0
  50. package/src/components/ActionSheet/ActionSheetCancel.js +6 -0
  51. package/src/components/ActionSheet/ActionSheetItem.js +30 -0
  52. package/src/components/ActionSheet/index.js +3 -0
  53. package/src/components/AnimatedCircularProgress.js +43 -0
  54. package/src/components/AspectRatio.js +18 -0
  55. package/src/components/AvatarEdit.js +30 -0
  56. package/src/components/Banner.js +109 -0
  57. package/src/components/Button.js +118 -0
  58. package/src/components/Button.tsx +49 -18
  59. package/src/components/Card.js +57 -0
  60. package/src/components/CardBlock.js +54 -0
  61. package/src/components/CardContainer.js +69 -0
  62. package/src/components/CardContainerRating.js +79 -0
  63. package/src/components/CardContainerShortImage.js +33 -0
  64. package/src/components/CardInline.js +36 -0
  65. package/src/components/Carousel.js +68 -0
  66. package/src/components/Checkbox/Checkbox.js +62 -0
  67. package/src/components/Checkbox/Checkbox.tsx +5 -7
  68. package/src/components/Checkbox/CheckboxGroup.js +21 -0
  69. package/src/components/Checkbox/CheckboxGroupRow.js +77 -0
  70. package/src/components/Checkbox/CheckboxRow.js +78 -0
  71. package/src/components/Checkbox/context.js +14 -0
  72. package/src/components/Checkbox/index.js +3 -0
  73. package/src/components/CircleImage.js +8 -0
  74. package/src/components/CircularProgress.js +81 -0
  75. package/src/components/Config.js +64 -0
  76. package/src/components/Container.js +43 -0
  77. package/src/components/DatePicker/DatePicker.js +377 -0
  78. package/src/components/DatePicker/DatePickerComponent.js +13 -0
  79. package/src/components/DatePicker/DatePickerComponent.web.js +30 -0
  80. package/src/components/DatePicker/DatePickerComponentType.js +1 -0
  81. package/src/components/DeprecatedCardWrapper.js +18 -0
  82. package/src/components/DeprecatedCardWrapper.tsx +3 -4
  83. package/src/components/DeprecatedFAB.js +114 -0
  84. package/src/components/DeprecatedFAB.tsx +5 -5
  85. package/src/components/Divider.js +13 -0
  86. package/src/components/Elevation.js +20 -0
  87. package/src/components/FAB.js +46 -0
  88. package/src/components/FieldSearchBarFull.js +53 -0
  89. package/src/components/FormRow.js +19 -0
  90. package/src/components/Header.js +44 -0
  91. package/src/components/HeaderLarge.js +7 -0
  92. package/src/components/HeaderMedium.js +7 -0
  93. package/src/components/HeaderOverline.js +7 -0
  94. package/src/components/IconButton.js +35 -0
  95. package/src/components/Image.js +47 -0
  96. package/src/components/Justification.js +1 -0
  97. package/src/components/Layout.js +50 -0
  98. package/src/components/NumberInput.js +49 -0
  99. package/src/components/Picker/Picker.js +266 -0
  100. package/src/components/Picker/Picker.tsx +4 -4
  101. package/src/components/Picker/PickerComponent.android.js +69 -0
  102. package/src/components/Picker/PickerComponent.ios.js +79 -0
  103. package/src/components/Picker/PickerComponent.ios.tsx +1 -1
  104. package/src/components/Picker/PickerComponent.web.js +70 -0
  105. package/src/components/Picker/PickerTypes.js +1 -0
  106. package/src/components/Portal/Portal.js +35 -0
  107. package/src/components/Portal/PortalConsumer.js +27 -0
  108. package/src/components/Portal/PortalHost.js +107 -0
  109. package/src/components/Portal/PortalManager.js +32 -0
  110. package/src/components/Pressable.js +17 -0
  111. package/src/components/Pressable.tsx +67 -0
  112. package/src/components/ProgressBar.js +118 -0
  113. package/src/components/ProgressCircle.js +13 -0
  114. package/src/components/ProgressIndicator.js +27 -0
  115. package/src/components/RadioButton/RadioButton.js +17 -0
  116. package/src/components/RadioButton/RadioButtonFieldGroup.js +17 -0
  117. package/src/components/RadioButton/RadioButtonGroup.js +43 -0
  118. package/src/components/RadioButton/RadioButtonRow.js +76 -0
  119. package/src/components/RadioButton/context.js +14 -0
  120. package/src/components/RadioButton/index.js +4 -0
  121. package/src/components/ResizeMode.js +1 -0
  122. package/src/components/Row.js +48 -0
  123. package/src/components/RowBodyIcon.js +8 -0
  124. package/src/components/RowHeadlineImageCaption.js +12 -0
  125. package/src/components/RowHeadlineImageIcon.js +14 -0
  126. package/src/components/SVG.js +13 -0
  127. package/src/components/ScreenContainer.js +34 -0
  128. package/src/components/Slider.js +63 -0
  129. package/src/components/StarRating.js +50 -0
  130. package/src/components/StepIndicator.js +346 -0
  131. package/src/components/Stepper.js +41 -0
  132. package/src/components/Surface.js +32 -0
  133. package/src/components/Swiper/Swiper.js +29 -0
  134. package/src/components/Swiper/SwiperItem.js +9 -0
  135. package/src/components/Swiper/index.js +2 -0
  136. package/src/components/Switch.js +56 -0
  137. package/src/components/Text.js +33 -0
  138. package/src/components/TextField.js +428 -0
  139. package/src/components/ToggleButton.js +39 -0
  140. package/src/components/Touchable.js +17 -0
  141. package/src/components/Touchable.tsx +42 -11
  142. package/src/components/Typography.js +36 -0
  143. package/src/components/useAuthState.js +31 -0
  144. package/src/constants.js +10 -0
  145. package/src/hooks.js +12 -0
  146. package/src/index.js +52 -0
  147. package/src/interfaces/Icon.js +8 -0
  148. package/src/mappings/Accordion.js +41 -0
  149. package/src/mappings/AccordionItem.js +16 -0
  150. package/src/mappings/ActionSheet.js +13 -0
  151. package/src/mappings/ActionSheetCancel.js +19 -0
  152. package/src/mappings/ActionSheetItem.js +23 -0
  153. package/src/mappings/ActivityIndicator.js +58 -0
  154. package/src/mappings/AudioPlayer.js +57 -0
  155. package/src/mappings/AvatarEdit.js +38 -0
  156. package/src/mappings/Banner.js +32 -0
  157. package/src/mappings/BlurView.js +42 -0
  158. package/src/mappings/Button.js +98 -0
  159. package/src/mappings/Button.ts +21 -10
  160. package/src/mappings/Card.js +52 -0
  161. package/src/mappings/CardBlock.js +123 -0
  162. package/src/mappings/CardContainer.js +104 -0
  163. package/src/mappings/CardContainerRating.js +126 -0
  164. package/src/mappings/CardContainerShortImage.js +120 -0
  165. package/src/mappings/CardInline.js +52 -0
  166. package/src/mappings/Carousel.js +19 -0
  167. package/src/mappings/Checkbox.js +46 -0
  168. package/src/mappings/CheckboxGroup.js +26 -0
  169. package/src/mappings/CheckboxRow.js +61 -0
  170. package/src/mappings/CircleImage.js +25 -0
  171. package/src/mappings/Container.js +30 -0
  172. package/src/mappings/CustomCode.js +8 -0
  173. package/src/mappings/DatePicker.js +176 -0
  174. package/src/mappings/Divider.js +27 -0
  175. package/src/mappings/FAB.js +37 -0
  176. package/src/mappings/Fetch.js +13 -0
  177. package/src/mappings/FieldSearchBarFull.js +50 -0
  178. package/src/mappings/FlashList.js +33 -0
  179. package/src/mappings/FlatList.js +24 -0
  180. package/src/mappings/HeaderLarge.js +29 -0
  181. package/src/mappings/HeaderMedium.js +55 -0
  182. package/src/mappings/HeaderOverline.js +55 -0
  183. package/src/mappings/Icon.js +32 -0
  184. package/src/mappings/IconButton.js +35 -0
  185. package/src/mappings/Image.js +35 -0
  186. package/src/mappings/ImageBackground.js +29 -0
  187. package/src/mappings/KeyboardAvoidingView.js +41 -0
  188. package/src/mappings/KeyboardAwareScrollView.js +50 -0
  189. package/src/mappings/Layout.js +200 -0
  190. package/src/mappings/LinearGradient.js +77 -0
  191. package/src/mappings/MapCallout.js +21 -0
  192. package/src/mappings/MapMarker.js +47 -0
  193. package/src/mappings/MapView.js +139 -0
  194. package/src/mappings/Modal.js +42 -0
  195. package/src/mappings/NumberInput.js +254 -0
  196. package/src/mappings/Picker.js +148 -0
  197. package/src/mappings/Pressable.js +52 -0
  198. package/src/mappings/Pressable.ts +63 -0
  199. package/src/mappings/ProgressBar.js +101 -0
  200. package/src/mappings/ProgressCircle.js +109 -0
  201. package/src/mappings/ProgressIndicator.js +181 -0
  202. package/src/mappings/RadioButton.js +51 -0
  203. package/src/mappings/RadioButtonGroup.js +17 -0
  204. package/src/mappings/RadioButtonRow.js +42 -0
  205. package/src/mappings/RowBodyIcon.js +75 -0
  206. package/src/mappings/RowHeadlineImageCaption.js +167 -0
  207. package/src/mappings/RowHeadlineImageIcon.js +99 -0
  208. package/src/mappings/SVG.js +20 -0
  209. package/src/mappings/SafeAreaView.js +33 -0
  210. package/src/mappings/ScrollView.js +31 -0
  211. package/src/mappings/Slider.js +60 -0
  212. package/src/mappings/StarRating.js +43 -0
  213. package/src/mappings/Stepper.js +32 -0
  214. package/src/mappings/Surface.js +14 -0
  215. package/src/mappings/Swiper.js +60 -0
  216. package/src/mappings/SwiperItem.js +8 -0
  217. package/src/mappings/Switch.js +81 -0
  218. package/src/mappings/Text.js +251 -0
  219. package/src/mappings/TextArea.js +274 -0
  220. package/src/mappings/TextField.js +391 -0
  221. package/src/mappings/TextInput.js +402 -0
  222. package/src/mappings/ToggleButton.js +50 -0
  223. package/src/mappings/Video.js +81 -0
  224. package/src/mappings/View.js +207 -0
  225. package/src/mappings/WebView.js +88 -0
  226. package/src/styles/DarkTheme.js +26 -0
  227. package/src/styles/DefaultTheme.js +111 -0
  228. package/src/styles/fonts.js +62 -0
  229. package/src/styles/overlay.js +60 -0
  230. package/src/styles/shadow.js +51 -0
  231. package/src/theming.js +3 -0
  232. package/src/utilities.js +102 -0
  233. package/lib/commonjs/components/DeprecatedButton.js +0 -151
  234. package/lib/commonjs/components/Touchable.web.js +0 -9
  235. package/lib/commonjs/mappings/Touchable.js +0 -20
  236. package/lib/module/components/DeprecatedButton.js +0 -141
  237. package/lib/module/components/Touchable.web.js +0 -2
  238. package/lib/module/mappings/Touchable.js +0 -13
  239. package/lib/typescript/src/components/DeprecatedButton.d.ts +0 -54
  240. package/lib/typescript/src/components/DeprecatedButton.d.ts.map +0 -1
  241. package/lib/typescript/src/components/Touchable.web.d.ts +0 -3
  242. package/lib/typescript/src/components/Touchable.web.d.ts.map +0 -1
  243. package/lib/typescript/src/mappings/Touchable.d.ts +0 -22
  244. package/lib/typescript/src/mappings/Touchable.d.ts.map +0 -1
  245. package/src/components/DeprecatedButton.tsx +0 -214
  246. package/src/components/Touchable.web.tsx +0 -3
  247. package/src/mappings/Touchable.ts +0 -23
package/src/index.js ADDED
@@ -0,0 +1,52 @@
1
+ export { injectIcon } from "./interfaces/Icon";
2
+ export { withTheme, ThemeProvider } from "./theming";
3
+ export { default as Provider } from "./Provider";
4
+ export { default as DefaultTheme } from "./styles/DefaultTheme";
5
+ export { Link } from "./components/Text";
6
+ export { default as Banner } from "./components/Banner";
7
+ export { Button, ButtonSolid, ButtonOutline } from "./components/Button";
8
+ export { default as Avatar } from "./components/CircleImage";
9
+ export { default as AvatarEdit } from "./components/AvatarEdit";
10
+ export { default as Card } from "./components/Card";
11
+ export { default as Carousel } from "./components/Carousel";
12
+ export { Checkbox, CheckboxGroup, CheckboxRow } from "./components/Checkbox";
13
+ export { default as CircleImage } from "./components/CircleImage";
14
+ export { default as Container } from "./components/Container";
15
+ export { default as Divider } from "./components/Divider";
16
+ export { default as FAB } from "./components/FAB";
17
+ export { default as FieldSearchBarFull } from "./components/FieldSearchBarFull";
18
+ export { default as IconButton } from "./components/IconButton";
19
+ export { default as Image } from "./components/Image";
20
+ export { default as SVG } from "./components/SVG";
21
+ export { default as NumberInput } from "./components/NumberInput";
22
+ export { default as ScreenContainer } from "./components/ScreenContainer";
23
+ export { default as StarRating } from "./components/StarRating";
24
+ export { default as Surface } from "./components/Surface";
25
+ export { default as Switch, SwitchRow } from "./components/Switch";
26
+ export { default as TextField } from "./components/TextField";
27
+ export { default as ToggleButton } from "./components/ToggleButton";
28
+ export { default as Touchable } from "./components/Touchable";
29
+ export { AccordionGroup, AccordionItem } from "./components/Accordion";
30
+ export { ActionSheet, ActionSheetItem, ActionSheetCancel, } from "./components/ActionSheet";
31
+ export { Swiper, SwiperItem } from "./components/Swiper";
32
+ export { Center, Circle, Square, Row, Stack, Spacer, } from "./components/Layout";
33
+ export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup, } from "./components/RadioButton/index";
34
+ /* Deprecated: Fix or Delete! */
35
+ export { default as CardBlock } from "./components/CardBlock";
36
+ export { default as CardContainer } from "./components/CardContainer";
37
+ export { default as CardContainerRating } from "./components/CardContainerRating";
38
+ export { default as CardInline } from "./components/CardInline";
39
+ export { default as DatePicker } from "./components/DatePicker/DatePicker";
40
+ export { default as HeaderLarge } from "./components/HeaderLarge";
41
+ export { default as HeaderMedium } from "./components/HeaderMedium";
42
+ export { default as HeaderOverline } from "./components/HeaderOverline";
43
+ export { default as Picker } from "./components/Picker/Picker";
44
+ export { default as ProgressBar } from "./components/ProgressBar";
45
+ export { default as ProgressCircle } from "./components/ProgressCircle";
46
+ export { default as RowBodyIcon } from "./components/RowBodyIcon";
47
+ export { default as RowHeadlineImageCaption } from "./components/RowHeadlineImageCaption";
48
+ export { default as RowHeadlineImageIcon } from "./components/RowHeadlineImageIcon";
49
+ export { default as Slider } from "./components/Slider";
50
+ export { default as Stepper } from "./components/Stepper";
51
+ export { useAuthState } from "./components/useAuthState";
52
+ // a comment to fix sourcemap comment issue
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This is an interface for a hybrid component.
3
+ *
4
+ * Its public implementation is `@draftbit/native`, and it is injected inside
5
+ * `@draftbit/ui`.
6
+ */
7
+ import React from "react";
8
+ export const injectIcon = (Component, Icon) => (props) => React.createElement(Component, { ...props, Icon });
@@ -0,0 +1,41 @@
1
+ import { COMPONENT_TYPES, createNumberProp, createIconProp, createTextProp, createStaticBoolProp, createColorProp, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Accordion",
4
+ tag: "AccordionGroup",
5
+ description: "An expandable container containing components",
6
+ category: COMPONENT_TYPES.container,
7
+ layout: {
8
+ paddingTop: 8,
9
+ paddingRight: 8,
10
+ paddingBottom: 8,
11
+ paddingLeft: 8,
12
+ fontSize: 16,
13
+ },
14
+ props: {
15
+ label: createTextProp({
16
+ label: "Label",
17
+ }),
18
+ expanded: createStaticBoolProp({
19
+ label: "Expanded",
20
+ description: "Whether the AccordionGroup should be initaially expanded or not",
21
+ }),
22
+ openColor: createColorProp({
23
+ label: "Open text color",
24
+ }),
25
+ closedColor: createColorProp({
26
+ label: "Closed text color",
27
+ }),
28
+ caretColor: createColorProp({
29
+ label: "Caret color",
30
+ }),
31
+ caretSize: createNumberProp({
32
+ label: "Caret size",
33
+ defaultValue: 24,
34
+ }),
35
+ icon: createIconProp(),
36
+ iconSize: createNumberProp({
37
+ label: "Icon size",
38
+ defaultValue: 24,
39
+ }),
40
+ },
41
+ };
@@ -0,0 +1,16 @@
1
+ import { COMPONENT_TYPES, createIconProp, createTextProp, createColorProp, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Accordion Item",
4
+ tag: "AccordionItem",
5
+ description: "Item to be used in Accordion",
6
+ category: COMPONENT_TYPES.deprecated,
7
+ props: {
8
+ icon: createIconProp(),
9
+ label: createTextProp({
10
+ label: "Item label",
11
+ }),
12
+ iconColor: createColorProp({
13
+ label: "Icon color",
14
+ }),
15
+ },
16
+ };
@@ -0,0 +1,13 @@
1
+ import { COMPONENT_TYPES, createStaticBoolProp, GROUPS } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Action Sheet",
4
+ tag: "ActionSheet",
5
+ description: "Action Sheet container",
6
+ category: COMPONENT_TYPES.actionsheet,
7
+ props: {
8
+ visible: createStaticBoolProp({
9
+ group: GROUPS.data,
10
+ label: "Show Action Sheet",
11
+ }),
12
+ },
13
+ };
@@ -0,0 +1,19 @@
1
+ import { COMPONENT_TYPES, createActionProp, createColorProp, createTextProp, GROUPS, Triggers, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Action Sheet Cancel",
4
+ tag: "ActionSheetCancel",
5
+ description: "Action Sheet cancel",
6
+ category: COMPONENT_TYPES.actionsheet,
7
+ triggers: [Triggers.OnPress],
8
+ props: {
9
+ onPress: createActionProp(),
10
+ label: createTextProp({
11
+ group: GROUPS.basic,
12
+ label: "Label",
13
+ defaultValue: "Cancel",
14
+ }),
15
+ color: createColorProp({
16
+ label: "Font Color",
17
+ }),
18
+ },
19
+ };
@@ -0,0 +1,23 @@
1
+ import { COMPONENT_TYPES, createActionProp, createColorProp, createTextProp, GROUPS, Triggers, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Action Sheet Item",
4
+ tag: "ActionSheetItem",
5
+ description: "Action Sheet item",
6
+ category: COMPONENT_TYPES.actionsheet,
7
+ triggers: [Triggers.OnPress],
8
+ layout: {
9
+ textAlign: "center",
10
+ },
11
+ props: {
12
+ onPress: createActionProp(),
13
+ label: createTextProp({
14
+ group: GROUPS.basic,
15
+ label: "Label",
16
+ defaultValue: "Option",
17
+ }),
18
+ color: createColorProp({
19
+ label: "Font Color",
20
+ defaultValue: "strong",
21
+ }),
22
+ },
23
+ };
@@ -0,0 +1,58 @@
1
+ import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, GROUPS, StylesPanelSections, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Activity Indicator",
4
+ tag: "ActivityIndicator",
5
+ description: "Displays a circular loading indicator.",
6
+ doc_link: "https://docs.expo.io/versions/latest/react-native/activityindicator/",
7
+ code_link: "https://github.com/expo/expo/blob/master/ios/versioned-react-native/ABI32_0_0/Libraries/Components/ActivityIndicator/ActivityIndicator.js",
8
+ category: COMPONENT_TYPES.utility,
9
+ stylesPanelSections: [
10
+ StylesPanelSections.Size,
11
+ StylesPanelSections.Margins,
12
+ StylesPanelSections.Borders,
13
+ ],
14
+ layout: { width: 36, height: 36 },
15
+ props: {
16
+ size: {
17
+ label: "Size",
18
+ description: "The size of the loading indicator (Default: small)",
19
+ options: ["small", "large"],
20
+ formType: FORM_TYPES.flatArray,
21
+ propType: PROP_TYPES.STRING,
22
+ editable: true,
23
+ required: false,
24
+ defaultValue: "small",
25
+ group: GROUPS.basic,
26
+ },
27
+ animating: {
28
+ label: "Spinning",
29
+ description: "Whether to show the loading indicator (Default: true)",
30
+ formType: FORM_TYPES.boolean,
31
+ propType: PROP_TYPES.BOOLEAN,
32
+ editable: true,
33
+ required: false,
34
+ defaultValue: true,
35
+ group: GROUPS.basic,
36
+ },
37
+ hidesWhenStopped: {
38
+ label: "Hide When Stopped",
39
+ description: "Whether the indicator should hide when not animating (Default: true)",
40
+ formType: FORM_TYPES.boolean,
41
+ propType: PROP_TYPES.BOOLEAN,
42
+ editable: true,
43
+ required: false,
44
+ defaultValue: true,
45
+ group: GROUPS.basic,
46
+ },
47
+ color: {
48
+ label: "Color",
49
+ description: "The color of the loading indicator (Default: gray)",
50
+ formType: FORM_TYPES.color,
51
+ propType: PROP_TYPES.THEME,
52
+ editable: true,
53
+ required: false,
54
+ defaultValue: null,
55
+ group: GROUPS.basic,
56
+ },
57
+ },
58
+ };
@@ -0,0 +1,57 @@
1
+ import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, StylesPanelSections, createColorProp, createNumberProp, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Audio Player",
4
+ tag: "AudioPlayer",
5
+ description: "Given a source URL, plays sounds & audio!",
6
+ category: COMPONENT_TYPES.media,
7
+ stylesPanelSections: [
8
+ StylesPanelSections.Typography,
9
+ StylesPanelSections.Background,
10
+ StylesPanelSections.Borders,
11
+ StylesPanelSections.Size,
12
+ StylesPanelSections.MarginsAndPaddings,
13
+ StylesPanelSections.Position,
14
+ ],
15
+ layout: {
16
+ backgroundColor: "#eee",
17
+ paddingLeft: 16,
18
+ paddingRight: 16,
19
+ paddingTop: 8,
20
+ paddingBottom: 8,
21
+ borderRadius: 24,
22
+ flexDirection: "row",
23
+ alignItems: "center",
24
+ },
25
+ props: {
26
+ source: {
27
+ group: GROUPS.data,
28
+ label: "Source",
29
+ description: "The source URL for the audio file.",
30
+ editable: true,
31
+ required: true,
32
+ defaultValue: "https://static.draftbit.com/audio/intro-to-draftbit-audio.mp3",
33
+ formType: FORM_TYPES.sourceUrl,
34
+ propType: PROP_TYPES.OBJECT,
35
+ },
36
+ sliderColor: createColorProp({
37
+ label: "Thumb Color",
38
+ defaultValue: "strong",
39
+ }),
40
+ completedTrackColor: createColorProp({
41
+ label: "Completed Track Color",
42
+ defaultValue: "background",
43
+ }),
44
+ remainingTrackColor: createColorProp({
45
+ label: "Remaining Track Color",
46
+ defaultValue: "light",
47
+ }),
48
+ trackThumbSize: createNumberProp({
49
+ label: "Thumb Size",
50
+ defaultValue: 24,
51
+ }),
52
+ playIconColor: createColorProp({
53
+ label: "Play Icon Color",
54
+ defaultValue: "strong",
55
+ }),
56
+ },
57
+ };
@@ -0,0 +1,38 @@
1
+ import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, BLOCK_STYLES_SECTIONS, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Avatar Edit",
4
+ tag: "AvatarEdit",
5
+ description: "An avatar with an edit icon in the top right",
6
+ category: COMPONENT_TYPES.deprecated,
7
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
8
+ layout: {
9
+ width: 64,
10
+ height: 64,
11
+ },
12
+ props: {
13
+ size: {
14
+ group: GROUPS.basic,
15
+ label: "Size",
16
+ description: "Size of avatar / width, height",
17
+ editable: true,
18
+ required: false,
19
+ formType: FORM_TYPES.number,
20
+ propType: PROP_TYPES.NUMBER,
21
+ min: 0,
22
+ max: 300,
23
+ precision: 0,
24
+ step: 1,
25
+ defaultValue: 80,
26
+ },
27
+ image: {
28
+ group: GROUPS.data,
29
+ label: "Image",
30
+ description: "Name of the image",
31
+ editable: true,
32
+ required: true,
33
+ formType: FORM_TYPES.image,
34
+ propType: PROP_TYPES.ASSET,
35
+ defaultValue: "brightness-5",
36
+ },
37
+ },
38
+ };
@@ -0,0 +1,32 @@
1
+ import { COMPONENT_TYPES, createIconProp, createBoolProp, createColorProp, createTextProp, GROUPS, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Banner",
4
+ tag: "Banner",
5
+ category: COMPONENT_TYPES.deprecated,
6
+ props: {
7
+ icon: createIconProp({
8
+ defaultValue: null,
9
+ required: false,
10
+ }),
11
+ content: createTextProp({
12
+ label: "Content",
13
+ description: "Banner text content",
14
+ }),
15
+ initiallyVisible: createBoolProp({
16
+ group: GROUPS.basic,
17
+ label: "Initially visible",
18
+ description: "Whether the banner should be visible",
19
+ defaultValue: true,
20
+ }),
21
+ dismissable: createBoolProp({
22
+ group: GROUPS.basic,
23
+ label: "Dismissable",
24
+ description: "Whether the banner should be able to be closed",
25
+ defaultValue: true,
26
+ }),
27
+ buttonColor: createColorProp({
28
+ label: "Button color",
29
+ defaultValue: "primary",
30
+ }),
31
+ },
32
+ };
@@ -0,0 +1,42 @@
1
+ import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, GROUPS, CONTAINER_COMPONENT_STYLES_SECTIONS, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Blur View",
4
+ tag: "BlurView",
5
+ description: "Expo Blur View",
6
+ doc_link: "https://docs.expo.io/versions/latest/sdk/blur-view/",
7
+ code_link: "https://github.com/expo/expo/blob/master/packages/expo/src/effects/BlurView.d.ts",
8
+ category: COMPONENT_TYPES.view,
9
+ stylesPanelSections: CONTAINER_COMPONENT_STYLES_SECTIONS,
10
+ layout: {
11
+ flexGrow: 1,
12
+ flexShrink: 1,
13
+ flexBasis: 0,
14
+ },
15
+ props: {
16
+ tint: {
17
+ label: "Tint",
18
+ description: "The tint of the blur view",
19
+ editable: true,
20
+ required: true,
21
+ defaultValue: "default",
22
+ formType: FORM_TYPES.flatArray,
23
+ propType: PROP_TYPES.STRING,
24
+ options: ["default", "light", "dark"],
25
+ group: GROUPS.basic,
26
+ },
27
+ intensity: {
28
+ label: "Intensity",
29
+ description: "A number from 1 to 100 that controls the intensity of the blur effect",
30
+ editable: true,
31
+ required: true,
32
+ defaultValue: 50,
33
+ formType: FORM_TYPES.number,
34
+ propType: PROP_TYPES.NUMBER,
35
+ min: 0,
36
+ max: 100,
37
+ step: 1,
38
+ precision: 0,
39
+ group: GROUPS.basic,
40
+ },
41
+ },
42
+ };
@@ -0,0 +1,98 @@
1
+ import { COMPONENT_TYPES, createIconProp, createTextProp, createDisabledProp, createLoadingProp, createActionProp, Triggers, StylesPanelSections, createStaticNumberProp, } from "@draftbit/types";
2
+ const SEED_DATA_TRIGGERS = [Triggers.OnPress, Triggers.OnLongPress];
3
+ const SEED_DATA_PROPS = {
4
+ onPress: createActionProp(),
5
+ onLongPress: createActionProp(),
6
+ icon: createIconProp({
7
+ defaultValue: null,
8
+ required: false,
9
+ }),
10
+ title: createTextProp({
11
+ label: "Label",
12
+ description: "Button Label",
13
+ defaultValue: "Get Started",
14
+ }),
15
+ disabled: createDisabledProp(),
16
+ loading: createLoadingProp(),
17
+ activeOpacity: createStaticNumberProp({
18
+ required: false,
19
+ }),
20
+ disabledOpacity: createStaticNumberProp({
21
+ required: false,
22
+ }),
23
+ delayLongPress: createStaticNumberProp({
24
+ required: false,
25
+ }),
26
+ hitSlop: createStaticNumberProp({
27
+ required: false,
28
+ }),
29
+ };
30
+ export const SEED_DATA = [
31
+ {
32
+ name: "Button Outline",
33
+ tag: "ButtonOutline",
34
+ category: COMPONENT_TYPES.deprecated,
35
+ stylesPanelSections: [
36
+ StylesPanelSections.Typography,
37
+ StylesPanelSections.Background,
38
+ StylesPanelSections.Borders,
39
+ StylesPanelSections.Size,
40
+ StylesPanelSections.MarginsAndPaddings,
41
+ StylesPanelSections.Position,
42
+ StylesPanelSections.Effects,
43
+ ],
44
+ layout: {
45
+ backgroundColor: "transparent",
46
+ borderRadius: 8,
47
+ fontFamily: "system-700",
48
+ borderWidth: 1,
49
+ textAlign: "center",
50
+ },
51
+ triggers: SEED_DATA_TRIGGERS,
52
+ props: SEED_DATA_PROPS,
53
+ },
54
+ {
55
+ name: "Button Solid",
56
+ tag: "ButtonSolid",
57
+ category: COMPONENT_TYPES.deprecated,
58
+ stylesPanelSections: [
59
+ StylesPanelSections.Typography,
60
+ StylesPanelSections.Background,
61
+ StylesPanelSections.Borders,
62
+ StylesPanelSections.Size,
63
+ StylesPanelSections.MarginsAndPaddings,
64
+ StylesPanelSections.Position,
65
+ StylesPanelSections.Effects,
66
+ ],
67
+ layout: {
68
+ borderRadius: 8,
69
+ fontFamily: "system-700",
70
+ backgroundColor: "primary",
71
+ textAlign: "center",
72
+ },
73
+ triggers: SEED_DATA_TRIGGERS,
74
+ props: SEED_DATA_PROPS,
75
+ },
76
+ {
77
+ name: "Button",
78
+ tag: "Button",
79
+ category: COMPONENT_TYPES.button,
80
+ stylesPanelSections: [
81
+ StylesPanelSections.Typography,
82
+ StylesPanelSections.Background,
83
+ StylesPanelSections.Borders,
84
+ StylesPanelSections.Size,
85
+ StylesPanelSections.MarginsAndPaddings,
86
+ StylesPanelSections.Position,
87
+ StylesPanelSections.Effects,
88
+ ],
89
+ layout: {
90
+ borderRadius: 8,
91
+ fontFamily: "system-700",
92
+ backgroundColor: "primary",
93
+ textAlign: "center",
94
+ },
95
+ triggers: SEED_DATA_TRIGGERS,
96
+ props: SEED_DATA_PROPS,
97
+ },
98
+ ];
@@ -7,11 +7,13 @@ import {
7
7
  createActionProp,
8
8
  Triggers,
9
9
  StylesPanelSections,
10
+ createStaticNumberProp,
10
11
  } from "@draftbit/types";
11
12
 
12
- const SEED_DATA_TRIGGERS = [Triggers.OnPress];
13
+ const SEED_DATA_TRIGGERS = [Triggers.OnPress, Triggers.OnLongPress];
13
14
  const SEED_DATA_PROPS = {
14
15
  onPress: createActionProp(),
16
+ onLongPress: createActionProp(),
15
17
  icon: createIconProp({
16
18
  defaultValue: null,
17
19
  required: false,
@@ -23,12 +25,18 @@ const SEED_DATA_PROPS = {
23
25
  }),
24
26
  disabled: createDisabledProp(),
25
27
  loading: createLoadingProp(),
26
- };
27
-
28
- const LAYOUT = {
29
- backgroundColor: "transparent",
30
- borderRadius: 8,
31
- fontFamily: "system-700",
28
+ activeOpacity: createStaticNumberProp({
29
+ required: false,
30
+ }),
31
+ disabledOpacity: createStaticNumberProp({
32
+ required: false,
33
+ }),
34
+ delayLongPress: createStaticNumberProp({
35
+ required: false,
36
+ }),
37
+ hitSlop: createStaticNumberProp({
38
+ required: false,
39
+ }),
32
40
  };
33
41
 
34
42
  export const SEED_DATA = [
@@ -46,8 +54,9 @@ export const SEED_DATA = [
46
54
  StylesPanelSections.Effects,
47
55
  ],
48
56
  layout: {
49
- ...LAYOUT,
50
57
  backgroundColor: "transparent",
58
+ borderRadius: 8,
59
+ fontFamily: "system-700",
51
60
  borderWidth: 1,
52
61
  textAlign: "center",
53
62
  },
@@ -68,7 +77,8 @@ export const SEED_DATA = [
68
77
  StylesPanelSections.Effects,
69
78
  ],
70
79
  layout: {
71
- ...LAYOUT,
80
+ borderRadius: 8,
81
+ fontFamily: "system-700",
72
82
  backgroundColor: "primary",
73
83
  textAlign: "center",
74
84
  },
@@ -89,7 +99,8 @@ export const SEED_DATA = [
89
99
  StylesPanelSections.Effects,
90
100
  ],
91
101
  layout: {
92
- ...LAYOUT,
102
+ borderRadius: 8,
103
+ fontFamily: "system-700",
93
104
  backgroundColor: "primary",
94
105
  textAlign: "center",
95
106
  },
@@ -0,0 +1,52 @@
1
+ import { COMPONENT_TYPES, createElevationType, createTextProp, createImageProp, createIconProp, createAspectRatioProp, createStaticBoolProp, createTextStyle, createActionProp, Triggers, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Card",
4
+ tag: "Card",
5
+ description: "A card you can customize however you'd like",
6
+ category: COMPONENT_TYPES.card,
7
+ triggers: [Triggers.OnPress, Triggers.OnPressIcon],
8
+ props: {
9
+ onPress: createActionProp(),
10
+ onPressIcon: createActionProp({
11
+ handlerPropName: "onPressIcon",
12
+ }),
13
+ elevation: createElevationType(3),
14
+ image: createImageProp(),
15
+ title: createTextProp({
16
+ label: "Title",
17
+ description: "Large title text",
18
+ // defaultValue: "Title",
19
+ defaultValue: null,
20
+ }),
21
+ titleStyle: createTextStyle({
22
+ label: "Title Style",
23
+ }),
24
+ subtitle: createTextProp({
25
+ label: "Subtitle",
26
+ description: "Text underneath the title",
27
+ defaultValue: null,
28
+ // defaultValue: "Edit me in the props panel on the right",
29
+ }),
30
+ subtitleStyle: createTextStyle({
31
+ label: "Subtitle Style",
32
+ }),
33
+ description: createTextProp({
34
+ label: "Description",
35
+ description: "Smallest text underneath subtitle",
36
+ // defaultValue:
37
+ // "This bottom text is optional, but shows up to make your life a little easier!",
38
+ defaultValue: null,
39
+ }),
40
+ descriptionStyle: createTextStyle({
41
+ label: "Description Style",
42
+ }),
43
+ icon: createIconProp(),
44
+ aspectRatio: createAspectRatioProp({
45
+ defaultValue: 1.5,
46
+ }),
47
+ textCentered: createStaticBoolProp({
48
+ label: "Centered Text",
49
+ description: "Places your title and subtitle in the center",
50
+ }),
51
+ },
52
+ };