@commercetools-uikit/number-field 19.7.0 → 19.9.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
@@ -116,6 +116,8 @@ When the `key` is known, and when the value is truthy, and when `renderError` re
116
116
  Known error keys are:
117
117
 
118
118
  - `missing`: tells the user that this field is required
119
+ - `belowMin`: tells the user that the value is below the minimum
120
+ - `aboveMax`: tells the user that the value is above the maximum
119
121
 
120
122
  ## Static methods
121
123
 
@@ -28,6 +28,7 @@ var FieldLabel = require('@commercetools-uikit/field-label');
28
28
  var FieldErrors = require('@commercetools-uikit/field-errors');
29
29
  var FieldWarnings = require('@commercetools-uikit/field-warnings');
30
30
  var NumberInput = require('@commercetools-uikit/number-input');
31
+ var reactIntl = require('react-intl');
31
32
  var jsxRuntime = require('@emotion/react/jsx-runtime');
32
33
 
33
34
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
@@ -51,6 +52,19 @@ var FieldErrors__default = /*#__PURE__*/_interopDefault(FieldErrors);
51
52
  var FieldWarnings__default = /*#__PURE__*/_interopDefault(FieldWarnings);
52
53
  var NumberInput__default = /*#__PURE__*/_interopDefault(NumberInput);
53
54
 
55
+ var messages = reactIntl.defineMessages({
56
+ belowMinError: {
57
+ id: 'UIKit.NumberField.belowMinError',
58
+ description: 'An error message to show when the value is below the minimum',
59
+ defaultMessage: 'Value must be greater than or equal to {min}.'
60
+ },
61
+ aboveMaxError: {
62
+ id: 'UIKit.NumberField.aboveMaxError',
63
+ description: 'An error message to show when the value is above the maximum',
64
+ defaultMessage: 'Value must be less than or equal to {max}.'
65
+ }
66
+ });
67
+
54
68
  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
69
  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
70
  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)); }
@@ -86,6 +100,31 @@ let NumberField = /*#__PURE__*/function (_Component) {
86
100
  return _this;
87
101
  }
