@salutejs/plasma-new-hope 0.336.0-canary.2210.17550717632.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 (228) hide show
  1. package/cjs/components/CodeField/CodeField.css +7 -7
  2. package/cjs/components/CodeField/CodeField.styles.js +1 -1
  3. package/cjs/components/CodeField/CodeField.styles.js.map +1 -1
  4. package/cjs/components/CodeField/{CodeField.styles_7tebk.css → CodeField.styles_14p25hi.css} +1 -1
  5. package/cjs/components/Combobox/ComboboxNew/Combobox.css +6 -6
  6. package/cjs/components/Combobox/ComboboxNew/Combobox.js +22 -23
  7. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  8. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
  9. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  10. package/cjs/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  12. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  14. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  15. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
  16. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -5
  17. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  18. package/cjs/components/Combobox/ComboboxOld/Combobox.css +2 -2
  19. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  20. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  21. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  22. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  23. package/cjs/components/Drawer/hooks/useDrawer.js +12 -0
  24. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  25. package/cjs/components/Dropdown/Dropdown.css +2 -2
  26. package/cjs/components/Dropdown/Dropdown.js +6 -10
  27. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  28. package/cjs/components/Dropdown/Dropdown.styles.js +2 -9
  29. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  30. package/{es/components/Dropdown/Dropdown.styles_zheit5.css → cjs/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  31. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  32. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  33. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  34. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -9
  35. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  36. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  37. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  38. package/cjs/components/Pagination/Pagination.css +2 -2
  39. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  40. package/cjs/components/Select/Select.css +2 -2
  41. package/cjs/components/Select/Select.js +4 -3
  42. package/cjs/components/Select/Select.js.map +1 -1
  43. package/cjs/components/Select/Select.styles.js +3 -4
  44. package/cjs/components/Select/Select.styles.js.map +1 -1
  45. package/{es/components/Select/Select.styles_bjoo18.css → cjs/components/Select/Select.styles_dta4dl.css} +1 -1
  46. package/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  47. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  48. package/cjs/components/Select/ui/Inner/Inner.css +2 -2
  49. package/cjs/components/Select/ui/Inner/Inner.js +11 -5
  50. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  51. package/cjs/components/Table/Table.css +2 -2
  52. package/cjs/components/Table/ui/Cell/Cell.css +2 -2
  53. package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
  54. package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
  55. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  56. package/cjs/index.css +17 -17
  57. package/emotion/cjs/components/CodeField/CodeField.styles.js +13 -13
  58. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
  59. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  60. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  61. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  62. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  63. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +11 -0
  64. package/emotion/cjs/components/Dropdown/Dropdown.js +6 -10
  65. package/emotion/cjs/components/Dropdown/Dropdown.styles.js +5 -8
  66. package/emotion/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  67. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  68. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  69. package/emotion/cjs/components/Select/Select.js +4 -2
  70. package/emotion/cjs/components/Select/Select.styles.js +8 -8
  71. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  72. package/emotion/cjs/components/Select/ui/Inner/Inner.js +50 -9
  73. package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
  74. package/emotion/es/components/CodeField/CodeField.styles.js +13 -13
  75. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
  76. package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  77. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  78. package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  79. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  80. package/emotion/es/components/Drawer/hooks/useDrawer.js +11 -0
  81. package/emotion/es/components/Dropdown/Dropdown.js +6 -10
  82. package/emotion/es/components/Dropdown/Dropdown.styles.js +5 -8
  83. package/emotion/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  84. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  85. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  86. package/emotion/es/components/Select/Select.js +4 -2
  87. package/emotion/es/components/Select/Select.styles.js +8 -8
  88. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  89. package/emotion/es/components/Select/ui/Inner/Inner.js +11 -6
  90. package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
  91. package/es/components/CodeField/CodeField.css +7 -7
  92. package/es/components/CodeField/CodeField.styles.js +1 -1
  93. package/es/components/CodeField/CodeField.styles.js.map +1 -1
  94. package/es/components/CodeField/{CodeField.styles_7tebk.css → CodeField.styles_14p25hi.css} +1 -1
  95. package/es/components/Combobox/ComboboxNew/Combobox.css +6 -6
  96. package/es/components/Combobox/ComboboxNew/Combobox.js +22 -23
  97. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  98. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
  99. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  100. package/es/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
  101. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  102. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  103. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  104. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  105. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
  106. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +12 -6
  107. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  108. package/es/components/Combobox/ComboboxOld/Combobox.css +2 -2
  109. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  110. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  111. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  112. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  113. package/es/components/Drawer/hooks/useDrawer.js +12 -0
  114. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  115. package/es/components/Dropdown/Dropdown.css +2 -2
  116. package/es/components/Dropdown/Dropdown.js +6 -10
  117. package/es/components/Dropdown/Dropdown.js.map +1 -1
  118. package/es/components/Dropdown/Dropdown.styles.js +2 -9
  119. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  120. package/{cjs/components/Dropdown/Dropdown.styles_zheit5.css → es/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  121. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  122. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  123. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  124. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +10 -10
  125. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  126. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  127. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  128. package/es/components/Pagination/Pagination.css +2 -2
  129. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  130. package/es/components/Select/Select.css +2 -2
  131. package/es/components/Select/Select.js +4 -3
  132. package/es/components/Select/Select.js.map +1 -1
  133. package/es/components/Select/Select.styles.js +3 -4
  134. package/es/components/Select/Select.styles.js.map +1 -1
  135. package/{cjs/components/Select/Select.styles_bjoo18.css → es/components/Select/Select.styles_dta4dl.css} +1 -1
  136. package/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  137. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  138. package/es/components/Select/ui/Inner/Inner.css +2 -2
  139. package/es/components/Select/ui/Inner/Inner.js +12 -6
  140. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  141. package/es/components/Table/Table.css +2 -2
  142. package/es/components/Table/ui/Cell/Cell.css +2 -2
  143. package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
  144. package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
  145. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  146. package/es/index.css +17 -17
  147. package/package.json +2 -2
  148. package/styled-components/cjs/components/CodeField/CodeField.styles.js +7 -7
  149. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
  150. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  151. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  152. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  153. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  154. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +11 -0
  155. package/styled-components/cjs/components/Dropdown/Dropdown.js +6 -10
  156. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +3 -7
  157. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  158. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  159. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  160. package/styled-components/cjs/components/Select/Select.js +4 -2
  161. package/styled-components/cjs/components/Select/Select.styles.js +5 -5
  162. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  163. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +50 -9
  164. package/styled-components/es/components/CodeField/CodeField.styles.js +7 -7
  165. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
  166. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  167. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  168. package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  169. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  170. package/styled-components/es/components/Drawer/hooks/useDrawer.js +11 -0
  171. package/styled-components/es/components/Dropdown/Dropdown.js +6 -10
  172. package/styled-components/es/components/Dropdown/Dropdown.styles.js +3 -7
  173. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  174. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  175. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  176. package/styled-components/es/components/Select/Select.js +4 -2
  177. package/styled-components/es/components/Select/Select.styles.js +5 -5
  178. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  179. package/styled-components/es/components/Select/ui/Inner/Inner.js +11 -6
  180. package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
  181. package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -6
  182. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  183. package/types/components/CodeField/CodeField.styles.d.ts.map +1 -1
  184. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  185. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +0 -1
  186. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  187. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +1 -1
  188. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +6 -6
  189. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  190. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  191. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +2 -1
  192. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
  193. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +6 -2
  194. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  195. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  196. package/types/components/Dropdown/Dropdown.d.ts +4 -4
  197. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  198. package/types/components/Dropdown/Dropdown.styles.d.ts +0 -1
  199. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  200. package/types/components/Dropdown/Dropdown.types.d.ts +6 -6
  201. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  202. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  203. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +2 -3
  204. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
  205. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +7 -3
  206. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  207. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +6 -6
  208. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  209. package/types/components/Select/Select.d.ts.map +1 -1
  210. package/types/components/Select/Select.styles.d.ts +0 -1
  211. package/types/components/Select/Select.styles.d.ts.map +1 -1
  212. package/types/components/Select/Select.types.d.ts +10 -10
  213. package/types/components/Select/Select.types.d.ts.map +1 -1
  214. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  215. package/types/components/Select/ui/Inner/Inner.type.d.ts +2 -1
  216. package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
  217. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +11 -3
  218. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  219. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +6 -6
  220. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  221. package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
  222. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  223. package/types/examples/components/Combobox/Combobox.d.ts +24 -24
  224. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  225. package/types/examples/components/Dropdown/Dropdown.d.ts +2 -2
  226. package/types/examples/components/Dropdown/Dropdown.d.ts.map +1 -1
  227. package/types/examples/components/Select/Select.d.ts +6 -6
  228. package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../../src/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { KeyboardEvent, Dispatch } from 'react';\nimport React from 'react';\n\nimport { PathAction, PathState, FocusedPathAction, FocusedPathState } from '../reducers';\nimport type { ItemOptionTransformed } from '../ui/Inner/ui/Item/Item.types';\nimport { isEmpty } from '../../../../utils';\n\nimport { PathMapType, FocusedToValueMapType, ValueToItemMapType } from './getPathMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n Backspace: 'Backspace',\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\nexport const getItemByFocused = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ntype Props = {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleListToggle: (opened: boolean) => void;\n handlePressDown: (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => void;\n setTextValue: React.Dispatch<React.SetStateAction<string>>;\n multiple: boolean | undefined;\n value: string | string[];\n textValue: string;\n valueToItemMap: ValueToItemMapType;\n};\n\ntype 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 handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\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.key) {\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 handleListToggle(true);\n }\n\n if (path[0]) {\n event.stopPropagation();\n event.preventDefault();\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 handleListToggle(true);\n }\n\n if (path[0]) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (path[0]) {\n event.stopPropagation();\n event.preventDefault();\n\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 handleListToggle(false);\n }\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (path[0]) {\n event.stopPropagation();\n event.preventDefault();\n\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled) {\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\n break;\n }\n\n case keys.Enter: {\n event.preventDefault();\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap)!;\n\n if (currentItem?.disabled) {\n break;\n }\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (currentItem) {\n handlePressDown(currentItem);\n }\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n handleListToggle(false);\n\n if (multiple) {\n setTextValue('');\n } else if (textValue !== value) {\n // Проверяем, отличается ли значение в инпуте от выбранного value после нажатия Tab/Enter.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\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 handleListToggle(true);\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 handleListToggle(true);\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","Backspace","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getItemByFocused","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleListToggle","handlePressDown","setTextValue","multiple","value","textValue","valueToItemMap","currentIndex","length","currentLength","onKeyDown","event","key","type","stopPropagation","preventDefault","currentItem","disabled","items","toString","isEmpty","_valueToItemMap$get","label"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../../src/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { KeyboardEvent, Dispatch } from 'react';\nimport React from 'react';\n\nimport { PathAction, PathState, FocusedPathAction, FocusedPathState } from '../reducers';\nimport type { ItemOptionTransformed } from '../ui/Inner/ui/Item/Item.types';\nimport { isEmpty } from '../../../../utils';\n\nimport { PathMapType, FocusedToValueMapType, ValueToItemMapType } from './getPathMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n Backspace: 'Backspace',\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\nexport const getItemByFocused = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ntype Props = {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleListToggle: (opened: boolean) => void;\n handlePressDown: (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => void;\n setTextValue: React.Dispatch<React.SetStateAction<string>>;\n multiple: boolean | undefined;\n value: string | string[];\n textValue: string;\n valueToItemMap: ValueToItemMapType;\n};\n\ntype 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 handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\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.key) {\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 handleListToggle(true);\n }\n\n if (path[0]) {\n event.stopPropagation();\n event.preventDefault();\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 handleListToggle(true);\n }\n\n if (path[0]) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (path[0]) {\n event.stopPropagation();\n event.preventDefault();\n\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 handleListToggle(false);\n }\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (path[0]) {\n event.stopPropagation();\n event.preventDefault();\n\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled) {\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\n break;\n }\n\n case keys.Enter: {\n event.preventDefault();\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap)!;\n\n if (currentItem?.disabled) {\n break;\n }\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (currentItem) {\n handlePressDown(currentItem);\n }\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n if (path[0]) {\n handleListToggle(false);\n }\n\n if (multiple) {\n setTextValue('');\n } else if (textValue !== value) {\n // Проверяем, отличается ли значение в инпуте от выбранного value после нажатия Tab/Enter.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\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 handleListToggle(true);\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 handleListToggle(true);\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","Backspace","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getItemByFocused","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleListToggle","handlePressDown","setTextValue","multiple","value","textValue","valueToItemMap","currentIndex","length","currentLength","onKeyDown","event","key","type","stopPropagation","preventDefault","currentItem","disabled","items","toString","isEmpty","_valueToItemMap$get","label"],"mappings":"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"}
@@ -32,13 +32,13 @@
32
32
 
33
33
  .IconRoot_7pl7ig_svvlqhf__32c458a1{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:var(--svvlqhf-0);height:var(--svvlqhf-0);-webkit-flex:0 0 var(--svvlqhf-0);-ms-flex:0 0 var(--svvlqhf-0);flex:0 0 var(--svvlqhf-0);}
34
34
 
35
- .Combobox_styles_isfa46_lxiiees__91df7bfb{width:var(--lxiiees-0);padding:calc(var(--plasma-combobox-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-combobox-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
36
- .Combobox_styles_isfa46_u1veo3wn__91df7bfb{max-height:var(--u1veo3wn-0);overflow-y:var(--u1veo3wn-1);border-radius:calc(var(--plasma-combobox-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}.Combobox_styles_isfa46_u1veo3wn__91df7bfb .Combobox_styles_isfa46_comboboxEmptyStateWrapper__91df7bfb{box-shadow:none;}
37
- .Combobox_styles_isfa46_i1hxiinv__91df7bfb{line-height:0;color:var(--plasma-combobox-disclosure-icon-color);cursor:var(--i1hxiinv-0);}.Combobox_styles_isfa46_i1hxiinv__91df7bfb .Combobox_styles_isfa46_arrowInverse__91df7bfb{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg);}.Combobox_styles_isfa46_i1hxiinv__91df7bfb:hover,.Combobox_styles_isfa46_i1hxiinv__91df7bfb:active{color:var(--i1hxiinv-1);}
38
- .Combobox_styles_isfa46_sr87xox__91df7bfb{width:var(--sr87xox-0);height:var(--sr87xox-0);}
35
+ .Combobox_styles_261unw_lxiiees__2c339479{width:var(--lxiiees-0);padding:calc(var(--plasma-combobox-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-combobox-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
36
+ .Combobox_styles_261unw_u1veo3wn__2c339479{max-height:var(--u1veo3wn-0);overflow-x:hidden;overflow-y:var(--u1veo3wn-1);border-radius:calc(var(--plasma-combobox-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}.Combobox_styles_261unw_u1veo3wn__2c339479 .Combobox_styles_261unw_comboboxEmptyStateWrapper__2c339479{box-shadow:none;}
37
+ .Combobox_styles_261unw_i1hxiinv__2c339479{line-height:0;color:var(--plasma-combobox-disclosure-icon-color);cursor:var(--i1hxiinv-0);}.Combobox_styles_261unw_i1hxiinv__2c339479 .Combobox_styles_261unw_arrowInverse__2c339479{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg);}.Combobox_styles_261unw_i1hxiinv__2c339479:hover,.Combobox_styles_261unw_i1hxiinv__2c339479:active{color:var(--i1hxiinv-1);}
38
+ .Combobox_styles_261unw_sr87xox__2c339479{width:var(--sr87xox-0);height:var(--sr87xox-0);}
39
39
 
40
- .Combobox_styles_isfa46_spp7ogj__91df7bfb{--plasma-emptystate-border-radius:var(--plasma-combobox-new-textfield-border-radius);--plasma-emptystate-padding:var(--plasma-combobox-new-empty-state-padding);--plasma-emptystate-font-family:var(--plasma-combobox-new-textfield-font-family);--plasma-emptystate-font-size:var(--plasma-combobox-new-textfield-font-size);--plasma-emptystate-font-style:var(--plasma-combobox-new-textfield-font-style);--plasma-emptystate-font-weight:var(--plasma-combobox-new-textfield-font-weight);--plasma-emptystate-font-letter-spacing:var(--plasma-combobox-new-textfield-letter-spacing);--plasma-emptystate-font-line-height:var(--plasma-combobox-new-textfield-line-height);}
41
- .Combobox_styles_isfa46_s3gft12__91df7bfb{margin:0;padding:0;}
40
+ .Combobox_styles_261unw_spp7ogj__2c339479{--plasma-emptystate-border-radius:var(--plasma-combobox-new-textfield-border-radius);--plasma-emptystate-padding:var(--plasma-combobox-new-empty-state-padding);--plasma-emptystate-font-family:var(--plasma-combobox-new-textfield-font-family);--plasma-emptystate-font-size:var(--plasma-combobox-new-textfield-font-size);--plasma-emptystate-font-style:var(--plasma-combobox-new-textfield-font-style);--plasma-emptystate-font-weight:var(--plasma-combobox-new-textfield-font-weight);--plasma-emptystate-font-letter-spacing:var(--plasma-combobox-new-textfield-letter-spacing);--plasma-emptystate-font-line-height:var(--plasma-combobox-new-textfield-line-height);}
41
+ .Combobox_styles_261unw_s3gft12__2c339479{margin:0;padding:0;}
42
42
 
43
43
  .base_tj850e_b17hdes8__1acafc30 input[type='checkbox']:indeterminate + .base_tj850e_shwv1in__1acafc30 .base_tj850e_s1u3nd7e__1acafc30{background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-trigger-border-checked-color);}.base_tj850e_b17hdes8__1acafc30 input:checked + .base_tj850e_shwv1in__1acafc30 .base_tj850e_s1u3nd7e__1acafc30{background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-trigger-border-checked-color);}
44
44
 
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useRef } from 'react';
2
2
  import { FloatingPopover } from '../../FloatingPopover.js';
3
3
  import { ListWrapper, Ul } from '../../Combobox.styles.js';
4
4
  import { safeUseId } from '../../../../../utils/react.js';
@@ -11,7 +11,8 @@ var Inner = function Inner(_ref) {
11
11
  path = _ref.path,
12
12
  dispatchPath = _ref.dispatchPath,
13
13
  index = _ref.index,
14
- listWidth = _ref.listWidth;
14
+ listWidth = _ref.listWidth,
15
+ portal = _ref.portal;
15
16
  var handleToggle = function handleToggle(opened) {
16
17
  if (opened) {
17
18
  dispatchPath({
@@ -26,6 +27,7 @@ var Inner = function Inner(_ref) {
26
27
  });
27
28
  }
28
29
  };
30
+ var listWrapperRef = useRef(null);
29
31
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
30
32
  var treeId = safeUseId();
31
33
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
@@ -46,13 +48,16 @@ var Inner = function Inner(_ref) {
46
48
  ariaLevel: nextLevel,
47
49
  ariaLabel: item.label
48
50
  }),
49
- isInner: true
51
+ isInner: true,
52
+ portal: portal
50
53
  }, /*#__PURE__*/React.createElement(ListWrapper, {
51
- listWidth: listWidth
54
+ listWidth: listWidth,
55
+ ref: listWrapperRef
52
56
  }, /*#__PURE__*/React.createElement(Ul, {
53
57
  role: "group",
54
58
  id: listId,
55
- virtual: false
59
+ virtual: false,
60
+ listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
56
61
  }, (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.map(function (innerItem, innerIndex) {
57
62
  return /*#__PURE__*/React.createElement(Inner, {
58
63
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -61,7 +66,8 @@ var Inner = function Inner(_ref) {
61
66
  path: path,
62
67
  dispatchPath: dispatchPath,
63
68
  index: innerIndex,
64
- listWidth: listWidth
69
+ listWidth: listWidth,
70
+ portal: listWrapperRef
65
71
  });
66
72
  }))));
67
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Inner.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/Inner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { isEmpty } from '../../../../../utils';\nimport { Ul, ListWrapper } from '../../Combobox.styles';\n\nimport type { ItemOptionTransformed } from './ui/Item/Item.types';\nimport { Item } from './ui';\nimport { InnerProps } from './Inner.type';\n\nexport const Inner: FC<InnerProps> = ({ item, currentLevel, path, dispatchPath, index, listWidth }) => {\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 (!isEmpty(item?.items)) {\n return (\n <FloatingPopover\n placement={item?.placement || 'right-start'}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n target={\n <Item\n item={item}\n path={path}\n currentLevel={currentLevel}\n index={index}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n >\n <ListWrapper listWidth={listWidth}>\n <Ul role=\"group\" id={listId} virtual={false}>\n {item.items?.map((innerItem: ItemOptionTransformed, innerIndex: number) => (\n <Inner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <Item item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n"],"names":["Inner","_ref","item","currentLevel","path","dispatchPath","index","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","isEmpty","items","_item$items","React","createElement","FloatingPopover","placement","onToggle","target","Item","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","Ul","role","id","virtual","map","innerItem","innerIndex","key"],"mappings":"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"}
1
+ {"version":3,"file":"Inner.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/Inner.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { isEmpty } from '../../../../../utils';\nimport { Ul, ListWrapper } from '../../Combobox.styles';\n\nimport type { ItemOptionTransformed } from './ui/Item/Item.types';\nimport { Item } from './ui';\nimport { InnerProps } from './Inner.type';\n\nexport const Inner: FC<InnerProps> = ({ item, currentLevel, path, dispatchPath, index, listWidth, portal }) => {\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 (!isEmpty(item?.items)) {\n return (\n <FloatingPopover\n placement={item?.placement || 'right-start'}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n target={\n <Item\n item={item}\n path={path}\n currentLevel={currentLevel}\n index={index}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n portal={portal}\n >\n <ListWrapper listWidth={listWidth} ref={listWrapperRef}>\n <Ul role=\"group\" id={listId} virtual={false} listMaxHeight={item?.listMaxHeight}>\n {item.items?.map((innerItem: ItemOptionTransformed, innerIndex: number) => (\n <Inner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <Item item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n"],"names":["Inner","_ref","item","currentLevel","path","dispatchPath","index","listWidth","portal","handleToggle","opened","type","value","toString","level","listWrapperRef","useRef","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","isEmpty","items","_item$items","React","createElement","FloatingPopover","placement","onToggle","target","Item","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","ref","Ul","role","id","virtual","listMaxHeight","map","innerItem","innerIndex","key"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- .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);}
2
- .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;}
1
+ .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);}
2
+ .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;}
3
3
 
4
4
 
5
5
  .DropdownDivider_styles_v3xor1_s1brpi5d__3a791565{background:var(--plasma-dropdown-divider-color);width:var(--plasma-dropdown-divider-width);height:var(--plasma-dropdown-divider-height);margin:var(--plasma-dropdown-divider-margin-top) var(--plasma-dropdown-divider-margin-right) var(--plasma-dropdown-divider-margin-bottom) var(--plasma-dropdown-divider-margin-left);}
@@ -1,5 +1,5 @@
1
- .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);}
2
- .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;}
1
+ .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);}
2
+ .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;}
3
3
 
