@zengenti/contensis-react-base 4.0.0-beta.63 → 4.0.0-beta.65

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 (53) hide show
  1. package/cjs/{App-TTUKj85f.js → App-46jKG194.js} +55 -7
  2. package/cjs/App-46jKG194.js.map +1 -0
  3. package/cjs/{ContensisDeliveryApi-gN3_MHEl.js → ContensisDeliveryApi-MfcvdfDR.js} +2 -2
  4. package/cjs/{ContensisDeliveryApi-gN3_MHEl.js.map → ContensisDeliveryApi-MfcvdfDR.js.map} +1 -1
  5. package/cjs/{RouteLoader-BM8DyfcF.js → RouteLoader-DJeM8cym.js} +2 -2
  6. package/cjs/{RouteLoader-BM8DyfcF.js.map → RouteLoader-DJeM8cym.js.map} +1 -1
  7. package/cjs/{SSRContext-DotLlTQc.js → SSRContext-tMufQDHY.js} +2 -2
  8. package/cjs/{SSRContext-DotLlTQc.js.map → SSRContext-tMufQDHY.js.map} +1 -1
  9. package/cjs/client.js +9 -9
  10. package/cjs/contensis-react-base.js +9 -9
  11. package/cjs/redux.js +2 -2
  12. package/cjs/routing.js +5 -5
  13. package/cjs/{sagas-OfBUtx74.js → sagas-BCy9u6zA.js} +3 -3
  14. package/cjs/{sagas-OfBUtx74.js.map → sagas-BCy9u6zA.js.map} +1 -1
  15. package/cjs/search.js +4 -4
  16. package/cjs/{store-Dn7vP6G0.js → store-B7SJs5Hf.js} +13 -2
  17. package/cjs/store-B7SJs5Hf.js.map +1 -0
  18. package/cjs/{util-wQwG9vit.js → util-eOjxDjxF.js} +2 -2
  19. package/cjs/{util-wQwG9vit.js.map → util-eOjxDjxF.js.map} +1 -1
  20. package/cjs/util.js +3 -3
  21. package/cjs/{version-2FamXHhj.js → version-yjHMrfVz.js} +2 -2
  22. package/cjs/{version-2FamXHhj.js.map → version-yjHMrfVz.js.map} +1 -1
  23. package/esm/{App-DaHtrw85.js → App-DRfPMjmq.js} +56 -8
  24. package/esm/App-DRfPMjmq.js.map +1 -0
  25. package/esm/{ContensisDeliveryApi-CvEoOLCl.js → ContensisDeliveryApi-LWYXevZ1.js} +2 -2
  26. package/esm/{ContensisDeliveryApi-CvEoOLCl.js.map → ContensisDeliveryApi-LWYXevZ1.js.map} +1 -1
  27. package/esm/{RouteLoader-BwDPahRW.js → RouteLoader-CzrlySZf.js} +2 -2
  28. package/esm/{RouteLoader-BwDPahRW.js.map → RouteLoader-CzrlySZf.js.map} +1 -1
  29. package/esm/{SSRContext-CYxBWky3.js → SSRContext-Bxtg1KGv.js} +2 -2
  30. package/esm/{SSRContext-CYxBWky3.js.map → SSRContext-Bxtg1KGv.js.map} +1 -1
  31. package/esm/client.js +10 -10
  32. package/esm/contensis-react-base.js +10 -10
  33. package/esm/redux.js +4 -4
  34. package/esm/routing.js +5 -5
  35. package/esm/{sagas-BZWjx5by.js → sagas-Fr9yRduO.js} +3 -3
  36. package/esm/{sagas-BZWjx5by.js.map → sagas-Fr9yRduO.js.map} +1 -1
  37. package/esm/search.js +6 -6
  38. package/esm/{store-DSjRYsM2.js → store-B4IrBYHm.js} +13 -2
  39. package/esm/store-B4IrBYHm.js.map +1 -0
  40. package/esm/{util-BafFLYzn.js → util-Bl2u6LpY.js} +2 -2
  41. package/esm/{util-BafFLYzn.js.map → util-Bl2u6LpY.js.map} +1 -1
  42. package/esm/util.js +3 -3
  43. package/esm/{version-B75wA6Te.js → version-CA9Mdm3A.js} +2 -2
  44. package/esm/{version-B75wA6Te.js.map → version-CA9Mdm3A.js.map} +1 -1
  45. package/models/models/ContentTypeMapping.d.ts +1 -1
  46. package/models/models/EntryMapper.d.ts +2 -1
  47. package/models/models/RouteNode.d.ts +4 -2
  48. package/models/models/StaticRoute.d.ts +1 -1
  49. package/package.json +1 -1
  50. package/cjs/App-TTUKj85f.js.map +0 -1
  51. package/cjs/store-Dn7vP6G0.js.map +0 -1
  52. package/esm/App-DaHtrw85.js.map +0 -1
  53. package/esm/store-DSjRYsM2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RouteLoader-BM8DyfcF.js","sources":["../src/util/mergeStaticRoutes.ts","../src/routing/httpContext.ts","../src/routing/components/Redirect.tsx","../src/routing/components/Status.tsx","../src/routing/components/NotFound.tsx","../src/routing/components/StaticRouteLoader.tsx","../src/routing/components/RouteLoader.tsx"],"sourcesContent":["import { StaticRoute } from '../';\n\nexport const mergeStaticRoutes = matchedStaticRoute => {\n let finalRoute: StaticRoute = {};\n for (const [i, route] of matchedStaticRoute.entries()) {\n const staticRouteCopy = { ...route.route };\n if (i === matchedStaticRoute.length - 1) {\n finalRoute = {\n ...finalRoute,\n ...staticRouteCopy,\n fullPath: `${finalRoute.fullPath || ''}${\n route.route.path ? route.route.path : ''\n }`,\n };\n matchedStaticRoute[i].route = finalRoute;\n } else {\n delete staticRouteCopy.children;\n delete staticRouteCopy.index;\n delete staticRouteCopy.path;\n delete staticRouteCopy.component;\n delete staticRouteCopy.element;\n finalRoute = {\n ...finalRoute,\n ...staticRouteCopy,\n fullPath: `${finalRoute.fullPath || ''}${\n route.route.path\n ? route.route.path.endsWith('/')\n ? route.route.path\n : route.route.path + '/'\n : ''\n }`,\n };\n }\n }\n};\n","import { createContext, useContext } from 'react';\n\nexport type HttpContextValues = {\n statusCode?: number;\n url?: string;\n};\n\nexport const HttpContext = createContext<HttpContextValues>({});\nexport const useHttpContext = () => {\n return useContext(HttpContext);\n};\n","import React, { PropsWithChildren } from 'react';\nimport { Navigate } from 'react-router-dom';\nimport { useHttpContext } from '../httpContext';\n\nexport const Redirect = ({\n code,\n to,\n}: PropsWithChildren<{ code: 301 | 302; to: string }>) => {\n const httpContext = useHttpContext();\n if (httpContext) {\n httpContext.statusCode = code;\n httpContext.url = to;\n }\n return <Navigate to={to} />;\n};\n","import React, { PropsWithChildren } from 'react';\nimport { useHttpContext } from '../httpContext';\n\nexport const Status = ({\n code,\n children,\n}: PropsWithChildren<{ code: number }>) => {\n const httpContext = useHttpContext();\n if (httpContext) {\n httpContext.statusCode = code;\n }\n return <>{children}</>;\n};\n","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 from 'react';\nimport { RouteObject, useRoutes } from 'react-router-dom';\nimport type { StaticRoute } from '~/models';\n\nexport interface StaticRouteLoaderProps {\n staticRoutes: StaticRoute[];\n}\n\nexport const StaticRouteLoader = ({ staticRoutes }: StaticRouteLoaderProps) => {\n const staticRouteElement = useRoutes(staticRoutes as RouteObject[]);\n return <>{staticRouteElement}</>;\n};\n","import React, { useEffect, useCallback, cloneElement } from 'react';\nimport { connect } from 'react-redux';\nimport { useLocation, matchRoutes, RouteObject } from 'react-router-dom';\n\nimport { createSelector } from 'reselect';\n\nimport NotFound from './NotFound';\nimport { Redirect } from './Redirect';\nimport { StaticRouteLoader } from './StaticRouteLoader';\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';\nimport { mergeStaticRoutes } from '~/util/mergeStaticRoutes';\nimport { useSSRContext } from '~/util/SSRContext';\nimport { transformPathForSubsite } from '~/util/subsite';\nimport { toJS } from '~/util/ToJs';\n\nimport type { Entry } from 'contensis-delivery-api/lib/models';\nimport type {\n AppRootProps,\n MatchedRoute,\n RouteLoaderProps,\n StaticRoute,\n} from '~/models';\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\nconst processStaticRoutes = (\n staticRoutes: StaticRoute[],\n componentProps: Partial<IReduxProps>\n) => {\n const { projectId, contentTypeId, entry, mappedEntry, isLoggedIn } =\n componentProps;\n return staticRoutes.map(x => {\n const route = { ...x };\n if (route.component) {\n route.element = (\n <route.component\n projectId={projectId}\n contentTypeId={contentTypeId ? contentTypeId : undefined}\n entry={entry}\n mappedEntry={mappedEntry}\n isLoggedIn={isLoggedIn}\n />\n );\n delete route.component;\n }\n if (route.element) {\n route.element = cloneElement(route.element as React.ReactElement<any>, {\n projectId,\n contentTypeId,\n entry,\n mappedEntry,\n isLoggedIn,\n });\n }\n if (route.children) {\n route.children = processStaticRoutes(route.children, componentProps);\n }\n return route;\n });\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 trailingSlashRedirectCode = 302,\n}: AppRootProps & RouteLoaderProps & IReduxProps) => {\n const location = useLocation();\n\n // In SSR pass references to things in backing sagas\n // we cannot access in a global scope\n const ssrContext = useSSRContext();\n\n // Always ensure paths are trimmed of trailing slashes so urls are always unique\n const trimmedPath = getTrimmedPath(location.pathname);\n\n // Convert any react-router-v5 style routes to react-router-v6 style routes.\n const staticRoutes = processStaticRoutes(routes.StaticRoutes, {\n projectId,\n contentTypeId,\n entry,\n mappedEntry,\n isLoggedIn,\n });\n\n // Match any Static Routes a developer has defined\n const matchedStaticRoute = matchRoutes(\n staticRoutes as RouteObject[],\n location\n );\n const isStaticRoute = matchedStaticRoute && matchedStaticRoute.length > 0;\n\n // Combine custom params for all static routes, with the furthest config taking precedence.\n if (isStaticRoute) {\n mergeStaticRoutes(matchedStaticRoute);\n }\n\n const staticRoute: MatchedRoute<string, StaticRoute> | undefined =\n isStaticRoute ? matchedStaticRoute.pop() || undefined : undefined;\n\n const routeRequiresLogin = staticRoute\n ? staticRoute.route.requireLogin\n : undefined;\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.pathname === staticRoute.pathnameBase) {\n const { route, pathname, params } = staticRoute;\n\n if (route.path?.includes('*')) {\n // Send the whole url to api if we have matched route containing wildcard\n serverPath = pathname;\n } else if (typeof route.fetchNodeLevel === 'number') {\n // Send all url parts to a specified level to api\n serverPath = pathname\n .split('/')\n .splice(0, route.fetchNodeLevel + 1)\n .join('/');\n } else if (\n typeof route.fetchNode === 'object' &&\n route.fetchNode?.params\n ) {\n const fetchNodeParams: string[] = route.fetchNode.params;\n const routeParams = params;\n\n const regexExp = new RegExp(\n Object.keys(routeParams)\n .map(p => `:${p}`)\n .join('|'),\n 'g'\n );\n\n serverPath = pathname\n .replace(/\\?/g, '')\n .replace(regexExp, matched => {\n const param = matched.replace(':', '');\n if (fetchNodeParams.includes(param))\n return routeParams[param] || '';\n else return '';\n })\n .replace(/\\/$/, '');\n } else {\n // Send all non-parameterised url parts to api\n serverPath = (route.fullPath as string)\n ?.split('/')\n .filter(p => !p.startsWith(':'))\n .join('/');\n }\n }\n\n const { clientPath, contentPath } = transformPathForSubsite(\n serverPath || trimmedPath,\n ssrContext.request\n );\n\n setNavigationPath(\n clientPath,\n contentPath,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes,\n ssrContext\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 (\n <Redirect\n code={trailingSlashRedirectCode || 302}\n to={`${trimmedPath}${location.search}${location.hash}`}\n />\n );\n }\n\n // Render any Static Routes a developer has defined\n if (isStaticRoute && !(!isLoggedIn && routeRequiresLogin)) {\n if (matchUserGroup(userGroups, routeRequiresLogin))\n return <StaticRouteLoader staticRoutes={staticRoutes} />;\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 // console.info(\n // `RouteLoader rendering NotFound component: statusCode ${statusCode}, isNotFound ${isNotFound}, isError ${isError}`\n // );\n\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 connect(\n mapStateToPropsMemoized,\n mapDispatchToProps\n)(toJS(RouteLoader as any)) as unknown as (\n props: AppRootProps & RouteLoaderProps\n) => React.JSX.Element;\n"],"names":["mergeStaticRoutes","matchedStaticRoute","finalRoute","i","route","entries","staticRouteCopy","length","fullPath","path","children","index","component","element","endsWith","HttpContext","createContext","useHttpContext","useContext","Redirect","code","to","httpContext","statusCode","url","React","createElement","Navigate","Status","Fragment","NotFound","statusText","style","background","color","fontSize","padding","StaticRouteLoader","staticRoutes","staticRouteElement","useRoutes","replaceDoubleSlashRecursive","nextPath","replace","match","getTrimmedPath","lastChar","substring","processStaticRoutes","componentProps","projectId","contentTypeId","entry","mappedEntry","isLoggedIn","map","x","undefined","cloneElement","RouteLoader","isError","isLoading","isNotFound","loadingComponent","notFoundComponent","routes","setNavigationPath","statePath","userGroups","withEvents","trailingSlashRedirectCode","location","useLocation","ssrContext","useSSRContext","trimmedPath","pathname","StaticRoutes","matchRoutes","isStaticRoute","staticRoute","pop","routeRequiresLogin","requireLogin","setPath","useCallback","serverPath","pathnameBase","_route$path","_route$fetchNode","params","includes","fetchNodeLevel","split","splice","join","fetchNode","fetchNodeParams","routeParams","regexExp","RegExp","Object","keys","p","matched","param","_route$fullPath","filter","startsWith","clientPath","contentPath","transformPathForSubsite","request","window","useEffect","search","hash","matchUserGroup","LoadingComponent","MatchedComponent","ContentTypeMappings","find","item","contentTypeID","NotFoundComponent","mapStateToPropsMemoized","createSelector","selectRouteEntryContentTypeId","selectRouteEntry","selectRouteIsError","selectIsNotFound","selectRouteLoading","selectUserIsAuthenticated","selectMappedEntry","selectCurrentProject","selectCurrentPath","selectRouteStatusCode","selectRouteErrorMessage","selectUserGroups","mapDispatchToProps","connect","toJS"],"mappings":"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"}
