@salutejs/plasma-new-hope 0.336.0-canary.2210.17546691141.0 → 0.336.0-canary.2210.17574972381.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 (248) hide show
  1. package/cjs/components/CodeField/CodeField.css +7 -7
  2. package/cjs/components/CodeField/CodeField.js +9 -21
  3. package/cjs/components/CodeField/CodeField.js.map +1 -1
  4. package/cjs/components/CodeField/CodeField.styles.js +1 -1
  5. package/cjs/components/CodeField/CodeField.styles.js.map +1 -1
  6. package/cjs/components/CodeField/{CodeField.styles_7tebk.css → CodeField.styles_14p25hi.css} +1 -1
  7. package/cjs/components/CodeField/hooks/useWebOTP.js +95 -0
  8. package/cjs/components/CodeField/hooks/useWebOTP.js.map +1 -0
  9. package/cjs/components/Combobox/ComboboxNew/Combobox.css +6 -6
  10. package/cjs/components/Combobox/ComboboxNew/Combobox.js +22 -23
  11. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  12. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
  13. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  14. package/cjs/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
  15. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  16. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  17. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  18. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  19. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
  20. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -5
  21. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  22. package/cjs/components/Combobox/ComboboxOld/Combobox.css +2 -2
  23. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  24. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  25. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  26. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  27. package/cjs/components/Drawer/hooks/useDrawer.js +12 -0
  28. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  29. package/cjs/components/Dropdown/Dropdown.css +2 -2
  30. package/cjs/components/Dropdown/Dropdown.js +6 -10
  31. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  32. package/cjs/components/Dropdown/Dropdown.styles.js +2 -9
  33. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  34. package/{es/components/Dropdown/Dropdown.styles_zheit5.css → cjs/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  35. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  36. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  37. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  38. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -9
  39. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  40. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  41. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  42. package/cjs/components/Pagination/Pagination.css +2 -2
  43. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  44. package/cjs/components/Select/Select.css +2 -2
  45. package/cjs/components/Select/Select.js +4 -3
  46. package/cjs/components/Select/Select.js.map +1 -1
  47. package/cjs/components/Select/Select.styles.js +3 -4
  48. package/cjs/components/Select/Select.styles.js.map +1 -1
  49. package/{es/components/Select/Select.styles_bjoo18.css → cjs/components/Select/Select.styles_dta4dl.css} +1 -1
  50. package/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  51. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  52. package/cjs/components/Select/ui/Inner/Inner.css +2 -2
  53. package/cjs/components/Select/ui/Inner/Inner.js +11 -5
  54. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  55. package/cjs/components/Table/Table.css +2 -2
  56. package/cjs/components/Table/ui/Cell/Cell.css +2 -2
  57. package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
  58. package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
  59. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  60. package/cjs/index.css +17 -17
  61. package/emotion/cjs/components/CodeField/CodeField.js +9 -14
  62. package/emotion/cjs/components/CodeField/CodeField.styles.js +13 -13
  63. package/emotion/cjs/components/CodeField/hooks/useWebOTP.js +1 -11
  64. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
  65. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  66. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  67. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  68. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  69. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +11 -0
  70. package/emotion/cjs/components/Dropdown/Dropdown.js +6 -10
  71. package/emotion/cjs/components/Dropdown/Dropdown.styles.js +5 -8
  72. package/emotion/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  73. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  74. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  75. package/emotion/cjs/components/Select/Select.js +4 -2
  76. package/emotion/cjs/components/Select/Select.styles.js +8 -8
  77. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  78. package/emotion/cjs/components/Select/ui/Inner/Inner.js +50 -9
  79. package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
  80. package/emotion/es/components/CodeField/CodeField.js +9 -15
  81. package/emotion/es/components/CodeField/CodeField.styles.js +13 -13
  82. package/emotion/es/components/CodeField/hooks/useWebOTP.js +1 -11
  83. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
  84. package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  85. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  86. package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  87. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  88. package/emotion/es/components/Drawer/hooks/useDrawer.js +11 -0
  89. package/emotion/es/components/Dropdown/Dropdown.js +6 -10
  90. package/emotion/es/components/Dropdown/Dropdown.styles.js +5 -8
  91. package/emotion/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  92. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  93. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  94. package/emotion/es/components/Select/Select.js +4 -2
  95. package/emotion/es/components/Select/Select.styles.js +8 -8
  96. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  97. package/emotion/es/components/Select/ui/Inner/Inner.js +11 -6
  98. package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
  99. package/es/components/CodeField/CodeField.css +7 -7
  100. package/es/components/CodeField/CodeField.js +9 -21
  101. package/es/components/CodeField/CodeField.js.map +1 -1
  102. package/es/components/CodeField/CodeField.styles.js +1 -1
  103. package/es/components/CodeField/CodeField.styles.js.map +1 -1
  104. package/es/components/CodeField/{CodeField.styles_7tebk.css → CodeField.styles_14p25hi.css} +1 -1
  105. package/es/components/CodeField/hooks/useWebOTP.js +91 -0
  106. package/es/components/CodeField/hooks/useWebOTP.js.map +1 -0
  107. package/es/components/Combobox/ComboboxNew/Combobox.css +6 -6
  108. package/es/components/Combobox/ComboboxNew/Combobox.js +22 -23
  109. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  110. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
  111. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  112. package/es/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
  113. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  114. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  115. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  116. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  117. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
  118. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +12 -6
  119. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  120. package/es/components/Combobox/ComboboxOld/Combobox.css +2 -2
  121. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  122. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  123. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  124. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  125. package/es/components/Drawer/hooks/useDrawer.js +12 -0
  126. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  127. package/es/components/Dropdown/Dropdown.css +2 -2
  128. package/es/components/Dropdown/Dropdown.js +6 -10
  129. package/es/components/Dropdown/Dropdown.js.map +1 -1
  130. package/es/components/Dropdown/Dropdown.styles.js +2 -9
  131. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  132. package/{cjs/components/Dropdown/Dropdown.styles_zheit5.css → es/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  133. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  134. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  135. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  136. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +10 -10
  137. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  138. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  139. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  140. package/es/components/Pagination/Pagination.css +2 -2
  141. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  142. package/es/components/Select/Select.css +2 -2
  143. package/es/components/Select/Select.js +4 -3
  144. package/es/components/Select/Select.js.map +1 -1
  145. package/es/components/Select/Select.styles.js +3 -4
  146. package/es/components/Select/Select.styles.js.map +1 -1
  147. package/{cjs/components/Select/Select.styles_bjoo18.css → es/components/Select/Select.styles_dta4dl.css} +1 -1
  148. package/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  149. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  150. package/es/components/Select/ui/Inner/Inner.css +2 -2
  151. package/es/components/Select/ui/Inner/Inner.js +12 -6
  152. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  153. package/es/components/Table/Table.css +2 -2
  154. package/es/components/Table/ui/Cell/Cell.css +2 -2
  155. package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
  156. package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
  157. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  158. package/es/index.css +17 -17
  159. package/package.json +2 -2
  160. package/styled-components/cjs/components/CodeField/CodeField.js +9 -14
  161. package/styled-components/cjs/components/CodeField/CodeField.styles.js +7 -7
  162. package/styled-components/cjs/components/CodeField/hooks/useWebOTP.js +1 -11
  163. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
  164. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  165. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  166. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  167. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  168. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +11 -0
  169. package/styled-components/cjs/components/Dropdown/Dropdown.js +6 -10
  170. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +3 -7
  171. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  172. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  173. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  174. package/styled-components/cjs/components/Select/Select.js +4 -2
  175. package/styled-components/cjs/components/Select/Select.styles.js +5 -5
  176. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  177. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +50 -9
  178. package/styled-components/cjs/examples/components/Combobox/Combobox.js +0 -15
  179. package/styled-components/es/components/CodeField/CodeField.js +9 -15
  180. package/styled-components/es/components/CodeField/CodeField.styles.js +7 -7
  181. package/styled-components/es/components/CodeField/hooks/useWebOTP.js +1 -11
  182. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
  183. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  184. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  185. package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  186. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  187. package/styled-components/es/components/Drawer/hooks/useDrawer.js +11 -0
  188. package/styled-components/es/components/Dropdown/Dropdown.js +6 -10
  189. package/styled-components/es/components/Dropdown/Dropdown.styles.js +3 -7
  190. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  191. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  192. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  193. package/styled-components/es/components/Select/Select.js +4 -2
  194. package/styled-components/es/components/Select/Select.styles.js +5 -5
  195. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  196. package/styled-components/es/components/Select/ui/Inner/Inner.js +11 -6
  197. package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
  198. package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -6
  199. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  200. package/types/components/CodeField/CodeField.d.ts.map +1 -1
  201. package/types/components/CodeField/CodeField.styles.d.ts.map +1 -1
  202. package/types/components/CodeField/hooks/useWebOTP.d.ts +1 -5
  203. package/types/components/CodeField/hooks/useWebOTP.d.ts.map +1 -1
  204. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  205. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +0 -1
  206. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  207. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +1 -1
  208. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +6 -6
  209. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  210. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  211. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +2 -1
  212. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
  213. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +6 -2
  214. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  215. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  216. package/types/components/Dropdown/Dropdown.d.ts +4 -4
  217. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  218. package/types/components/Dropdown/Dropdown.styles.d.ts +0 -1
  219. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  220. package/types/components/Dropdown/Dropdown.types.d.ts +6 -6
  221. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  222. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  223. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +2 -3
  224. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
  225. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +7 -3
  226. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  227. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +6 -6
  228. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  229. package/types/components/Select/Select.d.ts.map +1 -1
  230. package/types/components/Select/Select.styles.d.ts +0 -1
  231. package/types/components/Select/Select.styles.d.ts.map +1 -1
  232. package/types/components/Select/Select.types.d.ts +10 -10
  233. package/types/components/Select/Select.types.d.ts.map +1 -1
  234. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  235. package/types/components/Select/ui/Inner/Inner.type.d.ts +2 -1
  236. package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
  237. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +11 -3
  238. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  239. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +6 -6
  240. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  241. package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
  242. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  243. package/types/examples/components/Combobox/Combobox.d.ts +24 -24
  244. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  245. package/types/examples/components/Dropdown/Dropdown.d.ts +2 -2
  246. package/types/examples/components/Dropdown/Dropdown.d.ts.map +1 -1
  247. package/types/examples/components/Select/Select.d.ts +6 -6
  248. package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Dropdown/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { KeyboardEvent } from 'react';\nimport type { Dispatch } from 'react';\n\nimport { PathAction, PathState } from '../reducers/pathReducer';\nimport { FocusedPathAction, FocusedPathState } from '../reducers/focusedPathReducer';\nimport { HandleGlobalToggleType, DropdownProps } from '../Dropdown.types';\n\nimport { PathMapType, FocusedToValueMapType } from './useHashMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n};\n\nconst getFurtherPath = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ninterface Props {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleGlobalToggle: HandleGlobalToggleType;\n closeOnSelect: DropdownProps['closeOnSelect'];\n onItemSelect: DropdownProps['onItemSelect'];\n onItemClick: DropdownProps['onItemClick'];\n}\n\ninterface ReturnedProps {\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nexport const useKeyNavigation = ({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n}: Props): ReturnedProps => {\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n const currentLength: number = pathMap.get(path?.[focusedPath.length - 1]) || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case keys.ArrowUp: {\n if (focusedPath.length) {\n if (currentIndex > 0) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.ArrowDown: {\n if (focusedPath.length) {\n if (currentIndex + 1 < currentLength) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (focusedPath.length) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n } else {\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n }\n\n if (path.length === 1) {\n handleGlobalToggle(false, event);\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n }\n\n break;\n }\n\n case keys.Enter:\n case keys.Space: {\n event.preventDefault();\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n } else {\n if (closeOnSelect) {\n handleGlobalToggle(false, event);\n }\n\n if (onItemSelect && currentItem) {\n onItemSelect(currentItem, event);\n }\n\n if (onItemClick && currentItem) {\n onItemClick(currentItem, event);\n }\n }\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n handleGlobalToggle(false, event);\n\n break;\n }\n\n case keys.Home: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.End: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'change_last_focus', value: (pathMap.get('root') || 0) - 1 });\n\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.PageUp: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - JUMP_SIZE });\n }\n\n break;\n }\n\n case keys.PageDown: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentLength - currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + JUMP_SIZE });\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["JUMP_SIZE","keys","Enter","Space","Tab","Escape","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getFurtherPath","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleGlobalToggle","closeOnSelect","onItemSelect","onItemClick","currentIndex","length","currentLength","onKeyDown","event","code","type","value","currentItem","disabled","isDisabled","items","toString","preventDefault"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Dropdown/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { KeyboardEvent } from 'react';\nimport type { Dispatch } from 'react';\n\nimport { PathAction, PathState } from '../reducers/pathReducer';\nimport { FocusedPathAction, FocusedPathState } from '../reducers/focusedPathReducer';\nimport { HandleGlobalToggleType, DropdownProps } from '../Dropdown.types';\n\nimport { PathMapType, FocusedToValueMapType } from './useHashMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n};\n\nconst getFurtherPath = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ninterface Props {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleGlobalToggle: HandleGlobalToggleType;\n closeOnSelect: DropdownProps['closeOnSelect'];\n onItemSelect: DropdownProps['onItemSelect'];\n onItemClick: DropdownProps['onItemClick'];\n}\n\ninterface ReturnedProps {\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nexport const useKeyNavigation = ({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n}: Props): ReturnedProps => {\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n const currentLength: number = pathMap.get(path?.[focusedPath.length - 1]) || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case keys.ArrowUp: {\n if (focusedPath.length) {\n if (currentIndex > 0) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.ArrowDown: {\n if (focusedPath.length) {\n if (currentIndex + 1 < currentLength) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (focusedPath.length) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n } else {\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n }\n\n if (path.length === 1) {\n handleGlobalToggle(false, event);\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n }\n\n break;\n }\n\n case keys.Enter:\n case keys.Space: {\n event.preventDefault();\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n } else {\n if (closeOnSelect) {\n handleGlobalToggle(false, event);\n }\n\n if (onItemSelect && currentItem) {\n onItemSelect(currentItem, event);\n }\n\n if (onItemClick && currentItem) {\n onItemClick(currentItem, event);\n }\n }\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n if (path[0]) {\n handleGlobalToggle(false, event);\n }\n\n break;\n }\n\n case keys.Home: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.End: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'change_last_focus', value: (pathMap.get('root') || 0) - 1 });\n\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.PageUp: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - JUMP_SIZE });\n }\n\n break;\n }\n\n case keys.PageDown: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentLength - currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + JUMP_SIZE });\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["JUMP_SIZE","keys","Enter","Space","Tab","Escape","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getFurtherPath","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleGlobalToggle","closeOnSelect","onItemSelect","onItemClick","currentIndex","length","currentLength","onKeyDown","event","code","type","value","currentItem","disabled","isDisabled","items","toString","preventDefault"],"mappings":"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"}
