@commercetools-frontend/application-components 22.9.1 → 22.10.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.
@@ -42,6 +42,8 @@ var actionsGlobal = require('@commercetools-frontend/actions-global');
42
42
  var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
43
43
  var FlatButton = require('@commercetools-uikit/flat-button');
44
44
  var IconButton = require('@commercetools-uikit/icon-button');
45
+ var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
46
+ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
45
47
  var PageNotFoundSVG = require('@commercetools-frontend/assets/images/page-not-found.svg');
46
48
  var FailedAuthorizationSVG = require('@commercetools-frontend/assets/images/doors-closed.svg');
47
49
  var useResizeObserver = require('@react-hook/resize-observer');
@@ -74,12 +76,14 @@ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstancePro
74
76
  var Constraints__default = /*#__PURE__*/_interopDefault(Constraints);
75
77
  var FlatButton__default = /*#__PURE__*/_interopDefault(FlatButton);
76
78
  var IconButton__default = /*#__PURE__*/_interopDefault(IconButton);
79
+ var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
80
+ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
77
81
  var PageNotFoundSVG__default = /*#__PURE__*/_interopDefault(PageNotFoundSVG);
78
82
  var FailedAuthorizationSVG__default = /*#__PURE__*/_interopDefault(FailedAuthorizationSVG);
79
83
  var useResizeObserver__default = /*#__PURE__*/_interopDefault(useResizeObserver);
80
84
 
81
85
  // NOTE: This string will be replaced on build time with the package version.
82
- var version = "22.9.1";
86
+ var version = "22.10.0";
83
87
 
84
88
  var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9;
85
89
  const appKitSpacing55 = '40px';
