@atlaskit/react-select 2.7.6 → 3.0.1

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 (273) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/cjs/components/containers.compiled.css +26 -0
  3. package/dist/cjs/components/containers.js +80 -13
  4. package/dist/cjs/components/control.js +50 -9
  5. package/dist/cjs/components/group.js +60 -12
  6. package/dist/cjs/components/indicators.js +128 -15
  7. package/dist/cjs/components/input.js +50 -9
  8. package/dist/cjs/components/internal/a11y-text.js +14 -7
  9. package/dist/cjs/components/internal/dummy-input.js +21 -7
  10. package/dist/cjs/components/internal/required-input.js +24 -8
  11. package/dist/cjs/components/live-region.js +101 -7
  12. package/dist/cjs/components/menu.js +436 -27
  13. package/dist/cjs/components/multi-value.js +148 -22
  14. package/dist/cjs/components/option.js +41 -9
  15. package/dist/cjs/components/placeholder.js +29 -9
  16. package/dist/cjs/components/single-value.js +30 -9
  17. package/dist/cjs/select.js +1 -1
  18. package/dist/es2019/components/containers.compiled.css +26 -0
  19. package/dist/es2019/components/containers.js +93 -10
  20. package/dist/es2019/components/control.js +54 -8
  21. package/dist/es2019/components/group.js +67 -9
  22. package/dist/es2019/components/indicators.js +131 -11
  23. package/dist/es2019/components/input.js +53 -7
  24. package/dist/es2019/components/internal/a11y-text.js +12 -6
  25. package/dist/es2019/components/internal/dummy-input.js +19 -7
  26. package/dist/es2019/components/internal/required-input.js +22 -6
  27. package/dist/es2019/components/live-region.js +104 -6
  28. package/dist/es2019/components/menu.js +444 -19
  29. package/dist/es2019/components/multi-value.js +157 -15
  30. package/dist/es2019/components/option.js +45 -7
  31. package/dist/es2019/components/placeholder.js +33 -7
  32. package/dist/es2019/components/single-value.js +34 -7
  33. package/dist/es2019/select.js +1 -1
  34. package/dist/esm/components/containers.compiled.css +26 -0
  35. package/dist/esm/components/containers.js +78 -12
  36. package/dist/esm/components/control.js +51 -8
  37. package/dist/esm/components/group.js +60 -11
  38. package/dist/esm/components/indicators.js +127 -15
  39. package/dist/esm/components/input.js +50 -8
  40. package/dist/esm/components/internal/a11y-text.js +12 -6
  41. package/dist/esm/components/internal/dummy-input.js +20 -7
  42. package/dist/esm/components/internal/required-input.js +22 -7
  43. package/dist/esm/components/live-region.js +99 -6
  44. package/dist/esm/components/menu.js +437 -27
  45. package/dist/esm/components/multi-value.js +148 -21
  46. package/dist/esm/components/option.js +41 -8
  47. package/dist/esm/components/placeholder.js +29 -8
  48. package/dist/esm/components/single-value.js +30 -8
  49. package/dist/esm/select.js +1 -1
  50. package/dist/types/components/containers.d.ts +12 -8
  51. package/dist/types/components/control.d.ts +7 -3
  52. package/dist/types/components/group.d.ts +10 -6
  53. package/dist/types/components/index.d.ts +21 -21
  54. package/dist/types/components/indicators.d.ts +12 -8
  55. package/dist/types/components/input.d.ts +8 -4
  56. package/dist/types/components/internal/a11y-text.d.ts +2 -2
  57. package/dist/types/components/internal/dummy-input.d.ts +7 -3
  58. package/dist/types/components/internal/required-input.d.ts +4 -0
  59. package/dist/types/components/live-region.d.ts +0 -2
  60. package/dist/types/components/menu.d.ts +17 -13
  61. package/dist/types/components/multi-value.d.ts +13 -9
  62. package/dist/types/components/option.d.ts +8 -4
  63. package/dist/types/components/placeholder.d.ts +8 -4
  64. package/dist/types/components/single-value.d.ts +8 -4
  65. package/dist/types/select.d.ts +23 -25
  66. package/dist/types-ts4.5/components/containers.d.ts +12 -8
  67. package/dist/types-ts4.5/components/control.d.ts +7 -3
  68. package/dist/types-ts4.5/components/group.d.ts +10 -6
  69. package/dist/types-ts4.5/components/index.d.ts +21 -21
  70. package/dist/types-ts4.5/components/indicators.d.ts +12 -8
  71. package/dist/types-ts4.5/components/input.d.ts +8 -4
  72. package/dist/types-ts4.5/components/internal/a11y-text.d.ts +2 -2
  73. package/dist/types-ts4.5/components/internal/dummy-input.d.ts +7 -3
  74. package/dist/types-ts4.5/components/internal/required-input.d.ts +4 -0
  75. package/dist/types-ts4.5/components/live-region.d.ts +0 -2
  76. package/dist/types-ts4.5/components/menu.d.ts +17 -13
  77. package/dist/types-ts4.5/components/multi-value.d.ts +13 -9
  78. package/dist/types-ts4.5/components/option.d.ts +8 -4
  79. package/dist/types-ts4.5/components/placeholder.d.ts +8 -4
  80. package/dist/types-ts4.5/components/single-value.d.ts +8 -4
  81. package/dist/types-ts4.5/select.d.ts +23 -25
  82. package/package.json +3 -3
  83. package/dist/cjs/compiled/components/control.js +0 -65
  84. package/dist/cjs/compiled/components/group.js +0 -80
  85. package/dist/cjs/compiled/components/indicators.js +0 -158
  86. package/dist/cjs/compiled/components/input.js +0 -65
  87. package/dist/cjs/compiled/components/internal/a11y-text.js +0 -24
  88. package/dist/cjs/compiled/components/internal/dummy-input.js +0 -30
  89. package/dist/cjs/compiled/components/internal/required-input.js +0 -35
  90. package/dist/cjs/compiled/components/live-region.js +0 -117
  91. package/dist/cjs/compiled/components/menu.js +0 -489
  92. package/dist/cjs/compiled/components/multi-value.js +0 -173
  93. package/dist/cjs/compiled/components/option.js +0 -56
  94. package/dist/cjs/compiled/components/placeholder.js +0 -44
  95. package/dist/cjs/compiled/components/single-value.js +0 -45
  96. package/dist/cjs/emotion/components/containers.js +0 -117
  97. package/dist/cjs/emotion/components/control.js +0 -112
  98. package/dist/cjs/emotion/components/group.js +0 -72
  99. package/dist/cjs/emotion/components/indicators.js +0 -140
  100. package/dist/cjs/emotion/components/input.js +0 -94
  101. package/dist/cjs/emotion/components/internal/a11y-text.js +0 -37
  102. package/dist/cjs/emotion/components/internal/dummy-input.js +0 -45
  103. package/dist/cjs/emotion/components/internal/index.js +0 -34
  104. package/dist/cjs/emotion/components/internal/required-input.js +0 -45
  105. package/dist/cjs/emotion/components/internal/scroll-manager.js +0 -59
  106. package/dist/cjs/emotion/components/internal/use-scroll-capture.js +0 -132
  107. package/dist/cjs/emotion/components/internal/use-scroll-lock.js +0 -149
  108. package/dist/cjs/emotion/components/live-region.js +0 -120
  109. package/dist/cjs/emotion/components/menu.js +0 -456
  110. package/dist/cjs/emotion/components/multi-value.js +0 -199
  111. package/dist/cjs/emotion/components/option.js +0 -84
  112. package/dist/cjs/emotion/components/placeholder.js +0 -36
  113. package/dist/cjs/emotion/components/single-value.js +0 -42
  114. package/dist/es2019/compiled/components/control.js +0 -58
  115. package/dist/es2019/compiled/components/group.js +0 -72
  116. package/dist/es2019/compiled/components/indicators.js +0 -146
  117. package/dist/es2019/compiled/components/input.js +0 -56
  118. package/dist/es2019/compiled/components/internal/a11y-text.js +0 -13
  119. package/dist/es2019/compiled/components/internal/dummy-input.js +0 -20
  120. package/dist/es2019/compiled/components/internal/required-input.js +0 -25
  121. package/dist/es2019/compiled/components/live-region.js +0 -112
  122. package/dist/es2019/compiled/components/menu.js +0 -477
  123. package/dist/es2019/compiled/components/multi-value.js +0 -165
  124. package/dist/es2019/compiled/components/option.js +0 -48
  125. package/dist/es2019/compiled/components/placeholder.js +0 -36
  126. package/dist/es2019/compiled/components/single-value.js +0 -37
  127. package/dist/es2019/emotion/components/containers.js +0 -114
  128. package/dist/es2019/emotion/components/control.js +0 -108
  129. package/dist/es2019/emotion/components/group.js +0 -60
  130. package/dist/es2019/emotion/components/indicators.js +0 -131
  131. package/dist/es2019/emotion/components/input.js +0 -87
  132. package/dist/es2019/emotion/components/internal/a11y-text.js +0 -28
  133. package/dist/es2019/emotion/components/internal/dummy-input.js +0 -38
  134. package/dist/es2019/emotion/components/internal/index.js +0 -4
  135. package/dist/es2019/emotion/components/internal/required-input.js +0 -36
  136. package/dist/es2019/emotion/components/internal/scroll-manager.js +0 -51
  137. package/dist/es2019/emotion/components/internal/use-scroll-capture.js +0 -128
  138. package/dist/es2019/emotion/components/internal/use-scroll-lock.js +0 -143
  139. package/dist/es2019/emotion/components/live-region.js +0 -120
  140. package/dist/es2019/emotion/components/menu.js +0 -452
  141. package/dist/es2019/emotion/components/multi-value.js +0 -203
  142. package/dist/es2019/emotion/components/option.js +0 -79
  143. package/dist/es2019/emotion/components/placeholder.js +0 -29
  144. package/dist/es2019/emotion/components/single-value.js +0 -35
  145. package/dist/esm/compiled/components/control.js +0 -57
  146. package/dist/esm/compiled/components/group.js +0 -71
  147. package/dist/esm/compiled/components/indicators.js +0 -150
  148. package/dist/esm/compiled/components/input.js +0 -56
  149. package/dist/esm/compiled/components/internal/a11y-text.js +0 -15
  150. package/dist/esm/compiled/components/internal/dummy-input.js +0 -21
  151. package/dist/esm/compiled/components/internal/required-input.js +0 -26
  152. package/dist/esm/compiled/components/live-region.js +0 -109
  153. package/dist/esm/compiled/components/menu.js +0 -484
  154. package/dist/esm/compiled/components/multi-value.js +0 -162
  155. package/dist/esm/compiled/components/option.js +0 -47
  156. package/dist/esm/compiled/components/placeholder.js +0 -35
  157. package/dist/esm/compiled/components/single-value.js +0 -36
  158. package/dist/esm/emotion/components/containers.js +0 -110
  159. package/dist/esm/emotion/components/control.js +0 -104
  160. package/dist/esm/emotion/components/group.js +0 -66
  161. package/dist/esm/emotion/components/indicators.js +0 -135
  162. package/dist/esm/emotion/components/input.js +0 -90
  163. package/dist/esm/emotion/components/internal/a11y-text.js +0 -30
  164. package/dist/esm/emotion/components/internal/dummy-input.js +0 -39
  165. package/dist/esm/emotion/components/internal/index.js +0 -4
  166. package/dist/esm/emotion/components/internal/required-input.js +0 -37
  167. package/dist/esm/emotion/components/internal/scroll-manager.js +0 -51
  168. package/dist/esm/emotion/components/internal/use-scroll-capture.js +0 -126
  169. package/dist/esm/emotion/components/internal/use-scroll-lock.js +0 -143
  170. package/dist/esm/emotion/components/live-region.js +0 -117
  171. package/dist/esm/emotion/components/menu.js +0 -456
  172. package/dist/esm/emotion/components/multi-value.js +0 -193
  173. package/dist/esm/emotion/components/option.js +0 -76
  174. package/dist/esm/emotion/components/placeholder.js +0 -28
  175. package/dist/esm/emotion/components/single-value.js +0 -34
  176. package/dist/types/compiled/components/control.d.ts +0 -41
  177. package/dist/types/compiled/components/group.d.ts +0 -54
  178. package/dist/types/compiled/components/indicators.d.ts +0 -72
  179. package/dist/types/compiled/components/input.d.ts +0 -36
  180. package/dist/types/compiled/components/internal/a11y-text.d.ts +0 -3
  181. package/dist/types/compiled/components/internal/dummy-input.d.ts +0 -8
  182. package/dist/types/compiled/components/internal/required-input.d.ts +0 -10
  183. package/dist/types/compiled/components/live-region.d.ts +0 -17
  184. package/dist/types/compiled/components/menu.d.ts +0 -115
  185. package/dist/types/compiled/components/multi-value.d.ts +0 -57
  186. package/dist/types/compiled/components/option.d.ts +0 -48
  187. package/dist/types/compiled/components/placeholder.d.ts +0 -21
  188. package/dist/types/compiled/components/single-value.d.ts +0 -27
  189. package/dist/types/emotion/components/containers.d.ts +0 -54
  190. package/dist/types/emotion/components/control.d.ts +0 -42
  191. package/dist/types/emotion/components/group.d.ts +0 -52
  192. package/dist/types/emotion/components/indicators.d.ts +0 -73
  193. package/dist/types/emotion/components/input.d.ts +0 -37
  194. package/dist/types/emotion/components/internal/a11y-text.d.ts +0 -8
  195. package/dist/types/emotion/components/internal/dummy-input.d.ts +0 -9
  196. package/dist/types/emotion/components/internal/index.d.ts +0 -4
  197. package/dist/types/emotion/components/internal/required-input.d.ts +0 -10
  198. package/dist/types/emotion/components/internal/scroll-manager.d.ts +0 -17
  199. package/dist/types/emotion/components/internal/use-scroll-capture.d.ts +0 -12
  200. package/dist/types/emotion/components/internal/use-scroll-lock.d.ts +0 -9
  201. package/dist/types/emotion/components/live-region.d.ts +0 -23
  202. package/dist/types/emotion/components/menu.d.ts +0 -116
  203. package/dist/types/emotion/components/multi-value.d.ts +0 -47
  204. package/dist/types/emotion/components/option.d.ts +0 -49
  205. package/dist/types/emotion/components/placeholder.d.ts +0 -22
  206. package/dist/types/emotion/components/single-value.d.ts +0 -28
  207. package/dist/types-ts4.5/compiled/components/control.d.ts +0 -41
  208. package/dist/types-ts4.5/compiled/components/group.d.ts +0 -54
  209. package/dist/types-ts4.5/compiled/components/indicators.d.ts +0 -72
  210. package/dist/types-ts4.5/compiled/components/input.d.ts +0 -36
  211. package/dist/types-ts4.5/compiled/components/internal/a11y-text.d.ts +0 -3
  212. package/dist/types-ts4.5/compiled/components/internal/dummy-input.d.ts +0 -8
  213. package/dist/types-ts4.5/compiled/components/internal/required-input.d.ts +0 -10
  214. package/dist/types-ts4.5/compiled/components/live-region.d.ts +0 -17
  215. package/dist/types-ts4.5/compiled/components/menu.d.ts +0 -115
  216. package/dist/types-ts4.5/compiled/components/multi-value.d.ts +0 -57
  217. package/dist/types-ts4.5/compiled/components/option.d.ts +0 -48
  218. package/dist/types-ts4.5/compiled/components/placeholder.d.ts +0 -21
  219. package/dist/types-ts4.5/compiled/components/single-value.d.ts +0 -27
  220. package/dist/types-ts4.5/emotion/components/containers.d.ts +0 -54
  221. package/dist/types-ts4.5/emotion/components/control.d.ts +0 -42
  222. package/dist/types-ts4.5/emotion/components/group.d.ts +0 -52
  223. package/dist/types-ts4.5/emotion/components/indicators.d.ts +0 -73
  224. package/dist/types-ts4.5/emotion/components/input.d.ts +0 -37
  225. package/dist/types-ts4.5/emotion/components/internal/a11y-text.d.ts +0 -8
  226. package/dist/types-ts4.5/emotion/components/internal/dummy-input.d.ts +0 -9
  227. package/dist/types-ts4.5/emotion/components/internal/index.d.ts +0 -4
  228. package/dist/types-ts4.5/emotion/components/internal/required-input.d.ts +0 -10
  229. package/dist/types-ts4.5/emotion/components/internal/scroll-manager.d.ts +0 -17
  230. package/dist/types-ts4.5/emotion/components/internal/use-scroll-capture.d.ts +0 -12
  231. package/dist/types-ts4.5/emotion/components/internal/use-scroll-lock.d.ts +0 -9
  232. package/dist/types-ts4.5/emotion/components/live-region.d.ts +0 -23
  233. package/dist/types-ts4.5/emotion/components/menu.d.ts +0 -116
  234. package/dist/types-ts4.5/emotion/components/multi-value.d.ts +0 -47
  235. package/dist/types-ts4.5/emotion/components/option.d.ts +0 -49
  236. package/dist/types-ts4.5/emotion/components/placeholder.d.ts +0 -22
  237. package/dist/types-ts4.5/emotion/components/single-value.d.ts +0 -28
  238. /package/dist/cjs/{compiled/components → components}/control.compiled.css +0 -0
  239. /package/dist/cjs/{compiled/components → components}/group.compiled.css +0 -0
  240. /package/dist/cjs/{compiled/components → components}/indicators.compiled.css +0 -0
  241. /package/dist/cjs/{compiled/components → components}/input.compiled.css +0 -0
  242. /package/dist/cjs/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  243. /package/dist/cjs/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  244. /package/dist/cjs/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  245. /package/dist/cjs/{compiled/components → components}/menu.compiled.css +0 -0
  246. /package/dist/cjs/{compiled/components → components}/multi-value.compiled.css +0 -0
  247. /package/dist/cjs/{compiled/components → components}/option.compiled.css +0 -0
  248. /package/dist/cjs/{compiled/components → components}/placeholder.compiled.css +0 -0
  249. /package/dist/cjs/{compiled/components → components}/single-value.compiled.css +0 -0
  250. /package/dist/es2019/{compiled/components → components}/control.compiled.css +0 -0
  251. /package/dist/es2019/{compiled/components → components}/group.compiled.css +0 -0
  252. /package/dist/es2019/{compiled/components → components}/indicators.compiled.css +0 -0
  253. /package/dist/es2019/{compiled/components → components}/input.compiled.css +0 -0
  254. /package/dist/es2019/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  255. /package/dist/es2019/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  256. /package/dist/es2019/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  257. /package/dist/es2019/{compiled/components → components}/menu.compiled.css +0 -0
  258. /package/dist/es2019/{compiled/components → components}/multi-value.compiled.css +0 -0
  259. /package/dist/es2019/{compiled/components → components}/option.compiled.css +0 -0
  260. /package/dist/es2019/{compiled/components → components}/placeholder.compiled.css +0 -0
  261. /package/dist/es2019/{compiled/components → components}/single-value.compiled.css +0 -0
  262. /package/dist/esm/{compiled/components → components}/control.compiled.css +0 -0
  263. /package/dist/esm/{compiled/components → components}/group.compiled.css +0 -0
  264. /package/dist/esm/{compiled/components → components}/indicators.compiled.css +0 -0
  265. /package/dist/esm/{compiled/components → components}/input.compiled.css +0 -0
  266. /package/dist/esm/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  267. /package/dist/esm/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  268. /package/dist/esm/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  269. /package/dist/esm/{compiled/components → components}/menu.compiled.css +0 -0
  270. /package/dist/esm/{compiled/components → components}/multi-value.compiled.css +0 -0
  271. /package/dist/esm/{compiled/components → components}/option.compiled.css +0 -0
  272. /package/dist/esm/{compiled/components → components}/placeholder.compiled.css +0 -0
  273. /package/dist/esm/{compiled/components → components}/single-value.compiled.css +0 -0
