@atlaskit/select 17.3.3 → 17.4.0

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.
@@ -1,127 +1,76 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
- import _createClass from "@babel/runtime/helpers/createClass";
5
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
6
- import _inherits from "@babel/runtime/helpers/inherits";
7
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
8
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
9
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
- var _excluded = ["styles", "validationState", "isInvalid", "spacing", "isMulti", "appearance", "ariaLiveMessages"];
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["appearance", "ariaLiveMessages", "components", "isInvalid", "onClickPreventDefault", "spacing", "styles", "tabSelectsValue", "validationState"];
11
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; }
12
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; }
13
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
15
- import React, { Component } from 'react';
7
+ import React, { useRef, useEffect, useMemo, forwardRef } from 'react';
16
8
  import { mergeStyles } from 'react-select';
17
- import memoizeOne from 'memoize-one';
18
- import isEqual from 'react-fast-compare';
9
+ import mergeRefs from '@atlaskit/ds-lib/merge-refs';
19
10
  import { Input } from './components/input-aria-describedby';
20
11
  import { ClearIndicator, DropdownIndicator, LoadingIndicator, MultiValueRemove, IndicatorSeparator } from './components';
21
12
  import baseStyles from './styles';
22
13
  import { onFocus, isOptionsGrouped } from './utils/grouped-options-announcement';
