@commercetools-uikit/async-select-input 14.0.0 → 14.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -125,36 +125,35 @@ In case you need one of the currently excluded props, feel free to open a PR add
125
125
 
126
126
  #### `isTouched(touched)`
127
127
 
128
- Expects to be called with an array or boolean.
129
- Returns `true` when truthy.
128
+ Returns truthy value for the Formik `touched` value of this input field.
130
129
 
131
- #### Components
130
+ ## Components
132
131
 
133
- It is possible to customize `SelectInput` by passing the `components` property.
134
- `SelectInput` exports the default underlying components as static exports.
132
+ It is possible to customize `AsyncSelectInput` by passing the `components` property.
133
+ `AsyncSelectInput` exports the default underlying components as static exports.
135
134
 
136
135
  Components available as static exports are:
137
136
 
138
137
  - `ClearIndicator`
139
138
  - `Control`
140
- - `DropdownIndicator`
141
- - `DownChevron`
142
139
  - `CrossIcon`
140
+ - `DownChevron`
141
+ - `DropdownIndicator`
143
142
  - `Group`
144
143
  - `GroupHeading`
145
144
  - `IndicatorsContainer`
146
145
  - `IndicatorSeparator`
147
146
  - `Input`
148
147
  - `LoadingIndicator`
148
+ - `LoadingMessage`
149
149
  - `Menu`
150
150
  - `MenuList`
151
151
  - `MenuPortal`
152
- - `LoadingMessage`
153
- - `NoOptionsMessage`
154
152
  - `MultiValue`
155
153
  - `MultiValueContainer`
156
154
  - `MultiValueLabel`
157
155
  - `MultiValueRemove`
156
+ - `NoOptionsMessage`
158
157
  - `Option`
159
158
  - `Placeholder`
160
159
  - `SelectContainer`
@@ -178,11 +178,7 @@ var AsyncSelectInput = function AsyncSelectInput(props) {
178
178
  })
179
179
  }))
180
180
  });
181
- }; // Formik will set the field to an array on submission, so we always have to
182
- // deal with an array. The touched state ends up being an empty array in case
183
- // values were removed only. So we have to treat any array we receive as
184
- // a signal of the field having been touched.
185
-
181
+ };
186
182
 
