hyperframes 0.8.161 → 0.8.162

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 (84) hide show
  1. package/dist/{add-7U5TQGSQ.js → add-UW7GCPQF.js} +5 -5
  2. package/dist/{asset-N3JO5LHY.js → asset-TWBPYQOL.js} +2 -2
  3. package/dist/{audio-QNPSENQR.js → audio-DJIE4YLH.js} +42 -20
  4. package/dist/{auth-HINUM4A7.js → auth-VTCEZYBT.js} +1 -1
  5. package/dist/{autoUpdate-AAMND4XK.js → autoUpdate-JA3SV472.js} +2 -2
  6. package/dist/{backgroundChecks-FXIEHPND.js → backgroundChecks-J3WJDPQJ.js} +3 -3
  7. package/dist/backgroundChecksWorker.js +3 -3
  8. package/dist/{beats-UZNREIRU.js → beats-QVJVXZV5.js} +4 -4
  9. package/dist/{benchmark-YM3QXPH6.js → benchmark-WNBAKOXS.js} +5 -5
  10. package/dist/{browser-SD3T2XMH.js → browser-VJOTRIXL.js} +3 -3
  11. package/dist/{catalog-6PF7KZAZ.js → catalog-SAC4GFIN.js} +5 -5
  12. package/dist/{catch-up-5LTQTD3X.js → catch-up-T5RIRFJF.js} +4 -4
  13. package/dist/{check-NE2YXJR2.js → check-IRETF27J.js} +11 -11
  14. package/dist/{checkBrowser-XDTXDEYO.js → checkBrowser-5IXR4QCK.js} +7 -7
  15. package/dist/{chunk-IL6C7T5X.js → chunk-3LQEZ4EI.js} +1 -1
  16. package/dist/{chunk-WNXVPPMV.js → chunk-3NSVHCOH.js} +2 -2
  17. package/dist/{chunk-AY2FEJDR.js → chunk-5K34RPE5.js} +2 -2
  18. package/dist/{chunk-IYLHJV34.js → chunk-5UBZPG74.js} +1 -143
  19. package/dist/{chunk-AHNJMWMU.js → chunk-AAUK5GDI.js} +2 -2
  20. package/dist/{chunk-G5AZMSQP.js → chunk-FF5TAEPT.js} +1 -1
  21. package/dist/{chunk-TXG6W4X4.js → chunk-GNFWKGSQ.js} +2 -2
  22. package/dist/{chunk-H4VXLZ6O.js → chunk-GS5EXZBV.js} +2 -2
  23. package/dist/chunk-J4L5TPLS.js +101 -0
  24. package/dist/{chunk-CGOGEA62.js → chunk-JJYFRAI4.js} +1 -1
  25. package/dist/{chunk-PYMYGIZ4.js → chunk-KAKBRDU4.js} +2 -2
  26. package/dist/{chunk-VYTGK5YA.js → chunk-KIJO75L4.js} +1 -1
  27. package/dist/{chunk-SAS6XBY5.js → chunk-NQR5SBXX.js} +1 -1
  28. package/dist/{chunk-PZH7FTRZ.js → chunk-S6OLD4SL.js} +2 -2
  29. package/dist/{chunk-7ZKEOQ5N.js → chunk-T5BG7PYZ.js} +1 -1
  30. package/dist/{chunk-I6CVW5CA.js → chunk-T65MIV36.js} +2 -2
  31. package/dist/chunk-TDPVEMBS.js +156 -0
  32. package/dist/{chunk-WDUEIP22.js → chunk-YJKUE3LV.js} +1 -1
  33. package/dist/{chunk-HM4PLNTX.js → chunk-YLBV2PXM.js} +1 -1
  34. package/dist/{chunk-KZPG4DXX.js → chunk-ZEWX3GHP.js} +1 -1
  35. package/dist/{clean-4Y4G3YV3.js → clean-WB62QULT.js} +3 -3
  36. package/dist/cli.js +47 -47
  37. package/dist/{cloud-BWXJB2B7.js → cloud-E5WB4DWZ.js} +4 -4
  38. package/dist/{compare-OLLJBVNL.js → compare-GHFVHZ5A.js} +4 -4
  39. package/dist/{component-ULSAC45J.js → component-ZGCC3MHX.js} +3 -3
  40. package/dist/{compositions-G2JTQBTJ.js → compositions-THPEDDIX.js} +5 -5
  41. package/dist/{delete-BONV4XUI.js → delete-6FWT7DZX.js} +4 -3
  42. package/dist/{doctor-EMLC4VZ4.js → doctor-RDGDOUC4.js} +3 -3
  43. package/dist/{events-LF2J436R.js → events-CU6FDXHC.js} +3 -3
  44. package/dist/{events-ZFGAA5UD.js → events-VHXICDA2.js} +2 -2
  45. package/dist/{feedback-WKCUQE6T.js → feedback-PUPN6EKP.js} +4 -4
  46. package/dist/{figma-VJKG252Z.js → figma-ZKWBF7QH.js} +3 -3
  47. package/dist/fontLocalizeCli.js +1 -1
  48. package/dist/{get-OINAGI2B.js → get-JHIBQRPM.js} +4 -3
  49. package/dist/{grade-compare-DY5VFXPK.js → grade-compare-GPLUXDPW.js} +4 -4
  50. package/dist/{help-HHB7JRZA.js → help-GO6RGM37.js} +1 -1
  51. package/dist/{history-D44JJBBC.js → history-RUTC4SH5.js} +6 -6
  52. package/dist/hyperframes-player.global.js +1 -1
  53. package/dist/{info-2WZLISAR.js → info-773VXW37.js} +5 -5
  54. package/dist/{init-UYZS2WXQ.js → init-YXSIRYZI.js} +6 -6
  55. package/dist/{inspect-IEFCB4PT.js → inspect-L4RRJEAA.js} +6 -6
  56. package/dist/{keyframes-FS43QHM2.js → keyframes-P5IOQ6AM.js} +5 -5
  57. package/dist/{layout-AK2A7Q46.js → layout-OH2VTN5E.js} +6 -6
  58. package/dist/{lint-JRJUSZO7.js → lint-YEEPVE6Q.js} +6 -6
  59. package/dist/{list-BKKGPT7E.js → list-QURRZTVN.js} +4 -3
  60. package/dist/{login-QJZTUDDO.js → login-DFT4L5YY.js} +4 -4
  61. package/dist/{media-treatment-473OM7G7.js → media-treatment-ERQ2PBIN.js} +5 -5
  62. package/dist/{normalize-audio-M3KVTFTQ.js → normalize-audio-R23VODOA.js} +4 -4
  63. package/dist/{open-363TDMEP.js → open-GEOB4L3S.js} +4 -4
  64. package/dist/{play-2UB33EGB.js → play-BYUS37GA.js} +4 -4
  65. package/dist/{present-F3ASSDJX.js → present-BZLRNHDY.js} +4 -4
  66. package/dist/{preview-EF76WIHK.js → preview-TXML6PQ7.js} +5 -5
  67. package/dist/{render-GUBYSVQD.js → render-57SXH6NS.js} +7 -7
  68. package/dist/{render-GL72Z2W2.js → render-JTY7XQFQ.js} +10 -85
  69. package/dist/{skills-7XI4DHLN.js → skills-2LBVMKVY.js} +5 -5
  70. package/dist/{skillsUpdateCheck-34WOCMHV.js → skillsUpdateCheck-5DRXL565.js} +3 -3
  71. package/dist/{snapshot-SGTO2OQ4.js → snapshot-V2L77FCF.js} +6 -6
  72. package/dist/studio/assets/{hyperframes-player-C8VFb4NS.js → hyperframes-player-CAclPB6q.js} +1 -1
  73. package/dist/studio/assets/{index-J8Bpbg6o.js → index-B82aOvgB.js} +4 -4
  74. package/dist/studio/assets/{index-RZnZPb-B.js → index-DCwGKghK.js} +1 -1
  75. package/dist/studio/index.html +1 -1
  76. package/dist/{studioServer-VIIVGFZH.js → studioServer-B7H7EQ4U.js} +4 -4
  77. package/dist/{telemetry-YKVYLJSB.js → telemetry-WVHWY3DU.js} +3 -3
  78. package/dist/{timeline-LDRA7QZ3.js → timeline-EDXJ5L45.js} +5 -5
  79. package/dist/{tokens-ZAOFRU55.js → tokens-UNJONAXT.js} +2 -2
  80. package/dist/{transcribe-CJXUHTAS.js → transcribe-VX7ZE2IZ.js} +3 -3
  81. package/dist/{updateCheck-TIRFQBSI.js → updateCheck-NLH5E44Q.js} +2 -2
  82. package/dist/{upgrade-7R5G3MNO.js → upgrade-RGQJA2B4.js} +2 -2
  83. package/dist/{validate-VGEPWGQO.js → validate-4AN4PDV7.js} +6 -6
  84. package/package.json +1 -1
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  resolveProject,
20
20
  resolveProjectOrThrow
