@commercetools-frontend/application-shell 27.8.0 → 27.9.1

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.
Files changed (75) hide show
  1. package/dist/{application-entry-point-c87294b0.cjs.dev.js → application-entry-point-18d8fba0.cjs.dev.js} +7 -4
  2. package/dist/{application-entry-point-10a5e1a5.esm.js → application-entry-point-1b23fb6b.esm.js} +6 -4
  3. package/dist/{application-entry-point-8c4b8e53.cjs.prod.js → application-entry-point-74a06151.cjs.prod.js} +4 -3
  4. package/dist/{application-shell-splitter-dbae9dfc.esm.js → application-shell-splitter-2c38991b.esm.js} +2 -1
  5. package/dist/{application-shell-splitter-e87a060f.cjs.dev.js → application-shell-splitter-a527378f.cjs.dev.js} +2 -1
  6. package/dist/{application-shell-splitter-62fabf2c.cjs.prod.js → application-shell-splitter-b560f8be.cjs.prod.js} +2 -1
  7. package/dist/commercetools-frontend-application-shell.cjs.dev.js +5 -4
  8. package/dist/commercetools-frontend-application-shell.cjs.prod.js +5 -4
  9. package/dist/commercetools-frontend-application-shell.esm.js +5 -4
  10. package/dist/{custom-view-dev-host-fccf2c99.cjs.dev.js → custom-view-dev-host-61a6875f.cjs.dev.js} +15 -10
  11. package/dist/{custom-view-dev-host-09ad216c.cjs.prod.js → custom-view-dev-host-6802db5c.cjs.prod.js} +15 -10
  12. package/dist/{custom-view-dev-host-3652a0d6.esm.js → custom-view-dev-host-b47bb9bc.esm.js} +14 -10
  13. package/dist/declarations/src/components/setup-flop-flip-provider/setup-flop-flip-provider.d.ts +15 -0
  14. package/dist/{index-614accc4.cjs.dev.js → index-25183095.cjs.dev.js} +2 -2
  15. package/dist/{index-70e88ad7.cjs.dev.js → index-419ebe37.cjs.dev.js} +183 -140
  16. package/dist/{index-245e2980.cjs.prod.js → index-52c724ed.cjs.prod.js} +2 -2
  17. package/dist/{index-86039df7.esm.js → index-5aaa33bb.esm.js} +2 -2
  18. package/dist/{index-d0c30fac.cjs.prod.js → index-ae34310f.cjs.prod.js} +173 -134
  19. package/dist/index-f440fbdc.esm.js +1985 -0
  20. package/dist/{navbar-9eb6c972.esm.js → navbar-5290186f.esm.js} +104 -89
  21. package/dist/{navbar-f4b2552d.cjs.prod.js → navbar-9a1054eb.cjs.prod.js} +105 -89
  22. package/dist/{navbar-59504b51.cjs.dev.js → navbar-f2740795.cjs.dev.js} +105 -89
  23. package/dist/oidc-349b18df.cjs.dev.js +119 -0
  24. package/dist/oidc-3ad2f42d.cjs.prod.js +119 -0
  25. package/dist/{oidc-callback-2d5be737.esm.js → oidc-callback-a6d80251.esm.js} +11 -9
  26. package/dist/{oidc-callback-d8397df9.cjs.dev.js → oidc-callback-b47c8b7e.cjs.dev.js} +11 -10
  27. package/dist/{oidc-callback-60c1e8e8.cjs.prod.js → oidc-callback-e6029355.cjs.prod.js} +11 -10
  28. package/dist/oidc-ddd328fa.esm.js +103 -0
  29. package/dist/{project-container-31a4f3c6.cjs.dev.js → project-container-2a79f361.cjs.dev.js} +14 -11
  30. package/dist/{project-container-08fbe4b7.esm.js → project-container-ad07cd24.esm.js} +14 -11
  31. package/dist/{project-container-e61a39a2.cjs.prod.js → project-container-f3e06769.cjs.prod.js} +14 -11
  32. package/dist/{project-expired-97aa9779.cjs.prod.js → project-expired-a9741dd7.cjs.prod.js} +6 -5
  33. package/dist/{project-expired-324758a8.cjs.dev.js → project-expired-ce1a7855.cjs.dev.js} +6 -5
  34. package/dist/{project-expired-bb3b8866.esm.js → project-expired-dba360dc.esm.js} +6 -5
  35. package/dist/{project-not-found-4190bacf.cjs.prod.js → project-not-found-0dd37054.cjs.prod.js} +5 -4
  36. package/dist/{project-not-found-d2857df2.cjs.dev.js → project-not-found-43912d11.cjs.dev.js} +5 -4
  37. package/dist/{project-not-found-569f8569.esm.js → project-not-found-65aed038.esm.js} +5 -4
  38. package/dist/{project-not-initialized-fe8d8e96.esm.js → project-not-initialized-3eb732fc.esm.js} +6 -5
  39. package/dist/{project-not-initialized-c84c85da.cjs.prod.js → project-not-initialized-4fecb9ed.cjs.prod.js} +6 -5
  40. package/dist/{project-not-initialized-d60bab15.cjs.dev.js → project-not-initialized-52f39003.cjs.dev.js} +6 -5
  41. package/dist/{project-suspended-18333595.cjs.prod.js → project-suspended-5b1f484a.cjs.prod.js} +5 -4
  42. package/dist/{project-suspended-4bb66583.esm.js → project-suspended-663d9875.esm.js} +5 -4
  43. package/dist/{project-suspended-f4900a38.cjs.dev.js → project-suspended-b3b9d9d4.cjs.dev.js} +5 -4
  44. package/dist/{redirect-to-login-6675c038.cjs.prod.js → redirect-to-login-0596ba25.cjs.prod.js} +13 -10
  45. package/dist/{redirect-to-login-8a61864c.cjs.dev.js → redirect-to-login-6c3b5cc4.cjs.dev.js} +13 -10
  46. package/dist/{redirect-to-login-b79d0910.esm.js → redirect-to-login-c5629017.esm.js} +13 -10
  47. package/dist/{redirect-to-logout-31d43a03.cjs.prod.js → redirect-to-logout-7d335145.cjs.prod.js} +8 -6
  48. package/dist/{redirect-to-logout-0646ed18.cjs.dev.js → redirect-to-logout-8b0b2e2c.cjs.dev.js} +8 -6
  49. package/dist/{redirect-to-logout-0e2cfb93.esm.js → redirect-to-logout-9994a431.esm.js} +8 -6
  50. package/dist/{redirector-72ccfbc2.cjs.dev.js → redirector-0efdd994.cjs.dev.js} +4 -3
  51. package/dist/{redirector-d856975f.esm.js → redirector-656c6ee7.esm.js} +4 -3
  52. package/dist/{redirector-0c72d0a4.cjs.prod.js → redirector-c858d578.cjs.prod.js} +4 -3
  53. package/dist/{requests-in-flight-loader-fb5d3f6f.cjs.dev.js → requests-in-flight-loader-497fc4b0.cjs.dev.js} +5 -4
  54. package/dist/{requests-in-flight-loader-ab4d59f3.cjs.prod.js → requests-in-flight-loader-52e3eb92.cjs.prod.js} +5 -4
  55. package/dist/{requests-in-flight-loader-17158914.esm.js → requests-in-flight-loader-c56604f2.esm.js} +5 -4
  56. package/dist/{service-page-project-switcher-cb63edbf.esm.js → service-page-project-switcher-8942f997.esm.js} +1 -1
  57. package/dist/{service-page-project-switcher-a4d1d6de.cjs.dev.js → service-page-project-switcher-d98264a0.cjs.dev.js} +1 -1
  58. package/dist/{service-page-project-switcher-e221eba8.cjs.prod.js → service-page-project-switcher-f332cda6.cjs.prod.js} +1 -1
  59. package/dist/{use-applications-menu-8984efa1.cjs.prod.js → use-applications-menu-21c7420b.cjs.prod.js} +47 -39
  60. package/dist/{use-applications-menu-bd718ac8.cjs.dev.js → use-applications-menu-7a85c3ee.cjs.dev.js} +47 -39
  61. package/dist/{use-applications-menu-bc2b9a66.esm.js → use-applications-menu-8ff2d130.esm.js} +44 -37
  62. package/dist/{user-settings-menu-b8359b8b.cjs.dev.js → user-settings-menu-0f655cb1.cjs.dev.js} +30 -23
  63. package/dist/{user-settings-menu-a1d0ba8e.esm.js → user-settings-menu-bcb676d5.esm.js} +30 -23
  64. package/dist/{user-settings-menu-2235add2.cjs.prod.js → user-settings-menu-c52bf93a.cjs.prod.js} +30 -23
  65. package/package.json +53 -53
  66. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -1
  67. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -1
  68. package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -1
  69. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +35 -33
  70. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +35 -33
  71. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +29 -28
  72. package/dist/index-2856f98e.esm.js +0 -1943
  73. package/dist/oidc-0cba182b.cjs.prod.js +0 -102
  74. package/dist/oidc-b9e7297c.cjs.dev.js +0 -102
  75. package/dist/oidc-cb344fae.esm.js +0 -87
