@atlaskit/react-select 1.3.3 → 1.4.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 (59) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/components/containers.js +15 -15
  3. package/dist/cjs/components/control.js +63 -20
  4. package/dist/cjs/components/group.js +18 -21
  5. package/dist/cjs/components/indicators.js +48 -46
  6. package/dist/cjs/components/input.js +3 -3
  7. package/dist/cjs/components/menu.js +34 -43
  8. package/dist/cjs/components/multi-value.js +86 -32
  9. package/dist/cjs/components/option.js +37 -18
  10. package/dist/cjs/components/placeholder.js +9 -14
  11. package/dist/cjs/components/single-value.js +9 -14
  12. package/dist/cjs/select.js +59 -41
  13. package/dist/es2019/components/containers.js +9 -11
  14. package/dist/es2019/components/control.js +70 -25
  15. package/dist/es2019/components/group.js +13 -23
  16. package/dist/es2019/components/indicators.js +31 -40
  17. package/dist/es2019/components/input.js +5 -7
  18. package/dist/es2019/components/menu.js +13 -24
  19. package/dist/es2019/components/multi-value.js +89 -36
  20. package/dist/es2019/components/option.js +40 -20
  21. package/dist/es2019/components/placeholder.js +4 -10
  22. package/dist/es2019/components/single-value.js +4 -8
  23. package/dist/es2019/select.js +28 -15
  24. package/dist/esm/components/containers.js +13 -15
  25. package/dist/esm/components/control.js +61 -20
  26. package/dist/esm/components/group.js +17 -21
  27. package/dist/esm/components/indicators.js +48 -46
  28. package/dist/esm/components/input.js +3 -3
  29. package/dist/esm/components/menu.js +34 -43
  30. package/dist/esm/components/multi-value.js +86 -32
  31. package/dist/esm/components/option.js +35 -18
  32. package/dist/esm/components/placeholder.js +7 -14
  33. package/dist/esm/components/single-value.js +7 -14
  34. package/dist/esm/select.js +59 -41
  35. package/dist/types/components/containers.d.ts +5 -1
  36. package/dist/types/components/control.d.ts +10 -1
  37. package/dist/types/components/group.d.ts +2 -2
  38. package/dist/types/components/indicators.d.ts +16 -4
  39. package/dist/types/components/input.d.ts +1 -1
  40. package/dist/types/components/menu.d.ts +4 -4
  41. package/dist/types/components/multi-value.d.ts +3 -3
  42. package/dist/types/components/option.d.ts +1 -1
  43. package/dist/types/components/placeholder.d.ts +1 -1
  44. package/dist/types/components/single-value.d.ts +1 -1
  45. package/dist/types/select.d.ts +5 -6
  46. package/dist/types/styles.d.ts +1 -1
  47. package/dist/types-ts4.5/components/containers.d.ts +5 -1
  48. package/dist/types-ts4.5/components/control.d.ts +10 -1
  49. package/dist/types-ts4.5/components/group.d.ts +2 -2
  50. package/dist/types-ts4.5/components/indicators.d.ts +16 -4
  51. package/dist/types-ts4.5/components/input.d.ts +1 -1
  52. package/dist/types-ts4.5/components/menu.d.ts +4 -4
  53. package/dist/types-ts4.5/components/multi-value.d.ts +3 -3
  54. package/dist/types-ts4.5/components/option.d.ts +1 -1
  55. package/dist/types-ts4.5/components/placeholder.d.ts +1 -1
  56. package/dist/types-ts4.5/components/single-value.d.ts +1 -1
  57. package/dist/types-ts4.5/select.d.ts +5 -6
  58. package/dist/types-ts4.5/styles.d.ts +1 -1
  59. package/package.json +5 -1
@@ -8,57 +8,111 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
8
8
  */
9
9
 
10
10
  import { jsx } from '@emotion/react';
11
+ import { fg } from '@atlaskit/platform-feature-flags';
11
12
  import { getStyleProps } from '../utils';
12
13
  import { CrossIcon } from './indicators';