21
- } from "./chunk-WDUEIP22.js";
21
+ } from "./chunk-YJKUE3LV.js";
22
22
  import "./chunk-K2FLNJVB.js";
23
23
  import "./chunk-DCAI5DBR.js";
24
24
  import {
@@ -44,8 +44,8 @@ import "./chunk-EVRUR7DW.js";
44
44
  import "./chunk-AWDFDFI3.js";
45
45
  import "./chunk-P6LJ4Y32.js";
46
46
  import "./chunk-GMECXFAN.js";
47
- import "./chunk-HM4PLNTX.js";
48
- import "./chunk-KZPG4DXX.js";
47
+ import "./chunk-YLBV2PXM.js";
48
+ import "./chunk-ZEWX3GHP.js";
49
49
  import "./chunk-VWG7OQKU.js";
50
50
  import "./chunk-QWQ6GQTI.js";
51
51
  import {
@@ -70,7 +70,7 @@ import "./chunk-WERLJGIC.js";
70
70
  import {
71
71
  isDevMode
72
72
  } from "./chunk-ISN5GRYI.js";
73
- import "./chunk-WNXVPPMV.js";
73
+ import "./chunk-3NSVHCOH.js";
74
74
  import "./chunk-EOVYQ3IG.js";
75
75
  import {
76
76
  buildNpxCommand
@@ -1701,7 +1701,7 @@ async function runLocalStudioMode(dir, options) {
1701
1701
  return waitForStudioChildClose(child);
1702
1702
  }
1703
1703
  async function runEmbeddedMode(dir, startPort, options) {
1704
- const { createStudioServer, loadPreviewServerBuildSignature, resolveStudioBundle } = await import("./studioServer-VIIVGFZH.js");
1704
+ const { createStudioServer, loadPreviewServerBuildSignature, resolveStudioBundle } = await import("./studioServer-B7H7EQ4U.js");
1705
1705
  const pName = options?.projectName ?? basename(dir);
1706
1706
  const studioBundle = resolveStudioBundle();
1707
1707
  if (!options?.json) ge(c.bold("hyperframes preview"));
@@ -6,11 +6,11 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  maybePromptRenderFeedback
9
- } from "./chunk-AY2FEJDR.js";
9
+ } from "./chunk-5K34RPE5.js";
10
10
  import {
11
11
  captureArtifactRevision
12
- } from "./chunk-G5AZMSQP.js";
13
- import "./chunk-CGOGEA62.js";
12
+ } from "./chunk-FF5TAEPT.js";
13
+ import "./chunk-JJYFRAI4.js";
14
14
  import "./chunk-X7MTZ4T2.js";
15
15
  import {
16
16
  reportVariableIssues,
@@ -41,7 +41,7 @@ import {
41
41
  } from "./chunk-EDUBJPGL.js";
42
42
  import {
43
43
  resolveProject
44
- } from "./chunk-WDUEIP22.js";
44
+ } from "./chunk-YJKUE3LV.js";
45
45
  import {
46
46
  errorBox,
47
47
  formatBytes,
@@ -82,8 +82,8 @@ import {
82
82
  trackRenderError,
83
83
  trackRenderObservation,
84
84
  trackRenderPreflightRejected
85
- } from "./chunk-HM4PLNTX.js";
86
- import "./chunk-KZPG4DXX.js";
85
+ } from "./chunk-YLBV2PXM.js";
86
+ import "./chunk-ZEWX3GHP.js";
87
87
  import "./chunk-VWG7OQKU.js";
88
88
  import {
89
89
  bytesToMb
@@ -124,7 +124,7 @@ import {
124
124
  } from "./chunk-ISN5GRYI.js";
125
125
  import {
126
126
  VERSION
127
- } from "./chunk-WNXVPPMV.js";
127
+ } from "./chunk-3NSVHCOH.js";
128
128
  import "./chunk-EOVYQ3IG.js";
129
129
  import {
130
130
  createRenderCancellationScope
@@ -15,12 +15,15 @@ import {
15
15
  import {
16
16
  DEFAULT_MAX_WAIT_MS,
17
17
  DEFAULT_POLL_INTERVAL_MS,
18
- HyperframesApiError,
19
18
  PollTimeoutError,
20
19
  createCloudClient,
21
20
  pollUntilTerminal,
22
21
  reportApiError
23
- } from "./chunk-IYLHJV34.js";
22
+ } from "./chunk-TDPVEMBS.js";
23
+ import {
24
+ uploadZipViaDirectUpload
25
+ } from "./chunk-J4L5TPLS.js";
26
+ import "./chunk-5UBZPG74.js";
24
27
  import {
25
28
  buildPublishFileMap,
26
29
  zipPublishFileMap
@@ -35,15 +38,15 @@ import {
35
38
  } from "./chunk-B7RUGHBT.js";
36
39
  import {
37
40
  resolveProject
38
- } from "./chunk-WDUEIP22.js";
41
+ } from "./chunk-YJKUE3LV.js";
39
42
  import {
40
43
  errorBox,
41
44
  formatBytes,
42
45
  formatDuration
43
46
  } from "./chunk-K2FLNJVB.js";
44
47
  import "./chunk-442JNXRM.js";
45
- import "./chunk-HM4PLNTX.js";
46
- import "./chunk-KZPG4DXX.js";
48
+ import "./chunk-YLBV2PXM.js";
49
+ import "./chunk-ZEWX3GHP.js";
47
50
  import "./chunk-VWG7OQKU.js";
48
51
  import "./chunk-QWQ6GQTI.js";
49
52
  import {
@@ -58,12 +61,12 @@ import {
58
61
  } from "./chunk-ZTZA4UWZ.js";
59
62
  import {
60
63
  withMeta
61
- } from "./chunk-7ZKEOQ5N.js";
64
+ } from "./chunk-T5BG7PYZ.js";
62
65
  import "./chunk-K4WIOZFP.js";
63
66
  import "./chunk-XUXGIA7H.js";
64
67
  import "./chunk-WERLJGIC.js";
65
68
  import "./chunk-ISN5GRYI.js";
66
- import "./chunk-WNXVPPMV.js";
69
+ import "./chunk-3NSVHCOH.js";
67
70
  import {
68
71
  downloadToFile
69
72
  } from "./chunk-BXCMXMJQ.js";
@@ -136,84 +139,6 @@ function detectAspectRatioFromHtmlString(html) {
136
139
  return { kind: "no-match", width, height, ratio };
137
140
  }
138
141
 
139
- // src/cloud/upload.ts
140
- import { createHash } from "crypto";
141
- var COMPLETE_MAX_RETRIES = 5;
142
- var COMPLETE_RETRY_BASE_MS = 500;
143
- var CONTENT_TYPE_ZIP = "application/zip";
144
- function sha256Hex(bytes) {
145
- return createHash("sha256").update(bytes).digest("hex");
146
- }
147
- function sleep(ms) {
148
- return new Promise((r) => setTimeout(r, ms));
149
- }
150
- function normalizeUploadHeaders(raw) {
151
- const out = {};
152
- for (const [k, v] of Object.entries(raw ?? {})) {
153
- if (typeof v === "string") out[k] = v;
154
- else if (typeof v === "number" || typeof v === "boolean") out[k] = String(v);
155
- }
156
- return out;
157
- }
158
- async function putBytesToPresignedUrl(fetchImpl, uploadUrl, uploadHeaders, bytes) {
159
- const headers = {
160
- "content-type": CONTENT_TYPE_ZIP,
161
- ...normalizeUploadHeaders(uploadHeaders)
162
- };
163
- const res = await fetchImpl(uploadUrl, {
164
- method: "PUT",
165
- headers,
166
- body: bytes
167
- });
168
- if (!res.ok) {
169
- const detail = await res.text().catch(() => "");
170
- throw new Error(
171
- `Direct upload PUT failed: ${res.status} ${res.statusText}${detail ? ` \u2014 ${detail.slice(0, 300)}` : ""}`
172
- );
173
- }
174
- }
175
- async function completeWithRetry(client, asset_id, checksum_sha256) {
176
- let lastErr;
177
- for (let attempt = 0; attempt < COMPLETE_MAX_RETRIES; attempt++) {
178
- try {
179
- return await client.completeAssetUpload({
180
- asset_id,
181
- body: { checksum_sha256 }
182
- });
183
- } catch (err) {
184
- const retryable = err instanceof HyperframesApiError && err.status === 409;
185
- if (!retryable || attempt === COMPLETE_MAX_RETRIES - 1) {
186
- throw err;
187
- }
188
- lastErr = err;
189
- await sleep(COMPLETE_RETRY_BASE_MS * (attempt + 1));
190
- }
191
- }
192
- throw lastErr ?? new Error("completeAssetUpload retries exhausted");
193
- }
194
- async function uploadZipViaDirectUpload(opts) {
195
- const start = Date.now();
196
- const { bytes, filename, idempotencyKey } = opts;
197
- const size_bytes = bytes.byteLength;
198
- const checksum_sha256 = sha256Hex(bytes);
199
- const fetchImpl = opts.fetchImpl ?? fetch;
200
- opts.onProgress?.({ phase: "initialize" });
201
- const initialize = await opts.client.createAssetUpload({
202
- body: { filename, content_type: CONTENT_TYPE_ZIP, size_bytes, checksum_sha256 },
203
- idempotencyKey
204
- });
205
- opts.onProgress?.({ phase: "upload", percent: 0 });
206
- await putBytesToPresignedUrl(fetchImpl, initialize.upload_url, initialize.upload_headers, bytes);
207
- opts.onProgress?.({ phase: "upload", percent: 100 });
208
- opts.onProgress?.({ phase: "complete" });
209
- const completed = await completeWithRetry(opts.client, initialize.asset_id, checksum_sha256);
210
- return {
211
- asset_id: completed.asset_id,
212
- size_bytes,
213
- duration_ms: Date.now() - start
214
- };
215
- }
216
-
217
142
  // src/commands/cloud/render.ts
218
143
  import { isAbsolute, relative, resolve as resolvePath } from "path";
219
144
  import { existsSync } from "fs";
@@ -6,8 +6,8 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  trackSkillsInstallSkipped
9
- } from "./chunk-HM4PLNTX.js";
10
- import "./chunk-KZPG4DXX.js";
9
+ } from "./chunk-YLBV2PXM.js";
10
+ import "./chunk-ZEWX3GHP.js";
11
11
  import {
12
12
  diag
13
13
  } from "./chunk-VWG7OQKU.js";
