@base44-preview/vite-plugin 0.2.22-pr.37.68542f2 → 0.2.22-pr.37.d729c05

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 (32) hide show
  1. package/dist/injections/visual-edit-agent/capabilities/inline-editing/core.d.ts.map +1 -1
  2. package/dist/injections/visual-edit-agent/capabilities/inline-editing/core.js +21 -4
  3. package/dist/injections/visual-edit-agent/capabilities/inline-editing/core.js.map +1 -1
  4. package/dist/injections/visual-edit-agent/handlers/click-handlers.d.ts.map +1 -1
  5. package/dist/injections/visual-edit-agent/handlers/click-handlers.js +8 -7
  6. package/dist/injections/visual-edit-agent/handlers/click-handlers.js.map +1 -1
  7. package/dist/injections/visual-edit-agent/handlers/inline-edit-handlers.d.ts.map +1 -1
  8. package/dist/injections/visual-edit-agent/handlers/inline-edit-handlers.js +5 -0
  9. package/dist/injections/visual-edit-agent/handlers/inline-edit-handlers.js.map +1 -1
  10. package/dist/injections/visual-edit-agent/handlers/message-handlers.d.ts.map +1 -1
  11. package/dist/injections/visual-edit-agent/handlers/message-handlers.js +4 -5
  12. package/dist/injections/visual-edit-agent/handlers/message-handlers.js.map +1 -1
  13. package/dist/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.d.ts.map +1 -1
  14. package/dist/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.js +19 -7
  15. package/dist/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.js.map +1 -1
  16. package/dist/injections/visual-edit-agent/index.d.ts +3 -2
  17. package/dist/injections/visual-edit-agent/index.d.ts.map +1 -1
  18. package/dist/injections/visual-edit-agent/index.js +36 -33
  19. package/dist/injections/visual-edit-agent/index.js.map +1 -1
  20. package/dist/injections/visual-edit-agent/ui/overlay.d.ts.map +1 -1
  21. package/dist/injections/visual-edit-agent/ui/overlay.js +9 -5
  22. package/dist/injections/visual-edit-agent/ui/overlay.js.map +1 -1
  23. package/dist/statics/index.mjs +2 -2
  24. package/dist/statics/index.mjs.map +1 -1
  25. package/package.json +1 -1
  26. package/src/injections/visual-edit-agent/capabilities/inline-editing/core.ts +25 -5
  27. package/src/injections/visual-edit-agent/handlers/click-handlers.ts +8 -7
  28. package/src/injections/visual-edit-agent/handlers/inline-edit-handlers.ts +5 -0
  29. package/src/injections/visual-edit-agent/handlers/message-handlers.ts +6 -5
  30. package/src/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.ts +23 -9
  31. package/src/injections/visual-edit-agent/index.ts +41 -40
  32. package/src/injections/visual-edit-agent/ui/overlay.ts +10 -5
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../src/injections/visual-edit-agent/capabilities/inline-editing/core.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,KAAK,iBAAiB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;AAQxD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAE9E;AAWD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAYtE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAwBjE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAiBjE"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../src/injections/visual-edit-agent/capabilities/inline-editing/core.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,KAAK,iBAAiB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;AAQxD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAE9E;AAkBD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAYtE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA4BjE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA0BjE"}
@@ -11,6 +11,12 @@ let onTextInputChangeCallback = null;
11
11
  export function setInlineEditCallback(callback) {
12
12
  onTextInputChangeCallback = callback;
13
13
  }
14
+ /**
15
+ * WeakMap to track AbortControllers for each element's input listener.
16
+ * Using WeakMap ensures no memory leaks — when an element is garbage collected,
17
+ * its entry is automatically removed.
18
+ */
19
+ const listenerAbortControllers = new WeakMap();
14
20
  /**
15
21
  * Internal handler for the native input event
16
22
  */