4
4
 
5
5
  .DropdownDivider_styles_v3xor1_s1brpi5d__3a791565{background:var(--plasma-dropdown-divider-color);width:var(--plasma-dropdown-divider-width);height:var(--plasma-dropdown-divider-height);margin:var(--plasma-dropdown-divider-margin-top) var(--plasma-dropdown-divider-margin-right) var(--plasma-dropdown-divider-margin-bottom) var(--plasma-dropdown-divider-margin-left);}
@@ -1,5 +1,5 @@
1
- .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);}
2
- .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;}
1
+ .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);}
2
+ .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;}
3
3
 
4
4
 
5
5
  .DropdownDivider_styles_v3xor1_s1brpi5d__3a791565{background:var(--plasma-dropdown-divider-color);width:var(--plasma-dropdown-divider-width);height:var(--plasma-dropdown-divider-height);margin:var(--plasma-dropdown-divider-margin-top) var(--plasma-dropdown-divider-margin-right) var(--plasma-dropdown-divider-margin-bottom) var(--plasma-dropdown-divider-margin-left);}
@@ -1,5 +1,5 @@
1
- .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);}
2
- .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;}
1
+ .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);}
2
+ .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;}
3
3
 
4
4
 
5
5
  .DropdownDivider_styles_v3xor1_s1brpi5d__3a791565{background:var(--plasma-dropdown-divider-color);width:var(--plasma-dropdown-divider-width);height:var(--plasma-dropdown-divider-height);margin:var(--plasma-dropdown-divider-margin-top) var(--plasma-dropdown-divider-margin-right) var(--plasma-dropdown-divider-margin-bottom) var(--plasma-dropdown-divider-margin-left);}
