@salutejs/plasma-new-hope 0.339.0-canary.2299.18773440976.0 → 0.339.0-canary.2300.18832443234.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 (247) hide show
  1. package/cjs/components/TimePicker/TimePicker.css +15 -11
  2. package/cjs/components/TimePicker/TimePicker.js +22 -458
  3. package/cjs/components/TimePicker/TimePicker.js.map +1 -1
  4. package/cjs/components/TimePicker/TimePicker.styles.js +17 -21
  5. package/cjs/components/TimePicker/TimePicker.styles.js.map +1 -1
  6. package/cjs/components/TimePicker/{TimePicker.styles_ar3obv.css → TimePicker.styles_2lk4d9.css} +4 -3
  7. package/cjs/components/TimePicker/utils/index.js +1 -33
  8. package/cjs/components/TimePicker/utils/index.js.map +1 -1
  9. package/cjs/components/TimePickerGrid/TimePickerGrid.css +10 -0
  10. package/cjs/components/TimePickerGrid/TimePickerGrid.js +733 -0
  11. package/cjs/components/TimePickerGrid/TimePickerGrid.js.map +1 -0
  12. package/cjs/components/TimePickerGrid/TimePickerGrid.styles.js +27 -0
  13. package/cjs/components/TimePickerGrid/TimePickerGrid.styles.js.map +1 -0
  14. package/cjs/components/TimePickerGrid/TimePickerGrid.styles_mz2mkl.css +2 -0
  15. package/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js +40 -0
  16. package/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js.map +1 -0
  17. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.css +7 -0
  18. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +118 -0
  19. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -0
  20. package/cjs/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +12 -12
  21. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
  22. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles_1nwjzgi.css +7 -0
  23. package/cjs/components/TimePickerGrid/utils/index.js +135 -0
  24. package/cjs/components/TimePickerGrid/utils/index.js.map +1 -0
  25. package/cjs/components/TimePickerGrid/variations/_disabled/base.js +9 -0
  26. package/cjs/components/TimePickerGrid/variations/_disabled/base.js.map +1 -0
  27. package/cjs/components/TimePickerGrid/variations/_disabled/base_x642ct.css +1 -0
  28. package/cjs/components/TimePickerGrid/variations/_size/base.js +9 -0
  29. package/cjs/components/TimePickerGrid/variations/_size/base.js.map +1 -0
  30. package/cjs/components/TimePickerGrid/variations/_size/base_x642ct.css +1 -0
  31. package/cjs/components/TimePickerGrid/variations/_view/base.js +9 -0
  32. package/cjs/components/TimePickerGrid/variations/_view/base.js.map +1 -0
  33. package/cjs/components/TimePickerGrid/variations/_view/base_x642ct.css +1 -0
  34. package/cjs/index.css +15 -11
  35. package/emotion/cjs/components/TimePicker/TimePicker.js +22 -488
  36. package/emotion/cjs/components/TimePicker/TimePicker.styles.js +17 -7
  37. package/emotion/cjs/components/TimePicker/utils/index.js +1 -25
  38. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.js +922 -0
  39. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.styles.js +34 -0
  40. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js +50 -0
  41. package/emotion/cjs/components/TimePickerGrid/hooks/useKeyboardNavigation.js +30 -0
  42. package/emotion/cjs/components/TimePickerGrid/index.js +26 -0
  43. package/emotion/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +118 -0
  44. package/emotion/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js +71 -0
  45. package/emotion/cjs/components/TimePickerGrid/utils/index.js +166 -0
  46. package/emotion/cjs/components/TimePickerGrid/variations/_disabled/base.js +12 -0
  47. package/emotion/cjs/components/TimePickerGrid/variations/_size/base.js +12 -0
  48. package/emotion/cjs/components/TimePickerGrid/variations/_view/base.js +12 -0
  49. package/emotion/cjs/examples/components/TimePicker/TimePicker.config.js +7 -7
  50. package/emotion/cjs/examples/components/TimePickerGrid/TimePickerGrid.config.js +32 -0
  51. package/emotion/cjs/examples/components/TimePickerGrid/TimePickerGrid.js +15 -0
  52. package/emotion/es/components/TimePicker/TimePicker.js +25 -491
  53. package/emotion/es/components/TimePicker/TimePicker.styles.js +14 -7
  54. package/emotion/es/components/TimePicker/utils/index.js +1 -22
  55. package/emotion/es/components/TimePickerGrid/TimePickerGrid.js +863 -0
  56. package/emotion/es/components/TimePickerGrid/TimePickerGrid.styles.js +11 -0
  57. package/emotion/es/components/TimePickerGrid/TimePickerGrid.tokens.js +32 -0
  58. package/emotion/es/components/TimePickerGrid/hooks/useKeyboardNavigation.js +20 -0
  59. package/emotion/es/components/TimePickerGrid/index.js +2 -0
  60. package/emotion/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +103 -0
  61. package/emotion/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js +33 -0
  62. package/emotion/es/components/TimePickerGrid/utils/index.js +133 -0
  63. package/emotion/es/components/TimePickerGrid/variations/_disabled/base.js +2 -0
  64. package/emotion/es/components/TimePickerGrid/variations/_size/base.js +2 -0
  65. package/emotion/es/components/TimePickerGrid/variations/_view/base.js +2 -0
  66. package/emotion/es/examples/components/TimePicker/TimePicker.config.js +7 -7
  67. package/emotion/es/examples/components/TimePickerGrid/TimePickerGrid.config.js +22 -0
  68. package/emotion/es/examples/components/TimePickerGrid/TimePickerGrid.js +5 -0
  69. package/es/components/TimePicker/TimePicker.css +15 -11
  70. package/es/components/TimePicker/TimePicker.js +26 -462
  71. package/es/components/TimePicker/TimePicker.js.map +1 -1
  72. package/es/components/TimePicker/TimePicker.styles.js +17 -21
  73. package/es/components/TimePicker/TimePicker.styles.js.map +1 -1
  74. package/es/components/TimePicker/{TimePicker.styles_ar3obv.css → TimePicker.styles_2lk4d9.css} +4 -3
  75. package/es/components/TimePicker/utils/index.js +2 -32
  76. package/es/components/TimePicker/utils/index.js.map +1 -1
  77. package/es/components/TimePickerGrid/TimePickerGrid.css +10 -0
  78. package/es/components/TimePickerGrid/TimePickerGrid.js +724 -0
  79. package/es/components/TimePickerGrid/TimePickerGrid.js.map +1 -0
  80. package/es/components/TimePickerGrid/TimePickerGrid.styles.js +22 -0
  81. package/es/components/TimePickerGrid/TimePickerGrid.styles.js.map +1 -0
  82. package/es/components/TimePickerGrid/TimePickerGrid.styles_mz2mkl.css +2 -0
  83. package/es/components/TimePickerGrid/TimePickerGrid.tokens.js +35 -0
  84. package/es/components/TimePickerGrid/TimePickerGrid.tokens.js.map +1 -0
  85. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.css +7 -0
  86. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +109 -0
  87. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -0
  88. package/es/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +11 -11
  89. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
  90. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles_1nwjzgi.css +7 -0
  91. package/es/components/TimePickerGrid/utils/index.js +126 -0
  92. package/es/components/TimePickerGrid/utils/index.js.map +1 -0
  93. package/es/components/TimePickerGrid/variations/_disabled/base.js +5 -0
  94. package/es/components/TimePickerGrid/variations/_disabled/base.js.map +1 -0
  95. package/es/components/TimePickerGrid/variations/_disabled/base_x642ct.css +1 -0
  96. package/es/components/TimePickerGrid/variations/_size/base.js +5 -0
  97. package/es/components/TimePickerGrid/variations/_size/base.js.map +1 -0
  98. package/es/components/TimePickerGrid/variations/_size/base_x642ct.css +1 -0
  99. package/es/components/TimePickerGrid/variations/_view/base.js +5 -0
  100. package/es/components/TimePickerGrid/variations/_view/base.js.map +1 -0
  101. package/es/components/TimePickerGrid/variations/_view/base_x642ct.css +1 -0
  102. package/es/index.css +15 -11
  103. package/package.json +4 -4
  104. package/styled-components/cjs/components/TimePicker/TimePicker.js +22 -488
  105. package/styled-components/cjs/components/TimePicker/TimePicker.styles.js +57 -3
  106. package/styled-components/cjs/components/TimePicker/utils/index.js +1 -25
  107. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.js +922 -0
  108. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.styles.js +79 -0
  109. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js +50 -0
  110. package/styled-components/cjs/components/TimePickerGrid/hooks/useKeyboardNavigation.js +30 -0
  111. package/styled-components/cjs/components/TimePickerGrid/index.js +26 -0
  112. package/styled-components/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +118 -0
  113. package/styled-components/cjs/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +16 -14
  114. package/styled-components/cjs/components/TimePickerGrid/utils/index.js +166 -0
  115. package/styled-components/cjs/components/TimePickerGrid/variations/_view/base.js +14 -0
  116. package/styled-components/cjs/examples/components/Combobox/Combobox.js +0 -15
  117. package/styled-components/cjs/examples/components/TimePicker/TimePicker.config.js +3 -2
  118. package/styled-components/cjs/examples/components/TimePickerGrid/TimePickerGrid.config.js +103 -0
  119. package/styled-components/cjs/examples/components/TimePickerGrid/TimePickerGrid.js +15 -0
  120. package/styled-components/es/components/TimePicker/TimePicker.js +25 -491
  121. package/styled-components/es/components/TimePicker/TimePicker.styles.js +54 -3
  122. package/styled-components/es/components/TimePicker/utils/index.js +1 -22
  123. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.js +863 -0
  124. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.styles.js +21 -0
  125. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.tokens.js +32 -0
  126. package/styled-components/es/components/TimePickerGrid/hooks/useKeyboardNavigation.js +20 -0
  127. package/styled-components/es/components/TimePickerGrid/index.js +2 -0
  128. package/styled-components/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +103 -0
  129. package/styled-components/es/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +11 -9
  130. package/styled-components/es/components/TimePickerGrid/utils/index.js +133 -0
  131. package/styled-components/es/components/TimePickerGrid/variations/_view/base.js +4 -0
  132. package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
  133. package/styled-components/es/examples/components/TimePicker/TimePicker.config.js +3 -2
  134. package/styled-components/es/examples/components/TimePickerGrid/TimePickerGrid.config.js +93 -0
  135. package/styled-components/es/examples/components/TimePickerGrid/TimePickerGrid.js +5 -0
  136. package/types/components/TimePicker/TimePicker.d.ts.map +1 -1
  137. package/types/components/TimePicker/TimePicker.styles.d.ts +18 -0
  138. package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
  139. package/types/components/TimePicker/utils/index.d.ts +1 -2
  140. package/types/components/TimePicker/utils/index.d.ts.map +1 -1
  141. package/types/components/TimePickerGrid/TimePickerGrid.d.ts +61 -0
  142. package/types/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -0
  143. package/types/components/TimePickerGrid/TimePickerGrid.styles.d.ts +5 -0
  144. package/types/components/TimePickerGrid/TimePickerGrid.styles.d.ts.map +1 -0
  145. package/types/components/TimePickerGrid/TimePickerGrid.tokens.d.ts +33 -0
  146. package/types/components/TimePickerGrid/TimePickerGrid.tokens.d.ts.map +1 -0
  147. package/types/components/TimePickerGrid/TimePickerGrid.types.d.ts +65 -0
  148. package/types/components/TimePickerGrid/TimePickerGrid.types.d.ts.map +1 -0
  149. package/types/components/TimePickerGrid/hooks/useKeyboardNavigation.d.ts +14 -0
  150. package/types/components/TimePickerGrid/hooks/useKeyboardNavigation.d.ts.map +1 -0
  151. package/types/components/TimePickerGrid/index.d.ts +4 -0
  152. package/types/components/TimePickerGrid/index.d.ts.map +1 -0
  153. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts +3 -0
  154. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts.map +1 -0
  155. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.d.ts.map +1 -0
  156. package/types/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.types.d.ts +9 -8
  157. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.d.ts.map +1 -0
  158. package/types/components/TimePickerGrid/utils/index.d.ts +24 -0
  159. package/types/components/TimePickerGrid/utils/index.d.ts.map +1 -0
  160. package/types/components/TimePickerGrid/variations/_disabled/base.d.ts.map +1 -0
  161. package/types/components/TimePickerGrid/variations/_size/base.d.ts.map +1 -0
  162. package/types/components/TimePickerGrid/variations/_view/base.d.ts +2 -0
  163. package/types/components/TimePickerGrid/variations/_view/base.d.ts.map +1 -0
  164. package/types/examples/components/TimePicker/TimePicker.config.d.ts.map +1 -1
  165. package/types/examples/components/TimePickerGrid/TimePickerGrid.config.d.ts +21 -0
  166. package/types/examples/components/TimePickerGrid/TimePickerGrid.config.d.ts.map +1 -0
  167. package/types/examples/components/TimePickerGrid/TimePickerGrid.d.ts +32 -0
  168. package/types/examples/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -0
  169. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.css +0 -7
  170. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -65
  171. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +0 -1
  172. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +0 -1
  173. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +0 -7
  174. package/emotion/cjs/components/Loader/Loader.js +0 -175
  175. package/emotion/cjs/components/Loader/Loader.styles.js +0 -46
  176. package/emotion/cjs/components/Loader/Loader.tokens.js +0 -42
  177. package/emotion/cjs/components/Loader/index.js +0 -23
  178. package/emotion/cjs/components/Loader/variations/_size/base.js +0 -12
  179. package/emotion/cjs/components/Loader/variations/_view/base.js +0 -12
  180. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -65
  181. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +0 -71
  182. package/emotion/cjs/examples/components/Loader/Loader.config.js +0 -38
  183. package/emotion/cjs/examples/components/Loader/Loader.js +0 -15
  184. package/emotion/es/components/Loader/Loader.js +0 -111
  185. package/emotion/es/components/Loader/Loader.styles.js +0 -20
  186. package/emotion/es/components/Loader/Loader.tokens.js +0 -24
  187. package/emotion/es/components/Loader/index.js +0 -2
  188. package/emotion/es/components/Loader/variations/_size/base.js +0 -2
  189. package/emotion/es/components/Loader/variations/_view/base.js +0 -2
  190. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -50
  191. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +0 -33
  192. package/emotion/es/examples/components/Loader/Loader.config.js +0 -28
  193. package/emotion/es/examples/components/Loader/Loader.js +0 -5
  194. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.css +0 -7
  195. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -56
  196. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +0 -1
  197. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +0 -1
  198. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +0 -7
  199. package/styled-components/cjs/components/Loader/Loader.js +0 -175
  200. package/styled-components/cjs/components/Loader/Loader.styles.js +0 -124
  201. package/styled-components/cjs/components/Loader/Loader.tokens.js +0 -42
  202. package/styled-components/cjs/components/Loader/index.js +0 -23
  203. package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -65
  204. package/styled-components/cjs/examples/components/Loader/Loader.config.js +0 -188
  205. package/styled-components/cjs/examples/components/Loader/Loader.js +0 -15
  206. package/styled-components/es/components/Loader/Loader.js +0 -111
  207. package/styled-components/es/components/Loader/Loader.styles.js +0 -63
  208. package/styled-components/es/components/Loader/Loader.tokens.js +0 -24
  209. package/styled-components/es/components/Loader/index.js +0 -2
  210. package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -50
  211. package/styled-components/es/examples/components/Loader/Loader.config.js +0 -178
  212. package/styled-components/es/examples/components/Loader/Loader.js +0 -5
  213. package/types/components/Loader/Loader.d.ts +0 -23
  214. package/types/components/Loader/Loader.d.ts.map +0 -1
  215. package/types/components/Loader/Loader.styles.d.ts +0 -19
  216. package/types/components/Loader/Loader.styles.d.ts.map +0 -1
  217. package/types/components/Loader/Loader.tokens.d.ts +0 -25
  218. package/types/components/Loader/Loader.tokens.d.ts.map +0 -1
  219. package/types/components/Loader/Loader.types.d.ts +0 -47
  220. package/types/components/Loader/Loader.types.d.ts.map +0 -1
  221. package/types/components/Loader/index.d.ts +0 -4
  222. package/types/components/Loader/index.d.ts.map +0 -1
  223. package/types/components/Loader/variations/_size/base.d.ts.map +0 -1
  224. package/types/components/Loader/variations/_view/base.d.ts.map +0 -1
  225. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts +0 -3
  226. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts.map +0 -1
  227. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.styles.d.ts.map +0 -1
  228. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.types.d.ts.map +0 -1
  229. package/types/examples/components/Loader/Loader.config.d.ts +0 -27
  230. package/types/examples/components/Loader/Loader.config.d.ts.map +0 -1
  231. package/types/examples/components/Loader/Loader.d.ts +0 -21
  232. package/types/examples/components/Loader/Loader.d.ts.map +0 -1
  233. /package/emotion/cjs/components/{Loader/Loader.types.js → TimePickerGrid/TimePickerGrid.types.js} +0 -0
  234. /package/emotion/cjs/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.types.js +0 -0
  235. /package/emotion/es/components/{Loader/Loader.types.js → TimePickerGrid/TimePickerGrid.types.js} +0 -0
  236. /package/emotion/es/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.types.js +0 -0
  237. /package/styled-components/cjs/components/{Loader/Loader.types.js → TimePickerGrid/TimePickerGrid.types.js} +0 -0
  238. /package/styled-components/cjs/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.types.js +0 -0
  239. /package/styled-components/cjs/components/{Loader/variations/_size → TimePickerGrid/variations/_disabled}/base.js +0 -0
  240. /package/styled-components/cjs/components/{Loader/variations/_view → TimePickerGrid/variations/_size}/base.js +0 -0
  241. /package/styled-components/es/components/{Loader/Loader.types.js → TimePickerGrid/TimePickerGrid.types.js} +0 -0
  242. /package/styled-components/es/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.types.js +0 -0
  243. /package/styled-components/es/components/{Loader/variations/_size → TimePickerGrid/variations/_disabled}/base.js +0 -0
  244. /package/styled-components/es/components/{Loader/variations/_view → TimePickerGrid/variations/_size}/base.js +0 -0
  245. /package/types/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.d.ts +0 -0
  246. /package/types/components/{Loader/variations/_size → TimePickerGrid/variations/_disabled}/base.d.ts +0 -0
  247. /package/types/components/{Loader/variations/_view → TimePickerGrid/variations/_size}/base.d.ts +0 -0
