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