@commercetools-frontend/application-shell-connectors 24.11.0 → 24.12.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.
@@ -15,6 +15,7 @@ var react = require('react');
15
15
  var moment = require('moment-timezone');
16
16
  var sentry = require('@commercetools-frontend/sentry');
17
17
  var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
18
+ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
18
19
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
19
20
  var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
20
21
  var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
@@ -58,6 +59,7 @@ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$def
58
59
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
59
60
  var moment__default = /*#__PURE__*/_interopDefault(moment);
60
61
  var _URL__default = /*#__PURE__*/_interopDefault(_URL);
62
+ var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
61
63
  var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
62
64
  var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
63
65
  var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
@@ -76,7 +78,7 @@ var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construc
76
78
  var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
77
79
 
78
80
  // NOTE: This string will be replaced on build time with the package version.
79
- var version = "24.11.0";
81
+ var version = "24.12.0";
80
82
 
81
83
  // From https://github.com/acdlite/recompose/blob/master/src/packages/recompose/getDisplayName.js
82
84
  const getDisplayName = Component => {
@@ -98,9 +100,10 @@ const getMcOriginTld = host => {
98
100
  return host.replace(mcHostnameRegex, '$3');
99
101
  };
100
102
  const getMcApiUrlFromOrigin = origin => {
103
+ var _context;
101
104
  const url = new _URL__default["default"](origin);
102
105
  const originTld = getMcOriginTld(url.host);
103
- return `${url.protocol}//mc-api.${originTld}`;
106
+ return _concatInstanceProperty__default["default"](_context = "".concat(url.protocol, "//mc-api.")).call(_context, originTld);
104
107
  };
105
108
  const parseAsBoolean = value => value === true || value === 'true';
106
109
  function getMcApiUrl() {
@@ -332,9 +335,9 @@ const createApplicationContext = (environment, user, project, projectDataLocale)
332
335
  environment: mapEnvironmentToApplicationContextEnvironment(environment),
333
336
  user: mapUserToApplicationContextUser(user),
334
337
  project: mapProjectToApplicationContextProject(project),
335
- permissions: normalizeAllAppliedPermissions(project?.allAppliedPermissions),
336
- actionRights: normalizeAllAppliedActionRights(project?.allAppliedActionRights),
337
- dataFences: normalizeAllAppliedDataFences(project?.allAppliedDataFences),
338
+ permissions: normalizeAllAppliedPermissions(project === null || project === void 0 ? void 0 : project.allAppliedPermissions),
339
+ actionRights: normalizeAllAppliedActionRights(project === null || project === void 0 ? void 0 : project.allAppliedActionRights),
340
+ dataFences: normalizeAllAppliedDataFences(project === null || project === void 0 ? void 0 : project.allAppliedDataFences),
338
341
  dataLocale: projectDataLocale || null
339
342
  });
340
343
  const ApplicationContextProvider = props => jsxRuntime.jsx(Context$2.Provider, {
@@ -364,7 +367,7 @@ function withApplicationContext(mapApplicationContextToProps) {
364
367
  return jsxRuntime.jsx(Component, _objectSpread$6(_objectSpread$6({}, props), mappedProps));
365
368
  }
366
369
  });
367
- WrappedComponent.displayName = `withApplicationContext(${getDisplayName(Component)})`;
370
+ WrappedComponent.displayName = "withApplicationContext(".concat(getDisplayName(Component), ")");
368
371
  return WrappedComponent;
369
372
  };
370
373
  }
@@ -480,7 +483,7 @@ const ProjectExtensionProviderForImageRegex = props => {
480
483
  };
481
484
  ProjectExtensionProviderForImageRegex.displayName = 'ProjectExtensionProviderForImageRegex';
482
485
  const GetProjectExtensionImageRegex = props => {
483
- useWarning(false, `@commercetools-frontend/application-shell-connectors: It is not recommended to use the 'GetProjectExtensionImageRegex' anymore. Please use the 'useProjectExtensionImageRegex' hook instead.`);
486
+ useWarning(false, "@commercetools-frontend/application-shell-connectors: It is not recommended to use the 'GetProjectExtensionImageRegex' anymore. Please use the 'useProjectExtensionImageRegex' hook instead.");
484
487
  return jsxRuntime.jsx(Context.Consumer, {
485
488
  children: imageRegexContext => props.render(imageRegexContext)
486
489
  });
@@ -490,7 +493,7 @@ function withProjectExtensionImageRegex() {
490
493
  let propKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'imageRegexData';
491
494
  return Component => {
492
495
  const WrappedComponent = props => {
493
- useWarning(false, `@commercetools-frontend/application-shell-connectors: It is not recommended to use the 'withProjectExtensionImageRegex' high order component anymore. Please use the 'useProjectExtensionImageRegex' hook instead.`);
496
+ useWarning(false, "@commercetools-frontend/application-shell-connectors: It is not recommended to use the 'withProjectExtensionImageRegex' high order component anymore. Please use the 'useProjectExtensionImageRegex' hook instead.");
494
497
  const imageregexContext = useProjectExtensionImageRegex();
495
498
  return jsxRuntime.jsx(GetProjectExtensionImageRegex, {
496
499
  render: () =>
@@ -500,7 +503,7 @@ function withProjectExtensionImageRegex() {
500
503
  }))
501
504
  });
502
505
  };
503
- WrappedComponent.displayName = `withProjectExtensionImageRegex(${getDisplayName(Component)})`;
506
+ WrappedComponent.displayName = "withProjectExtensionImageRegex(".concat(getDisplayName(Component), ")");
504
507
  return WrappedComponent;
505
508
  };
506
509
  }
