@base44-preview/vite-plugin 1.0.6-pr.63.d7abd73 → 1.0.18-pr.80.1ee8db5

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 (56) hide show
  1. package/dist/html-injections-plugin.d.ts.map +1 -1
  2. package/dist/html-injections-plugin.js +4 -2
  3. package/dist/html-injections-plugin.js.map +1 -1
  4. package/dist/index.js +2 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/injections/auto-popup-suppressor.d.ts +6 -0
  7. package/dist/injections/auto-popup-suppressor.d.ts.map +1 -0
  8. package/dist/injections/auto-popup-suppressor.js +273 -0
  9. package/dist/injections/auto-popup-suppressor.js.map +1 -0
  10. package/dist/injections/canvas-wheel-zoom-bridge.d.ts +5 -0
  11. package/dist/injections/canvas-wheel-zoom-bridge.d.ts.map +1 -0
  12. package/dist/injections/canvas-wheel-zoom-bridge.js +64 -0
  13. package/dist/injections/canvas-wheel-zoom-bridge.js.map +1 -0
  14. package/dist/injections/page-height-bridge.d.ts +14 -0
  15. package/dist/injections/page-height-bridge.d.ts.map +1 -0
  16. package/dist/injections/page-height-bridge.js +510 -0
  17. package/dist/injections/page-height-bridge.js.map +1 -0
  18. package/dist/injections/visual-edit-agent.d.ts.map +1 -1
  19. package/dist/injections/visual-edit-agent.js +21 -0
  20. package/dist/injections/visual-edit-agent.js.map +1 -1
  21. package/dist/jsx-processor.d.ts.map +1 -1
  22. package/dist/jsx-processor.js +1 -0
  23. package/dist/jsx-processor.js.map +1 -1
  24. package/dist/processors/collection-id-processor.d.ts +1 -0
  25. package/dist/processors/collection-id-processor.d.ts.map +1 -1
  26. package/dist/processors/collection-id-processor.js +17 -0
  27. package/dist/processors/collection-id-processor.js.map +1 -1
  28. package/dist/processors/collection-item-field-processor.d.ts.map +1 -1
  29. package/dist/processors/collection-item-field-processor.js +16 -5
  30. package/dist/processors/collection-item-field-processor.js.map +1 -1
  31. package/dist/processors/collection-item-id-processor.d.ts +27 -0
  32. package/dist/processors/collection-item-id-processor.d.ts.map +1 -1
  33. package/dist/processors/collection-item-id-processor.js +128 -1
  34. package/dist/processors/collection-item-id-processor.js.map +1 -1
  35. package/dist/processors/utils/collection-tracing-utils.d.ts +1 -1
  36. package/dist/processors/utils/collection-tracing-utils.d.ts.map +1 -1
  37. package/dist/processors/utils/collection-tracing-utils.js +48 -10
  38. package/dist/processors/utils/collection-tracing-utils.js.map +1 -1
  39. package/dist/processors/utils/shared-utils.js +1 -1
  40. package/dist/processors/utils/shared-utils.js.map +1 -1
  41. package/dist/statics/index.mjs +8 -8
  42. package/dist/statics/index.mjs.map +1 -1
  43. package/package.json +1 -1
  44. package/src/bridge.ts +1 -1
  45. package/src/html-injections-plugin.ts +4 -2
  46. package/src/index.ts +2 -2
  47. package/src/injections/auto-popup-suppressor.ts +277 -0
  48. package/src/injections/canvas-wheel-zoom-bridge.ts +78 -0
  49. package/src/injections/page-height-bridge.ts +566 -0
  50. package/src/injections/visual-edit-agent.ts +32 -1
  51. package/src/jsx-processor.ts +1 -0
  52. package/src/processors/collection-id-processor.ts +17 -0
  53. package/src/processors/collection-item-field-processor.ts +23 -5
  54. package/src/processors/collection-item-id-processor.ts +154 -0
  55. package/src/processors/utils/collection-tracing-utils.ts +54 -8
  56. package/src/processors/utils/shared-utils.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"html-injections-plugin.d.ts","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAyEtD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GAiFM,MAAM,CACZ"}