23
14
  export default function createSelect(WrappedComponent) {
24
- var _class;
25
- return _class = /*#__PURE__*/function (_Component) {
26
- _inherits(AtlaskitSelect, _Component);
27
- var _super = _createSuper(AtlaskitSelect);
28
- function AtlaskitSelect(props) {
29
- var _this;
30
- _classCallCheck(this, AtlaskitSelect);
31
- _this = _super.call(this, props);
32
- _defineProperty(_assertThisInitialized(_this), "components", {});
33
- _defineProperty(_assertThisInitialized(_this), "select", null);
34
- _defineProperty(_assertThisInitialized(_this), "cacheComponents", function (components) {
35
- _this.components = _objectSpread({
36
- ClearIndicator: ClearIndicator ? ClearIndicator : undefined,
37
- DropdownIndicator: DropdownIndicator,
38
- LoadingIndicator: LoadingIndicator,
39
- MultiValueRemove: MultiValueRemove,
40
- IndicatorSeparator: IndicatorSeparator
41
- }, components);
42
- });
43
- _defineProperty(_assertThisInitialized(_this), "onSelectRef", function (ref) {
44
- _this.select = ref;
45
- });
46
- _this.cacheComponents = memoizeOne(_this.cacheComponents, isEqual).bind(_assertThisInitialized(_this));
47
- _this.cacheComponents(props.components || {});
48
- return _this;
49
- }
50
- _createClass(AtlaskitSelect, [{
51
- key: "UNSAFE_componentWillReceiveProps",
52
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
53
- this.cacheComponents(nextProps.components);
54
- }
55
- }, {
56
- key: "focus",
57
- value: function focus() {
58
- if (this.select) {
59
- this.select.focus();
60
- }
61
- }
62
- }, {
63
- key: "blur",
64
- value: function blur() {
65
- if (this.select) {
66
- this.select.blur();
67
- }
68
- }
69
- }, {
70
- key: "componentDidMount",
71
- value: function componentDidMount() {
72
- var descriptionId = this.props['aria-describedby'];
73
- if (!this.props.isSearchable && descriptionId) {
74
- var _this$select;
75
- // when isSearchable is false, react-select will create its own dummy input instead of using ours,
76
- // so we need to manually add the additional aria-describedby using ref.
77
- var input = (_this$select = this.select) === null || _this$select === void 0 ? void 0 : _this$select.inputRef;
78
- var ariaDescribedby = input === null || input === void 0 ? void 0 : input.getAttribute('aria-describedby');
79
- if (!(ariaDescribedby !== null && ariaDescribedby !== void 0 && ariaDescribedby.includes(descriptionId))) {
80
- input === null || input === void 0 || input.setAttribute('aria-describedby', "".concat(ariaDescribedby, " ").concat(descriptionId));
81
- }
15
+ var AtlaskitSelect = /*#__PURE__*/forwardRef(function AtlaskitSelect(props, forwardedRef) {
16
+ var appearance = props.appearance,
17
+ ariaLiveMessages = props.ariaLiveMessages,
18
+ componentsProp = props.components,
19
+ isInvalid = props.isInvalid,
20
+ _props$onClickPrevent = props.onClickPreventDefault,
21
+ onClickPreventDefault = _props$onClickPrevent === void 0 ? true : _props$onClickPrevent,
22
+ _props$spacing = props.spacing,
23
+ spacing = _props$spacing === void 0 ? 'default' : _props$spacing,
24
+ _props$styles = props.styles,
25
+ styles = _props$styles === void 0 ? {} : _props$styles,
26
+ _props$tabSelectsValu = props.tabSelectsValue,
27
+ tabSelectsValue = _props$tabSelectsValu === void 0 ? false : _props$tabSelectsValu,
28
+ _props$validationStat = props.validationState,
29
+ validationState = _props$validationStat === void 0 ? 'default' : _props$validationStat,
30
+ restProps = _objectWithoutProperties(props, _excluded);
31
+ var internalSelectRef = useRef(null);
32
+ var components = useMemo(function () {
33
+ return _objectSpread({
34
+ ClearIndicator: ClearIndicator,
35
+ DropdownIndicator: DropdownIndicator,
36
+ LoadingIndicator: LoadingIndicator,
37
+ MultiValueRemove: MultiValueRemove,
38
+ IndicatorSeparator: IndicatorSeparator,
39
+ Input: Input
40
+ }, componentsProp);
41
+ }, [componentsProp]);
42
+ var descriptionId = props['aria-describedby'];
43
+ var isSearchable = props.isSearchable;
44
+ useEffect(function () {
45
+ if (!isSearchable && descriptionId) {
46
+ var _internalSelectRef$cu;
47
+ // when isSearchable is false, react-select will create its own dummy input instead of using ours,
48
+ // so we need to manually add the additional aria-describedby using ref.
49
+ var input = (_internalSelectRef$cu = internalSelectRef.current) === null || _internalSelectRef$cu === void 0 ? void 0 : _internalSelectRef$cu.inputRef;
50
+ var ariaDescribedby = input === null || input === void 0 ? void 0 : input.getAttribute('aria-describedby');
51
+ if (!(ariaDescribedby !== null && ariaDescribedby !== void 0 && ariaDescribedby.includes(descriptionId))) {
52
+ input === null || input === void 0 || input.setAttribute('aria-describedby', "".concat(ariaDescribedby, " ").concat(descriptionId));
82
53
  }
83
54
  }
84
- }, {
85
- key: "render",
86
- value: function render() {
87
- var _this$props = this.props,
88
- styles = _this$props.styles,
89
- validationState = _this$props.validationState,
90
- isInvalid = _this$props.isInvalid,
91
- spacing = _this$props.spacing,
92
- isMulti = _this$props.isMulti,
93
- appearance = _this$props.appearance,
94
- ariaLiveMessages = _this$props.ariaLiveMessages,
95
- props = _objectWithoutProperties(_this$props, _excluded);
96
- var isCompact = spacing === 'compact';
97
-
98
- // props must be spread first to stop `components` being overridden
99
- return /*#__PURE__*/React.createElement(WrappedComponent, _extends({
100
- ref: this.onSelectRef,
101
- isMulti: isMulti,
102
- "aria-live": "assertive",
103
- ariaLiveMessages: isOptionsGrouped(this.props.options) ? _objectSpread({
104
- onFocus: onFocus
105
- }, ariaLiveMessages) : _objectSpread({}, ariaLiveMessages)
106
- }, props, {
107
- components: this.components,
108
- styles: mergeStyles(baseStyles(
109
- // This will cover both props for invalid state while giving priority to isInvalid. When cleaning up validationState, we can just keep the inner condition.
110
- typeof isInvalid !== 'undefined' ? isInvalid ? 'error' : 'default' : validationState, isCompact, this.props.appearance || 'default'), styles)
111
- }));
112
- }
113
- }]);
114
- return AtlaskitSelect;
115
- }(Component), _defineProperty(_class, "defaultProps", {
116
- validationState: 'default',
117
- // TODO: uncomment the next line when cleaning up validationState prop so it has a default value
118
- // isInvalid: false,
119
- spacing: 'default',
120
- onClickPreventDefault: true,
121
- tabSelectsValue: false,
122
- components: {
123
- Input: Input
124
- },
125
- styles: {}
126
- }), _class;
55
+ }, [descriptionId, isSearchable]);
56
+ var isCompact = spacing === 'compact';
57
+ return /*#__PURE__*/React.createElement(WrappedComponent
58
+ // @ts-ignore - mergeRefs only supports HTMLElement
59
+ , _extends({
60
+ ref: mergeRefs([forwardedRef, internalSelectRef]),
61
+ "aria-live": "assertive",
62
+ ariaLiveMessages: isOptionsGrouped(props.options) ? _objectSpread({
63
+ onFocus: onFocus
64
+ }, ariaLiveMessages) : _objectSpread({}, ariaLiveMessages),
65
+ tabSelectsValue: tabSelectsValue,
66
+ onClickPreventDefault: onClickPreventDefault
67
+ }, restProps, {
68
+ components: components,
69
+ styles: mergeStyles(baseStyles(
70
+ // This will cover both props for invalid state while giving priority to isInvalid. When cleaning up validationState, we can just keep the inner condition.
71
+ typeof isInvalid !== 'undefined' ? isInvalid ? 'error' : 'default' : validationState, isCompact, appearance || 'default'), styles)
72
+ }));
73
+ });
74
+ AtlaskitSelect.displayName = 'AtlaskitSelect';
75
+ return AtlaskitSelect;
127
76
  }
@@ -1,46 +1,5 @@
1
1
  /// <reference types="react" />
2
- declare const _default: {
3
- new <Option = import("./types").OptionType, IsMulti extends boolean = false>(props: import("./types").SelectProps<Option, IsMulti>): {
4
- components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>;
5
- select: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>> | null;
6
- UNSAFE_componentWillReceiveProps(nextProps: import("./types").SelectProps<Option, IsMulti>): void;
7
- cacheComponents: (components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>) => void;
8
- focus(): void;
9
- blur(): void;
10
- onSelectRef: (ref: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>) => void;
11
- componentDidMount(): void;
12
- render(): JSX.Element;
13
- context: any;
14
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
15
- forceUpdate(callback?: (() => void) | undefined): void;
16
- readonly props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>> & Readonly<{
17
- children?: import("react").ReactNode;
18
- }>;
19
- state: Readonly<{}>;
20
- refs: {
21
- [key: string]: import("react").ReactInstance;
22
- };
23
- shouldComponentUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): boolean;
24
- componentWillUnmount?(): void;
25
- componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
26
- getSnapshotBeforeUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>): any;
27
- componentDidUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>, snapshot?: any): void;
28
- componentWillMount?(): void;
29
- UNSAFE_componentWillMount?(): void;
30
- componentWillReceiveProps?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextContext: any): void;
31
- componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
32
- UNSAFE_componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
33
- };
34
- defaultProps: {
35
- validationState: string;
36
- spacing: string;
37
- onClickPreventDefault: boolean;
38
- tabSelectsValue: boolean;
39
- components: {
40
- Input: (props: import("react-select").InputProps) => JSX.Element;
41
- };
42
- styles: {};
43
- };
44
- contextType?: import("react").Context<any> | undefined;
45
- };
2
+ declare const _default: <Option extends unknown = import("./types").OptionType, IsMulti extends boolean = false>(props: (import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>) & {
3
+ ref?: import("react").Ref<import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>> | undefined;
4
+ }) => JSX.Element;
46
5
  export default _default;
