@commercetools-frontend/application-shell 25.0.0 → 25.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{application-entry-point-1b23fb6b.esm.js → application-entry-point-10a5e1a5.esm.js} +4 -6
- package/dist/{application-entry-point-74a06151.cjs.prod.js → application-entry-point-8c4b8e53.cjs.prod.js} +3 -4
- package/dist/{application-entry-point-18d8fba0.cjs.dev.js → application-entry-point-c87294b0.cjs.dev.js} +4 -7
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +4 -5
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +4 -5
- package/dist/commercetools-frontend-application-shell.esm.js +4 -5
- package/dist/{custom-view-dev-host-dc7f2835.cjs.dev.js → custom-view-dev-host-116479c1.cjs.dev.js} +10 -15
- package/dist/{custom-view-dev-host-d72f9ae0.cjs.prod.js → custom-view-dev-host-8dd01b96.cjs.prod.js} +10 -15
- package/dist/{custom-view-dev-host-98432fc5.esm.js → custom-view-dev-host-c47927c7.esm.js} +10 -14
- package/dist/{index-208c3cdd.cjs.dev.js → index-1bdcc336.cjs.dev.js} +108 -132
- package/dist/{index-52c724ed.cjs.prod.js → index-245e2980.cjs.prod.js} +2 -2
- package/dist/{index-25183095.cjs.dev.js → index-614accc4.cjs.dev.js} +2 -2
- package/dist/{index-5aaa33bb.esm.js → index-86039df7.esm.js} +2 -2
- package/dist/{index-af2cc053.cjs.prod.js → index-aa7211d5.cjs.prod.js} +108 -132
- package/dist/{index-75206fba.esm.js → index-b26c8745.esm.js} +108 -131
- package/dist/{navbar-0bad8bc8.esm.js → navbar-9a40ead9.esm.js} +89 -104
- package/dist/{navbar-d4189469.cjs.dev.js → navbar-c51e0607.cjs.dev.js} +89 -105
- package/dist/{navbar-7653417f.cjs.prod.js → navbar-e287ce25.cjs.prod.js} +89 -105
- package/dist/oidc-8827f9fe.cjs.dev.js +98 -0
- package/dist/oidc-b2520905.esm.js +84 -0
- package/dist/{oidc-callback-3f9e25bc.cjs.prod.js → oidc-callback-13f8e123.cjs.prod.js} +8 -10
- package/dist/{oidc-callback-b6584fe8.esm.js → oidc-callback-39ea9b04.esm.js} +8 -10
- package/dist/{oidc-callback-f2f37906.cjs.dev.js → oidc-callback-59160485.cjs.dev.js} +8 -10
- package/dist/oidc-d74e6aa2.cjs.prod.js +98 -0
- package/dist/{project-container-27db6a7e.cjs.dev.js → project-container-a6c01dbf.cjs.dev.js} +11 -14
- package/dist/{project-container-0c9ee557.cjs.prod.js → project-container-ad2b76c9.cjs.prod.js} +11 -14
- package/dist/{project-container-8f8e017f.esm.js → project-container-f874583d.esm.js} +11 -14
- package/dist/{project-expired-b35819a4.cjs.dev.js → project-expired-743bae82.cjs.dev.js} +5 -6
- package/dist/{project-expired-da5d431c.cjs.prod.js → project-expired-a52200df.cjs.prod.js} +5 -6
- package/dist/{project-expired-bfa29d75.esm.js → project-expired-d917372c.esm.js} +5 -6
- package/dist/{project-not-found-fdb50d15.cjs.dev.js → project-not-found-5f0b2a72.cjs.dev.js} +4 -5
- package/dist/{project-not-found-695fadf6.cjs.prod.js → project-not-found-e4f79d38.cjs.prod.js} +4 -5
- package/dist/{project-not-found-5fc657c1.esm.js → project-not-found-ee259f9b.esm.js} +4 -5
- package/dist/{project-not-initialized-06d78b62.cjs.dev.js → project-not-initialized-58002613.cjs.dev.js} +5 -6
- package/dist/{project-not-initialized-a3b358cc.esm.js → project-not-initialized-6a3a2473.esm.js} +5 -6
- package/dist/{project-not-initialized-1603b228.cjs.prod.js → project-not-initialized-cfbd7c01.cjs.prod.js} +5 -6
- package/dist/{project-suspended-324978bc.cjs.prod.js → project-suspended-18764104.cjs.prod.js} +4 -5
- package/dist/{project-suspended-7e2257ac.cjs.dev.js → project-suspended-9cc251b0.cjs.dev.js} +4 -5
- package/dist/{project-suspended-d85025fe.esm.js → project-suspended-befd6810.esm.js} +4 -5
- package/dist/{redirect-to-login-3e4a6434.cjs.prod.js → redirect-to-login-12f467b8.cjs.prod.js} +10 -13
- package/dist/{redirect-to-login-edbfacbc.esm.js → redirect-to-login-2944c890.esm.js} +10 -13
- package/dist/{redirect-to-login-66ea895a.cjs.dev.js → redirect-to-login-3bee13ba.cjs.dev.js} +10 -13
- package/dist/{redirect-to-logout-ab5d2b07.cjs.dev.js → redirect-to-logout-7a1fd867.cjs.dev.js} +6 -8
- package/dist/{redirect-to-logout-aea7e913.esm.js → redirect-to-logout-ace73e1b.esm.js} +6 -8
- package/dist/{redirect-to-logout-f96c0c4b.cjs.prod.js → redirect-to-logout-ba4a0b0b.cjs.prod.js} +6 -8
- package/dist/{redirector-c858d578.cjs.prod.js → redirector-0c72d0a4.cjs.prod.js} +3 -4
- package/dist/{redirector-0efdd994.cjs.dev.js → redirector-72ccfbc2.cjs.dev.js} +3 -4
- package/dist/{redirector-656c6ee7.esm.js → redirector-d856975f.esm.js} +3 -4
- package/dist/{requests-in-flight-loader-5f216050.esm.js → requests-in-flight-loader-78c4428e.esm.js} +4 -5
- package/dist/{requests-in-flight-loader-3ffee0c0.cjs.prod.js → requests-in-flight-loader-b7225f9e.cjs.prod.js} +4 -5
- package/dist/{requests-in-flight-loader-08ef339c.cjs.dev.js → requests-in-flight-loader-cbc5faa0.cjs.dev.js} +4 -5
- package/dist/{service-page-project-switcher-9c5c86df.cjs.dev.js → service-page-project-switcher-09e3adc9.cjs.dev.js} +1 -1
- package/dist/{service-page-project-switcher-99b35fc0.esm.js → service-page-project-switcher-9cac7971.esm.js} +1 -1
- package/dist/{service-page-project-switcher-b21619c0.cjs.prod.js → service-page-project-switcher-d8772801.cjs.prod.js} +1 -1
- package/dist/{use-applications-menu-21c7420b.cjs.prod.js → use-applications-menu-8984efa1.cjs.prod.js} +39 -47
- package/dist/{use-applications-menu-8ff2d130.esm.js → use-applications-menu-bc2b9a66.esm.js} +37 -44
- package/dist/{use-applications-menu-7a85c3ee.cjs.dev.js → use-applications-menu-bd718ac8.cjs.dev.js} +39 -47
- package/dist/{user-settings-menu-2d3bfa75.cjs.prod.js → user-settings-menu-013f0041.cjs.prod.js} +22 -29
- package/dist/{user-settings-menu-31e6bb38.esm.js → user-settings-menu-16e8d020.esm.js} +22 -29
- package/dist/{user-settings-menu-c37b343f.cjs.dev.js → user-settings-menu-dc598434.cjs.dev.js} +22 -29
- package/package.json +17 -17
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +1 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +1 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +1 -2
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +22 -26
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +22 -26
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +17 -20
- package/dist/oidc-258fc018.cjs.prod.js +0 -115
- package/dist/oidc-35e8e62a.esm.js +0 -100
- package/dist/oidc-87d116c1.cjs.dev.js +0 -115
|
@@ -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-614accc4.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,9 +23,8 @@ 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-8827f9fe.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');
|
|
29
28
|
var designSystem = require('@commercetools-uikit/design-system');
|
|
30
29
|
var Spacings = require('@commercetools-uikit/spacings');
|
|
31
30
|
var reactIntl = require('react-intl');
|
|
@@ -33,7 +32,6 @@ var FlatButton = require('@commercetools-uikit/flat-button');
|
|
|
33
32
|
var icons = require('@commercetools-uikit/icons');
|
|
34
33
|
var location = require('./location-c835b8df.cjs.dev.js');
|
|
35
34
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
36
|
-
var _taggedTemplateLiteral = require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
|
|
37
35
|
var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
|
|
38
36
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
39
37
|
var memoize = require('memoize-one');
|
|
@@ -87,7 +85,6 @@ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachIns
|
|
|
87
85
|
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
88
86
|
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
89
87
|
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
90
|
-
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
91
88
|
var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
|
|
92
89
|
var FlatButton__default = /*#__PURE__*/_interopDefault(FlatButton);
|
|
93
90
|
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
@@ -108,9 +105,9 @@ var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
|
|
|
108
105
|
var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
|
|
109
106
|
|
|
110
107
|
// NOTE: This string will be replaced on build time with the package version.
|
|
111
|
-
var version = "25.
|
|
108
|
+
var version = "25.2.0";
|
|
112
109
|
|
|
113
|
-
const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-
|
|
110
|
+
const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-cbc5faa0.cjs.dev.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
|
|
114
111
|
|
|
115
112
|
// Attempt to load the `projectKey` from localStorage
|
|
116
113
|
function selectProjectKeyFromLocalStorage() {
|
|
@@ -136,7 +133,7 @@ var messages$1 = reactIntl.defineMessages({
|
|
|
136
133
|
* A full page reload is needed as the user's project may have changed (deletions and/or additions).
|
|
137
134
|
* As a result the project and user queries need refetching.
|
|
138
135
|
*/
|
|
139
|
-
const redirectToProject = key => location.location.replace(
|
|
136
|
+
const redirectToProject = key => location.location.replace(`/${key}`);
|
|
140
137
|
const BackToProject = props => {
|
|
141
138
|
const intl = reactIntl.useIntl();
|
|
142
139
|
return jsxRuntime.jsx(FlatButton__default["default"], {
|
|
@@ -147,8 +144,14 @@ const BackToProject = props => {
|
|
|
147
144
|
};
|
|
148
145
|
BackToProject.displayName = 'BackToProject';
|
|
149
146
|
|
|
150
|
-
|
|
151
|
-
|
|
147
|
+
const animationPulse = react$1.keyframes`
|
|
148
|
+
0% {
|
|
149
|
+
background-color: ${designSystem.customProperties.colorNeutral};
|
|
150
|
+
}
|
|
151
|
+
100% {
|
|
152
|
+
background-color: ${designSystem.customProperties.colorNeutral95};
|
|
153
|
+
}
|
|
154
|
+
`;
|
|
152
155
|
const getWidthBySize = props => {
|
|
153
156
|
switch (props.shape) {
|
|
154
157
|
case 'dot':
|
|
@@ -353,15 +356,14 @@ const ProjectSwitcher = props => {
|
|
|
353
356
|
onChange: event => {
|
|
354
357
|
const selectedProjectKey = event.target.value;
|
|
355
358
|
if (selectedProjectKey !== props.projectKey) {
|
|
356
|
-
|
|
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) {
|
|
359
|
+
if (window.app.__DEVELOPMENT__?.oidc?.authorizeUrl) {
|
|
358
360
|
applicationShellConnectors.oidcStorage.setActiveProjectKey(selectedProjectKey);
|
|
359
361
|
}
|
|
360
362
|
|
|
361
363
|
// We simply redirect to a "new" browser page, instead of using the
|
|
362
364
|
// history router. This will simplify a lot of things and avoid possible
|
|
363
365
|
// problems like e.g. resetting the store/state.
|
|
364
|
-
redirectTo(
|
|
366
|
+
redirectTo(`/${selectedProjectKey}`);
|
|
365
367
|
}
|
|
366
368
|
},
|
|
367
369
|
options: data && data.user && mapProjectsToOptions(data.user.projects.results) || [],
|
|
@@ -392,7 +394,7 @@ ProjectSwitcher.displayName = 'ProjectSwitcher';
|
|
|
392
394
|
// eslint-disable-next-line import/prefer-default-export
|
|
393
395
|
const REQUESTS_IN_FLIGHT_LOADER_DOM_ID = 'loader-for-requests-in-flight';
|
|
394
396
|
|
|
395
|
-
const UserSettingsMenu = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-settings-menu-
|
|
397
|
+
const UserSettingsMenu = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-settings-menu-dc598434.cjs.dev.js' /* webpackChunkName: "user-settings-menu" */); }));
|
|
396
398
|
|
|
397
399
|
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)."; }
|
|
398
400
|
var _ref$1 = process.env.NODE_ENV === "production" ? {
|
|
@@ -420,8 +422,7 @@ var _ref3$1 = process.env.NODE_ENV === "production" ? {
|
|
|
420
422
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2
|
|
421
423
|
};
|
|
422
424
|
const AppBar = props => {
|
|
423
|
-
|
|
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);
|
|
425
|
+
const previousProjectKey = getPreviousProjectKey(props.user?.defaultProjectKey ?? undefined);
|
|
425
426
|
return jsxRuntime.jsxs("div", {
|
|
426
427
|
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= */"),
|
|
427
428
|
"data-test": "top-navigation",
|
|
@@ -446,7 +447,7 @@ const AppBar = props => {
|
|
|
446
447
|
const selectedProject = _findInstanceProperty__default["default"](_context = props.user.projects.results).call(_context, project => project.key === props.projectKeyFromUrl);
|
|
447
448
|
return jsxRuntime.jsxs("div", {
|
|
448
449
|
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 */"),
|
|
449
|
-
children: [
|
|
450
|
+
children: [selectedProject?.isProductionProject && jsxRuntime.jsx("div", {
|
|
450
451
|
css: _ref3$1,
|
|
451
452
|
children: jsxRuntime.jsx(applicationComponents.ProjectStamp.IsProduction, {})
|
|
452
453
|
}), jsxRuntime.jsx(ProjectSwitcher
|
|
@@ -589,11 +590,11 @@ const FetchUser = props => {
|
|
|
589
590
|
};
|
|
590
591
|
FetchUser.displayName = 'FetchUser';
|
|
591
592
|
|
|
592
|
-
const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-
|
|
593
|
+
const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-c51e0607.cjs.dev.js' /* webpackChunkName: "navbar" */); }));
|
|
593
594
|
|
|
594
|
-
const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-
|
|
595
|
+
const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-a6c01dbf.cjs.dev.js' /* webpackChunkName: "project-container" */); }));
|
|
595
596
|
|
|
596
|
-
const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-
|
|
597
|
+
const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-7a1fd867.cjs.dev.js' /* webpackChunkName: "redirect-to-logout" */); }));
|
|
597
598
|
|
|
598
599
|
const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-project-create-f4f01842.cjs.dev.js' /* webpackChunkName: "redirect-to-project-create" */); }));
|
|
599
600
|
|
|
@@ -605,16 +606,15 @@ var AllFeaturesQuery = { kind: "Document", definitions: [{ kind: "OperationDefin
|
|
|
605
606
|
// is no need to be concerned about security.
|
|
606
607
|
const ldClientSideIdProduction = '5979d95f6040390cd07b5e01';
|
|
607
608
|
function getUserContextForLaunchDarklyAdapter(user, projectKey) {
|
|
608
|
-
var _user$launchdarklyTra, _user$launchdarklyTra2, _user$launchdarklyTra3, _user$launchdarklyTra4, _user$launchdarklyTra5;
|
|
609
609
|
return {
|
|
610
610
|
kind: 'user',
|
|
611
|
-
key: user
|
|
612
|
-
project: projectKey
|
|
613
|
-
id:
|
|
614
|
-
team:
|
|
615
|
-
group:
|
|
616
|
-
subgroup:
|
|
617
|
-
cloudEnvironment:
|
|
611
|
+
key: user?.id,
|
|
612
|
+
project: projectKey ?? '',
|
|
613
|
+
id: user?.launchdarklyTrackingId ?? '',
|
|
614
|
+
team: user?.launchdarklyTrackingTeam ?? [],
|
|
615
|
+
group: user?.launchdarklyTrackingGroup ?? '',
|
|
616
|
+
subgroup: user?.launchdarklyTrackingSubgroup ?? '',
|
|
617
|
+
cloudEnvironment: user?.launchdarklyTrackingCloudEnvironment ?? ''
|
|
618
618
|
};
|
|
619
619
|
}
|
|
620
620
|
const parseFlags = fetchedFlags => {
|
|
@@ -646,51 +646,47 @@ const SetupFlopFlipProvider = props => {
|
|
|
646
646
|
}
|
|
647
647
|
}, [enableLongLivedFeatureFlags]);
|
|
648
648
|
const defaultFlags = react.useMemo(() => _objectSpread$9(_objectSpread$9({}, constants.featureFlags.DEFAULT_FLAGS), props.defaultFlags), [props.defaultFlags]);
|
|
649
|
-
const adapterArgs = react.useMemo(() => {
|
|
650
|
-
|
|
651
|
-
|
|
649
|
+
const adapterArgs = react.useMemo(() => ({
|
|
650
|
+
user: {
|
|
651
|
+
key: props.user?.id
|
|
652
|
+
},
|
|
653
|
+
launchdarkly: {
|
|
654
|
+
cacheIdentifier: types.cacheIdentifiers.local,
|
|
655
|
+
cacheMode: getCacheMode(types.adapterIdentifiers.launchdarkly),
|
|
656
|
+
sdk: {
|
|
657
|
+
// Allow to overwrite the client ID, passed via the `additionalEnv` properties
|
|
658
|
+
// of the application config.
|
|
659
|
+
// This is mostly useful for internal usage on our staging environments.
|
|
660
|
+
clientSideId: props.ldClientSideId ?? ldClientSideIdProduction,
|
|
661
|
+
clientOptions: {
|
|
662
|
+
sendEventsOnlyForVariation: true
|
|
663
|
+
}
|
|
664
|
+
},
|
|
665
|
+
flags,
|
|
666
|
+
context: getUserContextForLaunchDarklyAdapter(props.user, props.projectKey)
|
|
667
|
+
},
|
|
668
|
+
http: {
|
|
669
|
+
// polling interval set to 15 minutes
|
|
670
|
+
pollingIntervalMs: 1000 * 60 * 15,
|
|
671
|
+
cacheIdentifier: types.cacheIdentifiers.local,
|
|
672
|
+
cacheMode: getCacheMode(types.adapterIdentifiers.http),
|
|
652
673
|
user: {
|
|
653
|
-
key:
|
|
674
|
+
key: props.user?.id
|
|
654
675
|
},
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
clientOptions: {
|
|
664
|
-
sendEventsOnlyForVariation: true
|
|
676
|
+
execute: async adapterArgs => {
|
|
677
|
+
const response = await apolloClient.query({
|
|
678
|
+
query: AllFeaturesQuery,
|
|
679
|
+
errorPolicy: 'ignore',
|
|
680
|
+
fetchPolicy: 'network-only',
|
|
681
|
+
context: {
|
|
682
|
+
target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
|
|
683
|
+
projectKey: adapterArgs.user?.project
|
|
665
684
|
}
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
context: getUserContextForLaunchDarklyAdapter(props.user, props.projectKey)
|
|
669
|
-
},
|
|
670
|
-
http: {
|
|
671
|
-
// polling interval set to 15 minutes
|
|
672
|
-
pollingIntervalMs: 1000 * 60 * 15,
|
|
673
|
-
cacheIdentifier: types.cacheIdentifiers.local,
|
|
674
|
-
cacheMode: getCacheMode(types.adapterIdentifiers.http),
|
|
675
|
-
user: {
|
|
676
|
-
key: (_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id
|
|
677
|
-
},
|
|
678
|
-
execute: async adapterArgs => {
|
|
679
|
-
var _adapterArgs$user;
|
|
680
|
-
const response = await apolloClient.query({
|
|
681
|
-
query: AllFeaturesQuery,
|
|
682
|
-
errorPolicy: 'ignore',
|
|
683
|
-
fetchPolicy: 'network-only',
|
|
684
|
-
context: {
|
|
685
|
-
target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
|
|
686
|
-
projectKey: (_adapterArgs$user = adapterArgs.user) === null || _adapterArgs$user === void 0 ? void 0 : _adapterArgs$user.project
|
|
687
|
-
}
|
|
688
|
-
});
|
|
689
|
-
return parseFlags(response.data);
|
|
690
|
-
}
|
|
685
|
+
});
|
|
686
|
+
return parseFlags(response.data);
|
|
691
687
|
}
|
|
692
|
-
}
|
|
693
|
-
}, [apolloClient, flags, props.ldClientSideId, props.projectKey, props.user]);
|
|
688
|
+
}
|
|
689
|
+
}), [apolloClient, flags, props.ldClientSideId, props.projectKey, props.user]);
|
|
694
690
|
|
|
695
691
|
/**
|
|
696
692
|
* The `<ApplicationShell />` tests itself. When it does so it can not setup and use
|
|
@@ -842,16 +838,16 @@ const ApplicationShellAuthenticated = props => {
|
|
|
842
838
|
const projectKeyFromUrl = applicationShellConnectors.selectProjectKeyFromUrl(location.pathname);
|
|
843
839
|
|
|
844
840
|
// Check if user is ct staff, and if so get language selected via staff bar from local storage
|
|
845
|
-
const staffBarLanguage =
|
|
841
|
+
const staffBarLanguage = user?.launchdarklyTrackingGroup === 'commercetools' || user?.launchdarklyTrackingGroup === 'mailosaur' ? applicationShellConnectors.selectUserLanguageFromStorage() : undefined;
|
|
846
842
|
const normalizedUser = user ? _objectSpread$8(_objectSpread$8({}, user), {}, {
|
|
847
843
|
// set the staff bar language if applicable
|
|
848
|
-
language: staffBarLanguage
|
|
844
|
+
language: staffBarLanguage ?? user.language
|
|
849
845
|
}) : undefined;
|
|
850
846
|
return jsxRuntime.jsx(applicationShellConnectors.ApplicationContextProvider, {
|
|
851
847
|
user: normalizedUser,
|
|
852
848
|
environment: applicationEnvironment,
|
|
853
849
|
children: jsxRuntime.jsx(i18n.AsyncLocaleData, {
|
|
854
|
-
locale: normalizedUser
|
|
850
|
+
locale: normalizedUser?.language,
|
|
855
851
|
applicationMessages: props.applicationMessages,
|
|
856
852
|
children: _ref7 => {
|
|
857
853
|
let isLoadingLocaleData = _ref7.isLoading,
|
|
@@ -975,8 +971,8 @@ const ApplicationShellAuthenticated = props => {
|
|
|
975
971
|
}), jsxRuntime.jsx(reactRouterDom.Route, {
|
|
976
972
|
exact: true,
|
|
977
973
|
path: "/",
|
|
978
|
-
children: (
|
|
979
|
-
const previousProjectKey = getPreviousProjectKey(
|
|
974
|
+
children: (() => {
|
|
975
|
+
const previousProjectKey = getPreviousProjectKey(normalizedUser?.defaultProjectKey ?? undefined);
|
|
980
976
|
|
|
981
977
|
/**
|
|
982
978
|
* NOTE:
|
|
@@ -989,7 +985,7 @@ const ApplicationShellAuthenticated = props => {
|
|
|
989
985
|
if (!normalizedUser) return jsxRuntime.jsx(ApplicationLoader, {});
|
|
990
986
|
if (!previousProjectKey) return jsxRuntime.jsx(RedirectToProjectCreate, {});
|
|
991
987
|
return jsxRuntime.jsx(reactRouterDom.Redirect, {
|
|
992
|
-
to:
|
|
988
|
+
to: `/${previousProjectKey}`
|
|
993
989
|
});
|
|
994
990
|
})()
|
|
995
991
|
}), jsxRuntime.jsx(reactRouterDom.Route, {
|
|
@@ -1165,37 +1161,31 @@ const withoutProjectKeyClaim = scope => {
|
|
|
1165
1161
|
return _filterInstanceProperty__default["default"](_context = scope.split(' ')).call(_context, claim => !_startsWithInstanceProperty__default["default"](claim).call(claim, oidc.OIDC_CLAIMS.PROJECT_KEY)).join(' ');
|
|
1166
1162
|
};
|
|
1167
1163
|
const hasCachedAuthenticationState = () => {
|
|
1168
|
-
|
|
1169
|
-
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) {
|
|
1164
|
+
if (window.app.__DEVELOPMENT__?.oidc?.authorizeUrl) {
|
|
1170
1165
|
try {
|
|
1171
|
-
var _window$app$__DEVELOP8, _window$app$__DEVELOP9, _window$app$__DEVELOP0, _window$app$__DEVELOP1;
|
|
1172
1166
|
let activeProjectKey = applicationShellConnectors.oidcStorage.getActiveProjectKey();
|
|
1173
1167
|
if (activeProjectKey) {
|
|
1174
|
-
var _window$app$__DEVELOP2, _window$app$__DEVELOP3, _window$app$__DEVELOP4;
|
|
1175
1168
|
// GIVEN The application is not requesting a project key,
|
|
1176
1169
|
// THEN we assume that the application does not need a project context.
|
|
1177
1170
|
// GIVEN The application is not requesting a project key,
|
|
1178
1171
|
// THEN we remove the cached project key.
|
|
1179
1172
|
// This is the case of an application like `account`.
|
|
1180
|
-
if (!
|
|
1173
|
+
if (!window.app.__DEVELOPMENT__?.oidc?.initialProjectKey) {
|
|
1181
1174
|
applicationShellConnectors.oidcStorage.removeActiveProjectKey();
|
|
1182
1175
|
}
|
|
1183
1176
|
|
|
1184
1177
|
// If the project key we had in the storage does not match the one
|
|
1185
1178
|
// we have in the development config, then we need to discard it and
|
|
1186
1179
|
// use the one from the development config.
|
|
1187
|
-
if (
|
|
1188
|
-
|
|
1189
|
-
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;
|
|
1180
|
+
if (window.app.__DEVELOPMENT__?.oidc?.initialProjectKey && window.app.__DEVELOPMENT__?.oidc?.initialProjectKey !== activeProjectKey) {
|
|
1181
|
+
activeProjectKey = window.app.__DEVELOPMENT__?.oidc?.initialProjectKey;
|
|
1190
1182
|
applicationShellConnectors.oidcStorage.setActiveProjectKey(activeProjectKey);
|
|
1191
1183
|
}
|
|
1192
1184
|
} else {
|
|
1193
|
-
|
|
1194
|
-
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) {
|
|
1195
|
-
var _window$app$__DEVELOP7;
|
|
1185
|
+
if (window.app.__DEVELOPMENT__?.oidc?.initialProjectKey) {
|
|
1196
1186
|
// Here we store the initial project key in local storage,
|
|
1197
1187
|
// so that it gets picked up when we initiate the login flow.
|
|
1198
|
-
applicationShellConnectors.oidcStorage.setActiveProjectKey(
|
|
1188
|
+
applicationShellConnectors.oidcStorage.setActiveProjectKey(window.app.__DEVELOPMENT__?.oidc?.initialProjectKey);
|
|
1199
1189
|
}
|
|
1200
1190
|
}
|
|
1201
1191
|
|
|
@@ -1210,11 +1200,11 @@ const hasCachedAuthenticationState = () => {
|
|
|
1210
1200
|
}
|
|
1211
1201
|
// Rebuild the requested OIDC scope to verify that it didn't change.
|
|
1212
1202
|
const requestedScope = oidc.buildOidcScope({
|
|
1213
|
-
projectKey: activeProjectKey
|
|
1214
|
-
oAuthScopes:
|
|
1215
|
-
additionalOAuthScopes:
|
|
1216
|
-
teamId:
|
|
1217
|
-
applicationId:
|
|
1203
|
+
projectKey: activeProjectKey ?? undefined,
|
|
1204
|
+
oAuthScopes: window.app.__DEVELOPMENT__?.oidc?.oAuthScopes,
|
|
1205
|
+
additionalOAuthScopes: window.app.__DEVELOPMENT__?.oidc?.additionalOAuthScopes,
|
|
1206
|
+
teamId: window.app.__DEVELOPMENT__?.oidc?.teamId,
|
|
1207
|
+
applicationId: window.app.__DEVELOPMENT__?.oidc?.applicationId
|
|
1218
1208
|
});
|
|
1219
1209
|
// Omit the project key from the check. This allows to switch projects
|
|
1220
1210
|
// without having to log in again.
|
|
@@ -1232,12 +1222,11 @@ const hasCachedAuthenticationState = () => {
|
|
|
1232
1222
|
return window.localStorage.getItem(constants.STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
|
|
1233
1223
|
};
|
|
1234
1224
|
|
|
1235
|
-
const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-
|
|
1225
|
+
const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-59160485.cjs.dev.js' /* webpackChunkName: "oidc-callback" */); }));
|
|
1236
1226
|
|
|
1237
1227
|
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; }
|
|
1238
1228
|
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; }
|
|
1239
1229
|
const Authenticated = props => {
|
|
1240
|
-
var _window$app$__DEVELOP;
|
|
1241
1230
|
// We attempt to see if the user was already authenticated by looking
|
|
1242
1231
|
// at the "cached" flag in local storage.
|
|
1243
1232
|
const cachedAuthenticationState = hasCachedAuthenticationState();
|
|
@@ -1251,7 +1240,7 @@ const Authenticated = props => {
|
|
|
1251
1240
|
|
|
1252
1241
|
// When using the OIDC workflow, we always return false, to trigger
|
|
1253
1242
|
// the redirect to the login page.
|
|
1254
|
-
if (
|
|
1243
|
+
if (window.app.__DEVELOPMENT__?.oidc?.authorizeUrl) {
|
|
1255
1244
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
1256
1245
|
children: props.render({
|
|
1257
1246
|
isAuthenticated: false
|
|
@@ -1265,13 +1254,13 @@ const Authenticated = props => {
|
|
|
1265
1254
|
Authenticated.displayName = 'Authenticated';
|
|
1266
1255
|
const AuthenticationRoutes = props => jsxRuntime.jsxs(reactRouterDom.Switch, {
|
|
1267
1256
|
children: [jsxRuntime.jsx(SuspendedRoute, {
|
|
1268
|
-
path:
|
|
1257
|
+
path: `/account/oidc/callback`,
|
|
1269
1258
|
children: jsxRuntime.jsx(OidcCallback, {
|
|
1270
1259
|
locale: props.locale,
|
|
1271
1260
|
applicationMessages: props.applicationMessages
|
|
1272
1261
|
})
|
|
1273
1262
|
}), jsxRuntime.jsx(SuspendedRoute, {
|
|
1274
|
-
path:
|
|
1263
|
+
path: `/:projectKey/:identifier/oidc/callback`,
|
|
1275
1264
|
children: jsxRuntime.jsx(OidcCallback, {
|
|
1276
1265
|
locale: props.locale,
|
|
1277
1266
|
applicationMessages: props.applicationMessages
|
|
@@ -1384,10 +1373,7 @@ const useCoercedEnvironmentValues = environment => {
|
|
|
1384
1373
|
};
|
|
1385
1374
|
|
|
1386
1375
|
const ApplicationShellProvider = props => {
|
|
1387
|
-
const apolloClient = react.useMemo(() =>
|
|
1388
|
-
var _props$apolloClient;
|
|
1389
|
-
return (_props$apolloClient = props.apolloClient) !== null && _props$apolloClient !== void 0 ? _props$apolloClient : applicationShellConnectors.createApolloClient();
|
|
1390
|
-
}, [props.apolloClient]);
|
|
1376
|
+
const apolloClient = react.useMemo(() => props.apolloClient ?? applicationShellConnectors.createApolloClient(), [props.apolloClient]);
|
|
1391
1377
|
react.useEffect(() => {
|
|
1392
1378
|
applicationShellConnectors.setCachedApolloClient(apolloClient);
|
|
1393
1379
|
}, [apolloClient]);
|
|
@@ -1438,7 +1424,7 @@ const ApplicationShellProvider = props => {
|
|
|
1438
1424
|
};
|
|
1439
1425
|
ApplicationShellProvider.displayName = 'ApplicationShellProvider';
|
|
1440
1426
|
|
|
1441
|
-
const RedirectToLogin = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-login-
|
|
1427
|
+
const RedirectToLogin = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-login-3bee13ba.cjs.dev.js' /* webpackChunkName: "redirect-to-login" */); }));
|
|
1442
1428
|
|
|
1443
1429
|
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)."; }
|
|
1444
1430
|
const styles = process.env.NODE_ENV === "production" ? {
|
|
@@ -1466,8 +1452,7 @@ const StrictModeEnablement$1 = props => {
|
|
|
1466
1452
|
};
|
|
1467
1453
|
const ApplicationShell = props => {
|
|
1468
1454
|
react.useEffect(() => {
|
|
1469
|
-
|
|
1470
|
-
(_props$onRegisterErro = props.onRegisterErrorListeners) === null || _props$onRegisterErro === void 0 || _props$onRegisterErro.call(props, {
|
|
1455
|
+
props.onRegisterErrorListeners?.({
|
|
1471
1456
|
dispatch: index.internalReduxStore.dispatch
|
|
1472
1457
|
});
|
|
1473
1458
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -1507,18 +1492,14 @@ const ApplicationShell = props => {
|
|
|
1507
1492
|
ApplicationShell.displayName = 'ApplicationShell';
|
|
1508
1493
|
ApplicationShell.version = version;
|
|
1509
1494
|
|
|
1510
|
-
const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-
|
|
1495
|
+
const CustomViewDevHost = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./custom-view-dev-host-116479c1.cjs.dev.js' /* webpackChunkName: "custom-view-dev-host" */); }));
|
|
1511
1496
|
|
|
1512
1497
|
function CustomViewFlopFlipProvider(props) {
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
key: (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.id
|
|
1519
|
-
}
|
|
1520
|
-
};
|
|
1521
|
-
}, [(_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id]);
|
|
1498
|
+
const adapterArgs = react.useMemo(() => ({
|
|
1499
|
+
user: {
|
|
1500
|
+
key: props.user?.id
|
|
1501
|
+
}
|
|
1502
|
+
}), [props.user?.id]);
|
|
1522
1503
|
return jsxRuntime.jsx(reactBroadcast.ConfigureFlopFlip, {
|
|
1523
1504
|
adapter: memoryAdapter.adapter,
|
|
1524
1505
|
defaultFlags: _flagsInstanceProperty__default["default"](props),
|
|
@@ -1554,7 +1535,7 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1554
1535
|
return jsxRuntime.jsx(ApplicationLoader, {});
|
|
1555
1536
|
}
|
|
1556
1537
|
return jsxRuntime.jsx(i18n.AsyncLocaleData, {
|
|
1557
|
-
locale:
|
|
1538
|
+
locale: user?.language || browserLocale,
|
|
1558
1539
|
applicationMessages: props.messages,
|
|
1559
1540
|
children: _ref2 => {
|
|
1560
1541
|
let isLoadingLocaleData = _ref2.isLoading,
|
|
@@ -1617,15 +1598,15 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1617
1598
|
const customViewsThemesOverrides = {
|
|
1618
1599
|
default: {
|
|
1619
1600
|
marginForCustomViewsSelectorAsTabular: '0',
|
|
1620
|
-
marginForPageContent:
|
|
1621
|
-
paddingForDetailPageHeader:
|
|
1601
|
+
marginForPageContent: `${designSystem.designTokens.spacing50} 0`,
|
|
1602
|
+
paddingForDetailPageHeader: `0 0 ${designSystem.designTokens.spacing40} 0`,
|
|
1622
1603
|
paddingForMainPageHeader: '0',
|
|
1623
1604
|
paddingForTabularPageHeader: '0'
|
|
1624
1605
|
}
|
|
1625
1606
|
};
|
|
1626
1607
|
|
|
1627
1608
|
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; }
|
|
1628
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
1609
|
+
function _objectSpread$1(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$1(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$1(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
1629
1610
|
const browserLocale = getBrowserLocale(window);
|
|
1630
1611
|
function NotificationsContainer(props) {
|
|
1631
1612
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
@@ -1685,7 +1666,6 @@ function CustomViewThemeProvider() {
|
|
|
1685
1666
|
*/
|
|
1686
1667
|
const isLocalProdMode = process.env.NODE_ENV === 'production' && window.app.env === 'development';
|
|
1687
1668
|
function CustomViewShell(props) {
|
|
1688
|
-
var _window$app$__DEVELOP;
|
|
1689
1669
|
const _useState = react.useState(),
|
|
1690
1670
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1691
1671
|
hostContext = _useState2[0],
|
|
@@ -1701,21 +1681,20 @@ function CustomViewShell(props) {
|
|
|
1701
1681
|
if (event.data.eventName === constants.CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_INITIALIZATION) {
|
|
1702
1682
|
setHostContext(event.data.eventData.context);
|
|
1703
1683
|
} else {
|
|
1704
|
-
console.warn(
|
|
1684
|
+
console.warn(`CustomViewShell: Unknown received event with name: ${event.data.eventName}`, {
|
|
1705
1685
|
event
|
|
1706
1686
|
});
|
|
1707
1687
|
}
|
|
1708
1688
|
}, []);
|
|
1709
1689
|
const handleClose = react.useCallback(() => {
|
|
1710
|
-
|
|
1711
|
-
(_iFrameCommunicationP = iFrameCommunicationPort.current) === null || _iFrameCommunicationP === void 0 || _iFrameCommunicationP.postMessage({
|
|
1690
|
+
iFrameCommunicationPort.current?.postMessage({
|
|
1712
1691
|
origin: window.location.origin,
|
|
1713
|
-
source:
|
|
1692
|
+
source: `${constants.CUSTOM_VIEWS_EVENTS_META.CUSTOM_VIEW_KEY_PREFIX}${hostContext?.customViewConfig.id}`,
|
|
1714
1693
|
destination: constants.CUSTOM_VIEWS_EVENTS_META.HOST_APPLICATION_CODE,
|
|
1715
1694
|
eventName: constants.CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_CLOSE,
|
|
1716
1695
|
eventData: {}
|
|
1717
1696
|
});
|
|
1718
|
-
}, [hostContext
|
|
1697
|
+
}, [hostContext?.customViewConfig.id]);
|
|
1719
1698
|
react.useEffect(() => {
|
|
1720
1699
|
const bootstrapMessageHandler = event => {
|
|
1721
1700
|
if ((event.origin === window.location.origin ||
|
|
@@ -1747,8 +1726,7 @@ function CustomViewShell(props) {
|
|
|
1747
1726
|
react.useEffect(() => {
|
|
1748
1727
|
// Close the channel when the component unmounts
|
|
1749
1728
|
return () => {
|
|
1750
|
-
|
|
1751
|
-
(_iFrameCommunicationP2 = iFrameCommunicationPort.current) === null || _iFrameCommunicationP2 === void 0 || _iFrameCommunicationP2.close();
|
|
1729
|
+
iFrameCommunicationPort.current?.close();
|
|
1752
1730
|
iFrameCommunicationPort.current = undefined;
|
|
1753
1731
|
};
|
|
1754
1732
|
}, []);
|
|
@@ -1757,7 +1735,7 @@ function CustomViewShell(props) {
|
|
|
1757
1735
|
showLogo: true
|
|
1758
1736
|
});
|
|
1759
1737
|
}
|
|
1760
|
-
const hostUrl = process.env.NODE_ENV === 'development' || isLocalProdMode ?
|
|
1738
|
+
const hostUrl = process.env.NODE_ENV === 'development' || isLocalProdMode ? window.app.__DEVELOPMENT__?.customViewHostUrl : hostContext.hostUrl;
|
|
1761
1739
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1762
1740
|
children: [jsxRuntime.jsx(GlobalStyles, {}), jsxRuntime.jsx(ApplicationShellProvider, {
|
|
1763
1741
|
environment: window.app,
|
|
@@ -1766,7 +1744,6 @@ function CustomViewShell(props) {
|
|
|
1766
1744
|
children: _ref => {
|
|
1767
1745
|
let isAuthenticated = _ref.isAuthenticated;
|
|
1768
1746
|
if (isAuthenticated) {
|
|
1769
|
-
var _context2;
|
|
1770
1747
|
return jsxRuntime.jsx(applicationShellConnectors.CustomViewContextProvider, {
|
|
1771
1748
|
hostUrl: hostUrl,
|
|
1772
1749
|
customViewConfig: hostContext.customViewConfig,
|
|
@@ -1785,7 +1762,7 @@ function CustomViewShell(props) {
|
|
|
1785
1762
|
notificationsGlobalRef: notificationsGlobalRef,
|
|
1786
1763
|
notificationsPageRef: notificationsPageRef
|
|
1787
1764
|
}), jsxRuntime.jsxs(reactRouterDom.Route, {
|
|
1788
|
-
path:
|
|
1765
|
+
path: `/custom-views/${hostContext.customViewConfig.id}/projects/${hostContext.projectKey}`,
|
|
1789
1766
|
children: [jsxRuntime.jsx(applicationComponents.ModalPageTopBar, {
|
|
1790
1767
|
onClose: handleClose,
|
|
1791
1768
|
hidePathLabel: true
|
|
@@ -1924,7 +1901,7 @@ function setupGlobalErrorListener() {
|
|
|
1924
1901
|
}
|
|
1925
1902
|
|
|
1926
1903
|
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; }
|
|
1927
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
1904
|
+
function _objectSpread(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(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(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
1928
1905
|
|
|
1929
1906
|
/**
|
|
1930
1907
|
* The route path to match. Usually it starts with `/:projectKey/my-entry-point`.
|
|
@@ -1934,8 +1911,7 @@ const makeRoute = (routePath, routeOptions) => {
|
|
|
1934
1911
|
const getUrl = (nextParams, nextQueryParams) => {
|
|
1935
1912
|
const baseUrl = reactRouterDom.generatePath(routePath, _objectSpread(_objectSpread({}, routeOptions.params), nextParams));
|
|
1936
1913
|
if (nextQueryParams) {
|
|
1937
|
-
|
|
1938
|
-
return _concatInstanceProperty__default["default"](_context = "".concat(baseUrl, "?")).call(_context, nextQueryParams.toString());
|
|
1914
|
+
return `${baseUrl}?${nextQueryParams.toString()}`;
|
|
1939
1915
|
}
|
|
1940
1916
|
return baseUrl;
|
|
1941
1917
|
};
|
|
@@ -65,7 +65,7 @@ var requestsInFlightReducer = (requestsInFlight, action) => {
|
|
|
65
65
|
if (isHideRequestInFlightAction(action)) {
|
|
66
66
|
// may only remove first occurence
|
|
67
67
|
if (!_includesInstanceProperty__default["default"](requestsInFlight).call(requestsInFlight, action.payload)) {
|
|
68
|
-
sentry.reportErrorToSentry(new Error(
|
|
68
|
+
sentry.reportErrorToSentry(new Error(`Tried to hide "${action.payload}", but it was not progressing!`));
|
|
69
69
|
return requestsInFlight;
|
|
70
70
|
}
|
|
71
71
|
return excludeFirstOccurrence(requestsInFlight, action.payload);
|
|
@@ -141,7 +141,7 @@ const patchedGetCorrelationId = () => applicationShellConnectors.getCorrelationI
|
|
|
141
141
|
const getAdditionalHeaders = () => {
|
|
142
142
|
const sessionToken = applicationShellConnectors.oidcStorage.getSessionToken();
|
|
143
143
|
return omitEmpty__default["default"]({
|
|
144
|
-
[constants.SUPPORTED_HEADERS.AUTHORIZATION]: sessionToken ?
|
|
144
|
+
[constants.SUPPORTED_HEADERS.AUTHORIZATION]: sessionToken ? `Bearer ${sessionToken}` : undefined,
|
|
145
145
|
[constants.SUPPORTED_HEADERS.X_APPLICATION_ID]: window.app.applicationIdentifier,
|
|
146
146
|
[constants.SUPPORTED_HEADERS.X_CUSTOM_VIEW_ID]: window.app.customViewId,
|
|
147
147
|
[constants.SUPPORTED_HEADERS.X_TEAM_ID]: applicationShellConnectors.selectTeamIdFromStorage()
|