13
- export var multiValueCSS = function multiValueCSS(_ref, unstyled) {
14
- var _ref$theme = _ref.theme,
14
+ export var multiValueCSS = function multiValueCSS(_ref) {
15
+ var isDisabled = _ref.isDisabled,
16
+ isFocused = _ref.isFocused,
17
+ _ref$theme = _ref.theme,
15
18
  spacing = _ref$theme.spacing,
16
19
  borderRadius = _ref$theme.borderRadius,
17
20
  colors = _ref$theme.colors;
21
+ var backgroundColor;
22
+ var color;
23
+ if (isDisabled) {
24
+ // Use the basic neutral background so it is slightly separate from the
25
+ // field's background
26
+ backgroundColor = "var(--ds-background-neutral, #091E420F)";
27
+ color = "var(--ds-text-disabled, #091E424F)";
28
+ } else if (isFocused) {
29
+ backgroundColor = "var(--ds-background-selected, #E9F2FF)";
30
+ color = "var(--ds-text-selected, hsl(0, 0%, 20%))";
31
+ } else {
32
+ backgroundColor = fg('platform-component-visual-refresh') ? "var(--ds-background-neutral-subtle-hovered, #091E420F)" : "var(--ds-background-neutral, #091E420F)";
33
+ color = "var(--ds-text, hsl(0, 0%, 20%))";
34
+ }
18
35
  return _objectSpread({
19
36
  label: 'multiValue',
20
37
  display: 'flex',
21
- minWidth: 0
22
- }, unstyled ? {} : {
23
- backgroundColor: colors.neutral10,
24
- borderRadius: borderRadius / 2,
25
- margin: spacing.baseUnit / 2
38
+ minWidth: 0,
39
+ // resolves flex/text-overflow bug
40
+ margin: "var(--ds-space-025, 2px)",
41
+ borderRadius: "var(--ds-border-radius-050, 2px)",
42
+ backgroundColor: backgroundColor,
43
+ boxShadow: isFocused ? "0 0 0 2px ".concat("var(--ds-surface, transparent)", ", 0 0 0 4px ", "var(--ds-border-focused, transparent)") : 'none',
44
+ maxWidth: '100%',
45
+ '@media screen and (-ms-high-contrast: active)': {
46
+ border: isFocused ? '1px solid transparent' : 'none'
47
+ },
48
+ color: color
49
+ }, fg('platform-component-visual-refresh') && {
50
+ borderRadius: "var(--ds-border-radius-100, 4px)",
51
+ // Hardcode this color for visual refresh as there is no token color yet
52
+ borderColor: '#B7B9BE',
53
+ borderWidth: "var(--ds-border-width, 1px)",
54
+ borderStyle: 'solid',
55
+ backgroundColor: "var(--ds-background-input, #FFFFFF)"
26
56
  });
27
57
  };
28
- export var multiValueLabelCSS = function multiValueLabelCSS(_ref2, unstyled) {
29
- var _ref2$theme = _ref2.theme,
30
- borderRadius = _ref2$theme.borderRadius,
31
- colors = _ref2$theme.colors,
32
- cropWithEllipsis = _ref2.cropWithEllipsis;
58
+ export var multiValueLabelCSS = function multiValueLabelCSS(_ref2) {
59
+ var cropWithEllipsis = _ref2.cropWithEllipsis,
60
+ isDisabled = _ref2.isDisabled;
33
61
  return _objectSpread({
34
62
  overflow: 'hidden',
35
63
  textOverflow: cropWithEllipsis || cropWithEllipsis === undefined ? 'ellipsis' : undefined,
36
- whiteSpace: 'nowrap'
37
- }, unstyled ? {} : {
38
- borderRadius: borderRadius / 2,
39
- color: colors.neutral80,
64
+ whiteSpace: 'nowrap',
65
+ borderRadius: "var(--ds-border-radius-050, 2px)",
40
66
  fontSize: '85%',
41
- padding: 3,
42
- paddingLeft: 6
67
+ 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
+ padding: "var(--ds-space-025, 2px)",
69
+ color: isDisabled ? "var(--ds-text-disabled, #091E424F)" : 'inherit',
70
+ paddingLeft: "var(--ds-space-075, 6px)"
71
+ }, fg('platform-component-visual-refresh') && {
72
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
73
+ paddingTop: 0,
74
+ paddingBottom: 0,
75
+ paddingLeft: "var(--ds-space-050, 4px)"
43
76
  });
44
77
  };
45
- export var multiValueRemoveCSS = function multiValueRemoveCSS(_ref3, unstyled) {
46
- var _ref3$theme = _ref3.theme,
47
- spacing = _ref3$theme.spacing,
48
- borderRadius = _ref3$theme.borderRadius,
49
- colors = _ref3$theme.colors,
50
- isFocused = _ref3.isFocused;
78
+ export var multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {
79
+ var isFocused = _ref3.isFocused;
51
80
  return _objectSpread({
52
81
  alignItems: 'center',
53
- display: 'flex'
54
- }, unstyled ? {} : {
55
- borderRadius: borderRadius / 2,
56
- backgroundColor: isFocused ? colors.dangerLight : undefined,
57
- paddingLeft: spacing.baseUnit,
58
- paddingRight: spacing.baseUnit,
82
+ display: 'flex',
83
+ backgroundColor: isFocused ? "var(--ds-UNSAFE-transparent, transparent)" : undefined,
84
+ fill: isFocused ? "var(--ds-text-selected, #000)" : "var(--ds-text, #000)",
85
+ paddingLeft: "var(--ds-space-025, 2px)",
86
+ paddingRight: "var(--ds-space-025, 2px)",
87
+ borderRadius: '0px 2px 2px 0px',
88
+ // DSP-6470 we should style like Tag once we have the :has selector
89
+ ':hover': {
90
+ backgroundColor: "var(--ds-background-danger-hovered, #FFD5D2)",
91
+ fill: "var(--ds-text-danger, #000)"
92
+ },
93
+ ':active': {
94
+ backgroundColor: "var(--ds-background-danger-pressed, #FD9891)",
95
+ fill: "var(--ds-text-danger, #000)"
96
+ }
97
+ }, fg('platform-component-visual-refresh') && {
98
+ backgroundColor: "var(--ds-background-neutral-subtle, #00000000)",
99
+ border: 'none',
100
+ alignItems: 'center',
101
+ justifyContent: 'center',
102
+ alignSelf: 'center',
103
+ appearance: 'none',
104
+ borderRadius: "var(--ds-border-radius, 4px)",
105
+ color: "var(--ds-text, #172B4D)",
106
+ padding: "var(--ds-space-025, 2px)",
107
+ marginRight: "var(--ds-space-025, 2px)",
108
+ ':focus-visible': {
109
+ outlineOffset: "var(--ds-space-negative-025, -2px)"
110
+ },
59
111
  ':hover': {
60
- backgroundColor: colors.dangerLight,
61
- color: colors.danger
112
+ backgroundColor: "var(--ds-background-neutral-subtle-hovered, #091E420F)"
113
+ },
114
+ ':active': {
115
+ backgroundColor: "var(--ds-background-neutral-subtle-pressed, #091E4224)"
62
116
  }
63
117
  });
64
118
  };
@@ -1,7 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- 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; }
4
- 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; }
5
2
  /**
6
3
  * @jsxRuntime classic
7
4
  * @jsx jsx
@@ -9,30 +6,50 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
9
6
 
10
7
  import { jsx } from '@emotion/react';
11
8
  import { getStyleProps } from '../utils';
12
- export var optionCSS = function optionCSS(_ref, unstyled) {
9
+ export var optionCSS = function optionCSS(_ref) {
13
10
  var isDisabled = _ref.isDisabled,
14
11
  isFocused = _ref.isFocused,
15
- isSelected = _ref.isSelected,
16
- _ref$theme = _ref.theme,
17
- spacing = _ref$theme.spacing,
18
- colors = _ref$theme.colors;
19
- return _objectSpread({
12
+ isSelected = _ref.isSelected;
13
+ var color = "var(--ds-text, #172B4D)";
14
+ if (isDisabled) {
15
+ color = "var(--ds-text-disabled, #091E424F)";
16
+ } else if (isSelected) {
17
+ color = "var(--ds-text-selected, #0C66E4)";
18
+ }
19
+ var boxShadow;
20
+ var backgroundColor;
21
+ if (isDisabled) {
22
+ backgroundColor = undefined;
23
+ } else if (isSelected && isFocused) {
24
+ backgroundColor = "var(--ds-background-selected-hovered, #CCE0FF)";
25
+ } else if (isSelected) {
26
+ backgroundColor = "var(--ds-background-selected, #E9F2FF)";
27
+ } else if (isFocused) {
28
+ backgroundColor = "var(--ds-background-neutral-subtle-hovered, #091E420F)";
29
+ }
30
+ if (!isDisabled && (isFocused || isSelected)) {
31
+ boxShadow = "inset 2px 0px 0px ".concat("var(--ds-border-selected, #0C66E4)");
32
+ }
33
+ var cursor = isDisabled ? 'not-allowed' : 'default';
34
+ return {
20
35
  label: 'option',
21
- cursor: 'default',
22
36
  display: 'block',
23
37
  fontSize: 'inherit',
24
38
  width: '100%',
25
39
  userSelect: 'none',
26
- WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)'
27
- }, unstyled ? {} : {
28
- backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',
29
- color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',
30
- padding: "".concat(spacing.baseUnit * 2, "px ").concat(spacing.baseUnit * 3, "px"),
31
- // provide some affordance on touch devices
40
+ WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',
41
+ padding: "var(--ds-space-075, 6px)".concat(" ", "var(--ds-space-150, 12px)"),
42
+ backgroundColor: backgroundColor,
43
+ color: color,
44
+ cursor: cursor,
45
+ boxShadow: boxShadow,
32
46
  ':active': {
33
- backgroundColor: !isDisabled ? isSelected ? colors.primary : colors.primary50 : undefined
47
+ backgroundColor: !isDisabled ? isSelected ? "var(--ds-background-selected-pressed, #85B8FF)" : "var(--ds-background-neutral-subtle-pressed, #091E4224)" : undefined
48
+ },
49
+ '@media screen and (-ms-high-contrast: active)': {
50
+ borderLeft: !isDisabled && (isFocused || isSelected) ? '2px solid transparent' : ''
34
51
  }
35
- });
52
+ };
36
53
  };
37
54
  var Option = function Option(props) {
38
55
  var children = props.children,
@@ -1,7 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- 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; }
4
- 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; }
5
2
  /**
6
3
  * @jsxRuntime classic
7
4
  * @jsx jsx
@@ -9,18 +6,14 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
9
6
 
10
7
  import { jsx } from '@emotion/react';
11
8
  import { getStyleProps } from '../utils';
12
- export var placeholderCSS = function placeholderCSS(_ref, unstyled) {
13
- var _ref$theme = _ref.theme,
14
- spacing = _ref$theme.spacing,
15
- colors = _ref$theme.colors;
16
- return _objectSpread({
9
+ export var placeholderCSS = function placeholderCSS(_ref) {
10
+ var isDisabled = _ref.isDisabled;
11
+ return {
17
12
  label: 'placeholder',
18
- gridArea: '1 / 1 / 2 / 3'
19
- }, unstyled ? {} : {
20
- color: colors.neutral50,
21
- marginLeft: spacing.baseUnit / 2,
22
- marginRight: spacing.baseUnit / 2
23
- });
13
+ gridArea: '1 / 1 / 2 / 3',
14
+ margin: "0 ".concat("var(--ds-space-025, 2px)"),
15
+ color: isDisabled ? "var(--ds-text-disabled, #091E424F)" : "var(--ds-text-subtlest, #626F86)"
16
+ };
24
17
  };
25
18
  var Placeholder = function Placeholder(props) {
26
19
  var children = props.children,
@@ -1,7 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- 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; }
4
- 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; }
5
2
  /**
6
3
  * @jsxRuntime classic
7
4
  * @jsx jsx
@@ -9,23 +6,19 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
9
6
 
10
7
  import { jsx } from '@emotion/react';
11
8
  import { getStyleProps } from '../utils';
12
- export var css = function css(_ref, unstyled) {
9
+ export var css = function css(_ref) {
13
10
  var isDisabled = _ref.isDisabled,
14
- _ref$theme = _ref.theme,
15
- spacing = _ref$theme.spacing,
16
- colors = _ref$theme.colors;
17
- return _objectSpread({
11
+ spacing = _ref.theme.spacing;
12
+ return {
18
13
  label: 'singleValue',
19
14
  gridArea: '1 / 1 / 2 / 3',
20
15
  maxWidth: '100%',
21
16
  overflow: 'hidden',
22
17
  textOverflow: 'ellipsis',
23
- whiteSpace: 'nowrap'
24
- }, unstyled ? {} : {
25
- color: isDisabled ? colors.neutral40 : colors.neutral80,
26
- marginLeft: spacing.baseUnit / 2,
27
- marginRight: spacing.baseUnit / 2
28
- });
18
+ whiteSpace: 'nowrap',
19
+ margin: "0 ".concat("var(--ds-space-025, 2px)"),
20
+ color: isDisabled ? "var(--ds-text-disabled, #091E424F)" : "var(--ds-text, #172B4D)"
21
+ };
29
22
  };
30
23
  var SingleValue = function SingleValue(props) {
31
24
  var children = props.children,
@@ -68,8 +68,7 @@ export var defaultProps = {
68
68
  },
69
69
  styles: {},
70
70
  tabIndex: 0,
71
- tabSelectsValue: true,
72
- unstyled: false
71
+ tabSelectsValue: true
73
72
  };
74
73
  function toCategorizedOption(props, option, selectValue, index) {
75
74
  var isDisabled = _isOptionDisabled(props, option, selectValue);
@@ -389,8 +388,7 @@ var Select = /*#__PURE__*/function (_Component) {
389
388
  return getOptionValue(_this.props, data);
390
389
  });
