@salutejs/plasma-new-hope 0.175.0-canary.1504.11549657359.0 → 0.175.1-canary.1497.11552145733.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (221) hide show
  1. package/cjs/components/Combobox/ComboboxNew/Combobox.css +10 -10
  2. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +10 -10
  3. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +10 -10
  4. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  5. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  6. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +6 -20
  7. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  8. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/{Item.styles_1us8jz1.css → Item.styles_y71664.css} +1 -1
  9. package/cjs/components/Combobox/ComboboxOld/Combobox.css +28 -14
  10. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +32 -18
  11. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +32 -18
  12. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +32 -18
  13. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +32 -18
  14. package/cjs/components/Dropdown/Dropdown.css +30 -16
  15. package/cjs/components/Dropdown/Dropdown.js +60 -37
  16. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  17. package/cjs/components/Dropdown/Dropdown.styles.js +14 -26
  18. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  19. package/cjs/components/Dropdown/Dropdown.styles_1ix6io8.css +2 -0
  20. package/cjs/components/Dropdown/Dropdown.tokens.js +24 -1
  21. package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
  22. package/cjs/components/Dropdown/FloatingPopover.js +104 -0
  23. package/cjs/components/Dropdown/FloatingPopover.js.map +1 -0
  24. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +17 -51
  25. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  26. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +46 -6
  27. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +29 -18
  28. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  29. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +25 -31
  30. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  31. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_17va0nk.css +5 -0
  32. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +1 -1
  33. package/{es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles_12e50g5.css → cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles_1lyg81y.css} +1 -1
  34. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +4 -4
  35. package/cjs/components/Dropdown/utils/getItemByFocused.js +13 -0
  36. package/cjs/components/Dropdown/utils/getItemByFocused.js.map +1 -0
  37. package/cjs/components/Dropdown/utils/getItemId.js +10 -0
  38. package/cjs/components/Dropdown/utils/getItemId.js.map +1 -0
  39. package/cjs/components/Dropdown/utils/getPlacement.js +16 -0
  40. package/cjs/components/Dropdown/utils/getPlacement.js.map +1 -0
  41. package/cjs/components/Dropdown/utils/index.js.map +1 -1
  42. package/cjs/components/Select/Select.js +1 -1
  43. package/cjs/components/Select/utils/getCorrectHeight.js.map +1 -1
  44. package/cjs/hooks/useOutsideClick.js +1 -1
  45. package/cjs/hooks/useOutsideClick.js.map +1 -1
  46. package/cjs/index.css +20 -22
  47. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  48. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +14 -20
  49. package/emotion/cjs/components/Dropdown/Dropdown.js +58 -37
  50. package/emotion/cjs/components/Dropdown/Dropdown.styles.js +9 -25
  51. package/emotion/cjs/components/Dropdown/Dropdown.tokens.js +36 -2
  52. package/emotion/cjs/components/Dropdown/FloatingPopover.js +109 -0
  53. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +17 -51
  54. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +29 -18
  55. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +21 -41
  56. package/emotion/cjs/components/Dropdown/utils/getItemByFocused.js +12 -0
  57. package/emotion/cjs/components/Dropdown/utils/getItemId.js +9 -0
  58. package/emotion/cjs/components/Dropdown/utils/getPlacement.js +15 -0
  59. package/emotion/cjs/components/Dropdown/utils/index.js +23 -1
  60. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +12 -12
  61. package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  62. package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
  63. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +12 -12
  64. package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  65. package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
  66. package/emotion/cjs/hooks/useOutsideClick.js +1 -1
  67. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  68. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +14 -20
  69. package/emotion/es/components/Dropdown/Dropdown.js +60 -40
  70. package/emotion/es/components/Dropdown/Dropdown.styles.js +9 -25
  71. package/emotion/es/components/Dropdown/Dropdown.tokens.js +35 -1
  72. package/emotion/es/components/Dropdown/FloatingPopover.js +102 -0
  73. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +18 -52
  74. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +31 -20
  75. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +22 -42
  76. package/emotion/es/components/Dropdown/utils/getItemByFocused.js +6 -0
  77. package/emotion/es/components/Dropdown/utils/getItemId.js +3 -0
  78. package/emotion/es/components/Dropdown/utils/getPlacement.js +9 -0
  79. package/emotion/es/components/Dropdown/utils/index.js +4 -1
  80. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +12 -12
  81. package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +6 -6
  82. package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
  83. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.config.js +12 -12
  84. package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +6 -6
  85. package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
  86. package/emotion/es/hooks/useOutsideClick.js +1 -1
  87. package/es/components/Combobox/ComboboxNew/Combobox.css +10 -10
  88. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +10 -10
  89. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +10 -10
  90. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  91. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  92. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +6 -20
  93. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  94. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/{Item.styles_1us8jz1.css → Item.styles_y71664.css} +1 -1
  95. package/es/components/Combobox/ComboboxOld/Combobox.css +28 -14
  96. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +32 -18
  97. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +32 -18
  98. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +32 -18
  99. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +32 -18
  100. package/es/components/Dropdown/Dropdown.css +30 -16
  101. package/es/components/Dropdown/Dropdown.js +62 -40
  102. package/es/components/Dropdown/Dropdown.js.map +1 -1
  103. package/es/components/Dropdown/Dropdown.styles.js +15 -26
  104. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  105. package/es/components/Dropdown/Dropdown.styles_1ix6io8.css +2 -0
  106. package/es/components/Dropdown/Dropdown.tokens.js +24 -1
  107. package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
  108. package/es/components/Dropdown/FloatingPopover.js +100 -0
  109. package/es/components/Dropdown/FloatingPopover.js.map +1 -0
  110. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +18 -52
  111. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  112. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +46 -6
  113. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +31 -20
  114. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  115. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +24 -29
  116. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  117. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_17va0nk.css +5 -0
  118. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +1 -1
  119. package/{cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles_12e50g5.css → es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles_1lyg81y.css} +1 -1
  120. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +4 -4
  121. package/es/components/Dropdown/utils/getItemByFocused.js +9 -0
  122. package/es/components/Dropdown/utils/getItemByFocused.js.map +1 -0
  123. package/es/components/Dropdown/utils/getItemId.js +6 -0
  124. package/es/components/Dropdown/utils/getItemId.js.map +1 -0
  125. package/es/components/Dropdown/utils/getPlacement.js +12 -0
  126. package/es/components/Dropdown/utils/getPlacement.js.map +1 -0
  127. package/es/components/Dropdown/utils/index.js.map +1 -1
  128. package/es/components/Select/Select.js +1 -1
  129. package/es/components/Select/utils/getCorrectHeight.js.map +1 -1
  130. package/es/hooks/useOutsideClick.js +1 -1
  131. package/es/hooks/useOutsideClick.js.map +1 -1
  132. package/es/index.css +20 -22
  133. package/package.json +2 -2
  134. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  135. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +4 -10
  136. package/styled-components/cjs/components/Dropdown/Dropdown.js +58 -37
  137. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +9 -15
  138. package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +36 -2
  139. package/styled-components/cjs/components/Dropdown/FloatingPopover.js +109 -0
  140. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +17 -51
  141. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +29 -18
  142. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +17 -19
  143. package/styled-components/cjs/components/Dropdown/utils/getItemByFocused.js +12 -0
  144. package/styled-components/cjs/components/Dropdown/utils/getItemId.js +9 -0
  145. package/styled-components/cjs/components/Dropdown/utils/getPlacement.js +15 -0
  146. package/styled-components/cjs/components/Dropdown/utils/index.js +23 -1
  147. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +4 -4
  148. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  149. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
  150. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +4 -4
  151. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  152. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
  153. package/styled-components/cjs/hooks/useOutsideClick.js +1 -1
  154. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  155. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +4 -10
  156. package/styled-components/es/components/Dropdown/Dropdown.js +60 -40
  157. package/styled-components/es/components/Dropdown/Dropdown.styles.js +9 -15
  158. package/styled-components/es/components/Dropdown/Dropdown.tokens.js +35 -1
  159. package/styled-components/es/components/Dropdown/FloatingPopover.js +102 -0
  160. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +18 -52
  161. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +31 -20
  162. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +18 -20
  163. package/styled-components/es/components/Dropdown/utils/getItemByFocused.js +6 -0
  164. package/styled-components/es/components/Dropdown/utils/getItemId.js +3 -0
  165. package/styled-components/es/components/Dropdown/utils/getPlacement.js +9 -0
  166. package/styled-components/es/components/Dropdown/utils/index.js +4 -1
  167. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +4 -4
  168. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +6 -6
  169. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
  170. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.config.js +4 -4
  171. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +6 -6
  172. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
  173. package/styled-components/es/hooks/useOutsideClick.js +1 -1
  174. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.d.ts.map +1 -1
  175. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.d.ts.map +1 -1
  176. package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts +2 -1
  177. package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts.map +1 -1
  178. package/types/components/Dropdown/Dropdown.d.ts +2 -1
  179. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  180. package/types/components/Dropdown/Dropdown.styles.d.ts +1 -6
  181. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  182. package/types/components/Dropdown/Dropdown.tokens.d.ts +25 -0
  183. package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
  184. package/types/components/Dropdown/Dropdown.types.d.ts +30 -4
  185. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  186. package/types/components/Dropdown/FloatingPopover.d.ts +5 -0
  187. package/types/components/Dropdown/FloatingPopover.d.ts.map +1 -0
  188. package/types/components/Dropdown/index.d.ts +1 -1
  189. package/types/components/Dropdown/index.d.ts.map +1 -1
  190. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  191. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +1 -12
  192. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
  193. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
  194. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +32 -3
  195. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
  196. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +1 -14
  197. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  198. package/types/components/Dropdown/utils/getItemByFocused.d.ts +4 -0
  199. package/types/components/Dropdown/utils/getItemByFocused.d.ts.map +1 -0
  200. package/types/components/Dropdown/utils/getItemId.d.ts +2 -0
  201. package/types/components/Dropdown/utils/getItemId.d.ts.map +1 -0
  202. package/types/components/Dropdown/utils/getPlacement.d.ts +3 -0
  203. package/types/components/Dropdown/utils/getPlacement.d.ts.map +1 -0
  204. package/types/components/Dropdown/utils/index.d.ts +3 -0
  205. package/types/components/Dropdown/utils/index.d.ts.map +1 -1
  206. package/types/components/Select/utils/getCorrectHeight.d.ts +2 -2
  207. package/types/components/Select/utils/getCorrectHeight.d.ts.map +1 -1
  208. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts +3 -3
  209. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts.map +1 -1
  210. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +4 -4
  211. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +1 -1
  212. package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts +3 -3
  213. package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts.map +1 -1
  214. package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts +4 -4
  215. package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts.map +1 -1
  216. package/types/hooks/useOutsideClick.d.ts +1 -1
  217. package/types/hooks/useOutsideClick.d.ts.map +1 -1
  218. package/cjs/components/Dropdown/Dropdown.styles_1tihqkp.css +0 -3
  219. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_blclup.css +0 -6
  220. package/es/components/Dropdown/Dropdown.styles_1tihqkp.css +0 -3
  221. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_blclup.css +0 -6