@@ -1,3 +1,4 @@
1
+ /* menu.tsx generated by @compiled/babel-plugin v0.36.1 */
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -6,75 +7,483 @@ Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
9
  exports.noOptionsMessageCSS = exports.menuPortalCSS = exports.menuListCSS = exports.menuCSS = exports.loadingMessageCSS = exports.default = exports.NoOptionsMessage = exports.MenuPortal = exports.MenuPlacer = exports.MenuList = exports.LoadingMessage = void 0;
9
- var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
10
- var _react = _interopRequireDefault(require("react"));
11
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
- var _menu = _interopRequireWildcard(require("../compiled/components/menu"));
13
- var _menu2 = _interopRequireWildcard(require("../emotion/components/menu"));
10
+ require("./menu.compiled.css");
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var React = _react;
13
+ var _runtime = require("@compiled/react/runtime");
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
18
+ var _react2 = require("@compiled/react");
19
+ var _dom = require("@floating-ui/dom");
20
+ var _reactDom = require("react-dom");
21
+ var _useIsomorphicLayoutEffect = _interopRequireDefault(require("use-isomorphic-layout-effect"));
22
+ var _compiled = require("@atlaskit/primitives/compiled");
23
+ var _utils = require("../utils");
24
+ var _excluded = ["children", "innerProps", "xcss"],
25
+ _excluded2 = ["children", "innerProps", "xcss"];
14
26
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
15
- /* eslint-disable @repo/internal/react/no-unsafe-spread-props */
27
+ 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; }
28
+ 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) { (0, _defineProperty2.default)(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; }
29
+ // ==============================
30
+ // Menu
31
+ // ==============================
32
+
33
+ // Get Menu Placement
34
+ // ------------------------------
35
+
36
+ function getMenuPlacement(_ref) {
37
+ var preferredMaxHeight = _ref.maxHeight,
38
+ menuEl = _ref.menuEl,
39
+ minHeight = _ref.minHeight,
40
+ preferredPlacement = _ref.placement,
41
+ shouldScroll = _ref.shouldScroll,
42
+ isFixedPosition = _ref.isFixedPosition,
43
+ controlHeight = _ref.controlHeight;
44
+ var scrollParent = (0, _utils.getScrollParent)(menuEl);
45
+ var defaultState = {
46
+ placement: 'bottom',
47
+ maxHeight: preferredMaxHeight
48
+ };
49
+
50
+ // something went wrong, return default state
51
+ if (!menuEl || !menuEl.offsetParent) {
52
+ return defaultState;
53
+ }
54
+
55
+ // we can't trust `scrollParent.scrollHeight` --> it may increase when
56
+ // the menu is rendered
57
+ var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),
58
+ scrollHeight = _scrollParent$getBoun.height;
59
+ var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),
60
+ menuBottom = _menuEl$getBoundingCl.bottom,
61
+ menuHeight = _menuEl$getBoundingCl.height,
62
+ menuTop = _menuEl$getBoundingCl.top;
63
+ var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),
64
+ containerTop = _menuEl$offsetParent$.top;
65
+ var viewHeight = isFixedPosition ? window.innerHeight : (0, _utils.normalizedHeight)(scrollParent);
66
+ var scrollTop = (0, _utils.getScrollTop)(scrollParent);
67
+ var menuTopFromParent = menuTop;
68
+ var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);
69
+ var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);
70
+ var viewSpaceAbove = containerTop - marginTop;
71
+ var viewSpaceBelow = viewHeight - menuTopFromParent;
72
+ var scrollSpaceAbove = viewSpaceAbove + scrollTop;
73
+ var scrollSpaceBelow = scrollHeight - scrollTop - menuTopFromParent;
74
+ var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;
75
+ var scrollUp = scrollTop + menuTop - marginTop;
76
+ var scrollDuration = 160;
77
+ switch (preferredPlacement) {
78
+ case 'auto':
79
+ case 'bottom':
80
+ // 1: the menu will fit, do nothing
81
+ if (viewSpaceBelow >= menuHeight) {
82
+ return {
83
+ placement: 'bottom',
84
+ maxHeight: preferredMaxHeight
85
+ };
86
+ }
87
+
88
+ // 2: the menu will fit, if scrolled
89
+ if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {
90
+ if (shouldScroll) {
91
+ (0, _utils.animatedScrollTo)(scrollParent, scrollDown, scrollDuration);
92
+ }
93
+ return {
94
+ placement: 'bottom',
95
+ maxHeight: preferredMaxHeight
96
+ };
97
+ }
98
+
99
+ // 3: the menu will fit, if constrained
100
+ if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {
101
+ if (shouldScroll) {
102
+ (0, _utils.animatedScrollTo)(scrollParent, scrollDown, scrollDuration);
103
+ }
104
+
105
+ // we want to provide as much of the menu as possible to the user,
106
+ // so give them whatever is available below rather than the minHeight.
107
+ var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;
108
+ return {
109
+ placement: 'bottom',
110
+ maxHeight: constrainedHeight
111
+ };
112
+ }
113
+
114
+ // 4. Forked beviour when there isn't enough space below
115
+
116
+ // AUTO: flip the menu, render above
117
+ if (preferredPlacement === 'auto' || isFixedPosition) {
118
+ // may need to be constrained after flipping
119
+ var _constrainedHeight = preferredMaxHeight;
120
+ var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;
121
+ if (spaceAbove >= minHeight) {
122
+ _constrainedHeight = Math.min(spaceAbove - marginBottom - controlHeight, preferredMaxHeight);
123
+ }
124
+ return {
125
+ placement: 'top',
126
+ maxHeight: _constrainedHeight
127
+ };
128
+ }
129
+
130
+ // BOTTOM: allow browser to increase scrollable area and immediately set scroll
131
+ if (preferredPlacement === 'bottom') {
132
+ if (shouldScroll) {
133
+ (0, _utils.scrollTo)(scrollParent, scrollDown);
134
+ }
135
+ return {
136
+ placement: 'bottom',
137
+ maxHeight: preferredMaxHeight
138
+ };
139
+ }
140
+ break;
141
+ case 'top':
142
+ // 1: the menu will fit, do nothing
143
+ if (viewSpaceAbove >= menuHeight) {
144
+ return {
145
+ placement: 'top',
146
+ maxHeight: preferredMaxHeight
147
+ };
148
+ }
149
+
150
+ // 2: the menu will fit, if scrolled
151
+ if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {
152
+ if (shouldScroll) {
153
+ (0, _utils.animatedScrollTo)(scrollParent, scrollUp, scrollDuration);
154
+ }
155
+ return {
156
+ placement: 'top',
157
+ maxHeight: preferredMaxHeight
158
+ };
159
+ }
160
+
161
+ // 3: the menu will fit, if constrained
162
+ if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
163
+ var _constrainedHeight2 = preferredMaxHeight;
164
+
165
+ // we want to provide as much of the menu as possible to the user,
166
+ // so give them whatever is available below rather than the minHeight.
167
+ if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
168
+ _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;
169
+ }
170
+ if (shouldScroll) {
171
+ (0, _utils.animatedScrollTo)(scrollParent, scrollUp, scrollDuration);
172
+ }
173
+ return {
174
+ placement: 'top',
175
+ maxHeight: _constrainedHeight2
176
+ };
177
+ }
178
+
179
+ // 4. not enough space, the browser WILL NOT increase scrollable area when
180
+ // absolutely positioned element rendered above the viewport (only below).
181
+ // Flip the menu, render below
182
+ return {
183
+ placement: 'bottom',
184
+ maxHeight: preferredMaxHeight
185
+ };
186
+ default:
187
+ throw new Error("Invalid placement provided \"".concat(preferredPlacement, "\"."));
188
+ }
189
+ return defaultState;
190
+ }
16
191
 
