@base44-preview/vite-plugin 0.2.22-pr.36.019589c → 0.2.22-pr.36.425440e

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.
Files changed (40) hide show
  1. package/dist/injections/layer-dropdown/consts.d.ts +3 -0
  2. package/dist/injections/layer-dropdown/consts.d.ts.map +1 -1
  3. package/dist/injections/layer-dropdown/consts.js +3 -0
  4. package/dist/injections/layer-dropdown/consts.js.map +1 -1
  5. package/dist/injections/layer-dropdown/controller.d.ts +4 -0
  6. package/dist/injections/layer-dropdown/controller.d.ts.map +1 -0
  7. package/dist/injections/layer-dropdown/controller.js +85 -0
  8. package/dist/injections/layer-dropdown/controller.js.map +1 -0
  9. package/dist/injections/layer-dropdown/{component/dropdown-ui.d.ts → dropdown-ui.d.ts} +1 -4
  10. package/dist/injections/layer-dropdown/dropdown-ui.d.ts.map +1 -0
  11. package/dist/injections/layer-dropdown/{component/dropdown-ui.js → dropdown-ui.js} +76 -74
  12. package/dist/injections/layer-dropdown/dropdown-ui.js.map +1 -0
  13. package/dist/injections/layer-dropdown/types.d.ts +21 -0
  14. package/dist/injections/layer-dropdown/types.d.ts.map +1 -0
  15. package/dist/injections/layer-dropdown/types.js +3 -0
  16. package/dist/injections/layer-dropdown/types.js.map +1 -0
  17. package/dist/injections/layer-dropdown/utils.d.ts +6 -8
  18. package/dist/injections/layer-dropdown/utils.d.ts.map +1 -1
  19. package/dist/injections/layer-dropdown/utils.js +74 -33
  20. package/dist/injections/layer-dropdown/utils.js.map +1 -1
  21. package/dist/injections/utils.d.ts +0 -2
  22. package/dist/injections/utils.d.ts.map +1 -1
  23. package/dist/injections/utils.js +0 -13
  24. package/dist/injections/utils.js.map +1 -1
  25. package/dist/injections/visual-edit-agent.d.ts.map +1 -1
  26. package/dist/injections/visual-edit-agent.js +74 -199
  27. package/dist/injections/visual-edit-agent.js.map +1 -1
  28. package/dist/statics/index.mjs +1 -1
  29. package/dist/statics/index.mjs.map +1 -1
  30. package/package.json +1 -1
  31. package/src/injections/layer-dropdown/LAYERS.md +258 -0
  32. package/src/injections/layer-dropdown/consts.ts +3 -0
  33. package/src/injections/layer-dropdown/controller.ts +105 -0
  34. package/src/injections/layer-dropdown/{component/dropdown-ui.ts → dropdown-ui.ts} +109 -96
  35. package/src/injections/layer-dropdown/types.ts +24 -0
  36. package/src/injections/layer-dropdown/utils.ts +88 -41
  37. package/src/injections/utils.ts +0 -16
  38. package/src/injections/visual-edit-agent.ts +83 -237
  39. package/dist/injections/layer-dropdown/component/dropdown-ui.d.ts.map +0 -1
  40. package/dist/injections/layer-dropdown/component/dropdown-ui.js.map +0 -1
@@ -10,19 +10,6 @@ export function getElementSelectorId(element) {
10
10
  htmlEl.dataset?.visualSelectorId ||
11
11
  null);
12
12
  }
13
- /** Find the nearest instrumented ancestor (not the element itself) */
14
- export function getImmediateInstrumentedParent(element) {
15
- let current = element.parentElement;
16
- while (current &&
17
- current !== document.documentElement &&
18
- current !== document.body) {
19
- if (isInstrumentedElement(current)) {
20
- return current;
21
- }
22
- current = current.parentElement;
23
- }
24
- return null;
25
- }
26
13
  /** Find elements by ID - first try data-source-location, fallback to data-visual-selector-id */
27
14
  export function findElementsById(id) {
28
15
  if (!id)
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/injections/utils.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAsB,CAAC;IACtC,OAAO,CAAC,CAAC,CACP,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,MAAM,CAAC,OAAO,EAAE,gBAAgB,CACnE,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,MAAM,GAAG,OAAsB,CAAC;IACtC,OAAO,CACL,MAAM,CAAC,OAAO,EAAE,cAAc;QAC9B,MAAM,CAAC,OAAO,EAAE,gBAAgB;QAChC,IAAI,CACL,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,8BAA8B,CAAC,OAAgB;IAC7D,IAAI,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACpC,OACE,OAAO;QACP,OAAO,KAAK,QAAQ,CAAC,eAAe;QACpC,OAAO,KAAK,QAAQ,CAAC,IAAI,EACzB,CAAC;QACD,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,gBAAgB,CAAC,EAAiB;IAChD,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAC/B,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAC5D,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CACf,QAAQ,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAmB,EAAE,OAAe;IACvE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/injections/utils.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAsB,CAAC;IACtC,OAAO,CAAC,CAAC,CACP,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,MAAM,CAAC,OAAO,EAAE,gBAAgB,CACnE,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,MAAM,GAAG,OAAsB,CAAC;IACtC,OAAO,CACL,MAAM,CAAC,OAAO,EAAE,cAAc;QAC9B,MAAM,CAAC,OAAO,EAAE,gBAAgB;QAChC,IAAI,CACL,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,gBAAgB,CAAC,EAAiB;IAChD,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAC/B,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAC5D,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CACf,QAAQ,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAmB,EAAE,OAAe;IACvE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"visual-edit-agent.d.ts","sourceRoot":"","sources":["../../src/injections/visual-edit-agent.ts"],"names":[],"mappings":"AAWA,wBAAgB,oBAAoB,SA+sBnC"}
1
+ {"version":3,"file":"visual-edit-agent.d.ts","sourceRoot":"","sources":["../../src/injections/visual-edit-agent.ts"],"names":[],"mappings":"AAIA,wBAAgB,oBAAoB,SA4jBnC"}
@@ -1,6 +1,5 @@
1
1
  import { findElementsById, updateElementClasses, getElementSelectorId } from "./utils.js";