@@ -4,9 +4,11 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.dropdownRoot = exports.dropdownConfig = void 0;
7
+ exports.dropdownRoot = exports.dropdownConfig = exports.Context = void 0;
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
+ var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
9
10
  var _utils = /*#__PURE__*/require("../../utils");
11
+ var _hooks = /*#__PURE__*/require("../../hooks");
10
12
  var _pathReducer = /*#__PURE__*/require("./reducers/pathReducer");
11
13
  var _focusedPathReducer = /*#__PURE__*/require("./reducers/focusedPathReducer");
12
14
  var _ui = /*#__PURE__*/require("./ui");
@@ -17,6 +19,7 @@ var _utils2 = /*#__PURE__*/require("./utils");
17
19
  var _Dropdown2 = /*#__PURE__*/require("./Dropdown.tokens");
18
20
  var _useKeyboardNavigation = /*#__PURE__*/require("./hooks/useKeyboardNavigation");
19
21
  var _useHashMaps3 = /*#__PURE__*/require("./hooks/useHashMaps");
22
+ var _FloatingPopover = /*#__PURE__*/require("./FloatingPopover");
20
23
  var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
21
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
25
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -29,17 +32,18 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
29
32
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
33
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
31
34
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
35
+ var Context = exports.Context = /*#__PURE__*/(0, _react.createContext)({});
36
+
32
37
  /**
33
38
  * Выпадающий список.
34
39
  */
35
40
  var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
36
41
  return /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
42
+ var _getItemByFocused;
37
43
  var items = _ref.items,
38
44
  children = _ref.children,
39
- _ref$placement = _ref.placement,
40
- placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,
41
- _ref$offset = _ref.offset,
42
- offset = _ref$offset === void 0 ? [0, 0] : _ref$offset,
45
+ placement = _ref.placement,
46
+ offset = _ref.offset,
43
47
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
44
48
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
45
49
  onToggle = _ref.onToggle,