@@ -1,5 +1,5 @@
1
- .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);}
2
- .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;}
1
+ .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);}
2
+ .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;}
3
3
 
4
4
 
5
5
  .DropdownDivider_styles_v3xor1_s1brpi5d__3a791565{background:var(--plasma-dropdown-divider-color);width:var(--plasma-dropdown-divider-width);height:var(--plasma-dropdown-divider-height);margin:var(--plasma-dropdown-divider-margin-top) var(--plasma-dropdown-divider-margin-right) var(--plasma-dropdown-divider-margin-bottom) var(--plasma-dropdown-divider-margin-left);}
@@ -58,6 +58,18 @@ var useDrawer = function useDrawer(_ref) {
58
58
  document.body.style.overflow = overflow.current;
59
59
  }
60
60
  }, [isOpen, popupController.items]);
61
+
62
+ // При анмаунте компонента нужно обновлять overflow у body.
63
+ useEffect(function () {
64
+ return function () {
65
+ if (!canUseDOM) {
66
+ return;
67
+ }
68
+ if (!hasDrawers(Array.from(popupController.items.values()))) {
69
+ document.body.style.overflow = overflow.current;
70
+ }
71
+ };
72
+ }, []);
61
73
  var drawerInfo = _objectSpread2({
62
74
  id: id,
63
75
  info: {
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (\n event.keyCode === ESCAPE_KEYCODE &&\n getIdLastDrawer(Array.from(popupController.items.values())) === id\n ) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(Array.from(popupController.items.values()))) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","Array","from","items","values","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
1
+ {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (\n event.keyCode === ESCAPE_KEYCODE &&\n getIdLastDrawer(Array.from(popupController.items.values())) === id\n ) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(Array.from(popupController.items.values()))) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n // При анмаунте компонента нужно обновлять overflow у body.\n useEffect(() => {\n return () => {\n if (!canUseDOM) {\n return;\n }\n\n if (!hasDrawers(Array.from(popupController.items.values()))) {\n document.body.style.overflow = overflow.current;\n }\n };\n }, []);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","Array","from","items","values","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
@@ -46,6 +46,6 @@
46
46
  .Dropdown_styles_3w3l45_s1rwu6ky__59648b20 .Dropdown_styles_3w3l45_popoverTarget__59648b20{display:block;}
47
47
  .Dropdown_styles_3w3l45_s10jhp3l__59648b20{box-sizing:border-box;background:var(--plasma-dropdown-background);box-shadow:var(--plasma-dropdown-box-shadow);border-radius:var(--plasma-dropdown-border-radius);width:var(--plasma-dropdown-width);height:var(--plasma-dropdown-height);padding:var(--plasma-dropdown-padding-top) var(--plasma-dropdown-padding-right) var(--plasma-dropdown-padding-bottom) var(--plasma-dropdown-padding-left);}
48
48
 
49
- .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);}
50
- .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;}
49
+ .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);}
50
+ .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;}
51
51
 
