@draftbit/core 46.8.1-fe4ccb.2 → 46.8.2-079b9d.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 (124) hide show
  1. package/lib/commonjs/components/DeckSwiper/DeckSwiper.js +38 -4
  2. package/lib/commonjs/components/Picker/Picker.js +8 -9
  3. package/lib/commonjs/components/ScreenContainer.js +2 -1
  4. package/lib/commonjs/index.js +0 -7
  5. package/lib/commonjs/mappings/Accordion.js +1 -0
  6. package/lib/commonjs/mappings/AccordionItem.js +1 -0
  7. package/lib/commonjs/mappings/ActionSheet.js +1 -0
  8. package/lib/commonjs/mappings/ActionSheetCancel.js +1 -0
  9. package/lib/commonjs/mappings/ActionSheetItem.js +1 -0
  10. package/lib/commonjs/mappings/FlashList.js +2 -8
  11. package/lib/commonjs/mappings/LinearGradient.js +1 -0
  12. package/lib/commonjs/mappings/MapCallout.js +1 -0
  13. package/lib/commonjs/mappings/MapMarker.js +1 -0
  14. package/lib/commonjs/mappings/MapView.js +1 -0
  15. package/lib/commonjs/mappings/Swiper.js +1 -0
  16. package/lib/commonjs/mappings/SwiperItem.js +2 -1
  17. package/lib/commonjs/mappings/TextArea.js +1 -0
  18. package/lib/commonjs/mappings/TextField.js +1 -0
  19. package/lib/module/components/DeckSwiper/DeckSwiper.js +38 -4
  20. package/lib/module/components/Picker/Picker.js +8 -9
  21. package/lib/module/components/ScreenContainer.js +2 -1
  22. package/lib/module/components/StepIndicator.js +58 -18
  23. package/lib/module/index.js +0 -1
  24. package/lib/module/mappings/Accordion.js +2 -1
  25. package/lib/module/mappings/AccordionItem.js +2 -1
  26. package/lib/module/mappings/ActionSheet.js +2 -1
  27. package/lib/module/mappings/ActionSheetCancel.js +2 -1
  28. package/lib/module/mappings/ActionSheetItem.js +2 -1
  29. package/lib/module/mappings/FlashList.js +3 -9
  30. package/lib/module/mappings/LinearGradient.js +2 -1
  31. package/lib/module/mappings/MapCallout.js +2 -1
  32. package/lib/module/mappings/MapMarker.js +2 -1
  33. package/lib/module/mappings/MapView.js +2 -1
  34. package/lib/module/mappings/Swiper.js +2 -1
  35. package/lib/module/mappings/SwiperItem.js +3 -2
  36. package/lib/module/mappings/TextArea.js +2 -1
  37. package/lib/module/mappings/TextField.js +1 -0
  38. package/lib/typescript/src/components/DeckSwiper/DeckSwiper.d.ts +8 -2
  39. package/lib/typescript/src/components/DeckSwiper/DeckSwiper.d.ts.map +1 -1
  40. package/lib/typescript/src/components/DeckSwiper/DeckSwiperCard.d.ts +2 -3
  41. package/lib/typescript/src/components/DeckSwiper/DeckSwiperCard.d.ts.map +1 -1
  42. package/lib/typescript/src/components/Picker/Picker.d.ts.map +1 -1
  43. package/lib/typescript/src/components/ScreenContainer.d.ts.map +1 -1
  44. package/lib/typescript/src/index.d.ts +0 -1
  45. package/lib/typescript/src/index.d.ts.map +1 -1
  46. package/lib/typescript/src/mappings/Accordion.d.ts +1 -0
  47. package/lib/typescript/src/mappings/Accordion.d.ts.map +1 -1
  48. package/lib/typescript/src/mappings/AccordionItem.d.ts +1 -0
  49. package/lib/typescript/src/mappings/AccordionItem.d.ts.map +1 -1
  50. package/lib/typescript/src/mappings/ActionSheet.d.ts +1 -0
  51. package/lib/typescript/src/mappings/ActionSheet.d.ts.map +1 -1
  52. package/lib/typescript/src/mappings/ActionSheetCancel.d.ts +1 -0
  53. package/lib/typescript/src/mappings/ActionSheetCancel.d.ts.map +1 -1
  54. package/lib/typescript/src/mappings/ActionSheetItem.d.ts +1 -0
  55. package/lib/typescript/src/mappings/ActionSheetItem.d.ts.map +1 -1
  56. package/lib/typescript/src/mappings/FlashList.d.ts +0 -6
  57. package/lib/typescript/src/mappings/FlashList.d.ts.map +1 -1
  58. package/lib/typescript/src/mappings/LinearGradient.d.ts +1 -0
  59. package/lib/typescript/src/mappings/LinearGradient.d.ts.map +1 -1
  60. package/lib/typescript/src/mappings/MapCallout.d.ts +1 -0
  61. package/lib/typescript/src/mappings/MapCallout.d.ts.map +1 -1
  62. package/lib/typescript/src/mappings/MapMarker.d.ts +1 -0
  63. package/lib/typescript/src/mappings/MapMarker.d.ts.map +1 -1
  64. package/lib/typescript/src/mappings/MapView.d.ts +1 -0
  65. package/lib/typescript/src/mappings/MapView.d.ts.map +1 -1
  66. package/lib/typescript/src/mappings/Swiper.d.ts +1 -0
  67. package/lib/typescript/src/mappings/Swiper.d.ts.map +1 -1
  68. package/lib/typescript/src/mappings/SwiperItem.d.ts +1 -0
  69. package/lib/typescript/src/mappings/SwiperItem.d.ts.map +1 -1
  70. package/lib/typescript/src/mappings/TextArea.d.ts +1 -0
  71. package/lib/typescript/src/mappings/TextArea.d.ts.map +1 -1
  72. package/lib/typescript/src/mappings/TextField.d.ts +1 -1
  73. package/lib/typescript/src/mappings/TextField.d.ts.map +1 -1
  74. package/package.json +3 -4
  75. package/src/components/DeckSwiper/DeckSwiper.js +33 -3
  76. package/src/components/DeckSwiper/DeckSwiper.tsx +51 -9
  77. package/src/components/DeckSwiper/DeckSwiperCard.js +1 -1
  78. package/src/components/DeckSwiper/DeckSwiperCard.tsx +3 -6
  79. package/src/components/Picker/Picker.js +7 -8
  80. package/src/components/Picker/Picker.tsx +7 -9
  81. package/src/components/ScreenContainer.js +2 -1
  82. package/src/components/ScreenContainer.tsx +2 -1
  83. package/src/index.js +0 -1
  84. package/src/index.tsx +0 -2
  85. package/src/mappings/Accordion.js +10 -1
  86. package/src/mappings/Accordion.ts +10 -0
  87. package/src/mappings/AccordionItem.js +2 -1
  88. package/src/mappings/AccordionItem.ts +2 -0
  89. package/src/mappings/ActionSheet.js +2 -1
  90. package/src/mappings/ActionSheet.ts +7 -1
  91. package/src/mappings/ActionSheetCancel.js +2 -1
  92. package/src/mappings/ActionSheetCancel.ts +2 -0
  93. package/src/mappings/ActionSheetItem.js +2 -1
  94. package/src/mappings/ActionSheetItem.ts +2 -0
  95. package/src/mappings/FlashList.js +9 -9
  96. package/src/mappings/FlashList.ts +9 -9
  97. package/src/mappings/LinearGradient.js +6 -1
  98. package/src/mappings/LinearGradient.ts +6 -0
  99. package/src/mappings/MapCallout.js +2 -1
  100. package/src/mappings/MapCallout.ts +2 -0
  101. package/src/mappings/MapMarker.js +2 -1
  102. package/src/mappings/MapMarker.ts +2 -0
  103. package/src/mappings/MapView.js +2 -1
  104. package/src/mappings/MapView.ts +2 -0
  105. package/src/mappings/Swiper.js +10 -1
  106. package/src/mappings/Swiper.ts +10 -0
  107. package/src/mappings/SwiperItem.js +2 -1
  108. package/src/mappings/SwiperItem.ts +5 -1
  109. package/src/mappings/TextArea.js +10 -1
  110. package/src/mappings/TextArea.ts +10 -0
  111. package/src/mappings/TextField.js +9 -0
  112. package/src/mappings/TextField.ts +9 -0
  113. package/lib/commonjs/components/Shadow.js +0 -42
  114. package/lib/commonjs/mappings/Shadow.js +0 -94
  115. package/lib/module/components/Shadow.js +0 -34
  116. package/lib/module/mappings/Shadow.js +0 -87
  117. package/lib/typescript/src/components/Shadow.d.ts +0 -24
  118. package/lib/typescript/src/components/Shadow.d.ts.map +0 -1
  119. package/lib/typescript/src/mappings/Shadow.d.ts +0 -173
  120. package/lib/typescript/src/mappings/Shadow.d.ts.map +0 -1
  121. package/src/components/Shadow.js +0 -16
  122. package/src/components/Shadow.tsx +0 -58
  123. package/src/mappings/Shadow.js +0 -87
  124. package/src/mappings/Shadow.ts +0 -95
