@rendiv/core 0.1.2 → 0.1.4

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/dist/index.js CHANGED
@@ -1,24 +1,25 @@
1
- import G, { createContext as O, useContext as p, useEffect as M, forwardRef as le, useId as ae, useMemo as H, Children as J, useRef as R, useCallback as $, useState as ee } from "react";
2
- import { jsx as I, Fragment as se } from "react/jsx-runtime";
3
- const F = O({
1
+ import G, { createContext as O, useContext as y, useEffect as N, forwardRef as ce, useId as se, useMemo as H, Children as J, useRef as x, useCallback as T, useState as ne } from "react";
2
+ import { jsx as S, Fragment as le } from "react/jsx-runtime";
3
+ const $ = O({
4
4
  frame: 0,
5
5
  playing: !1,
6
6
  playingRef: { current: !1 }
7
- }), x = O({
7
+ }), P = O({
8
8
  id: null,
9
+ namePath: "",
9
10
  from: 0,
10
11
  durationInFrames: 1 / 0,
11
12
  parentOffset: 0,
12
13
  accumulatedOffset: 0,
13
14
  localOffset: 0
14
15
  });
15
- function Re() {
16
- const e = p(F), n = p(x);
16
+ function Ne() {
17
+ const e = y($), n = y(P);
17
18
  return e.frame - n.accumulatedOffset;
18
19
  }
19
- const D = O(null);
20
- function Fe() {
21
- const e = p(D);
20
+ const q = O(null);
21
+ function xe() {
22
+ const e = y(q);
22
23
  if (!e)
23
24
  throw new Error(
24
25
  "useCompositionConfig() must be called inside a <Composition>, <Player>, or during rendering."
@@ -26,7 +27,7 @@ function Fe() {
26
27
  return e;
27
28
  }
28
29
  const X = () => {
29
- }, ne = O({
30
+ }, te = O({
30
31
  compositions: [],
31
32
  registerComposition: X,
32
33
  unregisterComposition: X,
@@ -34,9 +35,9 @@ const X = () => {
34
35
  setCurrentCompositionId: X,
35
36
  inputProps: {}
36
37
  }), j = O(null);
37
- function xe(e) {
38
- const { registerComposition: n, unregisterComposition: t } = p(ne), o = p(j);
39
- return M(() => (n({
38
+ function Re(e) {
39
+ const { registerComposition: n, unregisterComposition: t } = y(te), o = y(j);
40
+ return N(() => (n({
40
41
  id: e.id,
41
42
  component: e.component,
42
43
  durationInFrames: e.durationInFrames,
@@ -59,8 +60,8 @@ const ue = {
59
60
  height: "100%",
60
61
  display: "flex",
61
62
  flexDirection: "column"
62
- }, W = le(
63
- ({ style: e, ...n }, t) => /* @__PURE__ */ I(
63
+ }, Y = ce(
64
+ ({ style: e, ...n }, t) => /* @__PURE__ */ S(
64
65
  "div",
65
66
  {
66
67
  ref: t,
@@ -69,44 +70,54 @@ const ue = {
69
70
  }
70
71
  )
71
72
  );
72
- W.displayName = "Fill";
73
- const te = ({
73
+ Y.displayName = "Fill";
74
+ const re = ({
74
75
  from: e = 0,
75
76
  durationInFrames: n = 1 / 0,
76
77
  name: t,
77
78
  layout: o = "absolute-fill",
78
79
  style: r,
79
- children: i
80
+ trackIndex: a = 0,
81
+ children: c
80
82
  }) => {
81
- const c = p(x), l = p(F), u = ae(), a = c.accumulatedOffset + e, m = l.frame;
82
- M(() => {
83
+ const i = y(P), d = y($), u = y(q), m = se(), h = t ?? "Sequence", b = `${h}[${e}]`, w = u ? `${u.id}/` : "", f = i.namePath ? `${i.namePath}/${b}` : `${w}${b}`;
84
+ let s = i.accumulatedOffset + e, g = n, I = a;
85
+ if (typeof window < "u") {
86
+ const v = window.__RENDIV_TIMELINE_OVERRIDES__, F = v == null ? void 0 : v.get(f);
87
+ F && (s = F.from, g = F.durationInFrames, F.trackIndex !== void 0 && (I = F.trackIndex));
88
+ }
89
+ const _ = I !== void 0 ? 1e4 - I : void 0, E = d.frame;
90
+ N(() => {
83
91
  if (typeof window > "u") return;
84
- const w = window;
85
- w.__RENDIV_TIMELINE_ENTRIES__ || (w.__RENDIV_TIMELINE_ENTRIES__ = /* @__PURE__ */ new Map());
86
- const f = w.__RENDIV_TIMELINE_ENTRIES__, s = c.id, d = { id: u, name: t ?? "Sequence", from: a, durationInFrames: n, parentId: s };
87
- return f.set(u, d), document.dispatchEvent(new CustomEvent("rendiv:timeline-sync")), () => {
88
- f.delete(u), document.dispatchEvent(new CustomEvent("rendiv:timeline-sync"));
92
+ const p = window;
93
+ p.__RENDIV_TIMELINE_ENTRIES__ || (p.__RENDIV_TIMELINE_ENTRIES__ = /* @__PURE__ */ new Map());
94
+ const v = p.__RENDIV_TIMELINE_ENTRIES__, F = i.id, A = { id: m, name: h, namePath: f, from: s, durationInFrames: g, parentId: F };
95
+ return v.set(m, A), document.dispatchEvent(new CustomEvent("rendiv:timeline-sync")), () => {
96
+ v.delete(m), document.dispatchEvent(new CustomEvent("rendiv:timeline-sync"));
89
97
  };
90
- }, [u, t, a, n]);
91
- const h = H(
98
+ }, [m, h, f, s, g]);
99
+ const C = H(
92
100
  () => ({
93
- id: u,
94
- from: a,
95
- durationInFrames: n,
96
- parentOffset: c.accumulatedOffset,
97
- accumulatedOffset: a,
101
+ id: m,
102
+ namePath: f,
103
+ from: s,
104
+ durationInFrames: g,
105
+ parentOffset: i.accumulatedOffset,
106
+ accumulatedOffset: s,
98
107
  localOffset: e
99
108
  }),
100
- [u, a, n, c.accumulatedOffset, e]
109
+ [m, f, s, g, i.accumulatedOffset, e]
101
110
  );
102
- if (m < a || m >= a + n) return null;
103
- const b = /* @__PURE__ */ I(x.Provider, { value: h, children: i });
104
- return o === "none" ? b : /* @__PURE__ */ I(W, { style: r, children: b });
111
+ if (E < s || E >= s + g) return null;
112
+ const R = /* @__PURE__ */ S(P.Provider, { value: C, children: c });
113
+ if (o === "none") return R;
114
+ const k = _ !== void 0 ? { ...r, zIndex: _ } : r;
115
+ return /* @__PURE__ */ S(Y, { style: k, children: R });
105
116
  };
106
- te.displayName = "Sequence";
117
+ re.displayName = "Sequence";
107
118
  function $e(e) {
108
- const { registerComposition: n, unregisterComposition: t } = p(ne), o = p(j);
109
- return M(() => (n({
119
+ const { registerComposition: n, unregisterComposition: t } = y(te), o = y(j);
120
+ return N(() => (n({
110
121
  id: e.id,
111
122
  component: e.component,
112
123
  durationInFrames: 1,
@@ -119,65 +130,67 @@ function $e(e) {
119
130
  }), () => t(e.id)), [e.id]), null;
120
131
  }
121
132
  const fe = ({ name: e, children: n }) => {
122
- const t = p(j), o = t ? `${t}/${e}` : e;
123
- return /* @__PURE__ */ I(j.Provider, { value: o, children: n });
133
+ const t = y(j), o = t ? `${t}/${e}` : e;
134
+ return /* @__PURE__ */ S(j.Provider, { value: o, children: n });
124
135
  };
125
136
  fe.displayName = "Folder";
126
- function Y(e) {
137
+ function Z(e) {
127
138
  throw new Error(
128
139
  "<Series.Sequence> can only be used as a direct child of <Series>."
129
140
  );
130
141
  }
131
- Y.displayName = "Series.Sequence";
132
- function re({ children: e }) {
142
+ Z.displayName = "Series.Sequence";
143
+ function oe({ children: e }) {
133
144
  const n = J.toArray(e);
134
145
  let t = 0;
135
146
  const o = [];
136
147
  for (const r of n) {
137
148
  if (!G.isValidElement(r)) continue;
138
- if (r.type !== Y)
149
+ if (r.type !== Z)
139
150
  throw new Error(
140
151
  "Only <Series.Sequence> elements are allowed as children of <Series>."
141
152
  );
142
153
  const {
143
- durationInFrames: i,
154
+ durationInFrames: a,
144
155
  offset: c = 0,
145
- name: l,
146
- layout: u,
147
- style: a,
148
- children: m
149
- } = r.props, h = t + c;
150
- let b = l;
151
- if (!b) {
152
- const w = J.toArray(m);
153
- if (w.length > 0) {
154
- const f = w[0];
155
- if (G.isValidElement(f) && typeof f.type != "string") {
156
- const s = f.type;
157
- b = s.displayName || s.name;
156
+ name: i,
157
+ layout: d,
158
+ style: u,
159
+ trackIndex: m,
160
+ children: h
161
+ } = r.props, b = t + c;
162
+ let w = i;
163
+ if (!w) {
164
+ const f = J.toArray(h);
165
+ if (f.length > 0) {
166
+ const l = f[0];
167
+ if (G.isValidElement(l) && typeof l.type != "string") {
168
+ const s = l.type;
169
+ w = s.displayName || s.name;
158
170
  }
159
171
  }
160
172
  }
161
173
  o.push(
162
- /* @__PURE__ */ I(
163
- te,
174
+ /* @__PURE__ */ S(
175
+ re,
164
176
  {
165
- from: h,
166
- durationInFrames: i,
167
- name: b,
168
- layout: u,
169
- style: a,
170
- children: m
177
+ from: b,
178
+ durationInFrames: a,
179
+ name: w,
180
+ layout: d,
181
+ style: u,
182
+ trackIndex: m,
183
+ children: h
171
184
  },
172
185
  r.key ?? o.length
173
186
  )
174
- ), t = h + i;
187
+ ), t = b + a;
175
188
  }
176
- return /* @__PURE__ */ I(se, { children: o });
189
+ return /* @__PURE__ */ S(le, { children: o });
177
190
  }
178
- re.displayName = "Series";
179
- const Pe = Object.assign(re, {
180
- Sequence: Y
191
+ oe.displayName = "Series";
192
+ const Pe = Object.assign(oe, {
193
+ Sequence: Z
181
194
  });
182
195
  function de({
183
196
  durationInFrames: e,
@@ -186,31 +199,32 @@ function de({
186
199
  style: o,
187
200
  children: r
188
201
  }) {
189
- const i = p(F), c = p(x), l = i.frame - c.accumulatedOffset;
190
- if (l < 0 || n !== 1 / 0 && l >= e * n) return null;
191
- const u = l % e, a = H(
202
+ const a = y($), c = y(P), i = a.frame - c.accumulatedOffset;
203
+ if (i < 0 || n !== 1 / 0 && i >= e * n) return null;
204
+ const d = i % e, u = H(
192
205
  () => ({
193
- frame: u + c.accumulatedOffset,
194
- playing: i.playing,
195
- playingRef: i.playingRef
206
+ frame: d + c.accumulatedOffset,
207
+ playing: a.playing,
208
+ playingRef: a.playingRef
196
209
  }),
197
- [u, c.accumulatedOffset, i.playing, i.playingRef]
210
+ [d, c.accumulatedOffset, a.playing, a.playingRef]
198
211
  ), m = H(
199
212
  () => ({
200
213
  id: null,
214
+ namePath: c.namePath,
201
215
  from: c.accumulatedOffset,
202
216
  durationInFrames: e,
203
217
  parentOffset: c.accumulatedOffset,
204
218
  accumulatedOffset: c.accumulatedOffset,
205
219
  localOffset: 0
206
220
  }),
207
- [c.accumulatedOffset, e]
208
- ), h = /* @__PURE__ */ I(F.Provider, { value: a, children: /* @__PURE__ */ I(x.Provider, { value: m, children: r }) });
209
- return t === "none" ? h : /* @__PURE__ */ I(W, { style: o, children: h });
221
+ [c.namePath, c.accumulatedOffset, e]
222
+ ), h = /* @__PURE__ */ S($.Provider, { value: u, children: /* @__PURE__ */ S(P.Provider, { value: m, children: r }) });
223
+ return t === "none" ? h : /* @__PURE__ */ S(Y, { style: o, children: h });
210
224
  }
211
225
  de.displayName = "Loop";
212
226
  function me({ frame: e, children: n }) {
213
- const t = p(F), o = H(
227
+ const t = y($), o = H(
214
228
  () => ({
215
229
  frame: e,
216
230
  playing: t.playing,
@@ -218,22 +232,22 @@ function me({ frame: e, children: n }) {
218
232
  }),
219
233
  [e, t.playing, t.playingRef]
220
234
  );
221
- return /* @__PURE__ */ I(F.Provider, { value: o, children: n });
235
+ return /* @__PURE__ */ S($.Provider, { value: o, children: n });
222
236
  }
223
237
  me.displayName = "Freeze";
224
238
  let he = 0;
225
239
  const L = /* @__PURE__ */ new Map();
226
- function k(e, n) {
240
+ function V(e, n) {
227
241
  const t = ++he, o = e ?? `Handle ${t}`, { timeoutInMilliseconds: r } = n ?? {};
228
- let i = null;
229
- return r !== void 0 && r > 0 && (i = setTimeout(() => {
242
+ let a = null;
243
+ return r !== void 0 && r > 0 && (a = setTimeout(() => {
230
244
  if (L.has(t))
231
245
  throw L.delete(t), new Error(
232
246
  `holdRender() timed out after ${r}ms (label: "${o}"). You can increase the timeout by passing a larger timeoutInMilliseconds to holdRender().`
233
247
  );
234
- }, r)), L.set(t, { label: o, timeoutId: i }), t;
248
+ }, r)), L.set(t, { label: o, timeoutId: a }), t;
235
249
  }
236
- function S(e) {
250
+ function M(e) {
237
251
  const n = L.get(e);
238
252
  if (!n)
239
253
  throw new Error(
@@ -241,13 +255,13 @@ function S(e) {
241
255
  );
242
256
  n.timeoutId !== null && clearTimeout(n.timeoutId), L.delete(e);
243
257
  }
244
- function Le(e) {
258
+ function ke(e) {
245
259
  throw new Error(`Render cancelled: ${e}`);
246
260
  }
247
- function Oe() {
261
+ function Te() {
248
262
  return L.size;
249
263
  }
250
- function Te() {
264
+ function Le() {
251
265
  return Array.from(L.values()).map((e) => e.label);
252
266
  }
253
267
  function ge({
@@ -256,32 +270,32 @@ function ge({
256
270
  onError: t,
257
271
  ...o
258
272
  }) {
259
- const r = R(null);
260
- M(() => {
261
- const l = k(
273
+ const r = x(null);
274
+ N(() => {
275
+ const i = V(
262
276
  `Loading <Img> with src="${o.src}"`,
263
277
  { timeoutInMilliseconds: e }
264
278
  );
265
- return r.current = l, () => {
266
- r.current !== null && (S(r.current), r.current = null);
279
+ return r.current = i, () => {
280
+ r.current !== null && (M(r.current), r.current = null);
267
281
  };
268
282
  }, [o.src, e]);
269
- const i = $(
270
- (l) => {
271
- r.current !== null && (S(r.current), r.current = null), n == null || n(l);
283
+ const a = T(
284
+ (i) => {
285
+ r.current !== null && (M(r.current), r.current = null), n == null || n(i);
272
286
  },
273
287
  [n]
274
- ), c = $(
275
- (l) => {
276
- r.current !== null && (S(r.current), r.current = null), t == null || t(l);
288
+ ), c = T(
289
+ (i) => {
290
+ r.current !== null && (M(r.current), r.current = null), t == null || t(i);
277
291
  },
278
292
  [t]
279
293
  );
280
- return /* @__PURE__ */ I(
294
+ return /* @__PURE__ */ S(
281
295
  "img",
282
296
  {
283
297
  ...o,
284
- onLoad: i,
298
+ onLoad: a,
285
299
  onError: c
286
300
  }
287
301
  );
@@ -290,62 +304,62 @@ ge.displayName = "Img";
290
304
  const z = O({
291
305
  environment: "studio"
292
306
  });
293
- function oe({
307
+ function ie({
294
308
  src: e,
295
309
  startFrom: n = 0,
296
310
  endAt: t,
297
311
  volume: o = 1,
298
312
  playbackRate: r = 1,
299
- muted: i = !1,
313
+ muted: a = !1,
300
314
  style: c,
301
- className: l,
302
- holdRenderTimeout: u = 3e4,
303
- ...a
315
+ className: i,
316
+ holdRenderTimeout: d = 3e4,
317
+ ...u
304
318
  }) {
305
- const m = R(null), h = p(F), b = p(x), w = p(D), { environment: f } = p(z), s = R(null), d = R(null), y = f === "rendering", v = (w == null ? void 0 : w.fps) ?? 30, _ = h.frame - b.accumulatedOffset, C = _ + n, E = C / v;
306
- M(() => {
307
- const g = k(
319
+ const m = x(null), h = y($), b = y(P), w = y(q), { environment: f } = y(z), l = x(null), s = x(null), g = f === "rendering", I = (w == null ? void 0 : w.fps) ?? 30, _ = h.frame - b.accumulatedOffset, E = _ + n, C = E / I;
320
+ N(() => {
321
+ const p = V(
308
322
  `Loading <Video> metadata for src="${e}"`,
309
- { timeoutInMilliseconds: u }
323
+ { timeoutInMilliseconds: d }
310
324
  );
311
- return s.current = g, () => {
312
- s.current !== null && (S(s.current), s.current = null);
325
+ return l.current = p, () => {
326
+ l.current !== null && (M(l.current), l.current = null);
313
327
  };
314
- }, [e, u]);
315
- const P = $(() => {
316
- s.current !== null && (S(s.current), s.current = null);
317
- }, []), T = $(() => {
318
- s.current !== null && (S(s.current), s.current = null);
328
+ }, [e, d]);
329
+ const R = T(() => {
330
+ l.current !== null && (M(l.current), l.current = null);
331
+ }, []), k = T(() => {
332
+ l.current !== null && (M(l.current), l.current = null);
319
333
  }, []);
320
- return M(() => {
321
- const g = m.current;
322
- g && (g.volume = o, g.muted = i);
323
- }, [o, i]), M(() => {
324
- const g = m.current;
325
- g && (g.playbackRate = r);
326
- }, [r]), M(() => {
327
- const g = m.current;
328
- if (g) {
329
- if (t !== void 0 && C >= t) {
330
- g.pause();
334
+ return N(() => {
335
+ const p = m.current;
336
+ p && (p.volume = o, p.muted = a);
337
+ }, [o, a]), N(() => {
338
+ const p = m.current;
339
+ p && (p.playbackRate = r);
340
+ }, [r]), N(() => {
341
+ const p = m.current;
342
+ if (p) {
343
+ if (t !== void 0 && E >= t) {
344
+ p.pause();
331
345
  return;
332
346
  }
333
- if (y) {
334
- if (g.pause(), d.current !== E) {
335
- d.current = E;
336
- const N = k(
337
- `Seeking <Video> to ${E.toFixed(3)}s`,
338
- { timeoutInMilliseconds: u }
339
- ), V = () => {
340
- S(N), g.removeEventListener("seeked", V);
347
+ if (g) {
348
+ if (p.pause(), s.current !== C) {
349
+ s.current = C;
350
+ const v = V(
351
+ `Seeking <Video> to ${C.toFixed(3)}s`,
352
+ { timeoutInMilliseconds: d }
353
+ ), F = () => {
354
+ M(v), p.removeEventListener("seeked", F);
341
355
  };
342
- g.addEventListener("seeked", V), g.currentTime = E;
356
+ p.addEventListener("seeked", F), p.currentTime = C;
343
357
  }
344
358
  } else
345
- Math.abs(g.currentTime - E) > 0.1 && (g.currentTime = E), h.playing && g.paused ? g.play().catch(() => {
346
- }) : !h.playing && !g.paused && g.pause();
359
+ Math.abs(p.currentTime - C) > 0.1 && (p.currentTime = C), h.playing && p.paused ? p.play().catch(() => {
360
+ }) : !h.playing && !p.paused && p.pause();
347
361
  }
348
- }, [_, y, E, h.playing, t, C, u]), /* @__PURE__ */ I(
362
+ }, [_, g, C, h.playing, t, E, d]), /* @__PURE__ */ S(
349
363
  "video",
350
364
  {
351
365
  ref: m,
@@ -353,34 +367,34 @@ function oe({
353
367
  preload: "auto",
354
368
  playsInline: !0,
355
369
  style: c,
356
- className: l,
357
- onLoadedMetadata: P,
358
- onError: T,
359
- ...a
370
+ className: i,
371
+ onLoadedMetadata: R,
372
+ onError: k,
373
+ ...u
360
374
  }
361
375
  );
362
376
  }
363
- oe.displayName = "Video";
377
+ ie.displayName = "Video";
364
378
  function pe({
365
379
  src: e,
366
380
  startFrom: n = 0,
367
381
  endAt: t,
368
382
  volume: o = 1,
369
383
  playbackRate: r = 1,
370
- muted: i = !1
384
+ muted: a = !1
371
385
  }) {
372
- const c = R(null), l = p(F), u = p(x), a = p(D), { environment: m } = p(z), h = m === "rendering", b = (a == null ? void 0 : a.fps) ?? 30, w = l.frame - u.accumulatedOffset, f = w + n, s = f / b;
373
- return M(() => {
386
+ const c = x(null), i = y($), d = y(P), u = y(q), { environment: m } = y(z), h = m === "rendering", b = (u == null ? void 0 : u.fps) ?? 30, w = i.frame - d.accumulatedOffset, f = w + n, l = f / b;
387
+ return N(() => {
374
388
  if (h) return;
375
- const d = c.current;
376
- if (!d) return;
377
- if (d.volume = o, d.muted = i, d.playbackRate = r, t !== void 0 && f >= t) {
378
- d.pause();
389
+ const s = c.current;
390
+ if (!s) return;
391
+ if (s.volume = o, s.muted = a, s.playbackRate = r, t !== void 0 && f >= t) {
392
+ s.pause();
379
393
  return;
380
394
  }
381
- Math.abs(d.currentTime - s) > 0.1 && (d.currentTime = s), l.playing && d.paused ? d.play().catch(() => {
382
- }) : !l.playing && !d.paused && d.pause();
383
- }, [w, h, s, l.playing, o, i, r, t, f]), h ? null : /* @__PURE__ */ I(
395
+ Math.abs(s.currentTime - l) > 0.1 && (s.currentTime = l), i.playing && s.paused ? s.play().catch(() => {
396
+ }) : !i.playing && !s.paused && s.pause();
397
+ }, [w, h, l, i.playing, o, a, r, t, f]), h ? null : /* @__PURE__ */ S(
384
398
  "audio",
385
399
  {
386
400
  ref: c,
@@ -396,67 +410,67 @@ function ye({
396
410
  height: t,
397
411
  style: o,
398
412
  className: r,
399
- holdRenderTimeout: i = 3e4
413
+ holdRenderTimeout: a = 3e4
400
414
  }) {
401
- const c = R(null), l = p(F), u = p(x), a = p(D), m = R([]), h = R(null), [b, w] = ee(!1), f = (a == null ? void 0 : a.fps) ?? 30, s = l.frame - u.accumulatedOffset;
402
- return M(() => {
403
- const d = k(
415
+ const c = x(null), i = y($), d = y(P), u = y(q), m = x([]), h = x(null), [b, w] = ne(!1), f = (u == null ? void 0 : u.fps) ?? 30, l = i.frame - d.accumulatedOffset;
416
+ return N(() => {
417
+ const s = V(
404
418
  `Loading <AnimatedImage> frames from "${e}"`,
405
- { timeoutInMilliseconds: i }
419
+ { timeoutInMilliseconds: a }
406
420
  );
407
- h.current = d;
408
- let y = !1;
409
- async function v() {
421
+ h.current = s;
422
+ let g = !1;
423
+ async function I() {
410
424
  try {
411
- const C = await (await fetch(e)).blob();
425
+ const E = await (await fetch(e)).blob();
412
426
  if (typeof ImageDecoder < "u") {
413
- const E = new ImageDecoder({
414
- data: await C.arrayBuffer(),
415
- type: C.type
427
+ const C = new ImageDecoder({
428
+ data: await E.arrayBuffer(),
429
+ type: E.type
416
430
  });
417
- await E.tracks.ready;
418
- const P = E.tracks.selectedTrack;
419
- if (!P) throw new Error("No image track found");
420
- const T = P.frameCount, g = [];
421
- for (let N = 0; N < T; N++) {
422
- const V = await E.decode({ frameIndex: N }), ie = await createImageBitmap(V.image), ce = (V.image.duration ?? 1e5) / 1e3;
423
- g.push({ image: ie, duration: ce }), V.image.close();
431
+ await C.tracks.ready;
432
+ const R = C.tracks.selectedTrack;
433
+ if (!R) throw new Error("No image track found");
434
+ const k = R.frameCount, p = [];
435
+ for (let v = 0; v < k; v++) {
436
+ const F = await C.decode({ frameIndex: v }), A = await createImageBitmap(F.image), ae = (F.image.duration ?? 1e5) / 1e3;
437
+ p.push({ image: A, duration: ae }), F.image.close();
424
438
  }
425
- E.close(), y || (m.current = g, w(!0));
439
+ C.close(), g || (m.current = p, w(!0));
426
440
  } else {
427
- const E = await createImageBitmap(C);
428
- y || (m.current = [{ image: E, duration: 1 / 0 }], w(!0));
441
+ const C = await createImageBitmap(E);
442
+ g || (m.current = [{ image: C, duration: 1 / 0 }], w(!0));
429
443
  }
430
444
  } catch (_) {
431
445
  console.error("AnimatedImage: failed to decode frames", _);
432
446
  } finally {
433
- h.current !== null && (S(h.current), h.current = null);
447
+ h.current !== null && (M(h.current), h.current = null);
434
448
  }
435
449
  }
436
- return v(), () => {
437
- y = !0, h.current !== null && (S(h.current), h.current = null);
450
+ return I(), () => {
451
+ g = !0, h.current !== null && (M(h.current), h.current = null);
438
452
  };
439
- }, [e, i]), M(() => {
453
+ }, [e, a]), N(() => {
440
454
  if (!b || m.current.length === 0) return;
441
- const d = c.current;
442
- if (!d) return;
443
- const y = d.getContext("2d");
444
- if (!y) return;
445
- const v = m.current, _ = s / f * 1e3;
446
- let C = 0;
447
- for (const N of v)
448
- C += N.duration;
449
- if (C <= 0) return;
450
- const E = (_ % C + C) % C;
451
- let P = 0, T = 0;
452
- for (let N = 0; N < v.length; N++)
453
- if (P += v[N].duration, E < P) {
454
- T = N;
455
+ const s = c.current;
456
+ if (!s) return;
457
+ const g = s.getContext("2d");
458
+ if (!g) return;
459
+ const I = m.current, _ = l / f * 1e3;
460
+ let E = 0;
461
+ for (const v of I)
462
+ E += v.duration;
463
+ if (E <= 0) return;
464
+ const C = (_ % E + E) % E;
465
+ let R = 0, k = 0;
466
+ for (let v = 0; v < I.length; v++)
467
+ if (R += I[v].duration, C < R) {
468
+ k = v;
455
469
  break;
456
470
  }
457
- const g = v[T];
458
- g && (d.width = n ?? g.image.width, d.height = t ?? g.image.height, y.clearRect(0, 0, d.width, d.height), y.drawImage(g.image, 0, 0, d.width, d.height));
459
- }, [s, f, b, n, t]), /* @__PURE__ */ I(
471
+ const p = I[k];
472
+ p && (s.width = n ?? p.image.width, s.height = t ?? p.image.height, g.clearRect(0, 0, s.width, s.height), g.drawImage(p.image, 0, 0, s.width, s.height));
473
+ }, [l, f, b, n, t]), /* @__PURE__ */ S(
460
474
  "canvas",
461
475
  {
462
476
  ref: c,
@@ -474,141 +488,141 @@ function we({
474
488
  onError: t,
475
489
  ...o
476
490
  }) {
477
- const r = R(null);
478
- M(() => {
479
- const l = k(
491
+ const r = x(null);
492
+ N(() => {
493
+ const i = V(
480
494
  `Loading <IFrame> with src="${o.src}"`,
481
495
  { timeoutInMilliseconds: e }
482
496
  );
483
- return r.current = l, () => {
484
- r.current !== null && (S(r.current), r.current = null);
497
+ return r.current = i, () => {
498
+ r.current !== null && (M(r.current), r.current = null);
485
499
  };
486
500
  }, [o.src, e]);
487
- const i = $(
488
- (l) => {
489
- r.current !== null && (S(r.current), r.current = null), n == null || n(l);
501
+ const a = T(
502
+ (i) => {
503
+ r.current !== null && (M(r.current), r.current = null), n == null || n(i);
490
504
  },
491
505
  [n]
492
- ), c = $(
493
- (l) => {
494
- r.current !== null && (S(r.current), r.current = null), t == null || t(l);
506
+ ), c = T(
507
+ (i) => {
508
+ r.current !== null && (M(r.current), r.current = null), t == null || t(i);
495
509
  },
496
510
  [t]
497
511
  );
498
- return /* @__PURE__ */ I(
512
+ return /* @__PURE__ */ S(
499
513
  "iframe",
500
514
  {
501
515
  ...o,
502
- onLoad: i,
516
+ onLoad: a,
503
517
  onError: c
504
518
  }
505
519
  );
506
520
  }
507
521
  we.displayName = "IFrame";
508
- function be({
522
+ function Ie({
509
523
  src: e,
510
524
  startFrom: n = 0,
511
525
  endAt: t,
512
526
  volume: o = 1,
513
527
  playbackRate: r = 1,
514
- muted: i = !1,
528
+ muted: a = !1,
515
529
  style: c,
516
- className: l,
517
- holdRenderTimeout: u = 3e4
530
+ className: i,
531
+ holdRenderTimeout: d = 3e4
518
532
  }) {
519
- const a = p(F), m = p(x), h = p(D), { environment: b } = p(z), w = b === "rendering", f = (h == null ? void 0 : h.fps) ?? 30, d = a.frame - m.accumulatedOffset + n, y = d / f;
520
- return w ? /* @__PURE__ */ I(
521
- ve,
533
+ const u = y($), m = y(P), h = y(q), { environment: b } = y(z), w = b === "rendering", f = (h == null ? void 0 : h.fps) ?? 30, s = u.frame - m.accumulatedOffset + n, g = s / f;
534
+ return w ? /* @__PURE__ */ S(
535
+ be,
522
536
  {
523
537
  src: e,
524
- currentTime: y,
525
- videoFrame: d,
538
+ currentTime: g,
539
+ videoFrame: s,
526
540
  endAt: t,
527
541
  style: c,
528
- className: l,
529
- holdRenderTimeout: u
542
+ className: i,
543
+ holdRenderTimeout: d
530
544
  }
531
- ) : /* @__PURE__ */ I(
532
- oe,
545
+ ) : /* @__PURE__ */ S(
546
+ ie,
533
547
  {
534
548
  src: e,
535
549
  startFrom: n,
536
550
  endAt: t,
537
551
  volume: o,
538
552
  playbackRate: r,
539
- muted: i,
553
+ muted: a,
540
554
  style: c,
541
- className: l,
542
- holdRenderTimeout: u
555
+ className: i,
556
+ holdRenderTimeout: d
543
557
  }
544
558
  );
545
559
  }
546
- be.displayName = "OffthreadVideo";
547
- function ve({
560
+ Ie.displayName = "OffthreadVideo";
561
+ function be({
548
562
  src: e,
549
563
  currentTime: n,
550
564
  videoFrame: t,
551
565
  endAt: o,
552
566
  style: r,
553
- className: i,
567
+ className: a,
554
568
  holdRenderTimeout: c
555
569
  }) {
556
- const [l, u] = ee(null), a = R(null), m = R(null);
570
+ const [i, d] = ne(null), u = x(null), m = x(null);
557
571
  if (o !== void 0 && t >= o)
558
572
  return null;
559
- M(() => {
560
- const w = k(
573
+ N(() => {
574
+ const w = V(
561
575
  `Extracting <OffthreadVideo> frame at ${n.toFixed(3)}s from "${e}"`,
562
576
  { timeoutInMilliseconds: c }
563
577
  );
564
- a.current = w;
578
+ u.current = w;
565
579
  const f = new URLSearchParams({
566
580
  src: e,
567
581
  time: String(n)
568
- }), s = `${window.location.origin}/__offthread_video__?${f.toString()}`;
569
- let d = !1;
570
- return fetch(s).then((y) => {
571
- if (!y.ok)
572
- throw new Error(`OffthreadVideo: Failed to extract frame (HTTP ${y.status})`);
573
- return y.blob();
574
- }).then((y) => {
575
- if (d) return;
582
+ }), l = `${window.location.origin}/__offthread_video__?${f.toString()}`;
583
+ let s = !1;
584
+ return fetch(l).then((g) => {
585
+ if (!g.ok)
586
+ throw new Error(`OffthreadVideo: Failed to extract frame (HTTP ${g.status})`);
587
+ return g.blob();
588
+ }).then((g) => {
589
+ if (s) return;
576
590
  m.current && URL.revokeObjectURL(m.current);
577
- const v = URL.createObjectURL(y);
578
- m.current = v, u(v);
579
- }).catch((y) => {
580
- console.error("OffthreadVideo frame extraction error:", y), a.current !== null && (S(a.current), a.current = null);
591
+ const I = URL.createObjectURL(g);
592
+ m.current = I, d(I);
593
+ }).catch((g) => {
594
+ console.error("OffthreadVideo frame extraction error:", g), u.current !== null && (M(u.current), u.current = null);
581
595
  }), () => {
582
- d = !0, a.current !== null && (S(a.current), a.current = null);
596
+ s = !0, u.current !== null && (M(u.current), u.current = null);
583
597
  };
584
- }, [n, e, c]), M(() => () => {
598
+ }, [n, e, c]), N(() => () => {
585
599
  m.current && (URL.revokeObjectURL(m.current), m.current = null);
586
600
  }, []);
587
- const h = $(() => {
588
- a.current !== null && (S(a.current), a.current = null);
589
- }, []), b = $(() => {
590
- a.current !== null && (S(a.current), a.current = null);
601
+ const h = T(() => {
602
+ u.current !== null && (M(u.current), u.current = null);
603
+ }, []), b = T(() => {
604
+ u.current !== null && (M(u.current), u.current = null);
591
605
  }, []);
592
- return l ? /* @__PURE__ */ I(
606
+ return i ? /* @__PURE__ */ S(
593
607
  "img",
594
608
  {
595
- src: l,
609
+ src: i,
596
610
  style: r,
597
- className: i,
611
+ className: a,
598
612
  onLoad: h,
599
613
  onError: b,
600
614
  alt: ""
601
615
  }
602
616
  ) : null;
603
617
  }
604
- function Ie(e, n) {
618
+ function ve(e, n) {
605
619
  for (let t = 1; t < n.length; t++)
606
620
  if (e <= n[t]) return t - 1;
607
621
  return n.length - 2;
608
622
  }
609
- function A(e, n, t, o, r, i) {
623
+ function B(e, n, t, o, r, a) {
610
624
  let c;
611
- return n === t ? c = 0 : c = (e - n) / (t - n), i && (c = i(c)), o + c * (r - o);
625
+ return n === t ? c = 0 : c = (e - n) / (t - n), a && (c = a(c)), o + c * (r - o);
612
626
  }
613
627
  function U(e, n, t, o) {
614
628
  if (n.length !== t.length)
@@ -617,16 +631,16 @@ function U(e, n, t, o) {
617
631
  );
618
632
  if (n.length < 2)
619
633
  throw new Error("inputRange and outputRange must have at least 2 elements.");
620
- for (let u = 1; u < n.length; u++)
621
- if (n[u] < n[u - 1])
634
+ for (let d = 1; d < n.length; d++)
635
+ if (n[d] < n[d - 1])
622
636
  throw new Error("inputRange must be monotonically non-decreasing.");
623
637
  const {
624
638
  easing: r,
625
- extrapolateLeft: i = "extend",
639
+ extrapolateLeft: a = "extend",
626
640
  extrapolateRight: c = "extend"
627
641
  } = o ?? {};
628
642
  if (e < n[0])
629
- return i === "clamp" ? t[0] : i === "identity" ? e : A(
643
+ return a === "clamp" ? t[0] : a === "identity" ? e : B(
630
644
  e,
631
645
  n[0],
632
646
  n[1],
@@ -639,119 +653,119 @@ function U(e, n, t, o) {
639
653
  return t[t.length - 1];
640
654
  if (c === "identity")
641
655
  return e;
642
- const u = n.length - 1;
643
- return A(
656
+ const d = n.length - 1;
657
+ return B(
644
658
  e,
645
- n[u - 1],
646
- n[u],
647
- t[u - 1],
648
- t[u],
659
+ n[d - 1],
660
+ n[d],
661
+ t[d - 1],
662
+ t[d],
649
663
  r
650
664
  );
651
665
  }
652
- const l = Ie(e, n);
653
- return A(
666
+ const i = ve(e, n);
667
+ return B(
654
668
  e,
655
- n[l],
656
- n[l + 1],
657
- t[l],
658
- t[l + 1],
669
+ n[i],
670
+ n[i + 1],
671
+ t[i],
672
+ t[i + 1],
659
673
  r
660
674
  );
661
675
  }
662
- function Ce(e, n, t, o, r, i, c) {
663
- const l = -o * (e - t), u = -r * n, a = (l + u) / i, m = n + a * c;
676
+ function Ee(e, n, t, o, r, a, c) {
677
+ const i = -o * (e - t), d = -r * n, u = (i + d) / a, m = n + u * c;
664
678
  return { position: e + m * c, velocity: m };
665
679
  }
666
- function Ee(e) {
680
+ function Ce(e) {
667
681
  const {
668
682
  frame: n,
669
683
  fps: t,
670
684
  config: o = {},
671
685
  from: r = 0,
672
- to: i = 1,
686
+ to: a = 1,
673
687
  durationInFrames: c,
674
- durationRestThreshold: l = 5e-3
688
+ durationRestThreshold: i = 5e-3
675
689
  } = e, {
676
- damping: u = 10,
677
- mass: a = 1,
690
+ damping: d = 10,
691
+ mass: u = 1,
678
692
  stiffness: m = 100,
679
693
  clampOvershoot: h = !1
680
694
  } = o;
681
695
  if (n < 0) return r;
682
696
  if (c !== void 0 && n >= c)
683
- return i;
697
+ return a;
684
698
  const b = 1 / t, w = 4, f = b / w;
685
- let s = r, d = 0;
686
- for (let y = 0; y < n; y++) {
687
- for (let v = 0; v < w; v++) {
688
- const _ = Ce(s, d, i, m, u, a, f);
689
- s = _.position, d = _.velocity;
699
+ let l = r, s = 0;
700
+ for (let g = 0; g < n; g++) {
701
+ for (let I = 0; I < w; I++) {
702
+ const _ = Ee(l, s, a, m, d, u, f);
703
+ l = _.position, s = _.velocity;
690
704
  }
691
- if (h && (r < i ? s = Math.min(s, i) : s = Math.max(s, i), s === i && (d = 0)), Math.abs(s - i) < l && Math.abs(d) < l)
692
- return i;
705
+ if (h && (r < a ? l = Math.min(l, a) : l = Math.max(l, a), l === a && (s = 0)), Math.abs(l - a) < i && Math.abs(s) < i)
706
+ return a;
693
707
  }
694
- return s;
708
+ return l;
695
709
  }
696
- function Ve(e) {
710
+ function Oe(e) {
697
711
  const {
698
712
  fps: n,
699
713
  config: t,
700
714
  from: o = 0,
701
715
  to: r = 1,
702
- threshold: i = 5e-3
716
+ threshold: a = 5e-3
703
717
  } = e, c = n * 60;
704
- for (let l = 0; l < c; l++) {
705
- const u = Ee({
706
- frame: l,
718
+ for (let i = 0; i < c; i++) {
719
+ const d = Ce({
720
+ frame: i,
707
721
  fps: n,
708
722
  config: t,
709
723
  from: o,
710
724
  to: r,
711
- durationRestThreshold: i
725
+ durationRestThreshold: a
712
726
  });
713
- if (Math.abs(u - r) < i)
714
- return l;
727
+ if (Math.abs(d - r) < a)
728
+ return i;
715
729
  }
716
730
  return c;
717
731
  }
718
- function q(e, n, t, o) {
719
- const r = 3 * e, i = 3 * (t - e) - r, c = 1 - r - i, l = 3 * n, u = 3 * (o - n) - l, a = 1 - l - u;
732
+ function D(e, n, t, o) {
733
+ const r = 3 * e, a = 3 * (t - e) - r, c = 1 - r - a, i = 3 * n, d = 3 * (o - n) - i, u = 1 - i - d;
720
734
  function m(f) {
721
- return ((c * f + i) * f + r) * f;
735
+ return ((c * f + a) * f + r) * f;
722
736
  }
723
737
  function h(f) {
724
- return ((a * f + u) * f + l) * f;
738
+ return ((u * f + d) * f + i) * f;
725
739
  }
726
740
  function b(f) {
727
- return (3 * c * f + 2 * i) * f + r;
741
+ return (3 * c * f + 2 * a) * f + r;
728
742
  }
729
743
  function w(f) {
730
- let s = f;
731
- for (let v = 0; v < 8; v++) {
732
- const _ = m(s) - f;
733
- if (Math.abs(_) < 1e-7) return s;
734
- const C = b(s);
735
- if (Math.abs(C) < 1e-7) break;
736
- s -= _ / C;
744
+ let l = f;
745
+ for (let I = 0; I < 8; I++) {
746
+ const _ = m(l) - f;
747
+ if (Math.abs(_) < 1e-7) return l;
748
+ const E = b(l);
749
+ if (Math.abs(E) < 1e-7) break;
750
+ l -= _ / E;
737
751
  }
738
- let d = 0, y = 1;
739
- for (s = f; d < y; ) {
740
- const v = m(s);
741
- if (Math.abs(v - f) < 1e-7) return s;
742
- f > v ? d = s : y = s, s = (d + y) / 2;
752
+ let s = 0, g = 1;
753
+ for (l = f; s < g; ) {
754
+ const I = m(l);
755
+ if (Math.abs(I - f) < 1e-7) return l;
756
+ f > I ? s = l : g = l, l = (s + g) / 2;
743
757
  }
744
- return s;
758
+ return l;
745
759
  }
746
760
  return (f) => f <= 0 ? 0 : f >= 1 ? 1 : h(w(f));
747
761
  }
748
- const ke = {
762
+ const Ve = {
749
763
  linear: ((e) => e),
750
- ease: q(0.25, 0.1, 0.25, 1),
751
- easeIn: q(0.42, 0, 1, 1),
752
- easeOut: q(0, 0, 0.58, 1),
753
- easeInOut: q(0.42, 0, 0.58, 1),
754
- bezier: q,
764
+ ease: D(0.25, 0.1, 0.25, 1),
765
+ easeIn: D(0.42, 0, 1, 1),
766
+ easeOut: D(0, 0, 0.58, 1),
767
+ easeInOut: D(0.42, 0, 0.58, 1),
768
+ bezier: D,
755
769
  bounce: ((e) => e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + 0.75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + 0.9375 : 7.5625 * (e -= 2.625 / 2.75) * e + 0.984375),
756
770
  elastic: (e = 1) => {
757
771
  const n = 0.3 / Math.max(e, 1e-3);
@@ -785,7 +799,7 @@ function Q(e) {
785
799
  ];
786
800
  throw new Error(`Cannot parse color: ${e}`);
787
801
  }
788
- const Z = {
802
+ const ee = {
789
803
  black: "#000000",
790
804
  white: "#ffffff",
791
805
  red: "#ff0000",
@@ -803,8 +817,8 @@ const Z = {
803
817
  };
804
818
  function Se(e) {
805
819
  const n = e.trim().toLowerCase();
806
- if (Z[n]) {
807
- const t = Z[n];
820
+ if (ee[n]) {
821
+ const t = ee[n];
808
822
  return t.startsWith("#") ? K(t) : Q(t);
809
823
  }
810
824
  if (n.startsWith("#"))
@@ -813,49 +827,49 @@ function Se(e) {
813
827
  return Q(n);
814
828
  throw new Error(`Unsupported color format: ${e}`);
815
829
  }
816
- function Me(e) {
830
+ function _e(e) {
817
831
  const [n, t, o, r] = e;
818
832
  return r === 1 ? `rgb(${Math.round(n)}, ${Math.round(t)}, ${Math.round(o)})` : `rgba(${Math.round(n)}, ${Math.round(t)}, ${Math.round(o)}, ${Number(r.toFixed(3))})`;
819
833
  }
820
834
  function qe(e, n, t, o) {
821
835
  if (n.length !== t.length)
822
836
  throw new Error("inputRange and outputRange must have the same length.");
823
- const r = t.map(Se), i = U(
837
+ const r = t.map(Se), a = U(
824
838
  e,
825
839
  n,
826
- r.map((a) => a[0]),
840
+ r.map((u) => u[0]),
827
841
  o
828
842
  ), c = U(
829
843
  e,
830
844
  n,
831
- r.map((a) => a[1]),
845
+ r.map((u) => u[1]),
832
846
  o
833
- ), l = U(
847
+ ), i = U(
834
848
  e,
835
849
  n,
836
- r.map((a) => a[2]),
850
+ r.map((u) => u[2]),
837
851
  o
838
- ), u = U(
852
+ ), d = U(
839
853
  e,
840
854
  n,
841
- r.map((a) => a[3]),
855
+ r.map((u) => u[3]),
842
856
  o
843
857
  );
844
- return Me([
845
- Math.max(0, Math.min(255, i)),
858
+ return _e([
859
+ Math.max(0, Math.min(255, a)),
846
860
  Math.max(0, Math.min(255, c)),
847
- Math.max(0, Math.min(255, l)),
848
- Math.max(0, Math.min(1, u))
861
+ Math.max(0, Math.min(255, i)),
862
+ Math.max(0, Math.min(1, d))
849
863
  ]);
850
864
  }
851
- let B = null;
865
+ let W = null;
852
866
  function De(e) {
853
- if (B !== null)
867
+ if (W !== null)
854
868
  throw new Error("setRootComponent() can only be called once.");
855
- B = e;
869
+ W = e;
856
870
  }
857
871
  function Ue() {
858
- return B;
872
+ return W;
859
873
  }
860
874
  function He(e) {
861
875
  return `/${e.startsWith("/") ? e.slice(1) : e}`;
@@ -864,14 +878,14 @@ function je() {
864
878
  return typeof window < "u" && window.__RENDIV_INPUT_PROPS__ ? window.__RENDIV_INPUT_PROPS__ : {};
865
879
  }
866
880
  function ze() {
867
- const { environment: e } = p(z);
881
+ const { environment: e } = y(z);
868
882
  return {
869
883
  isStudio: e === "studio",
870
884
  isRendering: e === "rendering",
871
885
  isPlayer: e === "player"
872
886
  };
873
887
  }
874
- function Xe() {
888
+ function Ae() {
875
889
  if (typeof window < "u") {
876
890
  const e = window.__RENDIV_ENVIRONMENT__;
877
891
  return {
@@ -882,45 +896,45 @@ function Xe() {
882
896
  }
883
897
  return { isStudio: !1, isRendering: !1, isPlayer: !1 };
884
898
  }
885
- const Ae = O(null);
899
+ const Xe = O(null);
886
900
  export {
887
901
  ye as AnimatedImage,
888
902
  pe as Audio,
889
- xe as Composition,
890
- D as CompositionContext,
891
- ne as CompositionManagerContext,
892
- ke as Easing,
893
- W as Fill,
903
+ Re as Composition,
904
+ q as CompositionContext,
905
+ te as CompositionManagerContext,
906
+ Ve as Easing,
907
+ Y as Fill,
894
908
  fe as Folder,
895
909
  j as FolderContext,
896
910
  me as Freeze,
897
911
  we as IFrame,
898
912
  ge as Img,
899
913
  de as Loop,
900
- be as OffthreadVideo,
914
+ Ie as OffthreadVideo,
901
915
  z as RendivEnvironmentContext,
902
- te as Sequence,
903
- x as SequenceContext,
916
+ re as Sequence,
917
+ P as SequenceContext,
904
918
  Pe as Series,
905
919
  $e as Still,
906
- F as TimelineContext,
907
- Ae as TimelineRegistryContext,
908
- oe as Video,
909
- Le as abortRender,
920
+ $ as TimelineContext,
921
+ Xe as TimelineRegistryContext,
922
+ ie as Video,
923
+ ke as abortRender,
910
924
  qe as blendColors,
911
925
  je as getInputProps,
912
- Oe as getPendingHoldCount,
913
- Te as getPendingHoldLabels,
914
- Xe as getRendivEnvironment,
926
+ Te as getPendingHoldCount,
927
+ Le as getPendingHoldLabels,
928
+ Ae as getRendivEnvironment,
915
929
  Ue as getRootComponent,
916
- Ve as getSpringDuration,
917
- k as holdRender,
930
+ Oe as getSpringDuration,
931
+ V as holdRender,
918
932
  U as interpolate,
919
- S as releaseRender,
933
+ M as releaseRender,
920
934
  De as setRootComponent,
921
- Ee as spring,
935
+ Ce as spring,
922
936
  He as staticFile,
923
- Fe as useCompositionConfig,
924
- Re as useFrame,
937
+ xe as useCompositionConfig,
938
+ Ne as useFrame,
925
939
  ze as useRendivEnvironment
926
940
  };