@draftbit/core 46.4.3 → 46.4.4-10b0a9.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 (188) 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/AudioPlayer.js +28 -2
  4. package/lib/module/components/Justification.js +1 -0
  5. package/lib/module/components/ResizeMode.js +1 -0
  6. package/lib/module/mappings/AudioPlayer.js +29 -3
  7. package/lib/typescript/src/mappings/AudioPlayer.d.ts +52 -1
  8. package/package.json +3 -3
  9. package/src/Provider.js +9 -0
  10. package/src/components/Accordion/AccordionGroup.js +44 -0
  11. package/src/components/Accordion/AccordionItem.js +32 -0
  12. package/src/components/Accordion/index.js +2 -0
  13. package/src/components/ActionSheet/ActionSheet.js +45 -0
  14. package/src/components/ActionSheet/ActionSheetCancel.js +6 -0
  15. package/src/components/ActionSheet/ActionSheetItem.js +30 -0
  16. package/src/components/ActionSheet/index.js +3 -0
  17. package/src/components/AnimatedCircularProgress.js +43 -0
  18. package/src/components/AspectRatio.js +18 -0
  19. package/src/components/AvatarEdit.js +30 -0
  20. package/src/components/Banner.js +109 -0
  21. package/src/components/Button.js +114 -0
  22. package/src/components/Card.js +57 -0
  23. package/src/components/CardBlock.js +54 -0
  24. package/src/components/CardContainer.js +69 -0
  25. package/src/components/CardContainerRating.js +79 -0
  26. package/src/components/CardContainerShortImage.js +33 -0
  27. package/src/components/CardInline.js +36 -0
  28. package/src/components/Carousel.js +68 -0
  29. package/src/components/Checkbox/Checkbox.js +63 -0
  30. package/src/components/Checkbox/CheckboxGroup.js +21 -0
  31. package/src/components/Checkbox/CheckboxGroupRow.js +77 -0
  32. package/src/components/Checkbox/CheckboxRow.js +78 -0
  33. package/src/components/Checkbox/context.js +14 -0
  34. package/src/components/Checkbox/index.js +3 -0
  35. package/src/components/CircleImage.js +8 -0
  36. package/src/components/CircularProgress.js +81 -0
  37. package/src/components/Config.js +64 -0
  38. package/src/components/Container.js +43 -0
  39. package/src/components/DatePicker/DatePicker.js +368 -0
  40. package/src/components/DatePicker/DatePickerComponent.js +13 -0
  41. package/src/components/DatePicker/DatePickerComponent.web.js +30 -0
  42. package/src/components/DatePicker/DatePickerComponentType.js +1 -0
  43. package/src/components/DeprecatedButton.js +95 -0
  44. package/src/components/DeprecatedCardWrapper.js +18 -0
  45. package/src/components/DeprecatedFAB.js +115 -0
  46. package/src/components/Divider.js +13 -0
  47. package/src/components/Elevation.js +20 -0
  48. package/src/components/FAB.js +46 -0
  49. package/src/components/FieldSearchBarFull.js +53 -0
  50. package/src/components/FormRow.js +19 -0
  51. package/src/components/Header.js +44 -0
  52. package/src/components/HeaderLarge.js +7 -0
  53. package/src/components/HeaderMedium.js +7 -0
  54. package/src/components/HeaderOverline.js +7 -0
  55. package/src/components/IconButton.js +35 -0
  56. package/src/components/Image.js +47 -0
  57. package/src/components/Justification.js +1 -0
  58. package/src/components/Layout.js +50 -0
  59. package/src/components/NumberInput.js +49 -0
  60. package/src/components/Picker/Picker.js +267 -0
  61. package/src/components/Picker/PickerComponent.android.js +69 -0
  62. package/src/components/Picker/PickerComponent.ios.js +79 -0
  63. package/src/components/Picker/PickerComponent.web.js +70 -0
  64. package/src/components/Picker/PickerTypes.js +1 -0
  65. package/src/components/Portal/Portal.js +35 -0
  66. package/src/components/Portal/PortalConsumer.js +27 -0
  67. package/src/components/Portal/PortalHost.js +107 -0
  68. package/src/components/Portal/PortalManager.js +32 -0
  69. package/src/components/ProgressBar.js +118 -0
  70. package/src/components/ProgressCircle.js +13 -0
  71. package/src/components/ProgressIndicator.js +27 -0
  72. package/src/components/RadioButton/RadioButton.js +17 -0
  73. package/src/components/RadioButton/RadioButtonFieldGroup.js +17 -0
  74. package/src/components/RadioButton/RadioButtonGroup.js +43 -0
  75. package/src/components/RadioButton/RadioButtonRow.js +76 -0
  76. package/src/components/RadioButton/context.js +14 -0
  77. package/src/components/RadioButton/index.js +4 -0
  78. package/src/components/ResizeMode.js +1 -0
  79. package/src/components/Row.js +48 -0
  80. package/src/components/RowBodyIcon.js +8 -0
  81. package/src/components/RowHeadlineImageCaption.js +12 -0
  82. package/src/components/RowHeadlineImageIcon.js +14 -0
  83. package/src/components/SVG.js +13 -0
  84. package/src/components/ScreenContainer.js +34 -0
  85. package/src/components/Slider.js +63 -0
  86. package/src/components/StarRating.js +50 -0
  87. package/src/components/StepIndicator.js +346 -0
  88. package/src/components/Stepper.js +39 -0
  89. package/src/components/Surface.js +32 -0
  90. package/src/components/Swiper/Swiper.js +29 -0
  91. package/src/components/Swiper/SwiperItem.js +9 -0
  92. package/src/components/Swiper/index.js +2 -0
  93. package/src/components/Switch.js +56 -0
  94. package/src/components/Text.js +27 -0
  95. package/src/components/TextField.js +423 -0
  96. package/src/components/ToggleButton.js +39 -0
  97. package/src/components/Touchable.js +12 -0
  98. package/src/components/Touchable.web.js +2 -0
  99. package/src/components/Typography.js +36 -0
  100. package/src/components/useAuthState.js +31 -0
  101. package/src/constants.js +10 -0
  102. package/src/hooks.js +12 -0
  103. package/src/index.js +52 -0
  104. package/src/interfaces/Icon.js +8 -0
  105. package/src/mappings/Accordion.js +41 -0
  106. package/src/mappings/AccordionItem.js +16 -0
  107. package/src/mappings/ActionSheet.js +13 -0
  108. package/src/mappings/ActionSheetCancel.js +19 -0
  109. package/src/mappings/ActionSheetItem.js +23 -0
  110. package/src/mappings/ActivityIndicator.js +58 -0
  111. package/src/mappings/AudioPlayer.js +53 -0
  112. package/src/mappings/AudioPlayer.ts +37 -1
  113. package/src/mappings/AvatarEdit.js +38 -0
  114. package/src/mappings/Banner.js +32 -0
  115. package/src/mappings/BlurView.js +42 -0
  116. package/src/mappings/Button.js +87 -0
  117. package/src/mappings/Card.js +52 -0
  118. package/src/mappings/CardBlock.js +123 -0
  119. package/src/mappings/CardContainer.js +104 -0
  120. package/src/mappings/CardContainerRating.js +126 -0
  121. package/src/mappings/CardContainerShortImage.js +120 -0
  122. package/src/mappings/CardInline.js +52 -0
  123. package/src/mappings/Carousel.js +19 -0
  124. package/src/mappings/Checkbox.js +46 -0
  125. package/src/mappings/CheckboxGroup.js +26 -0
  126. package/src/mappings/CheckboxRow.js +61 -0
  127. package/src/mappings/CircleImage.js +25 -0
  128. package/src/mappings/Container.js +30 -0
  129. package/src/mappings/CustomCode.js +8 -0
  130. package/src/mappings/DatePicker.js +157 -0
  131. package/src/mappings/Divider.js +27 -0
  132. package/src/mappings/FAB.js +37 -0
  133. package/src/mappings/Fetch.js +13 -0
  134. package/src/mappings/FieldSearchBarFull.js +50 -0
  135. package/src/mappings/FlashList.js +33 -0
  136. package/src/mappings/FlatList.js +24 -0
  137. package/src/mappings/HeaderLarge.js +29 -0
  138. package/src/mappings/HeaderMedium.js +55 -0
  139. package/src/mappings/HeaderOverline.js +55 -0
  140. package/src/mappings/Icon.js +32 -0
  141. package/src/mappings/IconButton.js +35 -0
  142. package/src/mappings/Image.js +35 -0
  143. package/src/mappings/ImageBackground.js +29 -0
  144. package/src/mappings/KeyboardAvoidingView.js +41 -0
  145. package/src/mappings/KeyboardAwareScrollView.js +50 -0
  146. package/src/mappings/Layout.js +200 -0
  147. package/src/mappings/LinearGradient.js +77 -0
  148. package/src/mappings/MapCallout.js +21 -0
  149. package/src/mappings/MapMarker.js +47 -0
  150. package/src/mappings/MapView.js +139 -0
  151. package/src/mappings/Modal.js +42 -0
  152. package/src/mappings/NumberInput.js +254 -0
  153. package/src/mappings/Picker.js +148 -0
  154. package/src/mappings/ProgressBar.js +101 -0
  155. package/src/mappings/ProgressCircle.js +109 -0
  156. package/src/mappings/ProgressIndicator.js +181 -0
  157. package/src/mappings/RadioButton.js +51 -0
  158. package/src/mappings/RadioButtonGroup.js +17 -0
  159. package/src/mappings/RadioButtonRow.js +42 -0
  160. package/src/mappings/RowBodyIcon.js +75 -0
  161. package/src/mappings/RowHeadlineImageCaption.js +167 -0
  162. package/src/mappings/RowHeadlineImageIcon.js +99 -0
  163. package/src/mappings/SVG.js +20 -0
  164. package/src/mappings/SafeAreaView.js +33 -0
  165. package/src/mappings/ScrollView.js +31 -0
  166. package/src/mappings/Slider.js +60 -0
  167. package/src/mappings/StarRating.js +43 -0
  168. package/src/mappings/Stepper.js +29 -0
  169. package/src/mappings/Surface.js +14 -0
  170. package/src/mappings/Swiper.js +60 -0
  171. package/src/mappings/SwiperItem.js +8 -0
  172. package/src/mappings/Switch.js +81 -0
  173. package/src/mappings/Text.js +251 -0
  174. package/src/mappings/TextArea.js +263 -0
  175. package/src/mappings/TextField.js +381 -0
  176. package/src/mappings/TextInput.js +391 -0
  177. package/src/mappings/ToggleButton.js +50 -0
  178. package/src/mappings/Touchable.js +17 -0
  179. package/src/mappings/Video.js +81 -0
  180. package/src/mappings/View.js +207 -0
  181. package/src/mappings/WebView.js +88 -0
  182. package/src/styles/DarkTheme.js +26 -0
  183. package/src/styles/DefaultTheme.js +111 -0
  184. package/src/styles/fonts.js +62 -0
  185. package/src/styles/overlay.js +60 -0
  186. package/src/styles/shadow.js +51 -0
  187. package/src/theming.js +3 -0
  188. package/src/utilities.js +102 -0