@@ -17,13 +17,47 @@ const DeckSwiper = _ref => {
17
17
  verticalEnabled = true,
18
18
  horizontalEnabled = true,
19
19
  visibleCardCount = 1,
20
+ data,
21
+ keyExtractor,
22
+ renderItem,
20
23
  style,
21
24
  children
22
25
  } = _ref;
26
+ //Both 'renderItem' and 'data' are optional to allow direct children. But if one is included, both need to be included
27
+ if (data && !renderItem || renderItem && !data) {
28
+ throw new Error("'renderItem' and 'data' need to both be provided to lazily render. Either remove them entirley or include both");
29
+ }
30
+ if (data && renderItem && children) {
31
+ console.warn("'children' of DeckSwiper ignored due to usage of 'data' and 'renderItem'");
32
+ }
23
33
  const childrenArray = _react.default.useMemo(() => _react.default.Children.toArray(children), [children]);
24
34
 
25
35
  // an array of indices based on children count
26
36
  const cardsFillerData = _react.default.useMemo(() => Array.from(Array(childrenArray.length).keys()), [childrenArray]);
37
+ const cardsData = data || cardsFillerData;
38
+ const renderCard = (card, index) => {
39
+ if (renderItem) {
40
+ return renderItem({
41
+ item: card,
42
+ index
43
+ });
44
+ } else {
45
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, childrenArray[index]);
46
+ }
47
+ };
48
+ const renderFirstCard = () => {
49
+ if (cardsData.length) {
50
+ return renderCard(cardsData[0], 0);
51
+ }
52
+ return undefined;
53
+ };
54
+ const cardKeyExtractor = card => {
55
+ if (keyExtractor) {
56
+ return keyExtractor(card);
57
+ } else {
58
+ return card === null || card === void 0 ? void 0 : card.toString();
59
+ }
60
+ };
27
61
 