@@ -19,7 +19,7 @@ import { getPlacement } from './utils/getPlacement.js';
19
19
  import { getItemId } from './utils/getItemId.js';
20
20
  import { DropdownInner } from './ui/DropdownInner/DropdownInner.js';
21
21
 
22
- var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listMaxHeight", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "openByRightClick", "variant", "hasArrow", "alwaysOpened", "portal", "renderItem", "zIndex", "beforeList", "afterList"];
22
+ var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listMaxHeight", "listWidth", "listHeight", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "openByRightClick", "variant", "hasArrow", "alwaysOpened", "portal", "renderItem", "zIndex", "beforeList", "afterList"];
23
23
 
24
24
  /**
25
25
  * Выпадающий список.
@@ -42,7 +42,6 @@ var dropdownRoot = function dropdownRoot(Root) {
42
42
  listMaxHeight = _ref.listMaxHeight,
43
43
  listWidth = _ref.listWidth,
44
44
  listHeight = _ref.listHeight,
45
- listOverflow = _ref.listOverflow,
46
45
  _ref$closeOnSelect = _ref.closeOnSelect,
47
46
  closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect,
48
47
  onHover = _ref.onHover,
@@ -80,6 +79,7 @@ var dropdownRoot = function dropdownRoot(Root) {
80
79
  focusedToValueMap = _useHashMaps2[1];
81
80
  var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
82
81
  var floatingPopoverRef = useRef(null);
82
+ var listWrapperRef = useRef(null);
83
83
  var treeId = safeUseId();
84
84
 
85
85
  // Логика работы при клике за пределами выпадающего списка
@@ -171,17 +171,14 @@ var dropdownRoot = function dropdownRoot(Root) {
171
171
  className: cx(className, classes.dropdownRoot),
172
172
  ref: ref,
173
173
  view: view,
174
- size: size,
175
- style: {
176
- display: 'inline-block'
177
- }
174
+ size: size
178
175
  }, rest), /*#__PURE__*/React.createElement(ListWrapper, {
176
+ ref: listWrapperRef,
179
177
  listWidth: listWidth
180
178
  }, /*#__PURE__*/React.createElement(Ul, {
181
179
  ref: targetRef,
182
180
  id: "".concat(treeId, "_tree_level_1"),
183
181
  role: "tree",
184
- listOverflow: listOverflow,
185
182
  listMaxHeight: listMaxHeight || listHeight
186
183
  }, beforeList, items.map(function (item, index) {
187
184
  return /*#__PURE__*/React.createElement(DropdownInner, {
@@ -192,9 +189,8 @@ var dropdownRoot = function dropdownRoot(Root) {
192
189
  path: path,
193
190
  dispatchPath: dispatchPath,
194
191
  index: index,
195
- listOverflow: listOverflow,
196
- listMaxHeight: listMaxHeight || listHeight,
197
- listWidth: listWidth
192
+ listWidth: listWidth,
193
+ portal: listWrapperRef
198
194
  });
199
195
  }), afterList)))));
