@salutejs/plasma-new-hope 0.336.0-canary.2218.17555761279.0 → 0.336.0-canary.2218.17560383957.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 (205) hide show
  1. package/cjs/components/Combobox/ComboboxNew/Combobox.css +6 -6
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.js +22 -23
  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/Dropdown/Dropdown.css +2 -2
  20. package/cjs/components/Dropdown/Dropdown.js +6 -10
  21. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  22. package/cjs/components/Dropdown/Dropdown.styles.js +2 -9
  23. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  24. package/{es/components/Dropdown/Dropdown.styles_zheit5.css → cjs/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  25. package/cjs/components/Dropdown/FloatingPopover.js +3 -4
  26. package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
  27. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  28. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  29. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  30. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -9
  31. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  32. package/cjs/components/Pagination/Pagination.css +2 -2
  33. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  34. package/cjs/components/Select/Select.css +2 -2
  35. package/cjs/components/Select/Select.js +4 -3
  36. package/cjs/components/Select/Select.js.map +1 -1
  37. package/cjs/components/Select/Select.styles.js +3 -4
  38. package/cjs/components/Select/Select.styles.js.map +1 -1
  39. package/cjs/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
  40. package/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  41. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  42. package/cjs/components/Select/ui/Inner/Inner.css +2 -2
  43. package/cjs/components/Select/ui/Inner/Inner.js +11 -5
  44. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  45. package/cjs/components/Table/Table.css +2 -2
  46. package/cjs/components/Table/ui/Cell/Cell.css +2 -2
  47. package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
  48. package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
  49. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  50. package/cjs/index.css +10 -10
  51. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
  52. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  53. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  54. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  55. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  56. package/emotion/cjs/components/Dropdown/Dropdown.js +6 -10
  57. package/emotion/cjs/components/Dropdown/Dropdown.styles.js +5 -8
  58. package/emotion/cjs/components/Dropdown/FloatingPopover.js +4 -4
  59. package/emotion/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  60. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  61. package/emotion/cjs/components/Select/Select.js +4 -2
  62. package/emotion/cjs/components/Select/Select.styles.js +8 -8
  63. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  64. package/emotion/cjs/components/Select/ui/Inner/Inner.js +50 -9
  65. package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
  66. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
  67. package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  68. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  69. package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  70. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  71. package/emotion/es/components/Dropdown/Dropdown.js +6 -10
  72. package/emotion/es/components/Dropdown/Dropdown.styles.js +5 -8
  73. package/emotion/es/components/Dropdown/FloatingPopover.js +4 -4
  74. package/emotion/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  75. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  76. package/emotion/es/components/Select/Select.js +4 -2
  77. package/emotion/es/components/Select/Select.styles.js +8 -8
  78. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  79. package/emotion/es/components/Select/ui/Inner/Inner.js +11 -6
  80. package/es/components/Combobox/ComboboxNew/Combobox.css +6 -6
  81. package/es/components/Combobox/ComboboxNew/Combobox.js +22 -23
  82. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  83. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
  84. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  85. package/es/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
  86. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  87. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  88. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  89. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  90. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
  91. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +12 -6
  92. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  93. package/es/components/Combobox/ComboboxOld/Combobox.css +2 -2
  94. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  95. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  96. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  97. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  98. package/es/components/Dropdown/Dropdown.css +2 -2
  99. package/es/components/Dropdown/Dropdown.js +6 -10
  100. package/es/components/Dropdown/Dropdown.js.map +1 -1
  101. package/es/components/Dropdown/Dropdown.styles.js +2 -9
  102. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  103. package/{cjs/components/Dropdown/Dropdown.styles_zheit5.css → es/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  104. package/es/components/Dropdown/FloatingPopover.js +3 -4
  105. package/es/components/Dropdown/FloatingPopover.js.map +1 -1
  106. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  107. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  108. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  109. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +10 -10
  110. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  111. package/es/components/Pagination/Pagination.css +2 -2
  112. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  113. package/es/components/Select/Select.css +2 -2
  114. package/es/components/Select/Select.js +4 -3
  115. package/es/components/Select/Select.js.map +1 -1
  116. package/es/components/Select/Select.styles.js +3 -4
  117. package/es/components/Select/Select.styles.js.map +1 -1
  118. package/es/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
  119. package/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  120. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  121. package/es/components/Select/ui/Inner/Inner.css +2 -2
  122. package/es/components/Select/ui/Inner/Inner.js +12 -6
  123. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  124. package/es/components/Table/Table.css +2 -2
  125. package/es/components/Table/ui/Cell/Cell.css +2 -2
  126. package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
  127. package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
  128. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  129. package/es/index.css +10 -10
  130. package/package.json +2 -2
  131. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
  132. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  133. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  134. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  135. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  136. package/styled-components/cjs/components/Dropdown/Dropdown.js +6 -10
  137. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +3 -7
  138. package/styled-components/cjs/components/Dropdown/FloatingPopover.js +4 -4
  139. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  140. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  141. package/styled-components/cjs/components/Select/Select.js +4 -2
  142. package/styled-components/cjs/components/Select/Select.styles.js +5 -5
  143. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  144. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +50 -9
  145. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
  146. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  147. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  148. package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  149. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  150. package/styled-components/es/components/Dropdown/Dropdown.js +6 -10
  151. package/styled-components/es/components/Dropdown/Dropdown.styles.js +3 -7
  152. package/styled-components/es/components/Dropdown/FloatingPopover.js +4 -4
  153. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  154. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  155. package/styled-components/es/components/Select/Select.js +4 -2
  156. package/styled-components/es/components/Select/Select.styles.js +5 -5
  157. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  158. package/styled-components/es/components/Select/ui/Inner/Inner.js +11 -6
  159. package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -6
  160. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  161. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  162. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +0 -1
  163. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  164. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +1 -1
  165. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +6 -6
  166. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  167. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  168. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +2 -1
  169. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
  170. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +6 -2
  171. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  172. package/types/components/Dropdown/Dropdown.d.ts +2 -2
  173. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  174. package/types/components/Dropdown/Dropdown.styles.d.ts +0 -1
  175. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  176. package/types/components/Dropdown/Dropdown.types.d.ts +5 -5
  177. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  178. package/types/components/Dropdown/FloatingPopover.d.ts.map +1 -1
  179. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  180. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +2 -3
  181. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
  182. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +7 -3
  183. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  184. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +6 -6
  185. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  186. package/types/components/Select/Select.d.ts.map +1 -1
  187. package/types/components/Select/Select.styles.d.ts +0 -1
  188. package/types/components/Select/Select.styles.d.ts.map +1 -1
  189. package/types/components/Select/Select.types.d.ts +10 -10
  190. package/types/components/Select/Select.types.d.ts.map +1 -1
  191. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  192. package/types/components/Select/ui/Inner/Inner.type.d.ts +2 -1
  193. package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
  194. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +11 -3
  195. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  196. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +6 -6
  197. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  198. package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
  199. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  200. package/types/examples/components/Combobox/Combobox.d.ts +24 -24
  201. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  202. package/types/examples/components/Dropdown/Dropdown.d.ts +1 -1
  203. package/types/examples/components/Dropdown/Dropdown.d.ts.map +1 -1
  204. package/types/examples/components/Select/Select.d.ts +6 -6
  205. package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -267,6 +267,7 @@ var selectRoot = function(Root) {
267
267
  var activeDescendantItemValue = ((_getItemByFocused = (0, _useKeyboardNavigation.getItemByFocused)(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
268
268
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
269
269
  var treeId = (0, _utils.safeUseId)();
270
+ var listWrapperRef = (0, _react.useRef)(null);
270
271
  var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : (0, _utils1.getView)(status, outerView);
271
272
  // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
272
273
  var requiredProps = props.target === 'button-like' ? undefined : {
@@ -553,12 +554,12 @@ var selectRoot = function(Root) {
553
554
  disabled: disabled,
554
555
  readOnly: readOnly
555
556
  }, rest), /*#__PURE__*/ _react.default.createElement(_Selectstyles.ListWrapper, {
557
+ ref: listWrapperRef,
556
558
  listWidth: listWidth
557
559
  }, /*#__PURE__*/ _react.default.createElement(_Selectstyles.Ul, {
558
560
  role: "tree",
559
561
  id: "".concat(treeId, "_tree_level_1"),
560
562
  "aria-multiselectable": Boolean(props.multiselect),
561
- listOverflow: listOverflow,
562
563
  listMaxHeight: listMaxHeight || listHeight,
563
564
  onScroll: virtual ? undefined : handleScroll,
564
565
  ref: targetRef,
@@ -579,7 +580,8 @@ var selectRoot = function(Root) {
579
580
  path: path,
580
581
  dispatchPath: dispatchPath,
581
582
  index: index,
582
- listWidth: listWidth
583
+ listWidth: listWidth,
584
+ portal: listWrapperRef
583
585
  });
584
586
  }), afterList))))));
