@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,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
+ };