1
+ {"version":3,"file":"RouteLoader-DJeM8cym.js","sources":["../src/util/mergeStaticRoutes.ts","../src/routing/httpContext.ts","../src/routing/components/Redirect.tsx","../src/routing/components/Status.tsx","../src/routing/components/NotFound.tsx","../src/routing/components/StaticRouteLoader.tsx","../src/routing/components/RouteLoader.tsx"],"sourcesContent":["import { StaticRoute } from '../';\n\nexport const mergeStaticRoutes = matchedStaticRoute => {\n let finalRoute: StaticRoute = {};\n for (const [i, route] of matchedStaticRoute.entries()) {\n const staticRouteCopy = { ...route.route };\n if (i === matchedStaticRoute.length - 1) {\n finalRoute = {\n ...finalRoute,\n ...staticRouteCopy,\n fullPath: `${finalRoute.fullPath || ''}${\n route.route.path ? route.route.path : ''\n }`,\n };\n matchedStaticRoute[i].route = finalRoute;\n } else {\n delete staticRouteCopy.children;\n delete staticRouteCopy.index;\n delete staticRouteCopy.path;\n delete staticRouteCopy.component;\n delete staticRouteCopy.element;\n finalRoute = {\n ...finalRoute,\n ...staticRouteCopy,\n fullPath: `${finalRoute.fullPath || ''}${\n route.route.path\n ? route.route.path.endsWith('/')\n ? route.route.path\n : route.route.path + '/'\n : ''\n }`,\n };\n }\n }\n};\n","import { createContext, useContext } from 'react';\n\nexport type HttpContextValues = {\n statusCode?: number;\n url?: string;\n};\n\nexport const HttpContext = createContext<HttpContextValues>({});\nexport const useHttpContext = () => {\n return useContext(HttpContext);\n};\n","import React, { PropsWithChildren } from 'react';\nimport { Navigate } from 'react-router-dom';\nimport { useHttpContext } from '../httpContext';\n\nexport const Redirect = ({\n code,\n to,\n}: PropsWithChildren<{ code: 301 | 302; to: string }>) => {\n const httpContext = useHttpContext();\n if (httpContext) {\n httpContext.statusCode = code;\n httpContext.url = to;\n }\n return <Navigate to={to} />;\n};\n","import React, { PropsWithChildren } from 'react';\nimport { useHttpContext } from '../httpContext';\n\nexport const Status = ({\n code,\n children,\n}: PropsWithChildren<{ code: number }>) => {\n const httpContext = useHttpContext();\n if (httpContext) {\n httpContext.statusCode = code;\n }\n return <>{children}</>;\n};\n","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 from 'react';\nimport { RouteObject, useRoutes } from 'react-router-dom';\nimport type { StaticRoute } from '~/models';\n\nexport interface StaticRouteLoaderProps {\n staticRoutes: StaticRoute[];\n}\n\nexport const StaticRouteLoader = ({ staticRoutes }: StaticRouteLoaderProps) => {\n const staticRouteElement = useRoutes(staticRoutes as RouteObject[]);\n return <>{staticRouteElement}</>;\n};\n","import React, { useEffect, useCallback, cloneElement } from 'react';\nimport { connect } from 'react-redux';\nimport { useLocation, matchRoutes, RouteObject } from 'react-router-dom';\n\nimport { createSelector } from 'reselect';\n\nimport NotFound from './NotFound';\nimport { Redirect } from './Redirect';\nimport { StaticRouteLoader } from './StaticRouteLoader';\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';\nimport { mergeStaticRoutes } from '~/util/mergeStaticRoutes';\nimport { useSSRContext } from '~/util/SSRContext';\nimport { transformPathForSubsite } from '~/util/subsite';\nimport { toJS } from '~/util/ToJs';\n\nimport type { Entry } from 'contensis-delivery-api/lib/models';\nimport type {\n AppRootProps,\n MatchedRoute,\n RouteLoaderProps,\n StaticRoute,\n} from '~/models';\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\nconst processStaticRoutes = (\n staticRoutes: StaticRoute[],\n componentProps: Partial<IReduxProps>\n) => {\n const { projectId, contentTypeId, entry, mappedEntry, isLoggedIn } =\n componentProps;\n return staticRoutes.map(x => {\n const route = { ...x };\n if (route.component) {\n route.element = (\n <route.component\n projectId={projectId}\n contentTypeId={contentTypeId ? contentTypeId : undefined}\n entry={entry}\n mappedEntry={mappedEntry}\n isLoggedIn={isLoggedIn}\n />\n );\n delete route.component;\n }\n if (route.element) {\n route.element = cloneElement(route.element as React.ReactElement<any>, {\n projectId,\n contentTypeId,\n entry,\n mappedEntry,\n isLoggedIn,\n });\n }\n if (route.children) {\n route.children = processStaticRoutes(route.children, componentProps);\n }\n return route;\n });\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 trailingSlashRedirectCode = 302,\n}: AppRootProps & RouteLoaderProps & IReduxProps) => {\n const location = useLocation();\n\n // In SSR pass references to things in backing sagas\n // we cannot access in a global scope\n const ssrContext = useSSRContext();\n\n // Always ensure paths are trimmed of trailing slashes so urls are always unique\n const trimmedPath = getTrimmedPath(location.pathname);\n\n // Convert any react-router-v5 style routes to react-router-v6 style routes.\n const staticRoutes = processStaticRoutes(routes.StaticRoutes, {\n projectId,\n contentTypeId,\n entry,\n mappedEntry,\n isLoggedIn,\n });\n\n // Match any Static Routes a developer has defined\n const matchedStaticRoute = matchRoutes(\n staticRoutes as RouteObject[],\n location\n );\n const isStaticRoute = matchedStaticRoute && matchedStaticRoute.length > 0;\n\n // Combine custom params for all static routes, with the furthest config taking precedence.\n if (isStaticRoute) {\n mergeStaticRoutes(matchedStaticRoute);\n }\n\n const staticRoute: MatchedRoute<string, StaticRoute> | undefined =\n isStaticRoute ? matchedStaticRoute.pop() || undefined : undefined;\n\n const routeRequiresLogin = staticRoute\n ? staticRoute.route.requireLogin\n : undefined;\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.pathname === staticRoute.pathnameBase) {\n const { route, pathname, params } = staticRoute;\n\n if (route.path?.includes('*')) {\n // Send the whole url to api if we have matched route containing wildcard\n serverPath = pathname;\n } else if (typeof route.fetchNodeLevel === 'number') {\n // Send all url parts to a specified level to api\n serverPath = pathname\n .split('/')\n .splice(0, route.fetchNodeLevel + 1)\n .join('/');\n } else if (\n typeof route.fetchNode === 'object' &&\n route.fetchNode?.params\n ) {\n const fetchNodeParams: string[] = route.fetchNode.params;\n const routeParams = params;\n\n const regexExp = new RegExp(\n Object.keys(routeParams)\n .map(p => `:${p}`)\n .join('|'),\n 'g'\n );\n\n serverPath = pathname\n .replace(/\\?/g, '')\n .replace(regexExp, matched => {\n const param = matched.replace(':', '');\n if (fetchNodeParams.includes(param))\n return routeParams[param] || '';\n else return '';\n })\n .replace(/\\/$/, '');\n } else {\n // Send all non-parameterised url parts to api\n serverPath = (route.fullPath as string)\n ?.split('/')\n .filter(p => !p.startsWith(':'))\n .join('/');\n }\n }\n\n const { clientPath, contentPath } = transformPathForSubsite(\n serverPath || trimmedPath,\n ssrContext.request\n );\n\n setNavigationPath(\n clientPath,\n contentPath,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes,\n ssrContext\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 (\n <Redirect\n code={trailingSlashRedirectCode || 302}\n to={`${trimmedPath}${location.search}${location.hash}`}\n />\n );\n }\n\n // Render any Static Routes a developer has defined\n if (isStaticRoute && !(!isLoggedIn && routeRequiresLogin)) {\n if (matchUserGroup(userGroups, routeRequiresLogin))\n return <StaticRouteLoader staticRoutes={staticRoutes} />;\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 // console.info(\n // `RouteLoader rendering NotFound component: statusCode ${statusCode}, isNotFound ${isNotFound}, isError ${isError}`\n // );\n\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 connect(\n mapStateToPropsMemoized,\n mapDispatchToProps\n)(toJS(RouteLoader as any)) as unknown as (\n props: AppRootProps & RouteLoaderProps\n) => React.JSX.Element;\n"],"names":["mergeStaticRoutes","matchedStaticRoute","finalRoute","i","route","entries","staticRouteCopy","length","fullPath","path","children","index","component","element","endsWith","HttpContext","createContext","useHttpContext","useContext","Redirect","code","to","httpContext","statusCode","url","React","createElement","Navigate","Status","Fragment","NotFound","statusText","style","background","color","fontSize","padding","StaticRouteLoader","staticRoutes","staticRouteElement","useRoutes","replaceDoubleSlashRecursive","nextPath","replace","match","getTrimmedPath","lastChar","substring","processStaticRoutes","componentProps","projectId","contentTypeId","entry","mappedEntry","isLoggedIn","map","x","undefined","cloneElement","RouteLoader","isError","isLoading","isNotFound","loadingComponent","notFoundComponent","routes","setNavigationPath","statePath","userGroups","withEvents","trailingSlashRedirectCode","location","useLocation","ssrContext","useSSRContext","trimmedPath","pathname","StaticRoutes","matchRoutes","isStaticRoute","staticRoute","pop","routeRequiresLogin","requireLogin","setPath","useCallback","serverPath","pathnameBase","_route$path","_route$fetchNode","params","includes","fetchNodeLevel","split","splice","join","fetchNode","fetchNodeParams","routeParams","regexExp","RegExp","Object","keys","p","matched","param","_route$fullPath","filter","startsWith","clientPath","contentPath","transformPathForSubsite","request","window","useEffect","search","hash","matchUserGroup","LoadingComponent","MatchedComponent","ContentTypeMappings","find","item","contentTypeID","NotFoundComponent","mapStateToPropsMemoized","createSelector","selectRouteEntryContentTypeId","selectRouteEntry","selectRouteIsError","selectIsNotFound","selectRouteLoading","selectUserIsAuthenticated","selectMappedEntry","selectCurrentProject","selectCurrentPath","selectRouteStatusCode","selectRouteErrorMessage","selectUserGroups","mapDispatchToProps","connect","toJS"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  var React = require('react');
4
4
  var reactCookie = require('react-cookie');
5
5
  var reactRedux = require('react-redux');
6
- var ContensisDeliveryApi = require('./ContensisDeliveryApi-gN3_MHEl.js');
6
+ var ContensisDeliveryApi = require('./ContensisDeliveryApi-MfcvdfDR.js');
7
7
  var CookieHelper_class = require('./CookieHelper.class-Det3qfdU.js');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -113,4 +113,4 @@ exports.getSubsitePath = getSubsitePath;
113
113
  exports.transformPathForSubsite = transformPathForSubsite;
114
114
  exports.useDeliveryApi = useDeliveryApi;
115
115
  exports.useSSRContext = useSSRContext;
116
- //# sourceMappingURL=SSRContext-DotLlTQc.js.map
116
+ //# sourceMappingURL=SSRContext-tMufQDHY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SSRContext-DotLlTQc.js","sources":["../src/util/subsite.ts","../src/util/SSRContext.tsx"],"sourcesContent":["import type { Request } from 'express';\n\ndeclare let window: typeof globalThis & {\n subsitePath: string | undefined;\n};\n\nconst isSSR = typeof window === 'undefined';\n\nconst ensureLeadingSlash = (value: string) =>\n value.startsWith('/') ? value : `/${value}`;\n\nconst trimTrailingSlash = (value: string) =>\n value.length > 1 && value.endsWith('/') ? value.slice(0, -1) : value;\n\nconst normalizeSubsitePath = (path?: string) => {\n const trimmed = `${path || ''}`.trim();\n if (!trimmed || trimmed === '/') return '';\n return trimTrailingSlash(ensureLeadingSlash(trimmed));\n};\n\nconst addSubsitePath = (path: string, subsitePath: string) => {\n if (!path || path === '/') return subsitePath;\n if (path.startsWith(subsitePath)) return path;\n return `${subsitePath}${path.startsWith('/') ? '' : '/'}${path}`;\n};\n\nconst trimSubsitePath = (path: string, subsitePath: string) => {\n if (!path.startsWith(subsitePath)) return path;\n const stripped = path.slice(subsitePath.length);\n return stripped ? stripped : '/';\n};\n\n/**\n * Retrieves a subsite path from the request headers in SSR or the global window object in CSR.\n * @param request The SSR request.\n * @returns The normalized subsite path.\n */\nexport const getSubsitePath = (request?: Request) =>\n isSSR\n ? normalizeSubsitePath(request?.headers?.['subsite_path'] as string)\n : window.subsitePath;\n\nexport const transformPathForSubsite = (\n path: string,\n request?: Request\n): {\n clientPath: string;\n contentPath: string;\n subsitePath?: string;\n} => {\n const subsitePath = getSubsitePath(request);\n if (!subsitePath) return { clientPath: path, contentPath: path };\n\n return {\n clientPath: isSSR ? trimSubsitePath(path, subsitePath) : path,\n contentPath: isSSR ? path : addSubsitePath(path, subsitePath),\n subsitePath,\n };\n};\n","import { Request, Response } from 'express';\nimport React, {\n PropsWithChildren,\n createContext,\n useContext,\n useState,\n} from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useDispatch } from 'react-redux';\nimport { SSRAccessMethod, SSRContext as SSRContextType } from '~/models';\nimport { cachedSearchWithContext } from '~/util/CachedDeliveryApi';\nimport { CookieHelper } from '~/user/util/CookieHelper.class';\nimport { getSubsitePath } from './subsite';\n\nconst SSRContext = createContext<SSRContextType | null>(null);\n\n/**\n * SSRContextProvider allows us to hold and access request-scoped references\n * throughout the component tree\n *\n * adding this in client side allows consumers to write universal code and use\n * the same helpers and request-scoped refs for api, cookies and redux dispatcher\n * as in SSR */\nexport const SSRContextProvider = ({\n accessMethod,\n children,\n request,\n response,\n}: PropsWithChildren<{\n accessMethod?: SSRAccessMethod;\n request?: Request;\n response?: Response;\n}>) => {\n // In SSR pass references to things in backing sagas\n // we cannot access in a global scope\n const dispatch = useDispatch();\n const cookies = new CookieHelper(...useCookies());\n const api = cachedSearchWithContext({ cookies, dispatch, request, response });\n const subsitePath = getSubsitePath(request);\n\n const [context] = useState<SSRContextType>({\n accessMethod,\n api,\n cookies,\n dispatch,\n request,\n response,\n subsitePath,\n });\n\n return (\n <SSRContext.Provider value={{ ...context }}>{children}</SSRContext.Provider>\n );\n};\n\n/**\n * Server side usage provides access to request-scoped references throughout the component tree\n *\n * Client side usage allows consumers to write universal code, using the same\n * helpers and request-scoped refs for api, cookies and redux dispatcher as in SSR\n * @returns SSRContextType\n */\nexport const useSSRContext = () => useContext(SSRContext) as SSRContextType;\n\nexport const useDeliveryApi = () => {\n const { api } = useSSRContext();\n return api;\n};\n"],"names":["isSSR","window","ensureLeadingSlash","value","startsWith","trimTrailingSlash","length","endsWith","slice","normalizeSubsitePath","path","trimmed","trim","addSubsitePath","subsitePath","trimSubsitePath","stripped","getSubsitePath","request","_request$headers","headers","transformPathForSubsite","clientPath","contentPath","SSRContext","createContext","SSRContextProvider","accessMethod","children","response","dispatch","useDispatch","cookies","CookieHelper","useCookies","api","cachedSearchWithContext","context","useState","React","createElement","Provider","useSSRContext","useContext","useDeliveryApi"],"mappings":"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"}
1
+ {"version":3,"file":"SSRContext-tMufQDHY.js","sources":["../src/util/subsite.ts","../src/util/SSRContext.tsx"],"sourcesContent":["import type { Request } from 'express';\n\ndeclare let window: typeof globalThis & {\n subsitePath: string | undefined;\n};\n\nconst isSSR = typeof window === 'undefined';\n\nconst ensureLeadingSlash = (value: string) =>\n value.startsWith('/') ? value : `/${value}`;\n\nconst trimTrailingSlash = (value: string) =>\n value.length > 1 && value.endsWith('/') ? value.slice(0, -1) : value;\n\nconst normalizeSubsitePath = (path?: string) => {\n const trimmed = `${path || ''}`.trim();\n if (!trimmed || trimmed === '/') return '';\n return trimTrailingSlash(ensureLeadingSlash(trimmed));\n};\n\nconst addSubsitePath = (path: string, subsitePath: string) => {\n if (!path || path === '/') return subsitePath;\n if (path.startsWith(subsitePath)) return path;\n return `${subsitePath}${path.startsWith('/') ? '' : '/'}${path}`;\n};\n\nconst trimSubsitePath = (path: string, subsitePath: string) => {\n if (!path.startsWith(subsitePath)) return path;\n const stripped = path.slice(subsitePath.length);\n return stripped ? stripped : '/';\n};\n\n/**\n * Retrieves a subsite path from the request headers in SSR or the global window object in CSR.\n * @param request The SSR request.\n * @returns The normalized subsite path.\n */\nexport const getSubsitePath = (request?: Request) =>\n isSSR\n ? normalizeSubsitePath(request?.headers?.['subsite_path'] as string)\n : window.subsitePath;\n\nexport const transformPathForSubsite = (\n path: string,\n request?: Request\n): {\n clientPath: string;\n contentPath: string;\n subsitePath?: string;\n} => {\n const subsitePath = getSubsitePath(request);\n if (!subsitePath) return { clientPath: path, contentPath: path };\n\n return {\n clientPath: isSSR ? trimSubsitePath(path, subsitePath) : path,\n contentPath: isSSR ? path : addSubsitePath(path, subsitePath),\n subsitePath,\n };\n};\n","import { Request, Response } from 'express';\nimport React, {\n PropsWithChildren,\n createContext,\n useContext,\n useState,\n} from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useDispatch } from 'react-redux';\nimport { SSRAccessMethod, SSRContext as SSRContextType } from '~/models';\nimport { cachedSearchWithContext } from '~/util/CachedDeliveryApi';\nimport { CookieHelper } from '~/user/util/CookieHelper.class';\nimport { getSubsitePath } from './subsite';\n\nconst SSRContext = createContext<SSRContextType | null>(null);\n\n/**\n * SSRContextProvider allows us to hold and access request-scoped references\n * throughout the component tree\n *\n * adding this in client side allows consumers to write universal code and use\n * the same helpers and request-scoped refs for api, cookies and redux dispatcher\n * as in SSR */\nexport const SSRContextProvider = ({\n accessMethod,\n children,\n request,\n response,\n}: PropsWithChildren<{\n accessMethod?: SSRAccessMethod;\n request?: Request;\n response?: Response;\n}>) => {\n // In SSR pass references to things in backing sagas\n // we cannot access in a global scope\n const dispatch = useDispatch();\n const cookies = new CookieHelper(...useCookies());\n const api = cachedSearchWithContext({ cookies, dispatch, request, response });\n const subsitePath = getSubsitePath(request);\n\n const [context] = useState<SSRContextType>({\n accessMethod,\n api,\n cookies,\n dispatch,\n request,\n response,\n subsitePath,\n });\n\n return (\n <SSRContext.Provider value={{ ...context }}>{children}</SSRContext.Provider>\n );\n};\n\n/**\n * Server side usage provides access to request-scoped references throughout the component tree\n *\n * Client side usage allows consumers to write universal code, using the same\n * helpers and request-scoped refs for api, cookies and redux dispatcher as in SSR\n * @returns SSRContextType\n */\nexport const useSSRContext = () => useContext(SSRContext) as SSRContextType;\n\nexport const useDeliveryApi = () => {\n const { api } = useSSRContext();\n return api;\n};\n"],"names":["isSSR","window","ensureLeadingSlash","value","startsWith","trimTrailingSlash","length","endsWith","slice","normalizeSubsitePath","path","trimmed","trim","addSubsitePath","subsitePath","trimSubsitePath","stripped","getSubsitePath","request","_request$headers","headers","transformPathForSubsite","clientPath","contentPath","SSRContext","createContext","SSRContextProvider","accessMethod","children","response","dispatch","useDispatch","cookies","CookieHelper","useCookies","api","cachedSearchWithContext","context","useState","React","createElement","Provider","useSSRContext","useContext","useDeliveryApi"],"mappings":";;;;;;;;;;;;AAMA,MAAMA,KAAK,GAAG,OAAOC,MAAM,KAAK,WAAW;AAE3C,MAAMC,kBAAkB,GAAIC,KAAa,IACvCA,KAAK,CAACC,UAAU,CAAC,GAAG,CAAC,GAAGD,KAAK,GAAG,CAAA,CAAA,EAAIA,KAAK,CAAA,CAAE;AAE7C,MAAME,iBAAiB,GAAIF,KAAa,IACtCA,KAAK,CAACG,MAAM,GAAG,CAAC,IAAIH,KAAK,CAACI,QAAQ,CAAC,GAAG,CAAC,GAAGJ,KAAK,CAACK,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAGL,KAAK;AAEtE,MAAMM,oBAAoB,GAAIC,IAAa,IAAK;EAC9C,MAAMC,OAAO,GAAG,CAAA,EAAGD,IAAI,IAAI,EAAE,CAAA,CAAE,CAACE,IAAI,EAAE;EACtC,IAAI,CAACD,OAAO,IAAIA,OAAO,KAAK,GAAG,EAAE,OAAO,EAAE;AAC1C,EAAA,OAAON,iBAAiB,CAACH,kBAAkB,CAACS,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,MAAME,cAAc,GAAGA,CAACH,IAAY,EAAEI,WAAmB,KAAK;EAC5D,IAAI,CAACJ,IAAI,IAAIA,IAAI,KAAK,GAAG,EAAE,OAAOI,WAAW;EAC7C,IAAIJ,IAAI,CAACN,UAAU,CAACU,WAAW,CAAC,EAAE,OAAOJ,IAAI;AAC7C,EAAA,OAAO,CAAA,EAAGI,WAAW,CAAA,EAAGJ,IAAI,CAACN,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,EAAGM,IAAI,CAAA,CAAE;AAClE,CAAC;AAED,MAAMK,eAAe,GAAGA,CAACL,IAAY,EAAEI,WAAmB,KAAK;EAC7D,IAAI,CAACJ,IAAI,CAACN,UAAU,CAACU,WAAW,CAAC,EAAE,OAAOJ,IAAI;EAC9C,MAAMM,QAAQ,GAAGN,IAAI,CAACF,KAAK,CAACM,WAAW,CAACR,MAAM,CAAC;AAC/C,EAAA,OAAOU,QAAQ,GAAGA,QAAQ,GAAG,GAAG;AAClC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,cAAc,GAAIC,OAAiB,IAAA;AAAA,EAAA,IAAAC,gBAAA;EAAA,OAC9CnB,KAAK,GACDS,oBAAoB,CAACS,OAAO,aAAPA,OAAO,KAAA,MAAA,IAAA,CAAAC,gBAAA,GAAPD,OAAO,CAAEE,OAAO,MAAA,IAAA,IAAAD,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAA,CAAmB,cAAc,CAAW,CAAC,GAClElB,MAAM,CAACa,WAAW;AAAA;MAEXO,uBAAuB,GAAGA,CACrCX,IAAY,EACZQ,OAAiB,KAKd;AACH,EAAA,MAAMJ,WAAW,GAAGG,cAAc,CAACC,OAAO,CAAC;EAC3C,IAAI,CAACJ,WAAW,EAAE,OAAO;AAAEQ,IAAAA,UAAU,EAAEZ,IAAI;AAAEa,IAAAA,WAAW,EAAEb;GAAM;EAEhE,OAAO;IACLY,UAAU,EAAEtB,KAAK,GAAGe,eAAe,CAACL,IAAI,EAAEI,WAAW,CAAC,GAAGJ,IAAI;IAC7Da,WAAW,EAAEvB,KAAK,GAAGU,IAAI,GAAGG,cAAc,CAACH,IAAI,EAAEI,WAAW,CAAC;AAC7DA,IAAAA;GACD;AACH;;AC5CA,MAAMU,UAAU,gBAAGC,mBAAa,CAAwB,IAAI,CAAC;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,GAAGA,CAAC;EACjCC,YAAY;EACZC,QAAQ;EACRV,OAAO;AACPW,EAAAA;AAKD,CAAC,KAAK;AACL;AACA;AACA,EAAA,MAAMC,QAAQ,GAAGC,sBAAW,EAAE;EAC9B,MAAMC,OAAO,GAAG,IAAIC,+BAAY,CAAC,GAAGC,sBAAU,EAAE,CAAC;EACjD,MAAMC,GAAG,GAAGC,4CAAuB,CAAC;IAAEJ,OAAO;IAAEF,QAAQ;IAAEZ,OAAO;AAAEW,IAAAA;AAAS,GAAC,CAAC;AAC7E,EAAA,MAAMf,WAAW,GAAGG,cAAc,CAACC,OAAO,CAAC;AAE3C,EAAA,MAAM,CAACmB,OAAO,CAAC,GAAGC,cAAQ,CAAiB;IACzCX,YAAY;IACZQ,GAAG;IACHH,OAAO;IACPF,QAAQ;IACRZ,OAAO;IACPW,QAAQ;AACRf,IAAAA;AACF,GAAC,CAAC;AAEF,EAAA,oBACEyB,sBAAA,CAAAC,aAAA,CAAChB,UAAU,CAACiB,QAAQ,EAAA;AAACtC,IAAAA,KAAK,EAAE;MAAE,GAAGkC;AAAQ;AAAE,GAAA,EAAET,QAA8B,CAAC;AAEhF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMc,aAAa,GAAGA,MAAMC,gBAAU,CAACnB,UAAU;AAEjD,MAAMoB,cAAc,GAAGA,MAAM;EAClC,MAAM;AAAET,IAAAA;GAAK,GAAGO,aAAa,EAAE;AAC/B,EAAA,OAAOP,GAAG;AACZ;;;;;;;;"}
package/cjs/client.js CHANGED
@@ -11,18 +11,19 @@ var component = require('@loadable/component');
11
11
  var queryString = require('query-string');
12
12
  var reactCookie = require('react-cookie');
13
13
  var reactHelmetAsync = require('react-helmet-async');
14
- var App = require('./App-TTUKj85f.js');
14
+ var App = require('./App-46jKG194.js');
15
15
  var slice = require('./slice-5xJMH24n.js');
16
16
  var version = require('./version-rFG9Y6_B.js');
17
- var version$1 = require('./version-2FamXHhj.js');
18
- var store = require('./store-Dn7vP6G0.js');
17
+ var version$1 = require('./version-yjHMrfVz.js');
18
+ var store = require('./store-B7SJs5Hf.js');
19
19
  var selectors = require('./selectors-BrxJ8-F8.js');
20
- var ContensisDeliveryApi = require('./ContensisDeliveryApi-gN3_MHEl.js');
21
- var SSRContext = require('./SSRContext-DotLlTQc.js');
20
+ var ContensisDeliveryApi = require('./ContensisDeliveryApi-MfcvdfDR.js');
21
+ var SSRContext = require('./SSRContext-tMufQDHY.js');
22
22
  require('history');
23
23
  require('@redux-saga/core/effects');
24
24
  require('loglevel');
25
25
  require('await-to-js');
26
+ require('redux-saga');
26
27
  require('contensis-delivery-api');
27
28
  require('./VersionInfo-zFPsvS8q.js');
28
29
  require('./_commonjsHelpers-BJu3ubxk.js');
@@ -34,18 +35,17 @@ require('./matchGroups-dqONU-vY.js');
34
35
  require('./CookieConstants-DfPiWCRZ.js');
35
36
  require('./CookieHelper.class-Det3qfdU.js');
36
37
  require('./ToJs-BsWqWjdm.js');
37
- require('./sagas-OfBUtx74.js');
38
+ require('./sagas-BCy9u6zA.js');
38
39
  require('reselect');
39
- require('./util-wQwG9vit.js');
40
+ require('./util-eOjxDjxF.js');
40
41
  require('contensis-core-api');
41
42
  require('deepmerge');
42
43
  require('immer');
43
44
  require('deep-equal');
44
- require('./RouteLoader-BM8DyfcF.js');
45
+ require('./RouteLoader-DJeM8cym.js');
45
46
  require('@reduxjs/toolkit');
46
47
  require('redux');
47
48
  require('redux-thunk');
48
- require('redux-saga');
49
49
  require('redux-injectors-19');
50
50
 
51
51
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var ContensisDeliveryApi = require('./ContensisDeliveryApi-gN3_MHEl.js');
5
+ var ContensisDeliveryApi = require('./ContensisDeliveryApi-MfcvdfDR.js');
6
6
  var contensisDeliveryApi = require('contensis-delivery-api');
7
7
  var React = require('react');
8
8
  var reactRedux = require('react-redux');
9
9
  var slice = require('./slice-5xJMH24n.js');
10
10
  var mapJson = require('jsonpath-mapper');
11
- var sagas = require('./sagas-OfBUtx74.js');
11
+ var sagas = require('./sagas-BCy9u6zA.js');
12
12
  require('reselect');
13
13
  require('immer');
14
14
  require('deep-equal');
@@ -20,7 +20,7 @@ require('isomorphic-fetch');
20
20
  var express = require('express');
21
21
  var http = require('http');
22
22
  var httpProxy = require('http-proxy');
23
- var App = require('./App-TTUKj85f.js');
23
+ var App = require('./App-46jKG194.js');
24
24
  var fs = require('fs');
25
25
  var path = require('path');
26
26
  var appRootPath = require('app-root-path');
@@ -33,10 +33,10 @@ var lodash = require('lodash');
33
33
  var lodashClean = require('lodash-clean');
34
34
  var CookieHelper_class = require('./CookieHelper.class-Det3qfdU.js');
35
35
  var cookiesMiddleware = require('universal-cookie-express');
36
- var store = require('./store-Dn7vP6G0.js');
37
- var version = require('./version-2FamXHhj.js');
36
+ var store = require('./store-B7SJs5Hf.js');
37
+ var version = require('./version-yjHMrfVz.js');
38
38
  var selectors = require('./selectors-BrxJ8-F8.js');
39
- var RouteLoader = require('./RouteLoader-BM8DyfcF.js');
39
+ var RouteLoader = require('./RouteLoader-DJeM8cym.js');
40
40
  var stream = require('stream');
41
41
  var server$2 = require('@loadable/server');
42
42
  var chalk = require('chalk');
@@ -44,24 +44,24 @@ var minifyCssString = require('minify-css-string');
44
44
  var reactCookie = require('react-cookie');
45
45
  var reactHelmetAsync = require('react-helmet-async');
46
46
  var server$3 = require('react-router-dom/server');
47
- var SSRContext = require('./SSRContext-DotLlTQc.js');
47
+ var SSRContext = require('./SSRContext-tMufQDHY.js');
48
48
  require('./VersionInfo-zFPsvS8q.js');
49
49
  require('./CookieConstants-DfPiWCRZ.js');
50
50
  require('@reduxjs/toolkit');
51
51
  require('loglevel');
52
52
  require('@redux-saga/core/effects');
53
53
  require('./version-rFG9Y6_B.js');
54
- require('./util-wQwG9vit.js');
54
+ require('./util-eOjxDjxF.js');
55
55
  require('./selectors-DAQR0uZa.js');
56
56
  require('./_commonjsHelpers-BJu3ubxk.js');
57
57
  require('history');
58
58
  require('await-to-js');
59
+ require('redux-saga');
59
60
  require('./ChangePassword.container-C4Du3Wb1.js');
60
61
  require('./matchGroups-dqONU-vY.js');
61
62
  require('./ToJs-BsWqWjdm.js');
62
63
  require('redux');
63
64
  require('redux-thunk');
64
- require('redux-saga');
65
65
  require('redux-injectors-19');
66
66
 
67
67
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
package/cjs/redux.js CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var store = require('./store-Dn7vP6G0.js');
3
+ var store = require('./store-B7SJs5Hf.js');
4
4
  var selectors$1 = require('./selectors-BrxJ8-F8.js');
5
- var version$1 = require('./version-2FamXHhj.js');
5
+ var version$1 = require('./version-yjHMrfVz.js');
6
6
  var version$2 = require('./version-rFG9Y6_B.js');
7
7
  require('redux');
8
8
  require('redux-thunk');
package/cjs/routing.js CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var selectors = require('./selectors-BrxJ8-F8.js');
4
- var RouteLoader = require('./RouteLoader-BM8DyfcF.js');
5
- var util = require('./util-wQwG9vit.js');
4
+ var RouteLoader = require('./RouteLoader-DJeM8cym.js');
5
+ var util = require('./util-eOjxDjxF.js');
6
6
  require('immer');
7
7
  require('reselect');
8
8
  require('jsonpath-mapper');
@@ -11,11 +11,11 @@ require('react');
11
11
  require('react-redux');
12
12
  require('react-router-dom');
13
13
  require('./matchGroups-dqONU-vY.js');
14
- require('./SSRContext-DotLlTQc.js');
14
+ require('./SSRContext-tMufQDHY.js');
15
15
  require('react-cookie');
16
- require('./ContensisDeliveryApi-gN3_MHEl.js');
16
+ require('./ContensisDeliveryApi-MfcvdfDR.js');
17
17
  require('contensis-delivery-api');
18
- require('./store-Dn7vP6G0.js');
18
+ require('./store-B7SJs5Hf.js');
19
19
  require('redux');
20
20
  require('redux-thunk');
21
21
  require('redux-saga');
@@ -6,9 +6,9 @@ var reselect = require('reselect');
6
6
  var log = require('loglevel');
7
7
  var effects = require('@redux-saga/core/effects');
8
8
  var version = require('./version-rFG9Y6_B.js');
9
- var ContensisDeliveryApi = require('./ContensisDeliveryApi-gN3_MHEl.js');
9
+ var ContensisDeliveryApi = require('./ContensisDeliveryApi-MfcvdfDR.js');
10
10
  var contensisDeliveryApi = require('contensis-delivery-api');
11
- var util = require('./util-wQwG9vit.js');
11
+ var util = require('./util-eOjxDjxF.js');
12
12
  var selectors$1 = require('./selectors-DAQR0uZa.js');
13
13
  require('./slice-5xJMH24n.js');
14
14
  var mapJson = require('jsonpath-mapper');
@@ -6160,4 +6160,4 @@ exports.updateSortOrder = updateSortOrder$1;
6160
6160
  exports.useFacets = useFacets;
6161
6161
  exports.useListing = useListing;
6162
6162
  exports.withMappers = withMappers;
6163
- //# sourceMappingURL=sagas-OfBUtx74.js.map
6163
+ //# sourceMappingURL=sagas-BCy9u6zA.js.map