react-native-timer-picker 2.1.1 → 2.2.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.
Files changed (99) hide show
  1. package/README.md +227 -152
  2. package/dist/commonjs/components/DurationScroll/DurationScroll.js +417 -0
  3. package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +1 -0
  4. package/dist/commonjs/components/DurationScroll/index.js +20 -392
  5. package/dist/commonjs/components/DurationScroll/index.js.map +1 -1
  6. package/dist/commonjs/components/DurationScroll/types.js.map +1 -1
  7. package/dist/commonjs/components/Modal/Modal.js +107 -0
  8. package/dist/commonjs/components/Modal/Modal.js.map +1 -0
  9. package/dist/commonjs/components/Modal/index.js +20 -101
  10. package/dist/commonjs/components/Modal/index.js.map +1 -1
  11. package/dist/commonjs/components/TimerPicker/TimerPicker.js +225 -0
  12. package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +1 -0
  13. package/dist/commonjs/components/TimerPicker/index.js +29 -166
  14. package/dist/commonjs/components/TimerPicker/index.js.map +1 -1
  15. package/dist/commonjs/components/TimerPicker/styles.js.map +1 -1
  16. package/dist/commonjs/components/TimerPicker/types.js.map +1 -1
  17. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js +143 -0
  18. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js.map +1 -0
  19. package/dist/commonjs/components/TimerPickerModal/index.js +30 -131
  20. package/dist/commonjs/components/TimerPickerModal/index.js.map +1 -1
  21. package/dist/commonjs/components/TimerPickerModal/types.js.map +1 -1
  22. package/dist/commonjs/index.js +9 -13
  23. package/dist/commonjs/index.js.map +1 -1
  24. package/dist/commonjs/tests/TimerPicker.test.js +4 -1
  25. package/dist/commonjs/tests/TimerPicker.test.js.map +1 -1
  26. package/dist/commonjs/utils/colorToRgba.js +35 -4
  27. package/dist/commonjs/utils/colorToRgba.js.map +1 -1
  28. package/dist/commonjs/utils/generateNumbers.js +67 -0
  29. package/dist/commonjs/utils/generateNumbers.js.map +1 -1
  30. package/dist/commonjs/utils/getAdjustedLimit.js +25 -0
  31. package/dist/commonjs/utils/getAdjustedLimit.js.map +1 -1
  32. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js +38 -0
  33. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
  34. package/dist/commonjs/utils/getInitialScrollIndex.js +38 -0
  35. package/dist/commonjs/utils/getInitialScrollIndex.js.map +1 -1
  36. package/dist/commonjs/utils/getSafeInitialValue.js +28 -0
  37. package/dist/commonjs/utils/getSafeInitialValue.js.map +1 -1
  38. package/dist/commonjs/utils/padNumber.js +25 -0
  39. package/dist/commonjs/utils/padNumber.js.map +1 -1
  40. package/dist/module/components/DurationScroll/DurationScroll.js +410 -0
  41. package/dist/module/components/DurationScroll/DurationScroll.js.map +1 -0
  42. package/dist/module/components/DurationScroll/index.js +2 -390
  43. package/dist/module/components/DurationScroll/index.js.map +1 -1
  44. package/dist/module/components/DurationScroll/types.js.map +1 -1
  45. package/dist/module/components/Modal/Modal.js +99 -0
  46. package/dist/module/components/Modal/Modal.js.map +1 -0
  47. package/dist/module/components/Modal/index.js +2 -98
  48. package/dist/module/components/Modal/index.js.map +1 -1
  49. package/dist/module/components/TimerPicker/TimerPicker.js +217 -0
  50. package/dist/module/components/TimerPicker/TimerPicker.js.map +1 -0
  51. package/dist/module/components/TimerPicker/index.js +3 -166
  52. package/dist/module/components/TimerPicker/index.js.map +1 -1
  53. package/dist/module/components/TimerPicker/styles.js.map +1 -1
  54. package/dist/module/components/TimerPicker/types.js.map +1 -1
  55. package/dist/module/components/TimerPickerModal/TimerPickerModal.js +135 -0
  56. package/dist/module/components/TimerPickerModal/TimerPickerModal.js.map +1 -0
  57. package/dist/module/components/TimerPickerModal/index.js +3 -130
  58. package/dist/module/components/TimerPickerModal/index.js.map +1 -1
  59. package/dist/module/components/TimerPickerModal/types.js.map +1 -1
  60. package/dist/module/index.js +2 -6
  61. package/dist/module/index.js.map +1 -1
  62. package/dist/module/tests/TimerPicker.test.js +4 -1
  63. package/dist/module/tests/TimerPicker.test.js.map +1 -1
  64. package/dist/module/utils/colorToRgba.js +35 -4
  65. package/dist/module/utils/colorToRgba.js.map +1 -1
  66. package/dist/module/utils/generateNumbers.js +68 -0
  67. package/dist/module/utils/generateNumbers.js.map +1 -1
  68. package/dist/module/utils/getAdjustedLimit.js +25 -0
  69. package/dist/module/utils/getAdjustedLimit.js.map +1 -1
  70. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js +38 -0
  71. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
  72. package/dist/module/utils/getInitialScrollIndex.js +38 -0
  73. package/dist/module/utils/getInitialScrollIndex.js.map +1 -1
  74. package/dist/module/utils/getSafeInitialValue.js +28 -0
  75. package/dist/module/utils/getSafeInitialValue.js.map +1 -1
  76. package/dist/module/utils/padNumber.js +25 -0
  77. package/dist/module/utils/padNumber.js.map +1 -1
  78. package/dist/typescript/components/DurationScroll/DurationScroll.d.ts +4 -0
  79. package/dist/typescript/components/DurationScroll/index.d.ts +2 -4
  80. package/dist/typescript/components/DurationScroll/types.d.ts +13 -9
  81. package/dist/typescript/components/Modal/Modal.d.ts +5 -0
  82. package/dist/typescript/components/Modal/index.d.ts +2 -5
  83. package/dist/typescript/components/TimerPicker/TimerPicker.d.ts +4 -0
  84. package/dist/typescript/components/TimerPicker/index.d.ts +3 -4
  85. package/dist/typescript/components/TimerPicker/styles.d.ts +1169 -771
  86. package/dist/typescript/components/TimerPicker/types.d.ts +26 -10
  87. package/dist/typescript/components/TimerPickerModal/TimerPickerModal.d.ts +4 -0
  88. package/dist/typescript/components/TimerPickerModal/index.d.ts +3 -4
  89. package/dist/typescript/components/TimerPickerModal/styles.d.ts +722 -474
  90. package/dist/typescript/components/TimerPickerModal/types.d.ts +8 -5
  91. package/dist/typescript/index.d.ts +2 -6
  92. package/dist/typescript/utils/colorToRgba.d.ts +34 -0
  93. package/dist/typescript/utils/generateNumbers.d.ts +66 -0
  94. package/dist/typescript/utils/getAdjustedLimit.d.ts +27 -2
  95. package/dist/typescript/utils/getDurationAndIndexFromScrollOffset.d.ts +38 -0
  96. package/dist/typescript/utils/getInitialScrollIndex.d.ts +38 -0
  97. package/dist/typescript/utils/getSafeInitialValue.d.ts +29 -0
  98. package/dist/typescript/utils/padNumber.d.ts +25 -0
  99. package/package.json +10 -27
