@commercetools-frontend/application-shell 25.0.0 → 25.1.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 (70) hide show
  1. package/dist/{application-entry-point-1b23fb6b.esm.js → application-entry-point-10a5e1a5.esm.js} +4 -6
  2. package/dist/{application-entry-point-74a06151.cjs.prod.js → application-entry-point-8c4b8e53.cjs.prod.js} +3 -4
  3. package/dist/{application-entry-point-18d8fba0.cjs.dev.js → application-entry-point-c87294b0.cjs.dev.js} +4 -7
  4. package/dist/commercetools-frontend-application-shell.cjs.dev.js +4 -5
  5. package/dist/commercetools-frontend-application-shell.cjs.prod.js +4 -5
  6. package/dist/commercetools-frontend-application-shell.esm.js +4 -5
  7. package/dist/{custom-view-dev-host-dc7f2835.cjs.dev.js → custom-view-dev-host-5350eda4.cjs.dev.js} +10 -15
  8. package/dist/{custom-view-dev-host-d72f9ae0.cjs.prod.js → custom-view-dev-host-9d70ed5a.cjs.prod.js} +10 -15
  9. package/dist/{custom-view-dev-host-98432fc5.esm.js → custom-view-dev-host-d5c02c31.esm.js} +10 -14
  10. package/dist/{index-52c724ed.cjs.prod.js → index-245e2980.cjs.prod.js} +2 -2
  11. package/dist/{index-208c3cdd.cjs.dev.js → index-2b8a5370.cjs.dev.js} +108 -132
  12. package/dist/{index-af2cc053.cjs.prod.js → index-3ce8bcb0.cjs.prod.js} +108 -132
  13. package/dist/{index-25183095.cjs.dev.js → index-614accc4.cjs.dev.js} +2 -2
  14. package/dist/{index-5aaa33bb.esm.js → index-86039df7.esm.js} +2 -2
  15. package/dist/{index-75206fba.esm.js → index-c8c7dc44.esm.js} +108 -131
  16. package/dist/{navbar-0bad8bc8.esm.js → navbar-9a40ead9.esm.js} +89 -104
  17. package/dist/{navbar-d4189469.cjs.dev.js → navbar-c51e0607.cjs.dev.js} +89 -105
  18. package/dist/{navbar-7653417f.cjs.prod.js → navbar-e287ce25.cjs.prod.js} +89 -105
  19. package/dist/oidc-8827f9fe.cjs.dev.js +98 -0
  20. package/dist/oidc-b2520905.esm.js +84 -0
  21. package/dist/{oidc-callback-f2f37906.cjs.dev.js → oidc-callback-10369351.cjs.dev.js} +8 -10
  22. package/dist/{oidc-callback-b6584fe8.esm.js → oidc-callback-43725da4.esm.js} +8 -10
  23. package/dist/{oidc-callback-3f9e25bc.cjs.prod.js → oidc-callback-d0f0ab00.cjs.prod.js} +8 -10
  24. package/dist/oidc-d74e6aa2.cjs.prod.js +98 -0
  25. package/dist/{project-container-27db6a7e.cjs.dev.js → project-container-1ee088eb.cjs.dev.js} +11 -14
  26. package/dist/{project-container-0c9ee557.cjs.prod.js → project-container-64823e34.cjs.prod.js} +11 -14
  27. package/dist/{project-container-8f8e017f.esm.js → project-container-da53bf6d.esm.js} +11 -14
  28. package/dist/{project-expired-da5d431c.cjs.prod.js → project-expired-b3656692.cjs.prod.js} +5 -6
  29. package/dist/{project-expired-bfa29d75.esm.js → project-expired-c5239755.esm.js} +5 -6
  30. package/dist/{project-expired-b35819a4.cjs.dev.js → project-expired-cd366d1f.cjs.dev.js} +5 -6
  31. package/dist/{project-not-found-695fadf6.cjs.prod.js → project-not-found-278f33b4.cjs.prod.js} +4 -5
  32. package/dist/{project-not-found-5fc657c1.esm.js → project-not-found-329638a6.esm.js} +4 -5
  33. package/dist/{project-not-found-fdb50d15.cjs.dev.js → project-not-found-e7381918.cjs.dev.js} +4 -5
  34. package/dist/{project-not-initialized-a3b358cc.esm.js → project-not-initialized-80b21ac8.esm.js} +5 -6
  35. package/dist/{project-not-initialized-06d78b62.cjs.dev.js → project-not-initialized-9e5f45ed.cjs.dev.js} +5 -6
  36. package/dist/{project-not-initialized-1603b228.cjs.prod.js → project-not-initialized-df5f697e.cjs.prod.js} +5 -6
  37. package/dist/{project-suspended-d85025fe.esm.js → project-suspended-41550cb8.esm.js} +4 -5
  38. package/dist/{project-suspended-7e2257ac.cjs.dev.js → project-suspended-9eb2139a.cjs.dev.js} +4 -5
  39. package/dist/{project-suspended-324978bc.cjs.prod.js → project-suspended-defdb3bb.cjs.prod.js} +4 -5
  40. package/dist/{redirect-to-login-3e4a6434.cjs.prod.js → redirect-to-login-12f467b8.cjs.prod.js} +10 -13
  41. package/dist/{redirect-to-login-edbfacbc.esm.js → redirect-to-login-2944c890.esm.js} +10 -13
  42. package/dist/{redirect-to-login-66ea895a.cjs.dev.js → redirect-to-login-3bee13ba.cjs.dev.js} +10 -13
  43. package/dist/{redirect-to-logout-f96c0c4b.cjs.prod.js → redirect-to-logout-4c6e4cb5.cjs.prod.js} +6 -8
  44. package/dist/{redirect-to-logout-aea7e913.esm.js → redirect-to-logout-a6daf354.esm.js} +6 -8
  45. package/dist/{redirect-to-logout-ab5d2b07.cjs.dev.js → redirect-to-logout-bb92fd28.cjs.dev.js} +6 -8
  46. package/dist/{redirector-c858d578.cjs.prod.js → redirector-0c72d0a4.cjs.prod.js} +3 -4
  47. package/dist/{redirector-0efdd994.cjs.dev.js → redirector-72ccfbc2.cjs.dev.js} +3 -4
  48. package/dist/{redirector-656c6ee7.esm.js → redirector-d856975f.esm.js} +3 -4
  49. package/dist/{requests-in-flight-loader-5f216050.esm.js → requests-in-flight-loader-32ab77e4.esm.js} +4 -5
  50. package/dist/{requests-in-flight-loader-3ffee0c0.cjs.prod.js → requests-in-flight-loader-59388ad8.cjs.prod.js} +4 -5
  51. package/dist/{requests-in-flight-loader-08ef339c.cjs.dev.js → requests-in-flight-loader-98a1e540.cjs.dev.js} +4 -5
  52. package/dist/{service-page-project-switcher-b21619c0.cjs.prod.js → service-page-project-switcher-9405f62f.cjs.prod.js} +1 -1
  53. package/dist/{service-page-project-switcher-9c5c86df.cjs.dev.js → service-page-project-switcher-b9a7c9d6.cjs.dev.js} +1 -1
  54. package/dist/{service-page-project-switcher-99b35fc0.esm.js → service-page-project-switcher-bb959b99.esm.js} +1 -1
  55. package/dist/{use-applications-menu-21c7420b.cjs.prod.js → use-applications-menu-8984efa1.cjs.prod.js} +39 -47
  56. package/dist/{use-applications-menu-8ff2d130.esm.js → use-applications-menu-bc2b9a66.esm.js} +37 -44
  57. package/dist/{use-applications-menu-7a85c3ee.cjs.dev.js → use-applications-menu-bd718ac8.cjs.dev.js} +39 -47
  58. package/dist/{user-settings-menu-2d3bfa75.cjs.prod.js → user-settings-menu-013f0041.cjs.prod.js} +22 -29
  59. package/dist/{user-settings-menu-31e6bb38.esm.js → user-settings-menu-16e8d020.esm.js} +22 -29
  60. package/dist/{user-settings-menu-c37b343f.cjs.dev.js → user-settings-menu-dc598434.cjs.dev.js} +22 -29
  61. package/package.json +16 -16
  62. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +1 -2
  63. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +1 -2
  64. package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +1 -2
  65. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +22 -26
  66. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +22 -26
  67. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +17 -20
  68. package/dist/oidc-258fc018.cjs.prod.js +0 -115
  69. package/dist/oidc-35e8e62a.esm.js +0 -100
  70. package/dist/oidc-87d116c1.cjs.dev.js +0 -115
