@commercetools-frontend/application-shell 20.12.0 → 20.12.4
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-ae4c00f2.cjs.dev.js → application-entry-point-1531bd49.cjs.dev.js} +36 -78
- package/dist/{application-entry-point-52f79266.cjs.prod.js → application-entry-point-27b46a9d.cjs.prod.js} +36 -78
- package/dist/{application-entry-point-a7199847.esm.js → application-entry-point-9750a74f.esm.js} +14 -52
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +10 -4
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +10 -4
- package/dist/commercetools-frontend-application-shell.esm.js +8 -4
- package/dist/constants-33a16227.esm.js +46 -0
- package/dist/constants-745aeeca.cjs.prod.js +54 -0
- package/dist/constants-fdbe0e9d.cjs.dev.js +54 -0
- package/dist/declarations/src/apollo-links/utils.d.ts +1 -1
- package/dist/declarations/src/components/application-shell/helpers.d.ts +1 -0
- package/dist/declarations/src/components/locale-switcher/locale-switcher.d.ts +3 -4
- package/dist/declarations/src/hooks/use-is-served-by-proxy/index.d.ts +1 -0
- package/dist/declarations/src/hooks/use-is-served-by-proxy/use-is-served-by-proxy.d.ts +2 -0
- package/dist/declarations/src/index.d.ts +1 -1
- package/dist/declarations/src/ssr/index.d.ts +2 -0
- package/dist/declarations/src/utils/formatters.d.ts +8 -0
- package/dist/declarations/src/utils/index.d.ts +1 -0
- package/dist/declarations/src/{components/authenticated/helpers.d.ts → utils/oidc.d.ts} +0 -0
- package/dist/{index-b2a644f6.cjs.prod.js → index-9fb026f3.cjs.prod.js} +133 -108
- package/dist/{index-1d2a788a.esm.js → index-e5a993b0.esm.js} +108 -83
- package/dist/{index-fd0e0765.cjs.dev.js → index-e8b18306.cjs.dev.js} +149 -124
- package/dist/oidc-7e7761de.cjs.dev.js +94 -0
- package/dist/oidc-8e05c00e.esm.js +84 -0
- package/dist/oidc-be09bd90.cjs.prod.js +94 -0
- package/dist/{project-expired-8a630330.cjs.dev.js → project-expired-0015e695.cjs.prod.js} +8 -4
- package/dist/{project-expired-6f5d474a.cjs.prod.js → project-expired-3759ef13.cjs.dev.js} +8 -4
- package/dist/{project-expired-b312aef3.esm.js → project-expired-e0881f5d.esm.js} +8 -4
- package/dist/{project-not-found-7bdc583e.cjs.dev.js → project-not-found-2581e9da.cjs.dev.js} +8 -4
- package/dist/{project-not-found-1c1a349f.esm.js → project-not-found-9428c0f6.esm.js} +8 -4
- package/dist/{project-not-found-19312707.cjs.prod.js → project-not-found-de559908.cjs.prod.js} +8 -4
- package/dist/{project-not-initialized-8179abd1.esm.js → project-not-initialized-23176122.esm.js} +8 -4
- package/dist/{project-not-initialized-2f2ee69f.cjs.dev.js → project-not-initialized-a4cd8649.cjs.prod.js} +8 -4
- package/dist/{project-not-initialized-10a1ce69.cjs.prod.js → project-not-initialized-fc705645.cjs.dev.js} +8 -4
- package/dist/{project-suspended-f541ad12.cjs.dev.js → project-suspended-13c17047.cjs.prod.js} +8 -4
- package/dist/{project-suspended-da1d5c10.cjs.prod.js → project-suspended-2d044bbe.cjs.dev.js} +8 -4
- package/dist/{project-suspended-3e5b8d4f.esm.js → project-suspended-3292de13.esm.js} +8 -4
- package/dist/{quick-access-52ee94fa.esm.js → quick-access-5dd5bec2.esm.js} +6 -2
- package/dist/{quick-access-8e4582e8.cjs.dev.js → quick-access-d9768abe.cjs.dev.js} +6 -2
- package/dist/{quick-access-592bdd5b.cjs.prod.js → quick-access-dd969ed0.cjs.prod.js} +6 -2
- package/dist/{service-page-project-switcher-c5ba651f.cjs.prod.js → service-page-project-switcher-3b93b2f1.cjs.prod.js} +1 -1
- package/dist/{service-page-project-switcher-8ccd2f3c.cjs.dev.js → service-page-project-switcher-8c881917.cjs.dev.js} +1 -1
- package/dist/{service-page-project-switcher-283ce683.esm.js → service-page-project-switcher-f73afea1.esm.js} +1 -1
- package/package.json +64 -57
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.d.ts +1 -0
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +16 -0
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.js +7 -0
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +16 -0
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +6 -0
- package/ssr/package.json +4 -0
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +3 -1
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +3 -1
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +3 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var applicationEntryPoint = require('./application-entry-point-
|
|
3
|
+
var applicationEntryPoint = require('./application-entry-point-27b46a9d.cjs.prod.js');
|
|
4
4
|
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
5
5
|
var _styled = require('@emotion/styled/base');
|
|
6
6
|
var _pt = require('prop-types');
|
|
@@ -18,15 +18,18 @@ var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/obje
|
|
|
18
18
|
var react = require('react');
|
|
19
19
|
var reactRouterDom = require('react-router-dom');
|
|
20
20
|
var react$2 = require('@emotion/react');
|
|
21
|
-
var constants = require('@commercetools-frontend/constants');
|
|
21
|
+
var constants$1 = require('@commercetools-frontend/constants');
|
|
22
22
|
var sentry = require('@commercetools-frontend/sentry');
|
|
23
23
|
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
24
24
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
25
25
|
var reactNotifications = require('@commercetools-frontend/react-notifications');
|
|
26
26
|
var i18n = require('@commercetools-frontend/i18n');
|
|
27
27
|
var uuid = require('uuid');
|
|
28
|
+
var constants = require('./constants-745aeeca.cjs.prod.js');
|
|
28
29
|
var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
|
|
29
30
|
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
31
|
+
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
32
|
+
require('lodash/upperFirst');
|
|
30
33
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
31
34
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
32
35
|
var Perfume = require('perfume.js');
|
|
@@ -38,8 +41,7 @@ var reactRedux = require('react-redux');
|
|
|
38
41
|
var history = require('@commercetools-frontend/browser-history');
|
|
39
42
|
var reactIntl = require('react-intl');
|
|
40
43
|
var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
|
|
41
|
-
var
|
|
42
|
-
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
44
|
+
var oidc = require('./oidc-be09bd90.cjs.prod.js');
|
|
43
45
|
var qss = require('qss');
|
|
44
46
|
var jwtDecode = require('jwt-decode');
|
|
45
47
|
var FailedAuthenticationSVG = require('@commercetools-frontend/assets/images/locked-diamond.svg');
|
|
@@ -75,6 +77,7 @@ var SelectInput = require('@commercetools-uikit/select-input');
|
|
|
75
77
|
var _taggedTemplateLiteral = require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
|
|
76
78
|
var ReactDOM = require('react-dom');
|
|
77
79
|
var isNil = require('lodash/isNil');
|
|
80
|
+
var reactSelect = require('react-select');
|
|
78
81
|
var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/asyncToGenerator');
|
|
79
82
|
var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
|
|
80
83
|
var _Object$fromEntries = require('@babel/runtime-corejs3/core-js-stable/object/from-entries');
|
|
@@ -82,6 +85,7 @@ var _flagsInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/inst
|
|
|
82
85
|
var ldAdapter = require('@flopflip/launchdarkly-adapter');
|
|
83
86
|
var httpAdapter = require('@flopflip/http-adapter');
|
|
84
87
|
var combineAdapters = require('@flopflip/combine-adapters');
|
|
88
|
+
require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
85
89
|
require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
|
|
86
90
|
require('@babel/runtime-corejs3/core-js-stable/instance/slice');
|
|
87
91
|
var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
|
|
@@ -112,12 +116,12 @@ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$def
|
|
|
112
116
|
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
113
117
|
var _URL__default = /*#__PURE__*/_interopDefault(_URL);
|
|
114
118
|
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
119
|
+
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
115
120
|
var Perfume__default = /*#__PURE__*/_interopDefault(Perfume);
|
|
116
121
|
var _reverseInstanceProperty__default = /*#__PURE__*/_interopDefault(_reverseInstanceProperty);
|
|
117
122
|
var camelcase__default = /*#__PURE__*/_interopDefault(camelcase);
|
|
118
123
|
var history__default = /*#__PURE__*/_interopDefault(history);
|
|
119
124
|
var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
|
|
120
|
-
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
121
125
|
var jwtDecode__default = /*#__PURE__*/_interopDefault(jwtDecode);
|
|
122
126
|
var FailedAuthenticationSVG__default = /*#__PURE__*/_interopDefault(FailedAuthenticationSVG);
|
|
123
127
|
var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
|
|
@@ -153,7 +157,7 @@ var throttle__default = /*#__PURE__*/_interopDefault(throttle);
|
|
|
153
157
|
var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
|
|
154
158
|
|
|
155
159
|
function selectProjectKeyFromLocalStorage() {
|
|
156
|
-
return window.localStorage.getItem(
|
|
160
|
+
return window.localStorage.getItem(constants.STORAGE_KEYS.ACTIVE_PROJECT_KEY);
|
|
157
161
|
}
|
|
158
162
|
|
|
159
163
|
var getPreviousProjectKey = function getPreviousProjectKey(defaultProjectKeyOfUser) {
|
|
@@ -178,7 +182,7 @@ var createApolloContextForProxyForwardTo = function createApolloContextForProxyF
|
|
|
178
182
|
};
|
|
179
183
|
|
|
180
184
|
var getSelectedDataLocaleForProject = function getSelectedDataLocaleForProject(projectLocales) {
|
|
181
|
-
var cachedDataLocale = window.localStorage.getItem(
|
|
185
|
+
var cachedDataLocale = window.localStorage.getItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE); // Make sure the cached locale is listed in the selected project
|
|
182
186
|
|
|
183
187
|
var isCachedDataLocaleIncludedInProjectLanguages = _includesInstanceProperty__default["default"](projectLocales).call(projectLocales, cachedDataLocale || '');
|
|
184
188
|
|
|
@@ -186,7 +190,7 @@ var getSelectedDataLocaleForProject = function getSelectedDataLocaleForProject(p
|
|
|
186
190
|
|
|
187
191
|
var defaultDataLocaleForProject = projectLocales[0]; // Cache it
|
|
188
192
|
|
|
189
|
-
window.localStorage.setItem(
|
|
193
|
+
window.localStorage.setItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE, defaultDataLocaleForProject);
|
|
190
194
|
return defaultDataLocaleForProject;
|
|
191
195
|
};
|
|
192
196
|
|
|
@@ -199,7 +203,7 @@ var ProjectDataLocale = function ProjectDataLocale(props) {
|
|
|
199
203
|
var handleSetProjectDataLocale = react.useCallback(function (locale) {
|
|
200
204
|
setLocale(locale); // Cache it
|
|
201
205
|
|
|
202
|
-
window.localStorage.setItem(
|
|
206
|
+
window.localStorage.setItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE, locale);
|
|
203
207
|
}, []);
|
|
204
208
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
205
209
|
children: props.children({
|
|
@@ -617,44 +621,11 @@ var ConfigureIntlProvider = function ConfigureIntlProvider(props) {
|
|
|
617
621
|
ConfigureIntlProvider.propTypes = {};
|
|
618
622
|
ConfigureIntlProvider.displayName = 'ConfigureIntlProvider';
|
|
619
623
|
|
|
620
|
-
var buildOidcScope = function buildOidcScope(options) {
|
|
621
|
-
var _context7;
|
|
622
|
-
|
|
623
|
-
var claims = [];
|
|
624
|
-
|
|
625
|
-
if (options.projectKey) {
|
|
626
|
-
var _context, _context2, _options$oAuthScopes$, _options$oAuthScopes, _context4, _options$oAuthScopes$2, _options$oAuthScopes2;
|
|
627
|
-
|
|
628
|
-
claims.push(_concatInstanceProperty__default["default"](_context = "".concat(applicationEntryPoint.OIDC_CLAIMS.PROJECT_KEY, ":")).call(_context, options.projectKey));
|
|
629
|
-
claims.push.apply(claims, _toConsumableArray(_mapInstanceProperty__default["default"](_context2 = (_options$oAuthScopes$ = (_options$oAuthScopes = options.oAuthScopes) === null || _options$oAuthScopes === void 0 ? void 0 : _options$oAuthScopes.view) !== null && _options$oAuthScopes$ !== void 0 ? _options$oAuthScopes$ : []).call(_context2, function (scope) {
|
|
630
|
-
var _context3;
|
|
631
|
-
|
|
632
|
-
return _concatInstanceProperty__default["default"](_context3 = "".concat(applicationEntryPoint.OIDC_CLAIMS.VIEW, ":")).call(_context3, scope);
|
|
633
|
-
})));
|
|
634
|
-
claims.push.apply(claims, _toConsumableArray(_mapInstanceProperty__default["default"](_context4 = (_options$oAuthScopes$2 = (_options$oAuthScopes2 = options.oAuthScopes) === null || _options$oAuthScopes2 === void 0 ? void 0 : _options$oAuthScopes2.manage) !== null && _options$oAuthScopes$2 !== void 0 ? _options$oAuthScopes$2 : []).call(_context4, function (scope) {
|
|
635
|
-
var _context5;
|
|
636
|
-
|
|
637
|
-
return _concatInstanceProperty__default["default"](_context5 = "".concat(applicationEntryPoint.OIDC_CLAIMS.MANAGE, ":")).call(_context5, scope);
|
|
638
|
-
})));
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
var teamId = options.teamId;
|
|
642
|
-
|
|
643
|
-
if (teamId) {
|
|
644
|
-
var _context6;
|
|
645
|
-
|
|
646
|
-
claims.push(_concatInstanceProperty__default["default"](_context6 = "".concat(applicationEntryPoint.OIDC_CLAIMS.TEAM_ID, ":")).call(_context6, teamId));
|
|
647
|
-
}
|
|
648
|
-
|
|
649
|
-
return _concatInstanceProperty__default["default"](_context7 = [// This is required as per OIDC spec.
|
|
650
|
-
applicationEntryPoint.OIDC_CLAIMS.OPEN_ID]).call(_context7, claims).join(' ');
|
|
651
|
-
};
|
|
652
|
-
|
|
653
624
|
var withoutProjectKeyClaim = function withoutProjectKeyClaim(scope) {
|
|
654
625
|
var _context;
|
|
655
626
|
|
|
656
627
|
return _filterInstanceProperty__default["default"](_context = scope.split(' ')).call(_context, function (claim) {
|
|
657
|
-
return !_startsWithInstanceProperty__default["default"](claim).call(claim,
|
|
628
|
+
return !_startsWithInstanceProperty__default["default"](claim).call(claim, constants.OIDC_CLAIMS.PROJECT_KEY);
|
|
658
629
|
}).join(' ');
|
|
659
630
|
};
|
|
660
631
|
|
|
@@ -701,7 +672,7 @@ var hasCachedAuthenticationState = function hasCachedAuthenticationState() {
|
|
|
701
672
|
} // Rebuild the requested OIDC scope to verify that it didn't change.
|
|
702
673
|
|
|
703
674
|
|
|
704
|
-
var requestedScope = buildOidcScope({
|
|
675
|
+
var requestedScope = oidc.buildOidcScope({
|
|
705
676
|
projectKey: activeProjectKey !== null && activeProjectKey !== void 0 ? activeProjectKey : undefined,
|
|
706
677
|
oAuthScopes: (_window$app$__DEVELOP9 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP9 === void 0 ? void 0 : (_window$app$__DEVELOP10 = _window$app$__DEVELOP9.oidc) === null || _window$app$__DEVELOP10 === void 0 ? void 0 : _window$app$__DEVELOP10.oAuthScopes,
|
|
707
678
|
teamId: (_window$app$__DEVELOP11 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP11 === void 0 ? void 0 : (_window$app$__DEVELOP12 = _window$app$__DEVELOP11.oidc) === null || _window$app$__DEVELOP12 === void 0 ? void 0 : _window$app$__DEVELOP12.teamId
|
|
@@ -721,7 +692,7 @@ var hasCachedAuthenticationState = function hasCachedAuthenticationState() {
|
|
|
721
692
|
}
|
|
722
693
|
}
|
|
723
694
|
|
|
724
|
-
return window.localStorage.getItem(
|
|
695
|
+
return window.localStorage.getItem(constants.STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
|
|
725
696
|
};
|
|
726
697
|
|
|
727
698
|
function useMcQuery(query, options) {
|
|
@@ -745,7 +716,7 @@ var AmILoggedIn = function AmILoggedIn(props) {
|
|
|
745
716
|
// is valid. We return null while the query is loading.
|
|
746
717
|
var _useMcQuery = useMcQuery(AmILoggedInQuery, {
|
|
747
718
|
context: {
|
|
748
|
-
target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
|
|
719
|
+
target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
|
|
749
720
|
skipTokenRetry: true
|
|
750
721
|
},
|
|
751
722
|
// NOTE: With `no-cache` the `useQuery` will not trigger a
|
|
@@ -764,20 +735,20 @@ var AmILoggedIn = function AmILoggedIn(props) {
|
|
|
764
735
|
if (!data) {
|
|
765
736
|
// In case the request is 200 but there is no data, we assume
|
|
766
737
|
// there are some errors.
|
|
767
|
-
window.localStorage.removeItem(
|
|
738
|
+
window.localStorage.removeItem(constants.STORAGE_KEYS.IS_AUTHENTICATED);
|
|
768
739
|
} else {
|
|
769
740
|
// Even though the login page might set this flag, we just make sure that
|
|
770
741
|
// we do it here as well. This will help in the future when we eventually
|
|
771
742
|
// move the auth service to itw own domain, in which case the local storage
|
|
772
743
|
// is not shared anymore.
|
|
773
|
-
window.localStorage.setItem(
|
|
744
|
+
window.localStorage.setItem(constants.STORAGE_KEYS.IS_AUTHENTICATED, String(true));
|
|
774
745
|
}
|
|
775
746
|
},
|
|
776
747
|
onError: function onError() {
|
|
777
748
|
// The query fails without the `mcAccessToken`. In this case the caching
|
|
778
749
|
// needs to be unset as otherwise the application will end up in a infinte
|
|
779
750
|
// redirect loop.
|
|
780
|
-
window.localStorage.removeItem(
|
|
751
|
+
window.localStorage.removeItem(constants.STORAGE_KEYS.IS_AUTHENTICATED);
|
|
781
752
|
}
|
|
782
753
|
}),
|
|
783
754
|
data = _useMcQuery.data,
|
|
@@ -1334,7 +1305,7 @@ var FetchUser = function FetchUser(props) {
|
|
|
1334
1305
|
var _useMcQuery = useMcQuery(LoggedInUserQuery, {
|
|
1335
1306
|
onError: sentry.reportErrorToSentry,
|
|
1336
1307
|
context: {
|
|
1337
|
-
target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
1308
|
+
target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
1338
1309
|
}
|
|
1339
1310
|
}),
|
|
1340
1311
|
loading = _useMcQuery.loading,
|
|
@@ -1359,7 +1330,7 @@ var pushDependencyVersionCounter = function pushDependencyVersionCounter(_ref) {
|
|
|
1359
1330
|
var payload = _ref.payload;
|
|
1360
1331
|
return sdk.actions.post({
|
|
1361
1332
|
uri: '/metrics/counters',
|
|
1362
|
-
mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.MC_METRICS,
|
|
1333
|
+
mcApiProxyTarget: constants$1.MC_API_PROXY_TARGETS.MC_METRICS,
|
|
1363
1334
|
payload: _JSON$stringify__default["default"](payload)
|
|
1364
1335
|
});
|
|
1365
1336
|
};
|
|
@@ -1411,7 +1382,7 @@ var FetchProject = function FetchProject(props) {
|
|
|
1411
1382
|
projectKey: props.projectKey
|
|
1412
1383
|
},
|
|
1413
1384
|
context: {
|
|
1414
|
-
target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
1385
|
+
target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
1415
1386
|
},
|
|
1416
1387
|
skip: props.skip === true
|
|
1417
1388
|
}),
|
|
@@ -1790,7 +1761,7 @@ var renderLabel = function renderLabel(menu, applicationLanguage) {
|
|
|
1790
1761
|
});
|
|
1791
1762
|
|
|
1792
1763
|
if (localizedLabel) return localizedLabel.value;
|
|
1793
|
-
return constants.NO_VALUE_FALLBACK;
|
|
1764
|
+
return constants$1.NO_VALUE_FALLBACK;
|
|
1794
1765
|
};
|
|
1795
1766
|
|
|
1796
1767
|
var MenuItem$1 = _styled__default["default"]("div", {
|
|
@@ -1896,7 +1867,7 @@ var UserSettingsMenuBody = function UserSettingsMenuBody(props) {
|
|
|
1896
1867
|
})
|
|
1897
1868
|
}), jsxRuntime.jsx("a", {
|
|
1898
1869
|
css: getUserSettingsMenuItemLinkStyles(),
|
|
1899
|
-
href: constants.SUPPORT_PORTAL_URL,
|
|
1870
|
+
href: constants$1.SUPPORT_PORTAL_URL,
|
|
1900
1871
|
rel: "noopener noreferrer",
|
|
1901
1872
|
target: "_blank",
|
|
1902
1873
|
"data-track-component": "Navigation-Support-links",
|
|
@@ -1918,7 +1889,7 @@ var UserSettingsMenuBody = function UserSettingsMenuBody(props) {
|
|
|
1918
1889
|
css: getUserSettingsMenuItemLinkStyles() // NOTE: we want to redirect to a new page so that the
|
|
1919
1890
|
// server can remove things like cookie for access token.
|
|
1920
1891
|
,
|
|
1921
|
-
href: "/logout?reason=".concat(constants.LOGOUT_REASONS.USER),
|
|
1892
|
+
href: "/logout?reason=".concat(constants$1.LOGOUT_REASONS.USER),
|
|
1922
1893
|
"data-test": "logout-button",
|
|
1923
1894
|
"data-user-settings-menu": true,
|
|
1924
1895
|
children: [jsxRuntime.jsx(MenuItem$1, {
|
|
@@ -2102,7 +2073,7 @@ var ProjectSwitcher = function ProjectSwitcher(props) {
|
|
|
2102
2073
|
var _useMcQuery = useMcQuery(ProjectsQuery, {
|
|
2103
2074
|
onError: sentry.reportErrorToSentry,
|
|
2104
2075
|
context: {
|
|
2105
|
-
target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
2076
|
+
target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
2106
2077
|
}
|
|
2107
2078
|
}),
|
|
2108
2079
|
loading = _useMcQuery.loading,
|
|
@@ -2138,11 +2109,7 @@ var ProjectSwitcher = function ProjectSwitcher(props) {
|
|
|
2138
2109
|
return option.suspension.isActive || option.expiry.isActive;
|
|
2139
2110
|
},
|
|
2140
2111
|
components: {
|
|
2141
|
-
|
|
2142
|
-
Option: function Option(optionsProps) {
|
|
2143
|
-
return jsxRuntime.jsx(ProjectSwitcherOption, _objectSpread$7({}, optionsProps));
|
|
2144
|
-
},
|
|
2145
|
-
// eslint-disable-next-line react/display-name
|
|
2112
|
+
Option: ProjectSwitcherOption,
|
|
2146
2113
|
ValueContainer: function ValueContainer(valueContainerProps) {
|
|
2147
2114
|
return jsxRuntime.jsx(ProjectSwitcherValueContainer, _objectSpread$7(_objectSpread$7({}, valueContainerProps), {}, {
|
|
2148
2115
|
projectCount: data && data.user && data.user.projects.results.length || 0
|
|
@@ -2326,7 +2293,7 @@ var AppBar = function AppBar(props) {
|
|
|
2326
2293
|
children: [jsxRuntime.jsxs(Spacings__default["default"].Inline, {
|
|
2327
2294
|
alignItems: "center",
|
|
2328
2295
|
children: [jsxRuntime.jsx("div", {
|
|
2329
|
-
id:
|
|
2296
|
+
id: constants.CONTAINERS.LOCALE_SWITCHER
|
|
2330
2297
|
}), function () {
|
|
2331
2298
|
if (!props.user) {
|
|
2332
2299
|
return jsxRuntime.jsx(LoadingPlaceholder, {
|
|
@@ -2396,6 +2363,18 @@ var _SingleValue = function SingleValue(props) {
|
|
|
2396
2363
|
_SingleValue.propTypes = {};
|
|
2397
2364
|
_SingleValue.displayName = 'SingleValue';
|
|
2398
2365
|
|
|
2366
|
+
var PatchedValueContainer = function PatchedValueContainer(props) {
|
|
2367
|
+
return jsxRuntime.jsx(reactSelect.components.ValueContainer, _objectSpread$6(_objectSpread$6({}, props), {}, {
|
|
2368
|
+
innerProps: {
|
|
2369
|
+
style: {
|
|
2370
|
+
display: 'flex'
|
|
2371
|
+
}
|
|
2372
|
+
}
|
|
2373
|
+
}));
|
|
2374
|
+
};
|
|
2375
|
+
|
|
2376
|
+
PatchedValueContainer.displayName = 'PatchedValueContainer';
|
|
2377
|
+
|
|
2399
2378
|
var LocaleSwitcher = function LocaleSwitcher(props) {
|
|
2400
2379
|
var _context;
|
|
2401
2380
|
|
|
@@ -2418,12 +2397,12 @@ var LocaleSwitcher = function LocaleSwitcher(props) {
|
|
|
2418
2397
|
};
|
|
2419
2398
|
}),
|
|
2420
2399
|
components: {
|
|
2421
|
-
// eslint-disable-next-line react/display-name
|
|
2422
2400
|
SingleValue: function SingleValue(valueProps) {
|
|
2423
2401
|
return jsxRuntime.jsx(_SingleValue, _objectSpread$6(_objectSpread$6({}, valueProps), {}, {
|
|
2424
2402
|
localeCount: props.availableLocales.length
|
|
2425
2403
|
}));
|
|
2426
|
-
}
|
|
2404
|
+
},
|
|
2405
|
+
ValueContainer: PatchedValueContainer
|
|
2427
2406
|
},
|
|
2428
2407
|
isClearable: false,
|
|
2429
2408
|
backspaceRemovesValue: false,
|
|
@@ -2435,27 +2414,25 @@ var LocaleSwitcher = function LocaleSwitcher(props) {
|
|
|
2435
2414
|
LocaleSwitcher.propTypes = {};
|
|
2436
2415
|
|
|
2437
2416
|
var ProjectNotFound = /*#__PURE__*/react.lazy(function () {
|
|
2438
|
-
return Promise.resolve().then(function () { return require('./project-not-found-
|
|
2417
|
+
return Promise.resolve().then(function () { return require('./project-not-found-de559908.cjs.prod.js'
|
|
2439
2418
|
/* webpackChunkName: "project-not-found" */
|
|
2440
2419
|
); });
|
|
2441
2420
|
});
|
|
2442
2421
|
|
|
2443
2422
|
var ProjectExpired = /*#__PURE__*/react.lazy(function () {
|
|
2444
|
-
return Promise.resolve().then(function () { return require('./project-expired-
|
|
2423
|
+
return Promise.resolve().then(function () { return require('./project-expired-0015e695.cjs.prod.js'
|
|
2445
2424
|
/* webpackChunkName: "project-expired" */
|
|
2446
2425
|
); });
|
|
2447
2426
|
});
|
|
2448
2427
|
|
|
2449
2428
|
var ProjectNotInitialized = /*#__PURE__*/react.lazy(function () {
|
|
2450
|
-
return Promise.resolve().then(function () { return require('./project-not-initialized-
|
|
2429
|
+
return Promise.resolve().then(function () { return require('./project-not-initialized-a4cd8649.cjs.prod.js'
|
|
2451
2430
|
/* webpackChunkName: "project-not-initialized" */
|
|
2452
2431
|
); });
|
|
2453
2432
|
});
|
|
2454
2433
|
|
|
2455
2434
|
var RedirectToProjectCreate = function RedirectToProjectCreate() {
|
|
2456
|
-
var servedByProxy =
|
|
2457
|
-
return context.environment.servedByProxy;
|
|
2458
|
-
});
|
|
2435
|
+
var servedByProxy = applicationEntryPoint.useIsServedByProxy();
|
|
2459
2436
|
/**
|
|
2460
2437
|
* NOTE:
|
|
2461
2438
|
* This looks a bit unusual: redirecting in render.
|
|
@@ -2496,7 +2473,7 @@ var RedirectToProjectCreate = function RedirectToProjectCreate() {
|
|
|
2496
2473
|
RedirectToProjectCreate.displayName = 'RedirectToProjectCreate';
|
|
2497
2474
|
|
|
2498
2475
|
var ProjectSuspended = /*#__PURE__*/react.lazy(function () {
|
|
2499
|
-
return Promise.resolve().then(function () { return require('./project-suspended-
|
|
2476
|
+
return Promise.resolve().then(function () { return require('./project-suspended-13c17047.cjs.prod.js'
|
|
2500
2477
|
/* webpackChunkName: "project-suspended" */
|
|
2501
2478
|
); });
|
|
2502
2479
|
});
|
|
@@ -2543,13 +2520,13 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2543
2520
|
* is inserted in the DOM tree.
|
|
2544
2521
|
* "
|
|
2545
2522
|
*/
|
|
2546
|
-
setLocaleSwitcherNode(document.getElementById(
|
|
2523
|
+
setLocaleSwitcherNode(document.getElementById(constants.CONTAINERS.LOCALE_SWITCHER));
|
|
2547
2524
|
}, [setLocaleSwitcherNode]);
|
|
2548
2525
|
var projectKey = props.match.params.projectKey;
|
|
2549
2526
|
react.useEffect(function () {
|
|
2550
2527
|
// Ensure to sync the `projectKey` from the URL with localStorage.
|
|
2551
2528
|
if (projectKey) {
|
|
2552
|
-
window.localStorage.setItem(
|
|
2529
|
+
window.localStorage.setItem(constants.STORAGE_KEYS.ACTIVE_PROJECT_KEY, projectKey);
|
|
2553
2530
|
}
|
|
2554
2531
|
}, [projectKey]); // }
|
|
2555
2532
|
|
|
@@ -2567,7 +2544,7 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2567
2544
|
*/
|
|
2568
2545
|
|
|
2569
2546
|
if (hasNoProjects && props.environment.enableSignUp !== true && props.environment.servedByProxy) return jsxRuntime.jsx(reactRouterDom.Redirect, {
|
|
2570
|
-
to: "/logout?reason=".concat(constants.LOGOUT_REASONS.NO_PROJECTS)
|
|
2547
|
+
to: "/logout?reason=".concat(constants$1.LOGOUT_REASONS.NO_PROJECTS)
|
|
2571
2548
|
});
|
|
2572
2549
|
if (hasNoProjects && props.environment.enableSignUp) return jsxRuntime.jsxs(reactRouterDom.Switch, {
|
|
2573
2550
|
children: [jsxRuntime.jsx(reactRouterDom.Route, {
|
|
@@ -2591,7 +2568,7 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2591
2568
|
if (isProjectLoading) return jsxRuntime.jsx(ApplicationLoader, {});
|
|
2592
2569
|
if (!project) return jsxRuntime.jsx(ProjectNotFound, {});
|
|
2593
2570
|
if (project.suspension && project.suspension.isActive) return jsxRuntime.jsx(ProjectSuspended, {
|
|
2594
|
-
isTemporary: project.suspension.reason ===
|
|
2571
|
+
isTemporary: project.suspension.reason === constants.SUSPENSION_REASONS.TEMPORARY_MAINTENANCE
|
|
2595
2572
|
});
|
|
2596
2573
|
if (project.expiry && project.expiry.isActive) return jsxRuntime.jsx(ProjectExpired, {});
|
|
2597
2574
|
if (project.initialized === false) return jsxRuntime.jsx(ProjectNotInitialized, {});
|
|
@@ -2610,7 +2587,7 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2610
2587
|
children: jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
2611
2588
|
children: [shouldShowNotificationForTrialExpired((_project$expiry$daysL = project.expiry.daysLeft) !== null && _project$expiry$daysL !== void 0 ? _project$expiry$daysL : undefined) && jsxRuntime.jsx(reactNotifications.Notifier, {
|
|
2612
2589
|
kind: "warning",
|
|
2613
|
-
domain: constants.DOMAINS.GLOBAL,
|
|
2590
|
+
domain: constants$1.DOMAINS.GLOBAL,
|
|
2614
2591
|
text: intl.formatMessage(messages$1.trialDaysLeft, {
|
|
2615
2592
|
daysLeft: project.expiry.daysLeft || 0
|
|
2616
2593
|
})
|
|
@@ -2652,9 +2629,7 @@ var getDefaultedFeatureToggles = function getDefaultedFeatureToggles(allFeatureT
|
|
|
2652
2629
|
};
|
|
2653
2630
|
|
|
2654
2631
|
var useAllMenuFeatureToggles = function useAllMenuFeatureToggles() {
|
|
2655
|
-
var servedByProxy =
|
|
2656
|
-
return applicationContext.environment.servedByProxy;
|
|
2657
|
-
});
|
|
2632
|
+
var servedByProxy = applicationEntryPoint.useIsServedByProxy();
|
|
2658
2633
|
var mcProxyApiUrl = applicationShellConnectors.useApplicationContext(function (applicationContext) {
|
|
2659
2634
|
return applicationContext.environment.mcProxyApiUrl;
|
|
2660
2635
|
});
|
|
@@ -2787,7 +2762,7 @@ var SetupFlopFlipProvider = function SetupFlopFlipProvider(props) {
|
|
|
2787
2762
|
query: AllFeaturesQuery,
|
|
2788
2763
|
errorPolicy: 'ignore',
|
|
2789
2764
|
context: {
|
|
2790
|
-
target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
2765
|
+
target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
2791
2766
|
}
|
|
2792
2767
|
});
|
|
2793
2768
|
|
|
@@ -2863,7 +2838,7 @@ var messages = reactIntl.defineMessages({
|
|
|
2863
2838
|
});
|
|
2864
2839
|
|
|
2865
2840
|
var useLoadingMenuLayoutEffect = function useLoadingMenuLayoutEffect() {
|
|
2866
|
-
var cachedIsForcedMenuOpen = window.localStorage.getItem(
|
|
2841
|
+
var cachedIsForcedMenuOpen = window.localStorage.getItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
|
|
2867
2842
|
var isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
|
|
2868
2843
|
react.useLayoutEffect(function () {
|
|
2869
2844
|
if (isForcedMenuOpen) document.body.classList.add('body__menu-open');
|
|
@@ -2942,7 +2917,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
2942
2917
|
var _useMcQuery = useMcQuery(FetchProjectExtensionsNavbar, {
|
|
2943
2918
|
skip: !props.environment.servedByProxy,
|
|
2944
2919
|
context: {
|
|
2945
|
-
target: constants.GRAPHQL_TARGETS.SETTINGS_SERVICE
|
|
2920
|
+
target: constants$1.GRAPHQL_TARGETS.SETTINGS_SERVICE
|
|
2946
2921
|
},
|
|
2947
2922
|
fetchPolicy: 'cache-and-network',
|
|
2948
2923
|
onError: sentry.reportErrorToSentry
|
|
@@ -3018,7 +2993,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3018
2993
|
})
|
|
3019
2994
|
};
|
|
3020
2995
|
})).call(_context4, nonNullable) : [];
|
|
3021
|
-
var cachedIsForcedMenuOpen = window.localStorage.getItem(
|
|
2996
|
+
var cachedIsForcedMenuOpen = window.localStorage.getItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
|
|
3022
2997
|
var isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
|
|
3023
2998
|
|
|
3024
2999
|
var _useReducer = react.useReducer(reducer, getInitialState(isForcedMenuOpen)),
|
|
@@ -3100,7 +3075,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3100
3075
|
type: 'toggleIsMenuOpen'
|
|
3101
3076
|
}); // Synchronize the menu state with local storage.
|
|
3102
3077
|
|
|
3103
|
-
window.localStorage.setItem(
|
|
3078
|
+
window.localStorage.setItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
|
|
3104
3079
|
}, [state.activeItemIndex, state.isMenuOpen]);
|
|
3105
3080
|
|
|
3106
3081
|
var allApplicationNavbarMenu = _concatInstanceProperty__default["default"](_context7 = _concatInstanceProperty__default["default"](_context8 = applicationsNavBarMenu || []).call(_context8, legacyCustomAppsMenu)).call(_context7, organizationCustomAppsMenu);
|
|
@@ -3334,11 +3309,7 @@ var MenuItemDivider = function MenuItemDivider() {
|
|
|
3334
3309
|
});
|
|
3335
3310
|
};
|
|
3336
3311
|
|
|
3337
|
-
MenuItemDivider.displayName = 'MenuItemDivider';
|
|
3338
|
-
// and the `<ToggleFeature>` components. However, it's necessary to have it as
|
|
3339
|
-
// the `<ToggleFeature>` wrapper should be rendered only if the `featureToggle`
|
|
3340
|
-
// prop is defined. This is because `<ToggleFeature>` will not render any
|
|
3341
|
-
// children if the flag is missing/not found.
|
|
3312
|
+
MenuItemDivider.displayName = 'MenuItemDivider';
|
|
3342
3313
|
|
|
3343
3314
|
var isEveryMenuVisibilitySetToHidden = function isEveryMenuVisibilitySetToHidden(menuVisibilities, namesOfMenuVisibilities) {
|
|
3344
3315
|
return _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, function (nameOfMenuVisibility) {
|
|
@@ -3350,9 +3321,14 @@ var restrictedMenuItemDefaultProps = {
|
|
|
3350
3321
|
permissions: []
|
|
3351
3322
|
};
|
|
3352
3323
|
|
|
3324
|
+
function isLongLivedFlag(flag) {
|
|
3325
|
+
return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
|
|
3326
|
+
}
|
|
3327
|
+
|
|
3353
3328
|
var RestrictedMenuItem = function RestrictedMenuItem(props) {
|
|
3354
3329
|
// NOTE: Custom application are activated/deactivated while their
|
|
3355
3330
|
// visibility is not controlled via a visibiility overwrite.
|
|
3331
|
+
var flagVariation = reactBroadcast.useFlagVariation(props.featureToggle);
|
|
3356
3332
|
if (isEveryMenuVisibilitySetToHidden(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
|
|
3357
3333
|
var permissionsWrapper = _Array$isArray__default["default"](props.permissions) && props.permissions.length > 0 || _Array$isArray__default["default"](props.dataFences) && props.dataFences.length > 0 ? jsxRuntime.jsx(permissions.RestrictedByPermissions, {
|
|
3358
3334
|
permissions: props.permissions,
|
|
@@ -3376,10 +3352,11 @@ var RestrictedMenuItem = function RestrictedMenuItem(props) {
|
|
|
3376
3352
|
});
|
|
3377
3353
|
|
|
3378
3354
|
if (props.featureToggle) {
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3355
|
+
// A regular short-lived feature toggle
|
|
3356
|
+
if (flagVariation === true) return permissionsWrapper; // A long-lived feature toggle with `{ value: boolean, string: reason }`
|
|
3357
|
+
|
|
3358
|
+
if (isLongLivedFlag(flagVariation) && flagVariation.value === true) return permissionsWrapper;
|
|
3359
|
+
return null;
|
|
3383
3360
|
}
|
|
3384
3361
|
|
|
3385
3362
|
return permissionsWrapper;
|
|
@@ -3421,7 +3398,7 @@ var MenuLabel = function MenuLabel(props) {
|
|
|
3421
3398
|
children: props.defaultLabel
|
|
3422
3399
|
});
|
|
3423
3400
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
3424
|
-
children: constants.NO_VALUE_FALLBACK
|
|
3401
|
+
children: constants$1.NO_VALUE_FALLBACK
|
|
3425
3402
|
});
|
|
3426
3403
|
};
|
|
3427
3404
|
|
|
@@ -3624,7 +3601,7 @@ var NavBar = function NavBar(props) {
|
|
|
3624
3601
|
},
|
|
3625
3602
|
onMouseLeave: isMenuOpen ? undefined : shouldCloseMenuFly,
|
|
3626
3603
|
children: jsxRuntime.jsx("a", {
|
|
3627
|
-
href: constants.SUPPORT_PORTAL_URL,
|
|
3604
|
+
href: constants$1.SUPPORT_PORTAL_URL,
|
|
3628
3605
|
rel: "noopener noreferrer",
|
|
3629
3606
|
target: "_blank",
|
|
3630
3607
|
children: jsxRuntime.jsxs("div", {
|
|
@@ -3712,7 +3689,7 @@ var pimIndexerStates = {
|
|
|
3712
3689
|
};
|
|
3713
3690
|
|
|
3714
3691
|
var QuickAccess = /*#__PURE__*/react.lazy(function () {
|
|
3715
|
-
return Promise.resolve().then(function () { return require('./quick-access-
|
|
3692
|
+
return Promise.resolve().then(function () { return require('./quick-access-dd969ed0.cjs.prod.js'
|
|
3716
3693
|
/* webpackChunkName: "quick-access" */
|
|
3717
3694
|
); });
|
|
3718
3695
|
});
|
|
@@ -3809,6 +3786,51 @@ var QuickAccessTrigger = function QuickAccessTrigger(props) {
|
|
|
3809
3786
|
QuickAccessTrigger.propTypes = {};
|
|
3810
3787
|
QuickAccessTrigger.displayName = 'QuickAccessTrigger';
|
|
3811
3788
|
|
|
3789
|
+
/**
|
|
3790
|
+
* Get the "real" Merchant Center frontend URL to redirect the user
|
|
3791
|
+
* to the login page.
|
|
3792
|
+
* We use an explicit full URL so that if a user tries to access the
|
|
3793
|
+
* Custom Applications directly to its domain, it will always redirect
|
|
3794
|
+
* the user to the login page.
|
|
3795
|
+
*
|
|
3796
|
+
* To determine the "real" URL, we need to check if the current location
|
|
3797
|
+
* is a Merchant Center domain, or if it's a custom user domain.
|
|
3798
|
+
* For the latter, we can derive the URL from the Merchant Center API URL.
|
|
3799
|
+
*
|
|
3800
|
+
* A Merchant Center hostname is composed by the following parts:
|
|
3801
|
+
* https://<mc-prefix>.<region>.<provider>.<ct-domain>.<tld>
|
|
3802
|
+
* We neeed to check if at least the first 4 parts (right-to-left) are
|
|
3803
|
+
* the same.
|
|
3804
|
+
*/
|
|
3805
|
+
function getMcOrigin(mcApiUrl) {
|
|
3806
|
+
var _context, _context2;
|
|
3807
|
+
|
|
3808
|
+
var actualWindow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
|
|
3809
|
+
var mcApiUrlObject = new _URL__default["default"](mcApiUrl);
|
|
3810
|
+
|
|
3811
|
+
var _mcApiUrlObject$hostn = _reverseInstanceProperty__default["default"](_context = mcApiUrlObject.hostname.split('.')).call(_context),
|
|
3812
|
+
_mcApiUrlObject$hostn2 = _slicedToArray(_mcApiUrlObject$hostn, 4),
|
|
3813
|
+
tldMcApi = _mcApiUrlObject$hostn2[0],
|
|
3814
|
+
ctDomainMcApi = _mcApiUrlObject$hostn2[1],
|
|
3815
|
+
providerMcApi = _mcApiUrlObject$hostn2[2],
|
|
3816
|
+
regionMcApi = _mcApiUrlObject$hostn2[3];
|
|
3817
|
+
|
|
3818
|
+
var _actualWindow$locatio = _reverseInstanceProperty__default["default"](_context2 = actualWindow.location.hostname.split('.')).call(_context2),
|
|
3819
|
+
_actualWindow$locatio2 = _slicedToArray(_actualWindow$locatio, 4),
|
|
3820
|
+
tldMc = _actualWindow$locatio2[0],
|
|
3821
|
+
ctDomainMc = _actualWindow$locatio2[1],
|
|
3822
|
+
providerMc = _actualWindow$locatio2[2],
|
|
3823
|
+
regionMc = _actualWindow$locatio2[3];
|
|
3824
|
+
|
|
3825
|
+
var isMatching = tldMcApi === tldMc && ctDomainMcApi === ctDomainMc && providerMcApi === providerMc && regionMcApi === regionMc;
|
|
3826
|
+
|
|
3827
|
+
if (isMatching) {
|
|
3828
|
+
return actualWindow.location.origin;
|
|
3829
|
+
}
|
|
3830
|
+
|
|
3831
|
+
return mcApiUrlObject.origin.replace('mc-api', 'mc');
|
|
3832
|
+
}
|
|
3833
|
+
|
|
3812
3834
|
var generateAndCacheNonceWithState = function generateAndCacheNonceWithState(state) {
|
|
3813
3835
|
var nonce = uuid.v4(); // We store additional information within the given `nonce`
|
|
3814
3836
|
// to then retrieve it later when the IdP redirects back
|
|
@@ -3825,6 +3847,7 @@ var RedirectToLogin = function RedirectToLogin() {
|
|
|
3825
3847
|
var _window$app$__DEVELOP, _window$app$__DEVELOP2;
|
|
3826
3848
|
|
|
3827
3849
|
var location = reactRouterDom.useLocation();
|
|
3850
|
+
var servedByProxy = applicationEntryPoint.useIsServedByProxy();
|
|
3828
3851
|
|
|
3829
3852
|
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP2 = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP2 !== void 0 && _window$app$__DEVELOP2.authorizeUrl) {
|
|
3830
3853
|
var _window$app$__DEVELOP3, _window$app$__DEVELOP4, _window$app$__DEVELOP5, _window$app$__DEVELOP6, _window$app$__DEVELOP7, _window$app$__DEVELOP8;
|
|
@@ -3850,7 +3873,7 @@ var RedirectToLogin = function RedirectToLogin() {
|
|
|
3850
3873
|
redirectTo: nextProjectKey ? "/".concat(nextProjectKey) : '/'
|
|
3851
3874
|
}
|
|
3852
3875
|
});
|
|
3853
|
-
var requestedScope = buildOidcScope({
|
|
3876
|
+
var requestedScope = oidc.buildOidcScope({
|
|
3854
3877
|
projectKey: nextProjectKey !== null && nextProjectKey !== void 0 ? nextProjectKey : undefined,
|
|
3855
3878
|
oAuthScopes: (_window$app$__DEVELOP3 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP3 === void 0 ? void 0 : (_window$app$__DEVELOP4 = _window$app$__DEVELOP3.oidc) === null || _window$app$__DEVELOP4 === void 0 ? void 0 : _window$app$__DEVELOP4.oAuthScopes,
|
|
3856
3879
|
teamId: (_window$app$__DEVELOP5 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP5 === void 0 ? void 0 : (_window$app$__DEVELOP6 = _window$app$__DEVELOP5.oidc) === null || _window$app$__DEVELOP6 === void 0 ? void 0 : _window$app$__DEVELOP6.teamId
|
|
@@ -3864,10 +3887,10 @@ var RedirectToLogin = function RedirectToLogin() {
|
|
|
3864
3887
|
origin: (_window$app$__DEVELOP7 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP7 === void 0 ? void 0 : (_window$app$__DEVELOP8 = _window$app$__DEVELOP7.oidc) === null || _window$app$__DEVELOP8 === void 0 ? void 0 : _window$app$__DEVELOP8.authorizeUrl,
|
|
3865
3888
|
location: location,
|
|
3866
3889
|
queryParams: {
|
|
3867
|
-
reason: constants.LOGOUT_REASONS.UNAUTHORIZED,
|
|
3890
|
+
reason: constants$1.LOGOUT_REASONS.UNAUTHORIZED,
|
|
3868
3891
|
// Query parameters for OIDC-lik workflow.
|
|
3869
3892
|
client_id: window.app.applicationId,
|
|
3870
|
-
response_type:
|
|
3893
|
+
response_type: constants.OIDC_RESPONSE_TYPES.ID_TOKEN,
|
|
3871
3894
|
scope: requestedScope,
|
|
3872
3895
|
state: sessionId,
|
|
3873
3896
|
nonce: sessionId
|
|
@@ -3875,11 +3898,13 @@ var RedirectToLogin = function RedirectToLogin() {
|
|
|
3875
3898
|
});
|
|
3876
3899
|
}
|
|
3877
3900
|
|
|
3901
|
+
var mcOrigin = servedByProxy ? getMcOrigin(window.app.mcApiUrl) : undefined;
|
|
3878
3902
|
return jsxRuntime.jsx(Redirector, {
|
|
3879
3903
|
to: "login",
|
|
3904
|
+
origin: mcOrigin,
|
|
3880
3905
|
location: location,
|
|
3881
3906
|
queryParams: {
|
|
3882
|
-
reason: constants.LOGOUT_REASONS.UNAUTHORIZED,
|
|
3907
|
+
reason: constants$1.LOGOUT_REASONS.UNAUTHORIZED,
|
|
3883
3908
|
redirectTo: urlUtils.trimLeadingAndTrailingSlashes(urlUtils.joinPaths(window.location.origin, location.pathname))
|
|
3884
3909
|
}
|
|
3885
3910
|
});
|
|
@@ -3897,9 +3922,7 @@ var RedirectToLogout = function RedirectToLogout(props) {
|
|
|
3897
3922
|
var _window$app$__DEVELOP, _window$app$__DEVELOP2, _props$reason;
|
|
3898
3923
|
|
|
3899
3924
|
var location = reactRouterDom.useLocation();
|
|
3900
|
-
var servedByProxy =
|
|
3901
|
-
return context.environment.servedByProxy;
|
|
3902
|
-
});
|
|
3925
|
+
var servedByProxy = applicationEntryPoint.useIsServedByProxy();
|
|
3903
3926
|
|
|
3904
3927
|
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP2 = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP2 !== void 0 && _window$app$__DEVELOP2.authorizeUrl) {
|
|
3905
3928
|
// Remove the `sessionToken` from storage, so that the AppShell can initiate
|
|
@@ -3908,11 +3931,13 @@ var RedirectToLogout = function RedirectToLogout(props) {
|
|
|
3908
3931
|
return jsxRuntime.jsx(RedirectToLogin, {});
|
|
3909
3932
|
}
|
|
3910
3933
|
|
|
3934
|
+
var mcOrigin = servedByProxy ? getMcOrigin(window.app.mcApiUrl) : undefined;
|
|
3911
3935
|
return jsxRuntime.jsx(Redirector, {
|
|
3912
3936
|
to: "logout",
|
|
3937
|
+
origin: mcOrigin,
|
|
3913
3938
|
location: location,
|
|
3914
3939
|
queryParams: _objectSpread$1({
|
|
3915
|
-
reason: (_props$reason = props.reason) !== null && _props$reason !== void 0 ? _props$reason : constants.LOGOUT_REASONS.USER
|
|
3940
|
+
reason: (_props$reason = props.reason) !== null && _props$reason !== void 0 ? _props$reason : constants$1.LOGOUT_REASONS.USER
|
|
3916
3941
|
}, servedByProxy ? {} : {
|
|
3917
3942
|
// This will be used after being logged in, to redirect to this location.
|
|
3918
3943
|
redirectTo: window.location.origin
|
|
@@ -3999,7 +4024,7 @@ var RestrictedApplication = function RestrictedApplication(props) {
|
|
|
3999
4024
|
|
|
4000
4025
|
if (hasUnauthorizedError || hasUserBeenDeletedError) {
|
|
4001
4026
|
var logoutReason;
|
|
4002
|
-
if (hasUnauthorizedError) logoutReason = constants.LOGOUT_REASONS.UNAUTHORIZED;else if (hasUserBeenDeletedError) logoutReason = constants.LOGOUT_REASONS.DELETED;
|
|
4027
|
+
if (hasUnauthorizedError) logoutReason = constants$1.LOGOUT_REASONS.UNAUTHORIZED;else if (hasUserBeenDeletedError) logoutReason = constants$1.LOGOUT_REASONS.DELETED;
|
|
4003
4028
|
return jsxRuntime.jsx(RedirectToLogout, {
|
|
4004
4029
|
reason: logoutReason
|
|
4005
4030
|
});
|
|
@@ -4066,7 +4091,7 @@ var RestrictedApplication = function RestrictedApplication(props) {
|
|
|
4066
4091
|
role: "global-notifications",
|
|
4067
4092
|
css: _ref5,
|
|
4068
4093
|
children: jsxRuntime.jsx(reactNotifications.NotificationsList, {
|
|
4069
|
-
domain: constants.DOMAINS.GLOBAL
|
|
4094
|
+
domain: constants$1.DOMAINS.GLOBAL
|
|
4070
4095
|
})
|
|
4071
4096
|
}), jsxRuntime.jsx(reactRouterDom.Route, {
|
|
4072
4097
|
children: function children() {
|
|
@@ -4155,9 +4180,9 @@ var RestrictedApplication = function RestrictedApplication(props) {
|
|
|
4155
4180
|
}) : jsxRuntime.jsxs(MainContainer, {
|
|
4156
4181
|
role: "main",
|
|
4157
4182
|
children: [jsxRuntime.jsx(reactNotifications.NotificationsList, {
|
|
4158
|
-
domain: constants.DOMAINS.PAGE
|
|
4183
|
+
domain: constants$1.DOMAINS.PAGE
|
|
4159
4184
|
}), jsxRuntime.jsx(reactNotifications.NotificationsList, {
|
|
4160
|
-
domain: constants.DOMAINS.SIDE
|
|
4185
|
+
domain: constants$1.DOMAINS.SIDE
|
|
4161
4186
|
}), jsxRuntime.jsxs("div", {
|
|
4162
4187
|
css: _ref2,
|
|
4163
4188
|
children: [jsxRuntime.jsx(applicationComponents.PortalsContainer, {}), jsxRuntime.jsxs(reactRouterDom.Switch, {
|