@@ -76,6 +80,25 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
76
80
  _useHashMaps2 = _slicedToArray(_useHashMaps, 2),
77
81
  pathMap = _useHashMaps2[0],
78
82
  focusedToValueMap = _useHashMaps2[1];
83
+ var activeDescendantItemValue = ((_getItemByFocused = (0, _utils2.getItemByFocused)(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
84
+ var floatingPopoverRef = (0, _react.useRef)(null);
85
+ var treeId = (0, _plasmaCore.safeUseId)();
86
+
87
+ // Логика работы при клике за пределами выпадающего списка
88
+ var targetRef = (0, _hooks.useOutsideClick)(function (event) {
89
+ if (!isCurrentListOpen || !closeOnOverlayClick) {
90
+ return;
91
+ }
92
+ dispatchPath({
93
+ type: 'reset'
94
+ });
95
+ dispatchFocusedPath({
96
+ type: 'reset'
97
+ });
98
+ if (onToggle) {
99
+ onToggle(false, event);
100
+ }
101
+ }, floatingPopoverRef);
79
102
  var handleGlobalToggle = function handleGlobalToggle(opened, event) {
80
103
  if (opened) {
81
104
  dispatchPath({
@@ -107,66 +130,64 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
107
130
  }),
108
131
  onKeyDown = _useKeyNavigation.onKeyDown;
109
132
  var isCurrentListOpen = Boolean(path[0]);
110
- var getActiveDescendant = function getActiveDescendant() {
111
- var _focusedToValueMap$ge;
112
- var focusedPathAsString = focusedPath.reduce(function (acc, n) {
113
- return "".concat(acc, "/").concat(n);
114
- }, '').replace(/^(\/)/, '');
115
- return focusedToValueMap === null || focusedToValueMap === void 0 || (_focusedToValueMap$ge = focusedToValueMap.get(focusedPathAsString)) === null || _focusedToValueMap$ge === void 0 ? void 0 : _focusedToValueMap$ge.value.toString();
116
- };
117
- return /*#__PURE__*/_react["default"].createElement(_Dropdown.StyledPopover, {
133
+ return /*#__PURE__*/_react["default"].createElement(Context.Provider, {
134
+ value: {
135
+ focusedPath: focusedPath,
136
+ size: size,
137
+ variant: variant,
138
+ itemRole: itemRole,
139
+ handleGlobalToggle: handleGlobalToggle,
140
+ closeOnSelect: closeOnSelect,
141
+ onHover: onHover,
142
+ onItemClick: onItemClick,
143
+ onItemSelect: onItemSelect,
144
+ hasArrow: hasArrow,
145
+ treeId: treeId
146
+ }
147
+ }, /*#__PURE__*/_react["default"].createElement(_FloatingPopover.FloatingPopover, {
148
+ ref: floatingPopoverRef,
118
149
  opened: isCurrentListOpen,
119
150
  onToggle: handleGlobalToggle,
151
+ placement: (0, _utils2.getPlacement)(placement),
120
152
  offset: offset,
121
- placement: (0, _utils.getPlacements)(placement),
153
+ portal: portal,
122
154
  trigger: trigger,
123
- closeOnOverlayClick: closeOnOverlayClick,
124
- isFocusTrapped: false,
125
155
  target: (0, _utils2.childrenWithProps)(children, {
126
156
  role: 'combobox',
127
- 'aria-controls': 'tree_level_1',
157
+ 'aria-controls': "".concat(treeId, "_tree_level_1"),
128
158
  'aria-expanded': isCurrentListOpen,
129
- 'aria-activedescendant': getActiveDescendant(),
159
+ 'aria-activedescendant': activeDescendantItemValue ? (0, _utils2.getItemId)(treeId, activeDescendantItemValue.toString()) : '',
130
160
  onKeyDown: onKeyDown
131
- }),
132
- preventOverflow: false,
133
- usePortal: Boolean(portal),
134
- frame: portal
161
+ })
135
162
  }, /*#__PURE__*/_react["default"].createElement(Root, _extends({
136
163
  className: (0, _utils.cx)(className, _Dropdown2.classes.dropdownRoot),
137
164
  ref: ref,
138
165
  view: view,
139
- size: size
166
+ size: size,
167
+ style: {
168
+ display: 'inline-block'
169
+ }
140
170
  }, rest), /*#__PURE__*/_react["default"].createElement(_Dropdown.Ul, {
171
+ ref: targetRef,
172
+ id: "".concat(treeId, "_tree_level_1"),
173
+ role: "tree",
141
174
  listHeight: listHeight,
142
175
  listOverflow: listOverflow,
143
- role: "tree",
144
- id: "tree_level_1",
145
176
  listWidth: listWidth
146
177
  }, items.map(function (item, index) {
147
178
  return /*#__PURE__*/_react["default"].createElement(_ui.DropdownInner, {
148
179
  key: "".concat(index, "/0"),
149
180
  item: item,
150
181
  currentLevel: 0,
151
- focusedPath: focusedPath,
152
182
  trigger: trigger,
153
183
  path: path,
154
184
  dispatchPath: dispatchPath,
155
185
  index: index,
156
- itemRole: itemRole,
157
186
  listHeight: listHeight,
158
187
  listOverflow: listOverflow,
159
- handleGlobalToggle: handleGlobalToggle,
160
- closeOnSelect: closeOnSelect,
161
- onHover: onHover,
162
- onItemSelect: onItemSelect,
163
- onItemClick: onItemClick,
164
- listWidth: listWidth,
165
- variant: variant,
166
- hasArrow: hasArrow,
167
- size: size
188
+ listWidth: listWidth
168
189
  });
169
- }))));
190
+ })))));
170
191
  });
171
192
  };
