@commercetools-frontend/application-shell 22.17.2 → 22.18.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 (50) hide show
  1. package/dist/commercetools-frontend-application-shell.cjs.dev.js +3 -3
  2. package/dist/commercetools-frontend-application-shell.cjs.prod.js +3 -3
  3. package/dist/commercetools-frontend-application-shell.esm.js +3 -3
  4. package/dist/{custom-view-dev-host-5f8c0099.cjs.dev.js → custom-view-dev-host-7f4b9f06.cjs.dev.js} +2 -3
  5. package/dist/{custom-view-dev-host-03a7e8ee.esm.js → custom-view-dev-host-b4ef2628.esm.js} +2 -3
  6. package/dist/{custom-view-dev-host-a4c2526e.cjs.prod.js → custom-view-dev-host-ca22b6ea.cjs.prod.js} +2 -3
  7. package/dist/declarations/src/components/locale-switcher/messages.d.ts +10 -0
  8. package/dist/declarations/src/components/project-container/index.d.ts +1 -0
  9. package/dist/declarations/src/components/project-switcher/project-switcher.d.ts +1 -1
  10. package/dist/declarations/src/types/generated/mc.d.ts +11 -0
  11. package/dist/{index-5f138907.esm.js → index-cb9692b6.esm.js} +105 -94
  12. package/dist/{index-3d6cf404.cjs.prod.js → index-e9dcdd6b.cjs.prod.js} +91 -74
  13. package/dist/{index-3a78b6af.cjs.dev.js → index-f4019b48.cjs.dev.js} +104 -92
  14. package/dist/{navbar-2af36692.esm.js → navbar-5746809d.esm.js} +18 -18
  15. package/dist/{navbar-17317c0f.cjs.dev.js → navbar-72c13dfc.cjs.dev.js} +18 -18
  16. package/dist/{navbar-53abe300.cjs.prod.js → navbar-7861442e.cjs.prod.js} +1 -1
  17. package/dist/{oidc-callback-137a6058.esm.js → oidc-callback-03d24112.esm.js} +2 -3
  18. package/dist/{oidc-callback-10ec1861.cjs.dev.js → oidc-callback-0fd6d96a.cjs.dev.js} +2 -3
  19. package/dist/{oidc-callback-663e13d0.cjs.prod.js → oidc-callback-976ae406.cjs.prod.js} +2 -3
  20. package/dist/{project-container-c967d69d.cjs.dev.js → project-container-9b6f3420.cjs.dev.js} +83 -31
  21. package/dist/{project-container-695b6d00.esm.js → project-container-b26c2799.esm.js} +83 -34
  22. package/dist/{project-container-a7b22509.cjs.prod.js → project-container-fdb07759.cjs.prod.js} +83 -25
  23. package/dist/{project-expired-198fe545.cjs.prod.js → project-expired-813ce6d0.cjs.prod.js} +4 -4
  24. package/dist/{project-expired-4a84dc5d.esm.js → project-expired-97e082ba.esm.js} +4 -4
  25. package/dist/{project-expired-fcc5b863.cjs.dev.js → project-expired-9de5b065.cjs.dev.js} +4 -4
  26. package/dist/{project-not-found-43c7b3d9.esm.js → project-not-found-126e7ace.esm.js} +4 -4
  27. package/dist/{project-not-found-aee676f3.cjs.prod.js → project-not-found-6456d26e.cjs.prod.js} +4 -4
  28. package/dist/{project-not-found-bd1ed00d.cjs.dev.js → project-not-found-edcab1e8.cjs.dev.js} +4 -4
  29. package/dist/{project-not-initialized-3f005d66.esm.js → project-not-initialized-4996ab49.esm.js} +4 -4
  30. package/dist/{project-not-initialized-ed2395cc.cjs.dev.js → project-not-initialized-49bfd602.cjs.dev.js} +4 -4
  31. package/dist/{project-not-initialized-855e47a8.cjs.prod.js → project-not-initialized-f1d6b6e1.cjs.prod.js} +4 -4
  32. package/dist/{project-suspended-3ef95f71.cjs.prod.js → project-suspended-2c241a17.cjs.prod.js} +4 -4
  33. package/dist/{project-suspended-030ffee4.esm.js → project-suspended-47b2a786.esm.js} +4 -4
  34. package/dist/{project-suspended-4a17383b.cjs.dev.js → project-suspended-e4b68d8c.cjs.dev.js} +4 -4
  35. package/dist/{quick-access-04797c0b.esm.js → quick-access-3788f5f3.esm.js} +3 -3
  36. package/dist/{quick-access-bd6496a4.cjs.prod.js → quick-access-76e2b7b2.cjs.prod.js} +3 -3
  37. package/dist/{quick-access-a40b1e0f.cjs.dev.js → quick-access-93dc1db2.cjs.dev.js} +3 -3
  38. package/dist/{redirect-to-logout-86110e8c.cjs.dev.js → redirect-to-logout-a6780000.cjs.dev.js} +3 -3
  39. package/dist/{redirect-to-logout-9b60153e.esm.js → redirect-to-logout-e071855b.esm.js} +3 -3
  40. package/dist/{redirect-to-logout-9b9b32c5.cjs.prod.js → redirect-to-logout-f5c85702.cjs.prod.js} +3 -3
  41. package/dist/{requests-in-flight-loader-f5ea48c9.cjs.prod.js → requests-in-flight-loader-6538e2bb.cjs.prod.js} +3 -3
  42. package/dist/{requests-in-flight-loader-6ab1fa05.cjs.dev.js → requests-in-flight-loader-9c8fdf46.cjs.dev.js} +3 -3
  43. package/dist/{requests-in-flight-loader-0f883386.esm.js → requests-in-flight-loader-d79e3abb.esm.js} +3 -3
  44. package/dist/{service-page-project-switcher-1b1fa2df.esm.js → service-page-project-switcher-049e3472.esm.js} +1 -1
  45. package/dist/{service-page-project-switcher-7cddddfb.cjs.prod.js → service-page-project-switcher-36b4ec4a.cjs.prod.js} +1 -1
  46. package/dist/{service-page-project-switcher-b35c912b.cjs.dev.js → service-page-project-switcher-9ac7dc0f.cjs.dev.js} +1 -1
  47. package/dist/{version-tracker-f54893c4.cjs.dev.js → version-tracker-7d8e5a87.cjs.dev.js} +3 -3
  48. package/dist/{version-tracker-15416b7d.cjs.prod.js → version-tracker-c96362fe.cjs.prod.js} +3 -3
  49. package/dist/{version-tracker-acf36f46.esm.js → version-tracker-e09696f5.esm.js} +3 -3
  50. package/package.json +17 -16