@@ -35,15 +35,15 @@ import {
35
35
  isCoreSkill,
36
36
  presentSkills,
37
37
  pruneOrphanedLockEntries
38
- } from "./chunk-VYTGK5YA.js";
38
+ } from "./chunk-KIJO75L4.js";
39
39
  import {
40
40
  withMeta
41
- } from "./chunk-7ZKEOQ5N.js";
41
+ } from "./chunk-T5BG7PYZ.js";
42
42
  import "./chunk-K4WIOZFP.js";
43
43
  import "./chunk-XUXGIA7H.js";
44
44
  import "./chunk-WERLJGIC.js";
45
45
  import "./chunk-ISN5GRYI.js";
46
- import "./chunk-WNXVPPMV.js";
46
+ import "./chunk-3NSVHCOH.js";
47
47
  import {
48
48
  buildNpxCommand
49
49
  } from "./chunk-6BEFEWFB.js";
@@ -9,13 +9,13 @@ import {
9
9
  printSkillsUpdateNotice,
10
10
  refreshSkillsCache,
11
11
  skillsCheckDue
12
- } from "./chunk-VYTGK5YA.js";
13
- import "./chunk-7ZKEOQ5N.js";
12
+ } from "./chunk-KIJO75L4.js";
13
+ import "./chunk-T5BG7PYZ.js";
14
14
  import "./chunk-K4WIOZFP.js";
