@commercetools-frontend/application-shell 24.11.0 → 24.13.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.
Files changed (79) 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/commercetools-frontend-application-shell.cjs.dev.js +12 -11
  5. package/dist/commercetools-frontend-application-shell.cjs.prod.js +12 -11
  6. package/dist/commercetools-frontend-application-shell.esm.js +12 -11
  7. package/dist/{custom-view-dev-host-6091b78a.esm.js → custom-view-dev-host-b4f856d8.esm.js} +20 -16
  8. package/dist/{custom-view-dev-host-3a171a01.cjs.prod.js → custom-view-dev-host-bf11de47.cjs.prod.js} +21 -16
  9. package/dist/{custom-view-dev-host-40b33836.cjs.dev.js → custom-view-dev-host-f688743e.cjs.dev.js} +21 -16
  10. package/dist/declarations/src/types/generated/mc.d.ts +9 -8
  11. package/dist/declarations-connectors/src/components/application-context/index.d.ts +2 -3
  12. package/dist/declarations-connectors/src/components/application-context/normalizers.d.ts +1 -5
  13. package/dist/declarations-connectors/src/export-types.d.ts +1 -2
  14. package/dist/declarations-connectors/src/index.d.ts +1 -1
  15. package/dist/declarations-connectors/src/types/generated/mc.d.ts +9 -8
  16. package/dist/{index-7bdde97c.cjs.prod.js → index-242af4d2.cjs.prod.js} +201 -344
  17. package/dist/{index-614accc4.cjs.dev.js → index-25183095.cjs.dev.js} +2 -2
  18. package/dist/{index-245e2980.cjs.prod.js → index-52c724ed.cjs.prod.js} +2 -2
  19. package/dist/{index-86039df7.esm.js → index-5aaa33bb.esm.js} +2 -2
  20. package/dist/{index-67a5d8e8.esm.js → index-d8c26ca0.esm.js} +214 -363
  21. package/dist/{index-a57c8458.cjs.dev.js → index-dcd3d8a3.cjs.dev.js} +213 -364
  22. package/dist/{navbar-844d350d.esm.js → navbar-0bad8bc8.esm.js} +106 -110
  23. package/dist/{navbar-acc2cd1b.cjs.prod.js → navbar-7653417f.cjs.prod.js} +108 -112
  24. package/dist/{navbar-022383bd.cjs.dev.js → navbar-d4189469.cjs.dev.js} +108 -112
  25. package/dist/oidc-258fc018.cjs.prod.js +115 -0
  26. package/dist/oidc-35e8e62a.esm.js +100 -0
  27. package/dist/oidc-87d116c1.cjs.dev.js +115 -0
  28. package/dist/{oidc-callback-e07f0c20.cjs.dev.js → oidc-callback-11dae6b7.cjs.dev.js} +16 -14
  29. package/dist/{oidc-callback-ce8cbdfe.cjs.prod.js → oidc-callback-300966ee.cjs.prod.js} +16 -14
  30. package/dist/{oidc-callback-5f3d5280.esm.js → oidc-callback-82aa6be5.esm.js} +16 -14
  31. package/dist/{project-container-2d3d027a.cjs.prod.js → project-container-2f98a9d6.cjs.prod.js} +53 -19
  32. package/dist/{project-container-a11a31ca.cjs.dev.js → project-container-991a64a8.cjs.dev.js} +53 -19
  33. package/dist/{project-container-fba09841.esm.js → project-container-ce0f6228.esm.js} +52 -19
  34. package/dist/{project-expired-ede4d485.esm.js → project-expired-49e78c8c.esm.js} +12 -11
  35. package/dist/{project-expired-f38a712a.cjs.prod.js → project-expired-f753ba58.cjs.prod.js} +12 -11
  36. package/dist/{project-expired-9620dee4.cjs.dev.js → project-expired-fa4a86df.cjs.dev.js} +12 -11
  37. package/dist/{project-not-found-05683f8e.cjs.dev.js → project-not-found-261f37e8.cjs.dev.js} +11 -10
  38. package/dist/{project-not-found-093ab795.esm.js → project-not-found-ac82676b.esm.js} +11 -10
  39. package/dist/{project-not-found-cfa934da.cjs.prod.js → project-not-found-d594db71.cjs.prod.js} +11 -10
  40. package/dist/{project-not-initialized-1d934ae7.esm.js → project-not-initialized-4c02d4b2.esm.js} +12 -11
  41. package/dist/{project-not-initialized-b5a1400f.cjs.prod.js → project-not-initialized-5a77d844.cjs.prod.js} +12 -11
  42. package/dist/{project-not-initialized-1ed56a00.cjs.dev.js → project-not-initialized-c3a87ba6.cjs.dev.js} +12 -11
  43. package/dist/{project-suspended-68e80299.cjs.dev.js → project-suspended-42a90ea6.cjs.dev.js} +11 -10
  44. package/dist/{project-suspended-e0722654.esm.js → project-suspended-cd66814e.esm.js} +11 -10
  45. package/dist/{project-suspended-8e15a452.cjs.prod.js → project-suspended-dccadfd7.cjs.prod.js} +11 -10
  46. package/dist/{redirect-to-login-12f467b8.cjs.prod.js → redirect-to-login-3e4a6434.cjs.prod.js} +13 -10
  47. package/dist/{redirect-to-login-3bee13ba.cjs.dev.js → redirect-to-login-66ea895a.cjs.dev.js} +13 -10
  48. package/dist/{redirect-to-login-2944c890.esm.js → redirect-to-login-edbfacbc.esm.js} +13 -10
  49. package/dist/{redirect-to-logout-2802852c.cjs.prod.js → redirect-to-logout-99db4db7.cjs.prod.js} +14 -12
  50. package/dist/{redirect-to-logout-74b72fe8.cjs.dev.js → redirect-to-logout-ab0c374b.cjs.dev.js} +14 -12
  51. package/dist/{redirect-to-logout-5db48f16.esm.js → redirect-to-logout-ba40d106.esm.js} +14 -12
  52. package/dist/{redirector-72ccfbc2.cjs.dev.js → redirector-0efdd994.cjs.dev.js} +4 -3
  53. package/dist/{redirector-d856975f.esm.js → redirector-656c6ee7.esm.js} +4 -3
  54. package/dist/{redirector-0c72d0a4.cjs.prod.js → redirector-c858d578.cjs.prod.js} +4 -3
  55. package/dist/{requests-in-flight-loader-e25f4c31.esm.js → requests-in-flight-loader-64a40481.esm.js} +11 -10
  56. package/dist/{requests-in-flight-loader-bc904171.cjs.dev.js → requests-in-flight-loader-878840c1.cjs.dev.js} +11 -10
  57. package/dist/{requests-in-flight-loader-877c1541.cjs.prod.js → requests-in-flight-loader-df9d1de3.cjs.prod.js} +11 -10
  58. package/dist/{service-page-project-switcher-af044ac6.cjs.dev.js → service-page-project-switcher-0f1c1d7f.cjs.dev.js} +1 -1
  59. package/dist/{service-page-project-switcher-1dad9871.cjs.prod.js → service-page-project-switcher-532df57f.cjs.prod.js} +1 -1
  60. package/dist/{service-page-project-switcher-f3eac18a.esm.js → service-page-project-switcher-aca41b09.esm.js} +1 -1
  61. package/dist/{use-applications-menu-14a5a1f4.cjs.prod.js → use-applications-menu-21c7420b.cjs.prod.js} +48 -40
  62. package/dist/{use-applications-menu-823a2492.cjs.dev.js → use-applications-menu-7a85c3ee.cjs.dev.js} +48 -40
  63. package/dist/{use-applications-menu-1514af11.esm.js → use-applications-menu-8ff2d130.esm.js} +45 -38
  64. package/dist/{user-settings-menu-d75f4958.cjs.prod.js → user-settings-menu-2d3bfa75.cjs.prod.js} +29 -22
  65. package/dist/{user-settings-menu-f98bea89.esm.js → user-settings-menu-31e6bb38.esm.js} +29 -22
  66. package/dist/{user-settings-menu-6113cdd3.cjs.dev.js → user-settings-menu-c37b343f.cjs.dev.js} +29 -22
  67. package/package.json +16 -16
  68. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -1
  69. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -1
  70. package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -1
  71. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +26 -22
  72. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +26 -22
  73. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +20 -17
  74. package/dist/oidc-8827f9fe.cjs.dev.js +0 -98
  75. package/dist/oidc-b2520905.esm.js +0 -84
  76. package/dist/oidc-d74e6aa2.cjs.prod.js +0 -98
  77. package/dist/quick-access-9dd197bb.cjs.prod.js +0 -1875
  78. package/dist/quick-access-a665bbb7.cjs.dev.js +0 -1893
  79. package/dist/quick-access-dfc1f8a9.esm.js +0 -1865
