@salutejs/plasma-new-hope 0.339.0-canary.2298.18772525373.0 → 0.339.0-canary.2299.18780728888.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 (316) hide show
  1. package/cjs/components/Combobox/ComboboxNew/Combobox.js +0 -10
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  3. package/cjs/components/Loader/Loader.css +16 -0
  4. package/cjs/components/Loader/Loader.js +83 -0
  5. package/cjs/components/Loader/Loader.js.map +1 -0
  6. package/cjs/components/Loader/Loader.styles.js +36 -0
  7. package/cjs/components/Loader/Loader.styles.js.map +1 -0
  8. package/cjs/components/Loader/Loader.styles_1i0a33d.css +3 -0
  9. package/cjs/components/Loader/Loader.tokens.js +35 -0
  10. package/cjs/components/Loader/Loader.tokens.js.map +1 -0
  11. package/cjs/components/Loader/variations/_size/base.js +9 -0
  12. package/cjs/components/Loader/variations/_size/base.js.map +1 -0
  13. package/cjs/components/Loader/variations/_size/base_x642ct.css +1 -0
  14. package/cjs/components/Loader/variations/_view/base.js +9 -0
  15. package/cjs/components/Loader/variations/_view/base.js.map +1 -0
  16. package/cjs/components/Loader/variations/_view/base_x642ct.css +1 -0
  17. package/cjs/components/ProgressBarCircular/ProgressBarCircular.css +5 -5
  18. package/cjs/components/ProgressBarCircular/ProgressBarCircular.styles.js +1 -1
  19. package/cjs/components/ProgressBarCircular/ProgressBarCircular.styles.js.map +1 -1
  20. package/cjs/components/ProgressBarCircular/{ProgressBarCircular.styles_1cnlydo.css → ProgressBarCircular.styles_16hxdvd.css} +1 -1
  21. package/cjs/components/TimePicker/TimePicker.css +15 -11
  22. package/cjs/components/TimePicker/TimePicker.js +22 -458
  23. package/cjs/components/TimePicker/TimePicker.js.map +1 -1
  24. package/cjs/components/TimePicker/TimePicker.styles.js +17 -21
  25. package/cjs/components/TimePicker/TimePicker.styles.js.map +1 -1
  26. package/{es/components/TimePicker/TimePicker.styles_ar3obv.css → cjs/components/TimePicker/TimePicker.styles_2lk4d9.css} +4 -3
  27. package/cjs/components/TimePicker/utils/index.js +1 -33
  28. package/cjs/components/TimePicker/utils/index.js.map +1 -1
  29. package/cjs/components/TimePickerGrid/TimePickerGrid.css +10 -0
  30. package/cjs/components/TimePickerGrid/TimePickerGrid.js +733 -0
  31. package/cjs/components/TimePickerGrid/TimePickerGrid.js.map +1 -0
  32. package/cjs/components/TimePickerGrid/TimePickerGrid.styles.js +27 -0
  33. package/cjs/components/TimePickerGrid/TimePickerGrid.styles.js.map +1 -0
  34. package/cjs/components/TimePickerGrid/TimePickerGrid.styles_mz2mkl.css +2 -0
  35. package/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js +40 -0
  36. package/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js.map +1 -0
  37. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.css +7 -0
  38. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +118 -0
  39. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -0
  40. package/cjs/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +12 -12
  41. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
  42. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles_1nwjzgi.css +7 -0
  43. package/cjs/components/TimePickerGrid/utils/index.js +135 -0
  44. package/cjs/components/TimePickerGrid/utils/index.js.map +1 -0
  45. package/cjs/components/TimePickerGrid/variations/_disabled/base.js +9 -0
  46. package/cjs/components/TimePickerGrid/variations/_disabled/base.js.map +1 -0
  47. package/cjs/components/TimePickerGrid/variations/_disabled/base_x642ct.css +1 -0
  48. package/cjs/components/TimePickerGrid/variations/_size/base.js +9 -0
  49. package/cjs/components/TimePickerGrid/variations/_size/base.js.map +1 -0
  50. package/cjs/components/TimePickerGrid/variations/_size/base_x642ct.css +1 -0
  51. package/cjs/components/TimePickerGrid/variations/_view/base.js +9 -0
  52. package/cjs/components/TimePickerGrid/variations/_view/base.js.map +1 -0
  53. package/cjs/components/TimePickerGrid/variations/_view/base_x642ct.css +1 -0
  54. package/cjs/index.css +23 -15
  55. package/cjs/index.js +5 -0
  56. package/cjs/index.js.map +1 -1
  57. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +0 -11
  58. package/emotion/cjs/components/Loader/Loader.js +205 -0
  59. package/emotion/cjs/components/Loader/Loader.styles.js +46 -0
  60. package/emotion/cjs/components/Loader/Loader.tokens.js +52 -0
  61. package/emotion/cjs/components/Loader/index.js +23 -0
  62. package/emotion/cjs/components/Loader/variations/_size/base.js +12 -0
  63. package/emotion/cjs/components/Loader/variations/_view/base.js +12 -0
  64. package/emotion/cjs/components/ProgressBarCircular/ProgressBarCircular.styles.js +9 -9
  65. package/emotion/cjs/components/TimePicker/TimePicker.js +22 -488
  66. package/emotion/cjs/components/TimePicker/TimePicker.styles.js +17 -7
  67. package/emotion/cjs/components/TimePicker/utils/index.js +1 -25
  68. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.js +922 -0
  69. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.styles.js +34 -0
  70. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js +50 -0
  71. package/emotion/cjs/components/TimePickerGrid/hooks/useKeyboardNavigation.js +30 -0
  72. package/emotion/cjs/components/TimePickerGrid/index.js +26 -0
  73. package/emotion/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +118 -0
  74. package/emotion/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js +71 -0
  75. package/emotion/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.js +4 -0
  76. package/emotion/cjs/components/TimePickerGrid/utils/index.js +166 -0
  77. package/emotion/cjs/components/TimePickerGrid/variations/_disabled/base.js +12 -0
  78. package/emotion/cjs/components/TimePickerGrid/variations/_size/base.js +12 -0
  79. package/emotion/cjs/components/TimePickerGrid/variations/_view/base.js +12 -0
  80. package/emotion/cjs/examples/components/Loader/Loader.config.js +38 -0
  81. package/emotion/cjs/examples/components/Loader/Loader.js +15 -0
  82. package/emotion/cjs/examples/components/TimePicker/TimePicker.config.js +7 -7
  83. package/emotion/cjs/examples/components/TimePickerGrid/TimePickerGrid.config.js +32 -0
  84. package/emotion/cjs/examples/components/TimePickerGrid/TimePickerGrid.js +15 -0
  85. package/emotion/cjs/index.js +1 -0
  86. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +0 -11
  87. package/emotion/es/components/Loader/Loader.js +141 -0
  88. package/emotion/es/components/Loader/Loader.styles.js +20 -0
  89. package/emotion/es/components/Loader/Loader.tokens.js +31 -0
  90. package/emotion/es/components/Loader/index.js +2 -0
  91. package/emotion/es/components/Loader/variations/_size/base.js +2 -0
  92. package/emotion/es/components/Loader/variations/_view/base.js +2 -0
  93. package/emotion/es/components/ProgressBarCircular/ProgressBarCircular.styles.js +9 -9
  94. package/emotion/es/components/TimePicker/TimePicker.js +25 -491
  95. package/emotion/es/components/TimePicker/TimePicker.styles.js +14 -7
  96. package/emotion/es/components/TimePicker/utils/index.js +1 -22
  97. package/emotion/es/components/TimePickerGrid/TimePickerGrid.js +863 -0
  98. package/emotion/es/components/TimePickerGrid/TimePickerGrid.styles.js +11 -0
  99. package/emotion/es/components/TimePickerGrid/TimePickerGrid.tokens.js +32 -0
  100. package/emotion/es/components/TimePickerGrid/hooks/useKeyboardNavigation.js +20 -0
  101. package/emotion/es/components/TimePickerGrid/index.js +2 -0
  102. package/emotion/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +103 -0
  103. package/emotion/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js +33 -0
  104. package/emotion/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.js +1 -0
  105. package/emotion/es/components/TimePickerGrid/utils/index.js +133 -0
  106. package/emotion/es/components/TimePickerGrid/variations/_disabled/base.js +2 -0
  107. package/emotion/es/components/TimePickerGrid/variations/_size/base.js +2 -0
  108. package/emotion/es/components/TimePickerGrid/variations/_view/base.js +2 -0
  109. package/emotion/es/examples/components/Combobox/Combobox.js +0 -7
  110. package/emotion/es/examples/components/Loader/Loader.config.js +28 -0
  111. package/emotion/es/examples/components/Loader/Loader.js +5 -0
  112. package/emotion/es/examples/components/TimePicker/TimePicker.config.js +7 -7
  113. package/emotion/es/examples/components/TimePickerGrid/TimePickerGrid.config.js +22 -0
  114. package/emotion/es/examples/components/TimePickerGrid/TimePickerGrid.js +5 -0
  115. package/emotion/es/index.js +1 -0
  116. package/es/components/Combobox/ComboboxNew/Combobox.js +0 -10
  117. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  118. package/es/components/Loader/Loader.css +16 -0
  119. package/es/components/Loader/Loader.js +73 -0
  120. package/es/components/Loader/Loader.js.map +1 -0
  121. package/es/components/Loader/Loader.styles.js +30 -0
  122. package/es/components/Loader/Loader.styles.js.map +1 -0
  123. package/es/components/Loader/Loader.styles_1i0a33d.css +3 -0
  124. package/es/components/Loader/Loader.tokens.js +30 -0
  125. package/es/components/Loader/Loader.tokens.js.map +1 -0
  126. package/es/components/Loader/variations/_size/base.js +5 -0
  127. package/es/components/Loader/variations/_size/base.js.map +1 -0
  128. package/es/components/Loader/variations/_size/base_x642ct.css +1 -0
  129. package/es/components/Loader/variations/_view/base.js +5 -0
  130. package/es/components/Loader/variations/_view/base.js.map +1 -0
  131. package/es/components/Loader/variations/_view/base_x642ct.css +1 -0
  132. package/es/components/ProgressBarCircular/ProgressBarCircular.css +5 -5
  133. package/es/components/ProgressBarCircular/ProgressBarCircular.styles.js +1 -1
  134. package/es/components/ProgressBarCircular/ProgressBarCircular.styles.js.map +1 -1
  135. package/es/components/ProgressBarCircular/{ProgressBarCircular.styles_1cnlydo.css → ProgressBarCircular.styles_16hxdvd.css} +1 -1
  136. package/es/components/TimePicker/TimePicker.css +15 -11
  137. package/es/components/TimePicker/TimePicker.js +26 -462
  138. package/es/components/TimePicker/TimePicker.js.map +1 -1
  139. package/es/components/TimePicker/TimePicker.styles.js +17 -21
  140. package/es/components/TimePicker/TimePicker.styles.js.map +1 -1
  141. package/{cjs/components/TimePicker/TimePicker.styles_ar3obv.css → es/components/TimePicker/TimePicker.styles_2lk4d9.css} +4 -3
  142. package/es/components/TimePicker/utils/index.js +2 -32
  143. package/es/components/TimePicker/utils/index.js.map +1 -1
  144. package/es/components/TimePickerGrid/TimePickerGrid.css +10 -0
  145. package/es/components/TimePickerGrid/TimePickerGrid.js +724 -0
  146. package/es/components/TimePickerGrid/TimePickerGrid.js.map +1 -0
  147. package/es/components/TimePickerGrid/TimePickerGrid.styles.js +22 -0
  148. package/es/components/TimePickerGrid/TimePickerGrid.styles.js.map +1 -0
  149. package/es/components/TimePickerGrid/TimePickerGrid.styles_mz2mkl.css +2 -0
  150. package/es/components/TimePickerGrid/TimePickerGrid.tokens.js +35 -0
  151. package/es/components/TimePickerGrid/TimePickerGrid.tokens.js.map +1 -0
  152. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.css +7 -0
  153. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +109 -0
  154. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -0
  155. package/es/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +11 -11
  156. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
  157. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles_1nwjzgi.css +7 -0
  158. package/es/components/TimePickerGrid/utils/index.js +126 -0
  159. package/es/components/TimePickerGrid/utils/index.js.map +1 -0
  160. package/es/components/TimePickerGrid/variations/_disabled/base.js +5 -0
  161. package/es/components/TimePickerGrid/variations/_disabled/base.js.map +1 -0
  162. package/es/components/TimePickerGrid/variations/_disabled/base_x642ct.css +1 -0
  163. package/es/components/TimePickerGrid/variations/_size/base.js +5 -0
  164. package/es/components/TimePickerGrid/variations/_size/base.js.map +1 -0
  165. package/es/components/TimePickerGrid/variations/_size/base_x642ct.css +1 -0
  166. package/es/components/TimePickerGrid/variations/_view/base.js +5 -0
  167. package/es/components/TimePickerGrid/variations/_view/base.js.map +1 -0
  168. package/es/components/TimePickerGrid/variations/_view/base_x642ct.css +1 -0
  169. package/es/index.css +23 -15
  170. package/es/index.js +2 -0
  171. package/es/index.js.map +1 -1
  172. package/package.json +4 -4
  173. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +0 -11
  174. package/styled-components/cjs/components/Loader/Loader.js +205 -0
  175. package/styled-components/cjs/components/Loader/Loader.styles.js +129 -0
  176. package/styled-components/cjs/components/Loader/Loader.tokens.js +52 -0
  177. package/styled-components/cjs/components/Loader/Loader.types.js +4 -0
  178. package/styled-components/cjs/components/Loader/index.js +23 -0
  179. package/styled-components/cjs/components/Loader/variations/_size/base.js +14 -0
  180. package/styled-components/cjs/components/Loader/variations/_view/base.js +14 -0
  181. package/styled-components/cjs/components/ProgressBarCircular/ProgressBarCircular.styles.js +5 -5
  182. package/styled-components/cjs/components/TimePicker/TimePicker.js +22 -488
  183. package/styled-components/cjs/components/TimePicker/TimePicker.styles.js +57 -3
  184. package/styled-components/cjs/components/TimePicker/utils/index.js +1 -25
  185. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.js +922 -0
  186. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.styles.js +79 -0
  187. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js +50 -0
  188. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.types.js +4 -0
  189. package/styled-components/cjs/components/TimePickerGrid/hooks/useKeyboardNavigation.js +30 -0
  190. package/styled-components/cjs/components/TimePickerGrid/index.js +26 -0
  191. package/styled-components/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +118 -0
  192. package/styled-components/cjs/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +16 -14
  193. package/styled-components/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.js +4 -0
  194. package/styled-components/cjs/components/TimePickerGrid/utils/index.js +166 -0
  195. package/styled-components/cjs/components/TimePickerGrid/variations/_disabled/base.js +14 -0
  196. package/styled-components/cjs/components/TimePickerGrid/variations/_size/base.js +14 -0
  197. package/styled-components/cjs/components/TimePickerGrid/variations/_view/base.js +14 -0
  198. package/styled-components/cjs/examples/components/Loader/Loader.config.js +199 -0
  199. package/styled-components/cjs/examples/components/Loader/Loader.js +15 -0
  200. package/styled-components/cjs/examples/components/TimePicker/TimePicker.config.js +3 -2
  201. package/styled-components/cjs/examples/components/TimePickerGrid/TimePickerGrid.config.js +103 -0
  202. package/styled-components/cjs/examples/components/TimePickerGrid/TimePickerGrid.js +15 -0
  203. package/styled-components/cjs/index.js +1 -0
  204. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +0 -11
  205. package/styled-components/es/components/Loader/Loader.js +141 -0
  206. package/styled-components/es/components/Loader/Loader.styles.js +68 -0
  207. package/styled-components/es/components/Loader/Loader.tokens.js +31 -0
  208. package/styled-components/es/components/Loader/Loader.types.js +1 -0
  209. package/styled-components/es/components/Loader/index.js +2 -0
  210. package/styled-components/es/components/Loader/variations/_size/base.js +4 -0
  211. package/styled-components/es/components/Loader/variations/_view/base.js +4 -0
  212. package/styled-components/es/components/ProgressBarCircular/ProgressBarCircular.styles.js +5 -5
  213. package/styled-components/es/components/TimePicker/TimePicker.js +25 -491
  214. package/styled-components/es/components/TimePicker/TimePicker.styles.js +54 -3
  215. package/styled-components/es/components/TimePicker/utils/index.js +1 -22
  216. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.js +863 -0
  217. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.styles.js +21 -0
  218. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.tokens.js +32 -0
  219. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.types.js +1 -0
  220. package/styled-components/es/components/TimePickerGrid/hooks/useKeyboardNavigation.js +20 -0
  221. package/styled-components/es/components/TimePickerGrid/index.js +2 -0
  222. package/styled-components/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +103 -0
  223. package/styled-components/es/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +11 -9
  224. package/styled-components/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.js +1 -0
  225. package/styled-components/es/components/TimePickerGrid/utils/index.js +133 -0
  226. package/styled-components/es/components/TimePickerGrid/variations/_disabled/base.js +4 -0
  227. package/styled-components/es/components/TimePickerGrid/variations/_size/base.js +4 -0
  228. package/styled-components/es/components/TimePickerGrid/variations/_view/base.js +4 -0
  229. package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
  230. package/styled-components/es/examples/components/Loader/Loader.config.js +189 -0
  231. package/styled-components/es/examples/components/Loader/Loader.js +5 -0
  232. package/styled-components/es/examples/components/TimePicker/TimePicker.config.js +3 -2
  233. package/styled-components/es/examples/components/TimePickerGrid/TimePickerGrid.config.js +93 -0
  234. package/styled-components/es/examples/components/TimePickerGrid/TimePickerGrid.js +5 -0
  235. package/styled-components/es/index.js +1 -0
  236. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  237. package/types/components/Loader/Loader.d.ts +23 -0
  238. package/types/components/Loader/Loader.d.ts.map +1 -0
  239. package/types/components/Loader/Loader.styles.d.ts +19 -0
  240. package/types/components/Loader/Loader.styles.d.ts.map +1 -0
  241. package/types/components/Loader/Loader.tokens.d.ts +32 -0
  242. package/types/components/Loader/Loader.tokens.d.ts.map +1 -0
  243. package/types/components/Loader/Loader.types.d.ts +56 -0
  244. package/types/components/Loader/Loader.types.d.ts.map +1 -0
  245. package/types/components/Loader/index.d.ts +4 -0
  246. package/types/components/Loader/index.d.ts.map +1 -0
  247. package/types/components/Loader/variations/_size/base.d.ts +2 -0
  248. package/types/components/Loader/variations/_size/base.d.ts.map +1 -0
  249. package/types/components/Loader/variations/_view/base.d.ts +2 -0
  250. package/types/components/Loader/variations/_view/base.d.ts.map +1 -0
  251. package/types/components/TimePicker/TimePicker.d.ts.map +1 -1
  252. package/types/components/TimePicker/TimePicker.styles.d.ts +18 -0
  253. package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
  254. package/types/components/TimePicker/utils/index.d.ts +1 -2
  255. package/types/components/TimePicker/utils/index.d.ts.map +1 -1
  256. package/types/components/TimePickerGrid/TimePickerGrid.d.ts +61 -0
  257. package/types/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -0
  258. package/types/components/TimePickerGrid/TimePickerGrid.styles.d.ts +5 -0
  259. package/types/components/TimePickerGrid/TimePickerGrid.styles.d.ts.map +1 -0
  260. package/types/components/TimePickerGrid/TimePickerGrid.tokens.d.ts +33 -0
  261. package/types/components/TimePickerGrid/TimePickerGrid.tokens.d.ts.map +1 -0
  262. package/types/components/TimePickerGrid/TimePickerGrid.types.d.ts +65 -0
  263. package/types/components/TimePickerGrid/TimePickerGrid.types.d.ts.map +1 -0
  264. package/types/components/TimePickerGrid/hooks/useKeyboardNavigation.d.ts +14 -0
  265. package/types/components/TimePickerGrid/hooks/useKeyboardNavigation.d.ts.map +1 -0
  266. package/types/components/TimePickerGrid/index.d.ts +4 -0
  267. package/types/components/TimePickerGrid/index.d.ts.map +1 -0
  268. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts +3 -0
  269. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts.map +1 -0
  270. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.d.ts.map +1 -0
  271. package/types/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.types.d.ts +9 -8
  272. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.d.ts.map +1 -0
  273. package/types/components/TimePickerGrid/utils/index.d.ts +24 -0
  274. package/types/components/TimePickerGrid/utils/index.d.ts.map +1 -0
  275. package/types/components/TimePickerGrid/variations/_disabled/base.d.ts +2 -0
  276. package/types/components/TimePickerGrid/variations/_disabled/base.d.ts.map +1 -0
  277. package/types/components/TimePickerGrid/variations/_size/base.d.ts +2 -0
  278. package/types/components/TimePickerGrid/variations/_size/base.d.ts.map +1 -0
  279. package/types/components/TimePickerGrid/variations/_view/base.d.ts +2 -0
  280. package/types/components/TimePickerGrid/variations/_view/base.d.ts.map +1 -0
  281. package/types/examples/components/Loader/Loader.config.d.ts +27 -0
  282. package/types/examples/components/Loader/Loader.config.d.ts.map +1 -0
  283. package/types/examples/components/Loader/Loader.d.ts +21 -0
  284. package/types/examples/components/Loader/Loader.d.ts.map +1 -0
  285. package/types/examples/components/TimePicker/TimePicker.config.d.ts.map +1 -1
  286. package/types/examples/components/TimePickerGrid/TimePickerGrid.config.d.ts +21 -0
  287. package/types/examples/components/TimePickerGrid/TimePickerGrid.config.d.ts.map +1 -0
  288. package/types/examples/components/TimePickerGrid/TimePickerGrid.d.ts +32 -0
  289. package/types/examples/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -0
  290. package/types/index.d.ts +1 -0
  291. package/types/index.d.ts.map +1 -1
  292. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.css +0 -7
  293. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -65
  294. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +0 -1
  295. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +0 -1
  296. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +0 -7
  297. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -65
  298. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +0 -71
  299. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -50
  300. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +0 -33
  301. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.css +0 -7
  302. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -56
  303. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +0 -1
  304. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +0 -1
  305. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +0 -7
  306. package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -65
  307. package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -50
  308. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts +0 -3
  309. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts.map +0 -1
  310. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.styles.d.ts.map +0 -1
  311. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.types.d.ts.map +0 -1
  312. /package/emotion/cjs/components/{TimePicker/ui/TimeColumn/TimeColumn.types.js → Loader/Loader.types.js} +0 -0
  313. /package/{styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.types.js → emotion/cjs/components/TimePickerGrid/TimePickerGrid.types.js} +0 -0
  314. /package/emotion/es/components/{TimePicker/ui/TimeColumn/TimeColumn.types.js → Loader/Loader.types.js} +0 -0
  315. /package/{styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.types.js → emotion/es/components/TimePickerGrid/TimePickerGrid.types.js} +0 -0
  316. /package/types/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.d.ts +0 -0
