@commercetools-frontend/application-shell 20.12.1 → 20.13.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-aa870890.cjs.prod.js → application-entry-point-0e540c26.cjs.prod.js} +26 -74
- package/dist/{application-entry-point-140f92f2.cjs.dev.js → application-entry-point-9bcb1dcd.cjs.dev.js} +26 -74
- package/dist/{application-entry-point-21cef8e6.esm.js → application-entry-point-fa443a5c.esm.js} +5 -48
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +9 -3
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +9 -3
- package/dist/commercetools-frontend-application-shell.esm.js +7 -3
- 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/components/locale-switcher/locale-switcher.d.ts +3 -4
- 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-91dc2ebb.cjs.dev.js → index-08bd5156.cjs.dev.js} +95 -114
- package/dist/{index-eebc40b6.esm.js → index-145d8478.esm.js} +54 -73
- package/dist/{index-473958c5.cjs.prod.js → index-b8de2a19.cjs.prod.js} +80 -99
- 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-a0163148.cjs.prod.js → project-expired-081f7710.cjs.dev.js} +8 -4
- package/dist/{project-expired-9d8377ce.esm.js → project-expired-1090404c.esm.js} +8 -4
- package/dist/{project-expired-d0c9a419.cjs.dev.js → project-expired-b7b2dc9c.cjs.prod.js} +8 -4
- package/dist/{project-not-found-6bdfc28d.cjs.prod.js → project-not-found-a631b489.cjs.dev.js} +8 -4
- package/dist/{project-not-found-a48ca67b.esm.js → project-not-found-b42cec67.esm.js} +8 -4
- package/dist/{project-not-found-4f1e5015.cjs.dev.js → project-not-found-f0de3443.cjs.prod.js} +8 -4
- package/dist/{project-not-initialized-746e3f1c.esm.js → project-not-initialized-1f945b2d.esm.js} +8 -4
- package/dist/{project-not-initialized-e07d2b6b.cjs.prod.js → project-not-initialized-3e276968.cjs.prod.js} +8 -4
- package/dist/{project-not-initialized-84372c36.cjs.dev.js → project-not-initialized-5f3922ea.cjs.dev.js} +8 -4
- package/dist/{project-suspended-08625b77.cjs.prod.js → project-suspended-2a8ee7c7.cjs.dev.js} +8 -4
- package/dist/{project-suspended-bee672c3.cjs.dev.js → project-suspended-55fb4c82.cjs.prod.js} +8 -4
- package/dist/{project-suspended-1a678884.esm.js → project-suspended-60b18d52.esm.js} +8 -4
- package/dist/{quick-access-0a31b56f.cjs.prod.js → quick-access-0f6a3105.cjs.prod.js} +6 -2
- package/dist/{quick-access-de902fa0.esm.js → quick-access-191a24de.esm.js} +6 -2
- package/dist/{quick-access-a50256b3.cjs.dev.js → quick-access-b148b0da.cjs.dev.js} +6 -2
- package/dist/{service-page-project-switcher-ab78eb6d.cjs.dev.js → service-page-project-switcher-6217ebd1.cjs.dev.js} +1 -1
- package/dist/{service-page-project-switcher-bf6bb20a.cjs.prod.js → service-page-project-switcher-6f0e736d.cjs.prod.js} +1 -1
- package/dist/{service-page-project-switcher-454e6146.esm.js → service-page-project-switcher-a3be39d0.esm.js} +1 -1
- package/package.json +55 -48
- 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-0e540c26.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,19 +2414,19 @@ 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-f0de3443.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-b7b2dc9c.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-3e276968.cjs.prod.js'
|
|
2451
2430
|
/* webpackChunkName: "project-not-initialized" */
|
|
2452
2431
|
); });
|
|
2453
2432
|
});
|
|
@@ -2494,7 +2473,7 @@ var RedirectToProjectCreate = function RedirectToProjectCreate() {
|
|
|
2494
2473
|
RedirectToProjectCreate.displayName = 'RedirectToProjectCreate';
|
|
2495
2474
|
|
|
2496
2475
|
var ProjectSuspended = /*#__PURE__*/react.lazy(function () {
|
|
2497
|
-
return Promise.resolve().then(function () { return require('./project-suspended-
|
|
2476
|
+
return Promise.resolve().then(function () { return require('./project-suspended-55fb4c82.cjs.prod.js'
|
|
2498
2477
|
/* webpackChunkName: "project-suspended" */
|
|
2499
2478
|
); });
|
|
2500
2479
|
});
|
|
@@ -2541,13 +2520,13 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2541
2520
|
* is inserted in the DOM tree.
|
|
2542
2521
|
* "
|
|
2543
2522
|
*/
|
|
2544
|
-
setLocaleSwitcherNode(document.getElementById(
|
|
2523
|
+
setLocaleSwitcherNode(document.getElementById(constants.CONTAINERS.LOCALE_SWITCHER));
|
|
2545
2524
|
}, [setLocaleSwitcherNode]);
|
|
2546
2525
|
var projectKey = props.match.params.projectKey;
|
|
2547
2526
|
react.useEffect(function () {
|
|
2548
2527
|
// Ensure to sync the `projectKey` from the URL with localStorage.
|
|
2549
2528
|
if (projectKey) {
|
|
2550
|
-
window.localStorage.setItem(
|
|
2529
|
+
window.localStorage.setItem(constants.STORAGE_KEYS.ACTIVE_PROJECT_KEY, projectKey);
|
|
2551
2530
|
}
|
|
2552
2531
|
}, [projectKey]); // }
|
|
2553
2532
|
|
|
@@ -2565,7 +2544,7 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2565
2544
|
*/
|
|
2566
2545
|
|
|
2567
2546
|
if (hasNoProjects && props.environment.enableSignUp !== true && props.environment.servedByProxy) return jsxRuntime.jsx(reactRouterDom.Redirect, {
|
|
2568
|
-
to: "/logout?reason=".concat(constants.LOGOUT_REASONS.NO_PROJECTS)
|
|
2547
|
+
to: "/logout?reason=".concat(constants$1.LOGOUT_REASONS.NO_PROJECTS)
|
|
2569
2548
|
});
|
|
2570
2549
|
if (hasNoProjects && props.environment.enableSignUp) return jsxRuntime.jsxs(reactRouterDom.Switch, {
|
|
2571
2550
|
children: [jsxRuntime.jsx(reactRouterDom.Route, {
|
|
@@ -2589,7 +2568,7 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2589
2568
|
if (isProjectLoading) return jsxRuntime.jsx(ApplicationLoader, {});
|
|
2590
2569
|
if (!project) return jsxRuntime.jsx(ProjectNotFound, {});
|
|
2591
2570
|
if (project.suspension && project.suspension.isActive) return jsxRuntime.jsx(ProjectSuspended, {
|
|
2592
|
-
isTemporary: project.suspension.reason ===
|
|
2571
|
+
isTemporary: project.suspension.reason === constants.SUSPENSION_REASONS.TEMPORARY_MAINTENANCE
|
|
2593
2572
|
});
|
|
2594
2573
|
if (project.expiry && project.expiry.isActive) return jsxRuntime.jsx(ProjectExpired, {});
|
|
2595
2574
|
if (project.initialized === false) return jsxRuntime.jsx(ProjectNotInitialized, {});
|
|
@@ -2608,7 +2587,7 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2608
2587
|
children: jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
2609
2588
|
children: [shouldShowNotificationForTrialExpired((_project$expiry$daysL = project.expiry.daysLeft) !== null && _project$expiry$daysL !== void 0 ? _project$expiry$daysL : undefined) && jsxRuntime.jsx(reactNotifications.Notifier, {
|
|
2610
2589
|
kind: "warning",
|
|
2611
|
-
domain: constants.DOMAINS.GLOBAL,
|
|
2590
|
+
domain: constants$1.DOMAINS.GLOBAL,
|
|
2612
2591
|
text: intl.formatMessage(messages$1.trialDaysLeft, {
|
|
2613
2592
|
daysLeft: project.expiry.daysLeft || 0
|
|
2614
2593
|
})
|
|
@@ -2783,7 +2762,7 @@ var SetupFlopFlipProvider = function SetupFlopFlipProvider(props) {
|
|
|
2783
2762
|
query: AllFeaturesQuery,
|
|
2784
2763
|
errorPolicy: 'ignore',
|
|
2785
2764
|
context: {
|
|
2786
|
-
target: constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
2765
|
+
target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
2787
2766
|
}
|
|
2788
2767
|
});
|
|
2789
2768
|
|
|
@@ -2859,7 +2838,7 @@ var messages = reactIntl.defineMessages({
|
|
|
2859
2838
|
});
|
|
2860
2839
|
|
|
2861
2840
|
var useLoadingMenuLayoutEffect = function useLoadingMenuLayoutEffect() {
|
|
2862
|
-
var cachedIsForcedMenuOpen = window.localStorage.getItem(
|
|
2841
|
+
var cachedIsForcedMenuOpen = window.localStorage.getItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
|
|
2863
2842
|
var isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
|
|
2864
2843
|
react.useLayoutEffect(function () {
|
|
2865
2844
|
if (isForcedMenuOpen) document.body.classList.add('body__menu-open');
|
|
@@ -2938,7 +2917,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
2938
2917
|
var _useMcQuery = useMcQuery(FetchProjectExtensionsNavbar, {
|
|
2939
2918
|
skip: !props.environment.servedByProxy,
|
|
2940
2919
|
context: {
|
|
2941
|
-
target: constants.GRAPHQL_TARGETS.SETTINGS_SERVICE
|
|
2920
|
+
target: constants$1.GRAPHQL_TARGETS.SETTINGS_SERVICE
|
|
2942
2921
|
},
|
|
2943
2922
|
fetchPolicy: 'cache-and-network',
|
|
2944
2923
|
onError: sentry.reportErrorToSentry
|
|
@@ -3014,7 +2993,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3014
2993
|
})
|
|
3015
2994
|
};
|
|
3016
2995
|
})).call(_context4, nonNullable) : [];
|
|
3017
|
-
var cachedIsForcedMenuOpen = window.localStorage.getItem(
|
|
2996
|
+
var cachedIsForcedMenuOpen = window.localStorage.getItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
|
|
3018
2997
|
var isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
|
|
3019
2998
|
|
|
3020
2999
|
var _useReducer = react.useReducer(reducer, getInitialState(isForcedMenuOpen)),
|
|
@@ -3096,7 +3075,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3096
3075
|
type: 'toggleIsMenuOpen'
|
|
3097
3076
|
}); // Synchronize the menu state with local storage.
|
|
3098
3077
|
|
|
3099
|
-
window.localStorage.setItem(
|
|
3078
|
+
window.localStorage.setItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
|
|
3100
3079
|
}, [state.activeItemIndex, state.isMenuOpen]);
|
|
3101
3080
|
|
|
3102
3081
|
var allApplicationNavbarMenu = _concatInstanceProperty__default["default"](_context7 = _concatInstanceProperty__default["default"](_context8 = applicationsNavBarMenu || []).call(_context8, legacyCustomAppsMenu)).call(_context7, organizationCustomAppsMenu);
|
|
@@ -3330,11 +3309,7 @@ var MenuItemDivider = function MenuItemDivider() {
|
|
|
3330
3309
|
});
|
|
3331
3310
|
};
|
|
3332
3311
|
|
|
3333
|
-
MenuItemDivider.displayName = 'MenuItemDivider';
|
|
3334
|
-
// and the `<ToggleFeature>` components. However, it's necessary to have it as
|
|
3335
|
-
// the `<ToggleFeature>` wrapper should be rendered only if the `featureToggle`
|
|
3336
|
-
// prop is defined. This is because `<ToggleFeature>` will not render any
|
|
3337
|
-
// children if the flag is missing/not found.
|
|
3312
|
+
MenuItemDivider.displayName = 'MenuItemDivider';
|
|
3338
3313
|
|
|
3339
3314
|
var isEveryMenuVisibilitySetToHidden = function isEveryMenuVisibilitySetToHidden(menuVisibilities, namesOfMenuVisibilities) {
|
|
3340
3315
|
return _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, function (nameOfMenuVisibility) {
|
|
@@ -3346,9 +3321,14 @@ var restrictedMenuItemDefaultProps = {
|
|
|
3346
3321
|
permissions: []
|
|
3347
3322
|
};
|
|
3348
3323
|
|
|
3324
|
+
function isLongLivedFlag(flag) {
|
|
3325
|
+
return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
|
|
3326
|
+
}
|
|
3327
|
+
|
|
3349
3328
|
var RestrictedMenuItem = function RestrictedMenuItem(props) {
|
|
3350
3329
|
// NOTE: Custom application are activated/deactivated while their
|
|
3351
3330
|
// visibility is not controlled via a visibiility overwrite.
|
|
3331
|
+
var flagVariation = reactBroadcast.useFlagVariation(props.featureToggle);
|
|
3352
3332
|
if (isEveryMenuVisibilitySetToHidden(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
|
|
3353
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, {
|
|
3354
3334
|
permissions: props.permissions,
|
|
@@ -3372,10 +3352,11 @@ var RestrictedMenuItem = function RestrictedMenuItem(props) {
|
|
|
3372
3352
|
});
|
|
3373
3353
|
|
|
3374
3354
|
if (props.featureToggle) {
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
|
|
3378
|
-
|
|
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;
|
|
3379
3360
|
}
|
|
3380
3361
|
|
|
3381
3362
|
return permissionsWrapper;
|
|
@@ -3417,7 +3398,7 @@ var MenuLabel = function MenuLabel(props) {
|
|
|
3417
3398
|
children: props.defaultLabel
|
|
3418
3399
|
});
|
|
3419
3400
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
3420
|
-
children: constants.NO_VALUE_FALLBACK
|
|
3401
|
+
children: constants$1.NO_VALUE_FALLBACK
|
|
3421
3402
|
});
|
|
3422
3403
|
};
|
|
3423
3404
|
|
|
@@ -3620,7 +3601,7 @@ var NavBar = function NavBar(props) {
|
|
|
3620
3601
|
},
|
|
3621
3602
|
onMouseLeave: isMenuOpen ? undefined : shouldCloseMenuFly,
|
|
3622
3603
|
children: jsxRuntime.jsx("a", {
|
|
3623
|
-
href: constants.SUPPORT_PORTAL_URL,
|
|
3604
|
+
href: constants$1.SUPPORT_PORTAL_URL,
|
|
3624
3605
|
rel: "noopener noreferrer",
|
|
3625
3606
|
target: "_blank",
|
|
3626
3607
|
children: jsxRuntime.jsxs("div", {
|
|
@@ -3708,7 +3689,7 @@ var pimIndexerStates = {
|
|
|
3708
3689
|
};
|
|
3709
3690
|
|
|
3710
3691
|
var QuickAccess = /*#__PURE__*/react.lazy(function () {
|
|
3711
|
-
return Promise.resolve().then(function () { return require('./quick-access-
|
|
3692
|
+
return Promise.resolve().then(function () { return require('./quick-access-0f6a3105.cjs.prod.js'
|
|
3712
3693
|
/* webpackChunkName: "quick-access" */
|
|
3713
3694
|
); });
|
|
3714
3695
|
});
|
|
@@ -3892,7 +3873,7 @@ var RedirectToLogin = function RedirectToLogin() {
|
|
|
3892
3873
|
redirectTo: nextProjectKey ? "/".concat(nextProjectKey) : '/'
|
|
3893
3874
|
}
|
|
3894
3875
|
});
|
|
3895
|
-
var requestedScope = buildOidcScope({
|
|
3876
|
+
var requestedScope = oidc.buildOidcScope({
|
|
3896
3877
|
projectKey: nextProjectKey !== null && nextProjectKey !== void 0 ? nextProjectKey : undefined,
|
|
3897
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,
|
|
3898
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
|
|
@@ -3906,10 +3887,10 @@ var RedirectToLogin = function RedirectToLogin() {
|
|
|
3906
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,
|
|
3907
3888
|
location: location,
|
|
3908
3889
|
queryParams: {
|
|
3909
|
-
reason: constants.LOGOUT_REASONS.UNAUTHORIZED,
|
|
3890
|
+
reason: constants$1.LOGOUT_REASONS.UNAUTHORIZED,
|
|
3910
3891
|
// Query parameters for OIDC-lik workflow.
|
|
3911
3892
|
client_id: window.app.applicationId,
|
|
3912
|
-
response_type:
|
|
3893
|
+
response_type: constants.OIDC_RESPONSE_TYPES.ID_TOKEN,
|
|
3913
3894
|
scope: requestedScope,
|
|
3914
3895
|
state: sessionId,
|
|
3915
3896
|
nonce: sessionId
|
|
@@ -3923,7 +3904,7 @@ var RedirectToLogin = function RedirectToLogin() {
|
|
|
3923
3904
|
origin: mcOrigin,
|
|
3924
3905
|
location: location,
|
|
3925
3906
|
queryParams: {
|
|
3926
|
-
reason: constants.LOGOUT_REASONS.UNAUTHORIZED,
|
|
3907
|
+
reason: constants$1.LOGOUT_REASONS.UNAUTHORIZED,
|
|
3927
3908
|
redirectTo: urlUtils.trimLeadingAndTrailingSlashes(urlUtils.joinPaths(window.location.origin, location.pathname))
|
|
3928
3909
|
}
|
|
3929
3910
|
});
|
|
@@ -3956,7 +3937,7 @@ var RedirectToLogout = function RedirectToLogout(props) {
|
|
|
3956
3937
|
origin: mcOrigin,
|
|
3957
3938
|
location: location,
|
|
3958
3939
|
queryParams: _objectSpread$1({
|
|
3959
|
-
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
|
|
3960
3941
|
}, servedByProxy ? {} : {
|
|
3961
3942
|
// This will be used after being logged in, to redirect to this location.
|
|
3962
3943
|
redirectTo: window.location.origin
|
|
@@ -4043,7 +4024,7 @@ var RestrictedApplication = function RestrictedApplication(props) {
|
|
|
4043
4024
|
|
|
4044
4025
|
if (hasUnauthorizedError || hasUserBeenDeletedError) {
|
|
4045
4026
|
var logoutReason;
|
|
4046
|
-
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;
|
|
4047
4028
|
return jsxRuntime.jsx(RedirectToLogout, {
|
|
4048
4029
|
reason: logoutReason
|
|
4049
4030
|
});
|
|
@@ -4110,7 +4091,7 @@ var RestrictedApplication = function RestrictedApplication(props) {
|
|
|
4110
4091
|
role: "global-notifications",
|
|
4111
4092
|
css: _ref5,
|
|
4112
4093
|
children: jsxRuntime.jsx(reactNotifications.NotificationsList, {
|
|
4113
|
-
domain: constants.DOMAINS.GLOBAL
|
|
4094
|
+
domain: constants$1.DOMAINS.GLOBAL
|
|
4114
4095
|
})
|
|
4115
4096
|
}), jsxRuntime.jsx(reactRouterDom.Route, {
|
|
4116
4097
|
children: function children() {
|
|
@@ -4199,9 +4180,9 @@ var RestrictedApplication = function RestrictedApplication(props) {
|
|
|
4199
4180
|
}) : jsxRuntime.jsxs(MainContainer, {
|
|
4200
4181
|
role: "main",
|
|
4201
4182
|
children: [jsxRuntime.jsx(reactNotifications.NotificationsList, {
|
|
4202
|
-
domain: constants.DOMAINS.PAGE
|
|
4183
|
+
domain: constants$1.DOMAINS.PAGE
|
|
4203
4184
|
}), jsxRuntime.jsx(reactNotifications.NotificationsList, {
|
|
4204
|
-
domain: constants.DOMAINS.SIDE
|
|
4185
|
+
domain: constants$1.DOMAINS.SIDE
|
|
4205
4186
|
}), jsxRuntime.jsxs("div", {
|
|
4206
4187
|
css: _ref2,
|
|
4207
4188
|
children: [jsxRuntime.jsx(applicationComponents.PortalsContainer, {}), jsxRuntime.jsxs(reactRouterDom.Switch, {
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
4
|
+
var upperFirst = require('lodash/upperFirst');
|
|
5
|
+
var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
6
|
+
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
7
|
+
var constants = require('./constants-fdbe0e9d.cjs.dev.js');
|
|
8
|
+
|
|
9
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
10
|
+
|
|
11
|
+
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
12
|
+
var upperFirst__default = /*#__PURE__*/_interopDefault(upperFirst);
|
|
13
|
+
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
14
|
+
|
|
15
|
+
// removing special characters except underscore.
|
|
16
|
+
// It makes the first character of the string and the next character after a special character an uppercase.
|
|
17
|
+
// It replaces hyphen(-) with a forward slash(/) if the hyphen(-) is followed by a number.
|
|
18
|
+
// Examples:
|
|
19
|
+
// input: foo-bar result: FooBar
|
|
20
|
+
// input: foo_bar result: Foo_Bar
|
|
21
|
+
// input: foo-1bar result: Foo/1bar
|
|
22
|
+
|
|
23
|
+
var formatEntryPointUriPathToResourceAccessKey = function formatEntryPointUriPathToResourceAccessKey(entryPointUriPath) {
|
|
24
|
+
var _context, _context2;
|
|
25
|
+
|
|
26
|
+
return _mapInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = entryPointUriPath //Splits the string by underscore.
|
|
27
|
+
.split('_') // Uppercase the first character of each word split.
|
|
28
|
+
).call(_context2, function (word) {
|
|
29
|
+
return upperFirst__default["default"](word);
|
|
30
|
+
}) // Join the words by an underscore.
|
|
31
|
+
.join('_') // Each word is split by a hyphen.
|
|
32
|
+
.split('-')).call(_context, function (word, i) {
|
|
33
|
+
// Regex below checking if the character is numeric.
|
|
34
|
+
// If the word after the hyphen is numeric, replace the hyphen with a forward slash.
|
|
35
|
+
// If not, omit the hyphen and uppercase the first character
|
|
36
|
+
if (i > 0 && /^-?\d+$/.test(word[0])) {
|
|
37
|
+
return '/' + word;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return upperFirst__default["default"](word);
|
|
41
|
+
}).join('');
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
var entryPointUriPathToResourceAccesses = function entryPointUriPathToResourceAccesses(entryPointUriPath) {
|
|
45
|
+
var convertedEntryPointUriPath = formatEntryPointUriPathToResourceAccessKey(entryPointUriPath);
|
|
46
|
+
return {
|
|
47
|
+
view: "view".concat(convertedEntryPointUriPath),
|
|
48
|
+
manage: "manage".concat(convertedEntryPointUriPath)
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
var entryPointUriPathToPermissionKeys = function entryPointUriPathToPermissionKeys(entryPointUriPath) {
|
|
52
|
+
var resourceAccesses = entryPointUriPathToResourceAccesses(entryPointUriPath);
|
|
53
|
+
return {
|
|
54
|
+
View: upperFirst__default["default"](resourceAccesses.view),
|
|
55
|
+
Manage: upperFirst__default["default"](resourceAccesses.manage)
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
var buildOidcScope = function buildOidcScope(options) {
|
|
60
|
+
var _context7;
|
|
61
|
+
|
|
62
|
+
var claims = [];
|
|
63
|
+
|
|
64
|
+
if (options.projectKey) {
|
|
65
|
+
var _context, _context2, _options$oAuthScopes$, _options$oAuthScopes, _context4, _options$oAuthScopes$2, _options$oAuthScopes2;
|
|
66
|
+
|
|
67
|
+
claims.push(_concatInstanceProperty__default["default"](_context = "".concat(constants.OIDC_CLAIMS.PROJECT_KEY, ":")).call(_context, options.projectKey));
|
|
68
|
+
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) {
|
|
69
|
+
var _context3;
|
|
70
|
+
|
|
71
|
+
return _concatInstanceProperty__default["default"](_context3 = "".concat(constants.OIDC_CLAIMS.VIEW, ":")).call(_context3, scope);
|
|
72
|
+
})));
|
|
73
|
+
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) {
|
|
74
|
+
var _context5;
|
|
75
|
+
|
|
76
|
+
return _concatInstanceProperty__default["default"](_context5 = "".concat(constants.OIDC_CLAIMS.MANAGE, ":")).call(_context5, scope);
|
|
77
|
+
})));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
var teamId = options.teamId;
|
|
81
|
+
|
|
82
|
+
if (teamId) {
|
|
83
|
+
var _context6;
|
|
84
|
+
|
|
85
|
+
claims.push(_concatInstanceProperty__default["default"](_context6 = "".concat(constants.OIDC_CLAIMS.TEAM_ID, ":")).call(_context6, teamId));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return _concatInstanceProperty__default["default"](_context7 = [// This is required as per OIDC spec.
|
|
89
|
+
constants.OIDC_CLAIMS.OPEN_ID]).call(_context7, claims).join(' ');
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
exports.buildOidcScope = buildOidcScope;
|
|
93
|
+
exports.entryPointUriPathToPermissionKeys = entryPointUriPathToPermissionKeys;
|
|
94
|
+
exports.entryPointUriPathToResourceAccesses = entryPointUriPathToResourceAccesses;
|