@salutejs/plasma-new-hope 0.336.0-canary.2213.17513842134.0 → 0.336.0-canary.2213.17574256220.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 (214) 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/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/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/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  33. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  34. package/cjs/components/Pagination/Pagination.css +2 -2
  35. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  36. package/cjs/components/Select/Select.css +2 -2
  37. package/cjs/components/Select/Select.js +4 -3
  38. package/cjs/components/Select/Select.js.map +1 -1
  39. package/cjs/components/Select/Select.styles.js +3 -4
  40. package/cjs/components/Select/Select.styles.js.map +1 -1
  41. package/cjs/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
  42. package/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  43. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  44. package/cjs/components/Select/ui/Inner/Inner.css +2 -2
  45. package/cjs/components/Select/ui/Inner/Inner.js +11 -5
  46. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  47. package/cjs/components/Table/Table.css +2 -2
  48. package/cjs/components/Table/ui/Cell/Cell.css +2 -2
  49. package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
  50. package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
  51. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  52. package/cjs/index.css +10 -10
  53. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
  54. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  55. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  56. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  57. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  58. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +11 -0
  59. package/emotion/cjs/components/Dropdown/Dropdown.js +6 -10
  60. package/emotion/cjs/components/Dropdown/Dropdown.styles.js +5 -8
  61. package/emotion/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  62. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  63. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  64. package/emotion/cjs/components/Select/Select.js +4 -2
  65. package/emotion/cjs/components/Select/Select.styles.js +8 -8
  66. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  67. package/emotion/cjs/components/Select/ui/Inner/Inner.js +50 -9
  68. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
  69. package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  70. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  71. package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  72. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  73. package/emotion/es/components/Drawer/hooks/useDrawer.js +11 -0
  74. package/emotion/es/components/Dropdown/Dropdown.js +6 -10
  75. package/emotion/es/components/Dropdown/Dropdown.styles.js +5 -8
  76. package/emotion/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  77. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  78. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  79. package/emotion/es/components/Select/Select.js +4 -2
  80. package/emotion/es/components/Select/Select.styles.js +8 -8
  81. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  82. package/emotion/es/components/Select/ui/Inner/Inner.js +11 -6
  83. package/es/components/Combobox/ComboboxNew/Combobox.css +6 -6
  84. package/es/components/Combobox/ComboboxNew/Combobox.js +22 -23
  85. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  86. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
  87. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  88. package/es/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
  89. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  90. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  91. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  92. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  93. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
  94. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +12 -6
  95. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  96. package/es/components/Combobox/ComboboxOld/Combobox.css +2 -2
  97. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  98. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  99. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  100. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  101. package/es/components/Drawer/hooks/useDrawer.js +12 -0
  102. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  103. package/es/components/Dropdown/Dropdown.css +2 -2
  104. package/es/components/Dropdown/Dropdown.js +6 -10
  105. package/es/components/Dropdown/Dropdown.js.map +1 -1
  106. package/es/components/Dropdown/Dropdown.styles.js +2 -9
  107. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  108. package/{cjs/components/Dropdown/Dropdown.styles_zheit5.css → es/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  109. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  110. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  111. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  112. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +10 -10
  113. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  114. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  115. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  116. package/es/components/Pagination/Pagination.css +2 -2
  117. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  118. package/es/components/Select/Select.css +2 -2
  119. package/es/components/Select/Select.js +4 -3
  120. package/es/components/Select/Select.js.map +1 -1
  121. package/es/components/Select/Select.styles.js +3 -4
  122. package/es/components/Select/Select.styles.js.map +1 -1
  123. package/es/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
  124. package/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  125. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  126. package/es/components/Select/ui/Inner/Inner.css +2 -2
  127. package/es/components/Select/ui/Inner/Inner.js +12 -6
  128. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  129. package/es/components/Table/Table.css +2 -2
  130. package/es/components/Table/ui/Cell/Cell.css +2 -2
  131. package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
  132. package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
  133. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  134. package/es/index.css +10 -10
  135. package/package.json +2 -2
  136. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
  137. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  138. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  139. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  140. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  141. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +11 -0
  142. package/styled-components/cjs/components/Dropdown/Dropdown.js +6 -10
  143. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +3 -7
  144. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  145. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  146. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  147. package/styled-components/cjs/components/Select/Select.js +4 -2
  148. package/styled-components/cjs/components/Select/Select.styles.js +5 -5
  149. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  150. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +50 -9
  151. package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
  152. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
  153. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  154. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  155. package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  156. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  157. package/styled-components/es/components/Drawer/hooks/useDrawer.js +11 -0
  158. package/styled-components/es/components/Dropdown/Dropdown.js +6 -10
  159. package/styled-components/es/components/Dropdown/Dropdown.styles.js +3 -7
  160. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  161. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  162. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  163. package/styled-components/es/components/Select/Select.js +4 -2
  164. package/styled-components/es/components/Select/Select.styles.js +5 -5
  165. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  166. package/styled-components/es/components/Select/ui/Inner/Inner.js +11 -6
  167. package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
  168. package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -6
  169. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  170. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  171. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +0 -1
  172. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  173. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +1 -1
  174. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +6 -6
  175. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  176. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  177. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +2 -1
  178. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
  179. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +6 -2
  180. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  181. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  182. package/types/components/Dropdown/Dropdown.d.ts +4 -4
  183. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  184. package/types/components/Dropdown/Dropdown.styles.d.ts +0 -1
  185. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  186. package/types/components/Dropdown/Dropdown.types.d.ts +6 -6
  187. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  188. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  189. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +2 -3
  190. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
  191. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +7 -3
  192. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  193. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +6 -6
  194. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  195. package/types/components/Select/Select.d.ts.map +1 -1
  196. package/types/components/Select/Select.styles.d.ts +0 -1
  197. package/types/components/Select/Select.styles.d.ts.map +1 -1
  198. package/types/components/Select/Select.types.d.ts +10 -10
  199. package/types/components/Select/Select.types.d.ts.map +1 -1
  200. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  201. package/types/components/Select/ui/Inner/Inner.type.d.ts +2 -1
  202. package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
  203. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +11 -3
  204. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  205. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +6 -6
  206. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  207. package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
  208. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  209. package/types/examples/components/Combobox/Combobox.d.ts +24 -24
  210. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  211. package/types/examples/components/Dropdown/Dropdown.d.ts +2 -2
  212. package/types/examples/components/Dropdown/Dropdown.d.ts.map +1 -1
  213. package/types/examples/components/Select/Select.d.ts +6 -6
  214. package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -268,6 +268,7 @@ var selectRoot = function(Root) {
268
268
  var activeDescendantItemValue = ((_getItemByFocused = (0, _useKeyboardNavigation.getItemByFocused)(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
269
269
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
270
270
  var treeId = (0, _utils.safeUseId)();
271
+ var listWrapperRef = (0, _react.useRef)(null);
271
272
  var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : (0, _utils1.getView)(status, outerView);
272
273
  // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
273
274
  var requiredProps = props.target === 'button-like' ? undefined : {
@@ -558,12 +559,12 @@ var selectRoot = function(Root) {
558
559
  disabled: disabled,
559
560
  readOnly: readOnly
560
561
  }, rest), /*#__PURE__*/ _react.default.createElement(_Selectstyles.ListWrapper, {
562
+ ref: listWrapperRef,
561
563
  listWidth: listWidth
562
564
  }, /*#__PURE__*/ _react.default.createElement(_Selectstyles.Ul, {
563
565
  role: "tree",
564
566
  id: "".concat(treeId, "_tree_level_1"),
565
567
  "aria-multiselectable": Boolean(props.multiselect),
566
- listOverflow: listOverflow,
567
568
  listMaxHeight: listMaxHeight || listHeight,
568
569
  onScroll: virtual ? undefined : handleScroll,
569
570
  ref: targetRef,
@@ -584,7 +585,8 @@ var selectRoot = function(Root) {
584
585
  path: path,
585
586
  dispatchPath: dispatchPath,
586
587
  index: index,
587
- listWidth: listWidth
588
+ listWidth: listWidth,
589
+ portal: listWrapperRef
588
590
  });
589
591
  }), afterList))))));