@@ -24,6 +24,6 @@
24
24
  .DropdownItem_styles_1algi32_w1jav4ek__367ba473{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--w1jav4ek-0);min-height:var(--plasma-dropdown-item-height);margin:var(--plasma-dropdown-item-margin,0);box-sizing:content-box;padding:var(--w1jav4ek-1);font-family:var(--plasma-dropdown-item-font-family);font-size:var(--plasma-dropdown-item-font-size);font-style:var(--plasma-dropdown-item-font-style);font-weight:var(--plasma-dropdown-item-letter-spacing);-webkit-letter-spacing:var(--plasma-dropdown-item-line-height);-moz-letter-spacing:var(--plasma-dropdown-item-line-height);-ms-letter-spacing:var(--plasma-dropdown-item-line-height);letter-spacing:var(--plasma-dropdown-item-line-height);line-height:var(--plasma-dropdown-item-font-weight);background-color:var(--surface-clear);border-radius:var( --plasma-dropdown-item-border-radius, calc(var(--plasma-dropdown-border-radius) - 0.125rem - var(--plasma-dropdown-border-width,0rem)) );-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-clip:padding-box;position:relative;}.DropdownItem_styles_1algi32_w1jav4ek__367ba473:hover:not(.DropdownItem_styles_1algi32_dropdownItemIsDisabled__367ba473){cursor:pointer;background-color:var(--plasma-dropdown-item-background-hover);}.DropdownItem_styles_1algi32_w1jav4ek__367ba473.DropdownItem_styles_1algi32_dropdownItemIsActive__367ba473{background-color:var(--plasma-dropdown-item-background-hover);}.DropdownItem_styles_1algi32_w1jav4ek__367ba473.DropdownItem_styles_1algi32_dropdownItemIsDisabled__367ba473{opacity:0.4;cursor:not-allowed;}.DropdownItem_styles_1algi32_w1jav4ek__367ba473:focus{outline:none;}.DropdownItem_styles_1algi32_w1jav4ek__367ba473::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0 solid transparent;border-radius:calc(var(--plasma-dropdown-border-radius) - 0.125rem - var(--plasma-dropdown-border-width,0rem));-webkit-transition:none;transition:none;pointer-events:none;}.DropdownItem_styles_1algi32_w1jav4ek__367ba473.DropdownItem_styles_1algi32_dropdownItemIsFocused__367ba473:before{outline:none;box-shadow:inset 0 0 0 0.0625rem var(--surface-accent);}
