@croct/plug-react 0.4.2 → 0.5.0-next.2
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/CroctProvider.d.ts +7 -7
- package/CroctProvider.js +37 -0
- package/CroctProvider.js.map +1 -0
- package/README.md +245 -107
- package/api/evaluate.d.ts +7 -0
- package/api/evaluate.js +15 -0
- package/api/evaluate.js.map +1 -0
- package/api/fetchContent.d.ts +13 -0
- package/api/fetchContent.js +20 -0
- package/api/fetchContent.js.map +1 -0
- package/api/index.d.ts +2 -0
- package/api/index.js +19 -0
- package/api/index.js.map +1 -0
- package/components/Personalization/index.d.ts +10 -10
- package/components/Personalization/index.js +13 -0
- package/components/Personalization/index.js.map +1 -0
- package/components/Slot/index.d.ts +19 -19
- package/components/Slot/index.js +13 -0
- package/components/Slot/index.js.map +1 -0
- package/components/index.d.ts +2 -2
- package/components/index.js +19 -0
- package/components/index.js.map +1 -0
- package/hooks/Cache.d.ts +22 -22
- package/hooks/Cache.js +62 -0
- package/hooks/Cache.js.map +1 -0
- package/hooks/index.d.ts +3 -3
- package/hooks/index.js +20 -0
- package/hooks/index.js.map +1 -0
- package/hooks/useContent.d.ts +18 -17
- package/hooks/useContent.js +25 -0
- package/hooks/useContent.js.map +1 -0
- package/hooks/useCroct.d.ts +2 -2
- package/hooks/useCroct.js +14 -0
- package/hooks/useCroct.js.map +1 -0
- package/hooks/useEvaluation.d.ts +11 -11
- package/hooks/useEvaluation.js +35 -0
- package/hooks/useEvaluation.js.map +1 -0
- package/hooks/useLoader.d.ts +5 -5
- package/hooks/useLoader.js +41 -0
- package/hooks/useLoader.js.map +1 -0
- package/index.d.ts +5 -3
- package/index.js +20 -337
- package/index.js.map +1 -1
- package/package.json +33 -46
- package/src/api/evaluate.test.ts +59 -0
- package/src/api/evaluate.ts +19 -0
- package/src/api/fetchContent.test.ts +134 -0
- package/src/api/fetchContent.ts +47 -0
- package/src/api/index.ts +2 -0
- package/src/components/index.ts +2 -0
- package/src/global.d.ts +7 -0
- package/src/hooks/Cache.test.ts +280 -0
- package/src/hooks/Cache.ts +97 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useContent.ssr.test.ts +23 -0
- package/src/hooks/useContent.test.ts +66 -0
- package/src/hooks/useContent.ts +69 -0
- package/src/hooks/useCroct.ts +13 -0
- package/src/hooks/useEvaluation.ssr.test.ts +23 -0
- package/src/hooks/useEvaluation.test.ts +92 -0
- package/src/hooks/useEvaluation.ts +58 -0
- package/src/hooks/useLoader.test.ts +320 -0
- package/src/hooks/useLoader.ts +50 -0
- package/src/index.ts +5 -0
- package/src/react-app-env.d.ts +1 -0
- package/src/ssr-polyfills.ssr.test.ts +46 -0
- package/src/ssr-polyfills.test.ts +65 -0
- package/src/ssr-polyfills.ts +68 -0
- package/ssr-polyfills.d.ts +3 -3
- package/ssr-polyfills.js +64 -0
- package/ssr-polyfills.js.map +1 -0
- package/CroctProvider.test.d.ts +0 -1
- package/components/Personalization/index.d.test.d.ts +0 -1
- package/components/Personalization/index.stories.d.ts +0 -7
- package/components/Personalization/index.test.d.ts +0 -1
- package/components/Slot/index.d.test.d.ts +0 -1
- package/components/Slot/index.stories.d.ts +0 -17
- package/components/Slot/index.test.d.ts +0 -1
- package/hooks/Cache.test.d.ts +0 -1
- package/hooks/useContent.d.test.d.ts +0 -1
- package/hooks/useContent.ssr.test.d.ts +0 -1
- package/hooks/useContent.stories.d.ts +0 -19
- package/hooks/useContent.test.d.ts +0 -1
- package/hooks/useCroct.ssr.test.d.ts +0 -1
- package/hooks/useCroct.test.d.ts +0 -1
- package/hooks/useEvaluation.d.test.d.ts +0 -1
- package/hooks/useEvaluation.ssr.test.d.ts +0 -1
- package/hooks/useEvaluation.stories.d.ts +0 -8
- package/hooks/useEvaluation.test.d.ts +0 -1
- package/hooks/useLoader.test.d.ts +0 -1
- package/ssr-polyfills.ssr.test.d.ts +0 -1
- package/ssr-polyfills.test.d.ts +0 -1
package/CroctProvider.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FunctionComponent, PropsWithChildren } from 'react';
|
|
2
|
-
import { Configuration, Plug } from '@croct/plug';
|
|
3
|
-
export
|
|
4
|
-
export declare const CroctContext: import("react").Context<{
|
|
5
|
-
plug: Plug;
|
|
6
|
-
} | null>;
|
|
7
|
-
export declare const CroctProvider: FunctionComponent<CroctProviderProps>;
|
|
1
|
+
import { FunctionComponent, PropsWithChildren } from 'react';
|
|
2
|
+
import { Configuration, Plug } from '@croct/plug';
|
|
3
|
+
export type CroctProviderProps = PropsWithChildren<Configuration & Required<Pick<Configuration, 'appId'>>>;
|
|
4
|
+
export declare const CroctContext: import("react").Context<{
|
|
5
|
+
plug: Plug;
|
|
6
|
+
} | null>;
|
|
7
|
+
export declare const CroctProvider: FunctionComponent<CroctProviderProps>;
|
package/CroctProvider.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CroctProvider = exports.CroctContext = void 0;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const ssr_polyfills_1 = require("./ssr-polyfills");
|
|
8
|
+
exports.CroctContext = (0, react_1.createContext)(null);
|
|
9
|
+
exports.CroctContext.displayName = 'CroctContext';
|
|
10
|
+
const CroctProvider = (props) => {
|
|
11
|
+
const { children, ...configuration } = props;
|
|
12
|
+
const parent = (0, react_1.useContext)(exports.CroctContext);
|
|
13
|
+
const initialConfiguration = (0, react_1.useRef)(configuration);
|
|
14
|
+
if (parent !== null) {
|
|
15
|
+
throw new Error('You cannot render <CroctProvider> inside another <CroctProvider>. '
|
|
16
|
+
+ 'Croct should only be initialized once in the application.');
|
|
17
|
+
}
|
|
18
|
+
const context = (0, react_1.useMemo)(() => ({
|
|
19
|
+
get plug() {
|
|
20
|
+
if (!ssr_polyfills_1.croct.initialized) {
|
|
21
|
+
ssr_polyfills_1.croct.plug(initialConfiguration.current);
|
|
22
|
+
}
|
|
23
|
+
return ssr_polyfills_1.croct;
|
|
24
|
+
},
|
|
25
|
+
}), []);
|
|
26
|
+
(0, react_1.useEffect)(() => {
|
|
27
|
+
ssr_polyfills_1.croct.plug(initialConfiguration.current);
|
|
28
|
+
return () => {
|
|
29
|
+
ssr_polyfills_1.croct.unplug().catch(() => {
|
|
30
|
+
// Suppress errors.
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
}, []);
|
|
34
|
+
return ((0, jsx_runtime_1.jsx)(exports.CroctContext.Provider, { value: context, children: children }));
|
|
35
|
+
};
|
|
36
|
+
exports.CroctProvider = CroctProvider;
|
|
37
|
+
//# sourceMappingURL=CroctProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CroctProvider.js","sourceRoot":"","sources":["src/CroctProvider.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;AAEb,iCASe;AAEf,mDAAsC;AAIzB,QAAA,YAAY,GAAG,IAAA,qBAAa,EAAoB,IAAI,CAAC,CAAC;AACnE,oBAAY,CAAC,WAAW,GAAG,cAAc,CAAC;AAEnC,MAAM,aAAa,GAA0C,CAAC,KAAK,EAAgB,EAAE;IACxF,MAAM,EAAC,QAAQ,EAAE,GAAG,aAAa,EAAC,GAAG,KAAK,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,oBAAY,CAAC,CAAC;IACxC,MAAM,oBAAoB,GAAG,IAAA,cAAM,EAAC,aAAa,CAAC,CAAC;IAEnD,IAAI,MAAM,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,KAAK,CACX,oEAAoE;cAClE,2DAA2D,CAChE,CAAC;KACL;IAED,MAAM,OAAO,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CAAC,CAAC;QACH,IAAI,IAAI;YACJ,IAAI,CAAC,qBAAK,CAAC,WAAW,EAAE;gBACpB,qBAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;aAC5C;YAED,OAAO,qBAAK,CAAC;QACjB,CAAC;KACJ,CAAC,EACF,EAAE,CACL,CAAC;IAEF,IAAA,iBAAS,EACL,GAAG,EAAE;QACD,qBAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEzC,OAAO,GAAG,EAAE;YACR,qBAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBACtB,mBAAmB;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACN,CAAC,EACD,EAAE,CACL,CAAC;IAEF,OAAO,CACH,uBAAC,oBAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAChC,QAAQ,GACW,CAC3B,CAAC;AACN,CAAC,CAAC;AA3CW,QAAA,aAAa,iBA2CxB"}
|