@atlaskit/react-select 1.5.2 → 1.6.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 (66) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/components/group.js +2 -7
  3. package/dist/cjs/components/index.js +0 -3
  4. package/dist/cjs/components/indicators.js +54 -133
  5. package/dist/cjs/components/input.js +5 -8
  6. package/dist/cjs/components/internal/dummy-input.js +1 -0
  7. package/dist/cjs/components/menu.js +16 -18
  8. package/dist/cjs/components/multi-value.js +48 -10
  9. package/dist/cjs/components/option.js +1 -0
  10. package/dist/cjs/components/single-value.js +1 -2
  11. package/dist/cjs/index.js +0 -7
  12. package/dist/cjs/select.js +96 -135
  13. package/dist/cjs/styles.js +0 -1
  14. package/dist/cjs/utils.js +1 -2
  15. package/dist/es2019/components/group.js +2 -7
  16. package/dist/es2019/components/index.js +1 -4
  17. package/dist/es2019/components/indicators.js +39 -113
  18. package/dist/es2019/components/input.js +5 -9
  19. package/dist/es2019/components/internal/dummy-input.js +1 -0
  20. package/dist/es2019/components/menu.js +16 -26
  21. package/dist/es2019/components/multi-value.js +49 -12
  22. package/dist/es2019/components/option.js +1 -0
  23. package/dist/es2019/components/single-value.js +1 -4
  24. package/dist/es2019/index.js +0 -1
  25. package/dist/es2019/select.js +15 -56
  26. package/dist/es2019/styles.js +1 -2
  27. package/dist/es2019/utils.js +0 -2
  28. package/dist/esm/components/group.js +2 -7
  29. package/dist/esm/components/index.js +1 -4
  30. package/dist/esm/components/indicators.js +54 -133
  31. package/dist/esm/components/input.js +5 -8
  32. package/dist/esm/components/internal/dummy-input.js +1 -0
  33. package/dist/esm/components/menu.js +16 -18
  34. package/dist/esm/components/multi-value.js +49 -11
  35. package/dist/esm/components/option.js +1 -0
  36. package/dist/esm/components/single-value.js +1 -2
  37. package/dist/esm/index.js +0 -1
  38. package/dist/esm/select.js +96 -135
  39. package/dist/esm/styles.js +1 -2
  40. package/dist/esm/utils.js +1 -2
  41. package/dist/types/components/group.d.ts +1 -2
  42. package/dist/types/components/index.d.ts +16 -22
  43. package/dist/types/components/indicators.d.ts +1 -16
  44. package/dist/types/components/input.d.ts +1 -1
  45. package/dist/types/components/menu.d.ts +3 -3
  46. package/dist/types/components/multi-value.d.ts +3 -2
  47. package/dist/types/components/single-value.d.ts +1 -1
  48. package/dist/types/index.d.ts +1 -3
  49. package/dist/types/select.d.ts +15 -28
  50. package/dist/types/styles.d.ts +1 -3
  51. package/dist/types/theme.d.ts +0 -1
  52. package/dist/types/types.d.ts +0 -1
  53. package/dist/types-ts4.5/components/group.d.ts +1 -2
  54. package/dist/types-ts4.5/components/index.d.ts +16 -22
  55. package/dist/types-ts4.5/components/indicators.d.ts +1 -16
  56. package/dist/types-ts4.5/components/input.d.ts +1 -1
  57. package/dist/types-ts4.5/components/menu.d.ts +3 -3
  58. package/dist/types-ts4.5/components/multi-value.d.ts +3 -2
  59. package/dist/types-ts4.5/components/single-value.d.ts +1 -1
  60. package/dist/types-ts4.5/index.d.ts +1 -3
  61. package/dist/types-ts4.5/select.d.ts +15 -28
  62. package/dist/types-ts4.5/styles.d.ts +1 -3
  63. package/dist/types-ts4.5/theme.d.ts +0 -1
  64. package/dist/types-ts4.5/types.d.ts +0 -1
  65. package/package.json +9 -3
  66. package/types/package.json +17 -0
@@ -1,8 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _extends from "@babel/runtime/helpers/extends";
3
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["size"],
5
- _excluded2 = ["innerProps", "isRtl", "size"];
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ var _excluded = ["innerProps", "isRtl", "size"];
6
5
  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; }
7
6
  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; }
8
7
  /**
@@ -10,63 +9,36 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
10
9
  * @jsx jsx
11
10
  */