@@ -35,13 +35,13 @@ var icons = require('@commercetools-uikit/icons');
35
35
  var useIsServedByProxy = require('./use-is-served-by-proxy-845cace5.cjs.prod.js');
36
36
  var jsxRuntime = require('@emotion/react/jsx-runtime');
37
37
  var _taggedTemplateLiteral = require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
38
- var _objectDestructuringEmpty = require('@babel/runtime-corejs3/helpers/objectDestructuringEmpty');
39
- var _extends = require('@babel/runtime-corejs3/helpers/extends');
38
+ var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
40
39
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
41
40
  var memoize = require('memoize-one');
42
41
  var reactSelect = require('react-select');
43
42
  var AccessibleHidden = require('@commercetools-uikit/accessible-hidden');
44
43
  var SelectInput = require('@commercetools-uikit/select-input');
44
+ var Text = require('@commercetools-uikit/text');
45
45
  var CTLogoSVG = require('@commercetools-frontend/assets/images/ct-logo.svg');
46
46
  var LoadingSpinner = require('@commercetools-uikit/loading-spinner');
47
47
  var history = require('@commercetools-frontend/browser-history');
@@ -95,6 +95,7 @@ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstancePro
95
95
  var memoize__default = /*#__PURE__*/_interopDefault(memoize);