25
25
  .DropdownItem_styles_1algi32_r1fqtjio__367ba473{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex:1;-ms-flex:1;flex:1;}
26
26
 
27
- .Dropdown_styles_zheit5_ln7uamp__21de70ca{width:var(--ln7uamp-0);padding:calc(var(--plasma-dropdown-padding) + var(--plasma-dropdown-border-width,0rem));border-radius:var(--plasma-dropdown-border-radius);box-sizing:border-box;background:var(--surface-solid-card-brightness);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-dropdown-border-width,0) var(--plasma-dropdown-border-color,transparent);}
28
- .Dropdown_styles_zheit5_ujr7fmv__21de70ca{max-height:var(--ujr7fmv-0);overflow-y:var(--ujr7fmv-1);border-radius:calc(var(--plasma-dropdown-border-radius) - 0.125rem - var(--plasma-dropdown-border-width,0rem));margin:0;padding:0;}
27
+ .Dropdown_styles_kkvnr1_ln7uamp__173ef985{width:var(--ln7uamp-0);padding:calc(var(--plasma-dropdown-padding) + var(--plasma-dropdown-border-width,0rem));border-radius:var(--plasma-dropdown-border-radius);box-sizing:border-box;background:var(--surface-solid-card-brightness);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-dropdown-border-width,0) var(--plasma-dropdown-border-color,transparent);}
28
+ .Dropdown_styles_kkvnr1_ujr7fmv__173ef985{max-height:var(--ujr7fmv-0);overflow-x:hidden;overflow-y:auto;border-radius:calc(var(--plasma-dropdown-border-radius) - 0.125rem - var(--plasma-dropdown-border-width,0rem));margin:0;padding:0;}
29
29
 
