@hyperframes/core 0.8.33 → 0.8.34

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 (72) hide show
  1. package/README.md +15 -0
  2. package/dist/compiler/externalScripts.d.ts +8 -0
  3. package/dist/compiler/externalScripts.d.ts.map +1 -0
  4. package/dist/compiler/externalScripts.js +34 -0
  5. package/dist/compiler/externalScripts.js.map +1 -0
  6. package/dist/compiler/htmlBundler.d.ts.map +1 -1
  7. package/dist/compiler/htmlBundler.js +75 -66
  8. package/dist/compiler/htmlBundler.js.map +1 -1
  9. package/dist/compiler/index.d.ts +1 -0
  10. package/dist/compiler/index.d.ts.map +1 -1
  11. package/dist/compiler/index.js +1 -0
  12. package/dist/compiler/index.js.map +1 -1
  13. package/dist/compiler/inlineSubCompositions.d.ts +3 -2
  14. package/dist/compiler/inlineSubCompositions.d.ts.map +1 -1
  15. package/dist/compiler/inlineSubCompositions.js +6 -1
  16. package/dist/compiler/inlineSubCompositions.js.map +1 -1
  17. package/dist/generated/position-edits-render-inline.js +1 -1
  18. package/dist/generated/position-edits-render-inline.js.map +1 -1
  19. package/dist/generated/runtime-inline.js +1 -1
  20. package/dist/generated/runtime-inline.js.map +1 -1
  21. package/dist/generators/hyperframes.d.ts +6 -0
  22. package/dist/generators/hyperframes.d.ts.map +1 -1
  23. package/dist/generators/hyperframes.js +118 -69
  24. package/dist/generators/hyperframes.js.map +1 -1
  25. package/dist/generators/richTextHtml.d.ts +3 -0
  26. package/dist/generators/richTextHtml.d.ts.map +1 -0
  27. package/dist/generators/richTextHtml.js +41 -0
  28. package/dist/generators/richTextHtml.js.map +1 -0
  29. package/dist/hyperframe.runtime.iife.js +29 -29
  30. package/dist/registry/types.d.ts +18 -1
  31. package/dist/registry/types.d.ts.map +1 -1
  32. package/dist/registry/types.js.map +1 -1
  33. package/dist/runtime/applyVariableBindings.d.ts.map +1 -1
  34. package/dist/runtime/applyVariableBindings.js +2 -1
  35. package/dist/runtime/applyVariableBindings.js.map +1 -1
  36. package/dist/runtime/bridge.d.ts.map +1 -1
  37. package/dist/runtime/bridge.js +5 -3
  38. package/dist/runtime/bridge.js.map +1 -1
  39. package/dist/runtime/clipTree.d.ts.map +1 -1
  40. package/dist/runtime/clipTree.js +2 -1
  41. package/dist/runtime/clipTree.js.map +1 -1
  42. package/dist/runtime/domRealm.d.ts +66 -0
  43. package/dist/runtime/domRealm.d.ts.map +1 -0
  44. package/dist/runtime/domRealm.js +92 -0
  45. package/dist/runtime/domRealm.js.map +1 -0
  46. package/dist/runtime/mediaVolumeEnvelope.d.ts.map +1 -1
  47. package/dist/runtime/mediaVolumeEnvelope.js +22 -6
  48. package/dist/runtime/mediaVolumeEnvelope.js.map +1 -1
  49. package/dist/runtime/playbackRate.d.ts +11 -0
  50. package/dist/runtime/playbackRate.d.ts.map +1 -1
  51. package/dist/runtime/playbackRate.js +18 -1
  52. package/dist/runtime/playbackRate.js.map +1 -1
  53. package/dist/runtime/positionEdits.d.ts.map +1 -1
  54. package/dist/runtime/positionEdits.js +8 -18
  55. package/dist/runtime/positionEdits.js.map +1 -1
  56. package/dist/runtime/renderFrameSibling.d.ts.map +1 -1
  57. package/dist/runtime/renderFrameSibling.js +2 -1
  58. package/dist/runtime/renderFrameSibling.js.map +1 -1
  59. package/dist/runtime/startResolver.d.ts +1 -0
  60. package/dist/runtime/startResolver.d.ts.map +1 -1
  61. package/dist/runtime/startResolver.js +34 -10
  62. package/dist/runtime/startResolver.js.map +1 -1
  63. package/package.json +6 -6
  64. package/schemas/registry-item.json +6 -0
  65. package/dist/runtime/audioAutomationVolume.d.ts +0 -17
  66. package/dist/runtime/audioAutomationVolume.d.ts.map +0 -1
  67. package/dist/runtime/audioAutomationVolume.js +0 -49
  68. package/dist/runtime/audioAutomationVolume.js.map +0 -1
  69. package/dist/runtime/media.d.ts +0 -95
  70. package/dist/runtime/media.d.ts.map +0 -1
  71. package/dist/runtime/media.js +0 -434
  72. package/dist/runtime/media.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-inline.js","sourceRoot":"","sources":["../../src/generated/runtime-inline.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,YAAY,GAAW,i6jZAAi6jZ,CAAC;AAE/7jZ;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"runtime-inline.js","sourceRoot":"","sources":["../../src/generated/runtime-inline.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,YAAY,GAAW,43nZAA43nZ,CAAC;AAE15nZ;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -1,21 +1,27 @@
1
1
  import type { TimelineElement, CanvasResolution, Keyframe, StageZoomKeyframe } from "../core.types";
2
2
  import type { GsapAnimation } from "@hyperframes/parsers";
3
3
  export interface SerializeOptions {
4
+ /** Trusted animations: __raw: values are emitted as executable JavaScript. */
4
5
  animations?: GsapAnimation[];
6
+ /** Trusted authored CSS, preserved as code; may load external resources. */
5
7
  styles?: string;
6
8
  generateDefaultAnimations?: boolean;
7
9
  resolution?: CanvasResolution;
8
10
  compositionId?: string;
9
11
  keyframes?: Record<string, Keyframe[]>;
10
12
  stageZoomKeyframes?: StageZoomKeyframe[];
13
+ /** Emit executable timeline code; animations and __raw: expressions must be trusted. */
11
14
  includeScripts?: boolean;
12
15
  includeStyles?: boolean;
13
16
  }
17
+ /** Generate CSS from trusted authors. customStyles is authored code, not sanitized CSS. */
14
18
  export declare function generateHyperframesStyles(elements: TimelineElement[], resolution: CanvasResolution, customStyles?: string): {
15
19
  coreCss: string;
16
20
  customCss: string;
17
21
  googleFontsLink: string;
18
22
  };
23
+ /** Generate executable JavaScript. Animation __raw: expressions require trusted authors. */
19
24
  export declare function generateGsapTimelineScript(elements: TimelineElement[], totalDuration: number, options?: SerializeOptions): string;
25
+ /** Generate a document for trusted authors. Authored CSS and animation __raw: expressions retain their executable capabilities. Context encoding is not a sandbox: do not supply untrusted code-bearing options or serve untrusted compositions in a privileged origin. Text uses the inline-formatting sanitizer; parseHtml flattens inner formatting to text. */
20
26
  export declare function generateHyperframesHtml(elements: TimelineElement[], totalDuration: number, options?: SerializeOptions): string;
21
27
  //# sourceMappingURL=hyperframes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hyperframes.d.ts","sourceRoot":"","sources":["../../src/generators/hyperframes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAoC1D,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA+BD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,EAAE,gBAAgB,EAC5B,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CA8BjE;AAgDD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,eAAe,EAAE,EAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,gBAAqB,GAC7B,MAAM,CA6GR;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,EAAE,EAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,gBAAqB,GAC7B,MAAM,CAqGR"}
1
+ {"version":3,"file":"hyperframes.d.ts","sourceRoot":"","sources":["../../src/generators/hyperframes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAgF1D,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,wFAAwF;IACxF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA+BD,2FAA2F;AAC3F,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,EAAE,gBAAgB,EAC5B,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CA8BjE;AAgDD,4FAA4F;AAC5F,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,eAAe,EAAE,EAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,gBAAqB,GAC7B,MAAM,CAkHR;AAED,mWAAmW;AACnW,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,EAAE,EAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,gBAAqB,GAC7B,MAAM,CA2GR"}
@@ -1,7 +1,46 @@
1
+ import { isSafeAttributeValue } from "../utils/htmlAttrSafety.js";
2
+ import { richTextHtml } from "./richTextHtml.js";
1
3
  import { CANVAS_DIMENSIONS, isTextElement, isMediaElement, isCompositionElement, } from "../core.types.js";
2
4
  import { serializeGsapAnimations, keyframesToGsapAnimations } from "@hyperframes/parsers";
3
5
  import { GSAP_CDN, BASE_STYLES, ZOOM_CONTAINER_STYLES } from "../templates/constants.js";
4
6
  import { COMPOSITION_ATTRIBUTES } from "../compositionContract.js";
7
+ function escapeHtmlAttributeValue(value) {
8
+ return value
9
+ .replace(/&/g, "&amp;")
10
+ .replace(/</g, "&lt;")
11
+ .replace(/>/g, "&gt;")
12
+ .replace(/"/g, "&quot;")
13
+ .replace(/'/g, "&#39;");
14
+ }
15
+ function elementSelector(id) {
16
+ // Hex escapes preserve ID identity without letting punctuation add selectors.
17
+ const escaped = id.replace(/[^a-zA-Z0-9_-]|^-?\d/g, (match) => Array.from(match, (char) => `\\${char.codePointAt(0)?.toString(16)} `).join(""));
18
+ return `#${escaped}`;
19
+ }
20
+ function cssString(value) {
21
+ return value.replace(/[\\'\r\n\f]/g, (char) => `\\${char.codePointAt(0)?.toString(16)} `);
22
+ }
23
+ function sourceAttribute(src, composition = false) {
24
+ // URL parsing ignores embedded ASCII tabs/newlines before detecting a scheme.
25
+ const normalized = Array.from(src)
26
+ .filter((char) => char.charCodeAt(0) > 32)
27
+ .join("");
28
+ if (!isSafeAttributeValue("src", normalized) || (composition && /^data:/i.test(normalized))) {
29
+ throw new Error("Unsafe media or composition source URL");
30
+ }
31
+ return escapeHtmlAttributeValue(src);
32
+ }
33
+ function finiteNumber(value) {
34
+ if (typeof value !== "number" || !Number.isFinite(value)) {
35
+ throw new Error("Expected a finite generator numeric value");
36
+ }
37
+ return value;
38
+ }
39
+ function cssValue(value) {
40
+ if (/[;{}<>\r\n]/.test(value))
41
+ throw new Error("Invalid generated CSS value");
42
+ return value;
43
+ }
5
44
  const GOOGLE_FONTS_BASE = "https://fonts.googleapis.com/css2";
6
45
  const FONT_WEIGHTS = {
7
46
  Inter: "400;500;600;700;800;900",
@@ -59,6 +98,7 @@ function sortElements(elements) {
59
98
  return a.startTime - b.startTime;
60
99
  });
61
100
  }
101
+ /** Generate CSS from trusted authors. customStyles is authored code, not sanitized CSS. */
62
102
  export function generateHyperframesStyles(elements, resolution, customStyles) {
63
103
  const { width, height } = CANVAS_DIMENSIONS[resolution];
64
104
  const sortedElements = sortElements(elements);
@@ -95,29 +135,30 @@ function generateElementStyles(element) {
95
135
  const textShadow = element.textShadow !== false ? "text-shadow: 2px 2px 4px rgba(0,0,0,0.8);" : "";
96
136
  // Text outline using -webkit-text-stroke
97
137
  const textOutline = element.textOutline
98
- ? `-webkit-text-stroke: ${element.textOutlineWidth ?? 2}px ${element.textOutlineColor ?? "#000000"}; paint-order: stroke fill;`
138
+ ? `-webkit-text-stroke: ${finiteNumber(element.textOutlineWidth ?? 2)}px ${cssValue(element.textOutlineColor ?? "#000000")}; paint-order: stroke fill;`
99
139
  : "";
100
140
  // Text highlight using background
101
141
  const textHighlight = element.textHighlight
102
- ? `background-color: ${element.textHighlightColor ?? "yellow"}; padding: ${element.textHighlightPadding ?? 4}px ${(element.textHighlightPadding ?? 4) * 1.5}px; border-radius: ${element.textHighlightRadius ?? 4}px; box-decoration-break: clone; -webkit-box-decoration-break: clone;`
142
+ ? `background-color: ${cssValue(element.textHighlightColor ?? "yellow")}; padding: ${finiteNumber(element.textHighlightPadding ?? 4)}px ${finiteNumber((element.textHighlightPadding ?? 4) * 1.5)}px; border-radius: ${finiteNumber(element.textHighlightRadius ?? 4)}px; box-decoration-break: clone; -webkit-box-decoration-break: clone;`
103
143
  : "";
104
- return ` #${element.id} { ${baseStyles} width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; pointer-events: none; }
105
- #${element.id} > div { font-family: '${fontFamily}', sans-serif; font-size: ${fontSize}px; font-weight: ${fontWeight}; color: ${color}; ${textShadow} ${textOutline} ${textHighlight} pointer-events: auto; cursor: grab; white-space: pre-wrap; text-align: center; }`;
144
+ return ` ${elementSelector(element.id)} { ${baseStyles} width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; pointer-events: none; }
145
+ ${elementSelector(element.id)} > div { font-family: '${cssString(fontFamily)}', sans-serif; font-size: ${finiteNumber(fontSize)}px; font-weight: ${finiteNumber(fontWeight)}; color: ${cssValue(color)}; ${textShadow} ${textOutline} ${textHighlight} pointer-events: auto; cursor: grab; white-space: pre-wrap; text-align: center; }`;
106
146
  }
107
147
  switch (element.type) {
108
148
  case "video":
109
149
  // Videos fill the stage with standard CSS positioning (0,0 = top-left)
110
- return ` #${element.id} { ${baseStyles} width: 100%; height: 100%; object-fit: contain; transform-origin: center center; }`;
150
+ return ` ${elementSelector(element.id)} { ${baseStyles} width: 100%; height: 100%; object-fit: contain; transform-origin: center center; }`;
111
151
  case "image":
112
152
  // Images use standard CSS positioning (0,0 = top-left)
113
- return ` #${element.id} { ${baseStyles} max-width: 100%; max-height: 100%; transform-origin: center center; }`;
153
+ return ` ${elementSelector(element.id)} { ${baseStyles} max-width: 100%; max-height: 100%; transform-origin: center center; }`;
114
154
  case "audio":
115
- return ` #${element.id} { ${baseStyles} }`;
155
+ return ` ${elementSelector(element.id)} { ${baseStyles} }`;
116
156
  case "composition":
117
157
  // Compositions use standard CSS positioning (0,0 = top-left)
118
- return ` #${element.id} { ${baseStyles} width: 100%; height: 100%; position: absolute; }`;
158
+ return ` ${elementSelector(element.id)} { ${baseStyles} width: 100%; height: 100%; position: absolute; }`;
119
159
  }
120
160
  }
161
+ /** Generate executable JavaScript. Animation __raw: expressions require trusted authors. */
121
162
  export function generateGsapTimelineScript(elements, totalDuration, options = {}) {
122
163
  const { animations, generateDefaultAnimations = true, resolution = "landscape", keyframes, stageZoomKeyframes, } = options;
123
164
  const { width, height } = CANVAS_DIMENSIONS[resolution];
@@ -135,7 +176,10 @@ export function generateGsapTimelineScript(elements, totalDuration, options = {}
135
176
  y: element.y ?? 0,
136
177
  scale: baseScale,
137
178
  });
138
- keyframeAnimations = keyframeAnimations.concat(converted);
179
+ keyframeAnimations = keyframeAnimations.concat(converted.map((animation) => ({
180
+ ...animation,
181
+ targetSelector: elementSelector(element.id),
182
+ })));
139
183
  }
140
184
  }
141
185
  }
@@ -187,7 +231,7 @@ export function generateGsapTimelineScript(elements, totalDuration, options = {}
187
231
  else {
188
232
  gsapScript = `
189
233
  const tl = gsap.timeline({ paused: true });
190
- ${initialPositionSets ? initialPositionSets + "\n" : ""} tl.to({}, { duration: ${totalDuration || 1} });
234
+ ${initialPositionSets ? initialPositionSets + "\n" : ""} tl.to({}, { duration: ${finiteNumber(totalDuration || 1)} });
191
235
  `;
192
236
  // Append zoom animations
193
237
  if (zoomAnimations) {
@@ -196,6 +240,7 @@ ${initialPositionSets ? initialPositionSets + "\n" : ""} tl.to({}, { duration
196
240
  }
197
241
  return gsapScript;
198
242
  }
243
+ /** Generate a document for trusted authors. Authored CSS and animation __raw: expressions retain their executable capabilities. Context encoding is not a sandbox: do not supply untrusted code-bearing options or serve untrusted compositions in a privileged origin. Text uses the inline-formatting sanitizer; parseHtml flattens inner formatting to text. */
199
244
  export function generateHyperframesHtml(elements, totalDuration, options = {}) {
200
245
  const { animations, styles, generateDefaultAnimations = true, resolution = "landscape", compositionId = `comp-${Date.now()}`, keyframes, stageZoomKeyframes, includeScripts = false, includeStyles = false, } = options;
201
246
  // Include zoom keyframes in duration calculation
@@ -212,7 +257,7 @@ export function generateHyperframesHtml(elements, totalDuration, options = {}) {
212
257
  const customStyles = styles || "";
213
258
  // Serialize zoom keyframes to data attribute
214
259
  const zoomKeyframesAttr = stageZoomKeyframes && stageZoomKeyframes.length > 0
215
- ? ` data-zoom-keyframes='${JSON.stringify(stageZoomKeyframes).replace(/'/g, "&#39;")}'`
260
+ ? ` data-zoom-keyframes='${escapeHtmlAttributeValue(JSON.stringify(stageZoomKeyframes))}'`
216
261
  : "";
217
262
  let styleTags = "";
218
263
  let googleFontsLink = "";
@@ -222,12 +267,18 @@ export function generateHyperframesHtml(elements, totalDuration, options = {}) {
222
267
  styleTags = [
223
268
  styles.coreCss
224
269
  ? ` <style data-hf-core="true">
225
- ${styles.coreCss.split("\n").join("\n ")}
270
+ ${styles.coreCss
271
+ .replace(/<\/style/gi, (match) => `<\\${match.slice(1)}`)
272
+ .split("\n")
273
+ .join("\n ")}
226
274
  </style>`
227
275
  : "",
228
276
  styles.customCss
229
277
  ? ` <style data-hf-custom="true">
230
- ${styles.customCss.split("\n").join("\n ")}
278
+ ${styles.customCss
279
+ .replace(/<\/style/gi, (match) => `<\\${match.slice(1)}`)
280
+ .split("\n")
281
+ .join("\n ")}
231
282
  </style>`
232
283
  : "",
233
284
  ]
@@ -246,15 +297,15 @@ export function generateHyperframesHtml(elements, totalDuration, options = {}) {
246
297
  const gsapCdnTag = includeScripts ? ` <script src="${GSAP_CDN}"></script>` : "";
247
298
  const gsapScriptTag = includeScripts
248
299
  ? ` <script>
249
- ${gsapScript}
300
+ ${gsapScript.replace(/<\/script/gi, (match) => `<\\${match.slice(1)}`)}
250
301
  </script>`
251
302
  : "";
252
303
  const customStylesAttr = customStyles
253
- ? ` data-custom-styles='${JSON.stringify(customStyles).replace(/'/g, "&#39;")}'`
304
+ ? ` data-custom-styles='${escapeHtmlAttributeValue(JSON.stringify(customStyles))}'`
254
305
  : "";
255
- const resolutionAttr = ` data-resolution="${resolution}"`;
306
+ const resolutionAttr = ` data-resolution="${escapeHtmlAttributeValue(resolution)}"`;
256
307
  return `<!DOCTYPE html>
257
- <html data-composition-id="${compositionId}" data-composition-duration="${calculatedDuration}"${resolutionAttr}${customStylesAttr}>
308
+ <html data-composition-id="${escapeHtmlAttributeValue(compositionId)}" data-composition-duration="${calculatedDuration}"${resolutionAttr}${customStylesAttr}>
258
309
  <head>
259
310
  <meta charset="UTF-8">
260
311
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -292,59 +343,59 @@ function generateZoomGsapAnimations(zoomKeyframes, canvasWidth, canvasHeight) {
292
343
  continue;
293
344
  const { x, y } = calculateZoomTransform(kf.zoom.scale, kf.zoom.focusX, kf.zoom.focusY, canvasWidth, canvasHeight);
294
345
  if (i === 0) {
295
- animations.push(` tl.set("#stage-zoom-container", { scale: ${kf.zoom.scale}, x: ${x}, y: ${y} }, ${kf.time});`);
346
+ animations.push(` tl.set("#stage-zoom-container", { scale: ${finiteNumber(kf.zoom.scale)}, x: ${finiteNumber(x)}, y: ${finiteNumber(y)} }, ${finiteNumber(kf.time)});`);
296
347
  }
297
348
  else {
298
349
  const prevKf = sortedKeyframes[i - 1];
299
350
  if (!prevKf)
300
351
  continue;
301
352
  const duration = kf.time - prevKf.time;
302
- const ease = kf.ease ? `, ease: "${kf.ease}"` : "";
303
- animations.push(` tl.to("#stage-zoom-container", { scale: ${kf.zoom.scale}, x: ${x}, y: ${y}, duration: ${duration}${ease} }, ${prevKf.time});`);
353
+ const ease = kf.ease ? `, ease: ${JSON.stringify(kf.ease)}` : "";
354
+ animations.push(` tl.to("#stage-zoom-container", { scale: ${finiteNumber(kf.zoom.scale)}, x: ${finiteNumber(x)}, y: ${finiteNumber(y)}, duration: ${finiteNumber(duration)}${ease} }, ${finiteNumber(prevKf.time)});`);
304
355
  }
305
356
  }
306
357
  return animations.join("\n");
307
358
  }
308
359
  function generateElementHtml(element, keyframes) {
309
360
  const baseAttrs = [
310
- `id="${element.id}"`,
311
- `data-hf-id="${element.id}"`,
312
- `${COMPOSITION_ATTRIBUTES.start}="${element.startTime}"`,
313
- `${COMPOSITION_ATTRIBUTES.duration}="${element.duration}"`,
314
- `${COMPOSITION_ATTRIBUTES.trackIndex}="${element.zIndex}"`,
315
- `data-name="${element.name}"`,
361
+ `id="${escapeHtmlAttributeValue(String(element.id))}"`,
362
+ `data-hf-id="${escapeHtmlAttributeValue(String(element.id))}"`,
363
+ `${COMPOSITION_ATTRIBUTES.start}="${escapeHtmlAttributeValue(String(element.startTime))}"`,
364
+ `${COMPOSITION_ATTRIBUTES.duration}="${escapeHtmlAttributeValue(String(element.duration))}"`,
365
+ `${COMPOSITION_ATTRIBUTES.trackIndex}="${escapeHtmlAttributeValue(String(element.zIndex))}"`,
366
+ `data-name="${escapeHtmlAttributeValue(String(element.name))}"`,
316
367
  ];
317
368
  // Serialize transform properties (x, y, scale, opacity) if non-default
318
369
  if (element.x !== undefined && element.x !== 0) {
319
- baseAttrs.push(`data-x="${element.x}"`);
370
+ baseAttrs.push(`data-x="${escapeHtmlAttributeValue(String(element.x))}"`);
320
371
  }
321
372
  if (element.y !== undefined && element.y !== 0) {
322
- baseAttrs.push(`data-y="${element.y}"`);
373
+ baseAttrs.push(`data-y="${escapeHtmlAttributeValue(String(element.y))}"`);
323
374
  }
324
375
  if (element.scale !== undefined && element.scale !== 1) {
325
- baseAttrs.push(`data-scale="${element.scale}"`);
376
+ baseAttrs.push(`data-scale="${escapeHtmlAttributeValue(String(element.scale))}"`);
326
377
  }
327
378
  if (element.opacity !== undefined && element.opacity !== 1) {
328
- baseAttrs.push(`data-opacity="${element.opacity}"`);
379
+ baseAttrs.push(`data-opacity="${escapeHtmlAttributeValue(String(element.opacity))}"`);
329
380
  }
330
381
  // Serialize keyframes to data attribute if present
331
382
  if (keyframes && keyframes.length > 0) {
332
383
  const kfJson = JSON.stringify(keyframes);
333
- baseAttrs.push(`data-keyframes='${kfJson.replace(/'/g, "&#39;")}'`);
384
+ baseAttrs.push(`data-keyframes='${escapeHtmlAttributeValue(kfJson)}'`);
334
385
  }
335
386
  if (isTextElement(element)) {
336
387
  const textAttrs = [...baseAttrs, `data-type="text"`];
337
388
  if (element.color) {
338
- textAttrs.push(`data-color="${element.color}"`);
389
+ textAttrs.push(`data-color="${escapeHtmlAttributeValue(String(element.color))}"`);
339
390
  }
340
391
  if (element.fontSize) {
341
- textAttrs.push(`data-font-size="${element.fontSize}"`);
392
+ textAttrs.push(`data-font-size="${escapeHtmlAttributeValue(String(element.fontSize))}"`);
342
393
  }
343
394
  if (element.fontWeight) {
344
- textAttrs.push(`data-font-weight="${element.fontWeight}"`);
395
+ textAttrs.push(`data-font-weight="${escapeHtmlAttributeValue(String(element.fontWeight))}"`);
345
396
  }
346
397
  if (element.fontFamily) {
347
- textAttrs.push(`data-font-family="${element.fontFamily}"`);
398
+ textAttrs.push(`data-font-family="${escapeHtmlAttributeValue(String(element.fontFamily))}"`);
348
399
  }
349
400
  if (element.textShadow === false) {
350
401
  textAttrs.push(`data-text-shadow="false"`);
@@ -352,50 +403,50 @@ function generateElementHtml(element, keyframes) {
352
403
  if (element.textOutline) {
353
404
  textAttrs.push(`data-text-outline="true"`);
354
405
  if (element.textOutlineColor) {
355
- textAttrs.push(`data-text-outline-color="${element.textOutlineColor}"`);
406
+ textAttrs.push(`data-text-outline-color="${escapeHtmlAttributeValue(String(element.textOutlineColor))}"`);
356
407
  }
357
408
  if (element.textOutlineWidth) {
358
- textAttrs.push(`data-text-outline-width="${element.textOutlineWidth}"`);
409
+ textAttrs.push(`data-text-outline-width="${escapeHtmlAttributeValue(String(element.textOutlineWidth))}"`);
359
410
  }
360
411
  }
361
412
  if (element.textHighlight) {
362
413
  textAttrs.push(`data-text-highlight="true"`);
363
414
  if (element.textHighlightColor) {
364
- textAttrs.push(`data-text-highlight-color="${element.textHighlightColor}"`);
415
+ textAttrs.push(`data-text-highlight-color="${escapeHtmlAttributeValue(String(element.textHighlightColor))}"`);
365
416
  }
366
417
  if (element.textHighlightPadding) {
367
- textAttrs.push(`data-text-highlight-padding="${element.textHighlightPadding}"`);
418
+ textAttrs.push(`data-text-highlight-padding="${escapeHtmlAttributeValue(String(element.textHighlightPadding))}"`);
368
419
  }
369
420
  if (element.textHighlightRadius) {
370
- textAttrs.push(`data-text-highlight-radius="${element.textHighlightRadius}"`);
421
+ textAttrs.push(`data-text-highlight-radius="${escapeHtmlAttributeValue(String(element.textHighlightRadius))}"`);
371
422
  }
372
423
  }
373
- const content = element.content || element.name;
424
+ const content = richTextHtml(element.content ?? element.name);
374
425
  return `<div ${textAttrs.join(" ")}><div>${content}</div></div>`;
375
426
  }
376
427
  if (isCompositionElement(element)) {
377
428
  const compositionAttrs = [
378
429
  ...baseAttrs,
379
430
  `data-type="composition"`,
380
- `data-composition-id="${element.compositionId}"`,
431
+ `data-composition-id="${escapeHtmlAttributeValue(String(element.compositionId))}"`,
381
432
  ];
382
433
  if (element.sourceDuration) {
383
- compositionAttrs.push(`data-source-duration="${element.sourceDuration}"`);
434
+ compositionAttrs.push(`data-source-duration="${escapeHtmlAttributeValue(String(element.sourceDuration))}"`);
384
435
  }
385
436
  if (element.sourceWidth) {
386
- compositionAttrs.push(`data-source-width="${element.sourceWidth}"`);
437
+ compositionAttrs.push(`data-source-width="${escapeHtmlAttributeValue(String(element.sourceWidth))}"`);
387
438
  }
388
439
  if (element.sourceHeight) {
389
- compositionAttrs.push(`data-source-height="${element.sourceHeight}"`);
440
+ compositionAttrs.push(`data-source-height="${escapeHtmlAttributeValue(String(element.sourceHeight))}"`);
390
441
  }
391
442
  if (element.variableValues && Object.keys(element.variableValues).length > 0) {
392
443
  const varJson = JSON.stringify(element.variableValues);
393
- compositionAttrs.push(`data-variable-values='${varJson.replace(/'/g, "&#39;")}'`);
444
+ compositionAttrs.push(`data-variable-values='${escapeHtmlAttributeValue(varJson)}'`);
394
445
  }
395
446
  const attrs = compositionAttrs.join(" ");
396
447
  // Build iframe src with variable values as query params if present
397
448
  // Strip any existing query params first to avoid duplication
398
- let iframeSrc = element.src.split("?")[0];
449
+ let iframeSrc = element.src.split("?")[0] ?? "";
399
450
  if (element.variableValues && Object.keys(element.variableValues).length > 0) {
400
451
  const params = new URLSearchParams();
401
452
  for (const [key, value] of Object.entries(element.variableValues)) {
@@ -407,22 +458,22 @@ function generateElementHtml(element, keyframes) {
407
458
  // The motion design HTML handles its own internal positioning
408
459
  // Wrap iframe in container with click overlay for selection
409
460
  return `<div ${attrs} style="width: 100%; height: 100%;">
410
- <iframe src="${iframeSrc}" sandbox="allow-scripts allow-same-origin" style="width: 100%; height: 100%; border: none; pointer-events: none;"></iframe>
461
+ <iframe src="${sourceAttribute(iframeSrc, true)}" sandbox="allow-scripts allow-same-origin" style="width: 100%; height: 100%; border: none; pointer-events: none;"></iframe>
411
462
  <div class="composition-click-overlay" style="position: absolute; inset: 0; cursor: pointer;"></div>
412
463
  </div>`;
413
464
  }
414
465
  if (isMediaElement(element)) {
415
466
  if (element.mediaStartTime) {
416
- baseAttrs.push(`data-media-start="${element.mediaStartTime}"`);
467
+ baseAttrs.push(`data-media-start="${escapeHtmlAttributeValue(String(element.mediaStartTime))}"`);
417
468
  }
418
469
  if (element.sourceDuration) {
419
- baseAttrs.push(`data-source-duration="${element.sourceDuration}"`);
470
+ baseAttrs.push(`data-source-duration="${escapeHtmlAttributeValue(String(element.sourceDuration))}"`);
420
471
  }
421
472
  if (element.isAroll) {
422
473
  baseAttrs.push(`data-aroll="true"`);
423
474
  }
424
475
  if (element.volume !== undefined && element.volume !== 1) {
425
- baseAttrs.push(`data-volume="${element.volume}"`);
476
+ baseAttrs.push(`data-volume="${escapeHtmlAttributeValue(String(element.volume))}"`);
426
477
  }
427
478
  if (element.type === "video" && element.hasAudio) {
428
479
  baseAttrs.push(`data-has-audio="true"`);
@@ -431,11 +482,11 @@ function generateElementHtml(element, keyframes) {
431
482
  const attrs = baseAttrs.join(" ");
432
483
  switch (element.type) {
433
484
  case "video":
434
- return `<video ${attrs} src="${element.src}" playsinline></video>`;
485
+ return `<video ${attrs} src="${sourceAttribute(element.src)}" playsinline></video>`;
435
486
  case "image":
436
- return `<img ${attrs} src="${element.src}" alt="${element.name}" />`;
487
+ return `<img ${attrs} src="${sourceAttribute(element.src)}" alt="${escapeHtmlAttributeValue(String(element.name))}" />`;
437
488
  case "audio":
438
- return `<audio ${attrs} src="${element.src}"></audio>`;
489
+ return `<audio ${attrs} src="${sourceAttribute(element.src)}"></audio>`;
439
490
  default:
440
491
  return "";
441
492
  }
@@ -477,10 +528,10 @@ function generateInitialPositionSets(elements, keyframes) {
477
528
  }
478
529
  // Set position and scale (xPercent/yPercent applied at player init)
479
530
  if (scaleVal !== 1) {
480
- sets.push(` tl.set("#${el.id}", { x: ${xVal}, y: ${yVal}, scale: ${scaleVal} }, 0);`);
531
+ sets.push(` tl.set(${JSON.stringify(elementSelector(el.id))}, { x: ${finiteNumber(xVal)}, y: ${finiteNumber(yVal)}, scale: ${finiteNumber(scaleVal)} }, 0);`);
481
532
  }
482
533
  else if (xVal !== 0 || yVal !== 0) {
483
- sets.push(` tl.set("#${el.id}", { x: ${xVal}, y: ${yVal} }, 0);`);
534
+ sets.push(` tl.set(${JSON.stringify(elementSelector(el.id))}, { x: ${finiteNumber(xVal)}, y: ${finiteNumber(yVal)} }, 0);`);
484
535
  }
485
536
  }
486
537
  return sets.length > 0 ? sets.join("\n") : "";
@@ -499,9 +550,8 @@ function generateVisibilityForElementsWithoutKeyframes(elements, keyframes) {
499
550
  const opacityKeyframes = elementKeyframes?.filter((kf) => kf.properties.opacity !== undefined) || [];
500
551
  const start = el.startTime;
501
552
  const end = el.startTime + el.duration;
502
- const safeName = el.name.replace(/[\r\n]+/g, " ");
503
- animations.push(` // ${safeName} (visibility)`);
504
- animations.push(` tl.set("#${el.id}", { visibility: "hidden" }, 0);`);
553
+ animations.push(" // Element visibility");
554
+ animations.push(` tl.set(${JSON.stringify(elementSelector(el.id))}, { visibility: "hidden" }, 0);`);
505
555
  let elementOpacity = el.opacity ?? 1;
506
556
  if (opacityKeyframes.length > 0) {
507
557
  const firstOpacityKeyframe = [...opacityKeyframes].sort((a, b) => a.time - b.time)[0];
@@ -512,12 +562,12 @@ function generateVisibilityForElementsWithoutKeyframes(elements, keyframes) {
512
562
  // Only include opacity in visibility bookend if non-default or has opacity keyframes
513
563
  const needsOpacity = elementOpacity !== 1 || opacityKeyframes.length > 0;
514
564
  if (needsOpacity) {
515
- animations.push(` tl.set("#${el.id}", { visibility: "visible", opacity: ${elementOpacity} }, ${start});`);
565
+ animations.push(` tl.set(${JSON.stringify(elementSelector(el.id))}, { visibility: "visible", opacity: ${finiteNumber(elementOpacity)} }, ${finiteNumber(start)});`);
516
566
  }
517
567
  else {
518
- animations.push(` tl.set("#${el.id}", { visibility: "visible" }, ${start});`);
568
+ animations.push(` tl.set(${JSON.stringify(elementSelector(el.id))}, { visibility: "visible" }, ${finiteNumber(start)});`);
519
569
  }
520
- animations.push(` tl.set("#${el.id}", { visibility: "hidden" }, ${end});`);
570
+ animations.push(` tl.set(${JSON.stringify(elementSelector(el.id))}, { visibility: "hidden" }, ${finiteNumber(end)});`);
521
571
  }
522
572
  return animations.length > 0 ? animations.join("\n") : "";
523
573
  }
@@ -525,7 +575,7 @@ function generateDefaultGsapAnimations(elements, totalDuration, stageZoomKeyfram
525
575
  if (elements.length === 0 && (!stageZoomKeyframes || stageZoomKeyframes.length === 0)) {
526
576
  return `
527
577
  const tl = gsap.timeline({ paused: true });
528
- tl.to({}, { duration: ${totalDuration || 1} });
578
+ tl.to({}, { duration: ${finiteNumber(totalDuration || 1)} });
529
579
  `;
530
580
  }
531
581
  const animations = [];
@@ -537,18 +587,17 @@ function generateDefaultGsapAnimations(elements, totalDuration, stageZoomKeyfram
537
587
  for (const el of elements) {
538
588
  const start = el.startTime;
539
589
  const end = el.startTime + el.duration;
540
- const safeName = el.name.replace(/[\r\n]+/g, " ");
541
590
  const elementOpacity = el.opacity ?? 1;
542
- animations.push(` // ${safeName}`);
543
- animations.push(` tl.set("#${el.id}", { visibility: "hidden" }, 0);`);
591
+ animations.push(" // Element visibility");
592
+ animations.push(` tl.set(${JSON.stringify(elementSelector(el.id))}, { visibility: "hidden" }, 0);`);
544
593
  // Only include opacity if non-default
545
594
  if (elementOpacity !== 1) {
546
- animations.push(` tl.set("#${el.id}", { visibility: "visible", opacity: ${elementOpacity} }, ${start});`);
595
+ animations.push(` tl.set(${JSON.stringify(elementSelector(el.id))}, { visibility: "visible", opacity: ${finiteNumber(elementOpacity)} }, ${finiteNumber(start)});`);
547
596
  }
548
597
  else {
549
- animations.push(` tl.set("#${el.id}", { visibility: "visible" }, ${start});`);
598
+ animations.push(` tl.set(${JSON.stringify(elementSelector(el.id))}, { visibility: "visible" }, ${finiteNumber(start)});`);
550
599
  }
551
- animations.push(` tl.set("#${el.id}", { visibility: "hidden" }, ${end});`);
600
+ animations.push(` tl.set(${JSON.stringify(elementSelector(el.id))}, { visibility: "hidden" }, ${finiteNumber(end)});`);
552
601
  }
553
602
  const mediaElements = elements.filter((el) => el.type === "video" || el.type === "audio");
554
603
  const mediaSync = mediaElements.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"hyperframes.js","sourceRoot":"","sources":["../../src/generators/hyperframes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hyperframes.js","sourceRoot":"","sources":["../../src/generators/hyperframes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Preserve the existing inline-formatting contract, with one safe serialization. */
2
+ export declare function richTextHtml(content: string): string;
3
+ //# sourceMappingURL=richTextHtml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"richTextHtml.d.ts","sourceRoot":"","sources":["../../src/generators/richTextHtml.ts"],"names":[],"mappings":"AAWA,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA8BpD"}
@@ -0,0 +1,41 @@
1
+ import { parseHTML } from "linkedom";
2
+ import { sanitizeRichTextChildren } from "../utils/richTextSanitize.js";
3
+ function escape(value) {
4
+ return value
5
+ .replace(/&/g, "&amp;")
6
+ .replace(/</g, "&lt;")
7
+ .replace(/>/g, "&gt;")
8
+ .replace(/"/g, "&quot;");
9
+ }
10
+ /** Preserve the existing inline-formatting contract, with one safe serialization. */
11
+ export function richTextHtml(content) {
12
+ const { document } = parseHTML("<html><body></body></html>");
13
+ const host = document.createElement("div");
14
+ host.innerHTML = content;
15
+ sanitizeRichTextChildren(host);
16
+ // Linkedom does not re-escape entity-looking ampersands in attributes.
17
+ // Serialize the sanitized tree explicitly so a browser parse preserves values.
18
+ const result = [];
19
+ const pending = Array.from(host.childNodes).reverse();
20
+ for (let node = pending.pop(); node !== undefined; node = pending.pop()) {
21
+ if (typeof node === "string") {
22
+ result.push(node);
23
+ continue;
24
+ }
25
+ if (node.nodeType === 3) {
26
+ result.push(escape(node.textContent ?? ""));
27
+ continue;
28
+ }
29
+ if (node.nodeType !== 1)
30
+ continue;
31
+ const element = node;
32
+ const tag = element.tagName.toLowerCase();
33
+ const attrs = Array.from(element.attributes, (attr) => ` ${attr.name}="${escape(attr.value)}"`).join("");
34
+ result.push(`<${tag}${attrs}>`);
35
+ if (tag === "br")
36
+ continue;
37
+ pending.push(`</${tag}>`, ...Array.from(element.childNodes).reverse());
38
+ }
39
+ return result.join("");
40
+ }
41
+ //# sourceMappingURL=richTextHtml.js.map