@hyphen/hyphen-components 2.15.6 → 2.16.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.
@@ -14,6 +14,8 @@ import FocusLock from 'react-focus-lock';
14
14
  import { RemoveScroll } from 'react-remove-scroll';
15
15
  import { getIn } from 'formik';
16
16
  import Select, { components } from 'react-select';
17
+ import AsyncCreatableSelect from 'react-select/async-creatable';
18
+ import AsyncSelect from 'react-select/async';
17
19
  import CreatableSelect from 'react-select/creatable';
18
20
  import { v4 } from 'uuid';
19
21
 
@@ -2219,48 +2221,50 @@ var FormikRadioGroup = function FormikRadioGroup(_ref) {
2219
2221
 
2220
2222
  var styles$e = {"react-select-icon":"SelectInput-module_react-select-icon__PvocB","size-sm":"SelectInput-module_size-sm__PKB-J","size-md":"SelectInput-module_size-md__n9Fj8","size-lg":"SelectInput-module_size-lg__LQ-uG","error":"SelectInput-module_error__Avf98","size-sm-tablet":"SelectInput-module_size-sm-tablet__2Dg01","size-md-tablet":"SelectInput-module_size-md-tablet__-iOSg","size-lg-tablet":"SelectInput-module_size-lg-tablet__9xmuJ","size-sm-desktop":"SelectInput-module_size-sm-desktop__tOWI4","size-md-desktop":"SelectInput-module_size-md-desktop__vo-UC","size-lg-desktop":"SelectInput-module_size-lg-desktop__nxQdj","size-sm-hd":"SelectInput-module_size-sm-hd__qamTH","size-md-hd":"SelectInput-module_size-md-hd__Cf8hk","size-lg-hd":"SelectInput-module_size-lg-hd__E4-mZ","disabled":"SelectInput-module_disabled__4ezAy","select-input-label":"SelectInput-module_select-input-label__eqEYa"};
2221
2223
 
2222
- var _excluded$k = ["id", "label", "onChange", "options", "value", "autoFocus", "className", "error", "helpText", "hideLabel", "isClearable", "isCreatable", "isDisabled", "isMulti", "isRequired", "menuPortalTarget", "name", "onFocus", "onBlur", "placeholder", "requiredIndicator", "size"];
2223
- var SelectInput = function SelectInput(_ref) {
2224
- var _ref2, _classNames;
2225
- var id = _ref.id,
2226
- label = _ref.label,
2227
- onChange = _ref.onChange,
2228
- options = _ref.options,
2229
- value = _ref.value,
2230
- _ref$autoFocus = _ref.autoFocus,
2231
- autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
2232
- _ref$className = _ref.className,
2233
- className = _ref$className === void 0 ? '' : _ref$className,
2234
- _ref$error = _ref.error,
2235
- error = _ref$error === void 0 ? false : _ref$error,
2236
- helpText = _ref.helpText,
2237
- _ref$hideLabel = _ref.hideLabel,
2238
- hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
2239
- _ref$isClearable = _ref.isClearable,
2240
- isClearable = _ref$isClearable === void 0 ? false : _ref$isClearable,
2241
- _ref$isCreatable = _ref.isCreatable,
2242
- isCreatable = _ref$isCreatable === void 0 ? false : _ref$isCreatable,
2243
- _ref$isDisabled = _ref.isDisabled,
2244
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2245
- _ref$isMulti = _ref.isMulti,
2246
- isMulti = _ref$isMulti === void 0 ? false : _ref$isMulti,
2247
- _ref$isRequired = _ref.isRequired,
2248
- isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
2249
- _ref$menuPortalTarget = _ref.menuPortalTarget,
2250
- menuPortalTarget = _ref$menuPortalTarget === void 0 ? null : _ref$menuPortalTarget,
2251
- _ref$name = _ref.name,
2252
- name = _ref$name === void 0 ? '' : _ref$name,
2253
- _ref$onFocus = _ref.onFocus,
2254
- onFocus = _ref$onFocus === void 0 ? null : _ref$onFocus,
2255
- _ref$onBlur = _ref.onBlur,
2256
- onBlur = _ref$onBlur === void 0 ? null : _ref$onBlur,
2257
- _ref$placeholder = _ref.placeholder,
2258
- placeholder = _ref$placeholder === void 0 ? undefined : _ref$placeholder,
2259
- _ref$requiredIndicato = _ref.requiredIndicator,
2260
- requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
2261
- _ref$size = _ref.size,
2262
- size = _ref$size === void 0 ? 'md' : _ref$size,
2263
- restProps = _objectWithoutPropertiesLoose(_ref, _excluded$k);
2224
+ var _excluded$k = ["id", "label", "onChange", "options", "value", "autoFocus", "className", "error", "helpText", "hideLabel", "isClearable", "isAsync", "isCreatable", "isDisabled", "isMulti", "isRequired", "menuPortalTarget", "name", "onFocus", "onBlur", "placeholder", "requiredIndicator", "size"];
2225
+ function SelectInput(props) {
2226
+ var _ref, _classNames;
2227
+ var id = props.id,
2228
+ label = props.label,
2229
+ onChange = props.onChange,
2230
+ options = props.options,
2231
+ value = props.value,
2232
+ _props$autoFocus = props.autoFocus,
2233
+ autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,
2234
+ _props$className = props.className,
2235
+ className = _props$className === void 0 ? '' : _props$className,
2236
+ _props$error = props.error,
2237
+ error = _props$error === void 0 ? false : _props$error,
2238
+ helpText = props.helpText,
2239
+ _props$hideLabel = props.hideLabel,
2240
+ hideLabel = _props$hideLabel === void 0 ? false : _props$hideLabel,
2241
+ _props$isClearable = props.isClearable,
2242
+ isClearable = _props$isClearable === void 0 ? false : _props$isClearable,
2243
+ _props$isAsync = props.isAsync,
2244
+ isAsync = _props$isAsync === void 0 ? false : _props$isAsync,
2245
+ _props$isCreatable = props.isCreatable,
2246
+ isCreatable = _props$isCreatable === void 0 ? false : _props$isCreatable,
2247
+ _props$isDisabled = props.isDisabled,
2248
+ isDisabled = _props$isDisabled === void 0 ? false : _props$isDisabled,
2249
+ _props$isMulti = props.isMulti,
2250
+ isMulti = _props$isMulti === void 0 ? false : _props$isMulti,
2251
+ _props$isRequired = props.isRequired,
2252
+ isRequired = _props$isRequired === void 0 ? false : _props$isRequired,
2253
+ _props$menuPortalTarg = props.menuPortalTarget,
2254
+ menuPortalTarget = _props$menuPortalTarg === void 0 ? null : _props$menuPortalTarg,
2255
+ _props$name = props.name,
2256
+ name = _props$name === void 0 ? '' : _props$name,
2257
+ _props$onFocus = props.onFocus,
2258
+ onFocus = _props$onFocus === void 0 ? null : _props$onFocus,
2259
+ _props$onBlur = props.onBlur,
2260
+ onBlur = _props$onBlur === void 0 ? null : _props$onBlur,
2261
+ _props$placeholder = props.placeholder,
2262
+ placeholder = _props$placeholder === void 0 ? undefined : _props$placeholder,
2263
+ _props$requiredIndica = props.requiredIndicator,
2264
+ requiredIndicator = _props$requiredIndica === void 0 ? ' *' : _props$requiredIndica,
2265
+ _props$size = props.size,
2266
+ size = _props$size === void 0 ? 'md' : _props$size,
2267
+ restProps = _objectWithoutPropertiesLoose(props, _excluded$k);
2264
2268
  var handleChange = function handleChange(values) {
2265
2269
  var simulatedEventPayloadType = {
2266
2270
  target: {
@@ -2279,7 +2283,7 @@ var SelectInput = function SelectInput(_ref) {
2279
2283
  var responsiveClasses = generateResponsiveClasses('size', size);
2280
2284
  var wrapperClasses = classNames.apply(void 0, ['hyphen-components__variables__form-control', 'select-input-wrapper', className].concat(responsiveClasses.map(function (c) {
2281
2285
  return styles$e[c];
2282
- }), [(_ref2 = {}, _ref2[styles$e.disabled] = isDisabled, _ref2)]));
2286
+ }), [(_ref = {}, _ref[styles$e.disabled] = isDisabled, _ref)]));
2283
2287
  var inputClasses = classNames('react-select', (_classNames = {}, _classNames[styles$e.error] = error, _classNames));
2284
2288
  var labelProps = {
2285
2289
  inputId: id,
@@ -2294,11 +2298,15 @@ var SelectInput = function SelectInput(_ref) {
2294
2298
  name: "remove"
2295
2299
  }));
2296
2300
  };
2297
- var Component = isCreatable ? CreatableSelect : Select;
2301
+ var Component = isCreatable && isAsync ? AsyncCreatableSelect : isCreatable ? CreatableSelect : isAsync ? AsyncSelect : Select;
2298
2302
  return React.createElement(Box, {
2299
2303
  width: "100%",
2300
2304
  className: wrapperClasses
2301
- }, label && !hideLabel && React.createElement(FormLabel, _extends({}, labelProps), label), React.createElement(Component, _extends({}, restProps, {
2305
+ }, label && !hideLabel && React.createElement(FormLabel, _extends({}, labelProps), label), React.createElement(Component, _extends({}, restProps, isAsync ? {
2306
+ loadOptions: options
2307
+ } : {
2308
+ options: options
2309
+ }, {
2302
2310
  inputId: id,
2303
2311
  "aria-label": label,
2304
2312
  components: {
@@ -2314,7 +2322,6 @@ var SelectInput = function SelectInput(_ref) {
2314
2322
  menuPortalTarget: menuPortalTarget,
2315
2323
  name: name,
2316
2324
  autoFocus: autoFocus,
2317
- options: options,
2318
2325
  onChange: handleChange,
2319
2326
  onFocus: handleFocus,
2320
2327
  onBlur: handleBlur,
@@ -2327,7 +2334,7 @@ var SelectInput = function SelectInput(_ref) {
2327
2334
  },
2328
2335
  value: value
2329
2336
  })), error && typeof error !== 'boolean' && React.createElement(InputValidationMessage, null, error));
2330
- };
2337
+ }
2331
2338
 
2332
2339
  var _excluded$j = ["field", "form", "onChange", "id", "label", "options", "error"];
2333
2340
  var FormikSelectInput = function FormikSelectInput(_ref) {