@draftbit/core 47.0.0-alpha.0 → 47.0.0-ba694d.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 (144) hide show
  1. package/lib/commonjs/components/Banner.js +168 -0
  2. package/lib/commonjs/components/Banner.js.map +1 -0
  3. package/lib/commonjs/components/Picker/Picker.js +2 -2
  4. package/lib/commonjs/components/Picker/Picker.js.map +1 -1
  5. package/lib/commonjs/components/Stepper.js +1 -0
  6. package/lib/commonjs/index.js +14 -0
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/commonjs/mappings/View.js.map +1 -1
  9. package/lib/commonjs/mappings/WebView.js.map +1 -1
  10. package/lib/module/components/Banner.js +158 -0
  11. package/lib/module/components/Banner.js.map +1 -0
  12. package/lib/module/components/Picker/Picker.js +1 -1
  13. package/lib/module/components/Picker/Picker.js.map +1 -1
  14. package/lib/module/components/Stepper.js +1 -0
  15. package/lib/module/index.js +2 -0
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/typescript/src/components/Banner.d.ts +23 -0
  18. package/lib/typescript/src/components/Banner.d.ts.map +1 -0
  19. package/lib/typescript/src/components/Picker/Picker.d.ts.map +1 -1
  20. package/lib/typescript/src/index.d.ts +2 -0
  21. package/lib/typescript/src/index.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/Banner.js +109 -0
  32. package/src/components/Banner.tsx +204 -0
  33. package/src/components/Button.js +114 -0
  34. package/src/components/Checkbox/Checkbox.js +63 -0
  35. package/src/components/Checkbox/CheckboxGroup.js +21 -0
  36. package/src/components/Checkbox/CheckboxGroupRow.js +77 -0
  37. package/src/components/Checkbox/CheckboxRow.js +78 -0
  38. package/src/components/Checkbox/context.js +14 -0
  39. package/src/components/Checkbox/index.js +3 -0
  40. package/src/components/Config.js +64 -0
  41. package/src/components/DatePicker/DatePicker.js +368 -0
  42. package/src/components/DatePicker/DatePickerComponent.js +13 -0
  43. package/src/components/DatePicker/DatePickerComponent.web.js +30 -0
  44. package/src/components/DatePicker/DatePickerComponentType.js +1 -0
  45. package/src/components/DeprecatedButton.js +95 -0
  46. package/src/components/Elevation.js +20 -0
  47. package/src/components/FormRow.js +19 -0
  48. package/src/components/IconButton.js +35 -0
  49. package/src/components/Layout.js +50 -0
  50. package/src/components/NumberInput.js +49 -0
  51. package/src/components/Picker/Picker.js +267 -0
  52. package/src/components/Picker/Picker.tsx +2 -2
  53. package/src/components/Picker/PickerComponent.android.js +69 -0
  54. package/src/components/Picker/PickerComponent.ios.js +79 -0
  55. package/src/components/Picker/PickerComponent.web.js +70 -0
  56. package/src/components/Picker/PickerTypes.js +1 -0
  57. package/src/components/Portal/Portal.js +35 -0
  58. package/src/components/Portal/PortalConsumer.js +27 -0
  59. package/src/components/Portal/PortalHost.js +107 -0
  60. package/src/components/Portal/PortalManager.js +32 -0
  61. package/src/components/RadioButton/RadioButton.js +17 -0
  62. package/src/components/RadioButton/RadioButtonFieldGroup.js +17 -0
  63. package/src/components/RadioButton/RadioButtonGroup.js +43 -0
  64. package/src/components/RadioButton/RadioButtonRow.js +76 -0
  65. package/src/components/RadioButton/context.js +14 -0
  66. package/src/components/RadioButton/index.js +4 -0
  67. package/src/components/SVG.js +13 -0
  68. package/src/components/ScreenContainer.js +34 -0
  69. package/src/components/Slider.js +63 -0
  70. package/src/components/StarRating.js +50 -0
  71. package/src/components/Stepper.js +39 -0
  72. package/src/components/Surface.js +32 -0
  73. package/src/components/Swiper/Swiper.js +29 -0
  74. package/src/components/Swiper/SwiperItem.js +9 -0
  75. package/src/components/Swiper/index.js +2 -0
  76. package/src/components/Switch.js +56 -0
  77. package/src/components/Text.js +33 -0
  78. package/src/components/TextField.js +428 -0
  79. package/src/components/Touchable.js +12 -0
  80. package/src/components/Touchable.web.js +2 -0
  81. package/src/constants.js +10 -0
  82. package/src/hooks.js +12 -0
  83. package/src/index.js +35 -0
  84. package/src/index.tsx +2 -0
  85. package/src/interfaces/Icon.js +8 -0
  86. package/src/mappings/Accordion.js +41 -0
  87. package/src/mappings/AccordionItem.js +16 -0
  88. package/src/mappings/ActionSheet.js +13 -0
  89. package/src/mappings/ActionSheetCancel.js +19 -0
  90. package/src/mappings/ActionSheetItem.js +23 -0
  91. package/src/mappings/ActivityIndicator.js +58 -0
  92. package/src/mappings/AudioPlayer.js +20 -0
  93. package/src/mappings/BlurView.js +42 -0
  94. package/src/mappings/Button.js +87 -0
  95. package/src/mappings/Checkbox.js +46 -0
  96. package/src/mappings/CheckboxGroup.js +26 -0
  97. package/src/mappings/CheckboxRow.js +61 -0
  98. package/src/mappings/CustomCode.js +8 -0
  99. package/src/mappings/DatePicker.js +157 -0
  100. package/src/mappings/Fetch.js +13 -0
  101. package/src/mappings/FlashList.js +33 -0
  102. package/src/mappings/FlatList.js +24 -0
  103. package/src/mappings/Icon.js +32 -0
  104. package/src/mappings/IconButton.js +35 -0
  105. package/src/mappings/Image.js +35 -0
  106. package/src/mappings/ImageBackground.js +29 -0
  107. package/src/mappings/KeyboardAvoidingView.js +41 -0
  108. package/src/mappings/KeyboardAwareScrollView.js +50 -0
  109. package/src/mappings/Layout.js +200 -0
  110. package/src/mappings/LinearGradient.js +77 -0
  111. package/src/mappings/MapCallout.js +21 -0
  112. package/src/mappings/MapMarker.js +47 -0
  113. package/src/mappings/MapView.js +139 -0
  114. package/src/mappings/Modal.js +42 -0
  115. package/src/mappings/NumberInput.js +254 -0
  116. package/src/mappings/Picker.js +148 -0
  117. package/src/mappings/RadioButton.js +51 -0
  118. package/src/mappings/RadioButtonGroup.js +17 -0
  119. package/src/mappings/RadioButtonRow.js +42 -0
  120. package/src/mappings/SVG.js +20 -0
  121. package/src/mappings/SafeAreaView.js +33 -0
  122. package/src/mappings/ScrollView.js +31 -0
  123. package/src/mappings/Slider.js +60 -0
  124. package/src/mappings/StarRating.js +43 -0
  125. package/src/mappings/Stepper.js +29 -0
  126. package/src/mappings/Surface.js +14 -0
  127. package/src/mappings/Swiper.js +60 -0
  128. package/src/mappings/SwiperItem.js +8 -0
  129. package/src/mappings/Switch.js +81 -0
  130. package/src/mappings/Text.js +251 -0
  131. package/src/mappings/TextArea.js +263 -0
  132. package/src/mappings/TextField.js +381 -0
  133. package/src/mappings/TextInput.js +391 -0
  134. package/src/mappings/Touchable.js +17 -0
  135. package/src/mappings/Video.js +81 -0
  136. package/src/mappings/View.js +207 -0
  137. package/src/mappings/WebView.js +88 -0
  138. package/src/styles/DarkTheme.js +26 -0
  139. package/src/styles/DefaultTheme.js +111 -0
  140. package/src/styles/fonts.js +62 -0
  141. package/src/styles/overlay.js +60 -0
  142. package/src/styles/shadow.js +51 -0
  143. package/src/theming.js +3 -0
  144. package/src/utilities.js +102 -0