2
- import { buildLayerChain } from "./layer-dropdown/utils.js";
3
- import { enhanceLabelWithChevron, showDropdown, closeDropdown as closeLayerDropdown, isDropdownOpen as isLayerDropdownOpen, } from "./layer-dropdown/component/dropdown-ui.js";
2
+ import { createLayerController } from "./layer-dropdown/controller.js";
4
3
  import { LAYER_DROPDOWN_ATTR } from "./layer-dropdown/consts.js";
5
4
  export function setupVisualEditAgent() {
6
5
  // State variables (replacing React useState/useRef)
@@ -68,6 +67,62 @@ export function setupVisualEditAgent() {
68
67
  hoverOverlays = [];
69
68
  currentHighlightedElements = [];
70
69
  };
70
+ const clearSelectedOverlays = () => {
71
+ selectedOverlays.forEach((overlay) => {
72
+ if (overlay && overlay.parentNode) {
73
+ overlay.remove();
74
+ }
75
+ });
76
+ selectedOverlays = [];
77
+ };
78
+ const notifyElementSelected = (element) => {
79
+ const htmlElement = element;
80
+ const rect = element.getBoundingClientRect();
81
+ const svgElement = element;
82
+ window.parent.postMessage({
83
+ type: "element-selected",
84
+ tagName: element.tagName,
85
+ classes: svgElement.className?.baseVal ||
86
+ element.className ||
87
+ "",
88
+ visualSelectorId: getElementSelectorId(element),
89
+ content: htmlElement.innerText,
90
+ dataSourceLocation: htmlElement.dataset.sourceLocation,
91
+ isDynamicContent: htmlElement.dataset.dynamicContent === "true",
92
+ linenumber: htmlElement.dataset.linenumber,
93
+ filename: htmlElement.dataset.filename,
94
+ position: {
95
+ top: rect.top,
96
+ left: rect.left,
97
+ right: rect.right,
98
+ bottom: rect.bottom,
99
+ width: rect.width,
100
+ height: rect.height,
101
+ centerX: rect.left + rect.width / 2,
102
+ centerY: rect.top + rect.height / 2,
103
+ },
104
+ }, "*");
105
+ };
106
+ // Select an element: create overlays, update state, notify parent
107
+ const selectElement = (element) => {
108
+ const visualSelectorId = getElementSelectorId(element);
109
+ clearSelectedOverlays();
110
+ const elements = findElementsById(visualSelectorId || null);
111
+ elements.forEach((el) => {
112
+ const overlay = createOverlay(true);
113
+ document.body.appendChild(overlay);
114
+ selectedOverlays.push(overlay);
115
+ positionOverlay(overlay, el, true);
116
+ });
117
+ selectedElementId = visualSelectorId || null;
118
+ clearHoverOverlays();
119
+ notifyElementSelected(element);
120
+ return selectedOverlays[0];
121
+ };
122
+ const unSelectElement = () => {
123
+ selectedElementId = null;
124
+ window.parent.postMessage({ type: "unselect-element" }, "*");
125
+ };
71
126
  // Handle mouse over event
72
127
  const handleMouseOver = (e) => {
73
128
  if (!isVisualEditMode || isPopoverDragging)
@@ -146,68 +201,12 @@ export function setupVisualEditAgent() {
146
201
  if (!element) {
147
202
  return;
148
203
  }
149
- const htmlElement = element;
150
- const visualSelectorId = htmlElement.dataset.sourceLocation ||
151
- htmlElement.dataset.visualSelectorId;
152
- // Clear any existing selected overlays
153
- selectedOverlays.forEach((overlay) => {
154
- if (overlay && overlay.parentNode) {
155
- overlay.remove();
156
- }
157
- });
158
- selectedOverlays = [];
159
- // Find all elements with the same ID
160
- const elements = findElementsById(visualSelectorId || null);
161
- // Create selected overlays for all matching elements
162
- elements.forEach((el) => {
163
- const overlay = createOverlay(true);
164
- document.body.appendChild(overlay);
165
- selectedOverlays.push(overlay);
166
- positionOverlay(overlay, el, true);
167
- });
168
- selectedElementId = visualSelectorId || null;
169
- // Clear hover overlays
170
- clearHoverOverlays();
171
- // Attach layer dropdown to the selected overlay label
172
- attachLayerDropdownToOverlay(selectedOverlays[0], element);
173
- // Calculate element position for popover positioning
174
- const rect = element.getBoundingClientRect();
175
- const elementPosition = {
176
- top: rect.top,
177
- left: rect.left,
178
- right: rect.right,
179
- bottom: rect.bottom,
180
- width: rect.width,
181
- height: rect.height,
182
- centerX: rect.left + rect.width / 2,
183
- centerY: rect.top + rect.height / 2,
184
- };
185
- // Send message to parent window with element info including position
186
- const svgElement = element;
187
- const elementData = {
188
- type: "element-selected",
189
- tagName: element.tagName,
190
- classes: svgElement.className?.baseVal ||
191
- element.className ||
192
- "",
193
- visualSelectorId: visualSelectorId,
194
- content: element.innerText,
195
- dataSourceLocation: htmlElement.dataset.sourceLocation,
196
- isDynamicContent: htmlElement.dataset.dynamicContent === "true",
197
- linenumber: htmlElement.dataset.linenumber,
198
- filename: htmlElement.dataset.filename,
199
- position: elementPosition,
200
- };
201
- window.parent.postMessage(elementData, "*");
204
+ const selectedOverlay = selectElement(element);
205
+ layerController.attachToOverlay(selectedOverlay, element);
202
206
  };
203
207
  // Unselect the current element
204
208
  const unselectElement = () => {
205
- selectedOverlays.forEach((overlay) => {
206
- if (overlay && overlay.parentNode) {
207
- overlay.remove();
208
- }
209
- });
210
- selectedOverlays = [];
209
+ clearSelectedOverlays();
211
210
  selectedElementId = null;
212
211
  };
213
212
  const updateElementClassesAndReposition = (visualSelectorId, classes) => {
@@ -258,150 +257,26 @@ export function setupVisualEditAgent() {
258
257
  }
259
258
  }, 50);
260
259
  };
