@commercetools-frontend/application-shell 22.23.2 → 22.24.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 (51) hide show
  1. package/README.md +1 -1
  2. package/dist/commercetools-frontend-application-shell.cjs.dev.js +2 -1
  3. package/dist/commercetools-frontend-application-shell.cjs.prod.js +2 -1
  4. package/dist/commercetools-frontend-application-shell.esm.js +2 -1
  5. package/dist/{custom-view-dev-host-4d53a277.esm.js → custom-view-dev-host-1f5a3bac.esm.js} +2 -1
  6. package/dist/{custom-view-dev-host-0fc14221.cjs.dev.js → custom-view-dev-host-3c81dbc9.cjs.dev.js} +2 -1
  7. package/dist/{custom-view-dev-host-9dcebc3a.cjs.prod.js → custom-view-dev-host-a726d962.cjs.prod.js} +2 -1
  8. package/dist/declarations/src/components/navbar/menu-items.d.ts +3 -0
  9. package/dist/{index-757f357b.cjs.dev.js → index-78c211fe.cjs.dev.js} +17 -12
  10. package/dist/{index-84701df7.esm.js → index-9828105b.esm.js} +17 -12
  11. package/dist/{index-4cfa4d64.cjs.prod.js → index-a5eb97d4.cjs.prod.js} +17 -12
  12. package/dist/{navbar-8ce541e6.esm.js → navbar-29f95525.esm.js} +30 -5
  13. package/dist/{navbar-900f1217.cjs.dev.js → navbar-7d310fda.cjs.dev.js} +30 -5
  14. package/dist/{navbar-70ce6631.cjs.prod.js → navbar-a1bf5ba3.cjs.prod.js} +22 -1
  15. package/dist/{oidc-callback-2da4a452.cjs.prod.js → oidc-callback-2dfff20c.cjs.prod.js} +2 -1
  16. package/dist/{oidc-callback-f7e224cf.esm.js → oidc-callback-88498ed3.esm.js} +2 -1
  17. package/dist/{oidc-callback-dd6bd27b.cjs.dev.js → oidc-callback-d2363f00.cjs.dev.js} +2 -1
  18. package/dist/{project-container-ef2a58e8.cjs.dev.js → project-container-0338b552.cjs.dev.js} +6 -5
  19. package/dist/{project-container-c20d3df1.esm.js → project-container-9b279ff6.esm.js} +6 -5
  20. package/dist/{project-container-a2811d4e.cjs.prod.js → project-container-e0240991.cjs.prod.js} +6 -5
  21. package/dist/{project-expired-3ed8f42d.cjs.prod.js → project-expired-5dff770f.cjs.prod.js} +3 -2
  22. package/dist/{project-expired-49ad18eb.cjs.dev.js → project-expired-dd0df4ea.cjs.dev.js} +3 -2
  23. package/dist/{project-expired-63fff108.esm.js → project-expired-e06491b1.esm.js} +3 -2
  24. package/dist/{project-not-found-0d838161.cjs.dev.js → project-not-found-5b42ee21.cjs.dev.js} +3 -2
  25. package/dist/{project-not-found-40cd9b0d.cjs.prod.js → project-not-found-6906b9e9.cjs.prod.js} +3 -2
  26. package/dist/{project-not-found-b10a19e5.esm.js → project-not-found-af48d9f5.esm.js} +3 -2
  27. package/dist/{project-not-initialized-5a3b154c.cjs.prod.js → project-not-initialized-0ef41a07.cjs.prod.js} +3 -2
  28. package/dist/{project-not-initialized-b26b1f51.esm.js → project-not-initialized-3f34f705.esm.js} +3 -2
  29. package/dist/{project-not-initialized-c6586f12.cjs.dev.js → project-not-initialized-73bebf67.cjs.dev.js} +3 -2
  30. package/dist/{project-suspended-f698aa07.cjs.prod.js → project-suspended-1f632164.cjs.prod.js} +3 -2
  31. package/dist/{project-suspended-11a8124c.cjs.dev.js → project-suspended-27945c59.cjs.dev.js} +3 -2
  32. package/dist/{project-suspended-68b7990f.esm.js → project-suspended-364f6be9.esm.js} +3 -2
  33. package/dist/{quick-access-4caa7f1f.cjs.prod.js → quick-access-3ec8ebe1.cjs.prod.js} +2 -1
  34. package/dist/{quick-access-d4f5198b.cjs.dev.js → quick-access-4f451ac7.cjs.dev.js} +2 -1
  35. package/dist/{quick-access-e58c2ed3.esm.js → quick-access-da79d347.esm.js} +2 -1
  36. package/dist/{redirect-to-logout-94c46f3e.cjs.prod.js → redirect-to-logout-1ae3e81e.cjs.prod.js} +2 -1
  37. package/dist/{redirect-to-logout-a081a41b.cjs.dev.js → redirect-to-logout-2a8354fd.cjs.dev.js} +2 -1
  38. package/dist/{redirect-to-logout-e103b82f.esm.js → redirect-to-logout-97e0e185.esm.js} +2 -1
  39. package/dist/{redirect-to-project-create-67d7cd03.cjs.dev.js → redirect-to-project-create-426cbb52.cjs.dev.js} +1 -1
  40. package/dist/{redirect-to-project-create-1d0c6b01.esm.js → redirect-to-project-create-a407c70e.esm.js} +1 -1
  41. package/dist/{redirect-to-project-create-c962f72f.cjs.prod.js → redirect-to-project-create-fade33c5.cjs.prod.js} +1 -1
  42. package/dist/{requests-in-flight-loader-31a405e4.cjs.dev.js → requests-in-flight-loader-62173295.cjs.dev.js} +2 -1
  43. package/dist/{requests-in-flight-loader-3c427498.esm.js → requests-in-flight-loader-b6efd83c.esm.js} +2 -1
  44. package/dist/{requests-in-flight-loader-68826d5d.cjs.prod.js → requests-in-flight-loader-e71aa32e.cjs.prod.js} +2 -1
  45. package/dist/{service-page-project-switcher-9ee40616.cjs.dev.js → service-page-project-switcher-67efedb7.cjs.dev.js} +1 -1
  46. package/dist/{service-page-project-switcher-cfbcc130.esm.js → service-page-project-switcher-f990e0e2.esm.js} +1 -1
  47. package/dist/{service-page-project-switcher-48487fbd.cjs.prod.js → service-page-project-switcher-fe12d7b6.cjs.prod.js} +1 -1
  48. package/dist/{version-tracker-4c05b132.cjs.dev.js → version-tracker-6d45f1c1.cjs.dev.js} +2 -1
  49. package/dist/{version-tracker-52d93f36.cjs.prod.js → version-tracker-84581783.cjs.prod.js} +2 -1
  50. package/dist/{version-tracker-c2c11527.esm.js → version-tracker-e7f1181f.esm.js} +2 -1
  51. package/package.json +23 -23