@@ -4,12 +4,13 @@ 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 _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
8
- var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
7
+ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
9
8
  var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
10
9
  var _Number$isFinite = require('@babel/runtime-corejs3/core-js-stable/number/is-finite');
10
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
11
11
  var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
12
12
  var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
13
+ var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
13
14
  var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
14
15
  var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
15
16
  var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
@@ -24,14 +25,14 @@ 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-d74e6aa2.cjs.prod.js');
33
+ var oidc = require('./oidc-258fc018.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
- var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
35
36
  var reactBroadcast = require('@flopflip/react-broadcast');
36
37
  var classnames = require('classnames');
37
38
  var MissingImageSvg = require('@commercetools-frontend/assets/images/diagonal-line.svg');
@@ -43,7 +44,7 @@ var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/insta
43
44
  var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
44
45
  var isNil = require('lodash/isNil');
45
46
  var throttle = require('lodash/throttle');
46
- var useApplicationsMenu = require('./use-applications-menu-14a5a1f4.cjs.prod.js');
47
+ var useApplicationsMenu = require('./use-applications-menu-21c7420b.cjs.prod.js');
47
48
  require('@apollo/client');
48
49
  require('@commercetools-frontend/l10n');
49
50
 
@@ -51,12 +52,13 @@ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e };
51
52
 
