@commercetools-frontend/application-shell 24.1.0 → 24.2.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 (46) hide show
  1. package/dist/commercetools-frontend-application-shell.cjs.dev.js +5 -7
  2. package/dist/commercetools-frontend-application-shell.cjs.prod.js +5 -7
  3. package/dist/commercetools-frontend-application-shell.esm.js +2 -2
  4. package/dist/{custom-view-dev-host-7fb2a958.cjs.prod.js → custom-view-dev-host-7b9ea926.cjs.prod.js} +1 -1
  5. package/dist/{custom-view-dev-host-25dd713d.esm.js → custom-view-dev-host-88c7b7a9.esm.js} +1 -1
  6. package/dist/{custom-view-dev-host-3c9c94d0.cjs.dev.js → custom-view-dev-host-d3484386.cjs.dev.js} +1 -1
  7. package/dist/declarations/src/components/setup-flop-flip-provider/setup-flop-flip-provider.d.ts +1 -1
  8. package/dist/declarations/src/components/suspended-route/index.d.ts +3 -1
  9. package/dist/declarations/src/components/suspended-route/protected-route.d.ts +7 -0
  10. package/dist/declarations/src/components/suspended-route/suspended-protected-route.d.ts +7 -0
  11. package/dist/declarations/src/components/suspended-route/suspended-route.d.ts +1 -1
  12. package/dist/declarations/src/index.d.ts +2 -2
  13. package/dist/{index-ff6e88c0.cjs.prod.js → index-95c54873.cjs.prod.js} +67 -36
  14. package/dist/{index-4aa04f72.esm.js → index-dd911464.esm.js} +72 -37
  15. package/dist/{index-c30d61f4.cjs.dev.js → index-f7620181.cjs.dev.js} +70 -37
  16. package/dist/{oidc-callback-0c458d9f.cjs.dev.js → oidc-callback-08a3cbed.cjs.dev.js} +1 -1
  17. package/dist/{oidc-callback-3c953a99.esm.js → oidc-callback-0dbec653.esm.js} +1 -1
  18. package/dist/{oidc-callback-dc54e16a.cjs.prod.js → oidc-callback-1784352e.cjs.prod.js} +1 -1
  19. package/dist/{project-container-c64c018c.esm.js → project-container-29422b50.esm.js} +5 -5
  20. package/dist/{project-container-91ab6325.cjs.dev.js → project-container-2d5b8169.cjs.dev.js} +5 -5
  21. package/dist/{project-container-e4b2e50b.cjs.prod.js → project-container-dbd8adcf.cjs.prod.js} +5 -5
  22. package/dist/{project-expired-6ea6431c.cjs.dev.js → project-expired-2242193b.cjs.dev.js} +2 -2
  23. package/dist/{project-expired-b424c3b5.esm.js → project-expired-233858dd.esm.js} +2 -2
  24. package/dist/{project-expired-03d49576.cjs.prod.js → project-expired-7c07fd54.cjs.prod.js} +2 -2
  25. package/dist/{project-not-found-c44aa958.cjs.dev.js → project-not-found-6411f581.cjs.dev.js} +2 -2
  26. package/dist/{project-not-found-84f243a9.esm.js → project-not-found-a06424d0.esm.js} +2 -2
  27. package/dist/{project-not-found-152a54d0.cjs.prod.js → project-not-found-c71c3904.cjs.prod.js} +2 -2
  28. package/dist/{project-not-initialized-6294130e.esm.js → project-not-initialized-85dfb801.esm.js} +2 -2
  29. package/dist/{project-not-initialized-cba4b681.cjs.prod.js → project-not-initialized-e372fd19.cjs.prod.js} +2 -2
  30. package/dist/{project-not-initialized-00f1a00e.cjs.dev.js → project-not-initialized-fd2aae1e.cjs.dev.js} +2 -2
  31. package/dist/{project-suspended-d8a4036f.cjs.dev.js → project-suspended-077dfaeb.cjs.dev.js} +2 -2
  32. package/dist/{project-suspended-df75d145.esm.js → project-suspended-3aaa55f0.esm.js} +2 -2
  33. package/dist/{project-suspended-86092a4d.cjs.prod.js → project-suspended-89760370.cjs.prod.js} +2 -2
  34. package/dist/{quick-access-2d8d35e3.cjs.prod.js → quick-access-3dab176c.cjs.prod.js} +1 -1
  35. package/dist/{quick-access-47ca6aff.esm.js → quick-access-c4e4cbc2.esm.js} +1 -1
  36. package/dist/{quick-access-ba567769.cjs.dev.js → quick-access-fced81b3.cjs.dev.js} +1 -1
  37. package/dist/{redirect-to-logout-ce3d69cb.cjs.dev.js → redirect-to-logout-2bdab461.cjs.dev.js} +1 -1
  38. package/dist/{redirect-to-logout-bd8136d7.esm.js → redirect-to-logout-62862d8c.esm.js} +1 -1
  39. package/dist/{redirect-to-logout-3882d0b0.cjs.prod.js → redirect-to-logout-762d8008.cjs.prod.js} +1 -1
  40. package/dist/{requests-in-flight-loader-70062fb0.cjs.dev.js → requests-in-flight-loader-400900e4.cjs.dev.js} +1 -1
  41. package/dist/{requests-in-flight-loader-e0dd9bfb.esm.js → requests-in-flight-loader-6dbc9613.esm.js} +1 -1
  42. package/dist/{requests-in-flight-loader-509a3bcd.cjs.prod.js → requests-in-flight-loader-dcfcc69d.cjs.prod.js} +1 -1
  43. package/dist/{service-page-project-switcher-db711900.esm.js → service-page-project-switcher-068ffa49.esm.js} +1 -1
  44. package/dist/{service-page-project-switcher-1f45fe26.cjs.dev.js → service-page-project-switcher-6d5b5120.cjs.dev.js} +1 -1
  45. package/dist/{service-page-project-switcher-7404bf6d.cjs.prod.js → service-page-project-switcher-f5ace0c8.cjs.prod.js} +1 -1
  46. package/package.json +22 -22
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dist_commercetoolsFrontendApplicationShell = require('./index-c30d61f4.cjs.dev.js');
5
+ var dist_commercetoolsFrontendApplicationShell = require('./index-f7620181.cjs.dev.js');
6
6
  var index = require('./index-0459c0f4.cjs.dev.js');