@@ -4,6 +4,7 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
4
4
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
5
5
  var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
6
6
  var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
7
+ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
7
8
  var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
8
9
  var _Number$isFinite = require('@babel/runtime-corejs3/core-js-stable/number/is-finite');
9
10
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
@@ -24,11 +25,12 @@ var LogoSVG = require('@commercetools-frontend/assets/logos/commercetools_small-
24
25
  var constants = require('@commercetools-frontend/constants');
25
26
  var icons = require('@commercetools-uikit/icons');
26
27
  var Spacings = require('@commercetools-uikit/spacings');
28
+ var _taggedTemplateLiteral = require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
27
29
  var _styled = require('@emotion/styled/base');
28
30
  var react = require('@emotion/react');
29
31
  var applicationComponents = require('@commercetools-frontend/application-components');
30
32
  var designSystem = require('@commercetools-uikit/design-system');
31
- var oidc = require('./oidc-0cba182b.cjs.prod.js');
33
+ var oidc = require('./oidc-3ad2f42d.cjs.prod.js');
32
34
  var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
33
35
  var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
34
36
  var reactBroadcast = require('@flopflip/react-broadcast');
@@ -42,7 +44,7 @@ var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/insta
42
44
  var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
43
45
  var isNil = require('lodash/isNil');
44
46
  var throttle = require('lodash/throttle');
45
- var useApplicationsMenu = require('./use-applications-menu-8984efa1.cjs.prod.js');
47
+ var useApplicationsMenu = require('./use-applications-menu-21c7420b.cjs.prod.js');
46
48
  require('@apollo/client');
47
49
  require('@commercetools-frontend/l10n');
48
50
 
@@ -50,6 +52,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e };
50
52
 