172
193
  var dropdownConfig = exports.dropdownConfig = {
@@ -3,42 +3,26 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.base = exports.Ul = exports.StyledPopover = void 0;
6
+ exports.base = exports.Ul = void 0;
7
7
  var _base = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@emotion/styled/base"));
8
8
  var _react = /*#__PURE__*/require("@emotion/react");
9
- var _engines = /*#__PURE__*/require("../../engines");
10
- var _Popover = /*#__PURE__*/require("../Popover");
11
9
  var _utils = /*#__PURE__*/require("./utils");
12
10
  var _Dropdown = /*#__PURE__*/require("./Dropdown.tokens");
13
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
15
- var Popover = /*#__PURE__*/(0, _engines.component)(_Popover.popoverConfig);
16
- var StyledPopover = exports.StyledPopover = /*#__PURE__*/(0, _base["default"])(Popover, {
17
- target: "euqmbvx1",
18
- label: "plasma-new-hope__StyledPopover"
19
- })(".", /*#__PURE__*/String(_Popover.popoverClasses.wrapper), ",.", /*#__PURE__*/String(_Popover.popoverClasses.target), "{display:block;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVk0QyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL0Ryb3Bkb3duL0Ryb3Bkb3duLnN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHsgY29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBwb3BvdmVyQ29uZmlnLCBwb3BvdmVyQ2xhc3NlcyB9IGZyb20gJy4uL1BvcG92ZXInO1xuXG5pbXBvcnQgeyBnZXRDb3JyZWN0SGVpZ2h0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEcm9wZG93blByb3BzIH0gZnJvbSAnLi9Ecm9wZG93bi50eXBlcyc7XG5pbXBvcnQgeyB0b2tlbnMgfSBmcm9tICcuL0Ryb3Bkb3duLnRva2Vucyc7XG5cbmNvbnN0IFBvcG92ZXIgPSBjb21wb25lbnQocG9wb3ZlckNvbmZpZyk7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQb3BvdmVyID0gc3R5bGVkKFBvcG92ZXIpYFxuICAgIC4ke1N0cmluZyhwb3BvdmVyQ2xhc3Nlcy53cmFwcGVyKX0sIC4ke1N0cmluZyhwb3BvdmVyQ2xhc3Nlcy50YXJnZXQpfSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVbCA9IHN0eWxlZC51bDx7XG4gICAgbGlzdEhlaWdodDogRHJvcGRvd25Qcm9wc1snbGlzdEhlaWdodCddO1xuICAgIGxpc3RPdmVyZmxvdzogRHJvcGRvd25Qcm9wc1snbGlzdE92ZXJmbG93J107XG4gICAgaXNJbm5lclVsPzogYm9vbGVhbjtcbiAgICBsaXN0V2lkdGg/OiBEcm9wZG93blByb3BzWydsaXN0V2lkdGgnXTtcbn0+YFxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHt0b2tlbnMuYmFja2dyb3VuZH0pO1xuICAgIGJveC1zaGFkb3c6IHZhcigke3Rva2Vucy5ib3hTaGFkb3d9KTtcblxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigke3Rva2Vucy5ib3JkZXJSYWRpdXN9KTtcbiAgICB3aWR0aDogJHsoeyBsaXN0V2lkdGggfSkgPT4gbGlzdFdpZHRoIHx8IGB2YXIoJHt0b2tlbnMud2lkdGh9KWB9O1xuICAgIGhlaWdodDogJHsoeyBsaXN0SGVpZ2h0IH0pID0+IChsaXN0SGVpZ2h0ID8gZ2V0Q29ycmVjdEhlaWdodChsaXN0SGVpZ2h0KSA6ICdhdXRvJyl9O1xuICAgIG92ZXJmbG93OiAkeyh7IGxpc3RPdmVyZmxvdyB9KSA9PiBsaXN0T3ZlcmZsb3cgfHwgJ2luaXRpYWwnfTtcblxuICAgIG1hcmdpbjogJHsoeyBpc0lubmVyVWwgfSkgPT4gKGlzSW5uZXJVbCA/IGBjYWxjKHZhcigke3Rva2Vucy5wYWRkaW5nfSkgKiAtMSkgMCAwIHZhcigke3Rva2Vucy5wYWRkaW5nfSlgIDogMCl9O1xuICAgIHBhZGRpbmc6IHZhcigke3Rva2Vucy5wYWRkaW5nfSk7XG5gO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5gO1xuIl19 */"));
20
12
  var Ul = exports.Ul = /*#__PURE__*/(0, _base["default"])("ul", {
21
13
  target: "euqmbvx0",
22
14
  label: "plasma-new-hope__Ul"
23
- })("box-sizing:border-box;background:var(", _Dropdown.tokens.background, ");box-shadow:var(", _Dropdown.tokens.boxShadow, ");border-radius:var(", _Dropdown.tokens.borderRadius, ");width:", function (_ref) {
15
+ })("box-sizing:border-box;width:", function (_ref) {
24
16
  var listWidth = _ref.listWidth;
25
17
  return listWidth || "var(".concat(_Dropdown.tokens.width, ")");
26
18
  }, ";height:", function (_ref2) {
27
19
  var listHeight = _ref2.listHeight;
28
20
  return listHeight ? (0, _utils.getCorrectHeight)(listHeight) : 'auto';
29
- }, ";overflow:", function (_ref3) {
30
- var listOverflow = _ref3.listOverflow;
21
+ }, ";margin:", function (_ref3) {
22
+ var isInnerUl = _ref3.isInnerUl;
23
+ return isInnerUl ? "calc(var(".concat(_Dropdown.tokens.padding, ") * -1) 0.125rem 0") : 0;
24
+ }, ";padding:var(", _Dropdown.tokens.padding, ") 0;overflow:", function (_ref4) {
25
+ var listOverflow = _ref4.listOverflow;
31
26
  return listOverflow || 'initial';
32
- }, ";margin:", function (_ref4) {
33
- var isInnerUl = _ref4.isInnerUl;
34
- return isInnerUl ? "calc(var(".concat(_Dropdown.tokens.padding, ") * -1) 0 0 var(").concat(_Dropdown.tokens.padding, ")") : 0;
35
- }, ";padding:var(", _Dropdown.tokens.padding, ");" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCRSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL0Ryb3Bkb3duL0Ryb3Bkb3duLnN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHsgY29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBwb3BvdmVyQ29uZmlnLCBwb3BvdmVyQ2xhc3NlcyB9IGZyb20gJy4uL1BvcG92ZXInO1xuXG5pbXBvcnQgeyBnZXRDb3JyZWN0SGVpZ2h0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEcm9wZG93blByb3BzIH0gZnJvbSAnLi9Ecm9wZG93bi50eXBlcyc7XG5pbXBvcnQgeyB0b2tlbnMgfSBmcm9tICcuL0Ryb3Bkb3duLnRva2Vucyc7XG5cbmNvbnN0IFBvcG92ZXIgPSBjb21wb25lbnQocG9wb3ZlckNvbmZpZyk7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQb3BvdmVyID0gc3R5bGVkKFBvcG92ZXIpYFxuICAgIC4ke1N0cmluZyhwb3BvdmVyQ2xhc3Nlcy53cmFwcGVyKX0sIC4ke1N0cmluZyhwb3BvdmVyQ2xhc3Nlcy50YXJnZXQpfSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVbCA9IHN0eWxlZC51bDx7XG4gICAgbGlzdEhlaWdodDogRHJvcGRvd25Qcm9wc1snbGlzdEhlaWdodCddO1xuICAgIGxpc3RPdmVyZmxvdzogRHJvcGRvd25Qcm9wc1snbGlzdE92ZXJmbG93J107XG4gICAgaXNJbm5lclVsPzogYm9vbGVhbjtcbiAgICBsaXN0V2lkdGg/OiBEcm9wZG93blByb3BzWydsaXN0V2lkdGgnXTtcbn0+YFxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHt0b2tlbnMuYmFja2dyb3VuZH0pO1xuICAgIGJveC1zaGFkb3c6IHZhcigke3Rva2Vucy5ib3hTaGFkb3d9KTtcblxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigke3Rva2Vucy5ib3JkZXJSYWRpdXN9KTtcbiAgICB3aWR0aDogJHsoeyBsaXN0V2lkdGggfSkgPT4gbGlzdFdpZHRoIHx8IGB2YXIoJHt0b2tlbnMud2lkdGh9KWB9O1xuICAgIGhlaWdodDogJHsoeyBsaXN0SGVpZ2h0IH0pID0+IChsaXN0SGVpZ2h0ID8gZ2V0Q29ycmVjdEhlaWdodChsaXN0SGVpZ2h0KSA6ICdhdXRvJyl9O1xuICAgIG92ZXJmbG93OiAkeyh7IGxpc3RPdmVyZmxvdyB9KSA9PiBsaXN0T3ZlcmZsb3cgfHwgJ2luaXRpYWwnfTtcblxuICAgIG1hcmdpbjogJHsoeyBpc0lubmVyVWwgfSkgPT4gKGlzSW5uZXJVbCA/IGBjYWxjKHZhcigke3Rva2Vucy5wYWRkaW5nfSkgKiAtMSkgMCAwIHZhcigke3Rva2Vucy5wYWRkaW5nfSlgIDogMCl9O1xuICAgIHBhZGRpbmc6IHZhcigke3Rva2Vucy5wYWRkaW5nfSk7XG5gO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5gO1xuIl19 */"));
36
- var base = exports.base = process.env.NODE_ENV === "production" ? {
37
- name: "1mufh2u-plasma-new-hope__base",
38
- styles: "display:inline-block;label:plasma-new-hope__base;"
39
- } : {
40
- name: "1mufh2u-plasma-new-hope__base",
41
- styles: "display:inline-block;label:plasma-new-hope__base;",
42
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNDdUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi5zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB7IGNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgcG9wb3ZlckNvbmZpZywgcG9wb3ZlckNsYXNzZXMgfSBmcm9tICcuLi9Qb3BvdmVyJztcblxuaW1wb3J0IHsgZ2V0Q29ycmVjdEhlaWdodCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgRHJvcGRvd25Qcm9wcyB9IGZyb20gJy4vRHJvcGRvd24udHlwZXMnO1xuaW1wb3J0IHsgdG9rZW5zIH0gZnJvbSAnLi9Ecm9wZG93bi50b2tlbnMnO1xuXG5jb25zdCBQb3BvdmVyID0gY29tcG9uZW50KHBvcG92ZXJDb25maWcpO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUG9wb3ZlciA9IHN0eWxlZChQb3BvdmVyKWBcbiAgICAuJHtTdHJpbmcocG9wb3ZlckNsYXNzZXMud3JhcHBlcil9LCAuJHtTdHJpbmcocG9wb3ZlckNsYXNzZXMudGFyZ2V0KX0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVWwgPSBzdHlsZWQudWw8e1xuICAgIGxpc3RIZWlnaHQ6IERyb3Bkb3duUHJvcHNbJ2xpc3RIZWlnaHQnXTtcbiAgICBsaXN0T3ZlcmZsb3c6IERyb3Bkb3duUHJvcHNbJ2xpc3RPdmVyZmxvdyddO1xuICAgIGlzSW5uZXJVbD86IGJvb2xlYW47XG4gICAgbGlzdFdpZHRoPzogRHJvcGRvd25Qcm9wc1snbGlzdFdpZHRoJ107XG59PmBcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgYmFja2dyb3VuZDogdmFyKCR7dG9rZW5zLmJhY2tncm91bmR9KTtcbiAgICBib3gtc2hhZG93OiB2YXIoJHt0b2tlbnMuYm94U2hhZG93fSk7XG5cbiAgICBib3JkZXItcmFkaXVzOiB2YXIoJHt0b2tlbnMuYm9yZGVyUmFkaXVzfSk7XG4gICAgd2lkdGg6ICR7KHsgbGlzdFdpZHRoIH0pID0+IGxpc3RXaWR0aCB8fCBgdmFyKCR7dG9rZW5zLndpZHRofSlgfTtcbiAgICBoZWlnaHQ6ICR7KHsgbGlzdEhlaWdodCB9KSA9PiAobGlzdEhlaWdodCA/IGdldENvcnJlY3RIZWlnaHQobGlzdEhlaWdodCkgOiAnYXV0bycpfTtcbiAgICBvdmVyZmxvdzogJHsoeyBsaXN0T3ZlcmZsb3cgfSkgPT4gbGlzdE92ZXJmbG93IHx8ICdpbml0aWFsJ307XG5cbiAgICBtYXJnaW46ICR7KHsgaXNJbm5lclVsIH0pID0+IChpc0lubmVyVWwgPyBgY2FsYyh2YXIoJHt0b2tlbnMucGFkZGluZ30pICogLTEpIDAgMCB2YXIoJHt0b2tlbnMucGFkZGluZ30pYCA6IDApfTtcbiAgICBwYWRkaW5nOiB2YXIoJHt0b2tlbnMucGFkZGluZ30pO1xuYDtcblxuZXhwb3J0IGNvbnN0IGJhc2UgPSBjc3NgXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuYDtcbiJdfQ== */",
43
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
44
- };
27
+ }, ";background:var(", _Dropdown.constants.background, ");box-shadow:", _Dropdown.constants.boxShadow, ";border-radius:var(", _Dropdown.tokens.borderRadius, ");" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlFIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgeyBnZXRDb3JyZWN0SGVpZ2h0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEcm9wZG93blByb3BzIH0gZnJvbSAnLi9Ecm9wZG93bi50eXBlcyc7XG5pbXBvcnQgeyB0b2tlbnMsIGNvbnN0YW50cyB9IGZyb20gJy4vRHJvcGRvd24udG9rZW5zJztcblxuZXhwb3J0IGNvbnN0IFVsID0gc3R5bGVkLnVsPHtcbiAgICBsaXN0SGVpZ2h0OiBEcm9wZG93blByb3BzWydsaXN0SGVpZ2h0J107XG4gICAgbGlzdE92ZXJmbG93OiBEcm9wZG93blByb3BzWydsaXN0T3ZlcmZsb3cnXTtcbiAgICBsaXN0V2lkdGg/OiBEcm9wZG93blByb3BzWydsaXN0V2lkdGgnXTtcbiAgICBpc0lubmVyVWw/OiBib29sZWFuO1xufT5gXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJHsoeyBsaXN0V2lkdGggfSkgPT4gbGlzdFdpZHRoIHx8IGB2YXIoJHt0b2tlbnMud2lkdGh9KWB9O1xuICAgIGhlaWdodDogJHsoeyBsaXN0SGVpZ2h0IH0pID0+IChsaXN0SGVpZ2h0ID8gZ2V0Q29ycmVjdEhlaWdodChsaXN0SGVpZ2h0KSA6ICdhdXRvJyl9O1xuICAgIG1hcmdpbjogJHsoeyBpc0lubmVyVWwgfSkgPT4gKGlzSW5uZXJVbCA/IGBjYWxjKHZhcigke3Rva2Vucy5wYWRkaW5nfSkgKiAtMSkgMC4xMjVyZW0gMGAgOiAwKX07XG4gICAgcGFkZGluZzogdmFyKCR7dG9rZW5zLnBhZGRpbmd9KSAwO1xuICAgIG92ZXJmbG93OiAkeyh7IGxpc3RPdmVyZmxvdyB9KSA9PiBsaXN0T3ZlcmZsb3cgfHwgJ2luaXRpYWwnfTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHtjb25zdGFudHMuYmFja2dyb3VuZH0pO1xuICAgIGJveC1zaGFkb3c6ICR7Y29uc3RhbnRzLmJveFNoYWRvd307XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKCR7dG9rZW5zLmJvcmRlclJhZGl1c30pO1xuYDtcblxuZXhwb3J0IGNvbnN0IGJhc2UgPSBjc3NgYDtcbiJdfQ== */"));
28
+ var base = exports.base = /*#__PURE__*/(0, _react.css)(";label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCdUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi5zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB7IGdldENvcnJlY3RIZWlnaHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERyb3Bkb3duUHJvcHMgfSBmcm9tICcuL0Ryb3Bkb3duLnR5cGVzJztcbmltcG9ydCB7IHRva2VucywgY29uc3RhbnRzIH0gZnJvbSAnLi9Ecm9wZG93bi50b2tlbnMnO1xuXG5leHBvcnQgY29uc3QgVWwgPSBzdHlsZWQudWw8e1xuICAgIGxpc3RIZWlnaHQ6IERyb3Bkb3duUHJvcHNbJ2xpc3RIZWlnaHQnXTtcbiAgICBsaXN0T3ZlcmZsb3c6IERyb3Bkb3duUHJvcHNbJ2xpc3RPdmVyZmxvdyddO1xuICAgIGxpc3RXaWR0aD86IERyb3Bkb3duUHJvcHNbJ2xpc3RXaWR0aCddO1xuICAgIGlzSW5uZXJVbD86IGJvb2xlYW47XG59PmBcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkeyh7IGxpc3RXaWR0aCB9KSA9PiBsaXN0V2lkdGggfHwgYHZhcigke3Rva2Vucy53aWR0aH0pYH07XG4gICAgaGVpZ2h0OiAkeyh7IGxpc3RIZWlnaHQgfSkgPT4gKGxpc3RIZWlnaHQgPyBnZXRDb3JyZWN0SGVpZ2h0KGxpc3RIZWlnaHQpIDogJ2F1dG8nKX07XG4gICAgbWFyZ2luOiAkeyh7IGlzSW5uZXJVbCB9KSA9PiAoaXNJbm5lclVsID8gYGNhbGModmFyKCR7dG9rZW5zLnBhZGRpbmd9KSAqIC0xKSAwLjEyNXJlbSAwYCA6IDApfTtcbiAgICBwYWRkaW5nOiB2YXIoJHt0b2tlbnMucGFkZGluZ30pIDA7XG4gICAgb3ZlcmZsb3c6ICR7KHsgbGlzdE92ZXJmbG93IH0pID0+IGxpc3RPdmVyZmxvdyB8fCAnaW5pdGlhbCd9O1xuICAgIGJhY2tncm91bmQ6IHZhcigke2NvbnN0YW50cy5iYWNrZ3JvdW5kfSk7XG4gICAgYm94LXNoYWRvdzogJHtjb25zdGFudHMuYm94U2hhZG93fTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoJHt0b2tlbnMuYm9yZGVyUmFkaXVzfSk7XG5gO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BgO1xuIl19 */"));
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.tokens = exports.classes = void 0;
6
+ exports.tokens = exports.constants = exports.classes = void 0;
7
7
  var classes = exports.classes = {
8
8
  dropdownRoot: 'dropdown-root',
9
9
  dropdownItemIsFocused: 'dropdown-item-is-focused',
10
10
  dropdownItemIsDisabled: 'dropdown-item-is-disabled',
11
11
  dropdownItemIsActive: 'dropdown-item-is-active',
12
- dropdownItemIsSelected: 'dropdownItemIsSelected'
12
+ dropdownItemIsSelected: 'dropdown-item-is-selected'
13
13
  };