585
587
  });
@@ -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
  }
@@ -225,6 +225,7 @@ import { Context } from "./Combobox.context";
225
225
  var floatingPopoverRef = useRef(null);
226
226
  var inputForkRef = useForkRef(inputRef, ref);
227
227
  var treeId = safeUseId();
228
+ var listWrapperRef = useRef(null);
228
229
  var filteredItems = useMemo(function() {
229
230
  return filterItems(transformedItems, textValue, getTextValue(multiple, value, valueToItemMap, renderValue), filter);
230
231
  }, [
@@ -285,22 +286,10 @@ import { Context } from "./Combobox.context";
285
286
  setInternalValue(newValue);
286
287
  }
287
288
  };
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
- });
289
+ var handleClickArrow = function(e) {
290
+ handleListToggle(!isCurrentListOpen);
291
+ // При клике на иконку закрытия фокус не должен становиться в инпут.
292
+ e.stopPropagation();
304
293
  };
305
294
  // Обработчик изменения значения в инпуте
306
295
  var handleTextValueChange = function(e) {
@@ -437,6 +426,12 @@ import { Context } from "./Combobox.context";
437
426
  onChange(isCurrentChecked ? '' : item.value, item);
438
427
  }
439
428
  };
429
+ // Обработчик клика на таргет
430
+ var handleTargetClick = function() {
431
+ if (!isCurrentListOpen) {
432
+ handleListToggle(true);
433
+ }
434
+ };
440
435
  var getChips = function() {
441
436
  if (multiple && Array.isArray(value)) {
442
437
  if (value.length === 0) return [];
@@ -569,13 +564,14 @@ import { Context } from "./Combobox.context";
569
564
  }, /*#__PURE__*/ React.createElement(FloatingPopover, {
570
565
  ref: floatingPopoverRef,
571
566
  opened: isCurrentListOpen,
572
- onToggle: handleListToggle,
573
567
  placement: placement,
574
568
  portal: portal,
575
569
  listWidth: listWidth,
576
570
  offset: _offset,
577
571
  target: function(referenceRef) {
578
- return /*#__PURE__*/ React.createElement(StyledTextField, _object_spread_props(_object_spread({
572
+ return /*#__PURE__*/ React.createElement("div", {
573
+ onClick: handleTargetClick
574
+ }, /*#__PURE__*/ React.createElement(StyledTextField, _object_spread_props(_object_spread({
579
575
  ref: name ? inputRef : inputForkRef,
580
576
  inputWrapperRef: referenceRef,
581
577
  value: textValue,
@@ -589,7 +585,8 @@ import { Context } from "./Combobox.context";
589
585
  contentLeft: contentLeft,
590
586
  contentRight: /*#__PURE__*/ React.createElement(IconArrowWrapper, {
591
587
  disabled: disabled,
592
- onClick: handleClickArrow
588
+ onClick: handleClickArrow,
589
+ className: classes.comboboxTargetArrow
593
590
  }, /*#__PURE__*/ React.createElement(StyledArrow, {
594
591
  color: "inherit",
595
592
  size: sizeToIconSize(size),
@@ -616,7 +613,7 @@ import { Context } from "./Combobox.context";
616
613
  enumerationType: 'plain'
617
614
  }, rest), {
618
615
  _onEnterDisabled: true // Пропс для отключения обработчика Enter внутри Textfield
619
- }));
616
+ })));
620
617
  },
621
618
  zIndex: zIndex,
622
619
  isInner: false
@@ -628,6 +625,7 @@ import { Context } from "./Combobox.context";
628
625
  readOnly: readOnly,
629
626
  name: name
630
627
  }, /*#__PURE__*/ React.createElement(ListWrapper, {
628
+ ref: listWrapperRef,
631
629
  listWidth: listWidth
632
630
  }, /*#__PURE__*/ React.createElement(Ul, {
633
631
  role: "tree",
@@ -636,7 +634,6 @@ import { Context } from "./Combobox.context";
636
634
  listMaxHeight: listMaxHeight || listHeight,
637
635
  ref: targetRef,
638
636
  virtual: virtual,
639
- listOverflow: listOverflow,
640
637
  onScroll: virtual ? undefined : onScroll
641
638
  }, beforeList, isEmpty(filteredItems) ? /*#__PURE__*/ React.createElement(StyledEmptyState, {
642
639
  className: classes.emptyStateWrapper,
@@ -658,7 +655,8 @@ import { Context } from "./Combobox.context";
658
655
  path: path,
659
656
  dispatchPath: dispatchPath,
660
657
  index: index,
661
- listWidth: listWidth
658
+ listWidth: listWidth,
659
+ portal: listWrapperRef
662
660
  });
663
661
  })), afterList)))))));
