melies-video-editor 0.1.2 → 0.1.3
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.cjs +8 -8
- package/dist/index.js +1417 -1297
- package/dist/style.css +1 -1
- package/dist/types/App.d.ts +17 -1
- package/dist/types/dev/DevRoot.d.ts +4 -0
- package/dist/types/dev/HostApp.d.ts +6 -1
- package/dist/types/dev/opfs.d.ts +23 -0
- package/dist/types/mediaCache.d.ts +9 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Timeline as
|
|
3
|
-
import { Howl as
|
|
4
|
-
import { Select as
|
|
5
|
-
import { useSensors as
|
|
6
|
-
var Xe = { exports: {} },
|
|
1
|
+
import lt, { useState as cA, useRef as tA, useEffect as Ee, useMemo as We, useLayoutEffect as Rt } from "react";
|
|
2
|
+
import { Timeline as Ot } from "@xzdarcy/react-timeline-editor";
|
|
3
|
+
import { Howl as bt, Howler as St } from "howler";
|
|
4
|
+
import { Select as dt, Button as Ht } from "antd";
|
|
5
|
+
import { useSensors as yt, useSensor as rt, PointerSensor as Nt, TouchSensor as Ut, useDroppable as Pt, DndContext as xt, rectIntersection as Mt, DragOverlay as kt, useDraggable as Jt } from "@dnd-kit/core";
|
|
6
|
+
var Xe = { exports: {} }, Ne = {};
|
|
7
7
|
var it;
|
|
8
|
-
function
|
|
9
|
-
if (it) return
|
|
8
|
+
function Lt() {
|
|
9
|
+
if (it) return Ne;
|
|
10
10
|
it = 1;
|
|
11
|
-
var B =
|
|
12
|
-
function
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
for (
|
|
16
|
-
if (
|
|
17
|
-
return { $$typeof:
|
|
11
|
+
var B = lt, o = /* @__PURE__ */ Symbol.for("react.element"), d = /* @__PURE__ */ Symbol.for("react.fragment"), c = Object.prototype.hasOwnProperty, l = B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, E = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
12
|
+
function m(O, S, G) {
|
|
13
|
+
var M, z = {}, F = null, BA = null;
|
|
14
|
+
G !== void 0 && (F = "" + G), S.key !== void 0 && (F = "" + S.key), S.ref !== void 0 && (BA = S.ref);
|
|
15
|
+
for (M in S) c.call(S, M) && !E.hasOwnProperty(M) && (z[M] = S[M]);
|
|
16
|
+
if (O && O.defaultProps) for (M in S = O.defaultProps, S) z[M] === void 0 && (z[M] = S[M]);
|
|
17
|
+
return { $$typeof: o, type: O, key: F, ref: BA, props: z, _owner: l.current };
|
|
18
18
|
}
|
|
19
|
-
return
|
|
19
|
+
return Ne.Fragment = d, Ne.jsx = m, Ne.jsxs = m, Ne;
|
|
20
20
|
}
|
|
21
|
-
var
|
|
21
|
+
var Ue = {};
|
|
22
22
|
var ot;
|
|
23
|
-
function
|
|
23
|
+
function Gt() {
|
|
24
24
|
return ot || (ot = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
25
|
-
var B =
|
|
26
|
-
function
|
|
25
|
+
var B = lt, o = /* @__PURE__ */ Symbol.for("react.element"), d = /* @__PURE__ */ Symbol.for("react.portal"), c = /* @__PURE__ */ Symbol.for("react.fragment"), l = /* @__PURE__ */ Symbol.for("react.strict_mode"), E = /* @__PURE__ */ Symbol.for("react.profiler"), m = /* @__PURE__ */ Symbol.for("react.provider"), O = /* @__PURE__ */ Symbol.for("react.context"), S = /* @__PURE__ */ Symbol.for("react.forward_ref"), G = /* @__PURE__ */ Symbol.for("react.suspense"), M = /* @__PURE__ */ Symbol.for("react.suspense_list"), z = /* @__PURE__ */ Symbol.for("react.memo"), F = /* @__PURE__ */ Symbol.for("react.lazy"), BA = /* @__PURE__ */ Symbol.for("react.offscreen"), iA = Symbol.iterator, lA = "@@iterator";
|
|
26
|
+
function oA(e) {
|
|
27
27
|
if (e === null || typeof e != "object")
|
|
28
28
|
return null;
|
|
29
|
-
var g =
|
|
29
|
+
var g = iA && e[iA] || e[lA];
|
|
30
30
|
return typeof g == "function" ? g : null;
|
|
31
31
|
}
|
|
32
|
-
var
|
|
33
|
-
function
|
|
32
|
+
var kA = B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
|
33
|
+
function AA(e) {
|
|
34
34
|
{
|
|
35
|
-
for (var g = arguments.length,
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
for (var g = arguments.length, Q = new Array(g > 1 ? g - 1 : 0), v = 1; v < g; v++)
|
|
36
|
+
Q[v - 1] = arguments[v];
|
|
37
|
+
Qe("error", e, Q);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
function
|
|
40
|
+
function Qe(e, g, Q) {
|
|
41
41
|
{
|
|
42
|
-
var
|
|
43
|
-
j !== "" && (g += "%s",
|
|
44
|
-
var
|
|
45
|
-
return String(
|
|
42
|
+
var v = kA.ReactDebugCurrentFrame, j = v.getStackAddendum();
|
|
43
|
+
j !== "" && (g += "%s", Q = Q.concat([j]));
|
|
44
|
+
var W = Q.map(function(k) {
|
|
45
|
+
return String(k);
|
|
46
46
|
});
|
|
47
|
-
|
|
47
|
+
W.unshift("Warning: " + g), Function.prototype.apply.call(console[e], console, W);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
function
|
|
53
|
-
return !!(typeof e == "string" || typeof e == "function" || e === c || e ===
|
|
50
|
+
var ie = !1, oe = !1, se = !1, ae = !1, ce = !1, JA;
|
|
51
|
+
JA = /* @__PURE__ */ Symbol.for("react.module.reference");
|
|
52
|
+
function dA(e) {
|
|
53
|
+
return !!(typeof e == "string" || typeof e == "function" || e === c || e === E || ce || e === l || e === G || e === M || ae || e === BA || ie || oe || se || typeof e == "object" && e !== null && (e.$$typeof === F || e.$$typeof === z || e.$$typeof === m || e.$$typeof === O || 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 ===
|
|
57
|
+
e.$$typeof === JA || e.getModuleId !== void 0));
|
|
58
58
|
}
|
|
59
|
-
function
|
|
60
|
-
var
|
|
61
|
-
if (
|
|
62
|
-
return
|
|
59
|
+
function WA(e, g, Q) {
|
|
60
|
+
var v = e.displayName;
|
|
61
|
+
if (v)
|
|
62
|
+
return v;
|
|
63
63
|
var j = g.displayName || g.name || "";
|
|
64
|
-
return j !== "" ?
|
|
64
|
+
return j !== "" ? Q + "(" + j + ")" : Q;
|
|
65
65
|
}
|
|
66
|
-
function
|
|
66
|
+
function LA(e) {
|
|
67
67
|
return e.displayName || "Context";
|
|
68
68
|
}
|
|
69
|
-
function
|
|
69
|
+
function QA(e) {
|
|
70
70
|
if (e == null)
|
|
71
71
|
return null;
|
|
72
|
-
if (typeof e.tag == "number" &&
|
|
72
|
+
if (typeof e.tag == "number" && AA("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;
|
|
@@ -78,32 +78,32 @@ function St() {
|
|
|
78
78
|
return "Fragment";
|
|
79
79
|
case d:
|
|
80
80
|
return "Portal";
|
|
81
|
-
case
|
|
81
|
+
case E:
|
|
82
82
|
return "Profiler";
|
|
83
|
-
case
|
|
83
|
+
case l:
|
|
84
84
|
return "StrictMode";
|
|
85
|
-
case
|
|
85
|
+
case G:
|
|
86
86
|
return "Suspense";
|
|
87
|
-
case
|
|
87
|
+
case M:
|
|
88
88
|
return "SuspenseList";
|
|
89
89
|
}
|
|
90
90
|
if (typeof e == "object")
|
|
91
91
|
switch (e.$$typeof) {
|
|
92
|
-
case
|
|
92
|
+
case O:
|
|
93
93
|
var g = e;
|
|
94
|
-
return
|
|
95
|
-
case
|
|
96
|
-
var
|
|
97
|
-
return
|
|
94
|
+
return LA(g) + ".Consumer";
|
|
95
|
+
case m:
|
|
96
|
+
var Q = e;
|
|
97
|
+
return LA(Q._context) + ".Provider";
|
|
98
98
|
case S:
|
|
99
|
-
return
|
|
100
|
-
case
|
|
101
|
-
var
|
|
102
|
-
return
|
|
103
|
-
case
|
|
104
|
-
var j = e,
|
|
99
|
+
return WA(e, e.render, "ForwardRef");
|
|
100
|
+
case z:
|
|
101
|
+
var v = e.displayName || null;
|
|
102
|
+
return v !== null ? v : QA(e.type) || "Memo";
|
|
103
|
+
case F: {
|
|
104
|
+
var j = e, W = j._payload, k = j._init;
|
|
105
105
|
try {
|
|
106
|
-
return
|
|
106
|
+
return QA(k(W));
|
|
107
107
|
} catch {
|
|
108
108
|
return null;
|
|
109
109
|
}
|
|
@@ -111,18 +111,18 @@ function St() {
|
|
|
111
111
|
}
|
|
112
112
|
return null;
|
|
113
113
|
}
|
|
114
|
-
var
|
|
115
|
-
function
|
|
114
|
+
var pA = Object.assign, wA = 0, TA, we, VA, Ie, ZA, y, nA;
|
|
115
|
+
function rA() {
|
|
116
116
|
}
|
|
117
|
-
|
|
118
|
-
function
|
|
117
|
+
rA.__reactDisabledLog = !0;
|
|
118
|
+
function Z() {
|
|
119
119
|
{
|
|
120
|
-
if (
|
|
121
|
-
|
|
120
|
+
if (wA === 0) {
|
|
121
|
+
TA = console.log, we = console.info, VA = console.warn, Ie = console.error, ZA = console.group, y = console.groupCollapsed, nA = console.groupEnd;
|
|
122
122
|
var e = {
|
|
123
123
|
configurable: !0,
|
|
124
124
|
enumerable: !0,
|
|
125
|
-
value:
|
|
125
|
+
value: rA,
|
|
126
126
|
writable: !0
|
|
127
127
|
};
|
|
128
128
|
Object.defineProperties(console, {
|
|
@@ -135,332 +135,332 @@ function St() {
|
|
|
135
135
|
groupEnd: e
|
|
136
136
|
});
|
|
137
137
|
}
|
|
138
|
-
|
|
138
|
+
wA++;
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
function
|
|
141
|
+
function _() {
|
|
142
142
|
{
|
|
143
|
-
if (
|
|
143
|
+
if (wA--, wA === 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:
|
|
151
|
-
value:
|
|
150
|
+
log: pA({}, e, {
|
|
151
|
+
value: TA
|
|
152
152
|
}),
|
|
153
|
-
info:
|
|
154
|
-
value:
|
|
153
|
+
info: pA({}, e, {
|
|
154
|
+
value: we
|
|
155
155
|
}),
|
|
156
|
-
warn:
|
|
157
|
-
value:
|
|
156
|
+
warn: pA({}, e, {
|
|
157
|
+
value: VA
|
|
158
158
|
}),
|
|
159
|
-
error:
|
|
160
|
-
value:
|
|
159
|
+
error: pA({}, e, {
|
|
160
|
+
value: Ie
|
|
161
161
|
}),
|
|
162
|
-
group:
|
|
163
|
-
value:
|
|
162
|
+
group: pA({}, e, {
|
|
163
|
+
value: ZA
|
|
164
164
|
}),
|
|
165
|
-
groupCollapsed:
|
|
166
|
-
value:
|
|
165
|
+
groupCollapsed: pA({}, e, {
|
|
166
|
+
value: y
|
|
167
167
|
}),
|
|
168
|
-
groupEnd:
|
|
169
|
-
value:
|
|
168
|
+
groupEnd: pA({}, e, {
|
|
169
|
+
value: nA
|
|
170
170
|
})
|
|
171
171
|
});
|
|
172
172
|
}
|
|
173
|
-
|
|
173
|
+
wA < 0 && AA("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
|
-
var
|
|
177
|
-
function
|
|
176
|
+
var sA = kA.ReactCurrentDispatcher, gA;
|
|
177
|
+
function IA(e, g, Q) {
|
|
178
178
|
{
|
|
179
|
-
if (
|
|
179
|
+
if (gA === void 0)
|
|
180
180
|
try {
|
|
181
181
|
throw Error();
|
|
182
182
|
} catch (j) {
|
|
183
|
-
var
|
|
184
|
-
|
|
183
|
+
var v = j.stack.trim().match(/\n( *(at )?)/);
|
|
184
|
+
gA = v && v[1] || "";
|
|
185
185
|
}
|
|
186
186
|
return `
|
|
187
|
-
` +
|
|
187
|
+
` + gA + e;
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
|
-
var
|
|
190
|
+
var GA = !1, UA;
|
|
191
191
|
{
|
|
192
|
-
var
|
|
193
|
-
|
|
192
|
+
var _A = typeof WeakMap == "function" ? WeakMap : Map;
|
|
193
|
+
UA = new _A();
|
|
194
194
|
}
|
|
195
|
-
function
|
|
196
|
-
if (!e ||
|
|
195
|
+
function bA(e, g) {
|
|
196
|
+
if (!e || GA)
|
|
197
197
|
return "";
|
|
198
198
|
{
|
|
199
|
-
var
|
|
200
|
-
if (
|
|
201
|
-
return
|
|
199
|
+
var Q = UA.get(e);
|
|
200
|
+
if (Q !== void 0)
|
|
201
|
+
return Q;
|
|
202
202
|
}
|
|
203
|
-
var
|
|
204
|
-
|
|
203
|
+
var v;
|
|
204
|
+
GA = !0;
|
|
205
205
|
var j = Error.prepareStackTrace;
|
|
206
206
|
Error.prepareStackTrace = void 0;
|
|
207
|
-
var
|
|
208
|
-
|
|
207
|
+
var W;
|
|
208
|
+
W = sA.current, sA.current = null, Z();
|
|
209
209
|
try {
|
|
210
210
|
if (g) {
|
|
211
|
-
var
|
|
211
|
+
var k = function() {
|
|
212
212
|
throw Error();
|
|
213
213
|
};
|
|
214
|
-
if (Object.defineProperty(
|
|
214
|
+
if (Object.defineProperty(k.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(
|
|
221
|
-
} catch (
|
|
222
|
-
|
|
220
|
+
Reflect.construct(k, []);
|
|
221
|
+
} catch (FA) {
|
|
222
|
+
v = FA;
|
|
223
223
|
}
|
|
224
|
-
Reflect.construct(e, [],
|
|
224
|
+
Reflect.construct(e, [], k);
|
|
225
225
|
} else {
|
|
226
226
|
try {
|
|
227
|
-
|
|
228
|
-
} catch (
|
|
229
|
-
|
|
227
|
+
k.call();
|
|
228
|
+
} catch (FA) {
|
|
229
|
+
v = FA;
|
|
230
230
|
}
|
|
231
|
-
e.call(
|
|
231
|
+
e.call(k.prototype);
|
|
232
232
|
}
|
|
233
233
|
} else {
|
|
234
234
|
try {
|
|
235
235
|
throw Error();
|
|
236
|
-
} catch (
|
|
237
|
-
|
|
236
|
+
} catch (FA) {
|
|
237
|
+
v = FA;
|
|
238
238
|
}
|
|
239
239
|
e();
|
|
240
240
|
}
|
|
241
|
-
} catch (
|
|
242
|
-
if (
|
|
243
|
-
for (var
|
|
244
|
-
`),
|
|
245
|
-
`),
|
|
246
|
-
|
|
247
|
-
for (;
|
|
248
|
-
if (
|
|
249
|
-
if (
|
|
241
|
+
} catch (FA) {
|
|
242
|
+
if (FA && v && typeof FA.stack == "string") {
|
|
243
|
+
for (var P = FA.stack.split(`
|
|
244
|
+
`), fA = v.stack.split(`
|
|
245
|
+
`), X = P.length - 1, eA = fA.length - 1; X >= 1 && eA >= 0 && P[X] !== fA[eA]; )
|
|
246
|
+
eA--;
|
|
247
|
+
for (; X >= 1 && eA >= 0; X--, eA--)
|
|
248
|
+
if (P[X] !== fA[eA]) {
|
|
249
|
+
if (X !== 1 || eA !== 1)
|
|
250
250
|
do
|
|
251
|
-
if (
|
|
252
|
-
var
|
|
253
|
-
` +
|
|
254
|
-
return e.displayName &&
|
|
251
|
+
if (X--, eA--, eA < 0 || P[X] !== fA[eA]) {
|
|
252
|
+
var OA = `
|
|
253
|
+
` + P[X].replace(" at new ", " at ");
|
|
254
|
+
return e.displayName && OA.includes("<anonymous>") && (OA = OA.replace("<anonymous>", e.displayName)), typeof e == "function" && UA.set(e, OA), OA;
|
|
255
255
|
}
|
|
256
|
-
while (
|
|
256
|
+
while (X >= 1 && eA >= 0);
|
|
257
257
|
break;
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
} finally {
|
|
261
|
-
|
|
261
|
+
GA = !1, sA.current = W, _(), Error.prepareStackTrace = j;
|
|
262
262
|
}
|
|
263
|
-
var
|
|
264
|
-
return typeof e == "function" &&
|
|
263
|
+
var ne = e ? e.displayName || e.name : "", XA = ne ? IA(ne) : "";
|
|
264
|
+
return typeof e == "function" && UA.set(e, XA), XA;
|
|
265
265
|
}
|
|
266
|
-
function
|
|
267
|
-
return
|
|
266
|
+
function De(e, g, Q) {
|
|
267
|
+
return bA(e, !1);
|
|
268
268
|
}
|
|
269
|
-
function
|
|
269
|
+
function $A(e) {
|
|
270
270
|
var g = e.prototype;
|
|
271
271
|
return !!(g && g.isReactComponent);
|
|
272
272
|
}
|
|
273
|
-
function
|
|
273
|
+
function he(e, g, Q) {
|
|
274
274
|
if (e == null)
|
|
275
275
|
return "";
|
|
276
276
|
if (typeof e == "function")
|
|
277
|
-
return
|
|
277
|
+
return bA(e, $A(e));
|
|
278
278
|
if (typeof e == "string")
|
|
279
|
-
return
|
|
279
|
+
return IA(e);
|
|
280
280
|
switch (e) {
|
|
281
|
-
case
|
|
282
|
-
return
|
|
283
|
-
case
|
|
284
|
-
return
|
|
281
|
+
case G:
|
|
282
|
+
return IA("Suspense");
|
|
283
|
+
case M:
|
|
284
|
+
return IA("SuspenseList");
|
|
285
285
|
}
|
|
286
286
|
if (typeof e == "object")
|
|
287
287
|
switch (e.$$typeof) {
|
|
288
288
|
case S:
|
|
289
|
-
return
|
|
290
|
-
case
|
|
291
|
-
return
|
|
292
|
-
case
|
|
293
|
-
var
|
|
289
|
+
return De(e.render);
|
|
290
|
+
case z:
|
|
291
|
+
return he(e.type, g, Q);
|
|
292
|
+
case F: {
|
|
293
|
+
var v = e, j = v._payload, W = v._init;
|
|
294
294
|
try {
|
|
295
|
-
return
|
|
295
|
+
return he(W(j), g, Q);
|
|
296
296
|
} catch {
|
|
297
297
|
}
|
|
298
298
|
}
|
|
299
299
|
}
|
|
300
300
|
return "";
|
|
301
301
|
}
|
|
302
|
-
var
|
|
303
|
-
function
|
|
302
|
+
var PA = Object.prototype.hasOwnProperty, Oe = {}, CA = kA.ReactDebugCurrentFrame;
|
|
303
|
+
function xA(e) {
|
|
304
304
|
if (e) {
|
|
305
|
-
var g = e._owner,
|
|
306
|
-
|
|
305
|
+
var g = e._owner, Q = he(e.type, e._source, g ? g.type : null);
|
|
306
|
+
CA.setExtraStackFrame(Q);
|
|
307
307
|
} else
|
|
308
|
-
|
|
308
|
+
CA.setExtraStackFrame(null);
|
|
309
309
|
}
|
|
310
|
-
function
|
|
310
|
+
function Pe(e, g, Q, v, j) {
|
|
311
311
|
{
|
|
312
|
-
var
|
|
313
|
-
for (var
|
|
314
|
-
if (
|
|
315
|
-
var
|
|
312
|
+
var W = Function.call.bind(PA);
|
|
313
|
+
for (var k in e)
|
|
314
|
+
if (W(e, k)) {
|
|
315
|
+
var P = void 0;
|
|
316
316
|
try {
|
|
317
|
-
if (typeof e[
|
|
318
|
-
var
|
|
319
|
-
throw
|
|
317
|
+
if (typeof e[k] != "function") {
|
|
318
|
+
var fA = Error((v || "React class") + ": " + Q + " type `" + k + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[k] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
|
319
|
+
throw fA.name = "Invariant Violation", fA;
|
|
320
320
|
}
|
|
321
|
-
|
|
322
|
-
} catch (
|
|
323
|
-
|
|
321
|
+
P = e[k](g, k, v, Q, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
|
322
|
+
} catch (X) {
|
|
323
|
+
P = X;
|
|
324
324
|
}
|
|
325
|
-
|
|
325
|
+
P && !(P instanceof Error) && (xA(j), AA("%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).", v || "React class", Q, k, typeof P), xA(null)), P instanceof Error && !(P.message in Oe) && (Oe[P.message] = !0, xA(j), AA("Failed %s type: %s", Q, P.message), xA(null));
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
|
-
var
|
|
330
|
-
function
|
|
331
|
-
return
|
|
329
|
+
var ge = Array.isArray;
|
|
330
|
+
function Ae(e) {
|
|
331
|
+
return ge(e);
|
|
332
332
|
}
|
|
333
|
-
function
|
|
333
|
+
function YA(e) {
|
|
334
334
|
{
|
|
335
|
-
var g = typeof Symbol == "function" && Symbol.toStringTag,
|
|
336
|
-
return
|
|
335
|
+
var g = typeof Symbol == "function" && Symbol.toStringTag, Q = g && e[Symbol.toStringTag] || e.constructor.name || "Object";
|
|
336
|
+
return Q;
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
|
-
function
|
|
339
|
+
function me(e) {
|
|
340
340
|
try {
|
|
341
|
-
return
|
|
341
|
+
return SA(e), !1;
|
|
342
342
|
} catch {
|
|
343
343
|
return !0;
|
|
344
344
|
}
|
|
345
345
|
}
|
|
346
|
-
function
|
|
346
|
+
function SA(e) {
|
|
347
347
|
return "" + e;
|
|
348
348
|
}
|
|
349
|
-
function
|
|
350
|
-
if (
|
|
351
|
-
return
|
|
349
|
+
function be(e) {
|
|
350
|
+
if (me(e))
|
|
351
|
+
return AA("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", YA(e)), SA(e);
|
|
352
352
|
}
|
|
353
|
-
var
|
|
353
|
+
var Fe = kA.ReactCurrentOwner, qe = {
|
|
354
354
|
key: !0,
|
|
355
355
|
ref: !0,
|
|
356
356
|
__self: !0,
|
|
357
357
|
__source: !0
|
|
358
|
-
},
|
|
359
|
-
function
|
|
360
|
-
if (
|
|
358
|
+
}, vA, DA;
|
|
359
|
+
function HA(e) {
|
|
360
|
+
if (PA.call(e, "ref")) {
|
|
361
361
|
var g = Object.getOwnPropertyDescriptor(e, "ref").get;
|
|
362
362
|
if (g && g.isReactWarning)
|
|
363
363
|
return !1;
|
|
364
364
|
}
|
|
365
365
|
return e.ref !== void 0;
|
|
366
366
|
}
|
|
367
|
-
function
|
|
368
|
-
if (
|
|
367
|
+
function Be(e) {
|
|
368
|
+
if (PA.call(e, "key")) {
|
|
369
369
|
var g = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
370
370
|
if (g && g.isReactWarning)
|
|
371
371
|
return !1;
|
|
372
372
|
}
|
|
373
373
|
return e.key !== void 0;
|
|
374
374
|
}
|
|
375
|
-
function
|
|
376
|
-
typeof e.ref == "string" &&
|
|
375
|
+
function xe(e, g) {
|
|
376
|
+
typeof e.ref == "string" && Fe.current;
|
|
377
377
|
}
|
|
378
|
-
function
|
|
378
|
+
function Me(e, g) {
|
|
379
379
|
{
|
|
380
|
-
var
|
|
381
|
-
|
|
380
|
+
var Q = function() {
|
|
381
|
+
vA || (vA = !0, AA("%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
|
-
|
|
384
|
-
get:
|
|
383
|
+
Q.isReactWarning = !0, Object.defineProperty(e, "key", {
|
|
384
|
+
get: Q,
|
|
385
385
|
configurable: !0
|
|
386
386
|
});
|
|
387
387
|
}
|
|
388
388
|
}
|
|
389
|
-
function
|
|
389
|
+
function RA(e, g) {
|
|
390
390
|
{
|
|
391
|
-
var
|
|
392
|
-
|
|
391
|
+
var Q = function() {
|
|
392
|
+
DA || (DA = !0, AA("%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
|
-
|
|
395
|
-
get:
|
|
394
|
+
Q.isReactWarning = !0, Object.defineProperty(e, "ref", {
|
|
395
|
+
get: Q,
|
|
396
396
|
configurable: !0
|
|
397
397
|
});
|
|
398
398
|
}
|
|
399
399
|
}
|
|
400
|
-
var
|
|
401
|
-
var
|
|
400
|
+
var $ = function(e, g, Q, v, j, W, k) {
|
|
401
|
+
var P = {
|
|
402
402
|
// This tag allows us to uniquely identify this as a React Element
|
|
403
|
-
$$typeof:
|
|
403
|
+
$$typeof: o,
|
|
404
404
|
// Built-in properties that belong on the element
|
|
405
405
|
type: e,
|
|
406
406
|
key: g,
|
|
407
|
-
ref:
|
|
408
|
-
props:
|
|
407
|
+
ref: Q,
|
|
408
|
+
props: k,
|
|
409
409
|
// Record the component responsible for creating this element.
|
|
410
|
-
_owner:
|
|
410
|
+
_owner: W
|
|
411
411
|
};
|
|
412
|
-
return
|
|
412
|
+
return P._store = {}, Object.defineProperty(P._store, "validated", {
|
|
413
413
|
configurable: !1,
|
|
414
414
|
enumerable: !1,
|
|
415
415
|
writable: !0,
|
|
416
416
|
value: !1
|
|
417
|
-
}), Object.defineProperty(
|
|
417
|
+
}), Object.defineProperty(P, "_self", {
|
|
418
418
|
configurable: !1,
|
|
419
419
|
enumerable: !1,
|
|
420
420
|
writable: !1,
|
|
421
|
-
value:
|
|
422
|
-
}), Object.defineProperty(
|
|
421
|
+
value: v
|
|
422
|
+
}), Object.defineProperty(P, "_source", {
|
|
423
423
|
configurable: !1,
|
|
424
424
|
enumerable: !1,
|
|
425
425
|
writable: !1,
|
|
426
426
|
value: j
|
|
427
|
-
}), Object.freeze && (Object.freeze(
|
|
427
|
+
}), Object.freeze && (Object.freeze(P.props), Object.freeze(P)), P;
|
|
428
428
|
};
|
|
429
|
-
function
|
|
429
|
+
function hA(e, g, Q, v, j) {
|
|
430
430
|
{
|
|
431
|
-
var
|
|
432
|
-
|
|
433
|
-
for (
|
|
434
|
-
|
|
431
|
+
var W, k = {}, P = null, fA = null;
|
|
432
|
+
Q !== void 0 && (be(Q), P = "" + Q), Be(g) && (be(g.key), P = "" + g.key), HA(g) && (fA = g.ref, xe(g, j));
|
|
433
|
+
for (W in g)
|
|
434
|
+
PA.call(g, W) && !qe.hasOwnProperty(W) && (k[W] = g[W]);
|
|
435
435
|
if (e && e.defaultProps) {
|
|
436
|
-
var
|
|
437
|
-
for (
|
|
438
|
-
|
|
436
|
+
var X = e.defaultProps;
|
|
437
|
+
for (W in X)
|
|
438
|
+
k[W] === void 0 && (k[W] = X[W]);
|
|
439
439
|
}
|
|
440
|
-
if (
|
|
441
|
-
var
|
|
442
|
-
|
|
440
|
+
if (P || fA) {
|
|
441
|
+
var eA = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
|
|
442
|
+
P && Me(k, eA), fA && RA(k, eA);
|
|
443
443
|
}
|
|
444
|
-
return
|
|
444
|
+
return $(e, P, fA, j, v, Fe.current, k);
|
|
445
445
|
}
|
|
446
446
|
}
|
|
447
|
-
var
|
|
448
|
-
function
|
|
447
|
+
var ue = kA.ReactCurrentOwner, ee = kA.ReactDebugCurrentFrame;
|
|
448
|
+
function yA(e) {
|
|
449
449
|
if (e) {
|
|
450
|
-
var g = e._owner,
|
|
451
|
-
|
|
450
|
+
var g = e._owner, Q = he(e.type, e._source, g ? g.type : null);
|
|
451
|
+
ee.setExtraStackFrame(Q);
|
|
452
452
|
} else
|
|
453
|
-
|
|
453
|
+
ee.setExtraStackFrame(null);
|
|
454
454
|
}
|
|
455
455
|
var te;
|
|
456
456
|
te = !1;
|
|
457
|
-
function
|
|
458
|
-
return typeof e == "object" && e !== null && e.$$typeof ===
|
|
457
|
+
function MA(e) {
|
|
458
|
+
return typeof e == "object" && e !== null && e.$$typeof === o;
|
|
459
459
|
}
|
|
460
|
-
function
|
|
460
|
+
function mA() {
|
|
461
461
|
{
|
|
462
|
-
if (
|
|
463
|
-
var e =
|
|
462
|
+
if (ue.current) {
|
|
463
|
+
var e = QA(ue.current.type);
|
|
464
464
|
if (e)
|
|
465
465
|
return `
|
|
466
466
|
|
|
@@ -469,185 +469,203 @@ Check the render method of \`` + e + "`.";
|
|
|
469
469
|
return "";
|
|
470
470
|
}
|
|
471
471
|
}
|
|
472
|
-
function
|
|
472
|
+
function KA(e) {
|
|
473
473
|
return "";
|
|
474
474
|
}
|
|
475
|
-
var
|
|
475
|
+
var ke = {};
|
|
476
476
|
function Ve(e) {
|
|
477
477
|
{
|
|
478
|
-
var g =
|
|
478
|
+
var g = mA();
|
|
479
479
|
if (!g) {
|
|
480
|
-
var
|
|
481
|
-
|
|
480
|
+
var Q = typeof e == "string" ? e : e.displayName || e.name;
|
|
481
|
+
Q && (g = `
|
|
482
482
|
|
|
483
|
-
Check the top-level render call using <` +
|
|
483
|
+
Check the top-level render call using <` + Q + ">.");
|
|
484
484
|
}
|
|
485
485
|
return g;
|
|
486
486
|
}
|
|
487
487
|
}
|
|
488
|
-
function
|
|
488
|
+
function le(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
|
|
494
|
-
if (
|
|
493
|
+
var Q = Ve(g);
|
|
494
|
+
if (ke[Q])
|
|
495
495
|
return;
|
|
496
|
-
|
|
497
|
-
var
|
|
498
|
-
e && e._owner && e._owner !==
|
|
496
|
+
ke[Q] = !0;
|
|
497
|
+
var v = "";
|
|
498
|
+
e && e._owner && e._owner !== ue.current && (v = " It was passed a child from " + QA(e._owner.type) + "."), yA(e), AA('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', Q, v), yA(null);
|
|
499
499
|
}
|
|
500
500
|
}
|
|
501
|
-
function
|
|
501
|
+
function de(e, g) {
|
|
502
502
|
{
|
|
503
503
|
if (typeof e != "object")
|
|
504
504
|
return;
|
|
505
|
-
if (
|
|
506
|
-
for (var
|
|
507
|
-
var
|
|
508
|
-
|
|
505
|
+
if (Ae(e))
|
|
506
|
+
for (var Q = 0; Q < e.length; Q++) {
|
|
507
|
+
var v = e[Q];
|
|
508
|
+
MA(v) && le(v, g);
|
|
509
509
|
}
|
|
510
|
-
else if (
|
|
510
|
+
else if (MA(e))
|
|
511
511
|
e._store && (e._store.validated = !0);
|
|
512
512
|
else if (e) {
|
|
513
|
-
var j =
|
|
513
|
+
var j = oA(e);
|
|
514
514
|
if (typeof j == "function" && j !== e.entries)
|
|
515
|
-
for (var
|
|
516
|
-
|
|
515
|
+
for (var W = j.call(e), k; !(k = W.next()).done; )
|
|
516
|
+
MA(k.value) && le(k.value, g);
|
|
517
517
|
}
|
|
518
518
|
}
|
|
519
519
|
}
|
|
520
|
-
function
|
|
520
|
+
function Je(e) {
|
|
521
521
|
{
|
|
522
522
|
var g = e.type;
|
|
523
523
|
if (g == null || typeof g == "string")
|
|
524
524
|
return;
|
|
525
|
-
var
|
|
525
|
+
var Q;
|
|
526
526
|
if (typeof g == "function")
|
|
527
|
-
|
|
527
|
+
Q = g.propTypes;
|
|
528
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
|
-
g.$$typeof ===
|
|
531
|
-
|
|
530
|
+
g.$$typeof === z))
|
|
531
|
+
Q = g.propTypes;
|
|
532
532
|
else
|
|
533
533
|
return;
|
|
534
|
-
if (
|
|
535
|
-
var
|
|
536
|
-
|
|
534
|
+
if (Q) {
|
|
535
|
+
var v = QA(g);
|
|
536
|
+
Pe(Q, e.props, "prop", v, e);
|
|
537
537
|
} else if (g.PropTypes !== void 0 && !te) {
|
|
538
538
|
te = !0;
|
|
539
|
-
var j =
|
|
540
|
-
|
|
539
|
+
var j = QA(g);
|
|
540
|
+
AA("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", j || "Unknown");
|
|
541
541
|
}
|
|
542
|
-
typeof g.getDefaultProps == "function" && !g.getDefaultProps.isReactClassApproved &&
|
|
542
|
+
typeof g.getDefaultProps == "function" && !g.getDefaultProps.isReactClassApproved && AA("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
|
-
function
|
|
545
|
+
function Le(e) {
|
|
546
546
|
{
|
|
547
|
-
for (var g = Object.keys(e.props),
|
|
548
|
-
var
|
|
549
|
-
if (
|
|
550
|
-
|
|
547
|
+
for (var g = Object.keys(e.props), Q = 0; Q < g.length; Q++) {
|
|
548
|
+
var v = g[Q];
|
|
549
|
+
if (v !== "children" && v !== "key") {
|
|
550
|
+
yA(e), AA("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", v), yA(null);
|
|
551
551
|
break;
|
|
552
552
|
}
|
|
553
553
|
}
|
|
554
|
-
e.ref !== null && (
|
|
554
|
+
e.ref !== null && (yA(e), AA("Invalid attribute `ref` supplied to `React.Fragment`."), yA(null));
|
|
555
555
|
}
|
|
556
556
|
}
|
|
557
|
-
var
|
|
558
|
-
function
|
|
557
|
+
var Se = {};
|
|
558
|
+
function Ge(e, g, Q, v, j, W) {
|
|
559
559
|
{
|
|
560
|
-
var
|
|
561
|
-
if (!
|
|
562
|
-
var
|
|
563
|
-
(e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (
|
|
564
|
-
var
|
|
565
|
-
|
|
566
|
-
var
|
|
567
|
-
e === null ?
|
|
560
|
+
var k = dA(e);
|
|
561
|
+
if (!k) {
|
|
562
|
+
var P = "";
|
|
563
|
+
(e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (P += " 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 fA = KA();
|
|
565
|
+
fA ? P += fA : P += mA();
|
|
566
|
+
var X;
|
|
567
|
+
e === null ? X = "null" : Ae(e) ? X = "array" : e !== void 0 && e.$$typeof === o ? (X = "<" + (QA(e.type) || "Unknown") + " />", P = " Did you accidentally export a JSX literal instead of a component?") : X = typeof e, AA("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", X, P);
|
|
568
568
|
}
|
|
569
|
-
var
|
|
570
|
-
if (
|
|
571
|
-
return
|
|
572
|
-
if (
|
|
573
|
-
var
|
|
574
|
-
if (
|
|
575
|
-
if (
|
|
576
|
-
if (
|
|
577
|
-
for (var
|
|
578
|
-
|
|
579
|
-
Object.freeze && Object.freeze(
|
|
569
|
+
var eA = hA(e, g, Q, j, W);
|
|
570
|
+
if (eA == null)
|
|
571
|
+
return eA;
|
|
572
|
+
if (k) {
|
|
573
|
+
var OA = g.children;
|
|
574
|
+
if (OA !== void 0)
|
|
575
|
+
if (v)
|
|
576
|
+
if (Ae(OA)) {
|
|
577
|
+
for (var ne = 0; ne < OA.length; ne++)
|
|
578
|
+
de(OA[ne], e);
|
|
579
|
+
Object.freeze && Object.freeze(OA);
|
|
580
580
|
} else
|
|
581
|
-
|
|
581
|
+
AA("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
|
-
|
|
583
|
+
de(OA, e);
|
|
584
584
|
}
|
|
585
|
-
if (
|
|
586
|
-
var
|
|
587
|
-
return
|
|
588
|
-
}),
|
|
589
|
-
if (!
|
|
590
|
-
var
|
|
591
|
-
|
|
585
|
+
if (PA.call(g, "key")) {
|
|
586
|
+
var XA = QA(e), FA = Object.keys(g).filter(function(At) {
|
|
587
|
+
return At !== "key";
|
|
588
|
+
}), He = FA.length > 0 ? "{key: someKey, " + FA.join(": ..., ") + ": ...}" : "{key: someKey}";
|
|
589
|
+
if (!Se[XA + He]) {
|
|
590
|
+
var $e = FA.length > 0 ? "{" + FA.join(": ..., ") + ": ...}" : "{}";
|
|
591
|
+
AA(`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} />`,
|
|
596
|
+
<%s key={someKey} {...props} />`, He, XA, $e, XA), Se[XA + He] = !0;
|
|
597
597
|
}
|
|
598
598
|
}
|
|
599
|
-
return e === c ?
|
|
599
|
+
return e === c ? Le(eA) : Je(eA), eA;
|
|
600
600
|
}
|
|
601
601
|
}
|
|
602
|
-
function
|
|
603
|
-
return
|
|
602
|
+
function Ze(e, g, Q) {
|
|
603
|
+
return Ge(e, g, Q, !0);
|
|
604
604
|
}
|
|
605
|
-
function
|
|
606
|
-
return
|
|
605
|
+
function _e(e, g, Q) {
|
|
606
|
+
return Ge(e, g, Q, !1);
|
|
607
607
|
}
|
|
608
|
-
var
|
|
609
|
-
|
|
610
|
-
})()),
|
|
608
|
+
var fe = _e, Ye = Ze;
|
|
609
|
+
Ue.Fragment = c, Ue.jsx = fe, Ue.jsxs = Ye;
|
|
610
|
+
})()), Ue;
|
|
611
611
|
}
|
|
612
612
|
var st;
|
|
613
|
-
function
|
|
614
|
-
return st || (st = 1, process.env.NODE_ENV === "production" ? Xe.exports =
|
|
613
|
+
function Yt() {
|
|
614
|
+
return st || (st = 1, process.env.NODE_ENV === "production" ? Xe.exports = Lt() : Xe.exports = Gt()), Xe.exports;
|
|
615
615
|
}
|
|
616
|
-
var
|
|
617
|
-
const
|
|
618
|
-
const
|
|
619
|
-
return
|
|
616
|
+
var w = Yt();
|
|
617
|
+
const Kt = ({ action: B, row: o }) => /* @__PURE__ */ w.jsx("div", { className: "effect0", "data-action-id": B.id, "data-row-id": o.id, children: /* @__PURE__ */ w.jsx("div", { className: "effect0-text", children: `Audio: ${B.data.name}` }) }), jt = ({ action: B, row: o }) => /* @__PURE__ */ w.jsx("div", { className: "effect1", "data-action-id": B.id, "data-row-id": o.id, children: /* @__PURE__ */ w.jsx("div", { className: "effect1-text", children: `Video: ${B.data.name}` }) }), Tt = ({ action: B, row: o }) => /* @__PURE__ */ w.jsx("div", { className: "effect2", "data-action-id": B.id, "data-row-id": o.id, children: /* @__PURE__ */ w.jsx("div", { className: "effect2-text", children: `Video audio: ${B.data.name}` }) }), at = (B) => {
|
|
618
|
+
const o = B.toLowerCase();
|
|
619
|
+
return o.endsWith(".mp4") || o.endsWith(".webm") || o.endsWith(".mov") || o.endsWith(".m4v") ? "video" : o.endsWith(".mp3") || o.endsWith(".wav") || o.endsWith(".ogg") || o.endsWith(".m4a") || o.endsWith(".aac") ? "audio" : "other";
|
|
620
620
|
};
|
|
621
|
-
class
|
|
621
|
+
class Wt {
|
|
622
622
|
blobUrlBySrc = /* @__PURE__ */ new Map();
|
|
623
623
|
pendingBySrc = /* @__PURE__ */ new Map();
|
|
624
|
+
metaBySrc = /* @__PURE__ */ new Map();
|
|
625
|
+
registerSrcMeta(o, d) {
|
|
626
|
+
const c = String(o ?? "");
|
|
627
|
+
if (!c) return;
|
|
628
|
+
const l = {
|
|
629
|
+
name: d?.name ? String(d.name) : void 0,
|
|
630
|
+
mimeType: d?.mimeType ? String(d.mimeType) : void 0
|
|
631
|
+
}, E = this.metaBySrc.get(c);
|
|
632
|
+
this.metaBySrc.set(c, {
|
|
633
|
+
name: E?.name ?? l.name,
|
|
634
|
+
mimeType: E?.mimeType ?? l.mimeType
|
|
635
|
+
});
|
|
636
|
+
}
|
|
637
|
+
getSrcMeta(o) {
|
|
638
|
+
const d = String(o ?? "");
|
|
639
|
+
if (d)
|
|
640
|
+
return this.metaBySrc.get(d);
|
|
641
|
+
}
|
|
624
642
|
/**
|
|
625
643
|
* Preloads a URL into memory and returns a blob: URL.
|
|
626
644
|
* Useful to avoid runtime buffering/stalls when seeking frequently.
|
|
627
645
|
*/
|
|
628
|
-
async preloadToBlobUrl(
|
|
629
|
-
if (!
|
|
630
|
-
const d = this.blobUrlBySrc.get(
|
|
646
|
+
async preloadToBlobUrl(o) {
|
|
647
|
+
if (!o || o.startsWith("blob:") || o.startsWith("data:")) return o;
|
|
648
|
+
const d = this.blobUrlBySrc.get(o);
|
|
631
649
|
if (d) return d;
|
|
632
|
-
const c = this.pendingBySrc.get(
|
|
650
|
+
const c = this.pendingBySrc.get(o);
|
|
633
651
|
if (c) return c;
|
|
634
|
-
const
|
|
635
|
-
const
|
|
636
|
-
if (!
|
|
637
|
-
const
|
|
638
|
-
return this.blobUrlBySrc.set(
|
|
639
|
-
})().catch((
|
|
640
|
-
this.pendingBySrc.delete(
|
|
652
|
+
const l = (async () => {
|
|
653
|
+
const E = await fetch(o, { cache: "force-cache" });
|
|
654
|
+
if (!E.ok) throw new Error(`Failed to fetch ${o}: ${E.status}`);
|
|
655
|
+
const m = await E.blob(), O = URL.createObjectURL(m);
|
|
656
|
+
return this.blobUrlBySrc.set(o, O), O;
|
|
657
|
+
})().catch((E) => (console.warn("[mediaCache] preload failed:", o, E), o)).finally(() => {
|
|
658
|
+
this.pendingBySrc.delete(o);
|
|
641
659
|
});
|
|
642
|
-
return this.pendingBySrc.set(
|
|
660
|
+
return this.pendingBySrc.set(o, l), l;
|
|
643
661
|
}
|
|
644
662
|
/** Returns a blob URL if available, otherwise the original `src`. */
|
|
645
|
-
resolve(
|
|
646
|
-
return this.blobUrlBySrc.get(
|
|
663
|
+
resolve(o) {
|
|
664
|
+
return this.blobUrlBySrc.get(o) ?? o;
|
|
647
665
|
}
|
|
648
666
|
/** Starts preload in background (non-blocking). */
|
|
649
|
-
warm(
|
|
650
|
-
this.preloadToBlobUrl(
|
|
667
|
+
warm(o) {
|
|
668
|
+
o && (o.startsWith("blob:") || o.startsWith("data:") || this.preloadToBlobUrl(o));
|
|
651
669
|
}
|
|
652
670
|
/**
|
|
653
671
|
* Preload a list of srcs with bounded concurrency.
|
|
@@ -655,65 +673,81 @@ class Pt {
|
|
|
655
673
|
* This is useful when you know ahead of time which assets will be scrubbed/seeked,
|
|
656
674
|
* so we can eliminate network stalls during interaction.
|
|
657
675
|
*/
|
|
658
|
-
async warmAll(
|
|
659
|
-
const c = [],
|
|
660
|
-
for (const
|
|
661
|
-
const
|
|
662
|
-
if (!
|
|
663
|
-
|
|
664
|
-
const
|
|
665
|
-
|
|
676
|
+
async warmAll(o, d) {
|
|
677
|
+
const c = [], l = /* @__PURE__ */ new Set();
|
|
678
|
+
for (const G of o) {
|
|
679
|
+
const M = String(G ?? "");
|
|
680
|
+
if (!M || l.has(M)) continue;
|
|
681
|
+
l.add(M);
|
|
682
|
+
const z = at(M);
|
|
683
|
+
z !== "video" && z !== "audio" || c.push(M);
|
|
666
684
|
}
|
|
667
685
|
if (c.length === 0) return;
|
|
668
|
-
const
|
|
669
|
-
let
|
|
670
|
-
const S = Array.from({ length: Math.min(
|
|
671
|
-
for (;
|
|
672
|
-
const
|
|
673
|
-
await this.preloadToBlobUrl(
|
|
686
|
+
const E = Math.max(1, Math.floor(d?.concurrency ?? 3)), m = d?.yieldBetween !== !1;
|
|
687
|
+
let O = 0;
|
|
688
|
+
const S = Array.from({ length: Math.min(E, c.length) }, async () => {
|
|
689
|
+
for (; O < c.length; ) {
|
|
690
|
+
const G = c[O++];
|
|
691
|
+
await this.preloadToBlobUrl(G), m && await new Promise((M) => setTimeout(M, 0));
|
|
674
692
|
}
|
|
675
693
|
});
|
|
676
694
|
await Promise.all(S);
|
|
677
695
|
}
|
|
678
696
|
/** Convenience: preload all unique action.data.src from editor data. */
|
|
679
|
-
warmFromEditorData(
|
|
680
|
-
const d = /* @__PURE__ */ new Set(), c = Array.isArray(
|
|
681
|
-
for (const
|
|
682
|
-
const
|
|
683
|
-
if (Array.isArray(
|
|
684
|
-
for (const
|
|
685
|
-
const
|
|
686
|
-
typeof
|
|
697
|
+
warmFromEditorData(o) {
|
|
698
|
+
const d = /* @__PURE__ */ new Set(), c = Array.isArray(o) ? o : [];
|
|
699
|
+
for (const l of c) {
|
|
700
|
+
const E = l?.actions;
|
|
701
|
+
if (Array.isArray(E))
|
|
702
|
+
for (const m of E) {
|
|
703
|
+
const O = m?.data?.src, S = m?.data?.previewSrc;
|
|
704
|
+
typeof O == "string" && O && d.add(O), typeof S == "string" && S && d.add(S);
|
|
687
705
|
}
|
|
688
706
|
}
|
|
689
|
-
for (const
|
|
690
|
-
const
|
|
691
|
-
(
|
|
707
|
+
for (const l of d) {
|
|
708
|
+
const E = at(l);
|
|
709
|
+
(E === "video" || E === "audio") && this.warm(l);
|
|
692
710
|
}
|
|
693
711
|
}
|
|
694
712
|
}
|
|
695
|
-
const
|
|
713
|
+
const qA = new Wt(), ct = (B) => {
|
|
696
714
|
if (!B) return;
|
|
697
715
|
const d = B.split("#")[0].split("?")[0].toLowerCase(), c = d.lastIndexOf(".");
|
|
698
716
|
if (c < 0) return;
|
|
699
|
-
const
|
|
700
|
-
if (
|
|
701
|
-
return
|
|
717
|
+
const l = d.slice(c + 1);
|
|
718
|
+
if (l)
|
|
719
|
+
return l === "m4a" || l === "m4v" ? "mp4" : l;
|
|
720
|
+
}, Xt = (B) => {
|
|
721
|
+
const o = String(B ?? "").toLowerCase();
|
|
722
|
+
if (o) {
|
|
723
|
+
if (o === "audio/mpeg" || o === "audio/mp3") return "mp3";
|
|
724
|
+
if (o === "audio/wav" || o === "audio/x-wav") return "wav";
|
|
725
|
+
if (o === "audio/ogg") return "ogg";
|
|
726
|
+
if (o === "audio/aac") return "aac";
|
|
727
|
+
if (o === "audio/mp4" || o === "video/mp4") return "mp4";
|
|
728
|
+
}
|
|
729
|
+
}, gt = (B) => {
|
|
730
|
+
const o = ct(B);
|
|
731
|
+
if (o) return o;
|
|
732
|
+
const d = qA.getSrcMeta(B), c = d?.name ? ct(d.name) : void 0;
|
|
733
|
+
if (c) return c;
|
|
734
|
+
const l = d?.mimeType ? Xt(d.mimeType) : void 0;
|
|
735
|
+
if (l) return l;
|
|
702
736
|
};
|
|
703
|
-
class
|
|
737
|
+
class zt {
|
|
704
738
|
howlBySrc = {};
|
|
705
739
|
activeByActionId = {};
|
|
706
|
-
getHowl(
|
|
707
|
-
const d =
|
|
708
|
-
if (this.howlBySrc[
|
|
709
|
-
const
|
|
740
|
+
getHowl(o) {
|
|
741
|
+
const d = qA.resolve(o), c = d, l = c;
|
|
742
|
+
if (this.howlBySrc[l]) return this.howlBySrc[l];
|
|
743
|
+
const E = gt(o) ?? gt(d), m = new bt({
|
|
710
744
|
src: [c],
|
|
711
|
-
format:
|
|
745
|
+
format: E ? [E] : void 0,
|
|
712
746
|
loop: !0,
|
|
713
747
|
autoplay: !1,
|
|
714
748
|
preload: !0
|
|
715
749
|
});
|
|
716
|
-
return this.howlBySrc[
|
|
750
|
+
return this.howlBySrc[l] = m, m;
|
|
717
751
|
}
|
|
718
752
|
/**
|
|
719
753
|
* Ensure the underlying WebAudio context is resumed.
|
|
@@ -724,72 +758,72 @@ class Mt {
|
|
|
724
758
|
*/
|
|
725
759
|
unlock() {
|
|
726
760
|
try {
|
|
727
|
-
const
|
|
728
|
-
|
|
761
|
+
const o = St.ctx;
|
|
762
|
+
o && o.state === "suspended" && o.resume();
|
|
729
763
|
} catch {
|
|
730
764
|
}
|
|
731
765
|
}
|
|
732
|
-
warm(
|
|
733
|
-
|
|
766
|
+
warm(o) {
|
|
767
|
+
o && (qA.warm(o), this.getHowl(o));
|
|
734
768
|
}
|
|
735
|
-
seekForEngineTime(
|
|
736
|
-
const
|
|
769
|
+
seekForEngineTime(o, d, c, l, E) {
|
|
770
|
+
const m = Number(E), O = Number.isFinite(m) ? m : 0, S = o.duration();
|
|
737
771
|
if (!Number.isFinite(S) || S <= 0) {
|
|
738
|
-
|
|
772
|
+
o.seek(Math.max(0, l - c + O), d);
|
|
739
773
|
return;
|
|
740
774
|
}
|
|
741
|
-
const
|
|
742
|
-
|
|
775
|
+
const G = (l - c + O) % S, M = G < 0 ? G + S : G;
|
|
776
|
+
o.seek(M, d);
|
|
743
777
|
}
|
|
744
|
-
start(
|
|
745
|
-
const { actionId: d, src: c, startTime:
|
|
746
|
-
if (
|
|
747
|
-
const lA = this.getHowl(
|
|
748
|
-
lA.rate(
|
|
778
|
+
start(o) {
|
|
779
|
+
const { actionId: d, src: c, startTime: l, time: E, engine: m } = o, O = Number(o.offset ?? 0), S = Number.isFinite(O) ? O : 0, G = this.activeByActionId[d];
|
|
780
|
+
if (G) {
|
|
781
|
+
const lA = this.getHowl(G.src);
|
|
782
|
+
lA.rate(m.getPlayRate(), G.soundId);
|
|
749
783
|
try {
|
|
750
|
-
lA.playing(
|
|
784
|
+
lA.playing(G.soundId) || lA.play(G.soundId);
|
|
751
785
|
} catch {
|
|
752
786
|
}
|
|
753
|
-
|
|
787
|
+
m.isPlaying || this.seekForEngineTime(lA, G.soundId, G.startTime, E, G.offset);
|
|
754
788
|
return;
|
|
755
789
|
}
|
|
756
|
-
const
|
|
757
|
-
|
|
758
|
-
let
|
|
759
|
-
const
|
|
760
|
-
const
|
|
761
|
-
if (!
|
|
762
|
-
this.seekForEngineTime(
|
|
790
|
+
const M = this.getHowl(c), z = M.play();
|
|
791
|
+
M.rate(m.getPlayRate(), z), this.seekForEngineTime(M, z, l, E, S);
|
|
792
|
+
let F = performance.now();
|
|
793
|
+
const BA = ({ time: lA }) => {
|
|
794
|
+
const oA = performance.now();
|
|
795
|
+
if (!m.isPlaying) {
|
|
796
|
+
this.seekForEngineTime(M, z, l, lA, S);
|
|
763
797
|
return;
|
|
764
798
|
}
|
|
765
|
-
|
|
766
|
-
},
|
|
767
|
-
|
|
799
|
+
oA - F < 120 || (F = oA, this.seekForEngineTime(M, z, l, lA, S));
|
|
800
|
+
}, iA = ({ rate: lA }) => {
|
|
801
|
+
M.rate(lA, z);
|
|
768
802
|
};
|
|
769
|
-
|
|
803
|
+
m.on("afterSetTime", BA), m.on("afterSetPlayRate", iA), this.activeByActionId[d] = {
|
|
770
804
|
src: c,
|
|
771
|
-
startTime:
|
|
805
|
+
startTime: l,
|
|
772
806
|
offset: S,
|
|
773
|
-
soundId:
|
|
774
|
-
engine:
|
|
775
|
-
lastResyncAtMs:
|
|
776
|
-
time:
|
|
777
|
-
rate:
|
|
807
|
+
soundId: z,
|
|
808
|
+
engine: m,
|
|
809
|
+
lastResyncAtMs: F,
|
|
810
|
+
time: BA,
|
|
811
|
+
rate: iA
|
|
778
812
|
};
|
|
779
813
|
}
|
|
780
|
-
stop(
|
|
781
|
-
const { actionId: d } =
|
|
814
|
+
stop(o) {
|
|
815
|
+
const { actionId: d } = o, c = this.activeByActionId[d];
|
|
782
816
|
if (!c) return;
|
|
783
|
-
const
|
|
817
|
+
const l = this.getHowl(c.src);
|
|
784
818
|
try {
|
|
785
|
-
|
|
819
|
+
l.stop(c.soundId);
|
|
786
820
|
} catch {
|
|
787
821
|
}
|
|
788
822
|
c.time && c.engine.off("afterSetTime", c.time), c.rate && c.engine.off("afterSetPlayRate", c.rate), delete this.activeByActionId[d];
|
|
789
823
|
}
|
|
790
824
|
}
|
|
791
|
-
const
|
|
792
|
-
class
|
|
825
|
+
const NA = new zt();
|
|
826
|
+
class qt {
|
|
793
827
|
videoEl = null;
|
|
794
828
|
currentSrc = null;
|
|
795
829
|
lastSeekAtMs = 0;
|
|
@@ -801,89 +835,89 @@ class kt {
|
|
|
801
835
|
boundActionStart = 0;
|
|
802
836
|
vfcHandle = null;
|
|
803
837
|
rafHandle = null;
|
|
804
|
-
attach(
|
|
805
|
-
this.videoEl =
|
|
838
|
+
attach(o) {
|
|
839
|
+
this.videoEl = o, this.currentSrc = o?.currentSrc || o?.getAttribute("src") || null, this.lastSeekAtMs = 0, this.lastRate = null, this.unbindEngine(), this.videoClaims = {}, this.activeVideoActionId = null, this.lastEngineTime = 0, this.setActive(!1);
|
|
806
840
|
}
|
|
807
|
-
setActive(
|
|
808
|
-
this.videoEl && (this.videoEl.style.opacity =
|
|
841
|
+
setActive(o) {
|
|
842
|
+
this.videoEl && (this.videoEl.style.opacity = o ? "1" : "0");
|
|
809
843
|
}
|
|
810
|
-
claimVideo(
|
|
811
|
-
const d = String(
|
|
812
|
-
if (!
|
|
813
|
-
const
|
|
814
|
-
this.lastEngineTime =
|
|
844
|
+
claimVideo(o) {
|
|
845
|
+
const d = String(o.actionId), c = Number.isFinite(Number(o.layer)) ? Number(o.layer) : 0, l = String(o.src ?? ""), E = Number(o.actionStart), m = Number(o.time), O = o.engine, S = !!o.isPlaying, G = Number(o.offset ?? 0), M = Number.isFinite(G) ? G : 0;
|
|
846
|
+
if (!l || !Number.isFinite(E) || !Number.isFinite(m)) return;
|
|
847
|
+
const z = performance.now();
|
|
848
|
+
this.lastEngineTime = m, this.videoClaims[d] = {
|
|
815
849
|
actionId: d,
|
|
816
850
|
layer: c,
|
|
817
|
-
src:
|
|
818
|
-
actionStart:
|
|
819
|
-
offset:
|
|
820
|
-
engine:
|
|
851
|
+
src: l,
|
|
852
|
+
actionStart: E,
|
|
853
|
+
offset: M,
|
|
854
|
+
engine: O,
|
|
821
855
|
isPlaying: S,
|
|
822
|
-
time:
|
|
823
|
-
claimedAtMs:
|
|
856
|
+
time: m,
|
|
857
|
+
claimedAtMs: z
|
|
824
858
|
};
|
|
825
|
-
let
|
|
826
|
-
for (const
|
|
827
|
-
if (!
|
|
828
|
-
|
|
859
|
+
let F = null;
|
|
860
|
+
for (const iA of Object.values(this.videoClaims)) {
|
|
861
|
+
if (!F) {
|
|
862
|
+
F = iA;
|
|
829
863
|
continue;
|
|
830
864
|
}
|
|
831
|
-
if (
|
|
832
|
-
|
|
865
|
+
if (iA.layer > F.layer) {
|
|
866
|
+
F = iA;
|
|
833
867
|
continue;
|
|
834
868
|
}
|
|
835
|
-
|
|
869
|
+
iA.layer === F.layer && iA.claimedAtMs > F.claimedAtMs && (F = iA);
|
|
836
870
|
}
|
|
837
|
-
if (!
|
|
838
|
-
this.activeVideoActionId =
|
|
839
|
-
const
|
|
840
|
-
this.seek(
|
|
871
|
+
if (!F) return;
|
|
872
|
+
this.activeVideoActionId = F.actionId, this.setActive(!0), this.setRate(F.engine.getPlayRate()), this.setSource(F.src);
|
|
873
|
+
const BA = Math.max(0, F.time - F.actionStart + F.offset);
|
|
874
|
+
this.seek(BA, { force: !F.isPlaying }), F.isPlaying ? this.play() : this.pause();
|
|
841
875
|
}
|
|
842
|
-
releaseVideo(
|
|
843
|
-
const d = String(
|
|
876
|
+
releaseVideo(o) {
|
|
877
|
+
const d = String(o);
|
|
844
878
|
if (delete this.videoClaims[d], this.activeVideoActionId && this.activeVideoActionId !== d) return;
|
|
845
879
|
let c = null;
|
|
846
|
-
for (const
|
|
880
|
+
for (const E of Object.values(this.videoClaims)) {
|
|
847
881
|
if (!c) {
|
|
848
|
-
c =
|
|
882
|
+
c = E;
|
|
849
883
|
continue;
|
|
850
884
|
}
|
|
851
|
-
if (
|
|
852
|
-
c =
|
|
885
|
+
if (E.layer > c.layer) {
|
|
886
|
+
c = E;
|
|
853
887
|
continue;
|
|
854
888
|
}
|
|
855
|
-
|
|
889
|
+
E.layer === c.layer && E.claimedAtMs > c.claimedAtMs && (c = E);
|
|
856
890
|
}
|
|
857
891
|
if (!c) {
|
|
858
892
|
this.activeVideoActionId = null, this.pause(), this.unbindEngine(), this.setActive(!1);
|
|
859
893
|
return;
|
|
860
894
|
}
|
|
861
895
|
this.activeVideoActionId = c.actionId, this.setActive(!0), this.setRate(c.engine.getPlayRate()), this.setSource(c.src);
|
|
862
|
-
const
|
|
863
|
-
this.seek(
|
|
896
|
+
const l = Math.max(0, this.lastEngineTime - c.actionStart + c.offset);
|
|
897
|
+
this.seek(l, { force: !c.isPlaying }), c.isPlaying ? this.play() : this.pause();
|
|
864
898
|
}
|
|
865
|
-
bindEngine(
|
|
866
|
-
this.unbindEngine(), this.boundEngine =
|
|
899
|
+
bindEngine(o, d) {
|
|
900
|
+
this.unbindEngine(), this.boundEngine = o, this.boundActionStart = d, this.tickFromVideo();
|
|
867
901
|
}
|
|
868
902
|
unbindEngine() {
|
|
869
|
-
const
|
|
870
|
-
if (this.vfcHandle != null &&
|
|
903
|
+
const o = this.videoEl;
|
|
904
|
+
if (this.vfcHandle != null && o?.cancelVideoFrameCallback)
|
|
871
905
|
try {
|
|
872
|
-
|
|
906
|
+
o.cancelVideoFrameCallback(this.vfcHandle);
|
|
873
907
|
} catch {
|
|
874
908
|
}
|
|
875
909
|
this.rafHandle != null && cancelAnimationFrame(this.rafHandle), this.vfcHandle = null, this.rafHandle = null, this.boundEngine = null;
|
|
876
910
|
}
|
|
877
911
|
tickFromVideo = () => {
|
|
878
912
|
if (!this.videoEl || !this.boundEngine || this.videoEl.paused) return;
|
|
879
|
-
const
|
|
880
|
-
Math.abs(this.boundEngine.getTime() -
|
|
913
|
+
const o = this.boundActionStart + this.videoEl.currentTime;
|
|
914
|
+
Math.abs(this.boundEngine.getTime() - o) > 0.03 && this.boundEngine.setTime(o, !0);
|
|
881
915
|
const d = this.videoEl;
|
|
882
916
|
d?.requestVideoFrameCallback ? this.vfcHandle = d.requestVideoFrameCallback(() => this.tickFromVideo()) : this.rafHandle = requestAnimationFrame(() => this.tickFromVideo());
|
|
883
917
|
};
|
|
884
|
-
setSource(
|
|
885
|
-
if (!this.videoEl || !
|
|
886
|
-
const d =
|
|
918
|
+
setSource(o) {
|
|
919
|
+
if (!this.videoEl || !o) return;
|
|
920
|
+
const d = qA.resolve(o);
|
|
887
921
|
if (!((this.videoEl.currentSrc || this.videoEl.getAttribute("src") || "") === d || this.currentSrc === d)) {
|
|
888
922
|
this.currentSrc = d, this.videoEl.preload = "auto", this.videoEl.src = d;
|
|
889
923
|
try {
|
|
@@ -892,24 +926,24 @@ class kt {
|
|
|
892
926
|
}
|
|
893
927
|
}
|
|
894
928
|
}
|
|
895
|
-
warm(
|
|
896
|
-
|
|
929
|
+
warm(o) {
|
|
930
|
+
o && qA.warm(o);
|
|
897
931
|
}
|
|
898
|
-
setRate(
|
|
899
|
-
this.videoEl && this.lastRate !==
|
|
932
|
+
setRate(o) {
|
|
933
|
+
this.videoEl && this.lastRate !== o && (this.lastRate = o, this.videoEl.playbackRate = o);
|
|
900
934
|
}
|
|
901
935
|
/**
|
|
902
936
|
* Sync the video to a desired timeline time.
|
|
903
937
|
* To avoid buffering/stutters, we only seek when drift is large or when paused/scrubbing.
|
|
904
938
|
*/
|
|
905
|
-
seek(
|
|
939
|
+
seek(o, d) {
|
|
906
940
|
if (this.videoEl)
|
|
907
941
|
try {
|
|
908
|
-
const c = performance.now(),
|
|
909
|
-
if (!
|
|
942
|
+
const c = performance.now(), l = d?.force === !0, E = this.videoEl.currentTime;
|
|
943
|
+
if (!l && !this.videoEl.paused && (Math.abs(E - o) < 0.12 || c - this.lastSeekAtMs < 150))
|
|
910
944
|
return;
|
|
911
|
-
const
|
|
912
|
-
Number.isFinite(
|
|
945
|
+
const m = this.videoEl.duration;
|
|
946
|
+
Number.isFinite(m) && m > 0 ? this.videoEl.currentTime = Math.min(o, Math.max(0, m - 0.05)) : this.videoEl.currentTime = Math.max(0, o), this.lastSeekAtMs = c;
|
|
913
947
|
} catch {
|
|
914
948
|
}
|
|
915
949
|
}
|
|
@@ -924,28 +958,28 @@ class kt {
|
|
|
924
958
|
this.videoEl && this.videoEl.pause();
|
|
925
959
|
}
|
|
926
960
|
}
|
|
927
|
-
const
|
|
961
|
+
const jA = new qt(), Vt = 160, Zt = 5, _t = {
|
|
928
962
|
effect0: {
|
|
929
963
|
id: "effect0",
|
|
930
964
|
name: "Play audio",
|
|
931
965
|
source: {
|
|
932
|
-
start: ({ action: B, engine:
|
|
966
|
+
start: ({ action: B, engine: o, isPlaying: d, time: c }) => {
|
|
933
967
|
if (d) {
|
|
934
|
-
const { src:
|
|
935
|
-
|
|
968
|
+
const { src: l, offset: E } = B.data;
|
|
969
|
+
NA.warm(l), NA.start({ actionId: B.id, src: l, startTime: B.start, engine: o, time: c, offset: E });
|
|
936
970
|
}
|
|
937
971
|
},
|
|
938
|
-
enter: ({ action: B, engine:
|
|
972
|
+
enter: ({ action: B, engine: o, isPlaying: d, time: c }) => {
|
|
939
973
|
if (d) {
|
|
940
|
-
const { src:
|
|
941
|
-
|
|
974
|
+
const { src: l, offset: E } = B.data;
|
|
975
|
+
NA.warm(l), NA.start({ actionId: B.id, src: l, startTime: B.start, engine: o, time: c, offset: E });
|
|
942
976
|
}
|
|
943
977
|
},
|
|
944
978
|
leave: ({ action: B }) => {
|
|
945
|
-
|
|
979
|
+
NA.stop({ actionId: B.id });
|
|
946
980
|
},
|
|
947
981
|
stop: ({ action: B }) => {
|
|
948
|
-
|
|
982
|
+
NA.stop({ actionId: B.id });
|
|
949
983
|
}
|
|
950
984
|
}
|
|
951
985
|
},
|
|
@@ -953,23 +987,23 @@ const JA = new kt(), Jt = 160, Gt = 5, Lt = {
|
|
|
953
987
|
id: "effect2",
|
|
954
988
|
name: "Play video audio",
|
|
955
989
|
source: {
|
|
956
|
-
start: ({ action: B, engine:
|
|
990
|
+
start: ({ action: B, engine: o, isPlaying: d, time: c }) => {
|
|
957
991
|
if (d) {
|
|
958
|
-
const { src:
|
|
959
|
-
|
|
992
|
+
const { src: l, offset: E } = B.data;
|
|
993
|
+
NA.warm(l), NA.start({ actionId: B.id, src: l, startTime: B.start, engine: o, time: c, offset: E });
|
|
960
994
|
}
|
|
961
995
|
},
|
|
962
|
-
enter: ({ action: B, engine:
|
|
996
|
+
enter: ({ action: B, engine: o, isPlaying: d, time: c }) => {
|
|
963
997
|
if (d) {
|
|
964
|
-
const { src:
|
|
965
|
-
|
|
998
|
+
const { src: l, offset: E } = B.data;
|
|
999
|
+
NA.warm(l), NA.start({ actionId: B.id, src: l, startTime: B.start, engine: o, time: c, offset: E });
|
|
966
1000
|
}
|
|
967
1001
|
},
|
|
968
1002
|
leave: ({ action: B }) => {
|
|
969
|
-
|
|
1003
|
+
NA.stop({ actionId: B.id });
|
|
970
1004
|
},
|
|
971
1005
|
stop: ({ action: B }) => {
|
|
972
|
-
|
|
1006
|
+
NA.stop({ actionId: B.id });
|
|
973
1007
|
}
|
|
974
1008
|
}
|
|
975
1009
|
},
|
|
@@ -977,276 +1011,276 @@ const JA = new kt(), Jt = 160, Gt = 5, Lt = {
|
|
|
977
1011
|
id: "effect1",
|
|
978
1012
|
name: "Play video",
|
|
979
1013
|
source: {
|
|
980
|
-
start: ({ action: B, engine:
|
|
981
|
-
const { src:
|
|
982
|
-
S &&
|
|
1014
|
+
start: ({ action: B, engine: o, isPlaying: d, time: c }) => {
|
|
1015
|
+
const { src: l, previewSrc: E, offset: m, videoLayer: O } = B.data ?? {}, S = E || l;
|
|
1016
|
+
S && jA.warm(S), jA.claimVideo({
|
|
983
1017
|
actionId: String(B.id),
|
|
984
|
-
layer: Number.isFinite(Number(
|
|
1018
|
+
layer: Number.isFinite(Number(O)) ? Number(O) : 0,
|
|
985
1019
|
src: S,
|
|
986
|
-
engine:
|
|
1020
|
+
engine: o,
|
|
987
1021
|
isPlaying: d,
|
|
988
1022
|
time: c,
|
|
989
1023
|
actionStart: Number(B.start),
|
|
990
|
-
offset:
|
|
1024
|
+
offset: m
|
|
991
1025
|
});
|
|
992
1026
|
},
|
|
993
|
-
enter: ({ action: B, engine:
|
|
994
|
-
const { src:
|
|
995
|
-
S &&
|
|
1027
|
+
enter: ({ action: B, engine: o, isPlaying: d, time: c }) => {
|
|
1028
|
+
const { src: l, previewSrc: E, offset: m, videoLayer: O } = B.data ?? {}, S = E || l;
|
|
1029
|
+
S && jA.warm(S), jA.claimVideo({
|
|
996
1030
|
actionId: String(B.id),
|
|
997
|
-
layer: Number.isFinite(Number(
|
|
1031
|
+
layer: Number.isFinite(Number(O)) ? Number(O) : 0,
|
|
998
1032
|
src: S,
|
|
999
|
-
engine:
|
|
1033
|
+
engine: o,
|
|
1000
1034
|
isPlaying: d,
|
|
1001
1035
|
time: c,
|
|
1002
1036
|
actionStart: Number(B.start),
|
|
1003
|
-
offset:
|
|
1037
|
+
offset: m
|
|
1004
1038
|
});
|
|
1005
1039
|
},
|
|
1006
|
-
update: ({ action: B, engine:
|
|
1007
|
-
const { src:
|
|
1008
|
-
|
|
1040
|
+
update: ({ action: B, engine: o, time: d, isPlaying: c }) => {
|
|
1041
|
+
const { src: l, previewSrc: E, offset: m, videoLayer: O } = B.data ?? {}, S = E || l;
|
|
1042
|
+
jA.claimVideo({
|
|
1009
1043
|
actionId: String(B.id),
|
|
1010
|
-
layer: Number.isFinite(Number(
|
|
1044
|
+
layer: Number.isFinite(Number(O)) ? Number(O) : 0,
|
|
1011
1045
|
src: S,
|
|
1012
|
-
engine:
|
|
1046
|
+
engine: o,
|
|
1013
1047
|
isPlaying: c,
|
|
1014
1048
|
time: d,
|
|
1015
1049
|
actionStart: Number(B.start),
|
|
1016
|
-
offset:
|
|
1050
|
+
offset: m
|
|
1017
1051
|
});
|
|
1018
1052
|
},
|
|
1019
1053
|
leave: ({ action: B }) => {
|
|
1020
|
-
|
|
1054
|
+
jA.releaseVideo(String(B.id));
|
|
1021
1055
|
},
|
|
1022
1056
|
stop: ({ action: B }) => {
|
|
1023
|
-
|
|
1057
|
+
jA.releaseVideo(String(B.id));
|
|
1024
1058
|
}
|
|
1025
1059
|
}
|
|
1026
1060
|
}
|
|
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,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UEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFDp44LZfl+Tugdtne3ssyZ1Jbkxyz+BZYH98Q5KTkhyX5OsGz8L2deyoDa8kWRu1cdikzyX5VJI/Xv9vnrQjyX2Dtn10kvsHbXu7+vYkP5XZNzgvGTwLfE0CgGWyluRjSX4tyRcHz7JdCIDt4QVJzkvy00kOGjwLbIprAFgmK0l+NMl/J3nb4Flgwy8l+d8kPxsHf5aIAGAZHZrk4iQfSnLI4FnodXCS9yf5vcz2SVgqIy8ChAP1M0mOTHJ2vJXFYq0k+WhmZ6RgKTkDwLI7K8m7Rg9BnXfHwZ8l5yJApmB3ktOTXDF6kAFcBLh4pyf5p8y+fsLScgaAKVhNcmF8QWbrrSS5IPY1JkAAMBU7k7xx9BBM3puSnDx6CJgHAcCU/OLoAZi8t48eAOZFADAl35vkhNFDMFnflOSVo4eAeREATMlKku8bPQST9ep4758JEQBMzctGD8BkfcfoAWCeBABT88LRAzBZLxg9AMzTatwHgGk5cvQATJZ9iylZW03y6OgpYI52jR6AyfrK6AFgjh5eTXLX6Clgju4ePQCTZd9iSu5aTfL50VPAHN04egAmy77FlHx+NclVo6eAObpy9ABMlq+VTMmVq0k+NXoKmJPbklw/eggm67okd4weAubk06tJrk5yw+hJYA4+nNmTAWErPJHkT0YPAXPwH0mu27gPwK+PnATm4L4kvzt6CCbvgnQ+AplpOS958kZAf5Xkn8fNAgfst5LcM3oIJu/uzCIAltVnk/x18vT7Wr8ss4tcjhoxERyAf8vsGQCN97TYkdnZjxGOTud3w4cnuSLJKaMHgX30QJLvSfK55Om3Ar4hyZsze58LlsXtSd6QzoM/YzyS5IeS3DJ6ENgHu5Ock/WDf/LVzwL4myS/kOTxBQ4F++u2JK9NcuvoQahze2YRcPvoQWATHk/ylqyf+t/wTA8D+mCS7487BLK9XZ/Zs9n92B+j/HtmbwNcM3oQ+Bq+nOQ1ST605wf29jTAK5KcmuQv4mFBbC8PJnl3klcluXnwLHBbklcnOT/JQ2NHgadZS/LnSV6e5B/39y/ZmeSyzB6ysmZZg9ZdSd6b5LjwVDsy7t9kxwJe3zI5Psn7MvtJgdGfL1bv2pXk49nERaorz/YbnuKYJKdnFgQvXv81bJXdmd117cbMbu/7L0keGzrR9uSnALafQzJ7e+q0JCcleV72frYV5uHeJDdldmO/y9d/DUycMwDAflGlAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSALDcdg3c9qMDtw0cIAEAy+3RjDkQP5yx8QEcIAEAy++mAdv8woBtAnMkAGD5XTtgm9cM2CYwRwIAlt/flWwTAHiKI5Lcn2RtQeu+JIcv5JUBW8YZAFh+Dyd53wK3d2GSRxa4PQBgL45Mcnu2/rv/25I8Z0GvCQDYhHOy9QFw1sJeDQCwaRdm6w7+v7PA1wEA7IODklya+R/8L4lrhgBgW1tJcn6S3ZnPwf+iOPgDwNJ4U5IvZf8P/DcneePCpwYADtjhSX41yV3Z/IH/riTnxs/6w6StjB4AWIhDkpyR5AeT7EzyoiTHrH/s3syeJ3Btkr9fX48NmBFYoP8HvfB9x+ddI4wAAAAASUVORK5CYII=", { Option: zt } = Bt, qt = [0.2, 0.5, 1, 1.5, 2], Vt = ({
|
|
1061
|
+
}, $t = "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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", An = "data:image/png;base64,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AAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiADQFoQABsCMAGAjBAAGwIQAMCYEMANhCAAQJgQwAaEAAbArCBAAwQABsC0IAA2BCADQRggADYEIAGBMCGAGwgAAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiADQFoQABsCMAGAjBAAGwIQAMCYEMANhCAAQJgQwAaEAAbArCBAAwQABsC0IAA2BCADQRggADYEIAGBMCGAGwgAAMEwIYANCAANgRgAwEYIAA2BKABAbAhABsIwAABsCEADQiADQHYQAAGCIANAWhAAGwIwAYCMEAAbAhAAwJgQwA2EIABAmBDABoQABsCsIEADBAAGwLQgADYEIANBGCAANgQgAYEwIYAbCAAAwTAhgA0IAA2BGADARggADYEoAEBsCEAGwjAAAGwIQANCIANAdhAAAYIgA0BaEAAbAjABgIwQABsCEADAmBDADYQgAECYEMAGhAAGwKwgQAMEAAbAtCAANgQgA0EYIAA2BCABgTAhgBsIAADBMCGADQgADYEYAMBGCAANgSgAQGwIQAbCMAAAbAhAA0IgA0B2EAABgiA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", en = "data:image/png;base64,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", tn = "data:image/png;base64,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AIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKguQAFQ3ZAWEEAAAQQQCCdAARBuykgYAQQQQACB6gIUANUNaQEBBBBAAIFwAhQA4aaMhBFAAAEEEKgu8P8Ho19MJOV4IQAAAABJRU5ErkJggg==", nn = "data:image/png;base64,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", rn = "data:image/png;base64,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UEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIA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", { Option: on } = dt, sn = [0.2, 0.5, 1, 1.5, 2], an = ({
|
|
1028
1062
|
timelineState: B,
|
|
1029
|
-
autoScrollWhenPlay:
|
|
1063
|
+
autoScrollWhenPlay: o,
|
|
1030
1064
|
scale: d,
|
|
1031
1065
|
scaleWidth: c,
|
|
1032
|
-
startLeft:
|
|
1033
|
-
editorData:
|
|
1034
|
-
selectedActionId:
|
|
1035
|
-
onDeleteSelectedClip:
|
|
1066
|
+
startLeft: l,
|
|
1067
|
+
editorData: E,
|
|
1068
|
+
selectedActionId: m,
|
|
1069
|
+
onDeleteSelectedClip: O,
|
|
1036
1070
|
onSplitSelectedClip: S,
|
|
1037
|
-
canUndo:
|
|
1038
|
-
canRedo:
|
|
1039
|
-
onUndo:
|
|
1040
|
-
onRedo:
|
|
1071
|
+
canUndo: G,
|
|
1072
|
+
canRedo: M,
|
|
1073
|
+
onUndo: z,
|
|
1074
|
+
onRedo: F
|
|
1041
1075
|
}) => {
|
|
1042
|
-
const [
|
|
1043
|
-
if (!
|
|
1044
|
-
const
|
|
1045
|
-
for (const
|
|
1046
|
-
const
|
|
1047
|
-
if (Array.isArray(
|
|
1048
|
-
for (const
|
|
1049
|
-
if (String(
|
|
1050
|
-
const
|
|
1051
|
-
return !Number.isFinite(
|
|
1076
|
+
const [BA, iA] = cA(!1), [lA, oA] = cA(0), [kA, AA] = cA(!1), Qe = tA(0), ie = tA(0), oe = tA(0), se = tA(0), ae = tA(0), ce = tA(0), JA = !!m, WA = (() => {
|
|
1077
|
+
if (!m) return null;
|
|
1078
|
+
const y = Array.isArray(E) ? E : [];
|
|
1079
|
+
for (const nA of y) {
|
|
1080
|
+
const rA = nA?.actions;
|
|
1081
|
+
if (Array.isArray(rA))
|
|
1082
|
+
for (const Z of rA) {
|
|
1083
|
+
if (String(Z?.id) !== m) continue;
|
|
1084
|
+
const _ = Number(Z?.start), sA = Number(Z?.end);
|
|
1085
|
+
return !Number.isFinite(_) || !Number.isFinite(sA) ? null : { start: _, end: sA };
|
|
1052
1086
|
}
|
|
1053
1087
|
}
|
|
1054
1088
|
return null;
|
|
1055
|
-
})(),
|
|
1056
|
-
const
|
|
1057
|
-
for (const
|
|
1058
|
-
const
|
|
1059
|
-
if (Array.isArray(
|
|
1060
|
-
for (const
|
|
1061
|
-
if (
|
|
1062
|
-
const
|
|
1063
|
-
if (!(!Number.isFinite(
|
|
1089
|
+
})(), LA = !!(WA && lA > WA.start && lA < WA.end), QA = (y) => {
|
|
1090
|
+
const nA = Array.isArray(E) ? E : [];
|
|
1091
|
+
for (const rA of nA) {
|
|
1092
|
+
const Z = rA?.actions;
|
|
1093
|
+
if (Array.isArray(Z))
|
|
1094
|
+
for (const _ of Z) {
|
|
1095
|
+
if (_?.effectId !== "effect1") continue;
|
|
1096
|
+
const sA = Number(_?.start), gA = Number(_?.end);
|
|
1097
|
+
if (!(!Number.isFinite(sA) || !Number.isFinite(gA)) && y >= sA && y < gA)
|
|
1064
1098
|
return !0;
|
|
1065
1099
|
}
|
|
1066
1100
|
}
|
|
1067
1101
|
return !1;
|
|
1068
|
-
},
|
|
1069
|
-
|
|
1102
|
+
}, pA = (y) => {
|
|
1103
|
+
QA(y) || (jA.pause(), jA.unbindEngine(), jA.setActive(!1));
|
|
1070
1104
|
};
|
|
1071
|
-
|
|
1105
|
+
Ee(() => {
|
|
1072
1106
|
if (!B.current) return;
|
|
1073
|
-
const
|
|
1074
|
-
|
|
1075
|
-
},
|
|
1076
|
-
const
|
|
1077
|
-
if (!(
|
|
1078
|
-
const
|
|
1079
|
-
|
|
1107
|
+
const y = B.current, nA = () => iA(!0), rA = () => iA(!1), Z = ({ time: sA }) => {
|
|
1108
|
+
oA(sA), pA(sA);
|
|
1109
|
+
}, _ = ({ time: sA }) => {
|
|
1110
|
+
const gA = performance.now();
|
|
1111
|
+
if (!(gA - Qe.current < 33) && (Qe.current = gA, oA(sA), pA(sA), o.current)) {
|
|
1112
|
+
const GA = sA * (c / d) + l - 500, UA = B.current;
|
|
1113
|
+
UA && UA.setScrollLeft(GA);
|
|
1080
1114
|
}
|
|
1081
1115
|
};
|
|
1082
|
-
return
|
|
1083
|
-
|
|
1116
|
+
return y.listener.on("play", nA), y.listener.on("paused", rA), y.listener.on("afterSetTime", Z), y.listener.on("setTimeByTick", _), () => {
|
|
1117
|
+
y.listener.off("play", nA), y.listener.off("paused", rA), y.listener.off("afterSetTime", Z), y.listener.off("setTimeByTick", _);
|
|
1084
1118
|
};
|
|
1085
|
-
}, [
|
|
1086
|
-
const
|
|
1087
|
-
B.current && (B.current.isPlaying ? B.current.pause() : (
|
|
1088
|
-
},
|
|
1089
|
-
B.current && B.current.setPlayRate(
|
|
1090
|
-
},
|
|
1091
|
-
const
|
|
1092
|
-
return /* @__PURE__ */
|
|
1093
|
-
},
|
|
1094
|
-
const
|
|
1095
|
-
for (const
|
|
1096
|
-
const
|
|
1097
|
-
if (Array.isArray(
|
|
1098
|
-
for (const
|
|
1099
|
-
const
|
|
1100
|
-
if (!
|
|
1101
|
-
const
|
|
1102
|
-
|
|
1119
|
+
}, [E]);
|
|
1120
|
+
const wA = () => {
|
|
1121
|
+
B.current && (B.current.isPlaying ? B.current.pause() : (NA.unlock(), B.current.play({ autoEnd: !0 })));
|
|
1122
|
+
}, TA = (y) => {
|
|
1123
|
+
B.current && B.current.setPlayRate(y);
|
|
1124
|
+
}, we = (y) => {
|
|
1125
|
+
const nA = (parseInt(y % 1 * 100 + "") + "").padStart(2, "0"), rA = (parseInt(y / 60 + "") + "").padStart(2, "0"), Z = (parseInt(y % 60 + "") + "").padStart(2, "0");
|
|
1126
|
+
return /* @__PURE__ */ w.jsx(w.Fragment, { children: `${rA}:${Z}.${nA.replace("0.", "")}` });
|
|
1127
|
+
}, VA = () => {
|
|
1128
|
+
const y = [], nA = /* @__PURE__ */ new Set(), rA = Array.isArray(E) ? E : [];
|
|
1129
|
+
for (const Z of rA) {
|
|
1130
|
+
const _ = Z?.actions;
|
|
1131
|
+
if (Array.isArray(_))
|
|
1132
|
+
for (const sA of _) {
|
|
1133
|
+
const gA = sA?.data?.src;
|
|
1134
|
+
if (!gA) continue;
|
|
1135
|
+
const IA = String(gA);
|
|
1136
|
+
nA.has(IA) || (nA.add(IA), y.push(IA));
|
|
1103
1137
|
}
|
|
1104
1138
|
}
|
|
1105
|
-
return
|
|
1106
|
-
},
|
|
1107
|
-
const
|
|
1108
|
-
|
|
1109
|
-
},
|
|
1110
|
-
if (!
|
|
1111
|
-
|
|
1139
|
+
return y;
|
|
1140
|
+
}, Ie = (y, nA) => {
|
|
1141
|
+
const rA = URL.createObjectURL(y), Z = document.createElement("a");
|
|
1142
|
+
Z.href = rA, Z.download = nA, document.body.appendChild(Z), Z.click(), Z.remove(), setTimeout(() => URL.revokeObjectURL(rA), 3e3);
|
|
1143
|
+
}, ZA = async () => {
|
|
1144
|
+
if (!kA) {
|
|
1145
|
+
AA(!0);
|
|
1112
1146
|
try {
|
|
1113
|
-
const
|
|
1114
|
-
|
|
1115
|
-
for (const
|
|
1116
|
-
const
|
|
1117
|
-
if (!
|
|
1118
|
-
const
|
|
1119
|
-
|
|
1147
|
+
const y = VA(), nA = new FormData();
|
|
1148
|
+
nA.append("timeline", JSON.stringify({ editorData: E }));
|
|
1149
|
+
for (const _ of y) {
|
|
1150
|
+
const sA = qA.resolve(_), gA = await fetch(sA);
|
|
1151
|
+
if (!gA.ok) throw new Error(`Failed to fetch asset: ${_} (${gA.status})`);
|
|
1152
|
+
const IA = await gA.blob();
|
|
1153
|
+
nA.append("assets", IA, encodeURIComponent(_));
|
|
1120
1154
|
}
|
|
1121
|
-
const
|
|
1155
|
+
const rA = await fetch("/export", {
|
|
1122
1156
|
method: "POST",
|
|
1123
|
-
body:
|
|
1157
|
+
body: nA
|
|
1124
1158
|
});
|
|
1125
|
-
if (!
|
|
1126
|
-
const
|
|
1127
|
-
throw new Error(
|
|
1159
|
+
if (!rA.ok) {
|
|
1160
|
+
const _ = await rA.text().catch(() => "");
|
|
1161
|
+
throw new Error(_ || `Export failed (${rA.status})`);
|
|
1128
1162
|
}
|
|
1129
|
-
const
|
|
1130
|
-
|
|
1163
|
+
const Z = await rA.blob();
|
|
1164
|
+
Ie(Z, "export.mp4");
|
|
1131
1165
|
} finally {
|
|
1132
|
-
|
|
1166
|
+
AA(!1);
|
|
1133
1167
|
}
|
|
1134
1168
|
}
|
|
1135
1169
|
};
|
|
1136
|
-
return /* @__PURE__ */
|
|
1137
|
-
/* @__PURE__ */
|
|
1170
|
+
return /* @__PURE__ */ w.jsxs("div", { className: "timeline-player", children: [
|
|
1171
|
+
/* @__PURE__ */ w.jsx(
|
|
1138
1172
|
"div",
|
|
1139
1173
|
{
|
|
1140
1174
|
className: "play-control",
|
|
1141
1175
|
role: "button",
|
|
1142
1176
|
tabIndex: 0,
|
|
1143
|
-
"aria-label":
|
|
1177
|
+
"aria-label": BA ? "Pause" : "Play",
|
|
1144
1178
|
onClick: () => {
|
|
1145
|
-
Date.now() -
|
|
1179
|
+
Date.now() - ie.current < 450 || wA();
|
|
1146
1180
|
},
|
|
1147
|
-
onPointerUp: (
|
|
1148
|
-
|
|
1181
|
+
onPointerUp: (y) => {
|
|
1182
|
+
y.pointerType !== "mouse" && (ie.current = Date.now(), wA());
|
|
1149
1183
|
},
|
|
1150
|
-
children: /* @__PURE__ */
|
|
1184
|
+
children: /* @__PURE__ */ w.jsx(
|
|
1151
1185
|
"img",
|
|
1152
1186
|
{
|
|
1153
|
-
src:
|
|
1187
|
+
src: BA ? An : $t,
|
|
1154
1188
|
alt: "",
|
|
1155
1189
|
draggable: !1
|
|
1156
1190
|
}
|
|
1157
1191
|
)
|
|
1158
1192
|
}
|
|
1159
1193
|
),
|
|
1160
|
-
/* @__PURE__ */
|
|
1161
|
-
/* @__PURE__ */
|
|
1162
|
-
/* @__PURE__ */
|
|
1194
|
+
/* @__PURE__ */ w.jsx("div", { className: "time", children: we(lA) }),
|
|
1195
|
+
/* @__PURE__ */ w.jsxs("div", { className: "history-tools", children: [
|
|
1196
|
+
/* @__PURE__ */ w.jsx(
|
|
1163
1197
|
"button",
|
|
1164
1198
|
{
|
|
1165
1199
|
type: "button",
|
|
1166
1200
|
className: "history-tool",
|
|
1167
|
-
disabled: !
|
|
1201
|
+
disabled: !G,
|
|
1168
1202
|
"aria-label": "Undo",
|
|
1169
1203
|
onClick: () => {
|
|
1170
|
-
Date.now() -
|
|
1204
|
+
Date.now() - ae.current < 450 || G && z();
|
|
1171
1205
|
},
|
|
1172
|
-
onPointerUp: (
|
|
1173
|
-
|
|
1206
|
+
onPointerUp: (y) => {
|
|
1207
|
+
y.pointerType !== "mouse" && (ae.current = Date.now(), G && z());
|
|
1174
1208
|
},
|
|
1175
|
-
children: /* @__PURE__ */
|
|
1209
|
+
children: /* @__PURE__ */ w.jsx("img", { src: en, alt: "", draggable: !1 })
|
|
1176
1210
|
}
|
|
1177
1211
|
),
|
|
1178
|
-
/* @__PURE__ */
|
|
1212
|
+
/* @__PURE__ */ w.jsx(
|
|
1179
1213
|
"button",
|
|
1180
1214
|
{
|
|
1181
1215
|
type: "button",
|
|
1182
1216
|
className: "history-tool",
|
|
1183
|
-
disabled: !
|
|
1217
|
+
disabled: !M,
|
|
1184
1218
|
"aria-label": "Redo",
|
|
1185
1219
|
onClick: () => {
|
|
1186
|
-
Date.now() -
|
|
1220
|
+
Date.now() - ce.current < 450 || M && F();
|
|
1187
1221
|
},
|
|
1188
|
-
onPointerUp: (
|
|
1189
|
-
|
|
1222
|
+
onPointerUp: (y) => {
|
|
1223
|
+
y.pointerType !== "mouse" && (ce.current = Date.now(), M && F());
|
|
1190
1224
|
},
|
|
1191
|
-
children: /* @__PURE__ */
|
|
1225
|
+
children: /* @__PURE__ */ w.jsx("img", { src: tn, alt: "", draggable: !1 })
|
|
1192
1226
|
}
|
|
1193
1227
|
)
|
|
1194
1228
|
] }),
|
|
1195
|
-
/* @__PURE__ */
|
|
1196
|
-
/* @__PURE__ */
|
|
1197
|
-
/* @__PURE__ */
|
|
1229
|
+
/* @__PURE__ */ w.jsx("div", { className: "rate-control", children: /* @__PURE__ */ w.jsx(dt, { size: "small", defaultValue: 1, style: { width: 120 }, onChange: TA, children: sn.map((y) => /* @__PURE__ */ w.jsx(on, { value: y, children: `${y.toFixed(1)}x` }, y)) }) }),
|
|
1230
|
+
/* @__PURE__ */ w.jsxs("div", { className: "clip-tools", children: [
|
|
1231
|
+
/* @__PURE__ */ w.jsx(
|
|
1198
1232
|
"button",
|
|
1199
1233
|
{
|
|
1200
1234
|
type: "button",
|
|
1201
1235
|
className: "clip-tool clip-tool-delete",
|
|
1202
|
-
disabled: !
|
|
1236
|
+
disabled: !JA,
|
|
1203
1237
|
"aria-label": "Delete selected clip",
|
|
1204
1238
|
onClick: () => {
|
|
1205
|
-
Date.now() -
|
|
1239
|
+
Date.now() - oe.current < 450 || JA && O();
|
|
1206
1240
|
},
|
|
1207
|
-
onPointerUp: (
|
|
1208
|
-
|
|
1241
|
+
onPointerUp: (y) => {
|
|
1242
|
+
y.pointerType !== "mouse" && (oe.current = Date.now(), JA && O());
|
|
1209
1243
|
},
|
|
1210
|
-
children: /* @__PURE__ */
|
|
1244
|
+
children: /* @__PURE__ */ w.jsx("img", { src: nn, alt: "", draggable: !1 })
|
|
1211
1245
|
}
|
|
1212
1246
|
),
|
|
1213
|
-
/* @__PURE__ */
|
|
1247
|
+
/* @__PURE__ */ w.jsx(
|
|
1214
1248
|
"button",
|
|
1215
1249
|
{
|
|
1216
1250
|
type: "button",
|
|
1217
1251
|
className: "clip-tool clip-tool-split",
|
|
1218
|
-
disabled:
|
|
1252
|
+
disabled: !LA,
|
|
1219
1253
|
"aria-label": "Split selected clip at cursor",
|
|
1220
1254
|
onClick: () => {
|
|
1221
|
-
Date.now() -
|
|
1255
|
+
Date.now() - se.current < 450 || LA && S();
|
|
1222
1256
|
},
|
|
1223
|
-
onPointerUp: (
|
|
1224
|
-
|
|
1257
|
+
onPointerUp: (y) => {
|
|
1258
|
+
y.pointerType !== "mouse" && (se.current = Date.now(), LA && S());
|
|
1225
1259
|
},
|
|
1226
|
-
children: /* @__PURE__ */
|
|
1260
|
+
children: /* @__PURE__ */ w.jsx("img", { src: rn, alt: "", draggable: !1 })
|
|
1227
1261
|
}
|
|
1228
1262
|
)
|
|
1229
1263
|
] }),
|
|
1230
|
-
/* @__PURE__ */
|
|
1264
|
+
/* @__PURE__ */ w.jsx("div", { className: "export-control", children: /* @__PURE__ */ w.jsx(Ht, { size: "small", type: "primary", loading: kA, onClick: ZA, children: "Export" }) })
|
|
1231
1265
|
] });
|
|
1232
1266
|
};
|
|
1233
|
-
function
|
|
1267
|
+
function cn() {
|
|
1234
1268
|
const B = () => typeof window > "u" ? !1 : typeof navigator < "u" && // maxTouchPoints is the most reliable cross-browser hint.
|
|
1235
|
-
(navigator.maxTouchPoints ?? 0) > 0, [
|
|
1236
|
-
return
|
|
1269
|
+
(navigator.maxTouchPoints ?? 0) > 0, [o, d] = cA(B);
|
|
1270
|
+
return Ee(() => {
|
|
1237
1271
|
if (typeof window > "u" || typeof window.matchMedia != "function") return;
|
|
1238
|
-
const c = window.matchMedia("(pointer: coarse)"),
|
|
1239
|
-
return
|
|
1240
|
-
}, []),
|
|
1272
|
+
const c = window.matchMedia("(pointer: coarse)"), l = () => d(!!c.matches || B());
|
|
1273
|
+
return l(), typeof c.addEventListener == "function" ? (c.addEventListener("change", l), () => c.removeEventListener("change", l)) : (c.addListener(l), () => c.removeListener(l));
|
|
1274
|
+
}, []), o;
|
|
1241
1275
|
}
|
|
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 = () => [
|
|
1276
|
+
const gn = "data:image/png;base64,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", Bn = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURBVHic7d15mGdFeejxb/dsMMMwMKAsw66yGpFFBUFFQI1GogaJW1yCEWJiJN6YkJjlEq+JmphHJXFN3FCjcUENYKKogwoICLIoiyj7LgwzrLPP3D+qG5pxen7bOeetOuf7eZ736Z5r9L6/6qpz3l+dOlVjSO32OGAbYOGUmO7fAHOAuRO/bw5sNvH7PGD2xO8rgOUTvy+f+DfAg8BqYB1w70QsmfL7hv++G1ha1QeVpEGMRScgjWA2sC2wA7DHlNhx4v9tT2B+WHb9WQncBlwP3AHcPvH7ZNxCKiokqVIWACrBfGAf4DeAfYEnT/x7J9rfh9cCNwNXbhBX8+gshCQNrO0XT5VlBrAfcACP3uj3BXYLzClX60gzBFcCVwE/BS4Ffg6sD8xLUiEsABRpK+Bg4HDgIOAwYOvQjMr3AHAFcC5wHvAj4J7QjCRlyQJATZlJutkfAjxj4udukQl1xHrgWuBC4AJSQXAFaQZBUodZAKhOewBHTwm/3efhHmAx8B3g28CNodlICmEBoCptCzyXdLN/Pn7DL8X1pGJgMnw1UeoACwCN6kDgZcALSYv3xmPT0YjWABcBZwGnA9fEpiOpLhYAGtQ46UZ/DPAq0rv2aq/rgTOBL5MWFfqGgdQSFgDqxwzgUOA44FhgUWw6CnIT8A1SMXA+LiSUpFYaA54DfIK0aGy9YUyJ24BTSW92SJJaYBFwMvAL4m8yRhlxFanPbI8kqSibkab3zyAtAou+oRhlxhrgbFJfmjw4SZKUoWcCHweWEX/zMNoVvwI+AOyPJCkLc0jf0C4g/iZhdCMuBl4HzEKS1LjtSc9pbyP+hmB0M24HTiFtGCVJqtlBwMdIR8dG3wAMYz2wAjiNdLyzJKlCs0ib9DjNb+Qc60iLBo/BHSQlaSSzSM9aryX+4m4Yg8TPSH13BpKkvs0mXTx9d98oPa4k9eWZSJKmNXnjv474C7dhVBnXASdgISBJjzGbdHG8hfgLtWHUGddjISBJzATeDNxB/IXZMJqM60gLWz3ATFLnHA1cQfyF2DAi48ekQ6okqfX2A75J/IXXMHKKs0ljQ5JaZxFpAx8P5zGMjccq0hh5PJIG5ju3+ZkH/B/gS8ChuEGKNJ0ZpJ0u3zTx70tIBbMkFec1wJ3Ef7MyjBLjOuCFSOqLK2rzsAfwYeAF0YlILXAm6W2ZW6MTkXLmI4BYs4A/Ab4C7BOci9QWewJvJB2AdTFpdkDSBpwBiHMYaQGTK5ml+vwEOJFUCEiawgVmzdsK+CDwA7z5S3U7EPgRacxtEZyLlBVnAJr1CtKFaLvoRKQOuoE0G3B2dCJSDpwBaMYC0nT/F/HmL0XZHfgWaSzOC85FCucMQP2OAj4F7BydiKRHXAO8FtcGqMN8C6A+mwHvAj5Keu4vKR/bAseTZgK+D6yLTUdqnjMA9Xgy8Dlg/+hEJPV0IfA64NroRKQmOQNQrXHgraT3+hcF5yKpPzsBfwA8CFwUnIvUGGcAqrMT8AXg8OhEJA3tv4E3AEuD85BqZwFQjSNJN39PJcvXUuAm4Dbg3olYMuX3qbGe9Ez4von/7lrg/g3+9xbw6Fs0W0/8HAe2ARZOE9uQFoPuAmxZ5YdTpW4AXk7aREhqLQuA0YwBfwn8P3ycEm0lcDVpdfeNwM0TMfn7A1GJTWMrUiGwK7DblN/3JW1lOyssMwGsAN4CfCI6EakuFgDD2xL4JHBsdCIdsxq4BbgKuHLi5yWkG//awLyqNJNUEOxHKggmfz4ZmBOYVxd9FvhD4OHoRKSqWQAMZ3/gq8ATohPpgDtIN/hzgfNI722vCM0ozizgKaR1JgdN/Nw9NKNuuIz0SOC66ESkKlkADO4NpKN7Nw/Oo43WABcAP5z4eSFwV2hG+dsZOGQinkUqDNzhs3pLSa8KnhmdiKTmzSZtIbreqDSuBk4FjgHm9/3X0HQWAseR+ur1xP992xTrSJt7WWBJHbIQWEz8BagNsZT0xsTv4/bITXgi6Rn26aT33KP//m2IrwBzB/kjSCrTHqRvqdEXnZLjHuA00rf82YM1vyq0Gelv8DHgV8T3i5LjQmD7wZpfUkkOIT2Djr7YlBi3kG40x+ArbTmaQVpE+EHgduL7S4lxK/DUQRteUv5eCSwn/iJTUiwj3fSfiQtMSzKDdGrlacBDxPejkmIZ8LzBm1xSrk4ivVMefXEpIdaSXtE7Ac9Yb4MtSavdzyYteovuXyXEauCPhmlsSfmYSTq+N/qCUkLcBLwH30Nvs12Ak/Ftgn7jg/iGgFSk+cB3ib+I5BxrgbOA5+MUf5fMAF6Gb8L0E/+FC12lomwFnE/8xSPXeID0bH/fYRtYrbEX6ZuuawWmj2/iRmFSER5P2uoz+qKRY1xHmgKePO1OmrQVaa3MTcT30xzjB3jio5S1nUiHyERfLHKLy0iHHPk8U73MAl4PXEt8v80tLsTiWcrSbsAvib9I5BSXk7aR9fm+BjVO6jtumvXYuBLYcYR2lVSxvUkb1URfHHKJy/DGr2qMkzZ/upT4fp1LXIPbXktZeCpugzoZFwEvGq05pY0aB36X9A04up/nEDfg8eFSqGcA9xJ/MYiOG4BX4Td+1W8mcCJwJ/H9PjpuI80+SmrYU4AlxF8EIuMB4BTSoTBSk+aR3ih5gPhxEF0EOBMgNWhP4A7iB39UrCK9x7/dqA0pjWgRqS+uIX5cRMXNwK6jNqSk3vYgndoVPeij4gzS5i1STg4ivSsfPT6i4hosyKVaLaK7+5jfTjrURcrVGKmPdnVR7hXANiO3oqRf8zi6uQJ5LWmK1V3IVIqFpD7bxdMHLyXtqiipIguAS4gf3E3HZaQ3HaQSPRu4ivhx1HScB2xRQftJnTcfuID4Qd1kPAC8jXRqm1SyzYC/B1YQP66ajG8BcypoP6mzZtO9I31/COxeReNJGfkN0tbU0eOryfgc7s0hDe1jxA/ipmIV6Z1+v/WrrWaR+niXXhn8+yoaTuqavyF+8DYVVwIHVtNsUvYOpVsHd51YTbNJ3XAc3VhBvI40yzG3mmaTirEl3ZnhWwU8r5pmk9rtMGA58YO27rgVOLKiNpNKdSzdOM9jGbBfRW0mtdLuwF3ED9a64/vA9hW1mVS6XYALiR+XdcetwE4VtZnUKgtJ22lGD9I6Yx3wQdJiKEmPmkMaG9FjtO64BPcIkB5jNrCY+MFZZywFXlJVg0ktdTztfwT4VXw9UHpE2xcDXQY8sbLWktrtAOA64sdtnXFyZa0lFewNxA/GOuM0XOUvDWpr4Ezix29dsQY4urLWkgr0FOAh4gdjHbGOtOmJpOHMAN5D/FiuK5bgrp/qqK1o72YgK4DXVNdUUqedAKwmflzXEZcCm1fXVFL+xoDTiR98dcQ9wLOqaypJwPOB+4gf33XEaRW2k5S9dxA/6OqIXwB7VthOkh71G8BNxI/zOuJNFbaTlK2jaOdhIItJC5ck1WcRado8erxXHSuAp1XYTlJ2dqKdO/19mbSXgaT6zQe+R/y4rzp+OfHZpNaZQTrrPnqQVR2fwSN8paZtTjtfE/x0hW0kZeOviR9cVcdHgPEqG0lS32YBXyL+OlB1vKrKRpKiHQCsJH5gVRnvxe08pWgzgE8Qfz2oMpYCu1bZSFKUOcAVxA+qKuM9lbaQ6jaDdMz035BeP72SdATtStLiqyXA5aRvk38OHIzFXUnGgPcTf12oMn6AjxbVAm0amOuAt1XbPKrRbsD7gNsZ/G99A/BOPLa5JO8m/hpRZfxVtc0jNeso0k0zeiBVFX9ebfOoJtsDn6Ka3eOWAx8g7Vyp/LWpCFgNPKPa5pGasRVwC/GDqKr422qbRzV5I7CM6v/+d+BxzqX4EPHXi6riWjxMTAX6T+IHT1Xx/orbRtXbDPgc9faDdcC/4LPZ3I0B/078daOqeF+1zSPV6xXED5qq4kO4ICx3W5J2YmyqT3yZtLhV+ZpB+jtFXz+qiDWkhalS9hYw3KKrHOM0fM8/d7OBb9N83/g6zgTkbhbt2Szo8onPI2Xt48QPliridGBmxW2j6n2BuD7yTw18Po1mc5qdHaoz3lFx20iVOpx2rPpfjHv7l+BEYvvJOuDFtX9KjWpL0jfo6OvKqLEc2KvitpEqMRv4GfGDZNS4Bk/1K8EO1LPaf9C4g/TYS3nbkXa8lXQ+PpZUhtqw1/89wJOqbhjV4vPE95fJcGfIMhwIPEh8fxk1Tqy6YaRRPBF4mPiBMUosB55ZdcOoFk8grYyO7jOT8SDwuFo/saryEvLqO8PEMtKMhpSFiFXYVcY64DWVt4rq8m/E95kNwwVa5Xgb8f1l1Dit8laRhvB7xA8GL97dMRu4m/g+s2FcW+eHVuX+lfg+M0qsIy26lsLMB+4kfjCMElbSZXke8X1muti3xs+tas0AvkV8nxklLsQFgQr0D8QPglHiCtxnuzQ5H/bylho/t6q3ELie+H4zSryh6kaR+rEIeIj4ATBs3A/sXXmrqG5nE993potP1/exVZOnASuI7zvDxp34GqoCnEZ85x821gG/U32TqAE3Ed9/posf1fi5VZ83E993RglfQ1WjngqsJb7jDxv/WH2TqCGriO8/08WN9X1s1exTxPefYWMlsGf1TSJt3HeJ7/TDxnfxEJdSzSG+/2wqltT30VWzuZS9XfDXq28S6de9mPjOPmzcCjy++iZRQ+YT34c2FQ/W99HVgCeRx/bSw8Zh1TeJ9KgZlLvf/1rgyOqbRA2yAFDdXkN8Pxo2flBDe0iP+CPiO/mw8b4a2kPNsgBQEyKPmB41jqqhPSQ2A24jvoMPE1eSzgVX2SwA1IStgJuJ70/DxEXAWPVNoq47ifjOPUysAg6uoT3UPAsANeVo0uvC0X1qmHhxDe2hDptDWkAX3bGHiZNraA/FsABQkz5IfJ8aJq7ALYJVobcQ36mHiXPxlb82sQBQkzYDfkp8vxomfreG9lAHzaHM52EPAHvU0B6KYwGgph0ErCa+bw0aV+OXn86pY9rn94Gda/jfrdvfkQ76kKRhXQK8PzqJIewNvCI6CZVtFnAD8dXsoHE5MLOG9lAsZwAUYS5lnhp4Ob4RoBG8ifhOPGisBQ6pozEUzgJAUV5IfP8aJl5QR2Oo/WZRZtX7gToaQ1mwAFCkrxDfxwaN79TSEmq9VxPfeQeN2/Fs7DazAFCkHSjzrICD6mgMtdsFxHfcQeNltbSEcmEBoGhvJb6fDRpfqKUl1FrPIL7TDhpn1NISyokFgKLNAC4mvq8NEmuA3etoDLVTaYdhrAb2raUllBMLAOXg2cT3tUHjX2tpCbXOjqT986M7rJ1bG7IAUC6+Rnx/GyQeArappSXUKu8ivrMOEkuBbWtpCeXGAkC5eAKwkvg+N0i8vZaWUGvMAe4kvqMOEn9eS0soRxYAysmpxPe5QeKXuDGQNuF44jvpIHED6cAOdYMFgHKyNbCE+H43SBxVS0soC6OeBfDWSrJozl8BK6KTkNRJS4H3RCcxoBOjE1Cenkl8dTpIXITTWV3jDIByMwe4kfi+12+sAravoyEUb5QZgDdUlURDTiF1aEmKshJ4d3QSA5hFetQrPWJz0nRWdHXab1yC3/67yBkA5ai0U1NvIm1opJYZdgbgWGCrKhOp2Sn47V9SHlYD/xydxAB2AZ4fnYTy8R3iq1K//asXZwCUqznALcT3wX7j9HqaQaXZFVhLfIfsN15aTzOoABYAytmfEN8H+42VwMJ6mkFRhnkE8Poh/3sRfgb8d3QSkrQR/w7cFp1En2YDvxOdhKo16I18jFQAlOIUYF10EpK0ESsoay3Aq6MTUKwjiJ+K6jeux5WrXecjAOVuLuXsDrgW2KmeZlCEQWcAXltLFvU4ldRhJSlXDwOfjE6iT+PAK6KTUIyZwN3EV6H9xP3AgnqaQQVxBkAl2JX0amB0f+wnLq6pDRRgkBmAIyjnGN1PA/dFJyFJfbiJchYrHwTsG52EqjFIAVDKCtD1wIeik5CkAXwwOoEB+BigY8aB24mffuonzqqpDVQeHwGoJJcS3yf7iavragA1q98ZgEOBHepMpEIlVdKSNKmUa9fewJ7RSWh0/RYAL6s1i+r8Ejg7OglJGsIXSYesleDF0QlodG0rAD5DmqKSpNKsIBUBJfjt6ATUjAOJf+bUT6wlnVolTXINgErzdOL7ZT+xBtimpjZQQ/qZASjl2//3gJujk5CkEVwEXBmdRB9mAL8ZnYRG008B8KLas6jGp6ITkKQKfCY6gT4dE52ARjPW4z/fBvgV+Z/+dz/pLYWHoxNRVuaT+kauHgK2iE5C2dkOuJW0+2rO7gMeD6yKTkTD6XVjP7qP/5scfBFv/pLa4S7gW9FJ9GEB8KzoJDS8Xjf35zWSxehKmTKTpH58OjqBPr0gOgHV5wbiV5v2ilvp/ShD3eRbACrV5qT+Ed1He8WP62oA1W9TMwB7Ars1lMcovkrqiJLUFsuB/41Oog8HAFtFJ6HhbKoAKGX6//ToBCSpBiVc22YAh0cnoeGUXgDcA5wXnYQk1eAM0u6AuXtudAIaznQFwEzgiAbzGNbppB2pJKltHgC+G51EHywACjVdAXAQ6RWP3H0tOgFJqlEJjwH2BxZGJ6HBTVcAPLPRLIazjLT9ryS11TfIf5ZzHHh2dBIa3HQFwNMbzWI4/4s7UElqtyXA+dFJ9MHHAAWargA4tNEshnN2dAKS1IDvRCfQh8OiE9DgNlYAPB7YtelEhlDCoJCkUZXwZecpwGbRSWgwGysASnj+fw0e/SupG34M3BudRA+zSEWACrKxAuAZjWcxuBIqYkmqwlrgnOgk+vC06AQ0mI0VAIc0nsXgLAAkdUkJ17yDoxPQYDYsAGaQ/x9xDfD96CQkqUEWAKrchgXAfsAWEYkM4ELg/ugkJKlB15FOZ83ZPuR//9AUGxYAB4RkMZgfRCcgSQF+GJ1ADzMo4x6iCRubAcjdhdEJSFKAEq59LgQsiAWAJJXhgugE+rB/dALq34YFwJNDsujfDcCd0UlIUoArgIeik+hh7+gE1L+pBcAWwM5RifSphApYkuqwBrgkOoke9gbGopNQf6YWAPuR/x/O6X9JXZb7l6AtgR2jk1B/phYAuU//Q/6dX5LqVMKXIB8DFGJqAbBvWBb9WQVcFp2EJAUqoQDYJzoB9aekGYBrgZXRSUhSoNvI/2AgZwAKMbUAyL1quzI6AUnKQO7XwtzvJZowWQDMBhZFJtKH3Du9JDXhqugEerAAKMRkAbAzGz8ZMCcWAJIEP4tOoIcd8EyAIkze9HcNzaI/uXd6SWpCCV+Gct9TRjxaAOwSmkVvK4Hro5OQpAxYAKgSpcwAXEPaBUuSuu5XwN3RSfRgAVCAqWsAcnZ1dAKSlJHcr4m531NEOTMAN0YnIEkZuSk6gR4sAApQSgFwc3QCkpSR3K+JFgAFmEk6AGin6ER6yL2z1202MC86iQLl/irSGLB1dBKFeoBurwvK/ZpoAVCAmcC2wObRifSQe2evymzgOcBzgYOBvUgna82MTEq1mUv+27rmbBVwK/Bz4CLge8B5wNrIpBqS+yOA3L9UivQNZG/yX1CyALg/Ooka7Qm8FXgVsDA4F6lkdwCfA04lFQdtVcJ1eyvgvugktGmHAeszjjZ/Q1oEfJ70jSW6nQ2jTbES+DDtLajnEt/GvWL32j69KjFO/gOkrdP/J5Iq+FeT/zbMUmlmA28m7SFybHAudXgYuCc6iR5yv7d0XgkFwG3RCVRsM+ALwEeB+cG5SG33OOArwAeAGcG5VC33RxwucM3cOLBNdBI9LIlOoEJbAv8LvDI6EaljTgL+izQz0Ba5Px7N/ctl55UwA9CWAmA26ZvIc6ITkTrqWFIR0JaZgNyvjbnfWzqvhAJgaXQCFfkk8LzoJKSOeynwrugkKpL7DICPADLnI4BmvBF4TXQSkgA4GfjN6CQqYAGgkZQwA5B7J+9lO+B90UlIesQY8HHy3ymyl9yvjbnfWzpvnPxXoufeyXt5N2lDDEn52Bn4i+gkRpT77KjXvcyNA3Oik+gh906+KbsAvxedhKSNOomyb1K5fznK/d7SeePArOgkengwOoERvJX821fqqi2B46OTGMED0Qn0YAGQuXHyfy92VXQCQ5pB2uVPUr5eG53ACFZHJ9CDX34yZwFQn0OAHaKTkLRJTwV2i05iSLlfGy0AMmcBUJ/nRicgqS9HRicwpNyvjbnfWzqvhAIg92mu6RwUnYCkvhwYncCQVkYn0EPu95bOK6EAyL3Knc6e0QlI6ste0QkMKfdrY+73ls6zAKjP9tEJSOpLqWM192ujawAyl/trgOuBNdFJDGledAKS+pL7ZmjTyb0AyP3LZeeNRycgScHWRyfQUuuiE9CmjZN3FTkGzIxOYkglb2Akdcn90QkMKfeNdnK+t4j8CwAodxrp9ugEJPWl1LGa+7Wx1De4OmOc/P9IuXfy6fw8OgFJfSl1rOZ+bcz9y2XnOQNQnx9HJyCpL6WO1dyvjbl/uew8C4D6fC86AUk9rQcWRycxpNyvjRYAmbMAqM8lwA3RSUjapB/hGoC65H5v6bxx3E6yLuuBz0UnIWmTTotOYAS5XxudAchcCYsAt4xOYAQfApZHJyFpo+6h7CI992tj7veWzithBmBhdAIjuAv4eHQSkjbqPcBD0UmMIPdro3uhZG4cuC86iR62iU5gRH8H3BGdhKTHuAo4NTqJEW0bnUAP90YnoE0bJ/8/Uu5Vbi/3A2/G7UalXKwG3kj5U9S5XxuXRiegTRsHlkQn0UPunbwf3wDeH52EJABOBi6ITqICuV8bLQAy5wxAc/4c+HJ0ElLHfYT2FOO5XxstADJnAdCcdcBrsQiQonwIeEt0EhXK/dpoAZC5EgqA3Be6DGIl8Ergn3FNgNSUNcDbSTf/Nh1Rm/sC6WXRCWjTSlgDsCg6gYqtA/4C+G3gtuBcpLa7FngO8C/RidRgp+gEesj9y2XnlTADsGt0AjU5E9gHeC++LytV7V7gHcBTgPODc6nDfGDr6CR68BFA5saAPcn/OMyFtLszbQucALwO2Cs4F6lklwGfAT4BPBCcS532A34WnUQPW1D2RkutN0a6ueb+GOAA0sDugn2BI4GDgb2B7YAFoRmVawzYKjqJTViPz0lHsZR0kM/PgQtJJ3BeF5pRc14EnBWdxCYsJf9Fip03kzRV9hAwLziXTdmF7hQAV02ERjeftBFTrh7Gi6SGk/uj0ZujE1Bv4xM/c/9j5d7ZJalJu0Qn0MOt0Qmot1IKgNw7uyQ1KfcvRRYABZgsAG4KzaK33aMTkKSM7BadQA++4lyAUmYA9olOQJIysnd0Aj3kfk8R5RQATwJmRychSRlYRP57APgIoAClPAKYRSoCJKnr9otOoA8WAAUopQAAeHJ0ApKUgdwLgPXALdFJqLfJAuA20oEZOds3OgFJykDuBcDNpD0ulLnJAmAN+VdszgBIUv4FwDXRCag/41N+z333udw7vSTVbYz834q6OjoB9WdqAZD7wRJPAOZGJyFJgXYj/7NBnAEoREkzADNJB+RIUlcdEp1AHywAClHSDACU0fklqS7PiE6gDz4CKMTUAuBqYG1UIn0qofNLUl1y/xK0DPhVdBLqz9QCYDlwY1Ae/To0OgFJCjIHeGp0Ej3k/ihZU4xv8O/cHwPsgCcDSuqmA0hFQM4sAAqyYQFwZUgWg8l9CkyS6lDCDOgl0QmofyUWAK4DkNRFT49OoA8WAAXZsAD4SUgWg3l2dAKSFODw6AR6WAVcEZ2E+rdhAfBz4N6IRAZwILBtdBKS1KD9gJ2ik+jhCmBldBLq34YFwHrgoohEBjAOPDc6CUlq0POiE+jDxdEJaDAbFgAAFzaexeBKGAySVJUSrnkWAIUptQB4fnQCktSQ2ZSx9skCoDAbKwB+RHoUkLNdgSdGJyFJDTgU2CI6iR5W4B4AxdlYAbAMuLbpRIbgLICkLjg6OoE+XAqsjk5Cg9lYAQBlPAYo4ZmYJI2qhC87349OQIObrgC4oNEshvN8YF50EpJUo0XA06KT6MM50QlocNMVAD9qNIvhzKWMyliShvVSYCw6iR5WA+dFJ6HBTVcAXAHc3WQiQ/qd6AQkqUbHRifQhx8DD0YnocFNVwCsA77XZCJDOob0iowktc22wLOik+jDOdEJaDjTFQAAZzeWxfAWAEdFJyFJNXgpMDM6iT6cE52AhlN6AQA+BpDUTiVc21YD50cnoXr8nLQpUM5xN2VUyWrefOL756bC56aazgLSwTrRfbRXnFtXA6h+m5oBgDJmAbYFjohOQpIq9BLKWN9UwloxTaMNBQDA66MTkKQKvSE6gT6dGZ2A6jMfWEX8NFOveBjYqqY2ULl8BKAS7QqsJb5/9oq76P0lUhnr9cd7gPSOZ+42B14enYQkVeANlHFjPZP0yrgK1U8nO6v2LKrx+9EJSNKIxoDXRSfRJ6f/O2BP4qea+o29a2oDlclHACrNEcT3y35iBWl8qWD9zABcSznnPL82OgFJGsHroxPo02LSI2IVrN/nTKfXmkV1XgfMiE5CkoawBeWsZXL6vwXaVgDsRHp/VpJK8wZSEVCCUtaGqSLXE//cqZ84p6bPr/K4BkClGKOMnVfXA5fW1AZq2CCvmny1tiyq9RzgoOgkJGkALyItuC7BF6ITUDUGKQC+VlsW1fvj6AQkaQAnRSfQp/XAl6KTUPPGgFuIn37qJ1YA29XTDCqIjwBUgn1JG+pE98d+4vs1tYECDDIDsB74el2JVGwO8KboJCSpD39C+oJVAqf/O+xg4ivQfuN2yjhNS/VxBkC525rUD6L7Yj+xinT6qlpi0P2mLwZ+VkciNdgBeHV0EpK0CX8MzItOok/fAu6JTkKx/oz4SrTf+CUws55mUAGcAVDOtgDuJr4f9ht+oRKPp4wjgifD7YG7ywJAOXsH8X2w33iIcjYpUs2+QXyHHpwNtwAAE+dJREFU7Deuwe2Bu8oCQLkq7dv/Z+ppBkUa9szpkjrDXsAropOQpCn+mLIW1H00OgHlYzbwK+Kr0n7jKoYvdlQuZwCUo3nAXcT3v37jinqaQdGGvSmuAv6zykRqtg9wXHQSkgS8mbSWqhQfi05A+dmf+Mp00FkA3wjoFmcAlJv5wJ3E971B+uiCWlpC4UaZFr8cOK+qRBqwD/AH0UlI6rS/pKxtyr8I3BedhPJ0HPEV6iDxK6xmu8QZAOVkEel1uuh+N0g8rZaWUCvMBG4ivpMOEv9YS0soRxYAyslnie9zg8Rl9TSD2uRk4jvqIPEwsEstLaHcWAAoFwcCa4nvc4PEibW0hFqlpMMsJuOztbSEcmMBoFx8h/j+NkgsoZwzChTsY8R32EFiHT7b6gILAOXgJcT3tUHjlDoaQu20H+mmGt1pB4kfUs4Z3BqOBYCizQF+TnxfGyQeBh5XR2MoL1Xtjncl8L2K/reacjhwfHQSklrtr4A9o5MY0KdJ5xRIfTuG+Mp10FhCWTtyaTDOACjSnsAK4vvZILEGeGIdjaF2GyNtDhTdgQeN0+poDGXBAkCRSlv4tx74ci0toU54BfEdeJg4uo7GUDgLAEV5LfH9a5g4pI7GUDeMAz8lvhMPGr8ANquhPRTLAkARFlLWaX+TcU4NbaGMVX1E7jrg3RX/bzbhicA7opOQ1Arvpcy1Re+NTkDlmwFcQ3w1O2isBJ5SQ3sojjMAatqRlPdK9Hrg/DoaQ91U6vOvK/FRQJtYAKhJCyjvbJTJOLKG9lBHzaC8zS8m459raA/FsABQkz5PfJ8aJn5QR2Oo236f+I49TKwFnltDe6h5FgBqyrHE96dh49k1tIc6biZwHfGde5i4kTSdp7JZAKgJi4B7ie9Pw8T/1NAeEgCvIr6DDxufqaE91CwLANVtDPgm8X1p2Hh69U0iJWPAhcR38mHj5dU3iRpkAaC6vZX4fjRsfK2G9pAe41nEd/Rh415gj+qbRA2xAFCdDgKWE9+Phom1+NqzGvJV4jv8sHE5MLf6JlEDZhPffzYV99T30VWzrYHrie9Dw8bHq28SaeP2oLxTsabGZ6tvEjUk5353Q42fW/UZp+zn/vcD21feKtImfID4jj9KvLH6JlEDcv6W9sMaP7fq83+J7zujxNurbxJp07YGlhDf+YeN5aRnfipLzt/U/qPGz616HAWsIb7vDBu/BOZU3ioqUtWHAW3KUso8KGjSZqS1DNtEJ6KBXBSdwCZcGJ2ABrIz8EXSTqelehvp3BOpcXMod3OgyTiLsi8AXfNs4vvMdPGEGj+3qrU5Zb/SvB74VuWtIg3oBcQPhFHjA5W3iuoyDtxKfJ/ZMH5S54dWpcYod5//yVgNPLnqhpGG8UXiB8So8SeVt4rq8k/E95cN409r/cSq0ruJ7y+jxqmVt4o0pO1JawKiB8UosRZ4SdUNo1rsRHruGd1nJmMJaZMi5e944vvLqHEHaRG2lI0/In5gjBoP4V7apfgw8f1lMv6q5s+qahxBXoXjsPE7FbeLNLJx4DziB8eocTtpdbDythD4FfH95RekN0qUt30of5ZyPXBG1Q0jVeUpwCriB8mocSlO6ZYg+sz21cBhtX9KjWo70i6N0deVUWMZsGPFbSNV6r3ED5Qq4lxgXsVto+pF7kj5Zw18Po1mAXAJ8deTKuKEittGqtxcyt8bYDK+jbts5W4c+BLN942PNPHhNJK5pO2Zo68jVcT3Sa8vStl7HrCO+EFTRXwZNwrK3Rzgv2iuT5xKs7tuanCbA98j/vpRRSwH9qq2eaR6nUr8wKkqPo0X/NyNk97vrrPwXEXaelV5mw2cSfx1o6r462qbR6rfZsBPiR88VcWHqm0e1eQ3gZuo/u9/JXBIg59Dw5kBfIH460VVcTEwq9IWkhpyEO14K2Ay3lNt86gm84B3klZNj/o3v4u02M+LcP7GgE8Sf52oKh4AnlRpC0kN+xviB1KV8U+4GKcUW5Gm7C9j8L/zecCJpIVkyt8M4BPEXx+qjDdW2kJqvRxvTOPAYtIpbm3xMdLOh+uiE1HfdgOeCxwM7EnavnoL0t/wQdL2qtcAPyYtHrsjJEsNYzbwOeC46EQq9DXc8U8tsQdwP/EVdZXxeWBmlY0kaWBzSDfL6OtBlXEbsE2VjSRFO4H4gVV1/DduAytFmQecTfx1oMpYB7ywykaScvEN4gdY1fFN0jvHkpqzNXAB8eO/6viXKhtJysnWwPXED7Kq4xxgy+qaSdImbM9wCztzj0tx51G13P7Aw8QPtqrjp8CuFbaTpF+3H+042GfDuB/Yu8J2krL1B8QPuDriDuBpFbaTpEcdRTuO9N0w1uGKf3XMfxA/8OqIB4GXVthOkuB42rWp2NR4Z4XtJBVhM9I2l9GDr45YB5xSWUtJ3TVGGkvRY7qu+A4eNqaO2hW4h/hBWFf8O24hKw1rDmm/jehxXFfcBGxbWWtJBXox7Tk6eGPxLRzk0qB2AS4kfvzWFctJu1JKnfcu4gdknXET8PTKWktqt+cDdxM/busM9/mXJowDXyF+UNYZK0jnB0jauHHg74C1xI/XOuMWPGRKeozNgR8RPzjrjs+RtjCV9KiFpF01o8dnU/FD0mFUkiZsC/yS+MFZd1wN7FtRm0mlOwC4jvhxaREgBdsPWEb84Kw77gNeW1GbSSUaA04iPR6LHo9RsRgfB0iPcQSwkvjB2UR8BY/+VPdsD5xF/PjLIZwJkDZwPPEDs6m4k/Q6pNQFx9Hu/T8sAqQKvJf4gdlUrAM+hgsE1V4LSH08eqzlGhYB0hTjwH8RPzCbjKtxgxC1z1HAzcSPr9xjMa4JkB4xCziT+IHZZKwGPgjMr6D9pEhbk/py29/trzKcCZCm2JxUGUcPzKbjNuDlFbSfFOE44C7ix1GJYREgTTGPNCiiB2ZEnEHaG10qwROBbxM/bkoPiwBpigXAJcQPzIh4CDgZjw5VvmaR+uhy4sdLW8IiQJpiO+Aa4gdmVFxC2idByslLgGuJHx9tjMW4MFB6xCLgeuIHZmScDTx51IaURnQQ3Vyf03Q4EyBN8QTSIrnogRkZq0nvVW83YltKg1pE6ntriB8HXQmLAGmKvbEIWE86O+FkYLPRmlPqaT7wD8DDxPf7LsZifBwgPWIP4AbiB2YOcRPwh8DskVpU+nXzgLfja305xGIsAqRH7AD8jPiBmUvcTDplbfNRGlUi3fhPAu4gvl8bj4aPA6QpHg9cRvzAzCnuIj0asBDQoLYg3fjvJL4fGxsPiwBpioXAhcQPzNziduBteLFQbwuBvwWWEN9vjd6xGB8HSI+YB3yH+IGZY9xHWrm919Ctq7Z6EmnP/geJ76fGYOFMgDTFXOB/iB+YucZa0j4CxwBjQ7axyjcOHE3aanod8f3SGD4sAqQpZgOfJX5g5h6XAcfjK4RdMh94C+7c17ZYjI8DpEeMAafgt5t+YhlwGukbobMC7XQQ6RHQA8T3N6OecCZA2sDrgZXED85S4mpS4bTrEG2tvOxEehPkl8T3K6OZsAiQNnAksJT4wVlSrAHOBH4XpxZLsoBU9C7G2a+uxmIcs9Jj7Iu7Bg4by0mLxV5HusEoLwtJf5szgBXE9xcjPpwJkDawPXAR8YOz5FgDnEvaKGb7wZpfFXocj970VxHfL4z8wiKgQ1y81Z95wGeAY6MTaYG1wPmk1wq/Qyqu1oZm1F6zgWeSFmo+HzgYx3wVbiWtlWirc4DfIh3gJIl04TwJvzlVHQ+SioGTSavONZo9gBOAL5He1Ij++7YpVky07VzguxnkU2c4EyBtxFHA3cQP0LbGDaTXC/+YVBDM7O/P0klzgEOBPwW+SNrCOfrv19a4kccWqHNJC+ei86ozFuPCwFZzOnA4uwBfJU2pql4PAz8BLpiIi4BbQjOKswfwDOCQiZ8H4FHOTfg28GrSeQdTzQXOAo5oOqEGnYOPA1rLAmB4c4B/Bd4UnUgH3Ud6T/0q4MopP6+PTKpCWwP7kd5C2Y/0zfMppB351Jz1wD8Bf83061TmkhZVHtlUUgHOBV5IelynFrEAGN0JwKmkgkCxlpA2JboBuHmDuJF8vsXMJ80i7T7xc5cp/94b2CouNU1YxqNvTPTiTICKZAFQjacDXyBN0Spf9wC3AfdOxJKJuHdKPEh6bfGBif/OCtKeBgAPkQ7E2Xzi3/N4dAp+wcR/tiXpHfuFwDYTsXBK7ET6hq98XQYcR5pl6pdFgNRh80n7pkcv3DEMY7hYRzrieNjZPN8OkDruWNK3yuiBahhG/3En6Tn3qCwCpI7bmTRdFj1QDcPoHaeTHtVUxSJA6rjJjYM8VdAw8oyHSWO0DhYBkjgY+Dnxg9UwjEfjImBP6mURIIm5wL+QVpdHD1jD6HIsJ73X39QOk+4YKAmApwIXEz9gDaOLcS6wD81zJkASkL55nEz6JhI9aA2jC7GM9Kx/nDgWAZIe8QTaf0EwjOg4g/RWTg4sAiQ9Yoy03aj7BhhGtXEHaWzlxiJA0mPsCHyWtBNZ9OA1jJJjNemQrpzPU3BhoKRfczBwHvGD1zBKjO+STk0sgTMBkn7NGOkgkpuJH8CGUUL8gjRmSmMRIGmj5gGn4NsChjFdPEgaI5tRLosASdN6IvB14gexYeQSa4FPANvTDq4JkLRJh9H+i4Rh9IpvAPvTPhYBkno6HPg+8YPZMJqMs4Gn024+DpDUl6OBS4gf0IZRZ5wLPJfusAiQ1Jcx4BjgcuIHtWFUGReQ+nYXWQRI6tsM4NXApcQPbMMYJX4I/BZyTYCkgR1O2v/cXQWNUmItqc8+E03lTICkoewPnEbaGjV6kBvGxmIFqY9GHNFbCosASUPbDfggadOU6IFuGOuB+0h9ckfUD4sASSPZBng7cC3xg93oZlwGvJm0y6UG45oASZU4HPgSsIr4QW+0O1aQ+trRaFTOBEiqzPbAycD1xA98o11xDalvbYOqZBEgqVLjwIuAr5G+sUVfAIwy4yHSor7DUZ18HCCpFlsBryO9luUbBEavWEPare8EYD5qijMBkmq1CDiJdIGPvhgYecXFpL6xHYpiESCpEfsA7yQ9242+KBgxcRnwl8CuKBc+DpDUqD1I3/7OxjcJ2hyrSbM/JwN7oVw5EyApxELgONLir6XEXyiM0eIe0mt7rwMWoFJYBEgKNZv0vvf7SM+I1xB/0TA2HauB84F3AYeS3ghRmXwcoIGMRSegVtsCOIRUFBwNHIA3mGhrSc/yzyNN758NLAvNSFWaS3qD58joRGp0LvBC0vbmGoEFgJq0DfAc4AjSu+JPBmZFJtQBK0nHRP8AOId08XwgMiHVbi5wFmmctdU5pGOjHw7Oo2gWAIo0C9gTOGgiDgOeCsyITKpga0hnPVwyJS4mbe6kbnEmQD1ZACg3WwAHAgeTioG9J8JNZh7rPtIrmVcCPyHd6C/Hm70e5UyANskCQKXYGtgP2HfKzz2A3Wl3P14KXEW60V8/5fcbSIuipE1xJkDTavOFU90wH9gZ2AXYaSJ23eD3zcOy27RlwG3AzRM/b93g9xvxm41G50yANsoCQF2wANiWNIuwcJqf80nnIEyOia0nfo6z8ffh1wL3T/y+nseupF/aR9xFOjxHaoJFgCRJHeVmQZIkdZRFgCRJHWURIElSR1kESJLUURYBkiR1lEWAJEkdZREgSVJHWQRIktRRFgGSJHWURYAkSR1lESBJUkdZBEiS1FEWAZIkdZRFgCRJHWURIElSR1kESJLUURYBkiR1lEWAJEkdZREgSVJHWQRIktRRFgGSJHWURYAkSR1lESBJUkdZBEiS1FEWAZIkdZRFgCRJHWURIElSR1kESJLUURYBkiR1lEWAJEkdZREgSVJHWQRIktRRFgGSJHWURYAkSR1lESBJUkdZBEiS1FEWAZIkdZRFgCRJHWURIElSR1kESJLUURYBkiR1lEWAJEkdZREgSVJHWQRIktRRFgGSJHWURYAkSR1lESBJUkdZBEiS1FEWAZIkdZRFgCRJHWURIElSR1kESJLUURYBkiR1lEWAJEkdZREgSVJHWQRIktRRFgGSJHWURYAkSR1lESBJUkdZBEiS1FEWAZIkdZRFgCRJHWURIElSR1kESJLUURYBkiR1lEWAJEkdZREgSVJHWQRIktRRFgGSJHXUXGAx8TfqOmPxxOeUJElTdGEm4GxgdlUNJklSW3RhJuCjlbWWJEkt0oWZgFdX1lqSJLVI24uAe4FtK2stSZJapO2PAz5cXVNJktQubZ4JWAXsUl1TSZLULm2eCXhPhe0kSVLrtHUm4DZgvMJ2kiSpddo6E3CIFYAkSdN7GPgt4HvRiVTsOTOiM5AkKXOrga8AhwG7xaZSmfuiE5AkqRRtWhNwRcVtI0lSq7VlTcA9VTeMJElt14aZgJWVt4okSR1QehGwovomkSSpG0p+HOAjAEmSRlDqTMDl7gMgSdLwHgaOAc4JzmNQ11oASJI0mhI3C7ooOgFJktqipDUBT6+pDSRJ6qQS1gTcDIzV1QCSJHVV7jMB767vo0uS1G25zgSsAHas8XNLktR5Oc4E/Futn1iSJAF5zQQsAbat9+NKkqRJuRQBr6r7g0qSpMeKfhzwofo/oiRJ2piomYAzgZkNfD5JkjSNucBZNHfzP2Pi/09JkhRsFvBRmpn295u/JEmZeSVpZX7VN/57gOMa/BySJGlA2wAfAVYy+o1/Bek9/4WNfgJJkjS0nYD3ALcw+I3/JtL2vgPt8OdhAJIk5WOcdFLfc4CnAU8Cdga2IN3sHwRuBX4BXAh8H/jxxH82kP8Pc72hk5Rkh+8AAAAASUVORK5CYII=", un = "data:image/png;base64,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", Bt = () => [
|
|
1243
1277
|
{ id: "0", actions: [] },
|
|
1244
1278
|
{ id: "1", actions: [] },
|
|
1245
1279
|
{ id: "2", actions: [] },
|
|
1246
1280
|
{ id: "3", actions: [] }
|
|
1247
|
-
], ze = 5,
|
|
1248
|
-
/* @__PURE__ */
|
|
1249
|
-
B.kind === "video" ? /* @__PURE__ */
|
|
1281
|
+
], ze = 5, ft = ({ item: B, hint: o, isDragging: d }) => /* @__PURE__ */ w.jsxs("div", { className: `footage-card${d ? " is-dragging" : ""}`, children: [
|
|
1282
|
+
/* @__PURE__ */ w.jsx("div", { className: "footage-name", children: B.name }),
|
|
1283
|
+
B.kind === "video" ? /* @__PURE__ */ w.jsx(
|
|
1250
1284
|
"video",
|
|
1251
1285
|
{
|
|
1252
1286
|
className: "footage-preview",
|
|
@@ -1257,7 +1291,7 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
1257
1291
|
onDragStart: (c) => c.preventDefault(),
|
|
1258
1292
|
playsInline: !0
|
|
1259
1293
|
}
|
|
1260
|
-
) : /* @__PURE__ */
|
|
1294
|
+
) : /* @__PURE__ */ w.jsx(
|
|
1261
1295
|
"audio",
|
|
1262
1296
|
{
|
|
1263
1297
|
className: "footage-audio",
|
|
@@ -1268,86 +1302,155 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
1268
1302
|
onDragStart: (c) => c.preventDefault()
|
|
1269
1303
|
}
|
|
1270
1304
|
),
|
|
1271
|
-
/* @__PURE__ */
|
|
1272
|
-
] }),
|
|
1273
|
-
const { attributes: d, listeners: c, setNodeRef:
|
|
1305
|
+
/* @__PURE__ */ w.jsx("div", { className: "footage-kind", children: o })
|
|
1306
|
+
] }), ln = ({ item: B, hint: o }) => {
|
|
1307
|
+
const { attributes: d, listeners: c, setNodeRef: l, transform: E, isDragging: m } = Jt({
|
|
1274
1308
|
id: `footage-${B.id}`,
|
|
1275
1309
|
data: { item: B }
|
|
1276
|
-
}),
|
|
1277
|
-
transform: `translate3d(${
|
|
1310
|
+
}), O = E ? {
|
|
1311
|
+
transform: `translate3d(${E.x}px, ${E.y}px, 0)`
|
|
1278
1312
|
} : void 0;
|
|
1279
|
-
return /* @__PURE__ */
|
|
1280
|
-
},
|
|
1313
|
+
return /* @__PURE__ */ w.jsx("div", { ref: l, style: O, ...c, ...d, children: /* @__PURE__ */ w.jsx(ft, { item: B, hint: o, isDragging: m }) });
|
|
1314
|
+
}, Ct = (B) => String(B ?? "").toLowerCase().match(/\.(mp3|wav|m4a|aac|ogg)(\?|#|$)/) ? "audio" : "video", dn = (B, o) => {
|
|
1281
1315
|
try {
|
|
1282
1316
|
const d = String(B ?? "").split("/").pop() || "";
|
|
1283
|
-
return decodeURIComponent(d.split("?")[0].split("#")[0]) || `Footage ${
|
|
1317
|
+
return decodeURIComponent(d.split("?")[0].split("#")[0]) || `Footage ${o + 1}`;
|
|
1284
1318
|
} catch {
|
|
1285
|
-
return `Footage ${
|
|
1319
|
+
return `Footage ${o + 1}`;
|
|
1286
1320
|
}
|
|
1287
|
-
},
|
|
1288
|
-
const
|
|
1321
|
+
}, ut = (B) => {
|
|
1322
|
+
const o = String(B?.type ?? "").toLowerCase();
|
|
1323
|
+
return o.startsWith("audio/") ? "audio" : o.startsWith("video/") ? "video" : Ct(B?.name ?? "");
|
|
1324
|
+
}, In = ({
|
|
1325
|
+
footageUrls: B,
|
|
1326
|
+
footageFiles: o,
|
|
1327
|
+
footageFileHandles: d,
|
|
1328
|
+
autoPlaceFootage: c = !1
|
|
1329
|
+
}) => {
|
|
1330
|
+
const [l, E] = cA(() => Bt()), [m, O] = cA(null), [S, G] = cA([]), [M, z] = cA([]), F = tA(l), BA = cn(), [iA, lA] = cA(!1), oA = tA(null), kA = tA(null), AA = tA(null), Qe = tA(!0), ie = We(() => {
|
|
1289
1331
|
const A = Array.isArray(B) ? B.filter(Boolean) : [];
|
|
1290
1332
|
return A.length ? A.map((n, t) => ({
|
|
1291
1333
|
id: `url-${t}`,
|
|
1292
|
-
kind:
|
|
1293
|
-
name:
|
|
1334
|
+
kind: Ct(n),
|
|
1335
|
+
name: dn(n, t),
|
|
1294
1336
|
src: n,
|
|
1295
1337
|
defaultDuration: 10
|
|
1296
1338
|
})) : [];
|
|
1297
|
-
}, [B]), [
|
|
1298
|
-
|
|
1339
|
+
}, [B]), [oe, se] = cA([]), [ae, ce] = cA([]);
|
|
1340
|
+
Ee(() => {
|
|
1341
|
+
const A = Array.isArray(o) ? o.filter(Boolean) : [];
|
|
1342
|
+
if (A.length === 0) {
|
|
1343
|
+
se([]);
|
|
1344
|
+
return;
|
|
1345
|
+
}
|
|
1346
|
+
const n = [], t = A.map((r, s) => {
|
|
1347
|
+
const i = URL.createObjectURL(r);
|
|
1348
|
+
return n.push(i), qA.registerSrcMeta(i, { name: r.name, mimeType: r.type }), {
|
|
1349
|
+
id: `file-${s}`,
|
|
1350
|
+
kind: ut(r),
|
|
1351
|
+
name: r.name || `Footage ${s + 1}`,
|
|
1352
|
+
src: i,
|
|
1353
|
+
defaultDuration: 10
|
|
1354
|
+
};
|
|
1355
|
+
});
|
|
1356
|
+
return se(t), () => {
|
|
1357
|
+
for (const r of n)
|
|
1358
|
+
try {
|
|
1359
|
+
URL.revokeObjectURL(r);
|
|
1360
|
+
} catch {
|
|
1361
|
+
}
|
|
1362
|
+
};
|
|
1363
|
+
}, [o]), Ee(() => {
|
|
1364
|
+
const A = Array.isArray(d) ? d.filter(Boolean) : [];
|
|
1365
|
+
if (A.length === 0) {
|
|
1366
|
+
ce([]);
|
|
1367
|
+
return;
|
|
1368
|
+
}
|
|
1369
|
+
let n = !1;
|
|
1370
|
+
const t = [];
|
|
1371
|
+
return (async () => {
|
|
1372
|
+
const s = [];
|
|
1373
|
+
for (let i = 0; i < A.length; i++) {
|
|
1374
|
+
const a = A[i];
|
|
1375
|
+
try {
|
|
1376
|
+
const u = await a.getFile();
|
|
1377
|
+
if (n) return;
|
|
1378
|
+
const C = URL.createObjectURL(u);
|
|
1379
|
+
t.push(C), qA.registerSrcMeta(C, { name: u.name || a?.name, mimeType: u.type }), s.push({
|
|
1380
|
+
id: `handle-${i}`,
|
|
1381
|
+
kind: ut(u),
|
|
1382
|
+
name: u.name || a?.name || `Footage ${i + 1}`,
|
|
1383
|
+
src: C,
|
|
1384
|
+
defaultDuration: 10
|
|
1385
|
+
});
|
|
1386
|
+
} catch (u) {
|
|
1387
|
+
console.warn("[MeliesVideoEditor] Failed to load file handle", u);
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
n || ce(s);
|
|
1391
|
+
})(), () => {
|
|
1392
|
+
n = !0;
|
|
1393
|
+
for (const s of t)
|
|
1394
|
+
try {
|
|
1395
|
+
URL.revokeObjectURL(s);
|
|
1396
|
+
} catch {
|
|
1397
|
+
}
|
|
1398
|
+
};
|
|
1399
|
+
}, [d]);
|
|
1400
|
+
const JA = We(() => [...ie, ...oe, ...ae], [ie, oe, ae]), [dA, WA] = cA(null), [LA, QA] = cA(null), [pA, wA] = cA(null), [TA, we] = cA(0), [VA, Ie] = cA(0), [ZA, y] = cA(0), [nA, rA] = cA(0), [Z, _] = cA(!1), [sA, gA] = cA(null), IA = tA(null), GA = tA(null), UA = tA(null), _A = tA(null), bA = BA ? 48 : 32, De = 30, [$A, he] = cA(() => Vt), PA = Zt, Oe = (A) => {
|
|
1401
|
+
he((n) => {
|
|
1299
1402
|
const t = Math.round(n * A);
|
|
1300
1403
|
return Math.min(600, Math.max(60, t));
|
|
1301
1404
|
});
|
|
1302
|
-
}, CA = [1, 0],
|
|
1405
|
+
}, CA = [1, 0], xA = [3, 2], Pe = ["V2", "V1", "A2", "A1"], ge = (A, n) => {
|
|
1303
1406
|
if (n.length === 0) return null;
|
|
1304
1407
|
if (A == null) return n[0];
|
|
1305
1408
|
let t = n[0], r = Math.abs(A - t);
|
|
1306
|
-
for (const
|
|
1307
|
-
const i = Math.abs(A -
|
|
1308
|
-
i < r && (t =
|
|
1409
|
+
for (const s of n) {
|
|
1410
|
+
const i = Math.abs(A - s);
|
|
1411
|
+
i < r && (t = s, r = i);
|
|
1309
1412
|
}
|
|
1310
1413
|
return t;
|
|
1311
|
-
},
|
|
1312
|
-
const t = n === "video" ? CA :
|
|
1313
|
-
return
|
|
1314
|
-
},
|
|
1315
|
-
|
|
1316
|
-
if (!
|
|
1317
|
-
const t = CA[0], r =
|
|
1414
|
+
}, Ae = (A, n) => A ? A.kind === "video" ? ge(n, CA) : ge(n, xA) : null, YA = (A) => A === CA[1] ? xA[1] : xA[0], me = (A) => A === xA[1] ? CA[1] : CA[0], SA = (A, n) => {
|
|
1415
|
+
const t = n === "video" ? CA : xA;
|
|
1416
|
+
return ge(A, t) ?? t[0];
|
|
1417
|
+
}, be = tA(!1);
|
|
1418
|
+
Ee(() => {
|
|
1419
|
+
if (!c || be.current || JA.length === 0 || F.current.some((a) => Array.isArray(a?.actions) && a.actions.length > 0)) return;
|
|
1420
|
+
const t = CA[0], r = YA(t), s = Bt();
|
|
1318
1421
|
let i = 0;
|
|
1319
|
-
for (const a of
|
|
1320
|
-
const
|
|
1321
|
-
if (i =
|
|
1322
|
-
const
|
|
1323
|
-
|
|
1324
|
-
id: `video-${
|
|
1422
|
+
for (const a of JA) {
|
|
1423
|
+
const u = Math.max(0.01, Number(a.defaultDuration ?? 10)), C = i, I = i + u;
|
|
1424
|
+
if (i = I, a.kind === "video") {
|
|
1425
|
+
const D = `link-${vA()}`, N = CA.findIndex((b) => b === t);
|
|
1426
|
+
s[t].actions.push({
|
|
1427
|
+
id: `video-${vA()}`,
|
|
1325
1428
|
start: C,
|
|
1326
|
-
end:
|
|
1429
|
+
end: I,
|
|
1327
1430
|
effectId: "effect1",
|
|
1328
1431
|
data: {
|
|
1329
1432
|
src: a.src,
|
|
1330
1433
|
previewSrc: a.previewSrc,
|
|
1331
1434
|
name: a.name,
|
|
1332
|
-
linkId:
|
|
1435
|
+
linkId: D,
|
|
1333
1436
|
videoLayer: N
|
|
1334
1437
|
}
|
|
1335
|
-
}),
|
|
1336
|
-
id: `video-audio-${
|
|
1438
|
+
}), s[r].actions.push({
|
|
1439
|
+
id: `video-audio-${vA()}`,
|
|
1337
1440
|
start: C,
|
|
1338
|
-
end:
|
|
1441
|
+
end: I,
|
|
1339
1442
|
effectId: "effect2",
|
|
1340
1443
|
data: {
|
|
1341
1444
|
src: a.src,
|
|
1342
1445
|
name: a.name,
|
|
1343
|
-
linkId:
|
|
1446
|
+
linkId: D
|
|
1344
1447
|
}
|
|
1345
1448
|
});
|
|
1346
1449
|
} else
|
|
1347
|
-
|
|
1348
|
-
id: `audio-${
|
|
1450
|
+
s[r].actions.push({
|
|
1451
|
+
id: `audio-${vA()}`,
|
|
1349
1452
|
start: C,
|
|
1350
|
-
end:
|
|
1453
|
+
end: I,
|
|
1351
1454
|
effectId: "effect0",
|
|
1352
1455
|
data: {
|
|
1353
1456
|
src: a.src,
|
|
@@ -1355,30 +1458,30 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
1355
1458
|
}
|
|
1356
1459
|
});
|
|
1357
1460
|
}
|
|
1358
|
-
|
|
1359
|
-
}, [
|
|
1360
|
-
|
|
1361
|
-
}, [
|
|
1362
|
-
|
|
1363
|
-
}, [
|
|
1364
|
-
const A =
|
|
1461
|
+
O(null), G([]), z([]), E(() => (F.current = s, s)), be.current = !0;
|
|
1462
|
+
}, [c, JA]), Ee(() => {
|
|
1463
|
+
qA.warmFromEditorData(l);
|
|
1464
|
+
}, [l]), Ee(() => {
|
|
1465
|
+
F.current = l;
|
|
1466
|
+
}, [l]), Rt(() => {
|
|
1467
|
+
const A = AA.current;
|
|
1365
1468
|
if (!A) return;
|
|
1366
1469
|
const n = () => {
|
|
1367
|
-
const r = A.getBoundingClientRect(),
|
|
1368
|
-
if (!
|
|
1369
|
-
const i =
|
|
1370
|
-
|
|
1470
|
+
const r = A.getBoundingClientRect(), s = A.querySelector(".timeline-editor-edit-area");
|
|
1471
|
+
if (!s) return;
|
|
1472
|
+
const i = s.getBoundingClientRect();
|
|
1473
|
+
y(i.top - r.top), rA(i.left - r.left);
|
|
1371
1474
|
}, t = requestAnimationFrame(n);
|
|
1372
1475
|
return window.addEventListener("resize", n), () => {
|
|
1373
1476
|
cancelAnimationFrame(t), window.removeEventListener("resize", n);
|
|
1374
1477
|
};
|
|
1375
|
-
}, [
|
|
1376
|
-
const
|
|
1377
|
-
const n =
|
|
1478
|
+
}, [BA, l.length]);
|
|
1479
|
+
const Fe = (A) => {
|
|
1480
|
+
const n = AA.current;
|
|
1378
1481
|
if (!n || !A) return !1;
|
|
1379
1482
|
const t = n.getBoundingClientRect();
|
|
1380
1483
|
return A.x >= t.left && A.x <= t.right && A.y >= t.top && A.y <= t.bottom;
|
|
1381
|
-
}, qe =
|
|
1484
|
+
}, qe = tA(0), vA = () => globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : `uid-${++qe.current}`, DA = tA(null), HA = tA(null), Be = tA(null), xe = 0.9, Me = 1.05, RA = tA({ actionId: null, edge: null }), $ = tA({
|
|
1382
1485
|
actionId: null,
|
|
1383
1486
|
mode: null,
|
|
1384
1487
|
dir: null,
|
|
@@ -1394,242 +1497,242 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
1394
1497
|
initialStart: 0,
|
|
1395
1498
|
initialEnd: 0,
|
|
1396
1499
|
takeover: !1
|
|
1397
|
-
}),
|
|
1500
|
+
}), hA = tA({
|
|
1398
1501
|
actionId: null,
|
|
1399
1502
|
partnerId: null,
|
|
1400
1503
|
dir: null,
|
|
1401
1504
|
baseStart: 0,
|
|
1402
1505
|
baseOffset: 0,
|
|
1403
1506
|
partnerBaseOffset: 0
|
|
1404
|
-
}),
|
|
1507
|
+
}), ue = tA(!1), ee = (A) => A.map((n) => {
|
|
1405
1508
|
const t = (n.actions ?? []).map((r) => `${String(r.id)}@${Number(r.start)}-${Number(r.end)}`).join("|");
|
|
1406
1509
|
return `${String(n.id)}:${t}`;
|
|
1407
|
-
}).join("||"),
|
|
1510
|
+
}).join("||"), yA = (A) => {
|
|
1408
1511
|
const n = structuredClone(A);
|
|
1409
|
-
|
|
1512
|
+
G((t) => {
|
|
1410
1513
|
const r = [...t, n];
|
|
1411
1514
|
return r.length > ze && r.splice(0, r.length - ze), r;
|
|
1412
|
-
}),
|
|
1413
|
-
},
|
|
1414
|
-
const
|
|
1415
|
-
for (const i of
|
|
1416
|
-
if (!(!i || i.id === n) &&
|
|
1515
|
+
}), z([]);
|
|
1516
|
+
}, te = (A, n, t, r) => A < r && n > t, MA = (A, n, t, r) => {
|
|
1517
|
+
const s = Array.isArray(A?.actions) ? A.actions : [];
|
|
1518
|
+
for (const i of s)
|
|
1519
|
+
if (!(!i || i.id === n) && te(t, r, Number(i.start), Number(i.end)))
|
|
1417
1520
|
return !0;
|
|
1418
1521
|
return !1;
|
|
1419
|
-
},
|
|
1522
|
+
}, mA = (A, n) => {
|
|
1420
1523
|
for (let t = 0; t < A.length; t++) {
|
|
1421
|
-
const r = A[t],
|
|
1422
|
-
for (let i = 0; i <
|
|
1423
|
-
const a =
|
|
1524
|
+
const r = A[t], s = Array.isArray(r?.actions) ? r.actions : [];
|
|
1525
|
+
for (let i = 0; i < s.length; i++) {
|
|
1526
|
+
const a = s[i];
|
|
1424
1527
|
if (String(a?.id) === n)
|
|
1425
1528
|
return { rowIndex: t, actionIndex: i, action: a };
|
|
1426
1529
|
}
|
|
1427
1530
|
}
|
|
1428
1531
|
return null;
|
|
1429
|
-
},
|
|
1430
|
-
const t =
|
|
1532
|
+
}, KA = (A, n) => {
|
|
1533
|
+
const t = mA(A, n), r = t?.action?.data?.linkId;
|
|
1431
1534
|
if (!t || !r) return null;
|
|
1432
|
-
for (let
|
|
1433
|
-
const i = A[
|
|
1434
|
-
for (let
|
|
1435
|
-
const C = a[
|
|
1535
|
+
for (let s = 0; s < A.length; s++) {
|
|
1536
|
+
const i = A[s], a = Array.isArray(i?.actions) ? i.actions : [];
|
|
1537
|
+
for (let u = 0; u < a.length; u++) {
|
|
1538
|
+
const C = a[u];
|
|
1436
1539
|
if (C?.data?.linkId && String(C.data.linkId) === String(r) && String(C.id) !== String(n))
|
|
1437
|
-
return { rowIndex:
|
|
1540
|
+
return { rowIndex: s, actionIndex: u, action: C };
|
|
1438
1541
|
}
|
|
1439
1542
|
}
|
|
1440
1543
|
return null;
|
|
1441
|
-
},
|
|
1442
|
-
const t =
|
|
1544
|
+
}, ke = (A, n) => {
|
|
1545
|
+
const t = mA(A, n);
|
|
1443
1546
|
if (!t) return A;
|
|
1444
|
-
const r =
|
|
1547
|
+
const r = KA(A, n);
|
|
1445
1548
|
if (!r) return A;
|
|
1446
|
-
const
|
|
1447
|
-
if (!Number.isFinite(
|
|
1448
|
-
const a = structuredClone(A),
|
|
1449
|
-
return C.splice(r.actionIndex, 1,
|
|
1450
|
-
},
|
|
1549
|
+
const s = Number(t.action.start), i = Number(t.action.end);
|
|
1550
|
+
if (!Number.isFinite(s) || !Number.isFinite(i) || i <= s || Number(r.action.start) === s && Number(r.action.end) === i) return A;
|
|
1551
|
+
const a = structuredClone(A), u = a[r.rowIndex], C = Array.isArray(u.actions) ? [...u.actions] : [], I = { ...C[r.actionIndex], start: s, end: i };
|
|
1552
|
+
return C.splice(r.actionIndex, 1, I), u.actions = C, a;
|
|
1553
|
+
}, Ve = (A, n) => {
|
|
1451
1554
|
const t = structuredClone(A);
|
|
1452
1555
|
for (; t.length < 4; ) t.push({ id: `${t.length}`, actions: [] });
|
|
1453
|
-
const r = (
|
|
1454
|
-
if (!(!
|
|
1455
|
-
return
|
|
1456
|
-
}, i = (
|
|
1457
|
-
if (!
|
|
1458
|
-
const R = Number(
|
|
1556
|
+
const r = (f) => f && typeof f == "object" ? f : {}, s = (f, R) => {
|
|
1557
|
+
if (!(!f || typeof f != "object"))
|
|
1558
|
+
return f[R];
|
|
1559
|
+
}, i = (f) => String(s(f, "id") ?? ""), a = (f) => String(s(f, "effectId") ?? ""), u = (f) => Number(s(f, "start")), C = (f) => Number(s(f, "end")), I = (f) => s(f, "data"), D = (f) => {
|
|
1560
|
+
if (!f || typeof f != "object") return 0;
|
|
1561
|
+
const R = Number(f.start);
|
|
1459
1562
|
return Number.isFinite(R) ? R : 0;
|
|
1460
|
-
}, N = /* @__PURE__ */ new Map(),
|
|
1461
|
-
for (let
|
|
1462
|
-
const R = t[
|
|
1563
|
+
}, N = /* @__PURE__ */ new Map(), b = /* @__PURE__ */ new Map();
|
|
1564
|
+
for (let f = 0; f < t.length; f++) {
|
|
1565
|
+
const R = t[f], H = Array.isArray(R?.actions) ? R.actions : [];
|
|
1463
1566
|
for (let h = 0; h < H.length; h++) {
|
|
1464
|
-
const U = H[h],
|
|
1465
|
-
if (!
|
|
1466
|
-
N.set(
|
|
1467
|
-
const T =
|
|
1468
|
-
if (!
|
|
1469
|
-
const
|
|
1470
|
-
K === "effect1" ?
|
|
1567
|
+
const U = H[h], L = i(U);
|
|
1568
|
+
if (!L) continue;
|
|
1569
|
+
N.set(L, { rowIndex: f, actionIndex: h, action: U });
|
|
1570
|
+
const T = I(U), q = s(T, "linkId"), aA = q != null ? String(q) : "";
|
|
1571
|
+
if (!aA) continue;
|
|
1572
|
+
const J = b.get(aA) ?? {}, K = a(U);
|
|
1573
|
+
K === "effect1" ? J.video = { rowIndex: f, actionIndex: h, action: U } : K === "effect2" && (J.audio = { rowIndex: f, actionIndex: h, action: U }), b.set(aA, J);
|
|
1471
1574
|
}
|
|
1472
1575
|
}
|
|
1473
|
-
const
|
|
1474
|
-
for (const
|
|
1475
|
-
if (!
|
|
1476
|
-
const R = i(
|
|
1477
|
-
|
|
1576
|
+
const p = /* @__PURE__ */ new Map();
|
|
1577
|
+
for (const f of b.values()) {
|
|
1578
|
+
if (!f.video || !f.audio) continue;
|
|
1579
|
+
const R = i(f.video.action), H = i(f.audio.action), h = n && String(n) === H ? "audio" : "video", U = h === "audio" ? me(SA(f.audio.rowIndex, "audio")) : SA(f.video.rowIndex, "video"), L = YA(U), T = h === "audio" ? f.audio.action : f.video.action, q = u(T), aA = C(T), J = Number.isFinite(q) && Number.isFinite(aA) && aA > q, K = Math.max(0, CA.findIndex((V) => V === U));
|
|
1580
|
+
p.set(R, {
|
|
1478
1581
|
targetRowIndex: U,
|
|
1479
|
-
patchStartEnd:
|
|
1582
|
+
patchStartEnd: J ? { start: q, end: aA } : void 0,
|
|
1480
1583
|
patchVideoLayer: K
|
|
1481
|
-
}),
|
|
1482
|
-
targetRowIndex:
|
|
1483
|
-
patchStartEnd:
|
|
1584
|
+
}), p.set(H, {
|
|
1585
|
+
targetRowIndex: L,
|
|
1586
|
+
patchStartEnd: J ? { start: q, end: aA } : void 0
|
|
1484
1587
|
});
|
|
1485
1588
|
}
|
|
1486
|
-
for (const [
|
|
1487
|
-
if (
|
|
1589
|
+
for (const [f, R] of N.entries()) {
|
|
1590
|
+
if (p.has(f)) continue;
|
|
1488
1591
|
const H = a(R.action);
|
|
1489
1592
|
if (H === "effect1") {
|
|
1490
|
-
const h =
|
|
1491
|
-
|
|
1593
|
+
const h = SA(R.rowIndex, "video"), U = Math.max(0, CA.findIndex((L) => L === h));
|
|
1594
|
+
p.set(f, { targetRowIndex: h, patchVideoLayer: U });
|
|
1492
1595
|
} else if (H === "effect0" || H === "effect2") {
|
|
1493
|
-
const h =
|
|
1494
|
-
|
|
1596
|
+
const h = SA(R.rowIndex, "audio");
|
|
1597
|
+
p.set(f, { targetRowIndex: h });
|
|
1495
1598
|
}
|
|
1496
1599
|
}
|
|
1497
|
-
const Y = t.map((
|
|
1498
|
-
let
|
|
1499
|
-
for (let
|
|
1500
|
-
const R = t[
|
|
1600
|
+
const Y = t.map((f) => ({ ...f, actions: [] }));
|
|
1601
|
+
let x = !1;
|
|
1602
|
+
for (let f = 0; f < t.length; f++) {
|
|
1603
|
+
const R = t[f], H = Array.isArray(R?.actions) ? R.actions : [];
|
|
1501
1604
|
for (const h of H) {
|
|
1502
|
-
const U = h,
|
|
1503
|
-
if (!
|
|
1504
|
-
const T =
|
|
1505
|
-
let
|
|
1605
|
+
const U = h, L = i(U);
|
|
1606
|
+
if (!L) continue;
|
|
1607
|
+
const T = p.get(L), q = T ? T.targetRowIndex : f, aA = Y[q] ?? Y[f];
|
|
1608
|
+
let J = U;
|
|
1506
1609
|
if (T?.patchStartEnd) {
|
|
1507
|
-
const K = T.patchStartEnd.start,
|
|
1508
|
-
(
|
|
1610
|
+
const K = T.patchStartEnd.start, V = T.patchStartEnd.end;
|
|
1611
|
+
(u(J) !== K || C(J) !== V) && (J = { ...r(J), start: K, end: V }, x = !0);
|
|
1509
1612
|
}
|
|
1510
|
-
if (T?.patchVideoLayer != null && a(
|
|
1511
|
-
const K = Number(
|
|
1613
|
+
if (T?.patchVideoLayer != null && a(J) === "effect1") {
|
|
1614
|
+
const K = Number(s(I(J), "videoLayer"));
|
|
1512
1615
|
if (!Number.isFinite(K) || K !== T.patchVideoLayer) {
|
|
1513
|
-
const
|
|
1514
|
-
|
|
1616
|
+
const V = { ...r(I(J)), videoLayer: T.patchVideoLayer };
|
|
1617
|
+
J = { ...r(J), data: V }, x = !0;
|
|
1515
1618
|
}
|
|
1516
1619
|
}
|
|
1517
|
-
|
|
1620
|
+
q !== f && (x = !0), aA.actions.push(J);
|
|
1518
1621
|
}
|
|
1519
1622
|
}
|
|
1520
|
-
for (const
|
|
1521
|
-
const R = Array.isArray(
|
|
1522
|
-
R.sort((H, h) =>
|
|
1623
|
+
for (const f of Y) {
|
|
1624
|
+
const R = Array.isArray(f.actions) ? [...f.actions] : [];
|
|
1625
|
+
R.sort((H, h) => D(H) - D(h)), f.actions = R;
|
|
1523
1626
|
}
|
|
1524
|
-
return
|
|
1525
|
-
},
|
|
1627
|
+
return x ? Y : A;
|
|
1628
|
+
}, le = (A, n, t, r) => {
|
|
1526
1629
|
if (!Number.isFinite(t) || !Number.isFinite(r) || r <= t) return A;
|
|
1527
|
-
const
|
|
1528
|
-
if (!
|
|
1529
|
-
const i =
|
|
1630
|
+
const s = mA(A, n);
|
|
1631
|
+
if (!s) return A;
|
|
1632
|
+
const i = KA(A, n);
|
|
1530
1633
|
if (!i) return A;
|
|
1531
|
-
const a = structuredClone(A),
|
|
1532
|
-
C.splice(
|
|
1533
|
-
const
|
|
1534
|
-
return N.splice(i.actionIndex, 1,
|
|
1535
|
-
},
|
|
1634
|
+
const a = structuredClone(A), u = a[s.rowIndex], C = Array.isArray(u.actions) ? [...u.actions] : [], I = { ...C[s.actionIndex], start: t, end: r };
|
|
1635
|
+
C.splice(s.actionIndex, 1, I), u.actions = C;
|
|
1636
|
+
const D = a[i.rowIndex], N = Array.isArray(D.actions) ? [...D.actions] : [], b = { ...N[i.actionIndex], start: t, end: r };
|
|
1637
|
+
return N.splice(i.actionIndex, 1, b), D.actions = N, a;
|
|
1638
|
+
}, de = (A, n, t, r) => {
|
|
1536
1639
|
if (!Number.isFinite(t) || !Number.isFinite(r) || r <= t) return A;
|
|
1537
|
-
const
|
|
1538
|
-
if (!
|
|
1539
|
-
const i = Number(
|
|
1640
|
+
const s = mA(A, n);
|
|
1641
|
+
if (!s) return A;
|
|
1642
|
+
const i = Number(s.action.start), a = Number(s.action.end);
|
|
1540
1643
|
if (i === t && a === r) return A;
|
|
1541
|
-
const
|
|
1542
|
-
return
|
|
1543
|
-
},
|
|
1544
|
-
const A =
|
|
1644
|
+
const u = structuredClone(A), C = u[s.rowIndex], I = Array.isArray(C.actions) ? [...C.actions] : [], D = { ...I[s.actionIndex], start: t, end: r };
|
|
1645
|
+
return I.splice(s.actionIndex, 1, D), C.actions = I, u;
|
|
1646
|
+
}, Je = () => {
|
|
1647
|
+
const A = oA.current?.getTime ? Number(oA.current.getTime()) : 0;
|
|
1545
1648
|
return Number.isFinite(A) ? Math.max(0, A) : 0;
|
|
1546
|
-
},
|
|
1547
|
-
const r =
|
|
1548
|
-
if (!Number.isFinite(
|
|
1649
|
+
}, Le = (A, n, t) => {
|
|
1650
|
+
const r = Je(), s = t - n;
|
|
1651
|
+
if (!Number.isFinite(s) || s <= 0)
|
|
1549
1652
|
return { start: n, end: t, snapped: !1, edge: null };
|
|
1550
|
-
const i = Math.abs(n - r), a = Math.abs(t - r),
|
|
1551
|
-
if (
|
|
1552
|
-
if ((
|
|
1553
|
-
return
|
|
1653
|
+
const i = Math.abs(n - r), a = Math.abs(t - r), u = i <= a ? "start" : "end", C = Math.min(i, a), I = RA.current;
|
|
1654
|
+
if (I.actionId === A && I.edge != null) {
|
|
1655
|
+
if ((I.edge === "start" ? i : a) > Me)
|
|
1656
|
+
return RA.current = { actionId: A, edge: null }, { start: n, end: t, snapped: !1, edge: null };
|
|
1554
1657
|
} else {
|
|
1555
|
-
if (C >
|
|
1658
|
+
if (C > xe)
|
|
1556
1659
|
return { start: n, end: t, snapped: !1, edge: null };
|
|
1557
|
-
|
|
1558
|
-
}
|
|
1559
|
-
const
|
|
1560
|
-
if (
|
|
1561
|
-
const
|
|
1562
|
-
return { start: Math.max(0,
|
|
1563
|
-
}
|
|
1564
|
-
const
|
|
1565
|
-
return { start: Math.max(0, Y), end: Math.max(0,
|
|
1566
|
-
},
|
|
1567
|
-
const
|
|
1568
|
-
if (
|
|
1569
|
-
if (a >
|
|
1570
|
-
return
|
|
1660
|
+
RA.current = { actionId: A, edge: u };
|
|
1661
|
+
}
|
|
1662
|
+
const b = RA.current.edge;
|
|
1663
|
+
if (b === "start") {
|
|
1664
|
+
const x = r, f = x + s;
|
|
1665
|
+
return { start: Math.max(0, x), end: Math.max(Math.max(0, x), f), snapped: !0, edge: b };
|
|
1666
|
+
}
|
|
1667
|
+
const p = r, Y = p - s;
|
|
1668
|
+
return { start: Math.max(0, Y), end: Math.max(0, p), snapped: !0, edge: b };
|
|
1669
|
+
}, Se = (A, n, t, r) => {
|
|
1670
|
+
const s = Je(), i = r === "left" ? "start" : "end", a = Math.abs(i === "start" ? n - s : t - s), u = RA.current;
|
|
1671
|
+
if (u.actionId === A && u.edge === i) {
|
|
1672
|
+
if (a > Me)
|
|
1673
|
+
return RA.current = { actionId: A, edge: null }, { start: n, end: t, snapped: !1 };
|
|
1571
1674
|
} else {
|
|
1572
|
-
if (a >
|
|
1675
|
+
if (a > xe)
|
|
1573
1676
|
return { start: n, end: t, snapped: !1 };
|
|
1574
|
-
|
|
1677
|
+
RA.current = { actionId: A, edge: i };
|
|
1575
1678
|
}
|
|
1576
1679
|
if (i === "start") {
|
|
1577
|
-
const
|
|
1578
|
-
return { start:
|
|
1680
|
+
const b = Math.max(0, s), p = Math.max(b + 0.01, t);
|
|
1681
|
+
return { start: b, end: p, snapped: !0 };
|
|
1579
1682
|
}
|
|
1580
|
-
const
|
|
1581
|
-
return { start: Math.max(0, N), end:
|
|
1582
|
-
},
|
|
1683
|
+
const D = Math.max(0, s), N = Math.min(n, D - 0.01);
|
|
1684
|
+
return { start: Math.max(0, N), end: D, snapped: !0 };
|
|
1685
|
+
}, Ge = (A, n, t) => {
|
|
1583
1686
|
const r = A.defaultDuration ?? 10;
|
|
1584
|
-
let
|
|
1585
|
-
const a =
|
|
1586
|
-
a?.isPlaying && a.pause(),
|
|
1587
|
-
|
|
1588
|
-
const C = structuredClone(
|
|
1687
|
+
let s = Math.max(0, n), i = s + r;
|
|
1688
|
+
const a = oA.current;
|
|
1689
|
+
a?.isPlaying && a.pause(), E((u) => {
|
|
1690
|
+
yA(u);
|
|
1691
|
+
const C = structuredClone(u);
|
|
1589
1692
|
for (; C.length < 4; ) C.push({ id: `${C.length}`, actions: [] });
|
|
1590
|
-
const
|
|
1693
|
+
const I = Number.isFinite(Number(t)) ? Number(t) : null, D = ge(I, CA) ?? CA[0], N = ge(I, xA) ?? xA[0], b = (p) => {
|
|
1591
1694
|
const Y = [];
|
|
1592
|
-
for (const
|
|
1593
|
-
const
|
|
1594
|
-
for (const R of
|
|
1695
|
+
for (const x of p) {
|
|
1696
|
+
const f = Array.isArray(C[x]?.actions) ? C[x].actions : [];
|
|
1697
|
+
for (const R of f) {
|
|
1595
1698
|
const H = Number(R?.start), h = Number(R?.end);
|
|
1596
1699
|
!Number.isFinite(H) || !Number.isFinite(h) || Y.push({ start: H, end: h });
|
|
1597
1700
|
}
|
|
1598
1701
|
}
|
|
1599
|
-
Y.sort((
|
|
1600
|
-
for (const
|
|
1601
|
-
|
|
1702
|
+
Y.sort((x, f) => x.start - f.start);
|
|
1703
|
+
for (const x of Y)
|
|
1704
|
+
te(s, i, x.start, x.end) && (s = x.end, i = s + r);
|
|
1602
1705
|
};
|
|
1603
1706
|
if (A.kind === "video") {
|
|
1604
|
-
const
|
|
1605
|
-
|
|
1606
|
-
const
|
|
1607
|
-
C[
|
|
1608
|
-
...C[
|
|
1707
|
+
const p = D, Y = YA(p);
|
|
1708
|
+
b([p, Y]);
|
|
1709
|
+
const x = `link-${vA()}`, f = `video-${vA()}`, R = `video-audio-${vA()}`, H = CA.findIndex((h) => h === p);
|
|
1710
|
+
C[p].actions = [
|
|
1711
|
+
...C[p].actions ?? [],
|
|
1609
1712
|
{
|
|
1610
|
-
id:
|
|
1611
|
-
start:
|
|
1713
|
+
id: f,
|
|
1714
|
+
start: s,
|
|
1612
1715
|
end: i,
|
|
1613
1716
|
effectId: "effect1",
|
|
1614
|
-
data: { src: A.src, previewSrc: A.previewSrc, name: A.name, linkId:
|
|
1717
|
+
data: { src: A.src, previewSrc: A.previewSrc, name: A.name, linkId: x, videoLayer: H }
|
|
1615
1718
|
}
|
|
1616
1719
|
], C[Y].actions = [
|
|
1617
1720
|
...C[Y].actions ?? [],
|
|
1618
1721
|
{
|
|
1619
1722
|
id: R,
|
|
1620
|
-
start:
|
|
1723
|
+
start: s,
|
|
1621
1724
|
end: i,
|
|
1622
1725
|
effectId: "effect2",
|
|
1623
|
-
data: { src: A.src, name: A.name, linkId:
|
|
1726
|
+
data: { src: A.src, name: A.name, linkId: x }
|
|
1624
1727
|
}
|
|
1625
1728
|
];
|
|
1626
1729
|
} else {
|
|
1627
|
-
const
|
|
1628
|
-
|
|
1629
|
-
...C[
|
|
1730
|
+
const p = N;
|
|
1731
|
+
b([p]), C[p].actions = [
|
|
1732
|
+
...C[p].actions ?? [],
|
|
1630
1733
|
{
|
|
1631
|
-
id: `audio-${
|
|
1632
|
-
start:
|
|
1734
|
+
id: `audio-${vA()}`,
|
|
1735
|
+
start: s,
|
|
1633
1736
|
end: i,
|
|
1634
1737
|
effectId: "effect0",
|
|
1635
1738
|
data: { src: A.src, name: A.name }
|
|
@@ -1638,76 +1741,76 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
1638
1741
|
}
|
|
1639
1742
|
return C;
|
|
1640
1743
|
});
|
|
1641
|
-
},
|
|
1642
|
-
const A =
|
|
1744
|
+
}, Ze = () => {
|
|
1745
|
+
const A = AA.current;
|
|
1643
1746
|
return A ? A.querySelector(".timeline-editor-edit-area .ReactVirtualized__Grid")?.scrollLeft ?? 0 : 0;
|
|
1644
|
-
},
|
|
1645
|
-
const n =
|
|
1747
|
+
}, _e = () => TA, fe = (A) => {
|
|
1748
|
+
const n = AA.current;
|
|
1646
1749
|
if (!n) return 0;
|
|
1647
|
-
const r = (n.querySelector(".timeline-editor-edit-area") ?? n).getBoundingClientRect(), a = (A - r.x +
|
|
1750
|
+
const r = (n.querySelector(".timeline-editor-edit-area") ?? n).getBoundingClientRect(), a = (A - r.x + Ze() - De) * PA / $A;
|
|
1648
1751
|
return Math.max(0, a);
|
|
1649
|
-
},
|
|
1752
|
+
}, Ye = (A) => {
|
|
1650
1753
|
const n = Number(A);
|
|
1651
|
-
return Number.isFinite(n) ?
|
|
1652
|
-
},
|
|
1653
|
-
const
|
|
1654
|
-
let i = Math.max(0, n), a = i +
|
|
1655
|
-
const
|
|
1754
|
+
return Number.isFinite(n) ? De + n * $A / PA : 0;
|
|
1755
|
+
}, e = (A, n, t, r) => {
|
|
1756
|
+
const s = A.defaultDuration ?? 10;
|
|
1757
|
+
let i = Math.max(0, n), a = i + s;
|
|
1758
|
+
const u = [];
|
|
1656
1759
|
if (A.kind === "video") {
|
|
1657
|
-
const
|
|
1658
|
-
|
|
1760
|
+
const I = t, D = YA(I);
|
|
1761
|
+
u.push(I, D);
|
|
1659
1762
|
} else
|
|
1660
|
-
|
|
1763
|
+
u.push(t);
|
|
1661
1764
|
const C = [];
|
|
1662
|
-
for (const
|
|
1663
|
-
const
|
|
1664
|
-
for (const N of
|
|
1665
|
-
const
|
|
1666
|
-
!Number.isFinite(
|
|
1765
|
+
for (const I of u) {
|
|
1766
|
+
const D = Array.isArray(r[I]?.actions) ? r[I].actions : [];
|
|
1767
|
+
for (const N of D) {
|
|
1768
|
+
const b = Number(N?.start), p = Number(N?.end);
|
|
1769
|
+
!Number.isFinite(b) || !Number.isFinite(p) || C.push({ start: b, end: p });
|
|
1667
1770
|
}
|
|
1668
1771
|
}
|
|
1669
|
-
C.sort((
|
|
1670
|
-
for (const
|
|
1671
|
-
|
|
1772
|
+
C.sort((I, D) => I.start - D.start);
|
|
1773
|
+
for (const I of C)
|
|
1774
|
+
te(i, a, I.start, I.end) && (i = I.end, a = i + s);
|
|
1672
1775
|
return Math.max(0, i);
|
|
1673
|
-
},
|
|
1674
|
-
const n =
|
|
1776
|
+
}, g = (A) => {
|
|
1777
|
+
const n = AA.current;
|
|
1675
1778
|
if (!n) return null;
|
|
1676
1779
|
const t = n.querySelector(".timeline-editor-edit-area");
|
|
1677
1780
|
if (!t) return null;
|
|
1678
|
-
const r = t.getBoundingClientRect(),
|
|
1679
|
-
if (
|
|
1680
|
-
const i =
|
|
1781
|
+
const r = t.getBoundingClientRect(), s = A - r.y;
|
|
1782
|
+
if (s < 0 || s > r.height) return null;
|
|
1783
|
+
const i = s + _e(), a = Math.floor(i / bA);
|
|
1681
1784
|
if (!Number.isFinite(a)) return null;
|
|
1682
|
-
const
|
|
1683
|
-
return Math.min(Math.max(0, a),
|
|
1684
|
-
},
|
|
1785
|
+
const u = Math.max(0, F.current.length - 1);
|
|
1786
|
+
return Math.min(Math.max(0, a), u);
|
|
1787
|
+
}, Q = (A) => {
|
|
1685
1788
|
if (!A) return null;
|
|
1686
1789
|
if ("clientX" in A && "clientY" in A) {
|
|
1687
|
-
const
|
|
1688
|
-
if (Number.isFinite(
|
|
1790
|
+
const s = Number(A.clientX), i = Number(A.clientY);
|
|
1791
|
+
if (Number.isFinite(s) && Number.isFinite(i)) return { x: s, y: i };
|
|
1689
1792
|
}
|
|
1690
1793
|
const n = A.touches, t = A.changedTouches, r = (n && n.length ? n[0] : null) || (t && t.length ? t[0] : null);
|
|
1691
1794
|
if (r) {
|
|
1692
|
-
const
|
|
1693
|
-
if (Number.isFinite(
|
|
1795
|
+
const s = Number(r.clientX), i = Number(r.clientY);
|
|
1796
|
+
if (Number.isFinite(s) && Number.isFinite(i)) return { x: s, y: i };
|
|
1694
1797
|
}
|
|
1695
1798
|
return null;
|
|
1696
|
-
},
|
|
1697
|
-
if (
|
|
1698
|
-
|
|
1799
|
+
}, v = () => {
|
|
1800
|
+
if (ue.current) return;
|
|
1801
|
+
ue.current = !0;
|
|
1699
1802
|
const A = (t) => {
|
|
1700
|
-
const r =
|
|
1803
|
+
const r = $.current;
|
|
1701
1804
|
if (!r.actionId || !r.mode || t.isPrimary === !1) return;
|
|
1702
|
-
const
|
|
1703
|
-
r.basePointerTime == null && (r.basePointerTime =
|
|
1805
|
+
const s = fe(t.clientX);
|
|
1806
|
+
r.basePointerTime == null && (r.basePointerTime = s), r.lastPointerTime = s, r.basePointerClientY == null && (r.basePointerClientY = t.clientY), r.lastPointerClientY = t.clientY;
|
|
1704
1807
|
}, n = () => {
|
|
1705
1808
|
const t = {
|
|
1706
|
-
actionId:
|
|
1707
|
-
mode:
|
|
1809
|
+
actionId: $.current.actionId,
|
|
1810
|
+
mode: $.current.mode
|
|
1708
1811
|
};
|
|
1709
1812
|
requestAnimationFrame(() => {
|
|
1710
|
-
|
|
1813
|
+
$.current.actionId === t.actionId && $.current.mode === t.mode && ($.current = {
|
|
1711
1814
|
actionId: null,
|
|
1712
1815
|
mode: null,
|
|
1713
1816
|
dir: null,
|
|
@@ -1723,82 +1826,82 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
1723
1826
|
initialStart: 0,
|
|
1724
1827
|
initialEnd: 0,
|
|
1725
1828
|
takeover: !1
|
|
1726
|
-
},
|
|
1829
|
+
}, RA.current = { actionId: null, edge: null });
|
|
1727
1830
|
});
|
|
1728
1831
|
};
|
|
1729
|
-
window.addEventListener("pointermove", A, { capture: !0 }), window.addEventListener("pointerup", n, { capture: !0 }), window.addEventListener("pointercancel", n, { capture: !0 }),
|
|
1730
|
-
window.removeEventListener("pointermove", A, { capture: !0 }), window.removeEventListener("pointerup", n, { capture: !0 }), window.removeEventListener("pointercancel", n, { capture: !0 }),
|
|
1832
|
+
window.addEventListener("pointermove", A, { capture: !0 }), window.addEventListener("pointerup", n, { capture: !0 }), window.addEventListener("pointercancel", n, { capture: !0 }), $.current._removePointerListeners = () => {
|
|
1833
|
+
window.removeEventListener("pointermove", A, { capture: !0 }), window.removeEventListener("pointerup", n, { capture: !0 }), window.removeEventListener("pointercancel", n, { capture: !0 }), ue.current = !1;
|
|
1731
1834
|
};
|
|
1732
|
-
},
|
|
1733
|
-
const A =
|
|
1734
|
-
A?.(), delete
|
|
1735
|
-
},
|
|
1835
|
+
}, j = () => {
|
|
1836
|
+
const A = $.current?._removePointerListeners;
|
|
1837
|
+
A?.(), delete $.current._removePointerListeners;
|
|
1838
|
+
}, W = tA(!1), k = (A) => {
|
|
1736
1839
|
const n = Number(A?.data?.offset ?? 0);
|
|
1737
1840
|
return Number.isFinite(n) ? n : 0;
|
|
1738
|
-
},
|
|
1739
|
-
const r =
|
|
1841
|
+
}, P = (A, n, t) => {
|
|
1842
|
+
const r = mA(A, n);
|
|
1740
1843
|
if (!r) return A;
|
|
1741
|
-
const
|
|
1742
|
-
if (
|
|
1743
|
-
const a = structuredClone(A),
|
|
1844
|
+
const s = Math.max(0, Number.isFinite(t) ? t : 0);
|
|
1845
|
+
if (k(r.action) === s) return A;
|
|
1846
|
+
const a = structuredClone(A), u = a[r.rowIndex], C = Array.isArray(u.actions) ? [...u.actions] : [], I = {
|
|
1744
1847
|
...C[r.actionIndex],
|
|
1745
|
-
data: { ...C[r.actionIndex]?.data ?? {}, offset:
|
|
1848
|
+
data: { ...C[r.actionIndex]?.data ?? {}, offset: s }
|
|
1746
1849
|
};
|
|
1747
|
-
return C.splice(r.actionIndex, 1,
|
|
1748
|
-
},
|
|
1749
|
-
const
|
|
1750
|
-
if (!
|
|
1751
|
-
const i =
|
|
1752
|
-
if (!i) return
|
|
1753
|
-
const a = Math.max(0, Number.isFinite(t) ? t : 0),
|
|
1754
|
-
...
|
|
1755
|
-
data: { ...
|
|
1850
|
+
return C.splice(r.actionIndex, 1, I), u.actions = C, a;
|
|
1851
|
+
}, fA = (A, n, t, r) => {
|
|
1852
|
+
const s = mA(A, n);
|
|
1853
|
+
if (!s) return A;
|
|
1854
|
+
const i = KA(A, n);
|
|
1855
|
+
if (!i) return P(A, n, t);
|
|
1856
|
+
const a = Math.max(0, Number.isFinite(t) ? t : 0), u = Math.max(0, Number.isFinite(Number(r)) ? Number(r) : a), C = structuredClone(A), I = C[s.rowIndex], D = Array.isArray(I.actions) ? [...I.actions] : [], N = {
|
|
1857
|
+
...D[s.actionIndex],
|
|
1858
|
+
data: { ...D[s.actionIndex]?.data ?? {}, offset: a }
|
|
1756
1859
|
};
|
|
1757
|
-
|
|
1758
|
-
const
|
|
1759
|
-
...
|
|
1760
|
-
data: { ...
|
|
1860
|
+
D.splice(s.actionIndex, 1, N), I.actions = D;
|
|
1861
|
+
const b = C[i.rowIndex], p = Array.isArray(b.actions) ? [...b.actions] : [], Y = {
|
|
1862
|
+
...p[i.actionIndex],
|
|
1863
|
+
data: { ...p[i.actionIndex]?.data ?? {}, offset: u }
|
|
1761
1864
|
};
|
|
1762
|
-
return
|
|
1763
|
-
}, [
|
|
1764
|
-
const r =
|
|
1865
|
+
return p.splice(i.actionIndex, 1, Y), b.actions = p, C;
|
|
1866
|
+
}, [X, eA] = cA(null), OA = (A, n, t) => {
|
|
1867
|
+
const r = mA(A, n);
|
|
1765
1868
|
if (!r) return A;
|
|
1766
|
-
const i = String(r.action?.effectId ?? "") === "effect1" ? "video" : "audio", a =
|
|
1767
|
-
|
|
1768
|
-
const
|
|
1769
|
-
if (!Number.isFinite(
|
|
1770
|
-
const
|
|
1869
|
+
const i = String(r.action?.effectId ?? "") === "effect1" ? "video" : "audio", a = SA(t, i), u = KA(A, n), C = !!u, I = /* @__PURE__ */ new Set([String(n)]);
|
|
1870
|
+
u && I.add(String(u.action.id));
|
|
1871
|
+
const D = Number(r.action?.start), N = Number(r.action?.end);
|
|
1872
|
+
if (!Number.isFinite(D) || !Number.isFinite(N) || N <= D) return A;
|
|
1873
|
+
const b = (h, U, L) => {
|
|
1771
1874
|
const T = Array.isArray(h?.actions) ? h.actions : [];
|
|
1772
|
-
for (const
|
|
1773
|
-
const
|
|
1774
|
-
if (!(
|
|
1875
|
+
for (const q of T) {
|
|
1876
|
+
const aA = String(q?.id ?? "");
|
|
1877
|
+
if (!(aA && I.has(aA)) && te(U, L, Number(q?.start), Number(q?.end)))
|
|
1775
1878
|
return !1;
|
|
1776
1879
|
}
|
|
1777
1880
|
return !0;
|
|
1778
1881
|
};
|
|
1779
|
-
let
|
|
1780
|
-
if (C && (i === "video" ? (
|
|
1781
|
-
if (!
|
|
1782
|
-
} else if (!
|
|
1783
|
-
if (
|
|
1784
|
-
if (C && i === "video" && r.rowIndex ===
|
|
1785
|
-
const h =
|
|
1882
|
+
let p = null, Y = null;
|
|
1883
|
+
if (C && (i === "video" ? (p = a, Y = YA(p)) : (Y = a, p = me(Y))), i === "video") {
|
|
1884
|
+
if (!b(A[a], D, N)) return A;
|
|
1885
|
+
} else if (!b(A[a], D, N)) return A;
|
|
1886
|
+
if (p != null && !b(A[p], D, N) || Y != null && !b(A[Y], D, N) || !C && r.rowIndex === a) return A;
|
|
1887
|
+
if (C && i === "video" && r.rowIndex === p) {
|
|
1888
|
+
const h = u ? mA(A, String(u.action.id)) : null;
|
|
1786
1889
|
if (h && h.rowIndex === Y) return A;
|
|
1787
1890
|
}
|
|
1788
1891
|
if (C && i === "audio" && r.rowIndex === Y) {
|
|
1789
|
-
const h =
|
|
1790
|
-
if (h && h.rowIndex ===
|
|
1791
|
-
}
|
|
1792
|
-
const
|
|
1793
|
-
for (;
|
|
1794
|
-
const
|
|
1795
|
-
const
|
|
1796
|
-
h.actions =
|
|
1892
|
+
const h = u ? mA(A, String(u.action.id)) : null;
|
|
1893
|
+
if (h && h.rowIndex === p) return A;
|
|
1894
|
+
}
|
|
1895
|
+
const x = structuredClone(A);
|
|
1896
|
+
for (; x.length < 4; ) x.push({ id: `${x.length}`, actions: [] });
|
|
1897
|
+
const f = (h, U) => {
|
|
1898
|
+
const L = Array.isArray(h.actions) ? h.actions : [];
|
|
1899
|
+
h.actions = L.filter((T) => String(T?.id ?? "") !== U);
|
|
1797
1900
|
}, R = (h, U) => {
|
|
1798
|
-
const
|
|
1799
|
-
|
|
1901
|
+
const L = x[h];
|
|
1902
|
+
L.actions = [...L.actions ?? [], U], L.actions.sort((T, q) => Number(T.start) - Number(q.start));
|
|
1800
1903
|
};
|
|
1801
|
-
|
|
1904
|
+
f(x[r.rowIndex], String(n));
|
|
1802
1905
|
let H = r.action;
|
|
1803
1906
|
if (i === "video") {
|
|
1804
1907
|
const h = Math.max(0, CA.findIndex((U) => U === a));
|
|
@@ -1807,210 +1910,210 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
1807
1910
|
data: { ...H.data ?? {}, videoLayer: h }
|
|
1808
1911
|
};
|
|
1809
1912
|
}
|
|
1810
|
-
if (R(a, H),
|
|
1811
|
-
const h =
|
|
1913
|
+
if (R(a, H), u && p != null && Y != null) {
|
|
1914
|
+
const h = mA(A, String(u.action.id));
|
|
1812
1915
|
if (h) {
|
|
1813
|
-
|
|
1814
|
-
const U = i === "video" ? Y :
|
|
1815
|
-
let
|
|
1816
|
-
if (String(
|
|
1817
|
-
const
|
|
1818
|
-
|
|
1916
|
+
f(x[h.rowIndex], String(u.action.id));
|
|
1917
|
+
const U = i === "video" ? Y : p;
|
|
1918
|
+
let L = h.action;
|
|
1919
|
+
if (String(L?.effectId ?? "") === "effect1") {
|
|
1920
|
+
const q = Math.max(0, CA.findIndex((aA) => aA === U));
|
|
1921
|
+
L = { ...L, data: { ...L.data ?? {}, videoLayer: q } };
|
|
1819
1922
|
}
|
|
1820
|
-
R(U,
|
|
1923
|
+
R(U, L);
|
|
1821
1924
|
}
|
|
1822
1925
|
}
|
|
1823
|
-
return
|
|
1824
|
-
},
|
|
1926
|
+
return x;
|
|
1927
|
+
}, ne = (A) => A.map((n) => ({
|
|
1825
1928
|
...n,
|
|
1826
1929
|
selected: void 0,
|
|
1827
1930
|
actions: (n.actions ?? []).map((t) => ({ ...t, selected: void 0 }))
|
|
1828
|
-
})),
|
|
1829
|
-
const t =
|
|
1931
|
+
})), XA = We(() => l.map((A, n) => {
|
|
1932
|
+
const t = m ? (A.actions ?? []).some((a) => String(a.id) === m) : !1, r = dA != null && pA != null && n === pA, s = Array.isArray(A.classNames) ? A.classNames : [], i = r ? [...s, "dnd-drop-hover"] : s;
|
|
1830
1933
|
return {
|
|
1831
1934
|
...A,
|
|
1832
1935
|
classNames: i,
|
|
1833
1936
|
selected: t,
|
|
1834
1937
|
actions: (A.actions ?? []).map((a) => ({
|
|
1835
1938
|
...a,
|
|
1836
|
-
selected:
|
|
1939
|
+
selected: m ? String(a.id) === m : !1
|
|
1837
1940
|
}))
|
|
1838
1941
|
};
|
|
1839
|
-
}), [
|
|
1840
|
-
if (!
|
|
1841
|
-
const A =
|
|
1842
|
-
A?.isPlaying && A.pause(),
|
|
1843
|
-
|
|
1942
|
+
}), [l, m, dA, pA]), FA = () => {
|
|
1943
|
+
if (!m) return;
|
|
1944
|
+
const A = oA.current;
|
|
1945
|
+
A?.isPlaying && A.pause(), E((n) => {
|
|
1946
|
+
yA(n);
|
|
1844
1947
|
let t = null;
|
|
1845
|
-
for (const
|
|
1846
|
-
const i = Array.isArray(
|
|
1948
|
+
for (const s of n) {
|
|
1949
|
+
const i = Array.isArray(s?.actions) ? s.actions : [];
|
|
1847
1950
|
for (const a of i) {
|
|
1848
|
-
if (String(a?.id) !==
|
|
1849
|
-
const
|
|
1850
|
-
|
|
1951
|
+
if (String(a?.id) !== m) continue;
|
|
1952
|
+
const u = a?.data?.linkId;
|
|
1953
|
+
u != null && (t = String(u));
|
|
1851
1954
|
break;
|
|
1852
1955
|
}
|
|
1853
1956
|
if (t != null) break;
|
|
1854
1957
|
}
|
|
1855
|
-
return n.map((
|
|
1856
|
-
...
|
|
1857
|
-
actions: (
|
|
1958
|
+
return n.map((s) => ({
|
|
1959
|
+
...s,
|
|
1960
|
+
actions: (s.actions ?? []).filter((i) => !(String(i?.id) === m || t && String(i?.data?.linkId ?? "") === t))
|
|
1858
1961
|
}));
|
|
1859
|
-
}),
|
|
1860
|
-
},
|
|
1861
|
-
if (!
|
|
1862
|
-
const A =
|
|
1962
|
+
}), O(null);
|
|
1963
|
+
}, He = () => {
|
|
1964
|
+
if (!m) return;
|
|
1965
|
+
const A = oA.current, n = A?.getTime ? A.getTime() : null;
|
|
1863
1966
|
if (n == null) return;
|
|
1864
1967
|
const t = Number(n);
|
|
1865
|
-
Number.isFinite(t) && (A?.isPlaying && A.pause(),
|
|
1866
|
-
let
|
|
1867
|
-
for (let
|
|
1868
|
-
const K = r[
|
|
1869
|
-
for (let
|
|
1870
|
-
const
|
|
1871
|
-
if (String(
|
|
1872
|
-
|
|
1968
|
+
Number.isFinite(t) && (A?.isPlaying && A.pause(), DA.current = null, HA.current = null, E((r) => {
|
|
1969
|
+
let s = -1, i = -1, a = null;
|
|
1970
|
+
for (let J = 0; J < r.length; J++) {
|
|
1971
|
+
const K = r[J], V = Array.isArray(K?.actions) ? K.actions : [];
|
|
1972
|
+
for (let uA = 0; uA < V.length; uA++) {
|
|
1973
|
+
const EA = V[uA];
|
|
1974
|
+
if (String(EA?.id) === m) {
|
|
1975
|
+
s = J, i = uA, a = EA;
|
|
1873
1976
|
break;
|
|
1874
1977
|
}
|
|
1875
1978
|
}
|
|
1876
1979
|
if (a) break;
|
|
1877
1980
|
}
|
|
1878
1981
|
if (!a) return r;
|
|
1879
|
-
const
|
|
1880
|
-
let C = -1,
|
|
1881
|
-
if (
|
|
1882
|
-
for (let
|
|
1883
|
-
const K = r[
|
|
1884
|
-
for (let
|
|
1885
|
-
const
|
|
1886
|
-
if (String(
|
|
1887
|
-
C =
|
|
1982
|
+
const u = a?.data?.linkId ? String(a.data.linkId) : null;
|
|
1983
|
+
let C = -1, I = -1, D = null;
|
|
1984
|
+
if (u)
|
|
1985
|
+
for (let J = 0; J < r.length; J++) {
|
|
1986
|
+
const K = r[J], V = Array.isArray(K?.actions) ? K.actions : [];
|
|
1987
|
+
for (let uA = 0; uA < V.length; uA++) {
|
|
1988
|
+
const EA = V[uA];
|
|
1989
|
+
if (String(EA?.id) !== m && String(EA?.data?.linkId ?? "") === u) {
|
|
1990
|
+
C = J, I = uA, D = EA;
|
|
1888
1991
|
break;
|
|
1889
1992
|
}
|
|
1890
1993
|
}
|
|
1891
|
-
if (
|
|
1994
|
+
if (D) break;
|
|
1892
1995
|
}
|
|
1893
|
-
const N = Number(a.start),
|
|
1894
|
-
if (!Number.isFinite(N) || !Number.isFinite(
|
|
1895
|
-
|
|
1896
|
-
const
|
|
1996
|
+
const N = Number(a.start), b = Number(a.end);
|
|
1997
|
+
if (!Number.isFinite(N) || !Number.isFinite(b) || !(N < t && t < b)) return r;
|
|
1998
|
+
yA(r);
|
|
1999
|
+
const p = u && D ? `link-${vA()}` : u, Y = u && D ? `link-${vA()}` : u, x = `${String(a.id)}-r-${vA()}`, f = Number(a?.data?.offset ?? 0), R = Number.isFinite(f) ? f : 0, H = t - N, h = R + (Number.isFinite(H) ? H : 0), U = {
|
|
1897
2000
|
...a,
|
|
1898
2001
|
start: N,
|
|
1899
2002
|
end: t,
|
|
1900
2003
|
id: a.id,
|
|
1901
|
-
data: { ...a.data, offset: R, linkId:
|
|
1902
|
-
},
|
|
2004
|
+
data: { ...a.data, offset: R, linkId: p ?? void 0 }
|
|
2005
|
+
}, L = {
|
|
1903
2006
|
...a,
|
|
1904
2007
|
start: t,
|
|
1905
|
-
end:
|
|
1906
|
-
id:
|
|
2008
|
+
end: b,
|
|
2009
|
+
id: x,
|
|
1907
2010
|
data: { ...a.data, offset: h, linkId: Y ?? void 0 }
|
|
1908
|
-
}, T = structuredClone(r),
|
|
1909
|
-
if (
|
|
1910
|
-
const
|
|
1911
|
-
if (Number.isFinite(
|
|
1912
|
-
const
|
|
1913
|
-
...
|
|
2011
|
+
}, T = structuredClone(r), q = T[s], aA = Array.isArray(q.actions) ? [...q.actions] : [];
|
|
2012
|
+
if (aA.splice(i, 1, U, L), aA.sort((J, K) => Number(J.start) - Number(K.start)), q.actions = aA, D && C >= 0 && I >= 0) {
|
|
2013
|
+
const J = Number(D.start), K = Number(D.end);
|
|
2014
|
+
if (Number.isFinite(J) && Number.isFinite(K) && J === N && K === b) {
|
|
2015
|
+
const V = Number(D?.data?.offset), uA = Number.isFinite(V) ? V : R, EA = uA + (Number.isFinite(H) ? H : 0), zA = `${String(D.id)}-r-${vA()}`, pe = {
|
|
2016
|
+
...D,
|
|
1914
2017
|
start: N,
|
|
1915
2018
|
end: t,
|
|
1916
|
-
id:
|
|
1917
|
-
data: { ...
|
|
1918
|
-
},
|
|
1919
|
-
...
|
|
2019
|
+
id: D.id,
|
|
2020
|
+
data: { ...D.data, offset: uA, linkId: p ?? void 0 }
|
|
2021
|
+
}, re = {
|
|
2022
|
+
...D,
|
|
1920
2023
|
start: t,
|
|
1921
|
-
end:
|
|
1922
|
-
id:
|
|
1923
|
-
data: { ...
|
|
1924
|
-
},
|
|
1925
|
-
|
|
2024
|
+
end: b,
|
|
2025
|
+
id: zA,
|
|
2026
|
+
data: { ...D.data, offset: EA, linkId: Y ?? void 0 }
|
|
2027
|
+
}, ve = T[C], Re = Array.isArray(ve.actions) ? [...ve.actions] : [];
|
|
2028
|
+
Re.splice(I, 1, pe, re), Re.sort((Ke, je) => Number(Ke.start) - Number(je.start)), ve.actions = Re;
|
|
1926
2029
|
}
|
|
1927
2030
|
}
|
|
1928
2031
|
return T;
|
|
1929
2032
|
}));
|
|
1930
|
-
},
|
|
1931
|
-
const A =
|
|
1932
|
-
A?.isPlaying && A.pause(),
|
|
2033
|
+
}, $e = () => {
|
|
2034
|
+
const A = oA.current, n = A?.getTime ? A.getTime() : null;
|
|
2035
|
+
A?.isPlaying && A.pause(), DA.current = null, HA.current = null, O(null), G((t) => {
|
|
1933
2036
|
if (t.length === 0) return t;
|
|
1934
|
-
const r = t[t.length - 1],
|
|
1935
|
-
return
|
|
2037
|
+
const r = t[t.length - 1], s = structuredClone(F.current);
|
|
2038
|
+
return z((i) => [...i, s]), E(structuredClone(r)), t.slice(0, -1);
|
|
1936
2039
|
}), n != null && requestAnimationFrame(() => {
|
|
1937
|
-
const t =
|
|
2040
|
+
const t = oA.current;
|
|
1938
2041
|
t?.setTime && t.setTime(n);
|
|
1939
2042
|
});
|
|
1940
|
-
},
|
|
1941
|
-
const A =
|
|
1942
|
-
A?.isPlaying && A.pause(),
|
|
2043
|
+
}, At = () => {
|
|
2044
|
+
const A = oA.current, n = A?.getTime ? A.getTime() : null;
|
|
2045
|
+
A?.isPlaying && A.pause(), DA.current = null, HA.current = null, O(null), z((t) => {
|
|
1943
2046
|
if (t.length === 0) return t;
|
|
1944
|
-
const r = t[t.length - 1],
|
|
1945
|
-
return
|
|
1946
|
-
const a = [...i,
|
|
2047
|
+
const r = t[t.length - 1], s = structuredClone(F.current);
|
|
2048
|
+
return G((i) => {
|
|
2049
|
+
const a = [...i, s];
|
|
1947
2050
|
return a.length > ze && a.splice(0, a.length - ze), a;
|
|
1948
|
-
}),
|
|
2051
|
+
}), E(structuredClone(r)), t.slice(0, -1);
|
|
1949
2052
|
}), n != null && requestAnimationFrame(() => {
|
|
1950
|
-
const t =
|
|
2053
|
+
const t = oA.current;
|
|
1951
2054
|
t?.setTime && t.setTime(n);
|
|
1952
2055
|
});
|
|
1953
|
-
},
|
|
1954
|
-
rt(
|
|
2056
|
+
}, Et = yt(
|
|
2057
|
+
rt(Nt, { activationConstraint: { distance: 6 } }),
|
|
1955
2058
|
// On touch, require a short press-hold before starting drag, so scroll is still possible.
|
|
1956
|
-
rt(
|
|
1957
|
-
), { setNodeRef:
|
|
2059
|
+
rt(Ut, { activationConstraint: { delay: 180, tolerance: 6 } })
|
|
2060
|
+
), { setNodeRef: Qt, isOver: wt } = Pt({ id: "timeline-drop" }), It = (A) => {
|
|
1958
2061
|
const n = A.active.data.current?.item;
|
|
1959
|
-
|
|
1960
|
-
const t =
|
|
1961
|
-
if (
|
|
1962
|
-
const
|
|
1963
|
-
|
|
1964
|
-
const i =
|
|
1965
|
-
|
|
2062
|
+
WA(n ?? null);
|
|
2063
|
+
const t = Q(A.activatorEvent);
|
|
2064
|
+
if (IA.current = t, GA.current = t, gA(t), t) {
|
|
2065
|
+
const s = Fe(t);
|
|
2066
|
+
_(s);
|
|
2067
|
+
const i = g(t.y);
|
|
2068
|
+
wA(s ? Ae(n ?? null, i) : null);
|
|
1966
2069
|
} else
|
|
1967
|
-
|
|
2070
|
+
wA(null), _(!1);
|
|
1968
2071
|
const r = A.active.rect.current.initial;
|
|
1969
|
-
|
|
1970
|
-
},
|
|
2072
|
+
QA(r ? { width: r.width, height: r.height } : null);
|
|
2073
|
+
}, Dt = (A) => {
|
|
1971
2074
|
const n = A.active.rect.current.initial;
|
|
1972
|
-
!
|
|
1973
|
-
const t =
|
|
2075
|
+
!LA && n && QA({ width: n.width, height: n.height });
|
|
2076
|
+
const t = GA.current;
|
|
1974
2077
|
if (!t) {
|
|
1975
|
-
|
|
2078
|
+
wA(null);
|
|
1976
2079
|
return;
|
|
1977
2080
|
}
|
|
1978
|
-
const r = Number(A?.delta?.x ?? 0),
|
|
1979
|
-
|
|
1980
|
-
const a =
|
|
1981
|
-
|
|
1982
|
-
const
|
|
1983
|
-
|
|
1984
|
-
},
|
|
1985
|
-
const n = A.active.data.current?.item, t =
|
|
1986
|
-
|
|
1987
|
-
const
|
|
1988
|
-
if (n &&
|
|
1989
|
-
const C =
|
|
1990
|
-
|
|
1991
|
-
}
|
|
1992
|
-
|
|
1993
|
-
},
|
|
1994
|
-
|
|
1995
|
-
},
|
|
1996
|
-
if (!
|
|
1997
|
-
const A =
|
|
2081
|
+
const r = Number(A?.delta?.x ?? 0), s = Number(A?.delta?.y ?? 0), i = { x: t.x + (Number.isFinite(r) ? r : 0), y: t.y + (Number.isFinite(s) ? s : 0) };
|
|
2082
|
+
IA.current = i, gA(i);
|
|
2083
|
+
const a = Fe(i);
|
|
2084
|
+
_(a);
|
|
2085
|
+
const u = g(i.y);
|
|
2086
|
+
wA(a ? Ae(dA, u) : null);
|
|
2087
|
+
}, ht = (A) => {
|
|
2088
|
+
const n = A.active.data.current?.item, t = GA.current, r = Number(A?.delta?.x ?? 0), s = Number(A?.delta?.y ?? 0), i = t ? { x: t.x + (Number.isFinite(r) ? r : 0), y: t.y + (Number.isFinite(s) ? s : 0) } : IA.current;
|
|
2089
|
+
IA.current = i;
|
|
2090
|
+
const u = String(A.over?.id ?? "") === "timeline-drop" || Fe(i);
|
|
2091
|
+
if (n && u && i) {
|
|
2092
|
+
const C = fe(i.x), I = g(i.y), D = Ae(n, I);
|
|
2093
|
+
wA(D), Ge(n, Math.max(0, C), D);
|
|
2094
|
+
}
|
|
2095
|
+
WA(null), QA(null), wA(null), _(!1), gA(null), GA.current = null;
|
|
2096
|
+
}, mt = () => {
|
|
2097
|
+
WA(null), QA(null), wA(null), _(!1), gA(null), GA.current = null;
|
|
2098
|
+
}, Ce = We(() => {
|
|
2099
|
+
if (!dA || !Z) return null;
|
|
2100
|
+
const A = sA;
|
|
1998
2101
|
if (!A) return null;
|
|
1999
|
-
const n =
|
|
2102
|
+
const n = g(A.y), t = Ae(dA, n);
|
|
2000
2103
|
if (t == null) return null;
|
|
2001
|
-
const r =
|
|
2104
|
+
const r = fe(A.x), s = e(dA, r, t, F.current), i = dA.defaultDuration ?? 10;
|
|
2002
2105
|
return {
|
|
2003
2106
|
laneRow: t,
|
|
2004
2107
|
desiredStart: r,
|
|
2005
|
-
start:
|
|
2006
|
-
end:
|
|
2108
|
+
start: s,
|
|
2109
|
+
end: s + i,
|
|
2007
2110
|
duration: i,
|
|
2008
|
-
kind:
|
|
2111
|
+
kind: dA.kind
|
|
2009
2112
|
};
|
|
2010
|
-
}, [
|
|
2011
|
-
if (!
|
|
2113
|
+
}, [dA, Z, sA, VA, TA, bA]), Ft = (A) => {
|
|
2114
|
+
if (!BA || A.pointerType === "mouse" || dA) return;
|
|
2012
2115
|
if (!!A.target?.closest?.(".timeline-editor-cursor-area, .timeline-editor-cursor")) {
|
|
2013
|
-
|
|
2116
|
+
_A.current = { pointerId: A.pointerId }, UA.current = null;
|
|
2014
2117
|
try {
|
|
2015
2118
|
A.currentTarget.setPointerCapture(A.pointerId);
|
|
2016
2119
|
} catch {
|
|
@@ -2018,15 +2121,15 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
2018
2121
|
A.preventDefault();
|
|
2019
2122
|
return;
|
|
2020
2123
|
}
|
|
2021
|
-
|
|
2022
|
-
},
|
|
2023
|
-
if (!
|
|
2024
|
-
const n =
|
|
2025
|
-
|
|
2026
|
-
},
|
|
2027
|
-
if (!
|
|
2028
|
-
if (
|
|
2029
|
-
|
|
2124
|
+
UA.current = { x: A.clientX, y: A.clientY };
|
|
2125
|
+
}, pt = (A) => {
|
|
2126
|
+
if (!BA || A.pointerType === "mouse" || dA || !_A.current || _A.current.pointerId !== A.pointerId) return;
|
|
2127
|
+
const n = fe(A.clientX);
|
|
2128
|
+
oA.current && oA.current.setTime(n), A.preventDefault();
|
|
2129
|
+
}, vt = (A) => {
|
|
2130
|
+
if (!BA || A.pointerType === "mouse" || dA) return;
|
|
2131
|
+
if (_A.current && _A.current.pointerId === A.pointerId) {
|
|
2132
|
+
_A.current = null;
|
|
2030
2133
|
try {
|
|
2031
2134
|
A.currentTarget.releasePointerCapture(A.pointerId);
|
|
2032
2135
|
} catch {
|
|
@@ -2034,57 +2137,74 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
2034
2137
|
A.preventDefault();
|
|
2035
2138
|
return;
|
|
2036
2139
|
}
|
|
2037
|
-
const n =
|
|
2038
|
-
|
|
2140
|
+
const n = UA.current;
|
|
2141
|
+
UA.current = null;
|
|
2039
2142
|
const t = n ? Math.abs(A.clientX - n.x) : 0, r = n ? Math.abs(A.clientY - n.y) : 0;
|
|
2040
2143
|
if (t > 10 || r > 10) return;
|
|
2041
|
-
const i = A.target?.closest?.("[data-action-id]"), a = i?.getAttribute("data-row-id"),
|
|
2042
|
-
if (a &&
|
|
2043
|
-
|
|
2144
|
+
const i = A.target?.closest?.("[data-action-id]"), a = i?.getAttribute("data-row-id"), u = i?.getAttribute("data-action-id");
|
|
2145
|
+
if (a && u) {
|
|
2146
|
+
O(u);
|
|
2044
2147
|
return;
|
|
2045
2148
|
}
|
|
2046
|
-
const C =
|
|
2047
|
-
|
|
2149
|
+
const C = fe(A.clientX);
|
|
2150
|
+
O(null), oA.current && oA.current.setTime(C);
|
|
2048
2151
|
};
|
|
2049
|
-
return /* @__PURE__ */
|
|
2050
|
-
|
|
2152
|
+
return /* @__PURE__ */ w.jsx(
|
|
2153
|
+
xt,
|
|
2051
2154
|
{
|
|
2052
|
-
sensors:
|
|
2053
|
-
collisionDetection:
|
|
2054
|
-
onDragStart:
|
|
2055
|
-
onDragMove:
|
|
2056
|
-
onDragEnd:
|
|
2057
|
-
onDragCancel:
|
|
2058
|
-
children: /* @__PURE__ */
|
|
2059
|
-
/* @__PURE__ */
|
|
2060
|
-
/* @__PURE__ */
|
|
2061
|
-
"
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2155
|
+
sensors: Et,
|
|
2156
|
+
collisionDetection: Mt,
|
|
2157
|
+
onDragStart: It,
|
|
2158
|
+
onDragMove: Dt,
|
|
2159
|
+
onDragEnd: ht,
|
|
2160
|
+
onDragCancel: mt,
|
|
2161
|
+
children: /* @__PURE__ */ w.jsxs("div", { className: "timeline-editor-engine", children: [
|
|
2162
|
+
/* @__PURE__ */ w.jsxs("div", { className: "player-stack", children: [
|
|
2163
|
+
/* @__PURE__ */ w.jsx("div", { className: "footage-ribbon", role: "toolbar", "aria-label": "Footage", children: /* @__PURE__ */ w.jsxs("div", { className: "footage-ribbon-left", children: [
|
|
2164
|
+
/* @__PURE__ */ w.jsxs("div", { className: "footage-toggle-stack", children: [
|
|
2165
|
+
/* @__PURE__ */ w.jsx(
|
|
2166
|
+
"button",
|
|
2167
|
+
{
|
|
2168
|
+
type: "button",
|
|
2169
|
+
className: `footage-ribbon-toggle${iA ? " is-open" : ""}`,
|
|
2170
|
+
"aria-expanded": iA,
|
|
2171
|
+
"aria-controls": "footage-bin-panel",
|
|
2172
|
+
onClick: () => lA((A) => !A),
|
|
2173
|
+
children: /* @__PURE__ */ w.jsx("img", { src: gn, alt: "Footage", draggable: !1 })
|
|
2174
|
+
}
|
|
2175
|
+
),
|
|
2176
|
+
/* @__PURE__ */ w.jsx(
|
|
2177
|
+
"button",
|
|
2178
|
+
{
|
|
2179
|
+
type: "button",
|
|
2180
|
+
className: `footage-edge-handle${iA ? " is-open" : ""}`,
|
|
2181
|
+
"aria-label": iA ? "Close footage bin" : "Open footage bin",
|
|
2182
|
+
"aria-expanded": iA,
|
|
2183
|
+
"aria-controls": "footage-bin-panel",
|
|
2184
|
+
onClick: () => lA((A) => !A),
|
|
2185
|
+
children: /* @__PURE__ */ w.jsx("span", { className: "footage-edge-chevron", "aria-hidden": "true" })
|
|
2186
|
+
}
|
|
2187
|
+
)
|
|
2188
|
+
] }),
|
|
2189
|
+
/* @__PURE__ */ w.jsx("div", { className: "footage-ribbon-title", children: "Footage" })
|
|
2190
|
+
] }) }),
|
|
2191
|
+
/* @__PURE__ */ w.jsx(
|
|
2072
2192
|
"div",
|
|
2073
2193
|
{
|
|
2074
2194
|
id: "footage-bin-panel",
|
|
2075
|
-
className: `footage-bin-panel${
|
|
2076
|
-
"aria-hidden": !
|
|
2077
|
-
children: /* @__PURE__ */
|
|
2078
|
-
|
|
2195
|
+
className: `footage-bin-panel${iA ? " is-open" : ""}${dA ? " is-dragging" : ""}`,
|
|
2196
|
+
"aria-hidden": !iA,
|
|
2197
|
+
children: /* @__PURE__ */ w.jsx("div", { className: "footage-bin", children: JA.map((A) => /* @__PURE__ */ w.jsx(
|
|
2198
|
+
ln,
|
|
2079
2199
|
{
|
|
2080
2200
|
item: A,
|
|
2081
|
-
hint:
|
|
2201
|
+
hint: BA ? "Press-hold, then drag into timeline" : "Drag into timeline"
|
|
2082
2202
|
},
|
|
2083
2203
|
A.id
|
|
2084
2204
|
)) })
|
|
2085
2205
|
}
|
|
2086
2206
|
),
|
|
2087
|
-
/* @__PURE__ */
|
|
2207
|
+
/* @__PURE__ */ w.jsx("div", { className: "player-panel", ref: kA, children: /* @__PURE__ */ w.jsx(
|
|
2088
2208
|
"video",
|
|
2089
2209
|
{
|
|
2090
2210
|
className: "player-video",
|
|
@@ -2097,144 +2217,144 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
2097
2217
|
controlsList: "nodownload noplaybackrate noremoteplayback",
|
|
2098
2218
|
tabIndex: -1,
|
|
2099
2219
|
onContextMenu: (A) => A.preventDefault(),
|
|
2100
|
-
ref: (A) =>
|
|
2220
|
+
ref: (A) => jA.attach(A)
|
|
2101
2221
|
}
|
|
2102
2222
|
) })
|
|
2103
2223
|
] }),
|
|
2104
|
-
/* @__PURE__ */
|
|
2105
|
-
|
|
2224
|
+
/* @__PURE__ */ w.jsx(
|
|
2225
|
+
an,
|
|
2106
2226
|
{
|
|
2107
|
-
timelineState:
|
|
2108
|
-
autoScrollWhenPlay:
|
|
2109
|
-
scale:
|
|
2110
|
-
scaleWidth:
|
|
2111
|
-
startLeft:
|
|
2112
|
-
editorData:
|
|
2113
|
-
selectedActionId:
|
|
2114
|
-
onDeleteSelectedClip:
|
|
2115
|
-
onSplitSelectedClip:
|
|
2116
|
-
canUndo:
|
|
2117
|
-
canRedo:
|
|
2118
|
-
onUndo:
|
|
2119
|
-
onRedo:
|
|
2227
|
+
timelineState: oA,
|
|
2228
|
+
autoScrollWhenPlay: Qe,
|
|
2229
|
+
scale: PA,
|
|
2230
|
+
scaleWidth: $A,
|
|
2231
|
+
startLeft: De,
|
|
2232
|
+
editorData: l,
|
|
2233
|
+
selectedActionId: m,
|
|
2234
|
+
onDeleteSelectedClip: FA,
|
|
2235
|
+
onSplitSelectedClip: He,
|
|
2236
|
+
canUndo: S.length > 0,
|
|
2237
|
+
canRedo: M.length > 0,
|
|
2238
|
+
onUndo: $e,
|
|
2239
|
+
onRedo: At
|
|
2120
2240
|
}
|
|
2121
2241
|
),
|
|
2122
|
-
/* @__PURE__ */
|
|
2242
|
+
/* @__PURE__ */ w.jsxs(
|
|
2123
2243
|
"div",
|
|
2124
2244
|
{
|
|
2125
|
-
className: `timeline-drop${
|
|
2245
|
+
className: `timeline-drop${wt ? " is-over" : ""}`,
|
|
2126
2246
|
ref: (A) => {
|
|
2127
|
-
|
|
2247
|
+
AA.current = A, Qt(A);
|
|
2128
2248
|
},
|
|
2129
|
-
onPointerDown:
|
|
2130
|
-
onPointerMove:
|
|
2131
|
-
onPointerUp:
|
|
2249
|
+
onPointerDown: Ft,
|
|
2250
|
+
onPointerMove: pt,
|
|
2251
|
+
onPointerUp: vt,
|
|
2132
2252
|
children: [
|
|
2133
|
-
/* @__PURE__ */
|
|
2134
|
-
/* @__PURE__ */
|
|
2253
|
+
/* @__PURE__ */ w.jsxs("div", { className: "timeline-zoom-controls", "aria-label": "Timeline zoom", children: [
|
|
2254
|
+
/* @__PURE__ */ w.jsx(
|
|
2135
2255
|
"button",
|
|
2136
2256
|
{
|
|
2137
2257
|
type: "button",
|
|
2138
2258
|
className: "timeline-zoom-control",
|
|
2139
|
-
onClick: () =>
|
|
2259
|
+
onClick: () => Oe(1 / 1.25),
|
|
2140
2260
|
"aria-label": "Zoom out",
|
|
2141
2261
|
title: "Zoom out",
|
|
2142
|
-
children: /* @__PURE__ */
|
|
2262
|
+
children: /* @__PURE__ */ w.jsx("img", { src: un, alt: "", draggable: !1 })
|
|
2143
2263
|
}
|
|
2144
2264
|
),
|
|
2145
|
-
/* @__PURE__ */
|
|
2265
|
+
/* @__PURE__ */ w.jsx(
|
|
2146
2266
|
"button",
|
|
2147
2267
|
{
|
|
2148
2268
|
type: "button",
|
|
2149
2269
|
className: "timeline-zoom-control",
|
|
2150
|
-
onClick: () =>
|
|
2270
|
+
onClick: () => Oe(1.25),
|
|
2151
2271
|
"aria-label": "Zoom in",
|
|
2152
2272
|
title: "Zoom in",
|
|
2153
|
-
children: /* @__PURE__ */
|
|
2273
|
+
children: /* @__PURE__ */ w.jsx("img", { src: Bn, alt: "", draggable: !1 })
|
|
2154
2274
|
}
|
|
2155
2275
|
)
|
|
2156
2276
|
] }),
|
|
2157
|
-
/* @__PURE__ */
|
|
2277
|
+
/* @__PURE__ */ w.jsx(
|
|
2158
2278
|
"div",
|
|
2159
2279
|
{
|
|
2160
2280
|
className: "timeline-lane-labels",
|
|
2161
2281
|
style: {
|
|
2162
|
-
top:
|
|
2163
|
-
transform: `translateY(${-
|
|
2164
|
-
height:
|
|
2282
|
+
top: ZA,
|
|
2283
|
+
transform: `translateY(${-TA}px)`,
|
|
2284
|
+
height: bA * Pe.length
|
|
2165
2285
|
},
|
|
2166
|
-
children:
|
|
2286
|
+
children: Pe.map((A, n) => /* @__PURE__ */ w.jsx(
|
|
2167
2287
|
"div",
|
|
2168
2288
|
{
|
|
2169
|
-
className: `timeline-lane-label${
|
|
2170
|
-
style: { height:
|
|
2289
|
+
className: `timeline-lane-label${pA === n ? " is-hover" : ""}`,
|
|
2290
|
+
style: { height: bA },
|
|
2171
2291
|
children: A
|
|
2172
2292
|
},
|
|
2173
2293
|
A
|
|
2174
2294
|
))
|
|
2175
2295
|
}
|
|
2176
2296
|
),
|
|
2177
|
-
|
|
2178
|
-
const A =
|
|
2179
|
-
return
|
|
2297
|
+
Ce ? /* @__PURE__ */ w.jsx("div", { className: "timeline-ghost-layer", style: { top: ZA, left: nA }, children: (() => {
|
|
2298
|
+
const A = $A / PA, n = Ce.duration * A, t = Ye(Ce.start) - VA, r = [];
|
|
2299
|
+
return Ce.kind === "video" ? (r.push({ row: Ce.laneRow, kind: "video" }), r.push({ row: YA(Ce.laneRow), kind: "audio" })) : r.push({ row: Ce.laneRow, kind: "audio" }), r.map((s) => /* @__PURE__ */ w.jsx(
|
|
2180
2300
|
"div",
|
|
2181
2301
|
{
|
|
2182
|
-
className: `timeline-ghost-clip${
|
|
2302
|
+
className: `timeline-ghost-clip${s.kind === "video" ? " is-video" : " is-audio"}`,
|
|
2183
2303
|
style: {
|
|
2184
2304
|
left: t,
|
|
2185
|
-
top:
|
|
2305
|
+
top: s.row * bA - TA,
|
|
2186
2306
|
width: n,
|
|
2187
|
-
height:
|
|
2307
|
+
height: bA
|
|
2188
2308
|
}
|
|
2189
2309
|
},
|
|
2190
|
-
`${
|
|
2310
|
+
`${s.kind}-${s.row}`
|
|
2191
2311
|
));
|
|
2192
2312
|
})() }) : null,
|
|
2193
|
-
|
|
2194
|
-
const A =
|
|
2195
|
-
return
|
|
2313
|
+
X ? /* @__PURE__ */ w.jsx("div", { className: "timeline-ghost-layer", style: { top: ZA, left: nA }, children: (() => {
|
|
2314
|
+
const A = $A / PA, n = X.duration * A, t = Ye(X.start) - VA, r = [];
|
|
2315
|
+
return X.kind === "video" ? (r.push({ row: X.laneRow, kind: "video" }), r.push({ row: YA(X.laneRow), kind: "audio" })) : r.push({ row: X.laneRow, kind: "audio" }), r.map((s) => /* @__PURE__ */ w.jsx(
|
|
2196
2316
|
"div",
|
|
2197
2317
|
{
|
|
2198
|
-
className: `timeline-ghost-clip${
|
|
2318
|
+
className: `timeline-ghost-clip${s.kind === "video" ? " is-video" : " is-audio"}`,
|
|
2199
2319
|
style: {
|
|
2200
2320
|
left: t,
|
|
2201
|
-
top:
|
|
2321
|
+
top: s.row * bA - TA,
|
|
2202
2322
|
width: n,
|
|
2203
|
-
height:
|
|
2323
|
+
height: bA
|
|
2204
2324
|
}
|
|
2205
2325
|
},
|
|
2206
|
-
`${
|
|
2326
|
+
`${X.actionId}-${s.kind}-${s.row}`
|
|
2207
2327
|
));
|
|
2208
2328
|
})() }) : null,
|
|
2209
|
-
/* @__PURE__ */
|
|
2210
|
-
|
|
2329
|
+
/* @__PURE__ */ w.jsx(
|
|
2330
|
+
Ot,
|
|
2211
2331
|
{
|
|
2212
|
-
scale:
|
|
2213
|
-
scaleWidth:
|
|
2214
|
-
startLeft:
|
|
2215
|
-
rowHeight:
|
|
2332
|
+
scale: PA,
|
|
2333
|
+
scaleWidth: $A,
|
|
2334
|
+
startLeft: De,
|
|
2335
|
+
rowHeight: bA,
|
|
2216
2336
|
autoScroll: !0,
|
|
2217
|
-
ref:
|
|
2218
|
-
editorData:
|
|
2219
|
-
effects:
|
|
2337
|
+
ref: oA,
|
|
2338
|
+
editorData: XA,
|
|
2339
|
+
effects: _t,
|
|
2220
2340
|
onScroll: (A) => {
|
|
2221
2341
|
const n = Number(A?.scrollTop ?? 0), t = Number(A?.scrollLeft ?? 0);
|
|
2222
|
-
Number.isFinite(n) &&
|
|
2342
|
+
Number.isFinite(n) && we(n), Number.isFinite(t) && Ie(t);
|
|
2223
2343
|
},
|
|
2224
2344
|
onClickTimeArea: (A, n) => {
|
|
2225
|
-
|
|
2345
|
+
O(null);
|
|
2226
2346
|
},
|
|
2227
2347
|
onClickRow: (A) => {
|
|
2228
|
-
A.target?.closest?.(".timeline-editor-action") ||
|
|
2348
|
+
A.target?.closest?.(".timeline-editor-action") || O(null);
|
|
2229
2349
|
},
|
|
2230
2350
|
onClickActionOnly: (A, { action: n }) => {
|
|
2231
2351
|
const t = n;
|
|
2232
|
-
t?.id &&
|
|
2352
|
+
t?.id && O(String(t.id));
|
|
2233
2353
|
},
|
|
2234
2354
|
onActionMoveStart: ({ action: A }) => {
|
|
2235
|
-
|
|
2236
|
-
const n = Number(A?.start), t = Number(A?.end), r = String(A?.id ?? ""),
|
|
2237
|
-
|
|
2355
|
+
Be.current = String(A?.id ?? ""), RA.current = { actionId: String(A?.id ?? ""), edge: null };
|
|
2356
|
+
const n = Number(A?.start), t = Number(A?.end), r = String(A?.id ?? ""), s = r ? mA(F.current, r) : null, i = s ? s.rowIndex : 0;
|
|
2357
|
+
$.current = {
|
|
2238
2358
|
actionId: r,
|
|
2239
2359
|
mode: "move",
|
|
2240
2360
|
dir: null,
|
|
@@ -2250,16 +2370,16 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
2250
2370
|
initialStart: Number.isFinite(n) ? n : 0,
|
|
2251
2371
|
initialEnd: Number.isFinite(t) ? t : 0,
|
|
2252
2372
|
takeover: !0
|
|
2253
|
-
},
|
|
2373
|
+
}, v(), eA(null), !DA.current && (DA.current = structuredClone(l), HA.current = ee(l));
|
|
2254
2374
|
},
|
|
2255
2375
|
onActionMoveEnd: () => {
|
|
2256
|
-
const A =
|
|
2257
|
-
n && t != null && (
|
|
2258
|
-
const a =
|
|
2259
|
-
return
|
|
2260
|
-
})),
|
|
2261
|
-
const r =
|
|
2262
|
-
r &&
|
|
2376
|
+
const A = $.current, n = String(A.actionId ?? ""), t = A.laneIntentRowIndex;
|
|
2377
|
+
n && t != null && (W.current = !0, E((i) => {
|
|
2378
|
+
const a = OA(i, n, t);
|
|
2379
|
+
return F.current = a, a;
|
|
2380
|
+
})), eA(null);
|
|
2381
|
+
const r = DA.current, s = HA.current;
|
|
2382
|
+
r && s && ee(F.current) !== s && yA(r), DA.current = null, HA.current = null, Be.current = null, RA.current = { actionId: null, edge: null }, $.current = {
|
|
2263
2383
|
actionId: null,
|
|
2264
2384
|
mode: null,
|
|
2265
2385
|
dir: null,
|
|
@@ -2275,19 +2395,19 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
2275
2395
|
initialStart: 0,
|
|
2276
2396
|
initialEnd: 0,
|
|
2277
2397
|
takeover: !1
|
|
2278
|
-
},
|
|
2398
|
+
}, j();
|
|
2279
2399
|
},
|
|
2280
2400
|
onActionResizeStart: ({ action: A }) => {
|
|
2281
|
-
|
|
2282
|
-
const n = Number(A?.start), t = Number(A?.end), r = String(A?.id ?? ""),
|
|
2283
|
-
|
|
2401
|
+
Be.current = String(A?.id ?? ""), RA.current = { actionId: String(A?.id ?? ""), edge: null };
|
|
2402
|
+
const n = Number(A?.start), t = Number(A?.end), r = String(A?.id ?? ""), s = r ? mA(F.current, r) : null, i = s ? s.rowIndex : 0, a = k(s?.action ?? A), u = r ? KA(F.current, r) : null, C = u ? String(u.action.id) : null, I = u ? k(u.action) : a;
|
|
2403
|
+
hA.current = {
|
|
2284
2404
|
actionId: r,
|
|
2285
2405
|
partnerId: C,
|
|
2286
2406
|
dir: null,
|
|
2287
2407
|
baseStart: Number.isFinite(n) ? n : 0,
|
|
2288
2408
|
baseOffset: a,
|
|
2289
|
-
partnerBaseOffset:
|
|
2290
|
-
},
|
|
2409
|
+
partnerBaseOffset: I
|
|
2410
|
+
}, $.current = {
|
|
2291
2411
|
actionId: r,
|
|
2292
2412
|
mode: "resize",
|
|
2293
2413
|
dir: null,
|
|
@@ -2303,11 +2423,11 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
2303
2423
|
initialStart: Number.isFinite(n) ? n : 0,
|
|
2304
2424
|
initialEnd: Number.isFinite(t) ? t : 0,
|
|
2305
2425
|
takeover: !1
|
|
2306
|
-
},
|
|
2426
|
+
}, v(), !DA.current && (DA.current = structuredClone(l), HA.current = ee(l));
|
|
2307
2427
|
},
|
|
2308
2428
|
onActionResizeEnd: () => {
|
|
2309
|
-
const A =
|
|
2310
|
-
A && n &&
|
|
2429
|
+
const A = DA.current, n = HA.current;
|
|
2430
|
+
A && n && ee(F.current) !== n && yA(A), DA.current = null, HA.current = null, Be.current = null, RA.current = { actionId: null, edge: null }, $.current = {
|
|
2311
2431
|
actionId: null,
|
|
2312
2432
|
mode: null,
|
|
2313
2433
|
dir: null,
|
|
@@ -2323,7 +2443,7 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
2323
2443
|
initialStart: 0,
|
|
2324
2444
|
initialEnd: 0,
|
|
2325
2445
|
takeover: !1
|
|
2326
|
-
},
|
|
2446
|
+
}, j(), hA.current = {
|
|
2327
2447
|
actionId: null,
|
|
2328
2448
|
partnerId: null,
|
|
2329
2449
|
dir: null,
|
|
@@ -2333,170 +2453,170 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
2333
2453
|
};
|
|
2334
2454
|
},
|
|
2335
2455
|
onActionMoving: ({ action: A, row: n, start: t, end: r }) => {
|
|
2336
|
-
const
|
|
2456
|
+
const s = String(A?.id ?? ""), i = $.current, a = (R, H) => {
|
|
2337
2457
|
const h = Number(R), U = Number(H);
|
|
2338
2458
|
if (!Number.isFinite(h) || !Number.isFinite(U)) return { start: R, end: H, clamped: !1 };
|
|
2339
2459
|
if (U <= h) return { start: R, end: H, clamped: !1 };
|
|
2340
2460
|
if (h >= 0) return { start: h, end: U, clamped: !1 };
|
|
2341
|
-
const
|
|
2342
|
-
return { start: 0, end: U +
|
|
2343
|
-
},
|
|
2461
|
+
const L = -h;
|
|
2462
|
+
return { start: 0, end: U + L, clamped: !0 };
|
|
2463
|
+
}, u = (R) => {
|
|
2344
2464
|
const H = String(R?.id ?? "");
|
|
2345
|
-
return H ?
|
|
2465
|
+
return H ? F.current.findIndex((h) => String(h?.id ?? "") === H) : -1;
|
|
2346
2466
|
};
|
|
2347
|
-
if (i.takeover && i.mode === "move" && i.actionId ===
|
|
2348
|
-
const H = Math.max(10,
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
),
|
|
2352
|
-
|
|
2353
|
-
const
|
|
2354
|
-
|
|
2355
|
-
actionId:
|
|
2356
|
-
laneRow:
|
|
2467
|
+
if (i.takeover && i.mode === "move" && i.actionId === s) {
|
|
2468
|
+
const H = Math.max(10, bA * 0.45), h = i.basePointerTime, U = i.lastPointerTime, L = h != null && U != null ? U - h : 0, T = i.initialStart + L, q = i.initialEnd + L, aA = Le(s, T, q), J = a(aA.start, aA.end), K = J.start, V = J.end, EA = String(A?.effectId ?? "") === "effect1" ? "video" : "audio", zA = i.lastPointerClientY, pe = zA != null ? g(zA) : null, re = SA(
|
|
2469
|
+
pe ?? i.committedRowIndex,
|
|
2470
|
+
EA
|
|
2471
|
+
), ve = i.basePointerClientY, Re = ve != null && zA != null ? Math.abs(zA - ve) : 0, Ke = typeof performance < "u" && performance.now ? performance.now() : Date.now();
|
|
2472
|
+
re !== i.committedRowIndex && Re >= H ? (i.laneCandidateRowIndex !== re && (i.laneCandidateRowIndex = re, i.laneCandidateSinceMs = Ke), Ke - i.laneCandidateSinceMs >= 160 && (i.laneIntentRowIndex = re)) : (i.laneCandidateRowIndex = null, i.laneCandidateSinceMs = 0, i.laneIntentRowIndex = null);
|
|
2473
|
+
const je = re !== i.committedRowIndex && Re >= H ? re : null;
|
|
2474
|
+
je != null ? eA({
|
|
2475
|
+
actionId: s,
|
|
2476
|
+
laneRow: je,
|
|
2357
2477
|
start: K,
|
|
2358
|
-
end:
|
|
2359
|
-
duration: Math.max(0.01,
|
|
2360
|
-
kind:
|
|
2361
|
-
}) :
|
|
2362
|
-
const
|
|
2363
|
-
if (nt &&
|
|
2364
|
-
const
|
|
2365
|
-
if (
|
|
2366
|
-
const
|
|
2367
|
-
if (
|
|
2478
|
+
end: V,
|
|
2479
|
+
duration: Math.max(0.01, V - K),
|
|
2480
|
+
kind: EA
|
|
2481
|
+
}) : eA(null);
|
|
2482
|
+
const et = F.current, nt = et[i.committedRowIndex];
|
|
2483
|
+
if (nt && MA(nt, String(A.id), K, V)) return !1;
|
|
2484
|
+
const tt = KA(et, String(A.id));
|
|
2485
|
+
if (tt) {
|
|
2486
|
+
const Te = EA === "video" ? YA(SA(i.committedRowIndex, "video")) : me(SA(i.committedRowIndex, "audio")), ye = et[Te];
|
|
2487
|
+
if (ye && MA(ye, String(tt.action.id), K, V)) return !1;
|
|
2368
2488
|
}
|
|
2369
|
-
return
|
|
2370
|
-
const
|
|
2371
|
-
return
|
|
2489
|
+
return E((Te) => {
|
|
2490
|
+
const ye = tt ? le(Te, String(A.id), K, V) : de(Te, String(A.id), K, V);
|
|
2491
|
+
return F.current = ye, ye;
|
|
2372
2492
|
}), !1;
|
|
2373
2493
|
}
|
|
2374
|
-
const C = Number(t),
|
|
2375
|
-
if (!Number.isFinite(C) || !Number.isFinite(
|
|
2376
|
-
const
|
|
2377
|
-
if (!Number.isFinite(
|
|
2494
|
+
const C = Number(t), I = Number(r);
|
|
2495
|
+
if (!Number.isFinite(C) || !Number.isFinite(I) || I <= C) return !1;
|
|
2496
|
+
const D = Le(s, C, I), N = a(D.start, D.end), b = N.start, p = N.end;
|
|
2497
|
+
if (!Number.isFinite(b) || !Number.isFinite(p) || p <= b) return !1;
|
|
2378
2498
|
const Y = n;
|
|
2379
|
-
if (
|
|
2380
|
-
const
|
|
2381
|
-
if (
|
|
2382
|
-
const R = String(A?.effectId ?? ""), H =
|
|
2383
|
-
let h =
|
|
2499
|
+
if (MA(Y, String(A.id), b, p)) return !1;
|
|
2500
|
+
const x = F.current, f = KA(x, String(A.id));
|
|
2501
|
+
if (f) {
|
|
2502
|
+
const R = String(A?.effectId ?? ""), H = u(Y);
|
|
2503
|
+
let h = f.rowIndex;
|
|
2384
2504
|
if (H >= 0)
|
|
2385
2505
|
if (R === "effect1") {
|
|
2386
|
-
const
|
|
2387
|
-
h =
|
|
2506
|
+
const L = SA(H, "video");
|
|
2507
|
+
h = YA(L);
|
|
2388
2508
|
} else {
|
|
2389
|
-
const
|
|
2390
|
-
h =
|
|
2509
|
+
const L = SA(H, "audio");
|
|
2510
|
+
h = me(L);
|
|
2391
2511
|
}
|
|
2392
|
-
const U =
|
|
2393
|
-
if (U &&
|
|
2512
|
+
const U = x[h];
|
|
2513
|
+
if (U && MA(U, String(f.action.id), b, p)) return !1;
|
|
2394
2514
|
}
|
|
2395
|
-
if ((
|
|
2396
|
-
const H =
|
|
2397
|
-
return
|
|
2398
|
-
}),
|
|
2399
|
-
const R =
|
|
2400
|
-
return
|
|
2401
|
-
|
|
2402
|
-
actionId:
|
|
2515
|
+
if ((f || D.snapped || N.clamped) && E((R) => {
|
|
2516
|
+
const H = f ? le(R, String(A.id), b, p) : de(R, String(A.id), b, p);
|
|
2517
|
+
return F.current = H, H;
|
|
2518
|
+
}), D.snapped || N.clamped) {
|
|
2519
|
+
const R = $.current.lastPointerTime;
|
|
2520
|
+
return $.current = {
|
|
2521
|
+
...$.current,
|
|
2522
|
+
actionId: s,
|
|
2403
2523
|
mode: "move",
|
|
2404
2524
|
dir: null,
|
|
2405
2525
|
basePointerTime: R,
|
|
2406
|
-
lastPointerTime:
|
|
2526
|
+
lastPointerTime: $.current.lastPointerTime,
|
|
2407
2527
|
initialStart: C,
|
|
2408
|
-
initialEnd:
|
|
2528
|
+
initialEnd: I,
|
|
2409
2529
|
takeover: !0
|
|
2410
|
-
},
|
|
2530
|
+
}, v(), !1;
|
|
2411
2531
|
}
|
|
2412
2532
|
},
|
|
2413
|
-
onActionResizing: ({ action: A, row: n, start: t, end: r, dir:
|
|
2414
|
-
const i = String(A?.id ?? ""), a =
|
|
2415
|
-
if (a.actionId === i && a.mode === "resize" && (a.dir =
|
|
2416
|
-
const
|
|
2417
|
-
if (
|
|
2418
|
-
const
|
|
2533
|
+
onActionResizing: ({ action: A, row: n, start: t, end: r, dir: s }) => {
|
|
2534
|
+
const i = String(A?.id ?? ""), a = $.current, u = s ?? "right";
|
|
2535
|
+
if (a.actionId === i && a.mode === "resize" && (a.dir = u), hA.current.actionId === i && (hA.current.dir = u), a.takeover && a.mode === "resize" && a.actionId === i) {
|
|
2536
|
+
const f = a.basePointerTime, R = a.lastPointerTime, H = f != null && R != null ? R - f : 0, h = u === "left" ? a.initialStart + H : a.initialStart, U = u === "right" ? a.initialEnd + H : a.initialEnd, L = Se(i, h, U, u), T = L.start, q = L.end;
|
|
2537
|
+
if (MA(n, String(A.id), T, q)) return !1;
|
|
2538
|
+
const J = F.current, K = KA(J, String(A.id));
|
|
2419
2539
|
if (K) {
|
|
2420
|
-
const
|
|
2421
|
-
if (
|
|
2540
|
+
const V = J[K.rowIndex];
|
|
2541
|
+
if (V && MA(V, String(K.action.id), T, q)) return !1;
|
|
2422
2542
|
}
|
|
2423
|
-
return
|
|
2424
|
-
let
|
|
2425
|
-
if (
|
|
2426
|
-
const
|
|
2427
|
-
|
|
2543
|
+
return E((V) => {
|
|
2544
|
+
let uA = K ? le(V, String(A.id), T, q) : de(V, String(A.id), T, q);
|
|
2545
|
+
if (u === "left" && hA.current.actionId === String(A.id)) {
|
|
2546
|
+
const EA = T - hA.current.baseStart, zA = hA.current.baseOffset + (Number.isFinite(EA) ? EA : 0), pe = hA.current.partnerBaseOffset + (Number.isFinite(EA) ? EA : 0);
|
|
2547
|
+
uA = K ? fA(uA, String(A.id), zA, pe) : P(uA, String(A.id), zA);
|
|
2428
2548
|
}
|
|
2429
|
-
return
|
|
2549
|
+
return F.current = uA, uA;
|
|
2430
2550
|
}), !1;
|
|
2431
2551
|
}
|
|
2432
|
-
const C = Number(t),
|
|
2433
|
-
if (!Number.isFinite(C) || !Number.isFinite(
|
|
2434
|
-
const
|
|
2435
|
-
if (!Number.isFinite(N) || !Number.isFinite(
|
|
2436
|
-
const Y =
|
|
2437
|
-
if (
|
|
2438
|
-
const
|
|
2439
|
-
if (
|
|
2552
|
+
const C = Number(t), I = Number(r);
|
|
2553
|
+
if (!Number.isFinite(C) || !Number.isFinite(I) || I <= C) return !1;
|
|
2554
|
+
const D = Se(i, C, I, u), N = D.start, b = D.end;
|
|
2555
|
+
if (!Number.isFinite(N) || !Number.isFinite(b) || b <= N || MA(n, String(A.id), N, b)) return !1;
|
|
2556
|
+
const Y = F.current, x = KA(Y, String(A.id));
|
|
2557
|
+
if (x) {
|
|
2558
|
+
const f = Y[x.rowIndex];
|
|
2559
|
+
if (f && MA(f, String(x.action.id), N, b)) return !1;
|
|
2440
2560
|
}
|
|
2441
|
-
if ((
|
|
2442
|
-
const R =
|
|
2443
|
-
return
|
|
2444
|
-
}),
|
|
2445
|
-
const
|
|
2446
|
-
return
|
|
2447
|
-
|
|
2561
|
+
if ((x || D.snapped) && E((f) => {
|
|
2562
|
+
const R = x ? le(f, String(A.id), N, b) : de(f, String(A.id), N, b);
|
|
2563
|
+
return F.current = R, R;
|
|
2564
|
+
}), D.snapped) {
|
|
2565
|
+
const f = $.current.lastPointerTime;
|
|
2566
|
+
return $.current = {
|
|
2567
|
+
...$.current,
|
|
2448
2568
|
actionId: i,
|
|
2449
2569
|
mode: "resize",
|
|
2450
|
-
dir:
|
|
2451
|
-
basePointerTime:
|
|
2452
|
-
lastPointerTime:
|
|
2570
|
+
dir: u,
|
|
2571
|
+
basePointerTime: f,
|
|
2572
|
+
lastPointerTime: $.current.lastPointerTime,
|
|
2453
2573
|
initialStart: C,
|
|
2454
|
-
initialEnd:
|
|
2574
|
+
initialEnd: I,
|
|
2455
2575
|
takeover: !0
|
|
2456
|
-
},
|
|
2576
|
+
}, v(), !1;
|
|
2457
2577
|
}
|
|
2458
2578
|
},
|
|
2459
2579
|
onChange: (A) => {
|
|
2460
|
-
if (
|
|
2461
|
-
|
|
2580
|
+
if (W.current) {
|
|
2581
|
+
W.current = !1;
|
|
2462
2582
|
return;
|
|
2463
2583
|
}
|
|
2464
|
-
const n =
|
|
2465
|
-
let r = t ?
|
|
2466
|
-
if (t &&
|
|
2467
|
-
const
|
|
2468
|
-
if (
|
|
2469
|
-
const
|
|
2470
|
-
r = !!
|
|
2584
|
+
const n = ne(A), t = Be.current;
|
|
2585
|
+
let r = t ? ke(n, t) : n;
|
|
2586
|
+
if (t && hA.current.actionId === t && hA.current.dir === "left") {
|
|
2587
|
+
const u = mA(r, t);
|
|
2588
|
+
if (u) {
|
|
2589
|
+
const I = Number(u.action?.start) - hA.current.baseStart, D = hA.current.baseOffset + (Number.isFinite(I) ? I : 0), N = hA.current.partnerBaseOffset + (Number.isFinite(I) ? I : 0);
|
|
2590
|
+
r = !!hA.current.partnerId ? fA(r, t, D, N) : P(r, t, D);
|
|
2471
2591
|
}
|
|
2472
2592
|
}
|
|
2473
|
-
const
|
|
2474
|
-
|
|
2475
|
-
const i =
|
|
2476
|
-
i && a && (
|
|
2593
|
+
const s = Ve(r, t);
|
|
2594
|
+
E(s);
|
|
2595
|
+
const i = DA.current, a = HA.current;
|
|
2596
|
+
i && a && (ee(s) !== a && yA(i), DA.current = null, HA.current = null);
|
|
2477
2597
|
},
|
|
2478
2598
|
getActionRender: (A, n) => {
|
|
2479
2599
|
if (A.effectId === "effect0")
|
|
2480
|
-
return /* @__PURE__ */
|
|
2600
|
+
return /* @__PURE__ */ w.jsx(Kt, { action: A, row: n });
|
|
2481
2601
|
if (A.effectId === "effect2")
|
|
2482
|
-
return /* @__PURE__ */
|
|
2602
|
+
return /* @__PURE__ */ w.jsx(Tt, { action: A, row: n });
|
|
2483
2603
|
if (A.effectId === "effect1")
|
|
2484
|
-
return /* @__PURE__ */
|
|
2604
|
+
return /* @__PURE__ */ w.jsx(jt, { action: A, row: n });
|
|
2485
2605
|
}
|
|
2486
2606
|
}
|
|
2487
2607
|
)
|
|
2488
2608
|
]
|
|
2489
2609
|
}
|
|
2490
2610
|
),
|
|
2491
|
-
/* @__PURE__ */
|
|
2611
|
+
/* @__PURE__ */ w.jsx(kt, { children: dA ? /* @__PURE__ */ w.jsx(
|
|
2492
2612
|
"div",
|
|
2493
2613
|
{
|
|
2494
2614
|
className: "footage-overlay",
|
|
2495
|
-
style:
|
|
2496
|
-
width:
|
|
2497
|
-
height:
|
|
2615
|
+
style: LA ? {
|
|
2616
|
+
width: LA.width,
|
|
2617
|
+
height: LA.height
|
|
2498
2618
|
} : void 0,
|
|
2499
|
-
children: /* @__PURE__ */
|
|
2619
|
+
children: /* @__PURE__ */ w.jsx(ft, { item: dA, hint: "Drop on timeline", isDragging: !0 })
|
|
2500
2620
|
}
|
|
2501
2621
|
) : null })
|
|
2502
2622
|
] })
|
|
@@ -2504,5 +2624,5 @@ const _t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AA
|
|
|
2504
2624
|
);
|
|
2505
2625
|
};
|
|
2506
2626
|
export {
|
|
2507
|
-
|
|
2627
|
+
In as MeliesVideoEditor
|
|
2508
2628
|
};
|