@commercetools-frontend/application-shell 0.0.0-CRAFT-1791-20251006162610

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 (217) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +7 -0
  3. package/dist/application-entry-point-10a5e1a5.esm.js +82 -0
  4. package/dist/application-entry-point-8c4b8e53.cjs.prod.js +86 -0
  5. package/dist/application-entry-point-c87294b0.cjs.dev.js +96 -0
  6. package/dist/box-09bf50e1.cjs.prod.js +30 -0
  7. package/dist/box-4857aa65.cjs.dev.js +30 -0
  8. package/dist/box-9cf180c1.esm.js +17 -0
  9. package/dist/cart-645074db.cjs.prod.js +30 -0
  10. package/dist/cart-b0044279.cjs.dev.js +30 -0
  11. package/dist/cart-bb491ca1.esm.js +17 -0
  12. package/dist/commercetools-frontend-application-shell.cjs.d.ts +2 -0
  13. package/dist/commercetools-frontend-application-shell.cjs.dev.js +214 -0
  14. package/dist/commercetools-frontend-application-shell.cjs.js +7 -0
  15. package/dist/commercetools-frontend-application-shell.cjs.prod.js +214 -0
  16. package/dist/commercetools-frontend-application-shell.esm.js +82 -0
  17. package/dist/connected-square-2d046cb8.cjs.prod.js +30 -0
  18. package/dist/connected-square-a2fea344.cjs.dev.js +30 -0
  19. package/dist/connected-square-fe6a790f.esm.js +17 -0
  20. package/dist/custom-view-dev-host-864a12e2.cjs.dev.js +197 -0
  21. package/dist/custom-view-dev-host-8e2f6aa7.cjs.prod.js +197 -0
  22. package/dist/custom-view-dev-host-d9c410aa.esm.js +186 -0
  23. package/dist/declarations/src/components/application-page-title/application-page-title.d.ts +24 -0
  24. package/dist/declarations/src/components/application-page-title/index.d.ts +1 -0
  25. package/dist/declarations/src/components/application-shell/application-shell.d.ts +45 -0
  26. package/dist/declarations/src/components/application-shell/index.d.ts +1 -0
  27. package/dist/declarations/src/components/application-shell-provider/application-shell-provider.d.ts +17 -0
  28. package/dist/declarations/src/components/application-shell-provider/index.d.ts +1 -0
  29. package/dist/declarations/src/components/application-shell-provider/utils.d.ts +3 -0
  30. package/dist/declarations/src/components/configure-intl-provider/configure-intl-provider.d.ts +12 -0
  31. package/dist/declarations/src/components/configure-intl-provider/index.d.ts +1 -0
  32. package/dist/declarations/src/components/custom-view-shell/custom-view-shell.d.ts +12 -0
  33. package/dist/declarations/src/components/custom-view-shell/index.d.ts +1 -0
  34. package/dist/declarations/src/components/error-apologizer/index.d.ts +5 -0
  35. package/dist/declarations/src/components/fetch-user/fetch-user.d.ts +16 -0
  36. package/dist/declarations/src/components/fetch-user/index.d.ts +1 -0
  37. package/dist/declarations/src/components/inject-reducers/index.d.ts +1 -0
  38. package/dist/declarations/src/components/inject-reducers/inject-reducers.d.ts +13 -0
  39. package/dist/declarations/src/components/redirect-to-login/index.d.ts +5 -0
  40. package/dist/declarations/src/components/redirect-to-logout/index.d.ts +4 -0
  41. package/dist/declarations/src/components/route-catch-all/index.d.ts +2 -0
  42. package/dist/declarations/src/components/setup-flop-flip-provider/index.d.ts +1 -0
  43. package/dist/declarations/src/components/setup-flop-flip-provider/setup-flop-flip-provider.d.ts +17 -0
  44. package/dist/declarations/src/components/suspended-route/index.d.ts +3 -0
  45. package/dist/declarations/src/components/suspended-route/protected-route.d.ts +7 -0
  46. package/dist/declarations/src/components/suspended-route/suspended-protected-route.d.ts +7 -0
  47. package/dist/declarations/src/components/suspended-route/suspended-route.d.ts +10 -0
  48. package/dist/declarations/src/configure-store.d.ts +22 -0
  49. package/dist/declarations/src/export-types.d.ts +8 -0
  50. package/dist/declarations/src/hooks/use-routes-creator/index.d.ts +1 -0
  51. package/dist/declarations/src/hooks/use-routes-creator/use-routes-creator.d.ts +22 -0
  52. package/dist/declarations/src/index.d.ts +33 -0
  53. package/dist/declarations/src/ssr/index.d.ts +2 -0
  54. package/dist/declarations/src/test-utils/custom-views-utils.d.ts +21 -0
  55. package/dist/declarations/src/test-utils/index.d.ts +2 -0
  56. package/dist/declarations/src/test-utils/test-utils.d.ts +87 -0
  57. package/dist/declarations/src/types/generated/mc.d.ts +742 -0
  58. package/dist/declarations/src/utils/get-previous-project-key/get-previous-project-key.d.ts +2 -0
  59. package/dist/declarations/src/utils/get-previous-project-key/index.d.ts +1 -0
  60. package/dist/declarations/src/utils/oidc.d.ts +10 -0
  61. package/dist/declarations/src/utils/setup-global-error-listener/index.d.ts +1 -0
  62. package/dist/declarations/src/utils/setup-global-error-listener/setup-global-error-listener.d.ts +1 -0
  63. package/dist/declarations/src/version.d.ts +2 -0
  64. package/dist/declarations-connectors/dist/commercetools-frontend-application-shell-connectors.cjs.d.ts +2 -0
  65. package/dist/declarations-connectors/src/components/application-context/application-context.d.ts +109 -0
  66. package/dist/declarations-connectors/src/components/application-context/index.d.ts +10 -0
  67. package/dist/declarations-connectors/src/components/application-context/normalizers.d.ts +48 -0
  68. package/dist/declarations-connectors/src/components/custom-view-context/custom-view-context.d.ts +19 -0
  69. package/dist/declarations-connectors/src/components/custom-view-context/index.d.ts +4 -0
  70. package/dist/declarations-connectors/src/components/project-extension-image-regex/index.d.ts +3 -0
  71. package/dist/declarations-connectors/src/components/project-extension-image-regex/project-extension-image-regex.d.ts +37 -0
  72. package/dist/declarations-connectors/src/configure-apollo.d.ts +7 -0
  73. package/dist/declarations-connectors/src/export-types.d.ts +21 -0
  74. package/dist/declarations-connectors/src/hooks/apollo-hooks/apollo-hooks.d.ts +12 -0
  75. package/dist/declarations-connectors/src/hooks/apollo-hooks/index.d.ts +1 -0
  76. package/dist/declarations-connectors/src/hooks/custom-views/use-custom-view-parent-data-refresher.d.ts +5 -0
  77. package/dist/declarations-connectors/src/index.d.ts +12 -0
  78. package/dist/declarations-connectors/src/types/generated/mc.d.ts +742 -0
  79. package/dist/declarations-connectors/src/types/generated/settings.d.ts +2116 -0
  80. package/dist/declarations-connectors/src/utils/apollo-client-runtime-cache.d.ts +4 -0
  81. package/dist/declarations-connectors/src/utils/apollo-context.d.ts +16 -0
  82. package/dist/declarations-connectors/src/utils/get-correlation-id/get-correlation-id.d.ts +3 -0
  83. package/dist/declarations-connectors/src/utils/get-correlation-id/index.d.ts +1 -0
  84. package/dist/declarations-connectors/src/utils/get-mc-api-url/get-mc-api-url.d.ts +3 -0
  85. package/dist/declarations-connectors/src/utils/get-mc-api-url/index.d.ts +1 -0
  86. package/dist/declarations-connectors/src/utils/http-client.d.ts +107 -0
  87. package/dist/declarations-connectors/src/utils/index.d.ts +7 -0
  88. package/dist/declarations-connectors/src/utils/logger.d.ts +10 -0
  89. package/dist/declarations-connectors/src/utils/oidc-storage.d.ts +12 -0
  90. package/dist/declarations-connectors/src/utils/select-project-key-from-url/index.d.ts +1 -0
  91. package/dist/declarations-connectors/src/utils/select-project-key-from-url/select-project-key-from-url.d.ts +1 -0
  92. package/dist/declarations-connectors/src/utils/select-team-id-from-storage/index.d.ts +1 -0
  93. package/dist/declarations-connectors/src/utils/select-team-id-from-storage/select-team-id-from-storage.d.ts +1 -0
  94. package/dist/declarations-connectors/src/utils/select-user-id/index.d.ts +1 -0
  95. package/dist/declarations-connectors/src/utils/select-user-id/select-user-id.d.ts +1 -0
  96. package/dist/declarations-connectors/src/version.d.ts +2 -0
  97. package/dist/error-apologizer-76f087f4.esm.js +39 -0
  98. package/dist/error-apologizer-84dc825c.cjs.prod.js +53 -0
  99. package/dist/error-apologizer-f6793491.cjs.dev.js +53 -0
  100. package/dist/gear-4f7cde98.cjs.prod.js +30 -0
  101. package/dist/gear-ee90ba83.esm.js +17 -0
  102. package/dist/gear-f2668579.cjs.dev.js +30 -0
  103. package/dist/get-mc-origin-8f7a578c.cjs.prod.js +51 -0
  104. package/dist/get-mc-origin-a86dff20.cjs.dev.js +51 -0
  105. package/dist/get-mc-origin-fecfee07.esm.js +44 -0
  106. package/dist/heart-01f01038.cjs.prod.js +30 -0
  107. package/dist/heart-86f780f3.esm.js +17 -0
  108. package/dist/heart-e49dd92a.cjs.dev.js +30 -0
  109. package/dist/index-245e2980.cjs.prod.js +237 -0
  110. package/dist/index-60cd194b.cjs.prod.js +2053 -0
  111. package/dist/index-614accc4.cjs.dev.js +237 -0
  112. package/dist/index-86039df7.esm.js +211 -0
  113. package/dist/index-8637a317.esm.js +2072 -0
  114. package/dist/index-f0f4fbcd.cjs.dev.js +2134 -0
  115. package/dist/list-with-search-027ab8eb.cjs.dev.js +30 -0
  116. package/dist/list-with-search-6462447e.cjs.prod.js +30 -0
  117. package/dist/list-with-search-d2901e34.esm.js +17 -0
  118. package/dist/location-537e0660.cjs.prod.js +32 -0
  119. package/dist/location-c835b8df.cjs.dev.js +32 -0
  120. package/dist/location-f21dbc25.esm.js +30 -0
  121. package/dist/navbar-022383bd.cjs.dev.js +1364 -0
  122. package/dist/navbar-844d350d.esm.js +1332 -0
  123. package/dist/navbar-acc2cd1b.cjs.prod.js +1225 -0
  124. package/dist/oidc-8827f9fe.cjs.dev.js +98 -0
  125. package/dist/oidc-b2520905.esm.js +84 -0
  126. package/dist/oidc-callback-2800b1f0.cjs.prod.js +243 -0
  127. package/dist/oidc-callback-5213e755.cjs.dev.js +246 -0
  128. package/dist/oidc-callback-619f18d9.esm.js +232 -0
  129. package/dist/oidc-d74e6aa2.cjs.prod.js +98 -0
  130. package/dist/paperclip-005ec544.cjs.dev.js +30 -0
  131. package/dist/paperclip-a820ee87.esm.js +17 -0
  132. package/dist/paperclip-fe72a70d.cjs.prod.js +30 -0
  133. package/dist/plugin-81ae1044.cjs.prod.js +30 -0
  134. package/dist/plugin-c7bf9e53.esm.js +17 -0
  135. package/dist/plugin-feb22442.cjs.dev.js +30 -0
  136. package/dist/project-container-22619059.cjs.prod.js +378 -0
  137. package/dist/project-container-96f2d671.cjs.dev.js +378 -0
  138. package/dist/project-container-ef2dfb60.esm.js +357 -0
  139. package/dist/project-expired-8c4cd8a0.cjs.dev.js +137 -0
  140. package/dist/project-expired-9994ed78.cjs.prod.js +137 -0
  141. package/dist/project-expired-dc881501.esm.js +123 -0
  142. package/dist/project-not-found-3933434f.cjs.prod.js +130 -0
  143. package/dist/project-not-found-3a76e8d7.cjs.dev.js +130 -0
  144. package/dist/project-not-found-57a3a216.esm.js +116 -0
  145. package/dist/project-not-initialized-2eebb2c7.esm.js +123 -0
  146. package/dist/project-not-initialized-3cfd0aed.cjs.dev.js +137 -0
  147. package/dist/project-not-initialized-91af2604.cjs.prod.js +137 -0
  148. package/dist/project-suspended-0c98a90e.cjs.dev.js +135 -0
  149. package/dist/project-suspended-dddbda8b.cjs.prod.js +135 -0
  150. package/dist/project-suspended-eeb5f62e.esm.js +121 -0
  151. package/dist/quick-access-1475bad4.cjs.dev.js +1893 -0
  152. package/dist/quick-access-ba70983f.cjs.prod.js +1875 -0
  153. package/dist/quick-access-d2f9b458.esm.js +1865 -0
  154. package/dist/redirect-to-login-12f467b8.cjs.prod.js +117 -0
  155. package/dist/redirect-to-login-2944c890.esm.js +115 -0
  156. package/dist/redirect-to-login-3bee13ba.cjs.dev.js +117 -0
  157. package/dist/redirect-to-logout-4587f4ed.cjs.dev.js +126 -0
  158. package/dist/redirect-to-logout-7bb3eb45.esm.js +113 -0
  159. package/dist/redirect-to-logout-a96985ce.cjs.prod.js +126 -0
  160. package/dist/redirect-to-project-create-9249e554.esm.js +60 -0
  161. package/dist/redirect-to-project-create-e4ff7797.cjs.prod.js +68 -0
  162. package/dist/redirect-to-project-create-f4f01842.cjs.dev.js +68 -0
  163. package/dist/redirector-0c72d0a4.cjs.prod.js +61 -0
  164. package/dist/redirector-72ccfbc2.cjs.dev.js +61 -0
  165. package/dist/redirector-d856975f.esm.js +46 -0
  166. package/dist/requests-in-flight-loader-0594117d.cjs.dev.js +122 -0
  167. package/dist/requests-in-flight-loader-59e8fb86.esm.js +107 -0
  168. package/dist/requests-in-flight-loader-a8288906.cjs.prod.js +122 -0
  169. package/dist/rocket-3372731a.cjs.dev.js +30 -0
  170. package/dist/rocket-bacf24be.esm.js +17 -0
  171. package/dist/rocket-cb99be06.cjs.prod.js +30 -0
  172. package/dist/route-catch-all-7803b1fd.esm.js +42 -0
  173. package/dist/route-catch-all-8e71a93c.cjs.prod.js +44 -0
  174. package/dist/route-catch-all-b979e1fd.cjs.dev.js +44 -0
  175. package/dist/service-page-project-switcher-37faf2fb.cjs.prod.js +37 -0
  176. package/dist/service-page-project-switcher-47296fb1.esm.js +39 -0
  177. package/dist/service-page-project-switcher-6cdff717.cjs.dev.js +45 -0
  178. package/dist/speedometer-26f52e73.cjs.prod.js +30 -0
  179. package/dist/speedometer-4c8e0b9c.esm.js +17 -0
  180. package/dist/speedometer-c1ec5a1d.cjs.dev.js +30 -0
  181. package/dist/star-6b9a91d2.cjs.dev.js +30 -0
  182. package/dist/star-af90a9c6.esm.js +17 -0
  183. package/dist/star-e4902bbb.cjs.prod.js +30 -0
  184. package/dist/tag-multi-1c065f61.cjs.prod.js +30 -0
  185. package/dist/tag-multi-4c2742de.esm.js +17 -0
  186. package/dist/tag-multi-abef3e15.cjs.dev.js +30 -0
  187. package/dist/tree-structure-3ec98cce.cjs.prod.js +30 -0
  188. package/dist/tree-structure-96ab0b7e.cjs.dev.js +30 -0
  189. package/dist/tree-structure-ca0498a0.esm.js +17 -0
  190. package/dist/use-applications-menu-14a5a1f4.cjs.prod.js +172 -0
  191. package/dist/use-applications-menu-1514af11.esm.js +157 -0
  192. package/dist/use-applications-menu-823a2492.cjs.dev.js +172 -0
  193. package/dist/use-is-served-by-proxy-28f19a6f.cjs.dev.js +10 -0
  194. package/dist/use-is-served-by-proxy-480e8de8.cjs.prod.js +10 -0
  195. package/dist/use-is-served-by-proxy-a383da4b.esm.js +8 -0
  196. package/dist/user-filled-26f333b2.cjs.prod.js +30 -0
  197. package/dist/user-filled-34aeebcc.cjs.dev.js +30 -0
  198. package/dist/user-filled-61d8a81b.esm.js +17 -0
  199. package/dist/user-settings-menu-6113cdd3.cjs.dev.js +338 -0
  200. package/dist/user-settings-menu-d75f4958.cjs.prod.js +326 -0
  201. package/dist/user-settings-menu-f98bea89.esm.js +313 -0
  202. package/dist/world-22189397.cjs.prod.js +30 -0
  203. package/dist/world-500baeb2.cjs.dev.js +30 -0
  204. package/dist/world-523efd61.esm.js +17 -0
  205. package/package.json +144 -0
  206. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.d.ts +2 -0
  207. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +20 -0
  208. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.js +7 -0
  209. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +20 -0
  210. package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +4 -0
  211. package/ssr/package.json +4 -0
  212. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.d.ts +2 -0
  213. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +554 -0
  214. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.js +7 -0
  215. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +554 -0
  216. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +502 -0
  217. package/test-utils/package.json +4 -0
