@zengenti/contensis-react-base 4.0.0-beta.6 → 4.0.0-beta.60

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 (206) hide show
  1. package/README.md +14 -1
  2. package/cjs/{App-vZrUfVgQ.js → App-Dr56ZsQj.js} +476 -99
  3. package/cjs/App-Dr56ZsQj.js.map +1 -0
  4. package/cjs/{ChangePassword.container-ECjEXixF.js → ChangePassword.container-C4Du3Wb1.js} +57 -50
  5. package/cjs/ChangePassword.container-C4Du3Wb1.js.map +1 -0
  6. package/cjs/{SSRContext-DVj_QAC1.js → ContensisDeliveryApi-gN3_MHEl.js} +32 -74
  7. package/cjs/ContensisDeliveryApi-gN3_MHEl.js.map +1 -0
  8. package/cjs/CookieConstants-DfPiWCRZ.js +12 -0
  9. package/cjs/CookieConstants-DfPiWCRZ.js.map +1 -0
  10. package/{esm/CookieHelper.class-FTURFpz3.js → cjs/CookieHelper.class-Det3qfdU.js} +4 -6
  11. package/cjs/CookieHelper.class-Det3qfdU.js.map +1 -0
  12. package/cjs/{RouteLoader-D5Yg7EB5.js → RouteLoader-Bbt-nG3v.js} +13 -8
  13. package/cjs/RouteLoader-Bbt-nG3v.js.map +1 -0
  14. package/cjs/SSRContext-DotLlTQc.js +116 -0
  15. package/cjs/SSRContext-DotLlTQc.js.map +1 -0
  16. package/cjs/ToJs-BsWqWjdm.js +23 -0
  17. package/cjs/ToJs-BsWqWjdm.js.map +1 -0
  18. package/cjs/{VersionInfo-B_dKCubg.js → VersionInfo-zFPsvS8q.js} +3 -25
  19. package/cjs/VersionInfo-zFPsvS8q.js.map +1 -0
  20. package/cjs/client.js +62 -64
  21. package/cjs/client.js.map +1 -1
  22. package/cjs/contensis-react-base.js +235 -127
  23. package/cjs/contensis-react-base.js.map +1 -1
  24. package/cjs/i18n.js +75 -0
  25. package/cjs/i18n.js.map +1 -0
  26. package/cjs/{ToJs-C9jwV7YB.js → matchGroups-dqONU-vY.js} +2 -22
  27. package/cjs/matchGroups-dqONU-vY.js.map +1 -0
  28. package/cjs/redux.js +8 -6
  29. package/cjs/redux.js.map +1 -1
  30. package/cjs/routing.js +15 -7
  31. package/cjs/routing.js.map +1 -1
  32. package/cjs/{sagas-CbZhaRNd.js → sagas-OfBUtx74.js} +523 -370
  33. package/cjs/sagas-OfBUtx74.js.map +1 -0
  34. package/cjs/search.js +54 -29
  35. package/cjs/search.js.map +1 -1
  36. package/cjs/{selectors-wCs5fHD4.js → selectors-BrxJ8-F8.js} +27 -6
  37. package/cjs/selectors-BrxJ8-F8.js.map +1 -0
  38. package/cjs/selectors-DAQR0uZa.js +18 -0
  39. package/cjs/selectors-DAQR0uZa.js.map +1 -0
  40. package/cjs/slice-5xJMH24n.js +69 -0
  41. package/cjs/slice-5xJMH24n.js.map +1 -0
  42. package/cjs/{store-D07FOXvM.js → store-Dn7vP6G0.js} +52 -4
  43. package/cjs/store-Dn7vP6G0.js.map +1 -0
  44. package/cjs/urls-DVIwGZmd.js +25 -0
  45. package/cjs/urls-DVIwGZmd.js.map +1 -0
  46. package/cjs/user.js +20 -17
  47. package/cjs/user.js.map +1 -1
  48. package/cjs/util-wQwG9vit.js +148 -0
  49. package/cjs/util-wQwG9vit.js.map +1 -0
  50. package/cjs/util.js +80 -22
  51. package/cjs/util.js.map +1 -1
  52. package/cjs/{version-B7XFkBhY.js → version-2FamXHhj.js} +15 -16
  53. package/cjs/version-2FamXHhj.js.map +1 -0
  54. package/cjs/{version-CM-bJ62L.js → version-rFG9Y6_B.js} +2 -2
  55. package/cjs/{version-CM-bJ62L.js.map → version-rFG9Y6_B.js.map} +1 -1
  56. package/esm/{App-DLZweVSp.js → App-CrCf7gso.js} +436 -60
  57. package/esm/App-CrCf7gso.js.map +1 -0
  58. package/esm/{ChangePassword.container-BgzIy8dA.js → ChangePassword.container-CUBtn82K.js} +19 -13
  59. package/esm/ChangePassword.container-CUBtn82K.js.map +1 -0
  60. package/esm/{SSRContext-BE8ElZ3X.js → ContensisDeliveryApi-CvEoOLCl.js} +30 -67
  61. package/esm/ContensisDeliveryApi-CvEoOLCl.js.map +1 -0
  62. package/esm/CookieConstants-DEmbwzYr.js +7 -0
  63. package/esm/CookieConstants-DEmbwzYr.js.map +1 -0
  64. package/{cjs/CookieHelper.class-C3Eqoze9.js → esm/CookieHelper.class-C6rTRl_1.js} +2 -14
  65. package/esm/CookieHelper.class-C6rTRl_1.js.map +1 -0
  66. package/esm/{RouteLoader-xeQBXywk.js → RouteLoader-BpHhiAlL.js} +10 -5
  67. package/esm/RouteLoader-BpHhiAlL.js.map +1 -0
  68. package/esm/SSRContext-CYxBWky3.js +106 -0
  69. package/esm/SSRContext-CYxBWky3.js.map +1 -0
  70. package/esm/ToJs-BnRRHk6f.js +17 -0
  71. package/esm/ToJs-BnRRHk6f.js.map +1 -0
  72. package/esm/{VersionInfo-Cno7K0OA.js → VersionInfo-By2ZCZOh.js} +4 -24
  73. package/esm/VersionInfo-By2ZCZOh.js.map +1 -0
  74. package/esm/client.js +62 -63
  75. package/esm/client.js.map +1 -1
  76. package/esm/contensis-react-base.js +227 -121
  77. package/esm/contensis-react-base.js.map +1 -1
  78. package/esm/i18n.js +64 -0
  79. package/esm/i18n.js.map +1 -0
  80. package/esm/{ToJs-CNzfvyxJ.js → matchGroups-_w8BwzCC.js} +3 -18
  81. package/esm/matchGroups-_w8BwzCC.js.map +1 -0
  82. package/esm/redux.js +11 -8
  83. package/esm/redux.js.map +1 -1
  84. package/esm/routing.js +14 -7
  85. package/esm/routing.js.map +1 -1
  86. package/esm/{sagas-xJU-zOpn.js → sagas-BZWjx5by.js} +511 -357
  87. package/esm/sagas-BZWjx5by.js.map +1 -0
  88. package/esm/search.js +73 -47
  89. package/esm/search.js.map +1 -1
  90. package/esm/{selectors-DO2ocdOp.js → selectors-8ROQrTd7.js} +25 -7
  91. package/esm/selectors-8ROQrTd7.js.map +1 -0
  92. package/esm/selectors-DcmvOeX2.js +10 -0
  93. package/esm/selectors-DcmvOeX2.js.map +1 -0
  94. package/esm/slice-C6JLQik8.js +63 -0
  95. package/esm/slice-C6JLQik8.js.map +1 -0
  96. package/esm/{store-3u0RzHZ0.js → store-DSjRYsM2.js} +52 -5
  97. package/esm/store-DSjRYsM2.js.map +1 -0
  98. package/esm/urls-DfCisos-.js +22 -0
  99. package/esm/urls-DfCisos-.js.map +1 -0
  100. package/esm/user.js +9 -6
  101. package/esm/user.js.map +1 -1
  102. package/esm/util-BafFLYzn.js +136 -0
  103. package/esm/util-BafFLYzn.js.map +1 -0
  104. package/esm/util.js +58 -14
  105. package/esm/util.js.map +1 -1
  106. package/esm/{version-BlsI7hX2.js → version-B75wA6Te.js} +16 -16
  107. package/esm/version-B75wA6Te.js.map +1 -0
  108. package/esm/{version-wnf-TITV.js → version-BQAL8sQO.js} +2 -2
  109. package/esm/{version-wnf-TITV.js.map → version-BQAL8sQO.js.map} +1 -1
  110. package/i18n/package.json +5 -0
  111. package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +1 -1
  112. package/models/app/pages/VersionInfo/components/VersionInfo.styled.d.ts +0 -1
  113. package/models/i18n/index.d.ts +5 -0
  114. package/models/i18n/redux/sagas.d.ts +19 -0
  115. package/models/i18n/redux/selectors.d.ts +11 -0
  116. package/models/i18n/redux/slice.d.ts +198 -0
  117. package/models/i18n/routes.d.ts +8 -0
  118. package/models/i18n/useI18n.hook.d.ts +20 -0
  119. package/models/index.d.ts +1 -0
  120. package/models/models/AppState.d.ts +2 -0
  121. package/models/models/ContentTypeMapping.d.ts +5 -0
  122. package/models/models/Locales.d.ts +11 -0
  123. package/models/models/MatchedRoute.d.ts +5 -1
  124. package/models/models/RouteComponent.d.ts +0 -1
  125. package/models/models/SSRContext.d.ts +4 -4
  126. package/models/models/StaticRoute.d.ts +11 -0
  127. package/models/models/WithEvents.d.ts +8 -0
  128. package/models/models/config/AppConfig.d.ts +2 -0
  129. package/models/models/config/I18n.d.ts +38 -0
  130. package/models/models/config/ServerConfig.d.ts +3 -0
  131. package/models/redux/index.d.ts +2 -1
  132. package/models/redux/sagas/index.d.ts +3 -1
  133. package/models/redux/sagas/injector.d.ts +13 -0
  134. package/models/redux/store/injectors/index.d.ts +26 -0
  135. package/models/redux/store/injectors/inject.d.ts +24 -0
  136. package/models/redux/store/injectors/util.d.ts +2 -0
  137. package/models/redux/store/store.d.ts +13 -4
  138. package/models/redux/util.d.ts +1 -1
  139. package/models/routing/components/RouteLoader.d.ts +3 -3
  140. package/models/routing/httpContext.d.ts +0 -1
  141. package/models/routing/index.d.ts +1 -0
  142. package/models/routing/redux/actions.d.ts +1 -1
  143. package/models/routing/redux/invokeSearch.d.ts +22 -0
  144. package/models/routing/redux/selectors.d.ts +47 -4
  145. package/models/routing/util/expressions.d.ts +1 -1
  146. package/models/routing/util/find-contenttype-mapping.d.ts +3 -1
  147. package/models/search/containers/withListing.d.ts +1 -1
  148. package/models/search/containers/withSearch.d.ts +1 -1
  149. package/models/search/models/Queries.d.ts +3 -5
  150. package/models/search/models/Search.d.ts +43 -13
  151. package/models/search/models/SearchActions.d.ts +61 -18
  152. package/models/search/models/SearchProps.d.ts +11 -10
  153. package/models/search/models/SearchState.d.ts +23 -2
  154. package/models/search/models/SearchUtil.d.ts +3 -3
  155. package/models/search/redux/getIn.d.ts +2 -2
  156. package/models/search/redux/reducers.d.ts +3 -4
  157. package/models/search/redux/sagas.d.ts +13 -14
  158. package/models/search/redux/schema.d.ts +3 -3
  159. package/models/search/redux/selectors.d.ts +64 -42
  160. package/models/search/redux/util.d.ts +10 -1
  161. package/models/search/search/ContensisDeliveryApi.d.ts +6 -26
  162. package/models/search/search/expressions.d.ts +6 -4
  163. package/models/search/search/util.d.ts +9 -7
  164. package/models/search/transformations/state-to-queryparams.mapper.d.ts +1 -1
  165. package/models/server/features/linkdepth-api/search.d.ts +1 -1
  166. package/models/server/features/response-handler/render-stream.d.ts +2 -4
  167. package/models/server/features/static-assets/index.d.ts +4 -3
  168. package/models/server/internalServer.d.ts +1 -2
  169. package/models/server/middleware/subsiteDebug.d.ts +11 -0
  170. package/models/server/root.d.ts +3 -0
  171. package/models/server/util/bundles.d.ts +9 -9
  172. package/models/server/util/jsx.d.ts +2 -14
  173. package/models/user/hocs/withRegistration.d.ts +1 -1
  174. package/models/util/CachedDeliveryApi.d.ts +8 -2
  175. package/models/util/ContensisDeliveryApi.d.ts +2 -4
  176. package/models/util/NoSSR.d.ts +6 -0
  177. package/models/util/SSRContext.d.ts +3 -19
  178. package/models/util/donotuse_useHistory.d.ts +6 -0
  179. package/models/util/index.d.ts +6 -1
  180. package/models/util/subsite.d.ts +12 -0
  181. package/models/util/useIsClient.d.ts +6 -0
  182. package/package.json +39 -38
  183. package/cjs/App-vZrUfVgQ.js.map +0 -1
  184. package/cjs/ChangePassword.container-ECjEXixF.js.map +0 -1
  185. package/cjs/CookieHelper.class-C3Eqoze9.js.map +0 -1
  186. package/cjs/RouteLoader-D5Yg7EB5.js.map +0 -1
  187. package/cjs/SSRContext-DVj_QAC1.js.map +0 -1
  188. package/cjs/ToJs-C9jwV7YB.js.map +0 -1
  189. package/cjs/VersionInfo-B_dKCubg.js.map +0 -1
  190. package/cjs/sagas-CbZhaRNd.js.map +0 -1
  191. package/cjs/selectors-wCs5fHD4.js.map +0 -1
  192. package/cjs/store-D07FOXvM.js.map +0 -1
  193. package/cjs/version-B7XFkBhY.js.map +0 -1
  194. package/esm/App-DLZweVSp.js.map +0 -1
  195. package/esm/ChangePassword.container-BgzIy8dA.js.map +0 -1
  196. package/esm/CookieHelper.class-FTURFpz3.js.map +0 -1
  197. package/esm/RouteLoader-xeQBXywk.js.map +0 -1
  198. package/esm/SSRContext-BE8ElZ3X.js.map +0 -1
  199. package/esm/ToJs-CNzfvyxJ.js.map +0 -1
  200. package/esm/VersionInfo-Cno7K0OA.js.map +0 -1
  201. package/esm/sagas-xJU-zOpn.js.map +0 -1
  202. package/esm/selectors-DO2ocdOp.js.map +0 -1
  203. package/esm/store-3u0RzHZ0.js.map +0 -1
  204. package/esm/version-BlsI7hX2.js.map +0 -1
  205. package/models/redux/store/injectors.d.ts +0 -31
  206. package/models/search/search/ToJs.d.ts +0 -4
