@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,456 +0,0 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- import _objectDestructuringEmpty from "@babel/runtime/helpers/objectDestructuringEmpty";
3
- import _extends from "@babel/runtime/helpers/extends";
4
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
- var _excluded = ["children", "innerProps"],
7
- _excluded2 = ["children", "innerProps"];
8
- 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; }
9
- 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; }
10
- /**
11
- * @jsxRuntime classic
12
- * @jsx jsx
13
- */
14
- import { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';
15
-
16
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
17
- import { jsx } from '@emotion/react';
18
- import { autoUpdate } from '@floating-ui/dom';
19
- import { createPortal } from 'react-dom';
20
- import useLayoutEffect from 'use-isomorphic-layout-effect';
21
- import { Text } from '@atlaskit/primitives';
22
- import { animatedScrollTo, getBoundingClientObj, getScrollParent, getScrollTop, getStyleProps, normalizedHeight, scrollTo } from '../../utils';
23
-
24
- // ==============================
25
- // Menu
26
- // ==============================
27
-
28
- // Get Menu Placement
29
- // ------------------------------
30
-
31
- function getMenuPlacement(_ref) {
32
- var preferredMaxHeight = _ref.maxHeight,
33
- menuEl = _ref.menuEl,
34
- minHeight = _ref.minHeight,
35
- preferredPlacement = _ref.placement,
36
- shouldScroll = _ref.shouldScroll,
37
- isFixedPosition = _ref.isFixedPosition,
38
- controlHeight = _ref.controlHeight;
39
- var scrollParent = getScrollParent(menuEl);
40
- var defaultState = {
41
- placement: 'bottom',
42
- maxHeight: preferredMaxHeight
43
- };
44
-
45
- // something went wrong, return default state
46
- if (!menuEl || !menuEl.offsetParent) {
47
- return defaultState;
48
- }
49
-
50
- // we can't trust `scrollParent.scrollHeight` --> it may increase when
51
- // the menu is rendered
52
- var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),
53
- scrollHeight = _scrollParent$getBoun.height;
54
- var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),
55
- menuBottom = _menuEl$getBoundingCl.bottom,
56
- menuHeight = _menuEl$getBoundingCl.height,
57
- menuTop = _menuEl$getBoundingCl.top;
58
- var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),
59
- containerTop = _menuEl$offsetParent$.top;
60
- var viewHeight = isFixedPosition ? window.innerHeight : normalizedHeight(scrollParent);
61
- var scrollTop = getScrollTop(scrollParent);
62
- var menuTopFromParent = menuTop;
63
- var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);
64
- var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);
65
- var viewSpaceAbove = containerTop - marginTop;
66
- var viewSpaceBelow = viewHeight - menuTopFromParent;
67
- var scrollSpaceAbove = viewSpaceAbove + scrollTop;
68
- var scrollSpaceBelow = scrollHeight - scrollTop - menuTopFromParent;
69
- var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;
70
- var scrollUp = scrollTop + menuTop - marginTop;
71
- var scrollDuration = 160;
72
- switch (preferredPlacement) {
73
- case 'auto':
74
- case 'bottom':
75
- // 1: the menu will fit, do nothing
76
- if (viewSpaceBelow >= menuHeight) {
77
- return {
78
- placement: 'bottom',
79
- maxHeight: preferredMaxHeight
80
- };
81
- }
82
-
83
- // 2: the menu will fit, if scrolled
84
- if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {
85
- if (shouldScroll) {
86
- animatedScrollTo(scrollParent, scrollDown, scrollDuration);
87
- }
88
- return {
89
- placement: 'bottom',
90
- maxHeight: preferredMaxHeight
91
- };
92
- }
93
-
94
- // 3: the menu will fit, if constrained
95
- if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {
96
- if (shouldScroll) {
97
- animatedScrollTo(scrollParent, scrollDown, scrollDuration);
98
- }
99
-
100
- // we want to provide as much of the menu as possible to the user,
101
- // so give them whatever is available below rather than the minHeight.
102
- var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;
103
- return {
104
- placement: 'bottom',
105
- maxHeight: constrainedHeight
106
- };
107
- }
108
-
109
- // 4. Forked beviour when there isn't enough space below
110
-
111
- // AUTO: flip the menu, render above
112
- if (preferredPlacement === 'auto' || isFixedPosition) {
113
- // may need to be constrained after flipping
114
- var _constrainedHeight = preferredMaxHeight;
115
- var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;
116
- if (spaceAbove >= minHeight) {
117
- _constrainedHeight = Math.min(spaceAbove - marginBottom - controlHeight, preferredMaxHeight);
118
- }
119
- return {
120
- placement: 'top',
121
- maxHeight: _constrainedHeight
122
- };
123
- }
124
-
125
- // BOTTOM: allow browser to increase scrollable area and immediately set scroll
126
- if (preferredPlacement === 'bottom') {
127
- if (shouldScroll) {
128
- scrollTo(scrollParent, scrollDown);
129
- }
130
- return {
131
- placement: 'bottom',
132
- maxHeight: preferredMaxHeight
133
- };
134
- }
135
- break;
136
- case 'top':
137
- // 1: the menu will fit, do nothing
138
- if (viewSpaceAbove >= menuHeight) {
139
- return {
140
- placement: 'top',
141
- maxHeight: preferredMaxHeight
142
- };
143
- }
144
-
145
- // 2: the menu will fit, if scrolled
146
- if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {
147
- if (shouldScroll) {
148
- animatedScrollTo(scrollParent, scrollUp, scrollDuration);
149
- }
150
- return {
151
- placement: 'top',
152
- maxHeight: preferredMaxHeight
153
- };
154
- }
155
-
156
- // 3: the menu will fit, if constrained
157
- if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
158
- var _constrainedHeight2 = preferredMaxHeight;
159
-
160
- // we want to provide as much of the menu as possible to the user,
161
- // so give them whatever is available below rather than the minHeight.
162
- if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
163
- _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;
164
- }
165
- if (shouldScroll) {
166
- animatedScrollTo(scrollParent, scrollUp, scrollDuration);
167
- }
168
- return {
169
- placement: 'top',
170
- maxHeight: _constrainedHeight2
171
- };
172
- }
173
-
174
- // 4. not enough space, the browser WILL NOT increase scrollable area when
175
- // absolutely positioned element rendered above the viewport (only below).
176
- // Flip the menu, render below
177
- return {
178
- placement: 'bottom',
179
- maxHeight: preferredMaxHeight
180
- };
181
- default:
182
- throw new Error("Invalid placement provided \"".concat(preferredPlacement, "\"."));
183
- }
184
- return defaultState;
185
- }
186
-
187
- // Menu Component
188
- // ------------------------------
189
-
190
- function alignToControl(placement) {
191
- var placementToCSSProp = {
192
- bottom: 'top',
193
- top: 'bottom'
194
- };
195
- return placement ? placementToCSSProp[placement] : 'bottom';
196
- }
197
- var coercePlacement = function coercePlacement(p) {
198
- return p === 'auto' ? 'bottom' : p;
199
- };
200
- export var menuCSS = function menuCSS(_ref2) {
201
- var placement = _ref2.placement;
202
- return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
203
- label: 'menu'
204
- }, alignToControl(placement), '100%'), "position", 'absolute'), "width", '100%'), "zIndex", 1), "borderRadius", "var(--ds-border-radius, 4px)"), "marginBottom", "var(--ds-space-100, 8px)"), "marginTop", "var(--ds-space-100, 8px)"), "backgroundColor", "var(--ds-surface-overlay, white)"), "boxShadow", "var(--ds-shadow-overlay, 0 0 0 1px hsl(0deg 0% 0% / 10%), 0 4px 11px hsl(0deg 0% 0% / 10%))");
205
- };
206
- var PortalPlacementContext = /*#__PURE__*/createContext(null);
207
-
208
- // NOTE: internal only
209
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
210
- export var MenuPlacer = function 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 _ref4 = useContext(PortalPlacementContext) || {},
218
- setPortalPlacement = _ref4.setPortalPlacement;
219
- var ref = useRef(null);
220
- var _useState = useState(maxMenuHeight),
221
- _useState2 = _slicedToArray(_useState, 2),
222
- maxHeight = _useState2[0],
223
- setMaxHeight = _useState2[1];
224
- var _useState3 = useState(null),
225
- _useState4 = _slicedToArray(_useState3, 2),
226
- placement = _useState4[0],
227
- setPlacement = _useState4[1];
228
- // The minimum height of the control
229
- var controlHeight = 38;
230
- useLayoutEffect(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
- });
259
- };
260
- var Menu = function Menu(props) {
261
- var children = props.children,
262
- innerRef = props.innerRef,
263
- innerProps = props.innerProps;
264
- var styles = getStyleProps(props, 'menu', {
265
- menu: true
266
- });
267
- return jsx("div", _extends({}, styles, {
268
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
269
- className: styles.className || '-menu',
270
- ref: innerRef
271
- }, innerProps), children);
272
- };
273
-
274
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
275
- export default Menu;
276
-
277
- // ==============================
278
- // Menu List
279
- // ==============================
280
-
281
- export var menuListCSS = function menuListCSS(_ref5) {
282
- var maxHeight = _ref5.maxHeight;
283
- return {
284
- maxHeight: maxHeight,
285
- overflowY: 'auto',
286
- position: 'relative',
287
- // required for offset[Height, Top] > keyboard scroll
288
- WebkitOverflowScrolling: 'touch',
289
- paddingTop: "var(--ds-space-100, 8px)",
290
- paddingBottom: "var(--ds-space-100, 8px)"
291
- };
292
- };
293
-
294
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
295
- export var MenuList = function MenuList(props) {
296
- var children = props.children,
297
- innerProps = props.innerProps,
298
- innerRef = props.innerRef,
299
- isMulti = props.isMulti;
300
- return jsx("div", _extends({}, getStyleProps(props, 'menuList', {
301
- 'menu-list': true,
302
- 'menu-list--is-multi': isMulti
303
- }), {
304
- ref: innerRef
305
- }, innerProps, {
306
- tabIndex: -1
307
- }), children);
308
- };
309
-
310
- // ==============================
311
- // Menu Notices
312
- // ==============================
313
-
314
- var noticeCSS = function noticeCSS(_ref6) {
315
- _objectDestructuringEmpty(_ref6);
316
- return {
317
- textAlign: 'center',
318
- padding: "var(--ds-space-100, 8px)".concat(" ", "var(--ds-space-150, 12px)")
319
- };
320
- };
321
- export var noOptionsMessageCSS = noticeCSS;
322
- export var loadingMessageCSS = noticeCSS;
323
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
324
- export var NoOptionsMessage = function NoOptionsMessage(_ref7) {
325
- var _ref7$children = _ref7.children,
326
- children = _ref7$children === void 0 ? 'No options' : _ref7$children,
327
- innerProps = _ref7.innerProps,
328
- restProps = _objectWithoutProperties(_ref7, _excluded);
329
- return jsx("div", _extends({}, getStyleProps(_objectSpread(_objectSpread({}, restProps), {}, {
330
- children: children,
331
- innerProps: innerProps
332
- }), 'noOptionsMessage', {
333
- 'menu-notice': true,
334
- 'menu-notice--no-options': true
335
- }), {
336
- // eslint-disable-next-line jsx-a11y/role-has-required-aria-props
337
- role: "option"
338
- }, innerProps), jsx(Text, {
339
- color: "color.text.subtle"
340
- }, children));
341
- };
342
-
343
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
344
- export var LoadingMessage = function LoadingMessage(_ref8) {
345
- var _ref8$children = _ref8.children,
346
- children = _ref8$children === void 0 ? 'Loading...' : _ref8$children,
347
- innerProps = _ref8.innerProps,
348
- restProps = _objectWithoutProperties(_ref8, _excluded2);
349
- return jsx("div", _extends({}, getStyleProps(_objectSpread(_objectSpread({}, restProps), {}, {
350
- children: children,
351
- innerProps: innerProps
352
- }), 'loadingMessage', {
353
- 'menu-notice': true,
354
- 'menu-notice--loading': true
355
- }), innerProps, {
356
- // eslint-disable-next-line jsx-a11y/role-has-required-aria-props
357
- role: "option"
358
- }), jsx(Text, {
359
- color: "color.text.subtle"
360
- }, children));
361
- };
362
-
363
- // ==============================
364
- // Menu Portal
365
- // ==============================
366
-
367
- export var menuPortalCSS = function menuPortalCSS(_ref9) {
368
- var rect = _ref9.rect,
369
- offset = _ref9.offset,
370
- position = _ref9.position;
371
- return {
372
- left: rect.left,
373
- position: position,
374
- top: offset,
375
- width: rect.width,
376
- zIndex: 1
377
- };
378
- };
379
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
380
- export var MenuPortal = function MenuPortal(props) {
381
- var appendTo = props.appendTo,
382
- children = props.children,
383
- controlElement = props.controlElement,
384
- innerProps = props.innerProps,
385
- menuPlacement = props.menuPlacement,
386
- menuPosition = props.menuPosition;
387
- var menuPortalRef = useRef(null);
388
- var cleanupRef = useRef(null);
389
- var _useState5 = useState(coercePlacement(menuPlacement)),
390
- _useState6 = _slicedToArray(_useState5, 2),
391
- placement = _useState6[0],
392
- setPortalPlacement = _useState6[1];
393
- var portalPlacementContext = useMemo(function () {
394
- return {
395
- setPortalPlacement: setPortalPlacement
396
- };
397
- }, []);
398
- var _useState7 = useState(null),
399
- _useState8 = _slicedToArray(_useState7, 2),
400
- computedPosition = _useState8[0],
401
- setComputedPosition = _useState8[1];
402
- var updateComputedPosition = useCallback(function () {
403
- if (!controlElement) {
404
- return;
405
- }
406
- var rect = getBoundingClientObj(controlElement);
407
- var scrollDistance = menuPosition === 'fixed' ? 0 : window.pageYOffset;
408
- var offset = rect[placement] + scrollDistance;
409
- 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)) {
410
- setComputedPosition({
411
- offset: offset,
412
- rect: rect
413
- });
414
- }
415
- }, [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]);
416
- useLayoutEffect(function () {
417
- updateComputedPosition();
418
- }, [updateComputedPosition]);
419
- var runAutoUpdate = useCallback(function () {
420
- if (typeof cleanupRef.current === 'function') {
421
- cleanupRef.current();
422
- cleanupRef.current = null;
423
- }
424
- if (controlElement && menuPortalRef.current) {
425
- cleanupRef.current = autoUpdate(controlElement, menuPortalRef.current, updateComputedPosition, {
426
- elementResize: 'ResizeObserver' in window
427
- });
428
- }
429
- }, [controlElement, updateComputedPosition]);
430
- useLayoutEffect(function () {
431
- runAutoUpdate();
432
- }, [runAutoUpdate]);
433
- var setMenuPortalElement = useCallback(function (menuPortalElement) {
434
- menuPortalRef.current = menuPortalElement;
435
- runAutoUpdate();
436
- }, [runAutoUpdate]);
437
-
438
- // bail early if required elements aren't present
439
- if (!appendTo && menuPosition !== 'fixed' || !computedPosition) {
440
- return null;
441
- }
442
-
443
- // same wrapper element whether fixed or portalled
444
- var menuWrapper = jsx("div", _extends({
445
- ref: setMenuPortalElement
446
- }, getStyleProps(_objectSpread(_objectSpread({}, props), {}, {
447
- offset: computedPosition.offset,
448
- position: menuPosition,
449
- rect: computedPosition.rect
450
- }), 'menuPortal', {
451
- 'menu-portal': true
452
- }), innerProps), children);
453
- return jsx(PortalPlacementContext.Provider, {
454
- value: portalPlacementContext
455
- }, appendTo ? /*#__PURE__*/createPortal(menuWrapper, appendTo) : menuWrapper);
456
- };
@@ -1,193 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- 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; }
3
- 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; }
4
- /**
5
- * @jsxRuntime classic
6
- * @jsx jsx
7
- */
8
-
9
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
10
- import { css, jsx } from '@emotion/react';
11
- import CrossIcon from '@atlaskit/icon/core/close';
12
- import LegacySelectClearIcon from '@atlaskit/icon/glyph/select-clear';
13
- import { fg } from '@atlaskit/platform-feature-flags';
14
- import { getStyleProps } from '../../utils';
15
- export var multiValueCSS = function multiValueCSS(_ref) {
16
- var isDisabled = _ref.isDisabled,
17
- isFocused = _ref.isFocused;
18
- var backgroundColor;
19
- var color;
20
- if (isDisabled) {
21
- // Use the basic neutral background so it is slightly separate from the
22
- // field's background
23
- backgroundColor = "var(--ds-background-neutral, #091E420F)";
24
- color = "var(--ds-text-disabled, #091E424F)";
25
- } else if (isFocused) {
26
- backgroundColor = "var(--ds-background-selected, #E9F2FF)";
27
- color = "var(--ds-text-selected, hsl(0, 0%, 20%))";
28
- } else {
29
- backgroundColor = fg('platform-component-visual-refresh') ? "var(--ds-background-neutral-subtle-hovered, #091E420F)" : "var(--ds-background-neutral, #091E420F)";
30
- color = "var(--ds-text, hsl(0, 0%, 20%))";
31
- }
32
- return _objectSpread({
33
- label: 'multiValue',
34
- display: 'flex',
35
- minWidth: 0,
36
- // resolves flex/text-overflow bug
37
- margin: "var(--ds-space-025, 2px)",
38
- borderRadius: "var(--ds-border-radius-050, 2px)",
39
- backgroundColor: backgroundColor,
40
- boxShadow: isFocused ? "0 0 0 2px ".concat("var(--ds-surface, transparent)", ", 0 0 0 4px ", "var(--ds-border-focused, transparent)") : 'none',
41
- maxWidth: '100%',
42
- '@media screen and (-ms-high-contrast: active)': {
43
- border: isFocused ? '1px solid transparent' : 'none'
44
- },
45
- color: color
46
- }, fg('platform-component-visual-refresh') && {
47
- borderRadius: "var(--ds-border-radius-100, 4px)",
48
- // Hardcode this color for visual refresh as there is no token color yet
49
- borderColor: '#B7B9BE',
50
- borderWidth: "var(--ds-border-width, 1px)",
51
- borderStyle: 'solid',
52
- backgroundColor: "var(--ds-background-input, #FFFFFF)"
53
- });
54
- };
55
- export var multiValueLabelCSS = function multiValueLabelCSS(_ref2) {
56
- var cropWithEllipsis = _ref2.cropWithEllipsis,
57
- isDisabled = _ref2.isDisabled;
58
- return _objectSpread({
59
- overflow: 'hidden',
60
- textOverflow: cropWithEllipsis || cropWithEllipsis === undefined ? 'ellipsis' : undefined,
61
- whiteSpace: 'nowrap',
62
- borderRadius: "var(--ds-border-radius-050, 2px)",
63
- // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
64
- fontSize: '85%',
65
- font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
66
- padding: "var(--ds-space-025, 2px)",
67
- color: isDisabled ? "var(--ds-text-disabled, #091E424F)" : 'inherit',
68
- paddingLeft: "var(--ds-space-075, 6px)"
69
- }, fg('platform-component-visual-refresh') && {
70
- font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
71
- paddingTop: 0,
72
- paddingBottom: 0,
73
- paddingLeft: "var(--ds-space-050, 4px)"
74
- });
75
- };
76
- export var multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {
77
- var isFocused = _ref3.isFocused;
78
- return _objectSpread({
79
- alignItems: 'center',
80
- display: 'flex',
81
- backgroundColor: isFocused ? "var(--ds-UNSAFE-transparent, transparent)" : undefined,
82
- fill: isFocused ? "var(--ds-text-selected, #000)" : "var(--ds-text, #000)",
83
- paddingLeft: "var(--ds-space-025, 2px)",
84
- paddingRight: "var(--ds-space-025, 2px)",
85
- borderRadius: '0px 2px 2px 0px',
86
- // DSP-6470 we should style like Tag once we have the :has selector
87
- ':hover': {
88
- backgroundColor: "var(--ds-background-danger-hovered, #FFD5D2)",
89
- fill: "var(--ds-text-danger, #000)"
90
- },
91
- ':active': {
92
- backgroundColor: "var(--ds-background-danger-pressed, #FD9891)",
93
- fill: "var(--ds-text-danger, #000)"
94
- }
95
- }, fg('platform-component-visual-refresh') && {
96
- backgroundColor: "var(--ds-background-neutral-subtle, #00000000)",
97
- border: 'none',
98
- alignItems: 'center',
99
- justifyContent: 'center',
100
- alignSelf: 'center',
101
- appearance: 'none',
102
- borderRadius: "var(--ds-border-radius, 4px)",
103
- color: "var(--ds-text, #172B4D)",
104
- padding: "var(--ds-space-025, 2px)",
105
- marginRight: "var(--ds-space-025, 2px)",
106
- ':focus-visible': {
107
- outlineOffset: "var(--ds-space-negative-025, -2px)"
108
- },
109
- ':hover': {
110
- backgroundColor: "var(--ds-background-neutral-subtle-hovered, #091E420F)"
111
- },
112
- ':active': {
113
- backgroundColor: "var(--ds-background-neutral-subtle-pressed, #091E4224)"
114
- }
115
- });
116
- };
117
- var MultiValueGeneric = function MultiValueGeneric(_ref4) {
118
- var children = _ref4.children,
119
- innerProps = _ref4.innerProps;
120
- return jsx("div", innerProps, children);
121
- };
122
-
123
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
124
- export var MultiValueContainer = MultiValueGeneric;
125
-
126
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
127
- export var MultiValueLabel = MultiValueGeneric;
128
- var disabledStyles = css({
129
- display: 'none'
130
- });
131
- var enabledStyles = css({
132
- display: 'inherit'
133
- });
134
- export function MultiValueRemove(_ref5) {
135
- var isDisabled = _ref5.isDisabled,
136
- innerProps = _ref5.innerProps;
137
- return (
138
- // The Remove button is intentionally excluded from the tab order, please avoid assigning a non-negative tabIndex to it. Context: https://hello.atlassian.net/wiki/spaces/A11YKB/pages/3031993460/Clear+Options+on+an+Input+Field
139
- jsx("div", innerProps, jsx("div", {
140
- css: isDisabled ? disabledStyles : enabledStyles,
141
- "data-testid": isDisabled ? 'hide-clear-icon' : 'show-clear-icon'
142
- }, jsx(CrossIcon, {
143
- label: "",
144
- color: "currentColor",
145
- LEGACY_fallbackIcon: LegacySelectClearIcon,
146
- LEGACY_primaryColor: "transparent",
147
- LEGACY_secondaryColor: "inherit",
148
- LEGACY_size: "small",
149
- size: "small"
150
- })))
151
- );
152
- }
153
- var MultiValue = function MultiValue(props) {
154
- var children = props.children,
155
- components = props.components,
156
- data = props.data,
157
- innerProps = props.innerProps,
158
- isDisabled = props.isDisabled,
159
- removeProps = props.removeProps,
160
- selectProps = props.selectProps;
161
- var Container = components.Container,
162
- Label = components.Label,
163
- Remove = components.Remove;
164
- var ariaLabel = typeof children === 'string' ? children : data.label;
165
- return jsx(Container, {
166
- data: data,
167
- innerProps: _objectSpread(_objectSpread({}, getStyleProps(props, 'multiValue', {
168
- 'multi-value': true,
169
- 'multi-value--is-disabled': isDisabled
170
- })), innerProps),
171
- selectProps: selectProps
172
- }, jsx(Label, {
173
- data: data,
174
- innerProps: _objectSpread({}, getStyleProps(props, 'multiValueLabel', {
175
- 'multi-value__label': true
176
- })),
177
- selectProps: selectProps
178
- }, children), jsx(Remove, {
179
- data: data,
180
- innerProps: _objectSpread(_objectSpread({}, getStyleProps(props, 'multiValueRemove', {
181
- 'multi-value__remove': true
182
- })), {}, {
183
- role: 'button',
184
- tabIndex: -1,
185
- 'aria-label': "".concat(ariaLabel || 'option', ", remove")
186
- }, removeProps),
187
- isDisabled: isDisabled,
188
- selectProps: selectProps
189
- }));
190
- };
191
-
192
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
193
- export default MultiValue;