7
7
  var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
8
8
  var ssr = require('@commercetools-frontend/application-config/ssr');
9
9
  var reactBroadcast = require('@flopflip/react-broadcast');
10
- var ldAdapter = require('@flopflip/launchdarkly-adapter');
10
+ var launchdarklyAdapter = require('@flopflip/launchdarkly-adapter');
11
11
  require('prop-types');
12
12
  require('react');
13
13
  require('react-router-dom');
@@ -84,10 +84,6 @@ require('@commercetools-frontend/notifications');
84
84
  require('@commercetools-frontend/sdk');
85
85
  require('redux-logger');
86
86
 
87
- function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
88
-
89
- var ldAdapter__default = /*#__PURE__*/_interopDefault(ldAdapter);
90
-
91
87
 
92
88
 
93
89
  exports.ApplicationPageTitle = dist_commercetoolsFrontendApplicationShell.ApplicationPageTitle;
@@ -98,9 +94,11 @@ exports.CustomViewShell = dist_commercetoolsFrontendApplicationShell.CustomViewS
98
94
  exports.ErrorApologizer = dist_commercetoolsFrontendApplicationShell.ErrorApologizer;
99
95
  exports.FetchUser = dist_commercetoolsFrontendApplicationShell.FetchUser;
100
96
  exports.InjectReducers = dist_commercetoolsFrontendApplicationShell.InjectReducers;
97
+ exports.ProtectedRoute = dist_commercetoolsFrontendApplicationShell.ProtectedRoute;
101
98
  exports.RedirectToLogin = dist_commercetoolsFrontendApplicationShell.RedirectToLogin;
102
99
  exports.RedirectToLogout = dist_commercetoolsFrontendApplicationShell.RedirectToLogout;
103
100
  exports.SetupFlopFlipProvider = dist_commercetoolsFrontendApplicationShell.SetupFlopFlipProvider;
101
+ exports.SuspendedProtectedRoute = dist_commercetoolsFrontendApplicationShell.SuspendedProtectedRoute;
104
102
  exports.SuspendedRoute = dist_commercetoolsFrontendApplicationShell.SuspendedRoute;
105
103
  exports.getBrowserLocale = dist_commercetoolsFrontendApplicationShell.getBrowserLocale;
106
104
  exports.getPreviousProjectKey = dist_commercetoolsFrontendApplicationShell.getPreviousProjectKey;
@@ -211,5 +209,5 @@ Object.defineProperty(exports, 'useFlagVariations', {
211
209
  });
212
210
  Object.defineProperty(exports, 'ldAdapter', {
213
211
  enumerable: true,
214
- get: function () { return ldAdapter__default["default"]; }
212
+ get: function () { return launchdarklyAdapter.adapter; }
215
213
  });
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dist_commercetoolsFrontendApplicationShell = require('./index-ff6e88c0.cjs.prod.js');
5
+ var dist_commercetoolsFrontendApplicationShell = require('./index-95c54873.cjs.prod.js');
6
6
  var index = require('./index-b76590b3.cjs.prod.js');
7
7
  var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
8
8
  var ssr = require('@commercetools-frontend/application-config/ssr');
9
9
  var reactBroadcast = require('@flopflip/react-broadcast');
