@base44-preview/vite-plugin 1.0.6-pr.63.d7abd73 → 1.0.18-pr.80.79b32f2

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 +264 -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 +271 -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":"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"}
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":"AAuCA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAIF,wBAAgB,mCAAmC,IAAI,6BAA6B,CAgGnF"}
@@ -0,0 +1,264 @@
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 a popup-level z-index, and show backdrop-
10
+ // like styles (translucent background OR backdrop-filter). This is the
11
+ // modal-overlay 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 POPUP_Z_INDEX_THRESHOLD = 40;
35
+ // ── Public API ──────────────────────────────────────────────────────────────
36
+ export function createAutoPopupSuppressorController() {
37
+ let observer = null;
38
+ let domReadyHandler = null;
39
+ let active = false;
40
+ // Once a backdrop has been seen, modal-shaped panels appearing in later
41
+ // mutation batches are also hidden. Without this, a Content node that
42
+ // mounts after its Overlay's batch wouldn't be matched in-flight.
43
+ let backdropEverDetected = false;
44
+ // Single decision per element. One getComputedStyle call — backdrop and
45
+ // panel checks share the position/z-index preconditions. Without sharing,
46
+ // every non-matching node in a React commit's added subtree would pay for
47
+ // two style recalcs, which is the MutationObserver hot path.
48
+ const classify = (el, vp) => {
49
+ if (!(el instanceof HTMLElement))
50
+ return;
51
+ if (el.hasAttribute(SUPPRESSED_ATTR))
52
+ return;
53
+ const style = window.getComputedStyle(el);
54
+ if (style.position !== "fixed")
55
+ return;
56
+ if (!hasPopupZIndex(style))
57
+ return;
58
+ if (coversFullViewport(el, vp) && hasBackdropLook(el, style)) {
59
+ hideBackdrop(el);
60
+ return;
61
+ }
62
+ if (backdropEverDetected && hasModalShapeBbox(el, vp)) {
63
+ applyHide(el);
64
+ }
65
+ };
66
+ const hideBackdrop = (el) => {
67
+ if (el.hasAttribute(SUPPRESSED_ATTR))
68
+ return;
69
+ applyHide(el);
70
+ backdropEverDetected = true;
71
+ sweepDocumentForModalPanels(viewportForGates());
72
+ };
73
+ const scanSubtree = (root, vp) => {
74
+ classify(root, vp);
75
+ const descendants = root.querySelectorAll(`*:not([${SUPPRESSED_ATTR}])`);
76
+ for (let i = 0; i < descendants.length; i++) {
77
+ const el = descendants[i];
78
+ if (el)
79
+ classify(el, vp);
80
+ }
81
+ };
82
+ const attachObserver = () => {
83
+ if (observer)
84
+ return;
85
+ // viewportForGates is read once per mutation batch, not per added node —
86
+ // a busy React commit can deliver dozens of added subtrees in one tick.
87
+ observer = new MutationObserver((mutations) => {
88
+ const vp = viewportForGates();
89
+ for (const m of mutations) {
90
+ if (m.type !== "childList")
91
+ continue;
92
+ for (let i = 0; i < m.addedNodes.length; i++) {
93
+ const node = m.addedNodes[i];
94
+ if (node instanceof Element)
95
+ scanSubtree(node, vp);
96
+ }
97
+ }
98
+ });
99
+ observer.observe(document.documentElement, { childList: true, subtree: true });
100
+ };
101
+ const start = () => {
102
+ if (!document.body)
103
+ return;
104
+ scanSubtree(document.body, viewportForGates());
105
+ attachObserver();
106
+ };
107
+ return {
108
+ suppress: () => {
109
+ if (active)
110
+ return;
111
+ active = true;
112
+ if (document.body) {
113
+ start();
114
+ }
115
+ else {
116
+ domReadyHandler = () => {
117
+ domReadyHandler = null;
118
+ start();
119
+ };
120
+ document.addEventListener("DOMContentLoaded", domReadyHandler);
121
+ }
122
+ },
123
+ teardown: () => {
124
+ active = false;
125
+ backdropEverDetected = false;
126
+ if (observer) {
127
+ observer.disconnect();
128
+ observer = null;
129
+ }
130
+ if (domReadyHandler) {
131
+ document.removeEventListener("DOMContentLoaded", domReadyHandler);
132
+ domReadyHandler = null;
133
+ }
134
+ },
135
+ };
136
+ }
137
+ // ── Document-wide panel sweep ───────────────────────────────────────────────
138
+ // Triggered once per backdrop hide. Walks the whole document for unhidden
139
+ // fixed/high-z elements whose bbox falls inside the modal-shape band — picks
140
+ // up content panels regardless of how they're nested or which portal they
141
+ // went through.
142
+ function sweepDocumentForModalPanels(vp) {
143
+ if (!document.body)
144
+ return;
145
+ if (vp.vw <= 0 || vp.vh <= 0)
146
+ return;
147
+ const candidates = document.body.querySelectorAll(`*:not([${SUPPRESSED_ATTR}])`);
148
+ for (let i = 0; i < candidates.length; i++) {
149
+ const el = candidates[i];
150
+ if (el && isModalPanel(el, vp))
151
+ applyHide(el);
152
+ }
153
+ }
154
+ function isModalPanel(el, vp) {
155
+ if (el.hasAttribute(SUPPRESSED_ATTR))
156
+ return false;
157
+ const style = window.getComputedStyle(el);
158
+ if (style.position !== "fixed")
159
+ return false;
160
+ if (!hasPopupZIndex(style))
161
+ return false;
162
+ return hasModalShapeBbox(el, vp);
163
+ }
164
+ // ── Gate predicates ─────────────────────────────────────────────────────────
165
+ function coversFullViewport(el, vp) {
166
+ if (vp.vw <= 0 || vp.vh <= 0)
167
+ return false;
168
+ const rect = el.getBoundingClientRect();
169
+ return (rect.width >= vp.vw * FULL_VIEWPORT_RATIO &&
170
+ rect.height >= vp.vh * FULL_VIEWPORT_RATIO);
171
+ }
172
+ // "Modal-shaped" = small enough not to be a sidebar/full-screen overlay
173
+ // (≤95% on both axes), big enough not to be a nav/footer/toast (≥15% on both
174
+ // axes). Calibrated against shadcn Dialog content (≈25–50% × 30–50%), top
175
+ // nav (height fails ≤15%), sidebar (height fails ≥95%), toast (height fails
176
+ // ≤15%).
177
+ function hasModalShapeBbox(el, vp) {
178
+ const rect = el.getBoundingClientRect();
179
+ return (rect.width >= vp.vw * MODAL_PANEL_MIN_RATIO &&
180
+ rect.height >= vp.vh * MODAL_PANEL_MIN_RATIO &&
181
+ rect.width <= vp.vw * MODAL_PANEL_MAX_RATIO &&
182
+ rect.height <= vp.vh * MODAL_PANEL_MAX_RATIO);
183
+ }
184
+ function hasPopupZIndex(style) {
185
+ const z = parseInt(style.zIndex, 10);
186
+ return Number.isFinite(z) && z >= POPUP_Z_INDEX_THRESHOLD;
187
+ }
188
+ // True if the element looks like a modal backdrop: translucent fill OR a
189
+ // backdrop-filter (e.g. blur). Also returns true if the element's own bg is
190
+ // transparent but a fixed/high-z descendant paints the backdrop — covers
191
+ // dialog wrappers that delegate the backdrop to a child element.
192
+ function hasBackdropLook(el, style) {
193
+ if (isTranslucent(style.backgroundColor))
194
+ return true;
195
+ if (style.backdropFilter && style.backdropFilter !== "none")
196
+ return true;
197
+ const descendants = el.querySelectorAll("*");
198
+ for (let i = 0; i < descendants.length; i++) {
199
+ const child = descendants[i];
200
+ if (!child)
201
+ continue;
202
+ const cs = window.getComputedStyle(child);
203
+ if (cs.position !== "fixed" && cs.position !== "absolute")
204
+ continue;
205
+ if (!hasPopupZIndex(cs))
206
+ continue;
207
+ if (isTranslucent(cs.backgroundColor))
208
+ return true;
209
+ if (cs.backdropFilter && cs.backdropFilter !== "none")
210
+ return true;
211
+ }
212
+ return false;
213
+ }
214
+ function isTranslucent(color) {
215
+ const alpha = parseAlpha(color);
216
+ return alpha !== null && alpha > 0 && alpha < 1;
217
+ }
218
+ // Extracts the alpha channel from a computed background-color across legacy
219
+ // AND modern color syntaxes:
220
+ //
221
+ // • `rgb(r, g, b)` / `rgba(r, g, b, a)` — legacy comma syntax.
222
+ // • `<func>(... / a)` / `<func>(... / a%)` — modern slash-alpha (oklch,
223
+ // oklab, lch, lab, hsl, hsla, color, modern rgb). Tailwind v4 / shadcn
224
+ // theme tokens compute to these.
225
+ // • A recognized color function call without explicit alpha → 1.
226
+ //
227
+ // Returns null when unrecognized; callers treat null as "not a backdrop".
228
+ function parseAlpha(value) {
229
+ if (!value)
230
+ return null;
231
+ const comma = /^rgba?\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*(?:,\s*([0-9.]+)\s*)?\)$/.exec(value);
232
+ if (comma)
233
+ return comma[1] === undefined ? 1 : parseFloat(comma[1]);
234
+ const slash = /\/\s*([0-9.]+)(%?)\s*\)$/.exec(value);
235
+ if (slash) {
236
+ const n = parseFloat(slash[1]);
237
+ return slash[2] === "%" ? n / 100 : n;
238
+ }
239
+ if (/^[a-z]+\s*\(/.test(value))
240
+ return 1;
241
+ return null;
242
+ }
243
+ // ── Viewport + DOM ops ──────────────────────────────────────────────────────
244
+ // Viewport dimensions used for percentage gates. Width comes from
245
+ // `innerWidth` (unaffected by canvas auto-fit). Height prefers the reference
246
+ // vh set by page-height-bridge — without that, after the iframe auto-resizes
247
+ // to document content, `innerHeight` is the document height and every modal
248
+ // panel falls below the 15% floor.
249
+ function viewportForGates() {
250
+ const vw = window.innerWidth || document.documentElement.clientWidth || 0;
251
+ const refStr = document.documentElement.style.getPropertyValue(REFERENCE_VH_BASE_VAR);
252
+ const ref = parseFloat(refStr);
253
+ const vh = Number.isFinite(ref) && ref > 0
254
+ ? ref
255
+ : (window.innerHeight || document.documentElement.clientHeight || 0);
256
+ return { vw, vh };
257
+ }
258
+ function applyHide(el) {
259
+ if (el.hasAttribute(SUPPRESSED_ATTR))
260
+ return;
261
+ el.setAttribute(SUPPRESSED_ATTR, "1");
262
+ el.style.setProperty("display", "none", "important");
263
+ }
264
+ //# 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"}