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
@@ -26,8 +26,8 @@ describe("getAdjustedLimit", () => {
26
26
  describe("valid limits within bounds", () => {
27
27
  it("accepts valid min and max within bounds", () => {
28
28
  const result = getAdjustedLimit({
29
- min: 5,
30
- max: 15
29
+ max: 15,
30
+ min: 5
31
31
  }, 20, 1);
32
32
  expect(result).toEqual({
33
33
  max: 15,
@@ -36,8 +36,8 @@ describe("getAdjustedLimit", () => {
36
36
  });
37
37
  it("accepts limits at exact boundaries", () => {
38
38
  const result = getAdjustedLimit({
39
- min: 0,
40
- max: 59
39
+ max: 59,
40
+ min: 0
41
41
  }, 60, 1);
42
42
  expect(result).toEqual({
43
43
  max: 59,
@@ -46,8 +46,8 @@ describe("getAdjustedLimit", () => {
46
46
  });
47
47
  it("handles min of 0", () => {
48
48
  const result = getAdjustedLimit({
49
- min: 0,
50
- max: 10
49
+ max: 10,
50
+ min: 0
51
51
  }, 20, 1);
52
52
  expect(result).toEqual({
53
53
  max: 10,
@@ -56,8 +56,8 @@ describe("getAdjustedLimit", () => {
56
56
  });
57
57
  it("handles max at maximum value", () => {
58
58
  const result = getAdjustedLimit({
59
- min: 10,
60
- max: 19
59
+ max: 19,
60
+ min: 10
61
61
  }, 20, 1);
62
62
  expect(result).toEqual({
63
63
  max: 19,
@@ -106,8 +106,8 @@ describe("getAdjustedLimit", () => {
106
106
  describe("out-of-bounds limits", () => {
107
107
  it("adjusts max when it exceeds maximum value", () => {
108
108
  const result = getAdjustedLimit({
109
- min: 5,
110
- max: 100
109
+ max: 100,
110
+ min: 5
111
111
  }, 20, 1);
112
112
  expect(result).toEqual({
113
113
  max: 19,
@@ -116,8 +116,8 @@ describe("getAdjustedLimit", () => {
116
116
  });
117
117
  it("adjusts min when it is negative", () => {
118
118
  const result = getAdjustedLimit({
119
- min: -5,
120
- max: 15
119
+ max: 15,
120
+ min: -5
121
121
  }, 20, 1);
122
122
  expect(result).toEqual({
123
123
  max: 15,
@@ -126,8 +126,8 @@ describe("getAdjustedLimit", () => {
126
126
  });
127
127
  it("adjusts both limits when out of bounds", () => {
128
128
  const result = getAdjustedLimit({
129
- min: -10,
130
- max: 100
129
+ max: 100,
130
+ min: -10
131
131
  }, 20, 1);
132
132
  expect(result).toEqual({
133
133
  max: 19,
@@ -156,8 +156,8 @@ describe("getAdjustedLimit", () => {
156
156
  describe("invalid limits (max < min)", () => {
157
157
  it("returns default limits when adjusted max < adjusted min", () => {
158
158
  const result = getAdjustedLimit({
159
- min: 15,
160
- max: 5
159
+ max: 5,
160
+ min: 15
161
161
  }, 20, 1);
162
162
  expect(result).toEqual({
163
163
  max: 19,
@@ -166,8 +166,8 @@ describe("getAdjustedLimit", () => {
166
166
  });
167
167
  it("handles edge case where both are equal after adjustment", () => {
168
168
  const result = getAdjustedLimit({
169
- min: 10,
170
- max: 10
169
+ max: 10,
170
+ min: 10
171
171
  }, 20, 1);
172
172
  expect(result).toEqual({
173
173
  max: 10,
@@ -176,8 +176,8 @@ describe("getAdjustedLimit", () => {
176
176
  });
177
177
  it("returns default when min is too high and max is too low", () => {
178
178
  const result = getAdjustedLimit({
179
- min: 50,
180
- max: 5
179
+ max: 5,
180
+ min: 50
181
181
  }, 20, 1);
182
182
  expect(result).toEqual({
183
183
  max: 19,
@@ -188,8 +188,8 @@ describe("getAdjustedLimit", () => {
188
188
  describe("different intervals", () => {
189
189
  it("handles interval of 5", () => {
190
190
  const result = getAdjustedLimit({
191
- min: 10,
192
- max: 30
191
+ max: 30,
192
+ min: 10
193
193
  }, 10, 5);
194
194
  expect(result).toEqual({
195
195
  max: 30,
@@ -205,8 +205,8 @@ describe("getAdjustedLimit", () => {
205
205
  });
206
206
  it("handles interval of 15 for minutes", () => {
207
207
  const result = getAdjustedLimit({
208
- min: 15,
209
- max: 45
208
+ max: 45,
209
+ min: 15
210
210
  }, 4, 15);
211
211
  expect(result).toEqual({
212
212
  max: 45,
@@ -238,8 +238,8 @@ describe("getAdjustedLimit", () => {
238
238
  });
239
239
  it("handles large numberOfItems", () => {
240
240
  const result = getAdjustedLimit({
241
- min: 50,
242
- max: 150
241
+ max: 150,
242
+ min: 50
243
243
  }, 200, 1);
244
244
  expect(result).toEqual({
245
245
  max: 150,
@@ -248,8 +248,8 @@ describe("getAdjustedLimit", () => {
248
248
  });
249
249
  it("handles zero min limit", () => {
250
250
  const result = getAdjustedLimit({
251
- min: 0,
252
- max: 0
251
+ max: 0,
252
+ min: 0
253
253
  }, 60, 1);
254
254
  expect(result).toEqual({
255
255
  max: 0,
@@ -258,8 +258,8 @@ describe("getAdjustedLimit", () => {
258
258
  });
259
259
  it("handles limits with decimal-like values (should work with integers)", () => {
260
260
  const result = getAdjustedLimit({
261
- min: 5,
262
- max: 15
261
+ max: 15,
262
+ min: 5
263
263
  }, 20, 1);
264
264
  expect(result).toEqual({
265
265
  max: 15,
@@ -270,8 +270,8 @@ describe("getAdjustedLimit", () => {
270
270
  describe("real-world scenarios", () => {
271
271
  it("handles typical hours picker (0-23)", () => {
272
272
  const result = getAdjustedLimit({
273
- min: 9,
274
- max: 17
273
+ max: 17,
274
+ min: 9
275
275
  }, 24, 1);
276
276
  expect(result).toEqual({
277
277
  max: 17,
@@ -280,8 +280,8 @@ describe("getAdjustedLimit", () => {
280
280
  });
281
281
  it("handles typical minutes picker (0-59)", () => {
282
282
  const result = getAdjustedLimit({
283
- min: 0,
284
- max: 45
283
+ max: 45,
284
+ min: 0
285
285
  }, 60, 1);
286
286
  expect(result).toEqual({
287
287
  max: 45,
@@ -290,8 +290,8 @@ describe("getAdjustedLimit", () => {
290
290
  });
291
291
  it("handles minutes with 15-minute interval", () => {
292
292
  const result = getAdjustedLimit({
293
- min: 15,
294
- max: 45
293
+ max: 45,
294
+ min: 15
295
295
  }, 4, 15);
296
296
  expect(result).toEqual({
297
297
  max: 45,
@@ -300,8 +300,8 @@ describe("getAdjustedLimit", () => {
300
300
  });
301
301
  it("handles seconds picker (0-59)", () => {
302
302
  const result = getAdjustedLimit({
303
- min: 0,
304
- max: 30
303
+ max: 30,
304
+ min: 0
305
305
  }, 60, 1);
306
306
  expect(result).toEqual({
307
307
  max: 30,
@@ -1 +1 @@
1
- {"version":3,"names":["getAdjustedLimit","describe","it","result","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":[]}
1
+ {"version":3,"names":["getAdjustedLimit","describe","it","result","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({ max: 15, min: 5 }, 20, 1);\n expect(result).toEqual({ max: 15, min: 5 });\n });\n\n it(\"accepts limits at exact boundaries\", () => {\n const result = getAdjustedLimit({ max: 59, min: 0 }, 60, 1);\n expect(result).toEqual({ max: 59, min: 0 });\n });\n\n it(\"handles min of 0\", () => {\n const result = getAdjustedLimit({ max: 10, min: 0 }, 20, 1);\n expect(result).toEqual({ max: 10, min: 0 });\n });\n\n it(\"handles max at maximum value\", () => {\n const result = getAdjustedLimit({ max: 19, min: 10 }, 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({ max: 100, min: 5 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 5 });\n });\n\n it(\"adjusts min when it is negative\", () => {\n const result = getAdjustedLimit({ max: 15, min: -5 }, 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({ max: 100, min: -10 }, 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({ max: 5, min: 15 }, 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({ max: 10, min: 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({ max: 5, min: 50 }, 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({ max: 30, min: 10 }, 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({ max: 45, min: 15 }, 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({ max: 150, min: 50 }, 200, 1);\n expect(result).toEqual({ max: 150, min: 50 });\n });\n\n it(\"handles zero min limit\", () => {\n const result = getAdjustedLimit({ max: 0, min: 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({ max: 15, min: 5 }, 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({ max: 17, min: 9 }, 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({ max: 45, min: 0 }, 60, 1);\n expect(result).toEqual({ max: 45, min: 0 });\n });\n\n it(\"handles minutes with 15-minute interval\", () => {\n const result = getAdjustedLimit({ max: 45, min: 15 }, 4, 15);\n expect(result).toEqual({ max: 45, min: 15 });\n });\n\n it(\"handles seconds picker (0-59)\", () => {\n const result = getAdjustedLimit({ max: 30, min: 0 }, 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":"AAAA,SAASA,gBAAgB,QAAQ,2BAA2B;AAE5DC,QAAQ,CAAC,kBAAkB,EAAE,MAAM;EACjCA,QAAQ,CAAC,2BAA2B,EAAE,MAAM;IAC1CC,EAAE,CAAC,gDAAgD,EAAE,MAAM;MACzD,MAAMC,MAAM,GAAGH,gBAAgB,CAACI,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;MACjDC,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,qDAAqD,EAAE,MAAM;MAC9D,MAAMC,MAAM,GAAGH,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC1CK,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,8CAA8C,EAAE,MAAM;MACvD,MAAMC,MAAM,GAAGH,gBAAgB,CAACI,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;MACjDC,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFP,QAAQ,CAAC,4BAA4B,EAAE,MAAM;IAC3CC,EAAE,CAAC,yCAAyC,EAAE,MAAM;MAClD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC3DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,oCAAoC,EAAE,MAAM;MAC7C,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC3DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,kBAAkB,EAAE,MAAM;MAC3B,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC3DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,8BAA8B,EAAE,MAAM;MACvC,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC5DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,CAAC;IAC9C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFP,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAC/BC,EAAE,CAAC,4CAA4C,EAAE,MAAM;MACrD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEQ,GAAG,EAAE;MAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MACnDH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEFN,EAAE,CAAC,4CAA4C,EAAE,MAAM;MACrD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE;MAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MACnDF,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,uCAAuC,EAAE,MAAM;MAChD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEQ,GAAG,EAAE;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAClDH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,uCAAuC,EAAE,MAAM;MAChD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE;MAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MACnDF,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFP,QAAQ,CAAC,sBAAsB,EAAE,MAAM;IACrCC,EAAE,CAAC,2CAA2C,EAAE,MAAM;MACpD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,GAAG;QAAEC,GAAG,EAAE;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC5DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,iCAAiC,EAAE,MAAM;MAC1C,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE,CAAC;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC5DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,wCAAwC,EAAE,MAAM;MACjD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,GAAG;QAAEC,GAAG,EAAE,CAAC;MAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC9DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,4CAA4C,EAAE,MAAM;MACrD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE;MAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MACpDF,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,4CAA4C,EAAE,MAAM;MACrD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEQ,GAAG,EAAE,CAAC;MAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MACpDH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFP,QAAQ,CAAC,4BAA4B,EAAE,MAAM;IAC3CC,EAAE,CAAC,yDAAyD,EAAE,MAAM;MAClE,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,CAAC;QAAEC,GAAG,EAAE;MAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC3DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,yDAAyD,EAAE,MAAM;MAClE,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC5DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEFN,EAAE,CAAC,yDAAyD,EAAE,MAAM;MAClE,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,CAAC;QAAEC,GAAG,EAAE;MAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC3DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFP,QAAQ,CAAC,qBAAqB,EAAE,MAAM;IACpCC,EAAE,CAAC,uBAAuB,EAAE,MAAM;MAChC,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC5DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEFN,EAAE,CAAC,mCAAmC,EAAE,MAAM;MAC5C,MAAMC,MAAM,GAAGH,gBAAgB,CAACI,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;MACjDC,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,oCAAoC,EAAE,MAAM;MAC7C,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;MAC5DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEFN,EAAE,CAAC,oCAAoC,EAAE,MAAM;MAC7C,MAAMC,MAAM,GAAGH,gBAAgB,CAACI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;MACjDC,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,wBAAwB,EAAE,MAAM;MACjC,MAAMC,MAAM,GAAGH,gBAAgB,CAACI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;MACjDC,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFP,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC3BC,EAAE,CAAC,4BAA4B,EAAE,MAAM;MACrC,MAAMC,MAAM,GAAGH,gBAAgB,CAACI,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;MAChDC,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,CAAC;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEFN,EAAE,CAAC,6BAA6B,EAAE,MAAM;MACtC,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,GAAG;QAAEC,GAAG,EAAE;MAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;MAC9DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,GAAG;QAAEC,GAAG,EAAE;MAAG,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEFN,EAAE,CAAC,wBAAwB,EAAE,MAAM;MACjC,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,CAAC;QAAEC,GAAG,EAAE;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC1DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,CAAC;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEFN,EAAE,CAAC,qEAAqE,EAAE,MAAM;MAC9E,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC3DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFP,QAAQ,CAAC,sBAAsB,EAAE,MAAM;IACrCC,EAAE,CAAC,qCAAqC,EAAE,MAAM;MAC9C,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC3DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEFN,EAAE,CAAC,uCAAuC,EAAE,MAAM;MAChD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC3DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,yCAAyC,EAAE,MAAM;MAClD,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;MAC5DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAG,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEFN,EAAE,CAAC,+BAA+B,EAAE,MAAM;MACxC,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEO,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;MAC3DH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,kCAAkC,EAAE,MAAM;MAC3C,MAAMC,MAAM,GAAGH,gBAAgB,CAAC;QAAEQ,GAAG,EAAE;MAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;MACnDH,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QAAEC,GAAG,EAAE,EAAE;QAAEC,GAAG,EAAE;MAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["getDurationAndIndexFromScrollOffset","describe","it","result","disableInfiniteScroll","interval","itemHeight","numberOfItems","padWithNItems","yContentOffset","expect","toEqual","duration","index","toBe"],"sources":["getDurationAndIndexFromScrollOffset.test.ts"],"sourcesContent":["import { getDurationAndIndexFromScrollOffset } from \"../utils/getDurationAndIndexFromScrollOffset\";\n\ndescribe(\"getDurationAndIndexFromScrollOffset\", () => {\n describe(\"infinite scroll disabled\", () => {\n it(\"calculates duration and index at start position\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 0,\n });\n expect(result).toEqual({ duration: 0, index: 0 });\n });\n\n it(\"calculates duration and index at middle position\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 500,\n });\n expect(result).toEqual({ duration: 10, index: 10 });\n });\n\n it(\"calculates duration and index with interval of 5\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 5,\n itemHeight: 50,\n numberOfItems: 12,\n padWithNItems: 2,\n yContentOffset: 200,\n });\n expect(result).toEqual({ duration: 20, index: 4 });\n });\n\n it(\"calculates duration and index with different item height\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 40,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 200,\n });\n expect(result).toEqual({ duration: 5, index: 5 });\n });\n\n it(\"rounds to nearest index\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 127,\n });\n expect(result).toEqual({ duration: 3, index: 3 }); // 127/50 = 2.54, rounds to 3\n });\n\n it(\"handles wrap-around at max value\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 24,\n padWithNItems: 2,\n yContentOffset: 1200,\n });\n expect(result).toEqual({ duration: 0, index: 24 }); // 24 % 24 = 0\n });\n });\n\n describe(\"infinite scroll enabled\", () => {\n it(\"calculates duration and index at start position\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 0,\n });\n expect(result).toEqual({ duration: 2, index: 0 });\n });\n\n it(\"accounts for padding offset in infinite scroll\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 100,\n });\n expect(result).toEqual({ duration: 4, index: 2 });\n });\n\n it(\"calculates duration with larger padding\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 5,\n yContentOffset: 0,\n });\n expect(result).toEqual({ duration: 5, index: 0 });\n });\n\n it(\"handles modulo wrap-around correctly\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 24,\n padWithNItems: 2,\n yContentOffset: 1100,\n });\n expect(result).toEqual({ duration: 0, index: 22 }); // (22 + 2) % 24 = 0, wraps to duration 0\n });\n\n it(\"calculates with interval of 15\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 15,\n itemHeight: 50,\n numberOfItems: 4,\n padWithNItems: 2,\n yContentOffset: 100,\n });\n expect(result).toEqual({ duration: 0, index: 2 }); // (2 + 2) % 4 = 0, 0 * 15 = 0\n });\n });\n\n describe(\"different intervals\", () => {\n it(\"handles interval of 1\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 300,\n });\n expect(result).toEqual({ duration: 6, index: 6 });\n });\n\n it(\"handles interval of 5\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 5,\n itemHeight: 50,\n numberOfItems: 12,\n padWithNItems: 2,\n yContentOffset: 300,\n });\n expect(result).toEqual({ duration: 30, index: 6 });\n });\n\n it(\"handles interval of 15 for minutes\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 15,\n itemHeight: 50,\n numberOfItems: 4,\n padWithNItems: 2,\n yContentOffset: 150,\n });\n expect(result).toEqual({ duration: 45, index: 3 });\n });\n\n it(\"handles interval of 10\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 10,\n itemHeight: 50,\n numberOfItems: 6,\n padWithNItems: 2,\n yContentOffset: 100,\n });\n expect(result).toEqual({ duration: 20, index: 2 });\n });\n });\n\n describe(\"different item heights\", () => {\n it(\"handles item height of 30\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 30,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 180,\n });\n expect(result).toEqual({ duration: 6, index: 6 });\n });\n\n it(\"handles item height of 60\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 60,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 360,\n });\n expect(result).toEqual({ duration: 6, index: 6 });\n });\n\n it(\"handles item height of 100\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 100,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 500,\n });\n expect(result).toEqual({ duration: 5, index: 5 });\n });\n });\n\n describe(\"rounding behavior\", () => {\n it(\"rounds down when closer to lower index\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 124,\n });\n expect(result).toEqual({ duration: 2, index: 2 }); // 124/50 = 2.48\n });\n\n it(\"rounds up when closer to upper index\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 126,\n });\n expect(result).toEqual({ duration: 3, index: 3 }); // 126/50 = 2.52\n });\n\n it(\"rounds to nearest for exact halfway point\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 125,\n });\n expect(result).toEqual({ duration: 3, index: 3 }); // 125/50 = 2.5, rounds to 3\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"handles zero offset\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 0,\n });\n expect(result).toEqual({ duration: 0, index: 0 });\n });\n\n it(\"handles very large offset\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 24,\n padWithNItems: 2,\n yContentOffset: 5000,\n });\n expect(result.index).toBe(100);\n expect(result.duration).toBe(4); // (100 % 24) * 1 = 4\n });\n\n it(\"handles small numberOfItems\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 2,\n padWithNItems: 1,\n yContentOffset: 150,\n });\n expect(result).toEqual({ duration: 1, index: 3 }); // 3 % 2 = 1\n });\n\n it(\"handles no padding\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 0,\n yContentOffset: 100,\n });\n expect(result).toEqual({ duration: 2, index: 2 });\n });\n });\n\n describe(\"real-world scenarios\", () => {\n it(\"handles typical hour picker scroll\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 24,\n padWithNItems: 2,\n yContentOffset: 600,\n });\n expect(result).toEqual({ duration: 14, index: 12 }); // (12 + 2) % 24 = 14\n });\n\n it(\"handles typical minute picker scroll\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 1500,\n });\n expect(result).toEqual({ duration: 32, index: 30 }); // (30 + 2) % 60 = 32\n });\n\n it(\"handles minute picker with 5-minute interval\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 5,\n itemHeight: 50,\n numberOfItems: 12,\n padWithNItems: 2,\n yContentOffset: 250,\n });\n expect(result).toEqual({ duration: 35, index: 5 }); // (5 + 2) % 12 = 7, 7 * 5 = 35\n });\n\n it(\"handles second picker scroll\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 40,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 800,\n });\n expect(result).toEqual({ duration: 20, index: 20 });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getDurationAndIndexFromScrollOffset","describe","it","result","disableInfiniteScroll","interval","itemHeight","numberOfItems","padWithNItems","yContentOffset","expect","toEqual","duration","index","toBe"],"sources":["getDurationAndIndexFromScrollOffset.test.ts"],"sourcesContent":["import { getDurationAndIndexFromScrollOffset } from \"../utils/getDurationAndIndexFromScrollOffset\";\n\ndescribe(\"getDurationAndIndexFromScrollOffset\", () => {\n describe(\"infinite scroll disabled\", () => {\n it(\"calculates duration and index at start position\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 0,\n });\n expect(result).toEqual({ duration: 0, index: 0 });\n });\n\n it(\"calculates duration and index at middle position\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 500,\n });\n expect(result).toEqual({ duration: 10, index: 10 });\n });\n\n it(\"calculates duration and index with interval of 5\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 5,\n itemHeight: 50,\n numberOfItems: 12,\n padWithNItems: 2,\n yContentOffset: 200,\n });\n expect(result).toEqual({ duration: 20, index: 4 });\n });\n\n it(\"calculates duration and index with different item height\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 40,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 200,\n });\n expect(result).toEqual({ duration: 5, index: 5 });\n });\n\n it(\"rounds to nearest index\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 127,\n });\n expect(result).toEqual({ duration: 3, index: 3 }); // 127/50 = 2.54, rounds to 3\n });\n\n it(\"handles wrap-around at max value\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 24,\n padWithNItems: 2,\n yContentOffset: 1200,\n });\n expect(result).toEqual({ duration: 0, index: 24 }); // 24 % 24 = 0\n });\n });\n\n describe(\"infinite scroll enabled\", () => {\n it(\"calculates duration and index at start position\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 0,\n });\n expect(result).toEqual({ duration: 2, index: 0 });\n });\n\n it(\"accounts for padding offset in infinite scroll\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 100,\n });\n expect(result).toEqual({ duration: 4, index: 2 });\n });\n\n it(\"calculates duration with larger padding\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 5,\n yContentOffset: 0,\n });\n expect(result).toEqual({ duration: 5, index: 0 });\n });\n\n it(\"handles modulo wrap-around correctly\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 24,\n padWithNItems: 2,\n yContentOffset: 1100,\n });\n expect(result).toEqual({ duration: 0, index: 22 }); // (22 + 2) % 24 = 0, wraps to duration 0\n });\n\n it(\"calculates with interval of 15\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 15,\n itemHeight: 50,\n numberOfItems: 4,\n padWithNItems: 2,\n yContentOffset: 100,\n });\n expect(result).toEqual({ duration: 0, index: 2 }); // (2 + 2) % 4 = 0, 0 * 15 = 0\n });\n });\n\n describe(\"different intervals\", () => {\n it(\"handles interval of 1\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 300,\n });\n expect(result).toEqual({ duration: 6, index: 6 });\n });\n\n it(\"handles interval of 5\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 5,\n itemHeight: 50,\n numberOfItems: 12,\n padWithNItems: 2,\n yContentOffset: 300,\n });\n expect(result).toEqual({ duration: 30, index: 6 });\n });\n\n it(\"handles interval of 15 for minutes\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 15,\n itemHeight: 50,\n numberOfItems: 4,\n padWithNItems: 2,\n yContentOffset: 150,\n });\n expect(result).toEqual({ duration: 45, index: 3 });\n });\n\n it(\"handles interval of 10\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 10,\n itemHeight: 50,\n numberOfItems: 6,\n padWithNItems: 2,\n yContentOffset: 100,\n });\n expect(result).toEqual({ duration: 20, index: 2 });\n });\n });\n\n describe(\"different item heights\", () => {\n it(\"handles item height of 30\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 30,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 180,\n });\n expect(result).toEqual({ duration: 6, index: 6 });\n });\n\n it(\"handles item height of 60\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 60,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 360,\n });\n expect(result).toEqual({ duration: 6, index: 6 });\n });\n\n it(\"handles item height of 100\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 100,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 500,\n });\n expect(result).toEqual({ duration: 5, index: 5 });\n });\n });\n\n describe(\"rounding behavior\", () => {\n it(\"rounds down when closer to lower index\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 124,\n });\n expect(result).toEqual({ duration: 2, index: 2 }); // 124/50 = 2.48\n });\n\n it(\"rounds up when closer to upper index\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 126,\n });\n expect(result).toEqual({ duration: 3, index: 3 }); // 126/50 = 2.52\n });\n\n it(\"rounds to nearest for exact halfway point\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 125,\n });\n expect(result).toEqual({ duration: 3, index: 3 }); // 125/50 = 2.5, rounds to 3\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"handles zero offset\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 0,\n });\n expect(result).toEqual({ duration: 0, index: 0 });\n });\n\n it(\"handles very large offset\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 24,\n padWithNItems: 2,\n yContentOffset: 5000,\n });\n expect(result.index).toBe(100);\n expect(result.duration).toBe(4); // (100 % 24) * 1 = 4\n });\n\n it(\"handles small numberOfItems\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 2,\n padWithNItems: 1,\n yContentOffset: 150,\n });\n expect(result).toEqual({ duration: 1, index: 3 }); // 3 % 2 = 1\n });\n\n it(\"handles no padding\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 0,\n yContentOffset: 100,\n });\n expect(result).toEqual({ duration: 2, index: 2 });\n });\n });\n\n describe(\"real-world scenarios\", () => {\n it(\"handles typical hour picker scroll\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 24,\n padWithNItems: 2,\n yContentOffset: 600,\n });\n expect(result).toEqual({ duration: 14, index: 12 }); // (12 + 2) % 24 = 14\n });\n\n it(\"handles typical minute picker scroll\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 1,\n itemHeight: 50,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 1500,\n });\n expect(result).toEqual({ duration: 32, index: 30 }); // (30 + 2) % 60 = 32\n });\n\n it(\"handles minute picker with 5-minute interval\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: false,\n interval: 5,\n itemHeight: 50,\n numberOfItems: 12,\n padWithNItems: 2,\n yContentOffset: 250,\n });\n expect(result).toEqual({ duration: 35, index: 5 }); // (5 + 2) % 12 = 7, 7 * 5 = 35\n });\n\n it(\"handles second picker scroll\", () => {\n const result = getDurationAndIndexFromScrollOffset({\n disableInfiniteScroll: true,\n interval: 1,\n itemHeight: 40,\n numberOfItems: 60,\n padWithNItems: 2,\n yContentOffset: 800,\n });\n expect(result).toEqual({ duration: 20, index: 20 });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["getInitialScrollIndex","describe","it","result","disableInfiniteScroll","interval","numberOfItems","padWithNItems","repeatNumbersNTimes","value","expect","toBe"],"sources":["getInitialScrollIndex.test.ts"],"sourcesContent":["import { getInitialScrollIndex } from \"../utils/getInitialScrollIndex\";\n\ndescribe(\"getInitialScrollIndex\", () => {\n describe(\"infinite scroll disabled\", () => {\n it(\"calculates index for value 0\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 0,\n });\n expect(result).toBe(0);\n });\n\n it(\"calculates index for middle value\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 30,\n });\n expect(result).toBe(30);\n });\n\n it(\"calculates index for max value\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 59,\n });\n expect(result).toBe(59);\n });\n\n it(\"handles interval of 5\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 5,\n numberOfItems: 12,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 25,\n });\n expect(result).toBe(5); // 25 / 5 = 5\n });\n\n it(\"handles interval of 15\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 15,\n numberOfItems: 4,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 45,\n });\n expect(result).toBe(3); // 45 / 15 = 3\n });\n\n it(\"handles different padding values\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 5,\n repeatNumbersNTimes: 1,\n value: 12,\n });\n expect(result).toBe(12);\n });\n });\n\n describe(\"infinite scroll enabled\", () => {\n it(\"accounts for padding offset at value 0\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 0,\n });\n expect(result).toBe(58); // 60 * 1 + 0 - 2 = 58\n });\n\n it(\"calculates index with padding offset for middle value\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 30,\n });\n expect(result).toBe(88); // 60 * 1 + 30 - 2 = 88\n });\n\n it(\"handles larger padding\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 5,\n repeatNumbersNTimes: 3,\n value: 15,\n });\n expect(result).toBe(70); // 60 * 1 + 15 - 5 = 70\n });\n\n it(\"handles zero padding\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 0,\n repeatNumbersNTimes: 3,\n value: 30,\n });\n expect(result).toBe(90); // 60 * 1 + 30 - 0 = 90\n });\n\n it(\"handles interval of 5 with padding\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 5,\n numberOfItems: 12,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 30,\n });\n expect(result).toBe(16); // 12 * 1 + 6 - 2 = 16\n });\n });\n\n describe(\"repeat numbers\", () => {\n it(\"positions at middle repetition when repeatNTimes is 3\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 12,\n });\n expect(result).toBe(34); // 24 * 1 + 12 - 2 = 34\n });\n\n it(\"positions at middle repetition when repeatNTimes is 5\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 2,\n repeatNumbersNTimes: 5,\n value: 12,\n });\n expect(result).toBe(58); // 24 * 2 + 12 - 2 = 58\n });\n\n it(\"handles even repeatNTimes\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 4,\n value: 30,\n });\n expect(result).toBe(148); // 60 * 2 + 30 - 2 = 148\n });\n\n it(\"handles repeatNTimes of 1\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 30,\n });\n expect(result).toBe(28); // 60 * 0 + 30 - 2 = 28\n });\n\n it(\"handles large repeatNTimes\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 2,\n repeatNumbersNTimes: 7,\n value: 12,\n });\n expect(result).toBe(82); // 24 * 3 + 12 - 2 = 82\n });\n });\n\n describe(\"different intervals\", () => {\n it(\"handles interval of 1\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 45,\n });\n expect(result).toBe(103); // 60 * 1 + 45 - 2 = 103\n });\n\n it(\"handles interval of 5\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 5,\n numberOfItems: 12,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 35,\n });\n expect(result).toBe(17); // 12 * 1 + 7 - 2 = 17\n });\n\n it(\"handles interval of 15\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 15,\n numberOfItems: 4,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 30,\n });\n expect(result).toBe(4); // 4 * 1 + 2 - 2 = 4\n });\n\n it(\"handles interval of 10\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 10,\n numberOfItems: 6,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 40,\n });\n expect(result).toBe(8); // 6 * 1 + 4 - 2 = 8\n });\n });\n\n describe(\"wrap-around behavior\", () => {\n it(\"handles value greater than numberOfItems * interval\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 72,\n });\n expect(result).toBe(22); // 24 * 1 + (72 % 24) - 2 = 22\n });\n\n it(\"handles negative result from Math.max\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 10,\n repeatNumbersNTimes: 1,\n value: 5,\n });\n expect(result).toBe(0); // Math.max(0 + 5 - 10, 0) = 0\n });\n\n it(\"ensures non-negative result with large padding\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 50,\n repeatNumbersNTimes: 1,\n value: 0,\n });\n expect(result).toBe(0); // Math.max ensures >= 0\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"handles value of 0\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 0,\n });\n expect(result).toBe(58);\n });\n\n it(\"handles small numberOfItems\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 2,\n padWithNItems: 1,\n repeatNumbersNTimes: 3,\n value: 1,\n });\n expect(result).toBe(2); // 2 * 1 + 1 - 1 = 2\n });\n\n it(\"handles large value\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 200,\n });\n expect(result).toBe(78); // 60 * floor(3/2) + ((200 + 60) % 60) - 2 = 60 + 20 - 2 = 78\n });\n\n it(\"handles numberOfItems of 1\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 1,\n padWithNItems: 0,\n repeatNumbersNTimes: 3,\n value: 0,\n });\n expect(result).toBe(1); // 1 * 1 + 0 - 0 = 1\n });\n });\n\n describe(\"real-world scenarios\", () => {\n it(\"handles typical hour picker initialization\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 14,\n });\n expect(result).toBe(36); // 24 * 1 + 14 - 2 = 36\n });\n\n it(\"handles typical minute picker initialization\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 45,\n });\n expect(result).toBe(103); // 60 * 1 + 45 - 2 = 103\n });\n\n it(\"handles minute picker with 5-minute interval\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 5,\n numberOfItems: 12,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 30,\n });\n expect(result).toBe(16); // 12 * 1 + 6 - 2 = 16\n });\n\n it(\"handles second picker initialization\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 0,\n });\n expect(result).toBe(58); // 60 * 1 + 0 - 2 = 58\n });\n\n it(\"handles day picker without repetition\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 1,\n numberOfItems: 100,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 15,\n });\n expect(result).toBe(15);\n });\n });\n\n describe(\"combination scenarios\", () => {\n it(\"combines interval, padding, and repetition\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 15,\n numberOfItems: 4,\n padWithNItems: 3,\n repeatNumbersNTimes: 5,\n value: 45,\n });\n expect(result).toBe(8); // 4 * 2 + 3 - 3 = 8\n });\n\n it(\"handles disabled infinite scroll with repetition\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 5,\n numberOfItems: 12,\n padWithNItems: 5,\n repeatNumbersNTimes: 3,\n value: 35,\n });\n expect(result).toBe(19); // 12 * 1 + 7 = 19\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getInitialScrollIndex","describe","it","result","disableInfiniteScroll","interval","numberOfItems","padWithNItems","repeatNumbersNTimes","value","expect","toBe"],"sources":["getInitialScrollIndex.test.ts"],"sourcesContent":["import { getInitialScrollIndex } from \"../utils/getInitialScrollIndex\";\n\ndescribe(\"getInitialScrollIndex\", () => {\n describe(\"infinite scroll disabled\", () => {\n it(\"calculates index for value 0\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 0,\n });\n expect(result).toBe(0);\n });\n\n it(\"calculates index for middle value\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 30,\n });\n expect(result).toBe(30);\n });\n\n it(\"calculates index for max value\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 59,\n });\n expect(result).toBe(59);\n });\n\n it(\"handles interval of 5\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 5,\n numberOfItems: 12,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 25,\n });\n expect(result).toBe(5); // 25 / 5 = 5\n });\n\n it(\"handles interval of 15\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 15,\n numberOfItems: 4,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 45,\n });\n expect(result).toBe(3); // 45 / 15 = 3\n });\n\n it(\"handles different padding values\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 5,\n repeatNumbersNTimes: 1,\n value: 12,\n });\n expect(result).toBe(12);\n });\n });\n\n describe(\"infinite scroll enabled\", () => {\n it(\"accounts for padding offset at value 0\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 0,\n });\n expect(result).toBe(58); // 60 * 1 + 0 - 2 = 58\n });\n\n it(\"calculates index with padding offset for middle value\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 30,\n });\n expect(result).toBe(88); // 60 * 1 + 30 - 2 = 88\n });\n\n it(\"handles larger padding\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 5,\n repeatNumbersNTimes: 3,\n value: 15,\n });\n expect(result).toBe(70); // 60 * 1 + 15 - 5 = 70\n });\n\n it(\"handles zero padding\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 0,\n repeatNumbersNTimes: 3,\n value: 30,\n });\n expect(result).toBe(90); // 60 * 1 + 30 - 0 = 90\n });\n\n it(\"handles interval of 5 with padding\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 5,\n numberOfItems: 12,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 30,\n });\n expect(result).toBe(16); // 12 * 1 + 6 - 2 = 16\n });\n });\n\n describe(\"repeat numbers\", () => {\n it(\"positions at middle repetition when repeatNTimes is 3\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 12,\n });\n expect(result).toBe(34); // 24 * 1 + 12 - 2 = 34\n });\n\n it(\"positions at middle repetition when repeatNTimes is 5\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 2,\n repeatNumbersNTimes: 5,\n value: 12,\n });\n expect(result).toBe(58); // 24 * 2 + 12 - 2 = 58\n });\n\n it(\"handles even repeatNTimes\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 4,\n value: 30,\n });\n expect(result).toBe(148); // 60 * 2 + 30 - 2 = 148\n });\n\n it(\"handles repeatNTimes of 1\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 30,\n });\n expect(result).toBe(28); // 60 * 0 + 30 - 2 = 28\n });\n\n it(\"handles large repeatNTimes\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 2,\n repeatNumbersNTimes: 7,\n value: 12,\n });\n expect(result).toBe(82); // 24 * 3 + 12 - 2 = 82\n });\n });\n\n describe(\"different intervals\", () => {\n it(\"handles interval of 1\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 45,\n });\n expect(result).toBe(103); // 60 * 1 + 45 - 2 = 103\n });\n\n it(\"handles interval of 5\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 5,\n numberOfItems: 12,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 35,\n });\n expect(result).toBe(17); // 12 * 1 + 7 - 2 = 17\n });\n\n it(\"handles interval of 15\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 15,\n numberOfItems: 4,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 30,\n });\n expect(result).toBe(4); // 4 * 1 + 2 - 2 = 4\n });\n\n it(\"handles interval of 10\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 10,\n numberOfItems: 6,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 40,\n });\n expect(result).toBe(8); // 6 * 1 + 4 - 2 = 8\n });\n });\n\n describe(\"wrap-around behavior\", () => {\n it(\"handles value greater than numberOfItems * interval\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 72,\n });\n expect(result).toBe(22); // 24 * 1 + (72 % 24) - 2 = 22\n });\n\n it(\"handles negative result from Math.max\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 10,\n repeatNumbersNTimes: 1,\n value: 5,\n });\n expect(result).toBe(0); // Math.max(0 + 5 - 10, 0) = 0\n });\n\n it(\"ensures non-negative result with large padding\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 50,\n repeatNumbersNTimes: 1,\n value: 0,\n });\n expect(result).toBe(0); // Math.max ensures >= 0\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"handles value of 0\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 0,\n });\n expect(result).toBe(58);\n });\n\n it(\"handles small numberOfItems\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 2,\n padWithNItems: 1,\n repeatNumbersNTimes: 3,\n value: 1,\n });\n expect(result).toBe(2); // 2 * 1 + 1 - 1 = 2\n });\n\n it(\"handles large value\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 200,\n });\n expect(result).toBe(78); // 60 * floor(3/2) + ((200 + 60) % 60) - 2 = 60 + 20 - 2 = 78\n });\n\n it(\"handles numberOfItems of 1\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 1,\n padWithNItems: 0,\n repeatNumbersNTimes: 3,\n value: 0,\n });\n expect(result).toBe(1); // 1 * 1 + 0 - 0 = 1\n });\n });\n\n describe(\"real-world scenarios\", () => {\n it(\"handles typical hour picker initialization\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 24,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 14,\n });\n expect(result).toBe(36); // 24 * 1 + 14 - 2 = 36\n });\n\n it(\"handles typical minute picker initialization\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 45,\n });\n expect(result).toBe(103); // 60 * 1 + 45 - 2 = 103\n });\n\n it(\"handles minute picker with 5-minute interval\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 5,\n numberOfItems: 12,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 30,\n });\n expect(result).toBe(16); // 12 * 1 + 6 - 2 = 16\n });\n\n it(\"handles second picker initialization\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 1,\n numberOfItems: 60,\n padWithNItems: 2,\n repeatNumbersNTimes: 3,\n value: 0,\n });\n expect(result).toBe(58); // 60 * 1 + 0 - 2 = 58\n });\n\n it(\"handles day picker without repetition\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 1,\n numberOfItems: 100,\n padWithNItems: 2,\n repeatNumbersNTimes: 1,\n value: 15,\n });\n expect(result).toBe(15);\n });\n });\n\n describe(\"combination scenarios\", () => {\n it(\"combines interval, padding, and repetition\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: false,\n interval: 15,\n numberOfItems: 4,\n padWithNItems: 3,\n repeatNumbersNTimes: 5,\n value: 45,\n });\n expect(result).toBe(8); // 4 * 2 + 3 - 3 = 8\n });\n\n it(\"handles disabled infinite scroll with repetition\", () => {\n const result = getInitialScrollIndex({\n disableInfiniteScroll: true,\n interval: 5,\n numberOfItems: 12,\n padWithNItems: 5,\n repeatNumbersNTimes: 3,\n value: 35,\n });\n expect(result).toBe(19); // 12 * 1 + 7 = 19\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
1
2
  import { getSafeInitialValue } from "../utils/getSafeInitialValue";
2
3
  describe("getSafeInitialValue", () => {
3
4
  describe("valid values", () => {