@contentstack/live-preview-utils 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/legacy/contentstack-live-preview-HOC.cjs +1 -1
- package/dist/legacy/contentstack-live-preview-HOC.js +1 -1
- package/dist/legacy/live-preview.cjs +4 -4
- package/dist/legacy/live-preview.cjs.map +1 -1
- package/dist/legacy/live-preview.js +4 -4
- package/dist/legacy/live-preview.js.map +1 -1
- package/dist/legacy/utils/defaults.cjs +0 -3
- package/dist/legacy/utils/defaults.cjs.map +1 -1
- package/dist/legacy/utils/defaults.js +0 -3
- package/dist/legacy/utils/defaults.js.map +1 -1
- package/dist/legacy/utils/handleUserConfig.cjs +5 -7
- package/dist/legacy/utils/handleUserConfig.cjs.map +1 -1
- package/dist/legacy/utils/handleUserConfig.js +5 -7
- package/dist/legacy/utils/handleUserConfig.js.map +1 -1
- package/dist/legacy/utils/types.cjs.map +1 -1
- package/dist/legacy/utils/types.d.cts +0 -3
- package/dist/legacy/utils/types.d.ts +0 -3
- package/dist/modern/contentstack-live-preview-HOC.cjs +1 -1
- package/dist/modern/contentstack-live-preview-HOC.js +1 -1
- package/dist/modern/live-preview.cjs +4 -4
- package/dist/modern/live-preview.cjs.map +1 -1
- package/dist/modern/live-preview.js +4 -4
- package/dist/modern/live-preview.js.map +1 -1
- package/dist/modern/utils/defaults.cjs +0 -3
- package/dist/modern/utils/defaults.cjs.map +1 -1
- package/dist/modern/utils/defaults.js +0 -3
- package/dist/modern/utils/defaults.js.map +1 -1
- package/dist/modern/utils/handleUserConfig.cjs +1 -3
- package/dist/modern/utils/handleUserConfig.cjs.map +1 -1
- package/dist/modern/utils/handleUserConfig.js +1 -3
- package/dist/modern/utils/handleUserConfig.js.map +1 -1
- package/dist/modern/utils/types.cjs.map +1 -1
- package/dist/modern/utils/types.d.cts +0 -3
- package/dist/modern/utils/types.d.ts +0 -3
- package/package.json +1 -1
|
@@ -50,8 +50,6 @@ var handleInitData = (initData, config) => {
|
|
|
50
50
|
includeByQueryParameter: livePreviewObject.editButton?.includeByQueryParameter ?? config.editButton.includeByQueryParameter ?? true
|
|
51
51
|
};
|
|
52
52
|
config.stackSdk = initData;
|
|
53
|
-
if (Object.prototype.hasOwnProperty.call(initData.headers, "api_key") && initData.headers.api_key)
|
|
54
|
-
config.stackDetails.apiKey = initData.headers.api_key;
|
|
55
53
|
if (Object.prototype.hasOwnProperty.call(initData, "environment")) {
|
|
56
54
|
config.stackDetails.environment = initData.environment;
|
|
57
55
|
}
|
|
@@ -78,7 +76,7 @@ var handleInitData = (initData, config) => {
|
|
|
78
76
|
position: initData.editButton?.position ?? stackSdk.live_preview?.position ?? config.editButton.position ?? "top",
|
|
79
77
|
includeByQueryParameter: initData.editButton?.includeByQueryParameter ?? stackSdk.live_preview?.includeByQueryParameter ?? config.editButton.includeByQueryParameter ?? true
|
|
80
78
|
};
|
|
81
|
-
config.stackDetails.apiKey = initData.stackDetails?.apiKey ??
|
|
79
|
+
config.stackDetails.apiKey = initData.stackDetails?.apiKey ?? config.stackDetails.apiKey;
|
|
82
80
|
config.stackDetails.environment = initData.stackDetails?.environment ?? stackSdk.environment ?? config.stackDetails.environment;
|
|
83
81
|
config.stackDetails.branch = initData.stackDetails?.branch ?? config.stackDetails.branch ?? "main";
|
|
84
82
|
handleClientUrlParams(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/handleUserConfig.ts"],"sourcesContent":["import { shouldRenderEditButton } from \".\";\nimport { PublicLogger } from \"./public-logger\";\nimport { IClientUrlParams, IConfig, IInitData, IStackSdk } from \"./types\";\n\nconst handleClientUrlParams = (\n existingConfig: IConfig,\n userConfig: Partial<IClientUrlParams>\n): void => {\n existingConfig.clientUrlParams.host =\n userConfig.host ?? existingConfig.clientUrlParams.host;\n existingConfig.clientUrlParams.protocol =\n userConfig.protocol ?? existingConfig.clientUrlParams.protocol;\n existingConfig.clientUrlParams.port =\n userConfig.port ?? existingConfig.clientUrlParams.port;\n\n if (userConfig.protocol !== undefined && userConfig.port === undefined) {\n switch (userConfig.protocol) {\n case \"http\": {\n existingConfig.clientUrlParams.port = 80;\n break;\n }\n case \"https\": {\n existingConfig.clientUrlParams.port = 443;\n break;\n }\n }\n }\n\n // build url\n let host = existingConfig.clientUrlParams.host;\n\n if (host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n existingConfig.clientUrlParams.host = host;\n }\n\n existingConfig.clientUrlParams.url = `${existingConfig.clientUrlParams.protocol}://${existingConfig.clientUrlParams.host}:${existingConfig.clientUrlParams.port}`;\n};\n\nfunction isInitDataStackSdk(\n initObj: Partial<IConfig> | Partial<IStackSdk>\n): initObj is IStackSdk {\n return Object.prototype.hasOwnProperty.call(initObj, \"cachePolicy\");\n}\n\nfunction isInitDataCommon(\n initObj: Partial<IConfig> | Partial<IStackSdk>\n): initObj is IInitData {\n return !isInitDataStackSdk(initObj);\n}\n\nexport const handleInitData = (\n initData: Partial<IInitData> | Partial<IStackSdk>,\n config: IConfig\n): void => {\n // only have stack sdk\n if (isInitDataStackSdk(initData)) {\n PublicLogger.warn(\n \"Deprecated: Do not pass the Stack object directly to the Live Preview SDK. Pass it using the config.stackSDK config object.\"\n );\n\n const livePreviewObject = initData?.live_preview || {};\n\n // only stack indicates that user is running it on client side application\n config.ssr = false;\n\n config.runScriptsOnUpdate =\n livePreviewObject.runScriptsOnUpdate ?? config.runScriptsOnUpdate;\n\n config.enable = livePreviewObject.enable ?? config.enable;\n\n config.cleanCslpOnProduction =\n livePreviewObject.cleanCslpOnProduction ??\n config.cleanCslpOnProduction;\n\n config.editButton = {\n enable: shouldRenderEditButton(\n livePreviewObject.editButton ?? config.editButton\n ),\n // added extra check if exclude data passed by user is array or not\n exclude:\n Array.isArray(livePreviewObject.editButton?.exclude) &&\n livePreviewObject.editButton?.exclude\n ? livePreviewObject.editButton?.exclude\n : config.editButton.exclude ?? [],\n position:\n livePreviewObject.editButton?.position ??\n config.editButton.position ??\n \"top\",\n\n includeByQueryParameter:\n livePreviewObject.editButton?.includeByQueryParameter ??\n config.editButton.includeByQueryParameter ??\n true,\n };\n\n config.stackSdk = initData;\n\n // stack details\n
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/handleUserConfig.ts"],"sourcesContent":["import { shouldRenderEditButton } from \".\";\nimport { PublicLogger } from \"./public-logger\";\nimport { IClientUrlParams, IConfig, IInitData, IStackSdk } from \"./types\";\n\nconst handleClientUrlParams = (\n existingConfig: IConfig,\n userConfig: Partial<IClientUrlParams>\n): void => {\n existingConfig.clientUrlParams.host =\n userConfig.host ?? existingConfig.clientUrlParams.host;\n existingConfig.clientUrlParams.protocol =\n userConfig.protocol ?? existingConfig.clientUrlParams.protocol;\n existingConfig.clientUrlParams.port =\n userConfig.port ?? existingConfig.clientUrlParams.port;\n\n if (userConfig.protocol !== undefined && userConfig.port === undefined) {\n switch (userConfig.protocol) {\n case \"http\": {\n existingConfig.clientUrlParams.port = 80;\n break;\n }\n case \"https\": {\n existingConfig.clientUrlParams.port = 443;\n break;\n }\n }\n }\n\n // build url\n let host = existingConfig.clientUrlParams.host;\n\n if (host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n existingConfig.clientUrlParams.host = host;\n }\n\n existingConfig.clientUrlParams.url = `${existingConfig.clientUrlParams.protocol}://${existingConfig.clientUrlParams.host}:${existingConfig.clientUrlParams.port}`;\n};\n\nfunction isInitDataStackSdk(\n initObj: Partial<IConfig> | Partial<IStackSdk>\n): initObj is IStackSdk {\n return Object.prototype.hasOwnProperty.call(initObj, \"cachePolicy\");\n}\n\nfunction isInitDataCommon(\n initObj: Partial<IConfig> | Partial<IStackSdk>\n): initObj is IInitData {\n return !isInitDataStackSdk(initObj);\n}\n\nexport const handleInitData = (\n initData: Partial<IInitData> | Partial<IStackSdk>,\n config: IConfig\n): void => {\n // only have stack sdk\n if (isInitDataStackSdk(initData)) {\n PublicLogger.warn(\n \"Deprecated: Do not pass the Stack object directly to the Live Preview SDK. Pass it using the config.stackSDK config object.\"\n );\n\n const livePreviewObject = initData?.live_preview || {};\n\n // only stack indicates that user is running it on client side application\n config.ssr = false;\n\n config.runScriptsOnUpdate =\n livePreviewObject.runScriptsOnUpdate ?? config.runScriptsOnUpdate;\n\n config.enable = livePreviewObject.enable ?? config.enable;\n\n config.cleanCslpOnProduction =\n livePreviewObject.cleanCslpOnProduction ??\n config.cleanCslpOnProduction;\n\n config.editButton = {\n enable: shouldRenderEditButton(\n livePreviewObject.editButton ?? config.editButton\n ),\n // added extra check if exclude data passed by user is array or not\n exclude:\n Array.isArray(livePreviewObject.editButton?.exclude) &&\n livePreviewObject.editButton?.exclude\n ? livePreviewObject.editButton?.exclude\n : config.editButton.exclude ?? [],\n position:\n livePreviewObject.editButton?.position ??\n config.editButton.position ??\n \"top\",\n\n includeByQueryParameter:\n livePreviewObject.editButton?.includeByQueryParameter ??\n config.editButton.includeByQueryParameter ??\n true,\n };\n\n config.stackSdk = initData;\n\n // stack details\n\n if (Object.prototype.hasOwnProperty.call(initData, \"environment\")) {\n config.stackDetails.environment = initData.environment;\n }\n\n if (Object.prototype.hasOwnProperty.call(initData, \"branch\")) {\n config.stackDetails.branch = initData.branch;\n }\n\n // client URL params\n handleClientUrlParams(\n config,\n livePreviewObject.clientUrlParams ?? config.clientUrlParams\n );\n } else if (isInitDataCommon(initData)) {\n const stackSdk: Partial<IStackSdk> =\n initData.stackSdk || config.stackSdk;\n\n config.enable =\n initData.enable ?? stackSdk.live_preview?.enable ?? config.enable;\n\n config.ssr =\n initData.ssr ??\n stackSdk.live_preview?.ssr ??\n (typeof initData.stackSdk === \"object\" ? false : true) ??\n true;\n\n config.runScriptsOnUpdate =\n initData.runScriptsOnUpdate ??\n stackSdk.live_preview?.runScriptsOnUpdate ??\n config.runScriptsOnUpdate;\n\n config.stackSdk = stackSdk as IStackSdk;\n\n config.cleanCslpOnProduction =\n initData.cleanCslpOnProduction ??\n stackSdk.live_preview?.cleanCslpOnProduction ??\n config.cleanCslpOnProduction;\n\n config.editButton = {\n enable: shouldRenderEditButton(\n initData.editButton ??\n stackSdk.live_preview?.editButton ??\n config.editButton\n ),\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.stackDetails.apiKey =\n initData.stackDetails?.apiKey ?? config.stackDetails.apiKey;\n\n config.stackDetails.environment =\n initData.stackDetails?.environment ??\n stackSdk.environment ??\n config.stackDetails.environment;\n\n config.stackDetails.branch =\n initData.stackDetails?.branch ??\n config.stackDetails.branch ??\n \"main\";\n\n // client URL params\n handleClientUrlParams(\n config,\n initData.clientUrlParams ??\n stackSdk.live_preview?.clientUrlParams ??\n config.clientUrlParams\n );\n }\n};\n\nexport const handleUserConfig = {\n clientUrlParams: handleClientUrlParams,\n};\n"],"mappings":";AAAA,SAAS,8BAA8B;AACvC,SAAS,oBAAoB;AAG7B,IAAM,wBAAwB,CAC1B,gBACA,eACO;AACP,iBAAe,gBAAgB,OAC3B,WAAW,QAAQ,eAAe,gBAAgB;AACtD,iBAAe,gBAAgB,WAC3B,WAAW,YAAY,eAAe,gBAAgB;AAC1D,iBAAe,gBAAgB,OAC3B,WAAW,QAAQ,eAAe,gBAAgB;AAEtD,MAAI,WAAW,aAAa,UAAa,WAAW,SAAS,QAAW;AACpE,YAAQ,WAAW,UAAU;AAAA,MACzB,KAAK,QAAQ;AACT,uBAAe,gBAAgB,OAAO;AACtC;AAAA,MACJ;AAAA,MACA,KAAK,SAAS;AACV,uBAAe,gBAAgB,OAAO;AACtC;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAGA,MAAI,OAAO,eAAe,gBAAgB;AAE1C,MAAI,KAAK,SAAS,GAAG,GAAG;AACpB,WAAO,KAAK,MAAM,GAAG,EAAE;AACvB,mBAAe,gBAAgB,OAAO;AAAA,EAC1C;AAEA,iBAAe,gBAAgB,MAAM,GAAG,eAAe,gBAAgB,QAAQ,MAAM,eAAe,gBAAgB,IAAI,IAAI,eAAe,gBAAgB,IAAI;AACnK;AAEA,SAAS,mBACL,SACoB;AACpB,SAAO,OAAO,UAAU,eAAe,KAAK,SAAS,aAAa;AACtE;AAEA,SAAS,iBACL,SACoB;AACpB,SAAO,CAAC,mBAAmB,OAAO;AACtC;AAEO,IAAM,iBAAiB,CAC1B,UACA,WACO;AAEP,MAAI,mBAAmB,QAAQ,GAAG;AAC9B,iBAAa;AAAA,MACT;AAAA,IACJ;AAEA,UAAM,oBAAoB,UAAU,gBAAgB,CAAC;AAGrD,WAAO,MAAM;AAEb,WAAO,qBACH,kBAAkB,sBAAsB,OAAO;AAEnD,WAAO,SAAS,kBAAkB,UAAU,OAAO;AAEnD,WAAO,wBACH,kBAAkB,yBAClB,OAAO;AAEX,WAAO,aAAa;AAAA,MAChB,QAAQ;AAAA,QACJ,kBAAkB,cAAc,OAAO;AAAA,MAC3C;AAAA;AAAA,MAEA,SACI,MAAM,QAAQ,kBAAkB,YAAY,OAAO,KACnD,kBAAkB,YAAY,UACxB,kBAAkB,YAAY,UAC9B,OAAO,WAAW,WAAW,CAAC;AAAA,MACxC,UACI,kBAAkB,YAAY,YAC9B,OAAO,WAAW,YAClB;AAAA,MAEJ,yBACI,kBAAkB,YAAY,2BAC9B,OAAO,WAAW,2BAClB;AAAA,IACR;AAEA,WAAO,WAAW;AAIlB,QAAI,OAAO,UAAU,eAAe,KAAK,UAAU,aAAa,GAAG;AAC/D,aAAO,aAAa,cAAc,SAAS;AAAA,IAC/C;AAEA,QAAI,OAAO,UAAU,eAAe,KAAK,UAAU,QAAQ,GAAG;AAC1D,aAAO,aAAa,SAAS,SAAS;AAAA,IAC1C;AAGA;AAAA,MACI;AAAA,MACA,kBAAkB,mBAAmB,OAAO;AAAA,IAChD;AAAA,EACJ,WAAW,iBAAiB,QAAQ,GAAG;AACnC,UAAM,WACF,SAAS,YAAY,OAAO;AAEhC,WAAO,SACH,SAAS,UAAU,SAAS,cAAc,UAAU,OAAO;AAE/D,WAAO,MACH,SAAS,OACT,SAAS,cAAc,QACtB,OAAO,SAAS,aAAa,WAAW,QAAQ,SACjD;AAEJ,WAAO,qBACH,SAAS,sBACT,SAAS,cAAc,sBACvB,OAAO;AAEX,WAAO,WAAW;AAElB,WAAO,wBACH,SAAS,yBACT,SAAS,cAAc,yBACvB,OAAO;AAEX,WAAO,aAAa;AAAA,MAChB,QAAQ;AAAA,QACJ,SAAS,cACL,SAAS,cAAc,cACvB,OAAO;AAAA,MACf;AAAA;AAAA,MAEA,SACI,MAAM,QAAQ,SAAS,YAAY,OAAO,KAC1C,SAAS,YAAY,UACf,SAAS,YAAY,UACrB,MAAM,QAAQ,SAAS,cAAc,OAAO,KAC5C,SAAS,cAAc,UACvB,SAAS,cAAc,UACvB,OAAO,WAAW,WAAW,CAAC;AAAA,MACxC,UACI,SAAS,YAAY,YACrB,SAAS,cAAc,YACvB,OAAO,WAAW,YAClB;AAAA,MAEJ,yBACI,SAAS,YAAY,2BACrB,SAAS,cAAc,2BACvB,OAAO,WAAW,2BAClB;AAAA,IACR;AAEA,WAAO,aAAa,SAChB,SAAS,cAAc,UAAU,OAAO,aAAa;AAEzD,WAAO,aAAa,cAChB,SAAS,cAAc,eACvB,SAAS,eACT,OAAO,aAAa;AAExB,WAAO,aAAa,SAChB,SAAS,cAAc,UACvB,OAAO,aAAa,UACpB;AAGJ;AAAA,MACI;AAAA,MACA,SAAS,mBACL,SAAS,cAAc,mBACvB,OAAO;AAAA,IACf;AAAA,EACJ;AACJ;AAEO,IAAM,mBAAmB;AAAA,EAC5B,iBAAiB;AACrB;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/types.ts"],"sourcesContent":["export declare interface IEditEntrySearchParams {\n hash?: string;\n entry_uid?: string;\n content_type_uid?: string;\n /**\n * @deprecated pass this value as hash instead\n */\n live_preview?: string;\n}\n\nexport declare interface IClientUrlParams {\n protocol: \"http\" | \"https\";\n host: string;\n port: string | number;\n url: string;\n}\n\nexport declare interface IStackSdk {\n live_preview: { [key: string]: any } & Partial<IConfig>;\n [key: string]: any;\n
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/types.ts"],"sourcesContent":["export declare interface IEditEntrySearchParams {\n hash?: string;\n entry_uid?: string;\n content_type_uid?: string;\n /**\n * @deprecated pass this value as hash instead\n */\n live_preview?: string;\n}\n\nexport declare interface IClientUrlParams {\n protocol: \"http\" | \"https\";\n host: string;\n port: string | number;\n url: string;\n}\n\nexport declare interface IStackSdk {\n live_preview: { [key: string]: any } & Partial<IConfig>;\n [key: string]: any;\n environment: string;\n}\n\nexport declare interface IStackDetails {\n apiKey: string;\n environment: string;\n branch: string;\n contentTypeUid: string;\n entryUid: string;\n}\n\nexport declare interface IInitStackDetails {\n apiKey: string;\n environment: string;\n branch: string;\n}\nexport declare interface IConfig {\n ssr: boolean;\n enable: boolean;\n cleanCslpOnProduction: boolean;\n stackDetails: IStackDetails;\n clientUrlParams: IClientUrlParams;\n stackSdk: IStackSdk;\n onChange: () => void;\n runScriptsOnUpdate: boolean;\n hash: string;\n editButton: IConfigEditButton;\n}\n\nexport declare interface IConfigEditButton {\n enable: boolean;\n exclude?: (\"insideLivePreviewPortal\" | \"outsideLivePreviewPortal\")[];\n includeByQueryParameter?: boolean;\n position?:\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-left\"\n | \"top-right\"\n | \"top-center\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"bottom-center\";\n}\n\nexport declare interface IInitData {\n ssr: boolean;\n runScriptsOnUpdate: boolean;\n enable: boolean;\n cleanCslpOnProduction: boolean;\n stackDetails: Partial<IInitStackDetails>;\n clientUrlParams: Partial<Omit<IClientUrlParams, \"url\">>;\n stackSdk: IStackSdk;\n editButton: IConfigEditButton;\n}\n\n// Post message types\n\nexport declare interface ILivePreviewMessageCommon {\n from: \"live-preview\";\n}\n\nexport type ILivePreviewReceivePostMessages =\n | IClientDataMessage\n | IInitAckMessage\n | IHistoryMessage;\nexport declare interface IClientDataMessage extends ILivePreviewMessageCommon {\n type: \"client-data-send\";\n data: {\n hash: string;\n };\n}\n\nexport declare interface IInitAckMessage extends ILivePreviewMessageCommon {\n type: \"init-ack\";\n data: {\n contentTypeUid: string;\n entryUid: string;\n };\n}\n\nexport declare interface IHistoryMessage extends ILivePreviewMessageCommon {\n type: \"history\";\n data: {\n type: \"forward\" | \"backward\" | \"reload\";\n };\n}\n\nexport declare interface IEditButtonPosition {\n upperBoundOfTooltip: number;\n leftBoundOfTooltip: number;\n}\n\n// end of Post message types\n\nexport declare type OnEntryChangeCallback = () => void;\n\nexport declare type OnEntryChangeConfig = {\n skipInitialRender?: boolean;\n};\n\nexport declare type OnEntryChangeCallbackUID = string;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentstack/live-preview-utils",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Contentstack provides the Live Preview SDK to establish a communication channel between the various Contentstack SDKs and your website, transmitting live changes to the preview pane.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "dist/legacy/index.d.ts",
|