@eyeon/map 2.0.4 → 2.0.5
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/chunks/MapViewer.js +357 -355
- package/dist/chunks/MapViewer.js.map +1 -1
- package/dist/chunks/stacking.js +7 -8
- package/dist/chunks/stacking.js.map +1 -1
- package/dist/chunks/wheelZoom.js.map +1 -1
- package/dist/core/assignment.d.ts +14 -4
- package/dist/core/assignment.d.ts.map +1 -1
- package/dist/core/layerStyles.d.ts +2 -1
- package/dist/core/layerStyles.d.ts.map +1 -1
- package/dist/core/outdoorDecoration.d.ts +2 -1
- package/dist/core/outdoorDecoration.d.ts.map +1 -1
- package/dist/editor/canvas/EditorCanvas.d.ts.map +1 -1
- package/dist/editor/canvas/OutdoorSvgUnderlay.d.ts +2 -1
- package/dist/editor/canvas/OutdoorSvgUnderlay.d.ts.map +1 -1
- package/dist/editor/index.js +378 -368
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/railListCopy.d.ts.map +1 -1
- package/dist/viewer/ui/MapControls.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/chunks/MapViewer.js
CHANGED
|
@@ -18,24 +18,26 @@ function kn({
|
|
|
18
18
|
floorOptions: x,
|
|
19
19
|
alwaysShowFloors: z = !1
|
|
20
20
|
}) {
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
const G = t.filter(
|
|
22
|
+
(B) => B.kind != null && B.ordering != null && B.levelIndex != null
|
|
23
|
+
), k = x ?? De(G), Z = b && (z ? k.length > 0 : Be(G)), V = Q && ve(G);
|
|
24
|
+
return !Z && !V ? null : /* @__PURE__ */ T("div", { className: "eyeon-map-controls", children: /* @__PURE__ */ ct("div", { className: "eyeon-map-controls__stack", children: [
|
|
25
|
+
Z && /* @__PURE__ */ T("div", { className: "eyeon-map-controls__floors", role: "tablist", "aria-label": "Floors", children: k.map((B) => {
|
|
26
|
+
const w = B.id === e;
|
|
25
27
|
return /* @__PURE__ */ T(
|
|
26
28
|
"button",
|
|
27
29
|
{
|
|
28
30
|
type: "button",
|
|
29
31
|
role: "tab",
|
|
30
|
-
"aria-selected":
|
|
31
|
-
className:
|
|
32
|
-
onClick: () => s(
|
|
33
|
-
children:
|
|
32
|
+
"aria-selected": w,
|
|
33
|
+
className: w ? "eyeon-map-controls__floor is-active" : "eyeon-map-controls__floor",
|
|
34
|
+
onClick: () => s(B.id),
|
|
35
|
+
children: B.name
|
|
34
36
|
},
|
|
35
|
-
|
|
37
|
+
B.id
|
|
36
38
|
);
|
|
37
39
|
}) }),
|
|
38
|
-
|
|
40
|
+
V && /* @__PURE__ */ ct(Pe, { children: [
|
|
39
41
|
/* @__PURE__ */ T(
|
|
40
42
|
"button",
|
|
41
43
|
{
|
|
@@ -343,69 +345,69 @@ function le({
|
|
|
343
345
|
searchable: m,
|
|
344
346
|
ariaLabel: b
|
|
345
347
|
}) {
|
|
346
|
-
const Q = Re(), x = at(null), z = at(null),
|
|
347
|
-
() => Un(e, I &&
|
|
348
|
-
[
|
|
348
|
+
const Q = Re(), x = at(null), z = at(null), G = at(null), k = at(null), Z = at(null), [V, B] = dt(!1), [w, L] = dt(""), [M, U] = dt(0), [c, p] = dt(null), I = qn(e.length, m), u = e.find((E) => E.value === t), N = ot(
|
|
349
|
+
() => Un(e, I && V ? w : ""),
|
|
350
|
+
[V, e, w, I]
|
|
349
351
|
), O = mt(() => {
|
|
350
|
-
|
|
352
|
+
B(!1), L(""), U(0);
|
|
351
353
|
}, []), D = mt(
|
|
352
354
|
(E) => {
|
|
353
355
|
s(E), O();
|
|
354
356
|
},
|
|
355
357
|
[O, s]
|
|
356
358
|
), Y = mt(() => {
|
|
357
|
-
const E = z.current ??
|
|
359
|
+
const E = z.current ?? G.current;
|
|
358
360
|
if (!E) return;
|
|
359
|
-
const q = E.getBoundingClientRect(), $ = window.innerHeight - q.bottom - 8, K = q.top - 8, l = Math.min(280, Math.max($, K, 120)),
|
|
361
|
+
const q = E.getBoundingClientRect(), $ = window.innerHeight - q.bottom - 8, K = q.top - 8, l = Math.min(280, Math.max($, K, 120)), H = $ < 160 && K > $;
|
|
360
362
|
p({
|
|
361
|
-
top:
|
|
363
|
+
top: H ? Math.max(8, q.top - l - 4) : q.bottom + 4,
|
|
362
364
|
left: q.left,
|
|
363
365
|
width: Math.max(q.width, 160),
|
|
364
366
|
maxHeight: l
|
|
365
367
|
});
|
|
366
368
|
}, []);
|
|
367
369
|
lt(() => {
|
|
368
|
-
if (!
|
|
370
|
+
if (!V) {
|
|
369
371
|
p(null);
|
|
370
372
|
return;
|
|
371
373
|
}
|
|
372
374
|
Y();
|
|
373
375
|
const E = (K) => {
|
|
374
|
-
var
|
|
376
|
+
var H, _;
|
|
375
377
|
const l = K.target;
|
|
376
|
-
(
|
|
378
|
+
(H = x.current) != null && H.contains(l) || (_ = k.current) != null && _.contains(l) || O();
|
|
377
379
|
}, q = (K) => {
|
|
378
380
|
var l;
|
|
379
|
-
K.key === "Escape" && (O(), (l = I ?
|
|
381
|
+
K.key === "Escape" && (O(), (l = I ? Z.current : G.current) == null || l.blur());
|
|
380
382
|
}, $ = () => Y();
|
|
381
383
|
return document.addEventListener("mousedown", E), document.addEventListener("keydown", q), window.addEventListener("resize", $), window.addEventListener("scroll", $, !0), () => {
|
|
382
384
|
document.removeEventListener("mousedown", E), document.removeEventListener("keydown", q), window.removeEventListener("resize", $), window.removeEventListener("scroll", $, !0);
|
|
383
385
|
};
|
|
384
|
-
}, [O,
|
|
385
|
-
!
|
|
386
|
+
}, [O, V, Y, I]), lt(() => {
|
|
387
|
+
!V || !I || requestAnimationFrame(() => {
|
|
386
388
|
var E;
|
|
387
|
-
return (E =
|
|
389
|
+
return (E = Z.current) == null ? void 0 : E.focus();
|
|
388
390
|
});
|
|
389
|
-
}, [
|
|
391
|
+
}, [V, I]), lt(() => {
|
|
390
392
|
U(0);
|
|
391
393
|
}, [w, N.length]);
|
|
392
394
|
const tt = (E) => {
|
|
393
395
|
N.length !== 0 && U((q) => (q + E + N.length) % N.length);
|
|
394
|
-
},
|
|
396
|
+
}, F = (E) => {
|
|
395
397
|
if (E.key === "ArrowDown") {
|
|
396
|
-
E.preventDefault(),
|
|
398
|
+
E.preventDefault(), V ? tt(1) : B(!0);
|
|
397
399
|
return;
|
|
398
400
|
}
|
|
399
401
|
if (E.key === "ArrowUp") {
|
|
400
|
-
E.preventDefault(),
|
|
402
|
+
E.preventDefault(), V ? tt(-1) : B(!0);
|
|
401
403
|
return;
|
|
402
404
|
}
|
|
403
405
|
if (E.key === "Enter") {
|
|
404
406
|
E.preventDefault();
|
|
405
407
|
const q = N[M];
|
|
406
|
-
|
|
408
|
+
V && q ? D(q.value) : B(!0);
|
|
407
409
|
}
|
|
408
|
-
}, J =
|
|
410
|
+
}, J = V && c && !a ? En(
|
|
409
411
|
/* @__PURE__ */ T(
|
|
410
412
|
"div",
|
|
411
413
|
{
|
|
@@ -469,37 +471,37 @@ function le({
|
|
|
469
471
|
"div",
|
|
470
472
|
{
|
|
471
473
|
ref: z,
|
|
472
|
-
className:
|
|
474
|
+
className: V ? "eyeon-map-select__trigger is-open" : "eyeon-map-select__trigger",
|
|
473
475
|
onMouseDown: (E) => {
|
|
474
476
|
var $;
|
|
475
477
|
if (a) return;
|
|
476
478
|
const q = E.target;
|
|
477
|
-
q.closest(".eyeon-map-select__chevron-btn") || (q !==
|
|
479
|
+
q.closest(".eyeon-map-select__chevron-btn") || (q !== Z.current && (E.preventDefault(), ($ = Z.current) == null || $.focus()), V || B(!0));
|
|
478
480
|
},
|
|
479
481
|
children: [
|
|
480
482
|
/* @__PURE__ */ T(
|
|
481
483
|
"input",
|
|
482
484
|
{
|
|
483
|
-
ref:
|
|
485
|
+
ref: Z,
|
|
484
486
|
className: "eyeon-map-select__input",
|
|
485
487
|
type: "text",
|
|
486
488
|
role: "combobox",
|
|
487
489
|
"aria-label": b,
|
|
488
|
-
"aria-expanded":
|
|
490
|
+
"aria-expanded": V,
|
|
489
491
|
"aria-haspopup": "listbox",
|
|
490
492
|
"aria-controls": Q,
|
|
491
493
|
"aria-autocomplete": "list",
|
|
492
|
-
"aria-activedescendant":
|
|
494
|
+
"aria-activedescendant": V && N[M] ? `${Q}-${N[M].value}` : void 0,
|
|
493
495
|
disabled: a,
|
|
494
496
|
placeholder: d,
|
|
495
|
-
value:
|
|
497
|
+
value: V ? w : (u == null ? void 0 : u.label) ?? "",
|
|
496
498
|
onChange: (E) => {
|
|
497
|
-
L(E.target.value),
|
|
499
|
+
L(E.target.value), V || B(!0);
|
|
498
500
|
},
|
|
499
501
|
onFocus: () => {
|
|
500
|
-
a ||
|
|
502
|
+
a || B(!0);
|
|
501
503
|
},
|
|
502
|
-
onKeyDown:
|
|
504
|
+
onKeyDown: F
|
|
503
505
|
}
|
|
504
506
|
),
|
|
505
507
|
/* @__PURE__ */ T(
|
|
@@ -512,7 +514,7 @@ function le({
|
|
|
512
514
|
disabled: a,
|
|
513
515
|
onMouseDown: (E) => E.preventDefault(),
|
|
514
516
|
onClick: () => {
|
|
515
|
-
a ||
|
|
517
|
+
a || B((E) => !E);
|
|
516
518
|
},
|
|
517
519
|
children: /* @__PURE__ */ T(ae, {})
|
|
518
520
|
}
|
|
@@ -522,15 +524,15 @@ function le({
|
|
|
522
524
|
) : /* @__PURE__ */ ct(
|
|
523
525
|
"button",
|
|
524
526
|
{
|
|
525
|
-
ref:
|
|
527
|
+
ref: G,
|
|
526
528
|
type: "button",
|
|
527
529
|
className: "eyeon-map-select__trigger",
|
|
528
530
|
"aria-label": b,
|
|
529
|
-
"aria-expanded":
|
|
531
|
+
"aria-expanded": V,
|
|
530
532
|
"aria-haspopup": "listbox",
|
|
531
533
|
disabled: a,
|
|
532
534
|
onClick: () => {
|
|
533
|
-
a ||
|
|
535
|
+
a || B((E) => !E);
|
|
534
536
|
},
|
|
535
537
|
children: [
|
|
536
538
|
/* @__PURE__ */ ct(
|
|
@@ -605,8 +607,8 @@ function Qn({ polygon: t }) {
|
|
|
605
607
|
color: Xe,
|
|
606
608
|
dashSize: a,
|
|
607
609
|
gapSize: a * 0.65
|
|
608
|
-
}),
|
|
609
|
-
return
|
|
610
|
+
}), G = new rt.Line(x, z);
|
|
611
|
+
return G.renderOrder = 8, G.computeLineDistances(), G.raycast = ue, G;
|
|
610
612
|
}, [a, t]);
|
|
611
613
|
lt(
|
|
612
614
|
() => () => {
|
|
@@ -782,15 +784,15 @@ function ur({
|
|
|
782
784
|
imageProxyUrl: x = null,
|
|
783
785
|
amenities: z = []
|
|
784
786
|
}) {
|
|
785
|
-
const [
|
|
787
|
+
const [G, k] = dt(null), Z = er(
|
|
786
788
|
m,
|
|
787
|
-
|
|
789
|
+
G
|
|
788
790
|
);
|
|
789
791
|
lt(
|
|
790
792
|
() => () => Wt(b == null ? void 0 : b.current, ""),
|
|
791
793
|
[b]
|
|
792
794
|
);
|
|
793
|
-
const
|
|
795
|
+
const V = ot(() => Ye(t), [t]), B = ot(() => t.shapes.filter((c) => c.kind !== "void").filter((c) => {
|
|
794
796
|
var p, I;
|
|
795
797
|
return !(c.kind === "label" && ((I = (p = c.label) == null ? void 0 : p.text) != null && I.trim()));
|
|
796
798
|
}).filter((c) => !zt(c)).filter(
|
|
@@ -799,10 +801,10 @@ function ur({
|
|
|
799
801
|
return !Q || Ke.includes(c.kind) || c.kind === "label" && !!((I = (p = c.label) == null ? void 0 : p.text) != null && I.trim()) || c.kind === "walkable" && !Me(c.sourceSvgId);
|
|
800
802
|
}
|
|
801
803
|
).filter((c) => !c.orphanedAt).map((c) => {
|
|
802
|
-
const p = c.kind === "unit" ? e.STORE_RADIUS : 0, I = je(c.kind) &&
|
|
804
|
+
const p = c.kind === "unit" ? e.STORE_RADIUS : 0, I = je(c.kind) && V.length > 0, N = c.geometry.polygons.map(
|
|
803
805
|
(Y) => p > 0 ? Qe(Y, p) : Y
|
|
804
806
|
).map(
|
|
805
|
-
(Y) => I ? Kn(Y,
|
|
807
|
+
(Y) => I ? Kn(Y, V) : ar(Y)
|
|
806
808
|
).filter((Y) => Y != null);
|
|
807
809
|
if (N.length === 0) return null;
|
|
808
810
|
const O = ir(
|
|
@@ -812,7 +814,7 @@ function ur({
|
|
|
812
814
|
c.assignment
|
|
813
815
|
), D = s && (c.kind === "unit" || c.kind === "wall") ? c.style.extrudeHeight ?? (c.kind === "unit" ? e.STORE_HEIGHT : 2) : 0;
|
|
814
816
|
return { shape: c, threeShapes: N, color: O, extrude: D };
|
|
815
|
-
}).filter(Boolean), [t, e, s, Q,
|
|
817
|
+
}).filter(Boolean), [t, e, s, Q, V]), w = ot(
|
|
816
818
|
() => t.shapes.filter(
|
|
817
819
|
(c) => {
|
|
818
820
|
var p, I;
|
|
@@ -892,15 +894,15 @@ function ur({
|
|
|
892
894
|
}),
|
|
893
895
|
M.map((c) => {
|
|
894
896
|
var q, $, K;
|
|
895
|
-
const p = Ot(c.geometry), I = (p.minX + p.maxX) / 2 + (c.label.offsetX ?? 0), u = (p.minY + p.maxY) / 2 + (c.label.offsetY ?? 0), N = (c.label.rotate ?? 0) * Math.PI / 180, O = c.label.size || ((q = c.assignment) == null ? void 0 : q.size) || en, D = s && (c.kind === "unit" || c.kind === "wall") ? c.style.extrudeHeight ?? (c.kind === "unit" ? e.STORE_HEIGHT : 2) : 0, Y = D > 0 ? D + 0.15 : 0.2, tt = c.label.color ?? (($ = c.assignment) == null ? void 0 : $.textColor) ?? e.STORE_TEXT_COLOR,
|
|
897
|
+
const p = Ot(c.geometry), I = (p.minX + p.maxX) / 2 + (c.label.offsetX ?? 0), u = (p.minY + p.maxY) / 2 + (c.label.offsetY ?? 0), N = (c.label.rotate ?? 0) * Math.PI / 180, O = c.label.size || ((q = c.assignment) == null ? void 0 : q.size) || en, D = s && (c.kind === "unit" || c.kind === "wall") ? c.style.extrudeHeight ?? (c.kind === "unit" ? e.STORE_HEIGHT : 2) : 0, Y = D > 0 ? D + 0.15 : 0.2, tt = c.label.color ?? (($ = c.assignment) == null ? void 0 : $.textColor) ?? e.STORE_TEXT_COLOR, F = nn(c.assignment, null, c.label) ?? Gn(
|
|
896
898
|
c.assignment,
|
|
897
899
|
z,
|
|
898
900
|
tt
|
|
899
901
|
), J = (K = c.label.text) == null ? void 0 : K.trim(), E = ee(c.label.align);
|
|
900
|
-
return
|
|
902
|
+
return F ? /* @__PURE__ */ T(
|
|
901
903
|
Dt,
|
|
902
904
|
{
|
|
903
|
-
url:
|
|
905
|
+
url: F,
|
|
904
906
|
width: rn(O, c.assignment),
|
|
905
907
|
position: [I, u, Y],
|
|
906
908
|
rotation: N,
|
|
@@ -936,13 +938,13 @@ function ur({
|
|
|
936
938
|
},
|
|
937
939
|
`connector-icon-${c.id}`
|
|
938
940
|
)),
|
|
939
|
-
/* @__PURE__ */ T(_n, { polygons:
|
|
940
|
-
|
|
941
|
-
const N = Jt(c.kind), O = N && tr(c.id,
|
|
941
|
+
/* @__PURE__ */ T(_n, { polygons: V }),
|
|
942
|
+
B.map(({ shape: c, threeShapes: p, color: I, extrude: u }) => {
|
|
943
|
+
const N = Jt(c.kind), O = N && tr(c.id, Z, d), D = c.style.opacity ?? (c.kind === "amenity" ? 0.01 : 1), Y = Mt(I), tt = Y ? O ? 0.2 : 0 : rr(
|
|
942
944
|
c.kind,
|
|
943
945
|
D,
|
|
944
946
|
O
|
|
945
|
-
),
|
|
947
|
+
), F = Y ? O ? e.ACCENT_COLOR : "#000000" : cr(I, e.ACCENT_COLOR, O);
|
|
946
948
|
return /* @__PURE__ */ T("group", { children: p.map((J, E) => /* @__PURE__ */ ct(
|
|
947
949
|
"mesh",
|
|
948
950
|
{
|
|
@@ -983,7 +985,7 @@ function ur({
|
|
|
983
985
|
/* @__PURE__ */ T(
|
|
984
986
|
"meshBasicMaterial",
|
|
985
987
|
{
|
|
986
|
-
color:
|
|
988
|
+
color: F,
|
|
987
989
|
transparent: c.style.transparent || c.kind === "amenity" || tt < 1,
|
|
988
990
|
opacity: tt,
|
|
989
991
|
side: rt.DoubleSide
|
|
@@ -1026,12 +1028,12 @@ function fr(t, e) {
|
|
|
1026
1028
|
}
|
|
1027
1029
|
const z = document.createElement("canvas");
|
|
1028
1030
|
z.width = Q, z.height = x;
|
|
1029
|
-
const
|
|
1030
|
-
if (!
|
|
1031
|
+
const G = z.getContext("2d");
|
|
1032
|
+
if (!G) {
|
|
1031
1033
|
a(new Error("canvas"));
|
|
1032
1034
|
return;
|
|
1033
1035
|
}
|
|
1034
|
-
|
|
1036
|
+
G.drawImage(d, 0, 0);
|
|
1035
1037
|
const k = new rt.CanvasTexture(z);
|
|
1036
1038
|
k.colorSpace = rt.SRGBColorSpace, k.needsUpdate = !0, s({ texture: k, aspect: x / Q });
|
|
1037
1039
|
}, d.onerror = () => {
|
|
@@ -1048,20 +1050,20 @@ function Dt({
|
|
|
1048
1050
|
}) {
|
|
1049
1051
|
const [m, b] = dt(null), [Q, x] = dt(1);
|
|
1050
1052
|
return lt(() => {
|
|
1051
|
-
let z = !1,
|
|
1053
|
+
let z = !1, G = null;
|
|
1052
1054
|
const k = new AbortController();
|
|
1053
1055
|
b(null);
|
|
1054
|
-
const
|
|
1056
|
+
const Z = be(t, d), V = Z === t ? [t] : [Z, t];
|
|
1055
1057
|
return (async () => {
|
|
1056
1058
|
let w;
|
|
1057
|
-
for (const L of
|
|
1059
|
+
for (const L of V)
|
|
1058
1060
|
try {
|
|
1059
1061
|
const M = await fr(L, k.signal);
|
|
1060
1062
|
if (z) {
|
|
1061
1063
|
M.texture.dispose();
|
|
1062
1064
|
return;
|
|
1063
1065
|
}
|
|
1064
|
-
|
|
1066
|
+
G = M.texture, x(M.aspect), b(M.texture);
|
|
1065
1067
|
return;
|
|
1066
1068
|
} catch (M) {
|
|
1067
1069
|
if (k.signal.aborted) return;
|
|
@@ -1069,7 +1071,7 @@ function Dt({
|
|
|
1069
1071
|
}
|
|
1070
1072
|
z || (b(null), w && console.warn("Retail logo failed to load", t, w));
|
|
1071
1073
|
})(), () => {
|
|
1072
|
-
z = !0, k.abort(),
|
|
1074
|
+
z = !0, k.abort(), G == null || G.dispose();
|
|
1073
1075
|
};
|
|
1074
1076
|
}, [t, d]), !m || e <= 0 ? null : /* @__PURE__ */ ct(
|
|
1075
1077
|
"mesh",
|
|
@@ -1154,45 +1156,45 @@ class kt extends bn {
|
|
|
1154
1156
|
let n = !1, C = null;
|
|
1155
1157
|
switch (h.nodeName) {
|
|
1156
1158
|
case "svg":
|
|
1157
|
-
i =
|
|
1159
|
+
i = B(h, i);
|
|
1158
1160
|
break;
|
|
1159
1161
|
case "style":
|
|
1160
1162
|
m(h);
|
|
1161
1163
|
break;
|
|
1162
1164
|
case "g":
|
|
1163
|
-
i =
|
|
1165
|
+
i = B(h, i);
|
|
1164
1166
|
break;
|
|
1165
1167
|
case "path":
|
|
1166
|
-
i =
|
|
1168
|
+
i = B(h, i), h.hasAttribute("d") && (C = d(h));
|
|
1167
1169
|
break;
|
|
1168
1170
|
case "rect":
|
|
1169
|
-
i =
|
|
1171
|
+
i = B(h, i), C = x(h);
|
|
1170
1172
|
break;
|
|
1171
1173
|
case "polygon":
|
|
1172
|
-
i =
|
|
1174
|
+
i = B(h, i), C = z(h);
|
|
1173
1175
|
break;
|
|
1174
1176
|
case "polyline":
|
|
1175
|
-
i =
|
|
1177
|
+
i = B(h, i), C = G(h);
|
|
1176
1178
|
break;
|
|
1177
1179
|
case "circle":
|
|
1178
|
-
i =
|
|
1180
|
+
i = B(h, i), C = k(h);
|
|
1179
1181
|
break;
|
|
1180
1182
|
case "ellipse":
|
|
1181
|
-
i =
|
|
1183
|
+
i = B(h, i), C = Z(h);
|
|
1182
1184
|
break;
|
|
1183
1185
|
case "line":
|
|
1184
|
-
i =
|
|
1186
|
+
i = B(h, i), C = V(h);
|
|
1185
1187
|
break;
|
|
1186
1188
|
case "defs":
|
|
1187
1189
|
n = !0;
|
|
1188
1190
|
break;
|
|
1189
1191
|
case "use":
|
|
1190
|
-
i =
|
|
1191
|
-
const P = (h.getAttributeNS("http://www.w3.org/1999/xlink", "href") || "").substring(1),
|
|
1192
|
-
|
|
1192
|
+
i = B(h, i);
|
|
1193
|
+
const P = (h.getAttributeNS("http://www.w3.org/1999/xlink", "href") || "").substring(1), X = h.viewportElement.getElementById(P);
|
|
1194
|
+
X ? a(X, i) : console.warn("SVGLoader: 'use node' references non-existent node id: " + P);
|
|
1193
1195
|
break;
|
|
1194
1196
|
}
|
|
1195
|
-
C && (i.fill !== void 0 && i.fill !== "none" && C.color.setStyle(i.fill, hr), u(C, et),
|
|
1197
|
+
C && (i.fill !== void 0 && i.fill !== "none" && C.color.setStyle(i.fill, hr), u(C, et), F.push(C), C.userData = { node: h, style: i });
|
|
1196
1198
|
const R = h.childNodes;
|
|
1197
1199
|
for (let g = 0; g < R.length; g++) {
|
|
1198
1200
|
const P = R[g];
|
|
@@ -1205,34 +1207,34 @@ class kt extends bn {
|
|
|
1205
1207
|
let R = !0, g = !1;
|
|
1206
1208
|
const P = h.getAttribute("d");
|
|
1207
1209
|
if (P === "" || P === "none") return null;
|
|
1208
|
-
const
|
|
1209
|
-
for (let A = 0, y =
|
|
1210
|
-
const v =
|
|
1210
|
+
const X = P.match(/[a-df-z][^a-df-z]*/ig);
|
|
1211
|
+
for (let A = 0, y = X.length; A < y; A++) {
|
|
1212
|
+
const v = X[A], S = v.charAt(0), W = v.slice(1).trim();
|
|
1211
1213
|
R === !0 && (g = !0, R = !1);
|
|
1212
1214
|
let f;
|
|
1213
1215
|
switch (S) {
|
|
1214
1216
|
case "M":
|
|
1215
|
-
f = L(
|
|
1217
|
+
f = L(W);
|
|
1216
1218
|
for (let o = 0, j = f.length; o < j; o += 2)
|
|
1217
1219
|
r.x = f[o + 0], r.y = f[o + 1], n.x = r.x, n.y = r.y, o === 0 ? i.moveTo(r.x, r.y) : i.lineTo(r.x, r.y), o === 0 && C.copy(r);
|
|
1218
1220
|
break;
|
|
1219
1221
|
case "H":
|
|
1220
|
-
f = L(
|
|
1222
|
+
f = L(W);
|
|
1221
1223
|
for (let o = 0, j = f.length; o < j; o++)
|
|
1222
1224
|
r.x = f[o], n.x = r.x, n.y = r.y, i.lineTo(r.x, r.y), o === 0 && g === !0 && C.copy(r);
|
|
1223
1225
|
break;
|
|
1224
1226
|
case "V":
|
|
1225
|
-
f = L(
|
|
1227
|
+
f = L(W);
|
|
1226
1228
|
for (let o = 0, j = f.length; o < j; o++)
|
|
1227
1229
|
r.y = f[o], n.x = r.x, n.y = r.y, i.lineTo(r.x, r.y), o === 0 && g === !0 && C.copy(r);
|
|
1228
1230
|
break;
|
|
1229
1231
|
case "L":
|
|
1230
|
-
f = L(
|
|
1232
|
+
f = L(W);
|
|
1231
1233
|
for (let o = 0, j = f.length; o < j; o += 2)
|
|
1232
1234
|
r.x = f[o + 0], r.y = f[o + 1], n.x = r.x, n.y = r.y, i.lineTo(r.x, r.y), o === 0 && g === !0 && C.copy(r);
|
|
1233
1235
|
break;
|
|
1234
1236
|
case "C":
|
|
1235
|
-
f = L(
|
|
1237
|
+
f = L(W);
|
|
1236
1238
|
for (let o = 0, j = f.length; o < j; o += 6)
|
|
1237
1239
|
i.bezierCurveTo(
|
|
1238
1240
|
f[o + 0],
|
|
@@ -1244,7 +1246,7 @@ class kt extends bn {
|
|
|
1244
1246
|
), n.x = f[o + 2], n.y = f[o + 3], r.x = f[o + 4], r.y = f[o + 5], o === 0 && g === !0 && C.copy(r);
|
|
1245
1247
|
break;
|
|
1246
1248
|
case "S":
|
|
1247
|
-
f = L(
|
|
1249
|
+
f = L(W);
|
|
1248
1250
|
for (let o = 0, j = f.length; o < j; o += 4)
|
|
1249
1251
|
i.bezierCurveTo(
|
|
1250
1252
|
w(r.x, n.x),
|
|
@@ -1256,7 +1258,7 @@ class kt extends bn {
|
|
|
1256
1258
|
), n.x = f[o + 0], n.y = f[o + 1], r.x = f[o + 2], r.y = f[o + 3], o === 0 && g === !0 && C.copy(r);
|
|
1257
1259
|
break;
|
|
1258
1260
|
case "Q":
|
|
1259
|
-
f = L(
|
|
1261
|
+
f = L(W);
|
|
1260
1262
|
for (let o = 0, j = f.length; o < j; o += 4)
|
|
1261
1263
|
i.quadraticCurveTo(
|
|
1262
1264
|
f[o + 0],
|
|
@@ -1266,7 +1268,7 @@ class kt extends bn {
|
|
|
1266
1268
|
), n.x = f[o + 0], n.y = f[o + 1], r.x = f[o + 2], r.y = f[o + 3], o === 0 && g === !0 && C.copy(r);
|
|
1267
1269
|
break;
|
|
1268
1270
|
case "T":
|
|
1269
|
-
f = L(
|
|
1271
|
+
f = L(W);
|
|
1270
1272
|
for (let o = 0, j = f.length; o < j; o += 2) {
|
|
1271
1273
|
const nt = w(r.x, n.x), pt = w(r.y, n.y);
|
|
1272
1274
|
i.quadraticCurveTo(
|
|
@@ -1278,7 +1280,7 @@ class kt extends bn {
|
|
|
1278
1280
|
}
|
|
1279
1281
|
break;
|
|
1280
1282
|
case "A":
|
|
1281
|
-
f = L(
|
|
1283
|
+
f = L(W, [3, 4], 7);
|
|
1282
1284
|
for (let o = 0, j = f.length; o < j; o += 7) {
|
|
1283
1285
|
if (f[o + 5] == r.x && f[o + 6] == r.y) continue;
|
|
1284
1286
|
const nt = r.clone();
|
|
@@ -1295,27 +1297,27 @@ class kt extends bn {
|
|
|
1295
1297
|
}
|
|
1296
1298
|
break;
|
|
1297
1299
|
case "m":
|
|
1298
|
-
f = L(
|
|
1300
|
+
f = L(W);
|
|
1299
1301
|
for (let o = 0, j = f.length; o < j; o += 2)
|
|
1300
1302
|
r.x += f[o + 0], r.y += f[o + 1], n.x = r.x, n.y = r.y, o === 0 ? i.moveTo(r.x, r.y) : i.lineTo(r.x, r.y), o === 0 && C.copy(r);
|
|
1301
1303
|
break;
|
|
1302
1304
|
case "h":
|
|
1303
|
-
f = L(
|
|
1305
|
+
f = L(W);
|
|
1304
1306
|
for (let o = 0, j = f.length; o < j; o++)
|
|
1305
1307
|
r.x += f[o], n.x = r.x, n.y = r.y, i.lineTo(r.x, r.y), o === 0 && g === !0 && C.copy(r);
|
|
1306
1308
|
break;
|
|
1307
1309
|
case "v":
|
|
1308
|
-
f = L(
|
|
1310
|
+
f = L(W);
|
|
1309
1311
|
for (let o = 0, j = f.length; o < j; o++)
|
|
1310
1312
|
r.y += f[o], n.x = r.x, n.y = r.y, i.lineTo(r.x, r.y), o === 0 && g === !0 && C.copy(r);
|
|
1311
1313
|
break;
|
|
1312
1314
|
case "l":
|
|
1313
|
-
f = L(
|
|
1315
|
+
f = L(W);
|
|
1314
1316
|
for (let o = 0, j = f.length; o < j; o += 2)
|
|
1315
1317
|
r.x += f[o + 0], r.y += f[o + 1], n.x = r.x, n.y = r.y, i.lineTo(r.x, r.y), o === 0 && g === !0 && C.copy(r);
|
|
1316
1318
|
break;
|
|
1317
1319
|
case "c":
|
|
1318
|
-
f = L(
|
|
1320
|
+
f = L(W);
|
|
1319
1321
|
for (let o = 0, j = f.length; o < j; o += 6)
|
|
1320
1322
|
i.bezierCurveTo(
|
|
1321
1323
|
r.x + f[o + 0],
|
|
@@ -1327,7 +1329,7 @@ class kt extends bn {
|
|
|
1327
1329
|
), n.x = r.x + f[o + 2], n.y = r.y + f[o + 3], r.x += f[o + 4], r.y += f[o + 5], o === 0 && g === !0 && C.copy(r);
|
|
1328
1330
|
break;
|
|
1329
1331
|
case "s":
|
|
1330
|
-
f = L(
|
|
1332
|
+
f = L(W);
|
|
1331
1333
|
for (let o = 0, j = f.length; o < j; o += 4)
|
|
1332
1334
|
i.bezierCurveTo(
|
|
1333
1335
|
w(r.x, n.x),
|
|
@@ -1339,7 +1341,7 @@ class kt extends bn {
|
|
|
1339
1341
|
), n.x = r.x + f[o + 0], n.y = r.y + f[o + 1], r.x += f[o + 2], r.y += f[o + 3], o === 0 && g === !0 && C.copy(r);
|
|
1340
1342
|
break;
|
|
1341
1343
|
case "q":
|
|
1342
|
-
f = L(
|
|
1344
|
+
f = L(W);
|
|
1343
1345
|
for (let o = 0, j = f.length; o < j; o += 4)
|
|
1344
1346
|
i.quadraticCurveTo(
|
|
1345
1347
|
r.x + f[o + 0],
|
|
@@ -1349,7 +1351,7 @@ class kt extends bn {
|
|
|
1349
1351
|
), n.x = r.x + f[o + 0], n.y = r.y + f[o + 1], r.x += f[o + 2], r.y += f[o + 3], o === 0 && g === !0 && C.copy(r);
|
|
1350
1352
|
break;
|
|
1351
1353
|
case "t":
|
|
1352
|
-
f = L(
|
|
1354
|
+
f = L(W);
|
|
1353
1355
|
for (let o = 0, j = f.length; o < j; o += 2) {
|
|
1354
1356
|
const nt = w(r.x, n.x), pt = w(r.y, n.y);
|
|
1355
1357
|
i.quadraticCurveTo(
|
|
@@ -1361,7 +1363,7 @@ class kt extends bn {
|
|
|
1361
1363
|
}
|
|
1362
1364
|
break;
|
|
1363
1365
|
case "a":
|
|
1364
|
-
f = L(
|
|
1366
|
+
f = L(W, [3, 4], 7);
|
|
1365
1367
|
for (let o = 0, j = f.length; o < j; o += 7) {
|
|
1366
1368
|
if (f[o + 5] == 0 && f[o + 6] == 0) continue;
|
|
1367
1369
|
const nt = r.clone();
|
|
@@ -1411,14 +1413,14 @@ class kt extends bn {
|
|
|
1411
1413
|
return;
|
|
1412
1414
|
}
|
|
1413
1415
|
n = n * Math.PI / 180, i = Math.abs(i), r = Math.abs(r);
|
|
1414
|
-
const
|
|
1415
|
-
let S = i * i,
|
|
1416
|
-
const f = y * y, o = v * v, j = f / S + o /
|
|
1416
|
+
const X = (g.x - P.x) / 2, A = (g.y - P.y) / 2, y = Math.cos(n) * X + Math.sin(n) * A, v = -Math.sin(n) * X + Math.cos(n) * A;
|
|
1417
|
+
let S = i * i, W = r * r;
|
|
1418
|
+
const f = y * y, o = v * v, j = f / S + o / W;
|
|
1417
1419
|
if (j > 1) {
|
|
1418
1420
|
const wt = Math.sqrt(j);
|
|
1419
|
-
i = wt * i, r = wt * r, S = i * i,
|
|
1421
|
+
i = wt * i, r = wt * r, S = i * i, W = r * r;
|
|
1420
1422
|
}
|
|
1421
|
-
const nt = S * o +
|
|
1423
|
+
const nt = S * o + W * f, pt = (S * W - nt) / nt;
|
|
1422
1424
|
let yt = Math.sqrt(Math.max(0, pt));
|
|
1423
1425
|
C === R && (yt = -yt);
|
|
1424
1426
|
const ft = yt * i * v / r, gt = -yt * r * y / i, bt = Math.cos(n) * ft - Math.sin(n) * gt + (g.x + P.x) / 2, _t = Math.sin(n) * ft + Math.cos(n) * gt + (g.y + P.y) / 2, Ct = Q(1, 0, (y - ft) / i, (v - gt) / r), St = Q((y - ft) / i, (v - gt) / r, (-y - ft) / i, (-v - gt) / r) % (Math.PI * 2);
|
|
@@ -1430,43 +1432,43 @@ class kt extends bn {
|
|
|
1430
1432
|
return h * n - i * r < 0 && (g = -g), g;
|
|
1431
1433
|
}
|
|
1432
1434
|
function x(h) {
|
|
1433
|
-
const i = c(h.getAttribute("x") || 0), r = c(h.getAttribute("y") || 0), n = c(h.getAttribute("rx") || h.getAttribute("ry") || 0), C = c(h.getAttribute("ry") || h.getAttribute("rx") || 0), R = c(h.getAttribute("width")), g = c(h.getAttribute("height")), P = 1 - 0.551915024494,
|
|
1434
|
-
return
|
|
1435
|
+
const i = c(h.getAttribute("x") || 0), r = c(h.getAttribute("y") || 0), n = c(h.getAttribute("rx") || h.getAttribute("ry") || 0), C = c(h.getAttribute("ry") || h.getAttribute("rx") || 0), R = c(h.getAttribute("width")), g = c(h.getAttribute("height")), P = 1 - 0.551915024494, X = new xt();
|
|
1436
|
+
return X.moveTo(i + n, r), X.lineTo(i + R - n, r), (n !== 0 || C !== 0) && X.bezierCurveTo(
|
|
1435
1437
|
i + R - n * P,
|
|
1436
1438
|
r,
|
|
1437
1439
|
i + R,
|
|
1438
1440
|
r + C * P,
|
|
1439
1441
|
i + R,
|
|
1440
1442
|
r + C
|
|
1441
|
-
),
|
|
1443
|
+
), X.lineTo(i + R, r + g - C), (n !== 0 || C !== 0) && X.bezierCurveTo(
|
|
1442
1444
|
i + R,
|
|
1443
1445
|
r + g - C * P,
|
|
1444
1446
|
i + R - n * P,
|
|
1445
1447
|
r + g,
|
|
1446
1448
|
i + R - n,
|
|
1447
1449
|
r + g
|
|
1448
|
-
),
|
|
1450
|
+
), X.lineTo(i + n, r + g), (n !== 0 || C !== 0) && X.bezierCurveTo(
|
|
1449
1451
|
i + n * P,
|
|
1450
1452
|
r + g,
|
|
1451
1453
|
i,
|
|
1452
1454
|
r + g - C * P,
|
|
1453
1455
|
i,
|
|
1454
1456
|
r + g - C
|
|
1455
|
-
),
|
|
1457
|
+
), X.lineTo(i, r + C), (n !== 0 || C !== 0) && X.bezierCurveTo(i, r + C * P, i + n * P, r, i + n, r), X;
|
|
1456
1458
|
}
|
|
1457
1459
|
function z(h) {
|
|
1458
1460
|
function i(R, g, P) {
|
|
1459
|
-
const
|
|
1460
|
-
C === 0 ? n.moveTo(
|
|
1461
|
+
const X = c(g), A = c(P);
|
|
1462
|
+
C === 0 ? n.moveTo(X, A) : n.lineTo(X, A), C++;
|
|
1461
1463
|
}
|
|
1462
1464
|
const r = /([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g, n = new xt();
|
|
1463
1465
|
let C = 0;
|
|
1464
1466
|
return h.getAttribute("points").replace(r, i), n.currentPath.autoClose = !0, n;
|
|
1465
1467
|
}
|
|
1466
|
-
function
|
|
1468
|
+
function G(h) {
|
|
1467
1469
|
function i(R, g, P) {
|
|
1468
|
-
const
|
|
1469
|
-
C === 0 ? n.moveTo(
|
|
1470
|
+
const X = c(g), A = c(P);
|
|
1471
|
+
C === 0 ? n.moveTo(X, A) : n.lineTo(X, A), C++;
|
|
1470
1472
|
}
|
|
1471
1473
|
const r = /([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g, n = new xt();
|
|
1472
1474
|
let C = 0;
|
|
@@ -1478,17 +1480,17 @@ class kt extends bn {
|
|
|
1478
1480
|
const R = new xt();
|
|
1479
1481
|
return R.subPaths.push(C), R;
|
|
1480
1482
|
}
|
|
1481
|
-
function
|
|
1483
|
+
function Z(h) {
|
|
1482
1484
|
const i = c(h.getAttribute("cx") || 0), r = c(h.getAttribute("cy") || 0), n = c(h.getAttribute("rx") || 0), C = c(h.getAttribute("ry") || 0), R = new Gt();
|
|
1483
1485
|
R.absellipse(i, r, n, C, 0, Math.PI * 2);
|
|
1484
1486
|
const g = new xt();
|
|
1485
1487
|
return g.subPaths.push(R), g;
|
|
1486
1488
|
}
|
|
1487
|
-
function
|
|
1489
|
+
function V(h) {
|
|
1488
1490
|
const i = c(h.getAttribute("x1") || 0), r = c(h.getAttribute("y1") || 0), n = c(h.getAttribute("x2") || 0), C = c(h.getAttribute("y2") || 0), R = new xt();
|
|
1489
1491
|
return R.moveTo(i, r), R.lineTo(n, C), R.currentPath.autoClose = !1, R;
|
|
1490
1492
|
}
|
|
1491
|
-
function
|
|
1493
|
+
function B(h, i) {
|
|
1492
1494
|
i = Object.assign({}, i);
|
|
1493
1495
|
let r = {};
|
|
1494
1496
|
if (h.hasAttribute("class")) {
|
|
@@ -1497,10 +1499,10 @@ class kt extends bn {
|
|
|
1497
1499
|
r = Object.assign(r, J["." + g[P]]);
|
|
1498
1500
|
}
|
|
1499
1501
|
h.hasAttribute("id") && (r = Object.assign(r, J["#" + h.getAttribute("id")]));
|
|
1500
|
-
function n(g, P,
|
|
1501
|
-
|
|
1502
|
+
function n(g, P, X) {
|
|
1503
|
+
X === void 0 && (X = function(y) {
|
|
1502
1504
|
return y.startsWith("url") && console.warn("SVGLoader: url access in attributes is not implemented."), y;
|
|
1503
|
-
}), h.hasAttribute(g) && (i[P] =
|
|
1505
|
+
}), h.hasAttribute(g) && (i[P] = X(h.getAttribute(g))), r[g] && (i[P] = X(r[g])), h.style && h.style[g] !== "" && (i[P] = X(h.style[g]));
|
|
1504
1506
|
}
|
|
1505
1507
|
function C(g) {
|
|
1506
1508
|
return Math.max(0, Math.min(1, c(g)));
|
|
@@ -1525,9 +1527,9 @@ class kt extends bn {
|
|
|
1525
1527
|
EXP: /e/i,
|
|
1526
1528
|
FLAGS: /[01]/
|
|
1527
1529
|
}, C = 0, R = 1, g = 2, P = 3;
|
|
1528
|
-
let
|
|
1530
|
+
let X = C, A = !0, y = "", v = "";
|
|
1529
1531
|
const S = [];
|
|
1530
|
-
function
|
|
1532
|
+
function W(nt, pt, yt) {
|
|
1531
1533
|
const ft = new SyntaxError('Unexpected character "' + nt + '" at index ' + pt + ".");
|
|
1532
1534
|
throw ft.partial = yt, ft;
|
|
1533
1535
|
}
|
|
@@ -1538,49 +1540,49 @@ class kt extends bn {
|
|
|
1538
1540
|
const j = h.length;
|
|
1539
1541
|
for (let nt = 0; nt < j; nt++) {
|
|
1540
1542
|
if (o = h[nt], Array.isArray(i) && i.includes(S.length % r) && n.FLAGS.test(o)) {
|
|
1541
|
-
|
|
1543
|
+
X = R, y = o, f();
|
|
1542
1544
|
continue;
|
|
1543
1545
|
}
|
|
1544
|
-
if (
|
|
1546
|
+
if (X === C) {
|
|
1545
1547
|
if (n.WHITESPACE.test(o))
|
|
1546
1548
|
continue;
|
|
1547
1549
|
if (n.DIGIT.test(o) || n.SIGN.test(o)) {
|
|
1548
|
-
|
|
1550
|
+
X = R, y = o;
|
|
1549
1551
|
continue;
|
|
1550
1552
|
}
|
|
1551
1553
|
if (n.POINT.test(o)) {
|
|
1552
|
-
|
|
1554
|
+
X = g, y = o;
|
|
1553
1555
|
continue;
|
|
1554
1556
|
}
|
|
1555
|
-
n.COMMA.test(o) && (A &&
|
|
1557
|
+
n.COMMA.test(o) && (A && W(o, nt, S), A = !0);
|
|
1556
1558
|
}
|
|
1557
|
-
if (
|
|
1559
|
+
if (X === R) {
|
|
1558
1560
|
if (n.DIGIT.test(o)) {
|
|
1559
1561
|
y += o;
|
|
1560
1562
|
continue;
|
|
1561
1563
|
}
|
|
1562
1564
|
if (n.POINT.test(o)) {
|
|
1563
|
-
y += o,
|
|
1565
|
+
y += o, X = g;
|
|
1564
1566
|
continue;
|
|
1565
1567
|
}
|
|
1566
1568
|
if (n.EXP.test(o)) {
|
|
1567
|
-
|
|
1569
|
+
X = P;
|
|
1568
1570
|
continue;
|
|
1569
1571
|
}
|
|
1570
|
-
n.SIGN.test(o) && y.length === 1 && n.SIGN.test(y[0]) &&
|
|
1572
|
+
n.SIGN.test(o) && y.length === 1 && n.SIGN.test(y[0]) && W(o, nt, S);
|
|
1571
1573
|
}
|
|
1572
|
-
if (
|
|
1574
|
+
if (X === g) {
|
|
1573
1575
|
if (n.DIGIT.test(o)) {
|
|
1574
1576
|
y += o;
|
|
1575
1577
|
continue;
|
|
1576
1578
|
}
|
|
1577
1579
|
if (n.EXP.test(o)) {
|
|
1578
|
-
|
|
1580
|
+
X = P;
|
|
1579
1581
|
continue;
|
|
1580
1582
|
}
|
|
1581
|
-
n.POINT.test(o) && y[y.length - 1] === "." &&
|
|
1583
|
+
n.POINT.test(o) && y[y.length - 1] === "." && W(o, nt, S);
|
|
1582
1584
|
}
|
|
1583
|
-
if (
|
|
1585
|
+
if (X === P) {
|
|
1584
1586
|
if (n.DIGIT.test(o)) {
|
|
1585
1587
|
v += o;
|
|
1586
1588
|
continue;
|
|
@@ -1590,10 +1592,10 @@ class kt extends bn {
|
|
|
1590
1592
|
v += o;
|
|
1591
1593
|
continue;
|
|
1592
1594
|
}
|
|
1593
|
-
v.length === 1 && n.SIGN.test(v) &&
|
|
1595
|
+
v.length === 1 && n.SIGN.test(v) && W(o, nt, S);
|
|
1594
1596
|
}
|
|
1595
1597
|
}
|
|
1596
|
-
n.WHITESPACE.test(o) ? (f(),
|
|
1598
|
+
n.WHITESPACE.test(o) ? (f(), X = C, A = !1) : n.COMMA.test(o) ? (f(), X = C, A = !0) : n.SIGN.test(o) ? (f(), X = R, y = o) : n.POINT.test(o) ? (f(), X = g, y = o) : W(o, nt, S);
|
|
1597
1599
|
}
|
|
1598
1600
|
return f(), S;
|
|
1599
1601
|
}
|
|
@@ -1674,8 +1676,8 @@ class kt extends bn {
|
|
|
1674
1676
|
if (R === "") continue;
|
|
1675
1677
|
const g = R.indexOf("("), P = R.length;
|
|
1676
1678
|
if (g > 0 && g < P) {
|
|
1677
|
-
const
|
|
1678
|
-
switch (r.identity(),
|
|
1679
|
+
const X = R.slice(0, g), A = L(R.slice(g + 1));
|
|
1680
|
+
switch (r.identity(), X) {
|
|
1679
1681
|
case "translate":
|
|
1680
1682
|
if (A.length >= 1) {
|
|
1681
1683
|
const y = A[0];
|
|
@@ -1747,11 +1749,11 @@ class kt extends bn {
|
|
|
1747
1749
|
_.set(g.x, g.y, 1).applyMatrix3(i), g.set(_.x, _.y);
|
|
1748
1750
|
}
|
|
1749
1751
|
function n(g) {
|
|
1750
|
-
const P = g.xRadius,
|
|
1751
|
-
|
|
1752
|
+
const P = g.xRadius, X = g.yRadius, A = Math.cos(g.aRotation), y = Math.sin(g.aRotation), v = new Lt(P * A, P * y, 0), S = new Lt(-X * y, X * A, 0), W = v.applyMatrix3(i), f = S.applyMatrix3(i), o = q.set(
|
|
1753
|
+
W.x,
|
|
1752
1754
|
f.x,
|
|
1753
1755
|
0,
|
|
1754
|
-
|
|
1756
|
+
W.y,
|
|
1755
1757
|
f.y,
|
|
1756
1758
|
0,
|
|
1757
1759
|
0,
|
|
@@ -1787,8 +1789,8 @@ class kt extends bn {
|
|
|
1787
1789
|
}
|
|
1788
1790
|
}
|
|
1789
1791
|
function C(g) {
|
|
1790
|
-
const P = D(i),
|
|
1791
|
-
g.xRadius *= P, g.yRadius *=
|
|
1792
|
+
const P = D(i), X = Y(i);
|
|
1793
|
+
g.xRadius *= P, g.yRadius *= X;
|
|
1792
1794
|
const A = P > Number.EPSILON ? Math.atan2(i.elements[1], i.elements[0]) : Math.atan2(-i.elements[3], i.elements[4]);
|
|
1793
1795
|
g.aRotation += A, N(i) && (g.aStartAngle *= -1, g.aEndAngle *= -1, g.aClockwise = !g.aClockwise);
|
|
1794
1796
|
}
|
|
@@ -1797,7 +1799,7 @@ class kt extends bn {
|
|
|
1797
1799
|
const A = R[g].curves;
|
|
1798
1800
|
for (let y = 0; y < A.length; y++) {
|
|
1799
1801
|
const v = A[y];
|
|
1800
|
-
v.isLineCurve ? (r(v.v1), r(v.v2)) : v.isCubicBezierCurve ? (r(v.v0), r(v.v1), r(v.v2), r(v.v3)) : v.isQuadraticBezierCurve ? (r(v.v0), r(v.v1), r(v.v2)) : v.isEllipseCurve && (
|
|
1802
|
+
v.isLineCurve ? (r(v.v1), r(v.v2)) : v.isCubicBezierCurve ? (r(v.v0), r(v.v1), r(v.v2), r(v.v3)) : v.isQuadraticBezierCurve ? (r(v.v0), r(v.v1), r(v.v2)) : v.isEllipseCurve && (H.set(v.aX, v.aY), r(H), v.aX = H.x, v.aY = H.y, O(i) ? n(v) : C(v));
|
|
1801
1803
|
}
|
|
1802
1804
|
}
|
|
1803
1805
|
}
|
|
@@ -1821,10 +1823,10 @@ class kt extends bn {
|
|
|
1821
1823
|
}
|
|
1822
1824
|
function tt(h, i, r) {
|
|
1823
1825
|
let n, C, R, g, P;
|
|
1824
|
-
const
|
|
1825
|
-
return
|
|
1826
|
+
const X = h + r, A = h - r, y = Math.sqrt(A * A + 4 * i * i);
|
|
1827
|
+
return X > 0 ? (n = 0.5 * (X + y), P = 1 / n, C = h * P * r - i * P * i) : X < 0 ? C = 0.5 * (X - y) : (n = 0.5 * y, C = -0.5 * y), A > 0 ? R = A + y : R = A - y, Math.abs(R) > 2 * Math.abs(i) ? (P = -2 * i / R, g = 1 / Math.sqrt(1 + P * P), R = P * g) : Math.abs(i) === 0 ? (R = 1, g = 0) : (P = -0.5 * R / i, R = 1 / Math.sqrt(1 + P * P), g = P * R), A > 0 && (P = R, R = -g, g = P), { rt1: n, rt2: C, cs: R, sn: g };
|
|
1826
1828
|
}
|
|
1827
|
-
const
|
|
1829
|
+
const F = [], J = {}, E = [], q = new vt(), $ = new vt(), K = new vt(), l = new vt(), H = new it(), _ = new Lt(), et = new vt(), st = new DOMParser().parseFromString(e, "image/svg+xml");
|
|
1828
1830
|
return a(st.documentElement, {
|
|
1829
1831
|
fill: "#000",
|
|
1830
1832
|
fillOpacity: 1,
|
|
@@ -1833,7 +1835,7 @@ class kt extends bn {
|
|
|
1833
1835
|
strokeLineJoin: "miter",
|
|
1834
1836
|
strokeLineCap: "butt",
|
|
1835
1837
|
strokeMiterLimit: 4
|
|
1836
|
-
}), { paths:
|
|
1838
|
+
}), { paths: F, xml: st.documentElement };
|
|
1837
1839
|
}
|
|
1838
1840
|
/**
|
|
1839
1841
|
* Creates from the given shape path and array of shapes.
|
|
@@ -1855,7 +1857,7 @@ class kt extends bn {
|
|
|
1855
1857
|
t: 0
|
|
1856
1858
|
};
|
|
1857
1859
|
function m(w, L, M, U) {
|
|
1858
|
-
const c = w.x, p = L.x, I = M.x, u = U.x, N = w.y, O = L.y, D = M.y, Y = U.y, tt = (u - I) * (N - D) - (Y - D) * (c - I),
|
|
1860
|
+
const c = w.x, p = L.x, I = M.x, u = U.x, N = w.y, O = L.y, D = M.y, Y = U.y, tt = (u - I) * (N - D) - (Y - D) * (c - I), F = (p - c) * (N - D) - (O - N) * (c - I), J = (Y - D) * (p - c) - (u - I) * (O - N), E = tt / J, q = F / J;
|
|
1859
1861
|
if (J === 0 && tt !== 0 || E <= 0 || E >= 1 || q < 0 || q > 1)
|
|
1860
1862
|
return null;
|
|
1861
1863
|
if (tt === 0 && J === 0) {
|
|
@@ -1871,8 +1873,8 @@ class kt extends bn {
|
|
|
1871
1873
|
} else {
|
|
1872
1874
|
for (let l = 0; l < 2; l++)
|
|
1873
1875
|
if (b(l === 0 ? M : U, w, L), d.loc == a.ORIGIN) {
|
|
1874
|
-
const
|
|
1875
|
-
return { x:
|
|
1876
|
+
const H = l === 0 ? M : U;
|
|
1877
|
+
return { x: H.x, y: H.y, t: d.t };
|
|
1876
1878
|
}
|
|
1877
1879
|
const $ = +(c + E * (p - c)).toPrecision(10), K = +(N + E * (O - N)).toPrecision(10);
|
|
1878
1880
|
return { x: $, y: K, t: E };
|
|
@@ -1933,50 +1935,50 @@ class kt extends bn {
|
|
|
1933
1935
|
const p = new it();
|
|
1934
1936
|
w.boundingBox.getCenter(p);
|
|
1935
1937
|
const I = [new it(M, p.y), new it(U, p.y)], u = x(I, w.boundingBox, L);
|
|
1936
|
-
u.sort((
|
|
1938
|
+
u.sort((F, J) => F.point.x - J.point.x);
|
|
1937
1939
|
const N = [], O = [];
|
|
1938
|
-
u.forEach((
|
|
1939
|
-
|
|
1940
|
+
u.forEach((F) => {
|
|
1941
|
+
F.identifier === w.identifier ? N.push(F) : O.push(F);
|
|
1940
1942
|
});
|
|
1941
1943
|
const D = N[0].point.x, Y = [];
|
|
1942
1944
|
let tt = 0;
|
|
1943
1945
|
for (; tt < O.length && O[tt].point.x < D; )
|
|
1944
1946
|
Y.length > 0 && Y[Y.length - 1] === O[tt].identifier ? Y.pop() : Y.push(O[tt].identifier), tt++;
|
|
1945
1947
|
if (Y.push(w.identifier), c === "evenodd") {
|
|
1946
|
-
const
|
|
1947
|
-
return { identifier: w.identifier, isHole:
|
|
1948
|
+
const F = Y.length % 2 === 0, J = Y[Y.length - 2];
|
|
1949
|
+
return { identifier: w.identifier, isHole: F, for: J };
|
|
1948
1950
|
} else if (c === "nonzero") {
|
|
1949
|
-
let
|
|
1951
|
+
let F = !0, J = null, E = null;
|
|
1950
1952
|
for (let q = 0; q < Y.length; q++) {
|
|
1951
1953
|
const $ = Y[q];
|
|
1952
|
-
|
|
1954
|
+
F ? (E = L[$].isCW, F = !1, J = $) : E !== L[$].isCW && (E = L[$].isCW, F = !0);
|
|
1953
1955
|
}
|
|
1954
|
-
return { identifier: w.identifier, isHole:
|
|
1956
|
+
return { identifier: w.identifier, isHole: F, for: J };
|
|
1955
1957
|
} else
|
|
1956
1958
|
console.warn('fill-rule: "' + c + '" is currently not implemented.');
|
|
1957
1959
|
}
|
|
1958
|
-
let
|
|
1960
|
+
let G = 999999999, k = -999999999, Z = e.subPaths.map((w) => {
|
|
1959
1961
|
const L = w.getPoints();
|
|
1960
1962
|
let M = -999999999, U = 999999999, c = -999999999, p = 999999999;
|
|
1961
1963
|
for (let I = 0; I < L.length; I++) {
|
|
1962
1964
|
const u = L[I];
|
|
1963
1965
|
u.y > M && (M = u.y), u.y < U && (U = u.y), u.x > c && (c = u.x), u.x < p && (p = u.x);
|
|
1964
1966
|
}
|
|
1965
|
-
return k <= c && (k = c + 1),
|
|
1967
|
+
return k <= c && (k = c + 1), G >= p && (G = p - 1), { curves: w.curves, points: L, isCW: On.isClockWise(L), identifier: -1, boundingBox: new wn(new it(p, U), new it(c, M)) };
|
|
1966
1968
|
});
|
|
1967
|
-
|
|
1968
|
-
for (let w = 0; w <
|
|
1969
|
-
|
|
1970
|
-
const
|
|
1971
|
-
return
|
|
1972
|
-
if (!
|
|
1969
|
+
Z = Z.filter((w) => w.points.length > 1);
|
|
1970
|
+
for (let w = 0; w < Z.length; w++)
|
|
1971
|
+
Z[w].identifier = w;
|
|
1972
|
+
const V = Z.map((w) => z(w, Z, G, k, e.userData ? e.userData.style.fillRule : void 0)), B = [];
|
|
1973
|
+
return Z.forEach((w) => {
|
|
1974
|
+
if (!V[w.identifier].isHole) {
|
|
1973
1975
|
const M = new In();
|
|
1974
|
-
M.curves = w.curves,
|
|
1975
|
-
const p =
|
|
1976
|
+
M.curves = w.curves, V.filter((c) => c.isHole && c.for === w.identifier).forEach((c) => {
|
|
1977
|
+
const p = Z[c.identifier], I = new Gt();
|
|
1976
1978
|
I.curves = p.curves, M.holes.push(I);
|
|
1977
|
-
}),
|
|
1979
|
+
}), B.push(M);
|
|
1978
1980
|
}
|
|
1979
|
-
}),
|
|
1981
|
+
}), B;
|
|
1980
1982
|
}
|
|
1981
1983
|
/**
|
|
1982
1984
|
* Returns a stroke style object from the given parameters.
|
|
@@ -2028,33 +2030,33 @@ class kt extends bn {
|
|
|
2028
2030
|
* @return {number} The number of vertices.
|
|
2029
2031
|
*/
|
|
2030
2032
|
static pointsToStrokeWithBuffers(e, s, a, d, m, b, Q, x) {
|
|
2031
|
-
const z = new it(),
|
|
2033
|
+
const z = new it(), G = new it(), k = new it(), Z = new it(), V = new it(), B = new it(), w = new it(), L = new it(), M = new it(), U = new it(), c = new it(), p = new it(), I = new it(), u = new it(), N = new it(), O = new it(), D = new it();
|
|
2032
2034
|
a = a !== void 0 ? a : 12, d = d !== void 0 ? d : 1e-3, x = x !== void 0 ? x : 0, e = A(e);
|
|
2033
2035
|
const Y = e.length;
|
|
2034
2036
|
if (Y < 2) return 0;
|
|
2035
2037
|
const tt = e[0].equals(e[Y - 1]);
|
|
2036
|
-
let
|
|
2038
|
+
let F, J = e[0], E;
|
|
2037
2039
|
const q = s.strokeWidth / 2, $ = 1 / (Y - 1);
|
|
2038
|
-
let K = 0, l,
|
|
2040
|
+
let K = 0, l, H, _, et, st = !1, ut = 0, h = x * 3, i = x * 2;
|
|
2039
2041
|
r(e[0], e[1], z).multiplyScalar(q), L.copy(e[0]).sub(z), M.copy(e[0]).add(z), U.copy(L), c.copy(M);
|
|
2040
2042
|
for (let y = 1; y < Y; y++) {
|
|
2041
|
-
|
|
2043
|
+
F = e[y], y === Y - 1 ? tt ? E = e[1] : E = void 0 : E = e[y + 1];
|
|
2042
2044
|
const v = z;
|
|
2043
|
-
if (r(J,
|
|
2044
|
-
r(
|
|
2045
|
+
if (r(J, F, v), k.copy(v).multiplyScalar(q), p.copy(F).sub(k), I.copy(F).add(k), l = K + $, H = !1, E !== void 0) {
|
|
2046
|
+
r(F, E, G), k.copy(G).multiplyScalar(q), u.copy(F).sub(k), N.copy(F).add(k), _ = !0, k.subVectors(E, J), v.dot(k) < 0 && (_ = !1), y === 1 && (st = _), k.subVectors(E, F), k.normalize();
|
|
2045
2047
|
const S = Math.abs(v.dot(k));
|
|
2046
2048
|
if (S > Number.EPSILON) {
|
|
2047
|
-
const
|
|
2048
|
-
k.multiplyScalar(-
|
|
2049
|
-
const f =
|
|
2050
|
-
|
|
2051
|
-
const j =
|
|
2052
|
-
switch (
|
|
2049
|
+
const W = q / S;
|
|
2050
|
+
k.multiplyScalar(-W), Z.subVectors(F, J), V.copy(Z).setLength(W).add(k), O.copy(V).negate();
|
|
2051
|
+
const f = V.length(), o = Z.length();
|
|
2052
|
+
Z.divideScalar(o), B.subVectors(E, F);
|
|
2053
|
+
const j = B.length();
|
|
2054
|
+
switch (B.divideScalar(j), Z.dot(O) < o && B.dot(O) < j && (H = !0), D.copy(V).add(F), O.add(F), et = !1, H ? _ ? (N.copy(O), I.copy(O)) : (u.copy(O), p.copy(O)) : R(), s.strokeLineJoin) {
|
|
2053
2055
|
case "bevel":
|
|
2054
|
-
g(_,
|
|
2056
|
+
g(_, H, l);
|
|
2055
2057
|
break;
|
|
2056
2058
|
case "round":
|
|
2057
|
-
P(_,
|
|
2059
|
+
P(_, H), _ ? C(F, p, u, l, 0) : C(F, N, I, l, 1);
|
|
2058
2060
|
break;
|
|
2059
2061
|
case "miter":
|
|
2060
2062
|
case "miter-clip":
|
|
@@ -2062,23 +2064,23 @@ class kt extends bn {
|
|
|
2062
2064
|
const nt = q * s.strokeMiterLimit / f;
|
|
2063
2065
|
if (nt < 1)
|
|
2064
2066
|
if (s.strokeLineJoin !== "miter-clip") {
|
|
2065
|
-
g(_,
|
|
2067
|
+
g(_, H, l);
|
|
2066
2068
|
break;
|
|
2067
2069
|
} else
|
|
2068
|
-
P(_,
|
|
2070
|
+
P(_, H), _ ? (B.subVectors(D, p).multiplyScalar(nt).add(p), w.subVectors(D, u).multiplyScalar(nt).add(u), n(p, l, 0), n(B, l, 0), n(F, l, 0.5), n(F, l, 0.5), n(B, l, 0), n(w, l, 0), n(F, l, 0.5), n(w, l, 0), n(u, l, 0)) : (B.subVectors(D, I).multiplyScalar(nt).add(I), w.subVectors(D, N).multiplyScalar(nt).add(N), n(I, l, 1), n(B, l, 1), n(F, l, 0.5), n(F, l, 0.5), n(B, l, 1), n(w, l, 1), n(F, l, 0.5), n(w, l, 1), n(N, l, 1));
|
|
2069
2071
|
else
|
|
2070
|
-
|
|
2072
|
+
H ? (_ ? (n(M, K, 1), n(L, K, 0), n(D, l, 0), n(M, K, 1), n(D, l, 0), n(O, l, 1)) : (n(M, K, 1), n(L, K, 0), n(D, l, 1), n(L, K, 0), n(O, l, 0), n(D, l, 1)), _ ? u.copy(D) : N.copy(D)) : _ ? (n(p, l, 0), n(D, l, 0), n(F, l, 0.5), n(F, l, 0.5), n(D, l, 0), n(u, l, 0)) : (n(I, l, 1), n(D, l, 1), n(F, l, 0.5), n(F, l, 0.5), n(D, l, 1), n(N, l, 1)), et = !0;
|
|
2071
2073
|
break;
|
|
2072
2074
|
}
|
|
2073
2075
|
} else
|
|
2074
2076
|
R();
|
|
2075
2077
|
} else
|
|
2076
2078
|
R();
|
|
2077
|
-
!tt && y === Y - 1 &&
|
|
2079
|
+
!tt && y === Y - 1 && X(e[0], U, c, _, !0, K), K = l, J = F, L.copy(u), M.copy(N);
|
|
2078
2080
|
}
|
|
2079
2081
|
if (!tt)
|
|
2080
|
-
F
|
|
2081
|
-
else if (
|
|
2082
|
+
X(F, p, I, _, !1, l);
|
|
2083
|
+
else if (H && m) {
|
|
2082
2084
|
let y = D, v = O;
|
|
2083
2085
|
st !== _ && (y = O, v = D), _ ? (et || st) && (v.toArray(m, 0 * 3), v.toArray(m, 3 * 3), et && y.toArray(m, 1 * 3)) : (et || !st) && (v.toArray(m, 1 * 3), v.toArray(m, 3 * 3), et && y.toArray(m, 0 * 3));
|
|
2084
2086
|
}
|
|
@@ -2089,52 +2091,52 @@ class kt extends bn {
|
|
|
2089
2091
|
function n(y, v, S) {
|
|
2090
2092
|
m && (m[h] = y.x, m[h + 1] = y.y, m[h + 2] = 0, b && (b[h] = 0, b[h + 1] = 0, b[h + 2] = 1), h += 3, Q && (Q[i] = v, Q[i + 1] = S, i += 2)), ut += 3;
|
|
2091
2093
|
}
|
|
2092
|
-
function C(y, v, S,
|
|
2093
|
-
z.copy(v).sub(y).normalize(),
|
|
2094
|
+
function C(y, v, S, W, f) {
|
|
2095
|
+
z.copy(v).sub(y).normalize(), G.copy(S).sub(y).normalize();
|
|
2094
2096
|
let o = Math.PI;
|
|
2095
|
-
const j = z.dot(
|
|
2097
|
+
const j = z.dot(G);
|
|
2096
2098
|
Math.abs(j) < 1 && (o = Math.abs(Math.acos(j))), o /= a, k.copy(v);
|
|
2097
2099
|
for (let nt = 0, pt = a - 1; nt < pt; nt++)
|
|
2098
|
-
|
|
2099
|
-
n(
|
|
2100
|
+
Z.copy(k).rotateAround(y, o), n(k, W, f), n(Z, W, f), n(y, W, 0.5), k.copy(Z);
|
|
2101
|
+
n(Z, W, f), n(S, W, f), n(y, W, 0.5);
|
|
2100
2102
|
}
|
|
2101
2103
|
function R() {
|
|
2102
2104
|
n(M, K, 1), n(L, K, 0), n(p, l, 0), n(M, K, 1), n(p, l, 0), n(I, l, 1);
|
|
2103
2105
|
}
|
|
2104
2106
|
function g(y, v, S) {
|
|
2105
|
-
v ? y ? (n(M, K, 1), n(L, K, 0), n(p, l, 0), n(M, K, 1), n(p, l, 0), n(O, l, 1), n(p, S, 0), n(u, S, 0), n(O, S, 0.5)) : (n(M, K, 1), n(L, K, 0), n(I, l, 1), n(L, K, 0), n(O, l, 0), n(I, l, 1), n(I, S, 1), n(O, S, 0), n(N, S, 1)) : y ? (n(p, S, 0), n(u, S, 0), n(
|
|
2107
|
+
v ? y ? (n(M, K, 1), n(L, K, 0), n(p, l, 0), n(M, K, 1), n(p, l, 0), n(O, l, 1), n(p, S, 0), n(u, S, 0), n(O, S, 0.5)) : (n(M, K, 1), n(L, K, 0), n(I, l, 1), n(L, K, 0), n(O, l, 0), n(I, l, 1), n(I, S, 1), n(O, S, 0), n(N, S, 1)) : y ? (n(p, S, 0), n(u, S, 0), n(F, S, 0.5)) : (n(I, S, 1), n(N, S, 0), n(F, S, 0.5));
|
|
2106
2108
|
}
|
|
2107
2109
|
function P(y, v) {
|
|
2108
|
-
v && (y ? (n(M, K, 1), n(L, K, 0), n(p, l, 0), n(M, K, 1), n(p, l, 0), n(O, l, 1), n(p, K, 0), n(
|
|
2110
|
+
v && (y ? (n(M, K, 1), n(L, K, 0), n(p, l, 0), n(M, K, 1), n(p, l, 0), n(O, l, 1), n(p, K, 0), n(F, l, 0.5), n(O, l, 1), n(F, l, 0.5), n(u, K, 0), n(O, l, 1)) : (n(M, K, 1), n(L, K, 0), n(I, l, 1), n(L, K, 0), n(O, l, 0), n(I, l, 1), n(I, K, 1), n(O, l, 0), n(F, l, 0.5), n(F, l, 0.5), n(O, l, 0), n(N, K, 1)));
|
|
2109
2111
|
}
|
|
2110
|
-
function
|
|
2112
|
+
function X(y, v, S, W, f, o) {
|
|
2111
2113
|
switch (s.strokeLineCap) {
|
|
2112
2114
|
case "round":
|
|
2113
2115
|
f ? C(y, S, v, o, 0.5) : C(y, v, S, o, 0.5);
|
|
2114
2116
|
break;
|
|
2115
2117
|
case "square":
|
|
2116
2118
|
if (f)
|
|
2117
|
-
z.subVectors(v, y),
|
|
2119
|
+
z.subVectors(v, y), G.set(z.y, -z.x), k.addVectors(z, G).add(y), Z.subVectors(G, z).add(y), W ? (k.toArray(m, 1 * 3), Z.toArray(m, 0 * 3), Z.toArray(m, 3 * 3)) : (k.toArray(m, 1 * 3), Q[3 * 2 + 1] === 1 ? Z.toArray(m, 3 * 3) : k.toArray(m, 3 * 3), Z.toArray(m, 0 * 3));
|
|
2118
2120
|
else {
|
|
2119
|
-
z.subVectors(S, y),
|
|
2121
|
+
z.subVectors(S, y), G.set(z.y, -z.x), k.addVectors(z, G).add(y), Z.subVectors(G, z).add(y);
|
|
2120
2122
|
const j = m.length;
|
|
2121
|
-
|
|
2123
|
+
W ? (k.toArray(m, j - 1 * 3), Z.toArray(m, j - 2 * 3), Z.toArray(m, j - 4 * 3)) : (Z.toArray(m, j - 2 * 3), k.toArray(m, j - 1 * 3), Z.toArray(m, j - 4 * 3));
|
|
2122
2124
|
}
|
|
2123
2125
|
break;
|
|
2124
2126
|
}
|
|
2125
2127
|
}
|
|
2126
2128
|
function A(y) {
|
|
2127
2129
|
let v = !1;
|
|
2128
|
-
for (let
|
|
2129
|
-
if (y[
|
|
2130
|
+
for (let W = 1, f = y.length - 1; W < f; W++)
|
|
2131
|
+
if (y[W].distanceTo(y[W + 1]) < d) {
|
|
2130
2132
|
v = !0;
|
|
2131
2133
|
break;
|
|
2132
2134
|
}
|
|
2133
2135
|
if (!v) return y;
|
|
2134
2136
|
const S = [];
|
|
2135
2137
|
S.push(y[0]);
|
|
2136
|
-
for (let
|
|
2137
|
-
y[
|
|
2138
|
+
for (let W = 1, f = y.length - 1; W < f; W++)
|
|
2139
|
+
y[W].distanceTo(y[W + 1]) >= d && S.push(y[W]);
|
|
2138
2140
|
return S.push(y[y.length - 1]), S;
|
|
2139
2141
|
}
|
|
2140
2142
|
}
|
|
@@ -2169,17 +2171,17 @@ function yr({
|
|
|
2169
2171
|
const [m, b] = dt(null);
|
|
2170
2172
|
lt(() => {
|
|
2171
2173
|
let x = !1;
|
|
2172
|
-
const z = new AbortController(),
|
|
2173
|
-
return fetch(
|
|
2174
|
+
const z = new AbortController(), G = be(t, s);
|
|
2175
|
+
return fetch(G, { signal: z.signal }).then((k) => {
|
|
2174
2176
|
if (!k.ok) throw new Error(`SVG fetch ${k.status}`);
|
|
2175
2177
|
return k.text();
|
|
2176
2178
|
}).then((k) => {
|
|
2177
2179
|
if (x) return;
|
|
2178
|
-
const
|
|
2179
|
-
b(
|
|
2180
|
+
const Z = on(k), V = new kt();
|
|
2181
|
+
b(V.parse(Z));
|
|
2180
2182
|
}).catch((k) => {
|
|
2181
2183
|
x || k instanceof DOMException && k.name === "AbortError" || (b(null), console.warn(
|
|
2182
|
-
`[eyeon-map] Outdoor SVG failed to load from ${
|
|
2184
|
+
`[eyeon-map] Outdoor SVG failed to load from ${G}. If this is a cross-origin error, pass \`imageProxyUrl\` to MapViewer.`,
|
|
2183
2185
|
k
|
|
2184
2186
|
));
|
|
2185
2187
|
}), () => {
|
|
@@ -2187,18 +2189,18 @@ function yr({
|
|
|
2187
2189
|
};
|
|
2188
2190
|
}, [t, s]);
|
|
2189
2191
|
const Q = ot(() => {
|
|
2190
|
-
var
|
|
2192
|
+
var G, k, Z;
|
|
2191
2193
|
if (!m) return [];
|
|
2192
2194
|
const x = [];
|
|
2193
2195
|
let z = 0;
|
|
2194
|
-
for (const
|
|
2195
|
-
const
|
|
2196
|
-
if (w != null && w.toLowerCase().startsWith("route-path") || w && (cn(w) || sn(w)) || w && (e != null && e.has(w)) || Bt(
|
|
2197
|
-
const L = kt.createShapes(
|
|
2196
|
+
for (const V of m.paths) {
|
|
2197
|
+
const B = (G = V.userData) == null ? void 0 : G.node, w = pr(B);
|
|
2198
|
+
if (w != null && w.toLowerCase().startsWith("route-path") || w && (cn(w) || sn(w)) || w && (e != null && e.has(w)) || Bt(B) && !w || w && (Zt(w) || Ft(w)) || B && Bt(B) && w && (e != null && e.has(w)) || B && Bt(B)) continue;
|
|
2199
|
+
const L = kt.createShapes(V);
|
|
2198
2200
|
if (L.length === 0) continue;
|
|
2199
2201
|
const M = Me(w, d), U = Mt(M == null ? void 0 : M.fill), c = Mt(M == null ? void 0 : M.stroke), p = new rt.Color();
|
|
2200
|
-
M != null && M.fill && !U ? p.set(M.fill) :
|
|
2201
|
-
const I = U || c && !(M != null && M.fill) ? 0 : typeof ((
|
|
2202
|
+
M != null && M.fill && !U ? p.set(M.fill) : V.color && !U ? p.copy(V.color) : p.set("#cccccc"), M != null && M.stroke && !M.fill && !c && p.set(M.stroke);
|
|
2203
|
+
const I = U || c && !(M != null && M.fill) ? 0 : typeof ((Z = (k = V.userData) == null ? void 0 : k.style) == null ? void 0 : Z.opacity) == "number" ? V.userData.style.opacity : 1, u = a && (M == null ? void 0 : M.extrudeHeight) != null ? M.extrudeHeight : 0;
|
|
2202
2204
|
x.push({
|
|
2203
2205
|
key: `${w ?? "path"}-${z++}`,
|
|
2204
2206
|
shapes: L,
|
|
@@ -2211,7 +2213,7 @@ function yr({
|
|
|
2211
2213
|
return x;
|
|
2212
2214
|
}, [m, e, a, d]);
|
|
2213
2215
|
return !m || Q.length === 0 ? null : /* @__PURE__ */ T("group", { position: [0, 0, mr], renderOrder: -20, children: Q.map(
|
|
2214
|
-
(x) => x.shapes.map((z,
|
|
2216
|
+
(x) => x.shapes.map((z, G) => /* @__PURE__ */ ct(
|
|
2215
2217
|
"mesh",
|
|
2216
2218
|
{
|
|
2217
2219
|
renderOrder: x.renderOrder,
|
|
@@ -2237,7 +2239,7 @@ function yr({
|
|
|
2237
2239
|
)
|
|
2238
2240
|
]
|
|
2239
2241
|
},
|
|
2240
|
-
`${x.key}-${
|
|
2242
|
+
`${x.key}-${G}`
|
|
2241
2243
|
))
|
|
2242
2244
|
) });
|
|
2243
2245
|
}
|
|
@@ -2370,21 +2372,21 @@ function Vr({
|
|
|
2370
2372
|
focusKey: b = null,
|
|
2371
2373
|
focusViewBounds: Q = null
|
|
2372
2374
|
}) {
|
|
2373
|
-
const { camera: x, size: z, invalidate:
|
|
2375
|
+
const { camera: x, size: z, invalidate: G } = gn(), k = at(!1), Z = at(!1), V = at(null), B = at(null), w = at(b);
|
|
2374
2376
|
w.current = b;
|
|
2375
2377
|
const L = at(Q);
|
|
2376
2378
|
L.current = Q;
|
|
2377
2379
|
const M = at(null), U = Gr(t, s), c = mt(() => {
|
|
2378
|
-
|
|
2380
|
+
V.current != null && (cancelAnimationFrame(V.current), V.current = null);
|
|
2379
2381
|
}, []), p = mt(
|
|
2380
2382
|
(l = k.current) => {
|
|
2381
|
-
const
|
|
2383
|
+
const H = a.current;
|
|
2382
2384
|
return {
|
|
2383
2385
|
is3d: s,
|
|
2384
2386
|
boundsKey: U,
|
|
2385
2387
|
zoom: x instanceof rt.OrthographicCamera ? x.zoom : 1,
|
|
2386
2388
|
position: [x.position.x, x.position.y, x.position.z],
|
|
2387
|
-
target:
|
|
2389
|
+
target: H ? [H.target.x, H.target.y, H.target.z] : [t.cx, t.cy, 0],
|
|
2388
2390
|
userAdjusted: l,
|
|
2389
2391
|
focusKey: w.current
|
|
2390
2392
|
};
|
|
@@ -2392,29 +2394,29 @@ function Vr({
|
|
|
2392
2394
|
[t.cx, t.cy, U, x, a, s]
|
|
2393
2395
|
), I = mt(
|
|
2394
2396
|
(l) => {
|
|
2395
|
-
|
|
2396
|
-
const
|
|
2397
|
-
|
|
2397
|
+
Z.current = !0, c(), x.up.set(0, 1, 0), x.position.set(l.position[0], l.position[1], l.position[2]), x instanceof rt.OrthographicCamera ? (x.zoom = l.zoom, x.updateProjectionMatrix()) : x.lookAt(l.target[0], l.target[1], l.target[2]);
|
|
2398
|
+
const H = a.current;
|
|
2399
|
+
H && (H.target.set(l.target[0], l.target[1], l.target[2]), H.update()), m.current = { ...l, boundsKey: U, is3d: s }, k.current = l.userAdjusted, G(), Z.current = !1;
|
|
2398
2400
|
},
|
|
2399
|
-
[U, x, c, a,
|
|
2401
|
+
[U, x, c, a, G, s, m]
|
|
2400
2402
|
), u = mt(
|
|
2401
2403
|
(l) => {
|
|
2402
2404
|
if (!(x instanceof rt.OrthographicCamera)) return;
|
|
2403
2405
|
c();
|
|
2404
|
-
const
|
|
2405
|
-
if (
|
|
2406
|
+
const H = x.zoom;
|
|
2407
|
+
if (H === l) return;
|
|
2406
2408
|
const _ = performance.now(), et = (st) => {
|
|
2407
2409
|
if (!(x instanceof rt.OrthographicCamera)) return;
|
|
2408
2410
|
const ut = Math.min(1, (st - _) / he);
|
|
2409
|
-
if (x.zoom = At(
|
|
2410
|
-
|
|
2411
|
+
if (x.zoom = At(H, l, qt(ut)), x.updateProjectionMatrix(), m.current = p(), G(), ut < 1) {
|
|
2412
|
+
V.current = requestAnimationFrame(et);
|
|
2411
2413
|
return;
|
|
2412
2414
|
}
|
|
2413
|
-
|
|
2415
|
+
V.current = null;
|
|
2414
2416
|
};
|
|
2415
|
-
|
|
2417
|
+
V.current = requestAnimationFrame(et);
|
|
2416
2418
|
},
|
|
2417
|
-
[x, c, p,
|
|
2419
|
+
[x, c, p, G, m]
|
|
2418
2420
|
), N = mt(() => {
|
|
2419
2421
|
const l = a.current;
|
|
2420
2422
|
return {
|
|
@@ -2423,9 +2425,9 @@ function Vr({
|
|
|
2423
2425
|
target: l ? [l.target.x, l.target.y, l.target.z] : [t.cx, t.cy, 0]
|
|
2424
2426
|
};
|
|
2425
2427
|
}, [t.cx, t.cy, x, a]), O = mt(() => {
|
|
2426
|
-
const { width: l, height:
|
|
2428
|
+
const { width: l, height: H } = Et(t);
|
|
2427
2429
|
return x instanceof rt.OrthographicCamera && !s ? {
|
|
2428
|
-
zoom: Nt(z.width, z.height, l,
|
|
2430
|
+
zoom: Nt(z.width, z.height, l, H),
|
|
2429
2431
|
position: [t.cx, t.cy, 500],
|
|
2430
2432
|
target: [t.cx, t.cy, 0]
|
|
2431
2433
|
} : {
|
|
@@ -2434,15 +2436,15 @@ function Vr({
|
|
|
2434
2436
|
target: [t.cx, t.cy, 0]
|
|
2435
2437
|
};
|
|
2436
2438
|
}, [t, x, s, z.height, z.width]), D = mt(
|
|
2437
|
-
(l,
|
|
2438
|
-
|
|
2439
|
+
(l, H) => {
|
|
2440
|
+
Z.current = !0, x.up.set(0, 1, 0), x.position.set(l.position[0], l.position[1], l.position[2]), x instanceof rt.OrthographicCamera && (x.zoom = l.zoom, x.updateProjectionMatrix()), H && x.lookAt(l.target[0], l.target[1], l.target[2]);
|
|
2439
2441
|
const _ = a.current;
|
|
2440
|
-
_ && (_.target.set(l.target[0], l.target[1], l.target[2]), _.update()),
|
|
2442
|
+
_ && (_.target.set(l.target[0], l.target[1], l.target[2]), _.update()), G(), Z.current = !1;
|
|
2441
2443
|
},
|
|
2442
|
-
[x, a,
|
|
2444
|
+
[x, a, G]
|
|
2443
2445
|
), Y = mt(
|
|
2444
2446
|
(l) => {
|
|
2445
|
-
const { width:
|
|
2447
|
+
const { width: H, height: _ } = Et(l);
|
|
2446
2448
|
if (x instanceof rt.OrthographicCamera && !s) {
|
|
2447
2449
|
const st = Et(t), ut = Nt(
|
|
2448
2450
|
z.width,
|
|
@@ -2452,9 +2454,9 @@ function Vr({
|
|
|
2452
2454
|
);
|
|
2453
2455
|
return {
|
|
2454
2456
|
zoom: Ir(
|
|
2455
|
-
Nt(z.width, z.height,
|
|
2457
|
+
Nt(z.width, z.height, H, _),
|
|
2456
2458
|
ut,
|
|
2457
|
-
Or(
|
|
2459
|
+
Or(H, _)
|
|
2458
2460
|
),
|
|
2459
2461
|
position: [l.cx, l.cy, 500],
|
|
2460
2462
|
target: [l.cx, l.cy, 0]
|
|
@@ -2470,45 +2472,45 @@ function Vr({
|
|
|
2470
2472
|
[t, x, s, z.height, z.width]
|
|
2471
2473
|
), tt = mt(() => {
|
|
2472
2474
|
c(), M.current = null, D(O(), s), m.current = p(!1);
|
|
2473
|
-
}, [D, c, p, O, s, m]),
|
|
2475
|
+
}, [D, c, p, O, s, m]), F = mt(
|
|
2474
2476
|
(l) => {
|
|
2475
|
-
const
|
|
2476
|
-
if (k.current = !0,
|
|
2477
|
+
const H = Y(l), _ = N();
|
|
2478
|
+
if (k.current = !0, B.current = w.current, c(), pe(_, H)) {
|
|
2477
2479
|
M.current = null, m.current = p(!0);
|
|
2478
2480
|
return;
|
|
2479
2481
|
}
|
|
2480
2482
|
M.current = {
|
|
2481
2483
|
from: _,
|
|
2482
|
-
dest:
|
|
2484
|
+
dest: H,
|
|
2483
2485
|
started: performance.now(),
|
|
2484
2486
|
lookAt: s
|
|
2485
|
-
},
|
|
2487
|
+
}, Z.current = !0, G();
|
|
2486
2488
|
},
|
|
2487
2489
|
[
|
|
2488
2490
|
c,
|
|
2489
2491
|
p,
|
|
2490
2492
|
N,
|
|
2491
|
-
|
|
2493
|
+
G,
|
|
2492
2494
|
s,
|
|
2493
2495
|
m,
|
|
2494
2496
|
Y
|
|
2495
2497
|
]
|
|
2496
2498
|
), J = mt(() => {
|
|
2497
|
-
const l = O(),
|
|
2498
|
-
if (M.current = null, pe(
|
|
2499
|
+
const l = O(), H = N();
|
|
2500
|
+
if (M.current = null, pe(H, l)) {
|
|
2499
2501
|
k.current = !1, m.current = p(!1);
|
|
2500
2502
|
return;
|
|
2501
2503
|
}
|
|
2502
2504
|
c();
|
|
2503
2505
|
const _ = performance.now(), et = s, st = (ut) => {
|
|
2504
2506
|
const h = Math.min(1, (ut - _) / he);
|
|
2505
|
-
if (D(me(
|
|
2506
|
-
|
|
2507
|
+
if (D(me(H, l, h), et), m.current = p(!1), h < 1) {
|
|
2508
|
+
Z.current = !0, V.current = requestAnimationFrame(st);
|
|
2507
2509
|
return;
|
|
2508
2510
|
}
|
|
2509
|
-
|
|
2511
|
+
V.current = null, k.current = !1, Z.current = !1;
|
|
2510
2512
|
};
|
|
2511
|
-
|
|
2513
|
+
Z.current = !0, V.current = requestAnimationFrame(st);
|
|
2512
2514
|
}, [
|
|
2513
2515
|
D,
|
|
2514
2516
|
c,
|
|
@@ -2521,12 +2523,12 @@ function Vr({
|
|
|
2521
2523
|
E.current = tt;
|
|
2522
2524
|
const q = at(I);
|
|
2523
2525
|
q.current = I;
|
|
2524
|
-
const $ = at(
|
|
2525
|
-
$.current =
|
|
2526
|
+
const $ = at(F);
|
|
2527
|
+
$.current = F;
|
|
2526
2528
|
const K = mt(
|
|
2527
2529
|
(l) => {
|
|
2528
2530
|
k.current = !0, M.current = null;
|
|
2529
|
-
const
|
|
2531
|
+
const H = a.current;
|
|
2530
2532
|
if (x instanceof rt.OrthographicCamera && !s) {
|
|
2531
2533
|
const { width: _, height: et } = Et(t), st = Nt(z.width, z.height, _, et);
|
|
2532
2534
|
u(
|
|
@@ -2538,13 +2540,13 @@ function Vr({
|
|
|
2538
2540
|
st * br
|
|
2539
2541
|
)
|
|
2540
2542
|
);
|
|
2541
|
-
} else if (
|
|
2542
|
-
const _ = x.position.clone().sub(
|
|
2543
|
+
} else if (H) {
|
|
2544
|
+
const _ = x.position.clone().sub(H.target), et = 1 + Math.min(Math.max(e.ZOOM_STEP, 0.15), 1) * 0.5, st = l > 0 ? _.length() / et : _.length() * et;
|
|
2543
2545
|
_.setLength(
|
|
2544
2546
|
Math.min(e.CAMERA_MAX_DISTANCE, Math.max(e.CAMERA_MIN_DISTANCE, st))
|
|
2545
|
-
), x.position.copy(
|
|
2547
|
+
), x.position.copy(H.target).add(_), m.current = p();
|
|
2546
2548
|
}
|
|
2547
|
-
|
|
2549
|
+
H == null || H.update(), G();
|
|
2548
2550
|
},
|
|
2549
2551
|
[
|
|
2550
2552
|
u,
|
|
@@ -2552,7 +2554,7 @@ function Vr({
|
|
|
2552
2554
|
x,
|
|
2553
2555
|
p,
|
|
2554
2556
|
a,
|
|
2555
|
-
|
|
2557
|
+
G,
|
|
2556
2558
|
s,
|
|
2557
2559
|
m,
|
|
2558
2560
|
z.height,
|
|
@@ -2563,13 +2565,13 @@ function Vr({
|
|
|
2563
2565
|
return lt(() => () => c(), [c]), lt(() => {
|
|
2564
2566
|
const l = a.current;
|
|
2565
2567
|
if (!l) return;
|
|
2566
|
-
const
|
|
2567
|
-
|
|
2568
|
+
const H = () => {
|
|
2569
|
+
Z.current || (k.current = !0, m.current = p(!0));
|
|
2568
2570
|
}, _ = () => {
|
|
2569
|
-
|
|
2571
|
+
Z.current || (k.current = !0, M.current = null, m.current = p(!0));
|
|
2570
2572
|
};
|
|
2571
|
-
return l.addEventListener("change",
|
|
2572
|
-
l.removeEventListener("change",
|
|
2573
|
+
return l.addEventListener("change", H), l.addEventListener("start", _), () => {
|
|
2574
|
+
l.removeEventListener("change", H), l.removeEventListener("start", _);
|
|
2573
2575
|
};
|
|
2574
2576
|
}, [x, p, a, m]), Ge(
|
|
2575
2577
|
d,
|
|
@@ -2581,28 +2583,28 @@ function Vr({
|
|
|
2581
2583
|
K(-1);
|
|
2582
2584
|
},
|
|
2583
2585
|
reset: () => {
|
|
2584
|
-
k.current = !1, M.current = null,
|
|
2586
|
+
k.current = !1, M.current = null, B.current = null, w.current = null, J();
|
|
2585
2587
|
},
|
|
2586
2588
|
focusBounds: (l) => {
|
|
2587
|
-
|
|
2589
|
+
F(l);
|
|
2588
2590
|
}
|
|
2589
2591
|
}),
|
|
2590
|
-
[
|
|
2592
|
+
[F, J, K]
|
|
2591
2593
|
), Ve(() => {
|
|
2592
2594
|
if (z.width < 2 || z.height < 2) return;
|
|
2593
|
-
b == null && (
|
|
2594
|
-
const l = m.current,
|
|
2595
|
-
if (b != null &&
|
|
2595
|
+
b == null && (B.current = null, M.current = null);
|
|
2596
|
+
const l = m.current, H = L.current, _ = b != null && H != null && B.current !== b, et = l != null && l.is3d === s && l.boundsKey === U && l.focusKey === b;
|
|
2597
|
+
if (b != null && H != null) {
|
|
2596
2598
|
if (et) {
|
|
2597
|
-
|
|
2599
|
+
B.current = b, M.current == null && q.current(l);
|
|
2598
2600
|
return;
|
|
2599
2601
|
}
|
|
2600
2602
|
if (_) {
|
|
2601
2603
|
if (m.current == null) {
|
|
2602
|
-
|
|
2604
|
+
B.current = b, k.current = !0, c(), D(Y(H), s), m.current = p(!0);
|
|
2603
2605
|
return;
|
|
2604
2606
|
}
|
|
2605
|
-
l && !et && q.current(l), $.current(
|
|
2607
|
+
l && !et && q.current(l), $.current(H);
|
|
2606
2608
|
return;
|
|
2607
2609
|
}
|
|
2608
2610
|
return;
|
|
@@ -2627,12 +2629,12 @@ function Vr({
|
|
|
2627
2629
|
}, [z.height, z.width]), An(() => {
|
|
2628
2630
|
const l = M.current;
|
|
2629
2631
|
if (!l) return;
|
|
2630
|
-
const
|
|
2632
|
+
const H = Math.min(1, (performance.now() - l.started) / Ar);
|
|
2631
2633
|
if (D(
|
|
2632
|
-
me(l.from, l.dest,
|
|
2634
|
+
me(l.from, l.dest, H, qt),
|
|
2633
2635
|
l.lookAt
|
|
2634
|
-
), m.current = p(!0),
|
|
2635
|
-
|
|
2636
|
+
), m.current = p(!0), H < 1) {
|
|
2637
|
+
G();
|
|
2636
2638
|
return;
|
|
2637
2639
|
}
|
|
2638
2640
|
M.current = null;
|
|
@@ -2650,11 +2652,11 @@ function Hr({
|
|
|
2650
2652
|
focusKey: Q,
|
|
2651
2653
|
focusViewBounds: x,
|
|
2652
2654
|
cameraRef: z,
|
|
2653
|
-
onSelectShape:
|
|
2655
|
+
onSelectShape: G,
|
|
2654
2656
|
imageProxyUrl: k,
|
|
2655
|
-
eventSource:
|
|
2657
|
+
eventSource: Z
|
|
2656
2658
|
}) {
|
|
2657
|
-
const
|
|
2659
|
+
const V = e.MAP_STYLE === "3D", B = at(null), w = at(null), L = at(null), M = ot(
|
|
2658
2660
|
() => un(t.levels, s),
|
|
2659
2661
|
[t.levels, s]
|
|
2660
2662
|
), U = ot(
|
|
@@ -2677,13 +2679,13 @@ function Hr({
|
|
|
2677
2679
|
), I = ot(
|
|
2678
2680
|
() => [c.cx, c.cy - c.size * 0.35, c.size * 0.85],
|
|
2679
2681
|
[c.cx, c.cy, c.size]
|
|
2680
|
-
), u = ot(() => Pr(
|
|
2682
|
+
), u = ot(() => Pr(V), [V]), N = ot(() => Rr(V), [V]), O = ot(
|
|
2681
2683
|
() => t.levels.find((J) => Pt(J)) ?? null,
|
|
2682
2684
|
[t.levels]
|
|
2683
2685
|
), D = (O == null ? void 0 : O.sourceSvgUrl) ?? t.baseSvgUrl ?? null, Y = ot(
|
|
2684
2686
|
() => dn(t.levels),
|
|
2685
2687
|
[t.levels]
|
|
2686
|
-
), tt = M.some((J) => Pt(J)),
|
|
2688
|
+
), tt = M.some((J) => Pt(J)), F = ot(
|
|
2687
2689
|
() => ({
|
|
2688
2690
|
GREEN_AREA_COLOR: e.GREEN_AREA_COLOR,
|
|
2689
2691
|
WATER_COLOR: e.WATER_COLOR,
|
|
@@ -2707,9 +2709,9 @@ function Hr({
|
|
|
2707
2709
|
height: "100%",
|
|
2708
2710
|
background: Mt(e.MAP_BACKGROUND_COLOR) ? "transparent" : e.MAP_BACKGROUND_COLOR
|
|
2709
2711
|
},
|
|
2710
|
-
eventSource:
|
|
2712
|
+
eventSource: Z,
|
|
2711
2713
|
eventPrefix: "offset",
|
|
2712
|
-
orthographic: !
|
|
2714
|
+
orthographic: !V,
|
|
2713
2715
|
frameloop: "demand",
|
|
2714
2716
|
dpr: Dr,
|
|
2715
2717
|
flat: !0,
|
|
@@ -2722,9 +2724,9 @@ function Hr({
|
|
|
2722
2724
|
x: J.clientX,
|
|
2723
2725
|
y: J.clientY,
|
|
2724
2726
|
button: J.button
|
|
2725
|
-
}) && (
|
|
2727
|
+
}) && (G == null || G(null, s ?? 0));
|
|
2726
2728
|
},
|
|
2727
|
-
camera:
|
|
2729
|
+
camera: V ? {
|
|
2728
2730
|
position: I,
|
|
2729
2731
|
fov: 50,
|
|
2730
2732
|
near: 1,
|
|
@@ -2732,7 +2734,7 @@ function Hr({
|
|
|
2732
2734
|
up: Ae
|
|
2733
2735
|
} : void 0,
|
|
2734
2736
|
children: [
|
|
2735
|
-
!
|
|
2737
|
+
!V && /* @__PURE__ */ T(
|
|
2736
2738
|
vn,
|
|
2737
2739
|
{
|
|
2738
2740
|
makeDefault: !0,
|
|
@@ -2754,8 +2756,8 @@ function Hr({
|
|
|
2754
2756
|
url: D,
|
|
2755
2757
|
suppressIds: Y,
|
|
2756
2758
|
imageProxyUrl: k,
|
|
2757
|
-
is3d:
|
|
2758
|
-
theme:
|
|
2759
|
+
is3d: V,
|
|
2760
|
+
theme: F
|
|
2759
2761
|
}
|
|
2760
2762
|
) : null,
|
|
2761
2763
|
M.map((J) => {
|
|
@@ -2775,14 +2777,14 @@ function Hr({
|
|
|
2775
2777
|
{
|
|
2776
2778
|
level: J,
|
|
2777
2779
|
theme: e,
|
|
2778
|
-
is3d:
|
|
2779
|
-
eventSource:
|
|
2780
|
+
is3d: V,
|
|
2781
|
+
eventSource: Z,
|
|
2780
2782
|
selectedShapeIds: m,
|
|
2781
2783
|
hoveredShapeId: b,
|
|
2782
2784
|
interactiveOnly: E && !!D,
|
|
2783
2785
|
imageProxyUrl: k,
|
|
2784
2786
|
amenities: t.amenities,
|
|
2785
|
-
onSelectShape: ($, K) =>
|
|
2787
|
+
onSelectShape: ($, K) => G == null ? void 0 : G($, J.id, K)
|
|
2786
2788
|
}
|
|
2787
2789
|
)
|
|
2788
2790
|
},
|
|
@@ -2801,10 +2803,10 @@ function Hr({
|
|
|
2801
2803
|
/* @__PURE__ */ T(
|
|
2802
2804
|
Mn,
|
|
2803
2805
|
{
|
|
2804
|
-
ref:
|
|
2806
|
+
ref: B,
|
|
2805
2807
|
makeDefault: !0,
|
|
2806
2808
|
enableDamping: !1,
|
|
2807
|
-
enableRotate:
|
|
2809
|
+
enableRotate: V,
|
|
2808
2810
|
enablePan: !0,
|
|
2809
2811
|
enableZoom: !0,
|
|
2810
2812
|
screenSpacePanning: !0,
|
|
@@ -2821,8 +2823,8 @@ function Hr({
|
|
|
2821
2823
|
{
|
|
2822
2824
|
bounds: c,
|
|
2823
2825
|
theme: e,
|
|
2824
|
-
is3d:
|
|
2825
|
-
controlsRef:
|
|
2826
|
+
is3d: V,
|
|
2827
|
+
controlsRef: B,
|
|
2826
2828
|
cameraRef: z,
|
|
2827
2829
|
persistedViewRef: w,
|
|
2828
2830
|
focusKey: Q ?? d ?? null,
|
|
@@ -2848,10 +2850,10 @@ function Zr({
|
|
|
2848
2850
|
accessibleOnly: Q,
|
|
2849
2851
|
onAccessibleOnlyChange: x,
|
|
2850
2852
|
route: z,
|
|
2851
|
-
showSearch:
|
|
2853
|
+
showSearch: G = !0,
|
|
2852
2854
|
showAmenities: k = !0
|
|
2853
2855
|
}) {
|
|
2854
|
-
const [
|
|
2856
|
+
const [Z, V] = dt(""), [B, w] = dt(null), L = ot(() => {
|
|
2855
2857
|
var N;
|
|
2856
2858
|
const u = [];
|
|
2857
2859
|
for (const O of t.levels)
|
|
@@ -2866,7 +2868,7 @@ function Zr({
|
|
|
2866
2868
|
kind: "store",
|
|
2867
2869
|
amenityId: null
|
|
2868
2870
|
}), D.kind === "amenity" && ((N = D.assignment) != null && N.amenityId)) {
|
|
2869
|
-
const tt = e.find((
|
|
2871
|
+
const tt = e.find((F) => F.id === D.assignment.amenityId);
|
|
2870
2872
|
u.push({
|
|
2871
2873
|
id: `amenity-${D.id}`,
|
|
2872
2874
|
label: xe(D, tt == null ? void 0 : tt.name),
|
|
@@ -2880,29 +2882,29 @@ function Zr({
|
|
|
2880
2882
|
}
|
|
2881
2883
|
return u;
|
|
2882
2884
|
}, [t, e]), M = ot(() => {
|
|
2883
|
-
const u =
|
|
2885
|
+
const u = Z.trim().toLowerCase();
|
|
2884
2886
|
return u ? L.filter((N) => N.label.toLowerCase().includes(u)) : L;
|
|
2885
|
-
}, [L,
|
|
2887
|
+
}, [L, Z]), U = ot(() => {
|
|
2886
2888
|
const u = /* @__PURE__ */ new Map();
|
|
2887
2889
|
for (const N of M) {
|
|
2888
2890
|
const O = u.get(N.group) ?? [];
|
|
2889
2891
|
O.push(N), u.set(N.group, O);
|
|
2890
2892
|
}
|
|
2891
2893
|
return Array.from(u.entries());
|
|
2892
|
-
}, [M]), c = L.filter((u) => u.anchorId != null), p =
|
|
2894
|
+
}, [M]), c = L.filter((u) => u.anchorId != null), p = Z.trim().length > 0, I = (u) => {
|
|
2893
2895
|
w(u), u.anchorId != null && (b(u.anchorId), s(u.levelId));
|
|
2894
2896
|
};
|
|
2895
|
-
return !
|
|
2897
|
+
return !G && !(k && e.length > 0) ? null : /* @__PURE__ */ ct("div", { className: "eyeon-map-chrome", children: [
|
|
2896
2898
|
/* @__PURE__ */ ct("div", { className: "eyeon-map-chrome__top", children: [
|
|
2897
|
-
|
|
2899
|
+
G && /* @__PURE__ */ T(
|
|
2898
2900
|
"input",
|
|
2899
2901
|
{
|
|
2900
2902
|
type: "search",
|
|
2901
2903
|
className: "eyeon-map-chrome__search-input",
|
|
2902
2904
|
placeholder: "Search...",
|
|
2903
2905
|
"aria-label": "Search...",
|
|
2904
|
-
value:
|
|
2905
|
-
onChange: (u) =>
|
|
2906
|
+
value: Z,
|
|
2907
|
+
onChange: (u) => V(u.target.value)
|
|
2906
2908
|
}
|
|
2907
2909
|
),
|
|
2908
2910
|
k && e.length > 0 && /* @__PURE__ */ T("div", { className: "eyeon-map-chrome__amenities", children: e.map((u) => /* @__PURE__ */ T(
|
|
@@ -2933,23 +2935,23 @@ function Zr({
|
|
|
2933
2935
|
u.id
|
|
2934
2936
|
)) })
|
|
2935
2937
|
] }),
|
|
2936
|
-
|
|
2938
|
+
G && p && /* @__PURE__ */ ct("div", { className: "eyeon-map-chrome__panel", children: [
|
|
2937
2939
|
/* @__PURE__ */ T("div", { className: "eyeon-map-chrome__groups", children: U.length === 0 ? /* @__PURE__ */ T("div", { className: "eyeon-map-chrome__empty", children: "No matching stores" }) : U.map(([u, N]) => /* @__PURE__ */ ct("div", { className: "eyeon-map-chrome__group", children: [
|
|
2938
2940
|
/* @__PURE__ */ T("div", { className: "eyeon-map-chrome__group-title", children: u }),
|
|
2939
2941
|
N.map((O) => /* @__PURE__ */ T(
|
|
2940
2942
|
"button",
|
|
2941
2943
|
{
|
|
2942
2944
|
type: "button",
|
|
2943
|
-
className: (
|
|
2945
|
+
className: (B == null ? void 0 : B.id) === O.id ? "eyeon-map-chrome__item is-selected" : "eyeon-map-chrome__item",
|
|
2944
2946
|
onClick: () => I(O),
|
|
2945
2947
|
children: O.label
|
|
2946
2948
|
},
|
|
2947
2949
|
O.id
|
|
2948
2950
|
))
|
|
2949
2951
|
] }, u)) }),
|
|
2950
|
-
|
|
2951
|
-
/* @__PURE__ */ T("div", { className: "eyeon-map-chrome__detail-title", children:
|
|
2952
|
-
/* @__PURE__ */ T("div", { className: "eyeon-map-chrome__detail-meta", children:
|
|
2952
|
+
B && /* @__PURE__ */ ct("div", { className: "eyeon-map-chrome__detail", children: [
|
|
2953
|
+
/* @__PURE__ */ T("div", { className: "eyeon-map-chrome__detail-title", children: B.label }),
|
|
2954
|
+
/* @__PURE__ */ T("div", { className: "eyeon-map-chrome__detail-meta", children: B.group })
|
|
2953
2955
|
] }),
|
|
2954
2956
|
/* @__PURE__ */ ct("div", { className: "eyeon-map-chrome__route", children: [
|
|
2955
2957
|
/* @__PURE__ */ ct("label", { children: [
|
|
@@ -3025,11 +3027,11 @@ function eo(t) {
|
|
|
3025
3027
|
themeOverrides: Q,
|
|
3026
3028
|
onExtractedAmenities: x,
|
|
3027
3029
|
createRouteRef: z,
|
|
3028
|
-
className:
|
|
3030
|
+
className: G,
|
|
3029
3031
|
style: k,
|
|
3030
|
-
activeLevelId:
|
|
3031
|
-
onActiveLevelChange:
|
|
3032
|
-
routeOnSelect:
|
|
3032
|
+
activeLevelId: Z,
|
|
3033
|
+
onActiveLevelChange: V,
|
|
3034
|
+
routeOnSelect: B = !0,
|
|
3033
3035
|
imageProxyUrl: w,
|
|
3034
3036
|
selectedShapeId: L = null,
|
|
3035
3037
|
selectedShapeIds: M,
|
|
@@ -3038,8 +3040,8 @@ function eo(t) {
|
|
|
3038
3040
|
} = t, [p, I] = dt(e ?? null), u = ot(
|
|
3039
3041
|
() => p ? re(p) : null,
|
|
3040
3042
|
[p]
|
|
3041
|
-
), [N, O] = dt(null), [D, Y] = dt(null), [tt,
|
|
3042
|
-
l(A), A != null && (
|
|
3043
|
+
), [N, O] = dt(null), [D, Y] = dt(null), [tt, F] = dt(null), [J, E] = dt(null), [q, $] = dt(!1), [K, l] = dt(() => e ? oe(re(e).levels) : null), H = at(null), _ = at(null), et = Z ?? K, st = (A) => {
|
|
3044
|
+
l(A), A != null && (V == null || V(A));
|
|
3043
3045
|
};
|
|
3044
3046
|
lt(() => {
|
|
3045
3047
|
if (e) {
|
|
@@ -3063,9 +3065,9 @@ function eo(t) {
|
|
|
3063
3065
|
(et == null || !A.has(et)) && st(oe(u.levels));
|
|
3064
3066
|
const y = /* @__PURE__ */ new Set();
|
|
3065
3067
|
for (const S of u.levels)
|
|
3066
|
-
for (const
|
|
3067
|
-
if (
|
|
3068
|
-
const f = u.amenities.find((o) => o.id ===
|
|
3068
|
+
for (const W of S.shapes)
|
|
3069
|
+
if (W.kind === "amenity" && ((v = W.assignment) == null ? void 0 : v.amenityId) != null) {
|
|
3070
|
+
const f = u.amenities.find((o) => o.id === W.assignment.amenityId);
|
|
3069
3071
|
f && y.add(f.code);
|
|
3070
3072
|
}
|
|
3071
3073
|
x == null || x(Array.from(y));
|
|
@@ -3089,8 +3091,8 @@ function eo(t) {
|
|
|
3089
3091
|
for (const y of u.levels)
|
|
3090
3092
|
for (const v of y.shapes)
|
|
3091
3093
|
if (v.kind === "kiosk_screen" && ((A = v.assignment) == null ? void 0 : A.kioskId) === m) {
|
|
3092
|
-
const S = y.anchors.find((
|
|
3093
|
-
S &&
|
|
3094
|
+
const S = y.anchors.find((W) => W.shapeId === v.id);
|
|
3095
|
+
S && F(S.id);
|
|
3094
3096
|
}
|
|
3095
3097
|
}
|
|
3096
3098
|
}, [u, d, m]);
|
|
@@ -3131,9 +3133,9 @@ function eo(t) {
|
|
|
3131
3133
|
createRouteToStore(y) {
|
|
3132
3134
|
var v;
|
|
3133
3135
|
for (const S of u.levels)
|
|
3134
|
-
for (const
|
|
3135
|
-
if (((v =
|
|
3136
|
-
const f = S.anchors.find((o) => o.shapeId ===
|
|
3136
|
+
for (const W of S.shapes)
|
|
3137
|
+
if (((v = W.assignment) == null ? void 0 : v.retailerId) === y) {
|
|
3138
|
+
const f = S.anchors.find((o) => o.shapeId === W.id);
|
|
3137
3139
|
f && (E(f.id), st(
|
|
3138
3140
|
It(u.levels, et, S.id)
|
|
3139
3141
|
));
|
|
@@ -3141,15 +3143,15 @@ function eo(t) {
|
|
|
3141
3143
|
},
|
|
3142
3144
|
createRouteToAmenity(y) {
|
|
3143
3145
|
var S;
|
|
3144
|
-
const v = u.amenities.find((
|
|
3146
|
+
const v = u.amenities.find((W) => W.code === y);
|
|
3145
3147
|
if (v) {
|
|
3146
|
-
for (const
|
|
3147
|
-
for (const f of
|
|
3148
|
+
for (const W of u.levels)
|
|
3149
|
+
for (const f of W.shapes)
|
|
3148
3150
|
if (((S = f.assignment) == null ? void 0 : S.amenityId) === v.id) {
|
|
3149
|
-
const o =
|
|
3151
|
+
const o = W.anchors.find((j) => j.shapeId === f.id);
|
|
3150
3152
|
if (o) {
|
|
3151
3153
|
E(o.id), st(
|
|
3152
|
-
It(u.levels, et,
|
|
3154
|
+
It(u.levels, et, W.id)
|
|
3153
3155
|
);
|
|
3154
3156
|
return;
|
|
3155
3157
|
}
|
|
@@ -3166,9 +3168,9 @@ function eo(t) {
|
|
|
3166
3168
|
}, [et, z, u]);
|
|
3167
3169
|
const R = mn(u == null ? void 0 : u.theme, Q);
|
|
3168
3170
|
if (N)
|
|
3169
|
-
return /* @__PURE__ */ T("div", { className: `eyeon-map-viewer eyeon-map-viewer--error ${
|
|
3171
|
+
return /* @__PURE__ */ T("div", { className: `eyeon-map-viewer eyeon-map-viewer--error ${G ?? ""}`, style: k, children: /* @__PURE__ */ T("div", { className: "eyeon-map-viewer__error", children: N }) });
|
|
3170
3172
|
if (!u)
|
|
3171
|
-
return /* @__PURE__ */ T("div", { className: `eyeon-map-viewer eyeon-map-viewer--loading ${
|
|
3173
|
+
return /* @__PURE__ */ T("div", { className: `eyeon-map-viewer eyeon-map-viewer--loading ${G ?? ""}`, style: k, children: /* @__PURE__ */ T("div", { className: "eyeon-map-viewer__loading", children: "Loading map…" }) });
|
|
3172
3174
|
const g = u.amenities.filter(
|
|
3173
3175
|
(A) => Pn(A.code) && u.levels.some(
|
|
3174
3176
|
(y) => y.shapes.some((v) => {
|
|
@@ -3176,19 +3178,19 @@ function eo(t) {
|
|
|
3176
3178
|
return ((S = v.assignment) == null ? void 0 : S.amenityId) === A.id;
|
|
3177
3179
|
})
|
|
3178
3180
|
)
|
|
3179
|
-
), P = Rt(d),
|
|
3181
|
+
), P = Rt(d), X = ve(u.levels);
|
|
3180
3182
|
return /* @__PURE__ */ ct(
|
|
3181
3183
|
"div",
|
|
3182
3184
|
{
|
|
3183
|
-
className: `eyeon-map-viewer eyeon-map-viewer--${d}${
|
|
3185
|
+
className: `eyeon-map-viewer eyeon-map-viewer--${d}${X ? "" : " eyeon-map-viewer--empty"} ${G ?? ""}`,
|
|
3184
3186
|
style: {
|
|
3185
3187
|
...k,
|
|
3186
3188
|
"--map-accent": R.ACCENT_COLOR,
|
|
3187
3189
|
"--map-bg": R.MAP_BACKGROUND_COLOR
|
|
3188
3190
|
},
|
|
3189
3191
|
children: [
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
+
X ? null : /* @__PURE__ */ T("div", { className: "eyeon-map-viewer__empty", children: pn }),
|
|
3193
|
+
X && (P.search || P.amenities) && /* @__PURE__ */ T(
|
|
3192
3194
|
Zr,
|
|
3193
3195
|
{
|
|
3194
3196
|
doc: u,
|
|
@@ -3197,7 +3199,7 @@ function eo(t) {
|
|
|
3197
3199
|
onActiveLevelChange: st,
|
|
3198
3200
|
fromAnchorId: tt,
|
|
3199
3201
|
toAnchorId: J,
|
|
3200
|
-
onFromChange:
|
|
3202
|
+
onFromChange: F,
|
|
3201
3203
|
onToChange: E,
|
|
3202
3204
|
accessibleOnly: q,
|
|
3203
3205
|
onAccessibleOnlyChange: $,
|
|
@@ -3206,7 +3208,7 @@ function eo(t) {
|
|
|
3206
3208
|
showAmenities: P.amenities
|
|
3207
3209
|
}
|
|
3208
3210
|
),
|
|
3209
|
-
|
|
3211
|
+
X ? /* @__PURE__ */ T(
|
|
3210
3212
|
kn,
|
|
3211
3213
|
{
|
|
3212
3214
|
levels: u.levels,
|
|
@@ -3214,21 +3216,21 @@ function eo(t) {
|
|
|
3214
3216
|
onActiveLevelChange: st,
|
|
3215
3217
|
onZoomIn: () => {
|
|
3216
3218
|
var A;
|
|
3217
|
-
return (A =
|
|
3219
|
+
return (A = H.current) == null ? void 0 : A.zoomIn();
|
|
3218
3220
|
},
|
|
3219
3221
|
onZoomOut: () => {
|
|
3220
3222
|
var A;
|
|
3221
|
-
return (A =
|
|
3223
|
+
return (A = H.current) == null ? void 0 : A.zoomOut();
|
|
3222
3224
|
},
|
|
3223
3225
|
onReset: () => {
|
|
3224
3226
|
var A;
|
|
3225
|
-
return (A =
|
|
3227
|
+
return (A = H.current) == null ? void 0 : A.reset();
|
|
3226
3228
|
},
|
|
3227
3229
|
showFloors: P.floors,
|
|
3228
3230
|
showZoomReset: P.zoomReset
|
|
3229
3231
|
}
|
|
3230
3232
|
) : null,
|
|
3231
|
-
|
|
3233
|
+
X ? /* @__PURE__ */ T("div", { ref: _, className: "eyeon-map-viewer__canvas", children: /* @__PURE__ */ T(We, { fallback: null, children: /* @__PURE__ */ T(
|
|
3232
3234
|
Hr,
|
|
3233
3235
|
{
|
|
3234
3236
|
doc: u,
|
|
@@ -3240,24 +3242,24 @@ function eo(t) {
|
|
|
3240
3242
|
hoveredShapeId: U,
|
|
3241
3243
|
focusKey: i,
|
|
3242
3244
|
focusViewBounds: r,
|
|
3243
|
-
cameraRef:
|
|
3245
|
+
cameraRef: H,
|
|
3244
3246
|
eventSource: _,
|
|
3245
3247
|
imageProxyUrl: w,
|
|
3246
3248
|
onSelectShape: (A, y, v) => {
|
|
3247
|
-
var S,
|
|
3249
|
+
var S, W, f;
|
|
3248
3250
|
if (A == null) {
|
|
3249
3251
|
(S = t.onSelectShape) == null || S.call(t, null);
|
|
3250
3252
|
return;
|
|
3251
3253
|
}
|
|
3252
3254
|
if (v != null && v.additive || st(
|
|
3253
3255
|
It(u.levels, et, y)
|
|
3254
|
-
),
|
|
3256
|
+
), B) {
|
|
3255
3257
|
const o = u.levels.find((nt) => nt.id === y), j = o == null ? void 0 : o.anchors.find((nt) => nt.shapeId === A);
|
|
3256
3258
|
j && E(j.id);
|
|
3257
3259
|
}
|
|
3258
|
-
if ((
|
|
3260
|
+
if ((W = t.onSelectShape) == null || W.call(t, A, v), !(v != null && v.additive) && A === L) {
|
|
3259
3261
|
const o = Ut(u.levels, ut) ?? Nr(u.levels, A);
|
|
3260
|
-
o && ((f =
|
|
3262
|
+
o && ((f = H.current) == null || f.focusBounds(o));
|
|
3261
3263
|
}
|
|
3262
3264
|
}
|
|
3263
3265
|
}
|