@@ -521,8 +524,8 @@ const forwardTokenRetryHeader = headers => _objectSpread$3(_objectSpread$3({}, h
521
524
  // so that the MC BE can issue a new token.
522
525
  // NOTE: the retry is not meant to work for the MC access token.
523
526
  const getDoesGraphQLTargetSupportTokenRetry = context => {
524
- var _context;
525
- const graphQLTarget = context.headers?.[constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET] || context.headers?.[constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET.toLowerCase()];
527
+ var _context$headers, _context$headers2, _context;
528
+ const graphQLTarget = ((_context$headers = context.headers) === null || _context$headers === void 0 ? void 0 : _context$headers[constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET]) || ((_context$headers2 = context.headers) === null || _context$headers2 === void 0 ? void 0 : _context$headers2[constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET.toLowerCase()]);
526
529
  return Boolean(graphQLTarget && _includesInstanceProperty__default["default"](_context = [constants.GRAPHQL_TARGETS.COMMERCETOOLS_PLATFORM, constants.GRAPHQL_TARGETS.ADMINISTRATION_SERVICE, constants.GRAPHQL_TARGETS.SETTINGS_SERVICE, constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND]).call(_context, graphQLTarget));
527
530
  };
528
531
  const isHttpError = error => error.statusCode !== undefined || error.statusCode !== undefined;
@@ -536,7 +539,7 @@ const errorLink = error.onError(_ref => {
536
539
  operation = _ref.operation,
537
540
  forward = _ref.forward;
538
541
  if (networkError && isHttpError(networkError) && networkError.statusCode === constants.STATUS_CODES.UNAUTHORIZED) {
539
- history__default["default"].push(`/logout?reason=${constants.LOGOUT_REASONS.UNAUTHORIZED}`);
542
+ history__default["default"].push("/logout?reason=".concat(constants.LOGOUT_REASONS.UNAUTHORIZED));
540
543
  return;
541
544
  }
542
545
 
@@ -548,7 +551,8 @@ const errorLink = error.onError(_ref => {
548
551
  const context = operation.getContext();
549
552
  if (graphQLErrors && isGraphQLError(graphQLErrors)) {
550
553
  for (const err of graphQLErrors) {
551
- const isNonAuthenticatedViaExtensionCode = err?.extensions?.code === 'UNAUTHENTICATED';
554
+ var _err$extensions;
555
+ const isNonAuthenticatedViaExtensionCode = (err === null || err === void 0 || (_err$extensions = err.extensions) === null || _err$extensions === void 0 ? void 0 : _err$extensions.code) === 'UNAUTHENTICATED';
552
556
  /**
553
557
  * NOTE:
554
558
  * Not not all GraphQL APIs expose an `extensions` field in
@@ -556,7 +560,7 @@ const errorLink = error.onError(_ref => {
556
560
  * property until they introduced support for the `extensions`
557
561
  * field.
558
562
  */
559
- const isNonAuthenticatedViaCode = err?.message === 'invalid_token';
563
+ const isNonAuthenticatedViaCode = (err === null || err === void 0 ? void 0 : err.message) === 'invalid_token';
560
564
  if ((isNonAuthenticatedViaExtensionCode || isNonAuthenticatedViaCode) && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
561
565
  operation.setContext(_ref2 => {
562
566
  let headers = _ref2.headers;
@@ -592,7 +596,8 @@ const errorLink = error.onError(_ref => {
592
596
 
593
597
  // Attempt to load the `teamId` from sessionStorage
594
598
  function selectTeamIdFromStorage() {
595
- return window.sessionStorage.getItem(constants.STORAGE_KEYS.ACTIVE_TEAM_ID) || window.app.__DEVELOPMENT__?.oidc?.teamId;
599
+ var _window$app$__DEVELOP;
600
+ return window.sessionStorage.getItem(constants.STORAGE_KEYS.ACTIVE_TEAM_ID) || ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP === void 0 || (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) === null || _window$app$__DEVELOP === void 0 ? void 0 : _window$app$__DEVELOP.teamId);
596
601
  }
597
602
 
598
603
  const staticUrlPathsInPositionOfProjectKey = ['login', 'logout', 'account'];
@@ -653,7 +658,7 @@ function getCorrelationId() {
653
658
 
654
659
  const createApolloContextForProxyForwardTo = proxyForwardTocontext => ({
655
660
  // Send the request to the forward-to endpoint.
656
- uri: `${getMcApiUrl()}/proxy/forward-to`,
661
+ uri: "".concat(getMcApiUrl(), "/proxy/forward-to"),
657
662
  // Custom properties to be used by the "header-link".
658
663
  forwardToConfig: proxyForwardTocontext,
659
664
  skipGraphQlTargetCheck: true
@@ -695,7 +700,7 @@ function selectUserLanguageFromStorage() {
695
700
  const getSessionToken = () => window.sessionStorage.getItem(constants.STORAGE_KEYS.SESSION_TOKEN);
696
701
  const setActiveSession = sessionToken => {
697
702
  if (!sessionToken) return;
698
- window.sessionStorage.setItem(constants.STORAGE_KEYS.SESSION_TOKEN, sessionToken ?? '');
703
+ window.sessionStorage.setItem(constants.STORAGE_KEYS.SESSION_TOKEN, sessionToken !== null && sessionToken !== void 0 ? sessionToken : '');
699
704
  window.localStorage.setItem(constants.STORAGE_KEYS.LOGIN_STRATEGY, constants.LOGIN_STRATEGY_OIDC);
700
705
  // Remove flag for original workflow
701
706
  window.localStorage.removeItem(constants.STORAGE_KEYS.IS_AUTHENTICATED);
@@ -717,7 +722,8 @@ const setSessionScope = scope => {
717
722
  window.sessionStorage.setItem(constants.STORAGE_KEYS.SESSION_SCOPE, scope);
718
723
  };
719
724
  const getSessionState = stateId => {
720
- const sessionStateKey = `${constants.STORAGE_KEYS.NONCE}_${stateId}`;
725
+ var _context;
726
+ const sessionStateKey = _concatInstanceProperty__default["default"](_context = "".concat(constants.STORAGE_KEYS.NONCE, "_")).call(_context, stateId);
721
727
  const unparsedSessionState = window.sessionStorage.getItem(sessionStateKey);
722
728
  if (unparsedSessionState) {
723
729
  try {
@@ -725,19 +731,22 @@ const getSessionState = stateId => {
725
731
  return parsedSessionState;
726
732
  } catch (error) {
727
733
  if (process.env.NODE_ENV !== 'production') {
734
+ var _context2;
728
735
  // eslint-disable-next-line no-console
729
- console.warn(`Cannot parse session state for "${sessionStateKey}".\n${unparsedSessionState}`);
736
+ console.warn(_concatInstanceProperty__default["default"](_context2 = "Cannot parse session state for \"".concat(sessionStateKey, "\".\n")).call(_context2, unparsedSessionState));
730
737
  }
731
738
  }
732
739
  }
733
740
  return null;
734
741
  };
735
742
  const setSessionState = (stateId, state) => {
736
- const sessionStateKey = `${constants.STORAGE_KEYS.NONCE}_${stateId}`;
743
+ var _context3;
744
+ const sessionStateKey = _concatInstanceProperty__default["default"](_context3 = "".concat(constants.STORAGE_KEYS.NONCE, "_")).call(_context3, stateId);
737
745
  window.sessionStorage.setItem(sessionStateKey, _JSON$stringify__default["default"](state));
738
746
  };
739
747
  const removeSessionState = stateId => {
740
- const sessionStateKey = `${constants.STORAGE_KEYS.NONCE}_${stateId}`;
748
+ var _context4;
749
+ const sessionStateKey = _concatInstanceProperty__default["default"](_context4 = "".concat(constants.STORAGE_KEYS.NONCE, "_")).call(_context4, stateId);
741
750
  window.sessionStorage.removeItem(sessionStateKey);
742
751
  };
743
752
 
@@ -759,13 +768,14 @@ var oidcStorage = /*#__PURE__*/Object.freeze({
759
768
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? _Reflect$construct__default["default"](o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
760
769
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
761
770
  function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
762
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
771
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
763
772
  let _userAgent$1;
764
773
  const getUserAgent$1 = () => {
765
774
  if (!_userAgent$1) {
775
+ var _window$app$applicati, _window$app;
766
776
  _userAgent$1 = createHttpUserAgent__default["default"]({
767
777
  name: 'unknown-http-client',
768
- libraryName: typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined
778
+ libraryName: typeof window !== 'undefined' ? (_window$app$applicati = (_window$app = window.app) === null || _window$app === void 0 ? void 0 : _window$app.applicationName) !== null && _window$app$applicati !== void 0 ? _window$app$applicati : 'unknown-application-name' : undefined
769
779
  });
770
780
  }
771
781
  return _userAgent$1;
@@ -773,48 +783,50 @@ const getUserAgent$1 = () => {
773
783
  const defaultForwardToVersion = 'v2';
774
784
  const defaultForwardToAudiencePolicy = 'forward-url-full-path';
775
785
  function buildApiUrl(endpoint) {
786
+ var _context;
776
787
  const apiUrl = getMcApiUrl().replace(/\/$/, '');
777
- return `${apiUrl}${endpoint}`;
788
+ return _concatInstanceProperty__default["default"](_context = "".concat(apiUrl)).call(_context, endpoint);
778
789
  }
779
790
  const getAppliedForwardToHeaders = forwardToConfig => {
780
- var _context;
791
+ var _context2, _forwardToConfig$head, _forwardToConfig$vers, _forwardToConfig$audi;
781
792
  if (!forwardToConfig) {
782
793
  return {};
783
794
  }
784
795
  if (!forwardToConfig.uri) {
785
- throw new Error(`Missing required "uri" option.`);
796
+ throw new Error("Missing required \"uri\" option.");
786
797
  }
787
798
  const exchangeTokenClaims = [];
788
799
  if (forwardToConfig.includeUserPermissions) {
789
800
  exchangeTokenClaims.push('permissions');
790
801
  }
791
- return _objectSpread$2(_objectSpread$2({}, _reduceInstanceProperty__default["default"](_context = _Object$entries__default["default"](forwardToConfig.headers ?? {})).call(_context, (customForwardHeaders, _ref) => {
802
+ return _objectSpread$2(_objectSpread$2({}, _reduceInstanceProperty__default["default"](_context2 = _Object$entries__default["default"]((_forwardToConfig$head = forwardToConfig.headers) !== null && _forwardToConfig$head !== void 0 ? _forwardToConfig$head : {})).call(_context2, (customForwardHeaders, _ref) => {
792
803
  let _ref2 = _slicedToArray(_ref, 2),
793
804
  headerName = _ref2[0],
794
805
  headerValue = _ref2[1];
795
806
  return _objectSpread$2(_objectSpread$2({}, customForwardHeaders), {}, {
796
807
  // Prefix headers so that the MC API can allow and forward them.
797
- [`x-forward-header-${headerName}`]: headerValue
808
+ ["x-forward-header-".concat(headerName)]: headerValue
798
809
  });
799
810
  }, {})), {}, {
800
- [constants.SUPPORTED_HEADERS.ACCEPT_VERSION]: forwardToConfig.version ?? defaultForwardToVersion,
811
+ [constants.SUPPORTED_HEADERS.ACCEPT_VERSION]: (_forwardToConfig$vers = forwardToConfig.version) !== null && _forwardToConfig$vers !== void 0 ? _forwardToConfig$vers : defaultForwardToVersion,
801
812
  [constants.SUPPORTED_HEADERS.X_FORWARD_TO]: forwardToConfig.uri,
802
- [constants.SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY]: forwardToConfig.audiencePolicy ?? defaultForwardToAudiencePolicy,
813
+ [constants.SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY]: (_forwardToConfig$audi = forwardToConfig.audiencePolicy) !== null && _forwardToConfig$audi !== void 0 ? _forwardToConfig$audi : defaultForwardToAudiencePolicy,
803
814
  [constants.SUPPORTED_HEADERS.X_FORWARD_TO_CLAIMS]: exchangeTokenClaims.join(' ')
804
815
  });
805
816
  };
806
817
  function createHttpClientOptions() {
818
+ var _config$projectKey, _window$app$__DEVELOP;
807
819
  let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
808
820
  const sessionToken = getSessionToken();
809
- const projectKey = config.projectKey ?? selectProjectKeyFromUrl();
821
+ const projectKey = (_config$projectKey = config.projectKey) !== null && _config$projectKey !== void 0 ? _config$projectKey : selectProjectKeyFromUrl();
810
822
  const userId = selectUserId();
811
- const userAgent = config?.userAgent || getUserAgent$1();
823
+ const userAgent = (config === null || config === void 0 ? void 0 : config.userAgent) || getUserAgent$1();
812
824
  return {
813
825
  credentials: 'include',
814
826
  headers: omitEmpty__default["default"](_objectSpread$2(_objectSpread$2({}, config.headers), {}, {
815
827
  // Required headers
816
828
  [constants.SUPPORTED_HEADERS.ACCEPT]: 'application/json',
817
- [constants.SUPPORTED_HEADERS.AUTHORIZATION]: sessionToken ? `Bearer ${sessionToken}` : undefined,
829
+ [constants.SUPPORTED_HEADERS.AUTHORIZATION]: sessionToken ? "Bearer ".concat(sessionToken) : undefined,
818
830
  [constants.SUPPORTED_HEADERS.X_APPLICATION_ID]: window.app.applicationIdentifier,
819
831
  [constants.SUPPORTED_HEADERS.X_CUSTOM_VIEW_ID]: window.app.customViewId,
820
832
  [constants.SUPPORTED_HEADERS.X_CORRELATION_ID]: getCorrelationId({
@@ -823,7 +835,7 @@ function createHttpClientOptions() {
823
835
  [constants.SUPPORTED_HEADERS.X_PROJECT_KEY]: projectKey,
824
836
  [constants.SUPPORTED_HEADERS.X_USER_AGENT]: userAgent,
825
837
  // MC Identity Login Mode Override header for development
826
- [constants.SUPPORTED_HEADERS.X_MC_IDENTITY_LOGIN_MODE_OVERRIDE]: window.app.__DEVELOPMENT__?.mcIdentityLoginModeOverride
838
+ [constants.SUPPORTED_HEADERS.X_MC_IDENTITY_LOGIN_MODE_OVERRIDE]: (_window$app$__DEVELOP = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP === void 0 ? void 0 : _window$app$__DEVELOP.mcIdentityLoginModeOverride
827
839
  }, getAppliedForwardToHeaders(config.forwardToConfig)))
828
840
  };
829
841
  }
@@ -854,7 +866,7 @@ async function executeHttpClientRequest(fetcher) {
854
866
  }))
855
867
  }));
856
868
  if (response.statusCode === constants.STATUS_CODES.UNAUTHORIZED) {
857
- throw new RenewTokenError(`Unauthorized response, attempting retry.`);
869
+ throw new RenewTokenError("Unauthorized response, attempting retry.");
858
870
  }
859
871
 
860
872
  // In case a new session token is returned from the server, save it.
@@ -878,15 +890,15 @@ async function executeHttpClientRequest(fetcher) {
878
890
  }
879
891
 
880
892
  function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
881
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(t))).call(_context5, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
893
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(t), !0)).call(_context5, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context6 = ownKeys$1(Object(t))).call(_context6, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
882
894
  let _userAgent;
883
895
  const getUserAgent = () => {
884
896
  if (!_userAgent) {
885
- var _context;
897
+ var _context, _window$app$applicati, _window$app;
886
898
  _userAgent = createHttpUserAgent__default["default"]({
887
899
  name: 'apollo-client',
888
900
  // version: apolloVersion,
889
- libraryName: _filterInstanceProperty__default["default"](_context = [typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined, 'application-shell']).call(_context, Boolean).join('/'),
901
+ libraryName: _filterInstanceProperty__default["default"](_context = [typeof window !== 'undefined' ? (_window$app$applicati = (_window$app = window.app) === null || _window$app === void 0 ? void 0 : _window$app.applicationName) !== null && _window$app$applicati !== void 0 ? _window$app$applicati : 'unknown-application-name' : undefined, 'application-shell']).call(_context, Boolean).join('/'),
890
902
  libraryVersion: version,
891
903
  contactUrl: 'https://git.io/fjuyC',
892
904
  // points to the appkit repo issues
@@ -900,13 +912,18 @@ const isKnownGraphQlTarget = target => {
900
912
  return target ? _includesInstanceProperty__default["default"](_context2 = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context2, target) : false;
901
913
  };
902
914
  const extractSessionTokenFromResponse = context => {
903
- const refreshedSessionToken = context.response?.headers?.get('x-refreshed-session-token');
915
+ var _context$response, _context$restResponse;
916
+ const refreshedSessionToken = (_context$response = context.response) === null || _context$response === void 0 || (_context$response = _context$response.headers) === null || _context$response === void 0 ? void 0 : _context$response.get('x-refreshed-session-token');
904
917
  if (refreshedSessionToken) {
905
- return refreshedSessionToken ?? null;
918
+ return refreshedSessionToken !== null && refreshedSessionToken !== void 0 ? refreshedSessionToken : null;
906
919
  }
907
- const restResponseWithRefreshTokenHeader = context.restResponses?.find(response => response.headers?.has('x-refreshed-session-token'));
920
+ const restResponseWithRefreshTokenHeader = (_context$restResponse = context.restResponses) === null || _context$restResponse === void 0 ? void 0 : _findInstanceProperty__default["default"](_context$restResponse).call(_context$restResponse, response => {
921
+ var _response$headers;
922
+ return (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.has('x-refreshed-session-token');
923
+ });
908
924
  if (restResponseWithRefreshTokenHeader) {
909
- return restResponseWithRefreshTokenHeader.headers.get('x-refreshed-session-token') ?? null;
925
+ var _restResponseWithRefr;
926
+ return (_restResponseWithRefr = restResponseWithRefreshTokenHeader.headers.get('x-refreshed-session-token')) !== null && _restResponseWithRefr !== void 0 ? _restResponseWithRefr : null;
910
927
  }
911
928
  return null;
912
929
  };
@@ -914,11 +931,11 @@ const extractSessionTokenFromResponse = context => {
914
931
  /* eslint-disable import/prefer-default-export */
915
932
  // Use a middleware to update the request headers with the correct params.
916
933
  const headerLink = new client.ApolloLink((operation, forward) => {
917
- var _context3;
934
+ var _context3, _context4;
918
935
  const apolloContext = operation.getContext();
919
936
  const variables = operation.variables;
920
937
  const graphQlTarget = apolloContext.target || variables.target;
921
- if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(`GraphQL target "${graphQlTarget}" is missing (or is not supported) in operation "${operation.operationName}"`);
938
+ if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty__default["default"](_context3 = "GraphQL target \"".concat(graphQlTarget, "\" is missing (or is not supported) in operation \"")).call(_context3, operation.operationName, "\""));
922
939
 
923
940
  /**
924
941
  * NOTE:
@@ -945,7 +962,7 @@ const headerLink = new client.ApolloLink((operation, forward) => {
945
962
  forwardToConfig: apolloContext.forwardToConfig,
946
963
  projectKey
947
964
  }));
948
- return _mapInstanceProperty__default["default"](_context3 = forward(operation)).call(_context3, response => {
965
+ return _mapInstanceProperty__default["default"](_context4 = forward(operation)).call(_context4, response => {
949
966
  const context = operation.getContext();
950
967
  const refreshedSessionToken = extractSessionTokenFromResponse(context);
951
968
  if (refreshedSessionToken) {
@@ -958,7 +975,7 @@ const headerLink = new client.ApolloLink((operation, forward) => {
958
975
  const tokenRetryLink = new retry.RetryLink({
959
976
  attempts: (count, operation, error) => {
960
977
  const context = operation.getContext();
961
- if (error?.statusCode === constants.STATUS_CODES.UNAUTHORIZED && count === 1 && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
978
+ if ((error === null || error === void 0 ? void 0 : error.statusCode) === constants.STATUS_CODES.UNAUTHORIZED && count === 1 && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
962
979
  operation.setContext(_ref => {
963
980
  let headers = _ref.headers;
964
981
  return {
@@ -976,7 +993,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _co
976
993
  const createApolloLink = function () {
977
994
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
978
995
  const httpLink = client.createHttpLink({
979
- uri: `${getMcApiUrl()}/graphql`,
996
+ uri: "".concat(getMcApiUrl(), "/graphql"),
980
997
  fetch
981
998
  });
982
999
 
@@ -1020,8 +1037,9 @@ const mergeArraysObjects = function () {
1020
1037
  }, []);
1021
1038
  };
1022
1039
  const createApolloClient = function () {
1040
+ var _options$cache, _customCacheConfig$ty;
1023
1041
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1024
- const customCacheConfig = options?.cache ?? {};
1042
+ const customCacheConfig = (_options$cache = options === null || options === void 0 ? void 0 : options.cache) !== null && _options$cache !== void 0 ? _options$cache : {};
1025
1043
  return new client.ApolloClient({
1026
1044
  link: createApolloLink(options),
1027
1045
  // https://www.apollographql.com/docs/react/caching/cache-configuration/
@@ -1060,7 +1078,7 @@ const createApolloClient = function () {
1060
1078
  }
1061
1079
  }
1062
1080
  }
1063
- }, customCacheConfig.typePolicies ?? {})
1081
+ }, (_customCacheConfig$ty = customCacheConfig.typePolicies) !== null && _customCacheConfig$ty !== void 0 ? _customCacheConfig$ty : {})
1064
1082
  }))
1065
1083
  });
1066
1084
  };
@@ -15,6 +15,7 @@ var react = require('react');
15
15
  var moment = require('moment-timezone');
16
16
  var sentry = require('@commercetools-frontend/sentry');
17
17
  var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
18
+ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
18
19
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
19
20
  var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
20
21
  var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
@@ -58,6 +59,7 @@ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$def
58
59
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
59
60
  var moment__default = /*#__PURE__*/_interopDefault(moment);
60
61
  var _URL__default = /*#__PURE__*/_interopDefault(_URL);
62
+ var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
61
63
  var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
62
64
  var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
63
65
  var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
@@ -75,7 +77,7 @@ var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construc
75
77
  var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
76
78
 
77
79
  // NOTE: This string will be replaced on build time with the package version.
78
- var version = "24.11.0";
80
+ var version = "24.12.0";
79
81
 
80
82
  // From https://github.com/acdlite/recompose/blob/master/src/packages/recompose/getDisplayName.js
81
83
  const getDisplayName = Component => {
@@ -97,9 +99,10 @@ const getMcOriginTld = host => {
97
99
  return host.replace(mcHostnameRegex, '$3');
98
100
  };
99
101
  const getMcApiUrlFromOrigin = origin => {
102
+ var _context;
100
103
  const url = new _URL__default["default"](origin);
101
104
  const originTld = getMcOriginTld(url.host);
102
- return `${url.protocol}//mc-api.${originTld}`;
105
+ return _concatInstanceProperty__default["default"](_context = "".concat(url.protocol, "//mc-api.")).call(_context, originTld);
103
106
  };
104
107
  const parseAsBoolean = value => value === true || value === 'true';
105
108
  function getMcApiUrl() {
@@ -331,9 +334,9 @@ const createApplicationContext = (environment, user, project, projectDataLocale)
331
334
  environment: mapEnvironmentToApplicationContextEnvironment(environment),
332
335
  user: mapUserToApplicationContextUser(user),
333
336
  project: mapProjectToApplicationContextProject(project),
334
- permissions: normalizeAllAppliedPermissions(project?.allAppliedPermissions),
335
- actionRights: normalizeAllAppliedActionRights(project?.allAppliedActionRights),
336
- dataFences: normalizeAllAppliedDataFences(project?.allAppliedDataFences),
337
+ permissions: normalizeAllAppliedPermissions(project === null || project === void 0 ? void 0 : project.allAppliedPermissions),
338
+ actionRights: normalizeAllAppliedActionRights(project === null || project === void 0 ? void 0 : project.allAppliedActionRights),
339
+ dataFences: normalizeAllAppliedDataFences(project === null || project === void 0 ? void 0 : project.allAppliedDataFences),
337
340
  dataLocale: projectDataLocale || null
338
341
  });
339
342
  const ApplicationContextProvider = props => jsxRuntime.jsx(Context$2.Provider, {
@@ -363,7 +366,7 @@ function withApplicationContext(mapApplicationContextToProps) {
363
366
  return jsxRuntime.jsx(Component, _objectSpread$6(_objectSpread$6({}, props), mappedProps));
364
367
  }
365
368
  });
366
- WrappedComponent.displayName = `withApplicationContext(${getDisplayName(Component)})`;
369
+ WrappedComponent.displayName = "withApplicationContext(".concat(getDisplayName(Component), ")");
367
370
  return WrappedComponent;
368
371
  };
369
372
  }
@@ -498,7 +501,7 @@ function withProjectExtensionImageRegex() {
498
501
  }))
499
502
  });
500
503
  };
501
- WrappedComponent.displayName = `withProjectExtensionImageRegex(${getDisplayName(Component)})`;
504
+ WrappedComponent.displayName = "withProjectExtensionImageRegex(".concat(getDisplayName(Component), ")");
502
505
  return WrappedComponent;
503
506
  };
504
507
  }
@@ -519,8 +522,8 @@ const forwardTokenRetryHeader = headers => _objectSpread$3(_objectSpread$3({}, h
519
522
  // so that the MC BE can issue a new token.
520
523
  // NOTE: the retry is not meant to work for the MC access token.
521
524
  const getDoesGraphQLTargetSupportTokenRetry = context => {
522
- var _context;
523
- const graphQLTarget = context.headers?.[constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET] || context.headers?.[constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET.toLowerCase()];
525
+ var _context$headers, _context$headers2, _context;
526
+ const graphQLTarget = ((_context$headers = context.headers) === null || _context$headers === void 0 ? void 0 : _context$headers[constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET]) || ((_context$headers2 = context.headers) === null || _context$headers2 === void 0 ? void 0 : _context$headers2[constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET.toLowerCase()]);
524
527
  return Boolean(graphQLTarget && _includesInstanceProperty__default["default"](_context = [constants.GRAPHQL_TARGETS.COMMERCETOOLS_PLATFORM, constants.GRAPHQL_TARGETS.ADMINISTRATION_SERVICE, constants.GRAPHQL_TARGETS.SETTINGS_SERVICE, constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND]).call(_context, graphQLTarget));
525
528
  };
526
529
  const isHttpError = error => error.statusCode !== undefined || error.statusCode !== undefined;
@@ -534,7 +537,7 @@ const errorLink = error.onError(_ref => {
534
537
  operation = _ref.operation,
535
538
  forward = _ref.forward;
536
539
  if (networkError && isHttpError(networkError) && networkError.statusCode === constants.STATUS_CODES.UNAUTHORIZED) {
537
- history__default["default"].push(`/logout?reason=${constants.LOGOUT_REASONS.UNAUTHORIZED}`);
540
+ history__default["default"].push("/logout?reason=".concat(constants.LOGOUT_REASONS.UNAUTHORIZED));
538
541
  return;
539
542
  }
540
543
 
@@ -546,7 +549,8 @@ const errorLink = error.onError(_ref => {
546
549
  const context = operation.getContext();
547
550
  if (graphQLErrors && isGraphQLError(graphQLErrors)) {
548
551
  for (const err of graphQLErrors) {
549
- const isNonAuthenticatedViaExtensionCode = err?.extensions?.code === 'UNAUTHENTICATED';
552
+ var _err$extensions;
553
+ const isNonAuthenticatedViaExtensionCode = (err === null || err === void 0 || (_err$extensions = err.extensions) === null || _err$extensions === void 0 ? void 0 : _err$extensions.code) === 'UNAUTHENTICATED';
550
554
  /**
551
555
  * NOTE:
552
556
  * Not not all GraphQL APIs expose an `extensions` field in
@@ -554,7 +558,7 @@ const errorLink = error.onError(_ref => {
554
558
  * property until they introduced support for the `extensions`
555
559
  * field.
556
560
  */
557
- const isNonAuthenticatedViaCode = err?.message === 'invalid_token';
561
+ const isNonAuthenticatedViaCode = (err === null || err === void 0 ? void 0 : err.message) === 'invalid_token';
558
562
  if ((isNonAuthenticatedViaExtensionCode || isNonAuthenticatedViaCode) && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
559
563
  operation.setContext(_ref2 => {
560
564
  let headers = _ref2.headers;
@@ -590,7 +594,8 @@ const errorLink = error.onError(_ref => {
590
594
 
591
595
  // Attempt to load the `teamId` from sessionStorage
592
596
  function selectTeamIdFromStorage() {
593
- return window.sessionStorage.getItem(constants.STORAGE_KEYS.ACTIVE_TEAM_ID) || window.app.__DEVELOPMENT__?.oidc?.teamId;
597
+ var _window$app$__DEVELOP;
598
+ return window.sessionStorage.getItem(constants.STORAGE_KEYS.ACTIVE_TEAM_ID) || ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP === void 0 || (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) === null || _window$app$__DEVELOP === void 0 ? void 0 : _window$app$__DEVELOP.teamId);
594
599
  }
595
600
 
596
601
  const staticUrlPathsInPositionOfProjectKey = ['login', 'logout', 'account'];
@@ -651,7 +656,7 @@ function getCorrelationId() {
651
656
 
652
657
  const createApolloContextForProxyForwardTo = proxyForwardTocontext => ({
653
658
  // Send the request to the forward-to endpoint.
654
- uri: `${getMcApiUrl()}/proxy/forward-to`,
659
+ uri: "".concat(getMcApiUrl(), "/proxy/forward-to"),
655
660
  // Custom properties to be used by the "header-link".
656
661
  forwardToConfig: proxyForwardTocontext,
657
662
  skipGraphQlTargetCheck: true
@@ -692,7 +697,7 @@ function selectUserLanguageFromStorage() {
692
697
  const getSessionToken = () => window.sessionStorage.getItem(constants.STORAGE_KEYS.SESSION_TOKEN);
693
698
  const setActiveSession = sessionToken => {
694
699
  if (!sessionToken) return;
695
- window.sessionStorage.setItem(constants.STORAGE_KEYS.SESSION_TOKEN, sessionToken ?? '');
700
+ window.sessionStorage.setItem(constants.STORAGE_KEYS.SESSION_TOKEN, sessionToken !== null && sessionToken !== void 0 ? sessionToken : '');
696
701
  window.localStorage.setItem(constants.STORAGE_KEYS.LOGIN_STRATEGY, constants.LOGIN_STRATEGY_OIDC);
697
702
  // Remove flag for original workflow
698
703
  window.localStorage.removeItem(constants.STORAGE_KEYS.IS_AUTHENTICATED);
@@ -714,7 +719,8 @@ const setSessionScope = scope => {
714
719
  window.sessionStorage.setItem(constants.STORAGE_KEYS.SESSION_SCOPE, scope);
715
720
  };
716
721
  const getSessionState = stateId => {
717
- const sessionStateKey = `${constants.STORAGE_KEYS.NONCE}_${stateId}`;
722
+ var _context;
723
+ const sessionStateKey = _concatInstanceProperty__default["default"](_context = "".concat(constants.STORAGE_KEYS.NONCE, "_")).call(_context, stateId);
718
724
  const unparsedSessionState = window.sessionStorage.getItem(sessionStateKey);
719
725
  if (unparsedSessionState) {
720
726
  try {
@@ -726,11 +732,13 @@ const getSessionState = stateId => {
726
732
  return null;
727
733
  };
728
734
  const setSessionState = (stateId, state) => {
729
- const sessionStateKey = `${constants.STORAGE_KEYS.NONCE}_${stateId}`;
735
+ var _context3;
736
+ const sessionStateKey = _concatInstanceProperty__default["default"](_context3 = "".concat(constants.STORAGE_KEYS.NONCE, "_")).call(_context3, stateId);
730
737
  window.sessionStorage.setItem(sessionStateKey, _JSON$stringify__default["default"](state));
731
738
  };
732
739
  const removeSessionState = stateId => {
733
- const sessionStateKey = `${constants.STORAGE_KEYS.NONCE}_${stateId}`;
740
+ var _context4;
741
+ const sessionStateKey = _concatInstanceProperty__default["default"](_context4 = "".concat(constants.STORAGE_KEYS.NONCE, "_")).call(_context4, stateId);
734
742
  window.sessionStorage.removeItem(sessionStateKey);
735
743
  };
736
744
 
@@ -752,13 +760,14 @@ var oidcStorage = /*#__PURE__*/Object.freeze({
752
760
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? _Reflect$construct__default["default"](o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
753
761
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
754
762
  function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
755
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
763
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
756
764
  let _userAgent$1;
757
765
  const getUserAgent$1 = () => {
758
766
  if (!_userAgent$1) {
767
+ var _window$app$applicati, _window$app;
759
768
  _userAgent$1 = createHttpUserAgent__default["default"]({
760
769
  name: 'unknown-http-client',
761
- libraryName: typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined
770
+ libraryName: typeof window !== 'undefined' ? (_window$app$applicati = (_window$app = window.app) === null || _window$app === void 0 ? void 0 : _window$app.applicationName) !== null && _window$app$applicati !== void 0 ? _window$app$applicati : 'unknown-application-name' : undefined
762
771
  });
763
772
  }
764
773
  return _userAgent$1;
@@ -766,48 +775,50 @@ const getUserAgent$1 = () => {
766
775
  const defaultForwardToVersion = 'v2';
767
776
  const defaultForwardToAudiencePolicy = 'forward-url-full-path';
768
777
  function buildApiUrl(endpoint) {
778
+ var _context;
769
779
  const apiUrl = getMcApiUrl().replace(/\/$/, '');
770
- return `${apiUrl}${endpoint}`;
780
+ return _concatInstanceProperty__default["default"](_context = "".concat(apiUrl)).call(_context, endpoint);
771
781
  }
772
782
  const getAppliedForwardToHeaders = forwardToConfig => {
773
- var _context;
783
+ var _context2, _forwardToConfig$head, _forwardToConfig$vers, _forwardToConfig$audi;
774
784
  if (!forwardToConfig) {
775
785
  return {};
776
786
  }
777
787
  if (!forwardToConfig.uri) {
778
- throw new Error(`Missing required "uri" option.`);
788
+ throw new Error("Missing required \"uri\" option.");
779
789
  }
780
790
  const exchangeTokenClaims = [];
781
791
  if (forwardToConfig.includeUserPermissions) {
782
792
  exchangeTokenClaims.push('permissions');
783
793
  }
784
- return _objectSpread$2(_objectSpread$2({}, _reduceInstanceProperty__default["default"](_context = _Object$entries__default["default"](forwardToConfig.headers ?? {})).call(_context, (customForwardHeaders, _ref) => {
794
+ return _objectSpread$2(_objectSpread$2({}, _reduceInstanceProperty__default["default"](_context2 = _Object$entries__default["default"]((_forwardToConfig$head = forwardToConfig.headers) !== null && _forwardToConfig$head !== void 0 ? _forwardToConfig$head : {})).call(_context2, (customForwardHeaders, _ref) => {
785
795
  let _ref2 = _slicedToArray(_ref, 2),
786
796
  headerName = _ref2[0],
787
797
  headerValue = _ref2[1];
788
798
  return _objectSpread$2(_objectSpread$2({}, customForwardHeaders), {}, {
789
799
  // Prefix headers so that the MC API can allow and forward them.
790
- [`x-forward-header-${headerName}`]: headerValue
800
+ ["x-forward-header-".concat(headerName)]: headerValue
791
801
  });
792
802
  }, {})), {}, {
793
- [constants.SUPPORTED_HEADERS.ACCEPT_VERSION]: forwardToConfig.version ?? defaultForwardToVersion,
803
+ [constants.SUPPORTED_HEADERS.ACCEPT_VERSION]: (_forwardToConfig$vers = forwardToConfig.version) !== null && _forwardToConfig$vers !== void 0 ? _forwardToConfig$vers : defaultForwardToVersion,
794
804
  [constants.SUPPORTED_HEADERS.X_FORWARD_TO]: forwardToConfig.uri,
795
- [constants.SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY]: forwardToConfig.audiencePolicy ?? defaultForwardToAudiencePolicy,
805
+ [constants.SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY]: (_forwardToConfig$audi = forwardToConfig.audiencePolicy) !== null && _forwardToConfig$audi !== void 0 ? _forwardToConfig$audi : defaultForwardToAudiencePolicy,
796
806
  [constants.SUPPORTED_HEADERS.X_FORWARD_TO_CLAIMS]: exchangeTokenClaims.join(' ')
797
807
  });
798
808
  };
799
809
  function createHttpClientOptions() {
810
+ var _config$projectKey, _window$app$__DEVELOP;
800
811
  let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
801
812
  const sessionToken = getSessionToken();
802
- const projectKey = config.projectKey ?? selectProjectKeyFromUrl();
813
+ const projectKey = (_config$projectKey = config.projectKey) !== null && _config$projectKey !== void 0 ? _config$projectKey : selectProjectKeyFromUrl();
803
814
  const userId = selectUserId();
804
- const userAgent = config?.userAgent || getUserAgent$1();
815
+ const userAgent = (config === null || config === void 0 ? void 0 : config.userAgent) || getUserAgent$1();
805
816
  return {
806
817
  credentials: 'include',
807
818
  headers: omitEmpty__default["default"](_objectSpread$2(_objectSpread$2({}, config.headers), {}, {
808
819
  // Required headers
809
820
  [constants.SUPPORTED_HEADERS.ACCEPT]: 'application/json',
810
- [constants.SUPPORTED_HEADERS.AUTHORIZATION]: sessionToken ? `Bearer ${sessionToken}` : undefined,
821
+ [constants.SUPPORTED_HEADERS.AUTHORIZATION]: sessionToken ? "Bearer ".concat(sessionToken) : undefined,
811
822
  [constants.SUPPORTED_HEADERS.X_APPLICATION_ID]: window.app.applicationIdentifier,
812
823
  [constants.SUPPORTED_HEADERS.X_CUSTOM_VIEW_ID]: window.app.customViewId,
813
824
  [constants.SUPPORTED_HEADERS.X_CORRELATION_ID]: getCorrelationId({
@@ -816,7 +827,7 @@ function createHttpClientOptions() {
816
827
  [constants.SUPPORTED_HEADERS.X_PROJECT_KEY]: projectKey,
817
828
  [constants.SUPPORTED_HEADERS.X_USER_AGENT]: userAgent,
818
829
  // MC Identity Login Mode Override header for development
819
- [constants.SUPPORTED_HEADERS.X_MC_IDENTITY_LOGIN_MODE_OVERRIDE]: window.app.__DEVELOPMENT__?.mcIdentityLoginModeOverride
830
+ [constants.SUPPORTED_HEADERS.X_MC_IDENTITY_LOGIN_MODE_OVERRIDE]: (_window$app$__DEVELOP = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP === void 0 ? void 0 : _window$app$__DEVELOP.mcIdentityLoginModeOverride
820
831
  }, getAppliedForwardToHeaders(config.forwardToConfig)))
821
832
  };
822
833
  }
@@ -847,7 +858,7 @@ async function executeHttpClientRequest(fetcher) {
847
858
  }))
848
859
  }));
849
860
  if (response.statusCode === constants.STATUS_CODES.UNAUTHORIZED) {
850
- throw new RenewTokenError(`Unauthorized response, attempting retry.`);
861
+ throw new RenewTokenError("Unauthorized response, attempting retry.");
851
862
  }
852
863
 
853
864
  // In case a new session token is returned from the server, save it.
@@ -871,15 +882,15 @@ async function executeHttpClientRequest(fetcher) {
871
882
  }
872
883
 
873
884
  function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
874
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(t))).call(_context5, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
885
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(t), !0)).call(_context5, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context6 = ownKeys$1(Object(t))).call(_context6, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
875
886
  let _userAgent;
876
887
  const getUserAgent = () => {
877
888
  if (!_userAgent) {
878
- var _context;
889
+ var _context, _window$app$applicati, _window$app;
879
890
  _userAgent = createHttpUserAgent__default["default"]({
880
891
  name: 'apollo-client',
881
892
  // version: apolloVersion,
882
- libraryName: _filterInstanceProperty__default["default"](_context = [typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined, 'application-shell']).call(_context, Boolean).join('/'),
893
+ libraryName: _filterInstanceProperty__default["default"](_context = [typeof window !== 'undefined' ? (_window$app$applicati = (_window$app = window.app) === null || _window$app === void 0 ? void 0 : _window$app.applicationName) !== null && _window$app$applicati !== void 0 ? _window$app$applicati : 'unknown-application-name' : undefined, 'application-shell']).call(_context, Boolean).join('/'),
883
894
  libraryVersion: version,
884
895
  contactUrl: 'https://git.io/fjuyC',
885
896
  // points to the appkit repo issues
@@ -893,13 +904,18 @@ const isKnownGraphQlTarget = target => {
893
904
  return target ? _includesInstanceProperty__default["default"](_context2 = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context2, target) : false;
894
905
  };
895
906
  const extractSessionTokenFromResponse = context => {
896
- const refreshedSessionToken = context.response?.headers?.get('x-refreshed-session-token');
907
+ var _context$response, _context$restResponse;
908
+ const refreshedSessionToken = (_context$response = context.response) === null || _context$response === void 0 || (_context$response = _context$response.headers) === null || _context$response === void 0 ? void 0 : _context$response.get('x-refreshed-session-token');
897
909
  if (refreshedSessionToken) {
898
- return refreshedSessionToken ?? null;
910
+ return refreshedSessionToken !== null && refreshedSessionToken !== void 0 ? refreshedSessionToken : null;
899
911
  }
900
- const restResponseWithRefreshTokenHeader = context.restResponses?.find(response => response.headers?.has('x-refreshed-session-token'));
912
+ const restResponseWithRefreshTokenHeader = (_context$restResponse = context.restResponses) === null || _context$restResponse === void 0 ? void 0 : _findInstanceProperty__default["default"](_context$restResponse).call(_context$restResponse, response => {
913
+ var _response$headers;
914
+ return (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.has('x-refreshed-session-token');
915
+ });
901
916
  if (restResponseWithRefreshTokenHeader) {
902
- return restResponseWithRefreshTokenHeader.headers.get('x-refreshed-session-token') ?? null;
917
+ var _restResponseWithRefr;
918
+ return (_restResponseWithRefr = restResponseWithRefreshTokenHeader.headers.get('x-refreshed-session-token')) !== null && _restResponseWithRefr !== void 0 ? _restResponseWithRefr : null;
903
919
  }
904
920
  return null;
905
921
  };
@@ -907,11 +923,11 @@ const extractSessionTokenFromResponse = context => {
907
923
  /* eslint-disable import/prefer-default-export */
908
924
  // Use a middleware to update the request headers with the correct params.
909
925
  const headerLink = new client.ApolloLink((operation, forward) => {
910
- var _context3;
926
+ var _context3, _context4;
911
927
  const apolloContext = operation.getContext();
912
928
  const variables = operation.variables;
913
929
  const graphQlTarget = apolloContext.target || variables.target;
914
- if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(`GraphQL target "${graphQlTarget}" is missing (or is not supported) in operation "${operation.operationName}"`);
930
+ if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty__default["default"](_context3 = "GraphQL target \"".concat(graphQlTarget, "\" is missing (or is not supported) in operation \"")).call(_context3, operation.operationName, "\""));
915
931
 
916
932
  /**
917
933
  * NOTE:
@@ -938,7 +954,7 @@ const headerLink = new client.ApolloLink((operation, forward) => {
938
954
  forwardToConfig: apolloContext.forwardToConfig,
939
955
  projectKey
940
956
  }));
941
- return _mapInstanceProperty__default["default"](_context3 = forward(operation)).call(_context3, response => {
957
+ return _mapInstanceProperty__default["default"](_context4 = forward(operation)).call(_context4, response => {
942
958
  const context = operation.getContext();
943
959
  const refreshedSessionToken = extractSessionTokenFromResponse(context);
944
960
  if (refreshedSessionToken) {
@@ -951,7 +967,7 @@ const headerLink = new client.ApolloLink((operation, forward) => {
951
967
  const tokenRetryLink = new retry.RetryLink({
952
968
  attempts: (count, operation, error) => {
953
969
  const context = operation.getContext();
954
- if (error?.statusCode === constants.STATUS_CODES.UNAUTHORIZED && count === 1 && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
970
+ if ((error === null || error === void 0 ? void 0 : error.statusCode) === constants.STATUS_CODES.UNAUTHORIZED && count === 1 && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
955
971
  operation.setContext(_ref => {
956
972
  let headers = _ref.headers;
957
973
  return {
@@ -969,7 +985,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _co
969
985
  const createApolloLink = function () {
970
986
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
971
987
  const httpLink = client.createHttpLink({
972
- uri: `${getMcApiUrl()}/graphql`,
988
+ uri: "".concat(getMcApiUrl(), "/graphql"),
973
989
  fetch
974
990
  });
975
991
 
@@ -1013,8 +1029,9 @@ const mergeArraysObjects = function () {
1013
1029
  }, []);
1014
1030
  };
1015
1031
  const createApolloClient = function () {
1032
+ var _options$cache, _customCacheConfig$ty;
1016
1033
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1017
- const customCacheConfig = options?.cache ?? {};
1034
+ const customCacheConfig = (_options$cache = options === null || options === void 0 ? void 0 : options.cache) !== null && _options$cache !== void 0 ? _options$cache : {};
1018
1035
  return new client.ApolloClient({
1019
1036
  link: createApolloLink(options),
1020
1037
  // https://www.apollographql.com/docs/react/caching/cache-configuration/
@@ -1053,7 +1070,7 @@ const createApolloClient = function () {
1053
1070
  }
1054
1071
  }
1055
1072
  }
1056
- }, customCacheConfig.typePolicies ?? {})
1073
+ }, (_customCacheConfig$ty = customCacheConfig.typePolicies) !== null && _customCacheConfig$ty !== void 0 ? _customCacheConfig$ty : {})
1057
1074
  }))
1058
1075
  });
1059
1076
  };
@@ -11,6 +11,7 @@ import { createContext, useContext, useCallback, useEffect, useMemo } from 'reac
11
11
  import moment from 'moment-timezone';
12
12
  import { reportErrorToSentry } from '@commercetools-frontend/sentry';
13
13
  import _URL from '@babel/runtime-corejs3/core-js-stable/url';
14
+ import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
14
15
  import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
15
16
  import _reduceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/reduce';
16
17
  import _Object$entries from '@babel/runtime-corejs3/core-js-stable/object/entries';
@@ -43,7 +44,7 @@ import _JSON$stringify from '@babel/runtime-corejs3/core-js-stable/json/stringif
43
44
  import { RetryLink } from '@apollo/client/link/retry';
44
45
 
45
46
  // NOTE: This string will be replaced on build time with the package version.
46
- var version = "24.11.0";
47
+ var version = "24.12.0";
47
48
 
48
49
  // From https://github.com/acdlite/recompose/blob/master/src/packages/recompose/getDisplayName.js
49
50
  const getDisplayName = Component => {
@@ -65,9 +66,10 @@ const getMcOriginTld = host => {
65
66
  return host.replace(mcHostnameRegex, '$3');
66
67
  };
67
68
  const getMcApiUrlFromOrigin = origin => {
69
+ var _context;
68
70
  const url = new _URL(origin);
69
71
  const originTld = getMcOriginTld(url.host);
70
- return `${url.protocol}//mc-api.${originTld}`;
72
+ return _concatInstanceProperty(_context = "".concat(url.protocol, "//mc-api.")).call(_context, originTld);
71
73
  };
72
74
  const parseAsBoolean = value => value === true || value === 'true';
73
75
  function getMcApiUrl() {
@@ -299,9 +301,9 @@ const createApplicationContext = (environment, user, project, projectDataLocale)
299
301
  environment: mapEnvironmentToApplicationContextEnvironment(environment),
300
302
  user: mapUserToApplicationContextUser(user),
301
303
  project: mapProjectToApplicationContextProject(project),
302
- permissions: normalizeAllAppliedPermissions(project?.allAppliedPermissions),
303
- actionRights: normalizeAllAppliedActionRights(project?.allAppliedActionRights),
304
- dataFences: normalizeAllAppliedDataFences(project?.allAppliedDataFences),
304
+ permissions: normalizeAllAppliedPermissions(project === null || project === void 0 ? void 0 : project.allAppliedPermissions),
305
+ actionRights: normalizeAllAppliedActionRights(project === null || project === void 0 ? void 0 : project.allAppliedActionRights),
306
+ dataFences: normalizeAllAppliedDataFences(project === null || project === void 0 ? void 0 : project.allAppliedDataFences),
305
307
  dataLocale: projectDataLocale || null
306
308
  });
307
309
  const ApplicationContextProvider = props => jsx(Context$2.Provider, {
@@ -331,7 +333,7 @@ function withApplicationContext(mapApplicationContextToProps) {
331
333
  return jsx(Component, _objectSpread$6(_objectSpread$6({}, props), mappedProps));
332
334
  }
333
335
  });
334
- WrappedComponent.displayName = `withApplicationContext(${getDisplayName(Component)})`;
336
+ WrappedComponent.displayName = "withApplicationContext(".concat(getDisplayName(Component), ")");
335
337
  return WrappedComponent;
336
338
  };
337
339
  }
@@ -447,7 +449,7 @@ const ProjectExtensionProviderForImageRegex = props => {
447
449
  };
448
450
  ProjectExtensionProviderForImageRegex.displayName = 'ProjectExtensionProviderForImageRegex';
449
451
  const GetProjectExtensionImageRegex = props => {
450
- useWarning(false, `@commercetools-frontend/application-shell-connectors: It is not recommended to use the 'GetProjectExtensionImageRegex' anymore. Please use the 'useProjectExtensionImageRegex' hook instead.`);
452
+ useWarning(false, "@commercetools-frontend/application-shell-connectors: It is not recommended to use the 'GetProjectExtensionImageRegex' anymore. Please use the 'useProjectExtensionImageRegex' hook instead.");
451
453
  return jsx(Context.Consumer, {
452
454
  children: imageRegexContext => props.render(imageRegexContext)
453
455
  });
@@ -457,7 +459,7 @@ function withProjectExtensionImageRegex() {
457
459
  let propKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'imageRegexData';
458
460
  return Component => {
459
461
  const WrappedComponent = props => {
460
- useWarning(false, `@commercetools-frontend/application-shell-connectors: It is not recommended to use the 'withProjectExtensionImageRegex' high order component anymore. Please use the 'useProjectExtensionImageRegex' hook instead.`);
462
+ useWarning(false, "@commercetools-frontend/application-shell-connectors: It is not recommended to use the 'withProjectExtensionImageRegex' high order component anymore. Please use the 'useProjectExtensionImageRegex' hook instead.");
461
463
  const imageregexContext = useProjectExtensionImageRegex();
462
464
  return jsx(GetProjectExtensionImageRegex, {
463
465
  render: () =>
@@ -467,7 +469,7 @@ function withProjectExtensionImageRegex() {
467
469
  }))
468
470
  });
469
471
  };
470
- WrappedComponent.displayName = `withProjectExtensionImageRegex(${getDisplayName(Component)})`;
472
+ WrappedComponent.displayName = "withProjectExtensionImageRegex(".concat(getDisplayName(Component), ")");
471
473
  return WrappedComponent;
472
474
  };
473
475
  }
@@ -488,8 +490,8 @@ const forwardTokenRetryHeader = headers => _objectSpread$3(_objectSpread$3({}, h
488
490
  // so that the MC BE can issue a new token.
489
491
  // NOTE: the retry is not meant to work for the MC access token.
490
492
  const getDoesGraphQLTargetSupportTokenRetry = context => {
491
- var _context;
492
- const graphQLTarget = context.headers?.[SUPPORTED_HEADERS.X_GRAPHQL_TARGET] || context.headers?.[SUPPORTED_HEADERS.X_GRAPHQL_TARGET.toLowerCase()];
493
+ var _context$headers, _context$headers2, _context;
494
+ const graphQLTarget = ((_context$headers = context.headers) === null || _context$headers === void 0 ? void 0 : _context$headers[SUPPORTED_HEADERS.X_GRAPHQL_TARGET]) || ((_context$headers2 = context.headers) === null || _context$headers2 === void 0 ? void 0 : _context$headers2[SUPPORTED_HEADERS.X_GRAPHQL_TARGET.toLowerCase()]);
493
495
  return Boolean(graphQLTarget && _includesInstanceProperty(_context = [GRAPHQL_TARGETS.COMMERCETOOLS_PLATFORM, GRAPHQL_TARGETS.ADMINISTRATION_SERVICE, GRAPHQL_TARGETS.SETTINGS_SERVICE, GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND]).call(_context, graphQLTarget));
494
496
  };
495
497
  const isHttpError = error => error.statusCode !== undefined || error.statusCode !== undefined;
@@ -503,7 +505,7 @@ const errorLink = onError(_ref => {
503
505
  operation = _ref.operation,
504
506
  forward = _ref.forward;
505
507
  if (networkError && isHttpError(networkError) && networkError.statusCode === STATUS_CODES.UNAUTHORIZED) {
506
- history.push(`/logout?reason=${LOGOUT_REASONS.UNAUTHORIZED}`);
508
+ history.push("/logout?reason=".concat(LOGOUT_REASONS.UNAUTHORIZED));
507
509
  return;
508
510
  }
509
511
 
@@ -515,7 +517,8 @@ const errorLink = onError(_ref => {
515
517
  const context = operation.getContext();
516
518
  if (graphQLErrors && isGraphQLError(graphQLErrors)) {
517
519
  for (const err of graphQLErrors) {
518
- const isNonAuthenticatedViaExtensionCode = err?.extensions?.code === 'UNAUTHENTICATED';
520
+ var _err$extensions;
521
+ const isNonAuthenticatedViaExtensionCode = (err === null || err === void 0 || (_err$extensions = err.extensions) === null || _err$extensions === void 0 ? void 0 : _err$extensions.code) === 'UNAUTHENTICATED';
519
522
  /**
520
523
  * NOTE:
521
524
  * Not not all GraphQL APIs expose an `extensions` field in
@@ -523,7 +526,7 @@ const errorLink = onError(_ref => {
523
526
  * property until they introduced support for the `extensions`
524
527
  * field.
525
528
  */
526
- const isNonAuthenticatedViaCode = err?.message === 'invalid_token';
529
+ const isNonAuthenticatedViaCode = (err === null || err === void 0 ? void 0 : err.message) === 'invalid_token';
527
530
  if ((isNonAuthenticatedViaExtensionCode || isNonAuthenticatedViaCode) && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
528
531
  operation.setContext(_ref2 => {
529
532
  let headers = _ref2.headers;
@@ -559,7 +562,8 @@ const errorLink = onError(_ref => {
559
562
 
560
563
  // Attempt to load the `teamId` from sessionStorage
561
564
  function selectTeamIdFromStorage() {
562
- return window.sessionStorage.getItem(STORAGE_KEYS.ACTIVE_TEAM_ID) || window.app.__DEVELOPMENT__?.oidc?.teamId;
565
+ var _window$app$__DEVELOP;
566
+ return window.sessionStorage.getItem(STORAGE_KEYS.ACTIVE_TEAM_ID) || ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP === void 0 || (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) === null || _window$app$__DEVELOP === void 0 ? void 0 : _window$app$__DEVELOP.teamId);
563
567
  }
564
568
 
565
569
  const staticUrlPathsInPositionOfProjectKey = ['login', 'logout', 'account'];
@@ -620,7 +624,7 @@ function getCorrelationId() {
620
624
 
621
625
  const createApolloContextForProxyForwardTo = proxyForwardTocontext => ({
622
626
  // Send the request to the forward-to endpoint.
623
- uri: `${getMcApiUrl()}/proxy/forward-to`,
627
+ uri: "".concat(getMcApiUrl(), "/proxy/forward-to"),
624
628
  // Custom properties to be used by the "header-link".
625
629
  forwardToConfig: proxyForwardTocontext,
626
630
  skipGraphQlTargetCheck: true
@@ -662,7 +666,7 @@ function selectUserLanguageFromStorage() {
662
666
  const getSessionToken = () => window.sessionStorage.getItem(STORAGE_KEYS.SESSION_TOKEN);
663
667
  const setActiveSession = sessionToken => {
664
668
  if (!sessionToken) return;
665
- window.sessionStorage.setItem(STORAGE_KEYS.SESSION_TOKEN, sessionToken ?? '');
669
+ window.sessionStorage.setItem(STORAGE_KEYS.SESSION_TOKEN, sessionToken !== null && sessionToken !== void 0 ? sessionToken : '');
666
670
  window.localStorage.setItem(STORAGE_KEYS.LOGIN_STRATEGY, LOGIN_STRATEGY_OIDC);
667
671
  // Remove flag for original workflow
668
672
  window.localStorage.removeItem(STORAGE_KEYS.IS_AUTHENTICATED);
@@ -684,7 +688,8 @@ const setSessionScope = scope => {
684
688
  window.sessionStorage.setItem(STORAGE_KEYS.SESSION_SCOPE, scope);
685
689
  };
686
690
  const getSessionState = stateId => {
687
- const sessionStateKey = `${STORAGE_KEYS.NONCE}_${stateId}`;
691
+ var _context;
692
+ const sessionStateKey = _concatInstanceProperty(_context = "".concat(STORAGE_KEYS.NONCE, "_")).call(_context, stateId);
688
693
  const unparsedSessionState = window.sessionStorage.getItem(sessionStateKey);
689
694
  if (unparsedSessionState) {
690
695
  try {
@@ -692,19 +697,22 @@ const getSessionState = stateId => {
692
697
  return parsedSessionState;
693
698
  } catch (error) {
694
699
  if (process.env.NODE_ENV !== 'production') {
700
+ var _context2;
695
701
  // eslint-disable-next-line no-console
696
- console.warn(`Cannot parse session state for "${sessionStateKey}".\n${unparsedSessionState}`);
702
+ console.warn(_concatInstanceProperty(_context2 = "Cannot parse session state for \"".concat(sessionStateKey, "\".\n")).call(_context2, unparsedSessionState));
697
703
  }
698
704
  }
699
705
  }
700
706
  return null;
701
707
  };
702
708
  const setSessionState = (stateId, state) => {
703
- const sessionStateKey = `${STORAGE_KEYS.NONCE}_${stateId}`;
709
+ var _context3;
710
+ const sessionStateKey = _concatInstanceProperty(_context3 = "".concat(STORAGE_KEYS.NONCE, "_")).call(_context3, stateId);
704
711
  window.sessionStorage.setItem(sessionStateKey, _JSON$stringify(state));
705
712
  };
706
713
  const removeSessionState = stateId => {
707
- const sessionStateKey = `${STORAGE_KEYS.NONCE}_${stateId}`;
714
+ var _context4;
715
+ const sessionStateKey = _concatInstanceProperty(_context4 = "".concat(STORAGE_KEYS.NONCE, "_")).call(_context4, stateId);
708
716
  window.sessionStorage.removeItem(sessionStateKey);
709
717
  };
710
718
 
@@ -726,13 +734,14 @@ var oidcStorage = /*#__PURE__*/Object.freeze({
726
734
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
727
735
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
728
736
  function ownKeys$2(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
729
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys$2(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys$2(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
737
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys$2(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys$2(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
730
738
  let _userAgent$1;
731
739
  const getUserAgent$1 = () => {
732
740
  if (!_userAgent$1) {
741
+ var _window$app$applicati, _window$app;
733
742
  _userAgent$1 = createHttpUserAgent({
734
743
  name: 'unknown-http-client',
735
- libraryName: typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined
744
+ libraryName: typeof window !== 'undefined' ? (_window$app$applicati = (_window$app = window.app) === null || _window$app === void 0 ? void 0 : _window$app.applicationName) !== null && _window$app$applicati !== void 0 ? _window$app$applicati : 'unknown-application-name' : undefined
736
745
  });
737
746
  }
738
747
  return _userAgent$1;
@@ -740,48 +749,50 @@ const getUserAgent$1 = () => {
740
749
  const defaultForwardToVersion = 'v2';
741
750
  const defaultForwardToAudiencePolicy = 'forward-url-full-path';
742
751
  function buildApiUrl(endpoint) {
752
+ var _context;
743
753
  const apiUrl = getMcApiUrl().replace(/\/$/, '');
744
- return `${apiUrl}${endpoint}`;
754
+ return _concatInstanceProperty(_context = "".concat(apiUrl)).call(_context, endpoint);
745
755
  }
746
756
  const getAppliedForwardToHeaders = forwardToConfig => {
747
- var _context;
757
+ var _context2, _forwardToConfig$head, _forwardToConfig$vers, _forwardToConfig$audi;
748
758
  if (!forwardToConfig) {
749
759
  return {};
750
760
  }
751
761
  if (!forwardToConfig.uri) {
752
- throw new Error(`Missing required "uri" option.`);
762
+ throw new Error("Missing required \"uri\" option.");
753
763
  }
754
764
  const exchangeTokenClaims = [];
755
765
  if (forwardToConfig.includeUserPermissions) {
756
766
  exchangeTokenClaims.push('permissions');
757
767
  }
758
- return _objectSpread$2(_objectSpread$2({}, _reduceInstanceProperty(_context = _Object$entries(forwardToConfig.headers ?? {})).call(_context, (customForwardHeaders, _ref) => {
768
+ return _objectSpread$2(_objectSpread$2({}, _reduceInstanceProperty(_context2 = _Object$entries((_forwardToConfig$head = forwardToConfig.headers) !== null && _forwardToConfig$head !== void 0 ? _forwardToConfig$head : {})).call(_context2, (customForwardHeaders, _ref) => {
759
769
  let _ref2 = _slicedToArray(_ref, 2),
760
770
  headerName = _ref2[0],
761
771
  headerValue = _ref2[1];
762
772
  return _objectSpread$2(_objectSpread$2({}, customForwardHeaders), {}, {
763
773
  // Prefix headers so that the MC API can allow and forward them.
764
- [`x-forward-header-${headerName}`]: headerValue
774
+ ["x-forward-header-".concat(headerName)]: headerValue
765
775
  });
766
776
  }, {})), {}, {
767
- [SUPPORTED_HEADERS.ACCEPT_VERSION]: forwardToConfig.version ?? defaultForwardToVersion,
777
+ [SUPPORTED_HEADERS.ACCEPT_VERSION]: (_forwardToConfig$vers = forwardToConfig.version) !== null && _forwardToConfig$vers !== void 0 ? _forwardToConfig$vers : defaultForwardToVersion,
768
778
  [SUPPORTED_HEADERS.X_FORWARD_TO]: forwardToConfig.uri,
769
- [SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY]: forwardToConfig.audiencePolicy ?? defaultForwardToAudiencePolicy,
779
+ [SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY]: (_forwardToConfig$audi = forwardToConfig.audiencePolicy) !== null && _forwardToConfig$audi !== void 0 ? _forwardToConfig$audi : defaultForwardToAudiencePolicy,
770
780
  [SUPPORTED_HEADERS.X_FORWARD_TO_CLAIMS]: exchangeTokenClaims.join(' ')
771
781
  });
772
782
  };
773
783
  function createHttpClientOptions() {
784
+ var _config$projectKey, _window$app$__DEVELOP;
774
785
  let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
775
786
  const sessionToken = getSessionToken();
776
- const projectKey = config.projectKey ?? selectProjectKeyFromUrl();
787
+ const projectKey = (_config$projectKey = config.projectKey) !== null && _config$projectKey !== void 0 ? _config$projectKey : selectProjectKeyFromUrl();
777
788
  const userId = selectUserId();
778
- const userAgent = config?.userAgent || getUserAgent$1();
789
+ const userAgent = (config === null || config === void 0 ? void 0 : config.userAgent) || getUserAgent$1();
779
790
  return {
780
791
  credentials: 'include',
781
792
  headers: omitEmpty(_objectSpread$2(_objectSpread$2({}, config.headers), {}, {
782
793
  // Required headers
783
794
  [SUPPORTED_HEADERS.ACCEPT]: 'application/json',
784
- [SUPPORTED_HEADERS.AUTHORIZATION]: sessionToken ? `Bearer ${sessionToken}` : undefined,
795
+ [SUPPORTED_HEADERS.AUTHORIZATION]: sessionToken ? "Bearer ".concat(sessionToken) : undefined,
785
796
  [SUPPORTED_HEADERS.X_APPLICATION_ID]: window.app.applicationIdentifier,
786
797
  [SUPPORTED_HEADERS.X_CUSTOM_VIEW_ID]: window.app.customViewId,
787
798
  [SUPPORTED_HEADERS.X_CORRELATION_ID]: getCorrelationId({
@@ -790,7 +801,7 @@ function createHttpClientOptions() {
790
801
  [SUPPORTED_HEADERS.X_PROJECT_KEY]: projectKey,
791
802
  [SUPPORTED_HEADERS.X_USER_AGENT]: userAgent,
792
803
  // MC Identity Login Mode Override header for development
793
- [SUPPORTED_HEADERS.X_MC_IDENTITY_LOGIN_MODE_OVERRIDE]: window.app.__DEVELOPMENT__?.mcIdentityLoginModeOverride
804
+ [SUPPORTED_HEADERS.X_MC_IDENTITY_LOGIN_MODE_OVERRIDE]: (_window$app$__DEVELOP = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP === void 0 ? void 0 : _window$app$__DEVELOP.mcIdentityLoginModeOverride
794
805
  }, getAppliedForwardToHeaders(config.forwardToConfig)))
795
806
  };
796
807
  }
@@ -821,7 +832,7 @@ async function executeHttpClientRequest(fetcher) {
821
832
  }))
822
833
  }));
823
834
  if (response.statusCode === STATUS_CODES.UNAUTHORIZED) {
824
- throw new RenewTokenError(`Unauthorized response, attempting retry.`);
835
+ throw new RenewTokenError("Unauthorized response, attempting retry.");
825
836
  }
826
837
 
827
838
  // In case a new session token is returned from the server, save it.
@@ -845,15 +856,15 @@ async function executeHttpClientRequest(fetcher) {
845
856
  }
846
857
 
847
858
  function ownKeys$1(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
848
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context4 = ownKeys$1(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context5 = ownKeys$1(Object(t))).call(_context5, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
859
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context5 = ownKeys$1(Object(t), !0)).call(_context5, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context6 = ownKeys$1(Object(t))).call(_context6, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
849
860
  let _userAgent;
850
861
  const getUserAgent = () => {
851
862
  if (!_userAgent) {
852
- var _context;
863
+ var _context, _window$app$applicati, _window$app;
853
864
  _userAgent = createHttpUserAgent({
854
865
  name: 'apollo-client',
855
866
  // version: apolloVersion,
856
- libraryName: _filterInstanceProperty(_context = [typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined, 'application-shell']).call(_context, Boolean).join('/'),
867
+ libraryName: _filterInstanceProperty(_context = [typeof window !== 'undefined' ? (_window$app$applicati = (_window$app = window.app) === null || _window$app === void 0 ? void 0 : _window$app.applicationName) !== null && _window$app$applicati !== void 0 ? _window$app$applicati : 'unknown-application-name' : undefined, 'application-shell']).call(_context, Boolean).join('/'),
857
868
  libraryVersion: version,
858
869
  contactUrl: 'https://git.io/fjuyC',
859
870
  // points to the appkit repo issues
@@ -867,13 +878,18 @@ const isKnownGraphQlTarget = target => {
867
878
  return target ? _includesInstanceProperty(_context2 = _Object$values(GRAPHQL_TARGETS)).call(_context2, target) : false;
868
879
  };
869
880
  const extractSessionTokenFromResponse = context => {
870
- const refreshedSessionToken = context.response?.headers?.get('x-refreshed-session-token');
881
+ var _context$response, _context$restResponse;
882
+ const refreshedSessionToken = (_context$response = context.response) === null || _context$response === void 0 || (_context$response = _context$response.headers) === null || _context$response === void 0 ? void 0 : _context$response.get('x-refreshed-session-token');
871
883
  if (refreshedSessionToken) {
872
- return refreshedSessionToken ?? null;
884
+ return refreshedSessionToken !== null && refreshedSessionToken !== void 0 ? refreshedSessionToken : null;
873
885
  }
874
- const restResponseWithRefreshTokenHeader = context.restResponses?.find(response => response.headers?.has('x-refreshed-session-token'));
886
+ const restResponseWithRefreshTokenHeader = (_context$restResponse = context.restResponses) === null || _context$restResponse === void 0 ? void 0 : _findInstanceProperty(_context$restResponse).call(_context$restResponse, response => {
887
+ var _response$headers;
888
+ return (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.has('x-refreshed-session-token');
889
+ });
875
890
  if (restResponseWithRefreshTokenHeader) {
876
- return restResponseWithRefreshTokenHeader.headers.get('x-refreshed-session-token') ?? null;
891
+ var _restResponseWithRefr;
892
+ return (_restResponseWithRefr = restResponseWithRefreshTokenHeader.headers.get('x-refreshed-session-token')) !== null && _restResponseWithRefr !== void 0 ? _restResponseWithRefr : null;
877
893
  }
878
894
  return null;
879
895
  };
@@ -881,11 +897,11 @@ const extractSessionTokenFromResponse = context => {
881
897
  /* eslint-disable import/prefer-default-export */
882
898
  // Use a middleware to update the request headers with the correct params.
883
899
  const headerLink = new ApolloLink((operation, forward) => {
884
- var _context3;
900
+ var _context3, _context4;
885
901
  const apolloContext = operation.getContext();
886
902
  const variables = operation.variables;
887
903
  const graphQlTarget = apolloContext.target || variables.target;
888
- if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(`GraphQL target "${graphQlTarget}" is missing (or is not supported) in operation "${operation.operationName}"`);
904
+ if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty(_context3 = "GraphQL target \"".concat(graphQlTarget, "\" is missing (or is not supported) in operation \"")).call(_context3, operation.operationName, "\""));
889
905
 
890
906
  /**
891
907
  * NOTE:
@@ -912,7 +928,7 @@ const headerLink = new ApolloLink((operation, forward) => {
912
928
  forwardToConfig: apolloContext.forwardToConfig,
913
929
  projectKey
914
930
  }));
915
- return _mapInstanceProperty(_context3 = forward(operation)).call(_context3, response => {
931
+ return _mapInstanceProperty(_context4 = forward(operation)).call(_context4, response => {
916
932
  const context = operation.getContext();
917
933
  const refreshedSessionToken = extractSessionTokenFromResponse(context);
918
934
  if (refreshedSessionToken) {
@@ -925,7 +941,7 @@ const headerLink = new ApolloLink((operation, forward) => {
925
941
  const tokenRetryLink = new RetryLink({
926
942
  attempts: (count, operation, error) => {
927
943
  const context = operation.getContext();
928
- if (error?.statusCode === STATUS_CODES.UNAUTHORIZED && count === 1 && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
944
+ if ((error === null || error === void 0 ? void 0 : error.statusCode) === STATUS_CODES.UNAUTHORIZED && count === 1 && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
929
945
  operation.setContext(_ref => {
930
946
  let headers = _ref.headers;
931
947
  return {
@@ -943,7 +959,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _co
943
959
  const createApolloLink = function () {
944
960
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
945
961
  const httpLink = createHttpLink({
946
- uri: `${getMcApiUrl()}/graphql`,
962
+ uri: "".concat(getMcApiUrl(), "/graphql"),
947
963
  fetch
948
964
  });
949
965
 
@@ -987,8 +1003,9 @@ const mergeArraysObjects = function () {
987
1003
  }, []);
988
1004
  };
989
1005
  const createApolloClient = function () {
1006
+ var _options$cache, _customCacheConfig$ty;
990
1007
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
991
- const customCacheConfig = options?.cache ?? {};
1008
+ const customCacheConfig = (_options$cache = options === null || options === void 0 ? void 0 : options.cache) !== null && _options$cache !== void 0 ? _options$cache : {};
992
1009
  return new ApolloClient({
993
1010
  link: createApolloLink(options),
994
1011
  // https://www.apollographql.com/docs/react/caching/cache-configuration/
@@ -1027,7 +1044,7 @@ const createApolloClient = function () {
1027
1044
  }
1028
1045
  }
1029
1046
  }
1030
- }, customCacheConfig.typePolicies ?? {})
1047
+ }, (_customCacheConfig$ty = customCacheConfig.typePolicies) !== null && _customCacheConfig$ty !== void 0 ? _customCacheConfig$ty : {})
1031
1048
  }))
1032
1049
  });
1033
1050
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools-frontend/application-shell-connectors",
3
- "version": "24.11.0",
3
+ "version": "24.12.0",
4
4
  "description": "Contains complementary tools for @commercetools-frontend/application-shell",
5
5
  "bugs": "https://github.com/commercetools/merchant-center-application-kit/issues",
6
6
  "repository": {
@@ -37,10 +37,10 @@
37
37
  "dependencies": {
38
38
  "@babel/runtime": "^7.22.15",
39
39
  "@babel/runtime-corejs3": "^7.22.15",
40
- "@commercetools-frontend/application-config": "24.11.0",
41
- "@commercetools-frontend/browser-history": "24.11.0",
42
- "@commercetools-frontend/constants": "24.11.0",
43
- "@commercetools-frontend/sentry": "24.11.0",
40
+ "@commercetools-frontend/application-config": "24.12.0",
41
+ "@commercetools-frontend/browser-history": "24.12.0",
42
+ "@commercetools-frontend/constants": "24.12.0",
43
+ "@commercetools-frontend/sentry": "24.12.0",
44
44
  "@commercetools/http-user-agent": "3.0.0",
45
45
  "@emotion/react": "^11.14.0",
46
46
  "@types/lodash": "^4.14.198",