@salutejs/plasma-new-hope 0.336.0-canary.2220.17673344609.0 → 0.336.0-canary.2222.17762952669.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 (325) hide show
  1. package/cjs/components/CodeField/CodeField.css +7 -6
  2. package/cjs/components/CodeField/CodeField.js +63 -27
  3. package/cjs/components/CodeField/CodeField.js.map +1 -1
  4. package/cjs/components/CodeField/CodeField.styles.js +7 -1
  5. package/cjs/components/CodeField/CodeField.styles.js.map +1 -1
  6. package/cjs/components/CodeField/{CodeField.styles_ebdpd0.css → CodeField.styles_14p25hi.css} +1 -0
  7. package/cjs/components/CodeField/hooks/useWebOTP.js +95 -0
  8. package/cjs/components/CodeField/hooks/useWebOTP.js.map +1 -0
  9. package/cjs/components/CodeField/utils/handleCodeError.js +2 -2
  10. package/cjs/components/CodeField/utils/handleCodeError.js.map +1 -1
  11. package/cjs/components/CodeField/utils/handleItemError.js +14 -4
  12. package/cjs/components/CodeField/utils/handleItemError.js.map +1 -1
  13. package/cjs/components/CodeField/utils/isWebOTPSupported.js +10 -0
  14. package/cjs/components/CodeField/utils/isWebOTPSupported.js.map +1 -0
  15. package/cjs/components/Combobox/ComboboxNew/Combobox.js +11 -10
  16. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  17. package/cjs/components/DatePicker/RangeDate/RangeDate.js +30 -22
  18. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  19. package/cjs/components/Drawer/Drawer.css +2 -2
  20. package/cjs/components/Drawer/Drawer.js +10 -7
  21. package/cjs/components/Drawer/Drawer.js.map +1 -1
  22. package/cjs/components/Drawer/Drawer.styles.js +10 -2
  23. package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
  24. package/{es/components/Drawer/Drawer.styles_h5od79.css → cjs/components/Drawer/Drawer.styles_pltzxq.css} +1 -1
  25. package/cjs/components/Drawer/Drawer.tokens.js +10 -0
  26. package/cjs/components/Drawer/Drawer.tokens.js.map +1 -1
  27. package/cjs/components/Pagination/Pagination.css +12 -10
  28. package/cjs/components/Pagination/Pagination.js +57 -5
  29. package/cjs/components/Pagination/Pagination.js.map +1 -1
  30. package/cjs/components/Pagination/Pagination.styles.js +19 -7
  31. package/cjs/components/Pagination/Pagination.styles.js.map +1 -1
  32. package/{es/components/Pagination/Pagination.styles_ska0td.css → cjs/components/Pagination/Pagination.styles_qhyqps.css} +5 -3
  33. package/cjs/components/Pagination/Pagination.tokens.js +3 -0
  34. package/cjs/components/Pagination/Pagination.tokens.js.map +1 -1
  35. package/cjs/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.css +3 -3
  36. package/cjs/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles.js +1 -1
  37. package/cjs/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles.js.map +1 -1
  38. package/{es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles_89ax1q.css → cjs/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles_1sw6ww1.css} +2 -2
  39. package/cjs/components/Popover/Popover.js +4 -1
  40. package/cjs/components/Popover/Popover.js.map +1 -1
  41. package/cjs/components/Select/Select.js +12 -10
  42. package/cjs/components/Select/Select.js.map +1 -1
  43. package/cjs/components/Switch/Switch.css +6 -6
  44. package/cjs/components/Switch/Switch.js +5 -2
  45. package/cjs/components/Switch/Switch.js.map +1 -1
  46. package/cjs/components/Switch/Switch.styles.js +1 -1
  47. package/cjs/components/Switch/Switch.styles.js.map +1 -1
  48. package/cjs/components/Switch/{Switch.styles_qjefea.css → Switch.styles_158fwwl.css} +1 -1
  49. package/cjs/components/Switch/Switch.tokens.js +2 -1
  50. package/cjs/components/Switch/Switch.tokens.js.map +1 -1
  51. package/cjs/components/TextField/TextField.js +1 -1
  52. package/cjs/components/TextField/TextField.js.map +1 -1
  53. package/cjs/components/TextField/TextField.tokens.js +1 -0
  54. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  55. package/cjs/components/Tree/Tree.css +7 -6
  56. package/cjs/components/Tree/Tree.js +42 -1
  57. package/cjs/components/Tree/Tree.js.map +1 -1
  58. package/cjs/components/Tree/Tree.styles.js +17 -2
  59. package/cjs/components/Tree/Tree.styles.js.map +1 -1
  60. package/cjs/components/Tree/Tree.styles_1bw3k0r.css +8 -0
  61. package/cjs/components/Tree/Tree.tokens.js +5 -2
  62. package/cjs/components/Tree/Tree.tokens.js.map +1 -1
  63. package/cjs/components/Tree/utils/traverseTree.js +3 -3
  64. package/cjs/components/Tree/utils/traverseTree.js.map +1 -1
  65. package/cjs/engines/common.js.map +1 -1
  66. package/cjs/engines/index.js.map +1 -1
  67. package/cjs/index.css +34 -30
  68. package/emotion/cjs/components/CodeField/CodeField.js +61 -23
  69. package/emotion/cjs/components/CodeField/CodeField.styles.js +18 -11
  70. package/emotion/cjs/components/CodeField/hooks/useWebOTP.js +246 -0
  71. package/emotion/cjs/components/CodeField/utils/handleCodeError.js +2 -2
  72. package/emotion/cjs/components/CodeField/utils/handleItemError.js +12 -3
  73. package/emotion/cjs/components/CodeField/utils/index.js +4 -0
  74. package/emotion/cjs/components/CodeField/utils/isWebOTPSupported.js +13 -0
  75. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +10 -10
  76. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +24 -22
  77. package/emotion/cjs/components/Drawer/Drawer.js +13 -4
  78. package/emotion/cjs/components/Drawer/Drawer.styles.js +7 -4
  79. package/emotion/cjs/components/Drawer/Drawer.tokens.js +12 -0
  80. package/emotion/cjs/components/Pagination/Pagination.js +53 -5
  81. package/emotion/cjs/components/Pagination/Pagination.styles.js +28 -14
  82. package/emotion/cjs/components/Pagination/Pagination.tokens.js +3 -0
  83. package/emotion/cjs/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles.js +6 -6
  84. package/emotion/cjs/components/Popover/Popover.js +3 -1
  85. package/emotion/cjs/components/Select/Select.js +10 -10
  86. package/emotion/cjs/components/Switch/Switch.js +4 -2
  87. package/emotion/cjs/components/Switch/Switch.styles.js +11 -11
  88. package/emotion/cjs/components/Switch/Switch.tokens.js +2 -1
  89. package/emotion/cjs/components/TextField/TextField.js +2 -2
  90. package/emotion/cjs/components/TextField/TextField.tokens.js +1 -0
  91. package/emotion/cjs/components/Tree/Tree.js +31 -1
  92. package/emotion/cjs/components/Tree/Tree.styles.js +23 -13
  93. package/emotion/cjs/components/Tree/Tree.tokens.js +5 -2
  94. package/emotion/cjs/components/Tree/utils/traverseTree.js +3 -3
  95. package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
  96. package/emotion/cjs/examples/components/Pagination/Pagination.config.js +12 -12
  97. package/emotion/cjs/examples/components/Range/Range.config.js +8 -7
  98. package/emotion/cjs/examples/components/Tree/Tree.config.js +5 -5
  99. package/emotion/es/components/CodeField/CodeField.js +64 -26
  100. package/emotion/es/components/CodeField/CodeField.styles.js +15 -11
  101. package/emotion/es/components/CodeField/hooks/useWebOTP.js +236 -0
  102. package/emotion/es/components/CodeField/utils/handleCodeError.js +2 -2
  103. package/emotion/es/components/CodeField/utils/handleItemError.js +12 -3
  104. package/emotion/es/components/CodeField/utils/index.js +1 -0
  105. package/emotion/es/components/CodeField/utils/isWebOTPSupported.js +3 -0
  106. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +10 -10
  107. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +24 -22
  108. package/emotion/es/components/Drawer/Drawer.js +9 -5
  109. package/emotion/es/components/Drawer/Drawer.styles.js +8 -5
  110. package/emotion/es/components/Drawer/Drawer.tokens.js +9 -0
  111. package/emotion/es/components/Pagination/Pagination.js +55 -7
  112. package/emotion/es/components/Pagination/Pagination.styles.js +23 -15
  113. package/emotion/es/components/Pagination/Pagination.tokens.js +3 -0
  114. package/emotion/es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles.js +6 -6
  115. package/emotion/es/components/Popover/Popover.js +4 -2
  116. package/emotion/es/components/Select/Select.js +10 -10
  117. package/emotion/es/components/Switch/Switch.js +4 -2
  118. package/emotion/es/components/Switch/Switch.styles.js +11 -11
  119. package/emotion/es/components/Switch/Switch.tokens.js +2 -1
  120. package/emotion/es/components/TextField/TextField.js +2 -2
  121. package/emotion/es/components/TextField/TextField.tokens.js +1 -0
  122. package/emotion/es/components/Tree/Tree.js +32 -2
  123. package/emotion/es/components/Tree/Tree.styles.js +20 -13
  124. package/emotion/es/components/Tree/Tree.tokens.js +5 -2
  125. package/emotion/es/components/Tree/utils/traverseTree.js +3 -3
  126. package/emotion/es/examples/components/Combobox/Combobox.js +0 -7
  127. package/emotion/es/examples/components/Pagination/Pagination.config.js +12 -12
  128. package/emotion/es/examples/components/Range/Range.config.js +8 -7
  129. package/emotion/es/examples/components/Tree/Tree.config.js +5 -5
  130. package/es/components/CodeField/CodeField.css +7 -6
  131. package/es/components/CodeField/CodeField.js +66 -30
  132. package/es/components/CodeField/CodeField.js.map +1 -1
  133. package/es/components/CodeField/CodeField.styles.js +7 -2
  134. package/es/components/CodeField/CodeField.styles.js.map +1 -1
  135. package/es/components/CodeField/{CodeField.styles_ebdpd0.css → CodeField.styles_14p25hi.css} +1 -0
  136. package/es/components/CodeField/hooks/useWebOTP.js +91 -0
  137. package/es/components/CodeField/hooks/useWebOTP.js.map +1 -0
  138. package/es/components/CodeField/utils/handleCodeError.js +2 -2
  139. package/es/components/CodeField/utils/handleCodeError.js.map +1 -1
  140. package/es/components/CodeField/utils/handleItemError.js +14 -4
  141. package/es/components/CodeField/utils/handleItemError.js.map +1 -1
  142. package/es/components/CodeField/utils/isWebOTPSupported.js +6 -0
  143. package/es/components/CodeField/utils/isWebOTPSupported.js.map +1 -0
  144. package/es/components/Combobox/ComboboxNew/Combobox.js +11 -10
  145. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  146. package/es/components/DatePicker/RangeDate/RangeDate.js +30 -22
  147. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  148. package/es/components/Drawer/Drawer.css +2 -2
  149. package/es/components/Drawer/Drawer.js +8 -6
  150. package/es/components/Drawer/Drawer.js.map +1 -1
  151. package/es/components/Drawer/Drawer.styles.js +10 -2
  152. package/es/components/Drawer/Drawer.styles.js.map +1 -1
  153. package/{cjs/components/Drawer/Drawer.styles_h5od79.css → es/components/Drawer/Drawer.styles_pltzxq.css} +1 -1
  154. package/es/components/Drawer/Drawer.tokens.js +10 -1
  155. package/es/components/Drawer/Drawer.tokens.js.map +1 -1
  156. package/es/components/Pagination/Pagination.css +12 -10
  157. package/es/components/Pagination/Pagination.js +59 -7
  158. package/es/components/Pagination/Pagination.js.map +1 -1
  159. package/es/components/Pagination/Pagination.styles.js +18 -8
  160. package/es/components/Pagination/Pagination.styles.js.map +1 -1
  161. package/{cjs/components/Pagination/Pagination.styles_ska0td.css → es/components/Pagination/Pagination.styles_qhyqps.css} +5 -3
  162. package/es/components/Pagination/Pagination.tokens.js +3 -0
  163. package/es/components/Pagination/Pagination.tokens.js.map +1 -1
  164. package/es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.css +3 -3
  165. package/es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles.js +1 -1
  166. package/es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles.js.map +1 -1
  167. package/{cjs/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles_89ax1q.css → es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles_1sw6ww1.css} +2 -2
  168. package/es/components/Popover/Popover.js +4 -1
  169. package/es/components/Popover/Popover.js.map +1 -1
  170. package/es/components/Select/Select.js +12 -10
  171. package/es/components/Select/Select.js.map +1 -1
  172. package/es/components/Switch/Switch.css +6 -6
  173. package/es/components/Switch/Switch.js +5 -2
  174. package/es/components/Switch/Switch.js.map +1 -1
  175. package/es/components/Switch/Switch.styles.js +1 -1
  176. package/es/components/Switch/Switch.styles.js.map +1 -1
  177. package/es/components/Switch/{Switch.styles_qjefea.css → Switch.styles_158fwwl.css} +1 -1
  178. package/es/components/Switch/Switch.tokens.js +2 -1
  179. package/es/components/Switch/Switch.tokens.js.map +1 -1
  180. package/es/components/TextField/TextField.js +1 -1
  181. package/es/components/TextField/TextField.js.map +1 -1
  182. package/es/components/TextField/TextField.tokens.js +1 -0
  183. package/es/components/TextField/TextField.tokens.js.map +1 -1
  184. package/es/components/Tree/Tree.css +7 -6
  185. package/es/components/Tree/Tree.js +43 -2
  186. package/es/components/Tree/Tree.js.map +1 -1
  187. package/es/components/Tree/Tree.styles.js +17 -3
  188. package/es/components/Tree/Tree.styles.js.map +1 -1
  189. package/es/components/Tree/Tree.styles_1bw3k0r.css +8 -0
  190. package/es/components/Tree/Tree.tokens.js +5 -2
  191. package/es/components/Tree/Tree.tokens.js.map +1 -1
  192. package/es/components/Tree/utils/traverseTree.js +3 -3
  193. package/es/components/Tree/utils/traverseTree.js.map +1 -1
  194. package/es/engines/common.js.map +1 -1
  195. package/es/engines/index.js.map +1 -1
  196. package/es/index.css +34 -30
  197. package/package.json +4 -4
  198. package/styled-components/cjs/components/CodeField/CodeField.js +61 -23
  199. package/styled-components/cjs/components/CodeField/CodeField.styles.js +14 -5
  200. package/styled-components/cjs/components/CodeField/hooks/useWebOTP.js +246 -0
  201. package/styled-components/cjs/components/CodeField/utils/handleCodeError.js +2 -2
  202. package/styled-components/cjs/components/CodeField/utils/handleItemError.js +12 -3
  203. package/styled-components/cjs/components/CodeField/utils/index.js +4 -0
  204. package/styled-components/cjs/components/CodeField/utils/isWebOTPSupported.js +13 -0
  205. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +10 -10
  206. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +24 -22
  207. package/styled-components/cjs/components/Drawer/Drawer.js +13 -4
  208. package/styled-components/cjs/components/Drawer/Drawer.styles.js +14 -4
  209. package/styled-components/cjs/components/Drawer/Drawer.tokens.js +12 -0
  210. package/styled-components/cjs/components/Pagination/Pagination.js +53 -5
  211. package/styled-components/cjs/components/Pagination/Pagination.styles.js +39 -12
  212. package/styled-components/cjs/components/Pagination/Pagination.tokens.js +3 -0
  213. package/styled-components/cjs/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles.js +5 -5
  214. package/styled-components/cjs/components/Popover/Popover.js +3 -1
  215. package/styled-components/cjs/components/Select/Select.js +10 -10
  216. package/styled-components/cjs/components/Switch/Switch.js +4 -2
  217. package/styled-components/cjs/components/Switch/Switch.styles.js +9 -8
  218. package/styled-components/cjs/components/Switch/Switch.tokens.js +2 -1
  219. package/styled-components/cjs/components/TextField/TextField.js +1 -1
  220. package/styled-components/cjs/components/TextField/TextField.tokens.js +1 -0
  221. package/styled-components/cjs/components/Tree/Tree.js +31 -1
  222. package/styled-components/cjs/components/Tree/Tree.styles.js +24 -8
  223. package/styled-components/cjs/components/Tree/Tree.tokens.js +5 -2
  224. package/styled-components/cjs/components/Tree/utils/traverseTree.js +3 -3
  225. package/styled-components/cjs/examples/components/Pagination/Pagination.config.js +18 -11
  226. package/styled-components/cjs/examples/components/Range/Range.config.js +46 -0
  227. package/styled-components/cjs/examples/components/Tree/Tree.config.js +6 -2
  228. package/styled-components/es/components/CodeField/CodeField.js +64 -26
  229. package/styled-components/es/components/CodeField/CodeField.styles.js +11 -5
  230. package/styled-components/es/components/CodeField/hooks/useWebOTP.js +236 -0
  231. package/styled-components/es/components/CodeField/utils/handleCodeError.js +2 -2
  232. package/styled-components/es/components/CodeField/utils/handleItemError.js +12 -3
  233. package/styled-components/es/components/CodeField/utils/index.js +1 -0
  234. package/styled-components/es/components/CodeField/utils/isWebOTPSupported.js +3 -0
  235. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +10 -10
  236. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +24 -22
  237. package/styled-components/es/components/Drawer/Drawer.js +9 -5
  238. package/styled-components/es/components/Drawer/Drawer.styles.js +15 -5
  239. package/styled-components/es/components/Drawer/Drawer.tokens.js +9 -0
  240. package/styled-components/es/components/Pagination/Pagination.js +55 -7
  241. package/styled-components/es/components/Pagination/Pagination.styles.js +34 -13
  242. package/styled-components/es/components/Pagination/Pagination.tokens.js +3 -0
  243. package/styled-components/es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles.js +5 -5
  244. package/styled-components/es/components/Popover/Popover.js +4 -2
  245. package/styled-components/es/components/Select/Select.js +10 -10
  246. package/styled-components/es/components/Switch/Switch.js +4 -2
  247. package/styled-components/es/components/Switch/Switch.styles.js +9 -8
  248. package/styled-components/es/components/Switch/Switch.tokens.js +2 -1
  249. package/styled-components/es/components/TextField/TextField.js +1 -1
  250. package/styled-components/es/components/TextField/TextField.tokens.js +1 -0
  251. package/styled-components/es/components/Tree/Tree.js +32 -2
  252. package/styled-components/es/components/Tree/Tree.styles.js +21 -8
  253. package/styled-components/es/components/Tree/Tree.tokens.js +5 -2
  254. package/styled-components/es/components/Tree/utils/traverseTree.js +3 -3
  255. package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
  256. package/styled-components/es/examples/components/Pagination/Pagination.config.js +18 -11
  257. package/styled-components/es/examples/components/Range/Range.config.js +46 -0
  258. package/styled-components/es/examples/components/Tree/Tree.config.js +6 -2
  259. package/types/components/CodeField/CodeField.d.ts.map +1 -1
  260. package/types/components/CodeField/CodeField.styles.d.ts +1 -0
  261. package/types/components/CodeField/CodeField.styles.d.ts.map +1 -1
  262. package/types/components/CodeField/hooks/useWebOTP.d.ts +20 -0
  263. package/types/components/CodeField/hooks/useWebOTP.d.ts.map +1 -0
  264. package/types/components/CodeField/utils/handleCodeError.d.ts +2 -2
  265. package/types/components/CodeField/utils/handleCodeError.d.ts.map +1 -1
  266. package/types/components/CodeField/utils/handleItemError.d.ts +3 -2
  267. package/types/components/CodeField/utils/handleItemError.d.ts.map +1 -1
  268. package/types/components/CodeField/utils/index.d.ts +1 -0
  269. package/types/components/CodeField/utils/index.d.ts.map +1 -1
  270. package/types/components/CodeField/utils/isWebOTPSupported.d.ts +2 -0
  271. package/types/components/CodeField/utils/isWebOTPSupported.d.ts.map +1 -0
  272. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  273. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  274. package/types/components/Drawer/Drawer.d.ts +2 -0
  275. package/types/components/Drawer/Drawer.d.ts.map +1 -1
  276. package/types/components/Drawer/Drawer.styles.d.ts +2 -1
  277. package/types/components/Drawer/Drawer.styles.d.ts.map +1 -1
  278. package/types/components/Drawer/Drawer.tokens.d.ts +9 -0
  279. package/types/components/Drawer/Drawer.tokens.d.ts.map +1 -1
  280. package/types/components/Drawer/Drawer.types.d.ts +16 -0
  281. package/types/components/Drawer/Drawer.types.d.ts.map +1 -1
  282. package/types/components/Pagination/Pagination.d.ts.map +1 -1
  283. package/types/components/Pagination/Pagination.styles.d.ts +2 -0
  284. package/types/components/Pagination/Pagination.styles.d.ts.map +1 -1
  285. package/types/components/Pagination/Pagination.tokens.d.ts +3 -0
  286. package/types/components/Pagination/Pagination.tokens.d.ts.map +1 -1
  287. package/types/components/Pagination/Pagination.types.d.ts +6 -0
  288. package/types/components/Pagination/Pagination.types.d.ts.map +1 -1
  289. package/types/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.styles.d.ts.map +1 -1
  290. package/types/components/Popover/Popover.d.ts.map +1 -1
  291. package/types/components/Select/Select.d.ts.map +1 -1
  292. package/types/components/Switch/Switch.d.ts.map +1 -1
  293. package/types/components/Switch/Switch.styles.d.ts.map +1 -1
  294. package/types/components/Switch/Switch.tokens.d.ts +1 -0
  295. package/types/components/Switch/Switch.tokens.d.ts.map +1 -1
  296. package/types/components/Switch/Switch.types.d.ts +5 -0
  297. package/types/components/Switch/Switch.types.d.ts.map +1 -1
  298. package/types/components/TextField/TextField.tokens.d.ts +1 -0
  299. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  300. package/types/components/Tree/Tree.d.ts +3 -3
  301. package/types/components/Tree/Tree.d.ts.map +1 -1
  302. package/types/components/Tree/Tree.styles.d.ts +3 -0
  303. package/types/components/Tree/Tree.styles.d.ts.map +1 -1
  304. package/types/components/Tree/Tree.tokens.d.ts +3 -0
  305. package/types/components/Tree/Tree.tokens.d.ts.map +1 -1
  306. package/types/components/Tree/Tree.types.d.ts +50 -1
  307. package/types/components/Tree/Tree.types.d.ts.map +1 -1
  308. package/types/components/Tree/utils/traverseTree.d.ts.map +1 -1
  309. package/types/engines/common.d.ts +3 -3
  310. package/types/engines/common.d.ts.map +1 -1
  311. package/types/engines/index.d.ts +1 -1
  312. package/types/engines/index.d.ts.map +1 -1
  313. package/types/engines/types.d.ts +4 -0
  314. package/types/engines/types.d.ts.map +1 -1
  315. package/types/examples/components/Drawer/Drawer.d.ts +1 -0
  316. package/types/examples/components/Drawer/Drawer.d.ts.map +1 -1
  317. package/types/examples/components/Pagination/Pagination.config.d.ts.map +1 -1
  318. package/types/examples/components/Range/Range.config.d.ts +1 -0
  319. package/types/examples/components/Range/Range.config.d.ts.map +1 -1
  320. package/types/examples/components/Range/Range.d.ts +1 -0
  321. package/types/examples/components/Range/Range.d.ts.map +1 -1
  322. package/types/examples/components/Tree/Tree.config.d.ts.map +1 -1
  323. package/types/examples/components/Tree/Tree.d.ts.map +1 -1
  324. package/cjs/components/Tree/Tree.styles_6sla5y.css +0 -7
  325. package/es/components/Tree/Tree.styles_6sla5y.css +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef, MouseEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId, isEmpty } from 'src/utils';\nimport { RootProps } from 'src/engines';\nimport { useOutsideClick, useDidMountLayoutEffect } from 'src/hooks';\n\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getTextValue,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap] = useMemo(() => getTreeMaps(transformedItems), [items]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(value.filter((val) => valueToItemMap?.get(val)?.disabled));\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n };\n\n // Обработчик клика на таргет\n const handleTargetClick = () => {\n if (!isCurrentListOpen) {\n handleListToggle(true);\n }\n };\n\n const getChips = (): { value: string; label: string; disabled: boolean }[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [\n {\n value: '_removeAll',\n label: `Выбрано ${targetAmount || value.length}`,\n disabled: value.every((val) => valueToItemMap?.get(val)?.disabled),\n },\n ];\n }\n\n return value.map((value) => {\n const currentLabel = renderValue\n ? renderValue(valueToItemMap.get(value) || { value, label: value })\n : valueToItemMap.get(value)?.label || value.toString();\n\n return {\n value,\n label: currentLabel,\n disabled: valueToItemMap.get(value)?.disabled || false,\n };\n });\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const helperTextStopPropagation = (event: MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <div onClick={handleTargetClick}>\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper\n disabled={disabled}\n onClick={handleClickArrow}\n className={classes.comboboxTargetArrow}\n >\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {helperText}\n </StyledLeftHelper>\n )\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue)\n : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n _chips: getChips(),\n _onChipClick: handleChipClick,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n </div>\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n ref={targetRef}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","listWrapperRef","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","handleListToggle","stopPropagation","handleTextValueChange","target","handleChipClick","chip","val","_valueToItemMap$get","get","opened","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","length","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","useDidMountLayoutEffect","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","onClick","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","className","comboboxTargetArrow","StyledArrow","color","sizeToIconSize","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","_chips","_onChipClick","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","index","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef, MouseEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId, isEmpty } from 'src/utils';\nimport { RootProps } from 'src/engines';\nimport { useOutsideClick, useDidMountLayoutEffect } from 'src/hooks';\n\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getTextValue,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap] = useMemo(() => getTreeMaps(transformedItems), [items]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const rootRef = useRef<HTMLInputElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n handleListToggle(false);\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(value.filter((val) => valueToItemMap?.get(val)?.disabled));\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiple && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n };\n\n // Обработчик клика на таргет\n const handleTargetClick = () => {\n if (!isCurrentListOpen) {\n handleListToggle(true);\n }\n };\n\n const getChips = (): { value: string; label: string; disabled: boolean }[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [\n {\n value: '_removeAll',\n label: `Выбрано ${targetAmount || value.length}`,\n disabled: value.every((val) => valueToItemMap?.get(val)?.disabled),\n },\n ];\n }\n\n return value.map((value) => {\n const currentLabel = renderValue\n ? renderValue(valueToItemMap.get(value) || { value, label: value })\n : valueToItemMap.get(value)?.label || value.toString();\n\n return {\n value,\n label: currentLabel,\n disabled: valueToItemMap.get(value)?.disabled || false,\n };\n });\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const helperTextStopPropagation = (event: MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n ref={rootRef}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <div onClick={handleTargetClick}>\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper\n disabled={disabled}\n onClick={handleClickArrow}\n className={classes.comboboxTargetArrow}\n >\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {helperText}\n </StyledLeftHelper>\n )\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue)\n : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n _chips: getChips(),\n _onChipClick: handleChipClick,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n </div>\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n ref={targetRef}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","rootRef","useRef","inputRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","listWrapperRef","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","stopPropagation","handleTextValueChange","target","type","handleChipClick","chip","val","_valueToItemMap$get","get","opened","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","useDidMountLayoutEffect","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","onClick","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","className","comboboxTargetArrow","StyledArrow","color","sizeToIconSize","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","_chips","_onChipClick","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","index","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -250,16 +250,6 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