590
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
  }
@@ -1 +1,16 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Combobox", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Combobox;
9
+ }
10
+ });
11
+ var _engines = require("../../../engines");
12
+ var _ = require("../../..");
13
+ var _Comboboxconfig = require("./Combobox.config");
14
+ var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
15
+ var ComboboxComponent = (0, _engines.component)(mergedConfig);
16
+ var Combobox = ComboboxComponent;
@@ -226,6 +226,7 @@ import { Context } from "./Combobox.context";
226
226
  var floatingPopoverRef = useRef(null);
227
227
  var inputForkRef = useForkRef(inputRef, ref);
228
228
  var treeId = safeUseId();
229
+ var listWrapperRef = useRef(null);
229
230
  var filteredItems = useMemo(function() {
230
231
  return filterItems(transformedItems, textValue, getTextValue(multiple, value, valueToItemMap, renderValue), filter);
231
232
  }, [
@@ -286,22 +287,10 @@ import { Context } from "./Combobox.context";
286
287
  setInternalValue(newValue);
287
288
  }
288
289
  };
289
- var handleClickArrow = function() {
290
- if (disabled || readOnly) {
291
- return;
292
- }
293
- if (isCurrentListOpen) {
294
- dispatchPath({
295
- type: 'reset'
296
- });
297
- } else {
298
- dispatchPath({
299
- type: 'opened_first_level'
300
- });
301
- }
302
- dispatchFocusedPath({
303
- type: 'reset'
304
- });
290
+ var handleClickArrow = function(e) {
291
+ handleListToggle(!isCurrentListOpen);
292
+ // При клике на иконку закрытия фокус не должен становиться в инпут.
293
+ e.stopPropagation();
305
294
  };
306
295
  // Обработчик изменения значения в инпуте
307
296
  var handleTextValueChange = function(e) {
@@ -442,6 +431,12 @@ import { Context } from "./Combobox.context";
442
431
  onChange(isCurrentChecked ? '' : item.value, item);
443
432
  }
444
433
  };