@@ -3,174 +3,37 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _getSafeInitialValue = require("../../utils/getSafeInitialValue");
10
- var _DurationScroll = _interopRequireDefault(require("../DurationScroll"));
11
- var _styles = require("./styles");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
16
- const TimerPicker = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
17
- const {
18
- aggressivelyGetLatestDuration = false,
19
- allowFontScaling = false,
20
- amLabel = "am",
21
- disableInfiniteScroll = false,
22
- hideHours = false,
23
- hideMinutes = false,
24
- hideSeconds = false,
25
- hourInterval = 1,
26
- hourLabel,
27
- hourLimit,
28
- hoursPickerIsDisabled = false,
29
- initialValue,
30
- maximumHours = 23,
31
- maximumMinutes = 59,
32
- maximumSeconds = 59,
33
- minuteInterval = 1,
34
- minuteLabel,
35
- minuteLimit,
36
- minutesPickerIsDisabled = false,
37
- onDurationChange,
38
- padHoursWithZero = false,
39
- padMinutesWithZero = true,
40
- padSecondsWithZero = true,
41
- padWithNItems = 1,
42
- pickerContainerProps,
43
- pmLabel = "pm",
44
- repeatHourNumbersNTimes = 8,
45
- repeatMinuteNumbersNTimes = 3,
46
- repeatSecondNumbersNTimes = 3,
47
- secondInterval = 1,
48
- secondLabel,
49
- secondLimit,
50
- secondsPickerIsDisabled = false,
51
- styles: customStyles,
52
- use12HourPicker = false,
53
- ...otherProps
54
- } = props;
55
- const safePadWithNItems = (0, _react.useMemo)(() => {
56
- if (padWithNItems < 0 || isNaN(padWithNItems)) {
57
- return 0;
6
+ var _exportNames = {};
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _TimerPicker.default;
11
+ }
12
+ });
13
+ var _TimerPicker = _interopRequireDefault(require("./TimerPicker"));
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];
58
23
  }
59
- const maxPadWithNItems = hideHours ? 15 : 6;
60
- if (padWithNItems > maxPadWithNItems) {
61
- return maxPadWithNItems;
24
+ });
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];
62
35
  }
63
- return Math.round(padWithNItems);
64
- }, [hideHours, padWithNItems]);
65
- const safeInitialValue = (0, _react.useMemo)(() => (0, _getSafeInitialValue.getSafeInitialValue)({
66
- hours: initialValue === null || initialValue === void 0 ? void 0 : initialValue.hours,
67
- minutes: initialValue === null || initialValue === void 0 ? void 0 : initialValue.minutes,
68
- seconds: initialValue === null || initialValue === void 0 ? void 0 : initialValue.seconds
69
- }), [initialValue === null || initialValue === void 0 ? void 0 : initialValue.hours, initialValue === null || initialValue === void 0 ? void 0 : initialValue.minutes, initialValue === null || initialValue === void 0 ? void 0 : initialValue.seconds]);
70
- const styles = (0, _react.useMemo)(() => (0, _styles.generateStyles)(customStyles), [customStyles]);
71
- const [selectedHours, setSelectedHours] = (0, _react.useState)(safeInitialValue.hours);
72
- const [selectedMinutes, setSelectedMinutes] = (0, _react.useState)(safeInitialValue.minutes);
73
- const [selectedSeconds, setSelectedSeconds] = (0, _react.useState)(safeInitialValue.seconds);
74
- (0, _react.useEffect)(() => {
75
- onDurationChange === null || onDurationChange === void 0 || onDurationChange({
76
- hours: selectedHours,
77
- minutes: selectedMinutes,
78
- seconds: selectedSeconds
79
- });
80
- // eslint-disable-next-line react-hooks/exhaustive-deps
81
- }, [selectedHours, selectedMinutes, selectedSeconds]);
82
- const hoursDurationScrollRef = (0, _react.useRef)(null);
83
- const minutesDurationScrollRef = (0, _react.useRef)(null);
84
- const secondsDurationScrollRef = (0, _react.useRef)(null);
85
- (0, _react.useImperativeHandle)(ref, () => {
86
- var _hoursDurationScrollR3, _minutesDurationScrol3, _secondsDurationScrol3;
87
- return {
88
- reset: options => {
89
- var _hoursDurationScrollR, _minutesDurationScrol, _secondsDurationScrol;
90
- setSelectedHours(safeInitialValue.hours);
91
- setSelectedMinutes(safeInitialValue.minutes);
92
- setSelectedSeconds(safeInitialValue.seconds);
93
- (_hoursDurationScrollR = hoursDurationScrollRef.current) === null || _hoursDurationScrollR === void 0 || _hoursDurationScrollR.reset(options);
94
- (_minutesDurationScrol = minutesDurationScrollRef.current) === null || _minutesDurationScrol === void 0 || _minutesDurationScrol.reset(options);
95
- (_secondsDurationScrol = secondsDurationScrollRef.current) === null || _secondsDurationScrol === void 0 || _secondsDurationScrol.reset(options);
96
- },
97
- setValue: (value, options) => {
98
- var _hoursDurationScrollR2, _minutesDurationScrol2, _secondsDurationScrol2;
99
- setSelectedHours(value.hours);
100
- setSelectedMinutes(value.minutes);
101
- setSelectedSeconds(value.seconds);
102
- (_hoursDurationScrollR2 = hoursDurationScrollRef.current) === null || _hoursDurationScrollR2 === void 0 || _hoursDurationScrollR2.setValue(value.hours, options);
103
- (_minutesDurationScrol2 = minutesDurationScrollRef.current) === null || _minutesDurationScrol2 === void 0 || _minutesDurationScrol2.setValue(value.minutes, options);
104
- (_secondsDurationScrol2 = secondsDurationScrollRef.current) === null || _secondsDurationScrol2 === void 0 || _secondsDurationScrol2.setValue(value.seconds, options);
105
- },
106
- latestDuration: {
107
- hours: (_hoursDurationScrollR3 = hoursDurationScrollRef.current) === null || _hoursDurationScrollR3 === void 0 ? void 0 : _hoursDurationScrollR3.latestDuration,
108
- minutes: (_minutesDurationScrol3 = minutesDurationScrollRef.current) === null || _minutesDurationScrol3 === void 0 ? void 0 : _minutesDurationScrol3.latestDuration,
109
- seconds: (_secondsDurationScrol3 = secondsDurationScrollRef.current) === null || _secondsDurationScrol3 === void 0 ? void 0 : _secondsDurationScrol3.latestDuration
110
- }
111
- };
112
36
  });
