@zengenti/contensis-react-base 4.0.0-beta.8 → 4.0.0
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.
- package/README.md +14 -1
- package/cjs/{App-vZrUfVgQ.js → App-CNylISW7.js} +546 -104
- package/cjs/App-CNylISW7.js.map +1 -0
- package/cjs/{ChangePassword.container-ECjEXixF.js → ChangePassword.container-C4Du3Wb1.js} +57 -50
- package/cjs/ChangePassword.container-C4Du3Wb1.js.map +1 -0
- package/cjs/{SSRContext-DVj_QAC1.js → ContensisDeliveryApi-MfcvdfDR.js} +32 -74
- package/cjs/ContensisDeliveryApi-MfcvdfDR.js.map +1 -0
- package/cjs/CookieConstants-DfPiWCRZ.js +12 -0
- package/cjs/CookieConstants-DfPiWCRZ.js.map +1 -0
- package/{esm/CookieHelper.class-FTURFpz3.js → cjs/CookieHelper.class-Det3qfdU.js} +4 -6
- package/cjs/CookieHelper.class-Det3qfdU.js.map +1 -0
- package/cjs/{RouteLoader-D5Yg7EB5.js → RouteLoader-DJeM8cym.js} +17 -9
- package/cjs/RouteLoader-DJeM8cym.js.map +1 -0
- package/cjs/SSRContext-tMufQDHY.js +116 -0
- package/cjs/SSRContext-tMufQDHY.js.map +1 -0
- package/cjs/ToJs-BsWqWjdm.js +23 -0
- package/cjs/ToJs-BsWqWjdm.js.map +1 -0
- package/cjs/{VersionInfo-B_dKCubg.js → VersionInfo-zFPsvS8q.js} +3 -25
- package/cjs/VersionInfo-zFPsvS8q.js.map +1 -0
- package/cjs/client.js +63 -65
- package/cjs/client.js.map +1 -1
- package/cjs/contensis-react-base.js +223 -132
- package/cjs/contensis-react-base.js.map +1 -1
- package/cjs/i18n.js +75 -0
- package/cjs/i18n.js.map +1 -0
- package/cjs/{ToJs-C9jwV7YB.js → matchGroups-dqONU-vY.js} +2 -22
- package/cjs/matchGroups-dqONU-vY.js.map +1 -0
- package/cjs/redux.js +8 -6
- package/cjs/redux.js.map +1 -1
- package/cjs/routing.js +15 -7
- package/cjs/routing.js.map +1 -1
- package/cjs/{sagas-CbZhaRNd.js → sagas-BCy9u6zA.js} +523 -370
- package/cjs/sagas-BCy9u6zA.js.map +1 -0
- package/cjs/search.js +54 -29
- package/cjs/search.js.map +1 -1
- package/cjs/{selectors-wCs5fHD4.js → selectors-BrxJ8-F8.js} +27 -6
- package/cjs/selectors-BrxJ8-F8.js.map +1 -0
- package/cjs/selectors-DAQR0uZa.js +18 -0
- package/cjs/selectors-DAQR0uZa.js.map +1 -0
- package/cjs/slice-5xJMH24n.js +69 -0
- package/cjs/slice-5xJMH24n.js.map +1 -0
- package/cjs/{store-D07FOXvM.js → store-B7SJs5Hf.js} +64 -5
- package/cjs/store-B7SJs5Hf.js.map +1 -0
- package/cjs/urls-DGZlAs0y.js +25 -0
- package/cjs/urls-DGZlAs0y.js.map +1 -0
- package/cjs/user.js +20 -17
- package/cjs/user.js.map +1 -1
- package/cjs/util-eOjxDjxF.js +148 -0
- package/cjs/util-eOjxDjxF.js.map +1 -0
- package/cjs/util.js +80 -22
- package/cjs/util.js.map +1 -1
- package/cjs/{version-CM-bJ62L.js → version-rFG9Y6_B.js} +2 -2
- package/cjs/{version-CM-bJ62L.js.map → version-rFG9Y6_B.js.map} +1 -1
- package/cjs/{version-B7XFkBhY.js → version-yjHMrfVz.js} +15 -16
- package/cjs/version-yjHMrfVz.js.map +1 -0
- package/esm/{App-DLZweVSp.js → App-Bvs7Km54.js} +507 -66
- package/esm/App-Bvs7Km54.js.map +1 -0
- package/esm/{ChangePassword.container-BgzIy8dA.js → ChangePassword.container-CUBtn82K.js} +19 -13
- package/esm/ChangePassword.container-CUBtn82K.js.map +1 -0
- package/esm/{SSRContext-BE8ElZ3X.js → ContensisDeliveryApi-LWYXevZ1.js} +30 -67
- package/esm/ContensisDeliveryApi-LWYXevZ1.js.map +1 -0
- package/esm/CookieConstants-DEmbwzYr.js +7 -0
- package/esm/CookieConstants-DEmbwzYr.js.map +1 -0
- package/{cjs/CookieHelper.class-C3Eqoze9.js → esm/CookieHelper.class-C6rTRl_1.js} +2 -14
- package/esm/CookieHelper.class-C6rTRl_1.js.map +1 -0
- package/esm/{RouteLoader-xeQBXywk.js → RouteLoader-CzrlySZf.js} +14 -6
- package/esm/RouteLoader-CzrlySZf.js.map +1 -0
- package/esm/SSRContext-Bxtg1KGv.js +106 -0
- package/esm/SSRContext-Bxtg1KGv.js.map +1 -0
- package/esm/ToJs-BnRRHk6f.js +17 -0
- package/esm/ToJs-BnRRHk6f.js.map +1 -0
- package/esm/{VersionInfo-Cno7K0OA.js → VersionInfo-By2ZCZOh.js} +4 -24
- package/esm/VersionInfo-By2ZCZOh.js.map +1 -0
- package/esm/client.js +63 -64
- package/esm/client.js.map +1 -1
- package/esm/contensis-react-base.js +216 -127
- package/esm/contensis-react-base.js.map +1 -1
- package/esm/i18n.js +64 -0
- package/esm/i18n.js.map +1 -0
- package/esm/{ToJs-CNzfvyxJ.js → matchGroups-_w8BwzCC.js} +3 -18
- package/esm/matchGroups-_w8BwzCC.js.map +1 -0
- package/esm/redux.js +11 -8
- package/esm/redux.js.map +1 -1
- package/esm/routing.js +14 -7
- package/esm/routing.js.map +1 -1
- package/esm/{sagas-xJU-zOpn.js → sagas-Fr9yRduO.js} +511 -357
- package/esm/sagas-Fr9yRduO.js.map +1 -0
- package/esm/search.js +73 -47
- package/esm/search.js.map +1 -1
- package/esm/{selectors-DO2ocdOp.js → selectors-8ROQrTd7.js} +25 -7
- package/esm/selectors-8ROQrTd7.js.map +1 -0
- package/esm/selectors-DcmvOeX2.js +10 -0
- package/esm/selectors-DcmvOeX2.js.map +1 -0
- package/esm/slice-C6JLQik8.js +63 -0
- package/esm/slice-C6JLQik8.js.map +1 -0
- package/esm/{store-3u0RzHZ0.js → store-B4IrBYHm.js} +64 -6
- package/esm/store-B4IrBYHm.js.map +1 -0
- package/esm/urls-tLxo_skx.js +22 -0
- package/esm/urls-tLxo_skx.js.map +1 -0
- package/esm/user.js +9 -6
- package/esm/user.js.map +1 -1
- package/esm/util-Bl2u6LpY.js +136 -0
- package/esm/util-Bl2u6LpY.js.map +1 -0
- package/esm/util.js +58 -14
- package/esm/util.js.map +1 -1
- package/esm/{version-wnf-TITV.js → version-BQAL8sQO.js} +2 -2
- package/esm/{version-wnf-TITV.js.map → version-BQAL8sQO.js.map} +1 -1
- package/esm/{version-BlsI7hX2.js → version-CA9Mdm3A.js} +16 -16
- package/esm/version-CA9Mdm3A.js.map +1 -0
- package/i18n/package.json +5 -0
- package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +1 -1
- package/models/app/pages/VersionInfo/components/VersionInfo.styled.d.ts +1 -2
- package/models/i18n/index.d.ts +5 -0
- package/models/i18n/redux/sagas.d.ts +19 -0
- package/models/i18n/redux/selectors.d.ts +11 -0
- package/models/i18n/redux/slice.d.ts +198 -0
- package/models/i18n/routes.d.ts +8 -0
- package/models/i18n/useI18n.hook.d.ts +20 -0
- package/models/index.d.ts +1 -0
- package/models/models/AppState.d.ts +2 -0
- package/models/models/ContentTypeMapping.d.ts +6 -1
- package/models/models/EntryMapper.d.ts +2 -1
- package/models/models/Locales.d.ts +11 -0
- package/models/models/MatchedRoute.d.ts +5 -1
- package/models/models/RouteComponent.d.ts +0 -1
- package/models/models/RouteNode.d.ts +4 -2
- package/models/models/SSRContext.d.ts +4 -4
- package/models/models/StaticRoute.d.ts +12 -1
- package/models/models/WithEvents.d.ts +8 -0
- package/models/models/config/AppConfig.d.ts +2 -0
- package/models/models/config/I18n.d.ts +38 -0
- package/models/models/config/ServerConfig.d.ts +14 -0
- package/models/redux/index.d.ts +2 -1
- package/models/redux/sagas/index.d.ts +3 -1
- package/models/redux/sagas/injector.d.ts +13 -0
- package/models/redux/store/injectors/index.d.ts +26 -0
- package/models/redux/store/injectors/inject.d.ts +24 -0
- package/models/redux/store/injectors/util.d.ts +2 -0
- package/models/redux/store/store.d.ts +13 -4
- package/models/redux/util.d.ts +1 -1
- package/models/routing/components/RouteLoader.d.ts +3 -3
- package/models/routing/httpContext.d.ts +0 -1
- package/models/routing/index.d.ts +1 -0
- package/models/routing/redux/actions.d.ts +1 -1
- package/models/routing/redux/invokeSearch.d.ts +22 -0
- package/models/routing/redux/selectors.d.ts +47 -4
- package/models/routing/util/expressions.d.ts +1 -1
- package/models/routing/util/find-contenttype-mapping.d.ts +3 -1
- package/models/search/containers/withListing.d.ts +1 -1
- package/models/search/containers/withSearch.d.ts +1 -1
- package/models/search/models/Queries.d.ts +3 -5
- package/models/search/models/Search.d.ts +43 -13
- package/models/search/models/SearchActions.d.ts +61 -18
- package/models/search/models/SearchProps.d.ts +11 -10
- package/models/search/models/SearchState.d.ts +23 -2
- package/models/search/models/SearchUtil.d.ts +3 -3
- package/models/search/redux/getIn.d.ts +2 -2
- package/models/search/redux/reducers.d.ts +3 -4
- package/models/search/redux/sagas.d.ts +13 -14
- package/models/search/redux/schema.d.ts +3 -3
- package/models/search/redux/selectors.d.ts +64 -42
- package/models/search/redux/util.d.ts +10 -1
- package/models/search/search/ContensisDeliveryApi.d.ts +6 -26
- package/models/search/search/expressions.d.ts +6 -4
- package/models/search/search/util.d.ts +9 -7
- package/models/search/transformations/state-to-queryparams.mapper.d.ts +1 -1
- package/models/server/features/linkdepth-api/search.d.ts +1 -1
- package/models/server/features/response-handler/render-stream.d.ts +2 -4
- package/models/server/features/static-assets/index.d.ts +4 -3
- package/models/server/internalServer.d.ts +1 -2
- package/models/server/middleware/subsiteDebug.d.ts +11 -0
- package/models/server/root.d.ts +3 -0
- package/models/server/util/bundles.d.ts +9 -9
- package/models/server/util/jsx.d.ts +2 -14
- package/models/user/components.styled/Login.styled.d.ts +1 -1
- package/models/user/components.styled/LoginForm.styled.d.ts +1 -1
- package/models/user/hocs/withRegistration.d.ts +1 -1
- package/models/util/CachedDeliveryApi.d.ts +8 -2
- package/models/util/ContensisDeliveryApi.d.ts +2 -4
- package/models/util/NoSSR.d.ts +6 -0
- package/models/util/SSRContext.d.ts +3 -19
- package/models/util/donotuse_useHistory.d.ts +6 -0
- package/models/util/errors.d.ts +16 -0
- package/models/util/index.d.ts +7 -2
- package/models/util/subsite.d.ts +12 -0
- package/models/util/urls.d.ts +1 -2
- package/models/util/useIsClient.d.ts +6 -0
- package/package.json +37 -39
- package/cjs/App-vZrUfVgQ.js.map +0 -1
- package/cjs/ChangePassword.container-ECjEXixF.js.map +0 -1
- package/cjs/CookieHelper.class-C3Eqoze9.js.map +0 -1
- package/cjs/RouteLoader-D5Yg7EB5.js.map +0 -1
- package/cjs/SSRContext-DVj_QAC1.js.map +0 -1
- package/cjs/ToJs-C9jwV7YB.js.map +0 -1
- package/cjs/VersionInfo-B_dKCubg.js.map +0 -1
- package/cjs/sagas-CbZhaRNd.js.map +0 -1
- package/cjs/selectors-wCs5fHD4.js.map +0 -1
- package/cjs/store-D07FOXvM.js.map +0 -1
- package/cjs/version-B7XFkBhY.js.map +0 -1
- package/esm/App-DLZweVSp.js.map +0 -1
- package/esm/ChangePassword.container-BgzIy8dA.js.map +0 -1
- package/esm/CookieHelper.class-FTURFpz3.js.map +0 -1
- package/esm/RouteLoader-xeQBXywk.js.map +0 -1
- package/esm/SSRContext-BE8ElZ3X.js.map +0 -1
- package/esm/ToJs-CNzfvyxJ.js.map +0 -1
- package/esm/VersionInfo-Cno7K0OA.js.map +0 -1
- package/esm/sagas-xJU-zOpn.js.map +0 -1
- package/esm/selectors-DO2ocdOp.js.map +0 -1
- package/esm/store-3u0RzHZ0.js.map +0 -1
- package/esm/version-BlsI7hX2.js.map +0 -1
- package/models/redux/store/injectors.d.ts +0 -31
- package/models/search/search/ToJs.d.ts +0 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors-BrxJ8-F8.js","sources":["../src/redux/util.ts","../src/routing/redux/types.ts","../src/routing/redux/actions.ts","../src/user/redux/types.ts","../src/user/redux/reducers.ts","../src/util/navigation.js","../src/routing/redux/selectors.ts"],"sourcesContent":["import { jpath } from '~/util/json-mapper';\n\nexport const action = (type: string, payload: any = {}) => ({\n type,\n ...payload,\n});\n\nexport const getJS = <S extends Record<string, unknown>, T extends keyof S>(\n state: S,\n stateKey: T\n) => {\n if (\n 'get' in state &&\n typeof state.get === 'function' &&\n 'toJS' in state &&\n typeof state.toJS === 'function'\n ) {\n return state.get(stateKey) as S[T];\n }\n return state[stateKey];\n};\n\nexport const getImmutableOrJS = <\n S extends Record<string, unknown>,\n T extends keyof S | any\n>(\n state: S,\n stateKey: T | T[],\n fallbackValue?: any,\n returnType: 'immutable' | 'js' = globalThis.STATE_TYPE\n) => {\n // Find a fromJS function from global that is dynamically loaded in createStore\n // or replace with a stub function for non-immutable gets\n const fromJS =\n returnType === 'immutable'\n ? globalThis.immutable?.fromJSOrdered || globalThis.immutable?.fromJS\n : v => v;\n\n if (\n state &&\n 'get' in state &&\n typeof state.get === 'function' &&\n 'getIn' in state &&\n typeof state.getIn === 'function' &&\n 'toJS' in state &&\n typeof state.toJS === 'function'\n ) {\n if (Array.isArray(stateKey))\n return fromJS(state.getIn(stateKey, fallbackValue));\n return fromJS(state.get(stateKey, fallbackValue)) as S[T | any];\n }\n\n if (Array.isArray(stateKey) && state && typeof state === 'object') {\n const result = jpath(stateKey.join('.'), state);\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n }\n\n const result =\n state && typeof state === 'object' ? state[stateKey as string] : undefined;\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n};\n","const ROUTING_PREFIX = '@ROUTING/';\nexport const GET_ENTRY = `${ROUTING_PREFIX}_GET_ENTRY`;\nexport const SET_ENTRY = `${ROUTING_PREFIX}_SET_ENTRY`;\nexport const SET_NODE = `${ROUTING_PREFIX}_SET_NODE`;\nexport const SET_ANCESTORS = `${ROUTING_PREFIX}_SET_ANCESTORS`;\nexport const SET_SIBLINGS = `${ROUTING_PREFIX}_SET_SIBLINGS`;\nexport const SET_ENTRY_ID = `${ROUTING_PREFIX}_SET_ENTRY_ID`;\nexport const SET_SURROGATE_KEYS = `${ROUTING_PREFIX}_SET_SURROGATE_KEYS`;\n\nexport const SET_NAVIGATION_PATH = `${ROUTING_PREFIX}_SET_NAVIGATION_PATH`;\n\nexport const SET_TARGET_PROJECT = `${ROUTING_PREFIX}_SET_TARGET_PROJECT`;\n\nexport const SET_ROUTE = `${ROUTING_PREFIX}_SET_ROUTE`;\n\nexport const UPDATE_LOADING_STATE = `${ROUTING_PREFIX}_UPDATE_LOADING_STATE`;\n","import { useLocation } from 'react-router-dom';\nimport { action } from '~/redux/util';\nimport {\n SET_ENTRY,\n SET_NAVIGATION_PATH,\n SET_TARGET_PROJECT,\n SET_ROUTE,\n SET_SURROGATE_KEYS,\n} from './types';\n\nimport { Entry } from 'contensis-delivery-api/lib/models';\nimport { AppRoutes, MatchedRoute, StaticRoute, SSRContext, WithEvents } from '~/models';\n\nexport const setNavigationPath = (\n path: string,\n contentPath: string,\n location: ReturnType<typeof useLocation>,\n staticRoute: MatchedRoute<string, StaticRoute> | undefined,\n withEvents: WithEvents,\n statePath: string,\n routes: AppRoutes,\n ssr: SSRContext\n) =>\n action(SET_NAVIGATION_PATH, {\n path,\n contentPath,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes,\n ssr,\n });\n\nexport const setCurrentProject = (\n project: string,\n allowedGroups: any,\n hostname: string\n) => action(SET_TARGET_PROJECT, { project, allowedGroups, hostname });\n\nexport const setRoute = (path: string, state?: any) =>\n action(SET_ROUTE, { path, state });\n\nexport const setRouteEntry = (entry: Entry) => action(SET_ENTRY, { entry });\n\nexport const setSurrogateKeys = (keys: string, url: string, status: number) =>\n action(SET_SURROGATE_KEYS, { keys, url, status });\n","const ACTION_PREFIX = '@USER/';\nexport const VALIDATE_USER = `${ACTION_PREFIX}VALIDATE_USER`;\nexport const SET_AUTHENTICATION_STATE = `${ACTION_PREFIX}SET_AUTHENTICATION_STATE`;\nexport const LOGIN_USER = `${ACTION_PREFIX}LOGIN_USER`;\nexport const LOGIN_SUCCESSFUL = `${ACTION_PREFIX}LOGIN_SUCCESSFUL`;\nexport const LOGIN_FAILED = `${ACTION_PREFIX}LOGIN_FAILED`;\nexport const LOGOUT_USER = `${ACTION_PREFIX}LOGOUT_USER`;\nexport const REGISTER_USER = `${ACTION_PREFIX}REGISTER_USER`;\nexport const REGISTER_USER_SUCCESS = `${ACTION_PREFIX}REGISTER_USER_SUCCESS`;\nexport const REGISTER_USER_FAILED = `${ACTION_PREFIX}REGISTER_USER_FAILED`;\n\nexport const REQUEST_USER_PASSWORD_RESET = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET`;\nexport const RESET_USER_PASSWORD = `${ACTION_PREFIX}RESET_USER_PASSWORD`;\nexport const REQUEST_USER_PASSWORD_RESET_SENDING = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET_SENDING`;\nexport const REQUEST_USER_PASSWORD_RESET_SUCCESS = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET_SUCCESS`;\nexport const REQUEST_USER_PASSWORD_RESET_ERROR = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET_ERROR`;\nexport const RESET_USER_PASSWORD_SENDING = `${ACTION_PREFIX}RESET_USER_PASSWORD_SENDING`;\nexport const RESET_USER_PASSWORD_SUCCESS = `${ACTION_PREFIX}RESET_USER_PASSWORD_SUCCESS`;\nexport const RESET_USER_PASSWORD_ERROR = `${ACTION_PREFIX}RESET_USER_PASSWORD_ERROR`;\n\nexport const CHANGE_USER_PASSWORD = `${ACTION_PREFIX}CHANGE_USER_PASSWORD`;\nexport const CHANGE_USER_PASSWORD_SENDING = `${ACTION_PREFIX}CHANGE_USER_PASSWORD_SENDING`;\nexport const CHANGE_USER_PASSWORD_SUCCESS = `${ACTION_PREFIX}CHANGE_USER_PASSWORD_SUCCESS`;\nexport const CHANGE_USER_PASSWORD_ERROR = `${ACTION_PREFIX}CHANGE_USER_PASSWORD_ERROR`;\n","import { Draft, produce } from 'immer';\nimport { AppState } from '~/models';\nimport {\n REGISTER_USER,\n REGISTER_USER_FAILED,\n REGISTER_USER_SUCCESS,\n SET_AUTHENTICATION_STATE,\n LOGIN_USER,\n LOGOUT_USER,\n REQUEST_USER_PASSWORD_RESET_SENDING,\n REQUEST_USER_PASSWORD_RESET_SUCCESS,\n REQUEST_USER_PASSWORD_RESET_ERROR,\n RESET_USER_PASSWORD_SENDING,\n RESET_USER_PASSWORD_SUCCESS,\n RESET_USER_PASSWORD_ERROR,\n CHANGE_USER_PASSWORD_SENDING,\n CHANGE_USER_PASSWORD_SUCCESS,\n CHANGE_USER_PASSWORD_ERROR,\n} from './types';\n\nconst defaultAuthenticationState = {\n clientCredentials: null,\n errorMessage: null,\n isAuthenticated: false,\n isAuthenticationError: false,\n isError: false,\n isLoading: false,\n};\n\nconst defaultPasswordResetRequestValues = {\n isSending: false,\n sent: false,\n error: null,\n};\n\nconst defaultResetPasswordValues = {\n isSending: false,\n sent: false,\n error: null,\n};\n\nconst defaultChangePasswordValues = {\n isSending: false,\n sent: false,\n error: null,\n};\n\nconst defaultRegistrationValues = {\n isLoading: false,\n success: false,\n error: null,\n};\n\nexport const initialUserState = {\n authenticationState: defaultAuthenticationState,\n passwordResetRequest: defaultPasswordResetRequestValues,\n resetPassword: defaultResetPasswordValues,\n changePassword: defaultChangePasswordValues,\n groups: [],\n};\n\nexport default produce((state: Draft<AppState['user']>, action) => {\n switch (action.type) {\n case LOGOUT_USER: {\n return initialUserState;\n }\n case LOGIN_USER:\n case SET_AUTHENTICATION_STATE: {\n if (!action.authenticationState) {\n action.authenticationState = defaultAuthenticationState;\n }\n\n const {\n authenticationState: {\n clientCredentials = null,\n errorMessage = null,\n isAuthenticated,\n isAuthenticationError = false,\n isError = false,\n isLoading = action.type === LOGIN_USER,\n },\n user,\n } = action;\n\n if (user) {\n user.name =\n `${user.firstName}${user.lastName ? ` ${user.lastName}` : ''}` ||\n null;\n user.isZengentiStaff = user.email.includes('@zengenti.com');\n }\n\n state = {\n ...initialUserState,\n ...(user || state),\n authenticationState: {\n clientCredentials,\n errorMessage,\n isAuthenticated:\n isAuthenticated || state?.authenticationState?.isAuthenticated,\n isAuthenticationError,\n isError,\n isLoading,\n },\n };\n return state;\n }\n // REGISTER_USER is the trigger to set the user.registration initial state\n // and will set user.registration.isLoading to true\n // REGISTER_USER_FAILED will unset user.registration.isLoading and will set\n // the value in user.registration.error\n // REGISTER_USER_SUCCESS will unset user.registration.isLoading and will\n // set user.registration to the created user from the api response\n case REGISTER_USER:\n case REGISTER_USER_FAILED:\n case REGISTER_USER_SUCCESS: {\n const { error, user } = action;\n\n // Set registration object from the supplied action.user\n // so we can call these values back later\n state.registration = (user ||\n state.registration ||\n defaultRegistrationValues) as typeof defaultRegistrationValues;\n\n // Set registration flags so the UI can track the status\n state.registration.success = action.type === REGISTER_USER_SUCCESS;\n state.registration.error = error || false;\n state.registration.isLoading = action.type === REGISTER_USER;\n return;\n }\n case REQUEST_USER_PASSWORD_RESET_SENDING:\n if (state.passwordResetRequest) {\n state.passwordResetRequest = { ...defaultPasswordResetRequestValues };\n state.passwordResetRequest.isSending = true;\n }\n return;\n case REQUEST_USER_PASSWORD_RESET_SUCCESS:\n if (state.passwordResetRequest) {\n state.passwordResetRequest.isSending = false;\n state.passwordResetRequest.sent = true;\n }\n return;\n case REQUEST_USER_PASSWORD_RESET_ERROR:\n if (state.passwordResetRequest) {\n state.passwordResetRequest.isSending = false;\n state.passwordResetRequest.error = action.error;\n }\n return;\n case RESET_USER_PASSWORD_SENDING:\n if (state.resetPassword) {\n state.resetPassword.isSending = true;\n }\n return;\n case RESET_USER_PASSWORD_SUCCESS:\n if (state.resetPassword) {\n state.resetPassword.isSending = false;\n state.resetPassword.sent = true;\n }\n return;\n case RESET_USER_PASSWORD_ERROR:\n if (state.resetPassword) {\n state.resetPassword.isSending = false;\n state.resetPassword.error = action.error;\n }\n return;\n case CHANGE_USER_PASSWORD_SENDING:\n if (state.changePassword) {\n state.changePassword.isSending = true;\n }\n return;\n case CHANGE_USER_PASSWORD_SUCCESS:\n if (state.changePassword) {\n state.changePassword.isSending = false;\n state.changePassword.sent = true;\n }\n return;\n case CHANGE_USER_PASSWORD_ERROR:\n if (state.changePassword) {\n state.changePassword.isSending = false;\n state.changePassword.error = action.error;\n }\n return;\n default:\n return;\n }\n}, initialUserState);\n","import queryString from 'query-string';\n\nexport function queryParams(search) {\n return queryString.parse(\n typeof window != 'undefined' ? window.location.search : search\n );\n}\nexport const routeParams = staticRoute =>\n staticRoute && staticRoute.match ? staticRoute.match.params : {};\n\nexport const buildUrl = (route, params) => {\n const qs = queryString.stringify(params);\n const path = qs ? `${route}?${qs}` : route;\n return path;\n};\n\nexport const clientHostname = () =>\n `${window.location.protocol}//${window.location.hostname}:${window.location.port}`;\n","import { Entry } from 'contensis-delivery-api';\nimport { createSelector } from 'reselect';\nimport { AppState, MatchedRoute, StateType, StaticRoute } from '~/models';\nimport { getImmutableOrJS as getIn } from '~/redux/util';\nimport { queryParams } from '~/util/navigation';\n\nexport const selectRouteEntry = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'entry'], {} as Entry, returnType);\n\nexport const selectMappedEntry = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'mappedEntry'], null, returnType);\n\nexport const selectSurrogateKeys = (state: AppState) => {\n const keys = getIn(state, ['routing', 'surrogateKeys'], [], 'js');\n return keys;\n};\nexport const selectSsrApiCalls = (state: AppState) => {\n return getIn(state, ['routing', 'apiCalls'], [], 'js');\n};\nexport const selectCurrentHostname = (state: AppState) =>\n getIn(state, ['routing', 'currentHostname']);\n\nexport const selectSsrHostname = (state: AppState) =>\n getIn(state, ['routing', 'ssrHostname']);\n\nexport const selectCurrentTreeID = (state: AppState) =>\n getIn(state, ['routing', 'currentHostname']);\n\nexport const selectRouteEntryEntryId = (state: AppState) =>\n getIn(state, ['routing', 'entry', 'sys', 'id'], null);\n\nexport const selectRouteEntryContentTypeId = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'contentTypeId'], null);\n};\n\nexport const selectRouteEntryLanguage = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'language'], null);\n};\n\nexport const selectRouteEntryAvailableLanguages = (\n state: AppState\n): string[] => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'availableLanguages'], []);\n};\n\nexport const selectRouteEntrySlug = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'slug'], null);\n};\n\nexport const selectRouteEntryID = (state: AppState) =>\n getIn(state, ['routing', 'entryID']);\n\nexport const selectCanonicalPath = (state: AppState) => {\n return getIn(state, ['routing', 'canonicalPath']);\n};\n\nexport const selectCurrentPath = (state: AppState) =>\n getIn(state, ['routing', 'currentPath']);\n\nexport const selectCurrentLocation = (state: AppState) =>\n getIn(state, ['routing', 'location']);\nexport const selectCurrentSearch = (state: AppState) =>\n getIn(state, ['routing', 'location', 'search']);\nexport const selectCurrentHash = (state: AppState) =>\n getIn(state, ['routing', 'location', 'hash']);\n\n// export const selectQueryStringAsObject = (state: AppState) =>\n// queryParams(selectCurrentSearch(state));\n\nexport const selectQueryStringAsObject = createSelector(\n [selectCurrentSearch],\n currentSearch => queryParams(currentSearch)\n);\n\nexport const selectCurrentProject = (state: AppState) =>\n getIn(state, ['routing', 'currentProject']);\nexport const selectIsNotFound = (state: AppState) =>\n getIn(state, ['routing', 'notFound']);\nexport const selectCurrentAncestors = (state: AppState) =>\n getIn(state, ['routing', 'currentNodeAncestors'], []);\nexport const selectCurrentSiblings = (state: AppState) =>\n getIn(state, ['routing', 'currentNodeSiblings'], []);\nexport const selectCurrentNode = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'currentNode'], null, returnType);\nexport const selectCurrentNodeLanguage = (state: AppState) =>\n getIn(state, ['routing', 'currentNode', 'language'], null);\nexport const selectCurrentChildren = state =>\n getIn(state, ['routing', 'currentNode', 'children'], []);\n\n// export const selectBreadcrumb = (state: AppState) => {\n// return [...selectCurrentAncestors(state), selectCurrentNode(state)];\n// };\n\nexport const selectBreadcrumb = createSelector(\n [selectCurrentAncestors, selectCurrentNode],\n (currentAncestors, currentNode) => [...currentAncestors, currentNode]\n);\n\nexport const selectRouteErrorMessage = (state: AppState) => {\n const error = getIn(state, ['routing', 'error']);\n return getIn(error, ['data', 'message'], getIn(error, 'statusText'));\n};\nexport const selectRouteIsError = (state: AppState) =>\n getIn(state, ['routing', 'isError']);\nexport const selectRouteLoading = (state: AppState) =>\n getIn(state, ['routing', 'isLoading']);\nexport const selectRouteStatusCode = (state: AppState) =>\n getIn(state, ['routing', 'statusCode']);\nexport const selectStaticRoute = (\n state: AppState\n): MatchedRoute<string, StaticRoute> =>\n getIn(state, ['routing', 'staticRoute']);\n"],"names":["action","type","payload","getJS","state","stateKey","get","toJS","getImmutableOrJS","fallbackValue","returnType","globalThis","STATE_TYPE","_globalThis$immutable","_globalThis$immutable2","fromJS","immutable","fromJSOrdered","v","getIn","Array","isArray","result","jpath","join","undefined","ROUTING_PREFIX","GET_ENTRY","SET_ENTRY","SET_NODE","SET_ANCESTORS","SET_SIBLINGS","SET_ENTRY_ID","SET_SURROGATE_KEYS","SET_NAVIGATION_PATH","SET_TARGET_PROJECT","SET_ROUTE","UPDATE_LOADING_STATE","setNavigationPath","path","contentPath","location","staticRoute","withEvents","statePath","routes","ssr","setCurrentProject","project","allowedGroups","hostname","setRoute","setRouteEntry","entry","setSurrogateKeys","keys","url","status","ACTION_PREFIX","VALIDATE_USER","SET_AUTHENTICATION_STATE","LOGIN_USER","LOGIN_SUCCESSFUL","LOGIN_FAILED","LOGOUT_USER","REGISTER_USER","REGISTER_USER_SUCCESS","REGISTER_USER_FAILED","REQUEST_USER_PASSWORD_RESET","RESET_USER_PASSWORD","REQUEST_USER_PASSWORD_RESET_SENDING","REQUEST_USER_PASSWORD_RESET_SUCCESS","REQUEST_USER_PASSWORD_RESET_ERROR","RESET_USER_PASSWORD_SENDING","RESET_USER_PASSWORD_SUCCESS","RESET_USER_PASSWORD_ERROR","CHANGE_USER_PASSWORD","CHANGE_USER_PASSWORD_SENDING","CHANGE_USER_PASSWORD_SUCCESS","CHANGE_USER_PASSWORD_ERROR","defaultAuthenticationState","clientCredentials","errorMessage","isAuthenticated","isAuthenticationError","isError","isLoading","defaultPasswordResetRequestValues","isSending","sent","error","defaultResetPasswordValues","defaultChangePasswordValues","defaultRegistrationValues","success","initialUserState","authenticationState","passwordResetRequest","resetPassword","changePassword","groups","produce","_state","user","name","firstName","lastName","isZengentiStaff","email","includes","registration","queryParams","search","queryString","parse","window","selectRouteEntry","selectMappedEntry","selectSurrogateKeys","selectSsrApiCalls","selectCurrentHostname","selectSsrHostname","selectCurrentTreeID","selectRouteEntryEntryId","selectRouteEntryContentTypeId","selectRouteEntryLanguage","selectRouteEntryAvailableLanguages","selectRouteEntrySlug","selectRouteEntryID","selectCanonicalPath","selectCurrentPath","selectCurrentLocation","selectCurrentSearch","selectCurrentHash","selectQueryStringAsObject","createSelector","currentSearch","selectCurrentProject","selectIsNotFound","selectCurrentAncestors","selectCurrentSiblings","selectCurrentNode","selectCurrentNodeLanguage","selectCurrentChildren","selectBreadcrumb","currentAncestors","currentNode","selectRouteErrorMessage","selectRouteIsError","selectRouteLoading","selectRouteStatusCode","selectStaticRoute"],"mappings":";;;;;;;;;;;AAEO,MAAMA,MAAM,GAAGA,CAACC,IAAY,EAAEC,OAAY,GAAG,EAAE,MAAM;EAC1DD,IAAI;EACJ,GAAGC;AACL,CAAC;MAEYC,KAAK,GAAGA,CACnBC,KAAQ,EACRC,QAAW,KACR;EACH,IACE,KAAK,IAAID,KAAK,IACd,OAAOA,KAAK,CAACE,GAAG,KAAK,UAAU,IAC/B,MAAM,IAAIF,KAAK,IACf,OAAOA,KAAK,CAACG,IAAI,KAAK,UAAU,EAChC;AACA,IAAA,OAAOH,KAAK,CAACE,GAAG,CAACD,QAAQ,CAAC;AAC5B,EAAA;EACA,OAAOD,KAAK,CAACC,QAAQ,CAAC;AACxB;AAEO,MAAMG,gBAAgB,GAAGA,CAI9BJ,KAAQ,EACRC,QAAiB,EACjBI,aAAmB,EACnBC,UAA8B,GAAGC,UAAU,CAACC,UAAU,KACnD;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;AACH;AACA;AACA,EAAA,MAAMC,MAAM,GACVL,UAAU,KAAK,WAAW,GACtB,CAAA,CAAAG,qBAAA,GAAAF,UAAU,CAACK,SAAS,MAAA,IAAA,IAAAH,qBAAA,KAAA,MAAA,GAAA,MAAA,GAApBA,qBAAA,CAAsBI,aAAa,MAAA,CAAAH,sBAAA,GAAIH,UAAU,CAACK,SAAS,MAAA,IAAA,IAAAF,sBAAA,KAAA,MAAA,GAAA,MAAA,GAApBA,sBAAA,CAAsBC,MAAM,CAAA,GACnEG,CAAC,IAAIA,CAAC;AAEZ,EAAA,IACEd,KAAK,IACL,KAAK,IAAIA,KAAK,IACd,OAAOA,KAAK,CAACE,GAAG,KAAK,UAAU,IAC/B,OAAO,IAAIF,KAAK,IAChB,OAAOA,KAAK,CAACe,KAAK,KAAK,UAAU,IACjC,MAAM,IAAIf,KAAK,IACf,OAAOA,KAAK,CAACG,IAAI,KAAK,UAAU,EAChC;AACA,IAAA,IAAIa,KAAK,CAACC,OAAO,CAAChB,QAAQ,CAAC,EACzB,OAAOU,MAAM,CAACX,KAAK,CAACe,KAAK,CAACd,QAAQ,EAAEI,aAAa,CAAC,CAAC;IACrD,OAAOM,MAAM,CAACX,KAAK,CAACE,GAAG,CAACD,QAAQ,EAAEI,aAAa,CAAC,CAAC;AACnD,EAAA;AAEA,EAAA,IAAIW,KAAK,CAACC,OAAO,CAAChB,QAAQ,CAAC,IAAID,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AACjE,IAAA,MAAMkB,MAAM,GAAGC,aAAK,CAAClB,QAAQ,CAACmB,IAAI,CAAC,GAAG,CAAC,EAAEpB,KAAK,CAAC;AAC/C,IAAA,IAAI,OAAOkB,MAAM,KAAK,WAAW,EAAE,OAAOb,aAAa;AACvD,IAAA,OAAOa,MAAM;AACf,EAAA;AAEA,EAAA,MAAMA,MAAM,GACVlB,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACC,QAAQ,CAAW,GAAGoB,SAAS;AAC5E,EAAA,IAAI,OAAOH,MAAM,KAAK,WAAW,EAAE,OAAOb,aAAa;AACvD,EAAA,OAAOa,MAAM;AACf;;AC9DA,MAAMI,cAAc,GAAG,WAAW;AAC3B,MAAMC,SAAS,GAAG,CAAA,EAAGD,cAAc,CAAA,UAAA,CAAY;AAC/C,MAAME,SAAS,GAAG,CAAA,EAAGF,cAAc,CAAA,UAAA;AACnC,MAAMG,QAAQ,GAAG,CAAA,EAAGH,cAAc,CAAA,SAAA,CAAW;AAC7C,MAAMI,aAAa,GAAG,CAAA,EAAGJ,cAAc,CAAA,cAAA;AACvC,MAAMK,YAAY,GAAG,CAAA,EAAGL,cAAc,CAAA,aAAA;AACtC,MAAMM,YAAY,GAAG,CAAA,EAAGN,cAAc,CAAA,aAAA,CAAe;AACrD,MAAMO,kBAAkB,GAAG,CAAA,EAAGP,cAAc,CAAA,mBAAA;AAE5C,MAAMQ,mBAAmB,GAAG,CAAA,EAAGR,cAAc,CAAA,oBAAA;AAE7C,MAAMS,kBAAkB,GAAG,CAAA,EAAGT,cAAc,CAAA,mBAAA;AAE5C,MAAMU,SAAS,GAAG,CAAA,EAAGV,cAAc,CAAA,UAAA;AAEnC,MAAMW,oBAAoB,GAAG,CAAA,EAAGX,cAAc,CAAA,qBAAA;;;;;;;;;;;;;;;;;ACF9C,MAAMY,iBAAiB,GAAGA,CAC/BC,IAAY,EACZC,WAAmB,EACnBC,QAAwC,EACxCC,WAA0D,EAC1DC,UAAsB,EACtBC,SAAiB,EACjBC,MAAiB,EACjBC,GAAe,KAEf9C,MAAM,CAACkC,mBAAmB,EAAE;EAC1BK,IAAI;EACJC,WAAW;EACXC,QAAQ;EACRC,WAAW;EACXC,UAAU;EACVC,SAAS;EACTC,MAAM;AACNC,EAAAA;AACF,CAAC;AAEI,MAAMC,iBAAiB,GAAGA,CAC/BC,OAAe,EACfC,aAAkB,EAClBC,QAAgB,KACblD,MAAM,CAACmC,kBAAkB,EAAE;EAAEa,OAAO;EAAEC,aAAa;AAAEC,EAAAA;AAAS,CAAC;AAE7D,MAAMC,QAAQ,GAAGA,CAACZ,IAAY,EAAEnC,KAAW,KAChDJ,MAAM,CAACoC,SAAS,EAAE;EAAEG,IAAI;AAAEnC,EAAAA;AAAM,CAAC;AAE5B,MAAMgD,aAAa,GAAIC,KAAY,IAAKrD,MAAM,CAAC4B,SAAS,EAAE;AAAEyB,EAAAA;AAAM,CAAC,CAAC;AAEpE,MAAMC,gBAAgB,GAAGA,CAACC,IAAY,EAAEC,GAAW,EAAEC,MAAc,KACxEzD,MAAM,CAACiC,kBAAkB,EAAE;EAAEsB,IAAI;EAAEC,GAAG;AAAEC,EAAAA;AAAO,CAAC;;;;;;;;;;;AC9ClD,MAAMC,aAAa,GAAG,QAAQ;AACvB,MAAMC,aAAa,GAAG,CAAA,EAAGD,aAAa,CAAA,aAAA;AACtC,MAAME,wBAAwB,GAAG,CAAA,EAAGF,aAAa,CAAA,wBAAA;AACjD,MAAMG,UAAU,GAAG,CAAA,EAAGH,aAAa,CAAA,UAAA;AACnC,MAAMI,gBAAgB,GAAG,CAAA,EAAGJ,aAAa,CAAA,gBAAA,CAAkB;AAC3D,MAAMK,YAAY,GAAG,CAAA,EAAGL,aAAa,CAAA,YAAA,CAAc;AACnD,MAAMM,WAAW,GAAG,CAAA,EAAGN,aAAa,CAAA,WAAA;AACpC,MAAMO,aAAa,GAAG,CAAA,EAAGP,aAAa,CAAA,aAAA;AACtC,MAAMQ,qBAAqB,GAAG,CAAA,EAAGR,aAAa,CAAA,qBAAA;AAC9C,MAAMS,oBAAoB,GAAG,CAAA,EAAGT,aAAa,CAAA,oBAAA;AAE7C,MAAMU,2BAA2B,GAAG,CAAA,EAAGV,aAAa,CAAA,2BAAA;AACpD,MAAMW,mBAAmB,GAAG,CAAA,EAAGX,aAAa,CAAA,mBAAA;AAC5C,MAAMY,mCAAmC,GAAG,CAAA,EAAGZ,aAAa,CAAA,mCAAA;AAC5D,MAAMa,mCAAmC,GAAG,CAAA,EAAGb,aAAa,CAAA,mCAAA;AAC5D,MAAMc,iCAAiC,GAAG,CAAA,EAAGd,aAAa,CAAA,iCAAA;AAC1D,MAAMe,2BAA2B,GAAG,CAAA,EAAGf,aAAa,CAAA,2BAAA;AACpD,MAAMgB,2BAA2B,GAAG,CAAA,EAAGhB,aAAa,CAAA,2BAAA;AACpD,MAAMiB,yBAAyB,GAAG,CAAA,EAAGjB,aAAa,CAAA,yBAAA;AAElD,MAAMkB,oBAAoB,GAAG,CAAA,EAAGlB,aAAa,CAAA,oBAAA;AAC7C,MAAMmB,4BAA4B,GAAG,CAAA,EAAGnB,aAAa,CAAA,4BAAA;AACrD,MAAMoB,4BAA4B,GAAG,CAAA,EAAGpB,aAAa,CAAA,4BAAA;AACrD,MAAMqB,0BAA0B,GAAG,CAAA,EAAGrB,aAAa,CAAA,0BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACH1D,MAAMsB,0BAA0B,GAAG;AACjCC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,YAAY,EAAE,IAAI;AAClBC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,qBAAqB,EAAE,KAAK;AAC5BC,EAAAA,OAAO,EAAE,KAAK;AACdC,EAAAA,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,iCAAiC,GAAG;AACxCC,EAAAA,SAAS,EAAE,KAAK;AAChBC,EAAAA,IAAI,EAAE,KAAK;AACXC,EAAAA,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,0BAA0B,GAAG;AACjCH,EAAAA,SAAS,EAAE,KAAK;AAChBC,EAAAA,IAAI,EAAE,KAAK;AACXC,EAAAA,KAAK,EAAE;AACT,CAAC;AAED,MAAME,2BAA2B,GAAG;AAClCJ,EAAAA,SAAS,EAAE,KAAK;AAChBC,EAAAA,IAAI,EAAE,KAAK;AACXC,EAAAA,KAAK,EAAE;AACT,CAAC;AAED,MAAMG,yBAAyB,GAAG;AAChCP,EAAAA,SAAS,EAAE,KAAK;AAChBQ,EAAAA,OAAO,EAAE,KAAK;AACdJ,EAAAA,KAAK,EAAE;AACT,CAAC;AAEM,MAAMK,gBAAgB,GAAG;AAC9BC,EAAAA,mBAAmB,EAAEhB,0BAA0B;AAC/CiB,EAAAA,oBAAoB,EAAEV,iCAAiC;AACvDW,EAAAA,aAAa,EAAEP,0BAA0B;AACzCQ,EAAAA,cAAc,EAAEP,2BAA2B;AAC3CQ,EAAAA,MAAM,EAAE;AACV;AAEA,kBAAeC,aAAO,CAAC,CAACjG,KAA8B,EAAEJ,MAAM,KAAK;EACjE,QAAQA,MAAM,CAACC,IAAI;AACjB,IAAA,KAAK+D,WAAW;AAAE,MAAA;AAChB,QAAA,OAAO+B,gBAAgB;AACzB,MAAA;AACA,IAAA,KAAKlC,UAAU;AACf,IAAA,KAAKD,wBAAwB;AAAE,MAAA;AAAA,QAAA,IAAA0C,MAAA;AAC7B,QAAA,IAAI,CAACtG,MAAM,CAACgG,mBAAmB,EAAE;UAC/BhG,MAAM,CAACgG,mBAAmB,GAAGhB,0BAA0B;AACzD,QAAA;QAEA,MAAM;AACJgB,UAAAA,mBAAmB,EAAE;AACnBf,YAAAA,iBAAiB,GAAG,IAAI;AACxBC,YAAAA,YAAY,GAAG,IAAI;YACnBC,eAAe;AACfC,YAAAA,qBAAqB,GAAG,KAAK;AAC7BC,YAAAA,OAAO,GAAG,KAAK;AACfC,YAAAA,SAAS,GAAGtF,MAAM,CAACC,IAAI,KAAK4D;WAC7B;AACD0C,UAAAA;AACF,SAAC,GAAGvG,MAAM;AAEV,QAAA,IAAIuG,IAAI,EAAE;UACRA,IAAI,CAACC,IAAI,GACP,CAAA,EAAGD,IAAI,CAACE,SAAS,GAAGF,IAAI,CAACG,QAAQ,GAAG,CAAA,CAAA,EAAIH,IAAI,CAACG,QAAQ,EAAE,GAAG,EAAE,CAAA,CAAE,IAC9D,IAAI;UACNH,IAAI,CAACI,eAAe,GAAGJ,IAAI,CAACK,KAAK,CAACC,QAAQ,CAAC,eAAe,CAAC;AAC7D,QAAA;AAEAzG,QAAAA,KAAK,GAAG;AACN,UAAA,GAAG2F,gBAAgB;UACnB,IAAIQ,IAAI,IAAInG,KAAK,CAAC;AAClB4F,UAAAA,mBAAmB,EAAE;YACnBf,iBAAiB;YACjBC,YAAY;AACZC,YAAAA,eAAe,EACbA,eAAe,KAAA,CAAAmB,MAAA,GAAIlG,KAAK,cAAAkG,MAAA,KAAA,MAAA,IAAA,CAAAA,MAAA,GAALA,MAAA,CAAON,mBAAmB,MAAA,IAAA,IAAAM,MAAA,KAAA,MAAA,GAAA,MAAA,GAA1BA,MAAA,CAA4BnB,eAAe,CAAA;YAChEC,qBAAqB;YACrBC,OAAO;AACPC,YAAAA;AACF;SACD;AACD,QAAA,OAAOlF,KAAK;AACd,MAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,KAAK6D,aAAa;AAClB,IAAA,KAAKE,oBAAoB;AACzB,IAAA,KAAKD,qBAAqB;AAAE,MAAA;QAC1B,MAAM;UAAEwB,KAAK;AAAEa,UAAAA;AAAK,SAAC,GAAGvG,MAAM;;AAE9B;AACA;QACAI,KAAK,CAAC0G,YAAY,GAAIP,IAAI,IACxBnG,KAAK,CAAC0G,YAAY,IAClBjB,yBAA8D;;AAEhE;QACAzF,KAAK,CAAC0G,YAAY,CAAChB,OAAO,GAAG9F,MAAM,CAACC,IAAI,KAAKiE,qBAAqB;AAClE9D,QAAAA,KAAK,CAAC0G,YAAY,CAACpB,KAAK,GAAGA,KAAK,IAAI,KAAK;QACzCtF,KAAK,CAAC0G,YAAY,CAACxB,SAAS,GAAGtF,MAAM,CAACC,IAAI,KAAKgE,aAAa;AAC5D,QAAA;AACF,MAAA;AACA,IAAA,KAAKK,mCAAmC;MACtC,IAAIlE,KAAK,CAAC6F,oBAAoB,EAAE;QAC9B7F,KAAK,CAAC6F,oBAAoB,GAAG;UAAE,GAAGV;SAAmC;AACrEnF,QAAAA,KAAK,CAAC6F,oBAAoB,CAACT,SAAS,GAAG,IAAI;AAC7C,MAAA;AACA,MAAA;AACF,IAAA,KAAKjB,mCAAmC;MACtC,IAAInE,KAAK,CAAC6F,oBAAoB,EAAE;AAC9B7F,QAAAA,KAAK,CAAC6F,oBAAoB,CAACT,SAAS,GAAG,KAAK;AAC5CpF,QAAAA,KAAK,CAAC6F,oBAAoB,CAACR,IAAI,GAAG,IAAI;AACxC,MAAA;AACA,MAAA;AACF,IAAA,KAAKjB,iCAAiC;MACpC,IAAIpE,KAAK,CAAC6F,oBAAoB,EAAE;AAC9B7F,QAAAA,KAAK,CAAC6F,oBAAoB,CAACT,SAAS,GAAG,KAAK;AAC5CpF,QAAAA,KAAK,CAAC6F,oBAAoB,CAACP,KAAK,GAAG1F,MAAM,CAAC0F,KAAK;AACjD,MAAA;AACA,MAAA;AACF,IAAA,KAAKjB,2BAA2B;MAC9B,IAAIrE,KAAK,CAAC8F,aAAa,EAAE;AACvB9F,QAAAA,KAAK,CAAC8F,aAAa,CAACV,SAAS,GAAG,IAAI;AACtC,MAAA;AACA,MAAA;AACF,IAAA,KAAKd,2BAA2B;MAC9B,IAAItE,KAAK,CAAC8F,aAAa,EAAE;AACvB9F,QAAAA,KAAK,CAAC8F,aAAa,CAACV,SAAS,GAAG,KAAK;AACrCpF,QAAAA,KAAK,CAAC8F,aAAa,CAACT,IAAI,GAAG,IAAI;AACjC,MAAA;AACA,MAAA;AACF,IAAA,KAAKd,yBAAyB;MAC5B,IAAIvE,KAAK,CAAC8F,aAAa,EAAE;AACvB9F,QAAAA,KAAK,CAAC8F,aAAa,CAACV,SAAS,GAAG,KAAK;AACrCpF,QAAAA,KAAK,CAAC8F,aAAa,CAACR,KAAK,GAAG1F,MAAM,CAAC0F,KAAK;AAC1C,MAAA;AACA,MAAA;AACF,IAAA,KAAKb,4BAA4B;MAC/B,IAAIzE,KAAK,CAAC+F,cAAc,EAAE;AACxB/F,QAAAA,KAAK,CAAC+F,cAAc,CAACX,SAAS,GAAG,IAAI;AACvC,MAAA;AACA,MAAA;AACF,IAAA,KAAKV,4BAA4B;MAC/B,IAAI1E,KAAK,CAAC+F,cAAc,EAAE;AACxB/F,QAAAA,KAAK,CAAC+F,cAAc,CAACX,SAAS,GAAG,KAAK;AACtCpF,QAAAA,KAAK,CAAC+F,cAAc,CAACV,IAAI,GAAG,IAAI;AAClC,MAAA;AACA,MAAA;AACF,IAAA,KAAKV,0BAA0B;MAC7B,IAAI3E,KAAK,CAAC+F,cAAc,EAAE;AACxB/F,QAAAA,KAAK,CAAC+F,cAAc,CAACX,SAAS,GAAG,KAAK;AACtCpF,QAAAA,KAAK,CAAC+F,cAAc,CAACT,KAAK,GAAG1F,MAAM,CAAC0F,KAAK;AAC3C,MAAA;AACA,MAAA;AACF,IAAA;AACE,MAAA;AACJ;AACF,CAAC,EAAEK,gBAAgB,CAAC;;ACtLb,SAASgB,WAAWA,CAACC,MAAM,EAAE;AAClC,EAAA,OAAOC,4BAAW,CAACC,KAAK,CACtB,OAAOC,MAAM,IAAI,WAAW,GAAGA,MAAM,CAAC1E,QAAQ,CAACuE,MAAM,GAAGA,MAC1D,CAAC;AACH;;ACAO,MAAMI,gBAAgB,GAAGA,CAAChH,KAAe,EAAEM,UAAsB,KACtES,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAWM,UAAU;AAErD,MAAM2G,iBAAiB,GAAGA,CAACjH,KAAe,EAAEM,UAAsB,KACvES,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,EAAEM,UAAU;AAEpD,MAAM4G,mBAAmB,GAAIlH,KAAe,IAAK;AACtD,EAAA,MAAMmD,IAAI,GAAGpC,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;AACjE,EAAA,OAAOmD,IAAI;AACb;AACO,MAAMgE,iBAAiB,GAAInH,KAAe,IAAK;AACpD,EAAA,OAAOe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;AACxD;AACO,MAAMoH,qBAAqB,GAAIpH,KAAe,IACnDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAEvC,MAAMqH,iBAAiB,GAAIrH,KAAe,IAC/Ce,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAEnC,MAAMsH,mBAAmB,GAAItH,KAAe,IACjDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAEvC,MAAMuH,uBAAuB,GAAIvH,KAAe,IACrDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI;AAE/C,MAAMwH,6BAA6B,GAAIxH,KAAe,IAAK;AAChE,EAAA,MAAMiD,KAAK,GAAG+D,gBAAgB,CAAChH,KAAK,CAAC;EACrC,OAAOe,gBAAK,CAACkC,KAAK,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC;AACrD;AAEO,MAAMwE,wBAAwB,GAAIzH,KAAe,IAAK;AAC3D,EAAA,MAAMiD,KAAK,GAAG+D,gBAAgB,CAAChH,KAAK,CAAC;EACrC,OAAOe,gBAAK,CAACkC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC;AAChD;AAEO,MAAMyE,kCAAkC,GAC7C1H,KAAe,IACF;AACb,EAAA,MAAMiD,KAAK,GAAG+D,gBAAgB,CAAChH,KAAK,CAAC;EACrC,OAAOe,gBAAK,CAACkC,KAAK,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE,EAAE,CAAC;AACxD;AAEO,MAAM0E,oBAAoB,GAAI3H,KAAe,IAAK;AACvD,EAAA,MAAMiD,KAAK,GAAG+D,gBAAgB,CAAChH,KAAK,CAAC;EACrC,OAAOe,gBAAK,CAACkC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;AAC5C,CAAC;AAEM,MAAM2E,kBAAkB,GAAI5H,KAAe,IAChDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AAE9B,MAAM6H,mBAAmB,GAAI7H,KAAe,IAAK;EACtD,OAAOe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AACnD,CAAC;AAEM,MAAM8H,iBAAiB,GAAI9H,KAAe,IAC/Ce,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;AAElC,MAAM+H,qBAAqB,GAAI/H,KAAe,IACnDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;MAC1BgI,mBAAmB,GAAIhI,KAAe,IACjDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC;AACzC,MAAMiI,iBAAiB,GAAIjI,KAAe,IAC/Ce,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;;AAE/C;AACA;;AAEO,MAAMkI,yBAAyB,GAAGC,uBAAc,CACrD,CAACH,mBAAmB,CAAC,EACrBI,aAAa,IAAIzB,WAAW,CAACyB,aAAa,CAC5C,CAAC;AAEM,MAAMC,oBAAoB,GAAIrI,KAAe,IAClDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;AACrC,MAAMsI,gBAAgB,GAAItI,KAAe,IAC9Ce,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;MACzBuI,sBAAsB,GAAIvI,KAAe,IACpDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE,EAAE;MACzCwI,qBAAqB,GAAIxI,KAAe,IACnDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,EAAE;AAC9C,MAAMyI,iBAAiB,GAAGA,CAACzI,KAAe,EAAEM,UAAsB,KACvES,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,EAAEM,UAAU;AACpD,MAAMoI,yBAAyB,GAAI1I,KAAe,IACvDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC;AACrD,MAAM2I,qBAAqB,GAAG3I,KAAK,IACxCe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;;AAE1D;AACA;AACA;;AAEO,MAAM4I,gBAAgB,GAAGT,uBAAc,CAC5C,CAACI,sBAAsB,EAAEE,iBAAiB,CAAC,EAC3C,CAACI,gBAAgB,EAAEC,WAAW,KAAK,CAAC,GAAGD,gBAAgB,EAAEC,WAAW,CACtE,CAAC;AAEM,MAAMC,uBAAuB,GAAI/I,KAAe,IAAK;EAC1D,MAAMsF,KAAK,GAAGvE,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAChD,EAAA,OAAOe,gBAAK,CAACuE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAEvE,gBAAK,CAACuE,KAAK,EAAE,YAAY,CAAC,CAAC;AACtE;AACO,MAAM0D,kBAAkB,GAAIhJ,KAAe,IAChDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AAC9B,MAAMiJ,kBAAkB,GAAIjJ,KAAe,IAChDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;AAChC,MAAMkJ,qBAAqB,GAAIlJ,KAAe,IACnDe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;AACjC,MAAMmJ,iBAAiB,GAC5BnJ,KAAe,IAEfe,gBAAK,CAACf,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const selectLocales = state => state.i18n.locales;
|
|
4
|
+
const selectLocaleRoutes = state => state.i18n.routes;
|
|
5
|
+
const selectCurrentLanguage = state => state.i18n.currentLanguage;
|
|
6
|
+
const selectPrimaryLanguage = state => state.i18n.primaryLanguage;
|
|
7
|
+
const selectSupportedLanguages = state => state.i18n.supportedLanguages;
|
|
8
|
+
const selectDictionary = state => state.i18n.dictionary;
|
|
9
|
+
const selectDictionaryResolver = state => state.i18n.resolver;
|
|
10
|
+
|
|
11
|
+
exports.selectCurrentLanguage = selectCurrentLanguage;
|
|
12
|
+
exports.selectDictionary = selectDictionary;
|
|
13
|
+
exports.selectDictionaryResolver = selectDictionaryResolver;
|
|
14
|
+
exports.selectLocaleRoutes = selectLocaleRoutes;
|
|
15
|
+
exports.selectLocales = selectLocales;
|
|
16
|
+
exports.selectPrimaryLanguage = selectPrimaryLanguage;
|
|
17
|
+
exports.selectSupportedLanguages = selectSupportedLanguages;
|
|
18
|
+
//# sourceMappingURL=selectors-DAQR0uZa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors-DAQR0uZa.js","sources":["../src/i18n/redux/selectors.ts"],"sourcesContent":["import { AppState } from '~/models';\nimport { LocaleDictionary } from '~/models/Locales';\n\nexport const selectLocales = (state: AppState) => state.i18n.locales;\n\nexport const selectLocaleRoutes = (state: AppState) => state.i18n.routes;\n\nexport const selectCurrentLanguage = (state: AppState) =>\n state.i18n.currentLanguage;\n\nexport const selectPrimaryLanguage = (state: AppState) =>\n state.i18n.primaryLanguage;\n\nexport const selectSupportedLanguages = (state: AppState) =>\n state.i18n.supportedLanguages;\n\nexport const selectDictionary = <T extends LocaleDictionary = LocaleDictionary>(state: AppState) =>\n state.i18n.dictionary as T;\n\nexport const selectDictionaryResolver = (state: AppState) =>\n state.i18n.resolver;\n"],"names":["selectLocales","state","i18n","locales","selectLocaleRoutes","routes","selectCurrentLanguage","currentLanguage","selectPrimaryLanguage","primaryLanguage","selectSupportedLanguages","supportedLanguages","selectDictionary","dictionary","selectDictionaryResolver","resolver"],"mappings":";;AAGO,MAAMA,aAAa,GAAIC,KAAe,IAAKA,KAAK,CAACC,IAAI,CAACC;AAEtD,MAAMC,kBAAkB,GAAIH,KAAe,IAAKA,KAAK,CAACC,IAAI,CAACG;AAE3D,MAAMC,qBAAqB,GAAIL,KAAe,IACnDA,KAAK,CAACC,IAAI,CAACK;AAEN,MAAMC,qBAAqB,GAAIP,KAAe,IACnDA,KAAK,CAACC,IAAI,CAACO;AAEN,MAAMC,wBAAwB,GAAIT,KAAe,IACtDA,KAAK,CAACC,IAAI,CAACS;AAEN,MAAMC,gBAAgB,GAAmDX,KAAe,IAC7FA,KAAK,CAACC,IAAI,CAACW;AAEN,MAAMC,wBAAwB,GAAIb,KAAe,IACtDA,KAAK,CAACC,IAAI,CAACa;;;;;;;;;;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var toolkit = require('@reduxjs/toolkit');
|
|
4
|
+
|
|
5
|
+
const i18nSlice = toolkit.createSlice({
|
|
6
|
+
name: 'i18n',
|
|
7
|
+
initialState: {
|
|
8
|
+
currentLanguage: '',
|
|
9
|
+
dictionary: {},
|
|
10
|
+
locales: {},
|
|
11
|
+
routes: {},
|
|
12
|
+
primaryLanguage: '',
|
|
13
|
+
supportedLanguages: [],
|
|
14
|
+
resolver: undefined,
|
|
15
|
+
error: undefined
|
|
16
|
+
},
|
|
17
|
+
reducers: {
|
|
18
|
+
GET_ENTRY_URI_ERROR(draft, {
|
|
19
|
+
payload
|
|
20
|
+
}) {
|
|
21
|
+
draft.error = payload;
|
|
22
|
+
},
|
|
23
|
+
INIT_LOCALES(draft, {
|
|
24
|
+
payload
|
|
25
|
+
}) {
|
|
26
|
+
draft.locales = payload.locales;
|
|
27
|
+
draft.routes = payload.routes;
|
|
28
|
+
draft.primaryLanguage = payload.primaryLanguage;
|
|
29
|
+
draft.supportedLanguages = payload.supportedLanguages;
|
|
30
|
+
if (payload.resolver) draft.resolver = payload.resolver;
|
|
31
|
+
},
|
|
32
|
+
SET_LANGUAGE(draft, {
|
|
33
|
+
payload
|
|
34
|
+
}) {
|
|
35
|
+
draft.currentLanguage = payload.language;
|
|
36
|
+
if (payload.dictionary) draft.dictionary = payload.dictionary;
|
|
37
|
+
},
|
|
38
|
+
SET_LOCALES(draft, {
|
|
39
|
+
payload
|
|
40
|
+
}) {
|
|
41
|
+
// Sort locales object by keys alphabetically
|
|
42
|
+
const sortedLocales = Object.keys(payload.locales || {}).sort().reduce((sorted, key) => {
|
|
43
|
+
sorted[key] = payload.locales[key];
|
|
44
|
+
return sorted;
|
|
45
|
+
}, {});
|
|
46
|
+
draft.locales = sortedLocales;
|
|
47
|
+
draft.primaryLanguage = payload.primaryLanguage;
|
|
48
|
+
draft.supportedLanguages = [...(payload.supportedLanguages || [])].sort();
|
|
49
|
+
if (payload.resolver) draft.resolver = payload.resolver;
|
|
50
|
+
},
|
|
51
|
+
/** UPDATE_LANGUAGE action triggers updateLanguage saga and ends with SET_LANGUAGE */
|
|
52
|
+
UPDATE_LANGUAGE(_draft, _) {}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const {
|
|
56
|
+
actions,
|
|
57
|
+
reducer,
|
|
58
|
+
getInitialState
|
|
59
|
+
} = i18nSlice;
|
|
60
|
+
|
|
61
|
+
// Alias some nicer named exports for the actions
|
|
62
|
+
const updateLanguage = actions.UPDATE_LANGUAGE;
|
|
63
|
+
|
|
64
|
+
exports.actions = actions;
|
|
65
|
+
exports.getInitialState = getInitialState;
|
|
66
|
+
exports.i18nSlice = i18nSlice;
|
|
67
|
+
exports.reducer = reducer;
|
|
68
|
+
exports.updateLanguage = updateLanguage;
|
|
69
|
+
//# sourceMappingURL=slice-5xJMH24n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slice-5xJMH24n.js","sources":["../src/i18n/redux/slice.ts"],"sourcesContent":["import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { I18nAppConfig } from '~/models/config/I18n';\nimport { LocaleDictionary, LocaleRoutes, Locales } from '~/models/Locales';\n\nexport type UpdateLanguageActionPayload = {\n language: string;\n redirect?: boolean | string;\n fallbackPath?: string;\n};\n\nconst i18nSlice = createSlice({\n name: 'i18n',\n initialState: {\n currentLanguage: '',\n dictionary: {} as LocaleDictionary,\n locales: {} as { [language: string]: any },\n routes: {} as LocaleRoutes,\n primaryLanguage: '',\n supportedLanguages: [] as string[],\n resolver: undefined as\n | ((language: string) => Promise<LocaleDictionary> | LocaleDictionary)\n | undefined,\n error: undefined as Error | undefined,\n },\n reducers: {\n GET_ENTRY_URI_ERROR(draft, { payload }: PayloadAction<Error>) {\n draft.error = payload;\n },\n INIT_LOCALES(\n draft,\n {\n payload,\n }: PayloadAction<\n {\n locales: Locales;\n routes: LocaleRoutes;\n } & I18nAppConfig\n >\n ) {\n draft.locales = payload.locales;\n draft.routes = payload.routes;\n draft.primaryLanguage = payload.primaryLanguage;\n draft.supportedLanguages = payload.supportedLanguages;\n if (payload.resolver) draft.resolver = payload.resolver;\n },\n SET_LANGUAGE(\n draft,\n {\n payload,\n }: PayloadAction<{\n language: string;\n dictionary: LocaleDictionary;\n redirect?: string;\n }>\n ) {\n draft.currentLanguage = payload.language;\n if (payload.dictionary) draft.dictionary = payload.dictionary;\n },\n SET_LOCALES(\n draft,\n {\n payload,\n }: PayloadAction<\n {\n locales: Locales;\n } & I18nAppConfig\n >\n ) {\n // Sort locales object by keys alphabetically\n const sortedLocales = Object.keys(payload.locales || {})\n .sort()\n .reduce((sorted, key) => {\n sorted[key] = payload.locales[key];\n return sorted;\n }, {});\n\n draft.locales = sortedLocales;\n draft.primaryLanguage = payload.primaryLanguage;\n draft.supportedLanguages = [...(payload.supportedLanguages || [])].sort();\n if (payload.resolver) draft.resolver = payload.resolver;\n },\n /** UPDATE_LANGUAGE action triggers updateLanguage saga and ends with SET_LANGUAGE */\n UPDATE_LANGUAGE(_draft, _: PayloadAction<UpdateLanguageActionPayload>) {},\n },\n});\n\nexport const { actions, reducer, getInitialState } = i18nSlice;\n\n// Alias some nicer named exports for the actions\nexport const updateLanguage = actions.UPDATE_LANGUAGE;\n\nexport default i18nSlice;\n"],"names":["i18nSlice","createSlice","name","initialState","currentLanguage","dictionary","locales","routes","primaryLanguage","supportedLanguages","resolver","undefined","error","reducers","GET_ENTRY_URI_ERROR","draft","payload","INIT_LOCALES","SET_LANGUAGE","language","SET_LOCALES","sortedLocales","Object","keys","sort","reduce","sorted","key","UPDATE_LANGUAGE","_draft","_","actions","reducer","getInitialState","updateLanguage"],"mappings":";;;;AAUA,MAAMA,SAAS,GAAGC,mBAAW,CAAC;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,YAAY,EAAE;AACZC,IAAAA,eAAe,EAAE,EAAE;IACnBC,UAAU,EAAE,EAAsB;IAClCC,OAAO,EAAE,EAAiC;IAC1CC,MAAM,EAAE,EAAkB;AAC1BC,IAAAA,eAAe,EAAE,EAAE;AACnBC,IAAAA,kBAAkB,EAAE,EAAc;AAClCC,IAAAA,QAAQ,EAAEC,SAEG;AACbC,IAAAA,KAAK,EAAED;GACR;AACDE,EAAAA,QAAQ,EAAE;IACRC,mBAAmBA,CAACC,KAAK,EAAE;AAAEC,MAAAA;AAA8B,KAAC,EAAE;MAC5DD,KAAK,CAACH,KAAK,GAAGI,OAAO;IACvB,CAAC;IACDC,YAAYA,CACVF,KAAK,EACL;AACEC,MAAAA;AAMF,KAAC,EACD;AACAD,MAAAA,KAAK,CAACT,OAAO,GAAGU,OAAO,CAACV,OAAO;AAC/BS,MAAAA,KAAK,CAACR,MAAM,GAAGS,OAAO,CAACT,MAAM;AAC7BQ,MAAAA,KAAK,CAACP,eAAe,GAAGQ,OAAO,CAACR,eAAe;AAC/CO,MAAAA,KAAK,CAACN,kBAAkB,GAAGO,OAAO,CAACP,kBAAkB;MACrD,IAAIO,OAAO,CAACN,QAAQ,EAAEK,KAAK,CAACL,QAAQ,GAAGM,OAAO,CAACN,QAAQ;IACzD,CAAC;IACDQ,YAAYA,CACVH,KAAK,EACL;AACEC,MAAAA;AAKD,KAAC,EACF;AACAD,MAAAA,KAAK,CAACX,eAAe,GAAGY,OAAO,CAACG,QAAQ;MACxC,IAAIH,OAAO,CAACX,UAAU,EAAEU,KAAK,CAACV,UAAU,GAAGW,OAAO,CAACX,UAAU;IAC/D,CAAC;IACDe,WAAWA,CACTL,KAAK,EACL;AACEC,MAAAA;AAKF,KAAC,EACD;AACA;MACA,MAAMK,aAAa,GAAGC,MAAM,CAACC,IAAI,CAACP,OAAO,CAACV,OAAO,IAAI,EAAE,CAAC,CACrDkB,IAAI,EAAE,CACNC,MAAM,CAAC,CAACC,MAAM,EAAEC,GAAG,KAAK;QACvBD,MAAM,CAACC,GAAG,CAAC,GAAGX,OAAO,CAACV,OAAO,CAACqB,GAAG,CAAC;AAClC,QAAA,OAAOD,MAAM;MACf,CAAC,EAAE,EAAE,CAAC;MAERX,KAAK,CAACT,OAAO,GAAGe,aAAa;AAC7BN,MAAAA,KAAK,CAACP,eAAe,GAAGQ,OAAO,CAACR,eAAe;AAC/CO,MAAAA,KAAK,CAACN,kBAAkB,GAAG,CAAC,IAAIO,OAAO,CAACP,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAACe,IAAI,EAAE;MACzE,IAAIR,OAAO,CAACN,QAAQ,EAAEK,KAAK,CAACL,QAAQ,GAAGM,OAAO,CAACN,QAAQ;IACzD,CAAC;AACD;AACAkB,IAAAA,eAAeA,CAACC,MAAM,EAAEC,CAA6C,EAAE,CAAC;AAC1E;AACF,CAAC;AAEM,MAAM;EAAEC,OAAO;EAAEC,OAAO;AAAEC,EAAAA;AAAgB,CAAC,GAAGjC;;AAErD;AACO,MAAMkC,cAAc,GAAGH,OAAO,CAACH;;;;;;;;"}
|
|
@@ -4,8 +4,10 @@ var redux = require('redux');
|
|
|
4
4
|
var reduxThunk = require('redux-thunk');
|
|
5
5
|
var createSagaMiddleware = require('redux-saga');
|
|
6
6
|
var reduxInjectors19 = require('redux-injectors-19');
|
|
7
|
+
var slice = require('./slice-5xJMH24n.js');
|
|
7
8
|
var immer = require('immer');
|
|
8
|
-
var selectors = require('./selectors-
|
|
9
|
+
var selectors = require('./selectors-BrxJ8-F8.js');
|
|
10
|
+
var effects = require('@redux-saga/core/effects');
|
|
9
11
|
|
|
10
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
13
|
|
|
@@ -62,9 +64,11 @@ const initialState$1 = {
|
|
|
62
64
|
error: undefined,
|
|
63
65
|
isError: false,
|
|
64
66
|
isLoading: false,
|
|
67
|
+
isLivePreview: false,
|
|
65
68
|
location: {},
|
|
66
69
|
mappedEntry: null,
|
|
67
70
|
notFound: false,
|
|
71
|
+
ssrHostname: null,
|
|
68
72
|
staticRoute: null,
|
|
69
73
|
statusCode: 200,
|
|
70
74
|
surrogateKeys: [],
|
|
@@ -113,7 +117,11 @@ var RoutingReducer = immer.produce((state, action) => {
|
|
|
113
117
|
state.canonicalPath = entry.sys.uri || currentPath;
|
|
114
118
|
if (mappedEntry && Object.keys(mappedEntry).length > 0) {
|
|
115
119
|
state.mappedEntry = mappedEntry;
|
|
116
|
-
|
|
120
|
+
// Don't truncate the raw entry data when in live preview mode,
|
|
121
|
+
// as we want to be able to update it with new "patch" data coming
|
|
122
|
+
// passed in via the live preview iframe.
|
|
123
|
+
// In regular routes, the full entry data is not needed after mapping.
|
|
124
|
+
if (!state.isLivePreview) state.entry = {
|
|
117
125
|
sys: entry.sys
|
|
118
126
|
};
|
|
119
127
|
}
|
|
@@ -171,6 +179,12 @@ var RoutingReducer = immer.produce((state, action) => {
|
|
|
171
179
|
};
|
|
172
180
|
}
|
|
173
181
|
}
|
|
182
|
+
// The default value is false, but if we've activated live preview for this route,
|
|
183
|
+
// we want it to persist for the life of the session so we don't reset it back to
|
|
184
|
+
// false on subsequent CSR navigation.
|
|
185
|
+
if (action.location.search.includes('livePreview=true')) {
|
|
186
|
+
state.isLivePreview = true;
|
|
187
|
+
}
|
|
174
188
|
return;
|
|
175
189
|
}
|
|
176
190
|
case selectors.SET_ROUTE:
|
|
@@ -202,6 +216,7 @@ var RoutingReducer = immer.produce((state, action) => {
|
|
|
202
216
|
{
|
|
203
217
|
state.currentProject = action.project;
|
|
204
218
|
state.allowedGroups = action.allowedGroups;
|
|
219
|
+
state.ssrHostname = state.currentHostname || action.hostname;
|
|
205
220
|
state.currentHostname = action.hostname;
|
|
206
221
|
return;
|
|
207
222
|
}
|
|
@@ -243,6 +258,13 @@ var VersionReducer = immer.produce((state, action) => {
|
|
|
243
258
|
}
|
|
244
259
|
}, initialState);
|
|
245
260
|
|
|
261
|
+
const wrapSagasInGenerator = function (sagas) {
|
|
262
|
+
if (Array.isArray(sagas)) return function* rootSaga() {
|
|
263
|
+
yield effects.all(sagas);
|
|
264
|
+
};
|
|
265
|
+
return sagas;
|
|
266
|
+
};
|
|
267
|
+
|
|
246
268
|
/**
|
|
247
269
|
* This middleware captures 'CALL_HISTORY_METHOD' actions to redirect to the
|
|
248
270
|
* provided history object. This will prevent these actions from reaching your
|
|
@@ -262,6 +284,9 @@ const routerMiddleware = history => store => next => action => {
|
|
|
262
284
|
history[method](...args);
|
|
263
285
|
};
|
|
264
286
|
|
|
287
|
+
/** A no-op reducer to serve for server-rendered reducers
|
|
288
|
+
* that are re-injected client-side */
|
|
289
|
+
const stubReducer = (state = null) => state;
|
|
265
290
|
exports.reduxStore = void 0;
|
|
266
291
|
var createStore = async (featureReducers, initialState, history, stateType) => {
|
|
267
292
|
let reduxDevToolsMiddleware = f => f;
|
|
@@ -270,6 +295,7 @@ var createStore = async (featureReducers, initialState, history, stateType) => {
|
|
|
270
295
|
}
|
|
271
296
|
const sagaMiddleware = createSagaMiddleware__default.default();
|
|
272
297
|
const reducers = {
|
|
298
|
+
i18n: slice.i18nSlice.reducer,
|
|
273
299
|
navigation: NavigationReducer,
|
|
274
300
|
routing: RoutingReducer,
|
|
275
301
|
user: selectors.UserReducer,
|
|
@@ -297,13 +323,45 @@ var createStore = async (featureReducers, initialState, history, stateType) => {
|
|
|
297
323
|
};
|
|
298
324
|
const store = initialState => {
|
|
299
325
|
const runSaga = sagaMiddleware.run;
|
|
326
|
+
|
|
327
|
+
// Track the initial set of sagas here
|
|
328
|
+
const initialSagas = new Set();
|
|
329
|
+
|
|
330
|
+
// Patch the runSaga function to capture and track the sagas
|
|
331
|
+
// passed as a raw array of effects
|
|
332
|
+
const patchedRunSaga = sagas => {
|
|
333
|
+
// Only track the saga the first time it is run
|
|
334
|
+
if (Array.isArray(sagas)) {
|
|
335
|
+
for (const saga of sagas) if (!initialSagas.has(saga)) {
|
|
336
|
+
initialSagas.add(saga);
|
|
337
|
+
}
|
|
338
|
+
} else {
|
|
339
|
+
if (!initialSagas.has(sagas)) {
|
|
340
|
+
initialSagas.add(sagas);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
const rootSaga = wrapSagasInGenerator(sagas);
|
|
344
|
+
|
|
345
|
+
// Run the saga as usual
|
|
346
|
+
return runSaga(rootSaga);
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
// Assign stub reducers for any missing reducers that have been
|
|
350
|
+
// injected server-side and will be re-injected client-side
|
|
351
|
+
const injectReducers = {};
|
|
352
|
+
for (const key of Object.keys(initialState || {})) {
|
|
353
|
+
if (!(key in reducers)) injectReducers[key] = stubReducer;
|
|
354
|
+
}
|
|
300
355
|
const middleware = redux.compose(redux.applyMiddleware(reduxThunk.thunk, sagaMiddleware, routerMiddleware(history)), reduxInjectors19.createInjectorsEnhancer({
|
|
301
356
|
createReducer,
|
|
357
|
+
// Assign patched runSaga to store
|
|
302
358
|
runSaga
|
|
303
359
|
}), reduxDevToolsMiddleware);
|
|
304
|
-
const store = redux.createStore(createReducer(), initialState, middleware);
|
|
305
|
-
store.runSaga = runSaga
|
|
360
|
+
const store = redux.createStore(createReducer(injectReducers), initialState, middleware);
|
|
361
|
+
store.runSaga = patchedRunSaga; // Assign patched runSaga to the store
|
|
306
362
|
store.close = () => store.dispatch(createSagaMiddleware.END);
|
|
363
|
+
store.initialSagas = initialSagas; // Store the initial sagas set
|
|
364
|
+
|
|
307
365
|
return store;
|
|
308
366
|
};
|
|
309
367
|
exports.reduxStore = store(fromJS(initialState));
|
|
@@ -318,4 +376,5 @@ exports.SET_VERSION_STATUS = SET_VERSION_STATUS;
|
|
|
318
376
|
exports.createStore = createStore;
|
|
319
377
|
exports.navigation = navigation;
|
|
320
378
|
exports.version = version;
|
|
321
|
-
|
|
379
|
+
exports.wrapSagasInGenerator = wrapSagasInGenerator;
|
|
380
|
+
//# sourceMappingURL=store-B7SJs5Hf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-B7SJs5Hf.js","sources":["../src/redux/types/navigation.js","../src/redux/reducers/navigation.ts","../src/routing/redux/reducers.ts","../src/redux/types/version.js","../src/redux/reducers/version.ts","../src/redux/store/injectors/util.ts","../src/redux/store/routerMiddleware.js","../src/redux/store/store.ts"],"sourcesContent":["const ACTION_PREFIX = '@NAVIGATION/';\nexport const GET_NODE_TREE = `${ACTION_PREFIX}_GET_NODE_TREE`;\nexport const SET_NODE_TREE = `${ACTION_PREFIX}_SET_NODE_TREE`;\nexport const GET_NODE_TREE_ERROR = `${ACTION_PREFIX}_GET_NODE_TREE_ERROR`;\n","import { Draft, produce } from 'immer';\nimport { SET_NODE_TREE, GET_NODE_TREE_ERROR } from '~/redux/types/navigation';\n\nconst initialState = {\n root: null,\n error: {\n isError: false,\n message: null,\n },\n isReady: false,\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_NODE_TREE: {\n state.root = action.nodes;\n state.isReady = true;\n return;\n }\n case GET_NODE_TREE_ERROR: {\n state.error.isError = true;\n state.error.message = action.error || 'Unknown error occurred';\n return;\n }\n default:\n return;\n }\n}, initialState);\n","import { Draft, original, produce } from 'immer';\n\nimport {\n SET_ENTRY,\n SET_NAVIGATION_PATH,\n SET_ANCESTORS,\n SET_TARGET_PROJECT,\n SET_ROUTE,\n SET_SIBLINGS,\n SET_SURROGATE_KEYS,\n UPDATE_LOADING_STATE,\n} from './types';\n\nconst initialState = {\n canonicalPath: null,\n currentHostname: null,\n currentPath: '/',\n currentNode: {},\n currentNodeAncestors: [],\n currentProject: 'unknown',\n entryID: null,\n entry: null,\n error: undefined,\n isError: false,\n isLoading: false,\n isLivePreview: false,\n location: {},\n mappedEntry: null,\n notFound: false,\n ssrHostname: null,\n staticRoute: null,\n statusCode: 200,\n surrogateKeys: [],\n apiCalls: [],\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_ANCESTORS: {\n state.currentNodeAncestors = action.ancestors;\n return;\n }\n case SET_ENTRY: {\n const {\n entry,\n error,\n mappedEntry,\n node = {},\n isError = false,\n isLoading = false,\n notFound = false,\n statusCode,\n currentPath,\n } = action;\n\n let defaultStatus = 200;\n if (notFound === true && isError === false) defaultStatus = 404;\n else if (isError === true) defaultStatus = statusCode || 500;\n\n if (!entry) {\n state.entryID = null;\n state.entry = null;\n state.error = error;\n state.mappedEntry = null;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n state.canonicalPath = currentPath;\n } else {\n state.entryID = action.id;\n state.entry = entry;\n state.error = error;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n state.canonicalPath = entry.sys.uri || currentPath;\n\n if (mappedEntry && Object.keys(mappedEntry).length > 0) {\n state.mappedEntry = mappedEntry;\n // Don't truncate the raw entry data when in live preview mode,\n // as we want to be able to update it with new \"patch\" data coming\n // passed in via the live preview iframe.\n // In regular routes, the full entry data is not needed after mapping.\n if (!state.isLivePreview) state.entry = { sys: entry.sys };\n }\n }\n\n if (!node) {\n state.currentNode = null;\n } else {\n // On Set Node, we reset all dependants.\n state.currentNode = node;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { entry, ...nodeWithoutEntry } = node; // We have the entry stored elsewhere, so lets not keep it twice.\n state.currentNode = nodeWithoutEntry;\n }\n\n return;\n }\n case UPDATE_LOADING_STATE: {\n state.isLoading = action.isLoading;\n return;\n }\n case SET_NAVIGATION_PATH: {\n let staticRoute = {} as any;\n if (action.staticRoute) {\n staticRoute = { ...action.staticRoute };\n }\n if (action.path) {\n // Don't run a path update on initial load as we allready should have it in redux\n const entryUri = state?.entry?.sys?.uri;\n if (entryUri !== action.path) {\n state.currentPath = action.path;\n state.location = action.location;\n state.staticRoute = {\n ...staticRoute,\n route: { ...staticRoute.route, element: null },\n };\n state.isLoading = typeof window !== 'undefined';\n } else {\n state.location = action.location;\n state.staticRoute = {\n ...staticRoute,\n route: { ...staticRoute.route, element: null },\n };\n }\n }\n // The default value is false, but if we've activated live preview for this route,\n // we want it to persist for the life of the session so we don't reset it back to\n // false on subsequent CSR navigation.\n if (action.location.search.includes('livePreview=true')) {\n state.isLivePreview = true;\n }\n return;\n }\n case SET_ROUTE: {\n state.nextPath = action.path;\n return;\n }\n case SET_SIBLINGS: {\n // Can be null in some cases like the homepage.\n let currentNodeSiblingParent = null;\n if (action.siblings && action.siblings.length > 0) {\n currentNodeSiblingParent = action.siblings[0].parentId;\n }\n\n state.currentNodeSiblings = action.siblings;\n state.currentNodeSiblingsParent = currentNodeSiblingParent;\n return;\n }\n case SET_SURROGATE_KEYS: {\n const newKeys = (action.keys || '').split(' ');\n const allKeys = [...original(state.surrogateKeys), ...newKeys];\n const uniqueKeys = [...new Set(allKeys)];\n state.surrogateKeys = uniqueKeys;\n\n state.apiCalls = [\n ...original(state.apiCalls),\n [action.status, newKeys.length, action.url],\n ];\n return;\n }\n case SET_TARGET_PROJECT: {\n state.currentProject = action.project;\n state.allowedGroups = action.allowedGroups;\n state.ssrHostname = state.currentHostname || action.hostname;\n state.currentHostname = action.hostname;\n return;\n }\n default:\n return state;\n }\n}, initialState);\n","const VERSION_PREFIX = '@VERSION/';\nexport const SET_VERSION = `${VERSION_PREFIX}SET_VERSION`;\nexport const SET_VERSION_STATUS = `${VERSION_PREFIX}SET_VERSION_STATUS`;\n","import { Draft, produce } from 'immer';\nimport { SET_VERSION, SET_VERSION_STATUS } from '~/redux/types/version';\n\nconst initialState = {\n commitRef: null,\n buildNo: null,\n contensisVersionStatus: null as 'latest' | 'published' | null,\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_VERSION_STATUS: {\n state.contensisVersionStatus = action.status;\n return;\n }\n case SET_VERSION: {\n state.commitRef = action.commitRef;\n state.buildNo = action.buildNo;\n return;\n }\n default:\n return;\n }\n}, initialState);\n","import { all, Effect } from 'redux-saga/effects';\n\nexport const wrapSagasInGenerator = function (\n sagas: Effect[] | (() => Generator)\n) {\n if (Array.isArray(sagas))\n return function* rootSaga() {\n yield all(sagas);\n };\n return sagas;\n};\n","/**\n * This middleware captures 'CALL_HISTORY_METHOD' actions to redirect to the\n * provided history object. This will prevent these actions from reaching your\n * reducer or any middleware that comes after this one.\n */\n/* eslint-disable no-unused-vars */\nconst routerMiddleware = history => store => next => action => {\n if (action.type !== 'CALL_HISTORY_METHOD') {\n return next(action);\n }\n\n const {\n payload: { method, args },\n } = action;\n history[method](...args);\n};\n\nexport default routerMiddleware;\n","import { History, MemoryHistory } from 'history';\nimport {\n applyMiddleware,\n combineReducers,\n compose,\n createStore,\n Action,\n Store,\n StoreEnhancer,\n Reducer,\n} from 'redux';\nimport { thunk as thunkMiddleware } from 'redux-thunk';\nimport createSagaMiddleware, { END, Task } from 'redux-saga';\nimport { Effect } from 'redux-saga/effects';\nimport { createInjectorsEnhancer } from 'redux-injectors-19';\n\n// Core reducers\nimport i18nSlice from '~/i18n/redux/slice';\nimport NavigationReducer from '../reducers/navigation';\nimport RoutingReducer from '~/routing/redux/reducers';\nimport UserReducer from '~/user/redux/reducers';\nimport VersionReducer from '../reducers/version';\n\nimport { wrapSagasInGenerator } from './injectors/util';\nimport routerMiddleware from './routerMiddleware';\n\nimport { AppState, StateType } from '~/models';\n\ndeclare let window: Window &\n typeof globalThis & {\n __REDUX_DEVTOOLS_EXTENSION__: any;\n };\n\ntype ReduxAppStore = Store<AppState, Action>;\ntype PatchedRunSaga = (sagas: Effect[] | (() => Generator)) => Task;\n\ntype ReduxSagaAppStore = ReduxAppStore & {\n runSaga: PatchedRunSaga;\n close: () => void;\n initialSagas: Set<any>; // Track initial sagas\n injectedReducers: any;\n injectedSagas: any;\n createReducer: (injectedReducers?: any) => Reducer<AppState>;\n};\n\n/** A no-op reducer to serve for server-rendered reducers\n * that are re-injected client-side */\nexport const stubReducer = (state = null) => state;\n\nexport let reduxStore: ReduxSagaAppStore;\n\nexport default async (\n featureReducers: any,\n initialState: AppState,\n history: History | MemoryHistory,\n stateType: StateType\n) => {\n let reduxDevToolsMiddleware = f => f;\n\n if (typeof window != 'undefined') {\n reduxDevToolsMiddleware = window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__()\n : f => f;\n }\n\n const sagaMiddleware = createSagaMiddleware();\n\n const reducers = {\n i18n: i18nSlice.reducer,\n navigation: NavigationReducer,\n routing: RoutingReducer,\n user: UserReducer,\n version: VersionReducer,\n ...featureReducers,\n };\n\n // Reassign the combiner and fromJS functions when\n // stateType is 'immutable' with dynamic imports\n let combiner = combineReducers;\n let fromJS = <T = any>(obj: T) => obj;\n globalThis.STATE_TYPE = stateType;\n\n if (stateType === 'immutable') {\n globalThis.immutable = await import(\n /* webpackChunkName: \"immutable\" */ 'immutable'\n );\n\n fromJS = (\n await import(/* webpackChunkName: \"from-js\" */ '~/util/fromJSLeaveImmer')\n ).default;\n\n combiner = (\n await import(/* webpackChunkName: \"redux-immutable\" */ 'redux-immutable')\n ).combineReducers;\n }\n\n const createReducer = (injectedReducers = {}) => {\n const rootReducer = combiner<AppState>({\n ...injectedReducers,\n // other non-injected reducers go here\n ...reducers,\n });\n\n return rootReducer;\n };\n\n const store = (initialState: AppState) => {\n const runSaga = sagaMiddleware.run;\n\n // Track the initial set of sagas here\n const initialSagas = new Set();\n\n // Patch the runSaga function to capture and track the sagas\n // passed as a raw array of effects\n const patchedRunSaga = (sagas: Effect[] | (() => Generator)) => {\n // Only track the saga the first time it is run\n if (Array.isArray(sagas)) {\n for (const saga of sagas)\n if (!initialSagas.has(saga)) {\n initialSagas.add(saga);\n }\n } else {\n if (!initialSagas.has(sagas)) {\n initialSagas.add(sagas);\n }\n }\n\n const rootSaga = wrapSagasInGenerator(sagas);\n\n // Run the saga as usual\n return runSaga(rootSaga);\n };\n\n // Assign stub reducers for any missing reducers that have been\n // injected server-side and will be re-injected client-side\n const injectReducers = {};\n for (const key of Object.keys(initialState || {})) {\n if (!(key in reducers)) injectReducers[key] = stubReducer;\n }\n\n const middleware: StoreEnhancer<{\n runSaga: PatchedRunSaga;\n close: () => void;\n initialSagas: Set<any>;\n injectedReducers: any;\n injectedSagas: any;\n }> = compose(\n applyMiddleware(\n thunkMiddleware,\n sagaMiddleware,\n routerMiddleware(history)\n ),\n createInjectorsEnhancer({\n createReducer,\n // Assign patched runSaga to store\n runSaga,\n }),\n reduxDevToolsMiddleware\n );\n\n const store = createStore(\n createReducer(injectReducers),\n initialState,\n middleware\n );\n\n store.runSaga = patchedRunSaga; // Assign patched runSaga to the store\n store.close = () => store.dispatch(END);\n store.initialSagas = initialSagas; // Store the initial sagas set\n\n return store;\n };\n\n reduxStore = store(fromJS(initialState)) as ReduxSagaAppStore;\n return reduxStore;\n};\n"],"names":["ACTION_PREFIX","GET_NODE_TREE","SET_NODE_TREE","GET_NODE_TREE_ERROR","initialState","root","error","isError","message","isReady","produce","state","action","type","nodes","canonicalPath","currentHostname","currentPath","currentNode","currentNodeAncestors","currentProject","entryID","entry","undefined","isLoading","isLivePreview","location","mappedEntry","notFound","ssrHostname","staticRoute","statusCode","surrogateKeys","apiCalls","SET_ANCESTORS","ancestors","SET_ENTRY","node","defaultStatus","id","sys","uri","Object","keys","length","nodeWithoutEntry","UPDATE_LOADING_STATE","SET_NAVIGATION_PATH","path","_state$entry","entryUri","route","element","window","search","includes","SET_ROUTE","nextPath","SET_SIBLINGS","currentNodeSiblingParent","siblings","parentId","currentNodeSiblings","currentNodeSiblingsParent","SET_SURROGATE_KEYS","newKeys","split","allKeys","original","uniqueKeys","Set","status","url","SET_TARGET_PROJECT","project","allowedGroups","hostname","VERSION_PREFIX","SET_VERSION","SET_VERSION_STATUS","commitRef","buildNo","contensisVersionStatus","wrapSagasInGenerator","sagas","Array","isArray","rootSaga","all","routerMiddleware","history","store","next","payload","method","args","stubReducer","reduxStore","featureReducers","stateType","reduxDevToolsMiddleware","f","__REDUX_DEVTOOLS_EXTENSION__","sagaMiddleware","createSagaMiddleware","reducers","i18n","i18nSlice","reducer","navigation","NavigationReducer","routing","RoutingReducer","user","UserReducer","version","VersionReducer","combiner","combineReducers","fromJS","obj","globalThis","STATE_TYPE","immutable","default","createReducer","injectedReducers","rootReducer","runSaga","run","initialSagas","patchedRunSaga","saga","has","add","injectReducers","key","middleware","compose","applyMiddleware","thunkMiddleware","createInjectorsEnhancer","createStore","close","dispatch","END"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const setCachingHeaders = (response, {
|
|
4
|
+
cacheControl = 'private',
|
|
5
|
+
surrogateControl = '3600'
|
|
6
|
+
}, method = 'header') => {
|
|
7
|
+
if (cacheControl) response[method]('Cache-Control', cacheControl);
|
|
8
|
+
if (surrogateControl) response[method]('Surrogate-Control', `max-age=${surrogateControl.toString()}`);
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const urls = (alias, project) => {
|
|
12
|
+
const projectAndAlias = project && project.toLowerCase() !== 'website' ? `${project.toLowerCase()}-${alias}` : alias;
|
|
13
|
+
return {
|
|
14
|
+
api: `https://api-${alias}.cloud.contensis.com`,
|
|
15
|
+
cms: `https://cms-${alias}.cloud.contensis.com`,
|
|
16
|
+
liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,
|
|
17
|
+
previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,
|
|
18
|
+
iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,
|
|
19
|
+
iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.setCachingHeaders = setCachingHeaders;
|
|
24
|
+
exports.urls = urls;
|
|
25
|
+
//# sourceMappingURL=urls-DGZlAs0y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls-DGZlAs0y.js","sources":["../src/server/features/caching/setCachingHeaders.ts","../src/util/urls.ts"],"sourcesContent":["import { Response } from 'express';\n\nconst setCachingHeaders = (\n response: Response,\n { cacheControl = 'private', surrogateControl = '3600' },\n method = 'header'\n) => {\n if (cacheControl) response[method]('Cache-Control', cacheControl);\n if (surrogateControl)\n response[method](\n 'Surrogate-Control',\n `max-age=${surrogateControl.toString()}`\n );\n};\n\nexport default setCachingHeaders;\n","export const urls = (alias: string, project: string) => {\n const projectAndAlias =\n project && project.toLowerCase() !== 'website'\n ? `${project.toLowerCase()}-${alias}`\n : alias;\n return {\n api: `https://api-${alias}.cloud.contensis.com`,\n cms: `https://cms-${alias}.cloud.contensis.com`,\n liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,\n previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,\n iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,\n iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`,\n };\n};\n"],"names":["setCachingHeaders","response","cacheControl","surrogateControl","method","toString","urls","alias","project","projectAndAlias","toLowerCase","api","cms","liveWeb","previewWeb","iisWeb","iisPreviewWeb"],"mappings":";;AAEA,MAAMA,iBAAiB,GAAGA,CACxBC,QAAkB,EAClB;AAAEC,EAAAA,YAAY,GAAG,SAAS;AAAEC,EAAAA,gBAAgB,GAAG;AAAO,CAAC,EACvDC,MAAM,GAAG,QAAQ,KACd;EACH,IAAIF,YAAY,EAAED,QAAQ,CAACG,MAAM,CAAC,CAAC,eAAe,EAAEF,YAAY,CAAC;AACjE,EAAA,IAAIC,gBAAgB,EAClBF,QAAQ,CAACG,MAAM,CAAC,CACd,mBAAmB,EACnB,CAAA,QAAA,EAAWD,gBAAgB,CAACE,QAAQ,EAAE,EACxC,CAAC;AACL;;MCbaC,IAAI,GAAGA,CAACC,KAAa,EAAEC,OAAe,KAAK;EACtD,MAAMC,eAAe,GACnBD,OAAO,IAAIA,OAAO,CAACE,WAAW,EAAE,KAAK,SAAS,GAC1C,CAAA,EAAGF,OAAO,CAACE,WAAW,EAAE,CAAA,CAAA,EAAIH,KAAK,CAAA,CAAE,GACnCA,KAAK;EACX,OAAO;IACLI,GAAG,EAAE,CAAA,YAAA,EAAeJ,KAAK,CAAA,oBAAA,CAAsB;IAC/CK,GAAG,EAAE,CAAA,YAAA,EAAeL,KAAK,CAAA,oBAAA,CAAsB;IAC/CM,OAAO,EAAE,CAAA,aAAA,EAAgBJ,eAAe,CAAA,oBAAA,CAAsB;IAC9DK,UAAU,EAAE,CAAA,gBAAA,EAAmBL,eAAe,CAAA,oBAAA,CAAsB;IACpEM,MAAM,EAAE,CAAA,iBAAA,EAAoBN,eAAe,CAAA,oBAAA,CAAsB;IACjEO,aAAa,EAAE,uBAAuBP,eAAe,CAAA,oBAAA;GACtD;AACH;;;;;"}
|
package/cjs/user.js
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var ChangePassword_container = require('./ChangePassword.container-
|
|
3
|
+
var ChangePassword_container = require('./ChangePassword.container-C4Du3Wb1.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var reactCookie = require('react-cookie');
|
|
6
6
|
var reactRedux = require('react-redux');
|
|
7
|
-
var
|
|
8
|
-
var CookieHelper_class = require('./CookieHelper.class-
|
|
9
|
-
var
|
|
7
|
+
var matchGroups = require('./matchGroups-dqONU-vY.js');
|
|
8
|
+
var CookieHelper_class = require('./CookieHelper.class-Det3qfdU.js');
|
|
9
|
+
var ToJs = require('./ToJs-BsWqWjdm.js');
|
|
10
|
+
var selectors = require('./selectors-BrxJ8-F8.js');
|
|
10
11
|
require('@redux-saga/core/effects');
|
|
11
12
|
require('jsonpath-mapper');
|
|
12
13
|
require('await-to-js');
|
|
14
|
+
require('./CookieConstants-DfPiWCRZ.js');
|
|
13
15
|
require('immer');
|
|
16
|
+
require('reselect');
|
|
14
17
|
require('query-string');
|
|
15
18
|
|
|
16
19
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -23,16 +26,16 @@ const getDisplayName$1 = WrappedComponent => {
|
|
|
23
26
|
const withLogin = WrappedComponent => {
|
|
24
27
|
const mapStateToProps = state => {
|
|
25
28
|
return {
|
|
26
|
-
errorMessage:
|
|
27
|
-
isAuthenticated:
|
|
28
|
-
isAuthenticationError:
|
|
29
|
-
isError:
|
|
30
|
-
isLoading:
|
|
31
|
-
user:
|
|
29
|
+
errorMessage: matchGroups.selectUserErrorMessage(state),
|
|
30
|
+
isAuthenticated: matchGroups.selectUserIsAuthenticated(state),
|
|
31
|
+
isAuthenticationError: matchGroups.selectUserIsAuthenticationError(state),
|
|
32
|
+
isError: matchGroups.selectUserIsError(state),
|
|
33
|
+
isLoading: matchGroups.selectUserIsLoading(state),
|
|
34
|
+
user: matchGroups.selectUser(state),
|
|
32
35
|
// DEPRECATED: authenticationError is deprecated use isAuthenticationError instead
|
|
33
|
-
authenticationError:
|
|
36
|
+
authenticationError: matchGroups.selectUserIsAuthenticationError(state),
|
|
34
37
|
// DEPRECATED: error is deprecated use isError instead
|
|
35
|
-
error:
|
|
38
|
+
error: matchGroups.selectUserIsError(state)
|
|
36
39
|
};
|
|
37
40
|
};
|
|
38
41
|
const ConnectedComponent = () => {
|
|
@@ -55,10 +58,10 @@ const getDisplayName = WrappedComponent => {
|
|
|
55
58
|
const withRegistration = WrappedComponent => {
|
|
56
59
|
const mapStateToProps = state => {
|
|
57
60
|
return {
|
|
58
|
-
error:
|
|
59
|
-
isLoading:
|
|
60
|
-
isSuccess:
|
|
61
|
-
user:
|
|
61
|
+
error: matchGroups.selectUserRegistrationError(state),
|
|
62
|
+
isLoading: matchGroups.selectUserRegistrationIsLoading(state),
|
|
63
|
+
isSuccess: matchGroups.selectUserRegistrationIsSuccess(state),
|
|
64
|
+
user: matchGroups.selectUserRegistration(state)
|
|
62
65
|
};
|
|
63
66
|
};
|
|
64
67
|
const mapDispatchToProps = {
|
|
@@ -81,7 +84,7 @@ exports.useChangePassword = ChangePassword_container.useChangePassword;
|
|
|
81
84
|
exports.useForgotPassword = ChangePassword_container.useForgotPassword;
|
|
82
85
|
exports.useLogin = ChangePassword_container.useLogin;
|
|
83
86
|
exports.useRegistration = ChangePassword_container.useRegistration;
|
|
84
|
-
exports.selectors =
|
|
87
|
+
exports.selectors = matchGroups.selectors;
|
|
85
88
|
exports.initialUserState = selectors.initialUserState;
|
|
86
89
|
exports.reducer = selectors.UserReducer;
|
|
87
90
|
exports.types = selectors.types;
|
package/cjs/user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sources":["../src/user/hocs/withLogin.tsx","../src/user/hocs/withRegistration.js"],"sourcesContent":["import React from 'react';\nimport { useCookies } from 'react-cookie';\nimport { connect } from 'react-redux';\nimport { loginUser, logoutUser } from '../redux/actions';\nimport {\n selectUser,\n selectUserErrorMessage,\n selectUserIsAuthenticationError,\n selectUserIsError,\n selectUserIsAuthenticated,\n selectUserIsLoading,\n} from '../redux/selectors';\nimport { CookieHelper } from '../util/CookieHelper.class';\nimport { toJS } from '~/util/ToJs';\nimport { AppState } from '~/models';\n\nconst getDisplayName = (WrappedComponent: React.ComponentType) => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withLogin = (WrappedComponent: React.ComponentType) => {\n const mapStateToProps = (state: AppState) => {\n return {\n errorMessage: selectUserErrorMessage(state),\n isAuthenticated: selectUserIsAuthenticated(state),\n isAuthenticationError: selectUserIsAuthenticationError(state),\n isError: selectUserIsError(state),\n isLoading: selectUserIsLoading(state),\n user: selectUser(state),\n // DEPRECATED: authenticationError is deprecated use isAuthenticationError instead\n authenticationError: selectUserIsAuthenticationError(state),\n // DEPRECATED: error is deprecated use isError instead\n error: selectUserIsError(state),\n };\n };\n\n const ConnectedComponent = () => {\n const cookies = new CookieHelper(...useCookies());\n\n const mapDispatchToProps = {\n loginUser: (username: string, password: string) =>\n loginUser(username, password, cookies),\n logoutUser: (redirectPath?: string) => logoutUser(redirectPath, cookies),\n };\n\n const FinalComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n return <FinalComponent />;\n };\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n ConnectedComponent.WrappedComponent = WrappedComponent;\n\n return ConnectedComponent;\n};\n\nexport default withLogin;\n","import { connect } from 'react-redux';\nimport { registerUser } from '../redux/actions';\nimport {\n selectUserRegistration,\n selectUserRegistrationError,\n selectUserRegistrationIsLoading,\n selectUserRegistrationIsSuccess,\n} from '../redux/selectors';\nimport { toJS } from '~/util/ToJs';\n\nconst getDisplayName = WrappedComponent => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withRegistration = WrappedComponent => {\n const mapStateToProps = state => {\n return {\n error: selectUserRegistrationError(state),\n isLoading: selectUserRegistrationIsLoading(state),\n isSuccess: selectUserRegistrationIsSuccess(state),\n user: selectUserRegistration(state),\n };\n };\n\n const mapDispatchToProps = {\n registerUser,\n };\n\n const ConnectedComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n\n return ConnectedComponent;\n};\n\nexport default withRegistration;\n"],"names":["getDisplayName","WrappedComponent","displayName","name","withLogin","mapStateToProps","state","errorMessage","selectUserErrorMessage","isAuthenticated","selectUserIsAuthenticated","isAuthenticationError","selectUserIsAuthenticationError","isError","selectUserIsError","isLoading","selectUserIsLoading","user","selectUser","authenticationError","error","ConnectedComponent","cookies","CookieHelper","useCookies","mapDispatchToProps","loginUser","username","password","logoutUser","redirectPath","FinalComponent","connect","toJS","React","createElement","withRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","isSuccess","selectUserRegistrationIsSuccess","selectUserRegistration","registerUser"],"mappings":"
|
|
1
|
+
{"version":3,"file":"user.js","sources":["../src/user/hocs/withLogin.tsx","../src/user/hocs/withRegistration.js"],"sourcesContent":["import React from 'react';\nimport { useCookies } from 'react-cookie';\nimport { connect } from 'react-redux';\nimport { loginUser, logoutUser } from '../redux/actions';\nimport {\n selectUser,\n selectUserErrorMessage,\n selectUserIsAuthenticationError,\n selectUserIsError,\n selectUserIsAuthenticated,\n selectUserIsLoading,\n} from '../redux/selectors';\nimport { CookieHelper } from '../util/CookieHelper.class';\nimport { toJS } from '~/util/ToJs';\nimport { AppState } from '~/models';\n\nconst getDisplayName = (WrappedComponent: React.ComponentType) => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withLogin = (WrappedComponent: React.ComponentType) => {\n const mapStateToProps = (state: AppState) => {\n return {\n errorMessage: selectUserErrorMessage(state),\n isAuthenticated: selectUserIsAuthenticated(state),\n isAuthenticationError: selectUserIsAuthenticationError(state),\n isError: selectUserIsError(state),\n isLoading: selectUserIsLoading(state),\n user: selectUser(state),\n // DEPRECATED: authenticationError is deprecated use isAuthenticationError instead\n authenticationError: selectUserIsAuthenticationError(state),\n // DEPRECATED: error is deprecated use isError instead\n error: selectUserIsError(state),\n };\n };\n\n const ConnectedComponent = () => {\n const cookies = new CookieHelper(...useCookies());\n\n const mapDispatchToProps = {\n loginUser: (username: string, password: string) =>\n loginUser(username, password, cookies),\n logoutUser: (redirectPath?: string) => logoutUser(redirectPath, cookies),\n };\n\n const FinalComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n return <FinalComponent />;\n };\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n ConnectedComponent.WrappedComponent = WrappedComponent;\n\n return ConnectedComponent;\n};\n\nexport default withLogin;\n","import { connect } from 'react-redux';\nimport { registerUser } from '../redux/actions';\nimport {\n selectUserRegistration,\n selectUserRegistrationError,\n selectUserRegistrationIsLoading,\n selectUserRegistrationIsSuccess,\n} from '../redux/selectors';\nimport { toJS } from '~/util/ToJs';\n\nconst getDisplayName = WrappedComponent => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withRegistration = WrappedComponent => {\n const mapStateToProps = state => {\n return {\n error: selectUserRegistrationError(state),\n isLoading: selectUserRegistrationIsLoading(state),\n isSuccess: selectUserRegistrationIsSuccess(state),\n user: selectUserRegistration(state),\n };\n };\n\n const mapDispatchToProps = {\n registerUser,\n };\n\n const ConnectedComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n\n return ConnectedComponent;\n};\n\nexport default withRegistration;\n"],"names":["getDisplayName","WrappedComponent","displayName","name","withLogin","mapStateToProps","state","errorMessage","selectUserErrorMessage","isAuthenticated","selectUserIsAuthenticated","isAuthenticationError","selectUserIsAuthenticationError","isError","selectUserIsError","isLoading","selectUserIsLoading","user","selectUser","authenticationError","error","ConnectedComponent","cookies","CookieHelper","useCookies","mapDispatchToProps","loginUser","username","password","logoutUser","redirectPath","FinalComponent","connect","toJS","React","createElement","withRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","isSuccess","selectUserRegistrationIsSuccess","selectUserRegistration","registerUser"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAMA,gBAAc,GAAIC,gBAAqC,IAAK;EAChE,OAAOA,gBAAgB,CAACC,WAAW,IAAID,gBAAgB,CAACE,IAAI,IAAI,WAAW;AAC7E,CAAC;AAED,MAAMC,SAAS,GAAIH,gBAAqC,IAAK;EAC3D,MAAMI,eAAe,GAAIC,KAAe,IAAK;IAC3C,OAAO;AACLC,MAAAA,YAAY,EAAEC,kCAAsB,CAACF,KAAK,CAAC;AAC3CG,MAAAA,eAAe,EAAEC,qCAAyB,CAACJ,KAAK,CAAC;AACjDK,MAAAA,qBAAqB,EAAEC,2CAA+B,CAACN,KAAK,CAAC;AAC7DO,MAAAA,OAAO,EAAEC,6BAAiB,CAACR,KAAK,CAAC;AACjCS,MAAAA,SAAS,EAAEC,+BAAmB,CAACV,KAAK,CAAC;AACrCW,MAAAA,IAAI,EAAEC,sBAAU,CAACZ,KAAK,CAAC;AACvB;AACAa,MAAAA,mBAAmB,EAAEP,2CAA+B,CAACN,KAAK,CAAC;AAC3D;MACAc,KAAK,EAAEN,6BAAiB,CAACR,KAAK;KAC/B;EACH,CAAC;EAED,MAAMe,kBAAkB,GAAGA,MAAM;IAC/B,MAAMC,OAAO,GAAG,IAAIC,+BAAY,CAAC,GAAGC,sBAAU,EAAE,CAAC;AAEjD,IAAA,MAAMC,kBAAkB,GAAG;AACzBC,MAAAA,SAAS,EAAEA,CAACC,QAAgB,EAAEC,QAAgB,KAC5CF,kCAAS,CAACC,QAAQ,EAAEC,QAAQ,EAAEN,OAAO,CAAC;AACxCO,MAAAA,UAAU,EAAGC,YAAqB,IAAKD,mCAAU,CAACC,YAAY,EAAER,OAAO;KACxE;AAED,IAAA,MAAMS,cAAc,GAAGC,kBAAO,CAC5B3B,eAAe,EACfoB,kBACF,CAAC,CAACQ,SAAI,CAAChC,gBAAgB,CAAC,CAAC;AAEzB,IAAA,oBAAOiC,sBAAA,CAAAC,aAAA,CAACJ,cAAc,MAAE,CAAC;EAC3B,CAAC;EAEDV,kBAAkB,CAACnB,WAAW,GAAG,CAAA,EAAGF,gBAAc,CAACC,gBAAgB,CAAC,CAAA,CAAE;EACtEoB,kBAAkB,CAACpB,gBAAgB,GAAGA,gBAAgB;AAEtD,EAAA,OAAOoB,kBAAkB;AAC3B;;AC/CA,MAAMrB,cAAc,GAAGC,gBAAgB,IAAI;EACzC,OAAOA,gBAAgB,CAACC,WAAW,IAAID,gBAAgB,CAACE,IAAI,IAAI,WAAW;AAC7E,CAAC;AAED,MAAMiC,gBAAgB,GAAGnC,gBAAgB,IAAI;EAC3C,MAAMI,eAAe,GAAGC,KAAK,IAAI;IAC/B,OAAO;AACLc,MAAAA,KAAK,EAAEiB,uCAA2B,CAAC/B,KAAK,CAAC;AACzCS,MAAAA,SAAS,EAAEuB,2CAA+B,CAAChC,KAAK,CAAC;AACjDiC,MAAAA,SAAS,EAAEC,2CAA+B,CAAClC,KAAK,CAAC;MACjDW,IAAI,EAAEwB,kCAAsB,CAACnC,KAAK;KACnC;EACH,CAAC;AAED,EAAA,MAAMmB,kBAAkB,GAAG;AACzBiB,kBAAAA;GACD;AAED,EAAA,MAAMrB,kBAAkB,GAAGW,kBAAO,CAChC3B,eAAe,EACfoB,kBACF,CAAC,CAACQ,SAAI,CAAChC,gBAAgB,CAAC,CAAC;EAEzBoB,kBAAkB,CAACnB,WAAW,GAAG,CAAA,EAAGF,cAAc,CAACC,gBAAgB,CAAC,CAAA,CAAE;AAEtE,EAAA,OAAOoB,kBAAkB;AAC3B;;;;;;;;;;;;;;;;;;;;;"}
|