@commercetools-uikit/search-select-field 17.0.1 → 18.0.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.
package/README.md CHANGED
@@ -98,7 +98,7 @@ export default Example;
98
98
  | `value` | `AsyncProps['value']` | | | The value of the select; reflected by the selected option&#xA;<br>&#xA;[Props from React select was used](https://react-select.com/props) |
99
99
  | `backspaceRemovesValue` | `AsyncProps['backspaceRemovesValue']` | | | Remove the currently focused option when the user presses backspace&#xA;<br>&#xA;[Props from React select was used](https://react-select.com/props) |
100
100
  | `hasError` | `boolean` | | | Indicates the input field has an error |
101
- | `hasWarning` | `boolean` | | | Indicates the input field has a warning |
101
+ | `hasWarning` | `boolean` | | | Indicates the input field has a warning&#xA;@deprecated Please use the `warnings` prop instead so users know the reason why the field is in warning state. |
102
102
  | `isReadOnly` | `boolean` | | | Is the select read-only |
103
103
  | `isDisabled` | `boolean` | | | Is the select disabled |
104
104
  | `isClearable` | `boolean` | | | Is the select value clearable |
@@ -123,6 +123,8 @@ export default Example;
123
123
  | `optionType` | `union`<br/>Possible values:<br/>`'single-property' , 'double-property' , 'multiple-properties'` | | | The style of the an option in the dropdown menu. It could be single lined option or an option with more and custom info |
124
124
  | `errors` | `Record` | | | A map of errors. Error messages for known errors are rendered automatically.&#xA;<br />&#xA;Unknown errors will be forwarded to `renderError` |
125
125
  | `renderError` | `Function`<br/>[See signature.](#signature-renderError) | | | Called with custom errors. This function can return a message which will be wrapped in an ErrorMessage. It can also return null to show no error. |
126
+ | `warnings` | `Record` | | | A map of warnings. Warning messages for known warnings are rendered automatically.&#xA;<br/>&#xA;Unknown warnings will be forwarded to renderWarning. |
127
+ | `renderWarning` | `Function`<br/>[See signature.](#signature-renderWarning) | | | Called with custom warnings, as renderWarning(key, warning). This function can return a message which will be wrapped in a WarningMessage.&#xA;<br />&#xA;It can also return null to show no warning. |
126
128
  | `isRequired` | `boolean` | | | Indicates if the value is required. Shows an the "required asterisk" if so. |
127
129
  | `touched` | `union`<br/>Possible values:<br/>`boolean[] , boolean` | | | Indicates whether the field was touched. Errors will only be shown when the field was touched. |
128
130
  | `title` | `ReactNode` | ✅ | | Title of the label |
@@ -153,6 +155,12 @@ export default Example;
153
155
  (key: string, error?: boolean) => ReactNode;
154
156
  ```
155
157
 
158
+ ### Signature `renderWarning`
159
+
160
+ ```ts
161
+ (key: string, warning?: boolean) => ReactNode;
162
+ ```
163
+
156
164
  ### Signature `onInfoButtonClick`
157
165
 
158
166
  ```ts
@@ -23,6 +23,7 @@ var Spacings = require('@commercetools-uikit/spacings');
23
23
  var FieldLabel = require('@commercetools-uikit/field-label');
24
24
  var SearchSelectInput = require('@commercetools-uikit/search-select-input');
25
25
  var FieldErrors = require('@commercetools-uikit/field-errors');
26
+ var FieldWarnings = require('@commercetools-uikit/field-warnings');
26
27
  var jsxRuntime = require('@emotion/react/jsx-runtime');
27
28
 
28
29
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
@@ -44,20 +45,27 @@ var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
44
45
  var FieldLabel__default = /*#__PURE__*/_interopDefault(FieldLabel);
45
46
  var SearchSelectInput__default = /*#__PURE__*/_interopDefault(SearchSelectInput);
46
47
  var FieldErrors__default = /*#__PURE__*/_interopDefault(FieldErrors);
48
+ var FieldWarnings__default = /*#__PURE__*/_interopDefault(FieldWarnings);
47
49
 
48
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
49
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
50
+ function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
51
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
50
52
  const hasErrors = errors => {
51
53
  var _context;
52
54
  return errors && _someInstanceProperty__default["default"](_context = _Object$values__default["default"](errors)).call(_context, Boolean);
53
55
  };
56
+ const hasWarnings = warnings => {
57
+ var _context2;
58
+ return warnings && _someInstanceProperty__default["default"](_context2 = _Object$values__default["default"](warnings)).call(_context2, Boolean);
59
+ };
54
60
  const sequentialId = utils.createSequentialId('search-select-field-');
55
61
  const sequentialErrorsId = utils.createSequentialId('search-select-field-error-')();
62
+ const sequentialWarningsId = utils.createSequentialId('search-select-field-warning-')();
56
63
  const defaultProps = {
57
64
  controlShouldRenderValue: true
58
65
  };
59
66
  const SearchSelectField = props => {
60
67
  const hasError = Boolean(props.touched) && hasErrors(props.errors);
68
+ const hasWarning = props.hasWarning || Boolean(props.touched) && hasWarnings(props.warnings);
61
69
  const id = hooks.useFieldId(props.id, sequentialId);
62
70
  if (!props.isReadOnly) {
63
71
  process.env.NODE_ENV !== "production" ? utils.warning(typeof props.onChange === 'function', 'SearchSelectField: `onChange` is required when field is not read only.') : void 0;
@@ -100,7 +108,7 @@ const SearchSelectField = props => {
100
108
  isReadOnly: props.isReadOnly,
101
109
  isOptionDisabled: props.isOptionDisabled,
102
110
  isMulti: props.isMulti,
103
- hasWarning: props.hasWarning,
111
+ hasWarning: hasWarning,
104
112
  maxMenuHeight: props.maxMenuHeight,
105
113
  menuPortalTarget: props.menuPortalTarget,
106
114
  menuPortalZIndex: props.menuPortalZIndex,
@@ -129,6 +137,11 @@ const SearchSelectField = props => {
129
137
  errors: props.errors,
130
138
  isVisible: hasError,
131
139
  renderError: props.renderError
140
+ }), jsxRuntime.jsx(FieldWarnings__default["default"], {
141
+ id: sequentialWarningsId,
142
+ warnings: props.warnings,
143
+ isVisible: hasWarning,
144
+ renderWarning: props.renderWarning
132
145
  })]
133
146
  })
134
147
  });