200
196
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useReducer, useRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base, ListWrapper } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\nimport { Context } from './Dropdown.context';\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listMaxHeight,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n openByRightClick = false,\n variant = 'normal',\n hasArrow = true,\n alwaysOpened = false,\n portal,\n renderItem,\n zIndex,\n beforeList,\n afterList,\n ...rest\n },\n ref,\n ) => {\n const initialPath = alwaysOpened ? ['root'] : [];\n\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const isCurrentListOpen = Boolean(path[0]);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (alwaysOpened || 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, event);\n }\n };\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n\n if (alwaysOpened) {\n return;\n }\n\n handleGlobalToggle(!isCurrentListOpen, e);\n },\n [handleGlobalToggle, isCurrentListOpen, alwaysOpened],\n );\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n renderItem,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n onContextMenu: openByRightClick ? onContextMenu : undefined,\n })}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n style={{ display: 'inline-block' }}\n {...rest}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n >\n {beforeList}\n\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n listWidth={listWidth}\n />\n ))}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","_getItemByFocused","items","children","placement","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listMaxHeight","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$openByRightClick","openByRightClick","_ref$variant","variant","_ref$hasArrow","hasArrow","_ref$alwaysOpened","alwaysOpened","portal","renderItem","zIndex","beforeList","afterList","rest","_objectWithoutProperties","_excluded","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","isCurrentListOpen","Boolean","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","type","handleGlobalToggle","opened","onContextMenu","useCallback","e","preventDefault","_useKeyNavigation","useKeyNavigation","onKeyDown","React","createElement","Context","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","concat","getItemId","toString","undefined","isInner","_extends","cx","classes","style","display","ListWrapper","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useReducer, useRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base, ListWrapper } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\nimport { Context } from './Dropdown.context';\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listMaxHeight,\n listWidth,\n listHeight,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n openByRightClick = false,\n variant = 'normal',\n hasArrow = true,\n alwaysOpened = false,\n portal,\n renderItem,\n zIndex,\n beforeList,\n afterList,\n ...rest\n },\n ref,\n ) => {\n const initialPath = alwaysOpened ? ['root'] : [];\n\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const isCurrentListOpen = Boolean(path[0]);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (alwaysOpened || 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, event);\n }\n };\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n\n if (alwaysOpened) {\n return;\n }\n\n handleGlobalToggle(!isCurrentListOpen, e);\n },\n [handleGlobalToggle, isCurrentListOpen, alwaysOpened],\n );\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n renderItem,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n onContextMenu: openByRightClick ? onContextMenu : undefined,\n })}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n {...rest}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listMaxHeight={listMaxHeight || listHeight}\n >\n {beforeList}\n\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\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 );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","_getItemByFocused","items","children","placement","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listMaxHeight","listWidth","listHeight","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$openByRightClick","openByRightClick","_ref$variant","variant","_ref$hasArrow","hasArrow","_ref$alwaysOpened","alwaysOpened","portal","renderItem","zIndex","beforeList","afterList","rest","_objectWithoutProperties","_excluded","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","isCurrentListOpen","Boolean","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","listWrapperRef","treeId","safeUseId","targetRef","useOutsideClick","event","type","handleGlobalToggle","opened","onContextMenu","useCallback","e","preventDefault","_useKeyNavigation","useKeyNavigation","onKeyDown","React","createElement","Context","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","concat","getItemId","toString","undefined","isInner","_extends","cx","classes","ListWrapper","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import './Dropdown.styles_zheit5.css';
1
+ import './Dropdown.styles_kkvnr1.css';
2
2
  import { styled } from '@linaria/react';