96
96
  var AccessibleHidden__default = /*#__PURE__*/_interopDefault(AccessibleHidden);
97
97
  var SelectInput__default = /*#__PURE__*/_interopDefault(SelectInput);
98
+ var Text__default = /*#__PURE__*/_interopDefault(Text);
98
99
  var CTLogoSVG__default = /*#__PURE__*/_interopDefault(CTLogoSVG);
99
100
  var LoadingSpinner__default = /*#__PURE__*/_interopDefault(LoadingSpinner);
100
101
  var history__default = /*#__PURE__*/_interopDefault(history);
@@ -112,9 +113,9 @@ var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
112
113
  var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
113
114
 
114
115
  // NOTE: This string will be replaced on build time with the package version.
115
- var applicationShellVersion = "22.17.2";
116
+ var applicationShellVersion = "22.18.0";
116
117
 
117
- const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-f5ea48c9.cjs.prod.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
118
+ const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-6538e2bb.cjs.prod.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
118
119
 
119
120
  // Attempt to load the `projectKey` from localStorage
120
121
  function selectProjectKeyFromLocalStorage() {
@@ -225,7 +226,7 @@ var messages = reactIntl.defineMessages({
225
226
  projectsLabel: {
226
227
  id: 'ProjectSwitcher.projectsLabel',
227
228
  description: 'The label for project dropdown switcher',
228
- defaultMessage: 'Projects menu'
229
+ defaultMessage: 'Projects'
229
230
  },
230
231
  searchPlaceholder: {
231
232
  id: 'ProjectSwitcher.searchPlaceholder',
@@ -249,72 +250,73 @@ var messages = reactIntl.defineMessages({
249
250
  }
250
251
  });
251
252
 
253
+ const _excluded = ["children"];
252
254
  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; }
253
255
  function _objectSpread$9(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$9(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$9(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
254
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 } } } };
255
257
  const PROJECT_SWITCHER_LABEL_ID = 'project-switcher-label';
256
- var _ref3$1 = {
257
- name: "82a6rk",
258
- styles: "flex:1"
259
- } ;
260
- const ValueContainer = _ref4 => {
261
- let restProps = _extends({}, (_objectDestructuringEmpty(_ref4), _ref4));
262
- return jsxRuntime.jsx("div", {
263
- css: /*#__PURE__*/react$1.css("display:flex;flex:1;align-items:center;font-weight:", designSystem.designTokens.fontWeight500, ";" + ("" ), "" ),
264
- children: jsxRuntime.jsx("div", {
265
- css: _ref3$1,
266
- children: jsxRuntime.jsx(SelectInput__default["default"].ValueContainer, _objectSpread$9(_objectSpread$9({}, restProps), {}, {
267
- children: restProps.children
268
- }))
269
- })
258
+ const ValueContainer = _ref2 => {
259
+ let children = _ref2.children,
260
+ restProps = _objectWithoutProperties(_ref2, _excluded);
261
+ return jsxRuntime.jsx(Text__default["default"].Body, {
262
+ fontWeight: "medium",
263
+ as: "span",
264
+ children: jsxRuntime.jsx(SelectInput__default["default"].ValueContainer, _objectSpread$9(_objectSpread$9({}, restProps), {}, {
265
+ children: children
266
+ }))
270
267
  });
271
268
  };
269
+ const ProjectStampsList = props => jsxRuntime.jsxs(Spacings__default["default"].Stack, {
270
+ scale: "xs",
271
+ alignItems: "flex-end",
272
+ children: [props.isProductionProject && jsxRuntime.jsx(applicationComponents.ProjectStamp.IsProduction, {}), props.suspension && props.suspension.isActive && jsxRuntime.jsx(applicationComponents.ProjectStamp.IsSuspended, {}), props.expiry && props.expiry.isActive && jsxRuntime.jsx(applicationComponents.ProjectStamp.IsExpired, {}), props.expiry && Boolean(props.expiry.daysLeft) && jsxRuntime.jsx(applicationComponents.ProjectStamp.WillExpire, {
273
+ daysLeft: props.expiry.daysLeft
274
+ })]
275
+ });
272
276
  var _ref$2 = {
273
- name: "16lqnjx",
274
- styles: "font-size:1.5rem;display:flex"
275
- } ;
276
- var _ref2$2 = {
277
- name: "10s3lzp",
278
- styles: "word-wrap:break-word"
277
+ name: "uyj17t",
278
+ styles: "flex:1;word-wrap:break-word"
279
279
  } ;
280
280
  const ProjectSwitcherOption = props => {
281
281
  const project = props.data;
282
282
  return jsxRuntime.jsx(SelectInput__default["default"].Option, _objectSpread$9(_objectSpread$9({}, props), {}, {
283
- children: jsxRuntime.jsxs("div", {
284
- css: _ref2$2,
283
+ children: jsxRuntime.jsxs(Spacings__default["default"].Inline, {
284
+ scale: "xs",
285
+ justifyContent: "space-between",
285
286
  children: [jsxRuntime.jsxs("div", {
286
- css: /*#__PURE__*/react$1.css("color:", props.isDisabled ? designSystem.designTokens.colorNeutral : designSystem.designTokens.colorAccent, ";" + ("" ), "" ),
287
- children: [project.name, props.isDisabled && jsxRuntime.jsx("span", {
288
- css: _ref$2,
289
- children: jsxRuntime.jsx(icons.ErrorIcon, {
290
- size: "medium"
291
- })
287
+ css: _ref$2,
288
+ children: [jsxRuntime.jsx(Text__default["default"].Body, {
289
+ fontWeight: "medium",
290
+ tone: props.isDisabled ? 'tertiary' : 'inherit',
291
+ children: project.name
292
+ }), jsxRuntime.jsx(Text__default["default"].Caption, {
293
+ tone: props.isDisabled ? 'tertiary' : 'secondary',
294
+ children: project.key
292
295
  })]
293
- }), jsxRuntime.jsx("div", {
294
- css: /*#__PURE__*/react$1.css("font-size:11px;color:", props.isDisabled ? designSystem.designTokens.colorNeutral : 'inherit', ";" + ("" ), "" ),
295
- children: project.key
296
- }), project.suspension && project.suspension.isActive && jsxRuntime.jsx("div", {
297
- css: /*#__PURE__*/react$1.css("font-size:11px;color:", designSystem.designTokens.colorError, ";" + ("" ), "" ),
298
- children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$9({}, messages.suspended))
299
- }), project.expiry && project.expiry.isActive && jsxRuntime.jsx("div", {
300
- css: /*#__PURE__*/react$1.css("font-size:11px;color:", designSystem.designTokens.colorError, ";" + ("" ), "" ),
301
- children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$9({}, messages.expired))
296
+ }), jsxRuntime.jsx(ProjectStampsList, {
297
+ isProductionProject: project.isProductionProject,
298
+ suspension: project.suspension,
299
+ expiry: project.expiry
302
300
  })]
303
301
  })
304
302
  }));
305
303
  };
306
- const mapProjectsToOptions = memoize__default["default"](projects => _mapInstanceProperty__default["default"](projects).call(projects, project => ({
307
- key: project.key,
308
- name: project.name,
309
- label: project.name,
310
- value: project.key,
311
- suspension: project.suspension,
312
- expiry: project.expiry,
313
- isProductionProject: project.isProductionProject
314
- })));
304
+ const mapProjectsToOptions = memoize__default["default"](projects => {
305
+ return [{
306
+ label: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$9({}, messages.projectsLabel)),
307
+ options: _mapInstanceProperty__default["default"](projects).call(projects, project => ({
308
+ key: project.key,
309
+ name: project.name,
310
+ label: project.name,
311
+ value: project.key,
312
+ suspension: project.suspension,
313
+ expiry: project.expiry,
314
+ isProductionProject: project.isProductionProject
315
+ }))
316
+ }];
317
+ });
315
318
  const CustomMenuList = props => {
316
319
  return jsxRuntime.jsx("div", {
317
- css: /*#__PURE__*/react$1.css("width:max-content;max-width:", designSystem.designTokens.constraint6, ";" + ("" ), "" ),
318
320
  children: jsxRuntime.jsx(reactSelect.components.MenuList, _objectSpread$9(_objectSpread$9({}, props), {}, {
319
321
  children: props.children
320
322
  }))
@@ -360,7 +362,7 @@ const ProjectSwitcher = props => {
360
362
  redirectTo("/".concat(selectedProjectKey));
361
363
  }
362
364
  },
363
- options: data && data.user && mapProjectsToOptions(data.user.projects.results),
365
+ options: data && data.user && mapProjectsToOptions(data.user.projects.results) || [],
364
366
  isOptionDisabled: option => {
365
367
  const project = option;
366
368
  return project.suspension.isActive || project.expiry.isActive;
@@ -377,7 +379,9 @@ const ProjectSwitcher = props => {
377
379
  noOptionsMessage: () => intl.formatMessage(messages.noResults),
378
380
  horizontalConstraint: 'auto',
379
381
  appearance: "quiet",
380
- maxMenuHeight: 360
382
+ maxMenuHeight: 380,
383
+ maxMenuWidth: 8,
384
+ minMenuWidth: 8
381
385
  })]
382
386
  });
383
387
  };
@@ -396,6 +400,10 @@ var _ref2$1 = {
396
400
  name: "36bnqj",
397
401
  styles: "display:flex;flex:1"
398
402
  } ;
403
+ var _ref3$1 = {
404
+ name: "w3f7al",
405
+ styles: "height:22px"
406
+ } ;
399
407
  const AppBar = props => {
400
408
  var _props$user$defaultPr, _props$user;
401
409
  const previousProjectKey = getPreviousProjectKey((_props$user$defaultPr = (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.defaultProjectKey) !== null && _props$user$defaultPr !== void 0 ? _props$user$defaultPr : undefined);
@@ -407,9 +415,8 @@ const AppBar = props => {
407
415
  children: jsxRuntime.jsxs(Spacings__default["default"].Inline, {
408
416
  scale: "m",
409
417
  alignItems: "center",
410
- children: [jsxRuntime.jsxs(Spacings__default["default"].Inline, {
411
- scale: "m",
412
- alignItems: "center",
418
+ children: [jsxRuntime.jsxs("div", {
419
+ css: /*#__PURE__*/react$1.css("display:flex;gap:", designSystem.designTokens.spacing30, ";align-items:center;" + ("" ), "" ),
413
420
  children: [(() => {
414
421
  if (!props.user) {
415
422
  return jsxRuntime.jsx(LoadingPlaceholder, {
@@ -419,15 +426,25 @@ const AppBar = props => {
419
426
  }
420
427
  // The `<ProjectSwitcher>` should be rendered only if the
421
428
  // user is fetched and the user has projects while the app runs in an project context.
422
- if (props.user.projects.total > 0 && props.projectKeyFromUrl) return jsxRuntime.jsx(ProjectSwitcher
423
- // In this case it's not necessary to check if the `projectKey` param
424
- // is included in the list of projects. In such case
425
- // the dropdown will still be rendered but no project will be selected.
426
- // This is fine becase the user has still the possibility to "switch"
427
- // to a project.
428
- , {
429
- projectKey: props.projectKeyFromUrl || previousProjectKey
430
- });
429
+ if (props.user.projects.total > 0 && props.projectKeyFromUrl) {
430
+ var _context;
431
+ const selectedProject = _findInstanceProperty__default["default"](_context = props.user.projects.results).call(_context, project => project.key === props.projectKeyFromUrl);
432
+ return jsxRuntime.jsxs("div", {
433
+ css: /*#__PURE__*/react$1.css("display:flex;gap:", designSystem.designTokens.spacing20, ";align-items:center;" + ("" ), "" ),
434
+ children: [(selectedProject === null || selectedProject === void 0 ? void 0 : selectedProject.isProductionProject) && jsxRuntime.jsx("div", {
435
+ css: _ref3$1,
436
+ children: jsxRuntime.jsx(applicationComponents.ProjectStamp.IsProduction, {})
437
+ }), jsxRuntime.jsx(ProjectSwitcher
438
+ // In this case it's not necessary to check if the `projectKey` param
439
+ // is included in the list of projects. In such case
440
+ // the dropdown will still be rendered but no project will be selected.
441
+ // This is fine becase the user has still the possibility to "switch"
442
+ // to a project.
443
+ , {
444
+ projectKey: props.projectKeyFromUrl || previousProjectKey
445
+ })]
446
+ });
447
+ }
431
448
  if (!props.user.defaultProjectKey) return null;
432
449
  return jsxRuntime.jsx(BackToProject, {
433
450
  projectKey: previousProjectKey
@@ -542,7 +559,7 @@ FetchProject.propTypes = {
542
559
  };
543
560
  FetchProject.displayName = 'FetchProject';
544
561
 
545
- var LoggedInUserQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchLoggedInUser" }, 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: "email" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "createdAt" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "gravatarHash" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "firstName" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "lastName" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "language" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "numberFormat" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "timeZone" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingId" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingGroup" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingSubgroup" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingTeam" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingTenant" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingCloudEnvironment" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultProjectKey" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "businessRole" }, 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: "idTokenUserInfo" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "iss" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "sub" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "aud" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "exp" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "iat" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "email" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "additionalClaims" }, arguments: [], directives: [] }] } }] } }] } }], loc: { start: 0, end: 695, source: { body: "query FetchLoggedInUser {\n user: me {\n id\n email\n createdAt\n gravatarHash\n firstName\n lastName\n language\n numberFormat\n timeZone\n launchdarklyTrackingId\n launchdarklyTrackingGroup\n launchdarklyTrackingSubgroup\n launchdarklyTrackingTeam\n launchdarklyTrackingTenant\n launchdarklyTrackingCloudEnvironment\n defaultProjectKey\n businessRole\n projects {\n total\n results {\n name\n key\n suspension {\n isActive\n }\n expiry {\n isActive\n }\n }\n }\n idTokenUserInfo {\n iss\n sub\n aud\n exp\n iat\n email\n name\n additionalClaims\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
562
+ var LoggedInUserQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchLoggedInUser" }, 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: "email" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "createdAt" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "gravatarHash" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "firstName" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "lastName" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "language" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "numberFormat" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "timeZone" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingId" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingGroup" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingSubgroup" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingTeam" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingTenant" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingCloudEnvironment" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultProjectKey" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "businessRole" }, 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: [] }] } }] } }, { kind: "Field", name: { kind: "Name", value: "idTokenUserInfo" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "iss" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "sub" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "aud" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "exp" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "iat" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "email" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "additionalClaims" }, arguments: [], directives: [] }] } }] } }] } }], loc: { start: 0, end: 723, source: { body: "query FetchLoggedInUser {\n user: me {\n id\n email\n createdAt\n gravatarHash\n firstName\n lastName\n language\n numberFormat\n timeZone\n launchdarklyTrackingId\n launchdarklyTrackingGroup\n launchdarklyTrackingSubgroup\n launchdarklyTrackingTeam\n launchdarklyTrackingTenant\n launchdarklyTrackingCloudEnvironment\n defaultProjectKey\n businessRole\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 idTokenUserInfo {\n iss\n sub\n aud\n exp\n iat\n email\n name\n additionalClaims\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
546
563
  const FetchUser = props => {
547
564
  const _useMcQuery = applicationShellConnectors.useMcQuery(LoggedInUserQuery, {
548
565
  onError: sentry.reportErrorToSentry,
@@ -566,9 +583,9 @@ FetchUser.propTypes = {
566
583
  };
567
584
  FetchUser.displayName = 'FetchUser';
568
585
 
569
- const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-53abe300.cjs.prod.js' /* webpackChunkName: "navbar" */); }));
586
+ const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-7861442e.cjs.prod.js' /* webpackChunkName: "navbar" */); }));
570
587
 
571
- const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-a7b22509.cjs.prod.js' /* webpackChunkName: "project-container" */); }));
588
+ const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-fdb07759.cjs.prod.js' /* webpackChunkName: "project-container" */); }));
572
589
 
573
590
  const getSelectedDataLocaleForProject = projectLocales => {
574
591
  const cachedDataLocale = window.localStorage.getItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE);
@@ -680,7 +697,7 @@ var pimIndexerStates = {
680
697
  NOT_INDEXED: 'NOT_INDEXED'
681
698
  };
682
699
 
683
- const QuickAccess = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./quick-access-bd6496a4.cjs.prod.js' /* webpackChunkName: "quick-access" */); }));
700
+ const QuickAccess = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./quick-access-76e2b7b2.cjs.prod.js' /* webpackChunkName: "quick-access" */); }));
684
701
 
685
702
  const QuickAccessTrigger = props => {
686
703
  const _useState = react.useState(false),
@@ -767,7 +784,7 @@ const QuickAccessTrigger = props => {
767
784
  QuickAccessTrigger.propTypes = {};
768
785
  QuickAccessTrigger.displayName = 'QuickAccessTrigger';
769
786
 
770
- const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-9b9b32c5.cjs.prod.js' /* webpackChunkName: "redirect-to-logout" */); }));
787
+ const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-f5c85702.cjs.prod.js' /* webpackChunkName: "redirect-to-logout" */); }));
771
788
 
772
789
  const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-project-create-c962f72f.cjs.prod.js' /* webpackChunkName: "redirect-to-project-create" */); }));
773
790
 
@@ -894,7 +911,7 @@ const ThemeSwitcher = () => {
894
911
  });
895
912
  };
896
913
 
897
- const VersionTracker = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./version-tracker-15416b7d.cjs.prod.js' /* webpackChunkName: "version-tracker" */); }));
914
+ const VersionTracker = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./version-tracker-c96362fe.cjs.prod.js' /* webpackChunkName: "version-tracker" */); }));
898
915
 
899
916
  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; }
900
917
  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; }
@@ -1372,7 +1389,7 @@ const hasCachedAuthenticationState = () => {
1372
1389
  return window.localStorage.getItem(constants.STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
1373
1390
  };
1374
1391
 
1375
- const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-663e13d0.cjs.prod.js' /* webpackChunkName: "oidc-callback" */); }));
1392
+ const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-976ae406.cjs.prod.js' /* webpackChunkName: "oidc-callback" */); }));
1376
1393
 
1377
1394
  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
1395
  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; }
@@ -1588,7 +1605,7 @@ ApplicationShell.propTypes = {};
1588
1605
  ApplicationShell.displayName = 'ApplicationShell';
1589
1606
  ApplicationShell.version = applicationShellVersion;
1590
1607
 
1591
- const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-a4c2526e.cjs.prod.js' /* webpackChunkName: "custom-view-dev-host" */); }));
1608
+ const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-ca22b6ea.cjs.prod.js' /* webpackChunkName: "custom-view-dev-host" */); }));
1592
1609
 
1593
1610
  function ownKeys$2(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; }
1594
1611
  function _objectSpread$2(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$2(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$2(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }