@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
@@ -5,9 +5,10 @@ var reactRedux = require('react-redux');
5
5
  var reactHotLoader = require('react-hot-loader');
6
6
  var reactRouterDom = require('react-router-dom');
7
7
  var reactRouterConfig = require('react-router-config');
8
- var selectors = require('./selectors-0ec95076.js');
9
- var actions = require('./actions-a24bf46e.js');
10
- var ToJs = require('./ToJs-a38fa20e.js');
8
+ var reselect = require('reselect');
9
+ var selectors = require('./selectors-2c1b1183.js');
10
+ var actions = require('./actions-6b9ef168.js');
11
+ var ToJs = require('./ToJs-09204afd.js');
11
12
 
12
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
14
 
@@ -39,9 +40,19 @@ const Status = ({
39
40
  });
40
41
  };
41
42
 
43
+ const replaceDoubleSlashRecursive = path => {
44
+ const nextPath = path.replace(/\/\//, '/');
45
+
46
+ if (nextPath.match(/\/\//)) {
47
+ return replaceDoubleSlashRecursive(nextPath);
48
+ }
49
+
50
+ return nextPath;
51
+ };
52
+
42
53
  const getTrimmedPath = path => {
43
54
  if (path !== '/') {
44
- const nextPath = path.replace(/\/\//, '/');
55
+ const nextPath = replaceDoubleSlashRecursive(path);
45
56
  const lastChar = nextPath[nextPath.length - 1];
46
57
 
47
58
  if (lastChar === '/') {
@@ -169,27 +180,24 @@ const RouteLoader = ({
169
180
  return null;
170
181
  };
171
182
 
172
- const mapStateToProps = state => {
173
- return {
174
- contentTypeId: selectors.selectRouteEntryContentTypeId(state),
175
- entry: selectors.selectRouteEntry(state),
176
- isError: selectors.selectRouteIsError(state),
177
- isNotFound: selectors.selectIsNotFound(state),
178
- isLoading: selectors.selectRouteLoading(state),
179
- isLoggedIn: ToJs.selectUserIsAuthenticated(state),
180
- mappedEntry: selectors.selectMappedEntry(state),
181
- projectId: selectors.selectCurrentProject(state),
182
- statePath: selectors.selectCurrentPath(state),
183
- statusCode: selectors.selectRouteStatusCode(state),
184
- statusText: selectors.selectRouteErrorMessage(state),
185
- userGroups: ToJs.selectUserGroups(state)
186
- };
187
- };
188
-
183
+ const mapStateToPropsMemoized = reselect.createSelector(selectors.selectRouteEntryContentTypeId, selectors.selectRouteEntry, selectors.selectRouteIsError, selectors.selectIsNotFound, selectors.selectRouteLoading, ToJs.selectUserIsAuthenticated, selectors.selectMappedEntry, selectors.selectCurrentProject, selectors.selectCurrentPath, selectors.selectRouteStatusCode, selectors.selectRouteErrorMessage, ToJs.selectUserGroups, (contentTypeId, entry, isError, isNotFound, isLoading, isLoggedIn, mappedEntry, projectId, statePath, statusCode, statusText, userGroups) => ({
184
+ contentTypeId,
185
+ entry,
186
+ isError,
187
+ isNotFound,
188
+ isLoading,
189
+ isLoggedIn,
190
+ mappedEntry,
191
+ projectId,
192
+ statePath,
193
+ statusCode,
194
+ statusText,
195
+ userGroups
196
+ }));
189
197
  const mapDispatchToProps = {
190
198
  setNavigationPath: actions.setNavigationPath
191
199
  };
192
- var RouteLoader$1 = reactHotLoader.hot(module)(reactRedux.connect(mapStateToProps, mapDispatchToProps)(ToJs.toJS(RouteLoader)));
200
+ var RouteLoader$1 = reactHotLoader.hot(module)(reactRedux.connect(mapStateToPropsMemoized, mapDispatchToProps)(ToJs.toJS(RouteLoader)));
193
201
 
194
202
  exports.RouteLoader = RouteLoader$1;
195
- //# sourceMappingURL=RouteLoader-c7957b14.js.map
203
+ //# sourceMappingURL=RouteLoader-ece762dc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteLoader-ece762dc.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","React","background","color","fontSize","padding","Status","code","children","Route","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","Redirect","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,129 @@
1
+ 'use strict';
2
+
3
+ var selectors$1 = require('./selectors-2c1b1183.js');
4
+ var React = require('react');
5
+
6
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
+
8
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
9
+
10
+ const selectUserIsLoading = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'isLoading']);
11
+ const selectUserIsAuthenticated = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'isAuthenticated']);
12
+ const selectUserIsAuthenticationError = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'isAuthenticationError']);
13
+ const selectUserIsError = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'isError']);
14
+ /**
15
+ * DEPRECATED 12/2021 - use selectUserErrorMessage instead
16
+ * @param state AppState
17
+ * @returns string
18
+ */
19
+
20
+ const selectUserAuthenticationErrorMessage = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'errorMessage']);
21
+ const selectUserErrorMessage = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'errorMessage']);
22
+ const selectClientCredentials = (state, returnType) => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'clientCredentials'], {}, returnType);
23
+ const selectUser = (state, returnType) => selectors$1.getImmutableOrJS(state, 'user', {}, returnType);
24
+ const selectUserIsZengentiStaff = state => selectors$1.getImmutableOrJS(state, ['user', 'isZengentiStaff']);
25
+ const selectUserGuid = state => selectors$1.getImmutableOrJS(state, ['user', 'id']);
26
+ const selectUsername = state => selectors$1.getImmutableOrJS(state, ['user', 'username']);
27
+ const selectUserEmail = state => selectors$1.getImmutableOrJS(state, ['user', 'email']);
28
+ const selectUserGroups = (state, returnType) => selectors$1.getImmutableOrJS(state, ['user', 'groups'], [], returnType);
29
+ const selectUserSecurityToken = state => selectors$1.getImmutableOrJS(state, ['user', 'authenticationState', 'clientCredentials', 'contensisClassicToken']);
30
+ const selectUserRegistration = (state, returnType) => selectors$1.getImmutableOrJS(state, ['user', 'registration'], {}, returnType);
31
+ const selectUserRegistrationError = state => selectors$1.getImmutableOrJS(state, ['user', 'registration', 'error'], false);
32
+ const selectUserRegistrationIsLoading = state => selectors$1.getImmutableOrJS(state, ['user', 'registration', 'isLoading'], false);
33
+ const selectUserRegistrationIsSuccess = state => selectors$1.getImmutableOrJS(state, ['user', 'registration', 'success'], false);
34
+ const selectPasswordResetRequestSending = state => selectors$1.getImmutableOrJS(state, ['user', 'passwordResetRequest', 'isSending']);
35
+ const selectPasswordResetRequestSent = state => selectors$1.getImmutableOrJS(state, ['user', 'passwordResetRequest', 'sent']);
36
+ const selectPasswordResetRequestError = state => selectors$1.getImmutableOrJS(state, ['user', 'passwordResetRequest', 'error']);
37
+ const selectResetPasswordSending = state => selectors$1.getImmutableOrJS(state, ['user', 'resetPassword', 'isSending']);
38
+ const selectResetPasswordSent = state => selectors$1.getImmutableOrJS(state, ['user', 'resetPassword', 'sent']);
39
+ const selectResetPasswordError = state => selectors$1.getImmutableOrJS(state, ['user', 'resetPassword', 'error']);
40
+ const selectChangePasswordSending = state => selectors$1.getImmutableOrJS(state, ['user', 'changePassword', 'isSending']);
41
+ const selectChangePasswordSent = state => selectors$1.getImmutableOrJS(state, ['user', 'changePassword', 'sent']);
42
+ const selectChangePasswordError = state => selectors$1.getImmutableOrJS(state, ['user', 'changePassword', 'error']);
43
+
44
+ var selectors = /*#__PURE__*/Object.freeze({
45
+ __proto__: null,
46
+ selectUserIsLoading: selectUserIsLoading,
47
+ selectUserIsAuthenticated: selectUserIsAuthenticated,
48
+ selectUserIsAuthenticationError: selectUserIsAuthenticationError,
49
+ selectUserIsError: selectUserIsError,
50
+ selectUserAuthenticationErrorMessage: selectUserAuthenticationErrorMessage,
51
+ selectUserErrorMessage: selectUserErrorMessage,
52
+ selectClientCredentials: selectClientCredentials,
53
+ selectUser: selectUser,
54
+ selectUserIsZengentiStaff: selectUserIsZengentiStaff,
55
+ selectUserGuid: selectUserGuid,
56
+ selectUsername: selectUsername,
57
+ selectUserEmail: selectUserEmail,
58
+ selectUserGroups: selectUserGroups,
59
+ selectUserSecurityToken: selectUserSecurityToken,
60
+ selectUserRegistration: selectUserRegistration,
61
+ selectUserRegistrationError: selectUserRegistrationError,
62
+ selectUserRegistrationIsLoading: selectUserRegistrationIsLoading,
63
+ selectUserRegistrationIsSuccess: selectUserRegistrationIsSuccess,
64
+ selectPasswordResetRequestSending: selectPasswordResetRequestSending,
65
+ selectPasswordResetRequestSent: selectPasswordResetRequestSent,
66
+ selectPasswordResetRequestError: selectPasswordResetRequestError,
67
+ selectResetPasswordSending: selectResetPasswordSending,
68
+ selectResetPasswordSent: selectResetPasswordSent,
69
+ selectResetPasswordError: selectResetPasswordError,
70
+ selectChangePasswordSending: selectChangePasswordSending,
71
+ selectChangePasswordSent: selectChangePasswordSent,
72
+ selectChangePasswordError: selectChangePasswordError
73
+ });
74
+
75
+ const matchUserGroup = (userGroups = [], requiredGroups = []) => {
76
+ if (!Array.isArray(requiredGroups) || Array.isArray(requiredGroups) && requiredGroups.length === 0) return true;
77
+ const groupMatch = requiredGroups.some(requiredGroup => {
78
+ return userGroups.some(userGroup => {
79
+ if (requiredGroup.id === userGroup.id) {
80
+ return true;
81
+ }
82
+
83
+ if (requiredGroup.name === userGroup.name) {
84
+ return true;
85
+ }
86
+ });
87
+ });
88
+ return groupMatch;
89
+ };
90
+
91
+ /* eslint-disable react/display-name */
92
+ const toJS = WrappedComponent => wrappedComponentProps => {
93
+ const KEY = 0;
94
+ const VALUE = 1;
95
+ const propsJS = Object.entries(wrappedComponentProps).reduce((newProps, wrappedComponentProp) => {
96
+ const propKey = wrappedComponentProp[KEY];
97
+ const propValue = wrappedComponentProp[VALUE];
98
+ newProps[propKey] = propValue && typeof propValue === 'object' && 'toJS' in propValue ? propValue.toJS() : propValue;
99
+ return newProps;
100
+ }, {});
101
+ return /*#__PURE__*/React__default["default"].createElement(WrappedComponent, propsJS);
102
+ };
103
+
104
+ exports.matchUserGroup = matchUserGroup;
105
+ exports.selectChangePasswordError = selectChangePasswordError;
106
+ exports.selectChangePasswordSending = selectChangePasswordSending;
107
+ exports.selectChangePasswordSent = selectChangePasswordSent;
108
+ exports.selectClientCredentials = selectClientCredentials;
109
+ exports.selectPasswordResetRequestError = selectPasswordResetRequestError;
110
+ exports.selectPasswordResetRequestSending = selectPasswordResetRequestSending;
111
+ exports.selectPasswordResetRequestSent = selectPasswordResetRequestSent;
112
+ exports.selectResetPasswordError = selectResetPasswordError;
113
+ exports.selectResetPasswordSending = selectResetPasswordSending;
114
+ exports.selectResetPasswordSent = selectResetPasswordSent;
115
+ exports.selectUser = selectUser;
116
+ exports.selectUserErrorMessage = selectUserErrorMessage;
117
+ exports.selectUserGroups = selectUserGroups;
118
+ exports.selectUserGuid = selectUserGuid;
119
+ exports.selectUserIsAuthenticated = selectUserIsAuthenticated;
120
+ exports.selectUserIsAuthenticationError = selectUserIsAuthenticationError;
121
+ exports.selectUserIsError = selectUserIsError;
122
+ exports.selectUserIsLoading = selectUserIsLoading;
123
+ exports.selectUserRegistration = selectUserRegistration;
124
+ exports.selectUserRegistrationError = selectUserRegistrationError;
125
+ exports.selectUserRegistrationIsLoading = selectUserRegistrationIsLoading;
126
+ exports.selectUserRegistrationIsSuccess = selectUserRegistrationIsSuccess;
127
+ exports.selectors = selectors;
128
+ exports.toJS = toJS;
129
+ //# sourceMappingURL=ToJs-09204afd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToJs-09204afd.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","React"],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var reactRedux = require('react-redux');
5
+ var mapJson = require('jsonpath-mapper');
6
+ var selectors = require('./selectors-2c1b1183.js');
7
+ var version = require('./version-dcfdafd9.js');
8
+ var styled = require('styled-components');
9
+
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
+ var mapJson__default = /*#__PURE__*/_interopDefaultLegacy(mapJson);
14
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
15
+
16
+ const setCachingHeaders = (response, {
17
+ cacheControl = 'private',
18
+ surrogateControl = '3600'
19
+ }, method = 'header') => {
20
+ if (cacheControl) response[method]('Cache-Control', cacheControl);
21
+ if (surrogateControl) response[method]('Surrogate-Control', `max-age=${surrogateControl.toString()}`);
22
+ };
23
+
24
+ const context = typeof window != 'undefined' ? window : global;
25
+ const isDev = process.env.NODE_ENV === 'development';
26
+
27
+ const pj = () => isDev ? PACKAGE_JSON
28
+ /* global PACKAGE_JSON */
29
+ : context.PACKAGE_JSON || {
30
+ name: 'packagejson not found',
31
+ repository: ''
32
+ };
33
+
34
+ const versionInfoProps = {
35
+ packageDetail: () => {
36
+ const pkg = pj();
37
+ return {
38
+ name: pkg.name,
39
+ version: pkg.version,
40
+ repository: pkg.repository
41
+ };
42
+ },
43
+ uris: {
44
+ gitRepo: () => pj().repository,
45
+ commit: state => {
46
+ const commitRef = version.selectCommitRef(state);
47
+ return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;
48
+ },
49
+ pipeline: state => {
50
+ const buildNumber = version.selectBuildNumber(state);
51
+ return `${pj().repository}/${pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'}/${buildNumber ? buildNumber : ''}`;
52
+ }
53
+ },
54
+ 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')) || [])],
55
+ deliveryApi: () => JSON.parse(JSON.stringify(DELIVERY_API_CONFIG
56
+ /* global DELIVERY_API_CONFIG */
57
+ )),
58
+ devEnv: () => typeof DEV_ENV !== 'undefined'
59
+ /* global DEV_ENV */
60
+ ? DEV_ENV : null,
61
+ disableSsrRedux: () => isDev ? DISABLE_SSR_REDUX
62
+ /* global DISABLE_SSR_REDUX*/
63
+ : context.DISABLE_SSR_REDUX || false,
64
+ nodeEnv: () => process.env.NODE_ENV || 'production',
65
+ packagejson: () => pj() || {},
66
+ projects: () => isDev ? PROJECTS
67
+ /* global PROJECTS */
68
+ : context.PROJECTS,
69
+ proxyDeliveryApi: () => isDev ? PROXY_DELIVERY_API
70
+ /* global PROXY_DELIVERY_API */
71
+ : context.PROXY_DELIVERY_API || false,
72
+ publicUri: () => isDev ? PUBLIC_URI
73
+ /* global PUBLIC_URI */
74
+ : context.PUBLIC_URI || null,
75
+ project: state => selectors.selectCurrentProject(state),
76
+ reverseProxyPaths: () => isDev ? REVERSE_PROXY_PATHS
77
+ /* global REVERSE_PROXY_PATHS */
78
+ : context.REVERSE_PROXY_PATHS || {},
79
+ servers: () => isDev ? SERVERS
80
+ /* global SERVERS */
81
+ : context.SERVERS,
82
+ version: {
83
+ buildNumber: state => version.selectBuildNumber(state),
84
+ commitRef: state => version.selectCommitRef(state),
85
+ contensisVersionStatus: state => version.selectVersionStatus(state)
86
+ }
87
+ };
88
+
89
+ const mapStateToVersionInfo = state => {
90
+ const mappedProps = mapJson__default["default"](state, versionInfoProps);
91
+ return mappedProps;
92
+ };
93
+
94
+ const VersionInfoStyledTable = styled__default["default"].table.withConfig({
95
+ displayName: "VersionInfostyled__VersionInfoStyledTable",
96
+ componentId: "sc-ogujr7-0"
97
+ })(["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;}"]);
98
+
99
+ const VersionInfo = ({
100
+ deliveryApi,
101
+ devEnv,
102
+ disableSsrRedux,
103
+ nodeEnv,
104
+ packageDetail,
105
+ project,
106
+ projects,
107
+ proxyDeliveryApi,
108
+ publicUri,
109
+ reverseProxyPaths,
110
+ servers,
111
+ uris,
112
+ version,
113
+ zenPackageVersions
114
+ }) => {
115
+ return /*#__PURE__*/React__default["default"].createElement(VersionInfoStyledTable, null, /*#__PURE__*/React__default["default"].createElement("thead", null, /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
116
+ colSpan: 2
117
+ }, /*#__PURE__*/React__default["default"].createElement("h1", null, /*#__PURE__*/React__default["default"].createElement("a", {
118
+ href: "/"
119
+ }, "Version Information"))))), /*#__PURE__*/React__default["default"].createElement("tbody", null, /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("th", {
120
+ colSpan: 2
121
+ }, "Package detail")), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
122
+ className: "left"
123
+ }, "Name"), /*#__PURE__*/React__default["default"].createElement("td", null, packageDetail.name)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
124
+ className: "left"
125
+ }, "Version"), /*#__PURE__*/React__default["default"].createElement("td", null, packageDetail.version)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("th", {
126
+ colSpan: 2
127
+ }, "Version info (state)")), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Git repo url: "), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("a", {
128
+ href: packageDetail.repository,
129
+ target: "_blank",
130
+ rel: "noopener noreferrer"
131
+ }, packageDetail.repository))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Pipeline: "), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("a", {
132
+ href: uris.pipeline,
133
+ target: "_blank",
134
+ rel: "noopener noreferrer"
135
+ }, version.buildNumber))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Commit: "), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("a", {
136
+ href: uris.commit,
137
+ target: "_blank",
138
+ rel: "noopener noreferrer"
139
+ }, version.commitRef))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Project"), /*#__PURE__*/React__default["default"].createElement("td", {
140
+ className: project === 'unknown' ? 'red' : ''
141
+ }, project)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Contensis version status: "), /*#__PURE__*/React__default["default"].createElement("td", {
142
+ className: version.contensisVersionStatus === 'published' ? 'green' : 'red'
143
+ }, version.contensisVersionStatus)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("th", {
144
+ colSpan: 2
145
+ }, "Build configuration")), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Environment"), /*#__PURE__*/React__default["default"].createElement("td", null, servers.alias)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Public uri"), /*#__PURE__*/React__default["default"].createElement("td", null, publicUri)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Zengenti packages"), /*#__PURE__*/React__default["default"].createElement("td", null, zenPackageVersions.map(([pkg, ver], idx) => /*#__PURE__*/React__default["default"].createElement("div", {
146
+ key: idx
147
+ }, pkg, ": ", ver)))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Servers"), /*#__PURE__*/React__default["default"].createElement("td", {
148
+ className: "small"
149
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, "web: ", servers.web), /*#__PURE__*/React__default["default"].createElement("div", null, "preview: ", servers.previewWeb), /*#__PURE__*/React__default["default"].createElement("div", null, "api: ", servers.api), /*#__PURE__*/React__default["default"].createElement("div", null, "cms: ", servers.cms), /*#__PURE__*/React__default["default"].createElement("div", null, "iis: ", servers.iis), /*#__PURE__*/React__default["default"].createElement("div", null, "iis preview: ", servers.previewIis))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Reverse proxy paths"), /*#__PURE__*/React__default["default"].createElement("td", null, Object.entries(reverseProxyPaths).map(([, path], key) => /*#__PURE__*/React__default["default"].createElement("span", {
150
+ key: key
151
+ }, "[ ", path, " ] ")))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Projects"), /*#__PURE__*/React__default["default"].createElement("td", null, Object.entries(projects).map(([, project], key) => /*#__PURE__*/React__default["default"].createElement("div", {
152
+ key: key
153
+ }, "[ ", project.id, ": ", project.publicUri, " ]")))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Delivery API"), /*#__PURE__*/React__default["default"].createElement("td", {
154
+ className: "small"
155
+ }, /*#__PURE__*/React__default["default"].createElement("ul", {
156
+ style: {
157
+ margin: 0,
158
+ padding: 0
159
+ }
160
+ }, Object.entries(deliveryApi).map(([key, value], idx) => {
161
+ if (typeof value === 'object') return null;
162
+ return /*#__PURE__*/React__default["default"].createElement("li", {
163
+ key: idx,
164
+ style: {
165
+ listStyleType: 'none'
166
+ }
167
+ }, key, ": ", /*#__PURE__*/React__default["default"].createElement("span", null, value));
168
+ })))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Proxy Delivery API requests"), /*#__PURE__*/React__default["default"].createElement("td", {
169
+ className: proxyDeliveryApi ? 'green' : 'red'
170
+ }, proxyDeliveryApi.toString())), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Disable SSR inline-redux"), /*#__PURE__*/React__default["default"].createElement("td", null, disableSsrRedux.toString())), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "NODE_ENV"), /*#__PURE__*/React__default["default"].createElement("td", {
171
+ className: nodeEnv === 'production' ? 'green' : 'red'
172
+ }, nodeEnv.toString())), devEnv && /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "process.env"), /*#__PURE__*/React__default["default"].createElement("td", null, Object.entries(devEnv).map(([k, v], key) => /*#__PURE__*/React__default["default"].createElement("div", {
173
+ key: key
174
+ }, "[ ", k, ": ", v, " ]"))))));
175
+ };
176
+
177
+ var VersionInfo$1 = reactRedux.connect(mapStateToVersionInfo)(VersionInfo);
178
+
179
+ exports.VersionInfo = VersionInfo$1;
180
+ exports.setCachingHeaders = setCachingHeaders;
181
+ //# sourceMappingURL=VersionInfo-df35c917.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionInfo-df35c917.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","React","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,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var selectors = require('./selectors-0ec95076.js');
3
+ var selectors = require('./selectors-2c1b1183.js');
4
4
 