@@ -1,4 +1,5 @@
1
1
  import { produce } from 'immer';
2
+ import { createSelector } from 'reselect';
2
3
  import { jpath } from 'jsonpath-mapper';
3
4
  import queryString from 'query-string';
4
5
 
@@ -59,8 +60,9 @@ var routing$2 = /*#__PURE__*/Object.freeze({
59
60
  UPDATE_LOADING_STATE: UPDATE_LOADING_STATE
60
61
  });
61
62
 
62
- const setNavigationPath = (path, location, staticRoute, withEvents, statePath, routes, ssr) => action(SET_NAVIGATION_PATH, {
63
+ const setNavigationPath = (path, contentPath, location, staticRoute, withEvents, statePath, routes, ssr) => action(SET_NAVIGATION_PATH, {
63
64
  path,
65
+ contentPath,
64
66
  location,
65
67
  staticRoute,
66
68
  withEvents,
@@ -318,6 +320,7 @@ const selectSsrApiCalls = state => {
318
320
  return getImmutableOrJS(state, ['routing', 'apiCalls'], [], 'js');
319
321
  };
320
322
  const selectCurrentHostname = state => getImmutableOrJS(state, ['routing', 'currentHostname']);
323
+ const selectSsrHostname = state => getImmutableOrJS(state, ['routing', 'ssrHostname']);
321
324
  const selectCurrentTreeID = state => getImmutableOrJS(state, ['routing', 'currentHostname']);
322
325
  const selectRouteEntryEntryId = state => getImmutableOrJS(state, ['routing', 'entry', 'sys', 'id'], null);
323
326
  const selectRouteEntryContentTypeId = state => {
@@ -328,6 +331,10 @@ const selectRouteEntryLanguage = state => {
328
331
  const entry = selectRouteEntry(state);
329
332
  return getImmutableOrJS(entry, ['sys', 'language'], null);
330
333
  };
334
+ const selectRouteEntryAvailableLanguages = state => {
335
+ const entry = selectRouteEntry(state);
336
+ return getImmutableOrJS(entry, ['sys', 'availableLanguages'], []);
337
+ };
331
338
  const selectRouteEntrySlug = state => {
332
339
  const entry = selectRouteEntry(state);
333
340
  return getImmutableOrJS(entry, ['sys', 'slug'], null);
@@ -340,16 +347,24 @@ const selectCurrentPath = state => getImmutableOrJS(state, ['routing', 'currentP
340
347
  const selectCurrentLocation = state => getImmutableOrJS(state, ['routing', 'location']);
341
348
  const selectCurrentSearch = state => getImmutableOrJS(state, ['routing', 'location', 'search']);
342
349
  const selectCurrentHash = state => getImmutableOrJS(state, ['routing', 'location', 'hash']);
343
- const selectQueryStringAsObject = state => queryParams(selectCurrentSearch(state));
350
+
351
+ // export const selectQueryStringAsObject = (state: AppState) =>
352
+ // queryParams(selectCurrentSearch(state));
353
+
354
+ const selectQueryStringAsObject = createSelector([selectCurrentSearch], currentSearch => queryParams(currentSearch));
344
355
  const selectCurrentProject = state => getImmutableOrJS(state, ['routing', 'currentProject']);
345
356
  const selectIsNotFound = state => getImmutableOrJS(state, ['routing', 'notFound']);
346
357
  const selectCurrentAncestors = state => getImmutableOrJS(state, ['routing', 'currentNodeAncestors'], []);
347
358
  const selectCurrentSiblings = state => getImmutableOrJS(state, ['routing', 'currentNodeSiblings'], []);
348
359
  const selectCurrentNode = (state, returnType) => getImmutableOrJS(state, ['routing', 'currentNode'], null, returnType);
360
+ const selectCurrentNodeLanguage = state => getImmutableOrJS(state, ['routing', 'currentNode', 'language'], null);
349
361
  const selectCurrentChildren = state => getImmutableOrJS(state, ['routing', 'currentNode', 'children'], []);
350
- const selectBreadcrumb = state => {
351
- return [...selectCurrentAncestors(state), selectCurrentNode(state)];
352
- };
362
+
363
+ // export const selectBreadcrumb = (state: AppState) => {
364
+ // return [...selectCurrentAncestors(state), selectCurrentNode(state)];
365
+ // };
366
+
367
+ const selectBreadcrumb = createSelector([selectCurrentAncestors, selectCurrentNode], (currentAncestors, currentNode) => [...currentAncestors, currentNode]);
353
368
  const selectRouteErrorMessage = state => {
354
369
  const error = getImmutableOrJS(state, ['routing', 'error']);
355
370
  return getImmutableOrJS(error, ['data', 'message'], getImmutableOrJS(error, 'statusText'));
@@ -369,6 +384,7 @@ var routing = /*#__PURE__*/Object.freeze({
369
384
  selectCurrentHostname: selectCurrentHostname,
370
385
  selectCurrentLocation: selectCurrentLocation,
371
386
  selectCurrentNode: selectCurrentNode,
387
+ selectCurrentNodeLanguage: selectCurrentNodeLanguage,
372
388
  selectCurrentPath: selectCurrentPath,
373
389
  selectCurrentProject: selectCurrentProject,
374
390
  selectCurrentSearch: selectCurrentSearch,
@@ -378,6 +394,7 @@ var routing = /*#__PURE__*/Object.freeze({
378
394
  selectMappedEntry: selectMappedEntry,
379
395
  selectQueryStringAsObject: selectQueryStringAsObject,
380
396
  selectRouteEntry: selectRouteEntry,
397
+ selectRouteEntryAvailableLanguages: selectRouteEntryAvailableLanguages,
381
398
  selectRouteEntryContentTypeId: selectRouteEntryContentTypeId,
382
399
  selectRouteEntryEntryId: selectRouteEntryEntryId,
383
400
  selectRouteEntryID: selectRouteEntryID,
@@ -388,9 +405,10 @@ var routing = /*#__PURE__*/Object.freeze({
388
405
  selectRouteLoading: selectRouteLoading,
389
406
  selectRouteStatusCode: selectRouteStatusCode,
390
407
  selectSsrApiCalls: selectSsrApiCalls,
408
+ selectSsrHostname: selectSsrHostname,
391
409
  selectStaticRoute: selectStaticRoute,
392
410
  selectSurrogateKeys: selectSurrogateKeys
393
411
  });
394
412
 
395
- export { LOGIN_USER as $, SET_ENTRY as A, SET_ANCESTORS as B, selectCurrentNode as C, selectCurrentAncestors as D, selectCurrentSiblings as E, selectRouteEntryEntryId as F, selectRouteEntryLanguage as G, REGISTER_USER_SUCCESS as H, REGISTER_USER_FAILED as I, queryParams as J, selectCurrentSearch as K, setRoute as L, REQUEST_USER_PASSWORD_RESET as M, RESET_USER_PASSWORD as N, CHANGE_USER_PASSWORD as O, REQUEST_USER_PASSWORD_RESET_SENDING as P, REQUEST_USER_PASSWORD_RESET_SUCCESS as Q, REGISTER_USER as R, SET_TARGET_PROJECT as S, REQUEST_USER_PASSWORD_RESET_ERROR as T, UserReducer as U, RESET_USER_PASSWORD_SENDING as V, RESET_USER_PASSWORD_SUCCESS as W, RESET_USER_PASSWORD_ERROR as X, CHANGE_USER_PASSWORD_ERROR as Y, CHANGE_USER_PASSWORD_SENDING as Z, CHANGE_USER_PASSWORD_SUCCESS as _, routing$1 as a, LOGOUT_USER as a0, VALIDATE_USER as a1, SET_AUTHENTICATION_STATE as a2, selectSurrogateKeys as a3, selectSsrApiCalls as a4, routing as b, action as c, setCurrentProject as d, getJS as e, selectRouteEntryContentTypeId as f, getImmutableOrJS as g, selectRouteEntry as h, initialUserState as i, selectRouteIsError as j, selectIsNotFound as k, selectRouteLoading as l, selectMappedEntry as m, selectCurrentProject as n, selectCurrentPath as o, selectRouteStatusCode as p, selectRouteErrorMessage as q, routing$2 as r, setSurrogateKeys as s, types as t, setNavigationPath as u, SET_SURROGATE_KEYS as v, SET_SIBLINGS as w, SET_ROUTE as x, SET_NAVIGATION_PATH as y, UPDATE_LOADING_STATE as z };
396
- //# sourceMappingURL=selectors-DO2ocdOp.js.map
413
+ export { REQUEST_USER_PASSWORD_RESET_ERROR as $, SET_ENTRY as A, SET_ANCESTORS as B, LOGOUT_USER as C, SET_AUTHENTICATION_STATE as D, queryParams as E, selectCurrentSearch as F, setRoute as G, REQUEST_USER_PASSWORD_RESET as H, RESET_USER_PASSWORD as I, CHANGE_USER_PASSWORD as J, selectRouteEntryAvailableLanguages as K, LOGIN_USER as L, selectRouteEntryID as M, selectStaticRoute as N, selectCurrentNode as O, selectCurrentAncestors as P, selectCurrentSiblings as Q, REGISTER_USER as R, SET_TARGET_PROJECT as S, selectRouteEntryEntryId as T, UserReducer as U, VALIDATE_USER as V, selectRouteEntryLanguage as W, REGISTER_USER_SUCCESS as X, REGISTER_USER_FAILED as Y, REQUEST_USER_PASSWORD_RESET_SENDING as Z, REQUEST_USER_PASSWORD_RESET_SUCCESS as _, routing$1 as a, RESET_USER_PASSWORD_SENDING as a0, RESET_USER_PASSWORD_SUCCESS as a1, RESET_USER_PASSWORD_ERROR as a2, CHANGE_USER_PASSWORD_ERROR as a3, CHANGE_USER_PASSWORD_SENDING as a4, CHANGE_USER_PASSWORD_SUCCESS as a5, selectSurrogateKeys as a6, selectSsrApiCalls as a7, routing as b, setSurrogateKeys as c, action as d, getJS as e, selectCurrentProject as f, getImmutableOrJS as g, selectRouteEntryContentTypeId as h, initialUserState as i, selectRouteEntry as j, selectRouteIsError as k, selectIsNotFound as l, selectRouteLoading as m, selectMappedEntry as n, selectCurrentPath as o, selectRouteStatusCode as p, selectRouteErrorMessage as q, routing$2 as r, setCurrentProject as s, types as t, setNavigationPath as u, SET_SURROGATE_KEYS as v, SET_SIBLINGS as w, SET_ROUTE as x, SET_NAVIGATION_PATH as y, UPDATE_LOADING_STATE as z };
414
+ //# sourceMappingURL=selectors-8ROQrTd7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors-8ROQrTd7.js","sources":["../src/redux/util.ts","../src/routing/redux/types.ts","../src/routing/redux/actions.ts","../src/user/redux/types.ts","../src/user/redux/reducers.ts","../src/util/navigation.js","../src/routing/redux/selectors.ts"],"sourcesContent":["import { jpath } from '~/util/json-mapper';\n\nexport const action = (type: string, payload: any = {}) => ({\n type,\n ...payload,\n});\n\nexport const getJS = <S extends Record<string, unknown>, T extends keyof S>(\n state: S,\n stateKey: T\n) => {\n if (\n 'get' in state &&\n typeof state.get === 'function' &&\n 'toJS' in state &&\n typeof state.toJS === 'function'\n ) {\n return state.get(stateKey) as S[T];\n }\n return state[stateKey];\n};\n\nexport const getImmutableOrJS = <\n S extends Record<string, unknown>,\n T extends keyof S | any\n>(\n state: S,\n stateKey: T | T[],\n fallbackValue?: any,\n returnType: 'immutable' | 'js' = globalThis.STATE_TYPE\n) => {\n // Find a fromJS function from global that is dynamically loaded in createStore\n // or replace with a stub function for non-immutable gets\n const fromJS =\n returnType === 'immutable'\n ? globalThis.immutable?.fromJSOrdered || globalThis.immutable?.fromJS\n : v => v;\n\n if (\n state &&\n 'get' in state &&\n typeof state.get === 'function' &&\n 'getIn' in state &&\n typeof state.getIn === 'function' &&\n 'toJS' in state &&\n typeof state.toJS === 'function'\n ) {\n if (Array.isArray(stateKey))\n return fromJS(state.getIn(stateKey, fallbackValue));\n return fromJS(state.get(stateKey, fallbackValue)) as S[T | any];\n }\n\n if (Array.isArray(stateKey) && state && typeof state === 'object') {\n const result = jpath(stateKey.join('.'), state);\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n }\n\n const result =\n state && typeof state === 'object' ? state[stateKey as string] : undefined;\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n};\n","const ROUTING_PREFIX = '@ROUTING/';\nexport const GET_ENTRY = `${ROUTING_PREFIX}_GET_ENTRY`;\nexport const SET_ENTRY = `${ROUTING_PREFIX}_SET_ENTRY`;\nexport const SET_NODE = `${ROUTING_PREFIX}_SET_NODE`;\nexport const SET_ANCESTORS = `${ROUTING_PREFIX}_SET_ANCESTORS`;\nexport const SET_SIBLINGS = `${ROUTING_PREFIX}_SET_SIBLINGS`;\nexport const SET_ENTRY_ID = `${ROUTING_PREFIX}_SET_ENTRY_ID`;\nexport const SET_SURROGATE_KEYS = `${ROUTING_PREFIX}_SET_SURROGATE_KEYS`;\n\nexport const SET_NAVIGATION_PATH = `${ROUTING_PREFIX}_SET_NAVIGATION_PATH`;\n\nexport const SET_TARGET_PROJECT = `${ROUTING_PREFIX}_SET_TARGET_PROJECT`;\n\nexport const SET_ROUTE = `${ROUTING_PREFIX}_SET_ROUTE`;\n\nexport const UPDATE_LOADING_STATE = `${ROUTING_PREFIX}_UPDATE_LOADING_STATE`;\n","import { useLocation } from 'react-router-dom';\nimport { action } from '~/redux/util';\nimport {\n SET_ENTRY,\n SET_NAVIGATION_PATH,\n SET_TARGET_PROJECT,\n SET_ROUTE,\n SET_SURROGATE_KEYS,\n} from './types';\n\nimport { Entry } from 'contensis-delivery-api/lib/models';\nimport { AppRoutes, MatchedRoute, StaticRoute, SSRContext, WithEvents } from '~/models';\n\nexport const setNavigationPath = (\n path: string,\n contentPath: string,\n location: ReturnType<typeof useLocation>,\n staticRoute: MatchedRoute<string, StaticRoute> | undefined,\n withEvents: WithEvents,\n statePath: string,\n routes: AppRoutes,\n ssr: SSRContext\n) =>\n action(SET_NAVIGATION_PATH, {\n path,\n contentPath,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes,\n ssr,\n });\n\nexport const setCurrentProject = (\n project: string,\n allowedGroups: any,\n hostname: string\n) => action(SET_TARGET_PROJECT, { project, allowedGroups, hostname });\n\nexport const setRoute = (path: string, state?: any) =>\n action(SET_ROUTE, { path, state });\n\nexport const setRouteEntry = (entry: Entry) => action(SET_ENTRY, { entry });\n\nexport const setSurrogateKeys = (keys: string, url: string, status: number) =>\n action(SET_SURROGATE_KEYS, { keys, url, status });\n","const ACTION_PREFIX = '@USER/';\nexport const VALIDATE_USER = `${ACTION_PREFIX}VALIDATE_USER`;\nexport const SET_AUTHENTICATION_STATE = `${ACTION_PREFIX}SET_AUTHENTICATION_STATE`;\nexport const LOGIN_USER = `${ACTION_PREFIX}LOGIN_USER`;\nexport const LOGIN_SUCCESSFUL = `${ACTION_PREFIX}LOGIN_SUCCESSFUL`;\nexport const LOGIN_FAILED = `${ACTION_PREFIX}LOGIN_FAILED`;\nexport const LOGOUT_USER = `${ACTION_PREFIX}LOGOUT_USER`;\nexport const REGISTER_USER = `${ACTION_PREFIX}REGISTER_USER`;\nexport const REGISTER_USER_SUCCESS = `${ACTION_PREFIX}REGISTER_USER_SUCCESS`;\nexport const REGISTER_USER_FAILED = `${ACTION_PREFIX}REGISTER_USER_FAILED`;\n\nexport const REQUEST_USER_PASSWORD_RESET = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET`;\nexport const RESET_USER_PASSWORD = `${ACTION_PREFIX}RESET_USER_PASSWORD`;\nexport const REQUEST_USER_PASSWORD_RESET_SENDING = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET_SENDING`;\nexport const REQUEST_USER_PASSWORD_RESET_SUCCESS = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET_SUCCESS`;\nexport const REQUEST_USER_PASSWORD_RESET_ERROR = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET_ERROR`;\nexport const RESET_USER_PASSWORD_SENDING = `${ACTION_PREFIX}RESET_USER_PASSWORD_SENDING`;\nexport const RESET_USER_PASSWORD_SUCCESS = `${ACTION_PREFIX}RESET_USER_PASSWORD_SUCCESS`;\nexport const RESET_USER_PASSWORD_ERROR = `${ACTION_PREFIX}RESET_USER_PASSWORD_ERROR`;\n\nexport const CHANGE_USER_PASSWORD = `${ACTION_PREFIX}CHANGE_USER_PASSWORD`;\nexport const CHANGE_USER_PASSWORD_SENDING = `${ACTION_PREFIX}CHANGE_USER_PASSWORD_SENDING`;\nexport const CHANGE_USER_PASSWORD_SUCCESS = `${ACTION_PREFIX}CHANGE_USER_PASSWORD_SUCCESS`;\nexport const CHANGE_USER_PASSWORD_ERROR = `${ACTION_PREFIX}CHANGE_USER_PASSWORD_ERROR`;\n","import { Draft, produce } from 'immer';\nimport { AppState } from '~/models';\nimport {\n REGISTER_USER,\n REGISTER_USER_FAILED,\n REGISTER_USER_SUCCESS,\n SET_AUTHENTICATION_STATE,\n LOGIN_USER,\n LOGOUT_USER,\n REQUEST_USER_PASSWORD_RESET_SENDING,\n REQUEST_USER_PASSWORD_RESET_SUCCESS,\n REQUEST_USER_PASSWORD_RESET_ERROR,\n RESET_USER_PASSWORD_SENDING,\n RESET_USER_PASSWORD_SUCCESS,\n RESET_USER_PASSWORD_ERROR,\n CHANGE_USER_PASSWORD_SENDING,\n CHANGE_USER_PASSWORD_SUCCESS,\n CHANGE_USER_PASSWORD_ERROR,\n} from './types';\n\nconst defaultAuthenticationState = {\n clientCredentials: null,\n errorMessage: null,\n isAuthenticated: false,\n isAuthenticationError: false,\n isError: false,\n isLoading: false,\n};\n\nconst defaultPasswordResetRequestValues = {\n isSending: false,\n sent: false,\n error: null,\n};\n\nconst defaultResetPasswordValues = {\n isSending: false,\n sent: false,\n error: null,\n};\n\nconst defaultChangePasswordValues = {\n isSending: false,\n sent: false,\n error: null,\n};\n\nconst defaultRegistrationValues = {\n isLoading: false,\n success: false,\n error: null,\n};\n\nexport const initialUserState = {\n authenticationState: defaultAuthenticationState,\n passwordResetRequest: defaultPasswordResetRequestValues,\n resetPassword: defaultResetPasswordValues,\n changePassword: defaultChangePasswordValues,\n groups: [],\n};\n\nexport default produce((state: Draft<AppState['user']>, action) => {\n switch (action.type) {\n case LOGOUT_USER: {\n return initialUserState;\n }\n case LOGIN_USER:\n case SET_AUTHENTICATION_STATE: {\n if (!action.authenticationState) {\n action.authenticationState = defaultAuthenticationState;\n }\n\n const {\n authenticationState: {\n clientCredentials = null,\n errorMessage = null,\n isAuthenticated,\n isAuthenticationError = false,\n isError = false,\n isLoading = action.type === LOGIN_USER,\n },\n user,\n } = action;\n\n if (user) {\n user.name =\n `${user.firstName}${user.lastName ? ` ${user.lastName}` : ''}` ||\n null;\n user.isZengentiStaff = user.email.includes('@zengenti.com');\n }\n\n state = {\n ...initialUserState,\n ...(user || state),\n authenticationState: {\n clientCredentials,\n errorMessage,\n isAuthenticated:\n isAuthenticated || state?.authenticationState?.isAuthenticated,\n isAuthenticationError,\n isError,\n isLoading,\n },\n };\n return state;\n }\n // REGISTER_USER is the trigger to set the user.registration initial state\n // and will set user.registration.isLoading to true\n // REGISTER_USER_FAILED will unset user.registration.isLoading and will set\n // the value in user.registration.error\n // REGISTER_USER_SUCCESS will unset user.registration.isLoading and will\n // set user.registration to the created user from the api response\n case REGISTER_USER:\n case REGISTER_USER_FAILED:\n case REGISTER_USER_SUCCESS: {\n const { error, user } = action;\n\n // Set registration object from the supplied action.user\n // so we can call these values back later\n state.registration = (user ||\n state.registration ||\n defaultRegistrationValues) as typeof defaultRegistrationValues;\n\n // Set registration flags so the UI can track the status\n state.registration.success = action.type === REGISTER_USER_SUCCESS;\n state.registration.error = error || false;\n state.registration.isLoading = action.type === REGISTER_USER;\n return;\n }\n case REQUEST_USER_PASSWORD_RESET_SENDING:\n if (state.passwordResetRequest) {\n state.passwordResetRequest = { ...defaultPasswordResetRequestValues };\n state.passwordResetRequest.isSending = true;\n }\n return;\n case REQUEST_USER_PASSWORD_RESET_SUCCESS:\n if (state.passwordResetRequest) {\n state.passwordResetRequest.isSending = false;\n state.passwordResetRequest.sent = true;\n }\n return;\n case REQUEST_USER_PASSWORD_RESET_ERROR:\n if (state.passwordResetRequest) {\n state.passwordResetRequest.isSending = false;\n state.passwordResetRequest.error = action.error;\n }\n return;\n case RESET_USER_PASSWORD_SENDING:\n if (state.resetPassword) {\n state.resetPassword.isSending = true;\n }\n return;\n case RESET_USER_PASSWORD_SUCCESS:\n if (state.resetPassword) {\n state.resetPassword.isSending = false;\n state.resetPassword.sent = true;\n }\n return;\n case RESET_USER_PASSWORD_ERROR:\n if (state.resetPassword) {\n state.resetPassword.isSending = false;\n state.resetPassword.error = action.error;\n }\n return;\n case CHANGE_USER_PASSWORD_SENDING:\n if (state.changePassword) {\n state.changePassword.isSending = true;\n }\n return;\n case CHANGE_USER_PASSWORD_SUCCESS:\n if (state.changePassword) {\n state.changePassword.isSending = false;\n state.changePassword.sent = true;\n }\n return;\n case CHANGE_USER_PASSWORD_ERROR:\n if (state.changePassword) {\n state.changePassword.isSending = false;\n state.changePassword.error = action.error;\n }\n return;\n default:\n return;\n }\n}, initialUserState);\n","import queryString from 'query-string';\n\nexport function queryParams(search) {\n return queryString.parse(\n typeof window != 'undefined' ? window.location.search : search\n );\n}\nexport const routeParams = staticRoute =>\n staticRoute && staticRoute.match ? staticRoute.match.params : {};\n\nexport const buildUrl = (route, params) => {\n const qs = queryString.stringify(params);\n const path = qs ? `${route}?${qs}` : route;\n return path;\n};\n\nexport const clientHostname = () =>\n `${window.location.protocol}//${window.location.hostname}:${window.location.port}`;\n","import { Entry } from 'contensis-delivery-api';\nimport { createSelector } from 'reselect';\nimport { AppState, MatchedRoute, StateType, StaticRoute } from '~/models';\nimport { getImmutableOrJS as getIn } from '~/redux/util';\nimport { queryParams } from '~/util/navigation';\n\nexport const selectRouteEntry = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'entry'], {} as Entry, returnType);\n\nexport const selectMappedEntry = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'mappedEntry'], null, returnType);\n\nexport const selectSurrogateKeys = (state: AppState) => {\n const keys = getIn(state, ['routing', 'surrogateKeys'], [], 'js');\n return keys;\n};\nexport const selectSsrApiCalls = (state: AppState) => {\n return getIn(state, ['routing', 'apiCalls'], [], 'js');\n};\nexport const selectCurrentHostname = (state: AppState) =>\n getIn(state, ['routing', 'currentHostname']);\n\nexport const selectSsrHostname = (state: AppState) =>\n getIn(state, ['routing', 'ssrHostname']);\n\nexport const selectCurrentTreeID = (state: AppState) =>\n getIn(state, ['routing', 'currentHostname']);\n\nexport const selectRouteEntryEntryId = (state: AppState) =>\n getIn(state, ['routing', 'entry', 'sys', 'id'], null);\n\nexport const selectRouteEntryContentTypeId = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'contentTypeId'], null);\n};\n\nexport const selectRouteEntryLanguage = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'language'], null);\n};\n\nexport const selectRouteEntryAvailableLanguages = (\n state: AppState\n): string[] => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'availableLanguages'], []);\n};\n\nexport const selectRouteEntrySlug = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'slug'], null);\n};\n\nexport const selectRouteEntryID = (state: AppState) =>\n getIn(state, ['routing', 'entryID']);\n\nexport const selectCanonicalPath = (state: AppState) => {\n return getIn(state, ['routing', 'canonicalPath']);\n};\n\nexport const selectCurrentPath = (state: AppState) =>\n getIn(state, ['routing', 'currentPath']);\n\nexport const selectCurrentLocation = (state: AppState) =>\n getIn(state, ['routing', 'location']);\nexport const selectCurrentSearch = (state: AppState) =>\n getIn(state, ['routing', 'location', 'search']);\nexport const selectCurrentHash = (state: AppState) =>\n getIn(state, ['routing', 'location', 'hash']);\n\n// export const selectQueryStringAsObject = (state: AppState) =>\n// queryParams(selectCurrentSearch(state));\n\nexport const selectQueryStringAsObject = createSelector(\n [selectCurrentSearch],\n currentSearch => queryParams(currentSearch)\n);\n\nexport const selectCurrentProject = (state: AppState) =>\n getIn(state, ['routing', 'currentProject']);\nexport const selectIsNotFound = (state: AppState) =>\n getIn(state, ['routing', 'notFound']);\nexport const selectCurrentAncestors = (state: AppState) =>\n getIn(state, ['routing', 'currentNodeAncestors'], []);\nexport const selectCurrentSiblings = (state: AppState) =>\n getIn(state, ['routing', 'currentNodeSiblings'], []);\nexport const selectCurrentNode = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'currentNode'], null, returnType);\nexport const selectCurrentNodeLanguage = (state: AppState) =>\n getIn(state, ['routing', 'currentNode', 'language'], null);\nexport const selectCurrentChildren = state =>\n getIn(state, ['routing', 'currentNode', 'children'], []);\n\n// export const selectBreadcrumb = (state: AppState) => {\n// return [...selectCurrentAncestors(state), selectCurrentNode(state)];\n// };\n\nexport const selectBreadcrumb = createSelector(\n [selectCurrentAncestors, selectCurrentNode],\n (currentAncestors, currentNode) => [...currentAncestors, currentNode]\n);\n\nexport const selectRouteErrorMessage = (state: AppState) => {\n const error = getIn(state, ['routing', 'error']);\n return getIn(error, ['data', 'message'], getIn(error, 'statusText'));\n};\nexport const selectRouteIsError = (state: AppState) =>\n getIn(state, ['routing', 'isError']);\nexport const selectRouteLoading = (state: AppState) =>\n getIn(state, ['routing', 'isLoading']);\nexport const selectRouteStatusCode = (state: AppState) =>\n getIn(state, ['routing', 'statusCode']);\nexport const selectStaticRoute = (\n state: AppState\n): MatchedRoute<string, StaticRoute> =>\n getIn(state, ['routing', 'staticRoute']);\n"],"names":["action","type","payload","getJS","state","stateKey","get","toJS","getImmutableOrJS","fallbackValue","returnType","globalThis","STATE_TYPE","_globalThis$immutable","_globalThis$immutable2","fromJS","immutable","fromJSOrdered","v","getIn","Array","isArray","result","jpath","join","undefined","ROUTING_PREFIX","GET_ENTRY","SET_ENTRY","SET_NODE","SET_ANCESTORS","SET_SIBLINGS","SET_ENTRY_ID","SET_SURROGATE_KEYS","SET_NAVIGATION_PATH","SET_TARGET_PROJECT","SET_ROUTE","UPDATE_LOADING_STATE","setNavigationPath","path","contentPath","location","staticRoute","withEvents","statePath","routes","ssr","setCurrentProject","project","allowedGroups","hostname","setRoute","setRouteEntry","entry","setSurrogateKeys","keys","url","status","ACTION_PREFIX","VALIDATE_USER","SET_AUTHENTICATION_STATE","LOGIN_USER","LOGIN_SUCCESSFUL","LOGIN_FAILED","LOGOUT_USER","REGISTER_USER","REGISTER_USER_SUCCESS","REGISTER_USER_FAILED","REQUEST_USER_PASSWORD_RESET","RESET_USER_PASSWORD","REQUEST_USER_PASSWORD_RESET_SENDING","REQUEST_USER_PASSWORD_RESET_SUCCESS","REQUEST_USER_PASSWORD_RESET_ERROR","RESET_USER_PASSWORD_SENDING","RESET_USER_PASSWORD_SUCCESS","RESET_USER_PASSWORD_ERROR","CHANGE_USER_PASSWORD","CHANGE_USER_PASSWORD_SENDING","CHANGE_USER_PASSWORD_SUCCESS","CHANGE_USER_PASSWORD_ERROR","defaultAuthenticationState","clientCredentials","errorMessage","isAuthenticated","isAuthenticationError","isError","isLoading","defaultPasswordResetRequestValues","isSending","sent","error","defaultResetPasswordValues","defaultChangePasswordValues","defaultRegistrationValues","success","initialUserState","authenticationState","passwordResetRequest","resetPassword","changePassword","groups","produce","_state","user","name","firstName","lastName","isZengentiStaff","email","includes","registration","queryParams","search","queryString","parse","window","selectRouteEntry","selectMappedEntry","selectSurrogateKeys","selectSsrApiCalls","selectCurrentHostname","selectSsrHostname","selectCurrentTreeID","selectRouteEntryEntryId","selectRouteEntryContentTypeId","selectRouteEntryLanguage","selectRouteEntryAvailableLanguages","selectRouteEntrySlug","selectRouteEntryID","selectCanonicalPath","selectCurrentPath","selectCurrentLocation","selectCurrentSearch","selectCurrentHash","selectQueryStringAsObject","createSelector","currentSearch","selectCurrentProject","selectIsNotFound","selectCurrentAncestors","selectCurrentSiblings","selectCurrentNode","selectCurrentNodeLanguage","selectCurrentChildren","selectBreadcrumb","currentAncestors","currentNode","selectRouteErrorMessage","selectRouteIsError","selectRouteLoading","selectRouteStatusCode","selectStaticRoute"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ const selectLocales = state => state.i18n.locales;
2
+ const selectLocaleRoutes = state => state.i18n.routes;
3
+ const selectCurrentLanguage = state => state.i18n.currentLanguage;
4
+ const selectPrimaryLanguage = state => state.i18n.primaryLanguage;
5
+ const selectSupportedLanguages = state => state.i18n.supportedLanguages;
6
+ const selectDictionary = state => state.i18n.dictionary;
7
+ const selectDictionaryResolver = state => state.i18n.resolver;
8
+
9
+ export { selectDictionary as a, selectLocales as b, selectLocaleRoutes as c, selectPrimaryLanguage as d, selectSupportedLanguages as e, selectDictionaryResolver as f, selectCurrentLanguage as s };
10
+ //# sourceMappingURL=selectors-DcmvOeX2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors-DcmvOeX2.js","sources":["../src/i18n/redux/selectors.ts"],"sourcesContent":["import { AppState } from '~/models';\nimport { LocaleDictionary } from '~/models/Locales';\n\nexport const selectLocales = (state: AppState) => state.i18n.locales;\n\nexport const selectLocaleRoutes = (state: AppState) => state.i18n.routes;\n\nexport const selectCurrentLanguage = (state: AppState) =>\n state.i18n.currentLanguage;\n\nexport const selectPrimaryLanguage = (state: AppState) =>\n state.i18n.primaryLanguage;\n\nexport const selectSupportedLanguages = (state: AppState) =>\n state.i18n.supportedLanguages;\n\nexport const selectDictionary = <T extends LocaleDictionary = LocaleDictionary>(state: AppState) =>\n state.i18n.dictionary as T;\n\nexport const selectDictionaryResolver = (state: AppState) =>\n state.i18n.resolver;\n"],"names":["selectLocales","state","i18n","locales","selectLocaleRoutes","routes","selectCurrentLanguage","currentLanguage","selectPrimaryLanguage","primaryLanguage","selectSupportedLanguages","supportedLanguages","selectDictionary","dictionary","selectDictionaryResolver","resolver"],"mappings":"AAGO,MAAMA,aAAa,GAAIC,KAAe,IAAKA,KAAK,CAACC,IAAI,CAACC;AAEtD,MAAMC,kBAAkB,GAAIH,KAAe,IAAKA,KAAK,CAACC,IAAI,CAACG;AAE3D,MAAMC,qBAAqB,GAAIL,KAAe,IACnDA,KAAK,CAACC,IAAI,CAACK;AAEN,MAAMC,qBAAqB,GAAIP,KAAe,IACnDA,KAAK,CAACC,IAAI,CAACO;AAEN,MAAMC,wBAAwB,GAAIT,KAAe,IACtDA,KAAK,CAACC,IAAI,CAACS;AAEN,MAAMC,gBAAgB,GAAmDX,KAAe,IAC7FA,KAAK,CAACC,IAAI,CAACW;AAEN,MAAMC,wBAAwB,GAAIb,KAAe,IACtDA,KAAK,CAACC,IAAI,CAACa;;;;"}
@@ -0,0 +1,63 @@
1
+ import { createSlice } from '@reduxjs/toolkit';
2
+
3
+ const i18nSlice = createSlice({
4
+ name: 'i18n',
5
+ initialState: {
6
+ currentLanguage: '',
7
+ dictionary: {},
8
+ locales: {},
9
+ routes: {},
10
+ primaryLanguage: '',
11
+ supportedLanguages: [],
12
+ resolver: undefined,
13
+ error: undefined
14
+ },
15
+ reducers: {
16
+ GET_ENTRY_URI_ERROR(draft, {
17
+ payload
18
+ }) {
19
+ draft.error = payload;
20
+ },
21
+ INIT_LOCALES(draft, {
22
+ payload
23
+ }) {
24
+ draft.locales = payload.locales;
25
+ draft.routes = payload.routes;
26
+ draft.primaryLanguage = payload.primaryLanguage;
27
+ draft.supportedLanguages = payload.supportedLanguages;
28
+ if (payload.resolver) draft.resolver = payload.resolver;
29
+ },
30
+ SET_LANGUAGE(draft, {
31
+ payload
32
+ }) {
33
+ draft.currentLanguage = payload.language;
34
+ if (payload.dictionary) draft.dictionary = payload.dictionary;
35
+ },
36
+ SET_LOCALES(draft, {
37
+ payload
38
+ }) {
39
+ // Sort locales object by keys alphabetically
40
+ const sortedLocales = Object.keys(payload.locales || {}).sort().reduce((sorted, key) => {
41
+ sorted[key] = payload.locales[key];
42
+ return sorted;
43
+ }, {});
44
+ draft.locales = sortedLocales;
45
+ draft.primaryLanguage = payload.primaryLanguage;
46
+ draft.supportedLanguages = [...(payload.supportedLanguages || [])].sort();
47
+ if (payload.resolver) draft.resolver = payload.resolver;
48
+ },
49
+ /** UPDATE_LANGUAGE action triggers updateLanguage saga and ends with SET_LANGUAGE */
50
+ UPDATE_LANGUAGE(_draft, _) {}
51
+ }
52
+ });
53
+ const {
54
+ actions,
55
+ reducer,
56
+ getInitialState
57
+ } = i18nSlice;
58
+
59
+ // Alias some nicer named exports for the actions
60
+ const updateLanguage = actions.UPDATE_LANGUAGE;
61
+
62
+ export { actions as a, getInitialState as g, i18nSlice as i, reducer as r, updateLanguage as u };
63
+ //# sourceMappingURL=slice-C6JLQik8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slice-C6JLQik8.js","sources":["../src/i18n/redux/slice.ts"],"sourcesContent":["import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { I18nAppConfig } from '~/models/config/I18n';\nimport { LocaleDictionary, LocaleRoutes, Locales } from '~/models/Locales';\n\nexport type UpdateLanguageActionPayload = {\n language: string;\n redirect?: boolean | string;\n fallbackPath?: string;\n};\n\nconst i18nSlice = createSlice({\n name: 'i18n',\n initialState: {\n currentLanguage: '',\n dictionary: {} as LocaleDictionary,\n locales: {} as { [language: string]: any },\n routes: {} as LocaleRoutes,\n primaryLanguage: '',\n supportedLanguages: [] as string[],\n resolver: undefined as\n | ((language: string) => Promise<LocaleDictionary> | LocaleDictionary)\n | undefined,\n error: undefined as Error | undefined,\n },\n reducers: {\n GET_ENTRY_URI_ERROR(draft, { payload }: PayloadAction<Error>) {\n draft.error = payload;\n },\n INIT_LOCALES(\n draft,\n {\n payload,\n }: PayloadAction<\n {\n locales: Locales;\n routes: LocaleRoutes;\n } & I18nAppConfig\n >\n ) {\n draft.locales = payload.locales;\n draft.routes = payload.routes;\n draft.primaryLanguage = payload.primaryLanguage;\n draft.supportedLanguages = payload.supportedLanguages;\n if (payload.resolver) draft.resolver = payload.resolver;\n },\n SET_LANGUAGE(\n draft,\n {\n payload,\n }: PayloadAction<{\n language: string;\n dictionary: LocaleDictionary;\n redirect?: string;\n }>\n ) {\n draft.currentLanguage = payload.language;\n if (payload.dictionary) draft.dictionary = payload.dictionary;\n },\n SET_LOCALES(\n draft,\n {\n payload,\n }: PayloadAction<\n {\n locales: Locales;\n } & I18nAppConfig\n >\n ) {\n // Sort locales object by keys alphabetically\n const sortedLocales = Object.keys(payload.locales || {})\n .sort()\n .reduce((sorted, key) => {\n sorted[key] = payload.locales[key];\n return sorted;\n }, {});\n\n draft.locales = sortedLocales;\n draft.primaryLanguage = payload.primaryLanguage;\n draft.supportedLanguages = [...(payload.supportedLanguages || [])].sort();\n if (payload.resolver) draft.resolver = payload.resolver;\n },\n /** UPDATE_LANGUAGE action triggers updateLanguage saga and ends with SET_LANGUAGE */\n UPDATE_LANGUAGE(_draft, _: PayloadAction<UpdateLanguageActionPayload>) {},\n },\n});\n\nexport const { actions, reducer, getInitialState } = i18nSlice;\n\n// Alias some nicer named exports for the actions\nexport const updateLanguage = actions.UPDATE_LANGUAGE;\n\nexport default i18nSlice;\n"],"names":["i18nSlice","createSlice","name","initialState","currentLanguage","dictionary","locales","routes","primaryLanguage","supportedLanguages","resolver","undefined","error","reducers","GET_ENTRY_URI_ERROR","draft","payload","INIT_LOCALES","SET_LANGUAGE","language","SET_LOCALES","sortedLocales","Object","keys","sort","reduce","sorted","key","UPDATE_LANGUAGE","_draft","_","actions","reducer","getInitialState","updateLanguage"],"mappings":";;AAUA,MAAMA,SAAS,GAAGC,WAAW,CAAC;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,YAAY,EAAE;AACZC,IAAAA,eAAe,EAAE,EAAE;IACnBC,UAAU,EAAE,EAAsB;IAClCC,OAAO,EAAE,EAAiC;IAC1CC,MAAM,EAAE,EAAkB;AAC1BC,IAAAA,eAAe,EAAE,EAAE;AACnBC,IAAAA,kBAAkB,EAAE,EAAc;AAClCC,IAAAA,QAAQ,EAAEC,SAEG;AACbC,IAAAA,KAAK,EAAED;GACR;AACDE,EAAAA,QAAQ,EAAE;IACRC,mBAAmBA,CAACC,KAAK,EAAE;AAAEC,MAAAA;AAA8B,KAAC,EAAE;MAC5DD,KAAK,CAACH,KAAK,GAAGI,OAAO;IACvB,CAAC;IACDC,YAAYA,CACVF,KAAK,EACL;AACEC,MAAAA;AAMF,KAAC,EACD;AACAD,MAAAA,KAAK,CAACT,OAAO,GAAGU,OAAO,CAACV,OAAO;AAC/BS,MAAAA,KAAK,CAACR,MAAM,GAAGS,OAAO,CAACT,MAAM;AAC7BQ,MAAAA,KAAK,CAACP,eAAe,GAAGQ,OAAO,CAACR,eAAe;AAC/CO,MAAAA,KAAK,CAACN,kBAAkB,GAAGO,OAAO,CAACP,kBAAkB;MACrD,IAAIO,OAAO,CAACN,QAAQ,EAAEK,KAAK,CAACL,QAAQ,GAAGM,OAAO,CAACN,QAAQ;IACzD,CAAC;IACDQ,YAAYA,CACVH,KAAK,EACL;AACEC,MAAAA;AAKD,KAAC,EACF;AACAD,MAAAA,KAAK,CAACX,eAAe,GAAGY,OAAO,CAACG,QAAQ;MACxC,IAAIH,OAAO,CAACX,UAAU,EAAEU,KAAK,CAACV,UAAU,GAAGW,OAAO,CAACX,UAAU;IAC/D,CAAC;IACDe,WAAWA,CACTL,KAAK,EACL;AACEC,MAAAA;AAKF,KAAC,EACD;AACA;MACA,MAAMK,aAAa,GAAGC,MAAM,CAACC,IAAI,CAACP,OAAO,CAACV,OAAO,IAAI,EAAE,CAAC,CACrDkB,IAAI,EAAE,CACNC,MAAM,CAAC,CAACC,MAAM,EAAEC,GAAG,KAAK;QACvBD,MAAM,CAACC,GAAG,CAAC,GAAGX,OAAO,CAACV,OAAO,CAACqB,GAAG,CAAC;AAClC,QAAA,OAAOD,MAAM;MACf,CAAC,EAAE,EAAE,CAAC;MAERX,KAAK,CAACT,OAAO,GAAGe,aAAa;AAC7BN,MAAAA,KAAK,CAACP,eAAe,GAAGQ,OAAO,CAACR,eAAe;AAC/CO,MAAAA,KAAK,CAACN,kBAAkB,GAAG,CAAC,IAAIO,OAAO,CAACP,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAACe,IAAI,EAAE;MACzE,IAAIR,OAAO,CAACN,QAAQ,EAAEK,KAAK,CAACL,QAAQ,GAAGM,OAAO,CAACN,QAAQ;IACzD,CAAC;AACD;AACAkB,IAAAA,eAAeA,CAACC,MAAM,EAAEC,CAA6C,EAAE,CAAC;AAC1E;AACF,CAAC;AAEM,MAAM;EAAEC,OAAO;EAAEC,OAAO;AAAEC,EAAAA;AAAgB,CAAC,GAAGjC;;AAErD;AACO,MAAMkC,cAAc,GAAGH,OAAO,CAACH;;;;"}
@@ -2,8 +2,10 @@ import { compose, applyMiddleware, createStore as createStore$1, combineReducers
2
2
  import { thunk } from 'redux-thunk';
3
3
  import createSagaMiddleware, { END } from 'redux-saga';
4
4
  import { createInjectorsEnhancer } from 'redux-injectors-19';
5
+ import { i as i18nSlice } from './slice-C6JLQik8.js';
5
6
  import { produce, original } from 'immer';
6
- import { S as SET_TARGET_PROJECT, v as SET_SURROGATE_KEYS, w as SET_SIBLINGS, x as SET_ROUTE, y as SET_NAVIGATION_PATH, z as UPDATE_LOADING_STATE, A as SET_ENTRY, B as SET_ANCESTORS, U as UserReducer } from './selectors-DO2ocdOp.js';
7
+ import { S as SET_TARGET_PROJECT, v as SET_SURROGATE_KEYS, w as SET_SIBLINGS, x as SET_ROUTE, y as SET_NAVIGATION_PATH, z as UPDATE_LOADING_STATE, A as SET_ENTRY, B as SET_ANCESTORS, U as UserReducer } from './selectors-8ROQrTd7.js';
8
+ import { all } from '@redux-saga/core/effects';
7
9
 
8
10
  const ACTION_PREFIX = '@NAVIGATION/';
9
11
  const GET_NODE_TREE = `${ACTION_PREFIX}_GET_NODE_TREE`;
@@ -59,6 +61,7 @@ const initialState$1 = {
59
61
  location: {},
60
62
  mappedEntry: null,
61
63
  notFound: false,
64
+ ssrHostname: null,
62
65
  staticRoute: null,
63
66
  statusCode: 200,
64
67
  surrogateKeys: [],
@@ -196,6 +199,7 @@ var RoutingReducer = produce((state, action) => {
196
199
  {
197
200
  state.currentProject = action.project;
198
201
  state.allowedGroups = action.allowedGroups;
202
+ state.ssrHostname = state.currentHostname || action.hostname;
199
203
  state.currentHostname = action.hostname;
200
204
  return;
201
205
  }
@@ -237,6 +241,13 @@ var VersionReducer = produce((state, action) => {
237
241
  }
238
242
  }, initialState);
239
243
 
244
+ const wrapSagasInGenerator = function (sagas) {
245
+ if (Array.isArray(sagas)) return function* rootSaga() {
246
+ yield all(sagas);
247
+ };
248
+ return sagas;
249
+ };
250
+
240
251
  /**
241
252
  * This middleware captures 'CALL_HISTORY_METHOD' actions to redirect to the
242
253
  * provided history object. This will prevent these actions from reaching your
@@ -256,6 +267,9 @@ const routerMiddleware = history => store => next => action => {
256
267
  history[method](...args);
257
268
  };
258
269
 
270
+ /** A no-op reducer to serve for server-rendered reducers
271
+ * that are re-injected client-side */
272
+ const stubReducer = (state = null) => state;
259
273
  let reduxStore;
260
274
  var createStore = async (featureReducers, initialState, history, stateType) => {
261
275
  let reduxDevToolsMiddleware = f => f;
@@ -264,6 +278,7 @@ var createStore = async (featureReducers, initialState, history, stateType) => {
264
278
  }
265
279
  const sagaMiddleware = createSagaMiddleware();
266
280
  const reducers = {
281
+ i18n: i18nSlice.reducer,
267
282
  navigation: NavigationReducer,
268
283
  routing: RoutingReducer,
269
284
  user: UserReducer,
@@ -291,18 +306,50 @@ var createStore = async (featureReducers, initialState, history, stateType) => {
291
306
  };
292
307
  const store = initialState => {
293
308
  const runSaga = sagaMiddleware.run;
309
+
310
+ // Track the initial set of sagas here
311
+ const initialSagas = new Set();
312
+
313
+ // Patch the runSaga function to capture and track the sagas
314
+ // passed as a raw array of effects
315
+ const patchedRunSaga = sagas => {
316
+ // Only track the saga the first time it is run
317
+ if (Array.isArray(sagas)) {
318
+ for (const saga of sagas) if (!initialSagas.has(saga)) {
319
+ initialSagas.add(saga);
320
+ }
321
+ } else {
322
+ if (!initialSagas.has(sagas)) {
323
+ initialSagas.add(sagas);
324
+ }
325
+ }
326
+ const rootSaga = wrapSagasInGenerator(sagas);
327
+
328
+ // Run the saga as usual
329
+ return runSaga(rootSaga);
330
+ };
331
+
332
+ // Assign stub reducers for any missing reducers that have been
333
+ // injected server-side and will be re-injected client-side
334
+ const injectReducers = {};
335
+ for (const key of Object.keys(initialState || {})) {
336
+ if (!(key in reducers)) injectReducers[key] = stubReducer;
337
+ }
294
338
  const middleware = compose(applyMiddleware(thunk, sagaMiddleware, routerMiddleware(history)), createInjectorsEnhancer({
295
339
  createReducer,
340
+ // Assign patched runSaga to store
296
341
  runSaga
297
342
  }), reduxDevToolsMiddleware);
298
- const store = createStore$1(createReducer(), initialState, middleware);
299
- store.runSaga = runSaga;
343
+ const store = createStore$1(createReducer(injectReducers), initialState, middleware);
344
+ store.runSaga = patchedRunSaga; // Assign patched runSaga to the store
300
345
  store.close = () => store.dispatch(END);
346
+ store.initialSagas = initialSagas; // Store the initial sagas set
347
+
301
348
  return store;
302
349
  };
303
350
  reduxStore = store(fromJS(initialState));
304
351
  return reduxStore;
305
352
  };
306
353
 
307
- export { GET_NODE_TREE as G, SET_VERSION as S, SET_VERSION_STATUS as a, SET_NODE_TREE as b, createStore as c, GET_NODE_TREE_ERROR as d, navigation as n, reduxStore as r, version as v };
308
- //# sourceMappingURL=store-3u0RzHZ0.js.map
354
+ export { GET_NODE_TREE as G, SET_VERSION as S, SET_VERSION_STATUS as a, SET_NODE_TREE as b, createStore as c, GET_NODE_TREE_ERROR as d, navigation as n, reduxStore as r, version as v, wrapSagasInGenerator as w };
355
+ //# sourceMappingURL=store-DSjRYsM2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-DSjRYsM2.js","sources":["../src/redux/types/navigation.js","../src/redux/reducers/navigation.ts","../src/routing/redux/reducers.ts","../src/redux/types/version.js","../src/redux/reducers/version.ts","../src/redux/store/injectors/util.ts","../src/redux/store/routerMiddleware.js","../src/redux/store/store.ts"],"sourcesContent":["const ACTION_PREFIX = '@NAVIGATION/';\nexport const GET_NODE_TREE = `${ACTION_PREFIX}_GET_NODE_TREE`;\nexport const SET_NODE_TREE = `${ACTION_PREFIX}_SET_NODE_TREE`;\nexport const GET_NODE_TREE_ERROR = `${ACTION_PREFIX}_GET_NODE_TREE_ERROR`;\n","import { Draft, produce } from 'immer';\nimport { SET_NODE_TREE, GET_NODE_TREE_ERROR } from '~/redux/types/navigation';\n\nconst initialState = {\n root: null,\n error: {\n isError: false,\n message: null,\n },\n isReady: false,\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_NODE_TREE: {\n state.root = action.nodes;\n state.isReady = true;\n return;\n }\n case GET_NODE_TREE_ERROR: {\n state.error.isError = true;\n state.error.message = action.error || 'Unknown error occurred';\n return;\n }\n default:\n return;\n }\n}, initialState);\n","import { Draft, original, produce } from 'immer';\n\nimport {\n SET_ENTRY,\n SET_NAVIGATION_PATH,\n SET_ANCESTORS,\n SET_TARGET_PROJECT,\n SET_ROUTE,\n SET_SIBLINGS,\n SET_SURROGATE_KEYS,\n UPDATE_LOADING_STATE,\n} from './types';\n\nconst initialState = {\n canonicalPath: null,\n currentHostname: null,\n currentPath: '/',\n currentNode: {},\n currentNodeAncestors: [],\n currentProject: 'unknown',\n entryID: null,\n entry: null,\n error: undefined,\n isError: false,\n isLoading: false,\n location: {},\n mappedEntry: null,\n notFound: false,\n ssrHostname: null,\n staticRoute: null,\n statusCode: 200,\n surrogateKeys: [],\n apiCalls: [],\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_ANCESTORS: {\n state.currentNodeAncestors = action.ancestors;\n return;\n }\n case SET_ENTRY: {\n const {\n entry,\n error,\n mappedEntry,\n node = {},\n isError = false,\n isLoading = false,\n notFound = false,\n statusCode,\n currentPath,\n } = action;\n\n let defaultStatus = 200;\n if (notFound === true && isError === false) defaultStatus = 404;\n else if (isError === true) defaultStatus = statusCode || 500;\n\n if (!entry) {\n state.entryID = null;\n state.entry = null;\n state.error = error;\n state.mappedEntry = null;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n state.canonicalPath = currentPath;\n } else {\n state.entryID = action.id;\n state.entry = entry;\n state.error = error;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n state.canonicalPath = entry.sys.uri || currentPath;\n\n if (mappedEntry && Object.keys(mappedEntry).length > 0) {\n state.mappedEntry = mappedEntry;\n state.entry = { sys: entry.sys };\n }\n }\n\n if (!node) {\n state.currentNode = null;\n } else {\n // On Set Node, we reset all dependants.\n state.currentNode = node;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { entry, ...nodeWithoutEntry } = node; // We have the entry stored elsewhere, so lets not keep it twice.\n state.currentNode = nodeWithoutEntry;\n }\n\n return;\n }\n case UPDATE_LOADING_STATE: {\n state.isLoading = action.isLoading;\n return;\n }\n case SET_NAVIGATION_PATH: {\n let staticRoute = {} as any;\n if (action.staticRoute) {\n staticRoute = { ...action.staticRoute };\n }\n if (action.path) {\n // Don't run a path update on initial load as we allready should have it in redux\n const entryUri = state?.entry?.sys?.uri;\n if (entryUri !== action.path) {\n state.currentPath = action.path;\n state.location = action.location;\n state.staticRoute = {\n ...staticRoute,\n route: { ...staticRoute.route, element: null },\n };\n state.isLoading = typeof window !== 'undefined';\n } else {\n state.location = action.location;\n state.staticRoute = {\n ...staticRoute,\n route: { ...staticRoute.route, element: null },\n };\n }\n }\n return;\n }\n case SET_ROUTE: {\n state.nextPath = action.path;\n return;\n }\n case SET_SIBLINGS: {\n // Can be null in some cases like the homepage.\n let currentNodeSiblingParent = null;\n if (action.siblings && action.siblings.length > 0) {\n currentNodeSiblingParent = action.siblings[0].parentId;\n }\n\n state.currentNodeSiblings = action.siblings;\n state.currentNodeSiblingsParent = currentNodeSiblingParent;\n return;\n }\n case SET_SURROGATE_KEYS: {\n const newKeys = (action.keys || '').split(' ');\n const allKeys = [...original(state.surrogateKeys), ...newKeys];\n const uniqueKeys = [...new Set(allKeys)];\n state.surrogateKeys = uniqueKeys;\n\n state.apiCalls = [\n ...original(state.apiCalls),\n [action.status, newKeys.length, action.url],\n ];\n return;\n }\n case SET_TARGET_PROJECT: {\n state.currentProject = action.project;\n state.allowedGroups = action.allowedGroups;\n state.ssrHostname = state.currentHostname || action.hostname;\n state.currentHostname = action.hostname;\n return;\n }\n default:\n return state;\n }\n}, initialState);\n","const VERSION_PREFIX = '@VERSION/';\nexport const SET_VERSION = `${VERSION_PREFIX}SET_VERSION`;\nexport const SET_VERSION_STATUS = `${VERSION_PREFIX}SET_VERSION_STATUS`;\n","import { Draft, produce } from 'immer';\nimport { SET_VERSION, SET_VERSION_STATUS } from '~/redux/types/version';\n\nconst initialState = {\n commitRef: null,\n buildNo: null,\n contensisVersionStatus: null as 'latest' | 'published' | null,\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_VERSION_STATUS: {\n state.contensisVersionStatus = action.status;\n return;\n }\n case SET_VERSION: {\n state.commitRef = action.commitRef;\n state.buildNo = action.buildNo;\n return;\n }\n default:\n return;\n }\n}, initialState);\n","import { all, Effect } from 'redux-saga/effects';\n\nexport const wrapSagasInGenerator = function (\n sagas: Effect[] | (() => Generator)\n) {\n if (Array.isArray(sagas))\n return function* rootSaga() {\n yield all(sagas);\n };\n return sagas;\n};\n","/**\n * This middleware captures 'CALL_HISTORY_METHOD' actions to redirect to the\n * provided history object. This will prevent these actions from reaching your\n * reducer or any middleware that comes after this one.\n */\n/* eslint-disable no-unused-vars */\nconst routerMiddleware = history => store => next => action => {\n if (action.type !== 'CALL_HISTORY_METHOD') {\n return next(action);\n }\n\n const {\n payload: { method, args },\n } = action;\n history[method](...args);\n};\n\nexport default routerMiddleware;\n","import { History, MemoryHistory } from 'history';\nimport {\n applyMiddleware,\n combineReducers,\n compose,\n createStore,\n Action,\n Store,\n StoreEnhancer,\n Reducer,\n} from 'redux';\nimport { thunk as thunkMiddleware } from 'redux-thunk';\nimport createSagaMiddleware, { END, Task } from 'redux-saga';\nimport { Effect } from 'redux-saga/effects';\nimport { createInjectorsEnhancer } from 'redux-injectors-19';\n\n// Core reducers\nimport i18nSlice from '~/i18n/redux/slice';\nimport NavigationReducer from '../reducers/navigation';\nimport RoutingReducer from '~/routing/redux/reducers';\nimport UserReducer from '~/user/redux/reducers';\nimport VersionReducer from '../reducers/version';\n\nimport { wrapSagasInGenerator } from './injectors/util';\nimport routerMiddleware from './routerMiddleware';\n\nimport { AppState, StateType } from '~/models';\n\ndeclare let window: Window &\n typeof globalThis & {\n __REDUX_DEVTOOLS_EXTENSION__: any;\n };\n\ntype ReduxAppStore = Store<AppState, Action>;\ntype PatchedRunSaga = (sagas: Effect[] | (() => Generator)) => Task;\n\ntype ReduxSagaAppStore = ReduxAppStore & {\n runSaga: PatchedRunSaga;\n close: () => void;\n initialSagas: Set<any>; // Track initial sagas\n injectedReducers: any;\n injectedSagas: any;\n createReducer: (injectedReducers?: any) => Reducer<AppState>;\n};\n\n/** A no-op reducer to serve for server-rendered reducers\n * that are re-injected client-side */\nexport const stubReducer = (state = null) => state;\n\nexport let reduxStore: ReduxSagaAppStore;\n\nexport default async (\n featureReducers: any,\n initialState: AppState,\n history: History | MemoryHistory,\n stateType: StateType\n) => {\n let reduxDevToolsMiddleware = f => f;\n\n if (typeof window != 'undefined') {\n reduxDevToolsMiddleware = window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__()\n : f => f;\n }\n\n const sagaMiddleware = createSagaMiddleware();\n\n const reducers = {\n i18n: i18nSlice.reducer,\n navigation: NavigationReducer,\n routing: RoutingReducer,\n user: UserReducer,\n version: VersionReducer,\n ...featureReducers,\n };\n\n // Reassign the combiner and fromJS functions when\n // stateType is 'immutable' with dynamic imports\n let combiner = combineReducers;\n let fromJS = <T = any>(obj: T) => obj;\n globalThis.STATE_TYPE = stateType;\n\n if (stateType === 'immutable') {\n globalThis.immutable = await import(\n /* webpackChunkName: \"immutable\" */ 'immutable'\n );\n\n fromJS = (\n await import(/* webpackChunkName: \"from-js\" */ '~/util/fromJSLeaveImmer')\n ).default;\n\n combiner = (\n await import(/* webpackChunkName: \"redux-immutable\" */ 'redux-immutable')\n ).combineReducers;\n }\n\n const createReducer = (injectedReducers = {}) => {\n const rootReducer = combiner<AppState>({\n ...injectedReducers,\n // other non-injected reducers go here\n ...reducers,\n });\n\n return rootReducer;\n };\n\n const store = (initialState: AppState) => {\n const runSaga = sagaMiddleware.run;\n\n // Track the initial set of sagas here\n const initialSagas = new Set();\n\n // Patch the runSaga function to capture and track the sagas\n // passed as a raw array of effects\n const patchedRunSaga = (sagas: Effect[] | (() => Generator)) => {\n // Only track the saga the first time it is run\n if (Array.isArray(sagas)) {\n for (const saga of sagas)\n if (!initialSagas.has(saga)) {\n initialSagas.add(saga);\n }\n } else {\n if (!initialSagas.has(sagas)) {\n initialSagas.add(sagas);\n }\n }\n\n const rootSaga = wrapSagasInGenerator(sagas);\n\n // Run the saga as usual\n return runSaga(rootSaga);\n };\n\n // Assign stub reducers for any missing reducers that have been\n // injected server-side and will be re-injected client-side\n const injectReducers = {};\n for (const key of Object.keys(initialState || {})) {\n if (!(key in reducers)) injectReducers[key] = stubReducer;\n }\n\n const middleware: StoreEnhancer<{\n runSaga: PatchedRunSaga;\n close: () => void;\n initialSagas: Set<any>;\n injectedReducers: any;\n injectedSagas: any;\n }> = compose(\n applyMiddleware(\n thunkMiddleware,\n sagaMiddleware,\n routerMiddleware(history)\n ),\n createInjectorsEnhancer({\n createReducer,\n // Assign patched runSaga to store\n runSaga,\n }),\n reduxDevToolsMiddleware\n );\n\n const store = createStore(\n createReducer(injectReducers),\n initialState,\n middleware\n );\n\n store.runSaga = patchedRunSaga; // Assign patched runSaga to the store\n store.close = () => store.dispatch(END);\n store.initialSagas = initialSagas; // Store the initial sagas set\n\n return store;\n };\n\n reduxStore = store(fromJS(initialState)) as ReduxSagaAppStore;\n return reduxStore;\n};\n"],"names":["ACTION_PREFIX","GET_NODE_TREE","SET_NODE_TREE","GET_NODE_TREE_ERROR","initialState","root","error","isError","message","isReady","produce","state","action","type","nodes","canonicalPath","currentHostname","currentPath","currentNode","currentNodeAncestors","currentProject","entryID","entry","undefined","isLoading","location","mappedEntry","notFound","ssrHostname","staticRoute","statusCode","surrogateKeys","apiCalls","SET_ANCESTORS","ancestors","SET_ENTRY","node","defaultStatus","id","sys","uri","Object","keys","length","nodeWithoutEntry","UPDATE_LOADING_STATE","SET_NAVIGATION_PATH","path","_state$entry","entryUri","route","element","window","SET_ROUTE","nextPath","SET_SIBLINGS","currentNodeSiblingParent","siblings","parentId","currentNodeSiblings","currentNodeSiblingsParent","SET_SURROGATE_KEYS","newKeys","split","allKeys","original","uniqueKeys","Set","status","url","SET_TARGET_PROJECT","project","allowedGroups","hostname","VERSION_PREFIX","SET_VERSION","SET_VERSION_STATUS","commitRef","buildNo","contensisVersionStatus","wrapSagasInGenerator","sagas","Array","isArray","rootSaga","all","routerMiddleware","history","store","next","payload","method","args","stubReducer","reduxStore","featureReducers","stateType","reduxDevToolsMiddleware","f","__REDUX_DEVTOOLS_EXTENSION__","sagaMiddleware","createSagaMiddleware","reducers","i18n","i18nSlice","reducer","navigation","NavigationReducer","routing","RoutingReducer","user","UserReducer","version","VersionReducer","combiner","combineReducers","fromJS","obj","globalThis","STATE_TYPE","immutable","default","createReducer","injectedReducers","rootReducer","runSaga","run","initialSagas","patchedRunSaga","saga","has","add","injectReducers","key","middleware","compose","applyMiddleware","thunkMiddleware","createInjectorsEnhancer","createStore","close","dispatch","END"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ const setCachingHeaders = (response, {
2
+ cacheControl = 'private',
3
+ surrogateControl = '3600'
4
+ }, method = 'header') => {
5
+ if (cacheControl) response[method]('Cache-Control', cacheControl);
6
+ if (surrogateControl) response[method]('Surrogate-Control', `max-age=${surrogateControl.toString()}`);
7
+ };
8
+
9
+ const url = (alias, project) => {
10
+ const projectAndAlias = project && project.toLowerCase() !== 'website' ? `${project.toLowerCase()}-${alias}` : alias;
11
+ return {
12
+ api: `https://api-${alias}.cloud.contensis.com`,
13
+ cms: `https://cms-${alias}.cloud.contensis.com`,
14
+ liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,
15
+ previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,
16
+ iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,
17
+ iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`
18
+ };
19
+ };
20
+
21
+ export { setCachingHeaders as s, url as u };
22
+ //# sourceMappingURL=urls-DfCisos-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urls-DfCisos-.js","sources":["../src/server/features/caching/setCachingHeaders.ts","../src/util/urls.ts"],"sourcesContent":["import { Response } from 'express';\n\nconst setCachingHeaders = (\n response: Response,\n { cacheControl = 'private', surrogateControl = '3600' },\n method = 'header'\n) => {\n if (cacheControl) response[method]('Cache-Control', cacheControl);\n if (surrogateControl)\n response[method](\n 'Surrogate-Control',\n `max-age=${surrogateControl.toString()}`\n );\n};\n\nexport default setCachingHeaders;\n","const url = (alias: string, project: string) => {\n const projectAndAlias =\n project && project.toLowerCase() !== 'website'\n ? `${project.toLowerCase()}-${alias}`\n : alias;\n return {\n api: `https://api-${alias}.cloud.contensis.com`,\n cms: `https://cms-${alias}.cloud.contensis.com`,\n liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,\n previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,\n iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,\n iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`,\n };\n};\n\nexport default url;\n"],"names":["setCachingHeaders","response","cacheControl","surrogateControl","method","toString","url","alias","project","projectAndAlias","toLowerCase","api","cms","liveWeb","previewWeb","iisWeb","iisPreviewWeb"],"mappings":"AAEA,MAAMA,iBAAiB,GAAGA,CACxBC,QAAkB,EAClB;AAAEC,EAAAA,YAAY,GAAG,SAAS;AAAEC,EAAAA,gBAAgB,GAAG;AAAO,CAAC,EACvDC,MAAM,GAAG,QAAQ,KACd;EACH,IAAIF,YAAY,EAAED,QAAQ,CAACG,MAAM,CAAC,CAAC,eAAe,EAAEF,YAAY,CAAC;AACjE,EAAA,IAAIC,gBAAgB,EAClBF,QAAQ,CAACG,MAAM,CAAC,CACd,mBAAmB,EACnB,CAAA,QAAA,EAAWD,gBAAgB,CAACE,QAAQ,EAAE,EACxC,CAAC;AACL;;ACbA,MAAMC,GAAG,GAAGA,CAACC,KAAa,EAAEC,OAAe,KAAK;EAC9C,MAAMC,eAAe,GACnBD,OAAO,IAAIA,OAAO,CAACE,WAAW,EAAE,KAAK,SAAS,GAC1C,CAAA,EAAGF,OAAO,CAACE,WAAW,EAAE,CAAA,CAAA,EAAIH,KAAK,CAAA,CAAE,GACnCA,KAAK;EACX,OAAO;IACLI,GAAG,EAAE,CAAA,YAAA,EAAeJ,KAAK,CAAA,oBAAA,CAAsB;IAC/CK,GAAG,EAAE,CAAA,YAAA,EAAeL,KAAK,CAAA,oBAAA,CAAsB;IAC/CM,OAAO,EAAE,CAAA,aAAA,EAAgBJ,eAAe,CAAA,oBAAA,CAAsB;IAC9DK,UAAU,EAAE,CAAA,gBAAA,EAAmBL,eAAe,CAAA,oBAAA,CAAsB;IACpEM,MAAM,EAAE,CAAA,iBAAA,EAAoBN,eAAe,CAAA,oBAAA,CAAsB;IACjEO,aAAa,EAAE,uBAAuBP,eAAe,CAAA,oBAAA;GACtD;AACH;;;;"}
package/esm/user.js CHANGED
@@ -1,16 +1,19 @@
1
- import { l as logoutUser, a as loginUser, r as registerUser } from './ChangePassword.container-BgzIy8dA.js';
2
- export { C as ChangePassword, F as ForgotPasswordContainer, c as LoginContainer, L as LoginHelper, R as RegistrationContainer, b as actions, h as handleRequiresLoginSaga, g as refreshSecurityToken, f as useChangePassword, e as useForgotPassword, u as useLogin, d as useRegistration } from './ChangePassword.container-BgzIy8dA.js';
1
+ import { l as logoutUser, a as loginUser, r as registerUser } from './ChangePassword.container-CUBtn82K.js';
2
+ export { C as ChangePassword, F as ForgotPasswordContainer, c as LoginContainer, L as LoginHelper, R as RegistrationContainer, b as actions, h as handleRequiresLoginSaga, g as refreshSecurityToken, f as useChangePassword, e as useForgotPassword, u as useLogin, d as useRegistration } from './ChangePassword.container-CUBtn82K.js';
3
3
  import React from 'react';
4
4
  import { useCookies } from 'react-cookie';
5
5
  import { connect } from 'react-redux';
6
- import { t as toJS, s as selectUserIsError, a as selectUserIsAuthenticationError, b as selectUser, c as selectUserIsLoading, d as selectUserIsAuthenticated, e as selectUserErrorMessage, f as selectUserRegistration, g as selectUserRegistrationIsSuccess, h as selectUserRegistrationIsLoading, i as selectUserRegistrationError } from './ToJs-CNzfvyxJ.js';
7
- export { j as selectors } from './ToJs-CNzfvyxJ.js';
8
- import { C as CookieHelper } from './CookieHelper.class-FTURFpz3.js';
9
- export { i as initialUserState, U as reducer, t as types } from './selectors-DO2ocdOp.js';
6
+ import { s as selectUserIsError, a as selectUserIsAuthenticationError, b as selectUser, c as selectUserIsLoading, d as selectUserIsAuthenticated, e as selectUserErrorMessage, f as selectUserRegistration, g as selectUserRegistrationIsSuccess, h as selectUserRegistrationIsLoading, i as selectUserRegistrationError } from './matchGroups-_w8BwzCC.js';
7
+ export { j as selectors } from './matchGroups-_w8BwzCC.js';
8
+ import { C as CookieHelper } from './CookieHelper.class-C6rTRl_1.js';
9
+ import { t as toJS } from './ToJs-BnRRHk6f.js';
10
+ export { i as initialUserState, U as reducer, t as types } from './selectors-8ROQrTd7.js';
10
11
  import '@redux-saga/core/effects';
11
12
  import 'jsonpath-mapper';
12
13
  import 'await-to-js';
14
+ import './CookieConstants-DEmbwzYr.js';
13
15
  import 'immer';
16
+ import 'reselect';
14
17
  import 'query-string';
15
18
 
16
19
  const getDisplayName$1 = WrappedComponent => {
package/esm/user.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sources":["../src/user/hocs/withLogin.tsx","../src/user/hocs/withRegistration.js"],"sourcesContent":["import React from 'react';\nimport { useCookies } from 'react-cookie';\nimport { connect } from 'react-redux';\nimport { loginUser, logoutUser } from '../redux/actions';\nimport {\n selectUser,\n selectUserErrorMessage,\n selectUserIsAuthenticationError,\n selectUserIsError,\n selectUserIsAuthenticated,\n selectUserIsLoading,\n} from '../redux/selectors';\nimport { CookieHelper } from '../util/CookieHelper.class';\nimport { toJS } from '~/util/ToJs';\nimport { AppState } from '~/models';\n\nconst getDisplayName = (WrappedComponent: React.ComponentType) => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withLogin = (WrappedComponent: React.ComponentType) => {\n const mapStateToProps = (state: AppState) => {\n return {\n errorMessage: selectUserErrorMessage(state),\n isAuthenticated: selectUserIsAuthenticated(state),\n isAuthenticationError: selectUserIsAuthenticationError(state),\n isError: selectUserIsError(state),\n isLoading: selectUserIsLoading(state),\n user: selectUser(state),\n // DEPRECATED: authenticationError is deprecated use isAuthenticationError instead\n authenticationError: selectUserIsAuthenticationError(state),\n // DEPRECATED: error is deprecated use isError instead\n error: selectUserIsError(state),\n };\n };\n\n const ConnectedComponent = () => {\n const cookies = new CookieHelper(...useCookies());\n\n const mapDispatchToProps = {\n loginUser: (username: string, password: string) =>\n loginUser(username, password, cookies),\n logoutUser: (redirectPath?: string) => logoutUser(redirectPath, cookies),\n };\n\n const FinalComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n return <FinalComponent />;\n };\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n ConnectedComponent.WrappedComponent = WrappedComponent;\n\n return ConnectedComponent;\n};\n\nexport default withLogin;\n","import { connect } from 'react-redux';\nimport { registerUser } from '../redux/actions';\nimport {\n selectUserRegistration,\n selectUserRegistrationError,\n selectUserRegistrationIsLoading,\n selectUserRegistrationIsSuccess,\n} from '../redux/selectors';\nimport { toJS } from '~/util/ToJs';\n\nconst getDisplayName = WrappedComponent => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withRegistration = WrappedComponent => {\n const mapStateToProps = state => {\n return {\n error: selectUserRegistrationError(state),\n isLoading: selectUserRegistrationIsLoading(state),\n isSuccess: selectUserRegistrationIsSuccess(state),\n user: selectUserRegistration(state),\n };\n };\n\n const mapDispatchToProps = {\n registerUser,\n };\n\n const ConnectedComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n\n return ConnectedComponent;\n};\n\nexport default withRegistration;\n"],"names":["getDisplayName","WrappedComponent","displayName","name","withLogin","mapStateToProps","state","errorMessage","selectUserErrorMessage","isAuthenticated","selectUserIsAuthenticated","isAuthenticationError","selectUserIsAuthenticationError","isError","selectUserIsError","isLoading","selectUserIsLoading","user","selectUser","authenticationError","error","ConnectedComponent","cookies","CookieHelper","useCookies","mapDispatchToProps","loginUser","username","password","logoutUser","redirectPath","FinalComponent","connect","toJS","React","createElement","withRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","isSuccess","selectUserRegistrationIsSuccess","selectUserRegistration","registerUser"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAMA,gBAAc,GAAIC,gBAAqC,IAAK;EAChE,OAAOA,gBAAgB,CAACC,WAAW,IAAID,gBAAgB,CAACE,IAAI,IAAI,WAAW;AAC7E,CAAC;AAED,MAAMC,SAAS,GAAIH,gBAAqC,IAAK;EAC3D,MAAMI,eAAe,GAAIC,KAAe,IAAK;IAC3C,OAAO;AACLC,MAAAA,YAAY,EAAEC,sBAAsB,CAACF,KAAK,CAAC;AAC3CG,MAAAA,eAAe,EAAEC,yBAAyB,CAACJ,KAAK,CAAC;AACjDK,MAAAA,qBAAqB,EAAEC,+BAA+B,CAACN,KAAK,CAAC;AAC7DO,MAAAA,OAAO,EAAEC,iBAAiB,CAACR,KAAK,CAAC;AACjCS,MAAAA,SAAS,EAAEC,mBAAmB,CAACV,KAAK,CAAC;AACrCW,MAAAA,IAAI,EAAEC,UAAU,CAACZ,KAAK,CAAC;AACvB;AACAa,MAAAA,mBAAmB,EAAEP,+BAA+B,CAACN,KAAK,CAAC;AAC3D;MACAc,KAAK,EAAEN,iBAAiB,CAACR,KAAK;KAC/B;EACH,CAAC;EAED,MAAMe,kBAAkB,GAAGA,MAAM;IAC/B,MAAMC,OAAO,GAAG,IAAIC,YAAY,CAAC,GAAGC,UAAU,EAAE,CAAC;AAEjD,IAAA,MAAMC,kBAAkB,GAAG;AACzBC,MAAAA,SAAS,EAAEA,CAACC,QAAgB,EAAEC,QAAgB,KAC5CF,SAAS,CAACC,QAAQ,EAAEC,QAAQ,EAAEN,OAAO,CAAC;AACxCO,MAAAA,UAAU,EAAGC,YAAqB,IAAKD,UAAU,CAACC,YAAY,EAAER,OAAO;KACxE;AAED,IAAA,MAAMS,cAAc,GAAGC,OAAO,CAC5B3B,eAAe,EACfoB,kBACF,CAAC,CAACQ,IAAI,CAAChC,gBAAgB,CAAC,CAAC;AAEzB,IAAA,oBAAOiC,KAAA,CAAAC,aAAA,CAACJ,cAAc,MAAE,CAAC;EAC3B,CAAC;EAEDV,kBAAkB,CAACnB,WAAW,GAAG,CAAA,EAAGF,gBAAc,CAACC,gBAAgB,CAAC,CAAA,CAAE;EACtEoB,kBAAkB,CAACpB,gBAAgB,GAAGA,gBAAgB;AAEtD,EAAA,OAAOoB,kBAAkB;AAC3B;;AC/CA,MAAMrB,cAAc,GAAGC,gBAAgB,IAAI;EACzC,OAAOA,gBAAgB,CAACC,WAAW,IAAID,gBAAgB,CAACE,IAAI,IAAI,WAAW;AAC7E,CAAC;AAED,MAAMiC,gBAAgB,GAAGnC,gBAAgB,IAAI;EAC3C,MAAMI,eAAe,GAAGC,KAAK,IAAI;IAC/B,OAAO;AACLc,MAAAA,KAAK,EAAEiB,2BAA2B,CAAC/B,KAAK,CAAC;AACzCS,MAAAA,SAAS,EAAEuB,+BAA+B,CAAChC,KAAK,CAAC;AACjDiC,MAAAA,SAAS,EAAEC,+BAA+B,CAAClC,KAAK,CAAC;MACjDW,IAAI,EAAEwB,sBAAsB,CAACnC,KAAK;KACnC;EACH,CAAC;AAED,EAAA,MAAMmB,kBAAkB,GAAG;AACzBiB,IAAAA;GACD;AAED,EAAA,MAAMrB,kBAAkB,GAAGW,OAAO,CAChC3B,eAAe,EACfoB,kBACF,CAAC,CAACQ,IAAI,CAAChC,gBAAgB,CAAC,CAAC;EAEzBoB,kBAAkB,CAACnB,WAAW,GAAG,CAAA,EAAGF,cAAc,CAACC,gBAAgB,CAAC,CAAA,CAAE;AAEtE,EAAA,OAAOoB,kBAAkB;AAC3B;;;;"}
1
+ {"version":3,"file":"user.js","sources":["../src/user/hocs/withLogin.tsx","../src/user/hocs/withRegistration.js"],"sourcesContent":["import React from 'react';\nimport { useCookies } from 'react-cookie';\nimport { connect } from 'react-redux';\nimport { loginUser, logoutUser } from '../redux/actions';\nimport {\n selectUser,\n selectUserErrorMessage,\n selectUserIsAuthenticationError,\n selectUserIsError,\n selectUserIsAuthenticated,\n selectUserIsLoading,\n} from '../redux/selectors';\nimport { CookieHelper } from '../util/CookieHelper.class';\nimport { toJS } from '~/util/ToJs';\nimport { AppState } from '~/models';\n\nconst getDisplayName = (WrappedComponent: React.ComponentType) => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withLogin = (WrappedComponent: React.ComponentType) => {\n const mapStateToProps = (state: AppState) => {\n return {\n errorMessage: selectUserErrorMessage(state),\n isAuthenticated: selectUserIsAuthenticated(state),\n isAuthenticationError: selectUserIsAuthenticationError(state),\n isError: selectUserIsError(state),\n isLoading: selectUserIsLoading(state),\n user: selectUser(state),\n // DEPRECATED: authenticationError is deprecated use isAuthenticationError instead\n authenticationError: selectUserIsAuthenticationError(state),\n // DEPRECATED: error is deprecated use isError instead\n error: selectUserIsError(state),\n };\n };\n\n const ConnectedComponent = () => {\n const cookies = new CookieHelper(...useCookies());\n\n const mapDispatchToProps = {\n loginUser: (username: string, password: string) =>\n loginUser(username, password, cookies),\n logoutUser: (redirectPath?: string) => logoutUser(redirectPath, cookies),\n };\n\n const FinalComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n return <FinalComponent />;\n };\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n ConnectedComponent.WrappedComponent = WrappedComponent;\n\n return ConnectedComponent;\n};\n\nexport default withLogin;\n","import { connect } from 'react-redux';\nimport { registerUser } from '../redux/actions';\nimport {\n selectUserRegistration,\n selectUserRegistrationError,\n selectUserRegistrationIsLoading,\n selectUserRegistrationIsSuccess,\n} from '../redux/selectors';\nimport { toJS } from '~/util/ToJs';\n\nconst getDisplayName = WrappedComponent => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withRegistration = WrappedComponent => {\n const mapStateToProps = state => {\n return {\n error: selectUserRegistrationError(state),\n isLoading: selectUserRegistrationIsLoading(state),\n isSuccess: selectUserRegistrationIsSuccess(state),\n user: selectUserRegistration(state),\n };\n };\n\n const mapDispatchToProps = {\n registerUser,\n };\n\n const ConnectedComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n\n return ConnectedComponent;\n};\n\nexport default withRegistration;\n"],"names":["getDisplayName","WrappedComponent","displayName","name","withLogin","mapStateToProps","state","errorMessage","selectUserErrorMessage","isAuthenticated","selectUserIsAuthenticated","isAuthenticationError","selectUserIsAuthenticationError","isError","selectUserIsError","isLoading","selectUserIsLoading","user","selectUser","authenticationError","error","ConnectedComponent","cookies","CookieHelper","useCookies","mapDispatchToProps","loginUser","username","password","logoutUser","redirectPath","FinalComponent","connect","toJS","React","createElement","withRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","isSuccess","selectUserRegistrationIsSuccess","selectUserRegistration","registerUser"],"mappings":";;;;;;;;;;;;;;;;;;AAgBA,MAAMA,gBAAc,GAAIC,gBAAqC,IAAK;EAChE,OAAOA,gBAAgB,CAACC,WAAW,IAAID,gBAAgB,CAACE,IAAI,IAAI,WAAW;AAC7E,CAAC;AAED,MAAMC,SAAS,GAAIH,gBAAqC,IAAK;EAC3D,MAAMI,eAAe,GAAIC,KAAe,IAAK;IAC3C,OAAO;AACLC,MAAAA,YAAY,EAAEC,sBAAsB,CAACF,KAAK,CAAC;AAC3CG,MAAAA,eAAe,EAAEC,yBAAyB,CAACJ,KAAK,CAAC;AACjDK,MAAAA,qBAAqB,EAAEC,+BAA+B,CAACN,KAAK,CAAC;AAC7DO,MAAAA,OAAO,EAAEC,iBAAiB,CAACR,KAAK,CAAC;AACjCS,MAAAA,SAAS,EAAEC,mBAAmB,CAACV,KAAK,CAAC;AACrCW,MAAAA,IAAI,EAAEC,UAAU,CAACZ,KAAK,CAAC;AACvB;AACAa,MAAAA,mBAAmB,EAAEP,+BAA+B,CAACN,KAAK,CAAC;AAC3D;MACAc,KAAK,EAAEN,iBAAiB,CAACR,KAAK;KAC/B;EACH,CAAC;EAED,MAAMe,kBAAkB,GAAGA,MAAM;IAC/B,MAAMC,OAAO,GAAG,IAAIC,YAAY,CAAC,GAAGC,UAAU,EAAE,CAAC;AAEjD,IAAA,MAAMC,kBAAkB,GAAG;AACzBC,MAAAA,SAAS,EAAEA,CAACC,QAAgB,EAAEC,QAAgB,KAC5CF,SAAS,CAACC,QAAQ,EAAEC,QAAQ,EAAEN,OAAO,CAAC;AACxCO,MAAAA,UAAU,EAAGC,YAAqB,IAAKD,UAAU,CAACC,YAAY,EAAER,OAAO;KACxE;AAED,IAAA,MAAMS,cAAc,GAAGC,OAAO,CAC5B3B,eAAe,EACfoB,kBACF,CAAC,CAACQ,IAAI,CAAChC,gBAAgB,CAAC,CAAC;AAEzB,IAAA,oBAAOiC,KAAA,CAAAC,aAAA,CAACJ,cAAc,MAAE,CAAC;EAC3B,CAAC;EAEDV,kBAAkB,CAACnB,WAAW,GAAG,CAAA,EAAGF,gBAAc,CAACC,gBAAgB,CAAC,CAAA,CAAE;EACtEoB,kBAAkB,CAACpB,gBAAgB,GAAGA,gBAAgB;AAEtD,EAAA,OAAOoB,kBAAkB;AAC3B;;AC/CA,MAAMrB,cAAc,GAAGC,gBAAgB,IAAI;EACzC,OAAOA,gBAAgB,CAACC,WAAW,IAAID,gBAAgB,CAACE,IAAI,IAAI,WAAW;AAC7E,CAAC;AAED,MAAMiC,gBAAgB,GAAGnC,gBAAgB,IAAI;EAC3C,MAAMI,eAAe,GAAGC,KAAK,IAAI;IAC/B,OAAO;AACLc,MAAAA,KAAK,EAAEiB,2BAA2B,CAAC/B,KAAK,CAAC;AACzCS,MAAAA,SAAS,EAAEuB,+BAA+B,CAAChC,KAAK,CAAC;AACjDiC,MAAAA,SAAS,EAAEC,+BAA+B,CAAClC,KAAK,CAAC;MACjDW,IAAI,EAAEwB,sBAAsB,CAACnC,KAAK;KACnC;EACH,CAAC;AAED,EAAA,MAAMmB,kBAAkB,GAAG;AACzBiB,IAAAA;GACD;AAED,EAAA,MAAMrB,kBAAkB,GAAGW,OAAO,CAChC3B,eAAe,EACfoB,kBACF,CAAC,CAACQ,IAAI,CAAChC,gBAAgB,CAAC,CAAC;EAEzBoB,kBAAkB,CAACnB,WAAW,GAAG,CAAA,EAAGF,cAAc,CAACC,gBAAgB,CAAC,CAAA,CAAE;AAEtE,EAAA,OAAOoB,kBAAkB;AAC3B;;;;"}