391
390
  _defineProperty(_assertThisInitialized(_this), "getStyles", function (key, props) {
392
- var unstyled = _this.props.unstyled;
393
- var base = defaultStyles[key](props, unstyled);
391
+ var base = defaultStyles[key](props);
394
392
  base.boxSizing = 'border-box';
395
393
  var custom = _this.props.styles[key];
396
394
  return custom ? custom(base, props) : base;
@@ -1373,7 +1371,8 @@ var Select = /*#__PURE__*/function (_Component) {
1373
1371
  var _this$props10 = this.props,
1374
1372
  clearControlLabel = _this$props10.clearControlLabel,
1375
1373
  isDisabled = _this$props10.isDisabled,
1376
- isLoading = _this$props10.isLoading;
1374
+ isLoading = _this$props10.isLoading,
1375
+ spacing = _this$props10.spacing;
1377
1376
  var isFocused = this.state.isFocused;
1378
1377
  if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {
1379
1378
  return null;
@@ -1383,11 +1382,13 @@ var Select = /*#__PURE__*/function (_Component) {
1383
1382
  onTouchEnd: this.onClearIndicatorTouchEnd,
1384
1383
  'aria-hidden': 'true'
1385
1384
  };
1385
+ var isCompact = spacing === 'compact';
1386
1386
  return /*#__PURE__*/React.createElement(ClearIndicator, _extends({
1387
1387
  clearControlLabel: clearControlLabel
1388
1388
  }, commonProps, {
1389
1389
  innerProps: innerProps,
1390
- isFocused: isFocused
1390
+ isFocused: isFocused,
1391
+ isCompact: isCompact
1391
1392
  }));
1392
1393
  }
1393
1394
  }, {
@@ -1398,18 +1399,21 @@ var Select = /*#__PURE__*/function (_Component) {
1398
1399
  var commonProps = this.commonProps;
1399
1400
  var _this$props11 = this.props,
1400
1401
  isDisabled = _this$props11.isDisabled,
1401
- isLoading = _this$props11.isLoading;
1402
+ isLoading = _this$props11.isLoading,
1403
+ spacing = _this$props11.spacing;
1402
1404
  var isFocused = this.state.isFocused;
1403
1405
  if (!LoadingIndicator || !isLoading) {
1404
1406
  return null;
1405
1407
  }
1408
+ var isCompact = spacing === 'compact';
1406
1409
  var innerProps = {
1407
1410
  'aria-hidden': 'true'
1408
1411
  };
1409
1412
  return /*#__PURE__*/React.createElement(LoadingIndicator, _extends({}, commonProps, {
1410
1413
  innerProps: innerProps,
1411
1414
  isDisabled: isDisabled,
1412
- isFocused: isFocused
1415
+ isFocused: isFocused,
1416
+ isCompact: isCompact
1413
1417
  }));
1414
1418
  }
1415
1419
  }, {
@@ -1440,8 +1444,11 @@ var Select = /*#__PURE__*/function (_Component) {
1440
1444
  return null;
1441
1445
  }
1442
1446
  var commonProps = this.commonProps;
1443
- var isDisabled = this.props.isDisabled;
1447
+ var _this$props12 = this.props,
1448
+ isDisabled = _this$props12.isDisabled,
1449
+ spacing = _this$props12.spacing;
1444
1450
  var isFocused = this.state.isFocused;
1451
+ var isCompact = spacing === 'compact';
1445
1452
  var innerProps = {
1446
1453
  onMouseDown: this.onDropdownIndicatorMouseDown,
1447
1454
  onTouchEnd: this.onDropdownIndicatorTouchEnd,
@@ -1450,7 +1457,8 @@ var Select = /*#__PURE__*/function (_Component) {
1450
1457
  return /*#__PURE__*/React.createElement(DropdownIndicator, _extends({}, commonProps, {
1451
1458
  innerProps: innerProps,
1452
1459
  isDisabled: isDisabled,
1453
- isFocused: isFocused
1460
+ isFocused: isFocused,
1461
+ isCompact: isCompact
1454
1462
  }));
1455
1463
  }
1456
1464
  }, {
@@ -1468,24 +1476,24 @@ var Select = /*#__PURE__*/function (_Component) {
1468
1476
  Option = _this$getComponents7.Option;
1469
1477
  var commonProps = this.commonProps;
1470
1478
  var focusedOption = this.state.focusedOption;
1471
- var _this$props12 = this.props,
1472
- captureMenuScroll = _this$props12.captureMenuScroll,
1473
- inputValue = _this$props12.inputValue,
1474
- isLoading = _this$props12.isLoading,
1475
- loadingMessage = _this$props12.loadingMessage,
1476
- minMenuHeight = _this$props12.minMenuHeight,
1477
- maxMenuHeight = _this$props12.maxMenuHeight,
1478
- menuIsOpen = _this$props12.menuIsOpen,
1479
- menuPlacement = _this$props12.menuPlacement,
1480
- menuPosition = _this$props12.menuPosition,
1481
- menuPortalTarget = _this$props12.menuPortalTarget,
1482
- menuShouldBlockScroll = _this$props12.menuShouldBlockScroll,
1483
- menuShouldScrollIntoView = _this$props12.menuShouldScrollIntoView,
1484
- noOptionsMessage = _this$props12.noOptionsMessage,
1485
- onMenuScrollToTop = _this$props12.onMenuScrollToTop,
1486
- onMenuScrollToBottom = _this$props12.onMenuScrollToBottom,
1487
- labelId = _this$props12.labelId,
1488
- label = _this$props12.label;
1479
+ var _this$props13 = this.props,
1480
+ captureMenuScroll = _this$props13.captureMenuScroll,
1481
+ inputValue = _this$props13.inputValue,
1482
+ isLoading = _this$props13.isLoading,
1483
+ loadingMessage = _this$props13.loadingMessage,
1484
+ minMenuHeight = _this$props13.minMenuHeight,
1485
+ maxMenuHeight = _this$props13.maxMenuHeight,
1486
+ menuIsOpen = _this$props13.menuIsOpen,
1487
+ menuPlacement = _this$props13.menuPlacement,
1488
+ menuPosition = _this$props13.menuPosition,
1489
+ menuPortalTarget = _this$props13.menuPortalTarget,
1490
+ menuShouldBlockScroll = _this$props13.menuShouldBlockScroll,
1491
+ menuShouldScrollIntoView = _this$props13.menuShouldScrollIntoView,
1492
+ noOptionsMessage = _this$props13.noOptionsMessage,
1493
+ onMenuScrollToTop = _this$props13.onMenuScrollToTop,
1494
+ onMenuScrollToBottom = _this$props13.onMenuScrollToBottom,
1495
+ labelId = _this$props13.labelId,
1496
+ label = _this$props13.label;
1489
1497
  if (!menuIsOpen) {
1490
1498
  return null;
1491
1499
  }
@@ -1634,12 +1642,12 @@ var Select = /*#__PURE__*/function (_Component) {
1634
1642
  key: "renderFormField",
1635
1643
  value: function renderFormField() {
1636
1644
  var _this5 = this;
1637
- var _this$props13 = this.props,
1638
- delimiter = _this$props13.delimiter,
1639
- isDisabled = _this$props13.isDisabled,
1640
- isMulti = _this$props13.isMulti,
1641
- required = _this$props13.required,
1642
- name = _this$props13.name;
1645
+ var _this$props14 = this.props,
1646
+ delimiter = _this$props14.delimiter,
1647
+ isDisabled = _this$props14.isDisabled,
1648
+ isMulti = _this$props14.isMulti,
1649
+ required = _this$props14.required,
1650
+ name = _this$props14.name;
1643
1651
  var selectValue = this.state.selectValue;
1644
1652
  if (required && !this.hasValue() && !isDisabled) {
1645
1653
  return /*#__PURE__*/React.createElement(RequiredInput, {
@@ -1714,13 +1722,19 @@ var Select = /*#__PURE__*/function (_Component) {
1714
1722
  IndicatorsContainer = _this$getComponents8.IndicatorsContainer,
1715
1723
  SelectContainer = _this$getComponents8.SelectContainer,
1716
1724
  ValueContainer = _this$getComponents8.ValueContainer;
1717
- var _this$props14 = this.props,
1718
- className = _this$props14.className,
1719
- id = _this$props14.id,
1720
- isDisabled = _this$props14.isDisabled,
1721
- menuIsOpen = _this$props14.menuIsOpen;
1725
+ var _this$props15 = this.props,
1726
+ className = _this$props15.className,
1727
+ id = _this$props15.id,
1728
+ isDisabled = _this$props15.isDisabled,
1729
+ menuIsOpen = _this$props15.menuIsOpen,
1730
+ isInvalid = _this$props15.isInvalid,
1731
+ _this$props15$appeara = _this$props15.appearance,
1732
+ appearance = _this$props15$appeara === void 0 ? 'default' : _this$props15$appeara,
1733
+ _this$props15$spacing = _this$props15.spacing,
1734
+ spacing = _this$props15$spacing === void 0 ? 'default' : _this$props15$spacing;
1722
1735
  var isFocused = this.state.isFocused;
1723
1736
  var commonProps = this.commonProps = this.getCommonProps();
1737
+ var isCompact = spacing === 'compact';
1724
1738
  return /*#__PURE__*/React.createElement(SelectContainer, _extends({}, commonProps, {
1725
1739
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
1726
1740
  className: className,
@@ -1736,11 +1750,15 @@ var Select = /*#__PURE__*/function (_Component) {
1736
1750
  onMouseDown: this.onControlMouseDown,
1737
1751
  onTouchEnd: this.onControlTouchEnd
1738
1752
  },
1753
+ appearance: appearance,
1754
+ isInvalid: isInvalid,
1739
1755
  isDisabled: isDisabled,
1740
1756
  isFocused: isFocused,
1741
- menuIsOpen: menuIsOpen
1757
+ menuIsOpen: menuIsOpen,
1758
+ isCompact: isCompact
1742
1759
  }), /*#__PURE__*/React.createElement(ValueContainer, _extends({}, commonProps, {
1743
- isDisabled: isDisabled
1760
+ isDisabled: isDisabled,
1761
+ isCompact: isCompact
1744
1762
  }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/React.createElement(IndicatorsContainer, _extends({}, commonProps, {
1745
1763
  isDisabled: isDisabled
1746
1764
  }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());
@@ -32,8 +32,12 @@ export interface ValueContainerProps<Option = unknown, IsMulti extends boolean =
32
32
  */
33
33
  children: ReactNode;
34
34
  isDisabled: boolean;
35
+ /**
36
+ * Whether the select is compact.
37
+ */
38
+ isCompact?: boolean;
35
39
  }
36
- export declare const valueContainerCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing }, isMulti, hasValue, selectProps: { controlShouldRenderValue }, }: ValueContainerProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
40
+ export declare const valueContainerCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isMulti, hasValue, isCompact, selectProps: { controlShouldRenderValue }, }: ValueContainerProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
37
41
  export declare const ValueContainer: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: ValueContainerProps<Option, IsMulti, Group>) => jsx.JSX.Element;
38
42
  export interface IndicatorsContainerProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
39
43
  isDisabled: boolean;
@@ -23,11 +23,20 @@ export interface ControlProps<Option = unknown, IsMulti extends boolean = boolea
23
23
  * Whether the select is focused.
24
24
  */
25
25
  isFocused: boolean;
26
+ /**
27
+ * Whether the select is invalid.
28
+ */
29
+ isInvalid: boolean | undefined;
30
+ /**
31
+ * Whether the select is compact.
32
+ */
33
+ isCompact?: boolean;
34
+ appearance?: 'default' | 'subtle' | 'none';
26
35
  /**
27
36
  * Whether the select is expanded.
28
37
  */
29
38
  menuIsOpen: boolean;
30
39
  }
31
- export declare const css: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused, theme: { colors, borderRadius, spacing }, }: ControlProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
40
+ export declare const css: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused, isInvalid, isCompact, appearance, }: ControlProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
32
41
  declare const Control: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: ControlProps<Option, IsMulti, Group>) => jsx.JSX.Element;
33
42
  export default Control;
@@ -37,7 +37,7 @@ export interface GroupProps<Option = unknown, IsMulti extends boolean = boolean,
37
37
  data: Group;
38
38
  options: Options<Option>;
39
39
  }
40
- export declare const groupCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing } }: GroupProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
40
+ export declare const groupCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({}: GroupProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
41
41
  declare const Group: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: GroupProps<Option, IsMulti, Group>) => jsx.JSX.Element;
42
42
  interface GroupHeadingPropsDefinedProps<Option, IsMulti extends boolean, Group extends GroupBase<Option>> extends ForwardedHeadingProps<Option, Group> {
43
43
  className?: string | undefined;
@@ -48,6 +48,6 @@ interface GroupHeadingPropsDefinedProps<Option, IsMulti extends boolean, Group e
48
48
  cx: CX;
49
49
  }
50
50
  export type GroupHeadingProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> = GroupHeadingPropsDefinedProps<Option, IsMulti, Group> & JSX.IntrinsicElements['div'];
51
- export declare const groupHeadingCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { colors, spacing } }: GroupHeadingProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
51
+ export declare const groupHeadingCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({}: GroupHeadingProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
52
52
  export declare const GroupHeading: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: GroupHeadingProps<Option, IsMulti, Group>) => jsx.JSX.Element;
53
53
  export default Group;
@@ -27,8 +27,12 @@ export interface DropdownIndicatorProps<Option = unknown, IsMulti extends boolea
27
27
  */
28
28
  isFocused: boolean;
29
29
  isDisabled: boolean;
30
+ /**
31
+ * Whether the select is compact.
32
+ */
33
+ isCompact?: boolean;
30
34
  }
31
- export declare const dropdownIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isFocused, theme: { spacing: { baseUnit }, colors, }, }: DropdownIndicatorProps<Option, IsMulti, Group> | ClearIndicatorProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
35
+ export declare const dropdownIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isCompact, isDisabled, }: DropdownIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
32
36
  export declare const DropdownIndicator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: DropdownIndicatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