5
5
  const ROUTING_PREFIX = '@ROUTING/';
6
6
  const GET_ENTRY = `${ROUTING_PREFIX}_GET_ENTRY`;
@@ -55,8 +55,9 @@ const setRoute = (path, state) => selectors.action(SET_ROUTE, {
55
55
  const setRouteEntry = entry => selectors.action(SET_ENTRY, {
56
56
  entry
57
57
  });
58
- const setSurrogateKeys = keys => selectors.action(SET_SURROGATE_KEYS, {
59
- keys
58
+ const setSurrogateKeys = (keys, url) => selectors.action(SET_SURROGATE_KEYS, {
59
+ keys,
60
+ url
60
61
  });
61
62
 
62
63
  var routing = /*#__PURE__*/Object.freeze({
@@ -83,4 +84,4 @@ exports.setCurrentProject = setCurrentProject;
83
84
  exports.setNavigationPath = setNavigationPath;
84
85
  exports.setRoute = setRoute;
85
86
  exports.setSurrogateKeys = setSurrogateKeys;
86
- //# sourceMappingURL=actions-a24bf46e.js.map
87
+ //# sourceMappingURL=actions-6b9ef168.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-6b9ef168.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,gBAAM,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,gBAAM,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,gBAAM,CAACL,kBAAD,EAAqB;AAAEc,EAAAA,OAAF;AAAWC,EAAAA,aAAX;AAA0BC,EAAAA,QAAAA;AAA1B,CAArB,EADD;AAEA,MAAMC,QAAQ,GAAG,CAACV,IAAD,EAAOW,KAAP,KAAiBb,gBAAM,CAACJ,SAAD,EAAY;AAAEM,EAAAA,IAAF;AAAQW,EAAAA,KAAAA;AAAR,CAAZ,EAAxC;AACA,MAAMC,aAAa,GAAGC,KAAK,IAAIf,gBAAM,CAACb,SAAD,EAAY;AAAE4B,EAAAA,KAAAA;AAAF,CAAZ,CAArC,CAAA;AACA,MAAMC,gBAAgB,GAAG,CAACC,IAAD,EAAOC,GAAP,KAC9BlB,gBAAM,CAACR,kBAAD,EAAqB;AAAEyB,EAAAA,IAAF;AAAQC,EAAAA,GAAAA;AAAR,CAArB;;;;;;;;;;;;;;;;;;;;;;;;;;;"}