113
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({}, pickerContainerProps, {
114
- style: styles.pickerContainer,
115
- testID: "timer-picker"
116
- }), !hideHours ? /*#__PURE__*/_react.default.createElement(_DurationScroll.default, _extends({
117
- ref: hoursDurationScrollRef,
118
- aggressivelyGetLatestDuration: aggressivelyGetLatestDuration,
119
- allowFontScaling: allowFontScaling,
120
- amLabel: amLabel,
121
- disableInfiniteScroll: disableInfiniteScroll,
122
- initialValue: safeInitialValue.hours,
123
- interval: hourInterval,
124
- is12HourPicker: use12HourPicker,
125
- isDisabled: hoursPickerIsDisabled,
126
- label: hourLabel ?? (!use12HourPicker ? "h" : undefined),
127
- limit: hourLimit,
128
- maximumValue: maximumHours,
129
- onDurationChange: setSelectedHours,
130
- padNumbersWithZero: padHoursWithZero,
131
- padWithNItems: safePadWithNItems,
132
- pmLabel: pmLabel,
133
- repeatNumbersNTimes: repeatHourNumbersNTimes,
134
- repeatNumbersNTimesNotExplicitlySet: (props === null || props === void 0 ? void 0 : props.repeatHourNumbersNTimes) === undefined,
135
- styles: styles,
136
- testID: "duration-scroll-hour"
137
- }, otherProps)) : null, !hideMinutes ? /*#__PURE__*/_react.default.createElement(_DurationScroll.default, _extends({
138
- ref: minutesDurationScrollRef,
139
- aggressivelyGetLatestDuration: aggressivelyGetLatestDuration,
140
- allowFontScaling: allowFontScaling,
141
- disableInfiniteScroll: disableInfiniteScroll,
142
- initialValue: safeInitialValue.minutes,
143
- interval: minuteInterval,
144
- isDisabled: minutesPickerIsDisabled,
145
- label: minuteLabel ?? "m",
146
- limit: minuteLimit,
147
- maximumValue: maximumMinutes,
148
- onDurationChange: setSelectedMinutes,
149
- padNumbersWithZero: padMinutesWithZero,
150
- padWithNItems: safePadWithNItems,
151
- repeatNumbersNTimes: repeatMinuteNumbersNTimes,
152
- repeatNumbersNTimesNotExplicitlySet: (props === null || props === void 0 ? void 0 : props.repeatMinuteNumbersNTimes) === undefined,
153
- styles: styles,
154
- testID: "duration-scroll-minute"
155
- }, otherProps)) : null, !hideSeconds ? /*#__PURE__*/_react.default.createElement(_DurationScroll.default, _extends({
156
- ref: secondsDurationScrollRef,
157
- aggressivelyGetLatestDuration: aggressivelyGetLatestDuration,
158
- allowFontScaling: allowFontScaling,
159
- disableInfiniteScroll: disableInfiniteScroll,
160
- initialValue: safeInitialValue.seconds,
161
- interval: secondInterval,
162
- isDisabled: secondsPickerIsDisabled,
163
- label: secondLabel ?? "s",
164
- limit: secondLimit,
165
- maximumValue: maximumSeconds,
166
- onDurationChange: setSelectedSeconds,
167
- padNumbersWithZero: padSecondsWithZero,
168
- padWithNItems: safePadWithNItems,
169
- repeatNumbersNTimes: repeatSecondNumbersNTimes,
170
- repeatNumbersNTimesNotExplicitlySet: (props === null || props === void 0 ? void 0 : props.repeatSecondNumbersNTimes) === undefined,
171
- styles: styles,
172
- testID: "duration-scroll-second"
173
- }, otherProps)) : null);
174
37
  });