250
250
  return;
251
251
  }
252
252
  var isCalendarOpen = (firstInputRef !== null && firstInputRef !== void 0 && (_firstInputRef$curren = firstInputRef.current) !== null && _firstInputRef$curren !== void 0 && _firstInputRef$curren.contains((event === null || event === void 0 ? void 0 : event.target) || null) || secondInputRef !== null && secondInputRef !== void 0 && (_secondInputRef$curre = secondInputRef.current) !== null && _secondInputRef$curre !== void 0 && _secondInputRef$curre.contains((event === null || event === void 0 ? void 0 : event.target) || null)) && (event === null || event === void 0 ? void 0 : event.code) !== keys.Escape ? true : currentOpened;
253
- if (!isCalendarOpen) {
254
- if (calendarFirstValue && !calendarSecondValue) {
255
- var _secondInputRef$curre2;
256
- secondInputRef === null || secondInputRef === void 0 || (_secondInputRef$curre2 = secondInputRef.current) === null || _secondInputRef$curre2 === void 0 || _secondInputRef$curre2.focus();
257
- }
258
- if (calendarSecondValue && !calendarFirstValue) {
259
- var _firstInputRef$curren2;
260
- firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
261
- }
262
- }
263
253
  if (!isCalendarOpen) {
264
254
  setSecondTextFieldClicked(false);
265
255
  }
