@salutejs/plasma-new-hope 0.340.0-canary.2322.19132961849.0 → 0.340.0-canary.2322.19262336998.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 (762) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +22 -22
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  3. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  5. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  6. package/cjs/components/Combobox/ComboboxNew/Combobox.css +41 -22
  7. package/cjs/components/Combobox/ComboboxNew/Combobox.js +93 -19
  8. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  10. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +8 -2
  12. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +319 -1
  14. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  15. package/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  16. package/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js.map +1 -1
  17. package/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +161 -0
  18. package/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js.map +1 -0
  19. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.css +57 -0
  20. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +96 -0
  21. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js.map +1 -0
  22. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +30 -0
  23. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js.map +1 -0
  24. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles_1auklgl.css +2 -0
  25. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.css +54 -0
  26. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +144 -0
  27. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js.map +1 -0
  28. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +205 -0
  29. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js.map +1 -0
  30. package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles_7nhjnm.css +15 -0
  31. package/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +4 -3
  32. package/cjs/components/Combobox/ComboboxNew/utils/filterItems.js.map +1 -1
  33. package/cjs/components/DatePicker/DatePicker.tokens.js +4 -1
  34. package/cjs/components/DatePicker/DatePicker.tokens.js.map +1 -1
  35. package/cjs/components/DatePicker/RangeDate/RangeDate.css +22 -22
  36. package/cjs/components/DatePicker/RangeDate/RangeDate.js +24 -4
  37. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  38. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +22 -22
  39. package/cjs/components/DatePicker/SingleDate/SingleDate.css +25 -25
  40. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +1 -1
  41. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  42. package/cjs/components/DatePicker/SingleDate/{SingleDate.styles_5c37vu.css → SingleDate.styles_slcqbc.css} +1 -1
  43. package/cjs/components/DatePicker/utils/normalizeDates.js +3 -6
  44. package/cjs/components/DatePicker/utils/normalizeDates.js.map +1 -1
  45. package/cjs/components/DateTimePicker/DateTimePicker.css +200 -0
  46. package/cjs/components/DateTimePicker/DateTimePicker.js +337 -0
  47. package/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -0
  48. package/cjs/components/DateTimePicker/DateTimePicker.styles.js +23 -0
  49. package/cjs/components/DateTimePicker/DateTimePicker.styles.js.map +1 -0
  50. package/cjs/components/DateTimePicker/DateTimePicker.styles_x7parr.css +3 -0
  51. package/cjs/components/DateTimePicker/DateTimePicker.tokens.js +271 -0
  52. package/cjs/components/DateTimePicker/DateTimePicker.tokens.js.map +1 -0
  53. package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +445 -0
  54. package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -0
  55. package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +40 -0
  56. package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -0
  57. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.css +82 -0
  58. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +36 -0
  59. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js.map +1 -0
  60. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +83 -0
  61. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js.map +1 -0
  62. package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles_1yl3xrz.css +2 -0
  63. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.css +34 -0
  64. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +44 -0
  65. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js.map +1 -0
  66. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +92 -0
  67. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js.map +1 -0
  68. package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles_pdofx1.css +6 -0
  69. package/cjs/components/DateTimePicker/ui/Input/Input.css +80 -0
  70. package/cjs/components/DateTimePicker/ui/Input/Input.js +70 -0
  71. package/cjs/components/DateTimePicker/ui/Input/Input.js.map +1 -0
  72. package/cjs/components/DateTimePicker/ui/Input/Input.styles.js +24 -0
  73. package/cjs/components/DateTimePicker/ui/Input/Input.styles.js.map +1 -0
  74. package/cjs/components/DateTimePicker/ui/Input/Input.styles_1af0tdj.css +1 -0
  75. package/cjs/components/DateTimePicker/ui/Popover/Popover.css +11 -0
  76. package/cjs/components/DateTimePicker/ui/Popover/Popover.js +37 -0
  77. package/cjs/components/DateTimePicker/ui/Popover/Popover.js.map +1 -0
  78. package/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js +44 -0
  79. package/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js.map +1 -0
  80. package/cjs/components/DateTimePicker/ui/Popover/Popover.styles_1v6vurg.css +2 -0
  81. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.css +12 -0
  82. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +30 -0
  83. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js.map +1 -0
  84. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +40 -0
  85. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js.map +1 -0
  86. package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles_31tnfx.css +1 -0
  87. package/cjs/components/DateTimePicker/utils/getFormattedDateTime.js +81 -0
  88. package/cjs/components/DateTimePicker/utils/getFormattedDateTime.js.map +1 -0
  89. package/cjs/components/DateTimePicker/utils/getMaskedValue.js +53 -0
  90. package/cjs/components/DateTimePicker/utils/getMaskedValue.js.map +1 -0
  91. package/cjs/components/DateTimePicker/utils/getOriginalDateTime.js +73 -0
  92. package/cjs/components/DateTimePicker/utils/getOriginalDateTime.js.map +1 -0
  93. package/cjs/components/DateTimePicker/utils/normalizeDateTime.js +33 -0
  94. package/cjs/components/DateTimePicker/utils/normalizeDateTime.js.map +1 -0
  95. package/cjs/components/DateTimePicker/variations/_disabled/base.js +9 -0
  96. package/cjs/components/DateTimePicker/variations/_disabled/base.js.map +1 -0
  97. package/cjs/components/DateTimePicker/variations/_disabled/base_7ophop.css +1 -0
  98. package/cjs/components/DateTimePicker/variations/_readonly/base.js +9 -0
  99. package/cjs/components/DateTimePicker/variations/_readonly/base.js.map +1 -0
  100. package/cjs/components/DateTimePicker/variations/_readonly/base_rrpgsr.css +1 -0
  101. package/cjs/components/DateTimePicker/variations/_size/base.js +9 -0
  102. package/cjs/components/DateTimePicker/variations/_size/base.js.map +1 -0
  103. package/cjs/components/DateTimePicker/variations/_size/base_19i3bl1.css +1 -0
  104. package/cjs/components/DateTimePicker/variations/_tooltip-size/base.js +9 -0
  105. package/cjs/components/DateTimePicker/variations/_tooltip-size/base.js.map +1 -0
  106. package/cjs/components/DateTimePicker/variations/_tooltip-size/base_x642ct.css +1 -0
  107. package/cjs/components/DateTimePicker/variations/_view/base.js +9 -0
  108. package/cjs/components/DateTimePicker/variations/_view/base.js.map +1 -0
  109. package/cjs/components/DateTimePicker/variations/_view/base_1a1ebsk.css +1 -0
  110. package/cjs/components/Pagination/Pagination.css +22 -22
  111. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +22 -22
  112. package/cjs/components/Range/Range.css +22 -22
  113. package/cjs/components/Select/Select.css +22 -22
  114. package/cjs/components/Select/Select.js +2 -1
  115. package/cjs/components/Select/Select.js.map +1 -1
  116. package/cjs/components/Select/hooks/useKeyboardNavigation.js +127 -38
  117. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  118. package/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
  119. package/cjs/components/Select/reducers/focusedPathReducer.js.map +1 -1
  120. package/cjs/components/Select/reducers/treePathReducer.js +12 -0
  121. package/cjs/components/Select/reducers/treePathReducer.js.map +1 -1
  122. package/cjs/components/Select/ui/Target/Target.css +22 -22
  123. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +22 -22
  124. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  125. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  126. package/cjs/components/Select/ui/TreeList/TreeList.js +3 -3
  127. package/cjs/components/Select/ui/TreeList/TreeList.js.map +1 -1
  128. package/cjs/components/Select/ui/TreeList/ui/Item/Item.js +22 -5
  129. package/cjs/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -1
  130. package/cjs/components/Slider/Slider.css +22 -22
  131. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +22 -22
  132. package/cjs/components/Table/Table.css +22 -22
  133. package/cjs/components/Table/ui/Cell/Cell.css +22 -22
  134. package/cjs/components/Table/ui/EditableCell/EditableCell.css +22 -22
  135. package/cjs/components/Table/ui/HeadCell/HeadCell.css +22 -22
  136. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +22 -22
  137. package/cjs/components/Tabs/tokens.js +1 -0
  138. package/cjs/components/Tabs/tokens.js.map +1 -1
  139. package/cjs/components/TextField/TextField.styles.js +7 -7
  140. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  141. package/cjs/components/TextField/{TextField.styles_xvs3tf.css → TextField.styles_1fz6mh6.css} +1 -1
  142. package/cjs/components/TextField/ui/Hint/Hint.css +20 -20
  143. package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +22 -22
  144. package/cjs/components/TimePicker/TimePicker.css +22 -22
  145. package/cjs/components/TimePickerGrid/TimePickerGrid.js +206 -276
  146. package/cjs/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
  147. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -1
  148. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -1
  149. package/cjs/components/Tree/utils/deepCopy.js +29 -0
  150. package/cjs/components/Tree/utils/deepCopy.js.map +1 -0
  151. package/cjs/components/Tree/utils/traverseTree.js +1 -1
  152. package/cjs/components/Tree/utils/traverseTree.js.map +1 -1
  153. package/cjs/index.css +73 -25
  154. package/cjs/index.js +8 -0
  155. package/cjs/index.js.map +1 -1
  156. package/cjs/utils/index.js.map +1 -1
  157. package/cjs/utils/isArraysEqual.js +12 -0
  158. package/cjs/utils/isArraysEqual.js.map +1 -0
  159. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  160. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  161. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +82 -17
  162. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  163. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
  164. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +312 -0
  165. package/emotion/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  166. package/emotion/cjs/components/Combobox/ComboboxNew/reducers/index.js +1 -0
  167. package/emotion/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +174 -0
  168. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +130 -0
  169. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +36 -0
  170. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +4 -0
  171. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +192 -0
  172. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +183 -0
  173. package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +4 -0
  174. package/emotion/cjs/components/Combobox/ComboboxNew/ui/index.js +1 -0
  175. package/emotion/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +14 -6
  176. package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +3 -0
  177. package/emotion/cjs/components/DatePicker/DatePicker.tokens.js +4 -1
  178. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +21 -4
  179. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +7 -7
  180. package/emotion/cjs/components/DatePicker/utils/normalizeDates.js +3 -6
  181. package/emotion/cjs/components/DateTimePicker/DateTimePicker.js +459 -0
  182. package/emotion/cjs/components/DateTimePicker/DateTimePicker.styles.js +39 -0
  183. package/emotion/cjs/components/DateTimePicker/DateTimePicker.tokens.js +272 -0
  184. package/emotion/cjs/components/DateTimePicker/DateTimePicker.types.js +4 -0
  185. package/emotion/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +499 -0
  186. package/emotion/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +52 -0
  187. package/emotion/cjs/components/DateTimePicker/index.js +26 -0
  188. package/emotion/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +93 -0
  189. package/emotion/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +61 -0
  190. package/emotion/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +53 -0
  191. package/emotion/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +88 -0
  192. package/emotion/cjs/components/DateTimePicker/ui/Input/Input.js +167 -0
  193. package/emotion/cjs/components/DateTimePicker/ui/Input/Input.styles.js +25 -0
  194. package/emotion/cjs/components/DateTimePicker/ui/Popover/Popover.js +153 -0
  195. package/emotion/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js +43 -0
  196. package/emotion/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +87 -0
  197. package/emotion/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +31 -0
  198. package/emotion/cjs/components/DateTimePicker/ui/index.js +29 -0
  199. package/emotion/cjs/components/DateTimePicker/utils/getFormattedDateTime.js +118 -0
  200. package/emotion/cjs/components/DateTimePicker/utils/getMaskedValue.js +52 -0
  201. package/emotion/cjs/components/DateTimePicker/utils/getOriginalDateTime.js +128 -0
  202. package/emotion/cjs/components/DateTimePicker/utils/index.js +19 -0
  203. package/emotion/cjs/components/DateTimePicker/utils/normalizeDateTime.js +30 -0
  204. package/emotion/cjs/components/DateTimePicker/variations/_disabled/base.js +13 -0
  205. package/emotion/cjs/components/DateTimePicker/variations/_readonly/base.js +14 -0
  206. package/emotion/cjs/components/DateTimePicker/variations/_size/base.js +14 -0
  207. package/emotion/cjs/components/DateTimePicker/variations/_tooltip-size/base.js +12 -0
  208. package/emotion/cjs/components/DateTimePicker/variations/_view/base.js +14 -0
  209. package/emotion/cjs/components/Select/Select.js +2 -1
  210. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +156 -44
  211. package/emotion/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
  212. package/emotion/cjs/components/Select/reducers/treePathReducer.js +12 -0
  213. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  214. package/emotion/cjs/components/Select/ui/TreeList/TreeList.js +7 -3
  215. package/emotion/cjs/components/Select/ui/TreeList/ui/Item/Item.js +49 -5
  216. package/emotion/cjs/components/Tabs/tokens.js +1 -0
  217. package/emotion/cjs/components/TextField/TextField.styles.js +45 -45
  218. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.js +213 -282
  219. package/emotion/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
  220. package/emotion/cjs/components/Tree/utils/deepCopy.js +83 -0
  221. package/emotion/cjs/components/Tree/utils/index.js +4 -0
  222. package/emotion/cjs/components/Tree/utils/traverseTree.js +1 -1
  223. package/emotion/cjs/examples/components/ChipGroup/ChipGroup.config.js +35 -0
  224. package/emotion/cjs/examples/components/Combobox/Combobox.config.js +15 -15
  225. package/emotion/cjs/examples/components/DateTimePicker/DateTimePicker.config.js +40 -0
  226. package/emotion/cjs/examples/components/DateTimePicker/DateTimePicker.js +15 -0
  227. package/emotion/cjs/examples/components/Select/Select.config.js +24 -24
  228. package/emotion/cjs/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +16 -16
  229. package/emotion/cjs/examples/components/Tabs/vertical/VerticalTabItem.config.js +7 -7
  230. package/emotion/cjs/index.js +1 -0
  231. package/emotion/cjs/utils/index.js +4 -0
  232. package/emotion/cjs/utils/isArraysEqual.js +15 -0
  233. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  234. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  235. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +85 -20
  236. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  237. package/emotion/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
  238. package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +313 -0
  239. package/emotion/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  240. package/emotion/es/components/Combobox/ComboboxNew/reducers/index.js +1 -0
  241. package/emotion/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +157 -0
  242. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +79 -0
  243. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +13 -0
  244. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +1 -0
  245. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +141 -0
  246. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +119 -0
  247. package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +1 -0
  248. package/emotion/es/components/Combobox/ComboboxNew/ui/index.js +1 -0
  249. package/emotion/es/components/Combobox/ComboboxNew/utils/filterItems.js +3 -3
  250. package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +1 -1
  251. package/emotion/es/components/DatePicker/DatePicker.tokens.js +4 -1
  252. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +21 -4
  253. package/emotion/es/components/DatePicker/SingleDate/SingleDate.styles.js +7 -7
  254. package/emotion/es/components/DatePicker/utils/normalizeDates.js +3 -6
  255. package/emotion/es/components/DateTimePicker/DateTimePicker.js +395 -0
  256. package/emotion/es/components/DateTimePicker/DateTimePicker.styles.js +13 -0
  257. package/emotion/es/components/DateTimePicker/DateTimePicker.tokens.js +251 -0
  258. package/emotion/es/components/DateTimePicker/DateTimePicker.types.js +1 -0
  259. package/emotion/es/components/DateTimePicker/hooks/useDateTimePicker.js +489 -0
  260. package/emotion/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +34 -0
  261. package/emotion/es/components/DateTimePicker/index.js +2 -0
  262. package/emotion/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +78 -0
  263. package/emotion/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +36 -0
  264. package/emotion/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +38 -0
  265. package/emotion/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +53 -0
  266. package/emotion/es/components/DateTimePicker/ui/Input/Input.js +111 -0
  267. package/emotion/es/components/DateTimePicker/ui/Input/Input.styles.js +11 -0
  268. package/emotion/es/components/DateTimePicker/ui/Popover/Popover.js +102 -0
  269. package/emotion/es/components/DateTimePicker/ui/Popover/Popover.styles.js +20 -0
  270. package/emotion/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +72 -0
  271. package/emotion/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +16 -0
  272. package/emotion/es/components/DateTimePicker/ui/index.js +6 -0
  273. package/emotion/es/components/DateTimePicker/utils/getFormattedDateTime.js +108 -0
  274. package/emotion/es/components/DateTimePicker/utils/getMaskedValue.js +42 -0
  275. package/emotion/es/components/DateTimePicker/utils/getOriginalDateTime.js +118 -0
  276. package/emotion/es/components/DateTimePicker/utils/index.js +2 -0
  277. package/emotion/es/components/DateTimePicker/utils/normalizeDateTime.js +20 -0
  278. package/emotion/es/components/DateTimePicker/variations/_disabled/base.js +3 -0
  279. package/emotion/es/components/DateTimePicker/variations/_readonly/base.js +4 -0
  280. package/emotion/es/components/DateTimePicker/variations/_size/base.js +4 -0
  281. package/emotion/es/components/DateTimePicker/variations/_tooltip-size/base.js +2 -0
  282. package/emotion/es/components/DateTimePicker/variations/_view/base.js +4 -0
  283. package/emotion/es/components/Select/Select.js +2 -1
  284. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +157 -44
  285. package/emotion/es/components/Select/reducers/focusedPathReducer.js +7 -0
  286. package/emotion/es/components/Select/reducers/treePathReducer.js +12 -0
  287. package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  288. package/emotion/es/components/Select/ui/TreeList/TreeList.js +7 -3
  289. package/emotion/es/components/Select/ui/TreeList/ui/Item/Item.js +50 -6
  290. package/emotion/es/components/Tabs/tokens.js +1 -0
  291. package/emotion/es/components/TextField/TextField.styles.js +45 -45
  292. package/emotion/es/components/TimePickerGrid/TimePickerGrid.js +213 -282
  293. package/emotion/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
  294. package/emotion/es/components/Tree/utils/deepCopy.js +73 -0
  295. package/emotion/es/components/Tree/utils/index.js +1 -0
  296. package/emotion/es/components/Tree/utils/traverseTree.js +1 -1
  297. package/emotion/es/examples/components/ChipGroup/ChipGroup.config.js +25 -0
  298. package/emotion/es/examples/components/Combobox/Combobox.config.js +15 -15
  299. package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
  300. package/emotion/es/examples/components/DateTimePicker/DateTimePicker.config.js +30 -0
  301. package/emotion/es/examples/components/DateTimePicker/DateTimePicker.js +5 -0
  302. package/emotion/es/examples/components/Select/Select.config.js +24 -24
  303. package/emotion/es/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +16 -16
  304. package/emotion/es/examples/components/Tabs/vertical/VerticalTabItem.config.js +7 -7
  305. package/emotion/es/index.js +1 -0
  306. package/emotion/es/utils/index.js +1 -0
  307. package/emotion/es/utils/isArraysEqual.js +5 -0
  308. package/es/components/Autocomplete/Autocomplete.css +22 -22
  309. package/es/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  310. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  311. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  312. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  313. package/es/components/Combobox/ComboboxNew/Combobox.css +41 -22
  314. package/es/components/Combobox/ComboboxNew/Combobox.js +95 -21
  315. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  316. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  317. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  318. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +8 -2
  319. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  320. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +319 -1
  321. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  322. package/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  323. package/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js.map +1 -1
  324. package/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +156 -0
  325. package/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js.map +1 -0
  326. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.css +57 -0
  327. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +88 -0
  328. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js.map +1 -0
  329. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +25 -0
  330. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js.map +1 -0
  331. package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles_1auklgl.css +2 -0
  332. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.css +54 -0
  333. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +136 -0
  334. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js.map +1 -0
  335. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +187 -0
  336. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js.map +1 -0
  337. package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles_7nhjnm.css +15 -0
  338. package/es/components/Combobox/ComboboxNew/utils/filterItems.js +4 -4
  339. package/es/components/Combobox/ComboboxNew/utils/filterItems.js.map +1 -1
  340. package/es/components/DatePicker/DatePicker.tokens.js +4 -1
  341. package/es/components/DatePicker/DatePicker.tokens.js.map +1 -1
  342. package/es/components/DatePicker/RangeDate/RangeDate.css +22 -22
  343. package/es/components/DatePicker/RangeDate/RangeDate.js +24 -4
  344. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  345. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +22 -22
  346. package/es/components/DatePicker/SingleDate/SingleDate.css +25 -25
  347. package/es/components/DatePicker/SingleDate/SingleDate.styles.js +1 -1
  348. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  349. package/es/components/DatePicker/SingleDate/{SingleDate.styles_5c37vu.css → SingleDate.styles_slcqbc.css} +1 -1
  350. package/es/components/DatePicker/utils/normalizeDates.js +3 -6
  351. package/es/components/DatePicker/utils/normalizeDates.js.map +1 -1
  352. package/es/components/DateTimePicker/DateTimePicker.css +200 -0
  353. package/es/components/DateTimePicker/DateTimePicker.js +327 -0
  354. package/es/components/DateTimePicker/DateTimePicker.js.map +1 -0
  355. package/es/components/DateTimePicker/DateTimePicker.styles.js +17 -0
  356. package/es/components/DateTimePicker/DateTimePicker.styles.js.map +1 -0
  357. package/es/components/DateTimePicker/DateTimePicker.styles_x7parr.css +3 -0
  358. package/es/components/DateTimePicker/DateTimePicker.tokens.js +265 -0
  359. package/es/components/DateTimePicker/DateTimePicker.tokens.js.map +1 -0
  360. package/es/components/DateTimePicker/hooks/useDateTimePicker.js +441 -0
  361. package/es/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -0
  362. package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +35 -0
  363. package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -0
  364. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.css +82 -0
  365. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +28 -0
  366. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js.map +1 -0
  367. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +78 -0
  368. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js.map +1 -0
  369. package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles_1yl3xrz.css +2 -0
  370. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.css +34 -0
  371. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +35 -0
  372. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js.map +1 -0
  373. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +83 -0
  374. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js.map +1 -0
  375. package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles_pdofx1.css +6 -0
  376. package/es/components/DateTimePicker/ui/Input/Input.css +80 -0
  377. package/es/components/DateTimePicker/ui/Input/Input.js +61 -0
  378. package/es/components/DateTimePicker/ui/Input/Input.js.map +1 -0
  379. package/es/components/DateTimePicker/ui/Input/Input.styles.js +20 -0
  380. package/es/components/DateTimePicker/ui/Input/Input.styles.js.map +1 -0
  381. package/es/components/DateTimePicker/ui/Input/Input.styles_1af0tdj.css +1 -0
  382. package/es/components/DateTimePicker/ui/Popover/Popover.css +11 -0
  383. package/es/components/DateTimePicker/ui/Popover/Popover.js +29 -0
  384. package/es/components/DateTimePicker/ui/Popover/Popover.js.map +1 -0
  385. package/es/components/DateTimePicker/ui/Popover/Popover.styles.js +39 -0
  386. package/es/components/DateTimePicker/ui/Popover/Popover.styles.js.map +1 -0
  387. package/es/components/DateTimePicker/ui/Popover/Popover.styles_1v6vurg.css +2 -0
  388. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.css +12 -0
  389. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +22 -0
  390. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js.map +1 -0
  391. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +36 -0
  392. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js.map +1 -0
  393. package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles_31tnfx.css +1 -0
  394. package/es/components/DateTimePicker/utils/getFormattedDateTime.js +77 -0
  395. package/es/components/DateTimePicker/utils/getFormattedDateTime.js.map +1 -0
  396. package/es/components/DateTimePicker/utils/getMaskedValue.js +49 -0
  397. package/es/components/DateTimePicker/utils/getMaskedValue.js.map +1 -0
  398. package/es/components/DateTimePicker/utils/getOriginalDateTime.js +69 -0
  399. package/es/components/DateTimePicker/utils/getOriginalDateTime.js.map +1 -0
  400. package/es/components/DateTimePicker/utils/normalizeDateTime.js +29 -0
  401. package/es/components/DateTimePicker/utils/normalizeDateTime.js.map +1 -0
  402. package/es/components/DateTimePicker/variations/_disabled/base.js +5 -0
  403. package/es/components/DateTimePicker/variations/_disabled/base.js.map +1 -0
  404. package/es/components/DateTimePicker/variations/_disabled/base_7ophop.css +1 -0
  405. package/es/components/DateTimePicker/variations/_readonly/base.js +5 -0
  406. package/es/components/DateTimePicker/variations/_readonly/base.js.map +1 -0
  407. package/es/components/DateTimePicker/variations/_readonly/base_rrpgsr.css +1 -0
  408. package/es/components/DateTimePicker/variations/_size/base.js +5 -0
  409. package/es/components/DateTimePicker/variations/_size/base.js.map +1 -0
  410. package/es/components/DateTimePicker/variations/_size/base_19i3bl1.css +1 -0
  411. package/es/components/DateTimePicker/variations/_tooltip-size/base.js +5 -0
  412. package/es/components/DateTimePicker/variations/_tooltip-size/base.js.map +1 -0
  413. package/es/components/DateTimePicker/variations/_tooltip-size/base_x642ct.css +1 -0
  414. package/es/components/DateTimePicker/variations/_view/base.js +5 -0
  415. package/es/components/DateTimePicker/variations/_view/base.js.map +1 -0
  416. package/es/components/DateTimePicker/variations/_view/base_1a1ebsk.css +1 -0
  417. package/es/components/Pagination/Pagination.css +22 -22
  418. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +22 -22
  419. package/es/components/Range/Range.css +22 -22
  420. package/es/components/Select/Select.css +22 -22
  421. package/es/components/Select/Select.js +2 -1
  422. package/es/components/Select/Select.js.map +1 -1
  423. package/es/components/Select/hooks/useKeyboardNavigation.js +127 -38
  424. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  425. package/es/components/Select/reducers/focusedPathReducer.js +7 -0
  426. package/es/components/Select/reducers/focusedPathReducer.js.map +1 -1
  427. package/es/components/Select/reducers/treePathReducer.js +12 -0
  428. package/es/components/Select/reducers/treePathReducer.js.map +1 -1
  429. package/es/components/Select/ui/Target/Target.css +22 -22
  430. package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +22 -22
  431. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  432. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  433. package/es/components/Select/ui/TreeList/TreeList.js +3 -3
  434. package/es/components/Select/ui/TreeList/TreeList.js.map +1 -1
  435. package/es/components/Select/ui/TreeList/ui/Item/Item.js +23 -6
  436. package/es/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -1
  437. package/es/components/Slider/Slider.css +22 -22
  438. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +22 -22
  439. package/es/components/Table/Table.css +22 -22
  440. package/es/components/Table/ui/Cell/Cell.css +22 -22
  441. package/es/components/Table/ui/EditableCell/EditableCell.css +22 -22
  442. package/es/components/Table/ui/HeadCell/HeadCell.css +22 -22
  443. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +22 -22
  444. package/es/components/Tabs/tokens.js +1 -0
  445. package/es/components/Tabs/tokens.js.map +1 -1
  446. package/es/components/TextField/TextField.styles.js +7 -7
  447. package/es/components/TextField/TextField.styles.js.map +1 -1
  448. package/es/components/TextField/{TextField.styles_xvs3tf.css → TextField.styles_1fz6mh6.css} +1 -1
  449. package/es/components/TextField/ui/Hint/Hint.css +20 -20
  450. package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +22 -22
  451. package/es/components/TimePicker/TimePicker.css +22 -22
  452. package/es/components/TimePickerGrid/TimePickerGrid.js +208 -278
  453. package/es/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
  454. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -1
  455. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -1
  456. package/es/components/Tree/utils/deepCopy.js +25 -0
  457. package/es/components/Tree/utils/deepCopy.js.map +1 -0
  458. package/es/components/Tree/utils/traverseTree.js +1 -1
  459. package/es/components/Tree/utils/traverseTree.js.map +1 -1
  460. package/es/index.css +73 -25
  461. package/es/index.js +3 -0
  462. package/es/index.js.map +1 -1
  463. package/es/utils/index.js.map +1 -1
  464. package/es/utils/isArraysEqual.js +8 -0
  465. package/es/utils/isArraysEqual.js.map +1 -0
  466. package/package.json +2 -2
  467. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  468. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  469. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +82 -17
  470. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  471. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
  472. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +312 -0
  473. package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  474. package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/index.js +1 -0
  475. package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +174 -0
  476. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +130 -0
  477. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +50 -0
  478. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +4 -0
  479. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +192 -0
  480. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +296 -0
  481. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +4 -0
  482. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/index.js +1 -0
  483. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +14 -6
  484. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +3 -0
  485. package/styled-components/cjs/components/DatePicker/DatePicker.tokens.js +4 -1
  486. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +21 -4
  487. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +13 -4
  488. package/styled-components/cjs/components/DatePicker/utils/normalizeDates.js +3 -6
  489. package/styled-components/cjs/components/DateTimePicker/DateTimePicker.js +459 -0
  490. package/styled-components/cjs/components/DateTimePicker/DateTimePicker.styles.js +89 -0
  491. package/styled-components/cjs/components/DateTimePicker/DateTimePicker.tokens.js +272 -0
  492. package/styled-components/cjs/components/DateTimePicker/DateTimePicker.types.js +4 -0
  493. package/styled-components/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +499 -0
  494. package/styled-components/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +52 -0
  495. package/styled-components/cjs/components/DateTimePicker/index.js +26 -0
  496. package/styled-components/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +93 -0
  497. package/styled-components/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +75 -0
  498. package/styled-components/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +53 -0
  499. package/styled-components/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +132 -0
  500. package/styled-components/cjs/components/DateTimePicker/ui/Input/Input.js +167 -0
  501. package/styled-components/cjs/components/DateTimePicker/ui/Input/Input.styles.js +176 -0
  502. package/styled-components/cjs/components/DateTimePicker/ui/Popover/Popover.js +153 -0
  503. package/styled-components/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js +56 -0
  504. package/styled-components/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +87 -0
  505. package/styled-components/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +69 -0
  506. package/styled-components/cjs/components/DateTimePicker/ui/index.js +29 -0
  507. package/styled-components/cjs/components/DateTimePicker/utils/getFormattedDateTime.js +118 -0
  508. package/styled-components/cjs/components/DateTimePicker/utils/getMaskedValue.js +52 -0
  509. package/styled-components/cjs/components/DateTimePicker/utils/getOriginalDateTime.js +128 -0
  510. package/styled-components/cjs/components/DateTimePicker/utils/index.js +19 -0
  511. package/styled-components/cjs/components/DateTimePicker/utils/normalizeDateTime.js +30 -0
  512. package/styled-components/cjs/components/DateTimePicker/variations/_disabled/base.js +16 -0
  513. package/styled-components/cjs/components/DateTimePicker/variations/_readonly/base.js +18 -0
  514. package/styled-components/cjs/components/DateTimePicker/variations/_size/base.js +24 -0
  515. package/styled-components/cjs/components/DateTimePicker/variations/_tooltip-size/base.js +14 -0
  516. package/styled-components/cjs/components/DateTimePicker/variations/_view/base.js +18 -0
  517. package/styled-components/cjs/components/Select/Select.js +2 -1
  518. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +156 -44
  519. package/styled-components/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
  520. package/styled-components/cjs/components/Select/reducers/treePathReducer.js +12 -0
  521. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  522. package/styled-components/cjs/components/Select/ui/TreeList/TreeList.js +7 -3
  523. package/styled-components/cjs/components/Select/ui/TreeList/ui/Item/Item.js +49 -5
  524. package/styled-components/cjs/components/Tabs/tokens.js +1 -0
  525. package/styled-components/cjs/components/TextField/TextField.styles.js +29 -27
  526. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.js +213 -282
  527. package/styled-components/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
  528. package/styled-components/cjs/components/Tree/utils/deepCopy.js +83 -0
  529. package/styled-components/cjs/components/Tree/utils/index.js +4 -0
  530. package/styled-components/cjs/components/Tree/utils/traverseTree.js +1 -1
  531. package/styled-components/cjs/examples/components/ChipGroup/ChipGroup.config.js +141 -0
  532. package/styled-components/cjs/examples/components/Combobox/Combobox.config.js +20 -12
  533. package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
  534. package/styled-components/cjs/examples/components/DateTimePicker/DateTimePicker.config.js +786 -0
  535. package/styled-components/cjs/examples/components/DateTimePicker/DateTimePicker.js +15 -0
  536. package/styled-components/cjs/examples/components/Select/Select.config.js +7 -7
  537. package/styled-components/cjs/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +4 -4
  538. package/styled-components/cjs/examples/components/Tabs/vertical/VerticalTabItem.config.js +4 -4
  539. package/styled-components/cjs/index.js +1 -0
  540. package/styled-components/cjs/utils/index.js +4 -0
  541. package/styled-components/cjs/utils/isArraysEqual.js +15 -0
  542. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +6 -0
  543. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
  544. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +85 -20
  545. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
  546. package/styled-components/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
  547. package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +313 -0
  548. package/styled-components/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
  549. package/styled-components/es/components/Combobox/ComboboxNew/reducers/index.js +1 -0
  550. package/styled-components/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +157 -0
  551. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +79 -0
  552. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +27 -0
  553. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +1 -0
  554. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +141 -0
  555. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +232 -0
  556. package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +1 -0
  557. package/styled-components/es/components/Combobox/ComboboxNew/ui/index.js +1 -0
  558. package/styled-components/es/components/Combobox/ComboboxNew/utils/filterItems.js +3 -3
  559. package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +1 -1
  560. package/styled-components/es/components/DatePicker/DatePicker.tokens.js +4 -1
  561. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +21 -4
  562. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.styles.js +13 -4
  563. package/styled-components/es/components/DatePicker/utils/normalizeDates.js +3 -6
  564. package/styled-components/es/components/DateTimePicker/DateTimePicker.js +395 -0
  565. package/styled-components/es/components/DateTimePicker/DateTimePicker.styles.js +28 -0
  566. package/styled-components/es/components/DateTimePicker/DateTimePicker.tokens.js +251 -0
  567. package/styled-components/es/components/DateTimePicker/DateTimePicker.types.js +1 -0
  568. package/styled-components/es/components/DateTimePicker/hooks/useDateTimePicker.js +489 -0
  569. package/styled-components/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +34 -0
  570. package/styled-components/es/components/DateTimePicker/index.js +2 -0
  571. package/styled-components/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +78 -0
  572. package/styled-components/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +50 -0
  573. package/styled-components/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +38 -0
  574. package/styled-components/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +97 -0
  575. package/styled-components/es/components/DateTimePicker/ui/Input/Input.js +111 -0
  576. package/styled-components/es/components/DateTimePicker/ui/Input/Input.styles.js +162 -0
  577. package/styled-components/es/components/DateTimePicker/ui/Popover/Popover.js +102 -0
  578. package/styled-components/es/components/DateTimePicker/ui/Popover/Popover.styles.js +33 -0
  579. package/styled-components/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +72 -0
  580. package/styled-components/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +54 -0
  581. package/styled-components/es/components/DateTimePicker/ui/index.js +6 -0
  582. package/styled-components/es/components/DateTimePicker/utils/getFormattedDateTime.js +108 -0
  583. package/styled-components/es/components/DateTimePicker/utils/getMaskedValue.js +42 -0
  584. package/styled-components/es/components/DateTimePicker/utils/getOriginalDateTime.js +118 -0
  585. package/styled-components/es/components/DateTimePicker/utils/index.js +2 -0
  586. package/styled-components/es/components/DateTimePicker/utils/normalizeDateTime.js +20 -0
  587. package/styled-components/es/components/DateTimePicker/variations/_disabled/base.js +6 -0
  588. package/styled-components/es/components/DateTimePicker/variations/_readonly/base.js +8 -0
  589. package/styled-components/es/components/DateTimePicker/variations/_size/base.js +14 -0
  590. package/styled-components/es/components/DateTimePicker/variations/_tooltip-size/base.js +4 -0
  591. package/styled-components/es/components/DateTimePicker/variations/_view/base.js +8 -0
  592. package/styled-components/es/components/Select/Select.js +2 -1
  593. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +157 -44
  594. package/styled-components/es/components/Select/reducers/focusedPathReducer.js +7 -0
  595. package/styled-components/es/components/Select/reducers/treePathReducer.js +12 -0
  596. package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
  597. package/styled-components/es/components/Select/ui/TreeList/TreeList.js +7 -3
  598. package/styled-components/es/components/Select/ui/TreeList/ui/Item/Item.js +50 -6
  599. package/styled-components/es/components/Tabs/tokens.js +1 -0
  600. package/styled-components/es/components/TextField/TextField.styles.js +29 -27
  601. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.js +213 -282
  602. package/styled-components/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
  603. package/styled-components/es/components/Tree/utils/deepCopy.js +73 -0
  604. package/styled-components/es/components/Tree/utils/index.js +1 -0
  605. package/styled-components/es/components/Tree/utils/traverseTree.js +1 -1
  606. package/styled-components/es/examples/components/ChipGroup/ChipGroup.config.js +131 -0
  607. package/styled-components/es/examples/components/Combobox/Combobox.config.js +20 -12
  608. package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
  609. package/styled-components/es/examples/components/DateTimePicker/DateTimePicker.config.js +776 -0
  610. package/styled-components/es/examples/components/DateTimePicker/DateTimePicker.js +5 -0
  611. package/styled-components/es/examples/components/Select/Select.config.js +7 -7
  612. package/styled-components/es/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +4 -4
  613. package/styled-components/es/examples/components/Tabs/vertical/VerticalTabItem.config.js +4 -4
  614. package/styled-components/es/index.js +1 -0
  615. package/styled-components/es/utils/index.js +1 -0
  616. package/styled-components/es/utils/isArraysEqual.js +5 -0
  617. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  618. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  619. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  620. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +2 -0
  621. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts.map +1 -1
  622. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +17 -3
  623. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  624. package/types/components/Combobox/ComboboxNew/hooks/getPathMaps.d.ts +2 -1
  625. package/types/components/Combobox/ComboboxNew/hooks/getPathMaps.d.ts.map +1 -1
  626. package/types/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.d.ts +8 -3
  627. package/types/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.d.ts.map +1 -1
  628. package/types/components/Combobox/ComboboxNew/reducers/focusedPathReducer.d.ts +3 -0
  629. package/types/components/Combobox/ComboboxNew/reducers/focusedPathReducer.d.ts.map +1 -1
  630. package/types/components/Combobox/ComboboxNew/reducers/index.d.ts +1 -0
  631. package/types/components/Combobox/ComboboxNew/reducers/index.d.ts.map +1 -1
  632. package/types/components/Combobox/ComboboxNew/reducers/treePathReducer.d.ts +28 -0
  633. package/types/components/Combobox/ComboboxNew/reducers/treePathReducer.d.ts.map +1 -0
  634. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.d.ts +4 -0
  635. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.d.ts.map +1 -0
  636. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.d.ts +6 -0
  637. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.d.ts.map +1 -0
  638. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.d.ts +11 -0
  639. package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.d.ts.map +1 -0
  640. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.d.ts +4 -0
  641. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.d.ts.map +1 -0
  642. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.d.ts +62 -0
  643. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.d.ts.map +1 -0
  644. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.d.ts +6 -0
  645. package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.d.ts.map +1 -0
  646. package/types/components/Combobox/ComboboxNew/ui/index.d.ts +1 -0
  647. package/types/components/Combobox/ComboboxNew/ui/index.d.ts.map +1 -1
  648. package/types/components/Combobox/ComboboxNew/utils/filterItems.d.ts +1 -0
  649. package/types/components/Combobox/ComboboxNew/utils/filterItems.d.ts.map +1 -1
  650. package/types/components/Combobox/ComboboxNew/utils/index.d.ts +1 -1
  651. package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
  652. package/types/components/DatePicker/DatePicker.tokens.d.ts +3 -0
  653. package/types/components/DatePicker/DatePicker.tokens.d.ts.map +1 -1
  654. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  655. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  656. package/types/components/DatePicker/utils/normalizeDates.d.ts.map +1 -1
  657. package/types/components/DateTimePicker/DateTimePicker.d.ts +73 -0
  658. package/types/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
  659. package/types/components/DateTimePicker/DateTimePicker.styles.d.ts +4 -0
  660. package/types/components/DateTimePicker/DateTimePicker.styles.d.ts.map +1 -0
  661. package/types/components/DateTimePicker/DateTimePicker.tokens.d.ts +260 -0
  662. package/types/components/DateTimePicker/DateTimePicker.tokens.d.ts.map +1 -0
  663. package/types/components/DateTimePicker/DateTimePicker.types.d.ts +160 -0
  664. package/types/components/DateTimePicker/DateTimePicker.types.d.ts.map +1 -0
  665. package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts +26 -0
  666. package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts.map +1 -0
  667. package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts +18 -0
  668. package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts.map +1 -0
  669. package/types/components/DateTimePicker/index.d.ts +4 -0
  670. package/types/components/DateTimePicker/index.d.ts.map +1 -0
  671. package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.d.ts +11 -0
  672. package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.d.ts.map +1 -0
  673. package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.d.ts +10 -0
  674. package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.d.ts.map +1 -0
  675. package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.d.ts +12 -0
  676. package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.d.ts.map +1 -0
  677. package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.d.ts +44 -0
  678. package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.d.ts.map +1 -0
  679. package/types/components/DateTimePicker/ui/Input/Input.d.ts +8 -0
  680. package/types/components/DateTimePicker/ui/Input/Input.d.ts.map +1 -0
  681. package/types/components/DateTimePicker/ui/Input/Input.styles.d.ts +298 -0
  682. package/types/components/DateTimePicker/ui/Input/Input.styles.d.ts.map +1 -0
  683. package/types/components/DateTimePicker/ui/Popover/Popover.d.ts +8 -0
  684. package/types/components/DateTimePicker/ui/Popover/Popover.d.ts.map +1 -0
  685. package/types/components/DateTimePicker/ui/Popover/Popover.styles.d.ts +6 -0
  686. package/types/components/DateTimePicker/ui/Popover/Popover.styles.d.ts.map +1 -0
  687. package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.d.ts +9 -0
  688. package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.d.ts.map +1 -0
  689. package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.d.ts +23 -0
  690. package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.d.ts.map +1 -0
  691. package/types/components/DateTimePicker/ui/index.d.ts +7 -0
  692. package/types/components/DateTimePicker/ui/index.d.ts.map +1 -0
  693. package/types/components/DateTimePicker/utils/getFormattedDateTime.d.ts +27 -0
  694. package/types/components/DateTimePicker/utils/getFormattedDateTime.d.ts.map +1 -0
  695. package/types/components/DateTimePicker/utils/getMaskedValue.d.ts +13 -0
  696. package/types/components/DateTimePicker/utils/getMaskedValue.d.ts.map +1 -0
  697. package/types/components/DateTimePicker/utils/getOriginalDateTime.d.ts +19 -0
  698. package/types/components/DateTimePicker/utils/getOriginalDateTime.d.ts.map +1 -0
  699. package/types/components/DateTimePicker/utils/index.d.ts +3 -0
  700. package/types/components/DateTimePicker/utils/index.d.ts.map +1 -0
  701. package/types/components/DateTimePicker/utils/normalizeDateTime.d.ts +15 -0
  702. package/types/components/DateTimePicker/utils/normalizeDateTime.d.ts.map +1 -0
  703. package/types/components/DateTimePicker/variations/_disabled/base.d.ts +2 -0
  704. package/types/components/DateTimePicker/variations/_disabled/base.d.ts.map +1 -0
  705. package/types/components/DateTimePicker/variations/_readonly/base.d.ts +2 -0
  706. package/types/components/DateTimePicker/variations/_readonly/base.d.ts.map +1 -0
  707. package/types/components/DateTimePicker/variations/_size/base.d.ts +2 -0
  708. package/types/components/DateTimePicker/variations/_size/base.d.ts.map +1 -0
  709. package/types/components/DateTimePicker/variations/_tooltip-size/base.d.ts +2 -0
  710. package/types/components/DateTimePicker/variations/_tooltip-size/base.d.ts.map +1 -0
  711. package/types/components/DateTimePicker/variations/_view/base.d.ts +2 -0
  712. package/types/components/DateTimePicker/variations/_view/base.d.ts.map +1 -0
  713. package/types/components/Select/Select.d.ts.map +1 -1
  714. package/types/components/Select/hooks/useKeyboardNavigation.d.ts +2 -1
  715. package/types/components/Select/hooks/useKeyboardNavigation.d.ts.map +1 -1
  716. package/types/components/Select/reducers/focusedPathReducer.d.ts +3 -0
  717. package/types/components/Select/reducers/focusedPathReducer.d.ts.map +1 -1
  718. package/types/components/Select/reducers/treePathReducer.d.ts +6 -0
  719. package/types/components/Select/reducers/treePathReducer.d.ts.map +1 -1
  720. package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
  721. package/types/components/Select/ui/TreeList/ui/Item/Item.d.ts.map +1 -1
  722. package/types/components/Select/ui/TreeList/ui/Item/Item.types.d.ts +1 -9
  723. package/types/components/Select/ui/TreeList/ui/Item/Item.types.d.ts.map +1 -1
  724. package/types/components/Tabs/tokens.d.ts +1 -0
  725. package/types/components/Tabs/tokens.d.ts.map +1 -1
  726. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  727. package/types/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -1
  728. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts +1 -1
  729. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts.map +1 -1
  730. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.d.ts +2 -1
  731. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.d.ts.map +1 -1
  732. package/types/components/Tree/utils/deepCopy.d.ts +6 -0
  733. package/types/components/Tree/utils/deepCopy.d.ts.map +1 -0
  734. package/types/components/Tree/utils/index.d.ts +1 -0
  735. package/types/components/Tree/utils/index.d.ts.map +1 -1
  736. package/types/examples/components/ChipGroup/ChipGroup.config.d.ts.map +1 -0
  737. package/types/examples/components/ChipGroup/ChipGroup.d.ts.map +1 -0
  738. package/types/examples/components/Combobox/Combobox.config.d.ts.map +1 -1
  739. package/types/examples/components/Combobox/Combobox.d.ts +48 -0
  740. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  741. package/types/examples/components/DateTimePicker/DateTimePicker.config.d.ts +29 -0
  742. package/types/examples/components/DateTimePicker/DateTimePicker.config.d.ts.map +1 -0
  743. package/types/examples/components/DateTimePicker/DateTimePicker.d.ts +42 -0
  744. package/types/examples/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
  745. package/types/index.d.ts +1 -0
  746. package/types/index.d.ts.map +1 -1
  747. package/types/utils/index.d.ts +1 -0
  748. package/types/utils/index.d.ts.map +1 -1
  749. package/types/utils/isArraysEqual.d.ts +2 -0
  750. package/types/utils/isArraysEqual.d.ts.map +1 -0
  751. package/emotion/cjs/examples/components/ChipGroup /ChipGroup.config.js +0 -214
  752. package/emotion/es/examples/components/ChipGroup /ChipGroup.config.js +0 -204
  753. package/styled-components/cjs/examples/components/ChipGroup /ChipGroup.config.js +0 -214
  754. package/styled-components/es/examples/components/ChipGroup /ChipGroup.config.js +0 -204
  755. package/types/examples/components/ChipGroup /ChipGroup.config.d.ts.map +0 -1
  756. package/types/examples/components/ChipGroup /ChipGroup.d.ts.map +0 -1
  757. /package/emotion/cjs/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
  758. /package/emotion/es/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
  759. /package/styled-components/cjs/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
  760. /package/styled-components/es/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
  761. /package/types/examples/components/{ChipGroup → ChipGroup}/ChipGroup.config.d.ts +0 -0
  762. /package/types/examples/components/{ChipGroup → ChipGroup}/ChipGroup.d.ts +0 -0