261
- // --- Layer dropdown: hover preview overlay ---
262
- let layerPreviewOverlay = null;
263
- const clearLayerPreview = () => {
264
- if (layerPreviewOverlay && layerPreviewOverlay.parentNode) {
265
- layerPreviewOverlay.remove();
266
- }
267
- layerPreviewOverlay = null;
268
- };
269
- const showLayerPreview = (layer) => {
270
- clearLayerPreview();
271
- // Don't preview the currently selected element
272
- if (getElementSelectorId(layer.element) === selectedElementId)
273
- return;
274
- const overlay = createOverlay(false);
275
- overlay.style.zIndex = "9998";
276
- document.body.appendChild(overlay);
277
- positionOverlay(overlay, layer.element);
278
- layerPreviewOverlay = overlay;
279
- };
280
- // --- Layer dropdown: select a different element from the layer chain ---
281
- const selectElementFromLayer = (layer) => {
282
- clearLayerPreview();
283
- closeLayerDropdown();
284
- if (escapeHandler) {
285
- document.removeEventListener("keydown", escapeHandler, true);
286
- escapeHandler = null;
287
- }
288
- dropdownSourceElement = null;
289
- const element = layer.element;
290
- const htmlElement = element;
291
- const visualSelectorId = getElementSelectorId(element);
292
- // Clear existing selected overlays
293
- selectedOverlays.forEach((overlay) => {
294
- if (overlay && overlay.parentNode) {
295
- overlay.remove();
296
- }
297
- });
298
- selectedOverlays = [];
299
- // Find all elements with the same ID
300
- const elements = findElementsById(visualSelectorId || null);
301
- // Create selected overlays for all matching elements
302
- elements.forEach((el) => {
303
- const overlay = createOverlay(true);
260
+ // --- Layer dropdown controller ---
261
+ const layerController = createLayerController({
262
+ createPreviewOverlay: (element) => {
263
+ const overlay = createOverlay(false);
264
+ overlay.style.zIndex = "9998";
304
265
  document.body.appendChild(overlay);
305
- selectedOverlays.push(overlay);
306
- positionOverlay(overlay, el, true);
307
- });
308
- selectedElementId = visualSelectorId || null;
309
- clearHoverOverlays();
310
- // Attach layer dropdown to the new overlay label
311
- attachLayerDropdownToOverlay(selectedOverlays[0], element);
312
- // Notify parent of the newly selected element
313
- const rect = element.getBoundingClientRect();
314
- const elementPosition = {
315
- top: rect.top,
316
- left: rect.left,
317
- right: rect.right,
318
- bottom: rect.bottom,
319
- width: rect.width,
320
- height: rect.height,
321
- centerX: rect.left + rect.width / 2,
322
- centerY: rect.top + rect.height / 2,
323
- };
324
- const svgElement = element;
325
- const elementData = {
326
- type: "element-selected",
327
- tagName: element.tagName,
328
- classes: svgElement.className?.baseVal ||
329
- element.className ||
330
- "",
331
- visualSelectorId: visualSelectorId,
332
- content: element.innerText,
333
- dataSourceLocation: htmlElement.dataset.sourceLocation,
334
- isDynamicContent: htmlElement.dataset.dynamicContent === "true",
335
- linenumber: htmlElement.dataset.linenumber,
336
- filename: htmlElement.dataset.filename,
337
- position: elementPosition,
338
- };
339
- window.parent.postMessage(elementData, "*");
340
- };
341
- let escapeHandler = null;
342
- let dropdownSourceElement = null;
343
- const attachLayerDropdownToOverlay = (overlay, element) => {
344
- if (!overlay)
345
- return;
346
- const label = overlay.querySelector("div");
347
- if (!label)
348
- return;
349
- const layers = buildLayerChain(element);
350
- // Only show dropdown when there are multiple layers to navigate
351
- if (layers.length <= 1)
352
- return;
353
- const currentId = getElementSelectorId(element);
354
- enhanceLabelWithChevron(label);
355
- label.addEventListener("click", (e) => {
356
- e.stopPropagation();
357
- e.preventDefault();
358
- if (isLayerDropdownOpen()) {
359
- closeLayerDropdown();
360
- reselectDropdownSource();
361
- }
362
- else {
363
- dropdownSourceElement = element;
364
- selectedElementId = null;
365
- window.parent.postMessage({ type: "element-selected", visualSelectorId: null }, "*");
366
- escapeHandler = (ev) => {
367
- if (ev.key === "Escape") {
368
- ev.stopPropagation();
369
- closeLayerDropdown();
370
- reselectDropdownSource();
371
- }
372
- };
373
- document.addEventListener("keydown", escapeHandler, true);
374
- showDropdown(label, layers, currentId, selectElementFromLayer, showLayerPreview, clearLayerPreview);
375
- }
376
- });
377
- };
378
- const reselectDropdownSource = () => {
379
- if (escapeHandler) {
380
- document.removeEventListener("keydown", escapeHandler, true);
381
- escapeHandler = null;
382
- }
383
- if (dropdownSourceElement) {
384
- selectElementFromLayer({
385
- element: dropdownSourceElement,
386
- tagName: dropdownSourceElement.tagName.toLowerCase(),
387
- selectorId: getElementSelectorId(dropdownSourceElement),
388
- });
389
- dropdownSourceElement = null;
390
- }
391
- };
266
+ positionOverlay(overlay, element);
267
+ return overlay;
268
+ },
269
+ getSelectedElementId: () => selectedElementId,
270
+ selectElement,
271
+ onDeselect: unSelectElement,
272
+ });
392
273
  // Toggle visual edit mode
