@contentstack/live-preview-utils 4.4.2 → 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 +4 -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 +8 -1
- package/dist/legacy/configManager/config.default.cjs.map +1 -1
- package/dist/legacy/configManager/config.default.js +8 -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/handleUserConfig.cjs +6 -3
- package/dist/legacy/configManager/handleUserConfig.cjs.map +1 -1
- package/dist/legacy/configManager/handleUserConfig.js +6 -3
- package/dist/legacy/configManager/handleUserConfig.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/cslp/cslpdata.cjs +26 -12
- package/dist/legacy/cslp/cslpdata.cjs.map +1 -1
- package/dist/legacy/cslp/cslpdata.d.cts +0 -5
- package/dist/legacy/cslp/cslpdata.d.ts +0 -5
- package/dist/legacy/cslp/cslpdata.js +26 -12
- package/dist/legacy/cslp/cslpdata.js.map +1 -1
- package/dist/legacy/light-sdk.cjs +1 -1
- package/dist/legacy/light-sdk.js +1 -1
- package/dist/legacy/livePreview/editButton/editButton.cjs +20 -0
- package/dist/legacy/livePreview/editButton/editButton.cjs.map +1 -1
- package/dist/legacy/livePreview/editButton/editButton.d.cts +1 -0
- package/dist/legacy/livePreview/editButton/editButton.d.ts +1 -0
- package/dist/legacy/livePreview/editButton/editButton.js +20 -0
- package/dist/legacy/livePreview/editButton/editButton.js.map +1 -1
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs +13 -10
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs.map +1 -1
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js +15 -12
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js.map +1 -1
- package/dist/legacy/livePreview/live-preview.cjs +2 -0
- package/dist/legacy/livePreview/live-preview.cjs.map +1 -1
- package/dist/legacy/livePreview/live-preview.js +2 -0
- package/dist/legacy/livePreview/live-preview.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 +20 -1
- package/dist/legacy/types/types.d.ts +20 -1
- package/dist/legacy/types/types.js.map +1 -1
- package/dist/legacy/visualBuilder/components/FieldToolbar.cjs +32 -1
- package/dist/legacy/visualBuilder/components/FieldToolbar.cjs.map +1 -1
- package/dist/legacy/visualBuilder/components/FieldToolbar.js +32 -1
- package/dist/legacy/visualBuilder/components/FieldToolbar.js.map +1 -1
- package/dist/legacy/visualBuilder/eventManager/useCollab.cjs +8 -8
- package/dist/legacy/visualBuilder/eventManager/useCollab.cjs.map +1 -1
- package/dist/legacy/visualBuilder/eventManager/useCollab.js +8 -8
- package/dist/legacy/visualBuilder/eventManager/useCollab.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/listeners/mouseClick.cjs +26 -0
- package/dist/legacy/visualBuilder/listeners/mouseClick.cjs.map +1 -1
- package/dist/legacy/visualBuilder/listeners/mouseClick.js +26 -0
- package/dist/legacy/visualBuilder/listeners/mouseClick.js.map +1 -1
- package/dist/legacy/visualBuilder/listeners/mouseHover.cjs +29 -0
- package/dist/legacy/visualBuilder/listeners/mouseHover.cjs.map +1 -1
- package/dist/legacy/visualBuilder/listeners/mouseHover.js +29 -0
- package/dist/legacy/visualBuilder/listeners/mouseHover.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/getCsDataOfElement.cjs +19 -1
- package/dist/legacy/visualBuilder/utils/getCsDataOfElement.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/getCsDataOfElement.d.cts +8 -1
- package/dist/legacy/visualBuilder/utils/getCsDataOfElement.d.ts +8 -1
- package/dist/legacy/visualBuilder/utils/getCsDataOfElement.js +9 -1
- package/dist/legacy/visualBuilder/utils/getCsDataOfElement.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/{utils/handlePageTraversal.cjs → visualBuilder/utils/getWholeFieldElement.cjs} +15 -24
- package/dist/legacy/visualBuilder/utils/getWholeFieldElement.cjs.map +1 -0
- package/dist/legacy/visualBuilder/utils/getWholeFieldElement.d.cts +4 -0
- package/dist/legacy/visualBuilder/utils/getWholeFieldElement.d.ts +4 -0
- package/dist/legacy/visualBuilder/utils/getWholeFieldElement.js +14 -0
- package/dist/legacy/visualBuilder/utils/getWholeFieldElement.js.map +1 -0
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs +2 -1
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.js +2 -1
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.cjs +38 -0
- package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.cjs.map +1 -0
- package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.d.cts +7 -0
- package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.d.ts +7 -0
- package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.js +15 -0
- package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.js.map +1 -0
- 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/legacy/visualBuilder/visualBuilder.style.cjs +12 -0
- package/dist/legacy/visualBuilder/visualBuilder.style.cjs.map +1 -1
- package/dist/legacy/visualBuilder/visualBuilder.style.d.cts +1 -0
- package/dist/legacy/visualBuilder/visualBuilder.style.d.ts +1 -0
- package/dist/legacy/visualBuilder/visualBuilder.style.js +12 -0
- package/dist/legacy/visualBuilder/visualBuilder.style.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 +8 -1
- package/dist/modern/configManager/config.default.cjs.map +1 -1
- package/dist/modern/configManager/config.default.js +8 -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/handleUserConfig.cjs +3 -0
- package/dist/modern/configManager/handleUserConfig.cjs.map +1 -1
- package/dist/modern/configManager/handleUserConfig.js +3 -0
- package/dist/modern/configManager/handleUserConfig.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/cslp/cslpdata.cjs +25 -12
- package/dist/modern/cslp/cslpdata.cjs.map +1 -1
- package/dist/modern/cslp/cslpdata.d.cts +0 -5
- package/dist/modern/cslp/cslpdata.d.ts +0 -5
- package/dist/modern/cslp/cslpdata.js +25 -12
- package/dist/modern/cslp/cslpdata.js.map +1 -1
- package/dist/modern/light-sdk.cjs +1 -1
- package/dist/modern/light-sdk.js +1 -1
- package/dist/modern/livePreview/editButton/editButton.cjs +19 -0
- package/dist/modern/livePreview/editButton/editButton.cjs.map +1 -1
- package/dist/modern/livePreview/editButton/editButton.d.cts +1 -0
- package/dist/modern/livePreview/editButton/editButton.d.ts +1 -0
- package/dist/modern/livePreview/editButton/editButton.js +19 -0
- package/dist/modern/livePreview/editButton/editButton.js.map +1 -1
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs +13 -10
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs.map +1 -1
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js +15 -12
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js.map +1 -1
- package/dist/modern/livePreview/live-preview.cjs +1 -0
- package/dist/modern/livePreview/live-preview.cjs.map +1 -1
- package/dist/modern/livePreview/live-preview.js +1 -0
- package/dist/modern/livePreview/live-preview.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 +20 -1
- package/dist/modern/types/types.d.ts +20 -1
- package/dist/modern/types/types.js.map +1 -1
- package/dist/modern/visualBuilder/components/FieldToolbar.cjs +32 -1
- package/dist/modern/visualBuilder/components/FieldToolbar.cjs.map +1 -1
- package/dist/modern/visualBuilder/components/FieldToolbar.js +32 -1
- package/dist/modern/visualBuilder/components/FieldToolbar.js.map +1 -1
- package/dist/modern/visualBuilder/eventManager/useCollab.cjs +5 -5
- package/dist/modern/visualBuilder/eventManager/useCollab.cjs.map +1 -1
- package/dist/modern/visualBuilder/eventManager/useCollab.js +5 -5
- package/dist/modern/visualBuilder/eventManager/useCollab.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/listeners/mouseClick.cjs +26 -0
- package/dist/modern/visualBuilder/listeners/mouseClick.cjs.map +1 -1
- package/dist/modern/visualBuilder/listeners/mouseClick.js +26 -0
- package/dist/modern/visualBuilder/listeners/mouseClick.js.map +1 -1
- package/dist/modern/visualBuilder/listeners/mouseHover.cjs +29 -0
- package/dist/modern/visualBuilder/listeners/mouseHover.cjs.map +1 -1
- package/dist/modern/visualBuilder/listeners/mouseHover.js +29 -0
- package/dist/modern/visualBuilder/listeners/mouseHover.js.map +1 -1
- package/dist/modern/visualBuilder/utils/getCsDataOfElement.cjs +19 -1
- package/dist/modern/visualBuilder/utils/getCsDataOfElement.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/getCsDataOfElement.d.cts +8 -1
- package/dist/modern/visualBuilder/utils/getCsDataOfElement.d.ts +8 -1
- package/dist/modern/visualBuilder/utils/getCsDataOfElement.js +9 -1
- package/dist/modern/visualBuilder/utils/getCsDataOfElement.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/{utils/handlePageTraversal.cjs → visualBuilder/utils/getWholeFieldElement.cjs} +15 -24
- package/dist/modern/visualBuilder/utils/getWholeFieldElement.cjs.map +1 -0
- package/dist/modern/visualBuilder/utils/getWholeFieldElement.d.cts +4 -0
- package/dist/modern/visualBuilder/utils/getWholeFieldElement.d.ts +4 -0
- package/dist/modern/visualBuilder/utils/getWholeFieldElement.js +14 -0
- package/dist/modern/visualBuilder/utils/getWholeFieldElement.js.map +1 -0
- package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs +2 -1
- package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/handleIndividualFields.js +2 -1
- package/dist/modern/visualBuilder/utils/handleIndividualFields.js.map +1 -1
- package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.cjs +37 -0
- package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.cjs.map +1 -0
- package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.d.cts +7 -0
- package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.d.ts +7 -0
- package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.js +14 -0
- package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.js.map +1 -0
- 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/dist/modern/visualBuilder/visualBuilder.style.cjs +12 -0
- package/dist/modern/visualBuilder/visualBuilder.style.cjs.map +1 -1
- package/dist/modern/visualBuilder/visualBuilder.style.d.cts +1 -0
- package/dist/modern/visualBuilder/visualBuilder.style.d.ts +1 -0
- package/dist/modern/visualBuilder/visualBuilder.style.js +12 -0
- package/dist/modern/visualBuilder/visualBuilder.style.js.map +1 -1
- package/package.json +1 -1
- 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.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: {
|
|
@@ -71,6 +71,7 @@ You can configure the SDK using the following options:
|
|
|
71
71
|
- [`mode`](docs/live-preview-configs.md#mode) (`preview` vs `builder`)
|
|
72
72
|
- [`editButton`](docs/live-preview-configs.md#editbutton)
|
|
73
73
|
- [`editInVisualBuilderButton`](docs/live-preview-configs.md#editinvisualbuilderbutton) (Start Editing outside Visual Editor)
|
|
74
|
+
- [`overlayPropagation`](docs/live-preview-configs.md#overlaypropagation) (opt-in fallback to pierce blocking sibling overlays during hover/click detection)
|
|
74
75
|
- [`cleanCslpOnProduction`](docs/live-preview-configs.md#cleancslponproduction)
|
|
75
76
|
- [`stackDetails`](docs/live-preview-configs.md#stackdetails) ([`apiKey`](docs/live-preview-configs.md#apikey), [`environment`](docs/live-preview-configs.md#environment))
|
|
76
77
|
- [`clientUrlParams`](docs/live-preview-configs.md#clienturlparams) — [NA](docs/live-preview-configs.md#na-config) / [EU](docs/live-preview-configs.md#eu-config)
|
|
@@ -83,6 +84,7 @@ Full tables and examples: **[docs/live-preview-configs.md](docs/live-preview-con
|
|
|
83
84
|
- [`onLiveEdit`](docs/live-preview-configs.md#onliveeditcallback---void): Trigger actions on live edits
|
|
84
85
|
- [`onEntryChange`](docs/live-preview-configs.md#onentrychangecallback---void): Listen for entry updates
|
|
85
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)
|
|
86
88
|
- [`config`](docs/live-preview-configs.md#config): Includes runtime context (for example Live Preview / Timeline preview, Visual Editor, or independent)
|
|
87
89
|
|
|
88
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":[]}
|
|
@@ -41,6 +41,9 @@ function getUserInitData() {
|
|
|
41
41
|
enable: true,
|
|
42
42
|
position: "bottom-right"
|
|
43
43
|
},
|
|
44
|
+
overlayPropagation: {
|
|
45
|
+
enable: false
|
|
46
|
+
},
|
|
44
47
|
mode: "preview",
|
|
45
48
|
stackDetails: {
|
|
46
49
|
apiKey: "",
|
|
@@ -76,6 +79,9 @@ function getDefaultConfig() {
|
|
|
76
79
|
enable: true,
|
|
77
80
|
position: "bottom-right"
|
|
78
81
|
},
|
|
82
|
+
overlayPropagation: {
|
|
83
|
+
enable: false
|
|
84
|
+
},
|
|
79
85
|
hash: "",
|
|
80
86
|
mode: 1,
|
|
81
87
|
windowType: import_types.ILivePreviewWindowType.INDEPENDENT,
|
|
@@ -123,7 +129,8 @@ function getDefaultConfig() {
|
|
|
123
129
|
},
|
|
124
130
|
payload: []
|
|
125
131
|
},
|
|
126
|
-
enableLivePreviewOutsideIframe: void 0
|
|
132
|
+
enableLivePreviewOutsideIframe: void 0,
|
|
133
|
+
pageContext: null
|
|
127
134
|
};
|
|
128
135
|
}
|
|
129
136
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -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\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\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,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,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":[]}
|
|
@@ -20,6 +20,9 @@ function getUserInitData() {
|
|
|
20
20
|
enable: true,
|
|
21
21
|
position: "bottom-right"
|
|
22
22
|
},
|
|
23
|
+
overlayPropagation: {
|
|
24
|
+
enable: false
|
|
25
|
+
},
|
|
23
26
|
mode: "preview",
|
|
24
27
|
stackDetails: {
|
|
25
28
|
apiKey: "",
|
|
@@ -55,6 +58,9 @@ function getDefaultConfig() {
|
|
|
55
58
|
enable: true,
|
|
56
59
|
position: "bottom-right"
|
|
57
60
|
},
|
|
61
|
+
overlayPropagation: {
|
|
62
|
+
enable: false
|
|
63
|
+
},
|
|
58
64
|
hash: "",
|
|
59
65
|
mode: 1,
|
|
60
66
|
windowType: ILivePreviewWindowType.INDEPENDENT,
|
|
@@ -102,7 +108,8 @@ function getDefaultConfig() {
|
|
|
102
108
|
},
|
|
103
109
|
payload: []
|
|
104
110
|
},
|
|
105
|
-
enableLivePreviewOutsideIframe: void 0
|
|
111
|
+
enableLivePreviewOutsideIframe: void 0,
|
|
112
|
+
pageContext: null
|
|
106
113
|
};
|
|
107
114
|
}
|
|
108
115
|
export {
|
|
@@ -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\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\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,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,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":[]}
|
|
@@ -69,7 +69,7 @@ var handleClientUrlParams = (userConfig) => {
|
|
|
69
69
|
import_configManager.default.set("clientUrlParams.url", url);
|
|
70
70
|
};
|
|
71
71
|
var handleInitData = (initData) => {
|
|
72
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
72
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A;
|
|
73
73
|
const config = import_configManager.default.get();
|
|
74
74
|
const stackSdk = initData.stackSdk || config.stackSdk;
|
|
75
75
|
import_configManager.default.set(
|
|
@@ -100,12 +100,15 @@ var handleInitData = (initData) => {
|
|
|
100
100
|
enable: ((_r = initData.editInVisualBuilderButton) == null ? void 0 : _r.enable) ?? ((_t = (_s = stackSdk.live_preview) == null ? void 0 : _s.editInVisualBuilderButton) == null ? void 0 : _t.enable) ?? config.editInVisualBuilderButton.enable,
|
|
101
101
|
position: ((_u = initData.editInVisualBuilderButton) == null ? void 0 : _u.position) ?? ((_v = stackSdk.live_preview) == null ? void 0 : _v.position) ?? config.editInVisualBuilderButton.position ?? "bottom-right"
|
|
102
102
|
});
|
|
103
|
+
import_configManager.default.set("overlayPropagation", {
|
|
104
|
+
enable: ((_w = initData.overlayPropagation) == null ? void 0 : _w.enable) ?? ((_y = (_x = stackSdk.live_preview) == null ? void 0 : _x.overlayPropagation) == null ? void 0 : _y.enable) ?? config.overlayPropagation.enable
|
|
105
|
+
});
|
|
103
106
|
import_configManager.default.set(
|
|
104
107
|
"enableLivePreviewOutsideIframe",
|
|
105
108
|
initData.enableLivePreviewOutsideIframe ?? config.enableLivePreviewOutsideIframe
|
|
106
109
|
);
|
|
107
110
|
handleClientUrlParams(
|
|
108
|
-
initData.clientUrlParams ?? ((
|
|
111
|
+
initData.clientUrlParams ?? ((_z = stackSdk.live_preview) == null ? void 0 : _z.clientUrlParams) ?? config.clientUrlParams
|
|
109
112
|
);
|
|
110
113
|
if (initData.mode) {
|
|
111
114
|
switch (initData.mode) {
|
|
@@ -126,7 +129,7 @@ var handleInitData = (initData) => {
|
|
|
126
129
|
}
|
|
127
130
|
import_configManager.default.set(
|
|
128
131
|
"debug",
|
|
129
|
-
initData.debug ?? ((
|
|
132
|
+
initData.debug ?? ((_A = stackSdk.live_preview) == null ? void 0 : _A.debug) ?? config.debug
|
|
130
133
|
);
|
|
131
134
|
handleStackDetails(initData, stackSdk);
|
|
132
135
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/configManager/handleUserConfig.ts"],"sourcesContent":["import {\n type IClientUrlParams,\n type IInitData,\n ILivePreviewModeConfig,\n type IStackSdk,\n} from \"../types/types\";\nimport Config from \"./configManager\";\n\nconst handleClientUrlParams = (userConfig: Partial<IClientUrlParams>): void => {\n const config = Config.get();\n const clientUrlParams = config.clientUrlParams;\n\n Config.set(\n \"clientUrlParams.host\",\n userConfig.host ?? config.clientUrlParams.host\n );\n\n Config.set(\n \"clientUrlParams.protocol\",\n userConfig.protocol ?? clientUrlParams.protocol\n );\n Config.set(\"clientUrlParams.port\", userConfig.port ?? clientUrlParams.port);\n\n if (userConfig.protocol !== undefined && userConfig.port === undefined) {\n switch (userConfig.protocol) {\n case \"http\": {\n Config.set(\"clientUrlParams.port\", 80);\n break;\n }\n case \"https\": {\n Config.set(\"clientUrlParams.port\", 443);\n break;\n }\n }\n }\n\n let host = config.clientUrlParams.host;\n\n // build url\n if (typeof host == \"string\" && host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n Config.set(\"clientUrlParams.host\", host);\n }\n\n const url = `${clientUrlParams.protocol}://${config.clientUrlParams.host}:${clientUrlParams.port}`;\n\n Config.set(\"clientUrlParams.url\", url);\n};\n\n// TODO: add documentation mentioning that you cannot pass stack sdk in the init data\n\nexport const handleInitData = (initData: Partial<IInitData>): void => {\n const config = Config.get();\n const stackSdk = initData.stackSdk || config.stackSdk;\n\n Config.set(\n \"enable\",\n initData.enable ?? stackSdk.live_preview?.enable ?? config.enable\n );\n\n Config.set(\n \"ssr\",\n stackSdk.live_preview?.ssr ??\n initData.ssr ??\n (typeof initData.stackSdk === \"object\" ? false : true) ??\n true\n );\n\n Config.set(\n \"runScriptsOnUpdate\",\n initData.runScriptsOnUpdate ??\n stackSdk.live_preview?.runScriptsOnUpdate ??\n config.runScriptsOnUpdate\n );\n\n Config.set(\"stackSdk\", initData.stackSdk ?? config.stackSdk);\n\n Config.set(\n \"cleanCslpOnProduction\",\n initData.cleanCslpOnProduction ??\n stackSdk.live_preview?.cleanCslpOnProduction ??\n config.cleanCslpOnProduction\n );\n\n Config.set(\"editButton\", {\n enable:\n initData.editButton?.enable ??\n stackSdk.live_preview?.editButton?.enable ??\n config.editButton.enable,\n // added extra check if exclude data passed by user is array or not\n exclude:\n Array.isArray(initData.editButton?.exclude) &&\n initData.editButton?.exclude\n ? initData.editButton?.exclude\n : Array.isArray(stackSdk.live_preview?.exclude) &&\n stackSdk.live_preview?.exclude\n ? stackSdk.live_preview?.exclude\n : (config.editButton.exclude ?? []),\n position:\n initData.editButton?.position ??\n stackSdk.live_preview?.position ??\n config.editButton.position ??\n \"top\",\n\n includeByQueryParameter:\n initData.editButton?.includeByQueryParameter ??\n stackSdk.live_preview?.includeByQueryParameter ??\n config.editButton.includeByQueryParameter ??\n true,\n });\n \n Config.set(\"editInVisualBuilderButton\", {\n enable:\n initData.editInVisualBuilderButton?.enable ??\n stackSdk.live_preview?.editInVisualBuilderButton?.enable ??\n config.editInVisualBuilderButton.enable,\n position: \n initData.editInVisualBuilderButton?.position ??\n stackSdk.live_preview?.position ??\n config.editInVisualBuilderButton.position ??\n \"bottom-right\",\n })\n\n Config.set(\n \"enableLivePreviewOutsideIframe\",\n initData.enableLivePreviewOutsideIframe ??\n config.enableLivePreviewOutsideIframe\n );\n\n // client URL params\n handleClientUrlParams(\n initData.clientUrlParams ??\n stackSdk.live_preview?.clientUrlParams ??\n config.clientUrlParams\n );\n\n if (initData.mode) {\n switch (initData.mode) {\n case \"preview\": {\n Config.set(\"mode\", ILivePreviewModeConfig.PREVIEW);\n break;\n }\n case \"builder\": {\n Config.set(\"mode\", ILivePreviewModeConfig.BUILDER);\n break;\n }\n default: {\n throw new TypeError(\n \"Live Preview SDK: The mode must be either 'builder' or 'preview'\"\n );\n }\n }\n }\n\n Config.set(\n \"debug\",\n initData.debug ?? stackSdk.live_preview?.debug ?? config.debug\n );\n\n handleStackDetails(initData, stackSdk as IStackSdk);\n};\n\nfunction handleStackDetails(\n initData: Partial<IInitData>,\n stackSdk: Partial<IStackSdk>\n): void {\n const config = Config.get();\n\n Config.set(\n \"stackDetails.apiKey\",\n initData.stackDetails?.apiKey ?? config.stackDetails.apiKey\n );\n\n Config.set(\n \"stackDetails.environment\",\n initData.stackDetails?.environment ??\n stackSdk.environment ??\n config.stackDetails.environment\n );\n\n Config.set(\n \"stackDetails.branch\",\n initData.stackDetails?.branch ??\n stackSdk.branch ??\n stackSdk.headers?.branch ??\n config.stackDetails.branch\n );\n\n Config.set(\n \"stackDetails.locale\",\n initData.stackDetails?.locale ?? config.stackDetails.locale\n );\n\n if (config.mode >= ILivePreviewModeConfig.BUILDER) {\n if (!config.stackDetails.environment) {\n throw Error(\"Live preview SDK: environment is required\");\n }\n\n if (!config.stackDetails.apiKey) {\n throw Error(\"Live preview SDK: api key is required\");\n }\n }\n}\n\nexport const handleUserConfig = {\n clientUrlParams: handleClientUrlParams,\n};\n"],"mappings":"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","names":["Config"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/configManager/handleUserConfig.ts"],"sourcesContent":["import {\n type IClientUrlParams,\n type IInitData,\n ILivePreviewModeConfig,\n type IStackSdk,\n} from \"../types/types\";\nimport Config from \"./configManager\";\n\nconst handleClientUrlParams = (userConfig: Partial<IClientUrlParams>): void => {\n const config = Config.get();\n const clientUrlParams = config.clientUrlParams;\n\n Config.set(\n \"clientUrlParams.host\",\n userConfig.host ?? config.clientUrlParams.host\n );\n\n Config.set(\n \"clientUrlParams.protocol\",\n userConfig.protocol ?? clientUrlParams.protocol\n );\n Config.set(\"clientUrlParams.port\", userConfig.port ?? clientUrlParams.port);\n\n if (userConfig.protocol !== undefined && userConfig.port === undefined) {\n switch (userConfig.protocol) {\n case \"http\": {\n Config.set(\"clientUrlParams.port\", 80);\n break;\n }\n case \"https\": {\n Config.set(\"clientUrlParams.port\", 443);\n break;\n }\n }\n }\n\n let host = config.clientUrlParams.host;\n\n // build url\n if (typeof host == \"string\" && host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n Config.set(\"clientUrlParams.host\", host);\n }\n\n const url = `${clientUrlParams.protocol}://${config.clientUrlParams.host}:${clientUrlParams.port}`;\n\n Config.set(\"clientUrlParams.url\", url);\n};\n\n// TODO: add documentation mentioning that you cannot pass stack sdk in the init data\n\nexport const handleInitData = (initData: Partial<IInitData>): void => {\n const config = Config.get();\n const stackSdk = initData.stackSdk || config.stackSdk;\n\n Config.set(\n \"enable\",\n initData.enable ?? stackSdk.live_preview?.enable ?? config.enable\n );\n\n Config.set(\n \"ssr\",\n stackSdk.live_preview?.ssr ??\n initData.ssr ??\n (typeof initData.stackSdk === \"object\" ? false : true) ??\n true\n );\n\n Config.set(\n \"runScriptsOnUpdate\",\n initData.runScriptsOnUpdate ??\n stackSdk.live_preview?.runScriptsOnUpdate ??\n config.runScriptsOnUpdate\n );\n\n Config.set(\"stackSdk\", initData.stackSdk ?? config.stackSdk);\n\n Config.set(\n \"cleanCslpOnProduction\",\n initData.cleanCslpOnProduction ??\n stackSdk.live_preview?.cleanCslpOnProduction ??\n config.cleanCslpOnProduction\n );\n\n Config.set(\"editButton\", {\n enable:\n initData.editButton?.enable ??\n stackSdk.live_preview?.editButton?.enable ??\n config.editButton.enable,\n // added extra check if exclude data passed by user is array or not\n exclude:\n Array.isArray(initData.editButton?.exclude) &&\n initData.editButton?.exclude\n ? initData.editButton?.exclude\n : Array.isArray(stackSdk.live_preview?.exclude) &&\n stackSdk.live_preview?.exclude\n ? stackSdk.live_preview?.exclude\n : (config.editButton.exclude ?? []),\n position:\n initData.editButton?.position ??\n stackSdk.live_preview?.position ??\n config.editButton.position ??\n \"top\",\n\n includeByQueryParameter:\n initData.editButton?.includeByQueryParameter ??\n stackSdk.live_preview?.includeByQueryParameter ??\n config.editButton.includeByQueryParameter ??\n true,\n });\n \n Config.set(\"editInVisualBuilderButton\", {\n enable:\n initData.editInVisualBuilderButton?.enable ??\n stackSdk.live_preview?.editInVisualBuilderButton?.enable ??\n config.editInVisualBuilderButton.enable,\n position:\n initData.editInVisualBuilderButton?.position ??\n stackSdk.live_preview?.position ??\n config.editInVisualBuilderButton.position ??\n \"bottom-right\",\n })\n\n Config.set(\"overlayPropagation\", {\n enable:\n initData.overlayPropagation?.enable ??\n stackSdk.live_preview?.overlayPropagation?.enable ??\n config.overlayPropagation.enable,\n });\n\n Config.set(\n \"enableLivePreviewOutsideIframe\",\n initData.enableLivePreviewOutsideIframe ??\n config.enableLivePreviewOutsideIframe\n );\n\n // client URL params\n handleClientUrlParams(\n initData.clientUrlParams ??\n stackSdk.live_preview?.clientUrlParams ??\n config.clientUrlParams\n );\n\n if (initData.mode) {\n switch (initData.mode) {\n case \"preview\": {\n Config.set(\"mode\", ILivePreviewModeConfig.PREVIEW);\n break;\n }\n case \"builder\": {\n Config.set(\"mode\", ILivePreviewModeConfig.BUILDER);\n break;\n }\n default: {\n throw new TypeError(\n \"Live Preview SDK: The mode must be either 'builder' or 'preview'\"\n );\n }\n }\n }\n\n Config.set(\n \"debug\",\n initData.debug ?? stackSdk.live_preview?.debug ?? config.debug\n );\n\n handleStackDetails(initData, stackSdk as IStackSdk);\n};\n\nfunction handleStackDetails(\n initData: Partial<IInitData>,\n stackSdk: Partial<IStackSdk>\n): void {\n const config = Config.get();\n\n Config.set(\n \"stackDetails.apiKey\",\n initData.stackDetails?.apiKey ?? config.stackDetails.apiKey\n );\n\n Config.set(\n \"stackDetails.environment\",\n initData.stackDetails?.environment ??\n stackSdk.environment ??\n config.stackDetails.environment\n );\n\n Config.set(\n \"stackDetails.branch\",\n initData.stackDetails?.branch ??\n stackSdk.branch ??\n stackSdk.headers?.branch ??\n config.stackDetails.branch\n );\n\n Config.set(\n \"stackDetails.locale\",\n initData.stackDetails?.locale ?? config.stackDetails.locale\n );\n\n if (config.mode >= ILivePreviewModeConfig.BUILDER) {\n if (!config.stackDetails.environment) {\n throw Error(\"Live preview SDK: environment is required\");\n }\n\n if (!config.stackDetails.apiKey) {\n throw Error(\"Live preview SDK: api key is required\");\n }\n }\n}\n\nexport const handleUserConfig = {\n clientUrlParams: handleClientUrlParams,\n};\n"],"mappings":"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","names":["Config"]}
|
|
@@ -38,7 +38,7 @@ var handleClientUrlParams = (userConfig) => {
|
|
|
38
38
|
Config.set("clientUrlParams.url", url);
|
|
39
39
|
};
|
|
40
40
|
var handleInitData = (initData) => {
|
|
41
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
41
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A;
|
|
42
42
|
const config = Config.get();
|
|
43
43
|
const stackSdk = initData.stackSdk || config.stackSdk;
|
|
44
44
|
Config.set(
|
|
@@ -69,12 +69,15 @@ var handleInitData = (initData) => {
|
|
|
69
69
|
enable: ((_r = initData.editInVisualBuilderButton) == null ? void 0 : _r.enable) ?? ((_t = (_s = stackSdk.live_preview) == null ? void 0 : _s.editInVisualBuilderButton) == null ? void 0 : _t.enable) ?? config.editInVisualBuilderButton.enable,
|
|
70
70
|
position: ((_u = initData.editInVisualBuilderButton) == null ? void 0 : _u.position) ?? ((_v = stackSdk.live_preview) == null ? void 0 : _v.position) ?? config.editInVisualBuilderButton.position ?? "bottom-right"
|
|
71
71
|
});
|
|
72
|
+
Config.set("overlayPropagation", {
|
|
73
|
+
enable: ((_w = initData.overlayPropagation) == null ? void 0 : _w.enable) ?? ((_y = (_x = stackSdk.live_preview) == null ? void 0 : _x.overlayPropagation) == null ? void 0 : _y.enable) ?? config.overlayPropagation.enable
|
|
74
|
+
});
|
|
72
75
|
Config.set(
|
|
73
76
|
"enableLivePreviewOutsideIframe",
|
|
74
77
|
initData.enableLivePreviewOutsideIframe ?? config.enableLivePreviewOutsideIframe
|
|
75
78
|
);
|
|
76
79
|
handleClientUrlParams(
|
|
77
|
-
initData.clientUrlParams ?? ((
|
|
80
|
+
initData.clientUrlParams ?? ((_z = stackSdk.live_preview) == null ? void 0 : _z.clientUrlParams) ?? config.clientUrlParams
|
|
78
81
|
);
|
|
79
82
|
if (initData.mode) {
|
|
80
83
|
switch (initData.mode) {
|
|
@@ -95,7 +98,7 @@ var handleInitData = (initData) => {
|
|
|
95
98
|
}
|
|
96
99
|
Config.set(
|
|
97
100
|
"debug",
|
|
98
|
-
initData.debug ?? ((
|
|
101
|
+
initData.debug ?? ((_A = stackSdk.live_preview) == null ? void 0 : _A.debug) ?? config.debug
|
|
99
102
|
);
|
|
100
103
|
handleStackDetails(initData, stackSdk);
|
|
101
104
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/configManager/handleUserConfig.ts"],"sourcesContent":["import {\n type IClientUrlParams,\n type IInitData,\n ILivePreviewModeConfig,\n type IStackSdk,\n} from \"../types/types\";\nimport Config from \"./configManager\";\n\nconst handleClientUrlParams = (userConfig: Partial<IClientUrlParams>): void => {\n const config = Config.get();\n const clientUrlParams = config.clientUrlParams;\n\n Config.set(\n \"clientUrlParams.host\",\n userConfig.host ?? config.clientUrlParams.host\n );\n\n Config.set(\n \"clientUrlParams.protocol\",\n userConfig.protocol ?? clientUrlParams.protocol\n );\n Config.set(\"clientUrlParams.port\", userConfig.port ?? clientUrlParams.port);\n\n if (userConfig.protocol !== undefined && userConfig.port === undefined) {\n switch (userConfig.protocol) {\n case \"http\": {\n Config.set(\"clientUrlParams.port\", 80);\n break;\n }\n case \"https\": {\n Config.set(\"clientUrlParams.port\", 443);\n break;\n }\n }\n }\n\n let host = config.clientUrlParams.host;\n\n // build url\n if (typeof host == \"string\" && host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n Config.set(\"clientUrlParams.host\", host);\n }\n\n const url = `${clientUrlParams.protocol}://${config.clientUrlParams.host}:${clientUrlParams.port}`;\n\n Config.set(\"clientUrlParams.url\", url);\n};\n\n// TODO: add documentation mentioning that you cannot pass stack sdk in the init data\n\nexport const handleInitData = (initData: Partial<IInitData>): void => {\n const config = Config.get();\n const stackSdk = initData.stackSdk || config.stackSdk;\n\n Config.set(\n \"enable\",\n initData.enable ?? stackSdk.live_preview?.enable ?? config.enable\n );\n\n Config.set(\n \"ssr\",\n stackSdk.live_preview?.ssr ??\n initData.ssr ??\n (typeof initData.stackSdk === \"object\" ? false : true) ??\n true\n );\n\n Config.set(\n \"runScriptsOnUpdate\",\n initData.runScriptsOnUpdate ??\n stackSdk.live_preview?.runScriptsOnUpdate ??\n config.runScriptsOnUpdate\n );\n\n Config.set(\"stackSdk\", initData.stackSdk ?? config.stackSdk);\n\n Config.set(\n \"cleanCslpOnProduction\",\n initData.cleanCslpOnProduction ??\n stackSdk.live_preview?.cleanCslpOnProduction ??\n config.cleanCslpOnProduction\n );\n\n Config.set(\"editButton\", {\n enable:\n initData.editButton?.enable ??\n stackSdk.live_preview?.editButton?.enable ??\n config.editButton.enable,\n // added extra check if exclude data passed by user is array or not\n exclude:\n Array.isArray(initData.editButton?.exclude) &&\n initData.editButton?.exclude\n ? initData.editButton?.exclude\n : Array.isArray(stackSdk.live_preview?.exclude) &&\n stackSdk.live_preview?.exclude\n ? stackSdk.live_preview?.exclude\n : (config.editButton.exclude ?? []),\n position:\n initData.editButton?.position ??\n stackSdk.live_preview?.position ??\n config.editButton.position ??\n \"top\",\n\n includeByQueryParameter:\n initData.editButton?.includeByQueryParameter ??\n stackSdk.live_preview?.includeByQueryParameter ??\n config.editButton.includeByQueryParameter ??\n true,\n });\n \n Config.set(\"editInVisualBuilderButton\", {\n enable:\n initData.editInVisualBuilderButton?.enable ??\n stackSdk.live_preview?.editInVisualBuilderButton?.enable ??\n config.editInVisualBuilderButton.enable,\n position
|
|
1
|
+
{"version":3,"sources":["../../../src/configManager/handleUserConfig.ts"],"sourcesContent":["import {\n type IClientUrlParams,\n type IInitData,\n ILivePreviewModeConfig,\n type IStackSdk,\n} from \"../types/types\";\nimport Config from \"./configManager\";\n\nconst handleClientUrlParams = (userConfig: Partial<IClientUrlParams>): void => {\n const config = Config.get();\n const clientUrlParams = config.clientUrlParams;\n\n Config.set(\n \"clientUrlParams.host\",\n userConfig.host ?? config.clientUrlParams.host\n );\n\n Config.set(\n \"clientUrlParams.protocol\",\n userConfig.protocol ?? clientUrlParams.protocol\n );\n Config.set(\"clientUrlParams.port\", userConfig.port ?? clientUrlParams.port);\n\n if (userConfig.protocol !== undefined && userConfig.port === undefined) {\n switch (userConfig.protocol) {\n case \"http\": {\n Config.set(\"clientUrlParams.port\", 80);\n break;\n }\n case \"https\": {\n Config.set(\"clientUrlParams.port\", 443);\n break;\n }\n }\n }\n\n let host = config.clientUrlParams.host;\n\n // build url\n if (typeof host == \"string\" && host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n Config.set(\"clientUrlParams.host\", host);\n }\n\n const url = `${clientUrlParams.protocol}://${config.clientUrlParams.host}:${clientUrlParams.port}`;\n\n Config.set(\"clientUrlParams.url\", url);\n};\n\n// TODO: add documentation mentioning that you cannot pass stack sdk in the init data\n\nexport const handleInitData = (initData: Partial<IInitData>): void => {\n const config = Config.get();\n const stackSdk = initData.stackSdk || config.stackSdk;\n\n Config.set(\n \"enable\",\n initData.enable ?? stackSdk.live_preview?.enable ?? config.enable\n );\n\n Config.set(\n \"ssr\",\n stackSdk.live_preview?.ssr ??\n initData.ssr ??\n (typeof initData.stackSdk === \"object\" ? false : true) ??\n true\n );\n\n Config.set(\n \"runScriptsOnUpdate\",\n initData.runScriptsOnUpdate ??\n stackSdk.live_preview?.runScriptsOnUpdate ??\n config.runScriptsOnUpdate\n );\n\n Config.set(\"stackSdk\", initData.stackSdk ?? config.stackSdk);\n\n Config.set(\n \"cleanCslpOnProduction\",\n initData.cleanCslpOnProduction ??\n stackSdk.live_preview?.cleanCslpOnProduction ??\n config.cleanCslpOnProduction\n );\n\n Config.set(\"editButton\", {\n enable:\n initData.editButton?.enable ??\n stackSdk.live_preview?.editButton?.enable ??\n config.editButton.enable,\n // added extra check if exclude data passed by user is array or not\n exclude:\n Array.isArray(initData.editButton?.exclude) &&\n initData.editButton?.exclude\n ? initData.editButton?.exclude\n : Array.isArray(stackSdk.live_preview?.exclude) &&\n stackSdk.live_preview?.exclude\n ? stackSdk.live_preview?.exclude\n : (config.editButton.exclude ?? []),\n position:\n initData.editButton?.position ??\n stackSdk.live_preview?.position ??\n config.editButton.position ??\n \"top\",\n\n includeByQueryParameter:\n initData.editButton?.includeByQueryParameter ??\n stackSdk.live_preview?.includeByQueryParameter ??\n config.editButton.includeByQueryParameter ??\n true,\n });\n \n Config.set(\"editInVisualBuilderButton\", {\n enable:\n initData.editInVisualBuilderButton?.enable ??\n stackSdk.live_preview?.editInVisualBuilderButton?.enable ??\n config.editInVisualBuilderButton.enable,\n position:\n initData.editInVisualBuilderButton?.position ??\n stackSdk.live_preview?.position ??\n config.editInVisualBuilderButton.position ??\n \"bottom-right\",\n })\n\n Config.set(\"overlayPropagation\", {\n enable:\n initData.overlayPropagation?.enable ??\n stackSdk.live_preview?.overlayPropagation?.enable ??\n config.overlayPropagation.enable,\n });\n\n Config.set(\n \"enableLivePreviewOutsideIframe\",\n initData.enableLivePreviewOutsideIframe ??\n config.enableLivePreviewOutsideIframe\n );\n\n // client URL params\n handleClientUrlParams(\n initData.clientUrlParams ??\n stackSdk.live_preview?.clientUrlParams ??\n config.clientUrlParams\n );\n\n if (initData.mode) {\n switch (initData.mode) {\n case \"preview\": {\n Config.set(\"mode\", ILivePreviewModeConfig.PREVIEW);\n break;\n }\n case \"builder\": {\n Config.set(\"mode\", ILivePreviewModeConfig.BUILDER);\n break;\n }\n default: {\n throw new TypeError(\n \"Live Preview SDK: The mode must be either 'builder' or 'preview'\"\n );\n }\n }\n }\n\n Config.set(\n \"debug\",\n initData.debug ?? stackSdk.live_preview?.debug ?? config.debug\n );\n\n handleStackDetails(initData, stackSdk as IStackSdk);\n};\n\nfunction handleStackDetails(\n initData: Partial<IInitData>,\n stackSdk: Partial<IStackSdk>\n): void {\n const config = Config.get();\n\n Config.set(\n \"stackDetails.apiKey\",\n initData.stackDetails?.apiKey ?? config.stackDetails.apiKey\n );\n\n Config.set(\n \"stackDetails.environment\",\n initData.stackDetails?.environment ??\n stackSdk.environment ??\n config.stackDetails.environment\n );\n\n Config.set(\n \"stackDetails.branch\",\n initData.stackDetails?.branch ??\n stackSdk.branch ??\n stackSdk.headers?.branch ??\n config.stackDetails.branch\n );\n\n Config.set(\n \"stackDetails.locale\",\n initData.stackDetails?.locale ?? config.stackDetails.locale\n );\n\n if (config.mode >= ILivePreviewModeConfig.BUILDER) {\n if (!config.stackDetails.environment) {\n throw Error(\"Live preview SDK: environment is required\");\n }\n\n if (!config.stackDetails.apiKey) {\n throw Error(\"Live preview SDK: api key is required\");\n }\n }\n}\n\nexport const handleUserConfig = {\n clientUrlParams: handleClientUrlParams,\n};\n"],"mappings":"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","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';
|