@@ -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 = {
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef, MouseEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId, isEmpty } from 'src/utils';\nimport { RootProps } from 'src/engines';\nimport { useOutsideClick, useDidMountLayoutEffect } from 'src/hooks';\n\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getTextValue,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items' | 'chipClickArea'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n chipClickArea = 'full',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap] = useMemo(() => getTreeMaps(transformedItems), [items]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const rootRef = useRef<HTMLInputElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const treeId = safeUseId();\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n handleListToggle(false);\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [floatingPopoverRef, listWrapperRef]);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(value.filter((val) => valueToItemMap?.get(val)?.disabled));\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiple && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n };\n\n // Обработчик клика на таргет\n const handleTargetClick = () => {\n if (!isCurrentListOpen) {\n handleListToggle(true);\n }\n };\n\n const getChips = (): { value: string; label: string; disabled: boolean }[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [\n {\n value: '_removeAll',\n label: `Выбрано ${targetAmount || value.length}`,\n disabled: value.every((val) => valueToItemMap?.get(val)?.disabled),\n },\n ];\n }\n\n return value.map((value) => {\n const currentLabel = renderValue\n ? renderValue(valueToItemMap.get(value) || { value, label: value })\n : valueToItemMap.get(value)?.label || value.toString();\n\n return {\n value,\n label: currentLabel,\n disabled: valueToItemMap.get(value)?.disabled || false,\n };\n });\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const helperTextStopPropagation = (event: MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(valueToCheckedMap);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // Эффект для исключительных случаев, когда нужно обновить значение textValue при изменении items,\n // но только если значение textValue совпадает с value в item.\n useLayoutEffect(() => {\n if (!multiple && value && valueToItemMap.get(value as string)?.value === textValue) {\n setTextValue(valueToItemMap.get(value as string)?.label || value.toString());\n }\n }, [items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n ref={rootRef}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <div onClick={handleTargetClick}>\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper\n disabled={disabled}\n onClick={handleClickArrow}\n className={classes.comboboxTargetArrow}\n >\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {helperText}\n </StyledLeftHelper>\n )\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue)\n : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n _chipClickArea: chipClickArea,\n _chips: getChips(),\n _onChipCloseClick: handleChipClick,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n </div>\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_props$chipClickArea","chipClickArea","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","rootRef","useRef","inputRef","floatingPopoverRef","inputForkRef","useForkRef","listWrapperRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","stopPropagation","handleTextValueChange","target","type","handleChipClick","chip","val","_valueToItemMap$get","get","opened","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","_valueToItemMap$get5","_valueToItemMap$get6","useDidMountLayoutEffect","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","onClick","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","className","comboboxTargetArrow","StyledArrow","color","sizeToIconSize","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","_chipClickArea","_chips","_onChipCloseClick","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","index","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef, MouseEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId, isEmpty } from 'src/utils';\nimport { RootProps } from 'src/engines';\nimport { useOutsideClick, useDidMountLayoutEffect } from 'src/hooks';\n\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getTextValue,\n defaultFilter,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll, TreeList } from './ui';\nimport { pathReducer, focusedPathReducer, treePathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items' | 'chipClickArea'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n treeView = false,\n arrowPlacement = 'left',\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n chipClickArea = 'full',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, valueToPathMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n // Состояние поля поиска в target\n const [textValue, setTextValueState] = useState(\n getTextValue(multiple, outerValue, valueToItemMap, renderValue),\n );\n\n // Внутреннее состояние выбранных элементов\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const rootRef = useRef<HTMLInputElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const treeId = safeUseId();\n\n const filterCb = filter || defaultFilter;\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter, value],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n const [treePath, dispatchTreePath] = useReducer(treePathReducer, {});\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n const setTextValue = (newTextValue: string) => {\n setTextValueState(newTextValue);\n\n if (onChangeValue) {\n onChangeValue(newTextValue);\n }\n };\n\n /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n handleListToggle(false);\n }, [floatingPopoverRef, listWrapperRef]);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(\n value.filter((val) => valueToItemMap?.get(val)?.disabled),\n null,\n );\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || { value: chip.value, label: chip.label },\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchTreePath({ type: 'reset' });\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiple && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n dispatchTreePath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n dispatchTreePath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n };\n\n // Обработчик клика на таргет\n const handleTargetClick = () => {\n if (!isCurrentListOpen) {\n handleListToggle(true);\n }\n };\n\n const getChips = (): { value: string; label: string; disabled: boolean }[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [\n {\n value: '_removeAll',\n label: `Выбрано ${targetAmount || value.length}`,\n disabled: value.every((val) => valueToItemMap?.get(val)?.disabled),\n },\n ];\n }\n\n return value.map((value) => {\n const currentLabel = renderValue\n ? renderValue(valueToItemMap.get(value) || { value, label: value })\n : valueToItemMap.get(value)?.label || value.toString();\n\n return {\n value,\n label: currentLabel,\n disabled: valueToItemMap.get(value)?.disabled || false,\n };\n });\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const helperTextStopPropagation = (event: MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n treePath,\n dispatchTreePath,\n treeView,\n valueToPathMap,\n items: filteredItems,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(valueToCheckedMap);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // Эффект для исключительных случаев, когда нужно обновить значение textValue при изменении items,\n // но только если значение textValue совпадает с value в item.\n useLayoutEffect(() => {\n if (!multiple && value && valueToItemMap.get(value as string)?.value === textValue) {\n setTextValue(valueToItemMap.get(value as string)?.label || value.toString());\n }\n }, [items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n // Эффект для раскрытия дерева при поиске.\n useLayoutEffect(() => {\n if (treeView) {\n // Если поле ввода стало пустым или если пользователь выбирает элемент,\n // то скрываем все узлы дерева и выходим из эффекта.\n if (textValue === '' || textValue === getTextValue(multiple, value, valueToItemMap, renderValue)) {\n dispatchTreePath({ type: 'reset' });\n return;\n }\n\n // Иначе раскрываем все узлы, когда пользователь начинает вводить текст в поле ввода.\n dispatchTreePath({ type: 'expand_by_key', value: { filteredItems, filterCb, textValue } });\n }\n }, [textValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n ref={rootRef}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n treePath,\n dispatchTreePath,\n arrowPlacement,\n valueToPathMap,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <div onClick={handleTargetClick}>\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper\n disabled={disabled}\n onClick={handleClickArrow}\n className={classes.comboboxTargetArrow}\n >\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {helperText}\n </StyledLeftHelper>\n )\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue)\n : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n _chipClickArea: chipClickArea,\n _chips: getChips(),\n _onChipCloseClick: handleChipClick,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n </div>\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {treeView ? (\n <TreeList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : onScroll}\n virtual={virtual}\n beforeList={beforeList}\n afterList={afterList}\n />\n ) : (\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n )}\n </>\n )}\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$treeView","treeView","_props$arrowPlacement","arrowPlacement","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_props$chipClickArea","chipClickArea","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","valueToPathMap","_useState","useState","getTextValue","_useState2","textValue","setTextValueState","_useState3","_useState4","internalValue","setInternalValue","undefined","rootRef","useRef","inputRef","floatingPopoverRef","inputForkRef","useForkRef","listWrapperRef","treeId","safeUseId","filterCb","defaultFilter","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","_useReducer5","treePathReducer","_useReducer6","treePath","dispatchTreePath","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","setTextValue","newTextValue","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","stopPropagation","handleTextValueChange","target","type","handleChipClick","chip","val","_valueToItemMap$get","get","opened","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","_valueToItemMap$get5","_valueToItemMap$get6","useDidMountLayoutEffect","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","onClick","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","className","comboboxTargetArrow","StyledArrow","color","sizeToIconSize","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","_chipClickArea","_chips","_onChipCloseClick","_onEnterDisabled","isInner","StyledEmptyState","emptyStateWrapper","description","Fragment","TreeList","ListWrapper","Ul","id","selectAllOptions","SelectAll","VirtualList","index","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -33,6 +33,8 @@ var tokens = {
33
33
  itemIconMargin: '--plasma-combobox-item-icon-margin',
34
34
  itemBackgroundHover: '--plasma-combobox-item-background-hover',
35
35
  itemIconColor: '--plasma-combobox-item-icon-color',
36
+ itemGap: '--plasma-select-item-gap',
37
+ itemTreeOffsetWidth: '--plasma-select-item-tree-offset-width',
36
38
  cellPadding: '--plasma-combobox-cell-padding',
37
39
  cellPaddingLeftContent: '--plasma-combobox-cell-padding-left-content',
38
40
  cellPaddingContent: '--plasma-combobox-cell-padding-content',