175
- var _default = exports.default = /*#__PURE__*/_react.default.memo(TimerPicker);
38
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
176
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_getSafeInitialValue","_DurationScroll","_interopRequireDefault","_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","TimerPicker","forwardRef","props","ref","aggressivelyGetLatestDuration","allowFontScaling","amLabel","disableInfiniteScroll","hideHours","hideMinutes","hideSeconds","hourInterval","hourLabel","hourLimit","hoursPickerIsDisabled","initialValue","maximumHours","maximumMinutes","maximumSeconds","minuteInterval","minuteLabel","minuteLimit","minutesPickerIsDisabled","onDurationChange","padHoursWithZero","padMinutesWithZero","padSecondsWithZero","padWithNItems","pickerContainerProps","pmLabel","repeatHourNumbersNTimes","repeatMinuteNumbersNTimes","repeatSecondNumbersNTimes","secondInterval","secondLabel","secondLimit","secondsPickerIsDisabled","styles","customStyles","use12HourPicker","otherProps","safePadWithNItems","useMemo","isNaN","maxPadWithNItems","Math","round","safeInitialValue","getSafeInitialValue","hours","minutes","seconds","generateStyles","selectedHours","setSelectedHours","useState","selectedMinutes","setSelectedMinutes","selectedSeconds","setSelectedSeconds","useEffect","hoursDurationScrollRef","useRef","minutesDurationScrollRef","secondsDurationScrollRef","useImperativeHandle","_hoursDurationScrollR3","_minutesDurationScrol3","_secondsDurationScrol3","reset","options","_hoursDurationScrollR","_minutesDurationScrol","_secondsDurationScrol","current","setValue","value","_hoursDurationScrollR2","_minutesDurationScrol2","_secondsDurationScrol2","latestDuration","createElement","View","style","pickerContainer","testID","interval","is12HourPicker","isDisabled","label","undefined","limit","maximumValue","padNumbersWithZero","repeatNumbersNTimes","repeatNumbersNTimesNotExplicitlySet","_default","exports","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { View } from \"react-native\";\n\nimport { getSafeInitialValue } from \"../../utils/getSafeInitialValue\";\nimport DurationScroll from \"../DurationScroll\";\nimport type { DurationScrollRef } from \"../DurationScroll/types\";\n\nimport { generateStyles } from \"./styles\";\nimport type { TimerPickerProps, TimerPickerRef } from \"./types\";\n\nconst TimerPicker = forwardRef<TimerPickerRef, TimerPickerProps>(\n (props, ref) => {\n const {\n aggressivelyGetLatestDuration = false,\n allowFontScaling = false,\n amLabel = \"am\",\n disableInfiniteScroll = false,\n hideHours = false,\n hideMinutes = false,\n hideSeconds = false,\n hourInterval = 1,\n hourLabel,\n hourLimit,\n hoursPickerIsDisabled = false,\n initialValue,\n maximumHours = 23,\n maximumMinutes = 59,\n maximumSeconds = 59,\n minuteInterval = 1,\n minuteLabel,\n minuteLimit,\n minutesPickerIsDisabled = false,\n onDurationChange,\n padHoursWithZero = false,\n padMinutesWithZero = true,\n padSecondsWithZero = true,\n padWithNItems = 1,\n pickerContainerProps,\n pmLabel = \"pm\",\n repeatHourNumbersNTimes = 8,\n repeatMinuteNumbersNTimes = 3,\n repeatSecondNumbersNTimes = 3,\n secondInterval = 1,\n secondLabel,\n secondLimit,\n secondsPickerIsDisabled = false,\n styles: customStyles,\n use12HourPicker = false,\n ...otherProps\n } = props;\n\n const safePadWithNItems = useMemo(() => {\n if (padWithNItems < 0 || isNaN(padWithNItems)) {\n return 0;\n }\n\n const maxPadWithNItems = hideHours ? 15 : 6;\n\n if (padWithNItems > maxPadWithNItems) {\n return maxPadWithNItems;\n }\n\n return Math.round(padWithNItems);\n }, [hideHours, padWithNItems]);\n\n const safeInitialValue = useMemo(\n () =>\n getSafeInitialValue({\n hours: initialValue?.hours,\n minutes: initialValue?.minutes,\n seconds: initialValue?.seconds,\n }),\n [initialValue?.hours, initialValue?.minutes, initialValue?.seconds]\n );\n\n const styles = useMemo(\n () => generateStyles(customStyles),\n\n [customStyles]\n );\n\n const [selectedHours, setSelectedHours] = useState(\n safeInitialValue.hours\n );\n const [selectedMinutes, setSelectedMinutes] = useState(\n safeInitialValue.minutes\n );\n const [selectedSeconds, setSelectedSeconds] = useState(\n safeInitialValue.seconds\n );\n\n useEffect(() => {\n onDurationChange?.({\n hours: selectedHours,\n minutes: selectedMinutes,\n seconds: selectedSeconds,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedHours, selectedMinutes, selectedSeconds]);\n\n const hoursDurationScrollRef = useRef<DurationScrollRef>(null);\n const minutesDurationScrollRef = useRef<DurationScrollRef>(null);\n const secondsDurationScrollRef = useRef<DurationScrollRef>(null);\n\n useImperativeHandle(ref, () => ({\n reset: (options) => {\n setSelectedHours(safeInitialValue.hours);\n setSelectedMinutes(safeInitialValue.minutes);\n setSelectedSeconds(safeInitialValue.seconds);\n hoursDurationScrollRef.current?.reset(options);\n minutesDurationScrollRef.current?.reset(options);\n secondsDurationScrollRef.current?.reset(options);\n },\n setValue: (value, options) => {\n setSelectedHours(value.hours);\n setSelectedMinutes(value.minutes);\n setSelectedSeconds(value.seconds);\n hoursDurationScrollRef.current?.setValue(value.hours, options);\n minutesDurationScrollRef.current?.setValue(\n value.minutes,\n options\n );\n secondsDurationScrollRef.current?.setValue(\n value.seconds,\n options\n );\n },\n latestDuration: {\n hours: hoursDurationScrollRef.current?.latestDuration,\n minutes: minutesDurationScrollRef.current?.latestDuration,\n seconds: secondsDurationScrollRef.current?.latestDuration,\n },\n }));\n\n return (\n <View\n {...pickerContainerProps}\n style={styles.pickerContainer}\n testID=\"timer-picker\">\n {!hideHours ? (\n <DurationScroll\n ref={hoursDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n amLabel={amLabel}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.hours}\n interval={hourInterval}\n is12HourPicker={use12HourPicker}\n isDisabled={hoursPickerIsDisabled}\n label={\n hourLabel ?? (!use12HourPicker ? \"h\" : undefined)\n }\n limit={hourLimit}\n maximumValue={maximumHours}\n onDurationChange={setSelectedHours}\n padNumbersWithZero={padHoursWithZero}\n padWithNItems={safePadWithNItems}\n pmLabel={pmLabel}\n repeatNumbersNTimes={repeatHourNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatHourNumbersNTimes === undefined\n }\n styles={styles}\n testID=\"duration-scroll-hour\"\n {...otherProps}\n />\n ) : null}\n {!hideMinutes ? (\n <DurationScroll\n ref={minutesDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.minutes}\n interval={minuteInterval}\n isDisabled={minutesPickerIsDisabled}\n label={minuteLabel ?? \"m\"}\n limit={minuteLimit}\n maximumValue={maximumMinutes}\n onDurationChange={setSelectedMinutes}\n padNumbersWithZero={padMinutesWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatMinuteNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatMinuteNumbersNTimes === undefined\n }\n styles={styles}\n testID=\"duration-scroll-minute\"\n {...otherProps}\n />\n ) : null}\n {!hideSeconds ? (\n <DurationScroll\n ref={secondsDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.seconds}\n interval={secondInterval}\n isDisabled={secondsPickerIsDisabled}\n label={secondLabel ?? \"s\"}\n limit={secondLimit}\n maximumValue={maximumSeconds}\n onDurationChange={setSelectedSeconds}\n padNumbersWithZero={padSecondsWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatSecondNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatSecondNumbersNTimes === undefined\n }\n styles={styles}\n testID=\"duration-scroll-second\"\n {...otherProps}\n />\n ) : null}\n </View>\n );\n }\n);\n\nexport default React.memo(TimerPicker);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_TimerPicker","_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 \"./TimerPicker\";\n\nexport * from \"./types\";\n\nexport * from \"./styles\";\n\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,YAAA,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":["_reactNative","require","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","_customStyles$pickerL","_customStyles$text","_customStyles$pickerI","_customStyles$text2","_customStyles$pickerI2","_customStyles$pickerI3","StyleSheet","create","pickerContainer","flexDirection","marginRight","backgroundColor","theme","pickerLabelContainer","position","right","top","bottom","justifyContent","minWidth","pickerLabel","fontSize","text","fontWeight","marginTop","pickerItem","color","pickerItemContainer","height","alignItems","width","textAlignVertical","pickerAmPmContainer","pickerAmPmLabel","disabledPickerContainer","opacity","disabledPickerItem","maskedView","flex","pickerGradientOverlay","durationScrollFlatList","durationScrollFlatListContainer","overflow","durationScrollFlatListContentContainer","exports"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport type { TextStyle, ViewStyle } from \"react-native\";\n\nexport interface CustomTimerPickerStyles {\n backgroundColor?: string;\n disabledPickerContainer?: ViewStyle;\n disabledPickerItem?: TextStyle;\n durationScrollFlatList?: ViewStyle;\n durationScrollFlatListContainer?: ViewStyle;\n durationScrollFlatListContentContainer?: ViewStyle;\n pickerAmPmContainer?: ViewStyle;\n pickerAmPmLabel?: TextStyle;\n pickerContainer?: ViewStyle & { backgroundColor?: string };\n pickerGradientOverlay?: ViewStyle;\n pickerItem?: TextStyle;\n pickerItemContainer?: ViewStyle & { height?: number };\n pickerLabel?: TextStyle;\n pickerLabelContainer?: ViewStyle;\n text?: TextStyle;\n theme?: \"light\" | \"dark\";\n}\n\nconst DARK_MODE_BACKGROUND_COLOR = \"#232323\";\nconst DARK_MODE_TEXT_COLOR = \"#E9E9E9\";\nconst LIGHT_MODE_BACKGROUND_COLOR = \"#F1F1F1\";\nconst LIGHT_MODE_TEXT_COLOR = \"#1B1B1B\";\n\nexport const generateStyles = (\n customStyles: CustomTimerPickerStyles | undefined,\n) =>\n StyleSheet.create({\n pickerContainer: {\n flexDirection: \"row\",\n marginRight: \"8%\",\n backgroundColor:\n customStyles?.backgroundColor ??\n (customStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR),\n ...customStyles?.pickerContainer,\n },\n pickerLabelContainer: {\n position: \"absolute\",\n right: 4,\n top: 0,\n bottom: 0,\n justifyContent: \"center\",\n minWidth:\n (customStyles?.pickerLabel?.fontSize ??\n customStyles?.text?.fontSize ??\n 25) * 0.65,\n ...customStyles?.pickerLabelContainer,\n },\n pickerLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n marginTop:\n (customStyles?.pickerItem?.fontSize ??\n customStyles?.text?.fontSize ??\n 25) / 6,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n },\n pickerItemContainer: {\n flexDirection: \"row\",\n height: 50,\n justifyContent: \"center\",\n alignItems: \"center\",\n width: (customStyles?.pickerItem?.fontSize ?? 25) * 3.6,\n ...customStyles?.pickerItemContainer,\n },\n pickerItem: {\n textAlignVertical: \"center\",\n fontSize: 25,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerItem,\n },\n pickerAmPmContainer: {\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n justifyContent: \"center\",\n ...customStyles?.pickerLabelContainer,\n ...customStyles?.pickerAmPmContainer,\n },\n pickerAmPmLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n marginTop: (customStyles?.pickerItem?.fontSize ?? 25) / 6,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n ...customStyles?.pickerAmPmLabel,\n },\n disabledPickerContainer: {\n opacity: 0.4,\n ...customStyles?.disabledPickerContainer,\n },\n disabledPickerItem: {\n opacity: 0.2,\n ...customStyles?.disabledPickerItem,\n },\n maskedView: {\n flex: 1,\n },\n pickerGradientOverlay: {\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n ...customStyles?.pickerGradientOverlay,\n },\n durationScrollFlatList: {\n minWidth: 1,\n width: \"300%\",\n ...customStyles?.durationScrollFlatList,\n },\n durationScrollFlatListContainer: {\n overflow: \"visible\",\n ...customStyles?.durationScrollFlatListContainer,\n },\n durationScrollFlatListContentContainer: {\n ...customStyles?.durationScrollFlatListContentContainer,\n },\n });\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","_customStyles$pickerL","_customStyles$text","_customStyles$pickerI","_customStyles$text2","_customStyles$pickerI2","_customStyles$pickerI3","StyleSheet","create","pickerContainer","flexDirection","marginRight","backgroundColor","theme","pickerLabelContainer","position","right","top","bottom","justifyContent","minWidth","pickerLabel","fontSize","text","fontWeight","marginTop","pickerItem","color","pickerItemContainer","height","alignItems","width","textAlignVertical","pickerAmPmContainer","pickerAmPmLabel","disabledPickerContainer","opacity","disabledPickerItem","maskedView","flex","pickerGradientOverlay","durationScrollFlatList","durationScrollFlatListContainer","overflow","durationScrollFlatListContentContainer","exports"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport type { TextStyle, ViewStyle } from \"react-native\";\n\nexport interface CustomTimerPickerStyles {\n backgroundColor?: string;\n disabledPickerContainer?: ViewStyle;\n disabledPickerItem?: TextStyle;\n durationScrollFlatList?: ViewStyle;\n durationScrollFlatListContainer?: ViewStyle;\n durationScrollFlatListContentContainer?: ViewStyle;\n pickerAmPmContainer?: ViewStyle;\n pickerAmPmLabel?: TextStyle;\n pickerContainer?: ViewStyle & { backgroundColor?: string };\n pickerGradientOverlay?: ViewStyle;\n pickerItem?: TextStyle;\n pickerItemContainer?: ViewStyle & { height?: number };\n pickerLabel?: TextStyle;\n pickerLabelContainer?: ViewStyle;\n text?: TextStyle;\n theme?: \"light\" | \"dark\";\n}\n\nconst DARK_MODE_BACKGROUND_COLOR = \"#232323\";\nconst DARK_MODE_TEXT_COLOR = \"#E9E9E9\";\nconst LIGHT_MODE_BACKGROUND_COLOR = \"#F1F1F1\";\nconst LIGHT_MODE_TEXT_COLOR = \"#1B1B1B\";\n\nexport const generateStyles = (\n customStyles: CustomTimerPickerStyles | undefined\n) =>\n StyleSheet.create({\n pickerContainer: {\n flexDirection: \"row\",\n marginRight: \"8%\",\n backgroundColor:\n customStyles?.backgroundColor ??\n (customStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR),\n ...customStyles?.pickerContainer,\n },\n pickerLabelContainer: {\n position: \"absolute\",\n right: 4,\n top: 0,\n bottom: 0,\n justifyContent: \"center\",\n minWidth:\n (customStyles?.pickerLabel?.fontSize ??\n customStyles?.text?.fontSize ??\n 25) * 0.65,\n ...customStyles?.pickerLabelContainer,\n },\n pickerLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n marginTop:\n (customStyles?.pickerItem?.fontSize ??\n customStyles?.text?.fontSize ??\n 25) / 6,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n },\n pickerItemContainer: {\n flexDirection: \"row\",\n height: 50,\n justifyContent: \"center\",\n alignItems: \"center\",\n width: (customStyles?.pickerItem?.fontSize ?? 25) * 3.6,\n ...customStyles?.pickerItemContainer,\n },\n pickerItem: {\n textAlignVertical: \"center\",\n fontSize: 25,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerItem,\n },\n pickerAmPmContainer: {\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n justifyContent: \"center\",\n ...customStyles?.pickerLabelContainer,\n ...customStyles?.pickerAmPmContainer,\n },\n pickerAmPmLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n marginTop: (customStyles?.pickerItem?.fontSize ?? 25) / 6,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n ...customStyles?.pickerAmPmLabel,\n },\n disabledPickerContainer: {\n opacity: 0.4,\n ...customStyles?.disabledPickerContainer,\n },\n disabledPickerItem: {\n opacity: 0.2,\n ...customStyles?.disabledPickerItem,\n },\n maskedView: {\n flex: 1,\n },\n pickerGradientOverlay: {\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n ...customStyles?.pickerGradientOverlay,\n },\n durationScrollFlatList: {\n minWidth: 1,\n width: \"300%\",\n ...customStyles?.durationScrollFlatList,\n },\n durationScrollFlatListContainer: {\n overflow: \"visible\",\n ...customStyles?.durationScrollFlatListContainer,\n },\n durationScrollFlatListContentContainer: {\n ...customStyles?.durationScrollFlatListContentContainer,\n },\n });\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { MutableRefObject } from \"react\";\n\nimport type { View } from \"react-native\";\n\nimport type {\n LinearGradientProps,\n SoundAssetType,\n LimitType,\n CustomFlatList,\n} from \"../DurationScroll/types\";\n\nimport type { CustomTimerPickerStyles } from \"./styles\";\n\nexport interface TimerPickerRef {\n latestDuration: {\n hours: MutableRefObject<number> | undefined;\n minutes: MutableRefObject<number> | undefined;\n seconds: MutableRefObject<number> | undefined;\n };\n reset: (options?: { animated?: boolean }) => void;\n setValue: (\n value: {\n hours: number;\n minutes: number;\n seconds: number;\n },\n options?: { animated?: boolean }\n ) => void;\n}\n\nexport interface TimerPickerProps {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Audio?: any;\n FlatList?: CustomFlatList;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Haptics?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n LinearGradient?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n MaskedView?: any;\n aggressivelyGetLatestDuration?: boolean;\n allowFontScaling?: boolean;\n amLabel?: string;\n clickSoundAsset?: SoundAssetType;\n disableInfiniteScroll?: boolean;\n hideHours?: boolean;\n hideMinutes?: boolean;\n hideSeconds?: boolean;\n hourInterval?: number;\n hourLabel?: string | React.ReactElement;\n hourLimit?: LimitType;\n hoursPickerIsDisabled?: boolean;\n initialValue?: {\n hours?: number;\n minutes?: number;\n seconds?: number;\n };\n maximumHours?: number;\n maximumMinutes?: number;\n maximumSeconds?: number;\n minuteInterval?: number;\n minuteLabel?: string | React.ReactElement;\n minuteLimit?: LimitType;\n minutesPickerIsDisabled?: boolean;\n onDurationChange?: (duration: {\n hours: number;\n minutes: number;\n seconds: number;\n }) => void;\n padHoursWithZero?: boolean;\n padMinutesWithZero?: boolean;\n padSecondsWithZero?: boolean;\n padWithNItems?: number;\n pickerContainerProps?: React.ComponentProps<typeof View>;\n pickerFeedback?: () => void | Promise<void>;\n pickerGradientOverlayProps?: Partial<LinearGradientProps>;\n pmLabel?: string;\n repeatHourNumbersNTimes?: number;\n repeatMinuteNumbersNTimes?: number;\n repeatSecondNumbersNTimes?: number;\n secondInterval?: number;\n secondLabel?: string | React.ReactElement;\n secondLimit?: LimitType;\n secondsPickerIsDisabled?: boolean;\n styles?: CustomTimerPickerStyles;\n use12HourPicker?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { RefObject } from \"react\";\n\nimport type { View } from \"react-native\";\n\nimport type {\n LinearGradientProps,\n SoundAsset,\n Limit,\n} from \"../DurationScroll/types\";\n\nimport type { CustomTimerPickerStyles } from \"./styles\";\n\nexport interface TimerPickerRef {\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 TimerPickerProps {\n /** @deprecated Use pickerFeedback prop instead. Will be removed in a future version. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Audio?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n FlatList?: any;\n /** @deprecated Use pickerFeedback prop instead. Will be removed in a future version. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Haptics?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n LinearGradient?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n MaskedView?: any;\n aggressivelyGetLatestDuration?: boolean;\n allowFontScaling?: boolean;\n amLabel?: string;\n /** @deprecated Use pickerFeedback prop instead. Will be removed in a future version. */\n clickSoundAsset?: SoundAsset;\n dayInterval?: number;\n dayLabel?: string | React.ReactElement;\n dayLimit?: Limit;\n daysPickerIsDisabled?: boolean;\n decelerationRate?: number | \"normal\" | \"fast\";\n disableInfiniteScroll?: boolean;\n hideDays?: boolean;\n hideHours?: boolean;\n hideMinutes?: boolean;\n hideSeconds?: boolean;\n hourInterval?: number;\n hourLabel?: string | React.ReactElement;\n hourLimit?: Limit;\n hoursPickerIsDisabled?: boolean;\n initialValue?: {\n days?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n };\n maximumDays?: number;\n maximumHours?: number;\n maximumMinutes?: number;\n maximumSeconds?: number;\n minuteInterval?: number;\n minuteLabel?: string | React.ReactElement;\n minuteLimit?: Limit;\n minutesPickerIsDisabled?: boolean;\n onDurationChange?: (duration: {\n days: number;\n hours: number;\n minutes: number;\n seconds: number;\n }) => void;\n padDaysWithZero?: boolean;\n padHoursWithZero?: boolean;\n padMinutesWithZero?: boolean;\n padSecondsWithZero?: boolean;\n padWithNItems?: number;\n pickerContainerProps?: React.ComponentProps<typeof View>;\n pickerFeedback?: () => void | Promise<void>;\n pickerGradientOverlayProps?: Partial<LinearGradientProps>;\n pmLabel?: string;\n repeatDayNumbersNTimes?: number;\n repeatHourNumbersNTimes?: number;\n repeatMinuteNumbersNTimes?: number;\n repeatSecondNumbersNTimes?: number;\n secondInterval?: number;\n secondLabel?: string | React.ReactElement;\n secondLimit?: Limit;\n secondsPickerIsDisabled?: boolean;\n styles?: CustomTimerPickerStyles;\n use12HourPicker?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _getSafeInitialValue = require("../../utils/getSafeInitialValue");
10
+ var _Modal = _interopRequireDefault(require("../Modal"));
11
+ var _TimerPicker = _interopRequireDefault(require("../TimerPicker"));
12
+ var _styles = require("./styles");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ 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); }
15
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
16
+ const TimerPickerModal = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
17
+ const {
18
+ buttonContainerProps,
19
+ buttonTouchableOpacityProps,
20
+ cancelButtonText = "Cancel",
21
+ closeOnOverlayPress,
22
+ confirmButtonText = "Confirm",
23
+ containerProps,
24
+ contentContainerProps,
25
+ hideCancelButton = false,
26
+ initialValue,
27
+ modalProps,
28
+ modalTitle,
29
+ modalTitleProps,
30
+ onCancel,
31
+ onConfirm,
32
+ onDurationChange,
33
+ setIsVisible,
34
+ styles: customStyles,
35
+ visible,
36
+ ...otherProps
37
+ } = props;
38
+ const styles = (0, _styles.generateStyles)(customStyles, {
39
+ hasModalTitle: Boolean(modalTitle)
40
+ });
41
+ const timerPickerRef = (0, _react.useRef)(null);
42
+ const safeInitialValue = (0, _getSafeInitialValue.getSafeInitialValue)({
43
+ days: initialValue === null || initialValue === void 0 ? void 0 : initialValue.days,
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
47
+ });
48
+ const [selectedDuration, setSelectedDuration] = (0, _react.useState)(safeInitialValue);
49
+ const [confirmedDuration, setConfirmedDuration] = (0, _react.useState)(safeInitialValue);
50
+ const reset = options => {
51
+ var _timerPickerRef$curre;
52
+ setSelectedDuration(safeInitialValue);
53
+ setConfirmedDuration(safeInitialValue);
54
+ (_timerPickerRef$curre = timerPickerRef.current) === null || _timerPickerRef$curre === void 0 || _timerPickerRef$curre.reset(options);
55
+ };
56
+
57
+ // reset state if the initial value changes
58
+ (0, _react.useEffect)(() => {
59
+ reset();
60
+ // eslint-disable-next-line react-hooks/exhaustive-deps
61
+ }, [safeInitialValue.days, safeInitialValue.hours, safeInitialValue.minutes, safeInitialValue.seconds]);
62
+ const hideModalHandler = () => {
63
+ setSelectedDuration({
64
+ days: confirmedDuration.days,
65
+ hours: confirmedDuration.hours,
66
+ minutes: confirmedDuration.minutes,
67
+ seconds: confirmedDuration.seconds
68
+ });
69
+ setIsVisible(false);
70
+ };
71
+ const confirmHandler = () => {
72
+ var _timerPickerRef$curre2, _latestDuration$days, _latestDuration$hours, _latestDuration$minut, _latestDuration$secon;
73
+ const latestDuration = (_timerPickerRef$curre2 = timerPickerRef.current) === null || _timerPickerRef$curre2 === void 0 ? void 0 : _timerPickerRef$curre2.latestDuration;
74
+ const newDuration = {
75
+ days: (latestDuration === null || latestDuration === void 0 || (_latestDuration$days = latestDuration.days) === null || _latestDuration$days === void 0 ? void 0 : _latestDuration$days.current) ?? selectedDuration.days,
76
+ hours: (latestDuration === null || latestDuration === void 0 || (_latestDuration$hours = latestDuration.hours) === null || _latestDuration$hours === void 0 ? void 0 : _latestDuration$hours.current) ?? selectedDuration.hours,
77
+ minutes: (latestDuration === null || latestDuration === void 0 || (_latestDuration$minut = latestDuration.minutes) === null || _latestDuration$minut === void 0 ? void 0 : _latestDuration$minut.current) ?? selectedDuration.minutes,
78
+ seconds: (latestDuration === null || latestDuration === void 0 || (_latestDuration$secon = latestDuration.seconds) === null || _latestDuration$secon === void 0 ? void 0 : _latestDuration$secon.current) ?? selectedDuration.seconds
79
+ };
80
+ setConfirmedDuration(newDuration);
81
+ onConfirm(newDuration);
82
+ };
83
+ const cancelHandler = () => {
84
+ setIsVisible(false);
85
+ setSelectedDuration(confirmedDuration);
86
+ onCancel === null || onCancel === void 0 || onCancel();
87
+ };
88
+
89
+ // wrapped in useCallback to avoid unnecessary re-renders of TimerPicker
90
+ const durationChangeHandler = (0, _react.useCallback)(duration => {
91
+ setSelectedDuration(duration);
92
+ onDurationChange === null || onDurationChange === void 0 || onDurationChange(duration);
93
+ }, [onDurationChange]);
94
+ (0, _react.useImperativeHandle)(ref, () => {
95
+ var _timerPickerRef$curre4, _timerPickerRef$curre5, _timerPickerRef$curre6, _timerPickerRef$curre7;
96
+ return {
97
+ reset,
98
+ setValue: (value, options) => {
99
+ var _timerPickerRef$curre3;
100
+ setSelectedDuration(value);
101
+ setConfirmedDuration(value);
102
+ (_timerPickerRef$curre3 = timerPickerRef.current) === null || _timerPickerRef$curre3 === void 0 || _timerPickerRef$curre3.setValue(value, options);
103
+ },
104
+ latestDuration: {
105
+ days: (_timerPickerRef$curre4 = timerPickerRef.current) === null || _timerPickerRef$curre4 === void 0 || (_timerPickerRef$curre4 = _timerPickerRef$curre4.latestDuration) === null || _timerPickerRef$curre4 === void 0 ? void 0 : _timerPickerRef$curre4.days,
106
+ hours: (_timerPickerRef$curre5 = timerPickerRef.current) === null || _timerPickerRef$curre5 === void 0 || (_timerPickerRef$curre5 = _timerPickerRef$curre5.latestDuration) === null || _timerPickerRef$curre5 === void 0 ? void 0 : _timerPickerRef$curre5.hours,
107
+ minutes: (_timerPickerRef$curre6 = timerPickerRef.current) === null || _timerPickerRef$curre6 === void 0 || (_timerPickerRef$curre6 = _timerPickerRef$curre6.latestDuration) === null || _timerPickerRef$curre6 === void 0 ? void 0 : _timerPickerRef$curre6.minutes,
108
+ seconds: (_timerPickerRef$curre7 = timerPickerRef.current) === null || _timerPickerRef$curre7 === void 0 || (_timerPickerRef$curre7 = _timerPickerRef$curre7.latestDuration) === null || _timerPickerRef$curre7 === void 0 ? void 0 : _timerPickerRef$curre7.seconds
109
+ }
110
+ };
111
+ });
112
+ return /*#__PURE__*/_react.default.createElement(_Modal.default, _extends({
113
+ isVisible: visible,
114
+ onOverlayPress: closeOnOverlayPress ? hideModalHandler : undefined
115
+ }, modalProps, {
116
+ testID: "timer-picker-modal"
117
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({}, containerProps, {
118
+ style: styles.container
119
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({}, contentContainerProps, {
120
+ style: styles.contentContainer
121
+ }), modalTitle ? /*#__PURE__*/_react.default.createElement(_reactNative.Text, _extends({}, modalTitleProps, {
122
+ style: styles.modalTitle
123
+ }), modalTitle) : null, /*#__PURE__*/_react.default.createElement(_TimerPicker.default, _extends({
124
+ ref: timerPickerRef,
125
+ initialValue: confirmedDuration
126
+ }, otherProps, {
127
+ aggressivelyGetLatestDuration: true,
128
+ onDurationChange: durationChangeHandler,
129
+ styles: styles.timerPickerStyles
130
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({}, buttonContainerProps, {
131
+ style: styles.buttonContainer
132
+ }), !hideCancelButton ? /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, _extends({}, buttonTouchableOpacityProps, {
133
+ onPress: cancelHandler
134
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
135
+ style: [styles.button, styles.cancelButton]
136
+ }, cancelButtonText)) : null, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, _extends({}, buttonTouchableOpacityProps, {
137
+ onPress: confirmHandler
138
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
139
+ style: [styles.button, styles.confirmButton]
140
+ }, confirmButtonText))))));
141
+ });
142
+ var _default = exports.default = /*#__PURE__*/_react.default.memo(TimerPickerModal);
143
+ //# sourceMappingURL=TimerPickerModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_getSafeInitialValue","_Modal","_interopRequireDefault","_TimerPicker","_styles","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_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","days","hours","minutes","seconds","selectedDuration","setSelectedDuration","useState","confirmedDuration","setConfirmedDuration","reset","options","_timerPickerRef$curre","current","useEffect","hideModalHandler","confirmHandler","_timerPickerRef$curre2","_latestDuration$days","_latestDuration$hours","_latestDuration$minut","_latestDuration$secon","latestDuration","newDuration","cancelHandler","durationChangeHandler","useCallback","duration","useImperativeHandle","_timerPickerRef$curre4","_timerPickerRef$curre5","_timerPickerRef$curre6","_timerPickerRef$curre7","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":["TimerPickerModal.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\";\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 days: initialValue?.days,\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.days,\n safeInitialValue.hours,\n safeInitialValue.minutes,\n safeInitialValue.seconds,\n ]);\n\n const hideModalHandler = () => {\n setSelectedDuration({\n days: confirmedDuration.days,\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 days: latestDuration?.days?.current ?? selectedDuration.days,\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: {\n days: number;\n hours: number;\n minutes: number;\n seconds: number;\n }) => {\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 days: timerPickerRef.current?.latestDuration?.days,\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":[]}