@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 @@
1
+ {"version":3,"file":"TimePickerGrid.js","sources":["../../../src/components/TimePickerGrid/TimePickerGrid.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useState, useEffect, useCallback, useMemo, KeyboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\n\nimport { animateScrollTo, getColumnsFromFormat, parseTimeString, buildTimeString, isTimeDisabled } from './utils';\nimport { TimePickerGridChangeEvent, TimePickerGridProps } from './TimePickerGrid.types';\nimport { base, StyledTimePicker } from './TimePickerGrid.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { renderTimeColumn } from './ui/TimeColumn/TimeColumn';\nimport { TimeColumnType, TimeItemKeyDownHandler } from './ui/TimeColumn/TimeColumn.types';\n\ninterface ActiveTime {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n currentColumn: 'hours' | 'minutes' | 'seconds' | null;\n}\n\ninterface ScrollbarState {\n isVisible: boolean;\n thumbHeight: number;\n thumbPosition: number;\n isDragging: boolean;\n}\n\nexport const timePickerGridRoot = (\n Root: RootProps<HTMLDivElement, Omit<TimePickerGridProps, 'defaultValue' | 'onChange'>>,\n) =>\n forwardRef<HTMLDivElement, TimePickerGridProps>(\n (\n {\n value: outerValue,\n view,\n size,\n disabled = false,\n dropdownWidth,\n dropdownHeight,\n format = 'HH:mm',\n min,\n max,\n columnsQuantity,\n disabledValues,\n onChange,\n ...rest\n },\n ref,\n ) => {\n const actualFormat = format || (columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm');\n const columnsConfig = useMemo(() => getColumnsFromFormat(actualFormat), [actualFormat]);\n\n const hoursColumnRef = useRef<HTMLDivElement>(null);\n const minutesColumnRef = useRef<HTMLDivElement>(null);\n const secondsColumnRef = useRef<HTMLDivElement>(null);\n const timeItemRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const hoursScrollbarRef = useRef<HTMLDivElement>(null);\n const minutesScrollbarRef = useRef<HTMLDivElement>(null);\n const secondsScrollbarRef = useRef<HTMLDivElement>(null);\n const hoursThumbRef = useRef<HTMLDivElement>(null);\n const minutesThumbRef = useRef<HTMLDivElement>(null);\n const secondsThumbRef = useRef<HTMLDivElement>(null);\n\n const hoursHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const minutesHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const secondsHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const [innerTime, setInnerTime] = useState(outerValue || '');\n const [activeTime, setActiveTime] = useState<ActiveTime>({\n hours: null,\n minutes: null,\n seconds: null,\n currentColumn: null,\n });\n const [itemHeight, setItemHeight] = useState(0);\n const [gap, setGap] = useState(0);\n\n const [hoursScrollbar, setHoursScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [minutesScrollbar, setMinutesScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [secondsScrollbar, setSecondsScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n\n const viewValue = outerValue ?? innerTime;\n\n useEffect(() => {\n if (activeTime.currentColumn && activeTime[activeTime.currentColumn] !== null) {\n const column = activeTime.currentColumn;\n const value = activeTime[activeTime.currentColumn]?.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${value}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n }, [activeTime]);\n\n const getDisabledValuesForColumn = useCallback(\n (columnType: 'hours' | 'minutes' | 'seconds') => {\n let disabledFromProps;\n if (columnType === 'hours') {\n disabledFromProps = disabledValues?.hour || [];\n } else if (columnType === 'minutes') {\n disabledFromProps = disabledValues?.minute || [];\n } else {\n disabledFromProps = disabledValues?.second || [];\n }\n\n const disabledFromMinMax: number[] = [];\n\n if (min || max) {\n const timeValues = parseTimeString(viewValue || '00:00:00', actualFormat);\n\n for (let i = 0; i < (columnType === 'hours' ? 24 : 60); i++) {\n const testValues = { ...timeValues };\n if (columnType === 'hours') {\n testValues.hh = i;\n } else if (columnType === 'minutes') {\n testValues.mm = i;\n } else {\n testValues.ss = i;\n }\n\n const completeTimeValues = getCompleteTimeValues(testValues, actualFormat);\n if (isTimeDisabled(completeTimeValues, min, max, format)) {\n disabledFromMinMax.push(i);\n }\n }\n }\n\n const normalizedDisabledFromProps = disabledFromProps.map((val) =>\n typeof val === 'string' ? parseInt(val, 10) : val,\n );\n\n return [...new Set([...normalizedDisabledFromProps, ...disabledFromMinMax])];\n },\n [disabledValues, min, max, viewValue, actualFormat],\n );\n\n const getCompleteTimeValues = useCallback((timeValues: any, format: string) => {\n const completeValues = { hh: 0, mm: 0, ss: 0 };\n\n if (format.includes('HH')) {\n completeValues.hh = timeValues.hh !== null ? timeValues.hh : 0;\n }\n if (format.includes('mm')) {\n completeValues.mm = timeValues.mm !== null ? timeValues.mm : 0;\n }\n if (format.includes('ss')) {\n completeValues.ss = timeValues.ss !== null ? timeValues.ss : 0;\n }\n\n return completeValues;\n }, []);\n\n const getNextAvailableValue = useCallback(\n (\n currentIndex: number,\n values: string[],\n disabledValuesForColumn: (string | number)[],\n direction: 'up' | 'down',\n ) => {\n let newIndex = currentIndex;\n let iterations = 0;\n const maxIterations = values.length;\n\n do {\n newIndex =\n direction === 'up'\n ? (newIndex - 1 + values.length) % values.length\n : (newIndex + 1) % values.length;\n iterations++;\n } while (\n iterations < maxIterations &&\n disabledValuesForColumn.includes(parseInt(values[newIndex], 10)) &&\n newIndex !== currentIndex\n );\n\n return iterations < maxIterations &&\n !disabledValuesForColumn.includes(parseInt(values[newIndex], 10))\n ? newIndex\n : currentIndex;\n },\n [],\n );\n\n const minScrollbarTrackHeight = 20;\n\n const calculateScrollbar = useCallback((columnRef: React.RefObject<HTMLDivElement>) => {\n if (!columnRef.current) return { thumbHeight: 0, thumbPosition: 0 };\n\n const { scrollTop, scrollHeight, clientHeight } = columnRef.current;\n const trackHeight = clientHeight;\n const thumbHeight = Math.max((trackHeight / scrollHeight) * trackHeight, minScrollbarTrackHeight);\n const maxScroll = scrollHeight - clientHeight;\n const thumbPosition = maxScroll > 0 ? (scrollTop / maxScroll) * (trackHeight - thumbHeight) : 0;\n\n return { thumbHeight, thumbPosition };\n }, []);\n\n const showScrollbarWithDelay = useCallback(\n (\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n columnRef: React.RefObject<HTMLDivElement>,\n ) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n updateScrollbar(columnRef, setScrollbar, true);\n\n timeoutRef.current = (setTimeout(() => {\n setScrollbar((prev) => ({ ...prev, isVisible: false }));\n timeoutRef.current = null;\n }, 2000) as unknown) as NodeJS.Timeout;\n },\n [],\n );\n\n const updateScrollbar = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n show = false,\n ) => {\n if (!columnRef.current) return;\n\n const { thumbHeight, thumbPosition } = calculateScrollbar(columnRef);\n setScrollbar((prev) => ({\n ...prev,\n thumbHeight,\n thumbPosition,\n isVisible: show || prev.isVisible,\n }));\n },\n [calculateScrollbar],\n );\n\n const handleColumnScroll = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => {\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n },\n [showScrollbarWithDelay],\n );\n\n const createScrollbarDragHandler = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const thumb = e.currentTarget as HTMLDivElement;\n const track = thumb.parentElement as HTMLDivElement;\n if (!columnRef.current || !track) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n const startY = e.clientY;\n const startThumbPosition = parseFloat(thumb.style.top || '0');\n const trackRect = track.getBoundingClientRect();\n const trackHeight = trackRect.height;\n const thumbHeight = thumb.offsetHeight;\n\n const { scrollHeight, clientHeight } = columnRef.current;\n const maxScroll = scrollHeight - clientHeight;\n\n const handleMouseMove = (moveEvent: globalThis.MouseEvent) => {\n const deltaY = moveEvent.clientY - startY;\n const newThumbPosition = Math.max(\n 0,\n Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY),\n );\n\n const scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);\n const newScrollTop = scrollPercentage * maxScroll;\n\n if (columnRef.current) {\n columnRef.current.scrollTop = newScrollTop;\n }\n\n setScrollbar((prev) => ({\n ...prev,\n thumbPosition: newThumbPosition,\n isDragging: true,\n isVisible: true,\n }));\n };\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n\n setScrollbar((prev) => ({\n ...prev,\n isDragging: false,\n }));\n\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n },\n [showScrollbarWithDelay],\n );\n\n useEffect(() => {\n if (viewValue && columnsConfig.length > 0) {\n const timeValues = parseTimeString(viewValue, actualFormat);\n setActiveTime((prev) => ({\n ...prev,\n hours: timeValues.hh,\n minutes: timeValues.mm,\n seconds: timeValues.ss,\n }));\n }\n }, [viewValue, columnsConfig, actualFormat]);\n\n const handleContainerFocus = useCallback(() => {\n if (activeTime.currentColumn === null && columnsConfig.length > 0) {\n const firstColumn = columnsConfig[0].type;\n setActiveTime((prev) => ({\n ...prev,\n currentColumn: firstColumn,\n }));\n }\n }, [activeTime.currentColumn, columnsConfig]);\n\n useEffect(() => {\n return () => {\n [hoursHideTimeoutRef, minutesHideTimeoutRef, secondsHideTimeoutRef].forEach((timeoutRef) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n });\n };\n }, []);\n\n useEffect(() => {\n if (Object.keys(timeItemRefs.current).length > 0) {\n const firstItem = Object.values(timeItemRefs.current)[0];\n\n if (firstItem) {\n setItemHeight(firstItem.offsetHeight);\n }\n }\n if (hoursColumnRef.current) {\n const computedStyle = getComputedStyle(hoursColumnRef.current);\n const gapValue = parseFloat(computedStyle.gap || '0');\n setGap(gapValue);\n }\n }, [outerValue]);\n\n useEffect(() => {\n setTimeout(() => {\n updateScrollbar(hoursColumnRef, setHoursScrollbar);\n updateScrollbar(minutesColumnRef, setMinutesScrollbar);\n if (columnsQuantity === 3) {\n updateScrollbar(secondsColumnRef, setSecondsScrollbar);\n }\n }, 100);\n }, [columnsQuantity, updateScrollbar]);\n\n useEffect(() => {\n if (itemHeight === 0) return;\n\n const scrollToActiveItem = (columnRef: React.RefObject<HTMLDivElement>, index: number | null) => {\n if (columnRef.current && index !== null) {\n const scrollPosition = index * (itemHeight + gap);\n animateScrollTo(columnRef.current, scrollPosition);\n setTimeout(() => {\n updateScrollbar(columnRef, setHoursScrollbar);\n }, 300);\n }\n };\n\n scrollToActiveItem(hoursColumnRef, activeTime.hours);\n scrollToActiveItem(minutesColumnRef, activeTime.minutes);\n scrollToActiveItem(secondsColumnRef, activeTime.seconds);\n }, [activeTime, itemHeight, gap, updateScrollbar]);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursScroll = () =>\n handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);\n const handleMinutesScroll = () =>\n handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);\n const handleSecondsScroll = () =>\n handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('scroll', handleSecondsScroll);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('scroll', handleSecondsScroll);\n }\n };\n }, []);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursMouseEnter = () =>\n showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);\n const handleMinutesMouseEnter = () =>\n showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);\n const handleSecondsMouseEnter = () =>\n showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);\n }\n };\n }, []);\n\n const handleTimeItemClick = (\n value: string,\n column: 'hours' | 'minutes' | 'seconds',\n isNextColumn = true,\n ) => {\n const currentTimeValues = parseTimeString(innerTime, actualFormat);\n const newTimeValues = { ...currentTimeValues };\n\n switch (column) {\n case 'hours':\n newTimeValues.hh = parseInt(value, 10);\n break;\n case 'minutes':\n newTimeValues.mm = parseInt(value, 10);\n break;\n case 'seconds':\n newTimeValues.ss = parseInt(value, 10);\n break;\n default:\n }\n\n const getFirstAvailableValue = (columnType: 'hours' | 'minutes' | 'seconds'): number => {\n const disabledValuesForColumn = getDisabledValuesForColumn(columnType);\n const maxValue = columnType === 'hours' ? 23 : 59;\n\n for (let i = 0; i <= maxValue; i++) {\n if (!disabledValuesForColumn.includes(i)) {\n return i;\n }\n }\n return 0;\n };\n\n if (newTimeValues.hh === null && actualFormat.includes('HH')) {\n newTimeValues.hh = getFirstAvailableValue('hours');\n }\n if (newTimeValues.mm === null && actualFormat.includes('mm')) {\n newTimeValues.mm = getFirstAvailableValue('minutes');\n }\n if (newTimeValues.ss === null && actualFormat.includes('ss')) {\n newTimeValues.ss = getFirstAvailableValue('seconds');\n }\n\n const completeTimeValues = getCompleteTimeValues(newTimeValues, actualFormat);\n if (isTimeDisabled(completeTimeValues, min, max)) {\n return;\n }\n\n const newTimeString = buildTimeString(newTimeValues, actualFormat);\n setInnerTime(newTimeString);\n\n let nextColumn: 'hours' | 'minutes' | 'seconds' | null = null;\n const currentIndex = columnsConfig.findIndex((col) => col.type === column);\n if (currentIndex !== -1 && isNextColumn && currentIndex < columnsConfig.length - 1) {\n nextColumn = columnsConfig[currentIndex + 1].type;\n }\n\n const newActiveTime: ActiveTime = {\n hours: newTimeValues.hh,\n minutes: newTimeValues.mm,\n seconds: newTimeValues.ss,\n currentColumn: nextColumn || column,\n };\n setActiveTime(newActiveTime);\n\n onChange?.({\n value: newTimeString,\n timeValues: {\n hour: newTimeValues.hh || undefined,\n minute: newTimeValues.mm || undefined,\n second: newTimeValues.ss || undefined,\n },\n } as TimePickerGridChangeEvent);\n };\n\n const handleTimeItemKeyDown: TimeItemKeyDownHandler = (\n event: KeyboardEvent<HTMLDivElement>,\n column: TimeColumnType,\n value: string,\n ) => {\n const disabledValuesForColumn = getDisabledValuesForColumn(column);\n const currentIndex = parseInt(value, 10);\n let newIndex: number | null = null;\n let newColumn = column;\n const currentIndexInColumns = columnsConfig.findIndex((col) => col.type === column);\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n newIndex = getNextAvailableValue(\n currentIndex,\n column === 'hours'\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'))\n : Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0')),\n disabledValuesForColumn,\n 'up',\n );\n if (newIndex !== null) {\n const newValue = newIndex.toString().padStart(2, '0');\n handleTimeItemClick(newValue, column, false);\n }\n break;\n case 'ArrowDown':\n event.preventDefault();\n newIndex = getNextAvailableValue(\n currentIndex,\n column === 'hours'\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'))\n : Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0')),\n disabledValuesForColumn,\n 'down',\n );\n if (newIndex !== null) {\n const newValue = newIndex.toString().padStart(2, '0');\n handleTimeItemClick(newValue, column, false);\n }\n break;\n case 'ArrowRight':\n event.preventDefault();\n if (column === 'hours') {\n newColumn = 'minutes';\n } else if (column === 'minutes' && actualFormat.includes('ss')) {\n newColumn = 'seconds';\n }\n if (newColumn !== column) {\n setActiveTime((prev) => ({\n ...prev,\n currentColumn: newColumn,\n }));\n }\n break;\n case 'ArrowLeft':\n event.preventDefault();\n if (column === 'minutes') {\n newColumn = 'hours';\n } else if (column === 'seconds') {\n newColumn = 'minutes';\n }\n if (newColumn !== column) {\n setActiveTime((prev) => ({\n ...prev,\n currentColumn: newColumn,\n }));\n }\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n handleTimeItemClick(value, column);\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n while (\n disabledValuesForColumn.includes(newIndex) &&\n newIndex < (column === 'hours' ? 24 : 60)\n ) {\n newIndex++;\n }\n if (newIndex < (column === 'hours' ? 24 : 60)) {\n handleTimeItemClick(newIndex.toString().padStart(2, '0'), column, false);\n }\n break;\n case 'End':\n event.preventDefault();\n newIndex = column === 'hours' ? 23 : 59;\n while (disabledValuesForColumn.includes(newIndex) && newIndex >= 0) {\n newIndex--;\n }\n if (newIndex >= 0) {\n handleTimeItemClick(newIndex.toString().padStart(2, '0'), column, false);\n }\n break;\n case 'Tab':\n if (currentIndexInColumns === columnsConfig.length - 1) {\n break;\n }\n event.preventDefault();\n if (event.shiftKey) {\n if (column === 'minutes') {\n newColumn = 'hours';\n } else if (column === 'seconds') {\n newColumn = 'minutes';\n }\n } else if (column === 'hours') {\n newColumn = 'minutes';\n } else if (column === 'minutes' && actualFormat.includes('ss')) {\n newColumn = 'seconds';\n }\n if (newColumn !== column) {\n setActiveTime((prev) => ({\n ...prev,\n currentColumn: newColumn,\n }));\n }\n break;\n default:\n if (/^[0-9]$/.test(event.key)) {\n event.preventDefault();\n const inputNumber = parseInt(event.key, 10);\n\n if (column === 'hours') {\n if (inputNumber <= 2) {\n const tens = inputNumber;\n const handleSecondInput = (e: globalThis.KeyboardEvent) => {\n if (/^[0-9]$/.test(e.key)) {\n const units = parseInt(e.key, 10);\n const total = tens * 10 + units;\n if (total < 24 && !disabledValuesForColumn.includes(total)) {\n handleTimeItemClick(total.toString().padStart(2, '0'), column);\n }\n document.removeEventListener('keydown', handleSecondInput);\n }\n };\n document.addEventListener('keydown', handleSecondInput);\n setTimeout(() => {\n document.removeEventListener('keydown', handleSecondInput);\n }, 1000);\n } else if (inputNumber <= 9) {\n if (!disabledValuesForColumn.includes(inputNumber)) {\n handleTimeItemClick(inputNumber.toString().padStart(2, '0'), column);\n }\n }\n } else if (inputNumber <= 5) {\n const tens = inputNumber;\n const handleSecondInput = (e: globalThis.KeyboardEvent) => {\n if (/^[0-9]$/.test(e.key)) {\n const units = parseInt(e.key, 10);\n const total = tens * 10 + units;\n if (total < 60 && !disabledValuesForColumn.includes(total)) {\n handleTimeItemClick(total.toString().padStart(2, '0'), column);\n }\n document.removeEventListener('keydown', handleSecondInput);\n }\n };\n document.addEventListener('keydown', handleSecondInput);\n setTimeout(() => {\n document.removeEventListener('keydown', handleSecondInput);\n }, 1000);\n } else if (inputNumber <= 9) {\n if (!disabledValuesForColumn.includes(inputNumber)) {\n handleTimeItemClick(inputNumber.toString().padStart(2, '0'), column);\n }\n }\n }\n }\n };\n\n return (\n <Root ref={ref} view={view} size={size} disabled={disabled} onFocus={handleContainerFocus} {...rest}>\n <StyledTimePicker width={dropdownWidth} tabIndex={-1}>\n {columnsConfig.map((columnConfig) => {\n const { type, values } = columnConfig;\n\n let columnRef;\n let scrollbarState;\n let setScrollbar;\n let scrollbarRef;\n let thumbRef;\n let timeoutRef;\n\n switch (type) {\n case 'hours':\n columnRef = hoursColumnRef;\n scrollbarState = hoursScrollbar;\n setScrollbar = setHoursScrollbar;\n scrollbarRef = hoursScrollbarRef;\n thumbRef = hoursThumbRef;\n timeoutRef = hoursHideTimeoutRef;\n break;\n case 'minutes':\n columnRef = minutesColumnRef;\n scrollbarState = minutesScrollbar;\n setScrollbar = setMinutesScrollbar;\n scrollbarRef = minutesScrollbarRef;\n thumbRef = minutesThumbRef;\n timeoutRef = minutesHideTimeoutRef;\n break;\n case 'seconds':\n columnRef = secondsColumnRef;\n scrollbarState = secondsScrollbar;\n setScrollbar = setSecondsScrollbar;\n scrollbarRef = secondsScrollbarRef;\n thumbRef = secondsThumbRef;\n timeoutRef = secondsHideTimeoutRef;\n break;\n default:\n return null;\n }\n\n return renderTimeColumn({\n values,\n disabledValues: getDisabledValuesForColumn(type),\n dropdownHeight,\n column: type,\n activeTime,\n handleTimeItemClick,\n handleTimeItemKeyDown,\n createScrollbarDragHandler,\n setScrollbar,\n columnRef,\n scrollbarState,\n scrollbarRef,\n thumbRef,\n timeoutRef,\n timeItemRefs,\n });\n })}\n </StyledTimePicker>\n </Root>\n );\n },\n );\n\nexport const timePickerGridConfig = {\n name: 'TimePickerGrid',\n tag: 'div',\n layout: timePickerGridRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["timePickerGridRoot","Root","forwardRef","_ref","ref","outerValue","value","view","size","_ref$disabled","disabled","dropdownWidth","dropdownHeight","_ref$format","format","min","max","columnsQuantity","disabledValues","onChange","rest","_objectWithoutProperties","_excluded","actualFormat","columnsConfig","useMemo","getColumnsFromFormat","hoursColumnRef","useRef","minutesColumnRef","secondsColumnRef","timeItemRefs","hoursScrollbarRef","minutesScrollbarRef","secondsScrollbarRef","hoursThumbRef","minutesThumbRef","secondsThumbRef","hoursHideTimeoutRef","minutesHideTimeoutRef","secondsHideTimeoutRef","_useState","useState","_useState2","_slicedToArray","innerTime","setInnerTime","_useState3","hours","minutes","seconds","currentColumn","_useState4","activeTime","setActiveTime","_useState5","_useState6","itemHeight","setItemHeight","_useState7","_useState8","gap","setGap","_useState9","isVisible","thumbHeight","thumbPosition","isDragging","_useState10","hoursScrollbar","setHoursScrollbar","_useState11","_useState12","minutesScrollbar","setMinutesScrollbar","_useState13","_useState14","secondsScrollbar","setSecondsScrollbar","viewValue","useEffect","_activeTime$activeTim","column","toString","padStart","element","current","concat","setTimeout","focus","getDisabledValuesForColumn","useCallback","columnType","disabledFromProps","hour","minute","second","disabledFromMinMax","timeValues","parseTimeString","i","testValues","_objectSpread","hh","mm","ss","completeTimeValues","getCompleteTimeValues","isTimeDisabled","push","normalizedDisabledFromProps","map","val","parseInt","_toConsumableArray","Set","completeValues","includes","getNextAvailableValue","currentIndex","values","disabledValuesForColumn","direction","newIndex","iterations","maxIterations","length","minScrollbarTrackHeight","calculateScrollbar","columnRef","_columnRef$current","scrollTop","scrollHeight","clientHeight","trackHeight","Math","maxScroll","showScrollbarWithDelay","setScrollbar","timeoutRef","clearTimeout","updateScrollbar","prev","show","arguments","undefined","_calculateScrollbar","handleColumnScroll","createScrollbarDragHandler","e","preventDefault","thumb","currentTarget","track","parentElement","startY","clientY","startThumbPosition","parseFloat","style","top","trackRect","getBoundingClientRect","height","offsetHeight","_columnRef$current2","handleMouseMove","moveEvent","deltaY","newThumbPosition","scrollPercentage","newScrollTop","handleMouseUp","document","removeEventListener","addEventListener","handleContainerFocus","firstColumn","type","forEach","Object","keys","firstItem","computedStyle","getComputedStyle","gapValue","scrollToActiveItem","index","scrollPosition","animateScrollTo","hoursColumn","minutesColumn","secondsColumn","handleHoursScroll","handleMinutesScroll","handleSecondsScroll","handleHoursMouseEnter","handleMinutesMouseEnter","handleSecondsMouseEnter","handleTimeItemClick","isNextColumn","currentTimeValues","newTimeValues","getFirstAvailableValue","maxValue","newTimeString","buildTimeString","nextColumn","findIndex","col","newActiveTime","handleTimeItemKeyDown","event","newColumn","currentIndexInColumns","key","Array","from","_","newValue","shiftKey","test","inputNumber","tens","handleSecondInput","units","total","React","createElement","_extends","onFocus","StyledTimePicker","width","tabIndex","columnConfig","scrollbarState","scrollbarRef","thumbRef","renderTimeColumn","timePickerGridConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","defaults"],"mappings":";;;;;;;;;;IA0BaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAC3BC,IAAuF,EAAA;AAAA,EAAA,oBAEvFC,UAAU,CACN,UAAAC,IAAA,EAgBIC,GAAG,EACF;AAAA,IAAA,IAfUC,UAAU,GAAAF,IAAA,CAAjBG,KAAK;MACLC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;MACJC,IAAI,GAAAL,IAAA,CAAJK,IAAI;MAAAC,aAAA,GAAAN,IAAA,CACJO,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAChBE,aAAa,GAAAR,IAAA,CAAbQ,aAAa;MACbC,cAAc,GAAAT,IAAA,CAAdS,cAAc;MAAAC,WAAA,GAAAV,IAAA,CACdW,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,WAAA;MAChBE,GAAG,GAAAZ,IAAA,CAAHY,GAAG;MACHC,GAAG,GAAAb,IAAA,CAAHa,GAAG;MACHC,eAAe,GAAAd,IAAA,CAAfc,eAAe;MACfC,cAAc,GAAAf,IAAA,CAAde,cAAc;MACdC,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;AACLC,MAAAA,IAAI,GAAAC,wBAAA,CAAAlB,IAAA,EAAAmB,SAAA,CAAA,CAAA;IAIX,IAAMC,YAAY,GAAGT,MAAM,KAAKG,eAAe,KAAK,CAAC,GAAG,UAAU,GAAG,OAAO,CAAC,CAAA;IAC7E,IAAMO,aAAa,GAAGC,OAAO,CAAC,YAAA;MAAA,OAAMC,oBAAoB,CAACH,YAAY,CAAC,CAAA;KAAE,EAAA,CAACA,YAAY,CAAC,CAAC,CAAA;AAEvF,IAAA,IAAMI,cAAc,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;AACnD,IAAA,IAAMC,gBAAgB,GAAGD,MAAM,CAAiB,IAAI,CAAC,CAAA;AACrD,IAAA,IAAME,gBAAgB,GAAGF,MAAM,CAAiB,IAAI,CAAC,CAAA;AACrD,IAAA,IAAMG,YAAY,GAAGH,MAAM,CAAwC,EAAE,CAAC,CAAA;AAEtE,IAAA,IAAMI,iBAAiB,GAAGJ,MAAM,CAAiB,IAAI,CAAC,CAAA;AACtD,IAAA,IAAMK,mBAAmB,GAAGL,MAAM,CAAiB,IAAI,CAAC,CAAA;AACxD,IAAA,IAAMM,mBAAmB,GAAGN,MAAM,CAAiB,IAAI,CAAC,CAAA;AACxD,IAAA,IAAMO,aAAa,GAAGP,MAAM,CAAiB,IAAI,CAAC,CAAA;AAClD,IAAA,IAAMQ,eAAe,GAAGR,MAAM,CAAiB,IAAI,CAAC,CAAA;AACpD,IAAA,IAAMS,eAAe,GAAGT,MAAM,CAAiB,IAAI,CAAC,CAAA;AAEpD,IAAA,IAAMU,mBAAmB,GAAGV,MAAM,CAAwB,IAAI,CAAC,CAAA;AAC/D,IAAA,IAAMW,qBAAqB,GAAGX,MAAM,CAAwB,IAAI,CAAC,CAAA;AACjE,IAAA,IAAMY,qBAAqB,GAAGZ,MAAM,CAAwB,IAAI,CAAC,CAAA;AAEjE,IAAA,IAAAa,SAAA,GAAkCC,QAAQ,CAACrC,UAAU,IAAI,EAAE,CAAC;MAAAsC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAArDI,MAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;IAC9B,IAAAI,UAAA,GAAoCL,QAAQ,CAAa;AACrDM,QAAAA,KAAK,EAAE,IAAI;AACXC,QAAAA,OAAO,EAAE,IAAI;AACbC,QAAAA,OAAO,EAAE,IAAI;AACbC,QAAAA,aAAa,EAAE,IAAA;AACnB,OAAC,CAAC;MAAAC,UAAA,GAAAR,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AALKM,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAMhC,IAAA,IAAAG,UAAA,GAAoCb,QAAQ,CAAC,CAAC,CAAC;MAAAc,UAAA,GAAAZ,cAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AAAxCE,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,IAAA,IAAAG,UAAA,GAAsBjB,QAAQ,CAAC,CAAC,CAAC;MAAAkB,UAAA,GAAAhB,cAAA,CAAAe,UAAA,EAAA,CAAA,CAAA;AAA1BE,MAAAA,GAAG,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,MAAM,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAElB,IAAAG,UAAA,GAA4CrB,QAAQ,CAAiB;AACjEsB,QAAAA,SAAS,EAAE,KAAK;AAChBC,QAAAA,WAAW,EAAE,CAAC;AACdC,QAAAA,aAAa,EAAE,CAAC;AAChBC,QAAAA,UAAU,EAAE,KAAA;AAChB,OAAC,CAAC;MAAAC,WAAA,GAAAxB,cAAA,CAAAmB,UAAA,EAAA,CAAA,CAAA;AALKM,MAAAA,cAAc,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,iBAAiB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAMxC,IAAAG,WAAA,GAAgD7B,QAAQ,CAAiB;AACrEsB,QAAAA,SAAS,EAAE,KAAK;AAChBC,QAAAA,WAAW,EAAE,CAAC;AACdC,QAAAA,aAAa,EAAE,CAAC;AAChBC,QAAAA,UAAU,EAAE,KAAA;AAChB,OAAC,CAAC;MAAAK,WAAA,GAAA5B,cAAA,CAAA2B,WAAA,EAAA,CAAA,CAAA;AALKE,MAAAA,gBAAgB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAM5C,IAAAG,WAAA,GAAgDjC,QAAQ,CAAiB;AACrEsB,QAAAA,SAAS,EAAE,KAAK;AAChBC,QAAAA,WAAW,EAAE,CAAC;AACdC,QAAAA,aAAa,EAAE,CAAC;AAChBC,QAAAA,UAAU,EAAE,KAAA;AAChB,OAAC,CAAC;MAAAS,WAAA,GAAAhC,cAAA,CAAA+B,WAAA,EAAA,CAAA,CAAA;AALKE,MAAAA,gBAAgB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAO5C,IAAMG,SAAS,GAAG1E,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAIwC,SAAS,CAAA;AAEzCmC,IAAAA,SAAS,CAAC,YAAM;AACZ,MAAA,IAAI3B,UAAU,CAACF,aAAa,IAAIE,UAAU,CAACA,UAAU,CAACF,aAAa,CAAC,KAAK,IAAI,EAAE;AAAA,QAAA,IAAA8B,qBAAA,CAAA;AAC3E,QAAA,IAAMC,MAAM,GAAG7B,UAAU,CAACF,aAAa,CAAA;QACvC,IAAM7C,KAAK,GAAA2E,CAAAA,qBAAA,GAAG5B,UAAU,CAACA,UAAU,CAACF,aAAa,CAAC,MAAA8B,IAAAA,IAAAA,qBAAA,uBAApCA,qBAAA,CAAsCE,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC/E,QAAA,IAAMC,OAAO,GAAGtD,YAAY,CAACuD,OAAO,CAAA,EAAA,CAAAC,MAAA,CAAIL,MAAM,EAAA,GAAA,CAAA,CAAAK,MAAA,CAAIjF,KAAK,CAAG,CAAA,CAAA;AAE1DkF,QAAAA,UAAU,CAAC,YAAM;AACb,UAAA,IAAIH,OAAO,EAAE;YACTA,OAAO,CAACI,KAAK,EAAE,CAAA;AACnB,WAAA;SACH,EAAE,CAAC,CAAC,CAAA;AACT,OAAA;AACJ,KAAC,EAAE,CAACpC,UAAU,CAAC,CAAC,CAAA;AAEhB,IAAA,IAAMqC,0BAA0B,GAAGC,WAAW,CAC1C,UAACC,UAA2C,EAAK;AAC7C,MAAA,IAAIC,iBAAiB,CAAA;MACrB,IAAID,UAAU,KAAK,OAAO,EAAE;QACxBC,iBAAiB,GAAG,CAAA3E,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAE4E,IAAI,KAAI,EAAE,CAAA;AAClD,OAAC,MAAM,IAAIF,UAAU,KAAK,SAAS,EAAE;QACjCC,iBAAiB,GAAG,CAAA3E,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAE6E,MAAM,KAAI,EAAE,CAAA;AACpD,OAAC,MAAM;QACHF,iBAAiB,GAAG,CAAA3E,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAE8E,MAAM,KAAI,EAAE,CAAA;AACpD,OAAA;MAEA,IAAMC,kBAA4B,GAAG,EAAE,CAAA;MAEvC,IAAIlF,GAAG,IAAIC,GAAG,EAAE;QACZ,IAAMkF,UAAU,GAAGC,eAAe,CAACpB,SAAS,IAAI,UAAU,EAAExD,YAAY,CAAC,CAAA;AAEzE,QAAA,KAAK,IAAI6E,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIR,UAAU,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,EAAEQ,CAAC,EAAE,EAAE;AACzD,UAAA,IAAMC,UAAU,GAAAC,cAAA,CAAA,EAAA,EAAQJ,UAAU,CAAE,CAAA;UACpC,IAAIN,UAAU,KAAK,OAAO,EAAE;YACxBS,UAAU,CAACE,EAAE,GAAGH,CAAC,CAAA;AACrB,WAAC,MAAM,IAAIR,UAAU,KAAK,SAAS,EAAE;YACjCS,UAAU,CAACG,EAAE,GAAGJ,CAAC,CAAA;AACrB,WAAC,MAAM;YACHC,UAAU,CAACI,EAAE,GAAGL,CAAC,CAAA;AACrB,WAAA;AAEA,UAAA,IAAMM,kBAAkB,GAAGC,qBAAqB,CAACN,UAAU,EAAE9E,YAAY,CAAC,CAAA;UAC1E,IAAIqF,cAAc,CAACF,kBAAkB,EAAE3F,GAAG,EAAEC,GAAG,EAAEF,MAAM,CAAC,EAAE;AACtDmF,YAAAA,kBAAkB,CAACY,IAAI,CAACT,CAAC,CAAC,CAAA;AAC9B,WAAA;AACJ,SAAA;AACJ,OAAA;AAEA,MAAA,IAAMU,2BAA2B,GAAGjB,iBAAiB,CAACkB,GAAG,CAAC,UAACC,GAAG,EAAA;AAAA,QAAA,OAC1D,OAAOA,GAAG,KAAK,QAAQ,GAAGC,QAAQ,CAACD,GAAG,EAAE,EAAE,CAAC,GAAGA,GAAG,CAAA;AAAA,OACrD,CAAC,CAAA;AAED,MAAA,OAAAE,kBAAA,CAAW,IAAIC,GAAG,CAAA5B,EAAAA,CAAAA,MAAA,CAAA2B,kBAAA,CAAKJ,2BAA2B,CAAKb,EAAAA,kBAAkB,CAAC,CAAC,CAAA,CAAA;AAC/E,KAAC,EACD,CAAC/E,cAAc,EAAEH,GAAG,EAAEC,GAAG,EAAE+D,SAAS,EAAExD,YAAY,CACtD,CAAC,CAAA;IAED,IAAMoF,qBAAqB,GAAGhB,WAAW,CAAC,UAACO,UAAe,EAAEpF,MAAc,EAAK;AAC3E,MAAA,IAAMsG,cAAc,GAAG;AAAEb,QAAAA,EAAE,EAAE,CAAC;AAAEC,QAAAA,EAAE,EAAE,CAAC;AAAEC,QAAAA,EAAE,EAAE,CAAA;OAAG,CAAA;AAE9C,MAAA,IAAI3F,MAAM,CAACuG,QAAQ,CAAC,IAAI,CAAC,EAAE;AACvBD,QAAAA,cAAc,CAACb,EAAE,GAAGL,UAAU,CAACK,EAAE,KAAK,IAAI,GAAGL,UAAU,CAACK,EAAE,GAAG,CAAC,CAAA;AAClE,OAAA;AACA,MAAA,IAAIzF,MAAM,CAACuG,QAAQ,CAAC,IAAI,CAAC,EAAE;AACvBD,QAAAA,cAAc,CAACZ,EAAE,GAAGN,UAAU,CAACM,EAAE,KAAK,IAAI,GAAGN,UAAU,CAACM,EAAE,GAAG,CAAC,CAAA;AAClE,OAAA;AACA,MAAA,IAAI1F,MAAM,CAACuG,QAAQ,CAAC,IAAI,CAAC,EAAE;AACvBD,QAAAA,cAAc,CAACX,EAAE,GAAGP,UAAU,CAACO,EAAE,KAAK,IAAI,GAAGP,UAAU,CAACO,EAAE,GAAG,CAAC,CAAA;AAClE,OAAA;AAEA,MAAA,OAAOW,cAAc,CAAA;KACxB,EAAE,EAAE,CAAC,CAAA;AAEN,IAAA,IAAME,qBAAqB,GAAG3B,WAAW,CACrC,UACI4B,YAAoB,EACpBC,MAAgB,EAChBC,uBAA4C,EAC5CC,SAAwB,EACvB;MACD,IAAIC,QAAQ,GAAGJ,YAAY,CAAA;MAC3B,IAAIK,UAAU,GAAG,CAAC,CAAA;AAClB,MAAA,IAAMC,aAAa,GAAGL,MAAM,CAACM,MAAM,CAAA;MAEnC,GAAG;QACCH,QAAQ,GACJD,SAAS,KAAK,IAAI,GACZ,CAACC,QAAQ,GAAG,CAAC,GAAGH,MAAM,CAACM,MAAM,IAAIN,MAAM,CAACM,MAAM,GAC9C,CAACH,QAAQ,GAAG,CAAC,IAAIH,MAAM,CAACM,MAAM,CAAA;AACxCF,QAAAA,UAAU,EAAE,CAAA;OACf,QACGA,UAAU,GAAGC,aAAa,IAC1BJ,uBAAuB,CAACJ,QAAQ,CAACJ,QAAQ,CAACO,MAAM,CAACG,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,IAChEA,QAAQ,KAAKJ,YAAY,EAAA;MAG7B,OAAOK,UAAU,GAAGC,aAAa,IAC7B,CAACJ,uBAAuB,CAACJ,QAAQ,CAACJ,QAAQ,CAACO,MAAM,CAACG,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,GAC/DA,QAAQ,GACRJ,YAAY,CAAA;KACrB,EACD,EACJ,CAAC,CAAA;IAED,IAAMQ,uBAAuB,GAAG,EAAE,CAAA;AAElC,IAAA,IAAMC,kBAAkB,GAAGrC,WAAW,CAAC,UAACsC,SAA0C,EAAK;AACnF,MAAA,IAAI,CAACA,SAAS,CAAC3C,OAAO,EAAE,OAAO;AAAErB,QAAAA,WAAW,EAAE,CAAC;AAAEC,QAAAA,aAAa,EAAE,CAAA;OAAG,CAAA;AAEnE,MAAA,IAAAgE,kBAAA,GAAkDD,SAAS,CAAC3C,OAAO;QAA3D6C,SAAS,GAAAD,kBAAA,CAATC,SAAS;QAAEC,YAAY,GAAAF,kBAAA,CAAZE,YAAY;QAAEC,YAAY,GAAAH,kBAAA,CAAZG,YAAY,CAAA;MAC7C,IAAMC,WAAW,GAAGD,YAAY,CAAA;AAChC,MAAA,IAAMpE,WAAW,GAAGsE,IAAI,CAACvH,GAAG,CAAEsH,WAAW,GAAGF,YAAY,GAAIE,WAAW,EAAEP,uBAAuB,CAAC,CAAA;AACjG,MAAA,IAAMS,SAAS,GAAGJ,YAAY,GAAGC,YAAY,CAAA;AAC7C,MAAA,IAAMnE,aAAa,GAAGsE,SAAS,GAAG,CAAC,GAAIL,SAAS,GAAGK,SAAS,IAAKF,WAAW,GAAGrE,WAAW,CAAC,GAAG,CAAC,CAAA;MAE/F,OAAO;AAAEA,QAAAA,WAAW,EAAXA,WAAW;AAAEC,QAAAA,aAAa,EAAbA,aAAAA;OAAe,CAAA;KACxC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAMuE,sBAAsB,GAAG9C,WAAW,CACtC,UACI+C,YAAkE,EAClEC,UAAyD,EACzDV,SAA0C,EACzC;MACD,IAAIU,UAAU,CAACrD,OAAO,EAAE;AACpBsD,QAAAA,YAAY,CAACD,UAAU,CAACrD,OAAO,CAAC,CAAA;AACpC,OAAA;AAEAuD,MAAAA,eAAe,CAACZ,SAAS,EAAES,YAAY,EAAE,IAAI,CAAC,CAAA;AAE9CC,MAAAA,UAAU,CAACrD,OAAO,GAAIE,UAAU,CAAC,YAAM;QACnCkD,YAAY,CAAC,UAACI,IAAI,EAAA;AAAA,UAAA,OAAAxC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAWwC,IAAI,CAAA,EAAA,EAAA,EAAA;AAAE9E,YAAAA,SAAS,EAAE,KAAA;AAAK,WAAA,CAAA,CAAA;AAAA,SAAG,CAAC,CAAA;QACvD2E,UAAU,CAACrD,OAAO,GAAG,IAAI,CAAA;OAC5B,EAAE,IAAI,CAA+B,CAAA;KACzC,EACD,EACJ,CAAC,CAAA;IAED,IAAMuD,eAAe,GAAGlD,WAAW,CAC/B,UACIsC,SAA0C,EAC1CS,YAAkE,EAEjE;AAAA,MAAA,IADDK,IAAI,GAAAC,SAAA,CAAAlB,MAAA,GAAA,CAAA,IAAAkB,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK,CAAA;AAEZ,MAAA,IAAI,CAACf,SAAS,CAAC3C,OAAO,EAAE,OAAA;AAExB,MAAA,IAAA4D,mBAAA,GAAuClB,kBAAkB,CAACC,SAAS,CAAC;QAA5DhE,WAAW,GAAAiF,mBAAA,CAAXjF,WAAW;QAAEC,aAAa,GAAAgF,mBAAA,CAAbhF,aAAa,CAAA;MAClCwE,YAAY,CAAC,UAACI,IAAI,EAAA;AAAA,QAAA,OAAAxC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACXwC,IAAI,CAAA,EAAA,EAAA,EAAA;AACP7E,UAAAA,WAAW,EAAXA,WAAW;AACXC,UAAAA,aAAa,EAAbA,aAAa;AACbF,UAAAA,SAAS,EAAE+E,IAAI,IAAID,IAAI,CAAC9E,SAAAA;AAAS,SAAA,CAAA,CAAA;AAAA,OACnC,CAAC,CAAA;AACP,KAAC,EACD,CAACgE,kBAAkB,CACvB,CAAC,CAAA;IAED,IAAMmB,kBAAkB,GAAGxD,WAAW,CAClC,UACIsC,SAA0C,EAC1CS,YAAkE,EAClEC,UAAyD,EACxD;AACDF,MAAAA,sBAAsB,CAACC,YAAY,EAAEC,UAAU,EAAEV,SAAS,CAAC,CAAA;AAC/D,KAAC,EACD,CAACQ,sBAAsB,CAC3B,CAAC,CAAA;IAED,IAAMW,0BAA0B,GAAGzD,WAAW,CAC1C,UACIsC,SAA0C,EAC1CS,YAAkE,EAClEC,UAAyD,EAAA;MAAA,OACxD,UAACU,CAAmC,EAAK;QAC1CA,CAAC,CAACC,cAAc,EAAE,CAAA;AAElB,QAAA,IAAMC,KAAK,GAAGF,CAAC,CAACG,aAA+B,CAAA;AAC/C,QAAA,IAAMC,KAAK,GAAGF,KAAK,CAACG,aAA+B,CAAA;AACnD,QAAA,IAAI,CAACzB,SAAS,CAAC3C,OAAO,IAAI,CAACmE,KAAK,EAAE,OAAA;QAElC,IAAId,UAAU,CAACrD,OAAO,EAAE;AACpBsD,UAAAA,YAAY,CAACD,UAAU,CAACrD,OAAO,CAAC,CAAA;UAChCqD,UAAU,CAACrD,OAAO,GAAG,IAAI,CAAA;AAC7B,SAAA;AAEA,QAAA,IAAMqE,MAAM,GAAGN,CAAC,CAACO,OAAO,CAAA;QACxB,IAAMC,kBAAkB,GAAGC,UAAU,CAACP,KAAK,CAACQ,KAAK,CAACC,GAAG,IAAI,GAAG,CAAC,CAAA;AAC7D,QAAA,IAAMC,SAAS,GAAGR,KAAK,CAACS,qBAAqB,EAAE,CAAA;AAC/C,QAAA,IAAM5B,WAAW,GAAG2B,SAAS,CAACE,MAAM,CAAA;AACpC,QAAA,IAAMlG,WAAW,GAAGsF,KAAK,CAACa,YAAY,CAAA;AAEtC,QAAA,IAAAC,mBAAA,GAAuCpC,SAAS,CAAC3C,OAAO;UAAhD8C,YAAY,GAAAiC,mBAAA,CAAZjC,YAAY;UAAEC,YAAY,GAAAgC,mBAAA,CAAZhC,YAAY,CAAA;AAClC,QAAA,IAAMG,SAAS,GAAGJ,YAAY,GAAGC,YAAY,CAAA;AAE7C,QAAA,IAAMiC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,SAAgC,EAAK;AAC1D,UAAA,IAAMC,MAAM,GAAGD,SAAS,CAACX,OAAO,GAAGD,MAAM,CAAA;UACzC,IAAMc,gBAAgB,GAAGlC,IAAI,CAACvH,GAAG,CAC7B,CAAC,EACDuH,IAAI,CAACxH,GAAG,CAACuH,WAAW,GAAGrE,WAAW,EAAE4F,kBAAkB,GAAGW,MAAM,CACnE,CAAC,CAAA;AAED,UAAA,IAAME,gBAAgB,GAAGD,gBAAgB,IAAInC,WAAW,GAAGrE,WAAW,CAAC,CAAA;AACvE,UAAA,IAAM0G,YAAY,GAAGD,gBAAgB,GAAGlC,SAAS,CAAA;UAEjD,IAAIP,SAAS,CAAC3C,OAAO,EAAE;AACnB2C,YAAAA,SAAS,CAAC3C,OAAO,CAAC6C,SAAS,GAAGwC,YAAY,CAAA;AAC9C,WAAA;UAEAjC,YAAY,CAAC,UAACI,IAAI,EAAA;AAAA,YAAA,OAAAxC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACXwC,IAAI,CAAA,EAAA,EAAA,EAAA;AACP5E,cAAAA,aAAa,EAAEuG,gBAAgB;AAC/BtG,cAAAA,UAAU,EAAE,IAAI;AAChBH,cAAAA,SAAS,EAAE,IAAA;AAAI,aAAA,CAAA,CAAA;AAAA,WACjB,CAAC,CAAA;SACN,CAAA;AAED,QAAA,IAAM4G,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AACxBC,UAAAA,QAAQ,CAACC,mBAAmB,CAAC,WAAW,EAAER,eAAe,CAAC,CAAA;AAC1DO,UAAAA,QAAQ,CAACC,mBAAmB,CAAC,SAAS,EAAEF,aAAa,CAAC,CAAA;UAEtDlC,YAAY,CAAC,UAACI,IAAI,EAAA;AAAA,YAAA,OAAAxC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACXwC,IAAI,CAAA,EAAA,EAAA,EAAA;AACP3E,cAAAA,UAAU,EAAE,KAAA;AAAK,aAAA,CAAA,CAAA;AAAA,WACnB,CAAC,CAAA;AAEHsE,UAAAA,sBAAsB,CAACC,YAAY,EAAEC,UAAU,EAAEV,SAAS,CAAC,CAAA;SAC9D,CAAA;AAED4C,QAAAA,QAAQ,CAACE,gBAAgB,CAAC,WAAW,EAAET,eAAe,CAAC,CAAA;AACvDO,QAAAA,QAAQ,CAACE,gBAAgB,CAAC,SAAS,EAAEH,aAAa,CAAC,CAAA;OACtD,CAAA;KACD,EAAA,CAACnC,sBAAsB,CAC3B,CAAC,CAAA;AAEDzD,IAAAA,SAAS,CAAC,YAAM;AACZ,MAAA,IAAID,SAAS,IAAIvD,aAAa,CAACsG,MAAM,GAAG,CAAC,EAAE;AACvC,QAAA,IAAM5B,UAAU,GAAGC,eAAe,CAACpB,SAAS,EAAExD,YAAY,CAAC,CAAA;QAC3D+B,aAAa,CAAC,UAACwF,IAAI,EAAA;AAAA,UAAA,OAAAxC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZwC,IAAI,CAAA,EAAA,EAAA,EAAA;YACP9F,KAAK,EAAEkD,UAAU,CAACK,EAAE;YACpBtD,OAAO,EAAEiD,UAAU,CAACM,EAAE;YACtBtD,OAAO,EAAEgD,UAAU,CAACO,EAAAA;AAAE,WAAA,CAAA,CAAA;AAAA,SACxB,CAAC,CAAA;AACP,OAAA;KACH,EAAE,CAAC1B,SAAS,EAAEvD,aAAa,EAAED,YAAY,CAAC,CAAC,CAAA;AAE5C,IAAA,IAAMyJ,oBAAoB,GAAGrF,WAAW,CAAC,YAAM;MAC3C,IAAItC,UAAU,CAACF,aAAa,KAAK,IAAI,IAAI3B,aAAa,CAACsG,MAAM,GAAG,CAAC,EAAE;AAC/D,QAAA,IAAMmD,WAAW,GAAGzJ,aAAa,CAAC,CAAC,CAAC,CAAC0J,IAAI,CAAA;QACzC5H,aAAa,CAAC,UAACwF,IAAI,EAAA;AAAA,UAAA,OAAAxC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZwC,IAAI,CAAA,EAAA,EAAA,EAAA;AACP3F,YAAAA,aAAa,EAAE8H,WAAAA;AAAW,WAAA,CAAA,CAAA;AAAA,SAC5B,CAAC,CAAA;AACP,OAAA;KACH,EAAE,CAAC5H,UAAU,CAACF,aAAa,EAAE3B,aAAa,CAAC,CAAC,CAAA;AAE7CwD,IAAAA,SAAS,CAAC,YAAM;AACZ,MAAA,OAAO,YAAM;QACT,CAAC1C,mBAAmB,EAAEC,qBAAqB,EAAEC,qBAAqB,CAAC,CAAC2I,OAAO,CAAC,UAACxC,UAAU,EAAK;UACxF,IAAIA,UAAU,CAACrD,OAAO,EAAE;AACpBsD,YAAAA,YAAY,CAACD,UAAU,CAACrD,OAAO,CAAC,CAAA;AACpC,WAAA;AACJ,SAAC,CAAC,CAAA;OACL,CAAA;KACJ,EAAE,EAAE,CAAC,CAAA;AAENN,IAAAA,SAAS,CAAC,YAAM;AACZ,MAAA,IAAIoG,MAAM,CAACC,IAAI,CAACtJ,YAAY,CAACuD,OAAO,CAAC,CAACwC,MAAM,GAAG,CAAC,EAAE;AAC9C,QAAA,IAAMwD,SAAS,GAAGF,MAAM,CAAC5D,MAAM,CAACzF,YAAY,CAACuD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAExD,QAAA,IAAIgG,SAAS,EAAE;AACX5H,UAAAA,aAAa,CAAC4H,SAAS,CAAClB,YAAY,CAAC,CAAA;AACzC,SAAA;AACJ,OAAA;MACA,IAAIzI,cAAc,CAAC2D,OAAO,EAAE;AACxB,QAAA,IAAMiG,aAAa,GAAGC,gBAAgB,CAAC7J,cAAc,CAAC2D,OAAO,CAAC,CAAA;QAC9D,IAAMmG,QAAQ,GAAG3B,UAAU,CAACyB,aAAa,CAAC1H,GAAG,IAAI,GAAG,CAAC,CAAA;QACrDC,MAAM,CAAC2H,QAAQ,CAAC,CAAA;AACpB,OAAA;AACJ,KAAC,EAAE,CAACpL,UAAU,CAAC,CAAC,CAAA;AAEhB2E,IAAAA,SAAS,CAAC,YAAM;AACZQ,MAAAA,UAAU,CAAC,YAAM;AACbqD,QAAAA,eAAe,CAAClH,cAAc,EAAE2C,iBAAiB,CAAC,CAAA;AAClDuE,QAAAA,eAAe,CAAChH,gBAAgB,EAAE6C,mBAAmB,CAAC,CAAA;QACtD,IAAIzD,eAAe,KAAK,CAAC,EAAE;AACvB4H,UAAAA,eAAe,CAAC/G,gBAAgB,EAAEgD,mBAAmB,CAAC,CAAA;AAC1D,SAAA;OACH,EAAE,GAAG,CAAC,CAAA;AACX,KAAC,EAAE,CAAC7D,eAAe,EAAE4H,eAAe,CAAC,CAAC,CAAA;AAEtC7D,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAIvB,UAAU,KAAK,CAAC,EAAE,OAAA;MAEtB,IAAMiI,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIzD,SAA0C,EAAE0D,KAAoB,EAAK;AAC7F,QAAA,IAAI1D,SAAS,CAAC3C,OAAO,IAAIqG,KAAK,KAAK,IAAI,EAAE;AACrC,UAAA,IAAMC,cAAc,GAAGD,KAAK,IAAIlI,UAAU,GAAGI,GAAG,CAAC,CAAA;AACjDgI,UAAAA,eAAe,CAAC5D,SAAS,CAAC3C,OAAO,EAAEsG,cAAc,CAAC,CAAA;AAClDpG,UAAAA,UAAU,CAAC,YAAM;AACbqD,YAAAA,eAAe,CAACZ,SAAS,EAAE3D,iBAAiB,CAAC,CAAA;WAChD,EAAE,GAAG,CAAC,CAAA;AACX,SAAA;OACH,CAAA;AAEDoH,MAAAA,kBAAkB,CAAC/J,cAAc,EAAE0B,UAAU,CAACL,KAAK,CAAC,CAAA;AACpD0I,MAAAA,kBAAkB,CAAC7J,gBAAgB,EAAEwB,UAAU,CAACJ,OAAO,CAAC,CAAA;AACxDyI,MAAAA,kBAAkB,CAAC5J,gBAAgB,EAAEuB,UAAU,CAACH,OAAO,CAAC,CAAA;KAC3D,EAAE,CAACG,UAAU,EAAEI,UAAU,EAAEI,GAAG,EAAEgF,eAAe,CAAC,CAAC,CAAA;AAElD7D,IAAAA,SAAS,CAAC,YAAM;AACZ,MAAA,IAAM8G,WAAW,GAAGnK,cAAc,CAAC2D,OAAO,CAAA;AAC1C,MAAA,IAAMyG,aAAa,GAAGlK,gBAAgB,CAACyD,OAAO,CAAA;AAC9C,MAAA,IAAM0G,aAAa,GAAGlK,gBAAgB,CAACwD,OAAO,CAAA;AAE9C,MAAA,IAAM2G,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,QAAA,OACnB9C,kBAAkB,CAACxH,cAAc,EAAE2C,iBAAiB,EAAEhC,mBAAmB,CAAC,CAAA;AAAA,OAAA,CAAA;AAC9E,MAAA,IAAM4J,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAA;AAAA,QAAA,OACrB/C,kBAAkB,CAACtH,gBAAgB,EAAE6C,mBAAmB,EAAEnC,qBAAqB,CAAC,CAAA;AAAA,OAAA,CAAA;AACpF,MAAA,IAAM4J,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAA;AAAA,QAAA,OACrBhD,kBAAkB,CAACrH,gBAAgB,EAAEgD,mBAAmB,EAAEtC,qBAAqB,CAAC,CAAA;AAAA,OAAA,CAAA;AAEpF,MAAA,IAAIsJ,WAAW,EAAE;AACbA,QAAAA,WAAW,CAACf,gBAAgB,CAAC,QAAQ,EAAEkB,iBAAiB,CAAC,CAAA;AAC7D,OAAA;AACA,MAAA,IAAIF,aAAa,EAAE;AACfA,QAAAA,aAAa,CAAChB,gBAAgB,CAAC,QAAQ,EAAEmB,mBAAmB,CAAC,CAAA;AACjE,OAAA;AACA,MAAA,IAAIF,aAAa,EAAE;AACfA,QAAAA,aAAa,CAACjB,gBAAgB,CAAC,QAAQ,EAAEoB,mBAAmB,CAAC,CAAA;AACjE,OAAA;AAEA,MAAA,OAAO,YAAM;AACT,QAAA,IAAIL,WAAW,EAAE;AACbA,UAAAA,WAAW,CAAChB,mBAAmB,CAAC,QAAQ,EAAEmB,iBAAiB,CAAC,CAAA;AAChE,SAAA;AACA,QAAA,IAAIF,aAAa,EAAE;AACfA,UAAAA,aAAa,CAACjB,mBAAmB,CAAC,QAAQ,EAAEoB,mBAAmB,CAAC,CAAA;AACpE,SAAA;AACA,QAAA,IAAIF,aAAa,EAAE;AACfA,UAAAA,aAAa,CAAClB,mBAAmB,CAAC,QAAQ,EAAEqB,mBAAmB,CAAC,CAAA;AACpE,SAAA;OACH,CAAA;KACJ,EAAE,EAAE,CAAC,CAAA;AAENnH,IAAAA,SAAS,CAAC,YAAM;AACZ,MAAA,IAAM8G,WAAW,GAAGnK,cAAc,CAAC2D,OAAO,CAAA;AAC1C,MAAA,IAAMyG,aAAa,GAAGlK,gBAAgB,CAACyD,OAAO,CAAA;AAC9C,MAAA,IAAM0G,aAAa,GAAGlK,gBAAgB,CAACwD,OAAO,CAAA;AAE9C,MAAA,IAAM8G,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAA;AAAA,QAAA,OACvB3D,sBAAsB,CAACnE,iBAAiB,EAAEhC,mBAAmB,EAAEX,cAAc,CAAC,CAAA;AAAA,OAAA,CAAA;AAClF,MAAA,IAAM0K,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAA;AAAA,QAAA,OACzB5D,sBAAsB,CAAC/D,mBAAmB,EAAEnC,qBAAqB,EAAEV,gBAAgB,CAAC,CAAA;AAAA,OAAA,CAAA;AACxF,MAAA,IAAMyK,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAA;AAAA,QAAA,OACzB7D,sBAAsB,CAAC3D,mBAAmB,EAAEtC,qBAAqB,EAAEV,gBAAgB,CAAC,CAAA;AAAA,OAAA,CAAA;AAExF,MAAA,IAAIgK,WAAW,EAAE;AACbA,QAAAA,WAAW,CAACf,gBAAgB,CAAC,YAAY,EAAEqB,qBAAqB,CAAC,CAAA;AACrE,OAAA;AACA,MAAA,IAAIL,aAAa,EAAE;AACfA,QAAAA,aAAa,CAAChB,gBAAgB,CAAC,YAAY,EAAEsB,uBAAuB,CAAC,CAAA;AACzE,OAAA;AACA,MAAA,IAAIL,aAAa,EAAE;AACfA,QAAAA,aAAa,CAACjB,gBAAgB,CAAC,YAAY,EAAEuB,uBAAuB,CAAC,CAAA;AACzE,OAAA;AAEA,MAAA,OAAO,YAAM;AACT,QAAA,IAAIR,WAAW,EAAE;AACbA,UAAAA,WAAW,CAAChB,mBAAmB,CAAC,YAAY,EAAEsB,qBAAqB,CAAC,CAAA;AACxE,SAAA;AACA,QAAA,IAAIL,aAAa,EAAE;AACfA,UAAAA,aAAa,CAACjB,mBAAmB,CAAC,YAAY,EAAEuB,uBAAuB,CAAC,CAAA;AAC5E,SAAA;AACA,QAAA,IAAIL,aAAa,EAAE;AACfA,UAAAA,aAAa,CAAClB,mBAAmB,CAAC,YAAY,EAAEwB,uBAAuB,CAAC,CAAA;AAC5E,SAAA;OACH,CAAA;KACJ,EAAE,EAAE,CAAC,CAAA;IAEN,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CACrBjM,KAAa,EACb4E,MAAuC,EAEtC;AAAA,MAAA,IADDsH,YAAY,GAAAxD,SAAA,CAAAlB,MAAA,GAAA,CAAA,IAAAkB,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI,CAAA;AAEnB,MAAA,IAAMyD,iBAAiB,GAAGtG,eAAe,CAACtD,SAAS,EAAEtB,YAAY,CAAC,CAAA;AAClE,MAAA,IAAMmL,aAAa,GAAApG,cAAA,CAAA,EAAA,EAAQmG,iBAAiB,CAAE,CAAA;AAE9C,MAAA,QAAQvH,MAAM;AACV,QAAA,KAAK,OAAO;UACRwH,aAAa,CAACnG,EAAE,GAAGU,QAAQ,CAAC3G,KAAK,EAAE,EAAE,CAAC,CAAA;AACtC,UAAA,MAAA;AACJ,QAAA,KAAK,SAAS;UACVoM,aAAa,CAAClG,EAAE,GAAGS,QAAQ,CAAC3G,KAAK,EAAE,EAAE,CAAC,CAAA;AACtC,UAAA,MAAA;AACJ,QAAA,KAAK,SAAS;UACVoM,aAAa,CAACjG,EAAE,GAAGQ,QAAQ,CAAC3G,KAAK,EAAE,EAAE,CAAC,CAAA;AACtC,UAAA,MAAA;AAER,OAAA;AAEA,MAAA,IAAMqM,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAI/G,UAA2C,EAAa;AACpF,QAAA,IAAM6B,uBAAuB,GAAG/B,0BAA0B,CAACE,UAAU,CAAC,CAAA;QACtE,IAAMgH,QAAQ,GAAGhH,UAAU,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE,CAAA;QAEjD,KAAK,IAAIQ,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIwG,QAAQ,EAAExG,CAAC,EAAE,EAAE;AAChC,UAAA,IAAI,CAACqB,uBAAuB,CAACJ,QAAQ,CAACjB,CAAC,CAAC,EAAE;AACtC,YAAA,OAAOA,CAAC,CAAA;AACZ,WAAA;AACJ,SAAA;AACA,QAAA,OAAO,CAAC,CAAA;OACX,CAAA;AAED,MAAA,IAAIsG,aAAa,CAACnG,EAAE,KAAK,IAAI,IAAIhF,YAAY,CAAC8F,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC1DqF,QAAAA,aAAa,CAACnG,EAAE,GAAGoG,sBAAsB,CAAC,OAAO,CAAC,CAAA;AACtD,OAAA;AACA,MAAA,IAAID,aAAa,CAAClG,EAAE,KAAK,IAAI,IAAIjF,YAAY,CAAC8F,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC1DqF,QAAAA,aAAa,CAAClG,EAAE,GAAGmG,sBAAsB,CAAC,SAAS,CAAC,CAAA;AACxD,OAAA;AACA,MAAA,IAAID,aAAa,CAACjG,EAAE,KAAK,IAAI,IAAIlF,YAAY,CAAC8F,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC1DqF,QAAAA,aAAa,CAACjG,EAAE,GAAGkG,sBAAsB,CAAC,SAAS,CAAC,CAAA;AACxD,OAAA;AAEA,MAAA,IAAMjG,kBAAkB,GAAGC,qBAAqB,CAAC+F,aAAa,EAAEnL,YAAY,CAAC,CAAA;MAC7E,IAAIqF,cAAc,CAACF,kBAAkB,EAAE3F,GAAG,EAAEC,GAAG,CAAC,EAAE;AAC9C,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAM6L,aAAa,GAAGC,eAAe,CAACJ,aAAa,EAAEnL,YAAY,CAAC,CAAA;MAClEuB,YAAY,CAAC+J,aAAa,CAAC,CAAA;MAE3B,IAAIE,UAAkD,GAAG,IAAI,CAAA;AAC7D,MAAA,IAAMxF,YAAY,GAAG/F,aAAa,CAACwL,SAAS,CAAC,UAACC,GAAG,EAAA;AAAA,QAAA,OAAKA,GAAG,CAAC/B,IAAI,KAAKhG,MAAM,CAAA;OAAC,CAAA,CAAA;AAC1E,MAAA,IAAIqC,YAAY,KAAK,CAAC,CAAC,IAAIiF,YAAY,IAAIjF,YAAY,GAAG/F,aAAa,CAACsG,MAAM,GAAG,CAAC,EAAE;QAChFiF,UAAU,GAAGvL,aAAa,CAAC+F,YAAY,GAAG,CAAC,CAAC,CAAC2D,IAAI,CAAA;AACrD,OAAA;AAEA,MAAA,IAAMgC,aAAyB,GAAG;QAC9BlK,KAAK,EAAE0J,aAAa,CAACnG,EAAE;QACvBtD,OAAO,EAAEyJ,aAAa,CAAClG,EAAE;QACzBtD,OAAO,EAAEwJ,aAAa,CAACjG,EAAE;QACzBtD,aAAa,EAAE4J,UAAU,IAAI7H,MAAAA;OAChC,CAAA;MACD5B,aAAa,CAAC4J,aAAa,CAAC,CAAA;AAE5B/L,MAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG;AACPb,QAAAA,KAAK,EAAEuM,aAAa;AACpB3G,QAAAA,UAAU,EAAE;AACRJ,UAAAA,IAAI,EAAE4G,aAAa,CAACnG,EAAE,IAAI0C,SAAS;AACnClD,UAAAA,MAAM,EAAE2G,aAAa,CAAClG,EAAE,IAAIyC,SAAS;AACrCjD,UAAAA,MAAM,EAAE0G,aAAa,CAACjG,EAAE,IAAIwC,SAAAA;AAChC,SAAA;AACJ,OAA8B,CAAC,CAAA;KAClC,CAAA;IAED,IAAMkE,qBAA6C,GAAG,SAAhDA,qBAA6CA,CAC/CC,KAAoC,EACpClI,MAAsB,EACtB5E,KAAa,EACZ;AACD,MAAA,IAAMmH,uBAAuB,GAAG/B,0BAA0B,CAACR,MAAM,CAAC,CAAA;AAClE,MAAA,IAAMqC,YAAY,GAAGN,QAAQ,CAAC3G,KAAK,EAAE,EAAE,CAAC,CAAA;MACxC,IAAIqH,QAAuB,GAAG,IAAI,CAAA;MAClC,IAAI0F,SAAS,GAAGnI,MAAM,CAAA;AACtB,MAAA,IAAMoI,qBAAqB,GAAG9L,aAAa,CAACwL,SAAS,CAAC,UAACC,GAAG,EAAA;AAAA,QAAA,OAAKA,GAAG,CAAC/B,IAAI,KAAKhG,MAAM,CAAA;OAAC,CAAA,CAAA;MAEnF,QAAQkI,KAAK,CAACG,GAAG;AACb,QAAA,KAAK,SAAS;UACVH,KAAK,CAAC9D,cAAc,EAAE,CAAA;AACtB3B,UAAAA,QAAQ,GAAGL,qBAAqB,CAC5BC,YAAY,EACZrC,MAAM,KAAK,OAAO,GACZsI,KAAK,CAACC,IAAI,CAAC;AAAE3F,YAAAA,MAAM,EAAE,EAAA;AAAG,WAAC,EAAE,UAAC4F,CAAC,EAAEtH,CAAC,EAAA;YAAA,OAAKA,CAAC,CAACjB,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAAA,WAAA,CAAC,GACnEoI,KAAK,CAACC,IAAI,CAAC;AAAE3F,YAAAA,MAAM,EAAE,EAAA;AAAG,WAAC,EAAE,UAAC4F,CAAC,EAAEtH,CAAC,EAAA;YAAA,OAAKA,CAAC,CAACjB,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAAA,WAAA,CAAC,EACzEqC,uBAAuB,EACvB,IACJ,CAAC,CAAA;UACD,IAAIE,QAAQ,KAAK,IAAI,EAAE;AACnB,YAAA,IAAMgG,QAAQ,GAAGhG,QAAQ,CAACxC,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AACrDmH,YAAAA,mBAAmB,CAACoB,QAAQ,EAAEzI,MAAM,EAAE,KAAK,CAAC,CAAA;AAChD,WAAA;AACA,UAAA,MAAA;AACJ,QAAA,KAAK,WAAW;UACZkI,KAAK,CAAC9D,cAAc,EAAE,CAAA;AACtB3B,UAAAA,QAAQ,GAAGL,qBAAqB,CAC5BC,YAAY,EACZrC,MAAM,KAAK,OAAO,GACZsI,KAAK,CAACC,IAAI,CAAC;AAAE3F,YAAAA,MAAM,EAAE,EAAA;AAAG,WAAC,EAAE,UAAC4F,CAAC,EAAEtH,CAAC,EAAA;YAAA,OAAKA,CAAC,CAACjB,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAAA,WAAA,CAAC,GACnEoI,KAAK,CAACC,IAAI,CAAC;AAAE3F,YAAAA,MAAM,EAAE,EAAA;AAAG,WAAC,EAAE,UAAC4F,CAAC,EAAEtH,CAAC,EAAA;YAAA,OAAKA,CAAC,CAACjB,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAAA,WAAA,CAAC,EACzEqC,uBAAuB,EACvB,MACJ,CAAC,CAAA;UACD,IAAIE,QAAQ,KAAK,IAAI,EAAE;AACnB,YAAA,IAAMgG,SAAQ,GAAGhG,QAAQ,CAACxC,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AACrDmH,YAAAA,mBAAmB,CAACoB,SAAQ,EAAEzI,MAAM,EAAE,KAAK,CAAC,CAAA;AAChD,WAAA;AACA,UAAA,MAAA;AACJ,QAAA,KAAK,YAAY;UACbkI,KAAK,CAAC9D,cAAc,EAAE,CAAA;UACtB,IAAIpE,MAAM,KAAK,OAAO,EAAE;AACpBmI,YAAAA,SAAS,GAAG,SAAS,CAAA;AACzB,WAAC,MAAM,IAAInI,MAAM,KAAK,SAAS,IAAI3D,YAAY,CAAC8F,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC5DgG,YAAAA,SAAS,GAAG,SAAS,CAAA;AACzB,WAAA;UACA,IAAIA,SAAS,KAAKnI,MAAM,EAAE;YACtB5B,aAAa,CAAC,UAACwF,IAAI,EAAA;AAAA,cAAA,OAAAxC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZwC,IAAI,CAAA,EAAA,EAAA,EAAA;AACP3F,gBAAAA,aAAa,EAAEkK,SAAAA;AAAS,eAAA,CAAA,CAAA;AAAA,aAC1B,CAAC,CAAA;AACP,WAAA;AACA,UAAA,MAAA;AACJ,QAAA,KAAK,WAAW;UACZD,KAAK,CAAC9D,cAAc,EAAE,CAAA;UACtB,IAAIpE,MAAM,KAAK,SAAS,EAAE;AACtBmI,YAAAA,SAAS,GAAG,OAAO,CAAA;AACvB,WAAC,MAAM,IAAInI,MAAM,KAAK,SAAS,EAAE;AAC7BmI,YAAAA,SAAS,GAAG,SAAS,CAAA;AACzB,WAAA;UACA,IAAIA,SAAS,KAAKnI,MAAM,EAAE;YACtB5B,aAAa,CAAC,UAACwF,IAAI,EAAA;AAAA,cAAA,OAAAxC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZwC,IAAI,CAAA,EAAA,EAAA,EAAA;AACP3F,gBAAAA,aAAa,EAAEkK,SAAAA;AAAS,eAAA,CAAA,CAAA;AAAA,aAC1B,CAAC,CAAA;AACP,WAAA;AACA,UAAA,MAAA;AACJ,QAAA,KAAK,OAAO,CAAA;AACZ,QAAA,KAAK,GAAG;UACJD,KAAK,CAAC9D,cAAc,EAAE,CAAA;AACtBiD,UAAAA,mBAAmB,CAACjM,KAAK,EAAE4E,MAAM,CAAC,CAAA;AAClC,UAAA,MAAA;AACJ,QAAA,KAAK,MAAM;UACPkI,KAAK,CAAC9D,cAAc,EAAE,CAAA;AACtB3B,UAAAA,QAAQ,GAAG,CAAC,CAAA;AACZ,UAAA,OACIF,uBAAuB,CAACJ,QAAQ,CAACM,QAAQ,CAAC,IAC1CA,QAAQ,IAAIzC,MAAM,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,EAC3C;AACEyC,YAAAA,QAAQ,EAAE,CAAA;AACd,WAAA;UACA,IAAIA,QAAQ,IAAIzC,MAAM,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE;AAC3CqH,YAAAA,mBAAmB,CAAC5E,QAAQ,CAACxC,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAEF,MAAM,EAAE,KAAK,CAAC,CAAA;AAC5E,WAAA;AACA,UAAA,MAAA;AACJ,QAAA,KAAK,KAAK;UACNkI,KAAK,CAAC9D,cAAc,EAAE,CAAA;AACtB3B,UAAAA,QAAQ,GAAGzC,MAAM,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE,CAAA;UACvC,OAAOuC,uBAAuB,CAACJ,QAAQ,CAACM,QAAQ,CAAC,IAAIA,QAAQ,IAAI,CAAC,EAAE;AAChEA,YAAAA,QAAQ,EAAE,CAAA;AACd,WAAA;UACA,IAAIA,QAAQ,IAAI,CAAC,EAAE;AACf4E,YAAAA,mBAAmB,CAAC5E,QAAQ,CAACxC,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAEF,MAAM,EAAE,KAAK,CAAC,CAAA;AAC5E,WAAA;AACA,UAAA,MAAA;AACJ,QAAA,KAAK,KAAK;AACN,UAAA,IAAIoI,qBAAqB,KAAK9L,aAAa,CAACsG,MAAM,GAAG,CAAC,EAAE;AACpD,YAAA,MAAA;AACJ,WAAA;UACAsF,KAAK,CAAC9D,cAAc,EAAE,CAAA;UACtB,IAAI8D,KAAK,CAACQ,QAAQ,EAAE;YAChB,IAAI1I,MAAM,KAAK,SAAS,EAAE;AACtBmI,cAAAA,SAAS,GAAG,OAAO,CAAA;AACvB,aAAC,MAAM,IAAInI,MAAM,KAAK,SAAS,EAAE;AAC7BmI,cAAAA,SAAS,GAAG,SAAS,CAAA;AACzB,aAAA;AACJ,WAAC,MAAM,IAAInI,MAAM,KAAK,OAAO,EAAE;AAC3BmI,YAAAA,SAAS,GAAG,SAAS,CAAA;AACzB,WAAC,MAAM,IAAInI,MAAM,KAAK,SAAS,IAAI3D,YAAY,CAAC8F,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC5DgG,YAAAA,SAAS,GAAG,SAAS,CAAA;AACzB,WAAA;UACA,IAAIA,SAAS,KAAKnI,MAAM,EAAE;YACtB5B,aAAa,CAAC,UAACwF,IAAI,EAAA;AAAA,cAAA,OAAAxC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZwC,IAAI,CAAA,EAAA,EAAA,EAAA;AACP3F,gBAAAA,aAAa,EAAEkK,SAAAA;AAAS,eAAA,CAAA,CAAA;AAAA,aAC1B,CAAC,CAAA;AACP,WAAA;AACA,UAAA,MAAA;AACJ,QAAA;UACI,IAAI,SAAS,CAACQ,IAAI,CAACT,KAAK,CAACG,GAAG,CAAC,EAAE;YAC3BH,KAAK,CAAC9D,cAAc,EAAE,CAAA;YACtB,IAAMwE,WAAW,GAAG7G,QAAQ,CAACmG,KAAK,CAACG,GAAG,EAAE,EAAE,CAAC,CAAA;YAE3C,IAAIrI,MAAM,KAAK,OAAO,EAAE;cACpB,IAAI4I,WAAW,IAAI,CAAC,EAAE;gBAClB,IAAMC,IAAI,GAAGD,WAAW,CAAA;AACxB,gBAAA,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI3E,CAA2B,EAAK;kBACvD,IAAI,SAAS,CAACwE,IAAI,CAACxE,CAAC,CAACkE,GAAG,CAAC,EAAE;oBACvB,IAAMU,KAAK,GAAGhH,QAAQ,CAACoC,CAAC,CAACkE,GAAG,EAAE,EAAE,CAAC,CAAA;AACjC,oBAAA,IAAMW,KAAK,GAAGH,IAAI,GAAG,EAAE,GAAGE,KAAK,CAAA;oBAC/B,IAAIC,KAAK,GAAG,EAAE,IAAI,CAACzG,uBAAuB,CAACJ,QAAQ,CAAC6G,KAAK,CAAC,EAAE;AACxD3B,sBAAAA,mBAAmB,CAAC2B,KAAK,CAAC/I,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAEF,MAAM,CAAC,CAAA;AAClE,qBAAA;AACA2F,oBAAAA,QAAQ,CAACC,mBAAmB,CAAC,SAAS,EAAEkD,iBAAiB,CAAC,CAAA;AAC9D,mBAAA;iBACH,CAAA;AACDnD,gBAAAA,QAAQ,CAACE,gBAAgB,CAAC,SAAS,EAAEiD,iBAAiB,CAAC,CAAA;AACvDxI,gBAAAA,UAAU,CAAC,YAAM;AACbqF,kBAAAA,QAAQ,CAACC,mBAAmB,CAAC,SAAS,EAAEkD,iBAAiB,CAAC,CAAA;iBAC7D,EAAE,IAAI,CAAC,CAAA;AACZ,eAAC,MAAM,IAAIF,WAAW,IAAI,CAAC,EAAE;AACzB,gBAAA,IAAI,CAACrG,uBAAuB,CAACJ,QAAQ,CAACyG,WAAW,CAAC,EAAE;AAChDvB,kBAAAA,mBAAmB,CAACuB,WAAW,CAAC3I,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAEF,MAAM,CAAC,CAAA;AACxE,iBAAA;AACJ,eAAA;AACJ,aAAC,MAAM,IAAI4I,WAAW,IAAI,CAAC,EAAE;cACzB,IAAMC,KAAI,GAAGD,WAAW,CAAA;AACxB,cAAA,IAAME,kBAAiB,GAAG,SAApBA,kBAAiBA,CAAI3E,CAA2B,EAAK;gBACvD,IAAI,SAAS,CAACwE,IAAI,CAACxE,CAAC,CAACkE,GAAG,CAAC,EAAE;kBACvB,IAAMU,KAAK,GAAGhH,QAAQ,CAACoC,CAAC,CAACkE,GAAG,EAAE,EAAE,CAAC,CAAA;AACjC,kBAAA,IAAMW,KAAK,GAAGH,KAAI,GAAG,EAAE,GAAGE,KAAK,CAAA;kBAC/B,IAAIC,KAAK,GAAG,EAAE,IAAI,CAACzG,uBAAuB,CAACJ,QAAQ,CAAC6G,KAAK,CAAC,EAAE;AACxD3B,oBAAAA,mBAAmB,CAAC2B,KAAK,CAAC/I,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAEF,MAAM,CAAC,CAAA;AAClE,mBAAA;AACA2F,kBAAAA,QAAQ,CAACC,mBAAmB,CAAC,SAAS,EAAEkD,kBAAiB,CAAC,CAAA;AAC9D,iBAAA;eACH,CAAA;AACDnD,cAAAA,QAAQ,CAACE,gBAAgB,CAAC,SAAS,EAAEiD,kBAAiB,CAAC,CAAA;AACvDxI,cAAAA,UAAU,CAAC,YAAM;AACbqF,gBAAAA,QAAQ,CAACC,mBAAmB,CAAC,SAAS,EAAEkD,kBAAiB,CAAC,CAAA;eAC7D,EAAE,IAAI,CAAC,CAAA;AACZ,aAAC,MAAM,IAAIF,WAAW,IAAI,CAAC,EAAE;AACzB,cAAA,IAAI,CAACrG,uBAAuB,CAACJ,QAAQ,CAACyG,WAAW,CAAC,EAAE;AAChDvB,gBAAAA,mBAAmB,CAACuB,WAAW,CAAC3I,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAEF,MAAM,CAAC,CAAA;AACxE,eAAA;AACJ,aAAA;AACJ,WAAA;AACR,OAAA;KACH,CAAA;AAED,IAAA,oBACIiJ,KAAA,CAAAC,aAAA,CAACnO,IAAI,EAAAoO,QAAA,CAAA;AAACjO,MAAAA,GAAG,EAAEA,GAAI;AAACG,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAK;AAACE,MAAAA,QAAQ,EAAEA,QAAS;AAAC4N,MAAAA,OAAO,EAAEtD,oBAAAA;AAAqB,KAAA,EAAK5J,IAAI,CAC/F+M,eAAAA,KAAA,CAAAC,aAAA,CAACG,gBAAgB,EAAA;AAACC,MAAAA,KAAK,EAAE7N,aAAc;AAAC8N,MAAAA,QAAQ,EAAE,CAAC,CAAA;AAAE,KAAA,EAChDjN,aAAa,CAACuF,GAAG,CAAC,UAAC2H,YAAY,EAAK;AACjC,MAAA,IAAQxD,IAAI,GAAawD,YAAY,CAA7BxD,IAAI;QAAE1D,MAAM,GAAKkH,YAAY,CAAvBlH,MAAM,CAAA;AAEpB,MAAA,IAAIS,SAAS,CAAA;AACb,MAAA,IAAI0G,cAAc,CAAA;AAClB,MAAA,IAAIjG,YAAY,CAAA;AAChB,MAAA,IAAIkG,YAAY,CAAA;AAChB,MAAA,IAAIC,QAAQ,CAAA;AACZ,MAAA,IAAIlG,UAAU,CAAA;AAEd,MAAA,QAAQuC,IAAI;AACR,QAAA,KAAK,OAAO;AACRjD,UAAAA,SAAS,GAAGtG,cAAc,CAAA;AAC1BgN,UAAAA,cAAc,GAAGtK,cAAc,CAAA;AAC/BqE,UAAAA,YAAY,GAAGpE,iBAAiB,CAAA;AAChCsK,UAAAA,YAAY,GAAG5M,iBAAiB,CAAA;AAChC6M,UAAAA,QAAQ,GAAG1M,aAAa,CAAA;AACxBwG,UAAAA,UAAU,GAAGrG,mBAAmB,CAAA;AAChC,UAAA,MAAA;AACJ,QAAA,KAAK,SAAS;AACV2F,UAAAA,SAAS,GAAGpG,gBAAgB,CAAA;AAC5B8M,UAAAA,cAAc,GAAGlK,gBAAgB,CAAA;AACjCiE,UAAAA,YAAY,GAAGhE,mBAAmB,CAAA;AAClCkK,UAAAA,YAAY,GAAG3M,mBAAmB,CAAA;AAClC4M,UAAAA,QAAQ,GAAGzM,eAAe,CAAA;AAC1BuG,UAAAA,UAAU,GAAGpG,qBAAqB,CAAA;AAClC,UAAA,MAAA;AACJ,QAAA,KAAK,SAAS;AACV0F,UAAAA,SAAS,GAAGnG,gBAAgB,CAAA;AAC5B6M,UAAAA,cAAc,GAAG9J,gBAAgB,CAAA;AACjC6D,UAAAA,YAAY,GAAG5D,mBAAmB,CAAA;AAClC8J,UAAAA,YAAY,GAAG1M,mBAAmB,CAAA;AAClC2M,UAAAA,QAAQ,GAAGxM,eAAe,CAAA;AAC1BsG,UAAAA,UAAU,GAAGnG,qBAAqB,CAAA;AAClC,UAAA,MAAA;AACJ,QAAA;AACI,UAAA,OAAO,IAAI,CAAA;AACnB,OAAA;AAEA,MAAA,OAAOsM,gBAAgB,CAAC;AACpBtH,QAAAA,MAAM,EAANA,MAAM;AACNtG,QAAAA,cAAc,EAAEwE,0BAA0B,CAACwF,IAAI,CAAC;AAChDtK,QAAAA,cAAc,EAAdA,cAAc;AACdsE,QAAAA,MAAM,EAAEgG,IAAI;AACZ7H,QAAAA,UAAU,EAAVA,UAAU;AACVkJ,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBY,QAAAA,qBAAqB,EAArBA,qBAAqB;AACrB/D,QAAAA,0BAA0B,EAA1BA,0BAA0B;AAC1BV,QAAAA,YAAY,EAAZA,YAAY;AACZT,QAAAA,SAAS,EAATA,SAAS;AACT0G,QAAAA,cAAc,EAAdA,cAAc;AACdC,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,QAAQ,EAARA,QAAQ;AACRlG,QAAAA,UAAU,EAAVA,UAAU;AACV5G,QAAAA,YAAY,EAAZA,YAAAA;AACJ,OAAC,CAAC,CAAA;KACL,CACa,CAChB,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMgN,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAElP,kBAAkB;AAC1BmP,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACR7O,IAAAA,IAAI,EAAE;AACF8O,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACD9O,IAAAA,IAAI,EAAE;AACF6O,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACD7O,IAAAA,QAAQ,EAAE;AACN2O,MAAAA,GAAG,EAAEG,MAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;AACX,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNlP,IAAAA,IAAI,EAAE,GAAG;AACTD,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}
@@ -0,0 +1,22 @@
1
+ import './TimePickerGrid.styles_mz2mkl.css';
2
+ import { styled } from '@linaria/react';
3
+ import { tokens } from './TimePickerGrid.tokens.js';
4
+
5
+ var base = "b1gxyazn";
6
+ var _exp3 = function _exp3() {
7
+ return function (_ref) {
8
+ var width = _ref.width;
9
+ return (width === 'fullWidth' ? '100%' : width) || "var(".concat(tokens.timePickerGridWidth, ")");
10
+ };
11
+ };
12
+ var StyledTimePicker = /*#__PURE__*/styled('div')({
13
+ name: "StyledTimePicker",
14
+ "class": "s5pkh4",
15
+ propsAsIs: false,
16
+ vars: {
17
+ "s5pkh4-0": [/*#__PURE__*/_exp3()]
18
+ }
19
+ });
20
+
21
+ export { StyledTimePicker, base };
22
+ //# sourceMappingURL=TimePickerGrid.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePickerGrid.styles.js","sources":["../../../src/components/TimePickerGrid/TimePickerGrid.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { tokens } from './TimePickerGrid.tokens';\n\nexport const base = css`\n display: flex;\n width: 100%;\n height: 10rem;\n`;\n\nexport const StyledTimePicker = styled.div<{ width?: string | number }>`\n background: var(${tokens.timePickerGridBackground});\n border-radius: var(${tokens.timePickerGridBorderRadius});\n width: ${({ width }) => (width === 'fullWidth' ? '100%' : width) || `var(${tokens.timePickerGridWidth})`};\n display: flex;\n padding: var(${tokens.timePickerGridPadding});\n flex: 1 1 1;\n gap: var(${tokens.scrollbarWidth});\n box-sizing: border-box;\n position: relative;\n height: var(${tokens.columnHeight});\n`;\n"],"names":["base","_exp3","_ref","width","concat","tokens","timePickerGridWidth","StyledTimePicker","styled","name","class","propsAsIs","vars"],"mappings":";;;AAKO,IAAMA,IAAI,GAIhB,WAAA;AAAC,IAAAC,KAAA,GARgBA,SAQhBA,KAAAA,GAAA;AAAA,EAAA,OAKW,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,KAAAA,GAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AAAAA,IAAAA,OAAY,CAACA,KAAK,KAAK,WAAW,GAAG,MAAM,GAAGA,KAAK,KAAA,MAAA,CAAAC,MAAA,CAAYC,MAAM,CAACC,mBAAmB,EAAG,GAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAHrG,IAAMC,gBAAgB,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,QAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,UAAA,EAAA,cAGzBX,KAA+F,EAAA,CAAA;AAAA,GAAA;AAAA,CAQ3G;;;;"}
@@ -0,0 +1,2 @@
1
+ .b1gxyazn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:10rem;}
2
+ .s5pkh4{background:var(--plasma-time-picker-grid-grid-background);border-radius:var(--plasma-time-picker-grid-grid-border-radius);width:var(--s5pkh4-0);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:var(--plasma-time-picker-grid-grid-padding);-webkit-flex:1 1 1;-ms-flex:1 1 1;flex:1 1 1;gap:var(--plasma-time-picker-grid-scrollbar-width);box-sizing:border-box;position:relative;height:var(--plasma-time-picker-grid-column-height);}
@@ -0,0 +1,35 @@
1
+ var classes = {
2
+ timePickerGridRoot: '--plasma-time-picker-grid-grid-root',
3
+ timePickerGridStretched: '--plasma-time-picker-grid-grid-stretched',
4
+ timeItemActive: '--plasma-time-picker-grid-item-active',
5
+ timeColumn: '--plasma-time-picker-grid-column',
6
+ scrollbarVisible: '--plasma-time-picker-grid-scrollbar-visible',
7
+ timeColumnActive: '--plasma-time-picker-grid-column-active',
8
+ itemDisabled: '--plasma-time-picker-grid-item-disabled'
9
+ };
10
+ var tokens = {
11
+ timePickerGridBackground: '--plasma-time-picker-grid-grid-background',
12
+ timePickerGridBorderRadius: '--plasma-time-picker-grid-grid-border-radius',
13
+ timePickerGridWidth: '--plasma-time-picker-grid-grid-width',
14
+ timePickerGridPadding: '--plasma-time-picker-grid-grid-padding',
15
+ disabledOpacity: '--plasma-time-picker-grid-disabled-opacity',
16
+ columnHeight: '--plasma-time-picker-grid-column-height',
17
+ itemHeight: '--plasma-time-picker-grid-item-height',
18
+ itemBorderRadius: '--plasma-time-picker-grid-item-border-radius',
19
+ itemPadding: '--plasma-time-picker-grid-item-padding',
20
+ itemBackgroundHover: '--plasma-time-picker-grid-item-hover-background',
21
+ itemBackgroundActive: '--plasma-time-picker-grid-item-active-background',
22
+ itemFontFamily: '--plasma-time-picker-grid-item-font-family',
23
+ itemFontStyle: '--plasma-time-picker-grid-item-font-style',
24
+ itemFontSize: '--plasma-time-picker-grid-item-font-size',
25
+ itemFontWeight: '--plasma-time-picker-grid-item-font-weight',
26
+ itemLetterSpacing: '--plasma-time-picker-grid-item-letter-spacing',
27
+ itemLineHeight: '--plasma-time-picker-grid-item-line-height',
28
+ scrollbarWidth: '--plasma-time-picker-grid-scrollbar-width',
29
+ scrollbarColor: '--plasma-time-picker-grid-scrollbar-color',
30
+ scrollbarTrackColor: '--plasma-time-picker-grid-scrollbar-track-color',
31
+ scrollbarMargin: '--plasma-time-picker-grid-scrollbar-margin'
32
+ };
33
+
34
+ export { classes, tokens };
35
+ //# sourceMappingURL=TimePickerGrid.tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePickerGrid.tokens.js","sources":["../../../src/components/TimePickerGrid/TimePickerGrid.tokens.ts"],"sourcesContent":["export const classes = {\n timePickerGridRoot: '--plasma-time-picker-grid-grid-root',\n timePickerGridStretched: '--plasma-time-picker-grid-grid-stretched',\n timeItemActive: '--plasma-time-picker-grid-item-active',\n timeColumn: '--plasma-time-picker-grid-column',\n scrollbarVisible: '--plasma-time-picker-grid-scrollbar-visible',\n timeColumnActive: '--plasma-time-picker-grid-column-active',\n itemDisabled: '--plasma-time-picker-grid-item-disabled',\n};\n\nexport const tokens = {\n timePickerGridBackground: '--plasma-time-picker-grid-grid-background',\n timePickerGridBorderRadius: '--plasma-time-picker-grid-grid-border-radius',\n timePickerGridWidth: '--plasma-time-picker-grid-grid-width',\n timePickerGridPadding: '--plasma-time-picker-grid-grid-padding',\n\n disabledOpacity: '--plasma-time-picker-grid-disabled-opacity',\n\n columnHeight: '--plasma-time-picker-grid-column-height',\n\n itemHeight: '--plasma-time-picker-grid-item-height',\n itemBorderRadius: '--plasma-time-picker-grid-item-border-radius',\n itemPadding: '--plasma-time-picker-grid-item-padding',\n itemBackgroundHover: '--plasma-time-picker-grid-item-hover-background',\n itemBackgroundActive: '--plasma-time-picker-grid-item-active-background',\n\n itemFontFamily: '--plasma-time-picker-grid-item-font-family',\n itemFontStyle: '--plasma-time-picker-grid-item-font-style',\n itemFontSize: '--plasma-time-picker-grid-item-font-size',\n itemFontWeight: '--plasma-time-picker-grid-item-font-weight',\n itemLetterSpacing: '--plasma-time-picker-grid-item-letter-spacing',\n itemLineHeight: '--plasma-time-picker-grid-item-line-height',\n\n scrollbarWidth: '--plasma-time-picker-grid-scrollbar-width',\n scrollbarColor: '--plasma-time-picker-grid-scrollbar-color',\n scrollbarTrackColor: '--plasma-time-picker-grid-scrollbar-track-color',\n scrollbarMargin: '--plasma-time-picker-grid-scrollbar-margin',\n};\n"],"names":["classes","timePickerGridRoot","timePickerGridStretched","timeItemActive","timeColumn","scrollbarVisible","timeColumnActive","itemDisabled","tokens","timePickerGridBackground","timePickerGridBorderRadius","timePickerGridWidth","timePickerGridPadding","disabledOpacity","columnHeight","itemHeight","itemBorderRadius","itemPadding","itemBackgroundHover","itemBackgroundActive","itemFontFamily","itemFontStyle","itemFontSize","itemFontWeight","itemLetterSpacing","itemLineHeight","scrollbarWidth","scrollbarColor","scrollbarTrackColor","scrollbarMargin"],"mappings":"AAAO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,kBAAkB,EAAE,qCAAqC;AACzDC,EAAAA,uBAAuB,EAAE,0CAA0C;AACnEC,EAAAA,cAAc,EAAE,uCAAuC;AACvDC,EAAAA,UAAU,EAAE,kCAAkC;AAC9CC,EAAAA,gBAAgB,EAAE,6CAA6C;AAC/DC,EAAAA,gBAAgB,EAAE,yCAAyC;AAC3DC,EAAAA,YAAY,EAAE,yCAAA;AAClB,EAAC;AAEM,IAAMC,MAAM,GAAG;AAClBC,EAAAA,wBAAwB,EAAE,2CAA2C;AACrEC,EAAAA,0BAA0B,EAAE,8CAA8C;AAC1EC,EAAAA,mBAAmB,EAAE,sCAAsC;AAC3DC,EAAAA,qBAAqB,EAAE,wCAAwC;AAE/DC,EAAAA,eAAe,EAAE,4CAA4C;AAE7DC,EAAAA,YAAY,EAAE,yCAAyC;AAEvDC,EAAAA,UAAU,EAAE,uCAAuC;AACnDC,EAAAA,gBAAgB,EAAE,8CAA8C;AAChEC,EAAAA,WAAW,EAAE,wCAAwC;AACrDC,EAAAA,mBAAmB,EAAE,iDAAiD;AACtEC,EAAAA,oBAAoB,EAAE,kDAAkD;AAExEC,EAAAA,cAAc,EAAE,4CAA4C;AAC5DC,EAAAA,aAAa,EAAE,2CAA2C;AAC1DC,EAAAA,YAAY,EAAE,0CAA0C;AACxDC,EAAAA,cAAc,EAAE,4CAA4C;AAC5DC,EAAAA,iBAAiB,EAAE,+CAA+C;AAClEC,EAAAA,cAAc,EAAE,4CAA4C;AAE5DC,EAAAA,cAAc,EAAE,2CAA2C;AAC3DC,EAAAA,cAAc,EAAE,2CAA2C;AAC3DC,EAAAA,mBAAmB,EAAE,iDAAiD;AACtEC,EAAAA,eAAe,EAAE,4CAAA;AACrB;;;;"}
@@ -0,0 +1,7 @@
1
+ .TimeColumn_styles_1nwjzgi_s1gom5ty__3e50ba9a{position:relative;width:100%;}
2
+ .TimeColumn_styles_1nwjzgi_s1qroyi1__3e50ba9a{height:var(--plasma-time-picker-grid-item-height);padding:var(--plasma-time-picker-grid-item-padding);box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:0.05s;transition:0.05s;border-radius:var(--plasma-time-picker-grid-item-border-radius);cursor:pointer;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:auto;font-family:var(--plasma-time-picker-grid-item-font-family);font-size:var(--plasma-time-picker-grid-item-font-size);font-style:var(--plasma-time-picker-grid-item-font-style);font-weight:var(--plasma-time-picker-grid-item-font-weight);-webkit-letter-spacing:var(--plasma-time-picker-grid-item-letter-spacing);-moz-letter-spacing:var(--plasma-time-picker-grid-item-letter-spacing);-ms-letter-spacing:var(--plasma-time-picker-grid-item-letter-spacing);letter-spacing:var(--plasma-time-picker-grid-item-letter-spacing);line-height:var(--plasma-time-picker-grid-item-line-height);}.TimeColumn_styles_1nwjzgi_s1qroyi1__3e50ba9a:hover{background:var(--plasma-time-picker-grid-item-hover-background);}.TimeColumn_styles_1nwjzgi_s1qroyi1__3e50ba9a.TimeColumn_styles_1nwjzgi__PlasmaTimePickerGridItemActive__3e50ba9a{background:var(--plasma-time-picker-grid-item-active-background);}.TimeColumn_styles_1nwjzgi_s1qroyi1__3e50ba9a.TimeColumn_styles_1nwjzgi__PlasmaTimePickerGridItemDisabled__3e50ba9a{cursor:not-allowed;opacity:var(--plasma-time-picker-grid-disabled-opacity);}
3
+ .TimeColumn_styles_1nwjzgi_s1jwci1h__3e50ba9a{max-height:var(--s1jwci1h-0);overflow-y:scroll;-webkit-flex:1;-ms-flex:1;flex:1;z-index:3;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--plasma-time-picker-grid-scrollbar-width);width:100%;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;-ms-overflow-style:none;}.TimeColumn_styles_1nwjzgi_s1jwci1h__3e50ba9a.TimeColumn_styles_1nwjzgi__PlasmaTimePickerGridColumnActive__3e50ba9a{border:0.125rem solid var(--plasma-time-picker-grid-item-hover-background);border-radius:var(--plasma-time-picker-grid-item-border-radius);}.TimeColumn_styles_1nwjzgi_s1jwci1h__3e50ba9a::-webkit-scrollbar{display:none;width:0;}
4
+ .TimeColumn_styles_1nwjzgi_csx57j8__3e50ba9a{position:absolute;top:var(--plasma-time-picker-grid-scrollbar-margin);right:0;bottom:var(--plasma-time-picker-grid-scrollbar-margin);width:var(--plasma-time-picker-grid-scrollbar-width);opacity:0;-webkit-transition:opacity 0.3s ease;transition:opacity 0.3s ease;pointer-events:none;z-index:10;overflow:hidden;}.TimeColumn_styles_1nwjzgi_csx57j8__3e50ba9a.TimeColumn_styles_1nwjzgi__PlasmaTimePickerGridScrollbarVisible__3e50ba9a{opacity:1;pointer-events:auto;}
5
+ .TimeColumn_styles_1nwjzgi_s1dh0qqv__3e50ba9a{position:relative;width:100%;height:100%;background:var(--plasma-time-picker-grid-scrollbar-track-color);border-radius:var(--plasma-time-picker-grid-scrollbar-width);}
6
+ .TimeColumn_styles_1nwjzgi_s1h9xdi8__3e50ba9a{position:absolute;top:0;left:0;width:100%;background:var(--plasma-time-picker-grid-scrollbar-color);border-radius:var(--plasma-time-picker-grid-scrollbar-width);cursor:pointer;-webkit-transition:background-color 0.2s ease;transition:background-color 0.2s ease;}.TimeColumn_styles_1nwjzgi_s1h9xdi8__3e50ba9a:hover{background:var(--plasma-time-picker-grid-scrollbar-color);}.TimeColumn_styles_1nwjzgi_s1h9xdi8__3e50ba9a:active{background:var(--plasma-time-picker-grid-scrollbar-track-color);}
7
+ .TimeColumn_styles_1nwjzgi_s1dt15pt__3e50ba9a{width:100%;height:0%.125rem;}
@@ -0,0 +1,109 @@
1
+ import { defineProperty as _defineProperty } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React from 'react';
3
+ import cls from 'classnames';
4
+ import { classes } from '../../TimePickerGrid.tokens.js';
5
+ import { StyledRoot, StyledTimeColumn, StyledTimeItem, StyledEmpty, CustomScrollbar, ScrollbarTrack, ScrollbarThumb } from './TimeColumn.styles.js';
6
+
7
+ var _StyledEmpty;
8
+ var renderTimeColumn = function renderTimeColumn(_ref) {
9
+ var values = _ref.values,
10
+ disabledValues = _ref.disabledValues,
11
+ dropdownHeight = _ref.dropdownHeight,
12
+ column = _ref.column,
13
+ activeTime = _ref.activeTime,
14
+ handleTimeItemClick = _ref.handleTimeItemClick,
15
+ handleTimeItemKeyDown = _ref.handleTimeItemKeyDown,
16
+ createScrollbarDragHandler = _ref.createScrollbarDragHandler,
17
+ setScrollbar = _ref.setScrollbar,
18
+ columnRef = _ref.columnRef,
19
+ scrollbarState = _ref.scrollbarState,
20
+ scrollbarRef = _ref.scrollbarRef,
21
+ thumbRef = _ref.thumbRef,
22
+ timeoutRef = _ref.timeoutRef,
23
+ timeItemRefs = _ref.timeItemRefs;
24
+ var handleKeyDown = function handleKeyDown(e, columnType, value) {
25
+ handleTimeItemKeyDown(e, columnType, value);
26
+ };
27
+ var handleClick = function handleClick(value, columnType) {
28
+ var isDisabled = disabledValues === null || disabledValues === void 0 ? void 0 : disabledValues.some(function (disabledValue) {
29
+ return parseInt(disabledValue.toString(), 10) === parseInt(value, 10);
30
+ });
31
+ if (!isDisabled) {
32
+ handleTimeItemClick(value, columnType);
33
+ }
34
+ };
35
+ var minDisableIndex = function minDisableIndex() {
36
+ if (!disabledValues || disabledValues.length === 0) {
37
+ return 0;
38
+ }
39
+ var disabledNumbers = disabledValues.map(function (val) {
40
+ return parseInt(val.toString(), 10);
41
+ });
42
+ for (var i = 0; i < values.length; i++) {
43
+ var currentValue = parseInt(values[i], 10);
44
+ if (!disabledNumbers.includes(currentValue)) {
45
+ return i;
46
+ }
47
+ }
48
+ return 0;
49
+ };
50
+ var isColumnActive = activeTime.currentColumn === column;
51
+ var minAvailableIndex = minDisableIndex();
52
+ return /*#__PURE__*/React.createElement(StyledRoot, null, /*#__PURE__*/React.createElement(StyledTimeColumn, {
53
+ key: column,
54
+ ref: columnRef,
55
+ height: dropdownHeight,
56
+ className: classes.timeColumn,
57
+ tabIndex: -1
58
+ }, values.map(function (value, index) {
59
+ var isDisabled = disabledValues === null || disabledValues === void 0 ? void 0 : disabledValues.some(function (disabledValue) {
60
+ return disabledValue === index;
61
+ });
62
+ var isActive = activeTime[column] === parseInt(value, 10);
63
+ var getTabIndex = function getTabIndex() {
64
+ if (isDisabled) return -1;
65
+ var isValueActive = activeTime[column] === parseInt(value, 10);
66
+ if (isColumnActive && isValueActive) {
67
+ return 0;
68
+ }
69
+ if (index === minAvailableIndex) {
70
+ return 0;
71
+ }
72
+ return -1;
73
+ };
74
+ var tabIndex = getTabIndex();
75
+ return /*#__PURE__*/React.createElement(StyledTimeItem, {
76
+ key: column + value,
77
+ ref: function ref(el) {
78
+ timeItemRefs.current["".concat(column, "-").concat(value)] = el;
79
+ },
80
+ className: cls(_defineProperty(_defineProperty({}, classes.timeItemActive, isActive), classes.itemDisabled, isDisabled)),
81
+ onClick: function onClick() {
82
+ return handleClick(value, column);
83
+ },
84
+ onKeyDown: function onKeyDown(e) {
85
+ return handleKeyDown(e, column, value);
86
+ },
87
+ "aria-disabled": isDisabled,
88
+ tabIndex: tabIndex,
89
+ "data-value": value,
90
+ "data-column": column,
91
+ "data-active": isActive
92
+ }, value);
93
+ }), _StyledEmpty || (_StyledEmpty = /*#__PURE__*/React.createElement(StyledEmpty, null))), /*#__PURE__*/React.createElement(CustomScrollbar, {
94
+ ref: scrollbarRef,
95
+ className: cls(_defineProperty({}, classes.scrollbarVisible, scrollbarState === null || scrollbarState === void 0 ? void 0 : scrollbarState.isVisible)),
96
+ tabIndex: -1
97
+ }, /*#__PURE__*/React.createElement(ScrollbarTrack, null, /*#__PURE__*/React.createElement(ScrollbarThumb, {
98
+ ref: thumbRef,
99
+ style: {
100
+ height: "".concat(scrollbarState === null || scrollbarState === void 0 ? void 0 : scrollbarState.thumbHeight, "px"),
101
+ top: "".concat(scrollbarState === null || scrollbarState === void 0 ? void 0 : scrollbarState.thumbPosition, "px")
102
+ },
103
+ onMouseDown: columnRef && setScrollbar && timeoutRef ? createScrollbarDragHandler(columnRef, setScrollbar, timeoutRef) : undefined,
104
+ tabIndex: -1
105
+ }))));
106
+ };
107
+
108
+ export { renderTimeColumn };
109
+ //# sourceMappingURL=TimeColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeColumn.js","sources":["../../../../../src/components/TimePickerGrid/ui/TimeColumn/TimeColumn.tsx"],"sourcesContent":["import React from 'react';\nimport cls from 'classnames';\n\nimport { classes } from '../../TimePickerGrid.tokens';\n\nimport {\n StyledTimeColumn,\n StyledTimeItem,\n StyledEmpty,\n CustomScrollbar,\n ScrollbarTrack,\n ScrollbarThumb,\n StyledRoot,\n} from './TimeColumn.styles';\nimport { TimeColumnProps, TimeColumnType } from './TimeColumn.types';\n\nexport const renderTimeColumn = ({\n values,\n disabledValues,\n dropdownHeight,\n column,\n activeTime,\n handleTimeItemClick,\n handleTimeItemKeyDown,\n createScrollbarDragHandler,\n setScrollbar,\n columnRef,\n scrollbarState,\n scrollbarRef,\n thumbRef,\n timeoutRef,\n timeItemRefs,\n}: TimeColumnProps) => {\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>, columnType: TimeColumnType, value: string) => {\n handleTimeItemKeyDown(e, columnType, value);\n };\n\n const handleClick = (value: string, columnType: TimeColumnType) => {\n const isDisabled = disabledValues?.some(\n (disabledValue) => parseInt(disabledValue.toString(), 10) === parseInt(value, 10),\n );\n\n if (!isDisabled) {\n handleTimeItemClick(value, columnType);\n }\n };\n\n const minDisableIndex = () => {\n if (!disabledValues || disabledValues.length === 0) {\n return 0;\n }\n\n const disabledNumbers = disabledValues.map((val) => parseInt(val.toString(), 10));\n\n for (let i = 0; i < values.length; i++) {\n const currentValue = parseInt(values[i], 10);\n if (!disabledNumbers.includes(currentValue)) {\n return i;\n }\n }\n\n return 0;\n };\n\n const isColumnActive = activeTime.currentColumn === column;\n const minAvailableIndex = minDisableIndex();\n\n return (\n <StyledRoot>\n <StyledTimeColumn\n key={column}\n ref={columnRef}\n height={dropdownHeight}\n className={classes.timeColumn}\n tabIndex={-1}\n >\n {values.map((value, index) => {\n const isDisabled = disabledValues?.some((disabledValue) => disabledValue === index);\n const isActive = activeTime[column] === parseInt(value, 10);\n\n const getTabIndex = () => {\n if (isDisabled) return -1;\n\n const isValueActive = activeTime[column] === parseInt(value, 10);\n\n if (isColumnActive && isValueActive) {\n return 0;\n }\n if (index === minAvailableIndex) {\n return 0;\n }\n\n return -1;\n };\n\n const tabIndex = getTabIndex();\n\n return (\n <StyledTimeItem\n key={column + value}\n ref={(el) => {\n timeItemRefs.current[`${column}-${value}`] = el;\n }}\n className={cls({\n [classes.timeItemActive]: isActive,\n [classes.itemDisabled]: isDisabled,\n })}\n onClick={() => handleClick(value, column)}\n onKeyDown={(e) => handleKeyDown(e, column, value)}\n aria-disabled={isDisabled}\n tabIndex={tabIndex}\n data-value={value}\n data-column={column}\n data-active={isActive}\n >\n {value}\n </StyledTimeItem>\n );\n })}\n <StyledEmpty />\n </StyledTimeColumn>\n\n <CustomScrollbar\n ref={scrollbarRef}\n className={cls({\n [classes.scrollbarVisible]: scrollbarState?.isVisible,\n })}\n tabIndex={-1}\n >\n <ScrollbarTrack>\n <ScrollbarThumb\n ref={thumbRef}\n style={{\n height: `${scrollbarState?.thumbHeight}px`,\n top: `${scrollbarState?.thumbPosition}px`,\n }}\n onMouseDown={\n columnRef && setScrollbar && timeoutRef\n ? createScrollbarDragHandler(columnRef, setScrollbar, timeoutRef)\n : undefined\n }\n tabIndex={-1}\n />\n </ScrollbarTrack>\n </CustomScrollbar>\n </StyledRoot>\n );\n};\n"],"names":["renderTimeColumn","_ref","values","disabledValues","dropdownHeight","column","activeTime","handleTimeItemClick","handleTimeItemKeyDown","createScrollbarDragHandler","setScrollbar","columnRef","scrollbarState","scrollbarRef","thumbRef","timeoutRef","timeItemRefs","handleKeyDown","e","columnType","value","handleClick","isDisabled","some","disabledValue","parseInt","toString","minDisableIndex","length","disabledNumbers","map","val","i","currentValue","includes","isColumnActive","currentColumn","minAvailableIndex","React","createElement","StyledRoot","StyledTimeColumn","key","ref","height","className","classes","timeColumn","tabIndex","index","isActive","getTabIndex","isValueActive","StyledTimeItem","el","current","concat","cls","_defineProperty","timeItemActive","itemDisabled","onClick","onKeyDown","_StyledEmpty","StyledEmpty","CustomScrollbar","scrollbarVisible","isVisible","ScrollbarTrack","ScrollbarThumb","style","thumbHeight","top","thumbPosition","onMouseDown","undefined"],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- import './TimeColumn.styles_juymyb.css';
1
+ import './TimeColumn.styles_1nwjzgi.css';
2
2
  import { styled } from '@linaria/react';