@@ -150,15 +163,15 @@ SearchSelectField.propTypes = process.env.NODE_ENV !== "production" ? {
150
163
  optionType: _pt__default["default"].oneOf(['single-property', 'double-property', 'multiple-properties']),
151
164
  errors: _pt__default["default"].objectOf(_pt__default["default"].bool),
152
165
  renderError: _pt__default["default"].func,
166
+ warnings: _pt__default["default"].objectOf(_pt__default["default"].bool),
167
+ renderWarning: _pt__default["default"].func,
153
168
  isRequired: _pt__default["default"].bool,
154
169
  touched: _pt__default["default"].oneOfType([_pt__default["default"].arrayOf(_pt__default["default"].bool), _pt__default["default"].bool]),
155
170
  title: _pt__default["default"].node.isRequired,
156
171
  hint: _pt__default["default"].node,
157
172
  description: _pt__default["default"].node,
158
173
  onInfoButtonClick: _pt__default["default"].func,
159
- hintIcon: _pt__default["default"].element,
160
- badge: _pt__default["default"].node,
161
- iconLeft: _pt__default["default"].node
174
+ hintIcon: _pt__default["default"].element
162
175
  } : {};
163
176
  SearchSelectField.defaultProps = defaultProps;
164
177
  SearchSelectField.displayName = 'SearchSelectField';
@@ -173,7 +186,7 @@ SearchSelectField.toFieldErrors = function toFieldErrors(errors) {
173
186
  var SearchSelectField$1 = SearchSelectField;
174
187
 
175
188
  // NOTE: This string will be replaced on build time with the package version.
176
- var version = "17.0.1";
189
+ var version = "18.0.0";
177
190
 
178
191
  exports["default"] = SearchSelectField$1;
179
192
  exports.version = version;
@@ -23,6 +23,7 @@ var Spacings = require('@commercetools-uikit/spacings');
23
23
  var FieldLabel = require('@commercetools-uikit/field-label');
24
24
  var SearchSelectInput = require('@commercetools-uikit/search-select-input');
25
25
  var FieldErrors = require('@commercetools-uikit/field-errors');
26
+ var FieldWarnings = require('@commercetools-uikit/field-warnings');
26
27
  var jsxRuntime = require('@emotion/react/jsx-runtime');
27
28
 
28
29
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
@@ -42,20 +43,27 @@ var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
42
43
  var FieldLabel__default = /*#__PURE__*/_interopDefault(FieldLabel);
43
44
  var SearchSelectInput__default = /*#__PURE__*/_interopDefault(SearchSelectInput);
44
45
  var FieldErrors__default = /*#__PURE__*/_interopDefault(FieldErrors);
46
+ var FieldWarnings__default = /*#__PURE__*/_interopDefault(FieldWarnings);
45
47
 
46
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
47
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
48
+ function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
49
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
48
50
  const hasErrors = errors => {
49
51
  var _context;
50
52
  return errors && _someInstanceProperty__default["default"](_context = _Object$values__default["default"](errors)).call(_context, Boolean);
51
53
  };
54
+ const hasWarnings = warnings => {
55
+ var _context2;
56
+ return warnings && _someInstanceProperty__default["default"](_context2 = _Object$values__default["default"](warnings)).call(_context2, Boolean);
57
+ };
52
58
  const sequentialId = utils.createSequentialId('search-select-field-');
53
59
  const sequentialErrorsId = utils.createSequentialId('search-select-field-error-')();
60
+ const sequentialWarningsId = utils.createSequentialId('search-select-field-warning-')();
54
61
  const defaultProps = {
55
62
  controlShouldRenderValue: true
56
63
  };
57
64
  const SearchSelectField = props => {
58
65
  const hasError = Boolean(props.touched) && hasErrors(props.errors);
66
+ const hasWarning = props.hasWarning || Boolean(props.touched) && hasWarnings(props.warnings);
59
67
  const id = hooks.useFieldId(props.id, sequentialId);
60
68
  if (!props.isReadOnly) ;
61
69
  if (props.hintIcon) ;
@@ -91,7 +99,7 @@ const SearchSelectField = props => {
91
99
  isReadOnly: props.isReadOnly,
92
100
  isOptionDisabled: props.isOptionDisabled,
93
101
  isMulti: props.isMulti,
94
- hasWarning: props.hasWarning,
102
+ hasWarning: hasWarning,
95
103
  maxMenuHeight: props.maxMenuHeight,
96
104
  menuPortalTarget: props.menuPortalTarget,
97
105
  menuPortalZIndex: props.menuPortalZIndex,
@@ -120,6 +128,11 @@ const SearchSelectField = props => {
120
128
  errors: props.errors,
121
129
  isVisible: hasError,
122
130
  renderError: props.renderError
131
+ }), jsxRuntime.jsx(FieldWarnings__default["default"], {
132
+ id: sequentialWarningsId,
133
+ warnings: props.warnings,
134
+ isVisible: hasWarning,
135
+ renderWarning: props.renderWarning
123
136
  })]
124
137
  })
125
138
  });
@@ -138,7 +151,7 @@ SearchSelectField.toFieldErrors = function toFieldErrors(errors) {
138
151
  var SearchSelectField$1 = SearchSelectField;
139
152
 
140
153
  // NOTE: This string will be replaced on build time with the package version.
141
- var version = "17.0.1";
154
+ var version = "18.0.0";
142
155
 
143
156
  exports["default"] = SearchSelectField$1;
144
157
  exports.version = version;
@@ -19,21 +19,28 @@ import Spacings from '@commercetools-uikit/spacings';
19
19
  import FieldLabel from '@commercetools-uikit/field-label';
20
20
  import SearchSelectInput from '@commercetools-uikit/search-select-input';
21
21
  import FieldErrors from '@commercetools-uikit/field-errors';
22
+ import FieldWarnings from '@commercetools-uikit/field-warnings';
22
23
  import { jsx, jsxs } from '@emotion/react/jsx-runtime';
23
24
 
24
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
26
27
  const hasErrors = errors => {
27
28
  var _context;
28
29
  return errors && _someInstanceProperty(_context = _Object$values(errors)).call(_context, Boolean);
29
30
  };
31
+ const hasWarnings = warnings => {
32
+ var _context2;
33
+ return warnings && _someInstanceProperty(_context2 = _Object$values(warnings)).call(_context2, Boolean);
34
+ };
30
35
  const sequentialId = createSequentialId('search-select-field-');
31
36
  const sequentialErrorsId = createSequentialId('search-select-field-error-')();
37
+ const sequentialWarningsId = createSequentialId('search-select-field-warning-')();
32
38
  const defaultProps = {
33
39
  controlShouldRenderValue: true
34
40
  };
35
41
  const SearchSelectField = props => {
36
42
  const hasError = Boolean(props.touched) && hasErrors(props.errors);
43
+ const hasWarning = props.hasWarning || Boolean(props.touched) && hasWarnings(props.warnings);
37
44
  const id = useFieldId(props.id, sequentialId);
38
45
  if (!props.isReadOnly) {
39
46
  process.env.NODE_ENV !== "production" ? warning(typeof props.onChange === 'function', 'SearchSelectField: `onChange` is required when field is not read only.') : void 0;
@@ -76,7 +83,7 @@ const SearchSelectField = props => {
76
83
  isReadOnly: props.isReadOnly,
77
84
  isOptionDisabled: props.isOptionDisabled,
78
85
  isMulti: props.isMulti,
79
- hasWarning: props.hasWarning,
86
+ hasWarning: hasWarning,
80
87
  maxMenuHeight: props.maxMenuHeight,
81
88
  menuPortalTarget: props.menuPortalTarget,
82
89
  menuPortalZIndex: props.menuPortalZIndex,
@@ -105,6 +112,11 @@ const SearchSelectField = props => {
105
112
  errors: props.errors,
106
113
  isVisible: hasError,
107
114
  renderError: props.renderError
115
+ }), jsx(FieldWarnings, {
116
+ id: sequentialWarningsId,
117
+ warnings: props.warnings,
118
+ isVisible: hasWarning,
119
+ renderWarning: props.renderWarning
108
120
  })]
109
121
  })
