@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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var react = require('react');
|
|
4
4
|
var reactRouterDom = require('react-router-dom');
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-25183095.cjs.dev.js');
|
|
6
6
|
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
7
7
|
var _styled = require('@emotion/styled/base');
|
|
8
8
|
var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
|
|
@@ -23,8 +23,9 @@ var constants = require('@commercetools-frontend/constants');
|
|
|
23
23
|
var i18n = require('@commercetools-frontend/i18n');
|
|
24
24
|
var reactNotifications = require('@commercetools-frontend/react-notifications');
|
|
25
25
|
var sentry = require('@commercetools-frontend/sentry');
|
|
26
|
-
var oidc = require('./oidc-
|
|
26
|
+
var oidc = require('./oidc-349b18df.cjs.dev.js');
|
|
27
27
|
require('@babel/runtime-corejs3/core-js-stable/url');
|
|
28
|
+
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
28
29
|
var designSystem = require('@commercetools-uikit/design-system');
|
|
29
30
|
var Spacings = require('@commercetools-uikit/spacings');
|
|
30
31
|
var reactIntl = require('react-intl');
|
|
@@ -32,6 +33,7 @@ var FlatButton = require('@commercetools-uikit/flat-button');
|
|
|
32
33
|
var icons = require('@commercetools-uikit/icons');
|
|
33
34
|
var location = require('./location-c835b8df.cjs.dev.js');
|
|
34
35
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
36
|
+
var _taggedTemplateLiteral = require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
|
|
35
37
|
var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
|
|
36
38
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
37
39
|
var memoize = require('memoize-one');
|
|
@@ -85,6 +87,7 @@ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachIns
|
|
|
85
87
|
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
86
88
|
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
87
89
|
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
90
|
+
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
88
91
|
var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
|
|
89
92
|
var FlatButton__default = /*#__PURE__*/_interopDefault(FlatButton);
|
|
90
93
|
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
@@ -105,9 +108,9 @@ var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
|
|
|
105
108
|
var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
|
|
106
109
|
|
|
107
110
|
// NOTE: This string will be replaced on build time with the package version.
|
|
108
|
-
var version = "27.9.
|
|
111
|
+
var version = "27.9.1";
|
|
109
112
|
|
|
110
|
-
const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-
|
|
113
|
+
const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-497fc4b0.cjs.dev.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
|
|
111
114
|
|
|
112
115
|
// Attempt to load the `projectKey` from localStorage
|
|
113
116
|
function selectProjectKeyFromLocalStorage() {
|
|
@@ -133,7 +136,7 @@ var messages$1 = reactIntl.defineMessages({
|
|
|
133
136
|
* A full page reload is needed as the user's project may have changed (deletions and/or additions).
|
|
134
137
|
* As a result the project and user queries need refetching.
|
|
135
138
|
*/
|
|
136
|
-
const redirectToProject = key => location.location.replace(
|
|
139
|
+
const redirectToProject = key => location.location.replace("/".concat(key));
|
|
137
140
|
const BackToProject = props => {
|
|
138
141
|
const intl = reactIntl.useIntl();
|
|
139
142
|
return jsxRuntime.jsx(FlatButton__default["default"], {
|
|
@@ -144,14 +147,8 @@ const BackToProject = props => {
|
|
|
144
147
|
};
|
|
145
148
|
BackToProject.displayName = 'BackToProject';
|
|
146
149
|
|
|
147
|
-
|
|
148
|
-
0% {
|
|
149
|
-
background-color: ${designSystem.customProperties.colorNeutral};
|
|
150
|
-
}
|
|
151
|
-
100% {
|
|
152
|
-
background-color: ${designSystem.customProperties.colorNeutral95};
|
|
153
|
-
}
|
|
154
|
-
`;
|
|
150
|
+
var _templateObject;
|
|
151
|
+
const animationPulse = react$1.keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n background-color: ", ";\n }\n 100% {\n background-color: ", ";\n }\n"])), designSystem.customProperties.colorNeutral, designSystem.customProperties.colorNeutral95);
|
|
155
152
|
const getWidthBySize = props => {
|
|
156
153
|
switch (props.shape) {
|
|
157
154
|
case 'dot':
|
|
@@ -356,14 +353,15 @@ const ProjectSwitcher = props => {
|
|
|
356
353
|
onChange: event => {
|
|
357
354
|
const selectedProjectKey = event.target.value;
|
|
358
355
|
if (selectedProjectKey !== props.projectKey) {
|
|
359
|
-
|
|
356
|
+
var _window$app$__DEVELOP;
|
|
357
|
+
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) {
|
|
360
358
|
applicationShellConnectors.oidcStorage.setActiveProjectKey(selectedProjectKey);
|
|
361
359
|
}
|
|
362
360
|
|
|
363
361
|
// We simply redirect to a "new" browser page, instead of using the
|
|
364
362
|
// history router. This will simplify a lot of things and avoid possible
|
|
365
363
|
// problems like e.g. resetting the store/state.
|
|
366
|
-
redirectTo(
|
|
364
|
+
redirectTo("/".concat(selectedProjectKey));
|
|
367
365
|
}
|
|
368
366
|
},
|
|
369
367
|
options: data && data.user && mapProjectsToOptions(data.user.projects.results) || [],
|
|
@@ -394,7 +392,7 @@ ProjectSwitcher.displayName = 'ProjectSwitcher';
|
|
|
394
392
|
// eslint-disable-next-line import/prefer-default-export
|
|
395
393
|
const REQUESTS_IN_FLIGHT_LOADER_DOM_ID = 'loader-for-requests-in-flight';
|
|
396
394
|
|
|
397
|
-
const UserSettingsMenu = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-settings-menu-
|
|
395
|
+
const UserSettingsMenu = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-settings-menu-0f655cb1.cjs.dev.js' /* webpackChunkName: "user-settings-menu" */); }));
|
|
398
396
|
|
|
399
397
|
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)."; }
|
|
400
398
|
var _ref$1 = process.env.NODE_ENV === "production" ? {
|
|
@@ -422,7 +420,8 @@ var _ref3$1 = process.env.NODE_ENV === "production" ? {
|
|
|
422
420
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2
|
|
423
421
|
};
|
|
424
422
|
const AppBar = props => {
|
|
425
|
-
|
|
423
|
+
var _props$user$defaultPr, _props$user;
|
|
424
|
+
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);
|
|
426
425
|
return jsxRuntime.jsxs("div", {
|
|
427
426
|
css: /*#__PURE__*/react$1.css("background-color:", designSystem.designTokens.colorSurface, ";box-shadow:0px 2px 5px 0px rgba(0, 0, 0, 0.15);padding:0 40px;min-height:", oidc.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= */"),
|
|
428
427
|
"data-test": "top-navigation",
|
|
@@ -447,7 +446,7 @@ const AppBar = props => {
|
|
|
447
446
|
const selectedProject = _findInstanceProperty__default["default"](_context = props.user.projects.results).call(_context, project => project.key === props.projectKeyFromUrl);
|
|
448
447
|
return jsxRuntime.jsxs("div", {
|
|
449
448
|
css: /*#__PURE__*/react$1.css("display:flex;gap:", designSystem.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 */"),
|
|
450
|
-
children: [selectedProject
|
|
449
|
+
children: [(selectedProject === null || selectedProject === void 0 ? void 0 : selectedProject.isProductionProject) && jsxRuntime.jsx("div", {
|
|
451
450
|
css: _ref3$1,
|
|
452
451
|
children: jsxRuntime.jsx(applicationComponents.ProjectStamp.IsProduction, {})
|
|
453
452
|
}), jsxRuntime.jsx(ProjectSwitcher
|
|
@@ -516,7 +515,7 @@ const Passthrough = _ref => {
|
|
|
516
515
|
children: children
|
|
517
516
|
});
|
|
518
517
|
};
|
|
519
|
-
const LazyApplicationShellSplitter = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./application-shell-splitter-
|
|
518
|
+
const LazyApplicationShellSplitter = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./application-shell-splitter-a527378f.cjs.dev.js' /* webpackChunkName: "application-shell-splitter" */); })
|
|
520
519
|
// When `@commercetools/nimbus` is not installed, the mc-scripts bundler
|
|
521
520
|
// fallback stubs it to an empty module so the build succeeds — but the
|
|
522
521
|
// splitter's Nimbus bindings are then `undefined`. `hasNimbus` reflects that;
|
|
@@ -622,32 +621,40 @@ const FetchUser = props => {
|
|
|
622
621
|
};
|
|
623
622
|
FetchUser.displayName = 'FetchUser';
|
|
624
623
|
|
|
625
|
-
const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-
|
|
624
|
+
const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-f2740795.cjs.dev.js' /* webpackChunkName: "navbar" */); }));
|
|
626
625
|
|
|
627
|
-
const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-
|
|
626
|
+
const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-2a79f361.cjs.dev.js' /* webpackChunkName: "project-container" */); }));
|
|
628
627
|
|
|
629
|
-
const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-
|
|
628
|
+
const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-8b0b2e2c.cjs.dev.js' /* webpackChunkName: "redirect-to-logout" */); }));
|
|
630
629
|
|
|
631
630
|
const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-project-create-f4f01842.cjs.dev.js' /* webpackChunkName: "redirect-to-project-create" */); }));
|
|
632
631
|
|
|
633
632
|
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; }
|
|
634
633
|
function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$9(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$9(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
635
|
-
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 } } } };
|
|
634
|
+
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
|
|
635
|
+
// `key` (non-anonymous) or be marked as `anonymous: true` (in which case the
|
|
636
|
+
// SDK generates a key for it). A context can never satisfy both branches at
|
|
637
|
+
// once, so we model this as a union rather than making `key` optional.
|
|
636
638
|
// This value is hard-coded here because we want to make sure that the
|
|
637
639
|
// app uses our account of LD. The value is meant to be public, so there
|
|
638
640
|
// is no need to be concerned about security.
|
|
639
641
|
const ldClientSideIdProduction = '5979d95f6040390cd07b5e01';
|
|
640
642
|
function getUserContextForLaunchDarklyAdapter(user, projectKey) {
|
|
641
|
-
|
|
643
|
+
var _user$launchdarklyTra, _user$launchdarklyTra2, _user$launchdarklyTra3, _user$launchdarklyTra4, _user$launchdarklyTra5;
|
|
644
|
+
const base = {
|
|
642
645
|
kind: 'user',
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
cloudEnvironment: user?.launchdarklyTrackingCloudEnvironment ?? ''
|
|
646
|
+
project: projectKey !== null && projectKey !== void 0 ? projectKey : '',
|
|
647
|
+
id: (_user$launchdarklyTra = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingId) !== null && _user$launchdarklyTra !== void 0 ? _user$launchdarklyTra : '',
|
|
648
|
+
team: (_user$launchdarklyTra2 = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingTeam) !== null && _user$launchdarklyTra2 !== void 0 ? _user$launchdarklyTra2 : [],
|
|
649
|
+
group: (_user$launchdarklyTra3 = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingGroup) !== null && _user$launchdarklyTra3 !== void 0 ? _user$launchdarklyTra3 : '',
|
|
650
|
+
subgroup: (_user$launchdarklyTra4 = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingSubgroup) !== null && _user$launchdarklyTra4 !== void 0 ? _user$launchdarklyTra4 : '',
|
|
651
|
+
cloudEnvironment: (_user$launchdarklyTra5 = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingCloudEnvironment) !== null && _user$launchdarklyTra5 !== void 0 ? _user$launchdarklyTra5 : ''
|
|
650
652
|
};
|
|
653
|
+
return user !== null && user !== void 0 && user.id ? _objectSpread$9(_objectSpread$9({}, base), {}, {
|
|
654
|
+
key: user.id
|
|
655
|
+
}) : _objectSpread$9(_objectSpread$9({}, base), {}, {
|
|
656
|
+
anonymous: true
|
|
657
|
+
});
|
|
651
658
|
}
|
|
652
659
|
const parseFlags = fetchedFlags => {
|
|
653
660
|
var _context;
|
|
@@ -678,47 +685,52 @@ const SetupFlopFlipProvider = props => {
|
|
|
678
685
|
}
|
|
679
686
|
}, [enableLongLivedFeatureFlags]);
|
|
680
687
|
const defaultFlags = react.useMemo(() => _objectSpread$9(_objectSpread$9({}, constants.featureFlags.DEFAULT_FLAGS), props.defaultFlags), [props.defaultFlags]);
|
|
681
|
-
const adapterArgs = react.useMemo(() =>
|
|
682
|
-
user
|
|
683
|
-
|
|
684
|
-
},
|
|
685
|
-
launchdarkly: {
|
|
686
|
-
cacheIdentifier: types.cacheIdentifiers.local,
|
|
687
|
-
cacheMode: getCacheMode(types.adapterIdentifiers.launchdarkly),
|
|
688
|
-
sdk: {
|
|
689
|
-
// Allow to overwrite the client ID, passed via the `additionalEnv` properties
|
|
690
|
-
// of the application config.
|
|
691
|
-
// This is mostly useful for internal usage on our staging environments.
|
|
692
|
-
clientSideId: props.ldClientSideId ?? ldClientSideIdProduction,
|
|
693
|
-
clientOptions: {
|
|
694
|
-
sendEventsOnlyForVariation: true
|
|
695
|
-
}
|
|
696
|
-
},
|
|
697
|
-
flags,
|
|
698
|
-
context: getUserContextForLaunchDarklyAdapter(props.user, props.projectKey)
|
|
699
|
-
},
|
|
700
|
-
http: {
|
|
701
|
-
// polling interval set to 15 minutes
|
|
702
|
-
pollingIntervalMs: 1000 * 60 * 15,
|
|
703
|
-
cacheIdentifier: types.cacheIdentifiers.local,
|
|
704
|
-
cacheMode: getCacheMode(types.adapterIdentifiers.http),
|
|
688
|
+
const adapterArgs = react.useMemo(() => {
|
|
689
|
+
var _props$user, _props$ldClientSideId, _props$user2;
|
|
690
|
+
return {
|
|
705
691
|
user: {
|
|
706
|
-
key: props.user
|
|
692
|
+
key: (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.id
|
|
707
693
|
},
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
694
|
+
launchdarkly: {
|
|
695
|
+
cacheIdentifier: types.cacheIdentifiers.local,
|
|
696
|
+
cacheMode: getCacheMode(types.adapterIdentifiers.launchdarkly),
|
|
697
|
+
sdk: {
|
|
698
|
+
// Allow to overwrite the client ID, passed via the `additionalEnv` properties
|
|
699
|
+
// of the application config.
|
|
700
|
+
// This is mostly useful for internal usage on our staging environments.
|
|
701
|
+
clientSideId: (_props$ldClientSideId = props.ldClientSideId) !== null && _props$ldClientSideId !== void 0 ? _props$ldClientSideId : ldClientSideIdProduction
|
|
702
|
+
// `sendEventsOnlyForVariation` was removed in @launchdarkly/js-client-sdk v4
|
|
703
|
+
// (formerly launchdarkly-js-client-sdk v3). It is no longer needed: as of v4,
|
|
704
|
+
// `allFlags` no longer sends analytics events by default, which is exactly the
|
|
705
|
+
// behavior this option used to opt into.
|
|
706
|
+
},
|
|
707
|
+
flags,
|
|
708
|
+
context: getUserContextForLaunchDarklyAdapter(props.user, props.projectKey)
|
|
709
|
+
},
|
|
710
|
+
http: {
|
|
711
|
+
// polling interval set to 15 minutes
|
|
712
|
+
pollingIntervalMs: 1000 * 60 * 15,
|
|
713
|
+
cacheIdentifier: types.cacheIdentifiers.local,
|
|
714
|
+
cacheMode: getCacheMode(types.adapterIdentifiers.http),
|
|
715
|
+
user: {
|
|
716
|
+
key: (_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id
|
|
717
|
+
},
|
|
718
|
+
execute: async adapterArgs => {
|
|
719
|
+
var _adapterArgs$user;
|
|
720
|
+
const response = await apolloClient.query({
|
|
721
|
+
query: AllFeaturesQuery,
|
|
722
|
+
errorPolicy: 'ignore',
|
|
723
|
+
fetchPolicy: 'network-only',
|
|
724
|
+
context: {
|
|
725
|
+
target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
|
|
726
|
+
projectKey: (_adapterArgs$user = adapterArgs.user) === null || _adapterArgs$user === void 0 ? void 0 : _adapterArgs$user.project
|
|
727
|
+
}
|
|
728
|
+
});
|
|
729
|
+
return parseFlags(response.data);
|
|
730
|
+
}
|
|
719
731
|
}
|
|
720
|
-
}
|
|
721
|
-
}
|
|
732
|
+
};
|
|
733
|
+
}, [apolloClient, flags, props.ldClientSideId, props.projectKey, props.user]);
|
|
722
734
|
|
|
723
735
|
/**
|
|
724
736
|
* The `<ApplicationShell />` tests itself. When it does so it can not setup and use
|
|
@@ -878,16 +890,16 @@ const ApplicationShellAuthenticated = props => {
|
|
|
878
890
|
const projectKeyFromUrl = applicationShellConnectors.selectProjectKeyFromUrl(location.pathname);
|
|
879
891
|
|
|
880
892
|
// Check if user is ct staff, and if so get language selected via staff bar from local storage
|
|
881
|
-
const staffBarLanguage = user
|
|
893
|
+
const staffBarLanguage = (user === null || user === void 0 ? void 0 : user.launchdarklyTrackingGroup) === 'commercetools' || (user === null || user === void 0 ? void 0 : user.launchdarklyTrackingGroup) === 'mailosaur' ? applicationShellConnectors.selectUserLanguageFromStorage() : undefined;
|
|
882
894
|
const normalizedUser = user ? _objectSpread$8(_objectSpread$8({}, user), {}, {
|
|
883
895
|
// set the staff bar language if applicable
|
|
884
|
-
language: staffBarLanguage
|
|
896
|
+
language: staffBarLanguage !== null && staffBarLanguage !== void 0 ? staffBarLanguage : user.language
|
|
885
897
|
}) : undefined;
|
|
886
898
|
return jsxRuntime.jsx(applicationShellConnectors.ApplicationContextProvider, {
|
|
887
899
|
user: normalizedUser,
|
|
888
900
|
environment: applicationEnvironment,
|
|
889
901
|
children: jsxRuntime.jsx(i18n.AsyncLocaleData, {
|
|
890
|
-
locale: normalizedUser
|
|
902
|
+
locale: normalizedUser === null || normalizedUser === void 0 ? void 0 : normalizedUser.language,
|
|
891
903
|
applicationMessages: props.applicationMessages,
|
|
892
904
|
children: _ref8 => {
|
|
893
905
|
let isLoadingLocaleData = _ref8.isLoading,
|
|
@@ -907,7 +919,7 @@ const ApplicationShellAuthenticated = props => {
|
|
|
907
919
|
flags: props.featureFlags,
|
|
908
920
|
defaultFlags: props.defaultFeatureFlags,
|
|
909
921
|
children: jsxRuntime.jsxs(ApplicationShellSplitterWrapper, {
|
|
910
|
-
locale: locale
|
|
922
|
+
locale: locale !== null && locale !== void 0 ? locale : 'en',
|
|
911
923
|
children: [jsxRuntime.jsx(ThemeSwitcher, {}), jsxRuntime.jsx(RequestsInFlightLoader, {}), jsxRuntime.jsx(sentry.SentryUserTracker, {
|
|
912
924
|
user: normalizedUser
|
|
913
925
|
}), jsxRuntime.jsxs("div", {
|
|
@@ -1012,8 +1024,8 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1012
1024
|
}), jsxRuntime.jsx(reactRouterDom.Route, {
|
|
1013
1025
|
exact: true,
|
|
1014
1026
|
path: "/",
|
|
1015
|
-
children: (
|
|
1016
|
-
const previousProjectKey = getPreviousProjectKey(normalizedUser
|
|
1027
|
+
children: (_normalizedUser$defau => {
|
|
1028
|
+
const previousProjectKey = getPreviousProjectKey((_normalizedUser$defau = normalizedUser === null || normalizedUser === void 0 ? void 0 : normalizedUser.defaultProjectKey) !== null && _normalizedUser$defau !== void 0 ? _normalizedUser$defau : undefined);
|
|
1017
1029
|
|
|
1018
1030
|
/**
|
|
1019
1031
|
* NOTE:
|
|
@@ -1026,7 +1038,7 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1026
1038
|
if (!normalizedUser) return jsxRuntime.jsx(ApplicationLoader, {});
|
|
1027
1039
|
if (!previousProjectKey) return jsxRuntime.jsx(RedirectToProjectCreate, {});
|
|
1028
1040
|
return jsxRuntime.jsx(reactRouterDom.Redirect, {
|
|
1029
|
-
to:
|
|
1041
|
+
to: "/".concat(previousProjectKey)
|
|
1030
1042
|
});
|
|
1031
1043
|
})()
|
|
1032
1044
|
}), jsxRuntime.jsx(reactRouterDom.Route, {
|
|
@@ -1205,31 +1217,37 @@ const withoutProjectKeyClaim = scope => {
|
|
|
1205
1217
|
return _filterInstanceProperty__default["default"](_context = scope.split(' ')).call(_context, claim => !_startsWithInstanceProperty__default["default"](claim).call(claim, oidc.OIDC_CLAIMS.PROJECT_KEY)).join(' ');
|
|
1206
1218
|
};
|
|
1207
1219
|
const hasCachedAuthenticationState = () => {
|
|
1208
|
-
|
|
1220
|
+
var _window$app$__DEVELOP;
|
|
1221
|
+
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) {
|
|
1209
1222
|
try {
|
|
1223
|
+
var _window$app$__DEVELOP8, _window$app$__DEVELOP9, _window$app$__DEVELOP0, _window$app$__DEVELOP1;
|
|
1210
1224
|
let activeProjectKey = applicationShellConnectors.oidcStorage.getActiveProjectKey();
|
|
1211
1225
|
if (activeProjectKey) {
|
|
1226
|
+
var _window$app$__DEVELOP2, _window$app$__DEVELOP3, _window$app$__DEVELOP4;
|
|
1212
1227
|
// GIVEN The application is not requesting a project key,
|
|
1213
1228
|
// THEN we assume that the application does not need a project context.
|
|
1214
1229
|
// GIVEN The application is not requesting a project key,
|
|
1215
1230
|
// THEN we remove the cached project key.
|
|
1216
1231
|
// This is the case of an application like `account`.
|
|
1217
|
-
if (!window.app.__DEVELOPMENT__
|
|
1232
|
+
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)) {
|
|
1218
1233
|
applicationShellConnectors.oidcStorage.removeActiveProjectKey();
|
|
1219
1234
|
}
|
|
1220
1235
|
|
|
1221
1236
|
// If the project key we had in the storage does not match the one
|
|
1222
1237
|
// we have in the development config, then we need to discard it and
|
|
1223
1238
|
// use the one from the development config.
|
|
1224
|
-
if (window.app.__DEVELOPMENT__
|
|
1225
|
-
|
|
1239
|
+
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) {
|
|
1240
|
+
var _window$app$__DEVELOP5;
|
|
1241
|
+
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;
|
|
1226
1242
|
applicationShellConnectors.oidcStorage.setActiveProjectKey(activeProjectKey);
|
|
1227
1243
|
}
|
|
1228
1244
|
} else {
|
|
1229
|
-
|
|
1245
|
+
var _window$app$__DEVELOP6;
|
|
1246
|
+
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) {
|
|
1247
|
+
var _window$app$__DEVELOP7;
|
|
1230
1248
|
// Here we store the initial project key in local storage,
|
|
1231
1249
|
// so that it gets picked up when we initiate the login flow.
|
|
1232
|
-
applicationShellConnectors.oidcStorage.setActiveProjectKey(window.app.__DEVELOPMENT__
|
|
1250
|
+
applicationShellConnectors.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);
|
|
1233
1251
|
}
|
|
1234
1252
|
}
|
|
1235
1253
|
|
|
@@ -1244,11 +1262,11 @@ const hasCachedAuthenticationState = () => {
|
|
|
1244
1262
|
}
|
|
1245
1263
|
// Rebuild the requested OIDC scope to verify that it didn't change.
|
|
1246
1264
|
const requestedScope = oidc.buildOidcScope({
|
|
1247
|
-
projectKey: activeProjectKey
|
|
1248
|
-
oAuthScopes: window.app.__DEVELOPMENT__
|
|
1249
|
-
additionalOAuthScopes: window.app.__DEVELOPMENT__
|
|
1250
|
-
teamId: window.app.__DEVELOPMENT__
|
|
1251
|
-
applicationId: window.app.__DEVELOPMENT__
|
|
1265
|
+
projectKey: activeProjectKey !== null && activeProjectKey !== void 0 ? activeProjectKey : undefined,
|
|
1266
|
+
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,
|
|
1267
|
+
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,
|
|
1268
|
+
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,
|
|
1269
|
+
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
|
|
1252
1270
|
});
|
|
1253
1271
|
// Omit the project key from the check. This allows to switch projects
|
|
1254
1272
|
// without having to log in again.
|
|
@@ -1266,11 +1284,12 @@ const hasCachedAuthenticationState = () => {
|
|
|
1266
1284
|
return window.localStorage.getItem(constants.STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
|
|
1267
1285
|
};
|
|
1268
1286
|
|
|
1269
|
-
const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-
|
|
1287
|
+
const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-b47c8b7e.cjs.dev.js' /* webpackChunkName: "oidc-callback" */); }));
|
|
1270
1288
|
|
|
1271
1289
|
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; }
|
|
1272
1290
|
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; }
|
|
1273
1291
|
const Authenticated = props => {
|
|
1292
|
+
var _window$app$__DEVELOP;
|
|
1274
1293
|
// We attempt to see if the user was already authenticated by looking
|
|
1275
1294
|
// at the "cached" flag in local storage.
|
|
1276
1295
|
const cachedAuthenticationState = hasCachedAuthenticationState();
|
|
@@ -1284,7 +1303,7 @@ const Authenticated = props => {
|
|
|
1284
1303
|
|
|
1285
1304
|
// When using the OIDC workflow, we always return false, to trigger
|
|
1286
1305
|
// the redirect to the login page.
|
|
1287
|
-
if (window.app.__DEVELOPMENT__
|
|
1306
|
+
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) {
|
|
1288
1307
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
1289
1308
|
children: props.render({
|
|
1290
1309
|
isAuthenticated: false
|
|
@@ -1298,13 +1317,13 @@ const Authenticated = props => {
|
|
|
1298
1317
|
Authenticated.displayName = 'Authenticated';
|
|
1299
1318
|
const AuthenticationRoutes = props => jsxRuntime.jsxs(reactRouterDom.Switch, {
|
|
1300
1319
|
children: [jsxRuntime.jsx(SuspendedRoute, {
|
|
1301
|
-
path:
|
|
1320
|
+
path: "/account/oidc/callback",
|
|
1302
1321
|
children: jsxRuntime.jsx(OidcCallback, {
|
|
1303
1322
|
locale: props.locale,
|
|
1304
1323
|
applicationMessages: props.applicationMessages
|
|
1305
1324
|
})
|
|
1306
1325
|
}), jsxRuntime.jsx(SuspendedRoute, {
|
|
1307
|
-
path:
|
|
1326
|
+
path: "/:projectKey/:identifier/oidc/callback",
|
|
1308
1327
|
children: jsxRuntime.jsx(OidcCallback, {
|
|
1309
1328
|
locale: props.locale,
|
|
1310
1329
|
applicationMessages: props.applicationMessages
|
|
@@ -1417,7 +1436,10 @@ const useCoercedEnvironmentValues = environment => {
|
|
|
1417
1436
|
};
|
|
1418
1437
|
|
|
1419
1438
|
const ApplicationShellProvider = props => {
|
|
1420
|
-
const apolloClient = react.useMemo(() =>
|
|
1439
|
+
const apolloClient = react.useMemo(() => {
|
|
1440
|
+
var _props$apolloClient;
|
|
1441
|
+
return (_props$apolloClient = props.apolloClient) !== null && _props$apolloClient !== void 0 ? _props$apolloClient : applicationShellConnectors.createApolloClient();
|
|
1442
|
+
}, [props.apolloClient]);
|
|
1421
1443
|
react.useEffect(() => {
|
|
1422
1444
|
applicationShellConnectors.setCachedApolloClient(apolloClient);
|
|
1423
1445
|
}, [apolloClient]);
|
|
@@ -1468,7 +1490,7 @@ const ApplicationShellProvider = props => {
|
|
|
1468
1490
|
};
|
|
1469
1491
|
ApplicationShellProvider.displayName = 'ApplicationShellProvider';
|
|
1470
1492
|
|
|
1471
|
-
const RedirectToLogin = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-login-
|
|
1493
|
+
const RedirectToLogin = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-login-6c3b5cc4.cjs.dev.js' /* webpackChunkName: "redirect-to-login" */); }));
|
|
1472
1494
|
|
|
1473
1495
|
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)."; }
|
|
1474
1496
|
const styles = process.env.NODE_ENV === "production" ? {
|
|
@@ -1496,7 +1518,8 @@ const StrictModeEnablement$1 = props => {
|
|
|
1496
1518
|
};
|
|
1497
1519
|
const ApplicationShell = props => {
|
|
1498
1520
|
react.useEffect(() => {
|
|
1499
|
-
|
|
1521
|
+
var _props$onRegisterErro;
|
|
1522
|
+
(_props$onRegisterErro = props.onRegisterErrorListeners) === null || _props$onRegisterErro === void 0 || _props$onRegisterErro.call(props, {
|
|
1500
1523
|
dispatch: index.internalReduxStore.dispatch
|
|
1501
1524
|
});
|
|
1502
1525
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -1536,14 +1559,18 @@ const ApplicationShell = props => {
|
|
|
1536
1559
|
ApplicationShell.displayName = 'ApplicationShell';
|
|
1537
1560
|
ApplicationShell.version = version;
|
|
1538
1561
|
|
|
1539
|
-
const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-
|
|
1562
|
+
const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-61a6875f.cjs.dev.js' /* webpackChunkName: "custom-view-dev-host" */); }));
|
|
1540
1563
|
|
|
1541
1564
|
function CustomViewFlopFlipProvider(props) {
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1565
|
+
var _props$user2;
|
|
1566
|
+
const adapterArgs = react.useMemo(() => {
|
|
1567
|
+
var _props$user;
|
|
1568
|
+
return {
|
|
1569
|
+
user: {
|
|
1570
|
+
key: (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.id
|
|
1571
|
+
}
|
|
1572
|
+
};
|
|
1573
|
+
}, [(_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id]);
|
|
1547
1574
|
return jsxRuntime.jsx(reactBroadcast.ConfigureFlopFlip, {
|
|
1548
1575
|
adapter: memoryAdapter.adapter,
|
|
1549
1576
|
defaultFlags: _flagsInstanceProperty__default["default"](props),
|
|
@@ -1579,7 +1606,7 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1579
1606
|
return jsxRuntime.jsx(ApplicationLoader, {});
|
|
1580
1607
|
}
|
|
1581
1608
|
return jsxRuntime.jsx(i18n.AsyncLocaleData, {
|
|
1582
|
-
locale: user
|
|
1609
|
+
locale: (user === null || user === void 0 ? void 0 : user.language) || browserLocale,
|
|
1583
1610
|
applicationMessages: props.messages,
|
|
1584
1611
|
children: _ref2 => {
|
|
1585
1612
|
let isLoadingLocaleData = _ref2.isLoading,
|
|
@@ -1642,15 +1669,15 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1642
1669
|
const customViewsThemesOverrides = {
|
|
1643
1670
|
default: {
|
|
1644
1671
|
marginForCustomViewsSelectorAsTabular: '0',
|
|
1645
|
-
marginForPageContent:
|
|
1646
|
-
paddingForDetailPageHeader:
|
|
1672
|
+
marginForPageContent: "".concat(designSystem.designTokens.spacing50, " 0"),
|
|
1673
|
+
paddingForDetailPageHeader: "0 0 ".concat(designSystem.designTokens.spacing40, " 0"),
|
|
1647
1674
|
paddingForMainPageHeader: '0',
|
|
1648
1675
|
paddingForTabularPageHeader: '0'
|
|
1649
1676
|
}
|
|
1650
1677
|
};
|
|
1651
1678
|
|
|
1652
1679
|
function ownKeys$1(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; }
|
|
1653
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
1680
|
+
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__default["default"](_context3 = ownKeys$1(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
1654
1681
|
const browserLocale = getBrowserLocale(window);
|
|
1655
1682
|
function NotificationsContainer(props) {
|
|
1656
1683
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
@@ -1712,6 +1739,7 @@ function CustomViewThemeProvider() {
|
|
|
1712
1739
|
*/
|
|
1713
1740
|
const isLocalProdMode = process.env.NODE_ENV === 'production' && window.app.env === 'development';
|
|
1714
1741
|
function CustomViewShell(props) {
|
|
1742
|
+
var _window$app$__DEVELOP;
|
|
1715
1743
|
const _useState = react.useState(),
|
|
1716
1744
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1717
1745
|
hostContext = _useState2[0],
|
|
@@ -1727,20 +1755,21 @@ function CustomViewShell(props) {
|
|
|
1727
1755
|
if (event.data.eventName === constants.CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_INITIALIZATION) {
|
|
1728
1756
|
setHostContext(event.data.eventData.context);
|
|
1729
1757
|
} else {
|
|
1730
|
-
console.warn(
|
|
1758
|
+
console.warn("CustomViewShell: Unknown received event with name: ".concat(event.data.eventName), {
|
|
1731
1759
|
event
|
|
1732
1760
|
});
|
|
1733
1761
|
}
|
|
1734
1762
|
}, []);
|
|
1735
1763
|
const handleClose = react.useCallback(() => {
|
|
1736
|
-
|
|
1764
|
+
var _iFrameCommunicationP, _context;
|
|
1765
|
+
(_iFrameCommunicationP = iFrameCommunicationPort.current) === null || _iFrameCommunicationP === void 0 || _iFrameCommunicationP.postMessage({
|
|
1737
1766
|
origin: window.location.origin,
|
|
1738
|
-
source:
|
|
1767
|
+
source: _concatInstanceProperty__default["default"](_context = "".concat(constants.CUSTOM_VIEWS_EVENTS_META.CUSTOM_VIEW_KEY_PREFIX)).call(_context, hostContext === null || hostContext === void 0 ? void 0 : hostContext.customViewConfig.id),
|
|
1739
1768
|
destination: constants.CUSTOM_VIEWS_EVENTS_META.HOST_APPLICATION_CODE,
|
|
1740
1769
|
eventName: constants.CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_CLOSE,
|
|
1741
1770
|
eventData: {}
|
|
1742
1771
|
});
|
|
1743
|
-
}, [hostContext
|
|
1772
|
+
}, [hostContext === null || hostContext === void 0 ? void 0 : hostContext.customViewConfig.id]);
|
|
1744
1773
|
react.useEffect(() => {
|
|
1745
1774
|
const bootstrapMessageHandler = event => {
|
|
1746
1775
|
if ((event.origin === window.location.origin ||
|
|
@@ -1772,7 +1801,8 @@ function CustomViewShell(props) {
|
|
|
1772
1801
|
react.useEffect(() => {
|
|
1773
1802
|
// Close the channel when the component unmounts
|
|
1774
1803
|
return () => {
|
|
1775
|
-
|
|
1804
|
+
var _iFrameCommunicationP2;
|
|
1805
|
+
(_iFrameCommunicationP2 = iFrameCommunicationPort.current) === null || _iFrameCommunicationP2 === void 0 || _iFrameCommunicationP2.close();
|
|
1776
1806
|
iFrameCommunicationPort.current = undefined;
|
|
1777
1807
|
};
|
|
1778
1808
|
}, []);
|
|
@@ -1781,7 +1811,7 @@ function CustomViewShell(props) {
|
|
|
1781
1811
|
showLogo: true
|
|
1782
1812
|
});
|
|
1783
1813
|
}
|
|
1784
|
-
const hostUrl = process.env.NODE_ENV === 'development' || isLocalProdMode ? window.app.__DEVELOPMENT__
|
|
1814
|
+
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;
|
|
1785
1815
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1786
1816
|
children: [jsxRuntime.jsx(GlobalStyles, {}), jsxRuntime.jsx(ApplicationShellProvider, {
|
|
1787
1817
|
environment: window.app,
|
|
@@ -1790,6 +1820,7 @@ function CustomViewShell(props) {
|
|
|
1790
1820
|
children: _ref => {
|
|
1791
1821
|
let isAuthenticated = _ref.isAuthenticated;
|
|
1792
1822
|
if (isAuthenticated) {
|
|
1823
|
+
var _context2;
|
|
1793
1824
|
return jsxRuntime.jsx(applicationShellConnectors.CustomViewContextProvider, {
|
|
1794
1825
|
hostUrl: hostUrl,
|
|
1795
1826
|
customViewConfig: hostContext.customViewConfig,
|
|
@@ -1808,7 +1839,7 @@ function CustomViewShell(props) {
|
|
|
1808
1839
|
notificationsGlobalRef: notificationsGlobalRef,
|
|
1809
1840
|
notificationsPageRef: notificationsPageRef
|
|
1810
1841
|
}), jsxRuntime.jsxs(reactRouterDom.Route, {
|
|
1811
|
-
path:
|
|
1842
|
+
path: _concatInstanceProperty__default["default"](_context2 = "/custom-views/".concat(hostContext.customViewConfig.id, "/projects/")).call(_context2, hostContext.projectKey),
|
|
1812
1843
|
children: [jsxRuntime.jsx(applicationComponents.ModalPageTopBar, {
|
|
1813
1844
|
onClose: handleClose,
|
|
1814
1845
|
hidePathLabel: true
|
|
@@ -1947,7 +1978,7 @@ function setupGlobalErrorListener() {
|
|
|
1947
1978
|
}
|
|
1948
1979
|
|
|
1949
1980
|
function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1950
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
1981
|
+
function _objectSpread(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(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(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
1951
1982
|
|
|
1952
1983
|
/**
|
|
1953
1984
|
* The route path to match. Usually it starts with `/:projectKey/my-entry-point`.
|
|
@@ -1957,7 +1988,8 @@ const makeRoute = (routePath, routeOptions) => {
|
|
|
1957
1988
|
const getUrl = (nextParams, nextQueryParams) => {
|
|
1958
1989
|
const baseUrl = reactRouterDom.generatePath(routePath, _objectSpread(_objectSpread({}, routeOptions.params), nextParams));
|
|
1959
1990
|
if (nextQueryParams) {
|
|
1960
|
-
|
|
1991
|
+
var _context;
|
|
1992
|
+
return _concatInstanceProperty__default["default"](_context = "".concat(baseUrl, "?")).call(_context, nextQueryParams.toString());
|
|
1961
1993
|
}
|
|
1962
1994
|
return baseUrl;
|
|
1963
1995
|
};
|