@@ -1,46 +1,5 @@
1
1
  /// <reference types="react" />
2
- declare const _default: {
3
- new <Option = import("./types").OptionType, IsMulti extends boolean = false>(props: import("./types").SelectProps<Option, IsMulti>): {
4
- components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>;
5
- select: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>> | null;
6
- UNSAFE_componentWillReceiveProps(nextProps: import("./types").SelectProps<Option, IsMulti>): void;
7
- cacheComponents: (components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>) => void;
8
- focus(): void;
9
- blur(): void;
10
- onSelectRef: (ref: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>) => void;
11
- componentDidMount(): void;
12
- render(): JSX.Element;
13
- context: any;
14
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
15
- forceUpdate(callback?: (() => void) | undefined): void;
16
- readonly props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>> & Readonly<{
17
- children?: import("react").ReactNode;
18
- }>;
19
- state: Readonly<{}>;
20
- refs: {
21
- [key: string]: import("react").ReactInstance;
22
- };
23
- shouldComponentUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): boolean;
24
- componentWillUnmount?(): void;
25
- componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
26
- getSnapshotBeforeUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>): any;
27
- componentDidUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>, snapshot?: any): void;
28
- componentWillMount?(): void;
29
- UNSAFE_componentWillMount?(): void;
30
- componentWillReceiveProps?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextContext: any): void;
31
- componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
32
- UNSAFE_componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
33
- };
34
- defaultProps: {
35
- validationState: string;
36
- spacing: string;
37
- onClickPreventDefault: boolean;
38
- tabSelectsValue: boolean;
39
- components: {
40
- Input: (props: import("react-select").InputProps) => JSX.Element;
41
- };
42
- styles: {};
43
- };
44
- contextType?: import("react").Context<any> | undefined;
45
- };
2
+ declare const _default: <Option extends unknown = import("./types").OptionType, IsMulti extends boolean = false>(props: (import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>) & {
3
+ ref?: import("react").Ref<import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>> | undefined;
4
+ }) => JSX.Element;
46
5
  export default _default;
