@salutejs/plasma-new-hope 0.340.0-canary.2321.19133039112.0 → 0.340.0-canary.2322.19259276297.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 (750) hide show
  1. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  3. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  5. package/cjs/components/Combobox/ComboboxNew/Combobox.css +19 -0
  6. package/cjs/components/Combobox/ComboboxNew/Combobox.js +93 -19
  7. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  8. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  9. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  10. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +8 -2
  11. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  12. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +319 -1
  13. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  14. package/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  15. package/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js.map +1 -1
  16. package/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +161 -0
  17. package/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js.map +1 -0
  18. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.css +57 -0
  19. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +96 -0
  20. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js.map +1 -0
  21. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +30 -0
  22. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js.map +1 -0
  23. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles_1auklgl.css +2 -0
  24. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.css +54 -0
  25. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +144 -0
  26. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js.map +1 -0
  27. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +205 -0
  28. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js.map +1 -0
  29. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles_7nhjnm.css +15 -0
  30. package/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +4 -3
  31. package/cjs/components/Combobox/ComboboxNew/utils/filterItems.js.map +1 -1
  32. package/cjs/components/DatePicker/DatePicker.tokens.js +6 -0
  33. package/cjs/components/DatePicker/DatePicker.tokens.js.map +1 -1
  34. package/cjs/components/DatePicker/RangeDate/RangeDate.css +11 -11
  35. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +1 -1
  36. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  37. package/cjs/components/DatePicker/RangeDate/RangeDate.styles_21hloy.css +4 -0
  38. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +11 -11
  39. package/cjs/components/DatePicker/utils/normalizeDates.js +3 -6
  40. package/cjs/components/DatePicker/utils/normalizeDates.js.map +1 -1
  41. package/cjs/components/DateTimePicker/DateTimePicker.css +200 -0
  42. package/cjs/components/DateTimePicker/DateTimePicker.js +337 -0
  43. package/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -0
  44. package/cjs/components/DateTimePicker/DateTimePicker.styles.js +23 -0
  45. package/cjs/components/DateTimePicker/DateTimePicker.styles.js.map +1 -0
  46. package/cjs/components/DateTimePicker/DateTimePicker.styles_x7parr.css +3 -0
  47. package/cjs/components/DateTimePicker/DateTimePicker.tokens.js +268 -0
  48. package/cjs/components/DateTimePicker/DateTimePicker.tokens.js.map +1 -0
  49. package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +445 -0
  50. package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -0
  51. package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +40 -0
  52. package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -0
  53. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.css +82 -0
  54. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +36 -0
  55. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js.map +1 -0
  56. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +83 -0
  57. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js.map +1 -0
  58. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles_1yl3xrz.css +2 -0
  59. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.css +34 -0
  60. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +44 -0
  61. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js.map +1 -0
  62. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +92 -0
  63. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js.map +1 -0
  64. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles_pdofx1.css +6 -0
  65. package/cjs/components/DateTimePicker/ui/Input/Input.css +80 -0
  66. package/cjs/components/DateTimePicker/ui/Input/Input.js +70 -0
  67. package/cjs/components/DateTimePicker/ui/Input/Input.js.map +1 -0
  68. package/cjs/components/DateTimePicker/ui/Input/Input.styles.js +24 -0
  69. package/cjs/components/DateTimePicker/ui/Input/Input.styles.js.map +1 -0
  70. package/cjs/components/DateTimePicker/ui/Input/Input.styles_1af0tdj.css +1 -0
  71. package/cjs/components/DateTimePicker/ui/Popover/Popover.css +11 -0
  72. package/cjs/components/DateTimePicker/ui/Popover/Popover.js +37 -0
  73. package/cjs/components/DateTimePicker/ui/Popover/Popover.js.map +1 -0
  74. package/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js +44 -0
  75. package/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js.map +1 -0
  76. package/cjs/components/DateTimePicker/ui/Popover/Popover.styles_1v6vurg.css +2 -0
  77. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.css +12 -0
  78. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +30 -0
  79. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js.map +1 -0
  80. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +40 -0
  81. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js.map +1 -0
  82. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles_31tnfx.css +1 -0
  83. package/cjs/components/DateTimePicker/utils/getFormattedDateTime.js +81 -0
  84. package/cjs/components/DateTimePicker/utils/getFormattedDateTime.js.map +1 -0
  85. package/cjs/components/DateTimePicker/utils/getMaskedValue.js +53 -0
  86. package/cjs/components/DateTimePicker/utils/getMaskedValue.js.map +1 -0
  87. package/cjs/components/DateTimePicker/utils/getOriginalDateTime.js +73 -0
  88. package/cjs/components/DateTimePicker/utils/getOriginalDateTime.js.map +1 -0
  89. package/cjs/components/DateTimePicker/utils/normalizeDateTime.js +33 -0
  90. package/cjs/components/DateTimePicker/utils/normalizeDateTime.js.map +1 -0
  91. package/cjs/components/DateTimePicker/variations/_disabled/base.js +9 -0
  92. package/cjs/components/DateTimePicker/variations/_disabled/base.js.map +1 -0
  93. package/cjs/components/DateTimePicker/variations/_disabled/base_7ophop.css +1 -0
  94. package/cjs/components/DateTimePicker/variations/_readonly/base.js +9 -0
  95. package/cjs/components/DateTimePicker/variations/_readonly/base.js.map +1 -0
  96. package/cjs/components/DateTimePicker/variations/_readonly/base_rrpgsr.css +1 -0
  97. package/cjs/components/DateTimePicker/variations/_size/base.js +9 -0
  98. package/cjs/components/DateTimePicker/variations/_size/base.js.map +1 -0
  99. package/cjs/components/DateTimePicker/variations/_size/base_19i3bl1.css +1 -0
  100. package/cjs/components/DateTimePicker/variations/_tooltip-size/base.js +9 -0
  101. package/cjs/components/DateTimePicker/variations/_tooltip-size/base.js.map +1 -0
  102. package/cjs/components/DateTimePicker/variations/_tooltip-size/base_x642ct.css +1 -0
  103. package/cjs/components/DateTimePicker/variations/_view/base.js +9 -0
  104. package/cjs/components/DateTimePicker/variations/_view/base.js.map +1 -0
  105. package/cjs/components/DateTimePicker/variations/_view/base_1a1ebsk.css +1 -0
  106. package/cjs/components/Range/Range.css +8 -8
  107. package/cjs/components/Range/Range.styles.js +1 -1
  108. package/cjs/components/Range/Range.styles.js.map +1 -1
  109. package/cjs/components/Range/{Range.styles_jx7i43.css → Range.styles_it2utg.css} +2 -2
  110. package/cjs/components/Range/Range.tokens.js +6 -0
  111. package/cjs/components/Range/Range.tokens.js.map +1 -1
  112. package/cjs/components/Range/variations/_readonly/base.js +1 -1
  113. package/cjs/components/Range/variations/_readonly/base.js.map +1 -1
  114. package/{es/components/Range/variations/_readonly/base_1kd2tb.css → cjs/components/Range/variations/_readonly/base_1lu7vb0.css} +1 -1
  115. package/cjs/components/Select/Select.js +2 -1
  116. package/cjs/components/Select/Select.js.map +1 -1
  117. package/cjs/components/Select/hooks/useKeyboardNavigation.js +127 -38
  118. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  119. package/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
  120. package/cjs/components/Select/reducers/focusedPathReducer.js.map +1 -1
  121. package/cjs/components/Select/reducers/treePathReducer.js +12 -0
  122. package/cjs/components/Select/reducers/treePathReducer.js.map +1 -1
  123. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  124. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  125. package/cjs/components/Select/ui/TreeList/TreeList.js +3 -3
  126. package/cjs/components/Select/ui/TreeList/TreeList.js.map +1 -1
  127. package/cjs/components/Select/ui/TreeList/ui/Item/Item.js +22 -5
  128. package/cjs/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -1
  129. package/cjs/components/Tabs/tokens.js +1 -0
  130. package/cjs/components/Tabs/tokens.js.map +1 -1
  131. package/cjs/components/TimePickerGrid/TimePickerGrid.js +206 -276
  132. package/cjs/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
  133. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -1
  134. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -1
  135. package/cjs/components/Tree/utils/deepCopy.js +29 -0
  136. package/cjs/components/Tree/utils/deepCopy.js.map +1 -0
  137. package/cjs/components/Tree/utils/traverseTree.js +1 -1
  138. package/cjs/components/Tree/utils/traverseTree.js.map +1 -1
  139. package/cjs/index.css +59 -11
  140. package/cjs/index.js +8 -0
  141. package/cjs/index.js.map +1 -1
  142. package/cjs/utils/index.js.map +1 -1
  143. package/cjs/utils/isArraysEqual.js +12 -0
  144. package/cjs/utils/isArraysEqual.js.map +1 -0
  145. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  146. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  147. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +82 -17
  148. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  149. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
  150. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +312 -0
  151. package/emotion/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  152. package/emotion/cjs/components/Combobox/ComboboxNew/reducers/index.js +1 -0
  153. package/emotion/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +174 -0
  154. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +130 -0
  155. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +36 -0
  156. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +4 -0
  157. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +192 -0
  158. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +183 -0
  159. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +4 -0
  160. package/emotion/cjs/components/Combobox/ComboboxNew/ui/index.js +1 -0
  161. package/emotion/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +14 -6
  162. package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +3 -0
  163. package/emotion/cjs/components/DatePicker/DatePicker.tokens.js +6 -0
  164. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +7 -7
  165. package/emotion/cjs/components/DatePicker/utils/normalizeDates.js +3 -6
  166. package/emotion/cjs/components/DateTimePicker/DateTimePicker.js +459 -0
  167. package/emotion/cjs/components/DateTimePicker/DateTimePicker.styles.js +39 -0
  168. package/emotion/cjs/components/DateTimePicker/DateTimePicker.tokens.js +269 -0
  169. package/emotion/cjs/components/DateTimePicker/DateTimePicker.types.js +4 -0
  170. package/emotion/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +499 -0
  171. package/emotion/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +52 -0
  172. package/emotion/cjs/components/DateTimePicker/index.js +26 -0
  173. package/emotion/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +93 -0
  174. package/emotion/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +61 -0
  175. package/emotion/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +53 -0
  176. package/emotion/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +88 -0
  177. package/emotion/cjs/components/DateTimePicker/ui/Input/Input.js +167 -0
  178. package/emotion/cjs/components/DateTimePicker/ui/Input/Input.styles.js +25 -0
  179. package/emotion/cjs/components/DateTimePicker/ui/Popover/Popover.js +153 -0
  180. package/emotion/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js +43 -0
  181. package/emotion/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +87 -0
  182. package/emotion/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +31 -0
  183. package/emotion/cjs/components/DateTimePicker/ui/index.js +29 -0
  184. package/emotion/cjs/components/DateTimePicker/utils/getFormattedDateTime.js +118 -0
  185. package/emotion/cjs/components/DateTimePicker/utils/getMaskedValue.js +52 -0
  186. package/emotion/cjs/components/DateTimePicker/utils/getOriginalDateTime.js +128 -0
  187. package/emotion/cjs/components/DateTimePicker/utils/index.js +19 -0
  188. package/emotion/cjs/components/DateTimePicker/utils/normalizeDateTime.js +30 -0
  189. package/emotion/cjs/components/DateTimePicker/variations/_disabled/base.js +13 -0
  190. package/emotion/cjs/components/DateTimePicker/variations/_readonly/base.js +14 -0
  191. package/emotion/cjs/components/DateTimePicker/variations/_size/base.js +14 -0
  192. package/emotion/cjs/components/DateTimePicker/variations/_tooltip-size/base.js +12 -0
  193. package/emotion/cjs/components/DateTimePicker/variations/_view/base.js +14 -0
  194. package/emotion/cjs/components/Range/Range.styles.js +19 -19
  195. package/emotion/cjs/components/Range/Range.tokens.js +6 -0
  196. package/emotion/cjs/components/Range/variations/_readonly/base.js +1 -1
  197. package/emotion/cjs/components/Select/Select.js +2 -1
  198. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +156 -44
  199. package/emotion/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
  200. package/emotion/cjs/components/Select/reducers/treePathReducer.js +12 -0
  201. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  202. package/emotion/cjs/components/Select/ui/TreeList/TreeList.js +7 -3
  203. package/emotion/cjs/components/Select/ui/TreeList/ui/Item/Item.js +49 -5
  204. package/emotion/cjs/components/Tabs/tokens.js +1 -0
  205. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.js +213 -282
  206. package/emotion/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
  207. package/emotion/cjs/components/Tree/utils/deepCopy.js +83 -0
  208. package/emotion/cjs/components/Tree/utils/index.js +4 -0
  209. package/emotion/cjs/components/Tree/utils/traverseTree.js +1 -1
  210. package/emotion/cjs/examples/components/ChipGroup/ChipGroup.config.js +35 -0
  211. package/emotion/cjs/examples/components/Combobox/Combobox.config.js +15 -15
  212. package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
  213. package/emotion/cjs/examples/components/DatePicker/DatePicker.config.js +9 -9
  214. package/emotion/cjs/examples/components/DateTimePicker/DateTimePicker.config.js +40 -0
  215. package/emotion/cjs/examples/components/DateTimePicker/DateTimePicker.js +15 -0
  216. package/emotion/cjs/examples/components/Range/Range.config.js +8 -8
  217. package/emotion/cjs/examples/components/Select/Select.config.js +24 -24
  218. package/emotion/cjs/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +16 -16
  219. package/emotion/cjs/examples/components/Tabs/vertical/VerticalTabItem.config.js +7 -7
  220. package/emotion/cjs/index.js +1 -0
  221. package/emotion/cjs/utils/index.js +4 -0
  222. package/emotion/cjs/utils/isArraysEqual.js +15 -0
  223. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  224. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  225. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +85 -20
  226. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  227. package/emotion/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
  228. package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +313 -0
  229. package/emotion/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  230. package/emotion/es/components/Combobox/ComboboxNew/reducers/index.js +1 -0
  231. package/emotion/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +157 -0
  232. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +79 -0
  233. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +13 -0
  234. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +1 -0
  235. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +141 -0
  236. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +119 -0
  237. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +1 -0
  238. package/emotion/es/components/Combobox/ComboboxNew/ui/index.js +1 -0
  239. package/emotion/es/components/Combobox/ComboboxNew/utils/filterItems.js +3 -3
  240. package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +1 -1
  241. package/emotion/es/components/DatePicker/DatePicker.tokens.js +6 -0
  242. package/emotion/es/components/DatePicker/RangeDate/RangeDate.styles.js +7 -7
  243. package/emotion/es/components/DatePicker/utils/normalizeDates.js +3 -6
  244. package/emotion/es/components/DateTimePicker/DateTimePicker.js +395 -0
  245. package/emotion/es/components/DateTimePicker/DateTimePicker.styles.js +13 -0
  246. package/emotion/es/components/DateTimePicker/DateTimePicker.tokens.js +248 -0
  247. package/emotion/es/components/DateTimePicker/DateTimePicker.types.js +1 -0
  248. package/emotion/es/components/DateTimePicker/hooks/useDateTimePicker.js +489 -0
  249. package/emotion/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +34 -0
  250. package/emotion/es/components/DateTimePicker/index.js +2 -0
  251. package/emotion/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +78 -0
  252. package/emotion/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +36 -0
  253. package/emotion/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +38 -0
  254. package/emotion/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +53 -0
  255. package/emotion/es/components/DateTimePicker/ui/Input/Input.js +111 -0
  256. package/emotion/es/components/DateTimePicker/ui/Input/Input.styles.js +11 -0
  257. package/emotion/es/components/DateTimePicker/ui/Popover/Popover.js +102 -0
  258. package/emotion/es/components/DateTimePicker/ui/Popover/Popover.styles.js +20 -0
  259. package/emotion/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +72 -0
  260. package/emotion/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +16 -0
  261. package/emotion/es/components/DateTimePicker/ui/index.js +6 -0
  262. package/emotion/es/components/DateTimePicker/utils/getFormattedDateTime.js +108 -0
  263. package/emotion/es/components/DateTimePicker/utils/getMaskedValue.js +42 -0
  264. package/emotion/es/components/DateTimePicker/utils/getOriginalDateTime.js +118 -0
  265. package/emotion/es/components/DateTimePicker/utils/index.js +2 -0
  266. package/emotion/es/components/DateTimePicker/utils/normalizeDateTime.js +20 -0
  267. package/emotion/es/components/DateTimePicker/variations/_disabled/base.js +3 -0
  268. package/emotion/es/components/DateTimePicker/variations/_readonly/base.js +4 -0
  269. package/emotion/es/components/DateTimePicker/variations/_size/base.js +4 -0
  270. package/emotion/es/components/DateTimePicker/variations/_tooltip-size/base.js +2 -0
  271. package/emotion/es/components/DateTimePicker/variations/_view/base.js +4 -0
  272. package/emotion/es/components/Range/Range.styles.js +19 -19
  273. package/emotion/es/components/Range/Range.tokens.js +6 -0
  274. package/emotion/es/components/Range/variations/_readonly/base.js +1 -1
  275. package/emotion/es/components/Select/Select.js +2 -1
  276. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +157 -44
  277. package/emotion/es/components/Select/reducers/focusedPathReducer.js +7 -0
  278. package/emotion/es/components/Select/reducers/treePathReducer.js +12 -0
  279. package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  280. package/emotion/es/components/Select/ui/TreeList/TreeList.js +7 -3
  281. package/emotion/es/components/Select/ui/TreeList/ui/Item/Item.js +50 -6
  282. package/emotion/es/components/Tabs/tokens.js +1 -0
  283. package/emotion/es/components/TimePickerGrid/TimePickerGrid.js +213 -282
  284. package/emotion/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
  285. package/emotion/es/components/Tree/utils/deepCopy.js +73 -0
  286. package/emotion/es/components/Tree/utils/index.js +1 -0
  287. package/emotion/es/components/Tree/utils/traverseTree.js +1 -1
  288. package/emotion/es/examples/components/ChipGroup/ChipGroup.config.js +25 -0
  289. package/emotion/es/examples/components/Combobox/Combobox.config.js +15 -15
  290. package/emotion/es/examples/components/DatePicker/DatePicker.config.js +9 -9
  291. package/emotion/es/examples/components/DateTimePicker/DateTimePicker.config.js +30 -0
  292. package/emotion/es/examples/components/DateTimePicker/DateTimePicker.js +5 -0
  293. package/emotion/es/examples/components/Range/Range.config.js +8 -8
  294. package/emotion/es/examples/components/Select/Select.config.js +24 -24
  295. package/emotion/es/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +16 -16
  296. package/emotion/es/examples/components/Tabs/vertical/VerticalTabItem.config.js +7 -7
  297. package/emotion/es/index.js +1 -0
  298. package/emotion/es/utils/index.js +1 -0
  299. package/emotion/es/utils/isArraysEqual.js +5 -0
  300. package/es/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  301. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  302. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  303. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  304. package/es/components/Combobox/ComboboxNew/Combobox.css +19 -0
  305. package/es/components/Combobox/ComboboxNew/Combobox.js +95 -21
  306. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  307. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  308. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  309. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +8 -2
  310. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  311. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +319 -1
  312. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  313. package/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  314. package/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js.map +1 -1
  315. package/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +156 -0
  316. package/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js.map +1 -0
  317. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.css +57 -0
  318. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +88 -0
  319. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js.map +1 -0
  320. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +25 -0
  321. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js.map +1 -0
  322. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles_1auklgl.css +2 -0
  323. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.css +54 -0
  324. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +136 -0
  325. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js.map +1 -0
  326. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +187 -0
  327. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js.map +1 -0
  328. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles_7nhjnm.css +15 -0
  329. package/es/components/Combobox/ComboboxNew/utils/filterItems.js +4 -4
  330. package/es/components/Combobox/ComboboxNew/utils/filterItems.js.map +1 -1
  331. package/es/components/DatePicker/DatePicker.tokens.js +6 -0
  332. package/es/components/DatePicker/DatePicker.tokens.js.map +1 -1
  333. package/es/components/DatePicker/RangeDate/RangeDate.css +11 -11
  334. package/es/components/DatePicker/RangeDate/RangeDate.styles.js +1 -1
  335. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  336. package/es/components/DatePicker/RangeDate/RangeDate.styles_21hloy.css +4 -0
  337. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +11 -11
  338. package/es/components/DatePicker/utils/normalizeDates.js +3 -6
  339. package/es/components/DatePicker/utils/normalizeDates.js.map +1 -1
  340. package/es/components/DateTimePicker/DateTimePicker.css +200 -0
  341. package/es/components/DateTimePicker/DateTimePicker.js +327 -0
  342. package/es/components/DateTimePicker/DateTimePicker.js.map +1 -0
  343. package/es/components/DateTimePicker/DateTimePicker.styles.js +17 -0
  344. package/es/components/DateTimePicker/DateTimePicker.styles.js.map +1 -0
  345. package/es/components/DateTimePicker/DateTimePicker.styles_x7parr.css +3 -0
  346. package/es/components/DateTimePicker/DateTimePicker.tokens.js +262 -0
  347. package/es/components/DateTimePicker/DateTimePicker.tokens.js.map +1 -0
  348. package/es/components/DateTimePicker/hooks/useDateTimePicker.js +441 -0
  349. package/es/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -0
  350. package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +35 -0
  351. package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -0
  352. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.css +82 -0
  353. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +28 -0
  354. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js.map +1 -0
  355. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +78 -0
  356. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js.map +1 -0
  357. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles_1yl3xrz.css +2 -0
  358. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.css +34 -0
  359. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +35 -0
  360. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js.map +1 -0
  361. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +83 -0
  362. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js.map +1 -0
  363. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles_pdofx1.css +6 -0
  364. package/es/components/DateTimePicker/ui/Input/Input.css +80 -0
  365. package/es/components/DateTimePicker/ui/Input/Input.js +61 -0
  366. package/es/components/DateTimePicker/ui/Input/Input.js.map +1 -0
  367. package/es/components/DateTimePicker/ui/Input/Input.styles.js +20 -0
  368. package/es/components/DateTimePicker/ui/Input/Input.styles.js.map +1 -0
  369. package/es/components/DateTimePicker/ui/Input/Input.styles_1af0tdj.css +1 -0
  370. package/es/components/DateTimePicker/ui/Popover/Popover.css +11 -0
  371. package/es/components/DateTimePicker/ui/Popover/Popover.js +29 -0
  372. package/es/components/DateTimePicker/ui/Popover/Popover.js.map +1 -0
  373. package/es/components/DateTimePicker/ui/Popover/Popover.styles.js +39 -0
  374. package/es/components/DateTimePicker/ui/Popover/Popover.styles.js.map +1 -0
  375. package/es/components/DateTimePicker/ui/Popover/Popover.styles_1v6vurg.css +2 -0
  376. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.css +12 -0
  377. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +22 -0
  378. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js.map +1 -0
  379. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +36 -0
  380. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js.map +1 -0
  381. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles_31tnfx.css +1 -0
  382. package/es/components/DateTimePicker/utils/getFormattedDateTime.js +77 -0
  383. package/es/components/DateTimePicker/utils/getFormattedDateTime.js.map +1 -0
  384. package/es/components/DateTimePicker/utils/getMaskedValue.js +49 -0
  385. package/es/components/DateTimePicker/utils/getMaskedValue.js.map +1 -0
  386. package/es/components/DateTimePicker/utils/getOriginalDateTime.js +69 -0
  387. package/es/components/DateTimePicker/utils/getOriginalDateTime.js.map +1 -0
  388. package/es/components/DateTimePicker/utils/normalizeDateTime.js +29 -0
  389. package/es/components/DateTimePicker/utils/normalizeDateTime.js.map +1 -0
  390. package/es/components/DateTimePicker/variations/_disabled/base.js +5 -0
  391. package/es/components/DateTimePicker/variations/_disabled/base.js.map +1 -0
  392. package/es/components/DateTimePicker/variations/_disabled/base_7ophop.css +1 -0
  393. package/es/components/DateTimePicker/variations/_readonly/base.js +5 -0
  394. package/es/components/DateTimePicker/variations/_readonly/base.js.map +1 -0
  395. package/es/components/DateTimePicker/variations/_readonly/base_rrpgsr.css +1 -0
  396. package/es/components/DateTimePicker/variations/_size/base.js +5 -0
  397. package/es/components/DateTimePicker/variations/_size/base.js.map +1 -0
  398. package/es/components/DateTimePicker/variations/_size/base_19i3bl1.css +1 -0
  399. package/es/components/DateTimePicker/variations/_tooltip-size/base.js +5 -0
  400. package/es/components/DateTimePicker/variations/_tooltip-size/base.js.map +1 -0
  401. package/es/components/DateTimePicker/variations/_tooltip-size/base_x642ct.css +1 -0
  402. package/es/components/DateTimePicker/variations/_view/base.js +5 -0
  403. package/es/components/DateTimePicker/variations/_view/base.js.map +1 -0
  404. package/es/components/DateTimePicker/variations/_view/base_1a1ebsk.css +1 -0
  405. package/es/components/Range/Range.css +8 -8
  406. package/es/components/Range/Range.styles.js +1 -1
  407. package/es/components/Range/Range.styles.js.map +1 -1
  408. package/es/components/Range/{Range.styles_jx7i43.css → Range.styles_it2utg.css} +2 -2
  409. package/es/components/Range/Range.tokens.js +6 -0
  410. package/es/components/Range/Range.tokens.js.map +1 -1
  411. package/es/components/Range/variations/_readonly/base.js +1 -1
  412. package/es/components/Range/variations/_readonly/base.js.map +1 -1
  413. package/{cjs/components/Range/variations/_readonly/base_1kd2tb.css → es/components/Range/variations/_readonly/base_1lu7vb0.css} +1 -1
  414. package/es/components/Select/Select.js +2 -1
  415. package/es/components/Select/Select.js.map +1 -1
  416. package/es/components/Select/hooks/useKeyboardNavigation.js +127 -38
  417. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  418. package/es/components/Select/reducers/focusedPathReducer.js +7 -0
  419. package/es/components/Select/reducers/focusedPathReducer.js.map +1 -1
  420. package/es/components/Select/reducers/treePathReducer.js +12 -0
  421. package/es/components/Select/reducers/treePathReducer.js.map +1 -1
  422. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  423. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  424. package/es/components/Select/ui/TreeList/TreeList.js +3 -3
  425. package/es/components/Select/ui/TreeList/TreeList.js.map +1 -1
  426. package/es/components/Select/ui/TreeList/ui/Item/Item.js +23 -6
  427. package/es/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -1
  428. package/es/components/Tabs/tokens.js +1 -0
  429. package/es/components/Tabs/tokens.js.map +1 -1
  430. package/es/components/TimePickerGrid/TimePickerGrid.js +208 -278
  431. package/es/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
  432. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -1
  433. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -1
  434. package/es/components/Tree/utils/deepCopy.js +25 -0
  435. package/es/components/Tree/utils/deepCopy.js.map +1 -0
  436. package/es/components/Tree/utils/traverseTree.js +1 -1
  437. package/es/components/Tree/utils/traverseTree.js.map +1 -1
  438. package/es/index.css +59 -11
  439. package/es/index.js +3 -0
  440. package/es/index.js.map +1 -1
  441. package/es/utils/index.js.map +1 -1
  442. package/es/utils/isArraysEqual.js +8 -0
  443. package/es/utils/isArraysEqual.js.map +1 -0
  444. package/package.json +2 -2
  445. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  446. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  447. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +82 -17
  448. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  449. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
  450. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +312 -0
  451. package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  452. package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/index.js +1 -0
  453. package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +174 -0
  454. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +130 -0
  455. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +50 -0
  456. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +4 -0
  457. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +192 -0
  458. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +296 -0
  459. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +4 -0
  460. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/index.js +1 -0
  461. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +14 -6
  462. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +3 -0
  463. package/styled-components/cjs/components/DatePicker/DatePicker.tokens.js +6 -0
  464. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +16 -4
  465. package/styled-components/cjs/components/DatePicker/utils/normalizeDates.js +3 -6
  466. package/styled-components/cjs/components/DateTimePicker/DateTimePicker.js +459 -0
  467. package/styled-components/cjs/components/DateTimePicker/DateTimePicker.styles.js +89 -0
  468. package/styled-components/cjs/components/DateTimePicker/DateTimePicker.tokens.js +269 -0
  469. package/styled-components/cjs/components/DateTimePicker/DateTimePicker.types.js +4 -0
  470. package/styled-components/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +499 -0
  471. package/styled-components/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +52 -0
  472. package/styled-components/cjs/components/DateTimePicker/index.js +26 -0
  473. package/styled-components/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +93 -0
  474. package/styled-components/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +75 -0
  475. package/styled-components/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +53 -0
  476. package/styled-components/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +132 -0
  477. package/styled-components/cjs/components/DateTimePicker/ui/Input/Input.js +167 -0
  478. package/styled-components/cjs/components/DateTimePicker/ui/Input/Input.styles.js +176 -0
  479. package/styled-components/cjs/components/DateTimePicker/ui/Popover/Popover.js +153 -0
  480. package/styled-components/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js +56 -0
  481. package/styled-components/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +87 -0
  482. package/styled-components/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +69 -0
  483. package/styled-components/cjs/components/DateTimePicker/ui/index.js +29 -0
  484. package/styled-components/cjs/components/DateTimePicker/utils/getFormattedDateTime.js +118 -0
  485. package/styled-components/cjs/components/DateTimePicker/utils/getMaskedValue.js +52 -0
  486. package/styled-components/cjs/components/DateTimePicker/utils/getOriginalDateTime.js +128 -0
  487. package/styled-components/cjs/components/DateTimePicker/utils/index.js +19 -0
  488. package/styled-components/cjs/components/DateTimePicker/utils/normalizeDateTime.js +30 -0
  489. package/styled-components/cjs/components/DateTimePicker/variations/_disabled/base.js +16 -0
  490. package/styled-components/cjs/components/DateTimePicker/variations/_readonly/base.js +18 -0
  491. package/styled-components/cjs/components/DateTimePicker/variations/_size/base.js +24 -0
  492. package/styled-components/cjs/components/DateTimePicker/variations/_tooltip-size/base.js +14 -0
  493. package/styled-components/cjs/components/DateTimePicker/variations/_view/base.js +18 -0
  494. package/styled-components/cjs/components/Range/Range.styles.js +22 -13
  495. package/styled-components/cjs/components/Range/Range.tokens.js +6 -0
  496. package/styled-components/cjs/components/Range/variations/_readonly/base.js +3 -2
  497. package/styled-components/cjs/components/Select/Select.js +2 -1
  498. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +156 -44
  499. package/styled-components/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
  500. package/styled-components/cjs/components/Select/reducers/treePathReducer.js +12 -0
  501. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  502. package/styled-components/cjs/components/Select/ui/TreeList/TreeList.js +7 -3
  503. package/styled-components/cjs/components/Select/ui/TreeList/ui/Item/Item.js +49 -5
  504. package/styled-components/cjs/components/Tabs/tokens.js +1 -0
  505. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.js +213 -282
  506. package/styled-components/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
  507. package/styled-components/cjs/components/Tree/utils/deepCopy.js +83 -0
  508. package/styled-components/cjs/components/Tree/utils/index.js +4 -0
  509. package/styled-components/cjs/components/Tree/utils/traverseTree.js +1 -1
  510. package/styled-components/cjs/examples/components/ChipGroup/ChipGroup.config.js +141 -0
  511. package/styled-components/cjs/examples/components/Combobox/Combobox.config.js +20 -12
  512. package/styled-components/cjs/examples/components/DatePicker/DatePicker.config.js +4 -1
  513. package/styled-components/cjs/examples/components/DateTimePicker/DateTimePicker.config.js +786 -0
  514. package/styled-components/cjs/examples/components/DateTimePicker/DateTimePicker.js +15 -0
  515. package/styled-components/cjs/examples/components/Range/Range.config.js +4 -1
  516. package/styled-components/cjs/examples/components/Select/Select.config.js +7 -7
  517. package/styled-components/cjs/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +4 -4
  518. package/styled-components/cjs/examples/components/Tabs/vertical/VerticalTabItem.config.js +4 -4
  519. package/styled-components/cjs/index.js +1 -0
  520. package/styled-components/cjs/utils/index.js +4 -0
  521. package/styled-components/cjs/utils/isArraysEqual.js +15 -0
  522. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  523. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  524. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +85 -20
  525. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  526. package/styled-components/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
  527. package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +313 -0
  528. package/styled-components/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  529. package/styled-components/es/components/Combobox/ComboboxNew/reducers/index.js +1 -0
  530. package/styled-components/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +157 -0
  531. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +79 -0
  532. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +27 -0
  533. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +1 -0
  534. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +141 -0
  535. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +232 -0
  536. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +1 -0
  537. package/styled-components/es/components/Combobox/ComboboxNew/ui/index.js +1 -0
  538. package/styled-components/es/components/Combobox/ComboboxNew/utils/filterItems.js +3 -3
  539. package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +1 -1
  540. package/styled-components/es/components/DatePicker/DatePicker.tokens.js +6 -0
  541. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.styles.js +16 -4
  542. package/styled-components/es/components/DatePicker/utils/normalizeDates.js +3 -6
  543. package/styled-components/es/components/DateTimePicker/DateTimePicker.js +395 -0
  544. package/styled-components/es/components/DateTimePicker/DateTimePicker.styles.js +28 -0
  545. package/styled-components/es/components/DateTimePicker/DateTimePicker.tokens.js +248 -0
  546. package/styled-components/es/components/DateTimePicker/DateTimePicker.types.js +1 -0
  547. package/styled-components/es/components/DateTimePicker/hooks/useDateTimePicker.js +489 -0
  548. package/styled-components/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +34 -0
  549. package/styled-components/es/components/DateTimePicker/index.js +2 -0
  550. package/styled-components/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +78 -0
  551. package/styled-components/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +50 -0
  552. package/styled-components/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +38 -0
  553. package/styled-components/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +97 -0
  554. package/styled-components/es/components/DateTimePicker/ui/Input/Input.js +111 -0
  555. package/styled-components/es/components/DateTimePicker/ui/Input/Input.styles.js +162 -0
  556. package/styled-components/es/components/DateTimePicker/ui/Popover/Popover.js +102 -0
  557. package/styled-components/es/components/DateTimePicker/ui/Popover/Popover.styles.js +33 -0
  558. package/styled-components/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +72 -0
  559. package/styled-components/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +54 -0
  560. package/styled-components/es/components/DateTimePicker/ui/index.js +6 -0
  561. package/styled-components/es/components/DateTimePicker/utils/getFormattedDateTime.js +108 -0
  562. package/styled-components/es/components/DateTimePicker/utils/getMaskedValue.js +42 -0
  563. package/styled-components/es/components/DateTimePicker/utils/getOriginalDateTime.js +118 -0
  564. package/styled-components/es/components/DateTimePicker/utils/index.js +2 -0
  565. package/styled-components/es/components/DateTimePicker/utils/normalizeDateTime.js +20 -0
  566. package/styled-components/es/components/DateTimePicker/variations/_disabled/base.js +6 -0
  567. package/styled-components/es/components/DateTimePicker/variations/_readonly/base.js +8 -0
  568. package/styled-components/es/components/DateTimePicker/variations/_size/base.js +14 -0
  569. package/styled-components/es/components/DateTimePicker/variations/_tooltip-size/base.js +4 -0
  570. package/styled-components/es/components/DateTimePicker/variations/_view/base.js +8 -0
  571. package/styled-components/es/components/Range/Range.styles.js +22 -13
  572. package/styled-components/es/components/Range/Range.tokens.js +6 -0
  573. package/styled-components/es/components/Range/variations/_readonly/base.js +3 -2
  574. package/styled-components/es/components/Select/Select.js +2 -1
  575. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +157 -44
  576. package/styled-components/es/components/Select/reducers/focusedPathReducer.js +7 -0
  577. package/styled-components/es/components/Select/reducers/treePathReducer.js +12 -0
  578. package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  579. package/styled-components/es/components/Select/ui/TreeList/TreeList.js +7 -3
  580. package/styled-components/es/components/Select/ui/TreeList/ui/Item/Item.js +50 -6
  581. package/styled-components/es/components/Tabs/tokens.js +1 -0
  582. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.js +213 -282
  583. package/styled-components/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
  584. package/styled-components/es/components/Tree/utils/deepCopy.js +73 -0
  585. package/styled-components/es/components/Tree/utils/index.js +1 -0
  586. package/styled-components/es/components/Tree/utils/traverseTree.js +1 -1
  587. package/styled-components/es/examples/components/ChipGroup/ChipGroup.config.js +131 -0
  588. package/styled-components/es/examples/components/Combobox/Combobox.config.js +20 -12
  589. package/styled-components/es/examples/components/DatePicker/DatePicker.config.js +4 -1
  590. package/styled-components/es/examples/components/DateTimePicker/DateTimePicker.config.js +776 -0
  591. package/styled-components/es/examples/components/DateTimePicker/DateTimePicker.js +5 -0
  592. package/styled-components/es/examples/components/Range/Range.config.js +4 -1
  593. package/styled-components/es/examples/components/Select/Select.config.js +7 -7
  594. package/styled-components/es/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +4 -4
  595. package/styled-components/es/examples/components/Tabs/vertical/VerticalTabItem.config.js +4 -4
  596. package/styled-components/es/index.js +1 -0
  597. package/styled-components/es/utils/index.js +1 -0
  598. package/styled-components/es/utils/isArraysEqual.js +5 -0
  599. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  600. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  601. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  602. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +2 -0
  603. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts.map +1 -1
  604. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +17 -3
  605. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  606. package/types/components/Combobox/ComboboxNew/hooks/getPathMaps.d.ts +2 -1
  607. package/types/components/Combobox/ComboboxNew/hooks/getPathMaps.d.ts.map +1 -1
  608. package/types/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.d.ts +8 -3
  609. package/types/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.d.ts.map +1 -1
  610. package/types/components/Combobox/ComboboxNew/reducers/focusedPathReducer.d.ts +3 -0
  611. package/types/components/Combobox/ComboboxNew/reducers/focusedPathReducer.d.ts.map +1 -1
  612. package/types/components/Combobox/ComboboxNew/reducers/index.d.ts +1 -0
  613. package/types/components/Combobox/ComboboxNew/reducers/index.d.ts.map +1 -1
  614. package/types/components/Combobox/ComboboxNew/reducers/treePathReducer.d.ts +28 -0
  615. package/types/components/Combobox/ComboboxNew/reducers/treePathReducer.d.ts.map +1 -0
  616. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.d.ts +4 -0
  617. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.d.ts.map +1 -0
  618. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.d.ts +6 -0
  619. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.d.ts.map +1 -0
  620. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.d.ts +11 -0
  621. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.d.ts.map +1 -0
  622. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.d.ts +4 -0
  623. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.d.ts.map +1 -0
  624. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.d.ts +62 -0
  625. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.d.ts.map +1 -0
  626. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.d.ts +6 -0
  627. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.d.ts.map +1 -0
  628. package/types/components/Combobox/ComboboxNew/ui/index.d.ts +1 -0
  629. package/types/components/Combobox/ComboboxNew/ui/index.d.ts.map +1 -1
  630. package/types/components/Combobox/ComboboxNew/utils/filterItems.d.ts +1 -0
  631. package/types/components/Combobox/ComboboxNew/utils/filterItems.d.ts.map +1 -1
  632. package/types/components/Combobox/ComboboxNew/utils/index.d.ts +1 -1
  633. package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
  634. package/types/components/DatePicker/DatePicker.tokens.d.ts +6 -0
  635. package/types/components/DatePicker/DatePicker.tokens.d.ts.map +1 -1
  636. package/types/components/DatePicker/RangeDate/RangeDate.styles.d.ts.map +1 -1
  637. package/types/components/DatePicker/utils/normalizeDates.d.ts.map +1 -1
  638. package/types/components/DateTimePicker/DateTimePicker.d.ts +73 -0
  639. package/types/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
  640. package/types/components/DateTimePicker/DateTimePicker.styles.d.ts +4 -0
  641. package/types/components/DateTimePicker/DateTimePicker.styles.d.ts.map +1 -0
  642. package/types/components/DateTimePicker/DateTimePicker.tokens.d.ts +257 -0
  643. package/types/components/DateTimePicker/DateTimePicker.tokens.d.ts.map +1 -0
  644. package/types/components/DateTimePicker/DateTimePicker.types.d.ts +160 -0
  645. package/types/components/DateTimePicker/DateTimePicker.types.d.ts.map +1 -0
  646. package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts +26 -0
  647. package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts.map +1 -0
  648. package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts +18 -0
  649. package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts.map +1 -0
  650. package/types/components/DateTimePicker/index.d.ts +4 -0
  651. package/types/components/DateTimePicker/index.d.ts.map +1 -0
  652. package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.d.ts +11 -0
  653. package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.d.ts.map +1 -0
  654. package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.d.ts +10 -0
  655. package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.d.ts.map +1 -0
  656. package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.d.ts +12 -0
  657. package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.d.ts.map +1 -0
  658. package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.d.ts +44 -0
  659. package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.d.ts.map +1 -0
  660. package/types/components/DateTimePicker/ui/Input/Input.d.ts +8 -0
  661. package/types/components/DateTimePicker/ui/Input/Input.d.ts.map +1 -0
  662. package/types/components/DateTimePicker/ui/Input/Input.styles.d.ts +298 -0
  663. package/types/components/DateTimePicker/ui/Input/Input.styles.d.ts.map +1 -0
  664. package/types/components/DateTimePicker/ui/Popover/Popover.d.ts +8 -0
  665. package/types/components/DateTimePicker/ui/Popover/Popover.d.ts.map +1 -0
  666. package/types/components/DateTimePicker/ui/Popover/Popover.styles.d.ts +6 -0
  667. package/types/components/DateTimePicker/ui/Popover/Popover.styles.d.ts.map +1 -0
  668. package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.d.ts +9 -0
  669. package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.d.ts.map +1 -0
  670. package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.d.ts +23 -0
  671. package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.d.ts.map +1 -0
  672. package/types/components/DateTimePicker/ui/index.d.ts +7 -0
  673. package/types/components/DateTimePicker/ui/index.d.ts.map +1 -0
  674. package/types/components/DateTimePicker/utils/getFormattedDateTime.d.ts +27 -0
  675. package/types/components/DateTimePicker/utils/getFormattedDateTime.d.ts.map +1 -0
  676. package/types/components/DateTimePicker/utils/getMaskedValue.d.ts +13 -0
  677. package/types/components/DateTimePicker/utils/getMaskedValue.d.ts.map +1 -0
  678. package/types/components/DateTimePicker/utils/getOriginalDateTime.d.ts +19 -0
  679. package/types/components/DateTimePicker/utils/getOriginalDateTime.d.ts.map +1 -0
  680. package/types/components/DateTimePicker/utils/index.d.ts +3 -0
  681. package/types/components/DateTimePicker/utils/index.d.ts.map +1 -0
  682. package/types/components/DateTimePicker/utils/normalizeDateTime.d.ts +15 -0
  683. package/types/components/DateTimePicker/utils/normalizeDateTime.d.ts.map +1 -0
  684. package/types/components/DateTimePicker/variations/_disabled/base.d.ts +2 -0
  685. package/types/components/DateTimePicker/variations/_disabled/base.d.ts.map +1 -0
  686. package/types/components/DateTimePicker/variations/_readonly/base.d.ts +2 -0
  687. package/types/components/DateTimePicker/variations/_readonly/base.d.ts.map +1 -0
  688. package/types/components/DateTimePicker/variations/_size/base.d.ts +2 -0
  689. package/types/components/DateTimePicker/variations/_size/base.d.ts.map +1 -0
  690. package/types/components/DateTimePicker/variations/_tooltip-size/base.d.ts +2 -0
  691. package/types/components/DateTimePicker/variations/_tooltip-size/base.d.ts.map +1 -0
  692. package/types/components/DateTimePicker/variations/_view/base.d.ts +2 -0
  693. package/types/components/DateTimePicker/variations/_view/base.d.ts.map +1 -0
  694. package/types/components/Range/Range.styles.d.ts.map +1 -1
  695. package/types/components/Range/Range.tokens.d.ts +6 -0
  696. package/types/components/Range/Range.tokens.d.ts.map +1 -1
  697. package/types/components/Range/variations/_readonly/base.d.ts.map +1 -1
  698. package/types/components/Select/Select.d.ts.map +1 -1
  699. package/types/components/Select/hooks/useKeyboardNavigation.d.ts +2 -1
  700. package/types/components/Select/hooks/useKeyboardNavigation.d.ts.map +1 -1
  701. package/types/components/Select/reducers/focusedPathReducer.d.ts +3 -0
  702. package/types/components/Select/reducers/focusedPathReducer.d.ts.map +1 -1
  703. package/types/components/Select/reducers/treePathReducer.d.ts +6 -0
  704. package/types/components/Select/reducers/treePathReducer.d.ts.map +1 -1
  705. package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
  706. package/types/components/Select/ui/TreeList/ui/Item/Item.d.ts.map +1 -1
  707. package/types/components/Select/ui/TreeList/ui/Item/Item.types.d.ts +1 -9
  708. package/types/components/Select/ui/TreeList/ui/Item/Item.types.d.ts.map +1 -1
  709. package/types/components/Tabs/tokens.d.ts +1 -0
  710. package/types/components/Tabs/tokens.d.ts.map +1 -1
  711. package/types/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -1
  712. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts +1 -1
  713. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts.map +1 -1
  714. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.d.ts +2 -1
  715. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.d.ts.map +1 -1
  716. package/types/components/Tree/utils/deepCopy.d.ts +6 -0
  717. package/types/components/Tree/utils/deepCopy.d.ts.map +1 -0
  718. package/types/components/Tree/utils/index.d.ts +1 -0
  719. package/types/components/Tree/utils/index.d.ts.map +1 -1
  720. package/types/examples/components/ChipGroup/ChipGroup.config.d.ts.map +1 -0
  721. package/types/examples/components/ChipGroup/ChipGroup.d.ts.map +1 -0
  722. package/types/examples/components/Combobox/Combobox.config.d.ts.map +1 -1
  723. package/types/examples/components/Combobox/Combobox.d.ts +48 -0
  724. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  725. package/types/examples/components/DatePicker/DatePicker.config.d.ts.map +1 -1
  726. package/types/examples/components/DateTimePicker/DateTimePicker.config.d.ts +29 -0
  727. package/types/examples/components/DateTimePicker/DateTimePicker.config.d.ts.map +1 -0
  728. package/types/examples/components/DateTimePicker/DateTimePicker.d.ts +42 -0
  729. package/types/examples/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
  730. package/types/examples/components/Range/Range.config.d.ts.map +1 -1
  731. package/types/index.d.ts +1 -0
  732. package/types/index.d.ts.map +1 -1
  733. package/types/utils/index.d.ts +1 -0
  734. package/types/utils/index.d.ts.map +1 -1
  735. package/types/utils/isArraysEqual.d.ts +2 -0
  736. package/types/utils/isArraysEqual.d.ts.map +1 -0
  737. package/cjs/components/DatePicker/RangeDate/RangeDate.styles_7jrupa.css +0 -4
  738. package/emotion/cjs/examples/components/ChipGroup /ChipGroup.config.js +0 -214
  739. package/emotion/es/examples/components/ChipGroup /ChipGroup.config.js +0 -204
  740. package/es/components/DatePicker/RangeDate/RangeDate.styles_7jrupa.css +0 -4
  741. package/styled-components/cjs/examples/components/ChipGroup /ChipGroup.config.js +0 -214
  742. package/styled-components/es/examples/components/ChipGroup /ChipGroup.config.js +0 -204
  743. package/types/examples/components/ChipGroup /ChipGroup.config.d.ts.map +0 -1
  744. package/types/examples/components/ChipGroup /ChipGroup.d.ts.map +0 -1
  745. /package/emotion/cjs/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
  746. /package/emotion/es/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
  747. /package/styled-components/cjs/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
  748. /package/styled-components/es/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
  749. /package/types/examples/components/{ChipGroup → ChipGroup}/ChipGroup.config.d.ts +0 -0
  750. /package/types/examples/components/{ChipGroup → ChipGroup}/ChipGroup.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n KeyboardEvent,\n useEffect,\n useReducer,\n ReactNode,\n useRef,\n MutableRefObject,\n HTMLAttributes,\n} from 'react';\nimport cls from 'classnames';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate, I18N } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears, EventTooltip } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\nimport { classes } from '../Calendar.tokens';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (\n Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement> & { eventTooltipSize?: string }>,\n) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n className,\n value: externalValue,\n min: minDate,\n max: maxDate,\n renderFromDate,\n includeEdgeDates,\n type = 'Days',\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n locale = 'ru',\n stretched,\n onChangeValue,\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [eventNodes, setEventNodes] = useState<ReactNode[]>([]);\n const eventTooltipTargetRef = useRef<HTMLDivElement | null>(null);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const innerRootRef = useForkRef(rootRef, outerRootRef);\n\n const min = minDate && new Date(minDate);\n const max = maxDate && new Date(maxDate);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFromDate, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n const handleTriggerEventTooltip = (\n structureRef?: MutableRefObject<HTMLDivElement | null>,\n events?: ReactNode[],\n ) => {\n if (structureRef?.current && events?.length) {\n eventTooltipTargetRef.current = structureRef.current;\n\n setEventNodes(events);\n } else if (eventTooltipTargetRef.current !== null) {\n eventTooltipTargetRef.current = null;\n\n setEventNodes([]);\n }\n };\n\n const tooltipContent = () => {\n const TooltipBodyWrapper = eventTooltipOptions?.bodyWrapper;\n if (!TooltipBodyWrapper) {\n return eventNodes;\n }\n\n return <TooltipBodyWrapper>{eventNodes}</TooltipBodyWrapper>;\n };\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (prevType !== type) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: type, size: sizeMap[type].double },\n });\n\n setPrevType(type);\n }\n }, [type]);\n\n useEffect(() => {\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n }\n\n if (!value && !prevValue) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFromDate || min || new Date() },\n });\n }\n\n setPrevValue(value);\n }, [value]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root\n ref={innerRootRef}\n className={cls(className, { [classes.stretched]: stretched })}\n aria-label={I18N.selectDate[locale]}\n eventTooltipSize={eventTooltipOptions?.size}\n {...rest}\n >\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n\n {eventTooltipTargetRef.current && eventNodes?.length && (\n <EventTooltip\n opened={Boolean(eventNodes?.length)}\n target={eventTooltipTargetRef}\n frame={rootRef}\n text={tooltipContent()}\n trigger=\"hover\"\n {...eventTooltipOptions}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n eventTooltipSizeCSS: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","className","externalValue","value","minDate","min","maxDate","max","renderFromDate","includeEdgeDates","_ref$type","type","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$locale","locale","stretched","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useState9","_useState10","eventNodes","setEventNodes","eventTooltipTargetRef","useRef","rootRef","innerRootRef","useForkRef","Date","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState11","_useState12","firstDate","setFirstDate","_useState13","_useState14","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","handleTriggerEventTooltip","structureRef","events","current","length","tooltipContent","TooltipBodyWrapper","bodyWrapper","React","createElement","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","_extends","ref","cls","_defineProperty","classes","I18N","selectDate","eventTooltipSize","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","onTriggerEventTooltip","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","EventTooltip","opened","Boolean","target","frame","text","trigger","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","eventTooltipSizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n KeyboardEvent,\n useEffect,\n useReducer,\n ReactNode,\n useRef,\n MutableRefObject,\n HTMLAttributes,\n} from 'react';\nimport cls from 'classnames';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate, I18N } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears, EventTooltip } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\nimport { classes } from '../Calendar.tokens';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (\n Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement> & { eventTooltipSize?: string }>,\n) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n className,\n value: externalValue,\n min: minDate,\n max: maxDate,\n renderFromDate,\n includeEdgeDates,\n type = 'Days',\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n locale = 'ru',\n stretched,\n onChangeValue,\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [eventNodes, setEventNodes] = useState<ReactNode[]>([]);\n const eventTooltipTargetRef = useRef<HTMLDivElement | null>(null);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const innerRootRef = useForkRef(rootRef, outerRootRef);\n\n const min = minDate && new Date(minDate);\n const max = maxDate && new Date(maxDate);\n if (min) {\n min.setHours(0, 0, 0);\n }\n if (max) {\n max.setHours(23, 59, 59);\n }\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFromDate, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n const handleTriggerEventTooltip = (\n structureRef?: MutableRefObject<HTMLDivElement | null>,\n events?: ReactNode[],\n ) => {\n if (structureRef?.current && events?.length) {\n eventTooltipTargetRef.current = structureRef.current;\n\n setEventNodes(events);\n } else if (eventTooltipTargetRef.current !== null) {\n eventTooltipTargetRef.current = null;\n\n setEventNodes([]);\n }\n };\n\n const tooltipContent = () => {\n const TooltipBodyWrapper = eventTooltipOptions?.bodyWrapper;\n if (!TooltipBodyWrapper) {\n return eventNodes;\n }\n\n return <TooltipBodyWrapper>{eventNodes}</TooltipBodyWrapper>;\n };\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (prevType !== type) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: type, size: sizeMap[type].double },\n });\n\n setPrevType(type);\n }\n }, [type]);\n\n useEffect(() => {\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n }\n\n if (!value && !prevValue) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFromDate || min || new Date() },\n });\n }\n\n setPrevValue(value);\n }, [value]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root\n ref={innerRootRef}\n className={cls(className, { [classes.stretched]: stretched })}\n aria-label={I18N.selectDate[locale]}\n eventTooltipSize={eventTooltipOptions?.size}\n {...rest}\n >\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n\n {eventTooltipTargetRef.current && eventNodes?.length && (\n <EventTooltip\n opened={Boolean(eventNodes?.length)}\n target={eventTooltipTargetRef}\n frame={rootRef}\n text={tooltipContent()}\n trigger=\"hover\"\n {...eventTooltipOptions}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n eventTooltipSizeCSS: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","className","externalValue","value","minDate","min","maxDate","max","renderFromDate","includeEdgeDates","_ref$type","type","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$locale","locale","stretched","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useState9","_useState10","eventNodes","setEventNodes","eventTooltipTargetRef","useRef","rootRef","innerRootRef","useForkRef","Date","setHours","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState11","_useState12","firstDate","setFirstDate","_useState13","_useState14","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","handleTriggerEventTooltip","structureRef","events","current","length","tooltipContent","TooltipBodyWrapper","bodyWrapper","React","createElement","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","_extends","ref","cls","_defineProperty","classes","I18N","selectDate","eventTooltipSize","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","onTriggerEventTooltip","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","EventTooltip","opened","Boolean","target","frame","text","trigger","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","eventTooltipSizeCSS","defaults"],"mappings":"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"}
