@commercetools-frontend/application-shell 20.12.4 → 21.0.0-rc.3

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.
Files changed (58) hide show
  1. package/README.md +1 -1
  2. package/dist/{application-entry-point-9750a74f.esm.js → application-entry-point-4ef2cd89.esm.js} +67 -23
  3. package/dist/{application-entry-point-1531bd49.cjs.dev.js → application-entry-point-684d30f1.cjs.dev.js} +85 -41
  4. package/dist/{application-entry-point-27b46a9d.cjs.prod.js → application-entry-point-aeb8ef57.cjs.prod.js} +76 -41
  5. package/dist/commercetools-frontend-application-shell.cjs.dev.js +7 -7
  6. package/dist/commercetools-frontend-application-shell.cjs.prod.js +7 -7
  7. package/dist/commercetools-frontend-application-shell.esm.js +5 -5
  8. package/dist/declarations/src/components/app-bar/app-bar.d.ts +0 -2
  9. package/dist/declarations/src/components/application-entry-point/application-entry-point.d.ts +1 -0
  10. package/dist/declarations/src/components/application-shell/application-shell.d.ts +1 -3
  11. package/dist/declarations/src/components/application-shell-provider/use-coerced-environment-values.d.ts +1 -1
  12. package/dist/declarations/src/components/navbar/compiled/navbar.css.json.d.ts +1 -1
  13. package/dist/declarations/src/components/navbar/navbar.d.ts +0 -2
  14. package/dist/declarations/src/components/navbar/use-navbar-state-manager.d.ts +0 -2
  15. package/dist/declarations/src/components/project-container/project-container.d.ts +1 -0
  16. package/dist/declarations/src/components/user-settings-menu/user-settings-menu.d.ts +1 -4
  17. package/dist/declarations/src/hooks/use-applications-menu/use-applications-menu.d.ts +2 -3
  18. package/dist/declarations/src/test-utils/test-utils.d.ts +22 -6
  19. package/dist/formatters-1c23c0a9.esm.js +93 -0
  20. package/dist/{oidc-7e7761de.cjs.dev.js → formatters-a5bb12eb.cjs.prod.js} +52 -38
  21. package/dist/{oidc-be09bd90.cjs.prod.js → formatters-e4b9b9dc.cjs.dev.js} +52 -38
  22. package/dist/index-20accc34.cjs.dev.js +4592 -0
  23. package/dist/index-2ed9e466.esm.js +4519 -0
  24. package/dist/{index-9fb026f3.cjs.prod.js → index-7a56bcf7.cjs.prod.js} +121 -209
  25. package/dist/oidc-0f5f3c40.esm.js +39 -0
  26. package/dist/oidc-96d1b0dd.cjs.dev.js +46 -0
  27. package/dist/oidc-f15b3576.cjs.prod.js +46 -0
  28. package/dist/{project-expired-3759ef13.cjs.dev.js → project-expired-23986e27.cjs.prod.js} +10 -10
  29. package/dist/{project-expired-e0881f5d.esm.js → project-expired-636492de.esm.js} +10 -10
  30. package/dist/{project-expired-0015e695.cjs.prod.js → project-expired-bf97d316.cjs.dev.js} +10 -10
  31. package/dist/{project-not-found-2581e9da.cjs.dev.js → project-not-found-9cd66e2e.cjs.dev.js} +10 -10
  32. package/dist/{project-not-found-de559908.cjs.prod.js → project-not-found-aed705a5.cjs.prod.js} +10 -10
  33. package/dist/{project-not-found-9428c0f6.esm.js → project-not-found-f683495d.esm.js} +10 -10
  34. package/dist/{project-not-initialized-23176122.esm.js → project-not-initialized-0dd0af36.esm.js} +10 -10
  35. package/dist/{project-not-initialized-fc705645.cjs.dev.js → project-not-initialized-64d7c6c4.cjs.prod.js} +10 -10
  36. package/dist/{project-not-initialized-a4cd8649.cjs.prod.js → project-not-initialized-74b1d4f0.cjs.dev.js} +10 -10
  37. package/dist/{project-suspended-3292de13.esm.js → project-suspended-8613f5b0.esm.js} +10 -10
  38. package/dist/{project-suspended-2d044bbe.cjs.dev.js → project-suspended-cbd838b6.cjs.prod.js} +10 -10
  39. package/dist/{project-suspended-13c17047.cjs.prod.js → project-suspended-e25053f6.cjs.dev.js} +10 -10
  40. package/dist/{quick-access-d9768abe.cjs.dev.js → quick-access-099595d5.cjs.dev.js} +7 -7
  41. package/dist/{quick-access-dd969ed0.cjs.prod.js → quick-access-160ee728.cjs.prod.js} +7 -7
  42. package/dist/{quick-access-5dd5bec2.esm.js → quick-access-4ddb0aad.esm.js} +7 -7
  43. package/dist/{service-page-project-switcher-3b93b2f1.cjs.prod.js → service-page-project-switcher-91dc2d6b.cjs.prod.js} +1 -1
  44. package/dist/{service-page-project-switcher-f73afea1.esm.js → service-page-project-switcher-95af2b70.esm.js} +1 -1
  45. package/dist/{service-page-project-switcher-8c881917.cjs.dev.js → service-page-project-switcher-f4d306ff.cjs.dev.js} +1 -1
  46. package/package.json +31 -32
  47. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +4 -4
  48. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +4 -4
  49. package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -2
  50. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +45 -51
  51. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +44 -50
  52. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +42 -52
  53. package/dist/constants-33a16227.esm.js +0 -46
  54. package/dist/constants-745aeeca.cjs.prod.js +0 -54
  55. package/dist/constants-fdbe0e9d.cjs.dev.js +0 -54
  56. package/dist/index-e5a993b0.esm.js +0 -4611
  57. package/dist/index-e8b18306.cjs.dev.js +0 -4684
  58. package/dist/oidc-8e05c00e.esm.js +0 -84