187
183
  AsyncSelectInput.propTypes = process.env.NODE_ENV !== "production" ? {
188
184
  horizontalConstraint: _pt__default["default"].oneOf([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
@@ -198,20 +194,57 @@ AsyncSelectInput.propTypes = process.env.NODE_ENV !== "production" ? {
198
194
  showOptionGroupDivider: _pt__default["default"].bool,
199
195
  iconLeft: _pt__default["default"].node
200
196
  } : {};
197
+ AsyncSelectInput.displayName = 'AsyncSelectInput';
198
+ AsyncSelectInput.defaultProps = defaultProps;
199
+ /**
200
+ * Expose static helper methods.
201
+ */
202
+ // Formik will set the field to an array on submission, so we always have to
203
+ // deal with an array. The touched state ends up being an empty array in case
204
+ // values were removed only. So we have to treat any array we receive as
205
+ // a signal of the field having been touched.
201
206
 
202
207
  AsyncSelectInput.isTouched = function (touched) {
203
208
  return Boolean(touched);
204
209
  };
205
-
206
- AsyncSelectInput.displayName = 'AsyncSelectInput';
207
- AsyncSelectInput.defaultProps = defaultProps;
208
- utils.addStaticFields(AsyncSelectInput, _objectSpread(_objectSpread(_objectSpread({}, reactSelect.components), customizedComponents), {}, {
209
- isTouched: AsyncSelectInput.isTouched
210
- }));
210
+ /**
211
+ * Expose react-select components for customization purposes.
212
+ */
213
+ // custom
214
+
215
+
216
+ AsyncSelectInput.ClearIndicator = customizedComponents.ClearIndicator;
217
+ AsyncSelectInput.Control = reactSelect.components.Control;
218
+ AsyncSelectInput.CrossIcon = reactSelect.components.CrossIcon;
219
+ AsyncSelectInput.DownChevron = reactSelect.components.DownChevron; // custom
220
+
221
+ AsyncSelectInput.DropdownIndicator = customizedComponents.DropdownIndicator;
222
+ AsyncSelectInput.Group = reactSelect.components.Group;
223
+ AsyncSelectInput.GroupHeading = reactSelect.components.GroupHeading;
224
+ AsyncSelectInput.IndicatorSeparator = reactSelect.components.IndicatorSeparator;
225
+ AsyncSelectInput.IndicatorsContainer = reactSelect.components.IndicatorsContainer;
226
+ AsyncSelectInput.Input = reactSelect.components.Input; // custom
227
+
228
+ AsyncSelectInput.LoadingIndicator = customizedComponents.LoadingIndicator;
229
+ AsyncSelectInput.LoadingMessage = reactSelect.components.LoadingMessage;
230
+ AsyncSelectInput.Menu = reactSelect.components.Menu;
231
+ AsyncSelectInput.MenuList = reactSelect.components.MenuList;
232
+ AsyncSelectInput.MenuPortal = reactSelect.components.MenuPortal;
233
+ AsyncSelectInput.MultiValue = reactSelect.components.MultiValue;
234
+ AsyncSelectInput.MultiValueContainer = reactSelect.components.MultiValueContainer;
235
+ AsyncSelectInput.MultiValueLabel = reactSelect.components.MultiValueLabel; // custom
236
+
237
+ AsyncSelectInput.MultiValueRemove = customizedComponents.MultiValueRemove;
238
+ AsyncSelectInput.NoOptionsMessage = reactSelect.components.NoOptionsMessage;
239
+ AsyncSelectInput.Option = reactSelect.components.Option;
240
+ AsyncSelectInput.Placeholder = reactSelect.components.Placeholder;
241
+ AsyncSelectInput.SelectContainer = reactSelect.components.SelectContainer;
242
+ AsyncSelectInput.SingleValue = reactSelect.components.SingleValue;
243
+ AsyncSelectInput.ValueContainer = reactSelect.components.ValueContainer;
211
244
  var AsyncSelectInput$1 = AsyncSelectInput;
212
245
 
213
246
  // NOTE: This string will be replaced on build time with the package version.
214
- var version = "14.0.0";
247
+ var version = "14.0.1";
215
248
 
216
249
  exports["default"] = AsyncSelectInput$1;
217
250
  exports.version = version;
@@ -177,27 +177,60 @@ var AsyncSelectInput = function AsyncSelectInput(props) {
177
177
  })
178
178
  }))
179
179
  });
180
- }; // Formik will set the field to an array on submission, so we always have to
180
+ };
181
+
182
+ AsyncSelectInput.propTypes = {};
183
+ AsyncSelectInput.displayName = 'AsyncSelectInput';
184
+ AsyncSelectInput.defaultProps = defaultProps;
185
+ /**
186
+ * Expose static helper methods.
187
+ */
188
+ // Formik will set the field to an array on submission, so we always have to
181
189
  // deal with an array. The touched state ends up being an empty array in case
182
190
  // values were removed only. So we have to treat any array we receive as
183
191
  // a signal of the field having been touched.
184
192
 
185
-
186
- AsyncSelectInput.propTypes = {};
187
-
188
193
  AsyncSelectInput.isTouched = function (touched) {
189
194
  return Boolean(touched);
190
195
  };
