@contentstack/live-preview-utils 1.4.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/legacy/compare.cjs +115 -0
- package/dist/legacy/compare.cjs.map +1 -0
- package/dist/legacy/compare.d.cts +3 -0
- package/dist/legacy/compare.d.ts +3 -0
- package/dist/legacy/compare.js +80 -0
- package/dist/legacy/compare.js.map +1 -0
- package/dist/legacy/contentstack-live-preview-HOC.cjs +200 -0
- package/dist/legacy/contentstack-live-preview-HOC.cjs.map +1 -0
- package/dist/legacy/contentstack-live-preview-HOC.d.cts +26 -0
- package/dist/legacy/contentstack-live-preview-HOC.d.ts +26 -0
- package/dist/legacy/contentstack-live-preview-HOC.js +169 -0
- package/dist/legacy/contentstack-live-preview-HOC.js.map +1 -0
- package/dist/legacy/index.cjs +58 -0
- package/dist/legacy/index.cjs.map +1 -0
- package/dist/legacy/index.d.cts +7 -0
- package/dist/legacy/index.d.ts +7 -0
- package/dist/legacy/index.js +23 -0
- package/dist/legacy/index.js.map +1 -0
- package/dist/legacy/live-preview.cjs +511 -0
- package/dist/legacy/live-preview.cjs.map +1 -0
- package/dist/legacy/live-preview.d.cts +42 -0
- package/dist/{src → legacy}/live-preview.d.ts +5 -3
- package/dist/legacy/live-preview.js +495 -0
- package/dist/legacy/live-preview.js.map +1 -0
- package/dist/legacy/styles/compare.cjs +56 -0
- package/dist/legacy/styles/compare.cjs.map +1 -0
- package/dist/legacy/styles/compare.d.cts +3 -0
- package/dist/legacy/styles/compare.d.ts +3 -0
- package/dist/legacy/styles/compare.js +31 -0
- package/dist/legacy/styles/compare.js.map +1 -0
- package/dist/legacy/styles/live_preview.cjs +120 -0
- package/dist/legacy/styles/live_preview.cjs.map +1 -0
- package/dist/legacy/styles/live_preview.d.cts +8 -0
- package/dist/legacy/styles/live_preview.d.ts +8 -0
- package/dist/legacy/styles/live_preview.js +95 -0
- package/dist/legacy/styles/live_preview.js.map +1 -0
- package/dist/legacy/utils/camelCase.cjs +64 -0
- package/dist/legacy/utils/camelCase.cjs.map +1 -0
- package/dist/legacy/utils/camelCase.d.cts +3 -0
- package/dist/legacy/utils/camelCase.d.ts +3 -0
- package/dist/legacy/utils/camelCase.js +43 -0
- package/dist/legacy/utils/camelCase.js.map +1 -0
- package/dist/legacy/utils/compare.cjs +43 -0
- package/dist/legacy/utils/compare.cjs.map +1 -0
- package/dist/legacy/utils/compare.d.cts +3 -0
- package/dist/legacy/utils/compare.d.ts +3 -0
- package/dist/legacy/utils/compare.js +18 -0
- package/dist/legacy/utils/compare.js.map +1 -0
- package/dist/legacy/utils/defaults.cjs +59 -0
- package/dist/legacy/utils/defaults.cjs.map +1 -0
- package/dist/legacy/utils/defaults.d.cts +5 -0
- package/dist/legacy/utils/defaults.d.ts +5 -0
- package/dist/legacy/utils/defaults.js +34 -0
- package/dist/legacy/utils/defaults.js.map +1 -0
- package/dist/legacy/utils/handlePageTraversal.cjs +47 -0
- package/dist/legacy/utils/handlePageTraversal.cjs.map +1 -0
- package/dist/legacy/utils/handlePageTraversal.d.cts +3 -0
- package/dist/legacy/utils/handlePageTraversal.d.ts +3 -0
- package/dist/legacy/utils/handlePageTraversal.js +22 -0
- package/dist/legacy/utils/handlePageTraversal.js.map +1 -0
- package/dist/legacy/utils/handleUserConfig.cjs +124 -0
- package/dist/legacy/utils/handleUserConfig.cjs.map +1 -0
- package/dist/legacy/utils/handleUserConfig.d.cts +8 -0
- package/dist/legacy/utils/handleUserConfig.d.ts +8 -0
- package/dist/legacy/utils/handleUserConfig.js +98 -0
- package/dist/legacy/utils/handleUserConfig.js.map +1 -0
- package/dist/legacy/utils/index.cjs +241 -0
- package/dist/legacy/utils/index.cjs.map +1 -0
- package/dist/legacy/utils/index.d.cts +12 -0
- package/dist/legacy/utils/index.d.ts +12 -0
- package/dist/legacy/utils/index.js +209 -0
- package/dist/legacy/utils/index.js.map +1 -0
- package/dist/legacy/utils/public-logger.cjs +46 -0
- package/dist/legacy/utils/public-logger.cjs.map +1 -0
- package/dist/legacy/utils/public-logger.d.cts +8 -0
- package/dist/{src → legacy}/utils/public-logger.d.ts +3 -2
- package/dist/legacy/utils/public-logger.js +21 -0
- package/dist/legacy/utils/public-logger.js.map +1 -0
- package/dist/legacy/utils/types.cjs +19 -0
- package/dist/legacy/utils/types.cjs.map +1 -0
- package/dist/legacy/utils/types.d.cts +99 -0
- package/dist/{src → legacy}/utils/types.d.ts +21 -18
- package/dist/legacy/utils/types.js +1 -0
- package/dist/legacy/utils/types.js.map +1 -0
- package/dist/modern/compare.cjs +115 -0
- package/dist/modern/compare.cjs.map +1 -0
- package/dist/modern/compare.d.cts +3 -0
- package/dist/modern/compare.d.ts +3 -0
- package/dist/modern/compare.js +80 -0
- package/dist/modern/compare.js.map +1 -0
- package/dist/modern/contentstack-live-preview-HOC.cjs +200 -0
- package/dist/modern/contentstack-live-preview-HOC.cjs.map +1 -0
- package/dist/modern/contentstack-live-preview-HOC.d.cts +26 -0
- package/dist/modern/contentstack-live-preview-HOC.d.ts +26 -0
- package/dist/modern/contentstack-live-preview-HOC.js +169 -0
- package/dist/modern/contentstack-live-preview-HOC.js.map +1 -0
- package/dist/modern/index.cjs +58 -0
- package/dist/modern/index.cjs.map +1 -0
- package/dist/modern/index.d.cts +7 -0
- package/dist/modern/index.d.ts +7 -0
- package/dist/modern/index.js +23 -0
- package/dist/modern/index.js.map +1 -0
- package/dist/modern/live-preview.cjs +509 -0
- package/dist/modern/live-preview.cjs.map +1 -0
- package/dist/modern/live-preview.d.cts +42 -0
- package/dist/modern/live-preview.d.ts +42 -0
- package/dist/modern/live-preview.js +493 -0
- package/dist/modern/live-preview.js.map +1 -0
- package/dist/modern/styles/compare.cjs +56 -0
- package/dist/modern/styles/compare.cjs.map +1 -0
- package/dist/modern/styles/compare.d.cts +3 -0
- package/dist/modern/styles/compare.d.ts +3 -0
- package/dist/modern/styles/compare.js +31 -0
- package/dist/modern/styles/compare.js.map +1 -0
- package/dist/modern/styles/live_preview.cjs +120 -0
- package/dist/modern/styles/live_preview.cjs.map +1 -0
- package/dist/modern/styles/live_preview.d.cts +8 -0
- package/dist/modern/styles/live_preview.d.ts +8 -0
- package/dist/modern/styles/live_preview.js +95 -0
- package/dist/modern/styles/live_preview.js.map +1 -0
- package/dist/modern/utils/camelCase.cjs +63 -0
- package/dist/modern/utils/camelCase.cjs.map +1 -0
- package/dist/modern/utils/camelCase.d.cts +3 -0
- package/dist/modern/utils/camelCase.d.ts +3 -0
- package/dist/modern/utils/camelCase.js +42 -0
- package/dist/modern/utils/camelCase.js.map +1 -0
- package/dist/modern/utils/compare.cjs +43 -0
- package/dist/modern/utils/compare.cjs.map +1 -0
- package/dist/modern/utils/compare.d.cts +3 -0
- package/dist/modern/utils/compare.d.ts +3 -0
- package/dist/modern/utils/compare.js +18 -0
- package/dist/modern/utils/compare.js.map +1 -0
- package/dist/modern/utils/defaults.cjs +59 -0
- package/dist/modern/utils/defaults.cjs.map +1 -0
- package/dist/modern/utils/defaults.d.cts +5 -0
- package/dist/modern/utils/defaults.d.ts +5 -0
- package/dist/modern/utils/defaults.js +34 -0
- package/dist/modern/utils/defaults.js.map +1 -0
- package/dist/modern/utils/handlePageTraversal.cjs +47 -0
- package/dist/modern/utils/handlePageTraversal.cjs.map +1 -0
- package/dist/modern/utils/handlePageTraversal.d.cts +3 -0
- package/dist/modern/utils/handlePageTraversal.d.ts +3 -0
- package/dist/modern/utils/handlePageTraversal.js +22 -0
- package/dist/modern/utils/handlePageTraversal.js.map +1 -0
- package/dist/modern/utils/handleUserConfig.cjs +123 -0
- package/dist/modern/utils/handleUserConfig.cjs.map +1 -0
- package/dist/modern/utils/handleUserConfig.d.cts +8 -0
- package/dist/modern/utils/handleUserConfig.d.ts +8 -0
- package/dist/modern/utils/handleUserConfig.js +97 -0
- package/dist/modern/utils/handleUserConfig.js.map +1 -0
- package/dist/modern/utils/index.cjs +240 -0
- package/dist/modern/utils/index.cjs.map +1 -0
- package/dist/modern/utils/index.d.cts +12 -0
- package/dist/modern/utils/index.d.ts +12 -0
- package/dist/modern/utils/index.js +208 -0
- package/dist/modern/utils/index.js.map +1 -0
- package/dist/modern/utils/public-logger.cjs +46 -0
- package/dist/modern/utils/public-logger.cjs.map +1 -0
- package/dist/modern/utils/public-logger.d.cts +8 -0
- package/dist/modern/utils/public-logger.d.ts +8 -0
- package/dist/modern/utils/public-logger.js +21 -0
- package/dist/modern/utils/public-logger.js.map +1 -0
- package/dist/modern/utils/types.cjs +19 -0
- package/dist/modern/utils/types.cjs.map +1 -0
- package/dist/modern/utils/types.d.cts +99 -0
- package/dist/modern/utils/types.d.ts +99 -0
- package/dist/modern/utils/types.js +1 -0
- package/dist/modern/utils/types.js.map +1 -0
- package/package.json +35 -10
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/main.css +0 -89
- package/dist/main.css.map +0 -1
- package/dist/mustache.d.ts +0 -2
- package/dist/mustache.d.ts.map +0 -1
- package/dist/setupJest.d.ts +0 -1
- package/dist/setupJest.d.ts.map +0 -1
- package/dist/src/contentstack-live-preview-HOC.d.ts +0 -44
- package/dist/src/contentstack-live-preview-HOC.d.ts.map +0 -1
- package/dist/src/index.d.ts +0 -5
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/live-preview.d.ts.map +0 -1
- package/dist/src/utils/defaults.d.ts +0 -3
- package/dist/src/utils/defaults.d.ts.map +0 -1
- package/dist/src/utils/handleUserConfig.d.ts +0 -6
- package/dist/src/utils/handleUserConfig.d.ts.map +0 -1
- package/dist/src/utils/index.d.ts +0 -10
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/public-logger.d.ts.map +0 -1
- package/dist/src/utils/types.d.ts.map +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// src/utils/handlePageTraversal.ts
|
|
2
|
+
var handlePageTraversal = () => {
|
|
3
|
+
window.addEventListener("unload", () => {
|
|
4
|
+
const targetURL = document.activeElement.href;
|
|
5
|
+
if (targetURL) {
|
|
6
|
+
window.parent.postMessage(
|
|
7
|
+
{
|
|
8
|
+
from: "live-preview",
|
|
9
|
+
type: "url-change",
|
|
10
|
+
data: {
|
|
11
|
+
targetURL
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"*"
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
handlePageTraversal
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=handlePageTraversal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/handlePageTraversal.ts"],"sourcesContent":["export const handlePageTraversal = () => {\n window.addEventListener(\"unload\", () => {\n const targetURL = (document.activeElement as HTMLAnchorElement).href;\n if (targetURL) {\n window.parent.postMessage(\n {\n from: \"live-preview\",\n type: \"url-change\",\n data: {\n targetURL,\n },\n },\n \"*\"\n );\n }\n });\n};\n"],"mappings":";AAAO,IAAM,sBAAsB,MAAM;AACrC,SAAO,iBAAiB,UAAU,MAAM;AACpC,UAAM,YAAa,SAAS,cAAoC;AAChE,QAAI,WAAW;AACX,aAAO,OAAO;AAAA,QACV;AAAA,UACI,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACF;AAAA,UACJ;AAAA,QACJ;AAAA,QACA;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,CAAC;AACL;","names":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/handleUserConfig.ts
|
|
21
|
+
var handleUserConfig_exports = {};
|
|
22
|
+
__export(handleUserConfig_exports, {
|
|
23
|
+
handleInitData: () => handleInitData,
|
|
24
|
+
handleUserConfig: () => handleUserConfig
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(handleUserConfig_exports);
|
|
27
|
+
var import__ = require("./index.cjs");
|
|
28
|
+
var import_public_logger = require("./public-logger.cjs");
|
|
29
|
+
var handleClientUrlParams = (existingConfig, userConfig) => {
|
|
30
|
+
existingConfig.clientUrlParams.host = userConfig.host ?? existingConfig.clientUrlParams.host;
|
|
31
|
+
existingConfig.clientUrlParams.protocol = userConfig.protocol ?? existingConfig.clientUrlParams.protocol;
|
|
32
|
+
existingConfig.clientUrlParams.port = userConfig.port ?? existingConfig.clientUrlParams.port;
|
|
33
|
+
if (userConfig.protocol !== void 0 && userConfig.port === void 0) {
|
|
34
|
+
switch (userConfig.protocol) {
|
|
35
|
+
case "http": {
|
|
36
|
+
existingConfig.clientUrlParams.port = 80;
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
case "https": {
|
|
40
|
+
existingConfig.clientUrlParams.port = 443;
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
let host = existingConfig.clientUrlParams.host;
|
|
46
|
+
if (host.endsWith("/")) {
|
|
47
|
+
host = host.slice(0, -1);
|
|
48
|
+
existingConfig.clientUrlParams.host = host;
|
|
49
|
+
}
|
|
50
|
+
existingConfig.clientUrlParams.url = `${existingConfig.clientUrlParams.protocol}://${existingConfig.clientUrlParams.host}:${existingConfig.clientUrlParams.port}`;
|
|
51
|
+
};
|
|
52
|
+
function isInitDataStackSdk(initObj) {
|
|
53
|
+
return Object.prototype.hasOwnProperty.call(initObj, "cachePolicy");
|
|
54
|
+
}
|
|
55
|
+
function isInitDataCommon(initObj) {
|
|
56
|
+
return !isInitDataStackSdk(initObj);
|
|
57
|
+
}
|
|
58
|
+
var handleInitData = (initData, config) => {
|
|
59
|
+
if (isInitDataStackSdk(initData)) {
|
|
60
|
+
import_public_logger.PublicLogger.warn(
|
|
61
|
+
"Deprecated: Do not pass the Stack object directly to the Live Preview SDK. Pass it using the config.stackSDK config object."
|
|
62
|
+
);
|
|
63
|
+
const livePreviewObject = initData?.live_preview || {};
|
|
64
|
+
config.ssr = false;
|
|
65
|
+
config.runScriptsOnUpdate = livePreviewObject.runScriptsOnUpdate ?? config.runScriptsOnUpdate;
|
|
66
|
+
config.enable = livePreviewObject.enable ?? config.enable;
|
|
67
|
+
config.cleanCslpOnProduction = livePreviewObject.cleanCslpOnProduction ?? config.cleanCslpOnProduction;
|
|
68
|
+
config.editButton = {
|
|
69
|
+
enable: (0, import__.shouldRenderEditButton)(
|
|
70
|
+
livePreviewObject.editButton ?? config.editButton
|
|
71
|
+
),
|
|
72
|
+
// added extra check if exclude data passed by user is array or not
|
|
73
|
+
exclude: Array.isArray(livePreviewObject.editButton?.exclude) && livePreviewObject.editButton?.exclude ? livePreviewObject.editButton?.exclude : config.editButton.exclude ?? [],
|
|
74
|
+
position: livePreviewObject.editButton?.position ?? config.editButton.position ?? "top",
|
|
75
|
+
includeByQueryParameter: livePreviewObject.editButton?.includeByQueryParameter ?? config.editButton.includeByQueryParameter ?? true
|
|
76
|
+
};
|
|
77
|
+
config.stackSdk = initData;
|
|
78
|
+
if (Object.prototype.hasOwnProperty.call(initData.headers, "api_key") && initData.headers.api_key)
|
|
79
|
+
config.stackDetails.apiKey = initData.headers.api_key;
|
|
80
|
+
if (Object.prototype.hasOwnProperty.call(initData, "environment")) {
|
|
81
|
+
config.stackDetails.environment = initData.environment;
|
|
82
|
+
}
|
|
83
|
+
if (Object.prototype.hasOwnProperty.call(initData, "branch")) {
|
|
84
|
+
config.stackDetails.branch = initData.branch;
|
|
85
|
+
}
|
|
86
|
+
handleClientUrlParams(
|
|
87
|
+
config,
|
|
88
|
+
livePreviewObject.clientUrlParams ?? config.clientUrlParams
|
|
89
|
+
);
|
|
90
|
+
} else if (isInitDataCommon(initData)) {
|
|
91
|
+
const stackSdk = initData.stackSdk || config.stackSdk;
|
|
92
|
+
config.enable = initData.enable ?? stackSdk.live_preview?.enable ?? config.enable;
|
|
93
|
+
config.ssr = initData.ssr ?? stackSdk.live_preview?.ssr ?? (typeof initData.stackSdk === "object" ? false : true) ?? true;
|
|
94
|
+
config.runScriptsOnUpdate = initData.runScriptsOnUpdate ?? stackSdk.live_preview?.runScriptsOnUpdate ?? config.runScriptsOnUpdate;
|
|
95
|
+
config.stackSdk = stackSdk;
|
|
96
|
+
config.cleanCslpOnProduction = initData.cleanCslpOnProduction ?? stackSdk.live_preview?.cleanCslpOnProduction ?? config.cleanCslpOnProduction;
|
|
97
|
+
config.editButton = {
|
|
98
|
+
enable: (0, import__.shouldRenderEditButton)(
|
|
99
|
+
initData.editButton ?? stackSdk.live_preview?.editButton ?? config.editButton
|
|
100
|
+
),
|
|
101
|
+
// added extra check if exclude data passed by user is array or not
|
|
102
|
+
exclude: Array.isArray(initData.editButton?.exclude) && initData.editButton?.exclude ? initData.editButton?.exclude : Array.isArray(stackSdk.live_preview?.exclude) && stackSdk.live_preview?.exclude ? stackSdk.live_preview?.exclude : config.editButton.exclude ?? [],
|
|
103
|
+
position: initData.editButton?.position ?? stackSdk.live_preview?.position ?? config.editButton.position ?? "top",
|
|
104
|
+
includeByQueryParameter: initData.editButton?.includeByQueryParameter ?? stackSdk.live_preview?.includeByQueryParameter ?? config.editButton.includeByQueryParameter ?? true
|
|
105
|
+
};
|
|
106
|
+
config.stackDetails.apiKey = initData.stackDetails?.apiKey ?? stackSdk.headers?.api_key ?? config.stackDetails.apiKey;
|
|
107
|
+
config.stackDetails.environment = initData.stackDetails?.environment ?? stackSdk.environment ?? config.stackDetails.environment;
|
|
108
|
+
config.stackDetails.branch = initData.stackDetails?.branch ?? config.stackDetails.branch ?? "main";
|
|
109
|
+
handleClientUrlParams(
|
|
110
|
+
config,
|
|
111
|
+
initData.clientUrlParams ?? stackSdk.live_preview?.clientUrlParams ?? config.clientUrlParams
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
var handleUserConfig = {
|
|
116
|
+
clientUrlParams: handleClientUrlParams
|
|
117
|
+
};
|
|
118
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
119
|
+
0 && (module.exports = {
|
|
120
|
+
handleInitData,
|
|
121
|
+
handleUserConfig
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=handleUserConfig.cjs.map
|
|
@@ -0,0 +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 if (\n Object.prototype.hasOwnProperty.call(initData.headers, \"api_key\") &&\n initData.headers.api_key\n )\n config.stackDetails.apiKey = initData.headers.api_key;\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 ??\n stackSdk.headers?.api_key ??\n 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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAuC;AACvC,2BAA6B;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,sCAAa;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,YAAQ;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;AAGlB,QACI,OAAO,UAAU,eAAe,KAAK,SAAS,SAAS,SAAS,KAChE,SAAS,QAAQ;AAEjB,aAAO,aAAa,SAAS,SAAS,QAAQ;AAElD,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,YAAQ;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,UACvB,SAAS,SAAS,WAClB,OAAO,aAAa;AAExB,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":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IInitData, IStackSdk, IConfig, IClientUrlParams } from './types.cjs';
|
|
2
|
+
|
|
3
|
+
declare const handleInitData: (initData: Partial<IInitData> | Partial<IStackSdk>, config: IConfig) => void;
|
|
4
|
+
declare const handleUserConfig: {
|
|
5
|
+
clientUrlParams: (existingConfig: IConfig, userConfig: Partial<IClientUrlParams>) => void;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export { handleInitData, handleUserConfig };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IInitData, IStackSdk, IConfig, IClientUrlParams } from './types.js';
|
|
2
|
+
|
|
3
|
+
declare const handleInitData: (initData: Partial<IInitData> | Partial<IStackSdk>, config: IConfig) => void;
|
|
4
|
+
declare const handleUserConfig: {
|
|
5
|
+
clientUrlParams: (existingConfig: IConfig, userConfig: Partial<IClientUrlParams>) => void;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export { handleInitData, handleUserConfig };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
// src/utils/handleUserConfig.ts
|
|
2
|
+
import { shouldRenderEditButton } from "./index.js";
|
|
3
|
+
import { PublicLogger } from "./public-logger.js";
|
|
4
|
+
var handleClientUrlParams = (existingConfig, userConfig) => {
|
|
5
|
+
existingConfig.clientUrlParams.host = userConfig.host ?? existingConfig.clientUrlParams.host;
|
|
6
|
+
existingConfig.clientUrlParams.protocol = userConfig.protocol ?? existingConfig.clientUrlParams.protocol;
|
|
7
|
+
existingConfig.clientUrlParams.port = userConfig.port ?? existingConfig.clientUrlParams.port;
|
|
8
|
+
if (userConfig.protocol !== void 0 && userConfig.port === void 0) {
|
|
9
|
+
switch (userConfig.protocol) {
|
|
10
|
+
case "http": {
|
|
11
|
+
existingConfig.clientUrlParams.port = 80;
|
|
12
|
+
break;
|
|
13
|
+
}
|
|
14
|
+
case "https": {
|
|
15
|
+
existingConfig.clientUrlParams.port = 443;
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
let host = existingConfig.clientUrlParams.host;
|
|
21
|
+
if (host.endsWith("/")) {
|
|
22
|
+
host = host.slice(0, -1);
|
|
23
|
+
existingConfig.clientUrlParams.host = host;
|
|
24
|
+
}
|
|
25
|
+
existingConfig.clientUrlParams.url = `${existingConfig.clientUrlParams.protocol}://${existingConfig.clientUrlParams.host}:${existingConfig.clientUrlParams.port}`;
|
|
26
|
+
};
|
|
27
|
+
function isInitDataStackSdk(initObj) {
|
|
28
|
+
return Object.prototype.hasOwnProperty.call(initObj, "cachePolicy");
|
|
29
|
+
}
|
|
30
|
+
function isInitDataCommon(initObj) {
|
|
31
|
+
return !isInitDataStackSdk(initObj);
|
|
32
|
+
}
|
|
33
|
+
var handleInitData = (initData, config) => {
|
|
34
|
+
if (isInitDataStackSdk(initData)) {
|
|
35
|
+
PublicLogger.warn(
|
|
36
|
+
"Deprecated: Do not pass the Stack object directly to the Live Preview SDK. Pass it using the config.stackSDK config object."
|
|
37
|
+
);
|
|
38
|
+
const livePreviewObject = initData?.live_preview || {};
|
|
39
|
+
config.ssr = false;
|
|
40
|
+
config.runScriptsOnUpdate = livePreviewObject.runScriptsOnUpdate ?? config.runScriptsOnUpdate;
|
|
41
|
+
config.enable = livePreviewObject.enable ?? config.enable;
|
|
42
|
+
config.cleanCslpOnProduction = livePreviewObject.cleanCslpOnProduction ?? config.cleanCslpOnProduction;
|
|
43
|
+
config.editButton = {
|
|
44
|
+
enable: shouldRenderEditButton(
|
|
45
|
+
livePreviewObject.editButton ?? config.editButton
|
|
46
|
+
),
|
|
47
|
+
// added extra check if exclude data passed by user is array or not
|
|
48
|
+
exclude: Array.isArray(livePreviewObject.editButton?.exclude) && livePreviewObject.editButton?.exclude ? livePreviewObject.editButton?.exclude : config.editButton.exclude ?? [],
|
|
49
|
+
position: livePreviewObject.editButton?.position ?? config.editButton.position ?? "top",
|
|
50
|
+
includeByQueryParameter: livePreviewObject.editButton?.includeByQueryParameter ?? config.editButton.includeByQueryParameter ?? true
|
|
51
|
+
};
|
|
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
|
+
if (Object.prototype.hasOwnProperty.call(initData, "environment")) {
|
|
56
|
+
config.stackDetails.environment = initData.environment;
|
|
57
|
+
}
|
|
58
|
+
if (Object.prototype.hasOwnProperty.call(initData, "branch")) {
|
|
59
|
+
config.stackDetails.branch = initData.branch;
|
|
60
|
+
}
|
|
61
|
+
handleClientUrlParams(
|
|
62
|
+
config,
|
|
63
|
+
livePreviewObject.clientUrlParams ?? config.clientUrlParams
|
|
64
|
+
);
|
|
65
|
+
} else if (isInitDataCommon(initData)) {
|
|
66
|
+
const stackSdk = initData.stackSdk || config.stackSdk;
|
|
67
|
+
config.enable = initData.enable ?? stackSdk.live_preview?.enable ?? config.enable;
|
|
68
|
+
config.ssr = initData.ssr ?? stackSdk.live_preview?.ssr ?? (typeof initData.stackSdk === "object" ? false : true) ?? true;
|
|
69
|
+
config.runScriptsOnUpdate = initData.runScriptsOnUpdate ?? stackSdk.live_preview?.runScriptsOnUpdate ?? config.runScriptsOnUpdate;
|
|
70
|
+
config.stackSdk = stackSdk;
|
|
71
|
+
config.cleanCslpOnProduction = initData.cleanCslpOnProduction ?? stackSdk.live_preview?.cleanCslpOnProduction ?? config.cleanCslpOnProduction;
|
|
72
|
+
config.editButton = {
|
|
73
|
+
enable: shouldRenderEditButton(
|
|
74
|
+
initData.editButton ?? stackSdk.live_preview?.editButton ?? config.editButton
|
|
75
|
+
),
|
|
76
|
+
// added extra check if exclude data passed by user is array or not
|
|
77
|
+
exclude: Array.isArray(initData.editButton?.exclude) && initData.editButton?.exclude ? initData.editButton?.exclude : Array.isArray(stackSdk.live_preview?.exclude) && stackSdk.live_preview?.exclude ? stackSdk.live_preview?.exclude : config.editButton.exclude ?? [],
|
|
78
|
+
position: initData.editButton?.position ?? stackSdk.live_preview?.position ?? config.editButton.position ?? "top",
|
|
79
|
+
includeByQueryParameter: initData.editButton?.includeByQueryParameter ?? stackSdk.live_preview?.includeByQueryParameter ?? config.editButton.includeByQueryParameter ?? true
|
|
80
|
+
};
|
|
81
|
+
config.stackDetails.apiKey = initData.stackDetails?.apiKey ?? stackSdk.headers?.api_key ?? config.stackDetails.apiKey;
|
|
82
|
+
config.stackDetails.environment = initData.stackDetails?.environment ?? stackSdk.environment ?? config.stackDetails.environment;
|
|
83
|
+
config.stackDetails.branch = initData.stackDetails?.branch ?? config.stackDetails.branch ?? "main";
|
|
84
|
+
handleClientUrlParams(
|
|
85
|
+
config,
|
|
86
|
+
initData.clientUrlParams ?? stackSdk.live_preview?.clientUrlParams ?? config.clientUrlParams
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
var handleUserConfig = {
|
|
91
|
+
clientUrlParams: handleClientUrlParams
|
|
92
|
+
};
|
|
93
|
+
export {
|
|
94
|
+
handleInitData,
|
|
95
|
+
handleUserConfig
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=handleUserConfig.js.map
|
|
@@ -0,0 +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 if (\n Object.prototype.hasOwnProperty.call(initData.headers, \"api_key\") &&\n initData.headers.api_key\n )\n config.stackDetails.apiKey = initData.headers.api_key;\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 ??\n stackSdk.headers?.api_key ??\n 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":"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","names":[]}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/index.ts
|
|
21
|
+
var utils_exports = {};
|
|
22
|
+
__export(utils_exports, {
|
|
23
|
+
addLivePreviewQueryTags: () => addLivePreviewQueryTags,
|
|
24
|
+
createMultipleEditButton: () => createMultipleEditButton,
|
|
25
|
+
createSingularEditButton: () => createSingularEditButton,
|
|
26
|
+
getEditButtonPosition: () => getEditButtonPosition,
|
|
27
|
+
hasWindow: () => hasWindow,
|
|
28
|
+
shouldRenderEditButton: () => shouldRenderEditButton,
|
|
29
|
+
tooltipMultipleInnerHtml: () => tooltipMultipleInnerHtml,
|
|
30
|
+
tooltipSingularInnerHtml: () => tooltipSingularInnerHtml
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(utils_exports);
|
|
33
|
+
var import_live_preview = require("../styles/live_preview.cjs");
|
|
34
|
+
var import_public_logger = require("./public-logger.cjs");
|
|
35
|
+
function hasWindow() {
|
|
36
|
+
return typeof window !== "undefined";
|
|
37
|
+
}
|
|
38
|
+
var tooltipSingularInnerHtml = `<div class="singular edit-button">
|
|
39
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
40
|
+
<path d="M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z" fill="#718096"></path>
|
|
41
|
+
<path d="M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z" fill="#718096"></path>
|
|
42
|
+
</svg>Edit
|
|
43
|
+
</div>`;
|
|
44
|
+
var tooltipMultipleInnerHtml = `<div class="edit-button" title="edit">
|
|
45
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
46
|
+
<path d="M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z" fill="#718096"></path>
|
|
47
|
+
<path d="M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z" fill="#718096"></path>
|
|
48
|
+
</svg>
|
|
49
|
+
</div>
|
|
50
|
+
<div title="click element" class="external-link-button">
|
|
51
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
52
|
+
<path d="M2.66654 2.66758H13.3332V13.3342H6.66654V16.0009H13.3332C14.0405 16.0009 14.7187 15.72 15.2188 15.2199C15.7189 14.7198 15.9999 14.0415 15.9999 13.3342V2.66758C15.9999 1.96034 15.7189 1.28206 15.2188 0.781964C14.7187 0.281867 14.0405 0.000915527 13.3332 0.000915527H2.66654C1.9593 0.000915527 1.28102 0.281867 0.780927 0.781964C0.280829 1.28206 -0.00012207 1.96034 -0.00012207 2.66758V9.33425H2.66654V2.66758Z" fill="#718096" />
|
|
53
|
+
<path d="M6.94263 7.05734L0.999958 13L2.88529 14.8853L8.82796 8.94267L10.8853 11V5.00001H4.88529L6.94263 7.05734Z" fill="#718096" />
|
|
54
|
+
</svg>
|
|
55
|
+
</div>`;
|
|
56
|
+
var createSingularEditButton = (editCallback) => {
|
|
57
|
+
const singularEditButton = document.createElement("div");
|
|
58
|
+
singularEditButton.classList.add("cslp-tooltip-child", "singular");
|
|
59
|
+
singularEditButton.setAttribute(
|
|
60
|
+
"data-test-id",
|
|
61
|
+
"cslp-singular-edit-button"
|
|
62
|
+
);
|
|
63
|
+
singularEditButton.innerHTML = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
64
|
+
<path d="M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z" fill="#718096"></path>
|
|
65
|
+
<path d="M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z" fill="#718096"></path>
|
|
66
|
+
</svg>Edit`;
|
|
67
|
+
singularEditButton.addEventListener("click", editCallback);
|
|
68
|
+
return singularEditButton;
|
|
69
|
+
};
|
|
70
|
+
var createMultipleEditButton = (editCallback, linkCallback) => {
|
|
71
|
+
const multipleEditButton = document.createElement("div");
|
|
72
|
+
multipleEditButton.classList.add("cslp-tooltip-child");
|
|
73
|
+
multipleEditButton.setAttribute("data-title", "Edit");
|
|
74
|
+
multipleEditButton.setAttribute(
|
|
75
|
+
"data-test-id",
|
|
76
|
+
"cslp-multiple-edit-button"
|
|
77
|
+
);
|
|
78
|
+
multipleEditButton.innerHTML = ` <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
79
|
+
<path d="M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z" fill="#718096"></path>
|
|
80
|
+
<path d="M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z" fill="#718096"></path>
|
|
81
|
+
</svg>`;
|
|
82
|
+
multipleEditButton.addEventListener("click", editCallback);
|
|
83
|
+
const multipleExternalLinkButton = document.createElement("div");
|
|
84
|
+
multipleExternalLinkButton.classList.add("cslp-tooltip-child");
|
|
85
|
+
multipleExternalLinkButton.setAttribute("data-title", "Go to link");
|
|
86
|
+
multipleExternalLinkButton.setAttribute(
|
|
87
|
+
"data-test-id",
|
|
88
|
+
"cslp-multiple-external-link-button"
|
|
89
|
+
);
|
|
90
|
+
multipleExternalLinkButton.innerHTML = ` <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
91
|
+
<path d="M2.66654 2.66758H13.3332V13.3342H6.66654V16.0009H13.3332C14.0405 16.0009 14.7187 15.72 15.2188 15.2199C15.7189 14.7198 15.9999 14.0415 15.9999 13.3342V2.66758C15.9999 1.96034 15.7189 1.28206 15.2188 0.781964C14.7187 0.281867 14.0405 0.000915527 13.3332 0.000915527H2.66654C1.9593 0.000915527 1.28102 0.281867 0.780927 0.781964C0.280829 1.28206 -0.00012207 1.96034 -0.00012207 2.66758V9.33425H2.66654V2.66758Z" fill="#718096" />
|
|
92
|
+
<path d="M6.94263 7.05734L0.999958 13L2.88529 14.8853L8.82796 8.94267L10.8853 11V5.00001H4.88529L6.94263 7.05734Z" fill="#718096" />
|
|
93
|
+
</svg>`;
|
|
94
|
+
multipleExternalLinkButton.addEventListener("click", linkCallback);
|
|
95
|
+
const multipleEditFragment = document.createDocumentFragment();
|
|
96
|
+
multipleEditFragment.appendChild(multipleEditButton);
|
|
97
|
+
multipleEditFragment.appendChild(multipleExternalLinkButton);
|
|
98
|
+
const multipleDiv = document.createElement("div");
|
|
99
|
+
multipleDiv.appendChild(multipleEditFragment);
|
|
100
|
+
multipleDiv.classList.add((0, import_live_preview.livePreviewStyles)()["multiple"]);
|
|
101
|
+
return multipleDiv;
|
|
102
|
+
};
|
|
103
|
+
function addLivePreviewQueryTags(link) {
|
|
104
|
+
try {
|
|
105
|
+
const docUrl = new URL(document.location.href);
|
|
106
|
+
const newUrl = new URL(link);
|
|
107
|
+
const livePreviewHash = docUrl.searchParams.get("live_preview");
|
|
108
|
+
const ctUid = docUrl.searchParams.get("content_type_uid");
|
|
109
|
+
const entryUid = docUrl.searchParams.get("entry_uid");
|
|
110
|
+
if (livePreviewHash && ctUid && entryUid) {
|
|
111
|
+
newUrl.searchParams.set("live_preview", livePreviewHash);
|
|
112
|
+
newUrl.searchParams.set("content_type_uid", ctUid);
|
|
113
|
+
newUrl.searchParams.set("entry_uid", entryUid);
|
|
114
|
+
}
|
|
115
|
+
return newUrl.href;
|
|
116
|
+
} catch (error) {
|
|
117
|
+
import_public_logger.PublicLogger.error("Error while adding live preview to URL");
|
|
118
|
+
return link;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function inIframe() {
|
|
122
|
+
return window.location !== window.parent.location;
|
|
123
|
+
}
|
|
124
|
+
function shouldRenderEditButton(editButton) {
|
|
125
|
+
if (!editButton.enable) {
|
|
126
|
+
if (editButton.enable === void 0)
|
|
127
|
+
import_public_logger.PublicLogger.error(
|
|
128
|
+
"enable key is required inside editButton object"
|
|
129
|
+
);
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
try {
|
|
133
|
+
const currentLocation = new URL(window.location.href);
|
|
134
|
+
const cslpButtonQueryValue = currentLocation.searchParams.get("cslp-buttons");
|
|
135
|
+
if (cslpButtonQueryValue !== null && editButton.includeByQueryParameter !== false)
|
|
136
|
+
return cslpButtonQueryValue === "false" ? false : true;
|
|
137
|
+
} catch (error) {
|
|
138
|
+
import_public_logger.PublicLogger.error(error);
|
|
139
|
+
}
|
|
140
|
+
if (inIframe() && editButton.exclude?.find(
|
|
141
|
+
(exclude) => exclude === "insideLivePreviewPortal"
|
|
142
|
+
)) {
|
|
143
|
+
return false;
|
|
144
|
+
} else if (inIframe()) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
if (editButton.exclude?.find(
|
|
148
|
+
(exclude) => exclude === "outsideLivePreviewPortal"
|
|
149
|
+
)) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
function getEditButtonPosition(currentHoveredElement, defaultPosition) {
|
|
155
|
+
if (!currentHoveredElement)
|
|
156
|
+
return { upperBoundOfTooltip: 0, leftBoundOfTooltip: 0 };
|
|
157
|
+
const cslpButtonPosition = currentHoveredElement.getAttribute(
|
|
158
|
+
"data-cslp-button-position"
|
|
159
|
+
);
|
|
160
|
+
if (cslpButtonPosition) {
|
|
161
|
+
return calculateEditButtonPosition(
|
|
162
|
+
currentHoveredElement,
|
|
163
|
+
cslpButtonPosition
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
return calculateEditButtonPosition(
|
|
167
|
+
currentHoveredElement,
|
|
168
|
+
defaultPosition || "top"
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
function calculateEditButtonPosition(currentHoveredElement, cslpButtonPosition) {
|
|
172
|
+
const editButtonPosition = {
|
|
173
|
+
upperBoundOfTooltip: 0,
|
|
174
|
+
leftBoundOfTooltip: 0
|
|
175
|
+
};
|
|
176
|
+
const currentRectOfElement = currentHoveredElement.getBoundingClientRect();
|
|
177
|
+
try {
|
|
178
|
+
const buttonMeasurementValues = {
|
|
179
|
+
width: 72,
|
|
180
|
+
halfWidth: 36,
|
|
181
|
+
height: 40,
|
|
182
|
+
basicMargin: 5,
|
|
183
|
+
widthWithMargin: 77
|
|
184
|
+
};
|
|
185
|
+
switch (cslpButtonPosition) {
|
|
186
|
+
case "top-center":
|
|
187
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.top - buttonMeasurementValues.height;
|
|
188
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.width / 2 - buttonMeasurementValues.halfWidth + currentRectOfElement.left;
|
|
189
|
+
break;
|
|
190
|
+
case "top-right":
|
|
191
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.top - buttonMeasurementValues.height;
|
|
192
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.right - buttonMeasurementValues.width;
|
|
193
|
+
break;
|
|
194
|
+
case "right":
|
|
195
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.top - buttonMeasurementValues.basicMargin;
|
|
196
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.right + buttonMeasurementValues.basicMargin;
|
|
197
|
+
break;
|
|
198
|
+
case "bottom":
|
|
199
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.bottom + buttonMeasurementValues.basicMargin;
|
|
200
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.left - buttonMeasurementValues.basicMargin;
|
|
201
|
+
break;
|
|
202
|
+
case "bottom-left":
|
|
203
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.bottom + buttonMeasurementValues.basicMargin;
|
|
204
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.left - buttonMeasurementValues.basicMargin;
|
|
205
|
+
break;
|
|
206
|
+
case "bottom-center":
|
|
207
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.bottom + buttonMeasurementValues.basicMargin;
|
|
208
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.width / 2 - buttonMeasurementValues.halfWidth + currentRectOfElement.left;
|
|
209
|
+
break;
|
|
210
|
+
case "bottom-right":
|
|
211
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.bottom + buttonMeasurementValues.basicMargin;
|
|
212
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.right - buttonMeasurementValues.width;
|
|
213
|
+
break;
|
|
214
|
+
case "left":
|
|
215
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.top - buttonMeasurementValues.basicMargin;
|
|
216
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.left - buttonMeasurementValues.widthWithMargin;
|
|
217
|
+
break;
|
|
218
|
+
default:
|
|
219
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.top - buttonMeasurementValues.height;
|
|
220
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.left - buttonMeasurementValues.basicMargin;
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
return editButtonPosition;
|
|
224
|
+
} catch (error) {
|
|
225
|
+
import_public_logger.PublicLogger.error(error);
|
|
226
|
+
return editButtonPosition;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
230
|
+
0 && (module.exports = {
|
|
231
|
+
addLivePreviewQueryTags,
|
|
232
|
+
createMultipleEditButton,
|
|
233
|
+
createSingularEditButton,
|
|
234
|
+
getEditButtonPosition,
|
|
235
|
+
hasWindow,
|
|
236
|
+
shouldRenderEditButton,
|
|
237
|
+
tooltipMultipleInnerHtml,
|
|
238
|
+
tooltipSingularInnerHtml
|
|
239
|
+
});
|
|
240
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/index.ts"],"sourcesContent":["import { livePreviewStyles } from \"../styles/live_preview\";\nimport { PublicLogger } from \"./public-logger\";\nimport { IConfigEditButton, IEditButtonPosition } from \"./types\";\n\nexport function hasWindow(): boolean {\n return typeof window !== \"undefined\";\n}\n\nexport const tooltipSingularInnerHtml = `<div class=\"singular edit-button\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z\" fill=\"#718096\"></path>\n <path d=\"M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z\" fill=\"#718096\"></path>\n </svg>Edit\n </div>`;\n\nexport const tooltipMultipleInnerHtml = `<div class=\"edit-button\" title=\"edit\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z\" fill=\"#718096\"></path>\n <path d=\"M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z\" fill=\"#718096\"></path>\n </svg>\n </div>\n <div title=\"click element\" class=\"external-link-button\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.66654 2.66758H13.3332V13.3342H6.66654V16.0009H13.3332C14.0405 16.0009 14.7187 15.72 15.2188 15.2199C15.7189 14.7198 15.9999 14.0415 15.9999 13.3342V2.66758C15.9999 1.96034 15.7189 1.28206 15.2188 0.781964C14.7187 0.281867 14.0405 0.000915527 13.3332 0.000915527H2.66654C1.9593 0.000915527 1.28102 0.281867 0.780927 0.781964C0.280829 1.28206 -0.00012207 1.96034 -0.00012207 2.66758V9.33425H2.66654V2.66758Z\" fill=\"#718096\" />\n <path d=\"M6.94263 7.05734L0.999958 13L2.88529 14.8853L8.82796 8.94267L10.8853 11V5.00001H4.88529L6.94263 7.05734Z\" fill=\"#718096\" />\n </svg>\n </div>`;\n\nexport const createSingularEditButton = (\n editCallback: (e: MouseEvent) => void\n): HTMLDivElement => {\n const singularEditButton = document.createElement(\"div\");\n singularEditButton.classList.add(\"cslp-tooltip-child\", \"singular\");\n singularEditButton.setAttribute(\n \"data-test-id\",\n \"cslp-singular-edit-button\"\n );\n singularEditButton.innerHTML = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z\" fill=\"#718096\"></path>\n <path d=\"M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z\" fill=\"#718096\"></path>\n </svg>Edit`;\n\n singularEditButton.addEventListener(\"click\", editCallback);\n\n return singularEditButton;\n};\n\nexport const createMultipleEditButton = (\n editCallback: (e: MouseEvent) => void,\n linkCallback: (e: MouseEvent) => void\n): HTMLDivElement => {\n const multipleEditButton = document.createElement(\"div\");\n multipleEditButton.classList.add(\"cslp-tooltip-child\");\n multipleEditButton.setAttribute(\"data-title\", \"Edit\");\n multipleEditButton.setAttribute(\n \"data-test-id\",\n \"cslp-multiple-edit-button\"\n );\n multipleEditButton.innerHTML = ` <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z\" fill=\"#718096\"></path>\n <path d=\"M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z\" fill=\"#718096\"></path>\n </svg>`;\n\n multipleEditButton.addEventListener(\"click\", editCallback);\n\n const multipleExternalLinkButton = document.createElement(\"div\");\n multipleExternalLinkButton.classList.add(\"cslp-tooltip-child\");\n multipleExternalLinkButton.setAttribute(\"data-title\", \"Go to link\");\n multipleExternalLinkButton.setAttribute(\n \"data-test-id\",\n \"cslp-multiple-external-link-button\"\n );\n multipleExternalLinkButton.innerHTML = ` <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.66654 2.66758H13.3332V13.3342H6.66654V16.0009H13.3332C14.0405 16.0009 14.7187 15.72 15.2188 15.2199C15.7189 14.7198 15.9999 14.0415 15.9999 13.3342V2.66758C15.9999 1.96034 15.7189 1.28206 15.2188 0.781964C14.7187 0.281867 14.0405 0.000915527 13.3332 0.000915527H2.66654C1.9593 0.000915527 1.28102 0.281867 0.780927 0.781964C0.280829 1.28206 -0.00012207 1.96034 -0.00012207 2.66758V9.33425H2.66654V2.66758Z\" fill=\"#718096\" />\n <path d=\"M6.94263 7.05734L0.999958 13L2.88529 14.8853L8.82796 8.94267L10.8853 11V5.00001H4.88529L6.94263 7.05734Z\" fill=\"#718096\" />\n </svg>`;\n\n multipleExternalLinkButton.addEventListener(\"click\", linkCallback);\n\n const multipleEditFragment = document.createDocumentFragment();\n multipleEditFragment.appendChild(multipleEditButton);\n multipleEditFragment.appendChild(multipleExternalLinkButton);\n\n const multipleDiv = document.createElement(\"div\");\n multipleDiv.appendChild(multipleEditFragment);\n multipleDiv.classList.add(livePreviewStyles()[\"multiple\"]);\n\n return multipleDiv;\n};\n\nexport function addLivePreviewQueryTags(link: string): string {\n try {\n const docUrl: URL = new URL(document.location.href);\n const newUrl: URL = new URL(link);\n const livePreviewHash: string | null =\n docUrl.searchParams.get(\"live_preview\");\n const ctUid: string | null =\n docUrl.searchParams.get(\"content_type_uid\");\n const entryUid: string | null = docUrl.searchParams.get(\"entry_uid\");\n if (livePreviewHash && ctUid && entryUid) {\n newUrl.searchParams.set(\"live_preview\", livePreviewHash);\n newUrl.searchParams.set(\"content_type_uid\", ctUid);\n newUrl.searchParams.set(\"entry_uid\", entryUid);\n }\n return newUrl.href;\n } catch (error) {\n PublicLogger.error(\"Error while adding live preview to URL\");\n return link;\n }\n}\n\nfunction inIframe() {\n return window.location !== window.parent.location;\n}\n\nexport function shouldRenderEditButton(editButton: IConfigEditButton): boolean {\n if (!editButton.enable) {\n if (editButton.enable === undefined)\n PublicLogger.error(\n \"enable key is required inside editButton object\"\n );\n return false;\n }\n\n // return boolean in case of cslp-buttons query added in url\n try {\n const currentLocation = new URL(window.location.href);\n const cslpButtonQueryValue =\n currentLocation.searchParams.get(\"cslp-buttons\");\n if (\n cslpButtonQueryValue !== null &&\n editButton.includeByQueryParameter !== false\n )\n return cslpButtonQueryValue === \"false\" ? false : true;\n } catch (error) {\n PublicLogger.error(error);\n }\n\n // case if inside live preview\n if (\n inIframe() &&\n editButton.exclude?.find(\n (exclude) => exclude === \"insideLivePreviewPortal\"\n )\n ) {\n return false;\n } else if (inIframe()) {\n return true;\n }\n\n // case outside live preview\n if (\n editButton.exclude?.find(\n (exclude) => exclude === \"outsideLivePreviewPortal\"\n )\n ) {\n return false;\n }\n\n // Priority list => 1. cslpEditButton query value 2. Inside live preview 3. renderCslpButtonByDefault value selected by user\n return true;\n}\n\nexport function getEditButtonPosition(\n currentHoveredElement: HTMLElement | null,\n defaultPosition: string | undefined\n): IEditButtonPosition {\n if (!currentHoveredElement)\n return { upperBoundOfTooltip: 0, leftBoundOfTooltip: 0 };\n\n const cslpButtonPosition = currentHoveredElement.getAttribute(\n \"data-cslp-button-position\"\n );\n if (cslpButtonPosition) {\n return calculateEditButtonPosition(\n currentHoveredElement,\n cslpButtonPosition\n );\n }\n\n // NOTE: position \"top\" and \"top-left\" will be the position of edit button if no default position passed in config\n return calculateEditButtonPosition(\n currentHoveredElement,\n defaultPosition || \"top\"\n );\n}\n\nfunction calculateEditButtonPosition(\n currentHoveredElement: HTMLElement,\n cslpButtonPosition: string\n): IEditButtonPosition {\n const editButtonPosition: IEditButtonPosition = {\n upperBoundOfTooltip: 0,\n leftBoundOfTooltip: 0,\n };\n const currentRectOfElement = currentHoveredElement.getBoundingClientRect();\n try {\n const buttonMeasurementValues = {\n width: 72,\n halfWidth: 36,\n height: 40,\n basicMargin: 5,\n widthWithMargin: 77,\n };\n\n switch (cslpButtonPosition) {\n case \"top-center\":\n editButtonPosition.upperBoundOfTooltip =\n currentRectOfElement.top - buttonMeasurementValues.height;\n editButtonPosition.leftBoundOfTooltip =\n currentRectOfElement.width / 2 -\n buttonMeasurementValues.halfWidth +\n currentRectOfElement.left;\n break;\n case \"top-right\":\n editButtonPosition.upperBoundOfTooltip =\n currentRectOfElement.top - buttonMeasurementValues.height;\n editButtonPosition.leftBoundOfTooltip =\n currentRectOfElement.right - buttonMeasurementValues.width;\n break;\n case \"right\":\n editButtonPosition.upperBoundOfTooltip =\n currentRectOfElement.top -\n buttonMeasurementValues.basicMargin;\n editButtonPosition.leftBoundOfTooltip =\n currentRectOfElement.right +\n buttonMeasurementValues.basicMargin;\n break;\n case \"bottom\":\n editButtonPosition.upperBoundOfTooltip =\n currentRectOfElement.bottom +\n buttonMeasurementValues.basicMargin;\n editButtonPosition.leftBoundOfTooltip =\n currentRectOfElement.left -\n buttonMeasurementValues.basicMargin;\n break;\n case \"bottom-left\":\n editButtonPosition.upperBoundOfTooltip =\n currentRectOfElement.bottom +\n buttonMeasurementValues.basicMargin;\n editButtonPosition.leftBoundOfTooltip =\n currentRectOfElement.left -\n buttonMeasurementValues.basicMargin;\n break;\n case \"bottom-center\":\n editButtonPosition.upperBoundOfTooltip =\n currentRectOfElement.bottom +\n buttonMeasurementValues.basicMargin;\n editButtonPosition.leftBoundOfTooltip =\n currentRectOfElement.width / 2 -\n buttonMeasurementValues.halfWidth +\n currentRectOfElement.left;\n break;\n case \"bottom-right\":\n editButtonPosition.upperBoundOfTooltip =\n currentRectOfElement.bottom +\n buttonMeasurementValues.basicMargin;\n editButtonPosition.leftBoundOfTooltip =\n currentRectOfElement.right - buttonMeasurementValues.width;\n break;\n case \"left\":\n editButtonPosition.upperBoundOfTooltip =\n currentRectOfElement.top -\n buttonMeasurementValues.basicMargin;\n editButtonPosition.leftBoundOfTooltip =\n currentRectOfElement.left -\n buttonMeasurementValues.widthWithMargin;\n break;\n // default position => top, top-left or any other string\n default:\n editButtonPosition.upperBoundOfTooltip =\n currentRectOfElement.top - buttonMeasurementValues.height;\n editButtonPosition.leftBoundOfTooltip =\n currentRectOfElement.left -\n buttonMeasurementValues.basicMargin;\n break;\n }\n return editButtonPosition;\n } catch (error) {\n PublicLogger.error(error);\n return editButtonPosition;\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IConfigEditButton, IEditButtonPosition } from './types.cjs';
|
|
2
|
+
|
|
3
|
+
declare function hasWindow(): boolean;
|
|
4
|
+
declare const tooltipSingularInnerHtml = "<div class=\"singular edit-button\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z\" fill=\"#718096\"></path>\n <path d=\"M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z\" fill=\"#718096\"></path>\n </svg>Edit\n </div>";
|
|
5
|
+
declare const tooltipMultipleInnerHtml = "<div class=\"edit-button\" title=\"edit\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z\" fill=\"#718096\"></path>\n <path d=\"M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z\" fill=\"#718096\"></path>\n </svg>\n </div>\n <div title=\"click element\" class=\"external-link-button\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.66654 2.66758H13.3332V13.3342H6.66654V16.0009H13.3332C14.0405 16.0009 14.7187 15.72 15.2188 15.2199C15.7189 14.7198 15.9999 14.0415 15.9999 13.3342V2.66758C15.9999 1.96034 15.7189 1.28206 15.2188 0.781964C14.7187 0.281867 14.0405 0.000915527 13.3332 0.000915527H2.66654C1.9593 0.000915527 1.28102 0.281867 0.780927 0.781964C0.280829 1.28206 -0.00012207 1.96034 -0.00012207 2.66758V9.33425H2.66654V2.66758Z\" fill=\"#718096\" />\n <path d=\"M6.94263 7.05734L0.999958 13L2.88529 14.8853L8.82796 8.94267L10.8853 11V5.00001H4.88529L6.94263 7.05734Z\" fill=\"#718096\" />\n </svg>\n </div>";
|
|
6
|
+
declare const createSingularEditButton: (editCallback: (e: MouseEvent) => void) => HTMLDivElement;
|
|
7
|
+
declare const createMultipleEditButton: (editCallback: (e: MouseEvent) => void, linkCallback: (e: MouseEvent) => void) => HTMLDivElement;
|
|
8
|
+
declare function addLivePreviewQueryTags(link: string): string;
|
|
9
|
+
declare function shouldRenderEditButton(editButton: IConfigEditButton): boolean;
|
|
10
|
+
declare function getEditButtonPosition(currentHoveredElement: HTMLElement | null, defaultPosition: string | undefined): IEditButtonPosition;
|
|
11
|
+
|
|
12
|
+
export { addLivePreviewQueryTags, createMultipleEditButton, createSingularEditButton, getEditButtonPosition, hasWindow, shouldRenderEditButton, tooltipMultipleInnerHtml, tooltipSingularInnerHtml };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IConfigEditButton, IEditButtonPosition } from './types.js';
|
|
2
|
+
|
|
3
|
+
declare function hasWindow(): boolean;
|
|
4
|
+
declare const tooltipSingularInnerHtml = "<div class=\"singular edit-button\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z\" fill=\"#718096\"></path>\n <path d=\"M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z\" fill=\"#718096\"></path>\n </svg>Edit\n </div>";
|
|
5
|
+
declare const tooltipMultipleInnerHtml = "<div class=\"edit-button\" title=\"edit\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z\" fill=\"#718096\"></path>\n <path d=\"M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z\" fill=\"#718096\"></path>\n </svg>\n </div>\n <div title=\"click element\" class=\"external-link-button\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.66654 2.66758H13.3332V13.3342H6.66654V16.0009H13.3332C14.0405 16.0009 14.7187 15.72 15.2188 15.2199C15.7189 14.7198 15.9999 14.0415 15.9999 13.3342V2.66758C15.9999 1.96034 15.7189 1.28206 15.2188 0.781964C14.7187 0.281867 14.0405 0.000915527 13.3332 0.000915527H2.66654C1.9593 0.000915527 1.28102 0.281867 0.780927 0.781964C0.280829 1.28206 -0.00012207 1.96034 -0.00012207 2.66758V9.33425H2.66654V2.66758Z\" fill=\"#718096\" />\n <path d=\"M6.94263 7.05734L0.999958 13L2.88529 14.8853L8.82796 8.94267L10.8853 11V5.00001H4.88529L6.94263 7.05734Z\" fill=\"#718096\" />\n </svg>\n </div>";
|
|
6
|
+
declare const createSingularEditButton: (editCallback: (e: MouseEvent) => void) => HTMLDivElement;
|
|
7
|
+
declare const createMultipleEditButton: (editCallback: (e: MouseEvent) => void, linkCallback: (e: MouseEvent) => void) => HTMLDivElement;
|
|
8
|
+
declare function addLivePreviewQueryTags(link: string): string;
|
|
9
|
+
declare function shouldRenderEditButton(editButton: IConfigEditButton): boolean;
|
|
10
|
+
declare function getEditButtonPosition(currentHoveredElement: HTMLElement | null, defaultPosition: string | undefined): IEditButtonPosition;
|
|
11
|
+
|
|
12
|
+
export { addLivePreviewQueryTags, createMultipleEditButton, createSingularEditButton, getEditButtonPosition, hasWindow, shouldRenderEditButton, tooltipMultipleInnerHtml, tooltipSingularInnerHtml };
|