react-native-timer-picker 2.4.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/README.md +35 -25
  2. package/package.json +143 -126
  3. package/dist/commonjs/components/DurationScroll/DurationScroll.js +0 -403
  4. package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +0 -1
  5. package/dist/commonjs/components/DurationScroll/index.js +0 -27
  6. package/dist/commonjs/components/DurationScroll/index.js.map +0 -1
  7. package/dist/commonjs/components/DurationScroll/types.js +0 -6
  8. package/dist/commonjs/components/DurationScroll/types.js.map +0 -1
  9. package/dist/commonjs/components/Modal/Modal.js +0 -107
  10. package/dist/commonjs/components/Modal/Modal.js.map +0 -1
  11. package/dist/commonjs/components/Modal/index.js +0 -27
  12. package/dist/commonjs/components/Modal/index.js.map +0 -1
  13. package/dist/commonjs/components/Modal/styles.js +0 -25
  14. package/dist/commonjs/components/Modal/styles.js.map +0 -1
  15. package/dist/commonjs/components/Modal/types.js +0 -6
  16. package/dist/commonjs/components/Modal/types.js.map +0 -1
  17. package/dist/commonjs/components/PickerItem/PickerItem.js +0 -45
  18. package/dist/commonjs/components/PickerItem/PickerItem.js.map +0 -1
  19. package/dist/commonjs/components/PickerItem/index.js +0 -14
  20. package/dist/commonjs/components/PickerItem/index.js.map +0 -1
  21. package/dist/commonjs/components/TimerPicker/TimerPicker.js +0 -236
  22. package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +0 -1
  23. package/dist/commonjs/components/TimerPicker/index.js +0 -39
  24. package/dist/commonjs/components/TimerPicker/index.js.map +0 -1
  25. package/dist/commonjs/components/TimerPicker/styles.js +0 -121
  26. package/dist/commonjs/components/TimerPicker/styles.js.map +0 -1
  27. package/dist/commonjs/components/TimerPicker/types.js +0 -6
  28. package/dist/commonjs/components/TimerPicker/types.js.map +0 -1
  29. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js +0 -153
  30. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js.map +0 -1
  31. package/dist/commonjs/components/TimerPickerModal/index.js +0 -39
  32. package/dist/commonjs/components/TimerPickerModal/index.js.map +0 -1
  33. package/dist/commonjs/components/TimerPickerModal/styles.js +0 -89
  34. package/dist/commonjs/components/TimerPickerModal/styles.js.map +0 -1
  35. package/dist/commonjs/components/TimerPickerModal/types.js +0 -6
  36. package/dist/commonjs/components/TimerPickerModal/types.js.map +0 -1
  37. package/dist/commonjs/index.js +0 -57
  38. package/dist/commonjs/index.js.map +0 -1
  39. package/dist/commonjs/tests/DurationScroll.test.js +0 -163
  40. package/dist/commonjs/tests/DurationScroll.test.js.map +0 -1
  41. package/dist/commonjs/tests/Modal.test.js +0 -119
  42. package/dist/commonjs/tests/Modal.test.js.map +0 -1
  43. package/dist/commonjs/tests/TimerPicker.test.js +0 -169
  44. package/dist/commonjs/tests/TimerPicker.test.js.map +0 -1
  45. package/dist/commonjs/tests/TimerPickerModal.test.js +0 -276
  46. package/dist/commonjs/tests/TimerPickerModal.test.js.map +0 -1
  47. package/dist/commonjs/tests/colorToRgba.test.js +0 -176
  48. package/dist/commonjs/tests/colorToRgba.test.js.map +0 -1
  49. package/dist/commonjs/tests/generateNumbers.test.js +0 -350
  50. package/dist/commonjs/tests/generateNumbers.test.js.map +0 -1
  51. package/dist/commonjs/tests/getAdjustedLimit.test.js +0 -324
  52. package/dist/commonjs/tests/getAdjustedLimit.test.js.map +0 -1
  53. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js +0 -424
  54. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js.map +0 -1
  55. package/dist/commonjs/tests/getInitialScrollIndex.test.js +0 -396
  56. package/dist/commonjs/tests/getInitialScrollIndex.test.js.map +0 -1
  57. package/dist/commonjs/tests/getSafeInitialValue.test.js +0 -497
  58. package/dist/commonjs/tests/getSafeInitialValue.test.js.map +0 -1
  59. package/dist/commonjs/tests/padNumber.test.js +0 -301
  60. package/dist/commonjs/tests/padNumber.test.js.map +0 -1
  61. package/dist/commonjs/utils/colorToRgba.js +0 -87
  62. package/dist/commonjs/utils/colorToRgba.js.map +0 -1
  63. package/dist/commonjs/utils/generateNumbers.js +0 -124
  64. package/dist/commonjs/utils/generateNumbers.js.map +0 -1
  65. package/dist/commonjs/utils/getAdjustedLimit.js +0 -58
  66. package/dist/commonjs/utils/getAdjustedLimit.js.map +0 -1
  67. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js +0 -62
  68. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js.map +0 -1
  69. package/dist/commonjs/utils/getInitialScrollIndex.js +0 -57
  70. package/dist/commonjs/utils/getInitialScrollIndex.js.map +0 -1
  71. package/dist/commonjs/utils/getSafeInitialValue.js +0 -41
  72. package/dist/commonjs/utils/getSafeInitialValue.js.map +0 -1
  73. package/dist/commonjs/utils/padNumber.js +0 -40
  74. package/dist/commonjs/utils/padNumber.js.map +0 -1
  75. package/dist/module/components/DurationScroll/DurationScroll.js +0 -395
  76. package/dist/module/components/DurationScroll/DurationScroll.js.map +0 -1
  77. package/dist/module/components/DurationScroll/index.js +0 -3
  78. package/dist/module/components/DurationScroll/index.js.map +0 -1
  79. package/dist/module/components/DurationScroll/types.js +0 -2
  80. package/dist/module/components/DurationScroll/types.js.map +0 -1
  81. package/dist/module/components/Modal/Modal.js +0 -99
  82. package/dist/module/components/Modal/Modal.js.map +0 -1
  83. package/dist/module/components/Modal/index.js +0 -3
  84. package/dist/module/components/Modal/index.js.map +0 -1
  85. package/dist/module/components/Modal/styles.js +0 -19
  86. package/dist/module/components/Modal/styles.js.map +0 -1
  87. package/dist/module/components/Modal/types.js +0 -2
  88. package/dist/module/components/Modal/types.js.map +0 -1
  89. package/dist/module/components/PickerItem/PickerItem.js +0 -38
  90. package/dist/module/components/PickerItem/PickerItem.js.map +0 -1
  91. package/dist/module/components/PickerItem/index.js +0 -2
  92. package/dist/module/components/PickerItem/index.js.map +0 -1
  93. package/dist/module/components/TimerPicker/TimerPicker.js +0 -228
  94. package/dist/module/components/TimerPicker/TimerPicker.js.map +0 -1
  95. package/dist/module/components/TimerPicker/index.js +0 -4
  96. package/dist/module/components/TimerPicker/index.js.map +0 -1
  97. package/dist/module/components/TimerPicker/styles.js +0 -114
  98. package/dist/module/components/TimerPicker/styles.js.map +0 -1
  99. package/dist/module/components/TimerPicker/types.js +0 -2
  100. package/dist/module/components/TimerPicker/types.js.map +0 -1
  101. package/dist/module/components/TimerPickerModal/TimerPickerModal.js +0 -145
  102. package/dist/module/components/TimerPickerModal/TimerPickerModal.js.map +0 -1
  103. package/dist/module/components/TimerPickerModal/index.js +0 -4
  104. package/dist/module/components/TimerPickerModal/index.js.map +0 -1
  105. package/dist/module/components/TimerPickerModal/styles.js +0 -82
  106. package/dist/module/components/TimerPickerModal/styles.js.map +0 -1
  107. package/dist/module/components/TimerPickerModal/types.js +0 -2
  108. package/dist/module/components/TimerPickerModal/types.js.map +0 -1
  109. package/dist/module/index.js +0 -3
  110. package/dist/module/index.js.map +0 -1
  111. package/dist/module/tests/DurationScroll.test.js +0 -160
  112. package/dist/module/tests/DurationScroll.test.js.map +0 -1
  113. package/dist/module/tests/Modal.test.js +0 -116
  114. package/dist/module/tests/Modal.test.js.map +0 -1
  115. package/dist/module/tests/TimerPicker.test.js +0 -166
  116. package/dist/module/tests/TimerPicker.test.js.map +0 -1
  117. package/dist/module/tests/TimerPickerModal.test.js +0 -273
  118. package/dist/module/tests/TimerPickerModal.test.js.map +0 -1
  119. package/dist/module/tests/colorToRgba.test.js +0 -174
  120. package/dist/module/tests/colorToRgba.test.js.map +0 -1
  121. package/dist/module/tests/generateNumbers.test.js +0 -348
  122. package/dist/module/tests/generateNumbers.test.js.map +0 -1
  123. package/dist/module/tests/getAdjustedLimit.test.js +0 -322
  124. package/dist/module/tests/getAdjustedLimit.test.js.map +0 -1
  125. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js +0 -422
  126. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js.map +0 -1
  127. package/dist/module/tests/getInitialScrollIndex.test.js +0 -394
  128. package/dist/module/tests/getInitialScrollIndex.test.js.map +0 -1
  129. package/dist/module/tests/getSafeInitialValue.test.js +0 -495
  130. package/dist/module/tests/getSafeInitialValue.test.js.map +0 -1
  131. package/dist/module/tests/padNumber.test.js +0 -299
  132. package/dist/module/tests/padNumber.test.js.map +0 -1
  133. package/dist/module/utils/colorToRgba.js +0 -80
  134. package/dist/module/utils/colorToRgba.js.map +0 -1
  135. package/dist/module/utils/generateNumbers.js +0 -117
  136. package/dist/module/utils/generateNumbers.js.map +0 -1
  137. package/dist/module/utils/getAdjustedLimit.js +0 -51
  138. package/dist/module/utils/getAdjustedLimit.js.map +0 -1
  139. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js +0 -55
  140. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js.map +0 -1
  141. package/dist/module/utils/getInitialScrollIndex.js +0 -50
  142. package/dist/module/utils/getInitialScrollIndex.js.map +0 -1
  143. package/dist/module/utils/getSafeInitialValue.js +0 -34
  144. package/dist/module/utils/getSafeInitialValue.js.map +0 -1
  145. package/dist/module/utils/padNumber.js +0 -33
  146. package/dist/module/utils/padNumber.js.map +0 -1
  147. package/dist/typescript/components/DurationScroll/DurationScroll.d.ts +0 -4
  148. package/dist/typescript/components/DurationScroll/index.d.ts +0 -2
  149. package/dist/typescript/components/DurationScroll/types.d.ts +0 -66
  150. package/dist/typescript/components/Modal/Modal.d.ts +0 -5
  151. package/dist/typescript/components/Modal/index.d.ts +0 -2
  152. package/dist/typescript/components/Modal/styles.d.ts +0 -17
  153. package/dist/typescript/components/Modal/types.d.ts +0 -15
  154. package/dist/typescript/components/PickerItem/PickerItem.d.ts +0 -14
  155. package/dist/typescript/components/PickerItem/index.d.ts +0 -1
  156. package/dist/typescript/components/TimerPicker/TimerPicker.d.ts +0 -4
  157. package/dist/typescript/components/TimerPicker/index.d.ts +0 -3
  158. package/dist/typescript/components/TimerPicker/styles.d.ts +0 -1451
  159. package/dist/typescript/components/TimerPicker/types.d.ts +0 -90
  160. package/dist/typescript/components/TimerPickerModal/TimerPickerModal.d.ts +0 -4
  161. package/dist/typescript/components/TimerPickerModal/index.d.ts +0 -3
  162. package/dist/typescript/components/TimerPickerModal/styles.d.ts +0 -947
  163. package/dist/typescript/components/TimerPickerModal/types.d.ts +0 -55
  164. package/dist/typescript/index.d.ts +0 -2
  165. package/dist/typescript/utils/colorToRgba.d.ts +0 -38
  166. package/dist/typescript/utils/generateNumbers.d.ts +0 -80
  167. package/dist/typescript/utils/getAdjustedLimit.d.ts +0 -30
  168. package/dist/typescript/utils/getDurationAndIndexFromScrollOffset.d.ts +0 -49
  169. package/dist/typescript/utils/getInitialScrollIndex.d.ts +0 -46
  170. package/dist/typescript/utils/getSafeInitialValue.d.ts +0 -38
  171. package/dist/typescript/utils/padNumber.d.ts +0 -28