@@ -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,53 @@
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: "black",
39
+ }),
40
+ completedTrackColor: createColorProp({
41
+ label: "Completed Track Color",
42
+ defaultValue: "white",
43
+ }),
44
+ remainingTrackColor: createColorProp({
45
+ label: "Remanining Track Color",
46
+ defaultValue: "#333333",
47
+ }),
48
+ trackThumbSize: createNumberProp({
49
+ label: "Thumb Size",
50
+ defaultValue: 24,
51
+ }),
52
+ },
53
+ };
@@ -3,6 +3,9 @@ import {
3
3
  COMPONENT_TYPES,
4
4
  FORM_TYPES,
5
5
  PROP_TYPES,
6
+ StylesPanelSections,
7
+ createColorProp,
8
+ createNumberProp,
6
9
  } from "@draftbit/types";
7
10
 
8
11
  export const SEED_DATA = {
@@ -10,7 +13,24 @@ export const SEED_DATA = {
10
13
  tag: "AudioPlayer",
11
14
  description: "Given a source URL, plays sounds & audio!",
12
15
  category: COMPONENT_TYPES.media,
13
- layout: {},
16
+ stylesPanelSections: [
17
+ StylesPanelSections.Typography,
18
+ StylesPanelSections.Background,
19
+ StylesPanelSections.Borders,
20
+ StylesPanelSections.Size,
21
+ StylesPanelSections.MarginsAndPaddings,
22
+ StylesPanelSections.Position,
23
+ ],
24
+ layout: {
25
+ backgroundColor: "#eee",
26
+ paddingLeft: 16,
27
+ paddingRight: 16,
28
+ paddingTop: 8,
29
+ paddingBottom: 8,
30
+ borderRadius: 24,
31
+ flexDirection: "row",
32
+ alignItems: "center",
33
+ },
14
34
  props: {
15
35
  source: {
16
36
  group: GROUPS.data,
@@ -23,5 +43,21 @@ export const SEED_DATA = {
23
43
  formType: FORM_TYPES.sourceUrl,
24
44
  propType: PROP_TYPES.OBJECT,
25
45
  },
46
+ sliderColor: createColorProp({
47
+ label: "Thumb Color",
48
+ defaultValue: "black",
49
+ }),
50
+ completedTrackColor: createColorProp({
51
+ label: "Completed Track Color",
52
+ defaultValue: "white",
53
+ }),
54
+ remainingTrackColor: createColorProp({
55
+ label: "Remanining Track Color",
56
+ defaultValue: "#333333",
57
+ }),
58
+ trackThumbSize: createNumberProp({
59
+ label: "Thumb Size",
60
+ defaultValue: 24,
61
+ }),
26
62
  },
27
63
  };
@@ -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,87 @@
1
+ import { COMPONENT_TYPES, createIconProp, createTextProp, createDisabledProp, createLoadingProp, createActionProp, Triggers, StylesPanelSections, } from "@draftbit/types";
2
+ const SEED_DATA_TRIGGERS = [Triggers.OnPress];
3
+ const SEED_DATA_PROPS = {
4
+ onPress: createActionProp(),
5
+ icon: createIconProp({
6
+ defaultValue: null,
7
+ required: false,
8
+ }),
9
+ title: createTextProp({
10
+ label: "Label",
11
+ description: "Button Label",
12
+ defaultValue: "Get Started",
13
+ }),
14
+ disabled: createDisabledProp(),
15
+ loading: createLoadingProp(),
16
+ };
17
+ const LAYOUT = {
18
+ backgroundColor: "transparent",
19
+ borderRadius: 8,
20
+ fontFamily: "system-700",
21
+ };
22
+ export const SEED_DATA = [
23
+ {
24
+ name: "Button Outline",
25
+ tag: "ButtonOutline",
26
+ category: COMPONENT_TYPES.deprecated,
27
+ stylesPanelSections: [
28
+ StylesPanelSections.Typography,
29
+ StylesPanelSections.Background,
30
+ StylesPanelSections.Borders,
31
+ StylesPanelSections.Size,
32
+ StylesPanelSections.MarginsAndPaddings,
33
+ StylesPanelSections.Position,
34
+ StylesPanelSections.Effects,
35
+ ],
36
+ layout: {
37
+ ...LAYOUT,
38
+ backgroundColor: "transparent",
39
+ borderWidth: 1,
40
+ textAlign: "center",
41
+ },
42
+ triggers: SEED_DATA_TRIGGERS,
43
+ props: SEED_DATA_PROPS,
44
+ },
45
+ {
46
+ name: "Button Solid",
47
+ tag: "ButtonSolid",
48
+ category: COMPONENT_TYPES.deprecated,
49
+ stylesPanelSections: [
50
+ StylesPanelSections.Typography,
51
+ StylesPanelSections.Background,
52
+ StylesPanelSections.Borders,
53
+ StylesPanelSections.Size,
54
+ StylesPanelSections.MarginsAndPaddings,
55
+ StylesPanelSections.Position,
56
+ StylesPanelSections.Effects,
57
+ ],
58
+ layout: {
59
+ ...LAYOUT,
60
+ backgroundColor: "primary",
61
+ textAlign: "center",
62
+ },
63
+ triggers: SEED_DATA_TRIGGERS,
64
+ props: SEED_DATA_PROPS,
65
+ },
66
+ {
67
+ name: "Button",
68
+ tag: "Button",
69
+ category: COMPONENT_TYPES.button,
70
+ stylesPanelSections: [
71
+ StylesPanelSections.Typography,
72
+ StylesPanelSections.Background,
73
+ StylesPanelSections.Borders,
74
+ StylesPanelSections.Size,
75
+ StylesPanelSections.MarginsAndPaddings,
76
+ StylesPanelSections.Position,
77
+ StylesPanelSections.Effects,
78
+ ],
79
+ layout: {
80
+ ...LAYOUT,
81
+ backgroundColor: "primary",
82
+ textAlign: "center",
83
+ },
84
+ triggers: SEED_DATA_TRIGGERS,
85
+ props: SEED_DATA_PROPS,
86
+ },
87
+ ];
@@ -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
+ };
@@ -0,0 +1,123 @@
1
+ import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, createElevationType, createNumColumnsType, BLOCK_STYLES_SECTIONS, } from "@draftbit/types";
2
+ const SEED_DATA_PROPS = {
3
+ image: {
4
+ group: GROUPS.data,
5
+ label: "Image",
6
+ description: "Image",
7
+ formType: FORM_TYPES.image,
8
+ propType: PROP_TYPES.ASSET,
9
+ defaultValue: null,
10
+ editable: true,
11
+ required: false,
12
+ },
13
+ title: {
14
+ group: GROUPS.data,
15
+ label: "Title",
16
+ description: "Text to display",
17
+ formType: FORM_TYPES.string,
18
+ propType: PROP_TYPES.STRING,
19
+ defaultValue: "Beautiful West Coast Villa",
20
+ editable: true,
21
+ required: false,
22
+ },
23
+ leftDescription: {
24
+ group: GROUPS.data,
25
+ label: "Left description",
26
+ description: "Text to display on the left",
27
+ formType: FORM_TYPES.string,
28
+ propType: PROP_TYPES.STRING,
29
+ defaultValue: "San Diego",
30
+ editable: true,
31
+ required: false,
32
+ },
33
+ rightDescription: {
34
+ group: GROUPS.data,
35
+ label: "Right description",
36
+ description: "Text to display on the right",
37
+ formType: FORM_TYPES.string,
38
+ propType: PROP_TYPES.STRING,
39
+ defaultValue: "$100",
40
+ editable: true,
41
+ required: false,
42
+ },
43
+ aspectRatio: {
44
+ group: GROUPS.basic,
45
+ label: "Aspect ratio",
46
+ description: "Aspect ratio of the image",
47
+ formType: FORM_TYPES.aspectRatio,
48
+ propType: PROP_TYPES.NUMBER,
49
+ defaultValue: 1.5,
50
+ editable: true,
51
+ required: false,
52
+ },
53
+ titleCentered: {
54
+ group: GROUPS.basic,
55
+ label: "Title centered",
56
+ description: "Whether to center the title",
57
+ formType: FORM_TYPES.boolean,
58
+ propType: PROP_TYPES.BOOLEAN,
59
+ defaultValue: false,
60
+ editable: true,
61
+ required: false,
62
+ },
63
+ elevation: createElevationType(2),
64
+ };
65
+ export const SEED_DATA = [
66
+ {
67
+ name: "Small Card",
68
+ tag: "CardBlock",
69
+ description: "An elevated card with a title and description, that takes up one third of its container.",
70
+ category: COMPONENT_TYPES.card,
71
+ props: {
72
+ ...SEED_DATA_PROPS,
73
+ numColumns: createNumColumnsType({
74
+ defaultValue: 1,
75
+ }),
76
+ },
77
+ },
78
+ {
79
+ name: "Medium Block Card",
80
+ tag: "CardBlock",
81
+ description: "An elevated card with a title and description, that takes up one half of its container.",
82
+ category: COMPONENT_TYPES.card,
83
+ props: {
84
+ ...SEED_DATA_PROPS,
85
+ icon: {
86
+ group: GROUPS.basic,
87
+ label: "Icon",
88
+ description: "Icon to display on the top right",
89
+ formType: FORM_TYPES.icon,
90
+ propType: PROP_TYPES.STRING,
91
+ defaultValue: null,
92
+ editable: true,
93
+ required: true,
94
+ },
95
+ numColumns: createNumColumnsType({
96
+ defaultValue: 2,
97
+ }),
98
+ },
99
+ },
100
+ {
101
+ name: "Large Block Card",
102
+ tag: "CardBlock",
103
+ description: "An elevated card with a title and description, that takes up the full width its container.",
104
+ category: COMPONENT_TYPES.card,
105
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
106
+ props: {
107
+ ...SEED_DATA_PROPS,
108
+ icon: {
109
+ group: GROUPS.basic,
110
+ label: "Icon",
111
+ description: "Icon to display on the top right",
112
+ formType: FORM_TYPES.icon,
113
+ propType: PROP_TYPES.STRING,
114
+ defaultValue: null,
115
+ editable: true,
116
+ required: true,
117
+ },
118
+ numColumns: createNumColumnsType({
119
+ defaultValue: 3,
120
+ }),
121
+ },
122
+ },
123
+ ];