@@ -300,28 +290,46 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
300
290
  endOriginalDate = _getFormattedDates2.originalDate;
301
291
  if (!calendarFirstValue && correctStartDates.calendar) {
302
292
  startOriginalDate = new Date(correctStartDates.calendar);
293
+ }
294
+ if (!calendarSecondValue && correctEndDates.calendar) {
295
+ endOriginalDate = new Date(correctEndDates.calendar);
296
+ }
297
+ var _getSortedValues = getSortedValues([startOriginalDate, endOriginalDate]),
298
+ _getSortedValues2 = _slicedToArray(_getSortedValues, 2),
299
+ startValue = _getSortedValues2[0],
300
+ endValue = _getSortedValues2[1];
301
+ var _getFormattedDates3 = getFormattedDates(_objectSpread2({
302
+ value: startValue,
303
+ delimiter: dateFormatDelimiter
304
+ }, commonArgs)),
305
+ formattedFirstDate = _getFormattedDates3.formattedDate,
306
+ originalFirstDate = _getFormattedDates3.originalDate,
307
+ isoFirstDate = _getFormattedDates3.isoDate;
308
+ var _getFormattedDates4 = getFormattedDates(_objectSpread2({
309
+ value: endValue,
310
+ delimiter: dateFormatDelimiter
311
+ }, commonArgs)),
312
+ formattedSecondDate = _getFormattedDates4.formattedDate,
313
+ originalSecondDate = _getFormattedDates4.originalDate,
314
+ isoSecondDate = _getFormattedDates4.isoDate;
315
+ if (formattedFirstDate !== inputFirstValue) {
303
316
  if (onChangeFirstValue) {
304
- onChangeFirstValue(event, correctStartDates.input, correctStartDates.calendar, correctStartDates.calendar.toISOString());
317
+ onChangeFirstValue(event, formattedFirstDate, originalFirstDate, isoFirstDate);
305
318
  }
306
319
  if (onCommitFirstDate) {
307
- var dateInfo = getFirstQuarterInfo(correctStartDates.calendar);
308
- onCommitFirstDate(correctStartDates.input, false, true, dateInfo, correctStartDates.calendar, correctStartDates.calendar.toISOString());
320
+ var dateInfo = originalFirstDate ? getFirstQuarterInfo(originalFirstDate) : undefined;
321
+ onCommitFirstDate(formattedFirstDate, false, true, dateInfo, originalFirstDate, isoFirstDate);
309
322
  }
310
323
  }