17
192
  // Menu Component
18
193
  // ------------------------------
19
194
 
20
- var menuCSS = exports.menuCSS = function menuCSS(props) {
21
- return (0, _platformFeatureFlags.fg)('compiled-react-select') ? (0, _menu.menuCSS)() : (0, _menu2.menuCSS)(props);
195
+ var coercePlacement = function coercePlacement(p) {
196
+ return p === 'auto' ? 'bottom' : p;
197
+ };
198
+ var menuStyles = {
199
+ root: "_2rkoglpi _kqswstnw _1bsb1osq _1pbykb7n _otyru2gc _19pku2gc _bfhk1bhr _16qsd0yg",
200
+ bottom: "_154i1osq",
201
+ top: "_94n51osq"
202
+ };
203
+ var menuCSS = exports.menuCSS = function menuCSS() {
204
+ return {};
22
205
  };
206
+ var PortalPlacementContext = /*#__PURE__*/(0, _react.createContext)(null);
23
207
 
24
208
  // NOTE: internal only
25
209
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
26
210
  var MenuPlacer = exports.MenuPlacer = function MenuPlacer(props) {
27
- return (0, _platformFeatureFlags.fg)('compiled-react-select') ? /*#__PURE__*/_react.default.createElement(_menu.MenuPlacer, props) : /*#__PURE__*/_react.default.createElement(_menu2.MenuPlacer, props);
211
+ var children = props.children,
212
+ minMenuHeight = props.minMenuHeight,
213
+ maxMenuHeight = props.maxMenuHeight,
214
+ menuPlacement = props.menuPlacement,
215
+ menuPosition = props.menuPosition,
216
+ menuShouldScrollIntoView = props.menuShouldScrollIntoView;
217
+ var _ref2 = (0, _react.useContext)(PortalPlacementContext) || {},
218
+ setPortalPlacement = _ref2.setPortalPlacement;
219
+ var ref = (0, _react.useRef)(null);
220
+ var _useState = (0, _react.useState)(maxMenuHeight),
221
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
222
+ maxHeight = _useState2[0],
223
+ setMaxHeight = _useState2[1];
224
+ var _useState3 = (0, _react.useState)(null),
225
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
226
+ placement = _useState4[0],
227
+ setPlacement = _useState4[1];
228
+ // The minimum height of the control
229
+ var controlHeight = 38;
230
+ (0, _useIsomorphicLayoutEffect.default)(function () {
231
+ var menuEl = ref.current;
232
+ if (!menuEl) {
233
+ return;
234
+ }
235
+
236
+ // DO NOT scroll if position is fixed
237
+ var isFixedPosition = menuPosition === 'fixed';
238
+ var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;
239
+ var state = getMenuPlacement({
240
+ maxHeight: maxMenuHeight,
241
+ menuEl: menuEl,
242
+ minHeight: minMenuHeight,
243
+ placement: menuPlacement,
244
+ shouldScroll: shouldScroll,
245
+ isFixedPosition: isFixedPosition,
246
+ controlHeight: controlHeight
247
+ });
248
+ setMaxHeight(state.maxHeight);
249
+ setPlacement(state.placement);
250
+ setPortalPlacement === null || setPortalPlacement === void 0 || setPortalPlacement(state.placement);
251
+ }, [maxMenuHeight, menuPlacement, menuPosition, menuShouldScrollIntoView, minMenuHeight, setPortalPlacement, controlHeight]);
252
+ return children({
253
+ ref: ref,
254
+ placerProps: _objectSpread(_objectSpread({}, props), {}, {
255
+ placement: placement || coercePlacement(menuPlacement),
256
+ maxHeight: maxHeight
257
+ })
258
+ });
28
259
  };
29
260
  var Menu = function Menu(props) {
30
- return (0, _platformFeatureFlags.fg)('compiled-react-select') ? /*#__PURE__*/_react.default.createElement(_menu.default, props) : /*#__PURE__*/_react.default.createElement(_menu2.default, props);
261
+ var children = props.children,
262
+ innerRef = props.innerRef,
263
+ innerProps = props.innerProps,
264
+ _props$placement = props.placement,
265
+ placement = _props$placement === void 0 ? 'bottom' : _props$placement,
266
+ xcss = props.xcss;
267
+ var _getStyleProps = (0, _utils.getStyleProps)(props, 'menu', {
268
+ menu: true
269
+ }),
270
+ css = _getStyleProps.css,
271
+ className = _getStyleProps.className;
272
+ return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
273
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
274
+ className: (0, _runtime.ax)([menuStyles.root, menuStyles[placement], (0, _react2.cx)(xcss, className, '-menu')])
275
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
276
+ ,
277
+ style: css,
278
+ ref: innerRef
279
+ }, innerProps), children);
31
280
  };