@@ -20,9 +20,8 @@ var DropdownInner = function DropdownInner(_ref) {
20
20
  dispatchPath = _ref.dispatchPath,
21
21
  index = _ref.index,
22
22
  trigger = _ref.trigger,
23
- listMaxHeight = _ref.listMaxHeight,
24
- listOverflow = _ref.listOverflow,
25
- listWidth = _ref.listWidth;
23
+ listWidth = _ref.listWidth,
24
+ portal = _ref.portal;
26
25
  var handleToggle = function handleToggle(opened) {
27
26
  if (opened) {
28
27
  dispatchPath({
@@ -37,6 +36,7 @@ var DropdownInner = function DropdownInner(_ref) {
37
36
  });
38
37
  }
39
38
  };
39
+ var listWrapperRef = React.useRef(null);
40
40
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
41
41
  var treeId = react.safeUseId();
42
42
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
@@ -57,14 +57,15 @@ var DropdownInner = function DropdownInner(_ref) {
57
57
  ariaLevel: nextLevel,
58
58
  ariaLabel: item.label
59
59
  }),
60
- isInner: true
60
+ isInner: true,
61
+ portal: portal
61
62
  }, /*#__PURE__*/React__default.default.createElement(Dropdown_styles.ListWrapper, {
63
+ ref: listWrapperRef,
62
64
  listWidth: listWidth
63
65
  }, /*#__PURE__*/React__default.default.createElement(Dropdown_styles.Ul, {
64
66
  id: listId,
65
67
  role: "group",
66
- listMaxHeight: listMaxHeight,
67
- listOverflow: listOverflow
68
+ listMaxHeight: item.listMaxHeight
68
69
  }, item.items.map(function (innerItem, innerIndex) {
69
70
  return /*#__PURE__*/React__default.default.createElement(DropdownInner, {
70
71
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -74,9 +75,8 @@ var DropdownInner = function DropdownInner(_ref) {
74
75
  dispatchPath: dispatchPath,
75
76
  index: innerIndex,
76
77
  trigger: trigger,
77
- listMaxHeight: listMaxHeight,
78
- listOverflow: listOverflow,
79
- listWidth: listWidth
78
+ listWidth: listWidth,
79
+ portal: listWrapperRef
80
80
  });
81
81
  }))));