14
14
  var tokens = exports.tokens = {
15
15
  background: '--plasma-dropdown-background',
@@ -20,6 +20,8 @@ var tokens = exports.tokens = {
20
20
  disclosureIconColor: '--plasma-dropdown-disclosure-icon-color',
21
21
  disabledOpacity: '--plasma-dropdown-disabled-opacity',
22
22
  focusColor: '--plasma-dropdown-focus-color',
23
+ // Old
24
+
23
25
  dividerColor: '--plasma-dropdown-divider-color',
24
26
  dividerMarginTop: '--plasma-dropdown-divider-margin-top',
25
27
  dividerMarginTopTight: '--plasma-dropdown-divider-margin-top-tight',
@@ -34,6 +36,7 @@ var tokens = exports.tokens = {
34
36
  itemBackgroundSelectedHover: '--plasma-dropdown-item-background-selected-hover',
35
37
  // Old
36
38
  itemColor: '--plasma-dropdown-item-color',
39
+ // Old
37
40
  itemColorSelected: '--plasma-dropdown-item-color-selected',
38
41
  // Old
39
42
  itemColorSelectedHover: '--plasma-dropdown-item-color-selected-hover',
@@ -52,11 +55,17 @@ var tokens = exports.tokens = {
52
55
  itemMarginLeft: '--plasma-dropdown-item-margin-left',
53
56
  // Old
54
57
  itemPaddingTop: '--plasma-dropdown-item-padding-top',
58
+ // Old
55
59
  itemPaddingTopTight: '--plasma-dropdown-item-padding-top-tight',
60
+ // Old
56
61
  itemPaddingRight: '--plasma-dropdown-item-padding-right',
62
+ // Old
57
63
  itemPaddingBottom: '--plasma-dropdown-item-padding-bottom',
64
+ // Old
58
65
  itemPaddingBottomTight: '--plasma-dropdown-item-padding-bottom-tight',
66
+ // Old
59
67
  itemPaddingLeft: '--plasma-dropdown-item-padding-left',
68
+ // Old
60
69
  itemContentLeftWidth: '--plasma-dropdown-item-content-left-width',
61
70
  // Old
62
71
  itemContentLeftColor: '--plasma-dropdown-item-content-left-color',
@@ -71,6 +80,20 @@ var tokens = exports.tokens = {
71
80
  itemFontWeightBold: '--plasma-dropdown-item-letter-spacing',
72
81
  itemFontLetterSpacing: '--plasma-dropdown-item-line-height',
73
82
  itemFontLineHeight: '--plasma-dropdown-item-font-weight',
83
+ itemPadding: '--plasma-dropdown-item-padding',
84
+ itemPaddingTight: '--plasma-dropdown-item-padding-tight',
85
+ cellPadding: '--plasma-dropdown-cell-padding',
86
+ cellPaddingLeftContent: '--plasma-dropdown-cell-padding-left-content',
87
+ cellPaddingContent: '--plasma-dropdown-cell-padding-content',
88
+ cellPaddingRightContent: '--plasma-dropdown-cell-padding-right-content',
89
+ cellTextboxGap: '--plasma-dropdown-cell-textbox-gap',
90
+ cellGap: '--plasma-dropdown-cell-gap',
91
+ cellTitleFontFamily: '--plasma-dropdown-cell-title-font-family',
92
+ cellTitleFontSize: '--plasma-dropdown-cell-title-font-size',
93
+ cellTitleFontStyle: '--plasma-dropdown-cell-title-font-style',
94
+ cellTitleFontWeight: '--plasma-dropdown-cell-title-font-weight',
95
+ cellTitleLetterSpacing: '--plasma-dropdown-cell-title-letter-spacing',
96
+ cellTitleLineHeight: '--plasma-dropdown-cell-title-line-height',
74
97
  // TODO: Remove below tokens as soon as they are no longer needed
75
98
  footerBackground: '--plasma-dropdown-footer-background',
76
99
  footerWidth: '--plasma-dropdown-footer-width',
@@ -134,4 +157,15 @@ var tokens = exports.tokens = {
134
157
  groupLabelMarginRight: '--plasma-dropdown-group-label-margin-right',
135
158
  groupLabelMarginBottom: '--plasma-dropdown-group-label-margin-bottom',
136
159
  groupLabelMarginLeft: '--plasma-dropdown-group-label-margin-left'
160
+ };
161
+ var constants = exports.constants = {
162
+ focusColor: '--surface-accent',
163
+ background: '--surface-solid-card-brightness',
164
+ boxShadow: '0px 4px 14px -4px rgba(8, 8, 8, 0.08), 0px 1px 4px -1px rgba(0, 0, 0, 0.04)',
165
+ disclosureIconColor: '--text-secondary',
166
+ itemBackground: '--plasma-colors-transparent',
167
+ itemBackgroundHover: '--surface-transparent-secondary',
168
+ opacity: '0.4',
169
+ cellTitleColor: '--text-primary',
170
+ cellBackgroundColor: '--plasma-colors-transparent'
137
171
  };
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FloatingPopover = void 0;
7
+ var _react = /*#__PURE__*/require("@floating-ui/react");
8
+ var _react2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
+ var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
12
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
+ var FloatingPopover = exports.FloatingPopover = /*#__PURE__*/(0, _react2.forwardRef)(function (_ref, ref) {
19
+ var target = _ref.target,
20
+ children = _ref.children,
21
+ opened = _ref.opened,
22
+ onToggle = _ref.onToggle,
23
+ placement = _ref.placement,
24
+ portal = _ref.portal,
25
+ _ref$offset = _ref.offset,
26
+ offset = _ref$offset === void 0 ? [0, 0] : _ref$offset,
27
+ isInner = _ref.isInner,
28
+ trigger = _ref.trigger;
29
+ var _useFloating = (0, _react.useFloating)({
30
+ placement: placement === 'auto' ? undefined : placement,
31
+ open: opened,
32
+ middleware: [placement === 'auto' && (0, _react.autoPlacement)(), (0, _react.offset)({
33
+ mainAxis: offset[1],
34
+ crossAxis: offset[0]
35
+ }), (0, _react.flip)({
36
+ fallbackAxisSideDirection: 'end'
37
+ }), (0, _react.shift)()]
38
+ }),
39
+ refs = _useFloating.refs,
40
+ floatingStyles = _useFloating.floatingStyles;
41
+ var wrappedId = (0, _plasmaCore.safeUseId)();
42
+ var handleTargetClick = function handleTargetClick(event) {
43
+ if (trigger === 'hover') {
44
+ return;
45
+ }
46
+ if (onToggle) {
47
+ onToggle(!opened, event);
48
+ }
49
+ };
50
+ var handleTargetMouseEnter = function handleTargetMouseEnter(event) {
51
+ if (trigger === 'click' || opened) {
52
+ return;
53
+ }
54
+ onToggle(true, event);
55
+ };
56
+ var handleTargetMouseLeave = function handleTargetMouseLeave(event) {
57
+ if (event.relatedTarget instanceof HTMLElement && refs.floating.current instanceof HTMLElement) {
58
+ var _refs$floating$curren;
59
+ if (trigger === 'click' || !opened || event.relatedTarget && refs.floating && (_refs$floating$curren = refs.floating.current) !== null && _refs$floating$curren !== void 0 && _refs$floating$curren.contains(event.relatedTarget)) {
60
+ return;
61
+ }
62
+ onToggle(false, event);
63
+ }
64
+ };
65
+ var handleFloatingMouseLeave = function handleFloatingMouseLeave(event) {
66
+ if (event.relatedTarget instanceof HTMLElement && refs.reference.current instanceof HTMLElement) {
67
+ var _refs$reference$curre;
68
+ if (trigger === 'click' || !opened || event.relatedTarget && refs.reference && (_refs$reference$curre = refs.reference.current) !== null && _refs$reference$curre !== void 0 && _refs$reference$curre.contains(event.relatedTarget)) {
69
+ return;
70
+ }
71
+ onToggle(false, event);
72
+ }
73
+ };
74
+ return /*#__PURE__*/_react2["default"].createElement("div", {
75
+ id: wrappedId,
76
+ style: {
77
+ display: isInner ? 'block' : 'inline-block'
78
+ },
79
+ ref: ref
80
+ }, /*#__PURE__*/_react2["default"].createElement("div", {
81
+ ref: refs.setReference,
82
+ onClick: handleTargetClick,
83
+ onMouseEnter: handleTargetMouseEnter,
84
+ onMouseLeave: handleTargetMouseLeave
85
+ }, target), opened && /*#__PURE__*/_react2["default"].createElement(_react.FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/_react2["default"].createElement("div", {
86
+ ref: refs.setFloating,
87
+ onMouseLeave: handleFloatingMouseLeave,
88
+ style: _objectSpread(_objectSpread({}, floatingStyles), {}, {
89
+ zIndex: 1
90
+ })
91
+ }, children)));
92
+ });
93
+ // root - принимает ref контейнера портала.
94
+ // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.
95
+ var getFloatingPortalProps = function getFloatingPortalProps(portal, wrappedId) {
96
+ if (!portal) {
97
+ return {
98
+ id: wrappedId
99
+ };
100
+ }
101
+ if (typeof portal === 'string') {
102
+ return {
103
+ id: portal
104
+ };
105
+ }
106
+ return {
107
+ root: portal
108
+ };
109
+ };
@@ -5,29 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DropdownInner = void 0;
7
7
  var _react = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("react"));
8
+ var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
8
9
  var _ = /*#__PURE__*/require("..");
9
10
  var _Dropdown = /*#__PURE__*/require("../../Dropdown.styles");
11
+ var _FloatingPopover = /*#__PURE__*/require("../../FloatingPopover");
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
13
  var DropdownInner = exports.DropdownInner = function DropdownInner(_ref) {
12
14
  var item = _ref.item,
13
15
  currentLevel = _ref.currentLevel,
14
- focusedPath = _ref.focusedPath,
15
16
  path = _ref.path,
16
17
  dispatchPath = _ref.dispatchPath,
17
18
  index = _ref.index,
18
19
  trigger = _ref.trigger,
19
- itemRole = _ref.itemRole,
20
20
  listHeight = _ref.listHeight,
21
21
  listOverflow = _ref.listOverflow,
22
- handleGlobalToggle = _ref.handleGlobalToggle,
23
- closeOnSelect = _ref.closeOnSelect,
24
- onHover = _ref.onHover,
25
- onItemSelect = _ref.onItemSelect,
26
- onItemClick = _ref.onItemClick,
27
- listWidth = _ref.listWidth,
28
- variant = _ref.variant,
29
- hasArrow = _ref.hasArrow,
30
- size = _ref.size;
22
+ listWidth = _ref.listWidth;
31
23
  var handleToggle = function handleToggle(opened) {
32
24
  if (opened) {
33
25
  dispatchPath({
@@ -43,79 +35,53 @@ var DropdownInner = exports.DropdownInner = function DropdownInner(_ref) {
43
35
  }
44
36
  };
45
37
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
46
- var listId = "tree_level_".concat(currentLevel + 2);
38
+ var treeId = (0, _plasmaCore.safeUseId)();
39
+ var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
47
40
  var nextLevel = currentLevel + 1;
48
41
  if (item !== null && item !== void 0 && item.items) {
49
- return /*#__PURE__*/_react["default"].createElement(_Dropdown.StyledPopover, {
50
- opened: isCurrentListOpen,
51
- usePortal: false,
42
+ return /*#__PURE__*/_react["default"].createElement(_FloatingPopover.FloatingPopover, {
52
43
  placement: "right-start",
44
+ opened: isCurrentListOpen,
45
+ onToggle: handleToggle,
53
46
  trigger: trigger,
54
47
  target: /*#__PURE__*/_react["default"].createElement(_.DropdownItem, {
55
48
  item: item,
56
49
  index: index,
57
50
  path: path,
58
- focusedPath: focusedPath,
59
51
  currentLevel: currentLevel,
60
- itemRole: itemRole,
61
- onHover: onHover,
62
- onItemSelect: onItemSelect,
63
- onItemClick: onItemClick,
64
- variant: variant,
65
- hasArrow: hasArrow,
66
52
  ariaControls: listId,
67
53
  ariaExpanded: isCurrentListOpen,
68
54
  ariaLevel: nextLevel,
69
- ariaLabel: item.label,
70
- size: size
55
+ ariaLabel: item.label
71
56
  }),
72
- onToggle: handleToggle,
73
- isFocusTrapped: false,
74
- preventOverflow: false
57
+ isInner: true
75
58
  }, /*#__PURE__*/_react["default"].createElement(_Dropdown.Ul, {
59
+ id: listId,
60
+ role: "group",
61
+ isInnerUl: true,
76
62
  listHeight: listHeight,
77
63
  listOverflow: listOverflow,
78
- role: "group",
79
- id: listId,
80
- listWidth: listWidth,
81
- isInnerUl: true
64
+ listWidth: listWidth
82
65
  }, item.items.map(function (innerItem, innerIndex) {
83
66
  return /*#__PURE__*/_react["default"].createElement(DropdownInner, {
84
67
  key: "".concat(innerIndex, "/").concat(currentLevel),
85
68
  item: innerItem,
86
69
  currentLevel: nextLevel,
87
- focusedPath: focusedPath,
88
70
  path: path,
89
71
  dispatchPath: dispatchPath,
90
72
  index: innerIndex,
91
73
  trigger: trigger,
92
- itemRole: itemRole,
93
74
  listHeight: listHeight,
94
75
  listOverflow: listOverflow,
95
- handleGlobalToggle: handleGlobalToggle,
96
- closeOnSelect: closeOnSelect,
97
- onHover: onHover,
98
- onItemSelect: onItemSelect,
99
- onItemClick: onItemClick,
100
- listWidth: listWidth,
101
- variant: variant,
102
- hasArrow: hasArrow,
103
- size: size
76
+ listWidth: listWidth
104
77
  });
105
78
  })));
106
79
  }
107
80
  return /*#__PURE__*/_react["default"].createElement(_.DropdownItem, {
108
81
  item: item,
82
+ path: path,
109
83
  index: index,
110
- focusedPath: focusedPath,
111
84
  currentLevel: currentLevel,
112
- itemRole: itemRole,
113
- handleGlobalToggle: handleGlobalToggle,
114
- closeOnSelect: closeOnSelect,
115
- onHover: onHover,
116
- onItemSelect: onItemSelect,
117
- onItemClick: onItemClick,
118
- variant: variant,
119
- size: size
85
+ ariaLevel: nextLevel
120
86
  });
121
87
  };