434
+ // Обработчик клика на таргет
435
+ var handleTargetClick = function() {
436
+ if (!isCurrentListOpen) {
437
+ handleListToggle(true);
438
+ }
439
+ };
445
440
  var getChips = function() {
446
441
  if (multiple && Array.isArray(value)) {
447
442
  if (value.length === 0) return [];
@@ -574,13 +569,14 @@ import { Context } from "./Combobox.context";
574
569
  }, /*#__PURE__*/ React.createElement(FloatingPopover, {
575
570
  ref: floatingPopoverRef,
576
571
  opened: isCurrentListOpen,
577
- onToggle: handleListToggle,
578
572
  placement: placement,
579
573
  portal: portal,
580
574
  listWidth: listWidth,
581
575
  offset: _offset,
582
576
  target: function(referenceRef) {
583
- 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({
584
580
  ref: name ? inputRef : inputForkRef,
585
581
  inputWrapperRef: referenceRef,
586
582
  value: textValue,
@@ -594,7 +590,8 @@ import { Context } from "./Combobox.context";
594
590
  contentLeft: contentLeft,
595
591
  contentRight: /*#__PURE__*/ React.createElement(IconArrowWrapper, {
596
592
  disabled: disabled,
597
- onClick: handleClickArrow
593
+ onClick: handleClickArrow,
594
+ className: classes.comboboxTargetArrow
598
595
  }, /*#__PURE__*/ React.createElement(StyledArrow, {
599
596
  color: "inherit",
600
597
  size: sizeToIconSize(size),
@@ -621,7 +618,7 @@ import { Context } from "./Combobox.context";
621
618
  enumerationType: 'plain'
622
619
  }, rest), {
623
620
  _onEnterDisabled: true // Пропс для отключения обработчика Enter внутри Textfield
624
- }));
621
+ })));
625
622
  },
626
623
  zIndex: zIndex,
627
624
  isInner: false
@@ -633,6 +630,7 @@ import { Context } from "./Combobox.context";
633
630
  readOnly: readOnly,
634
631
  name: name
635
632
  }, /*#__PURE__*/ React.createElement(ListWrapper, {
633
+ ref: listWrapperRef,
636
634
  listWidth: listWidth
637
635
  }, /*#__PURE__*/ React.createElement(Ul, {
638
636
  role: "tree",
@@ -641,7 +639,6 @@ import { Context } from "./Combobox.context";
641
639
  listMaxHeight: listMaxHeight || listHeight,
642
640
  ref: targetRef,
643
641
  virtual: virtual,
644
- listOverflow: listOverflow,
645
642
  onScroll: virtual ? undefined : onScroll
646
643
  }, beforeList, isEmpty(filteredItems) ? /*#__PURE__*/ React.createElement(StyledEmptyState, {
647
644
  className: classes.emptyStateWrapper,
@@ -663,7 +660,8 @@ import { Context } from "./Combobox.context";
663
660
  path: path,
664
661
  dispatchPath: dispatchPath,
665
662
  index: index,
666
- listWidth: listWidth
663
+ listWidth: listWidth,
664
+ portal: listWrapperRef
667
665
  });
668
666
  })), afterList)))))));
669
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: {
@@ -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
  ""
@@ -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
  }
@@ -133,7 +133,7 @@ export var DropdownItem = function(param) {
133
133
  };
134
134
  var handleHover = function() {
135
135
  if (onHover) {
136
- onHover(index);
136
+ onHover(index, item);
137
137
  }
138
138
  };
139
139
  return /*#__PURE__*/ React.createElement(React.Fragment, null, dividerBefore && /*#__PURE__*/ React.createElement(Divider, {