33
37
  export interface ClearIndicatorProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
34
38
  /**
@@ -47,17 +51,21 @@ export interface ClearIndicatorProps<Option = unknown, IsMulti extends boolean =
47
51
  * The focused state of the select.
48
52
  */
49
53
  isFocused: boolean;
54
+ /**
55
+ * Whether the select is compact.
56
+ */
57
+ isCompact?: boolean;
50
58
  }
51
- export declare const clearIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isFocused, theme: { spacing: { baseUnit }, colors, }, }: DropdownIndicatorProps<Option, IsMulti, Group> | ClearIndicatorProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
59
+ export declare const clearIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isCompact, }: ClearIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
52
60
  export declare const ClearIndicator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: ClearIndicatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
53
61
  export interface IndicatorSeparatorProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
54
62
  isDisabled: boolean;
55
63
  isFocused: boolean;
56
64
  innerProps?: JSX.IntrinsicElements['span'];
57
65
  }
58
- export declare const indicatorSeparatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, theme: { spacing: { baseUnit }, colors, }, }: IndicatorSeparatorProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
66
+ export declare const indicatorSeparatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, }: IndicatorSeparatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
59
67
  export declare const IndicatorSeparator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: IndicatorSeparatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
60
- export declare const loadingIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isFocused, size, theme: { colors, spacing: { baseUnit }, }, }: LoadingIndicatorProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
68
+ export declare const loadingIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isFocused, size, isCompact, theme: { colors }, }: LoadingIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
61
69
  export interface LoadingIndicatorProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