@@ -0,0 +1,98 @@
1
+ 'use strict';
2
+
3
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
4
+ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
7
+
8
+ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
9
+ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
10
+
11
+ const DIMENSIONS = {
12
+ header: '56px'
13
+ };
14
+ const NAVBAR = {
15
+ expanderHeight: '50px',
16
+ expanderSize: '40px',
17
+ iconSize: '24px',
18
+ iconSizeHover: '28px',
19
+ itemSize: '48px',
20
+ itemHeight: '56px',
21
+ sublistIndentationWhenCollapsed: '72px',
22
+ sublistIndentationWhenExpanded: '248px',
23
+ sublistItemMinHeight: '50px',
24
+ sublistWidth: '272px',
25
+ leftNavigationTransition: 'all 150ms cubic-bezier(1, 0, 0.58, 1)',
26
+ widthLeftNavigation: '80px',
27
+ widthLeftNavigationWhenExpanded: '256px'
28
+ };
29
+ const WINDOW_SIZES = {
30
+ STANDARD: 1024,
31
+ WIDE: 1200
32
+ };
33
+ const CONTAINERS = {
34
+ LOCALE_SWITCHER: 'locale-switcher-container',
35
+ LEFT_OF_PROFILE: 'left-of-profile'
36
+ };
37
+ const SUSPENSION_REASONS = {
38
+ TEMPORARY_MAINTENANCE: 'TemporaryMaintenance',
39
+ PAYMENT: 'Payment',
40
+ OTHER: 'Other'
41
+ };
42
+
43
+ // OIDC params
44
+ const OIDC_RESPONSE_TYPES = {
45
+ ID_TOKEN: 'id_token'
46
+ };
47
+ const OIDC_CLAIMS = {
48
+ OPEN_ID: 'openid',
49
+ PROJECT_KEY: 'project_key',
50
+ TEAM_ID: 'team_id',
51
+ APPLICATION_ID: 'application_id',
52
+ VIEW: 'view',
53
+ MANAGE: 'manage'
54
+ };
55
+
56
+ const buildOidcScope = options => {
57
+ var _context, _context2;
58
+ const claims = [];
59
+
60
+ // Set the projectKey
61
+ if (options.projectKey) {
62
+ claims.push(`${OIDC_CLAIMS.PROJECT_KEY}:${options.projectKey}`);
63
+ }
64
+
65
+ // Set the OAuth Scopes
66
+ claims.push(..._mapInstanceProperty__default["default"](_context = options.oAuthScopes?.view ?? []).call(_context, scope => `${OIDC_CLAIMS.VIEW}:${scope}`));
67
+ claims.push(..._mapInstanceProperty__default["default"](_context2 = options.oAuthScopes?.manage ?? []).call(_context2, scope => `${OIDC_CLAIMS.MANAGE}:${scope}`));
68
+ // Set additional OAuth scopes
69
+ if (options?.additionalOAuthScopes) {
70
+ var _context3;
71
+ _forEachInstanceProperty__default["default"](_context3 = options.additionalOAuthScopes).call(_context3, additionalOAuthScope => {
72
+ var _context4, _context5;
73
+ claims.push(..._mapInstanceProperty__default["default"](_context4 = additionalOAuthScope.view ?? []).call(_context4, viewOAuthScope => `view/${additionalOAuthScope.name}:${viewOAuthScope}`), ..._mapInstanceProperty__default["default"](_context5 = additionalOAuthScope.manage ?? []).call(_context5, manageOAuthScope => `manage/${additionalOAuthScope.name}:${manageOAuthScope}`));
74
+ });
75
+ }
76
+
77
+ // Set the teamId and applicationId
78
+ if (options.teamId) {
79
+ claims.push(`${OIDC_CLAIMS.TEAM_ID}:${options.teamId}`);
80
+ if (options.applicationId) {
81
+ claims.push(`${OIDC_CLAIMS.APPLICATION_ID}:${options.applicationId}`);
82
+ }
83
+ }
84
+ return [
85
+ // This is required as per OIDC spec.
86
+ OIDC_CLAIMS.OPEN_ID,
87
+ // Custom claims
88
+ ...claims].join(' ');
89
+ };
90
+
91
+ exports.CONTAINERS = CONTAINERS;
92
+ exports.DIMENSIONS = DIMENSIONS;
93
+ exports.NAVBAR = NAVBAR;
94
+ exports.OIDC_CLAIMS = OIDC_CLAIMS;
95
+ exports.OIDC_RESPONSE_TYPES = OIDC_RESPONSE_TYPES;
96
+ exports.SUSPENSION_REASONS = SUSPENSION_REASONS;
97
+ exports.WINDOW_SIZES = WINDOW_SIZES;
98
+ exports.buildOidcScope = buildOidcScope;
@@ -0,0 +1,84 @@
1
+ import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
2
+ import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
3
+
4
+ const DIMENSIONS = {
5
+ header: '56px'
6
+ };
7
+ const NAVBAR = {
8
+ expanderHeight: '50px',
9
+ expanderSize: '40px',
10
+ iconSize: '24px',
11
+ iconSizeHover: '28px',
12
+ itemSize: '48px',
13
+ itemHeight: '56px',
14
+ sublistIndentationWhenCollapsed: '72px',
15
+ sublistIndentationWhenExpanded: '248px',
16
+ sublistItemMinHeight: '50px',
17
+ sublistWidth: '272px',
18
+ leftNavigationTransition: 'all 150ms cubic-bezier(1, 0, 0.58, 1)',
19
+ widthLeftNavigation: '80px',
20
+ widthLeftNavigationWhenExpanded: '256px'
21
+ };
22
+ const WINDOW_SIZES = {
23
+ STANDARD: 1024,
24
+ WIDE: 1200
25
+ };
26
+ const CONTAINERS = {
27
+ LOCALE_SWITCHER: 'locale-switcher-container',
28
+ LEFT_OF_PROFILE: 'left-of-profile'
29
+ };
30
+ const SUSPENSION_REASONS = {
31
+ TEMPORARY_MAINTENANCE: 'TemporaryMaintenance',
32
+ PAYMENT: 'Payment',
33
+ OTHER: 'Other'
34
+ };
35
+
36
+ // OIDC params
37
+ const OIDC_RESPONSE_TYPES = {
38
+ ID_TOKEN: 'id_token'
39
+ };
40
+ const OIDC_CLAIMS = {
41
+ OPEN_ID: 'openid',
42
+ PROJECT_KEY: 'project_key',
43
+ TEAM_ID: 'team_id',
44
+ APPLICATION_ID: 'application_id',
45
+ VIEW: 'view',
46
+ MANAGE: 'manage'
47
+ };
48
+
49
+ const buildOidcScope = options => {
50
+ var _context, _context2;
51
+ const claims = [];
52
+
53
+ // Set the projectKey
54
+ if (options.projectKey) {
55
+ claims.push(`${OIDC_CLAIMS.PROJECT_KEY}:${options.projectKey}`);
56
+ }
57
+
58
+ // Set the OAuth Scopes
59
+ claims.push(..._mapInstanceProperty(_context = options.oAuthScopes?.view ?? []).call(_context, scope => `${OIDC_CLAIMS.VIEW}:${scope}`));
60
+ claims.push(..._mapInstanceProperty(_context2 = options.oAuthScopes?.manage ?? []).call(_context2, scope => `${OIDC_CLAIMS.MANAGE}:${scope}`));
61
+ // Set additional OAuth scopes
62
+ if (options?.additionalOAuthScopes) {
63
+ var _context3;
64
+ _forEachInstanceProperty(_context3 = options.additionalOAuthScopes).call(_context3, additionalOAuthScope => {
65
+ var _context4, _context5;
66
+ claims.push(..._mapInstanceProperty(_context4 = additionalOAuthScope.view ?? []).call(_context4, viewOAuthScope => `view/${additionalOAuthScope.name}:${viewOAuthScope}`), ..._mapInstanceProperty(_context5 = additionalOAuthScope.manage ?? []).call(_context5, manageOAuthScope => `manage/${additionalOAuthScope.name}:${manageOAuthScope}`));
67
+ });
68
+ }
69
+
70
+ // Set the teamId and applicationId
71
+ if (options.teamId) {
72
+ claims.push(`${OIDC_CLAIMS.TEAM_ID}:${options.teamId}`);
73
+ if (options.applicationId) {
74
+ claims.push(`${OIDC_CLAIMS.APPLICATION_ID}:${options.applicationId}`);
75
+ }
76
+ }
77
+ return [
78
+ // This is required as per OIDC spec.
79
+ OIDC_CLAIMS.OPEN_ID,
80
+ // Custom claims
81
+ ...claims].join(' ');
82
+ };
83
+
84
+ export { CONTAINERS as C, DIMENSIONS as D, NAVBAR as N, OIDC_CLAIMS as O, SUSPENSION_REASONS as S, WINDOW_SIZES as W, OIDC_RESPONSE_TYPES as a, buildOidcScope as b };
@@ -0,0 +1,243 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
4
+ var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
5
+ var react = require('react');
6
+ var jwtDecode = require('jwt-decode');
7
+ var qss = require('qss');
8
+ var reactRouterDom = require('react-router-dom');
9
+ var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
10
+ var redirector = require('./redirector-0c72d0a4.cjs.prod.js');
11
+ var _styled = require('@emotion/styled/base');
12
+ var applicationComponents = require('@commercetools-frontend/application-components');
13
+ var FailedAuthenticationSVG = require('@commercetools-frontend/assets/images/doors-closed.svg');
14
+ var i18n = require('@commercetools-frontend/i18n');
15
+ var Card = require('@commercetools-uikit/card');
16
+ var Constraints = require('@commercetools-uikit/constraints');
17
+ var designSystem = require('@commercetools-uikit/design-system');
18
+ var FlatButton = require('@commercetools-uikit/flat-button');
19
+ var icons = require('@commercetools-uikit/icons');
20
+ var notifications = require('@commercetools-uikit/notifications');
21
+ var Spacings = require('@commercetools-uikit/spacings');
22
+ var Text = require('@commercetools-uikit/text');
23
+ var dist_commercetoolsFrontendApplicationShell = require('./index-60cd194b.cjs.prod.js');
24
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
25
+ require('@babel/runtime-corejs3/core-js-stable/object/keys');
26
+ require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
27
+ require('@babel/runtime-corejs3/core-js-stable/instance/filter');
28
+ require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
29
+ require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
30
+ require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
31
+ require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
32
+ require('@babel/runtime-corejs3/core-js-stable/object/define-property');
33
+ require('@babel/runtime-corejs3/helpers/defineProperty');
34
+ require('./location-537e0660.cjs.prod.js');
35
+ require('./index-245e2980.cjs.prod.js');
36
+ require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
37
+ require('@babel/runtime-corejs3/core-js-stable/object/entries');
38
+ require('@babel/runtime-corejs3/core-js-stable/instance/concat');
39
+ require('@babel/runtime-corejs3/core-js-stable/reflect/has');
40
+ require('@reduxjs/toolkit');
41
+ require('lodash/mapValues');
42
+ require('omit-empty-es');
43
+ require('redux');
44
+ require('redux-thunk');
45
+ require('@commercetools-frontend/constants');
46
+ require('@commercetools-frontend/notifications');
47
+ require('@commercetools-frontend/sdk');
48
+ require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
49
+ require('@babel/runtime-corejs3/core-js-stable/instance/slice');
50
+ require('@babel/runtime-corejs3/core-js-stable/instance/includes');
51
+ require('@commercetools-frontend/sentry');
52
+ require('@commercetools-frontend/react-notifications');
53
+ require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
54
+ require('redux-logger');
55
+ require('@babel/runtime-corejs3/core-js-stable/instance/find');
56
+ require('@babel/runtime-corejs3/core-js-stable/array/is-array');
57
+ require('@emotion/react');
58
+ require('./oidc-d74e6aa2.cjs.prod.js');
59
+ require('@babel/runtime-corejs3/core-js-stable/instance/map');
60
+ require('react-intl');
61
+ require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
62
+ require('memoize-one');
63
+ require('react-select');
64
+ require('@commercetools-uikit/accessible-hidden');
65
+ require('@commercetools-uikit/select-input');
66
+ require('@commercetools-frontend/assets/images/ct-logo.svg');
67
+ require('@commercetools-uikit/loading-spinner');
68
+ require('@commercetools-frontend/browser-history');
69
+ require('@commercetools-frontend/l10n');
70
+ require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
71
+ require('@babel/runtime-corejs3/helpers/classCallCheck');
72
+ require('@babel/runtime-corejs3/helpers/createClass');
73
+ require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
74
+ require('@babel/runtime-corejs3/helpers/getPrototypeOf');
75
+ require('@babel/runtime-corejs3/helpers/inherits');
76
+ require('@babel/runtime-corejs3/core-js-stable/object/from-entries');
77
+ require('@babel/runtime-corejs3/core-js-stable/instance/flags');
78
+ require('@apollo/client/react');
79
+ require('@flopflip/combine-adapters');
80
+ require('@flopflip/http-adapter');
81
+ require('@flopflip/launchdarkly-adapter');
82
+ require('@flopflip/react-broadcast');
83
+ require('@flopflip/types');
84
+ require('react-redux');
85
+ require('@commercetools-uikit/design-system/materials/resets.css');
86
+ require('@commercetools-frontend/application-config/ssr');
87
+ require('@commercetools-frontend/permissions');
88
+ require('@flopflip/memory-adapter');
89
+ require('@babel/runtime-corejs3/core-js-stable/json/stringify');
90
+ require('@babel/runtime-corejs3/core-js-stable/instance/some');
91
+ require('@commercetools-frontend/actions-global');
92
+
93
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
94
+
95
+ var _URL__default = /*#__PURE__*/_interopDefault(_URL);
96
+ var jwtDecode__default = /*#__PURE__*/_interopDefault(jwtDecode);
97
+ var _styled__default = /*#__PURE__*/_interopDefault(_styled);
98
+ var FailedAuthenticationSVG__default = /*#__PURE__*/_interopDefault(FailedAuthenticationSVG);
99
+ var Card__default = /*#__PURE__*/_interopDefault(Card);
100
+ var Constraints__default = /*#__PURE__*/_interopDefault(Constraints);
101
+ var FlatButton__default = /*#__PURE__*/_interopDefault(FlatButton);
102
+ var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
103
+ var Text__default = /*#__PURE__*/_interopDefault(Text);
104
+
105
+ const Divider = /*#__PURE__*/_styled__default["default"]("div", {
106
+ target: "e57nw7s0"
107
+ } )("box-sizing:border-box;width:100%;margin:0;border:0;border-style:solid;border-top-width:1px;border-top-color:", designSystem.customProperties.colorNeutral, ";" + ("" ));
108
+ const AuthCallbackErrorPage = props => {
109
+ const history = reactRouterDom.useHistory();
110
+ return jsxRuntime.jsx(i18n.AsyncLocaleData, {
111
+ locale: props.locale,
112
+ applicationMessages: props.applicationMessages,
113
+ children: _ref => {
114
+ let locale = _ref.locale,
115
+ messages = _ref.messages;
116
+ return jsxRuntime.jsxs(dist_commercetoolsFrontendApplicationShell.ConfigureIntlProvider, {
117
+ locale: locale,
118
+ messages: messages,
119
+ children: [jsxRuntime.jsx(designSystem.ThemeProvider, {
120
+ theme: "default",
121
+ themeOverrides: applicationComponents.themesOverrides.default
122
+ }), jsxRuntime.jsx(applicationComponents.PublicPageLayout, {
123
+ contentScale: "wide",
124
+ children: jsxRuntime.jsx(Spacings__default["default"].Inline, {
125
+ justifyContent: "center",
126
+ children: jsxRuntime.jsx(Constraints__default["default"].Horizontal, {
127
+ max: 11,
128
+ children: jsxRuntime.jsx(Card__default["default"], {
129
+ insetScale: "xl",
130
+ children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
131
+ scale: "l",
132
+ children: [jsxRuntime.jsx(Spacings__default["default"].Inline, {
133
+ justifyContent: "center",
134
+ children: jsxRuntime.jsx("img", {
135
+ width: "100%",
136
+ src: FailedAuthenticationSVG__default["default"],
137
+ alt: "Failed authentication"
138
+ })
139
+ }), jsxRuntime.jsx(Text__default["default"].Headline, {
140
+ as: "h2",
141
+ children: 'Authentication error'
142
+ }), jsxRuntime.jsx(notifications.ContentNotification, {
143
+ type: "error",
144
+ children: jsxRuntime.jsx(Spacings__default["default"].Stack, {
145
+ scale: "m",
146
+ children: jsxRuntime.jsx(Text__default["default"].Body, {
147
+ children: props.message
148
+ })
149
+ })
150
+ }), jsxRuntime.jsxs(Spacings__default["default"].Stack, {
151
+ scale: "m",
152
+ children: [jsxRuntime.jsx(Divider, {}), jsxRuntime.jsx(FlatButton__default["default"], {
153
+ label: "Try log in again",
154
+ icon: jsxRuntime.jsx(icons.AngleLeftIcon, {}),
155
+ onClick: () => {
156
+ history.push('/');
157
+ }
158
+ })]
159
+ })]
160
+ })
161
+ })
162
+ })
163
+ })
164
+ })]
165
+ });
166
+ }
167
+ });
168
+ };
169
+ AuthCallbackErrorPage.displayName = 'AuthCallbackErrorPage';
170
+
171
+ const OidcCallback = props => {
172
+ const location = reactRouterDom.useLocation();
173
+ const redirector$1 = redirector.useRedirector();
174
+ const _useState = react.useState(),
175
+ _useState2 = _slicedToArray(_useState, 2),
176
+ message = _useState2[0],
177
+ setMessage = _useState2[1];
178
+ const fragments = qss.decode(location.hash.substring(1));
179
+ const sessionToken = fragments.sessionToken;
180
+ react.useEffect(() => {
181
+ // Validate the nonce (coming as a `state` parameter)
182
+ // By trying to load the related session state, we can implicitly check if the nonce is correct or not.
183
+ const sessionState = applicationShellConnectors.oidcStorage.getSessionState(fragments.state);
184
+ let errorMessage;
185
+ let decodedSessionToken;
186
+ try {
187
+ if (sessionToken) {
188
+ decodedSessionToken = jwtDecode__default["default"](sessionToken);
189
+ } else {
190
+ errorMessage = 'Invalid client session (missing sessionToken)';
191
+ }
192
+ } catch (err) {
193
+ if (err instanceof Error) {
194
+ errorMessage = err.message;
195
+ } else {
196
+ errorMessage = 'Unknown error';
197
+ }
198
+ }
199
+ if (!errorMessage) {
200
+ const hasValidSessionId = decodedSessionToken?.nonce === fragments.state;
201
+ const hasValidApplicationId = window.app.applicationId === sessionState?.applicationId;
202
+ if (!sessionState || !hasValidSessionId || !hasValidApplicationId) {
203
+ errorMessage = 'Invalid client session';
204
+ }
205
+ }
206
+ if (errorMessage) {
207
+ setMessage(errorMessage);
208
+ } else {
209
+ applicationShellConnectors.oidcStorage.setActiveSession(sessionToken);
210
+ applicationShellConnectors.oidcStorage.removeSessionState(fragments.state);
211
+ if (sessionState?.query.redirectTo) {
212
+ try {
213
+ const redirectToUrl = new _URL__default["default"](sessionState.query.redirectTo);
214
+ redirector$1({
215
+ to: redirectToUrl.pathname
216
+ });
217
+ return;
218
+ } catch (error) {
219
+ console.warn(`Invalid "redirectTo" URL`, sessionState.query.redirectTo);
220
+ // ignore
221
+ }
222
+ }
223
+ redirector$1({
224
+ to: location.pathname.replace('/oidc/callback', '')
225
+ });
226
+ return;
227
+ }
228
+
229
+ // Only execute once!
230
+ // eslint-disable-next-line react-hooks/exhaustive-deps
231
+ }, []);
232
+ if (message) {
233
+ return jsxRuntime.jsx(AuthCallbackErrorPage, {
234
+ message: message,
235
+ locale: props.locale,
236
+ applicationMessages: props.applicationMessages
237
+ });
238
+ }
239
+ return null;
240
+ };
241
+ OidcCallback.displayName = 'OidcCallback';
242
+
243
+ exports["default"] = OidcCallback;