@commercetools-frontend/react-notifications 20.11.0 → 21.0.0-rc.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.
@@ -60,7 +60,7 @@ var _sliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_sliceInstanc
60
60
  var isNumber__default = /*#__PURE__*/_interopDefault(isNumber);
61
61
 
62
62
  // NOTE: This string will be replaced on build time with the package version.
63
- var version = "20.11.0";
63
+ var version = "21.0.0-rc.0";
64
64
 
65
65
  var Context = /*#__PURE__*/react.createContext(function () {
66
66
  return null;
@@ -152,9 +152,9 @@ var getStylesForNotification = function getStylesForNotification(props) {
152
152
  }
153
153
  };
154
154
 
155
- function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (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; }
155
+ function ownKeys$4(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; }
156
156
 
157
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
157
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
158
158
 
159
159
  var NotificationIcon = function NotificationIcon(props) {
160
160
  if (props.type === constants.NOTIFICATION_KINDS_SIDE.error) return jsxRuntime.jsx(icons.ErrorIcon, {
@@ -371,9 +371,9 @@ var apiErrorMessages = reactIntl.defineMessages({
371
371
  }
372
372
  });
373
373
 
374
- function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (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; }
374
+ function ownKeys$3(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; }
375
375
 
376
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context6; _forEachInstanceProperty__default["default"](_context6 = ownKeys$3(Object(source), true)).call(_context6, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context7; _forEachInstanceProperty__default["default"](_context7 = ownKeys$3(Object(source))).call(_context7, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
376
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context6, _context7; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context6 = ownKeys$3(Object(source), !0)).call(_context6, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context7 = ownKeys$3(Object(source))).call(_context7, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
377
377
  var regexInvalidOperationRequiredAttribute = /Required attribute '(.*)' cannot be removed/;
378
378
 
379
379
  // The values passed to the Intl message must be a map of scalar values.
@@ -396,11 +396,12 @@ var hasErrorCodeAMatchingMessage = function hasErrorCodeAMatchingMessage(errorCo
396
396
  };
397
397
 
398
398
  var FormattedErrorMessage = function FormattedErrorMessage(props) {
399
- var _context2;
399
+ var _props$error$extensio, _props$error$extensio2, _context2;
400
400
 
401
401
  var intl = reactIntl.useIntl(); // Attempt to map the error by code
402
402
 
403
- var messageCode = props.error.code && hasErrorCodeAMatchingMessage(props.error.code) ? apiErrorMessages[props.error.code] : undefined;
403
+ var extensionErrorCode = (_props$error$extensio = (_props$error$extensio2 = props.error.extensions) === null || _props$error$extensio2 === void 0 ? void 0 : _props$error$extensio2.code) !== null && _props$error$extensio !== void 0 ? _props$error$extensio : props.error.code;
404
+ var messageCode = extensionErrorCode && hasErrorCodeAMatchingMessage(extensionErrorCode) ? apiErrorMessages[extensionErrorCode] : undefined;
404
405
  react.useEffect(function () {
405
406
  if (!messageCode) {
406
407
  var _context;
@@ -408,13 +409,13 @@ var FormattedErrorMessage = function FormattedErrorMessage(props) {
408
409
  // This error is not mapped / translated yet,
409
410
  // we log, report it to sentry and show the original error, unless `error.code` is `invalid_scope`
410
411
  // which an error code emitted for expired project(s)
411
- if (props.error.code !== 'invalid_scope' && !_includesInstanceProperty__default["default"](_context = props.error.message).call(_context, 'has expired')) {
412
+ if (extensionErrorCode !== 'invalid_scope' && !_includesInstanceProperty__default["default"](_context = props.error.message).call(_context, 'has expired')) {
412
413
  sentry.reportErrorToSentry(new Error('Unmapped error'), {
413
414
  extra: props.error
414
415
  });
415
416
  }
416
417
  }
417
- }, [messageCode, props.error]);
418
+ }, [extensionErrorCode, messageCode, props.error]);
418
419
 
419
420
  if (messageCode) {
420
421
  // The `error` object might contain extra fields for the specific `code`.
@@ -453,7 +454,9 @@ ApiErrorMessage.propTypes = process.env.NODE_ENV !== "production" ? {
453
454
  ApiErrorMessage.displayName = 'ApiErrorMessage';
454
455
 
455
456
  function getSpecialFormattedMessageByErrorCode(error, intl) {
456
- var _context3, _context4, _context5;
457
+ var _error$extensions$cod, _error$extensions, _context3, _context4, _context5;
458
+
459
+ var extensionErrorCode = (_error$extensions$cod = (_error$extensions = error.extensions) === null || _error$extensions === void 0 ? void 0 : _error$extensions.code) !== null && _error$extensions$cod !== void 0 ? _error$extensions$cod : error.code;
457
460
 
458
461
  if (error.errorByExtension) {
459
462
  var extensionMessage;
@@ -465,26 +468,26 @@ function getSpecialFormattedMessageByErrorCode(error, intl) {
465
468
  return extensionMessage || error.message;
466
469
  }
467
470
 
468
- if (!error.code || error.code === 'InvalidInput') return intl.formatMessage(apiErrorMessages.General); // TODO: this is a temporary solution until we have proper pages about 403
471
+ if (!extensionErrorCode || extensionErrorCode === 'InvalidInput') return intl.formatMessage(apiErrorMessages.General); // TODO: this is a temporary solution until we have proper pages about 403
469
472
 
470
- if (error.code === 'insufficient_scope') return intl.formatMessage(apiErrorMessages.Forbidden);
471
- if (error.code === 'DuplicateField' && error.field === 'slug') return intl.formatMessage(apiErrorMessages.DuplicateSlug, {
473
+ if (extensionErrorCode === 'insufficient_scope') return intl.formatMessage(apiErrorMessages.Forbidden);
474
+ if (extensionErrorCode === 'DuplicateField' && error.field === 'slug') return intl.formatMessage(apiErrorMessages.DuplicateSlug, {
472
475
  slugValue: error.duplicateValue
473
476
  }); // Try to match the error with a custom error message
474
477
 
475
478
  if (has__default["default"](error, 'invalidValue') && has__default["default"](error.invalidValue, 'overlappingPrices')) return intl.formatMessage(apiErrorMessages.OverlappingPrices);
476
479
 
477
- if (error.code === 'InvalidOperation' && _includesInstanceProperty__default["default"](_context3 = error.message).call(_context3, 'validFrom') && _includesInstanceProperty__default["default"](_context4 = error.message).call(_context4, 'validUntil')) {
480
+ if (extensionErrorCode === 'InvalidOperation' && _includesInstanceProperty__default["default"](_context3 = error.message).call(_context3, 'validFrom') && _includesInstanceProperty__default["default"](_context4 = error.message).call(_context4, 'validUntil')) {
478
481
  return intl.formatMessage(apiErrorMessages.InvalidDateRange, {
479
482
  field: 'validFrom'
480
483
  });
481
484
  }
482
485
 
483
- if (error.code === 'InvalidOperation' && _includesInstanceProperty__default["default"](_context5 = error.message).call(_context5, 'Duplicate tax rate for')) {
486
+ if (extensionErrorCode === 'InvalidOperation' && _includesInstanceProperty__default["default"](_context5 = error.message).call(_context5, 'Duplicate tax rate for')) {
484
487
  return intl.formatMessage(apiErrorMessages.TaxCategoryDuplicateCountry);
485
488
  }
486
489
 
487
- if (error.code === 'InvalidOperation' && regexInvalidOperationRequiredAttribute.test(error.message)) {
490
+ if (extensionErrorCode === 'InvalidOperation' && regexInvalidOperationRequiredAttribute.test(error.message)) {
488
491
  var attrName = error.message.replace(regexInvalidOperationRequiredAttribute, '$1');
489
492
  return intl.formatMessage(apiErrorMessages.RequiredField, {
490
493
  field: attrName
@@ -494,17 +497,17 @@ function getSpecialFormattedMessageByErrorCode(error, intl) {
494
497
  // errors. We should investigate this further.
495
498
 
496
499
 
497
- if (error.code === 'InvalidField' && error.field === 'price' && has__default["default"](error, 'invalidValue') && has__default["default"](error.invalidValue, 'validFrom') && has__default["default"](error.invalidValue, 'validUntil')) return intl.formatMessage(apiErrorMessages.InvalidDateRange, {
500
+ if (extensionErrorCode === 'InvalidField' && error.field === 'price' && has__default["default"](error, 'invalidValue') && has__default["default"](error.invalidValue, 'validFrom') && has__default["default"](error.invalidValue, 'validUntil')) return intl.formatMessage(apiErrorMessages.InvalidDateRange, {
498
501
  field: error.field
499
502
  });
500
503
 
501
- if (error.code === 'DuplicateAttributeValue' && error.attribute) {
504
+ if (extensionErrorCode === 'DuplicateAttributeValue' && error.attribute) {
502
505
  return intl.formatMessage(apiErrorMessages.DuplicateAttributeValue, {
503
506
  name: error.attribute.name
504
507
  });
505
508
  }
506
509
 
507
- if (error.code === 'MaxResourceLimitExceeded') {
510
+ if (extensionErrorCode === 'MaxResourceLimitExceeded') {
508
511
  return intl.formatMessage(apiErrorMessages.MaxResourceLimitExceeded);
509
512
  }
510
513
 
@@ -520,7 +523,10 @@ var ApiErrorNotification = function ApiErrorNotification(props) {
520
523
  onCloseClick: props.dismiss,
521
524
  children: jsxRuntime.jsx("ul", {
522
525
  children: _valuesInstanceProperty__default["default"](props.notification) && _mapInstanceProperty__default["default"](_context = _valuesInstanceProperty__default["default"](props.notification).errors).call(_context, function (error, idx) {
523
- var shouldLogErrorToConsole = !error.code && process.env.NODE_ENV === 'development';
526
+ var _error$extensions$cod, _error$extensions;
527
+
528
+ var extensionErrorCode = (_error$extensions$cod = (_error$extensions = error.extensions) === null || _error$extensions === void 0 ? void 0 : _error$extensions.code) !== null && _error$extensions$cod !== void 0 ? _error$extensions$cod : error.code;
529
+ var shouldLogErrorToConsole = !extensionErrorCode && process.env.NODE_ENV === 'development';
524
530
 
525
531
  if (shouldLogErrorToConsole) {
526
532
  /**
@@ -549,9 +555,9 @@ ApiErrorNotification.propTypes = process.env.NODE_ENV !== "production" ? {
549
555
  } : {};
550
556
  ApiErrorNotification.displayName = 'ApiErrorNotification';
551
557
 
552
- function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (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; }
558
+ function ownKeys$2(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; }
553
559
 
554
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$2(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
560
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$2(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
555
561
 
556
562
  var UnexpectedErrorNotification = function UnexpectedErrorNotification(props) {
557
563
  return jsxRuntime.jsx(Notification, {
@@ -622,9 +628,9 @@ var _excluded = ["values"],
622
628
  _excluded4 = ["text"],
623
629
  _excluded5 = ["text"];
624
630
 
625
- function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (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; }
631
+ function ownKeys$1(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; }
626
632
 
627
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
633
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
628
634
 
629
635
  var NotificationsListGlobal = function NotificationsListGlobal(props) {
630
636
  var dispatch = reactRedux.useDispatch();
@@ -820,9 +826,9 @@ var NotificationsList = function NotificationsList(props) {
820
826
 
821
827
  NotificationsList.displayName = 'NotificationsList';
822
828
 
823
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (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; }
829
+ 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; }
824
830
 
825
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
831
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
826
832
  var defaultProps = {
827
833
  domain: constants.NOTIFICATION_DOMAINS.SIDE,
828
834
  kind: constants.NOTIFICATION_KINDS_SIDE.success
@@ -60,7 +60,7 @@ var _sliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_sliceInstanc
60
60
  var isNumber__default = /*#__PURE__*/_interopDefault(isNumber);
61
61
 
62
62
  // NOTE: This string will be replaced on build time with the package version.
63
- var version = "20.11.0";
63
+ var version = "21.0.0-rc.0";
64
64
 
65
65
  var Context = /*#__PURE__*/react.createContext(function () {
66
66
  return null;
@@ -149,9 +149,9 @@ var getStylesForNotification = function getStylesForNotification(props) {
149
149
  }
150
150
  };
151
151
 
152
- function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (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; }
152
+ function ownKeys$4(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; }
153
153
 
154
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
154
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
155
155
 
156
156
  var NotificationIcon = function NotificationIcon(props) {
157
157
  if (props.type === constants.NOTIFICATION_KINDS_SIDE.error) return jsxRuntime.jsx(icons.ErrorIcon, {
@@ -356,9 +356,9 @@ var apiErrorMessages = reactIntl.defineMessages({
356
356
  }
357
357
  });
358
358
 
359
- function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (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; }
359
+ function ownKeys$3(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; }
360
360
 
361
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context6; _forEachInstanceProperty__default["default"](_context6 = ownKeys$3(Object(source), true)).call(_context6, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context7; _forEachInstanceProperty__default["default"](_context7 = ownKeys$3(Object(source))).call(_context7, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
361
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context6, _context7; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context6 = ownKeys$3(Object(source), !0)).call(_context6, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context7 = ownKeys$3(Object(source))).call(_context7, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
362
362
  var regexInvalidOperationRequiredAttribute = /Required attribute '(.*)' cannot be removed/;
363
363
 
364
364
  // The values passed to the Intl message must be a map of scalar values.
@@ -381,11 +381,12 @@ var hasErrorCodeAMatchingMessage = function hasErrorCodeAMatchingMessage(errorCo
381
381
  };
382
382
 
383
383
  var FormattedErrorMessage = function FormattedErrorMessage(props) {
384
- var _context2;
384
+ var _props$error$extensio, _props$error$extensio2, _context2;
385
385
 
386
386
  var intl = reactIntl.useIntl(); // Attempt to map the error by code
387
387
 
388
- var messageCode = props.error.code && hasErrorCodeAMatchingMessage(props.error.code) ? apiErrorMessages[props.error.code] : undefined;
388
+ var extensionErrorCode = (_props$error$extensio = (_props$error$extensio2 = props.error.extensions) === null || _props$error$extensio2 === void 0 ? void 0 : _props$error$extensio2.code) !== null && _props$error$extensio !== void 0 ? _props$error$extensio : props.error.code;
389
+ var messageCode = extensionErrorCode && hasErrorCodeAMatchingMessage(extensionErrorCode) ? apiErrorMessages[extensionErrorCode] : undefined;
389
390
  react.useEffect(function () {
390
391
  if (!messageCode) {
391
392
  var _context;
@@ -393,13 +394,13 @@ var FormattedErrorMessage = function FormattedErrorMessage(props) {
393
394
  // This error is not mapped / translated yet,
394
395
  // we log, report it to sentry and show the original error, unless `error.code` is `invalid_scope`
395
396
  // which an error code emitted for expired project(s)
396
- if (props.error.code !== 'invalid_scope' && !_includesInstanceProperty__default["default"](_context = props.error.message).call(_context, 'has expired')) {
397
+ if (extensionErrorCode !== 'invalid_scope' && !_includesInstanceProperty__default["default"](_context = props.error.message).call(_context, 'has expired')) {
397
398
  sentry.reportErrorToSentry(new Error('Unmapped error'), {
398
399
  extra: props.error
399
400
  });
400
401
  }
401
402
  }
402
- }, [messageCode, props.error]);
403
+ }, [extensionErrorCode, messageCode, props.error]);
403
404
 
404
405
  if (messageCode) {
405
406
  // The `error` object might contain extra fields for the specific `code`.
@@ -436,7 +437,9 @@ ApiErrorMessage.propTypes = {};
436
437
  ApiErrorMessage.displayName = 'ApiErrorMessage';
437
438
 
438
439
  function getSpecialFormattedMessageByErrorCode(error, intl) {
439
- var _context3, _context4, _context5;
440
+ var _error$extensions$cod, _error$extensions, _context3, _context4, _context5;
441
+
442
+ var extensionErrorCode = (_error$extensions$cod = (_error$extensions = error.extensions) === null || _error$extensions === void 0 ? void 0 : _error$extensions.code) !== null && _error$extensions$cod !== void 0 ? _error$extensions$cod : error.code;
440
443
 
441
444
  if (error.errorByExtension) {
442
445
  var extensionMessage;
@@ -448,26 +451,26 @@ function getSpecialFormattedMessageByErrorCode(error, intl) {
448
451
  return extensionMessage || error.message;
449
452
  }
450
453
 
451
- if (!error.code || error.code === 'InvalidInput') return intl.formatMessage(apiErrorMessages.General); // TODO: this is a temporary solution until we have proper pages about 403
454
+ if (!extensionErrorCode || extensionErrorCode === 'InvalidInput') return intl.formatMessage(apiErrorMessages.General); // TODO: this is a temporary solution until we have proper pages about 403
452
455
 
453
- if (error.code === 'insufficient_scope') return intl.formatMessage(apiErrorMessages.Forbidden);
454
- if (error.code === 'DuplicateField' && error.field === 'slug') return intl.formatMessage(apiErrorMessages.DuplicateSlug, {
456
+ if (extensionErrorCode === 'insufficient_scope') return intl.formatMessage(apiErrorMessages.Forbidden);
457
+ if (extensionErrorCode === 'DuplicateField' && error.field === 'slug') return intl.formatMessage(apiErrorMessages.DuplicateSlug, {
455
458
  slugValue: error.duplicateValue
456
459
  }); // Try to match the error with a custom error message
457
460
 
458
461
  if (has__default["default"](error, 'invalidValue') && has__default["default"](error.invalidValue, 'overlappingPrices')) return intl.formatMessage(apiErrorMessages.OverlappingPrices);
459
462
 
460
- if (error.code === 'InvalidOperation' && _includesInstanceProperty__default["default"](_context3 = error.message).call(_context3, 'validFrom') && _includesInstanceProperty__default["default"](_context4 = error.message).call(_context4, 'validUntil')) {
463
+ if (extensionErrorCode === 'InvalidOperation' && _includesInstanceProperty__default["default"](_context3 = error.message).call(_context3, 'validFrom') && _includesInstanceProperty__default["default"](_context4 = error.message).call(_context4, 'validUntil')) {
461
464
  return intl.formatMessage(apiErrorMessages.InvalidDateRange, {
462
465
  field: 'validFrom'
463
466
  });
464
467
  }
465
468
 
466
- if (error.code === 'InvalidOperation' && _includesInstanceProperty__default["default"](_context5 = error.message).call(_context5, 'Duplicate tax rate for')) {
469
+ if (extensionErrorCode === 'InvalidOperation' && _includesInstanceProperty__default["default"](_context5 = error.message).call(_context5, 'Duplicate tax rate for')) {
467
470
  return intl.formatMessage(apiErrorMessages.TaxCategoryDuplicateCountry);
468
471
  }
469
472
 
470
- if (error.code === 'InvalidOperation' && regexInvalidOperationRequiredAttribute.test(error.message)) {
473
+ if (extensionErrorCode === 'InvalidOperation' && regexInvalidOperationRequiredAttribute.test(error.message)) {
471
474
  var attrName = error.message.replace(regexInvalidOperationRequiredAttribute, '$1');
472
475
  return intl.formatMessage(apiErrorMessages.RequiredField, {
473
476
  field: attrName
@@ -477,17 +480,17 @@ function getSpecialFormattedMessageByErrorCode(error, intl) {
477
480
  // errors. We should investigate this further.
478
481
 
479
482
 
480
- if (error.code === 'InvalidField' && error.field === 'price' && has__default["default"](error, 'invalidValue') && has__default["default"](error.invalidValue, 'validFrom') && has__default["default"](error.invalidValue, 'validUntil')) return intl.formatMessage(apiErrorMessages.InvalidDateRange, {
483
+ if (extensionErrorCode === 'InvalidField' && error.field === 'price' && has__default["default"](error, 'invalidValue') && has__default["default"](error.invalidValue, 'validFrom') && has__default["default"](error.invalidValue, 'validUntil')) return intl.formatMessage(apiErrorMessages.InvalidDateRange, {
481
484
  field: error.field
482
485
  });
483
486
 
484
- if (error.code === 'DuplicateAttributeValue' && error.attribute) {
487
+ if (extensionErrorCode === 'DuplicateAttributeValue' && error.attribute) {
485
488
  return intl.formatMessage(apiErrorMessages.DuplicateAttributeValue, {
486
489
  name: error.attribute.name
487
490
  });
488
491
  }
489
492
 
490
- if (error.code === 'MaxResourceLimitExceeded') {
493
+ if (extensionErrorCode === 'MaxResourceLimitExceeded') {
491
494
  return intl.formatMessage(apiErrorMessages.MaxResourceLimitExceeded);
492
495
  }
493
496
 
@@ -503,7 +506,10 @@ var ApiErrorNotification = function ApiErrorNotification(props) {
503
506
  onCloseClick: props.dismiss,
504
507
  children: jsxRuntime.jsx("ul", {
505
508
  children: _valuesInstanceProperty__default["default"](props.notification) && _mapInstanceProperty__default["default"](_context = _valuesInstanceProperty__default["default"](props.notification).errors).call(_context, function (error, idx) {
506
- var shouldLogErrorToConsole = !error.code && "production" === 'development';
509
+ var _error$extensions$cod, _error$extensions;
510
+
511
+ var extensionErrorCode = (_error$extensions$cod = (_error$extensions = error.extensions) === null || _error$extensions === void 0 ? void 0 : _error$extensions.code) !== null && _error$extensions$cod !== void 0 ? _error$extensions$cod : error.code;
512
+ var shouldLogErrorToConsole = !extensionErrorCode && "production" === 'development';
507
513
 
508
514
  if (shouldLogErrorToConsole) {
509
515
  /**
@@ -529,9 +535,9 @@ var ApiErrorNotification = function ApiErrorNotification(props) {
529
535
  ApiErrorNotification.propTypes = {};
530
536
  ApiErrorNotification.displayName = 'ApiErrorNotification';
531
537
 
532
- function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (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; }
538
+ function ownKeys$2(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; }
533
539
 
534
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$2(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
540
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$2(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
535
541
 
536
542
  var UnexpectedErrorNotification = function UnexpectedErrorNotification(props) {
537
543
  return jsxRuntime.jsx(Notification, {
@@ -599,9 +605,9 @@ var _excluded = ["values"],
599
605
  _excluded4 = ["text"],
600
606
  _excluded5 = ["text"];
601
607
 
602
- function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (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; }
608
+ function ownKeys$1(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; }
603
609
 
604
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
610
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
605
611
 
606
612
  var NotificationsListGlobal = function NotificationsListGlobal(props) {
607
613
  var dispatch = reactRedux.useDispatch();
@@ -791,9 +797,9 @@ var NotificationsList = function NotificationsList(props) {
791
797
 
792
798
  NotificationsList.displayName = 'NotificationsList';
793
799
 
794
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (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; }
800
+ 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; }
795
801
 
796
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
802
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
797
803
  var defaultProps = {
798
804
  domain: constants.NOTIFICATION_DOMAINS.SIDE,
799
805
  kind: constants.NOTIFICATION_KINDS_SIDE.success
@@ -34,7 +34,7 @@ import isNumber from 'lodash/isNumber';
34
34
  import { useShowNotification } from '@commercetools-frontend/actions-global';
35
35
 
36
36
  // NOTE: This string will be replaced on build time with the package version.
37
- var version = "20.11.0";
37
+ var version = "21.0.0-rc.0";
38
38
 
39
39
  var Context = /*#__PURE__*/createContext(function () {
40
40
  return null;
@@ -126,9 +126,9 @@ var getStylesForNotification = function getStylesForNotification(props) {
126
126
  }
127
127
  };
128
128
 
129
- function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
129
+ function ownKeys$4(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; }
130
130
 
131
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty(_context = ownKeys$4(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context2; _forEachInstanceProperty(_context2 = ownKeys$4(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
131
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys$4(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys$4(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
132
132
 
133
133
  var NotificationIcon = function NotificationIcon(props) {
134
134
  if (props.type === NOTIFICATION_KINDS_SIDE.error) return jsx(ErrorIcon, {
@@ -345,9 +345,9 @@ var apiErrorMessages = defineMessages({
345
345
  }
346
346
  });
347
347
 
348
- function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
348
+ function ownKeys$3(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; }
349
349
 
350
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context6; _forEachInstanceProperty(_context6 = ownKeys$3(Object(source), true)).call(_context6, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context7; _forEachInstanceProperty(_context7 = ownKeys$3(Object(source))).call(_context7, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
350
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context6, _context7; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context6 = ownKeys$3(Object(source), !0)).call(_context6, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context7 = ownKeys$3(Object(source))).call(_context7, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
351
351
  var regexInvalidOperationRequiredAttribute = /Required attribute '(.*)' cannot be removed/;
352
352
 
353
353
  // The values passed to the Intl message must be a map of scalar values.
@@ -370,11 +370,12 @@ var hasErrorCodeAMatchingMessage = function hasErrorCodeAMatchingMessage(errorCo
370
370
  };
371
371
 
372
372
  var FormattedErrorMessage = function FormattedErrorMessage(props) {
373
- var _context2;
373
+ var _props$error$extensio, _props$error$extensio2, _context2;
374
374
 
375
375
  var intl = useIntl(); // Attempt to map the error by code
376
376
 
377
- var messageCode = props.error.code && hasErrorCodeAMatchingMessage(props.error.code) ? apiErrorMessages[props.error.code] : undefined;
377
+ var extensionErrorCode = (_props$error$extensio = (_props$error$extensio2 = props.error.extensions) === null || _props$error$extensio2 === void 0 ? void 0 : _props$error$extensio2.code) !== null && _props$error$extensio !== void 0 ? _props$error$extensio : props.error.code;
378
+ var messageCode = extensionErrorCode && hasErrorCodeAMatchingMessage(extensionErrorCode) ? apiErrorMessages[extensionErrorCode] : undefined;
378
379
  useEffect(function () {
379
380
  if (!messageCode) {
380
381
  var _context;
@@ -382,13 +383,13 @@ var FormattedErrorMessage = function FormattedErrorMessage(props) {
382
383
  // This error is not mapped / translated yet,
383
384
  // we log, report it to sentry and show the original error, unless `error.code` is `invalid_scope`
384
385
  // which an error code emitted for expired project(s)
385
- if (props.error.code !== 'invalid_scope' && !_includesInstanceProperty(_context = props.error.message).call(_context, 'has expired')) {
386
+ if (extensionErrorCode !== 'invalid_scope' && !_includesInstanceProperty(_context = props.error.message).call(_context, 'has expired')) {
386
387
  reportErrorToSentry(new Error('Unmapped error'), {
387
388
  extra: props.error
388
389
  });
389
390
  }
390
391
  }
391
- }, [messageCode, props.error]);
392
+ }, [extensionErrorCode, messageCode, props.error]);
392
393
 
393
394
  if (messageCode) {
394
395
  // The `error` object might contain extra fields for the specific `code`.
@@ -427,7 +428,9 @@ ApiErrorMessage.propTypes = process.env.NODE_ENV !== "production" ? {
427
428
  ApiErrorMessage.displayName = 'ApiErrorMessage';
428
429
 
429
430
  function getSpecialFormattedMessageByErrorCode(error, intl) {
430
- var _context3, _context4, _context5;
431
+ var _error$extensions$cod, _error$extensions, _context3, _context4, _context5;
432
+
433
+ var extensionErrorCode = (_error$extensions$cod = (_error$extensions = error.extensions) === null || _error$extensions === void 0 ? void 0 : _error$extensions.code) !== null && _error$extensions$cod !== void 0 ? _error$extensions$cod : error.code;
431
434
 
432
435
  if (error.errorByExtension) {
433
436
  var extensionMessage;
@@ -439,26 +442,26 @@ function getSpecialFormattedMessageByErrorCode(error, intl) {
439
442
  return extensionMessage || error.message;
440
443
  }
441
444
 
442
- if (!error.code || error.code === 'InvalidInput') return intl.formatMessage(apiErrorMessages.General); // TODO: this is a temporary solution until we have proper pages about 403
445
+ if (!extensionErrorCode || extensionErrorCode === 'InvalidInput') return intl.formatMessage(apiErrorMessages.General); // TODO: this is a temporary solution until we have proper pages about 403
443
446
 
444
- if (error.code === 'insufficient_scope') return intl.formatMessage(apiErrorMessages.Forbidden);
445
- if (error.code === 'DuplicateField' && error.field === 'slug') return intl.formatMessage(apiErrorMessages.DuplicateSlug, {
447
+ if (extensionErrorCode === 'insufficient_scope') return intl.formatMessage(apiErrorMessages.Forbidden);
448
+ if (extensionErrorCode === 'DuplicateField' && error.field === 'slug') return intl.formatMessage(apiErrorMessages.DuplicateSlug, {
446
449
  slugValue: error.duplicateValue
447
450
  }); // Try to match the error with a custom error message
448
451
 
449
452
  if (has(error, 'invalidValue') && has(error.invalidValue, 'overlappingPrices')) return intl.formatMessage(apiErrorMessages.OverlappingPrices);
450
453
 
451
- if (error.code === 'InvalidOperation' && _includesInstanceProperty(_context3 = error.message).call(_context3, 'validFrom') && _includesInstanceProperty(_context4 = error.message).call(_context4, 'validUntil')) {
454
+ if (extensionErrorCode === 'InvalidOperation' && _includesInstanceProperty(_context3 = error.message).call(_context3, 'validFrom') && _includesInstanceProperty(_context4 = error.message).call(_context4, 'validUntil')) {
452
455
  return intl.formatMessage(apiErrorMessages.InvalidDateRange, {
453
456
  field: 'validFrom'
454
457
  });
455
458
  }
456
459
 
457
- if (error.code === 'InvalidOperation' && _includesInstanceProperty(_context5 = error.message).call(_context5, 'Duplicate tax rate for')) {
460
+ if (extensionErrorCode === 'InvalidOperation' && _includesInstanceProperty(_context5 = error.message).call(_context5, 'Duplicate tax rate for')) {
458
461
  return intl.formatMessage(apiErrorMessages.TaxCategoryDuplicateCountry);
459
462
  }
460
463
 
461
- if (error.code === 'InvalidOperation' && regexInvalidOperationRequiredAttribute.test(error.message)) {
464
+ if (extensionErrorCode === 'InvalidOperation' && regexInvalidOperationRequiredAttribute.test(error.message)) {
462
465
  var attrName = error.message.replace(regexInvalidOperationRequiredAttribute, '$1');
463
466
  return intl.formatMessage(apiErrorMessages.RequiredField, {
464
467
  field: attrName
@@ -468,17 +471,17 @@ function getSpecialFormattedMessageByErrorCode(error, intl) {
468
471
  // errors. We should investigate this further.
469
472
 
470
473
 
471
- if (error.code === 'InvalidField' && error.field === 'price' && has(error, 'invalidValue') && has(error.invalidValue, 'validFrom') && has(error.invalidValue, 'validUntil')) return intl.formatMessage(apiErrorMessages.InvalidDateRange, {
474
+ if (extensionErrorCode === 'InvalidField' && error.field === 'price' && has(error, 'invalidValue') && has(error.invalidValue, 'validFrom') && has(error.invalidValue, 'validUntil')) return intl.formatMessage(apiErrorMessages.InvalidDateRange, {
472
475
  field: error.field
473
476
  });
474
477
 
475
- if (error.code === 'DuplicateAttributeValue' && error.attribute) {
478
+ if (extensionErrorCode === 'DuplicateAttributeValue' && error.attribute) {
476
479
  return intl.formatMessage(apiErrorMessages.DuplicateAttributeValue, {
477
480
  name: error.attribute.name
478
481
  });
479
482
  }
480
483
 
481
- if (error.code === 'MaxResourceLimitExceeded') {
484
+ if (extensionErrorCode === 'MaxResourceLimitExceeded') {
482
485
  return intl.formatMessage(apiErrorMessages.MaxResourceLimitExceeded);
483
486
  }
484
487
 
@@ -494,7 +497,10 @@ var ApiErrorNotification = function ApiErrorNotification(props) {
494
497
  onCloseClick: props.dismiss,
495
498
  children: jsx("ul", {
496
499
  children: _valuesInstanceProperty(props.notification) && _mapInstanceProperty(_context = _valuesInstanceProperty(props.notification).errors).call(_context, function (error, idx) {
497
- var shouldLogErrorToConsole = !error.code && process.env.NODE_ENV === 'development';
500
+ var _error$extensions$cod, _error$extensions;
501
+
502
+ var extensionErrorCode = (_error$extensions$cod = (_error$extensions = error.extensions) === null || _error$extensions === void 0 ? void 0 : _error$extensions.code) !== null && _error$extensions$cod !== void 0 ? _error$extensions$cod : error.code;
503
+ var shouldLogErrorToConsole = !extensionErrorCode && process.env.NODE_ENV === 'development';
498
504
 
499
505
  if (shouldLogErrorToConsole) {
500
506
  /**
@@ -523,9 +529,9 @@ ApiErrorNotification.propTypes = process.env.NODE_ENV !== "production" ? {
523
529
  } : {};
524
530
  ApiErrorNotification.displayName = 'ApiErrorNotification';
525
531
 
526
- function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
532
+ function ownKeys$2(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; }
527
533
 
528
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty(_context = ownKeys$2(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context2; _forEachInstanceProperty(_context2 = ownKeys$2(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
534
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys$2(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys$2(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
529
535
 
530
536
  var UnexpectedErrorNotification = function UnexpectedErrorNotification(props) {
531
537
  return jsx(Notification, {
@@ -596,9 +602,9 @@ var _excluded = ["values"],
596
602
  _excluded4 = ["text"],
597
603
  _excluded5 = ["text"];
598
604
 
599
- function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
605
+ function ownKeys$1(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; }
600
606
 
601
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty(_context = ownKeys$1(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context2; _forEachInstanceProperty(_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
607
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys$1(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
602
608
 
603
609
  var NotificationsListGlobal = function NotificationsListGlobal(props) {
604
610
  var dispatch = useDispatch();
@@ -794,9 +800,9 @@ var NotificationsList = function NotificationsList(props) {
794
800
 
795
801
  NotificationsList.displayName = 'NotificationsList';
796
802
 
797
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
803
+ 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; }
798
804
 
799
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty(_context = ownKeys(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context2; _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
805
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
800
806
  var defaultProps = {
801
807
  domain: NOTIFICATION_DOMAINS.SIDE,
802
808
  kind: NOTIFICATION_KINDS_SIDE.success
@@ -1,12 +1,24 @@
1
1
  import type { TAppNotificationGlobal, TAppNotificationPage, TAppNotificationSide } from '@commercetools-frontend/constants';
2
2
  import type { TAppState } from './types';
3
3
  export declare const selectNotifications: (state: TAppState) => (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[];
4
- export declare const selectGlobalNotifications: import("reselect").OutputSelector<[(state: TAppState) => (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[]], TAppNotificationGlobal[], never, ((args_0: (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[], ...args_1: unknown[]) => TAppNotificationGlobal[]) & ((...args: any[]) => any) & {
4
+ export declare const selectGlobalNotifications: ((state: {
5
+ notifications: (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[];
6
+ }) => TAppNotificationGlobal[]) & import("reselect").OutputSelectorFields<(args_0: (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[]) => TAppNotificationGlobal[] & {
5
7
  clearCache: () => void;
6
- }>;
7
- export declare const selectPageNotifications: import("reselect").OutputSelector<[(state: TAppState) => (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[]], TAppNotificationPage[], never, ((args_0: (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[], ...args_1: unknown[]) => TAppNotificationPage[]) & ((...args: any[]) => any) & {
8
+ }> & {
8
9
  clearCache: () => void;
9
- }>;
10
- export declare const selectSideNotifications: import("reselect").OutputSelector<[(state: TAppState) => (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[]], TAppNotificationSide[], never, ((args_0: (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[], ...args_1: unknown[]) => TAppNotificationSide[]) & ((...args: any[]) => any) & {
10
+ };
11
+ export declare const selectPageNotifications: ((state: {
12
+ notifications: (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[];
13
+ }) => TAppNotificationPage[]) & import("reselect").OutputSelectorFields<(args_0: (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[]) => TAppNotificationPage[] & {
11
14
  clearCache: () => void;
12
- }>;
15
+ }> & {
16
+ clearCache: () => void;
17
+ };
18
+ export declare const selectSideNotifications: ((state: {
19
+ notifications: (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[];
20
+ }) => TAppNotificationSide[]) & import("reselect").OutputSelectorFields<(args_0: (TAppNotificationGlobal | TAppNotificationPage | TAppNotificationSide)[]) => TAppNotificationSide[] & {
21
+ clearCache: () => void;
22
+ }> & {
23
+ clearCache: () => void;
24
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools-frontend/react-notifications",
3
- "version": "20.11.0",
3
+ "version": "21.0.0-rc.0",
4
4
  "description": "React bindings for @commercetools-frontend/notifications",
5
5
  "bugs": "https://github.com/commercetools/merchant-center-application-kit/issues",
6
6
  "repository": {
@@ -18,37 +18,37 @@
18
18
  "module": "dist/commercetools-frontend-react-notifications.esm.js",
19
19
  "files": ["dist", "package.json", "LICENSE", "README.md"],
20
20
  "dependencies": {
21
- "@babel/runtime": "7.15.4",
22
- "@babel/runtime-corejs3": "7.15.4",
23
- "@commercetools-frontend/actions-global": "20.11.0",
24
- "@commercetools-frontend/constants": "20.11.0",
25
- "@commercetools-frontend/notifications": "20.10.6",
26
- "@commercetools-frontend/sentry": "20.11.0",
27
- "@commercetools-uikit/design-system": "^12.2.2",
28
- "@commercetools-uikit/icon-button": "^12.2.2",
29
- "@commercetools-uikit/icons": "^12.2.2",
30
- "@commercetools-uikit/spacings": "^12.2.2",
31
- "@emotion/react": "11.5.0",
32
- "@emotion/styled": "11.3.0",
33
- "@types/history": "4.7.9",
34
- "@types/lodash": "^4.14.167",
35
- "@types/prop-types": "^15.7.3",
36
- "@types/react": "^17.0.16",
37
- "@types/react-dom": "^17.0.9",
38
- "@types/react-redux": "^7.1.16",
39
- "@types/react-router": "^5.1.13",
40
- "@types/react-router-dom": "^5.1.7",
21
+ "@babel/runtime": "7.16.7",
22
+ "@babel/runtime-corejs3": "7.16.8",
23
+ "@commercetools-frontend/actions-global": "21.0.0-rc.0",
24
+ "@commercetools-frontend/constants": "21.0.0-rc.0",
25
+ "@commercetools-frontend/notifications": "21.0.0-rc.0",
26
+ "@commercetools-frontend/sentry": "21.0.0-rc.0",
27
+ "@commercetools-uikit/design-system": "^12.2.9",
28
+ "@commercetools-uikit/icon-button": "^12.2.9",
29
+ "@commercetools-uikit/icons": "^12.2.9",
30
+ "@commercetools-uikit/spacings": "^12.2.9",
31
+ "@emotion/react": "11.7.1",
32
+ "@emotion/styled": "11.6.0",
33
+ "@types/history": "4.7.11",
34
+ "@types/lodash": "^4.14.178",
35
+ "@types/prop-types": "^15.7.4",
36
+ "@types/react": "^17.0.38",
37
+ "@types/react-dom": "^17.0.11",
38
+ "@types/react-redux": "^7.1.22",
39
+ "@types/react-router": "^5.1.18",
40
+ "@types/react-router-dom": "^5.3.3",
41
41
  "lodash": "4.17.21",
42
42
  "moment": "^2.29.1",
43
- "moment-timezone": "^0.5.32",
44
- "prop-types": "15.7.2",
45
- "reselect": "4.1.0"
43
+ "moment-timezone": "^0.5.34",
44
+ "prop-types": "15.8.1",
45
+ "reselect": "4.1.5"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@testing-library/react": "12.1.2",
49
49
  "react": "17.0.2",
50
50
  "react-dom": "17.0.2",
51
- "react-intl": "5.21.0",
51
+ "react-intl": "5.24.3",
52
52
  "react-redux": "7.2.6",
53
53
  "react-router-dom": "5.3.0"
54
54
  },