@draftbit/core 47.0.1-54c307.2 → 47.0.1-9e8c6d.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 (97) hide show
  1. package/lib/commonjs/components/Button.js +3 -3
  2. package/lib/commonjs/components/Checkbox/Checkbox.js +1 -3
  3. package/lib/commonjs/components/Checkbox/CheckboxGroupRow.js +1 -2
  4. package/lib/commonjs/components/Checkbox/CheckboxRow.js +1 -2
  5. package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1
  6. package/lib/commonjs/components/DeprecatedButton.js +3 -27
  7. package/lib/commonjs/components/DeprecatedFAB.js +1 -2
  8. package/lib/commonjs/components/Layout.js +40 -19
  9. package/lib/commonjs/components/Portal/PortalConsumer.js +22 -7
  10. package/lib/commonjs/components/Pressable.js +37 -0
  11. package/lib/commonjs/components/ProgressBar.js +37 -7
  12. package/lib/commonjs/components/Swiper/Swiper.js +2 -0
  13. package/lib/commonjs/components/Touchable.js +8 -3
  14. package/lib/commonjs/constants.js +1 -1
  15. package/lib/commonjs/index.js +7 -0
  16. package/lib/commonjs/mappings/Button.js +39 -10
  17. package/lib/commonjs/mappings/FlashList.js +45 -2
  18. package/lib/commonjs/mappings/FlatList.js +12 -0
  19. package/lib/commonjs/mappings/Swiper.js +2 -0
  20. package/lib/commonjs/mappings/Touchable.js +47 -7
  21. package/lib/module/components/Button.js +3 -3
  22. package/lib/module/components/Checkbox/Checkbox.js +2 -3
  23. package/lib/module/components/Checkbox/CheckboxGroupRow.js +2 -3
  24. package/lib/module/components/Checkbox/CheckboxRow.js +2 -3
  25. package/lib/module/components/DatePicker/DatePicker.js +1 -1
  26. package/lib/module/components/DeprecatedButton.js +4 -28
  27. package/lib/module/components/DeprecatedFAB.js +2 -3
  28. package/lib/module/components/Pressable.js +30 -0
  29. package/lib/module/components/Swiper/Swiper.js +2 -0
  30. package/lib/module/components/Touchable.js +8 -3
  31. package/lib/module/constants.js +1 -0
  32. package/lib/module/index.js +1 -0
  33. package/lib/module/mappings/Button.js +40 -11
  34. package/lib/module/mappings/FlashList.js +46 -3
  35. package/lib/module/mappings/FlatList.js +13 -1
  36. package/lib/module/mappings/Swiper.js +3 -1
  37. package/lib/module/mappings/Touchable.js +49 -9
  38. package/lib/typescript/src/components/Button.d.ts.map +1 -1
  39. package/lib/typescript/src/components/Checkbox/Checkbox.d.ts +2 -2
  40. package/lib/typescript/src/components/Checkbox/Checkbox.d.ts.map +1 -1
  41. package/lib/typescript/src/components/Checkbox/CheckboxGroupRow.d.ts.map +1 -1
  42. package/lib/typescript/src/components/Checkbox/CheckboxRow.d.ts.map +1 -1
  43. package/lib/typescript/src/components/DeprecatedButton.d.ts +2 -2
  44. package/lib/typescript/src/components/DeprecatedButton.d.ts.map +1 -1
  45. package/lib/typescript/src/components/DeprecatedFAB.d.ts +2 -2
  46. package/lib/typescript/src/components/DeprecatedFAB.d.ts.map +1 -1
  47. package/lib/typescript/src/components/Pressable.d.ts +10 -0
  48. package/lib/typescript/src/components/Pressable.d.ts.map +1 -0
  49. package/lib/typescript/src/components/Swiper/Swiper.d.ts +2 -1
  50. package/lib/typescript/src/components/Swiper/Swiper.d.ts.map +1 -1
  51. package/lib/typescript/src/components/Touchable.d.ts +5 -6
  52. package/lib/typescript/src/components/Touchable.d.ts.map +1 -1
  53. package/lib/typescript/src/index.d.ts +1 -0
  54. package/lib/typescript/src/index.d.ts.map +1 -1
  55. package/lib/typescript/src/mappings/Button.d.ts +113 -4
  56. package/lib/typescript/src/mappings/Button.d.ts.map +1 -1
  57. package/lib/typescript/src/mappings/FlashList.d.ts +112 -2
  58. package/lib/typescript/src/mappings/FlashList.d.ts.map +1 -1
  59. package/lib/typescript/src/mappings/FlatList.d.ts +42 -0
  60. package/lib/typescript/src/mappings/FlatList.d.ts.map +1 -1
  61. package/lib/typescript/src/mappings/Swiper.d.ts +11 -0
  62. package/lib/typescript/src/mappings/Swiper.d.ts.map +1 -1
  63. package/lib/typescript/src/mappings/Touchable.d.ts +59 -5
  64. package/lib/typescript/src/mappings/Touchable.d.ts.map +1 -1
  65. package/package.json +3 -3
  66. package/src/components/Button.js +3 -3
  67. package/src/components/Button.tsx +14 -4
  68. package/src/components/Checkbox/Checkbox.js +2 -3
  69. package/src/components/Checkbox/Checkbox.tsx +5 -7
  70. package/src/components/Checkbox/CheckboxGroupRow.js +2 -3
  71. package/src/components/Checkbox/CheckboxGroupRow.tsx +3 -3
  72. package/src/components/Checkbox/CheckboxRow.js +2 -3
  73. package/src/components/Checkbox/CheckboxRow.tsx +3 -3
  74. package/src/components/DatePicker/DatePicker.js +1 -1
  75. package/src/components/DatePicker/DatePicker.tsx +1 -1
  76. package/src/components/DeprecatedButton.js +4 -16
  77. package/src/components/DeprecatedButton.tsx +7 -31
  78. package/src/components/DeprecatedFAB.js +2 -3
  79. package/src/components/DeprecatedFAB.tsx +5 -5
  80. package/src/components/Pressable.js +12 -0
  81. package/src/components/Pressable.tsx +44 -0
  82. package/src/components/Swiper/Swiper.js +2 -2
  83. package/src/components/Swiper/Swiper.tsx +3 -0
  84. package/src/components/Touchable.js +3 -3
  85. package/src/components/Touchable.tsx +11 -7
  86. package/src/index.js +1 -0
  87. package/src/index.tsx +1 -0
  88. package/src/mappings/Button.js +39 -10
  89. package/src/mappings/Button.ts +41 -10
  90. package/src/mappings/FlashList.js +77 -31
  91. package/src/mappings/FlashList.ts +82 -30
  92. package/src/mappings/FlatList.js +13 -1
  93. package/src/mappings/FlatList.ts +16 -0
  94. package/src/mappings/Swiper.js +3 -1
  95. package/src/mappings/Swiper.ts +4 -0
  96. package/src/mappings/Touchable.js +50 -7
  97. package/src/mappings/Touchable.ts +53 -6
