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