@zengenti/contensis-react-base 3.0.0-beta.6 → 3.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 (164) hide show
  1. package/README.md +4 -4
  2. package/cjs/{App-3324f784.js → App-36c7bf3a.js} +124 -140
  3. package/cjs/App-36c7bf3a.js.map +1 -0
  4. package/cjs/{RouteLoader-c7957b14.js → RouteLoader-ece762dc.js} +31 -23
  5. package/cjs/RouteLoader-ece762dc.js.map +1 -0
  6. package/cjs/ToJs-09204afd.js +129 -0
  7. package/cjs/ToJs-09204afd.js.map +1 -0
  8. package/cjs/VersionInfo-df35c917.js +181 -0
  9. package/cjs/VersionInfo-df35c917.js.map +1 -0
  10. package/cjs/{actions-a24bf46e.js → actions-6b9ef168.js} +5 -4
  11. package/cjs/actions-6b9ef168.js.map +1 -0
  12. package/cjs/client.js +16 -21
  13. package/cjs/client.js.map +1 -1
  14. package/cjs/contensis-react-base.js +3583 -38
  15. package/cjs/contensis-react-base.js.map +1 -1
  16. package/cjs/forms.js +4114 -195
  17. package/cjs/forms.js.map +1 -1
  18. package/cjs/{fromJSLeaveImmer-c00d597f.js → fromJSLeaveImmer-e74c673c.js} +2 -16
  19. package/cjs/fromJSLeaveImmer-e74c673c.js.map +1 -0
  20. package/cjs/{login-c810cc4c.js → login-d67b82aa.js} +92 -55
  21. package/cjs/login-d67b82aa.js.map +1 -0
  22. package/cjs/{reducers-fde41d6b.js → reducers-3a4f8971.js} +26 -25
  23. package/cjs/reducers-3a4f8971.js.map +1 -0
  24. package/cjs/redux.js +6 -5
  25. package/cjs/redux.js.map +1 -1
  26. package/cjs/routing.js +5 -4
  27. package/cjs/routing.js.map +1 -1
  28. package/cjs/sagas-8cf21563.js +2038 -0
  29. package/cjs/sagas-8cf21563.js.map +1 -0
  30. package/cjs/search.js +280 -1907
  31. package/cjs/search.js.map +1 -1
  32. package/cjs/{selectors-0ec95076.js → selectors-2c1b1183.js} +7 -3
  33. package/cjs/selectors-2c1b1183.js.map +1 -0
  34. package/cjs/user.js +21 -12
  35. package/cjs/user.js.map +1 -1
  36. package/cjs/util.js +55 -212
  37. package/cjs/util.js.map +1 -1
  38. package/cjs/{version-4f0f5fa6.js → version-ca4173a8.js} +28 -20
  39. package/cjs/version-ca4173a8.js.map +1 -0
  40. package/cjs/{version-085d203d.js → version-dcfdafd9.js} +5 -5
  41. package/cjs/version-dcfdafd9.js.map +1 -0
  42. package/esm/{App-1b05ab11.js → App-61bf1832.js} +124 -141
  43. package/esm/App-61bf1832.js.map +1 -0
  44. package/esm/{RouteLoader-e5f0e8cb.js → RouteLoader-7749ad3f.js} +31 -23
  45. package/esm/RouteLoader-7749ad3f.js.map +1 -0
  46. package/esm/ToJs-2627ce21.js +99 -0
  47. package/esm/ToJs-2627ce21.js.map +1 -0
  48. package/esm/VersionInfo-add96cdb.js +172 -0
  49. package/esm/VersionInfo-add96cdb.js.map +1 -0
  50. package/esm/{actions-927d9698.js → actions-5437f43d.js} +5 -4
  51. package/esm/actions-5437f43d.js.map +1 -0
  52. package/esm/client.js +17 -22
  53. package/esm/client.js.map +1 -1
  54. package/esm/contensis-react-base.js +3581 -37
  55. package/esm/contensis-react-base.js.map +1 -1
  56. package/esm/forms.js +4114 -198
  57. package/esm/forms.js.map +1 -1
  58. package/esm/{fromJSLeaveImmer-392af4e3.js → fromJSLeaveImmer-0114ffcf.js} +2 -16
  59. package/esm/fromJSLeaveImmer-0114ffcf.js.map +1 -0
  60. package/esm/{login-f8ba3aeb.js → login-f6dfbe1b.js} +92 -55
  61. package/esm/login-f6dfbe1b.js.map +1 -0
  62. package/esm/{reducers-d6c0edb1.js → reducers-8e5d6232.js} +26 -25
  63. package/esm/reducers-8e5d6232.js.map +1 -0
  64. package/esm/redux.js +8 -7
  65. package/esm/redux.js.map +1 -1
  66. package/esm/routing.js +5 -4
  67. package/esm/routing.js.map +1 -1
  68. package/esm/sagas-a22fc54a.js +1952 -0
  69. package/esm/sagas-a22fc54a.js.map +1 -0
  70. package/esm/search.js +240 -1848
  71. package/esm/search.js.map +1 -1
  72. package/esm/{selectors-b98d5c76.js → selectors-65f0f31c.js} +7 -4
  73. package/esm/selectors-65f0f31c.js.map +1 -0
  74. package/esm/user.js +23 -14
  75. package/esm/user.js.map +1 -1
  76. package/esm/util.js +54 -209
  77. package/esm/util.js.map +1 -1
  78. package/esm/{version-16aa83eb.js → version-1d46bde8.js} +27 -20
  79. package/esm/version-1d46bde8.js.map +1 -0
  80. package/esm/version-696796d7.js +15 -0
  81. package/esm/version-696796d7.js.map +1 -0
  82. package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +1 -1
  83. package/models/forms/index.d.ts +2 -0
  84. package/models/index.d.ts +1 -0
  85. package/models/redux/appstate.d.ts +5 -10
  86. package/models/redux/selectors/navigation.d.ts +2 -1
  87. package/models/routing/components/RouteLoader.d.ts +2 -19
  88. package/models/routing/redux/actions.d.ts +1 -1
  89. package/models/routing/redux/selectors.d.ts +1 -1
  90. package/models/routing/routes.d.ts +3 -2
  91. package/models/routing/util/expressions.d.ts +3 -2
  92. package/models/routing/util/queries.d.ts +1 -1
  93. package/models/search/containers/withListing.d.ts +1 -1
  94. package/models/search/containers/withSearch.d.ts +1 -1
  95. package/models/search/hooks/useFacets.hook.d.ts +3 -0
  96. package/models/search/hooks/useListing.hook.d.ts +3 -0
  97. package/models/search/hooks/useMinilist.hook.d.ts +2 -9
  98. package/models/search/index.d.ts +4 -1
  99. package/models/search/models/Queries.d.ts +8 -5
  100. package/models/search/models/Search.d.ts +60 -28
  101. package/models/search/models/SearchActions.d.ts +4 -3
  102. package/models/search/models/SearchProps.d.ts +52 -7
  103. package/models/search/models/SearchState.d.ts +5 -1
  104. package/models/search/models/index.d.ts +3 -1
  105. package/models/search/redux/actions.d.ts +2 -1
  106. package/models/search/redux/reducers.d.ts +230 -314
  107. package/models/search/redux/sagas.d.ts +5 -5
  108. package/models/search/redux/selectors.d.ts +19 -22
  109. package/models/search/search/ContensisDeliveryApi.d.ts +1 -0
  110. package/models/search/search/expressions.d.ts +3 -6
  111. package/models/search/{redux → search}/queries.d.ts +0 -0
  112. package/models/search/transformations/entry-to-filteritem.mapper.d.ts +2 -1
  113. package/models/search/transformations/filter-to-filterexpression.mapper.d.ts +6 -0
  114. package/models/search/transformations/filters-to-filterexpressions.mapper.d.ts +3 -0
  115. package/models/search/transformations/index.d.ts +3 -0
  116. package/models/search/transformations/queryParams-to-customapi.mapper.d.ts +3 -0
  117. package/models/search/transformations/state-to-searchuri.d.ts +2 -13
  118. package/models/server/features/linkdepth-api/api.d.ts +12 -0
  119. package/models/server/features/linkdepth-api/events-api.config.d.ts +37 -0
  120. package/models/server/middleware/bundleManipulation.d.ts +2 -1
  121. package/models/server/util/headers.d.ts +3 -2
  122. package/models/user/components/Login.d.ts +1 -2
  123. package/models/user/components/LoginForm.d.ts +1 -2
  124. package/models/user/hocs/withLogin.d.ts +4 -2
  125. package/models/user/hocs/withRegistration.d.ts +4 -2
  126. package/models/user/hooks/useChangePassword.d.ts +5 -5
  127. package/models/user/hooks/useForgotPassword.d.ts +6 -6
  128. package/models/user/hooks/useLogin.d.ts +9 -45
  129. package/models/user/hooks/useRegistration.d.ts +4 -4
  130. package/models/user/redux/reducers.d.ts +4 -5
  131. package/models/user/redux/sagas/login.d.ts +11 -8
  132. package/models/user/redux/selectors.d.ts +33 -71
  133. package/models/user/util/LoginHelper.class.d.ts +4 -3
  134. package/models/util/ContensisDeliveryApi.d.ts +1 -3
  135. package/models/util/json-mapper.d.ts +9 -3
  136. package/models/util/merge.d.ts +1 -0
  137. package/package-lock.json +2690 -3400
  138. package/package.json +60 -55
  139. package/cjs/App-3324f784.js.map +0 -1
  140. package/cjs/RouteLoader-c7957b14.js.map +0 -1
  141. package/cjs/ToJs-a38fa20e.js +0 -230
  142. package/cjs/ToJs-a38fa20e.js.map +0 -1
  143. package/cjs/actions-a24bf46e.js.map +0 -1
  144. package/cjs/fromJSLeaveImmer-c00d597f.js.map +0 -1
  145. package/cjs/login-c810cc4c.js.map +0 -1
  146. package/cjs/reducers-fde41d6b.js.map +0 -1
  147. package/cjs/selectors-0ec95076.js.map +0 -1
  148. package/cjs/version-085d203d.js.map +0 -1
  149. package/cjs/version-4f0f5fa6.js.map +0 -1
  150. package/esm/App-1b05ab11.js.map +0 -1
  151. package/esm/RouteLoader-e5f0e8cb.js.map +0 -1
  152. package/esm/ToJs-879a5a85.js +0 -199
  153. package/esm/ToJs-879a5a85.js.map +0 -1
  154. package/esm/actions-927d9698.js.map +0 -1
  155. package/esm/fromJSLeaveImmer-392af4e3.js.map +0 -1
  156. package/esm/login-f8ba3aeb.js.map +0 -1
  157. package/esm/reducers-d6c0edb1.js.map +0 -1
  158. package/esm/selectors-b98d5c76.js.map +0 -1
  159. package/esm/version-16aa83eb.js.map +0 -1
  160. package/esm/version-3833e8b5.js +0 -15
  161. package/esm/version-3833e8b5.js.map +0 -1
  162. package/models/search/transformations/filters-to-filterexpression.d.ts +0 -1
  163. package/models/search/transformations/filters-to-filterexpression.mapper.d.ts +0 -2
  164. package/models/server/features/caching/cacheHashing.d.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteLoader-7749ad3f.js","sources":["../src/routing/components/NotFound.tsx","../src/routing/components/Status.tsx","../src/routing/components/RouteLoader.tsx"],"sourcesContent":["import React from 'react';\n\nconst NotFound = ({\n statusCode,\n statusText,\n}: {\n statusCode: number;\n statusText: string;\n}) => (\n <>\n <header>\n <h1>{statusCode || '404'} Page Not Found</h1>\n {statusText && (\n <h2\n style={{\n background: '#eee',\n color: '#666',\n fontSize: '100%',\n padding: '10px',\n }}\n >\n {statusText}\n </h2>\n )}\n </header>\n </>\n);\n\nexport default NotFound;\n","import React, { PropsWithChildren } from 'react';\nimport { Route } from 'react-router-dom';\n\nexport const Status = ({\n code,\n children,\n}: PropsWithChildren<{ code: number }>) => {\n return (\n <Route\n render={({ staticContext }) => {\n if (staticContext) staticContext.statusCode = code;\n return children;\n }}\n />\n );\n};\n","import React, { useEffect, useCallback } from 'react';\nimport { connect } from 'react-redux';\nimport { hot } from 'react-hot-loader';\nimport { Redirect, useLocation } from 'react-router-dom';\nimport { renderRoutes, matchRoutes, RouteConfig } from 'react-router-config';\nimport { createSelector } from 'reselect';\n\nimport NotFound from './NotFound';\nimport { Status } from './Status';\n\nimport {\n selectCurrentPath,\n selectCurrentProject,\n selectIsNotFound,\n selectMappedEntry,\n selectRouteEntry,\n selectRouteEntryContentTypeId,\n selectRouteErrorMessage,\n selectRouteIsError,\n selectRouteLoading,\n selectRouteStatusCode,\n} from '../redux/selectors';\nimport { setNavigationPath } from '../redux/actions';\n\nimport {\n selectUserGroups,\n selectUserIsAuthenticated,\n} from '~/user/redux/selectors';\nimport { matchUserGroup } from '~/user/util/matchGroups';\n\nimport { toJS } from '~/util/ToJs';\nimport { Entry } from 'contensis-delivery-api/lib/models';\nimport { AppRootProps, RouteComponentProps, RouteLoaderProps } from '../routes';\n\nconst replaceDoubleSlashRecursive = (path: string) => {\n const nextPath = path.replace(/\\/\\//, '/');\n\n if (nextPath.match(/\\/\\//)) {\n return replaceDoubleSlashRecursive(nextPath);\n }\n\n return nextPath;\n};\n\nconst getTrimmedPath = path => {\n if (path !== '/') {\n const nextPath = replaceDoubleSlashRecursive(path);\n const lastChar = nextPath[nextPath.length - 1];\n if (lastChar === '/') {\n return nextPath.substring(0, nextPath.length - 1);\n }\n }\n return path;\n};\n\ninterface IReduxProps {\n contentTypeId: string | null;\n entry: Entry | null;\n isError: boolean;\n isNotFound: boolean;\n isLoading: boolean;\n isLoggedIn: boolean;\n mappedEntry: any;\n projectId: string;\n setNavigationPath: typeof setNavigationPath;\n statePath: string;\n statusCode: any;\n statusText: string;\n userGroups: any;\n}\n\nconst RouteLoader = ({\n contentTypeId,\n entry,\n isError,\n isLoading,\n isLoggedIn,\n isNotFound,\n loadingComponent,\n mappedEntry,\n notFoundComponent,\n projectId,\n routes,\n setNavigationPath,\n statePath,\n statusCode,\n statusText,\n userGroups,\n withEvents,\n}: AppRootProps & RouteLoaderProps & IReduxProps) => {\n const location = useLocation();\n // Always ensure paths are trimmed of trailing slashes so urls are always unique\n const trimmedPath = getTrimmedPath(location.pathname);\n\n // Match any Static Routes a developer has defined\n const matchedStaticRoute = () =>\n matchRoutes(routes.StaticRoutes as RouteConfig[], location.pathname);\n const isStaticRoute = () => matchedStaticRoute().length > 0;\n\n const staticRoute = isStaticRoute() && matchedStaticRoute()[0];\n const routeRequiresLogin = staticRoute && staticRoute.route.requireLogin;\n\n const setPath = useCallback(() => {\n // Use serverPath to control the path we send to siteview node api to resolve a route\n let serverPath = '';\n if (staticRoute && staticRoute.match && staticRoute.match.isExact) {\n const { match, route } = staticRoute;\n\n if (route.path?.includes('*')) {\n // Send the whole url to api if we have matched route containing wildcard\n serverPath = match.url;\n } else if (typeof route.fetchNodeLevel === 'number') {\n // Send all url parts to a specified level to api\n serverPath = match.url\n .split('/')\n .splice(0, route.fetchNodeLevel + 1)\n .join('/');\n } else {\n // Send all non-parameterised url parts to api\n serverPath = (route.path as string)\n ?.split('/')\n .filter(p => !p.startsWith(':'))\n .join('/');\n }\n }\n\n setNavigationPath(\n serverPath || trimmedPath,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n setNavigationPath,\n // staticRoute,\n withEvents,\n location,\n routes,\n // statePath,\n trimmedPath,\n ]);\n\n if (typeof window == 'undefined') setPath();\n\n useEffect(() => {\n setPath();\n }, [location, setPath]);\n\n // Need to redirect when url endswith a /\n if (location.pathname.length > trimmedPath.length) {\n return <Redirect to={trimmedPath} />;\n }\n\n // Render any Static Routes a developer has defined\n if (isStaticRoute() && !(!isLoggedIn && routeRequiresLogin)) {\n if (matchUserGroup(userGroups, routeRequiresLogin))\n return renderRoutes(\n routes.StaticRoutes as RouteConfig[],\n {\n projectId,\n contentTypeId,\n entry,\n mappedEntry,\n isLoggedIn,\n } as RouteComponentProps\n );\n }\n\n // Render a supplied Loading component if the route\n // is not a static route and is in a loading state\n if (isLoading && !isNotFound && loadingComponent) {\n const LoadingComponent = loadingComponent;\n return <LoadingComponent />;\n }\n\n // Match any defined Content Type Mappings\n if (contentTypeId && !(!isLoggedIn && routeRequiresLogin)) {\n const MatchedComponent = routes.ContentTypeMappings.find(\n item => item.contentTypeID === contentTypeId\n );\n\n if (MatchedComponent && !(MatchedComponent.requireLogin && !isLoggedIn)) {\n if (matchUserGroup(userGroups, MatchedComponent.requireLogin))\n return (\n <MatchedComponent.component\n projectId={projectId}\n contentTypeId={contentTypeId}\n entry={entry}\n mappedEntry={mappedEntry}\n isLoggedIn={isLoggedIn}\n />\n );\n }\n }\n\n const NotFoundComponent = notFoundComponent ? notFoundComponent : NotFound;\n if (isNotFound || isError) {\n return (\n <Status code={statusCode}>\n <NotFoundComponent statusCode={statusCode} statusText={statusText} />\n </Status>\n );\n }\n\n return null;\n};\nconst mapStateToPropsMemoized = createSelector(\n selectRouteEntryContentTypeId,\n selectRouteEntry,\n selectRouteIsError,\n selectIsNotFound,\n selectRouteLoading,\n selectUserIsAuthenticated,\n selectMappedEntry,\n selectCurrentProject,\n selectCurrentPath,\n selectRouteStatusCode,\n selectRouteErrorMessage,\n selectUserGroups,\n (\n contentTypeId,\n entry,\n isError,\n isNotFound,\n isLoading,\n isLoggedIn,\n mappedEntry,\n projectId,\n statePath,\n statusCode,\n statusText,\n userGroups\n ) => ({\n contentTypeId,\n entry,\n isError,\n isNotFound,\n isLoading,\n isLoggedIn,\n mappedEntry,\n projectId,\n statePath,\n statusCode,\n statusText,\n userGroups,\n })\n);\n\nconst mapDispatchToProps = {\n setNavigationPath,\n};\n\nexport default hot(module)(\n connect(mapStateToPropsMemoized, mapDispatchToProps)(toJS(RouteLoader))\n) as unknown as (props: AppRootProps & RouteLoaderProps) => JSX.Element;\n"],"names":["NotFound","statusCode","statusText","background","color","fontSize","padding","Status","code","children","staticContext","replaceDoubleSlashRecursive","path","nextPath","replace","match","getTrimmedPath","lastChar","length","substring","RouteLoader","contentTypeId","entry","isError","isLoading","isLoggedIn","isNotFound","loadingComponent","mappedEntry","notFoundComponent","projectId","routes","setNavigationPath","statePath","userGroups","withEvents","location","useLocation","trimmedPath","pathname","matchedStaticRoute","matchRoutes","StaticRoutes","isStaticRoute","staticRoute","routeRequiresLogin","route","requireLogin","setPath","useCallback","serverPath","isExact","includes","url","fetchNodeLevel","split","splice","join","filter","p","startsWith","window","useEffect","matchUserGroup","renderRoutes","LoadingComponent","MatchedComponent","ContentTypeMappings","find","item","contentTypeID","NotFoundComponent","mapStateToPropsMemoized","createSelector","selectRouteEntryContentTypeId","selectRouteEntry","selectRouteIsError","selectIsNotFound","selectRouteLoading","selectUserIsAuthenticated","selectMappedEntry","selectCurrentProject","selectCurrentPath","selectRouteStatusCode","selectRouteErrorMessage","selectUserGroups","mapDispatchToProps","hot","module","connect","toJS"],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import { g as getImmutableOrJS } from './selectors-65f0f31c.js';
2
+ import React from 'react';
3
+
4
+ const selectUserIsLoading = state => getImmutableOrJS(state, ['user', 'authenticationState', 'isLoading']);
5
+ const selectUserIsAuthenticated = state => getImmutableOrJS(state, ['user', 'authenticationState', 'isAuthenticated']);
6
+ const selectUserIsAuthenticationError = state => getImmutableOrJS(state, ['user', 'authenticationState', 'isAuthenticationError']);
7
+ const selectUserIsError = state => getImmutableOrJS(state, ['user', 'authenticationState', 'isError']);
8
+ /**
9
+ * DEPRECATED 12/2021 - use selectUserErrorMessage instead
10
+ * @param state AppState
11
+ * @returns string
12
+ */
13
+
14
+ const selectUserAuthenticationErrorMessage = state => getImmutableOrJS(state, ['user', 'authenticationState', 'errorMessage']);
15
+ const selectUserErrorMessage = state => getImmutableOrJS(state, ['user', 'authenticationState', 'errorMessage']);
16
+ const selectClientCredentials = (state, returnType) => getImmutableOrJS(state, ['user', 'authenticationState', 'clientCredentials'], {}, returnType);
17
+ const selectUser = (state, returnType) => getImmutableOrJS(state, 'user', {}, returnType);
18
+ const selectUserIsZengentiStaff = state => getImmutableOrJS(state, ['user', 'isZengentiStaff']);
19
+ const selectUserGuid = state => getImmutableOrJS(state, ['user', 'id']);
20
+ const selectUsername = state => getImmutableOrJS(state, ['user', 'username']);
21
+ const selectUserEmail = state => getImmutableOrJS(state, ['user', 'email']);
22
+ const selectUserGroups = (state, returnType) => getImmutableOrJS(state, ['user', 'groups'], [], returnType);
23
+ const selectUserSecurityToken = state => getImmutableOrJS(state, ['user', 'authenticationState', 'clientCredentials', 'contensisClassicToken']);
24
+ const selectUserRegistration = (state, returnType) => getImmutableOrJS(state, ['user', 'registration'], {}, returnType);
25
+ const selectUserRegistrationError = state => getImmutableOrJS(state, ['user', 'registration', 'error'], false);
26
+ const selectUserRegistrationIsLoading = state => getImmutableOrJS(state, ['user', 'registration', 'isLoading'], false);
27
+ const selectUserRegistrationIsSuccess = state => getImmutableOrJS(state, ['user', 'registration', 'success'], false);
28
+ const selectPasswordResetRequestSending = state => getImmutableOrJS(state, ['user', 'passwordResetRequest', 'isSending']);
29
+ const selectPasswordResetRequestSent = state => getImmutableOrJS(state, ['user', 'passwordResetRequest', 'sent']);
30
+ const selectPasswordResetRequestError = state => getImmutableOrJS(state, ['user', 'passwordResetRequest', 'error']);
31
+ const selectResetPasswordSending = state => getImmutableOrJS(state, ['user', 'resetPassword', 'isSending']);
32
+ const selectResetPasswordSent = state => getImmutableOrJS(state, ['user', 'resetPassword', 'sent']);
33
+ const selectResetPasswordError = state => getImmutableOrJS(state, ['user', 'resetPassword', 'error']);
34
+ const selectChangePasswordSending = state => getImmutableOrJS(state, ['user', 'changePassword', 'isSending']);
35
+ const selectChangePasswordSent = state => getImmutableOrJS(state, ['user', 'changePassword', 'sent']);
36
+ const selectChangePasswordError = state => getImmutableOrJS(state, ['user', 'changePassword', 'error']);
37
+
38
+ var selectors = /*#__PURE__*/Object.freeze({
39
+ __proto__: null,
40
+ selectUserIsLoading: selectUserIsLoading,
41
+ selectUserIsAuthenticated: selectUserIsAuthenticated,
42
+ selectUserIsAuthenticationError: selectUserIsAuthenticationError,
43
+ selectUserIsError: selectUserIsError,
44
+ selectUserAuthenticationErrorMessage: selectUserAuthenticationErrorMessage,
45
+ selectUserErrorMessage: selectUserErrorMessage,
46
+ selectClientCredentials: selectClientCredentials,
47
+ selectUser: selectUser,
48
+ selectUserIsZengentiStaff: selectUserIsZengentiStaff,
49
+ selectUserGuid: selectUserGuid,
50
+ selectUsername: selectUsername,
51
+ selectUserEmail: selectUserEmail,
52
+ selectUserGroups: selectUserGroups,
53
+ selectUserSecurityToken: selectUserSecurityToken,
54
+ selectUserRegistration: selectUserRegistration,
55
+ selectUserRegistrationError: selectUserRegistrationError,
56
+ selectUserRegistrationIsLoading: selectUserRegistrationIsLoading,
57
+ selectUserRegistrationIsSuccess: selectUserRegistrationIsSuccess,
58
+ selectPasswordResetRequestSending: selectPasswordResetRequestSending,
59
+ selectPasswordResetRequestSent: selectPasswordResetRequestSent,
60
+ selectPasswordResetRequestError: selectPasswordResetRequestError,
61
+ selectResetPasswordSending: selectResetPasswordSending,
62
+ selectResetPasswordSent: selectResetPasswordSent,
63
+ selectResetPasswordError: selectResetPasswordError,
64
+ selectChangePasswordSending: selectChangePasswordSending,
65
+ selectChangePasswordSent: selectChangePasswordSent,
66
+ selectChangePasswordError: selectChangePasswordError
67
+ });
68
+
69
+ const matchUserGroup = (userGroups = [], requiredGroups = []) => {
70
+ if (!Array.isArray(requiredGroups) || Array.isArray(requiredGroups) && requiredGroups.length === 0) return true;
71
+ const groupMatch = requiredGroups.some(requiredGroup => {
72
+ return userGroups.some(userGroup => {
73
+ if (requiredGroup.id === userGroup.id) {
74
+ return true;
75
+ }
76
+
77
+ if (requiredGroup.name === userGroup.name) {
78
+ return true;
79
+ }
80
+ });
81
+ });
82
+ return groupMatch;
83
+ };
84
+
85
+ /* eslint-disable react/display-name */
86
+ const toJS = WrappedComponent => wrappedComponentProps => {
87
+ const KEY = 0;
88
+ const VALUE = 1;
89
+ const propsJS = Object.entries(wrappedComponentProps).reduce((newProps, wrappedComponentProp) => {
90
+ const propKey = wrappedComponentProp[KEY];
91
+ const propValue = wrappedComponentProp[VALUE];
92
+ newProps[propKey] = propValue && typeof propValue === 'object' && 'toJS' in propValue ? propValue.toJS() : propValue;
93
+ return newProps;
94
+ }, {});
95
+ return /*#__PURE__*/React.createElement(WrappedComponent, propsJS);
96
+ };
97
+
98
+ export { selectUserIsAuthenticated as a, selectUserGroups as b, selectUserErrorMessage as c, selectUserIsAuthenticationError as d, selectUserIsError as e, selectUserIsLoading as f, selectUser as g, selectUserRegistrationError as h, selectUserRegistrationIsLoading as i, selectUserRegistrationIsSuccess as j, selectUserRegistration as k, selectPasswordResetRequestSending as l, matchUserGroup as m, selectPasswordResetRequestSent as n, selectPasswordResetRequestError as o, selectResetPasswordSending as p, selectResetPasswordSent as q, selectResetPasswordError as r, selectClientCredentials as s, toJS as t, selectChangePasswordSending as u, selectChangePasswordSent as v, selectUserGuid as w, selectChangePasswordError as x, selectors as y };
99
+ //# sourceMappingURL=ToJs-2627ce21.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToJs-2627ce21.js","sources":["../src/user/redux/selectors.ts","../src/user/util/matchGroups.ts","../src/util/ToJs.tsx"],"sourcesContent":["import { StateType } from '~/config';\nimport { AppState } from '~/redux/appstate';\nimport { getImmutableOrJS as getIn } from '~/redux/util';\n\nexport const selectUserIsLoading = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isLoading']);\n\nexport const selectUserIsAuthenticated = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isAuthenticated']);\n\nexport const selectUserIsAuthenticationError = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isAuthenticationError']);\n\nexport const selectUserIsError = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isError']);\n\n/**\n * DEPRECATED 12/2021 - use selectUserErrorMessage instead\n * @param state AppState\n * @returns string\n */\nexport const selectUserAuthenticationErrorMessage = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'errorMessage']);\n\nexport const selectUserErrorMessage = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'errorMessage']);\n\nexport const selectClientCredentials = (\n state: AppState,\n returnType?: StateType\n) =>\n getIn(\n state,\n ['user', 'authenticationState', 'clientCredentials'],\n {},\n returnType\n );\n\nexport const selectUser = (state: AppState, returnType?: StateType) =>\n getIn(state, 'user', {}, returnType);\n\nexport const selectUserIsZengentiStaff = (state: AppState) =>\n getIn(state, ['user', 'isZengentiStaff']);\n\nexport const selectUserGuid = (state: AppState) => getIn(state, ['user', 'id']);\n\nexport const selectUsername = (state: AppState) =>\n getIn(state, ['user', 'username']);\n\nexport const selectUserEmail = (state: AppState) =>\n getIn(state, ['user', 'email']);\n\nexport const selectUserGroups = (state: AppState, returnType?: StateType) =>\n getIn(state, ['user', 'groups'], [], returnType);\n\nexport const selectUserSecurityToken = (state: AppState) =>\n getIn(state, [\n 'user',\n 'authenticationState',\n 'clientCredentials',\n 'contensisClassicToken',\n ]);\n\nexport const selectUserRegistration = (\n state: AppState,\n returnType?: StateType\n) => getIn(state, ['user', 'registration'], {}, returnType);\n\nexport const selectUserRegistrationError = (state: AppState) =>\n getIn(state, ['user', 'registration', 'error'], false);\n\nexport const selectUserRegistrationIsLoading = (state: AppState) =>\n getIn(state, ['user', 'registration', 'isLoading'], false);\n\nexport const selectUserRegistrationIsSuccess = (state: AppState) =>\n getIn(state, ['user', 'registration', 'success'], false);\n\nexport const selectPasswordResetRequestSending = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'isSending']);\n\nexport const selectPasswordResetRequestSent = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'sent']);\n\nexport const selectPasswordResetRequestError = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'error']);\n\nexport const selectResetPasswordSending = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'isSending']);\n\nexport const selectResetPasswordSent = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'sent']);\n\nexport const selectResetPasswordError = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'error']);\n\nexport const selectChangePasswordSending = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'isSending']);\n\nexport const selectChangePasswordSent = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'sent']);\n\nexport const selectChangePasswordError = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'error']);\n","import { Group } from 'contensis-management-api/lib/models';\nimport { RequireLogin } from '~/routing/routes';\n\nexport const matchUserGroup = (\n userGroups: Group[] = [],\n requiredGroups: RequireLogin = []\n) => {\n if (\n !Array.isArray(requiredGroups) ||\n (Array.isArray(requiredGroups) && requiredGroups.length === 0)\n )\n return true;\n\n const groupMatch = requiredGroups.some(requiredGroup => {\n return userGroups.some(userGroup => {\n if (requiredGroup.id === userGroup.id) {\n return true;\n }\n if (requiredGroup.name === userGroup.name) {\n return true;\n }\n });\n });\n return groupMatch;\n};\n","/* eslint-disable react/display-name */\n/* eslint-disable @typescript-eslint/naming-convention */\nimport React from 'react';\n\nexport const toJS =\n <Props extends { [key: string]: any }>(\n WrappedComponent: React.ComponentType<Props>\n ): React.ComponentType<Props> =>\n (wrappedComponentProps: Props) => {\n const KEY = 0;\n const VALUE = 1;\n\n const propsJS = Object.entries(wrappedComponentProps).reduce<Props>(\n (newProps: any, wrappedComponentProp) => {\n const propKey = wrappedComponentProp[KEY];\n const propValue = wrappedComponentProp[VALUE];\n newProps[propKey] =\n propValue && typeof propValue === 'object' && 'toJS' in propValue\n ? propValue.toJS()\n : propValue;\n return newProps as Props;\n },\n {} as Props\n );\n\n return <WrappedComponent {...propsJS} />;\n };\n"],"names":["selectUserIsLoading","state","getIn","selectUserIsAuthenticated","selectUserIsAuthenticationError","selectUserIsError","selectUserAuthenticationErrorMessage","selectUserErrorMessage","selectClientCredentials","returnType","selectUser","selectUserIsZengentiStaff","selectUserGuid","selectUsername","selectUserEmail","selectUserGroups","selectUserSecurityToken","selectUserRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","selectUserRegistrationIsSuccess","selectPasswordResetRequestSending","selectPasswordResetRequestSent","selectPasswordResetRequestError","selectResetPasswordSending","selectResetPasswordSent","selectResetPasswordError","selectChangePasswordSending","selectChangePasswordSent","selectChangePasswordError","matchUserGroup","userGroups","requiredGroups","Array","isArray","length","groupMatch","some","requiredGroup","userGroup","id","name","toJS","WrappedComponent","wrappedComponentProps","KEY","VALUE","propsJS","Object","entries","reduce","newProps","wrappedComponentProp","propKey","propValue"],"mappings":"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"}
@@ -0,0 +1,172 @@
1
+ import React from 'react';
2
+ import { connect } from 'react-redux';
3
+ import mapJson from 'jsonpath-mapper';
4
+ import { b as selectCurrentProject } from './selectors-65f0f31c.js';
5
+ import { a as selectCommitRef, b as selectBuildNumber, s as selectVersionStatus } from './version-696796d7.js';
6
+ import styled from 'styled-components';
7
+
8
+ const setCachingHeaders = (response, {
9
+ cacheControl = 'private',
10
+ surrogateControl = '3600'
11
+ }, method = 'header') => {
12
+ if (cacheControl) response[method]('Cache-Control', cacheControl);
13
+ if (surrogateControl) response[method]('Surrogate-Control', `max-age=${surrogateControl.toString()}`);
14
+ };
15
+
16
+ const context = typeof window != 'undefined' ? window : global;
17
+ const isDev = process.env.NODE_ENV === 'development';
18
+
19
+ const pj = () => isDev ? PACKAGE_JSON
20
+ /* global PACKAGE_JSON */
21
+ : context.PACKAGE_JSON || {
22
+ name: 'packagejson not found',
23
+ repository: ''
24
+ };
25
+
26
+ const versionInfoProps = {
27
+ packageDetail: () => {
28
+ const pkg = pj();
29
+ return {
30
+ name: pkg.name,
31
+ version: pkg.version,
32
+ repository: pkg.repository
33
+ };
34
+ },
35
+ uris: {
36
+ gitRepo: () => pj().repository,
37
+ commit: state => {
38
+ const commitRef = selectCommitRef(state);
39
+ return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;
40
+ },
41
+ pipeline: state => {
42
+ const buildNumber = selectBuildNumber(state);
43
+ return `${pj().repository}/${pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'}/${buildNumber ? buildNumber : ''}`;
44
+ }
45
+ },
46
+ zenPackageVersions: () => [...(Object.entries(pj().devDependencies || {}).filter(([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')) || []), ...(Object.entries(pj().dependencies || {}).filter(([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')) || [])],
47
+ deliveryApi: () => JSON.parse(JSON.stringify(DELIVERY_API_CONFIG
48
+ /* global DELIVERY_API_CONFIG */
49
+ )),
50
+ devEnv: () => typeof DEV_ENV !== 'undefined'
51
+ /* global DEV_ENV */
52
+ ? DEV_ENV : null,
53
+ disableSsrRedux: () => isDev ? DISABLE_SSR_REDUX
54
+ /* global DISABLE_SSR_REDUX*/
55
+ : context.DISABLE_SSR_REDUX || false,
56
+ nodeEnv: () => process.env.NODE_ENV || 'production',
57
+ packagejson: () => pj() || {},
58
+ projects: () => isDev ? PROJECTS
59
+ /* global PROJECTS */
60
+ : context.PROJECTS,
61
+ proxyDeliveryApi: () => isDev ? PROXY_DELIVERY_API
62
+ /* global PROXY_DELIVERY_API */
63
+ : context.PROXY_DELIVERY_API || false,
64
+ publicUri: () => isDev ? PUBLIC_URI
65
+ /* global PUBLIC_URI */
66
+ : context.PUBLIC_URI || null,
67
+ project: state => selectCurrentProject(state),
68
+ reverseProxyPaths: () => isDev ? REVERSE_PROXY_PATHS
69
+ /* global REVERSE_PROXY_PATHS */
70
+ : context.REVERSE_PROXY_PATHS || {},
71
+ servers: () => isDev ? SERVERS
72
+ /* global SERVERS */
73
+ : context.SERVERS,
74
+ version: {
75
+ buildNumber: state => selectBuildNumber(state),
76
+ commitRef: state => selectCommitRef(state),
77
+ contensisVersionStatus: state => selectVersionStatus(state)
78
+ }
79
+ };
80
+
81
+ const mapStateToVersionInfo = state => {
82
+ const mappedProps = mapJson(state, versionInfoProps);
83
+ return mappedProps;
84
+ };
85
+
86
+ const VersionInfoStyledTable = styled.table.withConfig({
87
+ displayName: "VersionInfostyled__VersionInfoStyledTable",
88
+ componentId: "sc-ogujr7-0"
89
+ })(["font-family:'Source Sans Pro',Helvetica,Arial,sans-serif;font-size:1.6rem;line-height:1.5rem;border-bottom:4px solid #8892bf;border-collapse:separate;margin:0 auto;width:80%;th{text-align:left;background-color:#c4c9df;border-bottom:#8892bf 2px solid;border-bottom-color:#8892bf;border-top:20px solid #fff;}td{border-bottom:1px solid #eee;}td,th{padding:0.5rem 0.75rem;vertical-align:top;}.left{width:25%;}tr th{border-right:hidden;border-spacing:0 15px;}.green{background-color:#9c9;border-bottom:1px solid #696;}.red{background-color:#c99;border-bottom:1px solid #966;}.small{font-size:100%;line-height:2.4rem;}"]);
90
+
91
+ const VersionInfo = ({
92
+ deliveryApi,
93
+ devEnv,
94
+ disableSsrRedux,
95
+ nodeEnv,
96
+ packageDetail,
97
+ project,
98
+ projects,
99
+ proxyDeliveryApi,
100
+ publicUri,
101
+ reverseProxyPaths,
102
+ servers,
103
+ uris,
104
+ version,
105
+ zenPackageVersions
106
+ }) => {
107
+ return /*#__PURE__*/React.createElement(VersionInfoStyledTable, null, /*#__PURE__*/React.createElement("thead", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
108
+ colSpan: 2
109
+ }, /*#__PURE__*/React.createElement("h1", null, /*#__PURE__*/React.createElement("a", {
110
+ href: "/"
111
+ }, "Version Information"))))), /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("th", {
112
+ colSpan: 2
113
+ }, "Package detail")), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
114
+ className: "left"
115
+ }, "Name"), /*#__PURE__*/React.createElement("td", null, packageDetail.name)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
116
+ className: "left"
117
+ }, "Version"), /*#__PURE__*/React.createElement("td", null, packageDetail.version)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("th", {
118
+ colSpan: 2
119
+ }, "Version info (state)")), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Git repo url: "), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("a", {
120
+ href: packageDetail.repository,
121
+ target: "_blank",
122
+ rel: "noopener noreferrer"
123
+ }, packageDetail.repository))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Pipeline: "), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("a", {
124
+ href: uris.pipeline,
125
+ target: "_blank",
126
+ rel: "noopener noreferrer"
127
+ }, version.buildNumber))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Commit: "), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("a", {
128
+ href: uris.commit,
129
+ target: "_blank",
130
+ rel: "noopener noreferrer"
131
+ }, version.commitRef))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Project"), /*#__PURE__*/React.createElement("td", {
132
+ className: project === 'unknown' ? 'red' : ''
133
+ }, project)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Contensis version status: "), /*#__PURE__*/React.createElement("td", {
134
+ className: version.contensisVersionStatus === 'published' ? 'green' : 'red'
135
+ }, version.contensisVersionStatus)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("th", {
136
+ colSpan: 2
137
+ }, "Build configuration")), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Environment"), /*#__PURE__*/React.createElement("td", null, servers.alias)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Public uri"), /*#__PURE__*/React.createElement("td", null, publicUri)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Zengenti packages"), /*#__PURE__*/React.createElement("td", null, zenPackageVersions.map(([pkg, ver], idx) => /*#__PURE__*/React.createElement("div", {
138
+ key: idx
139
+ }, pkg, ": ", ver)))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Servers"), /*#__PURE__*/React.createElement("td", {
140
+ className: "small"
141
+ }, /*#__PURE__*/React.createElement("div", null, "web: ", servers.web), /*#__PURE__*/React.createElement("div", null, "preview: ", servers.previewWeb), /*#__PURE__*/React.createElement("div", null, "api: ", servers.api), /*#__PURE__*/React.createElement("div", null, "cms: ", servers.cms), /*#__PURE__*/React.createElement("div", null, "iis: ", servers.iis), /*#__PURE__*/React.createElement("div", null, "iis preview: ", servers.previewIis))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Reverse proxy paths"), /*#__PURE__*/React.createElement("td", null, Object.entries(reverseProxyPaths).map(([, path], key) => /*#__PURE__*/React.createElement("span", {
142
+ key: key
143
+ }, "[ ", path, " ] ")))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Projects"), /*#__PURE__*/React.createElement("td", null, Object.entries(projects).map(([, project], key) => /*#__PURE__*/React.createElement("div", {
144
+ key: key
145
+ }, "[ ", project.id, ": ", project.publicUri, " ]")))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Delivery API"), /*#__PURE__*/React.createElement("td", {
146
+ className: "small"
147
+ }, /*#__PURE__*/React.createElement("ul", {
148
+ style: {
149
+ margin: 0,
150
+ padding: 0
151
+ }
152
+ }, Object.entries(deliveryApi).map(([key, value], idx) => {
153
+ if (typeof value === 'object') return null;
154
+ return /*#__PURE__*/React.createElement("li", {
155
+ key: idx,
156
+ style: {
157
+ listStyleType: 'none'
158
+ }
159
+ }, key, ": ", /*#__PURE__*/React.createElement("span", null, value));
160
+ })))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Proxy Delivery API requests"), /*#__PURE__*/React.createElement("td", {
161
+ className: proxyDeliveryApi ? 'green' : 'red'
162
+ }, proxyDeliveryApi.toString())), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "Disable SSR inline-redux"), /*#__PURE__*/React.createElement("td", null, disableSsrRedux.toString())), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "NODE_ENV"), /*#__PURE__*/React.createElement("td", {
163
+ className: nodeEnv === 'production' ? 'green' : 'red'
164
+ }, nodeEnv.toString())), devEnv && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, "process.env"), /*#__PURE__*/React.createElement("td", null, Object.entries(devEnv).map(([k, v], key) => /*#__PURE__*/React.createElement("div", {
165
+ key: key
166
+ }, "[ ", k, ": ", v, " ]"))))));
167
+ };
168
+
169
+ var VersionInfo$1 = connect(mapStateToVersionInfo)(VersionInfo);
170
+
171
+ export { VersionInfo$1 as V, setCachingHeaders as s };
172
+ //# sourceMappingURL=VersionInfo-add96cdb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionInfo-add96cdb.js","sources":["../src/server/features/caching/setCachingHeaders.ts","../src/app/pages/VersionInfo/transformations/state-to-versioninfoprops.mapper.ts","../src/app/pages/VersionInfo/components/VersionInfo.styled.tsx","../src/app/pages/VersionInfo/components/VersionInfo.tsx"],"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","import { default as mapJson } from '~/util/json-mapper';\nimport { selectCurrentProject } from '~/routing/redux/selectors';\nimport {\n selectBuildNumber,\n selectCommitRef,\n selectVersionStatus,\n} from '~/redux/selectors/version';\nimport { IVersionInfoProps } from '../components/VersionInfo';\n\nconst context = (\n typeof window != 'undefined' ? window : global\n) as typeof globalThis & {\n DISABLE_SSR_REDUX: any;\n PACKAGE_JSON: any;\n PROJECTS: any;\n PROXY_DELIVERY_API: any;\n PUBLIC_URI: any;\n REVERSE_PROXY_PATHS: string[];\n SERVERS: any;\n};\n\nconst isDev = process.env.NODE_ENV === 'development';\n\nconst pj = () =>\n isDev\n ? PACKAGE_JSON /* global PACKAGE_JSON */\n : context.PACKAGE_JSON || { name: 'packagejson not found', repository: '' };\n\nconst versionInfoProps = {\n packageDetail: () => {\n const pkg = pj();\n return { name: pkg.name, version: pkg.version, repository: pkg.repository };\n },\n uris: {\n gitRepo: () => pj().repository,\n commit: state => {\n const commitRef = selectCommitRef(state);\n return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;\n },\n pipeline: state => {\n const buildNumber = selectBuildNumber(state);\n return `${pj().repository}/${\n pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'\n }/${buildNumber ? buildNumber : ''}`;\n },\n },\n zenPackageVersions: () => [\n ...(Object.entries(pj().devDependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ...(Object.entries(pj().dependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ],\n deliveryApi: () =>\n JSON.parse(\n JSON.stringify(DELIVERY_API_CONFIG /* global DELIVERY_API_CONFIG */)\n ),\n devEnv: () =>\n typeof DEV_ENV !== 'undefined' /* global DEV_ENV */ ? DEV_ENV : null,\n disableSsrRedux: () =>\n isDev\n ? DISABLE_SSR_REDUX /* global DISABLE_SSR_REDUX*/\n : context.DISABLE_SSR_REDUX || false,\n nodeEnv: () => process.env.NODE_ENV || 'production',\n packagejson: () => pj() || {},\n projects: () => (isDev ? PROJECTS /* global PROJECTS */ : context.PROJECTS),\n proxyDeliveryApi: () =>\n isDev\n ? PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n : context.PROXY_DELIVERY_API || false,\n publicUri: () =>\n isDev ? PUBLIC_URI /* global PUBLIC_URI */ : context.PUBLIC_URI || null,\n project: state => selectCurrentProject(state),\n reverseProxyPaths: () =>\n isDev\n ? REVERSE_PROXY_PATHS /* global REVERSE_PROXY_PATHS */\n : context.REVERSE_PROXY_PATHS || {},\n servers: () => (isDev ? SERVERS /* global SERVERS */ : context.SERVERS),\n version: {\n buildNumber: state => selectBuildNumber(state),\n commitRef: state => selectCommitRef(state),\n contensisVersionStatus: state => selectVersionStatus(state),\n },\n};\n\nconst mapStateToVersionInfo = state => {\n const mappedProps = mapJson(state, versionInfoProps);\n return mappedProps as IVersionInfoProps;\n};\n\nexport default mapStateToVersionInfo;\n","import styled from 'styled-components';\n\nexport const VersionInfoStyledTable = styled.table`\n font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;\n font-size: 1.6rem;\n line-height: 1.5rem;\n border-bottom: 4px solid #8892bf;\n border-collapse: separate;\n margin: 0 auto;\n width: 80%;\n th {\n text-align: left;\n background-color: #c4c9df;\n border-bottom: #8892bf 2px solid;\n border-bottom-color: #8892bf;\n border-top: 20px solid #fff;\n }\n td {\n border-bottom: 1px solid #eee;\n }\n td,\n th {\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n }\n .left {\n width: 25%;\n }\n tr th {\n border-right: hidden;\n border-spacing: 0 15px;\n }\n .green {\n background-color: #9c9;\n border-bottom: 1px solid #696;\n }\n .red {\n background-color: #c99;\n border-bottom: 1px solid #966;\n }\n .small {\n font-size: 100%;\n line-height: 2.4rem;\n }\n`;\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport mapStateToVersionInfo from '../transformations/state-to-versioninfoprops.mapper';\n\nimport { VersionInfoStyledTable } from './VersionInfo.styled';\n\nexport interface IVersionInfoProps {\n deliveryApi: {\n rootUrl: string;\n accessToken: string;\n projectId: string;\n livePublishingRootUrl: string;\n };\n devEnv: any;\n disableSsrRedux: boolean;\n nodeEnv: string;\n packageDetail: any;\n project: string;\n projects;\n proxyDeliveryApi;\n publicUri: string;\n reverseProxyPaths: string[];\n servers: {\n alias: string;\n api: string;\n cms: string;\n web: string;\n iis: string;\n previewIis: string;\n previewWeb: string;\n };\n uris: {\n gitRepo: string;\n commit: string;\n pipeline: string;\n };\n version: {\n buildNumber: string;\n commitRef: string;\n contensisVersionStatus: string;\n };\n zenPackageVersions: string[];\n}\n\nconst VersionInfo = ({\n deliveryApi,\n devEnv,\n disableSsrRedux,\n nodeEnv,\n packageDetail,\n project,\n projects,\n proxyDeliveryApi,\n publicUri,\n reverseProxyPaths,\n servers,\n uris,\n version,\n zenPackageVersions,\n}: IVersionInfoProps) => {\n return (\n <VersionInfoStyledTable>\n <thead>\n <tr>\n <td colSpan={2}>\n <h1>\n <a href=\"/\">Version Information</a>\n </h1>\n </td>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th colSpan={2}>Package detail</th>\n </tr>\n <tr>\n <td className=\"left\">Name</td>\n <td>{packageDetail.name}</td>\n </tr>\n <tr>\n <td className=\"left\">Version</td>\n <td>{packageDetail.version}</td>\n </tr>\n <tr>\n <th colSpan={2}>Version info (state)</th>\n </tr>\n <tr>\n <td>Git repo url: </td>\n <td>\n <a\n href={packageDetail.repository}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {packageDetail.repository}\n </a>\n </td>\n </tr>\n <tr>\n <td>Pipeline: </td>\n <td>\n <a href={uris.pipeline} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.buildNumber}\n </a>\n </td>\n </tr>\n <tr>\n <td>Commit: </td>\n <td>\n <a href={uris.commit} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.commitRef}\n </a>\n </td>\n </tr>\n {/* <tr>\n <td>Last release ref: </td>\n <td></td>\n </tr>\n <tr>\n <td>Number of commits since last release: </td>\n <td></td>\n </tr> */}\n <tr>\n <td>Project</td>\n <td className={project === 'unknown' ? 'red' : ''}>{project}</td>\n </tr>\n <tr>\n <td>Contensis version status: </td>\n <td\n className={\n version.contensisVersionStatus === 'published' ? 'green' : 'red'\n }\n >\n {version.contensisVersionStatus}\n </td>\n </tr>\n <tr>\n <th colSpan={2}>Build configuration</th>\n </tr>\n <tr>\n <td>Environment</td>\n <td>{servers.alias}</td>\n </tr>\n <tr>\n <td>Public uri</td>\n <td>{publicUri}</td>\n </tr>\n <tr>\n <td>Zengenti packages</td>\n <td>\n {zenPackageVersions.map(([pkg, ver], idx) => (\n <div key={idx}>\n {pkg}: {ver}\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Servers</td>\n <td className=\"small\">\n <div>web: {servers.web}</div>\n <div>preview: {servers.previewWeb}</div>\n <div>api: {servers.api}</div>\n <div>cms: {servers.cms}</div>\n <div>iis: {servers.iis}</div>\n <div>iis preview: {servers.previewIis}</div>\n </td>\n </tr>\n <tr>\n <td>Reverse proxy paths</td>\n <td>\n {Object.entries(reverseProxyPaths).map(([, path], key) => (\n <span key={key}>[ {path} ] </span>\n ))}\n </td>\n </tr>\n <tr>\n <td>Projects</td>\n <td>\n {Object.entries(\n projects as {\n id: string;\n publicUri: string;\n }[]\n ).map(([, project], key) => (\n <div key={key}>\n [ {project.id}: {project.publicUri} ]\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Delivery API</td>\n <td className=\"small\">\n <ul style={{ margin: 0, padding: 0 }}>\n {Object.entries(deliveryApi).map(\n ([key, value]: [string, any], idx) => {\n if (typeof value === 'object') return null;\n return (\n <li key={idx} style={{ listStyleType: 'none' }}>\n {key}: <span>{value}</span>\n </li>\n );\n }\n )}\n </ul>\n </td>\n </tr>\n <tr>\n <td>Proxy Delivery API requests</td>\n <td className={proxyDeliveryApi ? 'green' : 'red'}>\n {proxyDeliveryApi.toString()}\n </td>\n </tr>\n <tr>\n <td>Disable SSR inline-redux</td>\n <td>{disableSsrRedux.toString()}</td>\n </tr>\n <tr>\n <td>NODE_ENV</td>\n <td className={nodeEnv === 'production' ? 'green' : 'red'}>\n {nodeEnv.toString()}\n </td>\n </tr>\n {devEnv && (\n <tr>\n <td>process.env</td>\n <td>\n {Object.entries(devEnv).map(([k, v], key) => (\n <div key={key}>\n [ {k}: {v} ]\n </div>\n ))}\n </td>\n </tr>\n )}\n </tbody>\n </VersionInfoStyledTable>\n );\n};\n\nexport default connect(mapStateToVersionInfo)(VersionInfo);\n"],"names":["setCachingHeaders","response","cacheControl","surrogateControl","method","toString","context","window","global","isDev","process","env","NODE_ENV","pj","PACKAGE_JSON","name","repository","versionInfoProps","packageDetail","pkg","version","uris","gitRepo","commit","state","commitRef","selectCommitRef","pipeline","buildNumber","selectBuildNumber","includes","zenPackageVersions","Object","entries","devDependencies","filter","dependencies","deliveryApi","JSON","parse","stringify","DELIVERY_API_CONFIG","devEnv","DEV_ENV","disableSsrRedux","DISABLE_SSR_REDUX","nodeEnv","packagejson","projects","PROJECTS","proxyDeliveryApi","PROXY_DELIVERY_API","publicUri","PUBLIC_URI","project","selectCurrentProject","reverseProxyPaths","REVERSE_PROXY_PATHS","servers","SERVERS","contensisVersionStatus","selectVersionStatus","mapStateToVersionInfo","mappedProps","mapJson","VersionInfoStyledTable","styled","table","VersionInfo","alias","map","ver","idx","web","previewWeb","api","cms","iis","previewIis","path","key","id","margin","padding","value","listStyleType","k","v","connect"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { p as action } from './selectors-b98d5c76.js';
1
+ import { r as action } from './selectors-65f0f31c.js';
2
2
 
