@commercetools-frontend/application-shell 27.9.0 → 27.9.1
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.
- package/dist/{application-entry-point-c87294b0.cjs.dev.js → application-entry-point-18d8fba0.cjs.dev.js} +7 -4
- package/dist/{application-entry-point-10a5e1a5.esm.js → application-entry-point-1b23fb6b.esm.js} +6 -4
- package/dist/{application-entry-point-8c4b8e53.cjs.prod.js → application-entry-point-74a06151.cjs.prod.js} +4 -3
- package/dist/{application-shell-splitter-dbae9dfc.esm.js → application-shell-splitter-2c38991b.esm.js} +2 -1
- package/dist/{application-shell-splitter-e87a060f.cjs.dev.js → application-shell-splitter-a527378f.cjs.dev.js} +2 -1
- package/dist/{application-shell-splitter-62fabf2c.cjs.prod.js → application-shell-splitter-b560f8be.cjs.prod.js} +2 -1
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +5 -4
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +5 -4
- package/dist/commercetools-frontend-application-shell.esm.js +5 -4
- package/dist/{custom-view-dev-host-a506643d.cjs.dev.js → custom-view-dev-host-61a6875f.cjs.dev.js} +15 -10
- package/dist/{custom-view-dev-host-48d2bc48.cjs.prod.js → custom-view-dev-host-6802db5c.cjs.prod.js} +15 -10
- package/dist/{custom-view-dev-host-856878ae.esm.js → custom-view-dev-host-b47bb9bc.esm.js} +14 -10
- package/dist/declarations/src/components/setup-flop-flip-provider/setup-flop-flip-provider.d.ts +15 -0
- package/dist/{index-614accc4.cjs.dev.js → index-25183095.cjs.dev.js} +2 -2
- package/dist/{index-c4358b17.cjs.dev.js → index-419ebe37.cjs.dev.js} +145 -113
- package/dist/{index-245e2980.cjs.prod.js → index-52c724ed.cjs.prod.js} +2 -2
- package/dist/{index-86039df7.esm.js → index-5aaa33bb.esm.js} +2 -2
- package/dist/{index-2e1b3109.cjs.prod.js → index-ae34310f.cjs.prod.js} +145 -113
- package/dist/{index-8202b8ac.esm.js → index-f440fbdc.esm.js} +144 -113
- package/dist/{navbar-9eb6c972.esm.js → navbar-5290186f.esm.js} +104 -89
- package/dist/{navbar-f4b2552d.cjs.prod.js → navbar-9a1054eb.cjs.prod.js} +105 -89
- package/dist/{navbar-59504b51.cjs.dev.js → navbar-f2740795.cjs.dev.js} +105 -89
- package/dist/oidc-349b18df.cjs.dev.js +119 -0
- package/dist/oidc-3ad2f42d.cjs.prod.js +119 -0
- package/dist/{oidc-callback-51b6c2c0.esm.js → oidc-callback-a6d80251.esm.js} +11 -9
- package/dist/{oidc-callback-d8a01652.cjs.dev.js → oidc-callback-b47c8b7e.cjs.dev.js} +11 -10
- package/dist/{oidc-callback-cd36b191.cjs.prod.js → oidc-callback-e6029355.cjs.prod.js} +11 -10
- package/dist/oidc-ddd328fa.esm.js +103 -0
- package/dist/{project-container-289c1867.cjs.dev.js → project-container-2a79f361.cjs.dev.js} +14 -11
- package/dist/{project-container-cba9e7cb.esm.js → project-container-ad07cd24.esm.js} +14 -11
- package/dist/{project-container-ebc714c6.cjs.prod.js → project-container-f3e06769.cjs.prod.js} +14 -11
- package/dist/{project-expired-8a005b06.cjs.prod.js → project-expired-a9741dd7.cjs.prod.js} +6 -5
- package/dist/{project-expired-149df88a.cjs.dev.js → project-expired-ce1a7855.cjs.dev.js} +6 -5
- package/dist/{project-expired-bcaaefdd.esm.js → project-expired-dba360dc.esm.js} +6 -5
- package/dist/{project-not-found-5289edf3.cjs.prod.js → project-not-found-0dd37054.cjs.prod.js} +5 -4
- package/dist/{project-not-found-3d54a0a9.cjs.dev.js → project-not-found-43912d11.cjs.dev.js} +5 -4
- package/dist/{project-not-found-a816829d.esm.js → project-not-found-65aed038.esm.js} +5 -4
- package/dist/{project-not-initialized-6f782586.esm.js → project-not-initialized-3eb732fc.esm.js} +6 -5
- package/dist/{project-not-initialized-e3aa75cc.cjs.prod.js → project-not-initialized-4fecb9ed.cjs.prod.js} +6 -5
- package/dist/{project-not-initialized-f0debef3.cjs.dev.js → project-not-initialized-52f39003.cjs.dev.js} +6 -5
- package/dist/{project-suspended-d7af8cd7.cjs.prod.js → project-suspended-5b1f484a.cjs.prod.js} +5 -4
- package/dist/{project-suspended-596a4e02.esm.js → project-suspended-663d9875.esm.js} +5 -4
- package/dist/{project-suspended-dbb8a967.cjs.dev.js → project-suspended-b3b9d9d4.cjs.dev.js} +5 -4
- package/dist/{redirect-to-login-6675c038.cjs.prod.js → redirect-to-login-0596ba25.cjs.prod.js} +13 -10
- package/dist/{redirect-to-login-8a61864c.cjs.dev.js → redirect-to-login-6c3b5cc4.cjs.dev.js} +13 -10
- package/dist/{redirect-to-login-b79d0910.esm.js → redirect-to-login-c5629017.esm.js} +13 -10
- package/dist/{redirect-to-logout-29e049ae.cjs.prod.js → redirect-to-logout-7d335145.cjs.prod.js} +8 -6
- package/dist/{redirect-to-logout-6b536a7a.cjs.dev.js → redirect-to-logout-8b0b2e2c.cjs.dev.js} +8 -6
- package/dist/{redirect-to-logout-e3a515f4.esm.js → redirect-to-logout-9994a431.esm.js} +8 -6
- package/dist/{redirector-72ccfbc2.cjs.dev.js → redirector-0efdd994.cjs.dev.js} +4 -3
- package/dist/{redirector-d856975f.esm.js → redirector-656c6ee7.esm.js} +4 -3
- package/dist/{redirector-0c72d0a4.cjs.prod.js → redirector-c858d578.cjs.prod.js} +4 -3
- package/dist/{requests-in-flight-loader-ae82cf37.cjs.dev.js → requests-in-flight-loader-497fc4b0.cjs.dev.js} +5 -4
- package/dist/{requests-in-flight-loader-529103d5.cjs.prod.js → requests-in-flight-loader-52e3eb92.cjs.prod.js} +5 -4
- package/dist/{requests-in-flight-loader-22c2de59.esm.js → requests-in-flight-loader-c56604f2.esm.js} +5 -4
- package/dist/{service-page-project-switcher-c0306e45.esm.js → service-page-project-switcher-8942f997.esm.js} +1 -1
- package/dist/{service-page-project-switcher-e339dd8e.cjs.dev.js → service-page-project-switcher-d98264a0.cjs.dev.js} +1 -1
- package/dist/{service-page-project-switcher-baa2016f.cjs.prod.js → service-page-project-switcher-f332cda6.cjs.prod.js} +1 -1
- package/dist/{use-applications-menu-8984efa1.cjs.prod.js → use-applications-menu-21c7420b.cjs.prod.js} +47 -39
- package/dist/{use-applications-menu-bd718ac8.cjs.dev.js → use-applications-menu-7a85c3ee.cjs.dev.js} +47 -39
- package/dist/{use-applications-menu-bc2b9a66.esm.js → use-applications-menu-8ff2d130.esm.js} +44 -37
- package/dist/{user-settings-menu-b8359b8b.cjs.dev.js → user-settings-menu-0f655cb1.cjs.dev.js} +30 -23
- package/dist/{user-settings-menu-a1d0ba8e.esm.js → user-settings-menu-bcb676d5.esm.js} +30 -23
- package/dist/{user-settings-menu-2235add2.cjs.prod.js → user-settings-menu-c52bf93a.cjs.prod.js} +30 -23
- package/package.json +53 -53
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -1
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -1
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -1
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +35 -33
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +35 -33
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +29 -28
- package/dist/oidc-0cba182b.cjs.prod.js +0 -102
- package/dist/oidc-b9e7297c.cjs.dev.js +0 -102
- package/dist/oidc-cb344fae.esm.js +0 -87
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { lazy, Suspense, useEffect, useMemo, useRef, useLayoutEffect, Component, StrictMode, useState, useCallback } from 'react';
|
|
2
2
|
import { useHistory, useLocation, Switch, Route, Redirect, Router, useRouteMatch, generatePath } from 'react-router-dom';
|
|
3
|
-
import { R as RouteCatchAll, i as internalReduxStore } from './index-
|
|
3
|
+
import { R as RouteCatchAll, i as internalReduxStore } from './index-5aaa33bb.esm.js';
|
|
4
4
|
import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
5
5
|
import _styled from '@emotion/styled/base';
|
|
6
6
|
import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
|
|
@@ -21,8 +21,9 @@ import { STORAGE_KEYS, GRAPHQL_TARGETS, featureFlags, LOGOUT_REASONS, DOMAINS, M
|
|
|
21
21
|
import { AsyncLocaleData } from '@commercetools-frontend/i18n';
|
|
22
22
|
import { NotificationsList } from '@commercetools-frontend/react-notifications';
|
|
23
23
|
import { reportErrorToSentry, SentryUserTracker, boot } from '@commercetools-frontend/sentry';
|
|
24
|
-
import { D as DIMENSIONS, C as CONTAINERS, N as NAVBAR, b as buildOidcScope, O as OIDC_CLAIMS } from './oidc-
|
|
24
|
+
import { D as DIMENSIONS, C as CONTAINERS, N as NAVBAR, b as buildOidcScope, O as OIDC_CLAIMS } from './oidc-ddd328fa.esm.js';
|
|
25
25
|
import '@babel/runtime-corejs3/core-js-stable/url';
|
|
26
|
+
import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
|
|
26
27
|
import { customProperties, designTokens, ThemeProvider } from '@commercetools-uikit/design-system';
|
|
27
28
|
import Spacings from '@commercetools-uikit/spacings';
|
|
28
29
|
import { defineMessages, useIntl, FormattedMessage, IntlProvider } from 'react-intl';
|
|
@@ -30,6 +31,7 @@ import FlatButton from '@commercetools-uikit/flat-button';
|
|
|
30
31
|
import { AngleLeftIcon } from '@commercetools-uikit/icons';
|
|
31
32
|
import { l as location } from './location-f21dbc25.esm.js';
|
|
32
33
|
import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
|
|
34
|
+
import _taggedTemplateLiteral from '@babel/runtime-corejs3/helpers/esm/taggedTemplateLiteral';
|
|
33
35
|
import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/esm/objectWithoutProperties';
|
|
34
36
|
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
|
|
35
37
|
import memoize from 'memoize-one';
|
|
@@ -70,9 +72,9 @@ import _someInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instanc
|
|
|
70
72
|
import { showUnexpectedErrorNotification } from '@commercetools-frontend/actions-global';
|
|
71
73
|
|
|
72
74
|
// NOTE: This string will be replaced on build time with the package version.
|
|
73
|
-
var version = "27.9.
|
|
75
|
+
var version = "27.9.1";
|
|
74
76
|
|
|
75
|
-
const RequestsInFlightLoader = /*#__PURE__*/lazy(() => import('./requests-in-flight-loader-
|
|
77
|
+
const RequestsInFlightLoader = /*#__PURE__*/lazy(() => import('./requests-in-flight-loader-c56604f2.esm.js' /* webpackChunkName: "requests-in-flight-loader" */));
|
|
76
78
|
|
|
77
79
|
// Attempt to load the `projectKey` from localStorage
|
|
78
80
|
function selectProjectKeyFromLocalStorage() {
|
|
@@ -98,7 +100,7 @@ var messages$1 = defineMessages({
|
|
|
98
100
|
* A full page reload is needed as the user's project may have changed (deletions and/or additions).
|
|
99
101
|
* As a result the project and user queries need refetching.
|
|
100
102
|
*/
|
|
101
|
-
const redirectToProject = key => location.replace(
|
|
103
|
+
const redirectToProject = key => location.replace("/".concat(key));
|
|
102
104
|
const BackToProject = props => {
|
|
103
105
|
const intl = useIntl();
|
|
104
106
|
return jsx(FlatButton, {
|
|
@@ -109,14 +111,8 @@ const BackToProject = props => {
|
|
|
109
111
|
};
|
|
110
112
|
BackToProject.displayName = 'BackToProject';
|
|
111
113
|
|
|
112
|
-
|
|
113
|
-
0% {
|
|
114
|
-
background-color: ${customProperties.colorNeutral};
|
|
115
|
-
}
|
|
116
|
-
100% {
|
|
117
|
-
background-color: ${customProperties.colorNeutral95};
|
|
118
|
-
}
|
|
119
|
-
`;
|
|
114
|
+
var _templateObject;
|
|
115
|
+
const animationPulse = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n background-color: ", ";\n }\n 100% {\n background-color: ", ";\n }\n"])), customProperties.colorNeutral, customProperties.colorNeutral95);
|
|
120
116
|
const getWidthBySize = props => {
|
|
121
117
|
switch (props.shape) {
|
|
122
118
|
case 'dot':
|
|
@@ -321,14 +317,15 @@ const ProjectSwitcher = props => {
|
|
|
321
317
|
onChange: event => {
|
|
322
318
|
const selectedProjectKey = event.target.value;
|
|
323
319
|
if (selectedProjectKey !== props.projectKey) {
|
|
324
|
-
|
|
320
|
+
var _window$app$__DEVELOP;
|
|
321
|
+
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP !== void 0 && _window$app$__DEVELOP.authorizeUrl) {
|
|
325
322
|
oidcStorage.setActiveProjectKey(selectedProjectKey);
|
|
326
323
|
}
|
|
327
324
|
|
|
328
325
|
// We simply redirect to a "new" browser page, instead of using the
|
|
329
326
|
// history router. This will simplify a lot of things and avoid possible
|
|
330
327
|
// problems like e.g. resetting the store/state.
|
|
331
|
-
redirectTo(
|
|
328
|
+
redirectTo("/".concat(selectedProjectKey));
|
|
332
329
|
}
|
|
333
330
|
},
|
|
334
331
|
options: data && data.user && mapProjectsToOptions(data.user.projects.results) || [],
|
|
@@ -359,7 +356,7 @@ ProjectSwitcher.displayName = 'ProjectSwitcher';
|
|
|
359
356
|
// eslint-disable-next-line import/prefer-default-export
|
|
360
357
|
const REQUESTS_IN_FLIGHT_LOADER_DOM_ID = 'loader-for-requests-in-flight';
|
|
361
358
|
|
|
362
|
-
const UserSettingsMenu = /*#__PURE__*/lazy(() => import('./user-settings-menu-
|
|
359
|
+
const UserSettingsMenu = /*#__PURE__*/lazy(() => import('./user-settings-menu-bcb676d5.esm.js' /* webpackChunkName: "user-settings-menu" */));
|
|
363
360
|
|
|
364
361
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$2() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
365
362
|
var _ref$1 = process.env.NODE_ENV === "production" ? {
|
|
@@ -387,7 +384,8 @@ var _ref3$1 = process.env.NODE_ENV === "production" ? {
|
|
|
387
384
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2
|
|
388
385
|
};
|
|
389
386
|
const AppBar = props => {
|
|
390
|
-
|
|
387
|
+
var _props$user$defaultPr, _props$user;
|
|
388
|
+
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);
|
|
391
389
|
return jsxs("div", {
|
|
392
390
|
css: /*#__PURE__*/css("background-color:", designTokens.colorSurface, ";box-shadow:0px 2px 5px 0px rgba(0, 0, 0, 0.15);padding:0 40px;min-height:", DIMENSIONS.header, ";position:relative;width:100%;z-index:20000;display:flex;align-items:center;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCYyIsImZpbGUiOiJhcHAtYmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IFByb2plY3RTdGFtcCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIGFzIHVpa2l0RGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgQ09OVEFJTkVSUywgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBCYWNrVG9Qcm9qZWN0IGZyb20gJy4uL2JhY2stdG8tcHJvamVjdCc7XG5pbXBvcnQgTG9hZGluZ1BsYWNlaG9sZGVyIGZyb20gJy4uL2xvYWRpbmctcGxhY2Vob2xkZXInO1xuaW1wb3J0IFByb2plY3RTd2l0Y2hlciBmcm9tICcuLi9wcm9qZWN0LXN3aXRjaGVyJztcbmltcG9ydCB7IFJFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEIH0gZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlci9jb25zdGFudHMnO1xuaW1wb3J0IFVzZXJTZXR0aW5nc01lbnUgZnJvbSAnLi4vdXNlci1zZXR0aW5ncy1tZW51JztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBBcHBCYXIgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IHByZXZpb3VzUHJvamVjdEtleSA9IGdldFByZXZpb3VzUHJvamVjdEtleShcbiAgICBwcm9wcy51c2VyPy5kZWZhdWx0UHJvamVjdEtleSA/PyB1bmRlZmluZWRcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICR7RElNRU5TSU9OUy5oZWFkZXJ9O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyMDAwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYH1cbiAgICAgIGRhdGEtdGVzdD1cInRvcC1uYXZpZ2F0aW9uXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzU1fTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJtXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBnYXA6ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwicmVjdFwiIHNpemU9XCJzXCIgLz47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gVGhlIGA8UHJvamVjdFN3aXRjaGVyPmAgc2hvdWxkIGJlIHJlbmRlcmVkIG9ubHkgaWYgdGhlXG4gICAgICAgICAgICAgIC8vIHVzZXIgaXMgZmV0Y2hlZCBhbmQgdGhlIHVzZXIgaGFzIHByb2plY3RzIHdoaWxlIHRoZSBhcHAgcnVucyBpbiBhbiBwcm9qZWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgIGlmIChwcm9wcy51c2VyLnByb2plY3RzLnRvdGFsID4gMCAmJiBwcm9wcy5wcm9qZWN0S2V5RnJvbVVybCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUHJvamVjdCA9IHByb3BzLnVzZXIucHJvamVjdHMucmVzdWx0cy5maW5kKFxuICAgICAgICAgICAgICAgICAgKHByb2plY3QpID0+IHByb2plY3Qua2V5ID09PSBwcm9wcy5wcm9qZWN0S2V5RnJvbVVybFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICBnYXA6ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzIwfTtcbiAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7c2VsZWN0ZWRQcm9qZWN0Py5pc1Byb2R1Y3Rpb25Qcm9qZWN0ICYmIChcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdFN0YW1wLklzUHJvZHVjdGlvbiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8UHJvamVjdFN3aXRjaGVyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBjaGVjayBpZiB0aGUgYHByb2plY3RLZXlgIHBhcmFtXG4gICAgICAgICAgICAgICAgICAgICAgLy8gaXMgaW5jbHVkZWQgaW4gdGhlIGxpc3Qgb2YgcHJvamVjdHMuIEluIHN1Y2ggY2FzZVxuICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBkcm9wZG93biB3aWxsIHN0aWxsIGJlIHJlbmRlcmVkIGJ1dCBubyBwcm9qZWN0IHdpbGwgYmUgc2VsZWN0ZWQuXG4gICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBmaW5lIGJlY2FzZSB0aGUgdXNlciBoYXMgc3RpbGwgdGhlIHBvc3NpYmlsaXR5IHRvIFwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAvLyB0byBhIHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvcHMucHJvamVjdEtleUZyb21VcmwgfHwgcHJldmlvdXNQcm9qZWN0S2V5fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoIXByb3BzLnVzZXIuZGVmYXVsdFByb2plY3RLZXkpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICByZXR1cm4gPEJhY2tUb1Byb2plY3QgcHJvamVjdEtleT17cHJldmlvdXNQcm9qZWN0S2V5fSAvPjtcbiAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICB7LyogVGhpcyBub2RlIGlzIHVzZWQgYnkgYSByZWFjdCBwb3J0YWwgKi99XG4gICAgICAgICAgICA8ZGl2IGlkPXtDT05UQUlORVJTLkxPQ0FMRV9TV0lUQ0hFUn0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBpZD17UkVRVUVTVFNfSU5fRkxJR0hUX0xPQURFUl9ET01fSUR9XG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXYgaWQ9e0NPTlRBSU5FUlMuTEVGVF9PRl9QUk9GSUxFfT48L2Rpdj5cbiAgICAgICAge3Byb3BzLnVzZXIgPyAoXG4gICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVcbiAgICAgICAgICAgIGxhbmd1YWdlPXtwcm9wcy51c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy51c2VyLmZpcnN0TmFtZX1cbiAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy51c2VyLmxhc3ROYW1lfVxuICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy51c2VyLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgIGVtYWlsPXtwcm9wcy51c2VyLmVtYWlsfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cImRvdFwiIHNpemU9XCJsXCIgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbkFwcEJhci5kaXNwbGF5TmFtZSA9ICdBcHBCYXInO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBCYXI7XG4iXX0= */"),
|
|
393
391
|
"data-test": "top-navigation",
|
|
@@ -412,7 +410,7 @@ const AppBar = props => {
|
|
|
412
410
|
const selectedProject = _findInstanceProperty(_context = props.user.projects.results).call(_context, project => project.key === props.projectKeyFromUrl);
|
|
413
411
|
return jsxs("div", {
|
|
414
412
|
css: /*#__PURE__*/css("display:flex;gap:", designTokens.spacing20, ";align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFFNEIiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBQcm9qZWN0U3RhbXAgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyB1aWtpdERlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IENPTlRBSU5FUlMsIERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hMb2dnZWRJblVzZXJRdWVyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgeyBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQmFja1RvUHJvamVjdCBmcm9tICcuLi9iYWNrLXRvLXByb2plY3QnO1xuaW1wb3J0IExvYWRpbmdQbGFjZWhvbGRlciBmcm9tICcuLi9sb2FkaW5nLXBsYWNlaG9sZGVyJztcbmltcG9ydCBQcm9qZWN0U3dpdGNoZXIgZnJvbSAnLi4vcHJvamVjdC1zd2l0Y2hlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIHVzZXI6IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5Wyd1c2VyJ107XG4gIHByb2plY3RLZXlGcm9tVXJsPzogc3RyaW5nO1xufTtcblxuY29uc3QgQXBwQmFyID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPSBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgcHJvcHMudXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz8gdW5kZWZpbmVkXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRlc3Q9XCJ0b3AtbmF2aWdhdGlvblwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmc1NX07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZ2FwOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmczMH07XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLnVzZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cInJlY3RcIiBzaXplPVwic1wiIC8+O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFRoZSBgPFByb2plY3RTd2l0Y2hlcj5gIHNob3VsZCBiZSByZW5kZXJlZCBvbmx5IGlmIHRoZVxuICAgICAgICAgICAgICAvLyB1c2VyIGlzIGZldGNoZWQgYW5kIHRoZSB1c2VyIGhhcyBwcm9qZWN0cyB3aGlsZSB0aGUgYXBwIHJ1bnMgaW4gYW4gcHJvamVjdCBjb250ZXh0LlxuICAgICAgICAgICAgICBpZiAocHJvcHMudXNlci5wcm9qZWN0cy50b3RhbCA+IDAgJiYgcHJvcHMucHJvamVjdEtleUZyb21VcmwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZFByb2plY3QgPSBwcm9wcy51c2VyLnByb2plY3RzLnJlc3VsdHMuZmluZChcbiAgICAgICAgICAgICAgICAgIChwcm9qZWN0KSA9PiBwcm9qZWN0LmtleSA9PT0gcHJvcHMucHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgZ2FwOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcyMH07XG4gICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3NlbGVjdGVkUHJvamVjdD8uaXNQcm9kdWN0aW9uUHJvamVjdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RTdGFtcC5Jc1Byb2R1Y3Rpb24gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPFByb2plY3RTd2l0Y2hlclxuICAgICAgICAgICAgICAgICAgICAgIC8vIEluIHRoaXMgY2FzZSBpdCdzIG5vdCBuZWNlc3NhcnkgdG8gY2hlY2sgaWYgdGhlIGBwcm9qZWN0S2V5YCBwYXJhbVxuICAgICAgICAgICAgICAgICAgICAgIC8vIGlzIGluY2x1ZGVkIGluIHRoZSBsaXN0IG9mIHByb2plY3RzLiBJbiBzdWNoIGNhc2VcbiAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZHJvcGRvd24gd2lsbCBzdGlsbCBiZSByZW5kZXJlZCBidXQgbm8gcHJvamVjdCB3aWxsIGJlIHNlbGVjdGVkLlxuICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgZmluZSBiZWNhc2UgdGhlIHVzZXIgaGFzIHN0aWxsIHRoZSBwb3NzaWJpbGl0eSB0byBcInN3aXRjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgLy8gdG8gYSBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXlGcm9tVXJsIHx8IHByZXZpb3VzUHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy51c2VyLmRlZmF1bHRQcm9qZWN0S2V5KSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgcmV0dXJuIDxCYWNrVG9Qcm9qZWN0IHByb2plY3RLZXk9e3ByZXZpb3VzUHJvamVjdEtleX0gLz47XG4gICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgey8qIFRoaXMgbm9kZSBpcyB1c2VkIGJ5IGEgcmVhY3QgcG9ydGFsICovfVxuICAgICAgICAgICAgPGRpdiBpZD17Q09OVEFJTkVSUy5MT0NBTEVfU1dJVENIRVJ9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPFNwYWNpbmdzLklubGluZT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgaWQ9e1JFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEfVxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8ZGl2IGlkPXtDT05UQUlORVJTLkxFRlRfT0ZfUFJPRklMRX0+PC9kaXY+XG4gICAgICAgIHtwcm9wcy51c2VyID8gKFxuICAgICAgICAgIDxVc2VyU2V0dGluZ3NNZW51XG4gICAgICAgICAgICBsYW5ndWFnZT17cHJvcHMudXNlci5sYW5ndWFnZX1cbiAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMudXNlci5maXJzdE5hbWV9XG4gICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMudXNlci5sYXN0TmFtZX1cbiAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMudXNlci5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICBlbWFpbD17cHJvcHMudXNlci5lbWFpbH1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibFwiIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5BcHBCYXIuZGlzcGxheU5hbWUgPSAnQXBwQmFyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwQmFyO1xuIl19 */"),
|
|
415
|
-
children: [selectedProject
|
|
413
|
+
children: [(selectedProject === null || selectedProject === void 0 ? void 0 : selectedProject.isProductionProject) && jsx("div", {
|
|
416
414
|
css: _ref3$1,
|
|
417
415
|
children: jsx(ProjectStamp.IsProduction, {})
|
|
418
416
|
}), jsx(ProjectSwitcher
|
|
@@ -481,7 +479,7 @@ const Passthrough = _ref => {
|
|
|
481
479
|
children: children
|
|
482
480
|
});
|
|
483
481
|
};
|
|
484
|
-
const LazyApplicationShellSplitter = /*#__PURE__*/lazy(() => import('./application-shell-splitter-
|
|
482
|
+
const LazyApplicationShellSplitter = /*#__PURE__*/lazy(() => import('./application-shell-splitter-2c38991b.esm.js' /* webpackChunkName: "application-shell-splitter" */)
|
|
485
483
|
// When `@commercetools/nimbus` is not installed, the mc-scripts bundler
|
|
486
484
|
// fallback stubs it to an empty module so the build succeeds — but the
|
|
487
485
|
// splitter's Nimbus bindings are then `undefined`. `hasNimbus` reflects that;
|
|
@@ -587,32 +585,40 @@ const FetchUser = props => {
|
|
|
587
585
|
};
|
|
588
586
|
FetchUser.displayName = 'FetchUser';
|
|
589
587
|
|
|
590
|
-
const Navbar = /*#__PURE__*/lazy(() => import('./navbar-
|
|
588
|
+
const Navbar = /*#__PURE__*/lazy(() => import('./navbar-5290186f.esm.js' /* webpackChunkName: "navbar" */));
|
|
591
589
|
|
|
592
|
-
const ProjectContainer = /*#__PURE__*/lazy(() => import('./project-container-
|
|
590
|
+
const ProjectContainer = /*#__PURE__*/lazy(() => import('./project-container-ad07cd24.esm.js' /* webpackChunkName: "project-container" */));
|
|
593
591
|
|
|
594
|
-
const RedirectToLogout = /*#__PURE__*/lazy(() => import('./redirect-to-logout-
|
|
592
|
+
const RedirectToLogout = /*#__PURE__*/lazy(() => import('./redirect-to-logout-9994a431.esm.js' /* webpackChunkName: "redirect-to-logout" */));
|
|
595
593
|
|
|
596
594
|
const RedirectToProjectCreate = /*#__PURE__*/lazy(() => import('./redirect-to-project-create-9249e554.esm.js' /* webpackChunkName: "redirect-to-project-create" */));
|
|
597
595
|
|
|
598
596
|
function ownKeys$9(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; }
|
|
599
597
|
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(_context2 = ownKeys$9(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys$9(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
600
|
-
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 } } } };
|
|
598
|
+
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 } } } }; // The LaunchDarkly client-side SDK requires a context to either provide a
|
|
599
|
+
// `key` (non-anonymous) or be marked as `anonymous: true` (in which case the
|
|
600
|
+
// SDK generates a key for it). A context can never satisfy both branches at
|
|
601
|
+
// once, so we model this as a union rather than making `key` optional.
|
|
601
602
|
// This value is hard-coded here because we want to make sure that the
|
|
602
603
|
// app uses our account of LD. The value is meant to be public, so there
|
|
603
604
|
// is no need to be concerned about security.
|
|
604
605
|
const ldClientSideIdProduction = '5979d95f6040390cd07b5e01';
|
|
605
606
|
function getUserContextForLaunchDarklyAdapter(user, projectKey) {
|
|
606
|
-
|
|
607
|
+
var _user$launchdarklyTra, _user$launchdarklyTra2, _user$launchdarklyTra3, _user$launchdarklyTra4, _user$launchdarklyTra5;
|
|
608
|
+
const base = {
|
|
607
609
|
kind: 'user',
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
cloudEnvironment: user?.launchdarklyTrackingCloudEnvironment ?? ''
|
|
610
|
+
project: projectKey !== null && projectKey !== void 0 ? projectKey : '',
|
|
611
|
+
id: (_user$launchdarklyTra = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingId) !== null && _user$launchdarklyTra !== void 0 ? _user$launchdarklyTra : '',
|
|
612
|
+
team: (_user$launchdarklyTra2 = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingTeam) !== null && _user$launchdarklyTra2 !== void 0 ? _user$launchdarklyTra2 : [],
|
|
613
|
+
group: (_user$launchdarklyTra3 = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingGroup) !== null && _user$launchdarklyTra3 !== void 0 ? _user$launchdarklyTra3 : '',
|
|
614
|
+
subgroup: (_user$launchdarklyTra4 = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingSubgroup) !== null && _user$launchdarklyTra4 !== void 0 ? _user$launchdarklyTra4 : '',
|
|
615
|
+
cloudEnvironment: (_user$launchdarklyTra5 = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingCloudEnvironment) !== null && _user$launchdarklyTra5 !== void 0 ? _user$launchdarklyTra5 : ''
|
|
615
616
|
};
|
|
617
|
+
return user !== null && user !== void 0 && user.id ? _objectSpread$9(_objectSpread$9({}, base), {}, {
|
|
618
|
+
key: user.id
|
|
619
|
+
}) : _objectSpread$9(_objectSpread$9({}, base), {}, {
|
|
620
|
+
anonymous: true
|
|
621
|
+
});
|
|
616
622
|
}
|
|
617
623
|
const parseFlags = fetchedFlags => {
|
|
618
624
|
var _context;
|
|
@@ -643,47 +649,52 @@ const SetupFlopFlipProvider = props => {
|
|
|
643
649
|
}
|
|
644
650
|
}, [enableLongLivedFeatureFlags]);
|
|
645
651
|
const defaultFlags = useMemo(() => _objectSpread$9(_objectSpread$9({}, featureFlags.DEFAULT_FLAGS), props.defaultFlags), [props.defaultFlags]);
|
|
646
|
-
const adapterArgs = useMemo(() =>
|
|
647
|
-
user
|
|
648
|
-
|
|
649
|
-
},
|
|
650
|
-
launchdarkly: {
|
|
651
|
-
cacheIdentifier: cacheIdentifiers.local,
|
|
652
|
-
cacheMode: getCacheMode(adapterIdentifiers.launchdarkly),
|
|
653
|
-
sdk: {
|
|
654
|
-
// Allow to overwrite the client ID, passed via the `additionalEnv` properties
|
|
655
|
-
// of the application config.
|
|
656
|
-
// This is mostly useful for internal usage on our staging environments.
|
|
657
|
-
clientSideId: props.ldClientSideId ?? ldClientSideIdProduction,
|
|
658
|
-
clientOptions: {
|
|
659
|
-
sendEventsOnlyForVariation: true
|
|
660
|
-
}
|
|
661
|
-
},
|
|
662
|
-
flags,
|
|
663
|
-
context: getUserContextForLaunchDarklyAdapter(props.user, props.projectKey)
|
|
664
|
-
},
|
|
665
|
-
http: {
|
|
666
|
-
// polling interval set to 15 minutes
|
|
667
|
-
pollingIntervalMs: 1000 * 60 * 15,
|
|
668
|
-
cacheIdentifier: cacheIdentifiers.local,
|
|
669
|
-
cacheMode: getCacheMode(adapterIdentifiers.http),
|
|
652
|
+
const adapterArgs = useMemo(() => {
|
|
653
|
+
var _props$user, _props$ldClientSideId, _props$user2;
|
|
654
|
+
return {
|
|
670
655
|
user: {
|
|
671
|
-
key: props.user
|
|
656
|
+
key: (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.id
|
|
672
657
|
},
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
658
|
+
launchdarkly: {
|
|
659
|
+
cacheIdentifier: cacheIdentifiers.local,
|
|
660
|
+
cacheMode: getCacheMode(adapterIdentifiers.launchdarkly),
|
|
661
|
+
sdk: {
|
|
662
|
+
// Allow to overwrite the client ID, passed via the `additionalEnv` properties
|
|
663
|
+
// of the application config.
|
|
664
|
+
// This is mostly useful for internal usage on our staging environments.
|
|
665
|
+
clientSideId: (_props$ldClientSideId = props.ldClientSideId) !== null && _props$ldClientSideId !== void 0 ? _props$ldClientSideId : ldClientSideIdProduction
|
|
666
|
+
// `sendEventsOnlyForVariation` was removed in @launchdarkly/js-client-sdk v4
|
|
667
|
+
// (formerly launchdarkly-js-client-sdk v3). It is no longer needed: as of v4,
|
|
668
|
+
// `allFlags` no longer sends analytics events by default, which is exactly the
|
|
669
|
+
// behavior this option used to opt into.
|
|
670
|
+
},
|
|
671
|
+
flags,
|
|
672
|
+
context: getUserContextForLaunchDarklyAdapter(props.user, props.projectKey)
|
|
673
|
+
},
|
|
674
|
+
http: {
|
|
675
|
+
// polling interval set to 15 minutes
|
|
676
|
+
pollingIntervalMs: 1000 * 60 * 15,
|
|
677
|
+
cacheIdentifier: cacheIdentifiers.local,
|
|
678
|
+
cacheMode: getCacheMode(adapterIdentifiers.http),
|
|
679
|
+
user: {
|
|
680
|
+
key: (_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id
|
|
681
|
+
},
|
|
682
|
+
execute: async adapterArgs => {
|
|
683
|
+
var _adapterArgs$user;
|
|
684
|
+
const response = await apolloClient.query({
|
|
685
|
+
query: AllFeaturesQuery,
|
|
686
|
+
errorPolicy: 'ignore',
|
|
687
|
+
fetchPolicy: 'network-only',
|
|
688
|
+
context: {
|
|
689
|
+
target: GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
|
|
690
|
+
projectKey: (_adapterArgs$user = adapterArgs.user) === null || _adapterArgs$user === void 0 ? void 0 : _adapterArgs$user.project
|
|
691
|
+
}
|
|
692
|
+
});
|
|
693
|
+
return parseFlags(response.data);
|
|
694
|
+
}
|
|
684
695
|
}
|
|
685
|
-
}
|
|
686
|
-
}
|
|
696
|
+
};
|
|
697
|
+
}, [apolloClient, flags, props.ldClientSideId, props.projectKey, props.user]);
|
|
687
698
|
|
|
688
699
|
/**
|
|
689
700
|
* The `<ApplicationShell />` tests itself. When it does so it can not setup and use
|
|
@@ -843,16 +854,16 @@ const ApplicationShellAuthenticated = props => {
|
|
|
843
854
|
const projectKeyFromUrl = selectProjectKeyFromUrl(location.pathname);
|
|
844
855
|
|
|
845
856
|
// Check if user is ct staff, and if so get language selected via staff bar from local storage
|
|
846
|
-
const staffBarLanguage = user
|
|
857
|
+
const staffBarLanguage = (user === null || user === void 0 ? void 0 : user.launchdarklyTrackingGroup) === 'commercetools' || (user === null || user === void 0 ? void 0 : user.launchdarklyTrackingGroup) === 'mailosaur' ? selectUserLanguageFromStorage() : undefined;
|
|
847
858
|
const normalizedUser = user ? _objectSpread$8(_objectSpread$8({}, user), {}, {
|
|
848
859
|
// set the staff bar language if applicable
|
|
849
|
-
language: staffBarLanguage
|
|
860
|
+
language: staffBarLanguage !== null && staffBarLanguage !== void 0 ? staffBarLanguage : user.language
|
|
850
861
|
}) : undefined;
|
|
851
862
|
return jsx(ApplicationContextProvider, {
|
|
852
863
|
user: normalizedUser,
|
|
853
864
|
environment: applicationEnvironment,
|
|
854
865
|
children: jsx(AsyncLocaleData, {
|
|
855
|
-
locale: normalizedUser
|
|
866
|
+
locale: normalizedUser === null || normalizedUser === void 0 ? void 0 : normalizedUser.language,
|
|
856
867
|
applicationMessages: props.applicationMessages,
|
|
857
868
|
children: _ref8 => {
|
|
858
869
|
let isLoadingLocaleData = _ref8.isLoading,
|
|
@@ -872,7 +883,7 @@ const ApplicationShellAuthenticated = props => {
|
|
|
872
883
|
flags: props.featureFlags,
|
|
873
884
|
defaultFlags: props.defaultFeatureFlags,
|
|
874
885
|
children: jsxs(ApplicationShellSplitterWrapper, {
|
|
875
|
-
locale: locale
|
|
886
|
+
locale: locale !== null && locale !== void 0 ? locale : 'en',
|
|
876
887
|
children: [jsx(ThemeSwitcher, {}), jsx(RequestsInFlightLoader, {}), jsx(SentryUserTracker, {
|
|
877
888
|
user: normalizedUser
|
|
878
889
|
}), jsxs("div", {
|
|
@@ -977,8 +988,8 @@ const ApplicationShellAuthenticated = props => {
|
|
|
977
988
|
}), jsx(Route, {
|
|
978
989
|
exact: true,
|
|
979
990
|
path: "/",
|
|
980
|
-
children: (
|
|
981
|
-
const previousProjectKey = getPreviousProjectKey(normalizedUser
|
|
991
|
+
children: (_normalizedUser$defau => {
|
|
992
|
+
const previousProjectKey = getPreviousProjectKey((_normalizedUser$defau = normalizedUser === null || normalizedUser === void 0 ? void 0 : normalizedUser.defaultProjectKey) !== null && _normalizedUser$defau !== void 0 ? _normalizedUser$defau : undefined);
|
|
982
993
|
|
|
983
994
|
/**
|
|
984
995
|
* NOTE:
|
|
@@ -991,7 +1002,7 @@ const ApplicationShellAuthenticated = props => {
|
|
|
991
1002
|
if (!normalizedUser) return jsx(ApplicationLoader, {});
|
|
992
1003
|
if (!previousProjectKey) return jsx(RedirectToProjectCreate, {});
|
|
993
1004
|
return jsx(Redirect, {
|
|
994
|
-
to:
|
|
1005
|
+
to: "/".concat(previousProjectKey)
|
|
995
1006
|
});
|
|
996
1007
|
})()
|
|
997
1008
|
}), jsx(Route, {
|
|
@@ -1170,31 +1181,37 @@ const withoutProjectKeyClaim = scope => {
|
|
|
1170
1181
|
return _filterInstanceProperty(_context = scope.split(' ')).call(_context, claim => !_startsWithInstanceProperty(claim).call(claim, OIDC_CLAIMS.PROJECT_KEY)).join(' ');
|
|
1171
1182
|
};
|
|
1172
1183
|
const hasCachedAuthenticationState = () => {
|
|
1173
|
-
|
|
1184
|
+
var _window$app$__DEVELOP;
|
|
1185
|
+
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP !== void 0 && _window$app$__DEVELOP.authorizeUrl) {
|
|
1174
1186
|
try {
|
|
1187
|
+
var _window$app$__DEVELOP8, _window$app$__DEVELOP9, _window$app$__DEVELOP0, _window$app$__DEVELOP1;
|
|
1175
1188
|
let activeProjectKey = oidcStorage.getActiveProjectKey();
|
|
1176
1189
|
if (activeProjectKey) {
|
|
1190
|
+
var _window$app$__DEVELOP2, _window$app$__DEVELOP3, _window$app$__DEVELOP4;
|
|
1177
1191
|
// GIVEN The application is not requesting a project key,
|
|
1178
1192
|
// THEN we assume that the application does not need a project context.
|
|
1179
1193
|
// GIVEN The application is not requesting a project key,
|
|
1180
1194
|
// THEN we remove the cached project key.
|
|
1181
1195
|
// This is the case of an application like `account`.
|
|
1182
|
-
if (!window.app.__DEVELOPMENT__
|
|
1196
|
+
if (!((_window$app$__DEVELOP2 = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP2 !== void 0 && (_window$app$__DEVELOP2 = _window$app$__DEVELOP2.oidc) !== null && _window$app$__DEVELOP2 !== void 0 && _window$app$__DEVELOP2.initialProjectKey)) {
|
|
1183
1197
|
oidcStorage.removeActiveProjectKey();
|
|
1184
1198
|
}
|
|
1185
1199
|
|
|
1186
1200
|
// If the project key we had in the storage does not match the one
|
|
1187
1201
|
// we have in the development config, then we need to discard it and
|
|
1188
1202
|
// use the one from the development config.
|
|
1189
|
-
if (window.app.__DEVELOPMENT__
|
|
1190
|
-
|
|
1203
|
+
if ((_window$app$__DEVELOP3 = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP3 !== void 0 && (_window$app$__DEVELOP3 = _window$app$__DEVELOP3.oidc) !== null && _window$app$__DEVELOP3 !== void 0 && _window$app$__DEVELOP3.initialProjectKey && ((_window$app$__DEVELOP4 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP4 === void 0 || (_window$app$__DEVELOP4 = _window$app$__DEVELOP4.oidc) === null || _window$app$__DEVELOP4 === void 0 ? void 0 : _window$app$__DEVELOP4.initialProjectKey) !== activeProjectKey) {
|
|
1204
|
+
var _window$app$__DEVELOP5;
|
|
1205
|
+
activeProjectKey = (_window$app$__DEVELOP5 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP5 === void 0 || (_window$app$__DEVELOP5 = _window$app$__DEVELOP5.oidc) === null || _window$app$__DEVELOP5 === void 0 ? void 0 : _window$app$__DEVELOP5.initialProjectKey;
|
|
1191
1206
|
oidcStorage.setActiveProjectKey(activeProjectKey);
|
|
1192
1207
|
}
|
|
1193
1208
|
} else {
|
|
1194
|
-
|
|
1209
|
+
var _window$app$__DEVELOP6;
|
|
1210
|
+
if ((_window$app$__DEVELOP6 = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP6 !== void 0 && (_window$app$__DEVELOP6 = _window$app$__DEVELOP6.oidc) !== null && _window$app$__DEVELOP6 !== void 0 && _window$app$__DEVELOP6.initialProjectKey) {
|
|
1211
|
+
var _window$app$__DEVELOP7;
|
|
1195
1212
|
// Here we store the initial project key in local storage,
|
|
1196
1213
|
// so that it gets picked up when we initiate the login flow.
|
|
1197
|
-
oidcStorage.setActiveProjectKey(window.app.__DEVELOPMENT__
|
|
1214
|
+
oidcStorage.setActiveProjectKey((_window$app$__DEVELOP7 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP7 === void 0 || (_window$app$__DEVELOP7 = _window$app$__DEVELOP7.oidc) === null || _window$app$__DEVELOP7 === void 0 ? void 0 : _window$app$__DEVELOP7.initialProjectKey);
|
|
1198
1215
|
}
|
|
1199
1216
|
}
|
|
1200
1217
|
|
|
@@ -1209,11 +1226,11 @@ const hasCachedAuthenticationState = () => {
|
|
|
1209
1226
|
}
|
|
1210
1227
|
// Rebuild the requested OIDC scope to verify that it didn't change.
|
|
1211
1228
|
const requestedScope = buildOidcScope({
|
|
1212
|
-
projectKey: activeProjectKey
|
|
1213
|
-
oAuthScopes: window.app.__DEVELOPMENT__
|
|
1214
|
-
additionalOAuthScopes: window.app.__DEVELOPMENT__
|
|
1215
|
-
teamId: window.app.__DEVELOPMENT__
|
|
1216
|
-
applicationId: window.app.__DEVELOPMENT__
|
|
1229
|
+
projectKey: activeProjectKey !== null && activeProjectKey !== void 0 ? activeProjectKey : undefined,
|
|
1230
|
+
oAuthScopes: (_window$app$__DEVELOP8 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP8 === void 0 || (_window$app$__DEVELOP8 = _window$app$__DEVELOP8.oidc) === null || _window$app$__DEVELOP8 === void 0 ? void 0 : _window$app$__DEVELOP8.oAuthScopes,
|
|
1231
|
+
additionalOAuthScopes: (_window$app$__DEVELOP9 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP9 === void 0 || (_window$app$__DEVELOP9 = _window$app$__DEVELOP9.oidc) === null || _window$app$__DEVELOP9 === void 0 ? void 0 : _window$app$__DEVELOP9.additionalOAuthScopes,
|
|
1232
|
+
teamId: (_window$app$__DEVELOP0 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP0 === void 0 || (_window$app$__DEVELOP0 = _window$app$__DEVELOP0.oidc) === null || _window$app$__DEVELOP0 === void 0 ? void 0 : _window$app$__DEVELOP0.teamId,
|
|
1233
|
+
applicationId: (_window$app$__DEVELOP1 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP1 === void 0 || (_window$app$__DEVELOP1 = _window$app$__DEVELOP1.oidc) === null || _window$app$__DEVELOP1 === void 0 ? void 0 : _window$app$__DEVELOP1.applicationId
|
|
1217
1234
|
});
|
|
1218
1235
|
// Omit the project key from the check. This allows to switch projects
|
|
1219
1236
|
// without having to log in again.
|
|
@@ -1231,11 +1248,12 @@ const hasCachedAuthenticationState = () => {
|
|
|
1231
1248
|
return window.localStorage.getItem(STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
|
|
1232
1249
|
};
|
|
1233
1250
|
|
|
1234
|
-
const OidcCallback = /*#__PURE__*/lazy(() => import('./oidc-callback-
|
|
1251
|
+
const OidcCallback = /*#__PURE__*/lazy(() => import('./oidc-callback-a6d80251.esm.js' /* webpackChunkName: "oidc-callback" */));
|
|
1235
1252
|
|
|
1236
1253
|
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; }
|
|
1237
1254
|
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; }
|
|
1238
1255
|
const Authenticated = props => {
|
|
1256
|
+
var _window$app$__DEVELOP;
|
|
1239
1257
|
// We attempt to see if the user was already authenticated by looking
|
|
1240
1258
|
// at the "cached" flag in local storage.
|
|
1241
1259
|
const cachedAuthenticationState = hasCachedAuthenticationState();
|
|
@@ -1249,7 +1267,7 @@ const Authenticated = props => {
|
|
|
1249
1267
|
|
|
1250
1268
|
// When using the OIDC workflow, we always return false, to trigger
|
|
1251
1269
|
// the redirect to the login page.
|
|
1252
|
-
if (window.app.__DEVELOPMENT__
|
|
1270
|
+
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP !== void 0 && _window$app$__DEVELOP.authorizeUrl) {
|
|
1253
1271
|
return jsx(Fragment, {
|
|
1254
1272
|
children: props.render({
|
|
1255
1273
|
isAuthenticated: false
|
|
@@ -1263,13 +1281,13 @@ const Authenticated = props => {
|
|
|
1263
1281
|
Authenticated.displayName = 'Authenticated';
|
|
1264
1282
|
const AuthenticationRoutes = props => jsxs(Switch, {
|
|
1265
1283
|
children: [jsx(SuspendedRoute, {
|
|
1266
|
-
path:
|
|
1284
|
+
path: "/account/oidc/callback",
|
|
1267
1285
|
children: jsx(OidcCallback, {
|
|
1268
1286
|
locale: props.locale,
|
|
1269
1287
|
applicationMessages: props.applicationMessages
|
|
1270
1288
|
})
|
|
1271
1289
|
}), jsx(SuspendedRoute, {
|
|
1272
|
-
path:
|
|
1290
|
+
path: "/:projectKey/:identifier/oidc/callback",
|
|
1273
1291
|
children: jsx(OidcCallback, {
|
|
1274
1292
|
locale: props.locale,
|
|
1275
1293
|
applicationMessages: props.applicationMessages
|
|
@@ -1382,7 +1400,10 @@ const useCoercedEnvironmentValues = environment => {
|
|
|
1382
1400
|
};
|
|
1383
1401
|
|
|
1384
1402
|
const ApplicationShellProvider = props => {
|
|
1385
|
-
const apolloClient = useMemo(() =>
|
|
1403
|
+
const apolloClient = useMemo(() => {
|
|
1404
|
+
var _props$apolloClient;
|
|
1405
|
+
return (_props$apolloClient = props.apolloClient) !== null && _props$apolloClient !== void 0 ? _props$apolloClient : createApolloClient();
|
|
1406
|
+
}, [props.apolloClient]);
|
|
1386
1407
|
useEffect(() => {
|
|
1387
1408
|
setCachedApolloClient(apolloClient);
|
|
1388
1409
|
}, [apolloClient]);
|
|
@@ -1433,7 +1454,7 @@ const ApplicationShellProvider = props => {
|
|
|
1433
1454
|
};
|
|
1434
1455
|
ApplicationShellProvider.displayName = 'ApplicationShellProvider';
|
|
1435
1456
|
|
|
1436
|
-
const RedirectToLogin = /*#__PURE__*/lazy(() => import('./redirect-to-login-
|
|
1457
|
+
const RedirectToLogin = /*#__PURE__*/lazy(() => import('./redirect-to-login-c5629017.esm.js' /* webpackChunkName: "redirect-to-login" */));
|
|
1437
1458
|
|
|
1438
1459
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
1439
1460
|
const styles = process.env.NODE_ENV === "production" ? {
|
|
@@ -1461,7 +1482,8 @@ const StrictModeEnablement$1 = props => {
|
|
|
1461
1482
|
};
|
|
1462
1483
|
const ApplicationShell = props => {
|
|
1463
1484
|
useEffect(() => {
|
|
1464
|
-
|
|
1485
|
+
var _props$onRegisterErro;
|
|
1486
|
+
(_props$onRegisterErro = props.onRegisterErrorListeners) === null || _props$onRegisterErro === void 0 || _props$onRegisterErro.call(props, {
|
|
1465
1487
|
dispatch: internalReduxStore.dispatch
|
|
1466
1488
|
});
|
|
1467
1489
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -1501,14 +1523,18 @@ const ApplicationShell = props => {
|
|
|
1501
1523
|
ApplicationShell.displayName = 'ApplicationShell';
|
|
1502
1524
|
ApplicationShell.version = version;
|
|
1503
1525
|
|
|
1504
|
-
const CustomViewDevHost = /*#__PURE__*/lazy(() => import('./custom-view-dev-host-
|
|
1526
|
+
const CustomViewDevHost = /*#__PURE__*/lazy(() => import('./custom-view-dev-host-b47bb9bc.esm.js' /* webpackChunkName: "custom-view-dev-host" */));
|
|
1505
1527
|
|
|
1506
1528
|
function CustomViewFlopFlipProvider(props) {
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1529
|
+
var _props$user2;
|
|
1530
|
+
const adapterArgs = useMemo(() => {
|
|
1531
|
+
var _props$user;
|
|
1532
|
+
return {
|
|
1533
|
+
user: {
|
|
1534
|
+
key: (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.id
|
|
1535
|
+
}
|
|
1536
|
+
};
|
|
1537
|
+
}, [(_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id]);
|
|
1512
1538
|
return jsx(ConfigureFlopFlip, {
|
|
1513
1539
|
adapter: adapter$3,
|
|
1514
1540
|
defaultFlags: _flagsInstanceProperty(props),
|
|
@@ -1544,7 +1570,7 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1544
1570
|
return jsx(ApplicationLoader, {});
|
|
1545
1571
|
}
|
|
1546
1572
|
return jsx(AsyncLocaleData, {
|
|
1547
|
-
locale: user
|
|
1573
|
+
locale: (user === null || user === void 0 ? void 0 : user.language) || browserLocale,
|
|
1548
1574
|
applicationMessages: props.messages,
|
|
1549
1575
|
children: _ref2 => {
|
|
1550
1576
|
let isLoadingLocaleData = _ref2.isLoading,
|
|
@@ -1607,15 +1633,15 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1607
1633
|
const customViewsThemesOverrides = {
|
|
1608
1634
|
default: {
|
|
1609
1635
|
marginForCustomViewsSelectorAsTabular: '0',
|
|
1610
|
-
marginForPageContent:
|
|
1611
|
-
paddingForDetailPageHeader:
|
|
1636
|
+
marginForPageContent: "".concat(designTokens.spacing50, " 0"),
|
|
1637
|
+
paddingForDetailPageHeader: "0 0 ".concat(designTokens.spacing40, " 0"),
|
|
1612
1638
|
paddingForMainPageHeader: '0',
|
|
1613
1639
|
paddingForTabularPageHeader: '0'
|
|
1614
1640
|
}
|
|
1615
1641
|
};
|
|
1616
1642
|
|
|
1617
1643
|
function ownKeys$1(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; }
|
|
1618
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
1644
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys$1(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys$1(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1619
1645
|
const browserLocale = getBrowserLocale(window);
|
|
1620
1646
|
function NotificationsContainer(props) {
|
|
1621
1647
|
return jsxs(Fragment, {
|
|
@@ -1677,6 +1703,7 @@ function CustomViewThemeProvider() {
|
|
|
1677
1703
|
*/
|
|
1678
1704
|
const isLocalProdMode = process.env.NODE_ENV === 'production' && window.app.env === 'development';
|
|
1679
1705
|
function CustomViewShell(props) {
|
|
1706
|
+
var _window$app$__DEVELOP;
|
|
1680
1707
|
const _useState = useState(),
|
|
1681
1708
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1682
1709
|
hostContext = _useState2[0],
|
|
@@ -1692,20 +1719,21 @@ function CustomViewShell(props) {
|
|
|
1692
1719
|
if (event.data.eventName === CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_INITIALIZATION) {
|
|
1693
1720
|
setHostContext(event.data.eventData.context);
|
|
1694
1721
|
} else {
|
|
1695
|
-
console.warn(
|
|
1722
|
+
console.warn("CustomViewShell: Unknown received event with name: ".concat(event.data.eventName), {
|
|
1696
1723
|
event
|
|
1697
1724
|
});
|
|
1698
1725
|
}
|
|
1699
1726
|
}, []);
|
|
1700
1727
|
const handleClose = useCallback(() => {
|
|
1701
|
-
|
|
1728
|
+
var _iFrameCommunicationP, _context;
|
|
1729
|
+
(_iFrameCommunicationP = iFrameCommunicationPort.current) === null || _iFrameCommunicationP === void 0 || _iFrameCommunicationP.postMessage({
|
|
1702
1730
|
origin: window.location.origin,
|
|
1703
|
-
source:
|
|
1731
|
+
source: _concatInstanceProperty(_context = "".concat(CUSTOM_VIEWS_EVENTS_META.CUSTOM_VIEW_KEY_PREFIX)).call(_context, hostContext === null || hostContext === void 0 ? void 0 : hostContext.customViewConfig.id),
|
|
1704
1732
|
destination: CUSTOM_VIEWS_EVENTS_META.HOST_APPLICATION_CODE,
|
|
1705
1733
|
eventName: CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_CLOSE,
|
|
1706
1734
|
eventData: {}
|
|
1707
1735
|
});
|
|
1708
|
-
}, [hostContext
|
|
1736
|
+
}, [hostContext === null || hostContext === void 0 ? void 0 : hostContext.customViewConfig.id]);
|
|
1709
1737
|
useEffect(() => {
|
|
1710
1738
|
const bootstrapMessageHandler = event => {
|
|
1711
1739
|
if ((event.origin === window.location.origin ||
|
|
@@ -1737,7 +1765,8 @@ function CustomViewShell(props) {
|
|
|
1737
1765
|
useEffect(() => {
|
|
1738
1766
|
// Close the channel when the component unmounts
|
|
1739
1767
|
return () => {
|
|
1740
|
-
|
|
1768
|
+
var _iFrameCommunicationP2;
|
|
1769
|
+
(_iFrameCommunicationP2 = iFrameCommunicationPort.current) === null || _iFrameCommunicationP2 === void 0 || _iFrameCommunicationP2.close();
|
|
1741
1770
|
iFrameCommunicationPort.current = undefined;
|
|
1742
1771
|
};
|
|
1743
1772
|
}, []);
|
|
@@ -1746,7 +1775,7 @@ function CustomViewShell(props) {
|
|
|
1746
1775
|
showLogo: true
|
|
1747
1776
|
});
|
|
1748
1777
|
}
|
|
1749
|
-
const hostUrl = process.env.NODE_ENV === 'development' || isLocalProdMode ? window.app.__DEVELOPMENT__
|
|
1778
|
+
const hostUrl = process.env.NODE_ENV === 'development' || isLocalProdMode ? (_window$app$__DEVELOP = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP === void 0 ? void 0 : _window$app$__DEVELOP.customViewHostUrl : hostContext.hostUrl;
|
|
1750
1779
|
return jsxs(Fragment, {
|
|
1751
1780
|
children: [jsx(GlobalStyles, {}), jsx(ApplicationShellProvider, {
|
|
1752
1781
|
environment: window.app,
|
|
@@ -1755,6 +1784,7 @@ function CustomViewShell(props) {
|
|
|
1755
1784
|
children: _ref => {
|
|
1756
1785
|
let isAuthenticated = _ref.isAuthenticated;
|
|
1757
1786
|
if (isAuthenticated) {
|
|
1787
|
+
var _context2;
|
|
1758
1788
|
return jsx(CustomViewContextProvider, {
|
|
1759
1789
|
hostUrl: hostUrl,
|
|
1760
1790
|
customViewConfig: hostContext.customViewConfig,
|
|
@@ -1773,7 +1803,7 @@ function CustomViewShell(props) {
|
|
|
1773
1803
|
notificationsGlobalRef: notificationsGlobalRef,
|
|
1774
1804
|
notificationsPageRef: notificationsPageRef
|
|
1775
1805
|
}), jsxs(Route, {
|
|
1776
|
-
path:
|
|
1806
|
+
path: _concatInstanceProperty(_context2 = "/custom-views/".concat(hostContext.customViewConfig.id, "/projects/")).call(_context2, hostContext.projectKey),
|
|
1777
1807
|
children: [jsx(ModalPageTopBar, {
|
|
1778
1808
|
onClose: handleClose,
|
|
1779
1809
|
hidePathLabel: true
|
|
@@ -1912,7 +1942,7 @@ function setupGlobalErrorListener() {
|
|
|
1912
1942
|
}
|
|
1913
1943
|
|
|
1914
1944
|
function ownKeys(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; }
|
|
1915
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
1945
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1916
1946
|
|
|
1917
1947
|
/**
|
|
1918
1948
|
* The route path to match. Usually it starts with `/:projectKey/my-entry-point`.
|
|
@@ -1922,7 +1952,8 @@ const makeRoute = (routePath, routeOptions) => {
|
|
|
1922
1952
|
const getUrl = (nextParams, nextQueryParams) => {
|
|
1923
1953
|
const baseUrl = generatePath(routePath, _objectSpread(_objectSpread({}, routeOptions.params), nextParams));
|
|
1924
1954
|
if (nextQueryParams) {
|
|
1925
|
-
|
|
1955
|
+
var _context;
|
|
1956
|
+
return _concatInstanceProperty(_context = "".concat(baseUrl, "?")).call(_context, nextQueryParams.toString());
|
|
1926
1957
|
}
|
|
1927
1958
|
return baseUrl;
|
|
1928
1959
|
};
|