@commercetools-uikit/date-range-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
@@ -51,6 +51,8 @@ export default Example;
51
51
  | `horizontalConstraint` | `union`<br/>Possible values:<br/>`, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto'` | | `'scale'` | Horizontal size limit of the input fields. |
52
52
  | `errors` | `Record` | | | A map of errors. Error messages for known errors are rendered automatically.&#xA;<br />&#xA;Unknown errors will be forwarded to `renderError` |
53
53
  | `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. |
54
+ | `warnings` | `Record` | | | A map of warnings. Warning messages for known warnings are rendered automatically.&#xA;<br/>&#xA;Unknown warnings will be forwarded to renderWarning. |
55
+ | `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. |
54
56
  | `isRequired` | `boolean` | | | Indicates if the value is required. Shows an the "required asterisk" if so. |
55
57
  | `touched` | `boolean` | | | Indicates whether the field was touched. Errors will only be shown when the field was touched. |
56
58
  | `name` | `string` | | | Used as HTML name of the input component. |
@@ -76,6 +78,12 @@ export default Example;
76
78
  (key: string, error?: boolean) => ReactNode;
77
79
  ```
78
80
 
81
+ ### Signature `renderWarning`
82
+
83
+ ```ts
84
+ (key: string, warning?: boolean) => ReactNode;
85
+ ```
86
+
79
87
  ### Signature `onChange`
80
88
 
81
89
  ```ts
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
6
6
  var _classCallCheck = require('@babel/runtime-corejs3/helpers/classCallCheck');
7
7
  var _createClass = require('@babel/runtime-corejs3/helpers/createClass');
8
- var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
9
8
  var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
10
9
  var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
10
+ var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
11
11
  var _pt = require('prop-types');
12
12
  var _someInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/some');
13
13
  var _Object$values = require('@babel/runtime-corejs3/core-js-stable/object/values');
@@ -27,6 +27,7 @@ var Spacings = require('@commercetools-uikit/spacings');
27
27
  var FieldLabel = require('@commercetools-uikit/field-label');
28
28
  var DateRangeInput = require('@commercetools-uikit/date-range-input');
29
29
  var FieldErrors = require('@commercetools-uikit/field-errors');
30
+ var FieldWarnings = require('@commercetools-uikit/field-warnings');
30
31
  var jsxRuntime = require('@emotion/react/jsx-runtime');
31
32
 
32
33
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
@@ -48,27 +49,32 @@ var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
48
49
  var FieldLabel__default = /*#__PURE__*/_interopDefault(FieldLabel);
49
50
  var DateRangeInput__default = /*#__PURE__*/_interopDefault(DateRangeInput);
50
51
  var FieldErrors__default = /*#__PURE__*/_interopDefault(FieldErrors);
52
+ var FieldWarnings__default = /*#__PURE__*/_interopDefault(FieldWarnings);
51
53
 
52
- 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; }
53
- 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; }
54
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct__default["default"](Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
55
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct__default["default"]) return false; if (_Reflect$construct__default["default"].sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); return true; } catch (e) { return false; } }
54
+ 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; }
55
+ 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; }
56
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? _Reflect$construct__default["default"](o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
57
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
56
58
  const sequentialId = utils.createSequentialId('date-range-field-');
57
59
  const sequentialErrorsId = utils.createSequentialId('date-range-field-error-')();
60
+ const sequentialWarningsId = utils.createSequentialId('date-range-field-warning-')();
58
61
  const hasErrors = errors => {
59
62
  var _context;
60
63
  return errors && _someInstanceProperty__default["default"](_context = _Object$values__default["default"](errors)).call(_context, Boolean);
61
64
  };
65
+ const hasWarnings = warnings => {
66
+ var _context2;
67
+ return warnings && _someInstanceProperty__default["default"](_context2 = _Object$values__default["default"](warnings)).call(_context2, Boolean);
68
+ };
62
69
  let DateRangeField = /*#__PURE__*/function (_Component) {
63
70
  _inherits(DateRangeField, _Component);
64
- var _super = _createSuper(DateRangeField);
65
71
  function DateRangeField() {
66
72
  var _this;
67
73
  _classCallCheck(this, DateRangeField);
68
74
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
69
75
  args[_key] = arguments[_key];
70
76
  }
71
- _this = _super.call(this, ...args);
77
+ _this = _callSuper(this, DateRangeField, [...args]);
72
78
  _this.state = {
73
79
  // We generate an id in case no id is provided by the parent to attach the
74
80
  // label to the input component.
@@ -80,6 +86,7 @@ let DateRangeField = /*#__PURE__*/function (_Component) {
80
86
  key: "render",
81
87
  value: function render() {
82
88
  const hasError = this.props.touched && hasErrors(this.props.errors);
89
+ const hasWarning = this.props.touched && hasWarnings(this.props.warnings);
83
90
  if (!this.props.isReadOnly) {
84
91
  process.env.NODE_ENV !== "production" ? utils.warning(typeof this.props.onChange === 'function', 'DateRangeField: `onChange` is required when field is not read only.') : void 0;
85
92
  }
@@ -109,6 +116,7 @@ let DateRangeField = /*#__PURE__*/function (_Component) {
109
116
  isDisabled: this.props.isDisabled,
110
117
  isReadOnly: this.props.isReadOnly,
111
118
  hasError: hasError,
119
+ hasWarning: hasWarning,
112
120
  placeholder: this.props.placeholder,
113
121
  horizontalConstraint: "scale"
114
122
  }, utils.filterDataAttributes(this.props)), {}, {
@@ -119,6 +127,11 @@ let DateRangeField = /*#__PURE__*/function (_Component) {
119
127
  errors: this.props.errors,
120
128
  isVisible: hasError,
121
129
  renderError: this.props.renderError
130
+ }), jsxRuntime.jsx(FieldWarnings__default["default"], {
131
+ id: sequentialWarningsId,
132
+ warnings: this.props.warnings,
133
+ isVisible: hasWarning,
134
+ renderWarning: this.props.renderWarning
122
135
  })]
123
136
  })
124
137
  });
@@ -149,6 +162,8 @@ DateRangeField.propTypes = process.env.NODE_ENV !== "production" ? {
149
162
  horizontalConstraint: _pt__default["default"].oneOf([6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
150
163
  errors: _pt__default["default"].objectOf(_pt__default["default"].bool),
151
164
  renderError: _pt__default["default"].func,
165
+ warnings: _pt__default["default"].objectOf(_pt__default["default"].bool),
166
+ renderWarning: _pt__default["default"].func,
152
167
  isRequired: _pt__default["default"].bool,
153
168
  touched: _pt__default["default"].bool,
154
169
  name: _pt__default["default"].string,
@@ -169,7 +184,7 @@ DateRangeField.propTypes = process.env.NODE_ENV !== "production" ? {
169
184
  var DateRangeField$1 = DateRangeField;
170
185
 
171
186
  // NOTE: This string will be replaced on build time with the package version.
172
- var version = "17.0.1";
187
+ var version = "18.0.0";
173
188
 
174
189
  exports["default"] = DateRangeField$1;
175
190
  exports.version = version;
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
6
6
  var _classCallCheck = require('@babel/runtime-corejs3/helpers/classCallCheck');
7
7
  var _createClass = require('@babel/runtime-corejs3/helpers/createClass');
8
- var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
9
8
  var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
10
9
  var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
10
+ var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
11
11
  require('prop-types');
12
12
  var _someInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/some');
13
13
  var _Object$values = require('@babel/runtime-corejs3/core-js-stable/object/values');
@@ -27,6 +27,7 @@ var Spacings = require('@commercetools-uikit/spacings');
27
27
  var FieldLabel = require('@commercetools-uikit/field-label');
28
28
  var DateRangeInput = require('@commercetools-uikit/date-range-input');
29
29
  var FieldErrors = require('@commercetools-uikit/field-errors');
30
+ var FieldWarnings = require('@commercetools-uikit/field-warnings');
30
31
  var jsxRuntime = require('@emotion/react/jsx-runtime');
31
32
 
32
33
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
@@ -47,27 +48,32 @@ var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
47
48
  var FieldLabel__default = /*#__PURE__*/_interopDefault(FieldLabel);
48
49
  var DateRangeInput__default = /*#__PURE__*/_interopDefault(DateRangeInput);
49
50
  var FieldErrors__default = /*#__PURE__*/_interopDefault(FieldErrors);
51
+ var FieldWarnings__default = /*#__PURE__*/_interopDefault(FieldWarnings);
50
52
 
51
- 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; }
52
- 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; }
53
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct__default["default"](Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
54
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct__default["default"]) return false; if (_Reflect$construct__default["default"].sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); return true; } catch (e) { return false; } }
53
+ 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; }
54
+ 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; }
55
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? _Reflect$construct__default["default"](o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
56
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
55
57
  const sequentialId = utils.createSequentialId('date-range-field-');
56
58
  const sequentialErrorsId = utils.createSequentialId('date-range-field-error-')();
59
+ const sequentialWarningsId = utils.createSequentialId('date-range-field-warning-')();
57
60
  const hasErrors = errors => {
58
61
  var _context;
59
62
  return errors && _someInstanceProperty__default["default"](_context = _Object$values__default["default"](errors)).call(_context, Boolean);
60
63
  };
64
+ const hasWarnings = warnings => {
65
+ var _context2;
66
+ return warnings && _someInstanceProperty__default["default"](_context2 = _Object$values__default["default"](warnings)).call(_context2, Boolean);
67
+ };
61
68
  let DateRangeField = /*#__PURE__*/function (_Component) {
62
69
  _inherits(DateRangeField, _Component);
63
- var _super = _createSuper(DateRangeField);
64
70
  function DateRangeField() {
65
71
  var _this;
66
72
  _classCallCheck(this, DateRangeField);
67
73
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
68
74
  args[_key] = arguments[_key];
69
75
  }
70
- _this = _super.call(this, ...args);
76
+ _this = _callSuper(this, DateRangeField, [...args]);
71
77
  _this.state = {
72
78
  // We generate an id in case no id is provided by the parent to attach the
73
79
  // label to the input component.
@@ -79,6 +85,7 @@ let DateRangeField = /*#__PURE__*/function (_Component) {
79
85
  key: "render",
80
86
  value: function render() {
81
87
  const hasError = this.props.touched && hasErrors(this.props.errors);
88
+ const hasWarning = this.props.touched && hasWarnings(this.props.warnings);
82
89
  if (!this.props.isReadOnly) ;
83
90
  if (this.props.hintIcon) ;
84
91
  return jsxRuntime.jsx(Constraints__default["default"].Horizontal, {
@@ -104,6 +111,7 @@ let DateRangeField = /*#__PURE__*/function (_Component) {
104
111
  isDisabled: this.props.isDisabled,
105
112
  isReadOnly: this.props.isReadOnly,
106
113
  hasError: hasError,
114
+ hasWarning: hasWarning,
107
115
  placeholder: this.props.placeholder,
108
116
  horizontalConstraint: "scale"
109
117
  }, utils.filterDataAttributes(this.props)), {}, {
@@ -114,6 +122,11 @@ let DateRangeField = /*#__PURE__*/function (_Component) {
114
122
  errors: this.props.errors,
115
123
  isVisible: hasError,
116
124
  renderError: this.props.renderError
125
+ }), jsxRuntime.jsx(FieldWarnings__default["default"], {
126
+ id: sequentialWarningsId,
127
+ warnings: this.props.warnings,
128
+ isVisible: hasWarning,
129
+ renderWarning: this.props.renderWarning
117
130
  })]
118
131
  })
119
132
  });
@@ -143,7 +156,7 @@ DateRangeField.propTypes = {};
143
156
  var DateRangeField$1 = DateRangeField;
144
157
 
145
158
  // NOTE: This string will be replaced on build time with the package version.
146
- var version = "17.0.1";
159
+ var version = "18.0.0";
147
160
 
148
161
  exports["default"] = DateRangeField$1;
149
162
  exports.version = version;
@@ -1,9 +1,9 @@
1
1
  import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
2
2
  import _classCallCheck from '@babel/runtime-corejs3/helpers/esm/classCallCheck';
3
3
  import _createClass from '@babel/runtime-corejs3/helpers/esm/createClass';
4
- import _inherits from '@babel/runtime-corejs3/helpers/esm/inherits';
5
4
  import _possibleConstructorReturn from '@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn';
6
5
  import _getPrototypeOf from '@babel/runtime-corejs3/helpers/esm/getPrototypeOf';
6
+ import _inherits from '@babel/runtime-corejs3/helpers/esm/inherits';
7
7
  import _pt from 'prop-types';
8
8
  import _someInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/some';
9
9
  import _Object$values from '@babel/runtime-corejs3/core-js-stable/object/values';
@@ -23,28 +23,33 @@ import Spacings from '@commercetools-uikit/spacings';
23
23
  import FieldLabel from '@commercetools-uikit/field-label';
24
24
  import DateRangeInput from '@commercetools-uikit/date-range-input';
25
25
  import FieldErrors from '@commercetools-uikit/field-errors';
26
+ import FieldWarnings from '@commercetools-uikit/field-warnings';
26
27
  import { jsx, jsxs } from '@emotion/react/jsx-runtime';
27
28
 
28
- 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; }
29
- 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; }
30
- 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); }; }
31
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
29
+ 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; }
30
+ 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; }
31
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
32
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
32
33
  const sequentialId = createSequentialId('date-range-field-');
