@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.
- package/CHANGELOG.md +9 -0
- package/LICENSE.md +11 -0
- package/README.md +10 -0
- package/async/package.json +15 -0
- package/base/package.json +15 -0
- package/creatable/package.json +15 -0
- package/dist/cjs/accessibility/helpers.js +34 -0
- package/dist/cjs/accessibility/index.js +74 -0
- package/dist/cjs/async-creatable.js +27 -0
- package/dist/cjs/async.js +30 -0
- package/dist/cjs/builtins.js +18 -0
- package/dist/cjs/components/containers.js +100 -0
- package/dist/cjs/components/control.js +67 -0
- package/dist/cjs/components/group.js +79 -0
- package/dist/cjs/components/index.js +53 -0
- package/dist/cjs/components/indicators.js +214 -0
- package/dist/cjs/components/input.js +93 -0
- package/dist/cjs/components/internal/a11y-text.js +34 -0
- package/dist/cjs/components/internal/dummy-input.js +43 -0
- package/dist/cjs/components/internal/index.js +34 -0
- package/dist/cjs/components/internal/required-input.js +43 -0
- package/dist/cjs/components/internal/scroll-manager.js +57 -0
- package/dist/cjs/components/internal/use-scroll-capture.js +132 -0
- package/dist/cjs/components/internal/use-scroll-lock.js +149 -0
- package/dist/cjs/components/live-region.js +153 -0
- package/dist/cjs/components/menu.js +464 -0
- package/dist/cjs/components/multi-value.js +129 -0
- package/dist/cjs/components/option.js +62 -0
- package/dist/cjs/components/placeholder.js +39 -0
- package/dist/cjs/components/single-value.js +46 -0
- package/dist/cjs/creatable.js +30 -0
- package/dist/cjs/diacritics.js +274 -0
- package/dist/cjs/filters.js +50 -0
- package/dist/cjs/index.js +55 -0
- package/dist/cjs/nonce-provider.js +30 -0
- package/dist/cjs/select.js +1803 -0
- package/dist/cjs/state-manager.js +31 -0
- package/dist/cjs/styles.js +66 -0
- package/dist/cjs/theme.js +42 -0
- package/dist/cjs/types.js +5 -0
- package/dist/cjs/use-async.js +156 -0
- package/dist/cjs/use-creatable.js +114 -0
- package/dist/cjs/use-state-manager.js +83 -0
- package/dist/cjs/utils.js +357 -0
- package/dist/es2019/accessibility/helpers.js +24 -0
- package/dist/es2019/accessibility/index.js +72 -0
- package/dist/es2019/async-creatable.js +17 -0
- package/dist/es2019/async.js +16 -0
- package/dist/es2019/builtins.js +4 -0
- package/dist/es2019/components/containers.js +100 -0
- package/dist/es2019/components/control.js +62 -0
- package/dist/es2019/components/group.js +74 -0
- package/dist/es2019/components/index.js +41 -0
- package/dist/es2019/components/indicators.js +211 -0
- package/dist/es2019/components/input.js +88 -0
- package/dist/es2019/components/internal/a11y-text.js +25 -0
- package/dist/es2019/components/internal/dummy-input.js +36 -0
- package/dist/es2019/components/internal/index.js +4 -0
- package/dist/es2019/components/internal/required-input.js +35 -0
- package/dist/es2019/components/internal/scroll-manager.js +49 -0
- package/dist/es2019/components/internal/use-scroll-capture.js +128 -0
- package/dist/es2019/components/internal/use-scroll-lock.js +143 -0
- package/dist/es2019/components/live-region.js +151 -0
- package/dist/es2019/components/menu.js +466 -0
- package/dist/es2019/components/multi-value.js +134 -0
- package/dist/es2019/components/option.js +57 -0
- package/dist/es2019/components/placeholder.js +34 -0
- package/dist/es2019/components/single-value.js +41 -0
- package/dist/es2019/creatable.js +15 -0
- package/dist/es2019/diacritics.js +264 -0
- package/dist/es2019/filters.js +36 -0
- package/dist/es2019/index.js +8 -0
- package/dist/es2019/nonce-provider.js +19 -0
- package/dist/es2019/select.js +1766 -0
- package/dist/es2019/state-manager.js +22 -0
- package/dist/es2019/styles.js +56 -0
- package/dist/es2019/theme.js +36 -0
- package/dist/es2019/types.js +1 -0
- package/dist/es2019/use-async.js +117 -0
- package/dist/es2019/use-creatable.js +81 -0
- package/dist/es2019/use-state-manager.js +60 -0
- package/dist/es2019/utils.js +309 -0
- package/dist/esm/accessibility/helpers.js +24 -0
- package/dist/esm/accessibility/index.js +68 -0
- package/dist/esm/async-creatable.js +17 -0
- package/dist/esm/async.js +16 -0
- package/dist/esm/builtins.js +12 -0
- package/dist/esm/components/containers.js +96 -0
- package/dist/esm/components/control.js +62 -0
- package/dist/esm/components/group.js +74 -0
- package/dist/esm/components/index.js +43 -0
- package/dist/esm/components/indicators.js +209 -0
- package/dist/esm/components/input.js +88 -0
- package/dist/esm/components/internal/a11y-text.js +27 -0
- package/dist/esm/components/internal/dummy-input.js +37 -0
- package/dist/esm/components/internal/index.js +4 -0
- package/dist/esm/components/internal/required-input.js +36 -0
- package/dist/esm/components/internal/scroll-manager.js +49 -0
- package/dist/esm/components/internal/use-scroll-capture.js +126 -0
- package/dist/esm/components/internal/use-scroll-lock.js +143 -0
- package/dist/esm/components/live-region.js +148 -0
- package/dist/esm/components/menu.js +460 -0
- package/dist/esm/components/multi-value.js +122 -0
- package/dist/esm/components/option.js +57 -0
- package/dist/esm/components/placeholder.js +34 -0
- package/dist/esm/components/single-value.js +41 -0
- package/dist/esm/creatable.js +15 -0
- package/dist/esm/diacritics.js +268 -0
- package/dist/esm/filters.js +43 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/nonce-provider.js +20 -0
- package/dist/esm/select.js +1794 -0
- package/dist/esm/state-manager.js +22 -0
- package/dist/esm/styles.js +58 -0
- package/dist/esm/theme.js +36 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/use-async.js +149 -0
- package/dist/esm/use-creatable.js +107 -0
- package/dist/esm/use-state-manager.js +76 -0
- package/dist/esm/utils.js +328 -0
- package/dist/types/accessibility/helpers.d.ts +5 -0
- package/dist/types/accessibility/index.d.ts +125 -0
- package/dist/types/async-creatable.d.ts +10 -0
- package/dist/types/async.d.ts +9 -0
- package/dist/types/builtins.d.ts +5 -0
- package/dist/types/components/containers.d.ts +50 -0
- package/dist/types/components/control.d.ts +33 -0
- package/dist/types/components/group.d.ts +53 -0
- package/dist/types/components/index.d.ts +73 -0
- package/dist/types/components/indicators.d.ts +72 -0
- package/dist/types/components/input.d.ts +33 -0
- package/dist/types/components/internal/a11y-text.d.ts +8 -0
- package/dist/types/components/internal/dummy-input.d.ts +9 -0
- package/dist/types/components/internal/index.d.ts +4 -0
- package/dist/types/components/internal/required-input.d.ts +10 -0
- package/dist/types/components/internal/scroll-manager.d.ts +17 -0
- package/dist/types/components/internal/use-scroll-capture.d.ts +12 -0
- package/dist/types/components/internal/use-scroll-lock.d.ts +9 -0
- package/dist/types/components/live-region.d.ts +24 -0
- package/dist/types/components/menu.d.ts +130 -0
- package/dist/types/components/multi-value.d.ts +47 -0
- package/dist/types/components/option.d.ts +49 -0
- package/dist/types/components/placeholder.d.ts +22 -0
- package/dist/types/components/single-value.d.ts +28 -0
- package/dist/types/creatable.d.ts +10 -0
- package/dist/types/diacritics.d.ts +1 -0
- package/dist/types/filters.d.ts +15 -0
- package/dist/types/index.d.ts +28 -0
- package/dist/types/nonce-provider.d.ts +8 -0
- package/dist/types/select.d.ts +616 -0
- package/dist/types/state-manager.d.ts +17 -0
- package/dist/types/styles.d.ts +68 -0
- package/dist/types/theme.d.ts +27 -0
- package/dist/types/types.d.ts +134 -0
- package/dist/types/use-async.d.ts +31 -0
- package/dist/types/use-creatable.d.ts +46 -0
- package/dist/types/use-state-manager.d.ts +15 -0
- package/dist/types/utils.d.ts +44 -0
- package/dist/types-ts4.5/accessibility/helpers.d.ts +5 -0
- package/dist/types-ts4.5/accessibility/index.d.ts +125 -0
- package/dist/types-ts4.5/async-creatable.d.ts +10 -0
- package/dist/types-ts4.5/async.d.ts +9 -0
- package/dist/types-ts4.5/builtins.d.ts +5 -0
- package/dist/types-ts4.5/components/containers.d.ts +50 -0
- package/dist/types-ts4.5/components/control.d.ts +33 -0
- package/dist/types-ts4.5/components/group.d.ts +53 -0
- package/dist/types-ts4.5/components/index.d.ts +73 -0
- package/dist/types-ts4.5/components/indicators.d.ts +72 -0
- package/dist/types-ts4.5/components/input.d.ts +33 -0
- package/dist/types-ts4.5/components/internal/a11y-text.d.ts +8 -0
- package/dist/types-ts4.5/components/internal/dummy-input.d.ts +9 -0
- package/dist/types-ts4.5/components/internal/index.d.ts +4 -0
- package/dist/types-ts4.5/components/internal/required-input.d.ts +10 -0
- package/dist/types-ts4.5/components/internal/scroll-manager.d.ts +17 -0
- package/dist/types-ts4.5/components/internal/use-scroll-capture.d.ts +12 -0
- package/dist/types-ts4.5/components/internal/use-scroll-lock.d.ts +9 -0
- package/dist/types-ts4.5/components/live-region.d.ts +24 -0
- package/dist/types-ts4.5/components/menu.d.ts +130 -0
- package/dist/types-ts4.5/components/multi-value.d.ts +47 -0
- package/dist/types-ts4.5/components/option.d.ts +49 -0
- package/dist/types-ts4.5/components/placeholder.d.ts +22 -0
- package/dist/types-ts4.5/components/single-value.d.ts +28 -0
- package/dist/types-ts4.5/creatable.d.ts +10 -0
- package/dist/types-ts4.5/diacritics.d.ts +1 -0
- package/dist/types-ts4.5/filters.d.ts +15 -0
- package/dist/types-ts4.5/index.d.ts +28 -0
- package/dist/types-ts4.5/nonce-provider.d.ts +8 -0
- package/dist/types-ts4.5/select.d.ts +616 -0
- package/dist/types-ts4.5/state-manager.d.ts +17 -0
- package/dist/types-ts4.5/styles.d.ts +68 -0
- package/dist/types-ts4.5/theme.d.ts +27 -0
- package/dist/types-ts4.5/types.d.ts +134 -0
- package/dist/types-ts4.5/use-async.d.ts +31 -0
- package/dist/types-ts4.5/use-creatable.d.ts +46 -0
- package/dist/types-ts4.5/use-state-manager.d.ts +15 -0
- package/dist/types-ts4.5/utils.d.ts +44 -0
- 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
|
+
};
|