82
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { DropdownItem } from '../DropdownItem/DropdownItem';\nimport { Ul, ListWrapper } from '../../Dropdown.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { getPlacement } from '../../utils';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n path,\n dispatchPath,\n index,\n trigger,\n listMaxHeight,\n listOverflow,\n listWidth,\n}) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <FloatingPopover\n placement={getPlacement(item?.placement || 'right')}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n trigger={item.trigger || trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n currentLevel={currentLevel}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n >\n <ListWrapper listWidth={listWidth}>\n <Ul id={listId} role=\"group\" listMaxHeight={listMaxHeight} listOverflow={listOverflow}>\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n listMaxHeight={listMaxHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <DropdownItem item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","_ref","item","currentLevel","path","dispatchPath","index","trigger","listMaxHeight","listOverflow","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","items","React","createElement","FloatingPopover","placement","getPlacement","onToggle","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","Ul","id","role","map","innerItem","innerIndex","key"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { DropdownItem } from '../DropdownItem/DropdownItem';\nimport { Ul, ListWrapper } from '../../Dropdown.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { getPlacement } from '../../utils';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n path,\n dispatchPath,\n index,\n trigger,\n listWidth,\n portal,\n}) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <FloatingPopover\n placement={getPlacement(item?.placement || 'right')}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n trigger={item.trigger || trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n currentLevel={currentLevel}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n portal={portal}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul id={listId} role=\"group\" listMaxHeight={item.listMaxHeight}>\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <DropdownItem item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","_ref","item","currentLevel","path","dispatchPath","index","trigger","listWidth","portal","handleToggle","opened","type","value","toString","level","listWrapperRef","useRef","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","items","React","createElement","FloatingPopover","placement","getPlacement","onToggle","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","ref","Ul","id","role","listMaxHeight","map","innerItem","innerIndex","key"],"mappings":"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"}
@@ -82,7 +82,7 @@ var DropdownItem = function DropdownItem(_ref) {
82
82
  };
83
83
  var handleHover = function handleHover() {
84
84
  if (onHover) {
85
- onHover(index$1);
85
+ onHover(index$1, item);
86
86
  }
87
87
  };