110
122
  });
@@ -126,15 +138,15 @@ SearchSelectField.propTypes = process.env.NODE_ENV !== "production" ? {
126
138
  optionType: _pt.oneOf(['single-property', 'double-property', 'multiple-properties']),
127
139
  errors: _pt.objectOf(_pt.bool),
128
140
  renderError: _pt.func,
141
+ warnings: _pt.objectOf(_pt.bool),
142
+ renderWarning: _pt.func,
129
143
  isRequired: _pt.bool,
130
144
  touched: _pt.oneOfType([_pt.arrayOf(_pt.bool), _pt.bool]),
131
145
  title: _pt.node.isRequired,
132
146
  hint: _pt.node,
133
147
  description: _pt.node,
134
148
  onInfoButtonClick: _pt.func,
135
- hintIcon: _pt.element,
136
- badge: _pt.node,
137
- iconLeft: _pt.node
149
+ hintIcon: _pt.element
138
150
  } : {};
139
151
  SearchSelectField.defaultProps = defaultProps;
140
152
  SearchSelectField.displayName = 'SearchSelectField';
@@ -149,6 +161,6 @@ SearchSelectField.toFieldErrors = function toFieldErrors(errors) {
149
161
  var SearchSelectField$1 = SearchSelectField;
150
162
 
151
163
  // NOTE: This string will be replaced on build time with the package version.
152
- var version = "17.0.1";
164
+ var version = "18.0.0";
153
165
 
154
166
  export { SearchSelectField$1 as default, version };
@@ -11,6 +11,7 @@ type TCustomEvent = {
11
11
  persist: () => void;
12
12
  };
13
13
  type TErrorRenderer = (key: string, error?: boolean) => ReactNode;
14
+ type TFieldWarnings = Record<string, boolean>;
14
15
  type TFieldErrors = Record<string, boolean>;
15
16
  type TCustomFormErrors<Values> = {
16
17
  [K in keyof Values]?: TFieldErrors;
@@ -54,6 +55,8 @@ export type TSearchSelectFieldProps = {
54
55
  optionType?: 'single-property' | 'double-property' | 'multiple-properties';
55
56
  errors?: TFieldErrors;
56
57
  renderError?: TErrorRenderer;
58
+ warnings?: TFieldWarnings;
59
+ renderWarning?: (key: string, warning?: boolean) => ReactNode;
57
60
  isRequired?: boolean;
58
61
  touched?: boolean[] | boolean;
59
62
  title: ReactNode;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@commercetools-uikit/search-select-field",
3
3
  "description": "A search select field built on top of search select input, allowing users to asynchronously search for options",
4
- "version": "17.0.1",
4
+ "version": "18.0.0",
5
5
  "bugs": "https://github.com/commercetools/ui-kit/issues",
6
6
  "repository": {
7
7
  "type": "git",
@@ -21,14 +21,15 @@
21
21
  "dependencies": {
22
22
  "@babel/runtime": "^7.20.13",
23
23
  "@babel/runtime-corejs3": "^7.20.13",
24
- "@commercetools-uikit/constraints": "17.0.1",
25
- "@commercetools-uikit/design-system": "17.0.1",
26
- "@commercetools-uikit/field-errors": "17.0.1",
27
- "@commercetools-uikit/field-label": "17.0.1",
28
- "@commercetools-uikit/hooks": "17.0.1",
29
- "@commercetools-uikit/search-select-input": "17.0.1",
30
- "@commercetools-uikit/spacings": "17.0.1",
31
- "@commercetools-uikit/utils": "17.0.1",
24
+ "@commercetools-uikit/constraints": "18.0.0",
25
+ "@commercetools-uikit/design-system": "18.0.0",
26
+ "@commercetools-uikit/field-errors": "18.0.0",
27
+ "@commercetools-uikit/field-label": "18.0.0",
28
+ "@commercetools-uikit/field-warnings": "18.0.0",
29
+ "@commercetools-uikit/hooks": "18.0.0",
30
+ "@commercetools-uikit/search-select-input": "18.0.0",
31
+ "@commercetools-uikit/spacings": "18.0.0",
32
+ "@commercetools-uikit/utils": "18.0.0",
32
33
  "@emotion/react": "^11.10.5",
33
34
  "@emotion/styled": "^11.10.5",
34
35
  "prop-types": "15.8.1",