@@ -4,7 +4,6 @@ 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');
8
7
  var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
9
8
  var _Number$isFinite = require('@babel/runtime-corejs3/core-js-stable/number/is-finite');
10
9
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
@@ -25,12 +24,11 @@ var LogoSVG = require('@commercetools-frontend/assets/logos/commercetools_small-
25
24
  var constants = require('@commercetools-frontend/constants');
26
25
  var icons = require('@commercetools-uikit/icons');
27
26
  var Spacings = require('@commercetools-uikit/spacings');
28
- var _taggedTemplateLiteral = require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
29
27
  var _styled = require('@emotion/styled/base');
30
28
  var react = require('@emotion/react');
31
29
  var applicationComponents = require('@commercetools-frontend/application-components');
32
30
  var designSystem = require('@commercetools-uikit/design-system');
33
- var oidc = require('./oidc-258fc018.cjs.prod.js');
31
+ var oidc = require('./oidc-d74e6aa2.cjs.prod.js');
34
32
  var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
35
33
  var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
36
34
  var reactBroadcast = require('@flopflip/react-broadcast');
@@ -44,7 +42,7 @@ var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/insta
44
42
  var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
45
43
  var isNil = require('lodash/isNil');
46
44
  var throttle = require('lodash/throttle');
47
- var useApplicationsMenu = require('./use-applications-menu-21c7420b.cjs.prod.js');
45
+ var useApplicationsMenu = require('./use-applications-menu-8984efa1.cjs.prod.js');
48
46
  require('@apollo/client');
49
47
  require('@commercetools-frontend/l10n');
50
48
 
@@ -52,7 +50,6 @@ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e };
52
50
 