package/README.md CHANGED
@@ -4,4 +4,4 @@
4
4
  <a href="https://www.npmjs.com/package/@commercetools-frontend/application-shell"><img src="https://badgen.net/npm/v/@commercetools-frontend/application-shell" alt="Latest release (latest dist-tag)" /></a> <a href="https://www.npmjs.com/package/@commercetools-frontend/application-shell"><img src="https://badgen.net/npm/v/@commercetools-frontend/application-shell/next" alt="Latest release (next dist-tag)" /></a> <a href="https://bundlephobia.com/result?p=@commercetools-frontend/application-shell"><img src="https://badgen.net/bundlephobia/minzip/@commercetools-frontend/application-shell" alt="Minified + GZipped size" /></a> <a href="https://github.com/commercetools/merchant-center-application-kit/blob/main/LICENSE"><img src="https://badgen.net/github/license/commercetools/merchant-center-application-kit" alt="GitHub license" /></a>
5
5
  </p>
6
6
 
7
- Check out the [documentation](https://docs.commercetools.com/custom-applications/api-reference/commercetools-frontend-application-shell) for more information.
7
+ Check out the [documentation](https://docs.commercetools.com/merchant-center-customizations/api-reference/commercetools-frontend-application-shell) for more information.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dist_commercetoolsFrontendApplicationShell = require('./index-757f357b.cjs.dev.js');
5
+ var dist_commercetoolsFrontendApplicationShell = require('./index-78c211fe.cjs.dev.js');
6
6
  var index = require('./index-37a25e51.cjs.dev.js');
7
7
  var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
8
8
  var ssr = require('@commercetools-frontend/application-config/ssr');
@@ -66,6 +66,7 @@ require('@babel/runtime-corejs3/core-js-stable/instance/flags');
66
66
  require('@apollo/client/react');
67
67
  require('@flopflip/combine-adapters');
68
68
  require('@flopflip/http-adapter');
69
+ require('@flopflip/types');
69
70
  require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
70
71
  require('react-redux');
71
72
  require('lodash/upperFirst');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dist_commercetoolsFrontendApplicationShell = require('./index-4cfa4d64.cjs.prod.js');
5
+ var dist_commercetoolsFrontendApplicationShell = require('./index-a5eb97d4.cjs.prod.js');
6
6
  var index = require('./index-6cd618cc.cjs.prod.js');
7
7
  var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
8
8
  var ssr = require('@commercetools-frontend/application-config/ssr');
@@ -66,6 +66,7 @@ require('@babel/runtime-corejs3/core-js-stable/instance/flags');
66
66
  require('@apollo/client/react');
67
67
  require('@flopflip/combine-adapters');
68
68
  require('@flopflip/http-adapter');
69
+ require('@flopflip/types');
69
70
  require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
70
71
  require('react-redux');
71
72
  require('lodash/upperFirst');
@@ -1,4 +1,4 @@
1
- export { g as ApplicationPageTitle, A as ApplicationShell, f as ApplicationShellProvider, C as ConfigureIntlProvider, h as CustomViewShell, I as InjectReducers, S as SetupFlopFlipProvider, i as SuspendedRoute, s as setupGlobalErrorListener, u as useRoutesCreator, d as version } from './index-84701df7.esm.js';
1
+ export { g as ApplicationPageTitle, A as ApplicationShell, f as ApplicationShellProvider, C as ConfigureIntlProvider, h as CustomViewShell, I as InjectReducers, S as SetupFlopFlipProvider, i as SuspendedRoute, s as setupGlobalErrorListener, u as useRoutesCreator, d as version } from './index-9828105b.esm.js';
2
2
  export { R as RouteCatchAll, a as applyDefaultMiddlewares } from './index-89e5711a.esm.js';
3
3
  export { buildApiUrl, createApolloClient, createApolloContextForProxyForwardTo, createHttpClientOptions, executeHttpClientRequest, getMcApiUrl, selectProjectKeyFromUrl, selectUserId, useMcLazyQuery, useMcMutation, useMcQuery } from '@commercetools-frontend/application-shell-connectors';
4
4
  export { entryPointUriPathToPermissionKeys, entryPointUriPathToResourceAccesses } from '@commercetools-frontend/application-config/ssr';
@@ -62,6 +62,7 @@ import '@babel/runtime-corejs3/core-js-stable/instance/flags';
62
62
  import '@apollo/client/react';
63
63
  import '@flopflip/combine-adapters';
64
64
  import '@flopflip/http-adapter';
65
+ import '@flopflip/types';
65
66
  import '@babel/runtime-corejs3/core-js-stable/instance/reduce';
66
67
  import 'react-redux';
67
68
  import 'lodash/upperFirst';
@@ -10,7 +10,7 @@ import Constraints from '@commercetools-uikit/constraints';
10
10
  import PrimaryButton from '@commercetools-uikit/primary-button';
11
11
  import Spacings from '@commercetools-uikit/spacings';
12
12
  import Text from '@commercetools-uikit/text';
13
- import { A as ApplicationShell } from './index-84701df7.esm.js';
13
+ import { A as ApplicationShell } from './index-9828105b.esm.js';
14
14
  import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
15
15
  import './index-89e5711a.esm.js';
16
16
  import '@babel/runtime-corejs3/core-js-stable/object/keys';
@@ -74,6 +74,7 @@ import '@flopflip/combine-adapters';
74
74
  import '@flopflip/http-adapter';
75
75
  import '@flopflip/launchdarkly-adapter';
76
76
  import '@flopflip/react-broadcast';
77
+ import '@flopflip/types';
77
78
  import 'react-redux';
78
79
  import 'lodash/upperFirst';
79
80
  import '@commercetools-uikit/design-system/materials/resets.css';
@@ -12,7 +12,7 @@ var Constraints = require('@commercetools-uikit/constraints');
12
12
  var PrimaryButton = require('@commercetools-uikit/primary-button');
13
13
  var Spacings = require('@commercetools-uikit/spacings');
14
14
  var Text = require('@commercetools-uikit/text');
15
- var dist_commercetoolsFrontendApplicationShell = require('./index-757f357b.cjs.dev.js');
15
+ var dist_commercetoolsFrontendApplicationShell = require('./index-78c211fe.cjs.dev.js');
16
16
  var jsxRuntime = require('@emotion/react/jsx-runtime');
17
17
  require('./index-37a25e51.cjs.dev.js');
18
18
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
@@ -76,6 +76,7 @@ require('@flopflip/combine-adapters');
76
76
  require('@flopflip/http-adapter');
77
77
  require('@flopflip/launchdarkly-adapter');
78
78
  require('@flopflip/react-broadcast');
79
+ require('@flopflip/types');
79
80
  require('react-redux');
80
81
  require('lodash/upperFirst');
81
82
  require('@commercetools-uikit/design-system/materials/resets.css');
@@ -12,7 +12,7 @@ var Constraints = require('@commercetools-uikit/constraints');
12
12
  var PrimaryButton = require('@commercetools-uikit/primary-button');
13
13
  var Spacings = require('@commercetools-uikit/spacings');
14
14
  var Text = require('@commercetools-uikit/text');
15
- var dist_commercetoolsFrontendApplicationShell = require('./index-4cfa4d64.cjs.prod.js');
15
+ var dist_commercetoolsFrontendApplicationShell = require('./index-a5eb97d4.cjs.prod.js');
16
16
  var jsxRuntime = require('@emotion/react/jsx-runtime');
17
17
  require('./index-6cd618cc.cjs.prod.js');
18
18
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
@@ -76,6 +76,7 @@ require('@flopflip/combine-adapters');
76
76
  require('@flopflip/http-adapter');
77
77
  require('@flopflip/launchdarkly-adapter');
78
78
  require('@flopflip/react-broadcast');
79
+ require('@flopflip/types');
79
80
  require('react-redux');
80
81
  require('lodash/upperFirst');
81
82
  require('@commercetools-uikit/design-system/materials/resets.css');
@@ -34,6 +34,7 @@ export type MenuGroupProps = {
34
34
  children?: ReactNode;
35
35
  submenuVerticalPosition?: number;
36
36
  isSubmenuAboveMenuItem?: boolean;
37
+ handleKeyDown?: React.KeyboardEventHandler<HTMLUListElement>;
37
38
  };
38
39
  declare const MenuGroup: import("react").ForwardRefExoticComponent<MenuGroupProps & import("react").RefAttributes<HTMLUListElement>>;
39
40
  type MenuItemProps = {
@@ -46,6 +47,7 @@ type MenuItemProps = {
46
47
  onMouseLeave?: MouseEventHandler<HTMLElement> | FocusEventHandler<HTMLElement>;
47
48
  children: ReactNode;
48
49
  identifier?: string;
50
+ onKeyDown?: (e: React.KeyboardEvent<HTMLLIElement>) => void;
49
51
  };
50
52
  declare const MenuItem: {
51
53
  (props: MenuItemProps): import("@emotion/react/types/jsx-namespace").EmotionJSX.Element;
@@ -58,6 +60,7 @@ export type MenuItemLinkProps = {
58
60
  onClick?: (event: SyntheticEvent<HTMLAnchorElement>) => void;
59
61
  useFullRedirectsForLinks?: boolean;
60
62
  isSubmenuLink?: boolean;
63
+ isSubmenuFocused?: boolean;
61
64
  };
62
65
  declare const MenuItemLink: {
63
66
  (props: MenuItemLinkProps): import("@emotion/react/types/jsx-namespace").EmotionJSX.Element;
@@ -62,6 +62,7 @@ var combineAdapters = require('@flopflip/combine-adapters');
62
62
  var httpAdapter = require('@flopflip/http-adapter');
63
63
  var ldAdapter = require('@flopflip/launchdarkly-adapter');
64
64
  var reactBroadcast = require('@flopflip/react-broadcast');
65
+ var types = require('@flopflip/types');
65
66
  var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
66
67
  var reactRedux = require('react-redux');
67
68
  var upperFirst = require('lodash/upperFirst');
@@ -115,9 +116,9 @@ var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
115
116
  var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
116
117
 
117
118
  // NOTE: This string will be replaced on build time with the package version.
118
- var applicationShellVersion = "22.23.2";
119
+ var applicationShellVersion = "22.24.0";
119
120
 
120
- const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-31a405e4.cjs.dev.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
121
+ const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-62173295.cjs.dev.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
121
122
 
122
123
  // Attempt to load the `projectKey` from localStorage
123
124
  function selectProjectKeyFromLocalStorage() {
@@ -613,9 +614,9 @@ FetchUser.propTypes = {
613
614
  };
614
615
  FetchUser.displayName = 'FetchUser';
615
616
 
616
- const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-900f1217.cjs.dev.js' /* webpackChunkName: "navbar" */); }));
617
+ const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-7d310fda.cjs.dev.js' /* webpackChunkName: "navbar" */); }));
617
618
 
618
- const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-ef2a58e8.cjs.dev.js' /* webpackChunkName: "project-container" */); }));
619
+ const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-0338b552.cjs.dev.js' /* webpackChunkName: "project-container" */); }));
619
620
 
620
621
  const getSelectedDataLocaleForProject = projectLocales => {
621
622
  const cachedDataLocale = window.localStorage.getItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE);
@@ -739,7 +740,7 @@ var pimIndexerStates = {
739
740
  NOT_INDEXED: 'NOT_INDEXED'
740
741
  };
741
742
 
742
- const QuickAccess = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./quick-access-d4f5198b.cjs.dev.js' /* webpackChunkName: "quick-access" */); }));
743
+ const QuickAccess = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./quick-access-4f451ac7.cjs.dev.js' /* webpackChunkName: "quick-access" */); }));
743
744
  const QuickAccessTrigger = props => {
744
745
  const _useState = react.useState(false),
745
746
  _useState2 = _slicedToArray(_useState, 2),
@@ -827,9 +828,9 @@ QuickAccessTrigger.propTypes = process.env.NODE_ENV !== "production" ? {
827
828
  } : {};
828
829
  QuickAccessTrigger.displayName = 'QuickAccessTrigger';
829
830
 
830
- const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-a081a41b.cjs.dev.js' /* webpackChunkName: "redirect-to-logout" */); }));
831
+ const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-2a8354fd.cjs.dev.js' /* webpackChunkName: "redirect-to-logout" */); }));
831
832
 
832
- const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-project-create-67d7cd03.cjs.dev.js' /* webpackChunkName: "redirect-to-project-create" */); }));
833
+ const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-project-create-426cbb52.cjs.dev.js' /* webpackChunkName: "redirect-to-project-create" */); }));
833
834
 
834
835
  function ownKeys$8(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; }
835
836
  function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$8(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$8(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
@@ -903,6 +904,8 @@ const SetupFlopFlipProvider = props => {
903
904
  const adapterArgs = react.useMemo(() => {
904
905
  var _props$user, _props$ldClientSideId, _props$user2;
905
906
  return {
907
+ cacheIdentifier: types.cacheIdentifiers.local,
908
+ cacheMode: types.cacheModes.lazy,
906
909
  user: {
907
910
  key: (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.id
908
911
  },
@@ -923,13 +926,15 @@ const SetupFlopFlipProvider = props => {
923
926
  user: {
924
927
  key: (_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id
925
928
  },
926
- execute: async function () {
929
+ execute: async adapterArgs => {
930
+ var _adapterArgs$user;
927
931
  const response = await apolloClient.query({
928
932
  query: AllFeaturesQuery,
929
933
  errorPolicy: 'ignore',
930
934
  fetchPolicy: 'network-only',
931
935
  context: {
932
- target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
936
+ target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
937
+ projectKey: (_adapterArgs$user = adapterArgs.user) === null || _adapterArgs$user === void 0 ? void 0 : _adapterArgs$user.project
933
938
  }
934
939
  });
935
940
  return parseFlags(response.data);
@@ -983,7 +988,7 @@ const ThemeSwitcher = () => {
983
988
  });
984
989
  };
985
990
 
986
- const VersionTracker = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./version-tracker-4c05b132.cjs.dev.js' /* webpackChunkName: "version-tracker" */); }));
991
+ const VersionTracker = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./version-tracker-6d45f1c1.cjs.dev.js' /* webpackChunkName: "version-tracker" */); }));
987
992
 
988
993
  function ownKeys$6(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; }
989
994
  function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$6(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$6(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
@@ -1497,7 +1502,7 @@ const hasCachedAuthenticationState = () => {
1497
1502
  return window.localStorage.getItem(constants.STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
1498
1503
  };
1499
1504
 
1500
- const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-dd6bd27b.cjs.dev.js' /* webpackChunkName: "oidc-callback" */); }));
1505
+ const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-d2363f00.cjs.dev.js' /* webpackChunkName: "oidc-callback" */); }));
1501
1506
 
1502
1507
  function ownKeys$4(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; }
1503
1508
  function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
@@ -1735,7 +1740,7 @@ ApplicationShell.propTypes = process.env.NODE_ENV !== "production" ? {
1735
1740
  ApplicationShell.displayName = 'ApplicationShell';
1736
1741
  ApplicationShell.version = applicationShellVersion;
1737
1742
 
1738
- const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-0fc14221.cjs.dev.js' /* webpackChunkName: "custom-view-dev-host" */); }));
1743
+ const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-3c81dbc9.cjs.dev.js' /* webpackChunkName: "custom-view-dev-host" */); }));
1739
1744
 
1740
1745
  function CustomViewFlopFlipProvider(props) {
1741
1746
  var _props$user2;
@@ -60,6 +60,7 @@ import combineAdapters from '@flopflip/combine-adapters';
60
60
  import httpAdapter from '@flopflip/http-adapter';
61
61
  import ldAdapter from '@flopflip/launchdarkly-adapter';
62
62
  import { ConfigureFlopFlip } from '@flopflip/react-broadcast';
63
+ import { cacheIdentifiers, cacheModes } from '@flopflip/types';
63
64
  import _reduceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/reduce';
64
65
  import { Provider, useStore } from 'react-redux';
65
66
  import upperFirst from 'lodash/upperFirst';
@@ -73,9 +74,9 @@ import _someInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instanc
73
74
  import { showUnexpectedErrorNotification } from '@commercetools-frontend/actions-global';
74
75
 
75
76
  // NOTE: This string will be replaced on build time with the package version.
76
- var applicationShellVersion = "22.23.2";
77
+ var applicationShellVersion = "22.24.0";
77
78
 
78
- const RequestsInFlightLoader = /*#__PURE__*/lazy(() => import('./requests-in-flight-loader-3c427498.esm.js' /* webpackChunkName: "requests-in-flight-loader" */));
79
+ const RequestsInFlightLoader = /*#__PURE__*/lazy(() => import('./requests-in-flight-loader-b6efd83c.esm.js' /* webpackChunkName: "requests-in-flight-loader" */));
79
80
 
80
81
  // Attempt to load the `projectKey` from localStorage
81
82
  function selectProjectKeyFromLocalStorage() {
@@ -571,9 +572,9 @@ FetchUser.propTypes = {
571
572
  };
572
573
  FetchUser.displayName = 'FetchUser';
573
574
 
574
- const Navbar = /*#__PURE__*/lazy(() => import('./navbar-8ce541e6.esm.js' /* webpackChunkName: "navbar" */));
575
+ const Navbar = /*#__PURE__*/lazy(() => import('./navbar-29f95525.esm.js' /* webpackChunkName: "navbar" */));
575
576
 
576
- const ProjectContainer = /*#__PURE__*/lazy(() => import('./project-container-c20d3df1.esm.js' /* webpackChunkName: "project-container" */));
577
+ const ProjectContainer = /*#__PURE__*/lazy(() => import('./project-container-9b279ff6.esm.js' /* webpackChunkName: "project-container" */));
577
578
 
578
579
  const getSelectedDataLocaleForProject = projectLocales => {
579
580
  const cachedDataLocale = window.localStorage.getItem(STORAGE_KEYS.SELECTED_DATA_LOCALE);
@@ -697,7 +698,7 @@ var pimIndexerStates = {
697
698
  NOT_INDEXED: 'NOT_INDEXED'
698
699
  };
699
700
 
700
- const QuickAccess = /*#__PURE__*/lazy(() => import('./quick-access-e58c2ed3.esm.js' /* webpackChunkName: "quick-access" */));
701
+ const QuickAccess = /*#__PURE__*/lazy(() => import('./quick-access-da79d347.esm.js' /* webpackChunkName: "quick-access" */));
701
702
  const QuickAccessTrigger = props => {
702
703
  const _useState = useState(false),
703
704
  _useState2 = _slicedToArray(_useState, 2),
@@ -785,9 +786,9 @@ QuickAccessTrigger.propTypes = process.env.NODE_ENV !== "production" ? {
785
786
  } : {};
786
787
  QuickAccessTrigger.displayName = 'QuickAccessTrigger';
787
788
 
788
- const RedirectToLogout = /*#__PURE__*/lazy(() => import('./redirect-to-logout-e103b82f.esm.js' /* webpackChunkName: "redirect-to-logout" */));
789
+ const RedirectToLogout = /*#__PURE__*/lazy(() => import('./redirect-to-logout-97e0e185.esm.js' /* webpackChunkName: "redirect-to-logout" */));
789
790
 
790
- const RedirectToProjectCreate = /*#__PURE__*/lazy(() => import('./redirect-to-project-create-1d0c6b01.esm.js' /* webpackChunkName: "redirect-to-project-create" */));
791
+ const RedirectToProjectCreate = /*#__PURE__*/lazy(() => import('./redirect-to-project-create-a407c70e.esm.js' /* webpackChunkName: "redirect-to-project-create" */));
791
792
 
792
793
  function ownKeys$8(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
793
794
  function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$8(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$8(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -861,6 +862,8 @@ const SetupFlopFlipProvider = props => {
861
862
  const adapterArgs = useMemo(() => {
862
863
  var _props$user, _props$ldClientSideId, _props$user2;
863
864
  return {
865
+ cacheIdentifier: cacheIdentifiers.local,
866
+ cacheMode: cacheModes.lazy,
864
867
  user: {
865
868
  key: (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.id
866
869
  },
@@ -881,13 +884,15 @@ const SetupFlopFlipProvider = props => {
881
884
  user: {
882
885
  key: (_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id
883
886
  },
884
- execute: async function () {
887
+ execute: async adapterArgs => {
888
+ var _adapterArgs$user;
885
889
  const response = await apolloClient.query({
886
890
  query: AllFeaturesQuery,
887
891
  errorPolicy: 'ignore',
888
892
  fetchPolicy: 'network-only',
889
893
  context: {
890
- target: GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
894
+ target: GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
895
+ projectKey: (_adapterArgs$user = adapterArgs.user) === null || _adapterArgs$user === void 0 ? void 0 : _adapterArgs$user.project
891
896
  }
892
897
  });
893
898
  return parseFlags(response.data);
@@ -941,7 +946,7 @@ const ThemeSwitcher = () => {
941
946
  });
942
947
  };
943
948
 
944
- const VersionTracker = /*#__PURE__*/lazy(() => import('./version-tracker-c2c11527.esm.js' /* webpackChunkName: "version-tracker" */));
949
+ const VersionTracker = /*#__PURE__*/lazy(() => import('./version-tracker-e7f1181f.esm.js' /* webpackChunkName: "version-tracker" */));
945
950
 
946
951
  function ownKeys$6(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
947
952
  function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys$6(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys$6(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -1455,7 +1460,7 @@ const hasCachedAuthenticationState = () => {
1455
1460
  return window.localStorage.getItem(STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
1456
1461
  };
1457
1462
 
1458
- const OidcCallback = /*#__PURE__*/lazy(() => import('./oidc-callback-f7e224cf.esm.js' /* webpackChunkName: "oidc-callback" */));
1463
+ const OidcCallback = /*#__PURE__*/lazy(() => import('./oidc-callback-88498ed3.esm.js' /* webpackChunkName: "oidc-callback" */));
1459
1464
 
1460
1465
  function ownKeys$4(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1461
1466
  function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$4(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$4(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -1693,7 +1698,7 @@ ApplicationShell.propTypes = process.env.NODE_ENV !== "production" ? {
1693
1698
  ApplicationShell.displayName = 'ApplicationShell';
1694
1699
  ApplicationShell.version = applicationShellVersion;
1695
1700
 
1696
- const CustomViewDevHost = /*#__PURE__*/lazy(() => import('./custom-view-dev-host-4d53a277.esm.js' /* webpackChunkName: "custom-view-dev-host" */));
1701
+ const CustomViewDevHost = /*#__PURE__*/lazy(() => import('./custom-view-dev-host-1f5a3bac.esm.js' /* webpackChunkName: "custom-view-dev-host" */));
1697
1702
 
1698
1703
  function CustomViewFlopFlipProvider(props) {
1699
1704
  var _props$user2;
@@ -62,6 +62,7 @@ var combineAdapters = require('@flopflip/combine-adapters');
62
62
  var httpAdapter = require('@flopflip/http-adapter');
63
63
  var ldAdapter = require('@flopflip/launchdarkly-adapter');
64
64
  var reactBroadcast = require('@flopflip/react-broadcast');
65
+ var types = require('@flopflip/types');
65
66
  var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
66
67
  var reactRedux = require('react-redux');
67
68
  var upperFirst = require('lodash/upperFirst');
@@ -115,9 +116,9 @@ var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
115
116
  var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
116
117
 
117
118
  // NOTE: This string will be replaced on build time with the package version.
118
- var applicationShellVersion = "22.23.2";
119
+ var applicationShellVersion = "22.24.0";
119
120
 
120
- const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-68826d5d.cjs.prod.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
121
+ const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-e71aa32e.cjs.prod.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
121
122
 
122
123
  // Attempt to load the `projectKey` from localStorage
123
124
  function selectProjectKeyFromLocalStorage() {
@@ -585,9 +586,9 @@ FetchUser.propTypes = {
585
586
  };
586
587
  FetchUser.displayName = 'FetchUser';
587
588
 
588
- const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-70ce6631.cjs.prod.js' /* webpackChunkName: "navbar" */); }));
589
+ const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-a1bf5ba3.cjs.prod.js' /* webpackChunkName: "navbar" */); }));
589
590
 
590
- const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-a2811d4e.cjs.prod.js' /* webpackChunkName: "project-container" */); }));
591
+ const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-e0240991.cjs.prod.js' /* webpackChunkName: "project-container" */); }));
591
592
 
592
593
  const getSelectedDataLocaleForProject = projectLocales => {
593
594
  const cachedDataLocale = window.localStorage.getItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE);
@@ -699,7 +700,7 @@ var pimIndexerStates = {
699
700
  NOT_INDEXED: 'NOT_INDEXED'
700
701
  };
701
702
 
702
- const QuickAccess = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./quick-access-4caa7f1f.cjs.prod.js' /* webpackChunkName: "quick-access" */); }));
703
+ const QuickAccess = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./quick-access-3ec8ebe1.cjs.prod.js' /* webpackChunkName: "quick-access" */); }));
703
704
  const QuickAccessTrigger = props => {
704
705
  const _useState = react.useState(false),
705
706
  _useState2 = _slicedToArray(_useState, 2),
@@ -785,9 +786,9 @@ const QuickAccessTrigger = props => {
785
786
  QuickAccessTrigger.propTypes = {};
786
787
  QuickAccessTrigger.displayName = 'QuickAccessTrigger';
787
788
 
788
- const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-94c46f3e.cjs.prod.js' /* webpackChunkName: "redirect-to-logout" */); }));
789
+ const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-1ae3e81e.cjs.prod.js' /* webpackChunkName: "redirect-to-logout" */); }));
789
790
 
790
- const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-project-create-c962f72f.cjs.prod.js' /* webpackChunkName: "redirect-to-project-create" */); }));
791
+ const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-project-create-fade33c5.cjs.prod.js' /* webpackChunkName: "redirect-to-project-create" */); }));
791
792
 
792
793
  function ownKeys$8(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; }
793
794
  function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$8(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$8(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
@@ -861,6 +862,8 @@ const SetupFlopFlipProvider = props => {
861
862
  const adapterArgs = react.useMemo(() => {
862
863
  var _props$user, _props$ldClientSideId, _props$user2;
863
864
  return {
865
+ cacheIdentifier: types.cacheIdentifiers.local,
866
+ cacheMode: types.cacheModes.lazy,
864
867
  user: {
865
868
  key: (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.id
866
869
  },
@@ -881,13 +884,15 @@ const SetupFlopFlipProvider = props => {
881
884
  user: {
882
885
  key: (_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id
883
886
  },
884
- execute: async function () {
887
+ execute: async adapterArgs => {
888
+ var _adapterArgs$user;
885
889
  const response = await apolloClient.query({
886
890
  query: AllFeaturesQuery,
887
891
  errorPolicy: 'ignore',
888
892
  fetchPolicy: 'network-only',
889
893
  context: {
890
- target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
894
+ target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
895
+ projectKey: (_adapterArgs$user = adapterArgs.user) === null || _adapterArgs$user === void 0 ? void 0 : _adapterArgs$user.project
891
896
  }
892
897
  });
893
898
  return parseFlags(response.data);
@@ -917,7 +922,7 @@ const ThemeSwitcher = () => {
917
922
  });
918
923
  };
919
924
 
920
- const VersionTracker = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./version-tracker-52d93f36.cjs.prod.js' /* webpackChunkName: "version-tracker" */); }));
925
+ const VersionTracker = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./version-tracker-84581783.cjs.prod.js' /* webpackChunkName: "version-tracker" */); }));
921
926
 
922
927
  function ownKeys$6(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; }
923
928
  function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$6(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$6(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
@@ -1395,7 +1400,7 @@ const hasCachedAuthenticationState = () => {
1395
1400
  return window.localStorage.getItem(constants.STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
1396
1401
  };
1397
1402
 
1398
- const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-2da4a452.cjs.prod.js' /* webpackChunkName: "oidc-callback" */); }));
1403
+ const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-2dfff20c.cjs.prod.js' /* webpackChunkName: "oidc-callback" */); }));
1399
1404
 
1400
1405
  function ownKeys$4(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; }
1401
1406
  function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
@@ -1611,7 +1616,7 @@ ApplicationShell.propTypes = {};
1611
1616
  ApplicationShell.displayName = 'ApplicationShell';
1612
1617
  ApplicationShell.version = applicationShellVersion;
1613
1618
 
1614
- const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-9dcebc3a.cjs.prod.js' /* webpackChunkName: "custom-view-dev-host" */); }));
1619
+ const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-a726d962.cjs.prod.js' /* webpackChunkName: "custom-view-dev-host" */); }));
1615
1620
 
1616
1621
  function CustomViewFlopFlipProvider(props) {
1617
1622
  var _props$user2;
@@ -413,6 +413,7 @@ const MenuGroup = /*#__PURE__*/forwardRef((props, ref) => {
413
413
  "data-testid": "group-".concat(props.id),
414
414
  role: "menu",
415
415
  "aria-expanded": isSublistActiveWhileIsMenuExpanded || isSublistActiveWhileIsMenuCollapsed,
416
+ onKeyDown: props.handleKeyDown,
416
417
  className: classnames({
417
418
  'sublist-expanded__active': isSublistActiveWhileIsMenuExpanded
418
419
  }, {
@@ -440,6 +441,7 @@ const MenuItem$1 = props => {
440
441
  onMouseLeave: props.onMouseLeave,
441
442
  onFocus: props.onMouseEnter,
442
443
  onBlur: props.onMouseLeave,
444
+ onKeyDown: props.onKeyDown,
443
445
  "data-menuitem": props.identifier,
444
446
  className: classnames({
445
447
  active: props.isActive
@@ -461,7 +463,8 @@ MenuItem$1.propTypes = process.env.NODE_ENV !== "production" ? {
461
463
  onMouseEnter: _pt.oneOfType([_pt.func, _pt.func]),
462
464
  onMouseLeave: _pt.oneOfType([_pt.func, _pt.func]),
463
465
  children: _pt.node.isRequired,
464
- identifier: _pt.string
466
+ identifier: _pt.string,
467
+ onKeyDown: _pt.func
465
468
  } : {};
466
469
  MenuItem$1.displayName = 'MenuItem';
467
470
  const menuItemLinkDefaultProps = {
@@ -479,7 +482,8 @@ NavLinkWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
479
482
  children: _pt.node.isRequired,
480
483
  onClick: _pt.func,
481
484
  useFullRedirectsForLinks: _pt.bool,
482
- isSubmenuLink: _pt.bool
485
+ isSubmenuLink: _pt.bool,
486
+ isSubmenuFocused: _pt.bool
483
487
  } : {};
484
488
  const NavLinkClickableContentWrapper = props => {
485
489
  const Wrapper = props.isSubmenuLink ? NavlinkClickableContent : Fragment$1;
@@ -493,7 +497,8 @@ NavLinkClickableContentWrapper.propTypes = process.env.NODE_ENV !== "production"
493
497
  children: _pt.node.isRequired,
494
498
  onClick: _pt.func,
495
499
  useFullRedirectsForLinks: _pt.bool,
496
- isSubmenuLink: _pt.bool
500
+ isSubmenuLink: _pt.bool,
501
+ isSubmenuFocused: _pt.bool
497
502
  } : {};
498
503
  const MenuItemLink = props => {
499
504
  const redirectTo = targetUrl => location.replace(targetUrl);
@@ -506,6 +511,7 @@ const MenuItemLink = props => {
506
511
  activeClassName: "highlighted",
507
512
  "data-link-level": linkLevel,
508
513
  css: getMenuItemLinkStyles(Boolean(props.isSubmenuLink)),
514
+ tabIndex: props.isSubmenuLink && !props.isSubmenuFocused ? -1 : 0,
509
515
  onClick: event => {
510
516
  if (props.linkTo && props.useFullRedirectsForLinks) {
511
517
  event.preventDefault();
@@ -531,7 +537,8 @@ MenuItemLink.propTypes = process.env.NODE_ENV !== "production" ? {
531
537
  children: _pt.node.isRequired,
532
538
  onClick: _pt.func,
533
539
  useFullRedirectsForLinks: _pt.bool,
534
- isSubmenuLink: _pt.bool
540
+ isSubmenuLink: _pt.bool,
541
+ isSubmenuFocused: _pt.bool
535
542
  } : {};
536
543
  MenuItemLink.displayName = 'MenuItemLink';
537
544
  MenuItemLink.defaultProps = menuItemLinkDefaultProps;
@@ -1013,6 +1020,11 @@ const ApplicationMenu = props => {
1013
1020
  _useState4 = _slicedToArray(_useState3, 2),
1014
1021
  isSubmenuAboveMenuItem = _useState4[0],
1015
1022
  setIsSubmenuAboveMenuItem = _useState4[1];
1023
+ const _useState5 = useState(false),
1024
+ _useState6 = _slicedToArray(_useState5, 2),
1025
+ isSubmenuFocused = _useState6[0],
1026
+ setIsSubmenuFocused = _useState6[1];
1027
+ const observerRef = useRef(null);
1016
1028
  const submenuRef = useRef(null);
1017
1029
  const hasSubmenu = _Array$isArray(props.menu.submenu) && props.menu.submenu.length > 0;
1018
1030
  const menuItemIdentifier = snakeCase(props.menu.key);
@@ -1034,7 +1046,6 @@ const ApplicationMenu = props => {
1034
1046
  setSubmenuVerticalPosition(props.isMenuOpen ? menuItemTop : menuItemBottom);
1035
1047
  }
1036
1048
  }, [menuItemIdentifier, props.isMenuOpen]);
1037
- const observerRef = useRef(null);
1038
1049
  useLayoutEffect(() => {
1039
1050
  observerRef.current = new IntersectionObserver(callbackFn, {
1040
1051
  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
@@ -1051,6 +1062,7 @@ const ApplicationMenu = props => {
1051
1062
  if (observer && currentSubmenuRef) {
1052
1063
  observer.observe(currentSubmenuRef);
1053
1064
  }
1065
+ setIsSubmenuFocused(false);
1054
1066
  return () => observer === null || observer === void 0 ? void 0 : observer.disconnect();
1055
1067
  }, [menuItemIdentifier, props.isMenuOpen, props.handleToggleItem, callbackFn]);
1056
1068
  const isMainMenuRouteActive = Boolean(matchPath(props.location.pathname, {
@@ -1068,6 +1080,17 @@ const ApplicationMenu = props => {
1068
1080
  }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
1069
1081
 
1070
1082
  const namesOfMenuVisibilitiesOfAllSubmenus = hasSubmenu ? getMenuVisibilitiesOfSubmenus(props.menu) : getMenuVisibilityOfMainmenu(props.menu);
1083
+ const handleKeyDown = e => {
1084
+ var _submenuRef$current;
1085
+ const currentlyFocusedItem = (_submenuRef$current = submenuRef.current) === null || _submenuRef$current === void 0 ? void 0 : _submenuRef$current.querySelector(':focus');
1086
+ if (e.key === 'Enter') {
1087
+ setIsSubmenuFocused(true);
1088
+ if (!currentlyFocusedItem) {
1089
+ var _submenuRef$current2;
1090
+ (_submenuRef$current2 = submenuRef.current) === null || _submenuRef$current2 === void 0 || (_submenuRef$current2 = _submenuRef$current2.querySelector('a')) === null || _submenuRef$current2 === void 0 || _submenuRef$current2.focus();
1091
+ }
1092
+ }
1093
+ };
1071
1094
  return jsx(RestrictedMenuItem, {
1072
1095
  keyOfMenuItem: props.menu.key,
1073
1096
  featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
@@ -1083,6 +1106,7 @@ const ApplicationMenu = props => {
1083
1106
  isMainMenuRouteActive: isMainMenuRouteActive,
1084
1107
  isMenuOpen: props.isMenuOpen,
1085
1108
  onClick: props.handleToggleItem,
1109
+ onKeyDown: handleKeyDown,
1086
1110
  onMouseEnter: props.handleToggleItem,
1087
1111
  onMouseLeave: props.shouldCloseMenuFly,
1088
1112
  identifier: menuItemIdentifier,
@@ -1140,6 +1164,7 @@ const ApplicationMenu = props => {
1140
1164
  useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1141
1165
  onClick: props.onMenuItemClick,
1142
1166
  isSubmenuLink: true,
1167
+ isSubmenuFocused: isSubmenuFocused,
1143
1168
  children: jsx(MenuLabel, {
1144
1169
  labelAllLocales: submenu.labelAllLocales,
1145
1170
  defaultLabel: submenu.defaultLabel,