52
53
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
53
54
  var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
54
- var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
55
- var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
55
+ var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
56
56
  var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
57
57
  var _Number$isFinite__default = /*#__PURE__*/_interopDefault(_Number$isFinite);
58
+ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
58
59
  var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
59
60
  var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
61
+ var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
60
62
  var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
61
63
  var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
62
64
  var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
@@ -67,7 +69,6 @@ var LogoSVG__default = /*#__PURE__*/_interopDefault(LogoSVG);
67
69
  var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
68
70
  var _styled__default = /*#__PURE__*/_interopDefault(_styled);
69
71
  var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
70
- var _everyInstanceProperty__default = /*#__PURE__*/_interopDefault(_everyInstanceProperty);
71
72
  var classnames__default = /*#__PURE__*/_interopDefault(classnames);
72
73
  var MissingImageSvg__default = /*#__PURE__*/_interopDefault(MissingImageSvg);
73
74
  var InlineSvg__default = /*#__PURE__*/_interopDefault(InlineSvg);
@@ -95,6 +96,7 @@ const Title = /*#__PURE__*/_styled__default["default"]("div", {
95
96
  target: "e1wv1pdj0"
96
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;" + ("" ));
97
98
 
99
+ var _templateObject$1;
98
100
  const getSubmenuPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, submenuVerticalPosition) => /*#__PURE__*/react.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":", submenuVerticalPosition, "px;" + ("" ), "" );