393
274
  const toggleVisualEditMode = (isEnabled) => {
394
275
  isVisualEditMode = isEnabled;
395
276
  if (!isEnabled) {
396
- clearLayerPreview();
397
- closeLayerDropdown();
277
+ layerController.cleanup();
398
278
  clearHoverOverlays();
399
- selectedOverlays.forEach((overlay) => {
400
- if (overlay && overlay.parentNode) {
401
- overlay.remove();
402
- }
403
- });
404
- selectedOverlays = [];
279
+ clearSelectedOverlays();
405
280
  currentHighlightedElements = [];
406
281
  selectedElementId = null;
407
282
  document.body.style.cursor = "default";
@@ -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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"}
@@ -1,2 +1,2 @@
1
- function B(r){let u=r;return!!(u.dataset?.sourceLocation||u.dataset?.visualSelectorId)}function I(r){let u=r;return u.dataset?.sourceLocation||u.dataset?.visualSelectorId||null}function D(r){if(!r)return[];let u=Array.from(document.querySelectorAll(`[data-source-location="${r}"]`));return u.length>0?u:Array.from(document.querySelectorAll(`[data-visual-selector-id="${r}"]`))}function j(r,u){r.forEach(E=>{E.setAttribute("class",u)})}var Y={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"},$={padding:"4px 12px",cursor:"pointer",color:"#334155",backgroundColor:"transparent",whiteSpace:"nowrap",lineHeight:"1.5",fontWeight:"400"},P="#526cff",U="#DBEAFE",J="600",X="#f1f5f9",Q=10,G=" \u25BE",_="data-layer-dropdown",Z=2,ee=2;function te(r){return r.tagName}function me(r,u){let E=[];function h(m,i){if(!(i>u))for(let o=0;o<m.children.length;o++){let d=m.children[o];B(d)?(E.push({element:d,tagName:d.tagName.toLowerCase(),selectorId:I(d)}),h(d,i+1)):h(d,i)}}return h(r,1),E}function ne(r){let u=[],E=r.parentElement;for(;E&&E!==document.documentElement&&E!==document.body&&u.length<Z;)B(E)&&u.push({element:E,tagName:E.tagName.toLowerCase(),selectorId:I(E)}),E=E.parentElement;u.reverse();let h=[],m=0;u.forEach((d,f)=>{h.push({...d,depth:m+f})});let i=u.length;h.push({element:r,tagName:r.tagName.toLowerCase(),selectorId:I(r),depth:i});let o=me(r,ee);return pe(r,o,i+1),h.push(...o),h}function pe(r,u,E){let h=new Set(u.map(o=>o.element)),m=new Map(u.map(o=>[o.element,o]));function i(o,d){for(let f=0;f<o.children.length;f++){let l=o.children[f];h.has(l)?(m.get(l).depth=E+d-1,i(l,d+1)):i(l,d)}}i(r,1)}var x=null,A=null,R=null,H=null;function fe(r,u,E,h,m){let i=document.createElement("div");return i.setAttribute(_,"true"),Object.keys(Y).forEach(o=>{i.style[o]=Y[o]}),r.forEach(o=>{let d=document.createElement("div"),f=o.selectorId===u;d.textContent=te(o),Object.keys($).forEach(L=>{d.style[L]=$[L]});let l=o.depth??0;l>0&&(d.style.paddingLeft=`${12+l*Q}px`),f&&(d.style.color=P,d.style.backgroundColor=U,d.style.fontWeight=J),d.addEventListener("mouseenter",()=>{f||(d.style.backgroundColor=X),h&&h(o)}),d.addEventListener("mouseleave",()=>{f||(d.style.backgroundColor="transparent"),m&&m()}),d.addEventListener("click",L=>{L.stopPropagation(),L.preventDefault(),E(o)}),i.appendChild(d)}),i}function oe(r){r.textContent?.includes(G)||(r.textContent=r.textContent+G,r.style.cursor="pointer",r.style.userSelect="none",r.style.pointerEvents="auto",r.setAttribute(_,"true"))}function re(r,u,E,h,m,i){b();let o=fe(u,E,g=>{i&&i(),h(g),b()},m,i),d=r.parentElement;if(!d)return;o.style.top=`${r.offsetTop+r.offsetHeight+2}px`,o.style.left=`${r.offsetLeft}px`,d.appendChild(o),x=o,R=i??null;let f=Array.from(o.children),l=-1,L=g=>{if(l>=0&&l<f.length){let v=f[l];v.style.color===P||(v.style.backgroundColor="transparent")}if(l=g,l>=0&&l<f.length){let v=f[l];v.style.color===P||(v.style.backgroundColor=X),v.scrollIntoView({block:"nearest"}),m&&m(u[l])}};H=g=>{if(g.key==="ArrowDown"){g.preventDefault(),g.stopPropagation();let v=l<f.length-1?l+1:0;L(v)}else if(g.key==="ArrowUp"){g.preventDefault(),g.stopPropagation();let v=l>0?l-1:f.length-1;L(v)}else g.key==="Enter"&&l>=0&&(g.preventDefault(),g.stopPropagation(),i&&i(),h(u[l]),b())},document.addEventListener("keydown",H,!0),setTimeout(()=>{A=g=>{let v=g.target;!o.contains(v)&&v!==r&&b()},document.addEventListener("mousedown",A,!0)},0)}function b(){R&&(R(),R=null),x&&x.parentNode&&x.remove(),x=null,A&&(document.removeEventListener("mousedown",A,!0),A=null),H&&(document.removeEventListener("keydown",H,!0),H=null)}function se(){return x!==null}function Ee(){let r=!1,u=!1,E=!1,h=[],m=[],i=[],o=null,d=(n=!1)=>{let e=document.createElement("div");return e.style.position="absolute",e.style.pointerEvents="none",e.style.transition="all 0.1s ease-in-out",e.style.zIndex="9999",n?e.style.border="2px solid #2563EB":(e.style.border="2px solid #95a5fc",e.style.backgroundColor="rgba(99, 102, 241, 0.05)"),e},f=(n,e,t=!1)=>{if(!e||!r)return;e.offsetWidth;let a=e.getBoundingClientRect();n.style.top=`${a.top+window.scrollY}px`,n.style.left=`${a.left+window.scrollX}px`,n.style.width=`${a.width}px`,n.style.height=`${a.height}px`;let s=n.querySelector("div");s||(s=document.createElement("div"),s.textContent=e.tagName.toLowerCase(),s.style.position="absolute",s.style.top="-27px",s.style.left="-2px",s.style.padding="2px 8px",s.style.fontSize="11px",s.style.fontWeight=t?"500":"400",s.style.color=t?"#ffffff":"#526cff",s.style.backgroundColor=t?"#526cff":"#DBEAFE",s.style.borderRadius="3px",s.style.minWidth="24px",s.style.textAlign="center",n.appendChild(s))},l=()=>{h.forEach(n=>{n&&n.parentNode&&n.remove()}),h=[],i=[]},L=n=>{if(!r||u)return;let e=n.target;if(E){l();return}if(e.tagName.toLowerCase()==="path"){l();return}let t=e.closest("[data-source-location], [data-visual-selector-id]");if(!t){l();return}let c=t,a=c.dataset.sourceLocation||c.dataset.visualSelectorId;if(o===a){l();return}let s=D(a||null);l(),s.forEach(p=>{let y=d(!1);document.body.appendChild(y),h.push(y),f(y,p)}),i=s},g=()=>{u||l()},v=n=>{if(!r)return;let e=n.target;if(e.closest(`[${_}]`))return;if(E){n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation(),window.parent.postMessage({type:"close-dropdowns"},"*");return}if(e.tagName.toLowerCase()==="path")return;n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation();let t=e.closest("[data-source-location], [data-visual-selector-id]");if(!t)return;let c=t,a=c.dataset.sourceLocation||c.dataset.visualSelectorId;m.forEach(w=>{w&&w.parentNode&&w.remove()}),m=[],D(a||null).forEach(w=>{let V=d(!0);document.body.appendChild(V),m.push(V),f(V,w,!0)}),o=a||null,l(),F(m[0],t);let p=t.getBoundingClientRect(),y={top:p.top,left:p.left,right:p.right,bottom:p.bottom,width:p.width,height:p.height,centerX:p.left+p.width/2,centerY:p.top+p.height/2},C=t,N={type:"element-selected",tagName:t.tagName,classes:C.className?.baseVal||t.className||"",visualSelectorId:a,content:t.innerText,dataSourceLocation:c.dataset.sourceLocation,isDynamicContent:c.dataset.dynamicContent==="true",linenumber:c.dataset.linenumber,filename:c.dataset.filename,position:y};window.parent.postMessage(N,"*")},k=()=>{m.forEach(n=>{n&&n.parentNode&&n.remove()}),m=[],o=null},ae=(n,e)=>{let t=D(n);t.length!==0&&(j(t,e),setTimeout(()=>{o===n&&m.forEach((c,a)=>{a<t.length&&f(c,t[a])}),i.length>0&&i[0]?.dataset?.visualSelectorId===n&&h.forEach((s,p)=>{p<i.length&&f(s,i[p])})},50))},le=(n,e)=>{let t=D(n);t.length!==0&&(t.forEach(c=>{c.innerText=e}),setTimeout(()=>{o===n&&m.forEach((c,a)=>{a<t.length&&f(c,t[a])})},50))},M=null,S=()=>{M&&M.parentNode&&M.remove(),M=null},ie=n=>{if(S(),I(n.element)===o)return;let e=d(!1);e.style.zIndex="9998",document.body.appendChild(e),f(e,n.element),M=e},z=n=>{S(),b(),T&&(document.removeEventListener("keydown",T,!0),T=null),O=null;let e=n.element,t=e,c=I(e);m.forEach(N=>{N&&N.parentNode&&N.remove()}),m=[],D(c||null).forEach(N=>{let w=d(!0);document.body.appendChild(w),m.push(w),f(w,N,!0)}),o=c||null,l(),F(m[0],e);let s=e.getBoundingClientRect(),p={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},y=e,C={type:"element-selected",tagName:e.tagName,classes:y.className?.baseVal||e.className||"",visualSelectorId:c,content:e.innerText,dataSourceLocation:t.dataset.sourceLocation,isDynamicContent:t.dataset.dynamicContent==="true",linenumber:t.dataset.linenumber,filename:t.dataset.filename,position:p};window.parent.postMessage(C,"*")},T=null,O=null,F=(n,e)=>{if(!n)return;let t=n.querySelector("div");if(!t)return;let c=ne(e);if(c.length<=1)return;let a=I(e);oe(t),t.addEventListener("click",s=>{s.stopPropagation(),s.preventDefault(),se()?(b(),q()):(O=e,o=null,window.parent.postMessage({type:"element-selected",visualSelectorId:null},"*"),T=p=>{p.key==="Escape"&&(p.stopPropagation(),b(),q())},document.addEventListener("keydown",T,!0),re(t,c,a,z,ie,S))})},q=()=>{T&&(document.removeEventListener("keydown",T,!0),T=null),O&&(z({element:O,tagName:O.tagName.toLowerCase(),selectorId:I(O)}),O=null)},de=n=>{r=n,n?(document.body.style.cursor="crosshair",document.addEventListener("mouseover",L),document.addEventListener("mouseout",g),document.addEventListener("click",v,!0)):(S(),b(),l(),m.forEach(e=>{e&&e.parentNode&&e.remove()}),m=[],i=[],o=null,document.body.style.cursor="default",document.removeEventListener("mouseover",L),document.removeEventListener("mouseout",g),document.removeEventListener("click",v,!0))},K=()=>{if(o){let n=D(o);if(n.length>0){let t=n[0].getBoundingClientRect(),c=window.innerHeight,a=window.innerWidth,s=t.top<c&&t.bottom>0&&t.left<a&&t.right>0,p={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:p,isInViewport:s,visualSelectorId:o},"*")}}},ce=n=>{let e=n.data;switch(e.type){case"toggle-visual-edit-mode":de(e.data.enabled);break;case"update-classes":e.data&&e.data.classes!==void 0?ae(e.data.visualSelectorId,e.data.classes):console.warn("[VisualEditAgent] Invalid update-classes message:",e);break;case"unselect-element":k();break;case"refresh-page":window.location.reload();break;case"update-content":e.data&&e.data.content!==void 0?le(e.data.visualSelectorId,e.data.content):console.warn("[VisualEditAgent] Invalid update-content message:",e);break;case"request-element-position":if(o){let t=D(o);if(t.length>0){let a=t[0].getBoundingClientRect(),s=window.innerHeight,p=window.innerWidth,y=a.top<s&&a.bottom>0&&a.left<p&&a.right>0,C={top:a.top,left:a.left,right:a.right,bottom:a.bottom,width:a.width,height:a.height,centerX:a.left+a.width/2,centerY:a.top+a.height/2};window.parent.postMessage({type:"element-position-update",position:C,isInViewport:y,visualSelectorId:o},"*")}}break;case"popover-drag-state":e.data&&e.data.isDragging!==void 0&&(u=e.data.isDragging,e.data.isDragging&&l());break;case"dropdown-state":e.data&&e.data.isOpen!==void 0&&(E=e.data.isOpen,e.data.isOpen&&l());break;default:break}},W=()=>{if(o){let n=D(o);m.forEach((e,t)=>{t<n.length&&f(e,n[t])})}i.length>0&&h.forEach((n,e)=>{e<i.length&&f(n,i[e])})};document.querySelectorAll("[data-linenumber]:not([data-visual-selector-id])").forEach((n,e)=>{let t=n,c=`visual-id-${t.dataset.filename}-${t.dataset.linenumber}-${e}`;t.dataset.visualSelectorId=c});let ue=new MutationObserver(n=>{n.some(t=>{let c=s=>{if(s.nodeType===Node.ELEMENT_NODE){let p=s;if(p.dataset&&p.dataset.visualSelectorId)return!0;for(let y=0;y<p.children.length;y++)if(c(p.children[y]))return!0}return!1};return t.type==="attributes"&&(t.attributeName==="style"||t.attributeName==="class"||t.attributeName==="width"||t.attributeName==="height")&&c(t.target)})&&setTimeout(W,50)});window.addEventListener("message",ce),window.addEventListener("scroll",K,!0),document.addEventListener("scroll",K,!0),window.addEventListener("resize",W),window.addEventListener("scroll",W),ue.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class","width","height"]}),window.parent.postMessage({type:"visual-edit-agent-ready"},"*")}export{Ee as setupVisualEditAgent};
1
+ function W(e){let t=e;return!!(t.dataset?.sourceLocation||t.dataset?.visualSelectorId)}function y(e){let t=e;return t.dataset?.sourceLocation||t.dataset?.visualSelectorId||null}function w(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 G(e,t){e.forEach(s=>{s.setAttribute("class",t)})}var z={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"},F={padding:"4px 12px",cursor:"pointer",color:"#334155",backgroundColor:"transparent",whiteSpace:"nowrap",lineHeight:"1.5",fontWeight:"400"},A="#526cff",q="#DBEAFE",K="600",V="#f1f5f9",j=10,O=" \u25BE",x=" \u25B4",M="data-layer-dropdown",U=2,J=2;function B(e,t){Object.assign(e.style,t)}function Q(e){return e.tagName}function Z(e,t){let s=[];function a(u,i){if(!(i>t))for(let l=0;l<u.children.length;l++){let c=u.children[l];W(c)?(s.push({element:c,tagName:c.tagName.toLowerCase(),selectorId:y(c)}),a(c,i+1)):a(c,i)}}return a(e,1),s}function $(e,t){let s={element:e,tagName:e.tagName.toLowerCase(),selectorId:y(e)};return t!==void 0&&(s.depth=t),s}function fe(e){let t=[],s=e.parentElement;for(;s&&s!==document.documentElement&&s!==document.body&&t.length<U;)W(s)&&t.push($(s)),s=s.parentElement;return t.reverse(),t}function pe(e,t){return t.forEach((s,a)=>{e.push({...s,depth:a})}),t.length}function ee(e,t,s){e.push($(t,s));let a=Z(t,J);ye(t,a,s+1),e.push(...a)}function Ee(e){return e.length>0?e[e.length-1].element:null}function ge(e,t){let s=Z(e,1);return s.some(a=>a.element===t)||s.push($(t)),s}function he(e,t,s,a){for(let u of t)u.element===s?ee(e,s,a):e.push({...u,depth:a})}function te(e){let t=fe(e),s=[],a=pe(s,t),u=Ee(t);if(u){let i=ge(u,e);he(s,i,e,a)}else ee(s,e,a);return s}function ye(e,t,s){let a=new Set(t.map(l=>l.element)),u=new Map(t.map(l=>[l.element,l]));function i(l,c){for(let E=0;E<l.children.length;E++){let m=l.children[E];a.has(m)?(u.get(m).depth=s+c-1,i(m,c+1)):i(m,c)}}i(e,1)}var b=null,N=null,H=null,R=null,_=null;function ve(e,t,s,a,u){let i=document.createElement("div");i.textContent=Q(e),B(i,F);let l=e.depth??0;return l>0&&(i.style.paddingLeft=`${12+l*j}px`),t&&(i.style.color=A,i.style.backgroundColor=q,i.style.fontWeight=K),i.addEventListener("mouseenter",()=>{t||(i.style.backgroundColor=V),a&&a(e)}),i.addEventListener("mouseleave",()=>{t||(i.style.backgroundColor="transparent"),u&&u()}),i.addEventListener("click",c=>{c.stopPropagation(),c.preventDefault(),s(e)}),i}function Le(e,t,s,a,u){let i=document.createElement("div");return i.setAttribute(M,"true"),B(i,z),e.forEach(l=>{let c=l.selectorId===t;i.appendChild(ve(l,c,s,a,u))}),i}function ne(e){let t=e.textContent??"";t.endsWith(O)||t.endsWith(x)||(e.textContent=t+O,e.style.cursor="pointer",e.style.userSelect="none",e.style.pointerEvents="auto",e.setAttribute(M,"true"))}function we(e,t,s,a,u,i){let l=Array.from(e.children),c=t.findIndex(m=>m.selectorId===s),E=m=>{if(c>=0&&c<l.length){let g=l[c];g.style.color!==A&&(g.style.backgroundColor="transparent")}if(c=m,c>=0&&c<l.length){let g=l[c];g.style.color!==A&&(g.style.backgroundColor=V),g.scrollIntoView({block:"nearest"}),u&&u(t[c])}};_=m=>{m.key==="ArrowDown"?(m.preventDefault(),m.stopPropagation(),E(c<l.length-1?c+1:0)):m.key==="ArrowUp"?(m.preventDefault(),m.stopPropagation(),E(c>0?c-1:l.length-1)):m.key==="Enter"&&c>=0&&(m.preventDefault(),m.stopPropagation(),i&&i(),a(t[c]),L())},document.addEventListener("keydown",_,!0)}function Ie(e,t){setTimeout(()=>{H=s=>{let a=s.target;!e.contains(a)&&a!==t&&L()},document.addEventListener("mousedown",H,!0)},0)}function oe(e,t,s,a,u,i){L();let l=Le(t,s,E=>{i&&i(),a(E),L()},u,i),c=e.parentElement;c&&(l.style.top=`${e.offsetTop+e.offsetHeight+2}px`,l.style.left=`${e.offsetLeft}px`,c.appendChild(l),b=l,N=e,e.textContent?.endsWith(O.trim())&&(e.textContent=e.textContent.slice(0,-O.length)+x),R=i??null,we(l,t,s,a,u,i),Ie(l,e))}function L(){N?.textContent?.includes(x)&&(N.textContent=N.textContent.replace(x,O)),N=null,R&&(R(),R=null),b&&b.parentNode&&b.remove(),b=null,H&&(document.removeEventListener("mousedown",H,!0),H=null),_&&(document.removeEventListener("keydown",_,!0),_=null)}function re(){return b!==null}function se(e){let t=null,s=null,a=null,u=()=>{t&&t.parentNode&&t.remove(),t=null},i=g=>{u(),y(g.element)!==e.getSelectedElementId()&&(t=e.createPreviewOverlay(g.element))},l=g=>{u(),L(),s&&(document.removeEventListener("keydown",s,!0),s=null),a=null;let I=e.selectElement(g.element);E(I,g.element)},c=()=>{s&&(document.removeEventListener("keydown",s,!0),s=null),a&&(l({element:a,tagName:a.tagName.toLowerCase(),selectorId:y(a)}),a=null)},E=(g,I)=>{if(!g)return;let D=g.querySelector("div");if(!D)return;let S=te(I);if(S.length<=1)return;let P=y(I);ne(D),D.addEventListener("click",T=>{T.stopPropagation(),T.preventDefault(),re()?(L(),c()):(a=I,e.onDeselect(),s=C=>{C.key==="Escape"&&(C.stopPropagation(),L(),c())},document.addEventListener("keydown",s,!0),oe(D,S,P,l,i,u))})};return{attachToOverlay:E,cleanup:()=>{u(),L()}}}function De(){let e=!1,t=!1,s=!1,a=[],u=[],i=[],l=null,c=(r=!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",r?n.style.border="2px solid #2563EB":(n.style.border="2px solid #95a5fc",n.style.backgroundColor="rgba(99, 102, 241, 0.05)"),n},E=(r,n,o=!1)=>{if(!n||!e)return;n.offsetWidth;let d=n.getBoundingClientRect();r.style.top=`${d.top+window.scrollY}px`,r.style.left=`${d.left+window.scrollX}px`,r.style.width=`${d.width}px`,r.style.height=`${d.height}px`;let f=r.querySelector("div");f||(f=document.createElement("div"),f.textContent=n.tagName.toLowerCase(),f.style.position="absolute",f.style.top="-27px",f.style.left="-2px",f.style.padding="2px 8px",f.style.fontSize="11px",f.style.fontWeight=o?"500":"400",f.style.color=o?"#ffffff":"#526cff",f.style.backgroundColor=o?"#526cff":"#DBEAFE",f.style.borderRadius="3px",f.style.minWidth="24px",f.style.textAlign="center",r.appendChild(f))},m=()=>{a.forEach(r=>{r&&r.parentNode&&r.remove()}),a=[],i=[]},g=()=>{u.forEach(r=>{r&&r.parentNode&&r.remove()}),u=[]},I=r=>{let n=r,o=r.getBoundingClientRect(),p=r;window.parent.postMessage({type:"element-selected",tagName:r.tagName,classes:p.className?.baseVal||r.className||"",visualSelectorId:y(r),content:n.innerText,dataSourceLocation:n.dataset.sourceLocation,isDynamicContent:n.dataset.dynamicContent==="true",linenumber:n.dataset.linenumber,filename:n.dataset.filename,position:{top:o.top,left:o.left,right:o.right,bottom:o.bottom,width:o.width,height:o.height,centerX:o.left+o.width/2,centerY:o.top+o.height/2}},"*")},D=r=>{let n=y(r);return g(),w(n||null).forEach(p=>{let d=c(!0);document.body.appendChild(d),u.push(d),E(d,p,!0)}),l=n||null,m(),I(r),u[0]},S=()=>{l=null,window.parent.postMessage({type:"unselect-element"},"*")},P=r=>{if(!e||t)return;let n=r.target;if(s){m();return}if(n.tagName.toLowerCase()==="path"){m();return}let o=n.closest("[data-source-location], [data-visual-selector-id]");if(!o){m();return}let p=o,d=p.dataset.sourceLocation||p.dataset.visualSelectorId;if(l===d){m();return}let f=w(d||null);m(),f.forEach(h=>{let v=c(!1);document.body.appendChild(v),a.push(v),E(v,h)}),i=f},T=()=>{t||m()},C=r=>{if(!e)return;let n=r.target;if(n.closest(`[${M}]`))return;if(s){r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation(),window.parent.postMessage({type:"close-dropdowns"},"*");return}if(n.tagName.toLowerCase()==="path")return;r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation();let o=n.closest("[data-source-location], [data-visual-selector-id]");if(!o)return;let p=D(o);Y.attachToOverlay(p,o)},le=()=>{g(),l=null},ie=(r,n)=>{let o=w(r);o.length!==0&&(G(o,n),setTimeout(()=>{l===r&&u.forEach((p,d)=>{d<o.length&&E(p,o[d])}),i.length>0&&i[0]?.dataset?.visualSelectorId===r&&a.forEach((f,h)=>{h<i.length&&E(f,i[h])})},50))},ae=(r,n)=>{let o=w(r);o.length!==0&&(o.forEach(p=>{p.innerText=n}),setTimeout(()=>{l===r&&u.forEach((p,d)=>{d<o.length&&E(p,o[d])})},50))},Y=se({createPreviewOverlay:r=>{let n=c(!1);return n.style.zIndex="9998",document.body.appendChild(n),E(n,r),n},getSelectedElementId:()=>l,selectElement:D,onDeselect:S}),ce=r=>{e=r,r?(document.body.style.cursor="crosshair",document.addEventListener("mouseover",P),document.addEventListener("mouseout",T),document.addEventListener("click",C,!0)):(Y.cleanup(),m(),g(),i=[],l=null,document.body.style.cursor="default",document.removeEventListener("mouseover",P),document.removeEventListener("mouseout",T),document.removeEventListener("click",C,!0))},X=()=>{if(l){let r=w(l);if(r.length>0){let o=r[0].getBoundingClientRect(),p=window.innerHeight,d=window.innerWidth,f=o.top<p&&o.bottom>0&&o.left<d&&o.right>0,h={top:o.top,left:o.left,right:o.right,bottom:o.bottom,width:o.width,height:o.height,centerX:o.left+o.width/2,centerY:o.top+o.height/2};window.parent.postMessage({type:"element-position-update",position:h,isInViewport:f,visualSelectorId:l},"*")}}},de=r=>{let n=r.data;switch(n.type){case"toggle-visual-edit-mode":ce(n.data.enabled);break;case"update-classes":n.data&&n.data.classes!==void 0?ie(n.data.visualSelectorId,n.data.classes):console.warn("[VisualEditAgent] Invalid update-classes message:",n);break;case"unselect-element":le();break;case"refresh-page":window.location.reload();break;case"update-content":n.data&&n.data.content!==void 0?ae(n.data.visualSelectorId,n.data.content):console.warn("[VisualEditAgent] Invalid update-content message:",n);break;case"request-element-position":if(l){let o=w(l);if(o.length>0){let d=o[0].getBoundingClientRect(),f=window.innerHeight,h=window.innerWidth,v=d.top<f&&d.bottom>0&&d.left<h&&d.right>0,me={top:d.top,left:d.left,right:d.right,bottom:d.bottom,width:d.width,height:d.height,centerX:d.left+d.width/2,centerY:d.top+d.height/2};window.parent.postMessage({type:"element-position-update",position:me,isInViewport:v,visualSelectorId:l},"*")}}break;case"popover-drag-state":n.data&&n.data.isDragging!==void 0&&(t=n.data.isDragging,n.data.isDragging&&m());break;case"dropdown-state":n.data&&n.data.isOpen!==void 0&&(s=n.data.isOpen,n.data.isOpen&&m());break;default:break}},k=()=>{if(l){let r=w(l);u.forEach((n,o)=>{o<r.length&&E(n,r[o])})}i.length>0&&a.forEach((r,n)=>{n<i.length&&E(r,i[n])})};document.querySelectorAll("[data-linenumber]:not([data-visual-selector-id])").forEach((r,n)=>{let o=r,p=`visual-id-${o.dataset.filename}-${o.dataset.linenumber}-${n}`;o.dataset.visualSelectorId=p});let ue=new MutationObserver(r=>{r.some(o=>{let p=f=>{if(f.nodeType===Node.ELEMENT_NODE){let h=f;if(h.dataset&&h.dataset.visualSelectorId)return!0;for(let v=0;v<h.children.length;v++)if(p(h.children[v]))return!0}return!1};return o.type==="attributes"&&(o.attributeName==="style"||o.attributeName==="class"||o.attributeName==="width"||o.attributeName==="height")&&p(o.target)})&&setTimeout(k,50)});window.addEventListener("message",de),window.addEventListener("scroll",X,!0),document.addEventListener("scroll",X,!0),window.addEventListener("resize",k),window.addEventListener("scroll",k),ue.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class","width","height"]}),window.parent.postMessage({type:"visual-edit-agent-ready"},"*")}export{De as setupVisualEditAgent};
2
2
  //# sourceMappingURL=index.mjs.map