@salutejs/plasma-new-hope 0.336.0-canary.2214.17542835950.0 → 0.336.0-canary.2214.17668000726.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 (254) hide show
  1. package/cjs/components/Combobox/ComboboxNew/Combobox.css +6 -6
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.js +30 -24
  3. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  4. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
  5. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  6. package/cjs/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
  7. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  8. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  10. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
  12. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -5
  13. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  14. package/cjs/components/Combobox/ComboboxOld/Combobox.css +2 -2
  15. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  16. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  17. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  18. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  19. package/cjs/components/Drawer/hooks/useDrawer.js +12 -0
  20. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  21. package/cjs/components/Dropdown/Dropdown.css +2 -2
  22. package/cjs/components/Dropdown/Dropdown.js +6 -10
  23. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  24. package/cjs/components/Dropdown/Dropdown.styles.js +2 -9
  25. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  26. package/{es/components/Dropdown/Dropdown.styles_zheit5.css → cjs/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  27. package/cjs/components/Dropdown/FloatingPopover.js +22 -40
  28. package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
  29. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  30. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  31. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  32. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -9
  33. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  34. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  35. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  36. package/cjs/components/Pagination/Pagination.css +2 -2
  37. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  38. package/cjs/components/Select/Select.css +2 -2
  39. package/cjs/components/Select/Select.js +12 -4
  40. package/cjs/components/Select/Select.js.map +1 -1
  41. package/cjs/components/Select/Select.styles.js +3 -4
  42. package/cjs/components/Select/Select.styles.js.map +1 -1
  43. package/cjs/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
  44. package/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  45. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  46. package/cjs/components/Select/ui/Inner/Inner.css +2 -2
  47. package/cjs/components/Select/ui/Inner/Inner.js +11 -5
  48. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  49. package/cjs/components/Table/Table.css +2 -2
  50. package/cjs/components/Table/ui/Cell/Cell.css +2 -2
  51. package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
  52. package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
  53. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  54. package/cjs/components/Tree/Tree.css +7 -7
  55. package/cjs/components/Tree/Tree.styles.js +2 -2
  56. package/cjs/components/Tree/Tree.styles.js.map +1 -1
  57. package/{es/components/Tree/Tree.styles_104kkxh.css → cjs/components/Tree/Tree.styles_17sq2sw.css} +1 -1
  58. package/cjs/engines/common.js +11 -1
  59. package/cjs/engines/common.js.map +1 -1
  60. package/cjs/index.css +17 -17
  61. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +26 -23
  62. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  63. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  64. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  65. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  66. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +11 -0
  67. package/emotion/cjs/components/Dropdown/Dropdown.js +6 -10
  68. package/emotion/cjs/components/Dropdown/Dropdown.styles.js +5 -8
  69. package/emotion/cjs/components/Dropdown/FloatingPopover.js +23 -47
  70. package/emotion/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  71. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  72. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  73. package/emotion/cjs/components/Select/Select.js +10 -3
  74. package/emotion/cjs/components/Select/Select.styles.js +8 -8
  75. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  76. package/emotion/cjs/components/Select/ui/Inner/Inner.js +50 -9
  77. package/emotion/cjs/components/Tree/Tree.styles.js +15 -15
  78. package/emotion/cjs/engines/common.js +14 -1
  79. package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
  80. package/emotion/cjs/examples/components/Tree/Tree.config.js +5 -5
  81. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +26 -23
  82. package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  83. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  84. package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  85. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  86. package/emotion/es/components/Drawer/hooks/useDrawer.js +11 -0
  87. package/emotion/es/components/Dropdown/Dropdown.js +6 -10
  88. package/emotion/es/components/Dropdown/Dropdown.styles.js +5 -8
  89. package/emotion/es/components/Dropdown/FloatingPopover.js +24 -48
  90. package/emotion/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  91. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  92. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  93. package/emotion/es/components/Select/Select.js +10 -3
  94. package/emotion/es/components/Select/Select.styles.js +8 -8
  95. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  96. package/emotion/es/components/Select/ui/Inner/Inner.js +11 -6
  97. package/emotion/es/components/Tree/Tree.styles.js +15 -15
  98. package/emotion/es/engines/common.js +14 -1
  99. package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
  100. package/emotion/es/examples/components/Tree/Tree.config.js +5 -5
  101. package/es/components/Combobox/ComboboxNew/Combobox.css +6 -6
  102. package/es/components/Combobox/ComboboxNew/Combobox.js +30 -24
  103. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  104. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
  105. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  106. package/es/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
  107. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  108. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  109. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  110. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  111. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
  112. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +12 -6
  113. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  114. package/es/components/Combobox/ComboboxOld/Combobox.css +2 -2
  115. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  116. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  117. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  118. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  119. package/es/components/Drawer/hooks/useDrawer.js +12 -0
  120. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  121. package/es/components/Dropdown/Dropdown.css +2 -2
  122. package/es/components/Dropdown/Dropdown.js +6 -10
  123. package/es/components/Dropdown/Dropdown.js.map +1 -1
  124. package/es/components/Dropdown/Dropdown.styles.js +2 -9
  125. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  126. package/{cjs/components/Dropdown/Dropdown.styles_zheit5.css → es/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  127. package/es/components/Dropdown/FloatingPopover.js +24 -42
  128. package/es/components/Dropdown/FloatingPopover.js.map +1 -1
  129. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  130. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  131. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  132. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +10 -10
  133. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  134. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  135. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  136. package/es/components/Pagination/Pagination.css +2 -2
  137. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  138. package/es/components/Select/Select.css +2 -2
  139. package/es/components/Select/Select.js +12 -4
  140. package/es/components/Select/Select.js.map +1 -1
  141. package/es/components/Select/Select.styles.js +3 -4
  142. package/es/components/Select/Select.styles.js.map +1 -1
  143. package/es/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
  144. package/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  145. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  146. package/es/components/Select/ui/Inner/Inner.css +2 -2
  147. package/es/components/Select/ui/Inner/Inner.js +12 -6
  148. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  149. package/es/components/Table/Table.css +2 -2
  150. package/es/components/Table/ui/Cell/Cell.css +2 -2
  151. package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
  152. package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
  153. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  154. package/es/components/Tree/Tree.css +7 -7
  155. package/es/components/Tree/Tree.styles.js +2 -2
  156. package/es/components/Tree/Tree.styles.js.map +1 -1
  157. package/{cjs/components/Tree/Tree.styles_104kkxh.css → es/components/Tree/Tree.styles_17sq2sw.css} +1 -1
  158. package/es/engines/common.js +12 -2
  159. package/es/engines/common.js.map +1 -1
  160. package/es/index.css +17 -17
  161. package/package.json +5 -5
  162. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +26 -23
  163. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  164. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  165. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  166. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  167. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +11 -0
  168. package/styled-components/cjs/components/Dropdown/Dropdown.js +6 -10
  169. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +3 -7
  170. package/styled-components/cjs/components/Dropdown/FloatingPopover.js +23 -47
  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 +10 -3
  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/components/Tree/Tree.styles.js +8 -8
  179. package/styled-components/cjs/engines/common.js +14 -1
  180. package/styled-components/cjs/examples/components/Tree/Tree.config.js +3 -1
  181. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +26 -23
  182. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  183. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  184. package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  185. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  186. package/styled-components/es/components/Drawer/hooks/useDrawer.js +11 -0
  187. package/styled-components/es/components/Dropdown/Dropdown.js +6 -10
  188. package/styled-components/es/components/Dropdown/Dropdown.styles.js +3 -7
  189. package/styled-components/es/components/Dropdown/FloatingPopover.js +24 -48
  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 +10 -3
  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/components/Tree/Tree.styles.js +8 -8
  198. package/styled-components/es/engines/common.js +14 -1
  199. package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
  200. package/styled-components/es/examples/components/Tree/Tree.config.js +3 -1
  201. package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -6
  202. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  203. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  204. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +0 -1
  205. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  206. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +1 -1
  207. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +13 -6
  208. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  209. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  210. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +2 -1
  211. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
  212. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +6 -2
  213. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  214. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  215. package/types/components/Dropdown/Dropdown.d.ts +6 -6
  216. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  217. package/types/components/Dropdown/Dropdown.styles.d.ts +0 -1
  218. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  219. package/types/components/Dropdown/Dropdown.types.d.ts +9 -9
  220. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  221. package/types/components/Dropdown/FloatingPopover.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/NumberFormat/NumberFormat.d.ts.map +1 -1
  228. package/types/components/NumberFormat/NumberFormat.types.d.ts +1 -1
  229. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +12 -6
  230. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  231. package/types/components/Select/Select.d.ts.map +1 -1
  232. package/types/components/Select/Select.styles.d.ts +0 -1
  233. package/types/components/Select/Select.styles.d.ts.map +1 -1
  234. package/types/components/Select/Select.types.d.ts +24 -10
  235. package/types/components/Select/Select.types.d.ts.map +1 -1
  236. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  237. package/types/components/Select/ui/Inner/Inner.type.d.ts +2 -1
  238. package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
  239. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +11 -3
  240. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  241. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +12 -6
  242. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  243. package/types/components/TextField/TextField.types.d.ts +2 -2
  244. package/types/engines/common.d.ts.map +1 -1
  245. package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
  246. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  247. package/types/examples/components/Combobox/Combobox.d.ts +48 -24
  248. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  249. package/types/examples/components/Dropdown/Dropdown.d.ts +3 -3
  250. package/types/examples/components/Dropdown/Dropdown.d.ts.map +1 -1
  251. package/types/examples/components/NumberFormat/NumberFormat.d.ts.map +1 -1
  252. package/types/examples/components/Select/Select.d.ts +12 -6
  253. package/types/examples/components/Select/Select.d.ts.map +1 -1
  254. package/types/examples/components/Tree/Tree.config.d.ts.map +1 -1
@@ -184,7 +184,7 @@ var DropdownItem = function(param) {
184
184
  };
185
185
  var handleHover = function() {
186
186
  if (onHover) {
187
- onHover(index);
187
+ onHover(index, item);
188
188
  }
189
189
  };
190
190
  return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, dividerBefore && /*#__PURE__*/ _react.default.createElement(_DropdownItemstyles.Divider, {
@@ -178,7 +178,7 @@ var selectRoot = function(Root) {
178
178
  return /*#__PURE__*/ (0, _react.forwardRef)(function(props, ref) {
179
179
  var _getItemByFocused;
180
180
  var // eslint-disable-block @typescript-eslint/ban-ts-comment
181
- id = props.id, outerValue = props.value, outerOnChange = props.onChange, _props_target = props.target, target = _props_target === void 0 ? 'textfield-like' : _props_target, items = props.items, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom' : _props_placement, label = props.label, labelPlacement = props.labelPlacement, placeholder = props.placeholder, helperText = props.helperText, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, outerView = props.view, size = props.size, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, contentLeft = props.contentLeft, onScrollBottom = props.onScrollBottom, onScroll = props.onScroll, chipView = props.chipView, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, portal = props.portal, renderValue = props.renderValue, renderItem = props.renderItem, status = props.status, onItemSelect = props.onItemSelect, separator = props.separator, outerCloseAfterSelect = props.closeAfterSelect, isTargetAmount = props.isTargetAmount, beforeList = props.beforeList, afterList = props.afterList, zIndex = props.zIndex, name = props.name, defaultValue = props.defaultValue, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, onToggle = props.onToggle, chipType = props.chipType, multiselect = props.multiselect, // @ts-ignore
181
+ id = props.id, outerValue = props.value, outerOnChange = props.onChange, _props_target = props.target, target = _props_target === void 0 ? 'textfield-like' : _props_target, items = props.items, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom' : _props_placement, label = props.label, labelPlacement = props.labelPlacement, placeholder = props.placeholder, helperText = props.helperText, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, outerView = props.view, size = props.size, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, contentLeft = props.contentLeft, onScrollBottom = props.onScrollBottom, onScroll = props.onScroll, chipView = props.chipView, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, portal = props.portal, renderValue = props.renderValue, renderItem = props.renderItem, status = props.status, onItemSelect = props.onItemSelect, separator = props.separator, outerCloseAfterSelect = props.closeAfterSelect, isTargetAmount = props.isTargetAmount, beforeList = props.beforeList, afterList = props.afterList, zIndex = props.zIndex, name = props.name, defaultValue = props.defaultValue, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, onToggle = props.onToggle, chipType = props.chipType, multiselect = props.multiselect, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, // @ts-ignore
182
182
  _offset = props._offset, // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.
183
183
  // @ts-ignore
184
184
  required = props.required, // @ts-ignore
@@ -234,6 +234,7 @@ var selectRoot = function(Root) {
234
234
  "onToggle",
235
235
  "chipType",
236
236
  "multiselect",
237
+ "mode",
237
238
  "_offset",
238
239
  "required",
239
240
  "requiredPlacement",
@@ -267,6 +268,7 @@ var selectRoot = function(Root) {
267
268
  var activeDescendantItemValue = ((_getItemByFocused = (0, _useKeyboardNavigation.getItemByFocused)(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
268
269
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
269
270
  var treeId = (0, _utils.safeUseId)();
271
+ var listWrapperRef = (0, _react.useRef)(null);
270
272
  var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : (0, _utils1.getView)(status, outerView);
271
273
  // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
272
274
  var requiredProps = props.target === 'button-like' ? undefined : {
@@ -396,6 +398,10 @@ var selectRoot = function(Root) {
396
398
  type: 'reset'
397
399
  });
398
400
  }
401
+ // Закрываем список, если элемент уже выбран.
402
+ if (mode === 'radio' && isCurrentChecked) {
403
+ return;
404
+ }
399
405
  if (onChange) {
400
406
  onChange(isCurrentChecked ? '' : item.value, item);
401
407
  }
@@ -553,12 +559,12 @@ var selectRoot = function(Root) {
553
559
  disabled: disabled,
554
560
  readOnly: readOnly
555
561
  }, rest), /*#__PURE__*/ _react.default.createElement(_Selectstyles.ListWrapper, {
562
+ ref: listWrapperRef,
556
563
  listWidth: listWidth
557
564
  }, /*#__PURE__*/ _react.default.createElement(_Selectstyles.Ul, {
558
565
  role: "tree",
559
566
  id: "".concat(treeId, "_tree_level_1"),
560
567
  "aria-multiselectable": Boolean(props.multiselect),
561
- listOverflow: listOverflow,
562
568
  listMaxHeight: listMaxHeight || listHeight,
563
569
  onScroll: virtual ? undefined : handleScroll,
564
570
  ref: targetRef,
@@ -579,7 +585,8 @@ var selectRoot = function(Root) {
579
585
  path: path,
580
586
  dispatchPath: dispatchPath,
581
587
  index: index,
582
- listWidth: listWidth
588
+ listWidth: listWidth,
589
+ portal: listWrapperRef
583
590
  });
584
591
  }), afterList))))));
585
592
  });
@@ -65,7 +65,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
65
65
  }
66
66
  var ListWrapper = _styledcomponents.default.div.withConfig({
67
67
  displayName: "Select.styles__ListWrapper",
68
- componentId: "sc-30266665-0"
68
+ componentId: "sc-3f8cf8d4-0"
69
69
  })([
70
70
  "width:",
71
71
  ";padding:calc(var(",
@@ -82,10 +82,10 @@ var ListWrapper = _styledcomponents.default.div.withConfig({
82
82
  }, _Selecttokens.tokens.padding, _Selecttokens.tokens.dropdownBorderWidth, _Selecttokens.tokens.borderRadius, _Selecttokens.constants.background, _Selecttokens.constants.boxShadow, _Selecttokens.tokens.dropdownBorderWidth, _Selecttokens.tokens.dropdownBorderColor);
83
83
  var Ul = _styledcomponents.default.ul.withConfig({
84
84
  displayName: "Select.styles__Ul",
85
- componentId: "sc-30266665-1"
85
+ componentId: "sc-3f8cf8d4-1"
86
86
  })([
87
87
  "max-height:",
88
- ";overflow-y:",
88
+ ";overflow-x:hidden;overflow-y:",
89
89
  ";border-radius:calc(var(",
90
90
  ") - 0.125rem - var(",
91
91
  ",0rem));margin:0;padding:0;"
@@ -94,8 +94,8 @@ var Ul = _styledcomponents.default.ul.withConfig({
94
94
  return(// eslint-disable-next-line no-nested-ternary
95
95
  virtual ? 'auto' : listMaxHeight ? (0, _utils.getCorrectHeight)(listMaxHeight) : 'auto');
96
96
  }, function(param) {
97
- var virtual = param.virtual, listOverflow = param.listOverflow;
98
- return virtual ? 'visible' : listOverflow || 'visible';
97
+ var virtual = param.virtual;
98
+ return virtual ? 'visible' : 'auto';
99
99
  }, _Selecttokens.tokens.borderRadius, _Selecttokens.tokens.dropdownBorderWidth);
100
100
  var base = (0, _styledcomponents.css)([
101
101
  ""
@@ -198,13 +198,9 @@ var useKeyNavigation = function(param) {
198
198
  case keys.Tab:
199
199
  case keys.Escape:
200
200
  {
201
- dispatchFocusedPath({
202
- type: 'reset'
203
- });
204
- dispatchPath({
205
- type: 'reset'
206
- });
207
- handleListToggle(false);
201
+ if (path[0]) {
202
+ handleListToggle(false);
203
+ }
208
204
  break;
209
205
  }
210
206
  case keys.Home:
@@ -8,18 +8,54 @@ Object.defineProperty(exports, "Inner", {
8
8
  return Inner;
9
9
  }
10
10
  });
11
- var _react = /*#__PURE__*/ _interop_require_default(require("react"));
11
+ var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
12
  var _utils = require("../../../../utils");
13
13
  var _Selectstyles = require("../../Select.styles");
14
14
  var _FloatingPopover = require("../../FloatingPopover");
15
15
  var _Item = require("./ui/Item/Item");
16
- function _interop_require_default(obj) {
17
- return obj && obj.__esModule ? obj : {
18
- default: obj
16
+ function _getRequireWildcardCache(nodeInterop) {
17
+ if (typeof WeakMap !== "function") return null;
18
+ var cacheBabelInterop = new WeakMap();
19
+ var cacheNodeInterop = new WeakMap();
20
+ return (_getRequireWildcardCache = function(nodeInterop) {
21
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
22
+ })(nodeInterop);
23
+ }
24
+ function _interop_require_wildcard(obj, nodeInterop) {
25
+ if (!nodeInterop && obj && obj.__esModule) {
26
+ return obj;
27
+ }
28
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
29
+ return {
30
+ default: obj
31
+ };
32
+ }
33
+ var cache = _getRequireWildcardCache(nodeInterop);
34
+ if (cache && cache.has(obj)) {
35
+ return cache.get(obj);
36
+ }
37
+ var newObj = {
38
+ __proto__: null
19
39
  };
40
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
41
+ for(var key in obj){
42
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
43
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
44
+ if (desc && (desc.get || desc.set)) {
45
+ Object.defineProperty(newObj, key, desc);
46
+ } else {
47
+ newObj[key] = obj[key];
48
+ }
49
+ }
50
+ }
51
+ newObj.default = obj;
52
+ if (cache) {
53
+ cache.set(obj, newObj);
54
+ }
55
+ return newObj;
20
56
  }
21
57
  var Inner = function(param) {
22
- var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth;
58
+ var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth, portal = param.portal;
23
59
  var handleToggle = function(opened) {
24
60
  if (opened) {
25
61
  dispatchPath({
@@ -34,6 +70,7 @@ var Inner = function(param) {
34
70
  });
35
71
  }
36
72
  };
73
+ var listWrapperRef = (0, _react.useRef)(null);
37
74
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
38
75
  var treeId = (0, _utils.safeUseId)();
39
76
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
@@ -54,13 +91,16 @@ var Inner = function(param) {
54
91
  ariaLevel: nextLevel,
55
92
  ariaLabel: item.label
56
93
  }),
57
- isInner: true
94
+ isInner: true,
95
+ portal: portal
58
96
  }, /*#__PURE__*/ _react.default.createElement(_Selectstyles.ListWrapper, {
59
- listWidth: listWidth
97
+ listWidth: listWidth,
98
+ ref: listWrapperRef
60
99
  }, /*#__PURE__*/ _react.default.createElement(_Selectstyles.Ul, {
61
100
  role: "group",
62
101
  id: listId,
63
- virtual: false
102
+ virtual: false,
103
+ listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
64
104
  }, (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.map(function(innerItem, innerIndex) {
65
105
  return /*#__PURE__*/ _react.default.createElement(Inner, {
66
106
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -69,7 +109,8 @@ var Inner = function(param) {
69
109
  path: path,
70
110
  dispatchPath: dispatchPath,
71
111
  index: innerIndex,
72
- listWidth: listWidth
112
+ listWidth: listWidth,
113
+ portal: listWrapperRef
73
114
  });
74
115
  }))));
75
116
  }
@@ -81,7 +81,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
81
81
  }
82
82
  var IconArrowWrapper = _styledcomponents.default.div.withConfig({
83
83
  displayName: "Tree.styles__IconArrowWrapper",
84
- componentId: "sc-cfcc5086-0"
84
+ componentId: "sc-66cccfac-0"
85
85
  })([
86
86
  "line-height:0;color:var(",
87
87
  ");&:hover{color:var(",
@@ -90,19 +90,19 @@ var IconArrowWrapper = _styledcomponents.default.div.withConfig({
90
90
  ], _Treetokens.treeTokens.arrowColor, _Treetokens.treeTokens.arrowColorHover, _Treetokens.treeTokens.arrowColorActive);
91
91
  var StyledArrow = (0, _styledcomponents.default)(_Icon.IconDisclosureRightCentered).withConfig({
92
92
  displayName: "Tree.styles__StyledArrow",
93
- componentId: "sc-cfcc5086-1"
93
+ componentId: "sc-66cccfac-1"
94
94
  })([
95
95
  "transition:color 0.3s ease-in,transform 0.15s ease-in;pointer-events:none;user-select:none;"
96
96
  ]);
97
97
  var StyledFolder = (0, _styledcomponents.default)(_Icon.IconFolder).withConfig({
98
98
  displayName: "Tree.styles__StyledFolder",
99
- componentId: "sc-cfcc5086-2"
99
+ componentId: "sc-66cccfac-2"
100
100
  })([
101
101
  ""
102
102
  ]);
103
103
  var TitleWrapper = _styledcomponents.default.div.withConfig({
104
104
  displayName: "Tree.styles__TitleWrapper",
105
- componentId: "sc-cfcc5086-3"
105
+ componentId: "sc-66cccfac-3"
106
106
  })([
107
107
  "display:flex;align-items:center;justify-content:space-between;margin:",
108
108
  ";",
@@ -113,7 +113,7 @@ var TitleWrapper = _styledcomponents.default.div.withConfig({
113
113
  }, (0, _mixins.applyEllipsis)());
114
114
  var Title = _styledcomponents.default.span.withConfig({
115
115
  displayName: "Tree.styles__Title",
116
- componentId: "sc-cfcc5086-4"
116
+ componentId: "sc-66cccfac-4"
117
117
  })([
118
118
  "margin:var(",
119
119
  ");",
@@ -121,16 +121,16 @@ var Title = _styledcomponents.default.span.withConfig({
121
121
  ], _Treetokens.treeTokens.iconFolderMargin, (0, _mixins.applyEllipsis)());
122
122
  var ContentRight = _styledcomponents.default.div.withConfig({
123
123
  displayName: "Tree.styles__ContentRight",
124
- componentId: "sc-cfcc5086-5"
124
+ componentId: "sc-66cccfac-5"
125
125
  })([
126
126
  "line-height:0;"
127
127
  ]);
128
128
  var Line = _styledcomponents.default.div.withConfig({
129
129
  displayName: "Tree.styles__Line",
130
- componentId: "sc-cfcc5086-6"
130
+ componentId: "sc-66cccfac-6"
131
131
  })([
132
132
  "left:",
133
- ";right:0;position:absolute;z-index:1;height:2px;background-color:var(",
133
+ "px;right:0;position:absolute;z-index:1;height:0.125rem;background-color:var(",
134
134
  ");border-radius:1px;pointer-events:none;"
135
135
  ], function(param) {
136
136
  var left = param.left;
@@ -99,10 +99,23 @@ var mergeConfig = function(baseConfig, userConfig) {
99
99
  }
100
100
  return res;
101
101
  };
102
+ // INFO: Метод, который проводит слияние двух объектов
103
+ // INFO: если значение явно указанно как undefined/null/пустая строка, то будет взято значение указанное в default
104
+ function mergeWithoutNullable(defaults, componentProps) {
105
+ var props = Object.keys(defaults).reduce(function(acc, key) {
106
+ return _object_spread_props(_object_spread({}, acc), _define_property({}, key, [
107
+ null,
108
+ undefined,
109
+ ''
110
+ ].includes(componentProps[key]) ? defaults[key] : componentProps[key]));
111
+ }, {});
112
+ return _object_spread({}, componentProps, props);
113
+ }
102
114
  function component(config) {
103
115
  var Comp = config.layout((0, _styledcomponents._component)(config));
104
116
  return /*#__PURE__*/ _react.default.forwardRef(function(props, ref) {
105
- return /*#__PURE__*/ _react.default.createElement(Comp, _object_spread_props(_object_spread({}, config === null || config === void 0 ? void 0 : config.defaults, props), {
117
+ var mergedProps = mergeWithoutNullable(config === null || config === void 0 ? void 0 : config.defaults, props);
118
+ return /*#__PURE__*/ _react.default.createElement(Comp, _object_spread_props(_object_spread({}, mergedProps), {
106
119
  ref: ref
107
120
  }));
108
121
  });
@@ -35,8 +35,10 @@ var config = {
35
35
  ":var(--text-secondary);",
36
36
  ":var(--text-secondary);",
37
37
  ":var(--surface-positive);",
38
+ ":var(--surface-solid-default);",
39
+ ":var(--surface-positive);",
38
40
  ":var(--surface-solid-default);"
39
- ], _Treetokens.treeTokens.iconFolderColor, _Treetokens.treeTokens.arrowColor, _Treetokens.treeTokens.arrowColorHover, _Treetokens.treeTokens.arrowColorActive, _Treetokens.treeTokens.color, _Treetokens.treeTokens.colorSelected, _Treetokens.treeTokens.itemBackgroundColorSelected, _Treetokens.treeTokens.itemBackgroundColorPrimary, _Treetokens.treeTokens.itemBackgroundColorHover, _Treetokens.treeTokens.itemBackgroundColorActive, _Treetokens.treeTokens.checkboxBorderColor, _Treetokens.treeTokens.checkboxBackgroundColor, _Treetokens.treeTokens.itemDisabledOpacity, _Treetokens.treeTokens.itemDisabledBorderColor, _Treetokens.treeTokens.itemDisabledColor, _Treetokens.treeTokens.itemDraggableBorderColor, _Treetokens.treeTokens.itemDraggableLineColor)
41
+ ], _Treetokens.treeTokens.iconFolderColor, _Treetokens.treeTokens.arrowColor, _Treetokens.treeTokens.arrowColorHover, _Treetokens.treeTokens.arrowColorActive, _Treetokens.treeTokens.color, _Treetokens.treeTokens.colorSelected, _Treetokens.treeTokens.itemBackgroundColorSelected, _Treetokens.treeTokens.itemBackgroundColorPrimary, _Treetokens.treeTokens.itemBackgroundColorHover, _Treetokens.treeTokens.itemBackgroundColorActive, _Treetokens.treeTokens.checkboxBorderColor, _Treetokens.treeTokens.checkboxBackgroundColor, _Treetokens.treeTokens.itemDisabledOpacity, _Treetokens.treeTokens.itemDisabledBorderColor, _Treetokens.treeTokens.itemDisabledColor, _Treetokens.treeTokens.itemDraggableBorderColor, _Treetokens.treeTokens.itemDraggableLineColor, _Treetokens.treeTokens.itemDraggableBorderColor, _Treetokens.treeTokens.itemDraggableLineColor)
40
42
  },
41
43
  size: {
42
44
  l: (0, _styledcomponents.css)([
@@ -161,7 +161,7 @@ import { Context } from "./Combobox.context";
161
161
  */ export var comboboxRoot = function(Root) {
162
162
  return /*#__PURE__*/ forwardRef(function(props, ref) {
163
163
  var _getItemByFocused;
164
- var name = props.name, multiple = props.multiple, outerValue = props.value, outerOnChange = props.onChange, defaultValue = props.defaultValue, isTargetAmount = props.isTargetAmount, targetAmount = props.targetAmount, items = props.items, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom-start' : _props_placement, label = props.label, placeholder = props.placeholder, helperText = props.helperText, contentLeft = props.contentLeft, textBefore = props.textBefore, textAfter = props.textAfter, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, portal = props.portal, renderItem = props.renderItem, view = props.view, size = props.size, labelPlacement = props.labelPlacement, keepPlaceholder = props.keepPlaceholder, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_alwaysOpened = props.alwaysOpened, alwaysOpened = _props_alwaysOpened === void 0 ? false : _props_alwaysOpened, filter = props.filter, outerCloseAfterSelect = props.closeAfterSelect, renderValue = props.renderValue, zIndex = props.zIndex, beforeList = props.beforeList, afterList = props.afterList, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, hintView = props.hintView, hintSize = props.hintSize, emptyStateDescription = props.emptyStateDescription, onChangeValue = props.onChangeValue, onScroll = props.onScroll, onToggle = props.onToggle, // @ts-ignore
164
+ var name = props.name, multiple = props.multiple, outerValue = props.value, outerOnChange = props.onChange, defaultValue = props.defaultValue, isTargetAmount = props.isTargetAmount, targetAmount = props.targetAmount, items = props.items, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom-start' : _props_placement, label = props.label, placeholder = props.placeholder, helperText = props.helperText, contentLeft = props.contentLeft, textBefore = props.textBefore, textAfter = props.textAfter, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, portal = props.portal, renderItem = props.renderItem, view = props.view, size = props.size, labelPlacement = props.labelPlacement, keepPlaceholder = props.keepPlaceholder, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_alwaysOpened = props.alwaysOpened, alwaysOpened = _props_alwaysOpened === void 0 ? false : _props_alwaysOpened, filter = props.filter, outerCloseAfterSelect = props.closeAfterSelect, renderValue = props.renderValue, zIndex = props.zIndex, beforeList = props.beforeList, afterList = props.afterList, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, hintView = props.hintView, hintSize = props.hintSize, emptyStateDescription = props.emptyStateDescription, onChangeValue = props.onChangeValue, onScroll = props.onScroll, onToggle = props.onToggle, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, // @ts-ignore
165
165
  _offset = props._offset, rest = _object_without_properties(props, [
166
166
  "name",
167
167
  "multiple",
@@ -205,6 +205,7 @@ import { Context } from "./Combobox.context";
205
205
  "onChangeValue",
206
206
  "onScroll",
207
207
  "onToggle",
208
+ "mode",
208
209
  "_offset"
209
210
  ]);
210
211
  var transformedItems = useMemo(function() {
@@ -225,6 +226,7 @@ import { Context } from "./Combobox.context";
225
226
  var floatingPopoverRef = useRef(null);
226
227
  var inputForkRef = useForkRef(inputRef, ref);
227
228
  var treeId = safeUseId();
229
+ var listWrapperRef = useRef(null);
228
230
  var filteredItems = useMemo(function() {
229
231
  return filterItems(transformedItems, textValue, getTextValue(multiple, value, valueToItemMap, renderValue), filter);
230
232
  }, [
@@ -285,22 +287,10 @@ import { Context } from "./Combobox.context";
285
287
  setInternalValue(newValue);
286
288
  }
287
289
  };
288
- var handleClickArrow = function() {
289
- if (disabled || readOnly) {
290
- return;
291
- }
292
- if (isCurrentListOpen) {
293
- dispatchPath({
294
- type: 'reset'
295
- });
296
- } else {
297
- dispatchPath({
298
- type: 'opened_first_level'
299
- });
300
- }
301
- dispatchFocusedPath({
302
- type: 'reset'
303
- });
290
+ var handleClickArrow = function(e) {
291
+ handleListToggle(!isCurrentListOpen);
292
+ // При клике на иконку закрытия фокус не должен становиться в инпут.
293
+ e.stopPropagation();
304
294
  };
305
295
  // Обработчик изменения значения в инпуте
306
296
  var handleTextValueChange = function(e) {
@@ -433,10 +423,20 @@ import { Context } from "./Combobox.context";
433
423
  type: 'reset'
434
424
  });
435
425
  }
426
+ // Закрываем список, если элемент уже выбран.
427
+ if (mode === 'radio' && isCurrentChecked) {
428
+ return;
429
+ }
436
430
  if (onChange) {
437
431
  onChange(isCurrentChecked ? '' : item.value, item);
438
432
  }
439
433
  };
434
+ // Обработчик клика на таргет
435
+ var handleTargetClick = function() {
436
+ if (!isCurrentListOpen) {
437
+ handleListToggle(true);
438
+ }
439
+ };
440
440
  var getChips = function() {
441
441
  if (multiple && Array.isArray(value)) {
442
442
  if (value.length === 0) return [];
@@ -569,13 +569,14 @@ import { Context } from "./Combobox.context";
569
569
  }, /*#__PURE__*/ React.createElement(FloatingPopover, {
570
570
  ref: floatingPopoverRef,
571
571
  opened: isCurrentListOpen,
572
- onToggle: handleListToggle,
573
572
  placement: placement,
574
573
  portal: portal,
575
574
  listWidth: listWidth,
576
575
  offset: _offset,
577
576
  target: function(referenceRef) {
578
- return /*#__PURE__*/ React.createElement(StyledTextField, _object_spread_props(_object_spread({
577
+ return /*#__PURE__*/ React.createElement("div", {
578
+ onClick: handleTargetClick
579
+ }, /*#__PURE__*/ React.createElement(StyledTextField, _object_spread_props(_object_spread({
579
580
  ref: name ? inputRef : inputForkRef,
580
581
  inputWrapperRef: referenceRef,
581
582
  value: textValue,
@@ -589,7 +590,8 @@ import { Context } from "./Combobox.context";
589
590
  contentLeft: contentLeft,
590
591
  contentRight: /*#__PURE__*/ React.createElement(IconArrowWrapper, {
591
592
  disabled: disabled,
592
- onClick: handleClickArrow
593
+ onClick: handleClickArrow,
594
+ className: classes.comboboxTargetArrow
593
595
  }, /*#__PURE__*/ React.createElement(StyledArrow, {
594
596
  color: "inherit",
595
597
  size: sizeToIconSize(size),
@@ -616,7 +618,7 @@ import { Context } from "./Combobox.context";
616
618
  enumerationType: 'plain'
617
619
  }, rest), {
618
620
  _onEnterDisabled: true // Пропс для отключения обработчика Enter внутри Textfield
619
- }));
621
+ })));
620
622
  },
621
623
  zIndex: zIndex,
622
624
  isInner: false
@@ -628,6 +630,7 @@ import { Context } from "./Combobox.context";
628
630
  readOnly: readOnly,
629
631
  name: name
630
632
  }, /*#__PURE__*/ React.createElement(ListWrapper, {
633
+ ref: listWrapperRef,
631
634
  listWidth: listWidth
632
635
  }, /*#__PURE__*/ React.createElement(Ul, {
633
636
  role: "tree",
@@ -636,7 +639,6 @@ import { Context } from "./Combobox.context";
636
639
  listMaxHeight: listMaxHeight || listHeight,
637
640
  ref: targetRef,
638
641
  virtual: virtual,
639
- listOverflow: listOverflow,
640
642
  onScroll: virtual ? undefined : onScroll
641
643
  }, beforeList, isEmpty(filteredItems) ? /*#__PURE__*/ React.createElement(StyledEmptyState, {
642
644
  className: classes.emptyStateWrapper,
@@ -658,7 +660,8 @@ import { Context } from "./Combobox.context";
658
660
  path: path,
659
661
  dispatchPath: dispatchPath,
660
662
  index: index,
661
- listWidth: listWidth
663
+ listWidth: listWidth,
664
+ portal: listWrapperRef
662
665
  });
663
666
  })), afterList)))))));
664
667
  });
@@ -8,7 +8,7 @@ var mergedConfig = mergeConfig(emptyStateConfig);
8
8
  var EmptyState = component(mergedConfig);
9
9
  export var ListWrapper = styled.div.withConfig({
10
10
  displayName: "Combobox.styles__ListWrapper",
11
- componentId: "sc-7fefedf8-0"
11
+ componentId: "sc-21c5f0bf-0"
12
12
  })([
13
13
  "width:",
14
14
  ";padding:calc(var(",
@@ -25,10 +25,10 @@ export var ListWrapper = styled.div.withConfig({
25
25
  }, tokens.padding, tokens.dropdownBorderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.dropdownBorderWidth, tokens.dropdownBorderColor);
26
26
  export var Ul = styled.ul.withConfig({
27
27
  displayName: "Combobox.styles__Ul",
28
- componentId: "sc-7fefedf8-1"
28
+ componentId: "sc-21c5f0bf-1"
29
29
  })([
30
30
  "max-height:",
31
- ";overflow-y:",
31
+ ";overflow-x:hidden;overflow-y:",
32
32
  ";border-radius:calc(var(",
33
33
  ") - 0.125rem - var(",
34
34
  ",0rem));margin:0;padding:0;.",
@@ -37,12 +37,12 @@ export var Ul = styled.ul.withConfig({
37
37
  var virtual = param.virtual, listMaxHeight = param.listMaxHeight;
38
38
  return virtual ? 'auto' : listMaxHeight || 'auto';
39
39
  }, function(param) {
40
- var virtual = param.virtual, listOverflow = param.listOverflow;
41
- return virtual ? 'visible' : listOverflow || 'visible';
40
+ var virtual = param.virtual;
41
+ return virtual ? 'visible' : 'auto';
42
42
  }, tokens.borderRadius, tokens.dropdownBorderWidth, classes.emptyStateWrapper);
43
43
  export var IconArrowWrapper = styled.div.withConfig({
44
44
  displayName: "Combobox.styles__IconArrowWrapper",
45
- componentId: "sc-7fefedf8-2"
45
+ componentId: "sc-21c5f0bf-2"
46
46
  })([
47
47
  "line-height:0;color:var(",
48
48
  ");cursor:",
@@ -63,7 +63,7 @@ export var sizeMap = {
63
63
  };
64
64
  export var StyledArrow = styled(IconDisclosureDownCentered).withConfig({
65
65
  displayName: "Combobox.styles__StyledArrow",
66
- componentId: "sc-7fefedf8-3"
66
+ componentId: "sc-21c5f0bf-3"
67
67
  })([
68
68
  "width:",
69
69
  ";height:",
@@ -80,7 +80,7 @@ export var base = css([
80
80
  ]);
81
81
  export var StyledEmptyState = styled(EmptyState).withConfig({
82
82
  displayName: "Combobox.styles__StyledEmptyState",
83
- componentId: "sc-7fefedf8-4"
83
+ componentId: "sc-21c5f0bf-4"
84
84
  })([
85
85
  "",
86
86
  ":var(",
@@ -102,7 +102,7 @@ export var StyledEmptyState = styled(EmptyState).withConfig({
102
102
  ], emptyStateTokens.borderRadius, tokens.textFieldBorderRadius, emptyStateTokens.padding, tokens.emptyStatePadding, emptyStateTokens.fontFamily, tokens.textFieldFontFamily, emptyStateTokens.fontSize, tokens.textFieldFontSize, emptyStateTokens.fontStyle, tokens.textFieldFontStyle, emptyStateTokens.fontWeight, tokens.textFieldFontWeight, emptyStateTokens.fontLetterSpacing, tokens.textFieldLetterSpacing, emptyStateTokens.fontLineHeight, tokens.textFieldLineHeight);
103
103
  export var StyledLeftHelper = styled.span.withConfig({
104
104
  displayName: "Combobox.styles__StyledLeftHelper",
105
- componentId: "sc-7fefedf8-5"
105
+ componentId: "sc-21c5f0bf-5"
106
106
  })([
107
107
  "margin:0;padding:0;"
108
108
  ]);
@@ -2,7 +2,7 @@ export var classes = {
2
2
  dropdownItemIsFocused: 'dropdown-item-is-focused',
3
3
  dropdownItemIsDisabled: 'dropdown-item-is-disabled',
4
4
  dropdownItemIsActive: 'dropdown-item-is-active',
5
- selectTargetArrow: 'combobox-target-arrow',
5
+ comboboxTargetArrow: 'combobox-target-arrow',
6
6
  arrowInverse: 'arrow-inverse',
7
7
  textfieldTarget: 'combobox-textfield-target',
8
8
  selectChipIsFocused: 'combobox-chip-is-focused',
@@ -159,13 +159,9 @@ export var useKeyNavigation = function(param) {
159
159
  case keys.Tab:
160
160
  case keys.Escape:
161
161
  {
162
- dispatchPath({
163
- type: 'reset'
164
- });
165
- dispatchFocusedPath({
166
- type: 'reset'
167
- });
168
- handleListToggle(false);
162
+ if (path[0]) {
163
+ handleListToggle(false);
164
+ }
169
165
  if (multiple) {
170
166
  setTextValue('');
171
167
  } else if (textValue !== value) {
@@ -1,11 +1,11 @@
1
- import React from "react";
1
+ import React, { useRef } from "react";
2
2
  import { safeUseId } from "../../../../../utils";
3
3
  import { FloatingPopover } from "../../FloatingPopover";
4
4
  import { isEmpty } from "../../../../../utils";
5
5
  import { Ul, ListWrapper } from "../../Combobox.styles";
6
6
  import { Item } from "./ui";
7
7
  export var Inner = function(param) {
8
- var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth;
8
+ var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth, portal = param.portal;
9
9
  var handleToggle = function(opened) {
10
10
  if (opened) {
11
11
  dispatchPath({
@@ -20,6 +20,7 @@ export var Inner = function(param) {
20
20
  });
21
21
  }
22
22
  };
23
+ var listWrapperRef = useRef(null);
23
24
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
24
25
  var treeId = safeUseId();
25
26
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
@@ -40,13 +41,16 @@ export var Inner = function(param) {
40
41
  ariaLevel: nextLevel,
41
42
  ariaLabel: item.label
42
43
  }),
43
- isInner: true
44
+ isInner: true,
45
+ portal: portal
44
46
  }, /*#__PURE__*/ React.createElement(ListWrapper, {
45
- listWidth: listWidth
47
+ listWidth: listWidth,
48
+ ref: listWrapperRef
46
49
  }, /*#__PURE__*/ React.createElement(Ul, {
47
50
  role: "group",
48
51
  id: listId,
49
- virtual: false
52
+ virtual: false,
53
+ listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
50
54
  }, (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.map(function(innerItem, innerIndex) {
51
55
  return /*#__PURE__*/ React.createElement(Inner, {
52
56
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -55,7 +59,8 @@ export var Inner = function(param) {
55
59
  path: path,
56
60
  dispatchPath: dispatchPath,
57
61
  index: innerIndex,
58
- listWidth: listWidth
62
+ listWidth: listWidth,
63
+ portal: listWrapperRef
59
64
  });
60
65
  }))));
61
66
  }
@@ -87,6 +87,17 @@ export var useDrawer = function(param) {
87
87
  isOpen,
88
88
  popupController.items
89
89
  ]);
90
+ // При анмаунте компонента нужно обновлять overflow у body.
91
+ useEffect(function() {
92
+ return function() {
93
+ if (!canUseDOM) {
94
+ return;
95
+ }
96
+ if (!hasDrawers(Array.from(popupController.items.values()))) {
97
+ document.body.style.overflow = overflow.current;
98
+ }
99
+ };
100
+ }, []);
90
101
  var drawerInfo = _object_spread({
91
102
  id: id,
92
103
  info: {