@croct/plug-react 0.9.0 → 0.11.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/CroctProvider.cjs +81 -0
- package/CroctProvider.d.cts +11 -0
- package/CroctProvider.d.ts +8 -4
- package/CroctProvider.js +57 -46
- package/api.cjs +22 -0
- package/{src/react-app-env.d.ts → api.d.cts} +1 -0
- package/api.d.ts +1 -0
- package/api.js +1 -18
- package/components/Personalization/index.cjs +36 -0
- package/components/Personalization/index.d.cts +13 -0
- package/components/Personalization/index.d.ts +7 -4
- package/components/Personalization/index.js +10 -11
- package/components/Slot/index.cjs +36 -0
- package/components/Slot/index.d.cts +22 -0
- package/components/Slot/index.d.ts +9 -6
- package/components/Slot/index.js +10 -12
- package/components/index.cjs +24 -0
- package/components/index.d.cts +9 -0
- package/components/index.d.ts +9 -2
- package/components/index.js +2 -19
- package/global.d.cjs +1 -0
- package/{src/global.d.ts → global.d.d.cts} +1 -1
- package/global.d.d.ts +7 -0
- package/global.d.js +0 -0
- package/hash.cjs +36 -0
- package/hash.d.cts +2 -0
- package/hash.d.ts +2 -1
- package/hash.js +10 -11
- package/hooks/Cache.cjs +88 -0
- package/hooks/Cache.d.cts +9 -0
- package/hooks/Cache.d.ts +4 -17
- package/hooks/Cache.js +58 -56
- package/hooks/index.cjs +26 -0
- package/hooks/index.d.cts +8 -0
- package/hooks/index.d.ts +8 -3
- package/hooks/index.js +3 -20
- package/hooks/useContent.cjs +92 -0
- package/hooks/useContent.d.cts +20 -0
- package/hooks/useContent.d.ts +6 -5
- package/hooks/useContent.js +65 -42
- package/hooks/useCroct.cjs +38 -0
- package/hooks/useCroct.d.cts +5 -0
- package/hooks/useCroct.d.ts +4 -1
- package/hooks/useCroct.js +12 -12
- package/hooks/useEvaluation.cjs +85 -0
- package/hooks/useEvaluation.d.cts +14 -0
- package/hooks/useEvaluation.d.ts +5 -3
- package/hooks/useEvaluation.js +54 -45
- package/hooks/useLoader.cjs +82 -0
- package/hooks/useLoader.d.cts +7 -0
- package/hooks/useLoader.d.ts +5 -3
- package/hooks/useLoader.js +54 -59
- package/index.cjs +32 -0
- package/index.d.cts +13 -0
- package/index.d.ts +10 -3
- package/index.js +6 -23
- package/package.json +50 -19
- package/react-app-env.d.cjs +1 -0
- package/react-app-env.d.d.cts +2 -0
- package/react-app-env.d.d.ts +2 -0
- package/react-app-env.d.js +0 -0
- package/ssr-polyfills.cjs +86 -0
- package/ssr-polyfills.d.cts +2 -0
- package/ssr-polyfills.d.ts +2 -3
- package/ssr-polyfills.js +49 -64
- package/CroctProvider.js.map +0 -1
- package/api.js.map +0 -1
- package/components/Personalization/index.js.map +0 -1
- package/components/Slot/index.js.map +0 -1
- package/components/index.js.map +0 -1
- package/hash.js.map +0 -1
- package/hooks/Cache.js.map +0 -1
- package/hooks/index.js.map +0 -1
- package/hooks/useContent.js.map +0 -1
- package/hooks/useCroct.js.map +0 -1
- package/hooks/useEvaluation.js.map +0 -1
- package/hooks/useLoader.js.map +0 -1
- package/index.js.map +0 -1
- package/src/api.ts +0 -1
- package/src/components/index.ts +0 -2
- package/src/hash.test.ts +0 -22
- package/src/hash.ts +0 -12
- package/src/hooks/Cache.test.ts +0 -280
- package/src/hooks/Cache.ts +0 -97
- package/src/hooks/index.ts +0 -3
- package/src/hooks/useContent.ssr.test.ts +0 -23
- package/src/hooks/useContent.test.ts +0 -183
- package/src/hooks/useContent.ts +0 -107
- package/src/hooks/useCroct.ts +0 -16
- package/src/hooks/useEvaluation.ssr.test.ts +0 -23
- package/src/hooks/useEvaluation.test.ts +0 -180
- package/src/hooks/useEvaluation.ts +0 -94
- package/src/hooks/useLoader.test.ts +0 -407
- package/src/hooks/useLoader.ts +0 -84
- package/src/index.ts +0 -6
- package/src/ssr-polyfills.ssr.test.ts +0 -46
- package/src/ssr-polyfills.test.ts +0 -65
- package/src/ssr-polyfills.ts +0 -70
- package/ssr-polyfills.js.map +0 -1
package/src/ssr-polyfills.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import csrPlug, {Plug} from '@croct/plug';
|
|
2
|
-
|
|
3
|
-
export function isSsr(): boolean {
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain -- The window can be undefined.
|
|
5
|
-
return typeof window === 'undefined'
|
|
6
|
-
|| typeof window.document === 'undefined'
|
|
7
|
-
|| typeof window.document.createElement === 'undefined';
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const croct: Plug = !isSsr()
|
|
11
|
-
? (function factory(): Plug {
|
|
12
|
-
let timeoutId: ReturnType<typeof setTimeout>|null = null;
|
|
13
|
-
let resolveCallback: () => void;
|
|
14
|
-
let rejectCallback: (reason: any) => void;
|
|
15
|
-
|
|
16
|
-
return new Proxy(csrPlug, {
|
|
17
|
-
get: function getProperty(target, property: keyof Plug): any {
|
|
18
|
-
switch (property) {
|
|
19
|
-
case 'plug':
|
|
20
|
-
if (timeoutId !== null) {
|
|
21
|
-
clearTimeout(timeoutId);
|
|
22
|
-
timeoutId = null;
|
|
23
|
-
rejectCallback?.(new Error('Unplug cancelled.'));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
break;
|
|
27
|
-
|
|
28
|
-
case 'unplug':
|
|
29
|
-
return () => {
|
|
30
|
-
// Delay unplugging to avoid reconnections between remounts (e.g. strict mode).
|
|
31
|
-
// It can be problematic when aiming to replug the SDK with a different configuration.
|
|
32
|
-
// However, since it is an unusual use case and there is a log message to warn about
|
|
33
|
-
// the plugin being already plugged, the trade-off is worth it.
|
|
34
|
-
timeoutId = setTimeout(() => target.unplug().then(resolveCallback, rejectCallback), 100);
|
|
35
|
-
|
|
36
|
-
return new Promise<void>((resolve, reject) => {
|
|
37
|
-
resolveCallback = resolve;
|
|
38
|
-
rejectCallback = reject;
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return target[property];
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
}())
|
|
47
|
-
: new Proxy(csrPlug, {
|
|
48
|
-
get: function getProperty(_, property: keyof Plug): any {
|
|
49
|
-
switch (property) {
|
|
50
|
-
case 'initialized':
|
|
51
|
-
return false;
|
|
52
|
-
|
|
53
|
-
case 'plug':
|
|
54
|
-
return () => {
|
|
55
|
-
// no-op
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
case 'unplug':
|
|
59
|
-
return () => Promise.resolve();
|
|
60
|
-
|
|
61
|
-
default:
|
|
62
|
-
throw new Error(
|
|
63
|
-
`Property croct.${String(property)} is not supported on server-side (SSR). `
|
|
64
|
-
+ 'Consider refactoring the logic as a side-effect (useEffect) or a client-side callback '
|
|
65
|
-
+ '(onClick, onChange, etc). '
|
|
66
|
-
+ 'For help, see https://croct.help/sdk/react/client-logic-ssr',
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
});
|
package/ssr-polyfills.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ssr-polyfills.js","sourceRoot":"","sources":["src/ssr-polyfills.ts"],"names":[],"mappings":";;;;;;AAEA,sBAKC;AAPD,uDAA0C;AAE1C,SAAgB,KAAK;IACjB,oGAAoG;IACpG,OAAO,OAAO,MAAM,KAAK,WAAW;WAC7B,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW;WACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAK,WAAW,CAAC;AAChE,CAAC;AAEY,QAAA,KAAK,GAAS,CAAC,KAAK,EAAE;IAC/B,CAAC,CAAC,CAAC,SAAS,OAAO;QACf,IAAI,SAAS,GAAuC,IAAI,CAAC;QACzD,IAAI,eAA2B,CAAC;QAChC,IAAI,cAAqC,CAAC;QAE1C,OAAO,IAAI,KAAK,CAAC,cAAO,EAAE;YACtB,GAAG,EAAE,SAAS,WAAW,CAAC,MAAM,EAAE,QAAoB;gBAClD,QAAQ,QAAQ,EAAE,CAAC;oBACf,KAAK,MAAM;wBACP,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;4BACrB,YAAY,CAAC,SAAS,CAAC,CAAC;4BACxB,SAAS,GAAG,IAAI,CAAC;4BACjB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACrD,CAAC;wBAED,MAAM;oBAEV,KAAK,QAAQ;wBACT,OAAO,GAAG,EAAE;4BACR,+EAA+E;4BAC/E,sFAAsF;4BACtF,oFAAoF;4BACpF,+DAA+D;4BAC/D,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC;4BAEzF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gCACzC,eAAe,GAAG,OAAO,CAAC;gCAC1B,cAAc,GAAG,MAAM,CAAC;4BAC5B,CAAC,CAAC,CAAC;wBACP,CAAC,CAAC;gBACV,CAAC;gBAED,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;SACJ,CAAC,CAAC;IACP,CAAC,EAAE,CAAC;IACJ,CAAC,CAAC,IAAI,KAAK,CAAC,cAAO,EAAE;QACjB,GAAG,EAAE,SAAS,WAAW,CAAC,CAAC,EAAE,QAAoB;YAC7C,QAAQ,QAAQ,EAAE,CAAC;gBACf,KAAK,aAAa;oBACd,OAAO,KAAK,CAAC;gBAEjB,KAAK,MAAM;oBACP,OAAO,GAAG,EAAE;wBACR,QAAQ;oBACZ,CAAC,CAAC;gBAEN,KAAK,QAAQ;oBACT,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAEnC;oBACI,MAAM,IAAI,KAAK,CACX,kBAAkB,MAAM,CAAC,QAAQ,CAAC,0CAA0C;0BAC1E,yFAAyF;0BACzF,4BAA4B;0BAC5B,6DAA6D,CAClE,CAAC;YACV,CAAC;QACL,CAAC;KACJ,CAAC,CAAC"}
|