12
11
 
13
- import { css, jsx, keyframes } from '@emotion/react';
12
+ import { jsx } from '@emotion/react';
13
+ import DownIcon from '@atlaskit/icon/utility/migration/chevron-down';
14
+ import CrossIcon from '@atlaskit/icon/utility/migration/cross-circle--select-clear';
15
+ import { Inline, Pressable, xcss } from '@atlaskit/primitives';
16
+ import Spinner from '@atlaskit/spinner';
14
17
  import { getStyleProps } from '../utils';
15
18
 
16
19
  // ==============================
17
20
  // Dropdown & Clear Icons
18
21
  // ==============================
19
22
 
20
- var styles = css({
21
- display: 'inline-block',
22
- fill: 'currentColor',
23
- lineHeight: 1,
24
- stroke: 'currentColor',
25
- strokeWidth: 0
23
+ var iconContainerStyles = xcss({
24
+ all: 'unset',
25
+ outline: 'revert',
26
+ display: 'flex',
27
+ alignItems: 'center',
28
+ justifyContent: 'center',
29
+ padding: 'space.025'
30
+ });
31
+ var dropdownWrapperStyles = xcss({
32
+ padding: 'space.075'
26
33
  });
27
- var Svg = function Svg(_ref) {
28
- var size = _ref.size,
29
- props = _objectWithoutProperties(_ref, _excluded);
30
- return jsx("svg", _extends({
31
- height: size,
32
- width: size,
33
- viewBox: "0 0 20 20",
34
- "aria-hidden": "true",
35
- focusable: "false",
36
- css: styles
37
- // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
38
- }, props));
39
- };
40
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
41
- export var CrossIcon = function CrossIcon(props) {
42
- return (
43
- // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
44
- jsx(Svg, _extends({
45
- size: 20
46
- }, props), jsx("path", {
47
- d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"
48
- }))
49
- );
50
- };
51
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
52
- export var DownChevron = function DownChevron(props) {
53
- return (
54
- // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
55
- jsx(Svg, _extends({
56
- size: 20
57
- }, props), jsx("path", {
58
- d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
59
- }))
60
- );
61
- };
62
34
 
63
35
  // ==============================
64
36
  // Dropdown & Clear Buttons
65
37
  // ==============================
66
38
 
67
- export var dropdownIndicatorCSS = function dropdownIndicatorCSS(_ref2) {
68
- var isCompact = _ref2.isCompact,
69
- isDisabled = _ref2.isDisabled;
39
+ export var dropdownIndicatorCSS = function dropdownIndicatorCSS(_ref) {
40
+ var isCompact = _ref.isCompact,
41
+ isDisabled = _ref.isDisabled;
70
42
  return {
71
43
  label: 'indicatorContainer',
72
44
  display: 'flex',
@@ -81,15 +53,22 @@ export var dropdownIndicatorCSS = function dropdownIndicatorCSS(_ref2) {
81
53
 
82
54
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
83
55
  export var DropdownIndicator = function DropdownIndicator(props) {
84
- var children = props.children,
85
- innerProps = props.innerProps;
56
+ var innerProps = props.innerProps,
57
+ children = props.children;
86
58
  return jsx("div", _extends({}, getStyleProps(props, 'dropdownIndicator', {
87
59
  indicator: true,
88
60
  'dropdown-indicator': true
89
- }), innerProps), children || jsx(DownChevron, null));
61
+ }), innerProps), children ? children : jsx(Inline, {
62
+ as: "span",
63
+ xcss: dropdownWrapperStyles
64
+ }, jsx(DownIcon, {
65
+ color: "currentColor",
66
+ label: "open",
67
+ LEGACY_margin: "var(--ds-space-negative-075, -0.375rem)"
68
+ })));
90
69
  };
91
- export var clearIndicatorCSS = function clearIndicatorCSS(_ref3) {
92
- var isCompact = _ref3.isCompact;
70
+ export var clearIndicatorCSS = function clearIndicatorCSS(_ref2) {
71
+ var isCompact = _ref2.isCompact;
93
72
  return {
94
73
  label: 'indicatorContainer',
95
74
  display: 'flex',
@@ -104,35 +83,21 @@ export var clearIndicatorCSS = function clearIndicatorCSS(_ref3) {
104
83
 
105
84
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
106
85
  export var ClearIndicator = function ClearIndicator(props) {
107
- var children = props.children,
108
- innerProps = props.innerProps;
86
+ var innerProps = props.innerProps,
87
+ _props$clearControlLa = props.clearControlLabel,
88
+ clearControlLabel = _props$clearControlLa === void 0 ? 'clear' : _props$clearControlLa;
109
89
  return jsx("div", _extends({}, getStyleProps(props, 'clearIndicator', {
110
90
  indicator: true,
111
91
  'clear-indicator': true
112
- }), innerProps), children || jsx(CrossIcon, null));
113
- };
114
-
115
- // ==============================
116
- // Separator
117
- // ==============================
118
-
119
- export var indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {
120
- var isDisabled = _ref4.isDisabled;
121
- return {
122
- label: 'indicatorSeparator',
123
- alignSelf: 'stretch',
124
- width: 1,
125
- backgroundColor: isDisabled ? "var(--ds-border-disabled, #091E420F)" : "var(--ds-border, #091E4224)",
126
- marginBottom: "var(--ds-space-100, 8px)",
127
- marginTop: "var(--ds-space-100, 8px)"
128
- };
129
- };
130
-
131
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
132
- export var IndicatorSeparator = function IndicatorSeparator(props) {
133
- var innerProps = props.innerProps;
134
- return jsx("span", _extends({}, innerProps, getStyleProps(props, 'indicatorSeparator', {
135
- 'indicator-separator': true
92
+ }), innerProps), jsx(Pressable, {
93
+ xcss: iconContainerStyles,
94
+ tabIndex: -1,
95
+ "aria-label": clearControlLabel
96
+ }, jsx(CrossIcon, {
97
+ label: "",
98
+ color: "currentColor",
99
+ LEGACY_size: "small",
100
+ LEGACY_margin: "var(--ds-space-negative-025, -0.125rem)"
136
101
  })));
137
102
  };
138
103
 
@@ -140,57 +105,20 @@ export var IndicatorSeparator = function IndicatorSeparator(props) {
140
105
  // Loading
141
106
  // ==============================
142
107
 
143
- var loadingDotAnimations = keyframes({
144
- '0%, 80%, 100%': {
145
- opacity: 0
146
- },
147
- '40%': {
148
- opacity: 1
149
- }
150
- });
151
- export var loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {
152
- var isFocused = _ref5.isFocused,
153
- size = _ref5.size,
154
- isCompact = _ref5.isCompact,
155
- colors = _ref5.theme.colors;
108
+ export var loadingIndicatorCSS = function loadingIndicatorCSS(_ref3) {
109
+ var isCompact = _ref3.isCompact;
156
110
  return {
157
111
  label: 'loadingIndicator',
158
- display: 'flex',
159
- transition: 'color 150ms',
160
- alignSelf: 'center',
161
- fontSize: size,
162
- lineHeight: 1,
163
- marginRight: size,
164
- textAlign: 'center',
165
- verticalAlign: 'middle',
166
- color: isFocused ? colors.neutral60 : colors.neutral20,
167
112
  padding: "".concat(isCompact ? 0 : "var(--ds-space-075, 6px)", " ", "var(--ds-space-100, 8px)")
168
113
  };
169
114
  };
170
- var LoadingDot = function LoadingDot(_ref6) {
171
- var delay = _ref6.delay,
172
- offset = _ref6.offset;
173
- return jsx("span", {
174
- // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
175
- css: {
176
- animation: "".concat(loadingDotAnimations, " 1s ease-in-out ").concat(delay, "ms infinite;"),
177
- backgroundColor: 'currentColor',
178
- borderRadius: '1em',
179
- display: 'inline-block',
180
- marginLeft: offset ? '1em' : undefined,
181
- height: '1em',
182
- verticalAlign: 'top',
183
- width: '1em'
184
- }
185
- });
186
- };
187
115
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
188
- export var LoadingIndicator = function LoadingIndicator(_ref7) {
189
- var innerProps = _ref7.innerProps,
190
- isRtl = _ref7.isRtl,
191
- _ref7$size = _ref7.size,
192
- size = _ref7$size === void 0 ? 4 : _ref7$size,
193
- restProps = _objectWithoutProperties(_ref7, _excluded2);
116
+ export var LoadingIndicator = function LoadingIndicator(_ref4) {
117
+ var innerProps = _ref4.innerProps,
118
+ isRtl = _ref4.isRtl,
119
+ _ref4$size = _ref4.size,
120
+ size = _ref4$size === void 0 ? 4 : _ref4$size,
121
+ restProps = _objectWithoutProperties(_ref4, _excluded);
194
122
  return jsx("div", _extends({}, getStyleProps(_objectSpread(_objectSpread({}, restProps), {}, {
195
123
  innerProps: innerProps,
196
124
  isRtl: isRtl,
@@ -198,14 +126,7 @@ export var LoadingIndicator = function LoadingIndicator(_ref7) {
198
126
  }), 'loadingIndicator', {
199
127
  indicator: true,
200
128
  'loading-indicator': true
201
- }), innerProps), jsx(LoadingDot, {
202
- delay: 0,
203
- offset: isRtl
204
- }), jsx(LoadingDot, {
205
- delay: 160,
206
- offset: true
207
- }), jsx(LoadingDot, {
208
- delay: 320,
209
- offset: !isRtl
129
+ }), innerProps), jsx(Spinner, {
130
+ size: "small"
210
131
  }));
211
132
  };
@@ -13,20 +13,17 @@ import { jsx } from '@emotion/react';
13
13
  import { cleanCommonProps, getStyleProps } from '../utils';
14
14
  export var inputCSS = function inputCSS(_ref) {
15
15
  var isDisabled = _ref.isDisabled,
16
- value = _ref.value,
17
- _ref$theme = _ref.theme,
18
- spacing = _ref$theme.spacing,
19
- colors = _ref$theme.colors;
16
+ value = _ref.value;
20
17
  return _objectSpread(_objectSpread({
21
18
  visibility: isDisabled ? 'hidden' : 'visible',
22
19
  // force css to recompute when value change due to @emotion bug.
23
20
  // We can remove it whenever the bug is fixed.
24
21
  transform: value ? 'translateZ(0)' : ''
25
22
  }, containerStyle), {}, {
26
- margin: spacing.baseUnit / 2,
27
- paddingBottom: spacing.baseUnit / 2,
28
- paddingTop: spacing.baseUnit / 2,
29
- color: "var(--ds-text, hsl(0, 0%, 20%))"
23
+ margin: "var(--ds-space-025, 2px)",
24
+ paddingBottom: "var(--ds-space-025, 2px)",
25
+ paddingTop: "var(--ds-space-025, 2px)",
26
+ color: "var(--ds-text, #172B4D)"
30
27
  });
31
28
  };
32
29
  var spacingStyle = {
@@ -16,6 +16,7 @@ var dummyInputStyles = css({
16
16
  border: 0,
17
17
  caretColor: 'transparent',
18
18
  color: 'transparent',
19
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
19
20
  fontSize: 'inherit',
20
21
  gridArea: '1 / 1 / 2 / 3',
21
22
  insetInlineStart: -100,
@@ -1,4 +1,5 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ import _objectDestructuringEmpty from "@babel/runtime/helpers/objectDestructuringEmpty";
2
3
  import _extends from "@babel/runtime/helpers/extends";
3
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
5
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
@@ -16,6 +17,7 @@ import { autoUpdate } from '@floating-ui/dom';
16
17
  import { createPortal } from 'react-dom';
17
18
  import useLayoutEffect from 'use-isomorphic-layout-effect';
18
19
  import { fg } from '@atlaskit/platform-feature-flags';
20
+ import { Text } from '@atlaskit/primitives';
19
21
  import { animatedScrollTo, getBoundingClientObj, getScrollParent, getScrollTop, getStyleProps, normalizedHeight, scrollTo } from '../utils';
20
22
 
21
23
  // ==============================
@@ -197,15 +199,10 @@ var coercePlacement = function coercePlacement(p) {
197
199
  return p === 'auto' ? 'bottom' : p;
198
200
  };
199
201
  export var menuCSS = function menuCSS(_ref2) {
200
- var _ref3;
201
- var placement = _ref2.placement,
202
- _ref2$theme = _ref2.theme,
203
- borderRadius = _ref2$theme.borderRadius,
204
- spacing = _ref2$theme.spacing,
205
- colors = _ref2$theme.colors;
206
- return _ref3 = {
202
+ var placement = _ref2.placement;
203
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
207
204
  label: 'menu'
208
- }, _defineProperty(_ref3, alignToControl(placement), '100%'), _defineProperty(_ref3, "position", 'absolute'), _defineProperty(_ref3, "width", '100%'), _defineProperty(_ref3, "zIndex", 1), _defineProperty(_ref3, "borderRadius", borderRadius), _defineProperty(_ref3, "marginBottom", spacing.menuGutter), _defineProperty(_ref3, "marginTop", spacing.menuGutter), _defineProperty(_ref3, "backgroundColor", "var(--ds-surface-overlay, white)"), _defineProperty(_ref3, "boxShadow", "var(--ds-shadow-overlay, 0 0 0 1px hsl(0deg 0% 0% / 10%), 0 4px 11px hsl(0deg 0% 0% / 10%))"), _ref3;
205
+ }, 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%))");
209
206
  };
210
207
  var PortalPlacementContext = /*#__PURE__*/createContext(null);
211
208
 
@@ -217,8 +214,7 @@ export var MenuPlacer = function MenuPlacer(props) {
217
214
  maxMenuHeight = props.maxMenuHeight,
218
215
  menuPlacement = props.menuPlacement,
219
216
  menuPosition = props.menuPosition,
220
- menuShouldScrollIntoView = props.menuShouldScrollIntoView,
221
- theme = props.theme;
217
+ menuShouldScrollIntoView = props.menuShouldScrollIntoView;
222
218
  var _ref4 = useContext(PortalPlacementContext) || {},
223
219
  setPortalPlacement = _ref4.setPortalPlacement;
224
220
  var ref = useRef(null);
@@ -230,7 +226,8 @@ export var MenuPlacer = function MenuPlacer(props) {
230
226
  _useState4 = _slicedToArray(_useState3, 2),
231
227
  placement = _useState4[0],
232
228
  setPlacement = _useState4[1];
233
- var controlHeight = theme.spacing.controlHeight;
229
+ // The minimum height of the control
230
+ var controlHeight = 38;
234
231
  useLayoutEffect(function () {
235
232
  var menuEl = ref.current;
236
233
  if (!menuEl) {
@@ -313,13 +310,10 @@ export var MenuList = function MenuList(props) {
313
310
  // ==============================
314
311
 
315
312
  var noticeCSS = function noticeCSS(_ref6) {
316
- var _ref6$theme = _ref6.theme,
317
- baseUnit = _ref6$theme.spacing.baseUnit,
318
- colors = _ref6$theme.colors;
313
+ _objectDestructuringEmpty(_ref6);
319
314
  return {
320
315
  textAlign: 'center',
321
- color: colors.neutral40,
322
- padding: "".concat(baseUnit * 2, "px ").concat(baseUnit * 3, "px")
316
+ padding: "var(--ds-space-100, 8px)".concat(" ", "var(--ds-space-150, 12px)")
323
317
  };
324
318
  };
325
319
  export var noOptionsMessageCSS = noticeCSS;
@@ -339,7 +333,9 @@ export var NoOptionsMessage = function NoOptionsMessage(_ref7) {
339
333
  }), {
340
334
  // eslint-disable-next-line jsx-a11y/role-has-required-aria-props
341
335
  role: "option"
342
- }, innerProps), children);
336
+ }, innerProps), jsx(Text, {
337
+ color: "color.text.subtle"
338
+ }, children));
343
339
  };
344
340
 
345
341
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
@@ -357,7 +353,9 @@ export var LoadingMessage = function LoadingMessage(_ref8) {
357
353
  }), innerProps, {
358
354
  // eslint-disable-next-line jsx-a11y/role-has-required-aria-props
359
355
  role: "option"
360
- }), children);
356
+ }), jsx(Text, {
357
+ color: "color.text.subtle"
358
+ }, children));
361
359
  };
362
360
 
363
361
  // ==============================
@@ -7,17 +7,15 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  * @jsx jsx
8
8
  */
9
9
 
10
- import { jsx } from '@emotion/react';
10
+ import { css, jsx } from '@emotion/react';
11
+ import LegacySelectClearIcon from '@atlaskit/icon/glyph/select-clear';
12
+ import CrossIcon from '@atlaskit/icon/utility/cross';
11
13
  import { fg } from '@atlaskit/platform-feature-flags';
14
+ import { Inline, xcss } from '@atlaskit/primitives';
12
15
  import { getStyleProps } from '../utils';
13
- import { CrossIcon } from './indicators';
14
16
  export var multiValueCSS = function multiValueCSS(_ref) {
15
17
  var isDisabled = _ref.isDisabled,
16
- isFocused = _ref.isFocused,
17
- _ref$theme = _ref.theme,
18
- spacing = _ref$theme.spacing,
19
- borderRadius = _ref$theme.borderRadius,
20
- colors = _ref$theme.colors;
18
+ isFocused = _ref.isFocused;
21
19
  var backgroundColor;
22
20
  var color;
23
21
  if (isDisabled) {
@@ -63,6 +61,7 @@ export var multiValueLabelCSS = function multiValueLabelCSS(_ref2) {
63
61
  textOverflow: cropWithEllipsis || cropWithEllipsis === undefined ? 'ellipsis' : undefined,
64
62
  whiteSpace: 'nowrap',
65
63
  borderRadius: "var(--ds-border-radius-050, 2px)",
64
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
66
65
  fontSize: '85%',
67
66
  font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
68
67
  padding: "var(--ds-space-025, 2px)",
@@ -128,14 +127,52 @@ export var MultiValueContainer = MultiValueGeneric;
128
127
 
129
128
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
130
129
  export var MultiValueLabel = MultiValueGeneric;
130
+ var disabledStyles = css({
131
+ display: 'none'
132
+ });
133
+ var enabledStyles = css({
134
+ display: 'inherit'
135
+ });
136
+ var iconWrapperStyles = xcss({
137
+ padding: 'space.025'
138
+ });
139
+ var renderIcon = function renderIcon() {
140
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
141
+ if (fg('platform-component-visual-refresh')) {
142
+ return jsx(CrossIcon, {
143
+ label: "Clear",
144
+ color: "currentColor"
145
+ });
146
+ }
147
+
148
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
149
+ if (fg('platform-visual-refresh-icons-legacy-facade')) {
150
+ return jsx(Inline, {
151
+ xcss: iconWrapperStyles
152
+ }, jsx(CrossIcon, {
153
+ label: "Clear",
154
+ color: "currentColor"
155
+ }));
156
+ }
157
+ return (
158
+ // eslint-disable-next-line @atlaskit/design-system/no-legacy-icons
159
+ jsx(LegacySelectClearIcon, {
160
+ label: "Clear",
161
+ primaryColor: "transparent",
162
+ size: "small",
163
+ secondaryColor: "inherit"
164
+ })
165
+ );
166
+ };
131
167
  export function MultiValueRemove(_ref5) {
132
- var children = _ref5.children,
168
+ var isDisabled = _ref5.isDisabled,
133
169
  innerProps = _ref5.innerProps;
134
170
  return jsx("div", _extends({
135
171
  role: "button"
136
- }, innerProps), children || jsx(CrossIcon, {
137
- size: 14
138
- }));
172
+ }, innerProps), jsx("div", {
173
+ css: isDisabled ? disabledStyles : enabledStyles,
174
+ "data-testid": isDisabled ? 'hide-clear-icon' : 'show-clear-icon'
175
+ }, renderIcon()));
139
176
  }
140
177
  var MultiValue = function MultiValue(props) {
141
178
  var children = props.children,
@@ -168,6 +205,7 @@ var MultiValue = function MultiValue(props) {
168
205
  })), {}, {
169
206
  'aria-label': "Remove ".concat(children || 'option')
170
207
  }, removeProps),
208
+ isDisabled: isDisabled,
171
209
  selectProps: selectProps
172
210
  }));
173
211
  };
@@ -37,6 +37,7 @@ export var optionCSS = function optionCSS(_ref) {
37
37
  return {
38
38
  label: 'option',
39
39
  display: 'block',
40
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
40
41
  fontSize: 'inherit',
41
42
  width: '100%',
42
43
  userSelect: 'none',
@@ -7,8 +7,7 @@ import _extends from "@babel/runtime/helpers/extends";
7
7
  import { jsx } from '@emotion/react';
8
8
  import { getStyleProps } from '../utils';
9
9
  export var css = function css(_ref) {
10
- var isDisabled = _ref.isDisabled,
11
- spacing = _ref.theme.spacing;
10
+ var isDisabled = _ref.isDisabled;
12
11
  return {
13
12
  label: 'singleValue',
14
13
  gridArea: '1 / 1 / 2 / 3',
package/dist/esm/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import useStateManager from './use-state-manager';
2
2
  export { default } from './state-manager';
3
3
  export { mergeStyles } from './styles';
4
- export { defaultTheme } from './theme';
5
4
  export { createFilter } from './filters';
6
5
  export { components } from './components';
7
6
  export { useStateManager };