311
- if (!calendarSecondValue && correctEndDates.calendar) {
312
- endOriginalDate = new Date(correctEndDates.calendar);
324
+ if (formattedSecondDate !== inputSecondValue) {
313
325
  if (onChangeSecondValue) {
314
- onChangeSecondValue(event, correctEndDates.input, correctEndDates.calendar, correctEndDates.calendar.toISOString());
326
+ onChangeSecondValue(event, formattedSecondDate, originalSecondDate, isoSecondDate);
315
327
  }
316
328
  if (onCommitSecondDate) {
317
- var _dateInfo = getSecondQuarterInfo(correctEndDates.calendar);
318
- onCommitSecondDate(correctEndDates.input, false, true, _dateInfo, correctEndDates.calendar, correctEndDates.calendar.toISOString());
329
+ var _dateInfo = originalSecondDate ? getSecondQuarterInfo(originalSecondDate) : undefined;
330
+ onCommitSecondDate(formattedSecondDate, false, true, _dateInfo, originalSecondDate, isoSecondDate);
319
331
  }
320
332
  }
321
- var _getSortedValues = getSortedValues([startOriginalDate, endOriginalDate]),
322
- _getSortedValues2 = _slicedToArray(_getSortedValues, 2),
323
- startValue = _getSortedValues2[0],
324
- endValue = _getSortedValues2[1];
325
333
  setFirstInputValue(startValue);
326
334
  setSecondInputValue(endValue);
327
335
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
@@ -1 +1 @@
1
- {"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n SetStateAction,\n} from 'react';\nimport type { RootProps } from 'src/engines';\nimport { noop } from 'src/utils';\n\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo, DateType } from '../../Calendar/Calendar.types';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerRangeProps } from './RangeDate.types';\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 { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\nimport { RootWrapperProps } from './RangeDatePopover/RangeDatePopover.types';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n\n value: outerValue,\n defaultFirstDate = '',\n defaultSecondDate = '',\n preserveInvalidOnBlur,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n required,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n zIndex,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n onToggle,\n\n onChange,\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const dateFormatDelimiter = getDateFormatDelimiter(format);\n\n const [startInnerDate, setStartInnerDate] = useState<string | DateType>(defaultFirstDate || '');\n const startDateValue = outerValue?.[0] ?? startInnerDate;\n\n const startInitialValues = getFormattedDates({\n value: startDateValue,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [endInnerDate, setEndInnerDate] = useState<string | DateType>(defaultSecondDate || '');\n const endDateValue = outerValue?.[1] ?? endInnerDate;\n\n const endInitialValues = getFormattedDates({\n value: endDateValue,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctStartDates, setCorrectStartDates] = useState({\n calendar: startInitialValues.originalDate,\n input: startInitialValues.formattedDate,\n });\n const [correctEndDates, setCorrectEndDates] = useState({\n calendar: endInitialValues.originalDate,\n input: endInitialValues.formattedDate,\n });\n\n const calendarFirstValue: DateType = startInitialValues.originalDate;\n const inputFirstValue = startInitialValues.formattedDate;\n\n const calendarSecondValue: DateType = endInitialValues.originalDate;\n const inputSecondValue = endInitialValues.formattedDate;\n\n const fullDateEntered = Boolean(calendarFirstValue && calendarSecondValue);\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;\n const rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;\n\n const handleInputChange = (value: string) => {\n if (onChange) {\n onChange({\n target: {\n value,\n name,\n },\n });\n }\n };\n\n const setFirstInputValue = (value: SetStateAction<string | DateType>) => {\n setStartInnerDate(value);\n handleInputChange(`${value} - ${inputSecondValue}`);\n };\n\n const setSecondInputValue = (value: SetStateAction<string | DateType>) => {\n setEndInnerDate(value);\n handleInputChange(`${inputFirstValue} - ${value}`);\n };\n\n const commonUseDatePickerArgs = {\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n dateFormatDelimiter,\n };\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCalendarPick: handleFirstCalendarPick,\n handleSearch: handleSearchFirst,\n updateExternalDate: updateExternalFirstDate,\n getQuarterInfo: getFirstQuarterInfo,\n } = useDatePicker({\n currentValue: inputFirstValue,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n ...commonUseDatePickerArgs,\n\n setCorrectDates: setCorrectStartDates,\n setInnerDate: setFirstInputValue,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCalendarPick: handleSecondCalendarPick,\n handleSearch: handleSearchSecond,\n updateExternalDate: updateExternalSecondDate,\n getQuarterInfo: getSecondQuarterInfo,\n } = useDatePicker({\n currentValue: inputSecondValue,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n ...commonUseDatePickerArgs,\n\n setCorrectDates: setCorrectEndDates,\n setInnerDate: setSecondInputValue,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (currentOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n (firstInputRef?.current?.contains((event?.target as Node) || null) ||\n secondInputRef?.current?.contains((event?.target as Node) || null)) &&\n (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n if (calendarFirstValue && !calendarSecondValue) {\n secondInputRef?.current?.focus();\n }\n if (calendarSecondValue && !calendarFirstValue) {\n firstInputRef?.current?.focus();\n }\n }\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue || preserveInvalidOnBlur) {\n outerHandler?.(event);\n return;\n }\n\n const commonArgs = { lang, format, includeEdgeDates, min, max };\n\n let { originalDate: startOriginalDate } = getFormattedDates({\n value: inputFirstValue,\n delimiter: dateFormatDelimiter,\n ...commonArgs,\n });\n\n let { originalDate: endOriginalDate } = getFormattedDates({\n value: inputSecondValue,\n delimiter: dateFormatDelimiter,\n ...commonArgs,\n });\n\n if (!calendarFirstValue && correctStartDates.calendar) {\n startOriginalDate = new Date(correctStartDates.calendar);\n\n if (onChangeFirstValue) {\n onChangeFirstValue(\n event,\n correctStartDates.input,\n correctStartDates.calendar,\n correctStartDates.calendar.toISOString(),\n );\n }\n\n if (onCommitFirstDate) {\n const dateInfo = getFirstQuarterInfo(correctStartDates.calendar);\n\n onCommitFirstDate(\n correctStartDates.input,\n false,\n true,\n dateInfo,\n correctStartDates.calendar,\n correctStartDates.calendar.toISOString(),\n );\n }\n }\n\n if (!calendarSecondValue && correctEndDates.calendar) {\n endOriginalDate = new Date(correctEndDates.calendar);\n\n if (onChangeSecondValue) {\n onChangeSecondValue(\n event,\n correctEndDates.input,\n correctEndDates.calendar,\n correctEndDates.calendar.toISOString(),\n );\n }\n\n if (onCommitSecondDate) {\n const dateInfo = getSecondQuarterInfo(correctEndDates.calendar);\n\n onCommitSecondDate(\n correctEndDates.input,\n false,\n true,\n dateInfo,\n correctEndDates.calendar,\n correctEndDates.calendar.toISOString(),\n );\n }\n }\n\n const [startValue, endValue] = getSortedValues([startOriginalDate, endOriginalDate]);\n\n setFirstInputValue(startValue);\n setSecondInputValue(endValue);\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleFirstCalendarPick(chosenDate, dateInfo);\n handleSecondCalendarPick(undefined);\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleFirstCalendarPick(first, dateInfo);\n handleSecondCalendarPick(second, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [DateType, DateType], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleFirstCalendarPick(firstDate, dateInfo);\n }\n\n if (secondDate) {\n handleSecondCalendarPick(secondDate, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n name={name}\n onSearchFirstValue={(_, date) => {\n handleSearchFirst(String(date));\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleSearchSecond(String(date));\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, onBlurSecondTextfield)}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n if (!startDateValue) {\n updateExternalFirstDate(defaultFirstDate);\n }\n }, [defaultFirstDate, format, lang]);\n\n useLayoutEffect(() => {\n if (!endDateValue) {\n updateExternalSecondDate(defaultSecondDate);\n }\n }, [defaultSecondDate, format, lang]);\n\n const RootWrapper = useCallback<RootWrapperProps>(\n forwardRef(({ children, className: rootWrapperClassName, onClick }, rootWrapperRef) => (\n <Root\n ref={rootWrapperRef}\n view={view}\n size={size}\n className={rootWrapperClassName}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onClick={onClick}\n >\n {children}\n </Root>\n )),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, { [classes.datePickerstretched]: stretched })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n frame={frame}\n usePortal={usePortal}\n zIndex={zIndex}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n stretched={stretched}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n setIsInnerOpen={setIsInnerOpen}\n />\n {leftHelper && (\n <LeftHelper className={cls(rangeErrorClass, rangeSuccessClass)}>{leftHelper}</LeftHelper>\n )}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\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 readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","_outerValue$","_outerValue$2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","outerValue","value","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","preserveInvalidOnBlur","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","zIndex","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","calendarContainerWidth","calendarContainerHeight","stretched","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","getDateFormatDelimiter","_useState7","_useState8","startInnerDate","setStartInnerDate","startDateValue","startInitialValues","getFormattedDates","delimiter","_useState9","_useState10","endInnerDate","setEndInnerDate","endDateValue","endInitialValues","_useState11","calendar","originalDate","input","formattedDate","_useState12","correctStartDates","setCorrectStartDates","_useState13","_useState14","correctEndDates","setCorrectEndDates","calendarFirstValue","inputFirstValue","calendarSecondValue","inputSecondValue","fullDateEntered","Boolean","_useState15","_useState16","secondTextFieldClicked","setSecondTextFieldClicked","rangeErrorClass","classes","datePickerError","undefined","rangeSuccessClass","datePickerSuccess","handleInputChange","target","setFirstInputValue","concat","setSecondInputValue","commonUseDatePickerArgs","_useDatePicker","useDatePicker","_objectSpread","currentValue","valueError","valueSuccess","setCorrectDates","setInnerDate","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleFirstCalendarPick","handleCalendarPick","handleSearchFirst","handleSearch","updateExternalFirstDate","updateExternalDate","getFirstQuarterInfo","getQuarterInfo","_useDatePicker2","handleChangeSecondValue","handleSecondCalendarPick","handleSearchSecond","updateExternalSecondDate","getSecondQuarterInfo","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","_secondInputRef$curre2","focus","_firstInputRef$curren2","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","commonArgs","_getFormattedDates","startOriginalDate","_getFormattedDates2","endOriginalDate","Date","toISOString","dateInfo","_getSortedValues","getSortedValues","_getSortedValues2","startValue","endValue","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref2","_ref3","firstDate","secondDate","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","useLayoutEffect","RootWrapper","useCallback","_ref4","rootWrapperRef","children","rootWrapperClassName","onClick","_extends","cls","datePickerRoot","_defineProperty","datePickerstretched","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n SetStateAction,\n} from 'react';\nimport type { RootProps } from 'src/engines';\nimport { noop } from 'src/utils';\n\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo, DateType } from '../../Calendar/Calendar.types';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerRangeProps } from './RangeDate.types';\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 { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\nimport { RootWrapperProps } from './RangeDatePopover/RangeDatePopover.types';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n\n value: outerValue,\n defaultFirstDate = '',\n defaultSecondDate = '',\n preserveInvalidOnBlur,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n required,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n zIndex,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n onToggle,\n\n onChange,\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const dateFormatDelimiter = getDateFormatDelimiter(format);\n\n const [startInnerDate, setStartInnerDate] = useState<string | DateType>(defaultFirstDate || '');\n const startDateValue = outerValue?.[0] ?? startInnerDate;\n\n const startInitialValues = getFormattedDates({\n value: startDateValue,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [endInnerDate, setEndInnerDate] = useState<string | DateType>(defaultSecondDate || '');\n const endDateValue = outerValue?.[1] ?? endInnerDate;\n\n const endInitialValues = getFormattedDates({\n value: endDateValue,\n delimiter: dateFormatDelimiter,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctStartDates, setCorrectStartDates] = useState({\n calendar: startInitialValues.originalDate,\n input: startInitialValues.formattedDate,\n });\n const [correctEndDates, setCorrectEndDates] = useState({\n calendar: endInitialValues.originalDate,\n input: endInitialValues.formattedDate,\n });\n\n const calendarFirstValue: DateType = startInitialValues.originalDate;\n const inputFirstValue = startInitialValues.formattedDate;\n\n const calendarSecondValue: DateType = endInitialValues.originalDate;\n const inputSecondValue = endInitialValues.formattedDate;\n\n const fullDateEntered = Boolean(calendarFirstValue && calendarSecondValue);\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;\n const rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;\n\n const handleInputChange = (value: string) => {\n if (onChange) {\n onChange({\n target: {\n value,\n name,\n },\n });\n }\n };\n\n const setFirstInputValue = (value: SetStateAction<string | DateType>) => {\n setStartInnerDate(value);\n handleInputChange(`${value} - ${inputSecondValue}`);\n };\n\n const setSecondInputValue = (value: SetStateAction<string | DateType>) => {\n setEndInnerDate(value);\n handleInputChange(`${inputFirstValue} - ${value}`);\n };\n\n const commonUseDatePickerArgs = {\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n dateFormatDelimiter,\n };\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCalendarPick: handleFirstCalendarPick,\n handleSearch: handleSearchFirst,\n updateExternalDate: updateExternalFirstDate,\n getQuarterInfo: getFirstQuarterInfo,\n } = useDatePicker({\n currentValue: inputFirstValue,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n ...commonUseDatePickerArgs,\n\n setCorrectDates: setCorrectStartDates,\n setInnerDate: setFirstInputValue,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCalendarPick: handleSecondCalendarPick,\n handleSearch: handleSearchSecond,\n updateExternalDate: updateExternalSecondDate,\n getQuarterInfo: getSecondQuarterInfo,\n } = useDatePicker({\n currentValue: inputSecondValue,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n ...commonUseDatePickerArgs,\n\n setCorrectDates: setCorrectEndDates,\n setInnerDate: setSecondInputValue,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (currentOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n (firstInputRef?.current?.contains((event?.target as Node) || null) ||\n secondInputRef?.current?.contains((event?.target as Node) || null)) &&\n (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue || preserveInvalidOnBlur) {\n outerHandler?.(event);\n return;\n }\n\n const commonArgs = { lang, format, includeEdgeDates, min, max };\n\n let { originalDate: startOriginalDate } = getFormattedDates({\n value: inputFirstValue,\n delimiter: dateFormatDelimiter,\n ...commonArgs,\n });\n\n let { originalDate: endOriginalDate } = getFormattedDates({\n value: inputSecondValue,\n delimiter: dateFormatDelimiter,\n ...commonArgs,\n });\n\n if (!calendarFirstValue && correctStartDates.calendar) {\n startOriginalDate = new Date(correctStartDates.calendar);\n }\n\n if (!calendarSecondValue && correctEndDates.calendar) {\n endOriginalDate = new Date(correctEndDates.calendar);\n }\n\n const [startValue, endValue] = getSortedValues([startOriginalDate, endOriginalDate]);\n\n const {\n formattedDate: formattedFirstDate,\n originalDate: originalFirstDate,\n isoDate: isoFirstDate,\n } = getFormattedDates({\n value: startValue,\n delimiter: dateFormatDelimiter,\n ...commonArgs,\n });\n\n const {\n formattedDate: formattedSecondDate,\n originalDate: originalSecondDate,\n isoDate: isoSecondDate,\n } = getFormattedDates({\n value: endValue,\n delimiter: dateFormatDelimiter,\n ...commonArgs,\n });\n\n if (formattedFirstDate !== inputFirstValue) {\n if (onChangeFirstValue) {\n onChangeFirstValue(event, formattedFirstDate, originalFirstDate, isoFirstDate);\n }\n\n if (onCommitFirstDate) {\n const dateInfo = originalFirstDate ? getFirstQuarterInfo(originalFirstDate) : undefined;\n\n onCommitFirstDate(formattedFirstDate, false, true, dateInfo, originalFirstDate, isoFirstDate);\n }\n }\n\n if (formattedSecondDate !== inputSecondValue) {\n if (onChangeSecondValue) {\n onChangeSecondValue(event, formattedSecondDate, originalSecondDate, isoSecondDate);\n }\n\n if (onCommitSecondDate) {\n const dateInfo = originalSecondDate ? getSecondQuarterInfo(originalSecondDate) : undefined;\n\n onCommitSecondDate(\n formattedSecondDate,\n false,\n true,\n dateInfo,\n originalSecondDate,\n isoSecondDate,\n );\n }\n }\n\n setFirstInputValue(startValue);\n setSecondInputValue(endValue);\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleFirstCalendarPick(chosenDate, dateInfo);\n handleSecondCalendarPick(undefined);\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleFirstCalendarPick(first, dateInfo);\n handleSecondCalendarPick(second, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [DateType, DateType], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleFirstCalendarPick(firstDate, dateInfo);\n }\n\n if (secondDate) {\n handleSecondCalendarPick(secondDate, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n name={name}\n onSearchFirstValue={(_, date) => {\n handleSearchFirst(String(date));\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleSearchSecond(String(date));\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, onBlurSecondTextfield)}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n if (!startDateValue) {\n updateExternalFirstDate(defaultFirstDate);\n }\n }, [defaultFirstDate, format, lang]);\n\n useLayoutEffect(() => {\n if (!endDateValue) {\n updateExternalSecondDate(defaultSecondDate);\n }\n }, [defaultSecondDate, format, lang]);\n\n const RootWrapper = useCallback<RootWrapperProps>(\n forwardRef(({ children, className: rootWrapperClassName, onClick }, rootWrapperRef) => (\n <Root\n ref={rootWrapperRef}\n view={view}\n size={size}\n className={rootWrapperClassName}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onClick={onClick}\n >\n {children}\n </Root>\n )),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cls(classes.datePickerRoot, className, { [classes.datePickerstretched]: stretched })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n frame={frame}\n usePortal={usePortal}\n zIndex={zIndex}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n stretched={stretched}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n setIsInnerOpen={setIsInnerOpen}\n />\n {leftHelper && (\n <LeftHelper className={cls(rangeErrorClass, rangeSuccessClass)}>{leftHelper}</LeftHelper>\n )}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\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 readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","_outerValue$","_outerValue$2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","outerValue","value","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","preserveInvalidOnBlur","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","zIndex","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","calendarContainerWidth","calendarContainerHeight","stretched","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","getDateFormatDelimiter","_useState7","_useState8","startInnerDate","setStartInnerDate","startDateValue","startInitialValues","getFormattedDates","delimiter","_useState9","_useState10","endInnerDate","setEndInnerDate","endDateValue","endInitialValues","_useState11","calendar","originalDate","input","formattedDate","_useState12","correctStartDates","setCorrectStartDates","_useState13","_useState14","correctEndDates","setCorrectEndDates","calendarFirstValue","inputFirstValue","calendarSecondValue","inputSecondValue","fullDateEntered","Boolean","_useState15","_useState16","secondTextFieldClicked","setSecondTextFieldClicked","rangeErrorClass","classes","datePickerError","undefined","rangeSuccessClass","datePickerSuccess","handleInputChange","target","setFirstInputValue","concat","setSecondInputValue","commonUseDatePickerArgs","_useDatePicker","useDatePicker","_objectSpread","currentValue","valueError","valueSuccess","setCorrectDates","setInnerDate","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleFirstCalendarPick","handleCalendarPick","handleSearchFirst","handleSearch","updateExternalFirstDate","updateExternalDate","getFirstQuarterInfo","getQuarterInfo","_useDatePicker2","handleChangeSecondValue","handleSecondCalendarPick","handleSearchSecond","updateExternalSecondDate","getSecondQuarterInfo","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","commonArgs","_getFormattedDates","startOriginalDate","_getFormattedDates2","endOriginalDate","Date","_getSortedValues","getSortedValues","_getSortedValues2","startValue","endValue","_getFormattedDates3","formattedFirstDate","originalFirstDate","isoFirstDate","isoDate","_getFormattedDates4","formattedSecondDate","originalSecondDate","isoSecondDate","dateInfo","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref2","_ref3","firstDate","secondDate","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","focus","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","useLayoutEffect","RootWrapper","useCallback","_ref4","rootWrapperRef","children","rootWrapperClassName","onClick","_extends","cls","datePickerRoot","_defineProperty","datePickerstretched","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}