88
88
  return /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, dividerBefore && /*#__PURE__*/React__default.default.createElement(DropdownItem_styles.Divider, {
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownItem.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItem/DropdownItem.tsx"],"sourcesContent":["import React, { useEffect, useRef, FC, useContext } from 'react';\n\nimport { classes } from '../../Dropdown.tokens';\nimport { cx } from '../../../../utils';\nimport { Context } from '../../Dropdown.context';\nimport { getItemId } from '../../utils';\n\nimport {\n Wrapper,\n DisclosureIconWrapper,\n Divider,\n CellWrapper,\n StyledCell,\n RenderItemWrapper,\n StyledIconDisclosureRight,\n} from './DropdownItem.styles';\nimport type { DropdownItemProps } from './DropdownItem.type';\n\nexport const DropdownItem: FC<DropdownItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const {\n value,\n label,\n disabled,\n isDisabled,\n contentLeft,\n contentRight,\n dividerBefore,\n dividerAfter,\n className,\n ...rest\n } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemSelect,\n onItemClick,\n hasArrow,\n treeId,\n renderItem,\n } = useContext(Context);\n\n const hasDescendants = Boolean(item.items);\n const disclosureIconSize = size === 'xs' ? 'xs' : 's';\n const itemDisabled = Boolean(disabled || isDisabled);\n const isDisabledClassName = itemDisabled ? classes.dropdownItemIsDisabled : undefined;\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleClick = (event: React.MouseEvent<HTMLLIElement>): void => {\n if (itemDisabled) {\n event.stopPropagation();\n return;\n }\n\n if (onItemSelect) {\n onItemSelect(item, event);\n }\n\n if (onItemClick) {\n onItemClick(item, event);\n }\n\n // Закрываем весь дропдаун целиком при клике на айтем без потомков. Только при closeOnSelect === true.\n if (closeOnSelect && !hasDescendants) {\n handleGlobalToggle(false, event);\n }\n };\n\n const handleHover = () => {\n if (onHover) {\n onHover(index);\n }\n };\n\n return (\n <>\n {dividerBefore && <Divider variant={variant} />}\n\n <Wrapper\n {...rest}\n ref={ref}\n className={cx(isDisabledClassName, focusedClass, activeClass, className)}\n id={getItemId(treeId, value.toString())}\n role={itemRole}\n onClick={handleClick}\n onMouseEnter={handleHover}\n variant={variant}\n aria-disabled={disabled || isDisabled}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n >\n {renderItem ? (\n <RenderItemWrapper>{renderItem(item)}</RenderItemWrapper>\n ) : (\n <CellWrapper>\n <StyledCell\n contentLeft={contentLeft}\n contentRight={contentRight}\n alignContentLeft=\"center\"\n alignContentRight=\"center\"\n title={label}\n />\n </CellWrapper>\n )}\n\n {item.items && hasArrow && (\n <DisclosureIconWrapper>\n <StyledIconDisclosureRight size={disclosureIconSize} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n\n {dividerAfter && <Divider variant={variant} />}\n </>\n );\n};\n"],"names":["DropdownItem","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","isDisabled","contentLeft","contentRight","dividerBefore","dividerAfter","className","rest","_objectWithoutProperties","_excluded","ref","useRef","_useContext","useContext","Context","focusedPath","size","variant","itemRole","handleGlobalToggle","closeOnSelect","onHover","onItemSelect","onItemClick","hasArrow","treeId","renderItem","hasDescendants","Boolean","items","disclosureIconSize","itemDisabled","isDisabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useEffect","current","scrollIntoView","behavior","block","inline","handleClick","event","stopPropagation","handleHover","React","createElement","Fragment","Divider","Wrapper","_extends","cx","id","getItemId","toString","role","onClick","onMouseEnter","RenderItemWrapper","CellWrapper","StyledCell","alignContentLeft","alignContentRight","title","DisclosureIconWrapper","StyledIconDisclosureRight","color"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownItem.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItem/DropdownItem.tsx"],"sourcesContent":["import React, { useEffect, useRef, FC, useContext } from 'react';\n\nimport { classes } from '../../Dropdown.tokens';\nimport { cx } from '../../../../utils';\nimport { Context } from '../../Dropdown.context';\nimport { getItemId } from '../../utils';\n\nimport {\n Wrapper,\n DisclosureIconWrapper,\n Divider,\n CellWrapper,\n StyledCell,\n RenderItemWrapper,\n StyledIconDisclosureRight,\n} from './DropdownItem.styles';\nimport type { DropdownItemProps } from './DropdownItem.type';\n\nexport const DropdownItem: FC<DropdownItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const {\n value,\n label,\n disabled,\n isDisabled,\n contentLeft,\n contentRight,\n dividerBefore,\n dividerAfter,\n className,\n ...rest\n } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemSelect,\n onItemClick,\n hasArrow,\n treeId,\n renderItem,\n } = useContext(Context);\n\n const hasDescendants = Boolean(item.items);\n const disclosureIconSize = size === 'xs' ? 'xs' : 's';\n const itemDisabled = Boolean(disabled || isDisabled);\n const isDisabledClassName = itemDisabled ? classes.dropdownItemIsDisabled : undefined;\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleClick = (event: React.MouseEvent<HTMLLIElement>): void => {\n if (itemDisabled) {\n event.stopPropagation();\n return;\n }\n\n if (onItemSelect) {\n onItemSelect(item, event);\n }\n\n if (onItemClick) {\n onItemClick(item, event);\n }\n\n // Закрываем весь дропдаун целиком при клике на айтем без потомков. Только при closeOnSelect === true.\n if (closeOnSelect && !hasDescendants) {\n handleGlobalToggle(false, event);\n }\n };\n\n const handleHover = () => {\n if (onHover) {\n onHover(index, item);\n }\n };\n\n return (\n <>\n {dividerBefore && <Divider variant={variant} />}\n\n <Wrapper\n {...rest}\n ref={ref}\n className={cx(isDisabledClassName, focusedClass, activeClass, className)}\n id={getItemId(treeId, value.toString())}\n role={itemRole}\n onClick={handleClick}\n onMouseEnter={handleHover}\n variant={variant}\n aria-disabled={disabled || isDisabled}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n >\n {renderItem ? (\n <RenderItemWrapper>{renderItem(item)}</RenderItemWrapper>\n ) : (\n <CellWrapper>\n <StyledCell\n contentLeft={contentLeft}\n contentRight={contentRight}\n alignContentLeft=\"center\"\n alignContentRight=\"center\"\n title={label}\n />\n </CellWrapper>\n )}\n\n {item.items && hasArrow && (\n <DisclosureIconWrapper>\n <StyledIconDisclosureRight size={disclosureIconSize} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n\n {dividerAfter && <Divider variant={variant} />}\n </>\n );\n};\n"],"names":["DropdownItem","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","isDisabled","contentLeft","contentRight","dividerBefore","dividerAfter","className","rest","_objectWithoutProperties","_excluded","ref","useRef","_useContext","useContext","Context","focusedPath","size","variant","itemRole","handleGlobalToggle","closeOnSelect","onHover","onItemSelect","onItemClick","hasArrow","treeId","renderItem","hasDescendants","Boolean","items","disclosureIconSize","itemDisabled","isDisabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useEffect","current","scrollIntoView","behavior","block","inline","handleClick","event","stopPropagation","handleHover","React","createElement","Fragment","Divider","Wrapper","_extends","cx","id","getItemId","toString","role","onClick","onMouseEnter","RenderItemWrapper","CellWrapper","StyledCell","alignContentLeft","alignContentRight","title","DisclosureIconWrapper","StyledIconDisclosureRight","color"],"mappings":"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"}
@@ -195,8 +195,8 @@
195
195
  .SelectAll_styles_ql2mqj_d19w91z6__b71a8639{background:var(--surface-solid-card);}
196
196
  .SelectAll_styles_ql2mqj_d1nbef5q__b71a8639{height:0.0625rem;margin-top:var(--d1nbef5q-0);margin-right:var(--plasma-select-divider-margin-right);margin-left:var(--plasma-select-divider-margin-left);background:var(--plasma-select-divider-color);}
197
197
 
198
- .Select_styles_bjoo18_lpxbau6__2367a782{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
199
- .Select_styles_bjoo18_u1yey2x3__2367a782{max-height:var(--u1yey2x3-0);overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
198
+ .Select_styles_dta4dl_lpxbau6__559b5dde{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
199
+ .Select_styles_dta4dl_u1yey2x3__559b5dde{max-height:var(--u1yey2x3-0);overflow-x:hidden;overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
200
200
 
201
201
 
202
202
  .SelectNative_styles_1r538h6_satm3n2__407ae55b{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
@@ -163,8 +163,8 @@
163
163
  .SelectAll_styles_ql2mqj_d19w91z6__b71a8639{background:var(--surface-solid-card);}
164
164
  .SelectAll_styles_ql2mqj_d1nbef5q__b71a8639{height:0.0625rem;margin-top:var(--d1nbef5q-0);margin-right:var(--plasma-select-divider-margin-right);margin-left:var(--plasma-select-divider-margin-left);background:var(--plasma-select-divider-color);}
165
165
 
166
- .Select_styles_bjoo18_lpxbau6__2367a782{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
167
- .Select_styles_bjoo18_u1yey2x3__2367a782{max-height:var(--u1yey2x3-0);overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
166
+ .Select_styles_dta4dl_lpxbau6__559b5dde{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
167
+ .Select_styles_dta4dl_u1yey2x3__559b5dde{max-height:var(--u1yey2x3-0);overflow-x:hidden;overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
168
168
 
169
169
 
170
170
  .SelectNative_styles_1r538h6_satm3n2__407ae55b{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
@@ -163,8 +163,8 @@
163
163
  .SelectAll_styles_ql2mqj_d19w91z6__b71a8639{background:var(--surface-solid-card);}
164
164
  .SelectAll_styles_ql2mqj_d1nbef5q__b71a8639{height:0.0625rem;margin-top:var(--d1nbef5q-0);margin-right:var(--plasma-select-divider-margin-right);margin-left:var(--plasma-select-divider-margin-left);background:var(--plasma-select-divider-color);}
165
165
 
166
- .Select_styles_bjoo18_lpxbau6__2367a782{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
167
- .Select_styles_bjoo18_u1yey2x3__2367a782{max-height:var(--u1yey2x3-0);overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
166
+ .Select_styles_dta4dl_lpxbau6__559b5dde{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
167
+ .Select_styles_dta4dl_u1yey2x3__559b5dde{max-height:var(--u1yey2x3-0);overflow-x:hidden;overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
168
168
 
169
169
 
170
170
  .SelectNative_styles_1r538h6_satm3n2__407ae55b{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
@@ -54,7 +54,6 @@ var selectRoot = function selectRoot(Root) {
54
54
  readOnly = _props$readOnly === void 0 ? false : _props$readOnly,
55
55
  outerView = props.view,
56
56
  size = props.size,
57
- listOverflow = props.listOverflow,
58
57
  listHeight = props.listHeight,
59
58
  listMaxHeight = props.listMaxHeight,
60
59
  listWidth = props.listWidth,
@@ -130,6 +129,7 @@ var selectRoot = function selectRoot(Root) {
130
129
  var activeDescendantItemValue = ((_getItemByFocused = useKeyboardNavigation.getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
131
130
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
132
131
  var treeId = react.safeUseId();
132
+ var listWrapperRef = React.useRef(null);
133
133
  var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView.getView(status, outerView);
134
134
 
135
135
  // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
@@ -418,12 +418,12 @@ var selectRoot = function selectRoot(Root) {
418
418
  disabled: disabled,
419
419
  readOnly: readOnly
420
420
  }, rest), /*#__PURE__*/React__default.default.createElement(Select_styles.ListWrapper, {
421
+ ref: listWrapperRef,
421
422
  listWidth: listWidth
422
423
  }, /*#__PURE__*/React__default.default.createElement(Select_styles.Ul, {
423
424
  role: "tree",
424
425
  id: "".concat(treeId, "_tree_level_1"),
425
426
  "aria-multiselectable": Boolean(props.multiselect),
426
- listOverflow: listOverflow,
427
427
  listMaxHeight: listMaxHeight || listHeight,
428
428
  onScroll: virtual ? undefined : handleScroll,
429
429
  ref: targetRef,
@@ -446,7 +446,8 @@ var selectRoot = function selectRoot(Root) {
446
446
  path: path,
447
447
  dispatchPath: dispatchPath,
448
448
  index: index,
449
- listWidth: listWidth
449
+ listWidth: listWidth,
450
+ portal: listWrapperRef
450
451
  });
451
452
  }), afterList))))));
452
453
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, labelToItemMap] = usePathMaps(\n transformedItems,\n );\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\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.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\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 // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string | number> = [];\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 (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\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 (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\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 useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\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 onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n labelToItemMap={labelToItemMap}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.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 />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listOverflow","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, labelToItemMap] = usePathMaps(\n transformedItems,\n );\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\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.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\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 // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string | number> = [];\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 (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\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 (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\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 useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\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 onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n labelToItemMap={labelToItemMap}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.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 {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- require('./Select.styles_bjoo18.css');
1
+ require('./Select.styles_dta4dl.css');
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -32,9 +32,8 @@ var _exp9 = function _exp9() {
32
32
  };
33
33
  var _exp10 = function _exp10() {
34
34
  return function (_ref3) {
35
- var virtual = _ref3.virtual,
36
- listOverflow = _ref3.listOverflow;
37
- return virtual ? 'visible' : listOverflow || 'visible';
35
+ var virtual = _ref3.virtual;
36
+ return virtual ? 'visible' : 'auto';
38
37
  };
39
38
  };
40
39
  var Ul = /*#__PURE__*/react.styled('ul')({
@@ -1 +1 @@
1
- {"version":3,"file":"Select.styles.js","sources":["../../../src/components/Select/Select.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { getCorrectHeight } from './utils';\nimport { SelectProps } from './Select.types';\nimport { tokens, constants } from './Select.tokens';\n\nexport const ListWrapper = styled.div<{\n listWidth?: SelectProps['listWidth'];\n}>`\n width: ${({ listWidth }) => listWidth || '100%'};\n padding: calc(var(${tokens.padding}) + var(${tokens.dropdownBorderWidth}, 0rem));\n border-radius: var(${tokens.borderRadius});\n box-sizing: border-box;\n background: var(${constants.background});\n box-shadow: ${constants.boxShadow},\n inset 0 0 0 var(${tokens.dropdownBorderWidth}, 0rem) var(${tokens.dropdownBorderColor}, transparent);\n`;\n\nexport const Ul = styled.ul<{\n virtual: SelectProps['virtual'];\n listOverflow?: SelectProps['listOverflow'];\n listMaxHeight?: SelectProps['listMaxHeight'];\n}>`\n max-height: ${({ virtual, listMaxHeight }) =>\n // eslint-disable-next-line no-nested-ternary\n virtual ? 'auto' : listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto'};\n overflow-y: ${({ virtual, listOverflow }) => (virtual ? 'visible' : listOverflow || 'visible')};\n border-radius: calc(var(${tokens.borderRadius}) - 0.125rem - var(${tokens.dropdownBorderWidth}, 0rem));\n margin: 0;\n padding: 0;\n`;\n\nexport const base = css``;\n"],"names":["_exp","_ref","listWidth","ListWrapper","styled","name","class","propsAsIs","vars","_exp9","_ref2","virtual","listMaxHeight","getCorrectHeight","_exp10","_ref3","listOverflow","Ul","base"],"mappings":";;;;;;;AAI6C,IAAAA,IAAA,GAH3BA,SAG2BA,IAAAA,GAAA;AAAA,EAAA,OAMhC,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;IAAAA,OAAgBA,SAAS,IAAI,MAAM,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAH5C,IAAMC,WAAW,gBAAGC,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAGpBR,IAAsC,EAAA,CAAA;AAAA,GAAA;AAAA,CAOlD,EAAA;AAAC,IAAAS,KAAA,GAhBgBA,SAgBhBA,KAAAA,GAAA;AAAA,EAAA,OAOgB,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;MAAEC,aAAAA,GAAAA,KAAAA,CAAAA,aAAAA,CAAAA;AAAAA,IAAAA;AACtB;MACAD,OAAO,GAAG,MAAM,GAAGC,aAAa,GAAGC,iCAAgB,CAACD,aAAa,CAAC,GAAG,MAAA;AAAM,MAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAE,MAAA,GAzBjEA,SAyBiEA,MAAAA,GAAA;AAAA,EAAA,OACjE,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGJ,OAAO,GAAAI,KAAA,CAAPJ,OAAO;MAAEK,YAAAA,GAAAA,KAAAA,CAAAA,YAAAA,CAAAA;AAAAA,IAAAA,OAAoBL,OAAO,GAAG,SAAS,GAAGK,YAAY,IAAI,SAAU,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAR3F,IAAMC,EAAE,gBAAGb,YAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,IAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,YAAA,EAAA,cAKNC,KAEiE,EAAA,CAAA;AAAA,IAAA,YAAA,EAAA,cACjEK,MAAgF,EAAA,CAAA;AAAA,GAAA;AAAA,CAIjG,EAAA;AAEM,IAAMI,IAAI,GAAQ;;;;;;"}
1
+ {"version":3,"file":"Select.styles.js","sources":["../../../src/components/Select/Select.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { getCorrectHeight } from './utils';\nimport { SelectProps } from './Select.types';\nimport { tokens, constants } from './Select.tokens';\n\nexport const ListWrapper = styled.div<{\n listWidth?: SelectProps['listWidth'];\n}>`\n width: ${({ listWidth }) => listWidth || '100%'};\n padding: calc(var(${tokens.padding}) + var(${tokens.dropdownBorderWidth}, 0rem));\n border-radius: var(${tokens.borderRadius});\n box-sizing: border-box;\n background: var(${constants.background});\n box-shadow: ${constants.boxShadow},\n inset 0 0 0 var(${tokens.dropdownBorderWidth}, 0rem) var(${tokens.dropdownBorderColor}, transparent);\n`;\n\nexport const Ul = styled.ul<{\n virtual: SelectProps['virtual'];\n listMaxHeight?: SelectProps['listMaxHeight'];\n}>`\n max-height: ${({ virtual, listMaxHeight }) =>\n // eslint-disable-next-line no-nested-ternary\n virtual ? 'auto' : listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto'};\n overflow-x: hidden;\n overflow-y: ${({ virtual }) => (virtual ? 'visible' : 'auto')};\n border-radius: calc(var(${tokens.borderRadius}) - 0.125rem - var(${tokens.dropdownBorderWidth}, 0rem));\n margin: 0;\n padding: 0;\n`;\n\nexport const base = css``;\n"],"names":["_exp","_ref","listWidth","ListWrapper","styled","name","class","propsAsIs","vars","_exp9","_ref2","virtual","listMaxHeight","getCorrectHeight","_exp10","_ref3","Ul","base"],"mappings":";;;;;;;AAI6C,IAAAA,IAAA,GAH3BA,SAG2BA,IAAAA,GAAA;AAAA,EAAA,OAMhC,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;IAAAA,OAAgBA,SAAS,IAAI,MAAM,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAH5C,IAAMC,WAAW,gBAAGC,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAGpBR,IAAsC,EAAA,CAAA;AAAA,GAAA;AAAA,CAOlD,EAAA;AAAC,IAAAS,KAAA,GAhBgBA,SAgBhBA,KAAAA,GAAA;AAAA,EAAA,OAMgB,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;MAAEC,aAAAA,GAAAA,KAAAA,CAAAA,aAAAA,CAAAA;AAAAA,IAAAA;AACtB;MACAD,OAAO,GAAG,MAAM,GAAGC,aAAa,GAAGC,iCAAgB,CAACD,aAAa,CAAC,GAAG,MAAA;AAAM,MAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAE,MAAA,GAxBjEA,SAwBiEA,MAAAA,GAAA;AAAA,EAAA,OAEjE,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGJ,OAAAA,GAAAA,KAAAA,CAAAA,OAAAA,CAAAA;AAAAA,IAAAA,OAAeA,OAAO,GAAG,SAAS,GAAG,MAAO,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAR1D,IAAMK,EAAE,gBAAGZ,YAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,IAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,YAAA,EAAA,cAINC,KAEiE,EAAA,CAAA;AAAA,IAAA,YAAA,EAAA,cAEjEK,MAA+C,EAAA,CAAA;AAAA,GAAA;AAAA,CAIhE,EAAA;AAEM,IAAMG,IAAI,GAAQ;;;;;;"}
@@ -1,3 +1,3 @@
1
1
  .lpxbau6{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
2
- .u1yey2x3{max-height:var(--u1yey2x3-0);overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
2
+ .u1yey2x3{max-height:var(--u1yey2x3-0);overflow-x:hidden;overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
3
3