melies-video-editor 0.1.1 → 0.1.2

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,109 +1,109 @@
1
- import Ge, { useState as z, useRef as j, useEffect as Ce, useMemo as Oe, useLayoutEffect as Xe } from "react";
2
- import { Timeline as ke } from "@xzdarcy/react-timeline-editor";
3
- import { Howl as Je, Howler as qe } from "howler";
4
- import { Select as Ye, Button as We } from "antd";
5
- import { useSensors as Ke, useSensor as xe, PointerSensor as ze, TouchSensor as Ve, useDroppable as Ze, DndContext as _e, rectIntersection as $e, DragOverlay as At, useDraggable as et } from "@dnd-kit/core";
6
- var fe = { exports: {} }, Ae = {};
7
- var Re;
8
- function tt() {
9
- if (Re) return Ae;
10
- Re = 1;
11
- var g = Ge, s = /* @__PURE__ */ Symbol.for("react.element"), l = /* @__PURE__ */ Symbol.for("react.fragment"), u = Object.prototype.hasOwnProperty, f = g.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, I = { key: !0, ref: !0, __self: !0, __source: !0 };
12
- function h(v, m, b) {
13
- var y, p = {}, q = null, W = null;
14
- b !== void 0 && (q = "" + b), m.key !== void 0 && (q = "" + m.key), m.ref !== void 0 && (W = m.ref);
15
- for (y in m) u.call(m, y) && !I.hasOwnProperty(y) && (p[y] = m[y]);
16
- if (v && v.defaultProps) for (y in m = v.defaultProps, m) p[y] === void 0 && (p[y] = m[y]);
17
- return { $$typeof: s, type: v, key: q, ref: W, props: p, _owner: f.current };
1
+ import gt, { useState as gA, useRef as nA, useEffect as ye, useMemo as tt, useLayoutEffect as Ct } from "react";
2
+ import { Timeline as Et } from "@xzdarcy/react-timeline-editor";
3
+ import { Howl as Qt, Howler as wt } from "howler";
4
+ import { Select as Bt, Button as It } from "antd";
5
+ import { useSensors as Dt, useSensor as rt, PointerSensor as ht, TouchSensor as mt, useDroppable as Ft, DndContext as pt, rectIntersection as Rt, DragOverlay as Ot, useDraggable as vt } from "@dnd-kit/core";
6
+ var Xe = { exports: {} }, He = {};
7
+ var it;
8
+ function bt() {
9
+ if (it) return He;
10
+ it = 1;
11
+ var B = gt, s = /* @__PURE__ */ Symbol.for("react.element"), d = /* @__PURE__ */ Symbol.for("react.fragment"), c = Object.prototype.hasOwnProperty, f = B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Q = { key: !0, ref: !0, __self: !0, __source: !0 };
12
+ function b(y, S, L) {
13
+ var m, W = {}, J = null, hA = null;
14
+ L !== void 0 && (J = "" + L), S.key !== void 0 && (J = "" + S.key), S.ref !== void 0 && (hA = S.ref);
15
+ for (m in S) c.call(S, m) && !Q.hasOwnProperty(m) && (W[m] = S[m]);
16
+ if (y && y.defaultProps) for (m in S = y.defaultProps, S) W[m] === void 0 && (W[m] = S[m]);
17
+ return { $$typeof: s, type: y, key: J, ref: hA, props: W, _owner: f.current };
18
18
  }
19
- return Ae.Fragment = l, Ae.jsx = h, Ae.jsxs = h, Ae;
19
+ return He.Fragment = d, He.jsx = b, He.jsxs = b, He;
20
20
  }
21
- var ee = {};
22
- var Se;
23
- function nt() {
24
- return Se || (Se = 1, process.env.NODE_ENV !== "production" && (function() {
25
- var g = Ge, s = /* @__PURE__ */ Symbol.for("react.element"), l = /* @__PURE__ */ Symbol.for("react.portal"), u = /* @__PURE__ */ Symbol.for("react.fragment"), f = /* @__PURE__ */ Symbol.for("react.strict_mode"), I = /* @__PURE__ */ Symbol.for("react.profiler"), h = /* @__PURE__ */ Symbol.for("react.provider"), v = /* @__PURE__ */ Symbol.for("react.context"), m = /* @__PURE__ */ Symbol.for("react.forward_ref"), b = /* @__PURE__ */ Symbol.for("react.suspense"), y = /* @__PURE__ */ Symbol.for("react.suspense_list"), p = /* @__PURE__ */ Symbol.for("react.memo"), q = /* @__PURE__ */ Symbol.for("react.lazy"), W = /* @__PURE__ */ Symbol.for("react.offscreen"), uA = Symbol.iterator, K = "@@iterator";
26
- function L(e) {
21
+ var Ne = {};
22
+ var ot;
23
+ function St() {
24
+ return ot || (ot = 1, process.env.NODE_ENV !== "production" && (function() {
25
+ var B = gt, s = /* @__PURE__ */ Symbol.for("react.element"), d = /* @__PURE__ */ Symbol.for("react.portal"), c = /* @__PURE__ */ Symbol.for("react.fragment"), f = /* @__PURE__ */ Symbol.for("react.strict_mode"), Q = /* @__PURE__ */ Symbol.for("react.profiler"), b = /* @__PURE__ */ Symbol.for("react.provider"), y = /* @__PURE__ */ Symbol.for("react.context"), S = /* @__PURE__ */ Symbol.for("react.forward_ref"), L = /* @__PURE__ */ Symbol.for("react.suspense"), m = /* @__PURE__ */ Symbol.for("react.suspense_list"), W = /* @__PURE__ */ Symbol.for("react.memo"), J = /* @__PURE__ */ Symbol.for("react.lazy"), hA = /* @__PURE__ */ Symbol.for("react.offscreen"), X = Symbol.iterator, lA = "@@iterator";
26
+ function mA(e) {
27
27
  if (e === null || typeof e != "object")
28
28
  return null;
29
- var c = uA && e[uA] || e[K];
30
- return typeof c == "function" ? c : null;
29
+ var g = X && e[X] || e[lA];
30
+ return typeof g == "function" ? g : null;
31
31
  }
32
- var Z = g.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
33
- function S(e) {
32
+ var UA = B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
33
+ function rA(e) {
34
34
  {
35
- for (var c = arguments.length, A = new Array(c > 1 ? c - 1 : 0), t = 1; t < c; t++)
36
- A[t - 1] = arguments[t];
37
- BA("error", e, A);
35
+ for (var g = arguments.length, E = new Array(g > 1 ? g - 1 : 0), p = 1; p < g; p++)
36
+ E[p - 1] = arguments[p];
37
+ cA("error", e, E);
38
38
  }
39
39
  }
40
- function BA(e, c, A) {
40
+ function cA(e, g, E) {
41
41
  {
42
- var t = Z.ReactDebugCurrentFrame, n = t.getStackAddendum();
43
- n !== "" && (c += "%s", A = A.concat([n]));
44
- var o = A.map(function(r) {
45
- return String(r);
42
+ var p = UA.ReactDebugCurrentFrame, j = p.getStackAddendum();
43
+ j !== "" && (g += "%s", E = E.concat([j]));
44
+ var V = E.map(function(G) {
45
+ return String(G);
46
46
  });
47
- o.unshift("Warning: " + c), Function.prototype.apply.call(console[e], console, o);
47
+ V.unshift("Warning: " + g), Function.prototype.apply.call(console[e], console, V);
48
48
  }
49
49
  }
50
- var CA = !1, iA = !1, lA = !1, ie = !1, FA = !1, yA;
51
- yA = /* @__PURE__ */ Symbol.for("react.module.reference");
52
- function JA(e) {
53
- return !!(typeof e == "string" || typeof e == "function" || e === u || e === I || FA || e === f || e === b || e === y || ie || e === W || CA || iA || lA || typeof e == "object" && e !== null && (e.$$typeof === q || e.$$typeof === p || e.$$typeof === h || e.$$typeof === v || e.$$typeof === m || // This needs to include all possible module reference object
50
+ var _A = !1, TA = !1, GA = !1, WA = !1, SA = !1, HA;
51
+ HA = /* @__PURE__ */ Symbol.for("react.module.reference");
52
+ function Pe(e) {
53
+ return !!(typeof e == "string" || typeof e == "function" || e === c || e === Q || SA || e === f || e === L || e === m || WA || e === hA || _A || TA || GA || typeof e == "object" && e !== null && (e.$$typeof === J || e.$$typeof === W || e.$$typeof === b || e.$$typeof === y || e.$$typeof === S || // This needs to include all possible module reference object
54
54
  // types supported by any Flight configuration anywhere since
55
55
  // we don't know which Flight build this will end up being used
56
56
  // with.
57
- e.$$typeof === yA || e.getModuleId !== void 0));
57
+ e.$$typeof === HA || e.getModuleId !== void 0));
58
58
  }
59
- function qA(e, c, A) {
60
- var t = e.displayName;
61
- if (t)
62
- return t;
63
- var n = c.displayName || c.name || "";
64
- return n !== "" ? A + "(" + n + ")" : A;
59
+ function XA(e, g, E) {
60
+ var p = e.displayName;
61
+ if (p)
62
+ return p;
63
+ var j = g.displayName || g.name || "";
64
+ return j !== "" ? E + "(" + j + ")" : E;
65
65
  }
66
- function SA(e) {
66
+ function $A(e) {
67
67
  return e.displayName || "Context";
68
68
  }
69
- function oA(e) {
69
+ function FA(e) {
70
70
  if (e == null)
71
71
  return null;
72
- if (typeof e.tag == "number" && S("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function")
72
+ if (typeof e.tag == "number" && rA("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function")
73
73
  return e.displayName || e.name || null;
74
74
  if (typeof e == "string")
75
75
  return e;
76
76
  switch (e) {
77
- case u:
77
+ case c:
78
78
  return "Fragment";
79
- case l:
79
+ case d:
80
80
  return "Portal";
81
- case I:
81
+ case Q:
82
82
  return "Profiler";
83
83
  case f:
84
84
  return "StrictMode";
85
- case b:
85
+ case L:
86
86
  return "Suspense";
87
- case y:
87
+ case m:
88
88
  return "SuspenseList";
89
89
  }
90
90
  if (typeof e == "object")
91
91
  switch (e.$$typeof) {
92
- case v:
93
- var c = e;
94
- return SA(c) + ".Consumer";
95
- case h:
96
- var A = e;
97
- return SA(A._context) + ".Provider";
98
- case m:
99
- return qA(e, e.render, "ForwardRef");
100
- case p:
101
- var t = e.displayName || null;
102
- return t !== null ? t : oA(e.type) || "Memo";
103
- case q: {
104
- var n = e, o = n._payload, r = n._init;
92
+ case y:
93
+ var g = e;
94
+ return $A(g) + ".Consumer";
95
+ case b:
96
+ var E = e;
97
+ return $A(E._context) + ".Provider";
98
+ case S:
99
+ return XA(e, e.render, "ForwardRef");
100
+ case W:
101
+ var p = e.displayName || null;
102
+ return p !== null ? p : FA(e.type) || "Memo";
103
+ case J: {
104
+ var j = e, V = j._payload, G = j._init;
105
105
  try {
106
- return oA(r(o));
106
+ return FA(G(V));
107
107
  } catch {
108
108
  return null;
109
109
  }
@@ -111,18 +111,18 @@ function nt() {
111
111
  }
112
112
  return null;
113
113
  }
114
- var sA = Object.assign, eA = 0, UA, wA, w, x, R, P, H;
115
- function U() {
114
+ var NA = Object.assign, PA = 0, de, se, LA, ae, zA, O, $;
115
+ function AA() {
116
116
  }
117
- U.__reactDisabledLog = !0;
118
- function k() {
117
+ AA.__reactDisabledLog = !0;
118
+ function q() {
119
119
  {
120
- if (eA === 0) {
121
- UA = console.log, wA = console.info, w = console.warn, x = console.error, R = console.group, P = console.groupCollapsed, H = console.groupEnd;
120
+ if (PA === 0) {
121
+ de = console.log, se = console.info, LA = console.warn, ae = console.error, zA = console.group, O = console.groupCollapsed, $ = console.groupEnd;
122
122
  var e = {
123
123
  configurable: !0,
124
124
  enumerable: !0,
125
- value: U,
125
+ value: AA,
126
126
  writable: !0
127
127
  };
128
128
  Object.defineProperties(console, {
@@ -135,332 +135,332 @@ function nt() {
135
135
  groupEnd: e
136
136
  });
137
137
  }
138
- eA++;
138
+ PA++;
139
139
  }
140
140
  }
141
- function IA() {
141
+ function z() {
142
142
  {
143
- if (eA--, eA === 0) {
143
+ if (PA--, PA === 0) {
144
144
  var e = {
145
145
  configurable: !0,
146
146
  enumerable: !0,
147
147
  writable: !0
148
148
  };
149
149
  Object.defineProperties(console, {
150
- log: sA({}, e, {
151
- value: UA
150
+ log: NA({}, e, {
151
+ value: de
152
152
  }),
153
- info: sA({}, e, {
154
- value: wA
153
+ info: NA({}, e, {
154
+ value: se
155
155
  }),
156
- warn: sA({}, e, {
157
- value: w
156
+ warn: NA({}, e, {
157
+ value: LA
158
158
  }),
159
- error: sA({}, e, {
160
- value: x
159
+ error: NA({}, e, {
160
+ value: ae
161
161
  }),
162
- group: sA({}, e, {
163
- value: R
162
+ group: NA({}, e, {
163
+ value: zA
164
164
  }),
165
- groupCollapsed: sA({}, e, {
166
- value: P
165
+ groupCollapsed: NA({}, e, {
166
+ value: O
167
167
  }),
168
- groupEnd: sA({}, e, {
169
- value: H
168
+ groupEnd: NA({}, e, {
169
+ value: $
170
170
  })
171
171
  });
172
172
  }
173
- eA < 0 && S("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
173
+ PA < 0 && rA("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
174
174
  }
175
175
  }
176
- var dA = Z.ReactCurrentDispatcher, aA;
177
- function NA(e, c, A) {
176
+ var eA = UA.ReactCurrentDispatcher, aA;
177
+ function xA(e, g, E) {
178
178
  {
179
179
  if (aA === void 0)
180
180
  try {
181
181
  throw Error();
182
- } catch (n) {
183
- var t = n.stack.trim().match(/\n( *(at )?)/);
184
- aA = t && t[1] || "";
182
+ } catch (j) {
183
+ var p = j.stack.trim().match(/\n( *(at )?)/);
184
+ aA = p && p[1] || "";
185
185
  }
186
186
  return `
187
187
  ` + aA + e;
188
188
  }
189
189
  }
190
- var GA = !1, WA;
190
+ var yA = !1, YA;
191
191
  {
192
- var fA = typeof WeakMap == "function" ? WeakMap : Map;
193
- WA = new fA();
192
+ var CA = typeof WeakMap == "function" ? WeakMap : Map;
193
+ YA = new CA();
194
194
  }
195
- function V(e, c) {
196
- if (!e || GA)
195
+ function KA(e, g) {
196
+ if (!e || yA)
197
197
  return "";
198
198
  {
199
- var A = WA.get(e);
200
- if (A !== void 0)
201
- return A;
199
+ var E = YA.get(e);
200
+ if (E !== void 0)
201
+ return E;
202
202
  }
203
- var t;
204
- GA = !0;
205
- var n = Error.prepareStackTrace;
203
+ var p;
204
+ yA = !0;
205
+ var j = Error.prepareStackTrace;
206
206
  Error.prepareStackTrace = void 0;
207
- var o;
208
- o = dA.current, dA.current = null, k();
207
+ var V;
208
+ V = eA.current, eA.current = null, q();
209
209
  try {
210
- if (c) {
211
- var r = function() {
210
+ if (g) {
211
+ var G = function() {
212
212
  throw Error();
213
213
  };
214
- if (Object.defineProperty(r.prototype, "props", {
214
+ if (Object.defineProperty(G.prototype, "props", {
215
215
  set: function() {
216
216
  throw Error();
217
217
  }
218
218
  }), typeof Reflect == "object" && Reflect.construct) {
219
219
  try {
220
- Reflect.construct(r, []);
221
- } catch (D) {
222
- t = D;
220
+ Reflect.construct(G, []);
221
+ } catch (QA) {
222
+ p = QA;
223
223
  }
224
- Reflect.construct(e, [], r);
224
+ Reflect.construct(e, [], G);
225
225
  } else {
226
226
  try {
227
- r.call();
228
- } catch (D) {
229
- t = D;
227
+ G.call();
228
+ } catch (QA) {
229
+ p = QA;
230
230
  }
231
- e.call(r.prototype);
231
+ e.call(G.prototype);
232
232
  }
233
233
  } else {
234
234
  try {
235
235
  throw Error();
236
- } catch (D) {
237
- t = D;
236
+ } catch (QA) {
237
+ p = QA;
238
238
  }
239
239
  e();
240
240
  }
241
- } catch (D) {
242
- if (D && t && typeof D.stack == "string") {
243
- for (var i = D.stack.split(`
244
- `), a = t.stack.split(`
245
- `), B = i.length - 1, d = a.length - 1; B >= 1 && d >= 0 && i[B] !== a[d]; )
246
- d--;
247
- for (; B >= 1 && d >= 0; B--, d--)
248
- if (i[B] !== a[d]) {
249
- if (B !== 1 || d !== 1)
241
+ } catch (QA) {
242
+ if (QA && p && typeof QA.stack == "string") {
243
+ for (var x = QA.stack.split(`
244
+ `), dA = p.stack.split(`
245
+ `), iA = x.length - 1, sA = dA.length - 1; iA >= 1 && sA >= 0 && x[iA] !== dA[sA]; )
246
+ sA--;
247
+ for (; iA >= 1 && sA >= 0; iA--, sA--)
248
+ if (x[iA] !== dA[sA]) {
249
+ if (iA !== 1 || sA !== 1)
250
250
  do
251
- if (B--, d--, d < 0 || i[B] !== a[d]) {
252
- var Q = `
253
- ` + i[B].replace(" at new ", " at ");
254
- return e.displayName && Q.includes("<anonymous>") && (Q = Q.replace("<anonymous>", e.displayName)), typeof e == "function" && WA.set(e, Q), Q;
251
+ if (iA--, sA--, sA < 0 || x[iA] !== dA[sA]) {
252
+ var RA = `
253
+ ` + x[iA].replace(" at new ", " at ");
254
+ return e.displayName && RA.includes("<anonymous>") && (RA = RA.replace("<anonymous>", e.displayName)), typeof e == "function" && YA.set(e, RA), RA;
255
255
  }
256
- while (B >= 1 && d >= 0);
256
+ while (iA >= 1 && sA >= 0);
257
257
  break;
258
258
  }
259
259
  }
260
260
  } finally {
261
- GA = !1, dA.current = o, IA(), Error.prepareStackTrace = n;
261
+ yA = !1, eA.current = V, z(), Error.prepareStackTrace = j;
262
262
  }
263
- var C = e ? e.displayName || e.name : "", F = C ? NA(C) : "";
264
- return typeof e == "function" && WA.set(e, F), F;
263
+ var ie = e ? e.displayName || e.name : "", VA = ie ? xA(ie) : "";
264
+ return typeof e == "function" && YA.set(e, VA), VA;
265
265
  }
266
- function tA(e, c, A) {
267
- return V(e, !1);
266
+ function xe(e, g, E) {
267
+ return KA(e, !1);
268
268
  }
269
- function YA(e) {
270
- var c = e.prototype;
271
- return !!(c && c.isReactComponent);
269
+ function ce(e) {
270
+ var g = e.prototype;
271
+ return !!(g && g.isReactComponent);
272
272
  }
273
- function TA(e, c, A) {
273
+ function qA(e, g, E) {
274
274
  if (e == null)
275
275
  return "";
276
276
  if (typeof e == "function")
277
- return V(e, YA(e));
277
+ return KA(e, ce(e));
278
278
  if (typeof e == "string")
279
- return NA(e);
279
+ return xA(e);
280
280
  switch (e) {
281
- case b:
282
- return NA("Suspense");
283
- case y:
284
- return NA("SuspenseList");
281
+ case L:
282
+ return xA("Suspense");
283
+ case m:
284
+ return xA("SuspenseList");
285
285
  }
286
286
  if (typeof e == "object")
287
287
  switch (e.$$typeof) {
288
- case m:
289
- return tA(e.render);
290
- case p:
291
- return TA(e.type, c, A);
292
- case q: {
293
- var t = e, n = t._payload, o = t._init;
288
+ case S:
289
+ return xe(e.render);
290
+ case W:
291
+ return qA(e.type, g, E);
292
+ case J: {
293
+ var p = e, j = p._payload, V = p._init;
294
294
  try {
295
- return TA(o(n), c, A);
295
+ return qA(V(j), g, E);
296
296
  } catch {
297
297
  }
298
298
  }
299
299
  }
300
300
  return "";
301
301
  }
302
- var MA = Object.prototype.hasOwnProperty, _ = {}, X = Z.ReactDebugCurrentFrame;
303
- function PA(e) {
302
+ var wA = Object.prototype.hasOwnProperty, ge = {}, OA = UA.ReactDebugCurrentFrame;
303
+ function Be(e) {
304
304
  if (e) {
305
- var c = e._owner, A = TA(e.type, e._source, c ? c.type : null);
306
- X.setExtraStackFrame(A);
305
+ var g = e._owner, E = qA(e.type, e._source, g ? g.type : null);
306
+ OA.setExtraStackFrame(E);
307
307
  } else
308
- X.setExtraStackFrame(null);
308
+ OA.setExtraStackFrame(null);
309
309
  }
310
- function LA(e, c, A, t, n) {
310
+ function De(e, g, E, p, j) {
311
311
  {
312
- var o = Function.call.bind(MA);
313
- for (var r in e)
314
- if (o(e, r)) {
315
- var i = void 0;
312
+ var V = Function.call.bind(wA);
313
+ for (var G in e)
314
+ if (V(e, G)) {
315
+ var x = void 0;
316
316
  try {
317
- if (typeof e[r] != "function") {
318
- var a = Error((t || "React class") + ": " + A + " type `" + r + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[r] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
319
- throw a.name = "Invariant Violation", a;
317
+ if (typeof e[G] != "function") {
318
+ var dA = Error((p || "React class") + ": " + E + " type `" + G + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[G] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
319
+ throw dA.name = "Invariant Violation", dA;
320
320
  }
321
- i = e[r](c, r, t, A, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
322
- } catch (B) {
323
- i = B;
321
+ x = e[G](g, G, p, E, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
322
+ } catch (iA) {
323
+ x = iA;
324
324
  }
325
- i && !(i instanceof Error) && (PA(n), S("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", t || "React class", A, r, typeof i), PA(null)), i instanceof Error && !(i.message in _) && (_[i.message] = !0, PA(n), S("Failed %s type: %s", A, i.message), PA(null));
325
+ x && !(x instanceof Error) && (Be(j), rA("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", p || "React class", E, G, typeof x), Be(null)), x instanceof Error && !(x.message in ge) && (ge[x.message] = !0, Be(j), rA("Failed %s type: %s", E, x.message), Be(null));
326
326
  }
327
327
  }
328
328
  }
329
- var HA = Array.isArray;
330
- function jA(e) {
331
- return HA(e);
329
+ var qe = Array.isArray;
330
+ function EA(e) {
331
+ return qe(e);
332
332
  }
333
- function QA(e) {
333
+ function IA(e) {
334
334
  {
335
- var c = typeof Symbol == "function" && Symbol.toStringTag, A = c && e[Symbol.toStringTag] || e.constructor.name || "Object";
336
- return A;
335
+ var g = typeof Symbol == "function" && Symbol.toStringTag, E = g && e[Symbol.toStringTag] || e.constructor.name || "Object";
336
+ return E;
337
337
  }
338
338
  }
339
- function KA(e) {
339
+ function vA(e) {
340
340
  try {
341
- return DA(e), !1;
341
+ return Ae(e), !1;
342
342
  } catch {
343
343
  return !0;
344
344
  }
345
345
  }
346
- function DA(e) {
346
+ function Ae(e) {
347
347
  return "" + e;
348
348
  }
349
- function oe(e) {
350
- if (KA(e))
351
- return S("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", QA(e)), DA(e);
349
+ function he(e) {
350
+ if (vA(e))
351
+ return rA("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", IA(e)), Ae(e);
352
352
  }
353
- var XA = Z.ReactCurrentOwner, zA = {
353
+ var me = UA.ReactCurrentOwner, pA = {
354
354
  key: !0,
355
355
  ref: !0,
356
356
  __self: !0,
357
357
  __source: !0
358
- }, ZA, _A;
359
- function se(e) {
360
- if (MA.call(e, "ref")) {
361
- var c = Object.getOwnPropertyDescriptor(e, "ref").get;
362
- if (c && c.isReactWarning)
358
+ }, tA, uA;
359
+ function Fe(e) {
360
+ if (wA.call(e, "ref")) {
361
+ var g = Object.getOwnPropertyDescriptor(e, "ref").get;
362
+ if (g && g.isReactWarning)
363
363
  return !1;
364
364
  }
365
365
  return e.ref !== void 0;
366
366
  }
367
- function we(e) {
368
- if (MA.call(e, "key")) {
369
- var c = Object.getOwnPropertyDescriptor(e, "key").get;
370
- if (c && c.isReactWarning)
367
+ function le(e) {
368
+ if (wA.call(e, "key")) {
369
+ var g = Object.getOwnPropertyDescriptor(e, "key").get;
370
+ if (g && g.isReactWarning)
371
371
  return !1;
372
372
  }
373
373
  return e.key !== void 0;
374
374
  }
375
- function Ie(e, c) {
376
- typeof e.ref == "string" && XA.current;
375
+ function ee(e, g) {
376
+ typeof e.ref == "string" && me.current;
377
377
  }
378
- function De(e, c) {
378
+ function fe(e, g) {
379
379
  {
380
- var A = function() {
381
- ZA || (ZA = !0, S("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", c));
380
+ var E = function() {
381
+ tA || (tA = !0, rA("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", g));
382
382
  };
383
- A.isReactWarning = !0, Object.defineProperty(e, "key", {
384
- get: A,
383
+ E.isReactWarning = !0, Object.defineProperty(e, "key", {
384
+ get: E,
385
385
  configurable: !0
386
386
  });
387
387
  }
388
388
  }
389
- function kA(e, c) {
389
+ function jA(e, g) {
390
390
  {
391
- var A = function() {
392
- _A || (_A = !0, S("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", c));
391
+ var E = function() {
392
+ uA || (uA = !0, rA("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", g));
393
393
  };
394
- A.isReactWarning = !0, Object.defineProperty(e, "ref", {
395
- get: A,
394
+ E.isReactWarning = !0, Object.defineProperty(e, "ref", {
395
+ get: E,
396
396
  configurable: !0
397
397
  });
398
398
  }
399
399
  }
400
- var he = function(e, c, A, t, n, o, r) {
401
- var i = {
400
+ var DA = function(e, g, E, p, j, V, G) {
401
+ var x = {
402
402
  // This tag allows us to uniquely identify this as a React Element
403
403
  $$typeof: s,
404
404
  // Built-in properties that belong on the element
405
405
  type: e,
406
- key: c,
407
- ref: A,
408
- props: r,
406
+ key: g,
407
+ ref: E,
408
+ props: G,
409
409
  // Record the component responsible for creating this element.
410
- _owner: o
410
+ _owner: V
411
411
  };
412
- return i._store = {}, Object.defineProperty(i._store, "validated", {
412
+ return x._store = {}, Object.defineProperty(x._store, "validated", {
413
413
  configurable: !1,
414
414
  enumerable: !1,
415
415
  writable: !0,
416
416
  value: !1
417
- }), Object.defineProperty(i, "_self", {
417
+ }), Object.defineProperty(x, "_self", {
418
418
  configurable: !1,
419
419
  enumerable: !1,
420
420
  writable: !1,
421
- value: t
422
- }), Object.defineProperty(i, "_source", {
421
+ value: p
422
+ }), Object.defineProperty(x, "_source", {
423
423
  configurable: !1,
424
424
  enumerable: !1,
425
425
  writable: !1,
426
- value: n
427
- }), Object.freeze && (Object.freeze(i.props), Object.freeze(i)), i;
426
+ value: j
427
+ }), Object.freeze && (Object.freeze(x.props), Object.freeze(x)), x;
428
428
  };
429
- function me(e, c, A, t, n) {
429
+ function MA(e, g, E, p, j) {
430
430
  {
431
- var o, r = {}, i = null, a = null;
432
- A !== void 0 && (oe(A), i = "" + A), we(c) && (oe(c.key), i = "" + c.key), se(c) && (a = c.ref, Ie(c, n));
433
- for (o in c)
434
- MA.call(c, o) && !zA.hasOwnProperty(o) && (r[o] = c[o]);
431
+ var V, G = {}, x = null, dA = null;
432
+ E !== void 0 && (he(E), x = "" + E), le(g) && (he(g.key), x = "" + g.key), Fe(g) && (dA = g.ref, ee(g, j));
433
+ for (V in g)
434
+ wA.call(g, V) && !pA.hasOwnProperty(V) && (G[V] = g[V]);
435
435
  if (e && e.defaultProps) {
436
- var B = e.defaultProps;
437
- for (o in B)
438
- r[o] === void 0 && (r[o] = B[o]);
436
+ var iA = e.defaultProps;
437
+ for (V in iA)
438
+ G[V] === void 0 && (G[V] = iA[V]);
439
439
  }
440
- if (i || a) {
441
- var d = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
442
- i && De(r, d), a && kA(r, d);
440
+ if (x || dA) {
441
+ var sA = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
442
+ x && fe(G, sA), dA && jA(G, sA);
443
443
  }
444
- return he(e, i, a, n, t, XA.current, r);
444
+ return DA(e, x, dA, j, p, me.current, G);
445
445
  }
446
446
  }
447
- var OA = Z.ReactCurrentOwner, ae = Z.ReactDebugCurrentFrame;
448
- function cA(e) {
447
+ var pe = UA.ReactCurrentOwner, Me = UA.ReactDebugCurrentFrame;
448
+ function kA(e) {
449
449
  if (e) {
450
- var c = e._owner, A = TA(e.type, e._source, c ? c.type : null);
451
- ae.setExtraStackFrame(A);
450
+ var g = e._owner, E = qA(e.type, e._source, g ? g.type : null);
451
+ Me.setExtraStackFrame(E);
452
452
  } else
453
- ae.setExtraStackFrame(null);
453
+ Me.setExtraStackFrame(null);
454
454
  }
455
- var VA;
456
- VA = !1;
457
- function $A(e) {
455
+ var te;
456
+ te = !1;
457
+ function Ce(e) {
458
458
  return typeof e == "object" && e !== null && e.$$typeof === s;
459
459
  }
460
- function ce() {
460
+ function Re() {
461
461
  {
462
- if (OA.current) {
463
- var e = oA(OA.current.type);
462
+ if (pe.current) {
463
+ var e = FA(pe.current.type);
464
464
  if (e)
465
465
  return `
466
466
 
@@ -469,156 +469,156 @@ Check the render method of \`` + e + "`.";
469
469
  return "";
470
470
  }
471
471
  }
472
- function ve(e) {
472
+ function ke(e) {
473
473
  return "";
474
474
  }
475
- var ge = {};
476
- function be(e) {
475
+ var Je = {};
476
+ function Ve(e) {
477
477
  {
478
- var c = ce();
479
- if (!c) {
480
- var A = typeof e == "string" ? e : e.displayName || e.name;
481
- A && (c = `
478
+ var g = Re();
479
+ if (!g) {
480
+ var E = typeof e == "string" ? e : e.displayName || e.name;
481
+ E && (g = `
482
482
 
483
- Check the top-level render call using <` + A + ">.");
483
+ Check the top-level render call using <` + E + ">.");
484
484
  }
485
- return c;
485
+ return g;
486
486
  }
487
487
  }
488
- function ue(e, c) {
488
+ function Ge(e, g) {
489
489
  {
490
490
  if (!e._store || e._store.validated || e.key != null)
491
491
  return;
492
492
  e._store.validated = !0;
493
- var A = be(c);
494
- if (ge[A])
493
+ var E = Ve(g);
494
+ if (Je[E])
495
495
  return;
496
- ge[A] = !0;
497
- var t = "";
498
- e && e._owner && e._owner !== OA.current && (t = " It was passed a child from " + oA(e._owner.type) + "."), cA(e), S('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', A, t), cA(null);
496
+ Je[E] = !0;
497
+ var p = "";
498
+ e && e._owner && e._owner !== pe.current && (p = " It was passed a child from " + FA(e._owner.type) + "."), kA(e), rA('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', E, p), kA(null);
499
499
  }
500
500
  }
501
- function Be(e, c) {
501
+ function ne(e, g) {
502
502
  {
503
503
  if (typeof e != "object")
504
504
  return;
505
- if (jA(e))
506
- for (var A = 0; A < e.length; A++) {
507
- var t = e[A];
508
- $A(t) && ue(t, c);
505
+ if (EA(e))
506
+ for (var E = 0; E < e.length; E++) {
507
+ var p = e[E];
508
+ Ce(p) && Ge(p, g);
509
509
  }
510
- else if ($A(e))
510
+ else if (Ce(e))
511
511
  e._store && (e._store.validated = !0);
512
512
  else if (e) {
513
- var n = L(e);
514
- if (typeof n == "function" && n !== e.entries)
515
- for (var o = n.call(e), r; !(r = o.next()).done; )
516
- $A(r.value) && ue(r.value, c);
513
+ var j = mA(e);
514
+ if (typeof j == "function" && j !== e.entries)
515
+ for (var V = j.call(e), G; !(G = V.next()).done; )
516
+ Ce(G.value) && Ge(G.value, g);
517
517
  }
518
518
  }
519
519
  }
520
- function pe(e) {
520
+ function Le(e) {
521
521
  {
522
- var c = e.type;
523
- if (c == null || typeof c == "string")
522
+ var g = e.type;
523
+ if (g == null || typeof g == "string")
524
524
  return;
525
- var A;
526
- if (typeof c == "function")
527
- A = c.propTypes;
528
- else if (typeof c == "object" && (c.$$typeof === m || // Note: Memo only checks outer props here.
525
+ var E;
526
+ if (typeof g == "function")
527
+ E = g.propTypes;
528
+ else if (typeof g == "object" && (g.$$typeof === S || // Note: Memo only checks outer props here.
529
529
  // Inner props are checked in the reconciler.
530
- c.$$typeof === p))
531
- A = c.propTypes;
530
+ g.$$typeof === W))
531
+ E = g.propTypes;
532
532
  else
533
533
  return;
534
- if (A) {
535
- var t = oA(c);
536
- LA(A, e.props, "prop", t, e);
537
- } else if (c.PropTypes !== void 0 && !VA) {
538
- VA = !0;
539
- var n = oA(c);
540
- S("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", n || "Unknown");
534
+ if (E) {
535
+ var p = FA(g);
536
+ De(E, e.props, "prop", p, e);
537
+ } else if (g.PropTypes !== void 0 && !te) {
538
+ te = !0;
539
+ var j = FA(g);
540
+ rA("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", j || "Unknown");
541
541
  }
542
- typeof c.getDefaultProps == "function" && !c.getDefaultProps.isReactClassApproved && S("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
542
+ typeof g.getDefaultProps == "function" && !g.getDefaultProps.isReactClassApproved && rA("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
543
543
  }
544
544
  }
545
- function Fe(e) {
545
+ function Ze(e) {
546
546
  {
547
- for (var c = Object.keys(e.props), A = 0; A < c.length; A++) {
548
- var t = c[A];
549
- if (t !== "children" && t !== "key") {
550
- cA(e), S("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", t), cA(null);
547
+ for (var g = Object.keys(e.props), E = 0; E < g.length; E++) {
548
+ var p = g[E];
549
+ if (p !== "children" && p !== "key") {
550
+ kA(e), rA("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", p), kA(null);
551
551
  break;
552
552
  }
553
553
  }
554
- e.ref !== null && (cA(e), S("Invalid attribute `ref` supplied to `React.Fragment`."), cA(null));
554
+ e.ref !== null && (kA(e), rA("Invalid attribute `ref` supplied to `React.Fragment`."), kA(null));
555
555
  }
556
556
  }
557
- var le = {};
558
- function de(e, c, A, t, n, o) {
557
+ var re = {};
558
+ function Ye(e, g, E, p, j, V) {
559
559
  {
560
- var r = JA(e);
561
- if (!r) {
562
- var i = "";
563
- (e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (i += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
564
- var a = ve();
565
- a ? i += a : i += ce();
566
- var B;
567
- e === null ? B = "null" : jA(e) ? B = "array" : e !== void 0 && e.$$typeof === s ? (B = "<" + (oA(e.type) || "Unknown") + " />", i = " Did you accidentally export a JSX literal instead of a component?") : B = typeof e, S("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", B, i);
560
+ var G = Pe(e);
561
+ if (!G) {
562
+ var x = "";
563
+ (e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (x += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
564
+ var dA = ke();
565
+ dA ? x += dA : x += Re();
566
+ var iA;
567
+ e === null ? iA = "null" : EA(e) ? iA = "array" : e !== void 0 && e.$$typeof === s ? (iA = "<" + (FA(e.type) || "Unknown") + " />", x = " Did you accidentally export a JSX literal instead of a component?") : iA = typeof e, rA("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", iA, x);
568
568
  }
569
- var d = me(e, c, A, n, o);
570
- if (d == null)
571
- return d;
572
- if (r) {
573
- var Q = c.children;
574
- if (Q !== void 0)
575
- if (t)
576
- if (jA(Q)) {
577
- for (var C = 0; C < Q.length; C++)
578
- Be(Q[C], e);
579
- Object.freeze && Object.freeze(Q);
569
+ var sA = MA(e, g, E, j, V);
570
+ if (sA == null)
571
+ return sA;
572
+ if (G) {
573
+ var RA = g.children;
574
+ if (RA !== void 0)
575
+ if (p)
576
+ if (EA(RA)) {
577
+ for (var ie = 0; ie < RA.length; ie++)
578
+ ne(RA[ie], e);
579
+ Object.freeze && Object.freeze(RA);
580
580
  } else
581
- S("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
581
+ rA("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
582
582
  else
583
- Be(Q, e);
583
+ ne(RA, e);
584
584
  }
585
- if (MA.call(c, "key")) {
586
- var F = oA(e), D = Object.keys(c).filter(function(M) {
587
- return M !== "key";
588
- }), N = D.length > 0 ? "{key: someKey, " + D.join(": ..., ") + ": ...}" : "{key: someKey}";
589
- if (!le[F + N]) {
590
- var O = D.length > 0 ? "{" + D.join(": ..., ") + ": ...}" : "{}";
591
- S(`A props object containing a "key" prop is being spread into JSX:
585
+ if (wA.call(g, "key")) {
586
+ var VA = FA(e), QA = Object.keys(g).filter(function($e) {
587
+ return $e !== "key";
588
+ }), be = QA.length > 0 ? "{key: someKey, " + QA.join(": ..., ") + ": ...}" : "{key: someKey}";
589
+ if (!re[VA + be]) {
590
+ var _e = QA.length > 0 ? "{" + QA.join(": ..., ") + ": ...}" : "{}";
591
+ rA(`A props object containing a "key" prop is being spread into JSX:
592
592
  let props = %s;
593
593
  <%s {...props} />
594
594
  React keys must be passed directly to JSX without using spread:
595
595
  let props = %s;
596
- <%s key={someKey} {...props} />`, N, F, O, F), le[F + N] = !0;
596
+ <%s key={someKey} {...props} />`, be, VA, _e, VA), re[VA + be] = !0;
597
597
  }
598
598
  }
599
- return e === u ? Fe(d) : pe(d), d;
599
+ return e === c ? Ze(sA) : Le(sA), sA;
600
600
  }
601
601
  }
602
- function ye(e, c, A) {
603
- return de(e, c, A, !0);
602
+ function Ee(e, g, E) {
603
+ return Ye(e, g, E, !0);
604
604
  }
605
- function Ne(e, c, A) {
606
- return de(e, c, A, !1);
605
+ function Ke(e, g, E) {
606
+ return Ye(e, g, E, !1);
607
607
  }
608
- var hA = Ne, Me = ye;
609
- ee.Fragment = u, ee.jsx = hA, ee.jsxs = Me;
610
- })()), ee;
608
+ var Oe = Ke, ve = Ee;
609
+ Ne.Fragment = c, Ne.jsx = Oe, Ne.jsxs = ve;
610
+ })()), Ne;
611
611
  }
612
- var Ue;
613
- function rt() {
614
- return Ue || (Ue = 1, process.env.NODE_ENV === "production" ? fe.exports = tt() : fe.exports = nt()), fe.exports;
612
+ var st;
613
+ function Ht() {
614
+ return st || (st = 1, process.env.NODE_ENV === "production" ? Xe.exports = bt() : Xe.exports = St()), Xe.exports;
615
615
  }
616
- var E = rt();
617
- const it = ({ action: g, row: s }) => /* @__PURE__ */ E.jsx("div", { className: "effect0", "data-action-id": g.id, "data-row-id": s.id, children: /* @__PURE__ */ E.jsx("div", { className: "effect0-text", children: `Audio: ${g.data.name}` }) }), ot = ({ action: g, row: s }) => /* @__PURE__ */ E.jsx("div", { className: "effect1", "data-action-id": g.id, "data-row-id": s.id, children: /* @__PURE__ */ E.jsx("div", { className: "effect1-text", children: `Video: ${g.data.name}` }) }), st = ({ action: g, row: s }) => /* @__PURE__ */ E.jsx("div", { className: "effect2", "data-action-id": g.id, "data-row-id": s.id, children: /* @__PURE__ */ E.jsx("div", { className: "effect2-text", children: `Video audio: ${g.data.name}` }) }), at = (g) => {
618
- const s = g.toLowerCase();
616
+ var D = Ht();
617
+ const Nt = ({ action: B, row: s }) => /* @__PURE__ */ D.jsx("div", { className: "effect0", "data-action-id": B.id, "data-row-id": s.id, children: /* @__PURE__ */ D.jsx("div", { className: "effect0-text", children: `Audio: ${B.data.name}` }) }), yt = ({ action: B, row: s }) => /* @__PURE__ */ D.jsx("div", { className: "effect1", "data-action-id": B.id, "data-row-id": s.id, children: /* @__PURE__ */ D.jsx("div", { className: "effect1-text", children: `Video: ${B.data.name}` }) }), Ut = ({ action: B, row: s }) => /* @__PURE__ */ D.jsx("div", { className: "effect2", "data-action-id": B.id, "data-row-id": s.id, children: /* @__PURE__ */ D.jsx("div", { className: "effect2-text", children: `Video audio: ${B.data.name}` }) }), at = (B) => {
618
+ const s = B.toLowerCase();
619
619
  return s.endsWith(".mp4") || s.endsWith(".webm") || s.endsWith(".mov") || s.endsWith(".m4v") ? "video" : s.endsWith(".mp3") || s.endsWith(".wav") || s.endsWith(".ogg") || s.endsWith(".m4a") || s.endsWith(".aac") ? "audio" : "other";
620
620
  };
621
- class ct {
621
+ class Pt {
622
622
  blobUrlBySrc = /* @__PURE__ */ new Map();
623
623
  pendingBySrc = /* @__PURE__ */ new Map();
624
624
  /**
@@ -627,16 +627,16 @@ class ct {
627
627
  */
628
628
  async preloadToBlobUrl(s) {
629
629
  if (!s) return s;
630
- const l = this.blobUrlBySrc.get(s);
631
- if (l) return l;
632
- const u = this.pendingBySrc.get(s);
633
- if (u) return u;
630
+ const d = this.blobUrlBySrc.get(s);
631
+ if (d) return d;
632
+ const c = this.pendingBySrc.get(s);
633
+ if (c) return c;
634
634
  const f = (async () => {
635
- const I = await fetch(s, { cache: "force-cache" });
636
- if (!I.ok) throw new Error(`Failed to fetch ${s}: ${I.status}`);
637
- const h = await I.blob(), v = URL.createObjectURL(h);
638
- return this.blobUrlBySrc.set(s, v), v;
639
- })().catch((I) => (console.warn("[mediaCache] preload failed:", s, I), s)).finally(() => {
635
+ const Q = await fetch(s, { cache: "force-cache" });
636
+ if (!Q.ok) throw new Error(`Failed to fetch ${s}: ${Q.status}`);
637
+ const b = await Q.blob(), y = URL.createObjectURL(b);
638
+ return this.blobUrlBySrc.set(s, y), y;
639
+ })().catch((Q) => (console.warn("[mediaCache] preload failed:", s, Q), s)).finally(() => {
640
640
  this.pendingBySrc.delete(s);
641
641
  });
642
642
  return this.pendingBySrc.set(s, f), f;
@@ -649,45 +649,71 @@ class ct {
649
649
  warm(s) {
650
650
  this.preloadToBlobUrl(s);
651
651
  }
652
+ /**
653
+ * Preload a list of srcs with bounded concurrency.
654
+ *
655
+ * This is useful when you know ahead of time which assets will be scrubbed/seeked,
656
+ * so we can eliminate network stalls during interaction.
657
+ */
658
+ async warmAll(s, d) {
659
+ const c = [], f = /* @__PURE__ */ new Set();
660
+ for (const L of s) {
661
+ const m = String(L ?? "");
662
+ if (!m || f.has(m)) continue;
663
+ f.add(m);
664
+ const W = at(m);
665
+ W !== "video" && W !== "audio" || c.push(m);
666
+ }
667
+ if (c.length === 0) return;
668
+ const Q = Math.max(1, Math.floor(d?.concurrency ?? 3)), b = d?.yieldBetween !== !1;
669
+ let y = 0;
670
+ const S = Array.from({ length: Math.min(Q, c.length) }, async () => {
671
+ for (; y < c.length; ) {
672
+ const L = c[y++];
673
+ await this.preloadToBlobUrl(L), b && await new Promise((m) => setTimeout(m, 0));
674
+ }
675
+ });
676
+ await Promise.all(S);
677
+ }
652
678
  /** Convenience: preload all unique action.data.src from editor data. */
653
679
  warmFromEditorData(s) {
654
- const l = /* @__PURE__ */ new Set(), u = Array.isArray(s) ? s : [];
655
- for (const f of u) {
656
- const I = f?.actions;
657
- if (Array.isArray(I))
658
- for (const h of I) {
659
- const v = h?.data?.src;
660
- typeof v == "string" && v && l.add(v);
680
+ const d = /* @__PURE__ */ new Set(), c = Array.isArray(s) ? s : [];
681
+ for (const f of c) {
682
+ const Q = f?.actions;
683
+ if (Array.isArray(Q))
684
+ for (const b of Q) {
685
+ const y = b?.data?.src, S = b?.data?.previewSrc;
686
+ typeof y == "string" && y && d.add(y), typeof S == "string" && S && d.add(S);
661
687
  }
662
688
  }
663
- for (const f of l) {
664
- const I = at(f);
665
- (I === "video" || I === "audio") && this.warm(f);
689
+ for (const f of d) {
690
+ const Q = at(f);
691
+ (Q === "video" || Q === "audio") && this.warm(f);
666
692
  }
667
693
  }
668
694
  }
669
- const re = new ct(), gt = (g) => {
670
- if (!g) return;
671
- const l = g.split("#")[0].split("?")[0].toLowerCase(), u = l.lastIndexOf(".");
672
- if (u < 0) return;
673
- const f = l.slice(u + 1);
695
+ const Ue = new Pt(), xt = (B) => {
696
+ if (!B) return;
697
+ const d = B.split("#")[0].split("?")[0].toLowerCase(), c = d.lastIndexOf(".");
698
+ if (c < 0) return;
699
+ const f = d.slice(c + 1);
674
700
  if (f)
675
701
  return f === "m4a" || f === "m4v" ? "mp4" : f;
676
702
  };
677
- class ut {
703
+ class Mt {
678
704
  howlBySrc = {};
679
705
  activeByActionId = {};
680
706
  getHowl(s) {
681
- const l = re.resolve(s), u = l.startsWith("blob:") ? s : l, f = u;
707
+ const d = Ue.resolve(s), c = d.startsWith("blob:") ? s : d, f = c;
682
708
  if (this.howlBySrc[f]) return this.howlBySrc[f];
683
- const I = gt(s), h = new Je({
684
- src: [u],
685
- format: I ? [I] : void 0,
709
+ const Q = xt(s), b = new Qt({
710
+ src: [c],
711
+ format: Q ? [Q] : void 0,
686
712
  loop: !0,
687
713
  autoplay: !1,
688
714
  preload: !0
689
715
  });
690
- return this.howlBySrc[f] = h, h;
716
+ return this.howlBySrc[f] = b, b;
691
717
  }
692
718
  /**
693
719
  * Ensure the underlying WebAudio context is resumed.
@@ -698,95 +724,146 @@ class ut {
698
724
  */
699
725
  unlock() {
700
726
  try {
701
- const s = qe.ctx;
727
+ const s = wt.ctx;
702
728
  s && s.state === "suspended" && s.resume();
703
729
  } catch {
704
730
  }
705
731
  }
706
732
  warm(s) {
707
- s && (re.warm(s), this.getHowl(s));
733
+ s && (Ue.warm(s), this.getHowl(s));
708
734
  }
709
- seekForEngineTime(s, l, u, f, I) {
710
- const h = Number(I), v = Number.isFinite(h) ? h : 0, m = s.duration();
711
- if (!Number.isFinite(m) || m <= 0) {
712
- s.seek(Math.max(0, f - u + v), l);
735
+ seekForEngineTime(s, d, c, f, Q) {
736
+ const b = Number(Q), y = Number.isFinite(b) ? b : 0, S = s.duration();
737
+ if (!Number.isFinite(S) || S <= 0) {
738
+ s.seek(Math.max(0, f - c + y), d);
713
739
  return;
714
740
  }
715
- const b = (f - u + v) % m, y = b < 0 ? b + m : b;
716
- s.seek(y, l);
741
+ const L = (f - c + y) % S, m = L < 0 ? L + S : L;
742
+ s.seek(m, d);
717
743
  }
718
744
  start(s) {
719
- const { actionId: l, src: u, startTime: f, time: I, engine: h } = s, v = Number(s.offset ?? 0), m = Number.isFinite(v) ? v : 0, b = this.activeByActionId[l];
720
- if (b) {
721
- const K = this.getHowl(b.src);
722
- K.rate(h.getPlayRate(), b.soundId);
745
+ const { actionId: d, src: c, startTime: f, time: Q, engine: b } = s, y = Number(s.offset ?? 0), S = Number.isFinite(y) ? y : 0, L = this.activeByActionId[d];
746
+ if (L) {
747
+ const lA = this.getHowl(L.src);
748
+ lA.rate(b.getPlayRate(), L.soundId);
723
749
  try {
724
- K.playing(b.soundId) || K.play(b.soundId);
750
+ lA.playing(L.soundId) || lA.play(L.soundId);
725
751
  } catch {
726
752
  }
727
- h.isPlaying || this.seekForEngineTime(K, b.soundId, b.startTime, I, b.offset);
753
+ b.isPlaying || this.seekForEngineTime(lA, L.soundId, L.startTime, Q, L.offset);
728
754
  return;
729
755
  }
730
- const y = this.getHowl(u), p = y.play();
731
- y.rate(h.getPlayRate(), p), this.seekForEngineTime(y, p, f, I, m);
732
- let q = performance.now();
733
- const W = ({ time: K }) => {
734
- if (!h.isPlaying) {
735
- this.seekForEngineTime(y, p, f, K, m);
756
+ const m = this.getHowl(c), W = m.play();
757
+ m.rate(b.getPlayRate(), W), this.seekForEngineTime(m, W, f, Q, S);
758
+ let J = performance.now();
759
+ const hA = ({ time: lA }) => {
760
+ const mA = performance.now();
761
+ if (!b.isPlaying) {
762
+ this.seekForEngineTime(m, W, f, lA, S);
736
763
  return;
737
764
  }
738
- const L = performance.now();
739
- if (!(L - q < 500)) {
740
- q = L;
741
- try {
742
- const Z = Math.max(0, K - f + m), S = Number(y.seek(p));
743
- Number.isFinite(S) && Math.abs(S - Z) > 0.25 && this.seekForEngineTime(y, p, f, K, m);
744
- } catch {
745
- }
746
- }
747
- }, uA = ({ rate: K }) => {
748
- y.rate(K, p);
765
+ mA - J < 120 || (J = mA, this.seekForEngineTime(m, W, f, lA, S));
766
+ }, X = ({ rate: lA }) => {
767
+ m.rate(lA, W);
749
768
  };
750
- h.on("afterSetTime", W), h.on("afterSetPlayRate", uA), this.activeByActionId[l] = {
751
- src: u,
769
+ b.on("afterSetTime", hA), b.on("afterSetPlayRate", X), this.activeByActionId[d] = {
770
+ src: c,
752
771
  startTime: f,
753
- offset: m,
754
- soundId: p,
755
- engine: h,
756
- lastResyncAtMs: q,
757
- time: W,
758
- rate: uA
772
+ offset: S,
773
+ soundId: W,
774
+ engine: b,
775
+ lastResyncAtMs: J,
776
+ time: hA,
777
+ rate: X
759
778
  };
760
779
  }
761
780
  stop(s) {
762
- const { actionId: l } = s, u = this.activeByActionId[l];
763
- if (!u) return;
764
- const f = this.getHowl(u.src);
781
+ const { actionId: d } = s, c = this.activeByActionId[d];
782
+ if (!c) return;
783
+ const f = this.getHowl(c.src);
765
784
  try {
766
- f.stop(u.soundId);
785
+ f.stop(c.soundId);
767
786
  } catch {
768
787
  }
769
- u.time && u.engine.off("afterSetTime", u.time), u.rate && u.engine.off("afterSetPlayRate", u.rate), delete this.activeByActionId[l];
788
+ c.time && c.engine.off("afterSetTime", c.time), c.rate && c.engine.off("afterSetPlayRate", c.rate), delete this.activeByActionId[d];
770
789
  }
771
790
  }
772
- const rA = new ut();
773
- class Bt {
791
+ const bA = new Mt();
792
+ class kt {
774
793
  videoEl = null;
775
794
  currentSrc = null;
776
795
  lastSeekAtMs = 0;
777
796
  lastRate = null;
797
+ videoClaims = {};
798
+ activeVideoActionId = null;
799
+ lastEngineTime = 0;
778
800
  boundEngine = null;
779
801
  boundActionStart = 0;
780
802
  vfcHandle = null;
781
803
  rafHandle = null;
782
804
  attach(s) {
783
- this.videoEl = s, this.currentSrc = s?.currentSrc || s?.getAttribute("src") || null, this.lastSeekAtMs = 0, this.lastRate = null, this.unbindEngine(), this.setActive(!1);
805
+ this.videoEl = s, this.currentSrc = s?.currentSrc || s?.getAttribute("src") || null, this.lastSeekAtMs = 0, this.lastRate = null, this.unbindEngine(), this.videoClaims = {}, this.activeVideoActionId = null, this.lastEngineTime = 0, this.setActive(!1);
784
806
  }
785
807
  setActive(s) {
786
808
  this.videoEl && (this.videoEl.style.opacity = s ? "1" : "0");
787
809
  }
788
- bindEngine(s, l) {
789
- this.unbindEngine(), this.boundEngine = s, this.boundActionStart = l, this.tickFromVideo();
810
+ claimVideo(s) {
811
+ const d = String(s.actionId), c = Number.isFinite(Number(s.layer)) ? Number(s.layer) : 0, f = String(s.src ?? ""), Q = Number(s.actionStart), b = Number(s.time), y = s.engine, S = !!s.isPlaying, L = Number(s.offset ?? 0), m = Number.isFinite(L) ? L : 0;
812
+ if (!f || !Number.isFinite(Q) || !Number.isFinite(b)) return;
813
+ const W = performance.now();
814
+ this.lastEngineTime = b, this.videoClaims[d] = {
815
+ actionId: d,
816
+ layer: c,
817
+ src: f,
818
+ actionStart: Q,
819
+ offset: m,
820
+ engine: y,
821
+ isPlaying: S,
822
+ time: b,
823
+ claimedAtMs: W
824
+ };
825
+ let J = null;
826
+ for (const X of Object.values(this.videoClaims)) {
827
+ if (!J) {
828
+ J = X;
829
+ continue;
830
+ }
831
+ if (X.layer > J.layer) {
832
+ J = X;
833
+ continue;
834
+ }
835
+ X.layer === J.layer && X.claimedAtMs > J.claimedAtMs && (J = X);
836
+ }
837
+ if (!J) return;
838
+ this.activeVideoActionId = J.actionId, this.setActive(!0), this.setRate(J.engine.getPlayRate()), this.setSource(J.src);
839
+ const hA = Math.max(0, J.time - J.actionStart + J.offset);
840
+ this.seek(hA, { force: !J.isPlaying }), J.isPlaying ? this.play() : this.pause();
841
+ }
842
+ releaseVideo(s) {
843
+ const d = String(s);
844
+ if (delete this.videoClaims[d], this.activeVideoActionId && this.activeVideoActionId !== d) return;
845
+ let c = null;
846
+ for (const Q of Object.values(this.videoClaims)) {
847
+ if (!c) {
848
+ c = Q;
849
+ continue;
850
+ }
851
+ if (Q.layer > c.layer) {
852
+ c = Q;
853
+ continue;
854
+ }
855
+ Q.layer === c.layer && Q.claimedAtMs > c.claimedAtMs && (c = Q);
856
+ }
857
+ if (!c) {
858
+ this.activeVideoActionId = null, this.pause(), this.unbindEngine(), this.setActive(!1);
859
+ return;
860
+ }
861
+ this.activeVideoActionId = c.actionId, this.setActive(!0), this.setRate(c.engine.getPlayRate()), this.setSource(c.src);
862
+ const f = Math.max(0, this.lastEngineTime - c.actionStart + c.offset);
863
+ this.seek(f, { force: !c.isPlaying }), c.isPlaying ? this.play() : this.pause();
864
+ }
865
+ bindEngine(s, d) {
866
+ this.unbindEngine(), this.boundEngine = s, this.boundActionStart = d, this.tickFromVideo();
790
867
  }
791
868
  unbindEngine() {
792
869
  const s = this.videoEl;
@@ -801,14 +878,14 @@ class Bt {
801
878
  if (!this.videoEl || !this.boundEngine || this.videoEl.paused) return;
802
879
  const s = this.boundActionStart + this.videoEl.currentTime;
803
880
  Math.abs(this.boundEngine.getTime() - s) > 0.03 && this.boundEngine.setTime(s, !0);
804
- const l = this.videoEl;
805
- l?.requestVideoFrameCallback ? this.vfcHandle = l.requestVideoFrameCallback(() => this.tickFromVideo()) : this.rafHandle = requestAnimationFrame(() => this.tickFromVideo());
881
+ const d = this.videoEl;
882
+ d?.requestVideoFrameCallback ? this.vfcHandle = d.requestVideoFrameCallback(() => this.tickFromVideo()) : this.rafHandle = requestAnimationFrame(() => this.tickFromVideo());
806
883
  };
807
884
  setSource(s) {
808
885
  if (!this.videoEl || !s) return;
809
- const l = re.resolve(s);
810
- if (!((this.videoEl.currentSrc || this.videoEl.getAttribute("src") || "") === l || this.currentSrc === l)) {
811
- this.currentSrc = l, this.videoEl.preload = "auto", this.videoEl.src = l;
886
+ const d = Ue.resolve(s);
887
+ if (!((this.videoEl.currentSrc || this.videoEl.getAttribute("src") || "") === d || this.currentSrc === d)) {
888
+ this.currentSrc = d, this.videoEl.preload = "auto", this.videoEl.src = d;
812
889
  try {
813
890
  this.videoEl.load();
814
891
  } catch {
@@ -816,7 +893,7 @@ class Bt {
816
893
  }
817
894
  }
818
895
  warm(s) {
819
- s && re.warm(s);
896
+ s && Ue.warm(s);
820
897
  }
821
898
  setRate(s) {
822
899
  this.videoEl && this.lastRate !== s && (this.lastRate = s, this.videoEl.playbackRate = s);
@@ -825,14 +902,14 @@ class Bt {
825
902
  * Sync the video to a desired timeline time.
826
903
  * To avoid buffering/stutters, we only seek when drift is large or when paused/scrubbing.
827
904
  */
828
- seek(s, l) {
905
+ seek(s, d) {
829
906
  if (this.videoEl)
830
907
  try {
831
- const u = performance.now(), f = l?.force === !0, I = this.videoEl.currentTime;
832
- if (!f && !this.videoEl.paused && (Math.abs(I - s) < 0.12 || u - this.lastSeekAtMs < 150))
908
+ const c = performance.now(), f = d?.force === !0, Q = this.videoEl.currentTime;
909
+ if (!f && !this.videoEl.paused && (Math.abs(Q - s) < 0.12 || c - this.lastSeekAtMs < 150))
833
910
  return;
834
- const h = this.videoEl.duration;
835
- Number.isFinite(h) && h > 0 ? this.videoEl.currentTime = Math.min(s, Math.max(0, h - 0.05)) : this.videoEl.currentTime = Math.max(0, s), this.lastSeekAtMs = u;
911
+ const b = this.videoEl.duration;
912
+ Number.isFinite(b) && b > 0 ? this.videoEl.currentTime = Math.min(s, Math.max(0, b - 0.05)) : this.videoEl.currentTime = Math.max(0, s), this.lastSeekAtMs = c;
836
913
  } catch {
837
914
  }
838
915
  }
@@ -847,28 +924,28 @@ class Bt {
847
924
  this.videoEl && this.videoEl.pause();
848
925
  }
849
926
  }
850
- const G = new Bt(), te = 160, ne = 5, Ee = 20, lt = {
927
+ const JA = new kt(), Jt = 160, Gt = 5, Lt = {
851
928
  effect0: {
852
929
  id: "effect0",
853
930
  name: "Play audio",
854
931
  source: {
855
- start: ({ action: g, engine: s, isPlaying: l, time: u }) => {
856
- if (l) {
857
- const { src: f, offset: I } = g.data;
858
- rA.warm(f), rA.start({ actionId: g.id, src: f, startTime: g.start, engine: s, time: u, offset: I });
932
+ start: ({ action: B, engine: s, isPlaying: d, time: c }) => {
933
+ if (d) {
934
+ const { src: f, offset: Q } = B.data;
935
+ bA.warm(f), bA.start({ actionId: B.id, src: f, startTime: B.start, engine: s, time: c, offset: Q });
859
936
  }
860
937
  },
861
- enter: ({ action: g, engine: s, isPlaying: l, time: u }) => {
862
- if (l) {
863
- const { src: f, offset: I } = g.data;
864
- rA.warm(f), rA.start({ actionId: g.id, src: f, startTime: g.start, engine: s, time: u, offset: I });
938
+ enter: ({ action: B, engine: s, isPlaying: d, time: c }) => {
939
+ if (d) {
940
+ const { src: f, offset: Q } = B.data;
941
+ bA.warm(f), bA.start({ actionId: B.id, src: f, startTime: B.start, engine: s, time: c, offset: Q });
865
942
  }
866
943
  },
867
- leave: ({ action: g }) => {
868
- rA.stop({ actionId: g.id });
944
+ leave: ({ action: B }) => {
945
+ bA.stop({ actionId: B.id });
869
946
  },
870
- stop: ({ action: g }) => {
871
- rA.stop({ actionId: g.id });
947
+ stop: ({ action: B }) => {
948
+ bA.stop({ actionId: B.id });
872
949
  }
873
950
  }
874
951
  },
@@ -876,23 +953,23 @@ const G = new Bt(), te = 160, ne = 5, Ee = 20, lt = {
876
953
  id: "effect2",
877
954
  name: "Play video audio",
878
955
  source: {
879
- start: ({ action: g, engine: s, isPlaying: l, time: u }) => {
880
- if (l) {
881
- const { src: f, offset: I } = g.data;
882
- rA.warm(f), rA.start({ actionId: g.id, src: f, startTime: g.start, engine: s, time: u, offset: I });
956
+ start: ({ action: B, engine: s, isPlaying: d, time: c }) => {
957
+ if (d) {
958
+ const { src: f, offset: Q } = B.data;
959
+ bA.warm(f), bA.start({ actionId: B.id, src: f, startTime: B.start, engine: s, time: c, offset: Q });
883
960
  }
884
961
  },
885
- enter: ({ action: g, engine: s, isPlaying: l, time: u }) => {
886
- if (l) {
887
- const { src: f, offset: I } = g.data;
888
- rA.warm(f), rA.start({ actionId: g.id, src: f, startTime: g.start, engine: s, time: u, offset: I });
962
+ enter: ({ action: B, engine: s, isPlaying: d, time: c }) => {
963
+ if (d) {
964
+ const { src: f, offset: Q } = B.data;
965
+ bA.warm(f), bA.start({ actionId: B.id, src: f, startTime: B.start, engine: s, time: c, offset: Q });
889
966
  }
890
967
  },
891
- leave: ({ action: g }) => {
892
- rA.stop({ actionId: g.id });
968
+ leave: ({ action: B }) => {
969
+ bA.stop({ actionId: B.id });
893
970
  },
894
- stop: ({ action: g }) => {
895
- rA.stop({ actionId: g.id });
971
+ stop: ({ action: B }) => {
972
+ bA.stop({ actionId: B.id });
896
973
  }
897
974
  }
898
975
  },
@@ -900,808 +977,1040 @@ const G = new Bt(), te = 160, ne = 5, Ee = 20, lt = {
900
977
  id: "effect1",
901
978
  name: "Play video",
902
979
  source: {
903
- start: ({ action: g, engine: s, isPlaying: l, time: u }) => {
904
- const { src: f, previewSrc: I, offset: h } = g.data ?? {}, v = I || f;
905
- v && (G.warm(v), G.setSource(v)), G.setActive(!0), G.setRate(s.getPlayRate());
906
- const m = Number(h ?? 0);
907
- G.seek(Math.max(0, u - g.start + (Number.isFinite(m) ? m : 0)), { force: !0 }), l && G.play();
980
+ start: ({ action: B, engine: s, isPlaying: d, time: c }) => {
981
+ const { src: f, previewSrc: Q, offset: b, videoLayer: y } = B.data ?? {}, S = Q || f;
982
+ S && JA.warm(S), JA.claimVideo({
983
+ actionId: String(B.id),
984
+ layer: Number.isFinite(Number(y)) ? Number(y) : 0,
985
+ src: S,
986
+ engine: s,
987
+ isPlaying: d,
988
+ time: c,
989
+ actionStart: Number(B.start),
990
+ offset: b
991
+ });
908
992
  },
909
- enter: ({ action: g, engine: s, isPlaying: l, time: u }) => {
910
- const { src: f, previewSrc: I, offset: h } = g.data ?? {}, v = I || f;
911
- v && (G.warm(v), G.setSource(v)), G.setActive(!0), G.setRate(s.getPlayRate());
912
- const m = Number(h ?? 0);
913
- G.seek(Math.max(0, u - g.start + (Number.isFinite(m) ? m : 0)), { force: !0 }), l && G.play();
993
+ enter: ({ action: B, engine: s, isPlaying: d, time: c }) => {
994
+ const { src: f, previewSrc: Q, offset: b, videoLayer: y } = B.data ?? {}, S = Q || f;
995
+ S && JA.warm(S), JA.claimVideo({
996
+ actionId: String(B.id),
997
+ layer: Number.isFinite(Number(y)) ? Number(y) : 0,
998
+ src: S,
999
+ engine: s,
1000
+ isPlaying: d,
1001
+ time: c,
1002
+ actionStart: Number(B.start),
1003
+ offset: b
1004
+ });
914
1005
  },
915
- update: ({ action: g, engine: s, time: l, isPlaying: u }) => {
916
- const { src: f, previewSrc: I, offset: h } = g.data ?? {}, v = I || f;
917
- if (v && G.setSource(v), G.setActive(!0), G.setRate(s.getPlayRate()), !u) {
918
- const m = Number(h ?? 0);
919
- G.seek(Math.max(0, l - g.start + (Number.isFinite(m) ? m : 0)), { force: !0 });
920
- }
1006
+ update: ({ action: B, engine: s, time: d, isPlaying: c }) => {
1007
+ const { src: f, previewSrc: Q, offset: b, videoLayer: y } = B.data ?? {}, S = Q || f;
1008
+ JA.claimVideo({
1009
+ actionId: String(B.id),
1010
+ layer: Number.isFinite(Number(y)) ? Number(y) : 0,
1011
+ src: S,
1012
+ engine: s,
1013
+ isPlaying: c,
1014
+ time: d,
1015
+ actionStart: Number(B.start),
1016
+ offset: b
1017
+ });
921
1018
  },
922
- leave: () => {
923
- G.pause(), G.unbindEngine(), G.setActive(!1);
1019
+ leave: ({ action: B }) => {
1020
+ JA.releaseVideo(String(B.id));
924
1021
  },
925
- stop: () => {
926
- G.pause(), G.unbindEngine(), G.setActive(!1);
1022
+ stop: ({ action: B }) => {
1023
+ JA.releaseVideo(String(B.id));
927
1024
  }
928
1025
  }
929
1026
  }
930
- }, dt = [
931
- {
932
- id: "0",
933
- actions: [
934
- {
935
- id: "action0",
936
- start: 0,
937
- end: 10,
938
- effectId: "effect1",
939
- data: {
940
- src: "/footage/Big_Buck_Bunny_720_10s_5MB.mp4",
941
- name: "Big Buck Bunny (10s)"
942
- }
943
- }
944
- ]
945
- },
946
- {
947
- id: "1",
948
- actions: []
949
- },
950
- {
951
- id: "2",
952
- actions: [
953
- {
954
- id: "action1",
955
- start: 0,
956
- end: 10,
957
- effectId: "effect0",
958
- data: {
959
- src: "/footage/file_example_MP3_700KB.mp3",
960
- name: "Example MP3 (looped)"
961
- }
962
- }
963
- ]
964
- },
965
- {
966
- id: "3",
967
- actions: []
968
- }
969
- ], ft = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAtlQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANlVkNAAAAPN0Uk5TABYvRE1VWkg1HAcYU4Kt2vj/4ruTYikBCZnX7q9lGwVQ9P7KbhUfiej6Pi6jy1cCHqLUD435wqogGrj1C+vlZgMEj85AEror2REndyrp2OG9MBne/JsIx4Cc42jIOrMiBtCGNiUU/w5Fdaj3iHs8HW/E7CP2vpXTRsGOtl79+xfGNPNK39xM8DKYKLQN8dKSas0MPaxPp22ULKUK8p9Bv2uD1XI5EyaRkELPcOctOO9zO90/ECQ37eDA29ZLw7whQ7Uz5MzJ0VJgsOahTre56ough4FsjHSxVGFJf1h2ioRxhX5fxWl6plmXR2eWrlGeZFudikazJAAAFoFJREFUeJztnXt8FdW1x2fi60NauARuBNsomEbAABJALiDRAEEN70cVJFIlvK7FUIu89BYQFDE+uTxslZAHArkXKpILBBIVCVQpj/KMBotepQIV/VihvQiW6OGCiBxgzzlrnzNrZs6s3/eP/rFnnb1X5Us4mfnN3qYBRGO63QBwFwggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHG8IYH7HKSPu9P8ed7sZWbgtwI/O/tkHjZwd+My1joThpgANv0g0T6gvxZ924BNnuxGKawI0Mr+sfzRUQcJpBz5wqhu5uCRAE9IP+YaHkqr5e5GNKwI0N789TCxNMs3drL1IxwUB0sy/H9Eov76qhq0V4LwAbU3zQ82P3LDna5ZWgOG8AJfXOaX/oYREc7P9rYAzOCtAR3NvZB9M3dPqbXtbAWdxVIDG174b8WdbmmalfZ2AczgoQBdzZ1Sfb2O+aVMn4DzOCXC7uS3aKeJurrCjExCEYwI0Sd4S/SQpta9aG/0sIAinBOixOYJv/wri09bjcaGdOCRAL9O2L/G3rvnGrqmAUwKkNdpo42wZ5gobZxOOIwIMMN+ydb5Mc81Xtk4oGCcEGGi+bveUddtXUh8ngZA4IcDgcoZJux86iseENuCAAPeu4Zm3p7mIZ2JR8AvQ6whbqKO3uZBrajGwCzDULA1XEt88admgM0nQLXtGmeaS+vS0QLZZ83JU3QF2AcYsDn29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", Qt = "data:image/png;base64,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AAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiADQFoQABsCMAGAjBAAGwIQAMCYEMANhCAAQJgQwAaEAAbArCBAAwQABsC0IAA2BCADQRggADYEIAGBMCGAGwgAAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiADQFoQABsCMAGAjBAAGwIQAMCYEMANhCAAQJgQwAaEAAbArCBAAwQABsC0IAA2BCADQRggADYEIAGBMCGAGwgAAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiA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", Et = "data:image/png;base64,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", Ct = "data:image/png;base64,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AIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKgu8P8Ho19MJOV4IQAAAABJRU5ErkJggg==", wt = "data:image/png;base64,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", It = "data:image/png;base64,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UEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIA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", { Option: Dt } = Ye, ht = [0.2, 0.5, 1, 1.5, 2], mt = ({
970
- timelineState: g,
1027
+ }, Yt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAtlQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANlVkNAAAAPN0Uk5TABYvRE1VWkg1HAcYU4Kt2vj/4ruTYikBCZnX7q9lGwVQ9P7KbhUfiej6Pi6jy1cCHqLUD435wqogGrj1C+vlZgMEj85AEror2REndyrp2OG9MBne/JsIx4Cc42jIOrMiBtCGNiUU/w5Fdaj3iHs8HW/E7CP2vpXTRsGOtl79+xfGNPNK39xM8DKYKLQN8dKSas0MPaxPp22ULKUK8p9Bv2uD1XI5EyaRkELPcOctOO9zO90/ECQ37eDA29ZLw7whQ7Uz5MzJ0VJgsOahTre56ough4FsjHSxVGFJf1h2ioRxhX5fxWl6plmXR2eWrlGeZFudikazJAAAFoFJREFUeJztnXt8FdW1x2fi60NauARuBNsomEbAABJALiDRAEEN70cVJFIlvK7FUIu89BYQFDE+uTxslZAHArkXKpILBBIVCVQpj/KMBotepQIV/VihvQiW6OGCiBxgzzlrnzNrZs6s3/eP/rFnnb1X5Us4mfnN3qYBRGO63QBwFwggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHAggHG8IYH7HKSPu9P8ed7sZWbgtwI/O/tkHjZwd+My1joThpgANv0g0T6gvxZ924BNnuxGKawI0Mr+sfzRUQcJpBz5wqhu5uCRAE9IP+YaHkqr5e5GNKwI0N789TCxNMs3drL1IxwUB0sy/H9Eov76qhq0V4LwAbU3zQ82P3LDna5ZWgOG8AJfXOaX/oYREc7P9rYAzOCtAR3NvZB9M3dPqbXtbAWdxVIDG174b8WdbmmalfZ2AczgoQBdzZ1Sfb2O+aVMn4DzOCXC7uS3aKeJurrCjExCEYwI0Sd4S/SQpta9aG/0sIAinBOixOYJv/wri09bjcaGdOCRAL9O2L/G3rvnGrqmAUwKkNdpo42wZ5gobZxOOIwIMMN+ydb5Mc81Xtk4oGCcEGGi+bveUddtXUh8ngZA4IcDgcoZJux86iseENuCAAPeu4Zm3p7mIZ2JR8AvQ6whbqKO3uZBrajGwCzDULA1XEt88admgM0nQLXtGmeaS+vS0QLZZ83JU3QF2AcYsDn29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", Kt = "data:image/png;base64,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AAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiADQFoQABsCMAGAjBAAGwIQAMCYEMANhCAAQJgQwAaEAAbArCBAAwQABsC0IAA2BCADQRggADYEIAGBMCGAGwgAAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiADQFoQABsCMAGAjBAAGwIQAMCYEMANhCAAQJgQwAaEAAbArCBAAwQABsC0IAA2BCADQRggADYEIAGBMCGAGwgAAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiA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", jt = "data:image/png;base64,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", Tt = "data:image/png;base64,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AIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKgu8P8Ho19MJOV4IQAAAABJRU5ErkJggg==", Wt = "data:image/png;base64,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", Xt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABCbSURBVHic7d17jGZ3Xcfxz0xrb7Rsq01LUUoEtUTwEtotQmOwUZsAjWJAaGqjRo0iCoZoqpAaqvyhphVsJRLEmKAEL6VUMOA9NKVW7SU2WsUi5Y/Sm73Qa9oubXf845lJ26VLZ3efeX7znM/rlfySbmd3z/fJnpnznvOcOWclQINDk7wmyQ8kOSXJNyc5Zv1j9yb5YpLrkvxDkr9NsmvAjADAnByR5F1J7kmytsl1d5J3rv9ZAGDJnJ3k1mz+wL/nuiXJWQufGgDYLwcl+e3s/4F/z3XR+t8JAGxTByW5LPM7+G+sSyMCAGDbem/mf/DfWBcs8HUAAJv049m6g//GOnthrwYAeFZHJrkjWx8A/5fkqAW9JmALrY4eAJiLc5Mcv4DtHJfkHQvYDgDwLJ6T5IFs/Xf/G+u+uEcALD1nAGD5/XAWe1p+R5IzF7g9YAsIAFh+Z5RsE5gjAQDLb+eAbZ46YJvAHK2MHgA4YI8kOWzANl0HAEtMAMByOyyzg/GobXtqICwpbwHAcjt04LYXfdYBmCMBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEChg/fh9x6b5PQkpyT5liTP3ZKJ4El3JPmfJFetr11jx4FNOTTJaUleleSkJM8bOw4FHkjyhSTXJPlMknvm9Re/IsknkzyWZM2yBq17klwUX0z3tCPj/k12LOD1LZMTklyc5MsZ//li9a6vJPlEklNzAF6c5JIku7fBC7KsjfVQkt9MckRIBMB2cESS92S2b47+/LCsjbU7yV8meVH20RlJ7t0GL8Cy9rauT/LCIADG+sbMTruO/nywrL2t+5OcmWfwTBcB/nySTyc5+pn+AGwT35XkX5O8fPQg1Do5ybWZXRcF29Vzk1yW5C17fmBlj1+/Psml8dMBLI/bM3uv65bRgwyyI8l9g7Z9dGbfXTR6fpKrMzsDAMtgd5IfyeyaviRPP9B/Z5I/jYM/y+WEJB9PctjoQahxeGZfRB38WSarST6S5KVP/R8bPpDkyEVPBHOwM8k7Rg9BjV/J7PQ/LJujkvxR1s/+b7wF8IYkHxs1EczBg5ndn+LO0YMsmLcAFuvYJDfFfVBYbq9P8omNMwC/MXISmIOj4iwAW+/cOPiz/N6TzM4AvCKzq6lh2d2W5MQkT4weZIGcAVicgzO72PT40YPAHOxcTfK60VPAnDw/yXePHoLJOjkO/kzHa1eTvHL0FDBHp40egMnytZIpOW01s4dVwFTYn9kq9i2m5KTVzK5qhamwP7NV7FtMybGrcQMVpuXQ0QMwWYeMHgDm6IjVfPXtgGGZPTh6ACbrodEDwBytuO0vU3Pz6AGYrC+NHgDmSQAwNTeMHoDJ+s/RA8A8CQCmZC3JZ0YPwWRdntk+BpMgAJiSzya5Y/QQTNatSa4aPQTMiwBgSn5/9ABM3sWjB4B5EQBMxdVJLh09BJN3STw7hYkQAEzB7iS/HO/PsvXWkrwz9jUmQAAwBecluXL0ENS4PMn5g2eAA7YSJcty+7MkP5be/djjgMdYyWzfe/PoQWB/OQPAMvvDJD+R3oM/46wlOScuPGWJCQCW0SNJ3prk55I8NngWej2e5O1J3pbk0cGzwD4TACyT3Zldhf3SJB8YPAtseH+Sb83sjNQTg2eBTXMNAMvgv5J8MsmHk9w4eJbtxjUA28tLkvxkkjMzC1XYtkYGwFuT3D1o22x/u5LcmdkB/97Bs2xnAmD7+vok35bk+HiUMHt3bJI/GLXxtUHrxEW8OJi4HRn3ObxjAa8Ppu7EDPocdg0AABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIA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", { Option: zt } = Bt, qt = [0.2, 0.5, 1, 1.5, 2], Vt = ({
1028
+ timelineState: B,
971
1029
  autoScrollWhenPlay: s,
972
- editorData: l,
973
- selectedActionId: u,
974
- onDeleteSelectedClip: f,
975
- onSplitSelectedClip: I,
976
- canUndo: h,
977
- canRedo: v,
978
- onUndo: m,
979
- onRedo: b
1030
+ scale: d,
1031
+ scaleWidth: c,
1032
+ startLeft: f,
1033
+ editorData: Q,
1034
+ selectedActionId: b,
1035
+ onDeleteSelectedClip: y,
1036
+ onSplitSelectedClip: S,
1037
+ canUndo: L,
1038
+ canRedo: m,
1039
+ onUndo: W,
1040
+ onRedo: J
980
1041
  }) => {
981
- const [y, p] = z(!1), [q, W] = z(0), [uA, K] = z(!1), L = j(0), Z = j(0), S = j(0), BA = j(0), CA = j(0), iA = j(0), lA = !!u, FA = (() => {
982
- if (!u) return null;
983
- const w = Array.isArray(l) ? l : [];
984
- for (const x of w) {
985
- const R = x?.actions;
986
- if (Array.isArray(R))
987
- for (const P of R) {
988
- if (String(P?.id) !== u) continue;
989
- const H = Number(P?.start), U = Number(P?.end);
990
- return !Number.isFinite(H) || !Number.isFinite(U) ? null : { start: H, end: U };
1042
+ const [hA, X] = gA(!1), [lA, mA] = gA(0), [UA, rA] = gA(!1), cA = nA(0), _A = nA(0), TA = nA(0), GA = nA(0), WA = nA(0), SA = nA(0), HA = !!b, XA = (() => {
1043
+ if (!b) return null;
1044
+ const O = Array.isArray(Q) ? Q : [];
1045
+ for (const $ of O) {
1046
+ const AA = $?.actions;
1047
+ if (Array.isArray(AA))
1048
+ for (const q of AA) {
1049
+ if (String(q?.id) !== b) continue;
1050
+ const z = Number(q?.start), eA = Number(q?.end);
1051
+ return !Number.isFinite(z) || !Number.isFinite(eA) ? null : { start: z, end: eA };
991
1052
  }
992
1053
  }
993
1054
  return null;
994
- })(), yA = !!(FA && q > FA.start && q < FA.end), JA = (w) => {
995
- const x = Array.isArray(l) ? l : [];
996
- for (const R of x) {
997
- const P = R?.actions;
998
- if (Array.isArray(P))
999
- for (const H of P) {
1000
- if (H?.effectId !== "effect1") continue;
1001
- const U = Number(H?.start), k = Number(H?.end);
1002
- if (!(!Number.isFinite(U) || !Number.isFinite(k)) && w >= U && w < k)
1055
+ })(), $A = !!(XA && lA > XA.start && lA < XA.end), FA = (O) => {
1056
+ const $ = Array.isArray(Q) ? Q : [];
1057
+ for (const AA of $) {
1058
+ const q = AA?.actions;
1059
+ if (Array.isArray(q))
1060
+ for (const z of q) {
1061
+ if (z?.effectId !== "effect1") continue;
1062
+ const eA = Number(z?.start), aA = Number(z?.end);
1063
+ if (!(!Number.isFinite(eA) || !Number.isFinite(aA)) && O >= eA && O < aA)
1003
1064
  return !0;
1004
1065
  }
1005
1066
  }
1006
1067
  return !1;
1007
- }, qA = (w) => {
1008
- JA(w) || (G.pause(), G.unbindEngine(), G.setActive(!1));
1068
+ }, NA = (O) => {
1069
+ FA(O) || (JA.pause(), JA.unbindEngine(), JA.setActive(!1));
1009
1070
  };
1010
- Ce(() => {
1011
- if (!g.current) return;
1012
- const w = g.current, x = () => p(!0), R = () => p(!1), P = ({ time: U }) => {
1013
- W(U), qA(U);
1014
- }, H = ({ time: U }) => {
1015
- const k = performance.now();
1016
- if (!(k - L.current < 33) && (L.current = k, W(U), qA(U), s.current)) {
1017
- const dA = U * (te / ne) + Ee - 500, aA = g.current;
1018
- aA && aA.setScrollLeft(dA);
1071
+ ye(() => {
1072
+ if (!B.current) return;
1073
+ const O = B.current, $ = () => X(!0), AA = () => X(!1), q = ({ time: eA }) => {
1074
+ mA(eA), NA(eA);
1075
+ }, z = ({ time: eA }) => {
1076
+ const aA = performance.now();
1077
+ if (!(aA - cA.current < 33) && (cA.current = aA, mA(eA), NA(eA), s.current)) {
1078
+ const yA = eA * (c / d) + f - 500, YA = B.current;
1079
+ YA && YA.setScrollLeft(yA);
1019
1080
  }
1020
1081
  };
1021
- return w.listener.on("play", x), w.listener.on("paused", R), w.listener.on("afterSetTime", P), w.listener.on("setTimeByTick", H), () => {
1022
- w.listener.off("play", x), w.listener.off("paused", R), w.listener.off("afterSetTime", P), w.listener.off("setTimeByTick", H);
1082
+ return O.listener.on("play", $), O.listener.on("paused", AA), O.listener.on("afterSetTime", q), O.listener.on("setTimeByTick", z), () => {
1083
+ O.listener.off("play", $), O.listener.off("paused", AA), O.listener.off("afterSetTime", q), O.listener.off("setTimeByTick", z);
1023
1084
  };
1024
- }, [l]);
1025
- const SA = () => {
1026
- g.current && (g.current.isPlaying ? g.current.pause() : (rA.unlock(), g.current.play({ autoEnd: !0 })));
1027
- }, oA = (w) => {
1028
- g.current && g.current.setPlayRate(w);
1029
- }, sA = (w) => {
1030
- const x = (parseInt(w % 1 * 100 + "") + "").padStart(2, "0"), R = (parseInt(w / 60 + "") + "").padStart(2, "0"), P = (parseInt(w % 60 + "") + "").padStart(2, "0");
1031
- return /* @__PURE__ */ E.jsx(E.Fragment, { children: `${R}:${P}.${x.replace("0.", "")}` });
1032
- }, eA = () => {
1033
- const w = [], x = /* @__PURE__ */ new Set(), R = Array.isArray(l) ? l : [];
1034
- for (const P of R) {
1035
- const H = P?.actions;
1036
- if (Array.isArray(H))
1037
- for (const U of H) {
1038
- const k = U?.data?.src;
1039
- if (!k) continue;
1040
- const IA = String(k);
1041
- x.has(IA) || (x.add(IA), w.push(IA));
1085
+ }, [Q]);
1086
+ const PA = () => {
1087
+ B.current && (B.current.isPlaying ? B.current.pause() : (bA.unlock(), B.current.play({ autoEnd: !0 })));
1088
+ }, de = (O) => {
1089
+ B.current && B.current.setPlayRate(O);
1090
+ }, se = (O) => {
1091
+ const $ = (parseInt(O % 1 * 100 + "") + "").padStart(2, "0"), AA = (parseInt(O / 60 + "") + "").padStart(2, "0"), q = (parseInt(O % 60 + "") + "").padStart(2, "0");
1092
+ return /* @__PURE__ */ D.jsx(D.Fragment, { children: `${AA}:${q}.${$.replace("0.", "")}` });
1093
+ }, LA = () => {
1094
+ const O = [], $ = /* @__PURE__ */ new Set(), AA = Array.isArray(Q) ? Q : [];
1095
+ for (const q of AA) {
1096
+ const z = q?.actions;
1097
+ if (Array.isArray(z))
1098
+ for (const eA of z) {
1099
+ const aA = eA?.data?.src;
1100
+ if (!aA) continue;
1101
+ const xA = String(aA);
1102
+ $.has(xA) || ($.add(xA), O.push(xA));
1042
1103
  }
1043
1104
  }
1044
- return w;
1045
- }, UA = (w, x) => {
1046
- const R = URL.createObjectURL(w), P = document.createElement("a");
1047
- P.href = R, P.download = x, document.body.appendChild(P), P.click(), P.remove(), setTimeout(() => URL.revokeObjectURL(R), 3e3);
1048
- }, wA = async () => {
1049
- if (!uA) {
1050
- K(!0);
1105
+ return O;
1106
+ }, ae = (O, $) => {
1107
+ const AA = URL.createObjectURL(O), q = document.createElement("a");
1108
+ q.href = AA, q.download = $, document.body.appendChild(q), q.click(), q.remove(), setTimeout(() => URL.revokeObjectURL(AA), 3e3);
1109
+ }, zA = async () => {
1110
+ if (!UA) {
1111
+ rA(!0);
1051
1112
  try {
1052
- const w = eA(), x = new FormData();
1053
- x.append("timeline", JSON.stringify({ editorData: l }));
1054
- for (const H of w) {
1055
- const U = await fetch(H);
1056
- if (!U.ok) throw new Error(`Failed to fetch asset: ${H} (${U.status})`);
1057
- const k = await U.blob();
1058
- x.append("assets", k, encodeURIComponent(H));
1113
+ const O = LA(), $ = new FormData();
1114
+ $.append("timeline", JSON.stringify({ editorData: Q }));
1115
+ for (const z of O) {
1116
+ const eA = await fetch(z);
1117
+ if (!eA.ok) throw new Error(`Failed to fetch asset: ${z} (${eA.status})`);
1118
+ const aA = await eA.blob();
1119
+ $.append("assets", aA, encodeURIComponent(z));
1059
1120
  }
1060
- const R = await fetch("/export", {
1121
+ const AA = await fetch("/export", {
1061
1122
  method: "POST",
1062
- body: x
1123
+ body: $
1063
1124
  });
1064
- if (!R.ok) {
1065
- const H = await R.text().catch(() => "");
1066
- throw new Error(H || `Export failed (${R.status})`);
1125
+ if (!AA.ok) {
1126
+ const z = await AA.text().catch(() => "");
1127
+ throw new Error(z || `Export failed (${AA.status})`);
1067
1128
  }
1068
- const P = await R.blob();
1069
- UA(P, "export.mp4");
1129
+ const q = await AA.blob();
1130
+ ae(q, "export.mp4");
1070
1131
  } finally {
1071
- K(!1);
1132
+ rA(!1);
1072
1133
  }
1073
1134
  }
1074
1135
  };
1075
- return /* @__PURE__ */ E.jsxs("div", { className: "timeline-player", children: [
1076
- /* @__PURE__ */ E.jsx(
1136
+ return /* @__PURE__ */ D.jsxs("div", { className: "timeline-player", children: [
1137
+ /* @__PURE__ */ D.jsx(
1077
1138
  "div",
1078
1139
  {
1079
1140
  className: "play-control",
1080
1141
  role: "button",
1081
1142
  tabIndex: 0,
1082
- "aria-label": y ? "Pause" : "Play",
1143
+ "aria-label": hA ? "Pause" : "Play",
1083
1144
  onClick: () => {
1084
- Date.now() - Z.current < 450 || SA();
1145
+ Date.now() - _A.current < 450 || PA();
1085
1146
  },
1086
- onPointerUp: (w) => {
1087
- w.pointerType !== "mouse" && (Z.current = Date.now(), SA());
1147
+ onPointerUp: (O) => {
1148
+ O.pointerType !== "mouse" && (_A.current = Date.now(), PA());
1088
1149
  },
1089
- children: /* @__PURE__ */ E.jsx(
1150
+ children: /* @__PURE__ */ D.jsx(
1090
1151
  "img",
1091
1152
  {
1092
- src: y ? Qt : ft,
1153
+ src: hA ? Kt : Yt,
1093
1154
  alt: "",
1094
1155
  draggable: !1
1095
1156
  }
1096
1157
  )
1097
1158
  }
1098
1159
  ),
1099
- /* @__PURE__ */ E.jsx("div", { className: "time", children: sA(q) }),
1100
- /* @__PURE__ */ E.jsxs("div", { className: "history-tools", children: [
1101
- /* @__PURE__ */ E.jsx(
1160
+ /* @__PURE__ */ D.jsx("div", { className: "time", children: se(lA) }),
1161
+ /* @__PURE__ */ D.jsxs("div", { className: "history-tools", children: [
1162
+ /* @__PURE__ */ D.jsx(
1102
1163
  "button",
1103
1164
  {
1104
1165
  type: "button",
1105
1166
  className: "history-tool",
1106
- disabled: !h,
1167
+ disabled: !L,
1107
1168
  "aria-label": "Undo",
1108
1169
  onClick: () => {
1109
- Date.now() - CA.current < 450 || h && m();
1170
+ Date.now() - WA.current < 450 || L && W();
1110
1171
  },
1111
- onPointerUp: (w) => {
1112
- w.pointerType !== "mouse" && (CA.current = Date.now(), h && m());
1172
+ onPointerUp: (O) => {
1173
+ O.pointerType !== "mouse" && (WA.current = Date.now(), L && W());
1113
1174
  },
1114
- children: /* @__PURE__ */ E.jsx("img", { src: Et, alt: "", draggable: !1 })
1175
+ children: /* @__PURE__ */ D.jsx("img", { src: jt, alt: "", draggable: !1 })
1115
1176
  }
1116
1177
  ),
1117
- /* @__PURE__ */ E.jsx(
1178
+ /* @__PURE__ */ D.jsx(
1118
1179
  "button",
1119
1180
  {
1120
1181
  type: "button",
1121
1182
  className: "history-tool",
1122
- disabled: !v,
1183
+ disabled: !m,
1123
1184
  "aria-label": "Redo",
1124
1185
  onClick: () => {
1125
- Date.now() - iA.current < 450 || v && b();
1186
+ Date.now() - SA.current < 450 || m && J();
1126
1187
  },
1127
- onPointerUp: (w) => {
1128
- w.pointerType !== "mouse" && (iA.current = Date.now(), v && b());
1188
+ onPointerUp: (O) => {
1189
+ O.pointerType !== "mouse" && (SA.current = Date.now(), m && J());
1129
1190
  },
1130
- children: /* @__PURE__ */ E.jsx("img", { src: Ct, alt: "", draggable: !1 })
1191
+ children: /* @__PURE__ */ D.jsx("img", { src: Tt, alt: "", draggable: !1 })
1131
1192
  }
1132
1193
  )
1133
1194
  ] }),
1134
- /* @__PURE__ */ E.jsx("div", { className: "rate-control", children: /* @__PURE__ */ E.jsx(Ye, { size: "small", defaultValue: 1, style: { width: 120 }, onChange: oA, children: ht.map((w) => /* @__PURE__ */ E.jsx(Dt, { value: w, children: `${w.toFixed(1)}x` }, w)) }) }),
1135
- /* @__PURE__ */ E.jsxs("div", { className: "clip-tools", children: [
1136
- /* @__PURE__ */ E.jsx(
1195
+ /* @__PURE__ */ D.jsx("div", { className: "rate-control", children: /* @__PURE__ */ D.jsx(Bt, { size: "small", defaultValue: 1, style: { width: 120 }, onChange: de, children: qt.map((O) => /* @__PURE__ */ D.jsx(zt, { value: O, children: `${O.toFixed(1)}x` }, O)) }) }),
1196
+ /* @__PURE__ */ D.jsxs("div", { className: "clip-tools", children: [
1197
+ /* @__PURE__ */ D.jsx(
1137
1198
  "button",
1138
1199
  {
1139
1200
  type: "button",
1140
1201
  className: "clip-tool clip-tool-delete",
1141
- disabled: !lA,
1202
+ disabled: !HA,
1142
1203
  "aria-label": "Delete selected clip",
1143
1204
  onClick: () => {
1144
- Date.now() - S.current < 450 || lA && f();
1205
+ Date.now() - TA.current < 450 || HA && y();
1145
1206
  },
1146
- onPointerUp: (w) => {
1147
- w.pointerType !== "mouse" && (S.current = Date.now(), lA && f());
1207
+ onPointerUp: (O) => {
1208
+ O.pointerType !== "mouse" && (TA.current = Date.now(), HA && y());
1148
1209
  },
1149
- children: /* @__PURE__ */ E.jsx("img", { src: wt, alt: "", draggable: !1 })
1210
+ children: /* @__PURE__ */ D.jsx("img", { src: Wt, alt: "", draggable: !1 })
1150
1211
  }
1151
1212
  ),
1152
- /* @__PURE__ */ E.jsx(
1213
+ /* @__PURE__ */ D.jsx(
1153
1214
  "button",
1154
1215
  {
1155
1216
  type: "button",
1156
1217
  className: "clip-tool clip-tool-split",
1157
- disabled: !yA,
1218
+ disabled: !$A,
1158
1219
  "aria-label": "Split selected clip at cursor",
1159
1220
  onClick: () => {
1160
- Date.now() - BA.current < 450 || yA && I();
1221
+ Date.now() - GA.current < 450 || $A && S();
1161
1222
  },
1162
- onPointerUp: (w) => {
1163
- w.pointerType !== "mouse" && (BA.current = Date.now(), yA && I());
1223
+ onPointerUp: (O) => {
1224
+ O.pointerType !== "mouse" && (GA.current = Date.now(), $A && S());
1164
1225
  },
1165
- children: /* @__PURE__ */ E.jsx("img", { src: It, alt: "", draggable: !1 })
1226
+ children: /* @__PURE__ */ D.jsx("img", { src: Xt, alt: "", draggable: !1 })
1166
1227
  }
1167
1228
  )
1168
1229
  ] }),
1169
- /* @__PURE__ */ E.jsx("div", { className: "export-control", children: /* @__PURE__ */ E.jsx(We, { size: "small", type: "primary", loading: uA, onClick: wA, children: "Export" }) })
1230
+ /* @__PURE__ */ D.jsx("div", { className: "export-control", children: /* @__PURE__ */ D.jsx(It, { size: "small", type: "primary", loading: UA, onClick: zA, children: "Export" }) })
1170
1231
  ] });
1171
1232
  };
1172
- function vt() {
1173
- const g = () => typeof window > "u" ? !1 : typeof navigator < "u" && // maxTouchPoints is the most reliable cross-browser hint.
1174
- (navigator.maxTouchPoints ?? 0) > 0, [s, l] = z(g);
1175
- return Ce(() => {
1233
+ function Zt() {
1234
+ const B = () => typeof window > "u" ? !1 : typeof navigator < "u" && // maxTouchPoints is the most reliable cross-browser hint.
1235
+ (navigator.maxTouchPoints ?? 0) > 0, [s, d] = gA(B);
1236
+ return ye(() => {
1176
1237
  if (typeof window > "u" || typeof window.matchMedia != "function") return;
1177
- const u = window.matchMedia("(pointer: coarse)"), f = () => l(!!u.matches || g());
1178
- return f(), typeof u.addEventListener == "function" ? (u.addEventListener("change", f), () => u.removeEventListener("change", f)) : (u.addListener(f), () => u.removeListener(f));
1238
+ const c = window.matchMedia("(pointer: coarse)"), f = () => d(!!c.matches || B());
1239
+ return f(), typeof c.addEventListener == "function" ? (c.addEventListener("change", f), () => c.removeEventListener("change", f)) : (c.addListener(f), () => c.removeListener(f));
1179
1240
  }, []), s;
1180
1241
  }
1181
- const bt = structuredClone(dt), Qe = 5, Te = ({ item: g, hint: s, isDragging: l }) => /* @__PURE__ */ E.jsxs("div", { className: `footage-card${l ? " is-dragging" : ""}`, children: [
1182
- /* @__PURE__ */ E.jsx("div", { className: "footage-name", children: g.name }),
1183
- g.kind === "video" ? /* @__PURE__ */ E.jsx(
1242
+ const _t = "data:image/png;base64,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", $t = "data:image/png;base64,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", An = "data:image/png;base64,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", ct = () => [
1243
+ { id: "0", actions: [] },
1244
+ { id: "1", actions: [] },
1245
+ { id: "2", actions: [] },
1246
+ { id: "3", actions: [] }
1247
+ ], ze = 5, lt = ({ item: B, hint: s, isDragging: d }) => /* @__PURE__ */ D.jsxs("div", { className: `footage-card${d ? " is-dragging" : ""}`, children: [
1248
+ /* @__PURE__ */ D.jsx("div", { className: "footage-name", children: B.name }),
1249
+ B.kind === "video" ? /* @__PURE__ */ D.jsx(
1184
1250
  "video",
1185
1251
  {
1186
1252
  className: "footage-preview",
1187
- src: g.src,
1253
+ src: B.src,
1188
1254
  muted: !0,
1189
1255
  preload: "metadata",
1190
1256
  draggable: !1,
1191
- onDragStart: (u) => u.preventDefault(),
1257
+ onDragStart: (c) => c.preventDefault(),
1192
1258
  playsInline: !0
1193
1259
  }
1194
- ) : /* @__PURE__ */ E.jsx(
1260
+ ) : /* @__PURE__ */ D.jsx(
1195
1261
  "audio",
1196
1262
  {
1197
1263
  className: "footage-audio",
1198
- src: g.src,
1264
+ src: B.src,
1199
1265
  controls: !0,
1200
1266
  preload: "metadata",
1201
1267
  draggable: !1,
1202
- onDragStart: (u) => u.preventDefault()
1268
+ onDragStart: (c) => c.preventDefault()
1203
1269
  }
1204
1270
  ),
1205
- /* @__PURE__ */ E.jsx("div", { className: "footage-kind", children: s })
1206
- ] }), pt = ({ item: g, hint: s }) => {
1207
- const { attributes: l, listeners: u, setNodeRef: f, transform: I, isDragging: h } = et({
1208
- id: `footage-${g.id}`,
1209
- data: { item: g }
1210
- }), v = I ? {
1211
- transform: `translate3d(${I.x}px, ${I.y}px, 0)`
1271
+ /* @__PURE__ */ D.jsx("div", { className: "footage-kind", children: s })
1272
+ ] }), en = ({ item: B, hint: s }) => {
1273
+ const { attributes: d, listeners: c, setNodeRef: f, transform: Q, isDragging: b } = vt({
1274
+ id: `footage-${B.id}`,
1275
+ data: { item: B }
1276
+ }), y = Q ? {
1277
+ transform: `translate3d(${Q.x}px, ${Q.y}px, 0)`
1212
1278
  } : void 0;
1213
- return /* @__PURE__ */ E.jsx("div", { ref: f, style: v, ...u, ...l, children: /* @__PURE__ */ E.jsx(Te, { item: g, hint: s, isDragging: h }) });
1214
- }, Ft = (g) => String(g ?? "").toLowerCase().match(/\.(mp3|wav|m4a|aac|ogg)(\?|#|$)/) ? "audio" : "video", yt = (g, s) => {
1279
+ return /* @__PURE__ */ D.jsx("div", { ref: f, style: y, ...c, ...d, children: /* @__PURE__ */ D.jsx(lt, { item: B, hint: s, isDragging: b }) });
1280
+ }, tn = (B) => String(B ?? "").toLowerCase().match(/\.(mp3|wav|m4a|aac|ogg)(\?|#|$)/) ? "audio" : "video", nn = (B, s) => {
1215
1281
  try {
1216
- const l = String(g ?? "").split("/").pop() || "";
1217
- return decodeURIComponent(l.split("?")[0].split("#")[0]) || `Footage ${s + 1}`;
1282
+ const d = String(B ?? "").split("/").pop() || "";
1283
+ return decodeURIComponent(d.split("?")[0].split("#")[0]) || `Footage ${s + 1}`;
1218
1284
  } catch {
1219
1285
  return `Footage ${s + 1}`;
1220
1286
  }
1221
- }, xt = ({ footageUrls: g }) => {
1222
- const [s, l] = z(bt), [u, f] = z(null), [I, h] = z([]), [v, m] = z([]), b = j(s), y = vt(), p = j(null), q = j(null), W = j(null), uA = j(!0), K = Oe(() => {
1223
- const A = Array.isArray(g) ? g.filter(Boolean) : [];
1224
- return A.length ? A.map((t, n) => ({
1225
- id: `url-${n}`,
1226
- kind: Ft(t),
1227
- name: yt(t, n),
1228
- src: t,
1287
+ }, gn = ({ footageUrls: B, autoPlaceFootage: s = !1 }) => {
1288
+ const [d, c] = gA(() => ct()), [f, Q] = gA(null), [b, y] = gA([]), [S, L] = gA([]), m = nA(d), W = Zt(), [J, hA] = gA(!1), X = nA(null), lA = nA(null), mA = nA(null), UA = nA(!0), rA = tt(() => {
1289
+ const A = Array.isArray(B) ? B.filter(Boolean) : [];
1290
+ return A.length ? A.map((n, t) => ({
1291
+ id: `url-${t}`,
1292
+ kind: tn(n),
1293
+ name: nn(n, t),
1294
+ src: n,
1229
1295
  defaultDuration: 10
1230
1296
  })) : [];
1231
- }, [g]), [L, Z] = z(null), [S, BA] = z(null), [CA, iA] = z(null), [lA, ie] = z(0), [FA, yA] = z(0), [JA, qA] = z(0), [SA, oA] = z(0), [sA, eA] = z(!1), [UA, wA] = z(null), w = j(null), x = j(null), R = j(null), P = j(null), H = y ? 48 : 32, U = [0, 1], k = [2, 3], IA = ["V1", "V2", "A1", "A2"], dA = (A, t) => {
1232
- if (t.length === 0) return null;
1233
- if (A == null) return t[0];
1234
- let n = t[0], o = Math.abs(A - n);
1235
- for (const r of t) {
1236
- const i = Math.abs(A - r);
1237
- i < o && (n = r, o = i);
1238
- }
1239
- return n;
1240
- }, aA = (A, t) => A ? A.kind === "video" ? dA(t, U) : dA(t, k) : null, NA = (A) => A === U[1] ? k[1] : k[0];
1241
- Ce(() => {
1242
- re.warmFromEditorData(s);
1243
- }, [s]), Ce(() => {
1244
- b.current = s;
1245
- }, [s]), Xe(() => {
1246
- const A = W.current;
1297
+ }, [B]), [cA, _A] = gA(null), [TA, GA] = gA(null), [WA, SA] = gA(null), [HA, Pe] = gA(0), [XA, $A] = gA(0), [FA, NA] = gA(0), [PA, de] = gA(0), [se, LA] = gA(!1), [ae, zA] = gA(null), O = nA(null), $ = nA(null), AA = nA(null), q = nA(null), z = W ? 48 : 32, eA = 30, [aA, xA] = gA(() => Jt), yA = Gt, YA = (A) => {
1298
+ xA((n) => {
1299
+ const t = Math.round(n * A);
1300
+ return Math.min(600, Math.max(60, t));
1301
+ });
1302
+ }, CA = [1, 0], KA = [3, 2], xe = ["V2", "V1", "A2", "A1"], ce = (A, n) => {
1303
+ if (n.length === 0) return null;
1304
+ if (A == null) return n[0];
1305
+ let t = n[0], r = Math.abs(A - t);
1306
+ for (const o of n) {
1307
+ const i = Math.abs(A - o);
1308
+ i < r && (t = o, r = i);
1309
+ }
1310
+ return t;
1311
+ }, qA = (A, n) => A ? A.kind === "video" ? ce(n, CA) : ce(n, KA) : null, wA = (A) => A === CA[1] ? KA[1] : KA[0], ge = (A) => A === KA[1] ? CA[1] : CA[0], OA = (A, n) => {
1312
+ const t = n === "video" ? CA : KA;
1313
+ return ce(A, t) ?? t[0];
1314
+ }, Be = nA(!1);
1315
+ ye(() => {
1316
+ if (!s || Be.current || rA.length === 0 || m.current.some((a) => Array.isArray(a?.actions) && a.actions.length > 0)) return;
1317
+ const t = CA[0], r = wA(t), o = ct();
1318
+ let i = 0;
1319
+ for (const a of rA) {
1320
+ const l = Math.max(0.01, Number(a.defaultDuration ?? 10)), C = i, w = i + l;
1321
+ if (i = w, a.kind === "video") {
1322
+ const I = `link-${EA()}`, N = CA.findIndex((v) => v === t);
1323
+ o[t].actions.push({
1324
+ id: `video-${EA()}`,
1325
+ start: C,
1326
+ end: w,
1327
+ effectId: "effect1",
1328
+ data: {
1329
+ src: a.src,
1330
+ previewSrc: a.previewSrc,
1331
+ name: a.name,
1332
+ linkId: I,
1333
+ videoLayer: N
1334
+ }
1335
+ }), o[r].actions.push({
1336
+ id: `video-audio-${EA()}`,
1337
+ start: C,
1338
+ end: w,
1339
+ effectId: "effect2",
1340
+ data: {
1341
+ src: a.src,
1342
+ name: a.name,
1343
+ linkId: I
1344
+ }
1345
+ });
1346
+ } else
1347
+ o[r].actions.push({
1348
+ id: `audio-${EA()}`,
1349
+ start: C,
1350
+ end: w,
1351
+ effectId: "effect0",
1352
+ data: {
1353
+ src: a.src,
1354
+ name: a.name
1355
+ }
1356
+ });
1357
+ }
1358
+ Q(null), y([]), L([]), c(() => (m.current = o, o)), Be.current = !0;
1359
+ }, [s, rA]), ye(() => {
1360
+ Ue.warmFromEditorData(d);
1361
+ }, [d]), ye(() => {
1362
+ m.current = d;
1363
+ }, [d]), Ct(() => {
1364
+ const A = mA.current;
1247
1365
  if (!A) return;
1248
- const t = () => {
1249
- const o = A.getBoundingClientRect(), r = A.querySelector(".timeline-editor-edit-area");
1250
- if (!r) return;
1251
- const i = r.getBoundingClientRect();
1252
- qA(i.top - o.top), oA(i.left - o.left);
1253
- }, n = requestAnimationFrame(t);
1254
- return window.addEventListener("resize", t), () => {
1255
- cancelAnimationFrame(n), window.removeEventListener("resize", t);
1366
+ const n = () => {
1367
+ const r = A.getBoundingClientRect(), o = A.querySelector(".timeline-editor-edit-area");
1368
+ if (!o) return;
1369
+ const i = o.getBoundingClientRect();
1370
+ NA(i.top - r.top), de(i.left - r.left);
1371
+ }, t = requestAnimationFrame(n);
1372
+ return window.addEventListener("resize", n), () => {
1373
+ cancelAnimationFrame(t), window.removeEventListener("resize", n);
1256
1374
  };
1257
- }, [y, s.length]);
1258
- const GA = (A) => {
1259
- const t = W.current;
1260
- if (!t || !A) return !1;
1261
- const n = t.getBoundingClientRect();
1262
- return A.x >= n.left && A.x <= n.right && A.y >= n.top && A.y <= n.bottom;
1263
- }, WA = j(0), fA = () => globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : `uid-${++WA.current}`, V = j(null), tA = j(null), YA = j(null), TA = 0.9, MA = 1.05, _ = j({ actionId: null, edge: null }), X = j({
1375
+ }, [W, d.length]);
1376
+ const De = (A) => {
1377
+ const n = mA.current;
1378
+ if (!n || !A) return !1;
1379
+ const t = n.getBoundingClientRect();
1380
+ return A.x >= t.left && A.x <= t.right && A.y >= t.top && A.y <= t.bottom;
1381
+ }, qe = nA(0), EA = () => globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : `uid-${++qe.current}`, IA = nA(null), vA = nA(null), Ae = nA(null), he = 0.9, me = 1.05, pA = nA({ actionId: null, edge: null }), tA = nA({
1264
1382
  actionId: null,
1265
1383
  mode: null,
1266
1384
  dir: null,
1267
1385
  basePointerTime: null,
1268
1386
  lastPointerTime: null,
1387
+ basePointerClientY: null,
1388
+ lastPointerClientY: null,
1389
+ initialRowIndex: 0,
1390
+ committedRowIndex: 0,
1391
+ laneCandidateRowIndex: null,
1392
+ laneCandidateSinceMs: 0,
1393
+ laneIntentRowIndex: null,
1269
1394
  initialStart: 0,
1270
1395
  initialEnd: 0,
1271
1396
  takeover: !1
1272
- }), PA = j(!1), LA = (A) => A.map((t) => {
1273
- const n = (t.actions ?? []).map((o) => `${String(o.id)}@${Number(o.start)}-${Number(o.end)}`).join("|");
1274
- return `${String(t.id)}:${n}`;
1275
- }).join("||"), HA = (A) => {
1276
- const t = structuredClone(A);
1277
- h((n) => {
1278
- const o = [...n, t];
1279
- return o.length > Qe && o.splice(0, o.length - Qe), o;
1280
- }), m([]);
1281
- }, jA = (A, t, n, o) => A < o && t > n, QA = (A, t, n, o) => {
1282
- const r = Array.isArray(A?.actions) ? A.actions : [];
1283
- for (const i of r)
1284
- if (!(!i || i.id === t) && jA(n, o, Number(i.start), Number(i.end)))
1397
+ }), uA = nA({
1398
+ actionId: null,
1399
+ partnerId: null,
1400
+ dir: null,
1401
+ baseStart: 0,
1402
+ baseOffset: 0,
1403
+ partnerBaseOffset: 0
1404
+ }), Fe = nA(!1), le = (A) => A.map((n) => {
1405
+ const t = (n.actions ?? []).map((r) => `${String(r.id)}@${Number(r.start)}-${Number(r.end)}`).join("|");
1406
+ return `${String(n.id)}:${t}`;
1407
+ }).join("||"), ee = (A) => {
1408
+ const n = structuredClone(A);
1409
+ y((t) => {
1410
+ const r = [...t, n];
1411
+ return r.length > ze && r.splice(0, r.length - ze), r;
1412
+ }), L([]);
1413
+ }, fe = (A, n, t, r) => A < r && n > t, jA = (A, n, t, r) => {
1414
+ const o = Array.isArray(A?.actions) ? A.actions : [];
1415
+ for (const i of o)
1416
+ if (!(!i || i.id === n) && fe(t, r, Number(i.start), Number(i.end)))
1285
1417
  return !0;
1286
1418
  return !1;
1287
- }, KA = (A, t) => {
1288
- for (let n = 0; n < A.length; n++) {
1289
- const o = A[n], r = Array.isArray(o?.actions) ? o.actions : [];
1290
- for (let i = 0; i < r.length; i++) {
1291
- const a = r[i];
1292
- if (String(a?.id) === t)
1293
- return { rowIndex: n, actionIndex: i, action: a };
1419
+ }, DA = (A, n) => {
1420
+ for (let t = 0; t < A.length; t++) {
1421
+ const r = A[t], o = Array.isArray(r?.actions) ? r.actions : [];
1422
+ for (let i = 0; i < o.length; i++) {
1423
+ const a = o[i];
1424
+ if (String(a?.id) === n)
1425
+ return { rowIndex: t, actionIndex: i, action: a };
1294
1426
  }
1295
1427
  }
1296
1428
  return null;
1297
- }, DA = (A, t) => {
1298
- const n = KA(A, t), o = n?.action?.data?.linkId;
1299
- if (!n || !o) return null;
1300
- for (let r = 0; r < A.length; r++) {
1301
- const i = A[r], a = Array.isArray(i?.actions) ? i.actions : [];
1302
- for (let B = 0; B < a.length; B++) {
1303
- const d = a[B];
1304
- if (d?.data?.linkId && String(d.data.linkId) === String(o) && String(d.id) !== String(t))
1305
- return { rowIndex: r, actionIndex: B, action: d };
1429
+ }, MA = (A, n) => {
1430
+ const t = DA(A, n), r = t?.action?.data?.linkId;
1431
+ if (!t || !r) return null;
1432
+ for (let o = 0; o < A.length; o++) {
1433
+ const i = A[o], a = Array.isArray(i?.actions) ? i.actions : [];
1434
+ for (let l = 0; l < a.length; l++) {
1435
+ const C = a[l];
1436
+ if (C?.data?.linkId && String(C.data.linkId) === String(r) && String(C.id) !== String(n))
1437
+ return { rowIndex: o, actionIndex: l, action: C };
1306
1438
  }
1307
1439
  }
1308
1440
  return null;
1309
- }, oe = (A, t) => {
1310
- const n = KA(A, t);
1311
- if (!n) return A;
1312
- const o = DA(A, t);
1313
- if (!o) return A;
1314
- const r = Number(n.action.start), i = Number(n.action.end);
1315
- if (!Number.isFinite(r) || !Number.isFinite(i) || i <= r || Number(o.action.start) === r && Number(o.action.end) === i) return A;
1316
- const a = structuredClone(A), B = a[o.rowIndex], d = Array.isArray(B.actions) ? [...B.actions] : [], Q = { ...d[o.actionIndex], start: r, end: i };
1317
- return d.splice(o.actionIndex, 1, Q), B.actions = d, a;
1318
- }, XA = (A, t, n, o) => {
1319
- if (!Number.isFinite(n) || !Number.isFinite(o) || o <= n) return A;
1320
- const r = KA(A, t);
1441
+ }, pe = (A, n) => {
1442
+ const t = DA(A, n);
1443
+ if (!t) return A;
1444
+ const r = MA(A, n);
1321
1445
  if (!r) return A;
1322
- const i = DA(A, t);
1446
+ const o = Number(t.action.start), i = Number(t.action.end);
1447
+ if (!Number.isFinite(o) || !Number.isFinite(i) || i <= o || Number(r.action.start) === o && Number(r.action.end) === i) return A;
1448
+ const a = structuredClone(A), l = a[r.rowIndex], C = Array.isArray(l.actions) ? [...l.actions] : [], w = { ...C[r.actionIndex], start: o, end: i };
1449
+ return C.splice(r.actionIndex, 1, w), l.actions = C, a;
1450
+ }, Me = (A, n) => {
1451
+ const t = structuredClone(A);
1452
+ for (; t.length < 4; ) t.push({ id: `${t.length}`, actions: [] });
1453
+ const r = (u) => u && typeof u == "object" ? u : {}, o = (u, R) => {
1454
+ if (!(!u || typeof u != "object"))
1455
+ return u[R];
1456
+ }, i = (u) => String(o(u, "id") ?? ""), a = (u) => String(o(u, "effectId") ?? ""), l = (u) => Number(o(u, "start")), C = (u) => Number(o(u, "end")), w = (u) => o(u, "data"), I = (u) => {
1457
+ if (!u || typeof u != "object") return 0;
1458
+ const R = Number(u.start);
1459
+ return Number.isFinite(R) ? R : 0;
1460
+ }, N = /* @__PURE__ */ new Map(), v = /* @__PURE__ */ new Map();
1461
+ for (let u = 0; u < t.length; u++) {
1462
+ const R = t[u], H = Array.isArray(R?.actions) ? R.actions : [];
1463
+ for (let h = 0; h < H.length; h++) {
1464
+ const U = H[h], k = i(U);
1465
+ if (!k) continue;
1466
+ N.set(k, { rowIndex: u, actionIndex: h, action: U });
1467
+ const T = w(U), Z = o(T, "linkId"), oA = Z != null ? String(Z) : "";
1468
+ if (!oA) continue;
1469
+ const M = v.get(oA) ?? {}, K = a(U);
1470
+ K === "effect1" ? M.video = { rowIndex: u, actionIndex: h, action: U } : K === "effect2" && (M.audio = { rowIndex: u, actionIndex: h, action: U }), v.set(oA, M);
1471
+ }
1472
+ }
1473
+ const F = /* @__PURE__ */ new Map();
1474
+ for (const u of v.values()) {
1475
+ if (!u.video || !u.audio) continue;
1476
+ const R = i(u.video.action), H = i(u.audio.action), h = n && String(n) === H ? "audio" : "video", U = h === "audio" ? ge(OA(u.audio.rowIndex, "audio")) : OA(u.video.rowIndex, "video"), k = wA(U), T = h === "audio" ? u.audio.action : u.video.action, Z = l(T), oA = C(T), M = Number.isFinite(Z) && Number.isFinite(oA) && oA > Z, K = Math.max(0, CA.findIndex((_) => _ === U));
1477
+ F.set(R, {
1478
+ targetRowIndex: U,
1479
+ patchStartEnd: M ? { start: Z, end: oA } : void 0,
1480
+ patchVideoLayer: K
1481
+ }), F.set(H, {
1482
+ targetRowIndex: k,
1483
+ patchStartEnd: M ? { start: Z, end: oA } : void 0
1484
+ });
1485
+ }
1486
+ for (const [u, R] of N.entries()) {
1487
+ if (F.has(u)) continue;
1488
+ const H = a(R.action);
1489
+ if (H === "effect1") {
1490
+ const h = OA(R.rowIndex, "video"), U = Math.max(0, CA.findIndex((k) => k === h));
1491
+ F.set(u, { targetRowIndex: h, patchVideoLayer: U });
1492
+ } else if (H === "effect0" || H === "effect2") {
1493
+ const h = OA(R.rowIndex, "audio");
1494
+ F.set(u, { targetRowIndex: h });
1495
+ }
1496
+ }
1497
+ const Y = t.map((u) => ({ ...u, actions: [] }));
1498
+ let P = !1;
1499
+ for (let u = 0; u < t.length; u++) {
1500
+ const R = t[u], H = Array.isArray(R?.actions) ? R.actions : [];
1501
+ for (const h of H) {
1502
+ const U = h, k = i(U);
1503
+ if (!k) continue;
1504
+ const T = F.get(k), Z = T ? T.targetRowIndex : u, oA = Y[Z] ?? Y[u];
1505
+ let M = U;
1506
+ if (T?.patchStartEnd) {
1507
+ const K = T.patchStartEnd.start, _ = T.patchStartEnd.end;
1508
+ (l(M) !== K || C(M) !== _) && (M = { ...r(M), start: K, end: _ }, P = !0);
1509
+ }
1510
+ if (T?.patchVideoLayer != null && a(M) === "effect1") {
1511
+ const K = Number(o(w(M), "videoLayer"));
1512
+ if (!Number.isFinite(K) || K !== T.patchVideoLayer) {
1513
+ const _ = { ...r(w(M)), videoLayer: T.patchVideoLayer };
1514
+ M = { ...r(M), data: _ }, P = !0;
1515
+ }
1516
+ }
1517
+ Z !== u && (P = !0), oA.actions.push(M);
1518
+ }
1519
+ }
1520
+ for (const u of Y) {
1521
+ const R = Array.isArray(u.actions) ? [...u.actions] : [];
1522
+ R.sort((H, h) => I(H) - I(h)), u.actions = R;
1523
+ }
1524
+ return P ? Y : A;
1525
+ }, kA = (A, n, t, r) => {
1526
+ if (!Number.isFinite(t) || !Number.isFinite(r) || r <= t) return A;
1527
+ const o = DA(A, n);
1528
+ if (!o) return A;
1529
+ const i = MA(A, n);
1323
1530
  if (!i) return A;
1324
- const a = structuredClone(A), B = a[r.rowIndex], d = Array.isArray(B.actions) ? [...B.actions] : [], Q = { ...d[r.actionIndex], start: n, end: o };
1325
- d.splice(r.actionIndex, 1, Q), B.actions = d;
1326
- const C = a[i.rowIndex], F = Array.isArray(C.actions) ? [...C.actions] : [], D = { ...F[i.actionIndex], start: n, end: o };
1327
- return F.splice(i.actionIndex, 1, D), C.actions = F, a;
1328
- }, zA = (A, t, n, o) => {
1329
- if (!Number.isFinite(n) || !Number.isFinite(o) || o <= n) return A;
1330
- const r = KA(A, t);
1331
- if (!r) return A;
1332
- const i = Number(r.action.start), a = Number(r.action.end);
1333
- if (i === n && a === o) return A;
1334
- const B = structuredClone(A), d = B[r.rowIndex], Q = Array.isArray(d.actions) ? [...d.actions] : [], C = { ...Q[r.actionIndex], start: n, end: o };
1335
- return Q.splice(r.actionIndex, 1, C), d.actions = Q, B;
1336
- }, ZA = () => {
1337
- const A = p.current?.getTime ? Number(p.current.getTime()) : 0;
1531
+ const a = structuredClone(A), l = a[o.rowIndex], C = Array.isArray(l.actions) ? [...l.actions] : [], w = { ...C[o.actionIndex], start: t, end: r };
1532
+ C.splice(o.actionIndex, 1, w), l.actions = C;
1533
+ const I = a[i.rowIndex], N = Array.isArray(I.actions) ? [...I.actions] : [], v = { ...N[i.actionIndex], start: t, end: r };
1534
+ return N.splice(i.actionIndex, 1, v), I.actions = N, a;
1535
+ }, te = (A, n, t, r) => {
1536
+ if (!Number.isFinite(t) || !Number.isFinite(r) || r <= t) return A;
1537
+ const o = DA(A, n);
1538
+ if (!o) return A;
1539
+ const i = Number(o.action.start), a = Number(o.action.end);
1540
+ if (i === t && a === r) return A;
1541
+ const l = structuredClone(A), C = l[o.rowIndex], w = Array.isArray(C.actions) ? [...C.actions] : [], I = { ...w[o.actionIndex], start: t, end: r };
1542
+ return w.splice(o.actionIndex, 1, I), C.actions = w, l;
1543
+ }, Ce = () => {
1544
+ const A = X.current?.getTime ? Number(X.current.getTime()) : 0;
1338
1545
  return Number.isFinite(A) ? Math.max(0, A) : 0;
1339
- }, _A = (A, t, n) => {
1340
- const o = ZA(), r = n - t;
1341
- if (!Number.isFinite(r) || r <= 0)
1342
- return { start: t, end: n, snapped: !1, edge: null };
1343
- const i = Math.abs(t - o), a = Math.abs(n - o), B = i <= a ? "start" : "end", d = Math.min(i, a), Q = _.current;
1344
- if (Q.actionId === A && Q.edge != null) {
1345
- if ((Q.edge === "start" ? i : a) > MA)
1346
- return _.current = { actionId: A, edge: null }, { start: t, end: n, snapped: !1, edge: null };
1546
+ }, Re = (A, n, t) => {
1547
+ const r = Ce(), o = t - n;
1548
+ if (!Number.isFinite(o) || o <= 0)
1549
+ return { start: n, end: t, snapped: !1, edge: null };
1550
+ const i = Math.abs(n - r), a = Math.abs(t - r), l = i <= a ? "start" : "end", C = Math.min(i, a), w = pA.current;
1551
+ if (w.actionId === A && w.edge != null) {
1552
+ if ((w.edge === "start" ? i : a) > me)
1553
+ return pA.current = { actionId: A, edge: null }, { start: n, end: t, snapped: !1, edge: null };
1347
1554
  } else {
1348
- if (d > TA)
1349
- return { start: t, end: n, snapped: !1, edge: null };
1350
- _.current = { actionId: A, edge: B };
1351
- }
1352
- const D = _.current.edge;
1353
- if (D === "start") {
1354
- const M = o, Y = M + r;
1355
- return { start: Math.max(0, M), end: Math.max(Math.max(0, M), Y), snapped: !0, edge: D };
1356
- }
1357
- const N = o, O = N - r;
1358
- return { start: Math.max(0, O), end: Math.max(0, N), snapped: !0, edge: D };
1359
- }, se = (A, t, n, o) => {
1360
- const r = ZA(), i = o === "left" ? "start" : "end", a = Math.abs(i === "start" ? t - r : n - r), B = _.current;
1361
- if (B.actionId === A && B.edge === i) {
1362
- if (a > MA)
1363
- return _.current = { actionId: A, edge: null }, { start: t, end: n, snapped: !1 };
1555
+ if (C > he)
1556
+ return { start: n, end: t, snapped: !1, edge: null };
1557
+ pA.current = { actionId: A, edge: l };
1558
+ }
1559
+ const v = pA.current.edge;
1560
+ if (v === "start") {
1561
+ const P = r, u = P + o;
1562
+ return { start: Math.max(0, P), end: Math.max(Math.max(0, P), u), snapped: !0, edge: v };
1563
+ }
1564
+ const F = r, Y = F - o;
1565
+ return { start: Math.max(0, Y), end: Math.max(0, F), snapped: !0, edge: v };
1566
+ }, ke = (A, n, t, r) => {
1567
+ const o = Ce(), i = r === "left" ? "start" : "end", a = Math.abs(i === "start" ? n - o : t - o), l = pA.current;
1568
+ if (l.actionId === A && l.edge === i) {
1569
+ if (a > me)
1570
+ return pA.current = { actionId: A, edge: null }, { start: n, end: t, snapped: !1 };
1364
1571
  } else {
1365
- if (a > TA)
1366
- return { start: t, end: n, snapped: !1 };
1367
- _.current = { actionId: A, edge: i };
1572
+ if (a > he)
1573
+ return { start: n, end: t, snapped: !1 };
1574
+ pA.current = { actionId: A, edge: i };
1368
1575
  }
1369
1576
  if (i === "start") {
1370
- const D = Math.max(0, r), N = Math.max(D + 0.01, n);
1371
- return { start: D, end: N, snapped: !0 };
1577
+ const v = Math.max(0, o), F = Math.max(v + 0.01, t);
1578
+ return { start: v, end: F, snapped: !0 };
1372
1579
  }
1373
- const C = Math.max(0, r), F = Math.min(t, C - 0.01);
1374
- return { start: Math.max(0, F), end: C, snapped: !0 };
1375
- }, we = (A, t, n) => {
1376
- const o = A.defaultDuration ?? 10;
1377
- let r = Math.max(0, t), i = r + o;
1378
- const a = p.current;
1379
- a?.isPlaying && a.pause(), l((B) => {
1380
- HA(B);
1381
- const d = structuredClone(B);
1382
- for (; d.length < 4; ) d.push({ id: `${d.length}`, actions: [] });
1383
- const Q = Number.isFinite(Number(n)) ? Number(n) : null, C = dA(Q, U) ?? U[0], F = dA(Q, k) ?? k[0], D = (N) => {
1384
- const O = [];
1385
- for (const M of N) {
1386
- const Y = Array.isArray(d[M]?.actions) ? d[M].actions : [];
1387
- for (const $ of Y) {
1388
- const EA = Number($?.start), mA = Number($?.end);
1389
- !Number.isFinite(EA) || !Number.isFinite(mA) || O.push({ start: EA, end: mA });
1580
+ const I = Math.max(0, o), N = Math.min(n, I - 0.01);
1581
+ return { start: Math.max(0, N), end: I, snapped: !0 };
1582
+ }, Je = (A, n, t) => {
1583
+ const r = A.defaultDuration ?? 10;
1584
+ let o = Math.max(0, n), i = o + r;
1585
+ const a = X.current;
1586
+ a?.isPlaying && a.pause(), c((l) => {
1587
+ ee(l);
1588
+ const C = structuredClone(l);
1589
+ for (; C.length < 4; ) C.push({ id: `${C.length}`, actions: [] });
1590
+ const w = Number.isFinite(Number(t)) ? Number(t) : null, I = ce(w, CA) ?? CA[0], N = ce(w, KA) ?? KA[0], v = (F) => {
1591
+ const Y = [];
1592
+ for (const P of F) {
1593
+ const u = Array.isArray(C[P]?.actions) ? C[P].actions : [];
1594
+ for (const R of u) {
1595
+ const H = Number(R?.start), h = Number(R?.end);
1596
+ !Number.isFinite(H) || !Number.isFinite(h) || Y.push({ start: H, end: h });
1390
1597
  }
1391
1598
  }
1392
- O.sort((M, Y) => M.start - Y.start);
1393
- for (const M of O)
1394
- jA(r, i, M.start, M.end) && (r = M.end, i = r + o);
1599
+ Y.sort((P, u) => P.start - u.start);
1600
+ for (const P of Y)
1601
+ fe(o, i, P.start, P.end) && (o = P.end, i = o + r);
1395
1602
  };
1396
1603
  if (A.kind === "video") {
1397
- const N = C, O = NA(N);
1398
- D([N, O]);
1399
- const M = `link-${fA()}`, Y = `video-${fA()}`, $ = `video-audio-${fA()}`;
1400
- d[N].actions = [
1401
- ...d[N].actions ?? [],
1604
+ const F = I, Y = wA(F);
1605
+ v([F, Y]);
1606
+ const P = `link-${EA()}`, u = `video-${EA()}`, R = `video-audio-${EA()}`, H = CA.findIndex((h) => h === F);
1607
+ C[F].actions = [
1608
+ ...C[F].actions ?? [],
1402
1609
  {
1403
- id: Y,
1404
- start: r,
1610
+ id: u,
1611
+ start: o,
1405
1612
  end: i,
1406
1613
  effectId: "effect1",
1407
- data: { src: A.src, previewSrc: A.previewSrc, name: A.name, linkId: M }
1614
+ data: { src: A.src, previewSrc: A.previewSrc, name: A.name, linkId: P, videoLayer: H }
1408
1615
  }
1409
- ], d[O].actions = [
1410
- ...d[O].actions ?? [],
1616
+ ], C[Y].actions = [
1617
+ ...C[Y].actions ?? [],
1411
1618
  {
1412
- id: $,
1413
- start: r,
1619
+ id: R,
1620
+ start: o,
1414
1621
  end: i,
1415
1622
  effectId: "effect2",
1416
- data: { src: A.src, name: A.name, linkId: M }
1623
+ data: { src: A.src, name: A.name, linkId: P }
1417
1624
  }
1418
1625
  ];
1419
1626
  } else {
1420
- const N = F;
1421
- D([N]), d[N].actions = [
1422
- ...d[N].actions ?? [],
1627
+ const F = N;
1628
+ v([F]), C[F].actions = [
1629
+ ...C[F].actions ?? [],
1423
1630
  {
1424
- id: `audio-${fA()}`,
1425
- start: r,
1631
+ id: `audio-${EA()}`,
1632
+ start: o,
1426
1633
  end: i,
1427
1634
  effectId: "effect0",
1428
1635
  data: { src: A.src, name: A.name }
1429
1636
  }
1430
1637
  ];
1431
1638
  }
1432
- return d;
1639
+ return C;
1433
1640
  });
1434
- }, Ie = () => {
1435
- const A = W.current;
1641
+ }, Ve = () => {
1642
+ const A = mA.current;
1436
1643
  return A ? A.querySelector(".timeline-editor-edit-area .ReactVirtualized__Grid")?.scrollLeft ?? 0 : 0;
1437
- }, De = () => lA, kA = (A) => {
1438
- const t = W.current;
1439
- if (!t) return 0;
1440
- const o = (t.querySelector(".timeline-editor-edit-area") ?? t).getBoundingClientRect(), a = (A - o.x + Ie() - Ee) * ne / te;
1644
+ }, Ge = () => HA, ne = (A) => {
1645
+ const n = mA.current;
1646
+ if (!n) return 0;
1647
+ const r = (n.querySelector(".timeline-editor-edit-area") ?? n).getBoundingClientRect(), a = (A - r.x + Ve() - eA) * yA / aA;
1441
1648
  return Math.max(0, a);
1442
- }, he = (A) => {
1443
- const t = Number(A);
1444
- return Number.isFinite(t) ? Ee + t * te / ne : 0;
1445
- }, me = (A, t, n, o) => {
1446
- const r = A.defaultDuration ?? 10;
1447
- let i = Math.max(0, t), a = i + r;
1448
- const B = [];
1649
+ }, Le = (A) => {
1650
+ const n = Number(A);
1651
+ return Number.isFinite(n) ? eA + n * aA / yA : 0;
1652
+ }, Ze = (A, n, t, r) => {
1653
+ const o = A.defaultDuration ?? 10;
1654
+ let i = Math.max(0, n), a = i + o;
1655
+ const l = [];
1449
1656
  if (A.kind === "video") {
1450
- const Q = n, C = NA(Q);
1451
- B.push(Q, C);
1657
+ const w = t, I = wA(w);
1658
+ l.push(w, I);
1452
1659
  } else
1453
- B.push(n);
1454
- const d = [];
1455
- for (const Q of B) {
1456
- const C = Array.isArray(o[Q]?.actions) ? o[Q].actions : [];
1457
- for (const F of C) {
1458
- const D = Number(F?.start), N = Number(F?.end);
1459
- !Number.isFinite(D) || !Number.isFinite(N) || d.push({ start: D, end: N });
1660
+ l.push(t);
1661
+ const C = [];
1662
+ for (const w of l) {
1663
+ const I = Array.isArray(r[w]?.actions) ? r[w].actions : [];
1664
+ for (const N of I) {
1665
+ const v = Number(N?.start), F = Number(N?.end);
1666
+ !Number.isFinite(v) || !Number.isFinite(F) || C.push({ start: v, end: F });
1460
1667
  }
1461
1668
  }
1462
- d.sort((Q, C) => Q.start - C.start);
1463
- for (const Q of d)
1464
- jA(i, a, Q.start, Q.end) && (i = Q.end, a = i + r);
1669
+ C.sort((w, I) => w.start - I.start);
1670
+ for (const w of C)
1671
+ fe(i, a, w.start, w.end) && (i = w.end, a = i + o);
1465
1672
  return Math.max(0, i);
1466
- }, OA = (A) => {
1467
- const t = W.current;
1468
- if (!t) return null;
1469
- const n = t.querySelector(".timeline-editor-edit-area");
1673
+ }, re = (A) => {
1674
+ const n = mA.current;
1470
1675
  if (!n) return null;
1471
- const o = n.getBoundingClientRect(), r = A - o.y;
1472
- if (r < 0 || r > o.height) return null;
1473
- const i = r + De(), a = Math.floor(i / H);
1676
+ const t = n.querySelector(".timeline-editor-edit-area");
1677
+ if (!t) return null;
1678
+ const r = t.getBoundingClientRect(), o = A - r.y;
1679
+ if (o < 0 || o > r.height) return null;
1680
+ const i = o + Ge(), a = Math.floor(i / z);
1474
1681
  if (!Number.isFinite(a)) return null;
1475
- const B = Math.max(0, b.current.length - 1);
1476
- return Math.min(Math.max(0, a), B);
1477
- }, ae = (A) => {
1682
+ const l = Math.max(0, m.current.length - 1);
1683
+ return Math.min(Math.max(0, a), l);
1684
+ }, Ye = (A) => {
1478
1685
  if (!A) return null;
1479
1686
  if ("clientX" in A && "clientY" in A) {
1480
- const r = Number(A.clientX), i = Number(A.clientY);
1481
- if (Number.isFinite(r) && Number.isFinite(i)) return { x: r, y: i };
1687
+ const o = Number(A.clientX), i = Number(A.clientY);
1688
+ if (Number.isFinite(o) && Number.isFinite(i)) return { x: o, y: i };
1482
1689
  }
1483
- const t = A.touches, n = A.changedTouches, o = (t && t.length ? t[0] : null) || (n && n.length ? n[0] : null);
1484
- if (o) {
1485
- const r = Number(o.clientX), i = Number(o.clientY);
1486
- if (Number.isFinite(r) && Number.isFinite(i)) return { x: r, y: i };
1690
+ const n = A.touches, t = A.changedTouches, r = (n && n.length ? n[0] : null) || (t && t.length ? t[0] : null);
1691
+ if (r) {
1692
+ const o = Number(r.clientX), i = Number(r.clientY);
1693
+ if (Number.isFinite(o) && Number.isFinite(i)) return { x: o, y: i };
1487
1694
  }
1488
1695
  return null;
1489
- }, cA = () => {
1490
- if (PA.current) return;
1491
- PA.current = !0;
1492
- const A = (n) => {
1493
- const o = X.current;
1494
- if (!o.actionId || !o.mode || n.isPrimary === !1) return;
1495
- const r = kA(n.clientX);
1496
- o.basePointerTime == null && (o.basePointerTime = r), o.lastPointerTime = r;
1497
- }, t = () => {
1498
- X.current = {
1499
- actionId: null,
1500
- mode: null,
1501
- dir: null,
1502
- basePointerTime: null,
1503
- lastPointerTime: null,
1504
- initialStart: 0,
1505
- initialEnd: 0,
1506
- takeover: !1
1507
- }, _.current = { actionId: null, edge: null };
1696
+ }, Ee = () => {
1697
+ if (Fe.current) return;
1698
+ Fe.current = !0;
1699
+ const A = (t) => {
1700
+ const r = tA.current;
1701
+ if (!r.actionId || !r.mode || t.isPrimary === !1) return;
1702
+ const o = ne(t.clientX);
1703
+ r.basePointerTime == null && (r.basePointerTime = o), r.lastPointerTime = o, r.basePointerClientY == null && (r.basePointerClientY = t.clientY), r.lastPointerClientY = t.clientY;
1704
+ }, n = () => {
1705
+ const t = {
1706
+ actionId: tA.current.actionId,
1707
+ mode: tA.current.mode
1708
+ };
1709
+ requestAnimationFrame(() => {
1710
+ tA.current.actionId === t.actionId && tA.current.mode === t.mode && (tA.current = {
1711
+ actionId: null,
1712
+ mode: null,
1713
+ dir: null,
1714
+ basePointerTime: null,
1715
+ lastPointerTime: null,
1716
+ basePointerClientY: null,
1717
+ lastPointerClientY: null,
1718
+ initialRowIndex: 0,
1719
+ committedRowIndex: 0,
1720
+ laneCandidateRowIndex: null,
1721
+ laneCandidateSinceMs: 0,
1722
+ laneIntentRowIndex: null,
1723
+ initialStart: 0,
1724
+ initialEnd: 0,
1725
+ takeover: !1
1726
+ }, pA.current = { actionId: null, edge: null });
1727
+ });
1728
+ };
1729
+ window.addEventListener("pointermove", A, { capture: !0 }), window.addEventListener("pointerup", n, { capture: !0 }), window.addEventListener("pointercancel", n, { capture: !0 }), tA.current._removePointerListeners = () => {
1730
+ window.removeEventListener("pointermove", A, { capture: !0 }), window.removeEventListener("pointerup", n, { capture: !0 }), window.removeEventListener("pointercancel", n, { capture: !0 }), Fe.current = !1;
1731
+ };
1732
+ }, Ke = () => {
1733
+ const A = tA.current?._removePointerListeners;
1734
+ A?.(), delete tA.current._removePointerListeners;
1735
+ }, Oe = nA(!1), ve = (A) => {
1736
+ const n = Number(A?.data?.offset ?? 0);
1737
+ return Number.isFinite(n) ? n : 0;
1738
+ }, e = (A, n, t) => {
1739
+ const r = DA(A, n);
1740
+ if (!r) return A;
1741
+ const o = Math.max(0, Number.isFinite(t) ? t : 0);
1742
+ if (ve(r.action) === o) return A;
1743
+ const a = structuredClone(A), l = a[r.rowIndex], C = Array.isArray(l.actions) ? [...l.actions] : [], w = {
1744
+ ...C[r.actionIndex],
1745
+ data: { ...C[r.actionIndex]?.data ?? {}, offset: o }
1746
+ };
1747
+ return C.splice(r.actionIndex, 1, w), l.actions = C, a;
1748
+ }, g = (A, n, t, r) => {
1749
+ const o = DA(A, n);
1750
+ if (!o) return A;
1751
+ const i = MA(A, n);
1752
+ if (!i) return e(A, n, t);
1753
+ const a = Math.max(0, Number.isFinite(t) ? t : 0), l = Math.max(0, Number.isFinite(Number(r)) ? Number(r) : a), C = structuredClone(A), w = C[o.rowIndex], I = Array.isArray(w.actions) ? [...w.actions] : [], N = {
1754
+ ...I[o.actionIndex],
1755
+ data: { ...I[o.actionIndex]?.data ?? {}, offset: a }
1756
+ };
1757
+ I.splice(o.actionIndex, 1, N), w.actions = I;
1758
+ const v = C[i.rowIndex], F = Array.isArray(v.actions) ? [...v.actions] : [], Y = {
1759
+ ...F[i.actionIndex],
1760
+ data: { ...F[i.actionIndex]?.data ?? {}, offset: l }
1508
1761
  };
1509
- window.addEventListener("pointermove", A, { capture: !0 }), window.addEventListener("pointerup", t, { capture: !0 }), window.addEventListener("pointercancel", t, { capture: !0 }), X.current._removePointerListeners = () => {
1510
- window.removeEventListener("pointermove", A, { capture: !0 }), window.removeEventListener("pointerup", t, { capture: !0 }), window.removeEventListener("pointercancel", t, { capture: !0 }), PA.current = !1;
1762
+ return F.splice(i.actionIndex, 1, Y), v.actions = F, C;
1763
+ }, [E, p] = gA(null), j = (A, n, t) => {
1764
+ const r = DA(A, n);
1765
+ if (!r) return A;
1766
+ const i = String(r.action?.effectId ?? "") === "effect1" ? "video" : "audio", a = OA(t, i), l = MA(A, n), C = !!l, w = /* @__PURE__ */ new Set([String(n)]);
1767
+ l && w.add(String(l.action.id));
1768
+ const I = Number(r.action?.start), N = Number(r.action?.end);
1769
+ if (!Number.isFinite(I) || !Number.isFinite(N) || N <= I) return A;
1770
+ const v = (h, U, k) => {
1771
+ const T = Array.isArray(h?.actions) ? h.actions : [];
1772
+ for (const Z of T) {
1773
+ const oA = String(Z?.id ?? "");
1774
+ if (!(oA && w.has(oA)) && fe(U, k, Number(Z?.start), Number(Z?.end)))
1775
+ return !1;
1776
+ }
1777
+ return !0;
1778
+ };
1779
+ let F = null, Y = null;
1780
+ if (C && (i === "video" ? (F = a, Y = wA(F)) : (Y = a, F = ge(Y))), i === "video") {
1781
+ if (!v(A[a], I, N)) return A;
1782
+ } else if (!v(A[a], I, N)) return A;
1783
+ if (F != null && !v(A[F], I, N) || Y != null && !v(A[Y], I, N) || !C && r.rowIndex === a) return A;
1784
+ if (C && i === "video" && r.rowIndex === F) {
1785
+ const h = l ? DA(A, String(l.action.id)) : null;
1786
+ if (h && h.rowIndex === Y) return A;
1787
+ }
1788
+ if (C && i === "audio" && r.rowIndex === Y) {
1789
+ const h = l ? DA(A, String(l.action.id)) : null;
1790
+ if (h && h.rowIndex === F) return A;
1791
+ }
1792
+ const P = structuredClone(A);
1793
+ for (; P.length < 4; ) P.push({ id: `${P.length}`, actions: [] });
1794
+ const u = (h, U) => {
1795
+ const k = Array.isArray(h.actions) ? h.actions : [];
1796
+ h.actions = k.filter((T) => String(T?.id ?? "") !== U);
1797
+ }, R = (h, U) => {
1798
+ const k = P[h];
1799
+ k.actions = [...k.actions ?? [], U], k.actions.sort((T, Z) => Number(T.start) - Number(Z.start));
1511
1800
  };
1512
- }, VA = () => {
1513
- const A = X.current?._removePointerListeners;
1514
- A?.(), delete X.current._removePointerListeners;
1515
- }, $A = (A) => A.map((t) => ({
1516
- ...t,
1801
+ u(P[r.rowIndex], String(n));
1802
+ let H = r.action;
1803
+ if (i === "video") {
1804
+ const h = Math.max(0, CA.findIndex((U) => U === a));
1805
+ H = {
1806
+ ...H,
1807
+ data: { ...H.data ?? {}, videoLayer: h }
1808
+ };
1809
+ }
1810
+ if (R(a, H), l && F != null && Y != null) {
1811
+ const h = DA(A, String(l.action.id));
1812
+ if (h) {
1813
+ u(P[h.rowIndex], String(l.action.id));
1814
+ const U = i === "video" ? Y : F;
1815
+ let k = h.action;
1816
+ if (String(k?.effectId ?? "") === "effect1") {
1817
+ const Z = Math.max(0, CA.findIndex((oA) => oA === U));
1818
+ k = { ...k, data: { ...k.data ?? {}, videoLayer: Z } };
1819
+ }
1820
+ R(U, k);
1821
+ }
1822
+ }
1823
+ return P;
1824
+ }, V = (A) => A.map((n) => ({
1825
+ ...n,
1517
1826
  selected: void 0,
1518
- actions: (t.actions ?? []).map((n) => ({ ...n, selected: void 0 }))
1519
- })), ce = Oe(() => s.map((A, t) => {
1520
- const n = u ? (A.actions ?? []).some((a) => String(a.id) === u) : !1, o = L != null && CA != null && t === CA, r = Array.isArray(A.classNames) ? A.classNames : [], i = o ? [...r, "dnd-drop-hover"] : r;
1827
+ actions: (n.actions ?? []).map((t) => ({ ...t, selected: void 0 }))
1828
+ })), G = tt(() => d.map((A, n) => {
1829
+ const t = f ? (A.actions ?? []).some((a) => String(a.id) === f) : !1, r = cA != null && WA != null && n === WA, o = Array.isArray(A.classNames) ? A.classNames : [], i = r ? [...o, "dnd-drop-hover"] : o;
1521
1830
  return {
1522
1831
  ...A,
1523
1832
  classNames: i,
1524
- selected: n,
1833
+ selected: t,
1525
1834
  actions: (A.actions ?? []).map((a) => ({
1526
1835
  ...a,
1527
- selected: u ? String(a.id) === u : !1
1836
+ selected: f ? String(a.id) === f : !1
1528
1837
  }))
1529
1838
  };
1530
- }), [s, u, L, CA]), ve = () => {
1531
- if (!u) return;
1532
- const A = p.current;
1533
- A?.isPlaying && A.pause(), l((t) => {
1534
- HA(t);
1535
- let n = null;
1536
- for (const r of t) {
1537
- const i = Array.isArray(r?.actions) ? r.actions : [];
1839
+ }), [d, f, cA, WA]), x = () => {
1840
+ if (!f) return;
1841
+ const A = X.current;
1842
+ A?.isPlaying && A.pause(), c((n) => {
1843
+ ee(n);
1844
+ let t = null;
1845
+ for (const o of n) {
1846
+ const i = Array.isArray(o?.actions) ? o.actions : [];
1538
1847
  for (const a of i) {
1539
- if (String(a?.id) !== u) continue;
1540
- const B = a?.data?.linkId;
1541
- B != null && (n = String(B));
1848
+ if (String(a?.id) !== f) continue;
1849
+ const l = a?.data?.linkId;
1850
+ l != null && (t = String(l));
1542
1851
  break;
1543
1852
  }
1544
- if (n != null) break;
1853
+ if (t != null) break;
1545
1854
  }
1546
- return t.map((r) => ({
1547
- ...r,
1548
- actions: (r.actions ?? []).filter((i) => !(String(i?.id) === u || n && String(i?.data?.linkId ?? "") === n))
1855
+ return n.map((o) => ({
1856
+ ...o,
1857
+ actions: (o.actions ?? []).filter((i) => !(String(i?.id) === f || t && String(i?.data?.linkId ?? "") === t))
1549
1858
  }));
1550
- }), f(null);
1551
- }, ge = () => {
1552
- if (!u) return;
1553
- const A = p.current, t = A?.getTime ? A.getTime() : null;
1554
- if (t == null) return;
1555
- const n = Number(t);
1556
- Number.isFinite(n) && (A?.isPlaying && A.pause(), V.current = null, tA.current = null, l((o) => {
1557
- let r = -1, i = -1, a = null;
1558
- for (let T = 0; T < o.length; T++) {
1559
- const J = o[T], nA = Array.isArray(J?.actions) ? J.actions : [];
1560
- for (let AA = 0; AA < nA.length; AA++) {
1561
- const RA = nA[AA];
1562
- if (String(RA?.id) === u) {
1563
- r = T, i = AA, a = RA;
1859
+ }), Q(null);
1860
+ }, dA = () => {
1861
+ if (!f) return;
1862
+ const A = X.current, n = A?.getTime ? A.getTime() : null;
1863
+ if (n == null) return;
1864
+ const t = Number(n);
1865
+ Number.isFinite(t) && (A?.isPlaying && A.pause(), IA.current = null, vA.current = null, c((r) => {
1866
+ let o = -1, i = -1, a = null;
1867
+ for (let M = 0; M < r.length; M++) {
1868
+ const K = r[M], _ = Array.isArray(K?.actions) ? K.actions : [];
1869
+ for (let BA = 0; BA < _.length; BA++) {
1870
+ const fA = _[BA];
1871
+ if (String(fA?.id) === f) {
1872
+ o = M, i = BA, a = fA;
1564
1873
  break;
1565
1874
  }
1566
1875
  }
1567
1876
  if (a) break;
1568
1877
  }
1569
- if (!a) return o;
1570
- const B = a?.data?.linkId ? String(a.data.linkId) : null;
1571
- let d = -1, Q = -1, C = null;
1572
- if (B)
1573
- for (let T = 0; T < o.length; T++) {
1574
- const J = o[T], nA = Array.isArray(J?.actions) ? J.actions : [];
1575
- for (let AA = 0; AA < nA.length; AA++) {
1576
- const RA = nA[AA];
1577
- if (String(RA?.id) !== u && String(RA?.data?.linkId ?? "") === B) {
1578
- d = T, Q = AA, C = RA;
1878
+ if (!a) return r;
1879
+ const l = a?.data?.linkId ? String(a.data.linkId) : null;
1880
+ let C = -1, w = -1, I = null;
1881
+ if (l)
1882
+ for (let M = 0; M < r.length; M++) {
1883
+ const K = r[M], _ = Array.isArray(K?.actions) ? K.actions : [];
1884
+ for (let BA = 0; BA < _.length; BA++) {
1885
+ const fA = _[BA];
1886
+ if (String(fA?.id) !== f && String(fA?.data?.linkId ?? "") === l) {
1887
+ C = M, w = BA, I = fA;
1579
1888
  break;
1580
1889
  }
1581
1890
  }
1582
- if (C) break;
1891
+ if (I) break;
1583
1892
  }
1584
- const F = Number(a.start), D = Number(a.end);
1585
- if (!Number.isFinite(F) || !Number.isFinite(D) || !(F < n && n < D)) return o;
1586
- HA(o);
1587
- const N = B && C ? `link-${fA()}` : B, O = B && C ? `link-${fA()}` : B, M = `${String(a.id)}-r-${fA()}`, Y = Number(a?.data?.offset ?? 0), $ = Number.isFinite(Y) ? Y : 0, EA = n - F, mA = $ + (Number.isFinite(EA) ? EA : 0), xA = {
1893
+ const N = Number(a.start), v = Number(a.end);
1894
+ if (!Number.isFinite(N) || !Number.isFinite(v) || !(N < t && t < v)) return r;
1895
+ ee(r);
1896
+ const F = l && I ? `link-${EA()}` : l, Y = l && I ? `link-${EA()}` : l, P = `${String(a.id)}-r-${EA()}`, u = Number(a?.data?.offset ?? 0), R = Number.isFinite(u) ? u : 0, H = t - N, h = R + (Number.isFinite(H) ? H : 0), U = {
1588
1897
  ...a,
1589
- start: F,
1590
- end: n,
1898
+ start: N,
1899
+ end: t,
1591
1900
  id: a.id,
1592
- data: { ...a.data, offset: $, linkId: N ?? void 0 }
1593
- }, vA = {
1901
+ data: { ...a.data, offset: R, linkId: F ?? void 0 }
1902
+ }, k = {
1594
1903
  ...a,
1595
- start: n,
1596
- end: D,
1597
- id: M,
1598
- data: { ...a.data, offset: mA, linkId: O ?? void 0 }
1599
- }, bA = structuredClone(o), gA = bA[r], pA = Array.isArray(gA.actions) ? [...gA.actions] : [];
1600
- if (pA.splice(i, 1, xA, vA), pA.sort((T, J) => Number(T.start) - Number(J.start)), gA.actions = pA, C && d >= 0 && Q >= 0) {
1601
- const T = Number(C.start), J = Number(C.end);
1602
- if (Number.isFinite(T) && Number.isFinite(J) && T === F && J === D) {
1603
- const nA = `${String(C.id)}-r-${fA()}`, AA = {
1604
- ...C,
1605
- start: F,
1606
- end: n,
1607
- id: C.id,
1608
- data: { ...C.data, linkId: N ?? void 0 }
1609
- }, RA = {
1610
- ...C,
1611
- start: n,
1612
- end: D,
1613
- id: nA,
1614
- data: { ...C.data, linkId: O ?? void 0 }
1615
- }, Pe = bA[d], He = Array.isArray(Pe.actions) ? [...Pe.actions] : [];
1616
- He.splice(Q, 1, AA, RA), He.sort((Le, je) => Number(Le.start) - Number(je.start)), Pe.actions = He;
1904
+ start: t,
1905
+ end: v,
1906
+ id: P,
1907
+ data: { ...a.data, offset: h, linkId: Y ?? void 0 }
1908
+ }, T = structuredClone(r), Z = T[o], oA = Array.isArray(Z.actions) ? [...Z.actions] : [];
1909
+ if (oA.splice(i, 1, U, k), oA.sort((M, K) => Number(M.start) - Number(K.start)), Z.actions = oA, I && C >= 0 && w >= 0) {
1910
+ const M = Number(I.start), K = Number(I.end);
1911
+ if (Number.isFinite(M) && Number.isFinite(K) && M === N && K === v) {
1912
+ const _ = Number(I?.data?.offset), BA = Number.isFinite(_) ? _ : R, fA = BA + (Number.isFinite(H) ? H : 0), ZA = `${String(I.id)}-r-${EA()}`, Qe = {
1913
+ ...I,
1914
+ start: N,
1915
+ end: t,
1916
+ id: I.id,
1917
+ data: { ...I.data, offset: BA, linkId: F ?? void 0 }
1918
+ }, oe = {
1919
+ ...I,
1920
+ start: t,
1921
+ end: v,
1922
+ id: ZA,
1923
+ data: { ...I.data, offset: fA, linkId: Y ?? void 0 }
1924
+ }, we = T[C], Ie = Array.isArray(we.actions) ? [...we.actions] : [];
1925
+ Ie.splice(w, 1, Qe, oe), Ie.sort((je, Te) => Number(je.start) - Number(Te.start)), we.actions = Ie;
1617
1926
  }
1618
1927
  }
1619
- return bA;
1928
+ return T;
1620
1929
  }));
1621
- }, be = () => {
1622
- const A = p.current, t = A?.getTime ? A.getTime() : null;
1623
- A?.isPlaying && A.pause(), V.current = null, tA.current = null, f(null), h((n) => {
1624
- if (n.length === 0) return n;
1625
- const o = n[n.length - 1], r = structuredClone(b.current);
1626
- return m((i) => [...i, r]), l(structuredClone(o)), n.slice(0, -1);
1627
- }), t != null && requestAnimationFrame(() => {
1628
- const n = p.current;
1629
- n?.setTime && n.setTime(t);
1930
+ }, iA = () => {
1931
+ const A = X.current, n = A?.getTime ? A.getTime() : null;
1932
+ A?.isPlaying && A.pause(), IA.current = null, vA.current = null, Q(null), y((t) => {
1933
+ if (t.length === 0) return t;
1934
+ const r = t[t.length - 1], o = structuredClone(m.current);
1935
+ return L((i) => [...i, o]), c(structuredClone(r)), t.slice(0, -1);
1936
+ }), n != null && requestAnimationFrame(() => {
1937
+ const t = X.current;
1938
+ t?.setTime && t.setTime(n);
1630
1939
  });
1631
- }, ue = () => {
1632
- const A = p.current, t = A?.getTime ? A.getTime() : null;
1633
- A?.isPlaying && A.pause(), V.current = null, tA.current = null, f(null), m((n) => {
1634
- if (n.length === 0) return n;
1635
- const o = n[n.length - 1], r = structuredClone(b.current);
1636
- return h((i) => {
1637
- const a = [...i, r];
1638
- return a.length > Qe && a.splice(0, a.length - Qe), a;
1639
- }), l(structuredClone(o)), n.slice(0, -1);
1640
- }), t != null && requestAnimationFrame(() => {
1641
- const n = p.current;
1642
- n?.setTime && n.setTime(t);
1940
+ }, sA = () => {
1941
+ const A = X.current, n = A?.getTime ? A.getTime() : null;
1942
+ A?.isPlaying && A.pause(), IA.current = null, vA.current = null, Q(null), L((t) => {
1943
+ if (t.length === 0) return t;
1944
+ const r = t[t.length - 1], o = structuredClone(m.current);
1945
+ return y((i) => {
1946
+ const a = [...i, o];
1947
+ return a.length > ze && a.splice(0, a.length - ze), a;
1948
+ }), c(structuredClone(r)), t.slice(0, -1);
1949
+ }), n != null && requestAnimationFrame(() => {
1950
+ const t = X.current;
1951
+ t?.setTime && t.setTime(n);
1643
1952
  });
1644
- }, Be = Ke(
1645
- xe(ze, { activationConstraint: { distance: 6 } }),
1953
+ }, RA = Dt(
1954
+ rt(ht, { activationConstraint: { distance: 6 } }),
1646
1955
  // On touch, require a short press-hold before starting drag, so scroll is still possible.
1647
- xe(Ve, { activationConstraint: { delay: 180, tolerance: 6 } })
1648
- ), { setNodeRef: pe, isOver: Fe } = Ze({ id: "timeline-drop" }), le = (A) => {
1649
- const t = A.active.data.current?.item;
1650
- Z(t ?? null);
1651
- const n = ae(A.activatorEvent);
1652
- if (w.current = n, x.current = n, wA(n), n) {
1653
- const r = GA(n);
1654
- eA(r);
1655
- const i = OA(n.y);
1656
- iA(r ? aA(t ?? null, i) : null);
1956
+ rt(mt, { activationConstraint: { delay: 180, tolerance: 6 } })
1957
+ ), { setNodeRef: ie, isOver: VA } = Ft({ id: "timeline-drop" }), QA = (A) => {
1958
+ const n = A.active.data.current?.item;
1959
+ _A(n ?? null);
1960
+ const t = Ye(A.activatorEvent);
1961
+ if (O.current = t, $.current = t, zA(t), t) {
1962
+ const o = De(t);
1963
+ LA(o);
1964
+ const i = re(t.y);
1965
+ SA(o ? qA(n ?? null, i) : null);
1657
1966
  } else
1658
- iA(null), eA(!1);
1659
- const o = A.active.rect.current.initial;
1660
- BA(o ? { width: o.width, height: o.height } : null);
1661
- }, de = (A) => {
1662
- const t = A.active.rect.current.initial;
1663
- !S && t && BA({ width: t.width, height: t.height });
1664
- const n = x.current;
1665
- if (!n) {
1666
- iA(null);
1967
+ SA(null), LA(!1);
1968
+ const r = A.active.rect.current.initial;
1969
+ GA(r ? { width: r.width, height: r.height } : null);
1970
+ }, be = (A) => {
1971
+ const n = A.active.rect.current.initial;
1972
+ !TA && n && GA({ width: n.width, height: n.height });
1973
+ const t = $.current;
1974
+ if (!t) {
1975
+ SA(null);
1667
1976
  return;
1668
1977
  }
1669
- const o = Number(A?.delta?.x ?? 0), r = Number(A?.delta?.y ?? 0), i = { x: n.x + (Number.isFinite(o) ? o : 0), y: n.y + (Number.isFinite(r) ? r : 0) };
1670
- w.current = i, wA(i);
1671
- const a = GA(i);
1672
- eA(a);
1673
- const B = OA(i.y);
1674
- iA(a ? aA(L, B) : null);
1675
- }, ye = (A) => {
1676
- const t = A.active.data.current?.item, n = x.current, o = Number(A?.delta?.x ?? 0), r = Number(A?.delta?.y ?? 0), i = n ? { x: n.x + (Number.isFinite(o) ? o : 0), y: n.y + (Number.isFinite(r) ? r : 0) } : w.current;
1677
- w.current = i;
1678
- const B = String(A.over?.id ?? "") === "timeline-drop" || GA(i);
1679
- if (t && B && i) {
1680
- const d = kA(i.x), Q = OA(i.y), C = aA(t, Q);
1681
- iA(C), we(t, Math.max(0, d), C);
1682
- }
1683
- Z(null), BA(null), iA(null), eA(!1), wA(null), x.current = null;
1684
- }, Ne = () => {
1685
- Z(null), BA(null), iA(null), eA(!1), wA(null), x.current = null;
1686
- }, hA = Oe(() => {
1687
- if (!L || !sA) return null;
1688
- const A = UA;
1978
+ const r = Number(A?.delta?.x ?? 0), o = Number(A?.delta?.y ?? 0), i = { x: t.x + (Number.isFinite(r) ? r : 0), y: t.y + (Number.isFinite(o) ? o : 0) };
1979
+ O.current = i, zA(i);
1980
+ const a = De(i);
1981
+ LA(a);
1982
+ const l = re(i.y);
1983
+ SA(a ? qA(cA, l) : null);
1984
+ }, _e = (A) => {
1985
+ const n = A.active.data.current?.item, t = $.current, r = Number(A?.delta?.x ?? 0), o = Number(A?.delta?.y ?? 0), i = t ? { x: t.x + (Number.isFinite(r) ? r : 0), y: t.y + (Number.isFinite(o) ? o : 0) } : O.current;
1986
+ O.current = i;
1987
+ const l = String(A.over?.id ?? "") === "timeline-drop" || De(i);
1988
+ if (n && l && i) {
1989
+ const C = ne(i.x), w = re(i.y), I = qA(n, w);
1990
+ SA(I), Je(n, Math.max(0, C), I);
1991
+ }
1992
+ _A(null), GA(null), SA(null), LA(!1), zA(null), $.current = null;
1993
+ }, $e = () => {
1994
+ _A(null), GA(null), SA(null), LA(!1), zA(null), $.current = null;
1995
+ }, ue = tt(() => {
1996
+ if (!cA || !se) return null;
1997
+ const A = ae;
1689
1998
  if (!A) return null;
1690
- const t = OA(A.y), n = aA(L, t);
1691
- if (n == null) return null;
1692
- const o = kA(A.x), r = me(L, o, n, b.current), i = L.defaultDuration ?? 10;
1999
+ const n = re(A.y), t = qA(cA, n);
2000
+ if (t == null) return null;
2001
+ const r = ne(A.x), o = Ze(cA, r, t, m.current), i = cA.defaultDuration ?? 10;
1693
2002
  return {
1694
- laneRow: n,
1695
- desiredStart: o,
1696
- start: r,
1697
- end: r + i,
2003
+ laneRow: t,
2004
+ desiredStart: r,
2005
+ start: o,
2006
+ end: o + i,
1698
2007
  duration: i,
1699
- kind: L.kind
2008
+ kind: cA.kind
1700
2009
  };
1701
- }, [L, sA, UA, FA, lA, H]), Me = (A) => {
1702
- if (!y || A.pointerType === "mouse" || L) return;
2010
+ }, [cA, se, ae, XA, HA, z]), ut = (A) => {
2011
+ if (!W || A.pointerType === "mouse" || cA) return;
1703
2012
  if (!!A.target?.closest?.(".timeline-editor-cursor-area, .timeline-editor-cursor")) {
1704
- P.current = { pointerId: A.pointerId }, R.current = null;
2013
+ q.current = { pointerId: A.pointerId }, AA.current = null;
1705
2014
  try {
1706
2015
  A.currentTarget.setPointerCapture(A.pointerId);
1707
2016
  } catch {
@@ -1709,15 +2018,15 @@ const bt = structuredClone(dt), Qe = 5, Te = ({ item: g, hint: s, isDragging: l
1709
2018
  A.preventDefault();
1710
2019
  return;
1711
2020
  }
1712
- R.current = { x: A.clientX, y: A.clientY };
1713
- }, e = (A) => {
1714
- if (!y || A.pointerType === "mouse" || L || !P.current || P.current.pointerId !== A.pointerId) return;
1715
- const t = kA(A.clientX);
1716
- p.current && p.current.setTime(t), A.preventDefault();
1717
- }, c = (A) => {
1718
- if (!y || A.pointerType === "mouse" || L) return;
1719
- if (P.current && P.current.pointerId === A.pointerId) {
1720
- P.current = null;
2021
+ AA.current = { x: A.clientX, y: A.clientY };
2022
+ }, dt = (A) => {
2023
+ if (!W || A.pointerType === "mouse" || cA || !q.current || q.current.pointerId !== A.pointerId) return;
2024
+ const n = ne(A.clientX);
2025
+ X.current && X.current.setTime(n), A.preventDefault();
2026
+ }, ft = (A) => {
2027
+ if (!W || A.pointerType === "mouse" || cA) return;
2028
+ if (q.current && q.current.pointerId === A.pointerId) {
2029
+ q.current = null;
1721
2030
  try {
1722
2031
  A.currentTarget.releasePointerCapture(A.pointerId);
1723
2032
  } catch {
@@ -1725,303 +2034,469 @@ const bt = structuredClone(dt), Qe = 5, Te = ({ item: g, hint: s, isDragging: l
1725
2034
  A.preventDefault();
1726
2035
  return;
1727
2036
  }
1728
- const t = R.current;
1729
- R.current = null;
1730
- const n = t ? Math.abs(A.clientX - t.x) : 0, o = t ? Math.abs(A.clientY - t.y) : 0;
1731
- if (n > 10 || o > 10) return;
1732
- const i = A.target?.closest?.("[data-action-id]"), a = i?.getAttribute("data-row-id"), B = i?.getAttribute("data-action-id");
1733
- if (a && B) {
1734
- f(B);
2037
+ const n = AA.current;
2038
+ AA.current = null;
2039
+ const t = n ? Math.abs(A.clientX - n.x) : 0, r = n ? Math.abs(A.clientY - n.y) : 0;
2040
+ if (t > 10 || r > 10) return;
2041
+ const i = A.target?.closest?.("[data-action-id]"), a = i?.getAttribute("data-row-id"), l = i?.getAttribute("data-action-id");
2042
+ if (a && l) {
2043
+ Q(l);
1735
2044
  return;
1736
2045
  }
1737
- const d = kA(A.clientX);
1738
- f(null), p.current && p.current.setTime(d);
2046
+ const C = ne(A.clientX);
2047
+ Q(null), X.current && X.current.setTime(C);
1739
2048
  };
1740
- return /* @__PURE__ */ E.jsx(
1741
- _e,
2049
+ return /* @__PURE__ */ D.jsx(
2050
+ pt,
1742
2051
  {
1743
- sensors: Be,
1744
- collisionDetection: $e,
1745
- onDragStart: le,
1746
- onDragMove: de,
1747
- onDragEnd: ye,
1748
- onDragCancel: Ne,
1749
- children: /* @__PURE__ */ E.jsxs("div", { className: "timeline-editor-engine", children: [
1750
- /* @__PURE__ */ E.jsx("div", { className: "player-config", children: /* @__PURE__ */ E.jsx("div", { className: "footage-bin", children: K.map((A) => /* @__PURE__ */ E.jsx(
1751
- pt,
1752
- {
1753
- item: A,
1754
- hint: y ? "Press-hold, then drag into timeline" : "Drag into timeline"
1755
- },
1756
- A.id
1757
- )) }) }),
1758
- /* @__PURE__ */ E.jsx("div", { className: "player-panel", ref: q, children: /* @__PURE__ */ E.jsx(
1759
- "video",
1760
- {
1761
- className: "player-video",
1762
- preload: "auto",
1763
- playsInline: !0,
1764
- muted: !0,
1765
- controls: !1,
1766
- disablePictureInPicture: !0,
1767
- disableRemotePlayback: !0,
1768
- controlsList: "nodownload noplaybackrate noremoteplayback",
1769
- tabIndex: -1,
1770
- onContextMenu: (A) => A.preventDefault(),
1771
- ref: (A) => G.attach(A)
1772
- }
1773
- ) }),
1774
- /* @__PURE__ */ E.jsx(
1775
- mt,
2052
+ sensors: RA,
2053
+ collisionDetection: Rt,
2054
+ onDragStart: QA,
2055
+ onDragMove: be,
2056
+ onDragEnd: _e,
2057
+ onDragCancel: $e,
2058
+ children: /* @__PURE__ */ D.jsxs("div", { className: "timeline-editor-engine", children: [
2059
+ /* @__PURE__ */ D.jsxs("div", { className: "player-stack", children: [
2060
+ /* @__PURE__ */ D.jsx("div", { className: "footage-ribbon", role: "toolbar", "aria-label": "Footage", children: /* @__PURE__ */ D.jsx(
2061
+ "button",
2062
+ {
2063
+ type: "button",
2064
+ className: `footage-ribbon-toggle${J ? " is-open" : ""}`,
2065
+ "aria-expanded": J,
2066
+ "aria-controls": "footage-bin-panel",
2067
+ onClick: () => hA((A) => !A),
2068
+ children: /* @__PURE__ */ D.jsx("img", { src: _t, alt: "Footage", draggable: !1 })
2069
+ }
2070
+ ) }),
2071
+ /* @__PURE__ */ D.jsx(
2072
+ "div",
2073
+ {
2074
+ id: "footage-bin-panel",
2075
+ className: `footage-bin-panel${J ? " is-open" : ""}${cA ? " is-dragging" : ""}`,
2076
+ "aria-hidden": !J,
2077
+ children: /* @__PURE__ */ D.jsx("div", { className: "footage-bin", children: rA.map((A) => /* @__PURE__ */ D.jsx(
2078
+ en,
2079
+ {
2080
+ item: A,
2081
+ hint: W ? "Press-hold, then drag into timeline" : "Drag into timeline"
2082
+ },
2083
+ A.id
2084
+ )) })
2085
+ }
2086
+ ),
2087
+ /* @__PURE__ */ D.jsx("div", { className: "player-panel", ref: lA, children: /* @__PURE__ */ D.jsx(
2088
+ "video",
2089
+ {
2090
+ className: "player-video",
2091
+ preload: "auto",
2092
+ playsInline: !0,
2093
+ muted: !0,
2094
+ controls: !1,
2095
+ disablePictureInPicture: !0,
2096
+ disableRemotePlayback: !0,
2097
+ controlsList: "nodownload noplaybackrate noremoteplayback",
2098
+ tabIndex: -1,
2099
+ onContextMenu: (A) => A.preventDefault(),
2100
+ ref: (A) => JA.attach(A)
2101
+ }
2102
+ ) })
2103
+ ] }),
2104
+ /* @__PURE__ */ D.jsx(
2105
+ Vt,
1776
2106
  {
1777
- timelineState: p,
1778
- autoScrollWhenPlay: uA,
1779
- editorData: s,
1780
- selectedActionId: u,
1781
- onDeleteSelectedClip: ve,
1782
- onSplitSelectedClip: ge,
1783
- canUndo: I.length > 0,
1784
- canRedo: v.length > 0,
1785
- onUndo: be,
1786
- onRedo: ue
2107
+ timelineState: X,
2108
+ autoScrollWhenPlay: UA,
2109
+ scale: yA,
2110
+ scaleWidth: aA,
2111
+ startLeft: eA,
2112
+ editorData: d,
2113
+ selectedActionId: f,
2114
+ onDeleteSelectedClip: x,
2115
+ onSplitSelectedClip: dA,
2116
+ canUndo: b.length > 0,
2117
+ canRedo: S.length > 0,
2118
+ onUndo: iA,
2119
+ onRedo: sA
1787
2120
  }
1788
2121
  ),
1789
- /* @__PURE__ */ E.jsxs(
2122
+ /* @__PURE__ */ D.jsxs(
1790
2123
  "div",
1791
2124
  {
1792
- className: `timeline-drop${Fe ? " is-over" : ""}`,
2125
+ className: `timeline-drop${VA ? " is-over" : ""}`,
1793
2126
  ref: (A) => {
1794
- W.current = A, pe(A);
2127
+ mA.current = A, ie(A);
1795
2128
  },
1796
- onPointerDown: Me,
1797
- onPointerMove: e,
1798
- onPointerUp: c,
2129
+ onPointerDown: ut,
2130
+ onPointerMove: dt,
2131
+ onPointerUp: ft,
1799
2132
  children: [
1800
- /* @__PURE__ */ E.jsx(
2133
+ /* @__PURE__ */ D.jsxs("div", { className: "timeline-zoom-controls", "aria-label": "Timeline zoom", children: [
2134
+ /* @__PURE__ */ D.jsx(
2135
+ "button",
2136
+ {
2137
+ type: "button",
2138
+ className: "timeline-zoom-control",
2139
+ onClick: () => YA(1 / 1.25),
2140
+ "aria-label": "Zoom out",
2141
+ title: "Zoom out",
2142
+ children: /* @__PURE__ */ D.jsx("img", { src: An, alt: "", draggable: !1 })
2143
+ }
2144
+ ),
2145
+ /* @__PURE__ */ D.jsx(
2146
+ "button",
2147
+ {
2148
+ type: "button",
2149
+ className: "timeline-zoom-control",
2150
+ onClick: () => YA(1.25),
2151
+ "aria-label": "Zoom in",
2152
+ title: "Zoom in",
2153
+ children: /* @__PURE__ */ D.jsx("img", { src: $t, alt: "", draggable: !1 })
2154
+ }
2155
+ )
2156
+ ] }),
2157
+ /* @__PURE__ */ D.jsx(
1801
2158
  "div",
1802
2159
  {
1803
2160
  className: "timeline-lane-labels",
1804
2161
  style: {
1805
- top: JA,
1806
- transform: `translateY(${-lA}px)`,
1807
- height: H * IA.length
2162
+ top: FA,
2163
+ transform: `translateY(${-HA}px)`,
2164
+ height: z * xe.length
1808
2165
  },
1809
- children: IA.map((A, t) => /* @__PURE__ */ E.jsx(
2166
+ children: xe.map((A, n) => /* @__PURE__ */ D.jsx(
1810
2167
  "div",
1811
2168
  {
1812
- className: `timeline-lane-label${CA === t ? " is-hover" : ""}`,
1813
- style: { height: H },
2169
+ className: `timeline-lane-label${WA === n ? " is-hover" : ""}`,
2170
+ style: { height: z },
1814
2171
  children: A
1815
2172
  },
1816
2173
  A
1817
2174
  ))
1818
2175
  }
1819
2176
  ),
1820
- hA ? /* @__PURE__ */ E.jsx("div", { className: "timeline-ghost-layer", style: { top: JA, left: SA }, children: (() => {
1821
- const A = te / ne, t = hA.duration * A, n = he(hA.start) - FA, o = [];
1822
- return hA.kind === "video" ? (o.push({ row: hA.laneRow, kind: "video" }), o.push({ row: NA(hA.laneRow), kind: "audio" })) : o.push({ row: hA.laneRow, kind: "audio" }), o.map((r) => /* @__PURE__ */ E.jsx(
2177
+ ue ? /* @__PURE__ */ D.jsx("div", { className: "timeline-ghost-layer", style: { top: FA, left: PA }, children: (() => {
2178
+ const A = aA / yA, n = ue.duration * A, t = Le(ue.start) - XA, r = [];
2179
+ return ue.kind === "video" ? (r.push({ row: ue.laneRow, kind: "video" }), r.push({ row: wA(ue.laneRow), kind: "audio" })) : r.push({ row: ue.laneRow, kind: "audio" }), r.map((o) => /* @__PURE__ */ D.jsx(
1823
2180
  "div",
1824
2181
  {
1825
- className: `timeline-ghost-clip${r.kind === "video" ? " is-video" : " is-audio"}`,
2182
+ className: `timeline-ghost-clip${o.kind === "video" ? " is-video" : " is-audio"}`,
1826
2183
  style: {
1827
- left: n,
1828
- top: r.row * H - lA,
1829
- width: t,
1830
- height: H
2184
+ left: t,
2185
+ top: o.row * z - HA,
2186
+ width: n,
2187
+ height: z
1831
2188
  }
1832
2189
  },
1833
- `${r.kind}-${r.row}`
2190
+ `${o.kind}-${o.row}`
1834
2191
  ));
1835
2192
  })() }) : null,
1836
- /* @__PURE__ */ E.jsx(
1837
- ke,
2193
+ E ? /* @__PURE__ */ D.jsx("div", { className: "timeline-ghost-layer", style: { top: FA, left: PA }, children: (() => {
2194
+ const A = aA / yA, n = E.duration * A, t = Le(E.start) - XA, r = [];
2195
+ return E.kind === "video" ? (r.push({ row: E.laneRow, kind: "video" }), r.push({ row: wA(E.laneRow), kind: "audio" })) : r.push({ row: E.laneRow, kind: "audio" }), r.map((o) => /* @__PURE__ */ D.jsx(
2196
+ "div",
2197
+ {
2198
+ className: `timeline-ghost-clip${o.kind === "video" ? " is-video" : " is-audio"}`,
2199
+ style: {
2200
+ left: t,
2201
+ top: o.row * z - HA,
2202
+ width: n,
2203
+ height: z
2204
+ }
2205
+ },
2206
+ `${E.actionId}-${o.kind}-${o.row}`
2207
+ ));
2208
+ })() }) : null,
2209
+ /* @__PURE__ */ D.jsx(
2210
+ Et,
1838
2211
  {
1839
- scale: ne,
1840
- scaleWidth: te,
1841
- startLeft: Ee,
1842
- rowHeight: H,
2212
+ scale: yA,
2213
+ scaleWidth: aA,
2214
+ startLeft: eA,
2215
+ rowHeight: z,
1843
2216
  autoScroll: !0,
1844
- ref: p,
1845
- editorData: ce,
1846
- effects: lt,
2217
+ ref: X,
2218
+ editorData: G,
2219
+ effects: Lt,
1847
2220
  onScroll: (A) => {
1848
- const t = Number(A?.scrollTop ?? 0), n = Number(A?.scrollLeft ?? 0);
1849
- Number.isFinite(t) && ie(t), Number.isFinite(n) && yA(n);
2221
+ const n = Number(A?.scrollTop ?? 0), t = Number(A?.scrollLeft ?? 0);
2222
+ Number.isFinite(n) && Pe(n), Number.isFinite(t) && $A(t);
1850
2223
  },
1851
- onClickTimeArea: (A, t) => {
1852
- f(null);
2224
+ onClickTimeArea: (A, n) => {
2225
+ Q(null);
1853
2226
  },
1854
2227
  onClickRow: (A) => {
1855
- A.target?.closest?.(".timeline-editor-action") || f(null);
2228
+ A.target?.closest?.(".timeline-editor-action") || Q(null);
1856
2229
  },
1857
- onClickActionOnly: (A, { action: t }) => {
1858
- const n = t;
1859
- n?.id && f(String(n.id));
2230
+ onClickActionOnly: (A, { action: n }) => {
2231
+ const t = n;
2232
+ t?.id && Q(String(t.id));
1860
2233
  },
1861
2234
  onActionMoveStart: ({ action: A }) => {
1862
- YA.current = String(A?.id ?? ""), _.current = { actionId: String(A?.id ?? ""), edge: null };
1863
- const t = Number(A?.start), n = Number(A?.end);
1864
- X.current = {
1865
- actionId: String(A?.id ?? ""),
2235
+ Ae.current = String(A?.id ?? ""), pA.current = { actionId: String(A?.id ?? ""), edge: null };
2236
+ const n = Number(A?.start), t = Number(A?.end), r = String(A?.id ?? ""), o = r ? DA(m.current, r) : null, i = o ? o.rowIndex : 0;
2237
+ tA.current = {
2238
+ actionId: r,
1866
2239
  mode: "move",
1867
2240
  dir: null,
1868
2241
  basePointerTime: null,
1869
2242
  lastPointerTime: null,
1870
- initialStart: Number.isFinite(t) ? t : 0,
1871
- initialEnd: Number.isFinite(n) ? n : 0,
1872
- takeover: !1
1873
- }, cA(), !V.current && (V.current = structuredClone(s), tA.current = LA(s));
2243
+ basePointerClientY: null,
2244
+ lastPointerClientY: null,
2245
+ initialRowIndex: i,
2246
+ committedRowIndex: i,
2247
+ laneCandidateRowIndex: null,
2248
+ laneCandidateSinceMs: 0,
2249
+ laneIntentRowIndex: null,
2250
+ initialStart: Number.isFinite(n) ? n : 0,
2251
+ initialEnd: Number.isFinite(t) ? t : 0,
2252
+ takeover: !0
2253
+ }, Ee(), p(null), !IA.current && (IA.current = structuredClone(d), vA.current = le(d));
1874
2254
  },
1875
2255
  onActionMoveEnd: () => {
1876
- const A = V.current, t = tA.current;
1877
- A && t && LA(b.current) !== t && HA(A), V.current = null, tA.current = null, YA.current = null, _.current = { actionId: null, edge: null }, X.current = {
2256
+ const A = tA.current, n = String(A.actionId ?? ""), t = A.laneIntentRowIndex;
2257
+ n && t != null && (Oe.current = !0, c((i) => {
2258
+ const a = j(i, n, t);
2259
+ return m.current = a, a;
2260
+ })), p(null);
2261
+ const r = IA.current, o = vA.current;
2262
+ r && o && le(m.current) !== o && ee(r), IA.current = null, vA.current = null, Ae.current = null, pA.current = { actionId: null, edge: null }, tA.current = {
1878
2263
  actionId: null,
1879
2264
  mode: null,
1880
2265
  dir: null,
1881
2266
  basePointerTime: null,
1882
2267
  lastPointerTime: null,
2268
+ basePointerClientY: null,
2269
+ lastPointerClientY: null,
2270
+ initialRowIndex: 0,
2271
+ committedRowIndex: 0,
2272
+ laneCandidateRowIndex: null,
2273
+ laneCandidateSinceMs: 0,
2274
+ laneIntentRowIndex: null,
1883
2275
  initialStart: 0,
1884
2276
  initialEnd: 0,
1885
2277
  takeover: !1
1886
- }, VA();
2278
+ }, Ke();
1887
2279
  },
1888
2280
  onActionResizeStart: ({ action: A }) => {
1889
- YA.current = String(A?.id ?? ""), _.current = { actionId: String(A?.id ?? ""), edge: null };
1890
- const t = Number(A?.start), n = Number(A?.end);
1891
- X.current = {
1892
- actionId: String(A?.id ?? ""),
2281
+ Ae.current = String(A?.id ?? ""), pA.current = { actionId: String(A?.id ?? ""), edge: null };
2282
+ const n = Number(A?.start), t = Number(A?.end), r = String(A?.id ?? ""), o = r ? DA(m.current, r) : null, i = o ? o.rowIndex : 0, a = ve(o?.action ?? A), l = r ? MA(m.current, r) : null, C = l ? String(l.action.id) : null, w = l ? ve(l.action) : a;
2283
+ uA.current = {
2284
+ actionId: r,
2285
+ partnerId: C,
2286
+ dir: null,
2287
+ baseStart: Number.isFinite(n) ? n : 0,
2288
+ baseOffset: a,
2289
+ partnerBaseOffset: w
2290
+ }, tA.current = {
2291
+ actionId: r,
1893
2292
  mode: "resize",
1894
2293
  dir: null,
1895
2294
  basePointerTime: null,
1896
2295
  lastPointerTime: null,
1897
- initialStart: Number.isFinite(t) ? t : 0,
1898
- initialEnd: Number.isFinite(n) ? n : 0,
2296
+ basePointerClientY: null,
2297
+ lastPointerClientY: null,
2298
+ initialRowIndex: i,
2299
+ committedRowIndex: i,
2300
+ laneCandidateRowIndex: null,
2301
+ laneCandidateSinceMs: 0,
2302
+ laneIntentRowIndex: null,
2303
+ initialStart: Number.isFinite(n) ? n : 0,
2304
+ initialEnd: Number.isFinite(t) ? t : 0,
1899
2305
  takeover: !1
1900
- }, cA(), !V.current && (V.current = structuredClone(s), tA.current = LA(s));
2306
+ }, Ee(), !IA.current && (IA.current = structuredClone(d), vA.current = le(d));
1901
2307
  },
1902
2308
  onActionResizeEnd: () => {
1903
- const A = V.current, t = tA.current;
1904
- A && t && LA(b.current) !== t && HA(A), V.current = null, tA.current = null, YA.current = null, _.current = { actionId: null, edge: null }, X.current = {
2309
+ const A = IA.current, n = vA.current;
2310
+ A && n && le(m.current) !== n && ee(A), IA.current = null, vA.current = null, Ae.current = null, pA.current = { actionId: null, edge: null }, tA.current = {
1905
2311
  actionId: null,
1906
2312
  mode: null,
1907
2313
  dir: null,
1908
2314
  basePointerTime: null,
1909
2315
  lastPointerTime: null,
2316
+ basePointerClientY: null,
2317
+ lastPointerClientY: null,
2318
+ initialRowIndex: 0,
2319
+ committedRowIndex: 0,
2320
+ laneCandidateRowIndex: null,
2321
+ laneCandidateSinceMs: 0,
2322
+ laneIntentRowIndex: null,
1910
2323
  initialStart: 0,
1911
2324
  initialEnd: 0,
1912
2325
  takeover: !1
1913
- }, VA();
2326
+ }, Ke(), uA.current = {
2327
+ actionId: null,
2328
+ partnerId: null,
2329
+ dir: null,
2330
+ baseStart: 0,
2331
+ baseOffset: 0,
2332
+ partnerBaseOffset: 0
2333
+ };
1914
2334
  },
1915
- onActionMoving: ({ action: A, row: t, start: n, end: o }) => {
1916
- const r = String(A?.id ?? ""), i = X.current;
1917
- if (i.takeover && i.mode === "move" && i.actionId === r) {
1918
- const O = i.basePointerTime, M = i.lastPointerTime, Y = O != null && M != null ? M - O : 0, $ = i.initialStart + Y, EA = i.initialEnd + Y, mA = _A(r, $, EA), xA = mA.start, vA = mA.end;
1919
- if (QA(t, String(A.id), xA, vA)) return !1;
1920
- const gA = b.current, pA = DA(gA, String(A.id));
1921
- if (pA) {
1922
- const T = gA[pA.rowIndex];
1923
- if (T && QA(T, String(pA.action.id), xA, vA)) return !1;
2335
+ onActionMoving: ({ action: A, row: n, start: t, end: r }) => {
2336
+ const o = String(A?.id ?? ""), i = tA.current, a = (R, H) => {
2337
+ const h = Number(R), U = Number(H);
2338
+ if (!Number.isFinite(h) || !Number.isFinite(U)) return { start: R, end: H, clamped: !1 };
2339
+ if (U <= h) return { start: R, end: H, clamped: !1 };
2340
+ if (h >= 0) return { start: h, end: U, clamped: !1 };
2341
+ const k = -h;
2342
+ return { start: 0, end: U + k, clamped: !0 };
2343
+ }, l = (R) => {
2344
+ const H = String(R?.id ?? "");
2345
+ return H ? m.current.findIndex((h) => String(h?.id ?? "") === H) : -1;
2346
+ };
2347
+ if (i.takeover && i.mode === "move" && i.actionId === o) {
2348
+ const H = Math.max(10, z * 0.45), h = i.basePointerTime, U = i.lastPointerTime, k = h != null && U != null ? U - h : 0, T = i.initialStart + k, Z = i.initialEnd + k, oA = Re(o, T, Z), M = a(oA.start, oA.end), K = M.start, _ = M.end, fA = String(A?.effectId ?? "") === "effect1" ? "video" : "audio", ZA = i.lastPointerClientY, Qe = ZA != null ? re(ZA) : null, oe = OA(
2349
+ Qe ?? i.committedRowIndex,
2350
+ fA
2351
+ ), we = i.basePointerClientY, Ie = we != null && ZA != null ? Math.abs(ZA - we) : 0, je = typeof performance < "u" && performance.now ? performance.now() : Date.now();
2352
+ oe !== i.committedRowIndex && Ie >= H ? (i.laneCandidateRowIndex !== oe && (i.laneCandidateRowIndex = oe, i.laneCandidateSinceMs = je), je - i.laneCandidateSinceMs >= 160 && (i.laneIntentRowIndex = oe)) : (i.laneCandidateRowIndex = null, i.laneCandidateSinceMs = 0, i.laneIntentRowIndex = null);
2353
+ const Te = oe !== i.committedRowIndex && Ie >= H ? oe : null;
2354
+ Te != null ? p({
2355
+ actionId: o,
2356
+ laneRow: Te,
2357
+ start: K,
2358
+ end: _,
2359
+ duration: Math.max(0.01, _ - K),
2360
+ kind: fA
2361
+ }) : p(null);
2362
+ const At = m.current, nt = At[i.committedRowIndex];
2363
+ if (nt && jA(nt, String(A.id), K, _)) return !1;
2364
+ const et = MA(At, String(A.id));
2365
+ if (et) {
2366
+ const We = fA === "video" ? wA(OA(i.committedRowIndex, "video")) : ge(OA(i.committedRowIndex, "audio")), Se = At[We];
2367
+ if (Se && jA(Se, String(et.action.id), K, _)) return !1;
1924
2368
  }
1925
- return l((T) => {
1926
- const J = pA ? XA(T, String(A.id), xA, vA) : zA(T, String(A.id), xA, vA);
1927
- return b.current = J, J;
2369
+ return c((We) => {
2370
+ const Se = et ? kA(We, String(A.id), K, _) : te(We, String(A.id), K, _);
2371
+ return m.current = Se, Se;
1928
2372
  }), !1;
1929
2373
  }
1930
- const a = Number(n), B = Number(o);
1931
- if (!Number.isFinite(a) || !Number.isFinite(B) || B <= a) return !1;
1932
- const d = _A(r, a, B), Q = d.start, C = d.end;
1933
- if (!Number.isFinite(Q) || !Number.isFinite(C) || C <= Q || QA(t, String(A.id), Q, C)) return !1;
1934
- const D = b.current, N = DA(D, String(A.id));
1935
- if (N) {
1936
- const O = D[N.rowIndex];
1937
- if (O && QA(O, String(N.action.id), Q, C)) return !1;
2374
+ const C = Number(t), w = Number(r);
2375
+ if (!Number.isFinite(C) || !Number.isFinite(w) || w <= C) return !1;
2376
+ const I = Re(o, C, w), N = a(I.start, I.end), v = N.start, F = N.end;
2377
+ if (!Number.isFinite(v) || !Number.isFinite(F) || F <= v) return !1;
2378
+ const Y = n;
2379
+ if (jA(Y, String(A.id), v, F)) return !1;
2380
+ const P = m.current, u = MA(P, String(A.id));
2381
+ if (u) {
2382
+ const R = String(A?.effectId ?? ""), H = l(Y);
2383
+ let h = u.rowIndex;
2384
+ if (H >= 0)
2385
+ if (R === "effect1") {
2386
+ const k = OA(H, "video");
2387
+ h = wA(k);
2388
+ } else {
2389
+ const k = OA(H, "audio");
2390
+ h = ge(k);
2391
+ }
2392
+ const U = P[h];
2393
+ if (U && jA(U, String(u.action.id), v, F)) return !1;
1938
2394
  }
1939
- if ((N || d.snapped) && l((O) => {
1940
- const M = N ? XA(O, String(A.id), Q, C) : zA(O, String(A.id), Q, C);
1941
- return b.current = M, M;
1942
- }), d.snapped) {
1943
- const O = X.current.lastPointerTime;
1944
- return X.current = {
1945
- actionId: r,
2395
+ if ((u || I.snapped || N.clamped) && c((R) => {
2396
+ const H = u ? kA(R, String(A.id), v, F) : te(R, String(A.id), v, F);
2397
+ return m.current = H, H;
2398
+ }), I.snapped || N.clamped) {
2399
+ const R = tA.current.lastPointerTime;
2400
+ return tA.current = {
2401
+ ...tA.current,
2402
+ actionId: o,
1946
2403
  mode: "move",
1947
2404
  dir: null,
1948
- basePointerTime: O,
1949
- lastPointerTime: X.current.lastPointerTime,
1950
- initialStart: a,
1951
- initialEnd: B,
2405
+ basePointerTime: R,
2406
+ lastPointerTime: tA.current.lastPointerTime,
2407
+ initialStart: C,
2408
+ initialEnd: w,
1952
2409
  takeover: !0
1953
- }, cA(), !1;
2410
+ }, Ee(), !1;
1954
2411
  }
1955
2412
  },
1956
- onActionResizing: ({ action: A, row: t, start: n, end: o, dir: r }) => {
1957
- const i = String(A?.id ?? ""), a = X.current, B = r ?? "right";
1958
- if (a.takeover && a.mode === "resize" && a.actionId === i) {
1959
- const Y = a.basePointerTime, $ = a.lastPointerTime, EA = Y != null && $ != null ? $ - Y : 0, mA = B === "left" ? a.initialStart + EA : a.initialStart, xA = B === "right" ? a.initialEnd + EA : a.initialEnd, vA = se(i, mA, xA, B), bA = vA.start, gA = vA.end;
1960
- if (QA(t, String(A.id), bA, gA)) return !1;
1961
- const T = b.current, J = DA(T, String(A.id));
1962
- if (J) {
1963
- const nA = T[J.rowIndex];
1964
- if (nA && QA(nA, String(J.action.id), bA, gA)) return !1;
2413
+ onActionResizing: ({ action: A, row: n, start: t, end: r, dir: o }) => {
2414
+ const i = String(A?.id ?? ""), a = tA.current, l = o ?? "right";
2415
+ if (a.actionId === i && a.mode === "resize" && (a.dir = l), uA.current.actionId === i && (uA.current.dir = l), a.takeover && a.mode === "resize" && a.actionId === i) {
2416
+ const u = a.basePointerTime, R = a.lastPointerTime, H = u != null && R != null ? R - u : 0, h = l === "left" ? a.initialStart + H : a.initialStart, U = l === "right" ? a.initialEnd + H : a.initialEnd, k = ke(i, h, U, l), T = k.start, Z = k.end;
2417
+ if (jA(n, String(A.id), T, Z)) return !1;
2418
+ const M = m.current, K = MA(M, String(A.id));
2419
+ if (K) {
2420
+ const _ = M[K.rowIndex];
2421
+ if (_ && jA(_, String(K.action.id), T, Z)) return !1;
1965
2422
  }
1966
- return l((nA) => {
1967
- const AA = J ? XA(nA, String(A.id), bA, gA) : zA(nA, String(A.id), bA, gA);
1968
- return b.current = AA, AA;
2423
+ return c((_) => {
2424
+ let BA = K ? kA(_, String(A.id), T, Z) : te(_, String(A.id), T, Z);
2425
+ if (l === "left" && uA.current.actionId === String(A.id)) {
2426
+ const fA = T - uA.current.baseStart, ZA = uA.current.baseOffset + (Number.isFinite(fA) ? fA : 0), Qe = uA.current.partnerBaseOffset + (Number.isFinite(fA) ? fA : 0);
2427
+ BA = K ? g(BA, String(A.id), ZA, Qe) : e(BA, String(A.id), ZA);
2428
+ }
2429
+ return m.current = BA, BA;
1969
2430
  }), !1;
1970
2431
  }
1971
- const d = Number(n), Q = Number(o);
1972
- if (!Number.isFinite(d) || !Number.isFinite(Q) || Q <= d) return !1;
1973
- const C = se(i, d, Q, B), F = C.start, D = C.end;
1974
- if (!Number.isFinite(F) || !Number.isFinite(D) || D <= F || QA(t, String(A.id), F, D)) return !1;
1975
- const O = b.current, M = DA(O, String(A.id));
1976
- if (M) {
1977
- const Y = O[M.rowIndex];
1978
- if (Y && QA(Y, String(M.action.id), F, D)) return !1;
2432
+ const C = Number(t), w = Number(r);
2433
+ if (!Number.isFinite(C) || !Number.isFinite(w) || w <= C) return !1;
2434
+ const I = ke(i, C, w, l), N = I.start, v = I.end;
2435
+ if (!Number.isFinite(N) || !Number.isFinite(v) || v <= N || jA(n, String(A.id), N, v)) return !1;
2436
+ const Y = m.current, P = MA(Y, String(A.id));
2437
+ if (P) {
2438
+ const u = Y[P.rowIndex];
2439
+ if (u && jA(u, String(P.action.id), N, v)) return !1;
1979
2440
  }
1980
- if ((M || C.snapped) && l((Y) => {
1981
- const $ = M ? XA(Y, String(A.id), F, D) : zA(Y, String(A.id), F, D);
1982
- return b.current = $, $;
1983
- }), C.snapped) {
1984
- const Y = X.current.lastPointerTime;
1985
- return X.current = {
2441
+ if ((P || I.snapped) && c((u) => {
2442
+ const R = P ? kA(u, String(A.id), N, v) : te(u, String(A.id), N, v);
2443
+ return m.current = R, R;
2444
+ }), I.snapped) {
2445
+ const u = tA.current.lastPointerTime;
2446
+ return tA.current = {
2447
+ ...tA.current,
1986
2448
  actionId: i,
1987
2449
  mode: "resize",
1988
- dir: B,
1989
- basePointerTime: Y,
1990
- lastPointerTime: X.current.lastPointerTime,
1991
- initialStart: d,
1992
- initialEnd: Q,
2450
+ dir: l,
2451
+ basePointerTime: u,
2452
+ lastPointerTime: tA.current.lastPointerTime,
2453
+ initialStart: C,
2454
+ initialEnd: w,
1993
2455
  takeover: !0
1994
- }, cA(), !1;
2456
+ }, Ee(), !1;
1995
2457
  }
1996
2458
  },
1997
2459
  onChange: (A) => {
1998
- const t = $A(A), n = YA.current, o = n ? oe(t, n) : t;
1999
- l(o);
2000
- const r = V.current, i = tA.current;
2001
- r && i && (LA(o) !== i && HA(r), V.current = null, tA.current = null);
2460
+ if (Oe.current) {
2461
+ Oe.current = !1;
2462
+ return;
2463
+ }
2464
+ const n = V(A), t = Ae.current;
2465
+ let r = t ? pe(n, t) : n;
2466
+ if (t && uA.current.actionId === t && uA.current.dir === "left") {
2467
+ const l = DA(r, t);
2468
+ if (l) {
2469
+ const w = Number(l.action?.start) - uA.current.baseStart, I = uA.current.baseOffset + (Number.isFinite(w) ? w : 0), N = uA.current.partnerBaseOffset + (Number.isFinite(w) ? w : 0);
2470
+ r = !!uA.current.partnerId ? g(r, t, I, N) : e(r, t, I);
2471
+ }
2472
+ }
2473
+ const o = Me(r, t);
2474
+ c(o);
2475
+ const i = IA.current, a = vA.current;
2476
+ i && a && (le(o) !== a && ee(i), IA.current = null, vA.current = null);
2002
2477
  },
2003
- getActionRender: (A, t) => {
2478
+ getActionRender: (A, n) => {
2004
2479
  if (A.effectId === "effect0")
2005
- return /* @__PURE__ */ E.jsx(it, { action: A, row: t });
2480
+ return /* @__PURE__ */ D.jsx(Nt, { action: A, row: n });
2006
2481
  if (A.effectId === "effect2")
2007
- return /* @__PURE__ */ E.jsx(st, { action: A, row: t });
2482
+ return /* @__PURE__ */ D.jsx(Ut, { action: A, row: n });
2008
2483
  if (A.effectId === "effect1")
2009
- return /* @__PURE__ */ E.jsx(ot, { action: A, row: t });
2484
+ return /* @__PURE__ */ D.jsx(yt, { action: A, row: n });
2010
2485
  }
2011
2486
  }
2012
2487
  )
2013
2488
  ]
2014
2489
  }
2015
2490
  ),
2016
- /* @__PURE__ */ E.jsx(At, { children: L ? /* @__PURE__ */ E.jsx(
2491
+ /* @__PURE__ */ D.jsx(Ot, { children: cA ? /* @__PURE__ */ D.jsx(
2017
2492
  "div",
2018
2493
  {
2019
2494
  className: "footage-overlay",
2020
- style: S ? {
2021
- width: S.width,
2022
- height: S.height
2495
+ style: TA ? {
2496
+ width: TA.width,
2497
+ height: TA.height
2023
2498
  } : void 0,
2024
- children: /* @__PURE__ */ E.jsx(Te, { item: L, hint: "Drop on timeline", isDragging: !0 })
2499
+ children: /* @__PURE__ */ D.jsx(lt, { item: cA, hint: "Drop on timeline", isDragging: !0 })
2025
2500
  }
2026
2501
  ) : null })
2027
2502
  ] })
@@ -2029,5 +2504,5 @@ const bt = structuredClone(dt), Qe = 5, Te = ({ item: g, hint: s, isDragging: l
2029
2504
  );
2030
2505
  };
2031
2506
  export {
2032
- xt as MeliesVideoEditor
2507
+ gn as MeliesVideoEditor
2033
2508
  };