33
34
  const sequentialErrorsId = createSequentialId('date-range-field-error-')();
35
+ const sequentialWarningsId = createSequentialId('date-range-field-warning-')();
34
36
  const hasErrors = errors => {
35
37
  var _context;
36
38
  return errors && _someInstanceProperty(_context = _Object$values(errors)).call(_context, Boolean);
37
39
  };
40
+ const hasWarnings = warnings => {
41
+ var _context2;
42
+ return warnings && _someInstanceProperty(_context2 = _Object$values(warnings)).call(_context2, Boolean);
43
+ };
38
44
  let DateRangeField = /*#__PURE__*/function (_Component) {
39
45
  _inherits(DateRangeField, _Component);
40
- var _super = _createSuper(DateRangeField);
41
46
  function DateRangeField() {
42
47
  var _this;
43
48
  _classCallCheck(this, DateRangeField);
44
49
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
45
50
  args[_key] = arguments[_key];
46
51
  }
47
- _this = _super.call(this, ...args);
52
+ _this = _callSuper(this, DateRangeField, [...args]);
48
53
  _this.state = {
49
54
  // We generate an id in case no id is provided by the parent to attach the
50
55
  // label to the input component.
@@ -56,6 +61,7 @@ let DateRangeField = /*#__PURE__*/function (_Component) {
56
61
  key: "render",
57
62
  value: function render() {
58
63
  const hasError = this.props.touched && hasErrors(this.props.errors);
64
+ const hasWarning = this.props.touched && hasWarnings(this.props.warnings);
59
65
  if (!this.props.isReadOnly) {
60
66
  process.env.NODE_ENV !== "production" ? warning(typeof this.props.onChange === 'function', 'DateRangeField: `onChange` is required when field is not read only.') : void 0;
61
67
  }
@@ -85,6 +91,7 @@ let DateRangeField = /*#__PURE__*/function (_Component) {
85
91
  isDisabled: this.props.isDisabled,
86
92
  isReadOnly: this.props.isReadOnly,
87
93
  hasError: hasError,
94
+ hasWarning: hasWarning,
88
95
  placeholder: this.props.placeholder,
89
96
  horizontalConstraint: "scale"
90
97
  }, filterDataAttributes(this.props)), {}, {
@@ -95,6 +102,11 @@ let DateRangeField = /*#__PURE__*/function (_Component) {
95
102
  errors: this.props.errors,
96
103
  isVisible: hasError,
97
104
  renderError: this.props.renderError
105
+ }), jsx(FieldWarnings, {
106
+ id: sequentialWarningsId,
107
+ warnings: this.props.warnings,
108
+ isVisible: hasWarning,
109
+ renderWarning: this.props.renderWarning
98
110
  })]
99
111
  })
