@base44-preview/vite-plugin 1.0.24-pr.93.fd9637f → 1.0.24-pr.95.72a645e

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.
@@ -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;AA8EtD,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,GAoFM,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"}
@@ -52,11 +52,6 @@ const INJECTIONS = {
52
52
  injectTo: "head",
53
53
  mode: "dev",
54
54
  },
55
- keyboardViewport: {
56
- src: "/node_modules/@base44/vite-plugin/dist/injections/keyboard-viewport-bridge.js",
57
- injectTo: "head",
58
- mode: "dev",
59
- },
60
55
  analyticsTracker: {
61
56
  injectTo: "head",
62
57
  mode: "production",
@@ -69,7 +64,6 @@ export function htmlInjectionsPlugin({ hmrNotifier, navigationNotifier, visualEd
69
64
  sandboxMount: true,
70
65
  hmrNotifier,
71
66
  navigationNotifier,
72
- keyboardViewport: true,
73
67
  analyticsTracker,
74
68
  };
75
69
  let resolvedEnv = {};
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@base44-preview/vite-plugin",
3
- "version": "1.0.24-pr.93.fd9637f",
3
+ "version": "1.0.24-pr.95.72a645e",
4
4
  "description": "The Vite plugin for base44 based applications",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -64,11 +64,6 @@ const INJECTIONS: Record<string, Injection> = {
64
64
  injectTo: "head",
65
65
  mode: "dev",
66
66
  },
67
- keyboardViewport: {
68
- src: "/node_modules/@base44/vite-plugin/dist/injections/keyboard-viewport-bridge.js",
69
- injectTo: "head",
70
- mode: "dev",
71
- },
72
67
  analyticsTracker: {
73
68
  injectTo: "head",
74
69
  mode: "production",
@@ -92,7 +87,6 @@ export function htmlInjectionsPlugin({
92
87
  sandboxMount: true,
93
88
  hmrNotifier,
94
89
  navigationNotifier,
95
- keyboardViewport: true,
96
90
  analyticsTracker,
97
91
  };
98
92
 
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=keyboard-viewport-bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard-viewport-bridge.d.ts","sourceRoot":"","sources":["../../src/injections/keyboard-viewport-bridge.ts"],"names":[],"mappings":""}
@@ -1,59 +0,0 @@
1
- /// <reference types="vite/client" />
2
- // The on-screen keyboard shrinks the builder's (top-level) visual viewport but not
3
- // the preview iframe's, so an app inside the iframe can't reflow above the keyboard
4
- // and leaves a blank gap (the published, top-level app is unaffected). The builder
5
- // posts the visible height here — { type: "keyboard-viewport", height } — and while
6
- // the keyboard is open (height > 0) we cap the document / #root / full-height wrappers
7
- // to it so the layout fits above the keyboard; height 0 releases the cap.
8
- // Inert until the parent posts; only runs inside the preview iframe.
9
- if (window.self !== window.top) {
10
- const MESSAGE_TYPE = "keyboard-viewport";
11
- const HEIGHT_VAR = "--base44-keyboard-viewport-height";
12
- const STYLE_ID = "base44-keyboard-viewport-style";
13
- const ensureStyle = () => {
14
- if (document.getElementById(STYLE_ID))
15
- return;
16
- const style = document.createElement("style");
17
- style.id = STYLE_ID;
18
- // Active only while HEIGHT_VAR is set on <html> (keyboard open). code_generator
19
- // gives app roots `min-h-screen`/`h-screen`, so capping those (plus 100vh/100dvh
20
- // inline styles), the mount node and the document makes the layout fit the
21
- // visible area and reflow bottom-anchored inputs above the keyboard.
22
- style.textContent = [
23
- `html[style*="${HEIGHT_VAR}"], html[style*="${HEIGHT_VAR}"] body {`,
24
- ` height: var(${HEIGHT_VAR}) !important;`,
25
- ` min-height: var(${HEIGHT_VAR}) !important;`,
26
- `}`,
27
- `html[style*="${HEIGHT_VAR}"] #root {`,
28
- ` height: var(${HEIGHT_VAR}) !important;`,
29
- ` min-height: var(${HEIGHT_VAR}) !important;`,
30
- ` overflow: hidden;`,
31
- `}`,
32
- `html[style*="${HEIGHT_VAR}"] :is(.h-screen, .min-h-screen),`,
33
- `html[style*="${HEIGHT_VAR}"] [style*="100vh"],`,
34
- `html[style*="${HEIGHT_VAR}"] [style*="100dvh"] {`,
35
- ` height: var(${HEIGHT_VAR}) !important;`,
36
- ` min-height: var(${HEIGHT_VAR}) !important;`,
37
- `}`,
38
- ].join("\n");
39
- document.head.appendChild(style);
40
- };
41
- const apply = (height) => {
42
- const root = document.documentElement;
43
- if (height > 0) {
44
- ensureStyle();
45
- root.style.setProperty(HEIGHT_VAR, `${Math.round(height)}px`);
46
- }
47
- else {
48
- root.style.removeProperty(HEIGHT_VAR);
49
- }
50
- };
51
- window.addEventListener("message", (event) => {
52
- const data = event.data;
53
- if (!data || data.type !== MESSAGE_TYPE || typeof data.height !== "number")
54
- return;
55
- apply(data.height);
56
- });
57
- }
58
- export {};
59
- //# sourceMappingURL=keyboard-viewport-bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard-viewport-bridge.js","sourceRoot":"","sources":["../../src/injections/keyboard-viewport-bridge.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,mFAAmF;AACnF,oFAAoF;AACpF,mFAAmF;AACnF,oFAAoF;AACpF,uFAAuF;AACvF,0EAA0E;AAC1E,qEAAqE;AAErE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,mBAAmB,CAAC;IACzC,MAAM,UAAU,GAAG,mCAAmC,CAAC;IACvD,MAAM,QAAQ,GAAG,gCAAgC,CAAC;IAElD,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;QACpB,gFAAgF;QAChF,iFAAiF;QACjF,2EAA2E;QAC3E,qEAAqE;QACrE,KAAK,CAAC,WAAW,GAAG;YAClB,gBAAgB,UAAU,oBAAoB,UAAU,WAAW;YACnE,iBAAiB,UAAU,eAAe;YAC1C,qBAAqB,UAAU,eAAe;YAC9C,GAAG;YACH,gBAAgB,UAAU,YAAY;YACtC,iBAAiB,UAAU,eAAe;YAC1C,qBAAqB,UAAU,eAAe;YAC9C,qBAAqB;YACrB,GAAG;YACH,gBAAgB,UAAU,mCAAmC;YAC7D,gBAAgB,UAAU,sBAAsB;YAChD,gBAAgB,UAAU,wBAAwB;YAClD,iBAAiB,UAAU,eAAe;YAC1C,qBAAqB,UAAU,eAAe;YAC9C,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,MAAc,EAAQ,EAAE;QACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QACtC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAmB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAiD,CAAC;QACrE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;QACnF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,58 +0,0 @@
1
- /// <reference types="vite/client" />
2
- // The on-screen keyboard shrinks the builder's (top-level) visual viewport but not
3
- // the preview iframe's, so an app inside the iframe can't reflow above the keyboard
4
- // and leaves a blank gap (the published, top-level app is unaffected). The builder
5
- // posts the visible height here — { type: "keyboard-viewport", height } — and while
6
- // the keyboard is open (height > 0) we cap the document / #root / full-height wrappers
7
- // to it so the layout fits above the keyboard; height 0 releases the cap.
8
- // Inert until the parent posts; only runs inside the preview iframe.
9
-
10
- if (window.self !== window.top) {
11
- const MESSAGE_TYPE = "keyboard-viewport";
12
- const HEIGHT_VAR = "--base44-keyboard-viewport-height";
13
- const STYLE_ID = "base44-keyboard-viewport-style";
14
-
15
- const ensureStyle = (): void => {
16
- if (document.getElementById(STYLE_ID)) return;
17
- const style = document.createElement("style");
18
- style.id = STYLE_ID;
19
- // Active only while HEIGHT_VAR is set on <html> (keyboard open). code_generator
20
- // gives app roots `min-h-screen`/`h-screen`, so capping those (plus 100vh/100dvh
21
- // inline styles), the mount node and the document makes the layout fit the
22
- // visible area and reflow bottom-anchored inputs above the keyboard.
23
- style.textContent = [
24
- `html[style*="${HEIGHT_VAR}"], html[style*="${HEIGHT_VAR}"] body {`,
25
- ` height: var(${HEIGHT_VAR}) !important;`,
26
- ` min-height: var(${HEIGHT_VAR}) !important;`,
27
- `}`,
28
- `html[style*="${HEIGHT_VAR}"] #root {`,
29
- ` height: var(${HEIGHT_VAR}) !important;`,
30
- ` min-height: var(${HEIGHT_VAR}) !important;`,
31
- ` overflow: hidden;`,
32
- `}`,
33
- `html[style*="${HEIGHT_VAR}"] :is(.h-screen, .min-h-screen),`,
34
- `html[style*="${HEIGHT_VAR}"] [style*="100vh"],`,
35
- `html[style*="${HEIGHT_VAR}"] [style*="100dvh"] {`,
36
- ` height: var(${HEIGHT_VAR}) !important;`,
37
- ` min-height: var(${HEIGHT_VAR}) !important;`,
38
- `}`,
39
- ].join("\n");
40
- document.head.appendChild(style);
41
- };
42
-
43
- const apply = (height: number): void => {
44
- const root = document.documentElement;
45
- if (height > 0) {
46
- ensureStyle();
47
- root.style.setProperty(HEIGHT_VAR, `${Math.round(height)}px`);
48
- } else {
49
- root.style.removeProperty(HEIGHT_VAR);
50
- }
51
- };
52
-
53
- window.addEventListener("message", (event: MessageEvent) => {
54
- const data = event.data as { type?: string; height?: number } | null;
55
- if (!data || data.type !== MESSAGE_TYPE || typeof data.height !== "number") return;
56
- apply(data.height);
57
- });
58
- }