@zengenti/contensis-react-base 3.3.2-beta.1 → 4.0.0-beta.10
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/cjs/{App-B2ohFzUt.js → App-vZrUfVgQ.js} +7 -20
- package/cjs/{App-B2ohFzUt.js.map → App-vZrUfVgQ.js.map} +1 -1
- package/cjs/{ChangePassword.container-Dup9_na7.js → ChangePassword.container-ECjEXixF.js} +2 -2
- package/cjs/{ChangePassword.container-Dup9_na7.js.map → ChangePassword.container-ECjEXixF.js.map} +1 -1
- package/cjs/CookieHelper.class-C3Eqoze9.js +471 -0
- package/cjs/CookieHelper.class-C3Eqoze9.js.map +1 -0
- package/cjs/{RouteLoader-De-dhkg-.js → RouteLoader-D5Yg7EB5.js} +143 -44
- package/cjs/RouteLoader-D5Yg7EB5.js.map +1 -0
- package/cjs/{SSRContext-DpnwQ2te.js → SSRContext-DVj_QAC1.js} +23 -9
- package/cjs/SSRContext-DVj_QAC1.js.map +1 -0
- package/cjs/ToJs-C9jwV7YB.js.map +1 -1
- package/cjs/VersionInfo-B_dKCubg.js +204 -0
- package/cjs/VersionInfo-B_dKCubg.js.map +1 -0
- package/cjs/client.js +53 -20
- package/cjs/client.js.map +1 -1
- package/cjs/contensis-react-base.js +409 -134
- package/cjs/contensis-react-base.js.map +1 -1
- package/cjs/fromJSLeaveImmer-Blvlk4t2.js.map +1 -1
- package/cjs/redux.js +3 -3
- package/cjs/routing.js +8 -7
- package/cjs/routing.js.map +1 -1
- package/cjs/{sagas-Ekfrk7xA.js → sagas-BVX4Ps1e.js} +326 -130
- package/cjs/sagas-BVX4Ps1e.js.map +1 -0
- package/cjs/search.js +3 -194
- package/cjs/search.js.map +1 -1
- package/cjs/selectors-wCs5fHD4.js.map +1 -1
- package/cjs/{store-BihH67lI.js → store-D07FOXvM.js} +6 -9
- package/cjs/store-D07FOXvM.js.map +1 -0
- package/cjs/user.js +2 -2
- package/cjs/user.js.map +1 -1
- package/cjs/util.js +17 -182
- package/cjs/util.js.map +1 -1
- package/cjs/{version-Cg79mdPg.js → version-B7XFkBhY.js} +2 -2
- package/{esm/version-BnnERhzW.js.map → cjs/version-B7XFkBhY.js.map} +1 -1
- package/cjs/version-CM-bJ62L.js.map +1 -1
- package/esm/{App-BPsH6nHc.js → App-DLZweVSp.js} +10 -23
- package/esm/{App-BPsH6nHc.js.map → App-DLZweVSp.js.map} +1 -1
- package/esm/{ChangePassword.container-Bcpef423.js → ChangePassword.container-BgzIy8dA.js} +5 -5
- package/esm/{ChangePassword.container-Bcpef423.js.map → ChangePassword.container-BgzIy8dA.js.map} +1 -1
- package/esm/CookieHelper.class-FTURFpz3.js +464 -0
- package/esm/CookieHelper.class-FTURFpz3.js.map +1 -0
- package/esm/{RouteLoader-CipkGOgr.js → RouteLoader-xeQBXywk.js} +143 -49
- package/esm/RouteLoader-xeQBXywk.js.map +1 -0
- package/esm/{SSRContext-3TvaCDn0.js → SSRContext-BE8ElZ3X.js} +26 -12
- package/esm/SSRContext-BE8ElZ3X.js.map +1 -0
- package/esm/{ToJs-B4MH53fx.js → ToJs-CNzfvyxJ.js} +3 -3
- package/esm/{ToJs-B4MH53fx.js.map → ToJs-CNzfvyxJ.js.map} +1 -1
- package/esm/VersionInfo-Cno7K0OA.js +193 -0
- package/esm/VersionInfo-Cno7K0OA.js.map +1 -0
- package/esm/client.js +57 -25
- package/esm/client.js.map +1 -1
- package/esm/contensis-react-base.js +407 -132
- package/esm/contensis-react-base.js.map +1 -1
- package/esm/fromJSLeaveImmer-C_YACmOf.js.map +1 -1
- package/esm/redux.js +8 -8
- package/esm/routing.js +7 -9
- package/esm/routing.js.map +1 -1
- package/esm/{sagas-Cd05ZBBH.js → sagas-JI51CS37.js} +311 -115
- package/esm/sagas-JI51CS37.js.map +1 -0
- package/esm/search.js +21 -212
- package/esm/search.js.map +1 -1
- package/esm/{selectors-BRzliwbK.js → selectors-DO2ocdOp.js} +2 -2
- package/esm/selectors-DO2ocdOp.js.map +1 -0
- package/esm/{store-f0WxNWUu.js → store-3u0RzHZ0.js} +7 -9
- package/esm/store-3u0RzHZ0.js.map +1 -0
- package/esm/user.js +6 -6
- package/esm/user.js.map +1 -1
- package/esm/util.js +14 -177
- package/esm/util.js.map +1 -1
- package/esm/{version-BnnERhzW.js → version-BlsI7hX2.js} +3 -3
- package/{cjs/version-Cg79mdPg.js.map → esm/version-BlsI7hX2.js.map} +1 -1
- package/esm/{version-78jjDnHU.js → version-wnf-TITV.js} +2 -2
- package/esm/{version-78jjDnHU.js.map → version-wnf-TITV.js.map} +1 -1
- package/models/app/App.d.ts +2 -2
- package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +7 -2
- package/models/models/AppState.d.ts +4 -5
- package/models/models/GetRouteActionArgs.d.ts +2 -2
- package/models/models/MatchedRoute.d.ts +4 -0
- package/models/models/SSRContext.d.ts +23 -0
- package/models/models/StaticRoute.d.ts +8 -4
- package/models/models/config/AppConfig.d.ts +1 -0
- package/models/models/config/ServerConfig.d.ts +1 -0
- package/models/models/config/StateType.d.ts +1 -0
- package/models/models/index.d.ts +1 -0
- package/models/redux/store/history.d.ts +2 -2
- package/models/redux/store/injectors.d.ts +4 -4
- package/models/redux/store/store.d.ts +1 -1
- package/models/routing/components/Redirect.d.ts +5 -0
- package/models/routing/components/RouteLoader.d.ts +2 -2
- package/models/routing/components/StaticRouteLoader.d.ts +6 -0
- package/models/routing/httpContext.d.ts +7 -0
- package/models/routing/index.d.ts +3 -0
- package/models/routing/redux/actions.d.ts +2 -3
- package/models/search/containers/withListing.d.ts +4 -1
- package/models/search/containers/withSearch.d.ts +4 -1
- package/models/server/features/response-handler/render-stream.d.ts +26 -0
- package/models/server/util/html.d.ts +23 -0
- package/models/server/util/jsx.d.ts +55 -0
- package/models/user/hocs/withRegistration.d.ts +6 -3
- package/models/util/ContensisDeliveryApi.d.ts +1 -2
- package/models/util/SSRContext.d.ts +17 -6
- package/models/util/mergeStaticRoutes.d.ts +1 -0
- package/package.json +25 -30
- package/cjs/CookieHelper.class-CxeVo9EP.js +0 -489
- package/cjs/CookieHelper.class-CxeVo9EP.js.map +0 -1
- package/cjs/RouteLoader-De-dhkg-.js.map +0 -1
- package/cjs/SSRContext-DpnwQ2te.js.map +0 -1
- package/cjs/forms.js +0 -5673
- package/cjs/forms.js.map +0 -1
- package/cjs/sagas-Ekfrk7xA.js.map +0 -1
- package/cjs/store-BihH67lI.js.map +0 -1
- package/cjs/urls-DVIwGZmd.js +0 -25
- package/cjs/urls-DVIwGZmd.js.map +0 -1
- package/esm/CookieHelper.class-W_NNNJKT.js +0 -482
- package/esm/CookieHelper.class-W_NNNJKT.js.map +0 -1
- package/esm/RouteLoader-CipkGOgr.js.map +0 -1
- package/esm/SSRContext-3TvaCDn0.js.map +0 -1
- package/esm/forms.js +0 -5661
- package/esm/forms.js.map +0 -1
- package/esm/sagas-Cd05ZBBH.js.map +0 -1
- package/esm/selectors-BRzliwbK.js.map +0 -1
- package/esm/store-f0WxNWUu.js.map +0 -1
- package/esm/urls-DfCisos-.js +0 -22
- package/esm/urls-DfCisos-.js.map +0 -1
- package/models/forms/index.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-
|
|
1
|
+
{"version":3,"file":"version-BlsI7hX2.js","sources":["../src/redux/selectors/navigation.js","../src/redux/store/injectors.js","../src/redux/actions/version.js"],"sourcesContent":["import { getImmutableOrJS as getIn } from '~/redux/util';\n\nexport const hasNavigationTree = state =>\n getIn(state, ['navigation', 'isReady']);\n\nexport const selectNavigationRoot = state =>\n getIn(state, ['navigation', 'root']);\n\nexport const selectNavigationChildren = state =>\n getIn(state, ['navigation', 'root', 'children']);\n\nexport const selectNavigationDepends = () => [];\n","import { all } from 'redux-saga/effects';\nimport { reduxStore as DefaultStore } from './store';\n\nexport const convertSagaArray = sagas => {\n if (Array.isArray(sagas))\n return function* rootSaga() {\n yield all(sagas);\n };\n return sagas;\n};\n\nexport const injectReducer = ({ key, reducer }, store = DefaultStore) => {\n if (\n Reflect.has(store.injectedReducers, key) &&\n store.injectedReducers[key] === reducer\n )\n return;\n store.injectedReducers[key] = reducer;\n\n store.replaceReducer(store.createReducer(store.injectedReducers));\n};\n\nexport const injectSaga = ({ key, saga }, store = DefaultStore) => {\n const rootSaga = convertSagaArray(saga);\n let hasSaga = Reflect.has(store.injectedSagas, key);\n\n if (process.env.NODE_ENV !== 'production') {\n const oldDescriptor = store.injectedSagas[key]; // enable hot reloading of daemon and once-till-unmount sagas\n\n if (hasSaga && oldDescriptor.saga !== rootSaga) {\n oldDescriptor.task.cancel();\n hasSaga = false;\n }\n }\n console.info('injectSaga, key: ', key, 'hasSaga: ', hasSaga);\n\n if (!hasSaga) {\n store.injectedSagas[key] = {\n key,\n saga: rootSaga,\n task: store.runSaga(rootSaga),\n };\n }\n};\n\nexport const injectRedux = ({ key, reducer, saga }, store = DefaultStore) => {\n console.info('injectRedux, key: ', key);\n if (reducer) injectReducer({ key, reducer }, store);\n if (saga) injectSaga({ key, saga }, store);\n};\n\nexport const useInjectRedux = injectRedux;\n","import { action } from '../util';\nimport { SET_VERSION, SET_VERSION_STATUS } from '../types/version';\n\nexport const setVersion = (commitRef, buildNo) =>\n action(SET_VERSION, { commitRef, buildNo });\n\nexport const setVersionStatus = status =>\n action(SET_VERSION_STATUS, { status });\n"],"names":["hasNavigationTree","state","getIn","selectNavigationRoot","selectNavigationChildren","selectNavigationDepends","convertSagaArray","sagas","Array","isArray","rootSaga","all","injectReducer","key","reducer","store","DefaultStore","Reflect","has","injectedReducers","replaceReducer","createReducer","injectSaga","saga","hasSaga","injectedSagas","process","env","NODE_ENV","oldDescriptor","task","cancel","console","info","runSaga","injectRedux","useInjectRedux","setVersion","commitRef","buildNo","action","SET_VERSION","setVersionStatus","status","SET_VERSION_STATUS"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as getImmutableOrJS } from './selectors-
|
|
1
|
+
import { g as getImmutableOrJS } from './selectors-DO2ocdOp.js';
|
|
2
2
|
|
|
3
3
|
const selectCommitRef = state => getImmutableOrJS(state, ['version', 'commitRef']);
|
|
4
4
|
const selectBuildNumber = state => getImmutableOrJS(state, ['version', 'buildNo']);
|
|
@@ -12,4 +12,4 @@ var version = /*#__PURE__*/Object.freeze({
|
|
|
12
12
|
});
|
|
13
13
|
|
|
14
14
|
export { selectCommitRef as a, selectBuildNumber as b, selectVersionStatus as s, version as v };
|
|
15
|
-
//# sourceMappingURL=version-
|
|
15
|
+
//# sourceMappingURL=version-wnf-TITV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-
|
|
1
|
+
{"version":3,"file":"version-wnf-TITV.js","sources":["../src/redux/selectors/version.js"],"sourcesContent":["import { getImmutableOrJS as getIn } from '~/redux/util';\n\nexport const selectCommitRef = state => getIn(state, ['version', 'commitRef']);\n\nexport const selectBuildNumber = state => getIn(state, ['version', 'buildNo']);\n\nexport const selectVersionStatus = state =>\n getIn(state, ['version', 'contensisVersionStatus']);\n"],"names":["selectCommitRef","state","getIn","selectBuildNumber","selectVersionStatus"],"mappings":";;AAEO,MAAMA,eAAe,GAAGC,KAAK,IAAIC,gBAAK,CAACD,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;AAEtE,MAAME,iBAAiB,GAAGF,KAAK,IAAIC,gBAAK,CAACD,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AAEtE,MAAMG,mBAAmB,GAAGH,KAAK,IACtCC,gBAAK,CAACD,KAAK,EAAE,CAAC,SAAS,EAAE,wBAAwB,CAAC;;;;;;;;;;;"}
|
package/models/app/App.d.ts
CHANGED
|
@@ -6,7 +6,9 @@ export interface IVersionInfoProps {
|
|
|
6
6
|
projectId: string;
|
|
7
7
|
livePublishingRootUrl: string;
|
|
8
8
|
};
|
|
9
|
-
devEnv:
|
|
9
|
+
devEnv: {
|
|
10
|
+
[k: string]: string;
|
|
11
|
+
};
|
|
10
12
|
disableSsrRedux: boolean;
|
|
11
13
|
nodeEnv: string;
|
|
12
14
|
packageDetail: any;
|
|
@@ -36,5 +38,8 @@ export interface IVersionInfoProps {
|
|
|
36
38
|
};
|
|
37
39
|
zenPackageVersions: string[];
|
|
38
40
|
}
|
|
39
|
-
declare const _default: import("react-redux").ConnectedComponent<({ deliveryApi, devEnv, disableSsrRedux, nodeEnv, packageDetail, project, projects, proxyDeliveryApi, publicUri, reverseProxyPaths, servers, uris, version, zenPackageVersions, }: IVersionInfoProps) => React.JSX.Element,
|
|
41
|
+
declare const _default: import("react-redux").ConnectedComponent<({ deliveryApi, devEnv, disableSsrRedux, nodeEnv, packageDetail, project, projects, proxyDeliveryApi, publicUri, reverseProxyPaths, servers, uris, version, zenPackageVersions, }: IVersionInfoProps) => React.JSX.Element, {
|
|
42
|
+
context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("../../../../../node_modules/redux").UnknownAction> | null> | undefined;
|
|
43
|
+
store?: import("../../../../../node_modules/redux").Store<any, import("../../../../../node_modules/redux").UnknownAction, unknown> | undefined;
|
|
44
|
+
}>;
|
|
40
45
|
export default _default;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { VersionStatus } from 'contensis-core-api';
|
|
2
|
-
import { Entry, Node } from 'contensis-delivery-api
|
|
3
|
-
import { Group, User } from 'contensis-management-api
|
|
4
|
-
import { MatchedRoute } from
|
|
5
|
-
import { StaticRoute } from './StaticRoute';
|
|
2
|
+
import { Entry, Node } from 'contensis-delivery-api';
|
|
3
|
+
import { Group, User } from 'contensis-management-api';
|
|
4
|
+
import { StaticRoute, MatchedRoute } from "./";
|
|
6
5
|
export type AppState = {
|
|
7
6
|
navigation: {
|
|
8
7
|
root: Node | null;
|
|
@@ -32,7 +31,7 @@ export type AppState = {
|
|
|
32
31
|
};
|
|
33
32
|
mappedEntry: Record<string, any> | null;
|
|
34
33
|
notFound: boolean;
|
|
35
|
-
staticRoute: MatchedRoute<
|
|
34
|
+
staticRoute: MatchedRoute<string, StaticRoute>;
|
|
36
35
|
statusCode: number;
|
|
37
36
|
};
|
|
38
37
|
user: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useLocation } from 'react-router-dom';
|
|
2
|
-
import {
|
|
2
|
+
import { AppRoutes } from './AppRouteProps';
|
|
3
|
+
import { MatchedRoute } from './MatchedRoute';
|
|
3
4
|
import { SSRContext } from './SSRContext';
|
|
4
5
|
import { StaticRoute } from './StaticRoute';
|
|
5
|
-
import { AppRoutes } from './AppRouteProps';
|
|
6
6
|
import { WithEvents } from './WithEvents';
|
|
7
7
|
export type GetRouteActionArgs = {
|
|
8
8
|
location: ReturnType<typeof useLocation>;
|
|
@@ -3,9 +3,32 @@ import { Dispatch } from "../../node_modules/redux";
|
|
|
3
3
|
import { CookieHelper } from "../user/util/CookieHelper.class";
|
|
4
4
|
import { cachedSearchWithCookies } from "../util";
|
|
5
5
|
export type SSRContext = {
|
|
6
|
+
/** SSR only */
|
|
7
|
+
accessMethod?: SSRAccessMethod;
|
|
8
|
+
/** Available in both SSR and client side */
|
|
6
9
|
api: ReturnType<typeof cachedSearchWithCookies>;
|
|
10
|
+
/** Available in both SSR and client side */
|
|
7
11
|
cookies: CookieHelper;
|
|
12
|
+
/** Available in both SSR and client side */
|
|
8
13
|
dispatch: Dispatch<any>;
|
|
14
|
+
/** SSR only */
|
|
9
15
|
request?: Request;
|
|
16
|
+
/** SSR only */
|
|
10
17
|
response?: Response;
|
|
18
|
+
/** SSR only */
|
|
19
|
+
ssrAssets?: SSRAssets;
|
|
20
|
+
};
|
|
21
|
+
export type SSRAccessMethod = {
|
|
22
|
+
DYNAMIC: boolean;
|
|
23
|
+
REDUX: boolean;
|
|
24
|
+
FRAGMENT: boolean;
|
|
25
|
+
STATIC: boolean;
|
|
26
|
+
};
|
|
27
|
+
export type SSRAssets = {
|
|
28
|
+
bundleTags?: string;
|
|
29
|
+
htmlAttributes?: string;
|
|
30
|
+
metadata?: string;
|
|
31
|
+
serializedState?: string;
|
|
32
|
+
styleTags?: string;
|
|
33
|
+
title?: string;
|
|
11
34
|
};
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { FieldLinkDepths } from 'contensis-core-api';
|
|
2
|
-
import { RouteComponentProps } from 'react-router-dom';
|
|
3
2
|
import { RouteComponent } from './RouteComponent';
|
|
3
|
+
import { RouteComponentProps } from './RouteComponentProps';
|
|
4
4
|
import { EntryMapper } from './EntryMapper';
|
|
5
5
|
import { ReduxInjector } from './ReduxInjector';
|
|
6
6
|
import { RequireLogin } from './RequireLogin';
|
|
7
|
-
import {
|
|
8
|
-
export type StaticRoute = Omit<
|
|
7
|
+
import type { RouteObject } from 'react-router';
|
|
8
|
+
export type StaticRoute = Omit<RouteObject, 'children'> & {
|
|
9
|
+
index?: false | undefined;
|
|
10
|
+
children?: StaticRoute[];
|
|
11
|
+
/** Stores the full matched path for child routes */
|
|
12
|
+
fullPath?: string;
|
|
9
13
|
/**
|
|
10
14
|
* The React component that should be rendered for this route.
|
|
11
15
|
*/
|
|
12
|
-
component
|
|
16
|
+
component?: RouteComponent<RouteComponentProps>;
|
|
13
17
|
/**
|
|
14
18
|
* Options for configuring how Site View Node data is handled.
|
|
15
19
|
*/
|
|
@@ -2,6 +2,7 @@ import { AppRoutes } from '../AppRouteProps';
|
|
|
2
2
|
import { WithEvents } from '../WithEvents';
|
|
3
3
|
import { StateType } from './StateType';
|
|
4
4
|
export type AppConfig = {
|
|
5
|
+
/** @deprecated Immutable.js library is deprecated and may be removed in future versions. A plain js (and immutable) state is provided by immer package by default */
|
|
5
6
|
stateType?: StateType;
|
|
6
7
|
routes: AppRoutes;
|
|
7
8
|
withReducers: {
|
package/models/models/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from './AppState';
|
|
|
4
4
|
export * from './ContentTypeMapping';
|
|
5
5
|
export * from './EntryMapper';
|
|
6
6
|
export * from './GetRouteActionArgs';
|
|
7
|
+
export * from './MatchedRoute';
|
|
7
8
|
export * from './ReduxInjector';
|
|
8
9
|
export * from './RequireLogin';
|
|
9
10
|
export * from './RouteComponent';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export function history(options?: {}): import("history").
|
|
2
|
-
export const browserHistory: import("history").
|
|
1
|
+
export function history(options?: {}): import("history").BrowserHistory;
|
|
2
|
+
export const browserHistory: import("history").BrowserHistory;
|
|
@@ -2,14 +2,14 @@ export function convertSagaArray(sagas: any): any;
|
|
|
2
2
|
export function injectReducer({ key, reducer }: {
|
|
3
3
|
key: any;
|
|
4
4
|
reducer: any;
|
|
5
|
-
}, store?: import("../../../node_modules/redux").Store<import("../..").AppState, import("../../../node_modules/redux").Action
|
|
5
|
+
}, store?: import("../../../node_modules/redux").Store<import("../..").AppState, import("../../../node_modules/redux").Action, unknown> & {
|
|
6
6
|
runSaga: <S extends import("redux-saga").Saga>(saga: S, ...args: Parameters<S>) => import("redux-saga").Task<any>;
|
|
7
7
|
close: () => void;
|
|
8
8
|
}): void;
|
|
9
9
|
export function injectSaga({ key, saga }: {
|
|
10
10
|
key: any;
|
|
11
11
|
saga: any;
|
|
12
|
-
}, store?: import("../../../node_modules/redux").Store<import("../..").AppState, import("../../../node_modules/redux").Action
|
|
12
|
+
}, store?: import("../../../node_modules/redux").Store<import("../..").AppState, import("../../../node_modules/redux").Action, unknown> & {
|
|
13
13
|
runSaga: <S extends import("redux-saga").Saga>(saga: S, ...args: Parameters<S>) => import("redux-saga").Task<any>;
|
|
14
14
|
close: () => void;
|
|
15
15
|
}): void;
|
|
@@ -17,7 +17,7 @@ export function injectRedux({ key, reducer, saga }: {
|
|
|
17
17
|
key: any;
|
|
18
18
|
reducer: any;
|
|
19
19
|
saga: any;
|
|
20
|
-
}, store?: import("../../../node_modules/redux").Store<import("../..").AppState, import("../../../node_modules/redux").Action
|
|
20
|
+
}, store?: import("../../../node_modules/redux").Store<import("../..").AppState, import("../../../node_modules/redux").Action, unknown> & {
|
|
21
21
|
runSaga: <S extends import("redux-saga").Saga>(saga: S, ...args: Parameters<S>) => import("redux-saga").Task<any>;
|
|
22
22
|
close: () => void;
|
|
23
23
|
}): void;
|
|
@@ -25,7 +25,7 @@ export function useInjectRedux({ key, reducer, saga }: {
|
|
|
25
25
|
key: any;
|
|
26
26
|
reducer: any;
|
|
27
27
|
saga: any;
|
|
28
|
-
}, store?: import("../../../node_modules/redux").Store<import("../..").AppState, import("../../../node_modules/redux").Action
|
|
28
|
+
}, store?: import("../../../node_modules/redux").Store<import("../..").AppState, import("../../../node_modules/redux").Action, unknown> & {
|
|
29
29
|
runSaga: <S extends import("redux-saga").Saga>(saga: S, ...args: Parameters<S>) => import("redux-saga").Task<any>;
|
|
30
30
|
close: () => void;
|
|
31
31
|
}): void;
|
|
@@ -2,7 +2,7 @@ import { Action, Store } from "../../../node_modules/redux";
|
|
|
2
2
|
import createSagaMiddleware from 'redux-saga';
|
|
3
3
|
import { AppState, StateType } from "../../models";
|
|
4
4
|
import { History, MemoryHistory } from 'history';
|
|
5
|
-
type ReduxAppStore = Store<AppState, Action
|
|
5
|
+
type ReduxAppStore = Store<AppState, Action>;
|
|
6
6
|
type ReduxSagaAppStore = ReduxAppStore & {
|
|
7
7
|
runSaga: ReturnType<typeof createSagaMiddleware>['run'];
|
|
8
8
|
close: () => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { AppRootProps, RouteLoaderProps } from "../../models";
|
|
3
|
-
declare const _default: (props: AppRootProps & RouteLoaderProps) =>
|
|
3
|
+
declare const _default: (props: AppRootProps & RouteLoaderProps) => JSX.Element;
|
|
4
4
|
export default _default;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export * as types from './redux/types';
|
|
2
2
|
export * as actions from './redux/actions';
|
|
3
3
|
export * as selectors from './redux/selectors';
|
|
4
|
+
export { useHttpContext } from './httpContext';
|
|
5
|
+
export { Redirect } from './components/Redirect';
|
|
6
|
+
export { Status } from './components/Status';
|
|
4
7
|
export { default as RouteLoader } from './components/RouteLoader';
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { useLocation } from 'react-router-dom';
|
|
2
2
|
import { Entry } from 'contensis-delivery-api/lib/models';
|
|
3
|
-
import { MatchedRoute,
|
|
4
|
-
|
|
5
|
-
export declare const setNavigationPath: (path: string, location: ReturnType<typeof useLocation>, staticRoute: MatchedRoute<any, RouteConfig> | undefined, withEvents: WithEvents, statePath: string, routes: AppRoutes, ssr: SSRContext) => any;
|
|
3
|
+
import { AppRoutes, MatchedRoute, StaticRoute, SSRContext, WithEvents } from "../../models";
|
|
4
|
+
export declare const setNavigationPath: (path: string, location: ReturnType<typeof useLocation>, staticRoute: MatchedRoute<string, StaticRoute> | undefined, withEvents: WithEvents, statePath: string, routes: AppRoutes, ssr: SSRContext) => any;
|
|
6
5
|
export declare const setCurrentProject: (project: string, allowedGroups: any, hostname: string) => any;
|
|
7
6
|
export declare const setRoute: (path: string, state?: any) => any;
|
|
8
7
|
export declare const setRouteEntry: (entry: Entry) => any;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Mappers } from '../models/Search';
|
|
3
|
-
declare const withListing: (mappers: Mappers) => <Props extends Record<string, any>>(ListingComponent: React.FC<Props>) => import("react-redux").ConnectedComponent<any,
|
|
3
|
+
declare const withListing: (mappers: Mappers) => <Props extends Record<string, any>>(ListingComponent: React.FC<Props>) => import("react-redux").ConnectedComponent<any, {
|
|
4
|
+
context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("../../../node_modules/redux").UnknownAction> | null> | undefined;
|
|
5
|
+
store?: import("../../../node_modules/redux").Store<any, import("../../../node_modules/redux").UnknownAction, unknown> | undefined;
|
|
6
|
+
}>;
|
|
4
7
|
export default withListing;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Mappers } from '../models/Search';
|
|
3
|
-
declare const withSearch: (mappers: Mappers) => <Props extends Record<string, any>>(SearchComponent: React.ComponentType<Props>) => import("react-redux").ConnectedComponent<any,
|
|
3
|
+
declare const withSearch: (mappers: Mappers) => <Props extends Record<string, any>>(SearchComponent: React.ComponentType<Props>) => import("react-redux").ConnectedComponent<any, {
|
|
4
|
+
context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("../../../node_modules/redux").UnknownAction> | null> | undefined;
|
|
5
|
+
store?: import("../../../node_modules/redux").Store<any, import("../../../node_modules/redux").UnknownAction, unknown> | undefined;
|
|
6
|
+
}>;
|
|
4
7
|
export default withSearch;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import { Transform, Writable } from 'stream';
|
|
5
|
+
import { ServerStyleSheet } from 'styled-components';
|
|
6
|
+
/**
|
|
7
|
+
* Render React JSX (and surrounding HTML document) via React's
|
|
8
|
+
* renderToPipeableStream method
|
|
9
|
+
* @param getContextHtml a function to produce the correct HTML template that surrounds the JSX "App" with all available document assets injected
|
|
10
|
+
* @param jsx the JSX to render via a streamed response
|
|
11
|
+
* @param response the express Response object
|
|
12
|
+
* @param stream all chunks are piped to this stream to add additional style elements to each streamed chunk
|
|
13
|
+
*/
|
|
14
|
+
export declare const renderStream: (getContextHtml: (isFinal?: boolean) => string, jsx: ReactNode, response: Response, stream: Writable) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Generate and add styled-components CSS to the streamed
|
|
17
|
+
* chunks of rendered HTML via renderToPipeableStream
|
|
18
|
+
*
|
|
19
|
+
* Workaround for Styled Components issue: React 18 Streaming SSR #3658
|
|
20
|
+
* https://github.com/styled-components/styled-components/issues/3658#issuecomment-2480721193
|
|
21
|
+
* credit: https://github.com/rurquia/styled-components-ssr-3658/blob/main/server/render.js
|
|
22
|
+
* @param sheet styled-components ServerStyleSheet
|
|
23
|
+
* @returns Transform Stream
|
|
24
|
+
*/
|
|
25
|
+
export declare const styledComponentsStream: (sheet: ServerStyleSheet) => Transform;
|
|
26
|
+
export declare const renderToString: () => void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add assets to templateHTML in the positions represented
|
|
3
|
+
* by replacing specific keys wrapped in handlebars depending
|
|
4
|
+
* on the accessMethod(s) that have been set (or updated)
|
|
5
|
+
* while processing the request
|
|
6
|
+
*/
|
|
7
|
+
export declare const replaceHtml: ({ bundleTags, html, htmlAttributes, metadata, state, styleTags, title, templateHTML, templateHTMLFragment, templateHTMLStatic, }: {
|
|
8
|
+
bundleTags?: string | undefined;
|
|
9
|
+
html?: string | undefined;
|
|
10
|
+
htmlAttributes?: string | undefined;
|
|
11
|
+
metadata?: string | undefined;
|
|
12
|
+
state?: string | undefined;
|
|
13
|
+
styleTags?: string | undefined;
|
|
14
|
+
title?: string | undefined;
|
|
15
|
+
templateHTML?: string | undefined;
|
|
16
|
+
templateHTMLFragment?: string | undefined;
|
|
17
|
+
templateHTMLStatic?: string | undefined;
|
|
18
|
+
}, accessMethod: {
|
|
19
|
+
DYNAMIC: boolean;
|
|
20
|
+
REDUX: boolean;
|
|
21
|
+
FRAGMENT: boolean;
|
|
22
|
+
STATIC: boolean;
|
|
23
|
+
}) => string;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ChunkExtractor } from '@loadable/server';
|
|
2
|
+
import { Request, Response } from 'express';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { ServerStyleSheet } from 'styled-components';
|
|
5
|
+
import Cookies from 'universal-cookie';
|
|
6
|
+
import { AppRoutes, SSRAccessMethod, WithEvents } from "../../models";
|
|
7
|
+
import { reduxStore } from "../../redux/store/store";
|
|
8
|
+
import { HttpContextValues } from "../../routing/httpContext";
|
|
9
|
+
/**
|
|
10
|
+
* Produce the JSX wrapped in the necessary Providers
|
|
11
|
+
* to render the app in SSR
|
|
12
|
+
* @param ReactApp the JSX to render
|
|
13
|
+
* @param { providers, props, ssrAssets }
|
|
14
|
+
* @returns the final JSX to render decorated with all Provider and App props
|
|
15
|
+
*/
|
|
16
|
+
export declare const ssrJsxProducer: (ReactApp: React.ComponentType<any>, { providers, props, ssrAssets, }: {
|
|
17
|
+
/** Providers enrich the JSX */
|
|
18
|
+
providers: {
|
|
19
|
+
loadable: {
|
|
20
|
+
extractor: ChunkExtractor;
|
|
21
|
+
};
|
|
22
|
+
cookies?: Cookies;
|
|
23
|
+
redux: typeof reduxStore;
|
|
24
|
+
httpContext: HttpContextValues;
|
|
25
|
+
router: {
|
|
26
|
+
url: string;
|
|
27
|
+
};
|
|
28
|
+
styledComponents?: {
|
|
29
|
+
sheet: ServerStyleSheet;
|
|
30
|
+
};
|
|
31
|
+
ssrContext: {
|
|
32
|
+
accessMethod: SSRAccessMethod;
|
|
33
|
+
request: Request;
|
|
34
|
+
response: Response;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
/** Props are supplied to the ReactApp */
|
|
38
|
+
props: {
|
|
39
|
+
routes: AppRoutes;
|
|
40
|
+
withEvents: WithEvents;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* SSR Assets are passed in here when they become available
|
|
44
|
+
* allowing the ReactApp to control the render for the
|
|
45
|
+
* entire HTML document
|
|
46
|
+
*/
|
|
47
|
+
ssrAssets?: {
|
|
48
|
+
bundleTags?: string;
|
|
49
|
+
htmlAttributes?: string;
|
|
50
|
+
metadata?: string;
|
|
51
|
+
serializedState?: string;
|
|
52
|
+
styleTags?: string;
|
|
53
|
+
title?: string;
|
|
54
|
+
};
|
|
55
|
+
}) => React.JSX.Element;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export default withRegistration;
|
|
2
2
|
declare function withRegistration(WrappedComponent: any): import("react-redux").ConnectedComponent<(wrappedComponentProps: {
|
|
3
3
|
[key: string]: any;
|
|
4
|
-
}) => import("react").JSX.Element,
|
|
5
|
-
[
|
|
6
|
-
|
|
4
|
+
}) => import("react").JSX.Element, {
|
|
5
|
+
[x: string]: any;
|
|
6
|
+
[x: number]: any;
|
|
7
|
+
context?: import("react").Context<import("react-redux").ReactReduxContextValue<any, import("../../../node_modules/redux").UnknownAction> | null> | undefined;
|
|
8
|
+
store?: import("../../../node_modules/redux").Store<any, import("../../../node_modules/redux").UnknownAction, unknown> | undefined;
|
|
9
|
+
}>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="qs" />
|
|
2
1
|
/// <reference types="node" />
|
|
3
2
|
import { VersionStatus } from 'contensis-core-api';
|
|
4
3
|
import { Client, Query } from 'contensis-delivery-api';
|
|
@@ -14,7 +13,7 @@ export declare class DeliveryApi {
|
|
|
14
13
|
ssr?: SSRContext;
|
|
15
14
|
constructor(ssr?: SSRContext);
|
|
16
15
|
getClientSideVersionStatus: () => any;
|
|
17
|
-
getServerSideVersionStatus: (request: Request) => string |
|
|
16
|
+
getServerSideVersionStatus: (request: Request) => string | import("qs").ParsedQs | (string | import("qs").ParsedQs)[];
|
|
18
17
|
getVersionStatusFromHeaders: (headers: IncomingHttpHeaders) => string | string[] | null;
|
|
19
18
|
getVersionStatusFromHostname: (currentHostname: string) => "published" | "latest";
|
|
20
19
|
search: (query: Query, linkDepth?: number, project?: string) => Promise<import("contensis-core-api").PagedSearchList<import("contensis-delivery-api").Entry>>;
|
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
import { Request, Response } from 'express';
|
|
2
2
|
import React, { PropsWithChildren } from 'react';
|
|
3
|
-
import { SSRContext as SSRContextType } from "../models";
|
|
4
|
-
/**
|
|
5
|
-
*
|
|
3
|
+
import { SSRAccessMethod, SSRAssets, SSRContext as SSRContextType } from "../models";
|
|
4
|
+
/**
|
|
5
|
+
* SSRContextProvider allows us to hold and access request-scoped references
|
|
6
|
+
* throughout the component tree
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
|
|
8
|
+
* adding this in client side allows consumers to write universal code and use
|
|
9
|
+
* the same helpers and request-scoped refs for api, cookies and redux dispatcher
|
|
10
|
+
* as in SSR */
|
|
11
|
+
export declare const SSRContextProvider: ({ accessMethod, children, request, response, ssrAssets, }: PropsWithChildren<{
|
|
12
|
+
accessMethod?: SSRAccessMethod;
|
|
10
13
|
request?: Request;
|
|
11
14
|
response?: Response;
|
|
15
|
+
ssrAssets?: SSRAssets;
|
|
12
16
|
}>) => React.JSX.Element;
|
|
17
|
+
/**
|
|
18
|
+
* Server side usage provides access to request-scoped references throughout the component tree
|
|
19
|
+
*
|
|
20
|
+
* Client side usage allows consumers to write universal code, using the same
|
|
21
|
+
* helpers and request-scoped refs for api, cookies and redux dispatcher as in SSR
|
|
22
|
+
* @returns SSRContextType
|
|
23
|
+
*/
|
|
13
24
|
export declare const useSSRContext: () => SSRContextType;
|
|
14
25
|
export declare const useDeliveryApi: () => {
|
|
15
26
|
cache: import("./LruCache").LruCache;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const mergeStaticRoutes: (matchedStaticRoute: any) => void;
|