3
3
  const ROUTING_PREFIX = '@ROUTING/';
4
4
  const GET_ENTRY = `${ROUTING_PREFIX}_GET_ENTRY`;
@@ -53,8 +53,9 @@ const setRoute = (path, state) => action(SET_ROUTE, {
53
53
  const setRouteEntry = entry => action(SET_ENTRY, {
54
54
  entry
55
55
  });
56
- const setSurrogateKeys = keys => action(SET_SURROGATE_KEYS, {
57
- keys
56
+ const setSurrogateKeys = (keys, url) => action(SET_SURROGATE_KEYS, {
57
+ keys,
58
+ url
58
59
  });
59
60
 
60
61
  var routing = /*#__PURE__*/Object.freeze({
@@ -68,4 +69,4 @@ var routing = /*#__PURE__*/Object.freeze({
68
69
  });
69
70
 
70
71
  export { SET_NAVIGATION_PATH as S, UPDATE_LOADING_STATE as U, setSurrogateKeys as a, SET_ROUTE as b, SET_ENTRY as c, SET_ANCESTORS as d, SET_SIBLINGS as e, setRoute as f, setNavigationPath as g, SET_TARGET_PROJECT as h, SET_SURROGATE_KEYS as i, routing as j, routing$1 as r, setCurrentProject as s };
71
- //# sourceMappingURL=actions-927d9698.js.map
72
+ //# sourceMappingURL=actions-5437f43d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-5437f43d.js","sources":["../src/routing/redux/types.ts","../src/routing/redux/actions.ts"],"sourcesContent":["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_NOT_FOUND = `${ROUTING_PREFIX}_SET_NOT_FOUND`;\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 { action } from '~/redux/util';\nimport {\n SET_ENTRY,\n SET_NAVIGATION_NOT_FOUND,\n SET_NAVIGATION_PATH,\n SET_TARGET_PROJECT,\n SET_ROUTE,\n SET_SURROGATE_KEYS,\n} from './types';\n\nexport const setNotFound = notFound =>\n action(SET_NAVIGATION_NOT_FOUND, { notFound });\nexport const setNavigationPath = (\n path,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes\n) =>\n action(SET_NAVIGATION_PATH, {\n path,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes,\n });\nexport const setCurrentProject = (project, allowedGroups, hostname) =>\n action(SET_TARGET_PROJECT, { project, allowedGroups, hostname });\nexport const setRoute = (path, state) => action(SET_ROUTE, { path, state });\nexport const setRouteEntry = entry => action(SET_ENTRY, { entry });\nexport const setSurrogateKeys = (keys, url) =>\n action(SET_SURROGATE_KEYS, { keys, url });\n"],"names":["ROUTING_PREFIX","GET_ENTRY","SET_ENTRY","SET_NODE","SET_ANCESTORS","SET_SIBLINGS","SET_ENTRY_ID","SET_SURROGATE_KEYS","SET_NAVIGATION_NOT_FOUND","SET_NAVIGATION_PATH","SET_TARGET_PROJECT","SET_ROUTE","UPDATE_LOADING_STATE","setNotFound","notFound","action","setNavigationPath","path","location","staticRoute","withEvents","statePath","routes","setCurrentProject","project","allowedGroups","hostname","setRoute","state","setRouteEntry","entry","setSurrogateKeys","keys","url"],"mappings":";;AAAA,MAAMA,cAAc,GAAG,WAAvB,CAAA;AACO,MAAMC,SAAS,GAAI,CAAA,EAAED,cAAe,CAApC,UAAA,CAAA,CAAA;AACME,MAAAA,SAAS,GAAI,CAAA,EAAEF,cAAe,CAApC,UAAA,EAAA;AACA,MAAMG,QAAQ,GAAI,CAAA,EAAEH,cAAe,CAAnC,SAAA,CAAA,CAAA;AACMI,MAAAA,aAAa,GAAI,CAAA,EAAEJ,cAAe,CAAxC,cAAA,EAAA;AACMK,MAAAA,YAAY,GAAI,CAAA,EAAEL,cAAe,CAAvC,aAAA,EAAA;AACA,MAAMM,YAAY,GAAI,CAAA,EAAEN,cAAe,CAAvC,aAAA,CAAA,CAAA;AACMO,MAAAA,kBAAkB,GAAI,CAAA,EAAEP,cAAe,CAA7C,mBAAA,EAAA;AAEA,MAAMQ,wBAAwB,GAAI,CAAA,EAAER,cAAe,CAAnD,cAAA,CAAA,CAAA;AACMS,MAAAA,mBAAmB,GAAI,CAAA,EAAET,cAAe,CAA9C,oBAAA,EAAA;AAEMU,MAAAA,kBAAkB,GAAI,CAAA,EAAEV,cAAe,CAA7C,mBAAA,EAAA;AAEMW,MAAAA,SAAS,GAAI,CAAA,EAAEX,cAAe,CAApC,UAAA,EAAA;AAEMY,MAAAA,oBAAoB,GAAI,CAAA,EAAEZ,cAAe,CAA/C,qBAAA;;;;;;;;;;;;;;;;;;ACNA,MAAMa,WAAW,GAAGC,QAAQ,IACjCC,MAAM,CAACP,wBAAD,EAA2B;AAAEM,EAAAA,QAAAA;AAAF,CAA3B,CADD,CAAA;MAEME,iBAAiB,GAAG,CAC/BC,IAD+B,EAE/BC,QAF+B,EAG/BC,WAH+B,EAI/BC,UAJ+B,EAK/BC,SAL+B,EAM/BC,MAN+B,KAQ/BP,MAAM,CAACN,mBAAD,EAAsB;AAC1BQ,EAAAA,IAD0B;AAE1BC,EAAAA,QAF0B;AAG1BC,EAAAA,WAH0B;AAI1BC,EAAAA,UAJ0B;AAK1BC,EAAAA,SAL0B;AAM1BC,EAAAA,MAAAA;AAN0B,CAAtB,EARD;AAgBMC,MAAAA,iBAAiB,GAAG,CAACC,OAAD,EAAUC,aAAV,EAAyBC,QAAzB,KAC/BX,MAAM,CAACL,kBAAD,EAAqB;AAAEc,EAAAA,OAAF;AAAWC,EAAAA,aAAX;AAA0BC,EAAAA,QAAAA;AAA1B,CAArB,EADD;AAEA,MAAMC,QAAQ,GAAG,CAACV,IAAD,EAAOW,KAAP,KAAiBb,MAAM,CAACJ,SAAD,EAAY;AAAEM,EAAAA,IAAF;AAAQW,EAAAA,KAAAA;AAAR,CAAZ,EAAxC;AACA,MAAMC,aAAa,GAAGC,KAAK,IAAIf,MAAM,CAACb,SAAD,EAAY;AAAE4B,EAAAA,KAAAA;AAAF,CAAZ,CAArC,CAAA;AACA,MAAMC,gBAAgB,GAAG,CAACC,IAAD,EAAOC,GAAP,KAC9BlB,MAAM,CAACR,kBAAD,EAAqB;AAAEyB,EAAAA,IAAF;AAAQC,EAAAA,GAAAA;AAAR,CAArB;;;;;;;;;;;;;;"}
package/esm/client.js CHANGED
@@ -6,11 +6,12 @@ import { Provider } from 'react-redux';
6
6
  import { Router } from 'react-router-dom';
7
7
  import { loadableReady } from '@loadable/component';
8
8
  import * as queryString from 'query-string';
9
- import { c as createStore, s as setVersionStatus } from './version-16aa83eb.js';
10
- import { d as deliveryApi, b as browserHistory, r as rootSaga, p as pickProject } from './App-1b05ab11.js';
11
- export { A as ReactApp } from './App-1b05ab11.js';
12
- import { s as setCurrentProject } from './actions-927d9698.js';
13
- import './selectors-b98d5c76.js';
9
+ import { CookiesProvider } from 'react-cookie';
10
+ import { c as createStore, s as setVersionStatus } from './version-1d46bde8.js';
11
+ import { d as deliveryApi, b as browserHistory, r as rootSaga, p as pickProject } from './App-61bf1832.js';
12
+ export { A as ReactApp } from './App-61bf1832.js';
13
+ import { s as setCurrentProject } from './actions-5437f43d.js';
14
+ import './selectors-65f0f31c.js';
14
15
  import 'jsonpath-mapper';
15
16
  import '@redux-saga/core/effects';
16
17
  import 'redux';
@@ -18,17 +19,19 @@ import 'redux-thunk';
18
19
  import 'redux-saga';
19
20
  import 'redux-injectors';
20
21
  import 'immer';
21
- import './reducers-d6c0edb1.js';
22
+ import 'deepmerge';
23
+ import './reducers-8e5d6232.js';
22
24
  import 'history';
23
25
  import 'contensis-delivery-api';
24
- import './version-3833e8b5.js';
26
+ import './version-696796d7.js';
25
27
  import 'loglevel';
26
- import './login-f8ba3aeb.js';
27
- import './ToJs-879a5a85.js';
28
+ import './login-f6dfbe1b.js';
29
+ import './ToJs-2627ce21.js';
28
30
  import 'await-to-js';
29
31
  import 'js-cookie';
30
- import './RouteLoader-e5f0e8cb.js';
32
+ import './RouteLoader-7749ad3f.js';
31
33
  import 'react-router-config';
34
+ import 'reselect';
32
35
 
33
36
  class ClientApp {
34
37
  constructor(ReactApp, config) {
@@ -42,14 +45,14 @@ class ClientApp {
42
45
  } = config;
43
46
 
44
47
  const GetClientJSX = store => {
45
- const ClientJsx = /*#__PURE__*/React.createElement(AppContainer, null, /*#__PURE__*/React.createElement(Provider, {
48
+ const ClientJsx = /*#__PURE__*/React.createElement(AppContainer, null, /*#__PURE__*/React.createElement(CookiesProvider, null, /*#__PURE__*/React.createElement(Provider, {
46
49
  store: store
47
50
  }, /*#__PURE__*/React.createElement(Router, {
48
51
  history: browserHistory
49
52
  }, /*#__PURE__*/React.createElement(ReactApp, {
50
53
  routes: routes,
51
54
  withEvents: withEvents
52
- }))));
55
+ })))));
53
56
  return ClientJsx;
54
57
  };
55
58
 
@@ -95,19 +98,11 @@ class ClientApp {
95
98
  });
96
99
  } else {
97
100
  fetch(`${window.location.pathname}?redux=true`).then(response => response.json()).then(data => {
98
- /* eslint-disable no-console */
99
- // console.log('Got Data Back');
100
- // console.log(data);
101
-
102
- /* eslint-enable no-console */
103
101
  const ssRedux = JSON.parse(data);
104
102
  createStore(withReducers, ssRedux, browserHistory, stateType).then(store => {
105
- // store.dispatch(setVersionStatus(versionStatusFromHostname));
103
+ store.dispatch(setVersionStatus(qs.versionStatus || versionStatusFromHostname));
106
104
  store.runSaga(rootSaga(withSagas));
107
- store.dispatch(setCurrentProject(pickProject(window.location.hostname, queryString.parse(window.location.search)), [], window.location.hostname)); // if (typeof window != 'undefined') {
108
- // store.dispatch(checkUserLoggedIn());
109
- // }
110
-
105
+ store.dispatch(setCurrentProject(pickProject(window.location.hostname, queryString.parse(window.location.search)), [], window.location.hostname));
111
106
  HMRRenderer(GetClientJSX(store));
112
107
  hmr(store);
113
108
  });
package/esm/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sources":["../src/client/client.tsx"],"sourcesContent":["import 'isomorphic-fetch';\nimport React from 'react';\nimport { render, hydrate } from 'react-dom';\nimport { AppContainer } from 'react-hot-loader';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { Router } from 'react-router-dom';\nimport { loadableReady } from '@loadable/component';\nimport * as queryString from 'query-string';\n\nimport { setVersionStatus } from '~/redux/actions/version';\nimport rootSaga from '~/redux/sagas';\nimport { browserHistory as history } from '~/redux/store/history';\nimport createStore from '~/redux/store/store';\n\nimport { setCurrentProject } from '~/routing/redux/actions';\n\nimport { deliveryApi } from '~/util/ContensisDeliveryApi';\nimport pickProject from '~/util/pickProject';\n\nimport { AppConfig } from '~/config';\n\ndeclare let window: typeof globalThis & {\n isDynamic;\n REDUX_DATA;\n};\n\ntype ReactAppProps = { routes: any; withEvents: any };\n\nclass ClientApp {\n constructor(ReactApp: React.ComponentType<ReactAppProps>, config: AppConfig) {\n const documentRoot = document.getElementById('root');\n\n const {\n stateType = 'immutable',\n routes,\n withReducers,\n withSagas,\n withEvents,\n } = config;\n\n const GetClientJSX = store => {\n const ClientJsx = (\n <AppContainer>\n <ReduxProvider store={store}>\n <Router history={history}>\n <ReactApp routes={routes} withEvents={withEvents} />\n </Router>\n </ReduxProvider>\n </AppContainer>\n );\n return ClientJsx;\n };\n\n const isProduction = !(process.env.NODE_ENV !== 'production');\n\n /**\n * Webpack HMR Setup.\n */\n const HMRRenderer = Component => {\n if (isProduction)\n loadableReady(\n () => {\n hydrate(Component, documentRoot);\n },\n { namespace: 'modern' }\n );\n else render(Component, documentRoot);\n };\n\n const hmr = store => {\n // webpack Hot Module Replacement API\n if (module.hot) {\n module.hot.accept(ReactApp as unknown as string, () => {\n // if you are using harmony modules ({modules:false})\n HMRRenderer(GetClientJSX(store));\n });\n }\n };\n\n const qs = queryString.parse(window.location.search);\n const versionStatusFromHostname = deliveryApi.getClientSideVersionStatus();\n\n if (\n window.isDynamic ||\n window.REDUX_DATA ||\n process.env.NODE_ENV !== 'production'\n ) {\n createStore(withReducers, window.REDUX_DATA, history, stateType).then(\n store => {\n store.dispatch(\n setVersionStatus(qs.versionStatus || versionStatusFromHostname)\n );\n\n /* eslint-disable no-console */\n console.log('Hydrating from inline Redux');\n /* eslint-enable no-console */\n store.runSaga(rootSaga(withSagas));\n store.dispatch(\n setCurrentProject(\n pickProject(window.location.hostname, qs),\n [],\n window.location.hostname\n )\n );\n\n delete window.REDUX_DATA;\n HMRRenderer(GetClientJSX(store));\n\n hmr(store);\n }\n );\n } else {\n fetch(`${window.location.pathname}?redux=true`)\n .then(response => response.json())\n .then(data => {\n /* eslint-disable no-console */\n // console.log('Got Data Back');\n // console.log(data);\n /* eslint-enable no-console */\n const ssRedux = JSON.parse(data);\n createStore(withReducers, ssRedux, history, stateType).then(store => {\n // store.dispatch(setVersionStatus(versionStatusFromHostname));\n\n store.runSaga(rootSaga(withSagas));\n store.dispatch(\n setCurrentProject(\n pickProject(\n window.location.hostname,\n queryString.parse(window.location.search)\n ),\n [],\n window.location.hostname\n )\n );\n // if (typeof window != 'undefined') {\n // store.dispatch(checkUserLoggedIn());\n // }\n HMRRenderer(GetClientJSX(store));\n\n hmr(store);\n });\n });\n }\n }\n}\n\nexport default ClientApp;\n"],"names":["ClientApp","constructor","ReactApp","config","documentRoot","document","getElementById","stateType","routes","withReducers","withSagas","withEvents","GetClientJSX","store","ClientJsx","ReduxProvider","history","isProduction","process","env","NODE_ENV","HMRRenderer","Component","loadableReady","hydrate","namespace","render","hmr","module","hot","accept","qs","queryString","parse","window","location","search","versionStatusFromHostname","deliveryApi","getClientSideVersionStatus","isDynamic","REDUX_DATA","createStore","then","dispatch","setVersionStatus","versionStatus","console","log","runSaga","rootSaga","setCurrentProject","pickProject","hostname","fetch","pathname","response","json","data","ssRedux","JSON"],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sources":["../src/client/client.tsx"],"sourcesContent":["import 'isomorphic-fetch';\nimport React from 'react';\nimport { render, hydrate } from 'react-dom';\nimport { AppContainer } from 'react-hot-loader';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { Router } from 'react-router-dom';\nimport { loadableReady } from '@loadable/component';\nimport * as queryString from 'query-string';\nimport { CookiesProvider } from 'react-cookie';\n\nimport { setVersionStatus } from '~/redux/actions/version';\nimport rootSaga from '~/redux/sagas';\nimport { browserHistory as history } from '~/redux/store/history';\nimport createStore from '~/redux/store/store';\n\nimport { setCurrentProject } from '~/routing/redux/actions';\n\nimport { deliveryApi } from '~/util/ContensisDeliveryApi';\nimport pickProject from '~/util/pickProject';\n\nimport { AppConfig } from '~/config';\n\ndeclare let window: typeof globalThis & {\n isDynamic;\n REDUX_DATA;\n};\n\ntype ReactAppProps = { routes: any; withEvents: any };\n\nclass ClientApp {\n constructor(ReactApp: React.ComponentType<ReactAppProps>, config: AppConfig) {\n const documentRoot = document.getElementById('root');\n\n const {\n stateType = 'immutable',\n routes,\n withReducers,\n withSagas,\n withEvents,\n } = config;\n\n const GetClientJSX = store => {\n const ClientJsx = (\n <AppContainer>\n <CookiesProvider>\n <ReduxProvider store={store}>\n <Router history={history}>\n <ReactApp routes={routes} withEvents={withEvents} />\n </Router>\n </ReduxProvider>\n </CookiesProvider>\n </AppContainer>\n );\n return ClientJsx;\n };\n\n const isProduction = !(process.env.NODE_ENV !== 'production');\n\n /**\n * Webpack HMR Setup.\n */\n const HMRRenderer = Component => {\n if (isProduction)\n loadableReady(\n () => {\n hydrate(Component, documentRoot);\n },\n { namespace: 'modern' }\n );\n else render(Component, documentRoot);\n };\n\n const hmr = store => {\n // webpack Hot Module Replacement API\n if (module.hot) {\n module.hot.accept(ReactApp as unknown as string, () => {\n // if you are using harmony modules ({modules:false})\n HMRRenderer(GetClientJSX(store));\n });\n }\n };\n\n const qs = queryString.parse(window.location.search);\n const versionStatusFromHostname = deliveryApi.getClientSideVersionStatus();\n\n if (\n window.isDynamic ||\n window.REDUX_DATA ||\n process.env.NODE_ENV !== 'production'\n ) {\n createStore(withReducers, window.REDUX_DATA, history, stateType).then(\n store => {\n store.dispatch(\n setVersionStatus(qs.versionStatus || versionStatusFromHostname)\n );\n\n /* eslint-disable no-console */\n console.log('Hydrating from inline Redux');\n /* eslint-enable no-console */\n store.runSaga(rootSaga(withSagas));\n store.dispatch(\n setCurrentProject(\n pickProject(window.location.hostname, qs),\n [],\n window.location.hostname\n )\n );\n\n delete window.REDUX_DATA;\n HMRRenderer(GetClientJSX(store));\n\n hmr(store);\n }\n );\n } else {\n fetch(`${window.location.pathname}?redux=true`)\n .then(response => response.json())\n .then(data => {\n const ssRedux = JSON.parse(data);\n createStore(withReducers, ssRedux, history, stateType).then(store => {\n store.dispatch(\n setVersionStatus(qs.versionStatus || versionStatusFromHostname)\n );\n\n store.runSaga(rootSaga(withSagas));\n store.dispatch(\n setCurrentProject(\n pickProject(\n window.location.hostname,\n queryString.parse(window.location.search)\n ),\n [],\n window.location.hostname\n )\n );\n\n HMRRenderer(GetClientJSX(store));\n\n hmr(store);\n });\n });\n }\n }\n}\n\nexport default ClientApp;\n"],"names":["ClientApp","constructor","ReactApp","config","documentRoot","document","getElementById","stateType","routes","withReducers","withSagas","withEvents","GetClientJSX","store","ClientJsx","ReduxProvider","history","isProduction","process","env","NODE_ENV","HMRRenderer","Component","loadableReady","hydrate","namespace","render","hmr","module","hot","accept","qs","queryString","parse","window","location","search","versionStatusFromHostname","deliveryApi","getClientSideVersionStatus","isDynamic","REDUX_DATA","createStore","then","dispatch","setVersionStatus","versionStatus","console","log","runSaga","rootSaga","setCurrentProject","pickProject","hostname","fetch","pathname","response","json","data","ssRedux","JSON"],"mappings":"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"}