664
662
  });
@@ -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
  }
@@ -119,7 +119,7 @@ import { Context } from "./Dropdown.context";
119
119
  * Выпадающий список.
120
120
  */ export var dropdownRoot = function(Root) {
121
121
  return /*#__PURE__*/ forwardRef(function(_param, ref) {
122
- var items = _param.items, children = _param.children, placement = _param.placement, offset = _param.offset, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, onToggle = _param.onToggle, size = _param.size, view = _param.view, _param_itemRole = _param.itemRole, itemRole = _param_itemRole === void 0 ? 'treeitem' : _param_itemRole, className = _param.className, listMaxHeight = _param.listMaxHeight, listWidth = _param.listWidth, listHeight = _param.listHeight, listOverflow = _param.listOverflow, _param_closeOnSelect = _param.closeOnSelect, closeOnSelect = _param_closeOnSelect === void 0 ? true : _param_closeOnSelect, onHover = _param.onHover, onItemSelect = _param.onItemSelect, onItemClick = _param.onItemClick, _param_trigger = _param.trigger, trigger = _param_trigger === void 0 ? 'click' : _param_trigger, _param_openByRightClick = _param.openByRightClick, openByRightClick = _param_openByRightClick === void 0 ? false : _param_openByRightClick, _param_variant = _param.variant, variant = _param_variant === void 0 ? 'normal' : _param_variant, _param_hasArrow = _param.hasArrow, hasArrow = _param_hasArrow === void 0 ? true : _param_hasArrow, _param_alwaysOpened = _param.alwaysOpened, alwaysOpened = _param_alwaysOpened === void 0 ? false : _param_alwaysOpened, portal = _param.portal, renderItem = _param.renderItem, zIndex = _param.zIndex, beforeList = _param.beforeList, afterList = _param.afterList, rest = _object_without_properties(_param, [
122
+ var items = _param.items, children = _param.children, placement = _param.placement, offset = _param.offset, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, onToggle = _param.onToggle, size = _param.size, view = _param.view, _param_itemRole = _param.itemRole, itemRole = _param_itemRole === void 0 ? 'treeitem' : _param_itemRole, className = _param.className, listMaxHeight = _param.listMaxHeight, listWidth = _param.listWidth, listHeight = _param.listHeight, _param_closeOnSelect = _param.closeOnSelect, closeOnSelect = _param_closeOnSelect === void 0 ? true : _param_closeOnSelect, onHover = _param.onHover, onItemSelect = _param.onItemSelect, onItemClick = _param.onItemClick, _param_trigger = _param.trigger, trigger = _param_trigger === void 0 ? 'click' : _param_trigger, _param_openByRightClick = _param.openByRightClick, openByRightClick = _param_openByRightClick === void 0 ? false : _param_openByRightClick, _param_variant = _param.variant, variant = _param_variant === void 0 ? 'normal' : _param_variant, _param_hasArrow = _param.hasArrow, hasArrow = _param_hasArrow === void 0 ? true : _param_hasArrow, _param_alwaysOpened = _param.alwaysOpened, alwaysOpened = _param_alwaysOpened === void 0 ? false : _param_alwaysOpened, portal = _param.portal, renderItem = _param.renderItem, zIndex = _param.zIndex, beforeList = _param.beforeList, afterList = _param.afterList, rest = _object_without_properties(_param, [
123
123
  "items",
124
124
  "children",
125
125
  "placement",
@@ -133,7 +133,6 @@ import { Context } from "./Dropdown.context";
133
133
  "listMaxHeight",
134
134
  "listWidth",
135
135
  "listHeight",
136
- "listOverflow",
137
136
  "closeOnSelect",
138
137
  "onHover",
139
138
  "onItemSelect",
@@ -159,6 +158,7 @@ import { Context } from "./Dropdown.context";
159
158
  var _useHashMaps = _sliced_to_array(useHashMaps(items), 2), pathMap = _useHashMaps[0], focusedToValueMap = _useHashMaps[1];
160
159
  var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
161
160
  var floatingPopoverRef = useRef(null);
161
+ var listWrapperRef = useRef(null);
162
162
  var treeId = safeUseId();
163
163
  // Логика работы при клике за пределами выпадающего списка
164
164
  var targetRef = useOutsideClick(function(event) {
@@ -252,17 +252,14 @@ import { Context } from "./Dropdown.context";
252
252
  className: cx(className, classes.dropdownRoot),
253
253
  ref: ref,
254
254
  view: view,
255
- size: size,
256
- style: {
257
- display: 'inline-block'
258
- }
255
+ size: size
259
256
  }, rest), /*#__PURE__*/ React.createElement(ListWrapper, {
257
+ ref: listWrapperRef,
260
258
  listWidth: listWidth
261
259
  }, /*#__PURE__*/ React.createElement(Ul, {
262
260
  ref: targetRef,
263
261
  id: "".concat(treeId, "_tree_level_1"),
264
262
  role: "tree",
265
- listOverflow: listOverflow,
266
263
  listMaxHeight: listMaxHeight || listHeight
267
264
  }, beforeList, items.map(function(item, index) {
268
265
  return /*#__PURE__*/ React.createElement(DropdownInner, {
@@ -273,9 +270,8 @@ import { Context } from "./Dropdown.context";
273
270
  path: path,
274
271
  dispatchPath: dispatchPath,
275
272
  index: index,
276
- listOverflow: listOverflow,
277
- listMaxHeight: listMaxHeight || listHeight,
278
- listWidth: listWidth
273
+ listWidth: listWidth,
274
+ portal: listWrapperRef
279
275
  });
280
276
  }), afterList)))));
281
277
  });
@@ -4,7 +4,7 @@ import { getCorrectHeight } from "./utils";
4
4
  import { tokens, constants } from "./Dropdown.tokens";
5
5
  export var ListWrapper = styled.div.withConfig({
6
6
  displayName: "Dropdown.styles__ListWrapper",
7
- componentId: "sc-eabc61b1-0"
7
+ componentId: "sc-768e302d-0"
8
8
  })([
9
9
  "width:",
10
10
  ";padding:calc(var(",
@@ -21,19 +21,15 @@ export var ListWrapper = styled.div.withConfig({
21
21
  }, tokens.padding, tokens.borderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.borderWidth, tokens.borderColor);
22
22
  export var Ul = styled.ul.withConfig({
23
23
  displayName: "Dropdown.styles__Ul",
24
- componentId: "sc-eabc61b1-1"
24
+ componentId: "sc-768e302d-1"
25
25
  })([
26
26
  "max-height:",
27
- ";overflow-y:",
28
- ";border-radius:calc(var(",
27
+ ";overflow-x:hidden;overflow-y:auto;border-radius:calc(var(",
29
28
  ") - 0.125rem - var(",
30
29
  ",0rem));margin:0;padding:0;"
31
30
  ], function(param) {
32
31
  var listMaxHeight = param.listMaxHeight;
33
32
  return listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto';
34
- }, function(param) {
35
- var listOverflow = param.listOverflow;
36
- return listOverflow || 'visible';
37
33
  }, tokens.borderRadius, tokens.borderWidth);
38
34
  export var base = css([
39
35
  ""
@@ -96,10 +96,10 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
96
96
  stickIfOpen: false,
97
97
  ignoreMouse: trigger === 'hover'
98
98
  });
99
- var _useInteractions = useInteractions([
99
+ var getReferenceProps = useInteractions([
100
100
  hover,
101
101
  click
102
- ]), getReferenceProps = _useInteractions.getReferenceProps, getFloatingProps = _useInteractions.getFloatingProps;
102
+ ]).getReferenceProps;
103
103
  return /*#__PURE__*/ React.createElement("div", {
104
104
  ref: ref,
105
105
  id: wrappedId,
@@ -109,12 +109,12 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
109
109
  }
110
110
  }, /*#__PURE__*/ React.createElement("div", _object_spread({
111
111
  ref: refs.setReference
112
- }, getReferenceProps()), target), opened && /*#__PURE__*/ React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/ React.createElement("div", _object_spread({
112
+ }, getReferenceProps()), target), opened && /*#__PURE__*/ React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/ React.createElement("div", {
113
113
  ref: refs.setFloating,
114
114
  style: _object_spread_props(_object_spread({}, floatingStyles), {
115
115
  zIndex: zIndex || 1000
116
116
  })
117
- }, getFloatingProps()), children)));
117
+ }, children)));
118
118
  });
