@popcorn245/cornfield-components 0.52.0 → 0.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/chunks/around-BcnegEdS.js +99 -0
- package/dist/chunks/connection-KDiWvV19.js +23 -0
- package/dist/chunks/{engine-HIgX35hE.js → engine-xmHJvQY9.js} +1360 -1343
- package/dist/chunks/{layers-n1mJVJs8.js → layers-ho10a2y7.js} +68 -68
- package/dist/chunks/{map-CeP9M2_w.js → map-DbfPgQRe.js} +736 -705
- package/dist/chunks/node-panel-CC8UrSzJ.js +410 -0
- package/dist/chunks/panel-review-ih7RlfkH.js +884 -0
- package/dist/chunks/review-pieces-DtRxCDMr.js +2523 -0
- package/dist/chunks/{review-source-DWisOXyR.js → review-source-CmbwaPCM.js} +1 -1
- package/dist/chunks/scope-2m2VmJXn.js +185 -0
- package/dist/chunks/scope-proposal-T06ndbin.js +116 -0
- package/dist/chunks/sheets-BWANwtZP.js +209 -0
- package/dist/chunks/source-address-DXanAREm.js +57 -0
- package/dist/chunks/{status-CsFpnQxw.js → status-DM-iIEsg.js} +57 -56
- package/dist/corn-changes.js +43 -0
- package/dist/corn-decision.js +52 -0
- package/dist/corn-layers.js +275 -1
- package/dist/corn-map.js +125 -1
- package/dist/corn-node-panel.js +42 -1
- package/dist/corn-proposal.js +50 -0
- package/dist/corn-review.js +425 -1
- package/dist/corn-scope.js +33 -9
- package/dist/corn-search.js +484 -1
- package/dist/index.js +11 -8
- package/dist/manifest.json +95 -70
- package/dist/tokens.css +6 -0
- package/dist/types/components.d.ts +111 -5
- package/dist/types/corn-changes.d.ts +2 -0
- package/dist/types/corn-decision.d.ts +2 -0
- package/dist/types/corn-proposal.d.ts +2 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/version.json +1 -1
- package/package.json +17 -5
- package/dist/chunks/around-D7aqHejs.js +0 -78
- package/dist/chunks/corn-layers-g9AprK6G.js +0 -275
- package/dist/chunks/corn-map-DE-pg-A0.js +0 -125
- package/dist/chunks/corn-node-panel-CdtFb9IZ.js +0 -42
- package/dist/chunks/corn-review-9krtLSPK.js +0 -2900
- package/dist/chunks/corn-search-BY1Po63S.js +0 -484
- package/dist/chunks/node-panel-CY5xnuKC.js +0 -1291
- package/dist/chunks/scope-CUhp8mkf.js +0 -137
- package/dist/chunks/sheets-TFCL_dIn.js +0 -204
- package/dist/chunks/source-address-C70zNPIj.js +0 -79
|
@@ -398,7 +398,8 @@ var r = Object.freeze({
|
|
|
398
398
|
nodePanelEmpty: "Select a node on the map to see its details",
|
|
399
399
|
needsScope: "This needs a corn-scope around it, with a corn-map in it",
|
|
400
400
|
needsMap: "This needs a corn-map in the same corn-scope",
|
|
401
|
-
waitingForMap: "Waiting for the map"
|
|
401
|
+
waitingForMap: "Waiting for the map",
|
|
402
|
+
secondSection: "This scope already has one of these"
|
|
402
403
|
}), i = (e) => typeof e == "string" && Object.hasOwn(r, e), a = /* @__PURE__ */ RegExp("[\\u0000-\\u001f\\u007f-\\u009f\\u2028\\u2029]");
|
|
403
404
|
function o(e) {
|
|
404
405
|
return typeof e == "string" ? e.trim() ? a.test(e) ? "is one line of plain text (no line break or control character)" : [...e].length > 80 ? "is at most 80 characters" : null : "is empty (leave the key out to keep the default)" : "is text";
|
|
@@ -739,16 +740,16 @@ function Se(e) {
|
|
|
739
740
|
}, r = t.canvas, i = (e) => !!e && !e.hidden && e.isConnected;
|
|
740
741
|
if (ye(e)) n.bottom = xe(e) + 8;
|
|
741
742
|
else if (r && typeof r.getBoundingClientRect == "function") {
|
|
742
|
-
let t = r.getBoundingClientRect(), a = e.
|
|
743
|
-
|
|
743
|
+
let t = r.getBoundingClientRect(), a = e.ask("proposal:covers");
|
|
744
|
+
a && (n.top = Math.max(0, a.bottom - t.top) + 8);
|
|
744
745
|
let o = e.ask("panel:covers");
|
|
745
746
|
o && o.right && (n.right = o.right);
|
|
746
747
|
let s = e.el("forge-panel");
|
|
747
748
|
i(s) && s.classList.contains("forge-open") && (n.left = s.offsetWidth);
|
|
748
|
-
let c = e.
|
|
749
|
-
|
|
750
|
-
let l = e.
|
|
751
|
-
|
|
749
|
+
let c = e.ask("changes:covers");
|
|
750
|
+
c && (n.left = Math.max(n.left, Math.max(0, c.right - t.left) + 8));
|
|
751
|
+
let l = e.ask("player:covers");
|
|
752
|
+
l && (n.bottom = Math.max(0, t.bottom - l.top) + 8);
|
|
752
753
|
}
|
|
753
754
|
return O(t.width || 0, t.height || 0, n);
|
|
754
755
|
}
|
|
@@ -1403,7 +1404,8 @@ var Tt = "corn-scope-request", Et = "corn-scope-changed", Dt = (e) => e.slot("sc
|
|
|
1403
1404
|
serverTheme: null,
|
|
1404
1405
|
host: null,
|
|
1405
1406
|
source: null,
|
|
1406
|
-
mountStatus: null
|
|
1407
|
+
mountStatus: null,
|
|
1408
|
+
signIn: () => ""
|
|
1407
1409
|
})), Ot = (e) => {
|
|
1408
1410
|
let t = Dt(e);
|
|
1409
1411
|
return t.host ? t : null;
|
|
@@ -1431,116 +1433,69 @@ function kt(e, t) {
|
|
|
1431
1433
|
}
|
|
1432
1434
|
};
|
|
1433
1435
|
}
|
|
1434
|
-
// ../explorer/
|
|
1435
|
-
var
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
color: "#fbbf24"
|
|
1447
|
-
},
|
|
1448
|
-
renew: {
|
|
1449
|
-
title: "Breaks at the next certificate renewal",
|
|
1450
|
-
legend: "Two ticks: breaks at the next certificate renewal",
|
|
1451
|
-
ticks: 2,
|
|
1452
|
-
color: "#a78bfa"
|
|
1453
|
-
}
|
|
1454
|
-
}, At = (e) => e && Object.hasOwn(M, e.when) ? e.when : "run", jt = (e) => e && e.kind === "calls" ? M[At(e)].ticks : 0, Mt = (e) => e && e.kind === "web" ? "web" : "cloud", Nt = {
|
|
1455
|
-
outbox: {
|
|
1456
|
-
color: "#f59e0b",
|
|
1457
|
-
label: "Outbox → API (writes)"
|
|
1458
|
-
},
|
|
1459
|
-
changes: {
|
|
1460
|
-
color: "#22d3ee",
|
|
1461
|
-
label: "Change stream (reads back)"
|
|
1462
|
-
},
|
|
1463
|
-
trigger: {
|
|
1464
|
-
color: "#a3e635",
|
|
1465
|
-
label: "Trigger → audit_log (seq)"
|
|
1466
|
-
},
|
|
1467
|
-
sync: {
|
|
1468
|
-
color: "#fb7185",
|
|
1469
|
-
label: "Background sync (external)"
|
|
1470
|
-
},
|
|
1471
|
-
model: {
|
|
1472
|
-
color: "#c084fc",
|
|
1473
|
-
label: "Model classes feed a tier"
|
|
1474
|
-
},
|
|
1475
|
-
rom: {
|
|
1476
|
-
color: "#f0abfc",
|
|
1477
|
-
label: "ROM: change → re-bake → serve"
|
|
1478
|
-
},
|
|
1479
|
-
read: {
|
|
1480
|
-
color: "#93c5fd",
|
|
1481
|
-
label: "Server reads rows over HTTP"
|
|
1482
|
-
},
|
|
1483
|
-
api: {
|
|
1484
|
-
color: "#38bdf8",
|
|
1485
|
-
label: "App calls the API (derived from its code)"
|
|
1486
|
-
},
|
|
1487
|
-
build: {
|
|
1488
|
-
color: "#d6d3d1",
|
|
1489
|
-
label: "Build script writes files"
|
|
1490
|
-
},
|
|
1491
|
-
reads: {
|
|
1492
|
-
color: "#fde047",
|
|
1493
|
-
label: "Table → page (render reads)"
|
|
1494
|
-
},
|
|
1495
|
-
writes: {
|
|
1496
|
-
color: "#f87171",
|
|
1497
|
-
label: "Page → table (form / action)"
|
|
1498
|
-
},
|
|
1499
|
-
uses: {
|
|
1500
|
-
color: "#f472b6",
|
|
1501
|
-
label: "Stylesheet uses design tokens"
|
|
1502
|
-
},
|
|
1503
|
-
extends: {
|
|
1504
|
-
color: "#5eead4",
|
|
1505
|
-
label: "Component extends a base class"
|
|
1506
|
-
},
|
|
1507
|
-
calls: {
|
|
1508
|
-
color: "#fb7185",
|
|
1509
|
-
label: "Calls (service → service, outside system)"
|
|
1510
|
-
},
|
|
1511
|
-
triggers: {
|
|
1512
|
-
color: "#a3e635",
|
|
1513
|
-
label: "Triggers (cron, webhook, store change)"
|
|
1514
|
-
},
|
|
1515
|
-
delivers: {
|
|
1516
|
-
color: "#94a3b8",
|
|
1517
|
-
label: "Outside system → webhook endpoint"
|
|
1518
|
-
},
|
|
1519
|
-
"runs-on": {
|
|
1520
|
-
color: "#a8a29e",
|
|
1521
|
-
label: "App → the stack that serves its domain"
|
|
1522
|
-
}
|
|
1523
|
-
}, Pt = (e) => Nt[e.kind === "flow" ? e.flow : e.kind] || Nt.sync, N = (e) => e.mark === "edit" ? e.editOp || "none" : e.mark || "none", Ft = (e) => !!e && !!e.mark && e.mark !== "none";
|
|
1436
|
+
// ../explorer/review-model.js
|
|
1437
|
+
var At = 6e4, jt = 60 * At, Mt = 24 * jt, Nt = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`;
|
|
1438
|
+
function Pt(e, t) {
|
|
1439
|
+
let n = typeof e == "string" ? Date.parse(e) : NaN;
|
|
1440
|
+
if (!Number.isFinite(n) || !Number.isFinite(t)) return "";
|
|
1441
|
+
let r = t - n;
|
|
1442
|
+
return r < At ? "just now" : r < jt ? `${Nt(Math.floor(r / At), "minute")} ago` : r < Mt ? `${Nt(Math.floor(r / jt), "hour")} ago` : `${Nt(Math.floor(r / Mt), "day")} ago`;
|
|
1443
|
+
}
|
|
1444
|
+
var Ft = {
|
|
1445
|
+
approved: "Approved",
|
|
1446
|
+
notes: "Sent back"
|
|
1447
|
+
};
|
|
1524
1448
|
function It(e, t) {
|
|
1525
|
-
|
|
1449
|
+
let { verdict: n, when: r } = Lt(e, t);
|
|
1450
|
+
return r ? `${n} ${r}` : n;
|
|
1526
1451
|
}
|
|
1527
1452
|
function Lt(e, t) {
|
|
1528
|
-
return
|
|
1453
|
+
return !e || !Ft[e.verdict] ? {
|
|
1454
|
+
verdict: "",
|
|
1455
|
+
when: ""
|
|
1456
|
+
} : {
|
|
1457
|
+
verdict: Ft[e.verdict],
|
|
1458
|
+
when: Pt(e.at, t) || ""
|
|
1459
|
+
};
|
|
1460
|
+
}
|
|
1461
|
+
function Rt(e) {
|
|
1462
|
+
return typeof e == "string" && e.trim() ? null : "Say what should change before you send it back.";
|
|
1463
|
+
}
|
|
1464
|
+
function zt(e, t, n) {
|
|
1465
|
+
return {
|
|
1466
|
+
verdict: e,
|
|
1467
|
+
note: typeof t == "string" ? t.trim() : "",
|
|
1468
|
+
edits: structuredClone(Array.isArray(n) ? n : [])
|
|
1469
|
+
};
|
|
1470
|
+
}
|
|
1471
|
+
var Bt = (e) => typeof e == "string" && /^pull\/[1-9]\d{0,8}$/.test(e);
|
|
1472
|
+
function Vt(e, t) {
|
|
1473
|
+
if (!t) return "";
|
|
1474
|
+
let n = Nt(t, "edit");
|
|
1475
|
+
return e === "approved" ? `Your ${n} ${t === 1 ? "is" : "are"} in the review comment on the PR. The drafting agent will fold ${t === 1 ? "it" : "them"} into the proposal.` : `Sent with your ${n}. The drafting agent will fold ${t === 1 ? "it" : "them"} into the next draft.`;
|
|
1476
|
+
}
|
|
1477
|
+
// ../explorer/proposal-marks.js
|
|
1478
|
+
var M = (e) => e.mark === "edit" ? e.editOp || "none" : e.mark || "none", Ht = (e) => !!e && !!e.mark && e.mark !== "none";
|
|
1479
|
+
function Ut(e, t) {
|
|
1480
|
+
return e === "before" ? M(t) !== "added" : e !== "after" || M(t) !== "removed";
|
|
1481
|
+
}
|
|
1482
|
+
function Wt(e, t) {
|
|
1483
|
+
return Ut(e, t);
|
|
1529
1484
|
}
|
|
1530
|
-
function
|
|
1485
|
+
function Gt(e, t) {
|
|
1531
1486
|
let n = t.mark || "none";
|
|
1532
1487
|
return n === "edit" ? "edit" : e === "diff" ? n : "none";
|
|
1533
1488
|
}
|
|
1534
|
-
function
|
|
1489
|
+
function Kt(e) {
|
|
1535
1490
|
if (e.mark !== "changed" || !e.before) return e;
|
|
1536
1491
|
let t = { ...e };
|
|
1537
1492
|
for (let [n, r] of Object.entries(e.before)) r === null ? delete t[n] : t[n] = r;
|
|
1538
1493
|
return t;
|
|
1539
1494
|
}
|
|
1540
|
-
function
|
|
1495
|
+
function qt(e, t) {
|
|
1541
1496
|
let n = /* @__PURE__ */ new Set();
|
|
1542
|
-
for (let t of e)
|
|
1543
|
-
for (let e of t)
|
|
1497
|
+
for (let t of e) Ht(t) && n.add(t.id);
|
|
1498
|
+
for (let e of t) Ht(e) && (n.add(e.from), n.add(e.to));
|
|
1544
1499
|
let r = new Set(n);
|
|
1545
1500
|
for (let e of t) {
|
|
1546
1501
|
let t = !e.kind && !e.dashed;
|
|
@@ -1551,12 +1506,12 @@ function Bt(e, t) {
|
|
|
1551
1506
|
near: r
|
|
1552
1507
|
};
|
|
1553
1508
|
}
|
|
1554
|
-
var
|
|
1555
|
-
function
|
|
1556
|
-
let r = new Map(e.map((e) => [e.id, e])), i = e.filter((e) =>
|
|
1509
|
+
var Jt = (e) => !e.kind && !e.dashed;
|
|
1510
|
+
function Yt(e, t, { gap: n = 74 } = {}) {
|
|
1511
|
+
let r = new Map(e.map((e) => [e.id, e])), i = e.filter((e) => M(e) !== "added"), a = e.filter((e) => M(e) === "added");
|
|
1557
1512
|
if (!a.length) return;
|
|
1558
1513
|
let o = new Set(i.map((e) => e.id)), s = (e) => {
|
|
1559
|
-
let n = t.find((t) =>
|
|
1514
|
+
let n = t.find((t) => Jt(t) && t.to === e.id && r.has(t.from));
|
|
1560
1515
|
if (n) return n.from;
|
|
1561
1516
|
let i = t.find((t) => t.from === e.id && r.has(t.to) || t.to === e.id && r.has(t.from));
|
|
1562
1517
|
return i ? i.from === e.id ? i.to : i.from : null;
|
|
@@ -1588,11 +1543,11 @@ function Ht(e, t, { gap: n = 74 } = {}) {
|
|
|
1588
1543
|
}
|
|
1589
1544
|
for (let e of u) l(e, 0, 0), i.push(e);
|
|
1590
1545
|
}
|
|
1591
|
-
function
|
|
1592
|
-
if (e) for (let t of e.tiers) t.nodes = [...t.nodes.filter((e) =>
|
|
1546
|
+
function Xt(e) {
|
|
1547
|
+
if (e) for (let t of e.tiers) t.nodes = [...t.nodes.filter((e) => M(e) !== "added"), ...t.nodes.filter((e) => M(e) === "added")];
|
|
1593
1548
|
}
|
|
1594
|
-
var
|
|
1595
|
-
function
|
|
1549
|
+
var Zt = 50;
|
|
1550
|
+
function Qt(e, t) {
|
|
1596
1551
|
let n = new Map(t.tiers.map((e) => [e.key, e]));
|
|
1597
1552
|
if (e.tiers.some((e) => e.nodes.length && !n.get(e.key)?.nodes.length)) return !1;
|
|
1598
1553
|
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]));
|
|
@@ -1606,7 +1561,7 @@ function Gt(e, t) {
|
|
|
1606
1561
|
t.x = e.x, t.y = e.y, t.r = e.r;
|
|
1607
1562
|
}
|
|
1608
1563
|
if (!n.length) continue;
|
|
1609
|
-
let o = r.get(t.key).rows, s = Math.max(...e.map((e) => e.x)), c = (e) => (e - (o - 1) / 2) *
|
|
1564
|
+
let o = r.get(t.key).rows, s = Math.max(...e.map((e) => e.x)), c = (e) => (e - (o - 1) / 2) * Zt, l = new Set(e.filter((e) => e.x === s).map((e) => Math.round(e.y))), u = 0;
|
|
1610
1565
|
for (let e of n) {
|
|
1611
1566
|
for (; l.has(Math.round(c(u)));) u++;
|
|
1612
1567
|
e.x = s, e.y = c(u), l.add(Math.round(e.y)), a = Math.min(a, -(e.y + 40));
|
|
@@ -1614,440 +1569,636 @@ function Gt(e, t) {
|
|
|
1614
1569
|
}
|
|
1615
1570
|
return e.top = a, !0;
|
|
1616
1571
|
}
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
"
|
|
1726
|
-
"
|
|
1727
|
-
"
|
|
1728
|
-
"
|
|
1729
|
-
"
|
|
1730
|
-
|
|
1731
|
-
"
|
|
1732
|
-
"
|
|
1733
|
-
"
|
|
1734
|
-
"
|
|
1735
|
-
"
|
|
1736
|
-
"
|
|
1737
|
-
"
|
|
1738
|
-
"
|
|
1739
|
-
"
|
|
1740
|
-
|
|
1741
|
-
"
|
|
1742
|
-
"
|
|
1743
|
-
"
|
|
1744
|
-
|
|
1745
|
-
"
|
|
1746
|
-
|
|
1747
|
-
"
|
|
1748
|
-
"
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
"
|
|
1753
|
-
"
|
|
1754
|
-
"
|
|
1755
|
-
"
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
var sn = ["cloud", "web"], cn = [
|
|
1776
|
-
"run",
|
|
1777
|
-
"deploy",
|
|
1778
|
-
"renew"
|
|
1779
|
-
], ln = ["browser"];
|
|
1780
|
-
function un(e, t, n) {
|
|
1781
|
-
let r = [], i = n?.type === "external" && (n.kind === void 0 || n.kind === "cloud");
|
|
1782
|
-
return e.when !== void 0 && (cn.includes(e.when) || r.push(`has when "${e.when}". Valid values: ${cn.join(", ")}`), e.kind === "calls" ? i || r.push("has \"when\" but does not go into a cloud node: only an outage of a cloud service is timed.") : r.push("has \"when\", which goes only on a calls edge.")), e.side !== void 0 && (ln.includes(e.side) || r.push(`has side "${e.side}". Valid values: ${ln.join(", ")}`), e.kind === "calls" ? (t?.type !== "app" || n?.type !== "external") && r.push("has \"side\", which goes only on an app -> external calls edge (the visitor's browser makes the call).") : r.push("has \"side\", which goes only on a calls edge.")), r;
|
|
1572
|
+
// ../core/color.js
|
|
1573
|
+
var $t = Object.freeze({
|
|
1574
|
+
aliceblue: "#f0f8ff",
|
|
1575
|
+
antiquewhite: "#faebd7",
|
|
1576
|
+
aqua: "#00ffff",
|
|
1577
|
+
aquamarine: "#7fffd4",
|
|
1578
|
+
azure: "#f0ffff",
|
|
1579
|
+
beige: "#f5f5dc",
|
|
1580
|
+
bisque: "#ffe4c4",
|
|
1581
|
+
black: "#000000",
|
|
1582
|
+
blanchedalmond: "#ffebcd",
|
|
1583
|
+
blue: "#0000ff",
|
|
1584
|
+
blueviolet: "#8a2be2",
|
|
1585
|
+
brown: "#a52a2a",
|
|
1586
|
+
burlywood: "#deb887",
|
|
1587
|
+
cadetblue: "#5f9ea0",
|
|
1588
|
+
chartreuse: "#7fff00",
|
|
1589
|
+
chocolate: "#d2691e",
|
|
1590
|
+
coral: "#ff7f50",
|
|
1591
|
+
cornflowerblue: "#6495ed",
|
|
1592
|
+
cornsilk: "#fff8dc",
|
|
1593
|
+
crimson: "#dc143c",
|
|
1594
|
+
cyan: "#00ffff",
|
|
1595
|
+
darkblue: "#00008b",
|
|
1596
|
+
darkcyan: "#008b8b",
|
|
1597
|
+
darkgoldenrod: "#b8860b",
|
|
1598
|
+
darkgray: "#a9a9a9",
|
|
1599
|
+
darkgreen: "#006400",
|
|
1600
|
+
darkgrey: "#a9a9a9",
|
|
1601
|
+
darkkhaki: "#bdb76b",
|
|
1602
|
+
darkmagenta: "#8b008b",
|
|
1603
|
+
darkolivegreen: "#556b2f",
|
|
1604
|
+
darkorange: "#ff8c00",
|
|
1605
|
+
darkorchid: "#9932cc",
|
|
1606
|
+
darkred: "#8b0000",
|
|
1607
|
+
darksalmon: "#e9967a",
|
|
1608
|
+
darkseagreen: "#8fbc8f",
|
|
1609
|
+
darkslateblue: "#483d8b",
|
|
1610
|
+
darkslategray: "#2f4f4f",
|
|
1611
|
+
darkslategrey: "#2f4f4f",
|
|
1612
|
+
darkturquoise: "#00ced1",
|
|
1613
|
+
darkviolet: "#9400d3",
|
|
1614
|
+
deeppink: "#ff1493",
|
|
1615
|
+
deepskyblue: "#00bfff",
|
|
1616
|
+
dimgray: "#696969",
|
|
1617
|
+
dimgrey: "#696969",
|
|
1618
|
+
dodgerblue: "#1e90ff",
|
|
1619
|
+
firebrick: "#b22222",
|
|
1620
|
+
floralwhite: "#fffaf0",
|
|
1621
|
+
forestgreen: "#228b22",
|
|
1622
|
+
fuchsia: "#ff00ff",
|
|
1623
|
+
gainsboro: "#dcdcdc",
|
|
1624
|
+
ghostwhite: "#f8f8ff",
|
|
1625
|
+
gold: "#ffd700",
|
|
1626
|
+
goldenrod: "#daa520",
|
|
1627
|
+
gray: "#808080",
|
|
1628
|
+
green: "#008000",
|
|
1629
|
+
greenyellow: "#adff2f",
|
|
1630
|
+
grey: "#808080",
|
|
1631
|
+
honeydew: "#f0fff0",
|
|
1632
|
+
hotpink: "#ff69b4",
|
|
1633
|
+
indianred: "#cd5c5c",
|
|
1634
|
+
indigo: "#4b0082",
|
|
1635
|
+
ivory: "#fffff0",
|
|
1636
|
+
khaki: "#f0e68c",
|
|
1637
|
+
lavender: "#e6e6fa",
|
|
1638
|
+
lavenderblush: "#fff0f5",
|
|
1639
|
+
lawngreen: "#7cfc00",
|
|
1640
|
+
lemonchiffon: "#fffacd",
|
|
1641
|
+
lightblue: "#add8e6",
|
|
1642
|
+
lightcoral: "#f08080",
|
|
1643
|
+
lightcyan: "#e0ffff",
|
|
1644
|
+
lightgoldenrodyellow: "#fafad2",
|
|
1645
|
+
lightgray: "#d3d3d3",
|
|
1646
|
+
lightgreen: "#90ee90",
|
|
1647
|
+
lightgrey: "#d3d3d3",
|
|
1648
|
+
lightpink: "#ffb6c1",
|
|
1649
|
+
lightsalmon: "#ffa07a",
|
|
1650
|
+
lightseagreen: "#20b2aa",
|
|
1651
|
+
lightskyblue: "#87cefa",
|
|
1652
|
+
lightslategray: "#778899",
|
|
1653
|
+
lightslategrey: "#778899",
|
|
1654
|
+
lightsteelblue: "#b0c4de",
|
|
1655
|
+
lightyellow: "#ffffe0",
|
|
1656
|
+
lime: "#00ff00",
|
|
1657
|
+
limegreen: "#32cd32",
|
|
1658
|
+
linen: "#faf0e6",
|
|
1659
|
+
magenta: "#ff00ff",
|
|
1660
|
+
maroon: "#800000",
|
|
1661
|
+
mediumaquamarine: "#66cdaa",
|
|
1662
|
+
mediumblue: "#0000cd",
|
|
1663
|
+
mediumorchid: "#ba55d3",
|
|
1664
|
+
mediumpurple: "#9370db",
|
|
1665
|
+
mediumseagreen: "#3cb371",
|
|
1666
|
+
mediumslateblue: "#7b68ee",
|
|
1667
|
+
mediumspringgreen: "#00fa9a",
|
|
1668
|
+
mediumturquoise: "#48d1cc",
|
|
1669
|
+
mediumvioletred: "#c71585",
|
|
1670
|
+
midnightblue: "#191970",
|
|
1671
|
+
mintcream: "#f5fffa",
|
|
1672
|
+
mistyrose: "#ffe4e1",
|
|
1673
|
+
moccasin: "#ffe4b5",
|
|
1674
|
+
navajowhite: "#ffdead",
|
|
1675
|
+
navy: "#000080",
|
|
1676
|
+
oldlace: "#fdf5e6",
|
|
1677
|
+
olive: "#808000",
|
|
1678
|
+
olivedrab: "#6b8e23",
|
|
1679
|
+
orange: "#ffa500",
|
|
1680
|
+
orangered: "#ff4500",
|
|
1681
|
+
orchid: "#da70d6",
|
|
1682
|
+
palegoldenrod: "#eee8aa",
|
|
1683
|
+
palegreen: "#98fb98",
|
|
1684
|
+
paleturquoise: "#afeeee",
|
|
1685
|
+
palevioletred: "#db7093",
|
|
1686
|
+
papayawhip: "#ffefd5",
|
|
1687
|
+
peachpuff: "#ffdab9",
|
|
1688
|
+
peru: "#cd853f",
|
|
1689
|
+
pink: "#ffc0cb",
|
|
1690
|
+
plum: "#dda0dd",
|
|
1691
|
+
powderblue: "#b0e0e6",
|
|
1692
|
+
purple: "#800080",
|
|
1693
|
+
rebeccapurple: "#663399",
|
|
1694
|
+
red: "#ff0000",
|
|
1695
|
+
rosybrown: "#bc8f8f",
|
|
1696
|
+
royalblue: "#4169e1",
|
|
1697
|
+
saddlebrown: "#8b4513",
|
|
1698
|
+
salmon: "#fa8072",
|
|
1699
|
+
sandybrown: "#f4a460",
|
|
1700
|
+
seagreen: "#2e8b57",
|
|
1701
|
+
seashell: "#fff5ee",
|
|
1702
|
+
sienna: "#a0522d",
|
|
1703
|
+
silver: "#c0c0c0",
|
|
1704
|
+
skyblue: "#87ceeb",
|
|
1705
|
+
slateblue: "#6a5acd",
|
|
1706
|
+
slategray: "#708090",
|
|
1707
|
+
slategrey: "#708090",
|
|
1708
|
+
snow: "#fffafa",
|
|
1709
|
+
springgreen: "#00ff7f",
|
|
1710
|
+
steelblue: "#4682b4",
|
|
1711
|
+
tan: "#d2b48c",
|
|
1712
|
+
teal: "#008080",
|
|
1713
|
+
thistle: "#d8bfd8",
|
|
1714
|
+
tomato: "#ff6347",
|
|
1715
|
+
turquoise: "#40e0d0",
|
|
1716
|
+
violet: "#ee82ee",
|
|
1717
|
+
wheat: "#f5deb3",
|
|
1718
|
+
white: "#ffffff",
|
|
1719
|
+
whitesmoke: "#f5f5f5",
|
|
1720
|
+
yellow: "#ffff00",
|
|
1721
|
+
yellowgreen: "#9acd32"
|
|
1722
|
+
}), en = "[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?", tn = (e, t, n) => Math.min(n, Math.max(t, e));
|
|
1723
|
+
function nn(e, t) {
|
|
1724
|
+
let n = RegExp(`^${t}\\(`, "i").exec(e);
|
|
1725
|
+
if (!n || !e.endsWith(")")) return null;
|
|
1726
|
+
let r = 0;
|
|
1727
|
+
for (let t = n[0].length - 1; t < e.length; t++) if (e[t] === "(") r++;
|
|
1728
|
+
else if (e[t] === ")" && --r === 0 && t !== e.length - 1) return null;
|
|
1729
|
+
return r === 0 ? e.slice(n[0].length, -1) : null;
|
|
1783
1730
|
}
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
"
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
"
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
let t =
|
|
1798
|
-
return
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
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) => {
|
|
1810
|
-
o.has(e) || o.set(e, []), o.get(e).push(t);
|
|
1811
|
-
}, c = /* @__PURE__ */ new Map();
|
|
1812
|
-
for (let e of n) if (e && e.from && e.to) {
|
|
1813
|
-
if (e.kind === "calls") s(e.to, {
|
|
1814
|
-
from: e.from,
|
|
1815
|
-
rank: fn[At(e)],
|
|
1816
|
-
browser: e.side === "browser",
|
|
1817
|
-
key: vn(e.from, e.to)
|
|
1818
|
-
});
|
|
1819
|
-
else if (e.kind === "triggers" && (r.get(e.from) || {}).type === "page" && (r.get(e.to) || {}).type === "service") s(e.to, {
|
|
1820
|
-
from: e.from,
|
|
1821
|
-
rank: 0,
|
|
1822
|
-
browser: !1,
|
|
1823
|
-
key: vn(e.from, e.to)
|
|
1824
|
-
});
|
|
1825
|
-
else if (e.kind === "runs-on" && Array.isArray(e.mappings)) for (let t of e.mappings) {
|
|
1826
|
-
if (!t || !t.service) continue;
|
|
1827
|
-
let n = `${e.to}|${t.service}`;
|
|
1828
|
-
c.has(n) || c.set(n, /* @__PURE__ */ new Set()), c.get(n).add(e.from);
|
|
1829
|
-
}
|
|
1731
|
+
function rn(e, t) {
|
|
1732
|
+
let n = [], r = 0, i = 0;
|
|
1733
|
+
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);
|
|
1734
|
+
return n.push(e.slice(i)), n;
|
|
1735
|
+
}
|
|
1736
|
+
var an = (e, t) => {
|
|
1737
|
+
let n = RegExp(`^(${en})(%?)$`, "i").exec(e);
|
|
1738
|
+
return n ? n[2] ? Number(n[1]) / 100 * t : Number(n[1]) : null;
|
|
1739
|
+
}, on = (e) => e === void 0 ? 1 : (() => {
|
|
1740
|
+
let t = an(e, 1);
|
|
1741
|
+
return t === null ? null : tn(t, 0, 1);
|
|
1742
|
+
})();
|
|
1743
|
+
function sn(e, t, n) {
|
|
1744
|
+
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)));
|
|
1745
|
+
return [
|
|
1746
|
+
a(0) * 255,
|
|
1747
|
+
a(8) * 255,
|
|
1748
|
+
a(4) * 255
|
|
1749
|
+
];
|
|
1750
|
+
}
|
|
1751
|
+
function cn(e) {
|
|
1752
|
+
let t = e.trim();
|
|
1753
|
+
if (t.includes(",")) {
|
|
1754
|
+
let e = t.split(/\s*,\s*/);
|
|
1755
|
+
return (e.length === 3 || e.length === 4) && e.every((e) => e && !/[\s/]/.test(e)) ? e : null;
|
|
1830
1756
|
}
|
|
1831
|
-
let
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
let n = Math.max(i, e.rank), s = o || e.browser;
|
|
1853
|
-
e.key && (!d.has(e.key) || fn[d.get(e.key)] > n) && d.set(e.key, dn[n]);
|
|
1854
|
-
let c = u.get(e.from);
|
|
1855
|
-
c && (c.rank < n || c.rank === n && (!c.browser || s)) || (u.set(e.from, {
|
|
1856
|
-
rank: n,
|
|
1857
|
-
when: dn[n],
|
|
1858
|
-
browser: s
|
|
1859
|
-
}), f[n].push({
|
|
1860
|
-
id: e.from,
|
|
1861
|
-
rank: n,
|
|
1862
|
-
browser: s
|
|
1863
|
-
}));
|
|
1864
|
-
}
|
|
1757
|
+
let n = /^(\S+)\s+(\S+)\s+([^\s/]+)(?:\s*\/\s*(\S+))?$/.exec(t);
|
|
1758
|
+
return n && !n.slice(1, 4).some((e) => e.includes("/")) ? n.slice(1, n[4] === void 0 ? 4 : 5) : null;
|
|
1759
|
+
}
|
|
1760
|
+
function ln(e, t = 0) {
|
|
1761
|
+
let n = String(e).trim().toLowerCase();
|
|
1762
|
+
if (n === "transparent") return [
|
|
1763
|
+
0,
|
|
1764
|
+
0,
|
|
1765
|
+
0,
|
|
1766
|
+
0
|
|
1767
|
+
];
|
|
1768
|
+
if ($t[n]) return ln($t[n], t);
|
|
1769
|
+
let r = /^#([0-9a-f]{3,4})$/.exec(n);
|
|
1770
|
+
if (r) {
|
|
1771
|
+
let e = [...r[1]].map((e) => parseInt(e + e, 16));
|
|
1772
|
+
return [
|
|
1773
|
+
e[0],
|
|
1774
|
+
e[1],
|
|
1775
|
+
e[2],
|
|
1776
|
+
e.length === 4 ? e[3] / 255 : 1
|
|
1777
|
+
];
|
|
1865
1778
|
}
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1779
|
+
if (r = /^#([0-9a-f]{6}|[0-9a-f]{8})$/.exec(n), r) {
|
|
1780
|
+
let e = r[1];
|
|
1781
|
+
return [
|
|
1782
|
+
parseInt(e.slice(0, 2), 16),
|
|
1783
|
+
parseInt(e.slice(2, 4), 16),
|
|
1784
|
+
parseInt(e.slice(4, 6), 16),
|
|
1785
|
+
e.length === 8 ? parseInt(e.slice(6, 8), 16) / 255 : 1
|
|
1786
|
+
];
|
|
1787
|
+
}
|
|
1788
|
+
let i = nn(n, "rgba?");
|
|
1789
|
+
if (i !== null) {
|
|
1790
|
+
let e = cn(i);
|
|
1791
|
+
if (!e) return null;
|
|
1792
|
+
let t = e.slice(0, 3).map((e) => an(e, 255)), n = on(e[3]);
|
|
1793
|
+
return t.some((e) => e === null) || n === null ? null : [...t.map((e) => tn(e, 0, 255)), n];
|
|
1794
|
+
}
|
|
1795
|
+
let a = nn(n, "hsla?");
|
|
1796
|
+
if (a !== null) {
|
|
1797
|
+
let e = cn(a);
|
|
1798
|
+
if (!e) return null;
|
|
1799
|
+
let t = RegExp(`^(${en})(?:deg)?$`).exec(e[0]), n = /%$/.test(e[1]) ? an(e[1], 1) : null, r = /%$/.test(e[2]) ? an(e[2], 1) : null, i = on(e[3]);
|
|
1800
|
+
return !t || n === null || r === null || i === null ? null : [...sn((Number(t[1]) % 360 + 360) % 360, tn(n, 0, 1), tn(r, 0, 1)), i];
|
|
1801
|
+
}
|
|
1802
|
+
let o = t < 8 ? nn(n, "color-mix") : null;
|
|
1803
|
+
if (o !== null) {
|
|
1804
|
+
let e = rn(o, ",").map((e) => e.trim());
|
|
1805
|
+
if (e.length !== 3 || !/^in\s+srgb$/.test(e[0])) return null;
|
|
1806
|
+
let n = (e) => {
|
|
1807
|
+
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 = ln(i, t + 1);
|
|
1808
|
+
return o && {
|
|
1809
|
+
c: o,
|
|
1810
|
+
p: a === null ? null : Number(a) / 100
|
|
1881
1811
|
};
|
|
1882
|
-
}
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
function bn(e, t, n) {
|
|
1887
|
-
let r = e && Array.isArray(e.down) ? e.down : [];
|
|
1888
|
-
if (!r.length) return null;
|
|
1889
|
-
let i = r.join("\0");
|
|
1890
|
-
return F && F.key === i && F.nodes === t && F.edges === n || (F = {
|
|
1891
|
-
key: i,
|
|
1892
|
-
nodes: t,
|
|
1893
|
-
edges: n,
|
|
1894
|
-
radius: yn(r, t, n)
|
|
1895
|
-
}), F.radius;
|
|
1896
|
-
}
|
|
1897
|
-
function xn(e, t) {
|
|
1898
|
-
if (!t) return;
|
|
1899
|
-
let n = new Set(t.down);
|
|
1900
|
-
for (let r of e.nodes) {
|
|
1901
|
-
if (n.has(r.id)) {
|
|
1902
|
-
Object.assign(r, {
|
|
1903
|
-
color: gn.color,
|
|
1904
|
-
alpha: 1,
|
|
1905
|
-
labelAlpha: 1,
|
|
1906
|
-
labelColor: "#f8fafc",
|
|
1907
|
-
labelKeep: !0,
|
|
1908
|
-
labelStrike: !0,
|
|
1909
|
-
connected: !0,
|
|
1910
|
-
glow: 0
|
|
1911
|
-
}), r.halo === "none" && (r.halo = gn.halo);
|
|
1912
|
-
continue;
|
|
1913
|
-
}
|
|
1914
|
-
let e = t.hits.get(r.id);
|
|
1915
|
-
if (!e) continue;
|
|
1916
|
-
let i = Math.max(r.alpha, _n.alpha);
|
|
1917
|
-
Object.assign(r, {
|
|
1918
|
-
color: M[e.when].color,
|
|
1919
|
-
alpha: i,
|
|
1920
|
-
labelAlpha: i,
|
|
1921
|
-
labelColor: "#f8fafc",
|
|
1922
|
-
labelKeep: !0,
|
|
1923
|
-
connected: !0,
|
|
1924
|
-
glow: Math.max(r.glow || 0, _n.glow)
|
|
1925
|
-
});
|
|
1812
|
+
}, r = n(e[1]), i = n(e[2]);
|
|
1813
|
+
if (!r || !i || r.p !== null && (r.p < 0 || r.p > 1) || i.p !== null && (i.p < 0 || i.p > 1)) return null;
|
|
1814
|
+
let a = r.p ?? (i.p === null ? .5 : 1 - i.p), s = i.p ?? 1 - a;
|
|
1815
|
+
return a + s <= 0 ? null : dn(r.c, a, i.c, s);
|
|
1926
1816
|
}
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1817
|
+
return null;
|
|
1818
|
+
}
|
|
1819
|
+
function un(e) {
|
|
1820
|
+
if (String(e).length > 4096) return null;
|
|
1821
|
+
try {
|
|
1822
|
+
return ln(e);
|
|
1823
|
+
} catch {
|
|
1824
|
+
return null;
|
|
1935
1825
|
}
|
|
1936
1826
|
}
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1827
|
+
function N(e) {
|
|
1828
|
+
return un(e) ?? [
|
|
1829
|
+
0,
|
|
1830
|
+
0,
|
|
1831
|
+
0,
|
|
1832
|
+
0
|
|
1833
|
+
];
|
|
1834
|
+
}
|
|
1835
|
+
function dn(e, t, n, r) {
|
|
1836
|
+
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;
|
|
1837
|
+
return [
|
|
1838
|
+
c(0),
|
|
1839
|
+
c(1),
|
|
1840
|
+
c(2),
|
|
1841
|
+
s * Math.min(1, i)
|
|
1842
|
+
];
|
|
1843
|
+
}
|
|
1844
|
+
function fn(e, t) {
|
|
1845
|
+
let n = e[3];
|
|
1846
|
+
return [
|
|
1847
|
+
0,
|
|
1848
|
+
1,
|
|
1849
|
+
2
|
|
1850
|
+
].map((r) => Math.round(e[r] * n + t[r] * (1 - n))).concat(1);
|
|
1945
1851
|
}
|
|
1946
|
-
var
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1852
|
+
var pn = ([e, t, n]) => `#${[
|
|
1853
|
+
e,
|
|
1854
|
+
t,
|
|
1855
|
+
n
|
|
1856
|
+
].map((e) => Math.round(e).toString(16).padStart(2, "0")).join("")}`, mn = (e) => {
|
|
1857
|
+
let t = e / 255;
|
|
1858
|
+
return t <= .03928 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
|
|
1859
|
+
}, P = ([e, t, n]) => .2126 * mn(e) + .7152 * mn(t) + .0722 * mn(n), hn = (e, t) => (Math.max(e, t) + .05) / (Math.min(e, t) + .05), gn = (e, t) => hn(P(N(e)), P(N(t))), F = Object.freeze({
|
|
1860
|
+
dark: Object.freeze({
|
|
1861
|
+
added: "#2dd4bf",
|
|
1862
|
+
changed: "#fbbf24",
|
|
1863
|
+
removed: "#fa9292",
|
|
1864
|
+
edit: "#b49cfb"
|
|
1865
|
+
}),
|
|
1866
|
+
light: Object.freeze({
|
|
1867
|
+
added: "#197c6f",
|
|
1868
|
+
changed: "#8f6703",
|
|
1869
|
+
removed: "#e20b0b",
|
|
1870
|
+
edit: "#6839f6"
|
|
1871
|
+
})
|
|
1872
|
+
}), _n = .85, vn = .9, yn = .6, bn = .45, xn = Object.freeze({
|
|
1873
|
+
light: yn,
|
|
1874
|
+
dark: .5
|
|
1875
|
+
}), Sn = Object.freeze({
|
|
1876
|
+
added: Object.freeze({
|
|
1877
|
+
ringDash: Object.freeze([5, 4]),
|
|
1878
|
+
edgeDash: Object.freeze([7, 5]),
|
|
1879
|
+
strike: !1
|
|
1880
|
+
}),
|
|
1881
|
+
changed: Object.freeze({
|
|
1882
|
+
ringDash: null,
|
|
1883
|
+
edgeDash: null,
|
|
1884
|
+
strike: !1
|
|
1885
|
+
}),
|
|
1886
|
+
removed: Object.freeze({
|
|
1887
|
+
ringDash: null,
|
|
1888
|
+
edgeDash: Object.freeze([3, 4]),
|
|
1889
|
+
strike: !0
|
|
1890
|
+
}),
|
|
1891
|
+
edit: Object.freeze({
|
|
1892
|
+
ringDash: Object.freeze([2, 5]),
|
|
1893
|
+
edgeDash: Object.freeze([12, 4]),
|
|
1894
|
+
strike: !1
|
|
1895
|
+
})
|
|
1896
|
+
}), Cn = "#f4f6fa", wn = "#090d16", Tn = {
|
|
1897
|
+
mark: 3.2,
|
|
1898
|
+
text: 4.8
|
|
1899
|
+
}, En = .16, Dn = 1.35, On = .11;
|
|
1900
|
+
function kn(e, t) {
|
|
1901
|
+
return e === "light" || e === "dark" ? e : t ? "light" : "dark";
|
|
1902
|
+
}
|
|
1903
|
+
function An([e, t, n]) {
|
|
1904
|
+
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;
|
|
1905
|
+
if (o === s) return [
|
|
1906
|
+
0,
|
|
1907
|
+
0,
|
|
1908
|
+
c
|
|
1909
|
+
];
|
|
1910
|
+
let l = o - s, u = c > .5 ? l / (2 - o - s) : l / (o + s);
|
|
1911
|
+
return [
|
|
1912
|
+
(o === r ? (i - a) / l + (i < a ? 6 : 0) : o === i ? (a - r) / l + 2 : (r - i) / l + 4) * 60,
|
|
1913
|
+
u,
|
|
1914
|
+
c
|
|
1915
|
+
];
|
|
1954
1916
|
}
|
|
1955
|
-
function
|
|
1956
|
-
|
|
1917
|
+
function jn([e, t, n]) {
|
|
1918
|
+
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));
|
|
1919
|
+
return [
|
|
1920
|
+
a(0),
|
|
1921
|
+
a(8),
|
|
1922
|
+
a(4)
|
|
1923
|
+
].map((e) => Math.round(e * 255));
|
|
1957
1924
|
}
|
|
1958
|
-
var
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
];
|
|
1965
|
-
function On(e, t) {
|
|
1966
|
-
let n = t.house;
|
|
1967
|
-
e.decor.rings = [], e.decor.lanes = n && n.lanes ? n.lanes : [];
|
|
1968
|
-
for (let t of e.nodes) t.type === "room" ? (t.label = "", t.labelKeep = !1) : Dn.includes(t.type) && (t.labelKeep = !0);
|
|
1969
|
-
return n && n.cloudIds && n.cloudIds.size && Nn(e, t), e;
|
|
1925
|
+
var Mn = (e) => `#${e.map((e) => e.toString(16).padStart(2, "0")).join("")}`, Nn = (e, t) => t >= 1 ? Mn(e) : `rgba(${e.join(", ")}, ${+t.toFixed(3)})`, Pn = P(N(Cn)), Fn = /* @__PURE__ */ new Map();
|
|
1926
|
+
function I(e, t = "mark") {
|
|
1927
|
+
let n = `${t}|${e}`, r = Fn.get(n);
|
|
1928
|
+
if (r !== void 0) return r;
|
|
1929
|
+
let i = In(e, t);
|
|
1930
|
+
return Fn.set(n, i), i;
|
|
1970
1931
|
}
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1932
|
+
function In(e, t) {
|
|
1933
|
+
if (typeof e != "string") return e;
|
|
1934
|
+
let [n, r, i, a] = N(e);
|
|
1935
|
+
if (a === 0) return e;
|
|
1936
|
+
let [o, s, c] = An([
|
|
1937
|
+
n,
|
|
1938
|
+
r,
|
|
1939
|
+
i
|
|
1940
|
+
]);
|
|
1941
|
+
if ((Math.max(n, r, i) - Math.min(n, r, i)) / 255 < En && c > .5) return Nn(jn([
|
|
1942
|
+
o,
|
|
1943
|
+
s,
|
|
1944
|
+
Math.max(On, 1 - c)
|
|
1945
|
+
]), a);
|
|
1946
|
+
let l = Tn[t] || Tn.mark;
|
|
1947
|
+
if (hn(P([
|
|
1948
|
+
n,
|
|
1949
|
+
r,
|
|
1950
|
+
i
|
|
1951
|
+
]), Pn) >= l) return e;
|
|
1952
|
+
let u = 0, d = c;
|
|
1953
|
+
for (let e = 0; e < 20; e++) {
|
|
1954
|
+
let e = (u + d) / 2;
|
|
1955
|
+
hn(P(jn([
|
|
1956
|
+
o,
|
|
1957
|
+
s,
|
|
1958
|
+
e
|
|
1959
|
+
])), Pn) >= l ? u = e : d = e;
|
|
1960
|
+
}
|
|
1961
|
+
return Nn(jn([
|
|
1962
|
+
o,
|
|
1963
|
+
s,
|
|
1964
|
+
u
|
|
1965
|
+
]), a);
|
|
1966
|
+
}
|
|
1967
|
+
var Ln = (e, t, n = "mark") => t === "light" ? I(e, n) : e, Rn = (e) => {
|
|
1968
|
+
e && (e.color = I(e.color, "text"));
|
|
1969
|
+
};
|
|
1970
|
+
function zn(e) {
|
|
1971
|
+
e.theme = "light";
|
|
1972
|
+
for (let t of e.nodes) t.color = I(t.color), t.labelColor = I(t.labelColor, "text");
|
|
1973
|
+
for (let t of e.edges) {
|
|
1974
|
+
if (t.mark && t.mark !== "none") t.color = F.dark[t.mark] === t.color ? F.light[t.mark] : I(t.color);
|
|
1975
|
+
else {
|
|
1976
|
+
t.alpha < 1 && (t.alpha = Math.min(1, t.alpha * Dn)), t.color = I(t.color);
|
|
1977
|
+
let [e, n, r, i] = N(t.color);
|
|
1978
|
+
i > 0 && i < 1 && (t.color = Nn([
|
|
1979
|
+
e,
|
|
1980
|
+
n,
|
|
1981
|
+
r
|
|
1982
|
+
], Math.min(1, i * Dn)));
|
|
1995
1983
|
}
|
|
1996
|
-
|
|
1997
|
-
|
|
1984
|
+
t.glowColor &&= I(t.glowColor), t.label &&= {
|
|
1985
|
+
...t.label,
|
|
1986
|
+
color: I(t.label.color, "text")
|
|
1987
|
+
}, t.packet &&= {
|
|
1988
|
+
...t.packet,
|
|
1989
|
+
color: I(t.packet.color),
|
|
1990
|
+
glowColor: I(t.packet.glowColor)
|
|
1991
|
+
};
|
|
1992
|
+
}
|
|
1993
|
+
let { decor: t } = e;
|
|
1994
|
+
return t.grid &&= {
|
|
1995
|
+
...t.grid,
|
|
1996
|
+
color: I(t.grid.color)
|
|
1997
|
+
}, t.rings = t.rings.map((e) => ({
|
|
1998
|
+
...e,
|
|
1999
|
+
color: I(e.color)
|
|
2000
|
+
})), t.lanes = t.lanes.map((e) => {
|
|
2001
|
+
let t = {
|
|
2002
|
+
...e,
|
|
2003
|
+
fill: I(e.fill),
|
|
2004
|
+
stroke: I(e.stroke)
|
|
2005
|
+
};
|
|
2006
|
+
for (let e of [
|
|
2007
|
+
"title",
|
|
2008
|
+
"note",
|
|
2009
|
+
"arrow"
|
|
2010
|
+
]) t[e] && (t[e] = { ...t[e] }, Rn(t[e]));
|
|
2011
|
+
return t;
|
|
2012
|
+
}), e;
|
|
2013
|
+
}
|
|
2014
|
+
var L = {
|
|
2015
|
+
root: {
|
|
2016
|
+
color: "#f59e0b",
|
|
2017
|
+
r: 28
|
|
2018
|
+
},
|
|
2019
|
+
app: {
|
|
2020
|
+
color: "#5168ec",
|
|
2021
|
+
r: 24
|
|
2022
|
+
},
|
|
2023
|
+
page: {
|
|
2024
|
+
color: "#38bdf8",
|
|
2025
|
+
r: 18
|
|
2026
|
+
},
|
|
2027
|
+
pkg: {
|
|
2028
|
+
color: "#0f8293",
|
|
2029
|
+
r: 24
|
|
2030
|
+
},
|
|
2031
|
+
core: {
|
|
2032
|
+
color: "#14b8a6",
|
|
2033
|
+
r: 20
|
|
2034
|
+
},
|
|
2035
|
+
token: {
|
|
2036
|
+
color: "#ef409b",
|
|
2037
|
+
r: 20
|
|
2038
|
+
},
|
|
2039
|
+
atom: {
|
|
2040
|
+
color: "#108d4e",
|
|
2041
|
+
r: 19
|
|
2042
|
+
},
|
|
2043
|
+
molecule: {
|
|
2044
|
+
color: "#a855f7",
|
|
2045
|
+
r: 21
|
|
2046
|
+
},
|
|
2047
|
+
tool: {
|
|
2048
|
+
color: "#f43f5e",
|
|
2049
|
+
r: 19
|
|
2050
|
+
},
|
|
2051
|
+
store: {
|
|
2052
|
+
color: "#fb923c",
|
|
2053
|
+
r: 20
|
|
2054
|
+
},
|
|
2055
|
+
table: {
|
|
2056
|
+
color: "#fde047",
|
|
2057
|
+
r: 18
|
|
2058
|
+
},
|
|
2059
|
+
rom: {
|
|
2060
|
+
color: "#c398c6",
|
|
2061
|
+
r: 19
|
|
2062
|
+
},
|
|
2063
|
+
service: {
|
|
2064
|
+
color: "#84cc16",
|
|
2065
|
+
r: 20
|
|
2066
|
+
},
|
|
2067
|
+
external: {
|
|
2068
|
+
color: "#94a3b8",
|
|
2069
|
+
r: 21
|
|
2070
|
+
},
|
|
2071
|
+
stack: {
|
|
2072
|
+
color: "#b49fa0",
|
|
2073
|
+
r: 22
|
|
2074
|
+
},
|
|
2075
|
+
machine: {
|
|
2076
|
+
color: "#78716c",
|
|
2077
|
+
r: 26
|
|
2078
|
+
},
|
|
2079
|
+
container: {
|
|
2080
|
+
color: "#d6d3d1",
|
|
2081
|
+
r: 12
|
|
2082
|
+
},
|
|
2083
|
+
persona: {
|
|
2084
|
+
color: "#fb7185",
|
|
2085
|
+
r: 22
|
|
2086
|
+
},
|
|
2087
|
+
device: {
|
|
2088
|
+
color: "#2dd4bf",
|
|
2089
|
+
r: 14
|
|
2090
|
+
},
|
|
2091
|
+
floor: {
|
|
2092
|
+
color: "#a3e635",
|
|
2093
|
+
r: 20
|
|
2094
|
+
},
|
|
2095
|
+
room: {
|
|
2096
|
+
color: "#f7ed81",
|
|
2097
|
+
r: 16
|
|
2098
|
+
}
|
|
2099
|
+
}, Bn = Object.freeze({
|
|
2100
|
+
root: "circle",
|
|
2101
|
+
app: "circle",
|
|
2102
|
+
page: "circle",
|
|
2103
|
+
pkg: "circle",
|
|
2104
|
+
core: "circle",
|
|
2105
|
+
token: "circle",
|
|
2106
|
+
atom: "circle",
|
|
2107
|
+
molecule: "circle",
|
|
2108
|
+
tool: "circle",
|
|
2109
|
+
rom: "circle",
|
|
2110
|
+
service: "circle",
|
|
2111
|
+
store: "rounded-square",
|
|
2112
|
+
table: "rounded-square",
|
|
2113
|
+
external: "hexagon",
|
|
2114
|
+
stack: "square",
|
|
2115
|
+
machine: "square",
|
|
2116
|
+
container: "square",
|
|
2117
|
+
device: "square",
|
|
2118
|
+
floor: "square",
|
|
2119
|
+
room: "square",
|
|
2120
|
+
persona: "diamond"
|
|
2121
|
+
}), Vn = Object.freeze([
|
|
2122
|
+
"circle",
|
|
2123
|
+
"rounded-square",
|
|
2124
|
+
"hexagon",
|
|
2125
|
+
"square",
|
|
2126
|
+
"diamond"
|
|
2127
|
+
]), Hn = (e) => typeof e == "string" && Object.hasOwn(Bn, e) ? Bn[e] : "circle", Un = [
|
|
2128
|
+
"outbox",
|
|
2129
|
+
"changes",
|
|
2130
|
+
"trigger",
|
|
2131
|
+
"sync",
|
|
2132
|
+
"model",
|
|
2133
|
+
"rom",
|
|
2134
|
+
"read",
|
|
2135
|
+
"build",
|
|
2136
|
+
"api"
|
|
2137
|
+
], Wn = ["reads", "writes"], Gn = [
|
|
2138
|
+
"calls",
|
|
2139
|
+
"triggers",
|
|
2140
|
+
"delivers"
|
|
2141
|
+
], Kn = ["runs-on"], qn = [
|
|
2142
|
+
"flow",
|
|
2143
|
+
...Wn,
|
|
2144
|
+
"uses",
|
|
2145
|
+
"extends",
|
|
2146
|
+
...Gn,
|
|
2147
|
+
...Kn
|
|
2148
|
+
], Jn = [
|
|
2149
|
+
"camera",
|
|
2150
|
+
"phone",
|
|
2151
|
+
"nfc-tag",
|
|
2152
|
+
"home-assistant"
|
|
2153
|
+
], Yn = ["floor", "room"], Xn = "live-", Zn = (e) => `persona-${e}`;
|
|
2154
|
+
function Qn(e) {
|
|
2155
|
+
if (typeof e != "string" || !e.startsWith("live-")) return null;
|
|
2156
|
+
let t = e.slice(5);
|
|
2157
|
+
for (let e of Yn) if (t.startsWith(`${e}-`) && t.length > e.length + 1) return {
|
|
2158
|
+
type: e,
|
|
2159
|
+
id: t.slice(e.length + 1)
|
|
2160
|
+
};
|
|
2161
|
+
if (!t.startsWith("device-")) return null;
|
|
2162
|
+
let n = t.slice(7), r = Jn.find((e) => n.startsWith(`${e}-`) && n.length > e.length + 1);
|
|
2163
|
+
return r ? {
|
|
2164
|
+
type: "device",
|
|
2165
|
+
kind: r,
|
|
2166
|
+
id: n.slice(r.length + 1)
|
|
2167
|
+
} : null;
|
|
1998
2168
|
}
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
allowed: "#4ade80",
|
|
2002
|
-
refused: "#ff2d55",
|
|
2003
|
-
mismatch: "#fbbf24"
|
|
2004
|
-
}, Fn = 18, In = 4.5;
|
|
2005
|
-
function Ln(e, t) {
|
|
2006
|
-
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";
|
|
2169
|
+
function $n(e) {
|
|
2170
|
+
return e ? typeof e.id == "string" && e.id.startsWith("live-") ? !0 : Yn.includes(e.type) || e.type === "device" && !e.file : !1;
|
|
2007
2171
|
}
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
t && (t.color = r, t.glow = Math.max(t.glow || 0, Fn));
|
|
2017
|
-
} else a && e.edges.forEach((e) => {
|
|
2018
|
-
Ln(e, a) && (e.color = r, e.glowColor = r, e.glow = Math.max(e.glow || 0, Fn), e.width = Math.max(e.width || 0, In), e.packet &&= n.state === "refused" && !n.mismatch ? {
|
|
2019
|
-
...e.packet,
|
|
2020
|
-
color: r,
|
|
2021
|
-
glowColor: r,
|
|
2022
|
-
speed: 0,
|
|
2023
|
-
phase: .5
|
|
2024
|
-
} : {
|
|
2025
|
-
...e.packet,
|
|
2026
|
-
glowColor: r
|
|
2027
|
-
});
|
|
2028
|
-
});
|
|
2172
|
+
var er = ["cloud", "web"], tr = [
|
|
2173
|
+
"run",
|
|
2174
|
+
"deploy",
|
|
2175
|
+
"renew"
|
|
2176
|
+
], nr = ["browser"];
|
|
2177
|
+
function rr(e, t, n) {
|
|
2178
|
+
let r = [], i = n?.type === "external" && (n.kind === void 0 || n.kind === "cloud");
|
|
2179
|
+
return e.when !== void 0 && (tr.includes(e.when) || r.push(`has when "${e.when}". Valid values: ${tr.join(", ")}`), e.kind === "calls" ? i || r.push("has \"when\" but does not go into a cloud node: only an outage of a cloud service is timed.") : r.push("has \"when\", which goes only on a calls edge.")), e.side !== void 0 && (nr.includes(e.side) || r.push(`has side "${e.side}". Valid values: ${nr.join(", ")}`), e.kind === "calls" ? (t?.type !== "app" || n?.type !== "external") && r.push("has \"side\", which goes only on an app -> external calls edge (the visitor's browser makes the call).") : r.push("has \"side\", which goes only on a calls edge.")), r;
|
|
2029
2180
|
}
|
|
2030
2181
|
// ../core/layers.js
|
|
2031
|
-
var
|
|
2182
|
+
var ir = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, ar = Object.freeze([
|
|
2032
2183
|
"key",
|
|
2033
2184
|
"label",
|
|
2034
2185
|
"desc",
|
|
2035
2186
|
"match"
|
|
2036
|
-
]),
|
|
2187
|
+
]), R = Object.freeze([
|
|
2037
2188
|
"type",
|
|
2038
2189
|
"kind",
|
|
2039
2190
|
"parent",
|
|
2040
2191
|
"field"
|
|
2041
|
-
]),
|
|
2192
|
+
]), or = Object.freeze([
|
|
2042
2193
|
"add",
|
|
2043
2194
|
"off",
|
|
2044
2195
|
"order"
|
|
2045
|
-
]),
|
|
2196
|
+
]), sr = /^[A-Za-z][A-Za-z0-9_]*$/, cr = Object.freeze([
|
|
2046
2197
|
"root",
|
|
2047
2198
|
"external",
|
|
2048
2199
|
"floor",
|
|
2049
2200
|
"room"
|
|
2050
|
-
]),
|
|
2201
|
+
]), lr = Object.freeze([
|
|
2051
2202
|
{
|
|
2052
2203
|
key: "app",
|
|
2053
2204
|
label: "Apps",
|
|
@@ -2191,91 +2342,91 @@ var zn = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, Bn = Object.freeze([
|
|
|
2191
2342
|
match: { type: "persona" },
|
|
2192
2343
|
live: !0
|
|
2193
2344
|
}
|
|
2194
|
-
]),
|
|
2195
|
-
|
|
2196
|
-
n ?
|
|
2345
|
+
]), ur = Object.freeze(lr.map((e) => e.key)), dr = new Set(ur), fr = Object.keys(L), z = (e) => typeof e == "object" && !!e && !Array.isArray(e), pr = /* @__PURE__ */ RegExp("[\\u0000-\\u001f\\u007f-\\u009f\\u2028\\u2029]"), B = (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, mr = (e) => typeof e == "string" && e.length > 0 && e.length <= 80 && !pr.test(e) || typeof e == "number" && Number.isFinite(e) || typeof e == "boolean", hr = /^[a-z0-9]+(-[a-z0-9]+)*$/, gr = new Set(fr), _r = (e, t) => gr.has(e) && typeof t == "string" && t.length <= 32 && hr.test(t) ? `--corn-map-kind-${e}-${t}` : null, vr = (e) => typeof e == "string" && e.length <= 32 && ir.test(e) ? `--corn-map-group-${e}` : null, yr = ({ type: e, kind: t, layer: n, group: r }) => [
|
|
2346
|
+
_r(e, t),
|
|
2347
|
+
n ? vr(n) : null,
|
|
2197
2348
|
`--corn-map-node-${e}`,
|
|
2198
2349
|
`--corn-map-group-${r || e}`
|
|
2199
2350
|
].filter(Boolean);
|
|
2200
|
-
function
|
|
2351
|
+
function br(e) {
|
|
2201
2352
|
if (typeof e != "string") return null;
|
|
2202
|
-
if (
|
|
2353
|
+
if (gr.has(e)) return { type: e };
|
|
2203
2354
|
let t = e.indexOf(":");
|
|
2204
2355
|
if (t < 0) return null;
|
|
2205
2356
|
let n = e.slice(0, t), r = e.slice(t + 1);
|
|
2206
|
-
return n === "layer" ?
|
|
2357
|
+
return n === "layer" ? ir.test(r) && r.length <= 32 ? { layer: r } : null : gr.has(n) && hr.test(r) && r.length <= 32 ? {
|
|
2207
2358
|
type: n,
|
|
2208
2359
|
kind: r
|
|
2209
2360
|
} : null;
|
|
2210
2361
|
}
|
|
2211
|
-
function
|
|
2362
|
+
function xr(e, t, n) {
|
|
2212
2363
|
let r = [];
|
|
2213
|
-
return typeof t == "string" &&
|
|
2364
|
+
return typeof t == "string" && hr.test(t) && t.length <= 32 && r.push(`${e}:${t}`), n && r.push(`layer:${n}`), r.push(e), r;
|
|
2214
2365
|
}
|
|
2215
|
-
var
|
|
2216
|
-
function
|
|
2217
|
-
let t =
|
|
2366
|
+
var Sr = /* @__PURE__ */ new WeakMap();
|
|
2367
|
+
function Cr(e) {
|
|
2368
|
+
let t = Sr.get(e);
|
|
2218
2369
|
if (t && t.length === e.length) return t.map;
|
|
2219
2370
|
let n = /* @__PURE__ */ new Map();
|
|
2220
2371
|
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);
|
|
2221
|
-
return
|
|
2372
|
+
return Sr.set(e, {
|
|
2222
2373
|
length: e.length,
|
|
2223
2374
|
map: n
|
|
2224
2375
|
}), n;
|
|
2225
2376
|
}
|
|
2226
|
-
var
|
|
2227
|
-
function
|
|
2228
|
-
if (!
|
|
2377
|
+
var wr = (e, t) => Array.isArray(e) ? e.includes(t) : e === t;
|
|
2378
|
+
function Tr(e, t, n) {
|
|
2379
|
+
if (!z(e)) return !1;
|
|
2229
2380
|
let r = !1;
|
|
2230
|
-
if (e.type !== void 0 && (r = !0, !
|
|
2381
|
+
if (e.type !== void 0 && (r = !0, !wr(e.type, t.type)) || e.kind !== void 0 && (r = !0, !wr(e.kind, t.kind)) || e.parent !== void 0 && (r = !0, !n || !wr(e.parent, n(t)))) return !1;
|
|
2231
2382
|
if (e.field !== void 0) {
|
|
2232
2383
|
r = !0;
|
|
2233
2384
|
for (let n of Object.keys(e.field)) {
|
|
2234
2385
|
if (!Object.hasOwn(t, n)) return !1;
|
|
2235
2386
|
let r = t[n], i = e.field[n];
|
|
2236
|
-
if (!(Array.isArray(r) ? r.some((e) =>
|
|
2387
|
+
if (!(Array.isArray(r) ? r.some((e) => wr(i, e)) : wr(i, r))) return !1;
|
|
2237
2388
|
}
|
|
2238
2389
|
}
|
|
2239
2390
|
return r;
|
|
2240
2391
|
}
|
|
2241
|
-
var
|
|
2242
|
-
function
|
|
2392
|
+
var Er = [...lr.filter((e) => e.match)].sort((e, t) => Number("kind" in t.match) - Number("kind" in e.match));
|
|
2393
|
+
function Dr(e) {
|
|
2243
2394
|
if (e.type === "root") return null;
|
|
2244
2395
|
if (e.type === "external") return e.kind === "web" ? "web" : "cloud";
|
|
2245
|
-
for (let t of
|
|
2396
|
+
for (let t of Er) if (Tr(t.match, e)) return t.key;
|
|
2246
2397
|
return e.type;
|
|
2247
2398
|
}
|
|
2248
|
-
function
|
|
2399
|
+
function Or(e, t, n) {
|
|
2249
2400
|
if (!e || !e.length || t.type === "root") return null;
|
|
2250
|
-
for (let r of e) if (
|
|
2401
|
+
for (let r of e) if (Tr(r.match, t, n)) return r.key;
|
|
2251
2402
|
return null;
|
|
2252
2403
|
}
|
|
2253
|
-
var
|
|
2254
|
-
let t = (Array.isArray(e) ? e : []).map((e) =>
|
|
2255
|
-
return `${
|
|
2404
|
+
var kr = (e, t, n) => Or(e, t, n) || Dr(t), Ar = `${fr.slice(0, 5).join(", ")}, …`, jr = (e) => {
|
|
2405
|
+
let t = (Array.isArray(e) ? e : []).map((e) => z(e) && typeof e.key == "string" ? e.key : null).filter((e) => e && ir.test(e));
|
|
2406
|
+
return `${ur.slice(0, 3).join(", ")}, …${t.length ? `, ${t[t.length - 1]}` : ""}`;
|
|
2256
2407
|
};
|
|
2257
|
-
function
|
|
2408
|
+
function Mr(e, t, n, r) {
|
|
2258
2409
|
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];
|
|
2259
2410
|
}
|
|
2260
|
-
function
|
|
2261
|
-
if (!
|
|
2411
|
+
function Nr(e, t, n) {
|
|
2412
|
+
if (!z(t)) n.push(`${e}.match is { type, kind, parent, field }: say at least one of them.`);
|
|
2262
2413
|
else {
|
|
2263
|
-
for (let r of Object.keys(t))
|
|
2264
|
-
if (!Object.keys(t).some((e) =>
|
|
2414
|
+
for (let r of Object.keys(t)) R.includes(r) || n.push(`${e}.match has unknown key "${r}": known: ${R.join(", ")}. A match is data: no pattern, no function.`);
|
|
2415
|
+
if (!Object.keys(t).some((e) => R.includes(e))) Object.keys(t).length || n.push(`${e}.match is empty: say at least one of ${R.join(", ")}.`);
|
|
2265
2416
|
else {
|
|
2266
|
-
if ("type" in t) for (let r of
|
|
2267
|
-
if ("kind" in t) for (let r of
|
|
2268
|
-
if ("parent" in t) for (let r of
|
|
2417
|
+
if ("type" in t) for (let r of Mr(`${e}.match`, "type", t.type, n)) typeof r == "string" && fr.includes(r) || n.push(`${e}.match.type ${B(r)} is not a node type (${Ar}).`);
|
|
2418
|
+
if ("kind" in t) for (let r of Mr(`${e}.match`, "kind", t.kind, n)) (typeof r != "string" || !r || r.length > 80 || pr.test(r)) && n.push(`${e}.match.kind ${B(r)}: a kind is text, one line, at most 80 characters.`);
|
|
2419
|
+
if ("parent" in t) for (let r of Mr(`${e}.match`, "parent", t.parent, n)) (typeof r != "string" || !r || r.length > 200 || pr.test(r)) && n.push(`${e}.match.parent ${B(r)}: a parent is a node id (text), like "pkg-core".`);
|
|
2269
2420
|
if ("field" in t) {
|
|
2270
2421
|
let r = t.field;
|
|
2271
|
-
if (!
|
|
2422
|
+
if (!z(r)) {
|
|
2272
2423
|
n.push(`${e}.match.field is { name: value }: a node field and the value (or list of values) it must have.`);
|
|
2273
2424
|
return;
|
|
2274
2425
|
}
|
|
2275
2426
|
let i = Object.keys(r);
|
|
2276
2427
|
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.`);
|
|
2277
2428
|
for (let t of i.slice(0, 20)) {
|
|
2278
|
-
if (!
|
|
2429
|
+
if (!sr.test(t) || t.length > 40) {
|
|
2279
2430
|
n.push(`${e}.match.field "${t.slice(0, 40)}": a field name is letters, digits and "_", starting with a letter.`);
|
|
2280
2431
|
continue;
|
|
2281
2432
|
}
|
|
@@ -2288,17 +2439,17 @@ function mr(e, t, n) {
|
|
|
2288
2439
|
continue;
|
|
2289
2440
|
}
|
|
2290
2441
|
let i = Array.isArray(r[t]) ? r[t] : [r[t]];
|
|
2291
|
-
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(
|
|
2442
|
+
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(mr) || n.push(`${e}.match.field.${t}: a value is text, a number, true or false, or a list of them.`);
|
|
2292
2443
|
}
|
|
2293
2444
|
}
|
|
2294
2445
|
}
|
|
2295
2446
|
}
|
|
2296
2447
|
}
|
|
2297
|
-
function
|
|
2448
|
+
function Pr(e) {
|
|
2298
2449
|
if (e === void 0) return [];
|
|
2299
|
-
if (!
|
|
2450
|
+
if (!z(e)) return ["\"layers\" is an object: { add: [{ key, label, match }], off: [keys], order: [keys] }."];
|
|
2300
2451
|
let t = [];
|
|
2301
|
-
for (let n of Object.keys(e))
|
|
2452
|
+
for (let n of Object.keys(e)) or.includes(n) || t.push(`layers has unknown key "${n}": known: ${or.join(", ")}.`);
|
|
2302
2453
|
let n = e.add;
|
|
2303
2454
|
n !== void 0 && !Array.isArray(n) && t.push("layers.add is a list of project layers: [{ key, label, desc?, match }].");
|
|
2304
2455
|
let r = Array.isArray(n) ? n : [];
|
|
@@ -2306,24 +2457,24 @@ function hr(e) {
|
|
|
2306
2457
|
let i = /* @__PURE__ */ new Map();
|
|
2307
2458
|
r.slice(0, 100).forEach((e, n) => {
|
|
2308
2459
|
let r = `layers.add[${n}]`;
|
|
2309
|
-
if (!
|
|
2460
|
+
if (!z(e)) {
|
|
2310
2461
|
t.push(`${r} is { key, label, desc?, match }.`);
|
|
2311
2462
|
return;
|
|
2312
2463
|
}
|
|
2313
2464
|
for (let n of Object.keys(e)) {
|
|
2314
|
-
if (
|
|
2465
|
+
if (ar.includes(n)) continue;
|
|
2315
2466
|
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." : "";
|
|
2316
|
-
t.push(`${r} has unknown key "${n}": known: ${
|
|
2467
|
+
t.push(`${r} has unknown key "${n}": known: ${ar.join(", ")}.${e}`);
|
|
2317
2468
|
}
|
|
2318
2469
|
let a = e.key;
|
|
2319
|
-
typeof a == "string" ?
|
|
2470
|
+
typeof a == "string" ? dr.has(a) ? t.push(`${r}.key ${B(a)} is a starting layer: pick another key.`) : cr.includes(a) ? t.push(`${r}.key ${B(a)} is reserved (a node type): pick another key.`) : !ir.test(a) || a.length > 32 ? t.push(`${r}.key ${B(a)}: lower-case words joined by "-", like "edge-stack"${a.length > 32 ? ", at most 32 characters" : ""}.`) : i.has(a) ? t.push(`${r}.key ${B(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".`);
|
|
2320
2471
|
let o = (n, i, a) => {
|
|
2321
2472
|
let o = e[n];
|
|
2322
|
-
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} ${
|
|
2473
|
+
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} ${B(o)}: plain text, one line, at most ${i} characters.`) : pr.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}.`);
|
|
2323
2474
|
};
|
|
2324
|
-
o("label", 40, !0), o("desc", 120, !1), e.match === void 0 ? t.push(`${r}.match is required: say at least one of ${
|
|
2475
|
+
o("label", 40, !0), o("desc", 120, !1), e.match === void 0 ? t.push(`${r}.match is required: say at least one of ${R.join(", ")}.`) : Nr(r, e.match, t);
|
|
2325
2476
|
});
|
|
2326
|
-
let a = /* @__PURE__ */ new Set([...
|
|
2477
|
+
let a = /* @__PURE__ */ new Set([...ur, ...r.map((e) => z(e) && typeof e.key == "string" ? e.key : null).filter(Boolean)]);
|
|
2327
2478
|
for (let r of ["off", "order"]) {
|
|
2328
2479
|
let i = e[r];
|
|
2329
2480
|
if (i === void 0) continue;
|
|
@@ -2333,18 +2484,18 @@ function hr(e) {
|
|
|
2333
2484
|
}
|
|
2334
2485
|
let o = /* @__PURE__ */ new Set();
|
|
2335
2486
|
i.forEach((e) => {
|
|
2336
|
-
typeof e != "string" || !a.has(e) ? t.push(`layers.${r} ${
|
|
2487
|
+
typeof e != "string" || !a.has(e) ? t.push(`layers.${r} ${B(e)} is not a layer (${jr(n)}).`) : o.has(e) && t.push(`layers.${r} ${B(e)} is listed twice.`), o.add(e);
|
|
2337
2488
|
});
|
|
2338
2489
|
}
|
|
2339
2490
|
return t;
|
|
2340
2491
|
}
|
|
2341
|
-
function
|
|
2492
|
+
function Fr(e) {
|
|
2342
2493
|
let t = {
|
|
2343
2494
|
add: [],
|
|
2344
2495
|
off: [],
|
|
2345
2496
|
order: []
|
|
2346
2497
|
};
|
|
2347
|
-
if (!
|
|
2498
|
+
if (!z(e) || Pr(e).length) return t;
|
|
2348
2499
|
let n = (e) => Array.isArray(e) ? e.slice(0, 20) : e;
|
|
2349
2500
|
return {
|
|
2350
2501
|
add: (e.add || []).map((e) => {
|
|
@@ -2361,7 +2512,7 @@ function gr(e) {
|
|
|
2361
2512
|
order: [...e.order || []]
|
|
2362
2513
|
};
|
|
2363
2514
|
}
|
|
2364
|
-
function
|
|
2515
|
+
function Ir(e, t, n = []) {
|
|
2365
2516
|
let r = [...e, ...t], i = new Map(r.map((e) => [e.key, e])), a = [];
|
|
2366
2517
|
for (let e of n) {
|
|
2367
2518
|
let t = i.get(e);
|
|
@@ -2369,7 +2520,7 @@ function _r(e, t, n = []) {
|
|
|
2369
2520
|
}
|
|
2370
2521
|
return [...a, ...r.filter((e) => !a.includes(e))];
|
|
2371
2522
|
}
|
|
2372
|
-
function
|
|
2523
|
+
function Lr(e) {
|
|
2373
2524
|
let t = /* @__PURE__ */ new Map();
|
|
2374
2525
|
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));
|
|
2375
2526
|
let n = /* @__PURE__ */ new Map();
|
|
@@ -2383,571 +2534,474 @@ function vr(e) {
|
|
|
2383
2534
|
return n;
|
|
2384
2535
|
}
|
|
2385
2536
|
// ../explorer/layer-model.js
|
|
2386
|
-
var
|
|
2387
|
-
function
|
|
2537
|
+
var Rr = (e) => (e.projectLayers || []).some((e) => e.match && e.match.parent !== void 0) ? (t) => Cr(e.edges || []).get(t.id) : void 0;
|
|
2538
|
+
function zr(e, t) {
|
|
2388
2539
|
let n = e.projectLayers;
|
|
2389
|
-
return !n || !n.length ? null :
|
|
2540
|
+
return !n || !n.length ? null : Or(n, t, Rr(e));
|
|
2390
2541
|
}
|
|
2391
|
-
var
|
|
2392
|
-
function
|
|
2393
|
-
let t = e.edges || [], n =
|
|
2542
|
+
var Br = (e, t) => kr(e.projectLayers || [], t, Rr(e)), Vr = /* @__PURE__ */ new WeakMap();
|
|
2543
|
+
function Hr(e) {
|
|
2544
|
+
let t = e.edges || [], n = Vr.get(e.nodes);
|
|
2394
2545
|
if (n && n.edges === t && n.n === e.nodes.length && n.e === t.length) return n.touched;
|
|
2395
|
-
let r =
|
|
2396
|
-
return
|
|
2546
|
+
let r = qt(e.nodes, t).touched;
|
|
2547
|
+
return Vr.set(e.nodes, {
|
|
2397
2548
|
edges: t,
|
|
2398
2549
|
n: e.nodes.length,
|
|
2399
2550
|
e: t.length,
|
|
2400
2551
|
touched: r
|
|
2401
2552
|
}), r;
|
|
2402
2553
|
}
|
|
2403
|
-
var
|
|
2404
|
-
function
|
|
2554
|
+
var Ur = (e, t) => !!e.proposal && Hr(e).has(t.id), Wr = /* @__PURE__ */ new WeakMap();
|
|
2555
|
+
function Gr(e, t) {
|
|
2405
2556
|
if (typeof t.kind != "string" || !t.kind || t.type === "external") return "";
|
|
2406
|
-
let n =
|
|
2557
|
+
let n = Wr.get(e.nodes);
|
|
2407
2558
|
n && n.n === e.nodes.length || (n = {
|
|
2408
2559
|
n: e.nodes.length,
|
|
2409
|
-
map:
|
|
2410
|
-
},
|
|
2560
|
+
map: Lr(e.nodes)
|
|
2561
|
+
}, Wr.set(e.nodes, n));
|
|
2411
2562
|
let r = n.map.get(t.type);
|
|
2412
2563
|
return r && r.get(t.kind) || "";
|
|
2413
2564
|
}
|
|
2414
|
-
var
|
|
2565
|
+
var Kr = Object.freeze({
|
|
2415
2566
|
core: ["pkg"],
|
|
2416
2567
|
store: ["flow"],
|
|
2417
2568
|
rom: ["flow"]
|
|
2418
|
-
}),
|
|
2419
|
-
function
|
|
2420
|
-
let { touched: i } =
|
|
2569
|
+
}), qr = (e) => !!e && !!e.mark && e.mark !== "none";
|
|
2570
|
+
function Jr({ nodes: e, edges: t, rowOf: n, flight: r = null }) {
|
|
2571
|
+
let { touched: i } = qt(e, t), a = /* @__PURE__ */ new Set();
|
|
2421
2572
|
for (let t of e) {
|
|
2422
2573
|
if (!i.has(t.id)) continue;
|
|
2423
2574
|
let e = n(t);
|
|
2424
2575
|
if (e) {
|
|
2425
2576
|
a.add(e);
|
|
2426
|
-
for (let t of
|
|
2577
|
+
for (let t of Kr[e] || []) a.add(t);
|
|
2427
2578
|
}
|
|
2428
2579
|
r && r.has(t.id) && a.add("runs");
|
|
2429
2580
|
}
|
|
2430
|
-
for (let e of t)
|
|
2581
|
+
for (let e of t) qr(e) && e.kind === "flow" && a.add("flow");
|
|
2431
2582
|
return a;
|
|
2432
2583
|
}
|
|
2433
|
-
function
|
|
2584
|
+
function Yr({ active: e, touched: t, universe: n, review: r }) {
|
|
2434
2585
|
let i = { ...e };
|
|
2435
2586
|
if (!r.whole && t.size) for (let e of n) i[e] = t.has(e);
|
|
2436
2587
|
return Object.assign(i, r.manual || {}, r.step || {}), i;
|
|
2437
2588
|
}
|
|
2438
|
-
var
|
|
2439
|
-
function
|
|
2440
|
-
let t = e.nodes, n = e.edges || [], r = e.runsMap ? e.runsMap.flight : null, i =
|
|
2589
|
+
var Xr = /* @__PURE__ */ new WeakMap();
|
|
2590
|
+
function Zr(e) {
|
|
2591
|
+
let t = e.nodes, n = e.edges || [], r = e.runsMap ? e.runsMap.flight : null, i = Xr.get(t);
|
|
2441
2592
|
if (i && i.edges === n && i.n === t.length && i.e === n.length && i.flight === r && i.project === e.projectLayers) return i;
|
|
2442
|
-
let a =
|
|
2593
|
+
let a = Jr({
|
|
2443
2594
|
nodes: t,
|
|
2444
|
-
edges: n,
|
|
2445
|
-
rowOf: (t) =>
|
|
2446
|
-
flight: r
|
|
2447
|
-
}), o = /* @__PURE__ */ new Set([
|
|
2448
|
-
...
|
|
2449
|
-
...(e.projectLayers || []).map((e) => e.key),
|
|
2450
|
-
...t.map((t) =>
|
|
2451
|
-
]), s = {
|
|
2452
|
-
edges: n,
|
|
2453
|
-
n: t.length,
|
|
2454
|
-
e: n.length,
|
|
2455
|
-
flight: r,
|
|
2456
|
-
project: e.projectLayers,
|
|
2457
|
-
touched: a,
|
|
2458
|
-
universe: o
|
|
2459
|
-
};
|
|
2460
|
-
return
|
|
2461
|
-
}
|
|
2462
|
-
var Nr = /* @__PURE__ */ new WeakMap();
|
|
2463
|
-
function z(e) {
|
|
2464
|
-
let t = e.review;
|
|
2465
|
-
if (!t || !e.proposal) return e.activeLayers;
|
|
2466
|
-
let n = Nr.get(t);
|
|
2467
|
-
if (n && n.rev === t.rev && n.version === e.sceneVersion && n.active === e.activeLayers && n.nodes === e.nodes) return n.out;
|
|
2468
|
-
let { touched: r, universe: i } = Mr(e), a = Ar({
|
|
2469
|
-
active: e.activeLayers,
|
|
2470
|
-
touched: r,
|
|
2471
|
-
universe: i,
|
|
2472
|
-
review: t
|
|
2473
|
-
});
|
|
2474
|
-
return Nr.set(t, {
|
|
2475
|
-
rev: t.rev,
|
|
2476
|
-
version: e.sceneVersion,
|
|
2477
|
-
active: e.activeLayers,
|
|
2478
|
-
nodes: e.nodes,
|
|
2479
|
-
out: a
|
|
2480
|
-
}), a;
|
|
2481
|
-
}
|
|
2482
|
-
var Pr = (e, t) => z(e)[t] !== !1;
|
|
2483
|
-
function Fr(e, t) {
|
|
2484
|
-
let n = e.review;
|
|
2485
|
-
return !n || !e.proposal || n.whole || e.activeLayers[t] === !1 || Object.hasOwn(n.manual || {}, t) || Object.hasOwn(n.step || {}, t) ? !1 : z(e)[t] === !1;
|
|
2486
|
-
}
|
|
2487
|
-
var Ir = (e) => !!e.review && !!e.proposal && !e.review.whole && Cr(e).size > 0, Lr = Object.freeze({
|
|
2488
|
-
aliceblue: "#f0f8ff",
|
|
2489
|
-
antiquewhite: "#faebd7",
|
|
2490
|
-
aqua: "#00ffff",
|
|
2491
|
-
aquamarine: "#7fffd4",
|
|
2492
|
-
azure: "#f0ffff",
|
|
2493
|
-
beige: "#f5f5dc",
|
|
2494
|
-
bisque: "#ffe4c4",
|
|
2495
|
-
black: "#000000",
|
|
2496
|
-
blanchedalmond: "#ffebcd",
|
|
2497
|
-
blue: "#0000ff",
|
|
2498
|
-
blueviolet: "#8a2be2",
|
|
2499
|
-
brown: "#a52a2a",
|
|
2500
|
-
burlywood: "#deb887",
|
|
2501
|
-
cadetblue: "#5f9ea0",
|
|
2502
|
-
chartreuse: "#7fff00",
|
|
2503
|
-
chocolate: "#d2691e",
|
|
2504
|
-
coral: "#ff7f50",
|
|
2505
|
-
cornflowerblue: "#6495ed",
|
|
2506
|
-
cornsilk: "#fff8dc",
|
|
2507
|
-
crimson: "#dc143c",
|
|
2508
|
-
cyan: "#00ffff",
|
|
2509
|
-
darkblue: "#00008b",
|
|
2510
|
-
darkcyan: "#008b8b",
|
|
2511
|
-
darkgoldenrod: "#b8860b",
|
|
2512
|
-
darkgray: "#a9a9a9",
|
|
2513
|
-
darkgreen: "#006400",
|
|
2514
|
-
darkgrey: "#a9a9a9",
|
|
2515
|
-
darkkhaki: "#bdb76b",
|
|
2516
|
-
darkmagenta: "#8b008b",
|
|
2517
|
-
darkolivegreen: "#556b2f",
|
|
2518
|
-
darkorange: "#ff8c00",
|
|
2519
|
-
darkorchid: "#9932cc",
|
|
2520
|
-
darkred: "#8b0000",
|
|
2521
|
-
darksalmon: "#e9967a",
|
|
2522
|
-
darkseagreen: "#8fbc8f",
|
|
2523
|
-
darkslateblue: "#483d8b",
|
|
2524
|
-
darkslategray: "#2f4f4f",
|
|
2525
|
-
darkslategrey: "#2f4f4f",
|
|
2526
|
-
darkturquoise: "#00ced1",
|
|
2527
|
-
darkviolet: "#9400d3",
|
|
2528
|
-
deeppink: "#ff1493",
|
|
2529
|
-
deepskyblue: "#00bfff",
|
|
2530
|
-
dimgray: "#696969",
|
|
2531
|
-
dimgrey: "#696969",
|
|
2532
|
-
dodgerblue: "#1e90ff",
|
|
2533
|
-
firebrick: "#b22222",
|
|
2534
|
-
floralwhite: "#fffaf0",
|
|
2535
|
-
forestgreen: "#228b22",
|
|
2536
|
-
fuchsia: "#ff00ff",
|
|
2537
|
-
gainsboro: "#dcdcdc",
|
|
2538
|
-
ghostwhite: "#f8f8ff",
|
|
2539
|
-
gold: "#ffd700",
|
|
2540
|
-
goldenrod: "#daa520",
|
|
2541
|
-
gray: "#808080",
|
|
2542
|
-
green: "#008000",
|
|
2543
|
-
greenyellow: "#adff2f",
|
|
2544
|
-
grey: "#808080",
|
|
2545
|
-
honeydew: "#f0fff0",
|
|
2546
|
-
hotpink: "#ff69b4",
|
|
2547
|
-
indianred: "#cd5c5c",
|
|
2548
|
-
indigo: "#4b0082",
|
|
2549
|
-
ivory: "#fffff0",
|
|
2550
|
-
khaki: "#f0e68c",
|
|
2551
|
-
lavender: "#e6e6fa",
|
|
2552
|
-
lavenderblush: "#fff0f5",
|
|
2553
|
-
lawngreen: "#7cfc00",
|
|
2554
|
-
lemonchiffon: "#fffacd",
|
|
2555
|
-
lightblue: "#add8e6",
|
|
2556
|
-
lightcoral: "#f08080",
|
|
2557
|
-
lightcyan: "#e0ffff",
|
|
2558
|
-
lightgoldenrodyellow: "#fafad2",
|
|
2559
|
-
lightgray: "#d3d3d3",
|
|
2560
|
-
lightgreen: "#90ee90",
|
|
2561
|
-
lightgrey: "#d3d3d3",
|
|
2562
|
-
lightpink: "#ffb6c1",
|
|
2563
|
-
lightsalmon: "#ffa07a",
|
|
2564
|
-
lightseagreen: "#20b2aa",
|
|
2565
|
-
lightskyblue: "#87cefa",
|
|
2566
|
-
lightslategray: "#778899",
|
|
2567
|
-
lightslategrey: "#778899",
|
|
2568
|
-
lightsteelblue: "#b0c4de",
|
|
2569
|
-
lightyellow: "#ffffe0",
|
|
2570
|
-
lime: "#00ff00",
|
|
2571
|
-
limegreen: "#32cd32",
|
|
2572
|
-
linen: "#faf0e6",
|
|
2573
|
-
magenta: "#ff00ff",
|
|
2574
|
-
maroon: "#800000",
|
|
2575
|
-
mediumaquamarine: "#66cdaa",
|
|
2576
|
-
mediumblue: "#0000cd",
|
|
2577
|
-
mediumorchid: "#ba55d3",
|
|
2578
|
-
mediumpurple: "#9370db",
|
|
2579
|
-
mediumseagreen: "#3cb371",
|
|
2580
|
-
mediumslateblue: "#7b68ee",
|
|
2581
|
-
mediumspringgreen: "#00fa9a",
|
|
2582
|
-
mediumturquoise: "#48d1cc",
|
|
2583
|
-
mediumvioletred: "#c71585",
|
|
2584
|
-
midnightblue: "#191970",
|
|
2585
|
-
mintcream: "#f5fffa",
|
|
2586
|
-
mistyrose: "#ffe4e1",
|
|
2587
|
-
moccasin: "#ffe4b5",
|
|
2588
|
-
navajowhite: "#ffdead",
|
|
2589
|
-
navy: "#000080",
|
|
2590
|
-
oldlace: "#fdf5e6",
|
|
2591
|
-
olive: "#808000",
|
|
2592
|
-
olivedrab: "#6b8e23",
|
|
2593
|
-
orange: "#ffa500",
|
|
2594
|
-
orangered: "#ff4500",
|
|
2595
|
-
orchid: "#da70d6",
|
|
2596
|
-
palegoldenrod: "#eee8aa",
|
|
2597
|
-
palegreen: "#98fb98",
|
|
2598
|
-
paleturquoise: "#afeeee",
|
|
2599
|
-
palevioletred: "#db7093",
|
|
2600
|
-
papayawhip: "#ffefd5",
|
|
2601
|
-
peachpuff: "#ffdab9",
|
|
2602
|
-
peru: "#cd853f",
|
|
2603
|
-
pink: "#ffc0cb",
|
|
2604
|
-
plum: "#dda0dd",
|
|
2605
|
-
powderblue: "#b0e0e6",
|
|
2606
|
-
purple: "#800080",
|
|
2607
|
-
rebeccapurple: "#663399",
|
|
2608
|
-
red: "#ff0000",
|
|
2609
|
-
rosybrown: "#bc8f8f",
|
|
2610
|
-
royalblue: "#4169e1",
|
|
2611
|
-
saddlebrown: "#8b4513",
|
|
2612
|
-
salmon: "#fa8072",
|
|
2613
|
-
sandybrown: "#f4a460",
|
|
2614
|
-
seagreen: "#2e8b57",
|
|
2615
|
-
seashell: "#fff5ee",
|
|
2616
|
-
sienna: "#a0522d",
|
|
2617
|
-
silver: "#c0c0c0",
|
|
2618
|
-
skyblue: "#87ceeb",
|
|
2619
|
-
slateblue: "#6a5acd",
|
|
2620
|
-
slategray: "#708090",
|
|
2621
|
-
slategrey: "#708090",
|
|
2622
|
-
snow: "#fffafa",
|
|
2623
|
-
springgreen: "#00ff7f",
|
|
2624
|
-
steelblue: "#4682b4",
|
|
2625
|
-
tan: "#d2b48c",
|
|
2626
|
-
teal: "#008080",
|
|
2627
|
-
thistle: "#d8bfd8",
|
|
2628
|
-
tomato: "#ff6347",
|
|
2629
|
-
turquoise: "#40e0d0",
|
|
2630
|
-
violet: "#ee82ee",
|
|
2631
|
-
wheat: "#f5deb3",
|
|
2632
|
-
white: "#ffffff",
|
|
2633
|
-
whitesmoke: "#f5f5f5",
|
|
2634
|
-
yellow: "#ffff00",
|
|
2635
|
-
yellowgreen: "#9acd32"
|
|
2636
|
-
}), Rr = "[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?", zr = (e, t, n) => Math.min(n, Math.max(t, e));
|
|
2637
|
-
function Br(e, t) {
|
|
2638
|
-
let n = RegExp(`^${t}\\(`, "i").exec(e);
|
|
2639
|
-
if (!n || !e.endsWith(")")) return null;
|
|
2640
|
-
let r = 0;
|
|
2641
|
-
for (let t = n[0].length - 1; t < e.length; t++) if (e[t] === "(") r++;
|
|
2642
|
-
else if (e[t] === ")" && --r === 0 && t !== e.length - 1) return null;
|
|
2643
|
-
return r === 0 ? e.slice(n[0].length, -1) : null;
|
|
2644
|
-
}
|
|
2645
|
-
function Vr(e, t) {
|
|
2646
|
-
let n = [], r = 0, i = 0;
|
|
2647
|
-
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);
|
|
2648
|
-
return n.push(e.slice(i)), n;
|
|
2595
|
+
edges: n,
|
|
2596
|
+
rowOf: (t) => Br(e, t),
|
|
2597
|
+
flight: r
|
|
2598
|
+
}), o = /* @__PURE__ */ new Set([
|
|
2599
|
+
...lr.map((e) => e.key),
|
|
2600
|
+
...(e.projectLayers || []).map((e) => e.key),
|
|
2601
|
+
...t.map((t) => Br(e, t)).filter(Boolean)
|
|
2602
|
+
]), s = {
|
|
2603
|
+
edges: n,
|
|
2604
|
+
n: t.length,
|
|
2605
|
+
e: n.length,
|
|
2606
|
+
flight: r,
|
|
2607
|
+
project: e.projectLayers,
|
|
2608
|
+
touched: a,
|
|
2609
|
+
universe: o
|
|
2610
|
+
};
|
|
2611
|
+
return Xr.set(t, s), s;
|
|
2649
2612
|
}
|
|
2650
|
-
var
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
let
|
|
2655
|
-
|
|
2656
|
-
})(
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2613
|
+
var Qr = /* @__PURE__ */ new WeakMap();
|
|
2614
|
+
function V(e) {
|
|
2615
|
+
let t = e.review;
|
|
2616
|
+
if (!t || !e.proposal) return e.activeLayers;
|
|
2617
|
+
let n = Qr.get(t);
|
|
2618
|
+
if (n && n.rev === t.rev && n.version === e.sceneVersion && n.active === e.activeLayers && n.nodes === e.nodes) return n.out;
|
|
2619
|
+
let { touched: r, universe: i } = Zr(e), a = Yr({
|
|
2620
|
+
active: e.activeLayers,
|
|
2621
|
+
touched: r,
|
|
2622
|
+
universe: i,
|
|
2623
|
+
review: t
|
|
2624
|
+
});
|
|
2625
|
+
return Qr.set(t, {
|
|
2626
|
+
rev: t.rev,
|
|
2627
|
+
version: e.sceneVersion,
|
|
2628
|
+
active: e.activeLayers,
|
|
2629
|
+
nodes: e.nodes,
|
|
2630
|
+
out: a
|
|
2631
|
+
}), a;
|
|
2664
2632
|
}
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
return (e.length === 3 || e.length === 4) && e.every((e) => e && !/[\s/]/.test(e)) ? e : null;
|
|
2670
|
-
}
|
|
2671
|
-
let n = /^(\S+)\s+(\S+)\s+([^\s/]+)(?:\s*\/\s*(\S+))?$/.exec(t);
|
|
2672
|
-
return n && !n.slice(1, 4).some((e) => e.includes("/")) ? n.slice(1, n[4] === void 0 ? 4 : 5) : null;
|
|
2633
|
+
var $r = (e, t) => V(e)[t] !== !1;
|
|
2634
|
+
function ei(e, t) {
|
|
2635
|
+
let n = e.review;
|
|
2636
|
+
return !n || !e.proposal || n.whole || e.activeLayers[t] === !1 || Object.hasOwn(n.manual || {}, t) || Object.hasOwn(n.step || {}, t) ? !1 : V(e)[t] === !1;
|
|
2673
2637
|
}
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2638
|
+
var ti = (e) => !!e.review && !!e.proposal && !e.review.whole && Hr(e).size > 0, ni = {
|
|
2639
|
+
outbox: {
|
|
2640
|
+
color: "#f59e0b",
|
|
2641
|
+
label: "Outbox → API (writes)"
|
|
2642
|
+
},
|
|
2643
|
+
changes: {
|
|
2644
|
+
color: "#22d3ee",
|
|
2645
|
+
label: "Change stream (reads back)"
|
|
2646
|
+
},
|
|
2647
|
+
trigger: {
|
|
2648
|
+
color: "#a3e635",
|
|
2649
|
+
label: "Trigger → audit_log (seq)"
|
|
2650
|
+
},
|
|
2651
|
+
sync: {
|
|
2652
|
+
color: "#fb7185",
|
|
2653
|
+
label: "Background sync (external)"
|
|
2654
|
+
},
|
|
2655
|
+
model: {
|
|
2656
|
+
color: "#c084fc",
|
|
2657
|
+
label: "Model classes feed a tier"
|
|
2658
|
+
},
|
|
2659
|
+
rom: {
|
|
2660
|
+
color: "#f0abfc",
|
|
2661
|
+
label: "ROM: change → re-bake → serve"
|
|
2662
|
+
},
|
|
2663
|
+
read: {
|
|
2664
|
+
color: "#93c5fd",
|
|
2665
|
+
label: "Server reads rows over HTTP"
|
|
2666
|
+
},
|
|
2667
|
+
api: {
|
|
2668
|
+
color: "#38bdf8",
|
|
2669
|
+
label: "App calls the API (derived from its code)"
|
|
2670
|
+
},
|
|
2671
|
+
build: {
|
|
2672
|
+
color: "#d6d3d1",
|
|
2673
|
+
label: "Build script writes files"
|
|
2674
|
+
},
|
|
2675
|
+
reads: {
|
|
2676
|
+
color: "#fde047",
|
|
2677
|
+
label: "Table → page (render reads)"
|
|
2678
|
+
},
|
|
2679
|
+
writes: {
|
|
2680
|
+
color: "#f87171",
|
|
2681
|
+
label: "Page → table (form / action)"
|
|
2682
|
+
},
|
|
2683
|
+
uses: {
|
|
2684
|
+
color: "#f472b6",
|
|
2685
|
+
label: "Stylesheet uses design tokens"
|
|
2686
|
+
},
|
|
2687
|
+
extends: {
|
|
2688
|
+
color: "#5eead4",
|
|
2689
|
+
label: "Component extends a base class"
|
|
2690
|
+
},
|
|
2691
|
+
calls: {
|
|
2692
|
+
color: "#fb7185",
|
|
2693
|
+
label: "Calls (service → service, outside system)"
|
|
2694
|
+
},
|
|
2695
|
+
triggers: {
|
|
2696
|
+
color: "#a3e635",
|
|
2697
|
+
label: "Triggers (cron, webhook, store change)"
|
|
2698
|
+
},
|
|
2699
|
+
delivers: {
|
|
2700
|
+
color: "#94a3b8",
|
|
2701
|
+
label: "Outside system → webhook endpoint"
|
|
2702
|
+
},
|
|
2703
|
+
"runs-on": {
|
|
2704
|
+
color: "#a8a29e",
|
|
2705
|
+
label: "App → the stack that serves its domain"
|
|
2692
2706
|
}
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2707
|
+
}, ri = (e) => ni[e.kind === "flow" ? e.flow : e.kind] || ni.sync, H = {
|
|
2708
|
+
run: {
|
|
2709
|
+
title: "Breaks now",
|
|
2710
|
+
legend: "No tick: breaks as soon as it is down",
|
|
2711
|
+
ticks: 0,
|
|
2712
|
+
color: "#f87171"
|
|
2713
|
+
},
|
|
2714
|
+
deploy: {
|
|
2715
|
+
title: "Breaks at the next deploy",
|
|
2716
|
+
legend: "One tick: breaks at the next deploy, rebuild or first run",
|
|
2717
|
+
ticks: 1,
|
|
2718
|
+
color: "#fbbf24"
|
|
2719
|
+
},
|
|
2720
|
+
renew: {
|
|
2721
|
+
title: "Breaks at the next certificate renewal",
|
|
2722
|
+
legend: "Two ticks: breaks at the next certificate renewal",
|
|
2723
|
+
ticks: 2,
|
|
2724
|
+
color: "#a78bfa"
|
|
2701
2725
|
}
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2726
|
+
}, ii = (e) => e && Object.hasOwn(H, e.when) ? e.when : "run", ai = (e) => e && e.kind === "calls" ? H[ii(e)].ticks : 0, oi = (e) => e && e.kind === "web" ? "web" : "cloud", si = Object.keys(H), ci = Object.fromEntries(si.map((e, t) => [e, t])), li = /* @__PURE__ */ new Set([
|
|
2727
|
+
"persona",
|
|
2728
|
+
"room",
|
|
2729
|
+
"floor"
|
|
2730
|
+
]), ui = [
|
|
2731
|
+
"external",
|
|
2732
|
+
"machine",
|
|
2733
|
+
"container",
|
|
2734
|
+
"service",
|
|
2735
|
+
"page",
|
|
2736
|
+
"app"
|
|
2737
|
+
], di = (e) => {
|
|
2738
|
+
let t = ui.indexOf(e);
|
|
2739
|
+
return t < 0 ? ui.length : t;
|
|
2740
|
+
}, fi = {
|
|
2741
|
+
color: "#050608",
|
|
2742
|
+
halo: "child"
|
|
2743
|
+
}, pi = {
|
|
2744
|
+
alpha: .92,
|
|
2745
|
+
glow: 10,
|
|
2746
|
+
edgeAlpha: .9,
|
|
2747
|
+
edgeWidth: 2.2
|
|
2748
|
+
}, mi = (e, t) => `${e}->${t}`;
|
|
2749
|
+
function hi(e, t, n) {
|
|
2750
|
+
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) => {
|
|
2751
|
+
o.has(e) || o.set(e, []), o.get(e).push(t);
|
|
2752
|
+
}, c = /* @__PURE__ */ new Map();
|
|
2753
|
+
for (let e of n) if (e && e.from && e.to) {
|
|
2754
|
+
if (e.kind === "calls") s(e.to, {
|
|
2755
|
+
from: e.from,
|
|
2756
|
+
rank: ci[ii(e)],
|
|
2757
|
+
browser: e.side === "browser",
|
|
2758
|
+
key: mi(e.from, e.to)
|
|
2759
|
+
});
|
|
2760
|
+
else if (e.kind === "triggers" && (r.get(e.from) || {}).type === "page" && (r.get(e.to) || {}).type === "service") s(e.to, {
|
|
2761
|
+
from: e.from,
|
|
2762
|
+
rank: 0,
|
|
2763
|
+
browser: !1,
|
|
2764
|
+
key: mi(e.from, e.to)
|
|
2765
|
+
});
|
|
2766
|
+
else if (e.kind === "runs-on" && Array.isArray(e.mappings)) for (let t of e.mappings) {
|
|
2767
|
+
if (!t || !t.service) continue;
|
|
2768
|
+
let n = `${e.to}|${t.service}`;
|
|
2769
|
+
c.has(n) || c.set(n, /* @__PURE__ */ new Set()), c.get(n).add(e.from);
|
|
2770
|
+
}
|
|
2708
2771
|
}
|
|
2709
|
-
let
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2772
|
+
let l = (e) => {
|
|
2773
|
+
let t = o.get(e) || [], n = r.get(e);
|
|
2774
|
+
if (!n || n.type !== "container" || !n.stack || !n.service) return t;
|
|
2775
|
+
let i = [...c.get(`stack-${n.stack}|${n.service}`) || []].map((e) => ({
|
|
2776
|
+
from: e,
|
|
2777
|
+
rank: 0,
|
|
2778
|
+
browser: !1,
|
|
2779
|
+
key: null
|
|
2780
|
+
}));
|
|
2781
|
+
return i.length ? [...t, ...i] : t;
|
|
2782
|
+
}, u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), f = si.map(() => []);
|
|
2783
|
+
i.forEach((e) => f[0].push({
|
|
2784
|
+
id: e,
|
|
2785
|
+
rank: 0,
|
|
2786
|
+
browser: !1
|
|
2787
|
+
}));
|
|
2788
|
+
for (let e = 0; e < f.length; e++) for (let t = 0; t < f[e].length; t++) {
|
|
2789
|
+
let { id: n, rank: i, browser: o } = f[e][t], s = u.get(n);
|
|
2790
|
+
if (!(s && (s.rank < i || s.rank === i && s.browser !== o))) for (let e of l(n)) {
|
|
2791
|
+
let t = r.get(e.from);
|
|
2792
|
+
if (!t || a.has(e.from) || li.has(t.type)) continue;
|
|
2793
|
+
let n = Math.max(i, e.rank), s = o || e.browser;
|
|
2794
|
+
e.key && (!d.has(e.key) || ci[d.get(e.key)] > n) && d.set(e.key, si[n]);
|
|
2795
|
+
let c = u.get(e.from);
|
|
2796
|
+
c && (c.rank < n || c.rank === n && (!c.browser || s)) || (u.set(e.from, {
|
|
2797
|
+
rank: n,
|
|
2798
|
+
when: si[n],
|
|
2799
|
+
browser: s
|
|
2800
|
+
}), f[n].push({
|
|
2801
|
+
id: e.from,
|
|
2802
|
+
rank: n,
|
|
2803
|
+
browser: s
|
|
2804
|
+
}));
|
|
2805
|
+
}
|
|
2715
2806
|
}
|
|
2716
|
-
let
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2807
|
+
let p = new Map([...u].map(([e, t]) => [e, {
|
|
2808
|
+
when: t.when,
|
|
2809
|
+
browser: t.browser
|
|
2810
|
+
}])), m = (e) => String(r.get(e).label || e);
|
|
2811
|
+
return {
|
|
2812
|
+
down: i,
|
|
2813
|
+
hits: p,
|
|
2814
|
+
edges: d,
|
|
2815
|
+
groups: si.map((e) => {
|
|
2816
|
+
let t = [...p].filter(([, t]) => t.when === e).map(([e]) => e).sort((e, t) => di(r.get(e).type) - di(r.get(t).type) || m(e).localeCompare(m(t))), { title: n, color: i } = H[e];
|
|
2817
|
+
return {
|
|
2818
|
+
when: e,
|
|
2819
|
+
title: n,
|
|
2820
|
+
color: i,
|
|
2821
|
+
ids: t
|
|
2725
2822
|
};
|
|
2726
|
-
}
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2823
|
+
}).filter((e) => e.ids.length)
|
|
2824
|
+
};
|
|
2825
|
+
}
|
|
2826
|
+
var U = null;
|
|
2827
|
+
function gi(e, t, n) {
|
|
2828
|
+
let r = e && Array.isArray(e.down) ? e.down : [];
|
|
2829
|
+
if (!r.length) return null;
|
|
2830
|
+
let i = r.join("\0");
|
|
2831
|
+
return U && U.key === i && U.nodes === t && U.edges === n || (U = {
|
|
2832
|
+
key: i,
|
|
2833
|
+
nodes: t,
|
|
2834
|
+
edges: n,
|
|
2835
|
+
radius: hi(r, t, n)
|
|
2836
|
+
}), U.radius;
|
|
2837
|
+
}
|
|
2838
|
+
function _i(e, t) {
|
|
2839
|
+
if (!t) return;
|
|
2840
|
+
let n = new Set(t.down);
|
|
2841
|
+
for (let r of e.nodes) {
|
|
2842
|
+
if (n.has(r.id)) {
|
|
2843
|
+
Object.assign(r, {
|
|
2844
|
+
color: fi.color,
|
|
2845
|
+
alpha: 1,
|
|
2846
|
+
labelAlpha: 1,
|
|
2847
|
+
labelColor: "#f8fafc",
|
|
2848
|
+
labelKeep: !0,
|
|
2849
|
+
labelStrike: !0,
|
|
2850
|
+
connected: !0,
|
|
2851
|
+
glow: 0
|
|
2852
|
+
}), r.halo === "none" && (r.halo = fi.halo);
|
|
2853
|
+
continue;
|
|
2854
|
+
}
|
|
2855
|
+
let e = t.hits.get(r.id);
|
|
2856
|
+
if (!e) continue;
|
|
2857
|
+
let i = Math.max(r.alpha, pi.alpha);
|
|
2858
|
+
Object.assign(r, {
|
|
2859
|
+
color: H[e.when].color,
|
|
2860
|
+
alpha: i,
|
|
2861
|
+
labelAlpha: i,
|
|
2862
|
+
labelColor: "#f8fafc",
|
|
2863
|
+
labelKeep: !0,
|
|
2864
|
+
connected: !0,
|
|
2865
|
+
glow: Math.max(r.glow || 0, pi.glow)
|
|
2866
|
+
});
|
|
2730
2867
|
}
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2868
|
+
for (let n of e.edges) {
|
|
2869
|
+
let e = t.edges.get(mi(n.from, n.to));
|
|
2870
|
+
if (!e) continue;
|
|
2871
|
+
let r = H[e].color;
|
|
2872
|
+
n.color = r, n.glow && (n.glowColor = r), n.alpha = Math.max(n.alpha, pi.edgeAlpha), n.width = Math.max(n.width, pi.edgeWidth), n.packet &&= {
|
|
2873
|
+
...n.packet,
|
|
2874
|
+
glowColor: r
|
|
2875
|
+
};
|
|
2739
2876
|
}
|
|
2740
2877
|
}
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
function Jr(e, t, n, r) {
|
|
2750
|
-
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;
|
|
2751
|
-
return [
|
|
2752
|
-
c(0),
|
|
2753
|
-
c(1),
|
|
2754
|
-
c(2),
|
|
2755
|
-
s * Math.min(1, i)
|
|
2756
|
-
];
|
|
2757
|
-
}
|
|
2758
|
-
function Yr(e, t) {
|
|
2759
|
-
let n = e[3];
|
|
2760
|
-
return [
|
|
2761
|
-
0,
|
|
2762
|
-
1,
|
|
2763
|
-
2
|
|
2764
|
-
].map((r) => Math.round(e[r] * n + t[r] * (1 - n))).concat(1);
|
|
2878
|
+
// ../explorer/house-model.js
|
|
2879
|
+
var vi = /* @__PURE__ */ new Set([
|
|
2880
|
+
"container",
|
|
2881
|
+
"stack",
|
|
2882
|
+
"machine"
|
|
2883
|
+
]);
|
|
2884
|
+
function yi(e, t) {
|
|
2885
|
+
return !!(e.house && e.house.shown && e.house.shown.has(t.id));
|
|
2765
2886
|
}
|
|
2766
|
-
var
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
edit: "#b49cfb"
|
|
2775
|
-
}),
|
|
2776
|
-
light: Object.freeze({
|
|
2777
|
-
added: "#197c6f",
|
|
2778
|
-
changed: "#8f6703",
|
|
2779
|
-
removed: "#e20b0b",
|
|
2780
|
-
edit: "#6839f6"
|
|
2781
|
-
})
|
|
2782
|
-
}), $r = .85, ei = .9, ti = .6, ni = .45, ri = Object.freeze({
|
|
2783
|
-
light: ti,
|
|
2784
|
-
dark: .5
|
|
2785
|
-
}), ii = Object.freeze({
|
|
2786
|
-
added: Object.freeze({
|
|
2787
|
-
ringDash: Object.freeze([5, 4]),
|
|
2788
|
-
edgeDash: Object.freeze([7, 5]),
|
|
2789
|
-
strike: !1
|
|
2790
|
-
}),
|
|
2791
|
-
changed: Object.freeze({
|
|
2792
|
-
ringDash: null,
|
|
2793
|
-
edgeDash: null,
|
|
2794
|
-
strike: !1
|
|
2795
|
-
}),
|
|
2796
|
-
removed: Object.freeze({
|
|
2797
|
-
ringDash: null,
|
|
2798
|
-
edgeDash: Object.freeze([3, 4]),
|
|
2799
|
-
strike: !0
|
|
2800
|
-
}),
|
|
2801
|
-
edit: Object.freeze({
|
|
2802
|
-
ringDash: Object.freeze([2, 5]),
|
|
2803
|
-
edgeDash: Object.freeze([12, 4]),
|
|
2804
|
-
strike: !1
|
|
2805
|
-
})
|
|
2806
|
-
}), ai = "#f4f6fa", oi = "#090d16", si = {
|
|
2807
|
-
mark: 3.2,
|
|
2808
|
-
text: 4.8
|
|
2809
|
-
}, ci = .16, li = 1.35, ui = .11;
|
|
2810
|
-
function di(e, t) {
|
|
2811
|
-
return e === "light" || e === "dark" ? e : t ? "light" : "dark";
|
|
2887
|
+
var bi = null;
|
|
2888
|
+
function xi(e) {
|
|
2889
|
+
let t = e.house && e.house.cloudLines;
|
|
2890
|
+
return !t || !t.length ? e.edges : (bi && bi.edges === e.edges && bi.lines === t || (bi = {
|
|
2891
|
+
edges: e.edges,
|
|
2892
|
+
lines: t,
|
|
2893
|
+
all: [...e.edges, ...t]
|
|
2894
|
+
}), bi.all);
|
|
2812
2895
|
}
|
|
2813
|
-
function
|
|
2814
|
-
|
|
2815
|
-
if (o === s) return [
|
|
2816
|
-
0,
|
|
2817
|
-
0,
|
|
2818
|
-
c
|
|
2819
|
-
];
|
|
2820
|
-
let l = o - s, u = c > .5 ? l / (2 - o - s) : l / (o + s);
|
|
2821
|
-
return [
|
|
2822
|
-
(o === r ? (i - a) / l + (i < a ? 6 : 0) : o === i ? (a - r) / l + 2 : (r - i) / l + 4) * 60,
|
|
2823
|
-
u,
|
|
2824
|
-
c
|
|
2825
|
-
];
|
|
2896
|
+
function Si(e, t, n) {
|
|
2897
|
+
return e.kind === "runs-on" || e.kind === "delivers" ? "flow" : e.kind === "calls" && n && n.type === "external" ? e.rolled || !(t && vi.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;
|
|
2826
2898
|
}
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2899
|
+
var Ci = [
|
|
2900
|
+
"persona",
|
|
2901
|
+
"machine",
|
|
2902
|
+
"stack",
|
|
2903
|
+
"floor",
|
|
2904
|
+
"external"
|
|
2905
|
+
];
|
|
2906
|
+
function wi(e, t) {
|
|
2907
|
+
let n = t.house;
|
|
2908
|
+
e.decor.rings = [], e.decor.lanes = n && n.lanes ? n.lanes : [];
|
|
2909
|
+
for (let t of e.nodes) t.type === "room" ? (t.label = "", t.labelKeep = !1) : Ci.includes(t.type) && (t.labelKeep = !0);
|
|
2910
|
+
return n && n.cloudIds && n.cloudIds.size && ki(e, t), e;
|
|
2834
2911
|
}
|
|
2835
|
-
var
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2912
|
+
var Ti = {
|
|
2913
|
+
run: .9,
|
|
2914
|
+
deploy: .25,
|
|
2915
|
+
renew: .9
|
|
2916
|
+
}, Ei = {
|
|
2917
|
+
alpha: .9,
|
|
2918
|
+
width: 2.2
|
|
2919
|
+
}, Di = Object.keys(H), Oi = (e) => Di.find((t) => H[t].ticks === (e.ticks || 0)) || "run";
|
|
2920
|
+
function ki(e, t) {
|
|
2921
|
+
let n = t.house, r = t.scenario ? gi(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;
|
|
2922
|
+
e.edges = e.edges.filter((e) => {
|
|
2923
|
+
if (e.kind !== "calls" || !n.cloudIds.has(e.to)) return !0;
|
|
2924
|
+
let t = Oi(e);
|
|
2925
|
+
if (r) {
|
|
2926
|
+
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;
|
|
2927
|
+
if (i && s) {
|
|
2928
|
+
let n = Di[Math.max(Di.indexOf(s), Di.indexOf(t))];
|
|
2929
|
+
return Object.assign(e, {
|
|
2930
|
+
color: H[n].color,
|
|
2931
|
+
alpha: Math.max(e.alpha, Ei.alpha),
|
|
2932
|
+
width: Math.max(e.width, Ei.width)
|
|
2933
|
+
}), e.glow && (e.glowColor = e.color), !0;
|
|
2934
|
+
}
|
|
2935
|
+
return !n.phone || r.edges.has(`${e.from}->${e.to}`);
|
|
2936
|
+
}
|
|
2937
|
+
return i ? !n.phone || e.alpha >= .5 : !n.phone && (e.alpha = Ti[t], !0);
|
|
2938
|
+
});
|
|
2841
2939
|
}
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
]);
|
|
2851
|
-
if ((Math.max(n, r, i) - Math.min(n, r, i)) / 255 < ci && c > .5) return hi(pi([
|
|
2852
|
-
o,
|
|
2853
|
-
s,
|
|
2854
|
-
Math.max(ui, 1 - c)
|
|
2855
|
-
]), a);
|
|
2856
|
-
let l = si[t] || si.mark;
|
|
2857
|
-
if (Zr(V([
|
|
2858
|
-
n,
|
|
2859
|
-
r,
|
|
2860
|
-
i
|
|
2861
|
-
]), gi) >= l) return e;
|
|
2862
|
-
let u = 0, d = c;
|
|
2863
|
-
for (let e = 0; e < 20; e++) {
|
|
2864
|
-
let e = (u + d) / 2;
|
|
2865
|
-
Zr(V(pi([
|
|
2866
|
-
o,
|
|
2867
|
-
s,
|
|
2868
|
-
e
|
|
2869
|
-
])), gi) >= l ? u = e : d = e;
|
|
2870
|
-
}
|
|
2871
|
-
return hi(pi([
|
|
2872
|
-
o,
|
|
2873
|
-
s,
|
|
2874
|
-
u
|
|
2875
|
-
]), a);
|
|
2940
|
+
// ../explorer/verdict-paint.js
|
|
2941
|
+
var Ai = {
|
|
2942
|
+
allowed: "#4ade80",
|
|
2943
|
+
refused: "#ff2d55",
|
|
2944
|
+
mismatch: "#fbbf24"
|
|
2945
|
+
}, ji = 18, Mi = 4.5;
|
|
2946
|
+
function Ni(e, t) {
|
|
2947
|
+
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";
|
|
2876
2948
|
}
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
}
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
...t.packet,
|
|
2899
|
-
color: U(t.packet.color),
|
|
2900
|
-
glowColor: U(t.packet.glowColor)
|
|
2901
|
-
};
|
|
2902
|
-
}
|
|
2903
|
-
let { decor: t } = e;
|
|
2904
|
-
return t.grid &&= {
|
|
2905
|
-
...t.grid,
|
|
2906
|
-
color: U(t.grid.color)
|
|
2907
|
-
}, t.rings = t.rings.map((e) => ({
|
|
2908
|
-
...e,
|
|
2909
|
-
color: U(e.color)
|
|
2910
|
-
})), t.lanes = t.lanes.map((e) => {
|
|
2911
|
-
let t = {
|
|
2912
|
-
...e,
|
|
2913
|
-
fill: U(e.fill),
|
|
2914
|
-
stroke: U(e.stroke)
|
|
2915
|
-
};
|
|
2916
|
-
for (let e of [
|
|
2917
|
-
"title",
|
|
2918
|
-
"note",
|
|
2919
|
-
"arrow"
|
|
2920
|
-
]) t[e] && (t[e] = { ...t[e] }, bi(t[e]));
|
|
2921
|
-
return t;
|
|
2922
|
-
}), e;
|
|
2949
|
+
function Pi(e, t) {
|
|
2950
|
+
let n = t && t.verdict;
|
|
2951
|
+
if (!n || t.done) return;
|
|
2952
|
+
let r = n.mismatch ? Ai.mismatch : Ai[n.state];
|
|
2953
|
+
if (!r) return;
|
|
2954
|
+
let { node: i, edge: a } = t.current;
|
|
2955
|
+
if (i !== void 0) {
|
|
2956
|
+
let t = e.nodes.find((e) => e.id === i);
|
|
2957
|
+
t && (t.color = r, t.glow = Math.max(t.glow || 0, ji));
|
|
2958
|
+
} else a && e.edges.forEach((e) => {
|
|
2959
|
+
Ni(e, a) && (e.color = r, e.glowColor = r, e.glow = Math.max(e.glow || 0, ji), e.width = Math.max(e.width || 0, Mi), e.packet &&= n.state === "refused" && !n.mismatch ? {
|
|
2960
|
+
...e.packet,
|
|
2961
|
+
color: r,
|
|
2962
|
+
glowColor: r,
|
|
2963
|
+
speed: 0,
|
|
2964
|
+
phase: .5
|
|
2965
|
+
} : {
|
|
2966
|
+
...e.packet,
|
|
2967
|
+
glowColor: r
|
|
2968
|
+
});
|
|
2969
|
+
});
|
|
2923
2970
|
}
|
|
2924
|
-
var
|
|
2925
|
-
Object.freeze(Object.keys(
|
|
2926
|
-
var
|
|
2927
|
-
function
|
|
2971
|
+
var Fi = 1.2, Ii = 96, Li = 24, Ri = "glyph:", zi = "#ffffff", Bi = "#0b1220";
|
|
2972
|
+
Object.freeze(Object.keys(L));
|
|
2973
|
+
var Vi = (e) => typeof e == "string" && Object.hasOwn(L, e), Hi = (e, t) => `${Ri}${e}|${t}`, Ui = (e) => typeof e == "string" && e.startsWith(Ri);
|
|
2974
|
+
function Wi(e) {
|
|
2928
2975
|
let t = e.slice(6), n = t.indexOf("|");
|
|
2929
2976
|
return {
|
|
2930
2977
|
type: t.slice(0, n),
|
|
2931
2978
|
ink: t.slice(n + 1)
|
|
2932
2979
|
};
|
|
2933
2980
|
}
|
|
2934
|
-
var
|
|
2981
|
+
var Gi = ([e, t, n]) => {
|
|
2935
2982
|
let r = (e) => {
|
|
2936
2983
|
let t = e / 255;
|
|
2937
2984
|
return t <= .03928 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
|
|
2938
2985
|
};
|
|
2939
2986
|
return .2126 * r(e) + .7152 * r(t) + .0722 * r(n);
|
|
2940
|
-
},
|
|
2987
|
+
}, Ki = (e, t) => {
|
|
2941
2988
|
let [n, r] = e > t ? [e, t] : [t, e];
|
|
2942
2989
|
return (n + .05) / (r + .05);
|
|
2943
2990
|
};
|
|
2944
|
-
function
|
|
2945
|
-
let
|
|
2946
|
-
|
|
2991
|
+
function qi(e, t = wn) {
|
|
2992
|
+
let n = N(e);
|
|
2993
|
+
n[3] < 1 && (n = fn(n, fn(N(t), [
|
|
2994
|
+
0,
|
|
2995
|
+
0,
|
|
2996
|
+
0,
|
|
2997
|
+
1
|
|
2998
|
+
])));
|
|
2999
|
+
let r = Gi(n);
|
|
3000
|
+
return Ki(1, r) >= Ki(Gi(N("#0b1220")), r) ? zi : Bi;
|
|
2947
3001
|
}
|
|
2948
|
-
var
|
|
3002
|
+
var Ji = (e, t) => e && e.ground || (t === "light" ? "#f4f6fa" : "#090d16"), Yi = (e, t, n = "dark") => t && t.values && t.values["--corn-map-glyph"] || qi(e.color, Ji(t, n)), Xi = (e, t) => !!e.glyph && !e.icon && !e.letters && e.r * 2 * t >= 14, Zi = {
|
|
2949
3003
|
root: (e) => {
|
|
2950
|
-
|
|
3004
|
+
Qi(e, 12, 12, 8), G(e, 12, 12, 3.2);
|
|
2951
3005
|
},
|
|
2952
3006
|
app: (e) => {
|
|
2953
3007
|
e.beginPath(), e.rect(3.5, 5, 17, 14), e.stroke(), W(e, 3.5, 9.5, 20.5, 9.5);
|
|
@@ -2959,7 +3013,7 @@ var Fi = (e, t) => t && t.values && t.values["--corn-map-glyph"] || Pi(e.color),
|
|
|
2959
3013
|
e.beginPath(), e.rect(4, 7, 16, 13), e.stroke(), W(e, 4, 12, 20, 12), W(e, 12, 7, 12, 12);
|
|
2960
3014
|
},
|
|
2961
3015
|
core: (e) => {
|
|
2962
|
-
|
|
3016
|
+
Qi(e, 12, 12, 8.2), G(e, 12, 12, 4);
|
|
2963
3017
|
},
|
|
2964
3018
|
token: (e) => {
|
|
2965
3019
|
for (let [t, n] of [
|
|
@@ -3022,76 +3076,35 @@ var Fi = (e, t) => t && t.values && t.values["--corn-map-glyph"] || Pi(e.color),
|
|
|
3022
3076
|
function W(e, t, n, r, i) {
|
|
3023
3077
|
e.beginPath(), e.moveTo(t, n), e.lineTo(r, i), e.stroke();
|
|
3024
3078
|
}
|
|
3025
|
-
function
|
|
3079
|
+
function Qi(e, t, n, r) {
|
|
3026
3080
|
e.beginPath(), e.arc(t, n, r, 0, Math.PI * 2), e.stroke();
|
|
3027
3081
|
}
|
|
3028
3082
|
function G(e, t, n, r) {
|
|
3029
3083
|
e.beginPath(), e.arc(t, n, r, 0, Math.PI * 2), e.fill();
|
|
3030
3084
|
}
|
|
3031
|
-
function
|
|
3032
|
-
let i =
|
|
3085
|
+
function $i(e, t, n, r) {
|
|
3086
|
+
let i = Zi[t];
|
|
3033
3087
|
if (!i) return;
|
|
3034
|
-
let a = n /
|
|
3088
|
+
let a = n / Li;
|
|
3035
3089
|
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();
|
|
3036
3090
|
}
|
|
3037
|
-
var
|
|
3038
|
-
function
|
|
3039
|
-
if (!
|
|
3040
|
-
let n =
|
|
3041
|
-
if (
|
|
3042
|
-
if (
|
|
3091
|
+
var ea = /* @__PURE__ */ new Map();
|
|
3092
|
+
function ta(e, t) {
|
|
3093
|
+
if (!Vi(e) || typeof t != "string") return null;
|
|
3094
|
+
let n = Hi(e, t);
|
|
3095
|
+
if (ea.has(n)) return ea.get(n);
|
|
3096
|
+
if (ea.size >= 64) return null;
|
|
3043
3097
|
let r = null;
|
|
3044
3098
|
try {
|
|
3045
|
-
let n = typeof OffscreenCanvas < "u" ? new OffscreenCanvas(
|
|
3046
|
-
width:
|
|
3047
|
-
height:
|
|
3099
|
+
let n = typeof OffscreenCanvas < "u" ? new OffscreenCanvas(Ii, Ii) : typeof document < "u" ? Object.assign(document.createElement("canvas"), {
|
|
3100
|
+
width: Ii,
|
|
3101
|
+
height: Ii
|
|
3048
3102
|
}) : null, i = n && n.getContext && n.getContext("2d");
|
|
3049
|
-
i && i.stroke && (
|
|
3103
|
+
i && i.stroke && ($i(i, e, Ii, t), r = n);
|
|
3050
3104
|
} catch {
|
|
3051
3105
|
r = null;
|
|
3052
3106
|
}
|
|
3053
|
-
return
|
|
3054
|
-
}
|
|
3055
|
-
// ../explorer/review-model.js
|
|
3056
|
-
var Hi = 6e4, Ui = 60 * Hi, Wi = 24 * Ui, Gi = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`;
|
|
3057
|
-
function Ki(e, t) {
|
|
3058
|
-
let n = typeof e == "string" ? Date.parse(e) : NaN;
|
|
3059
|
-
if (!Number.isFinite(n) || !Number.isFinite(t)) return "";
|
|
3060
|
-
let r = t - n;
|
|
3061
|
-
return r < Hi ? "just now" : r < Ui ? `${Gi(Math.floor(r / Hi), "minute")} ago` : r < Wi ? `${Gi(Math.floor(r / Ui), "hour")} ago` : `${Gi(Math.floor(r / Wi), "day")} ago`;
|
|
3062
|
-
}
|
|
3063
|
-
var qi = {
|
|
3064
|
-
approved: "Approved",
|
|
3065
|
-
notes: "Sent back"
|
|
3066
|
-
};
|
|
3067
|
-
function Ji(e, t) {
|
|
3068
|
-
let { verdict: n, when: r } = Yi(e, t);
|
|
3069
|
-
return r ? `${n} ${r}` : n;
|
|
3070
|
-
}
|
|
3071
|
-
function Yi(e, t) {
|
|
3072
|
-
return !e || !qi[e.verdict] ? {
|
|
3073
|
-
verdict: "",
|
|
3074
|
-
when: ""
|
|
3075
|
-
} : {
|
|
3076
|
-
verdict: qi[e.verdict],
|
|
3077
|
-
when: Ki(e.at, t) || ""
|
|
3078
|
-
};
|
|
3079
|
-
}
|
|
3080
|
-
function Xi(e) {
|
|
3081
|
-
return typeof e == "string" && e.trim() ? null : "Say what should change before you send it back.";
|
|
3082
|
-
}
|
|
3083
|
-
function Zi(e, t, n) {
|
|
3084
|
-
return {
|
|
3085
|
-
verdict: e,
|
|
3086
|
-
note: typeof t == "string" ? t.trim() : "",
|
|
3087
|
-
edits: structuredClone(Array.isArray(n) ? n : [])
|
|
3088
|
-
};
|
|
3089
|
-
}
|
|
3090
|
-
var Qi = (e) => typeof e == "string" && /^pull\/[1-9]\d{0,8}$/.test(e);
|
|
3091
|
-
function $i(e, t) {
|
|
3092
|
-
if (!t) return "";
|
|
3093
|
-
let n = Gi(t, "edit");
|
|
3094
|
-
return e === "approved" ? `Your ${n} ${t === 1 ? "is" : "are"} in the review comment on the PR. The drafting agent will fold ${t === 1 ? "it" : "them"} into the proposal.` : `Sent with your ${n}. The drafting agent will fold ${t === 1 ? "it" : "them"} into the next draft.`;
|
|
3107
|
+
return ea.set(n, r), r;
|
|
3095
3108
|
}
|
|
3096
3109
|
Object.freeze([
|
|
3097
3110
|
"pulls",
|
|
@@ -3124,21 +3137,21 @@ Object.freeze([
|
|
|
3124
3137
|
["other", "Cancelled or skipped"]
|
|
3125
3138
|
]
|
|
3126
3139
|
});
|
|
3127
|
-
var
|
|
3128
|
-
function
|
|
3140
|
+
var na = .2, ra = "#f87171";
|
|
3141
|
+
function ia(e, t) {
|
|
3129
3142
|
if (!t || !t.changed.size && !t.failing.size) return;
|
|
3130
3143
|
let n = (e) => t.changed.has(e) || t.failing.has(e);
|
|
3131
|
-
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 =
|
|
3132
|
-
for (let t of e.edges) !n(t.from) && !n(t.to) && (t.alpha = Math.min(t.alpha,
|
|
3144
|
+
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 = ra)) : (r.alpha = Math.min(r.alpha, na), r.labelAlpha = r.alpha, r.glow = 0);
|
|
3145
|
+
for (let t of e.edges) !n(t.from) && !n(t.to) && (t.alpha = Math.min(t.alpha, na / 2));
|
|
3133
3146
|
}
|
|
3134
3147
|
// ../explorer/search-match.js
|
|
3135
|
-
var
|
|
3148
|
+
var aa = Object.freeze({
|
|
3136
3149
|
labelStart: 0,
|
|
3137
3150
|
wordStart: 1,
|
|
3138
3151
|
label: 2,
|
|
3139
3152
|
idOrFile: 3,
|
|
3140
3153
|
typeOrKind: 4
|
|
3141
|
-
}),
|
|
3154
|
+
}), oa = Object.freeze({
|
|
3142
3155
|
root: "Root",
|
|
3143
3156
|
app: "Apps",
|
|
3144
3157
|
pkg: "Packages",
|
|
@@ -3160,22 +3173,22 @@ var ra = Object.freeze({
|
|
|
3160
3173
|
floor: "House",
|
|
3161
3174
|
room: "House",
|
|
3162
3175
|
persona: "People"
|
|
3163
|
-
}),
|
|
3164
|
-
function
|
|
3176
|
+
}), sa = (e) => e && e.charAt(0).toUpperCase() + e.slice(1), ca = (e) => oa[e.type] || sa(String(e.type || "")), K = (e) => typeof e == "string" ? e.toLowerCase() : "", la = /[^\p{L}\p{N}]+/u;
|
|
3177
|
+
function ua(e, t) {
|
|
3165
3178
|
let n = String(t || "").toLowerCase();
|
|
3166
3179
|
if (!n) return -1;
|
|
3167
3180
|
let r = K(e.label);
|
|
3168
|
-
return r.startsWith(n) ?
|
|
3181
|
+
return r.startsWith(n) ? aa.labelStart : r.split(la).some((e) => e && e.startsWith(n)) ? aa.wordStart : r.includes(n) ? aa.label : K(e.id).includes(n) || K(e.file).includes(n) ? aa.idOrFile : K(e.type).includes(n) || K(ca(e)).includes(n) || K(e.kind).includes(n) ? aa.typeOrKind : -1;
|
|
3169
3182
|
}
|
|
3170
|
-
function
|
|
3183
|
+
function da(e, t) {
|
|
3171
3184
|
let n = String(t || "").trim().toLowerCase(), r = /* @__PURE__ */ new Set();
|
|
3172
3185
|
if (!n) return r;
|
|
3173
|
-
for (let t of e)
|
|
3186
|
+
for (let t of e) ua(t, n) >= 0 && r.add(t.id);
|
|
3174
3187
|
return r;
|
|
3175
3188
|
}
|
|
3176
3189
|
// ../explorer/css-color.js
|
|
3177
|
-
var q,
|
|
3178
|
-
function
|
|
3190
|
+
var q, fa = /* @__PURE__ */ new Map();
|
|
3191
|
+
function pa() {
|
|
3179
3192
|
if (q !== void 0) return q;
|
|
3180
3193
|
q = null;
|
|
3181
3194
|
try {
|
|
@@ -3185,54 +3198,54 @@ function da() {
|
|
|
3185
3198
|
}
|
|
3186
3199
|
return q;
|
|
3187
3200
|
}
|
|
3188
|
-
function
|
|
3201
|
+
function ma(e) {
|
|
3189
3202
|
let t = typeof e == "string" ? e.trim() : "";
|
|
3190
3203
|
if (!t || t.toLowerCase() === "auto") return null;
|
|
3191
|
-
if (
|
|
3204
|
+
if (ga(t)) return t;
|
|
3192
3205
|
if (/^transparent$/i.test(t)) return "rgba(0, 0, 0, 0)";
|
|
3193
|
-
if (
|
|
3194
|
-
let n = null, r =
|
|
3206
|
+
if (fa.has(t)) return fa.get(t);
|
|
3207
|
+
let n = null, r = ha(t) && !/currentcolor/i.test(t) ? pa() : null;
|
|
3195
3208
|
if (r) try {
|
|
3196
3209
|
let e = (e) => (r.fillStyle = e, r.fillStyle = t, String(r.fillStyle)), i = e("#010203"), a = i === "#010203" && e("#040506") === "#040506" ? null : i;
|
|
3197
|
-
n = a === null ? null :
|
|
3210
|
+
n = a === null ? null : va(a) ? a : ya(r, t);
|
|
3198
3211
|
} catch {
|
|
3199
3212
|
n = null;
|
|
3200
3213
|
}
|
|
3201
|
-
return
|
|
3214
|
+
return fa.set(t, n), n;
|
|
3202
3215
|
}
|
|
3203
|
-
function
|
|
3216
|
+
function ha(e) {
|
|
3204
3217
|
try {
|
|
3205
3218
|
return typeof CSS > "u" || typeof CSS.supports != "function" || CSS.supports("color", e);
|
|
3206
3219
|
} catch {
|
|
3207
3220
|
return !1;
|
|
3208
3221
|
}
|
|
3209
3222
|
}
|
|
3210
|
-
function
|
|
3211
|
-
if (!
|
|
3223
|
+
function ga(e) {
|
|
3224
|
+
if (!va(e)) return !1;
|
|
3212
3225
|
let t = /^rgba?\(/i.test(e.trim()) ? e.slice(e.indexOf("(") + 1, e.lastIndexOf(")")).split(",").map(Number) : null;
|
|
3213
3226
|
if (t && (t.slice(0, 3).some((e) => !(e >= 0 && e <= 255)) || t.length > 3 && !(t[3] > 0 && t[3] <= 1))) return !1;
|
|
3214
|
-
let [n, r, i, a] =
|
|
3227
|
+
let [n, r, i, a] = N(e);
|
|
3215
3228
|
return [
|
|
3216
3229
|
n,
|
|
3217
3230
|
r,
|
|
3218
3231
|
i
|
|
3219
3232
|
].every((e) => Number.isFinite(e) && e >= 0 && e <= 255) && Number.isFinite(a) && a > 0 && a <= 1;
|
|
3220
3233
|
}
|
|
3221
|
-
var
|
|
3222
|
-
function
|
|
3234
|
+
var _a = /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$|^rgba?\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*(?:,\s*[\d.]+\s*)?\)$/i, va = (e) => _a.test(e.trim());
|
|
3235
|
+
function ya(e, t) {
|
|
3223
3236
|
if (!e.getImageData || !e.fillRect) return null;
|
|
3224
3237
|
e.clearRect(0, 0, 1, 1), e.fillStyle = t, e.fillRect(0, 0, 1, 1);
|
|
3225
3238
|
let [n, r, i, a] = e.getImageData(0, 0, 1, 1).data;
|
|
3226
|
-
return
|
|
3239
|
+
return ba(n, r, i, a / 255);
|
|
3227
3240
|
}
|
|
3228
|
-
var
|
|
3229
|
-
function
|
|
3241
|
+
var ba = (e, t, n, r) => `rgba(${e}, ${t}, ${n}, ${+r.toFixed(3)})`;
|
|
3242
|
+
function xa(e) {
|
|
3230
3243
|
if (typeof e != "string" || e.length > 200) return null;
|
|
3231
3244
|
let t = e.trim();
|
|
3232
|
-
return !t || /^(?:auto|currentcolor)$/i.test(t) ? null :
|
|
3245
|
+
return !t || /^(?:auto|currentcolor)$/i.test(t) ? null : ma(t) || (pa() === null && un(t) ? t : null);
|
|
3233
3246
|
}
|
|
3234
3247
|
// ../explorer/scene.js
|
|
3235
|
-
var
|
|
3248
|
+
var Sa = [
|
|
3236
3249
|
"root",
|
|
3237
3250
|
"app",
|
|
3238
3251
|
"pkg",
|
|
@@ -3240,7 +3253,7 @@ var ba = [
|
|
|
3240
3253
|
"store",
|
|
3241
3254
|
"rom",
|
|
3242
3255
|
"floor"
|
|
3243
|
-
],
|
|
3256
|
+
], Ca = "\"Segoe UI\", -apple-system, BlinkMacSystemFont, Roboto, sans-serif", wa = "\"Segoe UI\", -apple-system, sans-serif", Ta = .32, Ea = "#ffffff", Da = .07, Oa = {
|
|
3244
3257
|
node: {
|
|
3245
3258
|
color: "rgba(9, 13, 22, 0.85)",
|
|
3246
3259
|
width: 3.5
|
|
@@ -3249,10 +3262,10 @@ var ba = [
|
|
|
3249
3262
|
color: "rgba(9, 13, 22, 0.9)",
|
|
3250
3263
|
width: 3
|
|
3251
3264
|
}
|
|
3252
|
-
},
|
|
3265
|
+
}, ka = {
|
|
3253
3266
|
length: 9,
|
|
3254
3267
|
spread: .45
|
|
3255
|
-
},
|
|
3268
|
+
}, Aa = Object.freeze({
|
|
3256
3269
|
flow: "chevron",
|
|
3257
3270
|
reads: "chevron",
|
|
3258
3271
|
writes: "chevron",
|
|
@@ -3262,7 +3275,7 @@ var ba = [
|
|
|
3262
3275
|
"runs-on": "bar",
|
|
3263
3276
|
uses: "diamond",
|
|
3264
3277
|
extends: "diamond"
|
|
3265
|
-
}),
|
|
3278
|
+
}), ja = Object.freeze({
|
|
3266
3279
|
strokeWidth: 1.8,
|
|
3267
3280
|
barHalf: 5,
|
|
3268
3281
|
diamondHalf: 6,
|
|
@@ -3277,13 +3290,13 @@ var ba = [
|
|
|
3277
3290
|
squareHalf: .86,
|
|
3278
3291
|
squareCorner: .12,
|
|
3279
3292
|
diamondHalf: 1.15
|
|
3280
|
-
}),
|
|
3293
|
+
}), Ma = Object.freeze({
|
|
3281
3294
|
circle: 1,
|
|
3282
3295
|
"rounded-square": (J.roundedHalf - J.roundedCorner) * Math.SQRT2 + J.roundedCorner,
|
|
3283
3296
|
hexagon: J.hexInradius / Math.cos(Math.PI / 6),
|
|
3284
3297
|
square: (J.squareHalf - J.squareCorner) * Math.SQRT2 + J.squareCorner,
|
|
3285
3298
|
diamond: J.diamondHalf
|
|
3286
|
-
}),
|
|
3299
|
+
}), Na = Object.freeze([7, 5]), Pa = Object.freeze([1.5, 4]), Fa = {
|
|
3287
3300
|
selected: {
|
|
3288
3301
|
fill: "rgba(99, 102, 241, 0.55)",
|
|
3289
3302
|
fillR: 8,
|
|
@@ -3305,71 +3318,71 @@ var ba = [
|
|
|
3305
3318
|
ringR: 5,
|
|
3306
3319
|
ringWidth: 1.2
|
|
3307
3320
|
}
|
|
3308
|
-
},
|
|
3321
|
+
}, Ia = {
|
|
3309
3322
|
halfLength: 7,
|
|
3310
3323
|
width: 2
|
|
3311
|
-
},
|
|
3324
|
+
}, La = {
|
|
3312
3325
|
color: "#ffffff",
|
|
3313
3326
|
radius: 3.5,
|
|
3314
3327
|
glow: 10,
|
|
3315
3328
|
cycleMs: 2600
|
|
3316
3329
|
}, Y = {
|
|
3317
3330
|
added: {
|
|
3318
|
-
...
|
|
3319
|
-
color:
|
|
3331
|
+
...Sn.added,
|
|
3332
|
+
color: F.dark.added,
|
|
3320
3333
|
ringR: 9,
|
|
3321
3334
|
ringWidth: 2,
|
|
3322
3335
|
edgeWidth: 2.2,
|
|
3323
3336
|
alpha: 1
|
|
3324
3337
|
},
|
|
3325
3338
|
changed: {
|
|
3326
|
-
...
|
|
3327
|
-
color:
|
|
3339
|
+
...Sn.changed,
|
|
3340
|
+
color: F.dark.changed,
|
|
3328
3341
|
ringR: 9,
|
|
3329
3342
|
ringWidth: 2.5,
|
|
3330
3343
|
edgeWidth: 2.4,
|
|
3331
3344
|
alpha: 1
|
|
3332
3345
|
},
|
|
3333
3346
|
removed: {
|
|
3334
|
-
...
|
|
3335
|
-
color:
|
|
3347
|
+
...Sn.removed,
|
|
3348
|
+
color: F.dark.removed,
|
|
3336
3349
|
ringR: 9,
|
|
3337
3350
|
ringWidth: 2,
|
|
3338
3351
|
edgeWidth: 2,
|
|
3339
|
-
alpha:
|
|
3352
|
+
alpha: _n
|
|
3340
3353
|
},
|
|
3341
3354
|
edit: {
|
|
3342
|
-
...
|
|
3343
|
-
color:
|
|
3355
|
+
...Sn.edit,
|
|
3356
|
+
color: F.dark.edit,
|
|
3344
3357
|
ringR: 9,
|
|
3345
3358
|
ringWidth: 3,
|
|
3346
3359
|
edgeWidth: 2.4,
|
|
3347
3360
|
alpha: 1
|
|
3348
3361
|
}
|
|
3349
3362
|
};
|
|
3350
|
-
function
|
|
3351
|
-
return e === "light" ?
|
|
3363
|
+
function Ra(e) {
|
|
3364
|
+
return e === "light" ? Va : Ba;
|
|
3352
3365
|
}
|
|
3353
|
-
var
|
|
3366
|
+
var za = (e) => {
|
|
3354
3367
|
let t = { ...e };
|
|
3355
3368
|
for (let e of [
|
|
3356
3369
|
"fill",
|
|
3357
3370
|
"ring",
|
|
3358
3371
|
"color"
|
|
3359
|
-
]) typeof t[e] == "string" && (t[e] =
|
|
3372
|
+
]) typeof t[e] == "string" && (t[e] = I(t[e]));
|
|
3360
3373
|
return t;
|
|
3361
|
-
},
|
|
3362
|
-
halo:
|
|
3374
|
+
}, Ba = Object.freeze({
|
|
3375
|
+
halo: Fa,
|
|
3363
3376
|
mark: Y,
|
|
3364
|
-
core:
|
|
3365
|
-
labelOutline:
|
|
3366
|
-
}),
|
|
3367
|
-
halo: Object.fromEntries(Object.entries(
|
|
3377
|
+
core: Ea,
|
|
3378
|
+
labelOutline: Oa
|
|
3379
|
+
}), Va = Object.freeze({
|
|
3380
|
+
halo: Object.fromEntries(Object.entries(Fa).map(([e, t]) => [e, za(t)])),
|
|
3368
3381
|
mark: Object.fromEntries(Object.entries(Y).map(([e, t]) => [e, {
|
|
3369
3382
|
...t,
|
|
3370
|
-
color:
|
|
3383
|
+
color: F.light[e]
|
|
3371
3384
|
}])),
|
|
3372
|
-
core:
|
|
3385
|
+
core: Ea,
|
|
3373
3386
|
labelOutline: {
|
|
3374
3387
|
node: {
|
|
3375
3388
|
color: "rgba(244, 246, 250, 0.9)",
|
|
@@ -3380,28 +3393,28 @@ var La = (e) => {
|
|
|
3380
3393
|
width: 3
|
|
3381
3394
|
}
|
|
3382
3395
|
}
|
|
3383
|
-
}),
|
|
3396
|
+
}), Ha = {
|
|
3384
3397
|
ring: 1.8,
|
|
3385
3398
|
edge: 1.6,
|
|
3386
3399
|
gap: 4
|
|
3387
|
-
},
|
|
3400
|
+
}, Ua = .28;
|
|
3388
3401
|
function X(e, t, { viewer: n = !1 } = {}) {
|
|
3389
|
-
return e.proposal && !
|
|
3402
|
+
return e.proposal && !Ut(e.proposalView || "diff", t) ? !1 : e.view === "dataflow" ? !!e.flow && e.flow.ids.has(t.id) : e.view === "house" ? yi(e, t) : t.type === "root" || Wa(e, t, n ? e.activeLayers : V(e)) || Ur(e, t);
|
|
3390
3403
|
}
|
|
3391
|
-
function
|
|
3392
|
-
let r =
|
|
3393
|
-
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[
|
|
3404
|
+
function Wa(e, t, n = V(e)) {
|
|
3405
|
+
let r = zr(e, t);
|
|
3406
|
+
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[oi(t)] !== !1 : n[t.type] !== !1;
|
|
3394
3407
|
}
|
|
3395
|
-
var
|
|
3396
|
-
function
|
|
3408
|
+
var Ga = (e) => e.view === "dataflow" && e.flow ? e.flow.edges : e.view === "house" ? xi(e) : e.edges;
|
|
3409
|
+
function Ka(e, t, n) {
|
|
3397
3410
|
return Ae(e, t, n);
|
|
3398
3411
|
}
|
|
3399
|
-
function
|
|
3412
|
+
function qa(e) {
|
|
3400
3413
|
let t = e.scenario, n = new Set(t.visited.nodes), r = new Set(t.visited.edgeList.map(Z));
|
|
3401
3414
|
t.linkNodes && e.edges.forEach((e) => {
|
|
3402
3415
|
n.has(e.from) && n.has(e.to) && r.add(Z(e));
|
|
3403
3416
|
});
|
|
3404
|
-
let i =
|
|
3417
|
+
let i = gi(t, e.nodes, e.edges);
|
|
3405
3418
|
i && (i.down.forEach((e) => n.add(e)), i.hits.forEach((e, t) => n.add(t)), i.edges.forEach((e, t) => r.add(t)));
|
|
3406
3419
|
let { node: a, edge: o } = t.current, s = a === void 0 ? o ? o.kind === "writes" ? o.from : o.to : void 0 : a;
|
|
3407
3420
|
return {
|
|
@@ -3411,7 +3424,7 @@ function Ga(e) {
|
|
|
3411
3424
|
selectedId: s
|
|
3412
3425
|
};
|
|
3413
3426
|
}
|
|
3414
|
-
function
|
|
3427
|
+
function Ja(e, t, n) {
|
|
3415
3428
|
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 = {
|
|
3416
3429
|
x: (t.x + n.x) / 2 + -i / a * a * o,
|
|
3417
3430
|
y: (t.y + n.y) / 2 + r / a * a * o
|
|
@@ -3428,14 +3441,14 @@ function Ka(e, t, n) {
|
|
|
3428
3441
|
c: s
|
|
3429
3442
|
};
|
|
3430
3443
|
}
|
|
3431
|
-
function
|
|
3444
|
+
function Ya(e, t, n, r) {
|
|
3432
3445
|
let i = 1 - r;
|
|
3433
3446
|
return {
|
|
3434
3447
|
x: i * i * e.x + 2 * i * r * t.x + r * r * n.x,
|
|
3435
3448
|
y: i * i * e.y + 2 * i * r * t.y + r * r * n.y
|
|
3436
3449
|
};
|
|
3437
3450
|
}
|
|
3438
|
-
function
|
|
3451
|
+
function Xa(e, t) {
|
|
3439
3452
|
let n = {
|
|
3440
3453
|
x: e.x1,
|
|
3441
3454
|
y: e.y1
|
|
@@ -3443,7 +3456,7 @@ function Ja(e, t) {
|
|
|
3443
3456
|
x: e.x2,
|
|
3444
3457
|
y: e.y2
|
|
3445
3458
|
};
|
|
3446
|
-
return
|
|
3459
|
+
return Ya(n, e.curve ? {
|
|
3447
3460
|
x: e.curve.cx,
|
|
3448
3461
|
y: e.curve.cy
|
|
3449
3462
|
} : {
|
|
@@ -3451,14 +3464,14 @@ function Ja(e, t) {
|
|
|
3451
3464
|
y: (n.y + r.y) / 2
|
|
3452
3465
|
}, r, t);
|
|
3453
3466
|
}
|
|
3454
|
-
function
|
|
3455
|
-
return
|
|
3467
|
+
function Za(e, t) {
|
|
3468
|
+
return Xa(e, (t / 1e3 * e.packet.speed + e.packet.phase) % 1);
|
|
3456
3469
|
}
|
|
3457
|
-
var
|
|
3458
|
-
function
|
|
3459
|
-
let o = e.kind === "reads" || e.kind === "writes", s =
|
|
3470
|
+
var Qa = (e) => e.kind || (e.dashed ? "usage" : "ownership"), $a = (e) => `${e.from}->${e.to}${e.kind ? `|${e.kind}` : e.dashed ? "|dashed" : ""}${e.kind === "flow" && e.flow ? `|${e.flow}` : ""}`, Z = (e) => `${e.from}->${e.to}`;
|
|
3471
|
+
function eo(e, t, n, r, i, a) {
|
|
3472
|
+
let o = e.kind === "reads" || e.kind === "writes", s = ri(e), c = !r || r.connectedEdgeKeys.has(Z(e)), l = e.status !== "live", { a: u, b: d, c: f } = Ja(e, t, n), p = !!r && c, m = Qa(e), h = null;
|
|
3460
3473
|
if (r && c) {
|
|
3461
|
-
let t =
|
|
3474
|
+
let t = Ya(u, f, d, .5);
|
|
3462
3475
|
h = {
|
|
3463
3476
|
text: e.count !== void 0 && e.label ? e.label : ke(m),
|
|
3464
3477
|
x: t.x,
|
|
@@ -3471,19 +3484,19 @@ function Qa(e, t, n, r, i, a) {
|
|
|
3471
3484
|
if ((r ? c : i) && !a) {
|
|
3472
3485
|
let t = e.phase === void 0 ? (e.from.length * 7 + e.to.length * 13) % 10 / 10 : e.phase;
|
|
3473
3486
|
g = {
|
|
3474
|
-
color:
|
|
3487
|
+
color: La.color,
|
|
3475
3488
|
glowColor: s.color,
|
|
3476
|
-
radius:
|
|
3477
|
-
glow:
|
|
3478
|
-
speed: 1e3 /
|
|
3489
|
+
radius: La.radius,
|
|
3490
|
+
glow: La.glow,
|
|
3491
|
+
speed: 1e3 / La.cycleMs,
|
|
3479
3492
|
phase: t
|
|
3480
3493
|
};
|
|
3481
3494
|
}
|
|
3482
3495
|
return {
|
|
3483
|
-
key:
|
|
3496
|
+
key: $a(e),
|
|
3484
3497
|
from: e.from,
|
|
3485
3498
|
to: e.to,
|
|
3486
|
-
kind:
|
|
3499
|
+
kind: Qa(e),
|
|
3487
3500
|
x1: u.x,
|
|
3488
3501
|
y1: u.y,
|
|
3489
3502
|
x2: d.x,
|
|
@@ -3493,14 +3506,14 @@ function Qa(e, t, n, r, i, a) {
|
|
|
3493
3506
|
color: s.color,
|
|
3494
3507
|
width: p ? 2.4 : i && !o ? 2 : 1.6,
|
|
3495
3508
|
alpha: r ? c ? 1 : .04 : i ? o ? .2 : .65 : o ? .12 : .45,
|
|
3496
|
-
dash: l ?
|
|
3497
|
-
ticks:
|
|
3509
|
+
dash: l ? Na : null,
|
|
3510
|
+
ticks: ai(e),
|
|
3498
3511
|
curve: {
|
|
3499
3512
|
cx: f.x,
|
|
3500
3513
|
cy: f.y
|
|
3501
3514
|
},
|
|
3502
3515
|
arrow: !0,
|
|
3503
|
-
end: Object.hasOwn(
|
|
3516
|
+
end: Object.hasOwn(Aa, m) ? Aa[m] : "triangle",
|
|
3504
3517
|
glow: p ? 8 : 0,
|
|
3505
3518
|
glowColor: p ? s.color : null,
|
|
3506
3519
|
label: h,
|
|
@@ -3509,13 +3522,13 @@ function Qa(e, t, n, r, i, a) {
|
|
|
3509
3522
|
live: !!e.live
|
|
3510
3523
|
};
|
|
3511
3524
|
}
|
|
3512
|
-
function
|
|
3525
|
+
function to(e, t, n, r) {
|
|
3513
3526
|
let i = !r || r.connectedEdgeKeys.has(Z(e)), a, o, s = null, c = 0, l = null;
|
|
3514
|
-
return r ? i ? e.dashed ? (a = "#818cf8", o = 2, c = 8, l = "rgba(129, 140, 248, 0.7)", s =
|
|
3515
|
-
key:
|
|
3527
|
+
return r ? i ? e.dashed ? (a = "#818cf8", o = 2, c = 8, l = "rgba(129, 140, 248, 0.7)", s = Pa) : (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 ? Pa : null) : e.dashed ? (a = "rgba(129, 140, 248, 0.35)", o = 1.2, s = Pa) : (a = "rgba(255, 255, 255, 0.16)", o = 1.4), {
|
|
3528
|
+
key: $a(e),
|
|
3516
3529
|
from: e.from,
|
|
3517
3530
|
to: e.to,
|
|
3518
|
-
kind:
|
|
3531
|
+
kind: Qa(e),
|
|
3519
3532
|
x1: t.x,
|
|
3520
3533
|
y1: t.y,
|
|
3521
3534
|
x2: n.x,
|
|
@@ -3538,7 +3551,7 @@ function $a(e, t, n, r) {
|
|
|
3538
3551
|
live: !!e.live
|
|
3539
3552
|
};
|
|
3540
3553
|
}
|
|
3541
|
-
var
|
|
3554
|
+
var no = [
|
|
3542
3555
|
"flow",
|
|
3543
3556
|
"reads",
|
|
3544
3557
|
"writes",
|
|
@@ -3548,62 +3561,62 @@ var eo = [
|
|
|
3548
3561
|
"delivers",
|
|
3549
3562
|
"uses",
|
|
3550
3563
|
"extends"
|
|
3551
|
-
],
|
|
3552
|
-
function
|
|
3564
|
+
], ro = (e) => e.proposal ? e.proposalView || "diff" : null;
|
|
3565
|
+
function io(e, t, n, r = !1, i = !1) {
|
|
3553
3566
|
if (e.mark = t, t === "none") {
|
|
3554
|
-
(n === "diff" || i) && (e.alpha *=
|
|
3567
|
+
(n === "diff" || i) && (e.alpha *= Ua, e.glow = 0, e.packet = null), i && (e.greyed = !0);
|
|
3555
3568
|
return;
|
|
3556
3569
|
}
|
|
3557
3570
|
let a = Y[t];
|
|
3558
|
-
e.color = a.color, e.dash = r ? Y.removed.edgeDash : a.edgeDash, e.width = Math.max(e.width, a.edgeWidth), e.alpha >= .1 && (e.alpha = Math.max(e.alpha,
|
|
3571
|
+
e.color = a.color, e.dash = r ? Y.removed.edgeDash : a.edgeDash, e.width = Math.max(e.width, a.edgeWidth), e.alpha >= .1 && (e.alpha = Math.max(e.alpha, vn) * (r ? Y.removed.alpha : a.alpha)), e.glow && (e.glowColor = a.color);
|
|
3559
3572
|
}
|
|
3560
|
-
function
|
|
3561
|
-
let { nodes: r } = e, i =
|
|
3573
|
+
function ao(e, t, n) {
|
|
3574
|
+
let { nodes: r } = e, i = V(e), a = ti(e), o = new Map(r.map((e) => [e.id, e])), s = e.view === "dataflow", c = [], l = (e) => !!t && t.connectedEdgeKeys.has(Z(e)), u = (e, r, i) => c.push(eo(e, r, i, t, s, n)), d = ro(e), f = (n) => {
|
|
3562
3575
|
let r = o.get(n.from), a = o.get(n.to);
|
|
3563
3576
|
if (r && a && X(e, r) && X(e, a)) {
|
|
3564
3577
|
if (s) return u(n, r, a);
|
|
3565
3578
|
if (e.view === "house") {
|
|
3566
|
-
let e =
|
|
3567
|
-
e === "flow" ? u(n, r, a) : e === "link" && c.push(
|
|
3568
|
-
} 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(
|
|
3579
|
+
let e = Si(n, r, a);
|
|
3580
|
+
e === "flow" ? u(n, r, a) : e === "link" && c.push(to(n, r, a, t));
|
|
3581
|
+
} 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(to(n, r, a, t));
|
|
3569
3582
|
}
|
|
3570
3583
|
};
|
|
3571
|
-
return
|
|
3572
|
-
if (d && !
|
|
3573
|
-
let r = d === "before" ?
|
|
3584
|
+
return Ga(e).forEach((n) => {
|
|
3585
|
+
if (d && !Wt(d, n)) return;
|
|
3586
|
+
let r = d === "before" ? Kt(n) : n, i = d ? Gt(d, n) : "none", l = c.length;
|
|
3574
3587
|
if (i === "none") f(r);
|
|
3575
3588
|
else {
|
|
3576
3589
|
let n = o.get(r.from), i = o.get(r.to);
|
|
3577
3590
|
if (!n || !i || !X(e, n) || !X(e, i)) return;
|
|
3578
|
-
s ||
|
|
3591
|
+
s || no.includes(r.kind) ? u(r, n, i) : c.push(to(r, n, i, t));
|
|
3579
3592
|
}
|
|
3580
|
-
for (let e = l; e < c.length; e++)
|
|
3593
|
+
for (let e = l; e < c.length; e++) io(c[e], i, d, i === "edit" && n.editOp === "removed", a);
|
|
3581
3594
|
}), c;
|
|
3582
3595
|
}
|
|
3583
|
-
var
|
|
3584
|
-
function
|
|
3585
|
-
let { nodes: n, selectedNode: r, searchQuery: i } = e, a = i ?
|
|
3596
|
+
var oo = (e) => e.type === "floor" || e.type === "room" ? "house" : e.type === "external" ? oi(e) : e.type, so = (e) => xa(e.color) ?? (L[e.type] || L.external).color;
|
|
3597
|
+
function co(e, t) {
|
|
3598
|
+
let { nodes: n, selectedNode: r, searchQuery: i } = e, a = i ? da(n, i) : null, o = !!a && n.some((t) => a.has(t.id) && X(e, t)), s = [], c = ro(e), l = ti(e), u = c === "diff" || c && l ? qt(n, Ga(e)) : null;
|
|
3586
3599
|
return n.forEach((n) => {
|
|
3587
3600
|
if (!X(e, n)) return;
|
|
3588
|
-
let i = c === "before" ?
|
|
3589
|
-
o && !d && !p && !(t && m) && (y =
|
|
3601
|
+
let i = c === "before" ? Kt(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 ? Gt(c, n) : "none", _ = Y[g], v = g === "edit" && n.editOp === "removed", y = t && !m && !(o && d) ? Da : 1;
|
|
3602
|
+
o && !d && !p && !(t && m) && (y = Da);
|
|
3590
3603
|
let b = l && !!u && !u.touched.has(n.id);
|
|
3591
|
-
u && !u.touched.has(n.id) && (y = Math.min(y, b ?
|
|
3592
|
-
let x = i.type === "root" || i.type === "app", S =
|
|
3604
|
+
u && !u.touched.has(n.id) && (y = Math.min(y, b ? bn : Ua)), _ && (y *= v ? Y.removed.alpha : _.alpha);
|
|
3605
|
+
let x = i.type === "root" || i.type === "app", S = Gr(e, i), C = zr(e, i);
|
|
3593
3606
|
s.push({
|
|
3594
3607
|
id: n.id,
|
|
3595
3608
|
type: i.type,
|
|
3596
|
-
group:
|
|
3609
|
+
group: oo(i),
|
|
3597
3610
|
...typeof i.kind == "string" && i.kind ? { kind: i.kind } : {},
|
|
3598
3611
|
...S ? { letters: S } : {},
|
|
3599
|
-
shape:
|
|
3600
|
-
hitR: i.r *
|
|
3601
|
-
...
|
|
3612
|
+
shape: Hn(i.type),
|
|
3613
|
+
hitR: i.r * Ma[Hn(i.type)],
|
|
3614
|
+
...Vi(i.type) ? { glyph: i.type } : {},
|
|
3602
3615
|
...C ? { layer: C } : {},
|
|
3603
3616
|
x: n.x,
|
|
3604
3617
|
y: n.y,
|
|
3605
3618
|
r: i.r,
|
|
3606
|
-
color:
|
|
3619
|
+
color: so(i),
|
|
3607
3620
|
alpha: y,
|
|
3608
3621
|
glow: m && y >= .5 ? x ? 15 : 9 : 0,
|
|
3609
3622
|
halo: d ? "match" : p ? "selected" : h ? "child" : "none",
|
|
@@ -3617,16 +3630,16 @@ function oo(e, t) {
|
|
|
3617
3630
|
label: i.label,
|
|
3618
3631
|
labelSize: x && !b ? 12 : 11,
|
|
3619
3632
|
labelBold: x && !b,
|
|
3620
|
-
labelAlpha: b && (!t || m) ?
|
|
3633
|
+
labelAlpha: b && (!t || m) ? xn[e.theme === "light" ? "light" : "dark"] : u && !u.touched.has(n.id) && (!t || m) ? Math.max(y, yn) : y,
|
|
3621
3634
|
labelColor: m ? "#f8fafc" : "rgba(255, 255, 255, 0.3)",
|
|
3622
|
-
labelKeep:
|
|
3635
|
+
labelKeep: Sa.includes(i.type) && !b || p || d || g !== "none" || !!(t && m),
|
|
3623
3636
|
labelStrike: !!_ && (_.strike || v),
|
|
3624
3637
|
live: !!n.live,
|
|
3625
3638
|
box: n.box || null
|
|
3626
3639
|
});
|
|
3627
3640
|
}), s;
|
|
3628
3641
|
}
|
|
3629
|
-
function
|
|
3642
|
+
function lo(e) {
|
|
3630
3643
|
let { rings: t, selectedNode: n } = e, r = {
|
|
3631
3644
|
color: n ? "rgba(66, 153, 225, 0.04)" : "rgba(66, 153, 225, 0.14)",
|
|
3632
3645
|
width: 1,
|
|
@@ -3648,7 +3661,7 @@ function so(e) {
|
|
|
3648
3661
|
...i
|
|
3649
3662
|
})))];
|
|
3650
3663
|
}
|
|
3651
|
-
function
|
|
3664
|
+
function uo(e) {
|
|
3652
3665
|
let t = -e.top + 40;
|
|
3653
3666
|
return e.headers.map((n, r) => {
|
|
3654
3667
|
let i = e.headers[r + 1];
|
|
@@ -3688,44 +3701,44 @@ function co(e) {
|
|
|
3688
3701
|
};
|
|
3689
3702
|
});
|
|
3690
3703
|
}
|
|
3691
|
-
var
|
|
3704
|
+
var fo = .55, po = .5, mo = {
|
|
3692
3705
|
color: "#ffffff",
|
|
3693
3706
|
radius: 4.5,
|
|
3694
3707
|
glow: 12
|
|
3695
|
-
},
|
|
3708
|
+
}, ho = {
|
|
3696
3709
|
width: 3.6,
|
|
3697
3710
|
glow: 14
|
|
3698
3711
|
};
|
|
3699
|
-
function
|
|
3712
|
+
function go(e, t) {
|
|
3700
3713
|
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";
|
|
3701
3714
|
}
|
|
3702
|
-
function
|
|
3715
|
+
function _o(e, t, n = {}) {
|
|
3703
3716
|
if (t.done) return;
|
|
3704
3717
|
let { node: r, edge: i, at: a } = t.current, o = new Set(r === void 0 ? i ? [i.from, i.to] : [] : [r]);
|
|
3705
3718
|
a !== void 0 && o.add(a), e.nodes.forEach((e) => {
|
|
3706
|
-
e.connected && (o.has(e.id) ? (r !== void 0 || e.id === a) && e.halo !== "match" && (e.halo = "selected") : (e.alpha =
|
|
3719
|
+
e.connected && (o.has(e.id) ? (r !== void 0 || e.id === a) && e.halo !== "match" && (e.halo = "selected") : (e.alpha = fo, e.labelAlpha = fo));
|
|
3707
3720
|
});
|
|
3708
3721
|
let s = new Set(t.visited.edgeList.map(Z)), c = (e) => s.has(Z(e)) || t.linkNodes && t.visited.nodes.has(e.from) && t.visited.nodes.has(e.to);
|
|
3709
3722
|
e.edges.forEach((e) => {
|
|
3710
|
-
if (i &&
|
|
3711
|
-
e.alpha = 1, e.width = Math.max(e.width,
|
|
3723
|
+
if (i && go(e, i)) {
|
|
3724
|
+
e.alpha = 1, e.width = Math.max(e.width, ho.width), e.glow = ho.glow, e.glowColor = e.glowColor || e.color;
|
|
3712
3725
|
let r = 1e3 / t.stepMs, i = t.stepStartMs == null ? 0 : (-t.stepStartMs / 1e3 * r % 1 + 1) % 1;
|
|
3713
3726
|
e.packet = n.reduceMotion ? null : {
|
|
3714
|
-
...
|
|
3727
|
+
...mo,
|
|
3715
3728
|
glowColor: e.color,
|
|
3716
3729
|
speed: r,
|
|
3717
3730
|
phase: i
|
|
3718
3731
|
};
|
|
3719
|
-
} else c(e) && (e.alpha =
|
|
3732
|
+
} else c(e) && (e.alpha = po, e.packet = null);
|
|
3720
3733
|
});
|
|
3721
3734
|
}
|
|
3722
|
-
function
|
|
3723
|
-
let n = e.view === "dataflow", r = e.scenario ?
|
|
3735
|
+
function vo(e, t = {}) {
|
|
3736
|
+
let n = e.view === "dataflow", r = e.scenario ? qa(e) : e.selectedNode ? Ka(e.selectedNode, Ga(e), {
|
|
3724
3737
|
throughChildren: !!e.throughChildren,
|
|
3725
3738
|
kind: e.selectedKind || null
|
|
3726
|
-
}) : null, i = n && e.flow ?
|
|
3727
|
-
nodes:
|
|
3728
|
-
edges:
|
|
3739
|
+
}) : null, i = n && e.flow ? uo(e.flow) : [], a = !(n && e.flow) && !e.isFreeform ? lo(e) : [], o = {
|
|
3740
|
+
nodes: co(e, r),
|
|
3741
|
+
edges: ao(e, r, !!t.reduceMotion),
|
|
3729
3742
|
decor: {
|
|
3730
3743
|
grid: {
|
|
3731
3744
|
size: 48,
|
|
@@ -3744,18 +3757,18 @@ function go(e, t = {}) {
|
|
|
3744
3757
|
theme: "dark",
|
|
3745
3758
|
version: e.sceneVersion || 0
|
|
3746
3759
|
};
|
|
3747
|
-
e.view === "house" &&
|
|
3760
|
+
e.view === "house" && wi(o, e), e.scenario && _o(o, e.scenario, t), o.greying = o.nodes.some((e) => e.greyed) || o.edges.some((e) => e.greyed);
|
|
3748
3761
|
let s = {
|
|
3749
3762
|
nodes: o.nodes.map((e) => e.color),
|
|
3750
3763
|
edges: o.edges.map((e) => e.color)
|
|
3751
3764
|
};
|
|
3752
|
-
return e.scenario &&
|
|
3765
|
+
return e.scenario && _i(o, gi(e.scenario, e.nodes, e.edges)), e.scenario && Pi(o, e.scenario), e.forgeLit && ia(o, e.forgeLit), o.nodes.forEach((e, t) => {
|
|
3753
3766
|
s.nodes.length === o.nodes.length && e.color !== s.nodes[t] && o.painted.nodes.add(e.id);
|
|
3754
3767
|
}), o.edges.forEach((e, t) => {
|
|
3755
3768
|
s.edges.length === o.edges.length && e.color !== s.edges[t] && o.painted.edges.add(e.key);
|
|
3756
|
-
}), e.theme === "light" &&
|
|
3769
|
+
}), e.theme === "light" && zn(o), o;
|
|
3757
3770
|
}
|
|
3758
|
-
function
|
|
3771
|
+
function yo(e = vo) {
|
|
3759
3772
|
let t = null, n, r = {
|
|
3760
3773
|
builds: 0,
|
|
3761
3774
|
get(i) {
|
|
@@ -3765,7 +3778,7 @@ function _o(e = go) {
|
|
|
3765
3778
|
return r;
|
|
3766
3779
|
}
|
|
3767
3780
|
// ../explorer/engine/map-style.js
|
|
3768
|
-
var
|
|
3781
|
+
var bo = Object.freeze(Object.keys(L)), xo = Object.freeze([
|
|
3769
3782
|
"app",
|
|
3770
3783
|
"pkg",
|
|
3771
3784
|
"page",
|
|
@@ -3784,7 +3797,7 @@ var vo = Object.freeze(Object.keys(P)), yo = Object.freeze([
|
|
|
3784
3797
|
"device",
|
|
3785
3798
|
"house",
|
|
3786
3799
|
"persona"
|
|
3787
|
-
]),
|
|
3800
|
+
]), So = Object.freeze([
|
|
3788
3801
|
"ownership",
|
|
3789
3802
|
"usage",
|
|
3790
3803
|
"flow",
|
|
@@ -3796,33 +3809,33 @@ var vo = Object.freeze(Object.keys(P)), yo = Object.freeze([
|
|
|
3796
3809
|
"runs-on",
|
|
3797
3810
|
"uses",
|
|
3798
3811
|
"extends"
|
|
3799
|
-
]),
|
|
3812
|
+
]), Co = Object.freeze([
|
|
3800
3813
|
"added",
|
|
3801
3814
|
"changed",
|
|
3802
3815
|
"removed",
|
|
3803
3816
|
"edit"
|
|
3804
|
-
]),
|
|
3817
|
+
]), wo = Object.freeze([
|
|
3805
3818
|
"selected",
|
|
3806
3819
|
"match",
|
|
3807
3820
|
"lit"
|
|
3808
|
-
]),
|
|
3809
|
-
...
|
|
3810
|
-
...
|
|
3811
|
-
Co,
|
|
3812
|
-
wo,
|
|
3821
|
+
]), To = "--corn-map-stroke", Eo = "--corn-map-label", Do = "--corn-map-label-halo", Oo = "--corn-map-font", ko = "--corn-map-edge-width", Ao = "--corn-map-glow", jo = "--corn-map-label-min", Mo = "--corn-map-grey", No = "--corn-map-grey-alpha", Po = "--corn-map-glyph", Fo = "--corn-ground", Io = 1.6, Lo = 1.5, Ro = 1.2, zo = (e) => `--corn-map-node-${e}`, Bo = (e) => `--corn-map-group-${e}`, Vo = (e, t) => _r(e, t), Ho = (e) => `--corn-map-edge-${e}`, Q = (e) => `--corn-map-${e}`, Uo = Object.freeze([
|
|
3822
|
+
...bo.map(zo),
|
|
3823
|
+
...xo.map(Bo),
|
|
3813
3824
|
To,
|
|
3825
|
+
Eo,
|
|
3826
|
+
Do,
|
|
3827
|
+
Po,
|
|
3814
3828
|
Mo,
|
|
3815
|
-
|
|
3816
|
-
...
|
|
3817
|
-
...
|
|
3818
|
-
...So.map(Q)
|
|
3829
|
+
...So.map(Ho),
|
|
3830
|
+
...Co.map(Q),
|
|
3831
|
+
...wo.map(Q)
|
|
3819
3832
|
]);
|
|
3820
3833
|
function $(e, t) {
|
|
3821
|
-
let [n, r, i, a] =
|
|
3822
|
-
return o >= 1 ? e :
|
|
3834
|
+
let [n, r, i, a] = N(e), o = N(t)[3];
|
|
3835
|
+
return o >= 1 ? e : ba(n, r, i, a * o);
|
|
3823
3836
|
}
|
|
3824
|
-
var
|
|
3825
|
-
function
|
|
3837
|
+
var Wo = /^(?:serif|sans-serif|monospace|cursive|fantasy|system-ui|ui-serif|ui-sans-serif|ui-monospace|ui-rounded|emoji|math|fangsong)$/i, Go = /^(?:-apple-system|BlinkMacSystemFont)$/;
|
|
3838
|
+
function Ko(e) {
|
|
3826
3839
|
let t = typeof e == "string" ? e.trim() : "";
|
|
3827
3840
|
if (!t || t.length > 200 || t.toLowerCase() === "auto" || /[();:{}<>@\\/\u0000-\u001f\u007f]|\burl\b|\bvar\b|\bexpression\b|\bimport\b/i.test(t)) return null;
|
|
3828
3841
|
let n = t.split(",").map((e) => e.trim());
|
|
@@ -3831,46 +3844,47 @@ function Uo(e) {
|
|
|
3831
3844
|
for (let e of n) {
|
|
3832
3845
|
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;
|
|
3833
3846
|
if (!n) return null;
|
|
3834
|
-
r.push(
|
|
3847
|
+
r.push(Wo.test(n) ? n.toLowerCase() : Go.test(n) ? n : `"${n}"`);
|
|
3835
3848
|
}
|
|
3836
3849
|
return r.join(", ");
|
|
3837
3850
|
}
|
|
3838
|
-
function
|
|
3851
|
+
function qo(e, t) {
|
|
3839
3852
|
let n = /^\s*(\d*\.?\d+)(?:px)?\s*$/i.exec(String(e ?? "")), r = n ? parseFloat(n[1]) : NaN;
|
|
3840
3853
|
return Number.isFinite(r) && r > 0 && r <= t ? r : null;
|
|
3841
3854
|
}
|
|
3842
|
-
function
|
|
3843
|
-
let t =
|
|
3855
|
+
function Jo(e) {
|
|
3856
|
+
let t = qo(e, 24);
|
|
3844
3857
|
return t !== null && t >= 9 ? t : null;
|
|
3845
3858
|
}
|
|
3846
|
-
function
|
|
3859
|
+
function Yo(e) {
|
|
3847
3860
|
let t = /^\s*(\d*\.?\d+)(px)?\s*$/i.exec(String(e ?? ""));
|
|
3848
3861
|
if (!t) return null;
|
|
3849
3862
|
let n = parseFloat(t[1]);
|
|
3850
3863
|
return t[2] && n !== 0 ? null : Number.isFinite(n) && n >= 0 && n <= 4 ? n : null;
|
|
3851
3864
|
}
|
|
3852
|
-
function
|
|
3865
|
+
function Xo(e) {
|
|
3853
3866
|
let t = /^\s*(\d*\.?\d+)\s*$/.exec(String(e ?? "")), n = t ? parseFloat(t[1]) : NaN;
|
|
3854
3867
|
return Number.isFinite(n) && n >= .1 && n <= 1 ? n : null;
|
|
3855
3868
|
}
|
|
3856
|
-
function
|
|
3869
|
+
function Zo(e, t = []) {
|
|
3857
3870
|
let n = {};
|
|
3858
|
-
for (let r of [...
|
|
3859
|
-
let t =
|
|
3871
|
+
for (let r of [...Uo, ...t]) {
|
|
3872
|
+
let t = ma(e(r));
|
|
3860
3873
|
t && (n[r] = t);
|
|
3861
3874
|
}
|
|
3862
3875
|
let r = parseFloat(String(e("--corn-map-stroke-width") ?? ""));
|
|
3863
3876
|
return {
|
|
3864
3877
|
values: n,
|
|
3865
|
-
strokeWidth: Number.isFinite(r) && r >= 0 ? r :
|
|
3866
|
-
font:
|
|
3867
|
-
edgeWidth:
|
|
3868
|
-
glow:
|
|
3869
|
-
labelMin:
|
|
3870
|
-
greyAlpha:
|
|
3878
|
+
strokeWidth: Number.isFinite(r) && r >= 0 ? r : Lo,
|
|
3879
|
+
font: Ko(e(Oo)),
|
|
3880
|
+
edgeWidth: qo(e(ko), 12),
|
|
3881
|
+
glow: Yo(e(Ao)),
|
|
3882
|
+
labelMin: Jo(e(jo)),
|
|
3883
|
+
greyAlpha: Xo(e(No)),
|
|
3884
|
+
ground: ma(e(Fo))
|
|
3871
3885
|
};
|
|
3872
3886
|
}
|
|
3873
|
-
function
|
|
3887
|
+
function Qo(e, t = "") {
|
|
3874
3888
|
return new Promise((n, r) => {
|
|
3875
3889
|
if (typeof Image > "u") {
|
|
3876
3890
|
r(/* @__PURE__ */ Error("no Image"));
|
|
@@ -3880,10 +3894,10 @@ function Yo(e, t = "") {
|
|
|
3880
3894
|
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;
|
|
3881
3895
|
});
|
|
3882
3896
|
}
|
|
3883
|
-
function
|
|
3897
|
+
function $o(e, { load: t = Qo, onChange: n = () => {}, warn: r = (e) => console.warn(e) } = {}) {
|
|
3884
3898
|
let i = /* @__PURE__ */ new Map(), a = 0;
|
|
3885
3899
|
for (let [o, s] of Object.entries(e || {})) {
|
|
3886
|
-
if (!
|
|
3900
|
+
if (!br(o) || typeof s != "string" || !s.startsWith("/cornfield/theme/assets/") || s.includes("..")) continue;
|
|
3887
3901
|
let e = {
|
|
3888
3902
|
status: "loading",
|
|
3889
3903
|
image: null
|
|
@@ -3904,29 +3918,31 @@ function Xo(e, { load: t = Yo, onChange: n = () => {}, warn: r = (e) => console.
|
|
|
3904
3918
|
anyReady: () => a > 0
|
|
3905
3919
|
};
|
|
3906
3920
|
}
|
|
3907
|
-
var
|
|
3921
|
+
var es = {
|
|
3908
3922
|
values: {},
|
|
3909
|
-
strokeWidth:
|
|
3923
|
+
strokeWidth: Lo,
|
|
3910
3924
|
font: null,
|
|
3911
3925
|
edgeWidth: null,
|
|
3912
3926
|
glow: null,
|
|
3913
3927
|
labelMin: null,
|
|
3914
|
-
greyAlpha: null
|
|
3915
|
-
|
|
3928
|
+
greyAlpha: null,
|
|
3929
|
+
ground: null
|
|
3930
|
+
}, ts = Object.freeze({
|
|
3916
3931
|
version: 0,
|
|
3917
3932
|
values: Object.freeze({}),
|
|
3918
|
-
strokeWidth:
|
|
3933
|
+
strokeWidth: Lo,
|
|
3919
3934
|
font: null,
|
|
3920
3935
|
edgeWidth: null,
|
|
3921
3936
|
glow: null,
|
|
3922
3937
|
labelMin: null,
|
|
3923
3938
|
greyAlpha: null,
|
|
3939
|
+
ground: null,
|
|
3924
3940
|
icons: null,
|
|
3925
3941
|
pixelated: !1,
|
|
3926
3942
|
plain: !0
|
|
3927
|
-
}),
|
|
3928
|
-
function
|
|
3929
|
-
let t =
|
|
3943
|
+
}), ns = 500;
|
|
3944
|
+
function rs(e) {
|
|
3945
|
+
let t = es, n = null, r = !1, i = 0, a = [], o = /* @__PURE__ */ new Set(), s = () => {
|
|
3930
3946
|
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;
|
|
3931
3947
|
return Object.freeze({
|
|
3932
3948
|
version: i,
|
|
@@ -3937,6 +3953,7 @@ function es(e) {
|
|
|
3937
3953
|
glow: t.glow,
|
|
3938
3954
|
labelMin: t.labelMin,
|
|
3939
3955
|
greyAlpha: t.greyAlpha,
|
|
3956
|
+
ground: t.ground,
|
|
3940
3957
|
icons: n,
|
|
3941
3958
|
pixelated: r,
|
|
3942
3959
|
plain: e
|
|
@@ -3953,13 +3970,13 @@ function es(e) {
|
|
|
3953
3970
|
return o.add(e), () => o.delete(e);
|
|
3954
3971
|
},
|
|
3955
3972
|
setSubjects({ kinds: e = [], layers: t = [] } = {}) {
|
|
3956
|
-
let n = [...new Set([...e.map(([e, t]) =>
|
|
3973
|
+
let n = [...new Set([...e.map(([e, t]) => _r(e, t)), ...t.map((e) => vr(e))].filter(Boolean))].sort().slice(0, ns);
|
|
3957
3974
|
return n.length === a.length && n.every((e, t) => e === a[t]) ? !1 : (a = n, d.refresh());
|
|
3958
3975
|
},
|
|
3959
3976
|
refresh(n = e.tokenReader()) {
|
|
3960
3977
|
if (!n) return !1;
|
|
3961
|
-
let r =
|
|
3962
|
-
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;
|
|
3978
|
+
let r = Zo(n, a);
|
|
3979
|
+
if (r.strokeWidth === t.strokeWidth && r.font === t.font && r.edgeWidth === t.edgeWidth && r.glow === t.glow && r.labelMin === t.labelMin && r.ground === t.ground && Object.keys(r.values).length === Object.keys(t.values).length && Object.entries(r.values).every(([e, n]) => t.values[e] === n)) return !1;
|
|
3963
3980
|
t = r, u();
|
|
3964
3981
|
try {
|
|
3965
3982
|
let t = e.doc && e.doc.fonts;
|
|
@@ -3970,8 +3987,8 @@ function es(e) {
|
|
|
3970
3987
|
setIcons(t, i = {}) {
|
|
3971
3988
|
let a = t && t.icons && typeof t.icons == "object" ? t.icons : {};
|
|
3972
3989
|
r = !!(t && t.pixelated === !0);
|
|
3973
|
-
let o = e.base ? "anonymous" : "", s = i.load || ((t) =>
|
|
3974
|
-
return n = Object.keys(a).length ?
|
|
3990
|
+
let o = e.base ? "anonymous" : "", s = i.load || ((t) => Qo(e.url(t), o));
|
|
3991
|
+
return n = Object.keys(a).length ? $o(a, {
|
|
3975
3992
|
...i,
|
|
3976
3993
|
load: s,
|
|
3977
3994
|
onChange: () => {
|
|
@@ -3984,7 +4001,7 @@ function es(e) {
|
|
|
3984
4001
|
return r && r.setAttribute && (t && t.pixelated === !0 ? r.setAttribute("data-pixelated", "") : r.removeAttribute("data-pixelated")), d.setIcons(t, n);
|
|
3985
4002
|
},
|
|
3986
4003
|
reset() {
|
|
3987
|
-
t =
|
|
4004
|
+
t = es, n = null, r = !1, a = [], u();
|
|
3988
4005
|
},
|
|
3989
4006
|
watch() {
|
|
3990
4007
|
let n = () => {
|
|
@@ -4022,12 +4039,12 @@ function es(e) {
|
|
|
4022
4039
|
};
|
|
4023
4040
|
return d;
|
|
4024
4041
|
}
|
|
4025
|
-
var
|
|
4042
|
+
var is = (e) => e.slot("map-style", rs), as = (e, t) => {
|
|
4026
4043
|
for (let n of t) if (e[n]) return e[n];
|
|
4027
4044
|
return null;
|
|
4028
|
-
},
|
|
4029
|
-
function
|
|
4030
|
-
let n = t.edgeWidth == null ? 1 : t.edgeWidth /
|
|
4045
|
+
}, os = yr, ss = (e, t) => as(e, os(t));
|
|
4046
|
+
function cs(e, t) {
|
|
4047
|
+
let n = t.edgeWidth == null ? 1 : t.edgeWidth / Io, r = t.glow == null ? 1 : t.glow;
|
|
4031
4048
|
if (n === 1 && r === 1) return e;
|
|
4032
4049
|
let i = {
|
|
4033
4050
|
...e,
|
|
@@ -4039,19 +4056,19 @@ function as(e, t) {
|
|
|
4039
4056
|
glow: e.packet.glow * r
|
|
4040
4057
|
}), i;
|
|
4041
4058
|
}
|
|
4042
|
-
function
|
|
4059
|
+
function ls(e, t, n) {
|
|
4043
4060
|
let { values: r } = t;
|
|
4044
4061
|
if (e.mark && e.mark !== "none") {
|
|
4045
4062
|
let n = r[Q(e.mark)];
|
|
4046
|
-
return
|
|
4063
|
+
return cs(n ? {
|
|
4047
4064
|
...e,
|
|
4048
4065
|
color: n,
|
|
4049
4066
|
glowColor: e.glowColor ? n : e.glowColor
|
|
4050
4067
|
} : e, t);
|
|
4051
4068
|
}
|
|
4052
|
-
if (n.has(e.key)) return
|
|
4053
|
-
let i = !e.curve && e.glow > 0 && !e.arrow && r[Q("lit")] || r[
|
|
4054
|
-
if (!i) return
|
|
4069
|
+
if (n.has(e.key)) return cs(e, t);
|
|
4070
|
+
let i = !e.curve && e.glow > 0 && !e.arrow && r[Q("lit")] || r[Ho(e.kind)];
|
|
4071
|
+
if (!i) return cs(e, t);
|
|
4055
4072
|
let a = {
|
|
4056
4073
|
...e,
|
|
4057
4074
|
color: $(i, e.color)
|
|
@@ -4059,18 +4076,18 @@ function os(e, t, n) {
|
|
|
4059
4076
|
return e.glowColor && (a.glowColor = $(i, e.glowColor)), e.packet && (a.packet = {
|
|
4060
4077
|
...e.packet,
|
|
4061
4078
|
glowColor: $(i, e.packet.glowColor)
|
|
4062
|
-
}),
|
|
4079
|
+
}), cs(a, t);
|
|
4063
4080
|
}
|
|
4064
|
-
function
|
|
4065
|
-
let [t, n, r, i] =
|
|
4066
|
-
return i >= 1 ? `rgb(${a}, ${a}, ${a})` :
|
|
4081
|
+
function us(e) {
|
|
4082
|
+
let [t, n, r, i] = N(e), a = Math.round(.2126 * t + .7152 * n + .0722 * r);
|
|
4083
|
+
return i >= 1 ? `rgb(${a}, ${a}, ${a})` : ba(a, a, a, i);
|
|
4067
4084
|
}
|
|
4068
|
-
function
|
|
4069
|
-
let { values: n } = t, r = n[
|
|
4085
|
+
function ds(e, t) {
|
|
4086
|
+
let { values: n } = t, r = n[Mo], i = t.greyAlpha == null ? 1 : t.greyAlpha / bn, a = (e) => r ? $(r, e) : us(e), o = n[Eo], s = n[To], c = e.painted || {
|
|
4070
4087
|
nodes: /* @__PURE__ */ new Set(),
|
|
4071
4088
|
edges: /* @__PURE__ */ new Set()
|
|
4072
4089
|
}, l = e.nodes.map((e) => {
|
|
4073
|
-
let r = !c.nodes.has(e.id) &&
|
|
4090
|
+
let r = !c.nodes.has(e.id) && ss(n, e), l = t.icons && xr(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);
|
|
4074
4091
|
if (!r && !o && !s && !l && !u && !d) return e;
|
|
4075
4092
|
let f = { ...e };
|
|
4076
4093
|
return u && (f.glow = e.glow * t.glow), r && (f.color = r), o && (f.labelColor = $(o, e.labelColor)), s && t.strokeWidth > 0 && (f.stroke = {
|
|
@@ -4078,7 +4095,7 @@ function cs(e, t) {
|
|
|
4078
4095
|
width: t.strokeWidth
|
|
4079
4096
|
}), l && !d && (f.icon = l), d && (f.color = a(f.color), f.alpha = Math.min(1, e.alpha * i)), f;
|
|
4080
4097
|
}), u = e.edges.map((e) => {
|
|
4081
|
-
let n =
|
|
4098
|
+
let n = ls(e, t, c.edges);
|
|
4082
4099
|
return !e.greyed || c.edges.has(e.key) ? n : {
|
|
4083
4100
|
...n,
|
|
4084
4101
|
color: a(n.color),
|
|
@@ -4091,9 +4108,9 @@ function cs(e, t) {
|
|
|
4091
4108
|
edges: u
|
|
4092
4109
|
};
|
|
4093
4110
|
t.font && (d.labelFont = t.font), t.labelMin != null && (d.labelMin = t.labelMin);
|
|
4094
|
-
let f = n[
|
|
4111
|
+
let f = n[Do];
|
|
4095
4112
|
if (f) {
|
|
4096
|
-
let { node: t, edge: n } =
|
|
4113
|
+
let { node: t, edge: n } = Ra(e.theme).labelOutline;
|
|
4097
4114
|
d.labelOutline = {
|
|
4098
4115
|
node: {
|
|
4099
4116
|
...t,
|
|
@@ -4107,21 +4124,21 @@ function cs(e, t) {
|
|
|
4107
4124
|
}
|
|
4108
4125
|
return d;
|
|
4109
4126
|
}
|
|
4110
|
-
var
|
|
4111
|
-
function
|
|
4127
|
+
var fs = /* @__PURE__ */ new WeakMap();
|
|
4128
|
+
function ps(e, t) {
|
|
4112
4129
|
if (!t || t.plain && !e.greying) return e;
|
|
4113
|
-
let n =
|
|
4130
|
+
let n = fs.get(e);
|
|
4114
4131
|
if (n && n.style === t) return n.out;
|
|
4115
|
-
let r =
|
|
4116
|
-
return
|
|
4132
|
+
let r = ds(e, t);
|
|
4133
|
+
return fs.set(e, {
|
|
4117
4134
|
style: t,
|
|
4118
4135
|
out: r
|
|
4119
4136
|
}), r;
|
|
4120
4137
|
}
|
|
4121
|
-
var
|
|
4122
|
-
function
|
|
4138
|
+
var ms = /* @__PURE__ */ new WeakMap();
|
|
4139
|
+
function hs(e, t) {
|
|
4123
4140
|
if (!t || t.plain) return e;
|
|
4124
|
-
let n =
|
|
4141
|
+
let n = ms.get(e);
|
|
4125
4142
|
if (n && n.style === t) return n.out;
|
|
4126
4143
|
let { values: r } = t, i = { ...e.halo };
|
|
4127
4144
|
for (let e of ["selected", "match"]) {
|
|
@@ -4133,7 +4150,7 @@ function fs(e, t) {
|
|
|
4133
4150
|
});
|
|
4134
4151
|
}
|
|
4135
4152
|
let a = { ...e.mark };
|
|
4136
|
-
for (let e of
|
|
4153
|
+
for (let e of Co) {
|
|
4137
4154
|
let t = r[Q(e)];
|
|
4138
4155
|
t && (a[e] = {
|
|
4139
4156
|
...a[e],
|
|
@@ -4145,11 +4162,11 @@ function fs(e, t) {
|
|
|
4145
4162
|
halo: i,
|
|
4146
4163
|
mark: a
|
|
4147
4164
|
};
|
|
4148
|
-
return
|
|
4165
|
+
return ms.set(e, {
|
|
4149
4166
|
style: t,
|
|
4150
4167
|
out: o
|
|
4151
4168
|
}), o;
|
|
4152
4169
|
}
|
|
4153
4170
|
// \0corn-default-tokens
|
|
4154
|
-
var ps = "/* 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-layers[theme=\"light\"]),\n:where(corn-map[theme=\"light\"]),\n:where(corn-node-panel[theme=\"light\"]),\n:where(corn-review[theme=\"light\"]),\n:where(corn-scope[theme=\"light\"]),\n:where(corn-search[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-layers[theme=\"dark\"]),\n:where(corn-map[theme=\"dark\"]),\n:where(corn-node-panel[theme=\"dark\"]),\n:where(corn-review[theme=\"dark\"]),\n:where(corn-scope[theme=\"dark\"]),\n:where(corn-search[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";
|
|
4155
|
-
export {
|
|
4171
|
+
var gs = "/* 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-changes[theme=\"light\"]),\n:where(corn-decision[theme=\"light\"]),\n:where(corn-layers[theme=\"light\"]),\n:where(corn-map[theme=\"light\"]),\n:where(corn-node-panel[theme=\"light\"]),\n:where(corn-proposal[theme=\"light\"]),\n:where(corn-review[theme=\"light\"]),\n:where(corn-scope[theme=\"light\"]),\n:where(corn-search[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-changes[theme=\"dark\"]),\n:where(corn-decision[theme=\"dark\"]),\n:where(corn-layers[theme=\"dark\"]),\n:where(corn-map[theme=\"dark\"]),\n:where(corn-node-panel[theme=\"dark\"]),\n:where(corn-proposal[theme=\"dark\"]),\n:where(corn-review[theme=\"dark\"]),\n:where(corn-scope[theme=\"dark\"]),\n:where(corn-search[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";
|
|
4172
|
+
export { V as $, et as $t, Wa as A, c as An, Xt as At, Yi as B, Et as Bt, vo as C, D as Cn, Ln as Ct, Ka as D, v as Dn, pn as Dt, so as E, y as En, N as Et, ua as F, Bt as Ft, Xi as G, wt as Gt, Wi as H, Dt as Ht, Fi as I, zt as It, H as J, ht as Jt, hi as K, xt as Kt, Bi as L, Lt, Za as M, n as Mn, Yt as Mt, ma as N, qt as Nt, oo as O, p as On, Ht as Ot, ca as P, Vt as Pt, $r as Q, ze as Qt, zi as R, It as Rt, Pa as S, ee as Sn, kn as St, Xa as T, _ as Tn, fn as Tt, qi as U, kt as Ut, Hi as V, Tt as Vt, Ui as W, Ot as Wt, ii as X, yt as Xt, oi as Y, vt as Yt, ni as Z, ft as Zt, Sa as _, C as _n, $n as _t, To as a, Ee as an, Fr as at, Ma as b, te as bn, wn as bt, hs as c, we as cn, Dr as ct, ka as d, ye as dn, er as dt, it as en, zr as et, Ta as f, xe as fn, Un as ft, Ca as g, me as gn, rr as gt, wa as h, Se as hn, Vn as ht, ts as i, Fe as in, lr as it, Ra as j, l as jn, Qt as jt, X as k, d as kn, M as kt, is as l, Te as ln, Jn as lt, ja as m, be as mn, L as mt, Po as n, Re as nn, Br as nt, ss as o, Ae as on, Lr as ot, Ia as p, _e as pn, Xn as pt, di as q, j as qt, Ro as r, Le as rn, Ur as rt, Vo as s, De as sn, Ir as st, gs as t, nt as tn, ei as tt, ps as u, ge as un, qn as ut, Ha as v, S as vn, Qn as vt, yo as w, E as wn, gn as wt, J as x, A as xn, Cn as xt, Na as y, k as yn, Zn as yt, ta as z, Rt as zt };
|