@atlaskit/react-select 0.0.2

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 (197) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/LICENSE.md +11 -0
  3. package/README.md +10 -0
  4. package/async/package.json +15 -0
  5. package/base/package.json +15 -0
  6. package/creatable/package.json +15 -0
  7. package/dist/cjs/accessibility/helpers.js +34 -0
  8. package/dist/cjs/accessibility/index.js +74 -0
  9. package/dist/cjs/async-creatable.js +27 -0
  10. package/dist/cjs/async.js +30 -0
  11. package/dist/cjs/builtins.js +18 -0
  12. package/dist/cjs/components/containers.js +100 -0
  13. package/dist/cjs/components/control.js +67 -0
  14. package/dist/cjs/components/group.js +79 -0
  15. package/dist/cjs/components/index.js +53 -0
  16. package/dist/cjs/components/indicators.js +214 -0
  17. package/dist/cjs/components/input.js +93 -0
  18. package/dist/cjs/components/internal/a11y-text.js +34 -0
  19. package/dist/cjs/components/internal/dummy-input.js +43 -0
  20. package/dist/cjs/components/internal/index.js +34 -0
  21. package/dist/cjs/components/internal/required-input.js +43 -0
  22. package/dist/cjs/components/internal/scroll-manager.js +57 -0
  23. package/dist/cjs/components/internal/use-scroll-capture.js +132 -0
  24. package/dist/cjs/components/internal/use-scroll-lock.js +149 -0
  25. package/dist/cjs/components/live-region.js +153 -0
  26. package/dist/cjs/components/menu.js +464 -0
  27. package/dist/cjs/components/multi-value.js +129 -0
  28. package/dist/cjs/components/option.js +62 -0
  29. package/dist/cjs/components/placeholder.js +39 -0
  30. package/dist/cjs/components/single-value.js +46 -0
  31. package/dist/cjs/creatable.js +30 -0
  32. package/dist/cjs/diacritics.js +274 -0
  33. package/dist/cjs/filters.js +50 -0
  34. package/dist/cjs/index.js +55 -0
  35. package/dist/cjs/nonce-provider.js +30 -0
  36. package/dist/cjs/select.js +1803 -0
  37. package/dist/cjs/state-manager.js +31 -0
  38. package/dist/cjs/styles.js +66 -0
  39. package/dist/cjs/theme.js +42 -0
  40. package/dist/cjs/types.js +5 -0
  41. package/dist/cjs/use-async.js +156 -0
  42. package/dist/cjs/use-creatable.js +114 -0
  43. package/dist/cjs/use-state-manager.js +83 -0
  44. package/dist/cjs/utils.js +357 -0
  45. package/dist/es2019/accessibility/helpers.js +24 -0
  46. package/dist/es2019/accessibility/index.js +72 -0
  47. package/dist/es2019/async-creatable.js +17 -0
  48. package/dist/es2019/async.js +16 -0
  49. package/dist/es2019/builtins.js +4 -0
  50. package/dist/es2019/components/containers.js +100 -0
  51. package/dist/es2019/components/control.js +62 -0
  52. package/dist/es2019/components/group.js +74 -0
  53. package/dist/es2019/components/index.js +41 -0
  54. package/dist/es2019/components/indicators.js +211 -0
  55. package/dist/es2019/components/input.js +88 -0
  56. package/dist/es2019/components/internal/a11y-text.js +25 -0
  57. package/dist/es2019/components/internal/dummy-input.js +36 -0
  58. package/dist/es2019/components/internal/index.js +4 -0
  59. package/dist/es2019/components/internal/required-input.js +35 -0
  60. package/dist/es2019/components/internal/scroll-manager.js +49 -0
  61. package/dist/es2019/components/internal/use-scroll-capture.js +128 -0
  62. package/dist/es2019/components/internal/use-scroll-lock.js +143 -0
  63. package/dist/es2019/components/live-region.js +151 -0
  64. package/dist/es2019/components/menu.js +466 -0
  65. package/dist/es2019/components/multi-value.js +134 -0
  66. package/dist/es2019/components/option.js +57 -0
  67. package/dist/es2019/components/placeholder.js +34 -0
  68. package/dist/es2019/components/single-value.js +41 -0
  69. package/dist/es2019/creatable.js +15 -0
  70. package/dist/es2019/diacritics.js +264 -0
  71. package/dist/es2019/filters.js +36 -0
  72. package/dist/es2019/index.js +8 -0
  73. package/dist/es2019/nonce-provider.js +19 -0
  74. package/dist/es2019/select.js +1766 -0
  75. package/dist/es2019/state-manager.js +22 -0
  76. package/dist/es2019/styles.js +56 -0
  77. package/dist/es2019/theme.js +36 -0
  78. package/dist/es2019/types.js +1 -0
  79. package/dist/es2019/use-async.js +117 -0
  80. package/dist/es2019/use-creatable.js +81 -0
  81. package/dist/es2019/use-state-manager.js +60 -0
  82. package/dist/es2019/utils.js +309 -0
  83. package/dist/esm/accessibility/helpers.js +24 -0
  84. package/dist/esm/accessibility/index.js +68 -0
  85. package/dist/esm/async-creatable.js +17 -0
  86. package/dist/esm/async.js +16 -0
  87. package/dist/esm/builtins.js +12 -0
  88. package/dist/esm/components/containers.js +96 -0
  89. package/dist/esm/components/control.js +62 -0
  90. package/dist/esm/components/group.js +74 -0
  91. package/dist/esm/components/index.js +43 -0
  92. package/dist/esm/components/indicators.js +209 -0
  93. package/dist/esm/components/input.js +88 -0
  94. package/dist/esm/components/internal/a11y-text.js +27 -0
  95. package/dist/esm/components/internal/dummy-input.js +37 -0
  96. package/dist/esm/components/internal/index.js +4 -0
  97. package/dist/esm/components/internal/required-input.js +36 -0
  98. package/dist/esm/components/internal/scroll-manager.js +49 -0
  99. package/dist/esm/components/internal/use-scroll-capture.js +126 -0
  100. package/dist/esm/components/internal/use-scroll-lock.js +143 -0
  101. package/dist/esm/components/live-region.js +148 -0
  102. package/dist/esm/components/menu.js +460 -0
  103. package/dist/esm/components/multi-value.js +122 -0
  104. package/dist/esm/components/option.js +57 -0
  105. package/dist/esm/components/placeholder.js +34 -0
  106. package/dist/esm/components/single-value.js +41 -0
  107. package/dist/esm/creatable.js +15 -0
  108. package/dist/esm/diacritics.js +268 -0
  109. package/dist/esm/filters.js +43 -0
  110. package/dist/esm/index.js +8 -0
  111. package/dist/esm/nonce-provider.js +20 -0
  112. package/dist/esm/select.js +1794 -0
  113. package/dist/esm/state-manager.js +22 -0
  114. package/dist/esm/styles.js +58 -0
  115. package/dist/esm/theme.js +36 -0
  116. package/dist/esm/types.js +1 -0
  117. package/dist/esm/use-async.js +149 -0
  118. package/dist/esm/use-creatable.js +107 -0
  119. package/dist/esm/use-state-manager.js +76 -0
  120. package/dist/esm/utils.js +328 -0
  121. package/dist/types/accessibility/helpers.d.ts +5 -0
  122. package/dist/types/accessibility/index.d.ts +125 -0
  123. package/dist/types/async-creatable.d.ts +10 -0
  124. package/dist/types/async.d.ts +9 -0
  125. package/dist/types/builtins.d.ts +5 -0
  126. package/dist/types/components/containers.d.ts +50 -0
  127. package/dist/types/components/control.d.ts +33 -0
  128. package/dist/types/components/group.d.ts +53 -0
  129. package/dist/types/components/index.d.ts +73 -0
  130. package/dist/types/components/indicators.d.ts +72 -0
  131. package/dist/types/components/input.d.ts +33 -0
  132. package/dist/types/components/internal/a11y-text.d.ts +8 -0
  133. package/dist/types/components/internal/dummy-input.d.ts +9 -0
  134. package/dist/types/components/internal/index.d.ts +4 -0
  135. package/dist/types/components/internal/required-input.d.ts +10 -0
  136. package/dist/types/components/internal/scroll-manager.d.ts +17 -0
  137. package/dist/types/components/internal/use-scroll-capture.d.ts +12 -0
  138. package/dist/types/components/internal/use-scroll-lock.d.ts +9 -0
  139. package/dist/types/components/live-region.d.ts +24 -0
  140. package/dist/types/components/menu.d.ts +130 -0
  141. package/dist/types/components/multi-value.d.ts +47 -0
  142. package/dist/types/components/option.d.ts +49 -0
  143. package/dist/types/components/placeholder.d.ts +22 -0
  144. package/dist/types/components/single-value.d.ts +28 -0
  145. package/dist/types/creatable.d.ts +10 -0
  146. package/dist/types/diacritics.d.ts +1 -0
  147. package/dist/types/filters.d.ts +15 -0
  148. package/dist/types/index.d.ts +28 -0
  149. package/dist/types/nonce-provider.d.ts +8 -0
  150. package/dist/types/select.d.ts +616 -0
  151. package/dist/types/state-manager.d.ts +17 -0
  152. package/dist/types/styles.d.ts +68 -0
  153. package/dist/types/theme.d.ts +27 -0
  154. package/dist/types/types.d.ts +134 -0
  155. package/dist/types/use-async.d.ts +31 -0
  156. package/dist/types/use-creatable.d.ts +46 -0
  157. package/dist/types/use-state-manager.d.ts +15 -0
  158. package/dist/types/utils.d.ts +44 -0
  159. package/dist/types-ts4.5/accessibility/helpers.d.ts +5 -0
  160. package/dist/types-ts4.5/accessibility/index.d.ts +125 -0
  161. package/dist/types-ts4.5/async-creatable.d.ts +10 -0
  162. package/dist/types-ts4.5/async.d.ts +9 -0
  163. package/dist/types-ts4.5/builtins.d.ts +5 -0
  164. package/dist/types-ts4.5/components/containers.d.ts +50 -0
  165. package/dist/types-ts4.5/components/control.d.ts +33 -0
  166. package/dist/types-ts4.5/components/group.d.ts +53 -0
  167. package/dist/types-ts4.5/components/index.d.ts +73 -0
  168. package/dist/types-ts4.5/components/indicators.d.ts +72 -0
  169. package/dist/types-ts4.5/components/input.d.ts +33 -0
  170. package/dist/types-ts4.5/components/internal/a11y-text.d.ts +8 -0
  171. package/dist/types-ts4.5/components/internal/dummy-input.d.ts +9 -0
  172. package/dist/types-ts4.5/components/internal/index.d.ts +4 -0
  173. package/dist/types-ts4.5/components/internal/required-input.d.ts +10 -0
  174. package/dist/types-ts4.5/components/internal/scroll-manager.d.ts +17 -0
  175. package/dist/types-ts4.5/components/internal/use-scroll-capture.d.ts +12 -0
  176. package/dist/types-ts4.5/components/internal/use-scroll-lock.d.ts +9 -0
  177. package/dist/types-ts4.5/components/live-region.d.ts +24 -0
  178. package/dist/types-ts4.5/components/menu.d.ts +130 -0
  179. package/dist/types-ts4.5/components/multi-value.d.ts +47 -0
  180. package/dist/types-ts4.5/components/option.d.ts +49 -0
  181. package/dist/types-ts4.5/components/placeholder.d.ts +22 -0
  182. package/dist/types-ts4.5/components/single-value.d.ts +28 -0
  183. package/dist/types-ts4.5/creatable.d.ts +10 -0
  184. package/dist/types-ts4.5/diacritics.d.ts +1 -0
  185. package/dist/types-ts4.5/filters.d.ts +15 -0
  186. package/dist/types-ts4.5/index.d.ts +28 -0
  187. package/dist/types-ts4.5/nonce-provider.d.ts +8 -0
  188. package/dist/types-ts4.5/select.d.ts +616 -0
  189. package/dist/types-ts4.5/state-manager.d.ts +17 -0
  190. package/dist/types-ts4.5/styles.d.ts +68 -0
  191. package/dist/types-ts4.5/theme.d.ts +27 -0
  192. package/dist/types-ts4.5/types.d.ts +134 -0
  193. package/dist/types-ts4.5/use-async.d.ts +31 -0
  194. package/dist/types-ts4.5/use-creatable.d.ts +46 -0
  195. package/dist/types-ts4.5/use-state-manager.d.ts +15 -0
  196. package/dist/types-ts4.5/utils.d.ts +44 -0
  197. package/package.json +83 -0