99
101
  var _ref4 = {
100
102
  name: "abcix4",
@@ -105,10 +107,7 @@ var _ref5 = {
105
107
  styles: "bottom:0"
106
108
  } ;
107
109
  const getContainerPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed) => [isSublistActiveWhileIsMenuCollapsed && /*#__PURE__*/react.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", oidc.NAVBAR.itemSize, ";" + ("" ), "" ), isSublistActiveWhileIsMenuExpanded && isSubmenuAboveMenuItem && _ref5, isSublistActiveWhileIsMenuExpanded && !isSubmenuAboveMenuItem && _ref4];
108
- const fadeIn = react.keyframes`
109
- from {opacity: 0;}
110
- to { opacity: 1;}
111
- `;
110
+ const fadeIn = react.keyframes(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\nfrom {opacity: 0;}\n to { opacity: 1;}\n"])));
112
111
  var _ref3 = {
113
112
  name: "eivff4",
114
113
  styles: "display:none"
@@ -159,14 +158,8 @@ const SafeArea = /*#__PURE__*/_styled__default["default"]("span", {
159
158
  target: "e1i568cv0"
160
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);" + ("" ));
161
160
 
162
- const visible = react.keyframes`
163
- from {
164
- opacity: 0;
165
- }
166
- to {
167
- opacity: 1;
168
- }
169
- `;
161
+ var _templateObject;
162
+ const visible = react.keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"])));
170
163
  const FixedMenu = /*#__PURE__*/_styled__default["default"]("div", {
171
164
  target: "e1meml8k10"
172
165
  } )("position:relative;width:", oidc.NAVBAR.widthLeftNavigation, ";", MenuListItem, " ", ItemIconText, "{justify-content:center;display:flex;width:100%;}" + ("" ));
@@ -333,8 +326,8 @@ const MenuGroup = /*#__PURE__*/react$1.forwardRef((props, ref) => {
333
326
  return jsxRuntime.jsx(MenuList, {
334
327
  ref: ref && props.level === 2 ? ref : null,
335
328
  level: props.level,
336
- id: `group-${props.id}`,
337
- "data-testid": `group-${props.id}`,
329
+ id: "group-".concat(props.id),
330
+ "data-testid": "group-".concat(props.id),
338
331
  role: "menu",
339
332
  onKeyDown: props.handleKeyDown,
340
333
  className: classnames__default["default"]({
@@ -432,18 +425,14 @@ const MenuItemLink = _ref3 => {
432
425
  });
433
426
  };
434
427
  MenuItemLink.displayName = 'MenuItemLink';
435
- const isEveryMenuVisibilitySetToHidden = (menuVisibilities, namesOfMenuVisibilities) => _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, nameOfMenuVisibility => menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true);
436
428
  function isLongLivedFlag(flag) {
437
- return typeof flag?.value === 'boolean';
429
+ return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
438
430
  }
439
431
  const RestrictedMenuItem = _ref4 => {
440
432
  let _ref4$permissions = _ref4.permissions,
441
433
  permissions$1 = _ref4$permissions === void 0 ? [] : _ref4$permissions,
442
434
  props = _objectWithoutProperties(_ref4, _excluded3);
443
- // NOTE: Custom application are activated/deactivated while their
444
- // visibility is not controlled via a visibiility overwrite.
445
435
  const flagVariation = reactBroadcast.useFlagVariation(props.featureToggle);
446
- if (isEveryMenuVisibilitySetToHidden(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
447
436
  const permissionsWrapper = _Array$isArray__default["default"](permissions$1) && permissions$1.length > 0 || _Array$isArray__default["default"](props.dataFences) && props.dataFences.length > 0 ? jsxRuntime.jsx(permissions.RestrictedByPermissions, {
448
437
  permissions: permissions$1,
449
438
  actionRights: props.actionRights,
@@ -656,13 +645,15 @@ const reducer = (state, action) => {
656
645
  return state;
657
646
  }
658
647
  };
659
- const isFocusOutEventCalledBySubmenuItem = event =>
660
- // a case when a submenu item loses focus
661
- event.type === 'focusout' &&
662
- // element receiving focus
663
- event.relatedTarget?.matches('a[data-link-level="text-link"]') &&
664
- // element losing focus
665
- 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
+ };
666
657
  const useNavbarStateManager = props => {
667
658
  var _context, _context2, _context4, _context5;
668
659
  const navBarNode = react$1.useRef(null);
@@ -692,7 +683,6 @@ const useNavbarStateManager = props => {
692
683
  permissions: application.mainMenuLink.permissions,
693
684
  defaultLabel: application.mainMenuLink.defaultLabel,
694
685
  featureToggle: undefined,
695
- menuVisibility: undefined,
696
686
  actionRights: undefined,
697
687
  dataFences: undefined,
698
688
  submenu: _mapInstanceProperty__default["default"](_context3 = application.submenuLinks || []).call(_context3, submenuLink => ({
@@ -702,7 +692,6 @@ const useNavbarStateManager = props => {
702
692
  permissions: submenuLink.permissions,
703
693
  defaultLabel: submenuLink.defaultLabel,
704
694
  featureToggle: undefined,
705
- menuVisibility: undefined,
706
695
  actionRights: undefined,
707
696
  dataFences: undefined
708
697
  }))
@@ -758,7 +747,8 @@ const useNavbarStateManager = props => {
758
747
  }
759
748
  }, 100), [isForcedMenuOpen, state.isExpanderVisible, state.isMenuOpen]);
760
749
  const shouldCloseMenuFly = react$1.useCallback(event => {
761
- 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) {
762
752
  dispatch({
763
753
  type: 'unsetActiveItemIndex'
764
754
  });
@@ -823,7 +813,7 @@ const useNavbarStateManager = props => {
823
813
  const allApplicationsNavbarMenuGroups = _sortInstanceProperty__default["default"](_context4 = _mapInstanceProperty__default["default"](_context5 = applicationsNavBarMenuGroups || []).call(_context5, navbarMenuGroup => navbarMenuGroup.key === '2' && allCustomApplicationsNavbarMenu.length > 0 ? {
824
814
  key: navbarMenuGroup.key,
825
815
  items: [...navbarMenuGroup.items, ...allCustomApplicationsNavbarMenu]
826
- } : 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));
827
817
  return _objectSpread$1(_objectSpread$1({}, state), {}, {
828
818
  navBarNode,
829
819
  handleToggleItem,
@@ -835,7 +825,7 @@ const useNavbarStateManager = props => {
835
825
  };
836
826
 
837
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; }
838
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context5 = ownKeys(Object(t), !0)).call(_context5, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context6 = ownKeys(Object(t))).call(_context6, 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; }
839
829
  // Helper function to extract accessible label from menu objects
840
830
  const getMenuAccessibleLabel = (labelAllLocales, defaultLabel, applicationLocale) => {
841
831
  const localizedLabel = _findInstanceProperty__default["default"](labelAllLocales).call(labelAllLocales, loc => _startsWithInstanceProperty__default["default"](applicationLocale).call(applicationLocale, loc.locale));
@@ -843,18 +833,16 @@ const getMenuAccessibleLabel = (labelAllLocales, defaultLabel, applicationLocale
843
833
  if (defaultLabel) return defaultLabel;
844
834
  return constants.NO_VALUE_FALLBACK;
845
835
  };
846
- const getMenuVisibilitiesOfSubmenus = menu => {
847
- var _context, _context2;
848
- return _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = menu.submenu).call(_context2, submenu => submenu.menuVisibility)).call(_context, nonNullable);
836
+ const getIsSubmenuRouteActive = (uriPath, props) => {
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
+ }));
849
843
  };
850
- const getMenuVisibilityOfMainmenu = menu => menu.menuVisibility ? [menu.menuVisibility] : [];
851
- const getIsSubmenuRouteActive = (uriPath, props) => Boolean(reactRouterDom.matchPath(props.location.pathname, {
852
- path: `/${props.projectKey}/${uriPath}`,
853
- exact: true,
854
- strict: false
855
- }));
856
844
  const ApplicationMenu = props => {
857
- var _context3;
845
+ var _context3, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context4, _context5;
858
846
  const _useState = react$1.useState(0),
859
847
  _useState2 = _slicedToArray(_useState, 2),
860
848
  submenuVerticalPosition = _useState2[0],
@@ -881,12 +869,13 @@ const ApplicationMenu = props => {
881
869
  const hasSubmenu = _Array$isArray__default["default"](props.menu.submenu) && props.menu.submenu.length > 0;
882
870
  const menuItemIdentifier = snakeCase__default["default"](props.menu.key);
883
871
  const calculateSafeAreaStartPositon = react$1.useCallback(e => {
884
- const currentSafeAreaRect = submenuSafeAreaRef.current?.getBoundingClientRect();
885
- const menuItemRect = document.querySelector(`[data-menuitem="${menuItemIdentifier}"]`)?.getBoundingClientRect();
886
- const currentSafeAreaLeft = currentSafeAreaRect?.left || 0;
887
- const currentSafeAreaTop = currentSafeAreaRect?.top || 0;
888
- const currentSafeAreaWidth = currentSafeAreaRect?.width || 0;
889
- 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;
890
879
  const localX = e.clientX - currentSafeAreaLeft;
891
880
  const localY = e.clientY - currentSafeAreaTop;
892
881
  let minXPercent = 0;
@@ -932,15 +921,17 @@ const ApplicationMenu = props => {
932
921
  };
933
922
  }, [calculateSafeAreaStartPositon]);
934
923
  react$1.useLayoutEffect(() => {
924
+ var _context2;
935
925
  if (!submenuRef.current) return;
936
926
  const safeX = _Number$isFinite__default["default"](percentageX) ? percentageX : 0;
937
927
  const safeY = _Number$isFinite__default["default"](percentageY) ? percentageY : 100;
938
- submenuRef.current.style.setProperty('--safe-start', `${safeX}% ${safeY}%`);
928
+ submenuRef.current.style.setProperty('--safe-start', _concatInstanceProperty__default["default"](_context2 = "".concat(safeX, "% ")).call(_context2, safeY, "%"));
939
929
  }, [percentageX, percentageY]);
940
930
  const callbackFn = react$1.useCallback(entries => {
941
- const menuItemBoundingClientRect = document.querySelector(`[data-menuitem="${menuItemIdentifier}"]`)?.getBoundingClientRect();
942
- const menuItemTop = menuItemBoundingClientRect?.top || 0;
943
- 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;
944
935
  const _entries = _slicedToArray(entries, 1),
945
936
  entry = _entries[0];
946
937
 
@@ -966,7 +957,10 @@ const ApplicationMenu = props => {
966
957
  observerRef.current = new IntersectionObserver(callbackFn, {
967
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
968
959
  });
969
- 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
+ };
970
964
  }, [callbackFn, props.isMenuOpen]);
971
965
  react$1.useLayoutEffect(() => {
972
966
  const currentSubmenuRef = submenuRef.current;
@@ -976,10 +970,10 @@ const ApplicationMenu = props => {
976
970
  observer.observe(currentSubmenuRef);
977
971
  }
978
972
  setIsSubmenuFocused(false);
979
- return () => observer?.disconnect();
973
+ return () => observer === null || observer === void 0 ? void 0 : observer.disconnect();
980
974
  }, [menuItemIdentifier, props.isMenuOpen, props.handleToggleItem, callbackFn]);
981
975
  const isMainMenuRouteActive = Boolean(reactRouterDom.matchPath(props.location.pathname, {
982
- path: `/${props.projectKey}/${props.menu.uriPath}`,
976
+ path: _concatInstanceProperty__default["default"](_context3 = "/".concat(props.projectKey, "/")).call(_context3, props.menu.uriPath),
983
977
  exact: false,
984
978
  strict: false
985
979
  }));
@@ -992,25 +986,24 @@ const ApplicationMenu = props => {
992
986
  // eslint-disable-next-line react-hooks/exhaustive-deps
993
987
  }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
994
988
 
995
- const namesOfMenuVisibilitiesOfAllSubmenus = hasSubmenu ? getMenuVisibilitiesOfSubmenus(props.menu) : getMenuVisibilityOfMainmenu(props.menu);
996
989
  const handleKeyDown = e => {
997
- 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');
998
992
  if (e.key === 'Enter') {
999
993
  setIsSubmenuFocused(true);
1000
994
  if (!currentlyFocusedItem) {
1001
- 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();
1002
997
  }
1003
998
  }
1004
999
  };
1005
1000
  return jsxRuntime.jsx(RestrictedMenuItem, {
1006
1001
  keyOfMenuItem: props.menu.key,
1007
- featureToggle: props.menu.featureToggle ?? undefined,
1002
+ featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
1008
1003
  permissions: props.menu.permissions,
1009
- actionRights: props.menu.actionRights ?? undefined,
1010
- 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,
1011
1006
  projectPermissions: props.projectPermissions,
1012
- menuVisibilities: props.menuVisibilities,
1013
- namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
1014
1007
  children: jsxRuntime.jsxs(MenuItem$1, {
1015
1008
  hasSubmenu: hasSubmenu,
1016
1009
  isActive: props.isActive,
@@ -1024,7 +1017,7 @@ const ApplicationMenu = props => {
1024
1017
  identifier: menuItemIdentifier,
1025
1018
  ariaLabel: getMenuAccessibleLabel(props.menu.labelAllLocales, props.menu.defaultLabel, props.applicationLocale),
1026
1019
  children: [jsxRuntime.jsx(MenuItemLink, {
1027
- linkTo: `/${props.projectKey}/${props.menu.uriPath}`,
1020
+ linkTo: _concatInstanceProperty__default["default"](_context4 = "/".concat(props.projectKey, "/")).call(_context4, props.menu.uriPath),
1028
1021
  useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1029
1022
  onClick: props.onMenuItemClick,
1030
1023
  ariaLabel: getMenuAccessibleLabel(props.menu.labelAllLocales, props.menu.defaultLabel, props.applicationLocale),
@@ -1036,7 +1029,7 @@ const ApplicationMenu = props => {
1036
1029
  isMenuOpen: props.isMenuOpen
1037
1030
  })
1038
1031
  }), jsxRuntime.jsxs(MenuGroup, {
1039
- id: `group-${props.menu.key}`,
1032
+ id: "group-".concat(props.menu.key),
1040
1033
  level: 2,
1041
1034
  isActive: props.isActive,
1042
1035
  isExpanded: props.isMenuOpen,
@@ -1047,7 +1040,7 @@ const ApplicationMenu = props => {
1047
1040
  children: [!props.isMenuOpen && jsxRuntime.jsx(TooltipContainer, {
1048
1041
  alignsAgainstBottom: isSubmenuAboveMenuItem,
1049
1042
  children: jsxRuntime.jsx(Tooltip, {
1050
- "aria-owns": `group-${props.menu.key}`,
1043
+ "aria-owns": "group-".concat(props.menu.key),
1051
1044
  role: "tooltip",
1052
1045
  children: jsxRuntime.jsx(MenuLabel, {
1053
1046
  labelAllLocales: props.menu.labelAllLocales,
@@ -1055,38 +1048,39 @@ const ApplicationMenu = props => {
1055
1048
  applicationLocale: props.applicationLocale
1056
1049
  })
1057
1050
  })
1058
- }), hasSubmenu ? _mapInstanceProperty__default["default"](_context3 = props.menu.submenu).call(_context3, submenu => jsxRuntime.jsx(RestrictedMenuItem, {
1059
- keyOfMenuItem: submenu.key,
1060
- featureToggle: submenu.featureToggle ?? undefined,
1061
- permissions: submenu.permissions,
1062
- actionRights: submenu.actionRights ?? undefined,
1063
- dataFences: submenu.dataFences ?? undefined,
1064
- projectPermissions: props.projectPermissions,
1065
- menuVisibilities: props.menuVisibilities,
1066
- namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
1067
- children: jsxRuntime.jsx(SublistItem, {
1068
- isActive: getIsSubmenuRouteActive(submenu.uriPath, props),
1069
- children: jsxRuntime.jsx(Text, {
1070
- children: jsxRuntime.jsx(MenuItemLink, {
1071
- linkTo: `/${props.projectKey}/${submenu.uriPath}`
1072
- // We want to use an exact matching strategy to avoid multiple
1073
- // links matching sub-routes.
1074
- ,
1075
- exactMatch: true,
1076
- useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1077
- onClick: props.onMenuItemClick,
1078
- isSubmenuLink: true,
1079
- isSubmenuFocused: isSubmenuFocused,
1080
- ariaLabel: getMenuAccessibleLabel(submenu.labelAllLocales, submenu.defaultLabel, props.applicationLocale),
1081
- children: jsxRuntime.jsx(MenuLabel, {
1082
- labelAllLocales: submenu.labelAllLocales,
1083
- defaultLabel: submenu.defaultLabel,
1084
- 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
+ })
1085
1079
  })
1086
1080
  })
1087
1081
  })
1088
- })
1089
- }, `${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, {
1090
1084
  ref: submenuSafeAreaRef
1091
1085
  })]
1092
1086
  })]
@@ -1113,12 +1107,14 @@ const NavBar = props => {
1113
1107
  const location = reactRouterDom.useLocation();
1114
1108
  const _useIntl = reactIntl.useIntl(),
1115
1109
  formatMessage = _useIntl.formatMessage;
1116
- const projectPermissions = react$1.useMemo(() => ({
1117
- permissions: applicationShellConnectors.normalizeAllAppliedPermissions(props.project?.allPermissionsForAllApplications.allAppliedPermissions),
1118
- actionRights: applicationShellConnectors.normalizeAllAppliedActionRights(props.project?.allPermissionsForAllApplications.allAppliedActionRights),
1119
- dataFences: applicationShellConnectors.normalizeAllAppliedDataFences(props.project?.allPermissionsForAllApplications.allAppliedDataFences)
1120
- }), [props.project]);
1121
- const menuVisibilities = react$1.useMemo(() => applicationShellConnectors.normalizeAllAppliedMenuVisibilities(props.project?.allPermissionsForAllApplications.allAppliedMenuVisibilities), [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]);
1122
1118
  const applicationLocale = props.applicationLocale;
1123
1119
 
1124
1120
  // Render the loading navbar as long as all the data
@@ -1149,11 +1145,12 @@ const NavBar = props => {
1149
1145
  children: jsxRuntime.jsx(Spacings__default["default"].Stack, {
1150
1146
  scale: "l",
1151
1147
  children: _mapInstanceProperty__default["default"](allApplicationsNavbarMenuGroups).call(allApplicationsNavbarMenuGroups, navbarMenuGroup => {
1152
- var _context4;
1148
+ var _context8;
1153
1149
  return jsxRuntime.jsx("div", {
1154
- children: _mapInstanceProperty__default["default"](_context4 = navbarMenuGroup.items).call(_context4, menu => {
1150
+ children: _mapInstanceProperty__default["default"](_context8 = navbarMenuGroup.items).call(_context8, menu => {
1151
+ var _context9;
1155
1152
  const menuType = 'scrollable';
1156
- const itemIndex = `${menuType}-${menu.key}`;
1153
+ const itemIndex = _concatInstanceProperty__default["default"](_context9 = "".concat(menuType, "-")).call(_context9, menu.key);
1157
1154
  return jsxRuntime.jsx(ApplicationMenu, {
1158
1155
  location: location,
1159
1156
  menu: menu,
@@ -1162,7 +1159,6 @@ const NavBar = props => {
1162
1159
  isMenuOpen: isMenuOpen,
1163
1160
  shouldCloseMenuFly: shouldCloseMenuFly,
1164
1161
  projectPermissions: projectPermissions,
1165
- menuVisibilities: menuVisibilities,
1166
1162
  applicationLocale: applicationLocale,
1167
1163
  projectKey: props.projectKey,
1168
1164
  useFullRedirectsForLinks: useFullRedirectsForLinks,