28
62
  /**
29
63
  * By default react-native-deck-swiper positions everything with absolute position.
@@ -37,10 +71,10 @@ const DeckSwiper = _ref => {
37
71
 
38
72
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
39
73
  style: styles.containerHeightFiller
40
- }, childrenArray.length && childrenArray[0]), /*#__PURE__*/_react.default.createElement(_reactNativeDeckSwiper.default, {
41
- cards: cardsFillerData,
42
- renderCard: (_, i) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, childrenArray[i]),
43
- keyExtractor: card => card === null || card === void 0 ? void 0 : card.toString(),
74
+ }, renderFirstCard()), /*#__PURE__*/_react.default.createElement(_reactNativeDeckSwiper.default, {
75
+ cards: cardsData,
76
+ renderCard: renderCard,
77
+ keyExtractor: cardKeyExtractor,
44
78
  containerStyle: _reactNative.StyleSheet.flatten([styles.cardsContainer, style]),
45
79
  cardStyle: styles.card,
46
80
  onSwiped: onIndexChanged,
@@ -46,6 +46,9 @@ const isWeb = _reactNative.Platform.OS === "web";
46
46
  const unstyledColor = "rgba(165, 173, 183, 1)";
47
47
  const disabledColor = "rgb(240, 240, 240)";
48
48
  const errorColor = "rgba(255, 69, 100, 1)";
49
+
50
+ //Empty string for 'value' is treated as a non-value
51
+ //reason: Draftbit uses empty string as initial value for string state*/
49
52
  const Picker = _ref => {
50
53
  var _find$label, _find;
51
54
  let {
@@ -76,12 +79,12 @@ const Picker = _ref => {
76
79
  setPickerVisible(!pickerVisible);
77
80
  };
78
81
  React.useEffect(() => {
79
- if (value != null) {
82
+ if (value != null && value !== "") {
80
83
  setInternalValue(value);
81
84
  }
82
85
  }, [value]);
83
86
  React.useEffect(() => {
84
- if (defaultValue != null) {
87
+ if (defaultValue != null && defaultValue !== "") {
85
88
  setInternalValue(defaultValue);
86
89
  }
87
90
  }, [defaultValue]);
@@ -96,11 +99,7 @@ const Picker = _ref => {
96
99
  _reactNative.Keyboard.dismiss();
97
100
  }
98
101
  }, [pickerVisible, autoDismissKeyboard]);
99
- const normalizedOptions = normalizeOptions(options);
100
- const pickerOptions = placeholder ? [{
101
- value: placeholder,
102
- label: placeholder
103
- }, ...normalizedOptions] : normalizedOptions;
102
+ const pickerOptions = normalizeOptions(options);
104
103
  const {
105
104
  viewStyles,
106
105
  textStyles
@@ -200,10 +199,10 @@ const Picker = _ref => {
200
199
  } : {})
201
200
  };
202
201
  const handleValueChange = (newValue, itemIndex) => {
203
- if (!placeholder || itemIndex > 0) {
202
+ if (newValue !== "") {
204
203
  onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(newValue, itemIndex);
204
+ setInternalValue(newValue);
205
205
  }
206
- setInternalValue(newValue);
207
206
  };
208
207
  return (
209
208
  /*#__PURE__*/
@@ -12,6 +12,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
12
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
13
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
14
  function ScreenContainer(_ref) {
15
+ var _StyleSheet$flatten;
15
16
  let {
16
17
  scrollable = false,
17
18
  hasSafeArea = false,
@@ -22,7 +23,7 @@ function ScreenContainer(_ref) {
22
23
  children,
23
24
  ...rest
24
25
  } = _ref;
25
- const backgroundColor = theme.colors.background;
26
+ const backgroundColor = ((_StyleSheet$flatten = _reactNative.StyleSheet.flatten(style)) === null || _StyleSheet$flatten === void 0 ? void 0 : _StyleSheet$flatten.backgroundColor) || theme.colors.background;
26
27
  const edges = ["left", "right"];
27
28
  if (hasSafeArea || hasTopSafeArea) {
28
29
  edges.push("top");
@@ -273,12 +273,6 @@ Object.defineProperty(exports, "ScreenContainer", {
273
273
  return _ScreenContainer.default;
274
274
  }
275
275
  });
276
- Object.defineProperty(exports, "Shadow", {
277
- enumerable: true,
278
- get: function () {
279
- return _Shadow.default;
280
- }
281
- });
282
276
  Object.defineProperty(exports, "Slider", {
283
277
  enumerable: true,
284
278
  get: function () {
@@ -419,7 +413,6 @@ var _ActionSheet = require("./components/ActionSheet");
419
413
  var _Swiper = require("./components/Swiper");
420
414
  var _Layout = require("./components/Layout");
421
415
  var _index = require("./components/RadioButton/index");
422
- var _Shadow = _interopRequireDefault(require("./components/Shadow"));
423
416
  var _DeckSwiper = require("./components/DeckSwiper");
424
417
  var _DatePicker = _interopRequireDefault(require("./components/DatePicker/DatePicker"));
425
418
  var _Picker = _interopRequireDefault(require("./components/Picker/Picker"));
@@ -10,6 +10,7 @@ const SEED_DATA = {
10
10
  tag: "AccordionGroup",
11
11
  description: "An expandable container containing components",
12
12
  category: _types.COMPONENT_TYPES.container,
13
+ stylesPanelSections: [_types.StylesPanelSections.LayoutSelectedItem, _types.StylesPanelSections.Background, _types.StylesPanelSections.Size, _types.StylesPanelSections.MarginsAndPaddings, _types.StylesPanelSections.Position, _types.StylesPanelSections.Borders, _types.StylesPanelSections.Effects],
13
14
  layout: {
14
15
  paddingTop: 8,
15
16
  paddingRight: 8,
@@ -10,6 +10,7 @@ const SEED_DATA = {
10
10
  tag: "AccordionItem",
11
11
  description: "Item to be used in Accordion",
12
12
  category: _types.COMPONENT_TYPES.deprecated,
13
+ stylesPanelSections: _types.CONTAINER_COMPONENT_STYLES_SECTIONS,
13
14
  props: {
14
15
  icon: (0, _types.createIconProp)(),
15
16
  label: (0, _types.createTextProp)({
@@ -10,6 +10,7 @@ const SEED_DATA = {
10
10
  tag: "ActionSheet",
11
11
  description: "Action Sheet container",
12
12
  category: _types.COMPONENT_TYPES.actionsheet,
13
+ stylesPanelSections: [_types.StylesPanelSections.Size, _types.StylesPanelSections.Margins],
13
14
  props: {
14
15
  visible: (0, _types.createStaticBoolProp)({
15
16
  group: _types.GROUPS.data,
@@ -9,6 +9,7 @@ const SEED_DATA = {
9
9
  name: "Action Sheet Cancel",
10
10
  tag: "ActionSheetCancel",
11
11
  description: "Action Sheet cancel",
12
+ stylesPanelSections: [_types.StylesPanelSections.Size, _types.StylesPanelSections.Margins],
12
13
  category: _types.COMPONENT_TYPES.actionsheet,
13
14
  triggers: [_types.Triggers.OnPress],
14
15
  props: {
@@ -10,6 +10,7 @@ const SEED_DATA = {
10
10
  tag: "ActionSheetItem",
11
11
  description: "Action Sheet item",
12
12
  category: _types.COMPONENT_TYPES.actionsheet,
13
+ stylesPanelSections: [_types.StylesPanelSections.Size, _types.StylesPanelSections.Margins],
13
14
  triggers: [_types.Triggers.OnPress],
14
15
  layout: {
15
16
  textAlign: "center"
@@ -11,10 +11,7 @@ const SEED_DATA = [{
11
11
  description: "Masonry Flashlist by Shopify",
12
12
  packageName: "@shopify/flash-list",
13
13
  category: _types.COMPONENT_TYPES.data,
14
- stylesPanelSections: _types.CONTAINER_COMPONENT_STYLES_SECTIONS,
15
- layout: {
16
- flex: 1
17
- },
14
+ stylesPanelSections: [_types.StylesPanelSections.Background, _types.StylesPanelSections.MarginsAndPaddings],
18
15
  triggers: [_types.Triggers.OnRefresh, _types.Triggers.OnEndReached],
19
16
  props: {
20
17
  onRefresh: (0, _types.createActionProp)(),
@@ -61,10 +58,7 @@ const SEED_DATA = [{
61
58
  description: "Flashlist by Shopify",
62
59
  packageName: "@shopify/flash-list",
63
60
  category: _types.COMPONENT_TYPES.data,
64
- stylesPanelSections: _types.CONTAINER_COMPONENT_STYLES_SECTIONS,
65
- layout: {
66
- flex: 1
67
- },
61
+ stylesPanelSections: [_types.StylesPanelSections.Background, _types.StylesPanelSections.MarginsAndPaddings],
68
62
  triggers: [_types.Triggers.OnRefresh, _types.Triggers.OnEndReached],
69
63
  props: {
70
64
  onRefresh: (0, _types.createActionProp)(),
@@ -13,6 +13,7 @@ const SEED_DATA = {
13
13
  width: "100%",
14
14
  height: "100%"
15
15
  },
16
+ stylesPanelSections: [_types.StylesPanelSections.MarginsAndPaddings, _types.StylesPanelSections.Borders, _types.StylesPanelSections.Effects],
16
17
  props: {
17
18
  endY: {
18
19
  group: _types.GROUPS.basic,
@@ -9,6 +9,7 @@ const SEED_DATA = {
9
9
  name: "Map Callout",
10
10
  tag: "MapCallout",
11
11
  packageName: "@draftbit/maps",
12
+ stylesPanelSections: _types.CONTAINER_COMPONENT_STYLES_SECTIONS,
12
13
  description: "An info window to display on top of a marker when it is clicked",
13
14
  category: _types.COMPONENT_TYPES.map,
14
15
  triggers: [_types.Triggers.OnPress],
@@ -11,6 +11,7 @@ const SEED_DATA = {
11
11
  packageName: "@draftbit/maps",
12
12
  description: "A marker to show inside map view",
13
13
  category: _types.COMPONENT_TYPES.map,
14
+ stylesPanelSections: _types.CONTAINER_COMPONENT_STYLES_SECTIONS,
14
15
  layout: {},
15
16
  props: {
16
17
  latitude: (0, _types.createNumberProp)({
@@ -11,6 +11,7 @@ const SEED_DATA = {
11
11
  packageName: "@draftbit/maps",
12
12
  description: "A map view",
13
13
  category: _types.COMPONENT_TYPES.map,
14
+ stylesPanelSections: [_types.StylesPanelSections.Size, _types.StylesPanelSections.Margins],
14
15
  layout: {
15
16
  flex: 1,
16
17
  width: "100%",
@@ -10,6 +10,7 @@ const SEED_DATA = {
10
10
  tag: "Swiper",
11
11
  description: "Swiper container",
12
12
  category: _types.COMPONENT_TYPES.swiper,
13
+ stylesPanelSections: [_types.StylesPanelSections.LayoutSelectedItem, _types.StylesPanelSections.Background, _types.StylesPanelSections.Size, _types.StylesPanelSections.MarginsAndPaddings, _types.StylesPanelSections.Position, _types.StylesPanelSections.Borders, _types.StylesPanelSections.Effects],
13
14
  layout: {
14
15
  height: 300,
15
16
  width: "100%"
@@ -10,6 +10,7 @@ const SEED_DATA = {
10
10
  tag: "SwiperItem",
11
11
  description: "Swiper item",
12
12
  category: _types.COMPONENT_TYPES.swiper,
13
- props: {}
13
+ props: {},
14
+ stylesPanelSections: _types.CONTAINER_COMPONENT_STYLES_SECTIONS
14
15
  };
15
16
  exports.SEED_DATA = SEED_DATA;
@@ -10,6 +10,7 @@ const SEED_DATA = {
10
10
  tag: "TextInput",
11
11
  description: "An input field that allows for multiple lines.",
12
12
  category: _types.COMPONENT_TYPES.input,
13
+ stylesPanelSections: [_types.StylesPanelSections.Typography, _types.StylesPanelSections.Background, _types.StylesPanelSections.Size, _types.StylesPanelSections.MarginsAndPaddings, _types.StylesPanelSections.Position, _types.StylesPanelSections.Borders, _types.StylesPanelSections.Effects],
13
14
  layout: {
14
15
  borderLeftWidth: 1,
15
16
  borderRightWidth: 1,
@@ -279,6 +279,7 @@ const SEED_DATA = [{
279
279
  preview_image_url: "{CLOUDINARY_URL}/Textfield.png",
280
280
  supports_list_render: false,
281
281
  triggers: SEED_DATA_TRIGGERS,
282
+ stylesPanelSections: [_types.StylesPanelSections.Typography, _types.StylesPanelSections.Background, _types.StylesPanelSections.Size, _types.StylesPanelSections.MarginsAndPaddings, _types.StylesPanelSections.Position, _types.StylesPanelSections.Borders, _types.StylesPanelSections.Effects],
282
283
  props: {
283
284
  ...SEED_DATA_PROPS,
284
285
  type: {
@@ -10,13 +10,47 @@ const DeckSwiper = _ref => {
10
10
  verticalEnabled = true,
11
11
  horizontalEnabled = true,
12
12
  visibleCardCount = 1,
13
+ data,
14
+ keyExtractor,
15
+ renderItem,
13
16
  style,
14
17
  children
15
18
  } = _ref;
19
+ //Both 'renderItem' and 'data' are optional to allow direct children. But if one is included, both need to be included
20
+ if (data && !renderItem || renderItem && !data) {
21
+ throw new Error("'renderItem' and 'data' need to both be provided to lazily render. Either remove them entirley or include both");
22
+ }
23
+ if (data && renderItem && children) {
24
+ console.warn("'children' of DeckSwiper ignored due to usage of 'data' and 'renderItem'");
25
+ }
16
26
  const childrenArray = React.useMemo(() => React.Children.toArray(children), [children]);
17
27
 
18
28
  // an array of indices based on children count
19
29
  const cardsFillerData = React.useMemo(() => Array.from(Array(childrenArray.length).keys()), [childrenArray]);
30
+ const cardsData = data || cardsFillerData;
31
+ const renderCard = (card, index) => {
32
+ if (renderItem) {
33
+ return renderItem({
34
+ item: card,
35
+ index
36
+ });
37
+ } else {
38
+ return /*#__PURE__*/React.createElement(React.Fragment, null, childrenArray[index]);
39
+ }
40
+ };
41
+ const renderFirstCard = () => {
42
+ if (cardsData.length) {
43
+ return renderCard(cardsData[0], 0);
44
+ }
45
+ return undefined;
46
+ };
47
+ const cardKeyExtractor = card => {
48
+ if (keyExtractor) {
49
+ return keyExtractor(card);
50
+ } else {
51
+ return card === null || card === void 0 ? void 0 : card.toString();
52
+ }
53
+ };
20
54
 
21
55
  /**
22
56
  * By default react-native-deck-swiper positions everything with absolute position.
@@ -30,10 +64,10 @@ const DeckSwiper = _ref => {
30
64
 
31
65
  return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(View, {
32
66
  style: styles.containerHeightFiller
33
- }, childrenArray.length && childrenArray[0]), /*#__PURE__*/React.createElement(DeckSwiperComponent, {
34
- cards: cardsFillerData,
35
- renderCard: (_, i) => /*#__PURE__*/React.createElement(React.Fragment, null, childrenArray[i]),
36
- keyExtractor: card => card === null || card === void 0 ? void 0 : card.toString(),
67
+ }, renderFirstCard()), /*#__PURE__*/React.createElement(DeckSwiperComponent, {
68
+ cards: cardsData,
69
+ renderCard: renderCard,
70
+ keyExtractor: cardKeyExtractor,
37
71
  containerStyle: StyleSheet.flatten([styles.cardsContainer, style]),
38
72
  cardStyle: styles.card,
39
73
  onSwiped: onIndexChanged,
@@ -37,6 +37,9 @@ const isWeb = Platform.OS === "web";
37
37
  const unstyledColor = "rgba(165, 173, 183, 1)";
38
38
  const disabledColor = "rgb(240, 240, 240)";
39
39
  const errorColor = "rgba(255, 69, 100, 1)";
40
+
41
+ //Empty string for 'value' is treated as a non-value
42
+ //reason: Draftbit uses empty string as initial value for string state*/
40
43
  const Picker = _ref => {
41
44
  var _find$label, _find;
42
45
  let {
@@ -67,12 +70,12 @@ const Picker = _ref => {
67
70
  setPickerVisible(!pickerVisible);
68
71
  };
69
72
  React.useEffect(() => {
70
- if (value != null) {
73
+ if (value != null && value !== "") {
71
74
  setInternalValue(value);
72
75
  }
73
76
  }, [value]);
74
77
  React.useEffect(() => {
75
- if (defaultValue != null) {
78
+ if (defaultValue != null && defaultValue !== "") {
76
79
  setInternalValue(defaultValue);
77
80
  }
78
81
  }, [defaultValue]);
@@ -87,11 +90,7 @@ const Picker = _ref => {
87
90
  Keyboard.dismiss();
88
91
  }
89
92
  }, [pickerVisible, autoDismissKeyboard]);
90
- const normalizedOptions = normalizeOptions(options);
91
- const pickerOptions = placeholder ? [{
92
- value: placeholder,
93
- label: placeholder
94
- }, ...normalizedOptions] : normalizedOptions;
93
+ const pickerOptions = normalizeOptions(options);
95
94
  const {
96
95
  viewStyles,
97
96
  textStyles
@@ -191,10 +190,10 @@ const Picker = _ref => {
191
190
  } : {})
192
191
  };
193
192
  const handleValueChange = (newValue, itemIndex) => {
194
- if (!placeholder || itemIndex > 0) {
193
+ if (newValue !== "") {
195
194
  onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(newValue, itemIndex);
195
+ setInternalValue(newValue);
196
196
  }
197
- setInternalValue(newValue);
198
197
  };
199
198
  return (
200
199
  /*#__PURE__*/
@@ -4,6 +4,7 @@ import { StyleSheet, ScrollView, View } from "react-native";
4
4
  import { SafeAreaView } from "react-native-safe-area-context";
5
5
  import { withTheme } from "../theming";
6
6
  function ScreenContainer(_ref) {
7
+ var _StyleSheet$flatten;
7
8
  let {
8
9
  scrollable = false,
9
10
  hasSafeArea = false,
@@ -14,7 +15,7 @@ function ScreenContainer(_ref) {
14
15
  children,
15
16
  ...rest
16
17
  } = _ref;
17
- const backgroundColor = theme.colors.background;
18
+ const backgroundColor = ((_StyleSheet$flatten = StyleSheet.flatten(style)) === null || _StyleSheet$flatten === void 0 ? void 0 : _StyleSheet$flatten.backgroundColor) || theme.colors.background;
18
19
  const edges = ["left", "right"];
19
20
  if (hasSafeArea || hasTopSafeArea) {
20
21
  edges.push("top");
@@ -1,6 +1,3 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
1
  // @ts-nocheck
5
2
  import React, { Component } from "react";
6
3
  import { View, Text, StyleSheet, Animated, TouchableWithoutFeedback } from "react-native";
@@ -12,7 +9,7 @@ const STEP_STATUS = {
12
9
  export default class StepIndicator extends Component {
13
10
  constructor(props) {
14
11
  super(props);
15
- _defineProperty(this, "renderProgressBarBackground", () => {
12
+ this.renderProgressBarBackground = () => {
16
13
  const {
17
14
  stepCount,
18
15
  direction
@@ -55,8 +52,8 @@ export default class StepIndicator extends Component {
55
52
  },
56
53
  style: progressBarBackgroundStyle
57
54
  });
58
- });
59
- _defineProperty(this, "renderProgressBar", () => {
55
+ };
56
+ this.renderProgressBar = () => {
60
57
  const {
61
58
  stepCount,
62
59
  direction
@@ -86,8 +83,8 @@ export default class StepIndicator extends Component {
86
83
  return /*#__PURE__*/React.createElement(Animated.View, {
87
84
  style: progressBarStyle
88
85
  });
89
- });
90
- _defineProperty(this, "renderStepIndicator", () => {
86
+ };
87
+ this.renderStepIndicator = () => {
91
88
  let steps = [];
92
89
  const {
93
90
  stepCount,
@@ -118,8 +115,8 @@ export default class StepIndicator extends Component {
118
115
  height: this.state.customStyles.currentStepIndicatorSize
119
116
  }]
120
117
  }, steps);
121
- });
122
- _defineProperty(this, "renderStepLabels", () => {
118
+ };
119
+ this.renderStepLabels = () => {
123
120
  const {
124
121
  labels,
125
122
  direction,
@@ -161,8 +158,8 @@ export default class StepIndicator extends Component {
161
158
  alignItems: this.state.customStyles.labelAlign
162
159
  }]
163
160
  }, labelViews);
164
- });
165
- _defineProperty(this, "renderStep", position => {
161
+ };
162
+ this.renderStep = position => {
166
163
  const {
167
164
  renderStepIndicator
168
165
  } = this.props;
@@ -229,8 +226,8 @@ export default class StepIndicator extends Component {
229
226
  }) : /*#__PURE__*/React.createElement(Text, {
230
227
  style: indicatorLabelStyle
231
228
  }, "".concat(position + 1)));
232
- });
233
- _defineProperty(this, "getStepStatus", stepPosition => {
229
+ };
230
+ this.getStepStatus = stepPosition => {
234
231
  const {
235
232
  currentPosition
236
233
  } = this.props;
@@ -241,8 +238,8 @@ export default class StepIndicator extends Component {
241
238
  } else {
242
239
  return STEP_STATUS.UNFINISHED;
243
240
  }
244
- });
245
- _defineProperty(this, "onCurrentPositionChanged", position => {
241
+ };
242
+ this.onCurrentPositionChanged = position => {
246
243
  let {
247
244
  stepCount
248
245
  } = this.props;
@@ -262,7 +259,7 @@ export default class StepIndicator extends Component {
262
259
  toValue: this.state.customStyles.currentStepIndicatorSize / 2,
263
260
  duration: 100
264
261
  })])]).start();
265
- });
262
+ };
266
263
  const defaultStyles = {
267
264
  stepIndicatorSize: 30,
268
265
  currentStepIndicatorSize: 40,
@@ -328,7 +325,6 @@ export default class StepIndicator extends Component {
328
325
  // ),
329
326
  // }));
330
327
  // }
331
-
332
328
  if (prevProps.currentPosition !== this.props.currentPosition) {
333
329
  this.onCurrentPositionChanged(this.props.currentPosition);
334
330
  }
@@ -369,6 +365,50 @@ const styles = StyleSheet.create({
369
365
  justifyContent: "center"
370
366
  }
371
367
  });
368
+ StepIndicator.defaultProps = {
369
+ currentPosition: 0,
370
+ stepCount: 5,
371
+ customStyles: {},
372
+ direction: "horizontal"
373
+ };rrentPositionChanged(this.props.currentPosition);
374
+ }
375
+ }
376
+ }
377
+ const styles = StyleSheet.create({
378
+ container: {
379
+ backgroundColor: "transparent"
380
+ },
381
+ stepIndicatorContainer: {
382
+ flexDirection: "row",
383
+ alignItems: "center",
384
+ justifyContent: "space-around",
385
+ backgroundColor: "transparent"
386
+ },
387
+ stepLabelsContainer: {
388
+ justifyContent: "space-around"
389
+ },
390
+ step: {
391
+ alignItems: "center",
392
+ justifyContent: "center",
393
+ zIndex: 2
394
+ },
395
+ stepContainer: {
396
+ flex: 1,
397
+ flexDirection: "row",
398
+ alignItems: "center",
399
+ justifyContent: "center"
400
+ },
401
+ stepLabel: {
402
+ fontSize: 12,
403
+ textAlign: "center",
404
+ fontWeight: "500"
405
+ },
406
+ stepLabelItem: {
407
+ flex: 1,
408
+ alignItems: "center",
409
+ justifyContent: "center"
410
+ }
411
+ });
372
412
  StepIndicator.defaultProps = {
373
413
  currentPosition: 0,
374
414
  stepCount: 5,
@@ -31,7 +31,6 @@ export { ActionSheet, ActionSheetItem, ActionSheetCancel } from "./components/Ac
31
31
  export { Swiper, SwiperItem } from "./components/Swiper";
32
32
  export { Center, Circle, Square, Row, Stack, Spacer } from "./components/Layout";
33
33
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup } from "./components/RadioButton/index";
34
- export { default as Shadow } from "./components/Shadow";
35
34
  export { DeckSwiper, DeckSwiperCard } from "./components/DeckSwiper";
36
35
 
37
36
  /* Deprecated: Fix or Delete! */
@@ -1,9 +1,10 @@
1
- import { COMPONENT_TYPES, createNumberProp, createIconProp, createTextProp, createStaticBoolProp, createColorProp } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createNumberProp, createIconProp, createTextProp, createStaticBoolProp, createColorProp, StylesPanelSections } from "@draftbit/types";
2
2
  export const SEED_DATA = {
3
3
  name: "Accordion",
4
4
  tag: "AccordionGroup",
5
5
  description: "An expandable container containing components",
6
6
  category: COMPONENT_TYPES.container,
7
+ stylesPanelSections: [StylesPanelSections.LayoutSelectedItem, StylesPanelSections.Background, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position, StylesPanelSections.Borders, StylesPanelSections.Effects],
7
8
  layout: {
8
9
  paddingTop: 8,
9
10
  paddingRight: 8,
@@ -1,9 +1,10 @@
1
- import { COMPONENT_TYPES, createIconProp, createTextProp, createColorProp } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createIconProp, createTextProp, createColorProp, CONTAINER_COMPONENT_STYLES_SECTIONS } from "@draftbit/types";
2
2
  export const SEED_DATA = {
3
3
  name: "Accordion Item",
4
4
  tag: "AccordionItem",
5
5
  description: "Item to be used in Accordion",
6
6
  category: COMPONENT_TYPES.deprecated,
7
+ stylesPanelSections: CONTAINER_COMPONENT_STYLES_SECTIONS,
7
8
  props: {
8
9
  icon: createIconProp(),
9
10
  label: createTextProp({
@@ -1,9 +1,10 @@
1
- import { COMPONENT_TYPES, createStaticBoolProp, GROUPS } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createStaticBoolProp, GROUPS, StylesPanelSections } from "@draftbit/types";
2
2
  export const SEED_DATA = {
3
3
  name: "Action Sheet",
4
4
  tag: "ActionSheet",
5
5
  description: "Action Sheet container",
6
6
  category: COMPONENT_TYPES.actionsheet,
7
+ stylesPanelSections: [StylesPanelSections.Size, StylesPanelSections.Margins],
7
8
  props: {
8
9
  visible: createStaticBoolProp({
9
10
  group: GROUPS.data,
@@ -1,8 +1,9 @@
1
- import { COMPONENT_TYPES, createActionProp, createColorProp, createTextProp, GROUPS, Triggers } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createActionProp, createColorProp, createTextProp, GROUPS, Triggers, StylesPanelSections } from "@draftbit/types";
2
2
  export const SEED_DATA = {
3
3
  name: "Action Sheet Cancel",
4
4
  tag: "ActionSheetCancel",
5
5
  description: "Action Sheet cancel",
6
+ stylesPanelSections: [StylesPanelSections.Size, StylesPanelSections.Margins],
6
7
  category: COMPONENT_TYPES.actionsheet,
7
8
  triggers: [Triggers.OnPress],
8
9
  props: {
@@ -1,9 +1,10 @@
1
- import { COMPONENT_TYPES, createActionProp, createColorProp, createTextProp, GROUPS, Triggers } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createActionProp, createColorProp, createTextProp, GROUPS, Triggers, StylesPanelSections } from "@draftbit/types";
2
2
  export const SEED_DATA = {
3
3
  name: "Action Sheet Item",
4
4
  tag: "ActionSheetItem",
5
5
  description: "Action Sheet item",
6
6
  category: COMPONENT_TYPES.actionsheet,
7
+ stylesPanelSections: [StylesPanelSections.Size, StylesPanelSections.Margins],
7
8
  triggers: [Triggers.OnPress],
8
9
  layout: {
9
10
  textAlign: "center"