@@ -46,8 +52,11 @@ export function enterInlineEditingMode(element) {
46
52
  element.dataset.originalCursor = element.style.cursor;
47
53
  // Enable contentEditable
48
54
  element.contentEditable = "true";
49
- // Add input event listener
50
- element.addEventListener("input", handleInputEvent);
55
+ // Create an AbortController to manage the input listener lifecycle
56
+ const abortController = new AbortController();
57
+ listenerAbortControllers.set(element, abortController);
58
+ // Add input event listener with AbortSignal for automatic cleanup
59
+ element.addEventListener("input", handleInputEvent, { signal: abortController.signal });
51
60
  // Set cursor to text
52
61
  element.style.cursor = "text";
53
62
  // Select all text
@@ -62,9 +71,17 @@ export function enterInlineEditingMode(element) {
62
71
  * Reverses everything done by enterInlineEditingMode
63
72
  */
64
73
  export function clearInlineEditingMode(element) {
74
+ // Abort the input event listener using the stored AbortController
75
+ const abortController = listenerAbortControllers.get(element);
76
+ if (abortController) {
77
+ abortController.abort();
78
+ listenerAbortControllers.delete(element);
79
+ }
80
+ // If element was removed from DOM before cleanup, skip DOM operations
81
+ if (!element.isConnected) {
82
+ return;
83
+ }
65
84
  removeFocusOutlineCSS();
66
- // Remove input event listener
67
- element.removeEventListener("input", handleInputEvent);
68
85
  // Disable contentEditable
69
86
  element.contentEditable = "false";
70
87
  // Remove stored original text content
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../src/injections/visual-edit-agent/capabilities/inline-editing/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAOpE;;;GAGG;AACH,IAAI,yBAAyB,GAA6B,IAAI,CAAC;AAE/D;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAkC;IACtE,yBAAyB,GAAG,QAAQ,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAoB,CAAQ;IACnD,IAAI,yBAAyB,EAAE,CAAC;QAC9B,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAgB;IAC3D,iCAAiC;IACjC,IAAI,CAAC,CAAC,OAAO,YAAY,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAoB;IACzD,uCAAuC;IACvC,qBAAqB,EAAE,CAAC;IAExB,uBAAuB;IACvB,OAAO,CAAC,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IAChE,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;IAEtD,yBAAyB;IACzB,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;IAEjC,2BAA2B;IAC3B,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAEpD,qBAAqB;IACrB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAE9B,kBAAkB;IAClB,UAAU,CAAC,OAAO,CAAC,CAAC;IAEpB,qBAAqB;IACrB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAoB;IACzD,qBAAqB,EAAE,CAAC;IAExB,8BAA8B;IAC9B,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAEvD,0BAA0B;IAC1B,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC;IAElC,sCAAsC;IACtC,OAAO,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAE3C,0BAA0B;IAC1B,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;QACtD,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;IACxC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../src/injections/visual-edit-agent/capabilities/inline-editing/core.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"click-handlers.d.ts","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/click-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAS1D;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,IAAI,CA4CN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAoEzE"}
1
+ {"version":3,"file":"click-handlers.d.ts","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/click-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAS1D;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,IAAI,CA6CN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAoEzE"}
@@ -15,12 +15,13 @@ export function handleElementSelection(state, element, visualSelectorId) {
15
15
  clearSelection(state);
16
16
  // Find all elements with the same ID
17
17
  const elements = findElementsById(visualSelectorId);
18
- // Mark elements as selected
19
- elements.forEach((el) => {
20
- if (el instanceof HTMLElement) {
21
- el.dataset.selected = "true";
22
- }
23
- });
18
+ if (state.isInlineEditExperimentEnabled) {
19
+ elements.forEach((el) => {
20
+ if (el instanceof HTMLElement) {
21
+ el.dataset.selected = "true";
22
+ }
23
+ });
24
+ }
24
25
  // Create selected overlays for all matching elements
25
26
  elements.forEach((el) => {
26
27
  const overlay = createOverlay(true);
@@ -55,7 +56,7 @@ export function handleElementClick(state, e) {
55
56
  return;
56
57
  const target = e.target;
57
58
  // Bail out early if clicking on a contentEditable element (allow normal editing)
58
- if (target instanceof HTMLElement && target.contentEditable === "true") {
59
+ if (state.isInlineEditExperimentEnabled && target instanceof HTMLElement && target.contentEditable === "true") {
59
60
  return;
60
61
  }
61
62
  // If currently editing, clicking outside should exit editing mode
@@ -1 +1 @@
1
- {"version":3,"file":"click-handlers.js","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/click-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"click-handlers.js","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/click-handlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inline-edit-handlers.d.ts","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/inline-edit-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAW1D;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAmB1F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CA+BpE;AA6DD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAE/D"}
1
+ {"version":3,"file":"inline-edit-handlers.d.ts","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/inline-edit-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAW1D;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAmB1F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CA+BpE;AAkED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAE/D"}
@@ -75,6 +75,11 @@ function reportInlineEdit(state, element) {
75
75
  }
76
76
  /**
77
77
  * Debounced function to send inline edit messages
78
+ *
79
+ * Intentionally overwrites the previous timeout on each keystroke — this is the
80
+ * correct debounce behavior. We only send ONE message 500ms after the user stops
81
+ * typing, containing the final text. Intermediate keystrokes are not sent to avoid
82
+ * flooding the parent with dozens of messages per second.
78
83
  */
79
84
  function debouncedSendInlineEditMessage(state, element) {
80
85
  // Clear any existing timeout
@@ -1 +1 @@
1
- {"version":3,"file":"inline-edit-handlers.js","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/inline-edit-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inline-edit-handlers.js","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/inline-edit-handlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-handlers.d.ts","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/message-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAkC1D;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAKvD;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,GACd,IAAI,CAmBN;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,GACd,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAGpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CA2E1E"}
1
+ {"version":3,"file":"message-handlers.d.ts","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/message-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAkC1D;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAKvD;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,GACd,IAAI,CAoBN;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,GACd,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAGpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CA2E1E"}
@@ -47,11 +47,10 @@ export function updateElementClassesAndReposition(state, visualSelectorId, class
47
47
  if (state.selectedElementId === visualSelectorId) {
48
48
  repositionSelectedOverlays(state);
49
49
  }
50
- if (state.currentHighlightedElements.length > 0) {
51
- const hoveredElement = state.currentHighlightedElements[0];
52
- if (hoveredElement?.dataset?.visualSelectorId === visualSelectorId) {
53
- repositionHoverOverlays(state);
54
- }
50
+ const hoveredElement = state.currentHighlightedElements[0];
51
+ if (hoveredElement instanceof HTMLElement &&
52
+ hoveredElement.dataset.visualSelectorId === visualSelectorId) {
53
+ repositionHoverOverlays(state);
55
54
  }
56
55
  }, REPOSITION_DELAY_MS);
57
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message-handlers.js","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/message-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-handlers.js","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/handlers/message-handlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-inline-edit-mode.d.ts","sourceRoot":"","sources":["../../../../../src/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAM9D;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,2BAA2B,GACnC,IAAI,CAqCN"}
1
+ {"version":3,"file":"toggle-inline-edit-mode.d.ts","sourceRoot":"","sources":["../../../../../src/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAO9D;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,2BAA2B,GACnC,IAAI,CAkDN"}
@@ -1,20 +1,16 @@
1
1
  import { findElementsById } from "../../../utils.js";
2
2
  import { shouldEnterInlineEditingMode } from "../../capabilities/inline-editing/index.js";
3
- import { handleElementSelection } from "../click-handlers.js";
4
3
  import { handleEnterInlineEditingMode, handleClearInlineEditingMode } from "../inline-edit-handlers.js";
4
+ import { clearSelection } from "../../ui/overlay.js";
5
+ import { createOverlay, positionOverlay } from "../../ui/overlay.js";
5
6
  /**
6
7
  * Handle toggle-inline-edit-mode message (parent-initiated)
7
8
  */
8
9
  export function handleToggleInlineEditMode(state, message) {
9
- // Check if inline edit experiment is enabled
10
10
  if (!state.isInlineEditExperimentEnabled) {
11
- console.log('[VisualEditAgent] toggle-inline-edit-mode ignored - experiment flag not enabled');
12
11
  return;
13
12
  }
14
- console.log('[VisualEditAgent] Processing toggle-inline-edit-mode message');
15
- // Parent-initiated inline editing mode toggle
16
13
  if (!message.data || !message.data.dataSourceLocation) {
17
- console.warn('[VisualEditAgent] Invalid toggle-inline-edit-mode message - missing dataSourceLocation');
18
14
  return;
19
15
  }
20
16
  const elements = findElementsById(message.data.dataSourceLocation);
@@ -27,7 +23,23 @@ export function handleToggleInlineEditMode(state, message) {
27
23
  if (shouldEnterInlineEditingMode(element)) {
28
24
  // Select the element first if not already selected
29
25
  if (state.selectedElementId !== message.data.dataSourceLocation) {
30
- handleElementSelection(state, element, message.data.dataSourceLocation);
26
+ // Clear any existing selection
27
+ if (state.currentEditingElement) {
28
+ handleClearInlineEditingMode(state);
29
+ }
30
+ clearSelection(state);
31
+ elements.forEach((el) => {
32
+ if (el instanceof HTMLElement) {
33
+ el.dataset.selected = "true";
34
+ }
35
+ });
36
+ elements.forEach((el) => {
37
+ const overlay = createOverlay(true);
38
+ document.body.appendChild(overlay);
39
+ state.selectedOverlays.push(overlay);
40
+ positionOverlay(overlay, el, true, state.isVisualEditMode);
41
+ });
42
+ state.selectedElementId = message.data.dataSourceLocation;
31
43
  }
32
44
  handleEnterInlineEditingMode(state, element);
33
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-inline-edit-mode.js","sourceRoot":"","sources":["../../../../../src/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAExG;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAiB,EACjB,OAAoC;IAEpC,6CAA6C;IAC7C,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAE5E,8CAA8C;IAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;QACvG,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC;QACnE,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACnC,6DAA6D;QAC7D,IAAI,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,mDAAmD;YACnD,IAAI,KAAK,CAAC,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChE,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC1E,CAAC;YACD,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,IAAI,KAAK,CAAC,qBAAqB,KAAK,OAAO,EAAE,CAAC;YAC5C,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"toggle-inline-edit-mode.js","sourceRoot":"","sources":["../../../../../src/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAErE;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAiB,EACjB,OAAoC;IAEpC,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC;QACnE,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACnC,6DAA6D;QAC7D,IAAI,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,mDAAmD;YACnD,IAAI,KAAK,CAAC,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChE,+BAA+B;gBAC/B,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;oBAChC,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC;gBACD,cAAc,CAAC,KAAK,CAAC,CAAC;gBAEtB,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBACtB,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;wBAC9B,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;oBAC/B,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBACtB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBACnC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACrC,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC5D,CAAC;YACD,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,IAAI,KAAK,CAAC,qBAAqB,KAAK,OAAO,EAAE,CAAC;YAC5C,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * Main setup function for visual edit agent
2
+ * Main setup function for visual edit agent.
3
+ * Returns a teardown function that disconnects the observer and removes all event listeners.
3
4
  */
4
- export declare function setupVisualEditAgent(): void;
5
+ export declare function setupVisualEditAgent(): () => void;
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/injections/visual-edit-agent/index.ts"],"names":[],"mappings":"AAkGA;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAkB3C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/injections/visual-edit-agent/index.ts"],"names":[],"mappings":"AAgGA;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,IAAI,CAoBjD"}
@@ -28,8 +28,8 @@ function createLayoutObserver(onLayoutChange) {
28
28
  const el = node;
29
29
  if (el.dataset?.visualSelectorId)
30
30
  return true;
31
- for (let i = 0; i < el.children.length; i++) {
32
- if (hasVisualId(el.children[i]))
31
+ for (const child of Array.from(el.children)) {
32
+ if (hasVisualId(child))
33
33
  return true;
34
34
  }
35
35
  return false;
@@ -46,6 +46,8 @@ function createLayoutObserver(onLayoutChange) {
46
46
  return isLayoutChange && hasVisualId(mutation.target);
47
47
  });
48
48
  if (needsUpdate) {
49
+ // Coalesce rapid mutations into a single reposition per paint frame,
50
+ // avoiding stacked timers during CSS transitions
49
51
  rafHandle = requestAnimationFrame(() => {
50
52
  rafHandle = null;
51
53
  onLayoutChange();
@@ -54,45 +56,43 @@ function createLayoutObserver(onLayoutChange) {
54
56
  });
55
57
  }
56
58
  /**
57
- * Setup keyboard event protection
58
- */
59
- function setupKeyboardProtection() {
60
- document.addEventListener("keydown", (e) => {
61
- if (e.target instanceof HTMLElement && e.target.contentEditable === "true") {
62
- // Don't report keyboard events during inline editing
63
- return;
64
- }
65
- // Forward other keyboard events to parent if needed
66
- }, true);
67
- }
68
- /**
69
- * Setup event listeners
59
+ * Setup event listeners, returning a function that removes them all.
70
60
  */
71
61
  function setupEventListeners(state) {
72
- // Message handling
73
- window.addEventListener("message", (e) => handleMessage(state, e));
74
- // Scroll handling
75
- window.addEventListener("scroll", () => handleScroll(state), true);
76
- document.addEventListener("scroll", () => handleScroll(state), true);
77
- // Resize handling
78
- window.addEventListener("resize", () => handleResize(state));
79
- window.addEventListener("scroll", () => handleResize(state));
80
- // Click handling
81
- document.addEventListener("click", (e) => handleElementClick(state, e), true);
82
- // Hover handling
83
- document.addEventListener("mouseover", (e) => handleMouseOver(state, e));
84
- document.addEventListener("mouseout", () => handleMouseOut(state));
62
+ const onMessage = (e) => handleMessage(state, e);
63
+ const onScroll = () => handleScroll(state);
64
+ const onResize = () => handleResize(state);
65
+ const onClick = (e) => handleElementClick(state, e);
66
+ const onMouseOver = (e) => handleMouseOver(state, e);
67
+ const onMouseOut = () => handleMouseOut(state);
68
+ window.addEventListener("message", onMessage);
69
+ window.addEventListener("scroll", onScroll, true);
70
+ document.addEventListener("scroll", onScroll, true);
71
+ window.addEventListener("resize", onResize);
72
+ window.addEventListener("scroll", onResize);
73
+ document.addEventListener("click", onClick, true);
74
+ document.addEventListener("mouseover", onMouseOver);
75
+ document.addEventListener("mouseout", onMouseOut);
76
+ return () => {
77
+ window.removeEventListener("message", onMessage);
78
+ window.removeEventListener("scroll", onScroll, true);
79
+ document.removeEventListener("scroll", onScroll, true);
80
+ window.removeEventListener("resize", onResize);
81
+ window.removeEventListener("scroll", onResize);
82
+ document.removeEventListener("click", onClick, true);
83
+ document.removeEventListener("mouseover", onMouseOver);
84
+ document.removeEventListener("mouseout", onMouseOut);
85
+ };
85
86
  }
86
87
  /**
87
- * Main setup function for visual edit agent
88
+ * Main setup function for visual edit agent.
89
+ * Returns a teardown function that disconnects the observer and removes all event listeners.
88
90
  */
89
91
  export function setupVisualEditAgent() {
90
92
  const state = createAgentState();
91
93
  initializeElementIds();
92
94
  setupInlineEditCallback(state);
93
- setupKeyboardProtection();
94
- setupEventListeners(state);
95
- // Create and start mutation observer
95
+ const removeEventListeners = setupEventListeners(state);
96
96
  const mutationObserver = createLayoutObserver(() => handleResize(state));
97
97
  mutationObserver.observe(document.body, {
98
98
  attributes: true,
@@ -100,7 +100,10 @@ export function setupVisualEditAgent() {
100
100
  subtree: true,
101
101
  attributeFilter: ["style", "class", "width", "height"],
102
102
  });
103
- // Send ready message to parent
104
103
  window.parent.postMessage({ type: OutgoingMessageType.VISUAL_EDIT_AGENT_READY }, "*");
104
+ return () => {
105
+ mutationObserver.disconnect();
106
+ removeEventListeners();
107
+ };
105
108
  }
106
109
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/injections/visual-edit-agent/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/injections/visual-edit-agent/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/ui/overlay.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,UAAQ,GAAG,cAAc,CAehE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,OAAO,EAChB,UAAU,UAAQ,EAClB,gBAAgB,UAAO,GACtB,IAAI,CA4BN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAM9D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAYtD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAQlE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAM/D"}
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/ui/overlay.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,UAAQ,GAAG,cAAc,CAehE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,OAAO,EAChB,UAAU,UAAQ,EAClB,gBAAgB,UAAO,GACtB,IAAI,CA+BN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAM9D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAYtD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CASlE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAO/D"}
@@ -24,6 +24,8 @@ export function createOverlay(isSelected = false) {
24
24
  export function positionOverlay(overlay, element, isSelected = false, isVisualEditMode = true) {
25
25
  if (!element || !isVisualEditMode)
26
26
  return;
27
+ // Force layout recalculation before reading bounding rect
28
+ void element.offsetWidth;
27
29
  const rect = element.getBoundingClientRect();
28
30
  overlay.style.top = `${rect.top + window.scrollY}px`;
29
31
  overlay.style.left = `${rect.left + window.scrollX}px`;
@@ -62,7 +64,7 @@ export function clearOverlays(overlays) {
62
64
  * Remove data-selected attribute, clear selected overlays, and reset selection state
63
65
  */
64
66
  export function clearSelection(state) {
65
- if (state.selectedElementId) {
67
+ if (state.isInlineEditExperimentEnabled && state.selectedElementId) {
66
68
  const elements = findElementsById(state.selectedElementId);
67
69
  elements.forEach((el) => {
68
70
  if (el instanceof HTMLElement) {
@@ -82,8 +84,9 @@ export function repositionSelectedOverlays(state) {
82
84
  return;
83
85
  const elements = findElementsById(state.selectedElementId);
84
86
  state.selectedOverlays.forEach((overlay, index) => {
85
- if (index < elements.length) {
86
- positionOverlay(overlay, elements[index], true, state.isVisualEditMode);
87
+ const element = elements[index];
88
+ if (element) {
89
+ positionOverlay(overlay, element, true, state.isVisualEditMode);
87
90
  }
88
91
  });
89
92
  }
@@ -92,8 +95,9 @@ export function repositionSelectedOverlays(state) {
92
95
  */
93
96
  export function repositionHoverOverlays(state) {
94
97
  state.hoverOverlays.forEach((overlay, index) => {
95
- if (index < state.currentHighlightedElements.length) {
96
- positionOverlay(overlay, state.currentHighlightedElements[index], false, state.isVisualEditMode);
98
+ const element = state.currentHighlightedElements[index];
99
+ if (element) {
100
+ positionOverlay(overlay, element, false, state.isVisualEditMode);
97
101
  }
98
102
  });
99
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/ui/overlay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../../../src/injections/visual-edit-agent/ui/overlay.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- function R(){return{isVisualEditMode:!1,isPopoverDragging:!1,isDropdownOpen:!1,hoverOverlays:[],selectedOverlays:[],currentHighlightedElements:[],selectedElementId:null,currentEditingElement:null,debouncedSendTimeout:null,isInlineEditExperimentEnabled:!1}}function l(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 P(e,t){e.forEach(n=>{n.setAttribute("class",t)})}var H="all 0.1s ease-in-out",V="9999",U="#2563EB",G="#95a5fc",B="rgba(99, 102, 241, 0.05)",k="-27px",F="-2px";function f(e=!1){let t=document.createElement("div");return t.style.position="absolute",t.style.pointerEvents="none",t.style.transition=H,t.style.zIndex=V,e?t.style.border=`2px solid ${U}`:(t.style.border=`2px solid ${G}`,t.style.backgroundColor=B),t}function c(e,t,n=!1,o=!0){if(!t||!o)return;let r=t.getBoundingClientRect();e.style.top=`${r.top+window.scrollY}px`,e.style.left=`${r.left+window.scrollX}px`,e.style.width=`${r.width}px`,e.style.height=`${r.height}px`;let i=e.querySelector("div");i||(i=document.createElement("div"),i.textContent=t.tagName.toLowerCase(),i.style.position="absolute",i.style.top=k,i.style.left=F,i.style.padding="2px 8px",i.style.fontSize="11px",i.style.fontWeight=n?"500":"400",i.style.color=n?"#ffffff":"#526cff",i.style.backgroundColor=n?"#526cff":"#DBEAFE",i.style.borderRadius="3px",i.style.minWidth="24px",i.style.textAlign="center",e.appendChild(i))}function h(e){e.forEach(t=>{t&&t.parentNode&&t.remove()})}function u(e){e.selectedElementId&&l(e.selectedElementId).forEach(n=>{n instanceof HTMLElement&&delete n.dataset.selected}),h(e.selectedOverlays),e.selectedOverlays=[],e.selectedElementId=null}function E(e){if(!e.selectedElementId)return;let t=l(e.selectedElementId);e.selectedOverlays.forEach((n,o)=>{o<t.length&&c(n,t[o],!0,e.isVisualEditMode)})}function O(e){e.hoverOverlays.forEach((t,n)=>{n<e.currentHighlightedElements.length&&c(t,e.currentHighlightedElements[n],!1,e.isVisualEditMode)})}function a(e){h(e.hoverOverlays),e.hoverOverlays=[],e.currentHighlightedElements=[]}function j(e,t){if(!e.isVisualEditMode||e.isPopoverDragging||e.currentEditingElement)return;let n=t.target;if(e.isDropdownOpen){a(e);return}if(n.tagName.toLowerCase()==="path"){a(e);return}let o=n.closest("[data-source-location], [data-visual-selector-id]");if(!o){a(e);return}let r=o,i=r.dataset.sourceLocation||r.dataset.visualSelectorId;if(e.selectedElementId===i){a(e);return}let s=l(i||null);a(e),s.forEach(g=>{let S=f(!1);document.body.appendChild(S),e.hoverOverlays.push(S),c(S,g,!1,e.isVisualEditMode)}),e.currentHighlightedElements=s}function Y(e){e.isPopoverDragging||e.currentEditingElement||a(e)}function y(){if(document.getElementById("visual-edit-focus-styles"))return;let t=document.createElement("style");t.id="visual-edit-focus-styles",t.textContent=`
1
+ function w(){return{isVisualEditMode:!1,isPopoverDragging:!1,isDropdownOpen:!1,hoverOverlays:[],selectedOverlays:[],currentHighlightedElements:[],selectedElementId:null,currentEditingElement:null,debouncedSendTimeout:null,isInlineEditExperimentEnabled:!1}}function l(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 R(e,t){e.forEach(n=>{n.setAttribute("class",t)})}var P="all 0.1s ease-in-out",H="9999",V="#2563EB",U="#95a5fc",G="rgba(99, 102, 241, 0.05)",k="-27px",B="-2px";function p(e=!1){let t=document.createElement("div");return t.style.position="absolute",t.style.pointerEvents="none",t.style.transition=P,t.style.zIndex=H,e?t.style.border=`2px solid ${V}`:(t.style.border=`2px solid ${U}`,t.style.backgroundColor=G),t}function c(e,t,n=!1,o=!0){if(!t||!o)return;t.offsetWidth;let i=t.getBoundingClientRect();e.style.top=`${i.top+window.scrollY}px`,e.style.left=`${i.left+window.scrollX}px`,e.style.width=`${i.width}px`,e.style.height=`${i.height}px`;let r=e.querySelector("div");r||(r=document.createElement("div"),r.textContent=t.tagName.toLowerCase(),r.style.position="absolute",r.style.top=k,r.style.left=B,r.style.padding="2px 8px",r.style.fontSize="11px",r.style.fontWeight=n?"500":"400",r.style.color=n?"#ffffff":"#526cff",r.style.backgroundColor=n?"#526cff":"#DBEAFE",r.style.borderRadius="3px",r.style.minWidth="24px",r.style.textAlign="center",e.appendChild(r))}function S(e){e.forEach(t=>{t&&t.parentNode&&t.remove()})}function u(e){e.isInlineEditExperimentEnabled&&e.selectedElementId&&l(e.selectedElementId).forEach(n=>{n instanceof HTMLElement&&delete n.dataset.selected}),S(e.selectedOverlays),e.selectedOverlays=[],e.selectedElementId=null}function m(e){if(!e.selectedElementId)return;let t=l(e.selectedElementId);e.selectedOverlays.forEach((n,o)=>{let i=t[o];i&&c(n,i,!0,e.isVisualEditMode)})}function h(e){e.hoverOverlays.forEach((t,n)=>{let o=e.currentHighlightedElements[n];o&&c(t,o,!1,e.isVisualEditMode)})}function s(e){S(e.hoverOverlays),e.hoverOverlays=[],e.currentHighlightedElements=[]}function F(e,t){if(!e.isVisualEditMode||e.isPopoverDragging||e.currentEditingElement)return;let n=t.target;if(e.isDropdownOpen){s(e);return}if(n.tagName.toLowerCase()==="path"){s(e);return}let o=n.closest("[data-source-location], [data-visual-selector-id]");if(!o){s(e);return}let i=o,r=i.dataset.sourceLocation||i.dataset.visualSelectorId;if(e.selectedElementId===r){s(e);return}let a=l(r||null);s(e),a.forEach(d=>{let I=p(!1);document.body.appendChild(I),e.hoverOverlays.push(I),c(I,d,!1,e.isVisualEditMode)}),e.currentHighlightedElements=a}function j(e){e.isPopoverDragging||e.currentEditingElement||s(e)}function O(){if(document.getElementById("visual-edit-focus-styles"))return;let t=document.createElement("style");t.id="visual-edit-focus-styles",t.textContent=`
2
2
  [data-selected="true"][contenteditable="true"]:focus {
3
3
  outline: none !important;
4
4
  }
5
- `,document.head.appendChild(t)}function M(){let e=document.getElementById("visual-edit-focus-styles");e&&e.remove()}function L(e){let t=document.createRange();t.selectNodeContents(e);let n=window.getSelection();n?.removeAllRanges(),n?.addRange(t)}function b(e){return!(!(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")}var x=null;function A(e){x=e}function $(e){x&&x(this)}function p(e){return!(!(e instanceof HTMLElement)||e.dataset.selected!=="true"||!b(e))}function _(e){y(),e.dataset.originalTextContent=e.textContent||"",e.dataset.originalCursor=e.style.cursor,e.contentEditable="true",e.addEventListener("input",$),e.style.cursor="text",L(e),setTimeout(()=>{e.focus()},0)}function C(e){M(),e.removeEventListener("input",$),e.contentEditable="false",delete e.dataset.originalTextContent,e.dataset.originalCursor!==void 0&&(e.style.cursor=e.dataset.originalCursor,delete e.dataset.originalCursor)}function m(e){return{top:e.top,left:e.left,right:e.right,bottom:e.bottom,width:e.width,height:e.height,centerX:e.left+e.width/2,centerY:e.top+e.height/2}}function W(e){return e.top<window.innerHeight&&e.bottom>0&&e.left<window.innerWidth&&e.right>0}function T(e){return e instanceof SVGElement?e.className?.baseVal||"":e.className||""}function v(e,t){e.currentEditingElement=t,e.selectedOverlays.forEach(n=>{n.style.display="none"}),_(t),window.parent.postMessage({type:"content-editing-started",visualSelectorId:e.selectedElementId},"*")}function d(e){if(!e.currentEditingElement)return;e.debouncedSendTimeout&&(clearTimeout(e.debouncedSendTimeout),e.debouncedSendTimeout=null);let t=e.currentEditingElement;C(t),e.selectedOverlays.forEach(n=>{n.style.display=""}),E(e),window.parent.postMessage({type:"content-editing-ended",visualSelectorId:e.selectedElementId},"*"),e.currentEditingElement=null}function ne(e,t){let n=t.dataset.originalTextContent,o=t.textContent,r={tagName:t.tagName,classes:T(t),visualSelectorId:e.selectedElementId,content:o,dataSourceLocation:t.dataset.sourceLocation,isDynamicContent:t.dataset.dynamicContent==="true",linenumber:t.dataset.linenumber,filename:t.dataset.filename,position:m(t.getBoundingClientRect())};window.parent.postMessage({type:"inline-edit",elementInfo:r,originalContent:n,newContent:o},"*"),t.dataset.originalTextContent=o||""}function oe(e,t){e.debouncedSendTimeout&&clearTimeout(e.debouncedSendTimeout),e.debouncedSendTimeout=setTimeout(()=>{ne(e,t)},500)}function ie(e){return t=>{E(e),oe(e,t)}}function q(e){A(ie(e))}function N(e,t,n){e.currentEditingElement&&d(e),u(e);let o=l(n);o.forEach(s=>{s instanceof HTMLElement&&(s.dataset.selected="true")}),o.forEach(s=>{let g=f(!0);document.body.appendChild(g),e.selectedOverlays.push(g),c(g,s,!0,e.isVisualEditMode)}),e.selectedElementId=n,a(e);let r=t,i={type:"element-selected",tagName:t.tagName,classes:T(t),visualSelectorId:n,content:r.innerText,dataSourceLocation:r.dataset.sourceLocation,isDynamicContent:r.dataset.dynamicContent==="true",linenumber:r.dataset.linenumber,filename:r.dataset.filename,position:m(t.getBoundingClientRect())};window.parent.postMessage(i,"*")}function z(e,t){if(!e.isVisualEditMode)return;let n=t.target;if(n instanceof HTMLElement&&n.contentEditable==="true")return;if(e.currentEditingElement){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),d(e);return}if(e.isDropdownOpen){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),window.parent.postMessage({type:"close-dropdowns"},"*");return}if(n.tagName.toLowerCase()==="path")return;t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation();let o=n.closest("[data-source-location], [data-visual-selector-id]");if(!o)return;let r=o,i=r.dataset.sourceLocation||r.dataset.visualSelectorId;if(e.selectedElementId===i&&r.dataset.selected==="true"&&e.isInlineEditExperimentEnabled&&p(r)){v(e,r);return}N(e,o,i||null)}function re(e,t){e.isVisualEditMode=t,t?document.body.style.cursor="crosshair":(e.currentEditingElement&&d(e),a(e),u(e),e.currentHighlightedElements=[],document.body.style.cursor="default")}function X(e,t){re(e,t.data.enabled),t.data.specs?.newInlineEditEnabled!==void 0&&(e.isInlineEditExperimentEnabled=t.data.specs.newInlineEditEnabled)}function K(e,t){if(!e.isInlineEditExperimentEnabled){console.log("[VisualEditAgent] toggle-inline-edit-mode ignored - experiment flag not enabled");return}if(console.log("[VisualEditAgent] Processing toggle-inline-edit-mode message"),!t.data||!t.data.dataSourceLocation){console.warn("[VisualEditAgent] Invalid toggle-inline-edit-mode message - missing dataSourceLocation");return}let n=l(t.data.dataSourceLocation);if(n.length===0||!(n[0]instanceof HTMLElement))return;let o=n[0];t.data.inlineEditingMode?p(o)&&(e.selectedElementId!==t.data.dataSourceLocation&&N(e,o,t.data.dataSourceLocation),v(e,o)):e.currentEditingElement===o&&d(e)}function Z(e){if(!e.selectedElementId)return;let t=l(e.selectedElementId),[n]=t;if(!n)return;let o=n.getBoundingClientRect();window.parent.postMessage({type:"element-position-update",position:m(o),isInViewport:W(o),visualSelectorId:e.selectedElementId},"*")}function le(e){e.currentEditingElement&&d(e),u(e)}function ae(e,t,n){let o=l(t);o.length!==0&&(P(o,n),setTimeout(()=>{e.selectedElementId===t&&E(e),e.currentHighlightedElements.length>0&&e.currentHighlightedElements[0]?.dataset?.visualSelectorId===t&&O(e)},50))}function se(e,t,n){let o=l(t);o.length!==0&&(o.forEach(r=>{r.innerText=n}),setTimeout(()=>{e.selectedElementId===t&&E(e)},50))}function w(e){Z(e)}function I(e){E(e),O(e)}function J(e,t){let n=t.data;switch(n.type){case"toggle-visual-edit-mode":X(e,n);break;case"update-classes":n.data&&n.data.classes!==void 0?ae(e,n.data.visualSelectorId,n.data.classes):console.warn("[VisualEditAgent] Invalid update-classes message:",n);break;case"unselect-element":le(e);break;case"refresh-page":window.location.reload();break;case"update-content":n.data&&n.data.content!==void 0?se(e,n.data.visualSelectorId,n.data.content):console.warn("[VisualEditAgent] Invalid update-content message:",n);break;case"toggle-inline-edit-mode":K(e,n);break;case"request-element-position":Z(e);break;case"popover-drag-state":n.data&&n.data.isDragging!==void 0&&(e.isPopoverDragging=n.data.isDragging,n.data.isDragging&&a(e));break;case"dropdown-state":n.data&&n.data.isOpen!==void 0&&(e.isDropdownOpen=n.data.isOpen,n.data.isOpen&&a(e));break;default:break}}function de(){document.querySelectorAll("[data-linenumber]:not([data-visual-selector-id])").forEach((t,n)=>{let o=t,r=`visual-id-${o.dataset.filename}-${o.dataset.linenumber}-${n}`;o.dataset.visualSelectorId=r})}function Ee(e){let t=null,n=o=>{if(o.nodeType!==Node.ELEMENT_NODE)return!1;let r=o;if(r.dataset?.visualSelectorId)return!0;for(let i=0;i<r.children.length;i++)if(n(r.children[i]))return!0;return!1};return new MutationObserver(o=>{if(t!==null)return;o.some(i=>i.type==="attributes"&&(i.attributeName==="style"||i.attributeName==="class"||i.attributeName==="width"||i.attributeName==="height")&&n(i.target))&&(t=requestAnimationFrame(()=>{t=null,e()}))})}function ce(){document.addEventListener("keydown",e=>{e.target instanceof HTMLElement&&e.target.contentEditable},!0)}function ue(e){window.addEventListener("message",t=>J(e,t)),window.addEventListener("scroll",()=>w(e),!0),document.addEventListener("scroll",()=>w(e),!0),window.addEventListener("resize",()=>I(e)),window.addEventListener("scroll",()=>I(e)),document.addEventListener("click",t=>z(e,t),!0),document.addEventListener("mouseover",t=>j(e,t)),document.addEventListener("mouseout",()=>Y(e))}function ee(){let e=R();de(),q(e),ce(),ue(e),Ee(()=>I(e)).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};
5
+ `,document.head.appendChild(t)}function M(){let e=document.getElementById("visual-edit-focus-styles");e&&e.remove()}function y(e){let t=document.createRange();t.selectNodeContents(e);let n=window.getSelection();n?.removeAllRanges(),n?.addRange(t)}function L(e){return!(!(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")}var b=null;function C(e){b=e}var x=new WeakMap;function ee(e){b&&b(this)}function f(e){return!(!(e instanceof HTMLElement)||e.dataset.selected!=="true"||!L(e))}function A(e){O(),e.dataset.originalTextContent=e.textContent||"",e.dataset.originalCursor=e.style.cursor,e.contentEditable="true";let t=new AbortController;x.set(e,t),e.addEventListener("input",ee,{signal:t.signal}),e.style.cursor="text",y(e),setTimeout(()=>{e.focus()},0)}function _(e){let t=x.get(e);t&&(t.abort(),x.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))}function g(e){return{top:e.top,left:e.left,right:e.right,bottom:e.bottom,width:e.width,height:e.height,centerX:e.left+e.width/2,centerY:e.top+e.height/2}}function W(e){return e.top<window.innerHeight&&e.bottom>0&&e.left<window.innerWidth&&e.right>0}function v(e){return e instanceof SVGElement?e.className?.baseVal||"":e.className||""}function T(e,t){e.currentEditingElement=t,e.selectedOverlays.forEach(n=>{n.style.display="none"}),A(t),window.parent.postMessage({type:"content-editing-started",visualSelectorId:e.selectedElementId},"*")}function E(e){if(!e.currentEditingElement)return;e.debouncedSendTimeout&&(clearTimeout(e.debouncedSendTimeout),e.debouncedSendTimeout=null);let t=e.currentEditingElement;_(t),e.selectedOverlays.forEach(n=>{n.style.display=""}),m(e),window.parent.postMessage({type:"content-editing-ended",visualSelectorId:e.selectedElementId},"*"),e.currentEditingElement=null}function ne(e,t){let n=t.dataset.originalTextContent,o=t.textContent,i={tagName:t.tagName,classes:v(t),visualSelectorId:e.selectedElementId,content:o,dataSourceLocation:t.dataset.sourceLocation,isDynamicContent:t.dataset.dynamicContent==="true",linenumber:t.dataset.linenumber,filename:t.dataset.filename,position:g(t.getBoundingClientRect())};window.parent.postMessage({type:"inline-edit",elementInfo:i,originalContent:n,newContent:o},"*"),t.dataset.originalTextContent=o||""}function oe(e,t){e.debouncedSendTimeout&&clearTimeout(e.debouncedSendTimeout),e.debouncedSendTimeout=setTimeout(()=>{ne(e,t)},500)}function ie(e){return t=>{m(e),oe(e,t)}}function Y(e){C(ie(e))}function re(e,t,n){e.currentEditingElement&&E(e),u(e);let o=l(n);e.isInlineEditExperimentEnabled&&o.forEach(a=>{a instanceof HTMLElement&&(a.dataset.selected="true")}),o.forEach(a=>{let d=p(!0);document.body.appendChild(d),e.selectedOverlays.push(d),c(d,a,!0,e.isVisualEditMode)}),e.selectedElementId=n,s(e);let i=t,r={type:"element-selected",tagName:t.tagName,classes:v(t),visualSelectorId:n,content:i.innerText,dataSourceLocation:i.dataset.sourceLocation,isDynamicContent:i.dataset.dynamicContent==="true",linenumber:i.dataset.linenumber,filename:i.dataset.filename,position:g(t.getBoundingClientRect())};window.parent.postMessage(r,"*")}function $(e,t){if(!e.isVisualEditMode)return;let n=t.target;if(e.isInlineEditExperimentEnabled&&n instanceof HTMLElement&&n.contentEditable==="true")return;if(e.currentEditingElement){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),E(e);return}if(e.isDropdownOpen){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),window.parent.postMessage({type:"close-dropdowns"},"*");return}if(n.tagName.toLowerCase()==="path")return;t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation();let o=n.closest("[data-source-location], [data-visual-selector-id]");if(!o)return;let i=o,r=i.dataset.sourceLocation||i.dataset.visualSelectorId;if(e.selectedElementId===r&&i.dataset.selected==="true"&&e.isInlineEditExperimentEnabled&&f(i)){T(e,i);return}re(e,o,r||null)}function le(e,t){e.isVisualEditMode=t,t?document.body.style.cursor="crosshair":(e.currentEditingElement&&E(e),s(e),u(e),e.currentHighlightedElements=[],document.body.style.cursor="default")}function q(e,t){le(e,t.data.enabled),t.data.specs?.newInlineEditEnabled!==void 0&&(e.isInlineEditExperimentEnabled=t.data.specs.newInlineEditEnabled)}function z(e,t){if(!e.isInlineEditExperimentEnabled||!t.data||!t.data.dataSourceLocation)return;let n=l(t.data.dataSourceLocation);if(n.length===0||!(n[0]instanceof HTMLElement))return;let o=n[0];t.data.inlineEditingMode?f(o)&&(e.selectedElementId!==t.data.dataSourceLocation&&(e.currentEditingElement&&E(e),u(e),n.forEach(i=>{i instanceof HTMLElement&&(i.dataset.selected="true")}),n.forEach(i=>{let r=p(!0);document.body.appendChild(r),e.selectedOverlays.push(r),c(r,i,!0,e.isVisualEditMode)}),e.selectedElementId=t.data.dataSourceLocation),T(e,o)):e.currentEditingElement===o&&E(e)}function Q(e){if(!e.selectedElementId)return;let t=l(e.selectedElementId),[n]=t;if(!n)return;let o=n.getBoundingClientRect();window.parent.postMessage({type:"element-position-update",position:g(o),isInViewport:W(o),visualSelectorId:e.selectedElementId},"*")}function se(e){e.currentEditingElement&&E(e),u(e)}function ae(e,t,n){let o=l(t);o.length!==0&&(R(o,n),setTimeout(()=>{e.selectedElementId===t&&m(e);let i=e.currentHighlightedElements[0];i instanceof HTMLElement&&i.dataset.visualSelectorId===t&&h(e)},50))}function de(e,t,n){let o=l(t);o.length!==0&&(o.forEach(i=>{i.innerText=n}),setTimeout(()=>{e.selectedElementId===t&&m(e)},50))}function K(e){Q(e)}function N(e){m(e),h(e)}function Z(e,t){let n=t.data;switch(n.type){case"toggle-visual-edit-mode":q(e,n);break;case"update-classes":n.data&&n.data.classes!==void 0?ae(e,n.data.visualSelectorId,n.data.classes):console.warn("[VisualEditAgent] Invalid update-classes message:",n);break;case"unselect-element":se(e);break;case"refresh-page":window.location.reload();break;case"update-content":n.data&&n.data.content!==void 0?de(e,n.data.visualSelectorId,n.data.content):console.warn("[VisualEditAgent] Invalid update-content message:",n);break;case"toggle-inline-edit-mode":z(e,n);break;case"request-element-position":Q(e);break;case"popover-drag-state":n.data&&n.data.isDragging!==void 0&&(e.isPopoverDragging=n.data.isDragging,n.data.isDragging&&s(e));break;case"dropdown-state":n.data&&n.data.isOpen!==void 0&&(e.isDropdownOpen=n.data.isOpen,n.data.isOpen&&s(e));break;default:break}}function Ee(){document.querySelectorAll("[data-linenumber]:not([data-visual-selector-id])").forEach((t,n)=>{let o=t,i=`visual-id-${o.dataset.filename}-${o.dataset.linenumber}-${n}`;o.dataset.visualSelectorId=i})}function ce(e){let t=null,n=o=>{if(o.nodeType!==Node.ELEMENT_NODE)return!1;let i=o;if(i.dataset?.visualSelectorId)return!0;for(let r of Array.from(i.children))if(n(r))return!0;return!1};return new MutationObserver(o=>{if(t!==null)return;o.some(r=>r.type==="attributes"&&(r.attributeName==="style"||r.attributeName==="class"||r.attributeName==="width"||r.attributeName==="height")&&n(r.target))&&(t=requestAnimationFrame(()=>{t=null,e()}))})}function ue(e){let t=d=>Z(e,d),n=()=>K(e),o=()=>N(e),i=d=>$(e,d),r=d=>F(e,d),a=()=>j(e);return window.addEventListener("message",t),window.addEventListener("scroll",n,!0),document.addEventListener("scroll",n,!0),window.addEventListener("resize",o),window.addEventListener("scroll",o),document.addEventListener("click",i,!0),document.addEventListener("mouseover",r),document.addEventListener("mouseout",a),()=>{window.removeEventListener("message",t),window.removeEventListener("scroll",n,!0),document.removeEventListener("scroll",n,!0),window.removeEventListener("resize",o),window.removeEventListener("scroll",o),document.removeEventListener("click",i,!0),document.removeEventListener("mouseover",r),document.removeEventListener("mouseout",a)}}function J(){let e=w();Ee(),Y(e);let t=ue(e),n=ce(()=>N(e));return n.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class","width","height"]}),window.parent.postMessage({type:"visual-edit-agent-ready"},"*"),()=>{n.disconnect(),t()}}export{J as setupVisualEditAgent};
6
6
  //# sourceMappingURL=index.mjs.map