@base44/vite-plugin 1.0.9 → 1.0.11
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/dist/bridge.d.ts +1 -0
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +1 -0
- package/dist/bridge.js.map +1 -1
- package/dist/html-injections-plugin.d.ts.map +1 -1
- package/dist/html-injections-plugin.js +4 -1
- package/dist/html-injections-plugin.js.map +1 -1
- package/dist/injections/page-height-bridge.d.ts +8 -0
- package/dist/injections/page-height-bridge.d.ts.map +1 -0
- package/dist/injections/page-height-bridge.js +242 -0
- package/dist/injections/page-height-bridge.js.map +1 -0
- package/dist/processors/collection-item-id-processor.d.ts +8 -0
- package/dist/processors/collection-item-id-processor.d.ts.map +1 -1
- package/dist/processors/collection-item-id-processor.js +23 -2
- package/dist/processors/collection-item-id-processor.js.map +1 -1
- package/dist/statics/index.mjs +8 -8
- package/dist/statics/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/bridge.ts +1 -0
- package/src/html-injections-plugin.ts +4 -1
- package/src/injections/page-height-bridge.ts +264 -0
- package/src/processors/collection-item-id-processor.ts +26 -3
package/dist/bridge.d.ts
CHANGED
package/dist/bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC"}
|
package/dist/bridge.js
CHANGED
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-injections-plugin.d.ts","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAyEtD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,
|
|
1
|
+
{"version":3,"file":"html-injections-plugin.d.ts","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAyEtD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GAoFM,MAAM,CACZ"}
|
|
@@ -117,7 +117,10 @@ export function htmlInjectionsPlugin({ hmrNotifier, navigationNotifier, visualEd
|
|
|
117
117
|
` ? "https://localhost:3201/index.mjs"`,
|
|
118
118
|
` : "${dist}/statics/index.mjs";`,
|
|
119
119
|
` import(url)`,
|
|
120
|
-
` .then(mod => {
|
|
120
|
+
` .then(mod => {`,
|
|
121
|
+
` if (typeof mod.setupVisualEditAgent === "function") mod.setupVisualEditAgent();`,
|
|
122
|
+
` if (typeof mod.setupPageHeightBridge === "function") mod.setupPageHeightBridge();`,
|
|
123
|
+
` })`,
|
|
121
124
|
` .catch(e => console.error("[visual-edit-agent] Failed to load:", e));`,
|
|
122
125
|
`}`,
|
|
123
126
|
].join("\n"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-injections-plugin.js","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"html-injections-plugin.js","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Installs the parent-driven message listener. Returns a teardown that
|
|
3
|
+
* removes the listener, disconnects any observers attached as a result of
|
|
4
|
+
* `freeze-vh-units`, and clears any pending response timer. Returns a
|
|
5
|
+
* no-op when bailed (already started, SSR, top window).
|
|
6
|
+
*/
|
|
7
|
+
export declare function setupPageHeightBridge(): () => void;
|
|
8
|
+
//# sourceMappingURL=page-height-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-height-bridge.d.ts","sourceRoot":"","sources":["../../src/injections/page-height-bridge.ts"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,IAAI,CAuElD"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
// page-height-bridge — postMessage protocol the iframe exposes to its parent.
|
|
2
|
+
// Inert until the parent posts a message; no observers, rewrites, or timers
|
|
3
|
+
// fire on their own.
|
|
4
|
+
//
|
|
5
|
+
// parent → child { type: "freeze-vh-units", referenceVhBase?: number }
|
|
6
|
+
// Rewrites every `vh` in <style> + CSSOM to fixed `px` (kills the
|
|
7
|
+
// vh ↔ auto-resize feedback loop). Idempotent; covers HMR-added
|
|
8
|
+
// styles too. Fire-and-forget.
|
|
9
|
+
//
|
|
10
|
+
// parent → child { type: "measure-page-height", settleMs?: number }
|
|
11
|
+
// After `settleMs` (default 2000) posts the page's scrollHeight back
|
|
12
|
+
// as `{ type: "page-height-measured", height }` to the requester.
|
|
13
|
+
const FALLBACK_VHBASE = 900;
|
|
14
|
+
const MIN_VHBASE = 400;
|
|
15
|
+
const DEFAULT_SETTLE_MS = 2000;
|
|
16
|
+
const NEUTRALIZE_DEBOUNCE_MS = 16;
|
|
17
|
+
const noop = () => { };
|
|
18
|
+
let started = false;
|
|
19
|
+
/**
|
|
20
|
+
* Installs the parent-driven message listener. Returns a teardown that
|
|
21
|
+
* removes the listener, disconnects any observers attached as a result of
|
|
22
|
+
* `freeze-vh-units`, and clears any pending response timer. Returns a
|
|
23
|
+
* no-op when bailed (already started, SSR, top window).
|
|
24
|
+
*/
|
|
25
|
+
export function setupPageHeightBridge() {
|
|
26
|
+
if (started)
|
|
27
|
+
return noop;
|
|
28
|
+
if (typeof window === "undefined")
|
|
29
|
+
return noop;
|
|
30
|
+
if (window.self === window.top)
|
|
31
|
+
return noop;
|
|
32
|
+
started = true;
|
|
33
|
+
let vhCleanups = null;
|
|
34
|
+
let vhForceRun = null;
|
|
35
|
+
let pendingResponse;
|
|
36
|
+
let pendingOrigin = "*";
|
|
37
|
+
const freezeVhUnits = (override) => {
|
|
38
|
+
if (vhCleanups) {
|
|
39
|
+
vhForceRun?.();
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const referenceVhBase = resolveReferenceVhBase(override);
|
|
43
|
+
vhCleanups = [];
|
|
44
|
+
vhForceRun = startVhNeutralizer(referenceVhBase, vhCleanups);
|
|
45
|
+
};
|
|
46
|
+
// Target the requester's origin so the height isn't broadcast to anyone
|
|
47
|
+
// who happens to embed us. Falls back to "*" when origin is unavailable
|
|
48
|
+
// (jsdom default, sandboxed iframes with `null` origin).
|
|
49
|
+
const measurePageHeight = (origin, settleMs) => {
|
|
50
|
+
pendingOrigin = origin;
|
|
51
|
+
if (pendingResponse !== undefined)
|
|
52
|
+
window.clearTimeout(pendingResponse);
|
|
53
|
+
pendingResponse = window.setTimeout(() => {
|
|
54
|
+
requestAnimationFrame(() => {
|
|
55
|
+
const height = measureContentHeight();
|
|
56
|
+
window.parent.postMessage({ type: "page-height-measured", height }, pendingOrigin);
|
|
57
|
+
});
|
|
58
|
+
}, settleMs);
|
|
59
|
+
};
|
|
60
|
+
const onMessage = (event) => {
|
|
61
|
+
const data = (event.data ?? null);
|
|
62
|
+
if (!data || typeof data !== "object")
|
|
63
|
+
return;
|
|
64
|
+
switch (data.type) {
|
|
65
|
+
case "freeze-vh-units": {
|
|
66
|
+
const override = typeof data.referenceVhBase === "number" ? data.referenceVhBase : undefined;
|
|
67
|
+
freezeVhUnits(override);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
case "measure-page-height": {
|
|
71
|
+
const settleMs = typeof data.settleMs === "number" ? data.settleMs : DEFAULT_SETTLE_MS;
|
|
72
|
+
const origin = event.origin && event.origin !== "null" ? event.origin : "*";
|
|
73
|
+
measurePageHeight(origin, settleMs);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
window.addEventListener("message", onMessage);
|
|
79
|
+
let torn = false;
|
|
80
|
+
return () => {
|
|
81
|
+
if (torn)
|
|
82
|
+
return;
|
|
83
|
+
torn = true;
|
|
84
|
+
started = false;
|
|
85
|
+
window.removeEventListener("message", onMessage);
|
|
86
|
+
if (vhCleanups) {
|
|
87
|
+
for (const c of vhCleanups)
|
|
88
|
+
c();
|
|
89
|
+
vhCleanups = null;
|
|
90
|
+
vhForceRun = null;
|
|
91
|
+
}
|
|
92
|
+
if (pendingResponse !== undefined)
|
|
93
|
+
window.clearTimeout(pendingResponse);
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function resolveReferenceVhBase(override) {
|
|
97
|
+
if (override !== undefined)
|
|
98
|
+
return override;
|
|
99
|
+
const detected = window.innerHeight || 0;
|
|
100
|
+
return detected >= MIN_VHBASE ? detected : FALLBACK_VHBASE;
|
|
101
|
+
}
|
|
102
|
+
// Caches keep work proportional to *new* CSS, not total CSS. <head> observer
|
|
103
|
+
// catches `<style>`/`<link>` adds; per-element observers catch HMR text edits.
|
|
104
|
+
// Returns a `forceRun` so the caller can re-trigger neutralization on later
|
|
105
|
+
// parent requests (idempotent — already-rewritten text is skipped via the
|
|
106
|
+
// processed sets).
|
|
107
|
+
function startVhNeutralizer(referenceVhBase, cleanups) {
|
|
108
|
+
const VH_RE = /(\d+(?:\.\d+)?)vh\b/g;
|
|
109
|
+
const processedStyles = new WeakSet();
|
|
110
|
+
const processedSheets = new WeakMap();
|
|
111
|
+
const watchedStyles = new WeakSet();
|
|
112
|
+
const styleObservers = new Set();
|
|
113
|
+
const neutralize = () => {
|
|
114
|
+
const rewrite = (input) => input.replace(VH_RE, (_match, n) => `${((parseFloat(n) / 100) * referenceVhBase).toFixed(2)}px`);
|
|
115
|
+
document.querySelectorAll("style").forEach((el) => {
|
|
116
|
+
watchStyleEl(el);
|
|
117
|
+
if (processedStyles.has(el))
|
|
118
|
+
return;
|
|
119
|
+
processedStyles.add(el);
|
|
120
|
+
const text = el.textContent;
|
|
121
|
+
if (!text || text.indexOf("vh") === -1)
|
|
122
|
+
return;
|
|
123
|
+
const next = rewrite(text);
|
|
124
|
+
if (next !== text)
|
|
125
|
+
el.textContent = next;
|
|
126
|
+
});
|
|
127
|
+
for (let i = 0; i < document.styleSheets.length; i++) {
|
|
128
|
+
const sheet = document.styleSheets[i];
|
|
129
|
+
if (!sheet)
|
|
130
|
+
continue;
|
|
131
|
+
let rules;
|
|
132
|
+
try {
|
|
133
|
+
rules = sheet.cssRules;
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
continue; // CORS-protected
|
|
137
|
+
}
|
|
138
|
+
if (processedSheets.get(sheet) === rules.length)
|
|
139
|
+
continue;
|
|
140
|
+
rewriteVhInRules(rules, rewrite);
|
|
141
|
+
processedSheets.set(sheet, rules.length);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
const debouncer = createDebouncer(neutralize, NEUTRALIZE_DEBOUNCE_MS);
|
|
145
|
+
const debouncedNeutralize = debouncer.trigger;
|
|
146
|
+
cleanups.push(debouncer.cancel);
|
|
147
|
+
const watchStyleEl = (el) => {
|
|
148
|
+
if (watchedStyles.has(el))
|
|
149
|
+
return;
|
|
150
|
+
watchedStyles.add(el);
|
|
151
|
+
const obs = new MutationObserver(() => {
|
|
152
|
+
processedStyles.delete(el);
|
|
153
|
+
debouncedNeutralize();
|
|
154
|
+
});
|
|
155
|
+
obs.observe(el, { characterData: true, childList: true, subtree: true });
|
|
156
|
+
styleObservers.add(obs);
|
|
157
|
+
};
|
|
158
|
+
cleanups.push(() => {
|
|
159
|
+
for (const obs of styleObservers)
|
|
160
|
+
obs.disconnect();
|
|
161
|
+
styleObservers.clear();
|
|
162
|
+
});
|
|
163
|
+
debouncedNeutralize();
|
|
164
|
+
if (document.readyState === "loading") {
|
|
165
|
+
document.addEventListener("DOMContentLoaded", debouncedNeutralize);
|
|
166
|
+
cleanups.push(() => document.removeEventListener("DOMContentLoaded", debouncedNeutralize));
|
|
167
|
+
}
|
|
168
|
+
window.addEventListener("load", debouncedNeutralize);
|
|
169
|
+
cleanups.push(() => window.removeEventListener("load", debouncedNeutralize));
|
|
170
|
+
const headObserver = new MutationObserver((mutations) => {
|
|
171
|
+
for (const m of mutations) {
|
|
172
|
+
if (containsStylesheetNode(m.addedNodes) || containsStylesheetNode(m.removedNodes)) {
|
|
173
|
+
debouncedNeutralize();
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
cleanups.push(() => headObserver.disconnect());
|
|
179
|
+
const attachHeadObserver = () => {
|
|
180
|
+
if (document.head)
|
|
181
|
+
headObserver.observe(document.head, { childList: true, subtree: false });
|
|
182
|
+
};
|
|
183
|
+
if (document.head) {
|
|
184
|
+
attachHeadObserver();
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
document.addEventListener("DOMContentLoaded", attachHeadObserver);
|
|
188
|
+
cleanups.push(() => document.removeEventListener("DOMContentLoaded", attachHeadObserver));
|
|
189
|
+
}
|
|
190
|
+
return debouncedNeutralize;
|
|
191
|
+
}
|
|
192
|
+
function rewriteVhInRules(rules, rewrite) {
|
|
193
|
+
for (let i = 0; i < rules.length; i++) {
|
|
194
|
+
const rule = rules[i];
|
|
195
|
+
if (!rule)
|
|
196
|
+
continue;
|
|
197
|
+
if (rule.cssRules)
|
|
198
|
+
rewriteVhInRules(rule.cssRules, rewrite);
|
|
199
|
+
const style = rule.style;
|
|
200
|
+
if (!style)
|
|
201
|
+
continue;
|
|
202
|
+
for (let j = 0; j < style.length; j++) {
|
|
203
|
+
const prop = style[j];
|
|
204
|
+
if (!prop)
|
|
205
|
+
continue;
|
|
206
|
+
const value = style.getPropertyValue(prop);
|
|
207
|
+
if (!value || value.indexOf("vh") === -1)
|
|
208
|
+
continue;
|
|
209
|
+
const next = rewrite(value);
|
|
210
|
+
if (next !== value)
|
|
211
|
+
style.setProperty(prop, next, style.getPropertyPriority(prop));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
function containsStylesheetNode(nodes) {
|
|
216
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
217
|
+
const node = nodes[i];
|
|
218
|
+
if (node instanceof HTMLStyleElement || node instanceof HTMLLinkElement)
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
function measureContentHeight() {
|
|
224
|
+
return Math.max(document.documentElement.scrollHeight, document.body?.scrollHeight ?? 0);
|
|
225
|
+
}
|
|
226
|
+
function createDebouncer(fn, delayMs) {
|
|
227
|
+
let timer;
|
|
228
|
+
return {
|
|
229
|
+
trigger: () => {
|
|
230
|
+
if (timer !== undefined)
|
|
231
|
+
window.clearTimeout(timer);
|
|
232
|
+
timer = window.setTimeout(fn, delayMs);
|
|
233
|
+
},
|
|
234
|
+
cancel: () => {
|
|
235
|
+
if (timer !== undefined) {
|
|
236
|
+
window.clearTimeout(timer);
|
|
237
|
+
timer = undefined;
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=page-height-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-height-bridge.js","sourceRoot":"","sources":["../../src/injections/page-height-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,14 @@ export declare class DataItemIdProcessor {
|
|
|
19
19
|
*/
|
|
20
20
|
processRootElement(path: NodePath<t.JSXOpeningElement>): void;
|
|
21
21
|
private hasSpreadAttribute;
|
|
22
|
+
/**
|
|
23
|
+
* Returns true when `fn` is a direct callback argument to a `.map()` or
|
|
24
|
+
* `.flatMap()` call — i.e. the function is an iteration callback, not a
|
|
25
|
+
* component definition. This prevents injecting prop-forwarding into
|
|
26
|
+
* patterns like `[...Array(3)].map((_, i) => <div />)` where the first
|
|
27
|
+
* param may be `undefined`.
|
|
28
|
+
*/
|
|
29
|
+
private isMapCallbackFunction;
|
|
22
30
|
private functionContainsMapCall;
|
|
23
31
|
/**
|
|
24
32
|
* Returns an expression for reading `data-collection-item-id` from the component's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-item-id-processor.d.ts","sourceRoot":"","sources":["../../src/processors/collection-item-id-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAC;AAWvC,qBAAa,mBAAmB;IAKlB,OAAO,CAAC,KAAK;IAJzB,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,SAAS,CAAsB;gBAEnB,KAAK,EAAE,OAAO,CAAC;IAMnC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAwBlD;;;;;;;;;OASG;IACH,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"collection-item-id-processor.d.ts","sourceRoot":"","sources":["../../src/processors/collection-item-id-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAC;AAWvC,qBAAa,mBAAmB;IAKlB,OAAO,CAAC,KAAK;IAJzB,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,SAAS,CAAsB;gBAEnB,KAAK,EAAE,OAAO,CAAC;IAMnC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAwBlD;;;;;;;;;OASG;IACH,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI;IA6B7D,OAAO,CAAC,kBAAkB;IAM1B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,uBAAuB;IA2B/B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAsDvC,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,oBAAoB;CAY7B"}
|
|
@@ -56,6 +56,10 @@ export class DataItemIdProcessor {
|
|
|
56
56
|
const fn = this.pathUtils.findEnclosingFunction(path);
|
|
57
57
|
if (!fn)
|
|
58
58
|
return;
|
|
59
|
+
// Skip if this function IS a .map()/.flatMap() callback — it's an iteration
|
|
60
|
+
// function, not a component (e.g. [...Array(3)].map((_, i) => <div />))
|
|
61
|
+
if (this.isMapCallbackFunction(fn))
|
|
62
|
+
return;
|
|
59
63
|
// Skip if this function maps over a collection — it's a container, not an item
|
|
60
64
|
if (this.functionContainsMapCall(fn))
|
|
61
65
|
return;
|
|
@@ -67,6 +71,22 @@ export class DataItemIdProcessor {
|
|
|
67
71
|
hasSpreadAttribute(path) {
|
|
68
72
|
return path.node.attributes.some((attr) => this.types.isJSXSpreadAttribute(attr));
|
|
69
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Returns true when `fn` is a direct callback argument to a `.map()` or
|
|
76
|
+
* `.flatMap()` call — i.e. the function is an iteration callback, not a
|
|
77
|
+
* component definition. This prevents injecting prop-forwarding into
|
|
78
|
+
* patterns like `[...Array(3)].map((_, i) => <div />)` where the first
|
|
79
|
+
* param may be `undefined`.
|
|
80
|
+
*/
|
|
81
|
+
isMapCallbackFunction(fn) {
|
|
82
|
+
const parent = fn.parentPath;
|
|
83
|
+
if (!parent?.isCallExpression())
|
|
84
|
+
return false;
|
|
85
|
+
const callee = parent.node.callee;
|
|
86
|
+
return (this.types.isMemberExpression(callee) &&
|
|
87
|
+
this.types.isIdentifier(callee.property) &&
|
|
88
|
+
(callee.property.name === "map" || callee.property.name === "flatMap"));
|
|
89
|
+
}
|
|
70
90
|
functionContainsMapCall(fn) {
|
|
71
91
|
let found = false;
|
|
72
92
|
const types = this.types;
|
|
@@ -126,8 +146,9 @@ export class DataItemIdProcessor {
|
|
|
126
146
|
return this.types.identifier(FORWARDING_PARAM_NAME);
|
|
127
147
|
}
|
|
128
148
|
if (firstParam.isIdentifier()) {
|
|
129
|
-
// props["data-collection-item-id"] —
|
|
130
|
-
return this.types.
|
|
149
|
+
// props?.["data-collection-item-id"] — optional access in case param is nullish
|
|
150
|
+
return this.types.optionalMemberExpression(this.types.identifier(firstParam.node.name), this.types.stringLiteral(DATA_COLLECTION_ITEM_ID), true, // computed
|
|
151
|
+
true // optional
|
|
131
152
|
);
|
|
132
153
|
}
|
|
133
154
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-item-id-processor.js","sourceRoot":"","sources":["../../src/processors/collection-item-id-processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"collection-item-id-processor.js","sourceRoot":"","sources":["../../src/processors/collection-item-id-processor.ts"],"names":[],"mappings":"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"}
|
package/dist/statics/index.mjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
function
|
|
2
|
-
[data-visual-edit-active] *:not([${
|
|
3
|
-
[data-visual-edit-active] *:not([${
|
|
4
|
-
[data-visual-edit-active] *:not([${
|
|
1
|
+
function ae(e,t){let o=t.top<27,i=t.height>=54,a=t.width>=window.innerWidth-4,c=a?"8px":"-2px",d=a?"8px":"4px";o&&i?(e.style.top="2px",e.style.left=d):o?(e.style.top=`${t.height+2}px`,e.style.left=c):(e.style.top="-27px",e.style.left=c)}function X(e){let t=e;return!!(t.dataset?.sourceLocation||t.dataset?.visualSelectorId)}function S(e){let t=e;return t.dataset?.sourceLocation||t.dataset?.visualSelectorId||null}var G=["src"],I="data-vite-plugin-element";function C(e){if(!e)return[];let t=Array.from(document.querySelectorAll(`[data-source-location="${e}"]`));return t.length>0?t:Array.from(document.querySelectorAll(`[data-visual-selector-id="${e}"]`))}function de(e,t){e.forEach(o=>{o.setAttribute("class",t)})}function ce(e,t,o){G.includes(t)&&e.forEach(i=>{i.setAttribute(t,o)})}function ue(e,t){let o={};for(let i of t){let a=e.getAttribute(i);a!==null&&(o[i]=a)}return o}function fe(){if(document.getElementById("freeze-animations"))return;document.documentElement.setAttribute("data-visual-edit-active","");let e=document.createElement("style");e.id="freeze-animations",e.textContent=`
|
|
2
|
+
[data-visual-edit-active] *:not([${I}]):not([${I}] *),
|
|
3
|
+
[data-visual-edit-active] *:not([${I}]):not([${I}] *)::before,
|
|
4
|
+
[data-visual-edit-active] *:not([${I}]):not([${I}] *)::after {
|
|
5
5
|
animation-play-state: paused !important;
|
|
6
6
|
transition: none !important;
|
|
7
7
|
}
|
|
8
|
-
`;let
|
|
8
|
+
`;let t=document.createElement("style");t.id="freeze-pointer-events",t.textContent=`
|
|
9
9
|
[data-visual-edit-active] * { pointer-events: none !important; }
|
|
10
|
-
[${
|
|
11
|
-
`;let o=document.head||document.documentElement;o.appendChild(e),o.appendChild(
|
|
10
|
+
[${I}], [${I}] * { pointer-events: auto !important; }
|
|
11
|
+
`;let o=document.head||document.documentElement;o.appendChild(e),o.appendChild(t),document.getAnimations().forEach(i=>{let a=i.effect?.target;if(!(a instanceof Element&&a.closest(`[${I}]`)))try{i.finish()}catch{i.pause()}})}function me(){let e=document.getElementById("freeze-animations");e&&(e.remove(),document.getElementById("freeze-pointer-events")?.remove(),document.documentElement.removeAttribute("data-visual-edit-active"),document.getAnimations().forEach(t=>{if(t.playState==="paused")try{t.play()}catch{}}))}function U(e,t){let o=document.getElementById("freeze-pointer-events");o&&(o.disabled=!0);let i=document.elementFromPoint(e,t);return o&&(o.disabled=!1),i?.closest("[data-source-location], [data-visual-selector-id]")??null}function pe(e,t,o){let i=U(e,t);if(!i)return null;let a=S(i);return a===o?null:a}var Ee={position:"absolute",backgroundColor:"#ffffff",border:"1px solid #e2e8f0",borderRadius:"6px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",fontSize:"12px",minWidth:"120px",maxHeight:"200px",overflowY:"auto",zIndex:"10001",padding:"4px 0",pointerEvents:"auto"},ge={padding:"4px 12px",cursor:"pointer",color:"#334155",backgroundColor:"transparent",whiteSpace:"nowrap",lineHeight:"1.5",fontWeight:"400"},P="#526cff",he="#DBEAFE",ve="600",z="#f1f5f9",ye=10,Y='<svg width="12" height="12" viewBox="0 0 24 24" style="vertical-align:middle;margin-left:4px"><path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" fill="none"/></svg>',Le='<svg width="12" height="12" viewBox="0 0 24 24" style="vertical-align:middle;margin-left:4px"><path d="M18 15l-6-6-6 6" stroke="currentColor" stroke-width="2" fill="none"/></svg>',_="data-chevron",be=12,O="data-layer-dropdown",Te=2,Ie=2;function q(e,t){for(let o of Object.keys(t))e.style.setProperty(o.replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`),t[o])}function we(e){return e.tagName}function j(e,t){let o={element:e,tagName:e.tagName.toLowerCase(),selectorId:S(e)};return t!==void 0&&(o.depth=t),o}function Se(e,t,o){let i=[];function a(c,d){if(!(d>t))for(let f=0;f<c.children.length;f++){let E=c.children[f];if(X(E)){let u={element:E,tagName:E.tagName.toLowerCase(),selectorId:S(E)};o!==void 0&&(u.depth=o+d-1),i.push(u),a(E,d+1)}else a(E,d)}}return a(e,1),i}function Ke(e){let t=[],o=e.parentElement;for(;o&&o!==document.documentElement&&o!==document.body&&t.length<Te;)X(o)&&t.push(j(o)),o=o.parentElement;return t.reverse(),t}function Ze(e,t){return t.forEach((o,i)=>{e.push({...o,depth:i})}),t.length}function Ce(e,t,o){e.push(j(t,o));let i=Se(t,Ie,o+1);e.push(...i)}function Je(e){return e.at(-1)?.element??null}function Qe(e,t){let o=Se(e,1);return o.some(i=>i.element===t)||o.push(j(t)),o}function et(e,t,o,i){let a=S(o),c=new Set;for(let d of t)if(d.element===o)Ce(e,o,i),a&&c.add(a);else{let f=d.selectorId;if(f!=null){if(f===a||c.has(f))continue;c.add(f)}e.push({...d,depth:i})}}function Me(e){let t=Ke(e),o=[],i=Ze(o,t),a=Je(t);if(a){let c=Qe(a,e);et(o,c,e,i)}else Ce(o,e,i);return o}var H=null,K=null,N=null,k=null,R=null;function tt(e,t,{onSelect:o,onHover:i,onHoverEnd:a}){let c=document.createElement("div");c.textContent=we(e),q(c,ge);let d=e.depth??0;return d>0&&(c.style.paddingLeft=`${be+d*ye}px`),t&&(c.style.color=P,c.style.backgroundColor=he,c.style.fontWeight=ve),c.addEventListener("mouseenter",()=>{t||(c.style.backgroundColor=z),i&&i(e)}),c.addEventListener("mouseleave",()=>{t||(c.style.backgroundColor="transparent"),a&&a()}),c.addEventListener("click",f=>{f.stopPropagation(),f.preventDefault(),o(e)}),c}function nt(e,t,o){let i=document.createElement("div");return i.setAttribute(O,"true"),i.setAttribute(I,"true"),q(i,Ee),e.forEach(a=>{let c=a.element===t;i.appendChild(tt(a,c,o))}),i}function De(e){if(e.querySelector(`[${_}]`))return;let t=document.createElement("span");t.setAttribute(_,"true"),t.style.display="inline-flex",t.innerHTML=Y,e.appendChild(t),e.style.display="inline-flex",e.style.alignItems="center",e.style.cursor="pointer",e.style.userSelect="none",e.style.whiteSpace="nowrap",e.style.pointerEvents="auto",e.setAttribute(O,"true"),e.setAttribute(I,"true")}function ot(e,t,o,{onSelect:i,onHover:a,onHoverEnd:c}){let d=Array.from(e.children),f=t.findIndex(u=>u.element===o),E=u=>{if(f>=0&&f<d.length){let g=d[f];g.style.color!==P&&(g.style.backgroundColor="transparent")}if(f=u,f>=0&&f<d.length){let g=d[f];g.style.color!==P&&(g.style.backgroundColor=z),g.scrollIntoView({block:"nearest"}),a&&f>=0&&f<t.length&&a(t[f])}};R=u=>{u.key==="ArrowDown"?(u.preventDefault(),u.stopPropagation(),E(f<d.length-1?f+1:0)):u.key==="ArrowUp"?(u.preventDefault(),u.stopPropagation(),E(f>0?f-1:d.length-1)):u.key==="Enter"&&f>=0&&f<t.length&&(u.preventDefault(),u.stopPropagation(),c&&c(),i(t[f]),M())},document.addEventListener("keydown",R,!0)}function rt(e,t){let o=!0;N=i=>{if(o){o=!1;return}let a=i.target;!e.contains(a)&&a!==t&&M()},document.addEventListener("mousedown",N,!0)}function xe(e,t,o,i){M();let a=nt(t,o,{...i,onSelect:f=>{i.onHoverEnd&&i.onHoverEnd(),i.onSelect(f),M()}}),c=e.parentElement;if(!c)return;a.style.top=`${e.offsetTop+e.offsetHeight+2}px`,a.style.left=`${e.offsetLeft}px`,c.appendChild(a),H=a,K=e;let d=e.querySelector(`[${_}]`);d&&(d.innerHTML=Le),k=i.onHoverEnd??null,ot(a,t,o,i),rt(a,e)}function M(){let e=K?.querySelector(`[${_}]`);e&&(e.innerHTML=Y),K=null,k&&(k(),k=null),H&&H.parentNode&&H.remove(),H=null,N&&(document.removeEventListener("mousedown",N,!0),N=null),R&&(document.removeEventListener("keydown",R,!0),R=null)}function Ae(){return H!==null}function He(e){let t=null,o=null,i=null,a=()=>{t&&t.parentNode&&t.remove(),t=null},c=b=>{a(),S(b.element)!==e.getSelectedElementId()&&(t=e.createPreviewOverlay(b.element))},d=b=>{a(),M(),o&&(document.removeEventListener("keydown",o,!0),o=null),i=null;let r=e.selectElement(b.element);u(r,b.element)},f=()=>{o&&(document.removeEventListener("keydown",o,!0),o=null),i&&(d(i),i=null)},E=(b,r,m,y,T)=>{b.stopPropagation(),b.preventDefault(),Ae()?(M(),f()):(i={element:m,tagName:m.tagName.toLowerCase(),selectorId:T},e.onDeselect(),o=L=>{L.key==="Escape"&&(L.stopPropagation(),M(),f())},document.addEventListener("keydown",o,!0),xe(r,y,m,{onSelect:d,onHover:c,onHoverEnd:a}))},u=(b,r)=>{if(!b)return;let m=b.querySelector("div");if(!m)return;let y=Me(r);if(y.length<=1)return;let T=S(r);De(m),m.addEventListener("click",L=>{E(L,m,r,y,T)})};return{attachToOverlay:u,cleanup:()=>{a(),M()}}}var Z="visual-edit-focus-styles",it=["div","p","h1","h2","h3","h4","h5","h6","span","li","td","a","button","label"],J=e=>!!e.dataset.arrField,st=e=>!(!it.includes(e.tagName.toLowerCase())||!e.textContent?.trim()||e.querySelector("img, video, canvas, svg")||e.children?.length>0),_e=()=>{if(document.getElementById(Z))return;let e=document.createElement("style");e.id=Z,e.textContent=`
|
|
12
12
|
[data-selected="true"][contenteditable="true"]:focus {
|
|
13
13
|
outline: none !important;
|
|
14
14
|
}
|
|
15
|
-
`,document.head.appendChild(e)},_e=()=>{document.getElementById(J)?.remove()},He=e=>{let n=document.createRange();n.selectNodeContents(e);let o=window.getSelection();o?.removeAllRanges(),o?.addRange(n)},ot=e=>!(e instanceof HTMLElement)||!nt(e)?!1:Z(e)?!0:e.dataset.dynamicContent!=="true",Q=e=>!(e instanceof HTMLElement)||e.dataset.selected!=="true"?!1:ot(e);var rt=500;function ee(e){let n=null,o=null,s=!1,a=new WeakMap,c=()=>{let i=e.getSelectedElementId();if(!i)return;let f=e.findElementsById(i);e.getSelectedOverlays().forEach((C,v)=>{v<f.length&&f[v]&&e.positionOverlay(C,f[v])})},d=i=>{let f=i.dataset.originalTextContent,I=i.textContent,C=i,v=i.getBoundingClientRect(),x={type:"inline-edit",elementInfo:{tagName:i.tagName,classes:C.className?.baseVal||i.className||"",visualSelectorId:e.getSelectedElementId(),content:I,dataSourceLocation:i.dataset.sourceLocation,isDynamicContent:i.dataset.dynamicContent==="true",linenumber:i.dataset.linenumber,filename:i.dataset.filename,position:{top:v.top,left:v.left,right:v.right,bottom:v.bottom,width:v.width,height:v.height,centerX:v.left+v.width/2,centerY:v.top+v.height/2}},originalContent:f,newContent:I};Z(i)&&(x.arrIndex=i.dataset.arrIndex,x.arrVariableName=i.dataset.arrVariableName,x.arrField=i.dataset.arrField),window.parent.postMessage(x,"*"),i.dataset.originalTextContent=I||""},u=i=>{o&&clearTimeout(o),o=setTimeout(()=>d(i),rt)},y=i=>{c(),u(i)},g=function(){y(this)},h=i=>{Me(),i.dataset.originalTextContent=i.textContent||"",i.dataset.originalCursor=i.style.cursor,i.contentEditable="true",i.setAttribute(T,"true");let f=new AbortController;a.set(i,f),i.addEventListener("input",g,{signal:f.signal}),i.style.cursor="text",He(i),setTimeout(()=>{i.isConnected&&i.focus()},0)},L=i=>{let f=a.get(i);f&&(f.abort(),a.delete(i)),i.isConnected&&(_e(),i.contentEditable="false",i.removeAttribute(T),delete i.dataset.originalTextContent,i.dataset.originalCursor!==void 0&&(i.style.cursor=i.dataset.originalCursor,delete i.dataset.originalCursor))};return{get enabled(){return s},set enabled(i){s=i},isEditing(){return n!==null},getCurrentElement(){return n},canEdit(i){return Q(i)},startEditing(i){n=i,e.getSelectedOverlays().forEach(f=>{f.style.display="none"}),h(i),window.parent.postMessage({type:"content-editing-started",visualSelectorId:e.getSelectedElementId()},"*")},stopEditing(){if(!n)return;o&&(clearTimeout(o),o=null),L(n),e.getSelectedOverlays().forEach(f=>{f.style.display=""}),c(),window.parent.postMessage({type:"content-editing-ended",visualSelectorId:e.getSelectedElementId()},"*"),n=null},markElementsSelected(i){i.forEach(f=>{f instanceof HTMLElement&&(f.dataset.selected="true")})},clearSelectedMarks(i){i&&e.findElementsById(i).forEach(f=>{f instanceof HTMLElement&&delete f.dataset.selected})},handleToggleMessage(i){if(!s)return;let f=e.findElementsById(i.dataSourceLocation);if(f.length===0||!(f[0]instanceof HTMLElement))return;let I=f[0];if(i.inlineEditingMode){if(!Q(I))return;e.getSelectedElementId()!==i.dataSourceLocation&&(this.stopEditing(),e.clearSelection(),this.markElementsSelected(f),e.createSelectionOverlays(f,i.dataSourceLocation)),this.startEditing(I)}else n===I&&this.stopEditing()},cleanup(){this.stopEditing()}}}var te="__theme-font-preview";var B=50;function it(){let e=!1,n=!1,o=!1,s=[],a=[],c=[],d=null,u=null,y=(r=!1)=>{let t=document.createElement("div");return t.style.position="absolute",t.style.pointerEvents="none",t.style.transition="all 0.1s ease-in-out",t.style.zIndex="9999",r?t.style.border="2px solid #2563EB":(t.style.border="2px solid #95a5fc",t.style.backgroundColor="rgba(99, 102, 241, 0.05)"),t},g=(r,t,l=!1)=>{if(!t||!e)return;t.offsetWidth;let p=t.getBoundingClientRect();r.style.top=`${p.top+window.scrollY}px`,r.style.left=`${p.left+window.scrollX}px`,r.style.width=`${p.width}px`,r.style.height=`${p.height}px`;let E=r.querySelector("div");E||(E=document.createElement("div"),E.textContent=t.tagName.toLowerCase(),E.style.position="absolute",E.style.left="-2px",E.style.padding="2px 8px",E.style.fontSize="11px",E.style.fontWeight=l?"500":"400",E.style.color=l?"#ffffff":"#526cff",E.style.backgroundColor=l?"#2563EB":"#DBEAFE",E.style.borderRadius="3px",E.style.minWidth="24px",E.style.textAlign="center",r.appendChild(E)),le(E,p)},h=ee({findElementsById:S,getSelectedElementId:()=>d,getSelectedOverlays:()=>a,positionOverlay:g,clearSelection:()=>{h.clearSelectedMarks(d),f(),d=null,u=null},createSelectionOverlays:(r,t)=>{r.forEach(l=>{let m=y(!0);document.body.appendChild(m),a.push(m),g(m,l,!0)}),d=t}}),L=()=>{h.clearSelectedMarks(d),f(),d=null,u=null},i=()=>{s.forEach(r=>{r&&r.parentNode&&r.remove()}),s=[],c=[]},f=()=>{a.forEach(r=>{r&&r.parentNode&&r.remove()}),a=[]},I=["p","h1","h2","h3","h4","h5","h6","span","a","label"],C=r=>{let t=r,l=r.getBoundingClientRect(),m=r,p=I.includes(r.tagName?.toLowerCase()),E=t.closest("[data-arr-variable-name]"),b=E?.dataset?.arrVariableName||null,M=E?.dataset?.arrIndex,Fe=M!=null?parseInt(M,10):null,$e=t.dataset?.arrField||null,Xe=t.closest("[data-collection-id]"),Ge=t.closest("[data-collection-item-field]"),Ye=t.closest("[data-collection-item-id]");window.parent.postMessage({type:"element-selected",tagName:r.tagName,classes:m.className?.baseVal||r.className||"",visualSelectorId:w(r),content:p?t.innerText:void 0,dataSourceLocation:t.dataset.sourceLocation,isDynamicContent:t.dataset.dynamicContent==="true",linenumber:t.dataset.linenumber,filename:t.dataset.filename,position:{top:l.top,left:l.left,right:l.right,bottom:l.bottom,width:l.width,height:l.height,centerX:l.left+l.width/2,centerY:l.top+l.height/2},attributes:de(r,G),isTextElement:p,staticArrayName:b,staticArrayIndex:Fe,staticArrayField:$e,collectionId:Xe?.dataset?.collectionId||null,collectionItemField:Ge?.dataset?.collectionItemField||null,collectionItemId:Ye?.dataset?.collectionItemId||null},"*")},v=r=>{let t=w(r);return f(),S(t||null).forEach(m=>{let p=y(!0);document.body.appendChild(p),a.push(p),g(p,m,!0)}),d=t||null,u=r,i(),C(r),a[0]},x=()=>{d=null,window.parent.postMessage({type:"unselect-element"},"*")},W=null,A=null,V=()=>{i(),W=null},Oe=r=>{let t=S(r);i(),t.forEach(l=>{let m=y(!1);document.body.appendChild(m),s.push(m),g(m,l)}),c=t,W=r},ne=r=>{!e||n||h.isEditing()||A===null&&(A=requestAnimationFrame(()=>{if(A=null,o){V();return}let t=me(r.clientX,r.clientY,d);if(!t){V();return}W!==t&&Oe(t)}))},F=()=>{A!==null&&(cancelAnimationFrame(A),A=null),V()},oe=r=>{if(!e)return;let t=r.target;if(t.closest(`[${O}]`)||h.enabled&&t instanceof HTMLElement&&t.contentEditable==="true")return;if(h.isEditing()){r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation(),h.stopEditing();return}if(o){r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation(),window.parent.postMessage({type:"close-dropdowns"},"*");return}r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation();let l=Y(r.clientX,r.clientY);if(!l)return;let m=l,p=w(l);if(d===p&&m.dataset.selected==="true"&&h.enabled&&h.canEdit(m)){h.startEditing(m);return}h.stopEditing(),h.enabled&&h.markElementsSelected(S(p));let b=v(l);re.attachToOverlay(b,l)},Ne=()=>{h.stopEditing(),L()},Re=(r,t)=>{let l=S(r);l.length!==0&&(se(l,t),setTimeout(()=>{d===r&&a.forEach((m,p)=>{p<l.length&&g(m,l[p])}),c.length>0&&c[0]?.dataset?.visualSelectorId===r&&s.forEach((E,b)=>{b<c.length&&g(E,c[b])})},B))},Pe=(r,t,l)=>{let m=S(r);m.length!==0&&(ae(m,t,l),setTimeout(()=>{d===r&&a.forEach((p,E)=>{E<m.length&&g(p,m[E])})},B))},ke=(r,t,l)=>{let m=S(r);m.length!==0&&(l!=null&&(m=m.filter(p=>p.dataset.arrIndex===String(l))),m.forEach(p=>{p.innerText=t}),setTimeout(()=>{d===r&&a.forEach((p,E)=>{E<m.length&&g(p,m[E])})},B))},re=Ae({createPreviewOverlay:r=>{let t=y(!1);return t.style.zIndex="9998",document.body.appendChild(t),g(t,r),t},getSelectedElementId:()=>d,selectElement:v,onDeselect:x}),Be=r=>{e=r,r?(document.body.style.cursor="crosshair",ce(),document.addEventListener("mousemove",ne),document.addEventListener("mouseleave",F),document.addEventListener("click",oe,!0)):(ue(),h.stopEditing(),L(),re.cleanup(),F(),document.body.style.cursor="default",document.removeEventListener("mousemove",ne),document.removeEventListener("mouseleave",F),document.removeEventListener("click",oe,!0))},ie=()=>{if(d){let r=u;if(r&&r.isConnected){let t=r.getBoundingClientRect(),l=window.innerHeight,m=window.innerWidth,p=t.top<l&&t.bottom>0&&t.left<m&&t.right>0,E={top:t.top,left:t.left,right:t.right,bottom:t.bottom,width:t.width,height:t.height,centerX:t.left+t.width/2,centerY:t.top+t.height/2};window.parent.postMessage({type:"element-position-update",position:E,isInViewport:p,visualSelectorId:d},"*")}}},We=r=>{let t=r.data;switch(t.type){case"toggle-visual-edit-mode":Be(t.data.enabled),t.data.specs?.newInlineEditEnabled!==void 0&&(h.enabled=t.data.specs.newInlineEditEnabled);break;case"update-classes":t.data&&t.data.classes!==void 0?Re(t.data.visualSelectorId,t.data.classes):console.warn("[VisualEditAgent] Invalid update-classes message:",t);break;case"update-attribute":t.data&&t.data.visualSelectorId&&t.data.attribute!==void 0&&t.data.value!==void 0?Pe(t.data.visualSelectorId,t.data.attribute,t.data.value):console.warn("[VisualEditAgent] Invalid update-attribute message:",t);break;case"unselect-element":Ne();break;case"refresh-page":window.location.reload();break;case"update-content":t.data&&t.data.content!==void 0?ke(t.data.visualSelectorId,t.data.content,t.data.arrIndex):console.warn("[VisualEditAgent] Invalid update-content message:",t);break;case"request-element-position":if(d&&u&&u.isConnected){let l=u.getBoundingClientRect(),m=window.innerHeight,p=window.innerWidth,E=l.top<m&&l.bottom>0&&l.left<p&&l.right>0,b={top:l.top,left:l.left,right:l.right,bottom:l.bottom,width:l.width,height:l.height,centerX:l.left+l.width/2,centerY:l.top+l.height/2};window.parent.postMessage({type:"element-position-update",position:b,isInViewport:E,visualSelectorId:d},"*")}break;case"popover-drag-state":t.data&&t.data.isDragging!==void 0&&(n=t.data.isDragging,t.data.isDragging&&i());break;case"dropdown-state":t.data&&t.data.isOpen!==void 0&&(o=t.data.isOpen,t.data.isOpen&&i());break;case"update-theme-variables":if(t.data?.variables){let l=t.data.mode==="dark"?document.querySelector(".dark"):document.documentElement;if(l)for(let[m,p]of Object.entries(t.data.variables))l.style.setProperty(m,p)}break;case"inject-font-import":if(t.data?.fontUrl){let l=document.getElementById(te);l||(l=document.createElement("style"),l.id=te,document.head.appendChild(l)),l.textContent=`@import url('${t.data.fontUrl}');`}break;case"toggle-inline-edit-mode":t.data&&h.handleToggleMessage(t.data);break;default:break}},$=()=>{if(d){let r=S(d);a.forEach((t,l)=>{l<r.length&&g(t,r[l])})}c.length>0&&s.forEach((r,t)=>{t<c.length&&g(r,c[t])})};document.querySelectorAll("[data-linenumber]:not([data-visual-selector-id])").forEach((r,t)=>{let l=r,m=`visual-id-${l.dataset.filename}-${l.dataset.linenumber}-${t}`;l.dataset.visualSelectorId=m});let Ve=new MutationObserver(r=>{r.some(l=>{let m=E=>{if(E.nodeType===Node.ELEMENT_NODE){let b=E;if(b.dataset&&b.dataset.visualSelectorId)return!0;for(let M=0;M<b.children.length;M++)if(m(b.children[M]))return!0}return!1};return l.type==="attributes"&&(l.attributeName==="style"||l.attributeName==="class"||l.attributeName==="width"||l.attributeName==="height")&&m(l.target)})&&setTimeout($,B)});window.addEventListener("message",We),window.addEventListener("scroll",ie,!0),document.addEventListener("scroll",ie,!0),window.addEventListener("resize",$),window.addEventListener("scroll",$),Ve.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class","width","height"]}),window.parent.postMessage({type:"visual-edit-agent-ready"},"*")}export{it as setupVisualEditAgent};
|
|
15
|
+
`,document.head.appendChild(e)},Oe=()=>{document.getElementById(Z)?.remove()},Ne=e=>{let t=document.createRange();t.selectNodeContents(e);let o=window.getSelection();o?.removeAllRanges(),o?.addRange(t)},lt=e=>!(e instanceof HTMLElement)||!st(e)?!1:J(e)?!0:e.dataset.dynamicContent!=="true",Q=e=>!(e instanceof HTMLElement)||e.dataset.selected!=="true"?!1:lt(e);var at=500;function ee(e){let t=null,o=null,i=!1,a=new WeakMap,c=()=>{let r=e.getSelectedElementId();if(!r)return;let m=e.findElementsById(r);e.getSelectedOverlays().forEach((T,L)=>{L<m.length&&m[L]&&e.positionOverlay(T,m[L])})},d=r=>{let m=r.dataset.originalTextContent,y=r.textContent,T=r,L=r.getBoundingClientRect(),D={type:"inline-edit",elementInfo:{tagName:r.tagName,classes:T.className?.baseVal||r.className||"",visualSelectorId:e.getSelectedElementId(),content:y,dataSourceLocation:r.dataset.sourceLocation,isDynamicContent:r.dataset.dynamicContent==="true",linenumber:r.dataset.linenumber,filename:r.dataset.filename,position:{top:L.top,left:L.left,right:L.right,bottom:L.bottom,width:L.width,height:L.height,centerX:L.left+L.width/2,centerY:L.top+L.height/2}},originalContent:m,newContent:y};J(r)&&(D.arrIndex=r.dataset.arrIndex,D.arrVariableName=r.dataset.arrVariableName,D.arrField=r.dataset.arrField),window.parent.postMessage(D,"*"),r.dataset.originalTextContent=y||""},f=r=>{o&&clearTimeout(o),o=setTimeout(()=>d(r),at)},E=r=>{c(),f(r)},u=function(){E(this)},g=r=>{_e(),r.dataset.originalTextContent=r.textContent||"",r.dataset.originalCursor=r.style.cursor,r.contentEditable="true",r.setAttribute(I,"true");let m=new AbortController;a.set(r,m),r.addEventListener("input",u,{signal:m.signal}),r.style.cursor="text",Ne(r),setTimeout(()=>{r.isConnected&&r.focus()},0)},b=r=>{let m=a.get(r);m&&(m.abort(),a.delete(r)),r.isConnected&&(Oe(),r.contentEditable="false",r.removeAttribute(I),delete r.dataset.originalTextContent,r.dataset.originalCursor!==void 0&&(r.style.cursor=r.dataset.originalCursor,delete r.dataset.originalCursor))};return{get enabled(){return i},set enabled(r){i=r},isEditing(){return t!==null},getCurrentElement(){return t},canEdit(r){return Q(r)},startEditing(r){t=r,e.getSelectedOverlays().forEach(m=>{m.style.display="none"}),g(r),window.parent.postMessage({type:"content-editing-started",visualSelectorId:e.getSelectedElementId()},"*")},stopEditing(){if(!t)return;o&&(clearTimeout(o),o=null),b(t),e.getSelectedOverlays().forEach(m=>{m.style.display=""}),c(),window.parent.postMessage({type:"content-editing-ended",visualSelectorId:e.getSelectedElementId()},"*"),t=null},markElementsSelected(r){r.forEach(m=>{m instanceof HTMLElement&&(m.dataset.selected="true")})},clearSelectedMarks(r){r&&e.findElementsById(r).forEach(m=>{m instanceof HTMLElement&&delete m.dataset.selected})},handleToggleMessage(r){if(!i)return;let m=e.findElementsById(r.dataSourceLocation);if(m.length===0||!(m[0]instanceof HTMLElement))return;let y=m[0];if(r.inlineEditingMode){if(!Q(y))return;e.getSelectedElementId()!==r.dataSourceLocation&&(this.stopEditing(),e.clearSelection(),this.markElementsSelected(m),e.createSelectionOverlays(m,r.dataSourceLocation)),this.startEditing(y)}else t===y&&this.stopEditing()},cleanup(){this.stopEditing()}}}var te="__theme-font-preview";var B=50;function dt(){let e=!1,t=!1,o=!1,i=[],a=[],c=[],d=null,f=null,E=(s=!1)=>{let n=document.createElement("div");return n.style.position="absolute",n.style.pointerEvents="none",n.style.transition="all 0.1s ease-in-out",n.style.zIndex="9999",s?n.style.border="2px solid #2563EB":(n.style.border="2px solid #95a5fc",n.style.backgroundColor="rgba(99, 102, 241, 0.05)"),n},u=(s,n,l=!1)=>{if(!n||!e)return;n.offsetWidth;let h=n.getBoundingClientRect();s.style.top=`${h.top+window.scrollY}px`,s.style.left=`${h.left+window.scrollX}px`,s.style.width=`${h.width}px`,s.style.height=`${h.height}px`;let v=s.querySelector("div");v||(v=document.createElement("div"),v.textContent=n.tagName.toLowerCase(),v.style.position="absolute",v.style.left="-2px",v.style.padding="2px 8px",v.style.fontSize="11px",v.style.fontWeight=l?"500":"400",v.style.color=l?"#ffffff":"#526cff",v.style.backgroundColor=l?"#2563EB":"#DBEAFE",v.style.borderRadius="3px",v.style.minWidth="24px",v.style.textAlign="center",s.appendChild(v)),ae(v,h)},g=ee({findElementsById:C,getSelectedElementId:()=>d,getSelectedOverlays:()=>a,positionOverlay:u,clearSelection:()=>{g.clearSelectedMarks(d),m(),d=null,f=null},createSelectionOverlays:(s,n)=>{s.forEach(l=>{let p=E(!0);document.body.appendChild(p),a.push(p),u(p,l,!0)}),d=n}}),b=()=>{g.clearSelectedMarks(d),m(),d=null,f=null},r=()=>{i.forEach(s=>{s&&s.parentNode&&s.remove()}),i=[],c=[]},m=()=>{a.forEach(s=>{s&&s.parentNode&&s.remove()}),a=[]},y=["p","h1","h2","h3","h4","h5","h6","span","a","label"],T=s=>{let n=s,l=s.getBoundingClientRect(),p=s,h=y.includes(s.tagName?.toLowerCase()),v=n.closest("[data-arr-variable-name]"),w=v?.dataset?.arrVariableName||null,A=v?.dataset?.arrIndex,Ue=A!=null?parseInt(A,10):null,ze=n.dataset?.arrField||null,Ye=n.closest("[data-collection-id]"),qe=n.closest("[data-collection-item-field]"),je=n.closest("[data-collection-item-id]");window.parent.postMessage({type:"element-selected",tagName:s.tagName,classes:p.className?.baseVal||s.className||"",visualSelectorId:S(s),content:h?n.innerText:void 0,dataSourceLocation:n.dataset.sourceLocation,isDynamicContent:n.dataset.dynamicContent==="true",linenumber:n.dataset.linenumber,filename:n.dataset.filename,position:{top:l.top,left:l.left,right:l.right,bottom:l.bottom,width:l.width,height:l.height,centerX:l.left+l.width/2,centerY:l.top+l.height/2},attributes:ue(s,G),isTextElement:h,staticArrayName:w,staticArrayIndex:Ue,staticArrayField:ze,collectionId:Ye?.dataset?.collectionId||null,collectionItemField:qe?.dataset?.collectionItemField||null,collectionItemId:je?.dataset?.collectionItemId||null},"*")},L=s=>{let n=S(s);return m(),C(n||null).forEach(p=>{let h=E(!0);document.body.appendChild(h),a.push(h),u(h,p,!0)}),d=n||null,f=s,r(),T(s),a[0]},D=()=>{d=null,window.parent.postMessage({type:"unselect-element"},"*")},V=null,x=null,W=()=>{r(),V=null},ke=s=>{let n=C(s);r(),n.forEach(l=>{let p=E(!1);document.body.appendChild(p),i.push(p),u(p,l)}),c=n,V=s},re=s=>{!e||t||g.isEditing()||x===null&&(x=requestAnimationFrame(()=>{if(x=null,o){W();return}let n=pe(s.clientX,s.clientY,d);if(!n){W();return}V!==n&&ke(n)}))},F=()=>{x!==null&&(cancelAnimationFrame(x),x=null),W()},ie=s=>{if(!e)return;let n=s.target;if(n.closest(`[${O}]`)||g.enabled&&n instanceof HTMLElement&&n.contentEditable==="true")return;if(g.isEditing()){s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation(),g.stopEditing();return}if(o){s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation(),window.parent.postMessage({type:"close-dropdowns"},"*");return}s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation();let l=U(s.clientX,s.clientY);if(!l)return;let p=l,h=S(l);if(d===h&&p.dataset.selected==="true"&&g.enabled&&g.canEdit(p)){g.startEditing(p);return}g.stopEditing(),g.enabled&&g.markElementsSelected(C(h));let w=L(l);se.attachToOverlay(w,l)},Be=()=>{g.stopEditing(),b()},Ve=(s,n)=>{let l=C(s);l.length!==0&&(de(l,n),setTimeout(()=>{d===s&&a.forEach((p,h)=>{h<l.length&&u(p,l[h])}),c.length>0&&c[0]?.dataset?.visualSelectorId===s&&i.forEach((v,w)=>{w<c.length&&u(v,c[w])})},B))},We=(s,n,l)=>{let p=C(s);p.length!==0&&(ce(p,n,l),setTimeout(()=>{d===s&&a.forEach((h,v)=>{v<p.length&&u(h,p[v])})},B))},Fe=(s,n,l)=>{let p=C(s);p.length!==0&&(l!=null&&(p=p.filter(h=>h.dataset.arrIndex===String(l))),p.forEach(h=>{h.innerText=n}),setTimeout(()=>{d===s&&a.forEach((h,v)=>{v<p.length&&u(h,p[v])})},B))},se=He({createPreviewOverlay:s=>{let n=E(!1);return n.style.zIndex="9998",document.body.appendChild(n),u(n,s),n},getSelectedElementId:()=>d,selectElement:L,onDeselect:D}),$e=s=>{e=s,s?(document.body.style.cursor="crosshair",fe(),document.addEventListener("mousemove",re),document.addEventListener("mouseleave",F),document.addEventListener("click",ie,!0)):(me(),g.stopEditing(),b(),se.cleanup(),F(),document.body.style.cursor="default",document.removeEventListener("mousemove",re),document.removeEventListener("mouseleave",F),document.removeEventListener("click",ie,!0))},le=()=>{if(d){let s=f;if(s&&s.isConnected){let n=s.getBoundingClientRect(),l=window.innerHeight,p=window.innerWidth,h=n.top<l&&n.bottom>0&&n.left<p&&n.right>0,v={top:n.top,left:n.left,right:n.right,bottom:n.bottom,width:n.width,height:n.height,centerX:n.left+n.width/2,centerY:n.top+n.height/2};window.parent.postMessage({type:"element-position-update",position:v,isInViewport:h,visualSelectorId:d},"*")}}},Xe=s=>{let n=s.data;switch(n.type){case"toggle-visual-edit-mode":$e(n.data.enabled),n.data.specs?.newInlineEditEnabled!==void 0&&(g.enabled=n.data.specs.newInlineEditEnabled);break;case"update-classes":n.data&&n.data.classes!==void 0?Ve(n.data.visualSelectorId,n.data.classes):console.warn("[VisualEditAgent] Invalid update-classes message:",n);break;case"update-attribute":n.data&&n.data.visualSelectorId&&n.data.attribute!==void 0&&n.data.value!==void 0?We(n.data.visualSelectorId,n.data.attribute,n.data.value):console.warn("[VisualEditAgent] Invalid update-attribute message:",n);break;case"unselect-element":Be();break;case"refresh-page":window.location.reload();break;case"update-content":n.data&&n.data.content!==void 0?Fe(n.data.visualSelectorId,n.data.content,n.data.arrIndex):console.warn("[VisualEditAgent] Invalid update-content message:",n);break;case"request-element-position":if(d&&f&&f.isConnected){let l=f.getBoundingClientRect(),p=window.innerHeight,h=window.innerWidth,v=l.top<p&&l.bottom>0&&l.left<h&&l.right>0,w={top:l.top,left:l.left,right:l.right,bottom:l.bottom,width:l.width,height:l.height,centerX:l.left+l.width/2,centerY:l.top+l.height/2};window.parent.postMessage({type:"element-position-update",position:w,isInViewport:v,visualSelectorId:d},"*")}break;case"popover-drag-state":n.data&&n.data.isDragging!==void 0&&(t=n.data.isDragging,n.data.isDragging&&r());break;case"dropdown-state":n.data&&n.data.isOpen!==void 0&&(o=n.data.isOpen,n.data.isOpen&&r());break;case"update-theme-variables":if(n.data?.variables){let l=n.data.mode==="dark"?document.querySelector(".dark"):document.documentElement;if(l)for(let[p,h]of Object.entries(n.data.variables))l.style.setProperty(p,h)}break;case"inject-font-import":if(n.data?.fontUrl){let l=document.getElementById(te);l||(l=document.createElement("style"),l.id=te,document.head.appendChild(l)),l.textContent=`@import url('${n.data.fontUrl}');`}break;case"toggle-inline-edit-mode":n.data&&g.handleToggleMessage(n.data);break;default:break}},$=()=>{if(d){let s=C(d);a.forEach((n,l)=>{l<s.length&&u(n,s[l])})}c.length>0&&i.forEach((s,n)=>{n<c.length&&u(s,c[n])})};document.querySelectorAll("[data-linenumber]:not([data-visual-selector-id])").forEach((s,n)=>{let l=s,p=`visual-id-${l.dataset.filename}-${l.dataset.linenumber}-${n}`;l.dataset.visualSelectorId=p});let Ge=new MutationObserver(s=>{s.some(l=>{let p=v=>{if(v.nodeType===Node.ELEMENT_NODE){let w=v;if(w.dataset&&w.dataset.visualSelectorId)return!0;for(let A=0;A<w.children.length;A++)if(p(w.children[A]))return!0}return!1};return l.type==="attributes"&&(l.attributeName==="style"||l.attributeName==="class"||l.attributeName==="width"||l.attributeName==="height")&&p(l.target)})&&setTimeout($,B)});window.addEventListener("message",Xe),window.addEventListener("scroll",le,!0),document.addEventListener("scroll",le,!0),window.addEventListener("resize",$),window.addEventListener("scroll",$),Ge.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class","width","height"]}),window.parent.postMessage({type:"visual-edit-agent-ready"},"*")}var ne=()=>{},oe=!1;function ct(){if(oe||typeof window>"u"||window.self===window.top)return ne;oe=!0;let e=null,t=null,o,i="*",a=E=>{if(e){t?.();return}let u=ut(E);e=[],t=ft(u,e)},c=(E,u)=>{i=E,o!==void 0&&window.clearTimeout(o),o=window.setTimeout(()=>{requestAnimationFrame(()=>{let g=mt();window.parent.postMessage({type:"page-height-measured",height:g},i)})},u)},d=E=>{let u=E.data??null;if(!(!u||typeof u!="object"))switch(u.type){case"freeze-vh-units":{let g=typeof u.referenceVhBase=="number"?u.referenceVhBase:void 0;a(g);return}case"measure-page-height":{let g=typeof u.settleMs=="number"?u.settleMs:2e3,b=E.origin&&E.origin!=="null"?E.origin:"*";c(b,g);return}}};window.addEventListener("message",d);let f=!1;return()=>{if(!f){if(f=!0,oe=!1,window.removeEventListener("message",d),e){for(let E of e)E();e=null,t=null}o!==void 0&&window.clearTimeout(o)}}}function ut(e){if(e!==void 0)return e;let t=window.innerHeight||0;return t>=400?t:900}function ft(e,t){let o=/(\d+(?:\.\d+)?)vh\b/g,i=new WeakSet,a=new WeakMap,c=new WeakSet,d=new Set,E=pt(()=>{let m=y=>y.replace(o,(T,L)=>`${(parseFloat(L)/100*e).toFixed(2)}px`);document.querySelectorAll("style").forEach(y=>{if(g(y),i.has(y))return;i.add(y);let T=y.textContent;if(!T||T.indexOf("vh")===-1)return;let L=m(T);L!==T&&(y.textContent=L)});for(let y=0;y<document.styleSheets.length;y++){let T=document.styleSheets[y];if(!T)continue;let L;try{L=T.cssRules}catch{continue}a.get(T)!==L.length&&(Pe(L,m),a.set(T,L.length))}},16),u=E.trigger;t.push(E.cancel);let g=m=>{if(c.has(m))return;c.add(m);let y=new MutationObserver(()=>{i.delete(m),u()});y.observe(m,{characterData:!0,childList:!0,subtree:!0}),d.add(y)};t.push(()=>{for(let m of d)m.disconnect();d.clear()}),u(),document.readyState==="loading"&&(document.addEventListener("DOMContentLoaded",u),t.push(()=>document.removeEventListener("DOMContentLoaded",u))),window.addEventListener("load",u),t.push(()=>window.removeEventListener("load",u));let b=new MutationObserver(m=>{for(let y of m)if(Re(y.addedNodes)||Re(y.removedNodes)){u();return}});t.push(()=>b.disconnect());let r=()=>{document.head&&b.observe(document.head,{childList:!0,subtree:!1})};return document.head?r():(document.addEventListener("DOMContentLoaded",r),t.push(()=>document.removeEventListener("DOMContentLoaded",r))),u}function Pe(e,t){for(let o=0;o<e.length;o++){let i=e[o];if(!i)continue;i.cssRules&&Pe(i.cssRules,t);let a=i.style;if(a)for(let c=0;c<a.length;c++){let d=a[c];if(!d)continue;let f=a.getPropertyValue(d);if(!f||f.indexOf("vh")===-1)continue;let E=t(f);E!==f&&a.setProperty(d,E,a.getPropertyPriority(d))}}}function Re(e){for(let t=0;t<e.length;t++){let o=e[t];if(o instanceof HTMLStyleElement||o instanceof HTMLLinkElement)return!0}return!1}function mt(){return Math.max(document.documentElement.scrollHeight,document.body?.scrollHeight??0)}function pt(e,t){let o;return{trigger:()=>{o!==void 0&&window.clearTimeout(o),o=window.setTimeout(e,t)},cancel:()=>{o!==void 0&&(window.clearTimeout(o),o=void 0)}}}export{ct as setupPageHeightBridge,dt as setupVisualEditAgent};
|
|
16
16
|
//# sourceMappingURL=index.mjs.map
|