@@ -1,46 +1,5 @@
1
1
  /// <reference types="react" />
2
- declare const _default: {
3
- new <Option = import("./types").OptionType, IsMulti extends boolean = false>(props: import("./types").SelectProps<Option, IsMulti>): {
4
- components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>;
5
- select: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>> | null;
6
- UNSAFE_componentWillReceiveProps(nextProps: import("./types").SelectProps<Option, IsMulti>): void;
7
- cacheComponents: (components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>) => void;
8
- focus(): void;
9
- blur(): void;
10
- onSelectRef: (ref: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>) => void;
11
- componentDidMount(): void;
12
- render(): JSX.Element;
13
- context: any;
14
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
15
- forceUpdate(callback?: (() => void) | undefined): void;
16
- readonly props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>> & Readonly<{
17
- children?: import("react").ReactNode;
18
- }>;
19
- state: Readonly<{}>;
20
- refs: {
21
- [key: string]: import("react").ReactInstance;
22
- };
23
- shouldComponentUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): boolean;
24
- componentWillUnmount?(): void;
25
- componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
26
- getSnapshotBeforeUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>): any;
27
- componentDidUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>, snapshot?: any): void;
28
- componentWillMount?(): void;
29
- UNSAFE_componentWillMount?(): void;
30
- componentWillReceiveProps?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextContext: any): void;
31
- componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
32
- UNSAFE_componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
33
- };
34
- defaultProps: {
35
- validationState: string;
36
- spacing: string;
37
- onClickPreventDefault: boolean;
38
- tabSelectsValue: boolean;
39
- components: {
40
- Input: (props: import("react-select").InputProps) => JSX.Element;
41
- };
42
- styles: {};
43
- };
44
- contextType?: import("react").Context<any> | undefined;
45
- };
2
+ declare const _default: <Option extends unknown = import("./types").OptionType, IsMulti extends boolean = false>(props: (import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>) & {
3
+ ref?: import("react").Ref<import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>> | undefined;
4
+ }) => JSX.Element;
46
5
  export default _default;
@@ -1,90 +1,8 @@
1
1
  /// <reference types="react" />