62
70
  /**
63
71
  * Props that will be passed on to the children.
@@ -72,5 +80,9 @@ export interface LoadingIndicatorProps<Option = unknown, IsMulti extends boolean
72
80
  * Set size of the container.
73
81
  */
74
82
  size: number;
83
+ /**
84
+ * Whether the select is compact.
85
+ */
86
+ isCompact?: boolean;
75
87
  }
76
88
  export declare const LoadingIndicator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ innerProps, isRtl, size, ...restProps }: LoadingIndicatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
@@ -28,6 +28,6 @@ export interface InputSpecificProps<Option = unknown, IsMulti extends boolean =
28
28
  inputClassName?: string;
29
29
  }
30
30
  export type InputProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> = InputSpecificProps<Option, IsMulti, Group>;
31
- export declare const inputCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, value, theme: { spacing, colors } }: InputProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
31
+ export declare const inputCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, value, theme: { spacing, colors }, }: InputProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
32
32
  declare const Input: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: InputProps<Option, IsMulti, Group>) => jsx.JSX.Element;
33
33
  export default Input;
@@ -68,7 +68,7 @@ export interface MenuPlacerProps<Option, IsMulti extends boolean, Group extends
68
68
  */
69
69
  children: (childrenProps: ChildrenProps) => ReactElement;
