@draftbit/core 46.7.9-f9c613.2 → 46.8.0
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.
- package/lib/commonjs/components/DatePicker/DatePicker.js +14 -1
- package/lib/commonjs/components/DeckSwiper/DeckSwiper.js +74 -0
- package/lib/commonjs/components/DeckSwiper/DeckSwiperCard.js +34 -0
- package/lib/commonjs/components/DeckSwiper/index.js +20 -0
- package/lib/commonjs/components/Divider.js +1 -14
- package/lib/commonjs/components/Elevation.js +2 -14
- package/lib/commonjs/components/Picker/Picker.js +10 -3
- package/lib/commonjs/index.js +13 -0
- package/lib/commonjs/mappings/DatePicker.js +8 -2
- package/lib/commonjs/mappings/DeckSwiper.js +55 -0
- package/lib/commonjs/mappings/DeckSwiperCard.js +23 -0
- package/lib/commonjs/mappings/Picker.js +5 -0
- package/lib/module/components/DatePicker/DatePicker.js +15 -2
- package/lib/module/components/DeckSwiper/DeckSwiper.js +66 -0
- package/lib/module/components/DeckSwiper/DeckSwiperCard.js +26 -0
- package/lib/module/components/DeckSwiper/index.js +2 -0
- package/lib/module/components/Picker/Picker.js +11 -4
- package/lib/module/index.js +1 -0
- package/lib/module/mappings/DatePicker.js +9 -3
- package/lib/module/mappings/DeckSwiper.js +48 -0
- package/lib/module/mappings/DeckSwiperCard.js +16 -0
- package/lib/module/mappings/Picker.js +6 -1
- package/lib/typescript/src/components/DatePicker/DatePicker.d.ts +1 -0
- package/lib/typescript/src/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/lib/typescript/src/components/DeckSwiper/DeckSwiper.d.ts +15 -0
- package/lib/typescript/src/components/DeckSwiper/DeckSwiper.d.ts.map +1 -0
- package/lib/typescript/src/components/DeckSwiper/DeckSwiperCard.d.ts +13 -0
- package/lib/typescript/src/components/DeckSwiper/DeckSwiperCard.d.ts.map +1 -0
- package/lib/typescript/src/components/DeckSwiper/index.d.ts +3 -0
- package/lib/typescript/src/components/DeckSwiper/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Picker/Picker.d.ts +1 -0
- package/lib/typescript/src/components/Picker/Picker.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/mappings/DatePicker.d.ts +10 -0
- package/lib/typescript/src/mappings/DatePicker.d.ts.map +1 -1
- package/lib/typescript/src/mappings/DeckSwiper.d.ts +86 -0
- package/lib/typescript/src/mappings/DeckSwiper.d.ts.map +1 -0
- package/lib/typescript/src/mappings/DeckSwiperCard.d.ts +16 -0
- package/lib/typescript/src/mappings/DeckSwiperCard.d.ts.map +1 -0
- package/lib/typescript/src/mappings/Picker.d.ts +10 -0
- package/lib/typescript/src/mappings/Picker.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/components/DatePicker/DatePicker.js +8 -3
- package/src/components/DatePicker/DatePicker.tsx +10 -1
- package/src/components/DeckSwiper/DeckSwiper.js +35 -0
- package/src/components/DeckSwiper/DeckSwiper.tsx +94 -0
- package/src/components/DeckSwiper/DeckSwiperCard.js +21 -0
- package/src/components/DeckSwiper/DeckSwiperCard.tsx +41 -0
- package/src/components/DeckSwiper/index.js +2 -0
- package/src/components/DeckSwiper/index.tsx +2 -0
- package/src/components/Picker/Picker.js +9 -3
- package/src/components/Picker/Picker.tsx +14 -2
- package/src/index.js +1 -0
- package/src/index.tsx +2 -0
- package/src/mappings/DatePicker.js +8 -2
- package/src/mappings/DatePicker.ts +8 -1
- package/src/mappings/DeckSwiper.js +48 -0
- package/src/mappings/DeckSwiper.ts +57 -0
- package/src/mappings/DeckSwiperCard.js +16 -0
- package/src/mappings/DeckSwiperCard.ts +20 -0
- package/src/mappings/Picker.js +6 -1
- package/src/mappings/Picker.ts +6 -0
|
@@ -48,6 +48,7 @@ const DatePicker = _ref => {
|
|
|
48
48
|
placeholder,
|
|
49
49
|
borderColor: inputBorderColor,
|
|
50
50
|
borderColorActive: inputBorderColorActive,
|
|
51
|
+
autoDismissKeyboard = true,
|
|
51
52
|
...props
|
|
52
53
|
} = _ref;
|
|
53
54
|
const [value, setValue] = React.useState(date || defaultValue);
|
|
@@ -143,6 +144,11 @@ const DatePicker = _ref => {
|
|
|
143
144
|
clearTimeout(_showPlaceholder());
|
|
144
145
|
};
|
|
145
146
|
}, [focused, label, placeholder]);
|
|
147
|
+
React.useEffect(() => {
|
|
148
|
+
if (pickerVisible && autoDismissKeyboard) {
|
|
149
|
+
_reactNative.Keyboard.dismiss();
|
|
150
|
+
}
|
|
151
|
+
}, [pickerVisible, autoDismissKeyboard]);
|
|
146
152
|
const _handleFocus = () => {
|
|
147
153
|
if (disabled) {
|
|
148
154
|
return;
|
|
@@ -160,7 +166,14 @@ const DatePicker = _ref => {
|
|
|
160
166
|
const MAXIMIZED_LABEL_FONT_SIZE = textStyles.fontSize || typography.subtitle1.fontSize;
|
|
161
167
|
const MINIMIZED_LABEL_FONT_SIZE = labelSize ? labelSize : typography.caption.fontSize;
|
|
162
168
|
const hasActiveOutline = focused;
|
|
163
|
-
let inputTextColor,
|
|
169
|
+
let inputTextColor,
|
|
170
|
+
activeColor,
|
|
171
|
+
underlineColor,
|
|
172
|
+
borderColor = inputBorderColor,
|
|
173
|
+
placeholderColor,
|
|
174
|
+
containerStyle,
|
|
175
|
+
backgroundColor,
|
|
176
|
+
inputStyle;
|
|
164
177
|
inputTextColor = colors.strong;
|
|
165
178
|
if (disabled) {
|
|
166
179
|
activeColor = colors.light;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeDeckSwiper = _interopRequireDefault(require("react-native-deck-swiper"));
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
const DeckSwiper = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
onIndexChanged,
|
|
14
|
+
onEndReached,
|
|
15
|
+
startCardIndex = 0,
|
|
16
|
+
infiniteSwiping = false,
|
|
17
|
+
verticalEnabled = true,
|
|
18
|
+
horizontalEnabled = true,
|
|
19
|
+
visibleCardCount = 1,
|
|
20
|
+
style,
|
|
21
|
+
children
|
|
22
|
+
} = _ref;
|
|
23
|
+
const childrenArray = _react.default.useMemo(() => _react.default.Children.toArray(children), [children]);
|
|
24
|
+
|
|
25
|
+
// an array of indices based on children count
|
|
26
|
+
const cardsFillerData = _react.default.useMemo(() => Array.from(Array(childrenArray.length).keys()), [childrenArray]);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* By default react-native-deck-swiper positions everything with absolute position.
|
|
30
|
+
* To overcome this, it is wrapped in a View to be able to add the component in any layout structure.
|
|
31
|
+
*
|
|
32
|
+
*
|
|
33
|
+
* Since all children of that View are absolutley positioned, the View does not have a height and still looks and behaves weird.
|
|
34
|
+
* To fix/mitage this without setting a static height, the first card is rendered in invisible state to take up space.
|
|
35
|
+
* This effectivley makes the default height of the container be the height of the first card.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
39
|
+
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(),
|
|
44
|
+
containerStyle: _reactNative.StyleSheet.flatten([styles.cardsContainer, style]),
|
|
45
|
+
cardStyle: styles.card,
|
|
46
|
+
onSwiped: onIndexChanged,
|
|
47
|
+
onSwipedAll: onEndReached,
|
|
48
|
+
cardIndex: startCardIndex,
|
|
49
|
+
infinite: infiniteSwiping,
|
|
50
|
+
verticalSwipe: verticalEnabled,
|
|
51
|
+
horizontalSwipe: horizontalEnabled,
|
|
52
|
+
showSecondCard: visibleCardCount > 1,
|
|
53
|
+
stackSize: visibleCardCount,
|
|
54
|
+
backgroundColor: "transparent",
|
|
55
|
+
cardVerticalMargin: 0,
|
|
56
|
+
cardHorizontalMargin: 0
|
|
57
|
+
}));
|
|
58
|
+
};
|
|
59
|
+
const styles = _reactNative.StyleSheet.create({
|
|
60
|
+
cardsContainer: {
|
|
61
|
+
width: "100%"
|
|
62
|
+
},
|
|
63
|
+
card: {
|
|
64
|
+
left: 0,
|
|
65
|
+
right: 0,
|
|
66
|
+
width: "auto",
|
|
67
|
+
height: "auto"
|
|
68
|
+
},
|
|
69
|
+
containerHeightFiller: {
|
|
70
|
+
opacity: 0.0
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
var _default = DeckSwiper;
|
|
74
|
+
exports.default = _default;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _theming = require("../../theming");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
const DeckSwiperCard = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
style,
|
|
14
|
+
children,
|
|
15
|
+
theme
|
|
16
|
+
} = _ref;
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
18
|
+
style: [styles.card, {
|
|
19
|
+
backgroundColor: theme.colors.background,
|
|
20
|
+
borderColor: theme.colors.divider
|
|
21
|
+
}, style]
|
|
22
|
+
}, children);
|
|
23
|
+
};
|
|
24
|
+
const styles = _reactNative.StyleSheet.create({
|
|
25
|
+
card: {
|
|
26
|
+
flex: 1,
|
|
27
|
+
alignItems: "center",
|
|
28
|
+
justifyContent: "center",
|
|
29
|
+
padding: 20,
|
|
30
|
+
borderWidth: 2
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
var _default = (0, _theming.withTheme)(DeckSwiperCard);
|
|
34
|
+
exports.default = _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "DeckSwiper", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _DeckSwiper.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "DeckSwiperCard", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _DeckSwiperCard.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
var _DeckSwiper = _interopRequireDefault(require("./DeckSwiper"));
|
|
19
|
+
var _DeckSwiperCard = _interopRequireDefault(require("./DeckSwiperCard"));
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -9,6 +9,7 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _theming = require("../theming");
|
|
10
10
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
11
|
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; }
|
|
12
|
+
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); }
|
|
12
13
|
const Divider = _ref => {
|
|
13
14
|
let {
|
|
14
15
|
style,
|
|
@@ -18,20 +19,6 @@ const Divider = _ref => {
|
|
|
18
19
|
},
|
|
19
20
|
...rest
|
|
20
21
|
} = _ref;
|
|
21
|
-
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
22
|
-
style: [{
|
|
23
|
-
backgroundColor: color || colors.divider,
|
|
24
|
-
height: _reactNative.StyleSheet.hairlineWidth
|
|
25
|
-
}, style],
|
|
26
|
-
...rest
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
var _default = (0, _theming.withTheme)(Divider);
|
|
30
|
-
exports.default = _default;eme: {
|
|
31
|
-
colors
|
|
32
|
-
},
|
|
33
|
-
...rest
|
|
34
|
-
} = _ref;
|
|
35
22
|
return /*#__PURE__*/React.createElement(_reactNative.View, _extends({
|
|
36
23
|
style: [{
|
|
37
24
|
backgroundColor: color || colors.divider,
|
|
@@ -11,6 +11,7 @@ var _theming = require("../theming");
|
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
13
|
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; }
|
|
14
|
+
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
15
|
/* directly copied from https://github.com/callstack/react-native-paper/blob/main/src/components/Surface.tsx#L62 */
|
|
15
16
|
const Elevation = _ref => {
|
|
16
17
|
let {
|
|
@@ -27,24 +28,11 @@ const Elevation = _ref => {
|
|
|
27
28
|
colors
|
|
28
29
|
} = theme;
|
|
29
30
|
const borderRadius = radius;
|
|
30
|
-
return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
31
|
-
...rest,
|
|
31
|
+
return /*#__PURE__*/React.createElement(_reactNative.Animated.View, _extends({}, rest, {
|
|
32
32
|
style: [{
|
|
33
33
|
borderRadius,
|
|
34
34
|
backgroundColor: colors.surface
|
|
35
35
|
}, elevation ? (0, _shadow.default)(elevation) : null, style]
|
|
36
|
-
}, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
37
|
-
style: {
|
|
38
|
-
overflow: "hidden",
|
|
39
|
-
borderRadius
|
|
40
|
-
}
|
|
41
|
-
}, children));
|
|
42
|
-
};
|
|
43
|
-
var _default = (0, _theming.withTheme)(Elevation);
|
|
44
|
-
exports.default = _default;
|
|
45
|
-
borderRadius,
|
|
46
|
-
backgroundColor: colors.surface
|
|
47
|
-
}, elevation ? (0, _shadow.default)(elevation) : null, style]
|
|
48
36
|
}), /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
49
37
|
style: {
|
|
50
38
|
overflow: "hidden",
|
|
@@ -42,6 +42,7 @@ const {
|
|
|
42
42
|
height: deviceHeight
|
|
43
43
|
} = _reactNative.Dimensions.get("screen");
|
|
44
44
|
const isIos = _reactNative.Platform.OS === "ios";
|
|
45
|
+
const isWeb = _reactNative.Platform.OS === "web";
|
|
45
46
|
const unstyledColor = "rgba(165, 173, 183, 1)";
|
|
46
47
|
const disabledColor = "rgb(240, 240, 240)";
|
|
47
48
|
const errorColor = "rgba(255, 69, 100, 1)";
|
|
@@ -65,7 +66,8 @@ const Picker = _ref => {
|
|
|
65
66
|
leftIconName,
|
|
66
67
|
placeholderTextColor = unstyledColor,
|
|
67
68
|
rightIconName,
|
|
68
|
-
type = "solid"
|
|
69
|
+
type = "solid",
|
|
70
|
+
autoDismissKeyboard = true
|
|
69
71
|
} = _ref;
|
|
70
72
|
const androidPickerRef = React.useRef(undefined);
|
|
71
73
|
const [internalValue, setInternalValue] = React.useState(value || defaultValue);
|
|
@@ -89,6 +91,11 @@ const Picker = _ref => {
|
|
|
89
91
|
androidPickerRef === null || androidPickerRef === void 0 ? void 0 : (_androidPickerRef$cur = androidPickerRef.current) === null || _androidPickerRef$cur === void 0 ? void 0 : _androidPickerRef$cur.focus();
|
|
90
92
|
}
|
|
91
93
|
}, [pickerVisible, androidPickerRef]);
|
|
94
|
+
React.useEffect(() => {
|
|
95
|
+
if (pickerVisible && autoDismissKeyboard) {
|
|
96
|
+
_reactNative.Keyboard.dismiss();
|
|
97
|
+
}
|
|
98
|
+
}, [pickerVisible, autoDismissKeyboard]);
|
|
92
99
|
const normalizedOptions = normalizeOptions(options);
|
|
93
100
|
const pickerOptions = placeholder ? [{
|
|
94
101
|
value: placeholder,
|
|
@@ -233,8 +240,8 @@ const Picker = _ref => {
|
|
|
233
240
|
label: option.label,
|
|
234
241
|
value: option.value,
|
|
235
242
|
key: option.value
|
|
236
|
-
})))))) : null, !isIos && pickerVisible ? /*#__PURE__*/React.createElement(_picker.Picker, {
|
|
237
|
-
enabled:
|
|
243
|
+
})))))) : null, !isIos && (pickerVisible || isWeb) ? /*#__PURE__*/React.createElement(_picker.Picker, {
|
|
244
|
+
enabled: !disabled,
|
|
238
245
|
selectedValue: internalValue,
|
|
239
246
|
onValueChange: handleValueChange,
|
|
240
247
|
style: styles.nonIosPicker,
|
package/lib/commonjs/index.js
CHANGED
|
@@ -123,6 +123,18 @@ Object.defineProperty(exports, "DatePicker", {
|
|
|
123
123
|
return _DatePicker.default;
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
|
+
Object.defineProperty(exports, "DeckSwiper", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function () {
|
|
129
|
+
return _DeckSwiper.DeckSwiper;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
Object.defineProperty(exports, "DeckSwiperCard", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function () {
|
|
135
|
+
return _DeckSwiper.DeckSwiperCard;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
126
138
|
Object.defineProperty(exports, "DefaultTheme", {
|
|
127
139
|
enumerable: true,
|
|
128
140
|
get: function () {
|
|
@@ -401,6 +413,7 @@ var _ActionSheet = require("./components/ActionSheet");
|
|
|
401
413
|
var _Swiper = require("./components/Swiper");
|
|
402
414
|
var _Layout = require("./components/Layout");
|
|
403
415
|
var _index = require("./components/RadioButton/index");
|
|
416
|
+
var _DeckSwiper = require("./components/DeckSwiper");
|
|
404
417
|
var _DatePicker = _interopRequireDefault(require("./components/DatePicker/DatePicker"));
|
|
405
418
|
var _Picker = _interopRequireDefault(require("./components/Picker/Picker"));
|
|
406
419
|
var _ProgressBar = _interopRequireDefault(require("./components/ProgressBar"));
|
|
@@ -37,7 +37,8 @@ const SEED_DATA_PROPS = {
|
|
|
37
37
|
label: "Border Color"
|
|
38
38
|
}),
|
|
39
39
|
borderColorActive: (0, _types.createColorProp)({
|
|
40
|
-
label: "Border Color"
|
|
40
|
+
label: "Active Border Color",
|
|
41
|
+
description: "Color of border when date picker is active"
|
|
41
42
|
}),
|
|
42
43
|
format: {
|
|
43
44
|
label: "Format",
|
|
@@ -169,7 +170,12 @@ const SEED_DATA = [{
|
|
|
169
170
|
editable: true,
|
|
170
171
|
required: true,
|
|
171
172
|
group: _types.GROUPS.basic
|
|
172
|
-
}
|
|
173
|
+
},
|
|
174
|
+
autoDismissKeyboard: (0, _types.createStaticBoolProp)({
|
|
175
|
+
label: "Auto dismiss keyboard",
|
|
176
|
+
description: "Automatically dismiss keyboard when DatePicker is opened",
|
|
177
|
+
defaultValue: true
|
|
178
|
+
})
|
|
173
179
|
}
|
|
174
180
|
}];
|
|
175
181
|
exports.SEED_DATA = SEED_DATA;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SEED_DATA = void 0;
|
|
7
|
+
var _types = require("@draftbit/types");
|
|
8
|
+
const SEED_DATA = {
|
|
9
|
+
name: "Deck Swiper",
|
|
10
|
+
tag: "DeckSwiper",
|
|
11
|
+
description: "Deck swiper container",
|
|
12
|
+
category: _types.COMPONENT_TYPES.swiper,
|
|
13
|
+
stylesPanelSections: _types.BLOCK_STYLES_SECTIONS,
|
|
14
|
+
layout: {
|
|
15
|
+
width: "100%"
|
|
16
|
+
},
|
|
17
|
+
triggers: [_types.Triggers.OnIndexChanged, _types.Triggers.OnEndReached],
|
|
18
|
+
props: {
|
|
19
|
+
onIndexChanged: (0, _types.createActionProp)({
|
|
20
|
+
label: "On index changed",
|
|
21
|
+
description: "Action to execute when swipe to new index"
|
|
22
|
+
}),
|
|
23
|
+
onEndReached: (0, _types.createActionProp)({
|
|
24
|
+
label: "On end reached",
|
|
25
|
+
description: "Action to execute when end of swiping reached"
|
|
26
|
+
}),
|
|
27
|
+
startCardIndex: (0, _types.createStaticNumberProp)({
|
|
28
|
+
label: "Start card index",
|
|
29
|
+
description: "Index of card to start swiping from",
|
|
30
|
+
defaultValue: 0
|
|
31
|
+
}),
|
|
32
|
+
infiniteSwiping: (0, _types.createStaticBoolProp)({
|
|
33
|
+
label: "Infinite swiping",
|
|
34
|
+
description: "Whether to infinitley loop through cards or not"
|
|
35
|
+
}),
|
|
36
|
+
verticalEnabled: (0, _types.createStaticBoolProp)({
|
|
37
|
+
label: "Vertical swipe enabled",
|
|
38
|
+
description: "Whether cards should be swipeable vertically or not",
|
|
39
|
+
defaultValue: true
|
|
40
|
+
}),
|
|
41
|
+
horizontalEnabled: (0, _types.createStaticBoolProp)({
|
|
42
|
+
label: "Horizontal swipe enabled",
|
|
43
|
+
description: "Whether cards should be swipeable horizontally or not",
|
|
44
|
+
defaultValue: true
|
|
45
|
+
}),
|
|
46
|
+
visibleCardCount: (0, _types.createStaticNumberProp)({
|
|
47
|
+
label: "Visible card count",
|
|
48
|
+
description: "Number of cards visible behind (and including) the current card",
|
|
49
|
+
defaultValue: 1,
|
|
50
|
+
min: 1,
|
|
51
|
+
step: 1
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
exports.SEED_DATA = SEED_DATA;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SEED_DATA = void 0;
|
|
7
|
+
var _types = require("@draftbit/types");
|
|
8
|
+
const SEED_DATA = {
|
|
9
|
+
name: "Deck Swiper Card",
|
|
10
|
+
tag: "DeckSwiperCard",
|
|
11
|
+
description: "Single Deck Swiper Card item to be used in DeckSwiper",
|
|
12
|
+
category: _types.COMPONENT_TYPES.swiper,
|
|
13
|
+
stylesPanelSections: _types.CONTAINER_COMPONENT_STYLES_SECTIONS,
|
|
14
|
+
layout: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
alignItems: "center",
|
|
17
|
+
justifyContent: "center",
|
|
18
|
+
padding: 20,
|
|
19
|
+
borderWidth: 2
|
|
20
|
+
},
|
|
21
|
+
props: {}
|
|
22
|
+
};
|
|
23
|
+
exports.SEED_DATA = SEED_DATA;
|
|
@@ -142,6 +142,11 @@ const SEED_DATA = [{
|
|
|
142
142
|
}),
|
|
143
143
|
iconColor: (0, _types.createColorProp)({
|
|
144
144
|
label: "Icon Color"
|
|
145
|
+
}),
|
|
146
|
+
autoDismissKeyboard: (0, _types.createStaticBoolProp)({
|
|
147
|
+
label: "Auto dismiss keyboard",
|
|
148
|
+
description: "Automatically dismiss keyboard when Picker is opened",
|
|
149
|
+
defaultValue: true
|
|
145
150
|
})
|
|
146
151
|
},
|
|
147
152
|
layout: {}
|
|
@@ -1,6 +1,6 @@
|
|
|
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, Animated, Text, StyleSheet, I18nManager, TextInput as NativeTextInput } from "react-native";
|
|
3
|
+
import { View, Animated, Text, StyleSheet, I18nManager, TextInput as NativeTextInput, Keyboard } from "react-native";
|
|
4
4
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
5
5
|
import dateFormat from "dateformat";
|
|
6
6
|
import { withTheme } from "../../theming";
|
|
@@ -39,6 +39,7 @@ const DatePicker = _ref => {
|
|
|
39
39
|
placeholder,
|
|
40
40
|
borderColor: inputBorderColor,
|
|
41
41
|
borderColorActive: inputBorderColorActive,
|
|
42
|
+
autoDismissKeyboard = true,
|
|
42
43
|
...props
|
|
43
44
|
} = _ref;
|
|
44
45
|
const [value, setValue] = React.useState(date || defaultValue);
|
|
@@ -134,6 +135,11 @@ const DatePicker = _ref => {
|
|
|
134
135
|
clearTimeout(_showPlaceholder());
|
|
135
136
|
};
|
|
136
137
|
}, [focused, label, placeholder]);
|
|
138
|
+
React.useEffect(() => {
|
|
139
|
+
if (pickerVisible && autoDismissKeyboard) {
|
|
140
|
+
Keyboard.dismiss();
|
|
141
|
+
}
|
|
142
|
+
}, [pickerVisible, autoDismissKeyboard]);
|
|
137
143
|
const _handleFocus = () => {
|
|
138
144
|
if (disabled) {
|
|
139
145
|
return;
|
|
@@ -151,7 +157,14 @@ const DatePicker = _ref => {
|
|
|
151
157
|
const MAXIMIZED_LABEL_FONT_SIZE = textStyles.fontSize || typography.subtitle1.fontSize;
|
|
152
158
|
const MINIMIZED_LABEL_FONT_SIZE = labelSize ? labelSize : typography.caption.fontSize;
|
|
153
159
|
const hasActiveOutline = focused;
|
|
154
|
-
let inputTextColor,
|
|
160
|
+
let inputTextColor,
|
|
161
|
+
activeColor,
|
|
162
|
+
underlineColor,
|
|
163
|
+
borderColor = inputBorderColor,
|
|
164
|
+
placeholderColor,
|
|
165
|
+
containerStyle,
|
|
166
|
+
backgroundColor,
|
|
167
|
+
inputStyle;
|
|
155
168
|
inputTextColor = colors.strong;
|
|
156
169
|
if (disabled) {
|
|
157
170
|
activeColor = colors.light;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { StyleSheet, View } from "react-native";
|
|
3
|
+
import DeckSwiperComponent from "react-native-deck-swiper";
|
|
4
|
+
const DeckSwiper = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
onIndexChanged,
|
|
7
|
+
onEndReached,
|
|
8
|
+
startCardIndex = 0,
|
|
9
|
+
infiniteSwiping = false,
|
|
10
|
+
verticalEnabled = true,
|
|
11
|
+
horizontalEnabled = true,
|
|
12
|
+
visibleCardCount = 1,
|
|
13
|
+
style,
|
|
14
|
+
children
|
|
15
|
+
} = _ref;
|
|
16
|
+
const childrenArray = React.useMemo(() => React.Children.toArray(children), [children]);
|
|
17
|
+
|
|
18
|
+
// an array of indices based on children count
|
|
19
|
+
const cardsFillerData = React.useMemo(() => Array.from(Array(childrenArray.length).keys()), [childrenArray]);
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* By default react-native-deck-swiper positions everything with absolute position.
|
|
23
|
+
* To overcome this, it is wrapped in a View to be able to add the component in any layout structure.
|
|
24
|
+
*
|
|
25
|
+
*
|
|
26
|
+
* Since all children of that View are absolutley positioned, the View does not have a height and still looks and behaves weird.
|
|
27
|
+
* To fix/mitage this without setting a static height, the first card is rendered in invisible state to take up space.
|
|
28
|
+
* This effectivley makes the default height of the container be the height of the first card.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(View, {
|
|
32
|
+
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(),
|
|
37
|
+
containerStyle: StyleSheet.flatten([styles.cardsContainer, style]),
|
|
38
|
+
cardStyle: styles.card,
|
|
39
|
+
onSwiped: onIndexChanged,
|
|
40
|
+
onSwipedAll: onEndReached,
|
|
41
|
+
cardIndex: startCardIndex,
|
|
42
|
+
infinite: infiniteSwiping,
|
|
43
|
+
verticalSwipe: verticalEnabled,
|
|
44
|
+
horizontalSwipe: horizontalEnabled,
|
|
45
|
+
showSecondCard: visibleCardCount > 1,
|
|
46
|
+
stackSize: visibleCardCount,
|
|
47
|
+
backgroundColor: "transparent",
|
|
48
|
+
cardVerticalMargin: 0,
|
|
49
|
+
cardHorizontalMargin: 0
|
|
50
|
+
}));
|
|
51
|
+
};
|
|
52
|
+
const styles = StyleSheet.create({
|
|
53
|
+
cardsContainer: {
|
|
54
|
+
width: "100%"
|
|
55
|
+
},
|
|
56
|
+
card: {
|
|
57
|
+
left: 0,
|
|
58
|
+
right: 0,
|
|
59
|
+
width: "auto",
|
|
60
|
+
height: "auto"
|
|
61
|
+
},
|
|
62
|
+
containerHeightFiller: {
|
|
63
|
+
opacity: 0.0
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
export default DeckSwiper;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { View, StyleSheet } from "react-native";
|
|
3
|
+
import { withTheme } from "../../theming";
|
|
4
|
+
const DeckSwiperCard = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
style,
|
|
7
|
+
children,
|
|
8
|
+
theme
|
|
9
|
+
} = _ref;
|
|
10
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
11
|
+
style: [styles.card, {
|
|
12
|
+
backgroundColor: theme.colors.background,
|
|
13
|
+
borderColor: theme.colors.divider
|
|
14
|
+
}, style]
|
|
15
|
+
}, children);
|
|
16
|
+
};
|
|
17
|
+
const styles = StyleSheet.create({
|
|
18
|
+
card: {
|
|
19
|
+
flex: 1,
|
|
20
|
+
alignItems: "center",
|
|
21
|
+
justifyContent: "center",
|
|
22
|
+
padding: 20,
|
|
23
|
+
borderWidth: 2
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
export default withTheme(DeckSwiperCard);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { View, StyleSheet, Text, Platform, Dimensions } from "react-native";
|
|
2
|
+
import { View, StyleSheet, Text, Platform, Dimensions, Keyboard } from "react-native";
|
|
3
3
|
import { omit, pickBy, identity, isObject } from "lodash";
|
|
4
4
|
import { SafeAreaView } from "react-native-safe-area-context";
|
|
5
5
|
import { Picker as NativePicker } from "@react-native-picker/picker";
|
|
@@ -33,6 +33,7 @@ const {
|
|
|
33
33
|
height: deviceHeight
|
|
34
34
|
} = Dimensions.get("screen");
|
|
35
35
|
const isIos = Platform.OS === "ios";
|
|
36
|
+
const isWeb = Platform.OS === "web";
|
|
36
37
|
const unstyledColor = "rgba(165, 173, 183, 1)";
|
|
37
38
|
const disabledColor = "rgb(240, 240, 240)";
|
|
38
39
|
const errorColor = "rgba(255, 69, 100, 1)";
|
|
@@ -56,7 +57,8 @@ const Picker = _ref => {
|
|
|
56
57
|
leftIconName,
|
|
57
58
|
placeholderTextColor = unstyledColor,
|
|
58
59
|
rightIconName,
|
|
59
|
-
type = "solid"
|
|
60
|
+
type = "solid",
|
|
61
|
+
autoDismissKeyboard = true
|
|
60
62
|
} = _ref;
|
|
61
63
|
const androidPickerRef = React.useRef(undefined);
|
|
62
64
|
const [internalValue, setInternalValue] = React.useState(value || defaultValue);
|
|
@@ -80,6 +82,11 @@ const Picker = _ref => {
|
|
|
80
82
|
androidPickerRef === null || androidPickerRef === void 0 ? void 0 : (_androidPickerRef$cur = androidPickerRef.current) === null || _androidPickerRef$cur === void 0 ? void 0 : _androidPickerRef$cur.focus();
|
|
81
83
|
}
|
|
82
84
|
}, [pickerVisible, androidPickerRef]);
|
|
85
|
+
React.useEffect(() => {
|
|
86
|
+
if (pickerVisible && autoDismissKeyboard) {
|
|
87
|
+
Keyboard.dismiss();
|
|
88
|
+
}
|
|
89
|
+
}, [pickerVisible, autoDismissKeyboard]);
|
|
83
90
|
const normalizedOptions = normalizeOptions(options);
|
|
84
91
|
const pickerOptions = placeholder ? [{
|
|
85
92
|
value: placeholder,
|
|
@@ -224,8 +231,8 @@ const Picker = _ref => {
|
|
|
224
231
|
label: option.label,
|
|
225
232
|
value: option.value,
|
|
226
233
|
key: option.value
|
|
227
|
-
})))))) : null, !isIos && pickerVisible ? /*#__PURE__*/React.createElement(NativePicker, {
|
|
228
|
-
enabled:
|
|
234
|
+
})))))) : null, !isIos && (pickerVisible || isWeb) ? /*#__PURE__*/React.createElement(NativePicker, {
|
|
235
|
+
enabled: !disabled,
|
|
229
236
|
selectedValue: internalValue,
|
|
230
237
|
onValueChange: handleValueChange,
|
|
231
238
|
style: styles.nonIosPicker,
|
package/lib/module/index.js
CHANGED
|
@@ -31,6 +31,7 @@ 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 { DeckSwiper, DeckSwiperCard } from "./components/DeckSwiper";
|
|
34
35
|
|
|
35
36
|
/* Deprecated: Fix or Delete! */
|
|
36
37
|
export { default as DatePicker } from "./components/DatePicker/DatePicker";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers, StylesPanelSections, createNumberProp, createColorProp } from "@draftbit/types";
|
|
1
|
+
import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers, StylesPanelSections, createNumberProp, createColorProp, createStaticBoolProp } from "@draftbit/types";
|
|
2
2
|
const SEED_DATA_PROPS = {
|
|
3
3
|
mode: {
|
|
4
4
|
label: "Mode",
|
|
@@ -31,7 +31,8 @@ const SEED_DATA_PROPS = {
|
|
|
31
31
|
label: "Border Color"
|
|
32
32
|
}),
|
|
33
33
|
borderColorActive: createColorProp({
|
|
34
|
-
label: "Border Color"
|
|
34
|
+
label: "Active Border Color",
|
|
35
|
+
description: "Color of border when date picker is active"
|
|
35
36
|
}),
|
|
36
37
|
format: {
|
|
37
38
|
label: "Format",
|
|
@@ -163,6 +164,11 @@ export const SEED_DATA = [{
|
|
|
163
164
|
editable: true,
|
|
164
165
|
required: true,
|
|
165
166
|
group: GROUPS.basic
|
|
166
|
-
}
|
|
167
|
+
},
|
|
168
|
+
autoDismissKeyboard: createStaticBoolProp({
|
|
169
|
+
label: "Auto dismiss keyboard",
|
|
170
|
+
description: "Automatically dismiss keyboard when DatePicker is opened",
|
|
171
|
+
defaultValue: true
|
|
172
|
+
})
|
|
167
173
|
}
|
|
168
174
|
}];
|