react-native-timer-picker 2.1.1 → 2.2.1
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/README.md +250 -174
- package/dist/commonjs/components/DurationScroll/DurationScroll.js +417 -0
- package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +1 -0
- package/dist/commonjs/components/DurationScroll/index.js +20 -392
- package/dist/commonjs/components/DurationScroll/index.js.map +1 -1
- package/dist/commonjs/components/DurationScroll/types.js.map +1 -1
- package/dist/commonjs/components/Modal/Modal.js +107 -0
- package/dist/commonjs/components/Modal/Modal.js.map +1 -0
- package/dist/commonjs/components/Modal/index.js +20 -101
- package/dist/commonjs/components/Modal/index.js.map +1 -1
- package/dist/commonjs/components/TimerPicker/TimerPicker.js +225 -0
- package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +1 -0
- package/dist/commonjs/components/TimerPicker/index.js +29 -166
- package/dist/commonjs/components/TimerPicker/index.js.map +1 -1
- package/dist/commonjs/components/TimerPicker/styles.js.map +1 -1
- package/dist/commonjs/components/TimerPicker/types.js.map +1 -1
- package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js +143 -0
- package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js.map +1 -0
- package/dist/commonjs/components/TimerPickerModal/index.js +30 -131
- package/dist/commonjs/components/TimerPickerModal/index.js.map +1 -1
- package/dist/commonjs/components/TimerPickerModal/types.js.map +1 -1
- package/dist/commonjs/index.js +9 -13
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/tests/DurationScroll.test.js +94 -0
- package/dist/commonjs/tests/DurationScroll.test.js.map +1 -1
- package/dist/commonjs/tests/Modal.test.js +79 -2
- package/dist/commonjs/tests/Modal.test.js.map +1 -1
- package/dist/commonjs/tests/TimerPicker.test.js +119 -1
- package/dist/commonjs/tests/TimerPicker.test.js.map +1 -1
- package/dist/commonjs/tests/TimerPickerModal.test.js +120 -0
- package/dist/commonjs/tests/TimerPickerModal.test.js.map +1 -1
- package/dist/commonjs/tests/colorToRgba.test.js +176 -0
- package/dist/commonjs/tests/colorToRgba.test.js.map +1 -0
- package/dist/commonjs/tests/generateNumbers.test.js +350 -0
- package/dist/commonjs/tests/generateNumbers.test.js.map +1 -0
- package/dist/commonjs/tests/getAdjustedLimit.test.js +324 -0
- package/dist/commonjs/tests/getAdjustedLimit.test.js.map +1 -0
- package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js +424 -0
- package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -0
- package/dist/commonjs/tests/getInitialScrollIndex.test.js +396 -0
- package/dist/commonjs/tests/getInitialScrollIndex.test.js.map +1 -0
- package/dist/commonjs/tests/getSafeInitialValue.test.js +497 -0
- package/dist/commonjs/tests/getSafeInitialValue.test.js.map +1 -0
- package/dist/commonjs/tests/padNumber.test.js +301 -0
- package/dist/commonjs/tests/padNumber.test.js.map +1 -0
- package/dist/commonjs/utils/colorToRgba.js +40 -4
- package/dist/commonjs/utils/colorToRgba.js.map +1 -1
- package/dist/commonjs/utils/generateNumbers.js +67 -0
- package/dist/commonjs/utils/generateNumbers.js.map +1 -1
- package/dist/commonjs/utils/getAdjustedLimit.js +28 -3
- package/dist/commonjs/utils/getAdjustedLimit.js.map +1 -1
- package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js +38 -0
- package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
- package/dist/commonjs/utils/getInitialScrollIndex.js +38 -0
- package/dist/commonjs/utils/getInitialScrollIndex.js.map +1 -1
- package/dist/commonjs/utils/getSafeInitialValue.js +28 -0
- package/dist/commonjs/utils/getSafeInitialValue.js.map +1 -1
- package/dist/commonjs/utils/padNumber.js +25 -0
- package/dist/commonjs/utils/padNumber.js.map +1 -1
- package/dist/module/components/DurationScroll/DurationScroll.js +410 -0
- package/dist/module/components/DurationScroll/DurationScroll.js.map +1 -0
- package/dist/module/components/DurationScroll/index.js +2 -390
- package/dist/module/components/DurationScroll/index.js.map +1 -1
- package/dist/module/components/DurationScroll/types.js.map +1 -1
- package/dist/module/components/Modal/Modal.js +99 -0
- package/dist/module/components/Modal/Modal.js.map +1 -0
- package/dist/module/components/Modal/index.js +2 -98
- package/dist/module/components/Modal/index.js.map +1 -1
- package/dist/module/components/TimerPicker/TimerPicker.js +217 -0
- package/dist/module/components/TimerPicker/TimerPicker.js.map +1 -0
- package/dist/module/components/TimerPicker/index.js +3 -166
- package/dist/module/components/TimerPicker/index.js.map +1 -1
- package/dist/module/components/TimerPicker/styles.js.map +1 -1
- package/dist/module/components/TimerPicker/types.js.map +1 -1
- package/dist/module/components/TimerPickerModal/TimerPickerModal.js +135 -0
- package/dist/module/components/TimerPickerModal/TimerPickerModal.js.map +1 -0
- package/dist/module/components/TimerPickerModal/index.js +3 -130
- package/dist/module/components/TimerPickerModal/index.js.map +1 -1
- package/dist/module/components/TimerPickerModal/types.js.map +1 -1
- package/dist/module/index.js +2 -6
- package/dist/module/index.js.map +1 -1
- package/dist/module/tests/DurationScroll.test.js +94 -0
- package/dist/module/tests/DurationScroll.test.js.map +1 -1
- package/dist/module/tests/Modal.test.js +80 -3
- package/dist/module/tests/Modal.test.js.map +1 -1
- package/dist/module/tests/TimerPicker.test.js +119 -1
- package/dist/module/tests/TimerPicker.test.js.map +1 -1
- package/dist/module/tests/TimerPickerModal.test.js +121 -1
- package/dist/module/tests/TimerPickerModal.test.js.map +1 -1
- package/dist/module/tests/colorToRgba.test.js +174 -0
- package/dist/module/tests/colorToRgba.test.js.map +1 -0
- package/dist/module/tests/generateNumbers.test.js +348 -0
- package/dist/module/tests/generateNumbers.test.js.map +1 -0
- package/dist/module/tests/getAdjustedLimit.test.js +322 -0
- package/dist/module/tests/getAdjustedLimit.test.js.map +1 -0
- package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js +422 -0
- package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -0
- package/dist/module/tests/getInitialScrollIndex.test.js +394 -0
- package/dist/module/tests/getInitialScrollIndex.test.js.map +1 -0
- package/dist/module/tests/getSafeInitialValue.test.js +495 -0
- package/dist/module/tests/getSafeInitialValue.test.js.map +1 -0
- package/dist/module/tests/padNumber.test.js +299 -0
- package/dist/module/tests/padNumber.test.js.map +1 -0
- package/dist/module/utils/colorToRgba.js +40 -4
- package/dist/module/utils/colorToRgba.js.map +1 -1
- package/dist/module/utils/generateNumbers.js +68 -0
- package/dist/module/utils/generateNumbers.js.map +1 -1
- package/dist/module/utils/getAdjustedLimit.js +28 -3
- package/dist/module/utils/getAdjustedLimit.js.map +1 -1
- package/dist/module/utils/getDurationAndIndexFromScrollOffset.js +38 -0
- package/dist/module/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
- package/dist/module/utils/getInitialScrollIndex.js +38 -0
- package/dist/module/utils/getInitialScrollIndex.js.map +1 -1
- package/dist/module/utils/getSafeInitialValue.js +28 -0
- package/dist/module/utils/getSafeInitialValue.js.map +1 -1
- package/dist/module/utils/padNumber.js +25 -0
- package/dist/module/utils/padNumber.js.map +1 -1
- package/dist/typescript/components/DurationScroll/DurationScroll.d.ts +4 -0
- package/dist/typescript/components/DurationScroll/index.d.ts +2 -4
- package/dist/typescript/components/DurationScroll/types.d.ts +13 -9
- package/dist/typescript/components/Modal/Modal.d.ts +5 -0
- package/dist/typescript/components/Modal/index.d.ts +2 -5
- package/dist/typescript/components/TimerPicker/TimerPicker.d.ts +4 -0
- package/dist/typescript/components/TimerPicker/index.d.ts +3 -4
- package/dist/typescript/components/TimerPicker/styles.d.ts +922 -771
- package/dist/typescript/components/TimerPicker/types.d.ts +26 -10
- package/dist/typescript/components/TimerPickerModal/TimerPickerModal.d.ts +4 -0
- package/dist/typescript/components/TimerPickerModal/index.d.ts +3 -4
- package/dist/typescript/components/TimerPickerModal/styles.d.ts +570 -474
- package/dist/typescript/components/TimerPickerModal/types.d.ts +8 -5
- package/dist/typescript/index.d.ts +2 -6
- package/dist/typescript/utils/colorToRgba.d.ts +34 -0
- package/dist/typescript/utils/generateNumbers.d.ts +66 -0
- package/dist/typescript/utils/getAdjustedLimit.d.ts +27 -2
- package/dist/typescript/utils/getDurationAndIndexFromScrollOffset.d.ts +38 -0
- package/dist/typescript/utils/getInitialScrollIndex.d.ts +38 -0
- package/dist/typescript/utils/getSafeInitialValue.d.ts +29 -0
- package/dist/typescript/utils/padNumber.d.ts +25 -0
- package/package.json +12 -30
|
@@ -3,138 +3,37 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
containerProps,
|
|
25
|
-
contentContainerProps,
|
|
26
|
-
hideCancelButton = false,
|
|
27
|
-
initialValue,
|
|
28
|
-
modalProps,
|
|
29
|
-
modalTitle,
|
|
30
|
-
modalTitleProps,
|
|
31
|
-
onCancel,
|
|
32
|
-
onConfirm,
|
|
33
|
-
onDurationChange,
|
|
34
|
-
setIsVisible,
|
|
35
|
-
styles: customStyles,
|
|
36
|
-
visible,
|
|
37
|
-
...otherProps
|
|
38
|
-
} = props;
|
|
39
|
-
const styles = (0, _styles.generateStyles)(customStyles, {
|
|
40
|
-
hasModalTitle: Boolean(modalTitle)
|
|
41
|
-
});
|
|
42
|
-
const timerPickerRef = (0, _react.useRef)(null);
|
|
43
|
-
const safeInitialValue = (0, _getSafeInitialValue.getSafeInitialValue)({
|
|
44
|
-
hours: initialValue === null || initialValue === void 0 ? void 0 : initialValue.hours,
|
|
45
|
-
minutes: initialValue === null || initialValue === void 0 ? void 0 : initialValue.minutes,
|
|
46
|
-
seconds: initialValue === null || initialValue === void 0 ? void 0 : initialValue.seconds
|
|
6
|
+
var _exportNames = {};
|
|
7
|
+
Object.defineProperty(exports, "default", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _TimerPickerModal.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _TimerPickerModal = _interopRequireDefault(require("./TimerPickerModal"));
|
|
14
|
+
var _types = require("./types");
|
|
15
|
+
Object.keys(_types).forEach(function (key) {
|
|
16
|
+
if (key === "default" || key === "__esModule") return;
|
|
17
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
18
|
+
if (key in exports && exports[key] === _types[key]) return;
|
|
19
|
+
Object.defineProperty(exports, key, {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () {
|
|
22
|
+
return _types[key];
|
|
23
|
+
}
|
|
47
24
|
});
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
reset();
|
|
60
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
|
-
}, [safeInitialValue.hours, safeInitialValue.minutes, safeInitialValue.seconds]);
|
|
62
|
-
const hideModalHandler = () => {
|
|
63
|
-
setSelectedDuration({
|
|
64
|
-
hours: confirmedDuration.hours,
|
|
65
|
-
minutes: confirmedDuration.minutes,
|
|
66
|
-
seconds: confirmedDuration.seconds
|
|
67
|
-
});
|
|
68
|
-
setIsVisible(false);
|
|
69
|
-
};
|
|
70
|
-
const confirmHandler = () => {
|
|
71
|
-
var _timerPickerRef$curre2, _latestDuration$hours, _latestDuration$minut, _latestDuration$secon;
|
|
72
|
-
const latestDuration = (_timerPickerRef$curre2 = timerPickerRef.current) === null || _timerPickerRef$curre2 === void 0 ? void 0 : _timerPickerRef$curre2.latestDuration;
|
|
73
|
-
const newDuration = {
|
|
74
|
-
hours: (latestDuration === null || latestDuration === void 0 || (_latestDuration$hours = latestDuration.hours) === null || _latestDuration$hours === void 0 ? void 0 : _latestDuration$hours.current) ?? selectedDuration.hours,
|
|
75
|
-
minutes: (latestDuration === null || latestDuration === void 0 || (_latestDuration$minut = latestDuration.minutes) === null || _latestDuration$minut === void 0 ? void 0 : _latestDuration$minut.current) ?? selectedDuration.minutes,
|
|
76
|
-
seconds: (latestDuration === null || latestDuration === void 0 || (_latestDuration$secon = latestDuration.seconds) === null || _latestDuration$secon === void 0 ? void 0 : _latestDuration$secon.current) ?? selectedDuration.seconds
|
|
77
|
-
};
|
|
78
|
-
setConfirmedDuration(newDuration);
|
|
79
|
-
onConfirm(newDuration);
|
|
80
|
-
};
|
|
81
|
-
const cancelHandler = () => {
|
|
82
|
-
setIsVisible(false);
|
|
83
|
-
setSelectedDuration(confirmedDuration);
|
|
84
|
-
onCancel === null || onCancel === void 0 || onCancel();
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
// wrapped in useCallback to avoid unnecessary re-renders of TimerPicker
|
|
88
|
-
const durationChangeHandler = (0, _react.useCallback)(duration => {
|
|
89
|
-
setSelectedDuration(duration);
|
|
90
|
-
onDurationChange === null || onDurationChange === void 0 || onDurationChange(duration);
|
|
91
|
-
}, [onDurationChange]);
|
|
92
|
-
(0, _react.useImperativeHandle)(ref, () => {
|
|
93
|
-
var _timerPickerRef$curre4, _timerPickerRef$curre5, _timerPickerRef$curre6;
|
|
94
|
-
return {
|
|
95
|
-
reset,
|
|
96
|
-
setValue: (value, options) => {
|
|
97
|
-
var _timerPickerRef$curre3;
|
|
98
|
-
setSelectedDuration(value);
|
|
99
|
-
setConfirmedDuration(value);
|
|
100
|
-
(_timerPickerRef$curre3 = timerPickerRef.current) === null || _timerPickerRef$curre3 === void 0 || _timerPickerRef$curre3.setValue(value, options);
|
|
101
|
-
},
|
|
102
|
-
latestDuration: {
|
|
103
|
-
hours: (_timerPickerRef$curre4 = timerPickerRef.current) === null || _timerPickerRef$curre4 === void 0 || (_timerPickerRef$curre4 = _timerPickerRef$curre4.latestDuration) === null || _timerPickerRef$curre4 === void 0 ? void 0 : _timerPickerRef$curre4.hours,
|
|
104
|
-
minutes: (_timerPickerRef$curre5 = timerPickerRef.current) === null || _timerPickerRef$curre5 === void 0 || (_timerPickerRef$curre5 = _timerPickerRef$curre5.latestDuration) === null || _timerPickerRef$curre5 === void 0 ? void 0 : _timerPickerRef$curre5.minutes,
|
|
105
|
-
seconds: (_timerPickerRef$curre6 = timerPickerRef.current) === null || _timerPickerRef$curre6 === void 0 || (_timerPickerRef$curre6 = _timerPickerRef$curre6.latestDuration) === null || _timerPickerRef$curre6 === void 0 ? void 0 : _timerPickerRef$curre6.seconds
|
|
106
|
-
}
|
|
107
|
-
};
|
|
25
|
+
});
|
|
26
|
+
var _styles = require("./styles");
|
|
27
|
+
Object.keys(_styles).forEach(function (key) {
|
|
28
|
+
if (key === "default" || key === "__esModule") return;
|
|
29
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
30
|
+
if (key in exports && exports[key] === _styles[key]) return;
|
|
31
|
+
Object.defineProperty(exports, key, {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () {
|
|
34
|
+
return _styles[key];
|
|
35
|
+
}
|
|
108
36
|
});
|
|
109
|
-
return /*#__PURE__*/_react.default.createElement(_Modal.default, _extends({
|
|
110
|
-
isVisible: visible,
|
|
111
|
-
onOverlayPress: closeOnOverlayPress ? hideModalHandler : undefined
|
|
112
|
-
}, modalProps, {
|
|
113
|
-
testID: "timer-picker-modal"
|
|
114
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({}, containerProps, {
|
|
115
|
-
style: styles.container
|
|
116
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({}, contentContainerProps, {
|
|
117
|
-
style: styles.contentContainer
|
|
118
|
-
}), modalTitle ? /*#__PURE__*/_react.default.createElement(_reactNative.Text, _extends({}, modalTitleProps, {
|
|
119
|
-
style: styles.modalTitle
|
|
120
|
-
}), modalTitle) : null, /*#__PURE__*/_react.default.createElement(_TimerPicker.default, _extends({
|
|
121
|
-
ref: timerPickerRef,
|
|
122
|
-
initialValue: confirmedDuration
|
|
123
|
-
}, otherProps, {
|
|
124
|
-
aggressivelyGetLatestDuration: true,
|
|
125
|
-
onDurationChange: durationChangeHandler,
|
|
126
|
-
styles: styles.timerPickerStyles
|
|
127
|
-
})), /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({}, buttonContainerProps, {
|
|
128
|
-
style: styles.buttonContainer
|
|
129
|
-
}), !hideCancelButton ? /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, _extends({}, buttonTouchableOpacityProps, {
|
|
130
|
-
onPress: cancelHandler
|
|
131
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
132
|
-
style: [styles.button, styles.cancelButton]
|
|
133
|
-
}, cancelButtonText)) : null, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, _extends({}, buttonTouchableOpacityProps, {
|
|
134
|
-
onPress: confirmHandler
|
|
135
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
136
|
-
style: [styles.button, styles.confirmButton]
|
|
137
|
-
}, confirmButtonText))))));
|
|
138
37
|
});
|
|
139
|
-
|
|
38
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
140
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_getSafeInitialValue","_Modal","_interopRequireDefault","_TimerPicker","_styles","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","TimerPickerModal","forwardRef","props","ref","buttonContainerProps","buttonTouchableOpacityProps","cancelButtonText","closeOnOverlayPress","confirmButtonText","containerProps","contentContainerProps","hideCancelButton","initialValue","modalProps","modalTitle","modalTitleProps","onCancel","onConfirm","onDurationChange","setIsVisible","styles","customStyles","visible","otherProps","generateStyles","hasModalTitle","Boolean","timerPickerRef","useRef","safeInitialValue","getSafeInitialValue","hours","minutes","seconds","selectedDuration","setSelectedDuration","useState","confirmedDuration","setConfirmedDuration","reset","options","_timerPickerRef$curre","current","useEffect","hideModalHandler","confirmHandler","_timerPickerRef$curre2","_latestDuration$hours","_latestDuration$minut","_latestDuration$secon","latestDuration","newDuration","cancelHandler","durationChangeHandler","useCallback","duration","useImperativeHandle","_timerPickerRef$curre4","_timerPickerRef$curre5","_timerPickerRef$curre6","setValue","value","_timerPickerRef$curre3","createElement","isVisible","onOverlayPress","undefined","testID","View","style","container","contentContainer","Text","aggressivelyGetLatestDuration","timerPickerStyles","buttonContainer","TouchableOpacity","onPress","button","cancelButton","confirmButton","_default","exports","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\n\nimport { View, Text, TouchableOpacity } from \"react-native\";\n\nimport { getSafeInitialValue } from \"../../utils/getSafeInitialValue\";\nimport Modal from \"../Modal\";\nimport TimerPicker from \"../TimerPicker\";\nimport type { TimerPickerRef } from \"../TimerPicker/types\";\n\nimport { generateStyles } from \"./styles\";\nimport type { TimerPickerModalRef, TimerPickerModalProps } from \"./types\";\n\nconst TimerPickerModal = forwardRef<TimerPickerModalRef, TimerPickerModalProps>(\n (props, ref) => {\n const {\n buttonContainerProps,\n buttonTouchableOpacityProps,\n cancelButtonText = \"Cancel\",\n closeOnOverlayPress,\n confirmButtonText = \"Confirm\",\n containerProps,\n contentContainerProps,\n hideCancelButton = false,\n initialValue,\n modalProps,\n modalTitle,\n modalTitleProps,\n onCancel,\n onConfirm,\n onDurationChange,\n setIsVisible,\n styles: customStyles,\n visible,\n ...otherProps\n } = props;\n\n const styles = generateStyles(customStyles, {\n hasModalTitle: Boolean(modalTitle),\n });\n\n const timerPickerRef = useRef<TimerPickerRef>(null);\n\n const safeInitialValue = getSafeInitialValue({\n hours: initialValue?.hours,\n minutes: initialValue?.minutes,\n seconds: initialValue?.seconds,\n });\n\n const [selectedDuration, setSelectedDuration] =\n useState(safeInitialValue);\n const [confirmedDuration, setConfirmedDuration] =\n useState(safeInitialValue);\n\n const reset = (options?: { animated?: boolean }) => {\n setSelectedDuration(safeInitialValue);\n setConfirmedDuration(safeInitialValue);\n timerPickerRef.current?.reset(options);\n };\n\n // reset state if the initial value changes\n useEffect(() => {\n reset();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n safeInitialValue.hours,\n safeInitialValue.minutes,\n safeInitialValue.seconds,\n ]);\n\n const hideModalHandler = () => {\n setSelectedDuration({\n hours: confirmedDuration.hours,\n minutes: confirmedDuration.minutes,\n seconds: confirmedDuration.seconds,\n });\n setIsVisible(false);\n };\n\n const confirmHandler = () => {\n const latestDuration = timerPickerRef.current?.latestDuration;\n\n const newDuration = {\n hours: latestDuration?.hours?.current ?? selectedDuration.hours,\n minutes:\n latestDuration?.minutes?.current ??\n selectedDuration.minutes,\n seconds:\n latestDuration?.seconds?.current ??\n selectedDuration.seconds,\n };\n setConfirmedDuration(newDuration);\n onConfirm(newDuration);\n };\n\n const cancelHandler = () => {\n setIsVisible(false);\n setSelectedDuration(confirmedDuration);\n onCancel?.();\n };\n\n // wrapped in useCallback to avoid unnecessary re-renders of TimerPicker\n const durationChangeHandler = useCallback(\n (duration: { hours: number; minutes: number; seconds: number }) => {\n setSelectedDuration(duration);\n onDurationChange?.(duration);\n },\n [onDurationChange]\n );\n\n useImperativeHandle(ref, () => ({\n reset,\n setValue: (value, options) => {\n setSelectedDuration(value);\n setConfirmedDuration(value);\n timerPickerRef.current?.setValue(value, options);\n },\n latestDuration: {\n hours: timerPickerRef.current?.latestDuration?.hours,\n minutes: timerPickerRef.current?.latestDuration?.minutes,\n seconds: timerPickerRef.current?.latestDuration?.seconds,\n },\n }));\n\n return (\n <Modal\n isVisible={visible}\n onOverlayPress={\n closeOnOverlayPress ? hideModalHandler : undefined\n }\n {...modalProps}\n testID=\"timer-picker-modal\">\n <View {...containerProps} style={styles.container}>\n <View\n {...contentContainerProps}\n style={styles.contentContainer}>\n {modalTitle ? (\n <Text\n {...modalTitleProps}\n style={styles.modalTitle}>\n {modalTitle}\n </Text>\n ) : null}\n <TimerPicker\n ref={timerPickerRef}\n initialValue={confirmedDuration}\n {...otherProps}\n aggressivelyGetLatestDuration\n onDurationChange={durationChangeHandler}\n styles={styles.timerPickerStyles}\n />\n <View\n {...buttonContainerProps}\n style={styles.buttonContainer}>\n {!hideCancelButton ? (\n <TouchableOpacity\n {...buttonTouchableOpacityProps}\n onPress={cancelHandler}>\n <Text\n style={[\n styles.button,\n styles.cancelButton,\n ]}>\n {cancelButtonText}\n </Text>\n </TouchableOpacity>\n ) : null}\n <TouchableOpacity\n {...buttonTouchableOpacityProps}\n onPress={confirmHandler}>\n <Text\n style={[\n styles.button,\n styles.confirmButton,\n ]}>\n {confirmButtonText}\n </Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n </Modal>\n );\n }\n);\n\nexport default React.memo(TimerPickerModal);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_TimerPickerModal","_interopRequireDefault","require","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_styles","e","__esModule","default"],"sources":["index.ts"],"sourcesContent":["export { default } from \"./TimerPickerModal\";\n\nexport * from \"./types\";\n\nexport * from \"./styles\";\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,OAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,OAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,OAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AAAyB,SAAAN,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { RefObject } from \"react\";\n\nimport type { View, TouchableOpacity, Text } from \"react-native\";\n\nimport type Modal from \"../Modal\";\nimport type { TimerPickerProps } from \"../TimerPicker/types\";\n\nimport type { CustomTimerPickerModalStyles } from \"./styles\";\n\nexport interface TimerPickerModalRef {\n latestDuration: {\n days: RefObject<number> | undefined;\n hours: RefObject<number> | undefined;\n minutes: RefObject<number> | undefined;\n seconds: RefObject<number> | undefined;\n };\n reset: (options?: { animated?: boolean }) => void;\n setValue: (\n value: {\n days: number;\n hours: number;\n minutes: number;\n seconds: number;\n },\n options?: { animated?: boolean }\n ) => void;\n}\n\nexport interface TimerPickerModalProps extends TimerPickerProps {\n buttonContainerProps?: React.ComponentProps<typeof View>;\n buttonTouchableOpacityProps?: React.ComponentProps<typeof TouchableOpacity>;\n cancelButtonText?: string;\n closeOnOverlayPress?: boolean;\n confirmButtonText?: string;\n containerProps?: React.ComponentProps<typeof View>;\n contentContainerProps?: React.ComponentProps<typeof View>;\n hideCancelButton?: boolean;\n modalProps?: React.ComponentProps<typeof Modal>;\n modalTitle?: string;\n modalTitleProps?: React.ComponentProps<typeof Text>;\n onCancel?: () => void;\n onConfirm: ({\n days,\n hours,\n minutes,\n seconds,\n }: {\n days: number;\n hours: number;\n minutes: number;\n seconds: number;\n }) => void;\n setIsVisible: (isVisible: boolean) => void;\n styles?: CustomTimerPickerModalStyles;\n visible: boolean;\n}\n"],"mappings":"","ignoreList":[]}
|
package/dist/commonjs/index.js
CHANGED
|
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
Object.defineProperty(exports, "CustomTimerPickerModalStyles", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function () {
|
|
9
|
-
return
|
|
9
|
+
return _TimerPickerModal.CustomTimerPickerModalStyles;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "CustomTimerPickerStyles", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function () {
|
|
15
|
-
return
|
|
15
|
+
return _TimerPicker.CustomTimerPickerStyles;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "TimerPicker", {
|
|
@@ -30,32 +30,28 @@ Object.defineProperty(exports, "TimerPickerModal", {
|
|
|
30
30
|
Object.defineProperty(exports, "TimerPickerModalProps", {
|
|
31
31
|
enumerable: true,
|
|
32
32
|
get: function () {
|
|
33
|
-
return
|
|
33
|
+
return _TimerPickerModal.TimerPickerModalProps;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "TimerPickerModalRef", {
|
|
37
37
|
enumerable: true,
|
|
38
38
|
get: function () {
|
|
39
|
-
return
|
|
39
|
+
return _TimerPickerModal.TimerPickerModalRef;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
Object.defineProperty(exports, "TimerPickerProps", {
|
|
43
43
|
enumerable: true,
|
|
44
44
|
get: function () {
|
|
45
|
-
return
|
|
45
|
+
return _TimerPicker.TimerPickerProps;
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
Object.defineProperty(exports, "TimerPickerRef", {
|
|
49
49
|
enumerable: true,
|
|
50
50
|
get: function () {
|
|
51
|
-
return
|
|
51
|
+
return _TimerPicker.TimerPickerRef;
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
var _TimerPickerModal =
|
|
55
|
-
var
|
|
56
|
-
var
|
|
57
|
-
var _TimerPicker = _interopRequireDefault(require("./components/TimerPicker"));
|
|
58
|
-
var _types2 = require("./components/TimerPicker/types");
|
|
59
|
-
var _styles2 = require("./components/TimerPicker/styles");
|
|
60
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
54
|
+
var _TimerPickerModal = _interopRequireWildcard(require("./components/TimerPickerModal"));
|
|
55
|
+
var _TimerPicker = _interopRequireWildcard(require("./components/TimerPicker"));
|
|
56
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
61
57
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_TimerPickerModal","
|
|
1
|
+
{"version":3,"names":["_TimerPickerModal","_interopRequireWildcard","require","_TimerPicker","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sources":["index.ts"],"sourcesContent":["export {\n default as TimerPickerModal,\n TimerPickerModalProps,\n TimerPickerModalRef,\n CustomTimerPickerModalStyles,\n} from \"./components/TimerPickerModal\";\n\nexport {\n default as TimerPicker,\n TimerPickerProps,\n TimerPickerRef,\n CustomTimerPickerStyles,\n} from \"./components/TimerPicker\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAOA,IAAAC,YAAA,GAAAF,uBAAA,CAAAC,OAAA;AAKkC,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA","ignoreList":[]}
|
|
@@ -65,5 +65,99 @@ describe("DurationScroll", () => {
|
|
|
65
65
|
const label = getByText("Duration");
|
|
66
66
|
expect(label).toBeDefined();
|
|
67
67
|
});
|
|
68
|
+
it("does not render label when not provided", () => {
|
|
69
|
+
const {
|
|
70
|
+
queryByTestId
|
|
71
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_DurationScroll.default, {
|
|
72
|
+
aggressivelyGetLatestDuration: false,
|
|
73
|
+
interval: 1,
|
|
74
|
+
maximumValue: 59,
|
|
75
|
+
onDurationChange: onDurationChangeMock,
|
|
76
|
+
padWithNItems: 1,
|
|
77
|
+
repeatNumbersNTimesNotExplicitlySet: true,
|
|
78
|
+
styles: emptyStyles
|
|
79
|
+
}));
|
|
80
|
+
const label = queryByTestId("picker-label");
|
|
81
|
+
expect(label).toBeNull();
|
|
82
|
+
});
|
|
83
|
+
it("handles different intervals", () => {
|
|
84
|
+
const {
|
|
85
|
+
getAllByTestId
|
|
86
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_DurationScroll.default, {
|
|
87
|
+
aggressivelyGetLatestDuration: false,
|
|
88
|
+
interval: 5,
|
|
89
|
+
maximumValue: 55,
|
|
90
|
+
onDurationChange: onDurationChangeMock,
|
|
91
|
+
padWithNItems: 1,
|
|
92
|
+
repeatNumbersNTimesNotExplicitlySet: true,
|
|
93
|
+
styles: emptyStyles
|
|
94
|
+
}));
|
|
95
|
+
const items = getAllByTestId("picker-item");
|
|
96
|
+
expect(items).toBeDefined();
|
|
97
|
+
});
|
|
98
|
+
it("renders with zero padWithNItems", () => {
|
|
99
|
+
const {
|
|
100
|
+
getByTestId
|
|
101
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_DurationScroll.default, {
|
|
102
|
+
aggressivelyGetLatestDuration: false,
|
|
103
|
+
interval: 1,
|
|
104
|
+
maximumValue: 59,
|
|
105
|
+
onDurationChange: onDurationChangeMock,
|
|
106
|
+
padWithNItems: 0,
|
|
107
|
+
repeatNumbersNTimesNotExplicitlySet: true,
|
|
108
|
+
styles: emptyStyles,
|
|
109
|
+
testID: "duration-scroll"
|
|
110
|
+
}));
|
|
111
|
+
const component = getByTestId("duration-scroll");
|
|
112
|
+
expect(component).toBeDefined();
|
|
113
|
+
});
|
|
114
|
+
it("handles large maximumValue", () => {
|
|
115
|
+
const {
|
|
116
|
+
getByTestId
|
|
117
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_DurationScroll.default, {
|
|
118
|
+
aggressivelyGetLatestDuration: false,
|
|
119
|
+
interval: 1,
|
|
120
|
+
maximumValue: 999,
|
|
121
|
+
onDurationChange: onDurationChangeMock,
|
|
122
|
+
padWithNItems: 1,
|
|
123
|
+
repeatNumbersNTimesNotExplicitlySet: true,
|
|
124
|
+
styles: emptyStyles,
|
|
125
|
+
testID: "duration-scroll"
|
|
126
|
+
}));
|
|
127
|
+
const component = getByTestId("duration-scroll");
|
|
128
|
+
expect(component).toBeDefined();
|
|
129
|
+
});
|
|
130
|
+
it("handles aggressivelyGetLatestDuration set to true", () => {
|
|
131
|
+
const {
|
|
132
|
+
getByTestId
|
|
133
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_DurationScroll.default, {
|
|
134
|
+
aggressivelyGetLatestDuration: true,
|
|
135
|
+
interval: 1,
|
|
136
|
+
maximumValue: 59,
|
|
137
|
+
onDurationChange: onDurationChangeMock,
|
|
138
|
+
padWithNItems: 1,
|
|
139
|
+
repeatNumbersNTimesNotExplicitlySet: true,
|
|
140
|
+
styles: emptyStyles,
|
|
141
|
+
testID: "duration-scroll"
|
|
142
|
+
}));
|
|
143
|
+
const component = getByTestId("duration-scroll");
|
|
144
|
+
expect(component).toBeDefined();
|
|
145
|
+
});
|
|
146
|
+
it("handles repeatNumbersNTimesNotExplicitlySet set to false", () => {
|
|
147
|
+
const {
|
|
148
|
+
getByTestId
|
|
149
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_DurationScroll.default, {
|
|
150
|
+
aggressivelyGetLatestDuration: false,
|
|
151
|
+
interval: 1,
|
|
152
|
+
maximumValue: 59,
|
|
153
|
+
onDurationChange: onDurationChangeMock,
|
|
154
|
+
padWithNItems: 1,
|
|
155
|
+
repeatNumbersNTimesNotExplicitlySet: false,
|
|
156
|
+
styles: emptyStyles,
|
|
157
|
+
testID: "duration-scroll"
|
|
158
|
+
}));
|
|
159
|
+
const component = getByTestId("duration-scroll");
|
|
160
|
+
expect(component).toBeDefined();
|
|
161
|
+
});
|
|
68
162
|
});
|
|
69
163
|
//# sourceMappingURL=DurationScroll.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_DurationScroll","e","__esModule","default","describe","onDurationChangeMock","jest","fn","emptyStyles","pickerContainer","pickerLabelContainer","pickerLabel","pickerItemContainer","pickerItem","pickerAmPmContainer","pickerAmPmLabel","disabledPickerContainer","disabledPickerItem","pickerGradientOverlay","it","getByTestId","render","createElement","aggressivelyGetLatestDuration","interval","maximumValue","onDurationChange","padWithNItems","repeatNumbersNTimesNotExplicitlySet","styles","testID","component","expect","toBeDefined","getAllByTestId","items","toHaveLength","getByText","label"],"sources":["DurationScroll.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render } from \"@testing-library/react-native\";\n\nimport DurationScroll from \"../components/DurationScroll\";\nimport type { generateStyles } from \"../components/TimerPicker/styles\";\n\ndescribe(\"DurationScroll\", () => {\n const onDurationChangeMock = jest.fn();\n const emptyStyles = {\n pickerContainer: {},\n pickerLabelContainer: {},\n pickerLabel: {},\n pickerItemContainer: {},\n pickerItem: {},\n pickerAmPmContainer: {},\n pickerAmPmLabel: {},\n disabledPickerContainer: {},\n disabledPickerItem: {},\n pickerGradientOverlay: {},\n } as ReturnType<typeof generateStyles>;\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={1}\n onDurationChange={onDurationChangeMock}\n padWithNItems={0}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"renders the correct number of items\", () => {\n const { getAllByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={23}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n />\n );\n const items = getAllByTestId(\"picker-item\");\n expect(items).toHaveLength(10);\n });\n\n it(\"renders the label if provided\", () => {\n const { getByText } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n label=\"Duration\"\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n />\n );\n const label = getByText(\"Duration\");\n expect(label).toBeDefined();\n });\n});\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA0D,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG1DG,QAAQ,CAAC,gBAAgB,EAAE,MAAM;EAC7B,MAAMC,oBAAoB,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACtC,MAAMC,WAAW,GAAG;IAChBC,eAAe,EAAE,CAAC,CAAC;IACnBC,oBAAoB,EAAE,CAAC,CAAC;IACxBC,WAAW,EAAE,CAAC,CAAC;IACfC,mBAAmB,EAAE,CAAC,CAAC;IACvBC,UAAU,EAAE,CAAC,CAAC;IACdC,mBAAmB,EAAE,CAAC,CAAC;IACvBC,eAAe,EAAE,CAAC,CAAC;IACnBC,uBAAuB,EAAE,CAAC,CAAC;IAC3BC,kBAAkB,EAAE,CAAC,CAAC;IACtBC,qBAAqB,EAAE,CAAC;EAC5B,CAAsC;EAEtCC,EAAE,CAAC,0BAA0B,EAAE,MAAM;IACjC,MAAM;MAAEC;IAAY,CAAC,GAAG,IAAAC,mBAAM,eAC1BzB,MAAA,CAAAO,OAAA,CAAAmB,aAAA,CAACtB,eAAA,CAAAG,OAAc;MACXoB,6BAA6B,EAAE,KAAM;MACrCC,QAAQ,EAAE,CAAE;MACZC,YAAY,EAAE,CAAE;MAChBC,gBAAgB,EAAErB,oBAAqB;MACvCsB,aAAa,EAAE,CAAE;MACjBC,mCAAmC,EAAE,IAAK;MAC1CC,MAAM,EAAErB,WAAY;MACpBsB,MAAM,EAAC;IAAiB,CAC3B,CACL,CAAC;IACD,MAAMC,SAAS,GAAGX,WAAW,CAAC,iBAAiB,CAAC;IAChDY,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFd,EAAE,CAAC,qCAAqC,EAAE,MAAM;IAC5C,MAAM;MAAEe;IAAe,CAAC,GAAG,IAAAb,mBAAM,eAC7BzB,MAAA,CAAAO,OAAA,CAAAmB,aAAA,CAACtB,eAAA,CAAAG,OAAc;MACXoB,6BAA6B,EAAE,KAAM;MACrCC,QAAQ,EAAE,CAAE;MACZC,YAAY,EAAE,EAAG;MACjBC,gBAAgB,EAAErB,oBAAqB;MACvCsB,aAAa,EAAE,CAAE;MACjBC,mCAAmC,EAAE,IAAK;MAC1CC,MAAM,EAAErB;IAAY,CACvB,CACL,CAAC;IACD,MAAM2B,KAAK,GAAGD,cAAc,CAAC,aAAa,CAAC;IAC3CF,MAAM,CAACG,KAAK,CAAC,CAACC,YAAY,CAAC,EAAE,CAAC;EAClC,CAAC,CAAC;EAEFjB,EAAE,CAAC,+BAA+B,EAAE,MAAM;IACtC,MAAM;MAAEkB;IAAU,CAAC,GAAG,IAAAhB,mBAAM,eACxBzB,MAAA,CAAAO,OAAA,CAAAmB,aAAA,CAACtB,eAAA,CAAAG,OAAc;MACXoB,6BAA6B,EAAE,KAAM;MACrCC,QAAQ,EAAE,CAAE;MACZc,KAAK,EAAC,UAAU;MAChBb,YAAY,EAAE,EAAG;MACjBC,gBAAgB,EAAErB,oBAAqB;MACvCsB,aAAa,EAAE,CAAE;MACjBC,mCAAmC,EAAE,IAAK;MAC1CC,MAAM,EAAErB;IAAY,CACvB,CACL,CAAC;IACD,MAAM8B,KAAK,GAAGD,SAAS,CAAC,UAAU,CAAC;IACnCL,MAAM,CAACM,KAAK,CAAC,CAACL,WAAW,CAAC,CAAC;EAC/B,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_DurationScroll","e","__esModule","default","describe","onDurationChangeMock","jest","fn","emptyStyles","pickerContainer","pickerLabelContainer","pickerLabel","pickerItemContainer","pickerItem","pickerAmPmContainer","pickerAmPmLabel","disabledPickerContainer","disabledPickerItem","pickerGradientOverlay","it","getByTestId","render","createElement","aggressivelyGetLatestDuration","interval","maximumValue","onDurationChange","padWithNItems","repeatNumbersNTimesNotExplicitlySet","styles","testID","component","expect","toBeDefined","getAllByTestId","items","toHaveLength","getByText","label","queryByTestId","toBeNull"],"sources":["DurationScroll.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render } from \"@testing-library/react-native\";\n\nimport DurationScroll from \"../components/DurationScroll\";\nimport type { generateStyles } from \"../components/TimerPicker/styles\";\n\ndescribe(\"DurationScroll\", () => {\n const onDurationChangeMock = jest.fn();\n const emptyStyles = {\n pickerContainer: {},\n pickerLabelContainer: {},\n pickerLabel: {},\n pickerItemContainer: {},\n pickerItem: {},\n pickerAmPmContainer: {},\n pickerAmPmLabel: {},\n disabledPickerContainer: {},\n disabledPickerItem: {},\n pickerGradientOverlay: {},\n } as ReturnType<typeof generateStyles>;\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={1}\n onDurationChange={onDurationChangeMock}\n padWithNItems={0}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"renders the correct number of items\", () => {\n const { getAllByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={23}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n />\n );\n const items = getAllByTestId(\"picker-item\");\n expect(items).toHaveLength(10);\n });\n\n it(\"renders the label if provided\", () => {\n const { getByText } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n label=\"Duration\"\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n />\n );\n const label = getByText(\"Duration\");\n expect(label).toBeDefined();\n });\n\n it(\"does not render label when not provided\", () => {\n const { queryByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n />\n );\n const label = queryByTestId(\"picker-label\");\n expect(label).toBeNull();\n });\n\n it(\"handles different intervals\", () => {\n const { getAllByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={5}\n maximumValue={55}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n />\n );\n const items = getAllByTestId(\"picker-item\");\n expect(items).toBeDefined();\n });\n\n it(\"renders with zero padWithNItems\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={0}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"handles large maximumValue\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={999}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"handles aggressivelyGetLatestDuration set to true\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={true}\n interval={1}\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"handles repeatNumbersNTimesNotExplicitlySet set to false\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={false}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,14 @@ var _reactNative2 = require("react-native");
|
|
|
6
6
|
var _Modal = _interopRequireDefault(require("../components/Modal"));
|
|
7
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
8
|
describe("Modal", () => {
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
jest.useFakeTimers();
|
|
11
|
+
});
|
|
12
|
+
afterEach(() => {
|
|
13
|
+
jest.runOnlyPendingTimers();
|
|
14
|
+
jest.useRealTimers();
|
|
15
|
+
(0, _reactNative.cleanup)();
|
|
16
|
+
});
|
|
9
17
|
it("renders without crashing", () => {
|
|
10
18
|
const {
|
|
11
19
|
getByTestId
|
|
@@ -36,7 +44,76 @@ describe("Modal", () => {
|
|
|
36
44
|
_reactNative.fireEvent.press(overlay);
|
|
37
45
|
expect(onOverlayPressMock).toHaveBeenCalled();
|
|
38
46
|
});
|
|
39
|
-
|
|
40
|
-
|
|
47
|
+
it("renders but is not visible when isVisible is false", () => {
|
|
48
|
+
const {
|
|
49
|
+
getByTestId
|
|
50
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
51
|
+
isVisible: false
|
|
52
|
+
}));
|
|
53
|
+
const modal = getByTestId("modal");
|
|
54
|
+
expect(modal).toBeDefined();
|
|
55
|
+
expect(modal.props.visible).toBe(false);
|
|
56
|
+
});
|
|
57
|
+
it("does not call onOverlayPress when onOverlayPress is not provided", () => {
|
|
58
|
+
const {
|
|
59
|
+
getByTestId
|
|
60
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
61
|
+
isVisible: true
|
|
62
|
+
}));
|
|
63
|
+
const overlay = getByTestId("modal-backdrop");
|
|
64
|
+
expect(() => _reactNative.fireEvent.press(overlay)).not.toThrow();
|
|
65
|
+
});
|
|
66
|
+
it("renders multiple children", () => {
|
|
67
|
+
const {
|
|
68
|
+
getByText
|
|
69
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
70
|
+
isVisible: true
|
|
71
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "First Child"), /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "Second Child")));
|
|
72
|
+
const firstChild = getByText("First Child");
|
|
73
|
+
const secondChild = getByText("Second Child");
|
|
74
|
+
expect(firstChild).toBeDefined();
|
|
75
|
+
expect(secondChild).toBeDefined();
|
|
76
|
+
});
|
|
77
|
+
it("handles rapid visibility changes", () => {
|
|
78
|
+
const {
|
|
79
|
+
rerender,
|
|
80
|
+
getByTestId
|
|
81
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
82
|
+
isVisible: true
|
|
83
|
+
}));
|
|
84
|
+
expect(getByTestId("modal")).toBeDefined();
|
|
85
|
+
expect(getByTestId("modal").props.visible).toBe(true);
|
|
86
|
+
rerender(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
87
|
+
isVisible: false
|
|
88
|
+
}));
|
|
89
|
+
expect(getByTestId("modal")).toBeDefined();
|
|
90
|
+
expect(getByTestId("modal").props.visible).toBe(false);
|
|
91
|
+
rerender(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
92
|
+
isVisible: true
|
|
93
|
+
}));
|
|
94
|
+
expect(getByTestId("modal")).toBeDefined();
|
|
95
|
+
expect(getByTestId("modal").props.visible).toBe(true);
|
|
96
|
+
});
|
|
97
|
+
it("calls onOverlayPress exactly once per press", () => {
|
|
98
|
+
const onOverlayPressMock = jest.fn();
|
|
99
|
+
const {
|
|
100
|
+
getByTestId
|
|
101
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
102
|
+
isVisible: true,
|
|
103
|
+
onOverlayPress: onOverlayPressMock
|
|
104
|
+
}));
|
|
105
|
+
const overlay = getByTestId("modal-backdrop");
|
|
106
|
+
_reactNative.fireEvent.press(overlay);
|
|
107
|
+
expect(onOverlayPressMock).toHaveBeenCalledTimes(1);
|
|
108
|
+
});
|
|
109
|
+
it("renders children with complex structure", () => {
|
|
110
|
+
const {
|
|
111
|
+
getByText
|
|
112
|
+
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
113
|
+
isVisible: true
|
|
114
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "Parent"), /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "Child")));
|
|
115
|
+
expect(getByText("Parent")).toBeDefined();
|
|
116
|
+
expect(getByText("Child")).toBeDefined();
|
|
117
|
+
});
|
|
41
118
|
});
|
|
42
119
|
//# sourceMappingURL=Modal.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNative2","_Modal","e","__esModule","default","describe","it","getByTestId","render","createElement","isVisible","component","expect","toBeDefined","getByText","Text","content","onOverlayPressMock","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNative2","_Modal","e","__esModule","default","describe","beforeEach","jest","useFakeTimers","afterEach","runOnlyPendingTimers","useRealTimers","cleanup","it","getByTestId","render","createElement","isVisible","component","expect","toBeDefined","getByText","Text","content","onOverlayPressMock","fn","onOverlayPress","overlay","fireEvent","press","toHaveBeenCalled","modal","props","visible","toBe","not","toThrow","firstChild","secondChild","rerender","toHaveBeenCalledTimes"],"sources":["Modal.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render, fireEvent, cleanup } from \"@testing-library/react-native\";\nimport { Text } from \"react-native\";\n\nimport Modal from \"../components/Modal\";\n\ndescribe(\"Modal\", () => {\n beforeEach(() => {\n jest.useFakeTimers();\n });\n\n afterEach(() => {\n jest.runOnlyPendingTimers();\n jest.useRealTimers();\n cleanup();\n });\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<Modal isVisible/>);\n const component = getByTestId(\"modal\");\n expect(component).toBeDefined();\n });\n\n it(\"renders children when visible\", () => {\n const { getByText } = render(\n <Modal isVisible>\n <Text>{\"Modal Content\"}</Text>\n </Modal>\n );\n const content = getByText(\"Modal Content\");\n expect(content).toBeDefined();\n });\n\n it(\"calls onOverlayPress when overlay is pressed\", () => {\n const onOverlayPressMock = jest.fn();\n const { getByTestId } = render(\n <Modal isVisible onOverlayPress={onOverlayPressMock} />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(onOverlayPressMock).toHaveBeenCalled();\n });\n\n it(\"renders but is not visible when isVisible is false\", () => {\n const { getByTestId } = render(<Modal isVisible={false} />);\n const modal = getByTestId(\"modal\");\n expect(modal).toBeDefined();\n expect(modal.props.visible).toBe(false);\n });\n\n it(\"does not call onOverlayPress when onOverlayPress is not provided\", () => {\n const { getByTestId } = render(<Modal isVisible />);\n const overlay = getByTestId(\"modal-backdrop\");\n expect(() => fireEvent.press(overlay)).not.toThrow();\n });\n\n it(\"renders multiple children\", () => {\n const { getByText } = render(\n <Modal isVisible>\n <Text>{\"First Child\"}</Text>\n <Text>{\"Second Child\"}</Text>\n </Modal>\n );\n const firstChild = getByText(\"First Child\");\n const secondChild = getByText(\"Second Child\");\n expect(firstChild).toBeDefined();\n expect(secondChild).toBeDefined();\n });\n\n it(\"handles rapid visibility changes\", () => {\n const { rerender, getByTestId } = render(\n <Modal isVisible={true} />\n );\n expect(getByTestId(\"modal\")).toBeDefined();\n expect(getByTestId(\"modal\").props.visible).toBe(true);\n\n rerender(<Modal isVisible={false} />);\n expect(getByTestId(\"modal\")).toBeDefined();\n expect(getByTestId(\"modal\").props.visible).toBe(false);\n\n rerender(<Modal isVisible={true} />);\n expect(getByTestId(\"modal\")).toBeDefined();\n expect(getByTestId(\"modal\").props.visible).toBe(true);\n });\n\n it(\"calls onOverlayPress exactly once per press\", () => {\n const onOverlayPressMock = jest.fn();\n const { getByTestId } = render(\n <Modal isVisible onOverlayPress={onOverlayPressMock} />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(onOverlayPressMock).toHaveBeenCalledTimes(1);\n });\n\n it(\"renders children with complex structure\", () => {\n const { getByText } = render(\n <Modal isVisible>\n <Text>{\"Parent\"}</Text>\n <Text>{\"Child\"}</Text>\n </Modal>\n );\n expect(getByText(\"Parent\")).toBeDefined();\n expect(getByText(\"Child\")).toBeDefined();\n });\n});\n"],"mappings":"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","ignoreList":[]}
|