@@ -132,6 +132,25 @@
132
132
  .SelectAll_styles_tjme4i_d4ty997__a0f87d11{background:var(--surface-solid-card);}
133
133
  .SelectAll_styles_tjme4i_dxn0wk6__a0f87d11{height:0.0625rem;margin-top:var(--dxn0wk6-0);margin-right:var(--plasma-combobox-divider-margin-right);margin-left:var(--plasma-combobox-divider-margin-left);background:var(--plasma-combobox-divider-color);}
134
134
 
135
+
136
+ .Item_styles_7nhjnm_swacibr__bb9b6d83{--plasma-cell-title-color:var(--text-primary);--plasma-cell-background-color:var(--surface-clear);--plasma-cell-padding:var(--plasma-combobox-cell-padding);--plasma-cell-padding-left-content:var(--plasma-combobox-cell-padding-left-content);--plasma-cell-padding-content:var(--plasma-combobox-cell-padding-content);--plasma-cell-padding-right-content:var(--plasma-combobox-cell-padding-right-content);--plasma-cell-textbox-gap:var(--plasma-combobox-cell-textbox-gap);--plasma-cell-gap:var(--plasma-combobox-cell-gap);--plasma-cell-title-font-family:var(--plasma-combobox-cell-title-font-family);--plasma-cell-title-font-size:var(--plasma-combobox-cell-title-font-size);--plasma-cell-title-font-style:var(--plasma-combobox-cell-title-font-style);--plasma-cell-title-font-weight:var(--plasma-combobox-cell-title-font-weight);--plasma-cell-title-letter-spacing:var(--plasma-combobox-cell-title-letter-spacing);--plasma-cell-title-line-height:var(--plasma-combobox-cell-title-line-height);width:100%;}
137
+
138
+ .Item_styles_7nhjnm_srzm47e__bb9b6d83{--plasma-checkbox-trigger-size:var(--plasma-combobox-checkbox-trigger-size);--plasma-checkbox-trigger-border-radius:var(--plasma-combobox-checkbox-trigger-border-radius);--plasma-checkbox-fill-color:var(--plasma-combobox-checkbox-fill-color);--plasma-checkbox-icon-color:var(--plasma-combobox-checkbox-icon-color);--plasma-checkbox-trigger-border-color:var(--plasma-combobox-checkbox-trigger-border-color);--plasma-checkbox-trigger-border-checked-color:var(--plasma-combobox-checkbox-trigger-border-checked-color);--plasma-checkbox-trigger-border-width:var(--plasma-combobox-checkbox-trigger-border-width);}
139
+ .Item_styles_7nhjnm_s192qkx1__bb9b6d83{--plasma-indicator-size:var(--plasma-combobox-indicator-size);--plasma-indicator-color:var(--plasma-combobox-item-icon-color);}
140
+ .Item_styles_7nhjnm_s1q9myss__bb9b6d83{width:var(--s1q9myss-0);height:var(--s1q9myss-0);}.Item_styles_7nhjnm_s1q9myss__bb9b6d83.Item_styles_7nhjnm_arrowInverse__bb9b6d83{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}
141
+ .Item_styles_7nhjnm_s10m1bkx__bb9b6d83{width:var(--s10m1bkx-0);height:var(--s10m1bkx-0);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.Item_styles_7nhjnm_s10m1bkx__bb9b6d83.Item_styles_7nhjnm_arrowInverse__bb9b6d83{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);}
142
+ .Item_styles_7nhjnm_s1r53w2d__bb9b6d83{width:var(--s1r53w2d-0);height:var(--s1r53w2d-0);}
143
+ .Item_styles_7nhjnm_d1v61vfm__bb9b6d83{line-height:0;color:var(--plasma-combobox-disclosure-icon-color);visibility:var(--d1v61vfm-0);}.Item_styles_7nhjnm_d1v61vfm__bb9b6d83:hover{color:var(--plasma-combobox-disclosure-icon-color-hover);}
144
+ .Item_styles_7nhjnm_i6hijvp__bb9b6d83{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex:none;-ms-flex:none;flex:none;width:var(--i6hijvp-0);height:var(--i6hijvp-0);line-height:0;color:var(--plasma-combobox-item-icon-color);}
145
+ .Item_styles_7nhjnm_s1j1q6dk__bb9b6d83{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex:1;-ms-flex:1;flex:1;}
146
+ .Item_styles_7nhjnm_w1ftsp23__bb9b6d83{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--plasma-select-item-gap);min-height:var(--plasma-combobox-item-height);margin:0;box-sizing:content-box;padding:var(--w1ftsp23-0);font-family:var(--plasma-combobox-font-family);font-size:var(--plasma-combobox-font-size);font-style:var(--plasma-combobox-font-style);font-weight:var(--plasma-combobox-font-weight);-webkit-letter-spacing:var(--plasma-combobox-font-letter-spacing);-moz-letter-spacing:var(--plasma-combobox-font-letter-spacing);-ms-letter-spacing:var(--plasma-combobox-font-letter-spacing);letter-spacing:var(--plasma-combobox-font-letter-spacing);line-height:var(--plasma-combobox-font-line-height);background-color:var(--surface-clear);color:var(--text-primary);border-radius:calc(var(--plasma-combobox-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-clip:padding-box;position:relative;}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83:hover:not(.Item_styles_7nhjnm_dropdownItemIsDisabled__bb9b6d83){cursor:pointer;background-color:var(--plasma-combobox-item-background-hover);}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83.Item_styles_7nhjnm_dropdownItemIsActive__bb9b6d83{background-color:var(--plasma-combobox-item-background-hover);}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83.Item_styles_7nhjnm_dropdownItemIsDisabled__bb9b6d83{opacity:0.4;cursor:not-allowed;}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83:focus{outline:none;}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0 solid transparent;border-radius:calc(var(--plasma-combobox-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));-webkit-transition:none;transition:none;pointer-events:none;}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83.Item_styles_7nhjnm_dropdownItemIsFocused__bb9b6d83:before{outline:none;box-shadow:inset 0 0 0 0.0625rem var(--surface-accent);}
147
+
148
+
149
+ .Item_styles_7nhjnm_omc64gp__bb9b6d83{width:calc(var(--omc64gp-0) * var(--plasma-select-item-tree-offset-width));-webkit-flex:none;-ms-flex:none;flex:none;margin-right:calc(var(--plasma-select-item-gap) * -1);}
150
+
151
+ .TreeList_styles_1auklgl_l1ob9zdf__e765a7ed{width:100%;padding:calc(var(--plasma-combobox-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-combobox-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
152
+ .TreeList_styles_1auklgl_s189uhoe__e765a7ed{max-height:var(--s189uhoe-0);overflow-x:hidden;overflow-y:auto;border-radius:calc(var(--plasma-combobox-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));}
153
+
135
154
  .base_jfbpjg_b1ty39ru__57cb1989{color:var(--plasma-button-color);background:var(--plasma-button-background-color);}.base_jfbpjg_b1ty39ru__57cb1989.base_jfbpjg_buttonLoading__57cb1989{background:var(--plasma-button-loading-background-color);}.base_jfbpjg_b1ty39ru__57cb1989:hover{color:var(--plasma-button-color-hover,var(--plasma-button-color));background:var(--plasma-button-background-color-hover,var(--plasma-button-background-color));scale:var(--plasma-button-scale-hover);}.base_jfbpjg_b1ty39ru__57cb1989:active{color:var(--plasma-button-color-active,var(--plasma-button-color));background:var(--plasma-button-background-color-active,var(--plasma-button-background-color));scale:var(---plasma-button-scale-active);}
136
155
 
137
156
  .base_1alzrso_be0ha5g__cdc67255{height:var(--plasma-button-height);padding:0 var(--plasma-button-padding,calc(var(--plasma-button-height) * 1.618 / 4));font-family:var(--plasma-button-font-family);font-size:var(--plasma-button-font-size);font-style:var(--plasma-button-font-style);font-weight:var(--plasma-button-font-weight);-webkit-letter-spacing:var(--plasma-button-letter-spacing);-moz-letter-spacing:var(--plasma-button-letter-spacing);-ms-letter-spacing:var(--plasma-button-letter-spacing);letter-spacing:var(--plasma-button-letter-spacing);line-height:var(--plasma-button-line-height);--plasma_private-btn-outline-size:var(--plasma-button-outline-size,0.0625rem);}
@@ -5,7 +5,7 @@ import { classes } from './Combobox.tokens.js';
5
5
  import { FloatingPopover } from './FloatingPopover.js';
6
6
  import { getItemByFocused, useKeyNavigation } from './hooks/useKeyboardNavigation.js';
7
7
  import { getTreeMaps, getPathMap } from './hooks/getPathMaps.js';
8
- import { IconArrowWrapper, StyledArrow, StyledLeftHelper, ListWrapper, Ul, StyledEmptyState, base } from './Combobox.styles.js';
8
+ import { IconArrowWrapper, StyledArrow, StyledLeftHelper, StyledEmptyState, ListWrapper, Ul, base } from './Combobox.styles.js';
9
9
  import { base as base$1 } from './variations/_view/base.js';
10
10
  import { base as base$2 } from './variations/_size/base.js';
11
11
  import { SelectNative } from './ui/SelectNative/SelectNative.js';
@@ -13,9 +13,10 @@ import { Context } from './Combobox.context.js';
13
13
  import { initialItemsTransform } from './utils/initialItemsTransform.js';
14
14
  import { getTextValue } from './utils/getTextValue.js';
15
15
  import { safeUseId } from '../../../utils/react.js';
16
- import { filterItems } from './utils/filterItems.js';
16
+ import { filterItems, defaultFilter } from './utils/filterItems.js';
17
17
  import { pathReducer } from './reducers/pathReducer.js';
18
18
  import { focusedPathReducer } from './reducers/focusedPathReducer.js';
19
+ import { treePathReducer } from './reducers/treePathReducer.js';
19
20
  import { useOutsideClick } from '../../../hooks/useOutsideClick.js';
20
21
  import { isEmpty } from '../../../utils/isEmpty.js';
21
22
  import { updateDescendants } from './utils/updateDescendants.js';
@@ -25,11 +26,12 @@ import { useDidMountLayoutEffect } from '../../../hooks/useDidMountLayoutEffect.
25
26
  import { StyledTextField } from './ui/Target/Target.styles.js';
26
27
  import { sizeToIconSize } from '../../Select/utils/sizeToIconSize.js';
27
28
  import { getItemId } from './utils/getItemId.js';
29
+ import { TreeList } from './ui/TreeList/TreeList.js';
28
30
  import { SelectAll } from './ui/SelectAll/SelectAll.js';
29
31
  import { VirtualList } from './ui/VirtualList/VirtualList.js';
30
32
  import { Inner } from './ui/Inner/Inner.js';
31
33
 
32
- var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "keepPlaceholder", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue", "zIndex", "beforeList", "afterList", "virtual", "hintView", "hintSize", "emptyStateDescription", "onChangeValue", "onScroll", "onToggle", "mode", "chipClickArea", "_offset"];
34
+ var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "treeView", "arrowPlacement", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "keepPlaceholder", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue", "zIndex", "beforeList", "afterList", "virtual", "hintView", "hintSize", "emptyStateDescription", "onChangeValue", "onScroll", "onToggle", "mode", "chipClickArea", "_offset"];
33
35
 
34
36
  /**
35
37
  * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.
@@ -45,6 +47,10 @@ var comboboxRoot = function comboboxRoot(Root) {
45
47
  isTargetAmount = props.isTargetAmount,
46
48
  targetAmount = props.targetAmount,
47
49
  items = props.items,
50
+ _props$treeView = props.treeView,
51
+ treeView = _props$treeView === void 0 ? false : _props$treeView,
52
+ _props$arrowPlacement = props.arrowPlacement,
53
+ arrowPlacement = _props$arrowPlacement === void 0 ? 'left' : _props$arrowPlacement,
48
54
  _props$placement = props.placement,
49
55
  placement = _props$placement === void 0 ? 'bottom-start' : _props$placement,
50
56
  label = props.label,
@@ -98,13 +104,18 @@ var comboboxRoot = function comboboxRoot(Root) {
98
104
  var _useMemo = useMemo(function () {
99
105
  return getTreeMaps(transformedItems);
100
106
  }, [items]),
101
- _useMemo2 = _slicedToArray(_useMemo, 2),
107
+ _useMemo2 = _slicedToArray(_useMemo, 3),
102
108
  valueToCheckedMap = _useMemo2[0],
103
- valueToItemMap = _useMemo2[1];
109
+ valueToItemMap = _useMemo2[1],
110
+ valueToPathMap = _useMemo2[2];
111
+
112
+ // Состояние поля поиска в target
104
113
  var _useState = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue)),
105
114
  _useState2 = _slicedToArray(_useState, 2),
106
115
  textValue = _useState2[0],
107
- setTextValue = _useState2[1];
116
+ setTextValueState = _useState2[1];
117
+
118
+ // Внутреннее состояние выбранных элементов
108
119
  var _useState3 = useState(multiple ? [] : ''),
109
120
  _useState4 = _slicedToArray(_useState3, 2),
110
121
  internalValue = _useState4[0],
@@ -116,9 +127,10 @@ var comboboxRoot = function comboboxRoot(Root) {
116
127
  var inputForkRef = useForkRef(inputRef, ref);
117
128
  var listWrapperRef = useRef(null);
118
129
  var treeId = safeUseId();
130
+ var filterCb = filter || defaultFilter;
119
131
  var filteredItems = useMemo(function () {
120
132
  return filterItems(transformedItems, textValue, getTextValue(multiple, value, valueToItemMap, renderValue), filter);
121
- }, [transformedItems, textValue, filter]);
133
+ }, [transformedItems, textValue, filter, value]);
122
134
  var _useMemo3 = useMemo(function () {
123
135
  return getPathMap(filteredItems);
124
136
  }, [filteredItems, textValue]),
@@ -140,10 +152,20 @@ var comboboxRoot = function comboboxRoot(Root) {
140
152
  _useState6 = _slicedToArray(_useState5, 2),
141
153
  checked = _useState6[0],
142
154
  setChecked = _useState6[1];
155
+ var _useReducer5 = useReducer(treePathReducer, {}),
156
+ _useReducer6 = _slicedToArray(_useReducer5, 2),
157
+ treePath = _useReducer6[0],
158
+ dispatchTreePath = _useReducer6[1];
143
159
  var isCurrentListOpen = Boolean(path[0]);
144
160
  var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
145
161
  var withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;
146
162
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !multiple;
163
+ var setTextValue = function setTextValue(newTextValue) {
164
+ setTextValueState(newTextValue);
165
+ if (onChangeValue) {
166
+ onChangeValue(newTextValue);
167
+ }
168
+ };
147
169
 
148
170
  /* Логика работы при клике за пределами выпадающего списка */
149
171
  useOutsideClick(function () {
@@ -151,9 +173,6 @@ var comboboxRoot = function comboboxRoot(Root) {
151
173
  return;
152
174
  }
153
175
  handleListToggle(false);
154
-
155
- // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.
156
- setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));
157
176
  }, [floatingPopoverRef, listWrapperRef]);
158
177
 
159
178
  // Эта функция срабатывает при изменении Combobox и
@@ -206,11 +225,14 @@ var comboboxRoot = function comboboxRoot(Root) {
206
225
  onChange(value.filter(function (val) {
207
226
  var _valueToItemMap$get;
208
227
  return valueToItemMap === null || valueToItemMap === void 0 || (_valueToItemMap$get = valueToItemMap.get(val)) === null || _valueToItemMap$get === void 0 ? void 0 : _valueToItemMap$get.disabled;
209
- }));
228
+ }), null);
210
229
  } else {
211
230
  onChange(value.filter(function (val) {
212
231
  return val !== chip.value;
213
- }), valueToItemMap.get(chip.value) || null);
232
+ }), valueToItemMap.get(chip.value) || {
233
+ value: chip.value,
234
+ label: chip.label
235
+ });
214
236
  }
