@draftbit/core 47.1.0 → 47.1.1-22301.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 (202) 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/TextField.js +2 -2
  7. package/lib/module/components/Justification.js +1 -0
  8. package/lib/module/components/ResizeMode.js +1 -0
  9. package/lib/module/mappings/DatePicker.js +1 -1
  10. package/lib/module/mappings/FlashList.js +9 -3
  11. package/lib/module/mappings/FlatList.js +3 -2
  12. package/lib/module/mappings/TextField.js +2 -2
  13. package/lib/typescript/src/mappings/DatePicker.d.ts +1 -1
  14. package/lib/typescript/src/mappings/FlashList.d.ts +15 -4
  15. package/lib/typescript/src/mappings/FlashList.d.ts.map +1 -1
  16. package/lib/typescript/src/mappings/FlatList.d.ts +3 -2
  17. package/lib/typescript/src/mappings/FlatList.d.ts.map +1 -1
  18. package/package.json +3 -3
  19. package/src/Provider.js +9 -0
  20. package/src/components/Accordion/AccordionGroup.js +44 -0
  21. package/src/components/Accordion/AccordionItem.js +32 -0
  22. package/src/components/Accordion/index.js +2 -0
  23. package/src/components/ActionSheet/ActionSheet.js +45 -0
  24. package/src/components/ActionSheet/ActionSheetCancel.js +6 -0
  25. package/src/components/ActionSheet/ActionSheetItem.js +30 -0
  26. package/src/components/ActionSheet/index.js +3 -0
  27. package/src/components/AnimatedCircularProgress.js +43 -0
  28. package/src/components/AspectRatio.js +18 -0
  29. package/src/components/AvatarEdit.js +30 -0
  30. package/src/components/Banner.js +109 -0
  31. package/src/components/Button.js +114 -0
  32. package/src/components/Card.js +57 -0
  33. package/src/components/CardBlock.js +54 -0
  34. package/src/components/CardContainer.js +69 -0
  35. package/src/components/CardContainerRating.js +79 -0
  36. package/src/components/CardContainerShortImage.js +33 -0
  37. package/src/components/CardInline.js +36 -0
  38. package/src/components/Carousel.js +68 -0
  39. package/src/components/Checkbox/Checkbox.js +62 -0
  40. package/src/components/Checkbox/CheckboxGroup.js +21 -0
  41. package/src/components/Checkbox/CheckboxGroupRow.js +76 -0
  42. package/src/components/Checkbox/CheckboxRow.js +77 -0
  43. package/src/components/Checkbox/context.js +14 -0
  44. package/src/components/Checkbox/index.js +3 -0
  45. package/src/components/CircleImage.js +8 -0
  46. package/src/components/CircularProgress.js +81 -0
  47. package/src/components/Config.js +64 -0
  48. package/src/components/Container.js +43 -0
  49. package/src/components/DatePicker/DatePicker.js +377 -0
  50. package/src/components/DatePicker/DatePickerComponent.js +13 -0
  51. package/src/components/DatePicker/DatePickerComponent.web.js +30 -0
  52. package/src/components/DatePicker/DatePickerComponentType.js +1 -0
  53. package/src/components/DeprecatedButton.js +83 -0
  54. package/src/components/DeprecatedCardWrapper.js +18 -0
  55. package/src/components/DeprecatedFAB.js +114 -0
  56. package/src/components/Divider.js +13 -0
  57. package/src/components/Elevation.js +20 -0
  58. package/src/components/FAB.js +46 -0
  59. package/src/components/FieldSearchBarFull.js +53 -0
  60. package/src/components/FormRow.js +19 -0
  61. package/src/components/Header.js +44 -0
  62. package/src/components/HeaderLarge.js +7 -0
  63. package/src/components/HeaderMedium.js +7 -0
  64. package/src/components/HeaderOverline.js +7 -0
  65. package/src/components/IconButton.js +35 -0
  66. package/src/components/Image.js +47 -0
  67. package/src/components/Justification.js +1 -0
  68. package/src/components/Layout.js +50 -0
  69. package/src/components/NumberInput.js +49 -0
  70. package/src/components/Picker/Picker.js +267 -0
  71. package/src/components/Picker/PickerComponent.android.js +69 -0
  72. package/src/components/Picker/PickerComponent.ios.js +79 -0
  73. package/src/components/Picker/PickerComponent.web.js +70 -0
  74. package/src/components/Picker/PickerTypes.js +1 -0
  75. package/src/components/Portal/Portal.js +35 -0
  76. package/src/components/Portal/PortalConsumer.js +27 -0
  77. package/src/components/Portal/PortalHost.js +107 -0
  78. package/src/components/Portal/PortalManager.js +32 -0
  79. package/src/components/Pressable.js +12 -0
  80. package/src/components/ProgressBar.js +118 -0
  81. package/src/components/ProgressCircle.js +13 -0
  82. package/src/components/ProgressIndicator.js +27 -0
  83. package/src/components/RadioButton/RadioButton.js +17 -0
  84. package/src/components/RadioButton/RadioButtonFieldGroup.js +17 -0
  85. package/src/components/RadioButton/RadioButtonGroup.js +43 -0
  86. package/src/components/RadioButton/RadioButtonRow.js +76 -0
  87. package/src/components/RadioButton/context.js +14 -0
  88. package/src/components/RadioButton/index.js +4 -0
  89. package/src/components/ResizeMode.js +1 -0
  90. package/src/components/Row.js +48 -0
  91. package/src/components/RowBodyIcon.js +8 -0
  92. package/src/components/RowHeadlineImageCaption.js +12 -0
  93. package/src/components/RowHeadlineImageIcon.js +14 -0
  94. package/src/components/SVG.js +13 -0
  95. package/src/components/ScreenContainer.js +34 -0
  96. package/src/components/Slider.js +63 -0
  97. package/src/components/StarRating.js +50 -0
  98. package/src/components/StepIndicator.js +346 -0
  99. package/src/components/Stepper.js +41 -0
  100. package/src/components/Surface.js +32 -0
  101. package/src/components/Swiper/Swiper.js +29 -0
  102. package/src/components/Swiper/SwiperItem.js +9 -0
  103. package/src/components/Swiper/index.js +2 -0
  104. package/src/components/Switch.js +56 -0
  105. package/src/components/Text.js +33 -0
  106. package/src/components/TextField.js +428 -0
  107. package/src/components/ToggleButton.js +39 -0
  108. package/src/components/Touchable.js +12 -0
  109. package/src/components/Touchable.web.js +2 -0
  110. package/src/components/Typography.js +36 -0
  111. package/src/components/useAuthState.js +31 -0
  112. package/src/constants.js +10 -0
  113. package/src/hooks.js +12 -0
  114. package/src/index.js +53 -0
  115. package/src/interfaces/Icon.js +8 -0
  116. package/src/mappings/Accordion.js +41 -0
  117. package/src/mappings/AccordionItem.js +16 -0
  118. package/src/mappings/ActionSheet.js +13 -0
  119. package/src/mappings/ActionSheetCancel.js +19 -0
  120. package/src/mappings/ActionSheetItem.js +23 -0
  121. package/src/mappings/ActivityIndicator.js +58 -0
  122. package/src/mappings/AudioPlayer.js +57 -0
  123. package/src/mappings/AvatarEdit.js +38 -0
  124. package/src/mappings/Banner.js +32 -0
  125. package/src/mappings/BlurView.js +42 -0
  126. package/src/mappings/Button.js +116 -0
  127. package/src/mappings/Card.js +52 -0
  128. package/src/mappings/CardBlock.js +123 -0
  129. package/src/mappings/CardContainer.js +104 -0
  130. package/src/mappings/CardContainerRating.js +126 -0
  131. package/src/mappings/CardContainerShortImage.js +120 -0
  132. package/src/mappings/CardInline.js +52 -0
  133. package/src/mappings/Carousel.js +19 -0
  134. package/src/mappings/Checkbox.js +46 -0
  135. package/src/mappings/CheckboxGroup.js +26 -0
  136. package/src/mappings/CheckboxRow.js +61 -0
  137. package/src/mappings/CircleImage.js +25 -0
  138. package/src/mappings/Container.js +30 -0
  139. package/src/mappings/CustomCode.js +8 -0
  140. package/src/mappings/DatePicker.js +176 -0
  141. package/src/mappings/DatePicker.ts +1 -1
  142. package/src/mappings/Divider.js +27 -0
  143. package/src/mappings/FAB.js +37 -0
  144. package/src/mappings/Fetch.js +13 -0
  145. package/src/mappings/FieldSearchBarFull.js +50 -0
  146. package/src/mappings/FlashList.js +85 -0
  147. package/src/mappings/FlashList.ts +9 -4
  148. package/src/mappings/FlatList.js +37 -0
  149. package/src/mappings/FlatList.ts +3 -2
  150. package/src/mappings/HeaderLarge.js +29 -0
  151. package/src/mappings/HeaderMedium.js +55 -0
  152. package/src/mappings/HeaderOverline.js +55 -0
  153. package/src/mappings/Icon.js +32 -0
  154. package/src/mappings/IconButton.js +35 -0
  155. package/src/mappings/Image.js +35 -0
  156. package/src/mappings/ImageBackground.js +29 -0
  157. package/src/mappings/KeyboardAvoidingView.js +41 -0
  158. package/src/mappings/KeyboardAwareScrollView.js +50 -0
  159. package/src/mappings/Layout.js +200 -0
  160. package/src/mappings/LinearGradient.js +77 -0
  161. package/src/mappings/MapCallout.js +21 -0
  162. package/src/mappings/MapMarker.js +47 -0
  163. package/src/mappings/MapView.js +139 -0
  164. package/src/mappings/Modal.js +42 -0
  165. package/src/mappings/NumberInput.js +254 -0
  166. package/src/mappings/Picker.js +148 -0
  167. package/src/mappings/ProgressBar.js +101 -0
  168. package/src/mappings/ProgressCircle.js +109 -0
  169. package/src/mappings/ProgressIndicator.js +181 -0
  170. package/src/mappings/RadioButton.js +51 -0
  171. package/src/mappings/RadioButtonGroup.js +17 -0
  172. package/src/mappings/RadioButtonRow.js +42 -0
  173. package/src/mappings/RowBodyIcon.js +75 -0
  174. package/src/mappings/RowHeadlineImageCaption.js +167 -0
  175. package/src/mappings/RowHeadlineImageIcon.js +99 -0
  176. package/src/mappings/SVG.js +20 -0
  177. package/src/mappings/SafeAreaView.js +33 -0
  178. package/src/mappings/ScrollView.js +31 -0
  179. package/src/mappings/Slider.js +60 -0
  180. package/src/mappings/StarRating.js +43 -0
  181. package/src/mappings/Stepper.js +32 -0
  182. package/src/mappings/Surface.js +14 -0
  183. package/src/mappings/Swiper.js +62 -0
  184. package/src/mappings/SwiperItem.js +8 -0
  185. package/src/mappings/Switch.js +81 -0
  186. package/src/mappings/Text.js +251 -0
  187. package/src/mappings/TextArea.js +274 -0
  188. package/src/mappings/TextField.js +391 -0
  189. package/src/mappings/TextField.ts +2 -2
  190. package/src/mappings/TextInput.js +402 -0
  191. package/src/mappings/ToggleButton.js +50 -0
  192. package/src/mappings/Touchable.js +60 -0
  193. package/src/mappings/Video.js +81 -0
  194. package/src/mappings/View.js +207 -0
  195. package/src/mappings/WebView.js +88 -0
  196. package/src/styles/DarkTheme.js +26 -0
  197. package/src/styles/DefaultTheme.js +111 -0
  198. package/src/styles/fonts.js +62 -0
  199. package/src/styles/overlay.js +60 -0
  200. package/src/styles/shadow.js +51 -0
  201. package/src/theming.js +3 -0
  202. package/src/utilities.js +102 -0
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -156,7 +156,7 @@ const SEED_DATA = [{
156
156
  category: _types.COMPONENT_TYPES.input,
157
157
  layout: null,
158
158
  triggers: [_types.Triggers.OnDateChange],
159
- StylesPanelSections: [_types.StylesPanelSections.Typography, _types.StylesPanelSections.Background, _types.StylesPanelSections.Size, _types.StylesPanelSections.MarginsAndPaddings, _types.StylesPanelSections.Position],
159
+ stylesPanelSections: [_types.StylesPanelSections.Typography, _types.StylesPanelSections.Background, _types.StylesPanelSections.Size, _types.StylesPanelSections.MarginsAndPaddings, _types.StylesPanelSections.Position],
160
160
  props: {
161
161
  ...SEED_DATA_PROPS,
162
162
  type: {
@@ -30,9 +30,10 @@ const SEED_DATA = [{
30
30
  step: 1,
31
31
  precision: 0
32
32
  }),
33
- optimizeItemArrangement: (0, _types.createStaticBoolProp)({
34
- label: "Optimize Item Arrangement",
35
- description: "If enabled, MasonryFlashList will try to reduce difference in column height by modifying item order. If true, specifying overrideItemLayout is required. Default value is false."
33
+ initialNumToRender: (0, _types.createStaticNumberProp)({
34
+ label: "Initial Num To Render",
35
+ description: "How many items to render in the initial batch",
36
+ defaultValue: null
36
37
  }),
37
38
  onEndReachedThreshold: (0, _types.createStaticNumberProp)({
38
39
  label: "End Reached Threshold",
@@ -73,6 +74,11 @@ const SEED_DATA = [{
73
74
  numColumns: (0, _types.createNumColumnsType)({
74
75
  editable: true
75
76
  }),
77
+ initialNumToRender: (0, _types.createStaticNumberProp)({
78
+ label: "Initial Num To Render",
79
+ description: "How many items to render in the initial batch",
80
+ defaultValue: null
81
+ }),
76
82
  onEndReachedThreshold: (0, _types.createStaticNumberProp)({
77
83
  label: "End Reached Threshold",
78
84
  description: "How far from the end (in units of visible length of the list) the bottom edge of the list must be from the end of the content to trigger the onEndReached callback. Thus a value of 0.5 will trigger onEndReached when the end of the content is within half the visible length of the list.",
@@ -29,9 +29,10 @@ const SEED_DATA = {
29
29
  numColumns: (0, _types.createNumColumnsType)({
30
30
  editable: true
31
31
  }),
32
- initialNumToRender: (0, _types.createStaticBoolProp)({
32
+ initialNumToRender: (0, _types.createStaticNumberProp)({
33
33
  label: "Initial Num To Render",
34
- descriprion: "How many items to render in the initial batch"
34
+ description: "How many items to render in the initial batch",
35
+ defaultValue: null
35
36
  }),
36
37
  onEndReachedThreshold: (0, _types.createStaticNumberProp)({
37
38
  label: "End Reached Threshold",
@@ -283,7 +283,7 @@ const SEED_DATA = [{
283
283
  ...SEED_DATA_PROPS,
284
284
  type: {
285
285
  label: "Appearance",
286
- description: "Type of Datepicker",
286
+ description: "Type of Field",
287
287
  formType: _types.FORM_TYPES.flatArray,
288
288
  propType: _types.PROP_TYPES.STRING,
289
289
  defaultValue: "solid",
@@ -325,7 +325,7 @@ const SEED_DATA = [{
325
325
  ...SEED_DATA_PROPS,
326
326
  type: {
327
327
  label: "Appearance",
328
- description: "Type of Datepicker",
328
+ description: "Type of Field",
329
329
  formType: _types.FORM_TYPES.flatArray,
330
330
  propType: _types.PROP_TYPES.STRING,
331
331
  defaultValue: "solid",
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -150,7 +150,7 @@ export const SEED_DATA = [{
150
150
  category: COMPONENT_TYPES.input,
151
151
  layout: null,
152
152
  triggers: [Triggers.OnDateChange],
153
- StylesPanelSections: [StylesPanelSections.Typography, StylesPanelSections.Background, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position],
153
+ stylesPanelSections: [StylesPanelSections.Typography, StylesPanelSections.Background, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position],
154
154
  props: {
155
155
  ...SEED_DATA_PROPS,
156
156
  type: {
@@ -24,9 +24,10 @@ export const SEED_DATA = [{
24
24
  step: 1,
25
25
  precision: 0
26
26
  }),
27
- optimizeItemArrangement: createStaticBoolProp({
28
- label: "Optimize Item Arrangement",
29
- description: "If enabled, MasonryFlashList will try to reduce difference in column height by modifying item order. If true, specifying overrideItemLayout is required. Default value is false."
27
+ initialNumToRender: createStaticNumberProp({
28
+ label: "Initial Num To Render",
29
+ description: "How many items to render in the initial batch",
30
+ defaultValue: null
30
31
  }),
31
32
  onEndReachedThreshold: createStaticNumberProp({
32
33
  label: "End Reached Threshold",
@@ -67,6 +68,11 @@ export const SEED_DATA = [{
67
68
  numColumns: createNumColumnsType({
68
69
  editable: true
69
70
  }),
71
+ initialNumToRender: createStaticNumberProp({
72
+ label: "Initial Num To Render",
73
+ description: "How many items to render in the initial batch",
74
+ defaultValue: null
75
+ }),
70
76
  onEndReachedThreshold: createStaticNumberProp({
71
77
  label: "End Reached Threshold",
72
78
  description: "How far from the end (in units of visible length of the list) the bottom edge of the list must be from the end of the content to trigger the onEndReached callback. Thus a value of 0.5 will trigger onEndReached when the end of the content is within half the visible length of the list.",
@@ -23,9 +23,10 @@ export const SEED_DATA = {
23
23
  numColumns: createNumColumnsType({
24
24
  editable: true
25
25
  }),
26
- initialNumToRender: createStaticBoolProp({
26
+ initialNumToRender: createStaticNumberProp({
27
27
  label: "Initial Num To Render",
28
- descriprion: "How many items to render in the initial batch"
28
+ description: "How many items to render in the initial batch",
29
+ defaultValue: null
29
30
  }),
30
31
  onEndReachedThreshold: createStaticNumberProp({
31
32
  label: "End Reached Threshold",
@@ -277,7 +277,7 @@ export const SEED_DATA = [{
277
277
  ...SEED_DATA_PROPS,
278
278
  type: {
279
279
  label: "Appearance",
280
- description: "Type of Datepicker",
280
+ description: "Type of Field",
281
281
  formType: FORM_TYPES.flatArray,
282
282
  propType: PROP_TYPES.STRING,
283
283
  defaultValue: "solid",
@@ -319,7 +319,7 @@ export const SEED_DATA = [{
319
319
  ...SEED_DATA_PROPS,
320
320
  type: {
321
321
  label: "Appearance",
322
- description: "Type of Datepicker",
322
+ description: "Type of Field",
323
323
  formType: FORM_TYPES.flatArray,
324
324
  propType: PROP_TYPES.STRING,
325
325
  defaultValue: "solid",
@@ -5,7 +5,7 @@ export declare const SEED_DATA: {
5
5
  category: string;
6
6
  layout: null;
7
7
  triggers: string[];
8
- StylesPanelSections: string[];
8
+ stylesPanelSections: string[];
9
9
  props: {
10
10
  type: {
11
11
  label: string;
@@ -51,15 +51,16 @@ export declare const SEED_DATA: ({
51
51
  required: boolean;
52
52
  step: number;
53
53
  };
54
- optimizeItemArrangement: {
54
+ initialNumToRender: {
55
55
  label: string;
56
56
  description: string;
57
57
  formType: string;
58
58
  propType: string;
59
- defaultValue: boolean;
59
+ group: string;
60
+ defaultValue: null;
60
61
  editable: boolean;
61
62
  required: boolean;
62
- group: string;
63
+ step: number;
63
64
  };
64
65
  onEndReachedThreshold: {
65
66
  label: string;
@@ -148,6 +149,17 @@ export declare const SEED_DATA: ({
148
149
  editable: boolean;
149
150
  required: boolean;
150
151
  };
152
+ initialNumToRender: {
153
+ label: string;
154
+ description: string;
155
+ formType: string;
156
+ propType: string;
157
+ group: string;
158
+ defaultValue: null;
159
+ editable: boolean;
160
+ required: boolean;
161
+ step: number;
162
+ };
151
163
  onEndReachedThreshold: {
152
164
  label: string;
153
165
  description: string;
@@ -159,7 +171,6 @@ export declare const SEED_DATA: ({
159
171
  required: boolean;
160
172
  step: number;
161
173
  };
162
- optimizeItemArrangement?: undefined;
163
174
  };
164
175
  })[];
165
176
  //# sourceMappingURL=FlashList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlashList.d.ts","sourceRoot":"","sources":["../../../../src/mappings/FlashList.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgFrB,CAAC"}
1
+ {"version":3,"file":"FlashList.d.ts","sourceRoot":"","sources":["../../../../src/mappings/FlashList.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqFrB,CAAC"}
@@ -64,10 +64,11 @@ export declare const SEED_DATA: {
64
64
  description: string;
65
65
  formType: string;
66
66
  propType: string;
67
- defaultValue: boolean;
67
+ group: string;
68
+ defaultValue: null;
68
69
  editable: boolean;
69
70
  required: boolean;
70
- group: string;
71
+ step: number;
71
72
  };
72
73
  onEndReachedThreshold: {
73
74
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FlatList.d.ts","sourceRoot":"","sources":["../../../../src/mappings/FlatList.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCrB,CAAC"}
1
+ {"version":3,"file":"FlatList.d.ts","sourceRoot":"","sources":["../../../../src/mappings/FlatList.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "47.1.0",
3
+ "version": "47.1.1-022301.2+022301c",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -41,7 +41,7 @@
41
41
  "dependencies": {
42
42
  "@date-io/date-fns": "^1.3.13",
43
43
  "@draftbit/react-theme-provider": "^2.1.1",
44
- "@draftbit/types": "^47.1.0",
44
+ "@draftbit/types": "^47.1.1-022301.2+022301c",
45
45
  "@material-ui/core": "^4.11.0",
46
46
  "@material-ui/pickers": "^3.2.10",
47
47
  "@react-native-community/slider": "4.2.4",
@@ -91,5 +91,5 @@
91
91
  ]
92
92
  ]
93
93
  },
94
- "gitHead": "e7f85a3c5b7add2a2373492120ba2fd2a0d7eeda"
94
+ "gitHead": "022301c8f824b991b49243bfb1a81382520998ad"
95
95
  }
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { ThemeProvider } from "./theming";
3
+ import PortalHost from "./components/Portal/PortalHost";
4
+ export default class Provider extends React.Component {
5
+ render() {
6
+ return (React.createElement(PortalHost, null,
7
+ React.createElement(ThemeProvider, { theme: this.props.theme }, this.props.children)));
8
+ }
9
+ }
@@ -0,0 +1,44 @@
1
+ import * as React from "react";
2
+ import { View, StyleSheet, Pressable, } from "react-native";
3
+ import Text from "../Text";
4
+ import { withTheme } from "../../theming";
5
+ import { extractStyles } from "../../utilities";
6
+ const AccordionGroup = ({ label, expanded: expandedProp = false, openColor, closedColor, caretColor: caretColorProp, caretSize = 24, icon, iconSize = 24, style, children, theme, Icon, }) => {
7
+ const [expanded, setExpanded] = React.useState(expandedProp);
8
+ const { textStyles, viewStyles } = extractStyles(style);
9
+ const expandedColor = openColor || theme.colors.primary;
10
+ const collapsedColor = closedColor || theme.colors.primary;
11
+ const labelColor = expanded ? expandedColor : collapsedColor;
12
+ const caretColor = caretColorProp || labelColor;
13
+ const handlePressAction = () => {
14
+ setExpanded(!expanded);
15
+ };
16
+ return (React.createElement(React.Fragment, null,
17
+ React.createElement(Pressable, { style: [styles.row, viewStyles], onPress: handlePressAction, accessibilityRole: "button" },
18
+ icon ? (React.createElement(Icon, { name: icon, size: iconSize, color: labelColor, style: styles.icon })) : null,
19
+ React.createElement(View, { style: styles.content },
20
+ React.createElement(Text, { selectable: false, style: [
21
+ textStyles,
22
+ {
23
+ color: labelColor,
24
+ },
25
+ ] }, label)),
26
+ React.createElement(Icon, { name: expanded
27
+ ? "MaterialIcons/keyboard-arrow-up"
28
+ : "MaterialIcons/keyboard-arrow-down", color: caretColor, size: caretSize })),
29
+ expanded ? children : null));
30
+ };
31
+ const styles = StyleSheet.create({
32
+ row: {
33
+ flexDirection: "row",
34
+ alignItems: "center",
35
+ },
36
+ content: {
37
+ flex: 1,
38
+ justifyContent: "center",
39
+ },
40
+ icon: {
41
+ marginRight: 8,
42
+ },
43
+ });
44
+ export default withTheme(AccordionGroup);
@@ -0,0 +1,32 @@
1
+ import * as React from "react";
2
+ import { Pressable, StyleSheet, View, } from "react-native";
3
+ import Text from "../Text";
4
+ import { extractStyles } from "../../utilities";
5
+ import { withTheme } from "../../theming";
6
+ const AccordionItem = ({ Icon, icon, label, style, iconColor, theme, ...rest }) => {
7
+ const { textStyles, viewStyles } = extractStyles(style);
8
+ return (React.createElement(Pressable, { style: [styles.container, viewStyles], ...rest },
9
+ React.createElement(View, { style: styles.row },
10
+ icon ? (React.createElement(Icon, { name: icon, size: 24, color: iconColor || theme.colors.primary })) : null,
11
+ React.createElement(View, { style: [styles.item, styles.content] },
12
+ React.createElement(Text, { selectable: false, style: textStyles }, label)))));
13
+ };
14
+ const styles = StyleSheet.create({
15
+ container: {
16
+ padding: 8,
17
+ },
18
+ row: {
19
+ flexDirection: "row",
20
+ alignItems: "center",
21
+ paddingLeft: 8,
22
+ },
23
+ item: {
24
+ marginVertical: 6,
25
+ paddingLeft: 8,
26
+ },
27
+ content: {
28
+ flex: 1,
29
+ justifyContent: "center",
30
+ },
31
+ });
32
+ export default withTheme(AccordionItem);
@@ -0,0 +1,2 @@
1
+ export { default as AccordionGroup } from "./AccordionGroup";
2
+ export { default as AccordionItem } from "./AccordionItem";
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+ import { View, StyleSheet } from "react-native";
3
+ import Portal from "../Portal/Portal";
4
+ import Touchable from "../Touchable";
5
+ import ActionSheetCancel from "./ActionSheetCancel";
6
+ const ActionSheet = ({ visible = false, onClose, children }) => {
7
+ return visible ? (React.createElement(Portal, null,
8
+ React.createElement(Touchable, { style: styles.wrapper, onPress: onClose },
9
+ React.createElement(View, { style: styles.overlay }),
10
+ React.createElement(View, { style: styles.groupWrapper },
11
+ React.createElement(View, { style: styles.group }, React.Children.toArray(children).filter((child) => (child === null || child === void 0 ? void 0 : child.type) !== ActionSheetCancel)),
12
+ React.createElement(View, { style: styles.group }, React.Children.toArray(children).filter((child) => child.type === ActionSheetCancel)))))) : (React.createElement(React.Fragment, null));
13
+ };
14
+ const styles = StyleSheet.create({
15
+ wrapper: {
16
+ flex: 1,
17
+ display: "flex",
18
+ flexDirection: "column",
19
+ },
20
+ overlay: {
21
+ position: "absolute",
22
+ top: 0,
23
+ left: 0,
24
+ right: 0,
25
+ bottom: 0,
26
+ backgroundColor: "#000000",
27
+ opacity: 0.3,
28
+ },
29
+ groupWrapper: {
30
+ flex: 1,
31
+ flexDirection: "column",
32
+ justifyContent: "flex-end",
33
+ display: "flex",
34
+ marginBottom: 25,
35
+ },
36
+ group: {
37
+ display: "flex",
38
+ flexDirection: "column",
39
+ borderRadius: 10,
40
+ marginHorizontal: 7,
41
+ marginVertical: 2.5,
42
+ overflow: "hidden",
43
+ },
44
+ });
45
+ export default ActionSheet;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import ActionSheetItem from "./ActionSheetItem";
3
+ const ActionSheetCancel = ({ label = "Cancel", color, style, onPress, }) => {
4
+ return (React.createElement(ActionSheetItem, { label: label, color: color || "#FF453A", style: [style], onPress: onPress }));
5
+ };
6
+ export default ActionSheetCancel;
@@ -0,0 +1,30 @@
1
+ import React from "react";
2
+ import { Text, StyleSheet, TouchableOpacity, } from "react-native";
3
+ import { extractStyles } from "../../utilities";
4
+ const ActionSheetItem = ({ label, style, color, onPress, }) => {
5
+ const { textStyles, viewStyles } = extractStyles(style);
6
+ return (React.createElement(TouchableOpacity, { activeOpacity: 0.7, style: [styles.wrapper, viewStyles], onPress: onPress },
7
+ React.createElement(Text, { style: [styles.label, textStyles, { color }] }, label)));
8
+ };
9
+ const styles = StyleSheet.create({
10
+ wrapper: {
11
+ borderBottomWidth: StyleSheet.hairlineWidth,
12
+ borderBottomColor: "#CCCCCC",
13
+ backgroundColor: "#F1F1F1",
14
+ minHeight: 50,
15
+ overflow: "hidden",
16
+ display: "flex",
17
+ justifyContent: "center",
18
+ },
19
+ label: {
20
+ fontSize: 16,
21
+ textAlign: "center",
22
+ color: "#0A84FF",
23
+ fontWeight: "500",
24
+ overflow: "hidden",
25
+ paddingHorizontal: 20,
26
+ paddingVertical: 10,
27
+ alignSelf: "center",
28
+ },
29
+ });
30
+ export default ActionSheetItem;
@@ -0,0 +1,3 @@
1
+ export { default as ActionSheet } from "./ActionSheet";
2
+ export { default as ActionSheetItem } from "./ActionSheetItem";
3
+ export { default as ActionSheetCancel } from "./ActionSheetCancel";
@@ -0,0 +1,43 @@
1
+ import * as React from "react";
2
+ import { Animated, Easing, } from "react-native";
3
+ import CircularProgress from "./CircularProgress";
4
+ const AnimatedProgress = Animated.createAnimatedComponent(CircularProgress);
5
+ const AnimatedCircularProgress = ({ duration = 500, easing = Easing.out(Easing.ease), fill, prefill = 0, useNativeDriver = false, tintColorSecondary, onAnimationComplete, tintColor = "black", ...other }) => {
6
+ const [fillAnimation] = React.useState(new Animated.Value(prefill));
7
+ const animate = React.useCallback((toVal = -1, dur, ease) => {
8
+ const toValue = toVal >= 0 ? toVal : fill;
9
+ const dura = dur || duration;
10
+ const eas = ease || easing;
11
+ const useNative = useNativeDriver;
12
+ const anim = Animated.timing(fillAnimation, {
13
+ useNativeDriver: useNative,
14
+ toValue,
15
+ easing: eas,
16
+ duration: dura,
17
+ });
18
+ anim.start(onAnimationComplete);
19
+ return anim;
20
+ }, [
21
+ duration,
22
+ easing,
23
+ fill,
24
+ useNativeDriver,
25
+ fillAnimation,
26
+ onAnimationComplete,
27
+ ]);
28
+ const animateColor = () => {
29
+ if (!tintColorSecondary) {
30
+ return tintColor;
31
+ }
32
+ const tintAnimation = fillAnimation.interpolate({
33
+ inputRange: [0, 100],
34
+ outputRange: [tintColor, tintColorSecondary],
35
+ });
36
+ return tintAnimation;
37
+ };
38
+ React.useEffect(() => {
39
+ animate();
40
+ }, [fill, animate]);
41
+ return (React.createElement(AnimatedProgress, { ...other, style: other.style, childrenContainerStyle: other.childrenContainerStyle, fill: fillAnimation, tintColor: animateColor() }));
42
+ };
43
+ export default AnimatedCircularProgress;
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { View, StyleSheet, } from "react-native";
3
+ const AspectRatio = (props) => {
4
+ const [layout, setLayout] = React.useState(null);
5
+ const { aspectRatio = 1, ...inputStyle } = StyleSheet.flatten(props.style) || {};
6
+ const style = [inputStyle, { aspectRatio }];
7
+ if (layout) {
8
+ const { width = 0, height = 0 } = layout;
9
+ if (width === 0) {
10
+ style.push({ width: height * (1 / aspectRatio), height });
11
+ }
12
+ else {
13
+ style.push({ width, height: width * (1 / aspectRatio) });
14
+ }
15
+ }
16
+ return (React.createElement(View, { ...props, style: style, onLayout: ({ nativeEvent: { layout: l } }) => setLayout(l) }, props.children));
17
+ };
18
+ export default AspectRatio;
@@ -0,0 +1,30 @@
1
+ import * as React from "react";
2
+ import { View } from "react-native";
3
+ import Touchable from "./Touchable";
4
+ import CircleImage from "./CircleImage";
5
+ import { withTheme } from "../theming";
6
+ const AvatarEdit = ({ Icon, image, size = 80, onPress = () => { }, style, theme, ...rest }) => {
7
+ const colorStyles = {
8
+ editBackgroundColor: theme.colors.primary,
9
+ editIconColor: theme.colors.surface,
10
+ editBorderColor: theme.colors.surface,
11
+ };
12
+ const dimensions = {
13
+ width: size,
14
+ height: size,
15
+ };
16
+ return (React.createElement(View, { style: [style, dimensions], ...rest },
17
+ React.createElement(Touchable, { onPress: onPress },
18
+ React.createElement(CircleImage, { source: image, size: size }),
19
+ React.createElement(View, { style: {
20
+ position: "absolute",
21
+ top: -3,
22
+ right: -3,
23
+ borderColor: colorStyles.editBorderColor,
24
+ backgroundColor: colorStyles.editBackgroundColor,
25
+ borderRadius: size * (3 / 16),
26
+ padding: size * (3 / 32),
27
+ } },
28
+ React.createElement(Icon, { name: "MaterialIcons/edit", color: colorStyles.editIconColor, size: size * (3 / 16) })))));
29
+ };
30
+ export default withTheme(AvatarEdit);
@@ -0,0 +1,109 @@
1
+ import * as React from "react";
2
+ import { Button, Text, View, StyleSheet, Animated, } from "react-native";
3
+ import Surface from "./Surface";
4
+ import shadow from "../styles/shadow";
5
+ import { withTheme } from "../theming";
6
+ const ELEVATION = 1;
7
+ const DEFAULT_MAX_WIDTH = 960;
8
+ const Banner = ({ initiallyVisible = true, dismissable = true, icon, buttonColor, content, contentStyle, style, theme, Icon, ...rest }) => {
9
+ const [visible, setVisible] = React.useState(initiallyVisible);
10
+ React.useEffect(() => {
11
+ if (initiallyVisible) {
12
+ setVisible(true);
13
+ }
14
+ }, [initiallyVisible]);
15
+ const { current: position } = React.useRef(new Animated.Value(visible ? 1 : 0));
16
+ const [layout, setLayout] = React.useState({
17
+ height: 0,
18
+ measured: false,
19
+ });
20
+ React.useEffect(() => {
21
+ if (visible) {
22
+ // show
23
+ Animated.timing(position, {
24
+ duration: 250,
25
+ toValue: 1,
26
+ useNativeDriver: false,
27
+ }).start();
28
+ }
29
+ else {
30
+ // hide
31
+ Animated.timing(position, {
32
+ duration: 200,
33
+ toValue: 0,
34
+ useNativeDriver: false,
35
+ }).start();
36
+ }
37
+ }, [visible, position]);
38
+ const handleLayout = ({ nativeEvent }) => {
39
+ const { height } = nativeEvent.layout;
40
+ setLayout({ height, measured: true });
41
+ };
42
+ // The banner animation has 2 parts:
43
+ // 1. Blank spacer element which animates its height to move the content
44
+ // 2. Actual banner which animates its translateY
45
+ // In initial render, we position everything normally and measure the height of the banner
46
+ // Once we have the height, we apply the height to the spacer and switch the banner to position: absolute
47
+ // We need this because we need to move the content below as if banner's height was being animated
48
+ // However we can't animated banner's height directly as it'll also resize the content inside
49
+ const height = Animated.multiply(position, layout.height);
50
+ const translateY = Animated.multiply(Animated.add(position, -1), layout.height);
51
+ return (React.createElement(Surface, { ...rest, style: [styles.container, shadow(ELEVATION), style] },
52
+ React.createElement(View, { style: [styles.wrapper, contentStyle] },
53
+ React.createElement(Animated.View, { style: { height } }),
54
+ React.createElement(Animated.View, { onLayout: handleLayout, style: [
55
+ layout.measured || !visible
56
+ ? // If we have measured banner's height or it's invisible,
57
+ // Position it absolutely, the layout will be taken care of the spacer
58
+ [styles.absolute, { transform: [{ translateY }] }]
59
+ : // Otherwise position it normally
60
+ null,
61
+ !layout.measured && !visible
62
+ ? // If we haven't measured banner's height yet and it's invisible,
63
+ // hide it with opacity: 0 so user doesn't see it
64
+ { opacity: 0 }
65
+ : null,
66
+ ] },
67
+ React.createElement(View, { style: [styles.content, { marginBottom: dismissable ? 0 : 16 }] },
68
+ icon ? (React.createElement(View, { style: styles.icon },
69
+ React.createElement(Icon, { name: icon, size: 40 }))) : null,
70
+ React.createElement(Text, { style: [styles.message, { color: theme.colors.text }], accessibilityLiveRegion: visible ? "polite" : "none", accessibilityRole: "alert" }, content)),
71
+ dismissable ? (React.createElement(View, { style: styles.actions },
72
+ React.createElement(Button, { color: buttonColor || theme.colors.primary, title: "Close", onPress: () => setVisible(false) }))) : null))));
73
+ };
74
+ const styles = StyleSheet.create({
75
+ container: {
76
+ elevation: ELEVATION,
77
+ },
78
+ wrapper: {
79
+ overflow: "hidden",
80
+ alignSelf: "center",
81
+ width: "100%",
82
+ maxWidth: DEFAULT_MAX_WIDTH,
83
+ },
84
+ absolute: {
85
+ position: "absolute",
86
+ top: 0,
87
+ width: "100%",
88
+ },
89
+ content: {
90
+ flexDirection: "row",
91
+ justifyContent: "flex-start",
92
+ marginHorizontal: 8,
93
+ marginTop: 16,
94
+ marginBottom: 0,
95
+ },
96
+ icon: {
97
+ margin: 8,
98
+ },
99
+ message: {
100
+ flex: 1,
101
+ margin: 8,
102
+ },
103
+ actions: {
104
+ flexDirection: "row",
105
+ justifyContent: "flex-end",
106
+ margin: 8,
107
+ },
108
+ });
109
+ export default withTheme(Banner);