@popcorn245/cornfield-components 0.49.0 → 0.50.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/chunks/{_corn-default-tokens-CoghUocx.js → _corn-default-tokens-BpIL6q5N.js} +722 -653
- package/dist/chunks/{corn-map-C9msiSKP.js → corn-map-CMNEW1lH.js} +451 -412
- package/dist/chunks/{scope-vxRGj-2V.js → scope-CmIkJ1qf.js} +89 -89
- package/dist/corn-map.js +1 -1
- package/dist/corn-scope.js +3 -3
- package/dist/index.js +2 -2
- package/dist/manifest.json +13 -13
- package/dist/version.json +1 -1
- package/package.json +1 -1
|
@@ -96,7 +96,7 @@ function n({ root: n = null, base: r = "", fetch: i, strings: a = {}, state: o }
|
|
|
96
96
|
}, y = () => s ? s.nodeType === 9 ? s.documentElement : s.nodeType === 11 ? s.host : s : null, b = o || e(), x = b.selectedNode || null, S = b.selectedEdge || null, C = {
|
|
97
97
|
node: x,
|
|
98
98
|
edge: S
|
|
99
|
-
}, w = [], T = !1,
|
|
99
|
+
}, w = [], T = !1, ee = (e, t) => (e.node ? e.node.id : null) !== (t.node ? t.node.id : null) || e.edge !== t.edge, E = (e) => {
|
|
100
100
|
if (w.push(e), !T) {
|
|
101
101
|
T = !0;
|
|
102
102
|
try {
|
|
@@ -105,7 +105,7 @@ function n({ root: n = null, base: r = "", fetch: i, strings: a = {}, state: o }
|
|
|
105
105
|
node: x,
|
|
106
106
|
edge: S
|
|
107
107
|
};
|
|
108
|
-
if (p || !
|
|
108
|
+
if (p || !ee(C, t)) continue;
|
|
109
109
|
let n = C;
|
|
110
110
|
C = t, O.emit("selection", {
|
|
111
111
|
...t,
|
|
@@ -117,17 +117,17 @@ function n({ root: n = null, base: r = "", fetch: i, strings: a = {}, state: o }
|
|
|
117
117
|
T = !1;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
-
},
|
|
120
|
+
}, D = (e, t, n, r) => {
|
|
121
121
|
let i = {
|
|
122
122
|
node: x,
|
|
123
123
|
edge: S
|
|
124
124
|
};
|
|
125
125
|
x = e || null, S = t || null;
|
|
126
|
-
let a =
|
|
126
|
+
let a = ee(i, {
|
|
127
127
|
node: x,
|
|
128
128
|
edge: S
|
|
129
129
|
}), o = !1, s = () => {
|
|
130
|
-
o || (o = !0, a &&
|
|
130
|
+
o || (o = !0, a && E(n));
|
|
131
131
|
};
|
|
132
132
|
return r || s(), {
|
|
133
133
|
changed: a,
|
|
@@ -140,14 +140,14 @@ function n({ root: n = null, base: r = "", fetch: i, strings: a = {}, state: o }
|
|
|
140
140
|
configurable: !0,
|
|
141
141
|
get: () => x,
|
|
142
142
|
set: (e) => {
|
|
143
|
-
|
|
143
|
+
D(e, S, "state", !1);
|
|
144
144
|
}
|
|
145
145
|
}), Object.defineProperty(b, "selectedEdge", {
|
|
146
146
|
enumerable: !0,
|
|
147
147
|
configurable: !0,
|
|
148
148
|
get: () => S,
|
|
149
149
|
set: (e) => {
|
|
150
|
-
|
|
150
|
+
D(x, e, "state", !1);
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
153
|
let O = {
|
|
@@ -179,7 +179,7 @@ function n({ root: n = null, base: r = "", fetch: i, strings: a = {}, state: o }
|
|
|
179
179
|
if (n !== void 0) return n;
|
|
180
180
|
}
|
|
181
181
|
},
|
|
182
|
-
setSelection: (e, t = null, { source: n = "api", quiet: r = !1 } = {}) =>
|
|
182
|
+
setSelection: (e, t = null, { source: n = "api", quiet: r = !1 } = {}) => D(e, t, n, r),
|
|
183
183
|
el: (e) => s ? s.querySelector(`[id="${String(e).replace(/["\\]/g, "\\$&")}"]`) : null,
|
|
184
184
|
attach(e) {
|
|
185
185
|
if (g) throw Error("This instance already has a map");
|
|
@@ -189,7 +189,12 @@ function n({ root: n = null, base: r = "", fetch: i, strings: a = {}, state: o }
|
|
|
189
189
|
};
|
|
190
190
|
return d.push(t), t;
|
|
191
191
|
},
|
|
192
|
-
active: () =>
|
|
192
|
+
active: () => {
|
|
193
|
+
if (!s || !c) return null;
|
|
194
|
+
if (s.nodeType !== 1) return s.activeElement || null;
|
|
195
|
+
let e = typeof s.getRootNode == "function" ? s.getRootNode() : c, t = e && e.activeElement !== void 0 ? e.activeElement : c.activeElement;
|
|
196
|
+
return t && s.contains(t) ? t : null;
|
|
197
|
+
},
|
|
193
198
|
tokenReader() {
|
|
194
199
|
let e = y();
|
|
195
200
|
if (!e || !l || !l.getComputedStyle) return null;
|
|
@@ -648,8 +653,68 @@ function S(e, t) {
|
|
|
648
653
|
near: r
|
|
649
654
|
};
|
|
650
655
|
}
|
|
656
|
+
var C = (e) => !e.kind && !e.dashed;
|
|
657
|
+
function w(e, t, { gap: n = 74 } = {}) {
|
|
658
|
+
let r = new Map(e.map((e) => [e.id, e])), i = e.filter((e) => _(e) !== "added"), a = e.filter((e) => _(e) === "added");
|
|
659
|
+
if (!a.length) return;
|
|
660
|
+
let o = new Set(i.map((e) => e.id)), s = (e) => {
|
|
661
|
+
let n = t.find((t) => C(t) && t.to === e.id && r.has(t.from));
|
|
662
|
+
if (n) return n.from;
|
|
663
|
+
let i = t.find((t) => t.from === e.id && r.has(t.to) || t.to === e.id && r.has(t.from));
|
|
664
|
+
return i ? i.from === e.id ? i.to : i.from : null;
|
|
665
|
+
}, c = (e, t) => i.every((r) => Math.hypot(r.x - e, r.y - t) >= n), l = (e, t, r) => {
|
|
666
|
+
let i = t === 0 && r === 0 ? -Math.PI / 2 : Math.atan2(r, t) || -Math.PI / 2, a = null;
|
|
667
|
+
for (let o = 96; o <= 576; o += 40) {
|
|
668
|
+
let s = Math.max(8, Math.round(2 * Math.PI * o / n));
|
|
669
|
+
for (let n = 0; n < s; n++) {
|
|
670
|
+
let l = Math.ceil(n / 2) * (n % 2 ? 1 : -1) * (2 * Math.PI / s), u = t + Math.cos(i + l) * o, d = r + Math.sin(i + l) * o;
|
|
671
|
+
if (a ||= {
|
|
672
|
+
x: u,
|
|
673
|
+
y: d
|
|
674
|
+
}, c(u, d)) {
|
|
675
|
+
e.x = u, e.y = d;
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
e.x = a.x, e.y = a.y;
|
|
681
|
+
}, u = a.slice();
|
|
682
|
+
for (let e = 0; e <= a.length && u.length; e++) {
|
|
683
|
+
let e = [];
|
|
684
|
+
for (let t of u) {
|
|
685
|
+
let n = r.get(s(t));
|
|
686
|
+
n && o.has(n.id) ? (l(t, n.x, n.y), i.push(t), o.add(t.id)) : e.push(t);
|
|
687
|
+
}
|
|
688
|
+
if (e.length === u.length) break;
|
|
689
|
+
u = e;
|
|
690
|
+
}
|
|
691
|
+
for (let e of u) l(e, 0, 0), i.push(e);
|
|
692
|
+
}
|
|
693
|
+
var T = 50;
|
|
694
|
+
function ee(e, t) {
|
|
695
|
+
let n = new Map(t.tiers.map((e) => [e.key, e]));
|
|
696
|
+
if (e.tiers.some((e) => e.nodes.length && !n.get(e.key)?.nodes.length)) return !1;
|
|
697
|
+
let r = new Map(t.tiers.filter((e) => e.nodes.length).map((e, n) => [e.key, t.headers[n]])), i = new Map(t.tiers.flatMap((e) => e.nodes).map((e) => [e.id, e]));
|
|
698
|
+
e.headers = t.headers.map((e) => ({ ...e }));
|
|
699
|
+
let a = t.top;
|
|
700
|
+
for (let t of e.tiers) {
|
|
701
|
+
if (!t.nodes.length) continue;
|
|
702
|
+
let e = t.nodes.filter((e) => i.has(e.id)), n = t.nodes.filter((e) => !i.has(e.id));
|
|
703
|
+
for (let t of e) {
|
|
704
|
+
let e = i.get(t.id);
|
|
705
|
+
t.x = e.x, t.y = e.y, t.r = e.r;
|
|
706
|
+
}
|
|
707
|
+
if (!n.length) continue;
|
|
708
|
+
let o = r.get(t.key).rows, s = Math.max(...e.map((e) => e.x)), c = (e) => (e - (o - 1) / 2) * T, l = new Set(e.filter((e) => e.x === s).map((e) => Math.round(e.y))), u = 0;
|
|
709
|
+
for (let e of n) {
|
|
710
|
+
for (; l.has(Math.round(c(u)));) u++;
|
|
711
|
+
e.x = s, e.y = c(u), l.add(Math.round(e.y)), a = Math.min(a, -(e.y + 40));
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
return e.top = a, !0;
|
|
715
|
+
}
|
|
651
716
|
// ../core/schema.js
|
|
652
|
-
var
|
|
717
|
+
var E = {
|
|
653
718
|
root: {
|
|
654
719
|
color: "#f59e0b",
|
|
655
720
|
r: 28
|
|
@@ -734,7 +799,7 @@ var C = {
|
|
|
734
799
|
color: "#f7ed81",
|
|
735
800
|
r: 16
|
|
736
801
|
}
|
|
737
|
-
},
|
|
802
|
+
}, D = Object.freeze({
|
|
738
803
|
root: "circle",
|
|
739
804
|
app: "circle",
|
|
740
805
|
page: "circle",
|
|
@@ -756,21 +821,21 @@ var C = {
|
|
|
756
821
|
floor: "square",
|
|
757
822
|
room: "square",
|
|
758
823
|
persona: "diamond"
|
|
759
|
-
}),
|
|
824
|
+
}), O = Object.freeze([
|
|
760
825
|
"circle",
|
|
761
826
|
"rounded-square",
|
|
762
827
|
"hexagon",
|
|
763
828
|
"square",
|
|
764
829
|
"diamond"
|
|
765
|
-
]),
|
|
830
|
+
]), te = (e) => typeof e == "string" && Object.hasOwn(D, e) ? D[e] : "circle", ne = ["reads", "writes"], re = [
|
|
766
831
|
"calls",
|
|
767
832
|
"triggers",
|
|
768
833
|
"delivers"
|
|
769
|
-
],
|
|
834
|
+
], ie = ["runs-on"];
|
|
770
835
|
[
|
|
771
|
-
...
|
|
772
|
-
...
|
|
773
|
-
...
|
|
836
|
+
...ne,
|
|
837
|
+
...re,
|
|
838
|
+
...ie
|
|
774
839
|
];
|
|
775
840
|
// ../explorer/cloud-model.js
|
|
776
841
|
var k = {
|
|
@@ -792,45 +857,45 @@ var k = {
|
|
|
792
857
|
ticks: 2,
|
|
793
858
|
color: "#a78bfa"
|
|
794
859
|
}
|
|
795
|
-
},
|
|
860
|
+
}, ae = (e) => e && Object.hasOwn(k, e.when) ? e.when : "run", oe = (e) => e && e.kind === "calls" ? k[ae(e)].ticks : 0, se = (e) => e && e.kind === "web" ? "web" : "cloud", A = Object.keys(k), ce = Object.fromEntries(A.map((e, t) => [e, t])), le = /* @__PURE__ */ new Set([
|
|
796
861
|
"persona",
|
|
797
862
|
"room",
|
|
798
863
|
"floor"
|
|
799
|
-
]),
|
|
864
|
+
]), ue = [
|
|
800
865
|
"external",
|
|
801
866
|
"machine",
|
|
802
867
|
"container",
|
|
803
868
|
"service",
|
|
804
869
|
"page",
|
|
805
870
|
"app"
|
|
806
|
-
],
|
|
807
|
-
let t =
|
|
808
|
-
return t < 0 ?
|
|
809
|
-
},
|
|
871
|
+
], de = (e) => {
|
|
872
|
+
let t = ue.indexOf(e);
|
|
873
|
+
return t < 0 ? ue.length : t;
|
|
874
|
+
}, fe = {
|
|
810
875
|
color: "#050608",
|
|
811
876
|
halo: "child"
|
|
812
|
-
},
|
|
877
|
+
}, pe = {
|
|
813
878
|
alpha: .92,
|
|
814
879
|
glow: 10,
|
|
815
880
|
edgeAlpha: .9,
|
|
816
881
|
edgeWidth: 2.2
|
|
817
|
-
},
|
|
818
|
-
function
|
|
882
|
+
}, me = (e, t) => `${e}->${t}`;
|
|
883
|
+
function he(e, t, n) {
|
|
819
884
|
let r = new Map(t.map((e) => [e.id, e])), i = [...new Set(Array.isArray(e) ? e : [])].filter((e) => r.has(e)), a = new Set(i), o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
820
885
|
o.has(e) || o.set(e, []), o.get(e).push(t);
|
|
821
886
|
}, c = /* @__PURE__ */ new Map();
|
|
822
887
|
for (let e of n) if (e && e.from && e.to) {
|
|
823
888
|
if (e.kind === "calls") s(e.to, {
|
|
824
889
|
from: e.from,
|
|
825
|
-
rank:
|
|
890
|
+
rank: ce[ae(e)],
|
|
826
891
|
browser: e.side === "browser",
|
|
827
|
-
key:
|
|
892
|
+
key: me(e.from, e.to)
|
|
828
893
|
});
|
|
829
894
|
else if (e.kind === "triggers" && (r.get(e.from) || {}).type === "page" && (r.get(e.to) || {}).type === "service") s(e.to, {
|
|
830
895
|
from: e.from,
|
|
831
896
|
rank: 0,
|
|
832
897
|
browser: !1,
|
|
833
|
-
key:
|
|
898
|
+
key: me(e.from, e.to)
|
|
834
899
|
});
|
|
835
900
|
else if (e.kind === "runs-on" && Array.isArray(e.mappings)) for (let t of e.mappings) {
|
|
836
901
|
if (!t || !t.service) continue;
|
|
@@ -848,7 +913,7 @@ function ue(e, t, n) {
|
|
|
848
913
|
key: null
|
|
849
914
|
}));
|
|
850
915
|
return i.length ? [...t, ...i] : t;
|
|
851
|
-
}, u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), f =
|
|
916
|
+
}, u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), f = A.map(() => []);
|
|
852
917
|
i.forEach((e) => f[0].push({
|
|
853
918
|
id: e,
|
|
854
919
|
rank: 0,
|
|
@@ -858,13 +923,13 @@ function ue(e, t, n) {
|
|
|
858
923
|
let { id: n, rank: i, browser: o } = f[e][t], s = u.get(n);
|
|
859
924
|
if (!(s && (s.rank < i || s.rank === i && s.browser !== o))) for (let e of l(n)) {
|
|
860
925
|
let t = r.get(e.from);
|
|
861
|
-
if (!t || a.has(e.from) ||
|
|
926
|
+
if (!t || a.has(e.from) || le.has(t.type)) continue;
|
|
862
927
|
let n = Math.max(i, e.rank), s = o || e.browser;
|
|
863
|
-
e.key && (!d.has(e.key) ||
|
|
928
|
+
e.key && (!d.has(e.key) || ce[d.get(e.key)] > n) && d.set(e.key, A[n]);
|
|
864
929
|
let c = u.get(e.from);
|
|
865
930
|
c && (c.rank < n || c.rank === n && (!c.browser || s)) || (u.set(e.from, {
|
|
866
931
|
rank: n,
|
|
867
|
-
when:
|
|
932
|
+
when: A[n],
|
|
868
933
|
browser: s
|
|
869
934
|
}), f[n].push({
|
|
870
935
|
id: e.from,
|
|
@@ -881,8 +946,8 @@ function ue(e, t, n) {
|
|
|
881
946
|
down: i,
|
|
882
947
|
hits: p,
|
|
883
948
|
edges: d,
|
|
884
|
-
groups:
|
|
885
|
-
let t = [...p].filter(([, t]) => t.when === e).map(([e]) => e).sort((e, t) =>
|
|
949
|
+
groups: A.map((e) => {
|
|
950
|
+
let t = [...p].filter(([, t]) => t.when === e).map(([e]) => e).sort((e, t) => de(r.get(e).type) - de(r.get(t).type) || m(e).localeCompare(m(t))), { title: n, color: i } = k[e];
|
|
886
951
|
return {
|
|
887
952
|
when: e,
|
|
888
953
|
title: n,
|
|
@@ -892,25 +957,25 @@ function ue(e, t, n) {
|
|
|
892
957
|
}).filter((e) => e.ids.length)
|
|
893
958
|
};
|
|
894
959
|
}
|
|
895
|
-
var
|
|
896
|
-
function
|
|
960
|
+
var j = null;
|
|
961
|
+
function ge(e, t, n) {
|
|
897
962
|
let r = e && Array.isArray(e.down) ? e.down : [];
|
|
898
963
|
if (!r.length) return null;
|
|
899
964
|
let i = r.join("\0");
|
|
900
|
-
return
|
|
965
|
+
return j && j.key === i && j.nodes === t && j.edges === n || (j = {
|
|
901
966
|
key: i,
|
|
902
967
|
nodes: t,
|
|
903
968
|
edges: n,
|
|
904
|
-
radius:
|
|
905
|
-
}),
|
|
969
|
+
radius: he(r, t, n)
|
|
970
|
+
}), j.radius;
|
|
906
971
|
}
|
|
907
|
-
function
|
|
972
|
+
function _e(e, t) {
|
|
908
973
|
if (!t) return;
|
|
909
974
|
let n = new Set(t.down);
|
|
910
975
|
for (let r of e.nodes) {
|
|
911
976
|
if (n.has(r.id)) {
|
|
912
977
|
Object.assign(r, {
|
|
913
|
-
color:
|
|
978
|
+
color: fe.color,
|
|
914
979
|
alpha: 1,
|
|
915
980
|
labelAlpha: 1,
|
|
916
981
|
labelColor: "#f8fafc",
|
|
@@ -918,12 +983,12 @@ function fe(e, t) {
|
|
|
918
983
|
labelStrike: !0,
|
|
919
984
|
connected: !0,
|
|
920
985
|
glow: 0
|
|
921
|
-
}), r.halo === "none" && (r.halo =
|
|
986
|
+
}), r.halo === "none" && (r.halo = fe.halo);
|
|
922
987
|
continue;
|
|
923
988
|
}
|
|
924
989
|
let e = t.hits.get(r.id);
|
|
925
990
|
if (!e) continue;
|
|
926
|
-
let i = Math.max(r.alpha,
|
|
991
|
+
let i = Math.max(r.alpha, pe.alpha);
|
|
927
992
|
Object.assign(r, {
|
|
928
993
|
color: k[e.when].color,
|
|
929
994
|
alpha: i,
|
|
@@ -931,101 +996,101 @@ function fe(e, t) {
|
|
|
931
996
|
labelColor: "#f8fafc",
|
|
932
997
|
labelKeep: !0,
|
|
933
998
|
connected: !0,
|
|
934
|
-
glow: Math.max(r.glow || 0,
|
|
999
|
+
glow: Math.max(r.glow || 0, pe.glow)
|
|
935
1000
|
});
|
|
936
1001
|
}
|
|
937
1002
|
for (let n of e.edges) {
|
|
938
|
-
let e = t.edges.get(
|
|
1003
|
+
let e = t.edges.get(me(n.from, n.to));
|
|
939
1004
|
if (!e) continue;
|
|
940
1005
|
let r = k[e].color;
|
|
941
|
-
n.color = r, n.glow && (n.glowColor = r), n.alpha = Math.max(n.alpha,
|
|
1006
|
+
n.color = r, n.glow && (n.glowColor = r), n.alpha = Math.max(n.alpha, pe.edgeAlpha), n.width = Math.max(n.width, pe.edgeWidth), n.packet &&= {
|
|
942
1007
|
...n.packet,
|
|
943
1008
|
glowColor: r
|
|
944
1009
|
};
|
|
945
1010
|
}
|
|
946
1011
|
}
|
|
947
1012
|
// ../explorer/house-model.js
|
|
948
|
-
var
|
|
1013
|
+
var ve = /* @__PURE__ */ new Set([
|
|
949
1014
|
"container",
|
|
950
1015
|
"stack",
|
|
951
1016
|
"machine"
|
|
952
1017
|
]);
|
|
953
|
-
function
|
|
1018
|
+
function ye(e, t) {
|
|
954
1019
|
return !!(e.house && e.house.shown && e.house.shown.has(t.id));
|
|
955
1020
|
}
|
|
956
|
-
var
|
|
957
|
-
function
|
|
1021
|
+
var M = null;
|
|
1022
|
+
function be(e) {
|
|
958
1023
|
let t = e.house && e.house.cloudLines;
|
|
959
|
-
return !t || !t.length ? e.edges : (
|
|
1024
|
+
return !t || !t.length ? e.edges : (M && M.edges === e.edges && M.lines === t || (M = {
|
|
960
1025
|
edges: e.edges,
|
|
961
1026
|
lines: t,
|
|
962
1027
|
all: [...e.edges, ...t]
|
|
963
|
-
}),
|
|
1028
|
+
}), M.all);
|
|
964
1029
|
}
|
|
965
|
-
function
|
|
966
|
-
return e.kind === "runs-on" || e.kind === "delivers" ? "flow" : e.kind === "calls" && n && n.type === "external" ? e.rolled || !(t &&
|
|
1030
|
+
function xe(e, t, n) {
|
|
1031
|
+
return e.kind === "runs-on" || e.kind === "delivers" ? "flow" : e.kind === "calls" && n && n.type === "external" ? e.rolled || !(t && ve.has(t.type)) ? "flow" : null : !e.kind && !e.dashed && t && t.type === "persona" && n && n.type === "device" || !e.kind && e.dashed && t && (t.type === "container" || t.type === "external") && n && n.type === "device" ? "link" : null;
|
|
967
1032
|
}
|
|
968
|
-
var
|
|
1033
|
+
var Se = [
|
|
969
1034
|
"persona",
|
|
970
1035
|
"machine",
|
|
971
1036
|
"stack",
|
|
972
1037
|
"floor",
|
|
973
1038
|
"external"
|
|
974
1039
|
];
|
|
975
|
-
function
|
|
1040
|
+
function Ce(e, t) {
|
|
976
1041
|
let n = t.house;
|
|
977
1042
|
e.decor.rings = [], e.decor.lanes = n && n.lanes ? n.lanes : [];
|
|
978
|
-
for (let t of e.nodes) t.type === "room" ? (t.label = "", t.labelKeep = !1) :
|
|
979
|
-
return n && n.cloudIds && n.cloudIds.size &&
|
|
1043
|
+
for (let t of e.nodes) t.type === "room" ? (t.label = "", t.labelKeep = !1) : Se.includes(t.type) && (t.labelKeep = !0);
|
|
1044
|
+
return n && n.cloudIds && n.cloudIds.size && Oe(e, t), e;
|
|
980
1045
|
}
|
|
981
|
-
var
|
|
1046
|
+
var we = {
|
|
982
1047
|
run: .9,
|
|
983
1048
|
deploy: .25,
|
|
984
1049
|
renew: .9
|
|
985
|
-
},
|
|
1050
|
+
}, Te = {
|
|
986
1051
|
alpha: .9,
|
|
987
1052
|
width: 2.2
|
|
988
|
-
},
|
|
989
|
-
function
|
|
990
|
-
let n = t.house, r = t.scenario ?
|
|
1053
|
+
}, Ee = Object.keys(k), De = (e) => Ee.find((t) => k[t].ticks === (e.ticks || 0)) || "run";
|
|
1054
|
+
function Oe(e, t) {
|
|
1055
|
+
let n = t.house, r = t.scenario ? ge(t.scenario, t.nodes, t.edges) : null, i = !t.scenario && !!t.selectedNode, a = new Map((n.cloudLines || []).map((e) => [`${e.from}->${e.to}|${e.when}`, e])), o = r ? new Set(r.down) : null;
|
|
991
1056
|
e.edges = e.edges.filter((e) => {
|
|
992
1057
|
if (e.kind !== "calls" || !n.cloudIds.has(e.to)) return !0;
|
|
993
|
-
let t =
|
|
1058
|
+
let t = De(e);
|
|
994
1059
|
if (r) {
|
|
995
1060
|
let i = a.get(`${e.from}->${e.to}|${t}`), s = o.has(e.to) ? "run" : r.hits.has(e.to) ? r.hits.get(e.to).when : null;
|
|
996
1061
|
if (i && s) {
|
|
997
|
-
let n =
|
|
1062
|
+
let n = Ee[Math.max(Ee.indexOf(s), Ee.indexOf(t))];
|
|
998
1063
|
return Object.assign(e, {
|
|
999
1064
|
color: k[n].color,
|
|
1000
|
-
alpha: Math.max(e.alpha,
|
|
1001
|
-
width: Math.max(e.width,
|
|
1065
|
+
alpha: Math.max(e.alpha, Te.alpha),
|
|
1066
|
+
width: Math.max(e.width, Te.width)
|
|
1002
1067
|
}), e.glow && (e.glowColor = e.color), !0;
|
|
1003
1068
|
}
|
|
1004
1069
|
return !n.phone || r.edges.has(`${e.from}->${e.to}`);
|
|
1005
1070
|
}
|
|
1006
|
-
return i ? !n.phone || e.alpha >= .5 : !n.phone && (e.alpha =
|
|
1071
|
+
return i ? !n.phone || e.alpha >= .5 : !n.phone && (e.alpha = we[t], !0);
|
|
1007
1072
|
});
|
|
1008
1073
|
}
|
|
1009
1074
|
// ../explorer/check-model.js
|
|
1010
|
-
var
|
|
1075
|
+
var ke = {
|
|
1011
1076
|
allowed: "#4ade80",
|
|
1012
1077
|
refused: "#ff2d55",
|
|
1013
1078
|
mismatch: "#fbbf24"
|
|
1014
|
-
},
|
|
1015
|
-
function
|
|
1079
|
+
}, Ae = 18, je = 4.5;
|
|
1080
|
+
function Me(e, t) {
|
|
1016
1081
|
return e.from !== t.from || e.to !== t.to ? !1 : t.kind ? e.kind === t.kind && (!t.flow || e.key.split("|")[2] === t.flow) : e.kind === "ownership" || e.kind === "usage";
|
|
1017
1082
|
}
|
|
1018
|
-
function
|
|
1083
|
+
function Ne(e, t) {
|
|
1019
1084
|
let n = t && t.verdict;
|
|
1020
1085
|
if (!n || t.done) return;
|
|
1021
|
-
let r = n.mismatch ?
|
|
1086
|
+
let r = n.mismatch ? ke.mismatch : ke[n.state];
|
|
1022
1087
|
if (!r) return;
|
|
1023
1088
|
let { node: i, edge: a } = t.current;
|
|
1024
1089
|
if (i !== void 0) {
|
|
1025
1090
|
let t = e.nodes.find((e) => e.id === i);
|
|
1026
|
-
t && (t.color = r, t.glow = Math.max(t.glow || 0,
|
|
1091
|
+
t && (t.color = r, t.glow = Math.max(t.glow || 0, Ae));
|
|
1027
1092
|
} else a && e.edges.forEach((e) => {
|
|
1028
|
-
|
|
1093
|
+
Me(e, a) && (e.color = r, e.glowColor = r, e.glow = Math.max(e.glow || 0, Ae), e.width = Math.max(e.width || 0, je), e.packet &&= n.state === "refused" && !n.mismatch ? {
|
|
1029
1094
|
...e.packet,
|
|
1030
1095
|
color: r,
|
|
1031
1096
|
glowColor: r,
|
|
@@ -1038,26 +1103,26 @@ function Oe(e, t) {
|
|
|
1038
1103
|
});
|
|
1039
1104
|
}
|
|
1040
1105
|
// ../core/layers.js
|
|
1041
|
-
var
|
|
1106
|
+
var Pe = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, Fe = Object.freeze([
|
|
1042
1107
|
"key",
|
|
1043
1108
|
"label",
|
|
1044
1109
|
"desc",
|
|
1045
1110
|
"match"
|
|
1046
|
-
]),
|
|
1111
|
+
]), N = Object.freeze([
|
|
1047
1112
|
"type",
|
|
1048
1113
|
"kind",
|
|
1049
1114
|
"parent",
|
|
1050
1115
|
"field"
|
|
1051
|
-
]),
|
|
1116
|
+
]), Ie = Object.freeze([
|
|
1052
1117
|
"add",
|
|
1053
1118
|
"off",
|
|
1054
1119
|
"order"
|
|
1055
|
-
]),
|
|
1120
|
+
]), Le = /^[A-Za-z][A-Za-z0-9_]*$/, Re = Object.freeze([
|
|
1056
1121
|
"root",
|
|
1057
1122
|
"external",
|
|
1058
1123
|
"floor",
|
|
1059
1124
|
"room"
|
|
1060
|
-
]),
|
|
1125
|
+
]), ze = Object.freeze([
|
|
1061
1126
|
{
|
|
1062
1127
|
key: "app",
|
|
1063
1128
|
label: "Apps",
|
|
@@ -1201,91 +1266,91 @@ var ke = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, Ae = Object.freeze([
|
|
|
1201
1266
|
match: { type: "persona" },
|
|
1202
1267
|
live: !0
|
|
1203
1268
|
}
|
|
1204
|
-
]),
|
|
1205
|
-
|
|
1206
|
-
n ?
|
|
1269
|
+
]), Be = Object.freeze(ze.map((e) => e.key)), Ve = new Set(Be), He = Object.keys(E), P = (e) => typeof e == "object" && !!e && !Array.isArray(e), Ue = /* @__PURE__ */ RegExp("[\\u0000-\\u001f\\u007f-\\u009f\\u2028\\u2029]"), F = (e) => typeof e == "string" ? `"${e.length > 40 ? `${e.slice(0, 40)}…` : e}"` : typeof e == "number" || typeof e == "boolean" ? String(e) : Array.isArray(e) ? "a list" : e === null ? "null" : typeof e, We = (e) => typeof e == "string" && e.length > 0 && e.length <= 80 && !Ue.test(e) || typeof e == "number" && Number.isFinite(e) || typeof e == "boolean", Ge = /^[a-z0-9]+(-[a-z0-9]+)*$/, Ke = new Set(He), qe = (e, t) => Ke.has(e) && typeof t == "string" && t.length <= 32 && Ge.test(t) ? `--corn-map-kind-${e}-${t}` : null, Je = (e) => typeof e == "string" && e.length <= 32 && Pe.test(e) ? `--corn-map-group-${e}` : null, Ye = ({ type: e, kind: t, layer: n, group: r }) => [
|
|
1270
|
+
qe(e, t),
|
|
1271
|
+
n ? Je(n) : null,
|
|
1207
1272
|
`--corn-map-node-${e}`,
|
|
1208
1273
|
`--corn-map-group-${r || e}`
|
|
1209
1274
|
].filter(Boolean);
|
|
1210
|
-
function
|
|
1275
|
+
function Xe(e) {
|
|
1211
1276
|
if (typeof e != "string") return null;
|
|
1212
|
-
if (
|
|
1277
|
+
if (Ke.has(e)) return { type: e };
|
|
1213
1278
|
let t = e.indexOf(":");
|
|
1214
1279
|
if (t < 0) return null;
|
|
1215
1280
|
let n = e.slice(0, t), r = e.slice(t + 1);
|
|
1216
|
-
return n === "layer" ?
|
|
1281
|
+
return n === "layer" ? Pe.test(r) && r.length <= 32 ? { layer: r } : null : Ke.has(n) && Ge.test(r) && r.length <= 32 ? {
|
|
1217
1282
|
type: n,
|
|
1218
1283
|
kind: r
|
|
1219
1284
|
} : null;
|
|
1220
1285
|
}
|
|
1221
|
-
function
|
|
1286
|
+
function Ze(e, t, n) {
|
|
1222
1287
|
let r = [];
|
|
1223
|
-
return typeof t == "string" &&
|
|
1288
|
+
return typeof t == "string" && Ge.test(t) && t.length <= 32 && r.push(`${e}:${t}`), n && r.push(`layer:${n}`), r.push(e), r;
|
|
1224
1289
|
}
|
|
1225
|
-
var
|
|
1226
|
-
function
|
|
1227
|
-
let t =
|
|
1290
|
+
var Qe = /* @__PURE__ */ new WeakMap();
|
|
1291
|
+
function $e(e) {
|
|
1292
|
+
let t = Qe.get(e);
|
|
1228
1293
|
if (t && t.length === e.length) return t.map;
|
|
1229
1294
|
let n = /* @__PURE__ */ new Map();
|
|
1230
1295
|
for (let t of e) t && !t.dashed && !t.kind && t.from && t.to && t.from !== t.to && !n.has(t.to) && n.set(t.to, t.from);
|
|
1231
|
-
return
|
|
1296
|
+
return Qe.set(e, {
|
|
1232
1297
|
length: e.length,
|
|
1233
1298
|
map: n
|
|
1234
1299
|
}), n;
|
|
1235
1300
|
}
|
|
1236
|
-
var
|
|
1237
|
-
function
|
|
1238
|
-
if (!
|
|
1301
|
+
var I = (e, t) => Array.isArray(e) ? e.includes(t) : e === t;
|
|
1302
|
+
function et(e, t, n) {
|
|
1303
|
+
if (!P(e)) return !1;
|
|
1239
1304
|
let r = !1;
|
|
1240
|
-
if (e.type !== void 0 && (r = !0, !
|
|
1305
|
+
if (e.type !== void 0 && (r = !0, !I(e.type, t.type)) || e.kind !== void 0 && (r = !0, !I(e.kind, t.kind)) || e.parent !== void 0 && (r = !0, !n || !I(e.parent, n(t)))) return !1;
|
|
1241
1306
|
if (e.field !== void 0) {
|
|
1242
1307
|
r = !0;
|
|
1243
1308
|
for (let n of Object.keys(e.field)) {
|
|
1244
1309
|
if (!Object.hasOwn(t, n)) return !1;
|
|
1245
1310
|
let r = t[n], i = e.field[n];
|
|
1246
|
-
if (!(Array.isArray(r) ? r.some((e) =>
|
|
1311
|
+
if (!(Array.isArray(r) ? r.some((e) => I(i, e)) : I(i, r))) return !1;
|
|
1247
1312
|
}
|
|
1248
1313
|
}
|
|
1249
1314
|
return r;
|
|
1250
1315
|
}
|
|
1251
|
-
var
|
|
1252
|
-
function
|
|
1316
|
+
var tt = [...ze.filter((e) => e.match)].sort((e, t) => Number("kind" in t.match) - Number("kind" in e.match));
|
|
1317
|
+
function nt(e) {
|
|
1253
1318
|
if (e.type === "root") return null;
|
|
1254
1319
|
if (e.type === "external") return e.kind === "web" ? "web" : "cloud";
|
|
1255
|
-
for (let t of
|
|
1320
|
+
for (let t of tt) if (et(t.match, e)) return t.key;
|
|
1256
1321
|
return e.type;
|
|
1257
1322
|
}
|
|
1258
|
-
function
|
|
1323
|
+
function rt(e, t, n) {
|
|
1259
1324
|
if (!e || !e.length || t.type === "root") return null;
|
|
1260
|
-
for (let r of e) if (
|
|
1325
|
+
for (let r of e) if (et(r.match, t, n)) return r.key;
|
|
1261
1326
|
return null;
|
|
1262
1327
|
}
|
|
1263
|
-
var
|
|
1264
|
-
let t = (Array.isArray(e) ? e : []).map((e) =>
|
|
1265
|
-
return `${
|
|
1328
|
+
var it = (e, t, n) => rt(e, t, n) || nt(t), at = `${He.slice(0, 5).join(", ")}, …`, ot = (e) => {
|
|
1329
|
+
let t = (Array.isArray(e) ? e : []).map((e) => P(e) && typeof e.key == "string" ? e.key : null).filter((e) => e && Pe.test(e));
|
|
1330
|
+
return `${Be.slice(0, 3).join(", ")}, …${t.length ? `, ${t[t.length - 1]}` : ""}`;
|
|
1266
1331
|
};
|
|
1267
|
-
function
|
|
1332
|
+
function st(e, t, n, r) {
|
|
1268
1333
|
return Array.isArray(n) ? (n.length ? n.length > 20 && r.push(`${e}.${t} has ${n.length} values: at most 20.`) : r.push(`${e}.${t} is an empty list: give at least one value, or leave the key out.`), n.length <= 20 ? n : []) : [n];
|
|
1269
1334
|
}
|
|
1270
|
-
function
|
|
1271
|
-
if (!
|
|
1335
|
+
function ct(e, t, n) {
|
|
1336
|
+
if (!P(t)) n.push(`${e}.match is { type, kind, parent, field }: say at least one of them.`);
|
|
1272
1337
|
else {
|
|
1273
|
-
for (let r of Object.keys(t))
|
|
1274
|
-
if (!Object.keys(t).some((e) =>
|
|
1338
|
+
for (let r of Object.keys(t)) N.includes(r) || n.push(`${e}.match has unknown key "${r}": known: ${N.join(", ")}. A match is data: no pattern, no function.`);
|
|
1339
|
+
if (!Object.keys(t).some((e) => N.includes(e))) Object.keys(t).length || n.push(`${e}.match is empty: say at least one of ${N.join(", ")}.`);
|
|
1275
1340
|
else {
|
|
1276
|
-
if ("type" in t) for (let r of
|
|
1277
|
-
if ("kind" in t) for (let r of
|
|
1278
|
-
if ("parent" in t) for (let r of
|
|
1341
|
+
if ("type" in t) for (let r of st(`${e}.match`, "type", t.type, n)) typeof r == "string" && He.includes(r) || n.push(`${e}.match.type ${F(r)} is not a node type (${at}).`);
|
|
1342
|
+
if ("kind" in t) for (let r of st(`${e}.match`, "kind", t.kind, n)) (typeof r != "string" || !r || r.length > 80 || Ue.test(r)) && n.push(`${e}.match.kind ${F(r)}: a kind is text, one line, at most 80 characters.`);
|
|
1343
|
+
if ("parent" in t) for (let r of st(`${e}.match`, "parent", t.parent, n)) (typeof r != "string" || !r || r.length > 200 || Ue.test(r)) && n.push(`${e}.match.parent ${F(r)}: a parent is a node id (text), like "pkg-core".`);
|
|
1279
1344
|
if ("field" in t) {
|
|
1280
1345
|
let r = t.field;
|
|
1281
|
-
if (!
|
|
1346
|
+
if (!P(r)) {
|
|
1282
1347
|
n.push(`${e}.match.field is { name: value }: a node field and the value (or list of values) it must have.`);
|
|
1283
1348
|
return;
|
|
1284
1349
|
}
|
|
1285
1350
|
let i = Object.keys(r);
|
|
1286
1351
|
i.length || n.push(`${e}.match.field is empty: name a field, like { audience: 'household' }.`), i.length > 4 && n.push(`${e}.match.field names ${i.length} fields: at most 4.`);
|
|
1287
1352
|
for (let t of i.slice(0, 20)) {
|
|
1288
|
-
if (!
|
|
1353
|
+
if (!Le.test(t) || t.length > 40) {
|
|
1289
1354
|
n.push(`${e}.match.field "${t.slice(0, 40)}": a field name is letters, digits and "_", starting with a letter.`);
|
|
1290
1355
|
continue;
|
|
1291
1356
|
}
|
|
@@ -1298,17 +1363,17 @@ function it(e, t, n) {
|
|
|
1298
1363
|
continue;
|
|
1299
1364
|
}
|
|
1300
1365
|
let i = Array.isArray(r[t]) ? r[t] : [r[t]];
|
|
1301
|
-
Array.isArray(r[t]) && (!i.length || i.length > 20) ? n.push(`${e}.match.field.${t} is a list of ${i.length}: one to 20 values.`) : i.every(
|
|
1366
|
+
Array.isArray(r[t]) && (!i.length || i.length > 20) ? n.push(`${e}.match.field.${t} is a list of ${i.length}: one to 20 values.`) : i.every(We) || n.push(`${e}.match.field.${t}: a value is text, a number, true or false, or a list of them.`);
|
|
1302
1367
|
}
|
|
1303
1368
|
}
|
|
1304
1369
|
}
|
|
1305
1370
|
}
|
|
1306
1371
|
}
|
|
1307
|
-
function
|
|
1372
|
+
function lt(e) {
|
|
1308
1373
|
if (e === void 0) return [];
|
|
1309
|
-
if (!
|
|
1374
|
+
if (!P(e)) return ["\"layers\" is an object: { add: [{ key, label, match }], off: [keys], order: [keys] }."];
|
|
1310
1375
|
let t = [];
|
|
1311
|
-
for (let n of Object.keys(e))
|
|
1376
|
+
for (let n of Object.keys(e)) Ie.includes(n) || t.push(`layers has unknown key "${n}": known: ${Ie.join(", ")}.`);
|
|
1312
1377
|
let n = e.add;
|
|
1313
1378
|
n !== void 0 && !Array.isArray(n) && t.push("layers.add is a list of project layers: [{ key, label, desc?, match }].");
|
|
1314
1379
|
let r = Array.isArray(n) ? n : [];
|
|
@@ -1316,24 +1381,24 @@ function at(e) {
|
|
|
1316
1381
|
let i = /* @__PURE__ */ new Map();
|
|
1317
1382
|
r.slice(0, 100).forEach((e, n) => {
|
|
1318
1383
|
let r = `layers.add[${n}]`;
|
|
1319
|
-
if (!
|
|
1384
|
+
if (!P(e)) {
|
|
1320
1385
|
t.push(`${r} is { key, label, desc?, match }.`);
|
|
1321
1386
|
return;
|
|
1322
1387
|
}
|
|
1323
1388
|
for (let n of Object.keys(e)) {
|
|
1324
|
-
if (
|
|
1389
|
+
if (Fe.includes(n)) continue;
|
|
1325
1390
|
let e = /^colou?r$|^icon$|^fill$/i.test(n) ? " Colours and icons are the theme's." : n === "on" || n === "hide" ? " Whether a layer starts off is layers.off." : "";
|
|
1326
|
-
t.push(`${r} has unknown key "${n}": known: ${
|
|
1391
|
+
t.push(`${r} has unknown key "${n}": known: ${Fe.join(", ")}.${e}`);
|
|
1327
1392
|
}
|
|
1328
1393
|
let a = e.key;
|
|
1329
|
-
typeof a == "string" ?
|
|
1394
|
+
typeof a == "string" ? Ve.has(a) ? t.push(`${r}.key ${F(a)} is a starting layer: pick another key.`) : Re.includes(a) ? t.push(`${r}.key ${F(a)} is reserved (a node type): pick another key.`) : !Pe.test(a) || a.length > 32 ? t.push(`${r}.key ${F(a)}: lower-case words joined by "-", like "edge-stack"${a.length > 32 ? ", at most 32 characters" : ""}.`) : i.has(a) ? t.push(`${r}.key ${F(a)} is also layers.add[${i.get(a)}].key: a key is used once.`) : i.set(a, n) : t.push(`${r}.key is required: lower-case words joined by "-", like "edge-stack".`);
|
|
1330
1395
|
let o = (n, i, a) => {
|
|
1331
1396
|
let o = e[n];
|
|
1332
|
-
o === void 0 ? a && t.push(`${r}.${n} is required: plain text, one line, at most ${i} characters.`) : typeof o != "string" || !o.trim() ? t.push(`${r}.${n} ${
|
|
1397
|
+
o === void 0 ? a && t.push(`${r}.${n} is required: plain text, one line, at most ${i} characters.`) : typeof o != "string" || !o.trim() ? t.push(`${r}.${n} ${F(o)}: plain text, one line, at most ${i} characters.`) : Ue.test(o) ? t.push(`${r}.${n}: one line of plain text (no line break or control character).`) : [...o].length > i && t.push(`${r}.${n} is ${[...o].length} characters: at most ${i}.`);
|
|
1333
1398
|
};
|
|
1334
|
-
o("label", 40, !0), o("desc", 120, !1), e.match === void 0 ? t.push(`${r}.match is required: say at least one of ${
|
|
1399
|
+
o("label", 40, !0), o("desc", 120, !1), e.match === void 0 ? t.push(`${r}.match is required: say at least one of ${N.join(", ")}.`) : ct(r, e.match, t);
|
|
1335
1400
|
});
|
|
1336
|
-
let a = /* @__PURE__ */ new Set([...
|
|
1401
|
+
let a = /* @__PURE__ */ new Set([...Be, ...r.map((e) => P(e) && typeof e.key == "string" ? e.key : null).filter(Boolean)]);
|
|
1337
1402
|
for (let r of ["off", "order"]) {
|
|
1338
1403
|
let i = e[r];
|
|
1339
1404
|
if (i === void 0) continue;
|
|
@@ -1343,18 +1408,18 @@ function at(e) {
|
|
|
1343
1408
|
}
|
|
1344
1409
|
let o = /* @__PURE__ */ new Set();
|
|
1345
1410
|
i.forEach((e) => {
|
|
1346
|
-
typeof e != "string" || !a.has(e) ? t.push(`layers.${r} ${
|
|
1411
|
+
typeof e != "string" || !a.has(e) ? t.push(`layers.${r} ${F(e)} is not a layer (${ot(n)}).`) : o.has(e) && t.push(`layers.${r} ${F(e)} is listed twice.`), o.add(e);
|
|
1347
1412
|
});
|
|
1348
1413
|
}
|
|
1349
1414
|
return t;
|
|
1350
1415
|
}
|
|
1351
|
-
function
|
|
1416
|
+
function ut(e) {
|
|
1352
1417
|
let t = {
|
|
1353
1418
|
add: [],
|
|
1354
1419
|
off: [],
|
|
1355
1420
|
order: []
|
|
1356
1421
|
};
|
|
1357
|
-
if (!
|
|
1422
|
+
if (!P(e) || lt(e).length) return t;
|
|
1358
1423
|
let n = (e) => Array.isArray(e) ? e.slice(0, 20) : e;
|
|
1359
1424
|
return {
|
|
1360
1425
|
add: (e.add || []).map((e) => {
|
|
@@ -1371,7 +1436,7 @@ function ot(e) {
|
|
|
1371
1436
|
order: [...e.order || []]
|
|
1372
1437
|
};
|
|
1373
1438
|
}
|
|
1374
|
-
function
|
|
1439
|
+
function dt(e) {
|
|
1375
1440
|
let t = /* @__PURE__ */ new Map();
|
|
1376
1441
|
for (let n of e) typeof n.kind == "string" && n.kind && (t.has(n.type) || t.set(n.type, /* @__PURE__ */ new Set()), t.get(n.type).add(n.kind));
|
|
1377
1442
|
let n = /* @__PURE__ */ new Map();
|
|
@@ -1385,71 +1450,71 @@ function st(e) {
|
|
|
1385
1450
|
return n;
|
|
1386
1451
|
}
|
|
1387
1452
|
// ../explorer/layer-model.js
|
|
1388
|
-
var
|
|
1389
|
-
function
|
|
1453
|
+
var ft = (e) => (e.projectLayers || []).some((e) => e.match && e.match.parent !== void 0) ? (t) => $e(e.edges || []).get(t.id) : void 0;
|
|
1454
|
+
function pt(e, t) {
|
|
1390
1455
|
let n = e.projectLayers;
|
|
1391
|
-
return !n || !n.length ? null :
|
|
1456
|
+
return !n || !n.length ? null : rt(n, t, ft(e));
|
|
1392
1457
|
}
|
|
1393
|
-
var
|
|
1394
|
-
function
|
|
1395
|
-
let t = e.edges || [], n =
|
|
1458
|
+
var mt = (e, t) => it(e.projectLayers || [], t, ft(e)), ht = /* @__PURE__ */ new WeakMap();
|
|
1459
|
+
function gt(e) {
|
|
1460
|
+
let t = e.edges || [], n = ht.get(e.nodes);
|
|
1396
1461
|
if (n && n.edges === t && n.n === e.nodes.length && n.e === t.length) return n.touched;
|
|
1397
1462
|
let r = S(e.nodes, t).touched;
|
|
1398
|
-
return
|
|
1463
|
+
return ht.set(e.nodes, {
|
|
1399
1464
|
edges: t,
|
|
1400
1465
|
n: e.nodes.length,
|
|
1401
1466
|
e: t.length,
|
|
1402
1467
|
touched: r
|
|
1403
1468
|
}), r;
|
|
1404
1469
|
}
|
|
1405
|
-
var
|
|
1406
|
-
function
|
|
1470
|
+
var _t = (e, t) => !!e.proposal && gt(e).has(t.id), vt = /* @__PURE__ */ new WeakMap();
|
|
1471
|
+
function yt(e, t) {
|
|
1407
1472
|
if (typeof t.kind != "string" || !t.kind || t.type === "external") return "";
|
|
1408
|
-
let n =
|
|
1473
|
+
let n = vt.get(e.nodes);
|
|
1409
1474
|
n && n.n === e.nodes.length || (n = {
|
|
1410
1475
|
n: e.nodes.length,
|
|
1411
|
-
map:
|
|
1412
|
-
},
|
|
1476
|
+
map: dt(e.nodes)
|
|
1477
|
+
}, vt.set(e.nodes, n));
|
|
1413
1478
|
let r = n.map.get(t.type);
|
|
1414
1479
|
return r && r.get(t.kind) || "";
|
|
1415
1480
|
}
|
|
1416
|
-
var
|
|
1481
|
+
var bt = Object.freeze({
|
|
1417
1482
|
core: ["pkg"],
|
|
1418
1483
|
store: ["flow"],
|
|
1419
1484
|
rom: ["flow"]
|
|
1420
|
-
}),
|
|
1421
|
-
function
|
|
1485
|
+
}), xt = (e) => !!e && !!e.mark && e.mark !== "none";
|
|
1486
|
+
function St({ nodes: e, edges: t, rowOf: n, flight: r = null }) {
|
|
1422
1487
|
let { touched: i } = S(e, t), a = /* @__PURE__ */ new Set();
|
|
1423
1488
|
for (let t of e) {
|
|
1424
1489
|
if (!i.has(t.id)) continue;
|
|
1425
1490
|
let e = n(t);
|
|
1426
1491
|
if (e) {
|
|
1427
1492
|
a.add(e);
|
|
1428
|
-
for (let t of
|
|
1493
|
+
for (let t of bt[e] || []) a.add(t);
|
|
1429
1494
|
}
|
|
1430
1495
|
r && r.has(t.id) && a.add("runs");
|
|
1431
1496
|
}
|
|
1432
|
-
for (let e of t)
|
|
1497
|
+
for (let e of t) xt(e) && e.kind === "flow" && a.add("flow");
|
|
1433
1498
|
return a;
|
|
1434
1499
|
}
|
|
1435
|
-
function
|
|
1500
|
+
function Ct({ active: e, touched: t, universe: n, review: r }) {
|
|
1436
1501
|
let i = { ...e };
|
|
1437
1502
|
if (!r.whole && t.size) for (let e of n) i[e] = t.has(e);
|
|
1438
1503
|
return Object.assign(i, r.manual || {}, r.step || {}), i;
|
|
1439
1504
|
}
|
|
1440
|
-
var
|
|
1441
|
-
function
|
|
1442
|
-
let t = e.nodes, n = e.edges || [], r = e.runsMap ? e.runsMap.flight : null, i =
|
|
1505
|
+
var wt = /* @__PURE__ */ new WeakMap();
|
|
1506
|
+
function Tt(e) {
|
|
1507
|
+
let t = e.nodes, n = e.edges || [], r = e.runsMap ? e.runsMap.flight : null, i = wt.get(t);
|
|
1443
1508
|
if (i && i.edges === n && i.n === t.length && i.e === n.length && i.flight === r && i.project === e.projectLayers) return i;
|
|
1444
|
-
let a =
|
|
1509
|
+
let a = St({
|
|
1445
1510
|
nodes: t,
|
|
1446
1511
|
edges: n,
|
|
1447
|
-
rowOf: (t) =>
|
|
1512
|
+
rowOf: (t) => mt(e, t),
|
|
1448
1513
|
flight: r
|
|
1449
1514
|
}), o = /* @__PURE__ */ new Set([
|
|
1450
|
-
...
|
|
1515
|
+
...ze.map((e) => e.key),
|
|
1451
1516
|
...(e.projectLayers || []).map((e) => e.key),
|
|
1452
|
-
...t.map((t) =>
|
|
1517
|
+
...t.map((t) => mt(e, t)).filter(Boolean)
|
|
1453
1518
|
]), s = {
|
|
1454
1519
|
edges: n,
|
|
1455
1520
|
n: t.length,
|
|
@@ -1459,21 +1524,21 @@ function xt(e) {
|
|
|
1459
1524
|
touched: a,
|
|
1460
1525
|
universe: o
|
|
1461
1526
|
};
|
|
1462
|
-
return
|
|
1527
|
+
return wt.set(t, s), s;
|
|
1463
1528
|
}
|
|
1464
|
-
var
|
|
1465
|
-
function
|
|
1529
|
+
var Et = /* @__PURE__ */ new WeakMap();
|
|
1530
|
+
function Dt(e) {
|
|
1466
1531
|
let t = e.review;
|
|
1467
1532
|
if (!t || !e.proposal) return e.activeLayers;
|
|
1468
|
-
let n =
|
|
1533
|
+
let n = Et.get(t);
|
|
1469
1534
|
if (n && n.rev === t.rev && n.version === e.sceneVersion && n.active === e.activeLayers && n.nodes === e.nodes) return n.out;
|
|
1470
|
-
let { touched: r, universe: i } =
|
|
1535
|
+
let { touched: r, universe: i } = Tt(e), a = Ct({
|
|
1471
1536
|
active: e.activeLayers,
|
|
1472
1537
|
touched: r,
|
|
1473
1538
|
universe: i,
|
|
1474
1539
|
review: t
|
|
1475
1540
|
});
|
|
1476
|
-
return
|
|
1541
|
+
return Et.set(t, {
|
|
1477
1542
|
rev: t.rev,
|
|
1478
1543
|
version: e.sceneVersion,
|
|
1479
1544
|
active: e.activeLayers,
|
|
@@ -1481,7 +1546,7 @@ function Ct(e) {
|
|
|
1481
1546
|
out: a
|
|
1482
1547
|
}), a;
|
|
1483
1548
|
}
|
|
1484
|
-
var
|
|
1549
|
+
var Ot = (e) => !!e.review && !!e.proposal && !e.review.whole && gt(e).size > 0, kt = Object.freeze({
|
|
1485
1550
|
aliceblue: "#f0f8ff",
|
|
1486
1551
|
antiquewhite: "#faebd7",
|
|
1487
1552
|
aqua: "#00ffff",
|
|
@@ -1630,8 +1695,8 @@ var wt = (e) => !!e.review && !!e.proposal && !e.review.whole && ft(e).size > 0,
|
|
|
1630
1695
|
whitesmoke: "#f5f5f5",
|
|
1631
1696
|
yellow: "#ffff00",
|
|
1632
1697
|
yellowgreen: "#9acd32"
|
|
1633
|
-
}),
|
|
1634
|
-
function
|
|
1698
|
+
}), At = "[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?", jt = (e, t, n) => Math.min(n, Math.max(t, e));
|
|
1699
|
+
function Mt(e, t) {
|
|
1635
1700
|
let n = RegExp(`^${t}\\(`, "i").exec(e);
|
|
1636
1701
|
if (!n || !e.endsWith(")")) return null;
|
|
1637
1702
|
let r = 0;
|
|
@@ -1639,19 +1704,19 @@ function Ot(e, t) {
|
|
|
1639
1704
|
else if (e[t] === ")" && --r === 0 && t !== e.length - 1) return null;
|
|
1640
1705
|
return r === 0 ? e.slice(n[0].length, -1) : null;
|
|
1641
1706
|
}
|
|
1642
|
-
function
|
|
1707
|
+
function Nt(e, t) {
|
|
1643
1708
|
let n = [], r = 0, i = 0;
|
|
1644
1709
|
for (let a = 0; a < e.length; a++) e[a] === "(" ? r++ : e[a] === ")" ? r-- : e[a] === t && r === 0 && (n.push(e.slice(i, a)), i = a + 1);
|
|
1645
1710
|
return n.push(e.slice(i)), n;
|
|
1646
1711
|
}
|
|
1647
|
-
var
|
|
1648
|
-
let n = RegExp(`^(${
|
|
1712
|
+
var Pt = (e, t) => {
|
|
1713
|
+
let n = RegExp(`^(${At})(%?)$`, "i").exec(e);
|
|
1649
1714
|
return n ? n[2] ? Number(n[1]) / 100 * t : Number(n[1]) : null;
|
|
1650
|
-
},
|
|
1651
|
-
let t =
|
|
1652
|
-
return t === null ? null :
|
|
1715
|
+
}, Ft = (e) => e === void 0 ? 1 : (() => {
|
|
1716
|
+
let t = Pt(e, 1);
|
|
1717
|
+
return t === null ? null : jt(t, 0, 1);
|
|
1653
1718
|
})();
|
|
1654
|
-
function
|
|
1719
|
+
function It(e, t, n) {
|
|
1655
1720
|
let r = (t) => (t + e / 30) % 12, i = t * Math.min(n, 1 - n), a = (e) => n - i * Math.max(-1, Math.min(r(e) - 3, Math.min(9 - r(e), 1)));
|
|
1656
1721
|
return [
|
|
1657
1722
|
a(0) * 255,
|
|
@@ -1659,7 +1724,7 @@ function Mt(e, t, n) {
|
|
|
1659
1724
|
a(4) * 255
|
|
1660
1725
|
];
|
|
1661
1726
|
}
|
|
1662
|
-
function
|
|
1727
|
+
function Lt(e) {
|
|
1663
1728
|
let t = e.trim();
|
|
1664
1729
|
if (t.includes(",")) {
|
|
1665
1730
|
let e = t.split(/\s*,\s*/);
|
|
@@ -1668,7 +1733,7 @@ function Nt(e) {
|
|
|
1668
1733
|
let n = /^(\S+)\s+(\S+)\s+([^\s/]+)(?:\s*\/\s*(\S+))?$/.exec(t);
|
|
1669
1734
|
return n && !n.slice(1, 4).some((e) => e.includes("/")) ? n.slice(1, n[4] === void 0 ? 4 : 5) : null;
|
|
1670
1735
|
}
|
|
1671
|
-
function
|
|
1736
|
+
function Rt(e, t = 0) {
|
|
1672
1737
|
let n = String(e).trim().toLowerCase();
|
|
1673
1738
|
if (n === "transparent") return [
|
|
1674
1739
|
0,
|
|
@@ -1676,7 +1741,7 @@ function Pt(e, t = 0) {
|
|
|
1676
1741
|
0,
|
|
1677
1742
|
0
|
|
1678
1743
|
];
|
|
1679
|
-
if (
|
|
1744
|
+
if (kt[n]) return Rt(kt[n], t);
|
|
1680
1745
|
let r = /^#([0-9a-f]{3,4})$/.exec(n);
|
|
1681
1746
|
if (r) {
|
|
1682
1747
|
let e = [...r[1]].map((e) => parseInt(e + e, 16));
|
|
@@ -1696,26 +1761,26 @@ function Pt(e, t = 0) {
|
|
|
1696
1761
|
e.length === 8 ? parseInt(e.slice(6, 8), 16) / 255 : 1
|
|
1697
1762
|
];
|
|
1698
1763
|
}
|
|
1699
|
-
let i =
|
|
1764
|
+
let i = Mt(n, "rgba?");
|
|
1700
1765
|
if (i !== null) {
|
|
1701
|
-
let e =
|
|
1766
|
+
let e = Lt(i);
|
|
1702
1767
|
if (!e) return null;
|
|
1703
|
-
let t = e.slice(0, 3).map((e) =>
|
|
1704
|
-
return t.some((e) => e === null) || n === null ? null : [...t.map((e) =>
|
|
1768
|
+
let t = e.slice(0, 3).map((e) => Pt(e, 255)), n = Ft(e[3]);
|
|
1769
|
+
return t.some((e) => e === null) || n === null ? null : [...t.map((e) => jt(e, 0, 255)), n];
|
|
1705
1770
|
}
|
|
1706
|
-
let a =
|
|
1771
|
+
let a = Mt(n, "hsla?");
|
|
1707
1772
|
if (a !== null) {
|
|
1708
|
-
let e =
|
|
1773
|
+
let e = Lt(a);
|
|
1709
1774
|
if (!e) return null;
|
|
1710
|
-
let t = RegExp(`^(${
|
|
1711
|
-
return !t || n === null || r === null || i === null ? null : [...
|
|
1775
|
+
let t = RegExp(`^(${At})(?:deg)?$`).exec(e[0]), n = /%$/.test(e[1]) ? Pt(e[1], 1) : null, r = /%$/.test(e[2]) ? Pt(e[2], 1) : null, i = Ft(e[3]);
|
|
1776
|
+
return !t || n === null || r === null || i === null ? null : [...It((Number(t[1]) % 360 + 360) % 360, jt(n, 0, 1), jt(r, 0, 1)), i];
|
|
1712
1777
|
}
|
|
1713
|
-
let o = t < 8 ?
|
|
1778
|
+
let o = t < 8 ? Mt(n, "color-mix") : null;
|
|
1714
1779
|
if (o !== null) {
|
|
1715
|
-
let e =
|
|
1780
|
+
let e = Nt(o, ",").map((e) => e.trim());
|
|
1716
1781
|
if (e.length !== 3 || !/^in\s+srgb$/.test(e[0])) return null;
|
|
1717
1782
|
let n = (e) => {
|
|
1718
|
-
let n = /^(\d*\.?\d+)%\s+(.+)$/.exec(e), r = /^(.+?)\s+(\d*\.?\d+)%$/.exec(e), [i, a] = n ? [n[2], n[1]] : r ? [r[1], r[2]] : [e, null], o =
|
|
1783
|
+
let n = /^(\d*\.?\d+)%\s+(.+)$/.exec(e), r = /^(.+?)\s+(\d*\.?\d+)%$/.exec(e), [i, a] = n ? [n[2], n[1]] : r ? [r[1], r[2]] : [e, null], o = Rt(i, t + 1);
|
|
1719
1784
|
return o && {
|
|
1720
1785
|
c: o,
|
|
1721
1786
|
p: a === null ? null : Number(a) / 100
|
|
@@ -1723,27 +1788,27 @@ function Pt(e, t = 0) {
|
|
|
1723
1788
|
}, r = n(e[1]), i = n(e[2]);
|
|
1724
1789
|
if (!r || !i || r.p !== null && (r.p < 0 || r.p > 1) || i.p !== null && (i.p < 0 || i.p > 1)) return null;
|
|
1725
1790
|
let a = r.p ?? (i.p === null ? .5 : 1 - i.p), s = i.p ?? 1 - a;
|
|
1726
|
-
return a + s <= 0 ? null :
|
|
1791
|
+
return a + s <= 0 ? null : Bt(r.c, a, i.c, s);
|
|
1727
1792
|
}
|
|
1728
1793
|
return null;
|
|
1729
1794
|
}
|
|
1730
|
-
function
|
|
1795
|
+
function zt(e) {
|
|
1731
1796
|
if (String(e).length > 4096) return null;
|
|
1732
1797
|
try {
|
|
1733
|
-
return
|
|
1798
|
+
return Rt(e);
|
|
1734
1799
|
} catch {
|
|
1735
1800
|
return null;
|
|
1736
1801
|
}
|
|
1737
1802
|
}
|
|
1738
1803
|
function L(e) {
|
|
1739
|
-
return
|
|
1804
|
+
return zt(e) ?? [
|
|
1740
1805
|
0,
|
|
1741
1806
|
0,
|
|
1742
1807
|
0,
|
|
1743
1808
|
0
|
|
1744
1809
|
];
|
|
1745
1810
|
}
|
|
1746
|
-
function
|
|
1811
|
+
function Bt(e, t, n, r) {
|
|
1747
1812
|
let i = t + r, [a, o] = [t / i, r / i], s = e[3] * a + n[3] * o, c = (t) => s === 0 ? 0 : (e[t] * e[3] * a + n[t] * n[3] * o) / s;
|
|
1748
1813
|
return [
|
|
1749
1814
|
c(0),
|
|
@@ -1752,10 +1817,10 @@ function It(e, t, n, r) {
|
|
|
1752
1817
|
s * Math.min(1, i)
|
|
1753
1818
|
];
|
|
1754
1819
|
}
|
|
1755
|
-
var
|
|
1820
|
+
var Vt = (e) => {
|
|
1756
1821
|
let t = e / 255;
|
|
1757
1822
|
return t <= .03928 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
|
|
1758
|
-
},
|
|
1823
|
+
}, Ht = ([e, t, n]) => .2126 * Vt(e) + .7152 * Vt(t) + .0722 * Vt(n), Ut = (e, t) => (Math.max(e, t) + .05) / (Math.min(e, t) + .05), R = Object.freeze({
|
|
1759
1824
|
dark: Object.freeze({
|
|
1760
1825
|
added: "#2dd4bf",
|
|
1761
1826
|
changed: "#fbbf24",
|
|
@@ -1768,10 +1833,10 @@ var Lt = (e) => {
|
|
|
1768
1833
|
removed: "#e20b0b",
|
|
1769
1834
|
edit: "#6839f6"
|
|
1770
1835
|
})
|
|
1771
|
-
}),
|
|
1772
|
-
light:
|
|
1836
|
+
}), Wt = .85, Gt = .9, Kt = .6, qt = .45, Jt = Object.freeze({
|
|
1837
|
+
light: Kt,
|
|
1773
1838
|
dark: .5
|
|
1774
|
-
}),
|
|
1839
|
+
}), Yt = Object.freeze({
|
|
1775
1840
|
added: Object.freeze({
|
|
1776
1841
|
ringDash: Object.freeze([5, 4]),
|
|
1777
1842
|
edgeDash: Object.freeze([7, 5]),
|
|
@@ -1792,14 +1857,14 @@ var Lt = (e) => {
|
|
|
1792
1857
|
edgeDash: Object.freeze([12, 4]),
|
|
1793
1858
|
strike: !1
|
|
1794
1859
|
})
|
|
1795
|
-
}),
|
|
1860
|
+
}), Xt = "#f4f6fa", Zt = {
|
|
1796
1861
|
mark: 3.2,
|
|
1797
1862
|
text: 4.8
|
|
1798
|
-
},
|
|
1799
|
-
function
|
|
1863
|
+
}, Qt = .16, $t = 1.35, en = .11;
|
|
1864
|
+
function tn(e, t) {
|
|
1800
1865
|
return e === "light" || e === "dark" ? e : t ? "light" : "dark";
|
|
1801
1866
|
}
|
|
1802
|
-
function
|
|
1867
|
+
function nn([e, t, n]) {
|
|
1803
1868
|
let r = e / 255, i = t / 255, a = n / 255, o = Math.max(r, i, a), s = Math.min(r, i, a), c = (o + s) / 2;
|
|
1804
1869
|
if (o === s) return [
|
|
1805
1870
|
0,
|
|
@@ -1813,7 +1878,7 @@ function Qt([e, t, n]) {
|
|
|
1813
1878
|
c
|
|
1814
1879
|
];
|
|
1815
1880
|
}
|
|
1816
|
-
function
|
|
1881
|
+
function rn([e, t, n]) {
|
|
1817
1882
|
let r = (t) => (t + e / 30) % 12, i = t * Math.min(n, 1 - n), a = (e) => n - i * Math.max(-1, Math.min(r(e) - 3, 9 - r(e), 1));
|
|
1818
1883
|
return [
|
|
1819
1884
|
a(0),
|
|
@@ -1821,64 +1886,64 @@ function $t([e, t, n]) {
|
|
|
1821
1886
|
a(4)
|
|
1822
1887
|
].map((e) => Math.round(e * 255));
|
|
1823
1888
|
}
|
|
1824
|
-
var
|
|
1889
|
+
var an = (e) => `#${e.map((e) => e.toString(16).padStart(2, "0")).join("")}`, on = (e, t) => t >= 1 ? an(e) : `rgba(${e.join(", ")}, ${+t.toFixed(3)})`, sn = Ht(L(Xt)), cn = /* @__PURE__ */ new Map();
|
|
1825
1890
|
function z(e, t = "mark") {
|
|
1826
|
-
let n = `${t}|${e}`, r =
|
|
1891
|
+
let n = `${t}|${e}`, r = cn.get(n);
|
|
1827
1892
|
if (r !== void 0) return r;
|
|
1828
|
-
let i =
|
|
1829
|
-
return
|
|
1893
|
+
let i = ln(e, t);
|
|
1894
|
+
return cn.set(n, i), i;
|
|
1830
1895
|
}
|
|
1831
|
-
function
|
|
1896
|
+
function ln(e, t) {
|
|
1832
1897
|
if (typeof e != "string") return e;
|
|
1833
1898
|
let [n, r, i, a] = L(e);
|
|
1834
1899
|
if (a === 0) return e;
|
|
1835
|
-
let [o, s, c] =
|
|
1900
|
+
let [o, s, c] = nn([
|
|
1836
1901
|
n,
|
|
1837
1902
|
r,
|
|
1838
1903
|
i
|
|
1839
1904
|
]);
|
|
1840
|
-
if ((Math.max(n, r, i) - Math.min(n, r, i)) / 255 <
|
|
1905
|
+
if ((Math.max(n, r, i) - Math.min(n, r, i)) / 255 < Qt && c > .5) return on(rn([
|
|
1841
1906
|
o,
|
|
1842
1907
|
s,
|
|
1843
|
-
Math.max(
|
|
1908
|
+
Math.max(en, 1 - c)
|
|
1844
1909
|
]), a);
|
|
1845
|
-
let l =
|
|
1846
|
-
if (
|
|
1910
|
+
let l = Zt[t] || Zt.mark;
|
|
1911
|
+
if (Ut(Ht([
|
|
1847
1912
|
n,
|
|
1848
1913
|
r,
|
|
1849
1914
|
i
|
|
1850
|
-
]),
|
|
1915
|
+
]), sn) >= l) return e;
|
|
1851
1916
|
let u = 0, d = c;
|
|
1852
1917
|
for (let e = 0; e < 20; e++) {
|
|
1853
1918
|
let e = (u + d) / 2;
|
|
1854
|
-
|
|
1919
|
+
Ut(Ht(rn([
|
|
1855
1920
|
o,
|
|
1856
1921
|
s,
|
|
1857
1922
|
e
|
|
1858
|
-
])),
|
|
1923
|
+
])), sn) >= l ? u = e : d = e;
|
|
1859
1924
|
}
|
|
1860
|
-
return
|
|
1925
|
+
return on(rn([
|
|
1861
1926
|
o,
|
|
1862
1927
|
s,
|
|
1863
1928
|
u
|
|
1864
1929
|
]), a);
|
|
1865
1930
|
}
|
|
1866
|
-
var
|
|
1931
|
+
var un = (e) => {
|
|
1867
1932
|
e && (e.color = z(e.color, "text"));
|
|
1868
1933
|
};
|
|
1869
|
-
function
|
|
1934
|
+
function dn(e) {
|
|
1870
1935
|
e.theme = "light";
|
|
1871
1936
|
for (let t of e.nodes) t.color = z(t.color), t.labelColor = z(t.labelColor, "text");
|
|
1872
1937
|
for (let t of e.edges) {
|
|
1873
1938
|
if (t.mark && t.mark !== "none") t.color = R.dark[t.mark] === t.color ? R.light[t.mark] : z(t.color);
|
|
1874
1939
|
else {
|
|
1875
|
-
t.alpha < 1 && (t.alpha = Math.min(1, t.alpha *
|
|
1940
|
+
t.alpha < 1 && (t.alpha = Math.min(1, t.alpha * $t)), t.color = z(t.color);
|
|
1876
1941
|
let [e, n, r, i] = L(t.color);
|
|
1877
|
-
i > 0 && i < 1 && (t.color =
|
|
1942
|
+
i > 0 && i < 1 && (t.color = on([
|
|
1878
1943
|
e,
|
|
1879
1944
|
n,
|
|
1880
1945
|
r
|
|
1881
|
-
], Math.min(1, i *
|
|
1946
|
+
], Math.min(1, i * $t)));
|
|
1882
1947
|
}
|
|
1883
1948
|
t.glowColor &&= z(t.glowColor), t.label &&= {
|
|
1884
1949
|
...t.label,
|
|
@@ -1906,37 +1971,37 @@ function sn(e) {
|
|
|
1906
1971
|
"title",
|
|
1907
1972
|
"note",
|
|
1908
1973
|
"arrow"
|
|
1909
|
-
]) t[e] && (t[e] = { ...t[e] },
|
|
1974
|
+
]) t[e] && (t[e] = { ...t[e] }, un(t[e]));
|
|
1910
1975
|
return t;
|
|
1911
1976
|
}), e;
|
|
1912
1977
|
}
|
|
1913
|
-
var
|
|
1914
|
-
Object.freeze(Object.keys(
|
|
1915
|
-
var
|
|
1916
|
-
function
|
|
1978
|
+
var fn = 1.2, B = 96, pn = 24, mn = "glyph:", hn = "#ffffff", gn = "#0b1220";
|
|
1979
|
+
Object.freeze(Object.keys(E));
|
|
1980
|
+
var _n = (e) => typeof e == "string" && Object.hasOwn(E, e), vn = (e, t) => `${mn}${e}|${t}`, yn = (e) => typeof e == "string" && e.startsWith(mn);
|
|
1981
|
+
function bn(e) {
|
|
1917
1982
|
let t = e.slice(6), n = t.indexOf("|");
|
|
1918
1983
|
return {
|
|
1919
1984
|
type: t.slice(0, n),
|
|
1920
1985
|
ink: t.slice(n + 1)
|
|
1921
1986
|
};
|
|
1922
1987
|
}
|
|
1923
|
-
var
|
|
1988
|
+
var xn = ([e, t, n]) => {
|
|
1924
1989
|
let r = (e) => {
|
|
1925
1990
|
let t = e / 255;
|
|
1926
1991
|
return t <= .03928 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
|
|
1927
1992
|
};
|
|
1928
1993
|
return .2126 * r(e) + .7152 * r(t) + .0722 * r(n);
|
|
1929
|
-
},
|
|
1994
|
+
}, Sn = (e, t) => {
|
|
1930
1995
|
let [n, r] = e > t ? [e, t] : [t, e];
|
|
1931
1996
|
return (n + .05) / (r + .05);
|
|
1932
1997
|
};
|
|
1933
|
-
function
|
|
1934
|
-
let t =
|
|
1935
|
-
return
|
|
1998
|
+
function Cn(e) {
|
|
1999
|
+
let t = xn(L(e));
|
|
2000
|
+
return Sn(1, t) >= Sn(xn(L("#0b1220")), t) ? hn : gn;
|
|
1936
2001
|
}
|
|
1937
|
-
var
|
|
2002
|
+
var wn = (e, t) => t && t.values && t.values["--corn-map-glyph"] || Cn(e.color), Tn = (e, t) => !!e.glyph && !e.icon && !e.letters && e.r * 2 * t >= 14, En = {
|
|
1938
2003
|
root: (e) => {
|
|
1939
|
-
|
|
2004
|
+
Dn(e, 12, 12, 8), H(e, 12, 12, 3.2);
|
|
1940
2005
|
},
|
|
1941
2006
|
app: (e) => {
|
|
1942
2007
|
e.beginPath(), e.rect(3.5, 5, 17, 14), e.stroke(), V(e, 3.5, 9.5, 20.5, 9.5);
|
|
@@ -1948,7 +2013,7 @@ var bn = (e, t) => t && t.values && t.values["--corn-map-glyph"] || yn(e.color),
|
|
|
1948
2013
|
e.beginPath(), e.rect(4, 7, 16, 13), e.stroke(), V(e, 4, 12, 20, 12), V(e, 12, 7, 12, 12);
|
|
1949
2014
|
},
|
|
1950
2015
|
core: (e) => {
|
|
1951
|
-
|
|
2016
|
+
Dn(e, 12, 12, 8.2), H(e, 12, 12, 4);
|
|
1952
2017
|
},
|
|
1953
2018
|
token: (e) => {
|
|
1954
2019
|
for (let [t, n] of [
|
|
@@ -2011,35 +2076,35 @@ var bn = (e, t) => t && t.values && t.values["--corn-map-glyph"] || yn(e.color),
|
|
|
2011
2076
|
function V(e, t, n, r, i) {
|
|
2012
2077
|
e.beginPath(), e.moveTo(t, n), e.lineTo(r, i), e.stroke();
|
|
2013
2078
|
}
|
|
2014
|
-
function
|
|
2079
|
+
function Dn(e, t, n, r) {
|
|
2015
2080
|
e.beginPath(), e.arc(t, n, r, 0, Math.PI * 2), e.stroke();
|
|
2016
2081
|
}
|
|
2017
2082
|
function H(e, t, n, r) {
|
|
2018
2083
|
e.beginPath(), e.arc(t, n, r, 0, Math.PI * 2), e.fill();
|
|
2019
2084
|
}
|
|
2020
|
-
function
|
|
2021
|
-
let i =
|
|
2085
|
+
function On(e, t, n, r) {
|
|
2086
|
+
let i = En[t];
|
|
2022
2087
|
if (!i) return;
|
|
2023
|
-
let a = n /
|
|
2088
|
+
let a = n / pn;
|
|
2024
2089
|
e.save(), e.scale(a, a), e.lineWidth = 2.4, e.lineCap = "round", e.lineJoin = "round", e.strokeStyle = r, e.fillStyle = r, i(e), e.restore();
|
|
2025
2090
|
}
|
|
2026
|
-
var
|
|
2027
|
-
function
|
|
2028
|
-
if (!
|
|
2029
|
-
let n =
|
|
2030
|
-
if (
|
|
2031
|
-
if (
|
|
2091
|
+
var kn = /* @__PURE__ */ new Map();
|
|
2092
|
+
function An(e, t) {
|
|
2093
|
+
if (!_n(e) || typeof t != "string") return null;
|
|
2094
|
+
let n = vn(e, t);
|
|
2095
|
+
if (kn.has(n)) return kn.get(n);
|
|
2096
|
+
if (kn.size >= 64) return null;
|
|
2032
2097
|
let r = null;
|
|
2033
2098
|
try {
|
|
2034
2099
|
let n = typeof OffscreenCanvas < "u" ? new OffscreenCanvas(B, B) : typeof document < "u" ? Object.assign(document.createElement("canvas"), {
|
|
2035
2100
|
width: B,
|
|
2036
2101
|
height: B
|
|
2037
2102
|
}) : null, i = n && n.getContext && n.getContext("2d");
|
|
2038
|
-
i && i.stroke && (
|
|
2103
|
+
i && i.stroke && (On(i, e, B, t), r = n);
|
|
2039
2104
|
} catch {
|
|
2040
2105
|
r = null;
|
|
2041
2106
|
}
|
|
2042
|
-
return
|
|
2107
|
+
return kn.set(n, r), r;
|
|
2043
2108
|
}
|
|
2044
2109
|
Object.freeze([
|
|
2045
2110
|
"pulls",
|
|
@@ -2072,12 +2137,12 @@ Object.freeze([
|
|
|
2072
2137
|
["other", "Cancelled or skipped"]
|
|
2073
2138
|
]
|
|
2074
2139
|
});
|
|
2075
|
-
var
|
|
2076
|
-
function
|
|
2140
|
+
var jn = .2, Mn = "#f87171";
|
|
2141
|
+
function Nn(e, t) {
|
|
2077
2142
|
if (!t || !t.changed.size && !t.failing.size) return;
|
|
2078
2143
|
let n = (e) => t.changed.has(e) || t.failing.has(e);
|
|
2079
|
-
for (let r of e.nodes) n(r.id) ? (r.alpha = 1, r.labelAlpha = 1, r.glow = Math.max(r.glow, 14), r.labelKeep = !0, r.halo !== "selected" && (r.halo = "match"), t.failing.has(r.id) && (r.color =
|
|
2080
|
-
for (let t of e.edges) !n(t.from) && !n(t.to) && (t.alpha = Math.min(t.alpha,
|
|
2144
|
+
for (let r of e.nodes) n(r.id) ? (r.alpha = 1, r.labelAlpha = 1, r.glow = Math.max(r.glow, 14), r.labelKeep = !0, r.halo !== "selected" && (r.halo = "match"), t.failing.has(r.id) && (r.color = Mn)) : (r.alpha = Math.min(r.alpha, jn), r.labelAlpha = r.alpha, r.glow = 0);
|
|
2145
|
+
for (let t of e.edges) !n(t.from) && !n(t.to) && (t.alpha = Math.min(t.alpha, jn / 2));
|
|
2081
2146
|
}
|
|
2082
2147
|
// ../explorer/search-model.js
|
|
2083
2148
|
var U = Object.freeze({
|
|
@@ -2086,7 +2151,7 @@ var U = Object.freeze({
|
|
|
2086
2151
|
label: 2,
|
|
2087
2152
|
idOrFile: 3,
|
|
2088
2153
|
typeOrKind: 4
|
|
2089
|
-
}),
|
|
2154
|
+
}), Pn = Object.freeze({
|
|
2090
2155
|
root: "Root",
|
|
2091
2156
|
app: "Apps",
|
|
2092
2157
|
pkg: "Packages",
|
|
@@ -2108,22 +2173,22 @@ var U = Object.freeze({
|
|
|
2108
2173
|
floor: "House",
|
|
2109
2174
|
room: "House",
|
|
2110
2175
|
persona: "People"
|
|
2111
|
-
}),
|
|
2112
|
-
function
|
|
2176
|
+
}), Fn = (e) => e && e.charAt(0).toUpperCase() + e.slice(1), In = (e) => Pn[e.type] || Fn(String(e.type || "")), W = (e) => typeof e == "string" ? e.toLowerCase() : "", Ln = /[^\p{L}\p{N}]+/u;
|
|
2177
|
+
function Rn(e, t) {
|
|
2113
2178
|
let n = String(t || "").toLowerCase();
|
|
2114
2179
|
if (!n) return -1;
|
|
2115
2180
|
let r = W(e.label);
|
|
2116
|
-
return r.startsWith(n) ? U.labelStart : r.split(
|
|
2181
|
+
return r.startsWith(n) ? U.labelStart : r.split(Ln).some((e) => e && e.startsWith(n)) ? U.wordStart : r.includes(n) ? U.label : W(e.id).includes(n) || W(e.file).includes(n) ? U.idOrFile : W(e.type).includes(n) || W(In(e)).includes(n) || W(e.kind).includes(n) ? U.typeOrKind : -1;
|
|
2117
2182
|
}
|
|
2118
|
-
function
|
|
2183
|
+
function zn(e, t) {
|
|
2119
2184
|
let n = String(t || "").trim().toLowerCase(), r = /* @__PURE__ */ new Set();
|
|
2120
2185
|
if (!n) return r;
|
|
2121
|
-
for (let t of e)
|
|
2186
|
+
for (let t of e) Rn(t, n) >= 0 && r.add(t.id);
|
|
2122
2187
|
return r;
|
|
2123
2188
|
}
|
|
2124
2189
|
// ../explorer/css-color.js
|
|
2125
|
-
var G,
|
|
2126
|
-
function
|
|
2190
|
+
var G, Bn = /* @__PURE__ */ new Map();
|
|
2191
|
+
function Vn() {
|
|
2127
2192
|
if (G !== void 0) return G;
|
|
2128
2193
|
G = null;
|
|
2129
2194
|
try {
|
|
@@ -2133,30 +2198,30 @@ function Ln() {
|
|
|
2133
2198
|
}
|
|
2134
2199
|
return G;
|
|
2135
2200
|
}
|
|
2136
|
-
function
|
|
2201
|
+
function Hn(e) {
|
|
2137
2202
|
let t = typeof e == "string" ? e.trim() : "";
|
|
2138
2203
|
if (!t || t.toLowerCase() === "auto") return null;
|
|
2139
|
-
if (
|
|
2204
|
+
if (Wn(t)) return t;
|
|
2140
2205
|
if (/^transparent$/i.test(t)) return "rgba(0, 0, 0, 0)";
|
|
2141
|
-
if (
|
|
2142
|
-
let n = null, r =
|
|
2206
|
+
if (Bn.has(t)) return Bn.get(t);
|
|
2207
|
+
let n = null, r = Un(t) && !/currentcolor/i.test(t) ? Vn() : null;
|
|
2143
2208
|
if (r) try {
|
|
2144
2209
|
let e = (e) => (r.fillStyle = e, r.fillStyle = t, String(r.fillStyle)), i = e("#010203"), a = i === "#010203" && e("#040506") === "#040506" ? null : i;
|
|
2145
|
-
n = a === null ? null :
|
|
2210
|
+
n = a === null ? null : Kn(a) ? a : qn(r, t);
|
|
2146
2211
|
} catch {
|
|
2147
2212
|
n = null;
|
|
2148
2213
|
}
|
|
2149
|
-
return
|
|
2214
|
+
return Bn.set(t, n), n;
|
|
2150
2215
|
}
|
|
2151
|
-
function
|
|
2216
|
+
function Un(e) {
|
|
2152
2217
|
try {
|
|
2153
2218
|
return typeof CSS > "u" || typeof CSS.supports != "function" || CSS.supports("color", e);
|
|
2154
2219
|
} catch {
|
|
2155
2220
|
return !1;
|
|
2156
2221
|
}
|
|
2157
2222
|
}
|
|
2158
|
-
function
|
|
2159
|
-
if (!
|
|
2223
|
+
function Wn(e) {
|
|
2224
|
+
if (!Kn(e)) return !1;
|
|
2160
2225
|
let t = /^rgba?\(/i.test(e.trim()) ? e.slice(e.indexOf("(") + 1, e.lastIndexOf(")")).split(",").map(Number) : null;
|
|
2161
2226
|
if (t && (t.slice(0, 3).some((e) => !(e >= 0 && e <= 255)) || t.length > 3 && !(t[3] > 0 && t[3] <= 1))) return !1;
|
|
2162
2227
|
let [n, r, i, a] = L(e);
|
|
@@ -2166,30 +2231,30 @@ function Bn(e) {
|
|
|
2166
2231
|
i
|
|
2167
2232
|
].every((e) => Number.isFinite(e) && e >= 0 && e <= 255) && Number.isFinite(a) && a > 0 && a <= 1;
|
|
2168
2233
|
}
|
|
2169
|
-
var
|
|
2170
|
-
function
|
|
2234
|
+
var Gn = /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$|^rgba?\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*(?:,\s*[\d.]+\s*)?\)$/i, Kn = (e) => Gn.test(e.trim());
|
|
2235
|
+
function qn(e, t) {
|
|
2171
2236
|
if (!e.getImageData || !e.fillRect) return null;
|
|
2172
2237
|
e.clearRect(0, 0, 1, 1), e.fillStyle = t, e.fillRect(0, 0, 1, 1);
|
|
2173
2238
|
let [n, r, i, a] = e.getImageData(0, 0, 1, 1).data;
|
|
2174
|
-
return
|
|
2239
|
+
return Jn(n, r, i, a / 255);
|
|
2175
2240
|
}
|
|
2176
|
-
var
|
|
2177
|
-
function
|
|
2241
|
+
var Jn = (e, t, n, r) => `rgba(${e}, ${t}, ${n}, ${+r.toFixed(3)})`;
|
|
2242
|
+
function Yn(e) {
|
|
2178
2243
|
if (typeof e != "string" || e.length > 200) return null;
|
|
2179
2244
|
let t = e.trim();
|
|
2180
|
-
return !t || /^(?:auto|currentcolor)$/i.test(t) ? null :
|
|
2245
|
+
return !t || /^(?:auto|currentcolor)$/i.test(t) ? null : Hn(t) || (Vn() === null && zt(t) ? t : null);
|
|
2181
2246
|
}
|
|
2182
2247
|
// ../explorer/camera.js
|
|
2183
|
-
var K = .25,
|
|
2184
|
-
function
|
|
2185
|
-
let a =
|
|
2248
|
+
var K = .25, Xn = .005, Zn = (e, t = K) => Math.max(Math.max(Xn, Math.min(t, K)), Math.min(3, e)), Qn = (e, t, n) => t < e ? Math.min(e, Zn(t, n)) : Zn(t, n);
|
|
2249
|
+
function $n(e, t, n, r, i = K) {
|
|
2250
|
+
let a = Qn(e.zoom, e.zoom * t, i), o = (n - e.x) / e.zoom, s = (r - e.y) / e.zoom;
|
|
2186
2251
|
return {
|
|
2187
2252
|
x: n - o * a,
|
|
2188
2253
|
y: r - s * a,
|
|
2189
2254
|
zoom: a
|
|
2190
2255
|
};
|
|
2191
2256
|
}
|
|
2192
|
-
var
|
|
2257
|
+
var er = (e, t, n) => ({
|
|
2193
2258
|
x: e.x,
|
|
2194
2259
|
y: e.y,
|
|
2195
2260
|
zoom: e.zoom,
|
|
@@ -2199,15 +2264,15 @@ var Xn = (e, t, n) => ({
|
|
|
2199
2264
|
y: n.y
|
|
2200
2265
|
}
|
|
2201
2266
|
});
|
|
2202
|
-
function
|
|
2203
|
-
let i =
|
|
2267
|
+
function tr(e, t, n, r = K) {
|
|
2268
|
+
let i = Qn(e.zoom, e.zoom * (t / e.dist), r), a = (e.mid.x - e.x) / e.zoom, o = (e.mid.y - e.y) / e.zoom;
|
|
2204
2269
|
return {
|
|
2205
2270
|
x: n.x - a * i,
|
|
2206
2271
|
y: n.y - o * i,
|
|
2207
2272
|
zoom: i
|
|
2208
2273
|
};
|
|
2209
2274
|
}
|
|
2210
|
-
function
|
|
2275
|
+
function nr(e, t, n = {}, r = 120) {
|
|
2211
2276
|
let i = (e, t = 0, n = 0) => {
|
|
2212
2277
|
let i = Math.max(0, t), a = Math.max(0, n), o = Math.max(0, e - r), s = i + a > o && i + a > 0 ? o / (i + a) : 1;
|
|
2213
2278
|
return [i * s, a * s];
|
|
@@ -2219,7 +2284,7 @@ function Qn(e, t, n = {}, r = 120) {
|
|
|
2219
2284
|
height: Math.max(0, t - a - o)
|
|
2220
2285
|
};
|
|
2221
2286
|
}
|
|
2222
|
-
var
|
|
2287
|
+
var rr = (e) => {
|
|
2223
2288
|
let t = e.r || 18;
|
|
2224
2289
|
return {
|
|
2225
2290
|
left: e.x - t - 25,
|
|
@@ -2227,15 +2292,15 @@ var $n = (e) => {
|
|
|
2227
2292
|
top: e.y - t - 25,
|
|
2228
2293
|
bottom: e.y + t + 35
|
|
2229
2294
|
};
|
|
2230
|
-
},
|
|
2231
|
-
function
|
|
2295
|
+
}, ir = (e, t) => Math.min(e, t.width / 4, t.height / 4);
|
|
2296
|
+
function ar(e, t, { padding: n = 40, maxZoom: r = 1, minZoom: i = K } = {}) {
|
|
2232
2297
|
if (!e.length) return null;
|
|
2233
2298
|
let a = Infinity, o = -Infinity, s = Infinity, c = -Infinity;
|
|
2234
2299
|
for (let t of e) {
|
|
2235
|
-
let e =
|
|
2300
|
+
let e = rr(t);
|
|
2236
2301
|
a = Math.min(a, e.left), o = Math.max(o, e.right), s = Math.min(s, e.top), c = Math.max(c, e.bottom);
|
|
2237
2302
|
}
|
|
2238
|
-
let l =
|
|
2303
|
+
let l = ir(n, t), u = Math.min((t.width - l * 2) / (o - a), (t.height - l * 2) / (c - s)), d = Math.max(i, Math.min(r, u));
|
|
2239
2304
|
return {
|
|
2240
2305
|
x: t.x + t.width / 2 - (a + o) / 2 * d,
|
|
2241
2306
|
y: t.y + t.height / 2 - (s + c) / 2 * d,
|
|
@@ -2243,7 +2308,7 @@ function tr(e, t, { padding: n = 40, maxZoom: r = 1, minZoom: i = K } = {}) {
|
|
|
2243
2308
|
};
|
|
2244
2309
|
}
|
|
2245
2310
|
// ../explorer/selection-model.js
|
|
2246
|
-
var
|
|
2311
|
+
var or = Object.freeze({
|
|
2247
2312
|
ownership: {
|
|
2248
2313
|
panel: "Owns",
|
|
2249
2314
|
edge: "owns"
|
|
@@ -2288,8 +2353,8 @@ var nr = Object.freeze({
|
|
|
2288
2353
|
panel: "Extends",
|
|
2289
2354
|
edge: "extends"
|
|
2290
2355
|
}
|
|
2291
|
-
}),
|
|
2292
|
-
function
|
|
2356
|
+
}), sr = (e) => e.kind || (e.dashed ? "usage" : "ownership"), cr = (e) => `${e.from}->${e.to}`, lr = (e) => Object.hasOwn(or, e) ? or[e].edge : String(e);
|
|
2357
|
+
function ur(e, t, { throughChildren: n = !1, kind: r = null } = {}) {
|
|
2293
2358
|
if (!e) return null;
|
|
2294
2359
|
let i = e.id, a = /* @__PURE__ */ new Set();
|
|
2295
2360
|
for (let e of t) !e.kind && !e.dashed && e.from === i && a.add(e.to);
|
|
@@ -2297,11 +2362,11 @@ function or(e, t, { throughChildren: n = !1, kind: r = null } = {}) {
|
|
|
2297
2362
|
for (let e of t) (o ? o.has(e.from) || o.has(e.to) : e.from === i || e.to === i) && s.push(e);
|
|
2298
2363
|
let c = /* @__PURE__ */ new Map();
|
|
2299
2364
|
for (let e of s) {
|
|
2300
|
-
let t =
|
|
2365
|
+
let t = sr(e);
|
|
2301
2366
|
c.set(t, (c.get(t) || 0) + 1);
|
|
2302
2367
|
}
|
|
2303
|
-
let l = r && c.has(r) ? r : null, u = l ? s.filter((e) =>
|
|
2304
|
-
for (let e of u) d.add(e.from), d.add(e.to), f.add(
|
|
2368
|
+
let l = r && c.has(r) ? r : null, u = l ? s.filter((e) => sr(e) === l) : s, d = /* @__PURE__ */ new Set([i]), f = /* @__PURE__ */ new Set();
|
|
2369
|
+
for (let e of u) d.add(e.from), d.add(e.to), f.add(cr(e));
|
|
2305
2370
|
return {
|
|
2306
2371
|
connectedNodeIds: d,
|
|
2307
2372
|
connectedEdgeKeys: f,
|
|
@@ -2313,8 +2378,8 @@ function or(e, t, { throughChildren: n = !1, kind: r = null } = {}) {
|
|
|
2313
2378
|
throughChildren: n
|
|
2314
2379
|
};
|
|
2315
2380
|
}
|
|
2316
|
-
function
|
|
2317
|
-
let i =
|
|
2381
|
+
function dr(e, t, n, { padding: r = 40 } = {}) {
|
|
2382
|
+
let i = ar(t.length ? t : [e], n, {
|
|
2318
2383
|
padding: r,
|
|
2319
2384
|
maxZoom: 1,
|
|
2320
2385
|
minZoom: 1e-4
|
|
@@ -2330,7 +2395,7 @@ function sr(e, t, n, { padding: r = 40 } = {}) {
|
|
|
2330
2395
|
};
|
|
2331
2396
|
}
|
|
2332
2397
|
// ../explorer/scene.js
|
|
2333
|
-
var
|
|
2398
|
+
var fr = [
|
|
2334
2399
|
"root",
|
|
2335
2400
|
"app",
|
|
2336
2401
|
"pkg",
|
|
@@ -2338,7 +2403,7 @@ var cr = [
|
|
|
2338
2403
|
"store",
|
|
2339
2404
|
"rom",
|
|
2340
2405
|
"floor"
|
|
2341
|
-
],
|
|
2406
|
+
], pr = "\"Segoe UI\", -apple-system, BlinkMacSystemFont, Roboto, sans-serif", mr = "\"Segoe UI\", -apple-system, sans-serif", hr = .32, gr = "#ffffff", _r = .07, vr = {
|
|
2342
2407
|
node: {
|
|
2343
2408
|
color: "rgba(9, 13, 22, 0.85)",
|
|
2344
2409
|
width: 3.5
|
|
@@ -2347,10 +2412,10 @@ var cr = [
|
|
|
2347
2412
|
color: "rgba(9, 13, 22, 0.9)",
|
|
2348
2413
|
width: 3
|
|
2349
2414
|
}
|
|
2350
|
-
},
|
|
2415
|
+
}, yr = {
|
|
2351
2416
|
length: 9,
|
|
2352
2417
|
spread: .45
|
|
2353
|
-
},
|
|
2418
|
+
}, br = Object.freeze({
|
|
2354
2419
|
flow: "chevron",
|
|
2355
2420
|
reads: "chevron",
|
|
2356
2421
|
writes: "chevron",
|
|
@@ -2360,7 +2425,7 @@ var cr = [
|
|
|
2360
2425
|
"runs-on": "bar",
|
|
2361
2426
|
uses: "diamond",
|
|
2362
2427
|
extends: "diamond"
|
|
2363
|
-
}),
|
|
2428
|
+
}), xr = Object.freeze({
|
|
2364
2429
|
strokeWidth: 1.8,
|
|
2365
2430
|
barHalf: 5,
|
|
2366
2431
|
diamondHalf: 6,
|
|
@@ -2375,13 +2440,13 @@ var cr = [
|
|
|
2375
2440
|
squareHalf: .86,
|
|
2376
2441
|
squareCorner: .12,
|
|
2377
2442
|
diamondHalf: 1.15
|
|
2378
|
-
}),
|
|
2443
|
+
}), Sr = Object.freeze({
|
|
2379
2444
|
circle: 1,
|
|
2380
2445
|
"rounded-square": (q.roundedHalf - q.roundedCorner) * Math.SQRT2 + q.roundedCorner,
|
|
2381
2446
|
hexagon: q.hexInradius / Math.cos(Math.PI / 6),
|
|
2382
2447
|
square: (q.squareHalf - q.squareCorner) * Math.SQRT2 + q.squareCorner,
|
|
2383
2448
|
diamond: q.diamondHalf
|
|
2384
|
-
}),
|
|
2449
|
+
}), Cr = Object.freeze([7, 5]), wr = Object.freeze([1.5, 4]), Tr = {
|
|
2385
2450
|
selected: {
|
|
2386
2451
|
fill: "rgba(99, 102, 241, 0.55)",
|
|
2387
2452
|
fillR: 8,
|
|
@@ -2403,17 +2468,17 @@ var cr = [
|
|
|
2403
2468
|
ringR: 5,
|
|
2404
2469
|
ringWidth: 1.2
|
|
2405
2470
|
}
|
|
2406
|
-
},
|
|
2471
|
+
}, Er = {
|
|
2407
2472
|
halfLength: 7,
|
|
2408
2473
|
width: 2
|
|
2409
|
-
},
|
|
2474
|
+
}, Dr = {
|
|
2410
2475
|
color: "#ffffff",
|
|
2411
2476
|
radius: 3.5,
|
|
2412
2477
|
glow: 10,
|
|
2413
2478
|
cycleMs: 2600
|
|
2414
2479
|
}, J = {
|
|
2415
2480
|
added: {
|
|
2416
|
-
...
|
|
2481
|
+
...Yt.added,
|
|
2417
2482
|
color: R.dark.added,
|
|
2418
2483
|
ringR: 9,
|
|
2419
2484
|
ringWidth: 2,
|
|
@@ -2421,7 +2486,7 @@ var cr = [
|
|
|
2421
2486
|
alpha: 1
|
|
2422
2487
|
},
|
|
2423
2488
|
changed: {
|
|
2424
|
-
...
|
|
2489
|
+
...Yt.changed,
|
|
2425
2490
|
color: R.dark.changed,
|
|
2426
2491
|
ringR: 9,
|
|
2427
2492
|
ringWidth: 2.5,
|
|
@@ -2429,15 +2494,15 @@ var cr = [
|
|
|
2429
2494
|
alpha: 1
|
|
2430
2495
|
},
|
|
2431
2496
|
removed: {
|
|
2432
|
-
...
|
|
2497
|
+
...Yt.removed,
|
|
2433
2498
|
color: R.dark.removed,
|
|
2434
2499
|
ringR: 9,
|
|
2435
2500
|
ringWidth: 2,
|
|
2436
2501
|
edgeWidth: 2,
|
|
2437
|
-
alpha:
|
|
2502
|
+
alpha: Wt
|
|
2438
2503
|
},
|
|
2439
2504
|
edit: {
|
|
2440
|
-
...
|
|
2505
|
+
...Yt.edit,
|
|
2441
2506
|
color: R.dark.edit,
|
|
2442
2507
|
ringR: 9,
|
|
2443
2508
|
ringWidth: 3,
|
|
@@ -2445,10 +2510,10 @@ var cr = [
|
|
|
2445
2510
|
alpha: 1
|
|
2446
2511
|
}
|
|
2447
2512
|
};
|
|
2448
|
-
function
|
|
2449
|
-
return e === "light" ?
|
|
2513
|
+
function Or(e) {
|
|
2514
|
+
return e === "light" ? jr : Ar;
|
|
2450
2515
|
}
|
|
2451
|
-
var
|
|
2516
|
+
var kr = (e) => {
|
|
2452
2517
|
let t = { ...e };
|
|
2453
2518
|
for (let e of [
|
|
2454
2519
|
"fill",
|
|
@@ -2456,18 +2521,18 @@ var Tr = (e) => {
|
|
|
2456
2521
|
"color"
|
|
2457
2522
|
]) typeof t[e] == "string" && (t[e] = z(t[e]));
|
|
2458
2523
|
return t;
|
|
2459
|
-
},
|
|
2460
|
-
halo:
|
|
2524
|
+
}, Ar = Object.freeze({
|
|
2525
|
+
halo: Tr,
|
|
2461
2526
|
mark: J,
|
|
2462
|
-
core:
|
|
2463
|
-
labelOutline:
|
|
2464
|
-
}),
|
|
2465
|
-
halo: Object.fromEntries(Object.entries(
|
|
2527
|
+
core: gr,
|
|
2528
|
+
labelOutline: vr
|
|
2529
|
+
}), jr = Object.freeze({
|
|
2530
|
+
halo: Object.fromEntries(Object.entries(Tr).map(([e, t]) => [e, kr(t)])),
|
|
2466
2531
|
mark: Object.fromEntries(Object.entries(J).map(([e, t]) => [e, {
|
|
2467
2532
|
...t,
|
|
2468
2533
|
color: R.light[e]
|
|
2469
2534
|
}])),
|
|
2470
|
-
core:
|
|
2535
|
+
core: gr,
|
|
2471
2536
|
labelOutline: {
|
|
2472
2537
|
node: {
|
|
2473
2538
|
color: "rgba(244, 246, 250, 0.9)",
|
|
@@ -2478,28 +2543,28 @@ var Tr = (e) => {
|
|
|
2478
2543
|
width: 3
|
|
2479
2544
|
}
|
|
2480
2545
|
}
|
|
2481
|
-
}),
|
|
2546
|
+
}), Mr = {
|
|
2482
2547
|
ring: 1.8,
|
|
2483
2548
|
edge: 1.6,
|
|
2484
2549
|
gap: 4
|
|
2485
|
-
},
|
|
2550
|
+
}, Nr = .28;
|
|
2486
2551
|
function Y(e, t, { viewer: n = !1 } = {}) {
|
|
2487
|
-
return e.proposal && !v(e.proposalView || "diff", t) ? !1 : e.view === "dataflow" ? !!e.flow && e.flow.ids.has(t.id) : e.view === "house" ?
|
|
2552
|
+
return e.proposal && !v(e.proposalView || "diff", t) ? !1 : e.view === "dataflow" ? !!e.flow && e.flow.ids.has(t.id) : e.view === "house" ? ye(e, t) : t.type === "root" || Pr(e, t, n ? e.activeLayers : Dt(e)) || _t(e, t);
|
|
2488
2553
|
}
|
|
2489
|
-
function
|
|
2490
|
-
let r =
|
|
2491
|
-
return r ? n[r] !== !1 : t.type === "core" ? (n.pkg || n.atom) && n.core !== !1 : t.type === "store" ? n.flow !== !1 && n.store !== !1 : t.type === "rom" ? n.rom !== !1 && n.flow !== !1 : t.type === "floor" || t.type === "room" ? n.house !== !1 : t.type === "external" ? n[
|
|
2554
|
+
function Pr(e, t, n = Dt(e)) {
|
|
2555
|
+
let r = pt(e, t);
|
|
2556
|
+
return r ? n[r] !== !1 : t.type === "core" ? (n.pkg || n.atom) && n.core !== !1 : t.type === "store" ? n.flow !== !1 && n.store !== !1 : t.type === "rom" ? n.rom !== !1 && n.flow !== !1 : t.type === "floor" || t.type === "room" ? n.house !== !1 : t.type === "external" ? n[se(t)] !== !1 : n[t.type] !== !1;
|
|
2492
2557
|
}
|
|
2493
|
-
var
|
|
2494
|
-
function
|
|
2495
|
-
return
|
|
2558
|
+
var Fr = (e) => e.view === "dataflow" && e.flow ? e.flow.edges : e.view === "house" ? be(e) : e.edges;
|
|
2559
|
+
function Ir(e, t, n) {
|
|
2560
|
+
return ur(e, t, n);
|
|
2496
2561
|
}
|
|
2497
|
-
function
|
|
2562
|
+
function Lr(e) {
|
|
2498
2563
|
let t = e.scenario, n = new Set(t.visited.nodes), r = new Set(t.visited.edgeList.map(X));
|
|
2499
2564
|
t.linkNodes && e.edges.forEach((e) => {
|
|
2500
2565
|
n.has(e.from) && n.has(e.to) && r.add(X(e));
|
|
2501
2566
|
});
|
|
2502
|
-
let i =
|
|
2567
|
+
let i = ge(t, e.nodes, e.edges);
|
|
2503
2568
|
i && (i.down.forEach((e) => n.add(e)), i.hits.forEach((e, t) => n.add(t)), i.edges.forEach((e, t) => r.add(t)));
|
|
2504
2569
|
let { node: a, edge: o } = t.current, s = a === void 0 ? o ? o.kind === "writes" ? o.from : o.to : void 0 : a;
|
|
2505
2570
|
return {
|
|
@@ -2509,7 +2574,7 @@ function Nr(e) {
|
|
|
2509
2574
|
selectedId: s
|
|
2510
2575
|
};
|
|
2511
2576
|
}
|
|
2512
|
-
function
|
|
2577
|
+
function Rr(e, t, n) {
|
|
2513
2578
|
let r = n.x - t.x, i = n.y - t.y, a = Math.hypot(r, i) || 1, o = e.bend === void 0 ? .18 : e.bend, s = {
|
|
2514
2579
|
x: (t.x + n.x) / 2 + -i / a * a * o,
|
|
2515
2580
|
y: (t.y + n.y) / 2 + r / a * a * o
|
|
@@ -2526,14 +2591,14 @@ function Pr(e, t, n) {
|
|
|
2526
2591
|
c: s
|
|
2527
2592
|
};
|
|
2528
2593
|
}
|
|
2529
|
-
function
|
|
2594
|
+
function zr(e, t, n, r) {
|
|
2530
2595
|
let i = 1 - r;
|
|
2531
2596
|
return {
|
|
2532
2597
|
x: i * i * e.x + 2 * i * r * t.x + r * r * n.x,
|
|
2533
2598
|
y: i * i * e.y + 2 * i * r * t.y + r * r * n.y
|
|
2534
2599
|
};
|
|
2535
2600
|
}
|
|
2536
|
-
function
|
|
2601
|
+
function Br(e, t) {
|
|
2537
2602
|
let n = {
|
|
2538
2603
|
x: e.x1,
|
|
2539
2604
|
y: e.y1
|
|
@@ -2541,7 +2606,7 @@ function Ir(e, t) {
|
|
|
2541
2606
|
x: e.x2,
|
|
2542
2607
|
y: e.y2
|
|
2543
2608
|
};
|
|
2544
|
-
return
|
|
2609
|
+
return zr(n, e.curve ? {
|
|
2545
2610
|
x: e.curve.cx,
|
|
2546
2611
|
y: e.curve.cy
|
|
2547
2612
|
} : {
|
|
@@ -2549,16 +2614,16 @@ function Ir(e, t) {
|
|
|
2549
2614
|
y: (n.y + r.y) / 2
|
|
2550
2615
|
}, r, t);
|
|
2551
2616
|
}
|
|
2552
|
-
function
|
|
2553
|
-
return
|
|
2617
|
+
function Vr(e, t) {
|
|
2618
|
+
return Br(e, (t / 1e3 * e.packet.speed + e.packet.phase) % 1);
|
|
2554
2619
|
}
|
|
2555
|
-
var
|
|
2556
|
-
function
|
|
2557
|
-
let s = e.kind === "reads" || e.kind === "writes", c = i(e), l = !r || r.connectedEdgeKeys.has(X(e)), u = e.status !== "live", { a: d, b: f, c: p } =
|
|
2620
|
+
var Hr = (e) => e.kind || (e.dashed ? "usage" : "ownership"), Ur = (e) => `${e.from}->${e.to}${e.kind ? `|${e.kind}` : e.dashed ? "|dashed" : ""}${e.kind === "flow" && e.flow ? `|${e.flow}` : ""}`, X = (e) => `${e.from}->${e.to}`;
|
|
2621
|
+
function Wr(e, t, n, r, a, o) {
|
|
2622
|
+
let s = e.kind === "reads" || e.kind === "writes", c = i(e), l = !r || r.connectedEdgeKeys.has(X(e)), u = e.status !== "live", { a: d, b: f, c: p } = Rr(e, t, n), m = !!r && l, h = Hr(e), g = null;
|
|
2558
2623
|
if (r && l) {
|
|
2559
|
-
let t =
|
|
2624
|
+
let t = zr(d, p, f, .5);
|
|
2560
2625
|
g = {
|
|
2561
|
-
text: e.count !== void 0 && e.label ? e.label :
|
|
2626
|
+
text: e.count !== void 0 && e.label ? e.label : lr(h),
|
|
2562
2627
|
x: t.x,
|
|
2563
2628
|
y: t.y,
|
|
2564
2629
|
color: c.color,
|
|
@@ -2569,19 +2634,19 @@ function Br(e, t, n, r, a, o) {
|
|
|
2569
2634
|
if ((r ? l : a) && !o) {
|
|
2570
2635
|
let t = e.phase === void 0 ? (e.from.length * 7 + e.to.length * 13) % 10 / 10 : e.phase;
|
|
2571
2636
|
_ = {
|
|
2572
|
-
color:
|
|
2637
|
+
color: Dr.color,
|
|
2573
2638
|
glowColor: c.color,
|
|
2574
|
-
radius:
|
|
2575
|
-
glow:
|
|
2576
|
-
speed: 1e3 /
|
|
2639
|
+
radius: Dr.radius,
|
|
2640
|
+
glow: Dr.glow,
|
|
2641
|
+
speed: 1e3 / Dr.cycleMs,
|
|
2577
2642
|
phase: t
|
|
2578
2643
|
};
|
|
2579
2644
|
}
|
|
2580
2645
|
return {
|
|
2581
|
-
key:
|
|
2646
|
+
key: Ur(e),
|
|
2582
2647
|
from: e.from,
|
|
2583
2648
|
to: e.to,
|
|
2584
|
-
kind:
|
|
2649
|
+
kind: Hr(e),
|
|
2585
2650
|
x1: d.x,
|
|
2586
2651
|
y1: d.y,
|
|
2587
2652
|
x2: f.x,
|
|
@@ -2591,14 +2656,14 @@ function Br(e, t, n, r, a, o) {
|
|
|
2591
2656
|
color: c.color,
|
|
2592
2657
|
width: m ? 2.4 : a && !s ? 2 : 1.6,
|
|
2593
2658
|
alpha: r ? l ? 1 : .04 : a ? s ? .2 : .65 : s ? .12 : .45,
|
|
2594
|
-
dash: u ?
|
|
2595
|
-
ticks:
|
|
2659
|
+
dash: u ? Cr : null,
|
|
2660
|
+
ticks: oe(e),
|
|
2596
2661
|
curve: {
|
|
2597
2662
|
cx: p.x,
|
|
2598
2663
|
cy: p.y
|
|
2599
2664
|
},
|
|
2600
2665
|
arrow: !0,
|
|
2601
|
-
end: Object.hasOwn(
|
|
2666
|
+
end: Object.hasOwn(br, h) ? br[h] : "triangle",
|
|
2602
2667
|
glow: m ? 8 : 0,
|
|
2603
2668
|
glowColor: m ? c.color : null,
|
|
2604
2669
|
label: g,
|
|
@@ -2607,13 +2672,13 @@ function Br(e, t, n, r, a, o) {
|
|
|
2607
2672
|
live: !!e.live
|
|
2608
2673
|
};
|
|
2609
2674
|
}
|
|
2610
|
-
function
|
|
2675
|
+
function Gr(e, t, n, r) {
|
|
2611
2676
|
let i = !r || r.connectedEdgeKeys.has(X(e)), a, o, s = null, c = 0, l = null;
|
|
2612
|
-
return r ? i ? e.dashed ? (a = "#818cf8", o = 2, c = 8, l = "rgba(129, 140, 248, 0.7)", s =
|
|
2613
|
-
key:
|
|
2677
|
+
return r ? i ? e.dashed ? (a = "#818cf8", o = 2, c = 8, l = "rgba(129, 140, 248, 0.7)", s = wr) : (a = "#ffffff", o = 2.4, c = 10, l = "rgba(255, 255, 255, 0.8)") : (a = "rgba(255, 255, 255, 0.02)", o = .8, s = e.dashed ? wr : null) : e.dashed ? (a = "rgba(129, 140, 248, 0.35)", o = 1.2, s = wr) : (a = "rgba(255, 255, 255, 0.16)", o = 1.4), {
|
|
2678
|
+
key: Ur(e),
|
|
2614
2679
|
from: e.from,
|
|
2615
2680
|
to: e.to,
|
|
2616
|
-
kind:
|
|
2681
|
+
kind: Hr(e),
|
|
2617
2682
|
x1: t.x,
|
|
2618
2683
|
y1: t.y,
|
|
2619
2684
|
x2: n.x,
|
|
@@ -2636,7 +2701,7 @@ function Vr(e, t, n, r) {
|
|
|
2636
2701
|
live: !!e.live
|
|
2637
2702
|
};
|
|
2638
2703
|
}
|
|
2639
|
-
var
|
|
2704
|
+
var Kr = [
|
|
2640
2705
|
"flow",
|
|
2641
2706
|
"reads",
|
|
2642
2707
|
"writes",
|
|
@@ -2646,62 +2711,62 @@ var Hr = [
|
|
|
2646
2711
|
"delivers",
|
|
2647
2712
|
"uses",
|
|
2648
2713
|
"extends"
|
|
2649
|
-
],
|
|
2650
|
-
function
|
|
2714
|
+
], qr = (e) => e.proposal ? e.proposalView || "diff" : null;
|
|
2715
|
+
function Jr(e, t, n, r = !1, i = !1) {
|
|
2651
2716
|
if (e.mark = t, t === "none") {
|
|
2652
|
-
(n === "diff" || i) && (e.alpha *=
|
|
2717
|
+
(n === "diff" || i) && (e.alpha *= Nr, e.glow = 0, e.packet = null), i && (e.greyed = !0);
|
|
2653
2718
|
return;
|
|
2654
2719
|
}
|
|
2655
2720
|
let a = J[t];
|
|
2656
|
-
e.color = a.color, e.dash = r ? J.removed.edgeDash : a.edgeDash, e.width = Math.max(e.width, a.edgeWidth), e.alpha >= .1 && (e.alpha = Math.max(e.alpha,
|
|
2721
|
+
e.color = a.color, e.dash = r ? J.removed.edgeDash : a.edgeDash, e.width = Math.max(e.width, a.edgeWidth), e.alpha >= .1 && (e.alpha = Math.max(e.alpha, Gt) * (r ? J.removed.alpha : a.alpha)), e.glow && (e.glowColor = a.color);
|
|
2657
2722
|
}
|
|
2658
|
-
function
|
|
2659
|
-
let { nodes: r } = e, i =
|
|
2723
|
+
function Yr(e, t, n) {
|
|
2724
|
+
let { nodes: r } = e, i = Dt(e), a = Ot(e), o = new Map(r.map((e) => [e.id, e])), s = e.view === "dataflow", c = [], l = (e) => !!t && t.connectedEdgeKeys.has(X(e)), u = (e, r, i) => c.push(Wr(e, r, i, t, s, n)), d = qr(e), f = (n) => {
|
|
2660
2725
|
let r = o.get(n.from), a = o.get(n.to);
|
|
2661
2726
|
if (r && a && Y(e, r) && Y(e, a)) {
|
|
2662
2727
|
if (s) return u(n, r, a);
|
|
2663
2728
|
if (e.view === "house") {
|
|
2664
|
-
let e =
|
|
2665
|
-
e === "flow" ? u(n, r, a) : e === "link" && c.push(
|
|
2666
|
-
} else n.kind === "flow" ? i.flow !== !1 && u(n, r, a) : n.kind === "reads" || n.kind === "writes" ? i.table !== !1 && u(n, r, a) : n.kind === "runs-on" ? (i.stack !== !1 || a.type === "machine") && u(n, r, a) : n.kind === "calls" || n.kind === "triggers" || n.kind === "delivers" ? (r.type !== "page" || n.kind !== "calls" || l(n)) && u(n, r, a) : n.kind === "uses" || n.kind === "extends" ? l(n) && u(n, r, a) : c.push(
|
|
2729
|
+
let e = xe(n, r, a);
|
|
2730
|
+
e === "flow" ? u(n, r, a) : e === "link" && c.push(Gr(n, r, a, t));
|
|
2731
|
+
} else n.kind === "flow" ? i.flow !== !1 && u(n, r, a) : n.kind === "reads" || n.kind === "writes" ? i.table !== !1 && u(n, r, a) : n.kind === "runs-on" ? (i.stack !== !1 || a.type === "machine") && u(n, r, a) : n.kind === "calls" || n.kind === "triggers" || n.kind === "delivers" ? (r.type !== "page" || n.kind !== "calls" || l(n)) && u(n, r, a) : n.kind === "uses" || n.kind === "extends" ? l(n) && u(n, r, a) : c.push(Gr(n, r, a, t));
|
|
2667
2732
|
}
|
|
2668
2733
|
};
|
|
2669
|
-
return
|
|
2734
|
+
return Fr(e).forEach((n) => {
|
|
2670
2735
|
if (d && !y(d, n)) return;
|
|
2671
2736
|
let r = d === "before" ? x(n) : n, i = d ? b(d, n) : "none", l = c.length;
|
|
2672
2737
|
if (i === "none") f(r);
|
|
2673
2738
|
else {
|
|
2674
2739
|
let n = o.get(r.from), i = o.get(r.to);
|
|
2675
2740
|
if (!n || !i || !Y(e, n) || !Y(e, i)) return;
|
|
2676
|
-
s ||
|
|
2741
|
+
s || Kr.includes(r.kind) ? u(r, n, i) : c.push(Gr(r, n, i, t));
|
|
2677
2742
|
}
|
|
2678
|
-
for (let e = l; e < c.length; e++)
|
|
2743
|
+
for (let e = l; e < c.length; e++) Jr(c[e], i, d, i === "edit" && n.editOp === "removed", a);
|
|
2679
2744
|
}), c;
|
|
2680
2745
|
}
|
|
2681
|
-
var
|
|
2682
|
-
function
|
|
2683
|
-
let { nodes: n, selectedNode: r, searchQuery: i } = e, a = i ?
|
|
2746
|
+
var Xr = (e) => e.type === "floor" || e.type === "room" ? "house" : e.type === "external" ? se(e) : e.type, Zr = (e) => Yn(e.color) ?? (E[e.type] || E.external).color;
|
|
2747
|
+
function Qr(e, t) {
|
|
2748
|
+
let { nodes: n, selectedNode: r, searchQuery: i } = e, a = i ? zn(n, i) : null, o = !!a && n.some((t) => a.has(t.id) && Y(e, t)), s = [], c = qr(e), l = Ot(e), u = c === "diff" || c && l ? S(n, Fr(e)) : null;
|
|
2684
2749
|
return n.forEach((n) => {
|
|
2685
2750
|
if (!Y(e, n)) return;
|
|
2686
|
-
let i = c === "before" ? x(n) : n, d = !!a && a.has(n.id), f = d && e.searchCurrent === n.id, p = !!r && r.id === n.id, m = !t || t.connectedNodeIds.has(n.id), h = t && t.childIds ? t.childIds.has(n.id) : !1, g = c ? b(c, n) : "none", _ = J[g], v = g === "edit" && n.editOp === "removed", y = t && !m && !(o && d) ?
|
|
2687
|
-
o && !d && !p && !(t && m) && (y =
|
|
2751
|
+
let i = c === "before" ? x(n) : n, d = !!a && a.has(n.id), f = d && e.searchCurrent === n.id, p = !!r && r.id === n.id, m = !t || t.connectedNodeIds.has(n.id), h = t && t.childIds ? t.childIds.has(n.id) : !1, g = c ? b(c, n) : "none", _ = J[g], v = g === "edit" && n.editOp === "removed", y = t && !m && !(o && d) ? _r : 1;
|
|
2752
|
+
o && !d && !p && !(t && m) && (y = _r);
|
|
2688
2753
|
let S = l && !!u && !u.touched.has(n.id);
|
|
2689
|
-
u && !u.touched.has(n.id) && (y = Math.min(y, S ?
|
|
2690
|
-
let C = i.type === "root" || i.type === "app", w =
|
|
2754
|
+
u && !u.touched.has(n.id) && (y = Math.min(y, S ? qt : Nr)), _ && (y *= v ? J.removed.alpha : _.alpha);
|
|
2755
|
+
let C = i.type === "root" || i.type === "app", w = yt(e, i), T = pt(e, i);
|
|
2691
2756
|
s.push({
|
|
2692
2757
|
id: n.id,
|
|
2693
2758
|
type: i.type,
|
|
2694
|
-
group:
|
|
2759
|
+
group: Xr(i),
|
|
2695
2760
|
...typeof i.kind == "string" && i.kind ? { kind: i.kind } : {},
|
|
2696
2761
|
...w ? { letters: w } : {},
|
|
2697
|
-
shape:
|
|
2698
|
-
hitR: i.r *
|
|
2699
|
-
...
|
|
2762
|
+
shape: te(i.type),
|
|
2763
|
+
hitR: i.r * Sr[te(i.type)],
|
|
2764
|
+
..._n(i.type) ? { glyph: i.type } : {},
|
|
2700
2765
|
...T ? { layer: T } : {},
|
|
2701
2766
|
x: n.x,
|
|
2702
2767
|
y: n.y,
|
|
2703
2768
|
r: i.r,
|
|
2704
|
-
color:
|
|
2769
|
+
color: Zr(i),
|
|
2705
2770
|
alpha: y,
|
|
2706
2771
|
glow: m && y >= .5 ? C ? 15 : 9 : 0,
|
|
2707
2772
|
halo: d ? "match" : p ? "selected" : h ? "child" : "none",
|
|
@@ -2715,16 +2780,16 @@ function Jr(e, t) {
|
|
|
2715
2780
|
label: i.label,
|
|
2716
2781
|
labelSize: C && !S ? 12 : 11,
|
|
2717
2782
|
labelBold: C && !S,
|
|
2718
|
-
labelAlpha: S && (!t || m) ?
|
|
2783
|
+
labelAlpha: S && (!t || m) ? Jt[e.theme === "light" ? "light" : "dark"] : u && !u.touched.has(n.id) && (!t || m) ? Math.max(y, Kt) : y,
|
|
2719
2784
|
labelColor: m ? "#f8fafc" : "rgba(255, 255, 255, 0.3)",
|
|
2720
|
-
labelKeep:
|
|
2785
|
+
labelKeep: fr.includes(i.type) && !S || p || d || g !== "none" || !!(t && m),
|
|
2721
2786
|
labelStrike: !!_ && (_.strike || v),
|
|
2722
2787
|
live: !!n.live,
|
|
2723
2788
|
box: n.box || null
|
|
2724
2789
|
});
|
|
2725
2790
|
}), s;
|
|
2726
2791
|
}
|
|
2727
|
-
function
|
|
2792
|
+
function $r(e) {
|
|
2728
2793
|
let { rings: t, selectedNode: n } = e, r = {
|
|
2729
2794
|
color: n ? "rgba(66, 153, 225, 0.04)" : "rgba(66, 153, 225, 0.14)",
|
|
2730
2795
|
width: 1,
|
|
@@ -2746,7 +2811,7 @@ function Yr(e) {
|
|
|
2746
2811
|
...i
|
|
2747
2812
|
})))];
|
|
2748
2813
|
}
|
|
2749
|
-
function
|
|
2814
|
+
function ei(e) {
|
|
2750
2815
|
let t = -e.top + 40;
|
|
2751
2816
|
return e.headers.map((n, r) => {
|
|
2752
2817
|
let i = e.headers[r + 1];
|
|
@@ -2786,44 +2851,44 @@ function Xr(e) {
|
|
|
2786
2851
|
};
|
|
2787
2852
|
});
|
|
2788
2853
|
}
|
|
2789
|
-
var
|
|
2854
|
+
var ti = .55, ni = .5, ri = {
|
|
2790
2855
|
color: "#ffffff",
|
|
2791
2856
|
radius: 4.5,
|
|
2792
2857
|
glow: 12
|
|
2793
|
-
},
|
|
2858
|
+
}, ii = {
|
|
2794
2859
|
width: 3.6,
|
|
2795
2860
|
glow: 14
|
|
2796
2861
|
};
|
|
2797
|
-
function
|
|
2862
|
+
function ai(e, t) {
|
|
2798
2863
|
return e.from !== t.from || e.to !== t.to ? !1 : t.kind ? e.kind === t.kind && (!t.flow || e.key.split("|")[2] === t.flow) : e.kind === "ownership" || e.kind === "usage";
|
|
2799
2864
|
}
|
|
2800
|
-
function
|
|
2865
|
+
function oi(e, t, n = {}) {
|
|
2801
2866
|
if (t.done) return;
|
|
2802
2867
|
let { node: r, edge: i, at: a } = t.current, o = new Set(r === void 0 ? i ? [i.from, i.to] : [] : [r]);
|
|
2803
2868
|
a !== void 0 && o.add(a), e.nodes.forEach((e) => {
|
|
2804
|
-
e.connected && (o.has(e.id) ? (r !== void 0 || e.id === a) && e.halo !== "match" && (e.halo = "selected") : (e.alpha =
|
|
2869
|
+
e.connected && (o.has(e.id) ? (r !== void 0 || e.id === a) && e.halo !== "match" && (e.halo = "selected") : (e.alpha = ti, e.labelAlpha = ti));
|
|
2805
2870
|
});
|
|
2806
2871
|
let s = new Set(t.visited.edgeList.map(X)), c = (e) => s.has(X(e)) || t.linkNodes && t.visited.nodes.has(e.from) && t.visited.nodes.has(e.to);
|
|
2807
2872
|
e.edges.forEach((e) => {
|
|
2808
|
-
if (i &&
|
|
2809
|
-
e.alpha = 1, e.width = Math.max(e.width,
|
|
2873
|
+
if (i && ai(e, i)) {
|
|
2874
|
+
e.alpha = 1, e.width = Math.max(e.width, ii.width), e.glow = ii.glow, e.glowColor = e.glowColor || e.color;
|
|
2810
2875
|
let r = 1e3 / t.stepMs, i = t.stepStartMs == null ? 0 : (-t.stepStartMs / 1e3 * r % 1 + 1) % 1;
|
|
2811
2876
|
e.packet = n.reduceMotion ? null : {
|
|
2812
|
-
|
|
2877
|
+
...ri,
|
|
2813
2878
|
glowColor: e.color,
|
|
2814
2879
|
speed: r,
|
|
2815
2880
|
phase: i
|
|
2816
2881
|
};
|
|
2817
|
-
} else c(e) && (e.alpha =
|
|
2882
|
+
} else c(e) && (e.alpha = ni, e.packet = null);
|
|
2818
2883
|
});
|
|
2819
2884
|
}
|
|
2820
|
-
function
|
|
2821
|
-
let n = e.view === "dataflow", r = e.scenario ?
|
|
2885
|
+
function si(e, t = {}) {
|
|
2886
|
+
let n = e.view === "dataflow", r = e.scenario ? Lr(e) : e.selectedNode ? Ir(e.selectedNode, Fr(e), {
|
|
2822
2887
|
throughChildren: !!e.throughChildren,
|
|
2823
2888
|
kind: e.selectedKind || null
|
|
2824
|
-
}) : null, i = n && e.flow ?
|
|
2825
|
-
nodes:
|
|
2826
|
-
edges:
|
|
2889
|
+
}) : null, i = n && e.flow ? ei(e.flow) : [], a = !(n && e.flow) && !e.isFreeform ? $r(e) : [], o = {
|
|
2890
|
+
nodes: Qr(e, r),
|
|
2891
|
+
edges: Yr(e, r, !!t.reduceMotion),
|
|
2827
2892
|
decor: {
|
|
2828
2893
|
grid: {
|
|
2829
2894
|
size: 48,
|
|
@@ -2842,18 +2907,18 @@ function ri(e, t = {}) {
|
|
|
2842
2907
|
theme: "dark",
|
|
2843
2908
|
version: e.sceneVersion || 0
|
|
2844
2909
|
};
|
|
2845
|
-
e.view === "house" &&
|
|
2910
|
+
e.view === "house" && Ce(o, e), e.scenario && oi(o, e.scenario, t), o.greying = o.nodes.some((e) => e.greyed) || o.edges.some((e) => e.greyed);
|
|
2846
2911
|
let s = {
|
|
2847
2912
|
nodes: o.nodes.map((e) => e.color),
|
|
2848
2913
|
edges: o.edges.map((e) => e.color)
|
|
2849
2914
|
};
|
|
2850
|
-
return e.scenario &&
|
|
2915
|
+
return e.scenario && _e(o, ge(e.scenario, e.nodes, e.edges)), e.scenario && Ne(o, e.scenario), e.forgeLit && Nn(o, e.forgeLit), o.nodes.forEach((e, t) => {
|
|
2851
2916
|
s.nodes.length === o.nodes.length && e.color !== s.nodes[t] && o.painted.nodes.add(e.id);
|
|
2852
2917
|
}), o.edges.forEach((e, t) => {
|
|
2853
2918
|
s.edges.length === o.edges.length && e.color !== s.edges[t] && o.painted.edges.add(e.key);
|
|
2854
|
-
}), e.theme === "light" &&
|
|
2919
|
+
}), e.theme === "light" && dn(o), o;
|
|
2855
2920
|
}
|
|
2856
|
-
function
|
|
2921
|
+
function ci(e = si) {
|
|
2857
2922
|
let t = null, n, r = {
|
|
2858
2923
|
builds: 0,
|
|
2859
2924
|
get(i) {
|
|
@@ -2863,7 +2928,7 @@ function ii(e = ri) {
|
|
|
2863
2928
|
return r;
|
|
2864
2929
|
}
|
|
2865
2930
|
// ../explorer/engine/map-style.js
|
|
2866
|
-
var
|
|
2931
|
+
var li = Object.freeze(Object.keys(E)), ui = Object.freeze([
|
|
2867
2932
|
"app",
|
|
2868
2933
|
"pkg",
|
|
2869
2934
|
"page",
|
|
@@ -2882,7 +2947,7 @@ var ai = Object.freeze(Object.keys(C)), oi = Object.freeze([
|
|
|
2882
2947
|
"device",
|
|
2883
2948
|
"house",
|
|
2884
2949
|
"persona"
|
|
2885
|
-
]),
|
|
2950
|
+
]), di = Object.freeze([
|
|
2886
2951
|
"ownership",
|
|
2887
2952
|
"usage",
|
|
2888
2953
|
"flow",
|
|
@@ -2894,33 +2959,33 @@ var ai = Object.freeze(Object.keys(C)), oi = Object.freeze([
|
|
|
2894
2959
|
"runs-on",
|
|
2895
2960
|
"uses",
|
|
2896
2961
|
"extends"
|
|
2897
|
-
]),
|
|
2962
|
+
]), fi = Object.freeze([
|
|
2898
2963
|
"added",
|
|
2899
2964
|
"changed",
|
|
2900
2965
|
"removed",
|
|
2901
2966
|
"edit"
|
|
2902
|
-
]),
|
|
2967
|
+
]), pi = Object.freeze([
|
|
2903
2968
|
"selected",
|
|
2904
2969
|
"match",
|
|
2905
2970
|
"lit"
|
|
2906
|
-
]),
|
|
2907
|
-
...
|
|
2908
|
-
...
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
...
|
|
2915
|
-
...
|
|
2916
|
-
...
|
|
2971
|
+
]), mi = "--corn-map-stroke", hi = "--corn-map-label", gi = "--corn-map-label-halo", _i = "--corn-map-font", vi = "--corn-map-edge-width", yi = "--corn-map-glow", bi = "--corn-map-label-min", xi = "--corn-map-grey", Si = "--corn-map-grey-alpha", Ci = "--corn-map-glyph", wi = 1.6, Ti = 1.5, Ei = 1.2, Di = (e) => `--corn-map-node-${e}`, Oi = (e) => `--corn-map-group-${e}`, ki = (e) => `--corn-map-edge-${e}`, Z = (e) => `--corn-map-${e}`, Ai = Object.freeze([
|
|
2972
|
+
...li.map(Di),
|
|
2973
|
+
...ui.map(Oi),
|
|
2974
|
+
mi,
|
|
2975
|
+
hi,
|
|
2976
|
+
gi,
|
|
2977
|
+
Ci,
|
|
2978
|
+
xi,
|
|
2979
|
+
...di.map(ki),
|
|
2980
|
+
...fi.map(Z),
|
|
2981
|
+
...pi.map(Z)
|
|
2917
2982
|
]);
|
|
2918
2983
|
function Q(e, t) {
|
|
2919
2984
|
let [n, r, i, a] = L(e), o = L(t)[3];
|
|
2920
|
-
return o >= 1 ? e :
|
|
2985
|
+
return o >= 1 ? e : Jn(n, r, i, a * o);
|
|
2921
2986
|
}
|
|
2922
|
-
var
|
|
2923
|
-
function
|
|
2987
|
+
var ji = /^(?:serif|sans-serif|monospace|cursive|fantasy|system-ui|ui-serif|ui-sans-serif|ui-monospace|ui-rounded|emoji|math|fangsong)$/i, Mi = /^(?:-apple-system|BlinkMacSystemFont)$/;
|
|
2988
|
+
function Ni(e) {
|
|
2924
2989
|
let t = typeof e == "string" ? e.trim() : "";
|
|
2925
2990
|
if (!t || t.length > 200 || t.toLowerCase() === "auto" || /[();:{}<>@\\/\u0000-\u001f\u007f]|\burl\b|\bvar\b|\bexpression\b|\bimport\b/i.test(t)) return null;
|
|
2926
2991
|
let n = t.split(",").map((e) => e.trim());
|
|
@@ -2929,46 +2994,46 @@ function ki(e) {
|
|
|
2929
2994
|
for (let e of n) {
|
|
2930
2995
|
let t = /^"([A-Za-z0-9 ._+-]{1,60})"$|^'([A-Za-z0-9 ._+-]{1,60})'$/.exec(e), n = t ? (t[1] ?? t[2]).trim() : /^-?[A-Za-z][A-Za-z0-9 _-]{0,59}$/.test(e) ? e.replace(/\s+/g, " ") : null;
|
|
2931
2996
|
if (!n) return null;
|
|
2932
|
-
r.push(
|
|
2997
|
+
r.push(ji.test(n) ? n.toLowerCase() : Mi.test(n) ? n : `"${n}"`);
|
|
2933
2998
|
}
|
|
2934
2999
|
return r.join(", ");
|
|
2935
3000
|
}
|
|
2936
|
-
function
|
|
3001
|
+
function Pi(e, t) {
|
|
2937
3002
|
let n = /^\s*(\d*\.?\d+)(?:px)?\s*$/i.exec(String(e ?? "")), r = n ? parseFloat(n[1]) : NaN;
|
|
2938
3003
|
return Number.isFinite(r) && r > 0 && r <= t ? r : null;
|
|
2939
3004
|
}
|
|
2940
|
-
function
|
|
2941
|
-
let t =
|
|
3005
|
+
function Fi(e) {
|
|
3006
|
+
let t = Pi(e, 24);
|
|
2942
3007
|
return t !== null && t >= 9 ? t : null;
|
|
2943
3008
|
}
|
|
2944
|
-
function
|
|
3009
|
+
function Ii(e) {
|
|
2945
3010
|
let t = /^\s*(\d*\.?\d+)(px)?\s*$/i.exec(String(e ?? ""));
|
|
2946
3011
|
if (!t) return null;
|
|
2947
3012
|
let n = parseFloat(t[1]);
|
|
2948
3013
|
return t[2] && n !== 0 ? null : Number.isFinite(n) && n >= 0 && n <= 4 ? n : null;
|
|
2949
3014
|
}
|
|
2950
|
-
function
|
|
3015
|
+
function Li(e) {
|
|
2951
3016
|
let t = /^\s*(\d*\.?\d+)\s*$/.exec(String(e ?? "")), n = t ? parseFloat(t[1]) : NaN;
|
|
2952
3017
|
return Number.isFinite(n) && n >= .1 && n <= 1 ? n : null;
|
|
2953
3018
|
}
|
|
2954
|
-
function
|
|
3019
|
+
function Ri(e, t = []) {
|
|
2955
3020
|
let n = {};
|
|
2956
|
-
for (let r of [...
|
|
2957
|
-
let t =
|
|
3021
|
+
for (let r of [...Ai, ...t]) {
|
|
3022
|
+
let t = Hn(e(r));
|
|
2958
3023
|
t && (n[r] = t);
|
|
2959
3024
|
}
|
|
2960
3025
|
let r = parseFloat(String(e("--corn-map-stroke-width") ?? ""));
|
|
2961
3026
|
return {
|
|
2962
3027
|
values: n,
|
|
2963
|
-
strokeWidth: Number.isFinite(r) && r >= 0 ? r :
|
|
2964
|
-
font:
|
|
2965
|
-
edgeWidth:
|
|
2966
|
-
glow:
|
|
2967
|
-
labelMin:
|
|
2968
|
-
greyAlpha:
|
|
3028
|
+
strokeWidth: Number.isFinite(r) && r >= 0 ? r : Ti,
|
|
3029
|
+
font: Ni(e(_i)),
|
|
3030
|
+
edgeWidth: Pi(e(vi), 12),
|
|
3031
|
+
glow: Ii(e(yi)),
|
|
3032
|
+
labelMin: Fi(e(bi)),
|
|
3033
|
+
greyAlpha: Li(e(Si))
|
|
2969
3034
|
};
|
|
2970
3035
|
}
|
|
2971
|
-
function
|
|
3036
|
+
function zi(e, t = "") {
|
|
2972
3037
|
return new Promise((n, r) => {
|
|
2973
3038
|
if (typeof Image > "u") {
|
|
2974
3039
|
r(/* @__PURE__ */ Error("no Image"));
|
|
@@ -2978,10 +3043,10 @@ function Fi(e, t = "") {
|
|
|
2978
3043
|
t && (i.crossOrigin = t), i.onload = () => i.naturalWidth > 0 && i.naturalHeight > 0 ? n(i) : r(/* @__PURE__ */ Error(`${e} has no size`)), i.onerror = () => r(/* @__PURE__ */ Error(`${e} did not load`)), i.src = e;
|
|
2979
3044
|
});
|
|
2980
3045
|
}
|
|
2981
|
-
function
|
|
3046
|
+
function Bi(e, { load: t = zi, onChange: n = () => {}, warn: r = (e) => console.warn(e) } = {}) {
|
|
2982
3047
|
let i = /* @__PURE__ */ new Map(), a = 0;
|
|
2983
3048
|
for (let [o, s] of Object.entries(e || {})) {
|
|
2984
|
-
if (!
|
|
3049
|
+
if (!Xe(o) || typeof s != "string" || !s.startsWith("/cornfield/theme/assets/") || s.includes("..")) continue;
|
|
2985
3050
|
let e = {
|
|
2986
3051
|
status: "loading",
|
|
2987
3052
|
image: null
|
|
@@ -3002,18 +3067,18 @@ function Ii(e, { load: t = Fi, onChange: n = () => {}, warn: r = (e) => console.
|
|
|
3002
3067
|
anyReady: () => a > 0
|
|
3003
3068
|
};
|
|
3004
3069
|
}
|
|
3005
|
-
var
|
|
3070
|
+
var Vi = {
|
|
3006
3071
|
values: {},
|
|
3007
|
-
strokeWidth:
|
|
3072
|
+
strokeWidth: Ti,
|
|
3008
3073
|
font: null,
|
|
3009
3074
|
edgeWidth: null,
|
|
3010
3075
|
glow: null,
|
|
3011
3076
|
labelMin: null,
|
|
3012
3077
|
greyAlpha: null
|
|
3013
|
-
},
|
|
3078
|
+
}, Hi = Object.freeze({
|
|
3014
3079
|
version: 0,
|
|
3015
3080
|
values: Object.freeze({}),
|
|
3016
|
-
strokeWidth:
|
|
3081
|
+
strokeWidth: Ti,
|
|
3017
3082
|
font: null,
|
|
3018
3083
|
edgeWidth: null,
|
|
3019
3084
|
glow: null,
|
|
@@ -3022,9 +3087,9 @@ var Li = {
|
|
|
3022
3087
|
icons: null,
|
|
3023
3088
|
pixelated: !1,
|
|
3024
3089
|
plain: !0
|
|
3025
|
-
}),
|
|
3026
|
-
function
|
|
3027
|
-
let t =
|
|
3090
|
+
}), Ui = 500;
|
|
3091
|
+
function Wi(e) {
|
|
3092
|
+
let t = Vi, n = null, r = !1, i = 0, a = [], o = /* @__PURE__ */ new Set(), s = () => {
|
|
3028
3093
|
let e = !Object.keys(t.values).length && !(n && n.anyReady()) && t.font === null && t.edgeWidth === null && t.glow === null && t.labelMin === null && t.greyAlpha === null;
|
|
3029
3094
|
return Object.freeze({
|
|
3030
3095
|
version: i,
|
|
@@ -3051,12 +3116,12 @@ function Bi(e) {
|
|
|
3051
3116
|
return o.add(e), () => o.delete(e);
|
|
3052
3117
|
},
|
|
3053
3118
|
setSubjects({ kinds: e = [], layers: t = [] } = {}) {
|
|
3054
|
-
let n = [...new Set([...e.map(([e, t]) =>
|
|
3119
|
+
let n = [...new Set([...e.map(([e, t]) => qe(e, t)), ...t.map((e) => Je(e))].filter(Boolean))].sort().slice(0, Ui);
|
|
3055
3120
|
return n.length === a.length && n.every((e, t) => e === a[t]) ? !1 : (a = n, d.refresh());
|
|
3056
3121
|
},
|
|
3057
3122
|
refresh(n = e.tokenReader()) {
|
|
3058
3123
|
if (!n) return !1;
|
|
3059
|
-
let r =
|
|
3124
|
+
let r = Ri(n, a);
|
|
3060
3125
|
if (r.strokeWidth === t.strokeWidth && r.font === t.font && r.edgeWidth === t.edgeWidth && r.glow === t.glow && r.labelMin === t.labelMin && Object.keys(r.values).length === Object.keys(t.values).length && Object.entries(r.values).every(([e, n]) => t.values[e] === n)) return !1;
|
|
3061
3126
|
t = r, u();
|
|
3062
3127
|
try {
|
|
@@ -3068,8 +3133,8 @@ function Bi(e) {
|
|
|
3068
3133
|
setIcons(t, i = {}) {
|
|
3069
3134
|
let a = t && t.icons && typeof t.icons == "object" ? t.icons : {};
|
|
3070
3135
|
r = !!(t && t.pixelated === !0);
|
|
3071
|
-
let o = e.base ? "anonymous" : "", s = i.load || ((t) =>
|
|
3072
|
-
return n = Object.keys(a).length ?
|
|
3136
|
+
let o = e.base ? "anonymous" : "", s = i.load || ((t) => zi(e.url(t), o));
|
|
3137
|
+
return n = Object.keys(a).length ? Bi(a, {
|
|
3073
3138
|
...i,
|
|
3074
3139
|
load: s,
|
|
3075
3140
|
onChange: () => {
|
|
@@ -3082,7 +3147,7 @@ function Bi(e) {
|
|
|
3082
3147
|
return r && r.setAttribute && (t && t.pixelated === !0 ? r.setAttribute("data-pixelated", "") : r.removeAttribute("data-pixelated")), d.setIcons(t, n);
|
|
3083
3148
|
},
|
|
3084
3149
|
reset() {
|
|
3085
|
-
t =
|
|
3150
|
+
t = Vi, n = null, r = !1, a = [], u();
|
|
3086
3151
|
},
|
|
3087
3152
|
watch() {
|
|
3088
3153
|
let n = () => {
|
|
@@ -3120,12 +3185,12 @@ function Bi(e) {
|
|
|
3120
3185
|
};
|
|
3121
3186
|
return d;
|
|
3122
3187
|
}
|
|
3123
|
-
var
|
|
3188
|
+
var Gi = (e) => e.slot("map-style", Wi), Ki = (e, t) => {
|
|
3124
3189
|
for (let n of t) if (e[n]) return e[n];
|
|
3125
3190
|
return null;
|
|
3126
|
-
},
|
|
3127
|
-
function
|
|
3128
|
-
let n = t.edgeWidth == null ? 1 : t.edgeWidth /
|
|
3191
|
+
}, qi = Ye, Ji = (e, t) => Ki(e, qi(t));
|
|
3192
|
+
function Yi(e, t) {
|
|
3193
|
+
let n = t.edgeWidth == null ? 1 : t.edgeWidth / wi, r = t.glow == null ? 1 : t.glow;
|
|
3129
3194
|
if (n === 1 && r === 1) return e;
|
|
3130
3195
|
let i = {
|
|
3131
3196
|
...e,
|
|
@@ -3137,19 +3202,19 @@ function Gi(e, t) {
|
|
|
3137
3202
|
glow: e.packet.glow * r
|
|
3138
3203
|
}), i;
|
|
3139
3204
|
}
|
|
3140
|
-
function
|
|
3205
|
+
function Xi(e, t, n) {
|
|
3141
3206
|
let { values: r } = t;
|
|
3142
3207
|
if (e.mark && e.mark !== "none") {
|
|
3143
3208
|
let n = r[Z(e.mark)];
|
|
3144
|
-
return
|
|
3209
|
+
return Yi(n ? {
|
|
3145
3210
|
...e,
|
|
3146
3211
|
color: n,
|
|
3147
3212
|
glowColor: e.glowColor ? n : e.glowColor
|
|
3148
3213
|
} : e, t);
|
|
3149
3214
|
}
|
|
3150
|
-
if (n.has(e.key)) return
|
|
3151
|
-
let i = !e.curve && e.glow > 0 && !e.arrow && r[Z("lit")] || r[
|
|
3152
|
-
if (!i) return
|
|
3215
|
+
if (n.has(e.key)) return Yi(e, t);
|
|
3216
|
+
let i = !e.curve && e.glow > 0 && !e.arrow && r[Z("lit")] || r[ki(e.kind)];
|
|
3217
|
+
if (!i) return Yi(e, t);
|
|
3153
3218
|
let a = {
|
|
3154
3219
|
...e,
|
|
3155
3220
|
color: Q(i, e.color)
|
|
@@ -3157,18 +3222,18 @@ function Ki(e, t, n) {
|
|
|
3157
3222
|
return e.glowColor && (a.glowColor = Q(i, e.glowColor)), e.packet && (a.packet = {
|
|
3158
3223
|
...e.packet,
|
|
3159
3224
|
glowColor: Q(i, e.packet.glowColor)
|
|
3160
|
-
}),
|
|
3225
|
+
}), Yi(a, t);
|
|
3161
3226
|
}
|
|
3162
|
-
function
|
|
3227
|
+
function Zi(e) {
|
|
3163
3228
|
let [t, n, r, i] = L(e), a = Math.round(.2126 * t + .7152 * n + .0722 * r);
|
|
3164
|
-
return i >= 1 ? `rgb(${a}, ${a}, ${a})` :
|
|
3229
|
+
return i >= 1 ? `rgb(${a}, ${a}, ${a})` : Jn(a, a, a, i);
|
|
3165
3230
|
}
|
|
3166
|
-
function
|
|
3167
|
-
let { values: n } = t, r = n[
|
|
3231
|
+
function Qi(e, t) {
|
|
3232
|
+
let { values: n } = t, r = n[xi], i = t.greyAlpha == null ? 1 : t.greyAlpha / qt, a = (e) => r ? Q(r, e) : Zi(e), o = n[hi], s = n[mi], c = e.painted || {
|
|
3168
3233
|
nodes: /* @__PURE__ */ new Set(),
|
|
3169
3234
|
edges: /* @__PURE__ */ new Set()
|
|
3170
3235
|
}, l = e.nodes.map((e) => {
|
|
3171
|
-
let r = !c.nodes.has(e.id) &&
|
|
3236
|
+
let r = !c.nodes.has(e.id) && Ji(n, e), l = t.icons && Ze(e.type, e.kind, e.layer).find((e) => t.icons.get(e)) || null, u = t.glow != null && t.glow !== 1 && e.glow > 0, d = !!e.greyed && !c.nodes.has(e.id);
|
|
3172
3237
|
if (!r && !o && !s && !l && !u && !d) return e;
|
|
3173
3238
|
let f = { ...e };
|
|
3174
3239
|
return u && (f.glow = e.glow * t.glow), r && (f.color = r), o && (f.labelColor = Q(o, e.labelColor)), s && t.strokeWidth > 0 && (f.stroke = {
|
|
@@ -3176,7 +3241,7 @@ function Ji(e, t) {
|
|
|
3176
3241
|
width: t.strokeWidth
|
|
3177
3242
|
}), l && !d && (f.icon = l), d && (f.color = a(f.color), f.alpha = Math.min(1, e.alpha * i)), f;
|
|
3178
3243
|
}), u = e.edges.map((e) => {
|
|
3179
|
-
let n =
|
|
3244
|
+
let n = Xi(e, t, c.edges);
|
|
3180
3245
|
return !e.greyed || c.edges.has(e.key) ? n : {
|
|
3181
3246
|
...n,
|
|
3182
3247
|
color: a(n.color),
|
|
@@ -3189,9 +3254,9 @@ function Ji(e, t) {
|
|
|
3189
3254
|
edges: u
|
|
3190
3255
|
};
|
|
3191
3256
|
t.font && (d.labelFont = t.font), t.labelMin != null && (d.labelMin = t.labelMin);
|
|
3192
|
-
let f = n[
|
|
3257
|
+
let f = n[gi];
|
|
3193
3258
|
if (f) {
|
|
3194
|
-
let { node: t, edge: n } =
|
|
3259
|
+
let { node: t, edge: n } = Or(e.theme).labelOutline;
|
|
3195
3260
|
d.labelOutline = {
|
|
3196
3261
|
node: {
|
|
3197
3262
|
...t,
|
|
@@ -3205,21 +3270,21 @@ function Ji(e, t) {
|
|
|
3205
3270
|
}
|
|
3206
3271
|
return d;
|
|
3207
3272
|
}
|
|
3208
|
-
var
|
|
3209
|
-
function
|
|
3273
|
+
var $i = /* @__PURE__ */ new WeakMap();
|
|
3274
|
+
function ea(e, t) {
|
|
3210
3275
|
if (!t || t.plain && !e.greying) return e;
|
|
3211
|
-
let n =
|
|
3276
|
+
let n = $i.get(e);
|
|
3212
3277
|
if (n && n.style === t) return n.out;
|
|
3213
|
-
let r =
|
|
3214
|
-
return
|
|
3278
|
+
let r = Qi(e, t);
|
|
3279
|
+
return $i.set(e, {
|
|
3215
3280
|
style: t,
|
|
3216
3281
|
out: r
|
|
3217
3282
|
}), r;
|
|
3218
3283
|
}
|
|
3219
|
-
var
|
|
3220
|
-
function
|
|
3284
|
+
var ta = /* @__PURE__ */ new WeakMap();
|
|
3285
|
+
function na(e, t) {
|
|
3221
3286
|
if (!t || t.plain) return e;
|
|
3222
|
-
let n =
|
|
3287
|
+
let n = ta.get(e);
|
|
3223
3288
|
if (n && n.style === t) return n.out;
|
|
3224
3289
|
let { values: r } = t, i = { ...e.halo };
|
|
3225
3290
|
for (let e of ["selected", "match"]) {
|
|
@@ -3231,7 +3296,7 @@ function Qi(e, t) {
|
|
|
3231
3296
|
});
|
|
3232
3297
|
}
|
|
3233
3298
|
let a = { ...e.mark };
|
|
3234
|
-
for (let e of
|
|
3299
|
+
for (let e of fi) {
|
|
3235
3300
|
let t = r[Z(e)];
|
|
3236
3301
|
t && (a[e] = {
|
|
3237
3302
|
...a[e],
|
|
@@ -3243,13 +3308,13 @@ function Qi(e, t) {
|
|
|
3243
3308
|
halo: i,
|
|
3244
3309
|
mark: a
|
|
3245
3310
|
};
|
|
3246
|
-
return
|
|
3311
|
+
return ta.set(e, {
|
|
3247
3312
|
style: t,
|
|
3248
3313
|
out: o
|
|
3249
3314
|
}), o;
|
|
3250
3315
|
}
|
|
3251
3316
|
// ../explorer/engine/layout.js
|
|
3252
|
-
function
|
|
3317
|
+
function ra(e) {
|
|
3253
3318
|
let { state: t } = e;
|
|
3254
3319
|
e.touchScene();
|
|
3255
3320
|
let n = {};
|
|
@@ -3264,18 +3329,18 @@ function $i(e) {
|
|
|
3264
3329
|
e.r = Math.max(12, Math.round(e.baseR + r)), e.scaleDelta = r;
|
|
3265
3330
|
});
|
|
3266
3331
|
}
|
|
3267
|
-
var
|
|
3268
|
-
function
|
|
3332
|
+
var ia = "\"Segoe UI\", -apple-system, sans-serif";
|
|
3333
|
+
function aa(e, t) {
|
|
3269
3334
|
let { ctx: n } = e.state;
|
|
3270
|
-
n.save(), n.font = `${t.type === "root" || t.type === "app" ? "bold 12px" : "11px"} ${
|
|
3335
|
+
n.save(), n.font = `${t.type === "root" || t.type === "app" ? "bold 12px" : "11px"} ${ia}`;
|
|
3271
3336
|
let r = n.measureText(t.label || "").width;
|
|
3272
3337
|
return n.restore(), r;
|
|
3273
3338
|
}
|
|
3274
|
-
var
|
|
3339
|
+
var oa = [
|
|
3275
3340
|
"store",
|
|
3276
3341
|
"table",
|
|
3277
3342
|
"rom"
|
|
3278
|
-
],
|
|
3343
|
+
], sa = [
|
|
3279
3344
|
"core",
|
|
3280
3345
|
"atom",
|
|
3281
3346
|
"molecule",
|
|
@@ -3289,8 +3354,8 @@ var na = [
|
|
|
3289
3354
|
"tool",
|
|
3290
3355
|
"app",
|
|
3291
3356
|
"pkg"
|
|
3292
|
-
];
|
|
3293
|
-
function
|
|
3357
|
+
], ca = 64;
|
|
3358
|
+
function la(e, { first: t = 110, gap: n = 76, spacing: r = 90 } = {}) {
|
|
3294
3359
|
let i = [], a = [], o = 0, s = 0;
|
|
3295
3360
|
for (; o < e.length;) {
|
|
3296
3361
|
let c = t + s * n, l = Math.max(1, Math.floor(2 * Math.PI * c / r)), u = Math.min(l, e.length - o), d = (e) => Array.from({ length: u }, (t, n) => -Math.PI / 2 + e + n / u * Math.PI * 2).some((e) => Math.abs(Math.atan2(Math.sin(e - Math.PI / 2), Math.cos(e - Math.PI / 2))) < .35), f = s % 2 ? Math.PI / u : 0;
|
|
@@ -3309,50 +3374,50 @@ function ia(e, { first: t = 110, gap: n = 76, spacing: r = 90 } = {}) {
|
|
|
3309
3374
|
radii: a
|
|
3310
3375
|
};
|
|
3311
3376
|
}
|
|
3312
|
-
function
|
|
3313
|
-
let
|
|
3377
|
+
function ua(e, t, n, r, i = /* @__PURE__ */ new Set(), a = 0) {
|
|
3378
|
+
let o = [], s = [];
|
|
3314
3379
|
e.forEach((e) => {
|
|
3315
|
-
let
|
|
3316
|
-
if (!
|
|
3317
|
-
|
|
3380
|
+
let c = i.has(e.id) || a >= ca ? [] : t(e);
|
|
3381
|
+
if (!c.length) {
|
|
3382
|
+
s.push(e);
|
|
3318
3383
|
return;
|
|
3319
3384
|
}
|
|
3320
3385
|
i.add(e.id);
|
|
3321
|
-
let
|
|
3322
|
-
|
|
3386
|
+
let l = ua(c.sort(r), t, n, r, i, a + 1);
|
|
3387
|
+
o.push({
|
|
3323
3388
|
c: e,
|
|
3324
|
-
sub:
|
|
3325
|
-
fp:
|
|
3389
|
+
sub: l,
|
|
3390
|
+
fp: l.extent
|
|
3326
3391
|
});
|
|
3327
|
-
}),
|
|
3328
|
-
let
|
|
3329
|
-
children: [...
|
|
3330
|
-
offsets: [...
|
|
3331
|
-
radii:
|
|
3332
|
-
subs:
|
|
3333
|
-
extent:
|
|
3392
|
+
}), o.sort((e, t) => t.fp - e.fp);
|
|
3393
|
+
let c = la(s, { spacing: n(e) }), l = {
|
|
3394
|
+
children: [...s],
|
|
3395
|
+
offsets: [...c.offsets],
|
|
3396
|
+
radii: c.radii,
|
|
3397
|
+
subs: s.map(() => null),
|
|
3398
|
+
extent: c.radii.length ? c.radii[c.radii.length - 1] + 40 : 0
|
|
3334
3399
|
};
|
|
3335
|
-
if (
|
|
3336
|
-
let e =
|
|
3337
|
-
|
|
3400
|
+
if (o.length) {
|
|
3401
|
+
let e = c.radii.length ? c.radii[c.radii.length - 1] : 0, t = o[0].fp, n = o.reduce((e, t) => e + 2 * t.fp + 30, 0), r = [], i = -Math.PI / 2;
|
|
3402
|
+
o.forEach((e) => {
|
|
3338
3403
|
let t = (2 * e.fp + 30) / n * Math.PI * 2;
|
|
3339
3404
|
r.push(i + t / 2), i += t;
|
|
3340
3405
|
});
|
|
3341
|
-
let
|
|
3342
|
-
for (let e = 0; e <
|
|
3406
|
+
let a = Math.max(110, e + t + 40, n / (2 * Math.PI));
|
|
3407
|
+
for (let e = 0; e < o.length; e++) for (let t = e + 1; t < o.length; t++) {
|
|
3343
3408
|
let n = Math.sin(Math.abs(r[t] - r[e]) / 2);
|
|
3344
|
-
n > 1e-6 && (
|
|
3409
|
+
n > 1e-6 && (a = Math.max(a, (o[e].fp + o[t].fp + 30) / (2 * n)));
|
|
3345
3410
|
}
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
x: Math.cos(r[t]) *
|
|
3349
|
-
y: Math.sin(r[t]) *
|
|
3350
|
-
}),
|
|
3351
|
-
}),
|
|
3411
|
+
o.forEach((e, t) => {
|
|
3412
|
+
l.children.push(e.c), l.offsets.push({
|
|
3413
|
+
x: Math.cos(r[t]) * a,
|
|
3414
|
+
y: Math.sin(r[t]) * a
|
|
3415
|
+
}), l.subs.push(e.sub);
|
|
3416
|
+
}), l.bigRadius = a, l.extent = Math.max(l.extent, a + t);
|
|
3352
3417
|
}
|
|
3353
|
-
return
|
|
3418
|
+
return l;
|
|
3354
3419
|
}
|
|
3355
|
-
function
|
|
3420
|
+
function da(e, t, n, r) {
|
|
3356
3421
|
e.children.forEach((i, a) => {
|
|
3357
3422
|
i.x = t + e.offsets[a].x, i.y = n + e.offsets[a].y;
|
|
3358
3423
|
let o = e.subs[a];
|
|
@@ -3360,13 +3425,13 @@ function oa(e, t, n, r) {
|
|
|
3360
3425
|
x: i.x,
|
|
3361
3426
|
y: i.y,
|
|
3362
3427
|
radii: o.radii
|
|
3363
|
-
}),
|
|
3428
|
+
}), da(o, i.x, i.y, r));
|
|
3364
3429
|
});
|
|
3365
3430
|
}
|
|
3366
|
-
var
|
|
3367
|
-
function
|
|
3431
|
+
var fa = 2;
|
|
3432
|
+
function pa(e, t) {
|
|
3368
3433
|
let n = null;
|
|
3369
|
-
for (let r = 0; r < 360; r +=
|
|
3434
|
+
for (let r = 0; r < 360; r += fa) {
|
|
3370
3435
|
let i = -Math.PI / 2 + r * Math.PI / 180, a = Math.cos(i), o = Math.sin(i), s = [];
|
|
3371
3436
|
for (let n of e) {
|
|
3372
3437
|
let e = a * n.x + o * n.y, r = n.r + t, i = e * e - (n.x * n.x + n.y * n.y) + r * r;
|
|
@@ -3383,7 +3448,7 @@ function ca(e, t) {
|
|
|
3383
3448
|
}
|
|
3384
3449
|
return n;
|
|
3385
3450
|
}
|
|
3386
|
-
function
|
|
3451
|
+
function ma(e) {
|
|
3387
3452
|
let { state: t } = e;
|
|
3388
3453
|
e.touchScene();
|
|
3389
3454
|
let { nodes: n, edges: r } = t;
|
|
@@ -3409,16 +3474,16 @@ function la(e) {
|
|
|
3409
3474
|
});
|
|
3410
3475
|
let s = n.find((e) => e.id === "root");
|
|
3411
3476
|
s && (s.x = 0, s.y = 0);
|
|
3412
|
-
let c = (e) =>
|
|
3477
|
+
let c = (e) => oa.includes(e.type), l = new Set(Object.values(o)), u = new Set(n.filter((e) => o[e.id] && !c(e)).map((e) => o[e.id])), d = new Set(n.filter((e) => e.id !== "root" && (c(e) ? l.has(e.id) && (!o[e.id] || o[e.id] === "root") && (e.type === "store" || u.has(e.id)) : o[e.id] === "root" || !o[e.id] && (l.has(e.id) || [
|
|
3413
3478
|
"app",
|
|
3414
3479
|
"pkg",
|
|
3415
3480
|
"tool",
|
|
3416
3481
|
"external",
|
|
3417
3482
|
"stack"
|
|
3418
3483
|
].includes(e.type)))).map((e) => e.id)), f = n.filter((e) => d.has(e.id) || e.id !== "root" && c(e) && u.has(e.id) && !d.has(o[e.id])), p = new Set(f.map((e) => e.id)), m = (e) => {
|
|
3419
|
-
let t =
|
|
3484
|
+
let t = sa.indexOf(e.type);
|
|
3420
3485
|
return t < 0 ? 99 : t;
|
|
3421
|
-
}, h = (e, t) => m(e) - m(t) || String(e.label).localeCompare(String(t.label)), g = n.filter((e) => c(e) && !p.has(e.id) && !p.has(o[e.id])).sort((e, t) =>
|
|
3486
|
+
}, h = (e, t) => m(e) - m(t) || String(e.label).localeCompare(String(t.label)), g = n.filter((e) => c(e) && !p.has(e.id) && !p.has(o[e.id])).sort((e, t) => oa.indexOf(e.type) - oa.indexOf(t.type) || String(e.label).localeCompare(String(t.label))), _ = Math.max(110, ...g.map((t) => aa(e, t) + 24)), v = Math.max(150, g.length * _ / (2 * Math.PI));
|
|
3422
3487
|
g.forEach((e, t) => {
|
|
3423
3488
|
let n = -Math.PI / 2 + t / Math.max(1, g.length) * Math.PI * 2;
|
|
3424
3489
|
e.x = Math.cos(n) * v, e.y = Math.sin(n) * v;
|
|
@@ -3429,10 +3494,10 @@ function la(e) {
|
|
|
3429
3494
|
y: 0,
|
|
3430
3495
|
r: v
|
|
3431
3496
|
});
|
|
3432
|
-
let b = (e) => e.id === "root" ? [] : n.filter((t) => o[t.id] === e.id && !p.has(t.id) && !c(t) && t.id !== "root"), x = (t) => Math.min(170, Math.max(84, ...t.map((t) =>
|
|
3497
|
+
let b = (e) => e.id === "root" ? [] : n.filter((t) => o[t.id] === e.id && !p.has(t.id) && !c(t) && t.id !== "root"), x = (t) => Math.min(170, Math.max(84, ...t.map((t) => aa(e, t) * .8 + 26))), S = /* @__PURE__ */ new Map();
|
|
3433
3498
|
f.forEach((e) => {
|
|
3434
3499
|
let t = n.filter((t) => o[t.id] === e.id && !p.has(t.id)).sort(h);
|
|
3435
|
-
t.length && S.set(e.id,
|
|
3500
|
+
t.length && S.set(e.id, ua(t, b, x, h, /* @__PURE__ */ new Set([e.id])));
|
|
3436
3501
|
});
|
|
3437
3502
|
let C = f.filter((e) => S.has(e.id)).sort((e, t) => S.get(t.id).extent - S.get(e.id).extent || String(e.label).localeCompare(String(t.label))), w = [{
|
|
3438
3503
|
x: 0,
|
|
@@ -3440,7 +3505,7 @@ function la(e) {
|
|
|
3440
3505
|
r: y
|
|
3441
3506
|
}], T = y;
|
|
3442
3507
|
C.forEach((e) => {
|
|
3443
|
-
let t = S.get(e.id), n =
|
|
3508
|
+
let t = S.get(e.id), n = pa(w, t.extent + 35);
|
|
3444
3509
|
e.x = n.x, e.y = n.y, w.push({
|
|
3445
3510
|
x: e.x,
|
|
3446
3511
|
y: e.y,
|
|
@@ -3449,46 +3514,46 @@ function la(e) {
|
|
|
3449
3514
|
x: e.x,
|
|
3450
3515
|
y: e.y,
|
|
3451
3516
|
radii: t.radii
|
|
3452
|
-
}),
|
|
3517
|
+
}), da(t, e.x, e.y, i.clusters);
|
|
3453
3518
|
});
|
|
3454
|
-
let
|
|
3455
|
-
|
|
3456
|
-
let n = -Math.PI / 2 + t / Math.max(1,
|
|
3519
|
+
let ee = n.filter((e) => e.id !== "root" && !o[e.id] && !c(e) && !p.has(e.id)), E = [...f.filter((e) => !S.has(e.id)), ...ee].sort(h), D = Math.max(120, ...E.map((t) => aa(e, t) + 30)), O = Math.max(T + 90, E.length * D / (2 * Math.PI));
|
|
3520
|
+
E.forEach((e, t) => {
|
|
3521
|
+
let n = -Math.PI / 2 + t / Math.max(1, E.length) * Math.PI * 2;
|
|
3457
3522
|
e.x = Math.cos(n) * O, e.y = Math.sin(n) * O;
|
|
3458
|
-
}),
|
|
3523
|
+
}), E.length && i.rings.push({
|
|
3459
3524
|
x: 0,
|
|
3460
3525
|
y: 0,
|
|
3461
3526
|
r: O
|
|
3462
3527
|
});
|
|
3463
|
-
let
|
|
3528
|
+
let te = (e) => e.id === "root" || e.x !== 0 || e.y !== 0, ne = /* @__PURE__ */ new Map();
|
|
3464
3529
|
n.forEach((e) => {
|
|
3465
3530
|
let t = o[e.id];
|
|
3466
|
-
!
|
|
3531
|
+
!te(e) && t && (ne.get(t) || ne.set(t, []).get(t)).push(e);
|
|
3467
3532
|
});
|
|
3468
|
-
let
|
|
3469
|
-
|
|
3470
|
-
let n =
|
|
3471
|
-
if (!n || !
|
|
3472
|
-
let r =
|
|
3533
|
+
let re = new Map(n.map((e) => [e.id, e]));
|
|
3534
|
+
ne.forEach((e, t) => {
|
|
3535
|
+
let n = re.get(t);
|
|
3536
|
+
if (!n || !te(n) || e.every(te)) return;
|
|
3537
|
+
let r = ua(e.sort(h), b, x, h, /* @__PURE__ */ new Set([t]));
|
|
3473
3538
|
i.clusters.push({
|
|
3474
3539
|
x: n.x,
|
|
3475
3540
|
y: n.y,
|
|
3476
3541
|
radii: r.radii
|
|
3477
|
-
}),
|
|
3542
|
+
}), da(r, n.x, n.y, i.clusters);
|
|
3478
3543
|
});
|
|
3479
3544
|
}
|
|
3480
|
-
var
|
|
3481
|
-
function
|
|
3545
|
+
var ha = 50, ga = 110, _a = 15;
|
|
3546
|
+
function va(e, t) {
|
|
3482
3547
|
e.touchScene();
|
|
3483
3548
|
let n = 0;
|
|
3484
3549
|
t.headers = [];
|
|
3485
3550
|
let r = [];
|
|
3486
3551
|
t.tiers.forEach((i) => {
|
|
3487
3552
|
if (!i.nodes.length) return;
|
|
3488
|
-
let a = Math.ceil(i.nodes.length /
|
|
3553
|
+
let a = Math.ceil(i.nodes.length / _a), o = Math.ceil(i.nodes.length / a), s = Math.max(70, ...i.nodes.map((t) => aa(e, t) + 30)), c = n;
|
|
3489
3554
|
i.nodes.forEach((e, t) => {
|
|
3490
3555
|
let n = Math.floor(t / o), i = t % o;
|
|
3491
|
-
e.x = c + n * s + s / 2, e.y = (i - (o - 1) / 2) *
|
|
3556
|
+
e.x = c + n * s + s / 2, e.y = (i - (o - 1) / 2) * ha, r.push(e);
|
|
3492
3557
|
});
|
|
3493
3558
|
let l = a * s;
|
|
3494
3559
|
t.headers.push({
|
|
@@ -3498,20 +3563,20 @@ function pa(e, t) {
|
|
|
3498
3563
|
left: c,
|
|
3499
3564
|
right: c + l,
|
|
3500
3565
|
rows: o
|
|
3501
|
-
}), n += l +
|
|
3502
|
-
}), t.top = -((Math.max(1, ...t.headers.map((e) => e.rows)) - 1) / 2) *
|
|
3503
|
-
let i = (n -
|
|
3566
|
+
}), n += l + ga;
|
|
3567
|
+
}), t.top = -((Math.max(1, ...t.headers.map((e) => e.rows)) - 1) / 2) * ha - 70;
|
|
3568
|
+
let i = (n - ga) / 2;
|
|
3504
3569
|
r.forEach((e) => {
|
|
3505
3570
|
e.x -= i;
|
|
3506
3571
|
}), t.headers.forEach((e) => {
|
|
3507
3572
|
e.x -= i, e.left -= i, e.right -= i;
|
|
3508
3573
|
});
|
|
3509
3574
|
}
|
|
3510
|
-
var
|
|
3511
|
-
function
|
|
3512
|
-
e.store.set(
|
|
3575
|
+
var ya = "cornfield-freeform-positions";
|
|
3576
|
+
function ba(e) {
|
|
3577
|
+
e.store.set(ya, JSON.stringify(e.state.freeformPositions));
|
|
3513
3578
|
}
|
|
3514
|
-
function
|
|
3579
|
+
function xa(e) {
|
|
3515
3580
|
let { state: t } = e;
|
|
3516
3581
|
e.touchScene();
|
|
3517
3582
|
let n = 0;
|
|
@@ -3520,30 +3585,30 @@ function ga(e) {
|
|
|
3520
3585
|
r && (e.x = r.x, e.y = r.y, n++);
|
|
3521
3586
|
}), n > 0;
|
|
3522
3587
|
}
|
|
3523
|
-
function
|
|
3524
|
-
|
|
3588
|
+
function Sa(e) {
|
|
3589
|
+
ma(e), e.state.isFreeform && xa(e);
|
|
3525
3590
|
}
|
|
3526
3591
|
// ../explorer/engine/hint.js
|
|
3527
|
-
var
|
|
3528
|
-
function
|
|
3592
|
+
var Ca = "cornfield:hint-done";
|
|
3593
|
+
function wa(e) {
|
|
3529
3594
|
try {
|
|
3530
3595
|
return !!(e && e.matchMedia && e.matchMedia("(pointer: coarse)").matches);
|
|
3531
3596
|
} catch {
|
|
3532
3597
|
return !1;
|
|
3533
3598
|
}
|
|
3534
3599
|
}
|
|
3535
|
-
function
|
|
3600
|
+
function Ta(e, t, n) {
|
|
3536
3601
|
return n && (t.set || !e.set) ? t.text : e.text;
|
|
3537
3602
|
}
|
|
3538
|
-
function
|
|
3603
|
+
function Ea(e, t = wa(e.win)) {
|
|
3539
3604
|
let { state: n } = e;
|
|
3540
|
-
return n.view === "dataflow" ? p(e, "hintDataFlow") : n.isFreeform ?
|
|
3605
|
+
return n.view === "dataflow" ? p(e, "hintDataFlow") : n.isFreeform ? Ta({
|
|
3541
3606
|
text: p(e, "hintDrag"),
|
|
3542
3607
|
set: d(e, "hintDrag")
|
|
3543
3608
|
}, {
|
|
3544
3609
|
text: p(e, "hintDragTouch"),
|
|
3545
3610
|
set: d(e, "hintDragTouch")
|
|
3546
|
-
}, t) :
|
|
3611
|
+
}, t) : Ta({
|
|
3547
3612
|
text: p(e, "hintInspect"),
|
|
3548
3613
|
set: d(e, "hintInspect")
|
|
3549
3614
|
}, {
|
|
@@ -3551,33 +3616,33 @@ function xa(e, t = ya(e.win)) {
|
|
|
3551
3616
|
set: d(e, "hintInspectTouch")
|
|
3552
3617
|
}, t);
|
|
3553
3618
|
}
|
|
3554
|
-
var
|
|
3619
|
+
var Da = (e) => {
|
|
3555
3620
|
try {
|
|
3556
3621
|
return e.win ? e.win.sessionStorage : null;
|
|
3557
3622
|
} catch {
|
|
3558
3623
|
return null;
|
|
3559
3624
|
}
|
|
3560
|
-
},
|
|
3625
|
+
}, Oa = (e) => e.slot("hint", () => {
|
|
3561
3626
|
let t = { dismissed: !1 };
|
|
3562
3627
|
try {
|
|
3563
|
-
let n =
|
|
3628
|
+
let n = Da(e);
|
|
3564
3629
|
t.dismissed = !!n && n.getItem("cornfield:hint-done") === "1";
|
|
3565
3630
|
} catch {
|
|
3566
3631
|
t.dismissed = !1;
|
|
3567
3632
|
}
|
|
3568
3633
|
return t;
|
|
3569
3634
|
});
|
|
3570
|
-
function
|
|
3571
|
-
let t =
|
|
3635
|
+
function ka(e) {
|
|
3636
|
+
let t = Oa(e);
|
|
3572
3637
|
if (!t.dismissed && (t.dismissed = !0, e.el("instruction-badge-text"))) {
|
|
3573
3638
|
try {
|
|
3574
|
-
let t =
|
|
3575
|
-
t && t.setItem(
|
|
3639
|
+
let t = Da(e);
|
|
3640
|
+
t && t.setItem(Ca, "1");
|
|
3576
3641
|
} catch {}
|
|
3577
|
-
|
|
3642
|
+
ja(e);
|
|
3578
3643
|
}
|
|
3579
3644
|
}
|
|
3580
|
-
function
|
|
3645
|
+
function Aa(e) {
|
|
3581
3646
|
let t = (t) => e.el(t), n = t("proposal-bar");
|
|
3582
3647
|
if (n && !n.hidden) return !0;
|
|
3583
3648
|
let r = t("spec-drawer");
|
|
@@ -3585,22 +3650,22 @@ function Ta(e) {
|
|
|
3585
3650
|
let i = t("forge-panel");
|
|
3586
3651
|
return i && i.classList.contains("forge-open") ? !0 : !!(e.root && e.root.querySelector("[data-corn=\"scenario-player\"]"));
|
|
3587
3652
|
}
|
|
3588
|
-
function
|
|
3589
|
-
let t = e.el("instruction-badge-text"), n =
|
|
3653
|
+
function ja(e) {
|
|
3654
|
+
let t = e.el("instruction-badge-text"), n = Ea(e);
|
|
3590
3655
|
t && t.textContent !== n && (t.textContent = n);
|
|
3591
3656
|
let r = t && t.closest("[data-corn=\"hint\"]");
|
|
3592
3657
|
if (!r) return;
|
|
3593
|
-
let i =
|
|
3658
|
+
let i = Aa(e) || Oa(e).dismissed && e.state.view !== "dataflow";
|
|
3594
3659
|
r.hidden !== i && (r.hidden = i);
|
|
3595
3660
|
}
|
|
3596
3661
|
// ../explorer/sheet-model.js
|
|
3597
|
-
var
|
|
3662
|
+
var Ma = Object.freeze({
|
|
3598
3663
|
proposal: "review",
|
|
3599
3664
|
player: "review",
|
|
3600
3665
|
forge: "other",
|
|
3601
3666
|
drawer: "other"
|
|
3602
|
-
}),
|
|
3603
|
-
function
|
|
3667
|
+
}), Na = /* @__PURE__ */ new Set(["other"]);
|
|
3668
|
+
function Pa(e = Ma) {
|
|
3604
3669
|
let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), r = null, i = (t) => e[t] || t;
|
|
3605
3670
|
return {
|
|
3606
3671
|
add: (e) => {
|
|
@@ -3611,7 +3676,7 @@ function ka(e = Da) {
|
|
|
3611
3676
|
},
|
|
3612
3677
|
has: (e) => t.has(e),
|
|
3613
3678
|
show(e) {
|
|
3614
|
-
if (!t.has(e) || (n.add(e), !
|
|
3679
|
+
if (!t.has(e) || (n.add(e), !Na.has(i(e)))) return [];
|
|
3615
3680
|
let a = [...n].filter((t) => t !== e && i(t) === i(e));
|
|
3616
3681
|
for (let e of a) n.delete(e), r === e && (r = null);
|
|
3617
3682
|
return a;
|
|
@@ -3644,38 +3709,42 @@ function ka(e = Da) {
|
|
|
3644
3709
|
ids: () => [...t]
|
|
3645
3710
|
};
|
|
3646
3711
|
}
|
|
3647
|
-
function
|
|
3712
|
+
function Fa(e) {
|
|
3648
3713
|
return e.slot("sheets", () => ({
|
|
3649
|
-
model:
|
|
3714
|
+
model: Pa(),
|
|
3650
3715
|
elements: /* @__PURE__ */ new Map(),
|
|
3651
3716
|
options: /* @__PURE__ */ new Map(),
|
|
3652
3717
|
offs: /* @__PURE__ */ new Map(),
|
|
3653
3718
|
away: /* @__PURE__ */ new Set(),
|
|
3654
3719
|
listeners: /* @__PURE__ */ new Set(),
|
|
3655
3720
|
dock: null,
|
|
3721
|
+
box: null,
|
|
3656
3722
|
lastCovered: 0,
|
|
3657
3723
|
observers: [],
|
|
3658
3724
|
wiredDock: null,
|
|
3659
3725
|
documentWired: !1
|
|
3660
3726
|
}));
|
|
3661
3727
|
}
|
|
3662
|
-
var
|
|
3663
|
-
|
|
3664
|
-
|
|
3728
|
+
var Ia = 768, La = (e) => {
|
|
3729
|
+
let { box: t } = Fa(e);
|
|
3730
|
+
return t ? t.isConnected && t.clientWidth > 0 && t.clientWidth < Ia : !!(e.win && typeof e.win.matchMedia == "function" && e.win.matchMedia("(max-width: 767px)").matches);
|
|
3731
|
+
}, Ra = (e, t) => t.dock && t.dock.parentElement || (e.state.canvas ? e.state.canvas.parentElement : null);
|
|
3732
|
+
function za(e) {
|
|
3733
|
+
let t = Fa(e), { state: n } = e;
|
|
3665
3734
|
if (!t.dock || !t.dock.isConnected) return n.coveredBottom || 0;
|
|
3666
|
-
let r =
|
|
3735
|
+
let r = La(e) ? Math.round(t.dock.offsetHeight || 0) : 0;
|
|
3667
3736
|
n.coveredBottom = r;
|
|
3668
|
-
let i =
|
|
3737
|
+
let i = Ra(e, t);
|
|
3669
3738
|
return i && i.style.setProperty("--hx-covered", `${r}px`), r !== t.lastCovered && (t.lastCovered = r, t.listeners.forEach((e) => e())), r;
|
|
3670
3739
|
}
|
|
3671
|
-
function
|
|
3740
|
+
function Ba(e) {
|
|
3672
3741
|
let { state: t } = e, n = {
|
|
3673
3742
|
top: 0,
|
|
3674
3743
|
bottom: 0,
|
|
3675
3744
|
left: 0,
|
|
3676
3745
|
right: 0
|
|
3677
3746
|
}, r = t.canvas, i = (e) => !!e && !e.hidden && e.isConnected;
|
|
3678
|
-
if (
|
|
3747
|
+
if (La(e)) n.bottom = za(e) + 8;
|
|
3679
3748
|
else if (r && typeof r.getBoundingClientRect == "function") {
|
|
3680
3749
|
let t = r.getBoundingClientRect(), a = e.el("proposal-bar");
|
|
3681
3750
|
i(a) && (n.top = Math.max(0, a.getBoundingClientRect().bottom - t.top) + 8);
|
|
@@ -3688,9 +3757,9 @@ function Pa(e) {
|
|
|
3688
3757
|
let l = e.root ? e.root.querySelector(".hx-player") : null;
|
|
3689
3758
|
i(l) && (n.bottom = Math.max(0, t.bottom - l.getBoundingClientRect().top) + 8);
|
|
3690
3759
|
}
|
|
3691
|
-
return
|
|
3760
|
+
return nr(t.width || 0, t.height || 0, n);
|
|
3692
3761
|
}
|
|
3693
|
-
function
|
|
3762
|
+
function Va(e) {
|
|
3694
3763
|
return e.slot("fly", () => {
|
|
3695
3764
|
let t = { glide: null };
|
|
3696
3765
|
return t.tick = (n) => {
|
|
@@ -3705,36 +3774,36 @@ function Fa(e) {
|
|
|
3705
3774
|
}) : null, t.off && e.own(t.off), t;
|
|
3706
3775
|
});
|
|
3707
3776
|
}
|
|
3708
|
-
function
|
|
3777
|
+
function Ha(e, t) {
|
|
3709
3778
|
if (!t) return;
|
|
3710
|
-
let n =
|
|
3779
|
+
let n = Va(e), { state: r } = e;
|
|
3711
3780
|
e.reducedMotion || !r.width ? (Object.assign(r.camera, t), n.glide = null, e.map.render()) : (n.glide = {
|
|
3712
3781
|
to: { ...t },
|
|
3713
3782
|
last: null
|
|
3714
3783
|
}, e.map.ensureFlowLoop());
|
|
3715
3784
|
}
|
|
3716
|
-
function
|
|
3717
|
-
|
|
3785
|
+
function Ua(e) {
|
|
3786
|
+
Va(e).glide = null;
|
|
3718
3787
|
}
|
|
3719
3788
|
// ../explorer/selection-view.js
|
|
3720
|
-
function
|
|
3789
|
+
function Wa(e) {
|
|
3721
3790
|
return !e.state.selectedNode || e.state.scenario ? [] : e.map.getScene().nodes.filter((e) => e.connected);
|
|
3722
3791
|
}
|
|
3723
|
-
function
|
|
3792
|
+
function Ga(e) {
|
|
3724
3793
|
let t = e.state.selectedNode;
|
|
3725
3794
|
if (!t) return null;
|
|
3726
|
-
let n =
|
|
3727
|
-
return
|
|
3795
|
+
let n = dr(t, Wa(e), Ba(e), { padding: e.map.fitPadding() });
|
|
3796
|
+
return Ha(e, {
|
|
3728
3797
|
x: n.x,
|
|
3729
3798
|
y: n.y,
|
|
3730
3799
|
zoom: n.zoom
|
|
3731
3800
|
}), n;
|
|
3732
3801
|
}
|
|
3733
3802
|
// ../explorer/engine/selection.js
|
|
3734
|
-
function
|
|
3803
|
+
function Ka(e, t, { frame: n = !1, source: r = "api" } = {}) {
|
|
3735
3804
|
if (!t) return;
|
|
3736
3805
|
let { state: i } = e;
|
|
3737
|
-
e.emit("scenario:clear"),
|
|
3806
|
+
e.emit("scenario:clear"), ka(e), i.selectedNode && i.selectedNode.id === t.id || (i.selectedKind = null);
|
|
3738
3807
|
let a = e.setSelection(t, null, {
|
|
3739
3808
|
source: r,
|
|
3740
3809
|
quiet: !0
|
|
@@ -3742,9 +3811,9 @@ function Ba(e, t, { frame: n = !1, source: r = "api" } = {}) {
|
|
|
3742
3811
|
e.touchScene(), e.map.render(), a.announce(), e.emit("node:show", {
|
|
3743
3812
|
node: t,
|
|
3744
3813
|
frame: n
|
|
3745
|
-
}), n &&
|
|
3814
|
+
}), n && Ga(e);
|
|
3746
3815
|
}
|
|
3747
|
-
function
|
|
3816
|
+
function qa(e, { source: t = "api" } = {}) {
|
|
3748
3817
|
e.emit("scenario:clear");
|
|
3749
3818
|
let n = e.setSelection(null, null, {
|
|
3750
3819
|
source: t,
|
|
@@ -3752,16 +3821,16 @@ function Va(e, { source: t = "api" } = {}) {
|
|
|
3752
3821
|
});
|
|
3753
3822
|
e.touchScene(), e.map.render(), e.emit("node:close"), n.announce();
|
|
3754
3823
|
}
|
|
3755
|
-
var
|
|
3824
|
+
var Ja = 1.25, Ya = {
|
|
3756
3825
|
ArrowLeft: [-1, 0],
|
|
3757
3826
|
ArrowRight: [1, 0],
|
|
3758
3827
|
ArrowUp: [0, -1],
|
|
3759
3828
|
ArrowDown: [0, 1]
|
|
3760
3829
|
};
|
|
3761
|
-
function
|
|
3830
|
+
function Xa(e, t = {}) {
|
|
3762
3831
|
let { shift: n = !1, alt: r = !1, ctrl: i = !1, meta: a = !1, scenario: o = !1, freeform: s = !1, selected: c = !1 } = t;
|
|
3763
3832
|
if (i || a) return null;
|
|
3764
|
-
let l =
|
|
3833
|
+
let l = Ya[e];
|
|
3765
3834
|
if (l) {
|
|
3766
3835
|
if (r) return s && c ? {
|
|
3767
3836
|
type: "move",
|
|
@@ -3781,12 +3850,12 @@ function Wa(e, t = {}) {
|
|
|
3781
3850
|
case "+":
|
|
3782
3851
|
case "=": return {
|
|
3783
3852
|
type: "zoom",
|
|
3784
|
-
factor:
|
|
3853
|
+
factor: Ja
|
|
3785
3854
|
};
|
|
3786
3855
|
case "-":
|
|
3787
3856
|
case "_": return {
|
|
3788
3857
|
type: "zoom",
|
|
3789
|
-
factor: 1 /
|
|
3858
|
+
factor: 1 / Ja
|
|
3790
3859
|
};
|
|
3791
3860
|
case "0": return { type: "fit" };
|
|
3792
3861
|
case "n":
|
|
@@ -3810,21 +3879,21 @@ function Wa(e, t = {}) {
|
|
|
3810
3879
|
default: return null;
|
|
3811
3880
|
}
|
|
3812
3881
|
}
|
|
3813
|
-
function
|
|
3882
|
+
function Za(e) {
|
|
3814
3883
|
return [...e].sort((e, t) => Math.floor(e.y / 40) - Math.floor(t.y / 40) || e.x - t.x || (e.id < t.id ? -1 : +(e.id > t.id)));
|
|
3815
3884
|
}
|
|
3816
|
-
function
|
|
3885
|
+
function Qa(e, t, n) {
|
|
3817
3886
|
if (!e.length) return null;
|
|
3818
3887
|
let r = t == null ? -1 : e.findIndex((e) => e.id === t);
|
|
3819
3888
|
if (r < 0) return n >= 0 ? e[0] : e[e.length - 1];
|
|
3820
3889
|
let i = e.length;
|
|
3821
3890
|
return e[((r + n) % i + i) % i];
|
|
3822
3891
|
}
|
|
3823
|
-
function
|
|
3892
|
+
function $a(e, t, n) {
|
|
3824
3893
|
let r = e.type === "external" ? "outside service" : e.type, i = Number.isFinite(e.degree) ? `, ${e.degree} ${e.degree === 1 ? "connection" : "connections"}` : "", a = Number.isFinite(t) && Number.isFinite(n) ? `, ${n + 1} of ${t}` : "";
|
|
3825
3894
|
return `${e.label}, ${r}${i}${a}`;
|
|
3826
3895
|
}
|
|
3827
|
-
var
|
|
3896
|
+
var eo = (e) => `Zoom ${Math.round(e * 100)} percent`;
|
|
3828
3897
|
// ../explorer/engine/keyboard.js
|
|
3829
3898
|
function $(e, t) {
|
|
3830
3899
|
let n = e.slot("announce", () => {
|
|
@@ -3837,32 +3906,32 @@ function $(e, t) {
|
|
|
3837
3906
|
r.textContent = t;
|
|
3838
3907
|
}, 30));
|
|
3839
3908
|
}
|
|
3840
|
-
var
|
|
3841
|
-
function
|
|
3842
|
-
t ? (
|
|
3909
|
+
var to = (e) => Za(e.state.nodes.filter((t) => e.map.isNodeVisible(t)));
|
|
3910
|
+
function no(e, t, n) {
|
|
3911
|
+
t ? (Ka(e, t, {
|
|
3843
3912
|
frame: !0,
|
|
3844
3913
|
source: "keyboard"
|
|
3845
|
-
}), $(e,
|
|
3914
|
+
}), $(e, $a(t, n.length, n.indexOf(t)))) : $(e, e.el("legend-dropdown") ? "No nodes are shown. Turn a layer on in the Layers menu." : "No nodes are shown.");
|
|
3846
3915
|
}
|
|
3847
|
-
function
|
|
3916
|
+
function ro(e) {
|
|
3848
3917
|
let { state: t } = e;
|
|
3849
3918
|
if (!t.selectedNode) return;
|
|
3850
|
-
let n =
|
|
3919
|
+
let n = Ga(e);
|
|
3851
3920
|
if (!n) return;
|
|
3852
|
-
let r = Math.max(0,
|
|
3921
|
+
let r = Math.max(0, Wa(e).length - 1);
|
|
3853
3922
|
$(e, n.framed ? `Framed ${t.selectedNode.label} and ${r} connected` : `${t.selectedNode.label} centred: ${r} connected, too spread out to frame together`);
|
|
3854
3923
|
}
|
|
3855
|
-
function
|
|
3924
|
+
function io(e, t, n) {
|
|
3856
3925
|
let { state: r } = e, i = r.selectedNode;
|
|
3857
3926
|
i && (i.x += t, i.y += n, r.freeformPositions[i.id] = {
|
|
3858
3927
|
x: i.x,
|
|
3859
3928
|
y: i.y
|
|
3860
|
-
}, e.touchScene(),
|
|
3929
|
+
}, e.touchScene(), ba(e), e.map.render(), $(e, `Moved ${i.label}`));
|
|
3861
3930
|
}
|
|
3862
|
-
function
|
|
3931
|
+
function ao(e, t) {
|
|
3863
3932
|
let { state: n, map: r } = e;
|
|
3864
3933
|
if (t.target !== n.canvas || t.defaultPrevented) return;
|
|
3865
|
-
let i =
|
|
3934
|
+
let i = Xa(t.key, {
|
|
3866
3935
|
shift: t.shiftKey,
|
|
3867
3936
|
alt: t.altKey,
|
|
3868
3937
|
ctrl: t.ctrlKey,
|
|
@@ -3879,52 +3948,52 @@ function $a(e, t) {
|
|
|
3879
3948
|
a.x += i.dx, a.y += i.dy, r.render();
|
|
3880
3949
|
break;
|
|
3881
3950
|
case "zoom":
|
|
3882
|
-
Object.assign(a,
|
|
3951
|
+
Object.assign(a, $n(a, i.factor, o / 2, s / 2, r.getMinZoom())), r.render(), $(e, eo(a.zoom));
|
|
3883
3952
|
break;
|
|
3884
3953
|
case "fit":
|
|
3885
|
-
r.fitGraphToViewport(r.fitPadding()), $(e, `The whole map. ${
|
|
3954
|
+
r.fitGraphToViewport(r.fitPadding()), $(e, `The whole map. ${eo(a.zoom)}`);
|
|
3886
3955
|
break;
|
|
3887
3956
|
case "step": {
|
|
3888
3957
|
if (e.ask("search:active") && e.ask("search:step", i.by)) break;
|
|
3889
|
-
let t =
|
|
3890
|
-
|
|
3958
|
+
let t = to(e);
|
|
3959
|
+
no(e, Qa(t, n.selectedNode && n.selectedNode.id, i.by), t);
|
|
3891
3960
|
break;
|
|
3892
3961
|
}
|
|
3893
3962
|
case "first":
|
|
3894
3963
|
case "last": {
|
|
3895
|
-
let t =
|
|
3896
|
-
|
|
3964
|
+
let t = to(e);
|
|
3965
|
+
no(e, i.type === "first" ? t[0] : t[t.length - 1], t);
|
|
3897
3966
|
break;
|
|
3898
3967
|
}
|
|
3899
3968
|
case "frame":
|
|
3900
|
-
|
|
3969
|
+
ro(e);
|
|
3901
3970
|
break;
|
|
3902
3971
|
case "open":
|
|
3903
3972
|
e.emit("node:focus");
|
|
3904
3973
|
break;
|
|
3905
3974
|
case "close":
|
|
3906
|
-
|
|
3975
|
+
qa(e, { source: "keyboard" }), $(e, e.el("spec-drawer") ? "Panel closed" : "Selection cleared");
|
|
3907
3976
|
break;
|
|
3908
|
-
case "move":
|
|
3977
|
+
case "move": io(e, i.dx, i.dy);
|
|
3909
3978
|
}
|
|
3910
3979
|
}
|
|
3911
|
-
function
|
|
3980
|
+
function oo(e) {
|
|
3912
3981
|
let t = e.slot("keyboard", () => ({ off: null }));
|
|
3913
|
-
!t.off && e.state.canvas && (t.off = e.listen(e.state.canvas, "keydown", (t) =>
|
|
3982
|
+
!t.off && e.state.canvas && (t.off = e.listen(e.state.canvas, "keydown", (t) => ao(e, t)));
|
|
3914
3983
|
}
|
|
3915
|
-
function
|
|
3984
|
+
function so(e) {
|
|
3916
3985
|
let t = e.slot("keyboard", () => ({ off: null }));
|
|
3917
3986
|
t.off && t.off(), t.off = null;
|
|
3918
3987
|
}
|
|
3919
3988
|
// ../explorer/engine/piece.js
|
|
3920
|
-
var
|
|
3921
|
-
function
|
|
3922
|
-
return String(e).replace(/<[a-zA-Z][^<>]*>/g, (e) => /\spart=/.test(e) ? e : e.replace(
|
|
3989
|
+
var co = /* @__PURE__ */ RegExp("\\sdata-corn=\\\"([^\\\"]+)\\\"");
|
|
3990
|
+
function lo(e) {
|
|
3991
|
+
return String(e).replace(/<[a-zA-Z][^<>]*>/g, (e) => /\spart=/.test(e) ? e : e.replace(co, (e, t) => ` data-corn=\"${t}\" part=\"${t}\"`));
|
|
3923
3992
|
}
|
|
3924
|
-
function
|
|
3993
|
+
function uo(e) {
|
|
3925
3994
|
for (let t of e.querySelectorAll("[data-corn]:not([part])")) t.setAttribute("part", t.getAttribute("data-corn"));
|
|
3926
3995
|
}
|
|
3927
|
-
function
|
|
3996
|
+
function fo(e) {
|
|
3928
3997
|
let t = [], n = !1, r = {
|
|
3929
3998
|
listen(n, r, i, a) {
|
|
3930
3999
|
let o = e.listen(n, r, i, a);
|
|
@@ -3947,7 +4016,7 @@ function ao(e) {
|
|
|
3947
4016
|
let r = e.win && e.win.MutationObserver;
|
|
3948
4017
|
if (!r) return;
|
|
3949
4018
|
let i = new r((e) => {
|
|
3950
|
-
for (let t of e) for (let e of t.addedNodes) e.nodeType === 1 && (e.hasAttribute("data-corn") && !e.hasAttribute("part") && e.setAttribute("part", e.getAttribute("data-corn")),
|
|
4019
|
+
for (let t of e) for (let e of t.addedNodes) e.nodeType === 1 && (e.hasAttribute("data-corn") && !e.hasAttribute("part") && e.setAttribute("part", e.getAttribute("data-corn")), uo(e));
|
|
3951
4020
|
});
|
|
3952
4021
|
for (let e of n) i.observe(e, {
|
|
3953
4022
|
childList: !0,
|
|
@@ -3965,22 +4034,22 @@ function ao(e) {
|
|
|
3965
4034
|
};
|
|
3966
4035
|
return e.own(r.destroy), r;
|
|
3967
4036
|
}
|
|
3968
|
-
function
|
|
4037
|
+
function po(e, t, n, r, i) {
|
|
3969
4038
|
let a = e.doc.createElement("template");
|
|
3970
|
-
a.innerHTML =
|
|
4039
|
+
a.innerHTML = lo(n), h(e, a.content);
|
|
3971
4040
|
let o = [...a.content.children], s = r && i ? r[i] : null;
|
|
3972
4041
|
if (s && s.parentNode) {
|
|
3973
|
-
let t =
|
|
3974
|
-
s.parentNode.insertBefore(a.content, s), t &&
|
|
4042
|
+
let t = mo(s);
|
|
4043
|
+
s.parentNode.insertBefore(a.content, s), t && ho(e, t, o);
|
|
3975
4044
|
} else t.append(a.content);
|
|
3976
4045
|
return o;
|
|
3977
4046
|
}
|
|
3978
|
-
function
|
|
4047
|
+
function mo(e) {
|
|
3979
4048
|
let t = [], n = `corn-placeholder:${String(e.data || "").replace(/^corn-piece:/, "")}`;
|
|
3980
4049
|
for (let r = e.previousSibling; r; r = r.previousSibling) if (t.push(r), r.nodeType === 8 && r.data === n) return t;
|
|
3981
4050
|
return null;
|
|
3982
4051
|
}
|
|
3983
|
-
function
|
|
4052
|
+
function ho(e, t, n) {
|
|
3984
4053
|
let r = (e) => e.flatMap((e) => e.nodeType === 1 ? [...e.matches("button, input") ? [e] : [], ...e.querySelectorAll("button, input")] : []), i = r(t.slice().reverse()), a = r(n), o = e.active();
|
|
3985
4054
|
i.forEach((e, t) => {
|
|
3986
4055
|
let n = a[t];
|
|
@@ -3988,34 +4057,34 @@ function co(e, t, n) {
|
|
|
3988
4057
|
}), t.forEach((e) => e.remove());
|
|
3989
4058
|
}
|
|
3990
4059
|
// ../explorer/pieces/adopt-tokens.js
|
|
3991
|
-
var
|
|
3992
|
-
function
|
|
4060
|
+
var go = Symbol.for("cornfield.default-tokens"), _o = "data-corn-default-tokens";
|
|
4061
|
+
function vo(e, t) {
|
|
3993
4062
|
if (!e || !t) return !1;
|
|
3994
4063
|
let n = e.nodeType === 9 ? e : e.ownerDocument, r = e.adoptedStyleSheets;
|
|
3995
4064
|
if (Array.isArray(r) && n && n.defaultView && typeof n.defaultView.CSSStyleSheet == "function" && "replaceSync" in n.defaultView.CSSStyleSheet.prototype) {
|
|
3996
|
-
if (r.some((e) => e && e[
|
|
4065
|
+
if (r.some((e) => e && e[go])) return !1;
|
|
3997
4066
|
let i = new n.defaultView.CSSStyleSheet();
|
|
3998
|
-
return i.replaceSync(t), i[
|
|
4067
|
+
return i.replaceSync(t), i[go] = !0, e.adoptedStyleSheets = [...r, i], !0;
|
|
3999
4068
|
}
|
|
4000
4069
|
let i = e.nodeType === 9 ? e.head : e;
|
|
4001
|
-
if (!i || i.querySelector(`style[${
|
|
4070
|
+
if (!i || i.querySelector(`style[${_o}]`)) return !1;
|
|
4002
4071
|
let a = n.createElement("style");
|
|
4003
|
-
return a.setAttribute(
|
|
4072
|
+
return a.setAttribute(_o, ""), a.textContent = t, i.prepend(a), !0;
|
|
4004
4073
|
}
|
|
4005
4074
|
// ../explorer/pieces/scope-link.js
|
|
4006
|
-
var
|
|
4075
|
+
var yo = "corn-scope-request", bo = "corn-scope-changed", xo = (e) => e.slot("scope", () => ({
|
|
4007
4076
|
theme: "auto",
|
|
4008
4077
|
serverTheme: null,
|
|
4009
4078
|
host: null,
|
|
4010
4079
|
source: null,
|
|
4011
4080
|
mountStatus: null
|
|
4012
|
-
})),
|
|
4013
|
-
let t =
|
|
4081
|
+
})), So = (e) => {
|
|
4082
|
+
let t = xo(e);
|
|
4014
4083
|
return t.host ? t : null;
|
|
4015
4084
|
};
|
|
4016
|
-
function
|
|
4085
|
+
function Co(e, t) {
|
|
4017
4086
|
let n = null;
|
|
4018
|
-
e.dispatchEvent(new CustomEvent(
|
|
4087
|
+
e.dispatchEvent(new CustomEvent(yo, {
|
|
4019
4088
|
bubbles: !0,
|
|
4020
4089
|
composed: !0,
|
|
4021
4090
|
detail: {
|
|
@@ -4026,16 +4095,16 @@ function _o(e, t) {
|
|
|
4026
4095
|
}
|
|
4027
4096
|
}));
|
|
4028
4097
|
let r = () => t();
|
|
4029
|
-
e.addEventListener(
|
|
4098
|
+
e.addEventListener(bo, r);
|
|
4030
4099
|
let i = !1;
|
|
4031
4100
|
return {
|
|
4032
4101
|
inst: n ? n.inst : null,
|
|
4033
4102
|
scope: n ? n.scope : null,
|
|
4034
4103
|
leave() {
|
|
4035
|
-
i || (i = !0, e.removeEventListener(
|
|
4104
|
+
i || (i = !0, e.removeEventListener(bo, r), n && n.release());
|
|
4036
4105
|
}
|
|
4037
4106
|
};
|
|
4038
4107
|
}
|
|
4039
4108
|
// \0corn-default-tokens
|
|
4040
|
-
var vo = "/* cornfield's default design tokens, generated from explorer/tokens.css by components/scripts/tokens.mjs: do not edit.\n Every selector is :where(...), at zero specificity: any ordinary rule of yours (on :root, or on one element) overrides it. */\n\n:where(:root) {\n --corn-ground: #090d16;\n --corn-ground-image: radial-gradient(circle at 14% 18%, rgba(66, 153, 225, 0.2) 0%, transparent 45%),\n radial-gradient(circle at 86% 82%, rgba(229, 62, 62, 0.16) 0%, transparent 45%),\n radial-gradient(circle at 50% 50%, rgba(66, 153, 225, 0.10) 0%, transparent 60%);\n --corn-surface-1: rgba(26, 34, 52, 0.72);\n --corn-surface-2: rgba(30, 41, 59, 0.8);\n --corn-surface-3: rgba(51, 65, 85, 0.8);\n --corn-line: rgba(255, 255, 255, 0.12);\n --corn-line-soft: rgba(255, 255, 255, 0.07);\n --corn-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.45);\n --corn-shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.4);\n --corn-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n --corn-shadow-color: rgba(0, 0, 0, 0.5);\n --corn-glow: 8px;\n --corn-scrim: rgba(0, 0, 0, 0.6);\n --corn-shadow-sheet: 0 -8px 24px color-mix(in srgb, var(--corn-shadow-color) 70%, transparent);\n --corn-blur: 16px;\n --corn-text: #f8fafc;\n --corn-text-2: #cbd5e1;\n --corn-text-3: #9aa9bc;\n --corn-text-on-accent: #fff;\n --corn-mockup-ground: #fff;\n --corn-accent: #4f46e5;\n --corn-accent-hover: #6265f1;\n --corn-accent-text: #98a1fa;\n --corn-accent-soft: color-mix(in srgb, var(--corn-accent-hover) 20%, transparent);\n --corn-focus: #818cf8;\n --corn-brand-gradient: linear-gradient(135deg, #4299e1 0%, #818cf8 50%, #e53e3e 100%);\n --corn-ok: #34d399;\n --corn-warn: #fcd34d;\n --corn-bad: #fca5a5;\n --corn-info: #7dd3fc;\n --corn-ok-soft: color-mix(in srgb, var(--corn-ok) 15%, transparent);\n --corn-run-requested: var(--corn-text-3);\n --corn-run-claimed: var(--corn-info);\n --corn-run-working: var(--corn-info);\n --corn-run-waiting: var(--corn-warn);\n --corn-run-waiting-ink: var(--corn-ground);\n --corn-run-done: var(--corn-ok);\n --corn-run-failed: var(--corn-bad);\n --corn-run-stopped: var(--corn-text-2);\n --corn-added: #2dd4bf;\n --corn-changed: #fbbf24;\n --corn-removed: #fa9292;\n --corn-edit: #b49cfb;\n --corn-added-text: color-mix(in srgb, var(--corn-added) 60%, var(--corn-text));\n --corn-edit-text: color-mix(in srgb, var(--corn-edit) 60%, var(--corn-text));\n --corn-hue-orange: #fb923c;\n --corn-hue-fuchsia: #e879f9;\n --corn-hue-pink: #f472b6;\n --corn-hue-lime: #a3e635;\n --corn-hue-orange-text: var(--corn-hue-orange);\n --corn-hue-orange-soft: color-mix(in srgb, var(--corn-hue-orange) 12%, transparent);\n --corn-font: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n --corn-font-display: var(--corn-font);\n --corn-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, \"Liberation Mono\", monospace;\n --corn-font-num: var(--corn-font);\n --corn-text-2xs: 10px;\n --corn-text-xs: 11px;\n --corn-text-sm: 12px;\n --corn-text-md: 13px;\n --corn-text-base: 14px;\n --corn-text-lg: 15px;\n --corn-text-xl: 20px;\n --corn-radius-xs: 3px;\n --corn-radius-sm: 6px;\n --corn-radius: 10px;\n --corn-radius-lg: 14px;\n --corn-radius-pill: 999px;\n --corn-border: 1px;\n --corn-border-strong: 2px;\n --corn-focus-width: 2px;\n --corn-focus-offset: 2px;\n --corn-space: 4px;\n --corn-space-1: var(--corn-space);\n --corn-space-2: 6px;\n --corn-space-3: 8px;\n --corn-space-4: 12px;\n --corn-space-5: 16px;\n --corn-space-6: 24px;\n --corn-control-height: 32px;\n --corn-panel-pad: calc(var(--corn-space-5) + var(--corn-space-1));\n --corn-panel-head-height: calc(var(--corn-control-height) + var(--corn-space-3));\n --corn-house-line: color-mix(in srgb, var(--corn-hue-lime) 18%, transparent);\n --corn-house-room: color-mix(in srgb, var(--corn-hue-lime) 45%, transparent);\n --corn-glyph-mix: 100%;\n color-scheme: dark;\n --corn-map-stroke: auto;\n --corn-map-stroke-width: 1.5px;\n --corn-map-label: auto;\n --corn-map-label-halo: auto;\n --corn-map-collision: var(--corn-warn);\n --corn-map-font: auto;\n --corn-map-edge-width: auto;\n --corn-map-glow: auto;\n --corn-map-label-min: auto;\n --corn-map-glyph: auto;\n --corn-map-grey: auto;\n --corn-map-grey-alpha: auto;\n --corn-map-added: auto;\n --corn-map-changed: auto;\n --corn-map-removed: auto;\n --corn-map-edit: auto;\n --corn-map-selected: auto;\n --corn-map-match: auto;\n --corn-map-lit: auto;\n --corn-map-edge-ownership: auto;\n --corn-map-edge-usage: auto;\n --corn-map-edge-flow: auto;\n --corn-map-edge-reads: auto;\n --corn-map-edge-writes: auto;\n --corn-map-edge-calls: auto;\n --corn-map-edge-triggers: auto;\n --corn-map-edge-delivers: auto;\n --corn-map-edge-runs-on: auto;\n --corn-map-edge-uses: auto;\n --corn-map-edge-extends: auto;\n --corn-map-node-root: auto;\n --corn-map-node-app: auto;\n --corn-map-node-page: auto;\n --corn-map-node-pkg: auto;\n --corn-map-node-core: auto;\n --corn-map-node-token: auto;\n --corn-map-node-atom: auto;\n --corn-map-node-molecule: auto;\n --corn-map-node-tool: auto;\n --corn-map-node-store: auto;\n --corn-map-node-table: auto;\n --corn-map-node-rom: auto;\n --corn-map-node-service: auto;\n --corn-map-node-external: auto;\n --corn-map-node-stack: auto;\n --corn-map-node-machine: auto;\n --corn-map-node-container: auto;\n --corn-map-node-persona: auto;\n --corn-map-node-device: auto;\n --corn-map-node-floor: auto;\n --corn-map-node-room: auto;\n --corn-map-group-app: auto;\n --corn-map-group-pkg: auto;\n --corn-map-group-page: auto;\n --corn-map-group-atom: auto;\n --corn-map-group-molecule: auto;\n --corn-map-group-token: auto;\n --corn-map-group-tool: auto;\n --corn-map-group-table: auto;\n --corn-map-group-rom: auto;\n --corn-map-group-service: auto;\n --corn-map-group-cloud: auto;\n --corn-map-group-web: auto;\n --corn-map-group-stack: auto;\n --corn-map-group-machine: auto;\n --corn-map-group-container: auto;\n --corn-map-group-device: auto;\n --corn-map-group-house: auto;\n --corn-map-group-persona: auto;\n}\n\n@media (prefers-color-scheme: light) {\n :where(:root:not([data-theme=\"dark\"])) {\n --corn-ground: #f4f6fa;\n --corn-ground-image: radial-gradient(circle at 14% 18%, rgba(66, 153, 225, 0.06) 0%, transparent 45%),\n radial-gradient(circle at 86% 82%, rgba(229, 62, 62, 0.04) 0%, transparent 45%);\n --corn-surface-1: rgba(255, 255, 255, 0.8);\n --corn-surface-2: rgba(241, 245, 249, 0.92);\n --corn-surface-3: rgba(226, 232, 240, 0.95);\n --corn-line: rgba(15, 23, 42, 0.12);\n --corn-line-soft: rgba(15, 23, 42, 0.07);\n --corn-shadow: 0 8px 28px 0 rgba(15, 23, 42, 0.12);\n --corn-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.25);\n --corn-shadow-lg: 0 10px 30px -12px rgba(15, 23, 42, 0.18);\n --corn-shadow-color: rgba(15, 23, 42, 0.25);\n --corn-glow: 0px;\n --corn-scrim: rgba(15, 23, 42, 0.35);\n --corn-text: #0f172a;\n --corn-text-2: #334155;\n --corn-text-3: #475569;\n --corn-accent-text: #4f46e5;\n --corn-focus: #4f46e5;\n --corn-brand-gradient: linear-gradient(135deg, #2563eb 0%, #4f46e5 50%, #dc2626 100%);\n --corn-ok: #046f51;\n --corn-warn: #854d0e;\n --corn-bad: #b91c1c;\n --corn-info: #03679e;\n --corn-added: #197c6f;\n --corn-changed: #8f6703;\n --corn-removed: #e20b0b;\n --corn-edit: #6839f6;\n --corn-hue-orange: #c2410c;\n --corn-hue-fuchsia: #a21caf;\n --corn-hue-pink: #be185d;\n --corn-hue-lime: #4c7b0f;\n --corn-hue-orange-text: #9a3412;\n --corn-house-line: color-mix(in srgb, var(--corn-hue-lime) 30%, transparent);\n --corn-house-room: color-mix(in srgb, var(--corn-hue-lime) 55%, transparent);\n --corn-glyph-mix: 45%;\n color-scheme: light;\n }\n}\n\n:where(:root[data-theme=\"light\"]) {\n --corn-ground: #f4f6fa;\n --corn-ground-image: radial-gradient(circle at 14% 18%, rgba(66, 153, 225, 0.06) 0%, transparent 45%),\n radial-gradient(circle at 86% 82%, rgba(229, 62, 62, 0.04) 0%, transparent 45%);\n --corn-surface-1: rgba(255, 255, 255, 0.8);\n --corn-surface-2: rgba(241, 245, 249, 0.92);\n --corn-surface-3: rgba(226, 232, 240, 0.95);\n --corn-line: rgba(15, 23, 42, 0.12);\n --corn-line-soft: rgba(15, 23, 42, 0.07);\n --corn-shadow: 0 8px 28px 0 rgba(15, 23, 42, 0.12);\n --corn-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.25);\n --corn-shadow-lg: 0 10px 30px -12px rgba(15, 23, 42, 0.18);\n --corn-shadow-color: rgba(15, 23, 42, 0.25);\n --corn-glow: 0px;\n --corn-scrim: rgba(15, 23, 42, 0.35);\n --corn-text: #0f172a;\n --corn-text-2: #334155;\n --corn-text-3: #475569;\n --corn-accent-text: #4f46e5;\n --corn-focus: #4f46e5;\n --corn-brand-gradient: linear-gradient(135deg, #2563eb 0%, #4f46e5 50%, #dc2626 100%);\n --corn-ok: #046f51;\n --corn-warn: #854d0e;\n --corn-bad: #b91c1c;\n --corn-info: #03679e;\n --corn-added: #197c6f;\n --corn-changed: #8f6703;\n --corn-removed: #e20b0b;\n --corn-edit: #6839f6;\n --corn-hue-orange: #c2410c;\n --corn-hue-fuchsia: #a21caf;\n --corn-hue-pink: #be185d;\n --corn-hue-lime: #4c7b0f;\n --corn-hue-orange-text: #9a3412;\n --corn-house-line: color-mix(in srgb, var(--corn-hue-lime) 30%, transparent);\n --corn-house-room: color-mix(in srgb, var(--corn-hue-lime) 55%, transparent);\n --corn-glyph-mix: 45%;\n color-scheme: light;\n}\n\n@media (max-width: 767px) {\n :where(:root) {\n --corn-control-height: 44px;\n }\n}\n\n@media (max-width: 639px) {\n :where(:root) {\n --corn-panel-pad: var(--corn-space-5);\n }\n}\n\n:where(:root) {\n --hx-bg: var(--corn-ground);\n --hx-text: var(--corn-text);\n --hx-ink: var(--corn-text);\n --hx-text-1: var(--corn-text);\n --hx-text-2: var(--corn-text-2);\n --hx-slate-300: var(--corn-text-2);\n --hx-slate-400: var(--corn-text-3);\n --hx-slate-500: var(--corn-text-3);\n --hx-slate-600: var(--corn-text-3);\n --hx-slate-700: var(--corn-surface-3);\n --hx-slate-800: var(--corn-surface-2);\n --hx-slate-900: var(--corn-ground);\n --hx-slate-950: var(--corn-ground);\n --hx-indigo: var(--corn-accent-text);\n --hx-indigo-strong: var(--corn-accent);\n --hx-emerald: var(--corn-ok);\n --hx-amber: var(--corn-warn);\n --hx-sky: var(--corn-info);\n --hx-pink: var(--corn-hue-pink);\n --hx-fuchsia: var(--corn-hue-fuchsia);\n --hx-fuchsia-strong: var(--corn-hue-fuchsia);\n --hx-red: var(--corn-bad);\n --hx-code: var(--corn-warn);\n --hx-orange-text: var(--corn-hue-orange);\n --hx-orange-strong: var(--corn-hue-orange);\n --hx-teal-text: var(--corn-added-text);\n --hx-teal-strong: var(--corn-added-text);\n --hx-violet-text: var(--corn-edit-text);\n --hx-green-text: var(--corn-ok);\n --hx-lime-text: var(--corn-hue-lime);\n --hx-mark-added: var(--corn-added);\n --hx-mark-changed: var(--corn-changed);\n --hx-mark-removed: var(--corn-removed);\n --hx-mark-edit: var(--corn-edit);\n --hx-control: var(--corn-surface-2);\n --hx-control-hover: var(--corn-surface-3);\n --hx-control-off: color-mix(in srgb, var(--corn-ground) 40%, transparent);\n --hx-well: color-mix(in srgb, var(--corn-ground) 80%, transparent);\n --hx-well-soft: color-mix(in srgb, var(--corn-ground) 55%, transparent);\n --hx-line: var(--corn-line);\n --hx-line-soft: var(--corn-line-soft);\n --hx-scroll: color-mix(in srgb, var(--corn-text) 18%, transparent);\n --hx-scroll-hover: color-mix(in srgb, var(--corn-text) 28%, transparent);\n --hx-swatch-solid: color-mix(in srgb, var(--corn-text) 55%, transparent);\n --hx-backdrop: var(--corn-scrim);\n --hx-glyph-mix: var(--corn-glyph-mix);\n --surface-glass: var(--corn-surface-1);\n --surface-glass-header: color-mix(in srgb, var(--corn-ground) 88%, transparent);\n --border-glass: var(--corn-line);\n --border-subtle: var(--corn-line-soft);\n --glass-blur: blur(var(--corn-blur));\n --glass-shadow: var(--corn-shadow);\n --gradient-primary: var(--corn-brand-gradient);\n --bg-gradient: var(--corn-ground-image), var(--corn-ground);\n --pop-font-body: var(--corn-font);\n --pop-font-mono: var(--corn-mono);\n}\n\n/* theme=\"light\" on an element: this mode's tokens, on the element itself */\n:where(corn-map[theme=\"light\"]),\n:where(corn-scope[theme=\"light\"]) {\n --corn-ground: #f4f6fa;\n --corn-ground-image: radial-gradient(circle at 14% 18%, rgba(66, 153, 225, 0.06) 0%, transparent 45%),\n radial-gradient(circle at 86% 82%, rgba(229, 62, 62, 0.04) 0%, transparent 45%);\n --corn-surface-1: rgba(255, 255, 255, 0.8);\n --corn-surface-2: rgba(241, 245, 249, 0.92);\n --corn-surface-3: rgba(226, 232, 240, 0.95);\n --corn-line: rgba(15, 23, 42, 0.12);\n --corn-line-soft: rgba(15, 23, 42, 0.07);\n --corn-shadow: 0 8px 28px 0 rgba(15, 23, 42, 0.12);\n --corn-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.25);\n --corn-shadow-lg: 0 10px 30px -12px rgba(15, 23, 42, 0.18);\n --corn-shadow-color: rgba(15, 23, 42, 0.25);\n --corn-glow: 0px;\n --corn-scrim: rgba(15, 23, 42, 0.35);\n --corn-text: #0f172a;\n --corn-text-2: #334155;\n --corn-text-3: #475569;\n --corn-accent-text: #4f46e5;\n --corn-focus: #4f46e5;\n --corn-brand-gradient: linear-gradient(135deg, #2563eb 0%, #4f46e5 50%, #dc2626 100%);\n --corn-ok: #046f51;\n --corn-warn: #854d0e;\n --corn-bad: #b91c1c;\n --corn-info: #03679e;\n --corn-added: #197c6f;\n --corn-changed: #8f6703;\n --corn-removed: #e20b0b;\n --corn-edit: #6839f6;\n --corn-hue-orange: #c2410c;\n --corn-hue-fuchsia: #a21caf;\n --corn-hue-pink: #be185d;\n --corn-hue-lime: #4c7b0f;\n --corn-hue-orange-text: #9a3412;\n --corn-house-line: color-mix(in srgb, var(--corn-hue-lime) 30%, transparent);\n --corn-house-room: color-mix(in srgb, var(--corn-hue-lime) 55%, transparent);\n --corn-glyph-mix: 45%;\n color-scheme: light;\n --corn-shadow-sheet: 0 -8px 24px color-mix(in srgb, var(--corn-shadow-color) 70%, transparent);\n --corn-accent-soft: color-mix(in srgb, var(--corn-accent-hover) 20%, transparent);\n --corn-ok-soft: color-mix(in srgb, var(--corn-ok) 15%, transparent);\n --corn-run-requested: var(--corn-text-3);\n --corn-run-claimed: var(--corn-info);\n --corn-run-working: var(--corn-info);\n --corn-run-waiting: var(--corn-warn);\n --corn-run-waiting-ink: var(--corn-ground);\n --corn-run-done: var(--corn-ok);\n --corn-run-failed: var(--corn-bad);\n --corn-run-stopped: var(--corn-text-2);\n --corn-added-text: color-mix(in srgb, var(--corn-added) 60%, var(--corn-text));\n --corn-edit-text: color-mix(in srgb, var(--corn-edit) 60%, var(--corn-text));\n --corn-hue-orange-soft: color-mix(in srgb, var(--corn-hue-orange) 12%, transparent);\n --corn-font-display: var(--corn-font);\n --corn-font-num: var(--corn-font);\n --corn-space-1: var(--corn-space);\n --corn-panel-pad: calc(var(--corn-space-5) + var(--corn-space-1));\n --corn-panel-head-height: calc(var(--corn-control-height) + var(--corn-space-3));\n --corn-map-collision: var(--corn-warn);\n --hx-bg: var(--corn-ground);\n --hx-text: var(--corn-text);\n --hx-ink: var(--corn-text);\n --hx-text-1: var(--corn-text);\n --hx-text-2: var(--corn-text-2);\n --hx-slate-300: var(--corn-text-2);\n --hx-slate-400: var(--corn-text-3);\n --hx-slate-500: var(--corn-text-3);\n --hx-slate-600: var(--corn-text-3);\n --hx-slate-700: var(--corn-surface-3);\n --hx-slate-800: var(--corn-surface-2);\n --hx-slate-900: var(--corn-ground);\n --hx-slate-950: var(--corn-ground);\n --hx-indigo: var(--corn-accent-text);\n --hx-indigo-strong: var(--corn-accent);\n --hx-emerald: var(--corn-ok);\n --hx-amber: var(--corn-warn);\n --hx-sky: var(--corn-info);\n --hx-pink: var(--corn-hue-pink);\n --hx-fuchsia: var(--corn-hue-fuchsia);\n --hx-fuchsia-strong: var(--corn-hue-fuchsia);\n --hx-red: var(--corn-bad);\n --hx-code: var(--corn-warn);\n --hx-orange-text: var(--corn-hue-orange);\n --hx-orange-strong: var(--corn-hue-orange);\n --hx-teal-text: var(--corn-added-text);\n --hx-teal-strong: var(--corn-added-text);\n --hx-violet-text: var(--corn-edit-text);\n --hx-green-text: var(--corn-ok);\n --hx-lime-text: var(--corn-hue-lime);\n --hx-mark-added: var(--corn-added);\n --hx-mark-changed: var(--corn-changed);\n --hx-mark-removed: var(--corn-removed);\n --hx-mark-edit: var(--corn-edit);\n --hx-control: var(--corn-surface-2);\n --hx-control-hover: var(--corn-surface-3);\n --hx-control-off: color-mix(in srgb, var(--corn-ground) 40%, transparent);\n --hx-well: color-mix(in srgb, var(--corn-ground) 80%, transparent);\n --hx-well-soft: color-mix(in srgb, var(--corn-ground) 55%, transparent);\n --hx-line: var(--corn-line);\n --hx-line-soft: var(--corn-line-soft);\n --hx-scroll: color-mix(in srgb, var(--corn-text) 18%, transparent);\n --hx-scroll-hover: color-mix(in srgb, var(--corn-text) 28%, transparent);\n --hx-swatch-solid: color-mix(in srgb, var(--corn-text) 55%, transparent);\n --hx-backdrop: var(--corn-scrim);\n --hx-glyph-mix: var(--corn-glyph-mix);\n --surface-glass: var(--corn-surface-1);\n --surface-glass-header: color-mix(in srgb, var(--corn-ground) 88%, transparent);\n --border-glass: var(--corn-line);\n --border-subtle: var(--corn-line-soft);\n --glass-blur: blur(var(--corn-blur));\n --glass-shadow: var(--corn-shadow);\n --gradient-primary: var(--corn-brand-gradient);\n --bg-gradient: var(--corn-ground-image), var(--corn-ground);\n --pop-font-body: var(--corn-font);\n --pop-font-mono: var(--corn-mono);\n}\n\n/* theme=\"dark\" on an element: this mode's tokens, on the element itself */\n:where(corn-map[theme=\"dark\"]),\n:where(corn-scope[theme=\"dark\"]) {\n --corn-ground: #090d16;\n --corn-ground-image: radial-gradient(circle at 14% 18%, rgba(66, 153, 225, 0.2) 0%, transparent 45%),\n radial-gradient(circle at 86% 82%, rgba(229, 62, 62, 0.16) 0%, transparent 45%),\n radial-gradient(circle at 50% 50%, rgba(66, 153, 225, 0.10) 0%, transparent 60%);\n --corn-surface-1: rgba(26, 34, 52, 0.72);\n --corn-surface-2: rgba(30, 41, 59, 0.8);\n --corn-surface-3: rgba(51, 65, 85, 0.8);\n --corn-line: rgba(255, 255, 255, 0.12);\n --corn-line-soft: rgba(255, 255, 255, 0.07);\n --corn-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.45);\n --corn-shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.4);\n --corn-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n --corn-shadow-color: rgba(0, 0, 0, 0.5);\n --corn-glow: 8px;\n --corn-scrim: rgba(0, 0, 0, 0.6);\n --corn-text: #f8fafc;\n --corn-text-2: #cbd5e1;\n --corn-text-3: #9aa9bc;\n --corn-accent-text: #98a1fa;\n --corn-focus: #818cf8;\n --corn-brand-gradient: linear-gradient(135deg, #4299e1 0%, #818cf8 50%, #e53e3e 100%);\n --corn-ok: #34d399;\n --corn-warn: #fcd34d;\n --corn-bad: #fca5a5;\n --corn-info: #7dd3fc;\n --corn-added: #2dd4bf;\n --corn-changed: #fbbf24;\n --corn-removed: #fa9292;\n --corn-edit: #b49cfb;\n --corn-hue-orange: #fb923c;\n --corn-hue-fuchsia: #e879f9;\n --corn-hue-pink: #f472b6;\n --corn-hue-lime: #a3e635;\n --corn-hue-orange-text: var(--corn-hue-orange);\n --corn-house-line: color-mix(in srgb, var(--corn-hue-lime) 18%, transparent);\n --corn-house-room: color-mix(in srgb, var(--corn-hue-lime) 45%, transparent);\n --corn-glyph-mix: 100%;\n color-scheme: dark;\n --corn-shadow-sheet: 0 -8px 24px color-mix(in srgb, var(--corn-shadow-color) 70%, transparent);\n --corn-accent-soft: color-mix(in srgb, var(--corn-accent-hover) 20%, transparent);\n --corn-ok-soft: color-mix(in srgb, var(--corn-ok) 15%, transparent);\n --corn-run-requested: var(--corn-text-3);\n --corn-run-claimed: var(--corn-info);\n --corn-run-working: var(--corn-info);\n --corn-run-waiting: var(--corn-warn);\n --corn-run-waiting-ink: var(--corn-ground);\n --corn-run-done: var(--corn-ok);\n --corn-run-failed: var(--corn-bad);\n --corn-run-stopped: var(--corn-text-2);\n --corn-added-text: color-mix(in srgb, var(--corn-added) 60%, var(--corn-text));\n --corn-edit-text: color-mix(in srgb, var(--corn-edit) 60%, var(--corn-text));\n --corn-hue-orange-soft: color-mix(in srgb, var(--corn-hue-orange) 12%, transparent);\n --corn-font-display: var(--corn-font);\n --corn-font-num: var(--corn-font);\n --corn-space-1: var(--corn-space);\n --corn-panel-pad: calc(var(--corn-space-5) + var(--corn-space-1));\n --corn-panel-head-height: calc(var(--corn-control-height) + var(--corn-space-3));\n --corn-map-collision: var(--corn-warn);\n --hx-bg: var(--corn-ground);\n --hx-text: var(--corn-text);\n --hx-ink: var(--corn-text);\n --hx-text-1: var(--corn-text);\n --hx-text-2: var(--corn-text-2);\n --hx-slate-300: var(--corn-text-2);\n --hx-slate-400: var(--corn-text-3);\n --hx-slate-500: var(--corn-text-3);\n --hx-slate-600: var(--corn-text-3);\n --hx-slate-700: var(--corn-surface-3);\n --hx-slate-800: var(--corn-surface-2);\n --hx-slate-900: var(--corn-ground);\n --hx-slate-950: var(--corn-ground);\n --hx-indigo: var(--corn-accent-text);\n --hx-indigo-strong: var(--corn-accent);\n --hx-emerald: var(--corn-ok);\n --hx-amber: var(--corn-warn);\n --hx-sky: var(--corn-info);\n --hx-pink: var(--corn-hue-pink);\n --hx-fuchsia: var(--corn-hue-fuchsia);\n --hx-fuchsia-strong: var(--corn-hue-fuchsia);\n --hx-red: var(--corn-bad);\n --hx-code: var(--corn-warn);\n --hx-orange-text: var(--corn-hue-orange);\n --hx-orange-strong: var(--corn-hue-orange);\n --hx-teal-text: var(--corn-added-text);\n --hx-teal-strong: var(--corn-added-text);\n --hx-violet-text: var(--corn-edit-text);\n --hx-green-text: var(--corn-ok);\n --hx-lime-text: var(--corn-hue-lime);\n --hx-mark-added: var(--corn-added);\n --hx-mark-changed: var(--corn-changed);\n --hx-mark-removed: var(--corn-removed);\n --hx-mark-edit: var(--corn-edit);\n --hx-control: var(--corn-surface-2);\n --hx-control-hover: var(--corn-surface-3);\n --hx-control-off: color-mix(in srgb, var(--corn-ground) 40%, transparent);\n --hx-well: color-mix(in srgb, var(--corn-ground) 80%, transparent);\n --hx-well-soft: color-mix(in srgb, var(--corn-ground) 55%, transparent);\n --hx-line: var(--corn-line);\n --hx-line-soft: var(--corn-line-soft);\n --hx-scroll: color-mix(in srgb, var(--corn-text) 18%, transparent);\n --hx-scroll-hover: color-mix(in srgb, var(--corn-text) 28%, transparent);\n --hx-swatch-solid: color-mix(in srgb, var(--corn-text) 55%, transparent);\n --hx-backdrop: var(--corn-scrim);\n --hx-glyph-mix: var(--corn-glyph-mix);\n --surface-glass: var(--corn-surface-1);\n --surface-glass-header: color-mix(in srgb, var(--corn-ground) 88%, transparent);\n --border-glass: var(--corn-line);\n --border-subtle: var(--corn-line-soft);\n --glass-blur: blur(var(--corn-blur));\n --glass-shadow: var(--corn-shadow);\n --gradient-primary: var(--corn-brand-gradient);\n --bg-gradient: var(--corn-ground-image), var(--corn-ground);\n --pop-font-body: var(--corn-font);\n --pop-font-mono: var(--corn-mono);\n}\n";
|
|
4041
|
-
export {
|
|
4109
|
+
var wo = "/* cornfield's default design tokens, generated from explorer/tokens.css by components/scripts/tokens.mjs: do not edit.\n Every selector is :where(...), at zero specificity: any ordinary rule of yours (on :root, or on one element) overrides it. */\n\n:where(:root) {\n --corn-ground: #090d16;\n --corn-ground-image: radial-gradient(circle at 14% 18%, rgba(66, 153, 225, 0.2) 0%, transparent 45%),\n radial-gradient(circle at 86% 82%, rgba(229, 62, 62, 0.16) 0%, transparent 45%),\n radial-gradient(circle at 50% 50%, rgba(66, 153, 225, 0.10) 0%, transparent 60%);\n --corn-surface-1: rgba(26, 34, 52, 0.72);\n --corn-surface-2: rgba(30, 41, 59, 0.8);\n --corn-surface-3: rgba(51, 65, 85, 0.8);\n --corn-line: rgba(255, 255, 255, 0.12);\n --corn-line-soft: rgba(255, 255, 255, 0.07);\n --corn-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.45);\n --corn-shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.4);\n --corn-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n --corn-shadow-color: rgba(0, 0, 0, 0.5);\n --corn-glow: 8px;\n --corn-scrim: rgba(0, 0, 0, 0.6);\n --corn-shadow-sheet: 0 -8px 24px color-mix(in srgb, var(--corn-shadow-color) 70%, transparent);\n --corn-blur: 16px;\n --corn-text: #f8fafc;\n --corn-text-2: #cbd5e1;\n --corn-text-3: #9aa9bc;\n --corn-text-on-accent: #fff;\n --corn-mockup-ground: #fff;\n --corn-accent: #4f46e5;\n --corn-accent-hover: #6265f1;\n --corn-accent-text: #98a1fa;\n --corn-accent-soft: color-mix(in srgb, var(--corn-accent-hover) 20%, transparent);\n --corn-focus: #818cf8;\n --corn-brand-gradient: linear-gradient(135deg, #4299e1 0%, #818cf8 50%, #e53e3e 100%);\n --corn-ok: #34d399;\n --corn-warn: #fcd34d;\n --corn-bad: #fca5a5;\n --corn-info: #7dd3fc;\n --corn-ok-soft: color-mix(in srgb, var(--corn-ok) 15%, transparent);\n --corn-run-requested: var(--corn-text-3);\n --corn-run-claimed: var(--corn-info);\n --corn-run-working: var(--corn-info);\n --corn-run-waiting: var(--corn-warn);\n --corn-run-waiting-ink: var(--corn-ground);\n --corn-run-done: var(--corn-ok);\n --corn-run-failed: var(--corn-bad);\n --corn-run-stopped: var(--corn-text-2);\n --corn-added: #2dd4bf;\n --corn-changed: #fbbf24;\n --corn-removed: #fa9292;\n --corn-edit: #b49cfb;\n --corn-added-text: color-mix(in srgb, var(--corn-added) 60%, var(--corn-text));\n --corn-edit-text: color-mix(in srgb, var(--corn-edit) 60%, var(--corn-text));\n --corn-hue-orange: #fb923c;\n --corn-hue-fuchsia: #e879f9;\n --corn-hue-pink: #f472b6;\n --corn-hue-lime: #a3e635;\n --corn-hue-orange-text: var(--corn-hue-orange);\n --corn-hue-orange-soft: color-mix(in srgb, var(--corn-hue-orange) 12%, transparent);\n --corn-font: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n --corn-font-display: var(--corn-font);\n --corn-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, \"Liberation Mono\", monospace;\n --corn-font-num: var(--corn-font);\n --corn-text-2xs: 10px;\n --corn-text-xs: 11px;\n --corn-text-sm: 12px;\n --corn-text-md: 13px;\n --corn-text-base: 14px;\n --corn-text-lg: 15px;\n --corn-text-xl: 20px;\n --corn-radius-xs: 3px;\n --corn-radius-sm: 6px;\n --corn-radius: 10px;\n --corn-radius-lg: 14px;\n --corn-radius-pill: 999px;\n --corn-border: 1px;\n --corn-border-strong: 2px;\n --corn-focus-width: 2px;\n --corn-focus-offset: 2px;\n --corn-space: 4px;\n --corn-space-1: var(--corn-space);\n --corn-space-2: 6px;\n --corn-space-3: 8px;\n --corn-space-4: 12px;\n --corn-space-5: 16px;\n --corn-space-6: 24px;\n --corn-control-height: 32px;\n --corn-panel-pad: calc(var(--corn-space-5) + var(--corn-space-1));\n --corn-panel-head-height: calc(var(--corn-control-height) + var(--corn-space-3));\n --corn-house-line: color-mix(in srgb, var(--corn-hue-lime) 18%, transparent);\n --corn-house-room: color-mix(in srgb, var(--corn-hue-lime) 45%, transparent);\n --corn-glyph-mix: 100%;\n color-scheme: dark;\n --corn-map-stroke: auto;\n --corn-map-stroke-width: 1.5px;\n --corn-map-label: auto;\n --corn-map-label-halo: auto;\n --corn-map-collision: var(--corn-warn);\n --corn-map-font: auto;\n --corn-map-edge-width: auto;\n --corn-map-glow: auto;\n --corn-map-label-min: auto;\n --corn-map-glyph: auto;\n --corn-map-grey: auto;\n --corn-map-grey-alpha: auto;\n --corn-map-added: auto;\n --corn-map-changed: auto;\n --corn-map-removed: auto;\n --corn-map-edit: auto;\n --corn-map-selected: auto;\n --corn-map-match: auto;\n --corn-map-lit: auto;\n --corn-map-edge-ownership: auto;\n --corn-map-edge-usage: auto;\n --corn-map-edge-flow: auto;\n --corn-map-edge-reads: auto;\n --corn-map-edge-writes: auto;\n --corn-map-edge-calls: auto;\n --corn-map-edge-triggers: auto;\n --corn-map-edge-delivers: auto;\n --corn-map-edge-runs-on: auto;\n --corn-map-edge-uses: auto;\n --corn-map-edge-extends: auto;\n --corn-map-node-root: auto;\n --corn-map-node-app: auto;\n --corn-map-node-page: auto;\n --corn-map-node-pkg: auto;\n --corn-map-node-core: auto;\n --corn-map-node-token: auto;\n --corn-map-node-atom: auto;\n --corn-map-node-molecule: auto;\n --corn-map-node-tool: auto;\n --corn-map-node-store: auto;\n --corn-map-node-table: auto;\n --corn-map-node-rom: auto;\n --corn-map-node-service: auto;\n --corn-map-node-external: auto;\n --corn-map-node-stack: auto;\n --corn-map-node-machine: auto;\n --corn-map-node-container: auto;\n --corn-map-node-persona: auto;\n --corn-map-node-device: auto;\n --corn-map-node-floor: auto;\n --corn-map-node-room: auto;\n --corn-map-group-app: auto;\n --corn-map-group-pkg: auto;\n --corn-map-group-page: auto;\n --corn-map-group-atom: auto;\n --corn-map-group-molecule: auto;\n --corn-map-group-token: auto;\n --corn-map-group-tool: auto;\n --corn-map-group-table: auto;\n --corn-map-group-rom: auto;\n --corn-map-group-service: auto;\n --corn-map-group-cloud: auto;\n --corn-map-group-web: auto;\n --corn-map-group-stack: auto;\n --corn-map-group-machine: auto;\n --corn-map-group-container: auto;\n --corn-map-group-device: auto;\n --corn-map-group-house: auto;\n --corn-map-group-persona: auto;\n}\n\n@media (prefers-color-scheme: light) {\n :where(:root:not([data-theme=\"dark\"])) {\n --corn-ground: #f4f6fa;\n --corn-ground-image: radial-gradient(circle at 14% 18%, rgba(66, 153, 225, 0.06) 0%, transparent 45%),\n radial-gradient(circle at 86% 82%, rgba(229, 62, 62, 0.04) 0%, transparent 45%);\n --corn-surface-1: rgba(255, 255, 255, 0.8);\n --corn-surface-2: rgba(241, 245, 249, 0.92);\n --corn-surface-3: rgba(226, 232, 240, 0.95);\n --corn-line: rgba(15, 23, 42, 0.12);\n --corn-line-soft: rgba(15, 23, 42, 0.07);\n --corn-shadow: 0 8px 28px 0 rgba(15, 23, 42, 0.12);\n --corn-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.25);\n --corn-shadow-lg: 0 10px 30px -12px rgba(15, 23, 42, 0.18);\n --corn-shadow-color: rgba(15, 23, 42, 0.25);\n --corn-glow: 0px;\n --corn-scrim: rgba(15, 23, 42, 0.35);\n --corn-text: #0f172a;\n --corn-text-2: #334155;\n --corn-text-3: #475569;\n --corn-accent-text: #4f46e5;\n --corn-focus: #4f46e5;\n --corn-brand-gradient: linear-gradient(135deg, #2563eb 0%, #4f46e5 50%, #dc2626 100%);\n --corn-ok: #046f51;\n --corn-warn: #854d0e;\n --corn-bad: #b91c1c;\n --corn-info: #03679e;\n --corn-added: #197c6f;\n --corn-changed: #8f6703;\n --corn-removed: #e20b0b;\n --corn-edit: #6839f6;\n --corn-hue-orange: #c2410c;\n --corn-hue-fuchsia: #a21caf;\n --corn-hue-pink: #be185d;\n --corn-hue-lime: #4c7b0f;\n --corn-hue-orange-text: #9a3412;\n --corn-house-line: color-mix(in srgb, var(--corn-hue-lime) 30%, transparent);\n --corn-house-room: color-mix(in srgb, var(--corn-hue-lime) 55%, transparent);\n --corn-glyph-mix: 45%;\n color-scheme: light;\n }\n}\n\n:where(:root[data-theme=\"light\"]) {\n --corn-ground: #f4f6fa;\n --corn-ground-image: radial-gradient(circle at 14% 18%, rgba(66, 153, 225, 0.06) 0%, transparent 45%),\n radial-gradient(circle at 86% 82%, rgba(229, 62, 62, 0.04) 0%, transparent 45%);\n --corn-surface-1: rgba(255, 255, 255, 0.8);\n --corn-surface-2: rgba(241, 245, 249, 0.92);\n --corn-surface-3: rgba(226, 232, 240, 0.95);\n --corn-line: rgba(15, 23, 42, 0.12);\n --corn-line-soft: rgba(15, 23, 42, 0.07);\n --corn-shadow: 0 8px 28px 0 rgba(15, 23, 42, 0.12);\n --corn-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.25);\n --corn-shadow-lg: 0 10px 30px -12px rgba(15, 23, 42, 0.18);\n --corn-shadow-color: rgba(15, 23, 42, 0.25);\n --corn-glow: 0px;\n --corn-scrim: rgba(15, 23, 42, 0.35);\n --corn-text: #0f172a;\n --corn-text-2: #334155;\n --corn-text-3: #475569;\n --corn-accent-text: #4f46e5;\n --corn-focus: #4f46e5;\n --corn-brand-gradient: linear-gradient(135deg, #2563eb 0%, #4f46e5 50%, #dc2626 100%);\n --corn-ok: #046f51;\n --corn-warn: #854d0e;\n --corn-bad: #b91c1c;\n --corn-info: #03679e;\n --corn-added: #197c6f;\n --corn-changed: #8f6703;\n --corn-removed: #e20b0b;\n --corn-edit: #6839f6;\n --corn-hue-orange: #c2410c;\n --corn-hue-fuchsia: #a21caf;\n --corn-hue-pink: #be185d;\n --corn-hue-lime: #4c7b0f;\n --corn-hue-orange-text: #9a3412;\n --corn-house-line: color-mix(in srgb, var(--corn-hue-lime) 30%, transparent);\n --corn-house-room: color-mix(in srgb, var(--corn-hue-lime) 55%, transparent);\n --corn-glyph-mix: 45%;\n color-scheme: light;\n}\n\n@media (max-width: 767px) {\n :where(:root) {\n --corn-control-height: 44px;\n }\n}\n\n@media (max-width: 639px) {\n :where(:root) {\n --corn-panel-pad: var(--corn-space-5);\n }\n}\n\n:where(:root) {\n --hx-bg: var(--corn-ground);\n --hx-text: var(--corn-text);\n --hx-ink: var(--corn-text);\n --hx-text-1: var(--corn-text);\n --hx-text-2: var(--corn-text-2);\n --hx-slate-300: var(--corn-text-2);\n --hx-slate-400: var(--corn-text-3);\n --hx-slate-500: var(--corn-text-3);\n --hx-slate-600: var(--corn-text-3);\n --hx-slate-700: var(--corn-surface-3);\n --hx-slate-800: var(--corn-surface-2);\n --hx-slate-900: var(--corn-ground);\n --hx-slate-950: var(--corn-ground);\n --hx-indigo: var(--corn-accent-text);\n --hx-indigo-strong: var(--corn-accent);\n --hx-emerald: var(--corn-ok);\n --hx-amber: var(--corn-warn);\n --hx-sky: var(--corn-info);\n --hx-pink: var(--corn-hue-pink);\n --hx-fuchsia: var(--corn-hue-fuchsia);\n --hx-fuchsia-strong: var(--corn-hue-fuchsia);\n --hx-red: var(--corn-bad);\n --hx-code: var(--corn-warn);\n --hx-orange-text: var(--corn-hue-orange);\n --hx-orange-strong: var(--corn-hue-orange);\n --hx-teal-text: var(--corn-added-text);\n --hx-teal-strong: var(--corn-added-text);\n --hx-violet-text: var(--corn-edit-text);\n --hx-green-text: var(--corn-ok);\n --hx-lime-text: var(--corn-hue-lime);\n --hx-mark-added: var(--corn-added);\n --hx-mark-changed: var(--corn-changed);\n --hx-mark-removed: var(--corn-removed);\n --hx-mark-edit: var(--corn-edit);\n --hx-control: var(--corn-surface-2);\n --hx-control-hover: var(--corn-surface-3);\n --hx-control-off: color-mix(in srgb, var(--corn-ground) 40%, transparent);\n --hx-well: color-mix(in srgb, var(--corn-ground) 80%, transparent);\n --hx-well-soft: color-mix(in srgb, var(--corn-ground) 55%, transparent);\n --hx-line: var(--corn-line);\n --hx-line-soft: var(--corn-line-soft);\n --hx-scroll: color-mix(in srgb, var(--corn-text) 18%, transparent);\n --hx-scroll-hover: color-mix(in srgb, var(--corn-text) 28%, transparent);\n --hx-swatch-solid: color-mix(in srgb, var(--corn-text) 55%, transparent);\n --hx-backdrop: var(--corn-scrim);\n --hx-glyph-mix: var(--corn-glyph-mix);\n --surface-glass: var(--corn-surface-1);\n --surface-glass-header: color-mix(in srgb, var(--corn-ground) 88%, transparent);\n --border-glass: var(--corn-line);\n --border-subtle: var(--corn-line-soft);\n --glass-blur: blur(var(--corn-blur));\n --glass-shadow: var(--corn-shadow);\n --gradient-primary: var(--corn-brand-gradient);\n --bg-gradient: var(--corn-ground-image), var(--corn-ground);\n --pop-font-body: var(--corn-font);\n --pop-font-mono: var(--corn-mono);\n}\n\n/* theme=\"light\" on an element: this mode's tokens, on the element itself */\n:where(corn-map[theme=\"light\"]),\n:where(corn-scope[theme=\"light\"]) {\n --corn-ground: #f4f6fa;\n --corn-ground-image: radial-gradient(circle at 14% 18%, rgba(66, 153, 225, 0.06) 0%, transparent 45%),\n radial-gradient(circle at 86% 82%, rgba(229, 62, 62, 0.04) 0%, transparent 45%);\n --corn-surface-1: rgba(255, 255, 255, 0.8);\n --corn-surface-2: rgba(241, 245, 249, 0.92);\n --corn-surface-3: rgba(226, 232, 240, 0.95);\n --corn-line: rgba(15, 23, 42, 0.12);\n --corn-line-soft: rgba(15, 23, 42, 0.07);\n --corn-shadow: 0 8px 28px 0 rgba(15, 23, 42, 0.12);\n --corn-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.25);\n --corn-shadow-lg: 0 10px 30px -12px rgba(15, 23, 42, 0.18);\n --corn-shadow-color: rgba(15, 23, 42, 0.25);\n --corn-glow: 0px;\n --corn-scrim: rgba(15, 23, 42, 0.35);\n --corn-text: #0f172a;\n --corn-text-2: #334155;\n --corn-text-3: #475569;\n --corn-accent-text: #4f46e5;\n --corn-focus: #4f46e5;\n --corn-brand-gradient: linear-gradient(135deg, #2563eb 0%, #4f46e5 50%, #dc2626 100%);\n --corn-ok: #046f51;\n --corn-warn: #854d0e;\n --corn-bad: #b91c1c;\n --corn-info: #03679e;\n --corn-added: #197c6f;\n --corn-changed: #8f6703;\n --corn-removed: #e20b0b;\n --corn-edit: #6839f6;\n --corn-hue-orange: #c2410c;\n --corn-hue-fuchsia: #a21caf;\n --corn-hue-pink: #be185d;\n --corn-hue-lime: #4c7b0f;\n --corn-hue-orange-text: #9a3412;\n --corn-house-line: color-mix(in srgb, var(--corn-hue-lime) 30%, transparent);\n --corn-house-room: color-mix(in srgb, var(--corn-hue-lime) 55%, transparent);\n --corn-glyph-mix: 45%;\n color-scheme: light;\n --corn-shadow-sheet: 0 -8px 24px color-mix(in srgb, var(--corn-shadow-color) 70%, transparent);\n --corn-accent-soft: color-mix(in srgb, var(--corn-accent-hover) 20%, transparent);\n --corn-ok-soft: color-mix(in srgb, var(--corn-ok) 15%, transparent);\n --corn-run-requested: var(--corn-text-3);\n --corn-run-claimed: var(--corn-info);\n --corn-run-working: var(--corn-info);\n --corn-run-waiting: var(--corn-warn);\n --corn-run-waiting-ink: var(--corn-ground);\n --corn-run-done: var(--corn-ok);\n --corn-run-failed: var(--corn-bad);\n --corn-run-stopped: var(--corn-text-2);\n --corn-added-text: color-mix(in srgb, var(--corn-added) 60%, var(--corn-text));\n --corn-edit-text: color-mix(in srgb, var(--corn-edit) 60%, var(--corn-text));\n --corn-hue-orange-soft: color-mix(in srgb, var(--corn-hue-orange) 12%, transparent);\n --corn-font-display: var(--corn-font);\n --corn-font-num: var(--corn-font);\n --corn-space-1: var(--corn-space);\n --corn-panel-pad: calc(var(--corn-space-5) + var(--corn-space-1));\n --corn-panel-head-height: calc(var(--corn-control-height) + var(--corn-space-3));\n --corn-map-collision: var(--corn-warn);\n --hx-bg: var(--corn-ground);\n --hx-text: var(--corn-text);\n --hx-ink: var(--corn-text);\n --hx-text-1: var(--corn-text);\n --hx-text-2: var(--corn-text-2);\n --hx-slate-300: var(--corn-text-2);\n --hx-slate-400: var(--corn-text-3);\n --hx-slate-500: var(--corn-text-3);\n --hx-slate-600: var(--corn-text-3);\n --hx-slate-700: var(--corn-surface-3);\n --hx-slate-800: var(--corn-surface-2);\n --hx-slate-900: var(--corn-ground);\n --hx-slate-950: var(--corn-ground);\n --hx-indigo: var(--corn-accent-text);\n --hx-indigo-strong: var(--corn-accent);\n --hx-emerald: var(--corn-ok);\n --hx-amber: var(--corn-warn);\n --hx-sky: var(--corn-info);\n --hx-pink: var(--corn-hue-pink);\n --hx-fuchsia: var(--corn-hue-fuchsia);\n --hx-fuchsia-strong: var(--corn-hue-fuchsia);\n --hx-red: var(--corn-bad);\n --hx-code: var(--corn-warn);\n --hx-orange-text: var(--corn-hue-orange);\n --hx-orange-strong: var(--corn-hue-orange);\n --hx-teal-text: var(--corn-added-text);\n --hx-teal-strong: var(--corn-added-text);\n --hx-violet-text: var(--corn-edit-text);\n --hx-green-text: var(--corn-ok);\n --hx-lime-text: var(--corn-hue-lime);\n --hx-mark-added: var(--corn-added);\n --hx-mark-changed: var(--corn-changed);\n --hx-mark-removed: var(--corn-removed);\n --hx-mark-edit: var(--corn-edit);\n --hx-control: var(--corn-surface-2);\n --hx-control-hover: var(--corn-surface-3);\n --hx-control-off: color-mix(in srgb, var(--corn-ground) 40%, transparent);\n --hx-well: color-mix(in srgb, var(--corn-ground) 80%, transparent);\n --hx-well-soft: color-mix(in srgb, var(--corn-ground) 55%, transparent);\n --hx-line: var(--corn-line);\n --hx-line-soft: var(--corn-line-soft);\n --hx-scroll: color-mix(in srgb, var(--corn-text) 18%, transparent);\n --hx-scroll-hover: color-mix(in srgb, var(--corn-text) 28%, transparent);\n --hx-swatch-solid: color-mix(in srgb, var(--corn-text) 55%, transparent);\n --hx-backdrop: var(--corn-scrim);\n --hx-glyph-mix: var(--corn-glyph-mix);\n --surface-glass: var(--corn-surface-1);\n --surface-glass-header: color-mix(in srgb, var(--corn-ground) 88%, transparent);\n --border-glass: var(--corn-line);\n --border-subtle: var(--corn-line-soft);\n --glass-blur: blur(var(--corn-blur));\n --glass-shadow: var(--corn-shadow);\n --gradient-primary: var(--corn-brand-gradient);\n --bg-gradient: var(--corn-ground-image), var(--corn-ground);\n --pop-font-body: var(--corn-font);\n --pop-font-mono: var(--corn-mono);\n}\n\n/* theme=\"dark\" on an element: this mode's tokens, on the element itself */\n:where(corn-map[theme=\"dark\"]),\n:where(corn-scope[theme=\"dark\"]) {\n --corn-ground: #090d16;\n --corn-ground-image: radial-gradient(circle at 14% 18%, rgba(66, 153, 225, 0.2) 0%, transparent 45%),\n radial-gradient(circle at 86% 82%, rgba(229, 62, 62, 0.16) 0%, transparent 45%),\n radial-gradient(circle at 50% 50%, rgba(66, 153, 225, 0.10) 0%, transparent 60%);\n --corn-surface-1: rgba(26, 34, 52, 0.72);\n --corn-surface-2: rgba(30, 41, 59, 0.8);\n --corn-surface-3: rgba(51, 65, 85, 0.8);\n --corn-line: rgba(255, 255, 255, 0.12);\n --corn-line-soft: rgba(255, 255, 255, 0.07);\n --corn-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.45);\n --corn-shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.4);\n --corn-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n --corn-shadow-color: rgba(0, 0, 0, 0.5);\n --corn-glow: 8px;\n --corn-scrim: rgba(0, 0, 0, 0.6);\n --corn-text: #f8fafc;\n --corn-text-2: #cbd5e1;\n --corn-text-3: #9aa9bc;\n --corn-accent-text: #98a1fa;\n --corn-focus: #818cf8;\n --corn-brand-gradient: linear-gradient(135deg, #4299e1 0%, #818cf8 50%, #e53e3e 100%);\n --corn-ok: #34d399;\n --corn-warn: #fcd34d;\n --corn-bad: #fca5a5;\n --corn-info: #7dd3fc;\n --corn-added: #2dd4bf;\n --corn-changed: #fbbf24;\n --corn-removed: #fa9292;\n --corn-edit: #b49cfb;\n --corn-hue-orange: #fb923c;\n --corn-hue-fuchsia: #e879f9;\n --corn-hue-pink: #f472b6;\n --corn-hue-lime: #a3e635;\n --corn-hue-orange-text: var(--corn-hue-orange);\n --corn-house-line: color-mix(in srgb, var(--corn-hue-lime) 18%, transparent);\n --corn-house-room: color-mix(in srgb, var(--corn-hue-lime) 45%, transparent);\n --corn-glyph-mix: 100%;\n color-scheme: dark;\n --corn-shadow-sheet: 0 -8px 24px color-mix(in srgb, var(--corn-shadow-color) 70%, transparent);\n --corn-accent-soft: color-mix(in srgb, var(--corn-accent-hover) 20%, transparent);\n --corn-ok-soft: color-mix(in srgb, var(--corn-ok) 15%, transparent);\n --corn-run-requested: var(--corn-text-3);\n --corn-run-claimed: var(--corn-info);\n --corn-run-working: var(--corn-info);\n --corn-run-waiting: var(--corn-warn);\n --corn-run-waiting-ink: var(--corn-ground);\n --corn-run-done: var(--corn-ok);\n --corn-run-failed: var(--corn-bad);\n --corn-run-stopped: var(--corn-text-2);\n --corn-added-text: color-mix(in srgb, var(--corn-added) 60%, var(--corn-text));\n --corn-edit-text: color-mix(in srgb, var(--corn-edit) 60%, var(--corn-text));\n --corn-hue-orange-soft: color-mix(in srgb, var(--corn-hue-orange) 12%, transparent);\n --corn-font-display: var(--corn-font);\n --corn-font-num: var(--corn-font);\n --corn-space-1: var(--corn-space);\n --corn-panel-pad: calc(var(--corn-space-5) + var(--corn-space-1));\n --corn-panel-head-height: calc(var(--corn-control-height) + var(--corn-space-3));\n --corn-map-collision: var(--corn-warn);\n --hx-bg: var(--corn-ground);\n --hx-text: var(--corn-text);\n --hx-ink: var(--corn-text);\n --hx-text-1: var(--corn-text);\n --hx-text-2: var(--corn-text-2);\n --hx-slate-300: var(--corn-text-2);\n --hx-slate-400: var(--corn-text-3);\n --hx-slate-500: var(--corn-text-3);\n --hx-slate-600: var(--corn-text-3);\n --hx-slate-700: var(--corn-surface-3);\n --hx-slate-800: var(--corn-surface-2);\n --hx-slate-900: var(--corn-ground);\n --hx-slate-950: var(--corn-ground);\n --hx-indigo: var(--corn-accent-text);\n --hx-indigo-strong: var(--corn-accent);\n --hx-emerald: var(--corn-ok);\n --hx-amber: var(--corn-warn);\n --hx-sky: var(--corn-info);\n --hx-pink: var(--corn-hue-pink);\n --hx-fuchsia: var(--corn-hue-fuchsia);\n --hx-fuchsia-strong: var(--corn-hue-fuchsia);\n --hx-red: var(--corn-bad);\n --hx-code: var(--corn-warn);\n --hx-orange-text: var(--corn-hue-orange);\n --hx-orange-strong: var(--corn-hue-orange);\n --hx-teal-text: var(--corn-added-text);\n --hx-teal-strong: var(--corn-added-text);\n --hx-violet-text: var(--corn-edit-text);\n --hx-green-text: var(--corn-ok);\n --hx-lime-text: var(--corn-hue-lime);\n --hx-mark-added: var(--corn-added);\n --hx-mark-changed: var(--corn-changed);\n --hx-mark-removed: var(--corn-removed);\n --hx-mark-edit: var(--corn-edit);\n --hx-control: var(--corn-surface-2);\n --hx-control-hover: var(--corn-surface-3);\n --hx-control-off: color-mix(in srgb, var(--corn-ground) 40%, transparent);\n --hx-well: color-mix(in srgb, var(--corn-ground) 80%, transparent);\n --hx-well-soft: color-mix(in srgb, var(--corn-ground) 55%, transparent);\n --hx-line: var(--corn-line);\n --hx-line-soft: var(--corn-line-soft);\n --hx-scroll: color-mix(in srgb, var(--corn-text) 18%, transparent);\n --hx-scroll-hover: color-mix(in srgb, var(--corn-text) 28%, transparent);\n --hx-swatch-solid: color-mix(in srgb, var(--corn-text) 55%, transparent);\n --hx-backdrop: var(--corn-scrim);\n --hx-glyph-mix: var(--corn-glyph-mix);\n --surface-glass: var(--corn-surface-1);\n --surface-glass-header: color-mix(in srgb, var(--corn-ground) 88%, transparent);\n --border-glass: var(--corn-line);\n --border-subtle: var(--corn-line-soft);\n --glass-blur: blur(var(--corn-blur));\n --glass-shadow: var(--corn-shadow);\n --gradient-primary: var(--corn-brand-gradient);\n --bg-gradient: var(--corn-ground-image), var(--corn-ground);\n --pop-font-body: var(--corn-font);\n --pop-font-mono: var(--corn-mono);\n}\n";
|
|
4110
|
+
export { bn as $, mr as A, Or as B, na as C, hr as D, yr as E, si as F, er as G, Xn as H, ci as I, gn as J, $n as K, Br as L, fr as M, Mr as N, Er as O, q as P, vn as Q, Ir as R, Hi as S, ea as T, K as U, Vr as V, tr as W, An as X, hn as Y, wn as Z, va as _, Co as a, ze as at, Ci as b, po as c, O as ct, oo as d, f as dt, Cn as et, so as f, p as ft, ra as g, Ua as h, xo as i, L as it, pr as j, xr as k, fo as l, ee as lt, Ka as m, n as mt, bo as n, Tn as nt, So as o, ut as ot, qa as p, o as pt, fn as q, yo as r, tn as rt, vo as s, E as st, wo as t, yn as tt, lo as u, w as ut, Sa as v, Gi as w, Ei as x, ba as y, Y as z };
|