@@ -157,7 +161,7 @@ const getLinkStyles = (isActive, isDisabled) => [/*#__PURE__*/react.css("font-si
157
161
 
158
162
  function ownKeys$7(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
159
163
  function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$7(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$7(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
160
- const pathWithoutSearch = path => typeof path === 'string' ? path.split('?')[0] : path.pathname;
164
+ const pathWithoutSearch$1 = path => typeof path === 'string' ? path.split('?')[0] : path.pathname;
161
165
  const warnIfMissingContent = props => {
162
166
  const hasContent = Boolean(props.intlMessage) || Boolean(props.label);
163
167
  process.env.NODE_ENV !== "production" ? utils.warning(hasContent, 'TabHeader: one of either `label` or `intlMessage` is required but their values are `undefined`') : void 0;
@@ -179,7 +183,7 @@ const TabHeader = props => {
179
183
  const location = reactRouterDom.useLocation();
180
184
  const isActive = Boolean(reactRouterDom.matchPath(location.pathname, {
181
185
  // strip the search, otherwise the path won't match
182
- path: pathWithoutSearch(props.to),
186
+ path: pathWithoutSearch$1(props.to),
183
187
  exact: props.exactPathMatch,
184
188
  strict: false
185
189
  }));
@@ -1503,6 +1507,26 @@ FormModalPage.defaultProps = defaultProps$a;
1503
1507
  // The Intl messages can be used for button labels.
1504
1508
  FormModalPage.Intl = i18n.sharedMessages;
1505
1509
 
1510
+ const pathWithoutSearch = path => typeof path === 'string' ? path.split('?')[0] : path.pathname;
1511
+ const useCustomViewLocatorSelector = function () {
1512
+ var _context;
1513
+ let customViewLocatorCodes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1514
+ const location = reactRouterDom.useLocation();
1515
+ const customViewLocator = _findInstanceProperty__default["default"](_context = _Object$entries__default["default"](customViewLocatorCodes)).call(_context, _ref => {
1516
+ let _ref2 = _slicedToArray(_ref, 2),
1517
+ locator = _ref2[1];
1518
+ return reactRouterDom.matchPath(location.pathname, {
1519
+ // strip the search, otherwise the path won't match
1520
+ path: pathWithoutSearch(locator),
1521
+ exact: false,
1522
+ strict: false
1523
+ });
1524
+ });
1525
+ return {
1526
+ currentCustomViewLocatorCode: customViewLocator === null || customViewLocator === void 0 ? void 0 : customViewLocator[0]
1527
+ };
1528
+ };
1529
+
1506
1530
  const TabControls = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
1507
1531
  target: "elpldre1"
1508
1532
  } : {
@@ -1545,6 +1569,8 @@ const defaultProps$8 = {
1545
1569
  hideControls: false
1546
1570
  };
1547
1571
  const TabularModalPage = props => {
1572
+ const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
1573
+ currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
1548
1574
  return jsxRuntime.jsxs(ModalPage, {
1549
1575
  title: props.title,
1550
1576
  isOpen: props.isOpen,
@@ -1556,7 +1582,7 @@ const TabularModalPage = props => {
1556
1582
  getParentSelector: props.getParentSelector,
1557
1583
  shouldDelayOnClose: props.shouldDelayOnClose,
1558
1584
  afterOpenStyles: props.afterOpenStyles,
1559
- customViewLocatorCode: props.customViewLocatorCode,
1585
+ customViewLocatorCode: currentCustomViewLocatorCode,
1560
1586
  children: [jsxRuntime.jsxs(TabularPageContainer, {
1561
1587
  color: "neutral",
1562
1588
  children: [props.customTitleRow || jsxRuntime.jsx(PageHeaderTitle, {
@@ -1582,7 +1608,7 @@ TabularModalPage.propTypes = process.env.NODE_ENV !== "production" ? {
1582
1608
  level: _pt__default["default"].number,
1583
1609
  title: _pt__default["default"].string.isRequired,
1584
1610
  isOpen: _pt__default["default"].bool.isRequired,
1585
- customViewLocatorCode: _pt__default["default"].string,
1611
+ customViewLocatorCodes: _pt__default["default"].objectOf(_pt__default["default"].any),
1586
1612
  onClose: _pt__default["default"].func,
1587
1613
  children: _pt__default["default"].node.isRequired,
1588
1614
  zIndex: _pt__default["default"].number,
@@ -1822,10 +1848,12 @@ const defaultProps$4 = {
1822
1848
  };
1823
1849
  const TabularDetailPage = props => {
1824
1850
  var _props$title;
1851
+ const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
1852
+ currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
1825
1853
  process.env.NODE_ENV !== "production" ? utils.warning(props.title !== undefined || props.customTitleRow !== undefined, 'TabularDetailPage: one of either `title` or `customTitleRow` is required but both their values are `undefined`') : void 0;
1826
1854
  return jsxRuntime.jsxs(PageWrapper, {
1827
1855
  children: [jsxRuntime.jsx(CustomViewSelectorOrNothing, {
1828
- customViewLocatorCode: props.customViewLocatorCode
1856
+ customViewLocatorCode: currentCustomViewLocatorCode
1829
1857
  }), jsxRuntime.jsxs(TabularPageContainer, {
1830
1858
  color: "neutral",
1831
1859
  children: [jsxRuntime.jsx(PageTopBar, {
@@ -1858,7 +1886,7 @@ TabularDetailPage.propTypes = process.env.NODE_ENV !== "production" ? {
1858
1886
  tabControls: _pt__default["default"].node.isRequired,
1859
1887
  formControls: _pt__default["default"].node,
1860
1888
  hideControls: _pt__default["default"].bool.isRequired,
1861
- customViewLocatorCode: _pt__default["default"].string,
1889
+ customViewLocatorCodes: _pt__default["default"].objectOf(_pt__default["default"].any),
1862
1890
  previousPathLabel: _pt__default["default"].oneOfType([_pt__default["default"].string, _pt__default["default"].shape({
1863
1891
  id: _pt__default["default"].string.isRequired,
1864
1892
  description: _pt__default["default"].oneOfType([_pt__default["default"].string, _pt__default["default"].object]),
@@ -1880,7 +1908,7 @@ TabularDetailPage.PageHeaderTitle = PageHeaderTitle;
1880
1908
  // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1881
1909
  TabularDetailPage.Intl = i18n.sharedMessages;
1882
1910
 
1883
- const PublicPageLayout = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./public-page-layout-c011d275.cjs.dev.js' /* webpackChunkName: "public-page-layout" */); }));
1911
+ const PublicPageLayout = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./public-page-layout-890c2dd3.cjs.dev.js' /* webpackChunkName: "public-page-layout" */); }));
1884
1912
 
1885
1913
  const MainPageContainer = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
1886
1914
  target: "ev8m2jf2"
@@ -2045,10 +2073,12 @@ const defaultProps$1 = {
2045
2073
  };
2046
2074
  const TabularMainPage = props => {
2047
2075
  var _props$title;
2076
+ const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
2077
+ currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
2048
2078
  process.env.NODE_ENV !== "production" ? utils.warning(props.title !== undefined || props.customTitleRow !== undefined, 'TabularMainPage: one of either `title` or `customTitleRow` is required but both their values are `undefined`') : void 0;
2049
2079
  return jsxRuntime.jsxs(PageWrapper, {
2050
2080
  children: [jsxRuntime.jsx(CustomViewSelectorOrNothing, {
2051
- customViewLocatorCode: props.customViewLocatorCode
2081
+ customViewLocatorCode: currentCustomViewLocatorCode
2052
2082
  }), jsxRuntime.jsxs(TabularPageContainer, {
2053
2083
  color: "surface",
2054
2084
  children: [props.customTitleRow || jsxRuntime.jsx(PageHeaderTitle, {
@@ -2065,7 +2095,7 @@ const TabularMainPage = props => {
2065
2095
  })
2066
2096
  })]
2067
2097
  }), jsxRuntime.jsx(ContentWrapper$1, {
2068
- css: /*#__PURE__*/react.css("background-color:", designTokens.backgroundColorForTabularMainPageContent, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:TabularMainPage;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhYnVsYXItbWFpbi1wYWdlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0RmdCIiwiZmlsZSI6InRhYnVsYXItbWFpbi1wYWdlLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBzaGFyZWRNZXNzYWdlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IHdhcm5pbmcgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgYXMgYXBwS2l0RGVzaWduVG9rZW5zIH0gZnJvbSAnLi4vLi4vLi4vdGhlbWluZyc7XG5pbXBvcnQgQ3VzdG9tVmlld3NTZWxlY3RvciBmcm9tICcuLi8uLi9jdXN0b20tdmlld3MvY3VzdG9tLXZpZXdzLXNlbGVjdG9yJztcbmltcG9ydCB7XG4gIEZvcm1QcmltYXJ5QnV0dG9uLFxuICBGb3JtU2Vjb25kYXJ5QnV0dG9uLFxuICBGb3JtRGVsZXRlQnV0dG9uLFxufSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvZGVmYXVsdC1mb3JtLWJ1dHRvbnMnO1xuaW1wb3J0IFBhZ2VIZWFkZXJUaXRsZSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvcGFnZS1oZWFkZXItdGl0bGUnO1xuaW1wb3J0IHsgQ29udGVudFdyYXBwZXIsIFBhZ2VXcmFwcGVyIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3BhZ2Uuc3R5bGVzJztcbmltcG9ydCB7XG4gIENvbnRyb2xzQ29udGFpbnRlcixcbiAgVGFidWxhclBhZ2VDb250YWluZXIsXG4gIEZvcm1Db250cm9sc0NvbnRhaW5lcixcbn0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3RhYnVsYXItcGFnZSc7XG5cbnR5cGUgVFRhYnVsYXJNYWluUGFnZVByb3BzID0ge1xuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBwYWdlLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgc3VidGl0bGUgb2YgdGhlIHBhZ2UuXG4gICAqL1xuICBzdWJ0aXRsZT86IHN0cmluZyB8IFJlYWN0RWxlbWVudDtcbiAgLyoqXG4gICAqIFJlcGxhY2VzIHRoZSB0aXRsZS9zdWJ0aXRsZSByb3cgd2l0aCBhIGN1c3RvbSBvbmUgKGZvciBzcGVjaWFsIHVzZSBjYXNlcylcbiAgICovXG4gIGN1c3RvbVRpdGxlUm93PzogUmVhY3ROb2RlO1xuICAvKipcbiAgICogQW55IFJlYWN0IG5vZGUgZGlzcGxheWVkIGFzIHRoZSB0YWIgcGFuZWwuXG4gICAqL1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICAvKipcbiAgICogQSBjb21wb3NpdGlvbiBvZiB0YWIgY29tcG9uZW50cy5cbiAgICovXG4gIHRhYkNvbnRyb2xzOiBSZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBBbnkgUmVhY3Qgbm9kZSB0byBiZSByZW5kZXJlZCBhcyB0aGUgZm9ybSBjb250cm9scy5cbiAgICovXG4gIGZvcm1Db250cm9scz86IFJlYWN0Tm9kZTtcbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGZvcm0gY29udHJvbHMgc2hvdWxkIGJlIHJlbmRlcmVkLlxuICAgKi9cbiAgaGlkZUNvbnRyb2xzOiBib29sZWFuO1xuICAvKipcbiAgICogVGhpcyBjb2RlIGlzIHVzZWQgdG8gY29uZmlndXJlIHdoaWNoIEN1c3RvbSBWaWV3cyBhcmUgYXZhaWxhYmxlIGZvciB0aGlzIHBhZ2UuXG4gICAqL1xuICBjdXN0b21WaWV3TG9jYXRvckNvZGU/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHM6IFBpY2s8VFRhYnVsYXJNYWluUGFnZVByb3BzLCAnaGlkZUNvbnRyb2xzJz4gPSB7XG4gIGhpZGVDb250cm9sczogZmFsc2UsXG59O1xuXG5jb25zdCBUYWJ1bGFyTWFpblBhZ2UgPSAocHJvcHM6IFRUYWJ1bGFyTWFpblBhZ2VQcm9wcykgPT4ge1xuICB3YXJuaW5nKFxuICAgIHByb3BzLnRpdGxlICE9PSB1bmRlZmluZWQgfHwgcHJvcHMuY3VzdG9tVGl0bGVSb3cgIT09IHVuZGVmaW5lZCxcbiAgICAnVGFidWxhck1haW5QYWdlOiBvbmUgb2YgZWl0aGVyIGB0aXRsZWAgb3IgYGN1c3RvbVRpdGxlUm93YCBpcyByZXF1aXJlZCBidXQgYm90aCB0aGVpciB2YWx1ZXMgYXJlIGB1bmRlZmluZWRgJ1xuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFBhZ2VXcmFwcGVyPlxuICAgICAgPEN1c3RvbVZpZXdzU2VsZWN0b3JcbiAgICAgICAgY3VzdG9tVmlld0xvY2F0b3JDb2RlPXtwcm9wcy5jdXN0b21WaWV3TG9jYXRvckNvZGV9XG4gICAgICAvPlxuICAgICAgPFRhYnVsYXJQYWdlQ29udGFpbmVyIGNvbG9yPVwic3VyZmFjZVwiPlxuICAgICAgICB7cHJvcHMuY3VzdG9tVGl0bGVSb3cgfHwgKFxuICAgICAgICAgIDxQYWdlSGVhZGVyVGl0bGVcbiAgICAgICAgICAgIHRpdGxlPXtwcm9wcy50aXRsZSA/PyAnJ31cbiAgICAgICAgICAgIHN1YnRpdGxlPXtwcm9wcy5zdWJ0aXRsZX1cbiAgICAgICAgICAgIHRpdGxlU2l6ZT1cImJpZ1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPENvbnRyb2xzQ29udGFpbnRlclxuICAgICAgICAgIHRhYkNvbnRyb2xzPXtwcm9wcy50YWJDb250cm9sc31cbiAgICAgICAgICBmb3JtQ29udHJvbHM9e1xuICAgICAgICAgICAgPEZvcm1Db250cm9sc0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgeyFwcm9wcy5oaWRlQ29udHJvbHMgJiYgcHJvcHMuZm9ybUNvbnRyb2xzICYmIChcbiAgICAgICAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJmbGV4LWVuZFwiPlxuICAgICAgICAgICAgICAgICAge3Byb3BzLmZvcm1Db250cm9sc31cbiAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRm9ybUNvbnRyb2xzQ29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvVGFidWxhclBhZ2VDb250YWluZXI+XG4gICAgICA8Q29udGVudFdyYXBwZXJcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHthcHBLaXREZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9yVGFidWxhck1haW5QYWdlQ29udGVudH07XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvQ29udGVudFdyYXBwZXI+XG4gICAgPC9QYWdlV3JhcHBlcj5cbiAgKTtcbn07XG5UYWJ1bGFyTWFpblBhZ2UuZGlzcGxheU5hbWUgPSAnVGFidWxhck1haW5QYWdlJztcblRhYnVsYXJNYWluUGFnZS5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG4vLyBTdGF0aWMgZXhwb3J0IG9mIHByZS1jb25maWd1cmVkIGZvcm0gY29udHJvbCBidXR0b25zIHRvIGVhc2lseSByZS11c2Vcbi8vIHRoZW0gaW4gdGhlIGN1c3RvbSBjb250cm9scy5cblRhYnVsYXJNYWluUGFnZS5Gb3JtUHJpbWFyeUJ1dHRvbiA9IEZvcm1QcmltYXJ5QnV0dG9uO1xuVGFidWxhck1haW5QYWdlLkZvcm1TZWNvbmRhcnlCdXR0b24gPSBGb3JtU2Vjb25kYXJ5QnV0dG9uO1xuVGFidWxhck1haW5QYWdlLkZvcm1EZWxldGVCdXR0b24gPSBGb3JtRGVsZXRlQnV0dG9uO1xuLy8gU3RhdGljIGV4cG9ydCBvZiBwcmUtY29uZmlndXJlZCBwYWdlIGhlYWRlciB0aXRsZSBjb21wb25lbnQgdG8gZWFzaWx5XG4vLyB1c2UgYXMgcGFydCBvZiBhIGN1c3RvbSB0aXRsZSByb3dcblRhYnVsYXJNYWluUGFnZS5QYWdlSGVhZGVyVGl0bGUgPSBQYWdlSGVhZGVyVGl0bGU7XG4vLyBUaGlzIGlzIGEgY29udmVuaWVuY2UgcHJveHkgZXhwb3J0IHRvIGV4cG9zZSBwcmUtZGVmaW5lZCBJbnRsIG1lc3NhZ2VzIGRlZmluZWQgaW4gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuYCBwYWNrYWdlLlxuVGFidWxhck1haW5QYWdlLkludGwgPSBzaGFyZWRNZXNzYWdlcztcblxuZXhwb3J0IGRlZmF1bHQgVGFidWxhck1haW5QYWdlO1xuIl19 */"),
2098
+ css: /*#__PURE__*/react.css("background-color:", designTokens.backgroundColorForTabularMainPageContent, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:TabularMainPage;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhYnVsYXItbWFpbi1wYWdlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrR2dCIiwiZmlsZSI6InRhYnVsYXItbWFpbi1wYWdlLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgdHlwZSB7IExvY2F0aW9uRGVzY3JpcHRvciB9IGZyb20gJ2hpc3RvcnknO1xuaW1wb3J0IHsgc2hhcmVkTWVzc2FnZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuJztcbmltcG9ydCBTcGFjaW5ncyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncyc7XG5pbXBvcnQgeyB3YXJuaW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHVzZUN1c3RvbVZpZXdMb2NhdG9yU2VsZWN0b3IgZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlLWN1c3RvbS12aWV3LWxvY2F0b3Itc2VsZWN0b3InO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIGFzIGFwcEtpdERlc2lnblRva2VucyB9IGZyb20gJy4uLy4uLy4uL3RoZW1pbmcnO1xuaW1wb3J0IEN1c3RvbVZpZXdzU2VsZWN0b3IgZnJvbSAnLi4vLi4vY3VzdG9tLXZpZXdzL2N1c3RvbS12aWV3cy1zZWxlY3Rvcic7XG5pbXBvcnQge1xuICBGb3JtUHJpbWFyeUJ1dHRvbixcbiAgRm9ybVNlY29uZGFyeUJ1dHRvbixcbiAgRm9ybURlbGV0ZUJ1dHRvbixcbn0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL2RlZmF1bHQtZm9ybS1idXR0b25zJztcbmltcG9ydCBQYWdlSGVhZGVyVGl0bGUgZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3BhZ2UtaGVhZGVyLXRpdGxlJztcbmltcG9ydCB7IENvbnRlbnRXcmFwcGVyLCBQYWdlV3JhcHBlciB9IGZyb20gJy4uLy4uL2ludGVybmFscy9wYWdlLnN0eWxlcyc7XG5pbXBvcnQge1xuICBDb250cm9sc0NvbnRhaW50ZXIsXG4gIFRhYnVsYXJQYWdlQ29udGFpbmVyLFxuICBGb3JtQ29udHJvbHNDb250YWluZXIsXG59IGZyb20gJy4uLy4uL2ludGVybmFscy90YWJ1bGFyLXBhZ2UnO1xuXG50eXBlIFRUYWJ1bGFyTWFpblBhZ2VQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgcGFnZS5cbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHN1YnRpdGxlIG9mIHRoZSBwYWdlLlxuICAgKi9cbiAgc3VidGl0bGU/OiBzdHJpbmcgfCBSZWFjdEVsZW1lbnQ7XG4gIC8qKlxuICAgKiBSZXBsYWNlcyB0aGUgdGl0bGUvc3VidGl0bGUgcm93IHdpdGggYSBjdXN0b20gb25lIChmb3Igc3BlY2lhbCB1c2UgY2FzZXMpXG4gICAqL1xuICBjdXN0b21UaXRsZVJvdz86IFJlYWN0Tm9kZTtcbiAgLyoqXG4gICAqIEFueSBSZWFjdCBub2RlIGRpc3BsYXllZCBhcyB0aGUgdGFiIHBhbmVsLlxuICAgKi9cbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgLyoqXG4gICAqIEEgY29tcG9zaXRpb24gb2YgdGFiIGNvbXBvbmVudHMuXG4gICAqL1xuICB0YWJDb250cm9sczogUmVhY3ROb2RlO1xuICAvKipcbiAgICogQW55IFJlYWN0IG5vZGUgdG8gYmUgcmVuZGVyZWQgYXMgdGhlIGZvcm0gY29udHJvbHMuXG4gICAqL1xuICBmb3JtQ29udHJvbHM/OiBSZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBmb3JtIGNvbnRyb2xzIHNob3VsZCBiZSByZW5kZXJlZC5cbiAgICovXG4gIGhpZGVDb250cm9sczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZXNlIGNvZGVzIGFyZSB1c2VkIHRvIGNvbmZpZ3VyZSB3aGljaCBDdXN0b20gVmlld3MgYXJlIGF2YWlsYWJsZSBmb3IgZXZlcnkgdGFiLlxuICAgKi9cbiAgY3VzdG9tVmlld0xvY2F0b3JDb2Rlcz86IFJlY29yZDxzdHJpbmcsIExvY2F0aW9uRGVzY3JpcHRvcj47XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHM6IFBpY2s8VFRhYnVsYXJNYWluUGFnZVByb3BzLCAnaGlkZUNvbnRyb2xzJz4gPSB7XG4gIGhpZGVDb250cm9sczogZmFsc2UsXG59O1xuXG5jb25zdCBUYWJ1bGFyTWFpblBhZ2UgPSAocHJvcHM6IFRUYWJ1bGFyTWFpblBhZ2VQcm9wcykgPT4ge1xuICBjb25zdCB7IGN1cnJlbnRDdXN0b21WaWV3TG9jYXRvckNvZGUgfSA9IHVzZUN1c3RvbVZpZXdMb2NhdG9yU2VsZWN0b3IoXG4gICAgcHJvcHMuY3VzdG9tVmlld0xvY2F0b3JDb2Rlc1xuICApO1xuXG4gIHdhcm5pbmcoXG4gICAgcHJvcHMudGl0bGUgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5jdXN0b21UaXRsZVJvdyAhPT0gdW5kZWZpbmVkLFxuICAgICdUYWJ1bGFyTWFpblBhZ2U6IG9uZSBvZiBlaXRoZXIgYHRpdGxlYCBvciBgY3VzdG9tVGl0bGVSb3dgIGlzIHJlcXVpcmVkIGJ1dCBib3RoIHRoZWlyIHZhbHVlcyBhcmUgYHVuZGVmaW5lZGAnXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFnZVdyYXBwZXI+XG4gICAgICA8Q3VzdG9tVmlld3NTZWxlY3RvclxuICAgICAgICBjdXN0b21WaWV3TG9jYXRvckNvZGU9e2N1cnJlbnRDdXN0b21WaWV3TG9jYXRvckNvZGV9XG4gICAgICAvPlxuICAgICAgPFRhYnVsYXJQYWdlQ29udGFpbmVyIGNvbG9yPVwic3VyZmFjZVwiPlxuICAgICAgICB7cHJvcHMuY3VzdG9tVGl0bGVSb3cgfHwgKFxuICAgICAgICAgIDxQYWdlSGVhZGVyVGl0bGVcbiAgICAgICAgICAgIHRpdGxlPXtwcm9wcy50aXRsZSA/PyAnJ31cbiAgICAgICAgICAgIHN1YnRpdGxlPXtwcm9wcy5zdWJ0aXRsZX1cbiAgICAgICAgICAgIHRpdGxlU2l6ZT1cImJpZ1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPENvbnRyb2xzQ29udGFpbnRlclxuICAgICAgICAgIHRhYkNvbnRyb2xzPXtwcm9wcy50YWJDb250cm9sc31cbiAgICAgICAgICBmb3JtQ29udHJvbHM9e1xuICAgICAgICAgICAgPEZvcm1Db250cm9sc0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgeyFwcm9wcy5oaWRlQ29udHJvbHMgJiYgcHJvcHMuZm9ybUNvbnRyb2xzICYmIChcbiAgICAgICAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJmbGV4LWVuZFwiPlxuICAgICAgICAgICAgICAgICAge3Byb3BzLmZvcm1Db250cm9sc31cbiAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRm9ybUNvbnRyb2xzQ29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvVGFidWxhclBhZ2VDb250YWluZXI+XG4gICAgICA8Q29udGVudFdyYXBwZXJcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHthcHBLaXREZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9yVGFidWxhck1haW5QYWdlQ29udGVudH07XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvQ29udGVudFdyYXBwZXI+XG4gICAgPC9QYWdlV3JhcHBlcj5cbiAgKTtcbn07XG5UYWJ1bGFyTWFpblBhZ2UuZGlzcGxheU5hbWUgPSAnVGFidWxhck1haW5QYWdlJztcblRhYnVsYXJNYWluUGFnZS5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG4vLyBTdGF0aWMgZXhwb3J0IG9mIHByZS1jb25maWd1cmVkIGZvcm0gY29udHJvbCBidXR0b25zIHRvIGVhc2lseSByZS11c2Vcbi8vIHRoZW0gaW4gdGhlIGN1c3RvbSBjb250cm9scy5cblRhYnVsYXJNYWluUGFnZS5Gb3JtUHJpbWFyeUJ1dHRvbiA9IEZvcm1QcmltYXJ5QnV0dG9uO1xuVGFidWxhck1haW5QYWdlLkZvcm1TZWNvbmRhcnlCdXR0b24gPSBGb3JtU2Vjb25kYXJ5QnV0dG9uO1xuVGFidWxhck1haW5QYWdlLkZvcm1EZWxldGVCdXR0b24gPSBGb3JtRGVsZXRlQnV0dG9uO1xuLy8gU3RhdGljIGV4cG9ydCBvZiBwcmUtY29uZmlndXJlZCBwYWdlIGhlYWRlciB0aXRsZSBjb21wb25lbnQgdG8gZWFzaWx5XG4vLyB1c2UgYXMgcGFydCBvZiBhIGN1c3RvbSB0aXRsZSByb3dcblRhYnVsYXJNYWluUGFnZS5QYWdlSGVhZGVyVGl0bGUgPSBQYWdlSGVhZGVyVGl0bGU7XG4vLyBUaGlzIGlzIGEgY29udmVuaWVuY2UgcHJveHkgZXhwb3J0IHRvIGV4cG9zZSBwcmUtZGVmaW5lZCBJbnRsIG1lc3NhZ2VzIGRlZmluZWQgaW4gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuYCBwYWNrYWdlLlxuVGFidWxhck1haW5QYWdlLkludGwgPSBzaGFyZWRNZXNzYWdlcztcblxuZXhwb3J0IGRlZmF1bHQgVGFidWxhck1haW5QYWdlO1xuIl19 */"),
2069
2099
  children: props.children
2070
2100
  })]
2071
2101
  });
@@ -2078,7 +2108,7 @@ TabularMainPage.propTypes = process.env.NODE_ENV !== "production" ? {
2078
2108
  tabControls: _pt__default["default"].node.isRequired,
2079
2109
  formControls: _pt__default["default"].node,
2080
2110
  hideControls: _pt__default["default"].bool.isRequired,
2081
- customViewLocatorCode: _pt__default["default"].string
2111
+ customViewLocatorCodes: _pt__default["default"].objectOf(_pt__default["default"].any)
2082
2112
  } : {};
2083
2113
  TabularMainPage.displayName = 'TabularMainPage';
2084
2114
  TabularMainPage.defaultProps = defaultProps$1;
@@ -42,6 +42,8 @@ var actionsGlobal = require('@commercetools-frontend/actions-global');
42
42
  var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
43
43
  var FlatButton = require('@commercetools-uikit/flat-button');
44
44
  var IconButton = require('@commercetools-uikit/icon-button');
45
+ var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
46
+ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
45
47
  var PageNotFoundSVG = require('@commercetools-frontend/assets/images/page-not-found.svg');
46
48
  var FailedAuthorizationSVG = require('@commercetools-frontend/assets/images/doors-closed.svg');
47
49
  var useResizeObserver = require('@react-hook/resize-observer');
@@ -73,12 +75,14 @@ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstancePro
73
75
  var Constraints__default = /*#__PURE__*/_interopDefault(Constraints);
74
76
  var FlatButton__default = /*#__PURE__*/_interopDefault(FlatButton);
75
77
  var IconButton__default = /*#__PURE__*/_interopDefault(IconButton);
78
+ var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
79
+ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
76
80
  var PageNotFoundSVG__default = /*#__PURE__*/_interopDefault(PageNotFoundSVG);
77
81
  var FailedAuthorizationSVG__default = /*#__PURE__*/_interopDefault(FailedAuthorizationSVG);
78
82
  var useResizeObserver__default = /*#__PURE__*/_interopDefault(useResizeObserver);
79
83
 
80
84
  // NOTE: This string will be replaced on build time with the package version.
81
- var version = "22.9.1";
85
+ var version = "22.10.0";
82
86
 
83
87
  var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9;
84
88
  const appKitSpacing55 = '40px';
@@ -150,7 +154,7 @@ const getLinkStyles = (isActive, isDisabled) => [/*#__PURE__*/react.css("font-si
150
154
 
151
155
  function ownKeys$7(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
152
156
  function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$7(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$7(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
153
- const pathWithoutSearch = path => typeof path === 'string' ? path.split('?')[0] : path.pathname;
157
+ const pathWithoutSearch$1 = path => typeof path === 'string' ? path.split('?')[0] : path.pathname;
154
158
  const warnIfMissingContent = props => {
155
159
  Boolean(props.intlMessage) || Boolean(props.label);
156
160
  };
@@ -171,7 +175,7 @@ const TabHeader = props => {
171
175
  const location = reactRouterDom.useLocation();
172
176
  const isActive = Boolean(reactRouterDom.matchPath(location.pathname, {
173
177
  // strip the search, otherwise the path won't match
174
- path: pathWithoutSearch(props.to),
178
+ path: pathWithoutSearch$1(props.to),
175
179
  exact: props.exactPathMatch,
176
180
  strict: false
177
181
  }));
@@ -1146,6 +1150,26 @@ FormModalPage.defaultProps = defaultProps$a;
1146
1150
  // The Intl messages can be used for button labels.
1147
1151
  FormModalPage.Intl = i18n.sharedMessages;
1148
1152
 
1153
+ const pathWithoutSearch = path => typeof path === 'string' ? path.split('?')[0] : path.pathname;
1154
+ const useCustomViewLocatorSelector = function () {
1155
+ var _context;
1156
+ let customViewLocatorCodes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1157
+ const location = reactRouterDom.useLocation();
1158
+ const customViewLocator = _findInstanceProperty__default["default"](_context = _Object$entries__default["default"](customViewLocatorCodes)).call(_context, _ref => {
1159
+ let _ref2 = _slicedToArray(_ref, 2),
1160
+ locator = _ref2[1];
1161
+ return reactRouterDom.matchPath(location.pathname, {
1162
+ // strip the search, otherwise the path won't match
1163
+ path: pathWithoutSearch(locator),
1164
+ exact: false,
1165
+ strict: false
1166
+ });
1167
+ });
1168
+ return {
1169
+ currentCustomViewLocatorCode: customViewLocator === null || customViewLocator === void 0 ? void 0 : customViewLocator[0]
1170
+ };
1171
+ };
1172
+
1149
1173
  const TabControls = /*#__PURE__*/_styled__default["default"]("div", {
1150
1174
  target: "elpldre1"
1151
1175
  } )("margin-top:", designSystem.designTokens.spacingS, ";" + ("" ));
@@ -1176,6 +1200,8 @@ const defaultProps$8 = {
1176
1200
  hideControls: false
1177
1201
  };
1178
1202
  const TabularModalPage = props => {
1203
+ const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
1204
+ currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
1179
1205
  return jsxRuntime.jsxs(ModalPage, {
1180
1206
  title: props.title,
1181
1207
  isOpen: props.isOpen,
@@ -1187,7 +1213,7 @@ const TabularModalPage = props => {
1187
1213
  getParentSelector: props.getParentSelector,
1188
1214
  shouldDelayOnClose: props.shouldDelayOnClose,
1189
1215
  afterOpenStyles: props.afterOpenStyles,
1190
- customViewLocatorCode: props.customViewLocatorCode,
1216
+ customViewLocatorCode: currentCustomViewLocatorCode,
1191
1217
  children: [jsxRuntime.jsxs(TabularPageContainer, {
1192
1218
  color: "neutral",
1193
1219
  children: [props.customTitleRow || jsxRuntime.jsx(PageHeaderTitle, {
@@ -1356,9 +1382,11 @@ const defaultProps$4 = {
1356
1382
  };
1357
1383
  const TabularDetailPage = props => {
1358
1384
  var _props$title;
1385
+ const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
1386
+ currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
1359
1387
  return jsxRuntime.jsxs(PageWrapper, {
1360
1388
  children: [jsxRuntime.jsx(CustomViewSelectorOrNothing, {
1361
- customViewLocatorCode: props.customViewLocatorCode
1389
+ customViewLocatorCode: currentCustomViewLocatorCode
1362
1390
  }), jsxRuntime.jsxs(TabularPageContainer, {
1363
1391
  color: "neutral",
1364
1392
  children: [jsxRuntime.jsx(PageTopBar, {
@@ -1397,7 +1425,7 @@ TabularDetailPage.PageHeaderTitle = PageHeaderTitle;
1397
1425
  // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1398
1426
  TabularDetailPage.Intl = i18n.sharedMessages;
1399
1427
 
1400
- const PublicPageLayout = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./public-page-layout-3653aa0b.cjs.prod.js' /* webpackChunkName: "public-page-layout" */); }));
1428
+ const PublicPageLayout = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./public-page-layout-e13f8cb7.cjs.prod.js' /* webpackChunkName: "public-page-layout" */); }));
1401
1429
 
1402
1430
  const MainPageContainer = /*#__PURE__*/_styled__default["default"]("div", {
1403
1431
  target: "ev8m2jf2"
@@ -1513,9 +1541,11 @@ const defaultProps$1 = {
1513
1541
  };
1514
1542
  const TabularMainPage = props => {
1515
1543
  var _props$title;
1544
+ const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
1545
+ currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
1516
1546
  return jsxRuntime.jsxs(PageWrapper, {
1517
1547
  children: [jsxRuntime.jsx(CustomViewSelectorOrNothing, {
1518
- customViewLocatorCode: props.customViewLocatorCode
1548
+ customViewLocatorCode: currentCustomViewLocatorCode
1519
1549
  }), jsxRuntime.jsxs(TabularPageContainer, {
1520
1550
  color: "surface",
1521
1551
  children: [props.customTitleRow || jsxRuntime.jsx(PageHeaderTitle, {
@@ -38,13 +38,15 @@ import { useShowNotification } from '@commercetools-frontend/actions-global';
38
38
  import { useApplicationContext, useMcQuery } from '@commercetools-frontend/application-shell-connectors';
39
39
  import FlatButton from '@commercetools-uikit/flat-button';
40
40
  import IconButton from '@commercetools-uikit/icon-button';
41
+ import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
42
+ import _Object$entries from '@babel/runtime-corejs3/core-js-stable/object/entries';
41
43
  import PageNotFoundSVG from '@commercetools-frontend/assets/images/page-not-found.svg';
42
44
  import FailedAuthorizationSVG from '@commercetools-frontend/assets/images/doors-closed.svg';
43
45
  import useResizeObserver from '@react-hook/resize-observer';
44
46
  import { useMutationObserver } from '@commercetools-uikit/hooks';
45
47
 
46
48
  // NOTE: This string will be replaced on build time with the package version.
47
- var version = "22.9.1";
49
+ var version = "22.10.0";
48
50
 
49
51
  var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9;
50
52
  const appKitSpacing55 = '40px';
@@ -122,7 +124,7 @@ const getLinkStyles = (isActive, isDisabled) => [/*#__PURE__*/css("font-size:",
122
124
 
123
125
  function ownKeys$7(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
124
126
  function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$7(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$7(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
125
- const pathWithoutSearch = path => typeof path === 'string' ? path.split('?')[0] : path.pathname;
127
+ const pathWithoutSearch$1 = path => typeof path === 'string' ? path.split('?')[0] : path.pathname;
126
128
  const warnIfMissingContent = props => {
127
129
  const hasContent = Boolean(props.intlMessage) || Boolean(props.label);
128
130
  process.env.NODE_ENV !== "production" ? warning(hasContent, 'TabHeader: one of either `label` or `intlMessage` is required but their values are `undefined`') : void 0;
@@ -144,7 +146,7 @@ const TabHeader = props => {
144
146
  const location = useLocation();
145
147
  const isActive = Boolean(matchPath(location.pathname, {
146
148
  // strip the search, otherwise the path won't match
147
- path: pathWithoutSearch(props.to),
149
+ path: pathWithoutSearch$1(props.to),
148
150
  exact: props.exactPathMatch,
149
151
  strict: false
150
152
  }));
@@ -1468,6 +1470,26 @@ FormModalPage.defaultProps = defaultProps$a;
1468
1470
  // The Intl messages can be used for button labels.
1469
1471
  FormModalPage.Intl = sharedMessages;
1470
1472
 
1473
+ const pathWithoutSearch = path => typeof path === 'string' ? path.split('?')[0] : path.pathname;
1474
+ const useCustomViewLocatorSelector = function () {
1475
+ var _context;
1476
+ let customViewLocatorCodes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1477
+ const location = useLocation();
1478
+ const customViewLocator = _findInstanceProperty(_context = _Object$entries(customViewLocatorCodes)).call(_context, _ref => {
1479
+ let _ref2 = _slicedToArray(_ref, 2),
1480
+ locator = _ref2[1];
1481
+ return matchPath(location.pathname, {
1482
+ // strip the search, otherwise the path won't match
1483
+ path: pathWithoutSearch(locator),
1484
+ exact: false,
1485
+ strict: false
1486
+ });
1487
+ });
1488
+ return {
1489
+ currentCustomViewLocatorCode: customViewLocator === null || customViewLocator === void 0 ? void 0 : customViewLocator[0]
1490
+ };
1491
+ };
1492
+
1471
1493
  const TabControls = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
1472
1494
  target: "elpldre1"
1473
1495
  } : {
@@ -1510,6 +1532,8 @@ const defaultProps$8 = {
1510
1532
  hideControls: false
1511
1533
  };
1512
1534
  const TabularModalPage = props => {
1535
+ const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
1536
+ currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
1513
1537
  return jsxs(ModalPage, {
1514
1538
  title: props.title,
1515
1539
  isOpen: props.isOpen,
@@ -1521,7 +1545,7 @@ const TabularModalPage = props => {
1521
1545
  getParentSelector: props.getParentSelector,
1522
1546
  shouldDelayOnClose: props.shouldDelayOnClose,
1523
1547
  afterOpenStyles: props.afterOpenStyles,
1524
- customViewLocatorCode: props.customViewLocatorCode,
1548
+ customViewLocatorCode: currentCustomViewLocatorCode,
1525
1549
  children: [jsxs(TabularPageContainer, {
1526
1550
  color: "neutral",
1527
1551
  children: [props.customTitleRow || jsx(PageHeaderTitle, {
@@ -1547,7 +1571,7 @@ TabularModalPage.propTypes = process.env.NODE_ENV !== "production" ? {
1547
1571
  level: _pt.number,
1548
1572
  title: _pt.string.isRequired,
1549
1573
  isOpen: _pt.bool.isRequired,
1550
- customViewLocatorCode: _pt.string,
1574
+ customViewLocatorCodes: _pt.objectOf(_pt.any),
1551
1575
  onClose: _pt.func,
1552
1576
  children: _pt.node.isRequired,
1553
1577
  zIndex: _pt.number,
@@ -1787,10 +1811,12 @@ const defaultProps$4 = {
1787
1811
  };
1788
1812
  const TabularDetailPage = props => {
1789
1813
  var _props$title;
1814
+ const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
1815
+ currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
1790
1816
  process.env.NODE_ENV !== "production" ? warning(props.title !== undefined || props.customTitleRow !== undefined, 'TabularDetailPage: one of either `title` or `customTitleRow` is required but both their values are `undefined`') : void 0;
1791
1817
  return jsxs(PageWrapper, {
1792
1818
  children: [jsx(CustomViewSelectorOrNothing, {
1793
- customViewLocatorCode: props.customViewLocatorCode
1819
+ customViewLocatorCode: currentCustomViewLocatorCode
1794
1820
  }), jsxs(TabularPageContainer, {
1795
1821
  color: "neutral",
1796
1822
  children: [jsx(PageTopBar, {
@@ -1823,7 +1849,7 @@ TabularDetailPage.propTypes = process.env.NODE_ENV !== "production" ? {
1823
1849
  tabControls: _pt.node.isRequired,
1824
1850
  formControls: _pt.node,
1825
1851
  hideControls: _pt.bool.isRequired,
1826
- customViewLocatorCode: _pt.string,
1852
+ customViewLocatorCodes: _pt.objectOf(_pt.any),
1827
1853
  previousPathLabel: _pt.oneOfType([_pt.string, _pt.shape({
1828
1854
  id: _pt.string.isRequired,
1829
1855
  description: _pt.oneOfType([_pt.string, _pt.object]),
@@ -1845,7 +1871,7 @@ TabularDetailPage.PageHeaderTitle = PageHeaderTitle;
1845
1871
  // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
1846
1872
  TabularDetailPage.Intl = sharedMessages;
1847
1873
 
1848
- const PublicPageLayout = /*#__PURE__*/lazy(() => import('./public-page-layout-055bb438.esm.js' /* webpackChunkName: "public-page-layout" */));
1874
+ const PublicPageLayout = /*#__PURE__*/lazy(() => import('./public-page-layout-b0606764.esm.js' /* webpackChunkName: "public-page-layout" */));
1849
1875
 
1850
1876
  const MainPageContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
1851
1877
  target: "ev8m2jf2"
@@ -2010,10 +2036,12 @@ const defaultProps$1 = {
2010
2036
  };
2011
2037
  const TabularMainPage = props => {
2012
2038
  var _props$title;
2039
+ const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
2040
+ currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
2013
2041
  process.env.NODE_ENV !== "production" ? warning(props.title !== undefined || props.customTitleRow !== undefined, 'TabularMainPage: one of either `title` or `customTitleRow` is required but both their values are `undefined`') : void 0;
2014
2042
  return jsxs(PageWrapper, {
2015
2043
  children: [jsx(CustomViewSelectorOrNothing, {
2016
- customViewLocatorCode: props.customViewLocatorCode
2044
+ customViewLocatorCode: currentCustomViewLocatorCode
2017
2045
  }), jsxs(TabularPageContainer, {
2018
2046
  color: "surface",
2019
2047
  children: [props.customTitleRow || jsx(PageHeaderTitle, {
@@ -2030,7 +2058,7 @@ const TabularMainPage = props => {
2030
2058
  })
2031
2059
  })]
2032
2060
  }), jsx(ContentWrapper$1, {
2033
- css: /*#__PURE__*/css("background-color:", designTokens.backgroundColorForTabularMainPageContent, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:TabularMainPage;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhYnVsYXItbWFpbi1wYWdlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0RmdCIiwiZmlsZSI6InRhYnVsYXItbWFpbi1wYWdlLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBzaGFyZWRNZXNzYWdlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IHdhcm5pbmcgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgYXMgYXBwS2l0RGVzaWduVG9rZW5zIH0gZnJvbSAnLi4vLi4vLi4vdGhlbWluZyc7XG5pbXBvcnQgQ3VzdG9tVmlld3NTZWxlY3RvciBmcm9tICcuLi8uLi9jdXN0b20tdmlld3MvY3VzdG9tLXZpZXdzLXNlbGVjdG9yJztcbmltcG9ydCB7XG4gIEZvcm1QcmltYXJ5QnV0dG9uLFxuICBGb3JtU2Vjb25kYXJ5QnV0dG9uLFxuICBGb3JtRGVsZXRlQnV0dG9uLFxufSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvZGVmYXVsdC1mb3JtLWJ1dHRvbnMnO1xuaW1wb3J0IFBhZ2VIZWFkZXJUaXRsZSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvcGFnZS1oZWFkZXItdGl0bGUnO1xuaW1wb3J0IHsgQ29udGVudFdyYXBwZXIsIFBhZ2VXcmFwcGVyIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3BhZ2Uuc3R5bGVzJztcbmltcG9ydCB7XG4gIENvbnRyb2xzQ29udGFpbnRlcixcbiAgVGFidWxhclBhZ2VDb250YWluZXIsXG4gIEZvcm1Db250cm9sc0NvbnRhaW5lcixcbn0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3RhYnVsYXItcGFnZSc7XG5cbnR5cGUgVFRhYnVsYXJNYWluUGFnZVByb3BzID0ge1xuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBwYWdlLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgc3VidGl0bGUgb2YgdGhlIHBhZ2UuXG4gICAqL1xuICBzdWJ0aXRsZT86IHN0cmluZyB8IFJlYWN0RWxlbWVudDtcbiAgLyoqXG4gICAqIFJlcGxhY2VzIHRoZSB0aXRsZS9zdWJ0aXRsZSByb3cgd2l0aCBhIGN1c3RvbSBvbmUgKGZvciBzcGVjaWFsIHVzZSBjYXNlcylcbiAgICovXG4gIGN1c3RvbVRpdGxlUm93PzogUmVhY3ROb2RlO1xuICAvKipcbiAgICogQW55IFJlYWN0IG5vZGUgZGlzcGxheWVkIGFzIHRoZSB0YWIgcGFuZWwuXG4gICAqL1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICAvKipcbiAgICogQSBjb21wb3NpdGlvbiBvZiB0YWIgY29tcG9uZW50cy5cbiAgICovXG4gIHRhYkNvbnRyb2xzOiBSZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBBbnkgUmVhY3Qgbm9kZSB0byBiZSByZW5kZXJlZCBhcyB0aGUgZm9ybSBjb250cm9scy5cbiAgICovXG4gIGZvcm1Db250cm9scz86IFJlYWN0Tm9kZTtcbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGZvcm0gY29udHJvbHMgc2hvdWxkIGJlIHJlbmRlcmVkLlxuICAgKi9cbiAgaGlkZUNvbnRyb2xzOiBib29sZWFuO1xuICAvKipcbiAgICogVGhpcyBjb2RlIGlzIHVzZWQgdG8gY29uZmlndXJlIHdoaWNoIEN1c3RvbSBWaWV3cyBhcmUgYXZhaWxhYmxlIGZvciB0aGlzIHBhZ2UuXG4gICAqL1xuICBjdXN0b21WaWV3TG9jYXRvckNvZGU/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHM6IFBpY2s8VFRhYnVsYXJNYWluUGFnZVByb3BzLCAnaGlkZUNvbnRyb2xzJz4gPSB7XG4gIGhpZGVDb250cm9sczogZmFsc2UsXG59O1xuXG5jb25zdCBUYWJ1bGFyTWFpblBhZ2UgPSAocHJvcHM6IFRUYWJ1bGFyTWFpblBhZ2VQcm9wcykgPT4ge1xuICB3YXJuaW5nKFxuICAgIHByb3BzLnRpdGxlICE9PSB1bmRlZmluZWQgfHwgcHJvcHMuY3VzdG9tVGl0bGVSb3cgIT09IHVuZGVmaW5lZCxcbiAgICAnVGFidWxhck1haW5QYWdlOiBvbmUgb2YgZWl0aGVyIGB0aXRsZWAgb3IgYGN1c3RvbVRpdGxlUm93YCBpcyByZXF1aXJlZCBidXQgYm90aCB0aGVpciB2YWx1ZXMgYXJlIGB1bmRlZmluZWRgJ1xuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFBhZ2VXcmFwcGVyPlxuICAgICAgPEN1c3RvbVZpZXdzU2VsZWN0b3JcbiAgICAgICAgY3VzdG9tVmlld0xvY2F0b3JDb2RlPXtwcm9wcy5jdXN0b21WaWV3TG9jYXRvckNvZGV9XG4gICAgICAvPlxuICAgICAgPFRhYnVsYXJQYWdlQ29udGFpbmVyIGNvbG9yPVwic3VyZmFjZVwiPlxuICAgICAgICB7cHJvcHMuY3VzdG9tVGl0bGVSb3cgfHwgKFxuICAgICAgICAgIDxQYWdlSGVhZGVyVGl0bGVcbiAgICAgICAgICAgIHRpdGxlPXtwcm9wcy50aXRsZSA/PyAnJ31cbiAgICAgICAgICAgIHN1YnRpdGxlPXtwcm9wcy5zdWJ0aXRsZX1cbiAgICAgICAgICAgIHRpdGxlU2l6ZT1cImJpZ1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPENvbnRyb2xzQ29udGFpbnRlclxuICAgICAgICAgIHRhYkNvbnRyb2xzPXtwcm9wcy50YWJDb250cm9sc31cbiAgICAgICAgICBmb3JtQ29udHJvbHM9e1xuICAgICAgICAgICAgPEZvcm1Db250cm9sc0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgeyFwcm9wcy5oaWRlQ29udHJvbHMgJiYgcHJvcHMuZm9ybUNvbnRyb2xzICYmIChcbiAgICAgICAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJmbGV4LWVuZFwiPlxuICAgICAgICAgICAgICAgICAge3Byb3BzLmZvcm1Db250cm9sc31cbiAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRm9ybUNvbnRyb2xzQ29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvVGFidWxhclBhZ2VDb250YWluZXI+XG4gICAgICA8Q29udGVudFdyYXBwZXJcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHthcHBLaXREZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9yVGFidWxhck1haW5QYWdlQ29udGVudH07XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvQ29udGVudFdyYXBwZXI+XG4gICAgPC9QYWdlV3JhcHBlcj5cbiAgKTtcbn07XG5UYWJ1bGFyTWFpblBhZ2UuZGlzcGxheU5hbWUgPSAnVGFidWxhck1haW5QYWdlJztcblRhYnVsYXJNYWluUGFnZS5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG4vLyBTdGF0aWMgZXhwb3J0IG9mIHByZS1jb25maWd1cmVkIGZvcm0gY29udHJvbCBidXR0b25zIHRvIGVhc2lseSByZS11c2Vcbi8vIHRoZW0gaW4gdGhlIGN1c3RvbSBjb250cm9scy5cblRhYnVsYXJNYWluUGFnZS5Gb3JtUHJpbWFyeUJ1dHRvbiA9IEZvcm1QcmltYXJ5QnV0dG9uO1xuVGFidWxhck1haW5QYWdlLkZvcm1TZWNvbmRhcnlCdXR0b24gPSBGb3JtU2Vjb25kYXJ5QnV0dG9uO1xuVGFidWxhck1haW5QYWdlLkZvcm1EZWxldGVCdXR0b24gPSBGb3JtRGVsZXRlQnV0dG9uO1xuLy8gU3RhdGljIGV4cG9ydCBvZiBwcmUtY29uZmlndXJlZCBwYWdlIGhlYWRlciB0aXRsZSBjb21wb25lbnQgdG8gZWFzaWx5XG4vLyB1c2UgYXMgcGFydCBvZiBhIGN1c3RvbSB0aXRsZSByb3dcblRhYnVsYXJNYWluUGFnZS5QYWdlSGVhZGVyVGl0bGUgPSBQYWdlSGVhZGVyVGl0bGU7XG4vLyBUaGlzIGlzIGEgY29udmVuaWVuY2UgcHJveHkgZXhwb3J0IHRvIGV4cG9zZSBwcmUtZGVmaW5lZCBJbnRsIG1lc3NhZ2VzIGRlZmluZWQgaW4gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuYCBwYWNrYWdlLlxuVGFidWxhck1haW5QYWdlLkludGwgPSBzaGFyZWRNZXNzYWdlcztcblxuZXhwb3J0IGRlZmF1bHQgVGFidWxhck1haW5QYWdlO1xuIl19 */"),
2061
+ css: /*#__PURE__*/css("background-color:", designTokens.backgroundColorForTabularMainPageContent, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:TabularMainPage;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhYnVsYXItbWFpbi1wYWdlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrR2dCIiwiZmlsZSI6InRhYnVsYXItbWFpbi1wYWdlLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgdHlwZSB7IExvY2F0aW9uRGVzY3JpcHRvciB9IGZyb20gJ2hpc3RvcnknO1xuaW1wb3J0IHsgc2hhcmVkTWVzc2FnZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuJztcbmltcG9ydCBTcGFjaW5ncyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncyc7XG5pbXBvcnQgeyB3YXJuaW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHVzZUN1c3RvbVZpZXdMb2NhdG9yU2VsZWN0b3IgZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlLWN1c3RvbS12aWV3LWxvY2F0b3Itc2VsZWN0b3InO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIGFzIGFwcEtpdERlc2lnblRva2VucyB9IGZyb20gJy4uLy4uLy4uL3RoZW1pbmcnO1xuaW1wb3J0IEN1c3RvbVZpZXdzU2VsZWN0b3IgZnJvbSAnLi4vLi4vY3VzdG9tLXZpZXdzL2N1c3RvbS12aWV3cy1zZWxlY3Rvcic7XG5pbXBvcnQge1xuICBGb3JtUHJpbWFyeUJ1dHRvbixcbiAgRm9ybVNlY29uZGFyeUJ1dHRvbixcbiAgRm9ybURlbGV0ZUJ1dHRvbixcbn0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL2RlZmF1bHQtZm9ybS1idXR0b25zJztcbmltcG9ydCBQYWdlSGVhZGVyVGl0bGUgZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3BhZ2UtaGVhZGVyLXRpdGxlJztcbmltcG9ydCB7IENvbnRlbnRXcmFwcGVyLCBQYWdlV3JhcHBlciB9IGZyb20gJy4uLy4uL2ludGVybmFscy9wYWdlLnN0eWxlcyc7XG5pbXBvcnQge1xuICBDb250cm9sc0NvbnRhaW50ZXIsXG4gIFRhYnVsYXJQYWdlQ29udGFpbmVyLFxuICBGb3JtQ29udHJvbHNDb250YWluZXIsXG59IGZyb20gJy4uLy4uL2ludGVybmFscy90YWJ1bGFyLXBhZ2UnO1xuXG50eXBlIFRUYWJ1bGFyTWFpblBhZ2VQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgcGFnZS5cbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHN1YnRpdGxlIG9mIHRoZSBwYWdlLlxuICAgKi9cbiAgc3VidGl0bGU/OiBzdHJpbmcgfCBSZWFjdEVsZW1lbnQ7XG4gIC8qKlxuICAgKiBSZXBsYWNlcyB0aGUgdGl0bGUvc3VidGl0bGUgcm93IHdpdGggYSBjdXN0b20gb25lIChmb3Igc3BlY2lhbCB1c2UgY2FzZXMpXG4gICAqL1xuICBjdXN0b21UaXRsZVJvdz86IFJlYWN0Tm9kZTtcbiAgLyoqXG4gICAqIEFueSBSZWFjdCBub2RlIGRpc3BsYXllZCBhcyB0aGUgdGFiIHBhbmVsLlxuICAgKi9cbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgLyoqXG4gICAqIEEgY29tcG9zaXRpb24gb2YgdGFiIGNvbXBvbmVudHMuXG4gICAqL1xuICB0YWJDb250cm9sczogUmVhY3ROb2RlO1xuICAvKipcbiAgICogQW55IFJlYWN0IG5vZGUgdG8gYmUgcmVuZGVyZWQgYXMgdGhlIGZvcm0gY29udHJvbHMuXG4gICAqL1xuICBmb3JtQ29udHJvbHM/OiBSZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBmb3JtIGNvbnRyb2xzIHNob3VsZCBiZSByZW5kZXJlZC5cbiAgICovXG4gIGhpZGVDb250cm9sczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZXNlIGNvZGVzIGFyZSB1c2VkIHRvIGNvbmZpZ3VyZSB3aGljaCBDdXN0b20gVmlld3MgYXJlIGF2YWlsYWJsZSBmb3IgZXZlcnkgdGFiLlxuICAgKi9cbiAgY3VzdG9tVmlld0xvY2F0b3JDb2Rlcz86IFJlY29yZDxzdHJpbmcsIExvY2F0aW9uRGVzY3JpcHRvcj47XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHM6IFBpY2s8VFRhYnVsYXJNYWluUGFnZVByb3BzLCAnaGlkZUNvbnRyb2xzJz4gPSB7XG4gIGhpZGVDb250cm9sczogZmFsc2UsXG59O1xuXG5jb25zdCBUYWJ1bGFyTWFpblBhZ2UgPSAocHJvcHM6IFRUYWJ1bGFyTWFpblBhZ2VQcm9wcykgPT4ge1xuICBjb25zdCB7IGN1cnJlbnRDdXN0b21WaWV3TG9jYXRvckNvZGUgfSA9IHVzZUN1c3RvbVZpZXdMb2NhdG9yU2VsZWN0b3IoXG4gICAgcHJvcHMuY3VzdG9tVmlld0xvY2F0b3JDb2Rlc1xuICApO1xuXG4gIHdhcm5pbmcoXG4gICAgcHJvcHMudGl0bGUgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5jdXN0b21UaXRsZVJvdyAhPT0gdW5kZWZpbmVkLFxuICAgICdUYWJ1bGFyTWFpblBhZ2U6IG9uZSBvZiBlaXRoZXIgYHRpdGxlYCBvciBgY3VzdG9tVGl0bGVSb3dgIGlzIHJlcXVpcmVkIGJ1dCBib3RoIHRoZWlyIHZhbHVlcyBhcmUgYHVuZGVmaW5lZGAnXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFnZVdyYXBwZXI+XG4gICAgICA8Q3VzdG9tVmlld3NTZWxlY3RvclxuICAgICAgICBjdXN0b21WaWV3TG9jYXRvckNvZGU9e2N1cnJlbnRDdXN0b21WaWV3TG9jYXRvckNvZGV9XG4gICAgICAvPlxuICAgICAgPFRhYnVsYXJQYWdlQ29udGFpbmVyIGNvbG9yPVwic3VyZmFjZVwiPlxuICAgICAgICB7cHJvcHMuY3VzdG9tVGl0bGVSb3cgfHwgKFxuICAgICAgICAgIDxQYWdlSGVhZGVyVGl0bGVcbiAgICAgICAgICAgIHRpdGxlPXtwcm9wcy50aXRsZSA/PyAnJ31cbiAgICAgICAgICAgIHN1YnRpdGxlPXtwcm9wcy5zdWJ0aXRsZX1cbiAgICAgICAgICAgIHRpdGxlU2l6ZT1cImJpZ1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPENvbnRyb2xzQ29udGFpbnRlclxuICAgICAgICAgIHRhYkNvbnRyb2xzPXtwcm9wcy50YWJDb250cm9sc31cbiAgICAgICAgICBmb3JtQ29udHJvbHM9e1xuICAgICAgICAgICAgPEZvcm1Db250cm9sc0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgeyFwcm9wcy5oaWRlQ29udHJvbHMgJiYgcHJvcHMuZm9ybUNvbnRyb2xzICYmIChcbiAgICAgICAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJmbGV4LWVuZFwiPlxuICAgICAgICAgICAgICAgICAge3Byb3BzLmZvcm1Db250cm9sc31cbiAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRm9ybUNvbnRyb2xzQ29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvVGFidWxhclBhZ2VDb250YWluZXI+XG4gICAgICA8Q29udGVudFdyYXBwZXJcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHthcHBLaXREZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9yVGFidWxhck1haW5QYWdlQ29udGVudH07XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvQ29udGVudFdyYXBwZXI+XG4gICAgPC9QYWdlV3JhcHBlcj5cbiAgKTtcbn07XG5UYWJ1bGFyTWFpblBhZ2UuZGlzcGxheU5hbWUgPSAnVGFidWxhck1haW5QYWdlJztcblRhYnVsYXJNYWluUGFnZS5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG4vLyBTdGF0aWMgZXhwb3J0IG9mIHByZS1jb25maWd1cmVkIGZvcm0gY29udHJvbCBidXR0b25zIHRvIGVhc2lseSByZS11c2Vcbi8vIHRoZW0gaW4gdGhlIGN1c3RvbSBjb250cm9scy5cblRhYnVsYXJNYWluUGFnZS5Gb3JtUHJpbWFyeUJ1dHRvbiA9IEZvcm1QcmltYXJ5QnV0dG9uO1xuVGFidWxhck1haW5QYWdlLkZvcm1TZWNvbmRhcnlCdXR0b24gPSBGb3JtU2Vjb25kYXJ5QnV0dG9uO1xuVGFidWxhck1haW5QYWdlLkZvcm1EZWxldGVCdXR0b24gPSBGb3JtRGVsZXRlQnV0dG9uO1xuLy8gU3RhdGljIGV4cG9ydCBvZiBwcmUtY29uZmlndXJlZCBwYWdlIGhlYWRlciB0aXRsZSBjb21wb25lbnQgdG8gZWFzaWx5XG4vLyB1c2UgYXMgcGFydCBvZiBhIGN1c3RvbSB0aXRsZSByb3dcblRhYnVsYXJNYWluUGFnZS5QYWdlSGVhZGVyVGl0bGUgPSBQYWdlSGVhZGVyVGl0bGU7XG4vLyBUaGlzIGlzIGEgY29udmVuaWVuY2UgcHJveHkgZXhwb3J0IHRvIGV4cG9zZSBwcmUtZGVmaW5lZCBJbnRsIG1lc3NhZ2VzIGRlZmluZWQgaW4gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuYCBwYWNrYWdlLlxuVGFidWxhck1haW5QYWdlLkludGwgPSBzaGFyZWRNZXNzYWdlcztcblxuZXhwb3J0IGRlZmF1bHQgVGFidWxhck1haW5QYWdlO1xuIl19 */"),
2034
2062
  children: props.children
2035
2063
  })]
2036
2064
  });
@@ -2043,7 +2071,7 @@ TabularMainPage.propTypes = process.env.NODE_ENV !== "production" ? {
2043
2071
  tabControls: _pt.node.isRequired,
2044
2072
  formControls: _pt.node,
2045
2073
  hideControls: _pt.bool.isRequired,
2046
- customViewLocatorCode: _pt.string
2074
+ customViewLocatorCodes: _pt.objectOf(_pt.any)
2047
2075
  } : {};
2048
2076
  TabularMainPage.displayName = 'TabularMainPage';
2049
2077
  TabularMainPage.defaultProps = defaultProps$1;
@@ -1,4 +1,5 @@
1
1
  import type { ReactElement, ReactNode, MouseEvent, KeyboardEvent } from 'react';
2
+ import { LocationDescriptor } from 'history';
2
3
  type MessageDescriptor = {
3
4
  id: string;
4
5
  description?: string | object;
@@ -13,7 +14,7 @@ type TTabularDetailPageProps = {
13
14
  tabControls: ReactNode;
14
15
  formControls?: ReactNode;
15
16
  hideControls: boolean;
16
- customViewLocatorCode?: string;
17
+ customViewLocatorCodes?: Record<string, LocationDescriptor>;
17
18
  previousPathLabel?: string | MessageDescriptor;
18
19
  onPreviousPathClick: (event: MouseEvent<HTMLButtonElement> | KeyboardEvent<HTMLButtonElement>) => void;
19
20
  };
@@ -1,4 +1,5 @@
1
1
  import type { ReactElement, ReactNode } from 'react';
2
+ import type { LocationDescriptor } from 'history';
2
3
  type TTabularMainPageProps = {
3
4
  title?: string;
4
5
  subtitle?: string | ReactElement;
@@ -7,7 +8,7 @@ type TTabularMainPageProps = {
7
8
  tabControls: ReactNode;
8
9
  formControls?: ReactNode;
9
10
  hideControls: boolean;
10
- customViewLocatorCode?: string;
11
+ customViewLocatorCodes?: Record<string, LocationDescriptor>;
11
12
  };
12
13
  declare const TabularMainPage: {
13
14
  (props: TTabularMainPageProps): import("@emotion/react/types/jsx-namespace").EmotionJSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { ReactElement, ReactNode, SyntheticEvent } from 'react';
2
2
  import type { CSSObject } from '@emotion/react';
3
+ import { LocationDescriptor } from 'history';
3
4
  type MessageDescriptor = {
4
5
  id: string;
5
6
  description?: string | object;
@@ -10,7 +11,7 @@ type Props = {
10
11
  level?: number;
11
12
  title: string;
12
13
  isOpen: boolean;
13
- customViewLocatorCode?: string;
14
+ customViewLocatorCodes?: Record<string, LocationDescriptor>;
14
15
  onClose?: (event: SyntheticEvent) => void;
15
16
  children: ReactNode;
16
17
  zIndex?: number;
@@ -0,0 +1 @@
1
+ export { default } from './use-custom-view-locator-selector';
@@ -0,0 +1,5 @@
1
+ import { LocationDescriptor } from 'history';
2
+ declare const useCustomViewLocatorSelector: (customViewLocatorCodes?: Record<string, LocationDescriptor>) => {
3
+ currentCustomViewLocatorCode: string | undefined;
4
+ };
5
+ export default useCustomViewLocatorSelector;
@@ -42,6 +42,8 @@ require('@commercetools-frontend/actions-global');
42
42
  require('@commercetools-frontend/application-shell-connectors');
43
43
  require('@commercetools-uikit/flat-button');
44
44
  require('@commercetools-uikit/icon-button');
45
+ require('@babel/runtime-corejs3/core-js-stable/instance/find');
46
+ require('@babel/runtime-corejs3/core-js-stable/object/entries');
45
47
  require('@commercetools-frontend/assets/images/page-not-found.svg');
46
48
  require('@commercetools-frontend/assets/images/doors-closed.svg');
47
49
  require('@react-hook/resize-observer');
@@ -40,6 +40,8 @@ import '@commercetools-frontend/actions-global';
40
40
  import '@commercetools-frontend/application-shell-connectors';
41
41
  import '@commercetools-uikit/flat-button';
42
42
  import '@commercetools-uikit/icon-button';
43
+ import '@babel/runtime-corejs3/core-js-stable/instance/find';
44
+ import '@babel/runtime-corejs3/core-js-stable/object/entries';
43
45
  import '@commercetools-frontend/assets/images/page-not-found.svg';
44
46
  import '@commercetools-frontend/assets/images/doors-closed.svg';
45
47
  import '@react-hook/resize-observer';
@@ -42,6 +42,8 @@ require('@commercetools-frontend/actions-global');
42
42
  require('@commercetools-frontend/application-shell-connectors');
43
43
  require('@commercetools-uikit/flat-button');
44
44
  require('@commercetools-uikit/icon-button');
45
+ require('@babel/runtime-corejs3/core-js-stable/instance/find');
46
+ require('@babel/runtime-corejs3/core-js-stable/object/entries');
45
47
  require('@commercetools-frontend/assets/images/page-not-found.svg');
46
48
  require('@commercetools-frontend/assets/images/doors-closed.svg');
47
49
  require('@react-hook/resize-observer');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools-frontend/application-components",
3
- "version": "22.9.1",
3
+ "version": "22.10.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": {
@@ -36,14 +36,14 @@
36
36
  "dependencies": {
37
37
  "@babel/runtime": "^7.22.15",
38
38
  "@babel/runtime-corejs3": "^7.22.15",
39
- "@commercetools-frontend/actions-global": "22.9.1",
40
- "@commercetools-frontend/application-config": "22.9.1",
41
- "@commercetools-frontend/application-shell-connectors": "22.9.1",
42
- "@commercetools-frontend/assets": "22.9.1",
43
- "@commercetools-frontend/constants": "22.9.1",
44
- "@commercetools-frontend/i18n": "22.9.1",
45
- "@commercetools-frontend/l10n": "22.9.1",
46
- "@commercetools-frontend/sentry": "22.9.1",
39
+ "@commercetools-frontend/actions-global": "22.10.0",
40
+ "@commercetools-frontend/application-config": "22.10.0",
41
+ "@commercetools-frontend/application-shell-connectors": "22.10.0",
42
+ "@commercetools-frontend/assets": "22.10.0",
43
+ "@commercetools-frontend/constants": "22.10.0",
44
+ "@commercetools-frontend/i18n": "22.10.0",
45
+ "@commercetools-frontend/l10n": "22.10.0",
46
+ "@commercetools-frontend/sentry": "22.10.0",
47
47
  "@commercetools-uikit/card": "^16.7.3",
48
48
  "@commercetools-uikit/constraints": "^16.7.3",
49
49
  "@commercetools-uikit/design-system": "^16.7.3",
@@ -89,8 +89,7 @@
89
89
  "react": "17.0.2",
90
90
  "react-dom": "17.0.2",
91
91
  "react-intl": "^6.4.5",
92
- "react-router-dom": "5.3.4",
93
- "@commercetools-frontend/application-shell": "22.9.1"
92
+ "react-router-dom": "5.3.4"
94
93
  },
95
94
  "peerDependencies": {
96
95
  "react": "17.x",