191
-
192
- AsyncSelectInput.displayName = 'AsyncSelectInput';
193
- AsyncSelectInput.defaultProps = defaultProps;
194
- utils.addStaticFields(AsyncSelectInput, _objectSpread(_objectSpread(_objectSpread({}, reactSelect.components), customizedComponents), {}, {
195
- isTouched: AsyncSelectInput.isTouched
196
- }));
196
+ /**
197
+ * Expose react-select components for customization purposes.
198
+ */
199
+ // custom
200
+
201
+
202
+ AsyncSelectInput.ClearIndicator = customizedComponents.ClearIndicator;
203
+ AsyncSelectInput.Control = reactSelect.components.Control;
204
+ AsyncSelectInput.CrossIcon = reactSelect.components.CrossIcon;
205
+ AsyncSelectInput.DownChevron = reactSelect.components.DownChevron; // custom
206
+
207
+ AsyncSelectInput.DropdownIndicator = customizedComponents.DropdownIndicator;
208
+ AsyncSelectInput.Group = reactSelect.components.Group;
209
+ AsyncSelectInput.GroupHeading = reactSelect.components.GroupHeading;
210
+ AsyncSelectInput.IndicatorSeparator = reactSelect.components.IndicatorSeparator;
211
+ AsyncSelectInput.IndicatorsContainer = reactSelect.components.IndicatorsContainer;
212
+ AsyncSelectInput.Input = reactSelect.components.Input; // custom
213
+
214
+ AsyncSelectInput.LoadingIndicator = customizedComponents.LoadingIndicator;
215
+ AsyncSelectInput.LoadingMessage = reactSelect.components.LoadingMessage;
216
+ AsyncSelectInput.Menu = reactSelect.components.Menu;
217
+ AsyncSelectInput.MenuList = reactSelect.components.MenuList;
218
+ AsyncSelectInput.MenuPortal = reactSelect.components.MenuPortal;
219
+ AsyncSelectInput.MultiValue = reactSelect.components.MultiValue;
220
+ AsyncSelectInput.MultiValueContainer = reactSelect.components.MultiValueContainer;
221
+ AsyncSelectInput.MultiValueLabel = reactSelect.components.MultiValueLabel; // custom
222
+
223
+ AsyncSelectInput.MultiValueRemove = customizedComponents.MultiValueRemove;
224
+ AsyncSelectInput.NoOptionsMessage = reactSelect.components.NoOptionsMessage;
225
+ AsyncSelectInput.Option = reactSelect.components.Option;
226
+ AsyncSelectInput.Placeholder = reactSelect.components.Placeholder;
227
+ AsyncSelectInput.SelectContainer = reactSelect.components.SelectContainer;
228
+ AsyncSelectInput.SingleValue = reactSelect.components.SingleValue;
229
+ AsyncSelectInput.ValueContainer = reactSelect.components.ValueContainer;
197
230
  var AsyncSelectInput$1 = AsyncSelectInput;
198
231
 
199
232
  // NOTE: This string will be replaced on build time with the package version.
200
- var version = "14.0.0";
233
+ var version = "14.0.1";
201
234
 
202
235
  exports["default"] = AsyncSelectInput$1;
203
236
  exports.version = version;
@@ -13,7 +13,7 @@ import isEmpty from 'lodash/isEmpty';
13
13
  import { useTheme } from '@emotion/react';
14
14
  import { components } from 'react-select';
15
15
  import AsyncSelect from 'react-select/async';
16
- import { filterDataAttributes, addStaticFields } from '@commercetools-uikit/utils';
16
+ import { filterDataAttributes } from '@commercetools-uikit/utils';
17
17
  import Constraints from '@commercetools-uikit/constraints';
18
18
  import LoadingSpinner from '@commercetools-uikit/loading-spinner';
19
19
  import { messages, customComponentsWithIcons, createSelectStyles, DropdownIndicator, ClearIndicator, TagRemove } from '@commercetools-uikit/select-utils';
@@ -158,11 +158,7 @@ var AsyncSelectInput = function AsyncSelectInput(props) {
158
158
  })
159
159
  }))
160
160
  });
161
- }; // Formik will set the field to an array on submission, so we always have to
162
- // deal with an array. The touched state ends up being an empty array in case
163
- // values were removed only. So we have to treat any array we receive as
164
- // a signal of the field having been touched.
165
-
161
+ };
166
162
 
