react-native-timer-picker 2.5.0 → 2.6.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.
Files changed (122) hide show
  1. package/README.md +22 -13
  2. package/dist/commonjs/components/DurationScroll/DurationScroll.js +39 -18
  3. package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +1 -1
  4. package/dist/commonjs/components/DurationScroll/types.js.map +1 -1
  5. package/dist/commonjs/components/Modal/Modal.js +10 -10
  6. package/dist/commonjs/components/Modal/Modal.js.map +1 -1
  7. package/dist/commonjs/components/Modal/styles.js +5 -5
  8. package/dist/commonjs/components/Modal/styles.js.map +1 -1
  9. package/dist/commonjs/components/Modal/types.js.map +1 -1
  10. package/dist/commonjs/components/PickerItem/PickerItem.js +2 -1
  11. package/dist/commonjs/components/PickerItem/PickerItem.js.map +1 -1
  12. package/dist/commonjs/components/TimerPicker/TimerPicker.js +47 -21
  13. package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +1 -1
  14. package/dist/commonjs/components/TimerPicker/index.js.map +1 -1
  15. package/dist/commonjs/components/TimerPicker/styles.js +79 -69
  16. package/dist/commonjs/components/TimerPicker/styles.js.map +1 -1
  17. package/dist/commonjs/components/TimerPicker/types.js.map +1 -1
  18. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js +34 -14
  19. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js.map +1 -1
  20. package/dist/commonjs/components/TimerPickerModal/styles.js +34 -28
  21. package/dist/commonjs/components/TimerPickerModal/styles.js.map +1 -1
  22. package/dist/commonjs/components/TimerPickerModal/types.js.map +1 -1
  23. package/dist/commonjs/index.js +3 -39
  24. package/dist/commonjs/index.js.map +1 -1
  25. package/dist/commonjs/tests/DurationScroll.test.js +8 -8
  26. package/dist/commonjs/tests/DurationScroll.test.js.map +1 -1
  27. package/dist/commonjs/tests/Modal.test.js.map +1 -1
  28. package/dist/commonjs/tests/TimerPicker.test.js +1 -9
  29. package/dist/commonjs/tests/TimerPicker.test.js.map +1 -1
  30. package/dist/commonjs/tests/TimerPickerModal.test.js +3 -3
  31. package/dist/commonjs/tests/TimerPickerModal.test.js.map +1 -1
  32. package/dist/commonjs/tests/colorToRgba.test.js.map +1 -1
  33. package/dist/commonjs/tests/generateNumbers.test.js +63 -63
  34. package/dist/commonjs/tests/generateNumbers.test.js.map +1 -1
  35. package/dist/commonjs/tests/getAdjustedLimit.test.js +38 -38
  36. package/dist/commonjs/tests/getAdjustedLimit.test.js.map +1 -1
  37. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -1
  38. package/dist/commonjs/tests/getInitialScrollIndex.test.js.map +1 -1
  39. package/dist/commonjs/tests/getSafeInitialValue.test.js +2 -0
  40. package/dist/commonjs/tests/getSafeInitialValue.test.js.map +1 -1
  41. package/dist/commonjs/tests/padNumber.test.js.map +1 -1
  42. package/dist/commonjs/utils/colorToRgba.js +4 -4
  43. package/dist/commonjs/utils/colorToRgba.js.map +1 -1
  44. package/dist/commonjs/utils/generateNumbers.js.map +1 -1
  45. package/dist/commonjs/utils/getAdjustedLimit.js.map +1 -1
  46. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
  47. package/dist/commonjs/utils/getInitialScrollIndex.js +4 -4
  48. package/dist/commonjs/utils/getInitialScrollIndex.js.map +1 -1
  49. package/dist/commonjs/utils/getSafeInitialValue.js +5 -5
  50. package/dist/commonjs/utils/getSafeInitialValue.js.map +1 -1
  51. package/dist/commonjs/utils/padNumber.js.map +1 -1
  52. package/dist/module/components/DurationScroll/DurationScroll.js +39 -18
  53. package/dist/module/components/DurationScroll/DurationScroll.js.map +1 -1
  54. package/dist/module/components/DurationScroll/types.js.map +1 -1
  55. package/dist/module/components/Modal/Modal.js +10 -10
  56. package/dist/module/components/Modal/Modal.js.map +1 -1
  57. package/dist/module/components/Modal/styles.js +5 -5
  58. package/dist/module/components/Modal/styles.js.map +1 -1
  59. package/dist/module/components/Modal/types.js.map +1 -1
  60. package/dist/module/components/PickerItem/PickerItem.js +2 -1
  61. package/dist/module/components/PickerItem/PickerItem.js.map +1 -1
  62. package/dist/module/components/TimerPicker/TimerPicker.js +47 -21
  63. package/dist/module/components/TimerPicker/TimerPicker.js.map +1 -1
  64. package/dist/module/components/TimerPicker/index.js.map +1 -1
  65. package/dist/module/components/TimerPicker/styles.js +79 -69
  66. package/dist/module/components/TimerPicker/styles.js.map +1 -1
  67. package/dist/module/components/TimerPicker/types.js.map +1 -1
  68. package/dist/module/components/TimerPickerModal/TimerPickerModal.js +35 -15
  69. package/dist/module/components/TimerPickerModal/TimerPickerModal.js.map +1 -1
  70. package/dist/module/components/TimerPickerModal/styles.js +33 -27
  71. package/dist/module/components/TimerPickerModal/styles.js.map +1 -1
  72. package/dist/module/components/TimerPickerModal/types.js.map +1 -1
  73. package/dist/module/index.js +2 -2
  74. package/dist/module/index.js.map +1 -1
  75. package/dist/module/tests/DurationScroll.test.js +8 -8
  76. package/dist/module/tests/DurationScroll.test.js.map +1 -1
  77. package/dist/module/tests/Modal.test.js.map +1 -1
  78. package/dist/module/tests/TimerPicker.test.js +1 -8
  79. package/dist/module/tests/TimerPicker.test.js.map +1 -1
  80. package/dist/module/tests/TimerPickerModal.test.js +3 -3
  81. package/dist/module/tests/TimerPickerModal.test.js.map +1 -1
  82. package/dist/module/tests/colorToRgba.test.js.map +1 -1
  83. package/dist/module/tests/generateNumbers.test.js +63 -63
  84. package/dist/module/tests/generateNumbers.test.js.map +1 -1
  85. package/dist/module/tests/getAdjustedLimit.test.js +38 -38
  86. package/dist/module/tests/getAdjustedLimit.test.js.map +1 -1
  87. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -1
  88. package/dist/module/tests/getInitialScrollIndex.test.js.map +1 -1
  89. package/dist/module/tests/getSafeInitialValue.test.js +1 -0
  90. package/dist/module/tests/getSafeInitialValue.test.js.map +1 -1
  91. package/dist/module/tests/padNumber.test.js.map +1 -1
  92. package/dist/module/utils/colorToRgba.js +4 -4
  93. package/dist/module/utils/colorToRgba.js.map +1 -1
  94. package/dist/module/utils/generateNumbers.js.map +1 -1
  95. package/dist/module/utils/getAdjustedLimit.js.map +1 -1
  96. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
  97. package/dist/module/utils/getInitialScrollIndex.js +4 -4
  98. package/dist/module/utils/getInitialScrollIndex.js.map +1 -1
  99. package/dist/module/utils/getSafeInitialValue.js +5 -5
  100. package/dist/module/utils/getSafeInitialValue.js.map +1 -1
  101. package/dist/module/utils/padNumber.js.map +1 -1
  102. package/dist/typescript/components/DurationScroll/types.d.ts +9 -6
  103. package/dist/typescript/components/Modal/styles.d.ts +5 -5
  104. package/dist/typescript/components/Modal/types.d.ts +2 -1
  105. package/dist/typescript/components/PickerItem/PickerItem.d.ts +4 -0
  106. package/dist/typescript/components/TimerPicker/styles.d.ts +230 -225
  107. package/dist/typescript/components/TimerPicker/types.d.ts +9 -8
  108. package/dist/typescript/components/TimerPickerModal/styles.d.ts +158 -154
  109. package/dist/typescript/components/TimerPickerModal/types.d.ts +2 -1
  110. package/dist/typescript/index.d.ts +4 -2
  111. package/dist/typescript/tests/DurationScroll.test.d.ts +1 -0
  112. package/dist/typescript/tests/Modal.test.d.ts +1 -0
  113. package/dist/typescript/tests/TimerPicker.test.d.ts +1 -0
  114. package/dist/typescript/tests/TimerPickerModal.test.d.ts +1 -0
  115. package/dist/typescript/tests/colorToRgba.test.d.ts +1 -0
  116. package/dist/typescript/tests/generateNumbers.test.d.ts +1 -0
  117. package/dist/typescript/tests/getAdjustedLimit.test.d.ts +1 -0
  118. package/dist/typescript/tests/getDurationAndIndexFromScrollOffset.test.d.ts +1 -0
  119. package/dist/typescript/tests/getInitialScrollIndex.test.d.ts +1 -0
  120. package/dist/typescript/tests/getSafeInitialValue.test.d.ts +1 -0
  121. package/dist/typescript/tests/padNumber.test.d.ts +1 -0
  122. package/package.json +144 -126
@@ -13,6 +13,15 @@ var _styles = require("./styles");
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
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
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 resolveColumnWidth = (pickerColumnWidth, column) => {
17
+ if (pickerColumnWidth == null) {
18
+ return _styles.DEFAULT_COLUMN_WIDTH;
19
+ }
20
+ if (typeof pickerColumnWidth === "number") {
21
+ return pickerColumnWidth;
22
+ }
23
+ return pickerColumnWidth[column] ?? _styles.DEFAULT_COLUMN_WIDTH;
24
+ };
16
25
  const TimerPickerModal = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
17
26
  const {
18
27
  buttonContainerProps,
@@ -23,6 +32,10 @@ const TimerPickerModal = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
23
32
  containerProps,
24
33
  contentContainerProps,
25
34
  hideCancelButton = false,
35
+ hideDays = true,
36
+ hideHours = false,
37
+ hideMinutes = false,
38
+ hideSeconds = false,
26
39
  initialValue,
27
40
  modalProps,
28
41
  modalTitle,
@@ -35,8 +48,11 @@ const TimerPickerModal = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
35
48
  visible,
36
49
  ...otherProps
37
50
  } = props;
51
+ const pickerColumnWidth = customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerColumnWidth;
52
+ const totalColumnWidth = (!hideDays ? resolveColumnWidth(pickerColumnWidth, "days") : 0) + (!hideHours ? resolveColumnWidth(pickerColumnWidth, "hours") : 0) + (!hideMinutes ? resolveColumnWidth(pickerColumnWidth, "minutes") : 0) + (!hideSeconds ? resolveColumnWidth(pickerColumnWidth, "seconds") : 0);
38
53
  const styles = (0, _styles.generateStyles)(customStyles, {
39
- hasModalTitle: Boolean(modalTitle)
54
+ hasModalTitle: Boolean(modalTitle),
55
+ totalColumnWidth
40
56
  });
41
57
  const timerPickerRef = (0, _react.useRef)(null);
42
58
  const safeInitialValue = (0, _getSafeInitialValue.getSafeInitialValue)({
@@ -92,11 +108,17 @@ const TimerPickerModal = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
92
108
  onDurationChange === null || onDurationChange === void 0 || onDurationChange(duration);
93
109
  }, [onDurationChange]);
94
110
  (0, _react.useImperativeHandle)(ref, () => {
95
- var _timerPickerRef$curre4, _timerPickerRef$curre5, _timerPickerRef$curre6, _timerPickerRef$curre7;
111
+ var _timerPickerRef$curre3, _timerPickerRef$curre4, _timerPickerRef$curre5, _timerPickerRef$curre6;
96
112
  return {
113
+ latestDuration: {
114
+ days: (_timerPickerRef$curre3 = timerPickerRef.current) === null || _timerPickerRef$curre3 === void 0 || (_timerPickerRef$curre3 = _timerPickerRef$curre3.latestDuration) === null || _timerPickerRef$curre3 === void 0 ? void 0 : _timerPickerRef$curre3.days,
115
+ 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,
116
+ 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,
117
+ 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
118
+ },
97
119
  reset,
98
120
  setValue: (value, options) => {
99
- var _timerPickerRef$curre3;
121
+ var _timerPickerRef$curre7;
100
122
  setSelectedDuration(prev => ({
101
123
  ...prev,
102
124
  ...value
@@ -105,13 +127,7 @@ const TimerPickerModal = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
105
127
  ...prev,
106
128
  ...value
107
129
  }));
108
- (_timerPickerRef$curre3 = timerPickerRef.current) === null || _timerPickerRef$curre3 === void 0 || _timerPickerRef$curre3.setValue(value, options);
109
- },
110
- latestDuration: {
111
- 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,
112
- 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,
113
- 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,
114
- 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
130
+ (_timerPickerRef$curre7 = timerPickerRef.current) === null || _timerPickerRef$curre7 === void 0 || _timerPickerRef$curre7.setValue(value, options);
115
131
  }
116
132
  };
117
133
  });
@@ -128,6 +144,10 @@ const TimerPickerModal = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
128
144
  style: styles.modalTitle
129
145
  }), modalTitle) : null, /*#__PURE__*/_react.default.createElement(_TimerPicker.default, _extends({
130
146
  ref: timerPickerRef,
147
+ hideDays: hideDays,
148
+ hideHours: hideHours,
149
+ hideMinutes: hideMinutes,
150
+ hideSeconds: hideSeconds,
131
151
  initialValue: confirmedDuration
132
152
  }, otherProps, {
133
153
  aggressivelyGetLatestDuration: true,
@@ -135,15 +155,15 @@ const TimerPickerModal = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
135
155
  styles: styles.timerPickerStyles
136
156
  })), /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({}, buttonContainerProps, {
137
157
  style: styles.buttonContainer
138
- }), !hideCancelButton ? /*#__PURE__*/_react.default.isValidElement(props.cancelButton) ? /*#__PURE__*/_react.default.cloneElement(props.cancelButton, {
158
+ }), !hideCancelButton ? /*#__PURE__*/_react.default.isValidElement(props.cancelButton) ? (/*#__PURE__*/_react.default.cloneElement(props.cancelButton, {
139
159
  onPress: cancelHandler
140
- }) : /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, _extends({}, buttonTouchableOpacityProps, {
160
+ })) : /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, _extends({}, buttonTouchableOpacityProps, {
141
161
  onPress: cancelHandler
142
162
  }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
143
163
  style: [styles.button, styles.cancelButton]
144
- }, cancelButtonText)) : null, /*#__PURE__*/_react.default.isValidElement(props.confirmButton) ? /*#__PURE__*/_react.default.cloneElement(props.confirmButton, {
164
+ }, cancelButtonText)) : null, /*#__PURE__*/_react.default.isValidElement(props.confirmButton) ? (/*#__PURE__*/_react.default.cloneElement(props.confirmButton, {
145
165
  onPress: confirmHandler
146
- }) : /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, _extends({}, buttonTouchableOpacityProps, {
166
+ })) : /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, _extends({}, buttonTouchableOpacityProps, {
147
167
  onPress: confirmHandler
148
168
  }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
149
169
  style: [styles.button, styles.confirmButton]
@@ -1 +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","prev","createElement","isVisible","onOverlayPress","undefined","testID","View","style","container","contentContainer","Text","aggressivelyGetLatestDuration","timerPickerStyles","buttonContainer","React","isValidElement","cancelButton","cloneElement","onPress","TouchableOpacity","button","confirmButton","_default","exports","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((prev) => ({\n ...prev,\n ...value,\n }));\n setConfirmedDuration((prev) => ({\n ...prev,\n ...value,\n }));\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 ? (\n React.isValidElement(props.cancelButton)\n ? React.cloneElement(\n props.cancelButton,\n {\n onPress: cancelHandler,\n }\n )\n : (\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 )\n )\n : null}\n {React.isValidElement(props.confirmButton)\n ? React.cloneElement(props.confirmButton, {\n onPress: confirmHandler,\n })\n : (\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 )}\n </View>\n </View>\n </View>\n </Modal>\n );\n }\n);\n\nexport default React.memo(TimerPickerModal);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAGA,IAAAM,OAAA,GAAAN,OAAA;AAA0C,SAAAI,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAQ,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAAA,SAAAgB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAf,CAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAK,CAAA,IAAAF,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAa,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAG1C,MAAMG,gBAAgB,gBAAG,IAAAC,iBAAU,EAC/B,CAACC,KAAK,EAAEC,GAAG,KAAK;EACZ,MAAM;IACFC,oBAAoB;IACpBC,2BAA2B;IAC3BC,gBAAgB,GAAG,QAAQ;IAC3BC,mBAAmB;IACnBC,iBAAiB,GAAG,SAAS;IAC7BC,cAAc;IACdC,qBAAqB;IACrBC,gBAAgB,GAAG,KAAK;IACxBC,YAAY;IACZC,UAAU;IACVC,UAAU;IACVC,eAAe;IACfC,QAAQ;IACRC,SAAS;IACTC,gBAAgB;IAChBC,YAAY;IACZC,MAAM,EAAEC,YAAY;IACpBC,OAAO;IACP,GAAGC;EACP,CAAC,GAAGrB,KAAK;EAET,MAAMkB,MAAM,GAAG,IAAAI,sBAAc,EAACH,YAAY,EAAE;IACxCI,aAAa,EAAEC,OAAO,CAACZ,UAAU;EACrC,CAAC,CAAC;EAEF,MAAMa,cAAc,GAAG,IAAAC,aAAM,EAAiB,IAAI,CAAC;EAEnD,MAAMC,gBAAgB,GAAG,IAAAC,wCAAmB,EAAC;IACzCC,IAAI,EAAEnB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEmB,IAAI;IACxBC,KAAK,EAAEpB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEoB,KAAK;IAC1BC,OAAO,EAAErB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEqB,OAAO;IAC9BC,OAAO,EAAEtB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEsB;EAC3B,CAAC,CAAC;EAEF,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GACzC,IAAAC,eAAQ,EAACR,gBAAgB,CAAC;EAC9B,MAAM,CAACS,iBAAiB,EAAEC,oBAAoB,CAAC,GAC3C,IAAAF,eAAQ,EAACR,gBAAgB,CAAC;EAE9B,MAAMW,KAAK,GAAIC,OAAgC,IAAK;IAAA,IAAAC,qBAAA;IAChDN,mBAAmB,CAACP,gBAAgB,CAAC;IACrCU,oBAAoB,CAACV,gBAAgB,CAAC;IACtC,CAAAa,qBAAA,GAAAf,cAAc,CAACgB,OAAO,cAAAD,qBAAA,eAAtBA,qBAAA,CAAwBF,KAAK,CAACC,OAAO,CAAC;EAC1C,CAAC;;EAED;EACA,IAAAG,gBAAS,EAAC,MAAM;IACZJ,KAAK,CAAC,CAAC;IACP;EACJ,CAAC,EAAE,CACCX,gBAAgB,CAACE,IAAI,EACrBF,gBAAgB,CAACG,KAAK,EACtBH,gBAAgB,CAACI,OAAO,EACxBJ,gBAAgB,CAACK,OAAO,CAC3B,CAAC;EAEF,MAAMW,gBAAgB,GAAGA,CAAA,KAAM;IAC3BT,mBAAmB,CAAC;MAChBL,IAAI,EAAEO,iBAAiB,CAACP,IAAI;MAC5BC,KAAK,EAAEM,iBAAiB,CAACN,KAAK;MAC9BC,OAAO,EAAEK,iBAAiB,CAACL,OAAO;MAClCC,OAAO,EAAEI,iBAAiB,CAACJ;IAC/B,CAAC,CAAC;IACFf,YAAY,CAAC,KAAK,CAAC;EACvB,CAAC;EAED,MAAM2B,cAAc,GAAGA,CAAA,KAAM;IAAA,IAAAC,sBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IACzB,MAAMC,cAAc,IAAAL,sBAAA,GAAGpB,cAAc,CAACgB,OAAO,cAAAI,sBAAA,uBAAtBA,sBAAA,CAAwBK,cAAc;IAE7D,MAAMC,WAAW,GAAG;MAChBtB,IAAI,EAAE,CAAAqB,cAAc,aAAdA,cAAc,gBAAAJ,oBAAA,GAAdI,cAAc,CAAErB,IAAI,cAAAiB,oBAAA,uBAApBA,oBAAA,CAAsBL,OAAO,KAAIR,gBAAgB,CAACJ,IAAI;MAC5DC,KAAK,EAAE,CAAAoB,cAAc,aAAdA,cAAc,gBAAAH,qBAAA,GAAdG,cAAc,CAAEpB,KAAK,cAAAiB,qBAAA,uBAArBA,qBAAA,CAAuBN,OAAO,KAAIR,gBAAgB,CAACH,KAAK;MAC/DC,OAAO,EACH,CAAAmB,cAAc,aAAdA,cAAc,gBAAAF,qBAAA,GAAdE,cAAc,CAAEnB,OAAO,cAAAiB,qBAAA,uBAAvBA,qBAAA,CAAyBP,OAAO,KAChCR,gBAAgB,CAACF,OAAO;MAC5BC,OAAO,EACH,CAAAkB,cAAc,aAAdA,cAAc,gBAAAD,qBAAA,GAAdC,cAAc,CAAElB,OAAO,cAAAiB,qBAAA,uBAAvBA,qBAAA,CAAyBR,OAAO,KAChCR,gBAAgB,CAACD;IACzB,CAAC;IACDK,oBAAoB,CAACc,WAAW,CAAC;IACjCpC,SAAS,CAACoC,WAAW,CAAC;EAC1B,CAAC;EAED,MAAMC,aAAa,GAAGA,CAAA,KAAM;IACxBnC,YAAY,CAAC,KAAK,CAAC;IACnBiB,mBAAmB,CAACE,iBAAiB,CAAC;IACtCtB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG,CAAC;EAChB,CAAC;;EAED;EACA,MAAMuC,qBAAqB,GAAG,IAAAC,kBAAW,EACpCC,QAKA,IAAK;IACFrB,mBAAmB,CAACqB,QAAQ,CAAC;IAC7BvC,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAGuC,QAAQ,CAAC;EAChC,CAAC,EACD,CAACvC,gBAAgB,CACrB,CAAC;EAED,IAAAwC,0BAAmB,EAACvD,GAAG,EAAE;IAAA,IAAAwD,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAAA,OAAO;MAC5BtB,KAAK;MACLuB,QAAQ,EAAEA,CAACC,KAAK,EAAEvB,OAAO,KAAK;QAAA,IAAAwB,sBAAA;QAC1B7B,mBAAmB,CAAE8B,IAAI,KAAM;UAC3B,GAAGA,IAAI;UACP,GAAGF;QACP,CAAC,CAAC,CAAC;QACHzB,oBAAoB,CAAE2B,IAAI,KAAM;UAC5B,GAAGA,IAAI;UACP,GAAGF;QACP,CAAC,CAAC,CAAC;QACH,CAAAC,sBAAA,GAAAtC,cAAc,CAACgB,OAAO,cAAAsB,sBAAA,eAAtBA,sBAAA,CAAwBF,QAAQ,CAACC,KAAK,EAAEvB,OAAO,CAAC;MACpD,CAAC;MACDW,cAAc,EAAE;QACZrB,IAAI,GAAA4B,sBAAA,GAAEhC,cAAc,CAACgB,OAAO,cAAAgB,sBAAA,gBAAAA,sBAAA,GAAtBA,sBAAA,CAAwBP,cAAc,cAAAO,sBAAA,uBAAtCA,sBAAA,CAAwC5B,IAAI;QAClDC,KAAK,GAAA4B,sBAAA,GAAEjC,cAAc,CAACgB,OAAO,cAAAiB,sBAAA,gBAAAA,sBAAA,GAAtBA,sBAAA,CAAwBR,cAAc,cAAAQ,sBAAA,uBAAtCA,sBAAA,CAAwC5B,KAAK;QACpDC,OAAO,GAAA4B,sBAAA,GAAElC,cAAc,CAACgB,OAAO,cAAAkB,sBAAA,gBAAAA,sBAAA,GAAtBA,sBAAA,CAAwBT,cAAc,cAAAS,sBAAA,uBAAtCA,sBAAA,CAAwC5B,OAAO;QACxDC,OAAO,GAAA4B,sBAAA,GAAEnC,cAAc,CAACgB,OAAO,cAAAmB,sBAAA,gBAAAA,sBAAA,GAAtBA,sBAAA,CAAwBV,cAAc,cAAAU,sBAAA,uBAAtCA,sBAAA,CAAwC5B;MACrD;IACJ,CAAC;EAAA,CAAC,CAAC;EAEH,oBACIpE,MAAA,CAAAW,OAAA,CAAA0F,aAAA,CAAChG,MAAA,CAAAM,OAAK,EAAAiB,QAAA;IACF0E,SAAS,EAAE9C,OAAQ;IACnB+C,cAAc,EACV9D,mBAAmB,GAAGsC,gBAAgB,GAAGyB;EAC5C,GACGzD,UAAU;IACd0D,MAAM,EAAC;EAAoB,iBAC3BzG,MAAA,CAAAW,OAAA,CAAA0F,aAAA,CAAClG,YAAA,CAAAuG,IAAI,EAAA9E,QAAA,KAAKe,cAAc;IAAEgE,KAAK,EAAErD,MAAM,CAACsD;EAAU,iBAC9C5G,MAAA,CAAAW,OAAA,CAAA0F,aAAA,CAAClG,YAAA,CAAAuG,IAAI,EAAA9E,QAAA,KACGgB,qBAAqB;IACzB+D,KAAK,EAAErD,MAAM,CAACuD;EAAiB,IAC9B7D,UAAU,gBACPhD,MAAA,CAAAW,OAAA,CAAA0F,aAAA,CAAClG,YAAA,CAAA2G,IAAI,EAAAlF,QAAA,KACGqB,eAAe;IACnB0D,KAAK,EAAErD,MAAM,CAACN;EAAW,IACxBA,UACC,CAAC,GACP,IAAI,eACRhD,MAAA,CAAAW,OAAA,CAAA0F,aAAA,CAAC9F,YAAA,CAAAI,OAAW,EAAAiB,QAAA;IACRS,GAAG,EAAEwB,cAAe;IACpBf,YAAY,EAAE0B;EAAkB,GAC5Bf,UAAU;IACdsD,6BAA6B;IAC7B3D,gBAAgB,EAAEqC,qBAAsB;IACxCnC,MAAM,EAAEA,MAAM,CAAC0D;EAAkB,EACpC,CAAC,eACFhH,MAAA,CAAAW,OAAA,CAAA0F,aAAA,CAAClG,YAAA,CAAAuG,IAAI,EAAA9E,QAAA,KACGU,oBAAoB;IACxBqE,KAAK,EAAErD,MAAM,CAAC2D;EAAgB,IAC7B,CAACpE,gBAAgB,GAEV,aAAAqE,cAAK,CAACC,cAAc,CAAC/E,KAAK,CAACgF,YAAY,CAAC,gBAClCF,cAAK,CAACG,YAAY,CAChBjF,KAAK,CAACgF,YAAY,EAClB;IACIE,OAAO,EAAE9B;EACb,CACJ,CAAC,gBAEGxF,MAAA,CAAAW,OAAA,CAAA0F,aAAA,CAAClG,YAAA,CAAAoH,gBAAgB,EAAA3F,QAAA,KACTW,2BAA2B;IAC/B+E,OAAO,EAAE9B;EAAc,iBACvBxF,MAAA,CAAAW,OAAA,CAAA0F,aAAA,CAAClG,YAAA,CAAA2G,IAAI;IACDH,KAAK,EAAE,CACHrD,MAAM,CAACkE,MAAM,EACblE,MAAM,CAAC8D,YAAY;EACrB,GACD5E,gBACC,CACQ,CACrB,GAEP,IAAI,EACT,aAAA0E,cAAK,CAACC,cAAc,CAAC/E,KAAK,CAACqF,aAAa,CAAC,gBACpCP,cAAK,CAACG,YAAY,CAACjF,KAAK,CAACqF,aAAa,EAAE;IACtCH,OAAO,EAAEtC;EACb,CAAC,CAAC,gBAEEhF,MAAA,CAAAW,OAAA,CAAA0F,aAAA,CAAClG,YAAA,CAAAoH,gBAAgB,EAAA3F,QAAA,KACTW,2BAA2B;IAC/B+E,OAAO,EAAEtC;EAAe,iBACxBhF,MAAA,CAAAW,OAAA,CAAA0F,aAAA,CAAClG,YAAA,CAAA2G,IAAI;IACDH,KAAK,EAAE,CACHrD,MAAM,CAACkE,MAAM,EACblE,MAAM,CAACmE,aAAa;EACtB,GACD/E,iBACC,CACQ,CAExB,CACJ,CACJ,CACH,CAAC;AAEhB,CACJ,CAAC;AAAC,IAAAgF,QAAA,GAAAC,OAAA,CAAAhH,OAAA,gBAEauG,cAAK,CAACU,IAAI,CAAC1F,gBAAgB,CAAC","ignoreList":[]}
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","resolveColumnWidth","pickerColumnWidth","column","DEFAULT_COLUMN_WIDTH","TimerPickerModal","forwardRef","props","ref","buttonContainerProps","buttonTouchableOpacityProps","cancelButtonText","closeOnOverlayPress","confirmButtonText","containerProps","contentContainerProps","hideCancelButton","hideDays","hideHours","hideMinutes","hideSeconds","initialValue","modalProps","modalTitle","modalTitleProps","onCancel","onConfirm","onDurationChange","setIsVisible","styles","customStyles","visible","otherProps","totalColumnWidth","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$curre3","_timerPickerRef$curre4","_timerPickerRef$curre5","_timerPickerRef$curre6","setValue","value","_timerPickerRef$curre7","prev","createElement","isVisible","onOverlayPress","undefined","testID","View","style","container","contentContainer","Text","aggressivelyGetLatestDuration","timerPickerStyles","buttonContainer","React","isValidElement","cancelButton","cloneElement","onPress","TouchableOpacity","button","confirmButton","_default","exports","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\";\nimport type { PerColumnValue, PickerColumn } from \"../TimerPicker/styles\";\nimport { DEFAULT_COLUMN_WIDTH, generateStyles } from \"./styles\";\nimport type { TimerPickerModalRef, TimerPickerModalProps } from \"./types\";\n\nconst resolveColumnWidth = (\n pickerColumnWidth: PerColumnValue | undefined,\n column: PickerColumn\n): number => {\n if (pickerColumnWidth == null) {\n return DEFAULT_COLUMN_WIDTH;\n }\n\n if (typeof pickerColumnWidth === \"number\") {\n return pickerColumnWidth;\n }\n\n return pickerColumnWidth[column] ?? DEFAULT_COLUMN_WIDTH;\n};\n\nconst TimerPickerModal = forwardRef<TimerPickerModalRef, TimerPickerModalProps>((props, ref) => {\n const {\n buttonContainerProps,\n buttonTouchableOpacityProps,\n cancelButtonText = \"Cancel\",\n closeOnOverlayPress,\n confirmButtonText = \"Confirm\",\n containerProps,\n contentContainerProps,\n hideCancelButton = false,\n hideDays = true,\n hideHours = false,\n hideMinutes = false,\n hideSeconds = 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 pickerColumnWidth = customStyles?.pickerColumnWidth;\n\n const totalColumnWidth =\n (!hideDays ? resolveColumnWidth(pickerColumnWidth, \"days\") : 0) +\n (!hideHours ? resolveColumnWidth(pickerColumnWidth, \"hours\") : 0) +\n (!hideMinutes ? resolveColumnWidth(pickerColumnWidth, \"minutes\") : 0) +\n (!hideSeconds ? resolveColumnWidth(pickerColumnWidth, \"seconds\") : 0);\n\n const styles = generateStyles(customStyles, {\n hasModalTitle: Boolean(modalTitle),\n totalColumnWidth,\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] = useState(safeInitialValue);\n const [confirmedDuration, setConfirmedDuration] = 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: latestDuration?.minutes?.current ?? selectedDuration.minutes,\n seconds: latestDuration?.seconds?.current ?? 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: { days: number; hours: number; minutes: number; seconds: number }) => {\n setSelectedDuration(duration);\n onDurationChange?.(duration);\n },\n [onDurationChange]\n );\n\n useImperativeHandle(ref, () => ({\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 reset,\n setValue: (value, options) => {\n setSelectedDuration((prev) => ({\n ...prev,\n ...value,\n }));\n setConfirmedDuration((prev) => ({\n ...prev,\n ...value,\n }));\n timerPickerRef.current?.setValue(value, options);\n },\n }));\n\n return (\n <Modal\n isVisible={visible}\n onOverlayPress={closeOnOverlayPress ? hideModalHandler : undefined}\n {...modalProps}\n testID=\"timer-picker-modal\"\n >\n <View {...containerProps} style={styles.container}>\n <View {...contentContainerProps} style={styles.contentContainer}>\n {modalTitle ? (\n <Text {...modalTitleProps} style={styles.modalTitle}>\n {modalTitle}\n </Text>\n ) : null}\n <TimerPicker\n ref={timerPickerRef}\n hideDays={hideDays}\n hideHours={hideHours}\n hideMinutes={hideMinutes}\n hideSeconds={hideSeconds}\n initialValue={confirmedDuration}\n {...otherProps}\n aggressivelyGetLatestDuration\n onDurationChange={durationChangeHandler}\n styles={styles.timerPickerStyles}\n />\n <View {...buttonContainerProps} style={styles.buttonContainer}>\n {!hideCancelButton ? (\n React.isValidElement(props.cancelButton) ? (\n React.cloneElement(props.cancelButton, {\n onPress: cancelHandler,\n })\n ) : (\n <TouchableOpacity {...buttonTouchableOpacityProps} onPress={cancelHandler}>\n <Text style={[styles.button, styles.cancelButton]}>{cancelButtonText}</Text>\n </TouchableOpacity>\n )\n ) : null}\n {React.isValidElement(props.confirmButton) ? (\n React.cloneElement(props.confirmButton, {\n onPress: confirmHandler,\n })\n ) : (\n <TouchableOpacity {...buttonTouchableOpacityProps} onPress={confirmHandler}>\n <Text style={[styles.button, styles.confirmButton]}>{confirmButtonText}</Text>\n </TouchableOpacity>\n )}\n </View>\n </View>\n </View>\n </Modal>\n );\n});\n\nexport default React.memo(TimerPickerModal);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAGA,IAAAM,OAAA,GAAAN,OAAA;AAAgE,SAAAI,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAQ,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAAA,SAAAgB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAf,CAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAK,CAAA,IAAAF,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAa,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAGhE,MAAMG,kBAAkB,GAAGA,CACzBC,iBAA6C,EAC7CC,MAAoB,KACT;EACX,IAAID,iBAAiB,IAAI,IAAI,EAAE;IAC7B,OAAOE,4BAAoB;EAC7B;EAEA,IAAI,OAAOF,iBAAiB,KAAK,QAAQ,EAAE;IACzC,OAAOA,iBAAiB;EAC1B;EAEA,OAAOA,iBAAiB,CAACC,MAAM,CAAC,IAAIC,4BAAoB;AAC1D,CAAC;AAED,MAAMC,gBAAgB,gBAAG,IAAAC,iBAAU,EAA6C,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC9F,MAAM;IACJC,oBAAoB;IACpBC,2BAA2B;IAC3BC,gBAAgB,GAAG,QAAQ;IAC3BC,mBAAmB;IACnBC,iBAAiB,GAAG,SAAS;IAC7BC,cAAc;IACdC,qBAAqB;IACrBC,gBAAgB,GAAG,KAAK;IACxBC,QAAQ,GAAG,IAAI;IACfC,SAAS,GAAG,KAAK;IACjBC,WAAW,GAAG,KAAK;IACnBC,WAAW,GAAG,KAAK;IACnBC,YAAY;IACZC,UAAU;IACVC,UAAU;IACVC,eAAe;IACfC,QAAQ;IACRC,SAAS;IACTC,gBAAgB;IAChBC,YAAY;IACZC,MAAM,EAAEC,YAAY;IACpBC,OAAO;IACP,GAAGC;EACL,CAAC,GAAGzB,KAAK;EAET,MAAML,iBAAiB,GAAG4B,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE5B,iBAAiB;EAEzD,MAAM+B,gBAAgB,GACpB,CAAC,CAAChB,QAAQ,GAAGhB,kBAAkB,CAACC,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,KAC7D,CAACgB,SAAS,GAAGjB,kBAAkB,CAACC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAChE,CAACiB,WAAW,GAAGlB,kBAAkB,CAACC,iBAAiB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IACpE,CAACkB,WAAW,GAAGnB,kBAAkB,CAACC,iBAAiB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;EAEvE,MAAM2B,MAAM,GAAG,IAAAK,sBAAc,EAACJ,YAAY,EAAE;IAC1CK,aAAa,EAAEC,OAAO,CAACb,UAAU,CAAC;IAClCU;EACF,CAAC,CAAC;EAEF,MAAMI,cAAc,GAAG,IAAAC,aAAM,EAAiB,IAAI,CAAC;EAEnD,MAAMC,gBAAgB,GAAG,IAAAC,wCAAmB,EAAC;IAC3CC,IAAI,EAAEpB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEoB,IAAI;IACxBC,KAAK,EAAErB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEqB,KAAK;IAC1BC,OAAO,EAAEtB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEsB,OAAO;IAC9BC,OAAO,EAAEvB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEuB;EACzB,CAAC,CAAC;EAEF,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAC,eAAQ,EAACR,gBAAgB,CAAC;EAC1E,MAAM,CAACS,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAAF,eAAQ,EAACR,gBAAgB,CAAC;EAE5E,MAAMW,KAAK,GAAIC,OAAgC,IAAK;IAAA,IAAAC,qBAAA;IAClDN,mBAAmB,CAACP,gBAAgB,CAAC;IACrCU,oBAAoB,CAACV,gBAAgB,CAAC;IACtC,CAAAa,qBAAA,GAAAf,cAAc,CAACgB,OAAO,cAAAD,qBAAA,eAAtBA,qBAAA,CAAwBF,KAAK,CAACC,OAAO,CAAC;EACxC,CAAC;;EAED;EACA,IAAAG,gBAAS,EAAC,MAAM;IACdJ,KAAK,CAAC,CAAC;IACP;EACF,CAAC,EAAE,CACDX,gBAAgB,CAACE,IAAI,EACrBF,gBAAgB,CAACG,KAAK,EACtBH,gBAAgB,CAACI,OAAO,EACxBJ,gBAAgB,CAACK,OAAO,CACzB,CAAC;EAEF,MAAMW,gBAAgB,GAAGA,CAAA,KAAM;IAC7BT,mBAAmB,CAAC;MAClBL,IAAI,EAAEO,iBAAiB,CAACP,IAAI;MAC5BC,KAAK,EAAEM,iBAAiB,CAACN,KAAK;MAC9BC,OAAO,EAAEK,iBAAiB,CAACL,OAAO;MAClCC,OAAO,EAAEI,iBAAiB,CAACJ;IAC7B,CAAC,CAAC;IACFhB,YAAY,CAAC,KAAK,CAAC;EACrB,CAAC;EAED,MAAM4B,cAAc,GAAGA,CAAA,KAAM;IAAA,IAAAC,sBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IAC3B,MAAMC,cAAc,IAAAL,sBAAA,GAAGpB,cAAc,CAACgB,OAAO,cAAAI,sBAAA,uBAAtBA,sBAAA,CAAwBK,cAAc;IAE7D,MAAMC,WAAW,GAAG;MAClBtB,IAAI,EAAE,CAAAqB,cAAc,aAAdA,cAAc,gBAAAJ,oBAAA,GAAdI,cAAc,CAAErB,IAAI,cAAAiB,oBAAA,uBAApBA,oBAAA,CAAsBL,OAAO,KAAIR,gBAAgB,CAACJ,IAAI;MAC5DC,KAAK,EAAE,CAAAoB,cAAc,aAAdA,cAAc,gBAAAH,qBAAA,GAAdG,cAAc,CAAEpB,KAAK,cAAAiB,qBAAA,uBAArBA,qBAAA,CAAuBN,OAAO,KAAIR,gBAAgB,CAACH,KAAK;MAC/DC,OAAO,EAAE,CAAAmB,cAAc,aAAdA,cAAc,gBAAAF,qBAAA,GAAdE,cAAc,CAAEnB,OAAO,cAAAiB,qBAAA,uBAAvBA,qBAAA,CAAyBP,OAAO,KAAIR,gBAAgB,CAACF,OAAO;MACrEC,OAAO,EAAE,CAAAkB,cAAc,aAAdA,cAAc,gBAAAD,qBAAA,GAAdC,cAAc,CAAElB,OAAO,cAAAiB,qBAAA,uBAAvBA,qBAAA,CAAyBR,OAAO,KAAIR,gBAAgB,CAACD;IAChE,CAAC;IACDK,oBAAoB,CAACc,WAAW,CAAC;IACjCrC,SAAS,CAACqC,WAAW,CAAC;EACxB,CAAC;EAED,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC1BpC,YAAY,CAAC,KAAK,CAAC;IACnBkB,mBAAmB,CAACE,iBAAiB,CAAC;IACtCvB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG,CAAC;EACd,CAAC;;EAED;EACA,MAAMwC,qBAAqB,GAAG,IAAAC,kBAAW,EACtCC,QAA2E,IAAK;IAC/ErB,mBAAmB,CAACqB,QAAQ,CAAC;IAC7BxC,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAGwC,QAAQ,CAAC;EAC9B,CAAC,EACD,CAACxC,gBAAgB,CACnB,CAAC;EAED,IAAAyC,0BAAmB,EAAC5D,GAAG,EAAE;IAAA,IAAA6D,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAAA,OAAO;MAC9BV,cAAc,EAAE;QACdrB,IAAI,GAAA4B,sBAAA,GAAEhC,cAAc,CAACgB,OAAO,cAAAgB,sBAAA,gBAAAA,sBAAA,GAAtBA,sBAAA,CAAwBP,cAAc,cAAAO,sBAAA,uBAAtCA,sBAAA,CAAwC5B,IAAI;QAClDC,KAAK,GAAA4B,sBAAA,GAAEjC,cAAc,CAACgB,OAAO,cAAAiB,sBAAA,gBAAAA,sBAAA,GAAtBA,sBAAA,CAAwBR,cAAc,cAAAQ,sBAAA,uBAAtCA,sBAAA,CAAwC5B,KAAK;QACpDC,OAAO,GAAA4B,sBAAA,GAAElC,cAAc,CAACgB,OAAO,cAAAkB,sBAAA,gBAAAA,sBAAA,GAAtBA,sBAAA,CAAwBT,cAAc,cAAAS,sBAAA,uBAAtCA,sBAAA,CAAwC5B,OAAO;QACxDC,OAAO,GAAA4B,sBAAA,GAAEnC,cAAc,CAACgB,OAAO,cAAAmB,sBAAA,gBAAAA,sBAAA,GAAtBA,sBAAA,CAAwBV,cAAc,cAAAU,sBAAA,uBAAtCA,sBAAA,CAAwC5B;MACnD,CAAC;MACDM,KAAK;MACLuB,QAAQ,EAAEA,CAACC,KAAK,EAAEvB,OAAO,KAAK;QAAA,IAAAwB,sBAAA;QAC5B7B,mBAAmB,CAAE8B,IAAI,KAAM;UAC7B,GAAGA,IAAI;UACP,GAAGF;QACL,CAAC,CAAC,CAAC;QACHzB,oBAAoB,CAAE2B,IAAI,KAAM;UAC9B,GAAGA,IAAI;UACP,GAAGF;QACL,CAAC,CAAC,CAAC;QACH,CAAAC,sBAAA,GAAAtC,cAAc,CAACgB,OAAO,cAAAsB,sBAAA,eAAtBA,sBAAA,CAAwBF,QAAQ,CAACC,KAAK,EAAEvB,OAAO,CAAC;MAClD;IACF,CAAC;EAAA,CAAC,CAAC;EAEH,oBACEpF,MAAA,CAAAW,OAAA,CAAAmG,aAAA,CAACzG,MAAA,CAAAM,OAAK,EAAAiB,QAAA;IACJmF,SAAS,EAAE/C,OAAQ;IACnBgD,cAAc,EAAEnE,mBAAmB,GAAG2C,gBAAgB,GAAGyB;EAAU,GAC/D1D,UAAU;IACd2D,MAAM,EAAC;EAAoB,iBAE3BlH,MAAA,CAAAW,OAAA,CAAAmG,aAAA,CAAC3G,YAAA,CAAAgH,IAAI,EAAAvF,QAAA,KAAKmB,cAAc;IAAEqE,KAAK,EAAEtD,MAAM,CAACuD;EAAU,iBAChDrH,MAAA,CAAAW,OAAA,CAAAmG,aAAA,CAAC3G,YAAA,CAAAgH,IAAI,EAAAvF,QAAA,KAAKoB,qBAAqB;IAAEoE,KAAK,EAAEtD,MAAM,CAACwD;EAAiB,IAC7D9D,UAAU,gBACTxD,MAAA,CAAAW,OAAA,CAAAmG,aAAA,CAAC3G,YAAA,CAAAoH,IAAI,EAAA3F,QAAA,KAAK6B,eAAe;IAAE2D,KAAK,EAAEtD,MAAM,CAACN;EAAW,IACjDA,UACG,CAAC,GACL,IAAI,eACRxD,MAAA,CAAAW,OAAA,CAAAmG,aAAA,CAACvG,YAAA,CAAAI,OAAW,EAAAiB,QAAA;IACVa,GAAG,EAAE6B,cAAe;IACpBpB,QAAQ,EAAEA,QAAS;IACnBC,SAAS,EAAEA,SAAU;IACrBC,WAAW,EAAEA,WAAY;IACzBC,WAAW,EAAEA,WAAY;IACzBC,YAAY,EAAE2B;EAAkB,GAC5BhB,UAAU;IACduD,6BAA6B;IAC7B5D,gBAAgB,EAAEsC,qBAAsB;IACxCpC,MAAM,EAAEA,MAAM,CAAC2D;EAAkB,EAClC,CAAC,eACFzH,MAAA,CAAAW,OAAA,CAAAmG,aAAA,CAAC3G,YAAA,CAAAgH,IAAI,EAAAvF,QAAA,KAAKc,oBAAoB;IAAE0E,KAAK,EAAEtD,MAAM,CAAC4D;EAAgB,IAC3D,CAACzE,gBAAgB,GAChB,aAAA0E,cAAK,CAACC,cAAc,CAACpF,KAAK,CAACqF,YAAY,CAAC,iBACtCF,cAAK,CAACG,YAAY,CAACtF,KAAK,CAACqF,YAAY,EAAE;IACrCE,OAAO,EAAE9B;EACX,CAAC,CAAC,iBAEFjG,MAAA,CAAAW,OAAA,CAAAmG,aAAA,CAAC3G,YAAA,CAAA6H,gBAAgB,EAAApG,QAAA,KAAKe,2BAA2B;IAAEoF,OAAO,EAAE9B;EAAc,iBACxEjG,MAAA,CAAAW,OAAA,CAAAmG,aAAA,CAAC3G,YAAA,CAAAoH,IAAI;IAACH,KAAK,EAAE,CAACtD,MAAM,CAACmE,MAAM,EAAEnE,MAAM,CAAC+D,YAAY;EAAE,GAAEjF,gBAAuB,CAC3D,CACnB,GACC,IAAI,EACP,aAAA+E,cAAK,CAACC,cAAc,CAACpF,KAAK,CAAC0F,aAAa,CAAC,iBACxCP,cAAK,CAACG,YAAY,CAACtF,KAAK,CAAC0F,aAAa,EAAE;IACtCH,OAAO,EAAEtC;EACX,CAAC,CAAC,iBAEFzF,MAAA,CAAAW,OAAA,CAAAmG,aAAA,CAAC3G,YAAA,CAAA6H,gBAAgB,EAAApG,QAAA,KAAKe,2BAA2B;IAAEoF,OAAO,EAAEtC;EAAe,iBACzEzF,MAAA,CAAAW,OAAA,CAAAmG,aAAA,CAAC3G,YAAA,CAAAoH,IAAI;IAACH,KAAK,EAAE,CAACtD,MAAM,CAACmE,MAAM,EAAEnE,MAAM,CAACoE,aAAa;EAAE,GAAEpF,iBAAwB,CAC7D,CAEhB,CACF,CACF,CACD,CAAC;AAEZ,CAAC,CAAC;AAAC,IAAAqF,QAAA,GAAAC,OAAA,CAAAzH,OAAA,gBAEYgH,cAAK,CAACU,IAAI,CAAC/F,gBAAgB,CAAC","ignoreList":[]}
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.generateStyles = void 0;
6
+ exports.generateStyles = exports.DEFAULT_COLUMN_WIDTH = void 0;
7
7
  var _reactNative = require("react-native");