@@ -1,394 +0,0 @@
1
- import { getInitialScrollIndex } from "../utils/getInitialScrollIndex";
2
- describe("getInitialScrollIndex", () => {
3
- describe("infinite scroll disabled", () => {
4
- it("calculates index for value 0", () => {
5
- const result = getInitialScrollIndex({
6
- disableInfiniteScroll: true,
7
- interval: 1,
8
- numberOfItems: 60,
9
- padWithNItems: 2,
10
- repeatNumbersNTimes: 1,
11
- value: 0
12
- });
13
- expect(result).toBe(0);
14
- });
15
- it("calculates index for middle value", () => {
16
- const result = getInitialScrollIndex({
17
- disableInfiniteScroll: true,
18
- interval: 1,
19
- numberOfItems: 60,
20
- padWithNItems: 2,
21
- repeatNumbersNTimes: 1,
22
- value: 30
23
- });
24
- expect(result).toBe(30);
25
- });
26
- it("calculates index for max value", () => {
27
- const result = getInitialScrollIndex({
28
- disableInfiniteScroll: true,
29
- interval: 1,
30
- numberOfItems: 60,
31
- padWithNItems: 2,
32
- repeatNumbersNTimes: 1,
33
- value: 59
34
- });
35
- expect(result).toBe(59);
36
- });
37
- it("handles interval of 5", () => {
38
- const result = getInitialScrollIndex({
39
- disableInfiniteScroll: true,
40
- interval: 5,
41
- numberOfItems: 12,
42
- padWithNItems: 2,
43
- repeatNumbersNTimes: 1,
44
- value: 25
45
- });
46
- expect(result).toBe(5); // 25 / 5 = 5
47
- });
48
- it("handles interval of 15", () => {
49
- const result = getInitialScrollIndex({
50
- disableInfiniteScroll: true,
51
- interval: 15,
52
- numberOfItems: 4,
53
- padWithNItems: 2,
54
- repeatNumbersNTimes: 1,
55
- value: 45
56
- });
57
- expect(result).toBe(3); // 45 / 15 = 3
58
- });
59
- it("handles different padding values", () => {
60
- const result = getInitialScrollIndex({
61
- disableInfiniteScroll: true,
62
- interval: 1,
63
- numberOfItems: 24,
64
- padWithNItems: 5,
65
- repeatNumbersNTimes: 1,
66
- value: 12
67
- });
68
- expect(result).toBe(12);
69
- });
70
- });
71
- describe("infinite scroll enabled", () => {
72
- it("accounts for padding offset at value 0", () => {
73
- const result = getInitialScrollIndex({
74
- disableInfiniteScroll: false,
75
- interval: 1,
76
- numberOfItems: 60,
77
- padWithNItems: 2,
78
- repeatNumbersNTimes: 3,
79
- value: 0
80
- });
81
- expect(result).toBe(58); // 60 * 1 + 0 - 2 = 58
82
- });
83
- it("calculates index with padding offset for middle value", () => {
84
- const result = getInitialScrollIndex({
85
- disableInfiniteScroll: false,
86
- interval: 1,
87
- numberOfItems: 60,
88
- padWithNItems: 2,
89
- repeatNumbersNTimes: 3,
90
- value: 30
91
- });
92
- expect(result).toBe(88); // 60 * 1 + 30 - 2 = 88
93
- });
94
- it("handles larger padding", () => {
95
- const result = getInitialScrollIndex({
96
- disableInfiniteScroll: false,
97
- interval: 1,
98
- numberOfItems: 60,
99
- padWithNItems: 5,
100
- repeatNumbersNTimes: 3,
101
- value: 15
102
- });
103
- expect(result).toBe(70); // 60 * 1 + 15 - 5 = 70
104
- });
105
- it("handles zero padding", () => {
106
- const result = getInitialScrollIndex({
107
- disableInfiniteScroll: false,
108
- interval: 1,
109
- numberOfItems: 60,
110
- padWithNItems: 0,
111
- repeatNumbersNTimes: 3,
112
- value: 30
113
- });
114
- expect(result).toBe(90); // 60 * 1 + 30 - 0 = 90
115
- });
116
- it("handles interval of 5 with padding", () => {
117
- const result = getInitialScrollIndex({
118
- disableInfiniteScroll: false,
119
- interval: 5,
120
- numberOfItems: 12,
121
- padWithNItems: 2,
122
- repeatNumbersNTimes: 3,
123
- value: 30
124
- });
125
- expect(result).toBe(16); // 12 * 1 + 6 - 2 = 16
126
- });
127
- });
128
- describe("repeat numbers", () => {
129
- it("positions at middle repetition when repeatNTimes is 3", () => {
130
- const result = getInitialScrollIndex({
131
- disableInfiniteScroll: false,
132
- interval: 1,
133
- numberOfItems: 24,
134
- padWithNItems: 2,
135
- repeatNumbersNTimes: 3,
136
- value: 12
137
- });
138
- expect(result).toBe(34); // 24 * 1 + 12 - 2 = 34
139
- });
140
- it("positions at middle repetition when repeatNTimes is 5", () => {
141
- const result = getInitialScrollIndex({
142
- disableInfiniteScroll: false,
143
- interval: 1,
144
- numberOfItems: 24,
145
- padWithNItems: 2,
146
- repeatNumbersNTimes: 5,
147
- value: 12
148
- });
149
- expect(result).toBe(58); // 24 * 2 + 12 - 2 = 58
150
- });
151
- it("handles even repeatNTimes", () => {
152
- const result = getInitialScrollIndex({
153
- disableInfiniteScroll: false,
154
- interval: 1,
155
- numberOfItems: 60,
156
- padWithNItems: 2,
157
- repeatNumbersNTimes: 4,
158
- value: 30
159
- });
160
- expect(result).toBe(148); // 60 * 2 + 30 - 2 = 148
161
- });
162
- it("handles repeatNTimes of 1", () => {
163
- const result = getInitialScrollIndex({
164
- disableInfiniteScroll: false,
165
- interval: 1,
166
- numberOfItems: 60,
167
- padWithNItems: 2,
168
- repeatNumbersNTimes: 1,
169
- value: 30
170
- });
171
- expect(result).toBe(28); // 60 * 0 + 30 - 2 = 28
172
- });
173
- it("handles large repeatNTimes", () => {
174
- const result = getInitialScrollIndex({
175
- disableInfiniteScroll: false,
176
- interval: 1,
177
- numberOfItems: 24,
178
- padWithNItems: 2,
179
- repeatNumbersNTimes: 7,
180
- value: 12
181
- });
182
- expect(result).toBe(82); // 24 * 3 + 12 - 2 = 82
183
- });
184
- });
185
- describe("different intervals", () => {
186
- it("handles interval of 1", () => {
187
- const result = getInitialScrollIndex({
188
- disableInfiniteScroll: false,
189
- interval: 1,
190
- numberOfItems: 60,
191
- padWithNItems: 2,
192
- repeatNumbersNTimes: 3,
193
- value: 45
194
- });
195
- expect(result).toBe(103); // 60 * 1 + 45 - 2 = 103
196
- });
197
- it("handles interval of 5", () => {
198
- const result = getInitialScrollIndex({
199
- disableInfiniteScroll: false,
200
- interval: 5,
201
- numberOfItems: 12,
202
- padWithNItems: 2,
203
- repeatNumbersNTimes: 3,
204
- value: 35
205
- });
206
- expect(result).toBe(17); // 12 * 1 + 7 - 2 = 17
207
- });
208
- it("handles interval of 15", () => {
209
- const result = getInitialScrollIndex({
210
- disableInfiniteScroll: false,
211
- interval: 15,
212
- numberOfItems: 4,
213
- padWithNItems: 2,
214
- repeatNumbersNTimes: 3,
215
- value: 30
216
- });
217
- expect(result).toBe(4); // 4 * 1 + 2 - 2 = 4
218
- });
219
- it("handles interval of 10", () => {
220
- const result = getInitialScrollIndex({
221
- disableInfiniteScroll: false,
222
- interval: 10,
223
- numberOfItems: 6,
224
- padWithNItems: 2,
225
- repeatNumbersNTimes: 3,
226
- value: 40
227
- });
228
- expect(result).toBe(8); // 6 * 1 + 4 - 2 = 8
229
- });
230
- });
231
- describe("wrap-around behavior", () => {
232
- it("handles value greater than numberOfItems * interval", () => {
233
- const result = getInitialScrollIndex({
234
- disableInfiniteScroll: false,
235
- interval: 1,
236
- numberOfItems: 24,
237
- padWithNItems: 2,
238
- repeatNumbersNTimes: 3,
239
- value: 72
240
- });
241
- expect(result).toBe(22); // 24 * 1 + (72 % 24) - 2 = 22
242
- });
243
- it("handles negative result from Math.max", () => {
244
- const result = getInitialScrollIndex({
245
- disableInfiniteScroll: false,
246
- interval: 1,
247
- numberOfItems: 60,
248
- padWithNItems: 10,
249
- repeatNumbersNTimes: 1,
250
- value: 5
251
- });
252
- expect(result).toBe(0); // Math.max(0 + 5 - 10, 0) = 0
253
- });
254
- it("ensures non-negative result with large padding", () => {
255
- const result = getInitialScrollIndex({
256
- disableInfiniteScroll: false,
257
- interval: 1,
258
- numberOfItems: 24,
259
- padWithNItems: 50,
260
- repeatNumbersNTimes: 1,
261
- value: 0
262
- });
263
- expect(result).toBe(0); // Math.max ensures >= 0
264
- });
265
- });
266
- describe("edge cases", () => {
267
- it("handles value of 0", () => {
268
- const result = getInitialScrollIndex({
269
- disableInfiniteScroll: false,
270
- interval: 1,
271
- numberOfItems: 60,
272
- padWithNItems: 2,
273
- repeatNumbersNTimes: 3,
274
- value: 0
275
- });
276
- expect(result).toBe(58);
277
- });
278
- it("handles small numberOfItems", () => {
279
- const result = getInitialScrollIndex({
280
- disableInfiniteScroll: false,
281
- interval: 1,
282
- numberOfItems: 2,
283
- padWithNItems: 1,
284
- repeatNumbersNTimes: 3,
285
- value: 1
286
- });
287
- expect(result).toBe(2); // 2 * 1 + 1 - 1 = 2
288
- });
289
- it("handles large value", () => {
290
- const result = getInitialScrollIndex({
291
- disableInfiniteScroll: false,
292
- interval: 1,
293
- numberOfItems: 60,
294
- padWithNItems: 2,
295
- repeatNumbersNTimes: 3,
296
- value: 200
297
- });
298
- expect(result).toBe(78); // 60 * floor(3/2) + ((200 + 60) % 60) - 2 = 60 + 20 - 2 = 78
299
- });
300
- it("handles numberOfItems of 1", () => {
301
- const result = getInitialScrollIndex({
302
- disableInfiniteScroll: false,
303
- interval: 1,
304
- numberOfItems: 1,
305
- padWithNItems: 0,
306
- repeatNumbersNTimes: 3,
307
- value: 0
308
- });
309
- expect(result).toBe(1); // 1 * 1 + 0 - 0 = 1
310
- });
311
- });
312
- describe("real-world scenarios", () => {
313
- it("handles typical hour picker initialization", () => {
314
- const result = getInitialScrollIndex({
315
- disableInfiniteScroll: false,
316
- interval: 1,
317
- numberOfItems: 24,
318
- padWithNItems: 2,
319
- repeatNumbersNTimes: 3,
320
- value: 14
321
- });
322
- expect(result).toBe(36); // 24 * 1 + 14 - 2 = 36
323
- });
324
- it("handles typical minute picker initialization", () => {
325
- const result = getInitialScrollIndex({
326
- disableInfiniteScroll: false,
327
- interval: 1,
328
- numberOfItems: 60,
329
- padWithNItems: 2,
330
- repeatNumbersNTimes: 3,
331
- value: 45
332
- });
333
- expect(result).toBe(103); // 60 * 1 + 45 - 2 = 103
334
- });
335
- it("handles minute picker with 5-minute interval", () => {
336
- const result = getInitialScrollIndex({
337
- disableInfiniteScroll: false,
338
- interval: 5,
339
- numberOfItems: 12,
340
- padWithNItems: 2,
341
- repeatNumbersNTimes: 3,
342
- value: 30
343
- });
344
- expect(result).toBe(16); // 12 * 1 + 6 - 2 = 16
345
- });
346
- it("handles second picker initialization", () => {
347
- const result = getInitialScrollIndex({
348
- disableInfiniteScroll: false,
349
- interval: 1,
350
- numberOfItems: 60,
351
- padWithNItems: 2,
352
- repeatNumbersNTimes: 3,
353
- value: 0
354
- });
355
- expect(result).toBe(58); // 60 * 1 + 0 - 2 = 58
356
- });
357
- it("handles day picker without repetition", () => {
358
- const result = getInitialScrollIndex({
359
- disableInfiniteScroll: true,
360
- interval: 1,
361
- numberOfItems: 100,
362
- padWithNItems: 2,
363
- repeatNumbersNTimes: 1,
364
- value: 15
365
- });
366
- expect(result).toBe(15);
367
- });
368
- });
369
- describe("combination scenarios", () => {
370
- it("combines interval, padding, and repetition", () => {
371
- const result = getInitialScrollIndex({
372
- disableInfiniteScroll: false,
373
- interval: 15,
374
- numberOfItems: 4,
375
- padWithNItems: 3,
376
- repeatNumbersNTimes: 5,
377
- value: 45
378
- });
379
- expect(result).toBe(8); // 4 * 2 + 3 - 3 = 8
380
- });
381
- it("handles disabled infinite scroll with repetition", () => {
382
- const result = getInitialScrollIndex({
383
- disableInfiniteScroll: true,
384
- interval: 5,
385
- numberOfItems: 12,
386
- padWithNItems: 5,
387
- repeatNumbersNTimes: 3,
388
- value: 35
389
- });
390
- expect(result).toBe(19); // 12 * 1 + 7 = 19
391
- });
392
- });
393
- });
394
- //# sourceMappingURL=getInitialScrollIndex.test.js.map
@@ -1 +0,0 @@
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":[]}