@linker-design-plus/timeline-track 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/panel/ClipConfigPanel.d.ts +23 -3
- package/dist/components/timeline/ManagedPlayhead.d.ts +2 -1
- package/dist/components/timeline/TimelineHeaderView.d.ts +1 -1
- package/dist/core/models/types.d.ts +3 -0
- package/dist/index.cjs.js +4 -4
- package/dist/index.es.js +504 -421
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -42,7 +42,7 @@ const ks = {
|
|
|
42
42
|
scrollbarBorder: "#555555",
|
|
43
43
|
scrollbarThumb: "#444444"
|
|
44
44
|
};
|
|
45
|
-
function
|
|
45
|
+
function Ve(r) {
|
|
46
46
|
return r ? {
|
|
47
47
|
...hi,
|
|
48
48
|
...r
|
|
@@ -52,7 +52,7 @@ const vt = {
|
|
|
52
52
|
mode: "auto-first-added-video",
|
|
53
53
|
width: 16,
|
|
54
54
|
height: 9
|
|
55
|
-
},
|
|
55
|
+
}, El = [
|
|
56
56
|
{
|
|
57
57
|
key: "default",
|
|
58
58
|
label: "默认",
|
|
@@ -92,7 +92,7 @@ function Ht(r) {
|
|
|
92
92
|
height: typeof (r == null ? void 0 : r.height) == "number" && r.height > 0 ? r.height : vt.height
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
|
-
const
|
|
95
|
+
const Al = {
|
|
96
96
|
DEFAULT: 1,
|
|
97
97
|
// 默认层级
|
|
98
98
|
ACTIVE: 2
|
|
@@ -108,12 +108,12 @@ const El = {
|
|
|
108
108
|
// 动画持续时间(毫秒)
|
|
109
109
|
EASING: "easeOutCubic"
|
|
110
110
|
// 缓动函数
|
|
111
|
-
},
|
|
111
|
+
}, Ll = {
|
|
112
112
|
DEFAULT_HEIGHT: 40,
|
|
113
113
|
// 默认时间刻度高度
|
|
114
114
|
MIN_HEIGHT: 20,
|
|
115
115
|
MAX_HEIGHT: 80
|
|
116
|
-
}, at = 15,
|
|
116
|
+
}, at = 15, We = 6, At = {
|
|
117
117
|
VIDEO: 64,
|
|
118
118
|
// 视频轨道高度
|
|
119
119
|
AUDIO: 48
|
|
@@ -309,7 +309,7 @@ const zt = typeof global < "u" ? global : typeof window < "u" ? window : typeof
|
|
|
309
309
|
_injectGlobal(r) {
|
|
310
310
|
typeof zt.Konva < "u" && console.error("Several Konva instances detected. It is not recommended to use multiple Konva instances in the same environment."), zt.Konva = r;
|
|
311
311
|
}
|
|
312
|
-
},
|
|
312
|
+
}, tt = (r) => {
|
|
313
313
|
E[r.prototype.getClassName()] = r;
|
|
314
314
|
};
|
|
315
315
|
E._injectGlobal(E);
|
|
@@ -924,7 +924,7 @@ const Fs = typeof requestAnimationFrame < "u" && requestAnimationFrame || functi
|
|
|
924
924
|
}
|
|
925
925
|
}
|
|
926
926
|
};
|
|
927
|
-
function
|
|
927
|
+
function Vs(r) {
|
|
928
928
|
const t = [], e = r.length, i = C;
|
|
929
929
|
for (let n = 0; n < e; n++) {
|
|
930
930
|
let s = r[n];
|
|
@@ -932,7 +932,7 @@ function Ws(r) {
|
|
|
932
932
|
}
|
|
933
933
|
return t;
|
|
934
934
|
}
|
|
935
|
-
const Gi = ",",
|
|
935
|
+
const Gi = ",", Ws = "(", Ys = ")", Xs = "([", Us = "])", $s = ";", qs = "()", Ks = "=", Oi = [
|
|
936
936
|
"arc",
|
|
937
937
|
"arcTo",
|
|
938
938
|
"beginPath",
|
|
@@ -1018,7 +1018,7 @@ class Xe {
|
|
|
1018
1018
|
getTrace(t, e) {
|
|
1019
1019
|
let i = this.traceArr, n = i.length, s = "", a, o, l, h;
|
|
1020
1020
|
for (a = 0; a < n; a++)
|
|
1021
|
-
o = i[a], l = o.method, l ? (h = o.args, s += l, t ? s += qs : C._isArray(h[0]) ? s += Xs + h.join(Gi) + Us : (e && (h = h.map((c) => typeof c == "number" ? Math.floor(c) : c)), s +=
|
|
1021
|
+
o = i[a], l = o.method, l ? (h = o.args, s += l, t ? s += qs : C._isArray(h[0]) ? s += Xs + h.join(Gi) + Us : (e && (h = h.map((c) => typeof c == "number" ? Math.floor(c) : c)), s += Ws + h.join(Gi) + Ys)) : (s += o.property, t || (s += Ks + o.val)), s += $s;
|
|
1022
1022
|
return s;
|
|
1023
1023
|
}
|
|
1024
1024
|
clearTrace() {
|
|
@@ -1179,7 +1179,7 @@ class Xe {
|
|
|
1179
1179
|
const a = function(o) {
|
|
1180
1180
|
let l = t[o], h;
|
|
1181
1181
|
t[o] = function() {
|
|
1182
|
-
return s =
|
|
1182
|
+
return s = Vs(Array.prototype.slice.call(arguments, 0)), h = l.apply(t, arguments), t._trace({
|
|
1183
1183
|
method: o,
|
|
1184
1184
|
args: s
|
|
1185
1185
|
}), h;
|
|
@@ -1465,7 +1465,7 @@ function xi() {
|
|
|
1465
1465
|
return C._isNumber(r) || r === "auto" || C.warn(Mt(r) + ' is a not valid value for "' + t + '" attribute. The value should be a number or "auto".'), r;
|
|
1466
1466
|
};
|
|
1467
1467
|
}
|
|
1468
|
-
function
|
|
1468
|
+
function Vt() {
|
|
1469
1469
|
if (E.isUnminified)
|
|
1470
1470
|
return function(r, t) {
|
|
1471
1471
|
return C._isString(r) || C.warn(Mt(r) + ' is a not valid value for "' + t + '" attribute. The value should be a string.'), r;
|
|
@@ -1625,7 +1625,7 @@ function nr(r) {
|
|
|
1625
1625
|
return () => {
|
|
1626
1626
|
};
|
|
1627
1627
|
}
|
|
1628
|
-
const ze = "absoluteOpacity", Hi = "allEventListeners", Tt = "absoluteTransform", zi = "absoluteScale", Gt = "canvas", sr = "Change", rr = "children", ar = "konva", ci = "listening", or = "mouseenter", lr = "mouseleave", hr = "pointerenter", cr = "pointerleave", dr = "touchenter", ur = "touchleave", Ni = "set", Fi = "Shape", Ne = " ",
|
|
1628
|
+
const ze = "absoluteOpacity", Hi = "allEventListeners", Tt = "absoluteTransform", zi = "absoluteScale", Gt = "canvas", sr = "Change", rr = "children", ar = "konva", ci = "listening", or = "mouseenter", lr = "mouseleave", hr = "pointerenter", cr = "pointerleave", dr = "touchenter", ur = "touchleave", Ni = "set", Fi = "Shape", Ne = " ", Vi = "stage", Pt = "transform", fr = "Stage", di = "visible", gr = [
|
|
1629
1629
|
"xChange.konva",
|
|
1630
1630
|
"yChange.konva",
|
|
1631
1631
|
"scaleXChange.konva",
|
|
@@ -1826,7 +1826,7 @@ class _ {
|
|
|
1826
1826
|
return this.isDragging() && this.stopDrag(), Y._dragElements.delete(this._id), this._remove(), this;
|
|
1827
1827
|
}
|
|
1828
1828
|
_clearCaches() {
|
|
1829
|
-
this._clearSelfAndDescendantCache(Tt), this._clearSelfAndDescendantCache(ze), this._clearSelfAndDescendantCache(zi), this._clearSelfAndDescendantCache(
|
|
1829
|
+
this._clearSelfAndDescendantCache(Tt), this._clearSelfAndDescendantCache(ze), this._clearSelfAndDescendantCache(zi), this._clearSelfAndDescendantCache(Vi), this._clearSelfAndDescendantCache(di), this._clearSelfAndDescendantCache(ci);
|
|
1830
1830
|
}
|
|
1831
1831
|
_remove() {
|
|
1832
1832
|
this._clearCaches();
|
|
@@ -2090,7 +2090,7 @@ class _ {
|
|
|
2090
2090
|
return t ? t.getLayer() : null;
|
|
2091
2091
|
}
|
|
2092
2092
|
getStage() {
|
|
2093
|
-
return this._getCache(
|
|
2093
|
+
return this._getCache(Vi, this._getStage);
|
|
2094
2094
|
}
|
|
2095
2095
|
_getStage() {
|
|
2096
2096
|
const t = this.getParent();
|
|
@@ -2433,39 +2433,39 @@ _.prototype.on.call(_.prototype, "listeningChange.konva", function() {
|
|
|
2433
2433
|
_.prototype.on.call(_.prototype, "opacityChange.konva", function() {
|
|
2434
2434
|
this._clearSelfAndDescendantCache(ze);
|
|
2435
2435
|
});
|
|
2436
|
-
const
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2436
|
+
const K = m.addGetterSetter;
|
|
2437
|
+
K(_, "zIndex");
|
|
2438
|
+
K(_, "absolutePosition");
|
|
2439
|
+
K(_, "position");
|
|
2440
|
+
K(_, "x", 0, x());
|
|
2441
|
+
K(_, "y", 0, x());
|
|
2442
|
+
K(_, "globalCompositeOperation", "source-over", Vt());
|
|
2443
|
+
K(_, "opacity", 1, x());
|
|
2444
|
+
K(_, "name", "", Vt());
|
|
2445
|
+
K(_, "id", "", Vt());
|
|
2446
|
+
K(_, "rotation", 0, x());
|
|
2447
2447
|
m.addComponentsGetterSetter(_, "scale", ["x", "y"]);
|
|
2448
|
-
|
|
2449
|
-
|
|
2448
|
+
K(_, "scaleX", 1, x());
|
|
2449
|
+
K(_, "scaleY", 1, x());
|
|
2450
2450
|
m.addComponentsGetterSetter(_, "skew", ["x", "y"]);
|
|
2451
|
-
|
|
2452
|
-
|
|
2451
|
+
K(_, "skewX", 0, x());
|
|
2452
|
+
K(_, "skewY", 0, x());
|
|
2453
2453
|
m.addComponentsGetterSetter(_, "offset", ["x", "y"]);
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2454
|
+
K(_, "offsetX", 0, x());
|
|
2455
|
+
K(_, "offsetY", 0, x());
|
|
2456
|
+
K(_, "dragDistance", void 0, x());
|
|
2457
|
+
K(_, "width", 0, x());
|
|
2458
|
+
K(_, "height", 0, x());
|
|
2459
|
+
K(_, "listening", !0, ft());
|
|
2460
|
+
K(_, "preventDefault", !0, ft());
|
|
2461
|
+
K(_, "filters", void 0, function(r) {
|
|
2462
2462
|
return this._filterUpToDate = !1, r;
|
|
2463
2463
|
});
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2464
|
+
K(_, "visible", !0, ft());
|
|
2465
|
+
K(_, "transformsEnabled", "all", Vt());
|
|
2466
|
+
K(_, "size");
|
|
2467
|
+
K(_, "dragBoundFunc");
|
|
2468
|
+
K(_, "draggable", !1, ft());
|
|
2469
2469
|
m.backCompat(_, {
|
|
2470
2470
|
rotateDeg: "rotate",
|
|
2471
2471
|
setRotationDeg: "setRotation",
|
|
@@ -2692,13 +2692,13 @@ function pe(r, t) {
|
|
|
2692
2692
|
const i = e.getStage();
|
|
2693
2693
|
i && i.content, ve.delete(r), Dn && e._fire("lostpointercapture", Ei(new PointerEvent("lostpointercapture")));
|
|
2694
2694
|
}
|
|
2695
|
-
const mr = "Stage", yr = "string",
|
|
2695
|
+
const mr = "Stage", yr = "string", Wi = "px", Sr = "mouseout", Bn = "mouseleave", Hn = "mouseover", zn = "mouseenter", Nn = "mousemove", Fn = "mousedown", Vn = "mouseup", le = "pointermove", he = "pointerdown", Zt = "pointerup", ce = "pointercancel", Cr = "lostpointercapture", Ee = "pointerout", de = "pointerleave", Ae = "pointerover", Le = "pointerenter", ui = "contextmenu", Wn = "touchstart", Yn = "touchend", Xn = "touchmove", Un = "touchcancel", fi = "wheel", Tr = 5, vr = [
|
|
2696
2696
|
[zn, "_pointerenter"],
|
|
2697
2697
|
[Fn, "_pointerdown"],
|
|
2698
2698
|
[Nn, "_pointermove"],
|
|
2699
|
-
[
|
|
2699
|
+
[Vn, "_pointerup"],
|
|
2700
2700
|
[Bn, "_pointerleave"],
|
|
2701
|
-
[
|
|
2701
|
+
[Wn, "_pointerdown"],
|
|
2702
2702
|
[Xn, "_pointermove"],
|
|
2703
2703
|
[Yn, "_pointerup"],
|
|
2704
2704
|
[Un, "_pointercancel"],
|
|
@@ -2719,7 +2719,7 @@ const mr = "Stage", yr = "string", Vi = "px", Sr = "mouseout", Bn = "mouseleave"
|
|
|
2719
2719
|
[Le]: zn,
|
|
2720
2720
|
[le]: Nn,
|
|
2721
2721
|
[he]: Fn,
|
|
2722
|
-
[Zt]:
|
|
2722
|
+
[Zt]: Vn,
|
|
2723
2723
|
[ce]: "mousecancel",
|
|
2724
2724
|
pointerclick: "click",
|
|
2725
2725
|
pointerdblclick: "dblclick"
|
|
@@ -2730,7 +2730,7 @@ const mr = "Stage", yr = "string", Vi = "px", Sr = "mouseout", Bn = "mouseleave"
|
|
|
2730
2730
|
[Ae]: "touchover",
|
|
2731
2731
|
[Le]: "touchenter",
|
|
2732
2732
|
[le]: Xn,
|
|
2733
|
-
[he]:
|
|
2733
|
+
[he]: Wn,
|
|
2734
2734
|
[Zt]: Yn,
|
|
2735
2735
|
[ce]: Un,
|
|
2736
2736
|
pointerclick: "tap",
|
|
@@ -2855,7 +2855,7 @@ class $e extends ht {
|
|
|
2855
2855
|
}
|
|
2856
2856
|
_resizeDOM() {
|
|
2857
2857
|
const t = this.width(), e = this.height();
|
|
2858
|
-
this.content && (this.content.style.width = t +
|
|
2858
|
+
this.content && (this.content.style.width = t + Wi, this.content.style.height = e + Wi), this.bufferCanvas.setSize(t, e), this.bufferHitCanvas.setSize(t, e), this.children.forEach((i) => {
|
|
2859
2859
|
i.setSize({ width: t, height: e }), i.draw();
|
|
2860
2860
|
});
|
|
2861
2861
|
}
|
|
@@ -3127,7 +3127,7 @@ class $e extends ht {
|
|
|
3127
3127
|
}
|
|
3128
3128
|
}
|
|
3129
3129
|
$e.prototype.nodeType = mr;
|
|
3130
|
-
|
|
3130
|
+
tt($e);
|
|
3131
3131
|
m.addGetterSetter($e, "container");
|
|
3132
3132
|
E.isBrowser && document.addEventListener("visibilitychange", () => {
|
|
3133
3133
|
me.forEach((r) => {
|
|
@@ -3403,7 +3403,7 @@ k.prototype._fillFuncHit = _r;
|
|
|
3403
3403
|
k.prototype._strokeFuncHit = Pr;
|
|
3404
3404
|
k.prototype._centroid = !1;
|
|
3405
3405
|
k.prototype.nodeType = "Shape";
|
|
3406
|
-
|
|
3406
|
+
tt(k);
|
|
3407
3407
|
k.prototype.eventListeners = {};
|
|
3408
3408
|
k.prototype.on.call(k.prototype, "shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva", xr);
|
|
3409
3409
|
k.prototype.on.call(k.prototype, "shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva", Er);
|
|
@@ -3424,7 +3424,7 @@ m.addGetterSetter(k, "sceneFunc");
|
|
|
3424
3424
|
m.addGetterSetter(k, "hitFunc");
|
|
3425
3425
|
m.addGetterSetter(k, "dash");
|
|
3426
3426
|
m.addGetterSetter(k, "dashOffset", 0, x());
|
|
3427
|
-
m.addGetterSetter(k, "shadowColor", void 0,
|
|
3427
|
+
m.addGetterSetter(k, "shadowColor", void 0, Vt());
|
|
3428
3428
|
m.addGetterSetter(k, "shadowBlur", 0, x());
|
|
3429
3429
|
m.addGetterSetter(k, "shadowOpacity", 1, x());
|
|
3430
3430
|
m.addComponentsGetterSetter(k, "shadowOffset", ["x", "y"]);
|
|
@@ -3489,7 +3489,7 @@ m.addComponentsGetterSetter(k, "fillRadialGradientEndPoint", [
|
|
|
3489
3489
|
m.addGetterSetter(k, "fillRadialGradientEndPointX", 0);
|
|
3490
3490
|
m.addGetterSetter(k, "fillRadialGradientEndPointY", 0);
|
|
3491
3491
|
m.addGetterSetter(k, "fillPatternRotation", 0);
|
|
3492
|
-
m.addGetterSetter(k, "fillRule", void 0,
|
|
3492
|
+
m.addGetterSetter(k, "fillRule", void 0, Vt());
|
|
3493
3493
|
m.backCompat(k, {
|
|
3494
3494
|
dashArray: "dash",
|
|
3495
3495
|
getDashArray: "getDash",
|
|
@@ -3508,7 +3508,7 @@ const Rr = "beforeDraw", Ir = "draw", Jn = [
|
|
|
3508
3508
|
{ x: 1, y: 1 },
|
|
3509
3509
|
{ x: -1, y: 1 }
|
|
3510
3510
|
], Dr = Jn.length;
|
|
3511
|
-
class
|
|
3511
|
+
class Wt extends ht {
|
|
3512
3512
|
constructor(t) {
|
|
3513
3513
|
super(t), this.canvas = new Et(), this.hitCanvas = new Pi({
|
|
3514
3514
|
pixelRatio: 1
|
|
@@ -3685,18 +3685,18 @@ class Vt extends ht {
|
|
|
3685
3685
|
return C.releaseCanvas(this.getNativeCanvasElement(), this.getHitCanvas()._canvas), super.destroy();
|
|
3686
3686
|
}
|
|
3687
3687
|
}
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
m.addGetterSetter(
|
|
3691
|
-
m.addGetterSetter(
|
|
3692
|
-
m.addGetterSetter(
|
|
3693
|
-
class Ai extends
|
|
3688
|
+
Wt.prototype.nodeType = "Layer";
|
|
3689
|
+
tt(Wt);
|
|
3690
|
+
m.addGetterSetter(Wt, "imageSmoothingEnabled", !0);
|
|
3691
|
+
m.addGetterSetter(Wt, "clearBeforeDraw", !0);
|
|
3692
|
+
m.addGetterSetter(Wt, "hitGraphEnabled", !0, ft());
|
|
3693
|
+
class Ai extends Wt {
|
|
3694
3694
|
constructor(t) {
|
|
3695
3695
|
super(t), this.listening(!1), C.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.');
|
|
3696
3696
|
}
|
|
3697
3697
|
}
|
|
3698
3698
|
Ai.prototype.nodeType = "FastLayer";
|
|
3699
|
-
|
|
3699
|
+
tt(Ai);
|
|
3700
3700
|
class Jt extends ht {
|
|
3701
3701
|
_validateAdd(t) {
|
|
3702
3702
|
const e = t.getType();
|
|
@@ -3704,7 +3704,7 @@ class Jt extends ht {
|
|
|
3704
3704
|
}
|
|
3705
3705
|
}
|
|
3706
3706
|
Jt.prototype.nodeType = "Group";
|
|
3707
|
-
|
|
3707
|
+
tt(Jt);
|
|
3708
3708
|
const Je = function() {
|
|
3709
3709
|
return zt.performance && zt.performance.now ? function() {
|
|
3710
3710
|
return zt.performance.now();
|
|
@@ -3846,7 +3846,7 @@ class Hr {
|
|
|
3846
3846
|
return (/* @__PURE__ */ new Date()).getTime();
|
|
3847
3847
|
}
|
|
3848
3848
|
}
|
|
3849
|
-
class
|
|
3849
|
+
class Z {
|
|
3850
3850
|
constructor(t) {
|
|
3851
3851
|
const e = this, i = t.node, n = i._id, s = t.easing || Se.Linear, a = !!t.yoyo;
|
|
3852
3852
|
let o, l;
|
|
@@ -3856,7 +3856,7 @@ class j {
|
|
|
3856
3856
|
e.tween.onEnterFrame();
|
|
3857
3857
|
}, h), this.tween = new Hr(l, function(c) {
|
|
3858
3858
|
e._tweenFunc(c);
|
|
3859
|
-
}, s, 0, 1, o * 1e3, a), this._addListeners(),
|
|
3859
|
+
}, s, 0, 1, o * 1e3, a), this._addListeners(), Z.attrs[n] || (Z.attrs[n] = {}), Z.attrs[n][this._id] || (Z.attrs[n][this._id] = {}), Z.tweens[n] || (Z.tweens[n] = {});
|
|
3860
3860
|
for (l in t)
|
|
3861
3861
|
Gr[l] === void 0 && this._addAttr(l, t[l]);
|
|
3862
3862
|
this.reset(), this.onFinish = t.onFinish, this.onReset = t.onReset, this.onUpdate = t.onUpdate;
|
|
@@ -3864,8 +3864,8 @@ class j {
|
|
|
3864
3864
|
_addAttr(t, e) {
|
|
3865
3865
|
const i = this.node, n = i._id;
|
|
3866
3866
|
let s, a, o, l, h;
|
|
3867
|
-
const c =
|
|
3868
|
-
c && delete
|
|
3867
|
+
const c = Z.tweens[n][t];
|
|
3868
|
+
c && delete Z.attrs[n][c][t];
|
|
3869
3869
|
let d = i.getAttr(t);
|
|
3870
3870
|
if (C._isArray(e))
|
|
3871
3871
|
if (s = [], a = Math.max(e.length, d.length), t === "points" && e.length !== d.length && (e.length > d.length ? (l = d, d = C._prepareArrayForTween(d, e, i.closed())) : (o = e, e = C._prepareArrayForTween(e, d, i.closed()))), t.indexOf("fill") === 0)
|
|
@@ -3890,16 +3890,16 @@ class j {
|
|
|
3890
3890
|
b: h.b - d.b,
|
|
3891
3891
|
a: h.a - d.a
|
|
3892
3892
|
}) : s = e - d;
|
|
3893
|
-
|
|
3893
|
+
Z.attrs[n][this._id][t] = {
|
|
3894
3894
|
start: d,
|
|
3895
3895
|
diff: s,
|
|
3896
3896
|
end: e,
|
|
3897
3897
|
trueEnd: o,
|
|
3898
3898
|
trueStart: l
|
|
3899
|
-
},
|
|
3899
|
+
}, Z.tweens[n][t] = this._id;
|
|
3900
3900
|
}
|
|
3901
3901
|
_tweenFunc(t) {
|
|
3902
|
-
const e = this.node, i =
|
|
3902
|
+
const e = this.node, i = Z.attrs[e._id][this._id];
|
|
3903
3903
|
let n, s, a, o, l, h, c, d;
|
|
3904
3904
|
for (n in i) {
|
|
3905
3905
|
if (s = i[n], a = s.start, o = s.diff, d = s.end, C._isArray(a))
|
|
@@ -3921,10 +3921,10 @@ class j {
|
|
|
3921
3921
|
}, this.tween.onPause = () => {
|
|
3922
3922
|
this.anim.stop();
|
|
3923
3923
|
}, this.tween.onFinish = () => {
|
|
3924
|
-
const t = this.node, e =
|
|
3924
|
+
const t = this.node, e = Z.attrs[t._id][this._id];
|
|
3925
3925
|
e.points && e.points.trueEnd && t.setAttr("points", e.points.trueEnd), this.onFinish && this.onFinish.call(this);
|
|
3926
3926
|
}, this.tween.onReset = () => {
|
|
3927
|
-
const t = this.node, e =
|
|
3927
|
+
const t = this.node, e = Z.attrs[t._id][this._id];
|
|
3928
3928
|
e.points && e.points.trueStart && t.points(e.points.trueStart), this.onReset && this.onReset();
|
|
3929
3929
|
}, this.tween.onUpdate = () => {
|
|
3930
3930
|
this.onUpdate && this.onUpdate.call(this);
|
|
@@ -3949,20 +3949,20 @@ class j {
|
|
|
3949
3949
|
return this.tween.finish(), this;
|
|
3950
3950
|
}
|
|
3951
3951
|
destroy() {
|
|
3952
|
-
const t = this.node._id, e = this._id, i =
|
|
3952
|
+
const t = this.node._id, e = this._id, i = Z.tweens[t];
|
|
3953
3953
|
this.pause(), this.anim && this.anim.stop();
|
|
3954
3954
|
for (const n in i)
|
|
3955
|
-
delete
|
|
3956
|
-
delete
|
|
3955
|
+
delete Z.tweens[t][n];
|
|
3956
|
+
delete Z.attrs[t][e], Z.tweens[t] && (Object.keys(Z.tweens[t]).length === 0 && delete Z.tweens[t], Object.keys(Z.attrs[t]).length === 0 && delete Z.attrs[t]);
|
|
3957
3957
|
}
|
|
3958
3958
|
}
|
|
3959
|
-
|
|
3960
|
-
|
|
3959
|
+
Z.attrs = {};
|
|
3960
|
+
Z.tweens = {};
|
|
3961
3961
|
_.prototype.to = function(r) {
|
|
3962
3962
|
const t = r.onFinish;
|
|
3963
3963
|
r.node = this, r.onFinish = function() {
|
|
3964
3964
|
this.destroy(), t && t();
|
|
3965
|
-
}, new
|
|
3965
|
+
}, new Z(r).play();
|
|
3966
3966
|
};
|
|
3967
3967
|
const Se = {
|
|
3968
3968
|
BackEaseIn(r, t, e, i) {
|
|
@@ -4024,14 +4024,14 @@ const Se = {
|
|
|
4024
4024
|
Container: ht,
|
|
4025
4025
|
Stage: $e,
|
|
4026
4026
|
stages: me,
|
|
4027
|
-
Layer:
|
|
4027
|
+
Layer: Wt,
|
|
4028
4028
|
FastLayer: Ai,
|
|
4029
4029
|
Group: Jt,
|
|
4030
4030
|
DD: Y,
|
|
4031
4031
|
Shape: k,
|
|
4032
4032
|
shapes: ye,
|
|
4033
4033
|
Animation: dt,
|
|
4034
|
-
Tween:
|
|
4034
|
+
Tween: Z,
|
|
4035
4035
|
Easings: Se,
|
|
4036
4036
|
Context: Xe,
|
|
4037
4037
|
Canvas: _i
|
|
@@ -4071,7 +4071,7 @@ wt.prototype._attrsAffectingSize = [
|
|
|
4071
4071
|
"angle",
|
|
4072
4072
|
"clockwise"
|
|
4073
4073
|
];
|
|
4074
|
-
|
|
4074
|
+
tt(wt);
|
|
4075
4075
|
m.addGetterSetter(wt, "innerRadius", 0, x());
|
|
4076
4076
|
m.addGetterSetter(wt, "outerRadius", 0, x());
|
|
4077
4077
|
m.addGetterSetter(wt, "angle", 0, x());
|
|
@@ -4194,7 +4194,7 @@ class kt extends k {
|
|
|
4194
4194
|
}
|
|
4195
4195
|
kt.prototype.className = "Line";
|
|
4196
4196
|
kt.prototype._attrsAffectingSize = ["points", "bezier", "tension"];
|
|
4197
|
-
|
|
4197
|
+
tt(kt);
|
|
4198
4198
|
m.addGetterSetter(kt, "closed", !1);
|
|
4199
4199
|
m.addGetterSetter(kt, "bezier", !1);
|
|
4200
4200
|
m.addGetterSetter(kt, "tension", 0, x());
|
|
@@ -4892,12 +4892,12 @@ const Nr = [
|
|
|
4892
4892
|
0.0123412297999872,
|
|
4893
4893
|
0.0123412297999872
|
|
4894
4894
|
]
|
|
4895
|
-
],
|
|
4895
|
+
], Vr = [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]], ji = (r, t, e) => {
|
|
4896
4896
|
let i, n;
|
|
4897
4897
|
const a = e / 2;
|
|
4898
4898
|
i = 0;
|
|
4899
4899
|
for (let o = 0; o < 20; o++)
|
|
4900
|
-
n = a * Nr[20][o] + a, i += Fr[20][o] *
|
|
4900
|
+
n = a * Nr[20][o] + a, i += Fr[20][o] * Wr(r, t, n);
|
|
4901
4901
|
return a * i;
|
|
4902
4902
|
}, Zi = (r, t, e) => {
|
|
4903
4903
|
e === void 0 && (e = 1);
|
|
@@ -4907,7 +4907,7 @@ const Nr = [
|
|
|
4907
4907
|
const c = l / (2 * o), d = h / o, u = e + c, p = d - c * c, g = u * u + p > 0 ? Math.sqrt(u * u + p) : 0, y = c * c + p > 0 ? Math.sqrt(c * c + p) : 0, T = c + Math.sqrt(c * c + p) !== 0 ? p * Math.log(Math.abs((u + g) / (c + y))) : 0;
|
|
4908
4908
|
return Math.sqrt(o) / 2 * (u * g - c * y + T);
|
|
4909
4909
|
};
|
|
4910
|
-
function
|
|
4910
|
+
function Wr(r, t, e) {
|
|
4911
4911
|
const i = pi(1, e, r), n = pi(1, e, t), s = i * i + n * n;
|
|
4912
4912
|
return Math.sqrt(s);
|
|
4913
4913
|
}
|
|
@@ -4919,7 +4919,7 @@ const pi = (r, t, e) => {
|
|
|
4919
4919
|
if (r === 0) {
|
|
4920
4920
|
s = 0;
|
|
4921
4921
|
for (let a = 0; a <= i; a++)
|
|
4922
|
-
s +=
|
|
4922
|
+
s += Vr[i][a] * Math.pow(1 - t, i - a) * Math.pow(t, a) * e[a];
|
|
4923
4923
|
return s;
|
|
4924
4924
|
} else {
|
|
4925
4925
|
n = new Array(i);
|
|
@@ -4942,14 +4942,14 @@ const pi = (r, t, e) => {
|
|
|
4942
4942
|
}
|
|
4943
4943
|
return n;
|
|
4944
4944
|
};
|
|
4945
|
-
class
|
|
4945
|
+
class J extends k {
|
|
4946
4946
|
constructor(t) {
|
|
4947
4947
|
super(t), this.dataArray = [], this.pathLength = 0, this._readDataAttribute(), this.on("dataChange.konva", function() {
|
|
4948
4948
|
this._readDataAttribute();
|
|
4949
4949
|
});
|
|
4950
4950
|
}
|
|
4951
4951
|
_readDataAttribute() {
|
|
4952
|
-
this.dataArray =
|
|
4952
|
+
this.dataArray = J.parsePathData(this.data()), this.pathLength = J.getPathLength(this.dataArray);
|
|
4953
4953
|
}
|
|
4954
4954
|
_sceneFunc(t) {
|
|
4955
4955
|
const e = this.dataArray;
|
|
@@ -4989,17 +4989,17 @@ class Z extends k {
|
|
|
4989
4989
|
let u = Math.PI / 180;
|
|
4990
4990
|
if (Math.abs(h - d) < u && (u = Math.abs(h - d)), c < 0)
|
|
4991
4991
|
for (let p = h - u; p > d; p -= u) {
|
|
4992
|
-
const g =
|
|
4992
|
+
const g = J.getPointOnEllipticalArc(l.points[0], l.points[1], l.points[2], l.points[3], p, 0);
|
|
4993
4993
|
t.push(g.x, g.y);
|
|
4994
4994
|
}
|
|
4995
4995
|
else
|
|
4996
4996
|
for (let p = h + u; p < d; p += u) {
|
|
4997
|
-
const g =
|
|
4997
|
+
const g = J.getPointOnEllipticalArc(l.points[0], l.points[1], l.points[2], l.points[3], p, 0);
|
|
4998
4998
|
t.push(g.x, g.y);
|
|
4999
4999
|
}
|
|
5000
5000
|
} else if (l.command === "C")
|
|
5001
5001
|
for (let h = 0; h <= 1; h += 0.01) {
|
|
5002
|
-
const c =
|
|
5002
|
+
const c = J.getPointOnCubicBezier(h, l.start.x, l.start.y, l.points[0], l.points[1], l.points[2], l.points[3], l.points[4], l.points[5]);
|
|
5003
5003
|
t.push(c.x, c.y);
|
|
5004
5004
|
}
|
|
5005
5005
|
else
|
|
@@ -5019,7 +5019,7 @@ class Z extends k {
|
|
|
5019
5019
|
return this.pathLength;
|
|
5020
5020
|
}
|
|
5021
5021
|
getPointAtLength(t) {
|
|
5022
|
-
return
|
|
5022
|
+
return J.getPointAtLengthOfDataArray(t, this.dataArray);
|
|
5023
5023
|
}
|
|
5024
5024
|
static getLineLength(t, e, i, n) {
|
|
5025
5025
|
return Math.sqrt((i - t) * (i - t) + (n - e) * (n - e));
|
|
@@ -5052,15 +5052,15 @@ class Z extends k {
|
|
|
5052
5052
|
const a = e[n], o = a.points;
|
|
5053
5053
|
switch (a.command) {
|
|
5054
5054
|
case "L":
|
|
5055
|
-
return
|
|
5055
|
+
return J.getPointOnLine(t, a.start.x, a.start.y, o[0], o[1]);
|
|
5056
5056
|
case "C":
|
|
5057
|
-
return
|
|
5057
|
+
return J.getPointOnCubicBezier(Ji(t, J.getPathLength(e), (y) => ji([a.start.x, o[0], o[2], o[4]], [a.start.y, o[1], o[3], o[5]], y)), a.start.x, a.start.y, o[0], o[1], o[2], o[3], o[4], o[5]);
|
|
5058
5058
|
case "Q":
|
|
5059
|
-
return
|
|
5059
|
+
return J.getPointOnQuadraticBezier(Ji(t, J.getPathLength(e), (y) => Zi([a.start.x, o[0], o[2]], [a.start.y, o[1], o[3]], y)), a.start.x, a.start.y, o[0], o[1], o[2], o[3]);
|
|
5060
5060
|
case "A":
|
|
5061
5061
|
const l = o[0], h = o[1], c = o[2], d = o[3], u = o[5], p = o[6];
|
|
5062
5062
|
let g = o[4];
|
|
5063
|
-
return g += u * t / a.pathLength,
|
|
5063
|
+
return g += u * t / a.pathLength, J.getPointOnEllipticalArc(l, h, c, d, g, p);
|
|
5064
5064
|
}
|
|
5065
5065
|
return null;
|
|
5066
5066
|
}
|
|
@@ -5194,7 +5194,7 @@ class Z extends k {
|
|
|
5194
5194
|
for (; g.length > 0 && !isNaN(g[0]); ) {
|
|
5195
5195
|
let T = "", S = [];
|
|
5196
5196
|
const v = o, b = l;
|
|
5197
|
-
let w, L, P, I, A, D, z,
|
|
5197
|
+
let w, L, P, I, A, D, z, V, B, W;
|
|
5198
5198
|
switch (p) {
|
|
5199
5199
|
case "l":
|
|
5200
5200
|
o += g.shift(), l += g.shift(), T = "L", S.push(o, l);
|
|
@@ -5253,10 +5253,10 @@ class Z extends k {
|
|
|
5253
5253
|
L = o, P = l, w = s[s.length - 1], w.command === "Q" && (L = o + (o - w.points[0]), P = l + (l - w.points[1])), o += g.shift(), l += g.shift(), T = "Q", S.push(L, P, o, l);
|
|
5254
5254
|
break;
|
|
5255
5255
|
case "A":
|
|
5256
|
-
I = g.shift(), A = g.shift(), D = g.shift(), z = g.shift(),
|
|
5256
|
+
I = g.shift(), A = g.shift(), D = g.shift(), z = g.shift(), V = g.shift(), B = o, W = l, o = g.shift(), l = g.shift(), T = "A", S = this.convertEndpointToCenterParameterization(B, W, o, l, z, V, I, A, D);
|
|
5257
5257
|
break;
|
|
5258
5258
|
case "a":
|
|
5259
|
-
I = g.shift(), A = g.shift(), D = g.shift(), z = g.shift(),
|
|
5259
|
+
I = g.shift(), A = g.shift(), D = g.shift(), z = g.shift(), V = g.shift(), B = o, W = l, o += g.shift(), l += g.shift(), T = "A", S = this.convertEndpointToCenterParameterization(B, W, o, l, z, V, I, A, D);
|
|
5260
5260
|
break;
|
|
5261
5261
|
}
|
|
5262
5262
|
s.push({
|
|
@@ -5280,7 +5280,7 @@ class Z extends k {
|
|
|
5280
5280
|
}
|
|
5281
5281
|
static calcLength(t, e, i, n) {
|
|
5282
5282
|
let s, a, o, l;
|
|
5283
|
-
const h =
|
|
5283
|
+
const h = J;
|
|
5284
5284
|
switch (i) {
|
|
5285
5285
|
case "L":
|
|
5286
5286
|
return h.getLineLength(t, e, n[0], n[1]);
|
|
@@ -5309,19 +5309,19 @@ class Z extends k {
|
|
|
5309
5309
|
s === a && (g *= -1), isNaN(g) && (g = 0);
|
|
5310
5310
|
const y = g * o * u / l, T = g * -l * d / o, S = (t + i) / 2 + Math.cos(c) * y - Math.sin(c) * T, v = (e + n) / 2 + Math.sin(c) * y + Math.cos(c) * T, b = function(z) {
|
|
5311
5311
|
return Math.sqrt(z[0] * z[0] + z[1] * z[1]);
|
|
5312
|
-
}, w = function(z,
|
|
5313
|
-
return (z[0] *
|
|
5314
|
-
}, L = function(z,
|
|
5315
|
-
return (z[0] *
|
|
5312
|
+
}, w = function(z, V) {
|
|
5313
|
+
return (z[0] * V[0] + z[1] * V[1]) / (b(z) * b(V));
|
|
5314
|
+
}, L = function(z, V) {
|
|
5315
|
+
return (z[0] * V[1] < z[1] * V[0] ? -1 : 1) * Math.acos(w(z, V));
|
|
5316
5316
|
}, P = L([1, 0], [(d - y) / o, (u - T) / l]), I = [(d - y) / o, (u - T) / l], A = [(-1 * d - y) / o, (-1 * u - T) / l];
|
|
5317
5317
|
let D = L(I, A);
|
|
5318
5318
|
return w(I, A) <= -1 && (D = Math.PI), w(I, A) >= 1 && (D = 0), a === 0 && D > 0 && (D = D - 2 * Math.PI), a === 1 && D < 0 && (D = D + 2 * Math.PI), [S, v, o, l, P, D, c, a];
|
|
5319
5319
|
}
|
|
5320
5320
|
}
|
|
5321
|
-
|
|
5322
|
-
|
|
5323
|
-
|
|
5324
|
-
m.addGetterSetter(
|
|
5321
|
+
J.prototype.className = "Path";
|
|
5322
|
+
J.prototype._attrsAffectingSize = ["data"];
|
|
5323
|
+
tt(J);
|
|
5324
|
+
m.addGetterSetter(J, "data");
|
|
5325
5325
|
class Yt extends kt {
|
|
5326
5326
|
_sceneFunc(t) {
|
|
5327
5327
|
super._sceneFunc(t);
|
|
@@ -5339,7 +5339,7 @@ class Yt extends kt {
|
|
|
5339
5339
|
n[n.length - 1],
|
|
5340
5340
|
i[o - 2],
|
|
5341
5341
|
i[o - 1]
|
|
5342
|
-
], p =
|
|
5342
|
+
], p = J.calcLength(n[n.length - 4], n[n.length - 3], "C", u), g = J.getPointOnQuadraticBezier(Math.min(1, 1 - a / p), u[0], u[1], u[2], u[3], u[4], u[5]);
|
|
5343
5343
|
l = i[o - 2] - g.x, h = i[o - 1] - g.y;
|
|
5344
5344
|
} else
|
|
5345
5345
|
l = i[o - 2] - i[o - 4], h = i[o - 1] - i[o - 3];
|
|
@@ -5361,7 +5361,7 @@ class Yt extends kt {
|
|
|
5361
5361
|
}
|
|
5362
5362
|
}
|
|
5363
5363
|
Yt.prototype.className = "Arrow";
|
|
5364
|
-
|
|
5364
|
+
tt(Yt);
|
|
5365
5365
|
m.addGetterSetter(Yt, "pointerLength", 10, x());
|
|
5366
5366
|
m.addGetterSetter(Yt, "pointerWidth", 10, x());
|
|
5367
5367
|
m.addGetterSetter(Yt, "pointerAtBeginning", !1);
|
|
@@ -5386,7 +5386,7 @@ class Qt extends k {
|
|
|
5386
5386
|
Qt.prototype._centroid = !0;
|
|
5387
5387
|
Qt.prototype.className = "Circle";
|
|
5388
5388
|
Qt.prototype._attrsAffectingSize = ["radius"];
|
|
5389
|
-
|
|
5389
|
+
tt(Qt);
|
|
5390
5390
|
m.addGetterSetter(Qt, "radius", 0, x());
|
|
5391
5391
|
class Rt extends k {
|
|
5392
5392
|
_sceneFunc(t) {
|
|
@@ -5409,7 +5409,7 @@ class Rt extends k {
|
|
|
5409
5409
|
Rt.prototype.className = "Ellipse";
|
|
5410
5410
|
Rt.prototype._centroid = !0;
|
|
5411
5411
|
Rt.prototype._attrsAffectingSize = ["radiusX", "radiusY"];
|
|
5412
|
-
|
|
5412
|
+
tt(Rt);
|
|
5413
5413
|
m.addComponentsGetterSetter(Rt, "radius", ["x", "y"]);
|
|
5414
5414
|
m.addGetterSetter(Rt, "radiusX", 0, x());
|
|
5415
5415
|
m.addGetterSetter(Rt, "radiusY", 0, x());
|
|
@@ -5478,7 +5478,7 @@ let gt = class Qn extends k {
|
|
|
5478
5478
|
};
|
|
5479
5479
|
gt.prototype.className = "Image";
|
|
5480
5480
|
gt.prototype._attrsAffectingSize = ["image"];
|
|
5481
|
-
|
|
5481
|
+
tt(gt);
|
|
5482
5482
|
m.addGetterSetter(gt, "cornerRadius", 0, Ue(4));
|
|
5483
5483
|
m.addGetterSetter(gt, "image");
|
|
5484
5484
|
m.addComponentsGetterSetter(gt, "crop", ["x", "y", "width", "height"]);
|
|
@@ -5555,7 +5555,7 @@ class Li extends Jt {
|
|
|
5555
5555
|
}
|
|
5556
5556
|
}
|
|
5557
5557
|
Li.prototype.className = "Label";
|
|
5558
|
-
|
|
5558
|
+
tt(Li);
|
|
5559
5559
|
class Xt extends k {
|
|
5560
5560
|
_sceneFunc(t) {
|
|
5561
5561
|
const e = this.width(), i = this.height(), n = this.pointerDirection(), s = this.pointerWidth(), a = this.pointerHeight(), o = this.cornerRadius();
|
|
@@ -5573,7 +5573,7 @@ class Xt extends k {
|
|
|
5573
5573
|
}
|
|
5574
5574
|
}
|
|
5575
5575
|
Xt.prototype.className = "Tag";
|
|
5576
|
-
|
|
5576
|
+
tt(Xt);
|
|
5577
5577
|
m.addGetterSetter(Xt, "pointerDirection", Xr);
|
|
5578
5578
|
m.addGetterSetter(Xt, "pointerWidth", 0, x());
|
|
5579
5579
|
m.addGetterSetter(Xt, "pointerHeight", 0, x());
|
|
@@ -5585,7 +5585,7 @@ class be extends k {
|
|
|
5585
5585
|
}
|
|
5586
5586
|
}
|
|
5587
5587
|
be.prototype.className = "Rect";
|
|
5588
|
-
|
|
5588
|
+
tt(be);
|
|
5589
5589
|
m.addGetterSetter(be, "cornerRadius", 0, Ue(4));
|
|
5590
5590
|
class It extends k {
|
|
5591
5591
|
_sceneFunc(t) {
|
|
@@ -5636,7 +5636,7 @@ class It extends k {
|
|
|
5636
5636
|
It.prototype.className = "RegularPolygon";
|
|
5637
5637
|
It.prototype._centroid = !0;
|
|
5638
5638
|
It.prototype._attrsAffectingSize = ["radius"];
|
|
5639
|
-
|
|
5639
|
+
tt(It);
|
|
5640
5640
|
m.addGetterSetter(It, "radius", 0, x());
|
|
5641
5641
|
m.addGetterSetter(It, "sides", 0, x());
|
|
5642
5642
|
m.addGetterSetter(It, "cornerRadius", 0, Ue(4));
|
|
@@ -5661,7 +5661,7 @@ class Ut extends k {
|
|
|
5661
5661
|
Ut.prototype.className = "Ring";
|
|
5662
5662
|
Ut.prototype._centroid = !0;
|
|
5663
5663
|
Ut.prototype._attrsAffectingSize = ["innerRadius", "outerRadius"];
|
|
5664
|
-
|
|
5664
|
+
tt(Ut);
|
|
5665
5665
|
m.addGetterSetter(Ut, "innerRadius", 0, x());
|
|
5666
5666
|
m.addGetterSetter(Ut, "outerRadius", 0, x());
|
|
5667
5667
|
class St extends k {
|
|
@@ -5722,7 +5722,7 @@ class St extends k {
|
|
|
5722
5722
|
}
|
|
5723
5723
|
}
|
|
5724
5724
|
St.prototype.className = "Sprite";
|
|
5725
|
-
|
|
5725
|
+
tt(St);
|
|
5726
5726
|
m.addGetterSetter(St, "animation");
|
|
5727
5727
|
m.addGetterSetter(St, "animations");
|
|
5728
5728
|
m.addGetterSetter(St, "frameOffsets");
|
|
@@ -5760,7 +5760,7 @@ class Dt extends k {
|
|
|
5760
5760
|
Dt.prototype.className = "Star";
|
|
5761
5761
|
Dt.prototype._centroid = !0;
|
|
5762
5762
|
Dt.prototype._attrsAffectingSize = ["innerRadius", "outerRadius"];
|
|
5763
|
-
|
|
5763
|
+
tt(Dt);
|
|
5764
5764
|
m.addGetterSetter(Dt, "numPoints", 5, x());
|
|
5765
5765
|
m.addGetterSetter(Dt, "innerRadius", 0, x());
|
|
5766
5766
|
m.addGetterSetter(Dt, "outerRadius", 0, x());
|
|
@@ -5810,7 +5810,7 @@ function oa(r) {
|
|
|
5810
5810
|
function la(r) {
|
|
5811
5811
|
return r = r || {}, !r.fillLinearGradientColorStops && !r.fillRadialGradientColorStops && !r.fillPatternImage && (r.fill = r.fill || "black"), r;
|
|
5812
5812
|
}
|
|
5813
|
-
class
|
|
5813
|
+
class Q extends k {
|
|
5814
5814
|
constructor(t) {
|
|
5815
5815
|
super(la(t)), this._partialTextX = 0, this._partialTextY = 0;
|
|
5816
5816
|
for (let e = 0; e < sa; e++)
|
|
@@ -5833,32 +5833,32 @@ class J extends k {
|
|
|
5833
5833
|
}
|
|
5834
5834
|
for (c === nn && t.setAttr("direction", c), t.setAttr("font", this._getContextFont()), t.setAttr("textBaseline", I), t.setAttr("textAlign", is), h === en ? d = (this.getHeight() - s * l - a * 2) / 2 : h === Qr && (d = this.getHeight() - s * l - a * 2), t.translate(a, d + a), L = 0; L < s; L++) {
|
|
5835
5835
|
let A = 0, D = 0;
|
|
5836
|
-
const z = n[L],
|
|
5836
|
+
const z = n[L], V = z.text, B = z.width, W = z.lastInParagraph;
|
|
5837
5837
|
if (t.save(), u === ea ? A += p - B - a * 2 : u === $r && (A += (p - B - a * 2) / 2), b) {
|
|
5838
5838
|
t.save(), t.beginPath();
|
|
5839
|
-
const H = v ?? (E.legacyTextRendering ? Math.round(o / 2) : Math.round(o / 4)), M = A,
|
|
5840
|
-
t.moveTo(M,
|
|
5841
|
-
const G = u === se && !
|
|
5842
|
-
t.lineTo(M + Math.round(G),
|
|
5843
|
-
const
|
|
5844
|
-
t.strokeStyle =
|
|
5839
|
+
const H = v ?? (E.legacyTextRendering ? Math.round(o / 2) : Math.round(o / 4)), M = A, j = P + D + H;
|
|
5840
|
+
t.moveTo(M, j);
|
|
5841
|
+
const G = u === se && !W ? p - a * 2 : B;
|
|
5842
|
+
t.lineTo(M + Math.round(G), j), t.lineWidth = o / 15;
|
|
5843
|
+
const q = this._getLinearGradient();
|
|
5844
|
+
t.strokeStyle = q || T, t.stroke(), t.restore();
|
|
5845
5845
|
}
|
|
5846
5846
|
const N = A;
|
|
5847
5847
|
if (c !== nn && (g !== 0 || u === se || y)) {
|
|
5848
|
-
const H =
|
|
5849
|
-
for (let
|
|
5850
|
-
const G = M[
|
|
5851
|
-
if (G === " " && !
|
|
5848
|
+
const H = V.split(" ").length - 1, M = xt(V);
|
|
5849
|
+
for (let j = 0; j < M.length; j++) {
|
|
5850
|
+
const G = M[j];
|
|
5851
|
+
if (G === " " && !W && u === se && (A += (p - a * 2 - B) / H), this._partialTextX = A, this._partialTextY = P + D, this._partialText = G, y) {
|
|
5852
5852
|
t.save();
|
|
5853
|
-
const
|
|
5853
|
+
const nt = n.slice(0, L).reduce((et, ot) => et + xt(ot.text).length, 0), U = j + nt;
|
|
5854
5854
|
y({
|
|
5855
5855
|
char: G,
|
|
5856
5856
|
index: U,
|
|
5857
5857
|
x: A,
|
|
5858
5858
|
y: P + D,
|
|
5859
5859
|
lineIndex: L,
|
|
5860
|
-
column:
|
|
5861
|
-
isLastInLine:
|
|
5860
|
+
column: j,
|
|
5861
|
+
isLastInLine: W,
|
|
5862
5862
|
width: this.measureSize(G).width,
|
|
5863
5863
|
context: t
|
|
5864
5864
|
});
|
|
@@ -5866,13 +5866,13 @@ class J extends k {
|
|
|
5866
5866
|
t.fillStrokeShape(this), y && t.restore(), A += this.measureSize(G).width + g;
|
|
5867
5867
|
}
|
|
5868
5868
|
} else
|
|
5869
|
-
g !== 0 && t.setAttr("letterSpacing", `${g}px`), this._partialTextX = A, this._partialTextY = P + D, this._partialText =
|
|
5869
|
+
g !== 0 && t.setAttr("letterSpacing", `${g}px`), this._partialTextX = A, this._partialTextY = P + D, this._partialText = V, t.fillStrokeShape(this);
|
|
5870
5870
|
if (w) {
|
|
5871
5871
|
t.save(), t.beginPath();
|
|
5872
5872
|
const H = E.legacyTextRendering ? 0 : -Math.round(o / 4), M = N;
|
|
5873
5873
|
t.moveTo(M, P + D + H);
|
|
5874
|
-
const
|
|
5875
|
-
t.lineTo(M + Math.round(
|
|
5874
|
+
const j = u === se && !W ? p - a * 2 : B;
|
|
5875
|
+
t.lineTo(M + Math.round(j), P + D + H), t.lineWidth = o / 15;
|
|
5876
5876
|
const G = this._getLinearGradient();
|
|
5877
5877
|
t.strokeStyle = G || T, t.stroke(), t.restore();
|
|
5878
5878
|
}
|
|
@@ -5947,18 +5947,18 @@ class J extends k {
|
|
|
5947
5947
|
for (; w.length > 0; ) {
|
|
5948
5948
|
let P = 0, I = xt(w).length, A = "", D = 0;
|
|
5949
5949
|
for (; P < I; ) {
|
|
5950
|
-
const z = P + I >>> 1,
|
|
5951
|
-
(T && l && u + n > d ?
|
|
5950
|
+
const z = P + I >>> 1, V = xt(w), B = V.slice(0, z + 1).join(""), W = this._getTextWidth(B);
|
|
5951
|
+
(T && l && u + n > d ? W + S : W) <= c ? (P = z + 1, A = B, D = W) : I = z;
|
|
5952
5952
|
}
|
|
5953
5953
|
if (A) {
|
|
5954
5954
|
if (y) {
|
|
5955
|
-
const B = xt(w),
|
|
5955
|
+
const B = xt(w), W = xt(A), N = B[W.length], H = N === Re || N === tn;
|
|
5956
5956
|
let M;
|
|
5957
5957
|
if (H && D <= c)
|
|
5958
|
-
M =
|
|
5958
|
+
M = W.length;
|
|
5959
5959
|
else {
|
|
5960
|
-
const
|
|
5961
|
-
M = Math.max(
|
|
5960
|
+
const j = W.lastIndexOf(Re), G = W.lastIndexOf(tn);
|
|
5961
|
+
M = Math.max(j, G) + 1;
|
|
5962
5962
|
}
|
|
5963
5963
|
M > 0 && (P = M, A = B.slice(0, P).join(""), D = this._getTextWidth(A));
|
|
5964
5964
|
}
|
|
@@ -5996,10 +5996,10 @@ class J extends k {
|
|
|
5996
5996
|
return t && e ? !0 : super._useBufferCanvas();
|
|
5997
5997
|
}
|
|
5998
5998
|
}
|
|
5999
|
-
|
|
6000
|
-
|
|
6001
|
-
|
|
6002
|
-
|
|
5999
|
+
Q.prototype._fillFunc = aa;
|
|
6000
|
+
Q.prototype._strokeFunc = oa;
|
|
6001
|
+
Q.prototype.className = Zr;
|
|
6002
|
+
Q.prototype._attrsAffectingSize = [
|
|
6003
6003
|
"text",
|
|
6004
6004
|
"fontSize",
|
|
6005
6005
|
"padding",
|
|
@@ -6007,25 +6007,25 @@ J.prototype._attrsAffectingSize = [
|
|
|
6007
6007
|
"lineHeight",
|
|
6008
6008
|
"letterSpacing"
|
|
6009
6009
|
];
|
|
6010
|
-
Q
|
|
6011
|
-
m.overWriteSetter(
|
|
6012
|
-
m.overWriteSetter(
|
|
6013
|
-
m.addGetterSetter(
|
|
6014
|
-
m.addGetterSetter(
|
|
6015
|
-
m.addGetterSetter(
|
|
6016
|
-
m.addGetterSetter(
|
|
6017
|
-
m.addGetterSetter(
|
|
6018
|
-
m.addGetterSetter(
|
|
6019
|
-
m.addGetterSetter(
|
|
6020
|
-
m.addGetterSetter(
|
|
6021
|
-
m.addGetterSetter(
|
|
6022
|
-
m.addGetterSetter(
|
|
6023
|
-
m.addGetterSetter(
|
|
6024
|
-
m.addGetterSetter(
|
|
6025
|
-
m.addGetterSetter(
|
|
6026
|
-
m.addGetterSetter(
|
|
6027
|
-
m.addGetterSetter(
|
|
6028
|
-
m.addGetterSetter(
|
|
6010
|
+
tt(Q);
|
|
6011
|
+
m.overWriteSetter(Q, "width", xi());
|
|
6012
|
+
m.overWriteSetter(Q, "height", xi());
|
|
6013
|
+
m.addGetterSetter(Q, "direction", es);
|
|
6014
|
+
m.addGetterSetter(Q, "fontFamily", "Arial");
|
|
6015
|
+
m.addGetterSetter(Q, "fontSize", 12, x());
|
|
6016
|
+
m.addGetterSetter(Q, "fontStyle", ns);
|
|
6017
|
+
m.addGetterSetter(Q, "fontVariant", ns);
|
|
6018
|
+
m.addGetterSetter(Q, "padding", 0, x());
|
|
6019
|
+
m.addGetterSetter(Q, "align", is);
|
|
6020
|
+
m.addGetterSetter(Q, "verticalAlign", Jr);
|
|
6021
|
+
m.addGetterSetter(Q, "lineHeight", 1, x());
|
|
6022
|
+
m.addGetterSetter(Q, "wrap", ia);
|
|
6023
|
+
m.addGetterSetter(Q, "ellipsis", !1, ft());
|
|
6024
|
+
m.addGetterSetter(Q, "letterSpacing", 0, x());
|
|
6025
|
+
m.addGetterSetter(Q, "text", "", Vt());
|
|
6026
|
+
m.addGetterSetter(Q, "textDecoration", "");
|
|
6027
|
+
m.addGetterSetter(Q, "underlineOffset", void 0, x());
|
|
6028
|
+
m.addGetterSetter(Q, "charRenderFunc", void 0);
|
|
6029
6029
|
const ha = "", rs = "normal";
|
|
6030
6030
|
function as(r) {
|
|
6031
6031
|
r.fillText(this.partialText, 0, 0);
|
|
@@ -6033,23 +6033,23 @@ function as(r) {
|
|
|
6033
6033
|
function os(r) {
|
|
6034
6034
|
r.strokeText(this.partialText, 0, 0);
|
|
6035
6035
|
}
|
|
6036
|
-
class
|
|
6036
|
+
class st extends k {
|
|
6037
6037
|
constructor(t) {
|
|
6038
6038
|
super(t), this.dummyCanvas = C.createCanvasElement(), this.dataArray = [], this._readDataAttribute(), this.on("dataChange.konva", function() {
|
|
6039
6039
|
this._readDataAttribute(), this._setTextData();
|
|
6040
6040
|
}), this.on("textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva", this._setTextData), this._setTextData();
|
|
6041
6041
|
}
|
|
6042
6042
|
_getTextPathLength() {
|
|
6043
|
-
return
|
|
6043
|
+
return J.getPathLength(this.dataArray);
|
|
6044
6044
|
}
|
|
6045
6045
|
_getPointAtLength(t) {
|
|
6046
6046
|
if (!this.attrs.data)
|
|
6047
6047
|
return null;
|
|
6048
6048
|
const e = this.pathLength;
|
|
6049
|
-
return t > e ? null :
|
|
6049
|
+
return t > e ? null : J.getPointAtLengthOfDataArray(t, this.dataArray);
|
|
6050
6050
|
}
|
|
6051
6051
|
_readDataAttribute() {
|
|
6052
|
-
this.dataArray =
|
|
6052
|
+
this.dataArray = J.parsePathData(this.attrs.data), this.pathLength = this._getTextPathLength();
|
|
6053
6053
|
}
|
|
6054
6054
|
_sceneFunc(t) {
|
|
6055
6055
|
t.setAttr("font", this._getContextFont()), t.setAttr("textBaseline", this.textBaseline()), t.setAttr("textAlign", "left"), t.save();
|
|
@@ -6091,10 +6091,10 @@ class nt extends k {
|
|
|
6091
6091
|
return C.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."), this.textHeight;
|
|
6092
6092
|
}
|
|
6093
6093
|
setText(t) {
|
|
6094
|
-
return
|
|
6094
|
+
return Q.prototype.setText.call(this, t);
|
|
6095
6095
|
}
|
|
6096
6096
|
_getContextFont() {
|
|
6097
|
-
return
|
|
6097
|
+
return Q.prototype._getContextFont.call(this);
|
|
6098
6098
|
}
|
|
6099
6099
|
_getTextSize(t) {
|
|
6100
6100
|
const i = this.dummyCanvas.getContext("2d");
|
|
@@ -6133,7 +6133,7 @@ class nt extends k {
|
|
|
6133
6133
|
const y = this._getPointAtLength(c + g);
|
|
6134
6134
|
if (!y)
|
|
6135
6135
|
return;
|
|
6136
|
-
const T =
|
|
6136
|
+
const T = J.getLineLength(u.x, u.y, y.x, y.y);
|
|
6137
6137
|
let S = 0;
|
|
6138
6138
|
if (o)
|
|
6139
6139
|
try {
|
|
@@ -6142,7 +6142,7 @@ class nt extends k {
|
|
|
6142
6142
|
S = 0;
|
|
6143
6143
|
}
|
|
6144
6144
|
u.x += S, y.x += S, this.textWidth += S;
|
|
6145
|
-
const v =
|
|
6145
|
+
const v = J.getPointOnLine(S + T / 2, u.x, u.y, y.x, y.y), b = Math.atan2(y.y - u.y, y.x - u.x);
|
|
6146
6146
|
this.glyphInfo.push({
|
|
6147
6147
|
transposeX: v.x,
|
|
6148
6148
|
transposeY: v.y,
|
|
@@ -6181,24 +6181,24 @@ class nt extends k {
|
|
|
6181
6181
|
return C.releaseCanvas(this.dummyCanvas), super.destroy();
|
|
6182
6182
|
}
|
|
6183
6183
|
}
|
|
6184
|
-
|
|
6185
|
-
|
|
6186
|
-
|
|
6187
|
-
|
|
6188
|
-
|
|
6189
|
-
|
|
6190
|
-
|
|
6191
|
-
m.addGetterSetter(
|
|
6192
|
-
m.addGetterSetter(
|
|
6193
|
-
m.addGetterSetter(
|
|
6194
|
-
m.addGetterSetter(
|
|
6195
|
-
m.addGetterSetter(
|
|
6196
|
-
m.addGetterSetter(
|
|
6197
|
-
m.addGetterSetter(
|
|
6198
|
-
m.addGetterSetter(
|
|
6199
|
-
m.addGetterSetter(
|
|
6200
|
-
m.addGetterSetter(
|
|
6201
|
-
m.addGetterSetter(
|
|
6184
|
+
st.prototype._fillFunc = as;
|
|
6185
|
+
st.prototype._strokeFunc = os;
|
|
6186
|
+
st.prototype._fillFuncHit = as;
|
|
6187
|
+
st.prototype._strokeFuncHit = os;
|
|
6188
|
+
st.prototype.className = "TextPath";
|
|
6189
|
+
st.prototype._attrsAffectingSize = ["text", "fontSize", "data"];
|
|
6190
|
+
tt(st);
|
|
6191
|
+
m.addGetterSetter(st, "data");
|
|
6192
|
+
m.addGetterSetter(st, "fontFamily", "Arial");
|
|
6193
|
+
m.addGetterSetter(st, "fontSize", 12, x());
|
|
6194
|
+
m.addGetterSetter(st, "fontStyle", rs);
|
|
6195
|
+
m.addGetterSetter(st, "align", "left");
|
|
6196
|
+
m.addGetterSetter(st, "letterSpacing", 0, x());
|
|
6197
|
+
m.addGetterSetter(st, "textBaseline", "middle");
|
|
6198
|
+
m.addGetterSetter(st, "fontVariant", rs);
|
|
6199
|
+
m.addGetterSetter(st, "text", ha);
|
|
6200
|
+
m.addGetterSetter(st, "textDecoration", "");
|
|
6201
|
+
m.addGetterSetter(st, "kerningFunc", void 0);
|
|
6202
6202
|
const ls = "tr-konva", ca = [
|
|
6203
6203
|
"resizeEnabledChange",
|
|
6204
6204
|
"rotateAnchorOffsetChange",
|
|
@@ -6808,7 +6808,7 @@ function Sa(r) {
|
|
|
6808
6808
|
}), r || [];
|
|
6809
6809
|
}
|
|
6810
6810
|
F.prototype.className = "Transformer";
|
|
6811
|
-
|
|
6811
|
+
tt(F);
|
|
6812
6812
|
m.addGetterSetter(F, "enabledAnchors", Ye, Sa);
|
|
6813
6813
|
m.addGetterSetter(F, "flipEnabled", !0, ft());
|
|
6814
6814
|
m.addGetterSetter(F, "resizeEnabled", !0);
|
|
@@ -6865,7 +6865,7 @@ class _t extends k {
|
|
|
6865
6865
|
_t.prototype.className = "Wedge";
|
|
6866
6866
|
_t.prototype._centroid = !0;
|
|
6867
6867
|
_t.prototype._attrsAffectingSize = ["radius"];
|
|
6868
|
-
|
|
6868
|
+
tt(_t);
|
|
6869
6869
|
m.addGetterSetter(_t, "radius", 0, x());
|
|
6870
6870
|
m.addGetterSetter(_t, "angle", 0, x());
|
|
6871
6871
|
m.addGetterSetter(_t, "clockwise", !1);
|
|
@@ -7393,32 +7393,32 @@ const Ca = [
|
|
|
7393
7393
|
function va(r, t) {
|
|
7394
7394
|
const e = r.data, i = r.width, n = r.height;
|
|
7395
7395
|
let s, a, o, l, h, c, d, u, p, g, y, T, S, v, b, w, L, P, I, A;
|
|
7396
|
-
const D = t + t + 1, z = i - 1,
|
|
7397
|
-
let
|
|
7396
|
+
const D = t + t + 1, z = i - 1, V = n - 1, B = t + 1, W = B * (B + 1) / 2, N = new an(), H = Ca[t], M = Ta[t];
|
|
7397
|
+
let j = null, G = N, q = null, nt = null;
|
|
7398
7398
|
for (let U = 1; U < D; U++)
|
|
7399
|
-
G = G.next = new an(), U === B && (
|
|
7399
|
+
G = G.next = new an(), U === B && (j = G);
|
|
7400
7400
|
G.next = N, o = a = 0;
|
|
7401
7401
|
for (let U = 0; U < n; U++) {
|
|
7402
|
-
T = S = v = b = l = h = c = d = 0, u = B * (w = e[a]), p = B * (L = e[a + 1]), g = B * (P = e[a + 2]), y = B * (I = e[a + 3]), l +=
|
|
7403
|
-
for (let
|
|
7402
|
+
T = S = v = b = l = h = c = d = 0, u = B * (w = e[a]), p = B * (L = e[a + 1]), g = B * (P = e[a + 2]), y = B * (I = e[a + 3]), l += W * w, h += W * L, c += W * P, d += W * I, G = N;
|
|
7403
|
+
for (let et = 0; et < B; et++)
|
|
7404
7404
|
G.r = w, G.g = L, G.b = P, G.a = I, G = G.next;
|
|
7405
|
-
for (let
|
|
7406
|
-
s = a + ((z <
|
|
7407
|
-
|
|
7408
|
-
for (let
|
|
7409
|
-
e[a + 3] = I = d * H >> M, I !== 0 ? (I = 255 / I, e[a] = (l * H >> M) * I, e[a + 1] = (h * H >> M) * I, e[a + 2] = (c * H >> M) * I) : e[a] = e[a + 1] = e[a + 2] = 0, l -= u, h -= p, c -= g, d -= y, u -=
|
|
7405
|
+
for (let et = 1; et < B; et++)
|
|
7406
|
+
s = a + ((z < et ? z : et) << 2), l += (G.r = w = e[s]) * (A = B - et), h += (G.g = L = e[s + 1]) * A, c += (G.b = P = e[s + 2]) * A, d += (G.a = I = e[s + 3]) * A, T += w, S += L, v += P, b += I, G = G.next;
|
|
7407
|
+
q = N, nt = j;
|
|
7408
|
+
for (let et = 0; et < i; et++)
|
|
7409
|
+
e[a + 3] = I = d * H >> M, I !== 0 ? (I = 255 / I, e[a] = (l * H >> M) * I, e[a + 1] = (h * H >> M) * I, e[a + 2] = (c * H >> M) * I) : e[a] = e[a + 1] = e[a + 2] = 0, l -= u, h -= p, c -= g, d -= y, u -= q.r, p -= q.g, g -= q.b, y -= q.a, s = o + ((s = et + t + 1) < z ? s : z) << 2, T += q.r = e[s], S += q.g = e[s + 1], v += q.b = e[s + 2], b += q.a = e[s + 3], l += T, h += S, c += v, d += b, q = q.next, u += w = nt.r, p += L = nt.g, g += P = nt.b, y += I = nt.a, T -= w, S -= L, v -= P, b -= I, nt = nt.next, a += 4;
|
|
7410
7410
|
o += i;
|
|
7411
7411
|
}
|
|
7412
7412
|
for (let U = 0; U < i; U++) {
|
|
7413
|
-
S = v = b = T = h = c = d = l = 0, a = U << 2, u = B * (w = e[a]), p = B * (L = e[a + 1]), g = B * (P = e[a + 2]), y = B * (I = e[a + 3]), l +=
|
|
7413
|
+
S = v = b = T = h = c = d = l = 0, a = U << 2, u = B * (w = e[a]), p = B * (L = e[a + 1]), g = B * (P = e[a + 2]), y = B * (I = e[a + 3]), l += W * w, h += W * L, c += W * P, d += W * I, G = N;
|
|
7414
7414
|
for (let ot = 0; ot < B; ot++)
|
|
7415
7415
|
G.r = w, G.g = L, G.b = P, G.a = I, G = G.next;
|
|
7416
|
-
let
|
|
7416
|
+
let et = i;
|
|
7417
7417
|
for (let ot = 1; ot <= t; ot++)
|
|
7418
|
-
a =
|
|
7419
|
-
a = U,
|
|
7418
|
+
a = et + U << 2, l += (G.r = w = e[a]) * (A = B - ot), h += (G.g = L = e[a + 1]) * A, c += (G.b = P = e[a + 2]) * A, d += (G.a = I = e[a + 3]) * A, T += w, S += L, v += P, b += I, G = G.next, ot < V && (et += i);
|
|
7419
|
+
a = U, q = N, nt = j;
|
|
7420
7420
|
for (let ot = 0; ot < n; ot++)
|
|
7421
|
-
s = a << 2, e[s + 3] = I = d * H >> M, I > 0 ? (I = 255 / I, e[s] = (l * H >> M) * I, e[s + 1] = (h * H >> M) * I, e[s + 2] = (c * H >> M) * I) : e[s] = e[s + 1] = e[s + 2] = 0, l -= u, h -= p, c -= g, d -= y, u -=
|
|
7421
|
+
s = a << 2, e[s + 3] = I = d * H >> M, I > 0 ? (I = 255 / I, e[s] = (l * H >> M) * I, e[s + 1] = (h * H >> M) * I, e[s + 2] = (c * H >> M) * I) : e[s] = e[s + 1] = e[s + 2] = 0, l -= u, h -= p, c -= g, d -= y, u -= q.r, p -= q.g, g -= q.b, y -= q.a, s = U + ((s = ot + B) < V ? s : V) * i << 2, l += T += q.r = e[s], h += S += q.g = e[s + 1], c += v += q.b = e[s + 2], d += b += q.a = e[s + 3], q = q.next, u += w = nt.r, p += L = nt.g, g += P = nt.b, y += I = nt.a, T -= w, S -= L, v -= P, b -= I, nt = nt.next, a += i;
|
|
7422
7422
|
}
|
|
7423
7423
|
}
|
|
7424
7424
|
const ba = function(t) {
|
|
@@ -7457,18 +7457,18 @@ const Pa = function(r) {
|
|
|
7457
7457
|
}[(a = (s = this.embossDirection) === null || s === void 0 ? void 0 : s.call(this)) !== null && a !== void 0 ? a : "top-left"]) !== null && o !== void 0 ? o : 315, S = !!((h = (l = this.embossBlend) === null || l === void 0 ? void 0 : l.call(this)) !== null && h !== void 0 && h), v = p * 10, b = g * 255, w = T * Math.PI / 180, L = Math.cos(w), P = Math.sin(w), I = 128 / 1020 * v, A = new Uint8ClampedArray(c), D = new Float32Array(d * u);
|
|
7458
7458
|
for (let N = 0, H = 0; H < c.length; H += 4, N++)
|
|
7459
7459
|
D[N] = 0.2126 * A[H] + 0.7152 * A[H + 1] + 0.0722 * A[H + 2];
|
|
7460
|
-
const z = [-1, 0, 1, -2, 0, 2, -1, 0, 1],
|
|
7460
|
+
const z = [-1, 0, 1, -2, 0, 2, -1, 0, 1], V = [-1, -2, -1, 0, 0, 0, 1, 2, 1], B = [-d - 1, -d, -d + 1, -1, 0, 1, d - 1, d, d + 1], W = (N) => N < 0 ? 0 : N > 255 ? 255 : N;
|
|
7461
7461
|
for (let N = 1; N < u - 1; N++)
|
|
7462
7462
|
for (let H = 1; H < d - 1; H++) {
|
|
7463
7463
|
const M = N * d + H;
|
|
7464
|
-
let
|
|
7465
|
-
|
|
7466
|
-
const
|
|
7464
|
+
let j = 0, G = 0;
|
|
7465
|
+
j += D[M + B[0]] * z[0], G += D[M + B[0]] * V[0], j += D[M + B[1]] * z[1], G += D[M + B[1]] * V[1], j += D[M + B[2]] * z[2], G += D[M + B[2]] * V[2], j += D[M + B[3]] * z[3], G += D[M + B[3]] * V[3], j += D[M + B[5]] * z[5], G += D[M + B[5]] * V[5], j += D[M + B[6]] * z[6], G += D[M + B[6]] * V[6], j += D[M + B[7]] * z[7], G += D[M + B[7]] * V[7], j += D[M + B[8]] * z[8], G += D[M + B[8]] * V[8];
|
|
7466
|
+
const q = L * j + P * G, nt = W(b + q * I), U = M * 4;
|
|
7467
7467
|
if (S) {
|
|
7468
|
-
const
|
|
7469
|
-
c[U] =
|
|
7468
|
+
const et = nt - b;
|
|
7469
|
+
c[U] = W(A[U] + et), c[U + 1] = W(A[U + 1] + et), c[U + 2] = W(A[U + 2] + et), c[U + 3] = A[U + 3];
|
|
7470
7470
|
} else
|
|
7471
|
-
c[U] = c[U + 1] = c[U + 2] =
|
|
7471
|
+
c[U] = c[U + 1] = c[U + 2] = nt, c[U + 3] = A[U + 3];
|
|
7472
7472
|
}
|
|
7473
7473
|
for (let N = 0; N < d; N++) {
|
|
7474
7474
|
let H = N * 4, M = ((u - 1) * d + N) * 4;
|
|
@@ -7711,13 +7711,13 @@ const Fa = function(r) {
|
|
|
7711
7711
|
return e && (e = Ha(e, r.width, r.height), e = za(e, r.width, r.height), e = Na(e, r.width, r.height), Ba(r, e)), r;
|
|
7712
7712
|
};
|
|
7713
7713
|
m.addGetterSetter(_, "threshold", 0, x(), m.afterSetFilter);
|
|
7714
|
-
const
|
|
7714
|
+
const Va = function(r) {
|
|
7715
7715
|
const t = this.noise() * 255, e = r.data, i = e.length, n = t / 2;
|
|
7716
7716
|
for (let s = 0; s < i; s += 4)
|
|
7717
7717
|
e[s + 0] += n - 2 * n * Math.random(), e[s + 1] += n - 2 * n * Math.random(), e[s + 2] += n - 2 * n * Math.random();
|
|
7718
7718
|
};
|
|
7719
7719
|
m.addGetterSetter(_, "noise", 0.2, x(), m.afterSetFilter);
|
|
7720
|
-
const
|
|
7720
|
+
const Wa = function(r) {
|
|
7721
7721
|
let t = Math.ceil(this.pixelSize()), e = r.width, i = r.height, n = Math.ceil(e / t), s = Math.ceil(i / t), a = r.data;
|
|
7722
7722
|
if (t <= 0) {
|
|
7723
7723
|
C.error("pixelSize value can not be <= 0");
|
|
@@ -7813,14 +7813,14 @@ const X = qi.Util._assign(qi, {
|
|
|
7813
7813
|
Label: Li,
|
|
7814
7814
|
Tag: Xt,
|
|
7815
7815
|
Line: kt,
|
|
7816
|
-
Path:
|
|
7816
|
+
Path: J,
|
|
7817
7817
|
Rect: be,
|
|
7818
7818
|
RegularPolygon: It,
|
|
7819
7819
|
Ring: Ut,
|
|
7820
7820
|
Sprite: St,
|
|
7821
7821
|
Star: Dt,
|
|
7822
|
-
Text:
|
|
7823
|
-
TextPath:
|
|
7822
|
+
Text: Q,
|
|
7823
|
+
TextPath: st,
|
|
7824
7824
|
Transformer: F,
|
|
7825
7825
|
Wedge: _t,
|
|
7826
7826
|
Filters: {
|
|
@@ -7836,8 +7836,8 @@ const X = qi.Util._assign(qi, {
|
|
|
7836
7836
|
Invert: Ma,
|
|
7837
7837
|
Kaleidoscope: Da,
|
|
7838
7838
|
Mask: Fa,
|
|
7839
|
-
Noise:
|
|
7840
|
-
Pixelate:
|
|
7839
|
+
Noise: Va,
|
|
7840
|
+
Pixelate: Wa,
|
|
7841
7841
|
Posterize: Ya,
|
|
7842
7842
|
RGB: Xa,
|
|
7843
7843
|
RGBA: Ua,
|
|
@@ -8326,7 +8326,7 @@ function ho(r, t, e) {
|
|
|
8326
8326
|
p.ellipsis(!0), p.width(s), p.height(dn), p.name("clip-label"), r.add(p);
|
|
8327
8327
|
}
|
|
8328
8328
|
function gs(r, t) {
|
|
8329
|
-
const e = t.width <=
|
|
8329
|
+
const e = t.width <= We, i = us(t.theme, t.isSelected, t.clipType);
|
|
8330
8330
|
if (r.destroyChildren(), e) {
|
|
8331
8331
|
ao(r, t.width, t.height, i);
|
|
8332
8332
|
return;
|
|
@@ -8338,7 +8338,7 @@ function gs(r, t) {
|
|
|
8338
8338
|
oo(r, t, i);
|
|
8339
8339
|
}
|
|
8340
8340
|
function co(r, t) {
|
|
8341
|
-
if (t.width <=
|
|
8341
|
+
if (t.width <= We || t.clipType !== "video")
|
|
8342
8342
|
return !1;
|
|
8343
8343
|
const i = us(t.theme, t.isSelected, t.clipType);
|
|
8344
8344
|
return lo(r, t, i);
|
|
@@ -8439,7 +8439,7 @@ function So(r, t, e, i, n, s) {
|
|
|
8439
8439
|
a.add(bi([0, o, i, o], "#E0E0E0", 0.5));
|
|
8440
8440
|
r.add(a);
|
|
8441
8441
|
}
|
|
8442
|
-
class
|
|
8442
|
+
class it {
|
|
8443
8443
|
/**
|
|
8444
8444
|
* 创建舞台
|
|
8445
8445
|
*/
|
|
@@ -8602,7 +8602,7 @@ class et {
|
|
|
8602
8602
|
}
|
|
8603
8603
|
}
|
|
8604
8604
|
// 定义拉伸交互区域宽度常量
|
|
8605
|
-
f(
|
|
8605
|
+
f(it, "RESIZE_AREA_WIDTH", 3);
|
|
8606
8606
|
function we(r) {
|
|
8607
8607
|
let t = !1;
|
|
8608
8608
|
return typeof window < "u" && (window.addEventListener("mousemove", r.onPointerMove), window.addEventListener("mouseup", r.onPointerEnd), window.addEventListener("blur", r.onWindowBlur || r.onPointerEnd), t = !0), typeof document < "u" && (document.addEventListener("visibilitychange", r.onVisibilityChange), t = !0), t;
|
|
@@ -8610,7 +8610,7 @@ function we(r) {
|
|
|
8610
8610
|
function ke(r) {
|
|
8611
8611
|
typeof window < "u" && (window.removeEventListener("mousemove", r.onPointerMove), window.removeEventListener("mouseup", r.onPointerEnd), window.removeEventListener("blur", r.onWindowBlur || r.onPointerEnd)), typeof document < "u" && document.removeEventListener("visibilitychange", r.onVisibilityChange);
|
|
8612
8612
|
}
|
|
8613
|
-
class
|
|
8613
|
+
class Ml {
|
|
8614
8614
|
constructor(t, e, i, n, s, a) {
|
|
8615
8615
|
f(this, "stage");
|
|
8616
8616
|
f(this, "gridLayer");
|
|
@@ -8649,7 +8649,7 @@ class Ll {
|
|
|
8649
8649
|
currentTime: i.currentTime || 0,
|
|
8650
8650
|
playState: i.playState || "paused",
|
|
8651
8651
|
container: i.container,
|
|
8652
|
-
theme:
|
|
8652
|
+
theme: Ve(i.theme),
|
|
8653
8653
|
timeScaleHeight: i.timeScaleHeight
|
|
8654
8654
|
}, this.theme = this.config.theme, i.timeScaleHeight && (this.timeScaleHeight = i.timeScaleHeight), this.initEventListeners(), this.render();
|
|
8655
8655
|
}
|
|
@@ -8780,7 +8780,7 @@ class Ll {
|
|
|
8780
8780
|
if (i)
|
|
8781
8781
|
i.width(t), i.height(e), i.fill(this.theme.background), i.stroke(this.theme.border);
|
|
8782
8782
|
else {
|
|
8783
|
-
const n =
|
|
8783
|
+
const n = it.createRect(0, 0, t, e, this.theme.background, this.theme.border, 1);
|
|
8784
8784
|
n.name("timeline-background"), this.gridLayer.add(n);
|
|
8785
8785
|
}
|
|
8786
8786
|
this.gridLayer.find(".grid-line").forEach((n) => n.remove()), this.gridLayer.find(".time-tick-line").forEach((n) => n.remove()), this.gridLayer.find(".time-tick-text").forEach((n) => n.remove()), this.renderTimeTicks(), this.renderScrollbar(), this.gridLayer.batchDraw();
|
|
@@ -8790,7 +8790,7 @@ class Ll {
|
|
|
8790
8790
|
if (a)
|
|
8791
8791
|
a.x(0), a.y(i), a.width(t), a.height(this.scrollbarHeight), a.fill(this.theme.scrollbarBackground || "#333333"), a.stroke(this.theme.scrollbarBorder || "#555555"), a.visible(!0);
|
|
8792
8792
|
else {
|
|
8793
|
-
const l =
|
|
8793
|
+
const l = it.createRect(
|
|
8794
8794
|
0,
|
|
8795
8795
|
i,
|
|
8796
8796
|
t,
|
|
@@ -8805,7 +8805,7 @@ class Ll {
|
|
|
8805
8805
|
if (o)
|
|
8806
8806
|
o.x(s), o.y(i), o.width(n), o.height(this.scrollbarHeight), o.fill(this.theme.scrollbarThumb || "#444444"), o.stroke(this.theme.scrollbarThumbBorder || this.theme.scrollbarBorder || "#555555"), o.visible(n < t);
|
|
8807
8807
|
else {
|
|
8808
|
-
const l =
|
|
8808
|
+
const l = it.createRect(
|
|
8809
8809
|
s,
|
|
8810
8810
|
i,
|
|
8811
8811
|
n,
|
|
@@ -8823,7 +8823,7 @@ class Ll {
|
|
|
8823
8823
|
const y = 20;
|
|
8824
8824
|
for (const T of p) {
|
|
8825
8825
|
const S = this.timeToPixel(T.time);
|
|
8826
|
-
S >= -y && S <= t + y && (
|
|
8826
|
+
S >= -y && S <= t + y && (it.drawTimeTick(
|
|
8827
8827
|
this.gridLayer,
|
|
8828
8828
|
S,
|
|
8829
8829
|
0,
|
|
@@ -8923,11 +8923,11 @@ class Ll {
|
|
|
8923
8923
|
}
|
|
8924
8924
|
const fe = 8;
|
|
8925
8925
|
function Lt(r, t, e) {
|
|
8926
|
-
return
|
|
8926
|
+
return it.timeToPixels(r, t) - e + at;
|
|
8927
8927
|
}
|
|
8928
8928
|
function Nt(r, t) {
|
|
8929
|
-
const e =
|
|
8930
|
-
return r <= 1e3 || e <=
|
|
8929
|
+
const e = it.timeToPixels(r, t);
|
|
8930
|
+
return r <= 1e3 || e <= We ? We : e;
|
|
8931
8931
|
}
|
|
8932
8932
|
function fn(r, t) {
|
|
8933
8933
|
const e = Lt(r.startTime, r.zoom, r.scrollLeft), i = Nt(r.duration, r.zoom);
|
|
@@ -9205,7 +9205,7 @@ const pt = class pt {
|
|
|
9205
9205
|
}
|
|
9206
9206
|
this.startEdgeAutoScroll();
|
|
9207
9207
|
});
|
|
9208
|
-
this.layer = t, this.config = e, this.theme = o, this.trackType = i, this.zoom = n, this.trackY = s, this.trackHeight = a, this.onClipUpdate = l, this.onClipAdd = h, this.onClipRemove = c, this.onClipSplit = d, this.onClipSelect = u, this.onTimeJump = p, this.onHorizontalDragAutoScroll = g, this.onClipOverlap = y, this.onClipCrossTrackPreview = T, this.onClipCrossTrack = S, this.onClearDropPreview = v, this.onClearSelection = b, this.onSnapGuideChange = w, this.dragActivationThreshold = Math.max(0, L), this.enableClipSnap = P, this.clipSnapThreshold = Math.max(0, I), this.trackGroup =
|
|
9208
|
+
this.layer = t, this.config = e, this.theme = o, this.trackType = i, this.zoom = n, this.trackY = s, this.trackHeight = a, this.onClipUpdate = l, this.onClipAdd = h, this.onClipRemove = c, this.onClipSplit = d, this.onClipSelect = u, this.onTimeJump = p, this.onHorizontalDragAutoScroll = g, this.onClipOverlap = y, this.onClipCrossTrackPreview = T, this.onClipCrossTrack = S, this.onClearDropPreview = v, this.onClearSelection = b, this.onSnapGuideChange = w, this.dragActivationThreshold = Math.max(0, L), this.enableClipSnap = P, this.clipSnapThreshold = Math.max(0, I), this.trackGroup = it.createGroup(0, s), this.layer.add(this.trackGroup), this.initClips(), this.initEventListeners(), this.render();
|
|
9209
9209
|
}
|
|
9210
9210
|
initClips() {
|
|
9211
9211
|
this.clips = this.config.clips.map((t) => {
|
|
@@ -9220,9 +9220,9 @@ const pt = class pt {
|
|
|
9220
9220
|
ensureDropPreviewGroup() {
|
|
9221
9221
|
if (this.dropPreviewGroup)
|
|
9222
9222
|
return this.dropPreviewGroup;
|
|
9223
|
-
const t =
|
|
9223
|
+
const t = it.createGroup(0, 0);
|
|
9224
9224
|
t.name("clip-drop-preview"), t.visible(!1), t.listening(!1);
|
|
9225
|
-
const e = this.trackType === "video" ? "rgba(80, 227, 194, 0.18)" : "rgba(181, 186, 255, 0.18)", i = this.trackType === "video" ? "#50e3c2" : "#b5baff", n =
|
|
9225
|
+
const e = this.trackType === "video" ? "rgba(80, 227, 194, 0.18)" : "rgba(181, 186, 255, 0.18)", i = this.trackType === "video" ? "#50e3c2" : "#b5baff", n = it.createRect(0, 0, 0, 0, e, i, 1);
|
|
9226
9226
|
return n.dash([6, 4]), n.cornerRadius(4), n.listening(!1), t.add(n), this.trackGroup.add(t), this.dropPreviewGroup = t, t;
|
|
9227
9227
|
}
|
|
9228
9228
|
showDropPreview(t) {
|
|
@@ -9267,7 +9267,7 @@ const pt = class pt {
|
|
|
9267
9267
|
this.onTimeJump(a), this.onClearSelection && this.onClearSelection();
|
|
9268
9268
|
}
|
|
9269
9269
|
createClipGroup(t) {
|
|
9270
|
-
const e = Lt(t.startTime, this.zoom, this.scrollLeft), i = Nt(t.duration, this.zoom), n = 2, s = this.trackHeight - 4, a =
|
|
9270
|
+
const e = Lt(t.startTime, this.zoom, this.scrollLeft), i = Nt(t.duration, this.zoom), n = 2, s = this.trackHeight - 4, a = it.createClipGroup(
|
|
9271
9271
|
e,
|
|
9272
9272
|
n,
|
|
9273
9273
|
i,
|
|
@@ -9529,7 +9529,7 @@ const pt = class pt {
|
|
|
9529
9529
|
scrollLeft: this.scrollLeft
|
|
9530
9530
|
}, this.layer.width()));
|
|
9531
9531
|
const a = t.isSelected;
|
|
9532
|
-
(t.isDragging || a) && i.moveToTop(), i.opacity(t.opacity),
|
|
9532
|
+
(t.isDragging || a) && i.moveToTop(), i.opacity(t.opacity), it.updateClipGroup(
|
|
9533
9533
|
i,
|
|
9534
9534
|
s,
|
|
9535
9535
|
this.trackHeight - 4,
|
|
@@ -9647,7 +9647,7 @@ const pt = class pt {
|
|
|
9647
9647
|
render(t = !0) {
|
|
9648
9648
|
const e = this.getTrackBackgroundFill();
|
|
9649
9649
|
if (this.trackGroup.children.length === 0) {
|
|
9650
|
-
const i =
|
|
9650
|
+
const i = it.createRect(0, 0, this.layer.width(), this.trackHeight, e, this.theme.trackBorder, 1);
|
|
9651
9651
|
i.name("track-background"), i.on("click", (n) => {
|
|
9652
9652
|
this.handleTrackBackgroundClick(n.evt);
|
|
9653
9653
|
}), i.on("mousemove", () => {
|
|
@@ -9985,7 +9985,7 @@ const pt = class pt {
|
|
|
9985
9985
|
};
|
|
9986
9986
|
f(pt, "DEFAULT_DRAG_ACTIVATION_THRESHOLD", 4), f(pt, "DEFAULT_CLIP_SNAP_THRESHOLD", 8), f(pt, "AUTO_SCROLL_EDGE_THRESHOLD", 48), f(pt, "AUTO_SCROLL_MAX_SPEED", 18);
|
|
9987
9987
|
let ki = pt;
|
|
9988
|
-
class
|
|
9988
|
+
class Rl {
|
|
9989
9989
|
constructor(t, e, i, n, s, a) {
|
|
9990
9990
|
f(this, "layer");
|
|
9991
9991
|
f(this, "playheadGroup");
|
|
@@ -9997,7 +9997,7 @@ class Ml {
|
|
|
9997
9997
|
f(this, "scrollLeft", 0);
|
|
9998
9998
|
f(this, "onTimeChange");
|
|
9999
9999
|
f(this, "isDragging", !1);
|
|
10000
|
-
this.layer = t, this.currentTime = e, this.zoom = i, this.theme = s, this.onTimeChange = a, this.playheadGroup =
|
|
10000
|
+
this.layer = t, this.currentTime = e, this.zoom = i, this.theme = s, this.onTimeChange = a, this.playheadGroup = it.createGroup(), this.layer.add(this.playheadGroup), this.playheadLine = it.createLine(
|
|
10001
10001
|
[0, 0, 0, n],
|
|
10002
10002
|
this.theme.playhead,
|
|
10003
10003
|
1
|
|
@@ -10140,8 +10140,14 @@ const _o = {
|
|
|
10140
10140
|
buttonActiveBackground: "#409eff",
|
|
10141
10141
|
buttonActiveBorder: "#409eff",
|
|
10142
10142
|
buttonActiveText: "#fff"
|
|
10143
|
-
},
|
|
10143
|
+
}, $ = {
|
|
10144
10144
|
container: "clip-config-panel",
|
|
10145
|
+
tabBar: "clip-config-tab-bar",
|
|
10146
|
+
tabButton: "clip-config-tab-button",
|
|
10147
|
+
content: "clip-config-content",
|
|
10148
|
+
visualPanel: "clip-config-visual-panel",
|
|
10149
|
+
audioPanel: "clip-config-audio-panel",
|
|
10150
|
+
actionBar: "clip-config-action-bar",
|
|
10145
10151
|
section: "clip-config-section",
|
|
10146
10152
|
sectionTitle: "clip-config-section-title",
|
|
10147
10153
|
row: "clip-config-row",
|
|
@@ -10152,128 +10158,206 @@ const _o = {
|
|
|
10152
10158
|
presetButton: "clip-config-preset-button",
|
|
10153
10159
|
resetButton: "clip-config-reset-button",
|
|
10154
10160
|
emptyState: "clip-config-empty-state"
|
|
10161
|
+
}, Po = {
|
|
10162
|
+
visual: "画面",
|
|
10163
|
+
audio: "音频"
|
|
10155
10164
|
};
|
|
10156
|
-
class
|
|
10165
|
+
class xo {
|
|
10157
10166
|
constructor(t) {
|
|
10158
10167
|
f(this, "container");
|
|
10159
10168
|
f(this, "rootElement", null);
|
|
10160
10169
|
f(this, "theme");
|
|
10161
10170
|
f(this, "onClipUpdate");
|
|
10162
10171
|
f(this, "currentClip", null);
|
|
10163
|
-
|
|
10172
|
+
f(this, "activeTab", "visual");
|
|
10173
|
+
f(this, "tabBar", null);
|
|
10174
|
+
f(this, "contentArea", null);
|
|
10175
|
+
f(this, "visualPanel", null);
|
|
10176
|
+
f(this, "audioPanel", null);
|
|
10164
10177
|
f(this, "xSlider", null);
|
|
10165
10178
|
f(this, "xInput", null);
|
|
10166
10179
|
f(this, "ySlider", null);
|
|
10167
10180
|
f(this, "yInput", null);
|
|
10168
10181
|
f(this, "scaleSlider", null);
|
|
10169
10182
|
f(this, "scaleInput", null);
|
|
10183
|
+
f(this, "volumeSlider", null);
|
|
10184
|
+
f(this, "volumeInput", null);
|
|
10170
10185
|
this.container = t.container, this.theme = t.theme ?? _o, this.onClipUpdate = t.onClipUpdate, this.render();
|
|
10171
10186
|
}
|
|
10172
10187
|
setClip(t) {
|
|
10173
|
-
this.currentClip = t, this.render();
|
|
10188
|
+
this.currentClip = t, (t == null ? void 0 : t.type) === "video" ? this.activeTab = "visual" : (t == null ? void 0 : t.type) === "audio" && (this.activeTab = "audio"), this.render();
|
|
10174
10189
|
}
|
|
10175
10190
|
destroy() {
|
|
10176
10191
|
this.rootElement && (this.rootElement.remove(), this.rootElement = null);
|
|
10177
10192
|
}
|
|
10193
|
+
getAvailableTabs() {
|
|
10194
|
+
return this.currentClip ? this.currentClip.type === "audio" ? ["audio"] : ["visual", "audio"] : [];
|
|
10195
|
+
}
|
|
10178
10196
|
render() {
|
|
10179
|
-
this.rootElement && this.rootElement.remove(), this.rootElement = document.createElement("div"), this.rootElement.className =
|
|
10197
|
+
this.rootElement && this.rootElement.remove(), this.rootElement = document.createElement("div"), this.rootElement.className = $.container, this.applyBaseTheme(), this.currentClip ? this.renderPanel() : this.renderEmptyState(), this.container.appendChild(this.rootElement);
|
|
10198
|
+
}
|
|
10199
|
+
applyBaseTheme() {
|
|
10200
|
+
this.rootElement && (this.rootElement.style.backgroundColor = this.theme.backgroundColor, this.rootElement.style.border = `1px solid ${this.theme.borderColor}`, this.rootElement.style.borderRadius = "4px", this.rootElement.style.color = this.theme.textColor, this.rootElement.style.fontFamily = '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', this.rootElement.style.fontSize = "13px", this.rootElement.style.display = "flex", this.rootElement.style.flexDirection = "column", this.rootElement.style.overflow = "hidden", this.rootElement.style.height = "100%");
|
|
10180
10201
|
}
|
|
10181
10202
|
renderEmptyState() {
|
|
10182
10203
|
const t = document.createElement("div");
|
|
10183
|
-
t.className =
|
|
10204
|
+
t.className = $.emptyState, t.style.textAlign = "center", t.style.padding = "40px 20px", t.style.color = this.theme.labelColor;
|
|
10184
10205
|
const e = document.createElement("div");
|
|
10185
10206
|
e.style.fontSize = "24px", e.style.marginBottom = "8px", e.textContent = "🎬";
|
|
10186
10207
|
const i = document.createElement("div");
|
|
10187
10208
|
i.style.fontSize = "13px", i.textContent = "请选择一个片段", t.appendChild(e), t.appendChild(i), this.rootElement.appendChild(t);
|
|
10188
10209
|
}
|
|
10189
|
-
|
|
10210
|
+
renderPanel() {
|
|
10211
|
+
this.renderTabBar(), this.renderContentArea(), this.renderActionBar();
|
|
10212
|
+
}
|
|
10213
|
+
renderTabBar() {
|
|
10214
|
+
const t = this.getAvailableTabs();
|
|
10215
|
+
this.tabBar = document.createElement("div"), this.tabBar.className = $.tabBar, this.tabBar.style.display = "flex", this.tabBar.style.gap = "12px", this.tabBar.style.padding = "4px", this.tabBar.style.backgroundColor = "#2a2a2a", this.tabBar.style.borderRadius = "4px 4px 0 0", t.forEach((e) => {
|
|
10216
|
+
const i = document.createElement("button");
|
|
10217
|
+
i.className = $.tabButton, i.textContent = Po[e], i.style.lineHeight = "22px", i.style.padding = "0 6px", i.style.border = "none", i.style.cursor = "pointer", i.style.fontSize = "13px", i.style.fontFamily = "inherit", i.style.transition = "background-color 0.15s, color 0.15s";
|
|
10218
|
+
const n = this.activeTab === e;
|
|
10219
|
+
i.style.backgroundColor = n ? "#595A5D" : "transparent", i.style.color = n ? "#fff" : "#b5b6bf", i.style.borderRadius = "4px", i.addEventListener("click", () => {
|
|
10220
|
+
this.activeTab = e, this.updateTabBarState(), this.updateContentVisibility();
|
|
10221
|
+
}), this.tabBar.appendChild(i);
|
|
10222
|
+
}), this.rootElement.appendChild(this.tabBar);
|
|
10223
|
+
}
|
|
10224
|
+
updateTabBarState() {
|
|
10225
|
+
if (!this.tabBar) return;
|
|
10226
|
+
const t = this.tabBar.querySelectorAll(`.${$.tabButton}`), e = this.getAvailableTabs();
|
|
10227
|
+
t.forEach((i, n) => {
|
|
10228
|
+
const a = e[n] === this.activeTab, o = i;
|
|
10229
|
+
o.style.backgroundColor = a ? "#595A5D" : "transparent", o.style.color = a ? "#fff" : "#b5b6bf";
|
|
10230
|
+
});
|
|
10231
|
+
}
|
|
10232
|
+
renderContentArea() {
|
|
10233
|
+
this.contentArea = document.createElement("div"), this.contentArea.className = $.content, this.contentArea.style.padding = "12px", this.contentArea.style.flex = "1", this.contentArea.style.overflowY = "auto", this.contentArea.style.minHeight = "0", this.renderVisualPanel(), this.renderAudioPanel(), this.updateContentVisibility(), this.rootElement.appendChild(this.contentArea);
|
|
10234
|
+
}
|
|
10235
|
+
updateContentVisibility() {
|
|
10236
|
+
this.visualPanel && (this.visualPanel.style.display = this.activeTab === "visual" ? "block" : "none"), this.audioPanel && (this.audioPanel.style.display = this.activeTab === "audio" ? "block" : "none");
|
|
10237
|
+
}
|
|
10238
|
+
renderVisualPanel() {
|
|
10239
|
+
this.visualPanel = document.createElement("div"), this.visualPanel.className = $.visualPanel;
|
|
10190
10240
|
const t = document.createElement("div");
|
|
10191
|
-
t.className =
|
|
10241
|
+
t.className = $.section, t.style.marginBottom = "16px";
|
|
10192
10242
|
const e = document.createElement("div");
|
|
10193
|
-
e.className =
|
|
10243
|
+
e.className = $.sectionTitle, e.style.fontSize = "12px", e.style.color = this.theme.labelColor, e.style.marginBottom = "8px", e.style.textTransform = "uppercase", e.textContent = "位置", t.appendChild(e), this.renderPositionControl(t, "X", "x"), this.renderPositionControl(t, "Y", "y"), this.renderPresetGrid(t), this.visualPanel.appendChild(t);
|
|
10194
10244
|
const i = document.createElement("div");
|
|
10195
|
-
i.className =
|
|
10245
|
+
i.className = $.section, i.style.borderTop = `1px solid ${this.theme.borderColor}`, i.style.paddingTop = "16px";
|
|
10196
10246
|
const n = document.createElement("div");
|
|
10197
|
-
n.className =
|
|
10247
|
+
n.className = $.sectionTitle, n.style.fontSize = "12px", n.style.color = this.theme.labelColor, n.style.marginBottom = "8px", n.style.textTransform = "uppercase", n.textContent = "缩放", i.appendChild(n), this.renderScaleControl(i), this.visualPanel.appendChild(i), this.contentArea.appendChild(this.visualPanel);
|
|
10248
|
+
}
|
|
10249
|
+
renderAudioPanel() {
|
|
10250
|
+
this.audioPanel = document.createElement("div"), this.audioPanel.className = $.audioPanel;
|
|
10251
|
+
const t = document.createElement("div");
|
|
10252
|
+
t.className = $.section;
|
|
10253
|
+
const e = document.createElement("div");
|
|
10254
|
+
e.className = $.sectionTitle, e.style.fontSize = "12px", e.style.color = this.theme.labelColor, e.style.marginBottom = "8px", e.style.textTransform = "uppercase", e.textContent = "音量", t.appendChild(e), this.renderVolumeControl(t), this.audioPanel.appendChild(t), this.contentArea.appendChild(this.audioPanel);
|
|
10255
|
+
}
|
|
10256
|
+
renderActionBar() {
|
|
10257
|
+
const t = document.createElement("div");
|
|
10258
|
+
t.className = $.actionBar, t.style.borderTop = `1px solid ${this.theme.borderColor}`, t.style.borderRadius = "0 0 4px 4px", t.style.minHeight = "36px", t.style.backgroundColor = "#2a2a2a", this.rootElement.appendChild(t);
|
|
10198
10259
|
}
|
|
10199
10260
|
renderPositionControl(t, e, i) {
|
|
10200
10261
|
var u, p, g, y, T, S;
|
|
10201
10262
|
const n = document.createElement("div");
|
|
10202
|
-
n.className =
|
|
10263
|
+
n.className = $.row, n.style.display = "flex", n.style.alignItems = "center", n.style.gap = "8px", n.style.marginBottom = "8px";
|
|
10203
10264
|
const s = document.createElement("label");
|
|
10204
|
-
s.className =
|
|
10265
|
+
s.className = $.label, s.style.width = "16px", s.style.fontSize = "13px", s.style.color = this.theme.labelColor, s.textContent = e, n.appendChild(s);
|
|
10205
10266
|
const o = (((p = (u = this.currentClip) == null ? void 0 : u.visualTransform) == null ? void 0 : p.scale) ?? 1) / 2, l = -o, h = 1 + o, c = document.createElement("input");
|
|
10206
|
-
c.type = "range", c.className =
|
|
10267
|
+
c.type = "range", c.className = $.slider, c.min = String(l), c.max = String(h), c.step = "0.01", c.value = String(((y = (g = this.currentClip) == null ? void 0 : g.visualTransform) == null ? void 0 : y[i]) ?? 0.5), c.style.flex = "1", c.style.height = "4px", c.addEventListener("input", (v) => {
|
|
10207
10268
|
const b = parseFloat(v.target.value);
|
|
10208
10269
|
this.handleTransformChange(i, b);
|
|
10209
10270
|
}), n.appendChild(c);
|
|
10210
10271
|
const d = document.createElement("input");
|
|
10211
|
-
d.type = "number", d.className =
|
|
10272
|
+
d.type = "number", d.className = $.input, d.min = String(l), d.max = String(h), d.step = "0.01", d.value = String(((S = (T = this.currentClip) == null ? void 0 : T.visualTransform) == null ? void 0 : S[i]) ?? 0.5), d.style.width = "60px", d.style.padding = "4px 6px", d.style.border = `1px solid ${this.theme.inputBorder}`, d.style.borderRadius = "4px", d.style.fontSize = "12px", d.style.backgroundColor = this.theme.inputBackground, d.style.color = this.theme.textColor, d.addEventListener("change", (v) => {
|
|
10212
10273
|
const b = parseFloat(v.target.value);
|
|
10213
10274
|
this.handleTransformChange(i, b);
|
|
10214
10275
|
}), n.appendChild(d), i === "x" ? (this.xSlider = c, this.xInput = d) : (this.ySlider = c, this.yInput = d), t.appendChild(n);
|
|
10215
10276
|
}
|
|
10216
10277
|
renderPresetGrid(t) {
|
|
10217
10278
|
const e = document.createElement("div");
|
|
10218
|
-
e.className =
|
|
10219
|
-
|
|
10220
|
-
|
|
10221
|
-
|
|
10222
|
-
|
|
10223
|
-
|
|
10224
|
-
|
|
10225
|
-
|
|
10226
|
-
|
|
10227
|
-
|
|
10228
|
-
|
|
10229
|
-
{ label: "↓ 下中", x: 0.5, y: 1 - s },
|
|
10230
|
-
{ label: "↘ 右下", x: 1 - s, y: 1 - s }
|
|
10231
|
-
];
|
|
10232
|
-
})().forEach((n) => {
|
|
10279
|
+
e.className = $.presetGrid, e.style.display = "grid", e.style.gridTemplateColumns = "repeat(3, 1fr)", e.style.gap = "4px", [
|
|
10280
|
+
{ label: "↖ 左上", x: "left", y: "top" },
|
|
10281
|
+
{ label: "↑ 上中", x: "center", y: "top" },
|
|
10282
|
+
{ label: "↗ 右上", x: "right", y: "top" },
|
|
10283
|
+
{ label: "← 左中", x: "left", y: "center" },
|
|
10284
|
+
{ label: "● 居中", x: "center", y: "center" },
|
|
10285
|
+
{ label: "右中 →", x: "right", y: "center" },
|
|
10286
|
+
{ label: "↙ 左下", x: "left", y: "bottom" },
|
|
10287
|
+
{ label: "↓ 下中", x: "center", y: "bottom" },
|
|
10288
|
+
{ label: "↘ 右下", x: "right", y: "bottom" }
|
|
10289
|
+
].forEach((n) => {
|
|
10233
10290
|
const s = document.createElement("button");
|
|
10234
|
-
s.className =
|
|
10235
|
-
|
|
10236
|
-
|
|
10237
|
-
|
|
10238
|
-
|
|
10239
|
-
|
|
10240
|
-
"← 左中": { x: o, y: 0.5 },
|
|
10241
|
-
"● 居中": { x: 0.5, y: 0.5 },
|
|
10242
|
-
"右中 →": { x: 1 - o, y: 0.5 },
|
|
10243
|
-
"↙ 左下": { x: o, y: 1 - o },
|
|
10244
|
-
"↓ 下中": { x: 0.5, y: 1 - o },
|
|
10245
|
-
"↘ 右下": { x: 1 - o, y: 1 - o }
|
|
10246
|
-
}[n.label];
|
|
10247
|
-
h && this.handleTransformChanges({ x: h.x, y: h.y });
|
|
10291
|
+
s.className = $.presetButton, s.textContent = n.label, s.style.padding = "6px", s.style.border = `1px solid ${this.theme.buttonBorder}`, s.style.borderRadius = "4px", s.style.background = this.theme.buttonBackground, s.style.fontSize = "11px", s.style.cursor = "pointer", s.style.color = this.theme.textColor, s.addEventListener("click", () => {
|
|
10292
|
+
const { x: a, y: o } = this.calculatePresetPosition(
|
|
10293
|
+
n.x,
|
|
10294
|
+
n.y
|
|
10295
|
+
);
|
|
10296
|
+
this.handleTransformChanges({ x: a, y: o });
|
|
10248
10297
|
}), e.appendChild(s);
|
|
10249
10298
|
}), t.appendChild(e);
|
|
10250
10299
|
}
|
|
10300
|
+
calculatePresetPosition(t, e) {
|
|
10301
|
+
var o, l;
|
|
10302
|
+
const n = (((l = (o = this.currentClip) == null ? void 0 : o.visualTransform) == null ? void 0 : l.scale) ?? 1) / 2, s = { left: n, center: 0.5, right: 1 - n }, a = { top: n, center: 0.5, bottom: 1 - n };
|
|
10303
|
+
return { x: s[t], y: a[e] };
|
|
10304
|
+
}
|
|
10251
10305
|
renderScaleControl(t) {
|
|
10252
10306
|
var a, o, l, h;
|
|
10253
10307
|
const e = document.createElement("div");
|
|
10254
|
-
e.className =
|
|
10308
|
+
e.className = $.row, e.style.display = "flex", e.style.alignItems = "center", e.style.gap = "8px";
|
|
10255
10309
|
const i = document.createElement("input");
|
|
10256
|
-
i.type = "range", i.className =
|
|
10310
|
+
i.type = "range", i.className = $.slider, i.min = "0.1", i.max = "8", i.step = "0.1", i.value = String(((o = (a = this.currentClip) == null ? void 0 : a.visualTransform) == null ? void 0 : o.scale) ?? 1), i.style.flex = "1", i.style.height = "4px", i.addEventListener("input", (c) => {
|
|
10257
10311
|
const d = parseFloat(c.target.value);
|
|
10258
10312
|
this.handleTransformChange("scale", d);
|
|
10259
10313
|
}), e.appendChild(i);
|
|
10260
10314
|
const n = document.createElement("input");
|
|
10261
|
-
n.type = "number", n.className =
|
|
10315
|
+
n.type = "number", n.className = $.input, n.min = "0.1", n.max = "8", n.step = "0.1", n.value = String(((h = (l = this.currentClip) == null ? void 0 : l.visualTransform) == null ? void 0 : h.scale) ?? 1), n.style.width = "60px", n.style.padding = "4px 6px", n.style.border = `1px solid ${this.theme.inputBorder}`, n.style.borderRadius = "4px", n.style.fontSize = "12px", n.style.backgroundColor = this.theme.inputBackground, n.style.color = this.theme.textColor, n.addEventListener("change", (c) => {
|
|
10262
10316
|
const d = parseFloat(c.target.value);
|
|
10263
10317
|
this.handleTransformChange("scale", d);
|
|
10264
10318
|
}), e.appendChild(n);
|
|
10265
10319
|
const s = document.createElement("button");
|
|
10266
|
-
s.className =
|
|
10320
|
+
s.className = $.resetButton, s.textContent = "重置", s.style.padding = "4px 8px", s.style.border = `1px solid ${this.theme.buttonBorder}`, s.style.borderRadius = "4px", s.style.background = this.theme.buttonBackground, s.style.fontSize = "11px", s.style.cursor = "pointer", s.style.color = this.theme.textColor, s.addEventListener("click", () => {
|
|
10267
10321
|
this.handleTransformChange("scale", 1);
|
|
10268
10322
|
}), e.appendChild(s), this.scaleSlider = i, this.scaleInput = n, t.appendChild(e);
|
|
10269
10323
|
}
|
|
10324
|
+
renderVolumeControl(t) {
|
|
10325
|
+
var a, o;
|
|
10326
|
+
const e = document.createElement("div");
|
|
10327
|
+
e.className = $.row, e.style.display = "flex", e.style.alignItems = "center", e.style.gap = "8px";
|
|
10328
|
+
const i = document.createElement("input");
|
|
10329
|
+
i.type = "range", i.className = $.slider, i.min = "0", i.max = "1", i.step = "0.01", i.value = String(((a = this.currentClip) == null ? void 0 : a.volume) ?? 1), i.style.flex = "1", i.style.height = "4px", i.addEventListener("input", (l) => {
|
|
10330
|
+
const h = parseFloat(l.target.value);
|
|
10331
|
+
this.handleVolumeChange(h);
|
|
10332
|
+
}), e.appendChild(i);
|
|
10333
|
+
const n = document.createElement("input");
|
|
10334
|
+
n.type = "number", n.className = $.input, n.min = "0", n.max = "100", n.step = "1", n.value = String(Math.round((((o = this.currentClip) == null ? void 0 : o.volume) ?? 1) * 100)), n.style.width = "60px", n.style.padding = "4px 6px", n.style.border = `1px solid ${this.theme.inputBorder}`, n.style.borderRadius = "4px", n.style.fontSize = "12px", n.style.backgroundColor = this.theme.inputBackground, n.style.color = this.theme.textColor, n.addEventListener("change", (l) => {
|
|
10335
|
+
const h = parseFloat(l.target.value) / 100;
|
|
10336
|
+
this.handleVolumeChange(Math.max(0, Math.min(1, h)));
|
|
10337
|
+
}), e.appendChild(n);
|
|
10338
|
+
const s = document.createElement("span");
|
|
10339
|
+
s.style.fontSize = "12px", s.style.color = this.theme.labelColor, s.textContent = "%", e.appendChild(s), this.volumeSlider = i, this.volumeInput = n, t.appendChild(e);
|
|
10340
|
+
}
|
|
10341
|
+
handleVolumeChange(t) {
|
|
10342
|
+
if (!this.currentClip || !this.onClipUpdate) return;
|
|
10343
|
+
const e = Math.max(0, Math.min(1, t));
|
|
10344
|
+
this.currentClip = { ...this.currentClip, volume: e }, this.updateVolumeControls(), this.onClipUpdate(this.currentClip.id, { volume: e });
|
|
10345
|
+
}
|
|
10346
|
+
updateVolumeControls() {
|
|
10347
|
+
var e;
|
|
10348
|
+
const t = ((e = this.currentClip) == null ? void 0 : e.volume) ?? 1;
|
|
10349
|
+
this.volumeSlider && (this.volumeSlider.value = String(t)), this.volumeInput && (this.volumeInput.value = String(Math.round(t * 100)));
|
|
10350
|
+
}
|
|
10270
10351
|
clampValue(t, e) {
|
|
10271
10352
|
return t === "scale" ? Math.max(0.1, Math.min(8, e)) : e;
|
|
10272
10353
|
}
|
|
10273
10354
|
updateUIControls() {
|
|
10274
10355
|
var s;
|
|
10275
10356
|
const t = ((s = this.currentClip) == null ? void 0 : s.visualTransform) ?? { x: 0.5, y: 0.5, scale: 1 }, e = t.scale / 2, i = -e, n = 1 + e;
|
|
10276
|
-
this.
|
|
10357
|
+
this.updateSliderAndInput(this.xSlider, this.xInput, t.x, i, n), this.updateSliderAndInput(this.ySlider, this.yInput, t.y, i, n), this.scaleSlider && (this.scaleSlider.value = String(t.scale)), this.scaleInput && (this.scaleInput.value = String(t.scale));
|
|
10358
|
+
}
|
|
10359
|
+
updateSliderAndInput(t, e, i, n, s) {
|
|
10360
|
+
t && (t.value = String(i), t.min = String(n), t.max = String(s)), e && (e.value = String(i), e.min = String(n), e.max = String(s));
|
|
10277
10361
|
}
|
|
10278
10362
|
handleTransformChange(t, e) {
|
|
10279
10363
|
if (!this.currentClip || !this.onClipUpdate) return;
|
|
@@ -10285,9 +10369,6 @@ class Po {
|
|
|
10285
10369
|
const i = { ...this.currentClip.visualTransform ?? { x: 0.5, y: 0.5, scale: 1 } };
|
|
10286
10370
|
t.x !== void 0 && (i.x = this.clampValue("x", t.x)), t.y !== void 0 && (i.y = this.clampValue("y", t.y)), t.scale !== void 0 && (i.scale = this.clampValue("scale", t.scale)), this.currentClip = { ...this.currentClip, visualTransform: i }, this.updateUIControls(), this.onClipUpdate(this.currentClip.id, { visualTransform: i });
|
|
10287
10371
|
}
|
|
10288
|
-
applyTheme() {
|
|
10289
|
-
this.rootElement && (this.rootElement.style.backgroundColor = this.theme.backgroundColor, this.rootElement.style.border = `1px solid ${this.theme.borderColor}`, this.rootElement.style.borderRadius = "4px", this.rootElement.style.padding = "12px", this.rootElement.style.color = this.theme.textColor, this.rootElement.style.fontFamily = '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', this.rootElement.style.fontSize = "13px");
|
|
10290
|
-
}
|
|
10291
10372
|
}
|
|
10292
10373
|
class gn {
|
|
10293
10374
|
constructor(t) {
|
|
@@ -10884,7 +10965,7 @@ class mn {
|
|
|
10884
10965
|
e && (n = this.target.ensureTrackFromHistorySnapshot(e)), n && this.target.moveClipToTrack(t, n), this.target.updateClip(t, i);
|
|
10885
10966
|
}
|
|
10886
10967
|
}
|
|
10887
|
-
const
|
|
10968
|
+
const Eo = [
|
|
10888
10969
|
"type",
|
|
10889
10970
|
"externalId",
|
|
10890
10971
|
"src",
|
|
@@ -10901,8 +10982,8 @@ const xo = [
|
|
|
10901
10982
|
"visualTransform",
|
|
10902
10983
|
"separatedAudioClipId",
|
|
10903
10984
|
"separatedFromVideoClipId"
|
|
10904
|
-
],
|
|
10905
|
-
function
|
|
10985
|
+
], Ao = /* @__PURE__ */ new Set(["thumbnails"]);
|
|
10986
|
+
function Lo(r, t) {
|
|
10906
10987
|
return Object.is(r, t) ? !0 : r === void 0 || t === void 0 ? !1 : typeof r == "object" && typeof t == "object" ? JSON.stringify(r) === JSON.stringify(t) : !1;
|
|
10907
10988
|
}
|
|
10908
10989
|
class yn {
|
|
@@ -10973,34 +11054,34 @@ class yn {
|
|
|
10973
11054
|
e.startTime
|
|
10974
11055
|
);
|
|
10975
11056
|
const a = {}, o = {};
|
|
10976
|
-
return
|
|
10977
|
-
|
|
10978
|
-
}), Object.keys(a).length === 0 || Object.keys(a).every((h) =>
|
|
11057
|
+
return Eo.forEach((h) => {
|
|
11058
|
+
Lo(t[h], e[h]) || (a[h] = t[h], o[h] = e[h]);
|
|
11059
|
+
}), Object.keys(a).length === 0 || Object.keys(a).every((h) => Ao.has(h)) ? null : this.history.createUpdateClipAction(t.id, a, o);
|
|
10979
11060
|
}
|
|
10980
11061
|
}
|
|
10981
11062
|
function ri(r) {
|
|
10982
11063
|
r.notifySelectionChange(), r.emitSelectedClipChangeIfNeeded(), r.handleClipChange();
|
|
10983
11064
|
}
|
|
10984
|
-
function
|
|
11065
|
+
function Mo(r) {
|
|
10985
11066
|
var t, e;
|
|
10986
11067
|
r.notifySelectionChange(), (t = r.reloadClipThumbnailsIfNeeded) == null || t.call(r), (e = r.checkTrackDurationChange) == null || e.call(r), r.emitSelectedClipChangeIfNeeded(), r.handleClipChange();
|
|
10987
11068
|
}
|
|
10988
|
-
function
|
|
11069
|
+
function Ro(r, t, e = !1) {
|
|
10989
11070
|
if (!t || !e || r.type === "audio")
|
|
10990
11071
|
return !1;
|
|
10991
11072
|
const i = t.duration !== r.duration, n = t.startTimeAtSource !== r.startTimeAtSource || t.endTimeAtSource !== r.endTimeAtSource;
|
|
10992
11073
|
return i || n;
|
|
10993
11074
|
}
|
|
10994
|
-
function
|
|
11075
|
+
function Io(r, t) {
|
|
10995
11076
|
if (r.length === 0)
|
|
10996
11077
|
return !1;
|
|
10997
11078
|
const e = Math.max(...r.map((i) => i.endTime));
|
|
10998
11079
|
return t < e;
|
|
10999
11080
|
}
|
|
11000
|
-
function
|
|
11081
|
+
function Do(r) {
|
|
11001
11082
|
return r.currentCanPlay === r.nextCanPlay ? r.currentCanPlay : (r.setCanPlay(r.nextCanPlay), r.currentCanPlay && !r.nextCanPlay && r.playState === "playing" && (r.pauseTimeline(), r.setCurrentTime(r.clipEndTime || 1)), r.emitCanPlayChange(r.nextCanPlay), r.nextCanPlay);
|
|
11002
11083
|
}
|
|
11003
|
-
function
|
|
11084
|
+
function Go(r) {
|
|
11004
11085
|
const t = !r.id && r.startTime > 0;
|
|
11005
11086
|
return {
|
|
11006
11087
|
shouldJumpToTime: t,
|
|
@@ -11012,7 +11093,7 @@ function Fe(r) {
|
|
|
11012
11093
|
var t;
|
|
11013
11094
|
return r.applied ? (r.isExecutingHistoryAction || (t = r.recordHistory) == null || t.call(r), r.applyEffects(), !0) : !1;
|
|
11014
11095
|
}
|
|
11015
|
-
function
|
|
11096
|
+
function Oo(r) {
|
|
11016
11097
|
return Fe({
|
|
11017
11098
|
applied: r.applied,
|
|
11018
11099
|
isExecutingHistoryAction: r.isExecutingHistoryAction,
|
|
@@ -11032,7 +11113,7 @@ function Go(r) {
|
|
|
11032
11113
|
applyEffects: r.applyEffects
|
|
11033
11114
|
});
|
|
11034
11115
|
}
|
|
11035
|
-
function
|
|
11116
|
+
function Bo(r) {
|
|
11036
11117
|
var t;
|
|
11037
11118
|
r.isExecutingHistoryAction || (t = r.recordSplitClip) == null || t.call(r, r.clip1, r.clip2), r.emitClipUpdated(r.clip1), r.emitClipAdded(r.clip2), r.applyEffects();
|
|
11038
11119
|
}
|
|
@@ -11040,18 +11121,18 @@ const ai = {
|
|
|
11040
11121
|
x: 0.5,
|
|
11041
11122
|
y: 0.5,
|
|
11042
11123
|
scale: 1
|
|
11043
|
-
},
|
|
11124
|
+
}, Ho = 0.1, zo = 8;
|
|
11044
11125
|
function oi(r, t) {
|
|
11045
11126
|
return typeof r == "number" && Number.isFinite(r) ? r : t;
|
|
11046
11127
|
}
|
|
11047
|
-
function
|
|
11048
|
-
return Math.min(
|
|
11128
|
+
function No(r) {
|
|
11129
|
+
return Math.min(zo, Math.max(Ho, r));
|
|
11049
11130
|
}
|
|
11050
11131
|
function ut(r) {
|
|
11051
11132
|
return {
|
|
11052
11133
|
x: oi(r == null ? void 0 : r.x, ai.x),
|
|
11053
11134
|
y: oi(r == null ? void 0 : r.y, ai.y),
|
|
11054
|
-
scale:
|
|
11135
|
+
scale: No(oi(r == null ? void 0 : r.scale, ai.scale))
|
|
11055
11136
|
};
|
|
11056
11137
|
}
|
|
11057
11138
|
function ps(r, t, e = 1e-4) {
|
|
@@ -11092,7 +11173,7 @@ function Sn(r, t, e) {
|
|
|
11092
11173
|
centerY: l
|
|
11093
11174
|
};
|
|
11094
11175
|
}
|
|
11095
|
-
function
|
|
11176
|
+
function Fo(r, t, e, i) {
|
|
11096
11177
|
const n = ut(r), s = i.width > 0 ? i.width : 1, a = i.height > 0 ? i.height : 1;
|
|
11097
11178
|
return ut({
|
|
11098
11179
|
x: n.x + t / s,
|
|
@@ -11100,7 +11181,7 @@ function No(r, t, e, i) {
|
|
|
11100
11181
|
scale: n.scale
|
|
11101
11182
|
});
|
|
11102
11183
|
}
|
|
11103
|
-
function
|
|
11184
|
+
function Vo(r, t, e, i, n, s) {
|
|
11104
11185
|
const a = ut(s), o = Math.max(n.width / 2, 1), l = Math.max(n.height / 2, 1), h = Math.abs(e - r) / o, c = Math.abs(i - t) / l;
|
|
11105
11186
|
return ut({
|
|
11106
11187
|
x: a.x,
|
|
@@ -11227,7 +11308,7 @@ class Wo {
|
|
|
11227
11308
|
const i = this.toLocalPoint(e);
|
|
11228
11309
|
let n = this.interaction.startTransform;
|
|
11229
11310
|
if (this.interaction.mode === "move")
|
|
11230
|
-
n =
|
|
11311
|
+
n = Fo(
|
|
11231
11312
|
this.interaction.startTransform,
|
|
11232
11313
|
i.x - this.interaction.pointerStart.x,
|
|
11233
11314
|
i.y - this.interaction.pointerStart.y,
|
|
@@ -11235,7 +11316,7 @@ class Wo {
|
|
|
11235
11316
|
);
|
|
11236
11317
|
else {
|
|
11237
11318
|
const l = this.interaction.startTransform.x * this.interaction.frameSize.width, h = this.interaction.startTransform.y * this.interaction.frameSize.height;
|
|
11238
|
-
n =
|
|
11319
|
+
n = Vo(
|
|
11239
11320
|
l,
|
|
11240
11321
|
h,
|
|
11241
11322
|
i.x,
|
|
@@ -11301,14 +11382,14 @@ class Wo {
|
|
|
11301
11382
|
e && (e.style.cursor = t || "");
|
|
11302
11383
|
}
|
|
11303
11384
|
}
|
|
11304
|
-
function
|
|
11385
|
+
function Yo(r, t) {
|
|
11305
11386
|
return !ge(r.mode) || !t ? r : {
|
|
11306
11387
|
mode: vt.mode,
|
|
11307
11388
|
width: t.width,
|
|
11308
11389
|
height: t.height
|
|
11309
11390
|
};
|
|
11310
11391
|
}
|
|
11311
|
-
function
|
|
11392
|
+
function Xo(r) {
|
|
11312
11393
|
return r.getAttribute("src") || r.currentSrc || r.src || "";
|
|
11313
11394
|
}
|
|
11314
11395
|
function Tn(r) {
|
|
@@ -11326,7 +11407,7 @@ function jt(r) {
|
|
|
11326
11407
|
} catch {
|
|
11327
11408
|
}
|
|
11328
11409
|
}
|
|
11329
|
-
function
|
|
11410
|
+
function Uo(r) {
|
|
11330
11411
|
var t;
|
|
11331
11412
|
try {
|
|
11332
11413
|
const e = r.play();
|
|
@@ -11352,7 +11433,7 @@ function bn(r) {
|
|
|
11352
11433
|
const t = Number.parseFloat(r);
|
|
11353
11434
|
return Number.isFinite(t) ? t : 0;
|
|
11354
11435
|
}
|
|
11355
|
-
class
|
|
11436
|
+
class $o {
|
|
11356
11437
|
constructor(t = {}, e = {}) {
|
|
11357
11438
|
f(this, "container", null);
|
|
11358
11439
|
f(this, "rootElement", null);
|
|
@@ -11396,7 +11477,7 @@ class Uo {
|
|
|
11396
11477
|
}
|
|
11397
11478
|
this.detach(), this.container = t;
|
|
11398
11479
|
const e = document.createElement("div");
|
|
11399
|
-
e.className = this.dependencies.rootClassName ?? "timeline-preview-root", e.style.position = "relative", e.style.width = "100%", e.style.height = "100%", e.style.overflow = "hidden"
|
|
11480
|
+
e.className = this.dependencies.rootClassName ?? "timeline-preview-root", e.style.position = "relative", e.style.width = "100%", e.style.height = "100%", e.style.overflow = "hidden";
|
|
11400
11481
|
const i = document.createElement("div");
|
|
11401
11482
|
i.className = this.dependencies.frameClassName ?? "timeline-preview-frame", i.style.position = "absolute", i.style.left = "0", i.style.top = "0", i.style.overflow = "hidden", i.style.background = "#000000", e.appendChild(i);
|
|
11402
11483
|
const n = document.createElement("div");
|
|
@@ -11441,7 +11522,7 @@ class Uo {
|
|
|
11441
11522
|
this.requestedAspectRatio = Ht(t), this.updateFrameLayout();
|
|
11442
11523
|
}
|
|
11443
11524
|
getAspectRatio() {
|
|
11444
|
-
return
|
|
11525
|
+
return Yo(this.requestedAspectRatio, this.resolvedAutoAspectRatio);
|
|
11445
11526
|
}
|
|
11446
11527
|
createMediaElement(t, e) {
|
|
11447
11528
|
const i = this.dependencies.createMediaElement, n = i ? i(t, e) : document.createElement(t === "video" ? "video" : "audio");
|
|
@@ -11519,7 +11600,7 @@ class Uo {
|
|
|
11519
11600
|
}
|
|
11520
11601
|
assignClipToSlot(t, e) {
|
|
11521
11602
|
t.entry = e, t.isActive = t.role === "current";
|
|
11522
|
-
const i = e.clip.src, n = t.attachedSrc ||
|
|
11603
|
+
const i = e.clip.src, n = t.attachedSrc || Xo(t.element);
|
|
11523
11604
|
(t.attachedClipId !== e.clip.id || n !== i) && (t.attachedClipId = e.clip.id, t.attachedSrc = i, t.isLoading = !0, t.isBuffering = !1, t.element.setAttribute("src", i), ae(t.element)), this.configureAudioRouting(t, e);
|
|
11524
11605
|
}
|
|
11525
11606
|
configureAudioRouting(t, e) {
|
|
@@ -11544,7 +11625,7 @@ class Uo {
|
|
|
11544
11625
|
syncCurrentSlot(t, e, i, n) {
|
|
11545
11626
|
t.isActive = !0, t.entry = e, t.element.playbackRate = i;
|
|
11546
11627
|
const s = e.mediaTime / 1e3, a = Math.max(0.1, i * 0.15);
|
|
11547
|
-
Math.abs(t.element.currentTime - s) > a
|
|
11628
|
+
Math.abs(t.element.currentTime - s) > a && (t.isSeeking = !0, t.isBuffering = !0, vn(t.element, s), this.refreshBufferingState()), n === "playing" ? (this.resumeAudioContext(), Uo(t.element)) : jt(t.element), this.setSlotVisible(t, e.hasVisual, 1e3 - e.trackOrder);
|
|
11548
11629
|
}
|
|
11549
11630
|
preparePreloadSlot(t, e) {
|
|
11550
11631
|
if (t.isActive = !1, t.isBuffering = !1, t.isSeeking = !1, !e) {
|
|
@@ -11731,22 +11812,22 @@ class Uo {
|
|
|
11731
11812
|
return ((e = this.transientVisualTransform) == null ? void 0 : e.clipId) === t.clip.id ? this.transientVisualTransform.transform : ut(t.clip.visualTransform);
|
|
11732
11813
|
}
|
|
11733
11814
|
}
|
|
11734
|
-
class
|
|
11815
|
+
class qo extends $o {
|
|
11735
11816
|
destroy() {
|
|
11736
11817
|
this.detach();
|
|
11737
11818
|
}
|
|
11738
11819
|
}
|
|
11739
|
-
function
|
|
11820
|
+
function Ko(r) {
|
|
11740
11821
|
return "dom";
|
|
11741
11822
|
}
|
|
11742
|
-
const
|
|
11823
|
+
const jo = 36e5, Zo = 3e5;
|
|
11743
11824
|
function ys(r) {
|
|
11744
11825
|
return r.length === 0 ? 0 : r.reduce((t, e) => Math.max(t, e.startTime + e.duration), 0);
|
|
11745
11826
|
}
|
|
11746
11827
|
function Ss(r) {
|
|
11747
|
-
return Math.max(r +
|
|
11828
|
+
return Math.max(r + Zo, jo);
|
|
11748
11829
|
}
|
|
11749
|
-
function
|
|
11830
|
+
function Jo(r) {
|
|
11750
11831
|
const t = ys(r.clips);
|
|
11751
11832
|
return t === r.lastTrackDuration ? r.lastTrackDuration : (r.setLastTrackDuration(t), r.setTimelineDuration(Ss(t)), r.emitTrackDurationChange(t), t);
|
|
11752
11833
|
}
|
|
@@ -11776,10 +11857,10 @@ class wn {
|
|
|
11776
11857
|
this.listeners.clear();
|
|
11777
11858
|
}
|
|
11778
11859
|
}
|
|
11779
|
-
function
|
|
11860
|
+
function Qo(r) {
|
|
11780
11861
|
return [...r].sort((t, e) => t.order - e.order);
|
|
11781
11862
|
}
|
|
11782
|
-
function
|
|
11863
|
+
function tl(r) {
|
|
11783
11864
|
return [...r].sort((t, e) => t.startTime - e.startTime);
|
|
11784
11865
|
}
|
|
11785
11866
|
function li(r, t, e) {
|
|
@@ -11795,15 +11876,15 @@ function li(r, t, e) {
|
|
|
11795
11876
|
hasAudio: !0
|
|
11796
11877
|
};
|
|
11797
11878
|
}
|
|
11798
|
-
class
|
|
11879
|
+
class el {
|
|
11799
11880
|
resolveActiveClipsAtTime(t, e) {
|
|
11800
11881
|
return this.resolvePlaybackPlan(t, e).activeClips;
|
|
11801
11882
|
}
|
|
11802
11883
|
resolvePlaybackPlan(t, e) {
|
|
11803
|
-
const i =
|
|
11884
|
+
const i = Qo(t), n = [], s = [];
|
|
11804
11885
|
let a = null;
|
|
11805
11886
|
for (const o of i) {
|
|
11806
|
-
const l =
|
|
11887
|
+
const l = tl(o.clips), h = l.find((d) => e >= d.startTime && e < d.endTime);
|
|
11807
11888
|
if (h) {
|
|
11808
11889
|
const d = h.startTimeAtSource + (e - h.startTime);
|
|
11809
11890
|
n.push(li(o, h, d));
|
|
@@ -11821,7 +11902,7 @@ class tl {
|
|
|
11821
11902
|
};
|
|
11822
11903
|
}
|
|
11823
11904
|
}
|
|
11824
|
-
function
|
|
11905
|
+
function il(r) {
|
|
11825
11906
|
var e;
|
|
11826
11907
|
const t = r.getSelectedClip() || ((e = r.findFallbackSelectedClip) == null ? void 0 : e.call(r)) || null;
|
|
11827
11908
|
return {
|
|
@@ -11829,7 +11910,7 @@ function el(r) {
|
|
|
11829
11910
|
hasSelectedClip: !!t
|
|
11830
11911
|
};
|
|
11831
11912
|
}
|
|
11832
|
-
function
|
|
11913
|
+
function nl(r) {
|
|
11833
11914
|
var i;
|
|
11834
11915
|
const t = r.resolveSelectedClip(), e = ((i = t.clip) == null ? void 0 : i.id) || null;
|
|
11835
11916
|
return e === r.lastSelectedClipId ? r.lastSelectedClipId : (r.emitSelectedClipChange(t), e);
|
|
@@ -11838,23 +11919,23 @@ function Cs(r, t) {
|
|
|
11838
11919
|
var e, i, n, s;
|
|
11839
11920
|
return ((i = (e = r.findById(t)) == null ? void 0 : e.getId) == null ? void 0 : i.call(e)) || ((s = (n = r.getLastTrack()) == null ? void 0 : n.getId) == null ? void 0 : s.call(n)) || t;
|
|
11840
11921
|
}
|
|
11841
|
-
function
|
|
11922
|
+
function sl(r) {
|
|
11842
11923
|
if (r.placement.status === "use_existing_track")
|
|
11843
11924
|
return r.trackCollection.addClipToTrack(r.placement.trackId, r.clip);
|
|
11844
11925
|
const t = r.createTrack(r.placement.trackType, r.placement.suggestedTrackName), e = Cs(r.trackCollection, t);
|
|
11845
11926
|
return e ? r.trackCollection.addClipToTrack(e, r.clip) : !1;
|
|
11846
11927
|
}
|
|
11847
|
-
function
|
|
11928
|
+
function rl(r, t, e) {
|
|
11848
11929
|
return t.trackId ? r.removeClipFromTrack(t.trackId, e) : !1;
|
|
11849
11930
|
}
|
|
11850
|
-
function
|
|
11931
|
+
function al(r) {
|
|
11851
11932
|
return r.trackCollection.moveClipToTrack(
|
|
11852
11933
|
r.command.clip,
|
|
11853
11934
|
r.command.sourceTrackId,
|
|
11854
11935
|
r.command.targetTrackId
|
|
11855
11936
|
);
|
|
11856
11937
|
}
|
|
11857
|
-
function
|
|
11938
|
+
function ol(r) {
|
|
11858
11939
|
const t = r.createTrack(r.trackType, r.trackName), e = Cs(r.trackCollection, t);
|
|
11859
11940
|
return e ? r.trackCollection.moveClipToTrack(r.clip, r.currentTrackId, e) : !1;
|
|
11860
11941
|
}
|
|
@@ -11862,11 +11943,11 @@ function Bt(r) {
|
|
|
11862
11943
|
var t, e, i, n;
|
|
11863
11944
|
(t = r.checkTrackDurationChange) == null || t.call(r), (e = r.updateCanPlayState) == null || e.call(r), (i = r.updateTrackInfoPanel) == null || i.call(r), (n = r.handleClipChange) == null || n.call(r);
|
|
11864
11945
|
}
|
|
11865
|
-
function
|
|
11946
|
+
function ll(r) {
|
|
11866
11947
|
var t, e;
|
|
11867
11948
|
r.notifySelectionChange(), (t = r.cleanupEmptyTracks) == null || t.call(r), r.updateTrackInfoPanel(), (e = r.batchDraw) == null || e.call(r), r.syncPreviewSession();
|
|
11868
11949
|
}
|
|
11869
|
-
class
|
|
11950
|
+
class hl {
|
|
11870
11951
|
constructor() {
|
|
11871
11952
|
f(this, "panel", null);
|
|
11872
11953
|
}
|
|
@@ -11985,7 +12066,7 @@ class _n {
|
|
|
11985
12066
|
);
|
|
11986
12067
|
}
|
|
11987
12068
|
}
|
|
11988
|
-
class
|
|
12069
|
+
class cl {
|
|
11989
12070
|
constructor(t) {
|
|
11990
12071
|
this.tracks = t;
|
|
11991
12072
|
}
|
|
@@ -12107,7 +12188,7 @@ class hl {
|
|
|
12107
12188
|
return typeof t.getId == "function" ? t.getId() : typeof t.id == "string" ? t.id : null;
|
|
12108
12189
|
}
|
|
12109
12190
|
}
|
|
12110
|
-
class
|
|
12191
|
+
class dl {
|
|
12111
12192
|
constructor(t = []) {
|
|
12112
12193
|
f(this, "tracks", []);
|
|
12113
12194
|
f(this, "trackCounter", 0);
|
|
@@ -12210,7 +12291,7 @@ function oe(r, t, e) {
|
|
|
12210
12291
|
function Pn(r, t) {
|
|
12211
12292
|
return r.reduce((e, i) => e + Ft(i.type), t);
|
|
12212
12293
|
}
|
|
12213
|
-
function
|
|
12294
|
+
function ul(r, t) {
|
|
12214
12295
|
let e = t;
|
|
12215
12296
|
return r.map((i) => {
|
|
12216
12297
|
const n = Ft(i.type), s = {
|
|
@@ -12222,7 +12303,7 @@ function dl(r, t) {
|
|
|
12222
12303
|
});
|
|
12223
12304
|
}
|
|
12224
12305
|
const Ts = 200, vs = 8, xn = "timeline-manager-managed-layout-styles";
|
|
12225
|
-
function
|
|
12306
|
+
function fl() {
|
|
12226
12307
|
if (typeof document > "u" || document.getElementById(xn))
|
|
12227
12308
|
return;
|
|
12228
12309
|
const r = document.createElement("style");
|
|
@@ -12254,8 +12335,8 @@ function ul() {
|
|
|
12254
12335
|
}
|
|
12255
12336
|
`, document.head.appendChild(r);
|
|
12256
12337
|
}
|
|
12257
|
-
function
|
|
12258
|
-
|
|
12338
|
+
function gl(r, t) {
|
|
12339
|
+
fl();
|
|
12259
12340
|
const e = t.leftPanelWidth ?? Ts, i = t.scrollbarSize ?? vs;
|
|
12260
12341
|
r.innerHTML = "", r.classList.add("timeline-manager-root"), r.style.gridTemplateColumns = `${e}px minmax(0, 1fr)`, r.style.gridTemplateRows = `${t.timeScaleHeight}px minmax(0, 1fr)`, r.style.background = t.theme.background;
|
|
12261
12342
|
const n = Ct("div");
|
|
@@ -12293,7 +12374,7 @@ function Ct(r) {
|
|
|
12293
12374
|
function He(r, t) {
|
|
12294
12375
|
r.style.position = "relative", r.style.minWidth = "0", r.style.minHeight = "0", r.style.maxWidth = "100%", r.style.boxSizing = "border-box", r.style.background = t.background, r.style.color = t.clipName;
|
|
12295
12376
|
}
|
|
12296
|
-
class
|
|
12377
|
+
class pl {
|
|
12297
12378
|
constructor(t) {
|
|
12298
12379
|
f(this, "currentTime");
|
|
12299
12380
|
f(this, "playState");
|
|
@@ -12319,7 +12400,7 @@ class gl {
|
|
|
12319
12400
|
this.speed = t;
|
|
12320
12401
|
}
|
|
12321
12402
|
}
|
|
12322
|
-
class
|
|
12403
|
+
class ml {
|
|
12323
12404
|
constructor() {
|
|
12324
12405
|
f(this, "selectedClipId", null);
|
|
12325
12406
|
}
|
|
@@ -12336,7 +12417,7 @@ class pl {
|
|
|
12336
12417
|
return this.selectedClipId !== null;
|
|
12337
12418
|
}
|
|
12338
12419
|
}
|
|
12339
|
-
class
|
|
12420
|
+
class yl {
|
|
12340
12421
|
constructor(t) {
|
|
12341
12422
|
f(this, "zoom");
|
|
12342
12423
|
f(this, "duration");
|
|
@@ -12395,11 +12476,11 @@ class En {
|
|
|
12395
12476
|
f(this, "selectionStore");
|
|
12396
12477
|
f(this, "playbackStore");
|
|
12397
12478
|
f(this, "viewportStore");
|
|
12398
|
-
this.selectionStore = new
|
|
12479
|
+
this.selectionStore = new ml(), this.playbackStore = new pl({
|
|
12399
12480
|
currentTime: t.currentTime,
|
|
12400
12481
|
playState: t.playState,
|
|
12401
12482
|
speed: t.speed
|
|
12402
|
-
}), this.viewportStore = new
|
|
12483
|
+
}), this.viewportStore = new yl({
|
|
12403
12484
|
zoom: t.zoom,
|
|
12404
12485
|
duration: t.duration,
|
|
12405
12486
|
scrollLeft: t.scrollLeft,
|
|
@@ -12482,7 +12563,7 @@ class En {
|
|
|
12482
12563
|
this.viewportStore.setContentHeight(t);
|
|
12483
12564
|
}
|
|
12484
12565
|
}
|
|
12485
|
-
class
|
|
12566
|
+
class Sl {
|
|
12486
12567
|
constructor(t, e, i, n, s) {
|
|
12487
12568
|
f(this, "stage");
|
|
12488
12569
|
f(this, "layer");
|
|
@@ -12512,7 +12593,7 @@ class yl {
|
|
|
12512
12593
|
currentTime: i.currentTime || 0,
|
|
12513
12594
|
playState: i.playState || "paused",
|
|
12514
12595
|
container: i.container,
|
|
12515
|
-
theme:
|
|
12596
|
+
theme: Ve(i.theme),
|
|
12516
12597
|
timeScaleHeight: i.timeScaleHeight
|
|
12517
12598
|
}, this.theme = this.config.theme, this.timeScaleHeight = i.timeScaleHeight || 40, this.initEventListeners(), this.render();
|
|
12518
12599
|
}
|
|
@@ -12552,7 +12633,7 @@ class yl {
|
|
|
12552
12633
|
}
|
|
12553
12634
|
initEventListeners() {
|
|
12554
12635
|
this.stage.on("click", (t) => {
|
|
12555
|
-
t.target.getLayer() === this.layer && this.onTimeChange(this.pixelToTime(t.evt.offsetX));
|
|
12636
|
+
t.target.getLayer() === this.layer && this.onTimeChange(this.pixelToTime(t.evt.offsetX), "seek");
|
|
12556
12637
|
}), this.stage.on("mousedown", (t) => {
|
|
12557
12638
|
t.target.getLayer() === this.layer && (this.updatePointerPosition(t.evt.offsetX), this.isPointerInsideTimeline = !0, this.isDragging = !0, this.dragStartX = t.evt.clientX, this.bindGlobalPointerListenersForDrag());
|
|
12558
12639
|
}), this.stage.on("mousemove", (t) => {
|
|
@@ -12597,7 +12678,7 @@ class yl {
|
|
|
12597
12678
|
if (i)
|
|
12598
12679
|
i.width(t), i.height(e), i.fill(this.theme.background), i.stroke(this.theme.border);
|
|
12599
12680
|
else {
|
|
12600
|
-
const n =
|
|
12681
|
+
const n = it.createRect(0, 0, t, e, this.theme.background, this.theme.border, 1);
|
|
12601
12682
|
n.name("timeline-header-background"), this.layer.add(n);
|
|
12602
12683
|
}
|
|
12603
12684
|
this.layer.find(".time-tick-line").forEach((n) => n.remove()), this.layer.find(".time-tick-text").forEach((n) => n.remove()), this.renderTimeTicks(), this.layer.batchDraw();
|
|
@@ -12606,7 +12687,7 @@ class yl {
|
|
|
12606
12687
|
const t = this.stage.width(), e = this.scrollLeft, i = this.scrollLeft + t, n = O.pixelsToTime(e, this.config.zoom), s = O.pixelsToTime(i, this.config.zoom), a = O.msToSeconds(n), o = O.msToSeconds(s), { majorStep: l, minorStep: h } = O.getTickConfig(this.config.zoom), c = O.generateVisibleTicks(a - 10, o + 10, l, h);
|
|
12607
12688
|
for (const d of c) {
|
|
12608
12689
|
const u = this.timeToPixel(d.time);
|
|
12609
|
-
u >= -20 && u <= t + 20 &&
|
|
12690
|
+
u >= -20 && u <= t + 20 && it.drawTimeTick(
|
|
12610
12691
|
this.layer,
|
|
12611
12692
|
u,
|
|
12612
12693
|
0,
|
|
@@ -12626,7 +12707,7 @@ class yl {
|
|
|
12626
12707
|
return Math.max(0, Math.min(e, t));
|
|
12627
12708
|
}
|
|
12628
12709
|
}
|
|
12629
|
-
class
|
|
12710
|
+
class Cl {
|
|
12630
12711
|
constructor(t, e, i, n, s, a) {
|
|
12631
12712
|
f(this, "container");
|
|
12632
12713
|
f(this, "lineElement");
|
|
@@ -12651,7 +12732,10 @@ class Sl {
|
|
|
12651
12732
|
f(this, "handleMouseDown", (t) => {
|
|
12652
12733
|
t.preventDefault(), t.stopPropagation(), this.isDragging = !0, this.bindGlobalPointerListeners();
|
|
12653
12734
|
});
|
|
12654
|
-
|
|
12735
|
+
f(this, "handleHandleClick", (t) => {
|
|
12736
|
+
t.preventDefault(), t.stopPropagation();
|
|
12737
|
+
});
|
|
12738
|
+
this.container = t, this.currentTime = e, this.zoom = i, this.height = n, this.theme = s, this.onTimeChange = a, this.container.innerHTML = "", this.container.style.position = "absolute", this.container.style.pointerEvents = "none", this.lineElement = document.createElement("div"), this.lineElement.className = "timeline-manager-playhead-line", this.lineElement.style.position = "absolute", this.lineElement.style.top = "0", this.lineElement.style.width = "1px", this.lineElement.style.background = this.theme.playhead, this.lineElement.style.pointerEvents = "none", this.handleElement = document.createElement("div"), this.handleElement.className = "timeline-manager-playhead-handle", this.handleElement.style.position = "absolute", this.handleElement.style.top = "0", this.handleElement.style.width = "18px", this.handleElement.style.height = "12px", this.handleElement.style.marginLeft = "-9px", this.handleElement.style.background = this.theme.playhead, this.handleElement.style.clipPath = "polygon(50% 100%, 0 0, 100% 0)", this.handleElement.style.cursor = "ew-resize", this.handleElement.style.pointerEvents = "auto", this.container.appendChild(this.lineElement), this.container.appendChild(this.handleElement), this.handleElement.addEventListener("mousedown", this.handleMouseDown), this.handleElement.addEventListener("click", this.handleHandleClick), this.render();
|
|
12655
12739
|
}
|
|
12656
12740
|
setCurrentTime(t) {
|
|
12657
12741
|
this.currentTime = Math.max(0, t), this.render();
|
|
@@ -12669,7 +12753,7 @@ class Sl {
|
|
|
12669
12753
|
this.height = Math.max(0, t), this.render();
|
|
12670
12754
|
}
|
|
12671
12755
|
destroy() {
|
|
12672
|
-
this.handleElement.removeEventListener("mousedown", this.handleMouseDown), this.unbindGlobalPointerListeners(), this.container.innerHTML = "";
|
|
12756
|
+
this.handleElement.removeEventListener("mousedown", this.handleMouseDown), this.handleElement.removeEventListener("click", this.handleHandleClick), this.unbindGlobalPointerListeners(), this.container.innerHTML = "";
|
|
12673
12757
|
}
|
|
12674
12758
|
bindGlobalPointerListeners() {
|
|
12675
12759
|
this.hasBoundGlobalPointerListeners || (this.hasBoundGlobalPointerListeners = we({
|
|
@@ -12687,7 +12771,7 @@ class Sl {
|
|
|
12687
12771
|
}
|
|
12688
12772
|
updateTimeFromClientX(t) {
|
|
12689
12773
|
const e = this.container.getBoundingClientRect(), i = t - e.left, n = O.pixelsToTime(i - at + this.scrollLeft, this.zoom);
|
|
12690
|
-
this.onTimeChange(Math.max(0, n));
|
|
12774
|
+
this.onTimeChange(Math.max(0, n), "scrub");
|
|
12691
12775
|
}
|
|
12692
12776
|
render() {
|
|
12693
12777
|
const t = O.timeToPixels(this.currentTime, this.zoom) - this.scrollLeft + at, e = t >= 0 && t <= this.container.clientWidth;
|
|
@@ -12744,7 +12828,7 @@ class An {
|
|
|
12744
12828
|
container: this.container,
|
|
12745
12829
|
width: this.container.clientWidth,
|
|
12746
12830
|
height: this.container.clientHeight
|
|
12747
|
-
}), this.layer = new X.Layer(), this.layer.name("scrollbar-layer"), this.stage.add(this.layer), this.hitAreaRect =
|
|
12831
|
+
}), this.layer = new X.Layer(), this.layer.name("scrollbar-layer"), this.stage.add(this.layer), this.hitAreaRect = it.createRect(0, 0, 0, 0, "rgba(0, 0, 0, 0.001)", "transparent", 0), this.hitAreaRect.name("scrollbar-hit-area"), this.thumbRect = it.createRect(0, 0, 0, 0, this.theme.scrollbarThumb || "#444444", this.theme.scrollbarThumbBorder || this.theme.scrollbarBorder || "#555555", 1), this.thumbRect.name("scrollbar-thumb"), this.thumbRect.cornerRadius(999), this.layer.add(this.hitAreaRect), this.layer.add(this.thumbRect), this.stage.on("mousedown", this.handleStageMouseDown), this.stage.on("mouseup", this.handleStageMouseUp), this.stage.on("mouseenter", this.handleStageMouseEnter), this.stage.on("mousemove", this.handleStageMouseMove), this.stage.on("mouseleave", this.handleStageMouseLeave), this.render();
|
|
12748
12832
|
}
|
|
12749
12833
|
setViewportMetrics(t, e) {
|
|
12750
12834
|
this.viewportSize = Math.max(0, t), this.contentSize = Math.max(0, e), this.scrollOffset = this.clampScrollOffset(this.scrollOffset), this.render();
|
|
@@ -12831,7 +12915,7 @@ class An {
|
|
|
12831
12915
|
return this.scrollOffset / i * n;
|
|
12832
12916
|
}
|
|
12833
12917
|
}
|
|
12834
|
-
class
|
|
12918
|
+
class Tl {
|
|
12835
12919
|
constructor() {
|
|
12836
12920
|
f(this, "entries", /* @__PURE__ */ new Map());
|
|
12837
12921
|
}
|
|
@@ -12847,7 +12931,7 @@ class Cl {
|
|
|
12847
12931
|
this.entries.clear();
|
|
12848
12932
|
}
|
|
12849
12933
|
}
|
|
12850
|
-
class
|
|
12934
|
+
class vl {
|
|
12851
12935
|
constructor() {
|
|
12852
12936
|
f(this, "panel", null);
|
|
12853
12937
|
f(this, "config", null);
|
|
@@ -12856,7 +12940,7 @@ class Tl {
|
|
|
12856
12940
|
init(t) {
|
|
12857
12941
|
this.config = t;
|
|
12858
12942
|
const e = this.convertTheme(t.theme);
|
|
12859
|
-
this.panel = new
|
|
12943
|
+
this.panel = new xo({
|
|
12860
12944
|
container: t.container,
|
|
12861
12945
|
theme: e,
|
|
12862
12946
|
onClipUpdate: (i, n) => {
|
|
@@ -12871,7 +12955,6 @@ class Tl {
|
|
|
12871
12955
|
const t = this.config.getSelectedClip();
|
|
12872
12956
|
this.panel.setClip(t);
|
|
12873
12957
|
}
|
|
12874
|
-
// 外部更新时调用(如预览组件更新 visualTransform)
|
|
12875
12958
|
updateFromExternal() {
|
|
12876
12959
|
this.isInternalUpdate || this.update();
|
|
12877
12960
|
}
|
|
@@ -12895,10 +12978,10 @@ class Tl {
|
|
|
12895
12978
|
};
|
|
12896
12979
|
}
|
|
12897
12980
|
}
|
|
12898
|
-
const
|
|
12899
|
-
version:
|
|
12900
|
-
},
|
|
12901
|
-
class
|
|
12981
|
+
const bl = "2.0.1", wl = {
|
|
12982
|
+
version: bl
|
|
12983
|
+
}, kl = 1, _l = 2, Pl = 8e3;
|
|
12984
|
+
class Il {
|
|
12902
12985
|
constructor(t = {}) {
|
|
12903
12986
|
f(this, "timeline", null);
|
|
12904
12987
|
f(this, "tracks", []);
|
|
@@ -12959,7 +13042,7 @@ class Rl {
|
|
|
12959
13042
|
f(this, "rootWheelListener", (t) => {
|
|
12960
13043
|
this.handleUnifiedWheel(t);
|
|
12961
13044
|
});
|
|
12962
|
-
f(this, "mountManager", new
|
|
13045
|
+
f(this, "mountManager", new Tl());
|
|
12963
13046
|
f(this, "pendingDraftData", null);
|
|
12964
13047
|
this.config = {
|
|
12965
13048
|
duration: t.duration || 36e5,
|
|
@@ -12967,7 +13050,7 @@ class Rl {
|
|
|
12967
13050
|
currentTime: t.currentTime || 0,
|
|
12968
13051
|
playState: t.playState || "paused",
|
|
12969
13052
|
container: t.container,
|
|
12970
|
-
theme:
|
|
13053
|
+
theme: Ve(t.theme),
|
|
12971
13054
|
timeScaleHeight: t.timeScaleHeight,
|
|
12972
13055
|
logConfig: t.logConfig,
|
|
12973
13056
|
speed: t.speed || 1,
|
|
@@ -12977,7 +13060,7 @@ class Rl {
|
|
|
12977
13060
|
thumbnailProvider: t.thumbnailProvider,
|
|
12978
13061
|
previewBackend: t.previewBackend ?? "dom",
|
|
12979
13062
|
previewSourceResolver: t.previewSourceResolver
|
|
12980
|
-
}, R.setConfig(this.config.logConfig), R.debug("TimelineManager", "日志系统初始化完成", { logConfig: this.config.logConfig }), this.thumbnailProvider = t.thumbnailProvider || null, this.trackInfoPanelController = new
|
|
13063
|
+
}, R.setConfig(this.config.logConfig), R.debug("TimelineManager", "日志系统初始化完成", { logConfig: this.config.logConfig }), this.thumbnailProvider = t.thumbnailProvider || null, this.trackInfoPanelController = new hl(), this.eventDispatcher = new wn({
|
|
12981
13064
|
can_play_change: () => ({ canPlay: this.canPlay }),
|
|
12982
13065
|
selected_clip_change: () => this.resolveSelectedClipSnapshot(),
|
|
12983
13066
|
source_loading_change: () => this.getSourceLoadingState(),
|
|
@@ -13002,7 +13085,7 @@ class Rl {
|
|
|
13002
13085
|
findTrackByClipId: this.findTrackByClipId.bind(this),
|
|
13003
13086
|
getDefaultTrack: () => this.getDefaultTrackForHistory(),
|
|
13004
13087
|
loadClipThumbnails: this.loadClipThumbnails.bind(this)
|
|
13005
|
-
}), this.trackManager = new
|
|
13088
|
+
}), this.trackManager = new dl(), this.timelineStore = new En({
|
|
13006
13089
|
currentTime: this.config.currentTime,
|
|
13007
13090
|
playState: this.config.playState,
|
|
13008
13091
|
speed: this.config.speed || 1,
|
|
@@ -13042,7 +13125,7 @@ class Rl {
|
|
|
13042
13125
|
return this.timelineCommands || (this.timelineCommands = new gn(this.getTimelineStore())), this.timelineCommands;
|
|
13043
13126
|
}
|
|
13044
13127
|
getTrackCollection() {
|
|
13045
|
-
return new
|
|
13128
|
+
return new cl(this.tracks);
|
|
13046
13129
|
}
|
|
13047
13130
|
getTimelinePresentationAdapter() {
|
|
13048
13131
|
return this.timelinePresentationAdapter || (this.timelinePresentationAdapter = new kn()), this.timelinePresentationAdapter;
|
|
@@ -13065,10 +13148,10 @@ class Rl {
|
|
|
13065
13148
|
})), this.timelineTrackBridge;
|
|
13066
13149
|
}
|
|
13067
13150
|
getTimelinePlaybackResolver() {
|
|
13068
|
-
return this.timelinePlaybackResolver || (this.timelinePlaybackResolver = new
|
|
13151
|
+
return this.timelinePlaybackResolver || (this.timelinePlaybackResolver = new el()), this.timelinePlaybackResolver;
|
|
13069
13152
|
}
|
|
13070
13153
|
resolveConfiguredPreviewBackend() {
|
|
13071
|
-
return this.runtimePreviewBackendOverride ? (this.resolvedPreviewBackend = this.runtimePreviewBackendOverride, this.resolvedPreviewBackend) : (this.resolvedPreviewBackend =
|
|
13154
|
+
return this.runtimePreviewBackendOverride ? (this.resolvedPreviewBackend = this.runtimePreviewBackendOverride, this.resolvedPreviewBackend) : (this.resolvedPreviewBackend = Ko(this.config.previewBackend), this.resolvedPreviewBackend);
|
|
13072
13155
|
}
|
|
13073
13156
|
createPreviewBackendCallbacks(t = this.activePreviewCallbackToken) {
|
|
13074
13157
|
return {
|
|
@@ -13097,7 +13180,7 @@ class Rl {
|
|
|
13097
13180
|
}
|
|
13098
13181
|
createPreviewBackend(t = this.resolveConfiguredPreviewBackend()) {
|
|
13099
13182
|
const e = this.createPreviewBackendCallbacks(++this.activePreviewCallbackToken);
|
|
13100
|
-
return new
|
|
13183
|
+
return new qo(e);
|
|
13101
13184
|
}
|
|
13102
13185
|
isActivePreviewCallbackToken(t) {
|
|
13103
13186
|
return t === this.activePreviewCallbackToken;
|
|
@@ -13147,7 +13230,7 @@ class Rl {
|
|
|
13147
13230
|
zoom: ct.MEDIUM,
|
|
13148
13231
|
currentTime: 0,
|
|
13149
13232
|
playState: "paused",
|
|
13150
|
-
theme:
|
|
13233
|
+
theme: Ve(),
|
|
13151
13234
|
speed: 1,
|
|
13152
13235
|
dragActivationThreshold: 4,
|
|
13153
13236
|
enableClipSnap: !1,
|
|
@@ -13375,22 +13458,22 @@ class Rl {
|
|
|
13375
13458
|
this.clearPendingPreviewState(), e && this.play();
|
|
13376
13459
|
}
|
|
13377
13460
|
buildPreviewPendingState() {
|
|
13378
|
-
return this.pendingPreviewState ? {
|
|
13461
|
+
return !this.pendingPreviewState || this.pendingPreviewState.mode === "scrub" ? null : {
|
|
13379
13462
|
mode: this.pendingPreviewState.mode,
|
|
13380
13463
|
targetTime: this.pendingPreviewState.targetTime,
|
|
13381
13464
|
loadingPending: this.previewSourceLoadingCount,
|
|
13382
13465
|
isBuffering: this.previewBuffering,
|
|
13383
13466
|
errorMessage: this.pendingPreviewState.errorMessage
|
|
13384
|
-
}
|
|
13467
|
+
};
|
|
13385
13468
|
}
|
|
13386
13469
|
ensurePendingPreviewTimeout() {
|
|
13387
|
-
if (!this.pendingPreviewState || this.pendingPreviewState.timeoutId !== null)
|
|
13470
|
+
if (!this.pendingPreviewState || this.pendingPreviewState.mode === "scrub" || this.pendingPreviewState.timeoutId !== null)
|
|
13388
13471
|
return;
|
|
13389
13472
|
const t = this.pendingPreviewState.syncRequestId;
|
|
13390
13473
|
this.pendingPreviewState.timeoutId = setTimeout(() => {
|
|
13391
13474
|
var e, i;
|
|
13392
13475
|
!this.pendingPreviewState || this.pendingPreviewState.syncRequestId !== t || (this.pendingPreviewState.errorMessage = "资源加载异常,请刷新重试", this.clearPendingPreviewTimeout(), (i = (e = this.previewSession) == null ? void 0 : e.setPendingState) == null || i.call(e, this.buildPreviewPendingState()));
|
|
13393
|
-
},
|
|
13476
|
+
}, Pl);
|
|
13394
13477
|
}
|
|
13395
13478
|
clearPendingPreviewTimeout() {
|
|
13396
13479
|
var t;
|
|
@@ -13430,7 +13513,7 @@ class Rl {
|
|
|
13430
13513
|
R.warn("TimelineManager", "TimelineManager has already been initialized");
|
|
13431
13514
|
return;
|
|
13432
13515
|
}
|
|
13433
|
-
if (this.rootContainer = t, this.layout =
|
|
13516
|
+
if (this.rootContainer = t, this.layout = gl(t, {
|
|
13434
13517
|
theme: this.config.theme,
|
|
13435
13518
|
timeScaleHeight: this.getTimeScaleHeight(),
|
|
13436
13519
|
leftPanelWidth: Ts,
|
|
@@ -13443,13 +13526,13 @@ class Rl {
|
|
|
13443
13526
|
container: this.layout.bodyCanvasHost,
|
|
13444
13527
|
width: this.layout.bodyViewport.clientWidth,
|
|
13445
13528
|
height: 0
|
|
13446
|
-
}), this.backgroundLayer = new X.Layer({ name: "trackBackgroundLayer" }), this.trackLayer = new X.Layer({ name: "trackLayer" }), this.snapGuideLayer = new X.Layer({ name: "trackSnapGuideLayer", listening: !1 }), this.stage.add(this.backgroundLayer), this.stage.add(this.trackLayer), this.stage.add(this.snapGuideLayer), this.timeline = new
|
|
13529
|
+
}), this.backgroundLayer = new X.Layer({ name: "trackBackgroundLayer" }), this.trackLayer = new X.Layer({ name: "trackLayer" }), this.snapGuideLayer = new X.Layer({ name: "trackSnapGuideLayer", listening: !1 }), this.stage.add(this.backgroundLayer), this.stage.add(this.trackLayer), this.stage.add(this.snapGuideLayer), this.timeline = new Sl(
|
|
13447
13530
|
this.headerStage,
|
|
13448
13531
|
this.headerLayer,
|
|
13449
13532
|
this.config,
|
|
13450
13533
|
this.handleTimeChange.bind(this),
|
|
13451
13534
|
this.handleScrollChange.bind(this)
|
|
13452
|
-
), this.playhead = new
|
|
13535
|
+
), this.playhead = new Cl(
|
|
13453
13536
|
this.layout.playheadOverlay,
|
|
13454
13537
|
this.getCurrentTimeState(),
|
|
13455
13538
|
this.getZoomState(),
|
|
@@ -13549,7 +13632,7 @@ class Rl {
|
|
|
13549
13632
|
}
|
|
13550
13633
|
updateAllTrackPositions() {
|
|
13551
13634
|
var e, i;
|
|
13552
|
-
const t =
|
|
13635
|
+
const t = ul(this.trackManager.getTracks(), this.getTrackContentTopOffset());
|
|
13553
13636
|
for (const n of t) {
|
|
13554
13637
|
const s = this.getTrackCollection().findById(n.trackId);
|
|
13555
13638
|
s && ((e = s.setTrackY) == null || e.call(s, n.y), (i = s.setTrackHeight) == null || i.call(s, n.height));
|
|
@@ -13589,7 +13672,7 @@ class Rl {
|
|
|
13589
13672
|
if (!this.snapGuideLayer)
|
|
13590
13673
|
return null;
|
|
13591
13674
|
if (!this.trackInsertionPreviewLine) {
|
|
13592
|
-
const t =
|
|
13675
|
+
const t = it.createLine(
|
|
13593
13676
|
[0, 0, 0, 0],
|
|
13594
13677
|
this.config.theme.clipSelectedBorder,
|
|
13595
13678
|
2
|
|
@@ -13681,7 +13764,7 @@ class Rl {
|
|
|
13681
13764
|
return null;
|
|
13682
13765
|
if (!this.snapGuideLine) {
|
|
13683
13766
|
const t = this.config.theme;
|
|
13684
|
-
this.snapGuideLine =
|
|
13767
|
+
this.snapGuideLine = it.createLine(
|
|
13685
13768
|
[0, 0, 0, this.calculateTotalHeight()],
|
|
13686
13769
|
t.snapGuideLineColor || t.clipSelectedBorder,
|
|
13687
13770
|
t.snapGuideLineWidth ?? 1
|
|
@@ -13738,9 +13821,9 @@ class Rl {
|
|
|
13738
13821
|
normalizeWheelDelta(t, e, i) {
|
|
13739
13822
|
if (!Number.isFinite(t) || t === 0)
|
|
13740
13823
|
return 0;
|
|
13741
|
-
if (e ===
|
|
13824
|
+
if (e === kl)
|
|
13742
13825
|
return t * 16;
|
|
13743
|
-
if (e ===
|
|
13826
|
+
if (e === _l) {
|
|
13744
13827
|
const n = i === "x" ? this.getViewportWidth() : this.getViewportHeight();
|
|
13745
13828
|
return t * (n || 1);
|
|
13746
13829
|
}
|
|
@@ -14046,7 +14129,7 @@ class Rl {
|
|
|
14046
14129
|
return c.id;
|
|
14047
14130
|
}
|
|
14048
14131
|
}
|
|
14049
|
-
const u = this.getTimelineCommands().planTrackPlacement(c, this.tracks), p = this.getTrackCollection(), g =
|
|
14132
|
+
const u = this.getTimelineCommands().planTrackPlacement(c, this.tracks), p = this.getTrackCollection(), g = sl({
|
|
14050
14133
|
clip: c,
|
|
14051
14134
|
placement: u,
|
|
14052
14135
|
trackCollection: p,
|
|
@@ -14077,7 +14160,7 @@ class Rl {
|
|
|
14077
14160
|
removeClip(t) {
|
|
14078
14161
|
const e = this.getTimelineCommands().prepareRemoveClip(t, this.tracks);
|
|
14079
14162
|
e.exists && (e.shouldClearSelection && this.clearSelection(), Fe({
|
|
14080
|
-
applied:
|
|
14163
|
+
applied: rl(this.getTrackCollection(), e, t),
|
|
14081
14164
|
isExecutingHistoryAction: this.isExecutingHistoryAction,
|
|
14082
14165
|
recordHistory: () => {
|
|
14083
14166
|
this.getTimelineHistoryRecorder().recordRemoveClip(e.clip);
|
|
@@ -14223,7 +14306,7 @@ class Rl {
|
|
|
14223
14306
|
* 获取插件版本号
|
|
14224
14307
|
*/
|
|
14225
14308
|
getVersion() {
|
|
14226
|
-
return
|
|
14309
|
+
return wl.version;
|
|
14227
14310
|
}
|
|
14228
14311
|
undo() {
|
|
14229
14312
|
return this.history.undo();
|
|
@@ -14252,14 +14335,14 @@ class Rl {
|
|
|
14252
14335
|
const t = this.getClips().map((e) => ({ ...e }));
|
|
14253
14336
|
this.getTrackCollection().removeClipGaps(), t.length > 0 && this.getTimelineHistoryRecorder().recordRemoveGaps(t), this.checkTrackDurationChange();
|
|
14254
14337
|
}
|
|
14255
|
-
handleTimeChange(t) {
|
|
14256
|
-
this.beginPendingPreview(t,
|
|
14338
|
+
handleTimeChange(t, e = "seek") {
|
|
14339
|
+
this.beginPendingPreview(t, e), this.setCurrentTime(t);
|
|
14257
14340
|
}
|
|
14258
14341
|
handleScrollChange(t) {
|
|
14259
14342
|
this.syncScrollLeft(t);
|
|
14260
14343
|
}
|
|
14261
14344
|
handleClipUpdate(t, e, i) {
|
|
14262
|
-
this.isExecutingHistoryAction || this.getTimelineHistoryRecorder().recordClipUpdate(t, e, i), this.emitEvent("clip_updated", { clip: t }),
|
|
14345
|
+
this.isExecutingHistoryAction || this.getTimelineHistoryRecorder().recordClipUpdate(t, e, i), this.emitEvent("clip_updated", { clip: t }), Mo({
|
|
14263
14346
|
notifySelectionChange: this.notifySelectionChange.bind(this),
|
|
14264
14347
|
reloadClipThumbnailsIfNeeded: () => this.reloadClipThumbnailsIfNeeded(t, e),
|
|
14265
14348
|
checkTrackDurationChange: this.checkTrackDurationChange.bind(this),
|
|
@@ -14287,7 +14370,7 @@ class Rl {
|
|
|
14287
14370
|
* @param originalClip 原始片段
|
|
14288
14371
|
*/
|
|
14289
14372
|
reloadClipThumbnailsIfNeeded(t, e) {
|
|
14290
|
-
|
|
14373
|
+
Ro(t, e, !!this.thumbnailProvider) && this.loadClipThumbnails(t).catch((i) => {
|
|
14291
14374
|
R.warn("TimelineManager", "Error reloading clip thumbnails during update:", { error: i, clipId: t.id });
|
|
14292
14375
|
});
|
|
14293
14376
|
}
|
|
@@ -14296,8 +14379,8 @@ class Rl {
|
|
|
14296
14379
|
*/
|
|
14297
14380
|
updateCanPlayState() {
|
|
14298
14381
|
var s;
|
|
14299
|
-
const t = this.getClips(), e = this.getCurrentTime(), i =
|
|
14300
|
-
this.canPlay =
|
|
14382
|
+
const t = this.getClips(), e = this.getCurrentTime(), i = Io(t, e), n = this.canPlay;
|
|
14383
|
+
this.canPlay = Do({
|
|
14301
14384
|
currentCanPlay: this.canPlay,
|
|
14302
14385
|
nextCanPlay: i,
|
|
14303
14386
|
playState: this.getPlayStateState(),
|
|
@@ -14313,7 +14396,7 @@ class Rl {
|
|
|
14313
14396
|
}), n !== this.canPlay && R.debugLazy("TimelineManager", () => "Can play state changed", () => ({ oldState: n, newState: this.canPlay }));
|
|
14314
14397
|
}
|
|
14315
14398
|
handleClipSplit(t, e) {
|
|
14316
|
-
|
|
14399
|
+
Bo({
|
|
14317
14400
|
clip1: t,
|
|
14318
14401
|
clip2: e,
|
|
14319
14402
|
isExecutingHistoryAction: this.isExecutingHistoryAction,
|
|
@@ -14332,7 +14415,7 @@ class Rl {
|
|
|
14332
14415
|
});
|
|
14333
14416
|
}
|
|
14334
14417
|
handleClipSelect(t) {
|
|
14335
|
-
const e =
|
|
14418
|
+
const e = Go(t);
|
|
14336
14419
|
e.shouldJumpToTime && e.jumpTime !== null ? (this.setCurrentTime(e.jumpTime), this.emitEvent("clip_selected", { clip: t }), R.debugLazy("TimelineManager", () => "Empty track clicked, jumping to time", () => ({ time: t.startTime }))) : e.shouldSelectClip && this.selectClip(t.id, t);
|
|
14337
14420
|
}
|
|
14338
14421
|
handleActionUndo(t) {
|
|
@@ -14351,7 +14434,7 @@ class Rl {
|
|
|
14351
14434
|
this.getEventDispatcher().emit(t, e);
|
|
14352
14435
|
}
|
|
14353
14436
|
emitSelectedClipChangeIfNeeded() {
|
|
14354
|
-
this.lastSelectedClipId =
|
|
14437
|
+
this.lastSelectedClipId = nl({
|
|
14355
14438
|
lastSelectedClipId: this.lastSelectedClipId,
|
|
14356
14439
|
resolveSelectedClip: () => this.resolveSelectedClipSnapshot(),
|
|
14357
14440
|
emitSelectedClipChange: (t) => this.emitEvent("selected_clip_change", t)
|
|
@@ -14374,7 +14457,7 @@ class Rl {
|
|
|
14374
14457
|
const i = this.getTrackCollection();
|
|
14375
14458
|
if (!i.findById(e)) return;
|
|
14376
14459
|
const n = t.type, s = this.trackManager.getTracksByType(n).length + 1, a = n === "video" ? `视频轨道 ${s}` : `音频轨道 ${s}`;
|
|
14377
|
-
|
|
14460
|
+
ol({
|
|
14378
14461
|
clip: t,
|
|
14379
14462
|
currentTrackId: e,
|
|
14380
14463
|
trackType: n,
|
|
@@ -14513,7 +14596,7 @@ class Rl {
|
|
|
14513
14596
|
(t = this.previewSession) != null && t.hasPreview() && (this.clearPendingPreviewState(), this.destroyPreviewSession(), this.recreateDetachedPreviewSession(), this.previewMountContainer = null, R.debugLazy("TimelineManager", () => "TimelineManager detached from preview container"));
|
|
14514
14597
|
}
|
|
14515
14598
|
attachClipConfig(t) {
|
|
14516
|
-
const e = new
|
|
14599
|
+
const e = new vl();
|
|
14517
14600
|
e.init({
|
|
14518
14601
|
container: t,
|
|
14519
14602
|
theme: this.config.theme,
|
|
@@ -14656,11 +14739,11 @@ class Rl {
|
|
|
14656
14739
|
}), !1;
|
|
14657
14740
|
if (n.status !== "ready")
|
|
14658
14741
|
return !1;
|
|
14659
|
-
const { sourceTrackId: s, targetTrackId: a } = n, o = i ? { ...i } : { ...n.clip }, l = this.cloneTrackSnapshot(s), h = this.cloneTrackSnapshot(a), c =
|
|
14742
|
+
const { sourceTrackId: s, targetTrackId: a } = n, o = i ? { ...i } : { ...n.clip }, l = this.cloneTrackSnapshot(s), h = this.cloneTrackSnapshot(a), c = al({
|
|
14660
14743
|
command: n,
|
|
14661
14744
|
trackCollection: this.getTrackCollection()
|
|
14662
14745
|
}), d = this.getClips().find((u) => u.id === t) ?? null;
|
|
14663
|
-
return
|
|
14746
|
+
return Oo({
|
|
14664
14747
|
applied: c,
|
|
14665
14748
|
clipId: t,
|
|
14666
14749
|
sourceTrackId: s,
|
|
@@ -14671,7 +14754,7 @@ class Rl {
|
|
|
14671
14754
|
targetTrackSnapshot: h,
|
|
14672
14755
|
isExecutingHistoryAction: this.isExecutingHistoryAction,
|
|
14673
14756
|
recordMoveClipBetweenTracks: this.getTimelineHistoryRecorder().recordMoveClipBetweenTracks.bind(this.getTimelineHistoryRecorder()),
|
|
14674
|
-
applyEffects: () =>
|
|
14757
|
+
applyEffects: () => ll({
|
|
14675
14758
|
notifySelectionChange: this.notifySelectionChange.bind(this),
|
|
14676
14759
|
cleanupEmptyTracks: this.cleanupEmptyTracks.bind(this),
|
|
14677
14760
|
updateTrackInfoPanel: this.updateTrackInfoPanel.bind(this),
|
|
@@ -14739,7 +14822,7 @@ class Rl {
|
|
|
14739
14822
|
* 检查轨道总时长是否变化,如果变化则触发事件并更新时间轴时长
|
|
14740
14823
|
*/
|
|
14741
14824
|
checkTrackDurationChange() {
|
|
14742
|
-
const t = this.lastTrackDuration, e =
|
|
14825
|
+
const t = this.lastTrackDuration, e = Jo({
|
|
14743
14826
|
clips: this.getClips(),
|
|
14744
14827
|
lastTrackDuration: this.lastTrackDuration,
|
|
14745
14828
|
setLastTrackDuration: (i) => {
|
|
@@ -14759,7 +14842,7 @@ class Rl {
|
|
|
14759
14842
|
);
|
|
14760
14843
|
}
|
|
14761
14844
|
resolveSelectedClipSnapshot() {
|
|
14762
|
-
return
|
|
14845
|
+
return il({
|
|
14763
14846
|
getSelectedClip: () => {
|
|
14764
14847
|
var t;
|
|
14765
14848
|
return ((t = this.getSelectedClip) == null ? void 0 : t.call(this)) || null;
|
|
@@ -14797,24 +14880,24 @@ class Rl {
|
|
|
14797
14880
|
}
|
|
14798
14881
|
}
|
|
14799
14882
|
export {
|
|
14800
|
-
|
|
14883
|
+
Al as CLIP_LAYER,
|
|
14801
14884
|
ni as Clip,
|
|
14802
|
-
|
|
14885
|
+
xo as ClipConfigPanel,
|
|
14803
14886
|
ks as DEFAULT_CLIP_VIEW_STATE,
|
|
14804
14887
|
vt as DEFAULT_PREVIEW_ASPECT_RATIO,
|
|
14805
14888
|
pn as HistoryManager,
|
|
14806
|
-
|
|
14807
|
-
|
|
14808
|
-
|
|
14889
|
+
We as MIN_CLIP_LINE_WIDTH,
|
|
14890
|
+
El as PREVIEW_ASPECT_RATIO_PRESETS,
|
|
14891
|
+
Rl as Playhead,
|
|
14809
14892
|
at as TIMELINE_LEFT_PADDING,
|
|
14810
|
-
|
|
14893
|
+
Ll as TIME_SCALE,
|
|
14811
14894
|
At as TRACK_HEIGHT,
|
|
14812
14895
|
O as TimeUtils,
|
|
14813
|
-
|
|
14814
|
-
|
|
14896
|
+
Ml as Timeline,
|
|
14897
|
+
Il as TimelineManager,
|
|
14815
14898
|
ki as Track,
|
|
14816
14899
|
ko as TrackInfoPanel,
|
|
14817
|
-
|
|
14900
|
+
dl as TrackManager,
|
|
14818
14901
|
_s as ZOOM_ANIMATION,
|
|
14819
14902
|
ct as ZOOM_PRESETS,
|
|
14820
14903
|
Ps as createClipViewState,
|
|
@@ -14823,5 +14906,5 @@ export {
|
|
|
14823
14906
|
ge as isAutoPreviewAspectRatioMode,
|
|
14824
14907
|
Ht as normalizePreviewAspectRatio,
|
|
14825
14908
|
Ln as normalizePreviewAspectRatioMode,
|
|
14826
|
-
|
|
14909
|
+
Ve as resolveTheme
|
|
14827
14910
|
};
|