netra-artifacts 0.1.0-alpha.4 → 0.1.0-alpha.6
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.
- package/CHANGELOG.md +6 -3
- package/README.md +17 -16
- package/dist/constants/sandbox.d.ts +4 -6
- package/dist/constants/sandbox.d.ts.map +1 -1
- package/dist/constants/sandbox.js +3 -6
- package/dist/constants/sandbox.js.map +1 -1
- package/dist/iframe/HtmlArtifactPreview.d.ts.map +1 -1
- package/dist/iframe/HtmlArtifactPreview.js +24 -7
- package/dist/iframe/HtmlArtifactPreview.js.map +1 -1
- package/dist/iframe/iframeSizing.d.ts +2 -1
- package/dist/iframe/iframeSizing.d.ts.map +1 -1
- package/dist/iframe/iframeSizing.js +21 -1
- package/dist/iframe/iframeSizing.js.map +1 -1
- package/dist/iframe/iframeSrcDoc.d.ts +9 -4
- package/dist/iframe/iframeSrcDoc.d.ts.map +1 -1
- package/dist/iframe/iframeSrcDoc.js +67 -16
- package/dist/iframe/iframeSrcDoc.js.map +1 -1
- package/dist/prompts/htmlArtifactPrompt.d.ts +1 -0
- package/dist/prompts/htmlArtifactPrompt.d.ts.map +1 -1
- package/dist/prompts/htmlArtifactPrompt.js +131 -72
- package/dist/prompts/htmlArtifactPrompt.js.map +1 -1
- package/dist/sanitizer/dangerousPatterns.d.ts +2 -1
- package/dist/sanitizer/dangerousPatterns.d.ts.map +1 -1
- package/dist/sanitizer/dangerousPatterns.js +2 -1
- package/dist/sanitizer/dangerousPatterns.js.map +1 -1
- package/dist/sanitizer/sanitizeConfig.d.ts.map +1 -1
- package/dist/sanitizer/sanitizeConfig.js +1 -4
- package/dist/sanitizer/sanitizeConfig.js.map +1 -1
- package/dist/sanitizer/sanitizeHtml.d.ts.map +1 -1
- package/dist/sanitizer/sanitizeHtml.js +38 -2
- package/dist/sanitizer/sanitizeHtml.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +3 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/createArtifactStreamResponse.js +1 -0
- package/dist/server/createArtifactStreamResponse.js.map +1 -1
- package/dist/stream/buffering.d.ts +1 -1
- package/dist/stream/buffering.d.ts.map +1 -1
- package/dist/stream/buffering.js +6 -1
- package/dist/stream/buffering.js.map +1 -1
- package/dist/stream/predictiveHtmlParser.d.ts.map +1 -1
- package/dist/stream/predictiveHtmlParser.js +13 -3
- package/dist/stream/predictiveHtmlParser.js.map +1 -1
- package/dist/types/client.d.ts +2 -2
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/config.d.ts +3 -3
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/server.d.ts +2 -1
- package/dist/types/server.d.ts.map +1 -1
- package/dist-cjs/constants/sandbox.js +3 -6
- package/dist-cjs/constants/sandbox.js.map +1 -1
- package/dist-cjs/iframe/HtmlArtifactPreview.js +24 -7
- package/dist-cjs/iframe/HtmlArtifactPreview.js.map +1 -1
- package/dist-cjs/iframe/iframeSizing.js +21 -1
- package/dist-cjs/iframe/iframeSizing.js.map +1 -1
- package/dist-cjs/iframe/iframeSrcDoc.js +66 -15
- package/dist-cjs/iframe/iframeSrcDoc.js.map +1 -1
- package/dist-cjs/prompts/htmlArtifactPrompt.js +131 -72
- package/dist-cjs/prompts/htmlArtifactPrompt.js.map +1 -1
- package/dist-cjs/sanitizer/dangerousPatterns.js +2 -1
- package/dist-cjs/sanitizer/dangerousPatterns.js.map +1 -1
- package/dist-cjs/sanitizer/sanitizeConfig.js +1 -4
- package/dist-cjs/sanitizer/sanitizeConfig.js.map +1 -1
- package/dist-cjs/sanitizer/sanitizeHtml.js +38 -2
- package/dist-cjs/sanitizer/sanitizeHtml.js.map +1 -1
- package/dist-cjs/server/config.js +3 -1
- package/dist-cjs/server/config.js.map +1 -1
- package/dist-cjs/server/createArtifactStreamResponse.js +1 -0
- package/dist-cjs/server/createArtifactStreamResponse.js.map +1 -1
- package/dist-cjs/stream/buffering.js +6 -1
- package/dist-cjs/stream/buffering.js.map +1 -1
- package/dist-cjs/stream/predictiveHtmlParser.js +13 -3
- package/dist-cjs/stream/predictiveHtmlParser.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,9 +5,12 @@ adheres to [Semantic Versioning](https://semver.org/).
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
-
### Changed
|
|
9
|
-
|
|
10
|
-
-
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- Trusted YouTube embeds and inline JavaScript are now explicit opt-ins. The
|
|
11
|
+
script-capable iframe sandbox omits `allow-same-origin`, and an internal
|
|
12
|
+
postMessage resize bridge keeps isolated video/script previews auto-sized.
|
|
13
|
+
- HTML-artifact prompt reworked to a **hybrid styling model**: one small shared
|
|
11
14
|
`<style>` design system (box-sizing reset + fluid `clamp()` type/space scale +
|
|
12
15
|
element defaults + `.wrap/.stack/.grid/.row/.card/.scroll-x` utility classes)
|
|
13
16
|
plus inline `style=""` for per-element specifics, with an optional 1–2 `@media`
|
package/README.md
CHANGED
|
@@ -94,11 +94,12 @@ export async function POST(req: Request) {
|
|
|
94
94
|
sanitize: {
|
|
95
95
|
allowForms: true,
|
|
96
96
|
allowScripts: false,
|
|
97
|
-
allowInlineStyles: true,
|
|
98
|
-
allowStyleTags: true,
|
|
99
|
-
allowSvg: true,
|
|
100
|
-
allowExternalFonts: false,
|
|
101
|
-
|
|
97
|
+
allowInlineStyles: true,
|
|
98
|
+
allowStyleTags: true,
|
|
99
|
+
allowSvg: true,
|
|
100
|
+
allowExternalFonts: false,
|
|
101
|
+
allowVideoEmbeds: false,
|
|
102
|
+
},
|
|
102
103
|
snapshotIntervalMs: 0,
|
|
103
104
|
},
|
|
104
105
|
emit,
|
|
@@ -212,17 +213,17 @@ type ArtifactStreamEvent =
|
|
|
212
213
|
|
|
213
214
|
## Security
|
|
214
215
|
|
|
215
|
-
Artifacts are static HTML/CSS:
|
|
216
|
-
|
|
217
|
-
- Scripts are stripped
|
|
218
|
-
- Event handler attributes are stripped
|
|
219
|
-
- Dangerous URLs are stripped
|
|
220
|
-
- Iframes, embeds, object tags, and refresh meta tags are stripped
|
|
221
|
-
- The preview iframe
|
|
222
|
-
- `allowExternalFonts` only keeps approved Google Fonts hosts
|
|
223
|
-
|
|
224
|
-
Use Netra for safe previews of generated static HTML
|
|
225
|
-
|
|
216
|
+
Artifacts are static HTML/CSS by default:
|
|
217
|
+
|
|
218
|
+
- Scripts are stripped unless `allowScripts` is explicitly enabled
|
|
219
|
+
- Event handler attributes are stripped
|
|
220
|
+
- Dangerous URLs are stripped
|
|
221
|
+
- Iframes, embeds, object tags, and refresh meta tags are stripped unless `allowVideoEmbeds` keeps a normalized trusted YouTube iframe
|
|
222
|
+
- The preview iframe receives `allow-scripts` only for opt-in inline scripts or trusted video embeds, and that script-capable path omits `allow-same-origin`
|
|
223
|
+
- `allowExternalFonts` only keeps approved Google Fonts hosts
|
|
224
|
+
|
|
225
|
+
Use Netra's default mode for safe previews of generated static HTML. Opt into
|
|
226
|
+
scripts only for artifacts you are comfortable executing in an isolated iframe.
|
|
226
227
|
|
|
227
228
|
## Checks
|
|
228
229
|
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Iframe sandbox tokens. `allow-scripts` is intentionally absent — generated
|
|
3
|
-
* artifacts are static HTML/CSS and must never execute JavaScript.
|
|
4
|
-
*/
|
|
1
|
+
/** Iframe sandbox tokens used by the preview. Scripts are opt-in only. */
|
|
5
2
|
export declare const SANDBOX_TOKENS: {
|
|
6
3
|
readonly FORMS: "allow-forms";
|
|
7
4
|
readonly POPUPS: "allow-popups";
|
|
8
5
|
readonly SAME_ORIGIN: "allow-same-origin";
|
|
6
|
+
readonly SCRIPTS: "allow-scripts";
|
|
9
7
|
};
|
|
10
8
|
/**
|
|
11
9
|
* Default sandbox: forms + same-origin + popups, but NO scripts. `allow-same-origin`
|
|
12
10
|
* lets the parent measure the document so the iframe can auto-fit its content
|
|
13
11
|
* height (no inner scrollbar). It is only dangerous when combined with
|
|
14
|
-
* `allow-scripts
|
|
12
|
+
* `allow-scripts`, so the script-enabled sandbox path deliberately omits it.
|
|
15
13
|
*/
|
|
16
14
|
export declare const DEFAULT_SANDBOX: string;
|
|
17
15
|
/** Tokens that are forbidden regardless of configuration. */
|
|
18
|
-
export declare const FORBIDDEN_SANDBOX_TOKENS: readonly ["allow-
|
|
16
|
+
export declare const FORBIDDEN_SANDBOX_TOKENS: readonly ["allow-top-navigation", "allow-top-navigation-by-user-activation", "allow-modals"];
|
|
19
17
|
//# sourceMappingURL=sandbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/constants/sandbox.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/constants/sandbox.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAmF,CAAC;AAEhH,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,8FAI3B,CAAC"}
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Iframe sandbox tokens. `allow-scripts` is intentionally absent — generated
|
|
3
|
-
* artifacts are static HTML/CSS and must never execute JavaScript.
|
|
4
|
-
*/
|
|
1
|
+
/** Iframe sandbox tokens used by the preview. Scripts are opt-in only. */
|
|
5
2
|
export const SANDBOX_TOKENS = {
|
|
6
3
|
FORMS: "allow-forms",
|
|
7
4
|
POPUPS: "allow-popups",
|
|
8
5
|
SAME_ORIGIN: "allow-same-origin",
|
|
6
|
+
SCRIPTS: "allow-scripts",
|
|
9
7
|
};
|
|
10
8
|
/**
|
|
11
9
|
* Default sandbox: forms + same-origin + popups, but NO scripts. `allow-same-origin`
|
|
12
10
|
* lets the parent measure the document so the iframe can auto-fit its content
|
|
13
11
|
* height (no inner scrollbar). It is only dangerous when combined with
|
|
14
|
-
* `allow-scripts
|
|
12
|
+
* `allow-scripts`, so the script-enabled sandbox path deliberately omits it.
|
|
15
13
|
*/
|
|
16
14
|
export const DEFAULT_SANDBOX = `${SANDBOX_TOKENS.FORMS} ${SANDBOX_TOKENS.SAME_ORIGIN} ${SANDBOX_TOKENS.POPUPS}`;
|
|
17
15
|
/** Tokens that are forbidden regardless of configuration. */
|
|
18
16
|
export const FORBIDDEN_SANDBOX_TOKENS = [
|
|
19
|
-
"allow-scripts",
|
|
20
17
|
"allow-top-navigation",
|
|
21
18
|
"allow-top-navigation-by-user-activation",
|
|
22
19
|
"allow-modals",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/constants/sandbox.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/constants/sandbox.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,aAAa;IACpB,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,mBAAmB;IAChC,OAAO,EAAE,eAAe;CAChB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;AAEhH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,sBAAsB;IACtB,yCAAyC;IACzC,cAAc;CACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HtmlArtifactPreview.d.ts","sourceRoot":"","sources":["../../src/iframe/HtmlArtifactPreview.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,oFAAoF;IACpF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"HtmlArtifactPreview.d.ts","sourceRoot":"","sources":["../../src/iframe/HtmlArtifactPreview.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,oFAAoF;IACpF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CA4OlE"}
|
|
@@ -41,14 +41,24 @@ export function HtmlArtifactPreview(props) {
|
|
|
41
41
|
}, [iframeRef, onLoad]);
|
|
42
42
|
// Commit a built document to the frame: patch the live DOM in place once the
|
|
43
43
|
// frame has loaded (no reload, no flash), else seed it via `srcDoc`.
|
|
44
|
-
const paint = React.useCallback((doc) => {
|
|
45
|
-
if (doc === lastDocRef.current)
|
|
44
|
+
const paint = React.useCallback((doc, forceReload = false) => {
|
|
45
|
+
if (doc === lastDocRef.current && !forceReload)
|
|
46
46
|
return;
|
|
47
47
|
lastDocRef.current = doc;
|
|
48
48
|
const iframe = iframeRef.current;
|
|
49
|
-
if (
|
|
49
|
+
if (forceReload) {
|
|
50
|
+
loadedRef.current = false;
|
|
51
|
+
cleanupNavigationRef.current?.();
|
|
52
|
+
cleanupNavigationRef.current = null;
|
|
53
|
+
setSrcDoc(doc);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (loadedRef.current && iframe) {
|
|
50
57
|
try {
|
|
51
|
-
|
|
58
|
+
const target = iframe.contentDocument;
|
|
59
|
+
if (!target)
|
|
60
|
+
throw new Error("iframe document unavailable");
|
|
61
|
+
patchIframeDocument(target, doc);
|
|
52
62
|
measure();
|
|
53
63
|
return;
|
|
54
64
|
}
|
|
@@ -77,11 +87,12 @@ export function HtmlArtifactPreview(props) {
|
|
|
77
87
|
const doc = buildSrcDoc(finalHtml, {
|
|
78
88
|
sanitize: opts.sanitize,
|
|
79
89
|
seamless: true,
|
|
90
|
+
resizeBridge: opts.allowScripts || opts.allowVideoEmbeds,
|
|
80
91
|
camouflage: bare,
|
|
81
92
|
theme,
|
|
82
93
|
sanitizeOptions: opts,
|
|
83
94
|
});
|
|
84
|
-
paint(doc);
|
|
95
|
+
paint(doc, !streaming && opts.allowScripts);
|
|
85
96
|
}, [paint, theme, bare]);
|
|
86
97
|
// Schedule a flush, throttled to at most once per `debounceMs` and aligned to
|
|
87
98
|
// an animation frame so rapid SSE deltas don't trigger a render storm.
|
|
@@ -131,7 +142,7 @@ export function HtmlArtifactPreview(props) {
|
|
|
131
142
|
cleanupNavigationRef.current?.();
|
|
132
143
|
cancelScheduled(schedRef.current);
|
|
133
144
|
}, []);
|
|
134
|
-
const sandbox = React.useMemo(() => resolveSandbox(opts), [opts]);
|
|
145
|
+
const sandbox = React.useMemo(() => resolveSandbox({ ...opts, sandbox: options?.sandbox }), [opts, options?.sandbox]);
|
|
135
146
|
// In bare/seamless mode the host surface shows through: no background, no
|
|
136
147
|
// skeleton box, no progress bar — just the transparent artifact inline.
|
|
137
148
|
const showSkeleton = !html && !errored && !bare;
|
|
@@ -180,7 +191,13 @@ function cancelScheduled(sched) {
|
|
|
180
191
|
sched.timer = null;
|
|
181
192
|
}
|
|
182
193
|
function attachIframeHashNavigation(iframe) {
|
|
183
|
-
|
|
194
|
+
let doc;
|
|
195
|
+
try {
|
|
196
|
+
doc = iframe?.contentDocument;
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
return () => { };
|
|
200
|
+
}
|
|
184
201
|
if (!iframe || !doc)
|
|
185
202
|
return () => { };
|
|
186
203
|
const onClick = (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HtmlArtifactPreview.js","sourceRoot":"","sources":["../../src/iframe/HtmlArtifactPreview.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAetD,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,iBAAiB,EAAE,CAAC;IACpB,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAEhG,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CACxB,GAAG,EAAE,CAAC,WAAW,CAAC,uBAAuB,EAAE,OAAO,CAAC,EACnD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;QACpE,OAAO,EAAE,IAAI,CAAC,UAAU;QACxB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEvD,+EAA+E;IAC/E,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAS,EAAE,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAsB,IAAI,CAAC,CAAC;IAErE,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAgC,IAAI,CAAC,CAAC;IAEvE,wEAAwE;IACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACzB,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAE5B,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAI1B,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,MAAM,EAAE,CAAC;QACT,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC;QACjC,oBAAoB,CAAC,OAAO,GAAG,0BAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAExB,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAC7B,CAAC,GAAW,EAAE,EAAE;QACd,IAAI,GAAG,KAAK,UAAU,CAAC,OAAO;YAAE,OAAO;QACvC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;QACzB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,SAAS,CAAC,OAAO,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,mBAAmB,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;gBACjD,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;YACpE,CAAC;QACH,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,EACD,CAAC,SAAS,EAAE,OAAO,CAAC,CACrB,CAAC;IAEF,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACnC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;QAC9B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QACnD,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,GACb,YAAY,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC,CAAC;YAChF,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,UAAU;gBAAE,OAAO;YAClC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QAC7B,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,EAAE;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,KAAK;YACL,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAEzB,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;YAAE,OAAO,CAAC,kBAAkB;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YACnB,IAAI,OAAO,qBAAqB,KAAK,WAAW,EAAE,CAAC;gBACjD,KAAK,CAAC,GAAG,GAAG,qBAAqB,CAAC,GAAG,EAAE;oBACrC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;oBACjB,KAAK,EAAE,CAAC;gBACV,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC,CAAC;QACF,IAAI,IAAI,IAAI,CAAC;YAAE,IAAI,EAAE,CAAC;;YACjB,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;YACxB,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;YAC1B,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC9B,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC;YACjC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;YACpC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,sEAAsE;YACtE,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClC,KAAK,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7C,uCAAuC;IACvC,KAAK,CAAC,SAAS,CACb,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC;QACjC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAElE,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAExC,OAAO,CACL,eACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe;YAClD,SAAS;YACT,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;YACvD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;YAC7C,UAAU,EAAE,uBAAuB;YACnC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC7C,aAEA,SAAS,IAAI,CAAC,IAAI,IAAI,cAAK,SAAS,EAAC,cAAc,wBAAe,EAEnE,iBACE,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,IAAI,kBAAkB,EAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,UAAU,EAClB,iBAAiB,QACjB,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAC1C,KAAK,EAAE;oBACL,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACzC,SAAS;oBACT,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,aAAa;oBACzB,kEAAkE;oBAClE,sEAAsE;oBACtE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBACxC,aAAa,EAAE,SAAS,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBAC3D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,UAAU,EAAE,mBAAmB;iBAChC,GACD,EAED,YAAY,IAAI,CACf,eAAK,SAAS,EAAC,UAAU,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,aAC5D,cAAK,SAAS,EAAC,KAAK,GAAG,EACvB,cAAK,SAAS,EAAC,KAAK,GAAG,EACvB,cAAK,SAAS,EAAC,KAAK,GAAG,EACvB,cAAK,SAAS,EAAC,KAAK,GAAG,EACvB,cAAK,SAAS,EAAC,KAAK,GAAG,EACvB,cAAK,SAAS,EAAC,KAAK,GAAG,IACnB,CACP,EAEA,OAAO,IAAI,CACV,cACE,SAAS,EAAC,aAAa,EACvB,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;oBACxC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC3B,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;iBAC7C,YAED,0BACE,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,EAAE,oCAElE,EACL,IAAI,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,qCAAqC,IAC9E,GACF,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,GAAG;IACV,OAAO,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC7E,CAAC;AAED,mEAAmE;AACnE,SAAS,eAAe,CAAC,KAGxB;IACC,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE,CAAC;QACrE,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;QAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnD,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;IACjB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,0BAA0B,CACjC,MAAgC;IAEhC,MAAM,GAAG,GAAG,MAAM,EAAE,eAAe,CAAC;IACpC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAE,EAAE;QACpC,IACE,KAAK,CAAC,gBAAgB;YACtB,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,MAAM,EACZ,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,SAAS,CAA6B,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;QACrD,MAAM,cAAc,GAClB,WAAW,KAAK,GAAG,CAAC,eAAe;YACjC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;QAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,GAAG,cAAc,GAAG,EAAE,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAyB,EAAE,GAAa;IACnE,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,IACE,MAAM,CAAC,IAAI;YACX,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;YAChC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;YACpC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAChC,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAa,EAAE,IAAY;IACtD,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC;IAC7C,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC;IACpC,OAAO,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACxE,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,MAAgB,EAAE,OAAe;IAC5D,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAEhE,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IAChD,CAAC;IACD,8EAA8E;IAC9E,0EAA0E;IAC1E,mCAAmC;IACnC,gBAAgB,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IACjE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe,EAAE,MAAe;IACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAClD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"HtmlArtifactPreview.js","sourceRoot":"","sources":["../../src/iframe/HtmlArtifactPreview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@ export interface AutoSizeOptions {
|
|
|
7
7
|
* Auto-size an iframe to its full content height so the artifact never shows an
|
|
8
8
|
* inner scrollbar — the page provides the single scroll. This requires reading
|
|
9
9
|
* the framed document, which works when the sandbox includes `allow-same-origin`
|
|
10
|
-
* (the default
|
|
10
|
+
* (the default static path). Script-enabled previews are isolated without
|
|
11
|
+
* same-origin, so measurement gracefully falls back to the configured minimum.
|
|
11
12
|
*
|
|
12
13
|
* Measurement is resilient: it re-measures on load, on every content reflow
|
|
13
14
|
* (ResizeObserver), and after web fonts finish loading (which changes height).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iframeSizing.d.ts","sourceRoot":"","sources":["../../src/iframe/iframeSizing.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"iframeSizing.d.ts","sourceRoot":"","sources":["../../src/iframe/iframeSizing.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,eAAoB;;;;;EAmF9D"}
|
|
@@ -3,7 +3,8 @@ import { useCallback, useEffect, useRef, useState } from "react";
|
|
|
3
3
|
* Auto-size an iframe to its full content height so the artifact never shows an
|
|
4
4
|
* inner scrollbar — the page provides the single scroll. This requires reading
|
|
5
5
|
* the framed document, which works when the sandbox includes `allow-same-origin`
|
|
6
|
-
* (the default
|
|
6
|
+
* (the default static path). Script-enabled previews are isolated without
|
|
7
|
+
* same-origin, so measurement gracefully falls back to the configured minimum.
|
|
7
8
|
*
|
|
8
9
|
* Measurement is resilient: it re-measures on load, on every content reflow
|
|
9
10
|
* (ResizeObserver), and after web fonts finish loading (which changes height).
|
|
@@ -66,6 +67,25 @@ export function useIframeAutoSize(options = {}) {
|
|
|
66
67
|
clearTimeout(t2);
|
|
67
68
|
};
|
|
68
69
|
}, [measure]);
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
if (!enabled || typeof window === "undefined")
|
|
72
|
+
return;
|
|
73
|
+
const onMessage = (event) => {
|
|
74
|
+
const iframe = ref.current;
|
|
75
|
+
if (!iframe || event.source !== iframe.contentWindow)
|
|
76
|
+
return;
|
|
77
|
+
const data = event.data;
|
|
78
|
+
if (!data || data.type !== "netra-artifact:resize")
|
|
79
|
+
return;
|
|
80
|
+
const measured = Number(data.height);
|
|
81
|
+
if (!Number.isFinite(measured) || measured <= 0)
|
|
82
|
+
return;
|
|
83
|
+
const clamped = Math.min(Math.max(Math.ceil(measured), minHeight), maxHeight);
|
|
84
|
+
setHeight((prev) => (Math.abs(prev - clamped) > 1 ? clamped : prev));
|
|
85
|
+
};
|
|
86
|
+
window.addEventListener("message", onMessage);
|
|
87
|
+
return () => window.removeEventListener("message", onMessage);
|
|
88
|
+
}, [enabled, minHeight, maxHeight]);
|
|
69
89
|
useEffect(() => {
|
|
70
90
|
return () => observerRef.current?.disconnect();
|
|
71
91
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iframeSizing.js","sourceRoot":"","sources":["../../src/iframe/iframeSizing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQjE
|
|
1
|
+
{"version":3,"file":"iframeSizing.js","sourceRoot":"","sources":["../../src/iframe/iframeSizing.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,11 +10,13 @@ export declare function themeToCss(theme: ArtifactTheme): string;
|
|
|
10
10
|
export interface BuildSrcDocOptions {
|
|
11
11
|
sanitize?: boolean;
|
|
12
12
|
seamless?: boolean;
|
|
13
|
+
/** Inject a postMessage auto-resize bridge for isolated script-capable frames. */
|
|
14
|
+
resizeBridge?: boolean;
|
|
13
15
|
/** Force the document + any single full-page wrapper transparent (camouflage). */
|
|
14
16
|
camouflage?: boolean;
|
|
15
17
|
/** Host theme injected as CSS variables + base color/font into the iframe. */
|
|
16
18
|
theme?: ArtifactTheme;
|
|
17
|
-
sanitizeOptions?: Pick<HtmlArtifactPreviewOptions, "allowForms" | "allowInlineStyles" | "allowStyleTags" | "allowSvg" | "allowExternalFonts" | "allowVideoEmbeds">;
|
|
19
|
+
sanitizeOptions?: Pick<HtmlArtifactPreviewOptions, "allowForms" | "allowScripts" | "allowInlineStyles" | "allowStyleTags" | "allowSvg" | "allowExternalFonts" | "allowVideoEmbeds">;
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
20
22
|
* Produce the final `srcDoc` string for the preview iframe: sanitized (by
|
|
@@ -23,12 +25,15 @@ export interface BuildSrcDocOptions {
|
|
|
23
25
|
*/
|
|
24
26
|
export declare function buildSrcDoc(rawHtml: string, options?: BuildSrcDocOptions): string;
|
|
25
27
|
/**
|
|
26
|
-
* Resolve the sandbox attribute. An explicit `sandbox` wins
|
|
27
|
-
*
|
|
28
|
-
*
|
|
28
|
+
* Resolve the sandbox attribute. An explicit `sandbox` wins, then still passes
|
|
29
|
+
* through the safety filter. When scripts or trusted video embeds need script
|
|
30
|
+
* execution, `allow-same-origin` is removed so generated code cannot run with
|
|
31
|
+
* the host page's origin.
|
|
29
32
|
*/
|
|
30
33
|
export declare function resolveSandbox(options: {
|
|
31
34
|
sandbox?: string;
|
|
32
35
|
allowForms?: boolean;
|
|
36
|
+
allowScripts?: boolean;
|
|
37
|
+
allowVideoEmbeds?: boolean;
|
|
33
38
|
}): string;
|
|
34
39
|
//# sourceMappingURL=iframeSrcDoc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iframeSrcDoc.d.ts","sourceRoot":"","sources":["../../src/iframe/iframeSrcDoc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"iframeSrcDoc.d.ts","sourceRoot":"","sources":["../../src/iframe/iframeSrcDoc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAuE1D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAsBvD;AA2MD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,eAAe,CAAC,EAAE,IAAI,CACpB,0BAA0B,EACxB,YAAY,GACZ,cAAc,GACd,mBAAmB,GACnB,gBAAgB,GAChB,UAAU,GACV,oBAAoB,GACpB,kBAAkB,CACrB,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CA+BR;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,MAAM,CAcT"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { sanitizeHtml } from "../sanitizer/sanitizeHtml.js";
|
|
2
2
|
import { cleanArtifactHtml } from "../artifacts/artifactEnvelope.js";
|
|
3
|
-
import { DEFAULT_SANDBOX, FORBIDDEN_SANDBOX_TOKENS } from "../constants/sandbox.js";
|
|
3
|
+
import { DEFAULT_SANDBOX, FORBIDDEN_SANDBOX_TOKENS, SANDBOX_TOKENS, } from "../constants/sandbox.js";
|
|
4
4
|
/**
|
|
5
5
|
* Minimal reset injected for the framed (pure artifact) path: margin/box-sizing
|
|
6
6
|
* only. It must NOT force a background — a standalone artifact owns its own
|
|
@@ -19,14 +19,49 @@ const SEAMLESS_BASE = `<style>html,body{margin:0;padding:0;height:auto!important
|
|
|
19
19
|
// the iframe document, so we inject our own — tinted from the artifact's
|
|
20
20
|
// --foreground so it matches whatever palette the artifact/theme uses, with a
|
|
21
21
|
// neutral fallback when no theme variable is present.
|
|
22
|
-
const SCROLLBAR_CSS = `<style>
|
|
23
|
-
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--foreground,var(--fg,#9aa0ab)) 28%,transparent) transparent}
|
|
22
|
+
const SCROLLBAR_CSS = `<style>
|
|
23
|
+
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--foreground,var(--fg,#9aa0ab)) 28%,transparent) transparent}
|
|
24
24
|
*::-webkit-scrollbar{width:10px;height:10px}
|
|
25
25
|
*::-webkit-scrollbar-track{background:transparent}
|
|
26
26
|
*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--foreground,var(--fg,#9aa0ab)) 28%,transparent);border-radius:999px;border:2px solid transparent;background-clip:content-box}
|
|
27
27
|
*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--foreground,var(--fg,#9aa0ab)) 48%,transparent);background-clip:content-box}
|
|
28
|
-
*::-webkit-scrollbar-corner{background:transparent}
|
|
28
|
+
*::-webkit-scrollbar-corner{background:transparent}
|
|
29
29
|
</style>`;
|
|
30
|
+
const RESIZE_BRIDGE_SCRIPT = `<script>
|
|
31
|
+
(() => {
|
|
32
|
+
const type = "netra-artifact:resize";
|
|
33
|
+
const measure = () => {
|
|
34
|
+
try {
|
|
35
|
+
const body = document.body;
|
|
36
|
+
const root = document.documentElement;
|
|
37
|
+
if (!body || !root) return;
|
|
38
|
+
const height = Math.ceil(Math.max(
|
|
39
|
+
body.scrollHeight,
|
|
40
|
+
body.offsetHeight,
|
|
41
|
+
root.scrollHeight,
|
|
42
|
+
root.getBoundingClientRect().height
|
|
43
|
+
));
|
|
44
|
+
if (height > 0) parent.postMessage({ type, height }, "*");
|
|
45
|
+
} catch {}
|
|
46
|
+
};
|
|
47
|
+
const start = () => {
|
|
48
|
+
measure();
|
|
49
|
+
try {
|
|
50
|
+
const ro = new ResizeObserver(measure);
|
|
51
|
+
ro.observe(document.documentElement);
|
|
52
|
+
if (document.body) ro.observe(document.body);
|
|
53
|
+
} catch {}
|
|
54
|
+
setTimeout(measure, 60);
|
|
55
|
+
setTimeout(measure, 240);
|
|
56
|
+
};
|
|
57
|
+
if (document.readyState === "loading") {
|
|
58
|
+
document.addEventListener("DOMContentLoaded", start, { once: true });
|
|
59
|
+
} else {
|
|
60
|
+
start();
|
|
61
|
+
}
|
|
62
|
+
window.addEventListener("load", measure);
|
|
63
|
+
})();
|
|
64
|
+
</script>`;
|
|
30
65
|
/**
|
|
31
66
|
* Render a host {@link ArtifactTheme} into a `<style>` block exposing its values
|
|
32
67
|
* as CSS custom properties inside the iframe, plus sensible base color/font so
|
|
@@ -251,16 +286,17 @@ function normalizeCamouflageDeclaration(declaration, forceTransparent = false) {
|
|
|
251
286
|
* styles and `<base target="_blank">` so any links open in a new tab.
|
|
252
287
|
*/
|
|
253
288
|
export function buildSrcDoc(rawHtml, options = {}) {
|
|
254
|
-
const { sanitize = true, seamless = true, camouflage = false, theme, sanitizeOptions } = options;
|
|
289
|
+
const { sanitize = true, seamless = true, resizeBridge, camouflage = false, theme, sanitizeOptions, } = options;
|
|
255
290
|
let html = cleanArtifactHtml(rawHtml ?? "");
|
|
256
291
|
if (sanitize) {
|
|
257
|
-
html = sanitizeHtml(html,
|
|
292
|
+
html = sanitizeHtml(html, sanitizeOptions).html;
|
|
258
293
|
}
|
|
259
294
|
if (camouflage) {
|
|
260
295
|
html = normalizeCamouflageHtml(html);
|
|
261
296
|
}
|
|
262
297
|
const themeStyles = theme && !camouflage ? themeToCss(theme) : "";
|
|
263
|
-
const
|
|
298
|
+
const needsResizeBridge = resizeBridge ?? Boolean(sanitizeOptions?.allowScripts || sanitizeOptions?.allowVideoEmbeds);
|
|
299
|
+
const injection = `<base target="_blank" />${SCROLLBAR_CSS}${seamless && !camouflage ? SEAMLESS_BASE : ""}${themeStyles}${needsResizeBridge ? RESIZE_BRIDGE_SCRIPT : ""}`;
|
|
264
300
|
let doc;
|
|
265
301
|
if (isFullDocument(html)) {
|
|
266
302
|
doc = injectIntoHead(html, injection);
|
|
@@ -271,19 +307,34 @@ export function buildSrcDoc(rawHtml, options = {}) {
|
|
|
271
307
|
return camouflage ? inlineCamouflageHtml(doc, theme) : doc;
|
|
272
308
|
}
|
|
273
309
|
/**
|
|
274
|
-
* Resolve the sandbox attribute. An explicit `sandbox` wins
|
|
275
|
-
*
|
|
276
|
-
*
|
|
310
|
+
* Resolve the sandbox attribute. An explicit `sandbox` wins, then still passes
|
|
311
|
+
* through the safety filter. When scripts or trusted video embeds need script
|
|
312
|
+
* execution, `allow-same-origin` is removed so generated code cannot run with
|
|
313
|
+
* the host page's origin.
|
|
277
314
|
*/
|
|
278
315
|
export function resolveSandbox(options) {
|
|
279
316
|
const explicit = options.sandbox;
|
|
280
317
|
if (explicit !== undefined) {
|
|
281
|
-
return explicit
|
|
282
|
-
.split(/\s+/)
|
|
283
|
-
.filter(Boolean)
|
|
284
|
-
.filter((t) => !FORBIDDEN_SANDBOX_TOKENS.includes(t))
|
|
285
|
-
.join(" ");
|
|
318
|
+
return normalizeSandboxTokens(explicit.split(/\s+/)).join(" ");
|
|
286
319
|
}
|
|
287
|
-
|
|
320
|
+
const needsScripts = options.allowScripts || options.allowVideoEmbeds;
|
|
321
|
+
if (options.allowForms === false && !needsScripts)
|
|
322
|
+
return "";
|
|
323
|
+
if (!needsScripts)
|
|
324
|
+
return DEFAULT_SANDBOX;
|
|
325
|
+
return normalizeSandboxTokens([
|
|
326
|
+
options.allowForms === false ? "" : SANDBOX_TOKENS.FORMS,
|
|
327
|
+
SANDBOX_TOKENS.POPUPS,
|
|
328
|
+
SANDBOX_TOKENS.SCRIPTS,
|
|
329
|
+
]).join(" ");
|
|
330
|
+
}
|
|
331
|
+
function normalizeSandboxTokens(tokens) {
|
|
332
|
+
const filtered = tokens
|
|
333
|
+
.filter(Boolean)
|
|
334
|
+
.filter((token) => !FORBIDDEN_SANDBOX_TOKENS.includes(token));
|
|
335
|
+
const unique = Array.from(new Set(filtered));
|
|
336
|
+
if (!unique.includes(SANDBOX_TOKENS.SCRIPTS))
|
|
337
|
+
return unique;
|
|
338
|
+
return unique.filter((token) => token !== SANDBOX_TOKENS.SAME_ORIGIN);
|
|
288
339
|
}
|
|
289
340
|
//# sourceMappingURL=iframeSrcDoc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iframeSrcDoc.js","sourceRoot":"","sources":["../../src/iframe/iframeSrcDoc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAGrE,OAAO,
|
|
1
|
+
{"version":3,"file":"iframeSrcDoc.js","sourceRoot":"","sources":["../../src/iframe/iframeSrcDoc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ArtifactPresentation, ArtifactStyleProfile, ArtifactTheme } from "../types/artifact.js";
|
|
2
2
|
export interface HtmlPromptOptions {
|
|
3
3
|
styleProfile?: ArtifactStyleProfile;
|
|
4
|
+
allowScripts?: boolean;
|
|
4
5
|
allowExternalFonts?: boolean;
|
|
5
6
|
allowVideoEmbeds?: boolean;
|
|
6
7
|
allowForms?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlArtifactPrompt.d.ts","sourceRoot":"","sources":["../../src/prompts/htmlArtifactPrompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;
|
|
1
|
+
{"version":3,"file":"htmlArtifactPrompt.d.ts","sourceRoot":"","sources":["../../src/prompts/htmlArtifactPrompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AA+WD,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CA4C/E;AAED,yEAAyE;AACzE,eAAO,MAAM,2BAA2B,QAA4B,CAAC"}
|