10
- var ldAdapter = require('@flopflip/launchdarkly-adapter');
10
+ var launchdarklyAdapter = require('@flopflip/launchdarkly-adapter');
11
11
  require('prop-types');
12
12
  require('react');
13
13
  require('react-router-dom');
@@ -84,10 +84,6 @@ require('@commercetools-frontend/notifications');
84
84
  require('@commercetools-frontend/sdk');
85
85
  require('redux-logger');
86
86
 
87
- function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
88
-
89
- var ldAdapter__default = /*#__PURE__*/_interopDefault(ldAdapter);
90
-
91
87
 
92
88
 
93
89
  exports.ApplicationPageTitle = dist_commercetoolsFrontendApplicationShell.ApplicationPageTitle;
@@ -98,9 +94,11 @@ exports.CustomViewShell = dist_commercetoolsFrontendApplicationShell.CustomViewS
98
94
  exports.ErrorApologizer = dist_commercetoolsFrontendApplicationShell.ErrorApologizer;
99
95
  exports.FetchUser = dist_commercetoolsFrontendApplicationShell.FetchUser;
100
96
  exports.InjectReducers = dist_commercetoolsFrontendApplicationShell.InjectReducers;
97
+ exports.ProtectedRoute = dist_commercetoolsFrontendApplicationShell.ProtectedRoute;
101
98
  exports.RedirectToLogin = dist_commercetoolsFrontendApplicationShell.RedirectToLogin;
102
99
  exports.RedirectToLogout = dist_commercetoolsFrontendApplicationShell.RedirectToLogout;
103
100
  exports.SetupFlopFlipProvider = dist_commercetoolsFrontendApplicationShell.SetupFlopFlipProvider;
101
+ exports.SuspendedProtectedRoute = dist_commercetoolsFrontendApplicationShell.SuspendedProtectedRoute;
104
102
  exports.SuspendedRoute = dist_commercetoolsFrontendApplicationShell.SuspendedRoute;
105
103
  exports.getBrowserLocale = dist_commercetoolsFrontendApplicationShell.getBrowserLocale;
106
104
  exports.getPreviousProjectKey = dist_commercetoolsFrontendApplicationShell.getPreviousProjectKey;
@@ -211,5 +209,5 @@ Object.defineProperty(exports, 'useFlagVariations', {
211
209
  });
212
210
  Object.defineProperty(exports, 'ldAdapter', {
213
211
  enumerable: true,
214
- get: function () { return ldAdapter__default["default"]; }
212
+ get: function () { return launchdarklyAdapter.adapter; }
215
213
  });
@@ -1,9 +1,9 @@
1
- export { f as ApplicationPageTitle, A as ApplicationShell, e as ApplicationShellProvider, C as ConfigureIntlProvider, h as CustomViewShell, j as ErrorApologizer, i as FetchUser, I as InjectReducers, R as RedirectToLogin, k as RedirectToLogout, S as SetupFlopFlipProvider, l as SuspendedRoute, g as getBrowserLocale, m as getPreviousProjectKey, s as setupGlobalErrorListener, u as useRoutesCreator, v as version } from './index-4aa04f72.esm.js';
1
+ export { f as ApplicationPageTitle, A as ApplicationShell, e as ApplicationShellProvider, C as ConfigureIntlProvider, h as CustomViewShell, j as ErrorApologizer, i as FetchUser, I as InjectReducers, m as ProtectedRoute, R as RedirectToLogin, k as RedirectToLogout, S as SetupFlopFlipProvider, n as SuspendedProtectedRoute, l as SuspendedRoute, g as getBrowserLocale, o as getPreviousProjectKey, s as setupGlobalErrorListener, u as useRoutesCreator, v as version } from './index-dd911464.esm.js';
2
2
  export { R as RouteCatchAll, a as applyDefaultMiddlewares } from './index-a5d2d010.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';
5
5
  export { ConfigureFlopFlip, ReconfigureFlopFlip, ToggleFeature, branchOnFeatureToggle, injectFeatureToggle, injectFeatureToggles, useAdapterReconfiguration, useAdapterStatus, useFeatureToggle, useFeatureToggles, useFlagVariation, useFlagVariations } from '@flopflip/react-broadcast';
6
- export { default as ldAdapter } from '@flopflip/launchdarkly-adapter';
6
+ export { adapter as ldAdapter } from '@flopflip/launchdarkly-adapter';
7
7
  import 'prop-types';
8
8
  import 'react';
9
9
  import 'react-router-dom';
@@ -11,7 +11,7 @@ var Constraints = require('@commercetools-uikit/constraints');
11
11
  var PrimaryButton = require('@commercetools-uikit/primary-button');
12
12
  var Spacings = require('@commercetools-uikit/spacings');
13
13
  var Text = require('@commercetools-uikit/text');