53
51
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
54
52
  var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
55
- var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
56
53
  var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
57
54
  var _Number$isFinite__default = /*#__PURE__*/_interopDefault(_Number$isFinite);
58
55
  var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
@@ -96,7 +93,6 @@ const Title = /*#__PURE__*/_styled__default["default"]("div", {
96
93
  target: "e1wv1pdj0"
97
94
  } )("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;" + ("" ));
98
95
 
99
- var _templateObject$1;
100
96
  const getSubmenuPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, submenuVerticalPosition) => /*#__PURE__*/react.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":", submenuVerticalPosition, "px;" + ("" ), "" );
101
97
  var _ref4 = {
102
98
  name: "abcix4",
@@ -107,7 +103,10 @@ var _ref5 = {
107
103
  styles: "bottom:0"
108
104
  } ;
109
105
  const getContainerPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed) => [isSublistActiveWhileIsMenuCollapsed && /*#__PURE__*/react.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", oidc.NAVBAR.itemSize, ";" + ("" ), "" ), isSublistActiveWhileIsMenuExpanded && isSubmenuAboveMenuItem && _ref5, isSublistActiveWhileIsMenuExpanded && !isSubmenuAboveMenuItem && _ref4];
110
- const fadeIn = react.keyframes(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\nfrom {opacity: 0;}\n to { opacity: 1;}\n"])));
106
+ const fadeIn = react.keyframes`
107
+ from {opacity: 0;}
108
+ to { opacity: 1;}
109
+ `;
111
110
  var _ref3 = {
112
111
  name: "eivff4",
113
112
  styles: "display:none"
@@ -158,8 +157,14 @@ const SafeArea = /*#__PURE__*/_styled__default["default"]("span", {
158
157
  target: "e1i568cv0"
159
158
  } )("position:absolute;top:0;bottom:0;right:100%;width:calc(100% - ", designSystem.designTokens.spacing30, ");clip-path:polygon(var(--safe-start), 100% 100%, 100% 0);" + ("" ));
160
159
 
161
- var _templateObject;
162
- const visible = react.keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"])));
160
+ const visible = react.keyframes`
161
+ from {
162
+ opacity: 0;
163
+ }
164
+ to {
165
+ opacity: 1;
166
+ }
167
+ `;
163
168
  const FixedMenu = /*#__PURE__*/_styled__default["default"]("div", {
164
169
  target: "e1meml8k10"
165
170
  } )("position:relative;width:", oidc.NAVBAR.widthLeftNavigation, ";", MenuListItem, " ", ItemIconText, "{justify-content:center;display:flex;width:100%;}" + ("" ));
@@ -326,8 +331,8 @@ const MenuGroup = /*#__PURE__*/react$1.forwardRef((props, ref) => {
326
331
  return jsxRuntime.jsx(MenuList, {
327
332
  ref: ref && props.level === 2 ? ref : null,
328
333
  level: props.level,
329
- id: "group-".concat(props.id),
330
- "data-testid": "group-".concat(props.id),
334
+ id: `group-${props.id}`,
335
+ "data-testid": `group-${props.id}`,
331
336
  role: "menu",
332
337
  onKeyDown: props.handleKeyDown,
333
338
  className: classnames__default["default"]({
@@ -426,7 +431,7 @@ const MenuItemLink = _ref3 => {
426
431
  };
427
432
  MenuItemLink.displayName = 'MenuItemLink';
428
433
  function isLongLivedFlag(flag) {
429
- return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
434
+ return typeof flag?.value === 'boolean';
430
435
  }
431
436
  const RestrictedMenuItem = _ref4 => {
432
437
  let _ref4$permissions = _ref4.permissions,
@@ -645,15 +650,13 @@ const reducer = (state, action) => {
645
650
  return state;
646
651
  }
647
652
  };
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
- };
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"]');
657
660
  const useNavbarStateManager = props => {
658
661
  var _context, _context2, _context4, _context5;
659
662
  const navBarNode = react$1.useRef(null);
@@ -747,8 +750,7 @@ const useNavbarStateManager = props => {
747
750
  }
748
751
  }, 100), [isForcedMenuOpen, state.isExpanderVisible, state.isMenuOpen]);
749
752
  const shouldCloseMenuFly = react$1.useCallback(event => {
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) {
753
+ if (!navBarNode?.current?.contains(event.target) && !state.isMenuOpen) {
752
754
  dispatch({
753
755
  type: 'unsetActiveItemIndex'
754
756
  });
@@ -813,7 +815,7 @@ const useNavbarStateManager = props => {
813
815
  const allApplicationsNavbarMenuGroups = _sortInstanceProperty__default["default"](_context4 = _mapInstanceProperty__default["default"](_context5 = applicationsNavBarMenuGroups || []).call(_context5, navbarMenuGroup => navbarMenuGroup.key === '2' && allCustomApplicationsNavbarMenu.length > 0 ? {
814
816
  key: navbarMenuGroup.key,
815
817
  items: [...navbarMenuGroup.items, ...allCustomApplicationsNavbarMenu]
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));
818
+ } : navbarMenuGroup)).call(_context4, (navBarMenuGroupA, navBarMenuGroupB) => Number(navBarMenuGroupA?.key) - Number(navBarMenuGroupB?.key));
817
819
  return _objectSpread$1(_objectSpread$1({}, state), {}, {
818
820
  navBarNode,
819
821
  handleToggleItem,
@@ -825,7 +827,7 @@ const useNavbarStateManager = props => {
825
827
  };
826
828
 
827
829
  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; }
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; }
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; }
829
831
  // Helper function to extract accessible label from menu objects
830
832
  const getMenuAccessibleLabel = (labelAllLocales, defaultLabel, applicationLocale) => {
831
833
  const localizedLabel = _findInstanceProperty__default["default"](labelAllLocales).call(labelAllLocales, loc => _startsWithInstanceProperty__default["default"](applicationLocale).call(applicationLocale, loc.locale));
@@ -833,16 +835,13 @@ const getMenuAccessibleLabel = (labelAllLocales, defaultLabel, applicationLocale
833
835
  if (defaultLabel) return defaultLabel;
834
836
  return constants.NO_VALUE_FALLBACK;
835
837
  };
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
- }));
843
- };
838
+ const getIsSubmenuRouteActive = (uriPath, props) => Boolean(reactRouterDom.matchPath(props.location.pathname, {
839
+ path: `/${props.projectKey}/${uriPath}`,
840
+ exact: true,
841
+ strict: false
842
+ }));
844
843
  const ApplicationMenu = props => {
845
- var _context3, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context4, _context5;
844
+ var _context;
846
845
  const _useState = react$1.useState(0),
847
846
  _useState2 = _slicedToArray(_useState, 2),
848
847
  submenuVerticalPosition = _useState2[0],
@@ -869,13 +868,12 @@ const ApplicationMenu = props => {
869
868
  const hasSubmenu = _Array$isArray__default["default"](props.menu.submenu) && props.menu.submenu.length > 0;
870
869
  const menuItemIdentifier = snakeCase__default["default"](props.menu.key);
871
870
  const calculateSafeAreaStartPositon = react$1.useCallback(e => {
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;
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;
879
877
  const localX = e.clientX - currentSafeAreaLeft;
880
878
  const localY = e.clientY - currentSafeAreaTop;
881
879
  let minXPercent = 0;
@@ -921,17 +919,15 @@ const ApplicationMenu = props => {
921
919
  };
922
920
  }, [calculateSafeAreaStartPositon]);
923
921
  react$1.useLayoutEffect(() => {
924
- var _context2;
925
922
  if (!submenuRef.current) return;
926
923
  const safeX = _Number$isFinite__default["default"](percentageX) ? percentageX : 0;
927
924
  const safeY = _Number$isFinite__default["default"](percentageY) ? percentageY : 100;
928
- submenuRef.current.style.setProperty('--safe-start', _concatInstanceProperty__default["default"](_context2 = "".concat(safeX, "% ")).call(_context2, safeY, "%"));
925
+ submenuRef.current.style.setProperty('--safe-start', `${safeX}% ${safeY}%`);
929
926
  }, [percentageX, percentageY]);
930
927
  const callbackFn = react$1.useCallback(entries => {
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;
928
+ const menuItemBoundingClientRect = document.querySelector(`[data-menuitem="${menuItemIdentifier}"]`)?.getBoundingClientRect();
929
+ const menuItemTop = menuItemBoundingClientRect?.top || 0;
930
+ const menuItemBottom = menuItemBoundingClientRect?.bottom || 0;
935
931
  const _entries = _slicedToArray(entries, 1),
936
932
  entry = _entries[0];
937
933
 
@@ -957,10 +953,7 @@ const ApplicationMenu = props => {
957
953
  observerRef.current = new IntersectionObserver(callbackFn, {
958
954
  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
959
955
  });
960
- return () => {
961
- var _observerRef$current;
962
- return (_observerRef$current = observerRef.current) === null || _observerRef$current === void 0 ? void 0 : _observerRef$current.disconnect();
963
- };
956
+ return () => observerRef.current?.disconnect();
964
957
  }, [callbackFn, props.isMenuOpen]);
965
958
  react$1.useLayoutEffect(() => {
966
959
  const currentSubmenuRef = submenuRef.current;
@@ -970,10 +963,10 @@ const ApplicationMenu = props => {
970
963
  observer.observe(currentSubmenuRef);
971
964
  }
972
965
  setIsSubmenuFocused(false);
973
- return () => observer === null || observer === void 0 ? void 0 : observer.disconnect();
966
+ return () => observer?.disconnect();
974
967
  }, [menuItemIdentifier, props.isMenuOpen, props.handleToggleItem, callbackFn]);
975
968
  const isMainMenuRouteActive = Boolean(reactRouterDom.matchPath(props.location.pathname, {
976
- path: _concatInstanceProperty__default["default"](_context3 = "/".concat(props.projectKey, "/")).call(_context3, props.menu.uriPath),
969
+ path: `/${props.projectKey}/${props.menu.uriPath}`,
977
970
  exact: false,
978
971
  strict: false
979
972
  }));
@@ -987,22 +980,20 @@ const ApplicationMenu = props => {
987
980
  }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
988
981
 
989
982
  const handleKeyDown = e => {
990
- var _submenuRef$current;
991
- const currentlyFocusedItem = (_submenuRef$current = submenuRef.current) === null || _submenuRef$current === void 0 ? void 0 : _submenuRef$current.querySelector(':focus');
983
+ const currentlyFocusedItem = submenuRef.current?.querySelector(':focus');
992
984
  if (e.key === 'Enter') {
993
985
  setIsSubmenuFocused(true);
994
986
  if (!currentlyFocusedItem) {
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();
987
+ submenuRef.current?.querySelector('a')?.focus();
997
988
  }
998
989
  }
999
990
  };
1000
991
  return jsxRuntime.jsx(RestrictedMenuItem, {
1001
992
  keyOfMenuItem: props.menu.key,
1002
- featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
993
+ featureToggle: props.menu.featureToggle ?? undefined,
1003
994
  permissions: props.menu.permissions,
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,
995
+ actionRights: props.menu.actionRights ?? undefined,
996
+ dataFences: props.menu.dataFences ?? undefined,
1006
997
  projectPermissions: props.projectPermissions,
1007
998
  children: jsxRuntime.jsxs(MenuItem$1, {
1008
999
  hasSubmenu: hasSubmenu,
@@ -1017,7 +1008,7 @@ const ApplicationMenu = props => {
1017
1008
  identifier: menuItemIdentifier,
1018
1009
  ariaLabel: getMenuAccessibleLabel(props.menu.labelAllLocales, props.menu.defaultLabel, props.applicationLocale),
1019
1010
  children: [jsxRuntime.jsx(MenuItemLink, {
1020
- linkTo: _concatInstanceProperty__default["default"](_context4 = "/".concat(props.projectKey, "/")).call(_context4, props.menu.uriPath),
1011
+ linkTo: `/${props.projectKey}/${props.menu.uriPath}`,
1021
1012
  useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1022
1013
  onClick: props.onMenuItemClick,
1023
1014
  ariaLabel: getMenuAccessibleLabel(props.menu.labelAllLocales, props.menu.defaultLabel, props.applicationLocale),
@@ -1029,7 +1020,7 @@ const ApplicationMenu = props => {
1029
1020
  isMenuOpen: props.isMenuOpen
1030
1021
  })
1031
1022
  }), jsxRuntime.jsxs(MenuGroup, {
1032
- id: "group-".concat(props.menu.key),
1023
+ id: `group-${props.menu.key}`,
1033
1024
  level: 2,
1034
1025
  isActive: props.isActive,
1035
1026
  isExpanded: props.isMenuOpen,
@@ -1040,7 +1031,7 @@ const ApplicationMenu = props => {
1040
1031
  children: [!props.isMenuOpen && jsxRuntime.jsx(TooltipContainer, {
1041
1032
  alignsAgainstBottom: isSubmenuAboveMenuItem,
1042
1033
  children: jsxRuntime.jsx(Tooltip, {
1043
- "aria-owns": "group-".concat(props.menu.key),
1034
+ "aria-owns": `group-${props.menu.key}`,
1044
1035
  role: "tooltip",
1045
1036
  children: jsxRuntime.jsx(MenuLabel, {
1046
1037
  labelAllLocales: props.menu.labelAllLocales,
@@ -1048,39 +1039,36 @@ const ApplicationMenu = props => {
1048
1039
  applicationLocale: props.applicationLocale
1049
1040
  })
1050
1041
  })
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
- })
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
1079
1067
  })
1080
1068
  })
1081
1069
  })
1082
- }, _concatInstanceProperty__default["default"](_context6 = "".concat(props.menu.key, "-submenu-")).call(_context6, submenu.key));
1083
- }) : null, jsxRuntime.jsx(SafeArea, {
1070
+ })
1071
+ }, `${props.menu.key}-submenu-${submenu.key}`)) : null, jsxRuntime.jsx(SafeArea, {
1084
1072
  ref: submenuSafeAreaRef
1085
1073
  })]
1086
1074
  })]