@@ -35,7 +35,7 @@ var applicationShellConnectors = require('@commercetools-frontend/application-sh
35
35
  var reactNotifications = require('@commercetools-frontend/react-notifications');
36
36
  var constants = require('@commercetools-frontend/constants');
37
37
  var testUtils = require('@commercetools-frontend/sdk/test-utils');
38
- var applicationEntryPoint = require('../../dist/application-entry-point-27b46a9d.cjs.prod.js');
38
+ var applicationEntryPoint = require('../../dist/application-entry-point-aeb8ef57.cjs.prod.js');
39
39
  var jsxRuntime = require('@emotion/react/jsx-runtime');
40
40
  require('@babel/runtime-corejs3/helpers/slicedToArray');
41
41
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
@@ -46,7 +46,8 @@ require('redux-thunk');
46
46
  require('omit-empty-es');
47
47
  require('@commercetools-frontend/notifications');
48
48
  require('@commercetools-frontend/sdk');
49
- require('../../dist/constants-745aeeca.cjs.prod.js');
49
+ require('../../dist/formatters-a5bb12eb.cjs.prod.js');
50
+ require('lodash/upperFirst');
50
51
  require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
51
52
  require('@babel/runtime-corejs3/core-js-stable/instance/includes');
52
53
  require('redux-logger');
@@ -56,7 +57,6 @@ require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
56
57
  require('@babel/runtime-corejs3/core-js-stable/instance/slice');
57
58
  require('@commercetools-frontend/sentry');
58
59
  require('@babel/runtime-corejs3/core-js-stable/url');
59
- require('lodash/upperFirst');
60
60
  require('@babel/runtime-corejs3/core-js-stable/instance/find');
61
61
  require('@apollo/client');
62
62
  require('@commercetools/http-user-agent');
@@ -71,6 +71,7 @@ require('@babel/runtime-corejs3/core-js-stable/object/values');
71
71
  require('uuid');
72
72
  require('@babel/runtime-corejs3/core-js-stable/json/stringify');
73
73
  require('@apollo/client/link/retry');
74
+ require('@commercetools-frontend/permissions');
74
75
  require('@commercetools-frontend/application-components');
75
76
 
76
77
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
@@ -113,9 +114,9 @@ var rtlHooks__namespace = /*#__PURE__*/_interopNamespace(rtlHooks);
113
114
  var _excluded = ["children"],
114
115
  _excluded2 = ["children"];
115
116
 
116
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
117
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
117
118
 
118
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context14; _forEachInstanceProperty__default["default"](_context14 = ownKeys(Object(source), true)).call(_context14, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context15; _forEachInstanceProperty__default["default"](_context15 = ownKeys(Object(source))).call(_context15, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
119
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context15, _context16; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context15 = ownKeys(Object(source), !0)).call(_context15, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context16 = ownKeys(Object(source))).call(_context16, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
119
120
  var defaultProject = {
120
121
  key: 'test-with-big-data',
121
122
  version: 43,
@@ -144,12 +145,7 @@ var defaultProject = {
144
145
  allAppliedActionRights: [],
145
146
  allAppliedDataFences: [],
146
147
  allAppliedMenuVisibilities: []
147
- },
148
-
149
- /**
150
- * @deprecated: Use `{ allPermissionsForAllApplications: { allAppliedMenuVisibilities: [] } }`
151
- */
152
- allAppliedMenuVisibilities: []
148
+ }
153
149
  };
154
150
  var defaultUser = {
155
151
  id: 'user-id-1',
@@ -174,6 +170,7 @@ var defaultUser = {
174
170
  };
175
171
  var defaultEnvironment = {
176
172
  applicationName: 'my-app',
173
+ entryPointUriPath: 'random-entry-point',
177
174
  frontendHost: 'localhost:3001',
178
175
  mcApiUrl: 'https://mc-api.europe-west1.gcp.commercetools.com',
179
176
  location: 'eu',
@@ -264,6 +261,15 @@ var denormalizeDataFences = function denormalizeDataFences(dataFences) {
264
261
  }, []);
265
262
  };
266
263
 
264
+ var mapResourceAccessToAppliedPermissions = function mapResourceAccessToAppliedPermissions(resourceAccesses) {
265
+ return _mapInstanceProperty__default["default"](resourceAccesses).call(resourceAccesses, function (resourceAccess) {
266
+ return {
267
+ name: "can".concat(resourceAccess),
268
+ value: true
269
+ };
270
+ });
271
+ };
272
+
267
273
  var wrapIfNeeded = function wrapIfNeeded(children, wrapper) {
268
274
  return wrapper ? /*#__PURE__*/react.createElement(wrapper, null, children) : children;
269
275
  };
@@ -273,7 +279,7 @@ var ApolloProviderWrapper = function ApolloProviderWrapper(props) {
273
279
 
274
280
  var apolloClient = (_props$apolloClient = props.apolloClient) !== null && _props$apolloClient !== void 0 ? _props$apolloClient : applicationEntryPoint.createApolloClient();
275
281
 
276
- if (props.disableApolloMocks) {
282
+ if (!props.enableApolloMocks) {
277
283
  return (// eslint-disable-next-line testing-library/no-node-access
278
284
  jsxRuntime.jsx(react$1.ApolloProvider, {
279
285
  client: apolloClient,
@@ -307,66 +313,49 @@ ApolloProviderWrapper.propTypes = {};
307
313
 
308
314
  function createApplicationProviders() {
309
315
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
316
+ _ref$disableAutomatic = _ref.disableAutomaticEntryPointRoutes,
317
+ disableAutomaticEntryPointRoutes = _ref$disableAutomatic === void 0 ? false : _ref$disableAutomatic,
318
+ _ref$disableRoutePerm = _ref.disableRoutePermissionCheck,
319
+ disableRoutePermissionCheck = _ref$disableRoutePerm === void 0 ? false : _ref$disableRoutePerm,
310
320
  _ref$locale = _ref.locale,
311
321
  locale = _ref$locale === void 0 ? 'en' : _ref$locale,
312
322
  _ref$mocks = _ref.mocks,
313
323
  mocks = _ref$mocks === void 0 ? [] : _ref$mocks,
314
324
  apolloClient = _ref.apolloClient,
315
- _ref$disableApolloMoc = _ref.disableApolloMocks,
316
- disableApolloMocks = _ref$disableApolloMoc === void 0 ? false : _ref$disableApolloMoc,
317
- _ref$route = _ref.route,
318
- route = _ref$route === void 0 ? '/' : _ref$route,
319
- _ref$disableAutomatic = _ref.disableAutomaticEntryPointRoutes,
320
- disableAutomaticEntryPointRoutes = _ref$disableAutomatic === void 0 ? true : _ref$disableAutomatic,
321
- _ref$history = _ref.history,
322
- history$2 = _ref$history === void 0 ? history.createEnhancedHistory(history$1.createMemoryHistory({
323
- initialEntries: [route]
324
- })) : _ref$history,
325
+ _ref$enableApolloMock = _ref.enableApolloMocks,
326
+ enableApolloMocks = _ref$enableApolloMock === void 0 ? false : _ref$enableApolloMock,
327
+ route = _ref.route,
328
+ history$2 = _ref.history,
325
329
  _ref$flags = _flagsInstanceProperty__default["default"](_ref),
326
330
  flags = _ref$flags === void 0 ? {} : _ref$flags,
327
331
  environment = _ref.environment,
328
332
  user = _ref.user,
329
333
  project = _ref.project,
330
- permissions = _ref.permissions,
331
- actionRights = _ref.actionRights,
332
- dataFences = _ref.dataFences,
333
334
  _ref$dataLocale = _ref.dataLocale,
334
335
  dataLocale = _ref$dataLocale === void 0 ? 'en' : _ref$dataLocale;
335
336
 
336
337
  var mergedUser = user === null ? undefined : _objectSpread(_objectSpread({}, defaultUser), user);
338
+ var mergedProject = project === null ? undefined : _objectSpread(_objectSpread({}, defaultProject), project);
337
339
 
338
- var mergedProject = function () {
339
- if (project === null) {
340
- return undefined;
341
- }
340
+ var mergedEnvironment = _objectSpread(_objectSpread({}, defaultEnvironment), environment);
342
341
 
343
- var allAppliedPermissions = denormalizePermissions(permissions);
344
- var allAppliedActionRights = denormalizeActionRights(actionRights);
345
- var allAppliedDataFences = denormalizeDataFences(dataFences);
346
- return _objectSpread(_objectSpread(_objectSpread({}, defaultProject), project), {}, {
347
- allAppliedPermissions: allAppliedPermissions,
348
- allAppliedActionRights: allAppliedActionRights,
349
- allAppliedDataFences: allAppliedDataFences,
350
- allPermissionsForAllApplications: {
351
- allAppliedPermissions: allAppliedPermissions,
352
- allAppliedActionRights: allAppliedActionRights,
353
- allAppliedDataFences: allAppliedDataFences,
354
- allAppliedMenuVisibilities: []
355
- }
356
- });
357
- }();
342
+ var initialRoute = route;
358
343
 
359
- var mergedEnvironment = _objectSpread(_objectSpread({}, defaultEnvironment), environment);
344
+ if (!route && mergedProject) {
345
+ var _context14;
360
346
 
361
- if (!disableAutomaticEntryPointRoutes) {
362
- !Boolean(environment === null || environment === void 0 ? void 0 : environment.entryPointUriPath) ? invariant__default["default"](false) : void 0;
347
+ initialRoute = _concatInstanceProperty__default["default"](_context14 = "/".concat(mergedProject.key, "/")).call(_context14, mergedEnvironment.entryPointUriPath);
363
348
  }
364
349
 
350
+ var memoryHistory = history$2 !== null && history$2 !== void 0 ? history$2 : history.createEnhancedHistory(history$1.createMemoryHistory({
351
+ initialEntries: [initialRoute || '/']
352
+ }));
353
+
365
354
  var ApplicationProviders = function ApplicationProviders(props) {
366
355
  return jsxRuntime.jsx(reactIntl.IntlProvider, {
367
356
  locale: locale,
368
357
  children: jsxRuntime.jsx(ApolloProviderWrapper, {
369
- disableApolloMocks: disableApolloMocks,
358
+ enableApolloMocks: enableApolloMocks,
370
359
  apolloClient: apolloClient,
371
360
  mocks: mocks,
372
361
  children: jsxRuntime.jsx(reactBroadcast.TestProviderFlopFlip, {
@@ -377,11 +366,12 @@ function createApplicationProviders() {
377
366
  environment: mergedEnvironment,
378
367
  projectDataLocale: dataLocale,
379
368
  children: jsxRuntime.jsx(reactRouterDom.Router, {
380
- history: history$2,
369
+ history: memoryHistory,
381
370
  children: jsxRuntime.jsx(react.Suspense, {
382
371
  fallback: jsxRuntime.jsx(LoadingFallback, {}),
383
372
  children: jsxRuntime.jsx(applicationEntryPoint.ApplicationEntryPoint, {
384
373
  environment: mergedEnvironment,
374
+ disableRoutePermissionCheck: disableRoutePermissionCheck,
385
375
  render: disableAutomaticEntryPointRoutes ? // eslint-disable-next-line testing-library/no-node-access
386
376
  function () {
387
377
  return jsxRuntime.jsx(jsxRuntime.Fragment, {
@@ -405,7 +395,7 @@ function createApplicationProviders() {
405
395
  mergedUser: mergedUser,
406
396
  mergedProject: mergedProject,
407
397
  mergedEnvironment: mergedEnvironment,
408
- history: history$2
398
+ history: memoryHistory
409
399
  };
410
400
  } // Inspired by
411
401
  // https://github.com/kentcdodds/react-testing-library-course/blob/2a5b1560656790bb1d9c055fba3845780b2c2c97/src/__tests__/react-router-03.js
@@ -573,7 +563,11 @@ var hooks = _objectSpread(_objectSpread({}, rtlHooks__namespace), {}, {
573
563
  renderHook: renderHook
574
564
  });
575
565
 
566
+ exports.denormalizeActionRights = denormalizeActionRights;
567
+ exports.denormalizeDataFences = denormalizeDataFences;
568
+ exports.denormalizePermissions = denormalizePermissions;
576
569
  exports.hooks = hooks;
570
+ exports.mapResourceAccessToAppliedPermissions = mapResourceAccessToAppliedPermissions;
577
571
  exports.renderApp = renderApp;
578
572
  exports.renderAppWithRedux = renderAppWithRedux;
579
573
  Object.keys(rtl).forEach(function (k) {
@@ -32,7 +32,7 @@ import { ApplicationContextProvider } from '@commercetools-frontend/application-
32
32
  import { NotificationProviderForCustomComponent, NotificationsList } from '@commercetools-frontend/react-notifications';
33
33
  import { DOMAINS } from '@commercetools-frontend/constants';
34
34
  import { createTestMiddleware } from '@commercetools-frontend/sdk/test-utils';
35
- import { A as ApplicationEntryPoint, w as createReduxStore, f as createApolloClient } from '../../dist/application-entry-point-9750a74f.esm.js';
35
+ import { A as ApplicationEntryPoint, w as createReduxStore, f as createApolloClient } from '../../dist/application-entry-point-4ef2cd89.esm.js';
36
36
  import { jsx, Fragment, jsxs } from '@emotion/react/jsx-runtime';
37
37
  import '@babel/runtime-corejs3/helpers/slicedToArray';
38
38
  import '@babel/runtime-corejs3/core-js-stable/object/entries';
@@ -43,7 +43,8 @@ import 'redux-thunk';
43
43
  import 'omit-empty-es';
44
44
  import '@commercetools-frontend/notifications';
45
45
  import '@commercetools-frontend/sdk';
46
- import '../../dist/constants-33a16227.esm.js';
46
+ import '../../dist/formatters-1c23c0a9.esm.js';
47
+ import 'lodash/upperFirst';
47
48
  import '@babel/runtime-corejs3/core-js-stable/instance/starts-with';
48
49
  import '@babel/runtime-corejs3/core-js-stable/instance/includes';
49
50
  import 'redux-logger';
@@ -53,7 +54,6 @@ import '@babel/runtime-corejs3/core-js-stable/instance/index-of';
53
54
  import '@babel/runtime-corejs3/core-js-stable/instance/slice';
54
55
  import '@commercetools-frontend/sentry';
55
56
  import '@babel/runtime-corejs3/core-js-stable/url';
56
- import 'lodash/upperFirst';
57
57
  import '@babel/runtime-corejs3/core-js-stable/instance/find';
58
58
  import '@apollo/client';
59
59
  import '@commercetools/http-user-agent';
@@ -68,14 +68,15 @@ import '@babel/runtime-corejs3/core-js-stable/object/values';
68
68
  import 'uuid';
69
69
  import '@babel/runtime-corejs3/core-js-stable/json/stringify';
70
70
  import '@apollo/client/link/retry';
71
+ import '@commercetools-frontend/permissions';
71
72
  import '@commercetools-frontend/application-components';
72
73
 
73
74
  var _excluded = ["children"],
74
75
  _excluded2 = ["children"];
75
76
 
76
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
77
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
77
78
 
78
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context14; _forEachInstanceProperty(_context14 = ownKeys(Object(source), true)).call(_context14, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context15; _forEachInstanceProperty(_context15 = ownKeys(Object(source))).call(_context15, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
79
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context15, _context16; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context15 = ownKeys(Object(source), !0)).call(_context15, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context16 = ownKeys(Object(source))).call(_context16, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
79
80
  var defaultProject = {
80
81
  key: 'test-with-big-data',
81
82
  version: 43,
@@ -104,12 +105,7 @@ var defaultProject = {
104
105
  allAppliedActionRights: [],
105
106
  allAppliedDataFences: [],
106
107
  allAppliedMenuVisibilities: []
107
- },
108
-
109
- /**
110
- * @deprecated: Use `{ allPermissionsForAllApplications: { allAppliedMenuVisibilities: [] } }`
111
- */
112
- allAppliedMenuVisibilities: []
108
+ }
113
109
  };
114
110
  var defaultUser = {
115
111
  id: 'user-id-1',
@@ -134,6 +130,7 @@ var defaultUser = {
134
130
  };
135
131
  var defaultEnvironment = {
136
132
  applicationName: 'my-app',
133
+ entryPointUriPath: 'random-entry-point',
137
134
  frontendHost: 'localhost:3001',
138
135
  mcApiUrl: 'https://mc-api.europe-west1.gcp.commercetools.com',
139
136
  location: 'eu',
@@ -224,6 +221,15 @@ var denormalizeDataFences = function denormalizeDataFences(dataFences) {
224
221
  }, []);
225
222
  };
226
223
 
224
+ var mapResourceAccessToAppliedPermissions = function mapResourceAccessToAppliedPermissions(resourceAccesses) {
225
+ return _mapInstanceProperty(resourceAccesses).call(resourceAccesses, function (resourceAccess) {
226
+ return {
227
+ name: "can".concat(resourceAccess),
228
+ value: true
229
+ };
230
+ });
231
+ };
232
+
227
233
  var wrapIfNeeded = function wrapIfNeeded(children, wrapper) {
228
234
  return wrapper ? /*#__PURE__*/createElement(wrapper, null, children) : children;
229
235
  };
@@ -233,7 +239,7 @@ var ApolloProviderWrapper = function ApolloProviderWrapper(props) {
233
239
 
234
240
  var apolloClient = (_props$apolloClient = props.apolloClient) !== null && _props$apolloClient !== void 0 ? _props$apolloClient : createApolloClient();
235
241
 
236
- if (props.disableApolloMocks) {
242
+ if (!props.enableApolloMocks) {
237
243
  return (// eslint-disable-next-line testing-library/no-node-access
238
244
  jsx(ApolloProvider, {
239
245
  client: apolloClient,
@@ -266,72 +272,55 @@ var ApolloProviderWrapper = function ApolloProviderWrapper(props) {
266
272
  ApolloProviderWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
267
273
  apolloClient: _pt.any,
268
274
  mocks: _pt.any.isRequired,
269
- disableApolloMocks: _pt.bool.isRequired,
275
+ enableApolloMocks: _pt.bool.isRequired,
270
276
  children: _pt.element.isRequired
271
277
  } : {};
272
278
 
273
279
  function createApplicationProviders() {
274
280
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
281
+ _ref$disableAutomatic = _ref.disableAutomaticEntryPointRoutes,
282
+ disableAutomaticEntryPointRoutes = _ref$disableAutomatic === void 0 ? false : _ref$disableAutomatic,
283
+ _ref$disableRoutePerm = _ref.disableRoutePermissionCheck,
284
+ disableRoutePermissionCheck = _ref$disableRoutePerm === void 0 ? false : _ref$disableRoutePerm,
275
285
  _ref$locale = _ref.locale,
276
286
  locale = _ref$locale === void 0 ? 'en' : _ref$locale,
277
287
  _ref$mocks = _ref.mocks,
278
288
  mocks = _ref$mocks === void 0 ? [] : _ref$mocks,
279
289
  apolloClient = _ref.apolloClient,
280
- _ref$disableApolloMoc = _ref.disableApolloMocks,
281
- disableApolloMocks = _ref$disableApolloMoc === void 0 ? false : _ref$disableApolloMoc,
282
- _ref$route = _ref.route,
283
- route = _ref$route === void 0 ? '/' : _ref$route,
284
- _ref$disableAutomatic = _ref.disableAutomaticEntryPointRoutes,
285
- disableAutomaticEntryPointRoutes = _ref$disableAutomatic === void 0 ? true : _ref$disableAutomatic,
286
- _ref$history = _ref.history,
287
- history = _ref$history === void 0 ? createEnhancedHistory(createMemoryHistory({
288
- initialEntries: [route]
289
- })) : _ref$history,
290
+ _ref$enableApolloMock = _ref.enableApolloMocks,
291
+ enableApolloMocks = _ref$enableApolloMock === void 0 ? false : _ref$enableApolloMock,
292
+ route = _ref.route,
293
+ history = _ref.history,
290
294
  _ref$flags = _flagsInstanceProperty(_ref),
291
295
  flags = _ref$flags === void 0 ? {} : _ref$flags,
292
296
  environment = _ref.environment,
293
297
  user = _ref.user,
294
298
  project = _ref.project,
295
- permissions = _ref.permissions,
296
- actionRights = _ref.actionRights,
297
- dataFences = _ref.dataFences,
298
299
  _ref$dataLocale = _ref.dataLocale,
299
300
  dataLocale = _ref$dataLocale === void 0 ? 'en' : _ref$dataLocale;
300
301
 
301
302
  var mergedUser = user === null ? undefined : _objectSpread(_objectSpread({}, defaultUser), user);
303
+ var mergedProject = project === null ? undefined : _objectSpread(_objectSpread({}, defaultProject), project);
302
304
 
303
- var mergedProject = function () {
304
- if (project === null) {
305
- return undefined;
306
- }
305
+ var mergedEnvironment = _objectSpread(_objectSpread({}, defaultEnvironment), environment);
307
306
 
308
- var allAppliedPermissions = denormalizePermissions(permissions);
309
- var allAppliedActionRights = denormalizeActionRights(actionRights);
310
- var allAppliedDataFences = denormalizeDataFences(dataFences);
311
- return _objectSpread(_objectSpread(_objectSpread({}, defaultProject), project), {}, {
312
- allAppliedPermissions: allAppliedPermissions,
313
- allAppliedActionRights: allAppliedActionRights,
314
- allAppliedDataFences: allAppliedDataFences,
315
- allPermissionsForAllApplications: {
316
- allAppliedPermissions: allAppliedPermissions,
317
- allAppliedActionRights: allAppliedActionRights,
318
- allAppliedDataFences: allAppliedDataFences,
319
- allAppliedMenuVisibilities: []
320
- }
321
- });
322
- }();
307
+ var initialRoute = route;
323
308
 
324
- var mergedEnvironment = _objectSpread(_objectSpread({}, defaultEnvironment), environment);
309
+ if (!route && mergedProject) {
310
+ var _context14;
325
311
 
326
- if (!disableAutomaticEntryPointRoutes) {
327
- !Boolean(environment === null || environment === void 0 ? void 0 : environment.entryPointUriPath) ? process.env.NODE_ENV !== "production" ? invariant(false, '@commercetools-frontend/application-shell/test-utils: When the option "disableAutomaticEntryPointRoutes" is set to "false", you also need to provide the "environment.entryPointUriPath" in order for the routes to be correctly configured.') : invariant(false) : void 0;
312
+ initialRoute = _concatInstanceProperty(_context14 = "/".concat(mergedProject.key, "/")).call(_context14, mergedEnvironment.entryPointUriPath);
328
313
  }
329
314
 
315
+ var memoryHistory = history !== null && history !== void 0 ? history : createEnhancedHistory(createMemoryHistory({
316
+ initialEntries: [initialRoute || '/']
317
+ }));
318
+
330
319
  var ApplicationProviders = function ApplicationProviders(props) {
331
320
  return jsx(IntlProvider, {
332
321
  locale: locale,
333
322
  children: jsx(ApolloProviderWrapper, {
334
- disableApolloMocks: disableApolloMocks,
323
+ enableApolloMocks: enableApolloMocks,
335
324
  apolloClient: apolloClient,
336
325
  mocks: mocks,
337
326
  children: jsx(TestProviderFlopFlip, {
@@ -342,11 +331,12 @@ function createApplicationProviders() {
342
331
  environment: mergedEnvironment,
343
332
  projectDataLocale: dataLocale,
344
333
  children: jsx(Router, {
345
- history: history,
334
+ history: memoryHistory,
346
335
  children: jsx(Suspense, {
347
336
  fallback: jsx(LoadingFallback, {}),
348
337
  children: jsx(ApplicationEntryPoint, {
349
338
  environment: mergedEnvironment,
339
+ disableRoutePermissionCheck: disableRoutePermissionCheck,
350
340
  render: disableAutomaticEntryPointRoutes ? // eslint-disable-next-line testing-library/no-node-access
351
341
  function () {
352
342
  return jsx(Fragment, {
@@ -372,7 +362,7 @@ function createApplicationProviders() {
372
362
  mergedUser: mergedUser,
373
363
  mergedProject: mergedProject,
374
364
  mergedEnvironment: mergedEnvironment,
375
- history: history
365
+ history: memoryHistory
376
366
  };
377
367
  } // Inspired by
378
368
  // https://github.com/kentcdodds/react-testing-library-course/blob/2a5b1560656790bb1d9c055fba3845780b2c2c97/src/__tests__/react-router-03.js
@@ -542,4 +532,4 @@ var hooks = _objectSpread(_objectSpread({}, rtlHooks), {}, {
542
532
  renderHook: renderHook
543
533
  });
544
534
 
545
- export { hooks, renderApp, renderAppWithRedux };
535
+ export { denormalizeActionRights, denormalizeDataFences, denormalizePermissions, hooks, mapResourceAccessToAppliedPermissions, renderApp, renderAppWithRedux };
@@ -1,46 +0,0 @@
1
- var SUPPORTED_HEADERS = {
2
- ACCEPT_VERSION: 'Accept-version',
3
- AUTHORIZATION: 'Authorization',
4
- X_APPLICATION_ID: 'X-Application-Id',
5
- X_CORRELATION_ID: 'X-Correlation-Id',
6
- X_FEATURE_FLAG: 'X-Feature-Flag',
7
- X_FORWARD_TO: 'X-Forward-To',
8
- X_GRAPHQL_TARGET: 'X-Graphql-Target',
9
- X_GRAPHQL_OPERATION_NAME: 'X-Graphql-Operation-Name',
10
- X_PROJECT_KEY: 'X-Project-Key',
11
- X_TEAM_ID: 'X-Team-Id',
12
- X_TOKEN_RETRY: 'X-Force-Token'
13
- };
14
- var CONTAINERS = {
15
- LOCALE_SWITCHER: 'locale-switcher-container'
16
- };
17
- var STORAGE_KEYS = {
18
- NONCE: 'nonce',
19
- IS_AUTHENTICATED: 'isAuthenticated',
20
- SESSION_TOKEN: 'sessionToken',
21
- SESSION_SCOPE: 'sessionScope',
22
- ACTIVE_PROJECT_KEY: 'activeProjectKey',
23
- ACTIVE_TEAM_ID: 'activeTeamId',
24
- SELECTED_DATA_LOCALE: 'selectedDataLocale',
25
- IS_FORCED_MENU_OPEN: 'isForcedMenuOpen',
26
- LOGIN_STRATEGY: 'loginStrategy'
27
- };
28
- var SUSPENSION_REASONS = {
29
- TEMPORARY_MAINTENANCE: 'TemporaryMaintenance',
30
- PAYMENT: 'Payment',
31
- OTHER: 'Other'
32
- }; // SSO
33
- var LOGIN_STRATEGY_OIDC = 'oidc';
34
-
35
- var OIDC_RESPONSE_TYPES = {
36
- ID_TOKEN: 'id_token'
37
- };
38
- var OIDC_CLAIMS = {
39
- OPEN_ID: 'openid',
40
- PROJECT_KEY: 'project_key',
41
- TEAM_ID: 'team_id',
42
- VIEW: 'view',
43
- MANAGE: 'manage'
44
- };
45
-
46
- export { CONTAINERS as C, LOGIN_STRATEGY_OIDC as L, OIDC_CLAIMS as O, STORAGE_KEYS as S, SUSPENSION_REASONS as a, OIDC_RESPONSE_TYPES as b, SUPPORTED_HEADERS as c };
@@ -1,54 +0,0 @@
1
- 'use strict';
2
-
3
- var SUPPORTED_HEADERS = {
4
- ACCEPT_VERSION: 'Accept-version',
5
- AUTHORIZATION: 'Authorization',
6
- X_APPLICATION_ID: 'X-Application-Id',
7
- X_CORRELATION_ID: 'X-Correlation-Id',
8
- X_FEATURE_FLAG: 'X-Feature-Flag',
9
- X_FORWARD_TO: 'X-Forward-To',
10
- X_GRAPHQL_TARGET: 'X-Graphql-Target',
11
- X_GRAPHQL_OPERATION_NAME: 'X-Graphql-Operation-Name',
12
- X_PROJECT_KEY: 'X-Project-Key',
13
- X_TEAM_ID: 'X-Team-Id',
14
- X_TOKEN_RETRY: 'X-Force-Token'
15
- };
16
- var CONTAINERS = {
17
- LOCALE_SWITCHER: 'locale-switcher-container'
18
- };
19
- var STORAGE_KEYS = {
20
- NONCE: 'nonce',
21
- IS_AUTHENTICATED: 'isAuthenticated',
22
- SESSION_TOKEN: 'sessionToken',
23
- SESSION_SCOPE: 'sessionScope',
24
- ACTIVE_PROJECT_KEY: 'activeProjectKey',
25
- ACTIVE_TEAM_ID: 'activeTeamId',
26
- SELECTED_DATA_LOCALE: 'selectedDataLocale',
27
- IS_FORCED_MENU_OPEN: 'isForcedMenuOpen',
28
- LOGIN_STRATEGY: 'loginStrategy'
29
- };
30
- var SUSPENSION_REASONS = {
31
- TEMPORARY_MAINTENANCE: 'TemporaryMaintenance',
32
- PAYMENT: 'Payment',
33
- OTHER: 'Other'
34
- }; // SSO
35
- var LOGIN_STRATEGY_OIDC = 'oidc';
36
-
37
- var OIDC_RESPONSE_TYPES = {
38
- ID_TOKEN: 'id_token'
39
- };
40
- var OIDC_CLAIMS = {
41
- OPEN_ID: 'openid',
42
- PROJECT_KEY: 'project_key',
43
- TEAM_ID: 'team_id',
44
- VIEW: 'view',
45
- MANAGE: 'manage'
46
- };
47
-
48
- exports.CONTAINERS = CONTAINERS;
49
- exports.LOGIN_STRATEGY_OIDC = LOGIN_STRATEGY_OIDC;
50
- exports.OIDC_CLAIMS = OIDC_CLAIMS;
51
- exports.OIDC_RESPONSE_TYPES = OIDC_RESPONSE_TYPES;
52
- exports.STORAGE_KEYS = STORAGE_KEYS;
53
- exports.SUPPORTED_HEADERS = SUPPORTED_HEADERS;
54
- exports.SUSPENSION_REASONS = SUSPENSION_REASONS;
@@ -1,54 +0,0 @@
1
- 'use strict';
2
-
3
- var SUPPORTED_HEADERS = {
4
- ACCEPT_VERSION: 'Accept-version',
5
- AUTHORIZATION: 'Authorization',
6
- X_APPLICATION_ID: 'X-Application-Id',
7
- X_CORRELATION_ID: 'X-Correlation-Id',
8
- X_FEATURE_FLAG: 'X-Feature-Flag',
9
- X_FORWARD_TO: 'X-Forward-To',
10
- X_GRAPHQL_TARGET: 'X-Graphql-Target',
11
- X_GRAPHQL_OPERATION_NAME: 'X-Graphql-Operation-Name',
12
- X_PROJECT_KEY: 'X-Project-Key',
13
- X_TEAM_ID: 'X-Team-Id',
14
- X_TOKEN_RETRY: 'X-Force-Token'
15
- };
16
- var CONTAINERS = {
17
- LOCALE_SWITCHER: 'locale-switcher-container'
18
- };
19
- var STORAGE_KEYS = {
20
- NONCE: 'nonce',
21
- IS_AUTHENTICATED: 'isAuthenticated',
22
- SESSION_TOKEN: 'sessionToken',
23
- SESSION_SCOPE: 'sessionScope',
24
- ACTIVE_PROJECT_KEY: 'activeProjectKey',
25
- ACTIVE_TEAM_ID: 'activeTeamId',
26
- SELECTED_DATA_LOCALE: 'selectedDataLocale',
27
- IS_FORCED_MENU_OPEN: 'isForcedMenuOpen',
28
- LOGIN_STRATEGY: 'loginStrategy'
29
- };
30
- var SUSPENSION_REASONS = {
31
- TEMPORARY_MAINTENANCE: 'TemporaryMaintenance',
32
- PAYMENT: 'Payment',
33
- OTHER: 'Other'
34
- }; // SSO
35
- var LOGIN_STRATEGY_OIDC = 'oidc';
36
-
37
- var OIDC_RESPONSE_TYPES = {
38
- ID_TOKEN: 'id_token'
39
- };
40
- var OIDC_CLAIMS = {
41
- OPEN_ID: 'openid',
42
- PROJECT_KEY: 'project_key',
43
- TEAM_ID: 'team_id',
44
- VIEW: 'view',
45
- MANAGE: 'manage'
46
- };
47
-
48
- exports.CONTAINERS = CONTAINERS;
49
- exports.LOGIN_STRATEGY_OIDC = LOGIN_STRATEGY_OIDC;
50
- exports.OIDC_CLAIMS = OIDC_CLAIMS;
51
- exports.OIDC_RESPONSE_TYPES = OIDC_RESPONSE_TYPES;
52
- exports.STORAGE_KEYS = STORAGE_KEYS;
53
- exports.SUPPORTED_HEADERS = SUPPORTED_HEADERS;
54
- exports.SUSPENSION_REASONS = SUSPENSION_REASONS;