2
- export declare const SelectWithoutAnalytics: {
3
- new <Option = import("./types").OptionType, IsMulti extends boolean = false>(props: import("./types").SelectProps<Option, IsMulti>): {
4
- components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>;
5
- select: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>> | null;
6
- UNSAFE_componentWillReceiveProps(nextProps: import("./types").SelectProps<Option, IsMulti>): void;
7
- cacheComponents: (components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>) => void;
8
- focus(): void;
9
- blur(): void;
10
- onSelectRef: (ref: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>) => void;
11
- componentDidMount(): void;
12
- render(): JSX.Element;
13
- context: any;
14
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
15
- forceUpdate(callback?: (() => void) | undefined): void;
16
- readonly props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>> & Readonly<{
17
- children?: import("react").ReactNode;
18
- }>;
19
- state: Readonly<{}>;
20
- refs: {
21
- [key: string]: import("react").ReactInstance;
22
- };
23
- shouldComponentUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): boolean;
24
- componentWillUnmount?(): void;
25
- componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
26
- getSnapshotBeforeUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>): any;
27
- componentDidUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>, snapshot?: any): void;
28
- componentWillMount?(): void;
29
- UNSAFE_componentWillMount?(): void;
30
- componentWillReceiveProps?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextContext: any): void;
31
- componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
32
- UNSAFE_componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
33
- };
34
- defaultProps: {
35
- validationState: string;
36
- spacing: string;
37
- onClickPreventDefault: boolean;
38
- tabSelectsValue: boolean;
39
- components: {
40
- Input: (props: import("react-select").InputProps) => JSX.Element;
41
- };
42
- styles: {};
43
- };
44
- contextType?: import("react").Context<any> | undefined;
45
- };
46
- declare const Select: {
47
- new <Option = import("./types").OptionType, IsMulti extends boolean = false>(props: import("./types").SelectProps<Option, IsMulti>): {
48
- components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>;
49
- select: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>> | null;
50
- UNSAFE_componentWillReceiveProps(nextProps: import("./types").SelectProps<Option, IsMulti>): void;
51
- cacheComponents: (components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>) => void;
52
- focus(): void;
53
- blur(): void;
54
- onSelectRef: (ref: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>) => void;
55
- componentDidMount(): void;
56
- render(): JSX.Element;
57
- context: any;
58
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
59
- forceUpdate(callback?: (() => void) | undefined): void;
60
- readonly props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>> & Readonly<{
61
- children?: import("react").ReactNode;
62
- }>;
63
- state: Readonly<{}>;
64
- refs: {
65
- [key: string]: import("react").ReactInstance;
66
- };
67
- shouldComponentUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): boolean;
68
- componentWillUnmount?(): void;
69
- componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
70
- getSnapshotBeforeUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>): any;
71
- componentDidUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>, snapshot?: any): void;
72
- componentWillMount?(): void;
73
- UNSAFE_componentWillMount?(): void;
74
- componentWillReceiveProps?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextContext: any): void;
75
- componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
76
- UNSAFE_componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
77
- };
78
- defaultProps: {
79
- validationState: string;
80
- spacing: string;
81
- onClickPreventDefault: boolean;
82
- tabSelectsValue: boolean;
83
- components: {
84
- Input: (props: import("react-select").InputProps) => JSX.Element;
85
- };
86
- styles: {};
87
- };
88
- contextType?: import("react").Context<any> | undefined;
89
- };
2
+ export declare const SelectWithoutAnalytics: <Option extends unknown = import("./types").OptionType, IsMulti extends boolean = false>(props: (import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>) & {
3
+ ref?: import("react").Ref<import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>> | undefined;
4
+ }) => JSX.Element;
5
+ declare const Select: <Option extends unknown = import("./types").OptionType, IsMulti extends boolean = false>(props: (import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>) & {
6
+ ref?: import("react").Ref<import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>> | undefined;
7
+ }) => JSX.Element;
90
8
  export default Select;
@@ -1,5 +1,6 @@
1
- import { FC } from 'react';
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/react';
2
3
  import { ClearIndicatorProps, DropdownIndicatorProps, LoadingIndicatorProps } from '../types';
