@contentstack/live-preview-utils 1.4.2 → 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 +19 -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,124 @@
|
|
|
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
|
+
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;
|
|
60
|
+
if (isInitDataStackSdk(initData)) {
|
|
61
|
+
import_public_logger.PublicLogger.warn(
|
|
62
|
+
"Deprecated: Do not pass the Stack object directly to the Live Preview SDK. Pass it using the config.stackSDK config object."
|
|
63
|
+
);
|
|
64
|
+
const livePreviewObject = (initData == null ? void 0 : initData.live_preview) || {};
|
|
65
|
+
config.ssr = false;
|
|
66
|
+
config.runScriptsOnUpdate = livePreviewObject.runScriptsOnUpdate ?? config.runScriptsOnUpdate;
|
|
67
|
+
config.enable = livePreviewObject.enable ?? config.enable;
|
|
68
|
+
config.cleanCslpOnProduction = livePreviewObject.cleanCslpOnProduction ?? config.cleanCslpOnProduction;
|
|
69
|
+
config.editButton = {
|
|
70
|
+
enable: (0, import__.shouldRenderEditButton)(
|
|
71
|
+
livePreviewObject.editButton ?? config.editButton
|
|
72
|
+
),
|
|
73
|
+
// added extra check if exclude data passed by user is array or not
|
|
74
|
+
exclude: Array.isArray((_a = livePreviewObject.editButton) == null ? void 0 : _a.exclude) && ((_b = livePreviewObject.editButton) == null ? void 0 : _b.exclude) ? (_c = livePreviewObject.editButton) == null ? void 0 : _c.exclude : config.editButton.exclude ?? [],
|
|
75
|
+
position: ((_d = livePreviewObject.editButton) == null ? void 0 : _d.position) ?? config.editButton.position ?? "top",
|
|
76
|
+
includeByQueryParameter: ((_e = livePreviewObject.editButton) == null ? void 0 : _e.includeByQueryParameter) ?? config.editButton.includeByQueryParameter ?? true
|
|
77
|
+
};
|
|
78
|
+
config.stackSdk = initData;
|
|
79
|
+
if (Object.prototype.hasOwnProperty.call(initData.headers, "api_key") && initData.headers.api_key)
|
|
80
|
+
config.stackDetails.apiKey = initData.headers.api_key;
|
|
81
|
+
if (Object.prototype.hasOwnProperty.call(initData, "environment")) {
|
|
82
|
+
config.stackDetails.environment = initData.environment;
|
|
83
|
+
}
|
|
84
|
+
if (Object.prototype.hasOwnProperty.call(initData, "branch")) {
|
|
85
|
+
config.stackDetails.branch = initData.branch;
|
|
86
|
+
}
|
|
87
|
+
handleClientUrlParams(
|
|
88
|
+
config,
|
|
89
|
+
livePreviewObject.clientUrlParams ?? config.clientUrlParams
|
|
90
|
+
);
|
|
91
|
+
} else if (isInitDataCommon(initData)) {
|
|
92
|
+
const stackSdk = initData.stackSdk || config.stackSdk;
|
|
93
|
+
config.enable = initData.enable ?? ((_f = stackSdk.live_preview) == null ? void 0 : _f.enable) ?? config.enable;
|
|
94
|
+
config.ssr = initData.ssr ?? ((_g = stackSdk.live_preview) == null ? void 0 : _g.ssr) ?? (typeof initData.stackSdk === "object" ? false : true) ?? true;
|
|
95
|
+
config.runScriptsOnUpdate = initData.runScriptsOnUpdate ?? ((_h = stackSdk.live_preview) == null ? void 0 : _h.runScriptsOnUpdate) ?? config.runScriptsOnUpdate;
|
|
96
|
+
config.stackSdk = stackSdk;
|
|
97
|
+
config.cleanCslpOnProduction = initData.cleanCslpOnProduction ?? ((_i = stackSdk.live_preview) == null ? void 0 : _i.cleanCslpOnProduction) ?? config.cleanCslpOnProduction;
|
|
98
|
+
config.editButton = {
|
|
99
|
+
enable: (0, import__.shouldRenderEditButton)(
|
|
100
|
+
initData.editButton ?? ((_j = stackSdk.live_preview) == null ? void 0 : _j.editButton) ?? config.editButton
|
|
101
|
+
),
|
|
102
|
+
// added extra check if exclude data passed by user is array or not
|
|
103
|
+
exclude: Array.isArray((_k = initData.editButton) == null ? void 0 : _k.exclude) && ((_l = initData.editButton) == null ? void 0 : _l.exclude) ? (_m = initData.editButton) == null ? void 0 : _m.exclude : Array.isArray((_n = stackSdk.live_preview) == null ? void 0 : _n.exclude) && ((_o = stackSdk.live_preview) == null ? void 0 : _o.exclude) ? (_p = stackSdk.live_preview) == null ? void 0 : _p.exclude : config.editButton.exclude ?? [],
|
|
104
|
+
position: ((_q = initData.editButton) == null ? void 0 : _q.position) ?? ((_r = stackSdk.live_preview) == null ? void 0 : _r.position) ?? config.editButton.position ?? "top",
|
|
105
|
+
includeByQueryParameter: ((_s = initData.editButton) == null ? void 0 : _s.includeByQueryParameter) ?? ((_t = stackSdk.live_preview) == null ? void 0 : _t.includeByQueryParameter) ?? config.editButton.includeByQueryParameter ?? true
|
|
106
|
+
};
|
|
107
|
+
config.stackDetails.apiKey = ((_u = initData.stackDetails) == null ? void 0 : _u.apiKey) ?? ((_v = stackSdk.headers) == null ? void 0 : _v.api_key) ?? config.stackDetails.apiKey;
|
|
108
|
+
config.stackDetails.environment = ((_w = initData.stackDetails) == null ? void 0 : _w.environment) ?? stackSdk.environment ?? config.stackDetails.environment;
|
|
109
|
+
config.stackDetails.branch = ((_x = initData.stackDetails) == null ? void 0 : _x.branch) ?? config.stackDetails.branch ?? "main";
|
|
110
|
+
handleClientUrlParams(
|
|
111
|
+
config,
|
|
112
|
+
initData.clientUrlParams ?? ((_y = stackSdk.live_preview) == null ? void 0 : _y.clientUrlParams) ?? config.clientUrlParams
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
var handleUserConfig = {
|
|
117
|
+
clientUrlParams: handleClientUrlParams
|
|
118
|
+
};
|
|
119
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
120
|
+
0 && (module.exports = {
|
|
121
|
+
handleInitData,
|
|
122
|
+
handleUserConfig
|
|
123
|
+
});
|
|
124
|
+
//# 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":"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","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,98 @@
|
|
|
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
|
+
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;
|
|
35
|
+
if (isInitDataStackSdk(initData)) {
|
|
36
|
+
PublicLogger.warn(
|
|
37
|
+
"Deprecated: Do not pass the Stack object directly to the Live Preview SDK. Pass it using the config.stackSDK config object."
|
|
38
|
+
);
|
|
39
|
+
const livePreviewObject = (initData == null ? void 0 : initData.live_preview) || {};
|
|
40
|
+
config.ssr = false;
|
|
41
|
+
config.runScriptsOnUpdate = livePreviewObject.runScriptsOnUpdate ?? config.runScriptsOnUpdate;
|
|
42
|
+
config.enable = livePreviewObject.enable ?? config.enable;
|
|
43
|
+
config.cleanCslpOnProduction = livePreviewObject.cleanCslpOnProduction ?? config.cleanCslpOnProduction;
|
|
44
|
+
config.editButton = {
|
|
45
|
+
enable: shouldRenderEditButton(
|
|
46
|
+
livePreviewObject.editButton ?? config.editButton
|
|
47
|
+
),
|
|
48
|
+
// added extra check if exclude data passed by user is array or not
|
|
49
|
+
exclude: Array.isArray((_a = livePreviewObject.editButton) == null ? void 0 : _a.exclude) && ((_b = livePreviewObject.editButton) == null ? void 0 : _b.exclude) ? (_c = livePreviewObject.editButton) == null ? void 0 : _c.exclude : config.editButton.exclude ?? [],
|
|
50
|
+
position: ((_d = livePreviewObject.editButton) == null ? void 0 : _d.position) ?? config.editButton.position ?? "top",
|
|
51
|
+
includeByQueryParameter: ((_e = livePreviewObject.editButton) == null ? void 0 : _e.includeByQueryParameter) ?? config.editButton.includeByQueryParameter ?? true
|
|
52
|
+
};
|
|
53
|
+
config.stackSdk = initData;
|
|
54
|
+
if (Object.prototype.hasOwnProperty.call(initData.headers, "api_key") && initData.headers.api_key)
|
|
55
|
+
config.stackDetails.apiKey = initData.headers.api_key;
|
|
56
|
+
if (Object.prototype.hasOwnProperty.call(initData, "environment")) {
|
|
57
|
+
config.stackDetails.environment = initData.environment;
|
|
58
|
+
}
|
|
59
|
+
if (Object.prototype.hasOwnProperty.call(initData, "branch")) {
|
|
60
|
+
config.stackDetails.branch = initData.branch;
|
|
61
|
+
}
|
|
62
|
+
handleClientUrlParams(
|
|
63
|
+
config,
|
|
64
|
+
livePreviewObject.clientUrlParams ?? config.clientUrlParams
|
|
65
|
+
);
|
|
66
|
+
} else if (isInitDataCommon(initData)) {
|
|
67
|
+
const stackSdk = initData.stackSdk || config.stackSdk;
|
|
68
|
+
config.enable = initData.enable ?? ((_f = stackSdk.live_preview) == null ? void 0 : _f.enable) ?? config.enable;
|
|
69
|
+
config.ssr = initData.ssr ?? ((_g = stackSdk.live_preview) == null ? void 0 : _g.ssr) ?? (typeof initData.stackSdk === "object" ? false : true) ?? true;
|
|
70
|
+
config.runScriptsOnUpdate = initData.runScriptsOnUpdate ?? ((_h = stackSdk.live_preview) == null ? void 0 : _h.runScriptsOnUpdate) ?? config.runScriptsOnUpdate;
|
|
71
|
+
config.stackSdk = stackSdk;
|
|
72
|
+
config.cleanCslpOnProduction = initData.cleanCslpOnProduction ?? ((_i = stackSdk.live_preview) == null ? void 0 : _i.cleanCslpOnProduction) ?? config.cleanCslpOnProduction;
|
|
73
|
+
config.editButton = {
|
|
74
|
+
enable: shouldRenderEditButton(
|
|
75
|
+
initData.editButton ?? ((_j = stackSdk.live_preview) == null ? void 0 : _j.editButton) ?? config.editButton
|
|
76
|
+
),
|
|
77
|
+
// added extra check if exclude data passed by user is array or not
|
|
78
|
+
exclude: Array.isArray((_k = initData.editButton) == null ? void 0 : _k.exclude) && ((_l = initData.editButton) == null ? void 0 : _l.exclude) ? (_m = initData.editButton) == null ? void 0 : _m.exclude : Array.isArray((_n = stackSdk.live_preview) == null ? void 0 : _n.exclude) && ((_o = stackSdk.live_preview) == null ? void 0 : _o.exclude) ? (_p = stackSdk.live_preview) == null ? void 0 : _p.exclude : config.editButton.exclude ?? [],
|
|
79
|
+
position: ((_q = initData.editButton) == null ? void 0 : _q.position) ?? ((_r = stackSdk.live_preview) == null ? void 0 : _r.position) ?? config.editButton.position ?? "top",
|
|
80
|
+
includeByQueryParameter: ((_s = initData.editButton) == null ? void 0 : _s.includeByQueryParameter) ?? ((_t = stackSdk.live_preview) == null ? void 0 : _t.includeByQueryParameter) ?? config.editButton.includeByQueryParameter ?? true
|
|
81
|
+
};
|
|
82
|
+
config.stackDetails.apiKey = ((_u = initData.stackDetails) == null ? void 0 : _u.apiKey) ?? ((_v = stackSdk.headers) == null ? void 0 : _v.api_key) ?? config.stackDetails.apiKey;
|
|
83
|
+
config.stackDetails.environment = ((_w = initData.stackDetails) == null ? void 0 : _w.environment) ?? stackSdk.environment ?? config.stackDetails.environment;
|
|
84
|
+
config.stackDetails.branch = ((_x = initData.stackDetails) == null ? void 0 : _x.branch) ?? config.stackDetails.branch ?? "main";
|
|
85
|
+
handleClientUrlParams(
|
|
86
|
+
config,
|
|
87
|
+
initData.clientUrlParams ?? ((_y = stackSdk.live_preview) == null ? void 0 : _y.clientUrlParams) ?? config.clientUrlParams
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
var handleUserConfig = {
|
|
92
|
+
clientUrlParams: handleClientUrlParams
|
|
93
|
+
};
|
|
94
|
+
export {
|
|
95
|
+
handleInitData,
|
|
96
|
+
handleUserConfig
|
|
97
|
+
};
|
|
98
|
+
//# 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,241 @@
|
|
|
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
|
+
var _a, _b;
|
|
126
|
+
if (!editButton.enable) {
|
|
127
|
+
if (editButton.enable === void 0)
|
|
128
|
+
import_public_logger.PublicLogger.error(
|
|
129
|
+
"enable key is required inside editButton object"
|
|
130
|
+
);
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
try {
|
|
134
|
+
const currentLocation = new URL(window.location.href);
|
|
135
|
+
const cslpButtonQueryValue = currentLocation.searchParams.get("cslp-buttons");
|
|
136
|
+
if (cslpButtonQueryValue !== null && editButton.includeByQueryParameter !== false)
|
|
137
|
+
return cslpButtonQueryValue === "false" ? false : true;
|
|
138
|
+
} catch (error) {
|
|
139
|
+
import_public_logger.PublicLogger.error(error);
|
|
140
|
+
}
|
|
141
|
+
if (inIframe() && ((_a = editButton.exclude) == null ? void 0 : _a.find(
|
|
142
|
+
(exclude) => exclude === "insideLivePreviewPortal"
|
|
143
|
+
))) {
|
|
144
|
+
return false;
|
|
145
|
+
} else if (inIframe()) {
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
if ((_b = editButton.exclude) == null ? void 0 : _b.find(
|
|
149
|
+
(exclude) => exclude === "outsideLivePreviewPortal"
|
|
150
|
+
)) {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
function getEditButtonPosition(currentHoveredElement, defaultPosition) {
|
|
156
|
+
if (!currentHoveredElement)
|
|
157
|
+
return { upperBoundOfTooltip: 0, leftBoundOfTooltip: 0 };
|
|
158
|
+
const cslpButtonPosition = currentHoveredElement.getAttribute(
|
|
159
|
+
"data-cslp-button-position"
|
|
160
|
+
);
|
|
161
|
+
if (cslpButtonPosition) {
|
|
162
|
+
return calculateEditButtonPosition(
|
|
163
|
+
currentHoveredElement,
|
|
164
|
+
cslpButtonPosition
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
return calculateEditButtonPosition(
|
|
168
|
+
currentHoveredElement,
|
|
169
|
+
defaultPosition || "top"
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
function calculateEditButtonPosition(currentHoveredElement, cslpButtonPosition) {
|
|
173
|
+
const editButtonPosition = {
|
|
174
|
+
upperBoundOfTooltip: 0,
|
|
175
|
+
leftBoundOfTooltip: 0
|
|
176
|
+
};
|
|
177
|
+
const currentRectOfElement = currentHoveredElement.getBoundingClientRect();
|
|
178
|
+
try {
|
|
179
|
+
const buttonMeasurementValues = {
|
|
180
|
+
width: 72,
|
|
181
|
+
halfWidth: 36,
|
|
182
|
+
height: 40,
|
|
183
|
+
basicMargin: 5,
|
|
184
|
+
widthWithMargin: 77
|
|
185
|
+
};
|
|
186
|
+
switch (cslpButtonPosition) {
|
|
187
|
+
case "top-center":
|
|
188
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.top - buttonMeasurementValues.height;
|
|
189
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.width / 2 - buttonMeasurementValues.halfWidth + currentRectOfElement.left;
|
|
190
|
+
break;
|
|
191
|
+
case "top-right":
|
|
192
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.top - buttonMeasurementValues.height;
|
|
193
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.right - buttonMeasurementValues.width;
|
|
194
|
+
break;
|
|
195
|
+
case "right":
|
|
196
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.top - buttonMeasurementValues.basicMargin;
|
|
197
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.right + buttonMeasurementValues.basicMargin;
|
|
198
|
+
break;
|
|
199
|
+
case "bottom":
|
|
200
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.bottom + buttonMeasurementValues.basicMargin;
|
|
201
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.left - buttonMeasurementValues.basicMargin;
|
|
202
|
+
break;
|
|
203
|
+
case "bottom-left":
|
|
204
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.bottom + buttonMeasurementValues.basicMargin;
|
|
205
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.left - buttonMeasurementValues.basicMargin;
|
|
206
|
+
break;
|
|
207
|
+
case "bottom-center":
|
|
208
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.bottom + buttonMeasurementValues.basicMargin;
|
|
209
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.width / 2 - buttonMeasurementValues.halfWidth + currentRectOfElement.left;
|
|
210
|
+
break;
|
|
211
|
+
case "bottom-right":
|
|
212
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.bottom + buttonMeasurementValues.basicMargin;
|
|
213
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.right - buttonMeasurementValues.width;
|
|
214
|
+
break;
|
|
215
|
+
case "left":
|
|
216
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.top - buttonMeasurementValues.basicMargin;
|
|
217
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.left - buttonMeasurementValues.widthWithMargin;
|
|
218
|
+
break;
|
|
219
|
+
default:
|
|
220
|
+
editButtonPosition.upperBoundOfTooltip = currentRectOfElement.top - buttonMeasurementValues.height;
|
|
221
|
+
editButtonPosition.leftBoundOfTooltip = currentRectOfElement.left - buttonMeasurementValues.basicMargin;
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
return editButtonPosition;
|
|
225
|
+
} catch (error) {
|
|
226
|
+
import_public_logger.PublicLogger.error(error);
|
|
227
|
+
return editButtonPosition;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
231
|
+
0 && (module.exports = {
|
|
232
|
+
addLivePreviewQueryTags,
|
|
233
|
+
createMultipleEditButton,
|
|
234
|
+
createSingularEditButton,
|
|
235
|
+
getEditButtonPosition,
|
|
236
|
+
hasWindow,
|
|
237
|
+
shouldRenderEditButton,
|
|
238
|
+
tooltipMultipleInnerHtml,
|
|
239
|
+
tooltipSingularInnerHtml
|
|
240
|
+
});
|
|
241
|
+
//# 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 };
|