32
281
 
33
282
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
34
283
  var _default = exports.default = Menu; // ==============================
35
284
  // Menu List
36
285
  // ==============================
37
- var menuListCSS = exports.menuListCSS = function menuListCSS(props) {
38
- return (0, _platformFeatureFlags.fg)('compiled-react-select') ? (0, _menu.menuListCSS)() : (0, _menu2.menuListCSS)(props);
286
+ var menuListCSS = exports.menuListCSS = function menuListCSS() {
287
+ return {};
39
288
  };
289
+ var menuListStyles = null;
40
290
 
41
291
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
42
292
  var MenuList = exports.MenuList = function MenuList(props) {
43
- return (0, _platformFeatureFlags.fg)('compiled-react-select') ? /*#__PURE__*/_react.default.createElement(_menu.MenuList, props) : /*#__PURE__*/_react.default.createElement(_menu2.MenuList, props);
293
+ var children = props.children,
294
+ innerProps = props.innerProps,
295
+ innerRef = props.innerRef,
296
+ isMulti = props.isMulti,
297
+ maxHeight = props.maxHeight,
298
+ xcss = props.xcss;
299
+ var _getStyleProps2 = (0, _utils.getStyleProps)(props, 'menuList', {
300
+ 'menu-list': true,
301
+ 'menu-list--is-multi': isMulti
302
+ }),
303
+ css = _getStyleProps2.css,
304
+ className = _getStyleProps2.className;
305
+ return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
306
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
307
+ className: (0, _runtime.ax)(["_kqswh2mm _18m91wug _85i5u2gc _1q51u2gc _8am5i4x0", (0, _react2.cx)(className, xcss, '-MenuList')])
308
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
309
+ ,
310
+ style: _objectSpread(_objectSpread({}, css), {}, {
311
+ maxHeight: maxHeight
312
+ }),
313
+ ref: innerRef
314
+ }, innerProps, {
315
+ tabIndex: -1
316
+ }), children);
44
317
  };