15
15
  import "./chunk-XUXGIA7H.js";
16
16
  import "./chunk-WERLJGIC.js";
17
17
  import "./chunk-ISN5GRYI.js";
18
- import "./chunk-WNXVPPMV.js";
18
+ import "./chunk-3NSVHCOH.js";
19
19
  import "./chunk-KNU5COPB.js";
20
20
  import "./chunk-M2WBOQ2Q.js";
21
21
  export {
@@ -17,8 +17,8 @@ import {
17
17
  } from "./chunk-57GN6KWT.js";
18
18
  import {
19
19
  captureArtifactRevision
20
- } from "./chunk-G5AZMSQP.js";
21
- import "./chunk-CGOGEA62.js";
20
+ } from "./chunk-FF5TAEPT.js";
21
+ import "./chunk-JJYFRAI4.js";
22
22
  import "./chunk-X7MTZ4T2.js";
23
23
  import {
24
24
  DEFAULT_ZOOM_SCALE,
@@ -38,7 +38,7 @@ import {
38
38
  } from "./chunk-6CSYCFQV.js";
39
39
  import {
40
40
  resolveProject
41
- } from "./chunk-WDUEIP22.js";
41
+ } from "./chunk-YJKUE3LV.js";
42
42
  import "./chunk-K2FLNJVB.js";
