@base44-preview/vite-plugin 0.2.25-pr.36.792e85b → 0.2.26-pr.42.7e00d38
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/injections/visual-edit-agent.d.ts.map +1 -1
- package/dist/injections/visual-edit-agent.js +303 -10
- package/dist/injections/visual-edit-agent.js.map +1 -1
- package/dist/statics/index.mjs +5 -1
- package/dist/statics/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/injections/visual-edit-agent.ts +369 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visual-edit-agent.d.ts","sourceRoot":"","sources":["../../src/injections/visual-edit-agent.ts"],"names":[],"mappings":"AAIA,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"visual-edit-agent.d.ts","sourceRoot":"","sources":["../../src/injections/visual-edit-agent.ts"],"names":[],"mappings":"AAIA,wBAAgB,oBAAoB,SAm9BnC"}
|
|
@@ -10,6 +10,13 @@ export function setupVisualEditAgent() {
|
|
|
10
10
|
let selectedOverlays = [];
|
|
11
11
|
let currentHighlightedElements = [];
|
|
12
12
|
let selectedElementId = null;
|
|
13
|
+
let currentEditingElement = null;
|
|
14
|
+
let debouncedSendTimeout = null;
|
|
15
|
+
let isInlineEditExperimentEnabled = false;
|
|
16
|
+
const INLINE_EDIT_DEBOUNCE_MS = 500;
|
|
17
|
+
const REPOSITION_DELAY_MS = 50;
|
|
18
|
+
// WeakMap to track AbortControllers for each element's input listener
|
|
19
|
+
const listenerAbortControllers = new WeakMap();
|
|
13
20
|
// Create overlay element
|
|
14
21
|
const createOverlay = (isSelected = false) => {
|
|
15
22
|
const overlay = document.createElement("div");
|
|
@@ -57,6 +64,205 @@ export function setupVisualEditAgent() {
|
|
|
57
64
|
overlay.appendChild(label);
|
|
58
65
|
}
|
|
59
66
|
};
|
|
67
|
+
// --- Inline editing utilities ---
|
|
68
|
+
const injectFocusOutlineCSS = () => {
|
|
69
|
+
const existingStyle = document.getElementById("visual-edit-focus-styles");
|
|
70
|
+
if (existingStyle)
|
|
71
|
+
return;
|
|
72
|
+
const style = document.createElement("style");
|
|
73
|
+
style.id = "visual-edit-focus-styles";
|
|
74
|
+
style.textContent = `
|
|
75
|
+
[data-selected="true"][contenteditable="true"]:focus {
|
|
76
|
+
outline: none !important;
|
|
77
|
+
}
|
|
78
|
+
`;
|
|
79
|
+
document.head.appendChild(style);
|
|
80
|
+
};
|
|
81
|
+
const removeFocusOutlineCSS = () => {
|
|
82
|
+
const style = document.getElementById("visual-edit-focus-styles");
|
|
83
|
+
if (style) {
|
|
84
|
+
style.remove();
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
const selectText = (element) => {
|
|
88
|
+
const range = document.createRange();
|
|
89
|
+
range.selectNodeContents(element);
|
|
90
|
+
const selection = window.getSelection();
|
|
91
|
+
selection?.removeAllRanges();
|
|
92
|
+
selection?.addRange(range);
|
|
93
|
+
};
|
|
94
|
+
const isEditableTextElement = (element) => {
|
|
95
|
+
if (!(element instanceof HTMLElement)) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
const allowedTags = [
|
|
99
|
+
"div", "p", "h1", "h2", "h3", "h4", "h5", "h6",
|
|
100
|
+
"span", "li", "td", "a", "button", "label",
|
|
101
|
+
];
|
|
102
|
+
if (!allowedTags.includes(element.tagName.toLowerCase())) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
const textContent = element.textContent?.trim() || "";
|
|
106
|
+
if (textContent.length === 0) {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
if (element.querySelector("img, video, canvas, svg") !== null) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
if (element.children.length > 0) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
if (element.dataset.dynamicContent === "true") {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
return true;
|
|
119
|
+
};
|
|
120
|
+
const shouldEnterInlineEditingMode = (element) => {
|
|
121
|
+
if (!(element instanceof HTMLElement) || element.dataset.selected !== "true") {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
return isEditableTextElement(element);
|
|
125
|
+
};
|
|
126
|
+
const handleInputEvent = function () {
|
|
127
|
+
onTextInputChange(this);
|
|
128
|
+
};
|
|
129
|
+
const enterInlineEditingMode = (element) => {
|
|
130
|
+
injectFocusOutlineCSS();
|
|
131
|
+
element.dataset.originalTextContent = element.textContent || "";
|
|
132
|
+
element.dataset.originalCursor = element.style.cursor;
|
|
133
|
+
element.contentEditable = "true";
|
|
134
|
+
const abortController = new AbortController();
|
|
135
|
+
listenerAbortControllers.set(element, abortController);
|
|
136
|
+
element.addEventListener("input", handleInputEvent, { signal: abortController.signal });
|
|
137
|
+
element.style.cursor = "text";
|
|
138
|
+
selectText(element);
|
|
139
|
+
setTimeout(() => {
|
|
140
|
+
element.focus();
|
|
141
|
+
}, 0);
|
|
142
|
+
};
|
|
143
|
+
const clearInlineEditingMode = (element) => {
|
|
144
|
+
const abortController = listenerAbortControllers.get(element);
|
|
145
|
+
if (abortController) {
|
|
146
|
+
abortController.abort();
|
|
147
|
+
listenerAbortControllers.delete(element);
|
|
148
|
+
}
|
|
149
|
+
if (!element.isConnected) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
removeFocusOutlineCSS();
|
|
153
|
+
element.contentEditable = "false";
|
|
154
|
+
delete element.dataset.originalTextContent;
|
|
155
|
+
if (element.dataset.originalCursor !== undefined) {
|
|
156
|
+
element.style.cursor = element.dataset.originalCursor;
|
|
157
|
+
delete element.dataset.originalCursor;
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
const repositionSelectedOverlays = () => {
|
|
161
|
+
if (selectedElementId) {
|
|
162
|
+
const elements = findElementsById(selectedElementId);
|
|
163
|
+
selectedOverlays.forEach((overlay, index) => {
|
|
164
|
+
if (index < elements.length) {
|
|
165
|
+
positionOverlay(overlay, elements[index]);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
const handleEnterInlineEditingMode = (element) => {
|
|
171
|
+
currentEditingElement = element;
|
|
172
|
+
selectedOverlays.forEach((overlay) => {
|
|
173
|
+
overlay.style.display = "none";
|
|
174
|
+
});
|
|
175
|
+
enterInlineEditingMode(element);
|
|
176
|
+
window.parent.postMessage({
|
|
177
|
+
type: "content-editing-started",
|
|
178
|
+
visualSelectorId: selectedElementId,
|
|
179
|
+
}, "*");
|
|
180
|
+
};
|
|
181
|
+
const handleClearInlineEditingMode = () => {
|
|
182
|
+
if (!currentEditingElement)
|
|
183
|
+
return;
|
|
184
|
+
if (debouncedSendTimeout) {
|
|
185
|
+
clearTimeout(debouncedSendTimeout);
|
|
186
|
+
debouncedSendTimeout = null;
|
|
187
|
+
}
|
|
188
|
+
const element = currentEditingElement;
|
|
189
|
+
clearInlineEditingMode(element);
|
|
190
|
+
selectedOverlays.forEach((overlay) => {
|
|
191
|
+
overlay.style.display = "";
|
|
192
|
+
});
|
|
193
|
+
repositionSelectedOverlays();
|
|
194
|
+
window.parent.postMessage({
|
|
195
|
+
type: "content-editing-ended",
|
|
196
|
+
visualSelectorId: selectedElementId,
|
|
197
|
+
}, "*");
|
|
198
|
+
currentEditingElement = null;
|
|
199
|
+
};
|
|
200
|
+
const reportInlineEdit = (element) => {
|
|
201
|
+
const originalContent = element.dataset.originalTextContent;
|
|
202
|
+
const newContent = element.textContent;
|
|
203
|
+
const svgElement = element;
|
|
204
|
+
const elementInfo = {
|
|
205
|
+
tagName: element.tagName,
|
|
206
|
+
classes: svgElement.className?.baseVal ||
|
|
207
|
+
element.className ||
|
|
208
|
+
"",
|
|
209
|
+
visualSelectorId: selectedElementId,
|
|
210
|
+
content: newContent,
|
|
211
|
+
dataSourceLocation: element.dataset.sourceLocation,
|
|
212
|
+
isDynamicContent: element.dataset.dynamicContent === "true",
|
|
213
|
+
linenumber: element.dataset.linenumber,
|
|
214
|
+
filename: element.dataset.filename,
|
|
215
|
+
position: (() => {
|
|
216
|
+
const rect = element.getBoundingClientRect();
|
|
217
|
+
return {
|
|
218
|
+
top: rect.top,
|
|
219
|
+
left: rect.left,
|
|
220
|
+
right: rect.right,
|
|
221
|
+
bottom: rect.bottom,
|
|
222
|
+
width: rect.width,
|
|
223
|
+
height: rect.height,
|
|
224
|
+
centerX: rect.left + rect.width / 2,
|
|
225
|
+
centerY: rect.top + rect.height / 2,
|
|
226
|
+
};
|
|
227
|
+
})(),
|
|
228
|
+
};
|
|
229
|
+
window.parent.postMessage({
|
|
230
|
+
type: "inline-edit",
|
|
231
|
+
elementInfo,
|
|
232
|
+
originalContent,
|
|
233
|
+
newContent,
|
|
234
|
+
}, "*");
|
|
235
|
+
element.dataset.originalTextContent = newContent || "";
|
|
236
|
+
};
|
|
237
|
+
const debouncedSendInlineEditMessage = (element) => {
|
|
238
|
+
if (debouncedSendTimeout) {
|
|
239
|
+
clearTimeout(debouncedSendTimeout);
|
|
240
|
+
}
|
|
241
|
+
debouncedSendTimeout = setTimeout(() => {
|
|
242
|
+
reportInlineEdit(element);
|
|
243
|
+
}, INLINE_EDIT_DEBOUNCE_MS);
|
|
244
|
+
};
|
|
245
|
+
const onTextInputChange = (element) => {
|
|
246
|
+
repositionSelectedOverlays();
|
|
247
|
+
debouncedSendInlineEditMessage(element);
|
|
248
|
+
};
|
|
249
|
+
const clearSelection = () => {
|
|
250
|
+
if (selectedElementId) {
|
|
251
|
+
const elements = findElementsById(selectedElementId);
|
|
252
|
+
elements.forEach((el) => {
|
|
253
|
+
if (el instanceof HTMLElement) {
|
|
254
|
+
delete el.dataset.selected;
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
selectedOverlays.forEach((overlay) => {
|
|
259
|
+
if (overlay && overlay.parentNode) {
|
|
260
|
+
overlay.remove();
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
selectedOverlays = [];
|
|
264
|
+
selectedElementId = null;
|
|
265
|
+
};
|
|
60
266
|
// Clear hover overlays
|
|
61
267
|
const clearHoverOverlays = () => {
|
|
62
268
|
hoverOverlays.forEach((overlay) => {
|
|
@@ -131,6 +337,9 @@ export function setupVisualEditAgent() {
|
|
|
131
337
|
const handleMouseOver = (e) => {
|
|
132
338
|
if (!isVisualEditMode || isPopoverDragging)
|
|
133
339
|
return;
|
|
340
|
+
// Skip hover effects when inline editing
|
|
341
|
+
if (currentEditingElement)
|
|
342
|
+
return;
|
|
134
343
|
const target = e.target;
|
|
135
344
|
// Prevent hover effects when a dropdown is open
|
|
136
345
|
if (isDropdownOpen) {
|
|
@@ -184,6 +393,18 @@ export function setupVisualEditAgent() {
|
|
|
184
393
|
// Let layer dropdown clicks pass through without interference
|
|
185
394
|
if (target.closest(`[${LAYER_DROPDOWN_ATTR}]`))
|
|
186
395
|
return;
|
|
396
|
+
// Allow normal editing when clicking inside a contentEditable element
|
|
397
|
+
if (isInlineEditExperimentEnabled && target instanceof HTMLElement && target.contentEditable === "true") {
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
// If currently editing, clicking outside should exit editing mode
|
|
401
|
+
if (currentEditingElement) {
|
|
402
|
+
e.preventDefault();
|
|
403
|
+
e.stopPropagation();
|
|
404
|
+
e.stopImmediatePropagation();
|
|
405
|
+
handleClearInlineEditingMode();
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
187
408
|
// Close dropdowns when clicking anywhere in iframe if a dropdown is open
|
|
188
409
|
if (isDropdownOpen) {
|
|
189
410
|
e.preventDefault();
|
|
@@ -205,13 +426,38 @@ export function setupVisualEditAgent() {
|
|
|
205
426
|
if (!element) {
|
|
206
427
|
return;
|
|
207
428
|
}
|
|
429
|
+
const htmlElement = element;
|
|
430
|
+
const visualSelectorId = getElementSelectorId(element);
|
|
431
|
+
// Check if this element is already selected (second click scenario)
|
|
432
|
+
const isAlreadySelected = selectedElementId === visualSelectorId &&
|
|
433
|
+
htmlElement.dataset.selected === "true";
|
|
434
|
+
if (isAlreadySelected) {
|
|
435
|
+
if (isInlineEditExperimentEnabled && shouldEnterInlineEditingMode(htmlElement)) {
|
|
436
|
+
handleEnterInlineEditingMode(htmlElement);
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
// Select the element, mark for inline editing, and attach layer dropdown
|
|
441
|
+
if (currentEditingElement) {
|
|
442
|
+
handleClearInlineEditingMode();
|
|
443
|
+
}
|
|
444
|
+
if (isInlineEditExperimentEnabled) {
|
|
445
|
+
const elements = findElementsById(visualSelectorId);
|
|
446
|
+
elements.forEach((el) => {
|
|
447
|
+
if (el instanceof HTMLElement) {
|
|
448
|
+
el.dataset.selected = "true";
|
|
449
|
+
}
|
|
450
|
+
});
|
|
451
|
+
}
|
|
208
452
|
const selectedOverlay = selectElement(element);
|
|
209
453
|
layerController.attachToOverlay(selectedOverlay, element);
|
|
210
454
|
};
|
|
211
|
-
//
|
|
212
|
-
const
|
|
213
|
-
|
|
214
|
-
|
|
455
|
+
// Unselect the current element
|
|
456
|
+
const unselectElement = () => {
|
|
457
|
+
if (currentEditingElement) {
|
|
458
|
+
handleClearInlineEditingMode();
|
|
459
|
+
}
|
|
460
|
+
clearSelection();
|
|
215
461
|
};
|
|
216
462
|
const updateElementClassesAndReposition = (visualSelectorId, classes) => {
|
|
217
463
|
const elements = findElementsById(visualSelectorId);
|
|
@@ -240,7 +486,7 @@ export function setupVisualEditAgent() {
|
|
|
240
486
|
});
|
|
241
487
|
}
|
|
242
488
|
}
|
|
243
|
-
},
|
|
489
|
+
}, REPOSITION_DELAY_MS);
|
|
244
490
|
};
|
|
245
491
|
// Update element attribute by visual selector ID
|
|
246
492
|
const updateElementAttributeAndReposition = (visualSelectorId, attribute, value) => {
|
|
@@ -257,7 +503,7 @@ export function setupVisualEditAgent() {
|
|
|
257
503
|
}
|
|
258
504
|
});
|
|
259
505
|
}
|
|
260
|
-
},
|
|
506
|
+
}, REPOSITION_DELAY_MS);
|
|
261
507
|
};
|
|
262
508
|
// Update element content by visual selector ID
|
|
263
509
|
const updateElementContent = (visualSelectorId, content) => {
|
|
@@ -276,7 +522,7 @@ export function setupVisualEditAgent() {
|
|
|
276
522
|
}
|
|
277
523
|
});
|
|
278
524
|
}
|
|
279
|
-
},
|
|
525
|
+
}, REPOSITION_DELAY_MS);
|
|
280
526
|
};
|
|
281
527
|
// --- Layer dropdown controller ---
|
|
282
528
|
const layerController = createLayerController({
|
|
@@ -295,11 +541,14 @@ export function setupVisualEditAgent() {
|
|
|
295
541
|
const toggleVisualEditMode = (isEnabled) => {
|
|
296
542
|
isVisualEditMode = isEnabled;
|
|
297
543
|
if (!isEnabled) {
|
|
544
|
+
if (currentEditingElement) {
|
|
545
|
+
handleClearInlineEditingMode();
|
|
546
|
+
}
|
|
547
|
+
clearSelection();
|
|
298
548
|
layerController.cleanup();
|
|
299
549
|
clearHoverOverlays();
|
|
300
550
|
clearSelectedOverlays();
|
|
301
551
|
currentHighlightedElements = [];
|
|
302
|
-
selectedElementId = null;
|
|
303
552
|
document.body.style.cursor = "default";
|
|
304
553
|
document.removeEventListener("mouseover", handleMouseOver);
|
|
305
554
|
document.removeEventListener("mouseout", handleMouseOut);
|
|
@@ -350,6 +599,9 @@ export function setupVisualEditAgent() {
|
|
|
350
599
|
switch (message.type) {
|
|
351
600
|
case "toggle-visual-edit-mode":
|
|
352
601
|
toggleVisualEditMode(message.data.enabled);
|
|
602
|
+
if (message.data.specs?.newInlineEditEnabled !== undefined) {
|
|
603
|
+
isInlineEditExperimentEnabled = message.data.specs.newInlineEditEnabled;
|
|
604
|
+
}
|
|
353
605
|
break;
|
|
354
606
|
case "update-classes":
|
|
355
607
|
if (message.data && message.data.classes !== undefined) {
|
|
@@ -371,7 +623,7 @@ export function setupVisualEditAgent() {
|
|
|
371
623
|
}
|
|
372
624
|
break;
|
|
373
625
|
case "unselect-element":
|
|
374
|
-
|
|
626
|
+
unselectElement();
|
|
375
627
|
break;
|
|
376
628
|
case "refresh-page":
|
|
377
629
|
window.location.reload();
|
|
@@ -431,6 +683,47 @@ export function setupVisualEditAgent() {
|
|
|
431
683
|
}
|
|
432
684
|
}
|
|
433
685
|
break;
|
|
686
|
+
case "toggle-inline-edit-mode":
|
|
687
|
+
if (!isInlineEditExperimentEnabled)
|
|
688
|
+
break;
|
|
689
|
+
if (!message.data || !message.data.dataSourceLocation)
|
|
690
|
+
break;
|
|
691
|
+
{
|
|
692
|
+
const elements = findElementsById(message.data.dataSourceLocation);
|
|
693
|
+
if (elements.length === 0 || !(elements[0] instanceof HTMLElement))
|
|
694
|
+
break;
|
|
695
|
+
const element = elements[0];
|
|
696
|
+
if (message.data.inlineEditingMode) {
|
|
697
|
+
if (shouldEnterInlineEditingMode(element)) {
|
|
698
|
+
// Select the element first if not already selected
|
|
699
|
+
if (selectedElementId !== message.data.dataSourceLocation) {
|
|
700
|
+
if (currentEditingElement) {
|
|
701
|
+
handleClearInlineEditingMode();
|
|
702
|
+
}
|
|
703
|
+
clearSelection();
|
|
704
|
+
elements.forEach((el) => {
|
|
705
|
+
if (el instanceof HTMLElement) {
|
|
706
|
+
el.dataset.selected = "true";
|
|
707
|
+
}
|
|
708
|
+
});
|
|
709
|
+
elements.forEach((el) => {
|
|
710
|
+
const overlay = createOverlay(true);
|
|
711
|
+
document.body.appendChild(overlay);
|
|
712
|
+
selectedOverlays.push(overlay);
|
|
713
|
+
positionOverlay(overlay, el, true);
|
|
714
|
+
});
|
|
715
|
+
selectedElementId = message.data.dataSourceLocation;
|
|
716
|
+
}
|
|
717
|
+
handleEnterInlineEditingMode(element);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
else {
|
|
721
|
+
if (currentEditingElement === element) {
|
|
722
|
+
handleClearInlineEditingMode();
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
break;
|
|
434
727
|
default:
|
|
435
728
|
break;
|
|
436
729
|
}
|
|
@@ -485,7 +778,7 @@ export function setupVisualEditAgent() {
|
|
|
485
778
|
return isLayoutChange && hasVisualId(mutation.target);
|
|
486
779
|
});
|
|
487
780
|
if (needsUpdate) {
|
|
488
|
-
setTimeout(handleResize,
|
|
781
|
+
setTimeout(handleResize, REPOSITION_DELAY_MS);
|
|
489
782
|
}
|
|
490
783
|
});
|
|
491
784
|
// Set up event listeners
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visual-edit-agent.js","sourceRoot":"","sources":["../../src/injections/visual-edit-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visual-edit-agent.js","sourceRoot":"","sources":["../../src/injections/visual-edit-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/statics/index.mjs
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
function W(e){let n=e;return!!(n.dataset?.sourceLocation||n.dataset?.visualSelectorId)}function L(e){let n=e;return n.dataset?.sourceLocation||n.dataset?.visualSelectorId||null}var V=["src"];function D(e){if(!e)return[];let n=Array.from(document.querySelectorAll(`[data-source-location="${e}"]`));return n.length>0?n:Array.from(document.querySelectorAll(`[data-visual-selector-id="${e}"]`))}function F(e,n){e.forEach(r=>{r.setAttribute("class",n)})}function q(e,n,r){V.includes(n)&&e.forEach(i=>{i.setAttribute(n,r)})}function K(e,n){let r={};for(let i of n){let l=e.getAttribute(i);l!==null&&(r[i]=l)}return r}var U={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"},j={padding:"4px 12px",cursor:"pointer",color:"#334155",backgroundColor:"transparent",whiteSpace:"nowrap",lineHeight:"1.5",fontWeight:"400"},P="#526cff",Z="#DBEAFE",J="600",B="#f1f5f9",Q=10,x=" \u25BE",A=" \u25B4",ee=12,M="data-layer-dropdown",te=2,ne=2;function X(e,n){for(let r of Object.keys(n))e.style.setProperty(r.replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`),n[r])}function oe(e){return e.tagName}function $(e,n){let r={element:e,tagName:e.tagName.toLowerCase(),selectorId:L(e)};return n!==void 0&&(r.depth=n),r}function re(e,n,r){let i=[];function l(a,d){if(!(d>n))for(let u=0;u<a.children.length;u++){let E=a.children[u];if(W(E)){let f={element:E,tagName:E.tagName.toLowerCase(),selectorId:L(E)};r!==void 0&&(f.depth=r+d-1),i.push(f),l(E,d+1)}else l(E,d)}}return l(e,1),i}function ye(e){let n=[],r=e.parentElement;for(;r&&r!==document.documentElement&&r!==document.body&&n.length<te;)W(r)&&n.push($(r)),r=r.parentElement;return n.reverse(),n}function Le(e,n){return n.forEach((r,i)=>{e.push({...r,depth:i})}),n.length}function se(e,n,r){e.push($(n,r));let i=re(n,ne,r+1);e.push(...i)}function we(e){return e.at(-1)?.element??null}function Ie(e,n){let r=re(e,1);return r.some(i=>i.element===n)||r.push($(n)),r}function De(e,n,r,i){let l=L(r),a=new Set;for(let d of n)if(d.element===r)se(e,r,i),l&&a.add(l);else{let u=d.selectorId;if(u!=null){if(u===l||a.has(u))continue;a.add(u)}e.push({...d,depth:i})}}function ie(e){let n=ye(e),r=[],i=Le(r,n),l=we(n);if(l){let a=Ie(l,e);De(r,a,e,i)}else se(r,e,i);return r}var N=null,_=null,S=null,R=null,H=null;function be(e,n,{onSelect:r,onHover:i,onHoverEnd:l}){let a=document.createElement("div");a.textContent=oe(e),X(a,j);let d=e.depth??0;return d>0&&(a.style.paddingLeft=`${ee+d*Q}px`),n&&(a.style.color=P,a.style.backgroundColor=Z,a.style.fontWeight=J),a.addEventListener("mouseenter",()=>{n||(a.style.backgroundColor=B),i&&i(e)}),a.addEventListener("mouseleave",()=>{n||(a.style.backgroundColor="transparent"),l&&l()}),a.addEventListener("click",u=>{u.stopPropagation(),u.preventDefault(),r(e)}),a}function Te(e,n,r){let i=document.createElement("div");return i.setAttribute(M,"true"),X(i,U),e.forEach(l=>{let a=l.element===n;i.appendChild(be(l,a,r))}),i}function le(e){let n=e.textContent??"";n.endsWith(x)||n.endsWith(A)||(e.textContent=n+x,e.style.cursor="pointer",e.style.userSelect="none",e.style.whiteSpace="nowrap",e.style.pointerEvents="auto",e.setAttribute(M,"true"))}function Ce(e,n,r,{onSelect:i,onHover:l,onHoverEnd:a}){let d=Array.from(e.children),u=n.findIndex(f=>f.element===r),E=f=>{if(u>=0&&u<d.length){let v=d[u];v.style.color!==P&&(v.style.backgroundColor="transparent")}if(u=f,u>=0&&u<d.length){let v=d[u];v.style.color!==P&&(v.style.backgroundColor=B),v.scrollIntoView({block:"nearest"}),l&&u>=0&&u<n.length&&l(n[u])}};H=f=>{f.key==="ArrowDown"?(f.preventDefault(),f.stopPropagation(),E(u<d.length-1?u+1:0)):f.key==="ArrowUp"?(f.preventDefault(),f.stopPropagation(),E(u>0?u-1:d.length-1)):f.key==="Enter"&&u>=0&&u<n.length&&(f.preventDefault(),f.stopPropagation(),a&&a(),i(n[u]),b())},document.addEventListener("keydown",H,!0)}function Oe(e,n){let r=!0;S=i=>{if(r){r=!1;return}let l=i.target;!e.contains(l)&&l!==n&&b()},document.addEventListener("mousedown",S,!0)}function ae(e,n,r,i){b();let l=Te(n,r,{...i,onSelect:d=>{i.onHoverEnd&&i.onHoverEnd(),i.onSelect(d),b()}}),a=e.parentElement;a&&(l.style.top=`${e.offsetTop+e.offsetHeight+2}px`,l.style.left=`${e.offsetLeft}px`,a.appendChild(l),N=l,_=e,e.textContent?.endsWith(x.trim())&&(e.textContent=e.textContent.slice(0,-x.length)+A),R=i.onHoverEnd??null,Ce(l,n,r,i),Oe(l,e))}function b(){_?.textContent?.includes(A)&&(_.textContent=_.textContent.replace(A,x)),_=null,R&&(R(),R=null),N&&N.parentNode&&N.remove(),N=null,S&&(document.removeEventListener("mousedown",S,!0),S=null),H&&(document.removeEventListener("keydown",H,!0),H=null)}function de(){return N!==null}function ce(e){let n=null,r=null,i=null,l=()=>{n&&n.parentNode&&n.remove(),n=null},a=g=>{l(),L(g.element)!==e.getSelectedElementId()&&(n=e.createPreviewOverlay(g.element))},d=g=>{l(),b(),r&&(document.removeEventListener("keydown",r,!0),r=null),i=null;let w=e.selectElement(g.element);f(w,g.element)},u=()=>{r&&(document.removeEventListener("keydown",r,!0),r=null),i&&(d(i),i=null)},E=(g,w,y,C,O)=>{g.stopPropagation(),g.preventDefault(),de()?(b(),u()):(i={element:y,tagName:y.tagName.toLowerCase(),selectorId:O},e.onDeselect(),r=T=>{T.key==="Escape"&&(T.stopPropagation(),b(),u())},document.addEventListener("keydown",r,!0),ae(w,C,y,{onSelect:d,onHover:a,onHoverEnd:l}))},f=(g,w)=>{if(!g)return;let y=g.querySelector("div");if(!y)return;let C=ie(w);if(C.length<=1)return;let O=L(w);le(y),y.addEventListener("click",T=>{E(T,y,w,C,O)})};return{attachToOverlay:f,cleanup:()=>{l(),b()}}}function xe(){let e=!1,n=!1,r=!1,i=[],l=[],a=[],d=null,u=(o=!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",o?t.style.border="2px solid #2563EB":(t.style.border="2px solid #95a5fc",t.style.backgroundColor="rgba(99, 102, 241, 0.05)"),t},E=(o,t,s=!1)=>{if(!t||!e)return;t.offsetWidth;let c=t.getBoundingClientRect();o.style.top=`${c.top+window.scrollY}px`,o.style.left=`${c.left+window.scrollX}px`,o.style.width=`${c.width}px`,o.style.height=`${c.height}px`;let p=o.querySelector("div");p||(p=document.createElement("div"),p.textContent=t.tagName.toLowerCase(),p.style.position="absolute",p.style.top="-27px",p.style.left="-2px",p.style.padding="2px 8px",p.style.fontSize="11px",p.style.fontWeight=s?"500":"400",p.style.color=s?"#ffffff":"#526cff",p.style.backgroundColor=s?"#526cff":"#DBEAFE",p.style.borderRadius="3px",p.style.minWidth="24px",p.style.textAlign="center",o.appendChild(p))},f=()=>{i.forEach(o=>{o&&o.parentNode&&o.remove()}),i=[],a=[]},v=()=>{l.forEach(o=>{o&&o.parentNode&&o.remove()}),l=[]},g=["p","h1","h2","h3","h4","h5","h6","span","a","label"],w=o=>{let t=o,s=o.getBoundingClientRect(),m=o,c=g.includes(o.tagName?.toLowerCase());window.parent.postMessage({type:"element-selected",tagName:o.tagName,classes:m.className?.baseVal||o.className||"",visualSelectorId:L(o),content:c?t.innerText:void 0,dataSourceLocation:t.dataset.sourceLocation,isDynamicContent:t.dataset.dynamicContent==="true",linenumber:t.dataset.linenumber,filename:t.dataset.filename,position:{top:s.top,left:s.left,right:s.right,bottom:s.bottom,width:s.width,height:s.height,centerX:s.left+s.width/2,centerY:s.top+s.height/2},attributes:K(o,V),isTextElement:c},"*")},y=o=>{let t=L(o);return v(),D(t||null).forEach(m=>{let c=u(!0);document.body.appendChild(c),l.push(c),E(c,m,!0)}),d=t||null,f(),w(o),l[0]},C=()=>{d=null,window.parent.postMessage({type:"unselect-element"},"*")},O=o=>{if(!e||n)return;let t=o.target;if(r){f();return}if(t.tagName.toLowerCase()==="path"){f();return}let s=t.closest("[data-source-location], [data-visual-selector-id]");if(!s){f();return}let m=s,c=m.dataset.sourceLocation||m.dataset.visualSelectorId;if(d===c){f();return}let p=D(c||null);f(),p.forEach(h=>{let I=u(!1);document.body.appendChild(I),i.push(I),E(I,h)}),a=p},T=()=>{n||f()},Y=o=>{if(!e)return;let t=o.target;if(t.closest(`[${M}]`))return;if(r){o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation(),window.parent.postMessage({type:"close-dropdowns"},"*");return}if(t.tagName.toLowerCase()==="path")return;o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation();let s=t.closest("[data-source-location], [data-visual-selector-id]");if(!s)return;let m=y(s);G.attachToOverlay(m,s)},ue=()=>{v(),d=null},fe=(o,t)=>{let s=D(o);s.length!==0&&(F(s,t),setTimeout(()=>{d===o&&l.forEach((m,c)=>{c<s.length&&E(m,s[c])}),a.length>0&&a[0]?.dataset?.visualSelectorId===o&&i.forEach((p,h)=>{h<a.length&&E(p,a[h])})},50))},pe=(o,t,s)=>{let m=D(o);m.length!==0&&(q(m,t,s),setTimeout(()=>{d===o&&l.forEach((c,p)=>{p<m.length&&E(c,m[p])})},50))},me=(o,t)=>{let s=D(o);s.length!==0&&(s.forEach(m=>{m.innerText=t}),setTimeout(()=>{d===o&&l.forEach((m,c)=>{c<s.length&&E(m,s[c])})},50))},G=ce({createPreviewOverlay:o=>{let t=u(!1);return t.style.zIndex="9998",document.body.appendChild(t),E(t,o),t},getSelectedElementId:()=>d,selectElement:y,onDeselect:C}),Ee=o=>{e=o,o?(document.body.style.cursor="crosshair",document.addEventListener("mouseover",O),document.addEventListener("mouseout",T),document.addEventListener("click",Y,!0)):(G.cleanup(),f(),v(),a=[],d=null,document.body.style.cursor="default",document.removeEventListener("mouseover",O),document.removeEventListener("mouseout",T),document.removeEventListener("click",Y,!0))},z=()=>{if(d){let o=D(d);if(o.length>0){let s=o[0].getBoundingClientRect(),m=window.innerHeight,c=window.innerWidth,p=s.top<m&&s.bottom>0&&s.left<c&&s.right>0,h={top:s.top,left:s.left,right:s.right,bottom:s.bottom,width:s.width,height:s.height,centerX:s.left+s.width/2,centerY:s.top+s.height/2};window.parent.postMessage({type:"element-position-update",position:h,isInViewport:p,visualSelectorId:d},"*")}}},ge=o=>{let t=o.data;switch(t.type){case"toggle-visual-edit-mode":Ee(t.data.enabled);break;case"update-classes":t.data&&t.data.classes!==void 0?fe(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":ue();break;case"refresh-page":window.location.reload();break;case"update-content":t.data&&t.data.content!==void 0?me(t.data.visualSelectorId,t.data.content):console.warn("[VisualEditAgent] Invalid update-content message:",t);break;case"request-element-position":if(d){let s=D(d);if(s.length>0){let c=s[0].getBoundingClientRect(),p=window.innerHeight,h=window.innerWidth,I=c.top<p&&c.bottom>0&&c.left<h&&c.right>0,ve={top:c.top,left:c.left,right:c.right,bottom:c.bottom,width:c.width,height:c.height,centerX:c.left+c.width/2,centerY:c.top+c.height/2};window.parent.postMessage({type:"element-position-update",position:ve,isInViewport:I,visualSelectorId:d},"*")}}break;case"popover-drag-state":t.data&&t.data.isDragging!==void 0&&(n=t.data.isDragging,t.data.isDragging&&f());break;case"dropdown-state":t.data&&t.data.isOpen!==void 0&&(r=t.data.isOpen,t.data.isOpen&&f());break;default:break}},k=()=>{if(d){let o=D(d);l.forEach((t,s)=>{s<o.length&&E(t,o[s])})}a.length>0&&i.forEach((o,t)=>{t<a.length&&E(o,a[t])})};document.querySelectorAll("[data-linenumber]:not([data-visual-selector-id])").forEach((o,t)=>{let s=o,m=`visual-id-${s.dataset.filename}-${s.dataset.linenumber}-${t}`;s.dataset.visualSelectorId=m});let he=new MutationObserver(o=>{o.some(s=>{let m=p=>{if(p.nodeType===Node.ELEMENT_NODE){let h=p;if(h.dataset&&h.dataset.visualSelectorId)return!0;for(let I=0;I<h.children.length;I++)if(m(h.children[I]))return!0}return!1};return s.type==="attributes"&&(s.attributeName==="style"||s.attributeName==="class"||s.attributeName==="width"||s.attributeName==="height")&&m(s.target)})&&setTimeout(k,50)});window.addEventListener("message",ge),window.addEventListener("scroll",z,!0),document.addEventListener("scroll",z,!0),window.addEventListener("resize",k),window.addEventListener("scroll",k),he.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class","width","height"]}),window.parent.postMessage({type:"visual-edit-agent-ready"},"*")}export{xe as setupVisualEditAgent};
|
|
1
|
+
function Y(o){let r=o;return!!(r.dataset?.sourceLocation||r.dataset?.visualSelectorId)}function I(o){let r=o;return r.dataset?.sourceLocation||r.dataset?.visualSelectorId||null}var $=["src"];function L(o){if(!o)return[];let r=Array.from(document.querySelectorAll(`[data-source-location="${o}"]`));return r.length>0?r:Array.from(document.querySelectorAll(`[data-visual-selector-id="${o}"]`))}function oe(o,r){o.forEach(s=>{s.setAttribute("class",r)})}function re(o,r,s){$.includes(r)&&o.forEach(i=>{i.setAttribute(r,s)})}function se(o,r){let s={};for(let i of r){let a=o.getAttribute(i);a!==null&&(s[i]=a)}return s}var ie={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"},ae={padding:"4px 12px",cursor:"pointer",color:"#334155",backgroundColor:"transparent",whiteSpace:"nowrap",lineHeight:"1.5",fontWeight:"400"},W="#526cff",le="#DBEAFE",de="600",G="#f1f5f9",ce=10,x=" \u25BE",N=" \u25B4",ue=12,A="data-layer-dropdown",fe=2,pe=2;function F(o,r){for(let s of Object.keys(r))o.style.setProperty(s.replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`),r[s])}function me(o){return o.tagName}function q(o,r){let s={element:o,tagName:o.tagName.toLowerCase(),selectorId:I(o)};return r!==void 0&&(s.depth=r),s}function Ee(o,r,s){let i=[];function a(f,d){if(!(d>r))for(let u=0;u<f.children.length;u++){let E=f.children[u];if(Y(E)){let m={element:E,tagName:E.tagName.toLowerCase(),selectorId:I(E)};s!==void 0&&(m.depth=s+d-1),i.push(m),a(E,d+1)}else a(E,d)}}return a(o,1),i}function Be(o){let r=[],s=o.parentElement;for(;s&&s!==document.documentElement&&s!==document.body&&r.length<fe;)Y(s)&&r.push(q(s)),s=s.parentElement;return r.reverse(),r}function Xe(o,r){return r.forEach((s,i)=>{o.push({...s,depth:i})}),r.length}function ge(o,r,s){o.push(q(r,s));let i=Ee(r,pe,s+1);o.push(...i)}function Ye(o){return o.at(-1)?.element??null}function $e(o,r){let s=Ee(o,1);return s.some(i=>i.element===r)||s.push(q(r)),s}function Ge(o,r,s,i){let a=I(s),f=new Set;for(let d of r)if(d.element===s)ge(o,s,i),a&&f.add(a);else{let u=d.selectorId;if(u!=null){if(u===a||f.has(u))continue;f.add(u)}o.push({...d,depth:i})}}function he(o){let r=Be(o),s=[],i=Xe(s,r),a=Ye(r);if(a){let f=$e(a,o);Ge(s,f,o,i)}else ge(s,o,i);return s}var O=null,_=null,P=null,V=null,R=null;function Fe(o,r,{onSelect:s,onHover:i,onHoverEnd:a}){let f=document.createElement("div");f.textContent=me(o),F(f,ae);let d=o.depth??0;return d>0&&(f.style.paddingLeft=`${ue+d*ce}px`),r&&(f.style.color=W,f.style.backgroundColor=le,f.style.fontWeight=de),f.addEventListener("mouseenter",()=>{r||(f.style.backgroundColor=G),i&&i(o)}),f.addEventListener("mouseleave",()=>{r||(f.style.backgroundColor="transparent"),a&&a()}),f.addEventListener("click",u=>{u.stopPropagation(),u.preventDefault(),s(o)}),f}function qe(o,r,s){let i=document.createElement("div");return i.setAttribute(A,"true"),F(i,ie),o.forEach(a=>{let f=a.element===r;i.appendChild(Fe(a,f,s))}),i}function ve(o){let r=o.textContent??"";r.endsWith(x)||r.endsWith(N)||(o.textContent=r+x,o.style.cursor="pointer",o.style.userSelect="none",o.style.whiteSpace="nowrap",o.style.pointerEvents="auto",o.setAttribute(A,"true"))}function ze(o,r,s,{onSelect:i,onHover:a,onHoverEnd:f}){let d=Array.from(o.children),u=r.findIndex(m=>m.element===s),E=m=>{if(u>=0&&u<d.length){let C=d[u];C.style.color!==W&&(C.style.backgroundColor="transparent")}if(u=m,u>=0&&u<d.length){let C=d[u];C.style.color!==W&&(C.style.backgroundColor=G),C.scrollIntoView({block:"nearest"}),a&&u>=0&&u<r.length&&a(r[u])}};R=m=>{m.key==="ArrowDown"?(m.preventDefault(),m.stopPropagation(),E(u<d.length-1?u+1:0)):m.key==="ArrowUp"?(m.preventDefault(),m.stopPropagation(),E(u>0?u-1:d.length-1)):m.key==="Enter"&&u>=0&&u<r.length&&(m.preventDefault(),m.stopPropagation(),f&&f(),i(r[u]),D())},document.addEventListener("keydown",R,!0)}function Ke(o,r){let s=!0;P=i=>{if(s){s=!1;return}let a=i.target;!o.contains(a)&&a!==r&&D()},document.addEventListener("mousedown",P,!0)}function ye(o,r,s,i){D();let a=qe(r,s,{...i,onSelect:d=>{i.onHoverEnd&&i.onHoverEnd(),i.onSelect(d),D()}}),f=o.parentElement;f&&(a.style.top=`${o.offsetTop+o.offsetHeight+2}px`,a.style.left=`${o.offsetLeft}px`,f.appendChild(a),O=a,_=o,o.textContent?.endsWith(x.trim())&&(o.textContent=o.textContent.slice(0,-x.length)+N),V=i.onHoverEnd??null,ze(a,r,s,i),Ke(a,o))}function D(){_?.textContent?.includes(N)&&(_.textContent=_.textContent.replace(N,x)),_=null,V&&(V(),V=null),O&&O.parentNode&&O.remove(),O=null,P&&(document.removeEventListener("mousedown",P,!0),P=null),R&&(document.removeEventListener("keydown",R,!0),R=null)}function Le(){return O!==null}function we(o){let r=null,s=null,i=null,a=()=>{r&&r.parentNode&&r.remove(),r=null},f=g=>{a(),I(g.element)!==o.getSelectedElementId()&&(r=o.createPreviewOverlay(g.element))},d=g=>{a(),D(),s&&(document.removeEventListener("keydown",s,!0),s=null),i=null;let w=o.selectElement(g.element);m(w,g.element)},u=()=>{s&&(document.removeEventListener("keydown",s,!0),s=null),i&&(d(i),i=null)},E=(g,w,y,h,H)=>{g.stopPropagation(),g.preventDefault(),Le()?(D(),u()):(i={element:y,tagName:y.tagName.toLowerCase(),selectorId:H},o.onDeselect(),s=M=>{M.key==="Escape"&&(M.stopPropagation(),D(),u())},document.addEventListener("keydown",s,!0),ye(w,h,y,{onSelect:d,onHover:f,onHoverEnd:a}))},m=(g,w)=>{if(!g)return;let y=g.querySelector("div");if(!y)return;let h=he(w);if(h.length<=1)return;let H=I(w);ve(y),y.addEventListener("click",M=>{E(M,y,w,h,H)})};return{attachToOverlay:m,cleanup:()=>{a(),D()}}}function Ue(){let o=!1,r=!1,s=!1,i=[],a=[],f=[],d=null,u=null,E=null,m=!1,C=500,g=50,w=new WeakMap,y=(e=!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",e?t.style.border="2px solid #2563EB":(t.style.border="2px solid #95a5fc",t.style.backgroundColor="rgba(99, 102, 241, 0.05)"),t},h=(e,t,n=!1)=>{if(!t||!o)return;t.offsetWidth;let l=t.getBoundingClientRect();e.style.top=`${l.top+window.scrollY}px`,e.style.left=`${l.left+window.scrollX}px`,e.style.width=`${l.width}px`,e.style.height=`${l.height}px`;let c=e.querySelector("div");c||(c=document.createElement("div"),c.textContent=t.tagName.toLowerCase(),c.style.position="absolute",c.style.top="-27px",c.style.left="-2px",c.style.padding="2px 8px",c.style.fontSize="11px",c.style.fontWeight=n?"500":"400",c.style.color=n?"#ffffff":"#526cff",c.style.backgroundColor=n?"#526cff":"#DBEAFE",c.style.borderRadius="3px",c.style.minWidth="24px",c.style.textAlign="center",e.appendChild(c))},H=()=>{if(document.getElementById("visual-edit-focus-styles"))return;let t=document.createElement("style");t.id="visual-edit-focus-styles",t.textContent=`
|
|
2
|
+
[data-selected="true"][contenteditable="true"]:focus {
|
|
3
|
+
outline: none !important;
|
|
4
|
+
}
|
|
5
|
+
`,document.head.appendChild(t)},M=()=>{let e=document.getElementById("visual-edit-focus-styles");e&&e.remove()},Ie=e=>{let t=document.createRange();t.selectNodeContents(e);let n=window.getSelection();n?.removeAllRanges(),n?.addRange(t)},Te=e=>!(!(e instanceof HTMLElement)||!["div","p","h1","h2","h3","h4","h5","h6","span","li","td","a","button","label"].includes(e.tagName.toLowerCase())||(e.textContent?.trim()||"").length===0||e.querySelector("img, video, canvas, svg")!==null||e.children.length>0||e.dataset.dynamicContent==="true"),z=e=>!(e instanceof HTMLElement)||e.dataset.selected!=="true"?!1:Te(e),be=function(){xe(this)},Ce=e=>{H(),e.dataset.originalTextContent=e.textContent||"",e.dataset.originalCursor=e.style.cursor,e.contentEditable="true";let t=new AbortController;w.set(e,t),e.addEventListener("input",be,{signal:t.signal}),e.style.cursor="text",Ie(e),setTimeout(()=>{e.focus()},0)},De=e=>{let t=w.get(e);t&&(t.abort(),w.delete(e)),e.isConnected&&(M(),e.contentEditable="false",delete e.dataset.originalTextContent,e.dataset.originalCursor!==void 0&&(e.style.cursor=e.dataset.originalCursor,delete e.dataset.originalCursor))},K=()=>{if(d){let e=L(d);a.forEach((t,n)=>{n<e.length&&h(t,e[n])})}},U=e=>{u=e,a.forEach(t=>{t.style.display="none"}),Ce(e),window.parent.postMessage({type:"content-editing-started",visualSelectorId:d},"*")},S=()=>{if(!u)return;E&&(clearTimeout(E),E=null),De(u),a.forEach(t=>{t.style.display=""}),K(),window.parent.postMessage({type:"content-editing-ended",visualSelectorId:d},"*"),u=null},Me=e=>{let t=e.dataset.originalTextContent,n=e.textContent,p=e,l={tagName:e.tagName,classes:p.className?.baseVal||e.className||"",visualSelectorId:d,content:n,dataSourceLocation:e.dataset.sourceLocation,isDynamicContent:e.dataset.dynamicContent==="true",linenumber:e.dataset.linenumber,filename:e.dataset.filename,position:(()=>{let c=e.getBoundingClientRect();return{top:c.top,left:c.left,right:c.right,bottom:c.bottom,width:c.width,height:c.height,centerX:c.left+c.width/2,centerY:c.top+c.height/2}})()};window.parent.postMessage({type:"inline-edit",elementInfo:l,originalContent:t,newContent:n},"*"),e.dataset.originalTextContent=n||""},Se=e=>{E&&clearTimeout(E),E=setTimeout(()=>{Me(e)},C)},xe=e=>{K(),Se(e)},B=()=>{d&&L(d).forEach(t=>{t instanceof HTMLElement&&delete t.dataset.selected}),a.forEach(e=>{e&&e.parentNode&&e.remove()}),a=[],d=null},T=()=>{i.forEach(e=>{e&&e.parentNode&&e.remove()}),i=[],f=[]},j=()=>{a.forEach(e=>{e&&e.parentNode&&e.remove()}),a=[]},Oe=["p","h1","h2","h3","h4","h5","h6","span","a","label"],He=e=>{let t=e,n=e.getBoundingClientRect(),p=e,l=Oe.includes(e.tagName?.toLowerCase());window.parent.postMessage({type:"element-selected",tagName:e.tagName,classes:p.className?.baseVal||e.className||"",visualSelectorId:I(e),content:l?t.innerText:void 0,dataSourceLocation:t.dataset.sourceLocation,isDynamicContent:t.dataset.dynamicContent==="true",linenumber:t.dataset.linenumber,filename:t.dataset.filename,position:{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},attributes:se(e,$),isTextElement:l},"*")},Z=e=>{let t=I(e);return j(),L(t||null).forEach(p=>{let l=y(!0);document.body.appendChild(l),a.push(l),h(l,p,!0)}),d=t||null,T(),He(e),a[0]},Ne=()=>{d=null,window.parent.postMessage({type:"unselect-element"},"*")},J=e=>{if(!o||r||u)return;let t=e.target;if(s){T();return}if(t.tagName.toLowerCase()==="path"){T();return}let n=t.closest("[data-source-location], [data-visual-selector-id]");if(!n){T();return}let p=n,l=p.dataset.sourceLocation||p.dataset.visualSelectorId;if(d===l){T();return}let c=L(l||null);T(),c.forEach(v=>{let b=y(!1);document.body.appendChild(b),i.push(b),h(b,v)}),f=c},Q=()=>{r||T()},ee=e=>{if(!o)return;let t=e.target;if(t.closest(`[${A}]`)||m&&t instanceof HTMLElement&&t.contentEditable==="true")return;if(u){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),S();return}if(s){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),window.parent.postMessage({type:"close-dropdowns"},"*");return}if(t.tagName.toLowerCase()==="path")return;e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();let n=t.closest("[data-source-location], [data-visual-selector-id]");if(!n)return;let p=n,l=I(n);if(d===l&&p.dataset.selected==="true"&&m&&z(p)){U(p);return}u&&S(),m&&L(l).forEach(k=>{k instanceof HTMLElement&&(k.dataset.selected="true")});let v=Z(n);te.attachToOverlay(v,n)},Ae=()=>{u&&S(),B()},_e=(e,t)=>{let n=L(e);n.length!==0&&(oe(n,t),setTimeout(()=>{d===e&&a.forEach((p,l)=>{l<n.length&&h(p,n[l])}),f.length>0&&f[0]?.dataset?.visualSelectorId===e&&i.forEach((c,v)=>{v<f.length&&h(c,f[v])})},g))},Pe=(e,t,n)=>{let p=L(e);p.length!==0&&(re(p,t,n),setTimeout(()=>{d===e&&a.forEach((l,c)=>{c<p.length&&h(l,p[c])})},g))},Re=(e,t)=>{let n=L(e);n.length!==0&&(n.forEach(p=>{p.innerText=t}),setTimeout(()=>{d===e&&a.forEach((p,l)=>{l<n.length&&h(p,n[l])})},g))},te=we({createPreviewOverlay:e=>{let t=y(!1);return t.style.zIndex="9998",document.body.appendChild(t),h(t,e),t},getSelectedElementId:()=>d,selectElement:Z,onDeselect:Ne}),ke=e=>{o=e,e?(document.body.style.cursor="crosshair",document.addEventListener("mouseover",J),document.addEventListener("mouseout",Q),document.addEventListener("click",ee,!0)):(u&&S(),B(),te.cleanup(),T(),j(),f=[],document.body.style.cursor="default",document.removeEventListener("mouseover",J),document.removeEventListener("mouseout",Q),document.removeEventListener("click",ee,!0))},ne=()=>{if(d){let e=L(d);if(e.length>0){let n=e[0].getBoundingClientRect(),p=window.innerHeight,l=window.innerWidth,c=n.top<p&&n.bottom>0&&n.left<l&&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:c,visualSelectorId:d},"*")}}},We=e=>{let t=e.data;switch(t.type){case"toggle-visual-edit-mode":ke(t.data.enabled),t.data.specs?.newInlineEditEnabled!==void 0&&(m=t.data.specs.newInlineEditEnabled);break;case"update-classes":t.data&&t.data.classes!==void 0?_e(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":Ae();break;case"refresh-page":window.location.reload();break;case"update-content":t.data&&t.data.content!==void 0?Re(t.data.visualSelectorId,t.data.content):console.warn("[VisualEditAgent] Invalid update-content message:",t);break;case"request-element-position":if(d){let n=L(d);if(n.length>0){let l=n[0].getBoundingClientRect(),c=window.innerHeight,v=window.innerWidth,b=l.top<c&&l.bottom>0&&l.left<v&&l.right>0,k={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:k,isInViewport:b,visualSelectorId:d},"*")}}break;case"popover-drag-state":t.data&&t.data.isDragging!==void 0&&(r=t.data.isDragging,t.data.isDragging&&T());break;case"dropdown-state":t.data&&t.data.isOpen!==void 0&&(s=t.data.isOpen,t.data.isOpen&&T());break;case"toggle-inline-edit-mode":if(!m||!t.data||!t.data.dataSourceLocation)break;{let n=L(t.data.dataSourceLocation);if(n.length===0||!(n[0]instanceof HTMLElement))break;let p=n[0];t.data.inlineEditingMode?z(p)&&(d!==t.data.dataSourceLocation&&(u&&S(),B(),n.forEach(l=>{l instanceof HTMLElement&&(l.dataset.selected="true")}),n.forEach(l=>{let c=y(!0);document.body.appendChild(c),a.push(c),h(c,l,!0)}),d=t.data.dataSourceLocation),U(p)):u===p&&S()}break;default:break}},X=()=>{if(d){let e=L(d);a.forEach((t,n)=>{n<e.length&&h(t,e[n])})}f.length>0&&i.forEach((e,t)=>{t<f.length&&h(e,f[t])})};document.querySelectorAll("[data-linenumber]:not([data-visual-selector-id])").forEach((e,t)=>{let n=e,p=`visual-id-${n.dataset.filename}-${n.dataset.linenumber}-${t}`;n.dataset.visualSelectorId=p});let Ve=new MutationObserver(e=>{e.some(n=>{let p=c=>{if(c.nodeType===Node.ELEMENT_NODE){let v=c;if(v.dataset&&v.dataset.visualSelectorId)return!0;for(let b=0;b<v.children.length;b++)if(p(v.children[b]))return!0}return!1};return n.type==="attributes"&&(n.attributeName==="style"||n.attributeName==="class"||n.attributeName==="width"||n.attributeName==="height")&&p(n.target)})&&setTimeout(X,g)});window.addEventListener("message",We),window.addEventListener("scroll",ne,!0),document.addEventListener("scroll",ne,!0),window.addEventListener("resize",X),window.addEventListener("scroll",X),Ve.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class","width","height"]}),window.parent.postMessage({type:"visual-edit-agent-ready"},"*")}export{Ue as setupVisualEditAgent};
|
|
2
6
|
//# sourceMappingURL=index.mjs.map
|