3
- export declare const ClearIndicator: FC<ClearIndicatorProps<any>>;
4
- export declare const DropdownIndicator: FC<DropdownIndicatorProps<any>>;
5
- export declare const LoadingIndicator: FC<LoadingIndicatorProps<any>>;
4
+ export declare const ClearIndicator: <Option extends unknown, IsMulti extends boolean = false>(props: ClearIndicatorProps<Option, IsMulti>) => jsx.JSX.Element;
5
+ export declare const DropdownIndicator: <Option extends unknown, IsMulti extends boolean = false>(props: DropdownIndicatorProps<Option, IsMulti>) => jsx.JSX.Element;
6
+ export declare const LoadingIndicator: <Option extends unknown, IsMulti extends boolean = false>(props: LoadingIndicatorProps<Option, IsMulti>) => jsx.JSX.Element;
@@ -1,3 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { InputProps } from 'react-select';
3
- export declare const Input: (props: InputProps) => JSX.Element;
3
+ import type { OptionType } from '../types';
4
+ export declare function Input<Option = OptionType, IsMulti extends boolean = false>(props: InputProps<Option, IsMulti>): JSX.Element;
@@ -1,48 +1,8 @@
1
- import React, { ComponentType } from 'react';
2
- import { type GroupBase } from 'react-select';
1
+ import { type ComponentType, type Ref } from 'react';
3
2
  import BaseSelect from 'react-select/base';
4
3
  import { SelectProps, OptionType, AsyncSelectProps, CreatableSelectProps } from './types';