43
43
  import {
44
44
  serveStaticProjectHtml
@@ -75,8 +75,8 @@ import "./chunk-AWDFDFI3.js";
75
75
  import "./chunk-P6LJ4Y32.js";
76
76
  import "./chunk-GMECXFAN.js";
77
77
  import "./chunk-5CS4T6C6.js";
78
- import "./chunk-HM4PLNTX.js";
79
- import "./chunk-KZPG4DXX.js";
78
+ import "./chunk-YLBV2PXM.js";
79
+ import "./chunk-ZEWX3GHP.js";
80
80
  import "./chunk-VWG7OQKU.js";
81
81
  import "./chunk-QWQ6GQTI.js";
82
82
  import {
@@ -100,7 +100,7 @@ import "./chunk-K4WIOZFP.js";
100
100
  import "./chunk-XUXGIA7H.js";
101
101
  import "./chunk-WERLJGIC.js";
102
102
  import "./chunk-ISN5GRYI.js";
103
- import "./chunk-WNXVPPMV.js";
103
+ import "./chunk-3NSVHCOH.js";
104
104
  import {
105
105
  loadOptionalPackage
106
106
  } from "./chunk-3DKN5WKL.js";
@@ -1,4 +1,4 @@
1
- var xe=Object.defineProperty;var Ie=(r,i,e)=>i in r?xe(r,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[i]=e;var l=(r,i,e)=>Ie(r,typeof i!="symbol"?i+"":i,e);import{S as Oe,r as Ne,a as fe,i as Fe,b as w,c as _e,p as Ve,d as Ue,e as He,f as We,s as ze,g as ge,F as ye}from"./index-J8Bpbg6o.js";function $e(r){return r.hasRuntime||r.runtimeInjected?!1:!!(r.hasNestedCompositions||r.hasTimelines&&r.attempts>=5)}function x(r){return typeof r=="object"&&r!==null}function je(r){return x(r)&&typeof r.getDuration=="function"}function Be(r){return x(r)&&typeof r.duration=="function"&&typeof r.time=="function"&&typeof r.seek=="function"&&typeof r.play=="function"&&typeof r.pause=="function"}function qe(r){if(!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(r))throw new Error(`Invalid HyperFrames runtime version: ${r}`);return`https://cdn.jsdelivr.net/npm/@hyperframes/core@${r}/dist/hyperframe.runtime.iife.js`}const W=typeof __HYPERFRAMES_RUNTIME_CDN_URL__=="string"?__HYPERFRAMES_RUNTIME_CDN_URL__:qe("0.0.0-dev");function $(r){if(r===null)return null;const i=Number.parseInt(r,10);return Number.isFinite(i)&&i>0?i:null}function Ge(r){const i=(r==null?void 0:r.querySelector("[data-composition-id][data-width][data-height]"))??(r==null?void 0:r.querySelector("[data-width][data-height]"));if(!i)return null;const e=$(i.getAttribute("data-width")),t=$(i.getAttribute("data-height"));return e!==null&&t!==null?{width:e,height:t}:null}function Ye(r){return Array.isArray(r)?r.find(i=>typeof i=="string"&&i.trim()!==""&&i!=="[object Event]")??null:null}class Xe{constructor(i,e){l(this,"_interval",null);l(this,"_runtimeInjected",!1);l(this,"_runtimeScript",null);l(this,"_failure",null);this._iframe=i,this._callbacks=e}get failed(){return this._failure!==null&&this._failure.document===this._iframe.contentDocument}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._failure=null,this._runtimeInjected=!1;let i=0;this._interval=setInterval(()=>{i++;let e=null;try{e=this._poll(i)}catch(t){t instanceof DOMException&&t.name==="SecurityError"||(e={kind:"error",message:t instanceof Error?t.message:String(t)})}if(e){this.stop(),e.kind==="error"?(this._failure={document:this._iframe.contentDocument},this._callbacks.onError(e.message)):this._callbacks.onReady(e.result);return}i>=40&&(this.stop(),this._failure={document:this._iframe.contentDocument},this._callbacks.onError("Composition timeline not found after 8s"))},200)}_poll(i){const e=this._iframe.contentWindow;if(!e)return null;const t=Ye(Reflect.get(e,Oe));if(t!==null)return{kind:"error",message:t};const s=this._iframe.contentDocument,n=Reflect.get(e,"__timelines"),o=this.hasRuntimeBridge(e);if($e({hasRuntime:o,hasTimelines:x(n)&&Object.keys(n).length>0,hasNestedCompositions:!!(s!=null&&s.querySelector("[data-composition-src]")),runtimeInjected:this._runtimeInjected,attempts:i}))return this._injectRuntime(),null;if(this._runtimeInjected&&!o)return null;const a=this._resolveReadyResult(e,s);return a?{kind:"ready",result:a}:null}_resolveReadyResult(i,e){var n;const t=this._resolvePlaybackDurationAdapter(i)??{kind:"document",getDuration:()=>0};let s=t.getDuration();if(!Number.isFinite(s)||s<=0){if(t.kind==="direct-timeline")return null;s=e?((n=Ne(e))==null?void 0:n.durationSeconds)??0:0}return s<=0?null:{duration:s,adapter:{...t,getDuration:()=>s},compositionSize:Ge(e)}}stop(){this._runtimeScript&&(this._runtimeScript.onerror=null,this._runtimeScript=null),this.failed||(this._failure=null),this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{const i=this._iframe.contentWindow;return i?this._resolveDirectTimelineAdapterFromWindow(i):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(i){return this._resolveDirectTimelineAdapterFromWindow(i)}hasRuntimeBridge(i){return x(Reflect.get(i,"__player"))}_injectRuntime(){var i,e,t,s;this._runtimeInjected=!0;try{const n=this._iframe.contentDocument;if(!n)return;const o=n.createElement("script");o.src=((e=(i=this._callbacks).resolveRuntimeUrl)==null?void 0:e.call(i))??W,this._runtimeScript=o,o.onerror=()=>{this._runtimeScript!==o||this._iframe.contentDocument!==n||(this.stop(),this._failure={document:n},this._callbacks.onError("HyperFrames runtime failed to load from "+o.src))},(n.head||n.documentElement).appendChild(o),(s=(t=this._callbacks).onRuntimeInjected)==null||s.call(t)}catch{}}_resolveDirectTimelineAdapterFromWindow(i){var a,c;if(this.hasRuntimeBridge(i))return null;const e=Reflect.get(i,"__timelines");if(!x(e))return null;const t=Object.keys(e);if(t.length===0)return null;const s=(c=(a=this._iframe.contentDocument)==null?void 0:a.querySelector("[data-composition-id]"))==null?void 0:c.getAttribute("data-composition-id"),n=s&&s in e?s:t[t.length-1],o=e[n];return Be(o)?o:null}_resolvePlaybackDurationAdapter(i){const e=Reflect.get(i,"__player");if(je(e))return{kind:"runtime",getDuration:()=>e.getDuration()};const t=this._resolveDirectTimelineAdapterFromWindow(i);return t?{kind:"direct-timeline",timeline:t,getDuration:()=>t.duration()}:null}}const Ze=`
1
+ var xe=Object.defineProperty;var Ie=(r,i,e)=>i in r?xe(r,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[i]=e;var l=(r,i,e)=>Ie(r,typeof i!="symbol"?i+"":i,e);import{S as Oe,r as Ne,a as fe,i as Fe,b as w,c as _e,p as Ve,d as Ue,e as He,f as We,s as ze,g as ge,F as ye}from"./index-B82aOvgB.js";function $e(r){return r.hasRuntime||r.runtimeInjected?!1:!!(r.hasNestedCompositions||r.hasTimelines&&r.attempts>=5)}function x(r){return typeof r=="object"&&r!==null}function je(r){return x(r)&&typeof r.getDuration=="function"}function Be(r){return x(r)&&typeof r.duration=="function"&&typeof r.time=="function"&&typeof r.seek=="function"&&typeof r.play=="function"&&typeof r.pause=="function"}function qe(r){if(!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(r))throw new Error(`Invalid HyperFrames runtime version: ${r}`);return`https://cdn.jsdelivr.net/npm/@hyperframes/core@${r}/dist/hyperframe.runtime.iife.js`}const W=typeof __HYPERFRAMES_RUNTIME_CDN_URL__=="string"?__HYPERFRAMES_RUNTIME_CDN_URL__:qe("0.0.0-dev");function $(r){if(r===null)return null;const i=Number.parseInt(r,10);return Number.isFinite(i)&&i>0?i:null}function Ge(r){const i=(r==null?void 0:r.querySelector("[data-composition-id][data-width][data-height]"))??(r==null?void 0:r.querySelector("[data-width][data-height]"));if(!i)return null;const e=$(i.getAttribute("data-width")),t=$(i.getAttribute("data-height"));return e!==null&&t!==null?{width:e,height:t}:null}function Ye(r){return Array.isArray(r)?r.find(i=>typeof i=="string"&&i.trim()!==""&&i!=="[object Event]")??null:null}class Xe{constructor(i,e){l(this,"_interval",null);l(this,"_runtimeInjected",!1);l(this,"_runtimeScript",null);l(this,"_failure",null);this._iframe=i,this._callbacks=e}get failed(){return this._failure!==null&&this._failure.document===this._iframe.contentDocument}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._failure=null,this._runtimeInjected=!1;let i=0;this._interval=setInterval(()=>{i++;let e=null;try{e=this._poll(i)}catch(t){t instanceof DOMException&&t.name==="SecurityError"||(e={kind:"error",message:t instanceof Error?t.message:String(t)})}if(e){this.stop(),e.kind==="error"?(this._failure={document:this._iframe.contentDocument},this._callbacks.onError(e.message)):this._callbacks.onReady(e.result);return}i>=40&&(this.stop(),this._failure={document:this._iframe.contentDocument},this._callbacks.onError("Composition timeline not found after 8s"))},200)}_poll(i){const e=this._iframe.contentWindow;if(!e)return null;const t=Ye(Reflect.get(e,Oe));if(t!==null)return{kind:"error",message:t};const s=this._iframe.contentDocument,n=Reflect.get(e,"__timelines"),o=this.hasRuntimeBridge(e);if($e({hasRuntime:o,hasTimelines:x(n)&&Object.keys(n).length>0,hasNestedCompositions:!!(s!=null&&s.querySelector("[data-composition-src]")),runtimeInjected:this._runtimeInjected,attempts:i}))return this._injectRuntime(),null;if(this._runtimeInjected&&!o)return null;const a=this._resolveReadyResult(e,s);return a?{kind:"ready",result:a}:null}_resolveReadyResult(i,e){var n;const t=this._resolvePlaybackDurationAdapter(i)??{kind:"document",getDuration:()=>0};let s=t.getDuration();if(!Number.isFinite(s)||s<=0){if(t.kind==="direct-timeline")return null;s=e?((n=Ne(e))==null?void 0:n.durationSeconds)??0:0}return s<=0?null:{duration:s,adapter:{...t,getDuration:()=>s},compositionSize:Ge(e)}}stop(){this._runtimeScript&&(this._runtimeScript.onerror=null,this._runtimeScript=null),this.failed||(this._failure=null),this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{const i=this._iframe.contentWindow;return i?this._resolveDirectTimelineAdapterFromWindow(i):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(i){return this._resolveDirectTimelineAdapterFromWindow(i)}hasRuntimeBridge(i){return x(Reflect.get(i,"__player"))}_injectRuntime(){var i,e,t,s;this._runtimeInjected=!0;try{const n=this._iframe.contentDocument;if(!n)return;const o=n.createElement("script");o.src=((e=(i=this._callbacks).resolveRuntimeUrl)==null?void 0:e.call(i))??W,this._runtimeScript=o,o.onerror=()=>{this._runtimeScript!==o||this._iframe.contentDocument!==n||(this.stop(),this._failure={document:n},this._callbacks.onError("HyperFrames runtime failed to load from "+o.src))},(n.head||n.documentElement).appendChild(o),(s=(t=this._callbacks).onRuntimeInjected)==null||s.call(t)}catch{}}_resolveDirectTimelineAdapterFromWindow(i){var a,c;if(this.hasRuntimeBridge(i))return null;const e=Reflect.get(i,"__timelines");if(!x(e))return null;const t=Object.keys(e);if(t.length===0)return null;const s=(c=(a=this._iframe.contentDocument)==null?void 0:a.querySelector("[data-composition-id]"))==null?void 0:c.getAttribute("data-composition-id"),n=s&&s in e?s:t[t.length-1],o=e[n];return Be(o)?o:null}_resolvePlaybackDurationAdapter(i){const e=Reflect.get(i,"__player");if(je(e))return{kind:"runtime",getDuration:()=>e.getDuration()};const t=this._resolveDirectTimelineAdapterFromWindow(i);return t?{kind:"direct-timeline",timeline:t,getDuration:()=>t.duration()}:null}}const Ze=`
2
2
  :host {
3
3
  display: block;
4
4
  position: relative;