@@ -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,20 @@
1
+ import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, } 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
+ layout: {},
8
+ props: {
9
+ source: {
10
+ group: GROUPS.data,
11
+ label: "Source",
12
+ description: "The source URL for the audio file.",
13
+ editable: true,
14
+ required: true,
15
+ defaultValue: "https://static.draftbit.com/audio/intro-to-draftbit-audio.mp3",
16
+ formType: FORM_TYPES.sourceUrl,
17
+ propType: PROP_TYPES.OBJECT,
18
+ },
19
+ },
20
+ };
@@ -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,46 @@
1
+ import { COMPONENT_TYPES, createBoolProp, createIconProp, createStaticNumberProp, createColorProp, createFieldNameProp, GROUPS, Triggers, BLOCK_STYLES_SECTIONS, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Checkbox",
4
+ tag: "Checkbox",
5
+ category: COMPONENT_TYPES.control,
6
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
7
+ triggers: [Triggers.OnPress, Triggers.OnCheck, Triggers.OnUncheck],
8
+ props: {
9
+ fieldName: createFieldNameProp({
10
+ defaultValue: "checkboxValue",
11
+ valuePropName: "status",
12
+ handlerPropName: "onPress",
13
+ }),
14
+ color: createColorProp({
15
+ group: GROUPS.basic,
16
+ label: "Color",
17
+ description: "Color for the button (used when the checkbox is checked)",
18
+ defaultValue: null,
19
+ }),
20
+ uncheckedColor: createColorProp({
21
+ group: GROUPS.basic,
22
+ label: "Unselected Color",
23
+ description: "Color for the button when the checkbox is unchecked",
24
+ defaultValue: null,
25
+ }),
26
+ disabled: createBoolProp({
27
+ label: "Disabled",
28
+ description: "Whether the checkbox is disabled",
29
+ }),
30
+ size: createStaticNumberProp({
31
+ label: "Size",
32
+ description: "Specifies the size of the icon",
33
+ defaultValue: null,
34
+ }),
35
+ checkedIcon: createIconProp({
36
+ label: "Checked Icon",
37
+ description: 'Icon to show when the checkbox status is "checked"',
38
+ defaultValue: null,
39
+ }),
40
+ uncheckedIcon: createIconProp({
41
+ label: "Unchecked Icon",
42
+ description: 'Icon to show when the checkbox status is "unchecked"',
43
+ defaultValue: null,
44
+ }),
45
+ },
46
+ };
@@ -0,0 +1,26 @@
1
+ import { GROUPS, COMPONENT_TYPES, FORM_TYPES, createTextProp, PROP_TYPES, createFieldNameProp, createDirectionProp, Triggers, StylesPanelSections, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Checkbox Group",
4
+ tag: "CheckboxGroup",
5
+ category: COMPONENT_TYPES.deprecated,
6
+ layout: {},
7
+ triggers: [Triggers.OnValueChange],
8
+ stylesPanelSections: [StylesPanelSections.Margins],
9
+ props: {
10
+ direction: createDirectionProp(),
11
+ values: createTextProp({
12
+ group: GROUPS.data,
13
+ formType: FORM_TYPES.flatArray,
14
+ propType: PROP_TYPES.ARRAY,
15
+ label: "Values",
16
+ description: "Currently selected values of the checkbox group",
17
+ required: true,
18
+ defaultValue: null,
19
+ }),
20
+ fieldName: createFieldNameProp({
21
+ defaultValue: "checkboxGroupValue",
22
+ handlerPropName: "onValueChange",
23
+ valuePropName: "value",
24
+ }),
25
+ },
26
+ };
@@ -0,0 +1,61 @@
1
+ import { createBoolProp, createTextProp, createTextStyle, createRowDirectionProp, createFieldNameProp, createIconProp, createStaticNumberProp, COMPONENT_TYPES, Triggers, createColorProp, StylesPanelSections, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Checkbox Row",
4
+ tag: "CheckboxRow",
5
+ category: COMPONENT_TYPES.control,
6
+ stylesPanelSections: [
7
+ StylesPanelSections.Typography,
8
+ StylesPanelSections.Margins,
9
+ StylesPanelSections.Effects,
10
+ ],
11
+ layout: {
12
+ minHeight: 50,
13
+ },
14
+ triggers: [Triggers.OnPress, Triggers.OnCheck, Triggers.OnUncheck],
15
+ props: {
16
+ fieldName: createFieldNameProp({
17
+ defaultValue: "checkboxRowValue",
18
+ valuePropName: "value",
19
+ handlerPropName: "onPress",
20
+ }),
21
+ label: createTextProp({
22
+ label: "Label",
23
+ description: "Label to show with the checkbox",
24
+ required: true,
25
+ defaultValue: "First Option",
26
+ }),
27
+ labelStyle: createTextStyle({
28
+ label: "Label Style",
29
+ description: "Change the styles of the label",
30
+ required: false,
31
+ editable: false,
32
+ }),
33
+ direction: createRowDirectionProp(),
34
+ color: createColorProp({
35
+ description: "Color for the button (used when the checkbox is checked)",
36
+ }),
37
+ uncheckedColor: createColorProp({
38
+ label: "Unselected Color",
39
+ description: "Color for the button when the checkbox is unchecked",
40
+ }),
41
+ disabled: createBoolProp({
42
+ label: "Disabled",
43
+ description: "Whether the checkbox is disabled",
44
+ }),
45
+ size: createStaticNumberProp({
46
+ label: "Size",
47
+ description: "Specifies the size of the icon",
48
+ defaultValue: null,
49
+ }),
50
+ checkedIcon: createIconProp({
51
+ label: "Checked Icon",
52
+ description: 'Icon to show when the checkbox status is "checked"',
53
+ defaultValue: null,
54
+ }),
55
+ uncheckedIcon: createIconProp({
56
+ label: "Unchecked Icon",
57
+ description: 'Icon to show when the checkbox status is "unchecked"',
58
+ defaultValue: null,
59
+ }),
60
+ },
61
+ };
@@ -0,0 +1,8 @@
1
+ import { COMPONENT_TYPES } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Custom Code",
4
+ tag: "CustomCode",
5
+ description: "A component that allows usage of custom code",
6
+ category: COMPONENT_TYPES.utility,
7
+ props: {},
8
+ };
@@ -0,0 +1,157 @@
1
+ import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers, } from "@draftbit/types";
2
+ const SEED_DATA_PROPS = {
3
+ label: {
4
+ label: "Label",
5
+ description: "The label to be displayed on the picker",
6
+ formType: FORM_TYPES.string,
7
+ propType: PROP_TYPES.STRING,
8
+ defaultValue: "Date",
9
+ editable: true,
10
+ required: true,
11
+ group: GROUPS.data,
12
+ },
13
+ mode: {
14
+ label: "Mode",
15
+ description: "Choose between date, time and datetime",
16
+ defaultValue: "date",
17
+ editable: true,
18
+ required: true,
19
+ formType: FORM_TYPES.flatArray,
20
+ propType: PROP_TYPES.STRING,
21
+ options: ["date", "time", "datetime"],
22
+ group: GROUPS.basic,
23
+ },
24
+ format: {
25
+ label: "Format",
26
+ description: "Create an output format for the date.",
27
+ editable: true,
28
+ required: false,
29
+ formType: FORM_TYPES.string,
30
+ propType: PROP_TYPES.STRING,
31
+ defaultValue: null,
32
+ group: GROUPS.basic,
33
+ },
34
+ assistiveText: {
35
+ label: "Assistive text",
36
+ description: "Helper text to display below the picker",
37
+ formType: FORM_TYPES.string,
38
+ propType: PROP_TYPES.STRING,
39
+ defaultValue: null,
40
+ editable: true,
41
+ required: false,
42
+ group: GROUPS.basic,
43
+ },
44
+ // locale: {
45
+ // label: "Locale",
46
+ // description: "Locale for the datepicker. Must be a valid Locale",
47
+ // formType: FORM_TYPES.string,
48
+ // propType: PROP_TYPES.STRING,
49
+ // defaultValue: null,
50
+ // editable: true,
51
+ // required: false,
52
+ // group: GROUPS.basic,
53
+ // },
54
+ // minuteInterval: {
55
+ // label: "Minute Interval",
56
+ // description: "The interval at which minutes can be selected",
57
+ // formType: FORM_TYPES.flatArray,
58
+ // propType: PROP_TYPES.NUMBER,
59
+ // options: [1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30],
60
+ // defaultValue: null,
61
+ // editable: true,
62
+ // required: false,
63
+ // group: GROUPS.basic,
64
+ // },
65
+ // timeZoneOffsetInMinutes: {
66
+ // label: "Time zone offset",
67
+ // description:
68
+ // "By default, the datepicker uses the device's timezone. This will allow you to offset it",
69
+ // formType: FORM_TYPES.number,
70
+ // propType: PROP_TYPES.NUMBER,
71
+ // defaultValue: null,
72
+ // editable: true,
73
+ // required: false,
74
+ // group: GROUPS.basic,
75
+ // },
76
+ disabled: {
77
+ label: "Disabled",
78
+ description: "Whether the picker should be disabled. Will prevent selection and show a greyed out state.",
79
+ formType: FORM_TYPES.boolean,
80
+ propType: PROP_TYPES.BOOLEAN,
81
+ defaultValue: false,
82
+ editable: true,
83
+ required: false,
84
+ group: GROUPS.basic,
85
+ },
86
+ // error: {
87
+ // label: "Error",
88
+ // description: "Whether the picker should display the error state",
89
+ // formType: FORM_TYPES.boolean,
90
+ // propType: PROP_TYPES.BOOLEAN,
91
+ // defaultValue: false,
92
+ // editable: true,
93
+ // required: false,
94
+ // group: GROUPS.data,
95
+ // },
96
+ leftIconName: {
97
+ label: "Left icon name",
98
+ description: "The icon to display on the left",
99
+ formType: FORM_TYPES.icon,
100
+ propType: PROP_TYPES.STRING,
101
+ defaultValue: null,
102
+ editable: true,
103
+ required: false,
104
+ group: GROUPS.basic,
105
+ },
106
+ leftIconMode: {
107
+ label: "Left icon mode",
108
+ description: "The mode of the icon to display on the left. 'inset' or 'outset'.",
109
+ formType: FORM_TYPES.flatArray,
110
+ propType: PROP_TYPES.STRING,
111
+ defaultValue: "inset",
112
+ options: ["inset", "outset"],
113
+ editable: true,
114
+ required: true,
115
+ group: GROUPS.basic,
116
+ },
117
+ rightIconName: {
118
+ label: "Right icon name",
119
+ description: "The icon to display on the right",
120
+ formType: FORM_TYPES.icon,
121
+ propType: PROP_TYPES.STRING,
122
+ defaultValue: null,
123
+ editable: true,
124
+ required: false,
125
+ group: GROUPS.basic,
126
+ },
127
+ fieldName: {
128
+ ...FIELD_NAME,
129
+ handlerPropName: "onDateChange",
130
+ valuePropName: "date",
131
+ defaultValue: "date",
132
+ },
133
+ };
134
+ export const SEED_DATA = [
135
+ {
136
+ name: "Date Picker",
137
+ tag: "DatePicker",
138
+ description: "A component used to select a date from a visual calendar",
139
+ category: COMPONENT_TYPES.input,
140
+ layout: null,
141
+ triggers: [Triggers.OnDateChange],
142
+ props: {
143
+ ...SEED_DATA_PROPS,
144
+ type: {
145
+ label: "Appearance",
146
+ description: "Type of Datepicker",
147
+ formType: FORM_TYPES.flatArray,
148
+ propType: PROP_TYPES.STRING,
149
+ defaultValue: "solid",
150
+ options: ["solid", "underline"],
151
+ editable: true,
152
+ required: true,
153
+ group: GROUPS.basic,
154
+ },
155
+ },
156
+ },
157
+ ];
@@ -0,0 +1,13 @@
1
+ import { COMPONENT_TYPES, StylesPanelSections } from "@draftbit/types";
2
+ /* TODO remove, still used inside the builder in a weird way */
3
+ export const SEED_DATA = {
4
+ name: "Fetch",
5
+ tag: "Fetch",
6
+ description: "Rest API Declarative Fetch component. Uses react-request internally",
7
+ category: COMPONENT_TYPES.data,
8
+ stylesPanelSections: [StylesPanelSections.NoStyles],
9
+ layout: {
10
+ minHeight: 40,
11
+ },
12
+ props: {},
13
+ };
@@ -0,0 +1,33 @@
1
+ import { COMPONENT_TYPES, createNumColumnsType, createStaticBoolProp, createNumberProp, CONTAINER_COMPONENT_STYLES_SECTIONS, GROUPS, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "FlashList",
4
+ tag: "FlashList",
5
+ description: "Flashlist by Shopify",
6
+ packageName: "@shopify/flash-list",
7
+ category: COMPONENT_TYPES.data,
8
+ stylesPanelSections: CONTAINER_COMPONENT_STYLES_SECTIONS,
9
+ layout: {
10
+ flex: 1,
11
+ },
12
+ props: {
13
+ estimatedItemSize: createNumberProp({
14
+ group: GROUPS.basic,
15
+ label: "Est. Item Size",
16
+ description: "Approximate size of the items before rendering.",
17
+ defaultValue: 50,
18
+ step: 1,
19
+ precision: 0,
20
+ }),
21
+ horizontal: createStaticBoolProp({
22
+ label: "Horizontal",
23
+ description: "Render list horizontally",
24
+ }),
25
+ inverted: createStaticBoolProp({
26
+ label: "Inverted",
27
+ description: "If true, reverses the direction.",
28
+ }),
29
+ numColumns: createNumColumnsType({
30
+ editable: true,
31
+ }),
32
+ },
33
+ };
@@ -0,0 +1,24 @@
1
+ import { COMPONENT_TYPES, createNumColumnsType, createStaticBoolProp, CONTAINER_COMPONENT_STYLES_SECTIONS, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "List",
4
+ tag: "FlatList",
5
+ description: "A basic List component",
6
+ category: COMPONENT_TYPES.data,
7
+ stylesPanelSections: CONTAINER_COMPONENT_STYLES_SECTIONS,
8
+ layout: {
9
+ flex: 1,
10
+ },
11
+ props: {
12
+ horizontal: createStaticBoolProp({
13
+ label: "Horizontal",
14
+ description: "Render list horizontally",
15
+ }),
16
+ inverted: createStaticBoolProp({
17
+ label: "Inverted",
18
+ description: "If true, reverses the direction.",
19
+ }),
20
+ numColumns: createNumColumnsType({
21
+ editable: true,
22
+ }),
23
+ },
24
+ };
@@ -0,0 +1,32 @@
1
+ import { COMPONENT_TYPES, GROUPS, createNumberProp, createColorProp, createIconProp, StylesPanelSections, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Icon",
4
+ tag: "Icon",
5
+ description: "An icon",
6
+ category: COMPONENT_TYPES.basic,
7
+ stylesPanelSections: [
8
+ StylesPanelSections.Size,
9
+ StylesPanelSections.Margins,
10
+ StylesPanelSections.Background,
11
+ StylesPanelSections.Position,
12
+ StylesPanelSections.Effects,
13
+ ],
14
+ layout: {},
15
+ props: {
16
+ name: {
17
+ ...createIconProp(),
18
+ group: GROUPS.data,
19
+ },
20
+ color: createColorProp(),
21
+ size: createNumberProp({
22
+ group: GROUPS.basic,
23
+ label: "Size",
24
+ description: "Width and height of your icon",
25
+ defaultValue: 24,
26
+ min: 1,
27
+ max: 128,
28
+ step: 1,
29
+ precision: 0,
30
+ }),
31
+ },
32
+ };
@@ -0,0 +1,35 @@
1
+ import { COMPONENT_TYPES, GROUPS, createIconProp, createColorProp, createNumberProp, createBoolProp, createActionProp, Triggers, StylesPanelSections, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Icon Button",
4
+ tag: "IconButton",
5
+ category: COMPONENT_TYPES.button,
6
+ layout: {},
7
+ triggers: [Triggers.OnPress],
8
+ stylesPanelSections: [
9
+ StylesPanelSections.Margins,
10
+ StylesPanelSections.Effects,
11
+ StylesPanelSections.Position,
12
+ ],
13
+ props: {
14
+ onPress: createActionProp(),
15
+ icon: createIconProp(),
16
+ color: createColorProp({
17
+ label: "Color",
18
+ group: GROUPS.basic,
19
+ }),
20
+ disabled: createBoolProp({
21
+ label: "Disabled",
22
+ group: GROUPS.basic,
23
+ }),
24
+ size: createNumberProp({
25
+ group: GROUPS.basic,
26
+ label: "Size",
27
+ description: "Width and height of your icon",
28
+ defaultValue: 32,
29
+ min: 16,
30
+ max: 128,
31
+ step: 1,
32
+ precision: 0,
33
+ }),
34
+ },
35
+ };