51
53
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
52
54
  var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
55
+ var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
53
56
  var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
54
57
  var _Number$isFinite__default = /*#__PURE__*/_interopDefault(_Number$isFinite);
55
58
  var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
@@ -93,6 +96,7 @@ const Title = /*#__PURE__*/_styled__default["default"]("div", {
93
96
  target: "e1wv1pdj0"
94
97
  } )("flex:1;font-weight:600;font-size:", designSystem.designTokens.fontSize20, ";line-height:", designSystem.designTokens.lineHeight20, ";color:", designSystem.designTokens.colorNeutral, ";opacity:0;transition:", oidc.NAVBAR.leftNavigationTransition, ";text-align:left;text-decoration:none;z-index:1;" + ("" ));
95
98
 
99
+ var _templateObject$1;
96
100
  const getSubmenuPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, submenuVerticalPosition) => /*#__PURE__*/react.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":", submenuVerticalPosition, "px;" + ("" ), "" );
97
101
  var _ref4 = {
98
102
  name: "abcix4",
@@ -103,10 +107,7 @@ var _ref5 = {
103
107
  styles: "bottom:0"
104
108
  } ;
105
109
  const getContainerPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed) => [isSublistActiveWhileIsMenuCollapsed && /*#__PURE__*/react.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", oidc.NAVBAR.itemSize, ";" + ("" ), "" ), isSublistActiveWhileIsMenuExpanded && isSubmenuAboveMenuItem && _ref5, isSublistActiveWhileIsMenuExpanded && !isSubmenuAboveMenuItem && _ref4];
106
- const fadeIn = react.keyframes`
107
- from {opacity: 0;}
108
- to { opacity: 1;}
109
- `;
110
+ const fadeIn = react.keyframes(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\nfrom {opacity: 0;}\n to { opacity: 1;}\n"])));
110
111
  var _ref3 = {
111
112
  name: "eivff4",
112
113
  styles: "display:none"
@@ -157,14 +158,8 @@ const SafeArea = /*#__PURE__*/_styled__default["default"]("span", {
157
158
  target: "e1i568cv0"
158
159
  } )("position:absolute;top:0;bottom:0;right:100%;width:calc(100% - ", designSystem.designTokens.spacing30, ");clip-path:polygon(var(--safe-start), 100% 100%, 100% 0);" + ("" ));
159
160
 
160
- const visible = react.keyframes`
161
- from {
162
- opacity: 0;
163
- }
164
- to {
165
- opacity: 1;
166
- }
167
- `;
161
+ var _templateObject;
162
+ const visible = react.keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"])));
168
163
  const FixedMenu = /*#__PURE__*/_styled__default["default"]("div", {
169
164
  target: "e1meml8k10"
170
165
  } )("position:relative;width:", oidc.NAVBAR.widthLeftNavigation, ";", MenuListItem, " ", ItemIconText, "{justify-content:center;display:flex;width:100%;}" + ("" ));
@@ -331,8 +326,8 @@ const MenuGroup = /*#__PURE__*/react$1.forwardRef((props, ref) => {
331
326
  return jsxRuntime.jsx(MenuList, {
332
327
  ref: ref && props.level === 2 ? ref : null,
333
328
  level: props.level,
334
- id: `group-${props.id}`,
335
- "data-testid": `group-${props.id}`,
329
+ id: "group-".concat(props.id),
330
+ "data-testid": "group-".concat(props.id),
336
331
  role: "menu",
337
332
  onKeyDown: props.handleKeyDown,
338
333
  className: classnames__default["default"]({
@@ -431,7 +426,7 @@ const MenuItemLink = _ref3 => {
431
426
  };
432
427
  MenuItemLink.displayName = 'MenuItemLink';
433
428
  function isLongLivedFlag(flag) {
434
- return typeof flag?.value === 'boolean';
429
+ return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
435
430
  }
436
431
  const RestrictedMenuItem = _ref4 => {
437
432
  let _ref4$permissions = _ref4.permissions,
@@ -650,13 +645,15 @@ const reducer = (state, action) => {
650
645
  return state;
651
646
  }
652
647
  };
653
- const isFocusOutEventCalledBySubmenuItem = event =>
654
- // a case when a submenu item loses focus
655
- event.type === 'focusout' &&
656
- // element receiving focus
657
- event.relatedTarget?.matches('a[data-link-level="text-link"]') &&
658
- // element losing focus
659
- event.target?.matches('a[data-link-level="text-link-sublist"]');
648
+ const isFocusOutEventCalledBySubmenuItem = event => {
649
+ var _event$relatedTarget, _event$target;
650
+ return (
651
+ // a case when a submenu item loses focus
652
+ event.type === 'focusout' && (// element receiving focus
653
+ (_event$relatedTarget = event.relatedTarget) === null || _event$relatedTarget === void 0 ? void 0 : _event$relatedTarget.matches('a[data-link-level="text-link"]')) && (// element losing focus
654
+ (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.matches('a[data-link-level="text-link-sublist"]'))
655
+ );
656
+ };
660
657
  const useNavbarStateManager = props => {
661
658
  var _context, _context2, _context4, _context5;
662
659
  const navBarNode = react$1.useRef(null);
@@ -750,7 +747,8 @@ const useNavbarStateManager = props => {
750
747
  }
751
748
  }, 100), [isForcedMenuOpen, state.isExpanderVisible, state.isMenuOpen]);
752
749
  const shouldCloseMenuFly = react$1.useCallback(event => {
753
- if (!navBarNode?.current?.contains(event.target) && !state.isMenuOpen) {
750
+ var _navBarNode$current;
751
+ if (!(navBarNode !== null && navBarNode !== void 0 && (_navBarNode$current = navBarNode.current) !== null && _navBarNode$current !== void 0 && _navBarNode$current.contains(event.target)) && !state.isMenuOpen) {
754
752
  dispatch({
755
753
  type: 'unsetActiveItemIndex'
756
754
  });
@@ -815,7 +813,7 @@ const useNavbarStateManager = props => {
815
813
  const allApplicationsNavbarMenuGroups = _sortInstanceProperty__default["default"](_context4 = _mapInstanceProperty__default["default"](_context5 = applicationsNavBarMenuGroups || []).call(_context5, navbarMenuGroup => navbarMenuGroup.key === '2' && allCustomApplicationsNavbarMenu.length > 0 ? {
816
814
  key: navbarMenuGroup.key,
817
815
  items: [...navbarMenuGroup.items, ...allCustomApplicationsNavbarMenu]
818
- } : navbarMenuGroup)).call(_context4, (navBarMenuGroupA, navBarMenuGroupB) => Number(navBarMenuGroupA?.key) - Number(navBarMenuGroupB?.key));
816
+ } : navbarMenuGroup)).call(_context4, (navBarMenuGroupA, navBarMenuGroupB) => Number(navBarMenuGroupA === null || navBarMenuGroupA === void 0 ? void 0 : navBarMenuGroupA.key) - Number(navBarMenuGroupB === null || navBarMenuGroupB === void 0 ? void 0 : navBarMenuGroupB.key));
819
817
  return _objectSpread$1(_objectSpread$1({}, state), {}, {
820
818
  navBarNode,
821
819
  handleToggleItem,
@@ -827,7 +825,7 @@ const useNavbarStateManager = props => {
827
825
  };
828
826
 
829
827
  function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
830
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
828
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context0, _context1; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context0 = ownKeys(Object(t), !0)).call(_context0, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context1 = ownKeys(Object(t))).call(_context1, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
831
829
  // Helper function to extract accessible label from menu objects
832
830
  const getMenuAccessibleLabel = (labelAllLocales, defaultLabel, applicationLocale) => {
833
831
  const localizedLabel = _findInstanceProperty__default["default"](labelAllLocales).call(labelAllLocales, loc => _startsWithInstanceProperty__default["default"](applicationLocale).call(applicationLocale, loc.locale));
@@ -835,13 +833,16 @@ const getMenuAccessibleLabel = (labelAllLocales, defaultLabel, applicationLocale
835
833
  if (defaultLabel) return defaultLabel;
836
834
  return constants.NO_VALUE_FALLBACK;
837
835
  };
838
- const getIsSubmenuRouteActive = (uriPath, props) => Boolean(reactRouterDom.matchPath(props.location.pathname, {
839
- path: `/${props.projectKey}/${uriPath}`,
840
- exact: true,
841
- strict: false
842
- }));
843
- const ApplicationMenu = props => {
836
+ const getIsSubmenuRouteActive = (uriPath, props) => {
844
837
  var _context;
838
+ return Boolean(reactRouterDom.matchPath(props.location.pathname, {
839
+ path: _concatInstanceProperty__default["default"](_context = "/".concat(props.projectKey, "/")).call(_context, uriPath),
840
+ exact: true,
841
+ strict: false
842
+ }));
843
+ };
844
+ const ApplicationMenu = props => {
845
+ var _context3, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context4, _context5;
845
846
  const _useState = react$1.useState(0),
846
847
  _useState2 = _slicedToArray(_useState, 2),
847
848
  submenuVerticalPosition = _useState2[0],
@@ -868,12 +869,13 @@ const ApplicationMenu = props => {
868
869
  const hasSubmenu = _Array$isArray__default["default"](props.menu.submenu) && props.menu.submenu.length > 0;
869
870
  const menuItemIdentifier = snakeCase__default["default"](props.menu.key);
870
871
  const calculateSafeAreaStartPositon = react$1.useCallback(e => {
871
- const currentSafeAreaRect = submenuSafeAreaRef.current?.getBoundingClientRect();
872
- const menuItemRect = document.querySelector(`[data-menuitem="${menuItemIdentifier}"]`)?.getBoundingClientRect();
873
- const currentSafeAreaLeft = currentSafeAreaRect?.left || 0;
874
- const currentSafeAreaTop = currentSafeAreaRect?.top || 0;
875
- const currentSafeAreaWidth = currentSafeAreaRect?.width || 0;
876
- const currentSafeAreaHeight = currentSafeAreaRect?.height || 0;
872
+ var _submenuSafeAreaRef$c, _document$querySelect;
873
+ const currentSafeAreaRect = (_submenuSafeAreaRef$c = submenuSafeAreaRef.current) === null || _submenuSafeAreaRef$c === void 0 ? void 0 : _submenuSafeAreaRef$c.getBoundingClientRect();
874
+ const menuItemRect = (_document$querySelect = document.querySelector("[data-menuitem=\"".concat(menuItemIdentifier, "\"]"))) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getBoundingClientRect();
875
+ const currentSafeAreaLeft = (currentSafeAreaRect === null || currentSafeAreaRect === void 0 ? void 0 : currentSafeAreaRect.left) || 0;
876
+ const currentSafeAreaTop = (currentSafeAreaRect === null || currentSafeAreaRect === void 0 ? void 0 : currentSafeAreaRect.top) || 0;
877
+ const currentSafeAreaWidth = (currentSafeAreaRect === null || currentSafeAreaRect === void 0 ? void 0 : currentSafeAreaRect.width) || 0;
878
+ const currentSafeAreaHeight = (currentSafeAreaRect === null || currentSafeAreaRect === void 0 ? void 0 : currentSafeAreaRect.height) || 0;
877
879
  const localX = e.clientX - currentSafeAreaLeft;
878
880
  const localY = e.clientY - currentSafeAreaTop;
879
881
  let minXPercent = 0;
@@ -919,15 +921,17 @@ const ApplicationMenu = props => {
919
921
  };
920
922
  }, [calculateSafeAreaStartPositon]);
921
923
  react$1.useLayoutEffect(() => {
924
+ var _context2;
922
925
  if (!submenuRef.current) return;
923
926
  const safeX = _Number$isFinite__default["default"](percentageX) ? percentageX : 0;
924
927
  const safeY = _Number$isFinite__default["default"](percentageY) ? percentageY : 100;
925
- submenuRef.current.style.setProperty('--safe-start', `${safeX}% ${safeY}%`);
928
+ submenuRef.current.style.setProperty('--safe-start', _concatInstanceProperty__default["default"](_context2 = "".concat(safeX, "% ")).call(_context2, safeY, "%"));
926
929
  }, [percentageX, percentageY]);
927
930
  const callbackFn = react$1.useCallback(entries => {
928
- const menuItemBoundingClientRect = document.querySelector(`[data-menuitem="${menuItemIdentifier}"]`)?.getBoundingClientRect();
929
- const menuItemTop = menuItemBoundingClientRect?.top || 0;
930
- const menuItemBottom = menuItemBoundingClientRect?.bottom || 0;
931
+ var _document$querySelect2;
932
+ const menuItemBoundingClientRect = (_document$querySelect2 = document.querySelector("[data-menuitem=\"".concat(menuItemIdentifier, "\"]"))) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.getBoundingClientRect();
933
+ const menuItemTop = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.top) || 0;
934
+ const menuItemBottom = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.bottom) || 0;
931
935
  const _entries = _slicedToArray(entries, 1),
932
936
  entry = _entries[0];
933
937
 
@@ -953,7 +957,10 @@ const ApplicationMenu = props => {
953
957
  observerRef.current = new IntersectionObserver(callbackFn, {
954
958
  rootMargin: '-100% 0px 0px 0px' // we want to observe if the submenu crosses the bottom line of the viewport - therefore we set the root element top margin to -100% of the viewport height
955
959
  });
956
- return () => observerRef.current?.disconnect();
960
+ return () => {
961
+ var _observerRef$current;
962
+ return (_observerRef$current = observerRef.current) === null || _observerRef$current === void 0 ? void 0 : _observerRef$current.disconnect();
963
+ };
957
964
  }, [callbackFn, props.isMenuOpen]);
958
965
  react$1.useLayoutEffect(() => {
959
966
  const currentSubmenuRef = submenuRef.current;
@@ -963,10 +970,10 @@ const ApplicationMenu = props => {
963
970
  observer.observe(currentSubmenuRef);
964
971
  }
965
972
  setIsSubmenuFocused(false);
966
- return () => observer?.disconnect();
973
+ return () => observer === null || observer === void 0 ? void 0 : observer.disconnect();
967
974
  }, [menuItemIdentifier, props.isMenuOpen, props.handleToggleItem, callbackFn]);
968
975
  const isMainMenuRouteActive = Boolean(reactRouterDom.matchPath(props.location.pathname, {
969
- path: `/${props.projectKey}/${props.menu.uriPath}`,
976
+ path: _concatInstanceProperty__default["default"](_context3 = "/".concat(props.projectKey, "/")).call(_context3, props.menu.uriPath),
970
977
  exact: false,
971
978
  strict: false
972
979
  }));
@@ -980,20 +987,22 @@ const ApplicationMenu = props => {
980
987
  }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
981
988
 
982
989
  const handleKeyDown = e => {
983
- const currentlyFocusedItem = submenuRef.current?.querySelector(':focus');
990
+ var _submenuRef$current;
991
+ const currentlyFocusedItem = (_submenuRef$current = submenuRef.current) === null || _submenuRef$current === void 0 ? void 0 : _submenuRef$current.querySelector(':focus');
984
992
  if (e.key === 'Enter') {
985
993
  setIsSubmenuFocused(true);
986
994
  if (!currentlyFocusedItem) {
987
- submenuRef.current?.querySelector('a')?.focus();
995
+ var _submenuRef$current2;
996
+ (_submenuRef$current2 = submenuRef.current) === null || _submenuRef$current2 === void 0 || (_submenuRef$current2 = _submenuRef$current2.querySelector('a')) === null || _submenuRef$current2 === void 0 || _submenuRef$current2.focus();
988
997
  }
989
998
  }
990
999
  };
991
1000
  return jsxRuntime.jsx(RestrictedMenuItem, {
992
1001
  keyOfMenuItem: props.menu.key,
993
- featureToggle: props.menu.featureToggle ?? undefined,
1002
+ featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
994
1003
  permissions: props.menu.permissions,
995
- actionRights: props.menu.actionRights ?? undefined,
996
- dataFences: props.menu.dataFences ?? undefined,
1004
+ actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
1005
+ dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
997
1006
  projectPermissions: props.projectPermissions,
998
1007
  children: jsxRuntime.jsxs(MenuItem$1, {
999
1008
  hasSubmenu: hasSubmenu,
@@ -1008,7 +1017,7 @@ const ApplicationMenu = props => {
1008
1017
  identifier: menuItemIdentifier,
1009
1018
  ariaLabel: getMenuAccessibleLabel(props.menu.labelAllLocales, props.menu.defaultLabel, props.applicationLocale),
1010
1019
  children: [jsxRuntime.jsx(MenuItemLink, {
1011
- linkTo: `/${props.projectKey}/${props.menu.uriPath}`,
1020
+ linkTo: _concatInstanceProperty__default["default"](_context4 = "/".concat(props.projectKey, "/")).call(_context4, props.menu.uriPath),
1012
1021
  useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1013
1022
  onClick: props.onMenuItemClick,
1014
1023
  ariaLabel: getMenuAccessibleLabel(props.menu.labelAllLocales, props.menu.defaultLabel, props.applicationLocale),
@@ -1020,7 +1029,7 @@ const ApplicationMenu = props => {
1020
1029
  isMenuOpen: props.isMenuOpen
1021
1030
  })
1022
1031
  }), jsxRuntime.jsxs(MenuGroup, {
1023
- id: `group-${props.menu.key}`,
1032
+ id: "group-".concat(props.menu.key),
1024
1033
  level: 2,
1025
1034
  isActive: props.isActive,
1026
1035
  isExpanded: props.isMenuOpen,
@@ -1031,7 +1040,7 @@ const ApplicationMenu = props => {
1031
1040
  children: [!props.isMenuOpen && jsxRuntime.jsx(TooltipContainer, {
1032
1041
  alignsAgainstBottom: isSubmenuAboveMenuItem,
1033
1042
  children: jsxRuntime.jsx(Tooltip, {
1034
- "aria-owns": `group-${props.menu.key}`,
1043
+ "aria-owns": "group-".concat(props.menu.key),
1035
1044
  role: "tooltip",
1036
1045
  children: jsxRuntime.jsx(MenuLabel, {
1037
1046
  labelAllLocales: props.menu.labelAllLocales,
@@ -1039,36 +1048,39 @@ const ApplicationMenu = props => {
1039
1048
  applicationLocale: props.applicationLocale
1040
1049
  })
1041
1050
  })
1042
- }), hasSubmenu ? _mapInstanceProperty__default["default"](_context = props.menu.submenu).call(_context, submenu => jsxRuntime.jsx(RestrictedMenuItem, {
1043
- keyOfMenuItem: submenu.key,
1044
- featureToggle: submenu.featureToggle ?? undefined,
1045
- permissions: submenu.permissions,
1046
- actionRights: submenu.actionRights ?? undefined,
1047
- dataFences: submenu.dataFences ?? undefined,
1048
- projectPermissions: props.projectPermissions,
1049
- children: jsxRuntime.jsx(SublistItem, {
1050
- isActive: getIsSubmenuRouteActive(submenu.uriPath, props),
1051
- children: jsxRuntime.jsx(Text, {
1052
- children: jsxRuntime.jsx(MenuItemLink, {
1053
- linkTo: `/${props.projectKey}/${submenu.uriPath}`
1054
- // We want to use an exact matching strategy to avoid multiple
1055
- // links matching sub-routes.
1056
- ,
1057
- exactMatch: true,
1058
- useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1059
- onClick: props.onMenuItemClick,
1060
- isSubmenuLink: true,
1061
- isSubmenuFocused: isSubmenuFocused,
1062
- ariaLabel: getMenuAccessibleLabel(submenu.labelAllLocales, submenu.defaultLabel, props.applicationLocale),
1063
- children: jsxRuntime.jsx(MenuLabel, {
1064
- labelAllLocales: submenu.labelAllLocales,
1065
- defaultLabel: submenu.defaultLabel,
1066
- applicationLocale: props.applicationLocale
1051
+ }), hasSubmenu ? _mapInstanceProperty__default["default"](_context5 = props.menu.submenu).call(_context5, submenu => {
1052
+ var _context6, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context7;
1053
+ return jsxRuntime.jsx(RestrictedMenuItem, {
1054
+ keyOfMenuItem: submenu.key,
1055
+ featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
1056
+ permissions: submenu.permissions,
1057
+ actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
1058
+ dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
1059
+ projectPermissions: props.projectPermissions,
1060
+ children: jsxRuntime.jsx(SublistItem, {
1061
+ isActive: getIsSubmenuRouteActive(submenu.uriPath, props),
1062
+ children: jsxRuntime.jsx(Text, {
1063
+ children: jsxRuntime.jsx(MenuItemLink, {
1064
+ linkTo: _concatInstanceProperty__default["default"](_context7 = "/".concat(props.projectKey, "/")).call(_context7, submenu.uriPath)
1065
+ // We want to use an exact matching strategy to avoid multiple
1066
+ // links matching sub-routes.
1067
+ ,
1068
+ exactMatch: true,
1069
+ useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1070
+ onClick: props.onMenuItemClick,
1071
+ isSubmenuLink: true,
1072
+ isSubmenuFocused: isSubmenuFocused,
1073
+ ariaLabel: getMenuAccessibleLabel(submenu.labelAllLocales, submenu.defaultLabel, props.applicationLocale),
1074
+ children: jsxRuntime.jsx(MenuLabel, {
1075
+ labelAllLocales: submenu.labelAllLocales,
1076
+ defaultLabel: submenu.defaultLabel,
1077
+ applicationLocale: props.applicationLocale
1078
+ })
1067
1079
  })
1068
1080
  })
1069
1081
  })
1070
- })
1071
- }, `${props.menu.key}-submenu-${submenu.key}`)) : null, jsxRuntime.jsx(SafeArea, {
1082
+ }, _concatInstanceProperty__default["default"](_context6 = "".concat(props.menu.key, "-submenu-")).call(_context6, submenu.key));
1083
+ }) : null, jsxRuntime.jsx(SafeArea, {
1072
1084
  ref: submenuSafeAreaRef
1073
1085
  })]
1074
1086
  })]
@@ -1095,11 +1107,14 @@ const NavBar = props => {
1095
1107
  const location = reactRouterDom.useLocation();
1096
1108
  const _useIntl = reactIntl.useIntl(),
1097
1109
  formatMessage = _useIntl.formatMessage;
1098
- const projectPermissions = react$1.useMemo(() => ({
1099
- permissions: applicationShellConnectors.normalizeAllAppliedPermissions(props.project?.allPermissionsForAllApplications.allAppliedPermissions),
1100
- actionRights: applicationShellConnectors.normalizeAllAppliedActionRights(props.project?.allPermissionsForAllApplications.allAppliedActionRights),
1101
- dataFences: applicationShellConnectors.normalizeAllAppliedDataFences(props.project?.allPermissionsForAllApplications.allAppliedDataFences)
1102
- }), [props.project]);
1110
+ const projectPermissions = react$1.useMemo(() => {
1111
+ var _props$project, _props$project2, _props$project3;
1112
+ return {
1113
+ permissions: applicationShellConnectors.normalizeAllAppliedPermissions((_props$project = props.project) === null || _props$project === void 0 ? void 0 : _props$project.allPermissionsForAllApplications.allAppliedPermissions),
1114
+ actionRights: applicationShellConnectors.normalizeAllAppliedActionRights((_props$project2 = props.project) === null || _props$project2 === void 0 ? void 0 : _props$project2.allPermissionsForAllApplications.allAppliedActionRights),
1115
+ dataFences: applicationShellConnectors.normalizeAllAppliedDataFences((_props$project3 = props.project) === null || _props$project3 === void 0 ? void 0 : _props$project3.allPermissionsForAllApplications.allAppliedDataFences)
1116
+ };
1117
+ }, [props.project]);
1103
1118
  const applicationLocale = props.applicationLocale;
1104
1119
 
1105
1120
  // Render the loading navbar as long as all the data
@@ -1130,11 +1145,12 @@ const NavBar = props => {
1130
1145
  children: jsxRuntime.jsx(Spacings__default["default"].Stack, {
1131
1146
  scale: "l",
1132
1147
  children: _mapInstanceProperty__default["default"](allApplicationsNavbarMenuGroups).call(allApplicationsNavbarMenuGroups, navbarMenuGroup => {
1133
- var _context2;
1148
+ var _context8;
1134
1149
  return jsxRuntime.jsx("div", {
1135
- children: _mapInstanceProperty__default["default"](_context2 = navbarMenuGroup.items).call(_context2, menu => {
1150
+ children: _mapInstanceProperty__default["default"](_context8 = navbarMenuGroup.items).call(_context8, menu => {
1151
+ var _context9;
1136
1152
  const menuType = 'scrollable';
1137
- const itemIndex = `${menuType}-${menu.key}`;
1153
+ const itemIndex = _concatInstanceProperty__default["default"](_context9 = "".concat(menuType, "-")).call(_context9, menu.key);
1138
1154
  return jsxRuntime.jsx(ApplicationMenu, {
1139
1155
  location: location,
1140
1156
  menu: menu,