3
- import { tokens } from '../../TimePicker.tokens.js';
3
+ import { tokens } from '../../TimePickerGrid.tokens.js';
4
4
 
5
5
  var StyledRoot = /*#__PURE__*/styled('div')({
6
6
  name: "StyledRoot",
7
- "class": "s1okclyy",
7
+ "class": "s1gom5ty",
8
8
  propsAsIs: false
9
9
  });
10
10
  var StyledTimeItem = /*#__PURE__*/styled('div')({
11
11
  name: "StyledTimeItem",
12
- "class": "s14v4skc",
12
+ "class": "s1qroyi1",
13
13
  propsAsIs: false
14
14
  });
15
- var _exp13 = function _exp13() {
15
+ var _exp15 = function _exp15() {
16
16
  return function (_ref) {
17
17
  var height = _ref.height;
18
18
  return height || "var(".concat(tokens.columnHeight, ")");
@@ -20,30 +20,30 @@ var _exp13 = function _exp13() {
20
20
  };
21
21
  var StyledTimeColumn = /*#__PURE__*/styled('div')({
22
22
  name: "StyledTimeColumn",
23
- "class": "s1mtrybc",
23
+ "class": "s1jwci1h",
24
24
  propsAsIs: false,
25
25
  vars: {
26
- "s1mtrybc-0": [/*#__PURE__*/_exp13()]
26
+ "s1jwci1h-0": [/*#__PURE__*/_exp15()]
27
27
  }
28
28
  });
29
29
  var CustomScrollbar = /*#__PURE__*/styled('div')({
30
30
  name: "CustomScrollbar",
31
- "class": "c3ksbzv",
31
+ "class": "csx57j8",
32
32
  propsAsIs: false
33
33
  });
34
34
  var ScrollbarTrack = /*#__PURE__*/styled('div')({
35
35
  name: "ScrollbarTrack",
36
- "class": "s13lzs6z",
36
+ "class": "s1dh0qqv",
37
37
  propsAsIs: false
38
38
  });
39
39
  var ScrollbarThumb = /*#__PURE__*/styled('div')({
40
40
  name: "ScrollbarThumb",
41
- "class": "svmgxvm",
41
+ "class": "s1h9xdi8",
42
42
  propsAsIs: false
43
43
  });
44
44
  var StyledEmpty = /*#__PURE__*/styled('div')({
45
45
  name: "StyledEmpty",
46
- "class": "s1bw3c91",
46
+ "class": "s1dt15pt",
47
47
  propsAsIs: false
48
48
  });
49
49
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeColumn.styles.js","sources":["../../../../../src/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../TimePickerGrid.tokens';\n\nexport const StyledRoot = styled.div`\n position: relative;\n width: 100%;\n`;\n\nexport const StyledTimeItem = styled.div`\n height: var(${tokens.itemHeight});\n padding: var(${tokens.itemPadding});\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: 0.05s;\n border-radius: var(${tokens.itemBorderRadius});\n cursor: pointer;\n flex-shrink: 0;\n overflow: auto;\n\n font-family: var(${tokens.itemFontFamily});\n font-size: var(${tokens.itemFontSize});\n font-style: var(${tokens.itemFontStyle});\n font-weight: var(${tokens.itemFontWeight});\n letter-spacing: var(${tokens.itemLetterSpacing});\n line-height: var(${tokens.itemLineHeight});\n\n &:hover {\n background: var(${tokens.itemBackgroundHover});\n }\n &.${classes.timeItemActive} {\n background: var(${tokens.itemBackgroundActive});\n }\n\n &.${classes.itemDisabled} {\n cursor: not-allowed;\n opacity: var(${tokens.disabledOpacity});\n }\n`;\n\nexport const StyledTimeColumn = styled.div<{ height?: string | number }>`\n max-height: ${({ height }) => height || `var(${tokens.columnHeight})`};\n overflow-y: scroll;\n flex: 1;\n z-index: 3;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(${tokens.scrollbarWidth});\n width: 100%;\n\n &.${classes.timeColumnActive} {\n border: 0.125rem solid var(${tokens.itemBackgroundHover});\n border-radius: var(${tokens.itemBorderRadius});\n }\n\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n display: none;\n width: 0;\n }\n`;\n\nexport const CustomScrollbar = styled.div`\n position: absolute;\n top: var(${tokens.scrollbarMargin});\n right: 0;\n bottom: var(${tokens.scrollbarMargin});\n width: var(${tokens.scrollbarWidth});\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: none;\n z-index: 10;\n overflow: hidden;\n\n &.${classes.scrollbarVisible} {\n opacity: 1;\n pointer-events: auto;\n }\n`;\n\nexport const ScrollbarTrack = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n background: var(${tokens.scrollbarTrackColor});\n border-radius: var(${tokens.scrollbarWidth});\n`;\n\nexport const ScrollbarThumb = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n background: var(${tokens.scrollbarColor});\n border-radius: var(${tokens.scrollbarWidth});\n cursor: pointer;\n transition: background-color 0.2s ease;\n\n &:hover {\n background: var(${tokens.scrollbarColor});\n }\n\n &:active {\n background: var(${tokens.scrollbarTrackColor});\n }\n`;\n\nexport const StyledEmpty = styled.div`\n width: 100%;\n height: 0%.125rem;\n`;\n"],"names":["StyledRoot","styled","name","class","propsAsIs","StyledTimeItem","_exp15","_ref","height","concat","tokens","columnHeight","StyledTimeColumn","vars","CustomScrollbar","ScrollbarTrack","ScrollbarThumb","StyledEmpty"],"mappings":";;;AAIO,IAAMA,UAAU,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAG/B,EAAA;AAEM,IAAMC,cAAc,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,gBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CA+BnC,EAAA;AAAC,IAAAE,MAAA,GAvCgBA,SAuChBA,MAAAA,GAAA;AAAA,EAAA,OAGgB,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,MAAAA,GAAAA,IAAAA,CAAAA,MAAAA,CAAAA;AAAAA,IAAAA,OAAaA,MAAM,IAAAC,MAAAA,CAAAA,MAAA,CAAWC,MAAM,CAACC,YAAY,EAAG,GAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AADlE,IAAMC,gBAAgB,gBAAGX,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAS,EAAAA,IAAA,EAAA;AAAA,IAAA,YAAA,EAAA,cACpBP,MAAuD,EAAA,CAAA;AAAA,GAAA;AAAA,CAsBxE,EAAA;AAEM,IAAMQ,eAAe,gBAAGb,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,iBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAgBpC,EAAA;AAEM,IAAMW,cAAc,gBAAGd,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,gBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAMnC,EAAA;AAEM,IAAMY,cAAc,gBAAGf,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,gBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiBnC,EAAA;AAEM,IAAMa,WAAW,gBAAGhB,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAGhC;;;;"}
@@ -0,0 +1,7 @@
1
+ .s1gom5ty{position:relative;width:100%;}
2
+ .s1qroyi1{height:var(--plasma-time-picker-grid-item-height);padding:var(--plasma-time-picker-grid-item-padding);box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:0.05s;transition:0.05s;border-radius:var(--plasma-time-picker-grid-item-border-radius);cursor:pointer;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:auto;font-family:var(--plasma-time-picker-grid-item-font-family);font-size:var(--plasma-time-picker-grid-item-font-size);font-style:var(--plasma-time-picker-grid-item-font-style);font-weight:var(--plasma-time-picker-grid-item-font-weight);-webkit-letter-spacing:var(--plasma-time-picker-grid-item-letter-spacing);-moz-letter-spacing:var(--plasma-time-picker-grid-item-letter-spacing);-ms-letter-spacing:var(--plasma-time-picker-grid-item-letter-spacing);letter-spacing:var(--plasma-time-picker-grid-item-letter-spacing);line-height:var(--plasma-time-picker-grid-item-line-height);}.s1qroyi1:hover{background:var(--plasma-time-picker-grid-item-hover-background);}.s1qroyi1.--plasma-time-picker-grid-item-active{background:var(--plasma-time-picker-grid-item-active-background);}.s1qroyi1.--plasma-time-picker-grid-item-disabled{cursor:not-allowed;opacity:var(--plasma-time-picker-grid-disabled-opacity);}
3
+ .s1jwci1h{max-height:var(--s1jwci1h-0);overflow-y:scroll;-webkit-flex:1;-ms-flex:1;flex:1;z-index:3;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--plasma-time-picker-grid-scrollbar-width);width:100%;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;-ms-overflow-style:none;}.s1jwci1h.--plasma-time-picker-grid-column-active{border:0.125rem solid var(--plasma-time-picker-grid-item-hover-background);border-radius:var(--plasma-time-picker-grid-item-border-radius);}.s1jwci1h::-webkit-scrollbar{display:none;width:0;}
4
+ .csx57j8{position:absolute;top:var(--plasma-time-picker-grid-scrollbar-margin);right:0;bottom:var(--plasma-time-picker-grid-scrollbar-margin);width:var(--plasma-time-picker-grid-scrollbar-width);opacity:0;-webkit-transition:opacity 0.3s ease;transition:opacity 0.3s ease;pointer-events:none;z-index:10;overflow:hidden;}.csx57j8.--plasma-time-picker-grid-scrollbar-visible{opacity:1;pointer-events:auto;}
5
+ .s1dh0qqv{position:relative;width:100%;height:100%;background:var(--plasma-time-picker-grid-scrollbar-track-color);border-radius:var(--plasma-time-picker-grid-scrollbar-width);}
6
+ .s1h9xdi8{position:absolute;top:0;left:0;width:100%;background:var(--plasma-time-picker-grid-scrollbar-color);border-radius:var(--plasma-time-picker-grid-scrollbar-width);cursor:pointer;-webkit-transition:background-color 0.2s ease;transition:background-color 0.2s ease;}.s1h9xdi8:hover{background:var(--plasma-time-picker-grid-scrollbar-color);}.s1h9xdi8:active{background:var(--plasma-time-picker-grid-scrollbar-track-color);}
7
+ .s1dt15pt{width:100%;height:0%.125rem;}
@@ -0,0 +1,126 @@
1
+ var getColumnsFromFormat = function getColumnsFromFormat(format) {
2
+ var parts = format.split(':');
3
+ var columns = [];
4
+ parts.forEach(function (part) {
5
+ switch (part) {
6
+ case 'HH':
7
+ columns.push({
8
+ type: 'hours',
9
+ values: range(24),
10
+ format: 'HH'
11
+ });
12
+ break;
13
+ case 'mm':
14
+ columns.push({
15
+ type: 'minutes',
16
+ values: range(60),
17
+ format: 'mm'
18
+ });
19
+ break;
20
+ case 'ss':
21
+ columns.push({
22
+ type: 'seconds',
23
+ values: range(60),
24
+ format: 'ss'
25
+ });
26
+ break;
27
+ }
28
+ });
29
+ return columns;
30
+ };
31
+ var parseTimeString = function parseTimeString(timeString, format) {
32
+ var timeParts = timeString.split(':');
33
+ var formatParts = format.split(':');
34
+ var result = {
35
+ hh: null,
36
+ mm: null,
37
+ ss: null
38
+ };
39
+ formatParts.forEach(function (part, index) {
40
+ var value = timeParts[index] ? parseInt(timeParts[index], 10) : null;
41
+ switch (part) {
42
+ case 'HH':
43
+ result.hh = value;
44
+ break;
45
+ case 'mm':
46
+ result.mm = value;
47
+ break;
48
+ case 'ss':
49
+ result.ss = value;
50
+ break;
51
+ }
52
+ });
53
+ return result;
54
+ };
55
+ var buildTimeString = function buildTimeString(timeValues, format) {
56
+ var formatParts = format.split(':');
57
+ return formatParts.map(function (part) {
58
+ switch (part) {
59
+ case 'HH':
60
+ return timeValues.hh !== null ? timeValues.hh.toString().padStart(2, '0') : '00';
61
+ case 'mm':
62
+ return timeValues.mm !== null ? timeValues.mm.toString().padStart(2, '0') : '00';
63
+ case 'ss':
64
+ return timeValues.ss !== null ? timeValues.ss.toString().padStart(2, '0') : '00';
65
+ default:
66
+ return '00';
67
+ }
68
+ }).join(':');
69
+ };
70
+ var isTimeDisabled = function isTimeDisabled(timeValues, min, max, format) {
71
+ if (!min && !max) return false;
72
+ if (timeValues.hh === null || timeValues.mm === null || timeValues.ss === null) {
73
+ return false;
74
+ }
75
+ var totalSeconds = timeValues.hh * 3600 + timeValues.mm * 60 + timeValues.ss;
76
+ var minSeconds = 0;
77
+ var maxSeconds = 23 * 3600 + 59 * 60 + 59;
78
+ if (min) {
79
+ if (min instanceof Date) {
80
+ minSeconds = min.getHours() * 3600 + min.getMinutes() * 60 + min.getSeconds();
81
+ } else {
82
+ var minTime = parseTimeString(min, format !== null && format !== void 0 ? format : 'HH:mm:ss');
83
+ minSeconds = (minTime.hh || 0) * 3600 + (minTime.mm || 0) * 60 + (minTime.ss || 0);
84
+ }
85
+ }
86
+ if (max) {
87
+ if (max instanceof Date) {
88
+ maxSeconds = max.getHours() * 3600 + max.getMinutes() * 60 + max.getSeconds();
89
+ } else {
90
+ var maxTime = parseTimeString(max, format !== null && format !== void 0 ? format : 'HH:mm:ss');
91
+ maxSeconds = (maxTime.hh || 0) * 3600 + (maxTime.mm || 0) * 60 + (maxTime.ss || 0);
92
+ }
93
+ }
94
+ return totalSeconds < minSeconds || totalSeconds > maxSeconds;
95
+ };
96
+ var range = function range(number) {
97
+ var padLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
98
+ return Array.from({
99
+ length: number
100
+ }, function (_, i) {
101
+ return i.toString().padStart(padLength, '0');
102
+ });
103
+ };
104
+ var animateScrollTo = function animateScrollTo(element, targetScrollTop) {
105
+ var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;
106
+ var startScrollTop = element.scrollTop;
107
+ var distance = targetScrollTop - startScrollTop;
108
+ var startTime = null;
109
+ var animate = function animate(currentTime) {
110
+ if (!startTime) startTime = currentTime;
111
+ var timeElapsed = currentTime - startTime;
112
+ var progress = Math.min(timeElapsed / duration, 1);
113
+ var easeOut = function easeOut(t) {
114
+ return 1 - Math.pow(1 - t, 3);
115
+ };
116
+ var scrollPosition = startScrollTop + distance * easeOut(progress);
117
+ element.scrollTop = scrollPosition;
118
+ if (timeElapsed < duration) {
119
+ requestAnimationFrame(animate);
120
+ }
121
+ };
122
+ requestAnimationFrame(animate);
123
+ };
124
+
125
+ export { animateScrollTo, buildTimeString, getColumnsFromFormat, isTimeDisabled, parseTimeString, range };
126
+ //# sourceMappingURL=index.js.map