@d3p1/img2pxl 3.1.12 → 3.2.0
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/core/app/main/runner/pointer/canvas.d.ts +1 -3
- package/dist/core/etc/config.d.ts +5 -0
- package/dist/core/index.js +1 -1
- package/dist/{main-C6W_5yDn.js → main-Coneat92.js} +809 -812
- package/dist/main-Coneat92.js.map +1 -0
- package/dist/react/index.js +1 -1
- package/package.json +1 -1
- package/dist/main-C6W_5yDn.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as f from "three";
|
|
2
|
-
import { Pane as
|
|
3
|
-
class
|
|
2
|
+
import { Pane as An } from "tweakpane";
|
|
3
|
+
class Bn {
|
|
4
4
|
constructor() {
|
|
5
|
-
this._previousTime = 0, this._currentTime = 0, this._startTime =
|
|
5
|
+
this._previousTime = 0, this._currentTime = 0, this._startTime = Te(), this._delta = 0, this._elapsed = 0, this._timescale = 1, this._usePageVisibilityAPI = typeof document < "u" && document.hidden !== void 0, this._usePageVisibilityAPI === !0 && (this._pageVisibilityHandler = Jn.bind(this), document.addEventListener("visibilitychange", this._pageVisibilityHandler, !1));
|
|
6
6
|
}
|
|
7
7
|
getDelta() {
|
|
8
8
|
return this._delta / 1e3;
|
|
@@ -17,22 +17,22 @@ class An {
|
|
|
17
17
|
return this._timescale = e, this;
|
|
18
18
|
}
|
|
19
19
|
reset() {
|
|
20
|
-
return this._currentTime =
|
|
20
|
+
return this._currentTime = Te() - this._startTime, this;
|
|
21
21
|
}
|
|
22
22
|
dispose() {
|
|
23
23
|
return this._usePageVisibilityAPI === !0 && document.removeEventListener("visibilitychange", this._pageVisibilityHandler), this;
|
|
24
24
|
}
|
|
25
25
|
update(e) {
|
|
26
|
-
return this._usePageVisibilityAPI === !0 && document.hidden === !0 ? this._delta = 0 : (this._previousTime = this._currentTime, this._currentTime = (e !== void 0 ? e :
|
|
26
|
+
return this._usePageVisibilityAPI === !0 && document.hidden === !0 ? this._delta = 0 : (this._previousTime = this._currentTime, this._currentTime = (e !== void 0 ? e : Te()) - this._startTime, this._delta = (this._currentTime - this._previousTime) * this._timescale, this._elapsed += this._delta), this;
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function Te() {
|
|
30
30
|
return performance.now();
|
|
31
31
|
}
|
|
32
|
-
function
|
|
32
|
+
function Jn() {
|
|
33
33
|
document.hidden === !1 && this.reset();
|
|
34
34
|
}
|
|
35
|
-
class
|
|
35
|
+
class Gn {
|
|
36
36
|
/**
|
|
37
37
|
* @type {THREE.Scene}
|
|
38
38
|
*/
|
|
@@ -166,13 +166,13 @@ class Jn {
|
|
|
166
166
|
function w(n) {
|
|
167
167
|
return n == null;
|
|
168
168
|
}
|
|
169
|
-
function
|
|
169
|
+
function Qe(n) {
|
|
170
170
|
return n !== null && typeof n == "object";
|
|
171
171
|
}
|
|
172
|
-
function
|
|
172
|
+
function Ae(n) {
|
|
173
173
|
return n !== null && typeof n == "object";
|
|
174
174
|
}
|
|
175
|
-
function
|
|
175
|
+
function Yn(n, e) {
|
|
176
176
|
if (n.length !== e.length)
|
|
177
177
|
return !1;
|
|
178
178
|
for (let t = 0; t < n.length; t++)
|
|
@@ -183,13 +183,13 @@ function Gn(n, e) {
|
|
|
183
183
|
function B(n, e) {
|
|
184
184
|
return Array.from(/* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(e)])).reduce((i, s) => {
|
|
185
185
|
const r = n[s], o = e[s];
|
|
186
|
-
return
|
|
186
|
+
return Ae(r) && Ae(o) ? Object.assign(Object.assign({}, i), { [s]: B(r, o) }) : Object.assign(Object.assign({}, i), { [s]: s in e ? o : r });
|
|
187
187
|
}, {});
|
|
188
188
|
}
|
|
189
|
-
function
|
|
190
|
-
return
|
|
189
|
+
function Hn(n) {
|
|
190
|
+
return Qe(n) ? "target" in n : !1;
|
|
191
191
|
}
|
|
192
|
-
const
|
|
192
|
+
const Qn = {
|
|
193
193
|
alreadydisposed: () => "View has been already disposed",
|
|
194
194
|
invalidparams: (n) => `Invalid parameters for '${n.name}'`,
|
|
195
195
|
nomatchingcontroller: (n) => `No matching controller for '${n.key}'`,
|
|
@@ -229,13 +229,13 @@ class E {
|
|
|
229
229
|
}
|
|
230
230
|
constructor(e) {
|
|
231
231
|
var t;
|
|
232
|
-
this.message = (t =
|
|
232
|
+
this.message = (t = Qn[e.type](e.context)) !== null && t !== void 0 ? t : "Unexpected error", this.name = this.constructor.name, this.stack = new Error(this.message).stack, this.type = e.type;
|
|
233
233
|
}
|
|
234
234
|
toString() {
|
|
235
235
|
return this.message;
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
|
-
class
|
|
238
|
+
class Ee {
|
|
239
239
|
/**
|
|
240
240
|
* @hidden
|
|
241
241
|
*/
|
|
@@ -266,7 +266,7 @@ class xe {
|
|
|
266
266
|
*/
|
|
267
267
|
writeProperty(e, t) {
|
|
268
268
|
const i = this.read();
|
|
269
|
-
if (!
|
|
269
|
+
if (!Ee.isBindable(i))
|
|
270
270
|
throw E.notBindable();
|
|
271
271
|
if (!(e in i))
|
|
272
272
|
throw E.propertyNotFound(e);
|
|
@@ -308,7 +308,7 @@ class q {
|
|
|
308
308
|
});
|
|
309
309
|
}
|
|
310
310
|
}
|
|
311
|
-
class
|
|
311
|
+
class _n {
|
|
312
312
|
constructor(e, t) {
|
|
313
313
|
var i;
|
|
314
314
|
this.constraint_ = t?.constraint, this.equals_ = (i = t?.equals) !== null && i !== void 0 ? i : ((s, r) => s === r), this.emitter = new q(), this.rawValue_ = e;
|
|
@@ -340,7 +340,7 @@ class Qn {
|
|
|
340
340
|
}));
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
|
-
class
|
|
343
|
+
class $n {
|
|
344
344
|
constructor(e) {
|
|
345
345
|
this.emitter = new q(), this.value_ = e;
|
|
346
346
|
}
|
|
@@ -368,7 +368,7 @@ class _n {
|
|
|
368
368
|
}));
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
|
-
class
|
|
371
|
+
class ei {
|
|
372
372
|
constructor(e) {
|
|
373
373
|
this.emitter = new q(), this.onValueBeforeChange_ = this.onValueBeforeChange_.bind(this), this.onValueChange_ = this.onValueChange_.bind(this), this.value_ = e, this.value_.emitter.on("beforechange", this.onValueBeforeChange_), this.value_.emitter.on("change", this.onValueChange_);
|
|
374
374
|
}
|
|
@@ -387,11 +387,11 @@ class $n {
|
|
|
387
387
|
}
|
|
388
388
|
function g(n, e) {
|
|
389
389
|
const t = e?.constraint, i = e?.equals;
|
|
390
|
-
return !t && !i ? new
|
|
390
|
+
return !t && !i ? new $n(n) : new _n(n, e);
|
|
391
391
|
}
|
|
392
|
-
function
|
|
392
|
+
function ti(n) {
|
|
393
393
|
return [
|
|
394
|
-
new
|
|
394
|
+
new ei(n),
|
|
395
395
|
(e, t) => {
|
|
396
396
|
n.setRawValue(e, t);
|
|
397
397
|
}
|
|
@@ -430,7 +430,7 @@ class p {
|
|
|
430
430
|
return this.valMap_[e];
|
|
431
431
|
}
|
|
432
432
|
}
|
|
433
|
-
class
|
|
433
|
+
class ke {
|
|
434
434
|
constructor(e) {
|
|
435
435
|
this.values = p.fromObject({
|
|
436
436
|
max: e.max,
|
|
@@ -442,7 +442,7 @@ class Re {
|
|
|
442
442
|
return Math.min(Math.max(e, i), t);
|
|
443
443
|
}
|
|
444
444
|
}
|
|
445
|
-
class
|
|
445
|
+
class ni {
|
|
446
446
|
constructor(e) {
|
|
447
447
|
this.values = p.fromObject({
|
|
448
448
|
max: e.max,
|
|
@@ -455,7 +455,7 @@ class ti {
|
|
|
455
455
|
return w(i) || (s = Math.max(s, i)), w(t) || (s = Math.min(s, t)), s;
|
|
456
456
|
}
|
|
457
457
|
}
|
|
458
|
-
class
|
|
458
|
+
class ii {
|
|
459
459
|
constructor(e, t = 0) {
|
|
460
460
|
this.step = e, this.origin = t;
|
|
461
461
|
}
|
|
@@ -464,7 +464,7 @@ class ni {
|
|
|
464
464
|
return t + i * this.step;
|
|
465
465
|
}
|
|
466
466
|
}
|
|
467
|
-
class
|
|
467
|
+
class si {
|
|
468
468
|
constructor(e) {
|
|
469
469
|
this.text = e;
|
|
470
470
|
}
|
|
@@ -475,7 +475,7 @@ class ii {
|
|
|
475
475
|
return this.text;
|
|
476
476
|
}
|
|
477
477
|
}
|
|
478
|
-
const
|
|
478
|
+
const ri = {
|
|
479
479
|
"**": (n, e) => Math.pow(n, e),
|
|
480
480
|
"*": (n, e) => n * e,
|
|
481
481
|
"/": (n, e) => n / e,
|
|
@@ -489,12 +489,12 @@ const si = {
|
|
|
489
489
|
"^": (n, e) => n ^ e,
|
|
490
490
|
"|": (n, e) => n | e
|
|
491
491
|
};
|
|
492
|
-
class
|
|
492
|
+
class oi {
|
|
493
493
|
constructor(e, t, i) {
|
|
494
494
|
this.left = t, this.operator = e, this.right = i;
|
|
495
495
|
}
|
|
496
496
|
evaluate() {
|
|
497
|
-
const e =
|
|
497
|
+
const e = ri[this.operator];
|
|
498
498
|
if (!e)
|
|
499
499
|
throw new Error(`unexpected binary operator: '${this.operator}`);
|
|
500
500
|
return e(this.left.evaluate(), this.right.evaluate());
|
|
@@ -509,17 +509,17 @@ class ri {
|
|
|
509
509
|
].join(" ");
|
|
510
510
|
}
|
|
511
511
|
}
|
|
512
|
-
const
|
|
512
|
+
const ai = {
|
|
513
513
|
"+": (n) => n,
|
|
514
514
|
"-": (n) => -n,
|
|
515
515
|
"~": (n) => ~n
|
|
516
516
|
};
|
|
517
|
-
class
|
|
517
|
+
class li {
|
|
518
518
|
constructor(e, t) {
|
|
519
519
|
this.operator = e, this.expression = t;
|
|
520
520
|
}
|
|
521
521
|
evaluate() {
|
|
522
|
-
const e =
|
|
522
|
+
const e = ai[this.operator];
|
|
523
523
|
if (!e)
|
|
524
524
|
throw new Error(`unexpected unary operator: '${this.operator}`);
|
|
525
525
|
return e(this.expression.evaluate());
|
|
@@ -528,7 +528,7 @@ class ai {
|
|
|
528
528
|
return ["u(", this.operator, this.expression.toString(), ")"].join(" ");
|
|
529
529
|
}
|
|
530
530
|
}
|
|
531
|
-
function
|
|
531
|
+
function _e(n) {
|
|
532
532
|
return (e, t) => {
|
|
533
533
|
for (let i = 0; i < n.length; i++) {
|
|
534
534
|
const s = n[i](e, t);
|
|
@@ -543,7 +543,7 @@ function ue(n, e) {
|
|
|
543
543
|
const i = n.substr(e).match(/^\s+/);
|
|
544
544
|
return (t = i && i[0]) !== null && t !== void 0 ? t : "";
|
|
545
545
|
}
|
|
546
|
-
function
|
|
546
|
+
function ui(n, e) {
|
|
547
547
|
const t = n.substr(e, 1);
|
|
548
548
|
return t.match(/^[1-9]$/) ? t : "";
|
|
549
549
|
}
|
|
@@ -552,7 +552,7 @@ function he(n, e) {
|
|
|
552
552
|
const i = n.substr(e).match(/^[0-9]+/);
|
|
553
553
|
return (t = i && i[0]) !== null && t !== void 0 ? t : "";
|
|
554
554
|
}
|
|
555
|
-
function
|
|
555
|
+
function hi(n, e) {
|
|
556
556
|
const t = he(n, e);
|
|
557
557
|
if (t !== "")
|
|
558
558
|
return t;
|
|
@@ -562,102 +562,102 @@ function ui(n, e) {
|
|
|
562
562
|
const s = he(n, e);
|
|
563
563
|
return s === "" ? "" : i + s;
|
|
564
564
|
}
|
|
565
|
-
function
|
|
565
|
+
function $e(n, e) {
|
|
566
566
|
const t = n.substr(e, 1);
|
|
567
567
|
if (e += 1, t.toLowerCase() !== "e")
|
|
568
568
|
return "";
|
|
569
|
-
const i =
|
|
569
|
+
const i = hi(n, e);
|
|
570
570
|
return i === "" ? "" : t + i;
|
|
571
571
|
}
|
|
572
|
-
function
|
|
572
|
+
function Yt(n, e) {
|
|
573
573
|
const t = n.substr(e, 1);
|
|
574
574
|
if (t === "0")
|
|
575
575
|
return t;
|
|
576
|
-
const i =
|
|
576
|
+
const i = ui(n, e);
|
|
577
577
|
return e += i.length, i === "" ? "" : i + he(n, e);
|
|
578
578
|
}
|
|
579
|
-
function
|
|
580
|
-
const t =
|
|
579
|
+
function ci(n, e) {
|
|
580
|
+
const t = Yt(n, e);
|
|
581
581
|
if (e += t.length, t === "")
|
|
582
582
|
return "";
|
|
583
583
|
const i = n.substr(e, 1);
|
|
584
584
|
if (e += i.length, i !== ".")
|
|
585
585
|
return "";
|
|
586
586
|
const s = he(n, e);
|
|
587
|
-
return e += s.length, t + i + s +
|
|
587
|
+
return e += s.length, t + i + s + $e(n, e);
|
|
588
588
|
}
|
|
589
|
-
function
|
|
589
|
+
function pi(n, e) {
|
|
590
590
|
const t = n.substr(e, 1);
|
|
591
591
|
if (e += t.length, t !== ".")
|
|
592
592
|
return "";
|
|
593
593
|
const i = he(n, e);
|
|
594
|
-
return e += i.length, i === "" ? "" : t + i +
|
|
594
|
+
return e += i.length, i === "" ? "" : t + i + $e(n, e);
|
|
595
595
|
}
|
|
596
|
-
function
|
|
597
|
-
const t =
|
|
598
|
-
return e += t.length, t === "" ? "" : t +
|
|
596
|
+
function di(n, e) {
|
|
597
|
+
const t = Yt(n, e);
|
|
598
|
+
return e += t.length, t === "" ? "" : t + $e(n, e);
|
|
599
599
|
}
|
|
600
|
-
const
|
|
601
|
-
hi,
|
|
600
|
+
const mi = _e([
|
|
602
601
|
ci,
|
|
603
|
-
pi
|
|
602
|
+
pi,
|
|
603
|
+
di
|
|
604
604
|
]);
|
|
605
|
-
function
|
|
605
|
+
function vi(n, e) {
|
|
606
606
|
var t;
|
|
607
607
|
const i = n.substr(e).match(/^[01]+/);
|
|
608
608
|
return (t = i && i[0]) !== null && t !== void 0 ? t : "";
|
|
609
609
|
}
|
|
610
|
-
function
|
|
610
|
+
function fi(n, e) {
|
|
611
611
|
const t = n.substr(e, 2);
|
|
612
612
|
if (e += t.length, t.toLowerCase() !== "0b")
|
|
613
613
|
return "";
|
|
614
|
-
const i =
|
|
614
|
+
const i = vi(n, e);
|
|
615
615
|
return i === "" ? "" : t + i;
|
|
616
616
|
}
|
|
617
|
-
function
|
|
617
|
+
function wi(n, e) {
|
|
618
618
|
var t;
|
|
619
619
|
const i = n.substr(e).match(/^[0-7]+/);
|
|
620
620
|
return (t = i && i[0]) !== null && t !== void 0 ? t : "";
|
|
621
621
|
}
|
|
622
|
-
function
|
|
622
|
+
function bi(n, e) {
|
|
623
623
|
const t = n.substr(e, 2);
|
|
624
624
|
if (e += t.length, t.toLowerCase() !== "0o")
|
|
625
625
|
return "";
|
|
626
|
-
const i =
|
|
626
|
+
const i = wi(n, e);
|
|
627
627
|
return i === "" ? "" : t + i;
|
|
628
628
|
}
|
|
629
|
-
function
|
|
629
|
+
function gi(n, e) {
|
|
630
630
|
var t;
|
|
631
631
|
const i = n.substr(e).match(/^[0-9a-f]+/i);
|
|
632
632
|
return (t = i && i[0]) !== null && t !== void 0 ? t : "";
|
|
633
633
|
}
|
|
634
|
-
function
|
|
634
|
+
function Vi(n, e) {
|
|
635
635
|
const t = n.substr(e, 2);
|
|
636
636
|
if (e += t.length, t.toLowerCase() !== "0x")
|
|
637
637
|
return "";
|
|
638
|
-
const i =
|
|
638
|
+
const i = gi(n, e);
|
|
639
639
|
return i === "" ? "" : t + i;
|
|
640
640
|
}
|
|
641
|
-
const
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
]),
|
|
646
|
-
|
|
647
|
-
|
|
641
|
+
const Ci = _e([
|
|
642
|
+
fi,
|
|
643
|
+
bi,
|
|
644
|
+
Vi
|
|
645
|
+
]), Pi = _e([
|
|
646
|
+
Ci,
|
|
647
|
+
mi
|
|
648
648
|
]);
|
|
649
|
-
function
|
|
650
|
-
const t =
|
|
649
|
+
function yi(n, e) {
|
|
650
|
+
const t = Pi(n, e);
|
|
651
651
|
return e += t.length, t === "" ? null : {
|
|
652
|
-
evaluable: new
|
|
652
|
+
evaluable: new si(t),
|
|
653
653
|
cursor: e
|
|
654
654
|
};
|
|
655
655
|
}
|
|
656
|
-
function
|
|
656
|
+
function xi(n, e) {
|
|
657
657
|
const t = n.substr(e, 1);
|
|
658
658
|
if (e += t.length, t !== "(")
|
|
659
659
|
return null;
|
|
660
|
-
const i =
|
|
660
|
+
const i = Qt(n, e);
|
|
661
661
|
if (!i)
|
|
662
662
|
return null;
|
|
663
663
|
e = i.cursor, e += ue(n, e).length;
|
|
@@ -667,24 +667,24 @@ function yi(n, e) {
|
|
|
667
667
|
cursor: e
|
|
668
668
|
};
|
|
669
669
|
}
|
|
670
|
-
function
|
|
670
|
+
function Ei(n, e) {
|
|
671
671
|
var t;
|
|
672
|
-
return (t =
|
|
672
|
+
return (t = yi(n, e)) !== null && t !== void 0 ? t : xi(n, e);
|
|
673
673
|
}
|
|
674
|
-
function
|
|
675
|
-
const t =
|
|
674
|
+
function Ht(n, e) {
|
|
675
|
+
const t = Ei(n, e);
|
|
676
676
|
if (t)
|
|
677
677
|
return t;
|
|
678
678
|
const i = n.substr(e, 1);
|
|
679
679
|
if (e += i.length, i !== "+" && i !== "-" && i !== "~")
|
|
680
680
|
return null;
|
|
681
|
-
const s =
|
|
681
|
+
const s = Ht(n, e);
|
|
682
682
|
return s ? (e = s.cursor, {
|
|
683
683
|
cursor: e,
|
|
684
|
-
evaluable: new
|
|
684
|
+
evaluable: new li(i, s.evaluable)
|
|
685
685
|
}) : null;
|
|
686
686
|
}
|
|
687
|
-
function
|
|
687
|
+
function qi(n, e, t) {
|
|
688
688
|
t += ue(e, t).length;
|
|
689
689
|
const i = n.filter((s) => e.startsWith(s, t))[0];
|
|
690
690
|
return i ? (t += i.length, t += ue(e, t).length, {
|
|
@@ -692,7 +692,7 @@ function Ei(n, e, t) {
|
|
|
692
692
|
operator: i
|
|
693
693
|
}) : null;
|
|
694
694
|
}
|
|
695
|
-
function
|
|
695
|
+
function Si(n, e) {
|
|
696
696
|
return (t, i) => {
|
|
697
697
|
const s = n(t, i);
|
|
698
698
|
if (!s)
|
|
@@ -700,14 +700,14 @@ function qi(n, e) {
|
|
|
700
700
|
i = s.cursor;
|
|
701
701
|
let r = s.evaluable;
|
|
702
702
|
for (; ; ) {
|
|
703
|
-
const o =
|
|
703
|
+
const o = qi(e, t, i);
|
|
704
704
|
if (!o)
|
|
705
705
|
break;
|
|
706
706
|
i = o.cursor;
|
|
707
707
|
const a = n(t, i);
|
|
708
708
|
if (!a)
|
|
709
709
|
return null;
|
|
710
|
-
i = a.cursor, r = new
|
|
710
|
+
i = a.cursor, r = new oi(o.operator, r, a.evaluable);
|
|
711
711
|
}
|
|
712
712
|
return r ? {
|
|
713
713
|
cursor: i,
|
|
@@ -715,7 +715,7 @@ function qi(n, e) {
|
|
|
715
715
|
} : null;
|
|
716
716
|
};
|
|
717
717
|
}
|
|
718
|
-
const
|
|
718
|
+
const Ri = [
|
|
719
719
|
["**"],
|
|
720
720
|
["*", "/", "%"],
|
|
721
721
|
["+", "-"],
|
|
@@ -723,20 +723,20 @@ const Si = [
|
|
|
723
723
|
["&"],
|
|
724
724
|
["^"],
|
|
725
725
|
["|"]
|
|
726
|
-
].reduce((n, e) =>
|
|
727
|
-
function
|
|
728
|
-
return e += ue(n, e).length,
|
|
726
|
+
].reduce((n, e) => Si(n, e), Ht);
|
|
727
|
+
function Qt(n, e) {
|
|
728
|
+
return e += ue(n, e).length, Ri(n, e);
|
|
729
729
|
}
|
|
730
|
-
function
|
|
731
|
-
const e =
|
|
730
|
+
function ki(n) {
|
|
731
|
+
const e = Qt(n, 0);
|
|
732
732
|
return !e || e.cursor + ue(n, e.cursor).length !== n.length ? null : e.evaluable;
|
|
733
733
|
}
|
|
734
734
|
function Z(n) {
|
|
735
735
|
var e;
|
|
736
|
-
const t =
|
|
736
|
+
const t = ki(n);
|
|
737
737
|
return (e = t?.evaluate()) !== null && e !== void 0 ? e : null;
|
|
738
738
|
}
|
|
739
|
-
function
|
|
739
|
+
function _t(n) {
|
|
740
740
|
if (typeof n == "number")
|
|
741
741
|
return n;
|
|
742
742
|
if (typeof n == "string") {
|
|
@@ -753,48 +753,48 @@ function v(n, e, t, i, s) {
|
|
|
753
753
|
const r = (n - e) / (t - e);
|
|
754
754
|
return i + r * (s - i);
|
|
755
755
|
}
|
|
756
|
-
function
|
|
756
|
+
function xt(n) {
|
|
757
757
|
return String(n.toFixed(10)).split(".")[1].replace(/0+$/, "").length;
|
|
758
758
|
}
|
|
759
759
|
function b(n, e, t) {
|
|
760
760
|
return Math.min(Math.max(n, e), t);
|
|
761
761
|
}
|
|
762
|
-
function
|
|
762
|
+
function $t(n, e) {
|
|
763
763
|
return (n % e + e) % e;
|
|
764
764
|
}
|
|
765
|
-
function
|
|
766
|
-
return w(n.step) ? Math.max(
|
|
765
|
+
function Li(n, e) {
|
|
766
|
+
return w(n.step) ? Math.max(xt(e), 2) : xt(n.step);
|
|
767
767
|
}
|
|
768
|
-
function
|
|
768
|
+
function en(n) {
|
|
769
769
|
var e;
|
|
770
770
|
return (e = n.step) !== null && e !== void 0 ? e : 1;
|
|
771
771
|
}
|
|
772
|
-
function
|
|
772
|
+
function Ui(n, e) {
|
|
773
773
|
var t;
|
|
774
774
|
const i = Math.abs((t = n.step) !== null && t !== void 0 ? t : e);
|
|
775
775
|
return i === 0 ? 0.1 : Math.pow(10, Math.floor(Math.log10(i)) - 1);
|
|
776
776
|
}
|
|
777
|
-
function
|
|
778
|
-
return w(n.step) ? null : new
|
|
777
|
+
function tn(n, e) {
|
|
778
|
+
return w(n.step) ? null : new ii(n.step, e);
|
|
779
779
|
}
|
|
780
|
-
function
|
|
781
|
-
return !w(n.max) && !w(n.min) ? new
|
|
780
|
+
function nn(n) {
|
|
781
|
+
return !w(n.max) && !w(n.min) ? new ke({
|
|
782
782
|
max: n.max,
|
|
783
783
|
min: n.min
|
|
784
|
-
}) : !w(n.max) || !w(n.min) ? new
|
|
784
|
+
}) : !w(n.max) || !w(n.min) ? new ni({
|
|
785
785
|
max: n.max,
|
|
786
786
|
min: n.min
|
|
787
787
|
}) : null;
|
|
788
788
|
}
|
|
789
|
-
function
|
|
789
|
+
function sn(n, e) {
|
|
790
790
|
var t, i, s;
|
|
791
791
|
return {
|
|
792
|
-
formatter: (t = n.format) !== null && t !== void 0 ? t : x(
|
|
793
|
-
keyScale: (i = n.keyScale) !== null && i !== void 0 ? i :
|
|
794
|
-
pointerScale: (s = n.pointerScale) !== null && s !== void 0 ? s :
|
|
792
|
+
formatter: (t = n.format) !== null && t !== void 0 ? t : x(Li(n, e)),
|
|
793
|
+
keyScale: (i = n.keyScale) !== null && i !== void 0 ? i : en(n),
|
|
794
|
+
pointerScale: (s = n.pointerScale) !== null && s !== void 0 ? s : Ui(n, e)
|
|
795
795
|
};
|
|
796
796
|
}
|
|
797
|
-
function
|
|
797
|
+
function rn(n) {
|
|
798
798
|
return {
|
|
799
799
|
format: n.optional.function,
|
|
800
800
|
keyScale: n.optional.number,
|
|
@@ -804,13 +804,13 @@ function sn(n) {
|
|
|
804
804
|
step: n.optional.number
|
|
805
805
|
};
|
|
806
806
|
}
|
|
807
|
-
function
|
|
807
|
+
function et(n) {
|
|
808
808
|
return {
|
|
809
809
|
constraint: n.constraint,
|
|
810
|
-
textProps: p.fromObject(
|
|
810
|
+
textProps: p.fromObject(sn(n.params, n.initialValue))
|
|
811
811
|
};
|
|
812
812
|
}
|
|
813
|
-
class
|
|
813
|
+
class tt {
|
|
814
814
|
/**
|
|
815
815
|
* @hidden
|
|
816
816
|
*/
|
|
@@ -842,7 +842,7 @@ class et {
|
|
|
842
842
|
return this.controller.exportState();
|
|
843
843
|
}
|
|
844
844
|
}
|
|
845
|
-
class
|
|
845
|
+
class Le {
|
|
846
846
|
/**
|
|
847
847
|
* @hidden
|
|
848
848
|
*/
|
|
@@ -850,7 +850,7 @@ class ke {
|
|
|
850
850
|
this.target = e;
|
|
851
851
|
}
|
|
852
852
|
}
|
|
853
|
-
class
|
|
853
|
+
class on extends Le {
|
|
854
854
|
/**
|
|
855
855
|
* @hidden
|
|
856
856
|
*/
|
|
@@ -858,7 +858,7 @@ class rn extends ke {
|
|
|
858
858
|
super(e), this.value = t, this.last = i ?? !0;
|
|
859
859
|
}
|
|
860
860
|
}
|
|
861
|
-
class
|
|
861
|
+
class Fi extends Le {
|
|
862
862
|
/**
|
|
863
863
|
* @hidden
|
|
864
864
|
*/
|
|
@@ -866,7 +866,7 @@ class Ui extends ke {
|
|
|
866
866
|
super(e), this.expanded = t;
|
|
867
867
|
}
|
|
868
868
|
}
|
|
869
|
-
class
|
|
869
|
+
class Ki extends Le {
|
|
870
870
|
/**
|
|
871
871
|
* @hidden
|
|
872
872
|
*/
|
|
@@ -874,7 +874,7 @@ class Fi extends ke {
|
|
|
874
874
|
super(e), this.index = t;
|
|
875
875
|
}
|
|
876
876
|
}
|
|
877
|
-
class
|
|
877
|
+
class Mi extends Le {
|
|
878
878
|
/**
|
|
879
879
|
* @hidden
|
|
880
880
|
*/
|
|
@@ -882,7 +882,7 @@ class Ki extends ke {
|
|
|
882
882
|
super(e), this.native = t;
|
|
883
883
|
}
|
|
884
884
|
}
|
|
885
|
-
class
|
|
885
|
+
class nt extends tt {
|
|
886
886
|
/**
|
|
887
887
|
* @hidden
|
|
888
888
|
*/
|
|
@@ -926,10 +926,10 @@ class tt extends et {
|
|
|
926
926
|
}
|
|
927
927
|
onValueChange_(e) {
|
|
928
928
|
const t = this.controller.value;
|
|
929
|
-
this.emitter_.emit("change", new
|
|
929
|
+
this.emitter_.emit("change", new on(this, t.binding.target.read(), e.options.last));
|
|
930
930
|
}
|
|
931
931
|
}
|
|
932
|
-
function
|
|
932
|
+
function Oi(n, e) {
|
|
933
933
|
const i = Object.keys(e).reduce((s, r) => {
|
|
934
934
|
if (s === void 0)
|
|
935
935
|
return;
|
|
@@ -938,7 +938,7 @@ function Mi(n, e) {
|
|
|
938
938
|
}, {});
|
|
939
939
|
return i;
|
|
940
940
|
}
|
|
941
|
-
function
|
|
941
|
+
function Ti(n, e) {
|
|
942
942
|
return n.reduce((t, i) => {
|
|
943
943
|
if (t === void 0)
|
|
944
944
|
return;
|
|
@@ -947,7 +947,7 @@ function Oi(n, e) {
|
|
|
947
947
|
return [...t, s.value];
|
|
948
948
|
}, []);
|
|
949
949
|
}
|
|
950
|
-
function
|
|
950
|
+
function Ni(n) {
|
|
951
951
|
return n === null ? !1 : typeof n == "object";
|
|
952
952
|
}
|
|
953
953
|
function M(n) {
|
|
@@ -972,7 +972,7 @@ function M(n) {
|
|
|
972
972
|
};
|
|
973
973
|
};
|
|
974
974
|
}
|
|
975
|
-
function
|
|
975
|
+
function Et(n) {
|
|
976
976
|
return {
|
|
977
977
|
custom: (e) => M(e)(n),
|
|
978
978
|
boolean: M((e) => typeof e == "boolean" ? e : void 0)(n),
|
|
@@ -986,21 +986,21 @@ function xt(n) {
|
|
|
986
986
|
constant: (e) => M((t) => t === e ? e : void 0)(n),
|
|
987
987
|
raw: M((e) => e)(n),
|
|
988
988
|
object: (e) => M((t) => {
|
|
989
|
-
if (
|
|
990
|
-
return
|
|
989
|
+
if (Ni(t))
|
|
990
|
+
return Oi(t, e);
|
|
991
991
|
})(n),
|
|
992
992
|
array: (e) => M((t) => {
|
|
993
993
|
if (Array.isArray(t))
|
|
994
|
-
return
|
|
994
|
+
return Ti(t, e);
|
|
995
995
|
})(n)
|
|
996
996
|
};
|
|
997
997
|
}
|
|
998
|
-
const
|
|
999
|
-
optional:
|
|
1000
|
-
required:
|
|
998
|
+
const Be = {
|
|
999
|
+
optional: Et(!0),
|
|
1000
|
+
required: Et(!1)
|
|
1001
1001
|
};
|
|
1002
1002
|
function V(n, e) {
|
|
1003
|
-
const t = e(
|
|
1003
|
+
const t = e(Be), i = Be.required.object(t)(n);
|
|
1004
1004
|
return i.succeeded ? i.value : void 0;
|
|
1005
1005
|
}
|
|
1006
1006
|
function F(n, e, t, i) {
|
|
@@ -1013,56 +1013,56 @@ function K(n, e) {
|
|
|
1013
1013
|
var t;
|
|
1014
1014
|
return B((t = n?.()) !== null && t !== void 0 ? t : {}, e);
|
|
1015
1015
|
}
|
|
1016
|
-
function
|
|
1016
|
+
function Pe(n) {
|
|
1017
1017
|
return "value" in n;
|
|
1018
1018
|
}
|
|
1019
|
-
function
|
|
1020
|
-
if (!
|
|
1019
|
+
function Wi(n) {
|
|
1020
|
+
if (!Qe(n) || !("binding" in n))
|
|
1021
1021
|
return !1;
|
|
1022
1022
|
const e = n.binding;
|
|
1023
|
-
return
|
|
1023
|
+
return Hn(e);
|
|
1024
1024
|
}
|
|
1025
1025
|
const k = "http://www.w3.org/2000/svg";
|
|
1026
|
-
function
|
|
1026
|
+
function qe(n) {
|
|
1027
1027
|
n.offsetHeight;
|
|
1028
1028
|
}
|
|
1029
|
-
function
|
|
1029
|
+
function ji(n, e) {
|
|
1030
1030
|
const t = n.style.transition;
|
|
1031
1031
|
n.style.transition = "none", e(), n.style.transition = t;
|
|
1032
1032
|
}
|
|
1033
|
-
function
|
|
1033
|
+
function it(n) {
|
|
1034
1034
|
return n.ontouchstart !== void 0;
|
|
1035
1035
|
}
|
|
1036
|
-
function
|
|
1036
|
+
function Di(n) {
|
|
1037
1037
|
const e = n.ownerDocument.defaultView;
|
|
1038
1038
|
return e && "document" in e ? n.getContext("2d", {
|
|
1039
1039
|
willReadFrequently: !0
|
|
1040
1040
|
}) : null;
|
|
1041
1041
|
}
|
|
1042
|
-
const
|
|
1042
|
+
const Xi = {
|
|
1043
1043
|
check: '<path d="M2 8l4 4l8 -8"/>',
|
|
1044
1044
|
dropdown: '<path d="M5 7h6l-3 3 z"/>',
|
|
1045
1045
|
p2dpad: '<path d="M8 4v8"/><path d="M4 8h8"/><circle cx="12" cy="12" r="1.2"/>'
|
|
1046
1046
|
};
|
|
1047
|
-
function
|
|
1047
|
+
function Ue(n, e) {
|
|
1048
1048
|
const t = n.createElementNS(k, "svg");
|
|
1049
|
-
return t.innerHTML =
|
|
1049
|
+
return t.innerHTML = Xi[e], t;
|
|
1050
1050
|
}
|
|
1051
|
-
function
|
|
1051
|
+
function an(n, e, t) {
|
|
1052
1052
|
n.insertBefore(e, n.children[t]);
|
|
1053
1053
|
}
|
|
1054
|
-
function
|
|
1054
|
+
function st(n) {
|
|
1055
1055
|
n.parentElement && n.parentElement.removeChild(n);
|
|
1056
1056
|
}
|
|
1057
|
-
function
|
|
1057
|
+
function ln(n) {
|
|
1058
1058
|
for (; n.children.length > 0; )
|
|
1059
1059
|
n.removeChild(n.children[0]);
|
|
1060
1060
|
}
|
|
1061
|
-
function
|
|
1061
|
+
function zi(n) {
|
|
1062
1062
|
for (; n.childNodes.length > 0; )
|
|
1063
1063
|
n.removeChild(n.childNodes[0]);
|
|
1064
1064
|
}
|
|
1065
|
-
function
|
|
1065
|
+
function un(n) {
|
|
1066
1066
|
return n.relatedTarget ? n.relatedTarget : "explicitOriginalTarget" in n ? n.explicitOriginalTarget : null;
|
|
1067
1067
|
}
|
|
1068
1068
|
function T(n, e) {
|
|
@@ -1073,10 +1073,10 @@ function T(n, e) {
|
|
|
1073
1073
|
function L(n, e, t) {
|
|
1074
1074
|
T(n.value(e), t);
|
|
1075
1075
|
}
|
|
1076
|
-
const
|
|
1076
|
+
const Zi = "tp";
|
|
1077
1077
|
function d(n) {
|
|
1078
1078
|
return (t, i) => [
|
|
1079
|
-
|
|
1079
|
+
Zi,
|
|
1080
1080
|
"-",
|
|
1081
1081
|
n,
|
|
1082
1082
|
"v",
|
|
@@ -1085,27 +1085,27 @@ function d(n) {
|
|
|
1085
1085
|
].join("");
|
|
1086
1086
|
}
|
|
1087
1087
|
const re = d("lbl");
|
|
1088
|
-
function
|
|
1088
|
+
function Ii(n, e) {
|
|
1089
1089
|
const t = n.createDocumentFragment();
|
|
1090
1090
|
return e.split(`
|
|
1091
1091
|
`).map((s) => n.createTextNode(s)).forEach((s, r) => {
|
|
1092
1092
|
r > 0 && t.appendChild(n.createElement("br")), t.appendChild(s);
|
|
1093
1093
|
}), t;
|
|
1094
1094
|
}
|
|
1095
|
-
class
|
|
1095
|
+
class Ai {
|
|
1096
1096
|
constructor(e, t) {
|
|
1097
1097
|
this.element = e.createElement("div"), this.element.classList.add(re()), t.viewProps.bindClassModifiers(this.element);
|
|
1098
1098
|
const i = e.createElement("div");
|
|
1099
1099
|
i.classList.add(re("l")), L(t.props, "label", (r) => {
|
|
1100
|
-
w(r) ? this.element.classList.add(re(void 0, "nol")) : (this.element.classList.remove(re(void 0, "nol")),
|
|
1100
|
+
w(r) ? this.element.classList.add(re(void 0, "nol")) : (this.element.classList.remove(re(void 0, "nol")), zi(i), i.appendChild(Ii(e, r)));
|
|
1101
1101
|
}), this.element.appendChild(i), this.labelElement = i;
|
|
1102
1102
|
const s = e.createElement("div");
|
|
1103
1103
|
s.classList.add(re("v")), this.element.appendChild(s), this.valueElement = s;
|
|
1104
1104
|
}
|
|
1105
1105
|
}
|
|
1106
|
-
class
|
|
1106
|
+
class Bi {
|
|
1107
1107
|
constructor(e, t) {
|
|
1108
|
-
this.props = t.props, this.valueController = t.valueController, this.viewProps = t.valueController.viewProps, this.view = new
|
|
1108
|
+
this.props = t.props, this.valueController = t.valueController, this.viewProps = t.valueController.viewProps, this.view = new Ai(e, {
|
|
1109
1109
|
props: t.props,
|
|
1110
1110
|
viewProps: this.viewProps
|
|
1111
1111
|
}), this.view.valueElement.appendChild(this.valueController.view.element);
|
|
@@ -1121,27 +1121,27 @@ class Ai {
|
|
|
1121
1121
|
});
|
|
1122
1122
|
}
|
|
1123
1123
|
}
|
|
1124
|
-
function
|
|
1124
|
+
function Ji() {
|
|
1125
1125
|
return ["veryfirst", "first", "last", "verylast"];
|
|
1126
1126
|
}
|
|
1127
|
-
const
|
|
1127
|
+
const qt = d(""), St = {
|
|
1128
1128
|
veryfirst: "vfst",
|
|
1129
1129
|
first: "fst",
|
|
1130
1130
|
last: "lst",
|
|
1131
1131
|
verylast: "vlst"
|
|
1132
1132
|
};
|
|
1133
|
-
class
|
|
1133
|
+
class hn {
|
|
1134
1134
|
constructor(e) {
|
|
1135
1135
|
this.parent_ = null, this.blade = e.blade, this.view = e.view, this.viewProps = e.viewProps;
|
|
1136
1136
|
const t = this.view.element;
|
|
1137
1137
|
this.blade.value("positions").emitter.on("change", () => {
|
|
1138
|
-
|
|
1139
|
-
t.classList.remove(
|
|
1138
|
+
Ji().forEach((i) => {
|
|
1139
|
+
t.classList.remove(qt(void 0, St[i]));
|
|
1140
1140
|
}), this.blade.get("positions").forEach((i) => {
|
|
1141
|
-
t.classList.add(
|
|
1141
|
+
t.classList.add(qt(void 0, St[i]));
|
|
1142
1142
|
});
|
|
1143
1143
|
}), this.viewProps.handleDispose(() => {
|
|
1144
|
-
|
|
1144
|
+
st(t);
|
|
1145
1145
|
});
|
|
1146
1146
|
}
|
|
1147
1147
|
get parent() {
|
|
@@ -1169,7 +1169,7 @@ class un {
|
|
|
1169
1169
|
return K(null, Object.assign({}, this.viewProps.exportState()));
|
|
1170
1170
|
}
|
|
1171
1171
|
}
|
|
1172
|
-
class
|
|
1172
|
+
class Gi extends tt {
|
|
1173
1173
|
get label() {
|
|
1174
1174
|
return this.controller.labelController.props.get("label");
|
|
1175
1175
|
}
|
|
@@ -1186,42 +1186,42 @@ class Ji extends et {
|
|
|
1186
1186
|
on(e, t) {
|
|
1187
1187
|
const i = t.bind(this);
|
|
1188
1188
|
return this.controller.buttonController.emitter.on(e, (r) => {
|
|
1189
|
-
i(new
|
|
1189
|
+
i(new Mi(this, r.nativeEvent));
|
|
1190
1190
|
}), this;
|
|
1191
1191
|
}
|
|
1192
1192
|
off(e, t) {
|
|
1193
1193
|
return this.controller.buttonController.emitter.off(e, t), this;
|
|
1194
1194
|
}
|
|
1195
1195
|
}
|
|
1196
|
-
function
|
|
1196
|
+
function Yi(n, e, t) {
|
|
1197
1197
|
t ? n.classList.add(e) : n.classList.remove(e);
|
|
1198
1198
|
}
|
|
1199
1199
|
function te(n, e) {
|
|
1200
1200
|
return (t) => {
|
|
1201
|
-
|
|
1201
|
+
Yi(n, e, t);
|
|
1202
1202
|
};
|
|
1203
1203
|
}
|
|
1204
|
-
function
|
|
1204
|
+
function rt(n, e) {
|
|
1205
1205
|
T(n, (t) => {
|
|
1206
1206
|
e.textContent = t ?? "";
|
|
1207
1207
|
});
|
|
1208
1208
|
}
|
|
1209
|
-
const
|
|
1210
|
-
class
|
|
1209
|
+
const Ne = d("btn");
|
|
1210
|
+
class Hi {
|
|
1211
1211
|
constructor(e, t) {
|
|
1212
|
-
this.element = e.createElement("div"), this.element.classList.add(
|
|
1212
|
+
this.element = e.createElement("div"), this.element.classList.add(Ne()), t.viewProps.bindClassModifiers(this.element);
|
|
1213
1213
|
const i = e.createElement("button");
|
|
1214
|
-
i.classList.add(
|
|
1214
|
+
i.classList.add(Ne("b")), t.viewProps.bindDisabled(i), this.element.appendChild(i), this.buttonElement = i;
|
|
1215
1215
|
const s = e.createElement("div");
|
|
1216
|
-
s.classList.add(
|
|
1216
|
+
s.classList.add(Ne("t")), rt(t.props.value("title"), s), this.buttonElement.appendChild(s);
|
|
1217
1217
|
}
|
|
1218
1218
|
}
|
|
1219
|
-
class
|
|
1219
|
+
class Qi {
|
|
1220
1220
|
/**
|
|
1221
1221
|
* @hidden
|
|
1222
1222
|
*/
|
|
1223
1223
|
constructor(e, t) {
|
|
1224
|
-
this.emitter = new q(), this.onClick_ = this.onClick_.bind(this), this.props = t.props, this.viewProps = t.viewProps, this.view = new
|
|
1224
|
+
this.emitter = new q(), this.onClick_ = this.onClick_.bind(this), this.props = t.props, this.viewProps = t.viewProps, this.view = new Hi(e, {
|
|
1225
1225
|
props: this.props,
|
|
1226
1226
|
viewProps: this.viewProps
|
|
1227
1227
|
}), this.view.buttonElement.addEventListener("click", this.onClick_);
|
|
@@ -1243,12 +1243,12 @@ class Hi {
|
|
|
1243
1243
|
});
|
|
1244
1244
|
}
|
|
1245
1245
|
}
|
|
1246
|
-
class
|
|
1246
|
+
class Rt extends hn {
|
|
1247
1247
|
constructor(e, t) {
|
|
1248
|
-
const i = new
|
|
1248
|
+
const i = new Qi(e, {
|
|
1249
1249
|
props: t.buttonProps,
|
|
1250
1250
|
viewProps: t.viewProps
|
|
1251
|
-
}), s = new
|
|
1251
|
+
}), s = new Bi(e, {
|
|
1252
1252
|
blade: t.blade,
|
|
1253
1253
|
props: t.labelProps,
|
|
1254
1254
|
valueController: i
|
|
@@ -1266,7 +1266,7 @@ class St extends un {
|
|
|
1266
1266
|
return K(() => super.exportState(), Object.assign(Object.assign({}, this.buttonController.exportProps()), this.labelController.exportProps()));
|
|
1267
1267
|
}
|
|
1268
1268
|
}
|
|
1269
|
-
class
|
|
1269
|
+
class _i {
|
|
1270
1270
|
/**
|
|
1271
1271
|
* @hidden
|
|
1272
1272
|
*/
|
|
@@ -1279,9 +1279,9 @@ class Qi {
|
|
|
1279
1279
|
return this.prerelease !== null ? [e, this.prerelease].join("-") : e;
|
|
1280
1280
|
}
|
|
1281
1281
|
}
|
|
1282
|
-
const
|
|
1282
|
+
const $i = new _i("2.0.5");
|
|
1283
1283
|
function P(n) {
|
|
1284
|
-
return Object.assign({ core:
|
|
1284
|
+
return Object.assign({ core: $i }, n);
|
|
1285
1285
|
}
|
|
1286
1286
|
P({
|
|
1287
1287
|
id: "button",
|
|
@@ -1295,7 +1295,7 @@ P({
|
|
|
1295
1295
|
return e ? { params: e } : null;
|
|
1296
1296
|
},
|
|
1297
1297
|
controller(n) {
|
|
1298
|
-
return new
|
|
1298
|
+
return new Rt(n.document, {
|
|
1299
1299
|
blade: n.blade,
|
|
1300
1300
|
buttonProps: p.fromObject({
|
|
1301
1301
|
title: n.params.title
|
|
@@ -1307,27 +1307,27 @@ P({
|
|
|
1307
1307
|
});
|
|
1308
1308
|
},
|
|
1309
1309
|
api(n) {
|
|
1310
|
-
return n.controller instanceof
|
|
1310
|
+
return n.controller instanceof Rt ? new Gi(n.controller) : null;
|
|
1311
1311
|
}
|
|
1312
1312
|
});
|
|
1313
|
-
function
|
|
1313
|
+
function es(n, e) {
|
|
1314
1314
|
return n.addBlade(Object.assign(Object.assign({}, e), { view: "button" }));
|
|
1315
1315
|
}
|
|
1316
|
-
function
|
|
1316
|
+
function ts(n, e) {
|
|
1317
1317
|
return n.addBlade(Object.assign(Object.assign({}, e), { view: "folder" }));
|
|
1318
1318
|
}
|
|
1319
|
-
function
|
|
1319
|
+
function ns(n, e) {
|
|
1320
1320
|
return n.addBlade(Object.assign(Object.assign({}, e), { view: "tab" }));
|
|
1321
1321
|
}
|
|
1322
|
-
function
|
|
1323
|
-
return
|
|
1322
|
+
function is(n) {
|
|
1323
|
+
return Qe(n) ? "refresh" in n && typeof n.refresh == "function" : !1;
|
|
1324
1324
|
}
|
|
1325
|
-
function
|
|
1326
|
-
if (!
|
|
1325
|
+
function ss(n, e) {
|
|
1326
|
+
if (!Ee.isBindable(n))
|
|
1327
1327
|
throw E.notBindable();
|
|
1328
|
-
return new
|
|
1328
|
+
return new Ee(n, e);
|
|
1329
1329
|
}
|
|
1330
|
-
class
|
|
1330
|
+
class rs {
|
|
1331
1331
|
constructor(e, t) {
|
|
1332
1332
|
this.onRackValueChange_ = this.onRackValueChange_.bind(this), this.controller_ = e, this.emitter_ = new q(), this.pool_ = t, this.controller_.rack.emitter.on("valuechange", this.onRackValueChange_);
|
|
1333
1333
|
}
|
|
@@ -1335,17 +1335,17 @@ class ss {
|
|
|
1335
1335
|
return this.controller_.rack.children.map((e) => this.pool_.createApi(e));
|
|
1336
1336
|
}
|
|
1337
1337
|
addBinding(e, t, i) {
|
|
1338
|
-
const s = i ?? {}, r = this.controller_.element.ownerDocument, o = this.pool_.createBinding(r,
|
|
1338
|
+
const s = i ?? {}, r = this.controller_.element.ownerDocument, o = this.pool_.createBinding(r, ss(e, t), s), a = this.pool_.createBindingApi(o);
|
|
1339
1339
|
return this.add(a, s.index);
|
|
1340
1340
|
}
|
|
1341
1341
|
addFolder(e) {
|
|
1342
|
-
return
|
|
1342
|
+
return ts(this, e);
|
|
1343
1343
|
}
|
|
1344
1344
|
addButton(e) {
|
|
1345
|
-
return
|
|
1345
|
+
return es(this, e);
|
|
1346
1346
|
}
|
|
1347
1347
|
addTab(e) {
|
|
1348
|
-
return
|
|
1348
|
+
return ns(this, e);
|
|
1349
1349
|
}
|
|
1350
1350
|
add(e, t) {
|
|
1351
1351
|
const i = e.controller;
|
|
@@ -1371,26 +1371,26 @@ class ss {
|
|
|
1371
1371
|
}
|
|
1372
1372
|
refresh() {
|
|
1373
1373
|
this.children.forEach((e) => {
|
|
1374
|
-
|
|
1374
|
+
is(e) && e.refresh();
|
|
1375
1375
|
});
|
|
1376
1376
|
}
|
|
1377
1377
|
onRackValueChange_(e) {
|
|
1378
|
-
const t = e.bladeController, i = this.pool_.createApi(t), s =
|
|
1379
|
-
this.emitter_.emit("change", new
|
|
1378
|
+
const t = e.bladeController, i = this.pool_.createApi(t), s = Wi(t.value) ? t.value.binding : null;
|
|
1379
|
+
this.emitter_.emit("change", new on(i, s ? s.target.read() : t.value.rawValue, e.options.last));
|
|
1380
1380
|
}
|
|
1381
1381
|
}
|
|
1382
|
-
class
|
|
1382
|
+
class ot extends tt {
|
|
1383
1383
|
/**
|
|
1384
1384
|
* @hidden
|
|
1385
1385
|
*/
|
|
1386
1386
|
constructor(e, t) {
|
|
1387
|
-
super(e), this.rackApi_ = new
|
|
1387
|
+
super(e), this.rackApi_ = new rs(e.rackController, t);
|
|
1388
1388
|
}
|
|
1389
1389
|
refresh() {
|
|
1390
1390
|
this.rackApi_.refresh();
|
|
1391
1391
|
}
|
|
1392
1392
|
}
|
|
1393
|
-
class
|
|
1393
|
+
class at extends hn {
|
|
1394
1394
|
constructor(e) {
|
|
1395
1395
|
super({
|
|
1396
1396
|
blade: e.blade,
|
|
@@ -1409,10 +1409,10 @@ class ot extends un {
|
|
|
1409
1409
|
});
|
|
1410
1410
|
}
|
|
1411
1411
|
}
|
|
1412
|
-
function
|
|
1412
|
+
function Je(n) {
|
|
1413
1413
|
return "rackController" in n;
|
|
1414
1414
|
}
|
|
1415
|
-
class
|
|
1415
|
+
class os {
|
|
1416
1416
|
constructor(e) {
|
|
1417
1417
|
this.emitter = new q(), this.items_ = [], this.cache_ = /* @__PURE__ */ new Set(), this.onSubListAdd_ = this.onSubListAdd_.bind(this), this.onSubListRemove_ = this.onSubListRemove_.bind(this), this.extract_ = e;
|
|
1418
1418
|
}
|
|
@@ -1478,21 +1478,21 @@ class rs {
|
|
|
1478
1478
|
});
|
|
1479
1479
|
}
|
|
1480
1480
|
}
|
|
1481
|
-
function
|
|
1481
|
+
function as(n, e) {
|
|
1482
1482
|
for (let t = 0; t < n.length; t++) {
|
|
1483
1483
|
const i = n[t];
|
|
1484
|
-
if (
|
|
1484
|
+
if (Pe(i) && i.value === e)
|
|
1485
1485
|
return i;
|
|
1486
1486
|
}
|
|
1487
1487
|
return null;
|
|
1488
1488
|
}
|
|
1489
|
-
function
|
|
1490
|
-
return
|
|
1489
|
+
function ls(n) {
|
|
1490
|
+
return Je(n) ? n.rackController.rack.bcSet_ : null;
|
|
1491
1491
|
}
|
|
1492
|
-
class
|
|
1492
|
+
class us {
|
|
1493
1493
|
constructor(e) {
|
|
1494
1494
|
var t, i;
|
|
1495
|
-
this.emitter = new q(), this.onBladePositionsChange_ = this.onBladePositionsChange_.bind(this), this.onSetAdd_ = this.onSetAdd_.bind(this), this.onSetRemove_ = this.onSetRemove_.bind(this), this.onChildDispose_ = this.onChildDispose_.bind(this), this.onChildPositionsChange_ = this.onChildPositionsChange_.bind(this), this.onChildValueChange_ = this.onChildValueChange_.bind(this), this.onChildViewPropsChange_ = this.onChildViewPropsChange_.bind(this), this.onRackLayout_ = this.onRackLayout_.bind(this), this.onRackValueChange_ = this.onRackValueChange_.bind(this), this.blade_ = (t = e.blade) !== null && t !== void 0 ? t : null, (i = this.blade_) === null || i === void 0 || i.value("positions").emitter.on("change", this.onBladePositionsChange_), this.viewProps = e.viewProps, this.bcSet_ = new
|
|
1495
|
+
this.emitter = new q(), this.onBladePositionsChange_ = this.onBladePositionsChange_.bind(this), this.onSetAdd_ = this.onSetAdd_.bind(this), this.onSetRemove_ = this.onSetRemove_.bind(this), this.onChildDispose_ = this.onChildDispose_.bind(this), this.onChildPositionsChange_ = this.onChildPositionsChange_.bind(this), this.onChildValueChange_ = this.onChildValueChange_.bind(this), this.onChildViewPropsChange_ = this.onChildViewPropsChange_.bind(this), this.onRackLayout_ = this.onRackLayout_.bind(this), this.onRackValueChange_ = this.onRackValueChange_.bind(this), this.blade_ = (t = e.blade) !== null && t !== void 0 ? t : null, (i = this.blade_) === null || i === void 0 || i.value("positions").emitter.on("change", this.onBladePositionsChange_), this.viewProps = e.viewProps, this.bcSet_ = new os(ls), this.bcSet_.emitter.on("add", this.onSetAdd_), this.bcSet_.emitter.on("remove", this.onSetRemove_);
|
|
1496
1496
|
}
|
|
1497
1497
|
get children() {
|
|
1498
1498
|
return this.bcSet_.items;
|
|
@@ -1518,9 +1518,9 @@ class ls {
|
|
|
1518
1518
|
}), !t)
|
|
1519
1519
|
return;
|
|
1520
1520
|
const i = e.item;
|
|
1521
|
-
if (i.viewProps.emitter.on("change", this.onChildViewPropsChange_), i.blade.value("positions").emitter.on("change", this.onChildPositionsChange_), i.viewProps.handleDispose(this.onChildDispose_),
|
|
1521
|
+
if (i.viewProps.emitter.on("change", this.onChildViewPropsChange_), i.blade.value("positions").emitter.on("change", this.onChildPositionsChange_), i.viewProps.handleDispose(this.onChildDispose_), Pe(i))
|
|
1522
1522
|
i.value.emitter.on("change", this.onChildValueChange_);
|
|
1523
|
-
else if (
|
|
1523
|
+
else if (Je(i)) {
|
|
1524
1524
|
const s = i.rackController.rack;
|
|
1525
1525
|
if (s) {
|
|
1526
1526
|
const r = s.emitter;
|
|
@@ -1538,9 +1538,9 @@ class ls {
|
|
|
1538
1538
|
}), !t)
|
|
1539
1539
|
return;
|
|
1540
1540
|
const i = e.item;
|
|
1541
|
-
if (
|
|
1541
|
+
if (Pe(i))
|
|
1542
1542
|
i.value.emitter.off("change", this.onChildValueChange_);
|
|
1543
|
-
else if (
|
|
1543
|
+
else if (Je(i)) {
|
|
1544
1544
|
const s = i.rackController.rack;
|
|
1545
1545
|
if (s) {
|
|
1546
1546
|
const r = s.emitter;
|
|
@@ -1571,7 +1571,7 @@ class ls {
|
|
|
1571
1571
|
});
|
|
1572
1572
|
}
|
|
1573
1573
|
onChildValueChange_(e) {
|
|
1574
|
-
const t =
|
|
1574
|
+
const t = as(this.find(Pe), e.sender);
|
|
1575
1575
|
if (!t)
|
|
1576
1576
|
throw E.alreadyDisposed();
|
|
1577
1577
|
this.emitter.emit("valuechange", {
|
|
@@ -1596,10 +1596,10 @@ class ls {
|
|
|
1596
1596
|
this.updatePositions_();
|
|
1597
1597
|
}
|
|
1598
1598
|
}
|
|
1599
|
-
class
|
|
1599
|
+
class lt {
|
|
1600
1600
|
constructor(e) {
|
|
1601
1601
|
this.onRackAdd_ = this.onRackAdd_.bind(this), this.onRackRemove_ = this.onRackRemove_.bind(this), this.element = e.element, this.viewProps = e.viewProps;
|
|
1602
|
-
const t = new
|
|
1602
|
+
const t = new us({
|
|
1603
1603
|
blade: e.root ? void 0 : e.blade,
|
|
1604
1604
|
viewProps: e.viewProps
|
|
1605
1605
|
});
|
|
@@ -1609,16 +1609,16 @@ class at {
|
|
|
1609
1609
|
});
|
|
1610
1610
|
}
|
|
1611
1611
|
onRackAdd_(e) {
|
|
1612
|
-
e.root &&
|
|
1612
|
+
e.root && an(this.element, e.bladeController.view.element, e.index);
|
|
1613
1613
|
}
|
|
1614
1614
|
onRackRemove_(e) {
|
|
1615
|
-
e.root &&
|
|
1615
|
+
e.root && st(e.bladeController.view.element);
|
|
1616
1616
|
}
|
|
1617
1617
|
}
|
|
1618
|
-
function
|
|
1618
|
+
function cn() {
|
|
1619
1619
|
return new p({
|
|
1620
1620
|
positions: g([], {
|
|
1621
|
-
equals:
|
|
1621
|
+
equals: Yn
|
|
1622
1622
|
})
|
|
1623
1623
|
});
|
|
1624
1624
|
}
|
|
@@ -1656,35 +1656,35 @@ class de extends p {
|
|
|
1656
1656
|
this.set("shouldFixHeight", !1), this.set("expandedHeight", null), this.set("completed", !0);
|
|
1657
1657
|
}
|
|
1658
1658
|
}
|
|
1659
|
-
function
|
|
1659
|
+
function hs(n, e) {
|
|
1660
1660
|
let t = 0;
|
|
1661
|
-
return
|
|
1662
|
-
n.set("expandedHeight", null), n.set("temporaryExpanded", !0),
|
|
1661
|
+
return ji(e, () => {
|
|
1662
|
+
n.set("expandedHeight", null), n.set("temporaryExpanded", !0), qe(e), t = e.clientHeight, n.set("temporaryExpanded", null), qe(e);
|
|
1663
1663
|
}), t;
|
|
1664
1664
|
}
|
|
1665
|
-
function
|
|
1665
|
+
function kt(n, e) {
|
|
1666
1666
|
e.style.height = n.styleHeight;
|
|
1667
1667
|
}
|
|
1668
|
-
function
|
|
1668
|
+
function ut(n, e) {
|
|
1669
1669
|
n.value("expanded").emitter.on("beforechange", () => {
|
|
1670
1670
|
if (n.set("completed", !1), w(n.get("expandedHeight"))) {
|
|
1671
|
-
const t =
|
|
1671
|
+
const t = hs(n, e);
|
|
1672
1672
|
t > 0 && n.set("expandedHeight", t);
|
|
1673
1673
|
}
|
|
1674
|
-
n.set("shouldFixHeight", !0),
|
|
1674
|
+
n.set("shouldFixHeight", !0), qe(e);
|
|
1675
1675
|
}), n.emitter.on("change", () => {
|
|
1676
|
-
|
|
1677
|
-
}),
|
|
1676
|
+
kt(n, e);
|
|
1677
|
+
}), kt(n, e), e.addEventListener("transitionend", (t) => {
|
|
1678
1678
|
t.propertyName === "height" && n.cleanUpTransition();
|
|
1679
1679
|
});
|
|
1680
1680
|
}
|
|
1681
|
-
class
|
|
1681
|
+
class cs extends ot {
|
|
1682
1682
|
/**
|
|
1683
1683
|
* @hidden
|
|
1684
1684
|
*/
|
|
1685
1685
|
constructor(e, t) {
|
|
1686
1686
|
super(e, t), this.emitter_ = new q(), this.controller.foldable.value("expanded").emitter.on("change", (i) => {
|
|
1687
|
-
this.emitter_.emit("fold", new
|
|
1687
|
+
this.emitter_.emit("fold", new Fi(this, i.sender.rawValue));
|
|
1688
1688
|
}), this.rackApi_.on("change", (i) => {
|
|
1689
1689
|
this.emitter_.emit("change", i);
|
|
1690
1690
|
});
|
|
@@ -1749,11 +1749,11 @@ class hs extends rt {
|
|
|
1749
1749
|
return this.emitter_.off(e, t), this;
|
|
1750
1750
|
}
|
|
1751
1751
|
}
|
|
1752
|
-
const
|
|
1753
|
-
class
|
|
1752
|
+
const pn = d("cnt");
|
|
1753
|
+
class ps {
|
|
1754
1754
|
constructor(e, t) {
|
|
1755
1755
|
var i;
|
|
1756
|
-
this.className_ = d((i = t.viewName) !== null && i !== void 0 ? i : "fld"), this.element = e.createElement("div"), this.element.classList.add(this.className_(),
|
|
1756
|
+
this.className_ = d((i = t.viewName) !== null && i !== void 0 ? i : "fld"), this.element = e.createElement("div"), this.element.classList.add(this.className_(), pn()), t.viewProps.bindClassModifiers(this.element), this.foldable_ = t.foldable, this.foldable_.bindExpandedClass(this.element, this.className_(void 0, "expanded")), L(this.foldable_, "completed", te(this.element, this.className_(void 0, "cpl")));
|
|
1757
1757
|
const s = e.createElement("button");
|
|
1758
1758
|
s.classList.add(this.className_("b")), L(t.props, "title", (u) => {
|
|
1759
1759
|
w(u) ? this.element.classList.add(this.className_(void 0, "not")) : this.element.classList.remove(this.className_(void 0, "not"));
|
|
@@ -1761,31 +1761,31 @@ class cs {
|
|
|
1761
1761
|
const r = e.createElement("div");
|
|
1762
1762
|
r.classList.add(this.className_("i")), this.element.appendChild(r);
|
|
1763
1763
|
const o = e.createElement("div");
|
|
1764
|
-
o.classList.add(this.className_("t")),
|
|
1764
|
+
o.classList.add(this.className_("t")), rt(t.props.value("title"), o), this.buttonElement.appendChild(o), this.titleElement = o;
|
|
1765
1765
|
const a = e.createElement("div");
|
|
1766
1766
|
a.classList.add(this.className_("m")), this.buttonElement.appendChild(a);
|
|
1767
1767
|
const l = e.createElement("div");
|
|
1768
1768
|
l.classList.add(this.className_("c")), this.element.appendChild(l), this.containerElement = l;
|
|
1769
1769
|
}
|
|
1770
1770
|
}
|
|
1771
|
-
class
|
|
1771
|
+
class Lt extends at {
|
|
1772
1772
|
/**
|
|
1773
1773
|
* @hidden
|
|
1774
1774
|
*/
|
|
1775
1775
|
constructor(e, t) {
|
|
1776
1776
|
var i;
|
|
1777
|
-
const s = de.create((i = t.expanded) !== null && i !== void 0 ? i : !0), r = new
|
|
1777
|
+
const s = de.create((i = t.expanded) !== null && i !== void 0 ? i : !0), r = new ps(e, {
|
|
1778
1778
|
foldable: s,
|
|
1779
1779
|
props: t.props,
|
|
1780
1780
|
viewName: t.root ? "rot" : void 0,
|
|
1781
1781
|
viewProps: t.viewProps
|
|
1782
1782
|
});
|
|
1783
|
-
super(Object.assign(Object.assign({}, t), { rackController: new
|
|
1783
|
+
super(Object.assign(Object.assign({}, t), { rackController: new lt({
|
|
1784
1784
|
blade: t.blade,
|
|
1785
1785
|
element: r.containerElement,
|
|
1786
1786
|
root: t.root,
|
|
1787
1787
|
viewProps: t.viewProps
|
|
1788
|
-
}), view: r })), this.onTitleClick_ = this.onTitleClick_.bind(this), this.props = t.props, this.foldable = s,
|
|
1788
|
+
}), view: r })), this.onTitleClick_ = this.onTitleClick_.bind(this), this.props = t.props, this.foldable = s, ut(this.foldable, this.view.containerElement), this.rackController.rack.emitter.on("add", () => {
|
|
1789
1789
|
this.foldable.cleanUpTransition();
|
|
1790
1790
|
}), this.rackController.rack.emitter.on("remove", () => {
|
|
1791
1791
|
this.foldable.cleanUpTransition();
|
|
@@ -1822,7 +1822,7 @@ P({
|
|
|
1822
1822
|
return e ? { params: e } : null;
|
|
1823
1823
|
},
|
|
1824
1824
|
controller(n) {
|
|
1825
|
-
return new
|
|
1825
|
+
return new Lt(n.document, {
|
|
1826
1826
|
blade: n.blade,
|
|
1827
1827
|
expanded: n.params.expanded,
|
|
1828
1828
|
props: p.fromObject({
|
|
@@ -1832,12 +1832,12 @@ P({
|
|
|
1832
1832
|
});
|
|
1833
1833
|
},
|
|
1834
1834
|
api(n) {
|
|
1835
|
-
return n.controller instanceof
|
|
1835
|
+
return n.controller instanceof Lt ? new cs(n.controller, n.pool) : null;
|
|
1836
1836
|
}
|
|
1837
1837
|
});
|
|
1838
|
-
const
|
|
1839
|
-
function
|
|
1840
|
-
return te(n,
|
|
1838
|
+
const ds = d("");
|
|
1839
|
+
function Ut(n, e) {
|
|
1840
|
+
return te(n, ds(void 0, e));
|
|
1841
1841
|
}
|
|
1842
1842
|
class me extends p {
|
|
1843
1843
|
/**
|
|
@@ -1845,7 +1845,7 @@ class me extends p {
|
|
|
1845
1845
|
*/
|
|
1846
1846
|
constructor(e) {
|
|
1847
1847
|
var t;
|
|
1848
|
-
super(e), this.onDisabledChange_ = this.onDisabledChange_.bind(this), this.onParentChange_ = this.onParentChange_.bind(this), this.onParentGlobalDisabledChange_ = this.onParentGlobalDisabledChange_.bind(this), [this.globalDisabled_, this.setGlobalDisabled_] =
|
|
1848
|
+
super(e), this.onDisabledChange_ = this.onDisabledChange_.bind(this), this.onParentChange_ = this.onParentChange_.bind(this), this.onParentGlobalDisabledChange_ = this.onParentGlobalDisabledChange_.bind(this), [this.globalDisabled_, this.setGlobalDisabled_] = ti(g(this.getGlobalDisabled_())), this.value("disabled").emitter.on("change", this.onDisabledChange_), this.value("parent").emitter.on("change", this.onParentChange_), (t = this.get("parent")) === null || t === void 0 || t.globalDisabled.emitter.on("change", this.onParentGlobalDisabledChange_);
|
|
1849
1849
|
}
|
|
1850
1850
|
static create(e) {
|
|
1851
1851
|
var t, i, s;
|
|
@@ -1861,7 +1861,7 @@ class me extends p {
|
|
|
1861
1861
|
return this.globalDisabled_;
|
|
1862
1862
|
}
|
|
1863
1863
|
bindClassModifiers(e) {
|
|
1864
|
-
T(this.globalDisabled_,
|
|
1864
|
+
T(this.globalDisabled_, Ut(e, "disabled")), L(this, "hidden", Ut(e, "hidden"));
|
|
1865
1865
|
}
|
|
1866
1866
|
bindDisabled(e) {
|
|
1867
1867
|
T(this.globalDisabled_, (t) => {
|
|
@@ -1910,16 +1910,16 @@ class me extends p {
|
|
|
1910
1910
|
i?.globalDisabled.emitter.off("change", this.onParentGlobalDisabledChange_), (t = this.get("parent")) === null || t === void 0 || t.globalDisabled.emitter.on("change", this.onParentGlobalDisabledChange_), this.updateGlobalDisabled_();
|
|
1911
1911
|
}
|
|
1912
1912
|
}
|
|
1913
|
-
const
|
|
1914
|
-
class
|
|
1913
|
+
const Ft = d("tbp");
|
|
1914
|
+
class ms {
|
|
1915
1915
|
constructor(e, t) {
|
|
1916
|
-
this.element = e.createElement("div"), this.element.classList.add(
|
|
1916
|
+
this.element = e.createElement("div"), this.element.classList.add(Ft()), t.viewProps.bindClassModifiers(this.element);
|
|
1917
1917
|
const i = e.createElement("div");
|
|
1918
|
-
i.classList.add(
|
|
1918
|
+
i.classList.add(Ft("c")), this.element.appendChild(i), this.containerElement = i;
|
|
1919
1919
|
}
|
|
1920
1920
|
}
|
|
1921
1921
|
const oe = d("tbi");
|
|
1922
|
-
class
|
|
1922
|
+
class vs {
|
|
1923
1923
|
constructor(e, t) {
|
|
1924
1924
|
this.element = e.createElement("div"), this.element.classList.add(oe()), t.viewProps.bindClassModifiers(this.element), L(t.props, "selected", (r) => {
|
|
1925
1925
|
r ? this.element.classList.add(oe(void 0, "sel")) : this.element.classList.remove(oe(void 0, "sel"));
|
|
@@ -1927,12 +1927,12 @@ class ms {
|
|
|
1927
1927
|
const i = e.createElement("button");
|
|
1928
1928
|
i.classList.add(oe("b")), t.viewProps.bindDisabled(i), this.element.appendChild(i), this.buttonElement = i;
|
|
1929
1929
|
const s = e.createElement("div");
|
|
1930
|
-
s.classList.add(oe("t")),
|
|
1930
|
+
s.classList.add(oe("t")), rt(t.props.value("title"), s), this.buttonElement.appendChild(s), this.titleElement = s;
|
|
1931
1931
|
}
|
|
1932
1932
|
}
|
|
1933
|
-
class
|
|
1933
|
+
class fs {
|
|
1934
1934
|
constructor(e, t) {
|
|
1935
|
-
this.emitter = new q(), this.onClick_ = this.onClick_.bind(this), this.props = t.props, this.viewProps = t.viewProps, this.view = new
|
|
1935
|
+
this.emitter = new q(), this.onClick_ = this.onClick_.bind(this), this.props = t.props, this.viewProps = t.viewProps, this.view = new vs(e, {
|
|
1936
1936
|
props: t.props,
|
|
1937
1937
|
viewProps: t.viewProps
|
|
1938
1938
|
}), this.view.buttonElement.addEventListener("click", this.onClick_);
|
|
@@ -1943,16 +1943,16 @@ class vs {
|
|
|
1943
1943
|
});
|
|
1944
1944
|
}
|
|
1945
1945
|
}
|
|
1946
|
-
class
|
|
1946
|
+
class Ge extends at {
|
|
1947
1947
|
constructor(e, t) {
|
|
1948
|
-
const i = new
|
|
1948
|
+
const i = new ms(e, {
|
|
1949
1949
|
viewProps: t.viewProps
|
|
1950
1950
|
});
|
|
1951
|
-
super(Object.assign(Object.assign({}, t), { rackController: new
|
|
1951
|
+
super(Object.assign(Object.assign({}, t), { rackController: new lt({
|
|
1952
1952
|
blade: t.blade,
|
|
1953
1953
|
element: i.containerElement,
|
|
1954
1954
|
viewProps: t.viewProps
|
|
1955
|
-
}), view: i })), this.onItemClick_ = this.onItemClick_.bind(this), this.ic_ = new
|
|
1955
|
+
}), view: i })), this.onItemClick_ = this.onItemClick_.bind(this), this.ic_ = new fs(e, {
|
|
1956
1956
|
props: t.itemProps,
|
|
1957
1957
|
viewProps: me.create()
|
|
1958
1958
|
}), this.ic_.emitter.on("click", this.onItemClick_), this.props = t.props, L(this.props, "selected", (s) => {
|
|
@@ -1978,7 +1978,7 @@ class Je extends ot {
|
|
|
1978
1978
|
this.props.set("selected", !0);
|
|
1979
1979
|
}
|
|
1980
1980
|
}
|
|
1981
|
-
class
|
|
1981
|
+
class ws extends ot {
|
|
1982
1982
|
/**
|
|
1983
1983
|
* @hidden
|
|
1984
1984
|
*/
|
|
@@ -1991,8 +1991,8 @@ class fs extends rt {
|
|
|
1991
1991
|
return this.rackApi_.children;
|
|
1992
1992
|
}
|
|
1993
1993
|
addPage(e) {
|
|
1994
|
-
const t = this.controller.view.element.ownerDocument, i = new
|
|
1995
|
-
blade:
|
|
1994
|
+
const t = this.controller.view.element.ownerDocument, i = new Ge(t, {
|
|
1995
|
+
blade: cn(),
|
|
1996
1996
|
itemProps: p.fromObject({
|
|
1997
1997
|
selected: !1,
|
|
1998
1998
|
title: e.title
|
|
@@ -2019,10 +2019,10 @@ class fs extends rt {
|
|
|
2019
2019
|
return this.emitter_.off(e, t), this;
|
|
2020
2020
|
}
|
|
2021
2021
|
onSelect_(e) {
|
|
2022
|
-
this.emitter_.emit("select", new
|
|
2022
|
+
this.emitter_.emit("select", new Ki(this, e.rawValue));
|
|
2023
2023
|
}
|
|
2024
2024
|
}
|
|
2025
|
-
class
|
|
2025
|
+
class bs extends ot {
|
|
2026
2026
|
get title() {
|
|
2027
2027
|
var e;
|
|
2028
2028
|
return (e = this.controller.itemController.props.get("title")) !== null && e !== void 0 ? e : "";
|
|
@@ -2061,10 +2061,10 @@ class ws extends rt {
|
|
|
2061
2061
|
return this.rackApi_.addBlade(e);
|
|
2062
2062
|
}
|
|
2063
2063
|
}
|
|
2064
|
-
const
|
|
2065
|
-
class
|
|
2064
|
+
const Kt = -1;
|
|
2065
|
+
class gs {
|
|
2066
2066
|
constructor() {
|
|
2067
|
-
this.onItemSelectedChange_ = this.onItemSelectedChange_.bind(this), this.empty = g(!0), this.selectedIndex = g(
|
|
2067
|
+
this.onItemSelectedChange_ = this.onItemSelectedChange_.bind(this), this.empty = g(!0), this.selectedIndex = g(Kt), this.items_ = [];
|
|
2068
2068
|
}
|
|
2069
2069
|
add(e, t) {
|
|
2070
2070
|
const i = t ?? this.items_.length;
|
|
@@ -2076,7 +2076,7 @@ class bs {
|
|
|
2076
2076
|
}
|
|
2077
2077
|
keepSelection_() {
|
|
2078
2078
|
if (this.items_.length === 0) {
|
|
2079
|
-
this.selectedIndex.rawValue =
|
|
2079
|
+
this.selectedIndex.rawValue = Kt, this.empty.rawValue = !0;
|
|
2080
2080
|
return;
|
|
2081
2081
|
}
|
|
2082
2082
|
const e = this.items_.findIndex((t) => t.rawValue);
|
|
@@ -2097,9 +2097,9 @@ class bs {
|
|
|
2097
2097
|
}
|
|
2098
2098
|
}
|
|
2099
2099
|
const ae = d("tab");
|
|
2100
|
-
class
|
|
2100
|
+
class Vs {
|
|
2101
2101
|
constructor(e, t) {
|
|
2102
|
-
this.element = e.createElement("div"), this.element.classList.add(ae(),
|
|
2102
|
+
this.element = e.createElement("div"), this.element.classList.add(ae(), pn()), t.viewProps.bindClassModifiers(this.element), T(t.empty, te(this.element, ae(void 0, "nop")));
|
|
2103
2103
|
const i = e.createElement("div");
|
|
2104
2104
|
i.classList.add(ae("t")), this.element.appendChild(i), this.itemsElement = i;
|
|
2105
2105
|
const s = e.createElement("div");
|
|
@@ -2108,15 +2108,15 @@ class gs {
|
|
|
2108
2108
|
r.classList.add(ae("c")), this.element.appendChild(r), this.contentsElement = r;
|
|
2109
2109
|
}
|
|
2110
2110
|
}
|
|
2111
|
-
class
|
|
2111
|
+
class Mt extends at {
|
|
2112
2112
|
constructor(e, t) {
|
|
2113
|
-
const i = new
|
|
2113
|
+
const i = new gs(), s = new Vs(e, {
|
|
2114
2114
|
empty: i.empty,
|
|
2115
2115
|
viewProps: t.viewProps
|
|
2116
2116
|
});
|
|
2117
2117
|
super({
|
|
2118
2118
|
blade: t.blade,
|
|
2119
|
-
rackController: new
|
|
2119
|
+
rackController: new lt({
|
|
2120
2120
|
blade: t.blade,
|
|
2121
2121
|
element: s.contentsElement,
|
|
2122
2122
|
viewProps: t.viewProps
|
|
@@ -2136,13 +2136,13 @@ class Kt extends ot {
|
|
|
2136
2136
|
if (!e.root)
|
|
2137
2137
|
return;
|
|
2138
2138
|
const t = e.bladeController;
|
|
2139
|
-
|
|
2139
|
+
an(this.view.itemsElement, t.itemController.view.element, e.index), t.itemController.viewProps.set("parent", this.viewProps), this.tab.add(t.props.value("selected"));
|
|
2140
2140
|
}
|
|
2141
2141
|
onRackRemove_(e) {
|
|
2142
2142
|
if (!e.root)
|
|
2143
2143
|
return;
|
|
2144
2144
|
const t = e.bladeController;
|
|
2145
|
-
|
|
2145
|
+
st(t.itemController.view.element), t.itemController.viewProps.set("parent", null), this.tab.remove(t.props.value("selected"));
|
|
2146
2146
|
}
|
|
2147
2147
|
}
|
|
2148
2148
|
P({
|
|
@@ -2156,13 +2156,13 @@ P({
|
|
|
2156
2156
|
return !e || e.pages.length === 0 ? null : { params: e };
|
|
2157
2157
|
},
|
|
2158
2158
|
controller(n) {
|
|
2159
|
-
const e = new
|
|
2159
|
+
const e = new Mt(n.document, {
|
|
2160
2160
|
blade: n.blade,
|
|
2161
2161
|
viewProps: n.viewProps
|
|
2162
2162
|
});
|
|
2163
2163
|
return n.params.pages.forEach((t) => {
|
|
2164
|
-
const i = new
|
|
2165
|
-
blade:
|
|
2164
|
+
const i = new Ge(n.document, {
|
|
2165
|
+
blade: cn(),
|
|
2166
2166
|
itemProps: p.fromObject({
|
|
2167
2167
|
selected: !1,
|
|
2168
2168
|
title: t.title
|
|
@@ -2176,10 +2176,10 @@ P({
|
|
|
2176
2176
|
}), e;
|
|
2177
2177
|
},
|
|
2178
2178
|
api(n) {
|
|
2179
|
-
return n.controller instanceof
|
|
2179
|
+
return n.controller instanceof Mt ? new ws(n.controller, n.pool) : n.controller instanceof Ge ? new bs(n.controller, n.pool) : null;
|
|
2180
2180
|
}
|
|
2181
2181
|
});
|
|
2182
|
-
class
|
|
2182
|
+
class ht extends nt {
|
|
2183
2183
|
get options() {
|
|
2184
2184
|
return this.controller.valueController.props.get("options");
|
|
2185
2185
|
}
|
|
@@ -2195,7 +2195,7 @@ class ve {
|
|
|
2195
2195
|
return this.constraints.reduce((t, i) => i.constrain(t), e);
|
|
2196
2196
|
}
|
|
2197
2197
|
}
|
|
2198
|
-
function
|
|
2198
|
+
function Se(n, e) {
|
|
2199
2199
|
if (n instanceof e)
|
|
2200
2200
|
return n;
|
|
2201
2201
|
if (n instanceof ve) {
|
|
@@ -2205,7 +2205,7 @@ function qe(n, e) {
|
|
|
2205
2205
|
}
|
|
2206
2206
|
return null;
|
|
2207
2207
|
}
|
|
2208
|
-
class
|
|
2208
|
+
class Fe {
|
|
2209
2209
|
constructor(e) {
|
|
2210
2210
|
this.values = p.fromObject({
|
|
2211
2211
|
options: e
|
|
@@ -2216,9 +2216,9 @@ class Ue {
|
|
|
2216
2216
|
return t.length === 0 || t.filter((s) => s.value === e).length > 0 ? e : t[0].value;
|
|
2217
2217
|
}
|
|
2218
2218
|
}
|
|
2219
|
-
function
|
|
2219
|
+
function Ke(n) {
|
|
2220
2220
|
var e;
|
|
2221
|
-
const t =
|
|
2221
|
+
const t = Be;
|
|
2222
2222
|
if (Array.isArray(n))
|
|
2223
2223
|
return (e = V({ items: n }, (i) => ({
|
|
2224
2224
|
items: i.required.array(i.required.object({
|
|
@@ -2229,7 +2229,7 @@ function Fe(n) {
|
|
|
2229
2229
|
if (typeof n == "object")
|
|
2230
2230
|
return t.required.raw(n).value;
|
|
2231
2231
|
}
|
|
2232
|
-
function
|
|
2232
|
+
function dn(n) {
|
|
2233
2233
|
if (Array.isArray(n))
|
|
2234
2234
|
return n;
|
|
2235
2235
|
const e = [];
|
|
@@ -2237,18 +2237,18 @@ function pn(n) {
|
|
|
2237
2237
|
e.push({ text: t, value: n[t] });
|
|
2238
2238
|
}), e;
|
|
2239
2239
|
}
|
|
2240
|
-
function
|
|
2241
|
-
return w(n) ? null : new
|
|
2240
|
+
function ct(n) {
|
|
2241
|
+
return w(n) ? null : new Fe(dn(n));
|
|
2242
2242
|
}
|
|
2243
|
-
const
|
|
2244
|
-
class
|
|
2243
|
+
const We = d("lst");
|
|
2244
|
+
class Cs {
|
|
2245
2245
|
constructor(e, t) {
|
|
2246
|
-
this.onValueChange_ = this.onValueChange_.bind(this), this.props_ = t.props, this.element = e.createElement("div"), this.element.classList.add(
|
|
2246
|
+
this.onValueChange_ = this.onValueChange_.bind(this), this.props_ = t.props, this.element = e.createElement("div"), this.element.classList.add(We()), t.viewProps.bindClassModifiers(this.element);
|
|
2247
2247
|
const i = e.createElement("select");
|
|
2248
|
-
i.classList.add(
|
|
2248
|
+
i.classList.add(We("s")), t.viewProps.bindDisabled(i), this.element.appendChild(i), this.selectElement = i;
|
|
2249
2249
|
const s = e.createElement("div");
|
|
2250
|
-
s.classList.add(
|
|
2251
|
-
|
|
2250
|
+
s.classList.add(We("m")), s.appendChild(Ue(e, "dropdown")), this.element.appendChild(s), t.value.emitter.on("change", this.onValueChange_), this.value_ = t.value, L(this.props_, "options", (r) => {
|
|
2251
|
+
ln(this.selectElement), r.forEach((o) => {
|
|
2252
2252
|
const a = e.createElement("option");
|
|
2253
2253
|
a.textContent = o.text, this.selectElement.appendChild(a);
|
|
2254
2254
|
}), this.update_();
|
|
@@ -2264,7 +2264,7 @@ class Vs {
|
|
|
2264
2264
|
}
|
|
2265
2265
|
class $ {
|
|
2266
2266
|
constructor(e, t) {
|
|
2267
|
-
this.onSelectChange_ = this.onSelectChange_.bind(this), this.props = t.props, this.value = t.value, this.viewProps = t.viewProps, this.view = new
|
|
2267
|
+
this.onSelectChange_ = this.onSelectChange_.bind(this), this.props = t.props, this.value = t.value, this.viewProps = t.viewProps, this.view = new Cs(e, {
|
|
2268
2268
|
props: this.props,
|
|
2269
2269
|
value: this.value,
|
|
2270
2270
|
viewProps: this.viewProps
|
|
@@ -2276,8 +2276,8 @@ class $ {
|
|
|
2276
2276
|
}
|
|
2277
2277
|
importProps(e) {
|
|
2278
2278
|
return F(e, null, (t) => ({
|
|
2279
|
-
options: t.required.custom(
|
|
2280
|
-
}), (t) => (this.props.set("options",
|
|
2279
|
+
options: t.required.custom(Ke)
|
|
2280
|
+
}), (t) => (this.props.set("options", dn(t.options)), !0));
|
|
2281
2281
|
}
|
|
2282
2282
|
exportProps() {
|
|
2283
2283
|
return K(null, {
|
|
@@ -2285,26 +2285,26 @@ class $ {
|
|
|
2285
2285
|
});
|
|
2286
2286
|
}
|
|
2287
2287
|
}
|
|
2288
|
-
const
|
|
2289
|
-
class
|
|
2288
|
+
const Ot = d("pop");
|
|
2289
|
+
class Ps {
|
|
2290
2290
|
constructor(e, t) {
|
|
2291
|
-
this.element = e.createElement("div"), this.element.classList.add(
|
|
2291
|
+
this.element = e.createElement("div"), this.element.classList.add(Ot()), t.viewProps.bindClassModifiers(this.element), T(t.shows, te(this.element, Ot(void 0, "v")));
|
|
2292
2292
|
}
|
|
2293
2293
|
}
|
|
2294
|
-
class
|
|
2294
|
+
class mn {
|
|
2295
2295
|
constructor(e, t) {
|
|
2296
|
-
this.shows = g(!1), this.viewProps = t.viewProps, this.view = new
|
|
2296
|
+
this.shows = g(!1), this.viewProps = t.viewProps, this.view = new Ps(e, {
|
|
2297
2297
|
shows: this.shows,
|
|
2298
2298
|
viewProps: this.viewProps
|
|
2299
2299
|
});
|
|
2300
2300
|
}
|
|
2301
2301
|
}
|
|
2302
|
-
const
|
|
2303
|
-
class
|
|
2302
|
+
const Tt = d("txt");
|
|
2303
|
+
class ys {
|
|
2304
2304
|
constructor(e, t) {
|
|
2305
|
-
this.onChange_ = this.onChange_.bind(this), this.element = e.createElement("div"), this.element.classList.add(
|
|
2305
|
+
this.onChange_ = this.onChange_.bind(this), this.element = e.createElement("div"), this.element.classList.add(Tt()), t.viewProps.bindClassModifiers(this.element), this.props_ = t.props, this.props_.emitter.on("change", this.onChange_);
|
|
2306
2306
|
const i = e.createElement("input");
|
|
2307
|
-
i.classList.add(
|
|
2307
|
+
i.classList.add(Tt("i")), i.type = "text", t.viewProps.bindDisabled(i), this.element.appendChild(i), this.inputElement = i, t.value.emitter.on("change", this.onChange_), this.value_ = t.value, this.refresh();
|
|
2308
2308
|
}
|
|
2309
2309
|
refresh() {
|
|
2310
2310
|
const e = this.props_.get("formatter");
|
|
@@ -2314,9 +2314,9 @@ class Ps {
|
|
|
2314
2314
|
this.refresh();
|
|
2315
2315
|
}
|
|
2316
2316
|
}
|
|
2317
|
-
class
|
|
2317
|
+
class pt {
|
|
2318
2318
|
constructor(e, t) {
|
|
2319
|
-
this.onInputChange_ = this.onInputChange_.bind(this), this.parser_ = t.parser, this.props = t.props, this.value = t.value, this.viewProps = t.viewProps, this.view = new
|
|
2319
|
+
this.onInputChange_ = this.onInputChange_.bind(this), this.parser_ = t.parser, this.props = t.props, this.value = t.value, this.viewProps = t.viewProps, this.view = new ys(e, {
|
|
2320
2320
|
props: t.props,
|
|
2321
2321
|
value: this.value,
|
|
2322
2322
|
viewProps: this.viewProps
|
|
@@ -2327,26 +2327,26 @@ class ct {
|
|
|
2327
2327
|
w(s) || (this.value.rawValue = s), this.view.refresh();
|
|
2328
2328
|
}
|
|
2329
2329
|
}
|
|
2330
|
-
function
|
|
2330
|
+
function xs(n) {
|
|
2331
2331
|
return String(n);
|
|
2332
2332
|
}
|
|
2333
|
-
function
|
|
2333
|
+
function vn(n) {
|
|
2334
2334
|
return n === "false" ? !1 : !!n;
|
|
2335
2335
|
}
|
|
2336
|
-
function
|
|
2337
|
-
return
|
|
2336
|
+
function Nt(n) {
|
|
2337
|
+
return xs(n);
|
|
2338
2338
|
}
|
|
2339
|
-
function
|
|
2339
|
+
function Es(n) {
|
|
2340
2340
|
return (e) => n.reduce((t, i) => t !== null ? t : i(e), null);
|
|
2341
2341
|
}
|
|
2342
|
-
const
|
|
2343
|
-
function
|
|
2344
|
-
return
|
|
2342
|
+
const qs = x(0);
|
|
2343
|
+
function Re(n) {
|
|
2344
|
+
return qs(n) + "%";
|
|
2345
2345
|
}
|
|
2346
|
-
function
|
|
2346
|
+
function fn(n) {
|
|
2347
2347
|
return String(n);
|
|
2348
2348
|
}
|
|
2349
|
-
function
|
|
2349
|
+
function Ye(n) {
|
|
2350
2350
|
return n;
|
|
2351
2351
|
}
|
|
2352
2352
|
function ne({ primary: n, secondary: e, forward: t, backward: i }) {
|
|
@@ -2391,13 +2391,13 @@ function N(n) {
|
|
|
2391
2391
|
upKey: n.key === "ArrowRight"
|
|
2392
2392
|
};
|
|
2393
2393
|
}
|
|
2394
|
-
function
|
|
2394
|
+
function Ss(n) {
|
|
2395
2395
|
return n === "ArrowUp" || n === "ArrowDown";
|
|
2396
2396
|
}
|
|
2397
|
-
function
|
|
2398
|
-
return
|
|
2397
|
+
function wn(n) {
|
|
2398
|
+
return Ss(n) || n === "ArrowLeft" || n === "ArrowRight";
|
|
2399
2399
|
}
|
|
2400
|
-
function
|
|
2400
|
+
function je(n, e) {
|
|
2401
2401
|
var t, i;
|
|
2402
2402
|
const s = e.ownerDocument.defaultView, r = e.getBoundingClientRect();
|
|
2403
2403
|
return {
|
|
@@ -2435,7 +2435,7 @@ class G {
|
|
|
2435
2435
|
const i = this.elem_.ownerDocument;
|
|
2436
2436
|
i.addEventListener("mousemove", this.onDocumentMouseMove_), i.addEventListener("mouseup", this.onDocumentMouseUp_), this.emitter.emit("down", {
|
|
2437
2437
|
altKey: e.altKey,
|
|
2438
|
-
data: this.computePosition_(
|
|
2438
|
+
data: this.computePosition_(je(e, this.elem_)),
|
|
2439
2439
|
sender: this,
|
|
2440
2440
|
shiftKey: e.shiftKey
|
|
2441
2441
|
});
|
|
@@ -2443,7 +2443,7 @@ class G {
|
|
|
2443
2443
|
onDocumentMouseMove_(e) {
|
|
2444
2444
|
this.emitter.emit("move", {
|
|
2445
2445
|
altKey: e.altKey,
|
|
2446
|
-
data: this.computePosition_(
|
|
2446
|
+
data: this.computePosition_(je(e, this.elem_)),
|
|
2447
2447
|
sender: this,
|
|
2448
2448
|
shiftKey: e.shiftKey
|
|
2449
2449
|
});
|
|
@@ -2452,7 +2452,7 @@ class G {
|
|
|
2452
2452
|
const t = this.elem_.ownerDocument;
|
|
2453
2453
|
t.removeEventListener("mousemove", this.onDocumentMouseMove_), t.removeEventListener("mouseup", this.onDocumentMouseUp_), this.emitter.emit("up", {
|
|
2454
2454
|
altKey: e.altKey,
|
|
2455
|
-
data: this.computePosition_(
|
|
2455
|
+
data: this.computePosition_(je(e, this.elem_)),
|
|
2456
2456
|
sender: this,
|
|
2457
2457
|
shiftKey: e.shiftKey
|
|
2458
2458
|
});
|
|
@@ -2497,7 +2497,7 @@ class G {
|
|
|
2497
2497
|
}
|
|
2498
2498
|
}
|
|
2499
2499
|
const S = d("txt");
|
|
2500
|
-
class
|
|
2500
|
+
class Rs {
|
|
2501
2501
|
constructor(e, t) {
|
|
2502
2502
|
this.onChange_ = this.onChange_.bind(this), this.props_ = t.props, this.props_.emitter.on("change", this.onChange_), this.element = e.createElement("div"), this.element.classList.add(S(), S(void 0, "num")), t.arrayPosition && this.element.classList.add(S(void 0, t.arrayPosition)), t.viewProps.bindClassModifiers(this.element);
|
|
2503
2503
|
const i = e.createElement("input");
|
|
@@ -2535,7 +2535,7 @@ class Ss {
|
|
|
2535
2535
|
class fe {
|
|
2536
2536
|
constructor(e, t) {
|
|
2537
2537
|
var i;
|
|
2538
|
-
this.originRawValue_ = 0, this.onInputChange_ = this.onInputChange_.bind(this), this.onInputKeyDown_ = this.onInputKeyDown_.bind(this), this.onInputKeyUp_ = this.onInputKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.parser_ = t.parser, this.props = t.props, this.sliderProps_ = (i = t.sliderProps) !== null && i !== void 0 ? i : null, this.value = t.value, this.viewProps = t.viewProps, this.dragging_ = g(null), this.view = new
|
|
2538
|
+
this.originRawValue_ = 0, this.onInputChange_ = this.onInputChange_.bind(this), this.onInputKeyDown_ = this.onInputKeyDown_.bind(this), this.onInputKeyUp_ = this.onInputKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.parser_ = t.parser, this.props = t.props, this.sliderProps_ = (i = t.sliderProps) !== null && i !== void 0 ? i : null, this.value = t.value, this.viewProps = t.viewProps, this.dragging_ = g(null), this.view = new Rs(e, {
|
|
2539
2539
|
arrayPosition: t.arrayPosition,
|
|
2540
2540
|
dragging: this.dragging_,
|
|
2541
2541
|
props: this.props,
|
|
@@ -2592,14 +2592,14 @@ class fe {
|
|
|
2592
2592
|
}), this.dragging_.rawValue = null);
|
|
2593
2593
|
}
|
|
2594
2594
|
}
|
|
2595
|
-
const
|
|
2596
|
-
class
|
|
2595
|
+
const De = d("sld");
|
|
2596
|
+
class ks {
|
|
2597
2597
|
constructor(e, t) {
|
|
2598
|
-
this.onChange_ = this.onChange_.bind(this), this.props_ = t.props, this.props_.emitter.on("change", this.onChange_), this.element = e.createElement("div"), this.element.classList.add(
|
|
2598
|
+
this.onChange_ = this.onChange_.bind(this), this.props_ = t.props, this.props_.emitter.on("change", this.onChange_), this.element = e.createElement("div"), this.element.classList.add(De()), t.viewProps.bindClassModifiers(this.element);
|
|
2599
2599
|
const i = e.createElement("div");
|
|
2600
|
-
i.classList.add(
|
|
2600
|
+
i.classList.add(De("t")), t.viewProps.bindTabIndex(i), this.element.appendChild(i), this.trackElement = i;
|
|
2601
2601
|
const s = e.createElement("div");
|
|
2602
|
-
s.classList.add(
|
|
2602
|
+
s.classList.add(De("k")), this.trackElement.appendChild(s), this.knobElement = s, t.value.emitter.on("change", this.onChange_), this.value = t.value, this.update_();
|
|
2603
2603
|
}
|
|
2604
2604
|
update_() {
|
|
2605
2605
|
const e = b(v(this.value.rawValue, this.props_.get("min"), this.props_.get("max"), 0, 100), 0, 100);
|
|
@@ -2609,9 +2609,9 @@ class Rs {
|
|
|
2609
2609
|
this.update_();
|
|
2610
2610
|
}
|
|
2611
2611
|
}
|
|
2612
|
-
class
|
|
2612
|
+
class Ls {
|
|
2613
2613
|
constructor(e, t) {
|
|
2614
|
-
this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDownOrMove_ = this.onPointerDownOrMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.props = t.props, this.view = new
|
|
2614
|
+
this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDownOrMove_ = this.onPointerDownOrMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.props = t.props, this.view = new ks(e, {
|
|
2615
2615
|
props: this.props,
|
|
2616
2616
|
value: this.value,
|
|
2617
2617
|
viewProps: this.viewProps
|
|
@@ -2646,19 +2646,19 @@ class ks {
|
|
|
2646
2646
|
});
|
|
2647
2647
|
}
|
|
2648
2648
|
}
|
|
2649
|
-
const
|
|
2650
|
-
class
|
|
2649
|
+
const Xe = d("sldtxt");
|
|
2650
|
+
class Us {
|
|
2651
2651
|
constructor(e, t) {
|
|
2652
|
-
this.element = e.createElement("div"), this.element.classList.add(
|
|
2652
|
+
this.element = e.createElement("div"), this.element.classList.add(Xe());
|
|
2653
2653
|
const i = e.createElement("div");
|
|
2654
|
-
i.classList.add(
|
|
2654
|
+
i.classList.add(Xe("s")), this.sliderView_ = t.sliderView, i.appendChild(this.sliderView_.element), this.element.appendChild(i);
|
|
2655
2655
|
const s = e.createElement("div");
|
|
2656
|
-
s.classList.add(
|
|
2656
|
+
s.classList.add(Xe("t")), this.textView_ = t.textView, s.appendChild(this.textView_.element), this.element.appendChild(s);
|
|
2657
2657
|
}
|
|
2658
2658
|
}
|
|
2659
|
-
class
|
|
2659
|
+
class Wt {
|
|
2660
2660
|
constructor(e, t) {
|
|
2661
|
-
this.value = t.value, this.viewProps = t.viewProps, this.sliderC_ = new
|
|
2661
|
+
this.value = t.value, this.viewProps = t.viewProps, this.sliderC_ = new Ls(e, {
|
|
2662
2662
|
props: t.sliderProps,
|
|
2663
2663
|
value: t.value,
|
|
2664
2664
|
viewProps: this.viewProps
|
|
@@ -2668,7 +2668,7 @@ class Nt {
|
|
|
2668
2668
|
sliderProps: t.sliderProps,
|
|
2669
2669
|
value: t.value,
|
|
2670
2670
|
viewProps: t.viewProps
|
|
2671
|
-
}), this.view = new
|
|
2671
|
+
}), this.view = new Us(e, {
|
|
2672
2672
|
sliderView: this.sliderC_.view,
|
|
2673
2673
|
textView: this.textC_.view
|
|
2674
2674
|
});
|
|
@@ -2696,7 +2696,7 @@ class Nt {
|
|
|
2696
2696
|
});
|
|
2697
2697
|
}
|
|
2698
2698
|
}
|
|
2699
|
-
function
|
|
2699
|
+
function Fs(n) {
|
|
2700
2700
|
return {
|
|
2701
2701
|
sliderProps: new p({
|
|
2702
2702
|
keyScale: n.keyScale,
|
|
@@ -2710,28 +2710,28 @@ function Us(n) {
|
|
|
2710
2710
|
})
|
|
2711
2711
|
};
|
|
2712
2712
|
}
|
|
2713
|
-
const
|
|
2713
|
+
const Ks = {
|
|
2714
2714
|
containerUnitSize: "cnt-usz"
|
|
2715
2715
|
};
|
|
2716
|
-
function
|
|
2717
|
-
return `--${
|
|
2716
|
+
function bn(n) {
|
|
2717
|
+
return `--${Ks[n]}`;
|
|
2718
2718
|
}
|
|
2719
2719
|
function pe(n) {
|
|
2720
|
-
return
|
|
2720
|
+
return rn(n);
|
|
2721
2721
|
}
|
|
2722
2722
|
function X(n) {
|
|
2723
|
-
if (
|
|
2723
|
+
if (Ae(n))
|
|
2724
2724
|
return V(n, pe);
|
|
2725
2725
|
}
|
|
2726
2726
|
function O(n, e) {
|
|
2727
2727
|
if (!n)
|
|
2728
2728
|
return;
|
|
2729
|
-
const t = [], i =
|
|
2729
|
+
const t = [], i = tn(n, e);
|
|
2730
2730
|
i && t.push(i);
|
|
2731
|
-
const s =
|
|
2731
|
+
const s = nn(n);
|
|
2732
2732
|
return s && t.push(s), new ve(t);
|
|
2733
2733
|
}
|
|
2734
|
-
function
|
|
2734
|
+
function gn(n) {
|
|
2735
2735
|
if (n === "inline" || n === "popup")
|
|
2736
2736
|
return n;
|
|
2737
2737
|
}
|
|
@@ -2739,7 +2739,7 @@ function we(n, e) {
|
|
|
2739
2739
|
n.write(e);
|
|
2740
2740
|
}
|
|
2741
2741
|
const Ve = d("ckb");
|
|
2742
|
-
class
|
|
2742
|
+
class Ms {
|
|
2743
2743
|
constructor(e, t) {
|
|
2744
2744
|
this.onValueChange_ = this.onValueChange_.bind(this), this.element = e.createElement("div"), this.element.classList.add(Ve()), t.viewProps.bindClassModifiers(this.element);
|
|
2745
2745
|
const i = e.createElement("label");
|
|
@@ -2748,7 +2748,7 @@ class Ks {
|
|
|
2748
2748
|
s.classList.add(Ve("i")), s.type = "checkbox", this.labelElement.appendChild(s), this.inputElement = s, t.viewProps.bindDisabled(this.inputElement);
|
|
2749
2749
|
const r = e.createElement("div");
|
|
2750
2750
|
r.classList.add(Ve("w")), this.labelElement.appendChild(r);
|
|
2751
|
-
const o =
|
|
2751
|
+
const o = Ue(e, "check");
|
|
2752
2752
|
r.appendChild(o), t.value.emitter.on("change", this.onValueChange_), this.value = t.value, this.update_();
|
|
2753
2753
|
}
|
|
2754
2754
|
update_() {
|
|
@@ -2758,9 +2758,9 @@ class Ks {
|
|
|
2758
2758
|
this.update_();
|
|
2759
2759
|
}
|
|
2760
2760
|
}
|
|
2761
|
-
class
|
|
2761
|
+
class Os {
|
|
2762
2762
|
constructor(e, t) {
|
|
2763
|
-
this.onInputChange_ = this.onInputChange_.bind(this), this.onLabelMouseDown_ = this.onLabelMouseDown_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.view = new
|
|
2763
|
+
this.onInputChange_ = this.onInputChange_.bind(this), this.onLabelMouseDown_ = this.onLabelMouseDown_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.view = new Ms(e, {
|
|
2764
2764
|
value: this.value,
|
|
2765
2765
|
viewProps: this.viewProps
|
|
2766
2766
|
}), this.view.inputElement.addEventListener("change", this.onInputChange_), this.view.labelElement.addEventListener("mousedown", this.onLabelMouseDown_);
|
|
@@ -2773,8 +2773,8 @@ class Ms {
|
|
|
2773
2773
|
e.preventDefault();
|
|
2774
2774
|
}
|
|
2775
2775
|
}
|
|
2776
|
-
function
|
|
2777
|
-
const e = [], t =
|
|
2776
|
+
function Ts(n) {
|
|
2777
|
+
const e = [], t = ct(n.options);
|
|
2778
2778
|
return t && e.push(t), new ve(e);
|
|
2779
2779
|
}
|
|
2780
2780
|
P({
|
|
@@ -2784,7 +2784,7 @@ P({
|
|
|
2784
2784
|
if (typeof n != "boolean")
|
|
2785
2785
|
return null;
|
|
2786
2786
|
const t = V(e, (i) => ({
|
|
2787
|
-
options: i.optional.custom(
|
|
2787
|
+
options: i.optional.custom(Ke),
|
|
2788
2788
|
readonly: i.optional.constant(!1)
|
|
2789
2789
|
}));
|
|
2790
2790
|
return t ? {
|
|
@@ -2793,29 +2793,29 @@ P({
|
|
|
2793
2793
|
} : null;
|
|
2794
2794
|
},
|
|
2795
2795
|
binding: {
|
|
2796
|
-
reader: (n) =>
|
|
2797
|
-
constraint: (n) =>
|
|
2796
|
+
reader: (n) => vn,
|
|
2797
|
+
constraint: (n) => Ts(n.params),
|
|
2798
2798
|
writer: (n) => we
|
|
2799
2799
|
},
|
|
2800
2800
|
controller: (n) => {
|
|
2801
|
-
const e = n.document, t = n.value, i = n.constraint, s = i &&
|
|
2801
|
+
const e = n.document, t = n.value, i = n.constraint, s = i && Se(i, Fe);
|
|
2802
2802
|
return s ? new $(e, {
|
|
2803
2803
|
props: new p({
|
|
2804
2804
|
options: s.values.value("options")
|
|
2805
2805
|
}),
|
|
2806
2806
|
value: t,
|
|
2807
2807
|
viewProps: n.viewProps
|
|
2808
|
-
}) : new
|
|
2808
|
+
}) : new Os(e, {
|
|
2809
2809
|
value: t,
|
|
2810
2810
|
viewProps: n.viewProps
|
|
2811
2811
|
});
|
|
2812
2812
|
},
|
|
2813
2813
|
api(n) {
|
|
2814
|
-
return typeof n.controller.value.rawValue != "boolean" ? null : n.controller.valueController instanceof $ ? new
|
|
2814
|
+
return typeof n.controller.value.rawValue != "boolean" ? null : n.controller.valueController instanceof $ ? new ht(n.controller) : null;
|
|
2815
2815
|
}
|
|
2816
2816
|
});
|
|
2817
2817
|
const A = d("col");
|
|
2818
|
-
class
|
|
2818
|
+
class Ns {
|
|
2819
2819
|
constructor(e, t) {
|
|
2820
2820
|
this.element = e.createElement("div"), this.element.classList.add(A()), t.foldable.bindExpandedClass(this.element, A(void 0, "expanded")), L(t.foldable, "completed", te(this.element, A(void 0, "cpl")));
|
|
2821
2821
|
const i = e.createElement("div");
|
|
@@ -2830,30 +2830,30 @@ class Ts {
|
|
|
2830
2830
|
this.pickerElement = null;
|
|
2831
2831
|
}
|
|
2832
2832
|
}
|
|
2833
|
-
function
|
|
2833
|
+
function Ws(n, e, t) {
|
|
2834
2834
|
const i = b(n / 255, 0, 1), s = b(e / 255, 0, 1), r = b(t / 255, 0, 1), o = Math.max(i, s, r), a = Math.min(i, s, r), l = o - a;
|
|
2835
2835
|
let u = 0, c = 0;
|
|
2836
2836
|
const m = (a + o) / 2;
|
|
2837
2837
|
return l !== 0 && (c = l / (1 - Math.abs(o + a - 1)), i === o ? u = (s - r) / l : s === o ? u = 2 + (r - i) / l : u = 4 + (i - s) / l, u = u / 6 + (u < 0 ? 1 : 0)), [u * 360, c * 100, m * 100];
|
|
2838
2838
|
}
|
|
2839
|
-
function
|
|
2839
|
+
function js(n, e, t) {
|
|
2840
2840
|
const i = (n % 360 + 360) % 360, s = b(e / 100, 0, 1), r = b(t / 100, 0, 1), o = (1 - Math.abs(2 * r - 1)) * s, a = o * (1 - Math.abs(i / 60 % 2 - 1)), l = r - o / 2;
|
|
2841
2841
|
let u, c, m;
|
|
2842
2842
|
return i >= 0 && i < 60 ? [u, c, m] = [o, a, 0] : i >= 60 && i < 120 ? [u, c, m] = [a, o, 0] : i >= 120 && i < 180 ? [u, c, m] = [0, o, a] : i >= 180 && i < 240 ? [u, c, m] = [0, a, o] : i >= 240 && i < 300 ? [u, c, m] = [a, 0, o] : [u, c, m] = [o, 0, a], [(u + l) * 255, (c + l) * 255, (m + l) * 255];
|
|
2843
2843
|
}
|
|
2844
|
-
function
|
|
2844
|
+
function Ds(n, e, t) {
|
|
2845
2845
|
const i = b(n / 255, 0, 1), s = b(e / 255, 0, 1), r = b(t / 255, 0, 1), o = Math.max(i, s, r), a = Math.min(i, s, r), l = o - a;
|
|
2846
2846
|
let u;
|
|
2847
2847
|
l === 0 ? u = 0 : o === i ? u = 60 * (((s - r) / l % 6 + 6) % 6) : o === s ? u = 60 * ((r - i) / l + 2) : u = 60 * ((i - s) / l + 4);
|
|
2848
2848
|
const c = o === 0 ? 0 : l / o, m = o;
|
|
2849
2849
|
return [u, c * 100, m * 100];
|
|
2850
2850
|
}
|
|
2851
|
-
function
|
|
2852
|
-
const i =
|
|
2851
|
+
function Vn(n, e, t) {
|
|
2852
|
+
const i = $t(n, 360), s = b(e / 100, 0, 1), r = b(t / 100, 0, 1), o = r * s, a = o * (1 - Math.abs(i / 60 % 2 - 1)), l = r - o;
|
|
2853
2853
|
let u, c, m;
|
|
2854
2854
|
return i >= 0 && i < 60 ? [u, c, m] = [o, a, 0] : i >= 60 && i < 120 ? [u, c, m] = [a, o, 0] : i >= 120 && i < 180 ? [u, c, m] = [0, o, a] : i >= 180 && i < 240 ? [u, c, m] = [0, a, o] : i >= 240 && i < 300 ? [u, c, m] = [a, 0, o] : [u, c, m] = [o, 0, a], [(u + l) * 255, (c + l) * 255, (m + l) * 255];
|
|
2855
2855
|
}
|
|
2856
|
-
function
|
|
2856
|
+
function Xs(n, e, t) {
|
|
2857
2857
|
const i = t + e * (100 - Math.abs(2 * t - 100)) / 200;
|
|
2858
2858
|
return [
|
|
2859
2859
|
n,
|
|
@@ -2861,30 +2861,30 @@ function Ds(n, e, t) {
|
|
|
2861
2861
|
t + e * (100 - Math.abs(2 * t - 100)) / 200
|
|
2862
2862
|
];
|
|
2863
2863
|
}
|
|
2864
|
-
function
|
|
2864
|
+
function zs(n, e, t) {
|
|
2865
2865
|
const i = 100 - Math.abs(t * (200 - e) / 100 - 100);
|
|
2866
2866
|
return [n, i !== 0 ? e * t / i : 0, t * (200 - e) / 200];
|
|
2867
2867
|
}
|
|
2868
2868
|
function U(n) {
|
|
2869
2869
|
return [n[0], n[1], n[2]];
|
|
2870
2870
|
}
|
|
2871
|
-
function
|
|
2871
|
+
function Me(n, e) {
|
|
2872
2872
|
return [n[0], n[1], n[2], e];
|
|
2873
2873
|
}
|
|
2874
|
-
const
|
|
2874
|
+
const Zs = {
|
|
2875
2875
|
hsl: {
|
|
2876
2876
|
hsl: (n, e, t) => [n, e, t],
|
|
2877
|
-
hsv:
|
|
2878
|
-
rgb:
|
|
2877
|
+
hsv: Xs,
|
|
2878
|
+
rgb: js
|
|
2879
2879
|
},
|
|
2880
2880
|
hsv: {
|
|
2881
|
-
hsl:
|
|
2881
|
+
hsl: zs,
|
|
2882
2882
|
hsv: (n, e, t) => [n, e, t],
|
|
2883
|
-
rgb:
|
|
2883
|
+
rgb: Vn
|
|
2884
2884
|
},
|
|
2885
2885
|
rgb: {
|
|
2886
|
-
hsl:
|
|
2887
|
-
hsv:
|
|
2886
|
+
hsl: Ws,
|
|
2887
|
+
hsv: Ds,
|
|
2888
2888
|
rgb: (n, e, t) => [n, e, t]
|
|
2889
2889
|
}
|
|
2890
2890
|
};
|
|
@@ -2895,36 +2895,36 @@ function ee(n, e) {
|
|
|
2895
2895
|
e === "float" ? 1 : n === "rgb" ? 255 : 100
|
|
2896
2896
|
];
|
|
2897
2897
|
}
|
|
2898
|
-
function
|
|
2899
|
-
return n === e ? e :
|
|
2898
|
+
function Is(n, e) {
|
|
2899
|
+
return n === e ? e : $t(n, e);
|
|
2900
2900
|
}
|
|
2901
|
-
function
|
|
2901
|
+
function Cn(n, e, t) {
|
|
2902
2902
|
var i;
|
|
2903
2903
|
const s = ee(e, t);
|
|
2904
2904
|
return [
|
|
2905
|
-
e === "rgb" ? b(n[0], 0, s[0]) :
|
|
2905
|
+
e === "rgb" ? b(n[0], 0, s[0]) : Is(n[0], s[0]),
|
|
2906
2906
|
b(n[1], 0, s[1]),
|
|
2907
2907
|
b(n[2], 0, s[2]),
|
|
2908
2908
|
b((i = n[3]) !== null && i !== void 0 ? i : 1, 0, 1)
|
|
2909
2909
|
];
|
|
2910
2910
|
}
|
|
2911
|
-
function
|
|
2911
|
+
function jt(n, e, t, i) {
|
|
2912
2912
|
const s = ee(e, t), r = ee(e, i);
|
|
2913
2913
|
return n.map((o, a) => o / s[a] * r[a]);
|
|
2914
2914
|
}
|
|
2915
|
-
function
|
|
2916
|
-
const i =
|
|
2917
|
-
return
|
|
2915
|
+
function Pn(n, e, t) {
|
|
2916
|
+
const i = jt(n, e.mode, e.type, "int"), s = Zs[e.mode][t.mode](...i);
|
|
2917
|
+
return jt(s, t.mode, "int", t.type);
|
|
2918
2918
|
}
|
|
2919
2919
|
class h {
|
|
2920
2920
|
static black() {
|
|
2921
2921
|
return new h([0, 0, 0], "rgb");
|
|
2922
2922
|
}
|
|
2923
2923
|
constructor(e, t) {
|
|
2924
|
-
this.type = "int", this.mode = t, this.comps_ =
|
|
2924
|
+
this.type = "int", this.mode = t, this.comps_ = Cn(e, t, this.type);
|
|
2925
2925
|
}
|
|
2926
2926
|
getComponents(e) {
|
|
2927
|
-
return
|
|
2927
|
+
return Me(Pn(U(this.comps_), { mode: this.mode, type: this.type }, { mode: e ?? this.mode, type: this.type }), this.comps_[3]);
|
|
2928
2928
|
}
|
|
2929
2929
|
toRgbaObject() {
|
|
2930
2930
|
const e = this.getComponents("rgb");
|
|
@@ -2937,7 +2937,7 @@ class h {
|
|
|
2937
2937
|
}
|
|
2938
2938
|
}
|
|
2939
2939
|
const W = d("colp");
|
|
2940
|
-
class
|
|
2940
|
+
class As {
|
|
2941
2941
|
constructor(e, t) {
|
|
2942
2942
|
this.alphaViews_ = null, this.element = e.createElement("div"), this.element.classList.add(W()), t.viewProps.bindClassModifiers(this.element);
|
|
2943
2943
|
const i = e.createElement("div");
|
|
@@ -2970,33 +2970,33 @@ class Is {
|
|
|
2970
2970
|
return this.alphaViews_ && e.push(this.alphaViews_.palette.element, this.alphaViews_.text.inputElement), e;
|
|
2971
2971
|
}
|
|
2972
2972
|
}
|
|
2973
|
-
function
|
|
2973
|
+
function Bs(n) {
|
|
2974
2974
|
return n === "int" ? "int" : n === "float" ? "float" : void 0;
|
|
2975
2975
|
}
|
|
2976
|
-
function
|
|
2976
|
+
function dt(n) {
|
|
2977
2977
|
return V(n, (e) => ({
|
|
2978
2978
|
color: e.optional.object({
|
|
2979
2979
|
alpha: e.optional.boolean,
|
|
2980
|
-
type: e.optional.custom(
|
|
2980
|
+
type: e.optional.custom(Bs)
|
|
2981
2981
|
}),
|
|
2982
2982
|
expanded: e.optional.boolean,
|
|
2983
|
-
picker: e.optional.custom(
|
|
2983
|
+
picker: e.optional.custom(gn),
|
|
2984
2984
|
readonly: e.optional.constant(!1)
|
|
2985
2985
|
}));
|
|
2986
2986
|
}
|
|
2987
2987
|
function J(n) {
|
|
2988
2988
|
return n ? 0.1 : 1;
|
|
2989
2989
|
}
|
|
2990
|
-
function
|
|
2990
|
+
function yn(n) {
|
|
2991
2991
|
var e;
|
|
2992
2992
|
return (e = n.color) === null || e === void 0 ? void 0 : e.type;
|
|
2993
2993
|
}
|
|
2994
|
-
class
|
|
2994
|
+
class mt {
|
|
2995
2995
|
constructor(e, t) {
|
|
2996
|
-
this.type = "float", this.mode = t, this.comps_ =
|
|
2996
|
+
this.type = "float", this.mode = t, this.comps_ = Cn(e, t, this.type);
|
|
2997
2997
|
}
|
|
2998
2998
|
getComponents(e) {
|
|
2999
|
-
return
|
|
2999
|
+
return Me(Pn(U(this.comps_), { mode: this.mode, type: this.type }, { mode: e ?? this.mode, type: this.type }), this.comps_[3]);
|
|
3000
3000
|
}
|
|
3001
3001
|
toRgbaObject() {
|
|
3002
3002
|
const e = this.getComponents("rgb");
|
|
@@ -3008,20 +3008,20 @@ class dt {
|
|
|
3008
3008
|
};
|
|
3009
3009
|
}
|
|
3010
3010
|
}
|
|
3011
|
-
const
|
|
3011
|
+
const Js = {
|
|
3012
3012
|
int: (n, e) => new h(n, e),
|
|
3013
|
-
float: (n, e) => new
|
|
3013
|
+
float: (n, e) => new mt(n, e)
|
|
3014
3014
|
};
|
|
3015
|
-
function
|
|
3016
|
-
return
|
|
3015
|
+
function vt(n, e, t) {
|
|
3016
|
+
return Js[t](n, e);
|
|
3017
3017
|
}
|
|
3018
|
-
function
|
|
3018
|
+
function Gs(n) {
|
|
3019
3019
|
return n.type === "float";
|
|
3020
3020
|
}
|
|
3021
|
-
function
|
|
3021
|
+
function Ys(n) {
|
|
3022
3022
|
return n.type === "int";
|
|
3023
3023
|
}
|
|
3024
|
-
function
|
|
3024
|
+
function Hs(n) {
|
|
3025
3025
|
const e = n.getComponents(), t = ee(n.mode, "int");
|
|
3026
3026
|
return new h([
|
|
3027
3027
|
Math.round(v(e[0], 0, 1, 0, t[0])),
|
|
@@ -3030,9 +3030,9 @@ function Ys(n) {
|
|
|
3030
3030
|
e[3]
|
|
3031
3031
|
], n.mode);
|
|
3032
3032
|
}
|
|
3033
|
-
function
|
|
3033
|
+
function Qs(n) {
|
|
3034
3034
|
const e = n.getComponents(), t = ee(n.mode, "int");
|
|
3035
|
-
return new
|
|
3035
|
+
return new mt([
|
|
3036
3036
|
v(e[0], 0, t[0], 0, 1),
|
|
3037
3037
|
v(e[1], 0, t[1], 0, 1),
|
|
3038
3038
|
v(e[2], 0, t[2], 0, 1),
|
|
@@ -3042,33 +3042,33 @@ function Hs(n) {
|
|
|
3042
3042
|
function C(n, e) {
|
|
3043
3043
|
if (n.type === e)
|
|
3044
3044
|
return n;
|
|
3045
|
-
if (
|
|
3045
|
+
if (Ys(n) && e === "float")
|
|
3046
|
+
return Qs(n);
|
|
3047
|
+
if (Gs(n) && e === "int")
|
|
3046
3048
|
return Hs(n);
|
|
3047
|
-
if (Js(n) && e === "int")
|
|
3048
|
-
return Ys(n);
|
|
3049
3049
|
throw E.shouldNeverHappen();
|
|
3050
3050
|
}
|
|
3051
|
-
function
|
|
3051
|
+
function _s(n, e) {
|
|
3052
3052
|
return n.alpha === e.alpha && n.mode === e.mode && n.notation === e.notation && n.type === e.type;
|
|
3053
3053
|
}
|
|
3054
3054
|
function R(n, e) {
|
|
3055
3055
|
const t = n.match(/^(.+)%$/);
|
|
3056
3056
|
return Math.min(t ? parseFloat(t[1]) * 0.01 * e : parseFloat(n), e);
|
|
3057
3057
|
}
|
|
3058
|
-
const
|
|
3058
|
+
const $s = {
|
|
3059
3059
|
deg: (n) => n,
|
|
3060
3060
|
grad: (n) => n * 360 / 400,
|
|
3061
3061
|
rad: (n) => n * 360 / (2 * Math.PI),
|
|
3062
3062
|
turn: (n) => n * 360
|
|
3063
3063
|
};
|
|
3064
|
-
function
|
|
3064
|
+
function xn(n) {
|
|
3065
3065
|
const e = n.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);
|
|
3066
3066
|
if (!e)
|
|
3067
3067
|
return parseFloat(n);
|
|
3068
3068
|
const t = parseFloat(e[1]), i = e[2];
|
|
3069
|
-
return
|
|
3069
|
+
return $s[i](t);
|
|
3070
3070
|
}
|
|
3071
|
-
function
|
|
3071
|
+
function En(n) {
|
|
3072
3072
|
const e = n.match(/^rgb\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);
|
|
3073
3073
|
if (!e)
|
|
3074
3074
|
return null;
|
|
@@ -3079,11 +3079,11 @@ function xn(n) {
|
|
|
3079
3079
|
];
|
|
3080
3080
|
return isNaN(t[0]) || isNaN(t[1]) || isNaN(t[2]) ? null : t;
|
|
3081
3081
|
}
|
|
3082
|
-
function
|
|
3083
|
-
const e =
|
|
3082
|
+
function er(n) {
|
|
3083
|
+
const e = En(n);
|
|
3084
3084
|
return e ? new h(e, "rgb") : null;
|
|
3085
3085
|
}
|
|
3086
|
-
function
|
|
3086
|
+
function qn(n) {
|
|
3087
3087
|
const e = n.match(/^rgba\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);
|
|
3088
3088
|
if (!e)
|
|
3089
3089
|
return null;
|
|
@@ -3095,42 +3095,42 @@ function En(n) {
|
|
|
3095
3095
|
];
|
|
3096
3096
|
return isNaN(t[0]) || isNaN(t[1]) || isNaN(t[2]) || isNaN(t[3]) ? null : t;
|
|
3097
3097
|
}
|
|
3098
|
-
function
|
|
3099
|
-
const e =
|
|
3098
|
+
function tr(n) {
|
|
3099
|
+
const e = qn(n);
|
|
3100
3100
|
return e ? new h(e, "rgb") : null;
|
|
3101
3101
|
}
|
|
3102
|
-
function
|
|
3102
|
+
function Sn(n) {
|
|
3103
3103
|
const e = n.match(/^hsl\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);
|
|
3104
3104
|
if (!e)
|
|
3105
3105
|
return null;
|
|
3106
3106
|
const t = [
|
|
3107
|
-
|
|
3107
|
+
xn(e[1]),
|
|
3108
3108
|
R(e[2], 100),
|
|
3109
3109
|
R(e[3], 100)
|
|
3110
3110
|
];
|
|
3111
3111
|
return isNaN(t[0]) || isNaN(t[1]) || isNaN(t[2]) ? null : t;
|
|
3112
3112
|
}
|
|
3113
|
-
function
|
|
3114
|
-
const e =
|
|
3113
|
+
function nr(n) {
|
|
3114
|
+
const e = Sn(n);
|
|
3115
3115
|
return e ? new h(e, "hsl") : null;
|
|
3116
3116
|
}
|
|
3117
|
-
function
|
|
3117
|
+
function Rn(n) {
|
|
3118
3118
|
const e = n.match(/^hsla\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);
|
|
3119
3119
|
if (!e)
|
|
3120
3120
|
return null;
|
|
3121
3121
|
const t = [
|
|
3122
|
-
|
|
3122
|
+
xn(e[1]),
|
|
3123
3123
|
R(e[2], 100),
|
|
3124
3124
|
R(e[3], 100),
|
|
3125
3125
|
R(e[4], 1)
|
|
3126
3126
|
];
|
|
3127
3127
|
return isNaN(t[0]) || isNaN(t[1]) || isNaN(t[2]) || isNaN(t[3]) ? null : t;
|
|
3128
3128
|
}
|
|
3129
|
-
function
|
|
3130
|
-
const e =
|
|
3129
|
+
function ir(n) {
|
|
3130
|
+
const e = Rn(n);
|
|
3131
3131
|
return e ? new h(e, "hsl") : null;
|
|
3132
3132
|
}
|
|
3133
|
-
function
|
|
3133
|
+
function kn(n) {
|
|
3134
3134
|
const e = n.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);
|
|
3135
3135
|
if (e)
|
|
3136
3136
|
return [
|
|
@@ -3145,11 +3145,11 @@ function Rn(n) {
|
|
|
3145
3145
|
parseInt(t[3], 16)
|
|
3146
3146
|
] : null;
|
|
3147
3147
|
}
|
|
3148
|
-
function
|
|
3149
|
-
const e =
|
|
3148
|
+
function sr(n) {
|
|
3149
|
+
const e = kn(n);
|
|
3150
3150
|
return e ? new h(e, "rgb") : null;
|
|
3151
3151
|
}
|
|
3152
|
-
function
|
|
3152
|
+
function Ln(n) {
|
|
3153
3153
|
const e = n.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);
|
|
3154
3154
|
if (e)
|
|
3155
3155
|
return [
|
|
@@ -3166,11 +3166,11 @@ function kn(n) {
|
|
|
3166
3166
|
v(parseInt(t[4], 16), 0, 255, 0, 1)
|
|
3167
3167
|
] : null;
|
|
3168
3168
|
}
|
|
3169
|
-
function
|
|
3170
|
-
const e =
|
|
3169
|
+
function rr(n) {
|
|
3170
|
+
const e = Ln(n);
|
|
3171
3171
|
return e ? new h(e, "rgb") : null;
|
|
3172
3172
|
}
|
|
3173
|
-
function
|
|
3173
|
+
function Un(n) {
|
|
3174
3174
|
const e = n.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);
|
|
3175
3175
|
if (!e)
|
|
3176
3176
|
return null;
|
|
@@ -3181,13 +3181,13 @@ function Ln(n) {
|
|
|
3181
3181
|
];
|
|
3182
3182
|
return isNaN(t[0]) || isNaN(t[1]) || isNaN(t[2]) ? null : t;
|
|
3183
3183
|
}
|
|
3184
|
-
function
|
|
3184
|
+
function or(n) {
|
|
3185
3185
|
return (e) => {
|
|
3186
|
-
const t =
|
|
3187
|
-
return t ?
|
|
3186
|
+
const t = Un(e);
|
|
3187
|
+
return t ? vt(t, "rgb", n) : null;
|
|
3188
3188
|
};
|
|
3189
3189
|
}
|
|
3190
|
-
function
|
|
3190
|
+
function Fn(n) {
|
|
3191
3191
|
const e = n.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*a\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);
|
|
3192
3192
|
if (!e)
|
|
3193
3193
|
return null;
|
|
@@ -3199,15 +3199,15 @@ function Un(n) {
|
|
|
3199
3199
|
];
|
|
3200
3200
|
return isNaN(t[0]) || isNaN(t[1]) || isNaN(t[2]) || isNaN(t[3]) ? null : t;
|
|
3201
3201
|
}
|
|
3202
|
-
function
|
|
3202
|
+
function ar(n) {
|
|
3203
3203
|
return (e) => {
|
|
3204
|
-
const t =
|
|
3205
|
-
return t ?
|
|
3204
|
+
const t = Fn(e);
|
|
3205
|
+
return t ? vt(t, "rgb", n) : null;
|
|
3206
3206
|
};
|
|
3207
3207
|
}
|
|
3208
|
-
const
|
|
3208
|
+
const lr = [
|
|
3209
3209
|
{
|
|
3210
|
-
parser:
|
|
3210
|
+
parser: kn,
|
|
3211
3211
|
result: {
|
|
3212
3212
|
alpha: !1,
|
|
3213
3213
|
mode: "rgb",
|
|
@@ -3215,7 +3215,7 @@ const ar = [
|
|
|
3215
3215
|
}
|
|
3216
3216
|
},
|
|
3217
3217
|
{
|
|
3218
|
-
parser:
|
|
3218
|
+
parser: Ln,
|
|
3219
3219
|
result: {
|
|
3220
3220
|
alpha: !0,
|
|
3221
3221
|
mode: "rgb",
|
|
@@ -3223,7 +3223,7 @@ const ar = [
|
|
|
3223
3223
|
}
|
|
3224
3224
|
},
|
|
3225
3225
|
{
|
|
3226
|
-
parser:
|
|
3226
|
+
parser: En,
|
|
3227
3227
|
result: {
|
|
3228
3228
|
alpha: !1,
|
|
3229
3229
|
mode: "rgb",
|
|
@@ -3231,7 +3231,7 @@ const ar = [
|
|
|
3231
3231
|
}
|
|
3232
3232
|
},
|
|
3233
3233
|
{
|
|
3234
|
-
parser:
|
|
3234
|
+
parser: qn,
|
|
3235
3235
|
result: {
|
|
3236
3236
|
alpha: !0,
|
|
3237
3237
|
mode: "rgb",
|
|
@@ -3239,7 +3239,7 @@ const ar = [
|
|
|
3239
3239
|
}
|
|
3240
3240
|
},
|
|
3241
3241
|
{
|
|
3242
|
-
parser:
|
|
3242
|
+
parser: Sn,
|
|
3243
3243
|
result: {
|
|
3244
3244
|
alpha: !1,
|
|
3245
3245
|
mode: "hsl",
|
|
@@ -3247,7 +3247,7 @@ const ar = [
|
|
|
3247
3247
|
}
|
|
3248
3248
|
},
|
|
3249
3249
|
{
|
|
3250
|
-
parser:
|
|
3250
|
+
parser: Rn,
|
|
3251
3251
|
result: {
|
|
3252
3252
|
alpha: !0,
|
|
3253
3253
|
mode: "hsl",
|
|
@@ -3255,7 +3255,7 @@ const ar = [
|
|
|
3255
3255
|
}
|
|
3256
3256
|
},
|
|
3257
3257
|
{
|
|
3258
|
-
parser:
|
|
3258
|
+
parser: Un,
|
|
3259
3259
|
result: {
|
|
3260
3260
|
alpha: !1,
|
|
3261
3261
|
mode: "rgb",
|
|
@@ -3263,7 +3263,7 @@ const ar = [
|
|
|
3263
3263
|
}
|
|
3264
3264
|
},
|
|
3265
3265
|
{
|
|
3266
|
-
parser:
|
|
3266
|
+
parser: Fn,
|
|
3267
3267
|
result: {
|
|
3268
3268
|
alpha: !0,
|
|
3269
3269
|
mode: "rgb",
|
|
@@ -3271,91 +3271,91 @@ const ar = [
|
|
|
3271
3271
|
}
|
|
3272
3272
|
}
|
|
3273
3273
|
];
|
|
3274
|
-
function
|
|
3275
|
-
return
|
|
3274
|
+
function ur(n) {
|
|
3275
|
+
return lr.reduce((e, { parser: t, result: i }) => e || (t(n) ? i : null), null);
|
|
3276
3276
|
}
|
|
3277
|
-
function
|
|
3278
|
-
const t =
|
|
3277
|
+
function hr(n, e = "int") {
|
|
3278
|
+
const t = ur(n);
|
|
3279
3279
|
return t ? t.notation === "hex" && e !== "float" ? Object.assign(Object.assign({}, t), { type: "int" }) : t.notation === "func" ? Object.assign(Object.assign({}, t), { type: e }) : null : null;
|
|
3280
3280
|
}
|
|
3281
3281
|
function be(n) {
|
|
3282
3282
|
const e = [
|
|
3283
|
-
ir,
|
|
3284
3283
|
sr,
|
|
3285
|
-
|
|
3284
|
+
rr,
|
|
3286
3285
|
er,
|
|
3287
3286
|
tr,
|
|
3288
|
-
nr
|
|
3287
|
+
nr,
|
|
3288
|
+
ir
|
|
3289
3289
|
];
|
|
3290
|
-
e.push(
|
|
3291
|
-
const t =
|
|
3290
|
+
e.push(or("int"), ar("int"));
|
|
3291
|
+
const t = Es(e);
|
|
3292
3292
|
return (i) => {
|
|
3293
3293
|
const s = t(i);
|
|
3294
3294
|
return s ? C(s, n) : null;
|
|
3295
3295
|
};
|
|
3296
3296
|
}
|
|
3297
|
-
function
|
|
3297
|
+
function cr(n) {
|
|
3298
3298
|
const e = be("int");
|
|
3299
3299
|
if (typeof n != "string")
|
|
3300
3300
|
return h.black();
|
|
3301
3301
|
const t = e(n);
|
|
3302
3302
|
return t ?? h.black();
|
|
3303
3303
|
}
|
|
3304
|
-
function
|
|
3304
|
+
function Kn(n) {
|
|
3305
3305
|
const e = b(Math.floor(n), 0, 255).toString(16);
|
|
3306
3306
|
return e.length === 1 ? `0${e}` : e;
|
|
3307
3307
|
}
|
|
3308
|
-
function
|
|
3309
|
-
const t = U(n.getComponents("rgb")).map(
|
|
3308
|
+
function ft(n, e = "#") {
|
|
3309
|
+
const t = U(n.getComponents("rgb")).map(Kn).join("");
|
|
3310
3310
|
return `${e}${t}`;
|
|
3311
3311
|
}
|
|
3312
|
-
function
|
|
3313
|
-
const t = n.getComponents("rgb"), i = [t[0], t[1], t[2], t[3] * 255].map(
|
|
3312
|
+
function wt(n, e = "#") {
|
|
3313
|
+
const t = n.getComponents("rgb"), i = [t[0], t[1], t[2], t[3] * 255].map(Kn).join("");
|
|
3314
3314
|
return `${e}${i}`;
|
|
3315
3315
|
}
|
|
3316
|
-
function
|
|
3316
|
+
function Mn(n) {
|
|
3317
3317
|
const e = x(0), t = C(n, "int");
|
|
3318
3318
|
return `rgb(${U(t.getComponents("rgb")).map((s) => e(s)).join(", ")})`;
|
|
3319
3319
|
}
|
|
3320
|
-
function
|
|
3320
|
+
function ye(n) {
|
|
3321
3321
|
const e = x(2), t = x(0);
|
|
3322
3322
|
return `rgba(${C(n, "int").getComponents("rgb").map((r, o) => (o === 3 ? e : t)(r)).join(", ")})`;
|
|
3323
3323
|
}
|
|
3324
|
-
function
|
|
3324
|
+
function pr(n) {
|
|
3325
3325
|
const e = [
|
|
3326
3326
|
x(0),
|
|
3327
|
-
|
|
3328
|
-
|
|
3327
|
+
Re,
|
|
3328
|
+
Re
|
|
3329
3329
|
], t = C(n, "int");
|
|
3330
3330
|
return `hsl(${U(t.getComponents("hsl")).map((s, r) => e[r](s)).join(", ")})`;
|
|
3331
3331
|
}
|
|
3332
|
-
function
|
|
3332
|
+
function dr(n) {
|
|
3333
3333
|
const e = [
|
|
3334
3334
|
x(0),
|
|
3335
|
-
|
|
3336
|
-
|
|
3335
|
+
Re,
|
|
3336
|
+
Re,
|
|
3337
3337
|
x(2)
|
|
3338
3338
|
];
|
|
3339
3339
|
return `hsla(${C(n, "int").getComponents("hsl").map((s, r) => e[r](s)).join(", ")})`;
|
|
3340
3340
|
}
|
|
3341
|
-
function
|
|
3341
|
+
function On(n, e) {
|
|
3342
3342
|
const t = x(e === "float" ? 2 : 0), i = ["r", "g", "b"], s = C(n, e);
|
|
3343
3343
|
return `{${U(s.getComponents("rgb")).map((o, a) => `${i[a]}: ${t(o)}`).join(", ")}}`;
|
|
3344
3344
|
}
|
|
3345
|
-
function
|
|
3346
|
-
return (e) =>
|
|
3345
|
+
function mr(n) {
|
|
3346
|
+
return (e) => On(e, n);
|
|
3347
3347
|
}
|
|
3348
|
-
function
|
|
3348
|
+
function Tn(n, e) {
|
|
3349
3349
|
const t = x(2), i = x(e === "float" ? 2 : 0), s = ["r", "g", "b", "a"];
|
|
3350
3350
|
return `{${C(n, e).getComponents("rgb").map((a, l) => {
|
|
3351
3351
|
const u = l === 3 ? t : i;
|
|
3352
3352
|
return `${s[l]}: ${u(a)}`;
|
|
3353
3353
|
}).join(", ")}}`;
|
|
3354
3354
|
}
|
|
3355
|
-
function
|
|
3356
|
-
return (e) =>
|
|
3355
|
+
function vr(n) {
|
|
3356
|
+
return (e) => Tn(e, n);
|
|
3357
3357
|
}
|
|
3358
|
-
const
|
|
3358
|
+
const fr = [
|
|
3359
3359
|
{
|
|
3360
3360
|
format: {
|
|
3361
3361
|
alpha: !1,
|
|
@@ -3363,7 +3363,7 @@ const vr = [
|
|
|
3363
3363
|
notation: "hex",
|
|
3364
3364
|
type: "int"
|
|
3365
3365
|
},
|
|
3366
|
-
stringifier:
|
|
3366
|
+
stringifier: ft
|
|
3367
3367
|
},
|
|
3368
3368
|
{
|
|
3369
3369
|
format: {
|
|
@@ -3372,7 +3372,7 @@ const vr = [
|
|
|
3372
3372
|
notation: "hex",
|
|
3373
3373
|
type: "int"
|
|
3374
3374
|
},
|
|
3375
|
-
stringifier:
|
|
3375
|
+
stringifier: wt
|
|
3376
3376
|
},
|
|
3377
3377
|
{
|
|
3378
3378
|
format: {
|
|
@@ -3381,7 +3381,7 @@ const vr = [
|
|
|
3381
3381
|
notation: "func",
|
|
3382
3382
|
type: "int"
|
|
3383
3383
|
},
|
|
3384
|
-
stringifier:
|
|
3384
|
+
stringifier: Mn
|
|
3385
3385
|
},
|
|
3386
3386
|
{
|
|
3387
3387
|
format: {
|
|
@@ -3390,7 +3390,7 @@ const vr = [
|
|
|
3390
3390
|
notation: "func",
|
|
3391
3391
|
type: "int"
|
|
3392
3392
|
},
|
|
3393
|
-
stringifier:
|
|
3393
|
+
stringifier: ye
|
|
3394
3394
|
},
|
|
3395
3395
|
{
|
|
3396
3396
|
format: {
|
|
@@ -3399,7 +3399,7 @@ const vr = [
|
|
|
3399
3399
|
notation: "func",
|
|
3400
3400
|
type: "int"
|
|
3401
3401
|
},
|
|
3402
|
-
stringifier:
|
|
3402
|
+
stringifier: pr
|
|
3403
3403
|
},
|
|
3404
3404
|
{
|
|
3405
3405
|
format: {
|
|
@@ -3408,7 +3408,7 @@ const vr = [
|
|
|
3408
3408
|
notation: "func",
|
|
3409
3409
|
type: "int"
|
|
3410
3410
|
},
|
|
3411
|
-
stringifier:
|
|
3411
|
+
stringifier: dr
|
|
3412
3412
|
},
|
|
3413
3413
|
...["int", "float"].reduce((n, e) => [
|
|
3414
3414
|
...n,
|
|
@@ -3419,7 +3419,7 @@ const vr = [
|
|
|
3419
3419
|
notation: "object",
|
|
3420
3420
|
type: e
|
|
3421
3421
|
},
|
|
3422
|
-
stringifier:
|
|
3422
|
+
stringifier: mr(e)
|
|
3423
3423
|
},
|
|
3424
3424
|
{
|
|
3425
3425
|
format: {
|
|
@@ -3428,15 +3428,15 @@ const vr = [
|
|
|
3428
3428
|
notation: "object",
|
|
3429
3429
|
type: e
|
|
3430
3430
|
},
|
|
3431
|
-
stringifier:
|
|
3431
|
+
stringifier: vr(e)
|
|
3432
3432
|
}
|
|
3433
3433
|
], [])
|
|
3434
3434
|
];
|
|
3435
|
-
function
|
|
3436
|
-
return
|
|
3435
|
+
function Nn(n) {
|
|
3436
|
+
return fr.reduce((e, t) => e || (_s(t.format, n) ? t.stringifier : null), null);
|
|
3437
3437
|
}
|
|
3438
3438
|
const le = d("apl");
|
|
3439
|
-
class
|
|
3439
|
+
class wr {
|
|
3440
3440
|
constructor(e, t) {
|
|
3441
3441
|
this.onValueChange_ = this.onValueChange_.bind(this), this.value = t.value, this.value.emitter.on("change", this.onValueChange_), this.element = e.createElement("div"), this.element.classList.add(le()), t.viewProps.bindClassModifiers(this.element), t.viewProps.bindTabIndex(this.element);
|
|
3442
3442
|
const i = e.createElement("div");
|
|
@@ -3451,10 +3451,10 @@ class fr {
|
|
|
3451
3451
|
update_() {
|
|
3452
3452
|
const e = this.value.rawValue, t = e.getComponents("rgb"), i = new h([t[0], t[1], t[2], 0], "rgb"), s = new h([t[0], t[1], t[2], 255], "rgb"), r = [
|
|
3453
3453
|
"to right",
|
|
3454
|
-
|
|
3455
|
-
|
|
3454
|
+
ye(i),
|
|
3455
|
+
ye(s)
|
|
3456
3456
|
];
|
|
3457
|
-
this.colorElem_.style.background = `linear-gradient(${r.join(",")})`, this.previewElem_.style.backgroundColor =
|
|
3457
|
+
this.colorElem_.style.background = `linear-gradient(${r.join(",")})`, this.previewElem_.style.backgroundColor = ye(e);
|
|
3458
3458
|
const o = v(t[3], 0, 1, 0, 100);
|
|
3459
3459
|
this.markerElem_.style.left = `${o}%`;
|
|
3460
3460
|
}
|
|
@@ -3462,9 +3462,9 @@ class fr {
|
|
|
3462
3462
|
this.update_();
|
|
3463
3463
|
}
|
|
3464
3464
|
}
|
|
3465
|
-
class
|
|
3465
|
+
class br {
|
|
3466
3466
|
constructor(e, t) {
|
|
3467
|
-
this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.view = new
|
|
3467
|
+
this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.view = new wr(e, {
|
|
3468
3468
|
value: this.value,
|
|
3469
3469
|
viewProps: this.viewProps
|
|
3470
3470
|
}), this.ptHandler_ = new G(this.view.element), this.ptHandler_.emitter.on("down", this.onPointerDown_), this.ptHandler_.emitter.on("move", this.onPointerMove_), this.ptHandler_.emitter.on("up", this.onPointerUp_), this.view.element.addEventListener("keydown", this.onKeyDown_), this.view.element.addEventListener("keyup", this.onKeyUp_);
|
|
@@ -3511,7 +3511,7 @@ class wr {
|
|
|
3511
3511
|
}
|
|
3512
3512
|
}
|
|
3513
3513
|
const Y = d("coltxt");
|
|
3514
|
-
function
|
|
3514
|
+
function gr(n) {
|
|
3515
3515
|
const e = n.createElement("select"), t = [
|
|
3516
3516
|
{ text: "RGB", value: "rgb" },
|
|
3517
3517
|
{ text: "HSL", value: "hsl" },
|
|
@@ -3523,13 +3523,13 @@ function br(n) {
|
|
|
3523
3523
|
return r.textContent = s.text, r.value = s.value, i.appendChild(r), i;
|
|
3524
3524
|
}, n.createDocumentFragment())), e;
|
|
3525
3525
|
}
|
|
3526
|
-
class
|
|
3526
|
+
class Vr {
|
|
3527
3527
|
constructor(e, t) {
|
|
3528
3528
|
this.element = e.createElement("div"), this.element.classList.add(Y()), t.viewProps.bindClassModifiers(this.element);
|
|
3529
3529
|
const i = e.createElement("div");
|
|
3530
|
-
i.classList.add(Y("m")), this.modeElem_ =
|
|
3530
|
+
i.classList.add(Y("m")), this.modeElem_ = gr(e), this.modeElem_.classList.add(Y("ms")), i.appendChild(this.modeSelectElement), t.viewProps.bindDisabled(this.modeElem_);
|
|
3531
3531
|
const s = e.createElement("div");
|
|
3532
|
-
s.classList.add(Y("mm")), s.appendChild(
|
|
3532
|
+
s.classList.add(Y("mm")), s.appendChild(Ue(e, "dropdown")), i.appendChild(s), this.element.appendChild(i);
|
|
3533
3533
|
const r = e.createElement("div");
|
|
3534
3534
|
r.classList.add(Y("w")), this.element.appendChild(r), this.inputsElem_ = r, this.inputViews_ = t.inputViews, this.applyInputViews_(), T(t.mode, (o) => {
|
|
3535
3535
|
this.modeElem_.value = o;
|
|
@@ -3545,7 +3545,7 @@ class gr {
|
|
|
3545
3545
|
this.inputViews_ = e, this.applyInputViews_();
|
|
3546
3546
|
}
|
|
3547
3547
|
applyInputViews_() {
|
|
3548
|
-
|
|
3548
|
+
ln(this.inputsElem_);
|
|
3549
3549
|
const e = this.element.ownerDocument;
|
|
3550
3550
|
this.inputViews_.forEach((t) => {
|
|
3551
3551
|
const i = e.createElement("div");
|
|
@@ -3553,32 +3553,32 @@ class gr {
|
|
|
3553
3553
|
});
|
|
3554
3554
|
}
|
|
3555
3555
|
}
|
|
3556
|
-
function
|
|
3556
|
+
function Cr(n) {
|
|
3557
3557
|
return x(n === "float" ? 2 : 0);
|
|
3558
3558
|
}
|
|
3559
|
-
function
|
|
3559
|
+
function Pr(n, e, t) {
|
|
3560
3560
|
const i = ee(n, e)[t];
|
|
3561
|
-
return new
|
|
3561
|
+
return new ke({
|
|
3562
3562
|
min: 0,
|
|
3563
3563
|
max: i
|
|
3564
3564
|
});
|
|
3565
3565
|
}
|
|
3566
|
-
function
|
|
3566
|
+
function yr(n, e, t) {
|
|
3567
3567
|
return new fe(n, {
|
|
3568
3568
|
arrayPosition: t === 0 ? "fst" : t === 2 ? "lst" : "mid",
|
|
3569
3569
|
parser: e.parser,
|
|
3570
3570
|
props: p.fromObject({
|
|
3571
|
-
formatter:
|
|
3571
|
+
formatter: Cr(e.colorType),
|
|
3572
3572
|
keyScale: J(!1),
|
|
3573
3573
|
pointerScale: e.colorType === "float" ? 0.01 : 1
|
|
3574
3574
|
}),
|
|
3575
3575
|
value: g(0, {
|
|
3576
|
-
constraint:
|
|
3576
|
+
constraint: Pr(e.colorMode, e.colorType, t)
|
|
3577
3577
|
}),
|
|
3578
3578
|
viewProps: e.viewProps
|
|
3579
3579
|
});
|
|
3580
3580
|
}
|
|
3581
|
-
function
|
|
3581
|
+
function xr(n, e) {
|
|
3582
3582
|
const t = {
|
|
3583
3583
|
colorMode: e.colorMode,
|
|
3584
3584
|
colorType: e.colorType,
|
|
@@ -3586,7 +3586,7 @@ function yr(n, e) {
|
|
|
3586
3586
|
viewProps: e.viewProps
|
|
3587
3587
|
};
|
|
3588
3588
|
return [0, 1, 2].map((i) => {
|
|
3589
|
-
const s =
|
|
3589
|
+
const s = yr(n, t, i);
|
|
3590
3590
|
return ne({
|
|
3591
3591
|
primary: e.value,
|
|
3592
3592
|
secondary: s.value,
|
|
@@ -3596,17 +3596,17 @@ function yr(n, e) {
|
|
|
3596
3596
|
backward(r, o) {
|
|
3597
3597
|
const a = e.colorMode, u = C(r, e.colorType).getComponents(a);
|
|
3598
3598
|
u[i] = o;
|
|
3599
|
-
const c =
|
|
3599
|
+
const c = vt(Me(U(u), u[3]), a, e.colorType);
|
|
3600
3600
|
return C(c, "int");
|
|
3601
3601
|
}
|
|
3602
3602
|
}), s;
|
|
3603
3603
|
});
|
|
3604
3604
|
}
|
|
3605
|
-
function
|
|
3606
|
-
const t = new
|
|
3605
|
+
function Er(n, e) {
|
|
3606
|
+
const t = new pt(n, {
|
|
3607
3607
|
parser: be("int"),
|
|
3608
3608
|
props: p.fromObject({
|
|
3609
|
-
formatter:
|
|
3609
|
+
formatter: ft
|
|
3610
3610
|
}),
|
|
3611
3611
|
value: g(h.black()),
|
|
3612
3612
|
viewProps: e.viewProps
|
|
@@ -3615,15 +3615,15 @@ function xr(n, e) {
|
|
|
3615
3615
|
primary: e.value,
|
|
3616
3616
|
secondary: t.value,
|
|
3617
3617
|
forward: (i) => new h(U(i.getComponents()), i.mode),
|
|
3618
|
-
backward: (i, s) => new h(
|
|
3618
|
+
backward: (i, s) => new h(Me(U(s.getComponents(i.mode)), i.getComponents()[3]), i.mode)
|
|
3619
3619
|
}), [t];
|
|
3620
3620
|
}
|
|
3621
|
-
function
|
|
3621
|
+
function qr(n) {
|
|
3622
3622
|
return n !== "hex";
|
|
3623
3623
|
}
|
|
3624
|
-
class
|
|
3624
|
+
class Sr {
|
|
3625
3625
|
constructor(e, t) {
|
|
3626
|
-
this.onModeSelectChange_ = this.onModeSelectChange_.bind(this), this.colorType_ = t.colorType, this.value = t.value, this.viewProps = t.viewProps, this.colorMode = g(this.value.rawValue.mode), this.ccs_ = this.createComponentControllers_(e), this.view = new
|
|
3626
|
+
this.onModeSelectChange_ = this.onModeSelectChange_.bind(this), this.colorType_ = t.colorType, this.value = t.value, this.viewProps = t.viewProps, this.colorMode = g(this.value.rawValue.mode), this.ccs_ = this.createComponentControllers_(e), this.view = new Vr(e, {
|
|
3627
3627
|
mode: this.colorMode,
|
|
3628
3628
|
inputViews: [this.ccs_[0].view, this.ccs_[1].view, this.ccs_[2].view],
|
|
3629
3629
|
viewProps: this.viewProps
|
|
@@ -3631,12 +3631,12 @@ class qr {
|
|
|
3631
3631
|
}
|
|
3632
3632
|
createComponentControllers_(e) {
|
|
3633
3633
|
const t = this.colorMode.rawValue;
|
|
3634
|
-
return
|
|
3634
|
+
return qr(t) ? xr(e, {
|
|
3635
3635
|
colorMode: t,
|
|
3636
3636
|
colorType: this.colorType_,
|
|
3637
3637
|
value: this.value,
|
|
3638
3638
|
viewProps: this.viewProps
|
|
3639
|
-
}) :
|
|
3639
|
+
}) : Er(e, {
|
|
3640
3640
|
value: this.value,
|
|
3641
3641
|
viewProps: this.viewProps
|
|
3642
3642
|
});
|
|
@@ -3646,18 +3646,18 @@ class qr {
|
|
|
3646
3646
|
this.colorMode.rawValue = t.value, this.ccs_ = this.createComponentControllers_(this.view.element.ownerDocument), this.view.inputViews = this.ccs_.map((i) => i.view);
|
|
3647
3647
|
}
|
|
3648
3648
|
}
|
|
3649
|
-
const
|
|
3650
|
-
class
|
|
3649
|
+
const ze = d("hpl");
|
|
3650
|
+
class Rr {
|
|
3651
3651
|
constructor(e, t) {
|
|
3652
|
-
this.onValueChange_ = this.onValueChange_.bind(this), this.value = t.value, this.value.emitter.on("change", this.onValueChange_), this.element = e.createElement("div"), this.element.classList.add(
|
|
3652
|
+
this.onValueChange_ = this.onValueChange_.bind(this), this.value = t.value, this.value.emitter.on("change", this.onValueChange_), this.element = e.createElement("div"), this.element.classList.add(ze()), t.viewProps.bindClassModifiers(this.element), t.viewProps.bindTabIndex(this.element);
|
|
3653
3653
|
const i = e.createElement("div");
|
|
3654
|
-
i.classList.add(
|
|
3654
|
+
i.classList.add(ze("c")), this.element.appendChild(i);
|
|
3655
3655
|
const s = e.createElement("div");
|
|
3656
|
-
s.classList.add(
|
|
3656
|
+
s.classList.add(ze("m")), this.element.appendChild(s), this.markerElem_ = s, this.update_();
|
|
3657
3657
|
}
|
|
3658
3658
|
update_() {
|
|
3659
3659
|
const e = this.value.rawValue, [t] = e.getComponents("hsv");
|
|
3660
|
-
this.markerElem_.style.backgroundColor =
|
|
3660
|
+
this.markerElem_.style.backgroundColor = Mn(new h([t, 100, 100], "hsv"));
|
|
3661
3661
|
const i = v(t, 0, 360, 0, 100);
|
|
3662
3662
|
this.markerElem_.style.left = `${i}%`;
|
|
3663
3663
|
}
|
|
@@ -3665,9 +3665,9 @@ class Sr {
|
|
|
3665
3665
|
this.update_();
|
|
3666
3666
|
}
|
|
3667
3667
|
}
|
|
3668
|
-
class
|
|
3668
|
+
class kr {
|
|
3669
3669
|
constructor(e, t) {
|
|
3670
|
-
this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.view = new
|
|
3670
|
+
this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.view = new Rr(e, {
|
|
3671
3671
|
value: this.value,
|
|
3672
3672
|
viewProps: this.viewProps
|
|
3673
3673
|
}), this.ptHandler_ = new G(this.view.element), this.ptHandler_.emitter.on("down", this.onPointerDown_), this.ptHandler_.emitter.on("move", this.onPointerMove_), this.ptHandler_.emitter.on("up", this.onPointerUp_), this.view.element.addEventListener("keydown", this.onKeyDown_), this.view.element.addEventListener("keyup", this.onKeyUp_);
|
|
@@ -3713,23 +3713,23 @@ class Rr {
|
|
|
3713
3713
|
});
|
|
3714
3714
|
}
|
|
3715
3715
|
}
|
|
3716
|
-
const
|
|
3717
|
-
class
|
|
3716
|
+
const Ze = d("svp"), Dt = 64;
|
|
3717
|
+
class Lr {
|
|
3718
3718
|
constructor(e, t) {
|
|
3719
|
-
this.onValueChange_ = this.onValueChange_.bind(this), this.value = t.value, this.value.emitter.on("change", this.onValueChange_), this.element = e.createElement("div"), this.element.classList.add(
|
|
3719
|
+
this.onValueChange_ = this.onValueChange_.bind(this), this.value = t.value, this.value.emitter.on("change", this.onValueChange_), this.element = e.createElement("div"), this.element.classList.add(Ze()), t.viewProps.bindClassModifiers(this.element), t.viewProps.bindTabIndex(this.element);
|
|
3720
3720
|
const i = e.createElement("canvas");
|
|
3721
|
-
i.height =
|
|
3721
|
+
i.height = Dt, i.width = Dt, i.classList.add(Ze("c")), this.element.appendChild(i), this.canvasElement = i;
|
|
3722
3722
|
const s = e.createElement("div");
|
|
3723
|
-
s.classList.add(
|
|
3723
|
+
s.classList.add(Ze("m")), this.element.appendChild(s), this.markerElem_ = s, this.update_();
|
|
3724
3724
|
}
|
|
3725
3725
|
update_() {
|
|
3726
|
-
const e =
|
|
3726
|
+
const e = Di(this.canvasElement);
|
|
3727
3727
|
if (!e)
|
|
3728
3728
|
return;
|
|
3729
3729
|
const i = this.value.rawValue.getComponents("hsv"), s = this.canvasElement.width, r = this.canvasElement.height, o = e.getImageData(0, 0, s, r), a = o.data;
|
|
3730
3730
|
for (let c = 0; c < r; c++)
|
|
3731
3731
|
for (let m = 0; m < s; m++) {
|
|
3732
|
-
const ie = v(m, 0, s, 0, 100), se = v(c, 0, r, 100, 0), I =
|
|
3732
|
+
const ie = v(m, 0, s, 0, 100), se = v(c, 0, r, 100, 0), I = Vn(i[0], ie, se), ge = (c * s + m) * 4;
|
|
3733
3733
|
a[ge] = I[0], a[ge + 1] = I[1], a[ge + 2] = I[2], a[ge + 3] = 255;
|
|
3734
3734
|
}
|
|
3735
3735
|
e.putImageData(o, 0, 0);
|
|
@@ -3742,9 +3742,9 @@ class kr {
|
|
|
3742
3742
|
this.update_();
|
|
3743
3743
|
}
|
|
3744
3744
|
}
|
|
3745
|
-
class
|
|
3745
|
+
class Ur {
|
|
3746
3746
|
constructor(e, t) {
|
|
3747
|
-
this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.view = new
|
|
3747
|
+
this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.view = new Lr(e, {
|
|
3748
3748
|
value: this.value,
|
|
3749
3749
|
viewProps: this.viewProps
|
|
3750
3750
|
}), this.ptHandler_ = new G(this.view.element), this.ptHandler_.emitter.on("down", this.onPointerDown_), this.ptHandler_.emitter.on("move", this.onPointerMove_), this.ptHandler_.emitter.on("up", this.onPointerUp_), this.view.element.addEventListener("keydown", this.onKeyDown_), this.view.element.addEventListener("keyup", this.onKeyUp_);
|
|
@@ -3774,7 +3774,7 @@ class Lr {
|
|
|
3774
3774
|
});
|
|
3775
3775
|
}
|
|
3776
3776
|
onKeyDown_(e) {
|
|
3777
|
-
|
|
3777
|
+
wn(e.key) && e.preventDefault();
|
|
3778
3778
|
const [t, i, s, r] = this.value.rawValue.getComponents("hsv"), o = J(!1), a = y(o, N(e)), l = y(o, ce(e));
|
|
3779
3779
|
a === 0 && l === 0 || this.value.setRawValue(new h([t, i + a, s + l, r], "hsv"), {
|
|
3780
3780
|
forceEmit: !1,
|
|
@@ -3789,16 +3789,16 @@ class Lr {
|
|
|
3789
3789
|
});
|
|
3790
3790
|
}
|
|
3791
3791
|
}
|
|
3792
|
-
class
|
|
3792
|
+
class Fr {
|
|
3793
3793
|
constructor(e, t) {
|
|
3794
|
-
this.value = t.value, this.viewProps = t.viewProps, this.hPaletteC_ = new
|
|
3794
|
+
this.value = t.value, this.viewProps = t.viewProps, this.hPaletteC_ = new kr(e, {
|
|
3795
3795
|
value: this.value,
|
|
3796
3796
|
viewProps: this.viewProps
|
|
3797
|
-
}), this.svPaletteC_ = new
|
|
3797
|
+
}), this.svPaletteC_ = new Ur(e, {
|
|
3798
3798
|
value: this.value,
|
|
3799
3799
|
viewProps: this.viewProps
|
|
3800
3800
|
}), this.alphaIcs_ = t.supportsAlpha ? {
|
|
3801
|
-
palette: new
|
|
3801
|
+
palette: new br(e, {
|
|
3802
3802
|
value: this.value,
|
|
3803
3803
|
viewProps: this.viewProps
|
|
3804
3804
|
}),
|
|
@@ -3810,7 +3810,7 @@ class Ur {
|
|
|
3810
3810
|
formatter: x(2)
|
|
3811
3811
|
}),
|
|
3812
3812
|
value: g(0, {
|
|
3813
|
-
constraint: new
|
|
3813
|
+
constraint: new ke({ min: 0, max: 1 })
|
|
3814
3814
|
}),
|
|
3815
3815
|
viewProps: this.viewProps
|
|
3816
3816
|
})
|
|
@@ -3822,11 +3822,11 @@ class Ur {
|
|
|
3822
3822
|
const r = i.getComponents();
|
|
3823
3823
|
return r[3] = s, new h(r, i.mode);
|
|
3824
3824
|
}
|
|
3825
|
-
}), this.textsC_ = new
|
|
3825
|
+
}), this.textsC_ = new Sr(e, {
|
|
3826
3826
|
colorType: t.colorType,
|
|
3827
3827
|
value: this.value,
|
|
3828
3828
|
viewProps: this.viewProps
|
|
3829
|
-
}), this.view = new
|
|
3829
|
+
}), this.view = new As(e, {
|
|
3830
3830
|
alphaViews: this.alphaIcs_ ? {
|
|
3831
3831
|
palette: this.alphaIcs_.palette.view,
|
|
3832
3832
|
text: this.alphaIcs_.text.view
|
|
@@ -3842,52 +3842,52 @@ class Ur {
|
|
|
3842
3842
|
return this.textsC_;
|
|
3843
3843
|
}
|
|
3844
3844
|
}
|
|
3845
|
-
const
|
|
3846
|
-
class
|
|
3845
|
+
const Ie = d("colsw");
|
|
3846
|
+
class Kr {
|
|
3847
3847
|
constructor(e, t) {
|
|
3848
|
-
this.onValueChange_ = this.onValueChange_.bind(this), t.value.emitter.on("change", this.onValueChange_), this.value = t.value, this.element = e.createElement("div"), this.element.classList.add(
|
|
3848
|
+
this.onValueChange_ = this.onValueChange_.bind(this), t.value.emitter.on("change", this.onValueChange_), this.value = t.value, this.element = e.createElement("div"), this.element.classList.add(Ie()), t.viewProps.bindClassModifiers(this.element);
|
|
3849
3849
|
const i = e.createElement("div");
|
|
3850
|
-
i.classList.add(
|
|
3850
|
+
i.classList.add(Ie("sw")), this.element.appendChild(i), this.swatchElem_ = i;
|
|
3851
3851
|
const s = e.createElement("button");
|
|
3852
|
-
s.classList.add(
|
|
3852
|
+
s.classList.add(Ie("b")), t.viewProps.bindDisabled(s), this.element.appendChild(s), this.buttonElement = s, this.update_();
|
|
3853
3853
|
}
|
|
3854
3854
|
update_() {
|
|
3855
3855
|
const e = this.value.rawValue;
|
|
3856
|
-
this.swatchElem_.style.backgroundColor =
|
|
3856
|
+
this.swatchElem_.style.backgroundColor = wt(e);
|
|
3857
3857
|
}
|
|
3858
3858
|
onValueChange_() {
|
|
3859
3859
|
this.update_();
|
|
3860
3860
|
}
|
|
3861
3861
|
}
|
|
3862
|
-
class
|
|
3862
|
+
class Mr {
|
|
3863
3863
|
constructor(e, t) {
|
|
3864
|
-
this.value = t.value, this.viewProps = t.viewProps, this.view = new
|
|
3864
|
+
this.value = t.value, this.viewProps = t.viewProps, this.view = new Kr(e, {
|
|
3865
3865
|
value: this.value,
|
|
3866
3866
|
viewProps: this.viewProps
|
|
3867
3867
|
});
|
|
3868
3868
|
}
|
|
3869
3869
|
}
|
|
3870
|
-
class
|
|
3870
|
+
class bt {
|
|
3871
3871
|
constructor(e, t) {
|
|
3872
|
-
this.onButtonBlur_ = this.onButtonBlur_.bind(this), this.onButtonClick_ = this.onButtonClick_.bind(this), this.onPopupChildBlur_ = this.onPopupChildBlur_.bind(this), this.onPopupChildKeydown_ = this.onPopupChildKeydown_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.foldable_ = de.create(t.expanded), this.swatchC_ = new
|
|
3872
|
+
this.onButtonBlur_ = this.onButtonBlur_.bind(this), this.onButtonClick_ = this.onButtonClick_.bind(this), this.onPopupChildBlur_ = this.onPopupChildBlur_.bind(this), this.onPopupChildKeydown_ = this.onPopupChildKeydown_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.foldable_ = de.create(t.expanded), this.swatchC_ = new Mr(e, {
|
|
3873
3873
|
value: this.value,
|
|
3874
3874
|
viewProps: this.viewProps
|
|
3875
3875
|
});
|
|
3876
3876
|
const i = this.swatchC_.view.buttonElement;
|
|
3877
|
-
i.addEventListener("blur", this.onButtonBlur_), i.addEventListener("click", this.onButtonClick_), this.textC_ = new
|
|
3877
|
+
i.addEventListener("blur", this.onButtonBlur_), i.addEventListener("click", this.onButtonClick_), this.textC_ = new pt(e, {
|
|
3878
3878
|
parser: t.parser,
|
|
3879
3879
|
props: p.fromObject({
|
|
3880
3880
|
formatter: t.formatter
|
|
3881
3881
|
}),
|
|
3882
3882
|
value: this.value,
|
|
3883
3883
|
viewProps: this.viewProps
|
|
3884
|
-
}), this.view = new
|
|
3884
|
+
}), this.view = new Ns(e, {
|
|
3885
3885
|
foldable: this.foldable_,
|
|
3886
3886
|
pickerLayout: t.pickerLayout
|
|
3887
|
-
}), this.view.swatchElement.appendChild(this.swatchC_.view.element), this.view.textElement.appendChild(this.textC_.view.element), this.popC_ = t.pickerLayout === "popup" ? new
|
|
3887
|
+
}), this.view.swatchElement.appendChild(this.swatchC_.view.element), this.view.textElement.appendChild(this.textC_.view.element), this.popC_ = t.pickerLayout === "popup" ? new mn(e, {
|
|
3888
3888
|
viewProps: this.viewProps
|
|
3889
3889
|
}) : null;
|
|
3890
|
-
const s = new
|
|
3890
|
+
const s = new Fr(e, {
|
|
3891
3891
|
colorType: t.colorType,
|
|
3892
3892
|
supportsAlpha: t.supportsAlpha,
|
|
3893
3893
|
value: this.value,
|
|
@@ -3900,7 +3900,7 @@ class wt {
|
|
|
3900
3900
|
secondary: this.popC_.shows,
|
|
3901
3901
|
forward: (r) => r,
|
|
3902
3902
|
backward: (r, o) => o
|
|
3903
|
-
})) : this.view.pickerElement && (this.view.pickerElement.appendChild(this.pickerC_.view.element),
|
|
3903
|
+
})) : this.view.pickerElement && (this.view.pickerElement.appendChild(this.pickerC_.view.element), ut(this.foldable_, this.view.pickerElement));
|
|
3904
3904
|
}
|
|
3905
3905
|
get textController() {
|
|
3906
3906
|
return this.textC_;
|
|
@@ -3917,26 +3917,26 @@ class wt {
|
|
|
3917
3917
|
onPopupChildBlur_(e) {
|
|
3918
3918
|
if (!this.popC_)
|
|
3919
3919
|
return;
|
|
3920
|
-
const t = this.popC_.view.element, i =
|
|
3921
|
-
i && t.contains(i) || i && i === this.swatchC_.view.buttonElement && !
|
|
3920
|
+
const t = this.popC_.view.element, i = un(e);
|
|
3921
|
+
i && t.contains(i) || i && i === this.swatchC_.view.buttonElement && !it(t.ownerDocument) || (this.popC_.shows.rawValue = !1);
|
|
3922
3922
|
}
|
|
3923
3923
|
onPopupChildKeydown_(e) {
|
|
3924
3924
|
this.popC_ ? e.key === "Escape" && (this.popC_.shows.rawValue = !1) : this.view.pickerElement && e.key === "Escape" && this.swatchC_.view.buttonElement.focus();
|
|
3925
3925
|
}
|
|
3926
3926
|
}
|
|
3927
|
-
function
|
|
3927
|
+
function Or(n) {
|
|
3928
3928
|
return U(n.getComponents("rgb")).reduce((e, t) => e << 8 | Math.floor(t) & 255, 0);
|
|
3929
3929
|
}
|
|
3930
|
-
function
|
|
3930
|
+
function Tr(n) {
|
|
3931
3931
|
return n.getComponents("rgb").reduce((e, t, i) => {
|
|
3932
3932
|
const s = Math.floor(i === 3 ? t * 255 : t) & 255;
|
|
3933
3933
|
return e << 8 | s;
|
|
3934
3934
|
}, 0) >>> 0;
|
|
3935
3935
|
}
|
|
3936
|
-
function
|
|
3936
|
+
function Nr(n) {
|
|
3937
3937
|
return new h([n >> 16 & 255, n >> 8 & 255, n & 255], "rgb");
|
|
3938
3938
|
}
|
|
3939
|
-
function
|
|
3939
|
+
function Wr(n) {
|
|
3940
3940
|
return new h([
|
|
3941
3941
|
n >> 24 & 255,
|
|
3942
3942
|
n >> 16 & 255,
|
|
@@ -3944,25 +3944,25 @@ function Nr(n) {
|
|
|
3944
3944
|
v(n & 255, 0, 255, 0, 1)
|
|
3945
3945
|
], "rgb");
|
|
3946
3946
|
}
|
|
3947
|
-
function Wr(n) {
|
|
3948
|
-
return typeof n != "number" ? h.black() : Tr(n);
|
|
3949
|
-
}
|
|
3950
3947
|
function jr(n) {
|
|
3951
3948
|
return typeof n != "number" ? h.black() : Nr(n);
|
|
3952
3949
|
}
|
|
3953
|
-
function
|
|
3954
|
-
return typeof n != "
|
|
3950
|
+
function Dr(n) {
|
|
3951
|
+
return typeof n != "number" ? h.black() : Wr(n);
|
|
3955
3952
|
}
|
|
3956
|
-
function
|
|
3957
|
-
return
|
|
3953
|
+
function xe(n, e) {
|
|
3954
|
+
return typeof n != "object" || w(n) ? !1 : e in n && typeof n[e] == "number";
|
|
3958
3955
|
}
|
|
3959
3956
|
function Wn(n) {
|
|
3960
|
-
return
|
|
3957
|
+
return xe(n, "r") && xe(n, "g") && xe(n, "b");
|
|
3961
3958
|
}
|
|
3962
3959
|
function jn(n) {
|
|
3963
|
-
return
|
|
3960
|
+
return Wn(n) && xe(n, "a");
|
|
3964
3961
|
}
|
|
3965
|
-
function
|
|
3962
|
+
function Dn(n) {
|
|
3963
|
+
return Wn(n);
|
|
3964
|
+
}
|
|
3965
|
+
function gt(n, e) {
|
|
3966
3966
|
if (n.mode !== e.mode || n.type !== e.type)
|
|
3967
3967
|
return !1;
|
|
3968
3968
|
const t = n.getComponents(), i = e.getComponents();
|
|
@@ -3971,67 +3971,67 @@ function bt(n, e) {
|
|
|
3971
3971
|
return !1;
|
|
3972
3972
|
return !0;
|
|
3973
3973
|
}
|
|
3974
|
-
function
|
|
3974
|
+
function Xt(n) {
|
|
3975
3975
|
return "a" in n ? [n.r, n.g, n.b, n.a] : [n.r, n.g, n.b];
|
|
3976
3976
|
}
|
|
3977
|
-
function
|
|
3978
|
-
const e =
|
|
3977
|
+
function Xr(n) {
|
|
3978
|
+
const e = Nn(n);
|
|
3979
3979
|
return e ? (t, i) => {
|
|
3980
3980
|
we(t, e(i));
|
|
3981
3981
|
} : null;
|
|
3982
3982
|
}
|
|
3983
|
-
function
|
|
3984
|
-
const e = n ?
|
|
3983
|
+
function zr(n) {
|
|
3984
|
+
const e = n ? Tr : Or;
|
|
3985
3985
|
return (t, i) => {
|
|
3986
3986
|
we(t, e(i));
|
|
3987
3987
|
};
|
|
3988
3988
|
}
|
|
3989
|
-
function
|
|
3989
|
+
function Zr(n, e, t) {
|
|
3990
3990
|
const s = C(e, t).toRgbaObject();
|
|
3991
3991
|
n.writeProperty("r", s.r), n.writeProperty("g", s.g), n.writeProperty("b", s.b), n.writeProperty("a", s.a);
|
|
3992
3992
|
}
|
|
3993
|
-
function
|
|
3993
|
+
function Ir(n, e, t) {
|
|
3994
3994
|
const s = C(e, t).toRgbaObject();
|
|
3995
3995
|
n.writeProperty("r", s.r), n.writeProperty("g", s.g), n.writeProperty("b", s.b);
|
|
3996
3996
|
}
|
|
3997
|
-
function
|
|
3997
|
+
function Ar(n, e) {
|
|
3998
3998
|
return (t, i) => {
|
|
3999
|
-
n ?
|
|
3999
|
+
n ? Zr(t, i, e) : Ir(t, i, e);
|
|
4000
4000
|
};
|
|
4001
4001
|
}
|
|
4002
|
-
function
|
|
4002
|
+
function Br(n) {
|
|
4003
4003
|
var e;
|
|
4004
4004
|
return !!(!((e = n?.color) === null || e === void 0) && e.alpha);
|
|
4005
4005
|
}
|
|
4006
|
-
function Br(n) {
|
|
4007
|
-
return n ? (e) => ft(e, "0x") : (e) => vt(e, "0x");
|
|
4008
|
-
}
|
|
4009
4006
|
function Jr(n) {
|
|
4007
|
+
return n ? (e) => wt(e, "0x") : (e) => ft(e, "0x");
|
|
4008
|
+
}
|
|
4009
|
+
function Gr(n) {
|
|
4010
4010
|
return "color" in n || n.view === "color";
|
|
4011
4011
|
}
|
|
4012
4012
|
P({
|
|
4013
4013
|
id: "input-color-number",
|
|
4014
4014
|
type: "input",
|
|
4015
4015
|
accept: (n, e) => {
|
|
4016
|
-
if (typeof n != "number" || !
|
|
4016
|
+
if (typeof n != "number" || !Gr(e))
|
|
4017
4017
|
return null;
|
|
4018
|
-
const t =
|
|
4018
|
+
const t = dt(e);
|
|
4019
4019
|
return t ? {
|
|
4020
4020
|
initialValue: n,
|
|
4021
|
-
params: Object.assign(Object.assign({}, t), { supportsAlpha:
|
|
4021
|
+
params: Object.assign(Object.assign({}, t), { supportsAlpha: Br(e) })
|
|
4022
4022
|
} : null;
|
|
4023
4023
|
},
|
|
4024
4024
|
binding: {
|
|
4025
|
-
reader: (n) => n.params.supportsAlpha ?
|
|
4026
|
-
equals:
|
|
4027
|
-
writer: (n) =>
|
|
4025
|
+
reader: (n) => n.params.supportsAlpha ? Dr : jr,
|
|
4026
|
+
equals: gt,
|
|
4027
|
+
writer: (n) => zr(n.params.supportsAlpha)
|
|
4028
4028
|
},
|
|
4029
4029
|
controller: (n) => {
|
|
4030
4030
|
var e, t;
|
|
4031
|
-
return new
|
|
4031
|
+
return new bt(n.document, {
|
|
4032
4032
|
colorType: "int",
|
|
4033
4033
|
expanded: (e = n.params.expanded) !== null && e !== void 0 ? e : !1,
|
|
4034
|
-
formatter:
|
|
4034
|
+
formatter: Jr(n.params.supportsAlpha),
|
|
4035
4035
|
parser: be("int"),
|
|
4036
4036
|
pickerLayout: (t = n.params.picker) !== null && t !== void 0 ? t : "popup",
|
|
4037
4037
|
supportsAlpha: n.params.supportsAlpha,
|
|
@@ -4040,56 +4040,56 @@ P({
|
|
|
4040
4040
|
});
|
|
4041
4041
|
}
|
|
4042
4042
|
});
|
|
4043
|
-
function
|
|
4044
|
-
if (!
|
|
4043
|
+
function Yr(n, e) {
|
|
4044
|
+
if (!Dn(n))
|
|
4045
4045
|
return C(h.black(), e);
|
|
4046
4046
|
if (e === "int") {
|
|
4047
|
-
const t =
|
|
4047
|
+
const t = Xt(n);
|
|
4048
4048
|
return new h(t, "rgb");
|
|
4049
4049
|
}
|
|
4050
4050
|
if (e === "float") {
|
|
4051
|
-
const t =
|
|
4052
|
-
return new
|
|
4051
|
+
const t = Xt(n);
|
|
4052
|
+
return new mt(t, "rgb");
|
|
4053
4053
|
}
|
|
4054
4054
|
return C(h.black(), "int");
|
|
4055
4055
|
}
|
|
4056
|
-
function Yr(n) {
|
|
4057
|
-
return Wn(n);
|
|
4058
|
-
}
|
|
4059
4056
|
function Hr(n) {
|
|
4057
|
+
return jn(n);
|
|
4058
|
+
}
|
|
4059
|
+
function Qr(n) {
|
|
4060
4060
|
return (e) => {
|
|
4061
|
-
const t =
|
|
4061
|
+
const t = Yr(e, n);
|
|
4062
4062
|
return C(t, "int");
|
|
4063
4063
|
};
|
|
4064
4064
|
}
|
|
4065
|
-
function
|
|
4066
|
-
return (t) => n ?
|
|
4065
|
+
function _r(n, e) {
|
|
4066
|
+
return (t) => n ? Tn(t, e) : On(t, e);
|
|
4067
4067
|
}
|
|
4068
4068
|
P({
|
|
4069
4069
|
id: "input-color-object",
|
|
4070
4070
|
type: "input",
|
|
4071
4071
|
accept: (n, e) => {
|
|
4072
4072
|
var t;
|
|
4073
|
-
if (!
|
|
4073
|
+
if (!Dn(n))
|
|
4074
4074
|
return null;
|
|
4075
|
-
const i =
|
|
4075
|
+
const i = dt(e);
|
|
4076
4076
|
return i ? {
|
|
4077
4077
|
initialValue: n,
|
|
4078
|
-
params: Object.assign(Object.assign({}, i), { colorType: (t =
|
|
4078
|
+
params: Object.assign(Object.assign({}, i), { colorType: (t = yn(e)) !== null && t !== void 0 ? t : "int" })
|
|
4079
4079
|
} : null;
|
|
4080
4080
|
},
|
|
4081
4081
|
binding: {
|
|
4082
|
-
reader: (n) =>
|
|
4083
|
-
equals:
|
|
4084
|
-
writer: (n) =>
|
|
4082
|
+
reader: (n) => Qr(n.params.colorType),
|
|
4083
|
+
equals: gt,
|
|
4084
|
+
writer: (n) => Ar(Hr(n.initialValue), n.params.colorType)
|
|
4085
4085
|
},
|
|
4086
4086
|
controller: (n) => {
|
|
4087
4087
|
var e, t;
|
|
4088
|
-
const i =
|
|
4089
|
-
return new
|
|
4088
|
+
const i = jn(n.initialValue);
|
|
4089
|
+
return new bt(n.document, {
|
|
4090
4090
|
colorType: n.params.colorType,
|
|
4091
4091
|
expanded: (e = n.params.expanded) !== null && e !== void 0 ? e : !1,
|
|
4092
|
-
formatter:
|
|
4092
|
+
formatter: _r(i, n.params.colorType),
|
|
4093
4093
|
parser: be("int"),
|
|
4094
4094
|
pickerLayout: (t = n.params.picker) !== null && t !== void 0 ? t : "popup",
|
|
4095
4095
|
supportsAlpha: i,
|
|
@@ -4104,23 +4104,23 @@ P({
|
|
|
4104
4104
|
accept: (n, e) => {
|
|
4105
4105
|
if (typeof n != "string" || e.view === "text")
|
|
4106
4106
|
return null;
|
|
4107
|
-
const t =
|
|
4107
|
+
const t = hr(n, yn(e));
|
|
4108
4108
|
if (!t)
|
|
4109
4109
|
return null;
|
|
4110
|
-
const i =
|
|
4110
|
+
const i = Nn(t);
|
|
4111
4111
|
if (!i)
|
|
4112
4112
|
return null;
|
|
4113
|
-
const s =
|
|
4113
|
+
const s = dt(e);
|
|
4114
4114
|
return s ? {
|
|
4115
4115
|
initialValue: n,
|
|
4116
4116
|
params: Object.assign(Object.assign({}, s), { format: t, stringifier: i })
|
|
4117
4117
|
} : null;
|
|
4118
4118
|
},
|
|
4119
4119
|
binding: {
|
|
4120
|
-
reader: () =>
|
|
4121
|
-
equals:
|
|
4120
|
+
reader: () => cr,
|
|
4121
|
+
equals: gt,
|
|
4122
4122
|
writer: (n) => {
|
|
4123
|
-
const e =
|
|
4123
|
+
const e = Xr(n.params.format);
|
|
4124
4124
|
if (!e)
|
|
4125
4125
|
throw E.notBindable();
|
|
4126
4126
|
return e;
|
|
@@ -4128,7 +4128,7 @@ P({
|
|
|
4128
4128
|
},
|
|
4129
4129
|
controller: (n) => {
|
|
4130
4130
|
var e, t;
|
|
4131
|
-
return new
|
|
4131
|
+
return new bt(n.document, {
|
|
4132
4132
|
colorType: n.params.format.type,
|
|
4133
4133
|
expanded: (e = n.params.expanded) !== null && e !== void 0 ? e : !1,
|
|
4134
4134
|
formatter: n.params.stringifier,
|
|
@@ -4140,7 +4140,7 @@ P({
|
|
|
4140
4140
|
});
|
|
4141
4141
|
}
|
|
4142
4142
|
});
|
|
4143
|
-
class
|
|
4143
|
+
class Vt {
|
|
4144
4144
|
constructor(e) {
|
|
4145
4145
|
this.components = e.components, this.asm_ = e.assembly;
|
|
4146
4146
|
}
|
|
@@ -4152,16 +4152,16 @@ class gt {
|
|
|
4152
4152
|
return this.asm_.fromComponents(t);
|
|
4153
4153
|
}
|
|
4154
4154
|
}
|
|
4155
|
-
const
|
|
4156
|
-
class
|
|
4155
|
+
const zt = d("pndtxt");
|
|
4156
|
+
class $r {
|
|
4157
4157
|
constructor(e, t) {
|
|
4158
|
-
this.textViews = t.textViews, this.element = e.createElement("div"), this.element.classList.add(
|
|
4158
|
+
this.textViews = t.textViews, this.element = e.createElement("div"), this.element.classList.add(zt()), this.textViews.forEach((i) => {
|
|
4159
4159
|
const s = e.createElement("div");
|
|
4160
|
-
s.classList.add(
|
|
4160
|
+
s.classList.add(zt("a")), s.appendChild(i.element), this.element.appendChild(s);
|
|
4161
4161
|
});
|
|
4162
4162
|
}
|
|
4163
4163
|
}
|
|
4164
|
-
function
|
|
4164
|
+
function eo(n, e, t) {
|
|
4165
4165
|
return new fe(n, {
|
|
4166
4166
|
arrayPosition: t === 0 ? "fst" : t === e.axes.length - 1 ? "lst" : "mid",
|
|
4167
4167
|
parser: e.parser,
|
|
@@ -4172,9 +4172,9 @@ function $r(n, e, t) {
|
|
|
4172
4172
|
viewProps: e.viewProps
|
|
4173
4173
|
});
|
|
4174
4174
|
}
|
|
4175
|
-
class
|
|
4175
|
+
class Ct {
|
|
4176
4176
|
constructor(e, t) {
|
|
4177
|
-
this.value = t.value, this.viewProps = t.viewProps, this.acs_ = t.axes.map((i, s) =>
|
|
4177
|
+
this.value = t.value, this.viewProps = t.viewProps, this.acs_ = t.axes.map((i, s) => eo(e, t, s)), this.acs_.forEach((i, s) => {
|
|
4178
4178
|
ne({
|
|
4179
4179
|
primary: this.value,
|
|
4180
4180
|
secondary: i.value,
|
|
@@ -4184,7 +4184,7 @@ class Vt {
|
|
|
4184
4184
|
return a[s] = o, t.assembly.fromComponents(a);
|
|
4185
4185
|
}
|
|
4186
4186
|
});
|
|
4187
|
-
}), this.view = new
|
|
4187
|
+
}), this.view = new $r(e, {
|
|
4188
4188
|
textViews: this.acs_.map((i) => i.view)
|
|
4189
4189
|
});
|
|
4190
4190
|
}
|
|
@@ -4192,7 +4192,7 @@ class Vt {
|
|
|
4192
4192
|
return this.acs_;
|
|
4193
4193
|
}
|
|
4194
4194
|
}
|
|
4195
|
-
class
|
|
4195
|
+
class to extends nt {
|
|
4196
4196
|
get max() {
|
|
4197
4197
|
return this.controller.valueController.sliderController.props.get("max");
|
|
4198
4198
|
}
|
|
@@ -4206,12 +4206,12 @@ class eo extends tt {
|
|
|
4206
4206
|
this.controller.valueController.sliderController.props.set("min", e);
|
|
4207
4207
|
}
|
|
4208
4208
|
}
|
|
4209
|
-
function
|
|
4210
|
-
const t = [], i =
|
|
4209
|
+
function no(n, e) {
|
|
4210
|
+
const t = [], i = tn(n, e);
|
|
4211
4211
|
i && t.push(i);
|
|
4212
|
-
const s =
|
|
4212
|
+
const s = nn(n);
|
|
4213
4213
|
s && t.push(s);
|
|
4214
|
-
const r =
|
|
4214
|
+
const r = ct(n.options);
|
|
4215
4215
|
return r && t.push(r), new ve(t);
|
|
4216
4216
|
}
|
|
4217
4217
|
P({
|
|
@@ -4220,19 +4220,19 @@ P({
|
|
|
4220
4220
|
accept: (n, e) => {
|
|
4221
4221
|
if (typeof n != "number")
|
|
4222
4222
|
return null;
|
|
4223
|
-
const t = V(e, (i) => Object.assign(Object.assign({},
|
|
4223
|
+
const t = V(e, (i) => Object.assign(Object.assign({}, rn(i)), { options: i.optional.custom(Ke), readonly: i.optional.constant(!1) }));
|
|
4224
4224
|
return t ? {
|
|
4225
4225
|
initialValue: n,
|
|
4226
4226
|
params: t
|
|
4227
4227
|
} : null;
|
|
4228
4228
|
},
|
|
4229
4229
|
binding: {
|
|
4230
|
-
reader: (n) =>
|
|
4231
|
-
constraint: (n) =>
|
|
4230
|
+
reader: (n) => _t,
|
|
4231
|
+
constraint: (n) => no(n.params, n.initialValue),
|
|
4232
4232
|
writer: (n) => we
|
|
4233
4233
|
},
|
|
4234
4234
|
controller: (n) => {
|
|
4235
|
-
const e = n.value, t = n.constraint, i = t &&
|
|
4235
|
+
const e = n.value, t = n.constraint, i = t && Se(t, Fe);
|
|
4236
4236
|
if (i)
|
|
4237
4237
|
return new $(n.document, {
|
|
4238
4238
|
props: new p({
|
|
@@ -4241,8 +4241,8 @@ P({
|
|
|
4241
4241
|
value: e,
|
|
4242
4242
|
viewProps: n.viewProps
|
|
4243
4243
|
});
|
|
4244
|
-
const s =
|
|
4245
|
-
return r ? new
|
|
4244
|
+
const s = sn(n.params, e.rawValue), r = t && Se(t, ke);
|
|
4245
|
+
return r ? new Wt(n.document, Object.assign(Object.assign({}, Fs(Object.assign(Object.assign({}, s), { keyScale: g(s.keyScale), max: r.values.value("max"), min: r.values.value("min") }))), { parser: Z, value: e, viewProps: n.viewProps })) : new fe(n.document, {
|
|
4246
4246
|
parser: Z,
|
|
4247
4247
|
props: p.fromObject(s),
|
|
4248
4248
|
value: e,
|
|
@@ -4250,7 +4250,7 @@ P({
|
|
|
4250
4250
|
});
|
|
4251
4251
|
},
|
|
4252
4252
|
api(n) {
|
|
4253
|
-
return typeof n.controller.value.rawValue != "number" ? null : n.controller.valueController instanceof
|
|
4253
|
+
return typeof n.controller.value.rawValue != "number" ? null : n.controller.valueController instanceof Wt ? new to(n.controller) : n.controller.valueController instanceof $ ? new ht(n.controller) : null;
|
|
4254
4254
|
}
|
|
4255
4255
|
});
|
|
4256
4256
|
class z {
|
|
@@ -4276,17 +4276,17 @@ class z {
|
|
|
4276
4276
|
};
|
|
4277
4277
|
}
|
|
4278
4278
|
}
|
|
4279
|
-
const
|
|
4279
|
+
const Xn = {
|
|
4280
4280
|
toComponents: (n) => n.getComponents(),
|
|
4281
4281
|
fromComponents: (n) => new z(...n)
|
|
4282
4282
|
}, H = d("p2d");
|
|
4283
|
-
class
|
|
4283
|
+
class io {
|
|
4284
4284
|
constructor(e, t) {
|
|
4285
4285
|
this.element = e.createElement("div"), this.element.classList.add(H()), t.viewProps.bindClassModifiers(this.element), T(t.expanded, te(this.element, H(void 0, "expanded")));
|
|
4286
4286
|
const i = e.createElement("div");
|
|
4287
4287
|
i.classList.add(H("h")), this.element.appendChild(i);
|
|
4288
4288
|
const s = e.createElement("button");
|
|
4289
|
-
s.classList.add(H("b")), s.appendChild(
|
|
4289
|
+
s.classList.add(H("b")), s.appendChild(Ue(e, "p2dpad")), t.viewProps.bindDisabled(s), i.appendChild(s), this.buttonElement = s;
|
|
4290
4290
|
const r = e.createElement("div");
|
|
4291
4291
|
if (r.classList.add(H("t")), i.appendChild(r), this.textElement = r, t.pickerLayout === "inline") {
|
|
4292
4292
|
const o = e.createElement("div");
|
|
@@ -4296,7 +4296,7 @@ class no {
|
|
|
4296
4296
|
}
|
|
4297
4297
|
}
|
|
4298
4298
|
const j = d("p2dp");
|
|
4299
|
-
class
|
|
4299
|
+
class so {
|
|
4300
4300
|
constructor(e, t) {
|
|
4301
4301
|
this.onFoldableChange_ = this.onFoldableChange_.bind(this), this.onPropsChange_ = this.onPropsChange_.bind(this), this.onValueChange_ = this.onValueChange_.bind(this), this.props_ = t.props, this.props_.emitter.on("change", this.onPropsChange_), this.element = e.createElement("div"), this.element.classList.add(j()), t.layout === "popup" && this.element.classList.add(j(void 0, "p")), t.viewProps.bindClassModifiers(this.element);
|
|
4302
4302
|
const i = e.createElement("div");
|
|
@@ -4329,15 +4329,15 @@ class io {
|
|
|
4329
4329
|
this.update_();
|
|
4330
4330
|
}
|
|
4331
4331
|
}
|
|
4332
|
-
function
|
|
4332
|
+
function Zt(n, e, t) {
|
|
4333
4333
|
return [
|
|
4334
4334
|
y(e[0], N(n)),
|
|
4335
4335
|
y(e[1], ce(n)) * (t ? 1 : -1)
|
|
4336
4336
|
];
|
|
4337
4337
|
}
|
|
4338
|
-
class
|
|
4338
|
+
class ro {
|
|
4339
4339
|
constructor(e, t) {
|
|
4340
|
-
this.onPadKeyDown_ = this.onPadKeyDown_.bind(this), this.onPadKeyUp_ = this.onPadKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.props = t.props, this.value = t.value, this.viewProps = t.viewProps, this.view = new
|
|
4340
|
+
this.onPadKeyDown_ = this.onPadKeyDown_.bind(this), this.onPadKeyUp_ = this.onPadKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.props = t.props, this.value = t.value, this.viewProps = t.viewProps, this.view = new so(e, {
|
|
4341
4341
|
layout: t.layout,
|
|
4342
4342
|
props: this.props,
|
|
4343
4343
|
value: this.value,
|
|
@@ -4369,28 +4369,28 @@ class so {
|
|
|
4369
4369
|
});
|
|
4370
4370
|
}
|
|
4371
4371
|
onPadKeyDown_(e) {
|
|
4372
|
-
|
|
4373
|
-
const [t, i] =
|
|
4372
|
+
wn(e.key) && e.preventDefault();
|
|
4373
|
+
const [t, i] = Zt(e, [this.props.get("xKeyScale"), this.props.get("yKeyScale")], this.props.get("invertsY"));
|
|
4374
4374
|
t === 0 && i === 0 || this.value.setRawValue(new z(this.value.rawValue.x + t, this.value.rawValue.y + i), {
|
|
4375
4375
|
forceEmit: !1,
|
|
4376
4376
|
last: !1
|
|
4377
4377
|
});
|
|
4378
4378
|
}
|
|
4379
4379
|
onPadKeyUp_(e) {
|
|
4380
|
-
const [t, i] =
|
|
4380
|
+
const [t, i] = Zt(e, [this.props.get("xKeyScale"), this.props.get("yKeyScale")], this.props.get("invertsY"));
|
|
4381
4381
|
t === 0 && i === 0 || this.value.setRawValue(this.value.rawValue, {
|
|
4382
4382
|
forceEmit: !0,
|
|
4383
4383
|
last: !0
|
|
4384
4384
|
});
|
|
4385
4385
|
}
|
|
4386
4386
|
}
|
|
4387
|
-
class
|
|
4387
|
+
class oo {
|
|
4388
4388
|
constructor(e, t) {
|
|
4389
4389
|
var i, s;
|
|
4390
|
-
this.onPopupChildBlur_ = this.onPopupChildBlur_.bind(this), this.onPopupChildKeydown_ = this.onPopupChildKeydown_.bind(this), this.onPadButtonBlur_ = this.onPadButtonBlur_.bind(this), this.onPadButtonClick_ = this.onPadButtonClick_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.foldable_ = de.create(t.expanded), this.popC_ = t.pickerLayout === "popup" ? new
|
|
4390
|
+
this.onPopupChildBlur_ = this.onPopupChildBlur_.bind(this), this.onPopupChildKeydown_ = this.onPopupChildKeydown_.bind(this), this.onPadButtonBlur_ = this.onPadButtonBlur_.bind(this), this.onPadButtonClick_ = this.onPadButtonClick_.bind(this), this.value = t.value, this.viewProps = t.viewProps, this.foldable_ = de.create(t.expanded), this.popC_ = t.pickerLayout === "popup" ? new mn(e, {
|
|
4391
4391
|
viewProps: this.viewProps
|
|
4392
4392
|
}) : null;
|
|
4393
|
-
const r = new
|
|
4393
|
+
const r = new ro(e, {
|
|
4394
4394
|
layout: t.pickerLayout,
|
|
4395
4395
|
props: new p({
|
|
4396
4396
|
invertsY: g(t.invertsY),
|
|
@@ -4403,13 +4403,13 @@ class ro {
|
|
|
4403
4403
|
});
|
|
4404
4404
|
r.view.allFocusableElements.forEach((o) => {
|
|
4405
4405
|
o.addEventListener("blur", this.onPopupChildBlur_), o.addEventListener("keydown", this.onPopupChildKeydown_);
|
|
4406
|
-
}), this.pickerC_ = r, this.textC_ = new
|
|
4407
|
-
assembly:
|
|
4406
|
+
}), this.pickerC_ = r, this.textC_ = new Ct(e, {
|
|
4407
|
+
assembly: Xn,
|
|
4408
4408
|
axes: t.axes,
|
|
4409
4409
|
parser: t.parser,
|
|
4410
4410
|
value: this.value,
|
|
4411
4411
|
viewProps: this.viewProps
|
|
4412
|
-
}), this.view = new
|
|
4412
|
+
}), this.view = new io(e, {
|
|
4413
4413
|
expanded: this.foldable_.value("expanded"),
|
|
4414
4414
|
pickerLayout: t.pickerLayout,
|
|
4415
4415
|
viewProps: this.viewProps
|
|
@@ -4418,7 +4418,7 @@ class ro {
|
|
|
4418
4418
|
secondary: this.popC_.shows,
|
|
4419
4419
|
forward: (o) => o,
|
|
4420
4420
|
backward: (o, a) => a
|
|
4421
|
-
})) : this.view.pickerElement && (this.view.pickerElement.appendChild(this.pickerC_.view.element),
|
|
4421
|
+
})) : this.view.pickerElement && (this.view.pickerElement.appendChild(this.pickerC_.view.element), ut(this.foldable_, this.view.pickerElement));
|
|
4422
4422
|
}
|
|
4423
4423
|
get textController() {
|
|
4424
4424
|
return this.textC_;
|
|
@@ -4435,41 +4435,41 @@ class ro {
|
|
|
4435
4435
|
onPopupChildBlur_(e) {
|
|
4436
4436
|
if (!this.popC_)
|
|
4437
4437
|
return;
|
|
4438
|
-
const t = this.popC_.view.element, i =
|
|
4439
|
-
i && t.contains(i) || i && i === this.view.buttonElement && !
|
|
4438
|
+
const t = this.popC_.view.element, i = un(e);
|
|
4439
|
+
i && t.contains(i) || i && i === this.view.buttonElement && !it(t.ownerDocument) || (this.popC_.shows.rawValue = !1);
|
|
4440
4440
|
}
|
|
4441
4441
|
onPopupChildKeydown_(e) {
|
|
4442
4442
|
this.popC_ ? e.key === "Escape" && (this.popC_.shows.rawValue = !1) : this.view.pickerElement && e.key === "Escape" && this.view.buttonElement.focus();
|
|
4443
4443
|
}
|
|
4444
4444
|
}
|
|
4445
|
-
function
|
|
4445
|
+
function ao(n) {
|
|
4446
4446
|
return z.isObject(n) ? new z(n.x, n.y) : new z();
|
|
4447
4447
|
}
|
|
4448
|
-
function
|
|
4448
|
+
function lo(n, e) {
|
|
4449
4449
|
n.writeProperty("x", e.x), n.writeProperty("y", e.y);
|
|
4450
4450
|
}
|
|
4451
|
-
function
|
|
4452
|
-
return new
|
|
4453
|
-
assembly:
|
|
4451
|
+
function uo(n, e) {
|
|
4452
|
+
return new Vt({
|
|
4453
|
+
assembly: Xn,
|
|
4454
4454
|
components: [
|
|
4455
4455
|
O(Object.assign(Object.assign({}, n), n.x), e.x),
|
|
4456
4456
|
O(Object.assign(Object.assign({}, n), n.y), e.y)
|
|
4457
4457
|
]
|
|
4458
4458
|
});
|
|
4459
4459
|
}
|
|
4460
|
-
function
|
|
4460
|
+
function It(n, e) {
|
|
4461
4461
|
var t, i;
|
|
4462
4462
|
if (!w(n.min) || !w(n.max))
|
|
4463
4463
|
return Math.max(Math.abs((t = n.min) !== null && t !== void 0 ? t : 0), Math.abs((i = n.max) !== null && i !== void 0 ? i : 0));
|
|
4464
|
-
const s =
|
|
4464
|
+
const s = en(n);
|
|
4465
4465
|
return Math.max(Math.abs(s) * 10, Math.abs(e) * 10);
|
|
4466
4466
|
}
|
|
4467
|
-
function
|
|
4467
|
+
function ho(n, e) {
|
|
4468
4468
|
var t, i;
|
|
4469
|
-
const s =
|
|
4469
|
+
const s = It(B(n, (t = n.x) !== null && t !== void 0 ? t : {}), e.x), r = It(B(n, (i = n.y) !== null && i !== void 0 ? i : {}), e.y);
|
|
4470
4470
|
return Math.max(s, r);
|
|
4471
4471
|
}
|
|
4472
|
-
function
|
|
4472
|
+
function co(n) {
|
|
4473
4473
|
if (!("y" in n))
|
|
4474
4474
|
return !1;
|
|
4475
4475
|
const e = n.y;
|
|
@@ -4481,33 +4481,33 @@ P({
|
|
|
4481
4481
|
accept: (n, e) => {
|
|
4482
4482
|
if (!z.isObject(n))
|
|
4483
4483
|
return null;
|
|
4484
|
-
const t = V(e, (i) => Object.assign(Object.assign({}, pe(i)), { expanded: i.optional.boolean, picker: i.optional.custom(
|
|
4484
|
+
const t = V(e, (i) => Object.assign(Object.assign({}, pe(i)), { expanded: i.optional.boolean, picker: i.optional.custom(gn), readonly: i.optional.constant(!1), x: i.optional.custom(X), y: i.optional.object(Object.assign(Object.assign({}, pe(i)), { inverted: i.optional.boolean })) }));
|
|
4485
4485
|
return t ? {
|
|
4486
4486
|
initialValue: n,
|
|
4487
4487
|
params: t
|
|
4488
4488
|
} : null;
|
|
4489
4489
|
},
|
|
4490
4490
|
binding: {
|
|
4491
|
-
reader: () =>
|
|
4492
|
-
constraint: (n) =>
|
|
4491
|
+
reader: () => ao,
|
|
4492
|
+
constraint: (n) => uo(n.params, n.initialValue),
|
|
4493
4493
|
equals: z.equals,
|
|
4494
|
-
writer: () =>
|
|
4494
|
+
writer: () => lo
|
|
4495
4495
|
},
|
|
4496
4496
|
controller: (n) => {
|
|
4497
4497
|
var e, t;
|
|
4498
4498
|
const i = n.document, s = n.value, r = n.constraint, o = [n.params.x, n.params.y];
|
|
4499
|
-
return new
|
|
4499
|
+
return new oo(i, {
|
|
4500
4500
|
axes: s.rawValue.getComponents().map((a, l) => {
|
|
4501
4501
|
var u;
|
|
4502
|
-
return
|
|
4502
|
+
return et({
|
|
4503
4503
|
constraint: r.components[l],
|
|
4504
4504
|
initialValue: a,
|
|
4505
4505
|
params: B(n.params, (u = o[l]) !== null && u !== void 0 ? u : {})
|
|
4506
4506
|
});
|
|
4507
4507
|
}),
|
|
4508
4508
|
expanded: (e = n.params.expanded) !== null && e !== void 0 ? e : !1,
|
|
4509
|
-
invertsY:
|
|
4510
|
-
max:
|
|
4509
|
+
invertsY: co(n.params),
|
|
4510
|
+
max: ho(n.params, s.rawValue),
|
|
4511
4511
|
parser: Z,
|
|
4512
4512
|
pickerLayout: (t = n.params.picker) !== null && t !== void 0 ? t : "popup",
|
|
4513
4513
|
value: s,
|
|
@@ -4539,19 +4539,19 @@ class Q {
|
|
|
4539
4539
|
};
|
|
4540
4540
|
}
|
|
4541
4541
|
}
|
|
4542
|
-
const
|
|
4542
|
+
const zn = {
|
|
4543
4543
|
toComponents: (n) => n.getComponents(),
|
|
4544
4544
|
fromComponents: (n) => new Q(...n)
|
|
4545
4545
|
};
|
|
4546
|
-
function
|
|
4546
|
+
function po(n) {
|
|
4547
4547
|
return Q.isObject(n) ? new Q(n.x, n.y, n.z) : new Q();
|
|
4548
4548
|
}
|
|
4549
|
-
function
|
|
4549
|
+
function mo(n, e) {
|
|
4550
4550
|
n.writeProperty("x", e.x), n.writeProperty("y", e.y), n.writeProperty("z", e.z);
|
|
4551
4551
|
}
|
|
4552
|
-
function
|
|
4553
|
-
return new
|
|
4554
|
-
assembly:
|
|
4552
|
+
function vo(n, e) {
|
|
4553
|
+
return new Vt({
|
|
4554
|
+
assembly: zn,
|
|
4555
4555
|
components: [
|
|
4556
4556
|
O(Object.assign(Object.assign({}, n), n.x), e.x),
|
|
4557
4557
|
O(Object.assign(Object.assign({}, n), n.y), e.y),
|
|
@@ -4572,18 +4572,18 @@ P({
|
|
|
4572
4572
|
} : null;
|
|
4573
4573
|
},
|
|
4574
4574
|
binding: {
|
|
4575
|
-
reader: (n) =>
|
|
4576
|
-
constraint: (n) =>
|
|
4575
|
+
reader: (n) => po,
|
|
4576
|
+
constraint: (n) => vo(n.params, n.initialValue),
|
|
4577
4577
|
equals: Q.equals,
|
|
4578
|
-
writer: (n) =>
|
|
4578
|
+
writer: (n) => mo
|
|
4579
4579
|
},
|
|
4580
4580
|
controller: (n) => {
|
|
4581
4581
|
const e = n.value, t = n.constraint, i = [n.params.x, n.params.y, n.params.z];
|
|
4582
|
-
return new
|
|
4583
|
-
assembly:
|
|
4582
|
+
return new Ct(n.document, {
|
|
4583
|
+
assembly: zn,
|
|
4584
4584
|
axes: e.rawValue.getComponents().map((s, r) => {
|
|
4585
4585
|
var o;
|
|
4586
|
-
return
|
|
4586
|
+
return et({
|
|
4587
4587
|
constraint: t.components[r],
|
|
4588
4588
|
initialValue: s,
|
|
4589
4589
|
params: B(n.params, (o = i[r]) !== null && o !== void 0 ? o : {})
|
|
@@ -4620,19 +4620,19 @@ class _ {
|
|
|
4620
4620
|
};
|
|
4621
4621
|
}
|
|
4622
4622
|
}
|
|
4623
|
-
const
|
|
4623
|
+
const Zn = {
|
|
4624
4624
|
toComponents: (n) => n.getComponents(),
|
|
4625
4625
|
fromComponents: (n) => new _(...n)
|
|
4626
4626
|
};
|
|
4627
|
-
function
|
|
4627
|
+
function fo(n) {
|
|
4628
4628
|
return _.isObject(n) ? new _(n.x, n.y, n.z, n.w) : new _();
|
|
4629
4629
|
}
|
|
4630
|
-
function
|
|
4630
|
+
function wo(n, e) {
|
|
4631
4631
|
n.writeProperty("x", e.x), n.writeProperty("y", e.y), n.writeProperty("z", e.z), n.writeProperty("w", e.w);
|
|
4632
4632
|
}
|
|
4633
|
-
function
|
|
4634
|
-
return new
|
|
4635
|
-
assembly:
|
|
4633
|
+
function bo(n, e) {
|
|
4634
|
+
return new Vt({
|
|
4635
|
+
assembly: Zn,
|
|
4636
4636
|
components: [
|
|
4637
4637
|
O(Object.assign(Object.assign({}, n), n.x), e.x),
|
|
4638
4638
|
O(Object.assign(Object.assign({}, n), n.y), e.y),
|
|
@@ -4654,10 +4654,10 @@ P({
|
|
|
4654
4654
|
} : null;
|
|
4655
4655
|
},
|
|
4656
4656
|
binding: {
|
|
4657
|
-
reader: (n) =>
|
|
4658
|
-
constraint: (n) =>
|
|
4657
|
+
reader: (n) => fo,
|
|
4658
|
+
constraint: (n) => bo(n.params, n.initialValue),
|
|
4659
4659
|
equals: _.equals,
|
|
4660
|
-
writer: (n) =>
|
|
4660
|
+
writer: (n) => wo
|
|
4661
4661
|
},
|
|
4662
4662
|
controller: (n) => {
|
|
4663
4663
|
const e = n.value, t = n.constraint, i = [
|
|
@@ -4666,11 +4666,11 @@ P({
|
|
|
4666
4666
|
n.params.z,
|
|
4667
4667
|
n.params.w
|
|
4668
4668
|
];
|
|
4669
|
-
return new
|
|
4670
|
-
assembly:
|
|
4669
|
+
return new Ct(n.document, {
|
|
4670
|
+
assembly: Zn,
|
|
4671
4671
|
axes: e.rawValue.getComponents().map((s, r) => {
|
|
4672
4672
|
var o;
|
|
4673
|
-
return
|
|
4673
|
+
return et({
|
|
4674
4674
|
constraint: t.components[r],
|
|
4675
4675
|
initialValue: s,
|
|
4676
4676
|
params: B(n.params, (o = i[r]) !== null && o !== void 0 ? o : {})
|
|
@@ -4682,8 +4682,8 @@ P({
|
|
|
4682
4682
|
});
|
|
4683
4683
|
}
|
|
4684
4684
|
});
|
|
4685
|
-
function
|
|
4686
|
-
const e = [], t =
|
|
4685
|
+
function go(n) {
|
|
4686
|
+
const e = [], t = ct(n.options);
|
|
4687
4687
|
return t && e.push(t), new ve(e);
|
|
4688
4688
|
}
|
|
4689
4689
|
P({
|
|
@@ -4694,7 +4694,7 @@ P({
|
|
|
4694
4694
|
return null;
|
|
4695
4695
|
const t = V(e, (i) => ({
|
|
4696
4696
|
readonly: i.optional.constant(!1),
|
|
4697
|
-
options: i.optional.custom(
|
|
4697
|
+
options: i.optional.custom(Ke)
|
|
4698
4698
|
}));
|
|
4699
4699
|
return t ? {
|
|
4700
4700
|
initialValue: n,
|
|
@@ -4702,41 +4702,41 @@ P({
|
|
|
4702
4702
|
} : null;
|
|
4703
4703
|
},
|
|
4704
4704
|
binding: {
|
|
4705
|
-
reader: (n) =>
|
|
4706
|
-
constraint: (n) =>
|
|
4705
|
+
reader: (n) => fn,
|
|
4706
|
+
constraint: (n) => go(n.params),
|
|
4707
4707
|
writer: (n) => we
|
|
4708
4708
|
},
|
|
4709
4709
|
controller: (n) => {
|
|
4710
|
-
const e = n.document, t = n.value, i = n.constraint, s = i &&
|
|
4710
|
+
const e = n.document, t = n.value, i = n.constraint, s = i && Se(i, Fe);
|
|
4711
4711
|
return s ? new $(e, {
|
|
4712
4712
|
props: new p({
|
|
4713
4713
|
options: s.values.value("options")
|
|
4714
4714
|
}),
|
|
4715
4715
|
value: t,
|
|
4716
4716
|
viewProps: n.viewProps
|
|
4717
|
-
}) : new
|
|
4717
|
+
}) : new pt(e, {
|
|
4718
4718
|
parser: (r) => r,
|
|
4719
4719
|
props: p.fromObject({
|
|
4720
|
-
formatter:
|
|
4720
|
+
formatter: Ye
|
|
4721
4721
|
}),
|
|
4722
4722
|
value: t,
|
|
4723
4723
|
viewProps: n.viewProps
|
|
4724
4724
|
});
|
|
4725
4725
|
},
|
|
4726
4726
|
api(n) {
|
|
4727
|
-
return typeof n.controller.value.rawValue != "string" ? null : n.controller.valueController instanceof $ ? new
|
|
4727
|
+
return typeof n.controller.value.rawValue != "string" ? null : n.controller.valueController instanceof $ ? new ht(n.controller) : null;
|
|
4728
4728
|
}
|
|
4729
4729
|
});
|
|
4730
|
-
const
|
|
4730
|
+
const Oe = {
|
|
4731
4731
|
monitor: {
|
|
4732
4732
|
defaultRows: 3
|
|
4733
4733
|
}
|
|
4734
|
-
},
|
|
4735
|
-
class
|
|
4734
|
+
}, At = d("mll");
|
|
4735
|
+
class Vo {
|
|
4736
4736
|
constructor(e, t) {
|
|
4737
|
-
this.onValueUpdate_ = this.onValueUpdate_.bind(this), this.formatter_ = t.formatter, this.element = e.createElement("div"), this.element.classList.add(
|
|
4737
|
+
this.onValueUpdate_ = this.onValueUpdate_.bind(this), this.formatter_ = t.formatter, this.element = e.createElement("div"), this.element.classList.add(At()), t.viewProps.bindClassModifiers(this.element);
|
|
4738
4738
|
const i = e.createElement("textarea");
|
|
4739
|
-
i.classList.add(
|
|
4739
|
+
i.classList.add(At("i")), i.style.height = `calc(var(${bn("containerUnitSize")}) * ${t.rows})`, i.readOnly = !0, t.viewProps.bindDisabled(i), this.element.appendChild(i), this.textareaElem_ = i, t.value.emitter.on("change", this.onValueUpdate_), this.value = t.value, this.update_();
|
|
4740
4740
|
}
|
|
4741
4741
|
update_() {
|
|
4742
4742
|
const e = this.textareaElem_, t = e.scrollTop === e.scrollHeight - e.clientHeight, i = [];
|
|
@@ -4749,9 +4749,9 @@ class go {
|
|
|
4749
4749
|
this.update_();
|
|
4750
4750
|
}
|
|
4751
4751
|
}
|
|
4752
|
-
class
|
|
4752
|
+
class Pt {
|
|
4753
4753
|
constructor(e, t) {
|
|
4754
|
-
this.value = t.value, this.viewProps = t.viewProps, this.view = new
|
|
4754
|
+
this.value = t.value, this.viewProps = t.viewProps, this.view = new Vo(e, {
|
|
4755
4755
|
formatter: t.formatter,
|
|
4756
4756
|
rows: t.rows,
|
|
4757
4757
|
value: this.value,
|
|
@@ -4759,12 +4759,12 @@ class Ct {
|
|
|
4759
4759
|
});
|
|
4760
4760
|
}
|
|
4761
4761
|
}
|
|
4762
|
-
const
|
|
4763
|
-
class
|
|
4762
|
+
const Bt = d("sgl");
|
|
4763
|
+
class Co {
|
|
4764
4764
|
constructor(e, t) {
|
|
4765
|
-
this.onValueUpdate_ = this.onValueUpdate_.bind(this), this.formatter_ = t.formatter, this.element = e.createElement("div"), this.element.classList.add(
|
|
4765
|
+
this.onValueUpdate_ = this.onValueUpdate_.bind(this), this.formatter_ = t.formatter, this.element = e.createElement("div"), this.element.classList.add(Bt()), t.viewProps.bindClassModifiers(this.element);
|
|
4766
4766
|
const i = e.createElement("input");
|
|
4767
|
-
i.classList.add(
|
|
4767
|
+
i.classList.add(Bt("i")), i.readOnly = !0, i.type = "text", t.viewProps.bindDisabled(i), this.element.appendChild(i), this.inputElement = i, t.value.emitter.on("change", this.onValueUpdate_), this.value = t.value, this.update_();
|
|
4768
4768
|
}
|
|
4769
4769
|
update_() {
|
|
4770
4770
|
const e = this.value.rawValue, t = e[e.length - 1];
|
|
@@ -4774,9 +4774,9 @@ class Vo {
|
|
|
4774
4774
|
this.update_();
|
|
4775
4775
|
}
|
|
4776
4776
|
}
|
|
4777
|
-
class
|
|
4777
|
+
class yt {
|
|
4778
4778
|
constructor(e, t) {
|
|
4779
|
-
this.value = t.value, this.viewProps = t.viewProps, this.view = new
|
|
4779
|
+
this.value = t.value, this.viewProps = t.viewProps, this.view = new Co(e, {
|
|
4780
4780
|
formatter: t.formatter,
|
|
4781
4781
|
value: this.value,
|
|
4782
4782
|
viewProps: this.viewProps
|
|
@@ -4799,23 +4799,23 @@ P({
|
|
|
4799
4799
|
} : null;
|
|
4800
4800
|
},
|
|
4801
4801
|
binding: {
|
|
4802
|
-
reader: (n) =>
|
|
4802
|
+
reader: (n) => vn
|
|
4803
4803
|
},
|
|
4804
4804
|
controller: (n) => {
|
|
4805
4805
|
var e;
|
|
4806
|
-
return n.value.rawValue.length === 1 ? new
|
|
4807
|
-
formatter:
|
|
4806
|
+
return n.value.rawValue.length === 1 ? new yt(n.document, {
|
|
4807
|
+
formatter: Nt,
|
|
4808
4808
|
value: n.value,
|
|
4809
4809
|
viewProps: n.viewProps
|
|
4810
|
-
}) : new
|
|
4811
|
-
formatter:
|
|
4812
|
-
rows: (e = n.params.rows) !== null && e !== void 0 ? e :
|
|
4810
|
+
}) : new Pt(n.document, {
|
|
4811
|
+
formatter: Nt,
|
|
4812
|
+
rows: (e = n.params.rows) !== null && e !== void 0 ? e : Oe.monitor.defaultRows,
|
|
4813
4813
|
value: n.value,
|
|
4814
4814
|
viewProps: n.viewProps
|
|
4815
4815
|
});
|
|
4816
4816
|
}
|
|
4817
4817
|
});
|
|
4818
|
-
class
|
|
4818
|
+
class Po extends nt {
|
|
4819
4819
|
get max() {
|
|
4820
4820
|
return this.controller.valueController.props.get("max");
|
|
4821
4821
|
}
|
|
@@ -4830,11 +4830,11 @@ class Co extends tt {
|
|
|
4830
4830
|
}
|
|
4831
4831
|
}
|
|
4832
4832
|
const D = d("grl");
|
|
4833
|
-
class
|
|
4833
|
+
class yo {
|
|
4834
4834
|
constructor(e, t) {
|
|
4835
4835
|
this.onCursorChange_ = this.onCursorChange_.bind(this), this.onValueUpdate_ = this.onValueUpdate_.bind(this), this.element = e.createElement("div"), this.element.classList.add(D()), t.viewProps.bindClassModifiers(this.element), this.formatter_ = t.formatter, this.props_ = t.props, this.cursor_ = t.cursor, this.cursor_.emitter.on("change", this.onCursorChange_);
|
|
4836
4836
|
const i = e.createElementNS(k, "svg");
|
|
4837
|
-
i.classList.add(D("g")), i.style.height = `calc(var(${
|
|
4837
|
+
i.classList.add(D("g")), i.style.height = `calc(var(${bn("containerUnitSize")}) * ${t.rows})`, this.element.appendChild(i), this.svgElem_ = i;
|
|
4838
4838
|
const s = e.createElementNS(k, "polyline");
|
|
4839
4839
|
this.svgElem_.appendChild(s), this.lineElem_ = s;
|
|
4840
4840
|
const r = e.createElement("div");
|
|
@@ -4857,7 +4857,7 @@ class Po {
|
|
|
4857
4857
|
return;
|
|
4858
4858
|
}
|
|
4859
4859
|
const u = v(this.cursor_.rawValue, 0, i, 0, e), c = v(l, s, r, t, 0);
|
|
4860
|
-
a.style.left = `${u}px`, a.style.top = `${c}px`, a.textContent = `${this.formatter_(l)}`, a.classList.contains(D("t", "a")) || (a.classList.add(D("t", "a"), D("t", "in")),
|
|
4860
|
+
a.style.left = `${u}px`, a.style.top = `${c}px`, a.textContent = `${this.formatter_(l)}`, a.classList.contains(D("t", "a")) || (a.classList.add(D("t", "a"), D("t", "in")), qe(a), a.classList.remove(D("t", "in")));
|
|
4861
4861
|
}
|
|
4862
4862
|
onValueUpdate_() {
|
|
4863
4863
|
this.update_();
|
|
@@ -4866,16 +4866,16 @@ class Po {
|
|
|
4866
4866
|
this.update_();
|
|
4867
4867
|
}
|
|
4868
4868
|
}
|
|
4869
|
-
class
|
|
4869
|
+
class In {
|
|
4870
4870
|
constructor(e, t) {
|
|
4871
|
-
if (this.onGraphMouseMove_ = this.onGraphMouseMove_.bind(this), this.onGraphMouseLeave_ = this.onGraphMouseLeave_.bind(this), this.onGraphPointerDown_ = this.onGraphPointerDown_.bind(this), this.onGraphPointerMove_ = this.onGraphPointerMove_.bind(this), this.onGraphPointerUp_ = this.onGraphPointerUp_.bind(this), this.props = t.props, this.value = t.value, this.viewProps = t.viewProps, this.cursor_ = g(-1), this.view = new
|
|
4871
|
+
if (this.onGraphMouseMove_ = this.onGraphMouseMove_.bind(this), this.onGraphMouseLeave_ = this.onGraphMouseLeave_.bind(this), this.onGraphPointerDown_ = this.onGraphPointerDown_.bind(this), this.onGraphPointerMove_ = this.onGraphPointerMove_.bind(this), this.onGraphPointerUp_ = this.onGraphPointerUp_.bind(this), this.props = t.props, this.value = t.value, this.viewProps = t.viewProps, this.cursor_ = g(-1), this.view = new yo(e, {
|
|
4872
4872
|
cursor: this.cursor_,
|
|
4873
4873
|
formatter: t.formatter,
|
|
4874
4874
|
rows: t.rows,
|
|
4875
4875
|
props: this.props,
|
|
4876
4876
|
value: this.value,
|
|
4877
4877
|
viewProps: this.viewProps
|
|
4878
|
-
}), !
|
|
4878
|
+
}), !it(e))
|
|
4879
4879
|
this.view.element.addEventListener("mousemove", this.onGraphMouseMove_), this.view.element.addEventListener("mouseleave", this.onGraphMouseLeave_);
|
|
4880
4880
|
else {
|
|
4881
4881
|
const i = new G(this.view.element);
|
|
@@ -4915,27 +4915,27 @@ class Zn {
|
|
|
4915
4915
|
this.cursor_.rawValue = -1;
|
|
4916
4916
|
}
|
|
4917
4917
|
}
|
|
4918
|
-
function
|
|
4918
|
+
function He(n) {
|
|
4919
4919
|
return w(n.format) ? x(2) : n.format;
|
|
4920
4920
|
}
|
|
4921
|
-
function
|
|
4921
|
+
function xo(n) {
|
|
4922
4922
|
var e;
|
|
4923
|
-
return n.value.rawValue.length === 1 ? new
|
|
4924
|
-
formatter:
|
|
4923
|
+
return n.value.rawValue.length === 1 ? new yt(n.document, {
|
|
4924
|
+
formatter: He(n.params),
|
|
4925
4925
|
value: n.value,
|
|
4926
4926
|
viewProps: n.viewProps
|
|
4927
|
-
}) : new
|
|
4928
|
-
formatter:
|
|
4929
|
-
rows: (e = n.params.rows) !== null && e !== void 0 ? e :
|
|
4927
|
+
}) : new Pt(n.document, {
|
|
4928
|
+
formatter: He(n.params),
|
|
4929
|
+
rows: (e = n.params.rows) !== null && e !== void 0 ? e : Oe.monitor.defaultRows,
|
|
4930
4930
|
value: n.value,
|
|
4931
4931
|
viewProps: n.viewProps
|
|
4932
4932
|
});
|
|
4933
4933
|
}
|
|
4934
|
-
function
|
|
4934
|
+
function Eo(n) {
|
|
4935
4935
|
var e, t, i;
|
|
4936
|
-
return new
|
|
4937
|
-
formatter:
|
|
4938
|
-
rows: (e = n.params.rows) !== null && e !== void 0 ? e :
|
|
4936
|
+
return new In(n.document, {
|
|
4937
|
+
formatter: He(n.params),
|
|
4938
|
+
rows: (e = n.params.rows) !== null && e !== void 0 ? e : Oe.monitor.defaultRows,
|
|
4939
4939
|
props: p.fromObject({
|
|
4940
4940
|
max: (t = n.params.max) !== null && t !== void 0 ? t : 100,
|
|
4941
4941
|
min: (i = n.params.min) !== null && i !== void 0 ? i : 0
|
|
@@ -4944,7 +4944,7 @@ function xo(n) {
|
|
|
4944
4944
|
viewProps: n.viewProps
|
|
4945
4945
|
});
|
|
4946
4946
|
}
|
|
4947
|
-
function
|
|
4947
|
+
function Jt(n) {
|
|
4948
4948
|
return n.view === "graph";
|
|
4949
4949
|
}
|
|
4950
4950
|
P({
|
|
@@ -4967,11 +4967,11 @@ P({
|
|
|
4967
4967
|
} : null;
|
|
4968
4968
|
},
|
|
4969
4969
|
binding: {
|
|
4970
|
-
defaultBufferSize: (n) =>
|
|
4971
|
-
reader: (n) =>
|
|
4970
|
+
defaultBufferSize: (n) => Jt(n) ? 64 : 1,
|
|
4971
|
+
reader: (n) => _t
|
|
4972
4972
|
},
|
|
4973
|
-
controller: (n) =>
|
|
4974
|
-
api: (n) => n.controller.valueController instanceof
|
|
4973
|
+
controller: (n) => Jt(n.params) ? Eo(n) : xo(n),
|
|
4974
|
+
api: (n) => n.controller.valueController instanceof In ? new Po(n.controller) : null
|
|
4975
4975
|
});
|
|
4976
4976
|
P({
|
|
4977
4977
|
id: "monitor-string",
|
|
@@ -4990,24 +4990,24 @@ P({
|
|
|
4990
4990
|
} : null;
|
|
4991
4991
|
},
|
|
4992
4992
|
binding: {
|
|
4993
|
-
reader: (n) =>
|
|
4993
|
+
reader: (n) => fn
|
|
4994
4994
|
},
|
|
4995
4995
|
controller: (n) => {
|
|
4996
4996
|
var e;
|
|
4997
4997
|
const t = n.value;
|
|
4998
|
-
return t.rawValue.length > 1 || n.params.multiline ? new
|
|
4999
|
-
formatter:
|
|
5000
|
-
rows: (e = n.params.rows) !== null && e !== void 0 ? e :
|
|
4998
|
+
return t.rawValue.length > 1 || n.params.multiline ? new Pt(n.document, {
|
|
4999
|
+
formatter: Ye,
|
|
5000
|
+
rows: (e = n.params.rows) !== null && e !== void 0 ? e : Oe.monitor.defaultRows,
|
|
5001
5001
|
value: t,
|
|
5002
5002
|
viewProps: n.viewProps
|
|
5003
|
-
}) : new
|
|
5004
|
-
formatter:
|
|
5003
|
+
}) : new yt(n.document, {
|
|
5004
|
+
formatter: Ye,
|
|
5005
5005
|
value: t,
|
|
5006
5006
|
viewProps: n.viewProps
|
|
5007
5007
|
});
|
|
5008
5008
|
}
|
|
5009
5009
|
});
|
|
5010
|
-
const
|
|
5010
|
+
const qo = (n, e, t, i, s, r, o) => `{
|
|
5011
5011
|
images: {
|
|
5012
5012
|
0: {
|
|
5013
5013
|
src: <image-src>,
|
|
@@ -5041,7 +5041,7 @@ const Eo = (n, e, t, i, s, r, o) => `{
|
|
|
5041
5041
|
}
|
|
5042
5042
|
}
|
|
5043
5043
|
}`;
|
|
5044
|
-
class
|
|
5044
|
+
class So {
|
|
5045
5045
|
/**
|
|
5046
5046
|
* @type {Pane}
|
|
5047
5047
|
*/
|
|
@@ -5050,7 +5050,7 @@ class qo {
|
|
|
5050
5050
|
* Constructor
|
|
5051
5051
|
*/
|
|
5052
5052
|
constructor() {
|
|
5053
|
-
this.debugger = new
|
|
5053
|
+
this.debugger = new An(), this.#t();
|
|
5054
5054
|
}
|
|
5055
5055
|
/**
|
|
5056
5056
|
* Enable. Show debugger
|
|
@@ -5134,7 +5134,7 @@ class qo {
|
|
|
5134
5134
|
e.on("click", () => {
|
|
5135
5135
|
const t = this.debugger.exportState();
|
|
5136
5136
|
if (t.children && t.children instanceof Array) {
|
|
5137
|
-
const i = t.children[1], s = i.children[0].binding.value, r = i.children[1].binding.value, a = t.children[4].children[0].binding.value, l = t.children[5], u = l.children[0].binding.value, c = l.children[1].binding.value, m = t.children[6], ie = m.children[0].binding.value, se = m.children[1].binding.value, I =
|
|
5137
|
+
const i = t.children[1], s = i.children[0].binding.value, r = i.children[1].binding.value, a = t.children[4].children[0].binding.value, l = t.children[5], u = l.children[0].binding.value, c = l.children[1].binding.value, m = t.children[6], ie = m.children[0].binding.value, se = m.children[1].binding.value, I = qo(
|
|
5138
5138
|
a,
|
|
5139
5139
|
u,
|
|
5140
5140
|
c,
|
|
@@ -5152,7 +5152,7 @@ class qo {
|
|
|
5152
5152
|
});
|
|
5153
5153
|
}
|
|
5154
5154
|
}
|
|
5155
|
-
var
|
|
5155
|
+
var Ro = `uniform sampler2D uImageTexture;
|
|
5156
5156
|
uniform float uPointSize;
|
|
5157
5157
|
|
|
5158
5158
|
varying vec4 vColor;
|
|
@@ -5168,7 +5168,7 @@ void main() {
|
|
|
5168
5168
|
gl_PointSize = uPointSize;
|
|
5169
5169
|
|
|
5170
5170
|
vColor = texture(uImageTexture, uv);
|
|
5171
|
-
}`,
|
|
5171
|
+
}`, ko = `uniform float uAlphaTest;
|
|
5172
5172
|
|
|
5173
5173
|
varying vec4 vColor;
|
|
5174
5174
|
|
|
@@ -5182,7 +5182,7 @@ void main() {
|
|
|
5182
5182
|
#include <tonemapping_fragment>
|
|
5183
5183
|
#include <colorspace_fragment>
|
|
5184
5184
|
}`;
|
|
5185
|
-
let
|
|
5185
|
+
let Lo = class {
|
|
5186
5186
|
/**
|
|
5187
5187
|
* @type {THREE.Points}
|
|
5188
5188
|
*/
|
|
@@ -5284,8 +5284,8 @@ let ko = class {
|
|
|
5284
5284
|
t,
|
|
5285
5285
|
i
|
|
5286
5286
|
), l = new f.ShaderMaterial({
|
|
5287
|
-
vertexShader:
|
|
5288
|
-
fragmentShader:
|
|
5287
|
+
vertexShader: Ro,
|
|
5288
|
+
fragmentShader: ko,
|
|
5289
5289
|
uniforms: {
|
|
5290
5290
|
uImageTexture: new f.Uniform(this.#t),
|
|
5291
5291
|
uPointSize: new f.Uniform(s),
|
|
@@ -5325,7 +5325,7 @@ let ko = class {
|
|
|
5325
5325
|
* @note It is created a plane that occupies all the render
|
|
5326
5326
|
* @note The dom element width and height of the renderer include
|
|
5327
5327
|
* the device pixel ratio, so it is important to use them
|
|
5328
|
-
* to create a plane that
|
|
5328
|
+
* to create a plane that takes all the render space/physical pixels
|
|
5329
5329
|
* @note It is removed the index and normals from the geometry
|
|
5330
5330
|
* to improve performance.
|
|
5331
5331
|
* Normals are not going to be needed.
|
|
@@ -5342,11 +5342,8 @@ let ko = class {
|
|
|
5342
5342
|
return s.setIndex(null), s.deleteAttribute("normal"), i && (s.attributes = { ...i, ...s.attributes }), s;
|
|
5343
5343
|
}
|
|
5344
5344
|
};
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
* @type {DebugManager}
|
|
5348
|
-
*/
|
|
5349
|
-
#t;
|
|
5345
|
+
const Ce = 128;
|
|
5346
|
+
class Uo {
|
|
5350
5347
|
/**
|
|
5351
5348
|
* @type {THREE.CanvasTexture}
|
|
5352
5349
|
*/
|
|
@@ -5355,6 +5352,10 @@ class Lo {
|
|
|
5355
5352
|
* @type {HTMLCanvasElement}
|
|
5356
5353
|
*/
|
|
5357
5354
|
element;
|
|
5355
|
+
/**
|
|
5356
|
+
* @type {DebugManager}
|
|
5357
|
+
*/
|
|
5358
|
+
#t;
|
|
5358
5359
|
/**
|
|
5359
5360
|
* @type {CanvasRenderingContext2D}
|
|
5360
5361
|
*/
|
|
@@ -5385,14 +5386,12 @@ class Lo {
|
|
|
5385
5386
|
* Constructor
|
|
5386
5387
|
*
|
|
5387
5388
|
* @param {DebugManager} debugManager
|
|
5388
|
-
* @param {number} resolutionWidth
|
|
5389
|
-
* @param {number} resolutionHeight
|
|
5390
5389
|
* @param {string} pointerImageSrc
|
|
5391
5390
|
* @param {number} pointerImageSize
|
|
5392
5391
|
* @param {number} pointerTrailingFactor
|
|
5393
5392
|
*/
|
|
5394
|
-
constructor(e, t, i
|
|
5395
|
-
this.#t = e, this.#s =
|
|
5393
|
+
constructor(e, t, i = 0.1, s = 0.05) {
|
|
5394
|
+
this.#t = e, this.#s = s, this.#a(), this.#u(t, i);
|
|
5396
5395
|
}
|
|
5397
5396
|
/**
|
|
5398
5397
|
* Update
|
|
@@ -5480,15 +5479,15 @@ class Lo {
|
|
|
5480
5479
|
* Init canvas texture used to detect pointer location and
|
|
5481
5480
|
* displace points
|
|
5482
5481
|
*
|
|
5483
|
-
* @param {number} resolutionWidth
|
|
5484
|
-
* @param {number} resolutionHeight
|
|
5485
5482
|
* @returns {void}
|
|
5486
|
-
* @note
|
|
5487
|
-
* image
|
|
5488
|
-
*
|
|
5483
|
+
* @note This canvas will work as a texture, but it is not necessary
|
|
5484
|
+
* to use 1 to 1 map between renderer/image pixels and
|
|
5485
|
+
* it.
|
|
5486
|
+
* It is considered that a low-resolution texture
|
|
5487
|
+
* improves performance without affecting the final effect
|
|
5489
5488
|
*/
|
|
5490
|
-
#a(
|
|
5491
|
-
this.element = document.createElement("canvas"), this.element.width =
|
|
5489
|
+
#a() {
|
|
5490
|
+
this.element = document.createElement("canvas"), this.element.style.width = `${Ce}px`, this.element.style.height = `${Ce}px`, this.element.width = Ce, this.element.height = Ce, this.texture = new f.CanvasTexture(this.element), this.#e = this.element.getContext("2d");
|
|
5492
5491
|
}
|
|
5493
5492
|
/**
|
|
5494
5493
|
* Init pointer image
|
|
@@ -5517,7 +5516,7 @@ class Lo {
|
|
|
5517
5516
|
this.#i = e * this.element.width;
|
|
5518
5517
|
}
|
|
5519
5518
|
}
|
|
5520
|
-
class
|
|
5519
|
+
class Fo {
|
|
5521
5520
|
/**
|
|
5522
5521
|
* @type {THREE.Vector2 | {x: number | undefined, y: number | undefined}}
|
|
5523
5522
|
*/
|
|
@@ -5601,8 +5600,8 @@ class Uo {
|
|
|
5601
5600
|
* use it for raycasting
|
|
5602
5601
|
*/
|
|
5603
5602
|
#i(e) {
|
|
5604
|
-
const
|
|
5605
|
-
this.coord.x = (e.
|
|
5603
|
+
const i = e.target.getBoundingClientRect();
|
|
5604
|
+
this.coord.x = ((e.clientX - i.left) / i.width - 0.5) * 2, this.coord.y = -((e.clientY - i.top) / i.height - 0.5) * 2;
|
|
5606
5605
|
}
|
|
5607
5606
|
/**
|
|
5608
5607
|
* Process pointer leave
|
|
@@ -5629,8 +5628,8 @@ class Uo {
|
|
|
5629
5628
|
this.#n
|
|
5630
5629
|
), this.raycasterPlane = new f.Mesh(
|
|
5631
5630
|
new f.PlaneGeometry(
|
|
5632
|
-
this.#t.width,
|
|
5633
|
-
this.#t.height
|
|
5631
|
+
this.#t.renderer.domElement.width,
|
|
5632
|
+
this.#t.renderer.domElement.height
|
|
5634
5633
|
),
|
|
5635
5634
|
new f.MeshBasicMaterial()
|
|
5636
5635
|
), this.raycasterPlane.visible = !1;
|
|
@@ -5650,7 +5649,7 @@ class Uo {
|
|
|
5650
5649
|
), this.raycasterPlane.geometry.dispose(), this.raycasterPlane.material.dispose();
|
|
5651
5650
|
}
|
|
5652
5651
|
}
|
|
5653
|
-
var
|
|
5652
|
+
var Ko = `attribute float aDisAngle;
|
|
5654
5653
|
attribute float aDisAmplitude;
|
|
5655
5654
|
|
|
5656
5655
|
uniform float uTime;
|
|
@@ -5661,7 +5660,7 @@ uniform float uNoiseFrequency;
|
|
|
5661
5660
|
uniform float uNoiseAmplitude;
|
|
5662
5661
|
uniform sampler2D uNoiseTexture;
|
|
5663
5662
|
|
|
5664
|
-
varying vec4 vColor;`,
|
|
5663
|
+
varying vec4 vColor;`, Mo = `vec3 vertexPosition = position;
|
|
5665
5664
|
|
|
5666
5665
|
vec2 noiseUv = vec2(uv.x - uNoiseFrequency * uTime, uv.y);
|
|
5667
5666
|
float noiseFactor = texture(uNoiseTexture, noiseUv).r * uNoiseAmplitude;
|
|
@@ -5681,7 +5680,7 @@ float displacementX = cos(aDisAngle) * disFactor;
|
|
|
5681
5680
|
float displacementY = sin(aDisAngle) * disFactor;
|
|
5682
5681
|
vec2 displacement = vec2(displacementX, displacementY);
|
|
5683
5682
|
vertexPosition.xy += displacement;`;
|
|
5684
|
-
class
|
|
5683
|
+
class Oo {
|
|
5685
5684
|
/**
|
|
5686
5685
|
* @type {Image}
|
|
5687
5686
|
*/
|
|
@@ -5833,10 +5832,10 @@ class Mo {
|
|
|
5833
5832
|
this.#e.canvas.texture
|
|
5834
5833
|
), l.uniforms.uNoiseFrequency = new f.Uniform(t), l.uniforms.uNoiseAmplitude = new f.Uniform(i), l.uniforms.uNoiseTexture = new f.Uniform(a), l.vertexShader = l.vertexShader.replace(
|
|
5835
5834
|
"varying vec4 vColor;",
|
|
5836
|
-
|
|
5835
|
+
Ko
|
|
5837
5836
|
), l.vertexShader = l.vertexShader.replace(
|
|
5838
5837
|
"vec3 vertexPosition = position;",
|
|
5839
|
-
|
|
5838
|
+
Mo
|
|
5840
5839
|
);
|
|
5841
5840
|
}, this.#n.compile();
|
|
5842
5841
|
}
|
|
@@ -5858,8 +5857,8 @@ class Mo {
|
|
|
5858
5857
|
);
|
|
5859
5858
|
}
|
|
5860
5859
|
}
|
|
5861
|
-
const Oo = "data:image/png;base64,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", To = "data:image/png;base64,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", Jt = 0;
|
|
5862
|
-
class
|
|
5860
|
+
const To = "data:image/png;base64,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", No = "data:image/png;base64,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", Gt = 0;
|
|
5861
|
+
class Wo {
|
|
5863
5862
|
/**
|
|
5864
5863
|
* @type {{
|
|
5865
5864
|
* src : string;
|
|
@@ -5974,7 +5973,7 @@ class No {
|
|
|
5974
5973
|
update() {
|
|
5975
5974
|
const e = window.innerWidth, t = this.#e.reduce(
|
|
5976
5975
|
(i, s) => s <= e && s > i ? s : i,
|
|
5977
|
-
|
|
5976
|
+
Gt
|
|
5978
5977
|
);
|
|
5979
5978
|
return t !== this.#t ? (this.#t = t, this.currentImage = this.images[this.#t], !0) : !1;
|
|
5980
5979
|
}
|
|
@@ -5987,7 +5986,7 @@ class No {
|
|
|
5987
5986
|
*/
|
|
5988
5987
|
#n(e) {
|
|
5989
5988
|
if (e.find(
|
|
5990
|
-
(t) => t ===
|
|
5989
|
+
(t) => t === Gt
|
|
5991
5990
|
) === void 0)
|
|
5992
5991
|
throw new Error(
|
|
5993
5992
|
"The `0` breakpoint is required. It defines the default image that should be used."
|
|
@@ -5995,7 +5994,7 @@ class No {
|
|
|
5995
5994
|
this.#e = e;
|
|
5996
5995
|
}
|
|
5997
5996
|
}
|
|
5998
|
-
class
|
|
5997
|
+
class Xo {
|
|
5999
5998
|
/**
|
|
6000
5999
|
* @type {RendererManager}
|
|
6001
6000
|
*/
|
|
@@ -6114,7 +6113,7 @@ class Do {
|
|
|
6114
6113
|
* @throws {Error}
|
|
6115
6114
|
*/
|
|
6116
6115
|
constructor(e) {
|
|
6117
|
-
this.#i = e, this.#s = e.isDebugging ?? !1, this.#e = new
|
|
6116
|
+
this.#i = e, this.#s = e.isDebugging ?? !1, this.#e = new Wo(e.images), this.#u();
|
|
6118
6117
|
}
|
|
6119
6118
|
/**
|
|
6120
6119
|
* Debug
|
|
@@ -6138,10 +6137,10 @@ class Do {
|
|
|
6138
6137
|
* @returns {void}
|
|
6139
6138
|
*/
|
|
6140
6139
|
#u() {
|
|
6141
|
-
this.rendererManager = new
|
|
6140
|
+
this.rendererManager = new Gn(
|
|
6142
6141
|
this.#e.currentImage.width,
|
|
6143
6142
|
this.#e.currentImage.height
|
|
6144
|
-
), this.#n = new
|
|
6143
|
+
), this.#n = new Bn(), this.#m(), this.#d(), this.#i.containerSelector && this.#v(this.#i.containerSelector), this.#o = this.#c.bind(this), window.addEventListener("keydown", this.#o), this.#s ? this.#h() : this.#p(), this.#a = () => {
|
|
6145
6144
|
this.#e.update() && (this.dispose(), this.#u());
|
|
6146
6145
|
}, window.addEventListener("resize", this.#a), this.#l();
|
|
6147
6146
|
}
|
|
@@ -6185,8 +6184,8 @@ class Do {
|
|
|
6185
6184
|
* @returns {void}
|
|
6186
6185
|
*/
|
|
6187
6186
|
#d() {
|
|
6188
|
-
this.#t = new
|
|
6189
|
-
new
|
|
6187
|
+
this.#t = new Oo(
|
|
6188
|
+
new Lo(
|
|
6190
6189
|
this.rendererManager,
|
|
6191
6190
|
this.debugManager,
|
|
6192
6191
|
this.#e.currentImage.src,
|
|
@@ -6195,20 +6194,18 @@ class Do {
|
|
|
6195
6194
|
this.#e.currentImage.pixel?.size ?? 1,
|
|
6196
6195
|
this.#e.currentImage.pixel?.alphaTest ?? 0.1
|
|
6197
6196
|
),
|
|
6198
|
-
new
|
|
6197
|
+
new Fo(
|
|
6199
6198
|
this.rendererManager,
|
|
6200
|
-
new
|
|
6199
|
+
new Uo(
|
|
6201
6200
|
this.debugManager,
|
|
6202
|
-
this.#
|
|
6203
|
-
this.#e.currentImage.resolution.height,
|
|
6204
|
-
this.#i.pointer?.src ?? Oo,
|
|
6201
|
+
this.#i.pointer?.src ?? To,
|
|
6205
6202
|
this.#i.pointer?.size ?? 0.15,
|
|
6206
6203
|
this.#i.pointer?.trailing?.factor ?? 0.01
|
|
6207
6204
|
)
|
|
6208
6205
|
),
|
|
6209
6206
|
this.rendererManager,
|
|
6210
6207
|
this.debugManager,
|
|
6211
|
-
this.#e.currentImage.motion?.noise?.src ??
|
|
6208
|
+
this.#e.currentImage.motion?.noise?.src ?? No,
|
|
6212
6209
|
this.#e.currentImage.motion?.noise?.frequency ?? 0.05,
|
|
6213
6210
|
this.#e.currentImage.motion?.noise?.amplitude ?? 3,
|
|
6214
6211
|
this.#e.currentImage.pixel?.motion?.displacement?.frequency ?? 5,
|
|
@@ -6221,7 +6218,7 @@ class Do {
|
|
|
6221
6218
|
* @returns {void}
|
|
6222
6219
|
*/
|
|
6223
6220
|
#m() {
|
|
6224
|
-
this.debugManager = new
|
|
6221
|
+
this.debugManager = new So();
|
|
6225
6222
|
}
|
|
6226
6223
|
/**
|
|
6227
6224
|
* Init DOM
|
|
@@ -6235,6 +6232,6 @@ class Do {
|
|
|
6235
6232
|
}
|
|
6236
6233
|
}
|
|
6237
6234
|
export {
|
|
6238
|
-
|
|
6235
|
+
Xo as M
|
|
6239
6236
|
};
|
|
6240
|
-
//# sourceMappingURL=main-
|
|
6237
|
+
//# sourceMappingURL=main-Coneat92.js.map
|