3
3
  import { getCorrectHeight } from './utils/index.js';
4
4
  import { tokens } from './Dropdown.tokens.js';
@@ -23,19 +23,12 @@ var _exp9 = function _exp9() {
23
23
  return listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto';
24
24
  };
25
25
  };
26
- var _exp10 = function _exp10() {
27
- return function (_ref3) {
28
- var listOverflow = _ref3.listOverflow;
29
- return listOverflow || 'visible';
30
- };
31
- };
32
26
  var Ul = /*#__PURE__*/styled('ul')({
33
27
  name: "Ul",
34
28
  "class": "ujr7fmv",
35
29
  propsAsIs: false,
36
30
  vars: {
37
- "ujr7fmv-0": [/*#__PURE__*/_exp9()],
38
- "ujr7fmv-1": [/*#__PURE__*/_exp10()]
31
+ "ujr7fmv-0": [/*#__PURE__*/_exp9()]
39
32
  }
40
33
  });
41
34
  var base = "byfocd2";
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.styles.js","sources":["../../../src/components/Dropdown/Dropdown.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { getCorrectHeight } from './utils';\nimport { DropdownProps } from './Dropdown.types';\nimport { tokens, constants } from './Dropdown.tokens';\n\nexport const ListWrapper = styled.div<{\n listWidth?: DropdownProps['listWidth'];\n}>`\n width: ${({ listWidth }) => listWidth || `var(${tokens.width})`};\n padding: calc(var(${tokens.padding}) + var(${tokens.borderWidth}, 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.borderWidth}, 0) var(${tokens.borderColor}, transparent);\n`;\n\nexport const Ul = styled.ul<{\n listMaxHeight: DropdownProps['listHeight'];\n listOverflow: DropdownProps['listOverflow'];\n}>`\n max-height: ${({ listMaxHeight }) => (listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto')};\n overflow-y: ${({ listOverflow }) => listOverflow || 'visible'};\n border-radius: calc(var(${tokens.borderRadius}) - 0.125rem - var(${tokens.borderWidth}, 0rem));\n margin: 0;\n padding: 0;\n`;\n\nexport const base = css``;\n"],"names":["_exp","_ref","listWidth","concat","tokens","width","ListWrapper","styled","name","class","propsAsIs","vars","_exp9","_ref2","listMaxHeight","getCorrectHeight","_exp10","_ref3","listOverflow","Ul","base"],"mappings":";;;;AAKsD,IAAAA,IAAA,GAJpCA,SAIoCA,IAAAA,GAAA;AAAA,EAAA,OAKzC,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;AAAAA,IAAAA,OAAgBA,SAAS,IAAAC,MAAAA,CAAAA,MAAA,CAAWC,MAAM,CAACC,KAAK,EAAG,GAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAH5D,IAAMC,WAAW,gBAAGC,MAAM,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,cAGpBX,IAAsD,EAAA,CAAA;AAAA,GAAA;AAAA,CAOlE,EAAA;AAAC,IAAAY,KAAA,GAhBgBA,SAgBhBA,KAAAA,GAAA;AAAA,EAAA,OAMgB,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,aAAAA,GAAAA,KAAAA,CAAAA,aAAAA,CAAAA;AAAAA,IAAAA,OAAqBA,aAAa,GAAGC,gBAAgB,CAACD,aAAa,CAAC,GAAG,MAAO,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAE,MAAA,GAtBjFA,SAsBiFA,MAAAA,GAAA;AAAA,EAAA,OACjF,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,YAAAA,GAAAA,KAAAA,CAAAA,YAAAA,CAAAA;IAAAA,OAAmBA,YAAY,IAAI,SAAS,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAL1D,IAAMC,EAAE,gBAAGZ,MAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,IAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAINC,KAAiF,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cACjFI,MAA+C,EAAA,CAAA;AAAA,GAAA;AAAA,CAIhE,EAAA;AAEM,IAAMI,IAAI,GAAQ;;;;"}
1
+ {"version":3,"file":"Dropdown.styles.js","sources":["../../../src/components/Dropdown/Dropdown.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { getCorrectHeight } from './utils';\nimport { DropdownProps } from './Dropdown.types';\nimport { tokens, constants } from './Dropdown.tokens';\n\nexport const ListWrapper = styled.div<{\n listWidth?: DropdownProps['listWidth'];\n}>`\n width: ${({ listWidth }) => listWidth || `var(${tokens.width})`};\n padding: calc(var(${tokens.padding}) + var(${tokens.borderWidth}, 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.borderWidth}, 0) var(${tokens.borderColor}, transparent);\n`;\n\nexport const Ul = styled.ul<{\n listMaxHeight: DropdownProps['listHeight'];\n}>`\n max-height: ${({ listMaxHeight }) => (listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto')};\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: calc(var(${tokens.borderRadius}) - 0.125rem - var(${tokens.borderWidth}, 0rem));\n margin: 0;\n padding: 0;\n`;\n\nexport const base = css``;\n"],"names":["_exp","_ref","listWidth","concat","tokens","width","ListWrapper","styled","name","class","propsAsIs","vars","_exp9","_ref2","listMaxHeight","getCorrectHeight","Ul","base"],"mappings":";;;;AAKsD,IAAAA,IAAA,GAJpCA,SAIoCA,IAAAA,GAAA;AAAA,EAAA,OAKzC,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;AAAAA,IAAAA,OAAgBA,SAAS,IAAAC,MAAAA,CAAAA,MAAA,CAAWC,MAAM,CAACC,KAAK,EAAG,GAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAH5D,IAAMC,WAAW,gBAAGC,MAAM,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,cAGpBX,IAAsD,EAAA,CAAA;AAAA,GAAA;AAAA,CAOlE,EAAA;AAAC,IAAAY,KAAA,GAhBgBA,SAgBhBA,KAAAA,GAAA;AAAA,EAAA,OAKgB,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,aAAAA,GAAAA,KAAAA,CAAAA,aAAAA,CAAAA;AAAAA,IAAAA,OAAqBA,aAAa,GAAGC,gBAAgB,CAACD,aAAa,CAAC,GAAG,MAAO,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAH5F,IAAME,EAAE,gBAAGT,MAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,IAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAGNC,KAAiF,EAAA,CAAA;AAAA,GAAA;AAAA,CAMlG,EAAA;AAEM,IAAMK,IAAI,GAAQ;;;;"}
@@ -1,3 +1,3 @@
1
1
  .ln7uamp{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);}
2
- .ujr7fmv{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;}
2
+ .ujr7fmv{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;}
3
3
 
@@ -171,13 +171,9 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
171
171
  case keys.Tab:
172
172
  case keys.Escape:
173
173
  {
174
- dispatchFocusedPath({
175
- type: 'reset'
176
- });
177
- dispatchPath({
178
- type: 'reset'
179
- });
180
- handleGlobalToggle(false, event);
174
+ if (path[0]) {
175
+ handleGlobalToggle(false, event);
176
+ }
181
177
  break;
182
178
  }
183
179
  case keys.Home: