react-native-timer-picker 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +37 -35
  2. package/dist/commonjs/components/TimerPicker/TimerPicker.js +20 -9
  3. package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +1 -1
  4. package/dist/commonjs/components/TimerPicker/types.js.map +1 -1
  5. package/dist/commonjs/tests/DurationScroll.test.js +94 -0
  6. package/dist/commonjs/tests/DurationScroll.test.js.map +1 -1
  7. package/dist/commonjs/tests/Modal.test.js +79 -2
  8. package/dist/commonjs/tests/Modal.test.js.map +1 -1
  9. package/dist/commonjs/tests/TimerPicker.test.js +115 -0
  10. package/dist/commonjs/tests/TimerPicker.test.js.map +1 -1
  11. package/dist/commonjs/tests/TimerPickerModal.test.js +120 -0
  12. package/dist/commonjs/tests/TimerPickerModal.test.js.map +1 -1
  13. package/dist/commonjs/tests/colorToRgba.test.js +176 -0
  14. package/dist/commonjs/tests/colorToRgba.test.js.map +1 -0
  15. package/dist/commonjs/tests/generateNumbers.test.js +350 -0
  16. package/dist/commonjs/tests/generateNumbers.test.js.map +1 -0
  17. package/dist/commonjs/tests/getAdjustedLimit.test.js +324 -0
  18. package/dist/commonjs/tests/getAdjustedLimit.test.js.map +1 -0
  19. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js +424 -0
  20. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -0
  21. package/dist/commonjs/tests/getInitialScrollIndex.test.js +396 -0
  22. package/dist/commonjs/tests/getInitialScrollIndex.test.js.map +1 -0
  23. package/dist/commonjs/tests/getSafeInitialValue.test.js +497 -0
  24. package/dist/commonjs/tests/getSafeInitialValue.test.js.map +1 -0
  25. package/dist/commonjs/tests/padNumber.test.js +301 -0
  26. package/dist/commonjs/tests/padNumber.test.js.map +1 -0
  27. package/dist/commonjs/utils/colorToRgba.js +5 -0
  28. package/dist/commonjs/utils/colorToRgba.js.map +1 -1
  29. package/dist/commonjs/utils/getAdjustedLimit.js +3 -3
  30. package/dist/commonjs/utils/getAdjustedLimit.js.map +1 -1
  31. package/dist/module/components/TimerPicker/TimerPicker.js +20 -9
  32. package/dist/module/components/TimerPicker/TimerPicker.js.map +1 -1
  33. package/dist/module/components/TimerPicker/types.js.map +1 -1
  34. package/dist/module/tests/DurationScroll.test.js +94 -0
  35. package/dist/module/tests/DurationScroll.test.js.map +1 -1
  36. package/dist/module/tests/Modal.test.js +80 -3
  37. package/dist/module/tests/Modal.test.js.map +1 -1
  38. package/dist/module/tests/TimerPicker.test.js +115 -0
  39. package/dist/module/tests/TimerPicker.test.js.map +1 -1
  40. package/dist/module/tests/TimerPickerModal.test.js +121 -1
  41. package/dist/module/tests/TimerPickerModal.test.js.map +1 -1
  42. package/dist/module/tests/colorToRgba.test.js +174 -0
  43. package/dist/module/tests/colorToRgba.test.js.map +1 -0
  44. package/dist/module/tests/generateNumbers.test.js +348 -0
  45. package/dist/module/tests/generateNumbers.test.js.map +1 -0
  46. package/dist/module/tests/getAdjustedLimit.test.js +322 -0
  47. package/dist/module/tests/getAdjustedLimit.test.js.map +1 -0
  48. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js +422 -0
  49. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -0
  50. package/dist/module/tests/getInitialScrollIndex.test.js +394 -0
  51. package/dist/module/tests/getInitialScrollIndex.test.js.map +1 -0
  52. package/dist/module/tests/getSafeInitialValue.test.js +495 -0
  53. package/dist/module/tests/getSafeInitialValue.test.js.map +1 -0
  54. package/dist/module/tests/padNumber.test.js +299 -0
  55. package/dist/module/tests/padNumber.test.js.map +1 -0
  56. package/dist/module/utils/colorToRgba.js +5 -0
  57. package/dist/module/utils/colorToRgba.js.map +1 -1
  58. package/dist/module/utils/getAdjustedLimit.js +3 -3
  59. package/dist/module/utils/getAdjustedLimit.js.map +1 -1
  60. package/dist/typescript/components/TimerPicker/styles.d.ts +0 -247
  61. package/dist/typescript/components/TimerPicker/types.d.ts +4 -4
  62. package/dist/typescript/components/TimerPickerModal/styles.d.ts +0 -152
  63. package/package.json +3 -4
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+
3
+ var _getAdjustedLimit = require("../utils/getAdjustedLimit");
4
+ describe("getAdjustedLimit", () => {
5
+ describe("undefined or empty limits", () => {
6
+ it("returns default limits when limit is undefined", () => {
7
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 60, 1);
8
+ expect(result).toEqual({
9
+ max: 59,
10
+ min: 0
11
+ });
12
+ });
13
+ it("returns default limits when limit has no max or min", () => {
14
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({}, 60, 1);
15
+ expect(result).toEqual({
16
+ max: 59,
17
+ min: 0
18
+ });
19
+ });
20
+ it("calculates max value correctly with interval", () => {
21
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 30, 2);
22
+ expect(result).toEqual({
23
+ max: 58,
24
+ min: 0
25
+ });
26
+ });
27
+ });
28
+ describe("valid limits within bounds", () => {
29
+ it("accepts valid min and max within bounds", () => {
30
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
31
+ min: 5,
32
+ max: 15
33
+ }, 20, 1);
34
+ expect(result).toEqual({
35
+ max: 15,
36
+ min: 5
37
+ });
38
+ });
39
+ it("accepts limits at exact boundaries", () => {
40
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
41
+ min: 0,
42
+ max: 59
43
+ }, 60, 1);
44
+ expect(result).toEqual({
45
+ max: 59,
46
+ min: 0
47
+ });
48
+ });
49
+ it("handles min of 0", () => {
50
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
51
+ min: 0,
52
+ max: 10
53
+ }, 20, 1);
54
+ expect(result).toEqual({
55
+ max: 10,
56
+ min: 0
57
+ });
58
+ });
59
+ it("handles max at maximum value", () => {
60
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
61
+ min: 10,
62
+ max: 19
63
+ }, 20, 1);
64
+ expect(result).toEqual({
65
+ max: 19,
66
+ min: 10
67
+ });
68
+ });
69
+ });
70
+ describe("partial limits", () => {
71
+ it("uses default max when only min is provided", () => {
72
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
73
+ min: 10
74
+ }, 60, 1);
75
+ expect(result).toEqual({
76
+ max: 59,
77
+ min: 10
78
+ });
79
+ });
80
+ it("uses default min when only max is provided", () => {
81
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
82
+ max: 30
83
+ }, 60, 1);
84
+ expect(result).toEqual({
85
+ max: 30,
86
+ min: 0
87
+ });
88
+ });
89
+ it("handles only min provided at boundary", () => {
90
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
91
+ min: 0
92
+ }, 24, 1);
93
+ expect(result).toEqual({
94
+ max: 23,
95
+ min: 0
96
+ });
97
+ });
98
+ it("handles only max provided at boundary", () => {
99
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
100
+ max: 23
101
+ }, 24, 1);
102
+ expect(result).toEqual({
103
+ max: 23,
104
+ min: 0
105
+ });
106
+ });
107
+ });
108
+ describe("out-of-bounds limits", () => {
109
+ it("adjusts max when it exceeds maximum value", () => {
110
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
111
+ min: 5,
112
+ max: 100
113
+ }, 20, 1);
114
+ expect(result).toEqual({
115
+ max: 19,
116
+ min: 5
117
+ });
118
+ });
119
+ it("adjusts min when it is negative", () => {
120
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
121
+ min: -5,
122
+ max: 15
123
+ }, 20, 1);
124
+ expect(result).toEqual({
125
+ max: 15,
126
+ min: 0
127
+ });
128
+ });
129
+ it("adjusts both limits when out of bounds", () => {
130
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
131
+ min: -10,
132
+ max: 100
133
+ }, 20, 1);
134
+ expect(result).toEqual({
135
+ max: 19,
136
+ min: 0
137
+ });
138
+ });
139
+ it("adjusts max when only max is out of bounds", () => {
140
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
141
+ max: 100
142
+ }, 20, 1);
143
+ expect(result).toEqual({
144
+ max: 19,
145
+ min: 0
146
+ });
147
+ });
148
+ it("adjusts min when only min is out of bounds", () => {
149
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
150
+ min: -10
151
+ }, 20, 1);
152
+ expect(result).toEqual({
153
+ max: 19,
154
+ min: 0
155
+ });
156
+ });
157
+ });
158
+ describe("invalid limits (max < min)", () => {
159
+ it("returns default limits when adjusted max < adjusted min", () => {
160
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
161
+ min: 15,
162
+ max: 5
163
+ }, 20, 1);
164
+ expect(result).toEqual({
165
+ max: 19,
166
+ min: 0
167
+ });
168
+ });
169
+ it("handles edge case where both are equal after adjustment", () => {
170
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
171
+ min: 10,
172
+ max: 10
173
+ }, 20, 1);
174
+ expect(result).toEqual({
175
+ max: 10,
176
+ min: 10
177
+ });
178
+ });
179
+ it("returns default when min is too high and max is too low", () => {
180
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
181
+ min: 50,
182
+ max: 5
183
+ }, 20, 1);
184
+ expect(result).toEqual({
185
+ max: 19,
186
+ min: 0
187
+ });
188
+ });
189
+ });
190
+ describe("different intervals", () => {
191
+ it("handles interval of 5", () => {
192
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
193
+ min: 10,
194
+ max: 30
195
+ }, 10, 5);
196
+ expect(result).toEqual({
197
+ max: 30,
198
+ min: 10
199
+ });
200
+ });
201
+ it("calculates max with interval of 5", () => {
202
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 10, 5);
203
+ expect(result).toEqual({
204
+ max: 45,
205
+ min: 0
206
+ });
207
+ });
208
+ it("handles interval of 15 for minutes", () => {
209
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
210
+ min: 15,
211
+ max: 45
212
+ }, 4, 15);
213
+ expect(result).toEqual({
214
+ max: 45,
215
+ min: 15
216
+ });
217
+ });
218
+ it("calculates max with interval of 15", () => {
219
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 4, 15);
220
+ expect(result).toEqual({
221
+ max: 45,
222
+ min: 0
223
+ });
224
+ });
225
+ it("handles large interval", () => {
226
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 3, 30);
227
+ expect(result).toEqual({
228
+ max: 60,
229
+ min: 0
230
+ });
231
+ });
232
+ });
233
+ describe("edge cases", () => {
234
+ it("handles numberOfItems of 1", () => {
235
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 1, 1);
236
+ expect(result).toEqual({
237
+ max: 0,
238
+ min: 0
239
+ });
240
+ });
241
+ it("handles large numberOfItems", () => {
242
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
243
+ min: 50,
244
+ max: 150
245
+ }, 200, 1);
246
+ expect(result).toEqual({
247
+ max: 150,
248
+ min: 50
249
+ });
250
+ });
251
+ it("handles zero min limit", () => {
252
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
253
+ min: 0,
254
+ max: 0
255
+ }, 60, 1);
256
+ expect(result).toEqual({
257
+ max: 0,
258
+ min: 0
259
+ });
260
+ });
261
+ it("handles limits with decimal-like values (should work with integers)", () => {
262
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
263
+ min: 5,
264
+ max: 15
265
+ }, 20, 1);
266
+ expect(result).toEqual({
267
+ max: 15,
268
+ min: 5
269
+ });
270
+ });
271
+ });
272
+ describe("real-world scenarios", () => {
273
+ it("handles typical hours picker (0-23)", () => {
274
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
275
+ min: 9,
276
+ max: 17
277
+ }, 24, 1);
278
+ expect(result).toEqual({
279
+ max: 17,
280
+ min: 9
281
+ }); // 9 AM to 5 PM
282
+ });
283
+ it("handles typical minutes picker (0-59)", () => {
284
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
285
+ min: 0,
286
+ max: 45
287
+ }, 60, 1);
288
+ expect(result).toEqual({
289
+ max: 45,
290
+ min: 0
291
+ });
292
+ });
293
+ it("handles minutes with 15-minute interval", () => {
294
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
295
+ min: 15,
296
+ max: 45
297
+ }, 4, 15);
298
+ expect(result).toEqual({
299
+ max: 45,
300
+ min: 15
301
+ });
302
+ });
303
+ it("handles seconds picker (0-59)", () => {
304
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
305
+ min: 0,
306
+ max: 30
307
+ }, 60, 1);
308
+ expect(result).toEqual({
309
+ max: 30,
310
+ min: 0
311
+ });
312
+ });
313
+ it("handles days with no upper limit", () => {
314
+ const result = (0, _getAdjustedLimit.getAdjustedLimit)({
315
+ min: 1
316
+ }, 100, 1);
317
+ expect(result).toEqual({
318
+ max: 99,
319
+ min: 1
320
+ });
321
+ });
322
+ });
323
+ });
324
+ //# sourceMappingURL=getAdjustedLimit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_getAdjustedLimit","require","describe","it","result","getAdjustedLimit","undefined","expect","toEqual","max","min"],"sources":["getAdjustedLimit.test.ts"],"sourcesContent":["import { getAdjustedLimit } from \"../utils/getAdjustedLimit\";\n\ndescribe(\"getAdjustedLimit\", () => {\n describe(\"undefined or empty limits\", () => {\n it(\"returns default limits when limit is undefined\", () => {\n const result = getAdjustedLimit(undefined, 60, 1);\n expect(result).toEqual({ max: 59, min: 0 });\n });\n\n it(\"returns default limits when limit has no max or min\", () => {\n const result = getAdjustedLimit({}, 60, 1);\n expect(result).toEqual({ max: 59, min: 0 });\n });\n\n it(\"calculates max value correctly with interval\", () => {\n const result = getAdjustedLimit(undefined, 30, 2);\n expect(result).toEqual({ max: 58, min: 0 });\n });\n });\n\n describe(\"valid limits within bounds\", () => {\n it(\"accepts valid min and max within bounds\", () => {\n const result = getAdjustedLimit({ min: 5, max: 15 }, 20, 1);\n expect(result).toEqual({ max: 15, min: 5 });\n });\n\n it(\"accepts limits at exact boundaries\", () => {\n const result = getAdjustedLimit({ min: 0, max: 59 }, 60, 1);\n expect(result).toEqual({ max: 59, min: 0 });\n });\n\n it(\"handles min of 0\", () => {\n const result = getAdjustedLimit({ min: 0, max: 10 }, 20, 1);\n expect(result).toEqual({ max: 10, min: 0 });\n });\n\n it(\"handles max at maximum value\", () => {\n const result = getAdjustedLimit({ min: 10, max: 19 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 10 });\n });\n });\n\n describe(\"partial limits\", () => {\n it(\"uses default max when only min is provided\", () => {\n const result = getAdjustedLimit({ min: 10 }, 60, 1);\n expect(result).toEqual({ max: 59, min: 10 });\n });\n\n it(\"uses default min when only max is provided\", () => {\n const result = getAdjustedLimit({ max: 30 }, 60, 1);\n expect(result).toEqual({ max: 30, min: 0 });\n });\n\n it(\"handles only min provided at boundary\", () => {\n const result = getAdjustedLimit({ min: 0 }, 24, 1);\n expect(result).toEqual({ max: 23, min: 0 });\n });\n\n it(\"handles only max provided at boundary\", () => {\n const result = getAdjustedLimit({ max: 23 }, 24, 1);\n expect(result).toEqual({ max: 23, min: 0 });\n });\n });\n\n describe(\"out-of-bounds limits\", () => {\n it(\"adjusts max when it exceeds maximum value\", () => {\n const result = getAdjustedLimit({ min: 5, max: 100 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 5 });\n });\n\n it(\"adjusts min when it is negative\", () => {\n const result = getAdjustedLimit({ min: -5, max: 15 }, 20, 1);\n expect(result).toEqual({ max: 15, min: 0 });\n });\n\n it(\"adjusts both limits when out of bounds\", () => {\n const result = getAdjustedLimit({ min: -10, max: 100 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 0 });\n });\n\n it(\"adjusts max when only max is out of bounds\", () => {\n const result = getAdjustedLimit({ max: 100 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 0 });\n });\n\n it(\"adjusts min when only min is out of bounds\", () => {\n const result = getAdjustedLimit({ min: -10 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 0 });\n });\n });\n\n describe(\"invalid limits (max < min)\", () => {\n it(\"returns default limits when adjusted max < adjusted min\", () => {\n const result = getAdjustedLimit({ min: 15, max: 5 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 0 });\n });\n\n it(\"handles edge case where both are equal after adjustment\", () => {\n const result = getAdjustedLimit({ min: 10, max: 10 }, 20, 1);\n expect(result).toEqual({ max: 10, min: 10 });\n });\n\n it(\"returns default when min is too high and max is too low\", () => {\n const result = getAdjustedLimit({ min: 50, max: 5 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 0 });\n });\n });\n\n describe(\"different intervals\", () => {\n it(\"handles interval of 5\", () => {\n const result = getAdjustedLimit({ min: 10, max: 30 }, 10, 5);\n expect(result).toEqual({ max: 30, min: 10 });\n });\n\n it(\"calculates max with interval of 5\", () => {\n const result = getAdjustedLimit(undefined, 10, 5);\n expect(result).toEqual({ max: 45, min: 0 });\n });\n\n it(\"handles interval of 15 for minutes\", () => {\n const result = getAdjustedLimit({ min: 15, max: 45 }, 4, 15);\n expect(result).toEqual({ max: 45, min: 15 });\n });\n\n it(\"calculates max with interval of 15\", () => {\n const result = getAdjustedLimit(undefined, 4, 15);\n expect(result).toEqual({ max: 45, min: 0 });\n });\n\n it(\"handles large interval\", () => {\n const result = getAdjustedLimit(undefined, 3, 30);\n expect(result).toEqual({ max: 60, min: 0 });\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"handles numberOfItems of 1\", () => {\n const result = getAdjustedLimit(undefined, 1, 1);\n expect(result).toEqual({ max: 0, min: 0 });\n });\n\n it(\"handles large numberOfItems\", () => {\n const result = getAdjustedLimit({ min: 50, max: 150 }, 200, 1);\n expect(result).toEqual({ max: 150, min: 50 });\n });\n\n it(\"handles zero min limit\", () => {\n const result = getAdjustedLimit({ min: 0, max: 0 }, 60, 1);\n expect(result).toEqual({ max: 0, min: 0 });\n });\n\n it(\"handles limits with decimal-like values (should work with integers)\", () => {\n const result = getAdjustedLimit({ min: 5, max: 15 }, 20, 1);\n expect(result).toEqual({ max: 15, min: 5 });\n });\n });\n\n describe(\"real-world scenarios\", () => {\n it(\"handles typical hours picker (0-23)\", () => {\n const result = getAdjustedLimit({ min: 9, max: 17 }, 24, 1);\n expect(result).toEqual({ max: 17, min: 9 }); // 9 AM to 5 PM\n });\n\n it(\"handles typical minutes picker (0-59)\", () => {\n const result = getAdjustedLimit({ min: 0, max: 45 }, 60, 1);\n expect(result).toEqual({ max: 45, min: 0 });\n });\n\n it(\"handles minutes with 15-minute interval\", () => {\n const result = getAdjustedLimit({ min: 15, max: 45 }, 4, 15);\n expect(result).toEqual({ max: 45, min: 15 });\n });\n\n it(\"handles seconds picker (0-59)\", () => {\n const result = getAdjustedLimit({ min: 0, max: 30 }, 60, 1);\n expect(result).toEqual({ max: 30, min: 0 });\n });\n\n it(\"handles days with no upper limit\", () => {\n const result = getAdjustedLimit({ min: 1 }, 100, 1);\n expect(result).toEqual({ max: 99, min: 1 });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}