167
163
  AsyncSelectInput.propTypes = process.env.NODE_ENV !== "production" ? {
168
164
  horizontalConstraint: _pt.oneOf([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
@@ -178,19 +174,56 @@ AsyncSelectInput.propTypes = process.env.NODE_ENV !== "production" ? {
178
174
  showOptionGroupDivider: _pt.bool,
179
175
  iconLeft: _pt.node
180
176
  } : {};
177
+ AsyncSelectInput.displayName = 'AsyncSelectInput';
178
+ AsyncSelectInput.defaultProps = defaultProps;
179
+ /**
180
+ * Expose static helper methods.
181
+ */
182
+ // Formik will set the field to an array on submission, so we always have to
183
+ // deal with an array. The touched state ends up being an empty array in case
184
+ // values were removed only. So we have to treat any array we receive as
185
+ // a signal of the field having been touched.
181
186
 
182
187
  AsyncSelectInput.isTouched = function (touched) {
183
188
  return Boolean(touched);
184
189
  };
185
-
186
- AsyncSelectInput.displayName = 'AsyncSelectInput';
187
- AsyncSelectInput.defaultProps = defaultProps;
188
- addStaticFields(AsyncSelectInput, _objectSpread(_objectSpread(_objectSpread({}, components), customizedComponents), {}, {
189
- isTouched: AsyncSelectInput.isTouched
190
- }));
190
+ /**
191
+ * Expose react-select components for customization purposes.
192
+ */
193
+ // custom
194
+
195
+
196
+ AsyncSelectInput.ClearIndicator = customizedComponents.ClearIndicator;
197
+ AsyncSelectInput.Control = components.Control;
198
+ AsyncSelectInput.CrossIcon = components.CrossIcon;
199
+ AsyncSelectInput.DownChevron = components.DownChevron; // custom
200
+
201
+ AsyncSelectInput.DropdownIndicator = customizedComponents.DropdownIndicator;
202
+ AsyncSelectInput.Group = components.Group;
203
+ AsyncSelectInput.GroupHeading = components.GroupHeading;
204
+ AsyncSelectInput.IndicatorSeparator = components.IndicatorSeparator;
205
+ AsyncSelectInput.IndicatorsContainer = components.IndicatorsContainer;
206
+ AsyncSelectInput.Input = components.Input; // custom
207
+
208
+ AsyncSelectInput.LoadingIndicator = customizedComponents.LoadingIndicator;
209
+ AsyncSelectInput.LoadingMessage = components.LoadingMessage;
210
+ AsyncSelectInput.Menu = components.Menu;
211
+ AsyncSelectInput.MenuList = components.MenuList;
212
+ AsyncSelectInput.MenuPortal = components.MenuPortal;
213
+ AsyncSelectInput.MultiValue = components.MultiValue;
214
+ AsyncSelectInput.MultiValueContainer = components.MultiValueContainer;
215
+ AsyncSelectInput.MultiValueLabel = components.MultiValueLabel; // custom
216
+
217
+ AsyncSelectInput.MultiValueRemove = customizedComponents.MultiValueRemove;
218
+ AsyncSelectInput.NoOptionsMessage = components.NoOptionsMessage;
219
+ AsyncSelectInput.Option = components.Option;
220
+ AsyncSelectInput.Placeholder = components.Placeholder;
221
+ AsyncSelectInput.SelectContainer = components.SelectContainer;
222
+ AsyncSelectInput.SingleValue = components.SingleValue;
223
+ AsyncSelectInput.ValueContainer = components.ValueContainer;
191
224
  var AsyncSelectInput$1 = AsyncSelectInput;
192
225
 
193
226
  // NOTE: This string will be replaced on build time with the package version.
194
- var version = "14.0.0";
227
+ var version = "14.0.1";
195
228
 
196
229
  export { AsyncSelectInput$1 as default, version };
@@ -54,8 +54,63 @@ declare type TAsyncSelectInputProps = {
54
54
  };
55
55
  declare const AsyncSelectInput: {
56
56
  (props: TAsyncSelectInputProps): import("@emotion/react/jsx-runtime").JSX.Element;
57
- isTouched(touched: unknown): boolean;
58
57
  displayName: string;
59
58
  defaultProps: Pick<TAsyncSelectInputProps, "value" | "isSearchable" | "menuPortalZIndex">;
59
+ isTouched(touched: unknown): boolean;
60
+ ClearIndicator: {
61
+ (props: {
62
+ innerProps: {
63
+ ref: import("react").LegacyRef<HTMLButtonElement>;
64
+ } & import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement>;
65
+ } & import("react-select").ClearIndicatorProps<unknown, boolean, GroupBase<unknown>>): import("@emotion/react/jsx-runtime").JSX.Element;
66
+ displayName: string;
67
+ };
68
+ Control: <Option_1, IsMulti_1 extends boolean, Group_1 extends GroupBase<Option_1>>(props: import("react-select").ControlProps<Option_1, IsMulti_1, Group_1>) => import("@emotion/react").jsx.JSX.Element;
69
+ CrossIcon: (props: import("react-select/dist/declarations/src/components/indicators").CrossIconProps) => import("@emotion/react").jsx.JSX.Element;
70
+ DownChevron: (props: import("react-select/dist/declarations/src/components/indicators").DownChevronProps) => import("@emotion/react").jsx.JSX.Element;
71
+ DropdownIndicator: {
72
+ (props: import("react-select").DropdownIndicatorProps<unknown, boolean, GroupBase<unknown>>): import("@emotion/react/jsx-runtime").JSX.Element;
73
+ displayName: string;
74
+ };
75
+ Group: <Option_3, IsMulti_3 extends boolean, Group_3 extends GroupBase<Option_3>>(props: import("react-select").GroupProps<Option_3, IsMulti_3, Group_3>) => import("@emotion/react").jsx.JSX.Element;
76
+ GroupHeading: <Option_4, IsMulti_4 extends boolean, Group_4 extends GroupBase<Option_4>>(props: import("react-select").GroupHeadingProps<Option_4, IsMulti_4, Group_4>) => import("@emotion/react").jsx.JSX.Element;
77
+ IndicatorSeparator: <Option_6, IsMulti_6 extends boolean, Group_6 extends GroupBase<Option_6>>(props: import("react-select").IndicatorSeparatorProps<Option_6, IsMulti_6, Group_6>) => import("@emotion/react").jsx.JSX.Element;
78
+ IndicatorsContainer: <Option_5, IsMulti_5 extends boolean, Group_5 extends GroupBase<Option_5>>(props: import("react-select").IndicatorsContainerProps<Option_5, IsMulti_5, Group_5>) => import("@emotion/react").jsx.JSX.Element;
79
+ Input: <Option_7, IsMulti_7 extends boolean, Group_7 extends GroupBase<Option_7>>(props: import("react-select").InputProps<Option_7, IsMulti_7, Group_7>) => import("@emotion/react").jsx.JSX.Element;
80
+ LoadingIndicator: {
81
+ (): import("@emotion/react/jsx-runtime").JSX.Element;
82
+ displayName: string;
83
+ };
84
+ LoadingMessage: {
85
+ <Option_11, IsMulti_11 extends boolean, Group_11 extends GroupBase<Option_11>>(props: import("react-select").NoticeProps<Option_11, IsMulti_11, Group_11>): import("@emotion/react").jsx.JSX.Element;
86
+ defaultProps: {
87
+ children: string;
88
+ };
89
+ };
90
+ Menu: <Option_9, IsMulti_9 extends boolean, Group_9 extends GroupBase<Option_9>>(props: import("react-select").MenuProps<Option_9, IsMulti_9, Group_9>) => import("@emotion/react").jsx.JSX.Element;
91
+ MenuList: <Option_10, IsMulti_10 extends boolean, Group_10 extends GroupBase<Option_10>>(props: import("react-select").MenuListProps<Option_10, IsMulti_10, Group_10>) => import("@emotion/react").jsx.JSX.Element;
92
+ MenuPortal: typeof import("react-select/dist/declarations/src/components/Menu").MenuPortal;
93
+ MultiValue: <Option_13, IsMulti_13 extends boolean, Group_13 extends GroupBase<Option_13>>(props: import("react-select").MultiValueProps<Option_13, IsMulti_13, Group_13>) => import("@emotion/react").jsx.JSX.Element;
94
+ MultiValueContainer: <Option_14, IsMulti_14 extends boolean, Group_14 extends GroupBase<Option_14>>({ children, innerProps, }: import("react-select").MultiValueGenericProps<Option_14, IsMulti_14, Group_14>) => import("@emotion/react").jsx.JSX.Element;
95
+ MultiValueLabel: <Option_14_1, IsMulti_14_1 extends boolean, Group_14_1 extends GroupBase<Option_14_1>>({ children, innerProps, }: import("react-select").MultiValueGenericProps<Option_14_1, IsMulti_14_1, Group_14_1>) => import("@emotion/react").jsx.JSX.Element;
96
+ MultiValueRemove: {
97
+ (props: {
98
+ selectProps: {
99
+ isReadOnly: boolean;
100
+ } & import("react-select/dist/declarations/src/Select").Props<unknown, boolean, GroupBase<unknown>>;
101
+ } & import("react-select").MultiValueGenericProps<unknown, boolean, GroupBase<unknown>>): import("@emotion/react/jsx-runtime").JSX.Element;
102
+ displayName: string;
103
+ };
104
+ NoOptionsMessage: {
105
+ <Option_12, IsMulti_12 extends boolean, Group_12 extends GroupBase<Option_12>>(props: import("react-select").NoticeProps<Option_12, IsMulti_12, Group_12>): import("@emotion/react").jsx.JSX.Element;
106
+ defaultProps: {
107
+ children: string;
108
+ };
109
+ };
110
+ Option: <Option_15, IsMulti_15 extends boolean, Group_15 extends GroupBase<Option_15>>(props: import("react-select").OptionProps<Option_15, IsMulti_15, Group_15>) => import("@emotion/react").jsx.JSX.Element;
111
+ Placeholder: <Option_16, IsMulti_16 extends boolean, Group_16 extends GroupBase<Option_16>>(props: import("react-select").PlaceholderProps<Option_16, IsMulti_16, Group_16>) => import("@emotion/react").jsx.JSX.Element;
112
+ SelectContainer: <Option_17, IsMulti_17 extends boolean, Group_17 extends GroupBase<Option_17>>(props: import("react-select").ContainerProps<Option_17, IsMulti_17, Group_17>) => import("@emotion/react").jsx.JSX.Element;
113
+ SingleValue: <Option_18, IsMulti_18 extends boolean, Group_18 extends GroupBase<Option_18>>(props: import("react-select").SingleValueProps<Option_18, IsMulti_18, Group_18>) => import("@emotion/react").jsx.JSX.Element;
114
+ ValueContainer: <Option_19, IsMulti_19 extends boolean, Group_19 extends GroupBase<Option_19>>(props: import("react-select").ValueContainerProps<Option_19, IsMulti_19, Group_19>) => import("@emotion/react").jsx.JSX.Element;
60
115
  };
61
116
  export default AsyncSelectInput;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@commercetools-uikit/async-select-input",
3
3
  "description": "An input component getting a selection from an asynchronously loaded list from the user.",
4
- "version": "14.0.0",
4
+ "version": "14.0.1",
5
5
  "bugs": "https://github.com/commercetools/ui-kit/issues",
6
6
  "repository": {
7
7
  "type": "git",
@@ -21,14 +21,14 @@
21
21
  "dependencies": {
22
22
  "@babel/runtime": "^7.17.2",
23
23
  "@babel/runtime-corejs3": "^7.17.2",
24
- "@commercetools-uikit/constraints": "14.0.0",
24
+ "@commercetools-uikit/constraints": "14.0.1",
25
25
  "@commercetools-uikit/design-system": "14.0.0",
26
- "@commercetools-uikit/icons": "14.0.0",
27
- "@commercetools-uikit/loading-spinner": "14.0.0",
28
- "@commercetools-uikit/select-utils": "14.0.0",
29
- "@commercetools-uikit/spacings": "14.0.0",
30
- "@commercetools-uikit/text": "14.0.0",
31
- "@commercetools-uikit/utils": "14.0.0",
26
+ "@commercetools-uikit/icons": "14.0.1",
27
+ "@commercetools-uikit/loading-spinner": "14.0.1",
28
+ "@commercetools-uikit/select-utils": "14.0.1",
29
+ "@commercetools-uikit/spacings": "14.0.1",
30
+ "@commercetools-uikit/text": "14.0.1",
31
+ "@commercetools-uikit/utils": "14.0.1",
32
32
  "@emotion/react": "^11.4.0",
33
33
  "@emotion/styled": "^11.3.0",
34
34
  "lodash": "4.17.21",