45
318
 
46
319
  // ==============================
47
320
  // Menu Notices
48
321
  // ==============================
49
322
 
50
- var noticeCSS = function noticeCSS(_ref) {
51
- (0, _objectDestructuringEmpty2.default)(_ref);
52
- return {
53
- textAlign: 'center',
54
- padding: "var(--ds-space-100, 8px)".concat(" ", "var(--ds-space-150, 12px)")
55
- };
323
+ var noticeCSS = function noticeCSS() {
324
+ return {};
56
325
  };
326
+ var noticeStyles = null;
57
327
  var noOptionsMessageCSS = exports.noOptionsMessageCSS = noticeCSS;
58
328
  var loadingMessageCSS = exports.loadingMessageCSS = noticeCSS;
59
329
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
60
- var NoOptionsMessage = exports.NoOptionsMessage = function NoOptionsMessage(props) {
61
- return (0, _platformFeatureFlags.fg)('compiled-react-select') ? /*#__PURE__*/_react.default.createElement(_menu.NoOptionsMessage, props) : /*#__PURE__*/_react.default.createElement(_menu2.NoOptionsMessage, props);
330
+ var NoOptionsMessage = exports.NoOptionsMessage = function NoOptionsMessage(_ref3) {
331
+ var _ref3$children = _ref3.children,
332
+ children = _ref3$children === void 0 ? 'No options' : _ref3$children,
333
+ innerProps = _ref3.innerProps,
334
+ xcss = _ref3.xcss,
335
+ restProps = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
336
+ var _getStyleProps3 = (0, _utils.getStyleProps)(_objectSpread(_objectSpread({}, restProps), {}, {
337
+ children: children,
338
+ innerProps: innerProps
339
+ }), 'noOptionsMessage', {
340
+ 'menu-notice': true,
341
+ 'menu-notice--no-options': true
342
+ }),
343
+ css = _getStyleProps3.css,
344
+ className = _getStyleProps3.className;
345
+ return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
346
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
347
+ className: (0, _runtime.ax)(["_85i5u2gc _1q51u2gc _y4tiutpp _bozgutpp _y3gn1h6o", (0, _react2.cx)(className, xcss, '-NoOptionsMessage')])
348
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
349
+ ,
350
+ style: css
351
+ // eslint-disable-next-line jsx-a11y/role-has-required-aria-props
352
+ ,
353
+ role: "option"
354
+ }, innerProps), /*#__PURE__*/React.createElement(_compiled.Text, {
355
+ color: "color.text.subtle"
356
+ }, children));
62
357
  };