@@ -0,0 +1,24 @@
1
+ /// <reference types="user-agent-data-types" />
2
+
3
+ function testPlatform(re) {
4
+ var _window$navigator$use;
5
+ return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window$navigator$use = window.navigator['userAgentData']) === null || _window$navigator$use === void 0 ? void 0 : _window$navigator$use.platform) || window.navigator.platform) : false;
6
+ }
7
+ export function isIPhone() {
8
+ return testPlatform(/^iPhone/i);
9
+ }
10
+ export function isMac() {
11
+ return testPlatform(/^Mac/i);
12
+ }
13
+ export function isIPad() {
14
+ return testPlatform(/^iPad/i) ||
15
+ // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
16
+ // eslint-disable-next-line compat/compat
17
+ isMac() && navigator.maxTouchPoints > 1;
18
+ }
19
+ export function isIOS() {
20
+ return isIPhone() || isIPad();
21
+ }
22
+ export function isAppleDevice() {
23
+ return isMac() || isIOS();
24
+ }
@@ -0,0 +1,68 @@
1
+ export var defaultAriaLiveMessages = {
2
+ guidance: function guidance(props) {
3
+ var isSearchable = props.isSearchable,
4
+ isMulti = props.isMulti,
5
+ tabSelectsValue = props.tabSelectsValue,
6
+ context = props.context,
7
+ isInitialFocus = props.isInitialFocus;
8
+ switch (context) {
9
+ case 'menu':
10
+ return "Use Up and Down to choose options, press Enter to select the currently focused option, press Escape to exit the menu".concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', ".");
11
+ case 'input':
12
+ return isInitialFocus ? "".concat(props['aria-label'] || 'Select', " is focused ").concat(isSearchable ? ',type to refine list' : '', ", press Down to open the menu, ").concat(isMulti ? ' press left to focus selected values' : '') : '';
13
+ case 'value':
14
+ return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';
15
+ default:
16
+ return '';
17
+ }
18
+ },
19
+ onChange: function onChange(props) {
20
+ var action = props.action,
21
+ _props$label = props.label,
22
+ label = _props$label === void 0 ? '' : _props$label,
23
+ labels = props.labels,
24
+ isDisabled = props.isDisabled;
25
+ switch (action) {
26
+ case 'deselect-option':
27
+ case 'pop-value':
28
+ case 'remove-value':
29
+ return "option ".concat(label, ", deselected.");
30
+ case 'clear':
31
+ return 'All selected options have been cleared.';
32
+ case 'initial-input-focus':
33
+ return "option".concat(labels.length > 1 ? 's' : '', " ").concat(labels.join(','), ", selected.");
34
+ case 'select-option':
35
+ return isDisabled ? "option ".concat(label, " is disabled. Select another option.") : "option ".concat(label, ", selected.");
36
+ default:
37
+ return '';
38
+ }
39
+ },
40
+ onFocus: function onFocus(props) {
41
+ var context = props.context,
42
+ focused = props.focused,
43
+ options = props.options,
44
+ _props$label2 = props.label,
45
+ label = _props$label2 === void 0 ? '' : _props$label2,
46
+ selectValue = props.selectValue,
47
+ isDisabled = props.isDisabled,
48
+ isSelected = props.isSelected,
49
+ isAppleDevice = props.isAppleDevice;
50
+ var getArrayIndex = function getArrayIndex(arr, item) {
51
+ return arr && arr.length ? "".concat(arr.indexOf(item) + 1, " of ").concat(arr.length) : '';
52
+ };
53
+ if (context === 'value' && selectValue) {
54
+ return "value ".concat(label, " focused, ").concat(getArrayIndex(selectValue, focused), ".");
55
+ }
56
+ if (context === 'menu' && isAppleDevice) {
57
+ var disabled = isDisabled ? ' disabled' : '';
58
+ var status = "".concat(isSelected ? ' selected' : '').concat(disabled);
59
+ return "".concat(label).concat(status, ", ").concat(getArrayIndex(options, focused), ".");
60
+ }
61
+ return '';
62
+ },
63
+ onFilter: function onFilter(props) {
64
+ var inputValue = props.inputValue,
65
+ resultsMessage = props.resultsMessage;
66
+ return "".concat(resultsMessage).concat(inputValue ? ' for search term ' + inputValue : '', ".");
67
+ }
68
+ };
@@ -0,0 +1,17 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React, { forwardRef } from 'react';
3
+ import Select from './select';
4
+ import useAsync from './use-async';
5
+ import useCreatable from './use-creatable';
6
+ import useStateManager from './use-state-manager';
7
+ var AsyncCreatableSelect = /*#__PURE__*/forwardRef(function (props, ref) {
8
+ var stateManagerProps = useAsync(props);
9
+ var creatableProps = useStateManager(stateManagerProps);
10
+ var selectProps = useCreatable(creatableProps);
11
+ return /*#__PURE__*/React.createElement(Select, _extends({
12
+ ref: ref
13
+ }, selectProps));
14
+ });
15
+
16
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
17
+ export default AsyncCreatableSelect;
@@ -0,0 +1,16 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React, { forwardRef } from 'react';
3
+ import Select from './select';
4
+ import useAsync from './use-async';
5
+ import useStateManager from './use-state-manager';
6
+ var AsyncSelect = /*#__PURE__*/forwardRef(function (props, ref) {
7
+ var stateManagedProps = useAsync(props);
8
+ var selectProps = useStateManager(stateManagedProps);
9
+ return /*#__PURE__*/React.createElement(Select, _extends({
10
+ ref: ref
11
+ }, selectProps));
12
+ });
13
+ export { useAsync };
14
+
15
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
16
+ export default AsyncSelect;
@@ -0,0 +1,12 @@
1
+ export var formatGroupLabel = function formatGroupLabel(group) {
2
+ return group.label;
3
+ };
4
+ export var getOptionLabel = function getOptionLabel(option) {
5
+ return option.label;
6
+ };
7
+ export var getOptionValue = function getOptionValue(option) {
8
+ return option.value;
9
+ };
10
+ export var isOptionDisabled = function isOptionDisabled(option) {
11
+ return !!option.isDisabled;
12
+ };
@@ -0,0 +1,96 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/extends";
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
+ /**
6
+ * @jsxRuntime classic
7
+ * @jsx jsx
8
+ */
9
+
10
+ import { jsx } from '@emotion/react';
11
+ import { getStyleProps } from '../utils';
12
+
13
+ // ==============================
14
+ // Root Container
15
+ // ==============================
16
+
17
+ export var containerCSS = function containerCSS(_ref) {
18
+ var isDisabled = _ref.isDisabled,
19
+ isRtl = _ref.isRtl;
20
+ return {
21
+ label: 'container',
22
+ direction: isRtl ? 'rtl' : undefined,
23
+ pointerEvents: isDisabled ? 'none' : undefined,
24
+ // cancel mouse events when disabled
25
+ position: 'relative'
26
+ };
27
+ };
28
+
29
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
30
+ export var SelectContainer = function SelectContainer(props) {
31
+ var children = props.children,
32
+ innerProps = props.innerProps,
33
+ isDisabled = props.isDisabled,
34
+ isRtl = props.isRtl;
35
+ return jsx("div", _extends({}, getStyleProps(props, 'container', {
36
+ '--is-disabled': isDisabled,
37
+ '--is-rtl': isRtl
38
+ }), innerProps), children);
39
+ };
40
+
41
+ // ==============================
42
+ // Value Container
43
+ // ==============================
44
+
45
+ export var valueContainerCSS = function valueContainerCSS(_ref2, unstyled) {
46
+ var spacing = _ref2.theme.spacing,
47
+ isMulti = _ref2.isMulti,
48
+ hasValue = _ref2.hasValue,
49
+ controlShouldRenderValue = _ref2.selectProps.controlShouldRenderValue;
50
+ return _objectSpread({
51
+ alignItems: 'center',
52
+ display: isMulti && hasValue && controlShouldRenderValue ? 'flex' : 'grid',
53
+ flex: 1,
54
+ flexWrap: 'wrap',
55
+ WebkitOverflowScrolling: 'touch',
56
+ position: 'relative',
57
+ overflow: 'hidden'
58
+ }, unstyled ? {} : {
59
+ padding: "".concat(spacing.baseUnit / 2, "px ").concat(spacing.baseUnit * 2, "px")
60
+ });
61
+ };
62
+
63
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
64
+ export var ValueContainer = function ValueContainer(props) {
65
+ var children = props.children,
66
+ innerProps = props.innerProps,
67
+ isMulti = props.isMulti,
68
+ hasValue = props.hasValue;
69
+ return jsx("div", _extends({}, getStyleProps(props, 'valueContainer', {
70
+ 'value-container': true,
71
+ 'value-container--is-multi': isMulti,
72
+ 'value-container--has-value': hasValue
73
+ }), innerProps), children);
74
+ };
75
+
76
+ // ==============================
77
+ // Indicator Container
78
+ // ==============================
79
+
80
+ export var indicatorsContainerCSS = function indicatorsContainerCSS() {
81
+ return {
82
+ alignItems: 'center',
83
+ alignSelf: 'stretch',
84
+ display: 'flex',
85
+ flexShrink: 0
86
+ };
87
+ };
88
+
89
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
90
+ export var IndicatorsContainer = function IndicatorsContainer(props) {
91
+ var children = props.children,
92
+ innerProps = props.innerProps;
93
+ return jsx("div", _extends({}, getStyleProps(props, 'indicatorsContainer', {
94
+ indicators: true
95
+ }), innerProps), children);
96
+ };
@@ -0,0 +1,62 @@
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
+ /**
6
+ * @jsxRuntime classic
7
+ * @jsx jsx
8
+ */
9
+
10
+ import { jsx } from '@emotion/react';
11
+ import { getStyleProps } from '../utils';
12
+ export var css = function css(_ref, unstyled) {
13
+ var isDisabled = _ref.isDisabled,
14
+ isFocused = _ref.isFocused,
15
+ _ref$theme = _ref.theme,
16
+ colors = _ref$theme.colors,
17
+ borderRadius = _ref$theme.borderRadius,
18
+ spacing = _ref$theme.spacing;
19
+ return _objectSpread({
20
+ label: 'control',
21
+ alignItems: 'center',
22
+ cursor: 'default',
23
+ display: 'flex',
24
+ flexWrap: 'wrap',
25
+ justifyContent: 'space-between',
26
+ minHeight: spacing.controlHeight,
27
+ outline: '0 !important',
28
+ position: 'relative',
29
+ transition: 'all 100ms'
30
+ }, unstyled ? {} : {
31
+ backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,
32
+ borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,
33
+ borderRadius: borderRadius,
34
+ borderStyle: 'solid',
35
+ borderWidth: 1,
36
+ boxShadow: isFocused ? "0 0 0 1px ".concat(colors.primary) : undefined,
37
+ '&:hover': {
38
+ borderColor: isFocused ? colors.primary : colors.neutral30
39
+ }
40
+ });
41
+ };
42
+ var Control = function Control(props) {
43
+ var children = props.children,
44
+ isDisabled = props.isDisabled,
45
+ isFocused = props.isFocused,
46
+ innerRef = props.innerRef,
47
+ innerProps = props.innerProps,
48
+ menuIsOpen = props.menuIsOpen;
49
+ return jsx("div", _extends({
50
+ ref: innerRef
51
+ }, getStyleProps(props, 'control', {
52
+ control: true,
53
+ 'control--is-disabled': isDisabled,
54
+ 'control--is-focused': isFocused,
55
+ 'control--menu-is-open': menuIsOpen
56
+ }), innerProps, {
57
+ "aria-disabled": isDisabled || undefined
58
+ }), children);
59
+ };
60
+
61
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
62
+ export default Control;
@@ -0,0 +1,74 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ var _excluded = ["data"];
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; }
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; }
7
+ /**
8
+ * @jsxRuntime classic
9
+ * @jsx jsx
10
+ */
11
+
12
+ import { jsx } from '@emotion/react';
13
+ import { cleanCommonProps, getStyleProps } from '../utils';
14
+ export var groupCSS = function groupCSS(_ref, unstyled) {
15
+ var spacing = _ref.theme.spacing;
16
+ return unstyled ? {} : {
17
+ paddingBottom: spacing.baseUnit * 2,
18
+ paddingTop: spacing.baseUnit * 2
19
+ };
20
+ };
21
+ var Group = function Group(props) {
22
+ var children = props.children,
23
+ cx = props.cx,
24
+ getStyles = props.getStyles,
25
+ getClassNames = props.getClassNames,
26
+ Heading = props.Heading,
27
+ headingProps = props.headingProps,
28
+ innerProps = props.innerProps,
29
+ label = props.label,
30
+ theme = props.theme,
31
+ selectProps = props.selectProps;
32
+ return jsx("div", _extends({}, getStyleProps(props, 'group', {
33
+ group: true
34
+ }), innerProps), jsx(Heading, _extends({}, headingProps, {
35
+ selectProps: selectProps
36
+ // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
37
+ ,
38
+ theme: theme,
39
+ getStyles: getStyles,
40
+ getClassNames: getClassNames,
41
+ cx: cx
42
+ }), label), jsx("div", null, children));
43
+ };
44
+ export var groupHeadingCSS = function groupHeadingCSS(_ref2, unstyled) {
45
+ var _ref2$theme = _ref2.theme,
46
+ colors = _ref2$theme.colors,
47
+ spacing = _ref2$theme.spacing;
48
+ return _objectSpread({
49
+ label: 'group',
50
+ cursor: 'default',
51
+ display: 'block'
52
+ }, unstyled ? {} : {
53
+ color: colors.neutral40,
54
+ fontSize: '75%',
55
+ fontWeight: 500,
56
+ marginBottom: '0.25em',
57
+ paddingLeft: spacing.baseUnit * 3,
58
+ paddingRight: spacing.baseUnit * 3,
59
+ textTransform: 'uppercase'
60
+ });
61
+ };
62
+
63
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
64
+ export var GroupHeading = function GroupHeading(props) {
65
+ var _cleanCommonProps = cleanCommonProps(props),
66
+ data = _cleanCommonProps.data,
67
+ innerProps = _objectWithoutProperties(_cleanCommonProps, _excluded);
68
+ return jsx("div", _extends({}, getStyleProps(props, 'groupHeading', {
69
+ 'group-heading': true
70
+ }), innerProps));
71
+ };
72
+
73
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
74
+ export default Group;
@@ -0,0 +1,43 @@
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
+ import { IndicatorsContainer, SelectContainer, ValueContainer } from './containers';
5
+ import Control from './control';
6
+ import Group, { GroupHeading } from './group';
7
+ import { ClearIndicator, CrossIcon, DownChevron, DropdownIndicator, IndicatorSeparator, LoadingIndicator } from './indicators';
8
+ import Input from './input';
9
+ import Menu, { LoadingMessage, MenuList, MenuPortal, NoOptionsMessage } from './menu';
10
+ import MultiValue, { MultiValueContainer, MultiValueLabel, MultiValueRemove } from './multi-value';
11
+ import Option from './option';
12
+ import Placeholder from './placeholder';
13
+ import SingleValue from './single-value';
14
+ export var components = {
15
+ ClearIndicator: ClearIndicator,
16
+ Control: Control,
17
+ DropdownIndicator: DropdownIndicator,
18
+ DownChevron: DownChevron,
19
+ CrossIcon: CrossIcon,
20
+ Group: Group,
21
+ GroupHeading: GroupHeading,
22
+ IndicatorsContainer: IndicatorsContainer,
23
+ IndicatorSeparator: IndicatorSeparator,
24
+ Input: Input,
25
+ LoadingIndicator: LoadingIndicator,
26
+ Menu: Menu,
27
+ MenuList: MenuList,
28
+ MenuPortal: MenuPortal,
29
+ LoadingMessage: LoadingMessage,
30
+ NoOptionsMessage: NoOptionsMessage,
31
+ MultiValue: MultiValue,
32
+ MultiValueContainer: MultiValueContainer,
33
+ MultiValueLabel: MultiValueLabel,
34
+ MultiValueRemove: MultiValueRemove,
35
+ Option: Option,
36
+ Placeholder: Placeholder,
37
+ SelectContainer: SelectContainer,
38
+ SingleValue: SingleValue,
39
+ ValueContainer: ValueContainer
40
+ };
41
+ export var defaultComponents = function defaultComponents(props) {
42
+ return _objectSpread(_objectSpread({}, components), props.components);
43
+ };
@@ -0,0 +1,209 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["size"],
5
+ _excluded2 = ["innerProps", "isRtl", "size"];
6
+ 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
+ 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
+ /**
9
+ * @jsxRuntime classic
10
+ * @jsx jsx
11
+ */
12
+
13
+ import { css, jsx, keyframes } from '@emotion/react';
14
+ import { getStyleProps } from '../utils';
15
+
16
+ // ==============================
17
+ // Dropdown & Clear Icons
18
+ // ==============================
19
+
20
+ var styles = css({
21
+ display: 'inline-block',
22
+ fill: 'currentColor',
23
+ lineHeight: 1,
24
+ stroke: 'currentColor',
25
+ strokeWidth: 0
26
+ });
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
+
63
+ // ==============================
64
+ // Dropdown & Clear Buttons
65
+ // ==============================
66
+
67
+ var baseCSS = function baseCSS(_ref2, unstyled) {
68
+ var isFocused = _ref2.isFocused,
69
+ _ref2$theme = _ref2.theme,
70
+ baseUnit = _ref2$theme.spacing.baseUnit,
71
+ colors = _ref2$theme.colors;
72
+ return _objectSpread({
73
+ label: 'indicatorContainer',
74
+ display: 'flex',
75
+ transition: 'color 150ms'
76
+ }, unstyled ? {} : {
77
+ color: isFocused ? colors.neutral60 : colors.neutral20,
78
+ padding: baseUnit * 2,
79
+ ':hover': {
80
+ color: isFocused ? colors.neutral80 : colors.neutral40
81
+ }
82
+ });
83
+ };
84
+ export var dropdownIndicatorCSS = baseCSS;
85
+
86
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
87
+ export var DropdownIndicator = function DropdownIndicator(props) {
88
+ var children = props.children,
89
+ innerProps = props.innerProps;
90
+ return jsx("div", _extends({}, getStyleProps(props, 'dropdownIndicator', {
91
+ indicator: true,
92
+ 'dropdown-indicator': true
93
+ }), innerProps), children || jsx(DownChevron, null));
94
+ };
95
+ export var clearIndicatorCSS = baseCSS;
96
+
97
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
98
+ export var ClearIndicator = function ClearIndicator(props) {
99
+ var children = props.children,
100
+ innerProps = props.innerProps;
101
+ return jsx("div", _extends({}, getStyleProps(props, 'clearIndicator', {
102
+ indicator: true,
103
+ 'clear-indicator': true
104
+ }), innerProps), children || jsx(CrossIcon, null));
105
+ };
106
+
107
+ // ==============================
108
+ // Separator
109
+ // ==============================
110
+
111
+ export var indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref3, unstyled) {
112
+ var isDisabled = _ref3.isDisabled,
113
+ _ref3$theme = _ref3.theme,
114
+ baseUnit = _ref3$theme.spacing.baseUnit,
115
+ colors = _ref3$theme.colors;
116
+ return _objectSpread({
117
+ label: 'indicatorSeparator',
118
+ alignSelf: 'stretch',
119
+ width: 1
120
+ }, unstyled ? {} : {
121
+ backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,
122
+ marginBottom: baseUnit * 2,
123
+ marginTop: baseUnit * 2
124
+ });
125
+ };
126
+
127
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
128
+ export var IndicatorSeparator = function IndicatorSeparator(props) {
129
+ var innerProps = props.innerProps;
130
+ return jsx("span", _extends({}, innerProps, getStyleProps(props, 'indicatorSeparator', {
131
+ 'indicator-separator': true
132
+ })));
133
+ };
134
+
135
+ // ==============================
136
+ // Loading
137
+ // ==============================
138
+
139
+ var loadingDotAnimations = keyframes({
140
+ '0%, 80%, 100%': {
141
+ opacity: 0
142
+ },
143
+ '40%': {
144
+ opacity: 1
145
+ }
146
+ });
147
+ export var loadingIndicatorCSS = function loadingIndicatorCSS(_ref4, unstyled) {
148
+ var isFocused = _ref4.isFocused,
149
+ size = _ref4.size,
150
+ _ref4$theme = _ref4.theme,
151
+ colors = _ref4$theme.colors,
152
+ baseUnit = _ref4$theme.spacing.baseUnit;
153
+ return _objectSpread({
154
+ label: 'loadingIndicator',
155
+ display: 'flex',
156
+ transition: 'color 150ms',
157
+ alignSelf: 'center',
158
+ fontSize: size,
159
+ lineHeight: 1,
160
+ marginRight: size,
161
+ textAlign: 'center',
162
+ verticalAlign: 'middle'
163
+ }, unstyled ? {} : {
164
+ color: isFocused ? colors.neutral60 : colors.neutral20,
165
+ padding: baseUnit * 2
166
+ });
167
+ };
168
+ var LoadingDot = function LoadingDot(_ref5) {
169
+ var delay = _ref5.delay,
170
+ offset = _ref5.offset;
171
+ return jsx("span", {
172
+ // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
173
+ css: {
174
+ animation: "".concat(loadingDotAnimations, " 1s ease-in-out ").concat(delay, "ms infinite;"),
175
+ backgroundColor: 'currentColor',
176
+ borderRadius: '1em',
177
+ display: 'inline-block',
178
+ marginLeft: offset ? '1em' : undefined,
179
+ height: '1em',
180
+ verticalAlign: 'top',
181
+ width: '1em'
182
+ }
183
+ });
184
+ };
185
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
186
+ export var LoadingIndicator = function LoadingIndicator(_ref6) {
187
+ var innerProps = _ref6.innerProps,
188
+ isRtl = _ref6.isRtl,
189
+ _ref6$size = _ref6.size,
190
+ size = _ref6$size === void 0 ? 4 : _ref6$size,
191
+ restProps = _objectWithoutProperties(_ref6, _excluded2);
192
+ return jsx("div", _extends({}, getStyleProps(_objectSpread(_objectSpread({}, restProps), {}, {
193
+ innerProps: innerProps,
194
+ isRtl: isRtl,
195
+ size: size
196
+ }), 'loadingIndicator', {
197
+ indicator: true,
198
+ 'loading-indicator': true
199
+ }), innerProps), jsx(LoadingDot, {
200
+ delay: 0,
201
+ offset: isRtl
202
+ }), jsx(LoadingDot, {
203
+ delay: 160,
204
+ offset: true
205
+ }), jsx(LoadingDot, {
206
+ delay: 320,
207
+ offset: !isRtl
208
+ }));
209
+ };