14
- var dist_commercetoolsFrontendApplicationShell = require('./index-ff6e88c0.cjs.prod.js');
14
+ var dist_commercetoolsFrontendApplicationShell = require('./index-95c54873.cjs.prod.js');
15
15
  var jsxRuntime = require('@emotion/react/jsx-runtime');
16
16
  require('./index-b76590b3.cjs.prod.js');
17
17
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
@@ -9,7 +9,7 @@ import Constraints from '@commercetools-uikit/constraints';
9
9
  import PrimaryButton from '@commercetools-uikit/primary-button';
10
10
  import Spacings from '@commercetools-uikit/spacings';
11
11
  import Text from '@commercetools-uikit/text';
12
- import { A as ApplicationShell } from './index-4aa04f72.esm.js';
12
+ import { A as ApplicationShell } from './index-dd911464.esm.js';
13
13
  import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
14
14
  import './index-a5d2d010.esm.js';
15
15
  import '@babel/runtime-corejs3/core-js-stable/object/keys';
@@ -11,7 +11,7 @@ var Constraints = require('@commercetools-uikit/constraints');
11
11
  var PrimaryButton = require('@commercetools-uikit/primary-button');
12
12
  var Spacings = require('@commercetools-uikit/spacings');
13
13
  var Text = require('@commercetools-uikit/text');
14
- var dist_commercetoolsFrontendApplicationShell = require('./index-c30d61f4.cjs.dev.js');
14
+ var dist_commercetoolsFrontendApplicationShell = require('./index-f7620181.cjs.dev.js');
15
15
  var jsxRuntime = require('@emotion/react/jsx-runtime');
16
16
  require('./index-0459c0f4.cjs.dev.js');
17
17
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import type { TFlags } from '@flopflip/types';
2
+ import { type TFlags } from '@flopflip/types';
3
3
  import type { TFetchLoggedInUserQuery } from '../../types/generated/mc';