63
358
 
64
359
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
65
- var LoadingMessage = exports.LoadingMessage = function LoadingMessage(props) {
66
- return (0, _platformFeatureFlags.fg)('compiled-react-select') ? /*#__PURE__*/_react.default.createElement(_menu.LoadingMessage, props) : /*#__PURE__*/_react.default.createElement(_menu2.LoadingMessage, props);
360
+ var LoadingMessage = exports.LoadingMessage = function LoadingMessage(_ref4) {
361
+ var _ref4$children = _ref4.children,
362
+ children = _ref4$children === void 0 ? 'Loading...' : _ref4$children,
363
+ innerProps = _ref4.innerProps,
364
+ xcss = _ref4.xcss,
365
+ restProps = (0, _objectWithoutProperties2.default)(_ref4, _excluded2);
366
+ var _getStyleProps4 = (0, _utils.getStyleProps)(_objectSpread(_objectSpread({}, restProps), {}, {
367
+ children: children,
368
+ innerProps: innerProps
369
+ }), 'loadingMessage', {
370
+ 'menu-notice': true,
371
+ 'menu-notice--loading': true
372
+ }),
373
+ css = _getStyleProps4.css,
374
+ className = _getStyleProps4.className;
375
+ return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
376
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
377
+ className: (0, _runtime.ax)(["_85i5u2gc _1q51u2gc _y4tiutpp _bozgutpp _y3gn1h6o", (0, _react2.cx)(className, xcss, '-LoadingMessage')])
378
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
379
+ ,
380
+ style: css
381
+ }, innerProps, {
382
+ // eslint-disable-next-line jsx-a11y/role-has-required-aria-props
383
+ role: "option"
384
+ }), /*#__PURE__*/React.createElement(_compiled.Text, {
385
+ color: "color.text.subtle"
386
+ }, children));
67
387
  };