88
102
  _createClass(NumberField, [{
103
+ key: "renderError",
104
+ value: function renderError(key) {
105
+ switch (key) {
106
+ case 'belowMin':
107
+ if (typeof this.props.min === 'number') {
108
+ return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread(_objectSpread({}, messages.belowMinError), {}, {
109
+ values: {
110
+ min: this.props.min
111
+ }
112
+ }));
113
+ }
114
+ break;
115
+ case 'aboveMax':
116
+ if (typeof this.props.max === 'number') {
117
+ return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread(_objectSpread({}, messages.aboveMaxError), {}, {
118
+ values: {
119
+ max: this.props.max
120
+ }
121
+ }));
122
+ }
123
+ break;
124
+ }
125
+ return null;
126
+ }
127
+ }, {
89
128
  key: "render",
90
129
  value: function render() {
91
130
  if (!this.props.isReadOnly) {
@@ -135,7 +174,13 @@ let NumberField = /*#__PURE__*/function (_Component) {
135
174
  id: sequentialErrorsId,
136
175
  errors: this.props.errors,
137
176
  isVisible: hasError,
138
- renderError: this.props.renderError
177
+ renderError: (key, error) => {
178
+ var _this$props$renderErr, _this$props;
179
+ return (
180
+ // Custom errors take precedence over the default errors
181
+ ((_this$props$renderErr = (_this$props = this.props).renderError) === null || _this$props$renderErr === void 0 ? void 0 : _this$props$renderErr.call(_this$props, key, error)) || this.renderError(key)
182
+ );
183
+ }
139
184
  }), jsxRuntime.jsx(FieldWarnings__default["default"], {
140
185
  id: sequentialWarningsId,
141
186
  warnings: this.props.warnings,
@@ -196,7 +241,7 @@ NumberField.propTypes = process.env.NODE_ENV !== "production" ? {
196
241
  var NumberField$1 = NumberField;
197
242
 
198
243
  // NOTE: This string will be replaced on build time with the package version.
199
- var version = "19.7.0";
244
+ var version = "19.9.0";
200
245
 
201
246
  exports["default"] = NumberField$1;
202
247
  exports.version = version;
@@ -28,6 +28,7 @@ var FieldLabel = require('@commercetools-uikit/field-label');
28
28
  var FieldErrors = require('@commercetools-uikit/field-errors');
29
29
  var FieldWarnings = require('@commercetools-uikit/field-warnings');
30
30
  var NumberInput = require('@commercetools-uikit/number-input');
31
+ var reactIntl = require('react-intl');
31
32
  var jsxRuntime = require('@emotion/react/jsx-runtime');
32
33
 
33
34
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
@@ -50,6 +51,19 @@ var FieldErrors__default = /*#__PURE__*/_interopDefault(FieldErrors);
50
51
  var FieldWarnings__default = /*#__PURE__*/_interopDefault(FieldWarnings);
51
52
  var NumberInput__default = /*#__PURE__*/_interopDefault(NumberInput);
52
53
 
54
+ var messages = reactIntl.defineMessages({
55
+ belowMinError: {
56
+ id: 'UIKit.NumberField.belowMinError',
57
+ description: 'An error message to show when the value is below the minimum',
58
+ defaultMessage: 'Value must be greater than or equal to {min}.'
59
+ },
60
+ aboveMaxError: {
61
+ id: 'UIKit.NumberField.aboveMaxError',
62
+ description: 'An error message to show when the value is above the maximum',
63
+ defaultMessage: 'Value must be less than or equal to {max}.'
64
+ }
65
+ });
66
+
53
67
  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
68
  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
69
  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)); }
@@ -85,6 +99,31 @@ let NumberField = /*#__PURE__*/function (_Component) {
85
99
  return _this;
86
100
  }
87
101
  _createClass(NumberField, [{
102
+ key: "renderError",
103
+ value: function renderError(key) {
104
+ switch (key) {
105
+ case 'belowMin':
106
+ if (typeof this.props.min === 'number') {
107
+ return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread(_objectSpread({}, messages.belowMinError), {}, {
108
+ values: {
109
+ min: this.props.min
110
+ }
111
+ }));
112
+ }
113
+ break;
114
+ case 'aboveMax':
115
+ if (typeof this.props.max === 'number') {
116
+ return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread(_objectSpread({}, messages.aboveMaxError), {}, {
117
+ values: {
118
+ max: this.props.max
119
+ }
120
+ }));
121
+ }
122
+ break;
123
+ }
124
+ return null;
125
+ }
126
+ }, {
88
127
  key: "render",
89
128
  value: function render() {
90
129
  if (!this.props.isReadOnly) ;
@@ -130,7 +169,13 @@ let NumberField = /*#__PURE__*/function (_Component) {
130
169
  id: sequentialErrorsId,
131
170
  errors: this.props.errors,
132
171
  isVisible: hasError,
133
- renderError: this.props.renderError
172
+ renderError: (key, error) => {
173
+ var _this$props$renderErr, _this$props;
174
+ return (
175
+ // Custom errors take precedence over the default errors
176
+ ((_this$props$renderErr = (_this$props = this.props).renderError) === null || _this$props$renderErr === void 0 ? void 0 : _this$props$renderErr.call(_this$props, key, error)) || this.renderError(key)
177
+ );
178
+ }
134
179
  }), jsxRuntime.jsx(FieldWarnings__default["default"], {
135
180
  id: sequentialWarningsId,
136
181
  warnings: this.props.warnings,
@@ -165,7 +210,7 @@ NumberField.propTypes = {};
165
210
  var NumberField$1 = NumberField;
166
211
 
167
212
  // NOTE: This string will be replaced on build time with the package version.
168
- var version = "19.7.0";
213
+ var version = "19.9.0";
169
214
 
170
215
  exports["default"] = NumberField$1;
171
216
  exports.version = version;
@@ -24,8 +24,22 @@ import FieldLabel from '@commercetools-uikit/field-label';
24
24
  import FieldErrors from '@commercetools-uikit/field-errors';
25
25
  import FieldWarnings from '@commercetools-uikit/field-warnings';
26
26
  import NumberInput from '@commercetools-uikit/number-input';
27
+ import { defineMessages, FormattedMessage } from 'react-intl';
27
28
  import { jsx, jsxs } from '@emotion/react/jsx-runtime';
28
29
 
30
+ var messages = defineMessages({
31
+ belowMinError: {
32
+ id: 'UIKit.NumberField.belowMinError',
33
+ description: 'An error message to show when the value is below the minimum',
34
+ defaultMessage: 'Value must be greater than or equal to {min}.'
35
+ },
36
+ aboveMaxError: {
37
+ id: 'UIKit.NumberField.aboveMaxError',
38
+ description: 'An error message to show when the value is above the maximum',
39
+ defaultMessage: 'Value must be less than or equal to {max}.'
40
+ }
41
+ });
42
+
29
43
  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
44
  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
45
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
@@ -61,6 +75,31 @@ let NumberField = /*#__PURE__*/function (_Component) {
61
75
  return _this;
62
76
  }
63
77
  _createClass(NumberField, [{
78
+ key: "renderError",
79
+ value: function renderError(key) {
80
+ switch (key) {
81
+ case 'belowMin':
82
+ if (typeof this.props.min === 'number') {
83
+ return jsx(FormattedMessage, _objectSpread(_objectSpread({}, messages.belowMinError), {}, {
84
+ values: {
85
+ min: this.props.min
86
+ }
87
+ }));
88
+ }
89
+ break;
90
+ case 'aboveMax':
91
+ if (typeof this.props.max === 'number') {
92
+ return jsx(FormattedMessage, _objectSpread(_objectSpread({}, messages.aboveMaxError), {}, {
93
+ values: {
94
+ max: this.props.max
95
+ }
96
+ }));
97
+ }
98
+ break;
99
+ }
100
+ return null;
101
+ }
102
+ }, {
64
103
  key: "render",
65
104
  value: function render() {
66
105
  if (!this.props.isReadOnly) {
@@ -110,7 +149,13 @@ let NumberField = /*#__PURE__*/function (_Component) {
110
149
  id: sequentialErrorsId,
111
150
  errors: this.props.errors,
112
151
  isVisible: hasError,
113
- renderError: this.props.renderError
152
+ renderError: (key, error) => {
153
+ var _this$props$renderErr, _this$props;
154
+ return (
155
+ // Custom errors take precedence over the default errors
156
+ ((_this$props$renderErr = (_this$props = this.props).renderError) === null || _this$props$renderErr === void 0 ? void 0 : _this$props$renderErr.call(_this$props, key, error)) || this.renderError(key)
157
+ );
158
+ }
114
159
  }), jsx(FieldWarnings, {
115
160
  id: sequentialWarningsId,
116
161
  warnings: this.props.warnings,
@@ -171,6 +216,6 @@ NumberField.propTypes = process.env.NODE_ENV !== "production" ? {
171
216
  var NumberField$1 = NumberField;
172
217
 
173
218
  // NOTE: This string will be replaced on build time with the package version.
174
- var version = "19.7.0";
219
+ var version = "19.9.0";
175
220
 
176
221
  export { NumberField$1 as default, version };
@@ -45,6 +45,7 @@ declare class NumberField extends Component<TNumberFieldProps, TNumberFieldState
45
45
  id: string;
46
46
  };
47
47
  static toFieldErrors<FormValues>(errors: unknown): TCustomFormErrors<FormValues>;
48
+ renderError(key?: string): ReactNode | null;
48
49
  render(): import("@emotion/react/jsx-runtime").JSX.Element;
49
50
  }
50
51
  export default NumberField;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@commercetools-uikit/number-field",
3
3
  "description": "A controlled input component for numbers with validation states and a label.",
4
- "version": "19.7.0",
4
+ "version": "19.9.0",
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.20.13",
23
23
  "@babel/runtime-corejs3": "^7.20.13",
24
- "@commercetools-uikit/constraints": "19.7.0",
25
- "@commercetools-uikit/design-system": "19.7.0",
26
- "@commercetools-uikit/field-errors": "19.7.0",
27
- "@commercetools-uikit/field-label": "19.7.0",
28
- "@commercetools-uikit/field-warnings": "19.7.0",
29
- "@commercetools-uikit/number-input": "19.7.0",
30
- "@commercetools-uikit/spacings-stack": "19.7.0",
31
- "@commercetools-uikit/utils": "19.7.0",
24
+ "@commercetools-uikit/constraints": "19.9.0",
25
+ "@commercetools-uikit/design-system": "19.9.0",
26
+ "@commercetools-uikit/field-errors": "19.9.0",
27
+ "@commercetools-uikit/field-label": "19.9.0",
28
+ "@commercetools-uikit/field-warnings": "19.9.0",
29
+ "@commercetools-uikit/number-input": "19.9.0",
30
+ "@commercetools-uikit/spacings-stack": "19.9.0",
31
+ "@commercetools-uikit/utils": "19.9.0",
32
32
  "@emotion/react": "^11.10.5",
33
33
  "@emotion/styled": "^11.10.5",
34
34
  "prop-types": "15.8.1",