100
112
  });
@@ -125,6 +137,8 @@ DateRangeField.propTypes = process.env.NODE_ENV !== "production" ? {
125
137
  horizontalConstraint: _pt.oneOf([6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
126
138
  errors: _pt.objectOf(_pt.bool),
127
139
  renderError: _pt.func,
140
+ warnings: _pt.objectOf(_pt.bool),
141
+ renderWarning: _pt.func,
128
142
  isRequired: _pt.bool,
129
143
  touched: _pt.bool,
130
144
  name: _pt.string,
@@ -145,6 +159,6 @@ DateRangeField.propTypes = process.env.NODE_ENV !== "production" ? {
145
159
  var DateRangeField$1 = DateRangeField;
146
160
 
147
161
  // NOTE: This string will be replaced on build time with the package version.
148
- var version = "17.0.1";
162
+ var version = "18.0.0";
149
163
 
150
164
  export { DateRangeField$1 as default, version };
@@ -1,6 +1,7 @@
1
1
  import { Component, type ReactElement, type ReactNode } from 'react';
2
2
  import type { MomentInput } from 'moment';
3
3
  type TErrorRenderer = (key: string, error?: boolean) => ReactNode;
4
+ type TFieldWarnings = Record<string, boolean>;
4
5
  type TFieldErrors = Record<string, boolean>;
5
6
  type TCustomFormErrors<Values> = {
6
7
  [K in keyof Values]?: TFieldErrors;
@@ -17,6 +18,8 @@ export type TDateRangeFieldProps = {
17
18
  horizontalConstraint?: 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 'scale' | 'auto';
18
19
  errors?: TFieldErrors;
19
20
  renderError?: TErrorRenderer;
21
+ warnings?: TFieldWarnings;
22
+ renderWarning?: (key: string, warning?: boolean) => ReactNode;
20
23
  isRequired?: boolean;
21
24
  touched?: boolean;
22
25
  name?: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@commercetools-uikit/date-range-field",
3
3
  "description": "A controlled date input component for a date range, with validation states and a label.",
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,13 +21,14 @@
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/date-range-input": "17.0.1",
26
- "@commercetools-uikit/design-system": "17.0.1",
27
- "@commercetools-uikit/field-errors": "17.0.1",
28
- "@commercetools-uikit/field-label": "17.0.1",
29
- "@commercetools-uikit/spacings": "17.0.1",
30
- "@commercetools-uikit/utils": "17.0.1",
24
+ "@commercetools-uikit/constraints": "18.0.0",
25
+ "@commercetools-uikit/date-range-input": "18.0.0",
26
+ "@commercetools-uikit/design-system": "18.0.0",
27
+ "@commercetools-uikit/field-errors": "18.0.0",
28
+ "@commercetools-uikit/field-label": "18.0.0",
29
+ "@commercetools-uikit/field-warnings": "18.0.0",
30
+ "@commercetools-uikit/spacings": "18.0.0",
31
+ "@commercetools-uikit/utils": "18.0.0",
31
32
  "@emotion/react": "^11.10.5",
32
33
  "@emotion/styled": "^11.10.5",
33
34
  "prop-types": "15.8.1",