@@ -5,7 +5,42 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SEED_DATA = void 0;
7
7
  var _types = require("@draftbit/types");
8
- const SEED_DATA = {
8
+ const SEED_DATA = [{
9
+ name: "Masonry List",
10
+ tag: "MasonryFlashList",
11
+ description: "Masonry Flashlist by Shopify",
12
+ packageName: "@shopify/flash-list",
13
+ category: _types.COMPONENT_TYPES.data,
14
+ stylesPanelSections: _types.CONTAINER_COMPONENT_STYLES_SECTIONS,
15
+ layout: {
16
+ flex: 1
17
+ },
18
+ triggers: [_types.Triggers.OnRefresh, _types.Triggers.OnEndReached],
19
+ props: {
20
+ onRefresh: (0, _types.createActionProp)(),
21
+ onEndReached: (0, _types.createActionProp)(),
22
+ numColumns: (0, _types.createNumColumnsType)({
23
+ editable: true
24
+ }),
25
+ estimatedItemSize: (0, _types.createNumberProp)({
26
+ group: _types.GROUPS.basic,
27
+ label: "Est. Item Size",
28
+ description: "Approximate size of the items before rendering.",
29
+ defaultValue: 50,
30
+ step: 1,
31
+ precision: 0
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."
36
+ }),
37
+ onEndReachedThreshold: (0, _types.createStaticNumberProp)({
38
+ label: "End Reached Threshold",
39
+ 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.",
40
+ defaultValue: 0.5
41
+ })
42
+ }
43
+ }, {
9
44
  name: "FlashList",
10
45
  tag: "FlashList",
11
46
  description: "Flashlist by Shopify",
@@ -15,7 +50,10 @@ const SEED_DATA = {
15
50
  layout: {
16
51
  flex: 1
17
52
  },
53
+ triggers: [_types.Triggers.OnRefresh, _types.Triggers.OnEndReached],
18
54
  props: {
55
+ onRefresh: (0, _types.createActionProp)(),
56
+ onEndReached: (0, _types.createActionProp)(),
19
57
  estimatedItemSize: (0, _types.createNumberProp)({
20
58
  group: _types.GROUPS.basic,
21
59
  label: "Est. Item Size",
@@ -34,7 +72,12 @@ const SEED_DATA = {
34
72
  }),
35
73
  numColumns: (0, _types.createNumColumnsType)({
36
74
  editable: true
75
+ }),
76
+ onEndReachedThreshold: (0, _types.createStaticNumberProp)({
77
+ label: "End Reached Threshold",
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.",
79
+ defaultValue: 0.5
37
80
  })
38
81
  }
39
- };
82
+ }];
40
83
  exports.SEED_DATA = SEED_DATA;
@@ -14,7 +14,10 @@ const SEED_DATA = {
14
14
  layout: {
15
15
  flex: 1
16
16
  },
17
+ triggers: [_types.Triggers.OnRefresh, _types.Triggers.OnEndReached],
17
18
  props: {
19
+ onRefresh: (0, _types.createActionProp)(),
20
+ onEndReached: (0, _types.createActionProp)(),
18
21
  horizontal: (0, _types.createStaticBoolProp)({
19
22
  label: "Horizontal",
20
23
  description: "Render list horizontally"
@@ -25,6 +28,15 @@ const SEED_DATA = {
25
28
  }),
26
29
  numColumns: (0, _types.createNumColumnsType)({
27
30
  editable: true
31
+ }),
32
+ initialNumToRender: (0, _types.createStaticBoolProp)({
33
+ label: "Initial Num To Render",
34
+ descriprion: "How many items to render in the initial batch"
35
+ }),
36
+ onEndReachedThreshold: (0, _types.createStaticNumberProp)({
37
+ label: "End Reached Threshold",
38
+ 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.",
39
+ defaultValue: 0.5
28
40
  })
29
41
  }
30
42
  };
@@ -14,7 +14,9 @@ const SEED_DATA = {
14
14
  height: 300,
15
15
  width: "100%"
16
16
  },
17
+ triggers: [_types.Triggers.OnIndexChanged],
17
18
  props: {
19
+ onIndexChanged: (0, _types.createActionProp)(),
18
20
  from: (0, _types.createNumberProp)({
19
21
  group: _types.GROUPS.basic,
20
22
  label: "Initial Slide"
@@ -5,16 +5,56 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SEED_DATA = void 0;
7
7
  var _types = require("@draftbit/types");
8
- const SEED_DATA = {
9
- name: "Touchable",
10
- tag: "Touchable",
11
- description: "Simple button with no styles",
12
- category: _types.COMPONENT_TYPES.button,
8
+ const SEED_DATA_PROPS = {
13
9
  stylesPanelSections: [_types.StylesPanelSections.Size, _types.StylesPanelSections.Margins, _types.StylesPanelSections.Borders],
14
10
  layout: {},
15
- triggers: [_types.Triggers.OnPress],
11
+ triggers: [_types.Triggers.OnPress, _types.Triggers.OnLongPress],
16
12
  props: {
17
- onPress: (0, _types.createActionProp)()
13
+ onPress: (0, _types.createActionProp)(),
14
+ onLongPress: (0, _types.createActionProp)(),
15
+ activeOpacity: (0, _types.createStaticNumberProp)({
16
+ label: "Active Opacity",
17
+ description: "The opacity when the button is pressed.",
18
+ defaultValue: 0.8,
19
+ min: 0,
20
+ max: 1,
21
+ step: 0.01,
22
+ precision: 2,
23
+ required: false
24
+ }),
25
+ disabledOpacity: (0, _types.createStaticNumberProp)({
26
+ label: "Disabled Opacity",
27
+ description: "The opacity when the button is disabled.",
28
+ defaultValue: 0.8,
29
+ min: 0,
30
+ max: 1,
31
+ step: 0.01,
32
+ precision: 2,
33
+ required: false
34
+ }),
35
+ delayLongPress: (0, _types.createStaticNumberProp)({
36
+ label: "Delay Long Press",
37
+ description: "Duration (in milliseconds) from onPressIn before onLongPress is called.",
38
+ required: false
39
+ }),
40
+ hitSlop: (0, _types.createStaticNumberProp)({
41
+ label: "Hit Slop",
42
+ description: "Sets additional distance outside of element in which a press can be detected.",
43
+ required: false
44
+ })
18
45
  }
19
46
  };
47
+ const SEED_DATA = [{
48
+ name: "Touchable",
49
+ tag: "Touchable",
50
+ description: "An interactive view with no styles",
51
+ category: _types.COMPONENT_TYPES.button,
52
+ ...SEED_DATA_PROPS
53
+ }, {
54
+ name: "Pressable",
55
+ tag: "Pressable",
56
+ description: "An interactive view with no styles",
57
+ category: _types.COMPONENT_TYPES.button,
58
+ ...SEED_DATA_PROPS
59
+ }];
20
60
  exports.SEED_DATA = SEED_DATA;
@@ -13,10 +13,11 @@ function Base(_ref) {
13
13
  Icon,
14
14
  icon,
15
15
  title,
16
- onPress,
17
16
  loading,
18
17
  disabled,
19
18
  style,
19
+ activeOpacity,
20
+ disabledOpacity,
20
21
  ...props
21
22
  } = _ref;
22
23
  const {
@@ -53,14 +54,13 @@ function Base(_ref) {
53
54
  buttonStyles.justifyContent = "flex-end";
54
55
  }
55
56
  return /*#__PURE__*/React.createElement(Pressable, _extends({
56
- onPress: onPress,
57
57
  disabled: disabled || loading,
58
58
  style: _ref2 => {
59
59
  let {
60
60
  pressed
61
61
  } = _ref2;
62
62
  return [styles.base, {
63
- opacity: pressed || disabled ? 0.75 : 1
63
+ opacity: pressed ? activeOpacity : disabled ? disabledOpacity : 1
64
64
  }, buttonStyles];
65
65
  }
66
66
  }, props), loading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
@@ -1,8 +1,7 @@
1
1
  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); }
2
2
  import * as React from "react";
3
- import { View, StyleSheet } from "react-native";
3
+ import { View, StyleSheet, Pressable } from "react-native";
4
4
  import { useTheme } from "../../theming";
5
- import Touchable from "../Touchable";
6
5
  import { usePrevious } from "../../hooks";
7
6
  const Checkbox = _ref => {
8
7
  let {
@@ -51,7 +50,7 @@ const Checkbox = _ref => {
51
50
  onUncheck === null || onUncheck === void 0 ? void 0 : onUncheck();
52
51
  }
53
52
  };
54
- return /*#__PURE__*/React.createElement(Touchable, _extends({}, rest, {
53
+ return /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, {
55
54
  onPress: handlePress,
56
55
  disabled: disabled,
57
56
  accessibilityState: {
@@ -1,11 +1,10 @@
1
1
  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); }
2
2
  import * as React from "react";
3
- import { StyleSheet, View, Platform } from "react-native";
3
+ import { StyleSheet, View, Platform, Pressable } from "react-native";
4
4
  import Checkbox from "./Checkbox";
5
5
  import Text from "../Text";
6
6
  import { useCheckboxGroupContext } from "./context";
7
7
  import { Direction as GroupDirection } from "./context";
8
- import Touchable from "../Touchable";
9
8
  import { extractStyles } from "../../utilities";
10
9
  export let Direction;
11
10
  (function (Direction) {
@@ -64,7 +63,7 @@ const CheckboxGroupRow = _ref => {
64
63
  textStyles,
65
64
  viewStyles
66
65
  } = extractStyles(style);
67
- return /*#__PURE__*/React.createElement(Touchable, _extends({
66
+ return /*#__PURE__*/React.createElement(Pressable, _extends({
68
67
  onPress: handlePress,
69
68
  style: [styles.mainParent, {
70
69
  flexDirection: direction
@@ -1,11 +1,10 @@
1
1
  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); }
2
2
  import * as React from "react";
3
- import { StyleSheet, View, Platform } from "react-native";
3
+ import { StyleSheet, View, Platform, Pressable } from "react-native";
4
4
  import { isString } from "lodash";
5
5
  import { extractStyles } from "../../utilities";
6
6
  import { usePrevious } from "../../hooks";
7
7
  import Text from "../Text";
8
- import Touchable from "../Touchable";
9
8
  import Checkbox from "./Checkbox";
10
9
  export let Direction;
11
10
  (function (Direction) {
@@ -73,7 +72,7 @@ const CheckboxRow = _ref => {
73
72
  textStyles,
74
73
  viewStyles
75
74
  } = extractStyles(style);
76
- return /*#__PURE__*/React.createElement(Touchable, _extends({
75
+ return /*#__PURE__*/React.createElement(Pressable, _extends({
77
76
  onPress: handlePress,
78
77
  style: [viewStyles, styles.mainParent, {
79
78
  flexDirection: direction
@@ -319,7 +319,7 @@ const DatePicker = _ref => {
319
319
  onFocus: _handleFocus,
320
320
  onBlur: _handleBlur,
321
321
  underlineColorAndroid: "transparent",
322
- style: [inputStyles, textStyles, viewStyles]
322
+ style: [inputStyles, textStyles]
323
323
  }, props))), rightIconName ? /*#__PURE__*/React.createElement(Icon, {
324
324
  name: rightIconName,
325
325
  size: ICON_SIZE,
@@ -1,9 +1,8 @@
1
1
  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); }
2
2
  import * as React from "react";
3
- import { ActivityIndicator, View, Text, StyleSheet } from "react-native";
3
+ import { ActivityIndicator, View, Text, StyleSheet, Pressable } from "react-native";
4
4
  import color from "color";
5
5
  import Config from "./Config";
6
- import Touchable from "./Touchable";
7
6
  import Elevation from "./Elevation";
8
7
  import { withTheme } from "../theming";
9
8
  const Button = _ref => {
@@ -18,7 +17,6 @@ const Button = _ref => {
18
17
  children,
19
18
  onPress,
20
19
  elevation = 0,
21
- style,
22
20
  theme: {
23
21
  colors,
24
22
  disabledOpacity,
@@ -72,41 +70,19 @@ const Button = _ref => {
72
70
  marginRight: -8,
73
71
  width: Config.buttonIconSize
74
72
  }];
75
- const {
76
- margin,
77
- marginEnd,
78
- marginTop,
79
- marginLeft,
80
- marginRight,
81
- marginBottom,
82
- marginHorizontal,
83
- marginVertical,
84
- ...innerStyles
85
- } = StyleSheet.flatten(style || {});
86
- const margins = {
87
- margin,
88
- marginEnd,
89
- marginTop,
90
- marginLeft,
91
- marginRight,
92
- marginBottom,
93
- marginHorizontal,
94
- marginVertical
95
- };
96
73
  return /*#__PURE__*/React.createElement(Elevation, {
97
74
  style: {
98
75
  elevation,
99
- alignSelf: "stretch",
100
- ...margins
76
+ alignSelf: "stretch"
101
77
  }
102
- }, /*#__PURE__*/React.createElement(Touchable, _extends({}, rest, {
78
+ }, /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, {
103
79
  onPress: onPress,
104
80
  accessibilityState: {
105
81
  disabled
106
82
  },
107
83
  accessibilityRole: "button",
108
84
  disabled: disabled || loading,
109
- style: [styles.button, buttonStyle, innerStyles]
85
+ style: [styles.button, buttonStyle]
110
86
  }), /*#__PURE__*/React.createElement(View, {
111
87
  style: styles.content
112
88
  }, icon && loading !== true ? /*#__PURE__*/React.createElement(View, {
@@ -1,10 +1,9 @@
1
1
  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); }
2
2
  import * as React from "react";
3
- import { ActivityIndicator, View, StyleSheet } from "react-native";
3
+ import { ActivityIndicator, View, StyleSheet, Pressable } from "react-native";
4
4
  import color from "color";
5
5
  import Config from "./Config";
6
6
  import Text from "./Text";
7
- import Touchable from "./Touchable";
8
7
  import Elevation from "./Elevation";
9
8
  import { withTheme } from "../theming";
10
9
  const FAB = _ref => {
@@ -98,7 +97,7 @@ const FAB = _ref => {
98
97
  style: [{
99
98
  elevation
100
99
  }, style]
101
- }, /*#__PURE__*/React.createElement(Touchable, _extends({}, rest, {
100
+ }, /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, {
102
101
  onPress: onPress,
103
102
  accessibilityState: {
104
103
  disabled
@@ -0,0 +1,30 @@
1
+ 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); }
2
+ import React from "react";
3
+ import { Pressable as NativePressable } from "react-native";
4
+ export default function Pressable(_ref) {
5
+ let {
6
+ children,
7
+ disabled,
8
+ onPress,
9
+ activeOpacity,
10
+ disabledOpacity,
11
+ delayLongPress,
12
+ hitSlop,
13
+ style,
14
+ ...props
15
+ } = _ref;
16
+ return /*#__PURE__*/React.createElement(NativePressable, _extends({
17
+ onPress: onPress,
18
+ disabled: disabled,
19
+ delayLongPress: delayLongPress ? delayLongPress : 500,
20
+ hitSlop: hitSlop ? hitSlop : 8,
21
+ style: _ref2 => {
22
+ let {
23
+ pressed
24
+ } = _ref2;
25
+ return [{
26
+ opacity: pressed ? activeOpacity : disabled ? disabledOpacity : 1
27
+ }, style];
28
+ }
29
+ }, props), children);
30
+ }
@@ -18,6 +18,7 @@ const Swiper = _ref => {
18
18
  keyExtractor,
19
19
  renderItem,
20
20
  children,
21
+ onIndexChanged,
21
22
  style
22
23
  } = _ref;
23
24
  return /*#__PURE__*/React.createElement(View, {
@@ -27,6 +28,7 @@ const Swiper = _ref => {
27
28
  loop: loop,
28
29
  timeout: timeout,
29
30
  vertical: vertical,
31
+ onIndexChanged: onIndexChanged,
30
32
  controlsProps: {
31
33
  prevTitle,
32
34
  nextTitle,
@@ -6,19 +6,24 @@ export default function Touchable(_ref) {
6
6
  children,
7
7
  disabled,
8
8
  onPress,
9
+ activeOpacity,
10
+ disabledOpacity,
11
+ delayLongPress,
12
+ hitSlop,
9
13
  style,
10
14
  ...props
11
15
  } = _ref;
12
16
  return /*#__PURE__*/React.createElement(Pressable, _extends({
13
- onPress: onPress,
14
17
  disabled: disabled,
15
- hitSlop: 8,
18
+ onPress: onPress,
19
+ delayLongPress: delayLongPress ? delayLongPress : 500,
20
+ hitSlop: hitSlop ? hitSlop : 8,
16
21
  style: _ref2 => {
17
22
  let {
18
23
  pressed
19
24
  } = _ref2;
20
25
  return [{
21
- opacity: pressed || disabled ? 0.75 : 1
26
+ opacity: pressed ? activeOpacity : disabled ? disabledOpacity : 1
22
27
  }, style];
23
28
  }
24
29
  }, props), children);
@@ -6,4 +6,5 @@ const DEFAULT_STATUSBAR_HEIGHT_EXPO = expo !== null && expo !== void 0 && expo.C
6
6
  export const APPROX_STATUSBAR_HEIGHT = Platform.select({
7
7
  android: DEFAULT_STATUSBAR_HEIGHT_EXPO,
8
8
  ios: Platform.Version < 11 ? DEFAULT_STATUSBAR_HEIGHT_EXPO : 0
9
+ });O : 0
9
10
  });
@@ -26,6 +26,7 @@ export { default as Switch, SwitchRow } from "./components/Switch";
26
26
  export { default as TextField } from "./components/TextField";
27
27
  export { default as ToggleButton } from "./components/ToggleButton";
28
28
  export { default as Touchable } from "./components/Touchable";
29
+ export { default as Pressable } from "./components/Pressable";
29
30
  export { AccordionGroup, AccordionItem } from "./components/Accordion";
30
31
  export { ActionSheet, ActionSheetItem, ActionSheetCancel } from "./components/ActionSheet";
31
32
  export { Swiper, SwiperItem } from "./components/Swiper";
@@ -1,7 +1,8 @@
1
- import { COMPONENT_TYPES, createIconProp, createTextProp, createDisabledProp, createLoadingProp, createActionProp, Triggers, StylesPanelSections } from "@draftbit/types";
2
- const SEED_DATA_TRIGGERS = [Triggers.OnPress];
1
+ import { COMPONENT_TYPES, createIconProp, createTextProp, createDisabledProp, createLoadingProp, createActionProp, Triggers, StylesPanelSections, createStaticNumberProp } from "@draftbit/types";
2
+ const SEED_DATA_TRIGGERS = [Triggers.OnPress, Triggers.OnLongPress];
3
3
  const SEED_DATA_PROPS = {
4
4
  onPress: createActionProp(),
5
+ onLongPress: createActionProp(),
5
6
  icon: createIconProp({
6
7
  defaultValue: null,
7
8
  required: false
@@ -12,12 +13,37 @@ const SEED_DATA_PROPS = {
12
13
  defaultValue: "Get Started"
13
14
  }),
14
15
  disabled: createDisabledProp(),
15
- loading: createLoadingProp()
16
- };
17
- const LAYOUT = {
18
- backgroundColor: "transparent",
19
- borderRadius: 8,
20
- fontFamily: "system-700"
16
+ loading: createLoadingProp(),
17
+ activeOpacity: createStaticNumberProp({
18
+ label: "Active Opacity",
19
+ description: "Opacity of the button when active.",
20
+ defaultValue: 0.8,
21
+ min: 0,
22
+ max: 1,
23
+ step: 0.01,
24
+ precision: 2,
25
+ required: false
26
+ }),
27
+ disabledOpacity: createStaticNumberProp({
28
+ label: "Disabled Opacity",
29
+ description: "Opacity of the button when disabled.",
30
+ defaultValue: 0.8,
31
+ min: 0,
32
+ max: 1,
33
+ step: 0.01,
34
+ precision: 2,
35
+ required: false
36
+ }),
37
+ delayLongPress: createStaticNumberProp({
38
+ label: "Delay Long Press",
39
+ description: "Duration (in milliseconds) from onPressIn before onLongPress is called.",
40
+ required: false
41
+ }),
42
+ hitSlop: createStaticNumberProp({
43
+ label: "Hit Slop",
44
+ description: "Sets additional distance outside of element in which a press can be detected",
45
+ required: false
46
+ })
21
47
  };
22
48
  export const SEED_DATA = [{
23
49
  name: "Button Outline",
@@ -25,7 +51,8 @@ export const SEED_DATA = [{
25
51
  category: COMPONENT_TYPES.deprecated,
26
52
  stylesPanelSections: [StylesPanelSections.Typography, StylesPanelSections.Background, StylesPanelSections.Borders, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position, StylesPanelSections.Effects],
27
53
  layout: {
28
- ...LAYOUT,
54
+ borderRadius: 8,
55
+ fontFamily: "system-700",
29
56
  backgroundColor: "transparent",
30
57
  borderWidth: 1,
31
58
  textAlign: "center"
@@ -38,7 +65,8 @@ export const SEED_DATA = [{
38
65
  category: COMPONENT_TYPES.deprecated,
39
66
  stylesPanelSections: [StylesPanelSections.Typography, StylesPanelSections.Background, StylesPanelSections.Borders, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position, StylesPanelSections.Effects],
40
67
  layout: {
41
- ...LAYOUT,
68
+ borderRadius: 8,
69
+ fontFamily: "system-700",
42
70
  backgroundColor: "primary",
43
71
  textAlign: "center"
44
72
  },
@@ -50,7 +78,8 @@ export const SEED_DATA = [{
50
78
  category: COMPONENT_TYPES.button,
51
79
  stylesPanelSections: [StylesPanelSections.Typography, StylesPanelSections.Background, StylesPanelSections.Borders, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position, StylesPanelSections.Effects],
52
80
  layout: {
53
- ...LAYOUT,
81
+ borderRadius: 8,
82
+ fontFamily: "system-700",
54
83
  backgroundColor: "primary",
55
84
  textAlign: "center"
56
85
  },
@@ -1,5 +1,40 @@
1
- import { COMPONENT_TYPES, createNumColumnsType, createStaticBoolProp, createNumberProp, CONTAINER_COMPONENT_STYLES_SECTIONS, GROUPS } from "@draftbit/types";
2
- export const SEED_DATA = {
1
+ import { COMPONENT_TYPES, createNumColumnsType, createStaticBoolProp, createNumberProp, CONTAINER_COMPONENT_STYLES_SECTIONS, GROUPS, Triggers, createActionProp, createStaticNumberProp } from "@draftbit/types";
2
+ export const SEED_DATA = [{
3
+ name: "Masonry List",
4
+ tag: "MasonryFlashList",
5
+ description: "Masonry 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
+ triggers: [Triggers.OnRefresh, Triggers.OnEndReached],
13
+ props: {
14
+ onRefresh: createActionProp(),
15
+ onEndReached: createActionProp(),
16
+ numColumns: createNumColumnsType({
17
+ editable: true
18
+ }),
19
+ estimatedItemSize: createNumberProp({
20
+ group: GROUPS.basic,
21
+ label: "Est. Item Size",
22
+ description: "Approximate size of the items before rendering.",
23
+ defaultValue: 50,
24
+ step: 1,
25
+ precision: 0
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."
30
+ }),
31
+ onEndReachedThreshold: createStaticNumberProp({
32
+ label: "End Reached Threshold",
33
+ 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.",
34
+ defaultValue: 0.5
35
+ })
36
+ }
37
+ }, {
3
38
  name: "FlashList",
4
39
  tag: "FlashList",
5
40
  description: "Flashlist by Shopify",
@@ -9,7 +44,10 @@ export const SEED_DATA = {
9
44
  layout: {
10
45
  flex: 1
11
46
  },
47
+ triggers: [Triggers.OnRefresh, Triggers.OnEndReached],
12
48
  props: {
49
+ onRefresh: createActionProp(),
50
+ onEndReached: createActionProp(),
13
51
  estimatedItemSize: createNumberProp({
14
52
  group: GROUPS.basic,
15
53
  label: "Est. Item Size",
@@ -28,6 +66,11 @@ export const SEED_DATA = {
28
66
  }),
29
67
  numColumns: createNumColumnsType({
30
68
  editable: true
69
+ }),
70
+ onEndReachedThreshold: createStaticNumberProp({
71
+ label: "End Reached Threshold",
72
+ 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.",
73
+ defaultValue: 0.5
31
74
  })
32
75
  }
33
- };
76
+ }];
@@ -1,4 +1,4 @@
1
- import { COMPONENT_TYPES, createNumColumnsType, createStaticBoolProp, CONTAINER_COMPONENT_STYLES_SECTIONS } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createNumColumnsType, createStaticBoolProp, CONTAINER_COMPONENT_STYLES_SECTIONS, Triggers, createActionProp, createStaticNumberProp } from "@draftbit/types";
2
2
  export const SEED_DATA = {
3
3
  name: "List",
4
4
  tag: "FlatList",
@@ -8,7 +8,10 @@ export const SEED_DATA = {
8
8
  layout: {
9
9
  flex: 1
10
10
  },
11
+ triggers: [Triggers.OnRefresh, Triggers.OnEndReached],
11
12
  props: {
13
+ onRefresh: createActionProp(),
14
+ onEndReached: createActionProp(),
12
15
  horizontal: createStaticBoolProp({
13
16
  label: "Horizontal",
14
17
  description: "Render list horizontally"
@@ -19,6 +22,15 @@ export const SEED_DATA = {
19
22
  }),
20
23
  numColumns: createNumColumnsType({
21
24
  editable: true
25
+ }),
26
+ initialNumToRender: createStaticBoolProp({
27
+ label: "Initial Num To Render",
28
+ descriprion: "How many items to render in the initial batch"
29
+ }),
30
+ onEndReachedThreshold: createStaticNumberProp({
31
+ label: "End Reached Threshold",
32
+ 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.",
33
+ defaultValue: 0.5
22
34
  })
23
35
  }
24
36
  };
@@ -1,4 +1,4 @@
1
- import { COMPONENT_TYPES, createBoolProp, createNumberProp, createTextProp, createColorProp, GROUPS } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createBoolProp, createNumberProp, createTextProp, createColorProp, GROUPS, Triggers, createActionProp } from "@draftbit/types";
2
2
  export const SEED_DATA = {
3
3
  name: "Swiper",
4
4
  tag: "Swiper",
@@ -8,7 +8,9 @@ export const SEED_DATA = {
8
8
  height: 300,
9
9
  width: "100%"
10
10
  },
11
+ triggers: [Triggers.OnIndexChanged],
11
12
  props: {
13
+ onIndexChanged: createActionProp(),
12
14
  from: createNumberProp({
13
15
  group: GROUPS.basic,
14
16
  label: "Initial Slide"