68
388
 
69
389
  // ==============================
70
390
  // Menu Portal
71
391
  // ==============================
72
392
 
73
- var menuPortalCSS = exports.menuPortalCSS = function menuPortalCSS(props) {
74
- return (0, _platformFeatureFlags.fg)('compiled-react-select') ? (0, _menu.menuPortalCSS)() : (0, _menu2.menuPortalCSS)(props);
393
+ var menuPortalCSS = exports.menuPortalCSS = function menuPortalCSS() {
394
+ return {};
395
+ };
396
+ var menuPortalStyles = {
397
+ root: "_1pbykb7n _1ltva1vk _kqswcp1v _154i1nmo _1bsb1qxj"
75
398
  };
76
-
77
399
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
78
400
  var MenuPortal = exports.MenuPortal = function MenuPortal(props) {
79
- return (0, _platformFeatureFlags.fg)('compiled-react-select') ? /*#__PURE__*/_react.default.createElement(_menu.MenuPortal, props) : /*#__PURE__*/_react.default.createElement(_menu2.MenuPortal, props);
401
+ var appendTo = props.appendTo,
402
+ children = props.children,
403
+ controlElement = props.controlElement,
404
+ innerProps = props.innerProps,
405
+ menuPlacement = props.menuPlacement,
406
+ menuPosition = props.menuPosition,
407
+ xcss = props.xcss;
408
+ var menuPortalRef = (0, _react.useRef)(null);
409
+ var cleanupRef = (0, _react.useRef)(null);
410
+ var _useState5 = (0, _react.useState)(coercePlacement(menuPlacement)),
411
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
412
+ placement = _useState6[0],
413
+ setPortalPlacement = _useState6[1];
414
+ var portalPlacementContext = (0, _react.useMemo)(function () {
415
+ return {
416
+ setPortalPlacement: setPortalPlacement
417
+ };
418
+ }, []);
419
+ var _useState7 = (0, _react.useState)(null),
420
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
421
+ computedPosition = _useState8[0],
422
+ setComputedPosition = _useState8[1];
423
+ var updateComputedPosition = (0, _react.useCallback)(function () {
424
+ if (!controlElement) {
425
+ return;
426
+ }
427
+ var rect = (0, _utils.getBoundingClientObj)(controlElement);
428
+ var scrollDistance = menuPosition === 'fixed' ? 0 : window.pageYOffset;
429
+ var offset = rect[placement] + scrollDistance;
430
+ if (offset !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.offset) || rect.left !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.left) || rect.width !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.width)) {
431
+ setComputedPosition({
432
+ offset: offset,
433
+ rect: rect
434
+ });
435
+ }
436
+ }, [controlElement, menuPosition, placement, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.offset, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.left, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.width]);
437
+ (0, _useIsomorphicLayoutEffect.default)(function () {
438
+ updateComputedPosition();
439
+ }, [updateComputedPosition]);
440
+ var runAutoUpdate = (0, _react.useCallback)(function () {
441
+ if (typeof cleanupRef.current === 'function') {
442
+ cleanupRef.current();
443
+ cleanupRef.current = null;
444
+ }
445
+ if (controlElement && menuPortalRef.current) {
446
+ cleanupRef.current = (0, _dom.autoUpdate)(controlElement, menuPortalRef.current, updateComputedPosition, {
447
+ elementResize: 'ResizeObserver' in window
448
+ });
449
+ }
450
+ }, [controlElement, updateComputedPosition]);
451
+ (0, _useIsomorphicLayoutEffect.default)(function () {
452
+ runAutoUpdate();
453
+ }, [runAutoUpdate]);
454
+ var setMenuPortalElement = (0, _react.useCallback)(function (menuPortalElement) {
455
+ menuPortalRef.current = menuPortalElement;
456
+ runAutoUpdate();
457
+ }, [runAutoUpdate]);
458
+
459
+ // bail early if required elements aren't present
460
+ if (!appendTo && menuPosition !== 'fixed' || !computedPosition) {
461
+ return null;
462
+ }
463
+ var _getStyleProps5 = (0, _utils.getStyleProps)(_objectSpread(_objectSpread({}, props), {}, {
464
+ offset: computedPosition.offset,
465
+ position: menuPosition,
466
+ rect: computedPosition.rect
467
+ }), 'menuPortal', {
468
+ 'menu-portal': true
469
+ }),
470
+ css = _getStyleProps5.css,
471
+ className = _getStyleProps5.className;
472
+
473
+ // same wrapper element whether fixed or portalled
474
+ var menuWrapper = /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
475
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
476
+ className: (0, _runtime.ax)([menuPortalStyles.root, (0, _react2.cx)(className, xcss, '-MenuPortal')]),
477
+ ref: setMenuPortalElement,
478
+ style: _objectSpread({
479
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
480
+ '--menu-left': "".concat(computedPosition.rect.left, "px"),
481
+ '--menu-position': menuPosition,
482
+ '--menu-top': "".concat(computedPosition.offset, "px"),
483
+ '--menu-width': "".concat(computedPosition.rect.width, "px")
484
+ }, css)
485
+ }, innerProps), children);
486
+ return /*#__PURE__*/React.createElement(PortalPlacementContext.Provider, {
487
+ value: portalPlacementContext
488
+ }, appendTo ? /*#__PURE__*/(0, _reactDom.createPortal)(menuWrapper, appendTo) : menuWrapper);
80
489
  };