@@ -1107,14 +1095,11 @@ const NavBar = props => {
1107
1095
  const location = reactRouterDom.useLocation();
1108
1096
  const _useIntl = reactIntl.useIntl(),
1109
1097
  formatMessage = _useIntl.formatMessage;
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]);
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]);
1118
1103
  const applicationLocale = props.applicationLocale;
1119
1104
 
1120
1105
  // Render the loading navbar as long as all the data
@@ -1145,12 +1130,11 @@ const NavBar = props => {
1145
1130
  children: jsxRuntime.jsx(Spacings__default["default"].Stack, {
1146
1131
  scale: "l",
1147
1132
  children: _mapInstanceProperty__default["default"](allApplicationsNavbarMenuGroups).call(allApplicationsNavbarMenuGroups, navbarMenuGroup => {
1148
- var _context8;
1133
+ var _context2;
1149
1134
  return jsxRuntime.jsx("div", {
1150
- children: _mapInstanceProperty__default["default"](_context8 = navbarMenuGroup.items).call(_context8, menu => {
1151
- var _context9;
1135
+ children: _mapInstanceProperty__default["default"](_context2 = navbarMenuGroup.items).call(_context2, menu => {
1152
1136
  const menuType = 'scrollable';
1153
- const itemIndex = _concatInstanceProperty__default["default"](_context9 = "".concat(menuType, "-")).call(_context9, menu.key);
1137
+ const itemIndex = `${menuType}-${menu.key}`;
1154
1138
  return jsxRuntime.jsx(ApplicationMenu, {
1155
1139
  location: location,
1156
1140
  menu: menu,
@@ -0,0 +1,98 @@
1
+ 'use strict';
2
+
3
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
4
+ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
7
+
8
+ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
9
+ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
10
+
11
+ const DIMENSIONS = {
12
+ header: '56px'
13
+ };
14
+ const NAVBAR = {
15
+ expanderHeight: '50px',
16
+ expanderSize: '40px',
17
+ iconSize: '24px',
18
+ iconSizeHover: '28px',
19
+ itemSize: '48px',
20
+ itemHeight: '56px',
21
+ sublistIndentationWhenCollapsed: '72px',
22
+ sublistIndentationWhenExpanded: '248px',
23
+ sublistItemMinHeight: '50px',
24
+ sublistWidth: '272px',
25
+ leftNavigationTransition: 'all 150ms cubic-bezier(1, 0, 0.58, 1)',
26
+ widthLeftNavigation: '80px',
27
+ widthLeftNavigationWhenExpanded: '256px'
28
+ };
29
+ const WINDOW_SIZES = {
30
+ STANDARD: 1024,
31
+ WIDE: 1200
32
+ };
33
+ const CONTAINERS = {
34
+ LOCALE_SWITCHER: 'locale-switcher-container',
35
+ LEFT_OF_PROFILE: 'left-of-profile'
36
+ };
37
+ const SUSPENSION_REASONS = {
38
+ TEMPORARY_MAINTENANCE: 'TemporaryMaintenance',
39
+ PAYMENT: 'Payment',
40
+ OTHER: 'Other'
41
+ };
42
+
43
+ // OIDC params
44
+ const OIDC_RESPONSE_TYPES = {
45
+ ID_TOKEN: 'id_token'
46
+ };
47
+ const OIDC_CLAIMS = {
48
+ OPEN_ID: 'openid',
49
+ PROJECT_KEY: 'project_key',
50
+ TEAM_ID: 'team_id',
51
+ APPLICATION_ID: 'application_id',
52
+ VIEW: 'view',
53
+ MANAGE: 'manage'
54
+ };
55
+
56
+ const buildOidcScope = options => {
57
+ var _context, _context2;
58
+ const claims = [];
59
+
60
+ // Set the projectKey
61
+ if (options.projectKey) {
62
+ claims.push(`${OIDC_CLAIMS.PROJECT_KEY}:${options.projectKey}`);
63
+ }
64
+
65
+ // Set the OAuth Scopes
66
+ claims.push(..._mapInstanceProperty__default["default"](_context = options.oAuthScopes?.view ?? []).call(_context, scope => `${OIDC_CLAIMS.VIEW}:${scope}`));
67
+ claims.push(..._mapInstanceProperty__default["default"](_context2 = options.oAuthScopes?.manage ?? []).call(_context2, scope => `${OIDC_CLAIMS.MANAGE}:${scope}`));
68
+ // Set additional OAuth scopes
69
+ if (options?.additionalOAuthScopes) {
70
+ var _context3;
71
+ _forEachInstanceProperty__default["default"](_context3 = options.additionalOAuthScopes).call(_context3, additionalOAuthScope => {
72
+ var _context4, _context5;
73
+ claims.push(..._mapInstanceProperty__default["default"](_context4 = additionalOAuthScope.view ?? []).call(_context4, viewOAuthScope => `view/${additionalOAuthScope.name}:${viewOAuthScope}`), ..._mapInstanceProperty__default["default"](_context5 = additionalOAuthScope.manage ?? []).call(_context5, manageOAuthScope => `manage/${additionalOAuthScope.name}:${manageOAuthScope}`));
74
+ });
75
+ }
76
+
77
+ // Set the teamId and applicationId
78
+ if (options.teamId) {
79
+ claims.push(`${OIDC_CLAIMS.TEAM_ID}:${options.teamId}`);
80
+ if (options.applicationId) {
81
+ claims.push(`${OIDC_CLAIMS.APPLICATION_ID}:${options.applicationId}`);
82
+ }
83
+ }
84
+ return [
85
+ // This is required as per OIDC spec.
86
+ OIDC_CLAIMS.OPEN_ID,
87
+ // Custom claims
88
+ ...claims].join(' ');
89
+ };
90
+
91
+ exports.CONTAINERS = CONTAINERS;
92
+ exports.DIMENSIONS = DIMENSIONS;
93
+ exports.NAVBAR = NAVBAR;
94
+ exports.OIDC_CLAIMS = OIDC_CLAIMS;
95
+ exports.OIDC_RESPONSE_TYPES = OIDC_RESPONSE_TYPES;
96
+ exports.SUSPENSION_REASONS = SUSPENSION_REASONS;
97
+ exports.WINDOW_SIZES = WINDOW_SIZES;
98
+ exports.buildOidcScope = buildOidcScope;
@@ -0,0 +1,84 @@
1
+ import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
2
+ import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
3
+
4
+ const DIMENSIONS = {
5
+ header: '56px'
6
+ };
7
+ const NAVBAR = {
8
+ expanderHeight: '50px',
9
+ expanderSize: '40px',
10
+ iconSize: '24px',
11
+ iconSizeHover: '28px',
12
+ itemSize: '48px',
13
+ itemHeight: '56px',
14
+ sublistIndentationWhenCollapsed: '72px',
15
+ sublistIndentationWhenExpanded: '248px',
16
+ sublistItemMinHeight: '50px',
17
+ sublistWidth: '272px',
18
+ leftNavigationTransition: 'all 150ms cubic-bezier(1, 0, 0.58, 1)',
19
+ widthLeftNavigation: '80px',
20
+ widthLeftNavigationWhenExpanded: '256px'
21
+ };
22
+ const WINDOW_SIZES = {
23
+ STANDARD: 1024,
24
+ WIDE: 1200
25
+ };
26
+ const CONTAINERS = {
27
+ LOCALE_SWITCHER: 'locale-switcher-container',
28
+ LEFT_OF_PROFILE: 'left-of-profile'
29
+ };
30
+ const SUSPENSION_REASONS = {
31
+ TEMPORARY_MAINTENANCE: 'TemporaryMaintenance',
32
+ PAYMENT: 'Payment',
33
+ OTHER: 'Other'
34
+ };
35
+
36
+ // OIDC params
37
+ const OIDC_RESPONSE_TYPES = {
38
+ ID_TOKEN: 'id_token'
39
+ };
40
+ const OIDC_CLAIMS = {
41
+ OPEN_ID: 'openid',
42
+ PROJECT_KEY: 'project_key',
43
+ TEAM_ID: 'team_id',
44
+ APPLICATION_ID: 'application_id',
45
+ VIEW: 'view',
46
+ MANAGE: 'manage'
47
+ };
48
+
49
+ const buildOidcScope = options => {
50
+ var _context, _context2;
51
+ const claims = [];
52
+
53
+ // Set the projectKey
54
+ if (options.projectKey) {
55
+ claims.push(`${OIDC_CLAIMS.PROJECT_KEY}:${options.projectKey}`);
56
+ }
57
+
58
+ // Set the OAuth Scopes
59
+ claims.push(..._mapInstanceProperty(_context = options.oAuthScopes?.view ?? []).call(_context, scope => `${OIDC_CLAIMS.VIEW}:${scope}`));
60
+ claims.push(..._mapInstanceProperty(_context2 = options.oAuthScopes?.manage ?? []).call(_context2, scope => `${OIDC_CLAIMS.MANAGE}:${scope}`));
61
+ // Set additional OAuth scopes
62
+ if (options?.additionalOAuthScopes) {
63
+ var _context3;
64
+ _forEachInstanceProperty(_context3 = options.additionalOAuthScopes).call(_context3, additionalOAuthScope => {
65
+ var _context4, _context5;
66
+ claims.push(..._mapInstanceProperty(_context4 = additionalOAuthScope.view ?? []).call(_context4, viewOAuthScope => `view/${additionalOAuthScope.name}:${viewOAuthScope}`), ..._mapInstanceProperty(_context5 = additionalOAuthScope.manage ?? []).call(_context5, manageOAuthScope => `manage/${additionalOAuthScope.name}:${manageOAuthScope}`));
67
+ });
68
+ }
69
+
70
+ // Set the teamId and applicationId
71
+ if (options.teamId) {
72
+ claims.push(`${OIDC_CLAIMS.TEAM_ID}:${options.teamId}`);
73
+ if (options.applicationId) {
74
+ claims.push(`${OIDC_CLAIMS.APPLICATION_ID}:${options.applicationId}`);
75
+ }
76
+ }
77
+ return [
78
+ // This is required as per OIDC spec.
79
+ OIDC_CLAIMS.OPEN_ID,
80
+ // Custom claims
81
+ ...claims].join(' ');
82
+ };
83
+
84
+ export { CONTAINERS as C, DIMENSIONS as D, NAVBAR as N, OIDC_CLAIMS as O, SUSPENSION_REASONS as S, WINDOW_SIZES as W, OIDC_RESPONSE_TYPES as a, buildOidcScope as b };
@@ -7,7 +7,7 @@ var jwtDecode = require('jwt-decode');
7
7
  var qss = require('qss');
8
8
  var reactRouterDom = require('react-router-dom');
9
9
  var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
10
- var redirector = require('./redirector-0efdd994.cjs.dev.js');
10
+ var redirector = require('./redirector-72ccfbc2.cjs.dev.js');
11
11
  var _styled = require('@emotion/styled/base');
12
12
  var applicationComponents = require('@commercetools-frontend/application-components');
13
13
  var FailedAuthenticationSVG = require('@commercetools-frontend/assets/images/doors-closed.svg');
@@ -20,7 +20,7 @@ var icons = require('@commercetools-uikit/icons');
20
20
  var notifications = require('@commercetools-uikit/notifications');
21
21
  var Spacings = require('@commercetools-uikit/spacings');
22
22
  var Text = require('@commercetools-uikit/text');
23
- var dist_commercetoolsFrontendApplicationShell = require('./index-208c3cdd.cjs.dev.js');
23
+ var dist_commercetoolsFrontendApplicationShell = require('./index-2b8a5370.cjs.dev.js');
24
24
  var jsxRuntime = require('@emotion/react/jsx-runtime');
25
25
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
26
26
  require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
@@ -32,7 +32,7 @@ require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
32
32
  require('@babel/runtime-corejs3/core-js-stable/object/define-property');
33
33
  require('@babel/runtime-corejs3/helpers/defineProperty');
34
34
  require('./location-c835b8df.cjs.dev.js');
35
- require('./index-25183095.cjs.dev.js');
35
+ require('./index-614accc4.cjs.dev.js');
36
36
  require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
37
37
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
38
38
  require('@babel/runtime-corejs3/core-js-stable/instance/concat');
@@ -55,10 +55,9 @@ require('redux-logger');
55
55
  require('@babel/runtime-corejs3/core-js-stable/instance/find');
56
56
  require('@babel/runtime-corejs3/core-js-stable/array/is-array');
57
57
  require('@emotion/react');
58
- require('./oidc-87d116c1.cjs.dev.js');
58
+ require('./oidc-8827f9fe.cjs.dev.js');
59
59
  require('@babel/runtime-corejs3/core-js-stable/instance/map');
60
60
  require('react-intl');
61
- require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
62
61
  require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
63
62
  require('memoize-one');
64
63
  require('react-select');
@@ -201,9 +200,8 @@ const OidcCallback = props => {
201
200
  }
202
201
  }
203
202
  if (!errorMessage) {
204
- var _decodedSessionToken;
205
- const hasValidSessionId = ((_decodedSessionToken = decodedSessionToken) === null || _decodedSessionToken === void 0 ? void 0 : _decodedSessionToken.nonce) === fragments.state;
206
- const hasValidApplicationId = window.app.applicationId === (sessionState === null || sessionState === void 0 ? void 0 : sessionState.applicationId);
203
+ const hasValidSessionId = decodedSessionToken?.nonce === fragments.state;
204
+ const hasValidApplicationId = window.app.applicationId === sessionState?.applicationId;
207
205
  if (!sessionState || !hasValidSessionId || !hasValidApplicationId) {
208
206
  errorMessage = 'Invalid client session';
209
207
  }
@@ -213,7 +211,7 @@ const OidcCallback = props => {
213
211
  } else {
214
212
  applicationShellConnectors.oidcStorage.setActiveSession(sessionToken);
215
213
  applicationShellConnectors.oidcStorage.removeSessionState(fragments.state);
216
- if (sessionState !== null && sessionState !== void 0 && sessionState.query.redirectTo) {
214
+ if (sessionState?.query.redirectTo) {
217
215
  try {
218
216
  const redirectToUrl = new _URL__default["default"](sessionState.query.redirectTo);
219
217
  redirector$1({
@@ -221,7 +219,7 @@ const OidcCallback = props => {
221
219
  });
222
220
  return;
223
221
  } catch (error) {
224
- console.warn("Invalid \"redirectTo\" URL", sessionState.query.redirectTo);
222
+ console.warn(`Invalid "redirectTo" URL`, sessionState.query.redirectTo);
225
223
  // ignore
226
224
  }
227
225
  }