215
237
  };
216
238
 
@@ -231,6 +253,12 @@ var comboboxRoot = function comboboxRoot(Root) {
231
253
  dispatchPath({
232
254
  type: 'reset'
233
255
  });
256
+ dispatchTreePath({
257
+ type: 'reset'
258
+ });
259
+
260
+ // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.
261
+ setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));
234
262
 
235
263
  // Скроллим чипы к левому краю при закрытии компонента
236
264
  var el = rootRef === null || rootRef === void 0 || (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.querySelector('.input-scrollable-wrapper');
@@ -293,6 +321,9 @@ var comboboxRoot = function comboboxRoot(Root) {
293
321
  dispatchFocusedPath({
294
322
  type: 'reset'
295
323
  });
324
+ dispatchTreePath({
325
+ type: 'reset'
326
+ });
296
327
  }
297
328
  if (onChange) {
298
329
  onChange(newValues, item);
@@ -319,6 +350,9 @@ var comboboxRoot = function comboboxRoot(Root) {
319
350
  dispatchFocusedPath({
320
351
  type: 'reset'
321
352
  });
353
+ dispatchTreePath({
354
+ type: 'reset'
355
+ });
322
356
  }
323
357
 
324
358
  // Закрываем список, если элемент уже выбран.
@@ -387,7 +421,12 @@ var comboboxRoot = function comboboxRoot(Root) {
387
421
  multiple: multiple,
388
422
  value: value,
389
423
  textValue: textValue,
390
- valueToItemMap: valueToItemMap
424
+ valueToItemMap: valueToItemMap,
425
+ treePath: treePath,
426
+ dispatchTreePath: dispatchTreePath,
427
+ treeView: treeView,
428
+ valueToPathMap: valueToPathMap,
429
+ items: filteredItems
391
430
  }),
392
431
  onKeyDown = _useKeyNavigation.onKeyDown;
393
432
 
@@ -443,6 +482,30 @@ var comboboxRoot = function comboboxRoot(Root) {
443
482
  setInternalValue(defaultValue);
444
483
  }
445
484
  }, [defaultValue]);