4
4
  type TSetupFlopFlipProviderProps = {
5
5
  projectKey?: string;
@@ -1 +1,3 @@
1
- export { default } from './suspended-route';
1
+ export { SuspendedRoute } from './suspended-route';
2
+ export { SuspendedProtectedRoute } from './suspended-protected-route';
3
+ export { ProtectedRoute } from './protected-route';
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { RouteProps } from 'react-router-dom';
3
+ type TProtectedRouteProps = {
4
+ condition: boolean;
5
+ } & RouteProps;
6
+ declare const ProtectedRoute: React.FC<TProtectedRouteProps>;
7
+ export { ProtectedRoute, type TProtectedRouteProps };
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { type TProtectedRouteProps } from './protected-route';
3
+ type TSuspendedProtectedRouteProps = TProtectedRouteProps & {
4
+ fallback?: React.ReactNode;
5
+ };
6
+ declare const SuspendedProtectedRoute: React.FC<TSuspendedProtectedRouteProps>;
7
+ export { SuspendedProtectedRoute, type TSuspendedProtectedRouteProps };
@@ -7,4 +7,4 @@ declare const SuspendedRoute: {
7
7
  (props: TSuspendedRouteProps): import("@emotion/react/jsx-runtime").JSX.Element;
8
8
  displayName: string;
9
9
  };
10
- export default SuspendedRoute;
10
+ export { SuspendedRoute };
@@ -14,7 +14,7 @@ export { default as RedirectToLogout } from './components/redirect-to-logout';
14
14
  export { default as RouteCatchAll } from './components/route-catch-all';
15
15
  export { default as SetupFlopFlipProvider } from './components/setup-flop-flip-provider';
16
16
  export { default as ConfigureIntlProvider } from './components/configure-intl-provider';
17
- export { default as SuspendedRoute } from './components/suspended-route';
17
+ export { SuspendedRoute, ProtectedRoute, SuspendedProtectedRoute, } from './components/suspended-route';
18
18
  export { default as getPreviousProjectKey } from './utils/get-previous-project-key';
19
19
  export { default as setupGlobalErrorListener } from './utils/setup-global-error-listener';
20
20
  export { default as useRoutesCreator } from './hooks/use-routes-creator';
@@ -30,4 +30,4 @@ export { entryPointUriPathToPermissionKeys, entryPointUriPathToResourceAccesses,
30
30
  * More information can be found here: https://github.com/commercetools/fe-chapter-notes/issues/61
31
31
  */
32
32
  export { ToggleFeature, injectFeatureToggle, injectFeatureToggles, branchOnFeatureToggle, ConfigureFlopFlip, ReconfigureFlopFlip, useFeatureToggle, useFeatureToggles, useFlagVariation, useFlagVariations, useAdapterStatus, useAdapterReconfiguration, } from '@flopflip/react-broadcast';
33
- export { default as ldAdapter } from '@flopflip/launchdarkly-adapter';
33
+ export { adapter as ldAdapter } from '@flopflip/launchdarkly-adapter';
@@ -58,7 +58,7 @@ var _flagsInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/inst
58
58
  var react$2 = require('@apollo/client/react');
59
59
  var combineAdapters = require('@flopflip/combine-adapters');
60
60
  var httpAdapter = require('@flopflip/http-adapter');
61
- var ldAdapter = require('@flopflip/launchdarkly-adapter');
61
+ var launchdarklyAdapter = require('@flopflip/launchdarkly-adapter');
62
62
  var reactBroadcast = require('@flopflip/react-broadcast');
63
63
  var types = require('@flopflip/types');
64
64
  var reactRedux = require('react-redux');
@@ -101,19 +101,15 @@ var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construc
101
101
  var _sliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_sliceInstanceProperty);
102
102
  var _Object$fromEntries__default = /*#__PURE__*/_interopDefault(_Object$fromEntries);
103
103
  var _flagsInstanceProperty__default = /*#__PURE__*/_interopDefault(_flagsInstanceProperty);
104
- var combineAdapters__default = /*#__PURE__*/_interopDefault(combineAdapters);
105
- var httpAdapter__default = /*#__PURE__*/_interopDefault(httpAdapter);
106
- var ldAdapter__default = /*#__PURE__*/_interopDefault(ldAdapter);
107
104
  var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
108
105
  var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
109
- var memoryAdapter__default = /*#__PURE__*/_interopDefault(memoryAdapter);
110
106
  var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
111
107
  var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
112
108
 
113
109
  // NOTE: This string will be replaced on build time with the package version.
114
- var version = "24.1.0";
110
+ var version = "24.2.0";
115
111
 
116
- const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-509a3bcd.cjs.prod.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
112
+ const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-dcfcc69d.cjs.prod.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
117
113
 
118
114
  // Attempt to load the `projectKey` from localStorage
119
115
  function selectProjectKeyFromLocalStorage() {
@@ -254,18 +250,18 @@ var messages = reactIntl.defineMessages({
254
250
  }
255
251
  });
256
252
 
257
- const _excluded$1 = ["children"];
258
- 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; }
259
- 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; }
253
+ const _excluded$3 = ["children"];
254
+ function ownKeys$a(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; }
255
+ function _objectSpread$a(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$a(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$a(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
260
256
  var ProjectsQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchUserProjects" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", alias: { kind: "Name", value: "user" }, name: { kind: "Name", value: "me" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "projects" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "total" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "results" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "suspension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "expiry" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "isProductionProject" }, arguments: [], directives: [] }] } }] } }] } }] } }], loc: { start: 0, end: 258, source: { body: "query FetchUserProjects {\n user: me {\n id\n projects {\n total\n results {\n name\n key\n suspension {\n isActive\n }\n expiry {\n isActive\n }\n isProductionProject\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
261
257
  const PROJECT_SWITCHER_LABEL_ID = 'project-switcher-label';
262
258
  const ValueContainer = _ref2 => {
263
259
  let children = _ref2.children,
264
- restProps = _objectWithoutProperties(_ref2, _excluded$1);
260
+ restProps = _objectWithoutProperties(_ref2, _excluded$3);
265
261
  return jsxRuntime.jsx(Text__default["default"].Body, {
266
262
  fontWeight: "medium",
267
263
  as: "span",
268
- children: jsxRuntime.jsx(SelectInput__default["default"].ValueContainer, _objectSpread$8(_objectSpread$8({}, restProps), {}, {
264
+ children: jsxRuntime.jsx(SelectInput__default["default"].ValueContainer, _objectSpread$a(_objectSpread$a({}, restProps), {}, {
269
265
  children: children
270
266
  }))
271
267
  });
@@ -283,7 +279,7 @@ var _ref$2 = {
283
279
  } ;
284
280
  const ProjectSwitcherOption = props => {
285
281
  const project = props.data;
286
- return jsxRuntime.jsx(SelectInput__default["default"].Option, _objectSpread$8(_objectSpread$8({}, props), {}, {
282
+ return jsxRuntime.jsx(SelectInput__default["default"].Option, _objectSpread$a(_objectSpread$a({}, props), {}, {
287
283
  children: jsxRuntime.jsxs(Spacings__default["default"].Inline, {
288
284
  scale: "xs",
289
285
  justifyContent: "space-between",
@@ -307,7 +303,7 @@ const ProjectSwitcherOption = props => {
307
303
  };
308
304
  const mapProjectsToOptions = memoize__default["default"](projects => {
309
305
  return [{
310
- label: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$8({}, messages.projectsLabel)),
306
+ label: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$a({}, messages.projectsLabel)),
311
307
  options: _mapInstanceProperty__default["default"](projects).call(projects, project => ({
312
308
  key: project.key,
313
309
  name: project.name,
@@ -321,12 +317,12 @@ const mapProjectsToOptions = memoize__default["default"](projects => {
321
317
  });
322
318
  const CustomMenuList = props => {
323
319
  return jsxRuntime.jsx("div", {
324
- children: jsxRuntime.jsx(reactSelect.components.MenuList, _objectSpread$8(_objectSpread$8({}, props), {}, {
320
+ children: jsxRuntime.jsx(reactSelect.components.MenuList, _objectSpread$a(_objectSpread$a({}, props), {}, {
325
321
  children: props.children
326
322
  }))
327
323
  });
328
324
  };
329
- const Control = props => jsxRuntime.jsx(reactSelect.components.Control, _objectSpread$8(_objectSpread$8({}, props), {}, {
325
+ const Control = props => jsxRuntime.jsx(reactSelect.components.Control, _objectSpread$a(_objectSpread$a({}, props), {}, {
330
326
  css: /*#__PURE__*/react$1.css("min-width:", designSystem.designTokens.constraint3, ";" + ("" ), "" ),
331
327
  children: props.children
332
328
  }));
@@ -345,7 +341,7 @@ const ProjectSwitcher = props => {
345
341
  children: [jsxRuntime.jsx(AccessibleHidden__default["default"], {
346
342
  children: jsxRuntime.jsx("span", {
347
343
  id: PROJECT_SWITCHER_LABEL_ID,
348
- children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$8({}, messages.projectsLabel))
344
+ children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$a({}, messages.projectsLabel))
349
345
  })
350
346
  }), jsxRuntime.jsx(SelectInput__default["default"], {
351
347
  value: props.projectKey || '',
@@ -586,7 +582,7 @@ FetchUser.displayName = 'FetchUser';
586
582
 
587
583
  const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-26b529a8.cjs.prod.js' /* webpackChunkName: "navbar" */); }));
588
584
 
589
- const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-e4b2e50b.cjs.prod.js' /* webpackChunkName: "project-container" */); }));
585
+ const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-dbd8adcf.cjs.prod.js' /* webpackChunkName: "project-container" */); }));
590
586
 
591
587
  const getSelectedDataLocaleForProject = projectLocales => {
592
588
  const cachedDataLocale = window.localStorage.getItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE);
@@ -698,7 +694,7 @@ var pimIndexerStates = {
698
694
  NOT_INDEXED: 'NOT_INDEXED'
699
695
  };
700
696
 
701
- const QuickAccess = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./quick-access-2d8d35e3.cjs.prod.js' /* webpackChunkName: "quick-access" */); }));
697
+ const QuickAccess = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./quick-access-3dab176c.cjs.prod.js' /* webpackChunkName: "quick-access" */); }));
702
698
  const QuickAccessTrigger = props => {
703
699
  const _useState = react.useState(false),
704
700
  _useState2 = _slicedToArray(_useState, 2),
@@ -784,12 +780,12 @@ const QuickAccessTrigger = props => {
784
780
  QuickAccessTrigger.propTypes = {};
785
781
  QuickAccessTrigger.displayName = 'QuickAccessTrigger';
786
782
 
787
- const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-3882d0b0.cjs.prod.js' /* webpackChunkName: "redirect-to-logout" */); }));
783
+ const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-762d8008.cjs.prod.js' /* webpackChunkName: "redirect-to-logout" */); }));
788
784
 
789
785
  const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-project-create-e4ff7797.cjs.prod.js' /* webpackChunkName: "redirect-to-project-create" */); }));
790
786
 
791
- function ownKeys$7(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
792
- function _objectSpread$7(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$7(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$7(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
787
+ function ownKeys$9(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; }
788
+ function _objectSpread$9(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$9(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$9(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
793
789
  var AllFeaturesQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "AllFeatures" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allFeatures" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "reason" }, arguments: [], directives: [] }] } }] } }], loc: { start: 0, end: 72, source: { body: "query AllFeatures {\n allFeatures {\n name\n value\n reason\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
794
790
  // This value is hard-coded here because we want to make sure that the
795
791
  // app uses our account of LD. The value is meant to be public, so there
@@ -827,15 +823,15 @@ const getCacheMode = adapterIdentifier => {
827
823
  const SetupFlopFlipProvider = props => {
828
824
  const apolloClient = react$2.useApolloClient();
829
825
  const enableLongLivedFeatureFlags = applicationShellConnectors.useApplicationContext(context => context.environment.enableLongLivedFeatureFlags);
830
- const flags = react.useMemo(() => _objectSpread$7(_objectSpread$7({}, constants.featureFlags.FLAGS), _flagsInstanceProperty__default["default"](props)), [_flagsInstanceProperty__default["default"](props)]);
826
+ const flags = react.useMemo(() => _objectSpread$9(_objectSpread$9({}, constants.featureFlags.FLAGS), _flagsInstanceProperty__default["default"](props)), [_flagsInstanceProperty__default["default"](props)]);
831
827
  react.useMemo(() => {
832
828
  if (enableLongLivedFeatureFlags) {
833
- combineAdapters__default["default"].combine([ldAdapter__default["default"], httpAdapter__default["default"]]);
829
+ combineAdapters.adapter.combine([launchdarklyAdapter.adapter, httpAdapter.adapter]);
834
830
  } else {
835
- combineAdapters__default["default"].combine([ldAdapter__default["default"]]);
831
+ combineAdapters.adapter.combine([launchdarklyAdapter.adapter]);
836
832
  }
837
833
  }, [enableLongLivedFeatureFlags]);
838
- const defaultFlags = react.useMemo(() => _objectSpread$7(_objectSpread$7({}, constants.featureFlags.DEFAULT_FLAGS), props.defaultFlags), [props.defaultFlags]);
834
+ const defaultFlags = react.useMemo(() => _objectSpread$9(_objectSpread$9({}, constants.featureFlags.DEFAULT_FLAGS), props.defaultFlags), [props.defaultFlags]);
839
835
  const adapterArgs = react.useMemo(() => ({
840
836
  user: {
841
837
  key: props.user?.id
@@ -878,7 +874,7 @@ const SetupFlopFlipProvider = props => {
878
874
  }
879
875
  }), [apolloClient, flags, props.ldClientSideId, props.projectKey, props.user]);
880
876
  return jsxRuntime.jsx(reactBroadcast.ConfigureFlopFlip, {
881
- adapter: combineAdapters__default["default"],
877
+ adapter: combineAdapters.adapter,
882
878
  adapterArgs: adapterArgs,
883
879
  defaultFlags: defaultFlags,
884
880
  shouldDeferAdapterConfiguration: typeof props.shouldDeferAdapterConfiguration === 'boolean' ? props.shouldDeferAdapterConfiguration : !props.user,
@@ -898,8 +894,8 @@ const ThemeSwitcher = () => {
898
894
  });
899
895
  };
900
896
 
901
- 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; }
902
- 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; }
897
+ 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; }
898
+ function _objectSpread$8(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$8(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$8(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
903
899
  const getHasUnauthorizedError = graphQLErrors => _findInstanceProperty__default["default"](graphQLErrors).call(graphQLErrors, gqlError => gqlError.extensions && gqlError.extensions.code && gqlError.extensions.code === 'UNAUTHENTICATED');
904
900
  const getHasUserBeenDeletedError = graphQLErrors => _findInstanceProperty__default["default"](graphQLErrors).call(graphQLErrors, gqlError => {
905
901
  var _context;
@@ -998,7 +994,7 @@ const ApplicationShellAuthenticated = props => {
998
994
  return jsxRuntime.jsx(ConfigureIntlProvider
999
995
  // We do not want to pass the language as long as the locale data
1000
996
  // is not loaded.
1001
- , _objectSpread$6(_objectSpread$6({}, isLoadingLocaleData ? {} : {
997
+ , _objectSpread$8(_objectSpread$8({}, isLoadingLocaleData ? {} : {
1002
998
  locale,
1003
999
  messages
1004
1000
  }), {}, {
@@ -1227,9 +1223,9 @@ ApplicationPageTitle.propTypes = {
1227
1223
  };
1228
1224
  ApplicationPageTitle.displayName = 'ApplicationPageTitle';
1229
1225
 
1230
- function ownKeys$5(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; }
1231
- function _objectSpread$5(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$5(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$5(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1232
- const SuspendedRoute = props => jsxRuntime.jsx(reactRouterDom.Route, _objectSpread$5(_objectSpread$5({}, props), {}, {
1226
+ function ownKeys$7(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
1227
+ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$7(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$7(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1228
+ const SuspendedRoute = props => jsxRuntime.jsx(reactRouterDom.Route, _objectSpread$7(_objectSpread$7({}, props), {}, {
1233
1229
  children: jsxRuntime.jsx(react.Suspense, {
1234
1230
  fallback: jsxRuntime.jsx(LoadingSpinner__default["default"], {}),
1235
1231
  children: props.children
@@ -1238,6 +1234,32 @@ const SuspendedRoute = props => jsxRuntime.jsx(reactRouterDom.Route, _objectSpre
1238
1234
  SuspendedRoute.propTypes = {};
1239
1235
  SuspendedRoute.displayName = 'SuspendedRoute';
1240
1236
 
1237
+ const _excluded$2 = ["condition", "children"];
1238
+ 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; }
1239
+ function _objectSpread$6(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$6(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$6(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1240
+ const ProtectedRoute = _ref => {
1241
+ let condition = _ref.condition,
1242
+ children = _ref.children,
1243
+ routeProps = _objectWithoutProperties(_ref, _excluded$2);
1244
+ return condition ? jsxRuntime.jsx(reactRouterDom.Route, _objectSpread$6(_objectSpread$6({}, routeProps), {}, {
1245
+ children: children
1246
+ })) : jsxRuntime.jsx(applicationComponents.PageUnauthorized, {});
1247
+ };
1248
+
1249
+ const _excluded$1 = ["fallback"];
1250
+ function ownKeys$5(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; }
1251
+ function _objectSpread$5(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$5(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$5(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1252
+ const SuspendedProtectedRoute = _ref => {
1253
+ let _ref$fallback = _ref.fallback,
1254
+ fallback = _ref$fallback === void 0 ? jsxRuntime.jsx(LoadingSpinner__default["default"], {}) : _ref$fallback,
1255
+ routeProps = _objectWithoutProperties(_ref, _excluded$1);
1256
+ return jsxRuntime.jsx(react.Suspense, {
1257
+ fallback: fallback,
1258
+ children: jsxRuntime.jsx(ProtectedRoute, _objectSpread$5({}, routeProps))
1259
+ });
1260
+ };
1261
+ SuspendedProtectedRoute.propTypes = {};
1262
+
1241
1263
  var AmILoggedInQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "AmILoggedIn" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "amILoggedIn" }, arguments: [], directives: [] }] } }], loc: { start: 0, end: 36, source: { body: "query AmILoggedIn {\n amILoggedIn\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
1242
1264
  const AmILoggedIn = props => {
1243
1265
  // ...otherwise, we ping a "secured" endpoint in the MC API to see if there is
@@ -1372,7 +1394,7 @@ const hasCachedAuthenticationState = () => {
1372
1394
  return window.localStorage.getItem(constants.STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
1373
1395
  };
1374
1396
 
1375
- const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-dc54e16a.cjs.prod.js' /* webpackChunkName: "oidc-callback" */); }));
1397
+ const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-1784352e.cjs.prod.js' /* webpackChunkName: "oidc-callback" */); }));
1376
1398
 
1377
1399
  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; }
1378
1400
  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; }
@@ -1585,7 +1607,7 @@ ApplicationShell.propTypes = {};
1585
1607
  ApplicationShell.displayName = 'ApplicationShell';
1586
1608
  ApplicationShell.version = version;
1587
1609
 
1588
- const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-7fb2a958.cjs.prod.js' /* webpackChunkName: "custom-view-dev-host" */); }));
1610
+ const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-7b9ea926.cjs.prod.js' /* webpackChunkName: "custom-view-dev-host" */); }));
1589
1611
 
1590
1612
  function CustomViewFlopFlipProvider(props) {
1591
1613
  const adapterArgs = react.useMemo(() => ({
@@ -1594,7 +1616,7 @@ function CustomViewFlopFlipProvider(props) {
1594
1616
  }
1595
1617
  }), [props.user?.id]);
1596
1618
  return jsxRuntime.jsx(reactBroadcast.ConfigureFlopFlip, {
1597
- adapter: memoryAdapter__default["default"],
1619
+ adapter: memoryAdapter.adapter,
1598
1620
  defaultFlags: _flagsInstanceProperty__default["default"](props),
1599
1621
  adapterArgs: adapterArgs,
1600
1622
  children: props.children
@@ -1807,6 +1829,13 @@ function CustomViewShell(props) {
1807
1829
  }
1808
1830
  };
1809
1831
  window.addEventListener('message', bootstrapMessageHandler);
1832
+
1833
+ // This notifies the custom view loader that the iframe is ready.
1834
+ // This is only supported by custom view loader in the host application from v24.x onwards
1835
+ window.parent.postMessage({
1836
+ origin: window.location.origin,
1837
+ eventName: constants.CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_READY
1838
+ });
1810
1839
  return () => {
1811
1840
  window.removeEventListener('message', bootstrapMessageHandler);
1812
1841
  };
@@ -2047,11 +2076,13 @@ exports.FetchUser = FetchUser;
2047
2076
  exports.InjectReducers = InjectReducers;
2048
2077
  exports.ProjectDataLocale = ProjectDataLocale;
2049
2078
  exports.ProjectSwitcher = ProjectSwitcher;
2079
+ exports.ProtectedRoute = ProtectedRoute;
2050
2080
  exports.REQUESTS_IN_FLIGHT_LOADER_DOM_ID = REQUESTS_IN_FLIGHT_LOADER_DOM_ID;
2051
2081
  exports.RedirectToLogin = RedirectToLogin;
2052
2082
  exports.RedirectToLogout = RedirectToLogout;
2053
2083
  exports.RedirectToProjectCreate = RedirectToProjectCreate;
2054
2084
  exports.SetupFlopFlipProvider = SetupFlopFlipProvider;
2085
+ exports.SuspendedProtectedRoute = SuspendedProtectedRoute;
2055
2086
  exports.SuspendedRoute = SuspendedRoute;
2056
2087
  exports.getBrowserLocale = getBrowserLocale;
2057
2088
  exports.getPreviousProjectKey = getPreviousProjectKey;