@commercetools-frontend/application-components 21.3.4 → 21.5.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.
@@ -41,6 +41,7 @@ var CommercetoolsLogoSvg = require('@commercetools-frontend/assets/logos/commerc
41
41
  var Constraints = require('@commercetools-uikit/constraints');
42
42
  var PageNotFoundSVG = require('@commercetools-frontend/assets/images/desert-fox.svg');
43
43
  var FailedAuthorizationSVG = require('@commercetools-frontend/assets/images/folder-full-locked.svg');
44
+ var useResizeObserver = require('@react-hook/resize-observer');
44
45
 
45
46
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
46
47
 
@@ -71,9 +72,10 @@ var CommercetoolsLogoSvg__default = /*#__PURE__*/_interopDefault(CommercetoolsLo
71
72
  var Constraints__default = /*#__PURE__*/_interopDefault(Constraints);
72
73
  var PageNotFoundSVG__default = /*#__PURE__*/_interopDefault(PageNotFoundSVG);
73
74
  var FailedAuthorizationSVG__default = /*#__PURE__*/_interopDefault(FailedAuthorizationSVG);
75
+ var useResizeObserver__default = /*#__PURE__*/_interopDefault(useResizeObserver);
74
76
 
75
77
  // NOTE: This string will be replaced on build time with the package version.
76
- var version = "21.3.4";
78
+ var version = "21.5.0";
77
79
 
78
80
  function _EMOTION_STRINGIFIED_CSS_ERROR__$a() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
79
81
 
@@ -170,14 +172,14 @@ TabHeader.propTypes = process.env.NODE_ENV !== "production" ? {
170
172
  exactPathMatch: _pt__default["default"].bool.isRequired
171
173
  } : {};
172
174
  TabHeader.displayName = 'TabHeader';
173
- var defaultProps$e = {
175
+ var defaultProps$d = {
174
176
  isDisabled: false,
175
177
  exactPathMatch: false
176
178
  };
177
- TabHeader.defaultProps = defaultProps$e;
179
+ TabHeader.defaultProps = defaultProps$d;
178
180
 
179
181
  function _EMOTION_STRINGIFIED_CSS_ERROR__$9() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
180
- var defaultProps$d = {
182
+ var defaultProps$c = {
181
183
  titleSize: 'small',
182
184
  truncate: false
183
185
  };
@@ -264,7 +266,7 @@ PageHeaderTitle.propTypes = process.env.NODE_ENV !== "production" ? {
264
266
  subtitle: _pt__default["default"].oneOfType([_pt__default["default"].string, _pt__default["default"].element])
265
267
  } : {};
266
268
  PageHeaderTitle.displayName = 'PageHeaderTitle';
267
- PageHeaderTitle.defaultProps = defaultProps$d;
269
+ PageHeaderTitle.defaultProps = defaultProps$c;
268
270
 
269
271
  function _EMOTION_STRINGIFIED_CSS_ERROR__$8() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
270
272
 
@@ -313,10 +315,10 @@ TabularPageContainer.propTypes = process.env.NODE_ENV !== "production" ? {
313
315
  color: _pt__default["default"].oneOf(['surface', 'neutral']).isRequired
314
316
  } : {};
315
317
  TabularPageContainer.displayName = 'TabularPageContainer';
316
- var defaultProps$c = {
318
+ var defaultProps$b = {
317
319
  color: 'surface'
318
320
  };
319
- TabularPageContainer.defaultProps = defaultProps$c;
321
+ TabularPageContainer.defaultProps = defaultProps$b;
320
322
 
321
323
  var FormControlsContainer = _styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
322
324
  target: "elpldre0"
@@ -444,7 +446,7 @@ FormDeleteButton.propTypes = process.env.NODE_ENV !== "production" ? {
444
446
  FormDeleteButton.displayName = 'FormDeleteButton';
445
447
  FormDeleteButton.defaultProps = deleteDefaultProps;
446
448
 
447
- var defaultProps$b = {
449
+ var defaultProps$a = {
448
450
  hideControls: false
449
451
  };
450
452
 
@@ -487,7 +489,7 @@ TabularMainPage.propTypes = process.env.NODE_ENV !== "production" ? {
487
489
  hideControls: _pt__default["default"].bool.isRequired
488
490
  } : {};
489
491
  TabularMainPage.displayName = 'TabularMainPage';
490
- TabularMainPage.defaultProps = defaultProps$b; // Static export of pre-configured form control buttons to easily re-use
492
+ TabularMainPage.defaultProps = defaultProps$a; // Static export of pre-configured form control buttons to easily re-use
491
493
  // them in the custom controls.
492
494
 
493
495
  TabularMainPage.FormPrimaryButton = FormPrimaryButton;
@@ -510,7 +512,7 @@ var messages$2 = reactIntl.defineMessages({
510
512
  }
511
513
  });
512
514
 
513
- var defaultProps$a = {
515
+ var defaultProps$9 = {
514
516
  color: 'surface',
515
517
  previousPathLabel: messages$2.back
516
518
  };
@@ -542,9 +544,9 @@ PageTopBar.propTypes = process.env.NODE_ENV !== "production" ? {
542
544
  onClick: _pt__default["default"].func.isRequired
543
545
  } : {};
544
546
  PageTopBar.displayName = 'PageTopBar';
545
- PageTopBar.defaultProps = defaultProps$a;
547
+ PageTopBar.defaultProps = defaultProps$9;
546
548
 
547
- var defaultProps$9 = {
549
+ var defaultProps$8 = {
548
550
  hideControls: false
549
551
  };
550
552
 
@@ -597,7 +599,7 @@ TabularDetailPage.propTypes = process.env.NODE_ENV !== "production" ? {
597
599
  onPreviousPathClick: _pt__default["default"].func.isRequired
598
600
  } : {};
599
601
  TabularDetailPage.displayName = 'TabularDetailPage';
600
- TabularDetailPage.defaultProps = defaultProps$9; // Static export of pre-configured form control buttons to easily re-use
602
+ TabularDetailPage.defaultProps = defaultProps$8; // Static export of pre-configured form control buttons to easily re-use
601
603
  // them in the custom controls.
602
604
 
603
605
  TabularDetailPage.FormPrimaryButton = FormPrimaryButton;
@@ -664,7 +666,7 @@ var getDefaultParentSelector$1 = function getDefaultParentSelector() {
664
666
  return process.env.NODE_ENV === 'test' ? document.body : document.querySelector("#".concat(constants.PORTALS_CONTAINER_ID));
665
667
  };
666
668
 
667
- var defaultProps$8 = {
669
+ var defaultProps$7 = {
668
670
  size: 10,
669
671
  zIndex: 1000,
670
672
  getParentSelector: getDefaultParentSelector$1
@@ -761,7 +763,7 @@ DialogContainer.propTypes = process.env.NODE_ENV !== "production" ? {
761
763
  getParentSelector: _pt__default["default"].any.isRequired
762
764
  } : {};
763
765
  DialogContainer.displayName = 'DialogContainer';
764
- DialogContainer.defaultProps = defaultProps$8;
766
+ DialogContainer.defaultProps = defaultProps$7;
765
767
 
766
768
  function _EMOTION_STRINGIFIED_CSS_ERROR__$4() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
767
769
 
@@ -842,7 +844,7 @@ InfoDialog.displayName = 'InfoDialog';
842
844
  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; }
843
845
 
844
846
  function _objectSpread$3(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$3(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$3(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
845
- var defaultProps$7 = {
847
+ var defaultProps$6 = {
846
848
  isPrimaryButtonDisabled: false,
847
849
  dataAttributesPrimaryButton: {},
848
850
  dataAttributesSecondaryButton: {}
@@ -887,9 +889,9 @@ DialogFooter.propTypes = process.env.NODE_ENV !== "production" ? {
887
889
  dataAttributesSecondaryButton: _pt__default["default"].objectOf(_pt__default["default"].string).isRequired
888
890
  } : {};
889
891
  DialogFooter.displayName = 'DialogFooter';
890
- DialogFooter.defaultProps = defaultProps$7;
892
+ DialogFooter.defaultProps = defaultProps$6;
891
893
 
892
- var defaultProps$6 = {
894
+ var defaultProps$5 = {
893
895
  labelSecondary: i18n.sharedMessages.cancel,
894
896
  labelPrimary: i18n.sharedMessages.confirm
895
897
  };
@@ -944,12 +946,12 @@ ConfirmationDialog.propTypes = process.env.NODE_ENV !== "production" ? {
944
946
  getParentSelector: _pt__default["default"].func
945
947
  } : {};
946
948
  ConfirmationDialog.displayName = 'ConfirmationDialog';
947
- ConfirmationDialog.defaultProps = defaultProps$6; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
949
+ ConfirmationDialog.defaultProps = defaultProps$5; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
948
950
  // The Intl messages can be used for button labels.
949
951
 
950
952
  ConfirmationDialog.Intl = i18n.sharedMessages;
951
953
 
952
- var defaultProps$5 = {
954
+ var defaultProps$4 = {
953
955
  labelSecondary: i18n.sharedMessages.cancel,
954
956
  labelPrimary: i18n.sharedMessages.save
955
957
  };
@@ -1004,7 +1006,7 @@ FormDialog.propTypes = process.env.NODE_ENV !== "production" ? {
1004
1006
  getParentSelector: _pt__default["default"].func
1005
1007
  } : {};
1006
1008
  FormDialog.displayName = 'FormDialog';
1007
- FormDialog.defaultProps = defaultProps$5; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1009
+ FormDialog.defaultProps = defaultProps$4; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1008
1010
  // The Intl messages can be used for button labels.
1009
1011
 
1010
1012
  FormDialog.Intl = i18n.sharedMessages;
@@ -1094,7 +1096,7 @@ var LargeIconWrapper = _styled__default["default"]("span", process.env.NODE_ENV
1094
1096
  // does not recognize the object shape.
1095
1097
 
1096
1098
 
1097
- var defaultProps$4 = {
1099
+ var defaultProps$3 = {
1098
1100
  color: 'surface',
1099
1101
  previousPathLabel: messages$2.back
1100
1102
  };
@@ -1157,7 +1159,7 @@ ModalPageTopBar.propTypes = process.env.NODE_ENV !== "production" ? {
1157
1159
  onClose: _pt__default["default"].func.isRequired
1158
1160
  } : {};
1159
1161
  ModalPageTopBar.displayName = 'ModalPageTopBar';
1160
- ModalPageTopBar.defaultProps = defaultProps$4;
1162
+ ModalPageTopBar.defaultProps = defaultProps$3;
1161
1163
 
1162
1164
  var getDefaultParentSelector = function getDefaultParentSelector() {
1163
1165
  return process.env.NODE_ENV === 'test' ? document.body : document.querySelector("#".concat(constants.PORTALS_CONTAINER_ID));
@@ -1166,7 +1168,7 @@ var getDefaultParentSelector = function getDefaultParentSelector() {
1166
1168
  // does not recognize the object shape.
1167
1169
 
1168
1170
 
1169
- var defaultProps$3 = {
1171
+ var defaultProps$2 = {
1170
1172
  level: 1,
1171
1173
  baseZIndex: 1000,
1172
1174
  getParentSelector: getDefaultParentSelector,
@@ -1265,7 +1267,7 @@ ModalPage.propTypes = process.env.NODE_ENV !== "production" ? {
1265
1267
  })])
1266
1268
  } : {};
1267
1269
  ModalPage.displayName = 'ModalPage';
1268
- ModalPage.defaultProps = defaultProps$3;
1270
+ ModalPage.defaultProps = defaultProps$2;
1269
1271
 
1270
1272
  var PageHeader = function PageHeader(props) {
1271
1273
  return jsxRuntime.jsxs("div", {
@@ -1385,7 +1387,7 @@ CustomFormModalPage.FormDeleteButton = FormDeleteButton; // This is a convenienc
1385
1387
 
1386
1388
  CustomFormModalPage.Intl = i18n.sharedMessages;
1387
1389
 
1388
- var defaultProps$2 = {
1390
+ var defaultProps$1 = {
1389
1391
  hideControls: false
1390
1392
  };
1391
1393
 
@@ -1458,12 +1460,12 @@ FormModalPage.propTypes = process.env.NODE_ENV !== "production" ? {
1458
1460
  hideControls: _pt__default["default"].bool.isRequired
1459
1461
  } : {};
1460
1462
  FormModalPage.displayName = 'FormModalPage';
1461
- FormModalPage.defaultProps = defaultProps$2; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1463
+ FormModalPage.defaultProps = defaultProps$1; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1462
1464
  // The Intl messages can be used for button labels.
1463
1465
 
1464
1466
  FormModalPage.Intl = i18n.sharedMessages;
1465
1467
 
1466
- var defaultProps$1 = {
1468
+ var defaultProps = {
1467
1469
  hideControls: false
1468
1470
  };
1469
1471
 
@@ -1528,7 +1530,7 @@ TabularModalPage.propTypes = process.env.NODE_ENV !== "production" ? {
1528
1530
  hideControls: _pt__default["default"].bool.isRequired
1529
1531
  } : {};
1530
1532
  TabularModalPage.displayName = 'TabularModalPage';
1531
- TabularModalPage.defaultProps = defaultProps$1; // Static export of pre-configured form control buttons to easily re-use
1533
+ TabularModalPage.defaultProps = defaultProps; // Static export of pre-configured form control buttons to easily re-use
1532
1534
  // them in the custom controls.
1533
1535
 
1534
1536
  TabularModalPage.FormPrimaryButton = FormPrimaryButton;
@@ -1778,39 +1780,62 @@ var PageUnauthorized = function PageUnauthorized() {
1778
1780
  PageUnauthorized.displayName = 'PageUnauthorized';
1779
1781
 
1780
1782
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
1781
- var defaultProps = {
1782
- offsetTop: '0',
1783
- offsetLeft: '0',
1784
- offsetLeftOnExpandedMenu: '0',
1785
- containerSelectorToPreventScrollingOnOpen: 'main',
1786
- zIndex: 10000
1783
+
1784
+ var useObserverElementDimensions = function useObserverElementDimensions(element) {
1785
+ var _useState = react$1.useState({
1786
+ height: 0,
1787
+ width: 0
1788
+ }),
1789
+ _useState2 = _slicedToArray(_useState, 2),
1790
+ dimensions = _useState2[0],
1791
+ setDimensions = _useState2[1];
1792
+
1793
+ useResizeObserver__default["default"](element, function (entry) {
1794
+ setDimensions({
1795
+ height: entry.contentRect.height,
1796
+ width: entry.contentRect.width
1797
+ });
1798
+ });
1799
+ return dimensions;
1787
1800
  }; // All modal components expect to be rendered inside this container.
1788
1801
 
1802
+
1789
1803
  var _ref = process.env.NODE_ENV === "production" ? {
1790
1804
  name: "qk9kof",
1791
1805
  styles: "display:flex;height:1px;margin-top:-1px"
1792
1806
  } : {
1793
1807
  name: "14eqpg3-PortalsContainer",
1794
1808
  styles: "display:flex;height:1px;margin-top:-1px;label:PortalsContainer;",
1795
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcnRhbHMtY29udGFpbmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRWMiLCJmaWxlIjoicG9ydGFscy1jb250YWluZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzLCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBQT1JUQUxTX0NPTlRBSU5FUl9JRCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5cbnR5cGUgVFBvcnRhbHNDb250YWluZXJQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFRoZSBvZmZzZXQgdmFsdWUgZm9yIHBvc2l0aW9uaW5nIHRoZSBjb250YWluZXIgZnJvbSB0aGUgdG9wLCB3aGVuIG9wZW5lZC5cbiAgICogVXN1YWxseSB0aGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBoZWlnaHQgb2YgdGhlIGhlYWRlciBzZWN0aW9uLlxuICAgKi9cbiAgb2Zmc2V0VG9wOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgb2Zmc2V0IHZhbHVlIGZvciBwb3NpdGlvbmluZyB0aGUgY29udGFpbmVyIGZyb20gdGhlIGxlZnQsIHdoZW4gb3BlbmVkLlxuICAgKiBVc3VhbGx5IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIG1pbiB3aWR0aCBvZiB0aGUgbmF2IG1lbnUuXG4gICAqL1xuICBvZmZzZXRMZWZ0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgb2Zmc2V0IHZhbHVlIGZvciBwb3NpdGlvbmluZyB0aGUgY29udGFpbmVyIGZyb20gdGhlIGxlZnQsIHdoZW4gb3BlbmVkLlxuICAgKiBUaGUgdmFsdWUgaXMgb25seSBhcHBsaWVkIHdoZW4gdGhlIGAuYm9keV9fbWVudS1vcGVuYCBnbG9iYWwgY2xhc3MgaXMgYWRkZWQgdG8gdGhlIERPTS5cbiAgICogVXN1YWxseSB0aGlzIGNvcnJlc3BvbmRzIHRvIHRoZSB3aWR0aCBvZiB0aGUgZXhwYW5kZWQgbmF2IG1lbnUuXG4gICAqL1xuICBvZmZzZXRMZWZ0T25FeHBhbmRlZE1lbnU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBDU1Mgc2VsZWN0b3IgdG8gYXBwbHkgdGhlIGBvdmVyZmxvdzogaGlkZGVuYCBzdHlsZSB0byAocHJldmVudGluZyBzY3JvbGxpbmcpXG4gICAqIHdoZW4gYSBtb2RhbCBjb250YWluZXIgaXMgb3Blbi5cbiAgICovXG4gIGNvbnRhaW5lclNlbGVjdG9yVG9QcmV2ZW50U2Nyb2xsaW5nT25PcGVuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgYHotaW5kZXhgIHZhbHVlIHRvIGFwcGx5IHRvIHRoZSBwb3J0YWwgY29udGFpbmVyLiBEZWZhdWx0IHRvIGAxMDAwMGAuXG4gICAqL1xuICB6SW5kZXg6IG51bWJlcjtcbn07XG5jb25zdCBkZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFRQb3J0YWxzQ29udGFpbmVyUHJvcHMsXG4gIHwgJ29mZnNldFRvcCdcbiAgfCAnb2Zmc2V0TGVmdCdcbiAgfCAnb2Zmc2V0TGVmdE9uRXhwYW5kZWRNZW51J1xuICB8ICdjb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbidcbiAgfCAnekluZGV4J1xuPiA9IHtcbiAgb2Zmc2V0VG9wOiAnMCcsXG4gIG9mZnNldExlZnQ6ICcwJyxcbiAgb2Zmc2V0TGVmdE9uRXhwYW5kZWRNZW51OiAnMCcsXG4gIGNvbnRhaW5lclNlbGVjdG9yVG9QcmV2ZW50U2Nyb2xsaW5nT25PcGVuOiAnbWFpbicsXG4gIHpJbmRleDogMTAwMDAsXG59O1xuXG4vLyBBbGwgbW9kYWwgY29tcG9uZW50cyBleHBlY3QgdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoaXMgY29udGFpbmVyLlxuY29uc3QgUG9ydGFsc0NvbnRhaW5lciA9IChwcm9wczogVFBvcnRhbHNDb250YWluZXJQcm9wcykgPT4gKFxuICA8PlxuICAgIDxHbG9iYWxcbiAgICAgIC8vIEFwcGx5IHNvbWUgZ2xvYmFsIHN0eWxlcywgYmFzZWQgb24gdGhlIGAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbmAgY2xhc3MuXG4gICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW5cbiAgICAgICAgICAke3Byb3BzLmNvbnRhaW5lclNlbGVjdG9yVG9QcmV2ZW50U2Nyb2xsaW5nT25PcGVufSB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuICMke1BPUlRBTFNfQ09OVEFJTkVSX0lEfSB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gJHtwcm9wcy5vZmZzZXRUb3B9KTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gJHtwcm9wcy5vZmZzZXRMZWZ0fSk7XG4gICAgICAgICAgdG9wOiAke3Byb3BzLm9mZnNldFRvcH07XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHotaW5kZXg6ICR7cHJvcHMuekluZGV4fTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuLmJvZHlfX21lbnUtb3BlbiAjJHtQT1JUQUxTX0NPTlRBSU5FUl9JRH0ge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAke3Byb3BzLm9mZnNldExlZnRPbkV4cGFuZGVkTWVudX0pO1xuICAgICAgICB9XG4gICAgICBgfVxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgaWQ9e1BPUlRBTFNfQ09OVEFJTkVSX0lEfVxuICAgICAgLy8gVGhlIGNvbnRhaW5lciBuZWVkcyBhIGhlaWdodCBpbiBvcmRlciB0byBiZSB0YWJiYWJsZTogaHR0cHM6Ly9yZWFjdGpzL3JlYWN0LW1vZGFsIzc3NFxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgYH1cbiAgICAvPlxuICA8Lz5cbik7XG5Qb3J0YWxzQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ1BvcnRhbHNDb250YWluZXInO1xuUG9ydGFsc0NvbnRhaW5lci5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbmV4cG9ydCBkZWZhdWx0IFBvcnRhbHNDb250YWluZXI7XG4iXX0= */",
1809
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcnRhbHMtY29udGFpbmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3SGtCIiwiZmlsZSI6InBvcnRhbHMtY29udGFpbmVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTXV0YWJsZVJlZk9iamVjdCxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIGZvcndhcmRSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB1c2VSZXNpemVPYnNlcnZlciBmcm9tICdAcmVhY3QtaG9vay9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHsgUE9SVEFMU19DT05UQUlORVJfSUQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuXG50eXBlIFRMYXlvdXRSZWZzID0ge1xuICBub3RpZmljYXRpb25zR2xvYmFsUmVmOiBNdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgbm90aWZpY2F0aW9uc1BhZ2VSZWY6IE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcbnR5cGUgVE9ic2VydmFibGVFbGVtZW50RGltZW5zaW9ucyA9IHtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG59O1xudHlwZSBUUG9ydGFsc0NvbnRhaW5lclByb3BzID0ge1xuICAvKipcbiAgICogVGhlIG9mZnNldCB2YWx1ZSBmb3IgcG9zaXRpb25pbmcgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSB0b3AsIHdoZW4gb3BlbmVkLlxuICAgKiBVc3VhbGx5IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIGhlaWdodCBvZiB0aGUgaGVhZGVyIHNlY3Rpb24uXG4gICAqL1xuICBvZmZzZXRUb3A6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBvZmZzZXQgdmFsdWUgZm9yIHBvc2l0aW9uaW5nIHRoZSBjb250YWluZXIgZnJvbSB0aGUgbGVmdCwgd2hlbiBvcGVuZWQuXG4gICAqIFVzdWFsbHkgdGhpcyBjb3JyZXNwb25kcyB0byB0aGUgbWluIHdpZHRoIG9mIHRoZSBuYXYgbWVudS5cbiAgICovXG4gIG9mZnNldExlZnQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBvZmZzZXQgdmFsdWUgZm9yIHBvc2l0aW9uaW5nIHRoZSBjb250YWluZXIgZnJvbSB0aGUgbGVmdCwgd2hlbiBvcGVuZWQuXG4gICAqIFRoZSB2YWx1ZSBpcyBvbmx5IGFwcGxpZWQgd2hlbiB0aGUgYC5ib2R5X19tZW51LW9wZW5gIGdsb2JhbCBjbGFzcyBpcyBhZGRlZCB0byB0aGUgRE9NLlxuICAgKiBVc3VhbGx5IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIHdpZHRoIG9mIHRoZSBleHBhbmRlZCBuYXYgbWVudS5cbiAgICovXG4gIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIENTUyBzZWxlY3RvciB0byBhcHBseSB0aGUgYG92ZXJmbG93OiBoaWRkZW5gIHN0eWxlIHRvIChwcmV2ZW50aW5nIHNjcm9sbGluZylcbiAgICogd2hlbiBhIG1vZGFsIGNvbnRhaW5lciBpcyBvcGVuLlxuICAgKi9cbiAgY29udGFpbmVyU2VsZWN0b3JUb1ByZXZlbnRTY3JvbGxpbmdPbk9wZW46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBgei1pbmRleGAgdmFsdWUgdG8gYXBwbHkgdG8gdGhlIHBvcnRhbCBjb250YWluZXIuIERlZmF1bHQgdG8gYDEwMDAwYC5cbiAgICovXG4gIHpJbmRleDogbnVtYmVyO1xufTtcblxuY29uc3QgdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyA9IChcbiAgZWxlbWVudDogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PiB8IG51bGxcbik6IFRPYnNlcnZhYmxlRWxlbWVudERpbWVuc2lvbnMgPT4ge1xuICBjb25zdCBbZGltZW5zaW9ucywgc2V0RGltZW5zaW9uc10gPSB1c2VTdGF0ZTxUT2JzZXJ2YWJsZUVsZW1lbnREaW1lbnNpb25zPih7XG4gICAgaGVpZ2h0OiAwLFxuICAgIHdpZHRoOiAwLFxuICB9KTtcblxuICB1c2VSZXNpemVPYnNlcnZlcjxIVE1MRGl2RWxlbWVudD4oZWxlbWVudCwgKGVudHJ5KSA9PiB7XG4gICAgc2V0RGltZW5zaW9ucyh7XG4gICAgICBoZWlnaHQ6IGVudHJ5LmNvbnRlbnRSZWN0LmhlaWdodCxcbiAgICAgIHdpZHRoOiBlbnRyeS5jb250ZW50UmVjdC53aWR0aCxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIGRpbWVuc2lvbnM7XG59O1xuXG4vLyBBbGwgbW9kYWwgY29tcG9uZW50cyBleHBlY3QgdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoaXMgY29udGFpbmVyLlxuY29uc3QgUG9ydGFsc0NvbnRhaW5lciA9IGZvcndhcmRSZWY8VExheW91dFJlZnMsIFRQb3J0YWxzQ29udGFpbmVyUHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4ge1xuICAgIC8vIEluaXRpYWxpemUgcHJvcHMgd2l0aCBkZWZhdWx0IHZhbHVlcy5cbiAgICAvLyBOT1RFOiB1c2luZyBgZGVmYXVsdFByb3BzYCB3aXRoIGBmb3J3YXJkUmVmYCByZXN1bHRzIGluIHRoZSB0eXBlIGRlY2xhcmF0aW9uc1xuICAgIC8vIHRvIGlnbm9yZSB0aGUgYGRlZmF1bHRQcm9wc2AuIFRoZXJlZm9yZSwgdGhlIGRlZmF1bHQgcHJvcHMgYXJlIHR5cGVkXG4gICAgLy8gYXMgb3B0aW9uYWwgYW5kIHdlIGluaXRpYWxpemUgdGhlIHZhbHVlIGhlcmUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMuXG4gICAgY29uc3Qgb2Zmc2V0VG9wID0gcHJvcHMub2Zmc2V0VG9wID8/ICcwcHgnO1xuICAgIGNvbnN0IG9mZnNldExlZnQgPSBwcm9wcy5vZmZzZXRMZWZ0ID8/ICcwcHgnO1xuICAgIGNvbnN0IG9mZnNldExlZnRPbkV4cGFuZGVkTWVudSA9IHByb3BzLm9mZnNldExlZnRPbkV4cGFuZGVkTWVudSA/PyAnMHB4JztcbiAgICBjb25zdCBjb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbiA9XG4gICAgICBwcm9wcy5jb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbiA/PyAnbWFpbic7XG4gICAgY29uc3QgekluZGV4ID0gcHJvcHMuekluZGV4ID8/IDEwMDAwO1xuXG4gICAgY29uc3QgZ2xvYmFsTm90aWZpY2F0aW9uc0VsZW1lbnREaW1lbnNpb25zID0gdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyhcbiAgICAgIChyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxUTGF5b3V0UmVmcz4pPy5jdXJyZW50Py5ub3RpZmljYXRpb25zR2xvYmFsUmVmXG4gICAgKTtcbiAgICBjb25zdCBwYWdlTm90aWZpY2F0aW9uc0VsZW1lbnREaW1lbnNpb25zID0gdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyhcbiAgICAgIChyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxUTGF5b3V0UmVmcz4pPy5jdXJyZW50Py5ub3RpZmljYXRpb25zUGFnZVJlZlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPEdsb2JhbFxuICAgICAgICAgIC8vIEFwcGx5IHNvbWUgZ2xvYmFsIHN0eWxlcywgYmFzZWQgb24gdGhlIGAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbmAgY2xhc3MuXG4gICAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlblxuICAgICAgICAgICAgICAke2NvbnRhaW5lclNlbGVjdG9yVG9QcmV2ZW50U2Nyb2xsaW5nT25PcGVufSB7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuICMke1BPUlRBTFNfQ09OVEFJTkVSX0lEfSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgIDEwMCUgLSAke29mZnNldFRvcH0gLVxuICAgICAgICAgICAgICAgICAgJHtnbG9iYWxOb3RpZmljYXRpb25zRWxlbWVudERpbWVuc2lvbnMuaGVpZ2h0fXB4IC1cbiAgICAgICAgICAgICAgICAgICR7cGFnZU5vdGlmaWNhdGlvbnNFbGVtZW50RGltZW5zaW9ucy5oZWlnaHR9cHhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICR7b2Zmc2V0TGVmdH0pO1xuICAgICAgICAgICAgICB0b3A6IGNhbGMoXG4gICAgICAgICAgICAgICAgJHtvZmZzZXRUb3B9ICsgJHtnbG9iYWxOb3RpZmljYXRpb25zRWxlbWVudERpbWVuc2lvbnMuaGVpZ2h0fXB4ICtcbiAgICAgICAgICAgICAgICAgICR7cGFnZU5vdGlmaWNhdGlvbnNFbGVtZW50RGltZW5zaW9ucy5oZWlnaHR9cHhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgei1pbmRleDogJHt6SW5kZXh9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3Blbi5ib2R5X19tZW51LW9wZW4gIyR7UE9SVEFMU19DT05UQUlORVJfSUR9IHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICR7b2Zmc2V0TGVmdE9uRXhwYW5kZWRNZW51fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgYH1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGlkPXtQT1JUQUxTX0NPTlRBSU5FUl9JRH1cbiAgICAgICAgICAvLyBUaGUgY29udGFpbmVyIG5lZWRzIGEgaGVpZ2h0IGluIG9yZGVyIHRvIGJlIHRhYmJhYmxlOiBodHRwczovL3JlYWN0anMvcmVhY3QtbW9kYWwjNzc0XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgIGB9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuUG9ydGFsc0NvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdQb3J0YWxzQ29udGFpbmVyJztcblxuZXhwb3J0IGRlZmF1bHQgUG9ydGFsc0NvbnRhaW5lcjtcbiJdfQ== */",
1796
1810
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
1797
1811
  };
1798
1812
 
1799
- var PortalsContainer = function PortalsContainer(props) {
1813
+ var PortalsContainer = /*#__PURE__*/react$1.forwardRef(function (props, ref) {
1814
+ var _props$offsetTop, _props$offsetLeft, _props$offsetLeftOnEx, _props$containerSelec, _props$zIndex, _current, _current2;
1815
+
1816
+ // Initialize props with default values.
1817
+ // NOTE: using `defaultProps` with `forwardRef` results in the type declarations
1818
+ // to ignore the `defaultProps`. Therefore, the default props are typed
1819
+ // as optional and we initialize the value here with the default values.
1820
+ var offsetTop = (_props$offsetTop = props.offsetTop) !== null && _props$offsetTop !== void 0 ? _props$offsetTop : '0px';
1821
+ var offsetLeft = (_props$offsetLeft = props.offsetLeft) !== null && _props$offsetLeft !== void 0 ? _props$offsetLeft : '0px';
1822
+ var offsetLeftOnExpandedMenu = (_props$offsetLeftOnEx = props.offsetLeftOnExpandedMenu) !== null && _props$offsetLeftOnEx !== void 0 ? _props$offsetLeftOnEx : '0px';
1823
+ var containerSelectorToPreventScrollingOnOpen = (_props$containerSelec = props.containerSelectorToPreventScrollingOnOpen) !== null && _props$containerSelec !== void 0 ? _props$containerSelec : 'main';
1824
+ var zIndex = (_props$zIndex = props.zIndex) !== null && _props$zIndex !== void 0 ? _props$zIndex : 10000;
1825
+ var globalNotificationsElementDimensions = useObserverElementDimensions(ref === null || ref === void 0 ? void 0 : (_current = ref.current) === null || _current === void 0 ? void 0 : _current.notificationsGlobalRef);
1826
+ var pageNotificationsElementDimensions = useObserverElementDimensions(ref === null || ref === void 0 ? void 0 : (_current2 = ref.current) === null || _current2 === void 0 ? void 0 : _current2.notificationsPageRef);
1800
1827
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {
1801
1828
  children: [jsxRuntime.jsx(react.Global // Apply some global styles, based on the `.ReactModal__Body--open` class.
1802
1829
  , {
1803
- styles: /*#__PURE__*/react.css(".ReactModal__Body--open ", props.containerSelectorToPreventScrollingOnOpen, "{overflow:hidden;}.ReactModal__Body--open #", constants.PORTALS_CONTAINER_ID, "{position:fixed;height:calc(100% - ", props.offsetTop, ");width:calc(100% - ", props.offsetLeft, ");top:", props.offsetTop, ";right:0;bottom:0;z-index:", props.zIndex, ";}.ReactModal__Body--open.body__menu-open #", constants.PORTALS_CONTAINER_ID, "{width:calc(100% - ", props.offsetLeftOnExpandedMenu, ");}" + (process.env.NODE_ENV === "production" ? "" : ";label:PortalsContainer;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcnRhbHMtY29udGFpbmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRGlCIiwiZmlsZSI6InBvcnRhbHMtY29udGFpbmVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcywgR2xvYmFsIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgUE9SVEFMU19DT05UQUlORVJfSUQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuXG50eXBlIFRQb3J0YWxzQ29udGFpbmVyUHJvcHMgPSB7XG4gIC8qKlxuICAgKiBUaGUgb2Zmc2V0IHZhbHVlIGZvciBwb3NpdGlvbmluZyB0aGUgY29udGFpbmVyIGZyb20gdGhlIHRvcCwgd2hlbiBvcGVuZWQuXG4gICAqIFVzdWFsbHkgdGhpcyBjb3JyZXNwb25kcyB0byB0aGUgaGVpZ2h0IG9mIHRoZSBoZWFkZXIgc2VjdGlvbi5cbiAgICovXG4gIG9mZnNldFRvcDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG9mZnNldCB2YWx1ZSBmb3IgcG9zaXRpb25pbmcgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSBsZWZ0LCB3aGVuIG9wZW5lZC5cbiAgICogVXN1YWxseSB0aGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBtaW4gd2lkdGggb2YgdGhlIG5hdiBtZW51LlxuICAgKi9cbiAgb2Zmc2V0TGVmdDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG9mZnNldCB2YWx1ZSBmb3IgcG9zaXRpb25pbmcgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSBsZWZ0LCB3aGVuIG9wZW5lZC5cbiAgICogVGhlIHZhbHVlIGlzIG9ubHkgYXBwbGllZCB3aGVuIHRoZSBgLmJvZHlfX21lbnUtb3BlbmAgZ2xvYmFsIGNsYXNzIGlzIGFkZGVkIHRvIHRoZSBET00uXG4gICAqIFVzdWFsbHkgdGhpcyBjb3JyZXNwb25kcyB0byB0aGUgd2lkdGggb2YgdGhlIGV4cGFuZGVkIG5hdiBtZW51LlxuICAgKi9cbiAgb2Zmc2V0TGVmdE9uRXhwYW5kZWRNZW51OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQ1NTIHNlbGVjdG9yIHRvIGFwcGx5IHRoZSBgb3ZlcmZsb3c6IGhpZGRlbmAgc3R5bGUgdG8gKHByZXZlbnRpbmcgc2Nyb2xsaW5nKVxuICAgKiB3aGVuIGEgbW9kYWwgY29udGFpbmVyIGlzIG9wZW4uXG4gICAqL1xuICBjb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3Blbjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGB6LWluZGV4YCB2YWx1ZSB0byBhcHBseSB0byB0aGUgcG9ydGFsIGNvbnRhaW5lci4gRGVmYXVsdCB0byBgMTAwMDBgLlxuICAgKi9cbiAgekluZGV4OiBudW1iZXI7XG59O1xuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUUG9ydGFsc0NvbnRhaW5lclByb3BzLFxuICB8ICdvZmZzZXRUb3AnXG4gIHwgJ29mZnNldExlZnQnXG4gIHwgJ29mZnNldExlZnRPbkV4cGFuZGVkTWVudSdcbiAgfCAnY29udGFpbmVyU2VsZWN0b3JUb1ByZXZlbnRTY3JvbGxpbmdPbk9wZW4nXG4gIHwgJ3pJbmRleCdcbj4gPSB7XG4gIG9mZnNldFRvcDogJzAnLFxuICBvZmZzZXRMZWZ0OiAnMCcsXG4gIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudTogJzAnLFxuICBjb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbjogJ21haW4nLFxuICB6SW5kZXg6IDEwMDAwLFxufTtcblxuLy8gQWxsIG1vZGFsIGNvbXBvbmVudHMgZXhwZWN0IHRvIGJlIHJlbmRlcmVkIGluc2lkZSB0aGlzIGNvbnRhaW5lci5cbmNvbnN0IFBvcnRhbHNDb250YWluZXIgPSAocHJvcHM6IFRQb3J0YWxzQ29udGFpbmVyUHJvcHMpID0+IChcbiAgPD5cbiAgICA8R2xvYmFsXG4gICAgICAvLyBBcHBseSBzb21lIGdsb2JhbCBzdHlsZXMsIGJhc2VkIG9uIHRoZSBgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW5gIGNsYXNzLlxuICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuXG4gICAgICAgICAgJHtwcm9wcy5jb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3Blbn0ge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbiAjJHtQT1JUQUxTX0NPTlRBSU5FUl9JRH0ge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICR7cHJvcHMub2Zmc2V0VG9wfSk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICR7cHJvcHMub2Zmc2V0TGVmdH0pO1xuICAgICAgICAgIHRvcDogJHtwcm9wcy5vZmZzZXRUb3B9O1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB6LWluZGV4OiAke3Byb3BzLnpJbmRleH07XG4gICAgICAgIH1cblxuICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3Blbi5ib2R5X19tZW51LW9wZW4gIyR7UE9SVEFMU19DT05UQUlORVJfSUR9IHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gJHtwcm9wcy5vZmZzZXRMZWZ0T25FeHBhbmRlZE1lbnV9KTtcbiAgICAgICAgfVxuICAgICAgYH1cbiAgICAvPlxuICAgIDxkaXZcbiAgICAgIGlkPXtQT1JUQUxTX0NPTlRBSU5FUl9JRH1cbiAgICAgIC8vIFRoZSBjb250YWluZXIgbmVlZHMgYSBoZWlnaHQgaW4gb3JkZXIgdG8gYmUgdGFiYmFibGU6IGh0dHBzOi8vcmVhY3Rqcy9yZWFjdC1tb2RhbCM3NzRcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIGB9XG4gICAgLz5cbiAgPC8+XG4pO1xuUG9ydGFsc0NvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdQb3J0YWxzQ29udGFpbmVyJztcblBvcnRhbHNDb250YWluZXIuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBQb3J0YWxzQ29udGFpbmVyO1xuIl19 */")
1830
+ styles: /*#__PURE__*/react.css(".ReactModal__Body--open ", containerSelectorToPreventScrollingOnOpen, "{overflow:hidden;}.ReactModal__Body--open #", constants.PORTALS_CONTAINER_ID, "{position:fixed;height:calc(\n 100% - ", offsetTop, " -\n ", globalNotificationsElementDimensions.height, "px -\n ", pageNotificationsElementDimensions.height, "px\n );width:calc(100% - ", offsetLeft, ");top:calc(\n ", offsetTop, " + ", globalNotificationsElementDimensions.height, "px +\n ", pageNotificationsElementDimensions.height, "px\n );right:0;bottom:0;z-index:", zIndex, ";}.ReactModal__Body--open.body__menu-open #", constants.PORTALS_CONTAINER_ID, "{width:calc(100% - ", offsetLeftOnExpandedMenu, ");}" + (process.env.NODE_ENV === "production" ? "" : ";label:PortalsContainer;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcnRhbHMtY29udGFpbmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RnFCIiwiZmlsZSI6InBvcnRhbHMtY29udGFpbmVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTXV0YWJsZVJlZk9iamVjdCxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIGZvcndhcmRSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB1c2VSZXNpemVPYnNlcnZlciBmcm9tICdAcmVhY3QtaG9vay9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHsgUE9SVEFMU19DT05UQUlORVJfSUQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuXG50eXBlIFRMYXlvdXRSZWZzID0ge1xuICBub3RpZmljYXRpb25zR2xvYmFsUmVmOiBNdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgbm90aWZpY2F0aW9uc1BhZ2VSZWY6IE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcbnR5cGUgVE9ic2VydmFibGVFbGVtZW50RGltZW5zaW9ucyA9IHtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG59O1xudHlwZSBUUG9ydGFsc0NvbnRhaW5lclByb3BzID0ge1xuICAvKipcbiAgICogVGhlIG9mZnNldCB2YWx1ZSBmb3IgcG9zaXRpb25pbmcgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSB0b3AsIHdoZW4gb3BlbmVkLlxuICAgKiBVc3VhbGx5IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIGhlaWdodCBvZiB0aGUgaGVhZGVyIHNlY3Rpb24uXG4gICAqL1xuICBvZmZzZXRUb3A6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBvZmZzZXQgdmFsdWUgZm9yIHBvc2l0aW9uaW5nIHRoZSBjb250YWluZXIgZnJvbSB0aGUgbGVmdCwgd2hlbiBvcGVuZWQuXG4gICAqIFVzdWFsbHkgdGhpcyBjb3JyZXNwb25kcyB0byB0aGUgbWluIHdpZHRoIG9mIHRoZSBuYXYgbWVudS5cbiAgICovXG4gIG9mZnNldExlZnQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBvZmZzZXQgdmFsdWUgZm9yIHBvc2l0aW9uaW5nIHRoZSBjb250YWluZXIgZnJvbSB0aGUgbGVmdCwgd2hlbiBvcGVuZWQuXG4gICAqIFRoZSB2YWx1ZSBpcyBvbmx5IGFwcGxpZWQgd2hlbiB0aGUgYC5ib2R5X19tZW51LW9wZW5gIGdsb2JhbCBjbGFzcyBpcyBhZGRlZCB0byB0aGUgRE9NLlxuICAgKiBVc3VhbGx5IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIHdpZHRoIG9mIHRoZSBleHBhbmRlZCBuYXYgbWVudS5cbiAgICovXG4gIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIENTUyBzZWxlY3RvciB0byBhcHBseSB0aGUgYG92ZXJmbG93OiBoaWRkZW5gIHN0eWxlIHRvIChwcmV2ZW50aW5nIHNjcm9sbGluZylcbiAgICogd2hlbiBhIG1vZGFsIGNvbnRhaW5lciBpcyBvcGVuLlxuICAgKi9cbiAgY29udGFpbmVyU2VsZWN0b3JUb1ByZXZlbnRTY3JvbGxpbmdPbk9wZW46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBgei1pbmRleGAgdmFsdWUgdG8gYXBwbHkgdG8gdGhlIHBvcnRhbCBjb250YWluZXIuIERlZmF1bHQgdG8gYDEwMDAwYC5cbiAgICovXG4gIHpJbmRleDogbnVtYmVyO1xufTtcblxuY29uc3QgdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyA9IChcbiAgZWxlbWVudDogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PiB8IG51bGxcbik6IFRPYnNlcnZhYmxlRWxlbWVudERpbWVuc2lvbnMgPT4ge1xuICBjb25zdCBbZGltZW5zaW9ucywgc2V0RGltZW5zaW9uc10gPSB1c2VTdGF0ZTxUT2JzZXJ2YWJsZUVsZW1lbnREaW1lbnNpb25zPih7XG4gICAgaGVpZ2h0OiAwLFxuICAgIHdpZHRoOiAwLFxuICB9KTtcblxuICB1c2VSZXNpemVPYnNlcnZlcjxIVE1MRGl2RWxlbWVudD4oZWxlbWVudCwgKGVudHJ5KSA9PiB7XG4gICAgc2V0RGltZW5zaW9ucyh7XG4gICAgICBoZWlnaHQ6IGVudHJ5LmNvbnRlbnRSZWN0LmhlaWdodCxcbiAgICAgIHdpZHRoOiBlbnRyeS5jb250ZW50UmVjdC53aWR0aCxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIGRpbWVuc2lvbnM7XG59O1xuXG4vLyBBbGwgbW9kYWwgY29tcG9uZW50cyBleHBlY3QgdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoaXMgY29udGFpbmVyLlxuY29uc3QgUG9ydGFsc0NvbnRhaW5lciA9IGZvcndhcmRSZWY8VExheW91dFJlZnMsIFRQb3J0YWxzQ29udGFpbmVyUHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4ge1xuICAgIC8vIEluaXRpYWxpemUgcHJvcHMgd2l0aCBkZWZhdWx0IHZhbHVlcy5cbiAgICAvLyBOT1RFOiB1c2luZyBgZGVmYXVsdFByb3BzYCB3aXRoIGBmb3J3YXJkUmVmYCByZXN1bHRzIGluIHRoZSB0eXBlIGRlY2xhcmF0aW9uc1xuICAgIC8vIHRvIGlnbm9yZSB0aGUgYGRlZmF1bHRQcm9wc2AuIFRoZXJlZm9yZSwgdGhlIGRlZmF1bHQgcHJvcHMgYXJlIHR5cGVkXG4gICAgLy8gYXMgb3B0aW9uYWwgYW5kIHdlIGluaXRpYWxpemUgdGhlIHZhbHVlIGhlcmUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMuXG4gICAgY29uc3Qgb2Zmc2V0VG9wID0gcHJvcHMub2Zmc2V0VG9wID8/ICcwcHgnO1xuICAgIGNvbnN0IG9mZnNldExlZnQgPSBwcm9wcy5vZmZzZXRMZWZ0ID8/ICcwcHgnO1xuICAgIGNvbnN0IG9mZnNldExlZnRPbkV4cGFuZGVkTWVudSA9IHByb3BzLm9mZnNldExlZnRPbkV4cGFuZGVkTWVudSA/PyAnMHB4JztcbiAgICBjb25zdCBjb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbiA9XG4gICAgICBwcm9wcy5jb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbiA/PyAnbWFpbic7XG4gICAgY29uc3QgekluZGV4ID0gcHJvcHMuekluZGV4ID8/IDEwMDAwO1xuXG4gICAgY29uc3QgZ2xvYmFsTm90aWZpY2F0aW9uc0VsZW1lbnREaW1lbnNpb25zID0gdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyhcbiAgICAgIChyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxUTGF5b3V0UmVmcz4pPy5jdXJyZW50Py5ub3RpZmljYXRpb25zR2xvYmFsUmVmXG4gICAgKTtcbiAgICBjb25zdCBwYWdlTm90aWZpY2F0aW9uc0VsZW1lbnREaW1lbnNpb25zID0gdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyhcbiAgICAgIChyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxUTGF5b3V0UmVmcz4pPy5jdXJyZW50Py5ub3RpZmljYXRpb25zUGFnZVJlZlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPEdsb2JhbFxuICAgICAgICAgIC8vIEFwcGx5IHNvbWUgZ2xvYmFsIHN0eWxlcywgYmFzZWQgb24gdGhlIGAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbmAgY2xhc3MuXG4gICAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlblxuICAgICAgICAgICAgICAke2NvbnRhaW5lclNlbGVjdG9yVG9QcmV2ZW50U2Nyb2xsaW5nT25PcGVufSB7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuICMke1BPUlRBTFNfQ09OVEFJTkVSX0lEfSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgIDEwMCUgLSAke29mZnNldFRvcH0gLVxuICAgICAgICAgICAgICAgICAgJHtnbG9iYWxOb3RpZmljYXRpb25zRWxlbWVudERpbWVuc2lvbnMuaGVpZ2h0fXB4IC1cbiAgICAgICAgICAgICAgICAgICR7cGFnZU5vdGlmaWNhdGlvbnNFbGVtZW50RGltZW5zaW9ucy5oZWlnaHR9cHhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICR7b2Zmc2V0TGVmdH0pO1xuICAgICAgICAgICAgICB0b3A6IGNhbGMoXG4gICAgICAgICAgICAgICAgJHtvZmZzZXRUb3B9ICsgJHtnbG9iYWxOb3RpZmljYXRpb25zRWxlbWVudERpbWVuc2lvbnMuaGVpZ2h0fXB4ICtcbiAgICAgICAgICAgICAgICAgICR7cGFnZU5vdGlmaWNhdGlvbnNFbGVtZW50RGltZW5zaW9ucy5oZWlnaHR9cHhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgei1pbmRleDogJHt6SW5kZXh9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3Blbi5ib2R5X19tZW51LW9wZW4gIyR7UE9SVEFMU19DT05UQUlORVJfSUR9IHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICR7b2Zmc2V0TGVmdE9uRXhwYW5kZWRNZW51fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgYH1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGlkPXtQT1JUQUxTX0NPTlRBSU5FUl9JRH1cbiAgICAgICAgICAvLyBUaGUgY29udGFpbmVyIG5lZWRzIGEgaGVpZ2h0IGluIG9yZGVyIHRvIGJlIHRhYmJhYmxlOiBodHRwczovL3JlYWN0anMvcmVhY3QtbW9kYWwjNzc0XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgIGB9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuUG9ydGFsc0NvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdQb3J0YWxzQ29udGFpbmVyJztcblxuZXhwb3J0IGRlZmF1bHQgUG9ydGFsc0NvbnRhaW5lcjtcbiJdfQ== */")
1804
1831
  }), jsxRuntime.jsx("div", {
1805
1832
  id: constants.PORTALS_CONTAINER_ID // The container needs a height in order to be tabbable: https://reactjs/react-modal#774
1806
1833
  ,
1807
1834
  css: _ref
1808
1835
  })]
1809
1836
  });
1810
- };
1811
-
1837
+ });
1812
1838
  PortalsContainer.displayName = 'PortalsContainer';
1813
- PortalsContainer.defaultProps = defaultProps;
1814
1839
 
1815
1840
  var useModalState = function useModalState() {
1816
1841
  var isInitiallyOpen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
@@ -41,6 +41,7 @@ var CommercetoolsLogoSvg = require('@commercetools-frontend/assets/logos/commerc
41
41
  var Constraints = require('@commercetools-uikit/constraints');
42
42
  var PageNotFoundSVG = require('@commercetools-frontend/assets/images/desert-fox.svg');
43
43
  var FailedAuthorizationSVG = require('@commercetools-frontend/assets/images/folder-full-locked.svg');
44
+ var useResizeObserver = require('@react-hook/resize-observer');
44
45
 
45
46
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
46
47
 
@@ -70,9 +71,10 @@ var CommercetoolsLogoSvg__default = /*#__PURE__*/_interopDefault(CommercetoolsLo
70
71
  var Constraints__default = /*#__PURE__*/_interopDefault(Constraints);
71
72
  var PageNotFoundSVG__default = /*#__PURE__*/_interopDefault(PageNotFoundSVG);
72
73
  var FailedAuthorizationSVG__default = /*#__PURE__*/_interopDefault(FailedAuthorizationSVG);
74
+ var useResizeObserver__default = /*#__PURE__*/_interopDefault(useResizeObserver);
73
75
 
74
76
  // NOTE: This string will be replaced on build time with the package version.
75
- var version = "21.3.4";
77
+ var version = "21.5.0";
76
78
 
77
79
  var getBottomBorderStyles = function getBottomBorderStyles(background) {
78
80
  return /*#__PURE__*/react.css(":after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;border-radius:", designSystem.customProperties.borderRadius2, ";background-color:", background, ";transition:background-color ", designSystem.customProperties.transitionEaseinout150Ms, ";}" + ("" ), "" );
@@ -153,13 +155,13 @@ var TabHeader = function TabHeader(props) {
153
155
  };
154
156
  TabHeader.propTypes = {};
155
157
  TabHeader.displayName = 'TabHeader';
156
- var defaultProps$e = {
158
+ var defaultProps$d = {
157
159
  isDisabled: false,
158
160
  exactPathMatch: false
159
161
  };
160
- TabHeader.defaultProps = defaultProps$e;
162
+ TabHeader.defaultProps = defaultProps$d;
161
163
 
162
- var defaultProps$d = {
164
+ var defaultProps$c = {
163
165
  titleSize: 'small',
164
166
  truncate: false
165
167
  };
@@ -233,7 +235,7 @@ var PageHeaderTitle = function PageHeaderTitle(props) {
233
235
 
234
236
  PageHeaderTitle.propTypes = {};
235
237
  PageHeaderTitle.displayName = 'PageHeaderTitle';
236
- PageHeaderTitle.defaultProps = defaultProps$d;
238
+ PageHeaderTitle.defaultProps = defaultProps$c;
237
239
 
238
240
  var TabControls = _styled__default["default"]("div", {
239
241
  target: "elpldre1"
@@ -266,10 +268,10 @@ var TabularPageContainer = function TabularPageContainer(props) {
266
268
 
267
269
  TabularPageContainer.propTypes = {};
268
270
  TabularPageContainer.displayName = 'TabularPageContainer';
269
- var defaultProps$c = {
271
+ var defaultProps$b = {
270
272
  color: 'surface'
271
273
  };
272
- TabularPageContainer.defaultProps = defaultProps$c;
274
+ TabularPageContainer.defaultProps = defaultProps$b;
273
275
 
274
276
  var FormControlsContainer = _styled__default["default"]("div", {
275
277
  target: "elpldre0"
@@ -355,7 +357,7 @@ FormDeleteButton.propTypes = {};
355
357
  FormDeleteButton.displayName = 'FormDeleteButton';
356
358
  FormDeleteButton.defaultProps = deleteDefaultProps;
357
359
 
358
- var defaultProps$b = {
360
+ var defaultProps$a = {
359
361
  hideControls: false
360
362
  };
361
363
 
@@ -388,7 +390,7 @@ var TabularMainPage = function TabularMainPage(props) {
388
390
 
389
391
  TabularMainPage.propTypes = {};
390
392
  TabularMainPage.displayName = 'TabularMainPage';
391
- TabularMainPage.defaultProps = defaultProps$b; // Static export of pre-configured form control buttons to easily re-use
393
+ TabularMainPage.defaultProps = defaultProps$a; // Static export of pre-configured form control buttons to easily re-use
392
394
  // them in the custom controls.
393
395
 
394
396
  TabularMainPage.FormPrimaryButton = FormPrimaryButton;
@@ -411,7 +413,7 @@ var messages$2 = reactIntl.defineMessages({
411
413
  }
412
414
  });
413
415
 
414
- var defaultProps$a = {
416
+ var defaultProps$9 = {
415
417
  color: 'surface',
416
418
  previousPathLabel: messages$2.back
417
419
  };
@@ -434,9 +436,9 @@ var PageTopBar = function PageTopBar(props) {
434
436
 
435
437
  PageTopBar.propTypes = {};
436
438
  PageTopBar.displayName = 'PageTopBar';
437
- PageTopBar.defaultProps = defaultProps$a;
439
+ PageTopBar.defaultProps = defaultProps$9;
438
440
 
439
- var defaultProps$9 = {
441
+ var defaultProps$8 = {
440
442
  hideControls: false
441
443
  };
442
444
 
@@ -472,7 +474,7 @@ var TabularDetailPage = function TabularDetailPage(props) {
472
474
 
473
475
  TabularDetailPage.propTypes = {};
474
476
  TabularDetailPage.displayName = 'TabularDetailPage';
475
- TabularDetailPage.defaultProps = defaultProps$9; // Static export of pre-configured form control buttons to easily re-use
477
+ TabularDetailPage.defaultProps = defaultProps$8; // Static export of pre-configured form control buttons to easily re-use
476
478
  // them in the custom controls.
477
479
 
478
480
  TabularDetailPage.FormPrimaryButton = FormPrimaryButton;
@@ -530,7 +532,7 @@ var getDefaultParentSelector$1 = function getDefaultParentSelector() {
530
532
  return document.querySelector("#".concat(constants.PORTALS_CONTAINER_ID));
531
533
  };
532
534
 
533
- var defaultProps$8 = {
535
+ var defaultProps$7 = {
534
536
  size: 10,
535
537
  zIndex: 1000,
536
538
  getParentSelector: getDefaultParentSelector$1
@@ -606,7 +608,7 @@ var DialogContainer = function DialogContainer(props) {
606
608
 
607
609
  DialogContainer.propTypes = {};
608
610
  DialogContainer.displayName = 'DialogContainer';
609
- DialogContainer.defaultProps = defaultProps$8;
611
+ DialogContainer.defaultProps = defaultProps$7;
610
612
 
611
613
  var _ref$4 = {
612
614
  name: "o5s7gs",
@@ -666,7 +668,7 @@ InfoDialog.displayName = 'InfoDialog';
666
668
  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; }
667
669
 
668
670
  function _objectSpread$3(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$3(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$3(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
669
- var defaultProps$7 = {
671
+ var defaultProps$6 = {
670
672
  isPrimaryButtonDisabled: false,
671
673
  dataAttributesPrimaryButton: {},
672
674
  dataAttributesSecondaryButton: {}
@@ -695,9 +697,9 @@ var DialogFooter = function DialogFooter(props) {
695
697
 
696
698
  DialogFooter.propTypes = {};
697
699
  DialogFooter.displayName = 'DialogFooter';
698
- DialogFooter.defaultProps = defaultProps$7;
700
+ DialogFooter.defaultProps = defaultProps$6;
699
701
 
700
- var defaultProps$6 = {
702
+ var defaultProps$5 = {
701
703
  labelSecondary: i18n.sharedMessages.cancel,
702
704
  labelPrimary: i18n.sharedMessages.confirm
703
705
  };
@@ -729,12 +731,12 @@ var ConfirmationDialog = function ConfirmationDialog(props) {
729
731
 
730
732
  ConfirmationDialog.propTypes = {};
731
733
  ConfirmationDialog.displayName = 'ConfirmationDialog';
732
- ConfirmationDialog.defaultProps = defaultProps$6; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
734
+ ConfirmationDialog.defaultProps = defaultProps$5; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
733
735
  // The Intl messages can be used for button labels.
734
736
 
735
737
  ConfirmationDialog.Intl = i18n.sharedMessages;
736
738
 
737
- var defaultProps$5 = {
739
+ var defaultProps$4 = {
738
740
  labelSecondary: i18n.sharedMessages.cancel,
739
741
  labelPrimary: i18n.sharedMessages.save
740
742
  };
@@ -766,7 +768,7 @@ var FormDialog = function FormDialog(props) {
766
768
 
767
769
  FormDialog.propTypes = {};
768
770
  FormDialog.displayName = 'FormDialog';
769
- FormDialog.defaultProps = defaultProps$5; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
771
+ FormDialog.defaultProps = defaultProps$4; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
770
772
  // The Intl messages can be used for button labels.
771
773
 
772
774
  FormDialog.Intl = i18n.sharedMessages;
@@ -825,7 +827,7 @@ var LargeIconWrapper = _styled__default["default"]("span", {
825
827
  // does not recognize the object shape.
826
828
 
827
829
 
828
- var defaultProps$4 = {
830
+ var defaultProps$3 = {
829
831
  color: 'surface',
830
832
  previousPathLabel: messages$2.back
831
833
  };
@@ -874,7 +876,7 @@ var ModalPageTopBar = function ModalPageTopBar(props) {
874
876
 
875
877
  ModalPageTopBar.propTypes = {};
876
878
  ModalPageTopBar.displayName = 'ModalPageTopBar';
877
- ModalPageTopBar.defaultProps = defaultProps$4;
879
+ ModalPageTopBar.defaultProps = defaultProps$3;
878
880
 
879
881
  var getDefaultParentSelector = function getDefaultParentSelector() {
880
882
  return document.querySelector("#".concat(constants.PORTALS_CONTAINER_ID));
@@ -883,7 +885,7 @@ var getDefaultParentSelector = function getDefaultParentSelector() {
883
885
  // does not recognize the object shape.
884
886
 
885
887
 
886
- var defaultProps$3 = {
888
+ var defaultProps$2 = {
887
889
  level: 1,
888
890
  baseZIndex: 1000,
889
891
  getParentSelector: getDefaultParentSelector,
@@ -964,7 +966,7 @@ var ModalPage = function ModalPage(props) {
964
966
 
965
967
  ModalPage.propTypes = {};
966
968
  ModalPage.displayName = 'ModalPage';
967
- ModalPage.defaultProps = defaultProps$3;
969
+ ModalPage.defaultProps = defaultProps$2;
968
970
 
969
971
  var PageHeader = function PageHeader(props) {
970
972
  return jsxRuntime.jsxs("div", {
@@ -1042,7 +1044,7 @@ CustomFormModalPage.FormDeleteButton = FormDeleteButton; // This is a convenienc
1042
1044
 
1043
1045
  CustomFormModalPage.Intl = i18n.sharedMessages;
1044
1046
 
1045
- var defaultProps$2 = {
1047
+ var defaultProps$1 = {
1046
1048
  hideControls: false
1047
1049
  };
1048
1050
 
@@ -1080,12 +1082,12 @@ var FormModalPage = function FormModalPage(props) {
1080
1082
 
1081
1083
  FormModalPage.propTypes = {};
1082
1084
  FormModalPage.displayName = 'FormModalPage';
1083
- FormModalPage.defaultProps = defaultProps$2; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1085
+ FormModalPage.defaultProps = defaultProps$1; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1084
1086
  // The Intl messages can be used for button labels.
1085
1087
 
1086
1088
  FormModalPage.Intl = i18n.sharedMessages;
1087
1089
 
1088
- var defaultProps$1 = {
1090
+ var defaultProps = {
1089
1091
  hideControls: false
1090
1092
  };
1091
1093
 
@@ -1128,7 +1130,7 @@ var TabularModalPage = function TabularModalPage(props) {
1128
1130
 
1129
1131
  TabularModalPage.propTypes = {};
1130
1132
  TabularModalPage.displayName = 'TabularModalPage';
1131
- TabularModalPage.defaultProps = defaultProps$1; // Static export of pre-configured form control buttons to easily re-use
1133
+ TabularModalPage.defaultProps = defaultProps; // Static export of pre-configured form control buttons to easily re-use
1132
1134
  // them in the custom controls.
1133
1135
 
1134
1136
  TabularModalPage.FormPrimaryButton = FormPrimaryButton;
@@ -1339,34 +1341,56 @@ var PageUnauthorized = function PageUnauthorized() {
1339
1341
  };
1340
1342
  PageUnauthorized.displayName = 'PageUnauthorized';
1341
1343
 
1342
- var defaultProps = {
1343
- offsetTop: '0',
1344
- offsetLeft: '0',
1345
- offsetLeftOnExpandedMenu: '0',
1346
- containerSelectorToPreventScrollingOnOpen: 'main',
1347
- zIndex: 10000
1344
+ var useObserverElementDimensions = function useObserverElementDimensions(element) {
1345
+ var _useState = react$1.useState({
1346
+ height: 0,
1347
+ width: 0
1348
+ }),
1349
+ _useState2 = _slicedToArray(_useState, 2),
1350
+ dimensions = _useState2[0],
1351
+ setDimensions = _useState2[1];
1352
+
1353
+ useResizeObserver__default["default"](element, function (entry) {
1354
+ setDimensions({
1355
+ height: entry.contentRect.height,
1356
+ width: entry.contentRect.width
1357
+ });
1358
+ });
1359
+ return dimensions;
1348
1360
  }; // All modal components expect to be rendered inside this container.
1349
1361
 
1362
+
1350
1363
  var _ref = {
1351
1364
  name: "qk9kof",
1352
1365
  styles: "display:flex;height:1px;margin-top:-1px"
1353
1366
  } ;
1354
1367
 
1355
- var PortalsContainer = function PortalsContainer(props) {
1368
+ var PortalsContainer = /*#__PURE__*/react$1.forwardRef(function (props, ref) {
1369
+ var _props$offsetTop, _props$offsetLeft, _props$offsetLeftOnEx, _props$containerSelec, _props$zIndex, _current, _current2;
1370
+
1371
+ // Initialize props with default values.
1372
+ // NOTE: using `defaultProps` with `forwardRef` results in the type declarations
1373
+ // to ignore the `defaultProps`. Therefore, the default props are typed
1374
+ // as optional and we initialize the value here with the default values.
1375
+ var offsetTop = (_props$offsetTop = props.offsetTop) !== null && _props$offsetTop !== void 0 ? _props$offsetTop : '0px';
1376
+ var offsetLeft = (_props$offsetLeft = props.offsetLeft) !== null && _props$offsetLeft !== void 0 ? _props$offsetLeft : '0px';
1377
+ var offsetLeftOnExpandedMenu = (_props$offsetLeftOnEx = props.offsetLeftOnExpandedMenu) !== null && _props$offsetLeftOnEx !== void 0 ? _props$offsetLeftOnEx : '0px';
1378
+ var containerSelectorToPreventScrollingOnOpen = (_props$containerSelec = props.containerSelectorToPreventScrollingOnOpen) !== null && _props$containerSelec !== void 0 ? _props$containerSelec : 'main';
1379
+ var zIndex = (_props$zIndex = props.zIndex) !== null && _props$zIndex !== void 0 ? _props$zIndex : 10000;
1380
+ var globalNotificationsElementDimensions = useObserverElementDimensions(ref === null || ref === void 0 ? void 0 : (_current = ref.current) === null || _current === void 0 ? void 0 : _current.notificationsGlobalRef);
1381
+ var pageNotificationsElementDimensions = useObserverElementDimensions(ref === null || ref === void 0 ? void 0 : (_current2 = ref.current) === null || _current2 === void 0 ? void 0 : _current2.notificationsPageRef);
1356
1382
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {
1357
1383
  children: [jsxRuntime.jsx(react.Global // Apply some global styles, based on the `.ReactModal__Body--open` class.
1358
1384
  , {
1359
- styles: /*#__PURE__*/react.css(".ReactModal__Body--open ", props.containerSelectorToPreventScrollingOnOpen, "{overflow:hidden;}.ReactModal__Body--open #", constants.PORTALS_CONTAINER_ID, "{position:fixed;height:calc(100% - ", props.offsetTop, ");width:calc(100% - ", props.offsetLeft, ");top:", props.offsetTop, ";right:0;bottom:0;z-index:", props.zIndex, ";}.ReactModal__Body--open.body__menu-open #", constants.PORTALS_CONTAINER_ID, "{width:calc(100% - ", props.offsetLeftOnExpandedMenu, ");}" + ("" ), "" )
1385
+ styles: /*#__PURE__*/react.css(".ReactModal__Body--open ", containerSelectorToPreventScrollingOnOpen, "{overflow:hidden;}.ReactModal__Body--open #", constants.PORTALS_CONTAINER_ID, "{position:fixed;height:calc(\n 100% - ", offsetTop, " -\n ", globalNotificationsElementDimensions.height, "px -\n ", pageNotificationsElementDimensions.height, "px\n );width:calc(100% - ", offsetLeft, ");top:calc(\n ", offsetTop, " + ", globalNotificationsElementDimensions.height, "px +\n ", pageNotificationsElementDimensions.height, "px\n );right:0;bottom:0;z-index:", zIndex, ";}.ReactModal__Body--open.body__menu-open #", constants.PORTALS_CONTAINER_ID, "{width:calc(100% - ", offsetLeftOnExpandedMenu, ");}" + ("" ), "" )
1360
1386
  }), jsxRuntime.jsx("div", {
1361
1387
  id: constants.PORTALS_CONTAINER_ID // The container needs a height in order to be tabbable: https://reactjs/react-modal#774
1362
1388
  ,
1363
1389
  css: _ref
1364
1390
  })]
1365
1391
  });
1366
- };
1367
-
1392
+ });
1368
1393
  PortalsContainer.displayName = 'PortalsContainer';
1369
- PortalsContainer.defaultProps = defaultProps;
1370
1394
 
1371
1395
  var useModalState = function useModalState() {
1372
1396
  var isInitiallyOpen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
@@ -19,7 +19,7 @@ import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
19
19
  import Spacings from '@commercetools-uikit/spacings';
20
20
  import { sharedMessages } from '@commercetools-frontend/i18n';
21
21
  import _styled from '@emotion/styled/base';
22
- import { isValidElement, useState, useRef, useEffect, useCallback } from 'react';
22
+ import { isValidElement, useState, useRef, useEffect, useCallback, forwardRef } from 'react';
23
23
  import PrimaryButton from '@commercetools-uikit/primary-button';
24
24
  import SecondaryButton from '@commercetools-uikit/secondary-button';
25
25
  import IconButton from '@commercetools-uikit/icon-button';
@@ -37,9 +37,10 @@ import CommercetoolsLogoSvg from '@commercetools-frontend/assets/logos/commercet
37
37
  import Constraints from '@commercetools-uikit/constraints';
38
38
  import PageNotFoundSVG from '@commercetools-frontend/assets/images/desert-fox.svg';
39
39
  import FailedAuthorizationSVG from '@commercetools-frontend/assets/images/folder-full-locked.svg';
40
+ import useResizeObserver from '@react-hook/resize-observer';
40
41
 
41
42
  // NOTE: This string will be replaced on build time with the package version.
42
- var version = "21.3.4";
43
+ var version = "21.5.0";
43
44
 
44
45
  function _EMOTION_STRINGIFIED_CSS_ERROR__$a() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
45
46
 
@@ -136,14 +137,14 @@ TabHeader.propTypes = process.env.NODE_ENV !== "production" ? {
136
137
  exactPathMatch: _pt.bool.isRequired
137
138
  } : {};
138
139
  TabHeader.displayName = 'TabHeader';
139
- var defaultProps$e = {
140
+ var defaultProps$d = {
140
141
  isDisabled: false,
141
142
  exactPathMatch: false
142
143
  };
143
- TabHeader.defaultProps = defaultProps$e;
144
+ TabHeader.defaultProps = defaultProps$d;
144
145
 
145
146
  function _EMOTION_STRINGIFIED_CSS_ERROR__$9() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
146
- var defaultProps$d = {
147
+ var defaultProps$c = {
147
148
  titleSize: 'small',
148
149
  truncate: false
149
150
  };
@@ -230,7 +231,7 @@ PageHeaderTitle.propTypes = process.env.NODE_ENV !== "production" ? {
230
231
  subtitle: _pt.oneOfType([_pt.string, _pt.element])
231
232
  } : {};
232
233
  PageHeaderTitle.displayName = 'PageHeaderTitle';
233
- PageHeaderTitle.defaultProps = defaultProps$d;
234
+ PageHeaderTitle.defaultProps = defaultProps$c;
234
235
 
235
236
  function _EMOTION_STRINGIFIED_CSS_ERROR__$8() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
236
237
 
@@ -279,10 +280,10 @@ TabularPageContainer.propTypes = process.env.NODE_ENV !== "production" ? {
279
280
  color: _pt.oneOf(['surface', 'neutral']).isRequired
280
281
  } : {};
281
282
  TabularPageContainer.displayName = 'TabularPageContainer';
282
- var defaultProps$c = {
283
+ var defaultProps$b = {
283
284
  color: 'surface'
284
285
  };
285
- TabularPageContainer.defaultProps = defaultProps$c;
286
+ TabularPageContainer.defaultProps = defaultProps$b;
286
287
 
287
288
  var FormControlsContainer = _styled("div", process.env.NODE_ENV === "production" ? {
288
289
  target: "elpldre0"
@@ -410,7 +411,7 @@ FormDeleteButton.propTypes = process.env.NODE_ENV !== "production" ? {
410
411
  FormDeleteButton.displayName = 'FormDeleteButton';
411
412
  FormDeleteButton.defaultProps = deleteDefaultProps;
412
413
 
413
- var defaultProps$b = {
414
+ var defaultProps$a = {
414
415
  hideControls: false
415
416
  };
416
417
 
@@ -453,7 +454,7 @@ TabularMainPage.propTypes = process.env.NODE_ENV !== "production" ? {
453
454
  hideControls: _pt.bool.isRequired
454
455
  } : {};
455
456
  TabularMainPage.displayName = 'TabularMainPage';
456
- TabularMainPage.defaultProps = defaultProps$b; // Static export of pre-configured form control buttons to easily re-use
457
+ TabularMainPage.defaultProps = defaultProps$a; // Static export of pre-configured form control buttons to easily re-use
457
458
  // them in the custom controls.
458
459
 
459
460
  TabularMainPage.FormPrimaryButton = FormPrimaryButton;
@@ -476,7 +477,7 @@ var messages$2 = defineMessages({
476
477
  }
477
478
  });
478
479
 
479
- var defaultProps$a = {
480
+ var defaultProps$9 = {
480
481
  color: 'surface',
481
482
  previousPathLabel: messages$2.back
482
483
  };
@@ -508,9 +509,9 @@ PageTopBar.propTypes = process.env.NODE_ENV !== "production" ? {
508
509
  onClick: _pt.func.isRequired
509
510
  } : {};
510
511
  PageTopBar.displayName = 'PageTopBar';
511
- PageTopBar.defaultProps = defaultProps$a;
512
+ PageTopBar.defaultProps = defaultProps$9;
512
513
 
513
- var defaultProps$9 = {
514
+ var defaultProps$8 = {
514
515
  hideControls: false
515
516
  };
516
517
 
@@ -563,7 +564,7 @@ TabularDetailPage.propTypes = process.env.NODE_ENV !== "production" ? {
563
564
  onPreviousPathClick: _pt.func.isRequired
564
565
  } : {};
565
566
  TabularDetailPage.displayName = 'TabularDetailPage';
566
- TabularDetailPage.defaultProps = defaultProps$9; // Static export of pre-configured form control buttons to easily re-use
567
+ TabularDetailPage.defaultProps = defaultProps$8; // Static export of pre-configured form control buttons to easily re-use
567
568
  // them in the custom controls.
568
569
 
569
570
  TabularDetailPage.FormPrimaryButton = FormPrimaryButton;
@@ -630,7 +631,7 @@ var getDefaultParentSelector$1 = function getDefaultParentSelector() {
630
631
  return process.env.NODE_ENV === 'test' ? document.body : document.querySelector("#".concat(PORTALS_CONTAINER_ID));
631
632
  };
632
633
 
633
- var defaultProps$8 = {
634
+ var defaultProps$7 = {
634
635
  size: 10,
635
636
  zIndex: 1000,
636
637
  getParentSelector: getDefaultParentSelector$1
@@ -727,7 +728,7 @@ DialogContainer.propTypes = process.env.NODE_ENV !== "production" ? {
727
728
  getParentSelector: _pt.any.isRequired
728
729
  } : {};
729
730
  DialogContainer.displayName = 'DialogContainer';
730
- DialogContainer.defaultProps = defaultProps$8;
731
+ DialogContainer.defaultProps = defaultProps$7;
731
732
 
732
733
  function _EMOTION_STRINGIFIED_CSS_ERROR__$4() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
733
734
 
@@ -808,7 +809,7 @@ InfoDialog.displayName = 'InfoDialog';
808
809
  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; }
809
810
 
810
811
  function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys$3(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys$3(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
811
- var defaultProps$7 = {
812
+ var defaultProps$6 = {
812
813
  isPrimaryButtonDisabled: false,
813
814
  dataAttributesPrimaryButton: {},
814
815
  dataAttributesSecondaryButton: {}
@@ -853,9 +854,9 @@ DialogFooter.propTypes = process.env.NODE_ENV !== "production" ? {
853
854
  dataAttributesSecondaryButton: _pt.objectOf(_pt.string).isRequired
854
855
  } : {};
855
856
  DialogFooter.displayName = 'DialogFooter';
856
- DialogFooter.defaultProps = defaultProps$7;
857
+ DialogFooter.defaultProps = defaultProps$6;
857
858
 
858
- var defaultProps$6 = {
859
+ var defaultProps$5 = {
859
860
  labelSecondary: sharedMessages.cancel,
860
861
  labelPrimary: sharedMessages.confirm
861
862
  };
@@ -910,12 +911,12 @@ ConfirmationDialog.propTypes = process.env.NODE_ENV !== "production" ? {
910
911
  getParentSelector: _pt.func
911
912
  } : {};
912
913
  ConfirmationDialog.displayName = 'ConfirmationDialog';
913
- ConfirmationDialog.defaultProps = defaultProps$6; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
914
+ ConfirmationDialog.defaultProps = defaultProps$5; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
914
915
  // The Intl messages can be used for button labels.
915
916
 
916
917
  ConfirmationDialog.Intl = sharedMessages;
917
918
 
918
- var defaultProps$5 = {
919
+ var defaultProps$4 = {
919
920
  labelSecondary: sharedMessages.cancel,
920
921
  labelPrimary: sharedMessages.save
921
922
  };
@@ -970,7 +971,7 @@ FormDialog.propTypes = process.env.NODE_ENV !== "production" ? {
970
971
  getParentSelector: _pt.func
971
972
  } : {};
972
973
  FormDialog.displayName = 'FormDialog';
973
- FormDialog.defaultProps = defaultProps$5; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
974
+ FormDialog.defaultProps = defaultProps$4; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
974
975
  // The Intl messages can be used for button labels.
975
976
 
976
977
  FormDialog.Intl = sharedMessages;
@@ -1060,7 +1061,7 @@ var LargeIconWrapper = _styled("span", process.env.NODE_ENV === "production" ? {
1060
1061
  // does not recognize the object shape.
1061
1062
 
1062
1063
 
1063
- var defaultProps$4 = {
1064
+ var defaultProps$3 = {
1064
1065
  color: 'surface',
1065
1066
  previousPathLabel: messages$2.back
1066
1067
  };
@@ -1123,7 +1124,7 @@ ModalPageTopBar.propTypes = process.env.NODE_ENV !== "production" ? {
1123
1124
  onClose: _pt.func.isRequired
1124
1125
  } : {};
1125
1126
  ModalPageTopBar.displayName = 'ModalPageTopBar';
1126
- ModalPageTopBar.defaultProps = defaultProps$4;
1127
+ ModalPageTopBar.defaultProps = defaultProps$3;
1127
1128
 
1128
1129
  var getDefaultParentSelector = function getDefaultParentSelector() {
1129
1130
  return process.env.NODE_ENV === 'test' ? document.body : document.querySelector("#".concat(PORTALS_CONTAINER_ID));
@@ -1132,7 +1133,7 @@ var getDefaultParentSelector = function getDefaultParentSelector() {
1132
1133
  // does not recognize the object shape.
1133
1134
 
1134
1135
 
1135
- var defaultProps$3 = {
1136
+ var defaultProps$2 = {
1136
1137
  level: 1,
1137
1138
  baseZIndex: 1000,
1138
1139
  getParentSelector: getDefaultParentSelector,
@@ -1231,7 +1232,7 @@ ModalPage.propTypes = process.env.NODE_ENV !== "production" ? {
1231
1232
  })])
1232
1233
  } : {};
1233
1234
  ModalPage.displayName = 'ModalPage';
1234
- ModalPage.defaultProps = defaultProps$3;
1235
+ ModalPage.defaultProps = defaultProps$2;
1235
1236
 
1236
1237
  var PageHeader = function PageHeader(props) {
1237
1238
  return jsxs("div", {
@@ -1351,7 +1352,7 @@ CustomFormModalPage.FormDeleteButton = FormDeleteButton; // This is a convenienc
1351
1352
 
1352
1353
  CustomFormModalPage.Intl = sharedMessages;
1353
1354
 
1354
- var defaultProps$2 = {
1355
+ var defaultProps$1 = {
1355
1356
  hideControls: false
1356
1357
  };
1357
1358
 
@@ -1424,12 +1425,12 @@ FormModalPage.propTypes = process.env.NODE_ENV !== "production" ? {
1424
1425
  hideControls: _pt.bool.isRequired
1425
1426
  } : {};
1426
1427
  FormModalPage.displayName = 'FormModalPage';
1427
- FormModalPage.defaultProps = defaultProps$2; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1428
+ FormModalPage.defaultProps = defaultProps$1; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1428
1429
  // The Intl messages can be used for button labels.
1429
1430
 
1430
1431
  FormModalPage.Intl = sharedMessages;
1431
1432
 
1432
- var defaultProps$1 = {
1433
+ var defaultProps = {
1433
1434
  hideControls: false
1434
1435
  };
1435
1436
 
@@ -1494,7 +1495,7 @@ TabularModalPage.propTypes = process.env.NODE_ENV !== "production" ? {
1494
1495
  hideControls: _pt.bool.isRequired
1495
1496
  } : {};
1496
1497
  TabularModalPage.displayName = 'TabularModalPage';
1497
- TabularModalPage.defaultProps = defaultProps$1; // Static export of pre-configured form control buttons to easily re-use
1498
+ TabularModalPage.defaultProps = defaultProps; // Static export of pre-configured form control buttons to easily re-use
1498
1499
  // them in the custom controls.
1499
1500
 
1500
1501
  TabularModalPage.FormPrimaryButton = FormPrimaryButton;
@@ -1744,39 +1745,62 @@ var PageUnauthorized = function PageUnauthorized() {
1744
1745
  PageUnauthorized.displayName = 'PageUnauthorized';
1745
1746
 
1746
1747
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
1747
- var defaultProps = {
1748
- offsetTop: '0',
1749
- offsetLeft: '0',
1750
- offsetLeftOnExpandedMenu: '0',
1751
- containerSelectorToPreventScrollingOnOpen: 'main',
1752
- zIndex: 10000
1748
+
1749
+ var useObserverElementDimensions = function useObserverElementDimensions(element) {
1750
+ var _useState = useState({
1751
+ height: 0,
1752
+ width: 0
1753
+ }),
1754
+ _useState2 = _slicedToArray(_useState, 2),
1755
+ dimensions = _useState2[0],
1756
+ setDimensions = _useState2[1];
1757
+
1758
+ useResizeObserver(element, function (entry) {
1759
+ setDimensions({
1760
+ height: entry.contentRect.height,
1761
+ width: entry.contentRect.width
1762
+ });
1763
+ });
1764
+ return dimensions;
1753
1765
  }; // All modal components expect to be rendered inside this container.
1754
1766
 
1767
+
1755
1768
  var _ref = process.env.NODE_ENV === "production" ? {
1756
1769
  name: "qk9kof",
1757
1770
  styles: "display:flex;height:1px;margin-top:-1px"
1758
1771
  } : {
1759
1772
  name: "14eqpg3-PortalsContainer",
1760
1773
  styles: "display:flex;height:1px;margin-top:-1px;label:PortalsContainer;",
1761
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcnRhbHMtY29udGFpbmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRWMiLCJmaWxlIjoicG9ydGFscy1jb250YWluZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzLCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBQT1JUQUxTX0NPTlRBSU5FUl9JRCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5cbnR5cGUgVFBvcnRhbHNDb250YWluZXJQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFRoZSBvZmZzZXQgdmFsdWUgZm9yIHBvc2l0aW9uaW5nIHRoZSBjb250YWluZXIgZnJvbSB0aGUgdG9wLCB3aGVuIG9wZW5lZC5cbiAgICogVXN1YWxseSB0aGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBoZWlnaHQgb2YgdGhlIGhlYWRlciBzZWN0aW9uLlxuICAgKi9cbiAgb2Zmc2V0VG9wOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgb2Zmc2V0IHZhbHVlIGZvciBwb3NpdGlvbmluZyB0aGUgY29udGFpbmVyIGZyb20gdGhlIGxlZnQsIHdoZW4gb3BlbmVkLlxuICAgKiBVc3VhbGx5IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIG1pbiB3aWR0aCBvZiB0aGUgbmF2IG1lbnUuXG4gICAqL1xuICBvZmZzZXRMZWZ0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgb2Zmc2V0IHZhbHVlIGZvciBwb3NpdGlvbmluZyB0aGUgY29udGFpbmVyIGZyb20gdGhlIGxlZnQsIHdoZW4gb3BlbmVkLlxuICAgKiBUaGUgdmFsdWUgaXMgb25seSBhcHBsaWVkIHdoZW4gdGhlIGAuYm9keV9fbWVudS1vcGVuYCBnbG9iYWwgY2xhc3MgaXMgYWRkZWQgdG8gdGhlIERPTS5cbiAgICogVXN1YWxseSB0aGlzIGNvcnJlc3BvbmRzIHRvIHRoZSB3aWR0aCBvZiB0aGUgZXhwYW5kZWQgbmF2IG1lbnUuXG4gICAqL1xuICBvZmZzZXRMZWZ0T25FeHBhbmRlZE1lbnU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBDU1Mgc2VsZWN0b3IgdG8gYXBwbHkgdGhlIGBvdmVyZmxvdzogaGlkZGVuYCBzdHlsZSB0byAocHJldmVudGluZyBzY3JvbGxpbmcpXG4gICAqIHdoZW4gYSBtb2RhbCBjb250YWluZXIgaXMgb3Blbi5cbiAgICovXG4gIGNvbnRhaW5lclNlbGVjdG9yVG9QcmV2ZW50U2Nyb2xsaW5nT25PcGVuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgYHotaW5kZXhgIHZhbHVlIHRvIGFwcGx5IHRvIHRoZSBwb3J0YWwgY29udGFpbmVyLiBEZWZhdWx0IHRvIGAxMDAwMGAuXG4gICAqL1xuICB6SW5kZXg6IG51bWJlcjtcbn07XG5jb25zdCBkZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFRQb3J0YWxzQ29udGFpbmVyUHJvcHMsXG4gIHwgJ29mZnNldFRvcCdcbiAgfCAnb2Zmc2V0TGVmdCdcbiAgfCAnb2Zmc2V0TGVmdE9uRXhwYW5kZWRNZW51J1xuICB8ICdjb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbidcbiAgfCAnekluZGV4J1xuPiA9IHtcbiAgb2Zmc2V0VG9wOiAnMCcsXG4gIG9mZnNldExlZnQ6ICcwJyxcbiAgb2Zmc2V0TGVmdE9uRXhwYW5kZWRNZW51OiAnMCcsXG4gIGNvbnRhaW5lclNlbGVjdG9yVG9QcmV2ZW50U2Nyb2xsaW5nT25PcGVuOiAnbWFpbicsXG4gIHpJbmRleDogMTAwMDAsXG59O1xuXG4vLyBBbGwgbW9kYWwgY29tcG9uZW50cyBleHBlY3QgdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoaXMgY29udGFpbmVyLlxuY29uc3QgUG9ydGFsc0NvbnRhaW5lciA9IChwcm9wczogVFBvcnRhbHNDb250YWluZXJQcm9wcykgPT4gKFxuICA8PlxuICAgIDxHbG9iYWxcbiAgICAgIC8vIEFwcGx5IHNvbWUgZ2xvYmFsIHN0eWxlcywgYmFzZWQgb24gdGhlIGAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbmAgY2xhc3MuXG4gICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW5cbiAgICAgICAgICAke3Byb3BzLmNvbnRhaW5lclNlbGVjdG9yVG9QcmV2ZW50U2Nyb2xsaW5nT25PcGVufSB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuICMke1BPUlRBTFNfQ09OVEFJTkVSX0lEfSB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gJHtwcm9wcy5vZmZzZXRUb3B9KTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gJHtwcm9wcy5vZmZzZXRMZWZ0fSk7XG4gICAgICAgICAgdG9wOiAke3Byb3BzLm9mZnNldFRvcH07XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHotaW5kZXg6ICR7cHJvcHMuekluZGV4fTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuLmJvZHlfX21lbnUtb3BlbiAjJHtQT1JUQUxTX0NPTlRBSU5FUl9JRH0ge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAke3Byb3BzLm9mZnNldExlZnRPbkV4cGFuZGVkTWVudX0pO1xuICAgICAgICB9XG4gICAgICBgfVxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgaWQ9e1BPUlRBTFNfQ09OVEFJTkVSX0lEfVxuICAgICAgLy8gVGhlIGNvbnRhaW5lciBuZWVkcyBhIGhlaWdodCBpbiBvcmRlciB0byBiZSB0YWJiYWJsZTogaHR0cHM6Ly9yZWFjdGpzL3JlYWN0LW1vZGFsIzc3NFxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgYH1cbiAgICAvPlxuICA8Lz5cbik7XG5Qb3J0YWxzQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ1BvcnRhbHNDb250YWluZXInO1xuUG9ydGFsc0NvbnRhaW5lci5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbmV4cG9ydCBkZWZhdWx0IFBvcnRhbHNDb250YWluZXI7XG4iXX0= */",
1774
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcnRhbHMtY29udGFpbmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3SGtCIiwiZmlsZSI6InBvcnRhbHMtY29udGFpbmVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTXV0YWJsZVJlZk9iamVjdCxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIGZvcndhcmRSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB1c2VSZXNpemVPYnNlcnZlciBmcm9tICdAcmVhY3QtaG9vay9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHsgUE9SVEFMU19DT05UQUlORVJfSUQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuXG50eXBlIFRMYXlvdXRSZWZzID0ge1xuICBub3RpZmljYXRpb25zR2xvYmFsUmVmOiBNdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgbm90aWZpY2F0aW9uc1BhZ2VSZWY6IE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcbnR5cGUgVE9ic2VydmFibGVFbGVtZW50RGltZW5zaW9ucyA9IHtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG59O1xudHlwZSBUUG9ydGFsc0NvbnRhaW5lclByb3BzID0ge1xuICAvKipcbiAgICogVGhlIG9mZnNldCB2YWx1ZSBmb3IgcG9zaXRpb25pbmcgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSB0b3AsIHdoZW4gb3BlbmVkLlxuICAgKiBVc3VhbGx5IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIGhlaWdodCBvZiB0aGUgaGVhZGVyIHNlY3Rpb24uXG4gICAqL1xuICBvZmZzZXRUb3A6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBvZmZzZXQgdmFsdWUgZm9yIHBvc2l0aW9uaW5nIHRoZSBjb250YWluZXIgZnJvbSB0aGUgbGVmdCwgd2hlbiBvcGVuZWQuXG4gICAqIFVzdWFsbHkgdGhpcyBjb3JyZXNwb25kcyB0byB0aGUgbWluIHdpZHRoIG9mIHRoZSBuYXYgbWVudS5cbiAgICovXG4gIG9mZnNldExlZnQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBvZmZzZXQgdmFsdWUgZm9yIHBvc2l0aW9uaW5nIHRoZSBjb250YWluZXIgZnJvbSB0aGUgbGVmdCwgd2hlbiBvcGVuZWQuXG4gICAqIFRoZSB2YWx1ZSBpcyBvbmx5IGFwcGxpZWQgd2hlbiB0aGUgYC5ib2R5X19tZW51LW9wZW5gIGdsb2JhbCBjbGFzcyBpcyBhZGRlZCB0byB0aGUgRE9NLlxuICAgKiBVc3VhbGx5IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIHdpZHRoIG9mIHRoZSBleHBhbmRlZCBuYXYgbWVudS5cbiAgICovXG4gIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIENTUyBzZWxlY3RvciB0byBhcHBseSB0aGUgYG92ZXJmbG93OiBoaWRkZW5gIHN0eWxlIHRvIChwcmV2ZW50aW5nIHNjcm9sbGluZylcbiAgICogd2hlbiBhIG1vZGFsIGNvbnRhaW5lciBpcyBvcGVuLlxuICAgKi9cbiAgY29udGFpbmVyU2VsZWN0b3JUb1ByZXZlbnRTY3JvbGxpbmdPbk9wZW46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBgei1pbmRleGAgdmFsdWUgdG8gYXBwbHkgdG8gdGhlIHBvcnRhbCBjb250YWluZXIuIERlZmF1bHQgdG8gYDEwMDAwYC5cbiAgICovXG4gIHpJbmRleDogbnVtYmVyO1xufTtcblxuY29uc3QgdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyA9IChcbiAgZWxlbWVudDogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PiB8IG51bGxcbik6IFRPYnNlcnZhYmxlRWxlbWVudERpbWVuc2lvbnMgPT4ge1xuICBjb25zdCBbZGltZW5zaW9ucywgc2V0RGltZW5zaW9uc10gPSB1c2VTdGF0ZTxUT2JzZXJ2YWJsZUVsZW1lbnREaW1lbnNpb25zPih7XG4gICAgaGVpZ2h0OiAwLFxuICAgIHdpZHRoOiAwLFxuICB9KTtcblxuICB1c2VSZXNpemVPYnNlcnZlcjxIVE1MRGl2RWxlbWVudD4oZWxlbWVudCwgKGVudHJ5KSA9PiB7XG4gICAgc2V0RGltZW5zaW9ucyh7XG4gICAgICBoZWlnaHQ6IGVudHJ5LmNvbnRlbnRSZWN0LmhlaWdodCxcbiAgICAgIHdpZHRoOiBlbnRyeS5jb250ZW50UmVjdC53aWR0aCxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIGRpbWVuc2lvbnM7XG59O1xuXG4vLyBBbGwgbW9kYWwgY29tcG9uZW50cyBleHBlY3QgdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoaXMgY29udGFpbmVyLlxuY29uc3QgUG9ydGFsc0NvbnRhaW5lciA9IGZvcndhcmRSZWY8VExheW91dFJlZnMsIFRQb3J0YWxzQ29udGFpbmVyUHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4ge1xuICAgIC8vIEluaXRpYWxpemUgcHJvcHMgd2l0aCBkZWZhdWx0IHZhbHVlcy5cbiAgICAvLyBOT1RFOiB1c2luZyBgZGVmYXVsdFByb3BzYCB3aXRoIGBmb3J3YXJkUmVmYCByZXN1bHRzIGluIHRoZSB0eXBlIGRlY2xhcmF0aW9uc1xuICAgIC8vIHRvIGlnbm9yZSB0aGUgYGRlZmF1bHRQcm9wc2AuIFRoZXJlZm9yZSwgdGhlIGRlZmF1bHQgcHJvcHMgYXJlIHR5cGVkXG4gICAgLy8gYXMgb3B0aW9uYWwgYW5kIHdlIGluaXRpYWxpemUgdGhlIHZhbHVlIGhlcmUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMuXG4gICAgY29uc3Qgb2Zmc2V0VG9wID0gcHJvcHMub2Zmc2V0VG9wID8/ICcwcHgnO1xuICAgIGNvbnN0IG9mZnNldExlZnQgPSBwcm9wcy5vZmZzZXRMZWZ0ID8/ICcwcHgnO1xuICAgIGNvbnN0IG9mZnNldExlZnRPbkV4cGFuZGVkTWVudSA9IHByb3BzLm9mZnNldExlZnRPbkV4cGFuZGVkTWVudSA/PyAnMHB4JztcbiAgICBjb25zdCBjb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbiA9XG4gICAgICBwcm9wcy5jb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbiA/PyAnbWFpbic7XG4gICAgY29uc3QgekluZGV4ID0gcHJvcHMuekluZGV4ID8/IDEwMDAwO1xuXG4gICAgY29uc3QgZ2xvYmFsTm90aWZpY2F0aW9uc0VsZW1lbnREaW1lbnNpb25zID0gdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyhcbiAgICAgIChyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxUTGF5b3V0UmVmcz4pPy5jdXJyZW50Py5ub3RpZmljYXRpb25zR2xvYmFsUmVmXG4gICAgKTtcbiAgICBjb25zdCBwYWdlTm90aWZpY2F0aW9uc0VsZW1lbnREaW1lbnNpb25zID0gdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyhcbiAgICAgIChyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxUTGF5b3V0UmVmcz4pPy5jdXJyZW50Py5ub3RpZmljYXRpb25zUGFnZVJlZlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPEdsb2JhbFxuICAgICAgICAgIC8vIEFwcGx5IHNvbWUgZ2xvYmFsIHN0eWxlcywgYmFzZWQgb24gdGhlIGAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbmAgY2xhc3MuXG4gICAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlblxuICAgICAgICAgICAgICAke2NvbnRhaW5lclNlbGVjdG9yVG9QcmV2ZW50U2Nyb2xsaW5nT25PcGVufSB7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuICMke1BPUlRBTFNfQ09OVEFJTkVSX0lEfSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgIDEwMCUgLSAke29mZnNldFRvcH0gLVxuICAgICAgICAgICAgICAgICAgJHtnbG9iYWxOb3RpZmljYXRpb25zRWxlbWVudERpbWVuc2lvbnMuaGVpZ2h0fXB4IC1cbiAgICAgICAgICAgICAgICAgICR7cGFnZU5vdGlmaWNhdGlvbnNFbGVtZW50RGltZW5zaW9ucy5oZWlnaHR9cHhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICR7b2Zmc2V0TGVmdH0pO1xuICAgICAgICAgICAgICB0b3A6IGNhbGMoXG4gICAgICAgICAgICAgICAgJHtvZmZzZXRUb3B9ICsgJHtnbG9iYWxOb3RpZmljYXRpb25zRWxlbWVudERpbWVuc2lvbnMuaGVpZ2h0fXB4ICtcbiAgICAgICAgICAgICAgICAgICR7cGFnZU5vdGlmaWNhdGlvbnNFbGVtZW50RGltZW5zaW9ucy5oZWlnaHR9cHhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgei1pbmRleDogJHt6SW5kZXh9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3Blbi5ib2R5X19tZW51LW9wZW4gIyR7UE9SVEFMU19DT05UQUlORVJfSUR9IHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICR7b2Zmc2V0TGVmdE9uRXhwYW5kZWRNZW51fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgYH1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGlkPXtQT1JUQUxTX0NPTlRBSU5FUl9JRH1cbiAgICAgICAgICAvLyBUaGUgY29udGFpbmVyIG5lZWRzIGEgaGVpZ2h0IGluIG9yZGVyIHRvIGJlIHRhYmJhYmxlOiBodHRwczovL3JlYWN0anMvcmVhY3QtbW9kYWwjNzc0XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgIGB9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuUG9ydGFsc0NvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdQb3J0YWxzQ29udGFpbmVyJztcblxuZXhwb3J0IGRlZmF1bHQgUG9ydGFsc0NvbnRhaW5lcjtcbiJdfQ== */",
1762
1775
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
1763
1776
  };
1764
1777
 
1765
- var PortalsContainer = function PortalsContainer(props) {
1778
+ var PortalsContainer = /*#__PURE__*/forwardRef(function (props, ref) {
1779
+ var _props$offsetTop, _props$offsetLeft, _props$offsetLeftOnEx, _props$containerSelec, _props$zIndex, _current, _current2;
1780
+
1781
+ // Initialize props with default values.
1782
+ // NOTE: using `defaultProps` with `forwardRef` results in the type declarations
1783
+ // to ignore the `defaultProps`. Therefore, the default props are typed
1784
+ // as optional and we initialize the value here with the default values.
1785
+ var offsetTop = (_props$offsetTop = props.offsetTop) !== null && _props$offsetTop !== void 0 ? _props$offsetTop : '0px';
1786
+ var offsetLeft = (_props$offsetLeft = props.offsetLeft) !== null && _props$offsetLeft !== void 0 ? _props$offsetLeft : '0px';
1787
+ var offsetLeftOnExpandedMenu = (_props$offsetLeftOnEx = props.offsetLeftOnExpandedMenu) !== null && _props$offsetLeftOnEx !== void 0 ? _props$offsetLeftOnEx : '0px';
1788
+ var containerSelectorToPreventScrollingOnOpen = (_props$containerSelec = props.containerSelectorToPreventScrollingOnOpen) !== null && _props$containerSelec !== void 0 ? _props$containerSelec : 'main';
1789
+ var zIndex = (_props$zIndex = props.zIndex) !== null && _props$zIndex !== void 0 ? _props$zIndex : 10000;
1790
+ var globalNotificationsElementDimensions = useObserverElementDimensions(ref === null || ref === void 0 ? void 0 : (_current = ref.current) === null || _current === void 0 ? void 0 : _current.notificationsGlobalRef);
1791
+ var pageNotificationsElementDimensions = useObserverElementDimensions(ref === null || ref === void 0 ? void 0 : (_current2 = ref.current) === null || _current2 === void 0 ? void 0 : _current2.notificationsPageRef);
1766
1792
  return jsxs(Fragment, {
1767
1793
  children: [jsx(Global // Apply some global styles, based on the `.ReactModal__Body--open` class.
1768
1794
  , {
1769
- styles: /*#__PURE__*/css(".ReactModal__Body--open ", props.containerSelectorToPreventScrollingOnOpen, "{overflow:hidden;}.ReactModal__Body--open #", PORTALS_CONTAINER_ID, "{position:fixed;height:calc(100% - ", props.offsetTop, ");width:calc(100% - ", props.offsetLeft, ");top:", props.offsetTop, ";right:0;bottom:0;z-index:", props.zIndex, ";}.ReactModal__Body--open.body__menu-open #", PORTALS_CONTAINER_ID, "{width:calc(100% - ", props.offsetLeftOnExpandedMenu, ");}" + (process.env.NODE_ENV === "production" ? "" : ";label:PortalsContainer;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcnRhbHMtY29udGFpbmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRGlCIiwiZmlsZSI6InBvcnRhbHMtY29udGFpbmVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcywgR2xvYmFsIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgUE9SVEFMU19DT05UQUlORVJfSUQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuXG50eXBlIFRQb3J0YWxzQ29udGFpbmVyUHJvcHMgPSB7XG4gIC8qKlxuICAgKiBUaGUgb2Zmc2V0IHZhbHVlIGZvciBwb3NpdGlvbmluZyB0aGUgY29udGFpbmVyIGZyb20gdGhlIHRvcCwgd2hlbiBvcGVuZWQuXG4gICAqIFVzdWFsbHkgdGhpcyBjb3JyZXNwb25kcyB0byB0aGUgaGVpZ2h0IG9mIHRoZSBoZWFkZXIgc2VjdGlvbi5cbiAgICovXG4gIG9mZnNldFRvcDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG9mZnNldCB2YWx1ZSBmb3IgcG9zaXRpb25pbmcgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSBsZWZ0LCB3aGVuIG9wZW5lZC5cbiAgICogVXN1YWxseSB0aGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBtaW4gd2lkdGggb2YgdGhlIG5hdiBtZW51LlxuICAgKi9cbiAgb2Zmc2V0TGVmdDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG9mZnNldCB2YWx1ZSBmb3IgcG9zaXRpb25pbmcgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSBsZWZ0LCB3aGVuIG9wZW5lZC5cbiAgICogVGhlIHZhbHVlIGlzIG9ubHkgYXBwbGllZCB3aGVuIHRoZSBgLmJvZHlfX21lbnUtb3BlbmAgZ2xvYmFsIGNsYXNzIGlzIGFkZGVkIHRvIHRoZSBET00uXG4gICAqIFVzdWFsbHkgdGhpcyBjb3JyZXNwb25kcyB0byB0aGUgd2lkdGggb2YgdGhlIGV4cGFuZGVkIG5hdiBtZW51LlxuICAgKi9cbiAgb2Zmc2V0TGVmdE9uRXhwYW5kZWRNZW51OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQ1NTIHNlbGVjdG9yIHRvIGFwcGx5IHRoZSBgb3ZlcmZsb3c6IGhpZGRlbmAgc3R5bGUgdG8gKHByZXZlbnRpbmcgc2Nyb2xsaW5nKVxuICAgKiB3aGVuIGEgbW9kYWwgY29udGFpbmVyIGlzIG9wZW4uXG4gICAqL1xuICBjb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3Blbjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGB6LWluZGV4YCB2YWx1ZSB0byBhcHBseSB0byB0aGUgcG9ydGFsIGNvbnRhaW5lci4gRGVmYXVsdCB0byBgMTAwMDBgLlxuICAgKi9cbiAgekluZGV4OiBudW1iZXI7XG59O1xuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUUG9ydGFsc0NvbnRhaW5lclByb3BzLFxuICB8ICdvZmZzZXRUb3AnXG4gIHwgJ29mZnNldExlZnQnXG4gIHwgJ29mZnNldExlZnRPbkV4cGFuZGVkTWVudSdcbiAgfCAnY29udGFpbmVyU2VsZWN0b3JUb1ByZXZlbnRTY3JvbGxpbmdPbk9wZW4nXG4gIHwgJ3pJbmRleCdcbj4gPSB7XG4gIG9mZnNldFRvcDogJzAnLFxuICBvZmZzZXRMZWZ0OiAnMCcsXG4gIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudTogJzAnLFxuICBjb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbjogJ21haW4nLFxuICB6SW5kZXg6IDEwMDAwLFxufTtcblxuLy8gQWxsIG1vZGFsIGNvbXBvbmVudHMgZXhwZWN0IHRvIGJlIHJlbmRlcmVkIGluc2lkZSB0aGlzIGNvbnRhaW5lci5cbmNvbnN0IFBvcnRhbHNDb250YWluZXIgPSAocHJvcHM6IFRQb3J0YWxzQ29udGFpbmVyUHJvcHMpID0+IChcbiAgPD5cbiAgICA8R2xvYmFsXG4gICAgICAvLyBBcHBseSBzb21lIGdsb2JhbCBzdHlsZXMsIGJhc2VkIG9uIHRoZSBgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW5gIGNsYXNzLlxuICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuXG4gICAgICAgICAgJHtwcm9wcy5jb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3Blbn0ge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbiAjJHtQT1JUQUxTX0NPTlRBSU5FUl9JRH0ge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICR7cHJvcHMub2Zmc2V0VG9wfSk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICR7cHJvcHMub2Zmc2V0TGVmdH0pO1xuICAgICAgICAgIHRvcDogJHtwcm9wcy5vZmZzZXRUb3B9O1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB6LWluZGV4OiAke3Byb3BzLnpJbmRleH07XG4gICAgICAgIH1cblxuICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3Blbi5ib2R5X19tZW51LW9wZW4gIyR7UE9SVEFMU19DT05UQUlORVJfSUR9IHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gJHtwcm9wcy5vZmZzZXRMZWZ0T25FeHBhbmRlZE1lbnV9KTtcbiAgICAgICAgfVxuICAgICAgYH1cbiAgICAvPlxuICAgIDxkaXZcbiAgICAgIGlkPXtQT1JUQUxTX0NPTlRBSU5FUl9JRH1cbiAgICAgIC8vIFRoZSBjb250YWluZXIgbmVlZHMgYSBoZWlnaHQgaW4gb3JkZXIgdG8gYmUgdGFiYmFibGU6IGh0dHBzOi8vcmVhY3Rqcy9yZWFjdC1tb2RhbCM3NzRcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIGB9XG4gICAgLz5cbiAgPC8+XG4pO1xuUG9ydGFsc0NvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdQb3J0YWxzQ29udGFpbmVyJztcblBvcnRhbHNDb250YWluZXIuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBQb3J0YWxzQ29udGFpbmVyO1xuIl19 */")
1795
+ styles: /*#__PURE__*/css(".ReactModal__Body--open ", containerSelectorToPreventScrollingOnOpen, "{overflow:hidden;}.ReactModal__Body--open #", PORTALS_CONTAINER_ID, "{position:fixed;height:calc(\n 100% - ", offsetTop, " -\n ", globalNotificationsElementDimensions.height, "px -\n ", pageNotificationsElementDimensions.height, "px\n );width:calc(100% - ", offsetLeft, ");top:calc(\n ", offsetTop, " + ", globalNotificationsElementDimensions.height, "px +\n ", pageNotificationsElementDimensions.height, "px\n );right:0;bottom:0;z-index:", zIndex, ";}.ReactModal__Body--open.body__menu-open #", PORTALS_CONTAINER_ID, "{width:calc(100% - ", offsetLeftOnExpandedMenu, ");}" + (process.env.NODE_ENV === "production" ? "" : ";label:PortalsContainer;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcnRhbHMtY29udGFpbmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RnFCIiwiZmlsZSI6InBvcnRhbHMtY29udGFpbmVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTXV0YWJsZVJlZk9iamVjdCxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIGZvcndhcmRSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB1c2VSZXNpemVPYnNlcnZlciBmcm9tICdAcmVhY3QtaG9vay9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHsgUE9SVEFMU19DT05UQUlORVJfSUQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuXG50eXBlIFRMYXlvdXRSZWZzID0ge1xuICBub3RpZmljYXRpb25zR2xvYmFsUmVmOiBNdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgbm90aWZpY2F0aW9uc1BhZ2VSZWY6IE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcbnR5cGUgVE9ic2VydmFibGVFbGVtZW50RGltZW5zaW9ucyA9IHtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG59O1xudHlwZSBUUG9ydGFsc0NvbnRhaW5lclByb3BzID0ge1xuICAvKipcbiAgICogVGhlIG9mZnNldCB2YWx1ZSBmb3IgcG9zaXRpb25pbmcgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSB0b3AsIHdoZW4gb3BlbmVkLlxuICAgKiBVc3VhbGx5IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIGhlaWdodCBvZiB0aGUgaGVhZGVyIHNlY3Rpb24uXG4gICAqL1xuICBvZmZzZXRUb3A6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBvZmZzZXQgdmFsdWUgZm9yIHBvc2l0aW9uaW5nIHRoZSBjb250YWluZXIgZnJvbSB0aGUgbGVmdCwgd2hlbiBvcGVuZWQuXG4gICAqIFVzdWFsbHkgdGhpcyBjb3JyZXNwb25kcyB0byB0aGUgbWluIHdpZHRoIG9mIHRoZSBuYXYgbWVudS5cbiAgICovXG4gIG9mZnNldExlZnQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBvZmZzZXQgdmFsdWUgZm9yIHBvc2l0aW9uaW5nIHRoZSBjb250YWluZXIgZnJvbSB0aGUgbGVmdCwgd2hlbiBvcGVuZWQuXG4gICAqIFRoZSB2YWx1ZSBpcyBvbmx5IGFwcGxpZWQgd2hlbiB0aGUgYC5ib2R5X19tZW51LW9wZW5gIGdsb2JhbCBjbGFzcyBpcyBhZGRlZCB0byB0aGUgRE9NLlxuICAgKiBVc3VhbGx5IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIHdpZHRoIG9mIHRoZSBleHBhbmRlZCBuYXYgbWVudS5cbiAgICovXG4gIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIENTUyBzZWxlY3RvciB0byBhcHBseSB0aGUgYG92ZXJmbG93OiBoaWRkZW5gIHN0eWxlIHRvIChwcmV2ZW50aW5nIHNjcm9sbGluZylcbiAgICogd2hlbiBhIG1vZGFsIGNvbnRhaW5lciBpcyBvcGVuLlxuICAgKi9cbiAgY29udGFpbmVyU2VsZWN0b3JUb1ByZXZlbnRTY3JvbGxpbmdPbk9wZW46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBgei1pbmRleGAgdmFsdWUgdG8gYXBwbHkgdG8gdGhlIHBvcnRhbCBjb250YWluZXIuIERlZmF1bHQgdG8gYDEwMDAwYC5cbiAgICovXG4gIHpJbmRleDogbnVtYmVyO1xufTtcblxuY29uc3QgdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyA9IChcbiAgZWxlbWVudDogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PiB8IG51bGxcbik6IFRPYnNlcnZhYmxlRWxlbWVudERpbWVuc2lvbnMgPT4ge1xuICBjb25zdCBbZGltZW5zaW9ucywgc2V0RGltZW5zaW9uc10gPSB1c2VTdGF0ZTxUT2JzZXJ2YWJsZUVsZW1lbnREaW1lbnNpb25zPih7XG4gICAgaGVpZ2h0OiAwLFxuICAgIHdpZHRoOiAwLFxuICB9KTtcblxuICB1c2VSZXNpemVPYnNlcnZlcjxIVE1MRGl2RWxlbWVudD4oZWxlbWVudCwgKGVudHJ5KSA9PiB7XG4gICAgc2V0RGltZW5zaW9ucyh7XG4gICAgICBoZWlnaHQ6IGVudHJ5LmNvbnRlbnRSZWN0LmhlaWdodCxcbiAgICAgIHdpZHRoOiBlbnRyeS5jb250ZW50UmVjdC53aWR0aCxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIGRpbWVuc2lvbnM7XG59O1xuXG4vLyBBbGwgbW9kYWwgY29tcG9uZW50cyBleHBlY3QgdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoaXMgY29udGFpbmVyLlxuY29uc3QgUG9ydGFsc0NvbnRhaW5lciA9IGZvcndhcmRSZWY8VExheW91dFJlZnMsIFRQb3J0YWxzQ29udGFpbmVyUHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4ge1xuICAgIC8vIEluaXRpYWxpemUgcHJvcHMgd2l0aCBkZWZhdWx0IHZhbHVlcy5cbiAgICAvLyBOT1RFOiB1c2luZyBgZGVmYXVsdFByb3BzYCB3aXRoIGBmb3J3YXJkUmVmYCByZXN1bHRzIGluIHRoZSB0eXBlIGRlY2xhcmF0aW9uc1xuICAgIC8vIHRvIGlnbm9yZSB0aGUgYGRlZmF1bHRQcm9wc2AuIFRoZXJlZm9yZSwgdGhlIGRlZmF1bHQgcHJvcHMgYXJlIHR5cGVkXG4gICAgLy8gYXMgb3B0aW9uYWwgYW5kIHdlIGluaXRpYWxpemUgdGhlIHZhbHVlIGhlcmUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMuXG4gICAgY29uc3Qgb2Zmc2V0VG9wID0gcHJvcHMub2Zmc2V0VG9wID8/ICcwcHgnO1xuICAgIGNvbnN0IG9mZnNldExlZnQgPSBwcm9wcy5vZmZzZXRMZWZ0ID8/ICcwcHgnO1xuICAgIGNvbnN0IG9mZnNldExlZnRPbkV4cGFuZGVkTWVudSA9IHByb3BzLm9mZnNldExlZnRPbkV4cGFuZGVkTWVudSA/PyAnMHB4JztcbiAgICBjb25zdCBjb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbiA9XG4gICAgICBwcm9wcy5jb250YWluZXJTZWxlY3RvclRvUHJldmVudFNjcm9sbGluZ09uT3BlbiA/PyAnbWFpbic7XG4gICAgY29uc3QgekluZGV4ID0gcHJvcHMuekluZGV4ID8/IDEwMDAwO1xuXG4gICAgY29uc3QgZ2xvYmFsTm90aWZpY2F0aW9uc0VsZW1lbnREaW1lbnNpb25zID0gdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyhcbiAgICAgIChyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxUTGF5b3V0UmVmcz4pPy5jdXJyZW50Py5ub3RpZmljYXRpb25zR2xvYmFsUmVmXG4gICAgKTtcbiAgICBjb25zdCBwYWdlTm90aWZpY2F0aW9uc0VsZW1lbnREaW1lbnNpb25zID0gdXNlT2JzZXJ2ZXJFbGVtZW50RGltZW5zaW9ucyhcbiAgICAgIChyZWYgYXMgTXV0YWJsZVJlZk9iamVjdDxUTGF5b3V0UmVmcz4pPy5jdXJyZW50Py5ub3RpZmljYXRpb25zUGFnZVJlZlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPEdsb2JhbFxuICAgICAgICAgIC8vIEFwcGx5IHNvbWUgZ2xvYmFsIHN0eWxlcywgYmFzZWQgb24gdGhlIGAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbmAgY2xhc3MuXG4gICAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlblxuICAgICAgICAgICAgICAke2NvbnRhaW5lclNlbGVjdG9yVG9QcmV2ZW50U2Nyb2xsaW5nT25PcGVufSB7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuICMke1BPUlRBTFNfQ09OVEFJTkVSX0lEfSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgIDEwMCUgLSAke29mZnNldFRvcH0gLVxuICAgICAgICAgICAgICAgICAgJHtnbG9iYWxOb3RpZmljYXRpb25zRWxlbWVudERpbWVuc2lvbnMuaGVpZ2h0fXB4IC1cbiAgICAgICAgICAgICAgICAgICR7cGFnZU5vdGlmaWNhdGlvbnNFbGVtZW50RGltZW5zaW9ucy5oZWlnaHR9cHhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICR7b2Zmc2V0TGVmdH0pO1xuICAgICAgICAgICAgICB0b3A6IGNhbGMoXG4gICAgICAgICAgICAgICAgJHtvZmZzZXRUb3B9ICsgJHtnbG9iYWxOb3RpZmljYXRpb25zRWxlbWVudERpbWVuc2lvbnMuaGVpZ2h0fXB4ICtcbiAgICAgICAgICAgICAgICAgICR7cGFnZU5vdGlmaWNhdGlvbnNFbGVtZW50RGltZW5zaW9ucy5oZWlnaHR9cHhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgei1pbmRleDogJHt6SW5kZXh9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3Blbi5ib2R5X19tZW51LW9wZW4gIyR7UE9SVEFMU19DT05UQUlORVJfSUR9IHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICR7b2Zmc2V0TGVmdE9uRXhwYW5kZWRNZW51fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgYH1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGlkPXtQT1JUQUxTX0NPTlRBSU5FUl9JRH1cbiAgICAgICAgICAvLyBUaGUgY29udGFpbmVyIG5lZWRzIGEgaGVpZ2h0IGluIG9yZGVyIHRvIGJlIHRhYmJhYmxlOiBodHRwczovL3JlYWN0anMvcmVhY3QtbW9kYWwjNzc0XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgIGB9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuUG9ydGFsc0NvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdQb3J0YWxzQ29udGFpbmVyJztcblxuZXhwb3J0IGRlZmF1bHQgUG9ydGFsc0NvbnRhaW5lcjtcbiJdfQ== */")
1770
1796
  }), jsx("div", {
1771
1797
  id: PORTALS_CONTAINER_ID // The container needs a height in order to be tabbable: https://reactjs/react-modal#774
1772
1798
  ,
1773
1799
  css: _ref
1774
1800
  })]
1775
1801
  });
1776
- };
1777
-
1802
+ });
1778
1803
  PortalsContainer.displayName = 'PortalsContainer';
1779
- PortalsContainer.defaultProps = defaultProps;
1780
1804
 
1781
1805
  var useModalState = function useModalState() {
1782
1806
  var isInitiallyOpen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
@@ -1,3 +1,8 @@
1
+ import { type MutableRefObject } from 'react';
2
+ declare type TLayoutRefs = {
3
+ notificationsGlobalRef: MutableRefObject<HTMLDivElement>;
4
+ notificationsPageRef: MutableRefObject<HTMLDivElement>;
5
+ };
1
6
  declare type TPortalsContainerProps = {
2
7
  offsetTop: string;
3
8
  offsetLeft: string;
@@ -5,9 +10,5 @@ declare type TPortalsContainerProps = {
5
10
  containerSelectorToPreventScrollingOnOpen: string;
6
11
  zIndex: number;
7
12
  };
8
- declare const PortalsContainer: {
9
- (props: TPortalsContainerProps): import("@emotion/react/jsx-runtime").JSX.Element;
10
- displayName: string;
11
- defaultProps: Pick<TPortalsContainerProps, "zIndex" | "offsetTop" | "offsetLeft" | "offsetLeftOnExpandedMenu" | "containerSelectorToPreventScrollingOnOpen">;
12
- };
13
+ declare const PortalsContainer: import("react").ForwardRefExoticComponent<TPortalsContainerProps & import("react").RefAttributes<TLayoutRefs>>;
13
14
  export default PortalsContainer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools-frontend/application-components",
3
- "version": "21.3.4",
3
+ "version": "21.5.0",
4
4
  "description": "Generic components for building Merchant Center applications",
5
5
  "bugs": "https://github.com/commercetools/merchant-center-application-kit/issues",
6
6
  "repository": {
@@ -32,23 +32,24 @@
32
32
  "@commercetools-frontend/application-shell-connectors": "21.3.4",
33
33
  "@commercetools-frontend/assets": "21.0.0",
34
34
  "@commercetools-frontend/constants": "21.3.4",
35
- "@commercetools-frontend/i18n": "21.3.4",
35
+ "@commercetools-frontend/i18n": "21.4.0",
36
36
  "@commercetools-frontend/l10n": "21.3.4",
37
- "@commercetools-uikit/card": "^14.0.1",
38
- "@commercetools-uikit/constraints": "^14.0.1",
39
- "@commercetools-uikit/design-system": "^14.0.0",
40
- "@commercetools-uikit/flat-button": "^14.0.6",
41
- "@commercetools-uikit/icon-button": "^14.0.6",
42
- "@commercetools-uikit/icons": "^14.0.1",
43
- "@commercetools-uikit/messages": "^14.0.1",
44
- "@commercetools-uikit/primary-button": "^14.0.6",
45
- "@commercetools-uikit/secondary-button": "^14.0.6",
46
- "@commercetools-uikit/secondary-icon-button": "^14.0.6",
47
- "@commercetools-uikit/spacings": "^14.0.6",
48
- "@commercetools-uikit/text": "^14.0.1",
49
- "@commercetools-uikit/utils": "^14.0.1",
37
+ "@commercetools-uikit/card": "^15.0.0",
38
+ "@commercetools-uikit/constraints": "^15.0.0",
39
+ "@commercetools-uikit/design-system": "^15.0.0",
40
+ "@commercetools-uikit/flat-button": "^15.0.0",
41
+ "@commercetools-uikit/icon-button": "^15.0.0",
42
+ "@commercetools-uikit/icons": "^15.0.0",
43
+ "@commercetools-uikit/messages": "^15.0.0",
44
+ "@commercetools-uikit/primary-button": "^15.0.0",
45
+ "@commercetools-uikit/secondary-button": "^15.0.0",
46
+ "@commercetools-uikit/secondary-icon-button": "^15.0.0",
47
+ "@commercetools-uikit/spacings": "^15.0.0",
48
+ "@commercetools-uikit/text": "^15.0.0",
49
+ "@commercetools-uikit/utils": "^15.0.0",
50
50
  "@emotion/react": "11.9.0",
51
51
  "@emotion/styled": "11.8.1",
52
+ "@react-hook/resize-observer": "1.2.5",
52
53
  "@types/history": "4.7.11",
53
54
  "@types/lodash": "^4.14.181",
54
55
  "@types/prop-types": "^15.7.5",
@@ -63,7 +64,7 @@
63
64
  "devDependencies": {
64
65
  "react": "17.0.2",
65
66
  "react-dom": "17.0.2",
66
- "react-intl": "5.24.8",
67
+ "react-intl": "^5.25.0",
67
68
  "react-router-dom": "5.3.0"
68
69
  },
69
70
  "peerDependencies": {