485
+
486
+ // Эффект для раскрытия дерева при поиске.
487
+ useLayoutEffect(function () {
488
+ if (treeView) {
489
+ // Если поле ввода стало пустым или если пользователь выбирает элемент,
490
+ // то скрываем все узлы дерева и выходим из эффекта.
491
+ if (textValue === '' || textValue === getTextValue(multiple, value, valueToItemMap, renderValue)) {
492
+ dispatchTreePath({
493
+ type: 'reset'
494
+ });
495
+ return;
496
+ }
497
+
498
+ // Иначе раскрываем все узлы, когда пользователь начинает вводить текст в поле ввода.
499
+ dispatchTreePath({
500
+ type: 'expand_by_key',
501
+ value: {
502
+ filteredItems: filteredItems,
503
+ filterCb: filterCb,
504
+ textValue: textValue
505
+ }
506
+ });
507
+ }
508
+ }, [textValue]);
446
509
  return /*#__PURE__*/React.createElement(Root, {
447
510
  size: size,
448
511
  view: view,
@@ -475,7 +538,11 @@ var comboboxRoot = function comboboxRoot(Root) {
475
538
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
476
539
  // @ts-ignore
477
540
  // eslint-disable-next-line no-underscore-dangle
478
- _checkboxAppearance: rest._checkboxAppearance
541
+ _checkboxAppearance: rest._checkboxAppearance,
542
+ treePath: treePath,
543
+ dispatchTreePath: dispatchTreePath,
544
+ arrowPlacement: arrowPlacement,
545
+ valueToPathMap: valueToPathMap
479
546
  }
480
547
  }, /*#__PURE__*/React.createElement(FloatingPopover, {
481
548
  ref: floatingPopoverRef,
@@ -541,7 +608,18 @@ var comboboxRoot = function comboboxRoot(Root) {
541
608
  disabled: disabled,
542
609
  readOnly: readOnly,
543
610
  name: name
544
- }, /*#__PURE__*/React.createElement(ListWrapper, {
611
+ }, isEmpty(filteredItems) ? /*#__PURE__*/React.createElement(StyledEmptyState, {
612
+ className: classes.emptyStateWrapper,
613
+ size: size,
614
+ description: emptyStateDescription || 'Ничего не найдено'
615
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, treeView ? /*#__PURE__*/React.createElement(TreeList, {
616
+ items: filteredItems,
617
+ listMaxHeight: listMaxHeight || listHeight,
618
+ onScroll: virtual ? undefined : onScroll,
619
+ virtual: virtual,
620
+ beforeList: beforeList,
621
+ afterList: afterList
622
+ }) : /*#__PURE__*/React.createElement(ListWrapper, {
545
623
  ref: listWrapperRef,
546
624
  listWidth: listWidth
547
625
  }, /*#__PURE__*/React.createElement(Ul, {
@@ -551,11 +629,7 @@ var comboboxRoot = function comboboxRoot(Root) {
551
629
  listMaxHeight: listMaxHeight || listHeight,
552
630
  virtual: virtual,
553
631
  onScroll: virtual ? undefined : onScroll
554
- }, beforeList, isEmpty(filteredItems) ? /*#__PURE__*/React.createElement(StyledEmptyState, {
555
- className: classes.emptyStateWrapper,
556
- size: size,
557
- description: emptyStateDescription || 'Ничего не найдено'
558
- }) : /*#__PURE__*/React.createElement(React.Fragment, null, props.multiple && props.selectAllOptions &&
632
+ }, beforeList, props.multiple && props.selectAllOptions &&
559
633
  /*#__PURE__*/
560
634
  // TODO: #2004
561
635
  React.createElement(SelectAll, {
@@ -576,7 +650,7 @@ var comboboxRoot = function comboboxRoot(Root) {
576
650
  listWidth: listWidth,
577
651
  portal: listWrapperRef
578
652
  });
579
- })), afterList)))))));
653
+ }), afterList))))))));
580
654
  });
581
655
  };
582
656
  var comboboxConfig = {