@contentstack/live-preview-utils 4.4.3 → 4.4.4
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 +3 -2
- package/dist/legacy/common/inIframe.cjs +9 -0
- package/dist/legacy/common/inIframe.cjs.map +1 -1
- package/dist/legacy/common/inIframe.d.cts +2 -1
- package/dist/legacy/common/inIframe.d.ts +2 -1
- package/dist/legacy/common/inIframe.js +8 -0
- package/dist/legacy/common/inIframe.js.map +1 -1
- package/dist/legacy/configManager/config.default.cjs +2 -1
- package/dist/legacy/configManager/config.default.cjs.map +1 -1
- package/dist/legacy/configManager/config.default.js +2 -1
- package/dist/legacy/configManager/config.default.js.map +1 -1
- package/dist/legacy/configManager/configManager.cjs +24 -5
- package/dist/legacy/configManager/configManager.cjs.map +1 -1
- package/dist/legacy/configManager/configManager.d.cts +11 -1
- package/dist/legacy/configManager/configManager.d.ts +11 -1
- package/dist/legacy/configManager/configManager.js +23 -5
- package/dist/legacy/configManager/configManager.js.map +1 -1
- package/dist/legacy/configManager/index.d.cts +1 -1
- package/dist/legacy/configManager/index.d.ts +1 -1
- package/dist/legacy/light-sdk.cjs +1 -1
- package/dist/legacy/light-sdk.js +1 -1
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs +11 -8
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs.map +1 -1
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js +13 -10
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js.map +1 -1
- package/dist/legacy/livePreview/onPageTraversal.cjs +1 -1
- package/dist/legacy/livePreview/onPageTraversal.cjs.map +1 -1
- package/dist/legacy/livePreview/onPageTraversal.js +1 -1
- package/dist/legacy/livePreview/onPageTraversal.js.map +1 -1
- package/dist/legacy/preview/contentstack-live-preview-HOC.cjs +37 -1
- package/dist/legacy/preview/contentstack-live-preview-HOC.cjs.map +1 -1
- package/dist/legacy/preview/contentstack-live-preview-HOC.d.cts +19 -0
- package/dist/legacy/preview/contentstack-live-preview-HOC.d.ts +19 -0
- package/dist/legacy/preview/contentstack-live-preview-HOC.js +39 -1
- package/dist/legacy/preview/contentstack-live-preview-HOC.js.map +1 -1
- package/dist/legacy/types/global.d.cjs +19 -0
- package/dist/legacy/types/global.d.cjs.map +1 -0
- package/dist/legacy/types/global.d.d.cts +8 -0
- package/dist/legacy/types/global.d.d.ts +8 -0
- package/dist/legacy/types/global.d.js +1 -0
- package/dist/legacy/types/global.d.js.map +1 -0
- package/dist/legacy/types/types.cjs.map +1 -1
- package/dist/legacy/types/types.d.cts +6 -1
- package/dist/legacy/types/types.d.ts +6 -1
- package/dist/legacy/types/types.js.map +1 -1
- package/dist/legacy/visualBuilder/index.cjs +8 -3
- package/dist/legacy/visualBuilder/index.cjs.map +1 -1
- package/dist/legacy/visualBuilder/index.js +8 -3
- package/dist/legacy/visualBuilder/index.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/getVisualBuilderRedirectionUrl.cjs +8 -0
- package/dist/legacy/visualBuilder/utils/getVisualBuilderRedirectionUrl.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/getVisualBuilderRedirectionUrl.js +8 -0
- package/dist/legacy/visualBuilder/utils/getVisualBuilderRedirectionUrl.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/resolvePageContext.cjs +49 -0
- package/dist/legacy/visualBuilder/utils/resolvePageContext.cjs.map +1 -0
- package/dist/legacy/visualBuilder/utils/resolvePageContext.d.cts +6 -0
- package/dist/legacy/visualBuilder/utils/resolvePageContext.d.ts +6 -0
- package/dist/legacy/visualBuilder/utils/resolvePageContext.js +16 -0
- package/dist/legacy/visualBuilder/utils/resolvePageContext.js.map +1 -0
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs +1 -0
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.cts +6 -1
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.ts +6 -1
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.js +1 -0
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.js.map +1 -1
- package/dist/modern/common/inIframe.cjs +9 -0
- package/dist/modern/common/inIframe.cjs.map +1 -1
- package/dist/modern/common/inIframe.d.cts +2 -1
- package/dist/modern/common/inIframe.d.ts +2 -1
- package/dist/modern/common/inIframe.js +8 -0
- package/dist/modern/common/inIframe.js.map +1 -1
- package/dist/modern/configManager/config.default.cjs +2 -1
- package/dist/modern/configManager/config.default.cjs.map +1 -1
- package/dist/modern/configManager/config.default.js +2 -1
- package/dist/modern/configManager/config.default.js.map +1 -1
- package/dist/modern/configManager/configManager.cjs +24 -5
- package/dist/modern/configManager/configManager.cjs.map +1 -1
- package/dist/modern/configManager/configManager.d.cts +11 -1
- package/dist/modern/configManager/configManager.d.ts +11 -1
- package/dist/modern/configManager/configManager.js +23 -5
- package/dist/modern/configManager/configManager.js.map +1 -1
- package/dist/modern/configManager/index.d.cts +1 -1
- package/dist/modern/configManager/index.d.ts +1 -1
- package/dist/modern/light-sdk.cjs +1 -1
- package/dist/modern/light-sdk.js +1 -1
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs +11 -8
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs.map +1 -1
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js +13 -10
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js.map +1 -1
- package/dist/modern/livePreview/onPageTraversal.cjs +1 -1
- package/dist/modern/livePreview/onPageTraversal.cjs.map +1 -1
- package/dist/modern/livePreview/onPageTraversal.js +1 -1
- package/dist/modern/livePreview/onPageTraversal.js.map +1 -1
- package/dist/modern/preview/contentstack-live-preview-HOC.cjs +36 -1
- package/dist/modern/preview/contentstack-live-preview-HOC.cjs.map +1 -1
- package/dist/modern/preview/contentstack-live-preview-HOC.d.cts +19 -0
- package/dist/modern/preview/contentstack-live-preview-HOC.d.ts +19 -0
- package/dist/modern/preview/contentstack-live-preview-HOC.js +38 -1
- package/dist/modern/preview/contentstack-live-preview-HOC.js.map +1 -1
- package/dist/modern/types/global.d.cjs +19 -0
- package/dist/modern/types/global.d.cjs.map +1 -0
- package/dist/modern/types/global.d.d.cts +8 -0
- package/dist/modern/types/global.d.d.ts +8 -0
- package/dist/modern/types/global.d.js +1 -0
- package/dist/modern/types/global.d.js.map +1 -0
- package/dist/modern/types/types.cjs.map +1 -1
- package/dist/modern/types/types.d.cts +6 -1
- package/dist/modern/types/types.d.ts +6 -1
- package/dist/modern/types/types.js.map +1 -1
- package/dist/modern/visualBuilder/index.cjs +8 -3
- package/dist/modern/visualBuilder/index.cjs.map +1 -1
- package/dist/modern/visualBuilder/index.js +8 -3
- package/dist/modern/visualBuilder/index.js.map +1 -1
- package/dist/modern/visualBuilder/utils/getVisualBuilderRedirectionUrl.cjs +8 -0
- package/dist/modern/visualBuilder/utils/getVisualBuilderRedirectionUrl.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/getVisualBuilderRedirectionUrl.js +8 -0
- package/dist/modern/visualBuilder/utils/getVisualBuilderRedirectionUrl.js.map +1 -1
- package/dist/modern/visualBuilder/utils/resolvePageContext.cjs +48 -0
- package/dist/modern/visualBuilder/utils/resolvePageContext.cjs.map +1 -0
- package/dist/modern/visualBuilder/utils/resolvePageContext.d.cts +6 -0
- package/dist/modern/visualBuilder/utils/resolvePageContext.d.ts +6 -0
- package/dist/modern/visualBuilder/utils/resolvePageContext.js +15 -0
- package/dist/modern/visualBuilder/utils/resolvePageContext.js.map +1 -0
- package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs +1 -0
- package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/types/postMessage.types.d.cts +6 -1
- package/dist/modern/visualBuilder/utils/types/postMessage.types.d.ts +6 -1
- package/dist/modern/visualBuilder/utils/types/postMessage.types.js +1 -0
- package/dist/modern/visualBuilder/utils/types/postMessage.types.js.map +1 -1
- package/package.json +1 -1
- package/dist/legacy/utils/handlePageTraversal.cjs +0 -47
- package/dist/legacy/utils/handlePageTraversal.cjs.map +0 -1
- package/dist/legacy/utils/handlePageTraversal.d.cts +0 -3
- package/dist/legacy/utils/handlePageTraversal.d.ts +0 -3
- package/dist/legacy/utils/handlePageTraversal.js +0 -24
- package/dist/legacy/utils/handlePageTraversal.js.map +0 -1
- package/dist/modern/utils/handlePageTraversal.cjs +0 -47
- package/dist/modern/utils/handlePageTraversal.cjs.map +0 -1
- package/dist/modern/utils/handlePageTraversal.d.cts +0 -3
- package/dist/modern/utils/handlePageTraversal.d.ts +0 -3
- package/dist/modern/utils/handlePageTraversal.js +0 -24
- package/dist/modern/utils/handlePageTraversal.js.map +0 -1
package/README.md
CHANGED
|
@@ -29,11 +29,11 @@ npm install @contentstack/live-preview-utils
|
|
|
29
29
|
|
|
30
30
|
### Load from a CDN (advanced)
|
|
31
31
|
|
|
32
|
-
Pin the version to match your app (update `4.4.
|
|
32
|
+
Pin the version to match your app (update `4.4.4` when you upgrade):
|
|
33
33
|
|
|
34
34
|
```html
|
|
35
35
|
<script type="module" crossorigin="anonymous">
|
|
36
|
-
import ContentstackLivePreview from "https://esm.sh/@contentstack/live-preview-utils@4.4.
|
|
36
|
+
import ContentstackLivePreview from "https://esm.sh/@contentstack/live-preview-utils@4.4.4";
|
|
37
37
|
|
|
38
38
|
ContentstackLivePreview.init({
|
|
39
39
|
stackDetails: {
|
|
@@ -84,6 +84,7 @@ Full tables and examples: **[docs/live-preview-configs.md](docs/live-preview-con
|
|
|
84
84
|
- [`onLiveEdit`](docs/live-preview-configs.md#onliveeditcallback---void): Trigger actions on live edits
|
|
85
85
|
- [`onEntryChange`](docs/live-preview-configs.md#onentrychangecallback---void): Listen for entry updates
|
|
86
86
|
- [`hash`](docs/live-preview-configs.md#hash): Access preview state identifier
|
|
87
|
+
- [`setPageContext`](docs/live-preview-configs.md#setpagecontextcontext): Tell Visual Builder which entry the current page renders so “Start Editing” targets the right entry (needed for custom-URL pages)
|
|
87
88
|
- [`config`](docs/live-preview-configs.md#config): Includes runtime context (for example Live Preview / Timeline preview, Visual Editor, or independent)
|
|
88
89
|
|
|
89
90
|
The [configs table of contents](docs/live-preview-configs.md#contentstack-live-preview-utils-sdk-configs) also lists `setConfigFromParams` and `getGatsbyDataFormat` for deeper workflows.
|
|
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var inIframe_exports = {};
|
|
22
22
|
__export(inIframe_exports, {
|
|
23
23
|
inIframe: () => inIframe,
|
|
24
|
+
inVisualEditor: () => inVisualEditor,
|
|
24
25
|
isOpeningInNewTab: () => isOpeningInNewTab
|
|
25
26
|
});
|
|
26
27
|
module.exports = __toCommonJS(inIframe_exports);
|
|
@@ -32,6 +33,13 @@ function inIframe() {
|
|
|
32
33
|
return true;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
36
|
+
function inVisualEditor() {
|
|
37
|
+
try {
|
|
38
|
+
return inIframe() && (window == null ? void 0 : window.name) == "visual-editor";
|
|
39
|
+
} catch (e) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
35
43
|
function isOpeningInNewTab() {
|
|
36
44
|
try {
|
|
37
45
|
if ((0, import_utils.hasWindow)()) {
|
|
@@ -45,6 +53,7 @@ function isOpeningInNewTab() {
|
|
|
45
53
|
// Annotate the CommonJS export names for ESM import in node:
|
|
46
54
|
0 && (module.exports = {
|
|
47
55
|
inIframe,
|
|
56
|
+
inVisualEditor,
|
|
48
57
|
isOpeningInNewTab
|
|
49
58
|
});
|
|
50
59
|
//# sourceMappingURL=inIframe.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/common/inIframe.ts"],"sourcesContent":["import { hasWindow } from \"../utils\";\n\nexport function inIframe(): boolean {\n try {\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n}\n\nexport function isOpeningInNewTab(): boolean {\n try {\n if(hasWindow()) {\n return !!window.opener;\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAEnB,SAAS,WAAoB;AAChC,MAAI;AACA,WAAO,OAAO,SAAS,OAAO;AAAA,EAClC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,oBAA6B;AACzC,MAAI;AACA,YAAG,wBAAU,GAAG;AACZ,aAAO,CAAC,CAAC,OAAO;AAAA,IACpB;AACA,WAAO;AAAA,EACX,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/common/inIframe.ts"],"sourcesContent":["import { hasWindow } from \"../utils\";\n\nexport function inIframe(): boolean {\n try {\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n}\n\nexport function inVisualEditor(): boolean{\n try {\n return inIframe() && window?.name == 'visual-editor'\n } catch (e) {\n return false;\n }\n}\n\nexport function isOpeningInNewTab(): boolean {\n try {\n if(hasWindow()) {\n return !!window.opener;\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAEnB,SAAS,WAAoB;AAChC,MAAI;AACA,WAAO,OAAO,SAAS,OAAO;AAAA,EAClC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,iBAAyB;AACrC,MAAI;AACA,WAAO,SAAS,MAAK,iCAAQ,SAAQ;AAAA,EACzC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,oBAA6B;AACzC,MAAI;AACA,YAAG,wBAAU,GAAG;AACZ,aAAO,CAAC,CAAC,OAAO;AAAA,IACpB;AACA,WAAO;AAAA,EACX,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;","names":[]}
|
|
@@ -9,6 +9,13 @@ function inIframe() {
|
|
|
9
9
|
return true;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
function inVisualEditor() {
|
|
13
|
+
try {
|
|
14
|
+
return inIframe() && (window == null ? void 0 : window.name) == "visual-editor";
|
|
15
|
+
} catch (e) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
12
19
|
function isOpeningInNewTab() {
|
|
13
20
|
try {
|
|
14
21
|
if (hasWindow()) {
|
|
@@ -21,6 +28,7 @@ function isOpeningInNewTab() {
|
|
|
21
28
|
}
|
|
22
29
|
export {
|
|
23
30
|
inIframe,
|
|
31
|
+
inVisualEditor,
|
|
24
32
|
isOpeningInNewTab
|
|
25
33
|
};
|
|
26
34
|
//# sourceMappingURL=inIframe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/common/inIframe.ts"],"sourcesContent":["import { hasWindow } from \"../utils\";\n\nexport function inIframe(): boolean {\n try {\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n}\n\nexport function isOpeningInNewTab(): boolean {\n try {\n if(hasWindow()) {\n return !!window.opener;\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n"],"mappings":";;;AAAA,SAAS,iBAAiB;AAEnB,SAAS,WAAoB;AAChC,MAAI;AACA,WAAO,OAAO,SAAS,OAAO;AAAA,EAClC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,oBAA6B;AACzC,MAAI;AACA,QAAG,UAAU,GAAG;AACZ,aAAO,CAAC,CAAC,OAAO;AAAA,IACpB;AACA,WAAO;AAAA,EACX,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/common/inIframe.ts"],"sourcesContent":["import { hasWindow } from \"../utils\";\n\nexport function inIframe(): boolean {\n try {\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n}\n\nexport function inVisualEditor(): boolean{\n try {\n return inIframe() && window?.name == 'visual-editor'\n } catch (e) {\n return false;\n }\n}\n\nexport function isOpeningInNewTab(): boolean {\n try {\n if(hasWindow()) {\n return !!window.opener;\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n"],"mappings":";;;AAAA,SAAS,iBAAiB;AAEnB,SAAS,WAAoB;AAChC,MAAI;AACA,WAAO,OAAO,SAAS,OAAO;AAAA,EAClC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,iBAAyB;AACrC,MAAI;AACA,WAAO,SAAS,MAAK,iCAAQ,SAAQ;AAAA,EACzC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,oBAA6B;AACzC,MAAI;AACA,QAAG,UAAU,GAAG;AACZ,aAAO,CAAC,CAAC,OAAO;AAAA,IACpB;AACA,WAAO;AAAA,EACX,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/configManager/config.default.ts"],"sourcesContent":["import {\n ILivePreviewWindowType,\n type IConfig,\n type IInitData,\n} from \"../types/types\";\n\nexport function getUserInitData(): IInitData {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n mode: \"preview\",\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n branch: \"\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n },\n stackSdk: {\n live_preview: {},\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n\nexport function getDefaultConfig(): IConfig {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n hash: \"\",\n mode: 1,\n windowType: ILivePreviewWindowType.INDEPENDENT,\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n contentTypeUid: \"\",\n entryUid: \"\",\n locale: \"en-us\",\n branch: \"main\",\n masterLocale: \"en-us\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n url: \"https://app.contentstack.com:443\",\n },\n stackSdk: {\n live_preview: {},\n headers: {\n api_key: \"\",\n },\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n\n onChange() {\n return;\n },\n\n elements: {\n highlightedElement: null,\n },\n collab: {\n enable: false,\n fromShare: false,\n pauseFeedback: false,\n isFeedbackMode: false,\n inviteMetadata: {\n currentUser: {\n email: \"\",\n uid: \"\",\n },\n users: [],\n inviteUid: \"\",\n },\n payload: [],\n },\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAIO;AAEA,SAAS,kBAA6B;AACzC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IAEN,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,IACZ;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IACpB,gCAAgC;AAAA,EACpC;AACJ;AAEO,SAAS,mBAA4B;AACxC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY,oCAAuB;AAAA,IAEnC,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,cAAc;AAAA,IAClB;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,SAAS;AAAA,QACL,SAAS;AAAA,MACb;AAAA,MACA,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IAEpB,WAAW;AACP;AAAA,IACJ;AAAA,IAEA,UAAU;AAAA,MACN,oBAAoB;AAAA,IACxB;AAAA,IACA,QAAQ;AAAA,MACJ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,QACZ,aAAa;AAAA,UACT,OAAO;AAAA,UACP,KAAK;AAAA,QACT;AAAA,QACA,OAAO,CAAC;AAAA,QACR,WAAW;AAAA,MACf;AAAA,MACA,SAAS,CAAC;AAAA,IACd;AAAA,IACA,gCAAgC;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/configManager/config.default.ts"],"sourcesContent":["import {\n ILivePreviewWindowType,\n type IConfig,\n type IInitData,\n} from \"../types/types\";\n\nexport function getUserInitData(): IInitData {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n mode: \"preview\",\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n branch: \"\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n },\n stackSdk: {\n live_preview: {},\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n\nexport function getDefaultConfig(): IConfig {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n hash: \"\",\n mode: 1,\n windowType: ILivePreviewWindowType.INDEPENDENT,\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n contentTypeUid: \"\",\n entryUid: \"\",\n locale: \"en-us\",\n branch: \"main\",\n masterLocale: \"en-us\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n url: \"https://app.contentstack.com:443\",\n },\n stackSdk: {\n live_preview: {},\n headers: {\n api_key: \"\",\n },\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n\n onChange() {\n return;\n },\n\n elements: {\n highlightedElement: null,\n },\n collab: {\n enable: false,\n fromShare: false,\n pauseFeedback: false,\n isFeedbackMode: false,\n inviteMetadata: {\n currentUser: {\n email: \"\",\n uid: \"\",\n },\n users: [],\n inviteUid: \"\",\n },\n payload: [],\n },\n enableLivePreviewOutsideIframe: undefined,\n pageContext: null,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAIO;AAEA,SAAS,kBAA6B;AACzC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IAEN,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,IACZ;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IACpB,gCAAgC;AAAA,EACpC;AACJ;AAEO,SAAS,mBAA4B;AACxC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY,oCAAuB;AAAA,IAEnC,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,cAAc;AAAA,IAClB;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,SAAS;AAAA,QACL,SAAS;AAAA,MACb;AAAA,MACA,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IAEpB,WAAW;AACP;AAAA,IACJ;AAAA,IAEA,UAAU;AAAA,MACN,oBAAoB;AAAA,IACxB;AAAA,IACA,QAAQ;AAAA,MACJ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,QACZ,aAAa;AAAA,UACT,OAAO;AAAA,UACP,KAAK;AAAA,QACT;AAAA,QACA,OAAO,CAAC;AAAA,QACR,WAAW;AAAA,MACf;AAAA,MACA,SAAS,CAAC;AAAA,IACd;AAAA,IACA,gCAAgC;AAAA,IAChC,aAAa;AAAA,EACjB;AACJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/configManager/config.default.ts"],"sourcesContent":["import {\n ILivePreviewWindowType,\n type IConfig,\n type IInitData,\n} from \"../types/types\";\n\nexport function getUserInitData(): IInitData {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n mode: \"preview\",\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n branch: \"\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n },\n stackSdk: {\n live_preview: {},\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n\nexport function getDefaultConfig(): IConfig {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n hash: \"\",\n mode: 1,\n windowType: ILivePreviewWindowType.INDEPENDENT,\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n contentTypeUid: \"\",\n entryUid: \"\",\n locale: \"en-us\",\n branch: \"main\",\n masterLocale: \"en-us\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n url: \"https://app.contentstack.com:443\",\n },\n stackSdk: {\n live_preview: {},\n headers: {\n api_key: \"\",\n },\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n\n onChange() {\n return;\n },\n\n elements: {\n highlightedElement: null,\n },\n collab: {\n enable: false,\n fromShare: false,\n pauseFeedback: false,\n isFeedbackMode: false,\n inviteMetadata: {\n currentUser: {\n email: \"\",\n uid: \"\",\n },\n users: [],\n inviteUid: \"\",\n },\n payload: [],\n },\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n"],"mappings":";;;AAAA;AAAA,EACI;AAAA,OAGG;AAEA,SAAS,kBAA6B;AACzC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IAEN,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,IACZ;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IACpB,gCAAgC;AAAA,EACpC;AACJ;AAEO,SAAS,mBAA4B;AACxC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY,uBAAuB;AAAA,IAEnC,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,cAAc;AAAA,IAClB;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,SAAS;AAAA,QACL,SAAS;AAAA,MACb;AAAA,MACA,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IAEpB,WAAW;AACP;AAAA,IACJ;AAAA,IAEA,UAAU;AAAA,MACN,oBAAoB;AAAA,IACxB;AAAA,IACA,QAAQ;AAAA,MACJ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,QACZ,aAAa;AAAA,UACT,OAAO;AAAA,UACP,KAAK;AAAA,QACT;AAAA,QACA,OAAO,CAAC;AAAA,QACR,WAAW;AAAA,MACf;AAAA,MACA,SAAS,CAAC;AAAA,IACd;AAAA,IACA,gCAAgC;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/configManager/config.default.ts"],"sourcesContent":["import {\n ILivePreviewWindowType,\n type IConfig,\n type IInitData,\n} from \"../types/types\";\n\nexport function getUserInitData(): IInitData {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n mode: \"preview\",\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n branch: \"\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n },\n stackSdk: {\n live_preview: {},\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n\nexport function getDefaultConfig(): IConfig {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n hash: \"\",\n mode: 1,\n windowType: ILivePreviewWindowType.INDEPENDENT,\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n contentTypeUid: \"\",\n entryUid: \"\",\n locale: \"en-us\",\n branch: \"main\",\n masterLocale: \"en-us\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n url: \"https://app.contentstack.com:443\",\n },\n stackSdk: {\n live_preview: {},\n headers: {\n api_key: \"\",\n },\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n\n onChange() {\n return;\n },\n\n elements: {\n highlightedElement: null,\n },\n collab: {\n enable: false,\n fromShare: false,\n pauseFeedback: false,\n isFeedbackMode: false,\n inviteMetadata: {\n currentUser: {\n email: \"\",\n uid: \"\",\n },\n users: [],\n inviteUid: \"\",\n },\n payload: [],\n },\n enableLivePreviewOutsideIframe: undefined,\n pageContext: null,\n };\n}\n"],"mappings":";;;AAAA;AAAA,EACI;AAAA,OAGG;AAEA,SAAS,kBAA6B;AACzC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IAEN,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,IACZ;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IACpB,gCAAgC;AAAA,EACpC;AACJ;AAEO,SAAS,mBAA4B;AACxC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY,uBAAuB;AAAA,IAEnC,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,cAAc;AAAA,IAClB;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,SAAS;AAAA,QACL,SAAS;AAAA,MACb;AAAA,MACA,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IAEpB,WAAW;AACP;AAAA,IACJ;AAAA,IAEA,UAAU;AAAA,MACN,oBAAoB;AAAA,IACxB;AAAA,IACA,QAAQ;AAAA,MACJ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,QACZ,aAAa;AAAA,UACT,OAAO;AAAA,UACP,KAAK;AAAA,QACT;AAAA,QACA,OAAO,CAAC;AAAA,QACR,WAAW;AAAA,MACf;AAAA,MACA,SAAS,CAAC;AAAA,IACd;AAAA,IACA,gCAAgC;AAAA,IAChC,aAAa;AAAA,EACjB;AACJ;","names":[]}
|
|
@@ -22,6 +22,7 @@ var configManager_exports = {};
|
|
|
22
22
|
__export(configManager_exports, {
|
|
23
23
|
default: () => configManager_default,
|
|
24
24
|
setConfigFromParams: () => setConfigFromParams,
|
|
25
|
+
syncToStackSdk: () => syncToStackSdk,
|
|
25
26
|
updateConfigFromUrl: () => updateConfigFromUrl
|
|
26
27
|
});
|
|
27
28
|
module.exports = __toCommonJS(configManager_exports);
|
|
@@ -59,25 +60,43 @@ function setConfigFromParams(params = {}) {
|
|
|
59
60
|
const live_preview = urlParams.get("live_preview");
|
|
60
61
|
const content_type_uid = urlParams.get("content_type_uid");
|
|
61
62
|
const entry_uid = urlParams.get("entry_uid");
|
|
62
|
-
const stackSdkLivePreview = Config.get().stackSdk.live_preview;
|
|
63
63
|
if (live_preview) {
|
|
64
64
|
Config.set("hash", live_preview);
|
|
65
|
-
stackSdkLivePreview.hash = live_preview;
|
|
66
|
-
stackSdkLivePreview.live_preview = live_preview;
|
|
67
65
|
}
|
|
68
66
|
if (content_type_uid) {
|
|
69
67
|
Config.set("stackDetails.contentTypeUid", content_type_uid);
|
|
70
|
-
stackSdkLivePreview.content_type_uid = content_type_uid;
|
|
71
68
|
}
|
|
72
69
|
if (entry_uid) {
|
|
73
70
|
Config.set("stackDetails.entryUid", entry_uid);
|
|
74
|
-
|
|
71
|
+
}
|
|
72
|
+
syncToStackSdk({
|
|
73
|
+
hash: live_preview,
|
|
74
|
+
contentTypeUid: content_type_uid,
|
|
75
|
+
entryUid: entry_uid
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function syncToStackSdk({
|
|
79
|
+
hash,
|
|
80
|
+
contentTypeUid,
|
|
81
|
+
entryUid
|
|
82
|
+
}) {
|
|
83
|
+
const stackSdkLivePreview = Config.get().stackSdk.live_preview;
|
|
84
|
+
if (hash) {
|
|
85
|
+
stackSdkLivePreview.hash = hash;
|
|
86
|
+
stackSdkLivePreview.live_preview = hash;
|
|
87
|
+
}
|
|
88
|
+
if (contentTypeUid) {
|
|
89
|
+
stackSdkLivePreview.content_type_uid = contentTypeUid;
|
|
90
|
+
}
|
|
91
|
+
if (entryUid) {
|
|
92
|
+
stackSdkLivePreview.entry_uid = entryUid;
|
|
75
93
|
}
|
|
76
94
|
Config.set("stackSdk.live_preview", stackSdkLivePreview);
|
|
77
95
|
}
|
|
78
96
|
// Annotate the CommonJS export names for ESM import in node:
|
|
79
97
|
0 && (module.exports = {
|
|
80
98
|
setConfigFromParams,
|
|
99
|
+
syncToStackSdk,
|
|
81
100
|
updateConfigFromUrl
|
|
82
101
|
});
|
|
83
102
|
//# sourceMappingURL=configManager.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/configManager/configManager.ts"],"sourcesContent":["import { DeepSignal, deepSignal } from \"deepsignal\";\nimport type { IConfig, IInitData } from \"../types/types\";\nimport { getDefaultConfig, getUserInitData } from \"./config.default\";\nimport { handleInitData } from \"./handleUserConfig\";\nimport { has as lodashHas, set as lodashSet } from \"lodash-es\";\n\nclass Config {\n static config: {\n state: DeepSignal<IConfig>;\n } = {\n state: deepSignal(getDefaultConfig()),\n };\n\n static replace(userInput: Partial<IInitData> = getUserInitData()): void {\n handleInitData(userInput);\n }\n\n static set(key: string, value: any): void {\n if (!lodashHas(this.config.state, key)) {\n throw new Error(`Invalid key: ${key}`);\n }\n lodashSet(this.config.state, key, value);\n }\n\n static get(): DeepSignal<IConfig> {\n return this.config.state;\n }\n\n static reset(): void {\n lodashSet(this.config, \"state\", getDefaultConfig());\n }\n}\n\nexport default Config;\n\n/**\n * Updates the configuration from the URL parameters.\n * It will receive live_preview containing the hash, content_type_uid and entry_uid.\n */\n\nexport function updateConfigFromUrl(): void {\n const searchParams = new URLSearchParams(window.location.search);\n setConfigFromParams(searchParams.toString());\n}\n\n/**\n * Sets the live preview hash, content_type_uid and entry_uid\n * from the query param to config.\n *\n * @param params query param in an object form, query string.\n *\n * @example\n * ```js\n * setConfigFromParams({\n * live_preview: \"hash\",\n * content_type_uid: \"content_type_uid\",\n * entry_uid: \"entry_uid\",\n * });\n * ```\n *\n * @example\n * ```js\n * setConfigFromParams(\"?live_preview=hash&content_type_uid=content_type_uid&entry_uid=entry_uid\");\n * ```\n * Basically anything that can be passed to `URLSearchParams` constructor.\n */\n\nexport function setConfigFromParams(\n params: ConstructorParameters<typeof URLSearchParams>[0] = {}\n): void {\n const urlParams = new URLSearchParams(params);\n const live_preview = urlParams.get(\"live_preview\");\n const content_type_uid = urlParams.get(\"content_type_uid\");\n const entry_uid = urlParams.get(\"entry_uid\");\n\n
|
|
1
|
+
{"version":3,"sources":["../../../src/configManager/configManager.ts"],"sourcesContent":["import { DeepSignal, deepSignal } from \"deepsignal\";\nimport type { IConfig, IInitData } from \"../types/types\";\nimport { getDefaultConfig, getUserInitData } from \"./config.default\";\nimport { handleInitData } from \"./handleUserConfig\";\nimport { has as lodashHas, set as lodashSet } from \"lodash-es\";\n\nclass Config {\n static config: {\n state: DeepSignal<IConfig>;\n } = {\n state: deepSignal(getDefaultConfig()),\n };\n\n static replace(userInput: Partial<IInitData> = getUserInitData()): void {\n handleInitData(userInput);\n }\n\n static set(key: string, value: any): void {\n if (!lodashHas(this.config.state, key)) {\n throw new Error(`Invalid key: ${key}`);\n }\n lodashSet(this.config.state, key, value);\n }\n\n static get(): DeepSignal<IConfig> {\n return this.config.state;\n }\n\n static reset(): void {\n lodashSet(this.config, \"state\", getDefaultConfig());\n }\n}\n\nexport default Config;\n\n/**\n * Updates the configuration from the URL parameters.\n * It will receive live_preview containing the hash, content_type_uid and entry_uid.\n */\n\nexport function updateConfigFromUrl(): void {\n const searchParams = new URLSearchParams(window.location.search);\n setConfigFromParams(searchParams.toString());\n}\n\n/**\n * Sets the live preview hash, content_type_uid and entry_uid\n * from the query param to config.\n *\n * @param params query param in an object form, query string.\n *\n * @example\n * ```js\n * setConfigFromParams({\n * live_preview: \"hash\",\n * content_type_uid: \"content_type_uid\",\n * entry_uid: \"entry_uid\",\n * });\n * ```\n *\n * @example\n * ```js\n * setConfigFromParams(\"?live_preview=hash&content_type_uid=content_type_uid&entry_uid=entry_uid\");\n * ```\n * Basically anything that can be passed to `URLSearchParams` constructor.\n */\n\nexport function setConfigFromParams(\n params: ConstructorParameters<typeof URLSearchParams>[0] = {}\n): void {\n const urlParams = new URLSearchParams(params);\n const live_preview = urlParams.get(\"live_preview\");\n const content_type_uid = urlParams.get(\"content_type_uid\");\n const entry_uid = urlParams.get(\"entry_uid\");\n\n if (live_preview) {\n Config.set(\"hash\", live_preview);\n }\n\n if (content_type_uid) {\n Config.set(\"stackDetails.contentTypeUid\", content_type_uid);\n }\n\n if (entry_uid) {\n Config.set(\"stackDetails.entryUid\", entry_uid);\n }\n\n syncToStackSdk({\n hash: live_preview,\n contentTypeUid: content_type_uid,\n entryUid: entry_uid,\n });\n}\n\n/**\n * Syncs hash, contentTypeUid, and entryUid into the user's stackSdk.live_preview object.\n * Auto-effects via deepsignal were ruled out because Config.reset() replaces the deepSignal\n * instance, which would blind any bound effect. Explicit sync is the safe alternative.\n */\nexport function syncToStackSdk({\n hash,\n contentTypeUid,\n entryUid,\n}: {\n hash?: string | null;\n contentTypeUid?: string | null;\n entryUid?: string | null;\n}): void {\n const stackSdkLivePreview = Config.get().stackSdk.live_preview;\n\n if (hash) {\n stackSdkLivePreview.hash = hash;\n stackSdkLivePreview.live_preview = hash;\n }\n if (contentTypeUid) {\n stackSdkLivePreview.content_type_uid = contentTypeUid;\n }\n if (entryUid) {\n stackSdkLivePreview.entry_uid = entryUid;\n }\n\n Config.set(\"stackSdk.live_preview\", stackSdkLivePreview);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuC;AAEvC,oBAAkD;AAClD,8BAA+B;AAC/B,uBAAmD;AAEnD,IAAM,SAAN,MAAa;AAAA,EAOT,OAAO,QAAQ,gBAAgC,+BAAgB,GAAS;AACpE,gDAAe,SAAS;AAAA,EAC5B;AAAA,EAEA,OAAO,IAAI,KAAa,OAAkB;AACtC,QAAI,KAAC,iBAAAA,KAAU,KAAK,OAAO,OAAO,GAAG,GAAG;AACpC,YAAM,IAAI,MAAM,gBAAgB,GAAG,EAAE;AAAA,IACzC;AACA,yBAAAC,KAAU,KAAK,OAAO,OAAO,KAAK,KAAK;AAAA,EAC3C;AAAA,EAEA,OAAO,MAA2B;AAC9B,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,OAAO,QAAc;AACjB,yBAAAA,KAAU,KAAK,QAAQ,aAAS,gCAAiB,CAAC;AAAA,EACtD;AACJ;AAzBM,OACK,SAEH;AAAA,EACA,WAAO,kCAAW,gCAAiB,CAAC;AACxC;AAsBJ,IAAO,wBAAQ;AAOR,SAAS,sBAA4B;AACxC,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC/D,sBAAoB,aAAa,SAAS,CAAC;AAC/C;AAwBO,SAAS,oBACZ,SAA2D,CAAC,GACxD;AACJ,QAAM,YAAY,IAAI,gBAAgB,MAAM;AAC5C,QAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAM,mBAAmB,UAAU,IAAI,kBAAkB;AACzD,QAAM,YAAY,UAAU,IAAI,WAAW;AAE3C,MAAI,cAAc;AACd,WAAO,IAAI,QAAQ,YAAY;AAAA,EACnC;AAEA,MAAI,kBAAkB;AAClB,WAAO,IAAI,+BAA+B,gBAAgB;AAAA,EAC9D;AAEA,MAAI,WAAW;AACX,WAAO,IAAI,yBAAyB,SAAS;AAAA,EACjD;AAEA,iBAAe;AAAA,IACX,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,UAAU;AAAA,EACd,CAAC;AACL;AAOO,SAAS,eAAe;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACJ,GAIS;AACL,QAAM,sBAAsB,OAAO,IAAI,EAAE,SAAS;AAElD,MAAI,MAAM;AACN,wBAAoB,OAAO;AAC3B,wBAAoB,eAAe;AAAA,EACvC;AACA,MAAI,gBAAgB;AAChB,wBAAoB,mBAAmB;AAAA,EAC3C;AACA,MAAI,UAAU;AACV,wBAAoB,YAAY;AAAA,EACpC;AAEA,SAAO,IAAI,yBAAyB,mBAAmB;AAC3D;","names":["lodashHas","lodashSet"]}
|
|
@@ -39,5 +39,15 @@ declare function updateConfigFromUrl(): void;
|
|
|
39
39
|
* Basically anything that can be passed to `URLSearchParams` constructor.
|
|
40
40
|
*/
|
|
41
41
|
declare function setConfigFromParams(params?: ConstructorParameters<typeof URLSearchParams>[0]): void;
|
|
42
|
+
/**
|
|
43
|
+
* Syncs hash, contentTypeUid, and entryUid into the user's stackSdk.live_preview object.
|
|
44
|
+
* Auto-effects via deepsignal were ruled out because Config.reset() replaces the deepSignal
|
|
45
|
+
* instance, which would blind any bound effect. Explicit sync is the safe alternative.
|
|
46
|
+
*/
|
|
47
|
+
declare function syncToStackSdk({ hash, contentTypeUid, entryUid, }: {
|
|
48
|
+
hash?: string | null;
|
|
49
|
+
contentTypeUid?: string | null;
|
|
50
|
+
entryUid?: string | null;
|
|
51
|
+
}): void;
|
|
42
52
|
|
|
43
|
-
export { Config as default, setConfigFromParams, updateConfigFromUrl };
|
|
53
|
+
export { Config as default, setConfigFromParams, syncToStackSdk, updateConfigFromUrl };
|
|
@@ -39,5 +39,15 @@ declare function updateConfigFromUrl(): void;
|
|
|
39
39
|
* Basically anything that can be passed to `URLSearchParams` constructor.
|
|
40
40
|
*/
|
|
41
41
|
declare function setConfigFromParams(params?: ConstructorParameters<typeof URLSearchParams>[0]): void;
|
|
42
|
+
/**
|
|
43
|
+
* Syncs hash, contentTypeUid, and entryUid into the user's stackSdk.live_preview object.
|
|
44
|
+
* Auto-effects via deepsignal were ruled out because Config.reset() replaces the deepSignal
|
|
45
|
+
* instance, which would blind any bound effect. Explicit sync is the safe alternative.
|
|
46
|
+
*/
|
|
47
|
+
declare function syncToStackSdk({ hash, contentTypeUid, entryUid, }: {
|
|
48
|
+
hash?: string | null;
|
|
49
|
+
contentTypeUid?: string | null;
|
|
50
|
+
entryUid?: string | null;
|
|
51
|
+
}): void;
|
|
42
52
|
|
|
43
|
-
export { Config as default, setConfigFromParams, updateConfigFromUrl };
|
|
53
|
+
export { Config as default, setConfigFromParams, syncToStackSdk, updateConfigFromUrl };
|
|
@@ -35,25 +35,43 @@ function setConfigFromParams(params = {}) {
|
|
|
35
35
|
const live_preview = urlParams.get("live_preview");
|
|
36
36
|
const content_type_uid = urlParams.get("content_type_uid");
|
|
37
37
|
const entry_uid = urlParams.get("entry_uid");
|
|
38
|
-
const stackSdkLivePreview = Config.get().stackSdk.live_preview;
|
|
39
38
|
if (live_preview) {
|
|
40
39
|
Config.set("hash", live_preview);
|
|
41
|
-
stackSdkLivePreview.hash = live_preview;
|
|
42
|
-
stackSdkLivePreview.live_preview = live_preview;
|
|
43
40
|
}
|
|
44
41
|
if (content_type_uid) {
|
|
45
42
|
Config.set("stackDetails.contentTypeUid", content_type_uid);
|
|
46
|
-
stackSdkLivePreview.content_type_uid = content_type_uid;
|
|
47
43
|
}
|
|
48
44
|
if (entry_uid) {
|
|
49
45
|
Config.set("stackDetails.entryUid", entry_uid);
|
|
50
|
-
|
|
46
|
+
}
|
|
47
|
+
syncToStackSdk({
|
|
48
|
+
hash: live_preview,
|
|
49
|
+
contentTypeUid: content_type_uid,
|
|
50
|
+
entryUid: entry_uid
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function syncToStackSdk({
|
|
54
|
+
hash,
|
|
55
|
+
contentTypeUid,
|
|
56
|
+
entryUid
|
|
57
|
+
}) {
|
|
58
|
+
const stackSdkLivePreview = Config.get().stackSdk.live_preview;
|
|
59
|
+
if (hash) {
|
|
60
|
+
stackSdkLivePreview.hash = hash;
|
|
61
|
+
stackSdkLivePreview.live_preview = hash;
|
|
62
|
+
}
|
|
63
|
+
if (contentTypeUid) {
|
|
64
|
+
stackSdkLivePreview.content_type_uid = contentTypeUid;
|
|
65
|
+
}
|
|
66
|
+
if (entryUid) {
|
|
67
|
+
stackSdkLivePreview.entry_uid = entryUid;
|
|
51
68
|
}
|
|
52
69
|
Config.set("stackSdk.live_preview", stackSdkLivePreview);
|
|
53
70
|
}
|
|
54
71
|
export {
|
|
55
72
|
configManager_default as default,
|
|
56
73
|
setConfigFromParams,
|
|
74
|
+
syncToStackSdk,
|
|
57
75
|
updateConfigFromUrl
|
|
58
76
|
};
|
|
59
77
|
//# sourceMappingURL=configManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/configManager/configManager.ts"],"sourcesContent":["import { DeepSignal, deepSignal } from \"deepsignal\";\nimport type { IConfig, IInitData } from \"../types/types\";\nimport { getDefaultConfig, getUserInitData } from \"./config.default\";\nimport { handleInitData } from \"./handleUserConfig\";\nimport { has as lodashHas, set as lodashSet } from \"lodash-es\";\n\nclass Config {\n static config: {\n state: DeepSignal<IConfig>;\n } = {\n state: deepSignal(getDefaultConfig()),\n };\n\n static replace(userInput: Partial<IInitData> = getUserInitData()): void {\n handleInitData(userInput);\n }\n\n static set(key: string, value: any): void {\n if (!lodashHas(this.config.state, key)) {\n throw new Error(`Invalid key: ${key}`);\n }\n lodashSet(this.config.state, key, value);\n }\n\n static get(): DeepSignal<IConfig> {\n return this.config.state;\n }\n\n static reset(): void {\n lodashSet(this.config, \"state\", getDefaultConfig());\n }\n}\n\nexport default Config;\n\n/**\n * Updates the configuration from the URL parameters.\n * It will receive live_preview containing the hash, content_type_uid and entry_uid.\n */\n\nexport function updateConfigFromUrl(): void {\n const searchParams = new URLSearchParams(window.location.search);\n setConfigFromParams(searchParams.toString());\n}\n\n/**\n * Sets the live preview hash, content_type_uid and entry_uid\n * from the query param to config.\n *\n * @param params query param in an object form, query string.\n *\n * @example\n * ```js\n * setConfigFromParams({\n * live_preview: \"hash\",\n * content_type_uid: \"content_type_uid\",\n * entry_uid: \"entry_uid\",\n * });\n * ```\n *\n * @example\n * ```js\n * setConfigFromParams(\"?live_preview=hash&content_type_uid=content_type_uid&entry_uid=entry_uid\");\n * ```\n * Basically anything that can be passed to `URLSearchParams` constructor.\n */\n\nexport function setConfigFromParams(\n params: ConstructorParameters<typeof URLSearchParams>[0] = {}\n): void {\n const urlParams = new URLSearchParams(params);\n const live_preview = urlParams.get(\"live_preview\");\n const content_type_uid = urlParams.get(\"content_type_uid\");\n const entry_uid = urlParams.get(\"entry_uid\");\n\n
|
|
1
|
+
{"version":3,"sources":["../../../src/configManager/configManager.ts"],"sourcesContent":["import { DeepSignal, deepSignal } from \"deepsignal\";\nimport type { IConfig, IInitData } from \"../types/types\";\nimport { getDefaultConfig, getUserInitData } from \"./config.default\";\nimport { handleInitData } from \"./handleUserConfig\";\nimport { has as lodashHas, set as lodashSet } from \"lodash-es\";\n\nclass Config {\n static config: {\n state: DeepSignal<IConfig>;\n } = {\n state: deepSignal(getDefaultConfig()),\n };\n\n static replace(userInput: Partial<IInitData> = getUserInitData()): void {\n handleInitData(userInput);\n }\n\n static set(key: string, value: any): void {\n if (!lodashHas(this.config.state, key)) {\n throw new Error(`Invalid key: ${key}`);\n }\n lodashSet(this.config.state, key, value);\n }\n\n static get(): DeepSignal<IConfig> {\n return this.config.state;\n }\n\n static reset(): void {\n lodashSet(this.config, \"state\", getDefaultConfig());\n }\n}\n\nexport default Config;\n\n/**\n * Updates the configuration from the URL parameters.\n * It will receive live_preview containing the hash, content_type_uid and entry_uid.\n */\n\nexport function updateConfigFromUrl(): void {\n const searchParams = new URLSearchParams(window.location.search);\n setConfigFromParams(searchParams.toString());\n}\n\n/**\n * Sets the live preview hash, content_type_uid and entry_uid\n * from the query param to config.\n *\n * @param params query param in an object form, query string.\n *\n * @example\n * ```js\n * setConfigFromParams({\n * live_preview: \"hash\",\n * content_type_uid: \"content_type_uid\",\n * entry_uid: \"entry_uid\",\n * });\n * ```\n *\n * @example\n * ```js\n * setConfigFromParams(\"?live_preview=hash&content_type_uid=content_type_uid&entry_uid=entry_uid\");\n * ```\n * Basically anything that can be passed to `URLSearchParams` constructor.\n */\n\nexport function setConfigFromParams(\n params: ConstructorParameters<typeof URLSearchParams>[0] = {}\n): void {\n const urlParams = new URLSearchParams(params);\n const live_preview = urlParams.get(\"live_preview\");\n const content_type_uid = urlParams.get(\"content_type_uid\");\n const entry_uid = urlParams.get(\"entry_uid\");\n\n if (live_preview) {\n Config.set(\"hash\", live_preview);\n }\n\n if (content_type_uid) {\n Config.set(\"stackDetails.contentTypeUid\", content_type_uid);\n }\n\n if (entry_uid) {\n Config.set(\"stackDetails.entryUid\", entry_uid);\n }\n\n syncToStackSdk({\n hash: live_preview,\n contentTypeUid: content_type_uid,\n entryUid: entry_uid,\n });\n}\n\n/**\n * Syncs hash, contentTypeUid, and entryUid into the user's stackSdk.live_preview object.\n * Auto-effects via deepsignal were ruled out because Config.reset() replaces the deepSignal\n * instance, which would blind any bound effect. Explicit sync is the safe alternative.\n */\nexport function syncToStackSdk({\n hash,\n contentTypeUid,\n entryUid,\n}: {\n hash?: string | null;\n contentTypeUid?: string | null;\n entryUid?: string | null;\n}): void {\n const stackSdkLivePreview = Config.get().stackSdk.live_preview;\n\n if (hash) {\n stackSdkLivePreview.hash = hash;\n stackSdkLivePreview.live_preview = hash;\n }\n if (contentTypeUid) {\n stackSdkLivePreview.content_type_uid = contentTypeUid;\n }\n if (entryUid) {\n stackSdkLivePreview.entry_uid = entryUid;\n }\n\n Config.set(\"stackSdk.live_preview\", stackSdkLivePreview);\n}\n"],"mappings":";;;AAAA,SAAqB,kBAAkB;AAEvC,SAAS,kBAAkB,uBAAuB;AAClD,SAAS,sBAAsB;AAC/B,SAAS,OAAO,WAAW,OAAO,iBAAiB;AAEnD,IAAM,SAAN,MAAa;AAAA,EAOT,OAAO,QAAQ,YAAgC,gBAAgB,GAAS;AACpE,mBAAe,SAAS;AAAA,EAC5B;AAAA,EAEA,OAAO,IAAI,KAAa,OAAkB;AACtC,QAAI,CAAC,UAAU,KAAK,OAAO,OAAO,GAAG,GAAG;AACpC,YAAM,IAAI,MAAM,gBAAgB,GAAG,EAAE;AAAA,IACzC;AACA,cAAU,KAAK,OAAO,OAAO,KAAK,KAAK;AAAA,EAC3C;AAAA,EAEA,OAAO,MAA2B;AAC9B,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,OAAO,QAAc;AACjB,cAAU,KAAK,QAAQ,SAAS,iBAAiB,CAAC;AAAA,EACtD;AACJ;AAzBM,OACK,SAEH;AAAA,EACA,OAAO,WAAW,iBAAiB,CAAC;AACxC;AAsBJ,IAAO,wBAAQ;AAOR,SAAS,sBAA4B;AACxC,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC/D,sBAAoB,aAAa,SAAS,CAAC;AAC/C;AAwBO,SAAS,oBACZ,SAA2D,CAAC,GACxD;AACJ,QAAM,YAAY,IAAI,gBAAgB,MAAM;AAC5C,QAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAM,mBAAmB,UAAU,IAAI,kBAAkB;AACzD,QAAM,YAAY,UAAU,IAAI,WAAW;AAE3C,MAAI,cAAc;AACd,WAAO,IAAI,QAAQ,YAAY;AAAA,EACnC;AAEA,MAAI,kBAAkB;AAClB,WAAO,IAAI,+BAA+B,gBAAgB;AAAA,EAC9D;AAEA,MAAI,WAAW;AACX,WAAO,IAAI,yBAAyB,SAAS;AAAA,EACjD;AAEA,iBAAe;AAAA,IACX,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,UAAU;AAAA,EACd,CAAC;AACL;AAOO,SAAS,eAAe;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACJ,GAIS;AACL,QAAM,sBAAsB,OAAO,IAAI,EAAE,SAAS;AAElD,MAAI,MAAM;AACN,wBAAoB,OAAO;AAC3B,wBAAoB,eAAe;AAAA,EACvC;AACA,MAAI,gBAAgB;AAChB,wBAAoB,mBAAmB;AAAA,EAC3C;AACA,MAAI,UAAU;AACV,wBAAoB,YAAY;AAAA,EACpC;AAEA,SAAO,IAAI,yBAAyB,mBAAmB;AAC3D;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { setConfigFromParams, updateConfigFromUrl } from './configManager.cjs';
|
|
1
|
+
export { setConfigFromParams, syncToStackSdk, updateConfigFromUrl } from './configManager.cjs';
|
|
2
2
|
import 'deepsignal';
|
|
3
3
|
import '../types/types.cjs';
|
|
4
4
|
import '../visualBuilder/types/collab.types.cjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { setConfigFromParams, updateConfigFromUrl } from './configManager.js';
|
|
1
|
+
export { setConfigFromParams, syncToStackSdk, updateConfigFromUrl } from './configManager.js';
|
|
2
2
|
import 'deepsignal';
|
|
3
3
|
import '../types/types.js';
|
|
4
4
|
import '../visualBuilder/types/collab.types.js';
|
|
@@ -60,7 +60,7 @@ var _LightLivePreviewHoC = class _LightLivePreviewHoC {
|
|
|
60
60
|
static unsubscribeOnEntryChange() {
|
|
61
61
|
}
|
|
62
62
|
static getSdkVersion() {
|
|
63
|
-
return (typeof process !== "undefined" ? "4.4.
|
|
63
|
+
return (typeof process !== "undefined" ? "4.4.4" : void 0) ?? "";
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
66
|
_LightLivePreviewHoC.previewConstructors = {};
|
package/dist/legacy/light-sdk.js
CHANGED
|
@@ -38,7 +38,7 @@ var _LightLivePreviewHoC = class _LightLivePreviewHoC {
|
|
|
38
38
|
static unsubscribeOnEntryChange() {
|
|
39
39
|
}
|
|
40
40
|
static getSdkVersion() {
|
|
41
|
-
return (typeof process !== "undefined" ? "4.4.
|
|
41
|
+
return (typeof process !== "undefined" ? "4.4.4" : void 0) ?? "";
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
44
|
_LightLivePreviewHoC.previewConstructors = {};
|
|
@@ -78,9 +78,10 @@ function useOnEntryUpdatePostMessageEvent() {
|
|
|
78
78
|
try {
|
|
79
79
|
const { ssr, onChange, stackDetails } = import_configManager.default.get();
|
|
80
80
|
const event_type = (_a2 = event.data._metadata) == null ? void 0 : _a2.event_type;
|
|
81
|
-
(
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
if (event.data.hash) {
|
|
82
|
+
import_configManager.default.set("hash", event.data.hash);
|
|
83
|
+
(0, import_configManager.syncToStackSdk)({ hash: event.data.hash });
|
|
84
|
+
}
|
|
84
85
|
if (!ssr && !event_type) {
|
|
85
86
|
onChange();
|
|
86
87
|
}
|
|
@@ -139,7 +140,7 @@ function sendInitializeLivePreviewPostMessageEvent() {
|
|
|
139
140
|
const initConfig = {
|
|
140
141
|
shouldReload: config.ssr,
|
|
141
142
|
href: window.location.href,
|
|
142
|
-
sdkVersion: "4.4.
|
|
143
|
+
sdkVersion: "4.4.4",
|
|
143
144
|
mode: config.mode
|
|
144
145
|
};
|
|
145
146
|
if (config.enableLivePreviewOutsideIframe !== void 0) {
|
|
@@ -157,14 +158,16 @@ function sendInitializeLivePreviewPostMessageEvent() {
|
|
|
157
158
|
entryUid,
|
|
158
159
|
windowType = import_types.ILivePreviewWindowType.PREVIEW
|
|
159
160
|
} = data || {};
|
|
161
|
+
if ((0, import_inIframe.inVisualEditor)()) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
160
164
|
if (((_b = (_a2 = import_configManager.default) == null ? void 0 : _a2.get()) == null ? void 0 : _b.windowType) && import_configManager.default.get().windowType === import_types.ILivePreviewWindowType.BUILDER) {
|
|
161
165
|
return;
|
|
162
166
|
}
|
|
163
167
|
if (contentTypeUid && entryUid) {
|
|
164
|
-
(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
});
|
|
168
|
+
import_configManager.default.set("stackDetails.contentTypeUid", contentTypeUid);
|
|
169
|
+
import_configManager.default.set("stackDetails.entryUid", entryUid);
|
|
170
|
+
(0, import_configManager.syncToStackSdk)({ contentTypeUid, entryUid });
|
|
168
171
|
} else {
|
|
169
172
|
}
|
|
170
173
|
if (import_configManager.default.get().ssr || (0, import_utils.isOpeningInTimeline)() || (0, import_inIframe.isOpeningInNewTab)()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/livePreview/eventManager/postMessageEvent.hooks.ts"],"sourcesContent":["import { isOpeningInNewTab } from \"../../common/inIframe\";\nimport Config, { setConfigFromParams } from \"../../configManager/configManager\";\nimport { PublicLogger } from \"../../logger/logger\";\nimport { ILivePreviewWindowType } from \"../../types/types\";\nimport { addParamsToUrl, isOpeningInTimeline } from \"../../utils\";\nimport livePreviewPostMessage from \"./livePreviewEventManager\";\nimport { LIVE_PREVIEW_POST_MESSAGE_EVENTS } from \"./livePreviewEventManager.constant\";\nimport {\n HistoryLivePreviewPostMessageEventData,\n LivePreviewInitEventResponse,\n OnChangeLivePreviewPostMessageEventData,\n OnChangeLivePreviewPostMessageEventTypes,\n} from \"./types/livePreviewPostMessageEvent.type\";\n\n/**\n * Registers a post message event listener for history-related events.\n * The listener handles events for forward, backward, and reload actions on the browser history.\n */\nexport function useHistoryPostMessageEvent(): void {\n livePreviewPostMessage?.on<HistoryLivePreviewPostMessageEventData>(\n LIVE_PREVIEW_POST_MESSAGE_EVENTS.HISTORY,\n (event) => {\n switch (event.data.type) {\n case \"forward\": {\n window.history.forward();\n break;\n }\n case \"backward\": {\n window.history.back();\n break;\n }\n case \"reload\": {\n window.history.go();\n break;\n }\n default: {\n const exhaustiveCheck: never = event.data.type;\n throw new Error(`Unhandled event: ${exhaustiveCheck}`);\n }\n }\n }\n );\n}\n\n/**\n * Registers a post message event listener for updating the entry in the live preview.\n */\nexport function useOnEntryUpdatePostMessageEvent(): void {\n livePreviewPostMessage?.on<OnChangeLivePreviewPostMessageEventData>(\n LIVE_PREVIEW_POST_MESSAGE_EVENTS.ON_CHANGE,\n (event) => {\n try {\n const { ssr, onChange, stackDetails } = Config.get();\n const event_type = event.data._metadata?.event_type;\n setConfigFromParams({\n live_preview: event.data.hash,\n });\n\n // This section will run when there is a change in the entry and the website is CSR\n if (!ssr && !event_type) {\n onChange();\n }\n\n if (isOpeningInNewTab()) {\n if (!window) {\n PublicLogger.error(\"window is not defined\");\n return;\n };\n\n if (ssr && !event_type) {\n const url = new URL(window.location.href);\n let live_preview = url.searchParams.get(\"live_preview\");\n let content_type_uid = url.searchParams.get(\"content_type_uid\");\n let entry_uid = url.searchParams.get(\"entry_uid\");\n\n if (live_preview && content_type_uid && entry_uid) {\n // All required params are present, just reload\n window.location.reload();\n } else {\n live_preview = event.data.hash;\n content_type_uid = event.data.content_type_uid || stackDetails.contentTypeUid?.toString() || \"\";\n entry_uid = event.data.entry_uid || stackDetails.entryUid?.toString() || \"\";\n // Set missing params and redirect\n url.searchParams.set(\"live_preview\", live_preview);\n if (content_type_uid) {\n url.searchParams.set(\n \"content_type_uid\",\n content_type_uid\n );\n }\n if (entry_uid) {\n url.searchParams.set(\n \"entry_uid\",\n entry_uid\n );\n }\n window.location.href = url.toString();\n }\n }\n\n // This section will run when the hash changes and the website is SSR or CSR\n if (event_type === OnChangeLivePreviewPostMessageEventTypes.HASH_CHANGE) {\n const newUrl = new URL(window.location.href);\n newUrl.searchParams.set(\"live_preview\", event.data.hash);\n window.history.pushState({}, \"\", newUrl.toString());\n }\n\n // This section will run when the URL of the page changes\n if (event_type === OnChangeLivePreviewPostMessageEventTypes.URL_CHANGE && event.data.url) {\n window.location.href = event.data.url;\n }\n }\n } catch (error) {\n PublicLogger.error(\"Error handling live preview update:\", error);\n return;\n }\n }\n );\n}\n\nexport function sendInitializeLivePreviewPostMessageEvent(): void {\n const config = Config.get();\n const initConfig: {\n shouldReload: boolean;\n href: string;\n sdkVersion: string | undefined;\n mode: number;\n enableLivePreviewOutsideIframe?: boolean;\n } = {\n shouldReload: config.ssr,\n href: window.location.href,\n sdkVersion: process?.env?.PACKAGE_VERSION,\n mode: config.mode,\n };\n\n if (config.enableLivePreviewOutsideIframe !== undefined) {\n initConfig.enableLivePreviewOutsideIframe = config.enableLivePreviewOutsideIframe;\n }\n\n livePreviewPostMessage\n ?.send<LivePreviewInitEventResponse>(\n LIVE_PREVIEW_POST_MESSAGE_EVENTS.INIT,\n {\n config: initConfig,\n }\n )\n .then((data) => {\n const {\n contentTypeUid,\n entryUid,\n windowType = ILivePreviewWindowType.PREVIEW,\n } = data || {};\n\n // TODO: This is a fix for the issue where we were calling sending init in the builder\n // Let's remove this condition when we fix it.\n if (Config?.get()?.windowType && Config.get().windowType === ILivePreviewWindowType.BUILDER) {\n return;\n }\n\n if (contentTypeUid && entryUid) {\n // TODO: we should not use this function. Instead we should have sideEffect run automatically when we set the config.\n setConfigFromParams({\n content_type_uid: contentTypeUid,\n entry_uid: entryUid,\n });\n } else {\n // TODO: add debug logs that runs conditionally\n // PublicLogger.debug(\n // \"init message did not contain contentTypeUid or entryUid.\"\n // );\n }\n if (\n Config.get().ssr ||\n isOpeningInTimeline() ||\n isOpeningInNewTab()\n ) {\n addParamsToUrl();\n }\n Config.set(\"windowType\", windowType);\n\n // set timeout for client side (use to show warning: You are not editing this page)\n if (!Config.get().ssr) {\n setInterval(() => {\n sendCurrentPageUrlPostMessageEvent();\n }, 1500);\n }\n\n useHistoryPostMessageEvent();\n useOnEntryUpdatePostMessageEvent();\n })\n .catch((e) => {\n // TODO: add debug logs that runs conditionally\n // PublicLogger.debug(\"Error while sending init message\", e);\n });\n}\n\nfunction sendCurrentPageUrlPostMessageEvent(): void {\n livePreviewPostMessage\n ?.send(LIVE_PREVIEW_POST_MESSAGE_EVENTS.CHECK_ENTRY_PAGE, {\n href: window.location.href,\n })\n .catch(() => {\n // TODO: add debug logs that runs conditionally\n });\n}\n"],"mappings":"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","names":["import_livePreviewEventManager","livePreviewPostMessage","_a","Config"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/livePreview/eventManager/postMessageEvent.hooks.ts"],"sourcesContent":["import { inVisualEditor, isOpeningInNewTab } from \"../../common/inIframe\";\nimport Config, { syncToStackSdk } from \"../../configManager/configManager\";\nimport { PublicLogger } from \"../../logger/logger\";\nimport { ILivePreviewWindowType } from \"../../types/types\";\nimport { addParamsToUrl, isOpeningInTimeline } from \"../../utils\";\nimport livePreviewPostMessage from \"./livePreviewEventManager\";\nimport { LIVE_PREVIEW_POST_MESSAGE_EVENTS } from \"./livePreviewEventManager.constant\";\nimport {\n HistoryLivePreviewPostMessageEventData,\n LivePreviewInitEventResponse,\n OnChangeLivePreviewPostMessageEventData,\n OnChangeLivePreviewPostMessageEventTypes,\n} from \"./types/livePreviewPostMessageEvent.type\";\n\n/**\n * Registers a post message event listener for history-related events.\n * The listener handles events for forward, backward, and reload actions on the browser history.\n */\nexport function useHistoryPostMessageEvent(): void {\n livePreviewPostMessage?.on<HistoryLivePreviewPostMessageEventData>(\n LIVE_PREVIEW_POST_MESSAGE_EVENTS.HISTORY,\n (event) => {\n switch (event.data.type) {\n case \"forward\": {\n window.history.forward();\n break;\n }\n case \"backward\": {\n window.history.back();\n break;\n }\n case \"reload\": {\n window.history.go();\n break;\n }\n default: {\n const exhaustiveCheck: never = event.data.type;\n throw new Error(`Unhandled event: ${exhaustiveCheck}`);\n }\n }\n }\n );\n}\n\n/**\n * Registers a post message event listener for updating the entry in the live preview.\n */\nexport function useOnEntryUpdatePostMessageEvent(): void {\n livePreviewPostMessage?.on<OnChangeLivePreviewPostMessageEventData>(\n LIVE_PREVIEW_POST_MESSAGE_EVENTS.ON_CHANGE,\n (event) => {\n try {\n const { ssr, onChange, stackDetails } = Config.get();\n const event_type = event.data._metadata?.event_type;\n // hash is typed as required string, guard is a safety net\n if (event.data.hash) {\n Config.set(\"hash\", event.data.hash);\n syncToStackSdk({ hash: event.data.hash });\n }\n\n // This section will run when there is a change in the entry and the website is CSR\n if (!ssr && !event_type) {\n onChange();\n }\n\n if (isOpeningInNewTab()) {\n if (!window) {\n PublicLogger.error(\"window is not defined\");\n return;\n };\n\n if (ssr && !event_type) {\n const url = new URL(window.location.href);\n let live_preview = url.searchParams.get(\"live_preview\");\n let content_type_uid = url.searchParams.get(\"content_type_uid\");\n let entry_uid = url.searchParams.get(\"entry_uid\");\n\n if (live_preview && content_type_uid && entry_uid) {\n // All required params are present, just reload\n window.location.reload();\n } else {\n live_preview = event.data.hash;\n content_type_uid = event.data.content_type_uid || stackDetails.contentTypeUid?.toString() || \"\";\n entry_uid = event.data.entry_uid || stackDetails.entryUid?.toString() || \"\";\n // Set missing params and redirect\n url.searchParams.set(\"live_preview\", live_preview);\n if (content_type_uid) {\n url.searchParams.set(\n \"content_type_uid\",\n content_type_uid\n );\n }\n if (entry_uid) {\n url.searchParams.set(\n \"entry_uid\",\n entry_uid\n );\n }\n window.location.href = url.toString();\n }\n }\n\n // This section will run when the hash changes and the website is SSR or CSR\n if (event_type === OnChangeLivePreviewPostMessageEventTypes.HASH_CHANGE) {\n const newUrl = new URL(window.location.href);\n newUrl.searchParams.set(\"live_preview\", event.data.hash);\n window.history.pushState({}, \"\", newUrl.toString());\n }\n\n // This section will run when the URL of the page changes\n if (event_type === OnChangeLivePreviewPostMessageEventTypes.URL_CHANGE && event.data.url) {\n window.location.href = event.data.url;\n }\n }\n } catch (error) {\n PublicLogger.error(\"Error handling live preview update:\", error);\n return;\n }\n }\n );\n}\n\nexport function sendInitializeLivePreviewPostMessageEvent(): void {\n const config = Config.get();\n const initConfig: {\n shouldReload: boolean;\n href: string;\n sdkVersion: string | undefined;\n mode: number;\n enableLivePreviewOutsideIframe?: boolean;\n } = {\n shouldReload: config.ssr,\n href: window.location.href,\n sdkVersion: process?.env?.PACKAGE_VERSION,\n mode: config.mode,\n };\n\n if (config.enableLivePreviewOutsideIframe !== undefined) {\n initConfig.enableLivePreviewOutsideIframe = config.enableLivePreviewOutsideIframe;\n }\n\n livePreviewPostMessage\n ?.send<LivePreviewInitEventResponse>(\n LIVE_PREVIEW_POST_MESSAGE_EVENTS.INIT,\n {\n config: initConfig,\n }\n )\n .then((data) => {\n const {\n contentTypeUid,\n entryUid,\n windowType = ILivePreviewWindowType.PREVIEW,\n } = data || {};\n\n if(inVisualEditor()){\n return;\n }\n\n // TODO: the upper condition will the handle the visual editor init double firing issue so later we can remove this once verified\n if (Config?.get()?.windowType && Config.get().windowType === ILivePreviewWindowType.BUILDER) {\n return;\n }\n\n if (contentTypeUid && entryUid) {\n // Sync is explicit here intentionally: auto-effects via deepsignal would go blind when Config.reset() is called.\n Config.set(\"stackDetails.contentTypeUid\", contentTypeUid);\n Config.set(\"stackDetails.entryUid\", entryUid);\n syncToStackSdk({ contentTypeUid, entryUid });\n } else {\n // TODO: add debug logs that runs conditionally\n // PublicLogger.debug(\n // \"init message did not contain contentTypeUid or entryUid.\"\n // );\n }\n if (\n Config.get().ssr ||\n isOpeningInTimeline() ||\n isOpeningInNewTab()\n ) {\n addParamsToUrl();\n }\n Config.set(\"windowType\", windowType);\n\n // set timeout for client side (use to show warning: You are not editing this page)\n if (!Config.get().ssr) {\n setInterval(() => {\n sendCurrentPageUrlPostMessageEvent();\n }, 1500);\n }\n\n useHistoryPostMessageEvent();\n useOnEntryUpdatePostMessageEvent();\n })\n .catch((e) => {\n // TODO: add debug logs that runs conditionally\n // PublicLogger.debug(\"Error while sending init message\", e);\n });\n}\n\nfunction sendCurrentPageUrlPostMessageEvent(): void {\n livePreviewPostMessage\n ?.send(LIVE_PREVIEW_POST_MESSAGE_EVENTS.CHECK_ENTRY_PAGE, {\n href: window.location.href,\n })\n .catch(() => {\n // TODO: add debug logs that runs conditionally\n });\n}\n"],"mappings":"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","names":["import_livePreviewEventManager","livePreviewPostMessage","_a","Config"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "../../chunk-5WRI5ZAA.js";
|
|
2
2
|
|
|
3
3
|
// src/livePreview/eventManager/postMessageEvent.hooks.ts
|
|
4
|
-
import { isOpeningInNewTab } from "../../common/inIframe.js";
|
|
5
|
-
import Config, {
|
|
4
|
+
import { inVisualEditor, isOpeningInNewTab } from "../../common/inIframe.js";
|
|
5
|
+
import Config, { syncToStackSdk } from "../../configManager/configManager.js";
|
|
6
6
|
import { PublicLogger } from "../../logger/logger.js";
|
|
7
7
|
import { ILivePreviewWindowType } from "../../types/types.js";
|
|
8
8
|
import { addParamsToUrl, isOpeningInTimeline } from "../../utils/index.js";
|
|
@@ -46,9 +46,10 @@ function useOnEntryUpdatePostMessageEvent() {
|
|
|
46
46
|
try {
|
|
47
47
|
const { ssr, onChange, stackDetails } = Config.get();
|
|
48
48
|
const event_type = (_a2 = event.data._metadata) == null ? void 0 : _a2.event_type;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
if (event.data.hash) {
|
|
50
|
+
Config.set("hash", event.data.hash);
|
|
51
|
+
syncToStackSdk({ hash: event.data.hash });
|
|
52
|
+
}
|
|
52
53
|
if (!ssr && !event_type) {
|
|
53
54
|
onChange();
|
|
54
55
|
}
|
|
@@ -107,7 +108,7 @@ function sendInitializeLivePreviewPostMessageEvent() {
|
|
|
107
108
|
const initConfig = {
|
|
108
109
|
shouldReload: config.ssr,
|
|
109
110
|
href: window.location.href,
|
|
110
|
-
sdkVersion: "4.4.
|
|
111
|
+
sdkVersion: "4.4.4",
|
|
111
112
|
mode: config.mode
|
|
112
113
|
};
|
|
113
114
|
if (config.enableLivePreviewOutsideIframe !== void 0) {
|
|
@@ -125,14 +126,16 @@ function sendInitializeLivePreviewPostMessageEvent() {
|
|
|
125
126
|
entryUid,
|
|
126
127
|
windowType = ILivePreviewWindowType.PREVIEW
|
|
127
128
|
} = data || {};
|
|
129
|
+
if (inVisualEditor()) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
128
132
|
if (((_b = (_a2 = Config) == null ? void 0 : _a2.get()) == null ? void 0 : _b.windowType) && Config.get().windowType === ILivePreviewWindowType.BUILDER) {
|
|
129
133
|
return;
|
|
130
134
|
}
|
|
131
135
|
if (contentTypeUid && entryUid) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
});
|
|
136
|
+
Config.set("stackDetails.contentTypeUid", contentTypeUid);
|
|
137
|
+
Config.set("stackDetails.entryUid", entryUid);
|
|
138
|
+
syncToStackSdk({ contentTypeUid, entryUid });
|
|
136
139
|
} else {
|
|
137
140
|
}
|
|
138
141
|
if (Config.get().ssr || isOpeningInTimeline() || isOpeningInNewTab()) {
|