8
+ const DEFAULT_COLUMN_WIDTH = exports.DEFAULT_COLUMN_WIDTH = 70;
8
9
  const DARK_MODE_BACKGROUND_COLOR = "#232323";
9
10
  const DARK_MODE_TEXT_COLOR = "#E9E9E9";
10
11
  const LIGHT_MODE_BACKGROUND_COLOR = "#F1F1F1";
@@ -20,58 +21,63 @@ const generateStyles = (customStyles, variables) => {
20
21
  modalTitle: customModalTitleStyle,
21
22
  ...customTimerPickerStyles
22
23
  } = customStyles ?? {};
24
+ const totalColumnWidth = variables.totalColumnWidth;
25
+ const modalPadding = (customContentContainerStyle === null || customContentContainerStyle === void 0 ? void 0 : customContentContainerStyle.paddingHorizontal) ?? 20;
26
+ const labelOverhang = 20;
27
+ const computedWidth = Math.max(DEFAULT_COLUMN_WIDTH * 2, totalColumnWidth + modalPadding * 2 + labelOverhang);
23
28
  return _reactNative.StyleSheet.create({
24
- container: {
25
- justifyContent: "center",
26
- overflow: "hidden",
27
- ...customContainerStyle
28
- },
29
- contentContainer: {
30
- backgroundColor: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.backgroundColor) ?? ((customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? DARK_MODE_BACKGROUND_COLOR : LIGHT_MODE_BACKGROUND_COLOR),
31
- justifyContent: "center",
32
- alignItems: "center",
33
- borderRadius: 20,
29
+ button: {
30
+ borderRadius: 10,
31
+ borderWidth: 1,
32
+ fontSize: 16,
33
+ marginHorizontal: 12,
34
34
  overflow: "hidden",
35
35
  paddingHorizontal: 20,
36
- ...customContentContainerStyle
36
+ paddingVertical: 10,
37
+ ...(customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.text),
38
+ ...customButtonStyle
37
39
  },
38
40
  buttonContainer: {
39
41
  flexDirection: "row",
40
- marginTop: 25,
41
42
  marginBottom: 20,
43
+ marginTop: 25,
42
44
  ...customButtonContainerStyle
43
45
  },
44
- button: {
45
- marginHorizontal: 12,
46
- paddingVertical: 10,
47
- paddingHorizontal: 20,
48
- borderWidth: 1,
49
- borderRadius: 10,
50
- fontSize: 16,
51
- overflow: "hidden",
52
- ...(customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.text),
53
- ...customButtonStyle
54
- },
55
46
  cancelButton: {
47
+ backgroundColor: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? "gray" : undefined,
56
48
  borderColor: "gray",
57
49
  color: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : "gray",
58
- backgroundColor: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? "gray" : undefined,
59
50
  ...(customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.text),
60
51
  ...customCancelButtonStyle
61
52
  },
62
53
  confirmButton: {
54
+ backgroundColor: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? "green" : undefined,
63
55
  borderColor: "green",
64
56
  color: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : "green",
65
- backgroundColor: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? "green" : undefined,
66
57
  ...(customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.text),
67
58
  ...customConfirmButtonStyle
68
59
  },
60
+ container: {
61
+ justifyContent: "center",
62
+ overflow: "hidden",
63
+ ...customContainerStyle
64
+ },
65
+ contentContainer: {
66
+ alignItems: "center",
67
+ backgroundColor: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.backgroundColor) ?? ((customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? DARK_MODE_BACKGROUND_COLOR : LIGHT_MODE_BACKGROUND_COLOR),
68
+ borderRadius: 20,
69
+ justifyContent: "center",
70
+ overflow: "hidden",
71
+ paddingHorizontal: 20,
72
+ width: computedWidth,
73
+ ...customContentContainerStyle
74
+ },
69
75
  modalTitle: {
76
+ color: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR,
70
77
  fontSize: 24,
71
78
  fontWeight: "600",
72
- marginTop: 20,
73
79
  marginBottom: 15,
74
- color: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR,
80
+ marginTop: 20,
75
81
  ...(customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.text),
76
82
  ...customModalTitleStyle
77
83
  },
@@ -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","variables","button","customButtonStyle","buttonContainer","customButtonContainerStyle","cancelButton","customCancelButtonStyle","confirmButton","customConfirmButtonStyle","container","customContainerStyle","contentContainer","customContentContainerStyle","modalTitle","customModalTitleStyle","customTimerPickerStyles","StyleSheet","create","justifyContent","overflow","backgroundColor","theme","alignItems","borderRadius","paddingHorizontal","flexDirection","marginTop","marginBottom","marginHorizontal","paddingVertical","borderWidth","fontSize","text","borderColor","color","undefined","fontWeight","timerPickerStyles","pickerContainer","marginRight","paddingTop","hasModalTitle","exports"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport type { DimensionValue, TextStyle, ViewStyle } from \"react-native\";\n\nimport type { CustomTimerPickerStyles } from \"../TimerPicker/styles\";\n\nexport interface CustomTimerPickerModalStyles extends CustomTimerPickerStyles {\n button?: TextStyle;\n buttonContainer?: ViewStyle;\n cancelButton?: TextStyle;\n confirmButton?: TextStyle;\n container?: ViewStyle;\n contentContainer?: ViewStyle;\n modalTitle?: TextStyle;\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: CustomTimerPickerModalStyles | undefined,\n variables?: {\n hasModalTitle: boolean;\n }\n) => {\n const {\n button: customButtonStyle,\n buttonContainer: customButtonContainerStyle,\n cancelButton: customCancelButtonStyle,\n confirmButton: customConfirmButtonStyle,\n container: customContainerStyle,\n contentContainer: customContentContainerStyle,\n modalTitle: customModalTitleStyle,\n ...customTimerPickerStyles\n } = customStyles ?? {};\n\n return StyleSheet.create({\n container: {\n justifyContent: \"center\",\n overflow: \"hidden\",\n ...customContainerStyle,\n },\n contentContainer: {\n backgroundColor:\n customTimerPickerStyles?.backgroundColor ??\n (customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR),\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: 20,\n overflow: \"hidden\",\n paddingHorizontal: 20,\n ...customContentContainerStyle,\n },\n buttonContainer: {\n flexDirection: \"row\",\n marginTop: 25,\n marginBottom: 20,\n ...customButtonContainerStyle,\n },\n button: {\n marginHorizontal: 12,\n paddingVertical: 10,\n paddingHorizontal: 20,\n borderWidth: 1,\n borderRadius: 10,\n fontSize: 16,\n overflow: \"hidden\",\n ...customTimerPickerStyles?.text,\n ...customButtonStyle,\n },\n cancelButton: {\n borderColor: \"gray\",\n color:\n customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : \"gray\",\n backgroundColor:\n customTimerPickerStyles?.theme === \"dark\" ? \"gray\" : undefined,\n ...customTimerPickerStyles?.text,\n ...customCancelButtonStyle,\n },\n confirmButton: {\n borderColor: \"green\",\n color:\n customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : \"green\",\n backgroundColor:\n customTimerPickerStyles?.theme === \"dark\" ? \"green\" : undefined,\n ...customTimerPickerStyles?.text,\n ...customConfirmButtonStyle,\n },\n modalTitle: {\n fontSize: 24,\n fontWeight: \"600\",\n marginTop: 20,\n marginBottom: 15,\n color:\n customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customTimerPickerStyles?.text,\n ...customModalTitleStyle,\n },\n timerPickerStyles: {\n ...customTimerPickerStyles,\n pickerContainer: {\n marginRight: \"8%\" as DimensionValue,\n paddingTop: !variables?.hasModalTitle ? 20 : 0,\n ...(customTimerPickerStyles?.pickerContainer ?? {}),\n },\n },\n });\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","DEFAULT_COLUMN_WIDTH","exports","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","variables","button","customButtonStyle","buttonContainer","customButtonContainerStyle","cancelButton","customCancelButtonStyle","confirmButton","customConfirmButtonStyle","container","customContainerStyle","contentContainer","customContentContainerStyle","modalTitle","customModalTitleStyle","customTimerPickerStyles","totalColumnWidth","modalPadding","paddingHorizontal","labelOverhang","computedWidth","Math","max","StyleSheet","create","borderRadius","borderWidth","fontSize","marginHorizontal","overflow","paddingVertical","text","flexDirection","marginBottom","marginTop","backgroundColor","theme","undefined","borderColor","color","justifyContent","alignItems","width","fontWeight","timerPickerStyles","pickerContainer","marginRight","paddingTop","hasModalTitle"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport type { DimensionValue, TextStyle, ViewStyle } from \"react-native\";\n\nimport type { CustomTimerPickerStyles } from \"../TimerPicker/styles\";\n\nexport const DEFAULT_COLUMN_WIDTH = 70;\n\nexport interface CustomTimerPickerModalStyles extends CustomTimerPickerStyles {\n button?: TextStyle;\n buttonContainer?: ViewStyle;\n cancelButton?: TextStyle;\n confirmButton?: TextStyle;\n container?: ViewStyle;\n contentContainer?: ViewStyle;\n modalTitle?: TextStyle;\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: CustomTimerPickerModalStyles | undefined,\n variables: {\n hasModalTitle: boolean;\n totalColumnWidth: number;\n }\n) => {\n const {\n button: customButtonStyle,\n buttonContainer: customButtonContainerStyle,\n cancelButton: customCancelButtonStyle,\n confirmButton: customConfirmButtonStyle,\n container: customContainerStyle,\n contentContainer: customContentContainerStyle,\n modalTitle: customModalTitleStyle,\n ...customTimerPickerStyles\n } = customStyles ?? {};\n\n const totalColumnWidth = variables.totalColumnWidth;\n const modalPadding = (customContentContainerStyle?.paddingHorizontal as number) ?? 20;\n const labelOverhang = 20;\n const computedWidth = Math.max(\n DEFAULT_COLUMN_WIDTH * 2,\n totalColumnWidth + modalPadding * 2 + labelOverhang\n );\n\n return StyleSheet.create({\n button: {\n borderRadius: 10,\n borderWidth: 1,\n fontSize: 16,\n marginHorizontal: 12,\n overflow: \"hidden\",\n paddingHorizontal: 20,\n paddingVertical: 10,\n ...customTimerPickerStyles?.text,\n ...customButtonStyle,\n },\n buttonContainer: {\n flexDirection: \"row\",\n marginBottom: 20,\n marginTop: 25,\n ...customButtonContainerStyle,\n },\n cancelButton: {\n backgroundColor: customTimerPickerStyles?.theme === \"dark\" ? \"gray\" : undefined,\n borderColor: \"gray\",\n color: customTimerPickerStyles?.theme === \"dark\" ? DARK_MODE_TEXT_COLOR : \"gray\",\n ...customTimerPickerStyles?.text,\n ...customCancelButtonStyle,\n },\n confirmButton: {\n backgroundColor: customTimerPickerStyles?.theme === \"dark\" ? \"green\" : undefined,\n borderColor: \"green\",\n color: customTimerPickerStyles?.theme === \"dark\" ? DARK_MODE_TEXT_COLOR : \"green\",\n ...customTimerPickerStyles?.text,\n ...customConfirmButtonStyle,\n },\n container: {\n justifyContent: \"center\",\n overflow: \"hidden\",\n ...customContainerStyle,\n },\n contentContainer: {\n alignItems: \"center\",\n backgroundColor:\n customTimerPickerStyles?.backgroundColor ??\n (customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR),\n borderRadius: 20,\n justifyContent: \"center\",\n overflow: \"hidden\",\n paddingHorizontal: 20,\n width: computedWidth,\n ...customContentContainerStyle,\n },\n modalTitle: {\n color:\n customTimerPickerStyles?.theme === \"dark\" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR,\n fontSize: 24,\n fontWeight: \"600\",\n marginBottom: 15,\n marginTop: 20,\n ...customTimerPickerStyles?.text,\n ...customModalTitleStyle,\n },\n timerPickerStyles: {\n ...customTimerPickerStyles,\n pickerContainer: {\n marginRight: \"8%\" as DimensionValue,\n paddingTop: !variables?.hasModalTitle ? 20 : 0,\n ...(customTimerPickerStyles?.pickerContainer ?? {}),\n },\n },\n });\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { RefObject, ReactElement } 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 /** Custom cancel button component. If provided, replaces the default cancel button. */\n cancelButton?: ReactElement<{ onPress?: () => void }>;\n cancelButtonText?: string;\n closeOnOverlayPress?: boolean;\n /** Custom confirm button component. If provided, replaces the default confirm button. */\n confirmButton?: ReactElement<{ onPress?: () => void }>;\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":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from \"react\";\nimport { type RefObject, type ReactElement } from \"react\";\n\nimport type { View, TouchableOpacity, Text } from \"react-native\";\n\nimport type Modal from \"../Modal\";\nimport type { TimerPickerProps } from \"../TimerPicker/types\";\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 /** Custom cancel button component. If provided, replaces the default cancel button. */\n cancelButton?: ReactElement<{ onPress?: () => void }>;\n cancelButtonText?: string;\n closeOnOverlayPress?: boolean;\n /** Custom confirm button component. If provided, replaces the default confirm button. */\n confirmButton?: ReactElement<{ onPress?: () => void }>;\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":[]}
@@ -3,18 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "CustomTimerPickerModalStyles", {
7
- enumerable: true,
8
- get: function () {
9
- return _TimerPickerModal.CustomTimerPickerModalStyles;
10
- }
11
- });
12
- Object.defineProperty(exports, "CustomTimerPickerStyles", {
13
- enumerable: true,
14
- get: function () {
15
- return _TimerPicker.CustomTimerPickerStyles;
16
- }
17
- });
18
6
  Object.defineProperty(exports, "TimerPicker", {
19
7
  enumerable: true,
20
8
  get: function () {
@@ -27,31 +15,7 @@ Object.defineProperty(exports, "TimerPickerModal", {
27
15
  return _TimerPickerModal.default;
28
16
  }
29
17
  });
30
- Object.defineProperty(exports, "TimerPickerModalProps", {
31
- enumerable: true,
32
- get: function () {
33
- return _TimerPickerModal.TimerPickerModalProps;
34
- }
35
- });
36
- Object.defineProperty(exports, "TimerPickerModalRef", {
37
- enumerable: true,
38
- get: function () {
39
- return _TimerPickerModal.TimerPickerModalRef;
40
- }
41
- });
42
- Object.defineProperty(exports, "TimerPickerProps", {
43
- enumerable: true,
44
- get: function () {
45
- return _TimerPicker.TimerPickerProps;
46
- }
47
- });
48
- Object.defineProperty(exports, "TimerPickerRef", {
49
- enumerable: true,
50
- get: function () {
51
- return _TimerPicker.TimerPickerRef;
52
- }
53
- });
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); }
18
+ var _TimerPickerModal = _interopRequireDefault(require("./components/TimerPickerModal"));
19
+ var _TimerPicker = _interopRequireDefault(require("./components/TimerPicker"));
20
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
57
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["_TimerPickerModal","_interopRequireDefault","require","_TimerPicker","e","__esModule","default"],"sources":["index.ts"],"sourcesContent":["export { default as TimerPickerModal } from \"./components/TimerPickerModal\";\nexport type {\n TimerPickerModalProps,\n TimerPickerModalRef,\n CustomTimerPickerModalStyles,\n} from \"./components/TimerPickerModal\";\n\nexport { default as TimerPicker } from \"./components/TimerPicker\";\nexport type {\n TimerPickerProps,\n TimerPickerRef,\n CustomTimerPickerStyles,\n} from \"./components/TimerPicker\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAOA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -7,16 +7,16 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
7
7
  describe("DurationScroll", () => {
8
8
  const onDurationChangeMock = jest.fn();
9
9
  const emptyStyles = {
10
- pickerContainer: {},
11
- pickerLabelContainer: {},
12
- pickerLabel: {},
13
- pickerItemContainer: {},
14
- pickerItem: {},
15
- pickerAmPmContainer: {},
16
- pickerAmPmLabel: {},
17
10
  disabledPickerContainer: {},
18
11
  disabledPickerItem: {},
19
- pickerGradientOverlay: {}
12
+ pickerAmPmContainer: {},
13
+ pickerAmPmLabel: {},
14
+ pickerContainer: {},
15
+ pickerGradientOverlay: {},
16
+ pickerItem: {},
17
+ pickerItemContainer: {},
18
+ pickerLabel: {},
19
+ pickerLabelContainer: {}
20
20
  };
21
21
  it("renders without crashing", () => {
22
22
  const {
@@ -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","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":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_DurationScroll","e","__esModule","default","describe","onDurationChangeMock","jest","fn","emptyStyles","disabledPickerContainer","disabledPickerItem","pickerAmPmContainer","pickerAmPmLabel","pickerContainer","pickerGradientOverlay","pickerItem","pickerItemContainer","pickerLabel","pickerLabelContainer","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 disabledPickerContainer: {},\n disabledPickerItem: {},\n pickerAmPmContainer: {},\n pickerAmPmLabel: {},\n pickerContainer: {},\n pickerGradientOverlay: {},\n pickerItem: {},\n pickerItemContainer: {},\n pickerLabel: {},\n pickerLabelContainer: {},\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":[]}
@@ -1 +1 @@
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","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(\"handles rapid visibility changes\", () => {\n const { getByTestId, rerender } = render(<Modal isVisible={true} />);\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"],"mappings":"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","ignoreList":[]}
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","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(<Modal isVisible onOverlayPress={onOverlayPressMock} />);\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(\"handles rapid visibility changes\", () => {\n const { getByTestId, rerender } = render(<Modal isVisible={true} />);\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(<Modal isVisible onOverlayPress={onOverlayPressMock} />);\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(onOverlayPressMock).toHaveBeenCalledTimes(1);\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ var _reactNative = require("@testing-library/react-native");
5
5
  var _reactNative2 = require("react-native");
6
6
  var _TimerPicker = _interopRequireDefault(require("../components/TimerPicker"));
7
7
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- 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); }
8
+ 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); } /* eslint-disable @typescript-eslint/no-explicit-any */
9
9
  describe("TimerPicker", () => {
10
10
  it("renders without crashing", () => {
11
11
  const {
@@ -114,14 +114,6 @@ describe("TimerPicker", () => {
114
114
  expect(getByText("mins")).toBeDefined();
115
115
  expect(getByText("secs")).toBeDefined();
116
116
  });
117
- it("renders with disabled state", () => {
118
- const {
119
- getByTestId
120
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
121
- disabled: true
122
- }));
123
- expect(getByTestId("timer-picker")).toBeDefined();
124
- });
125
117
  it("renders LinearGradient when specified", () => {
126
118
  const {
127
119
  getByTestId