5
- export default function createSelect(WrappedComponent: ComponentType<any>): {
6
- new <Option = OptionType, IsMulti extends boolean = false>(props: SelectProps<Option, IsMulti>): {
7
- components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, GroupBase<Option>>>;
8
- select: BaseSelect | null;
9
- UNSAFE_componentWillReceiveProps(nextProps: SelectProps<Option, IsMulti>): void;
10
- cacheComponents: (components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, GroupBase<Option>>>) => void;
11
- focus(): void;
12
- blur(): void;
13
- onSelectRef: (ref: BaseSelect) => void;
14
- componentDidMount(): void;
15
- render(): JSX.Element;
16
- context: any;
17
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<SelectProps<Option, IsMulti> | AsyncSelectProps<Option, IsMulti> | CreatableSelectProps<Option, IsMulti>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
18
- forceUpdate(callback?: (() => void) | undefined): void;
19
- readonly props: Readonly<SelectProps<Option, IsMulti> | AsyncSelectProps<Option, IsMulti> | CreatableSelectProps<Option, IsMulti>> & Readonly<{
20
- children?: React.ReactNode;
21
- }>;
22
- state: Readonly<{}>;
23
- refs: {
24
- [key: string]: React.ReactInstance;
25
- };
26
- shouldComponentUpdate?(nextProps: Readonly<SelectProps<Option, IsMulti> | AsyncSelectProps<Option, IsMulti> | CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): boolean;
27
- componentWillUnmount?(): void;
28
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
29
- getSnapshotBeforeUpdate?(prevProps: Readonly<SelectProps<Option, IsMulti> | AsyncSelectProps<Option, IsMulti> | CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>): any;
30
- componentDidUpdate?(prevProps: Readonly<SelectProps<Option, IsMulti> | AsyncSelectProps<Option, IsMulti> | CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>, snapshot?: any): void;
31
- componentWillMount?(): void;
32
- UNSAFE_componentWillMount?(): void;
33
- componentWillReceiveProps?(nextProps: Readonly<SelectProps<Option, IsMulti> | AsyncSelectProps<Option, IsMulti> | CreatableSelectProps<Option, IsMulti>>, nextContext: any): void;
34
- componentWillUpdate?(nextProps: Readonly<SelectProps<Option, IsMulti> | AsyncSelectProps<Option, IsMulti> | CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
35
- UNSAFE_componentWillUpdate?(nextProps: Readonly<SelectProps<Option, IsMulti> | AsyncSelectProps<Option, IsMulti> | CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
36
- };
37
- defaultProps: {
38
- validationState: string;
39
- spacing: string;
40
- onClickPreventDefault: boolean;
41
- tabSelectsValue: boolean;
42
- components: {
43
- Input: (props: import("react-select").InputProps) => JSX.Element;
44
- };
45
- styles: {};
46
- };
47
- contextType?: React.Context<any> | undefined;
48
- };
4
+ type AtlaskitSelectProps<Option extends unknown, IsMulti extends boolean> = SelectProps<Option, IsMulti> | AsyncSelectProps<Option, IsMulti> | CreatableSelectProps<Option, IsMulti>;
5
+ export default function createSelect(WrappedComponent: ComponentType<any>): <Option extends unknown = OptionType, IsMulti extends boolean = false>(props: AtlaskitSelectProps<Option, IsMulti> & {
6
+ ref?: Ref<BaseSelect>;
7
+ }) => JSX.Element;
8
+ export {};
@@ -1,4 +1,4 @@
1
1
  import { AriaOnFocusProps, GroupBase, OptionsOrGroups } from 'react-select';
2
2
  import { GroupType, OptionType } from '../types';
3
3
  export declare function onFocus(props: AriaOnFocusProps<OptionType, GroupBase<OptionType>>): string;
4
- export declare const isOptionsGrouped: (arr: OptionsOrGroups<OptionType, GroupType<OptionType>>) => boolean;
4
+ export declare const isOptionsGrouped: (arr: OptionsOrGroups<OptionType, GroupType<OptionType>> | undefined) => boolean | undefined;
@@ -1,46 +1,5 @@
1
1
  /// <reference types="react" />
2
- declare const _default: {
3
- new <Option = import("./types").OptionType, IsMulti extends boolean = false>(props: import("./types").SelectProps<Option, IsMulti>): {
4
- components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>;
5
- select: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>> | null;
6
- UNSAFE_componentWillReceiveProps(nextProps: import("./types").SelectProps<Option, IsMulti>): void;
7
- cacheComponents: (components: Partial<import("react-select/dist/declarations/src/components").SelectComponents<Option, IsMulti, import("react-select").GroupBase<Option>>>) => void;
8
- focus(): void;
9
- blur(): void;
10
- onSelectRef: (ref: import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>) => void;
11
- componentDidMount(): void;
12
- render(): JSX.Element;
13
- context: any;
14
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
15
- forceUpdate(callback?: (() => void) | undefined): void;
16
- readonly props: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>> & Readonly<{
17
- children?: import("react").ReactNode;
18
- }>;
19
- state: Readonly<{}>;
20
- refs: {
21
- [key: string]: import("react").ReactInstance;
22
- };
23
- shouldComponentUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): boolean;
24
- componentWillUnmount?(): void;
25
- componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
26
- getSnapshotBeforeUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>): any;
27
- componentDidUpdate?(prevProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, prevState: Readonly<{}>, snapshot?: any): void;
28
- componentWillMount?(): void;
29
- UNSAFE_componentWillMount?(): void;
30
- componentWillReceiveProps?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextContext: any): void;
31
- componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
32
- UNSAFE_componentWillUpdate?(nextProps: Readonly<import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>>, nextState: Readonly<{}>, nextContext: any): void;
33
- };
34
- defaultProps: {
35
- validationState: string;
36
- spacing: string;
37
- onClickPreventDefault: boolean;
38
- tabSelectsValue: boolean;
39
- components: {
40
- Input: (props: import("react-select").InputProps) => JSX.Element;
41
- };
42
- styles: {};
43
- };
44
- contextType?: import("react").Context<any> | undefined;
45
- };
2
+ declare const _default: <Option extends unknown = import("./types").OptionType, IsMulti extends boolean = false>(props: (import("./types").SelectProps<Option, IsMulti> | import("./types").AsyncSelectProps<Option, IsMulti> | import("./types").CreatableSelectProps<Option, IsMulti>) & {
3
+ ref?: import("react").Ref<import("react-select/base").default<unknown, false, import("react-select").GroupBase<unknown>>> | undefined;
4
+ }) => JSX.Element;
46
5
  export default _default;