@@ -0,0 +1,863 @@
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _array_with_holes(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _array_without_holes(arr) {
10
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
11
+ }
12
+ function _define_property(obj, key, value) {
13
+ if (key in obj) {
14
+ Object.defineProperty(obj, key, {
15
+ value: value,
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true
19
+ });
20
+ } else {
21
+ obj[key] = value;
22
+ }
23
+ return obj;
24
+ }
25
+ function _iterable_to_array(iter) {
26
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
27
+ }
28
+ function _iterable_to_array_limit(arr, i) {
29
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
30
+ if (_i == null) return;
31
+ var _arr = [];
32
+ var _n = true;
33
+ var _d = false;
34
+ var _s, _e;
35
+ try {
36
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
37
+ _arr.push(_s.value);
38
+ if (i && _arr.length === i) break;
39
+ }
40
+ } catch (err) {
41
+ _d = true;
42
+ _e = err;
43
+ } finally{
44
+ try {
45
+ if (!_n && _i["return"] != null) _i["return"]();
46
+ } finally{
47
+ if (_d) throw _e;
48
+ }
49
+ }
50
+ return _arr;
51
+ }
52
+ function _non_iterable_rest() {
53
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
54
+ }
55
+ function _non_iterable_spread() {
56
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
57
+ }
58
+ function _object_spread(target) {
59
+ for(var i = 1; i < arguments.length; i++){
60
+ var source = arguments[i] != null ? arguments[i] : {};
61
+ var ownKeys = Object.keys(source);
62
+ if (typeof Object.getOwnPropertySymbols === "function") {
63
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
64
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
65
+ }));
66
+ }
67
+ ownKeys.forEach(function(key) {
68
+ _define_property(target, key, source[key]);
69
+ });
70
+ }
71
+ return target;
72
+ }
73
+ function ownKeys(object, enumerableOnly) {
74
+ var keys = Object.keys(object);
75
+ if (Object.getOwnPropertySymbols) {
76
+ var symbols = Object.getOwnPropertySymbols(object);
77
+ if (enumerableOnly) {
78
+ symbols = symbols.filter(function(sym) {
79
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
80
+ });
81
+ }
82
+ keys.push.apply(keys, symbols);
83
+ }
84
+ return keys;
85
+ }
86
+ function _object_spread_props(target, source) {
87
+ source = source != null ? source : {};
88
+ if (Object.getOwnPropertyDescriptors) {
89
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
90
+ } else {
91
+ ownKeys(Object(source)).forEach(function(key) {
92
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
93
+ });
94
+ }
95
+ return target;
96
+ }
97
+ function _object_without_properties(source, excluded) {
98
+ if (source == null) return {};
99
+ var target = _object_without_properties_loose(source, excluded);
100
+ var key, i;
101
+ if (Object.getOwnPropertySymbols) {
102
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
103
+ for(i = 0; i < sourceSymbolKeys.length; i++){
104
+ key = sourceSymbolKeys[i];
105
+ if (excluded.indexOf(key) >= 0) continue;
106
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
107
+ target[key] = source[key];
108
+ }
109
+ }
110
+ return target;
111
+ }
112
+ function _object_without_properties_loose(source, excluded) {
113
+ if (source == null) return {};
114
+ var target = {};
115
+ var sourceKeys = Object.keys(source);
116
+ var key, i;
117
+ for(i = 0; i < sourceKeys.length; i++){
118
+ key = sourceKeys[i];
119
+ if (excluded.indexOf(key) >= 0) continue;
120
+ target[key] = source[key];
121
+ }
122
+ return target;
123
+ }
124
+ function _sliced_to_array(arr, i) {
125
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
126
+ }
127
+ function _to_consumable_array(arr) {
128
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
129
+ }
130
+ function _unsupported_iterable_to_array(o, minLen) {
131
+ if (!o) return;
132
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
133
+ var n = Object.prototype.toString.call(o).slice(8, -1);
134
+ if (n === "Object" && o.constructor) n = o.constructor.name;
135
+ if (n === "Map" || n === "Set") return Array.from(n);
136
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
137
+ }
138
+ import React, { forwardRef, useRef, useState, useEffect, useCallback, useMemo } from "react";
139
+ import { animateScrollTo, getColumnsFromFormat, parseTimeString, buildTimeString, isTimeDisabled } from "./utils";
140
+ import { base, StyledTimePicker } from "./TimePickerGrid.styles";
141
+ import { base as sizeCSS } from "./variations/_size/base";
142
+ import { base as viewCSS } from "./variations/_view/base";
143
+ import { base as disabledCSS } from "./variations/_disabled/base";
144
+ import { renderTimeColumn } from "./ui/TimeColumn/TimeColumn";
145
+ export var timePickerGridRoot = function(Root) {
146
+ return /*#__PURE__*/ forwardRef(function(_param, ref) {
147
+ var outerValue = _param.value, view = _param.view, size = _param.size, _param_disabled = _param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, dropdownWidth = _param.dropdownWidth, dropdownHeight = _param.dropdownHeight, _param_format = _param.format, format = _param_format === void 0 ? 'HH:mm' : _param_format, min = _param.min, max = _param.max, columnsQuantity = _param.columnsQuantity, disabledValues = _param.disabledValues, onChange = _param.onChange, rest = _object_without_properties(_param, [
148
+ "value",
149
+ "view",
150
+ "size",
151
+ "disabled",
152
+ "dropdownWidth",
153
+ "dropdownHeight",
154
+ "format",
155
+ "min",
156
+ "max",
157
+ "columnsQuantity",
158
+ "disabledValues",
159
+ "onChange"
160
+ ]);
161
+ var actualFormat = format || (columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm');
162
+ var columnsConfig = useMemo(function() {
163
+ return getColumnsFromFormat(actualFormat);
164
+ }, [
165
+ actualFormat
166
+ ]);
167
+ var hoursColumnRef = useRef(null);
168
+ var minutesColumnRef = useRef(null);
169
+ var secondsColumnRef = useRef(null);
170
+ var timeItemRefs = useRef({});
171
+ var hoursScrollbarRef = useRef(null);
172
+ var minutesScrollbarRef = useRef(null);
173
+ var secondsScrollbarRef = useRef(null);
174
+ var hoursThumbRef = useRef(null);
175
+ var minutesThumbRef = useRef(null);
176
+ var secondsThumbRef = useRef(null);
177
+ var hoursHideTimeoutRef = useRef(null);
178
+ var minutesHideTimeoutRef = useRef(null);
179
+ var secondsHideTimeoutRef = useRef(null);
180
+ var _useState = _sliced_to_array(useState(outerValue || ''), 2), innerTime = _useState[0], setInnerTime = _useState[1];
181
+ var _useState1 = _sliced_to_array(useState({
182
+ hours: null,
183
+ minutes: null,
184
+ seconds: null,
185
+ currentColumn: null
186
+ }), 2), activeTime = _useState1[0], setActiveTime = _useState1[1];
187
+ var _useState2 = _sliced_to_array(useState(0), 2), itemHeight = _useState2[0], setItemHeight = _useState2[1];
188
+ var _useState3 = _sliced_to_array(useState(0), 2), gap = _useState3[0], setGap = _useState3[1];
189
+ var _useState4 = _sliced_to_array(useState({
190
+ isVisible: false,
191
+ thumbHeight: 0,
192
+ thumbPosition: 0,
193
+ isDragging: false
194
+ }), 2), hoursScrollbar = _useState4[0], setHoursScrollbar = _useState4[1];
195
+ var _useState5 = _sliced_to_array(useState({
196
+ isVisible: false,
197
+ thumbHeight: 0,
198
+ thumbPosition: 0,
199
+ isDragging: false
200
+ }), 2), minutesScrollbar = _useState5[0], setMinutesScrollbar = _useState5[1];
201
+ var _useState6 = _sliced_to_array(useState({
202
+ isVisible: false,
203
+ thumbHeight: 0,
204
+ thumbPosition: 0,
205
+ isDragging: false
206
+ }), 2), secondsScrollbar = _useState6[0], setSecondsScrollbar = _useState6[1];
207
+ var viewValue = outerValue !== null && outerValue !== void 0 ? outerValue : innerTime;
208
+ useEffect(function() {
209
+ if (activeTime.currentColumn && activeTime[activeTime.currentColumn] !== null) {
210
+ var _activeTime_activeTime_currentColumn;
211
+ var column = activeTime.currentColumn;
212
+ var value = (_activeTime_activeTime_currentColumn = activeTime[activeTime.currentColumn]) === null || _activeTime_activeTime_currentColumn === void 0 ? void 0 : _activeTime_activeTime_currentColumn.toString().padStart(2, '0');
213
+ var element = timeItemRefs.current["".concat(column, "-").concat(value)];
214
+ setTimeout(function() {
215
+ if (element) {
216
+ element.focus();
217
+ }
218
+ }, 0);
219
+ }
220
+ }, [
221
+ activeTime
222
+ ]);
223
+ var getDisabledValuesForColumn = useCallback(function(columnType) {
224
+ var disabledFromProps;
225
+ if (columnType === 'hours') {
226
+ disabledFromProps = (disabledValues === null || disabledValues === void 0 ? void 0 : disabledValues.hour) || [];
227
+ } else if (columnType === 'minutes') {
228
+ disabledFromProps = (disabledValues === null || disabledValues === void 0 ? void 0 : disabledValues.minute) || [];
229
+ } else {
230
+ disabledFromProps = (disabledValues === null || disabledValues === void 0 ? void 0 : disabledValues.second) || [];
231
+ }
232
+ var disabledFromMinMax = [];
233
+ if (min || max) {
234
+ var timeValues = parseTimeString(viewValue || '00:00:00', actualFormat);
235
+ for(var i = 0; i < (columnType === 'hours' ? 24 : 60); i++){
236
+ var testValues = _object_spread({}, timeValues);
237
+ if (columnType === 'hours') {
238
+ testValues.hh = i;
239
+ } else if (columnType === 'minutes') {
240
+ testValues.mm = i;
241
+ } else {
242
+ testValues.ss = i;
243
+ }
244
+ var completeTimeValues = getCompleteTimeValues(testValues, actualFormat);
245
+ if (isTimeDisabled(completeTimeValues, min, max, format)) {
246
+ disabledFromMinMax.push(i);
247
+ }
248
+ }
249
+ }
250
+ var normalizedDisabledFromProps = disabledFromProps.map(function(val) {
251
+ return typeof val === 'string' ? parseInt(val, 10) : val;
252
+ });
253
+ return _to_consumable_array(new Set(_to_consumable_array(normalizedDisabledFromProps).concat(_to_consumable_array(disabledFromMinMax))));
254
+ }, [
255
+ disabledValues,
256
+ min,
257
+ max,
258
+ viewValue,
259
+ actualFormat
260
+ ]);
261
+ var getCompleteTimeValues = useCallback(function(timeValues, format) {
262
+ var completeValues = {
263
+ hh: 0,
264
+ mm: 0,
265
+ ss: 0
266
+ };
267
+ if (format.includes('HH')) {
268
+ completeValues.hh = timeValues.hh !== null ? timeValues.hh : 0;
269
+ }
270
+ if (format.includes('mm')) {
271
+ completeValues.mm = timeValues.mm !== null ? timeValues.mm : 0;
272
+ }
273
+ if (format.includes('ss')) {
274
+ completeValues.ss = timeValues.ss !== null ? timeValues.ss : 0;
275
+ }
276
+ return completeValues;
277
+ }, []);
278
+ var getNextAvailableValue = useCallback(function(currentIndex, values, disabledValuesForColumn, direction) {
279
+ var newIndex = currentIndex;
280
+ var iterations = 0;
281
+ var maxIterations = values.length;
282
+ do {
283
+ newIndex = direction === 'up' ? (newIndex - 1 + values.length) % values.length : (newIndex + 1) % values.length;
284
+ iterations++;
285
+ }while (iterations < maxIterations && disabledValuesForColumn.includes(parseInt(values[newIndex], 10)) && newIndex !== currentIndex);
286
+ return iterations < maxIterations && !disabledValuesForColumn.includes(parseInt(values[newIndex], 10)) ? newIndex : currentIndex;
287
+ }, []);
288
+ var minScrollbarTrackHeight = 20;
289
+ var calculateScrollbar = useCallback(function(columnRef) {
290
+ if (!columnRef.current) return {
291
+ thumbHeight: 0,
292
+ thumbPosition: 0
293
+ };
294
+ var _columnRef_current = columnRef.current, scrollTop = _columnRef_current.scrollTop, scrollHeight = _columnRef_current.scrollHeight, clientHeight = _columnRef_current.clientHeight;
295
+ var trackHeight = clientHeight;
296
+ var thumbHeight = Math.max(trackHeight / scrollHeight * trackHeight, minScrollbarTrackHeight);
297
+ var maxScroll = scrollHeight - clientHeight;
298
+ var thumbPosition = maxScroll > 0 ? scrollTop / maxScroll * (trackHeight - thumbHeight) : 0;
299
+ return {
300
+ thumbHeight: thumbHeight,
301
+ thumbPosition: thumbPosition
302
+ };
303
+ }, []);
304
+ var showScrollbarWithDelay = useCallback(function(setScrollbar, timeoutRef, columnRef) {
305
+ if (timeoutRef.current) {
306
+ clearTimeout(timeoutRef.current);
307
+ }
308
+ updateScrollbar(columnRef, setScrollbar, true);
309
+ timeoutRef.current = setTimeout(function() {
310
+ setScrollbar(function(prev) {
311
+ return _object_spread_props(_object_spread({}, prev), {
312
+ isVisible: false
313
+ });
314
+ });
315
+ timeoutRef.current = null;
316
+ }, 2000);
317
+ }, []);
318
+ var updateScrollbar = useCallback(function(columnRef, setScrollbar) {
319
+ var show = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
320
+ if (!columnRef.current) return;
321
+ var _calculateScrollbar = calculateScrollbar(columnRef), thumbHeight = _calculateScrollbar.thumbHeight, thumbPosition = _calculateScrollbar.thumbPosition;
322
+ setScrollbar(function(prev) {
323
+ return _object_spread_props(_object_spread({}, prev), {
324
+ thumbHeight: thumbHeight,
325
+ thumbPosition: thumbPosition,
326
+ isVisible: show || prev.isVisible
327
+ });
328
+ });
329
+ }, [
330
+ calculateScrollbar
331
+ ]);
332
+ var handleColumnScroll = useCallback(function(columnRef, setScrollbar, timeoutRef) {
333
+ showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
334
+ }, [
335
+ showScrollbarWithDelay
336
+ ]);
337
+ var createScrollbarDragHandler = useCallback(function(columnRef, setScrollbar, timeoutRef) {
338
+ return function(e) {
339
+ e.preventDefault();
340
+ var thumb = e.currentTarget;
341
+ var track = thumb.parentElement;
342
+ if (!columnRef.current || !track) return;
343
+ if (timeoutRef.current) {
344
+ clearTimeout(timeoutRef.current);
345
+ timeoutRef.current = null;
346
+ }
347
+ var startY = e.clientY;
348
+ var startThumbPosition = parseFloat(thumb.style.top || '0');
349
+ var trackRect = track.getBoundingClientRect();
350
+ var trackHeight = trackRect.height;
351
+ var thumbHeight = thumb.offsetHeight;
352
+ var _columnRef_current = columnRef.current, scrollHeight = _columnRef_current.scrollHeight, clientHeight = _columnRef_current.clientHeight;
353
+ var maxScroll = scrollHeight - clientHeight;
354
+ var handleMouseMove = function(moveEvent) {
355
+ var deltaY = moveEvent.clientY - startY;
356
+ var newThumbPosition = Math.max(0, Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY));
357
+ var scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);
358
+ var newScrollTop = scrollPercentage * maxScroll;
359
+ if (columnRef.current) {
360
+ columnRef.current.scrollTop = newScrollTop;
361
+ }
362
+ setScrollbar(function(prev) {
363
+ return _object_spread_props(_object_spread({}, prev), {
364
+ thumbPosition: newThumbPosition,
365
+ isDragging: true,
366
+ isVisible: true
367
+ });
368
+ });
369
+ };
370
+ var handleMouseUp = function() {
371
+ document.removeEventListener('mousemove', handleMouseMove);
372
+ document.removeEventListener('mouseup', handleMouseUp);
373
+ setScrollbar(function(prev) {
374
+ return _object_spread_props(_object_spread({}, prev), {
375
+ isDragging: false
376
+ });
377
+ });
378
+ showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
379
+ };
380
+ document.addEventListener('mousemove', handleMouseMove);
381
+ document.addEventListener('mouseup', handleMouseUp);
382
+ };
383
+ }, [
384
+ showScrollbarWithDelay
385
+ ]);
386
+ useEffect(function() {
387
+ if (viewValue && columnsConfig.length > 0) {
388
+ var timeValues = parseTimeString(viewValue, actualFormat);
389
+ setActiveTime(function(prev) {
390
+ return _object_spread_props(_object_spread({}, prev), {
391
+ hours: timeValues.hh,
392
+ minutes: timeValues.mm,
393
+ seconds: timeValues.ss
394
+ });
395
+ });
396
+ }
397
+ }, [
398
+ viewValue,
399
+ columnsConfig,
400
+ actualFormat
401
+ ]);
402
+ var handleContainerFocus = useCallback(function() {
403
+ if (activeTime.currentColumn === null && columnsConfig.length > 0) {
404
+ var firstColumn = columnsConfig[0].type;
405
+ setActiveTime(function(prev) {
406
+ return _object_spread_props(_object_spread({}, prev), {
407
+ currentColumn: firstColumn
408
+ });
409
+ });
410
+ }
411
+ }, [
412
+ activeTime.currentColumn,
413
+ columnsConfig
414
+ ]);
415
+ useEffect(function() {
416
+ return function() {
417
+ [
418
+ hoursHideTimeoutRef,
419
+ minutesHideTimeoutRef,
420
+ secondsHideTimeoutRef
421
+ ].forEach(function(timeoutRef) {
422
+ if (timeoutRef.current) {
423
+ clearTimeout(timeoutRef.current);
424
+ }
425
+ });
426
+ };
427
+ }, []);
428
+ useEffect(function() {
429
+ if (Object.keys(timeItemRefs.current).length > 0) {
430
+ var firstItem = Object.values(timeItemRefs.current)[0];
431
+ if (firstItem) {
432
+ setItemHeight(firstItem.offsetHeight);
433
+ }
434
+ }
435
+ if (hoursColumnRef.current) {
436
+ var computedStyle = getComputedStyle(hoursColumnRef.current);
437
+ var gapValue = parseFloat(computedStyle.gap || '0');
438
+ setGap(gapValue);
439
+ }
440
+ }, [
441
+ outerValue
442
+ ]);
443
+ useEffect(function() {
444
+ setTimeout(function() {
445
+ updateScrollbar(hoursColumnRef, setHoursScrollbar);
446
+ updateScrollbar(minutesColumnRef, setMinutesScrollbar);
447
+ if (columnsQuantity === 3) {
448
+ updateScrollbar(secondsColumnRef, setSecondsScrollbar);
449
+ }
450
+ }, 100);
451
+ }, [
452
+ columnsQuantity,
453
+ updateScrollbar
454
+ ]);
455
+ useEffect(function() {
456
+ if (itemHeight === 0) return;
457
+ var scrollToActiveItem = function(columnRef, index) {
458
+ if (columnRef.current && index !== null) {
459
+ var scrollPosition = index * (itemHeight + gap);
460
+ animateScrollTo(columnRef.current, scrollPosition);
461
+ setTimeout(function() {
462
+ updateScrollbar(columnRef, setHoursScrollbar);
463
+ }, 300);
464
+ }
465
+ };
466
+ scrollToActiveItem(hoursColumnRef, activeTime.hours);
467
+ scrollToActiveItem(minutesColumnRef, activeTime.minutes);
468
+ scrollToActiveItem(secondsColumnRef, activeTime.seconds);
469
+ }, [
470
+ activeTime,
471
+ itemHeight,
472
+ gap,
473
+ updateScrollbar
474
+ ]);
475
+ useEffect(function() {
476
+ var hoursColumn = hoursColumnRef.current;
477
+ var minutesColumn = minutesColumnRef.current;
478
+ var secondsColumn = secondsColumnRef.current;
479
+ var handleHoursScroll = function() {
480
+ return handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);
481
+ };
482
+ var handleMinutesScroll = function() {
483
+ return handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);
484
+ };
485
+ var handleSecondsScroll = function() {
486
+ return handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);
487
+ };
488
+ if (hoursColumn) {
489
+ hoursColumn.addEventListener('scroll', handleHoursScroll);
490
+ }
491
+ if (minutesColumn) {
492
+ minutesColumn.addEventListener('scroll', handleMinutesScroll);
493
+ }
494
+ if (secondsColumn) {
495
+ secondsColumn.addEventListener('scroll', handleSecondsScroll);
496
+ }
497
+ return function() {
498
+ if (hoursColumn) {
499
+ hoursColumn.removeEventListener('scroll', handleHoursScroll);
500
+ }
501
+ if (minutesColumn) {
502
+ minutesColumn.removeEventListener('scroll', handleMinutesScroll);
503
+ }
504
+ if (secondsColumn) {
505
+ secondsColumn.removeEventListener('scroll', handleSecondsScroll);
506
+ }
507
+ };
508
+ }, []);
509
+ useEffect(function() {
510
+ var hoursColumn = hoursColumnRef.current;
511
+ var minutesColumn = minutesColumnRef.current;
512
+ var secondsColumn = secondsColumnRef.current;
513
+ var handleHoursMouseEnter = function() {
514
+ return showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);
515
+ };
516
+ var handleMinutesMouseEnter = function() {
517
+ return showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);
518
+ };
519
+ var handleSecondsMouseEnter = function() {
520
+ return showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);
521
+ };
522
+ if (hoursColumn) {
523
+ hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);
524
+ }
525
+ if (minutesColumn) {
526
+ minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);
527
+ }
528
+ if (secondsColumn) {
529
+ secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);
530
+ }
531
+ return function() {
532
+ if (hoursColumn) {
533
+ hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);
534
+ }
535
+ if (minutesColumn) {
536
+ minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);
537
+ }
538
+ if (secondsColumn) {
539
+ secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);
540
+ }
541
+ };
542
+ }, []);
543
+ var handleTimeItemClick = function(value, column) {
544
+ var isNextColumn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
545
+ var currentTimeValues = parseTimeString(innerTime, actualFormat);
546
+ var newTimeValues = _object_spread({}, currentTimeValues);
547
+ switch(column){
548
+ case 'hours':
549
+ newTimeValues.hh = parseInt(value, 10);
550
+ break;
551
+ case 'minutes':
552
+ newTimeValues.mm = parseInt(value, 10);
553
+ break;
554
+ case 'seconds':
555
+ newTimeValues.ss = parseInt(value, 10);
556
+ break;
557
+ default:
558
+ }
559
+ var getFirstAvailableValue = function(columnType) {
560
+ var disabledValuesForColumn = getDisabledValuesForColumn(columnType);
561
+ var maxValue = columnType === 'hours' ? 23 : 59;
562
+ for(var i = 0; i <= maxValue; i++){
563
+ if (!disabledValuesForColumn.includes(i)) {
564
+ return i;
565
+ }
566
+ }
567
+ return 0;
568
+ };
569
+ if (newTimeValues.hh === null && actualFormat.includes('HH')) {
570
+ newTimeValues.hh = getFirstAvailableValue('hours');
571
+ }
572
+ if (newTimeValues.mm === null && actualFormat.includes('mm')) {
573
+ newTimeValues.mm = getFirstAvailableValue('minutes');
574
+ }
575
+ if (newTimeValues.ss === null && actualFormat.includes('ss')) {
576
+ newTimeValues.ss = getFirstAvailableValue('seconds');
577
+ }
578
+ var completeTimeValues = getCompleteTimeValues(newTimeValues, actualFormat);
579
+ if (isTimeDisabled(completeTimeValues, min, max)) {
580
+ return;
581
+ }
582
+ var newTimeString = buildTimeString(newTimeValues, actualFormat);
583
+ setInnerTime(newTimeString);
584
+ var nextColumn = null;
585
+ var currentIndex = columnsConfig.findIndex(function(col) {
586
+ return col.type === column;
587
+ });
588
+ if (currentIndex !== -1 && isNextColumn && currentIndex < columnsConfig.length - 1) {
589
+ nextColumn = columnsConfig[currentIndex + 1].type;
590
+ }
591
+ var newActiveTime = {
592
+ hours: newTimeValues.hh,
593
+ minutes: newTimeValues.mm,
594
+ seconds: newTimeValues.ss,
595
+ currentColumn: nextColumn || column
596
+ };
597
+ setActiveTime(newActiveTime);
598
+ onChange === null || onChange === void 0 ? void 0 : onChange({
599
+ value: newTimeString,
600
+ timeValues: {
601
+ hour: newTimeValues.hh || undefined,
602
+ minute: newTimeValues.mm || undefined,
603
+ second: newTimeValues.ss || undefined
604
+ }
605
+ });
606
+ };
607
+ var handleTimeItemKeyDown = function(event, column, value) {
608
+ var disabledValuesForColumn = getDisabledValuesForColumn(column);
609
+ var currentIndex = parseInt(value, 10);
610
+ var newIndex = null;
611
+ var newColumn = column;
612
+ var currentIndexInColumns = columnsConfig.findIndex(function(col) {
613
+ return col.type === column;
614
+ });
615
+ switch(event.key){
616
+ case 'ArrowUp':
617
+ event.preventDefault();
618
+ newIndex = getNextAvailableValue(currentIndex, column === 'hours' ? Array.from({
619
+ length: 24
620
+ }, function(_, i) {
621
+ return i.toString().padStart(2, '0');
622
+ }) : Array.from({
623
+ length: 60
624
+ }, function(_, i) {
625
+ return i.toString().padStart(2, '0');
626
+ }), disabledValuesForColumn, 'up');
627
+ if (newIndex !== null) {
628
+ var newValue = newIndex.toString().padStart(2, '0');
629
+ handleTimeItemClick(newValue, column, false);
630
+ }
631
+ break;
632
+ case 'ArrowDown':
633
+ event.preventDefault();
634
+ newIndex = getNextAvailableValue(currentIndex, column === 'hours' ? Array.from({
635
+ length: 24
636
+ }, function(_, i) {
637
+ return i.toString().padStart(2, '0');
638
+ }) : Array.from({
639
+ length: 60
640
+ }, function(_, i) {
641
+ return i.toString().padStart(2, '0');
642
+ }), disabledValuesForColumn, 'down');
643
+ if (newIndex !== null) {
644
+ var newValue1 = newIndex.toString().padStart(2, '0');
645
+ handleTimeItemClick(newValue1, column, false);
646
+ }
647
+ break;
648
+ case 'ArrowRight':
649
+ event.preventDefault();
650
+ if (column === 'hours') {
651
+ newColumn = 'minutes';
652
+ } else if (column === 'minutes' && actualFormat.includes('ss')) {
653
+ newColumn = 'seconds';
654
+ }
655
+ if (newColumn !== column) {
656
+ setActiveTime(function(prev) {
657
+ return _object_spread_props(_object_spread({}, prev), {
658
+ currentColumn: newColumn
659
+ });
660
+ });
661
+ }
662
+ break;
663
+ case 'ArrowLeft':
664
+ event.preventDefault();
665
+ if (column === 'minutes') {
666
+ newColumn = 'hours';
667
+ } else if (column === 'seconds') {
668
+ newColumn = 'minutes';
669
+ }
670
+ if (newColumn !== column) {
671
+ setActiveTime(function(prev) {
672
+ return _object_spread_props(_object_spread({}, prev), {
673
+ currentColumn: newColumn
674
+ });
675
+ });
676
+ }
677
+ break;
678
+ case 'Enter':
679
+ case ' ':
680
+ event.preventDefault();
681
+ handleTimeItemClick(value, column);
682
+ break;
683
+ case 'Home':
684
+ event.preventDefault();
685
+ newIndex = 0;
686
+ while(disabledValuesForColumn.includes(newIndex) && newIndex < (column === 'hours' ? 24 : 60)){
687
+ newIndex++;
688
+ }
689
+ if (newIndex < (column === 'hours' ? 24 : 60)) {
690
+ handleTimeItemClick(newIndex.toString().padStart(2, '0'), column, false);
691
+ }
692
+ break;
693
+ case 'End':
694
+ event.preventDefault();
695
+ newIndex = column === 'hours' ? 23 : 59;
696
+ while(disabledValuesForColumn.includes(newIndex) && newIndex >= 0){
697
+ newIndex--;
698
+ }
699
+ if (newIndex >= 0) {
700
+ handleTimeItemClick(newIndex.toString().padStart(2, '0'), column, false);
701
+ }
702
+ break;
703
+ case 'Tab':
704
+ if (currentIndexInColumns === columnsConfig.length - 1) {
705
+ break;
706
+ }
707
+ event.preventDefault();
708
+ if (event.shiftKey) {
709
+ if (column === 'minutes') {
710
+ newColumn = 'hours';
711
+ } else if (column === 'seconds') {
712
+ newColumn = 'minutes';
713
+ }
714
+ } else if (column === 'hours') {
715
+ newColumn = 'minutes';
716
+ } else if (column === 'minutes' && actualFormat.includes('ss')) {
717
+ newColumn = 'seconds';
718
+ }
719
+ if (newColumn !== column) {
720
+ setActiveTime(function(prev) {
721
+ return _object_spread_props(_object_spread({}, prev), {
722
+ currentColumn: newColumn
723
+ });
724
+ });
725
+ }
726
+ break;
727
+ default:
728
+ if (/^[0-9]$/.test(event.key)) {
729
+ event.preventDefault();
730
+ var inputNumber = parseInt(event.key, 10);
731
+ if (column === 'hours') {
732
+ if (inputNumber <= 2) {
733
+ var tens = inputNumber;
734
+ var handleSecondInput = function(e) {
735
+ if (/^[0-9]$/.test(e.key)) {
736
+ var units = parseInt(e.key, 10);
737
+ var total = tens * 10 + units;
738
+ if (total < 24 && !disabledValuesForColumn.includes(total)) {
739
+ handleTimeItemClick(total.toString().padStart(2, '0'), column);
740
+ }
741
+ document.removeEventListener('keydown', handleSecondInput);
742
+ }
743
+ };
744
+ document.addEventListener('keydown', handleSecondInput);
745
+ setTimeout(function() {
746
+ document.removeEventListener('keydown', handleSecondInput);
747
+ }, 1000);
748
+ } else if (inputNumber <= 9) {
749
+ if (!disabledValuesForColumn.includes(inputNumber)) {
750
+ handleTimeItemClick(inputNumber.toString().padStart(2, '0'), column);
751
+ }
752
+ }
753
+ } else if (inputNumber <= 5) {
754
+ var tens1 = inputNumber;
755
+ var handleSecondInput1 = function(e) {
756
+ if (/^[0-9]$/.test(e.key)) {
757
+ var units = parseInt(e.key, 10);
758
+ var total = tens1 * 10 + units;
759
+ if (total < 60 && !disabledValuesForColumn.includes(total)) {
760
+ handleTimeItemClick(total.toString().padStart(2, '0'), column);
761
+ }
762
+ document.removeEventListener('keydown', handleSecondInput1);
763
+ }
764
+ };
765
+ document.addEventListener('keydown', handleSecondInput1);
766
+ setTimeout(function() {
767
+ document.removeEventListener('keydown', handleSecondInput1);
768
+ }, 1000);
769
+ } else if (inputNumber <= 9) {
770
+ if (!disabledValuesForColumn.includes(inputNumber)) {
771
+ handleTimeItemClick(inputNumber.toString().padStart(2, '0'), column);
772
+ }
773
+ }
774
+ }
775
+ }
776
+ };
777
+ return /*#__PURE__*/ React.createElement(Root, _object_spread({
778
+ ref: ref,
779
+ view: view,
780
+ size: size,
781
+ disabled: disabled,
782
+ onFocus: handleContainerFocus
783
+ }, rest), /*#__PURE__*/ React.createElement(StyledTimePicker, {
784
+ width: dropdownWidth,
785
+ tabIndex: -1
786
+ }, columnsConfig.map(function(columnConfig) {
787
+ var type = columnConfig.type, values = columnConfig.values;
788
+ var columnRef;
789
+ var scrollbarState;
790
+ var setScrollbar;
791
+ var scrollbarRef;
792
+ var thumbRef;
793
+ var timeoutRef;
794
+ switch(type){
795
+ case 'hours':
796
+ columnRef = hoursColumnRef;
797
+ scrollbarState = hoursScrollbar;
798
+ setScrollbar = setHoursScrollbar;
799
+ scrollbarRef = hoursScrollbarRef;
800
+ thumbRef = hoursThumbRef;
801
+ timeoutRef = hoursHideTimeoutRef;
802
+ break;
803
+ case 'minutes':
804
+ columnRef = minutesColumnRef;
805
+ scrollbarState = minutesScrollbar;
806
+ setScrollbar = setMinutesScrollbar;
807
+ scrollbarRef = minutesScrollbarRef;
808
+ thumbRef = minutesThumbRef;
809
+ timeoutRef = minutesHideTimeoutRef;
810
+ break;
811
+ case 'seconds':
812
+ columnRef = secondsColumnRef;
813
+ scrollbarState = secondsScrollbar;
814
+ setScrollbar = setSecondsScrollbar;
815
+ scrollbarRef = secondsScrollbarRef;
816
+ thumbRef = secondsThumbRef;
817
+ timeoutRef = secondsHideTimeoutRef;
818
+ break;
819
+ default:
820
+ return null;
821
+ }
822
+ return renderTimeColumn({
823
+ values: values,
824
+ disabledValues: getDisabledValuesForColumn(type),
825
+ dropdownHeight: dropdownHeight,
826
+ column: type,
827
+ activeTime: activeTime,
828
+ handleTimeItemClick: handleTimeItemClick,
829
+ handleTimeItemKeyDown: handleTimeItemKeyDown,
830
+ createScrollbarDragHandler: createScrollbarDragHandler,
831
+ setScrollbar: setScrollbar,
832
+ columnRef: columnRef,
833
+ scrollbarState: scrollbarState,
834
+ scrollbarRef: scrollbarRef,
835
+ thumbRef: thumbRef,
836
+ timeoutRef: timeoutRef,
837
+ timeItemRefs: timeItemRefs
838
+ });
839
+ })));
840
+ });
841
+ };
842
+ export var timePickerGridConfig = {
843
+ name: 'TimePickerGrid',
844
+ tag: 'div',
845
+ layout: timePickerGridRoot,
846
+ base: base,
847
+ variations: {
848
+ view: {
849
+ css: viewCSS
850
+ },
851
+ size: {
852
+ css: sizeCSS
853
+ },
854
+ disabled: {
855
+ css: disabledCSS,
856
+ attrs: true
857
+ }
858
+ },
859
+ defaults: {
860
+ size: 'm',
861
+ view: 'default'
862
+ }
863
+ };