70
70
  }
71
- export declare const menuCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ placement, theme: { borderRadius, spacing, colors } }: MenuProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
71
+ export declare const menuCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ placement, theme: { borderRadius, spacing, colors }, }: MenuProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
72
72
  export declare const MenuPlacer: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: MenuPlacerProps<Option, IsMulti, Group>) => ReactElement<any, string | import("react").JSXElementConstructor<any>>;
73
73
  declare const Menu: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: MenuProps<Option, IsMulti, Group>) => jsx.JSX.Element;
74
74
  export default Menu;
@@ -94,10 +94,10 @@ export interface MenuListProps<Option = unknown, IsMulti extends boolean = boole
94
94
  */
95
95
  innerProps: JSX.IntrinsicElements['div'];
96
96
  }
97
- export declare const menuListCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ maxHeight, theme: { spacing: { baseUnit }, }, }: MenuListProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
97
+ export declare const menuListCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ maxHeight, }: MenuListProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
98
98
  export declare const MenuList: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: MenuListProps<Option, IsMulti, Group>) => jsx.JSX.Element;
99
- export declare const noOptionsMessageCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing: { baseUnit }, colors, }, }: NoticeProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
100
- export declare const loadingMessageCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing: { baseUnit }, colors, }, }: NoticeProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
99
+ export declare const noOptionsMessageCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing: { baseUnit }, colors, }, }: NoticeProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
100
+ export declare const loadingMessageCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing: { baseUnit }, colors, }, }: NoticeProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
101
101
  export interface NoticeProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
102
102
  /**
103
103
  * The children to be rendered.