1
+ {"version":3,"file":"html-injections-plugin.d.ts","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAyEtD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GAmFM,MAAM,CACZ"}
@@ -13,7 +13,7 @@ if (window.self === window.top) {
13
13
  const pageName = getPageNameFromPath(path) || "home";
14
14
  const appId = import.meta.env.VITE_BASE44_APP_ID;
15
15
  if (!appId) return;
16
- fetch(\`/app-logs/\${appId}/log-user-in-app/\${pageName}\`, {
16
+ fetch(\`/api/app-logs/\${appId}/log-user-in-app/\${pageName}\`, {
17
17
  method: "POST",
18
18
  }).catch(() => {});
19
19
  }
@@ -117,7 +117,9 @@ export function htmlInjectionsPlugin({ hmrNotifier, navigationNotifier, visualEd
117
117
  ` ? "https://localhost:3201/index.mjs"`,
118
118
  ` : "${dist}/statics/index.mjs";`,
119
119
  ` import(url)`,
120
- ` .then(mod => { if (typeof mod.setupVisualEditAgent === "function") mod.setupVisualEditAgent(); })`,
120
+ ` .then(mod => {`,
121
+ ` if (typeof mod.setupVisualEditAgent === "function") mod.setupVisualEditAgent();`,
122
+ ` })`,
121
123
  ` .catch(e => console.error("[visual-edit-agent] Failed to load:", e));`,
122
124
  `}`,
123
125
  ].join("\n"),
@@ -1 +1 @@
1
- {"version":3,"file":"html-injections-plugin.js","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-injections-plugin.js","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAW/B,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC;AAEF,MAAM,UAAU,GAA8B;IAC5C,eAAe,EAAE;QACf,GAAG,EAAE,gFAAgF;QACrF,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,6EAA6E;QAClF,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,WAAW,EAAE;QACX,GAAG,EAAE,2EAA2E;QAChF,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,0EAA0E;QAC/E,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,wBAAwB;KACxC;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GAMjB;IACC,MAAM,iBAAiB,GAA4B;QACjD,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,WAAW;QACX,kBAAkB;QAClB,gBAAgB;KACjB,CAAC;IAEF,IAAI,WAAW,GAA2B,EAAE,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,cAAc,CAAC,MAAM;YACnB,iDAAiD;YACjD,0DAA0D;YAC1D,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,kBAAkB,EAAE;YAClB,OAAO,CAAC,KAAK,EAAE,GAAG;gBAChB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;gBAEtD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;qBACpC,MAAM,CACL,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CACnB,iBAAiB,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,CAC3D;qBACA,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAqB,EAAE;oBACxC,kFAAkF;oBAClF,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;wBAC5B,wDAAwD;wBACxD,sDAAsD;wBACtD,IAAI,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC;wBACtC,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,2BAA2B,EAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CACzD,CAAC;wBAEF,OAAO;4BACL,GAAG,EAAE,QAAQ;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,SAAS,CAAC,QAAQ;yBAC7B,CAAC;oBACJ,CAAC;oBACD,yDAAyD;oBACzD,OAAO;wBACL,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE;4BACL,GAAG,EAAE,SAAS,CAAC,GAAG;4BAClB,IAAI,EAAE,QAAQ;yBACf;wBACD,QAAQ,EAAE,SAAS,CAAC,QAAQ;qBAC7B,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEL,2DAA2D;gBAC3D,iDAAiD;gBACjD,IAAI,WAAW,KAAK,KAAK,IAAI,eAAe,EAAE,CAAC;oBAC7C,MAAM,IAAI,GAAG,wCAAwC,CAAC;oBACtD,IAAI,CAAC,IAAI,CAAC;wBACR,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,QAAQ,EAAE;4BACR,mCAAmC;4BACnC,4EAA4E;4BAC5E,gCAAgC;4BAChC,0CAA0C;4BAC1C,UAAU,IAAI,sBAAsB;4BACpC,eAAe;4BACf,oBAAoB;4BACpB,uFAAuF;4BACvF,QAAQ;4BACR,2EAA2E;4BAC3E,GAAG;yBACJ,CAAC,IAAI,CAAC,IAAI,CAAC;wBACZ,QAAQ,EAAE,MAAM;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACQ,CAAC;AACd,CAAC"}
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ export default function vitePlugin(opts = {}) {
9
9
  return [
10
10
  {
11
11
  name: "base44",
12
- config: ({ mode, root = process.cwd(), server: serverConfig }) => {
12
+ config: ({ mode, root = process.cwd() }) => {
13
13
  const env = loadEnv(mode ?? "development", root, "");
14
14
  return {
15
15
  resolve: {
@@ -30,7 +30,7 @@ export default function vitePlugin(opts = {}) {
30
30
  server: {
31
31
  cors: true,
32
32
  host: "0.0.0.0", // Bind to all interfaces for container access
33
- port: serverConfig?.port ?? 5173,
33
+ port: 5173,
34
34
  strictPort: true,
35
35
  // Allow all hosts - essential for Modal tunnel URLs
36
36
  allowedHosts: true,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type AutoPopupSuppressorController = {
2
+ suppress: () => void;
3
+ teardown: () => void;
4
+ };
5
+ export declare function createAutoPopupSuppressorController(): AutoPopupSuppressorController;
6
+ //# sourceMappingURL=auto-popup-suppressor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-popup-suppressor.d.ts","sourceRoot":"","sources":["../../src/injections/auto-popup-suppressor.ts"],"names":[],"mappings":"AAqCA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,mCAAmC,IAAI,6BAA6B,CA0FnF"}
@@ -0,0 +1,273 @@
1
+ // auto-popup-suppressor — hides auto-opening modal popups in the canvas
2
+ // preview iframe so the page snapshot isn't obscured by overlays the user
3
+ // didn't intend to capture. Driven by `{ type: "suppress-auto-popups" }` from
4
+ // the parent; inert until that arrives.
5
+ //
6
+ // Two-stage heuristic:
7
+ //
8
+ // 1. BACKDROP MATCH — element must be `position: fixed`, cover ≥90% of the
9
+ // viewport on both axes, have z-index ≥40, and show backdrop-like styles
10
+ // (translucent background OR backdrop-filter). This is the modal-overlay
11
+ // fingerprint.
12
+ //
13
+ // 2. PANEL SWEEP — once we've hidden any backdrop, sweep the whole document
14
+ // for fixed/high-z elements whose bbox falls in a "modal-shaped" band
15
+ // (15–95% on both axes). Picks up the dialog content panel even when it
16
+ // isn't a direct sibling of the overlay (Radix wraps content in
17
+ // FocusScope + DismissableLayer + focus-guards; shadcn's portals use
18
+ // `asChild`, so structural relationships vary).
19
+ //
20
+ // A sticky `backdropEverDetected` flag keeps the panel-shape check live for
21
+ // later MutationObserver ticks — Content sometimes mounts in a different
22
+ // batch than its Overlay.
23
+ //
24
+ // Why the percentage gates aren't based on window.innerHeight: the canvas
25
+ // iframe is auto-sized to the document content (e.g. 4958px), so innerHeight
26
+ // is the document height, not the visible viewport. page-height-bridge sets
27
+ // `--base44-reference-vh-base` to the canvas tile height — the viewport the
28
+ // user actually sees — and that's what our gates use.
29
+ const SUPPRESSED_ATTR = "data-base44-suppressed-popup";
30
+ const REFERENCE_VH_BASE_VAR = "--base44-reference-vh-base";
31
+ const FULL_VIEWPORT_RATIO = 0.9;
32
+ const MODAL_PANEL_MIN_RATIO = 0.15;
33
+ const MODAL_PANEL_MAX_RATIO = 0.95;
34
+ const MIN_Z_INDEX = 40;
35
+ export function createAutoPopupSuppressorController() {
36
+ let observer = null;
37
+ let domReadyHandler = null;
38
+ let active = false;
39
+ // Once a backdrop has been seen, modal-shaped panels appearing in later
40
+ // mutation batches are also hidden. Without this, a Content node that
41
+ // mounts after its Overlay's batch wouldn't be matched in-flight.
42
+ let backdropEverDetected = false;
43
+ const hideBackdrop = (el) => {
44
+ if (el.hasAttribute(SUPPRESSED_ATTR))
45
+ return;
46
+ applyHide(el);
47
+ backdropEverDetected = true;
48
+ sweepDocumentForModalPanels();
49
+ };
50
+ const scanNode = (root) => {
51
+ if (!document.body)
52
+ return;
53
+ const { vw, vh } = viewportForGates();
54
+ const startRoots = root === document
55
+ ? [document.body]
56
+ : root instanceof Element
57
+ ? [root]
58
+ : [];
59
+ for (const startRoot of startRoots) {
60
+ checkNode(startRoot, vw, vh);
61
+ const candidates = startRoot.querySelectorAll(`*:not([${SUPPRESSED_ATTR}])`);
62
+ for (let i = 0; i < candidates.length; i++) {
63
+ const el = candidates[i];
64
+ if (el)
65
+ checkNode(el, vw, vh);
66
+ }
67
+ }
68
+ };
69
+ const checkNode = (el, vw, vh) => {
70
+ if (matchesBackdrop(el, vw, vh)) {
71
+ hideBackdrop(el);
72
+ }
73
+ else if (backdropEverDetected &&
74
+ el instanceof HTMLElement &&
75
+ matchesModalPanel(el, vw, vh)) {
76
+ applyHide(el);
77
+ }
78
+ };
79
+ const attach = () => {
80
+ scanNode(document);
81
+ if (observer)
82
+ return;
83
+ observer = new MutationObserver((mutations) => {
84
+ for (const m of mutations) {
85
+ if (m.type !== "childList")
86
+ continue;
87
+ for (let i = 0; i < m.addedNodes.length; i++) {
88
+ const node = m.addedNodes[i];
89
+ if (node instanceof Element)
90
+ scanNode(node);
91
+ }
92
+ }
93
+ });
94
+ observer.observe(document.documentElement, { childList: true, subtree: true });
95
+ };
96
+ return {
97
+ suppress: () => {
98
+ if (active)
99
+ return;
100
+ active = true;
101
+ if (document.body) {
102
+ attach();
103
+ }
104
+ else {
105
+ domReadyHandler = () => {
106
+ domReadyHandler = null;
107
+ attach();
108
+ };
109
+ document.addEventListener("DOMContentLoaded", domReadyHandler);
110
+ }
111
+ },
112
+ teardown: () => {
113
+ active = false;
114
+ backdropEverDetected = false;
115
+ if (observer) {
116
+ observer.disconnect();
117
+ observer = null;
118
+ }
119
+ if (domReadyHandler) {
120
+ document.removeEventListener("DOMContentLoaded", domReadyHandler);
121
+ domReadyHandler = null;
122
+ }
123
+ },
124
+ };
125
+ }
126
+ // ── Heuristic ───────────────────────────────────────────────────────────────
127
+ // Stage 1: identify a modal backdrop.
128
+ //
129
+ // Gate order matters for perf — `getComputedStyle` forces a style recalc, so
130
+ // we run the position check first (drops 99%+ of nodes), then the cheaper
131
+ // bbox check, then style-derived gates. `matchesOverlay` is called for every
132
+ // node in every added subtree, so this is the hot path.
133
+ function matchesBackdrop(el, vw, vh) {
134
+ if (!(el instanceof HTMLElement))
135
+ return false;
136
+ if (el.hasAttribute(SUPPRESSED_ATTR))
137
+ return false;
138
+ const style = window.getComputedStyle(el);
139
+ if (style.position !== "fixed")
140
+ return false;
141
+ if (!coversFullViewport(el, vw, vh))
142
+ return false;
143
+ if (!hasHighZIndex(style))
144
+ return false;
145
+ return hasBackdropLook(el, style);
146
+ }
147
+ // Stage 2: identify the content panel paired with a backdrop. Runs both as a
148
+ // document-wide sweep after a backdrop hide AND as an inline check on each
149
+ // newly-added node once `backdropEverDetected` is set.
150
+ function matchesModalPanel(el, vw, vh) {
151
+ if (el.hasAttribute(SUPPRESSED_ATTR))
152
+ return false;
153
+ const style = window.getComputedStyle(el);
154
+ if (style.position !== "fixed")
155
+ return false;
156
+ if (!hasHighZIndex(style))
157
+ return false;
158
+ return hasModalShapeBbox(el, vw, vh);
159
+ }
160
+ function sweepDocumentForModalPanels() {
161
+ if (!document.body)
162
+ return;
163
+ const { vw, vh } = viewportForGates();
164
+ if (vw <= 0 || vh <= 0)
165
+ return;
166
+ const candidates = document.body.querySelectorAll(`*:not([${SUPPRESSED_ATTR}])`);
167
+ for (let i = 0; i < candidates.length; i++) {
168
+ const el = candidates[i];
169
+ if (el && matchesModalPanel(el, vw, vh))
170
+ applyHide(el);
171
+ }
172
+ }
173
+ // ── Gate predicates ─────────────────────────────────────────────────────────
174
+ function coversFullViewport(el, vw, vh) {
175
+ if (vw <= 0 || vh <= 0)
176
+ return false;
177
+ const rect = el.getBoundingClientRect();
178
+ return (rect.width >= vw * FULL_VIEWPORT_RATIO &&
179
+ rect.height >= vh * FULL_VIEWPORT_RATIO);
180
+ }
181
+ // "Modal-shaped" = small enough not to be a sidebar/full-screen overlay
182
+ // (≤95% on both axes), big enough not to be a nav/footer/toast (≥15% on both
183
+ // axes). Calibrated against shadcn Dialog content (≈25–50% × 30–50%), top
184
+ // nav (height fails ≤15%), sidebar (height fails ≥95%), toast (height fails
185
+ // ≤15%).
186
+ function hasModalShapeBbox(el, vw, vh) {
187
+ const rect = el.getBoundingClientRect();
188
+ return (rect.width >= vw * MODAL_PANEL_MIN_RATIO &&
189
+ rect.height >= vh * MODAL_PANEL_MIN_RATIO &&
190
+ rect.width <= vw * MODAL_PANEL_MAX_RATIO &&
191
+ rect.height <= vh * MODAL_PANEL_MAX_RATIO);
192
+ }
193
+ function hasHighZIndex(style) {
194
+ const z = parseInt(style.zIndex, 10);
195
+ return Number.isFinite(z) && z >= MIN_Z_INDEX;
196
+ }
197
+ // True if the element looks like a modal backdrop: translucent fill OR a
198
+ // backdrop-filter (e.g. blur). Also returns true if the element's own bg is
199
+ // transparent but a fixed/high-z descendant paints the backdrop — covers
200
+ // dialog wrappers that delegate the backdrop to a child element.
201
+ function hasBackdropLook(el, style) {
202
+ if (isTranslucent(style.backgroundColor))
203
+ return true;
204
+ if (style.backdropFilter && style.backdropFilter !== "none")
205
+ return true;
206
+ const descendants = el.querySelectorAll("*");
207
+ for (let i = 0; i < descendants.length; i++) {
208
+ const child = descendants[i];
209
+ if (!child)
210
+ continue;
211
+ const cs = window.getComputedStyle(child);
212
+ if (cs.position !== "fixed" && cs.position !== "absolute")
213
+ continue;
214
+ if (!hasHighZIndex(cs))
215
+ continue;
216
+ if (isTranslucent(cs.backgroundColor))
217
+ return true;
218
+ if (cs.backdropFilter && cs.backdropFilter !== "none")
219
+ return true;
220
+ }
221
+ return false;
222
+ }
223
+ function isTranslucent(color) {
224
+ const alpha = parseAlpha(color);
225
+ return alpha !== null && alpha > 0 && alpha < 1;
226
+ }
227
+ // Extracts the alpha channel from a computed background-color across legacy
228
+ // AND modern color syntaxes:
229
+ //
230
+ // • `rgb(r, g, b)` / `rgba(r, g, b, a)` — legacy comma syntax.
231
+ // • `<func>(... / a)` / `<func>(... / a%)` — modern slash-alpha (oklch,
232
+ // oklab, lch, lab, hsl, hsla, color, modern rgb). Tailwind v4 / shadcn
233
+ // theme tokens compute to these.
234
+ // • A recognized color function call without explicit alpha → 1.
235
+ //
236
+ // Returns null when unrecognized; callers treat null as "not a backdrop".
237
+ function parseAlpha(value) {
238
+ if (!value)
239
+ return null;
240
+ const comma = /^rgba?\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*(?:,\s*([0-9.]+)\s*)?\)$/.exec(value);
241
+ if (comma)
242
+ return comma[1] === undefined ? 1 : parseFloat(comma[1]);
243
+ const slash = /\/\s*([0-9.]+)(%?)\s*\)$/.exec(value);
244
+ if (slash) {
245
+ const n = parseFloat(slash[1]);
246
+ return slash[2] === "%" ? n / 100 : n;
247
+ }
248
+ if (/^[a-z]+\s*\(/.test(value))
249
+ return 1;
250
+ return null;
251
+ }
252
+ // ── DOM ops ─────────────────────────────────────────────────────────────────
253
+ function applyHide(el) {
254
+ if (el.hasAttribute(SUPPRESSED_ATTR))
255
+ return;
256
+ el.setAttribute(SUPPRESSED_ATTR, "1");
257
+ el.style.setProperty("display", "none", "important");
258
+ }
259
+ // Viewport dimensions used for percentage gates. Width comes from
260
+ // `innerWidth` (unaffected by canvas auto-fit). Height prefers the reference
261
+ // vh set by page-height-bridge — without that, after the iframe auto-resizes
262
+ // to document content, `innerHeight` is the document height and every modal
263
+ // panel falls below the 15% floor.
264
+ function viewportForGates() {
265
+ const vw = window.innerWidth || document.documentElement.clientWidth || 0;
266
+ const refStr = document.documentElement.style.getPropertyValue(REFERENCE_VH_BASE_VAR);
267
+ const ref = parseFloat(refStr);
268
+ const vh = Number.isFinite(ref) && ref > 0
269
+ ? ref
270
+ : (window.innerHeight || document.documentElement.clientHeight || 0);
271
+ return { vw, vh };
272
+ }
273
+ //# sourceMappingURL=auto-popup-suppressor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-popup-suppressor.js","sourceRoot":"","sources":["../../src/injections/auto-popup-suppressor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function createCanvasWheelZoomBridgeController(): {
2
+ enable: () => void;
3
+ disable: () => void;
4
+ };
5
+ //# sourceMappingURL=canvas-wheel-zoom-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-wheel-zoom-bridge.d.ts","sourceRoot":"","sources":["../../src/injections/canvas-wheel-zoom-bridge.ts"],"names":[],"mappings":"AAuBA,wBAAgB,qCAAqC;kBAsChC,IAAI;mBAMH,IAAI;EAUzB"}
@@ -0,0 +1,64 @@
1
+ import { PLUGIN_ELEMENT_ATTR } from "./utils.js";
2
+ function elementFromEventTarget(target) {
3
+ if (target instanceof Element)
4
+ return target;
5
+ if (target instanceof Node)
6
+ return target.parentElement;
7
+ return null;
8
+ }
9
+ function isPluginOwnedTarget(target) {
10
+ return elementFromEventTarget(target)?.closest(`[${PLUGIN_ELEMENT_ATTR}]`) != null;
11
+ }
12
+ export function createCanvasWheelZoomBridgeController() {
13
+ let isEnabled = false;
14
+ const onWheel = (event) => {
15
+ if (isPluginOwnedTarget(event.target))
16
+ return;
17
+ event.preventDefault();
18
+ if (event.ctrlKey || event.metaKey) {
19
+ window.parent.postMessage({
20
+ type: "canvas-wheel-zoom",
21
+ data: {
22
+ deltaY: event.deltaY,
23
+ deltaMode: event.deltaMode,
24
+ clientX: event.clientX,
25
+ clientY: event.clientY,
26
+ ctrlKey: event.ctrlKey,
27
+ metaKey: event.metaKey,
28
+ },
29
+ }, "*");
30
+ return;
31
+ }
32
+ const panData = {
33
+ deltaX: event.deltaX,
34
+ deltaY: event.deltaY,
35
+ deltaMode: event.deltaMode,
36
+ clientX: event.clientX,
37
+ clientY: event.clientY,
38
+ shiftKey: event.shiftKey,
39
+ ctrlKey: false,
40
+ metaKey: false,
41
+ };
42
+ window.parent.postMessage({
43
+ type: "canvas-wheel-pan",
44
+ data: panData,
45
+ }, "*");
46
+ };
47
+ const enable = () => {
48
+ if (isEnabled)
49
+ return;
50
+ isEnabled = true;
51
+ window.addEventListener("wheel", onWheel, { capture: true, passive: false });
52
+ };
53
+ const disable = () => {
54
+ if (!isEnabled)
55
+ return;
56
+ isEnabled = false;
57
+ window.removeEventListener("wheel", onWheel, true);
58
+ };
59
+ return {
60
+ enable,
61
+ disable,
62
+ };
63
+ }
64
+ //# sourceMappingURL=canvas-wheel-zoom-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-wheel-zoom-bridge.js","sourceRoot":"","sources":["../../src/injections/canvas-wheel-zoom-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAajD,SAAS,sBAAsB,CAAC,MAA0B;IACxD,IAAI,MAAM,YAAY,OAAO;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,MAAM,YAAY,IAAI;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA0B;IACrD,OAAO,sBAAsB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,mBAAmB,GAAG,CAAC,IAAI,IAAI,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,qCAAqC;IACnD,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAQ,EAAE;QAC1C,IAAI,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAO;QAE9C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;gBACxB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE;oBACJ,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,EAAE,GAAG,CAAC,CAAC;YACR,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAuB;YAClC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;SACf,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YACxB,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,OAAO;SACd,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,SAAS;YAAE,OAAO;QACtB,SAAS,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,SAAS,GAAG,KAAK,CAAC;QAClB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ export type PageHeightBridgeController = {
2
+ freezeVhUnits: (override?: number) => void;
3
+ measurePageHeight: (origin: string, settleMs?: number) => void;
4
+ teardown: () => void;
5
+ };
6
+ /**
7
+ * Installs the parent-driven message listener. Returns a teardown that
8
+ * removes the listener, disconnects any observers attached as a result of
9
+ * `freeze-vh-units`, and clears any pending response timer. Returns a
10
+ * no-op when bailed (already started, SSR, top window).
11
+ */
12
+ export declare function setupPageHeightBridge(): () => void;
13
+ export declare function createPageHeightBridgeController(): PageHeightBridgeController;
14
+ //# sourceMappingURL=page-height-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-height-bridge.d.ts","sourceRoot":"","sources":["../../src/injections/page-height-bridge.ts"],"names":[],"mappings":"AA4BA,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAyBF;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,IAAI,CAuClD;AAED,wBAAgB,gCAAgC,IAAI,0BAA0B,CA2F7E"}