119
119
  // root - принимает ref контейнера портала.
120
120
  // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.
@@ -162,13 +162,9 @@ export var useKeyNavigation = function(param) {
162
162
  case keys.Tab:
163
163
  case keys.Escape:
164
164
  {
165
- dispatchFocusedPath({
166
- type: 'reset'
167
- });
168
- dispatchPath({
169
- type: 'reset'
170
- });
171
- handleGlobalToggle(false, event);
165
+ if (path[0]) {
166
+ handleGlobalToggle(false, event);
167
+ }
172
168
  break;
173
169
  }
174
170
  case keys.Home:
@@ -1,11 +1,11 @@
1
- import React from "react";
1
+ import React, { useRef } from "react";
2
2
  import { safeUseId } from "../../../../utils";
3
3
  import { DropdownItem } from "../DropdownItem/DropdownItem";
4
4
  import { Ul, ListWrapper } from "../../Dropdown.styles";
5
5
  import { FloatingPopover } from "../../FloatingPopover";
6
6
  import { getPlacement } from "../../utils";
7
7
  var DropdownInner = function(param) {
8
- var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, trigger = param.trigger, listMaxHeight = param.listMaxHeight, listOverflow = param.listOverflow, listWidth = param.listWidth;
8
+ var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, trigger = param.trigger, listWidth = param.listWidth, portal = param.portal;
9
9
  var handleToggle = function(opened) {
10
10
  if (opened) {
11
11
  dispatchPath({
@@ -20,6 +20,7 @@ var DropdownInner = 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,14 +41,15 @@ var DropdownInner = 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, {
47
+ ref: listWrapperRef,
45
48
  listWidth: listWidth
46
49
  }, /*#__PURE__*/ React.createElement(Ul, {
47
50
  id: listId,
48
51
  role: "group",
49
- listMaxHeight: listMaxHeight,
50
- listOverflow: listOverflow
52
+ listMaxHeight: item.listMaxHeight
51
53
  }, item.items.map(function(innerItem, innerIndex) {
52
54
  return /*#__PURE__*/ React.createElement(DropdownInner, {
53
55
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -57,9 +59,8 @@ var DropdownInner = function(param) {
57
59
  dispatchPath: dispatchPath,
58
60
  index: innerIndex,
59
61
  trigger: trigger,
60
- listMaxHeight: listMaxHeight,
61
- listOverflow: listOverflow,
62
- listWidth: listWidth
62
+ listWidth: listWidth,
63
+ portal: listWrapperRef
63
64
  });
64
65
  }))));
65
66
  }
@@ -210,6 +210,7 @@ import { Context } from "./Select.context";
210
210
  var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
211
211
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
212
212
  var treeId = safeUseId();
213
+ var listWrapperRef = useRef(null);
213
214
  var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);
214
215
  // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
215
216
  var requiredProps = props.target === 'button-like' ? undefined : {
@@ -496,12 +497,12 @@ import { Context } from "./Select.context";
496
497
  disabled: disabled,
497
498
  readOnly: readOnly
498
499
  }, rest), /*#__PURE__*/ React.createElement(ListWrapper, {
500
+ ref: listWrapperRef,
499
501
  listWidth: listWidth
500
502
  }, /*#__PURE__*/ React.createElement(Ul, {
501
503
  role: "tree",
502
504
  id: "".concat(treeId, "_tree_level_1"),
503
505
  "aria-multiselectable": Boolean(props.multiselect),
504
- listOverflow: listOverflow,
505
506
  listMaxHeight: listMaxHeight || listHeight,
506
507
  onScroll: virtual ? undefined : handleScroll,
507
508
  ref: targetRef,
@@ -522,7 +523,8 @@ import { Context } from "./Select.context";
522
523
  path: path,
523
524
  dispatchPath: dispatchPath,
524
525
  index: index,
525
- listWidth: listWidth
526
+ listWidth: listWidth,
527
+ portal: listWrapperRef
526
528
  });
527
529
  }), afterList))))));
528
530
  });