@@ -0,0 +1,724 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React, { forwardRef, useMemo, useRef, useState, useEffect, useCallback } from 'react';
3
+ import { getColumnsFromFormat, parseTimeString, isTimeDisabled, animateScrollTo, buildTimeString } from './utils/index.js';
4
+ import { base, StyledTimePicker } from './TimePickerGrid.styles.js';
5
+ import { base as base$2 } from './variations/_size/base.js';
6
+ import { base as base$1 } from './variations/_view/base.js';
7
+ import { base as base$3 } from './variations/_disabled/base.js';
8
+ import { renderTimeColumn } from './ui/TimeColumn/TimeColumn.js';
9
+
10
+ var _excluded = ["value", "view", "size", "disabled", "dropdownWidth", "dropdownHeight", "format", "min", "max", "columnsQuantity", "disabledValues", "onChange"];
11
+ var timePickerGridRoot = function timePickerGridRoot(Root) {
12
+ return /*#__PURE__*/forwardRef(function (_ref, ref) {
13
+ var outerValue = _ref.value,
14
+ view = _ref.view,
15
+ size = _ref.size,
16
+ _ref$disabled = _ref.disabled,
17
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
18
+ dropdownWidth = _ref.dropdownWidth,
19
+ dropdownHeight = _ref.dropdownHeight,
20
+ _ref$format = _ref.format,
21
+ format = _ref$format === void 0 ? 'HH:mm' : _ref$format,
22
+ min = _ref.min,
23
+ max = _ref.max,
24
+ columnsQuantity = _ref.columnsQuantity,
25
+ disabledValues = _ref.disabledValues,
26
+ onChange = _ref.onChange,
27
+ rest = _objectWithoutProperties(_ref, _excluded);
28
+ var actualFormat = format || (columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm');
29
+ var columnsConfig = useMemo(function () {
30
+ return getColumnsFromFormat(actualFormat);
31
+ }, [actualFormat]);
32
+ var hoursColumnRef = useRef(null);
33
+ var minutesColumnRef = useRef(null);
34
+ var secondsColumnRef = useRef(null);
35
+ var timeItemRefs = useRef({});
36
+ var hoursScrollbarRef = useRef(null);
37
+ var minutesScrollbarRef = useRef(null);
38
+ var secondsScrollbarRef = useRef(null);
39
+ var hoursThumbRef = useRef(null);
40
+ var minutesThumbRef = useRef(null);
41
+ var secondsThumbRef = useRef(null);
42
+ var hoursHideTimeoutRef = useRef(null);
43
+ var minutesHideTimeoutRef = useRef(null);
44
+ var secondsHideTimeoutRef = useRef(null);
45
+ var _useState = useState(outerValue || ''),
46
+ _useState2 = _slicedToArray(_useState, 2),
47
+ innerTime = _useState2[0],
48
+ setInnerTime = _useState2[1];
49
+ var _useState3 = useState({
50
+ hours: null,
51
+ minutes: null,
52
+ seconds: null,
53
+ currentColumn: null
54
+ }),
55
+ _useState4 = _slicedToArray(_useState3, 2),
56
+ activeTime = _useState4[0],
57
+ setActiveTime = _useState4[1];
58
+ var _useState5 = useState(0),
59
+ _useState6 = _slicedToArray(_useState5, 2),
60
+ itemHeight = _useState6[0],
61
+ setItemHeight = _useState6[1];
62
+ var _useState7 = useState(0),
63
+ _useState8 = _slicedToArray(_useState7, 2),
64
+ gap = _useState8[0],
65
+ setGap = _useState8[1];
66
+ var _useState9 = useState({
67
+ isVisible: false,
68
+ thumbHeight: 0,
69
+ thumbPosition: 0,
70
+ isDragging: false
71
+ }),
72
+ _useState10 = _slicedToArray(_useState9, 2),
73
+ hoursScrollbar = _useState10[0],
74
+ setHoursScrollbar = _useState10[1];
75
+ var _useState11 = useState({
76
+ isVisible: false,
77
+ thumbHeight: 0,
78
+ thumbPosition: 0,
79
+ isDragging: false
80
+ }),
81
+ _useState12 = _slicedToArray(_useState11, 2),
82
+ minutesScrollbar = _useState12[0],
83
+ setMinutesScrollbar = _useState12[1];
84
+ var _useState13 = useState({
85
+ isVisible: false,
86
+ thumbHeight: 0,
87
+ thumbPosition: 0,
88
+ isDragging: false
89
+ }),
90
+ _useState14 = _slicedToArray(_useState13, 2),
91
+ secondsScrollbar = _useState14[0],
92
+ setSecondsScrollbar = _useState14[1];
93
+ var viewValue = outerValue !== null && outerValue !== void 0 ? outerValue : innerTime;
94
+ useEffect(function () {
95
+ if (activeTime.currentColumn && activeTime[activeTime.currentColumn] !== null) {
96
+ var _activeTime$activeTim;
97
+ var column = activeTime.currentColumn;
98
+ var value = (_activeTime$activeTim = activeTime[activeTime.currentColumn]) === null || _activeTime$activeTim === void 0 ? void 0 : _activeTime$activeTim.toString().padStart(2, '0');
99
+ var element = timeItemRefs.current["".concat(column, "-").concat(value)];
100
+ setTimeout(function () {
101
+ if (element) {
102
+ element.focus();
103
+ }
104
+ }, 0);
105
+ }
106
+ }, [activeTime]);
107
+ var getDisabledValuesForColumn = useCallback(function (columnType) {
108
+ var disabledFromProps;
109
+ if (columnType === 'hours') {
110
+ disabledFromProps = (disabledValues === null || disabledValues === void 0 ? void 0 : disabledValues.hour) || [];
111
+ } else if (columnType === 'minutes') {
112
+ disabledFromProps = (disabledValues === null || disabledValues === void 0 ? void 0 : disabledValues.minute) || [];
113
+ } else {
114
+ disabledFromProps = (disabledValues === null || disabledValues === void 0 ? void 0 : disabledValues.second) || [];
115
+ }
116
+ var disabledFromMinMax = [];
117
+ if (min || max) {
118
+ var timeValues = parseTimeString(viewValue || '00:00:00', actualFormat);
119
+ for (var i = 0; i < (columnType === 'hours' ? 24 : 60); i++) {
120
+ var testValues = _objectSpread2({}, timeValues);
121
+ if (columnType === 'hours') {
122
+ testValues.hh = i;
123
+ } else if (columnType === 'minutes') {
124
+ testValues.mm = i;
125
+ } else {
126
+ testValues.ss = i;
127
+ }
128
+ var completeTimeValues = getCompleteTimeValues(testValues, actualFormat);
129
+ if (isTimeDisabled(completeTimeValues, min, max, format)) {
130
+ disabledFromMinMax.push(i);
131
+ }
132
+ }
133
+ }
134
+ var normalizedDisabledFromProps = disabledFromProps.map(function (val) {
135
+ return typeof val === 'string' ? parseInt(val, 10) : val;
136
+ });
137
+ return _toConsumableArray(new Set([].concat(_toConsumableArray(normalizedDisabledFromProps), disabledFromMinMax)));
138
+ }, [disabledValues, min, max, viewValue, actualFormat]);
139
+ var getCompleteTimeValues = useCallback(function (timeValues, format) {
140
+ var completeValues = {
141
+ hh: 0,
142
+ mm: 0,
143
+ ss: 0
144
+ };
145
+ if (format.includes('HH')) {
146
+ completeValues.hh = timeValues.hh !== null ? timeValues.hh : 0;
147
+ }
148
+ if (format.includes('mm')) {
149
+ completeValues.mm = timeValues.mm !== null ? timeValues.mm : 0;
150
+ }
151
+ if (format.includes('ss')) {
152
+ completeValues.ss = timeValues.ss !== null ? timeValues.ss : 0;
153
+ }
154
+ return completeValues;
155
+ }, []);
156
+ var getNextAvailableValue = useCallback(function (currentIndex, values, disabledValuesForColumn, direction) {
157
+ var newIndex = currentIndex;
158
+ var iterations = 0;
159
+ var maxIterations = values.length;
160
+ do {
161
+ newIndex = direction === 'up' ? (newIndex - 1 + values.length) % values.length : (newIndex + 1) % values.length;
162
+ iterations++;
163
+ } while (iterations < maxIterations && disabledValuesForColumn.includes(parseInt(values[newIndex], 10)) && newIndex !== currentIndex);
164
+ return iterations < maxIterations && !disabledValuesForColumn.includes(parseInt(values[newIndex], 10)) ? newIndex : currentIndex;
165
+ }, []);
166
+ var minScrollbarTrackHeight = 20;
167
+ var calculateScrollbar = useCallback(function (columnRef) {
168
+ if (!columnRef.current) return {
169
+ thumbHeight: 0,
170
+ thumbPosition: 0
171
+ };
172
+ var _columnRef$current = columnRef.current,
173
+ scrollTop = _columnRef$current.scrollTop,
174
+ scrollHeight = _columnRef$current.scrollHeight,
175
+ clientHeight = _columnRef$current.clientHeight;
176
+ var trackHeight = clientHeight;
177
+ var thumbHeight = Math.max(trackHeight / scrollHeight * trackHeight, minScrollbarTrackHeight);
178
+ var maxScroll = scrollHeight - clientHeight;
179
+ var thumbPosition = maxScroll > 0 ? scrollTop / maxScroll * (trackHeight - thumbHeight) : 0;
180
+ return {
181
+ thumbHeight: thumbHeight,
182
+ thumbPosition: thumbPosition
183
+ };
184
+ }, []);
185
+ var showScrollbarWithDelay = useCallback(function (setScrollbar, timeoutRef, columnRef) {
186
+ if (timeoutRef.current) {
187
+ clearTimeout(timeoutRef.current);
188
+ }
189
+ updateScrollbar(columnRef, setScrollbar, true);
190
+ timeoutRef.current = setTimeout(function () {
191
+ setScrollbar(function (prev) {
192
+ return _objectSpread2(_objectSpread2({}, prev), {}, {
193
+ isVisible: false
194
+ });
195
+ });
196
+ timeoutRef.current = null;
197
+ }, 2000);
198
+ }, []);
199
+ var updateScrollbar = useCallback(function (columnRef, setScrollbar) {
200
+ var show = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
201
+ if (!columnRef.current) return;
202
+ var _calculateScrollbar = calculateScrollbar(columnRef),
203
+ thumbHeight = _calculateScrollbar.thumbHeight,
204
+ thumbPosition = _calculateScrollbar.thumbPosition;
205
+ setScrollbar(function (prev) {
206
+ return _objectSpread2(_objectSpread2({}, prev), {}, {
207
+ thumbHeight: thumbHeight,
208
+ thumbPosition: thumbPosition,
209
+ isVisible: show || prev.isVisible
210
+ });
211
+ });
212
+ }, [calculateScrollbar]);
213
+ var handleColumnScroll = useCallback(function (columnRef, setScrollbar, timeoutRef) {
214
+ showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
215
+ }, [showScrollbarWithDelay]);
216
+ var createScrollbarDragHandler = useCallback(function (columnRef, setScrollbar, timeoutRef) {
217
+ return function (e) {
218
+ e.preventDefault();
219
+ var thumb = e.currentTarget;
220
+ var track = thumb.parentElement;
221
+ if (!columnRef.current || !track) return;
222
+ if (timeoutRef.current) {
223
+ clearTimeout(timeoutRef.current);
224
+ timeoutRef.current = null;
225
+ }
226
+ var startY = e.clientY;
227
+ var startThumbPosition = parseFloat(thumb.style.top || '0');
228
+ var trackRect = track.getBoundingClientRect();
229
+ var trackHeight = trackRect.height;
230
+ var thumbHeight = thumb.offsetHeight;
231
+ var _columnRef$current2 = columnRef.current,
232
+ scrollHeight = _columnRef$current2.scrollHeight,
233
+ clientHeight = _columnRef$current2.clientHeight;
234
+ var maxScroll = scrollHeight - clientHeight;
235
+ var handleMouseMove = function handleMouseMove(moveEvent) {
236
+ var deltaY = moveEvent.clientY - startY;
237
+ var newThumbPosition = Math.max(0, Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY));
238
+ var scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);
239
+ var newScrollTop = scrollPercentage * maxScroll;
240
+ if (columnRef.current) {
241
+ columnRef.current.scrollTop = newScrollTop;
242
+ }
243
+ setScrollbar(function (prev) {
244
+ return _objectSpread2(_objectSpread2({}, prev), {}, {
245
+ thumbPosition: newThumbPosition,
246
+ isDragging: true,
247
+ isVisible: true
248
+ });
249
+ });
250
+ };
251
+ var handleMouseUp = function handleMouseUp() {
252
+ document.removeEventListener('mousemove', handleMouseMove);
253
+ document.removeEventListener('mouseup', handleMouseUp);
254
+ setScrollbar(function (prev) {
255
+ return _objectSpread2(_objectSpread2({}, prev), {}, {
256
+ isDragging: false
257
+ });
258
+ });
259
+ showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
260
+ };
261
+ document.addEventListener('mousemove', handleMouseMove);
262
+ document.addEventListener('mouseup', handleMouseUp);
263
+ };
264
+ }, [showScrollbarWithDelay]);
265
+ useEffect(function () {
266
+ if (viewValue && columnsConfig.length > 0) {
267
+ var timeValues = parseTimeString(viewValue, actualFormat);
268
+ setActiveTime(function (prev) {
269
+ return _objectSpread2(_objectSpread2({}, prev), {}, {
270
+ hours: timeValues.hh,
271
+ minutes: timeValues.mm,
272
+ seconds: timeValues.ss
273
+ });
274
+ });
275
+ }
276
+ }, [viewValue, columnsConfig, actualFormat]);
277
+ var handleContainerFocus = useCallback(function () {
278
+ if (activeTime.currentColumn === null && columnsConfig.length > 0) {
279
+ var firstColumn = columnsConfig[0].type;
280
+ setActiveTime(function (prev) {
281
+ return _objectSpread2(_objectSpread2({}, prev), {}, {
282
+ currentColumn: firstColumn
283
+ });
284
+ });
285
+ }
286
+ }, [activeTime.currentColumn, columnsConfig]);
287
+ useEffect(function () {
288
+ return function () {
289
+ [hoursHideTimeoutRef, minutesHideTimeoutRef, secondsHideTimeoutRef].forEach(function (timeoutRef) {
290
+ if (timeoutRef.current) {
291
+ clearTimeout(timeoutRef.current);
292
+ }
293
+ });
294
+ };
295
+ }, []);
296
+ useEffect(function () {
297
+ if (Object.keys(timeItemRefs.current).length > 0) {
298
+ var firstItem = Object.values(timeItemRefs.current)[0];
299
+ if (firstItem) {
300
+ setItemHeight(firstItem.offsetHeight);
301
+ }
302
+ }
303
+ if (hoursColumnRef.current) {
304
+ var computedStyle = getComputedStyle(hoursColumnRef.current);
305
+ var gapValue = parseFloat(computedStyle.gap || '0');
306
+ setGap(gapValue);
307
+ }
308
+ }, [outerValue]);
309
+ useEffect(function () {
310
+ setTimeout(function () {
311
+ updateScrollbar(hoursColumnRef, setHoursScrollbar);
312
+ updateScrollbar(minutesColumnRef, setMinutesScrollbar);
313
+ if (columnsQuantity === 3) {
314
+ updateScrollbar(secondsColumnRef, setSecondsScrollbar);
315
+ }
316
+ }, 100);
317
+ }, [columnsQuantity, updateScrollbar]);
318
+ useEffect(function () {
319
+ if (itemHeight === 0) return;
320
+ var scrollToActiveItem = function scrollToActiveItem(columnRef, index) {
321
+ if (columnRef.current && index !== null) {
322
+ var scrollPosition = index * (itemHeight + gap);
323
+ animateScrollTo(columnRef.current, scrollPosition);
324
+ setTimeout(function () {
325
+ updateScrollbar(columnRef, setHoursScrollbar);
326
+ }, 300);
327
+ }
328
+ };
329
+ scrollToActiveItem(hoursColumnRef, activeTime.hours);
330
+ scrollToActiveItem(minutesColumnRef, activeTime.minutes);
331
+ scrollToActiveItem(secondsColumnRef, activeTime.seconds);
332
+ }, [activeTime, itemHeight, gap, updateScrollbar]);
333
+ useEffect(function () {
334
+ var hoursColumn = hoursColumnRef.current;
335
+ var minutesColumn = minutesColumnRef.current;
336
+ var secondsColumn = secondsColumnRef.current;
337
+ var handleHoursScroll = function handleHoursScroll() {
338
+ return handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);
339
+ };
340
+ var handleMinutesScroll = function handleMinutesScroll() {
341
+ return handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);
342
+ };
343
+ var handleSecondsScroll = function handleSecondsScroll() {
344
+ return handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);
345
+ };
346
+ if (hoursColumn) {
347
+ hoursColumn.addEventListener('scroll', handleHoursScroll);
348
+ }
349
+ if (minutesColumn) {
350
+ minutesColumn.addEventListener('scroll', handleMinutesScroll);
351
+ }
352
+ if (secondsColumn) {
353
+ secondsColumn.addEventListener('scroll', handleSecondsScroll);
354
+ }
355
+ return function () {
356
+ if (hoursColumn) {
357
+ hoursColumn.removeEventListener('scroll', handleHoursScroll);
358
+ }
359
+ if (minutesColumn) {
360
+ minutesColumn.removeEventListener('scroll', handleMinutesScroll);
361
+ }
362
+ if (secondsColumn) {
363
+ secondsColumn.removeEventListener('scroll', handleSecondsScroll);
364
+ }
365
+ };
366
+ }, []);
367
+ useEffect(function () {
368
+ var hoursColumn = hoursColumnRef.current;
369
+ var minutesColumn = minutesColumnRef.current;
370
+ var secondsColumn = secondsColumnRef.current;
371
+ var handleHoursMouseEnter = function handleHoursMouseEnter() {
372
+ return showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);
373
+ };
374
+ var handleMinutesMouseEnter = function handleMinutesMouseEnter() {
375
+ return showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);
376
+ };
377
+ var handleSecondsMouseEnter = function handleSecondsMouseEnter() {
378
+ return showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);
379
+ };
380
+ if (hoursColumn) {
381
+ hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);
382
+ }
383
+ if (minutesColumn) {
384
+ minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);
385
+ }
386
+ if (secondsColumn) {
387
+ secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);
388
+ }
389
+ return function () {
390
+ if (hoursColumn) {
391
+ hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);
392
+ }
393
+ if (minutesColumn) {
394
+ minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);
395
+ }
396
+ if (secondsColumn) {
397
+ secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);
398
+ }
399
+ };
400
+ }, []);
401
+ var handleTimeItemClick = function handleTimeItemClick(value, column) {
402
+ var isNextColumn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
403
+ var currentTimeValues = parseTimeString(innerTime, actualFormat);
404
+ var newTimeValues = _objectSpread2({}, currentTimeValues);
405
+ switch (column) {
406
+ case 'hours':
407
+ newTimeValues.hh = parseInt(value, 10);
408
+ break;
409
+ case 'minutes':
410
+ newTimeValues.mm = parseInt(value, 10);
411
+ break;
412
+ case 'seconds':
413
+ newTimeValues.ss = parseInt(value, 10);
414
+ break;
415
+ }
416
+ var getFirstAvailableValue = function getFirstAvailableValue(columnType) {
417
+ var disabledValuesForColumn = getDisabledValuesForColumn(columnType);
418
+ var maxValue = columnType === 'hours' ? 23 : 59;
419
+ for (var i = 0; i <= maxValue; i++) {
420
+ if (!disabledValuesForColumn.includes(i)) {
421
+ return i;
422
+ }
423
+ }
424
+ return 0;
425
+ };
426
+ if (newTimeValues.hh === null && actualFormat.includes('HH')) {
427
+ newTimeValues.hh = getFirstAvailableValue('hours');
428
+ }
429
+ if (newTimeValues.mm === null && actualFormat.includes('mm')) {
430
+ newTimeValues.mm = getFirstAvailableValue('minutes');
431
+ }
432
+ if (newTimeValues.ss === null && actualFormat.includes('ss')) {
433
+ newTimeValues.ss = getFirstAvailableValue('seconds');
434
+ }
435
+ var completeTimeValues = getCompleteTimeValues(newTimeValues, actualFormat);
436
+ if (isTimeDisabled(completeTimeValues, min, max)) {
437
+ return;
438
+ }
439
+ var newTimeString = buildTimeString(newTimeValues, actualFormat);
440
+ setInnerTime(newTimeString);
441
+ var nextColumn = null;
442
+ var currentIndex = columnsConfig.findIndex(function (col) {
443
+ return col.type === column;
444
+ });
445
+ if (currentIndex !== -1 && isNextColumn && currentIndex < columnsConfig.length - 1) {
446
+ nextColumn = columnsConfig[currentIndex + 1].type;
447
+ }
448
+ var newActiveTime = {
449
+ hours: newTimeValues.hh,
450
+ minutes: newTimeValues.mm,
451
+ seconds: newTimeValues.ss,
452
+ currentColumn: nextColumn || column
453
+ };
454
+ setActiveTime(newActiveTime);
455
+ onChange === null || onChange === void 0 || onChange({
456
+ value: newTimeString,
457
+ timeValues: {
458
+ hour: newTimeValues.hh || undefined,
459
+ minute: newTimeValues.mm || undefined,
460
+ second: newTimeValues.ss || undefined
461
+ }
462
+ });
463
+ };
464
+ var handleTimeItemKeyDown = function handleTimeItemKeyDown(event, column, value) {
465
+ var disabledValuesForColumn = getDisabledValuesForColumn(column);
466
+ var currentIndex = parseInt(value, 10);
467
+ var newIndex = null;
468
+ var newColumn = column;
469
+ var currentIndexInColumns = columnsConfig.findIndex(function (col) {
470
+ return col.type === column;
471
+ });
472
+ switch (event.key) {
473
+ case 'ArrowUp':
474
+ event.preventDefault();
475
+ newIndex = getNextAvailableValue(currentIndex, column === 'hours' ? Array.from({
476
+ length: 24
477
+ }, function (_, i) {
478
+ return i.toString().padStart(2, '0');
479
+ }) : Array.from({
480
+ length: 60
481
+ }, function (_, i) {
482
+ return i.toString().padStart(2, '0');
483
+ }), disabledValuesForColumn, 'up');
484
+ if (newIndex !== null) {
485
+ var newValue = newIndex.toString().padStart(2, '0');
486
+ handleTimeItemClick(newValue, column, false);
487
+ }
488
+ break;
489
+ case 'ArrowDown':
490
+ event.preventDefault();
491
+ newIndex = getNextAvailableValue(currentIndex, column === 'hours' ? Array.from({
492
+ length: 24
493
+ }, function (_, i) {
494
+ return i.toString().padStart(2, '0');
495
+ }) : Array.from({
496
+ length: 60
497
+ }, function (_, i) {
498
+ return i.toString().padStart(2, '0');
499
+ }), disabledValuesForColumn, 'down');
500
+ if (newIndex !== null) {
501
+ var _newValue = newIndex.toString().padStart(2, '0');
502
+ handleTimeItemClick(_newValue, column, false);
503
+ }
504
+ break;
505
+ case 'ArrowRight':
506
+ event.preventDefault();
507
+ if (column === 'hours') {
508
+ newColumn = 'minutes';
509
+ } else if (column === 'minutes' && actualFormat.includes('ss')) {
510
+ newColumn = 'seconds';
511
+ }
512
+ if (newColumn !== column) {
513
+ setActiveTime(function (prev) {
514
+ return _objectSpread2(_objectSpread2({}, prev), {}, {
515
+ currentColumn: newColumn
516
+ });
517
+ });
518
+ }
519
+ break;
520
+ case 'ArrowLeft':
521
+ event.preventDefault();
522
+ if (column === 'minutes') {
523
+ newColumn = 'hours';
524
+ } else if (column === 'seconds') {
525
+ newColumn = 'minutes';
526
+ }
527
+ if (newColumn !== column) {
528
+ setActiveTime(function (prev) {
529
+ return _objectSpread2(_objectSpread2({}, prev), {}, {
530
+ currentColumn: newColumn
531
+ });
532
+ });
533
+ }
534
+ break;
535
+ case 'Enter':
536
+ case ' ':
537
+ event.preventDefault();
538
+ handleTimeItemClick(value, column);
539
+ break;
540
+ case 'Home':
541
+ event.preventDefault();
542
+ newIndex = 0;
543
+ while (disabledValuesForColumn.includes(newIndex) && newIndex < (column === 'hours' ? 24 : 60)) {
544
+ newIndex++;
545
+ }
546
+ if (newIndex < (column === 'hours' ? 24 : 60)) {
547
+ handleTimeItemClick(newIndex.toString().padStart(2, '0'), column, false);
548
+ }
549
+ break;
550
+ case 'End':
551
+ event.preventDefault();
552
+ newIndex = column === 'hours' ? 23 : 59;
553
+ while (disabledValuesForColumn.includes(newIndex) && newIndex >= 0) {
554
+ newIndex--;
555
+ }
556
+ if (newIndex >= 0) {
557
+ handleTimeItemClick(newIndex.toString().padStart(2, '0'), column, false);
558
+ }
559
+ break;
560
+ case 'Tab':
561
+ if (currentIndexInColumns === columnsConfig.length - 1) {
562
+ break;
563
+ }
564
+ event.preventDefault();
565
+ if (event.shiftKey) {
566
+ if (column === 'minutes') {
567
+ newColumn = 'hours';
568
+ } else if (column === 'seconds') {
569
+ newColumn = 'minutes';
570
+ }
571
+ } else if (column === 'hours') {
572
+ newColumn = 'minutes';
573
+ } else if (column === 'minutes' && actualFormat.includes('ss')) {
574
+ newColumn = 'seconds';
575
+ }
576
+ if (newColumn !== column) {
577
+ setActiveTime(function (prev) {
578
+ return _objectSpread2(_objectSpread2({}, prev), {}, {
579
+ currentColumn: newColumn
580
+ });
581
+ });
582
+ }
583
+ break;
584
+ default:
585
+ if (/^[0-9]$/.test(event.key)) {
586
+ event.preventDefault();
587
+ var inputNumber = parseInt(event.key, 10);
588
+ if (column === 'hours') {
589
+ if (inputNumber <= 2) {
590
+ var tens = inputNumber;
591
+ var handleSecondInput = function handleSecondInput(e) {
592
+ if (/^[0-9]$/.test(e.key)) {
593
+ var units = parseInt(e.key, 10);
594
+ var total = tens * 10 + units;
595
+ if (total < 24 && !disabledValuesForColumn.includes(total)) {
596
+ handleTimeItemClick(total.toString().padStart(2, '0'), column);
597
+ }
598
+ document.removeEventListener('keydown', handleSecondInput);
599
+ }
600
+ };
601
+ document.addEventListener('keydown', handleSecondInput);
602
+ setTimeout(function () {
603
+ document.removeEventListener('keydown', handleSecondInput);
604
+ }, 1000);
605
+ } else if (inputNumber <= 9) {
606
+ if (!disabledValuesForColumn.includes(inputNumber)) {
607
+ handleTimeItemClick(inputNumber.toString().padStart(2, '0'), column);
608
+ }
609
+ }
610
+ } else if (inputNumber <= 5) {
611
+ var _tens = inputNumber;
612
+ var _handleSecondInput = function _handleSecondInput(e) {
613
+ if (/^[0-9]$/.test(e.key)) {
614
+ var units = parseInt(e.key, 10);
615
+ var total = _tens * 10 + units;
616
+ if (total < 60 && !disabledValuesForColumn.includes(total)) {
617
+ handleTimeItemClick(total.toString().padStart(2, '0'), column);
618
+ }
619
+ document.removeEventListener('keydown', _handleSecondInput);
620
+ }
621
+ };
622
+ document.addEventListener('keydown', _handleSecondInput);
623
+ setTimeout(function () {
624
+ document.removeEventListener('keydown', _handleSecondInput);
625
+ }, 1000);
626
+ } else if (inputNumber <= 9) {
627
+ if (!disabledValuesForColumn.includes(inputNumber)) {
628
+ handleTimeItemClick(inputNumber.toString().padStart(2, '0'), column);
629
+ }
630
+ }
631
+ }
632
+ }
633
+ };
634
+ return /*#__PURE__*/React.createElement(Root, _extends({
635
+ ref: ref,
636
+ view: view,
637
+ size: size,
638
+ disabled: disabled,
639
+ onFocus: handleContainerFocus
640
+ }, rest), /*#__PURE__*/React.createElement(StyledTimePicker, {
641
+ width: dropdownWidth,
642
+ tabIndex: -1
643
+ }, columnsConfig.map(function (columnConfig) {
644
+ var type = columnConfig.type,
645
+ values = columnConfig.values;
646
+ var columnRef;
647
+ var scrollbarState;
648
+ var setScrollbar;
649
+ var scrollbarRef;
650
+ var thumbRef;
651
+ var timeoutRef;
652
+ switch (type) {
653
+ case 'hours':
654
+ columnRef = hoursColumnRef;
655
+ scrollbarState = hoursScrollbar;
656
+ setScrollbar = setHoursScrollbar;
657
+ scrollbarRef = hoursScrollbarRef;
658
+ thumbRef = hoursThumbRef;
659
+ timeoutRef = hoursHideTimeoutRef;
660
+ break;
661
+ case 'minutes':
662
+ columnRef = minutesColumnRef;
663
+ scrollbarState = minutesScrollbar;
664
+ setScrollbar = setMinutesScrollbar;
665
+ scrollbarRef = minutesScrollbarRef;
666
+ thumbRef = minutesThumbRef;
667
+ timeoutRef = minutesHideTimeoutRef;
668
+ break;
669
+ case 'seconds':
670
+ columnRef = secondsColumnRef;
671
+ scrollbarState = secondsScrollbar;
672
+ setScrollbar = setSecondsScrollbar;
673
+ scrollbarRef = secondsScrollbarRef;
674
+ thumbRef = secondsThumbRef;
675
+ timeoutRef = secondsHideTimeoutRef;
676
+ break;
677
+ default:
678
+ return null;
679
+ }
680
+ return renderTimeColumn({
681
+ values: values,
682
+ disabledValues: getDisabledValuesForColumn(type),
683
+ dropdownHeight: dropdownHeight,
684
+ column: type,
685
+ activeTime: activeTime,
686
+ handleTimeItemClick: handleTimeItemClick,
687
+ handleTimeItemKeyDown: handleTimeItemKeyDown,
688
+ createScrollbarDragHandler: createScrollbarDragHandler,
689
+ setScrollbar: setScrollbar,
690
+ columnRef: columnRef,
691
+ scrollbarState: scrollbarState,
692
+ scrollbarRef: scrollbarRef,
693
+ thumbRef: thumbRef,
694
+ timeoutRef: timeoutRef,
695
+ timeItemRefs: timeItemRefs
696
+ });
697
+ })));
698
+ });
699
+ };
700
+ var timePickerGridConfig = {
701
+ name: 'TimePickerGrid',
702
+ tag: 'div',
703
+ layout: timePickerGridRoot,
704
+ base: base,
705
+ variations: {
706
+ view: {
707
+ css: base$1
708
+ },
709
+ size: {
710
+ css: base$2
711
+ },
712
+ disabled: {
713
+ css: base$3,
714
+ attrs: true
715
+ }
716
+ },
717
+ defaults: {
718
+ size: 'm',
719
+ view: 'default'
720
+ }
721
+ };
722
+
723
+ export { timePickerGridConfig, timePickerGridRoot };
724
+ //# sourceMappingURL=TimePickerGrid.js.map