@popcorn245/cornfield-components 0.52.1 → 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-BmXtSISH.js → engine-xmHJvQY9.js} +1188 -1186
- package/dist/chunks/{layers-Bj4Tluxe.js → layers-ho10a2y7.js} +48 -48
- package/dist/chunks/{map-BZRFOYkt.js → map-DbfPgQRe.js} +385 -385
- 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-CK5tYIqk.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-D-sMZzSs.js → sheets-BWANwtZP.js} +7 -2
- package/dist/chunks/source-address-DXanAREm.js +57 -0
- package/dist/chunks/{status-DI5QLlAp.js → status-DM-iIEsg.js} +4 -3
- 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-BFqYTZ0K.js +0 -78
- package/dist/chunks/corn-layers-Cni5rISZ.js +0 -275
- package/dist/chunks/corn-map-B2-YxiEL.js +0 -125
- package/dist/chunks/corn-node-panel-BkvJThlp.js +0 -42
- package/dist/chunks/corn-review-5wf7AT4o.js +0 -2900
- package/dist/chunks/corn-search-CXs5d06S.js +0 -484
- package/dist/chunks/node-panel-BdvFvWCE.js +0 -1291
- package/dist/chunks/scope-CqPbHcKL.js +0 -137
- 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: dn[At(e)],
|
|
1816
|
-
browser: e.side === "browser",
|
|
1817
|
-
key: _n(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: _n(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) || dn[d.get(e.key)] > n) && d.set(e.key, F[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: F[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 yn(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 I && I.key === i && I.nodes === t && I.edges === n || (I = {
|
|
1891
|
-
key: i,
|
|
1892
|
-
nodes: t,
|
|
1893
|
-
edges: n,
|
|
1894
|
-
radius: vn(r, t, n)
|
|
1895
|
-
}), I.radius;
|
|
1896
|
-
}
|
|
1897
|
-
function bn(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: hn.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 = hn.halo);
|
|
1912
|
-
continue;
|
|
1913
|
-
}
|
|
1914
|
-
let e = t.hits.get(r.id);
|
|
1915
|
-
if (!e) continue;
|
|
1916
|
-
let i = Math.max(r.alpha, gn.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, gn.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);
|
|
1851
|
+
}
|
|
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";
|
|
1945
1902
|
}
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
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 Dn(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) : En.includes(t.type) && (t.labelKeep = !0);
|
|
1969
|
-
return n && n.cloudIds && n.cloudIds.size && Mn(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
|
-
}, Pn = 18, Fn = 4.5;
|
|
2005
|
-
function In(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, Pn));
|
|
2017
|
-
} else a && e.edges.forEach((e) => {
|
|
2018
|
-
In(e, a) && (e.color = r, e.glowColor = r, e.glow = Math.max(e.glow || 0, Pn), e.width = Math.max(e.width || 0, Fn), 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 Rn = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, zn = 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,582 +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
|
-
}
|
|
2430
|
-
for (let e of t)
|
|
2431
|
-
return a;
|
|
2432
|
-
}
|
|
2433
|
-
function Ar({ active: e, touched: t, universe: n, review: r }) {
|
|
2434
|
-
let i = { ...e };
|
|
2435
|
-
if (!r.whole && t.size) for (let e of n) i[e] = t.has(e);
|
|
2436
|
-
return Object.assign(i, r.manual || {}, r.step || {}), i;
|
|
2437
|
-
}
|
|
2438
|
-
var jr = /* @__PURE__ */ new WeakMap();
|
|
2439
|
-
function Mr(e) {
|
|
2440
|
-
let t = e.nodes, n = e.edges || [], r = e.runsMap ? e.runsMap.flight : null, i = jr.get(t);
|
|
2441
|
-
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 = kr({
|
|
2443
|
-
nodes: t,
|
|
2444
|
-
edges: n,
|
|
2445
|
-
rowOf: (t) => xr(e, t),
|
|
2446
|
-
flight: r
|
|
2447
|
-
}), o = /* @__PURE__ */ new Set([
|
|
2448
|
-
...Wn.map((e) => e.key),
|
|
2449
|
-
...(e.projectLayers || []).map((e) => e.key),
|
|
2450
|
-
...t.map((t) => xr(e, t)).filter(Boolean)
|
|
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 jr.set(t, s), s;
|
|
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;
|
|
2580
|
+
}
|
|
2581
|
+
for (let e of t) qr(e) && e.kind === "flow" && a.add("flow");
|
|
2582
|
+
return a;
|
|
2644
2583
|
}
|
|
2645
|
-
function
|
|
2646
|
-
let
|
|
2647
|
-
|
|
2648
|
-
return
|
|
2584
|
+
function Yr({ active: e, touched: t, universe: n, review: r }) {
|
|
2585
|
+
let i = { ...e };
|
|
2586
|
+
if (!r.whole && t.size) for (let e of n) i[e] = t.has(e);
|
|
2587
|
+
return Object.assign(i, r.manual || {}, r.step || {}), i;
|
|
2649
2588
|
}
|
|
2650
|
-
var
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
let
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
]
|
|
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);
|
|
2592
|
+
if (i && i.edges === n && i.n === t.length && i.e === n.length && i.flight === r && i.project === e.projectLayers) return i;
|
|
2593
|
+
let a = Jr({
|
|
2594
|
+
nodes: t,
|
|
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;
|
|
2664
2612
|
}
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
let
|
|
2672
|
-
|
|
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;
|
|
2673
2632
|
}
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
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;
|
|
2637
|
+
}
|
|
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"
|
|
2708
2706
|
}
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
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"
|
|
2715
2725
|
}
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
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
|
+
}
|
|
2730
2771
|
}
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
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
|
+
}
|
|
2739
2806
|
}
|
|
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
|
|
2822
|
+
};
|
|
2823
|
+
}).filter((e) => e.ids.length)
|
|
2824
|
+
};
|
|
2740
2825
|
}
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
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;
|
|
2748
2837
|
}
|
|
2749
|
-
function
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
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
|
+
});
|
|
2867
|
+
}
|
|
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
|
+
};
|
|
2876
|
+
}
|
|
2757
2877
|
}
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
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
|
-
t
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
}
|
|
2774
|
-
dark: Object.freeze({
|
|
2775
|
-
added: "#2dd4bf",
|
|
2776
|
-
changed: "#fbbf24",
|
|
2777
|
-
removed: "#fa9292",
|
|
2778
|
-
edit: "#b49cfb"
|
|
2779
|
-
}),
|
|
2780
|
-
light: Object.freeze({
|
|
2781
|
-
added: "#197c6f",
|
|
2782
|
-
changed: "#8f6703",
|
|
2783
|
-
removed: "#e20b0b",
|
|
2784
|
-
edit: "#6839f6"
|
|
2785
|
-
})
|
|
2786
|
-
}), ti = .85, ni = .9, ri = .6, ii = .45, ai = Object.freeze({
|
|
2787
|
-
light: ri,
|
|
2788
|
-
dark: .5
|
|
2789
|
-
}), oi = Object.freeze({
|
|
2790
|
-
added: Object.freeze({
|
|
2791
|
-
ringDash: Object.freeze([5, 4]),
|
|
2792
|
-
edgeDash: Object.freeze([7, 5]),
|
|
2793
|
-
strike: !1
|
|
2794
|
-
}),
|
|
2795
|
-
changed: Object.freeze({
|
|
2796
|
-
ringDash: null,
|
|
2797
|
-
edgeDash: null,
|
|
2798
|
-
strike: !1
|
|
2799
|
-
}),
|
|
2800
|
-
removed: Object.freeze({
|
|
2801
|
-
ringDash: null,
|
|
2802
|
-
edgeDash: Object.freeze([3, 4]),
|
|
2803
|
-
strike: !0
|
|
2804
|
-
}),
|
|
2805
|
-
edit: Object.freeze({
|
|
2806
|
-
ringDash: Object.freeze([2, 5]),
|
|
2807
|
-
edgeDash: Object.freeze([12, 4]),
|
|
2808
|
-
strike: !1
|
|
2809
|
-
})
|
|
2810
|
-
}), si = "#f4f6fa", ci = "#090d16", li = {
|
|
2811
|
-
mark: 3.2,
|
|
2812
|
-
text: 4.8
|
|
2813
|
-
}, ui = .16, di = 1.35, fi = .11;
|
|
2814
|
-
function pi(e, t) {
|
|
2815
|
-
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);
|
|
2816
2895
|
}
|
|
2817
|
-
function
|
|
2818
|
-
|
|
2819
|
-
if (o === s) return [
|
|
2820
|
-
0,
|
|
2821
|
-
0,
|
|
2822
|
-
c
|
|
2823
|
-
];
|
|
2824
|
-
let l = o - s, u = c > .5 ? l / (2 - o - s) : l / (o + s);
|
|
2825
|
-
return [
|
|
2826
|
-
(o === r ? (i - a) / l + (i < a ? 6 : 0) : o === i ? (a - r) / l + 2 : (r - i) / l + 4) * 60,
|
|
2827
|
-
u,
|
|
2828
|
-
c
|
|
2829
|
-
];
|
|
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;
|
|
2830
2898
|
}
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
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;
|
|
2838
2911
|
}
|
|
2839
|
-
var
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
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
|
+
});
|
|
2845
2939
|
}
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
]);
|
|
2855
|
-
if ((Math.max(n, r, i) - Math.min(n, r, i)) / 255 < ui && c > .5) return _i(hi([
|
|
2856
|
-
o,
|
|
2857
|
-
s,
|
|
2858
|
-
Math.max(fi, 1 - c)
|
|
2859
|
-
]), a);
|
|
2860
|
-
let l = li[t] || li.mark;
|
|
2861
|
-
if ($r(Qr([
|
|
2862
|
-
n,
|
|
2863
|
-
r,
|
|
2864
|
-
i
|
|
2865
|
-
]), vi) >= l) return e;
|
|
2866
|
-
let u = 0, d = c;
|
|
2867
|
-
for (let e = 0; e < 20; e++) {
|
|
2868
|
-
let e = (u + d) / 2;
|
|
2869
|
-
$r(Qr(hi([
|
|
2870
|
-
o,
|
|
2871
|
-
s,
|
|
2872
|
-
e
|
|
2873
|
-
])), vi) >= l ? u = e : d = e;
|
|
2874
|
-
}
|
|
2875
|
-
return _i(hi([
|
|
2876
|
-
o,
|
|
2877
|
-
s,
|
|
2878
|
-
u
|
|
2879
|
-
]), 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";
|
|
2880
2948
|
}
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
}
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
...t.packet,
|
|
2903
|
-
color: H(t.packet.color),
|
|
2904
|
-
glowColor: H(t.packet.glowColor)
|
|
2905
|
-
};
|
|
2906
|
-
}
|
|
2907
|
-
let { decor: t } = e;
|
|
2908
|
-
return t.grid &&= {
|
|
2909
|
-
...t.grid,
|
|
2910
|
-
color: H(t.grid.color)
|
|
2911
|
-
}, t.rings = t.rings.map((e) => ({
|
|
2912
|
-
...e,
|
|
2913
|
-
color: H(e.color)
|
|
2914
|
-
})), t.lanes = t.lanes.map((e) => {
|
|
2915
|
-
let t = {
|
|
2916
|
-
...e,
|
|
2917
|
-
fill: H(e.fill),
|
|
2918
|
-
stroke: H(e.stroke)
|
|
2919
|
-
};
|
|
2920
|
-
for (let e of [
|
|
2921
|
-
"title",
|
|
2922
|
-
"note",
|
|
2923
|
-
"arrow"
|
|
2924
|
-
]) t[e] && (t[e] = { ...t[e] }, Si(t[e]));
|
|
2925
|
-
return t;
|
|
2926
|
-
}), 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
|
+
});
|
|
2927
2970
|
}
|
|
2928
|
-
var
|
|
2929
|
-
Object.freeze(Object.keys(
|
|
2930
|
-
var
|
|
2931
|
-
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) {
|
|
2932
2975
|
let t = e.slice(6), n = t.indexOf("|");
|
|
2933
2976
|
return {
|
|
2934
2977
|
type: t.slice(0, n),
|
|
2935
2978
|
ink: t.slice(n + 1)
|
|
2936
2979
|
};
|
|
2937
2980
|
}
|
|
2938
|
-
var
|
|
2981
|
+
var Gi = ([e, t, n]) => {
|
|
2939
2982
|
let r = (e) => {
|
|
2940
2983
|
let t = e / 255;
|
|
2941
2984
|
return t <= .03928 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
|
|
2942
2985
|
};
|
|
2943
2986
|
return .2126 * r(e) + .7152 * r(t) + .0722 * r(n);
|
|
2944
|
-
},
|
|
2987
|
+
}, Ki = (e, t) => {
|
|
2945
2988
|
let [n, r] = e > t ? [e, t] : [t, e];
|
|
2946
2989
|
return (n + .05) / (r + .05);
|
|
2947
2990
|
};
|
|
2948
|
-
function
|
|
2949
|
-
let n =
|
|
2950
|
-
n[3] < 1 && (n =
|
|
2991
|
+
function qi(e, t = wn) {
|
|
2992
|
+
let n = N(e);
|
|
2993
|
+
n[3] < 1 && (n = fn(n, fn(N(t), [
|
|
2951
2994
|
0,
|
|
2952
2995
|
0,
|
|
2953
2996
|
0,
|
|
2954
2997
|
1
|
|
2955
2998
|
])));
|
|
2956
|
-
let r =
|
|
2957
|
-
return
|
|
2999
|
+
let r = Gi(n);
|
|
3000
|
+
return Ki(1, r) >= Ki(Gi(N("#0b1220")), r) ? zi : Bi;
|
|
2958
3001
|
}
|
|
2959
|
-
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 = {
|
|
2960
3003
|
root: (e) => {
|
|
2961
|
-
|
|
3004
|
+
Qi(e, 12, 12, 8), G(e, 12, 12, 3.2);
|
|
2962
3005
|
},
|
|
2963
3006
|
app: (e) => {
|
|
2964
3007
|
e.beginPath(), e.rect(3.5, 5, 17, 14), e.stroke(), W(e, 3.5, 9.5, 20.5, 9.5);
|
|
@@ -2970,7 +3013,7 @@ var Ii = (e, t) => e && e.ground || (t === "light" ? "#f4f6fa" : "#090d16"), Li
|
|
|
2970
3013
|
e.beginPath(), e.rect(4, 7, 16, 13), e.stroke(), W(e, 4, 12, 20, 12), W(e, 12, 7, 12, 12);
|
|
2971
3014
|
},
|
|
2972
3015
|
core: (e) => {
|
|
2973
|
-
|
|
3016
|
+
Qi(e, 12, 12, 8.2), G(e, 12, 12, 4);
|
|
2974
3017
|
},
|
|
2975
3018
|
token: (e) => {
|
|
2976
3019
|
for (let [t, n] of [
|
|
@@ -3033,76 +3076,35 @@ var Ii = (e, t) => e && e.ground || (t === "light" ? "#f4f6fa" : "#090d16"), Li
|
|
|
3033
3076
|
function W(e, t, n, r, i) {
|
|
3034
3077
|
e.beginPath(), e.moveTo(t, n), e.lineTo(r, i), e.stroke();
|
|
3035
3078
|
}
|
|
3036
|
-
function
|
|
3079
|
+
function Qi(e, t, n, r) {
|
|
3037
3080
|
e.beginPath(), e.arc(t, n, r, 0, Math.PI * 2), e.stroke();
|
|
3038
3081
|
}
|
|
3039
3082
|
function G(e, t, n, r) {
|
|
3040
3083
|
e.beginPath(), e.arc(t, n, r, 0, Math.PI * 2), e.fill();
|
|
3041
3084
|
}
|
|
3042
|
-
function
|
|
3043
|
-
let i =
|
|
3085
|
+
function $i(e, t, n, r) {
|
|
3086
|
+
let i = Zi[t];
|
|
3044
3087
|
if (!i) return;
|
|
3045
|
-
let a = n /
|
|
3088
|
+
let a = n / Li;
|
|
3046
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();
|
|
3047
3090
|
}
|
|
3048
|
-
var
|
|
3049
|
-
function
|
|
3050
|
-
if (!
|
|
3051
|
-
let n =
|
|
3052
|
-
if (
|
|
3053
|
-
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;
|
|
3054
3097
|
let r = null;
|
|
3055
3098
|
try {
|
|
3056
|
-
let n = typeof OffscreenCanvas < "u" ? new OffscreenCanvas(
|
|
3057
|
-
width:
|
|
3058
|
-
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
|
|
3059
3102
|
}) : null, i = n && n.getContext && n.getContext("2d");
|
|
3060
|
-
i && i.stroke && (
|
|
3103
|
+
i && i.stroke && ($i(i, e, Ii, t), r = n);
|
|
3061
3104
|
} catch {
|
|
3062
3105
|
r = null;
|
|
3063
3106
|
}
|
|
3064
|
-
return
|
|
3065
|
-
}
|
|
3066
|
-
// ../explorer/review-model.js
|
|
3067
|
-
var Wi = 6e4, Gi = 60 * Wi, Ki = 24 * Gi, qi = (e, t) => `${e} ${t}${e === 1 ? "" : "s"}`;
|
|
3068
|
-
function Ji(e, t) {
|
|
3069
|
-
let n = typeof e == "string" ? Date.parse(e) : NaN;
|
|
3070
|
-
if (!Number.isFinite(n) || !Number.isFinite(t)) return "";
|
|
3071
|
-
let r = t - n;
|
|
3072
|
-
return r < Wi ? "just now" : r < Gi ? `${qi(Math.floor(r / Wi), "minute")} ago` : r < Ki ? `${qi(Math.floor(r / Gi), "hour")} ago` : `${qi(Math.floor(r / Ki), "day")} ago`;
|
|
3073
|
-
}
|
|
3074
|
-
var Yi = {
|
|
3075
|
-
approved: "Approved",
|
|
3076
|
-
notes: "Sent back"
|
|
3077
|
-
};
|
|
3078
|
-
function Xi(e, t) {
|
|
3079
|
-
let { verdict: n, when: r } = Zi(e, t);
|
|
3080
|
-
return r ? `${n} ${r}` : n;
|
|
3081
|
-
}
|
|
3082
|
-
function Zi(e, t) {
|
|
3083
|
-
return !e || !Yi[e.verdict] ? {
|
|
3084
|
-
verdict: "",
|
|
3085
|
-
when: ""
|
|
3086
|
-
} : {
|
|
3087
|
-
verdict: Yi[e.verdict],
|
|
3088
|
-
when: Ji(e.at, t) || ""
|
|
3089
|
-
};
|
|
3090
|
-
}
|
|
3091
|
-
function Qi(e) {
|
|
3092
|
-
return typeof e == "string" && e.trim() ? null : "Say what should change before you send it back.";
|
|
3093
|
-
}
|
|
3094
|
-
function $i(e, t, n) {
|
|
3095
|
-
return {
|
|
3096
|
-
verdict: e,
|
|
3097
|
-
note: typeof t == "string" ? t.trim() : "",
|
|
3098
|
-
edits: structuredClone(Array.isArray(n) ? n : [])
|
|
3099
|
-
};
|
|
3100
|
-
}
|
|
3101
|
-
var ea = (e) => typeof e == "string" && /^pull\/[1-9]\d{0,8}$/.test(e);
|
|
3102
|
-
function ta(e, t) {
|
|
3103
|
-
if (!t) return "";
|
|
3104
|
-
let n = qi(t, "edit");
|
|
3105
|
-
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;
|
|
3106
3108
|
}
|
|
3107
3109
|
Object.freeze([
|
|
3108
3110
|
"pulls",
|
|
@@ -3222,7 +3224,7 @@ function ga(e) {
|
|
|
3222
3224
|
if (!va(e)) return !1;
|
|
3223
3225
|
let t = /^rgba?\(/i.test(e.trim()) ? e.slice(e.indexOf("(") + 1, e.lastIndexOf(")")).split(",").map(Number) : null;
|
|
3224
3226
|
if (t && (t.slice(0, 3).some((e) => !(e >= 0 && e <= 255)) || t.length > 3 && !(t[3] > 0 && t[3] <= 1))) return !1;
|
|
3225
|
-
let [n, r, i, a] =
|
|
3227
|
+
let [n, r, i, a] = N(e);
|
|
3226
3228
|
return [
|
|
3227
3229
|
n,
|
|
3228
3230
|
r,
|
|
@@ -3240,7 +3242,7 @@ var ba = (e, t, n, r) => `rgba(${e}, ${t}, ${n}, ${+r.toFixed(3)})`;
|
|
|
3240
3242
|
function xa(e) {
|
|
3241
3243
|
if (typeof e != "string" || e.length > 200) return null;
|
|
3242
3244
|
let t = e.trim();
|
|
3243
|
-
return !t || /^(?:auto|currentcolor)$/i.test(t) ? null : ma(t) || (pa() === null &&
|
|
3245
|
+
return !t || /^(?:auto|currentcolor)$/i.test(t) ? null : ma(t) || (pa() === null && un(t) ? t : null);
|
|
3244
3246
|
}
|
|
3245
3247
|
// ../explorer/scene.js
|
|
3246
3248
|
var Sa = [
|
|
@@ -3326,32 +3328,32 @@ var Sa = [
|
|
|
3326
3328
|
cycleMs: 2600
|
|
3327
3329
|
}, Y = {
|
|
3328
3330
|
added: {
|
|
3329
|
-
...
|
|
3330
|
-
color:
|
|
3331
|
+
...Sn.added,
|
|
3332
|
+
color: F.dark.added,
|
|
3331
3333
|
ringR: 9,
|
|
3332
3334
|
ringWidth: 2,
|
|
3333
3335
|
edgeWidth: 2.2,
|
|
3334
3336
|
alpha: 1
|
|
3335
3337
|
},
|
|
3336
3338
|
changed: {
|
|
3337
|
-
...
|
|
3338
|
-
color:
|
|
3339
|
+
...Sn.changed,
|
|
3340
|
+
color: F.dark.changed,
|
|
3339
3341
|
ringR: 9,
|
|
3340
3342
|
ringWidth: 2.5,
|
|
3341
3343
|
edgeWidth: 2.4,
|
|
3342
3344
|
alpha: 1
|
|
3343
3345
|
},
|
|
3344
3346
|
removed: {
|
|
3345
|
-
...
|
|
3346
|
-
color:
|
|
3347
|
+
...Sn.removed,
|
|
3348
|
+
color: F.dark.removed,
|
|
3347
3349
|
ringR: 9,
|
|
3348
3350
|
ringWidth: 2,
|
|
3349
3351
|
edgeWidth: 2,
|
|
3350
|
-
alpha:
|
|
3352
|
+
alpha: _n
|
|
3351
3353
|
},
|
|
3352
3354
|
edit: {
|
|
3353
|
-
...
|
|
3354
|
-
color:
|
|
3355
|
+
...Sn.edit,
|
|
3356
|
+
color: F.dark.edit,
|
|
3355
3357
|
ringR: 9,
|
|
3356
3358
|
ringWidth: 3,
|
|
3357
3359
|
edgeWidth: 2.4,
|
|
@@ -3367,7 +3369,7 @@ var za = (e) => {
|
|
|
3367
3369
|
"fill",
|
|
3368
3370
|
"ring",
|
|
3369
3371
|
"color"
|
|
3370
|
-
]) typeof t[e] == "string" && (t[e] =
|
|
3372
|
+
]) typeof t[e] == "string" && (t[e] = I(t[e]));
|
|
3371
3373
|
return t;
|
|
3372
3374
|
}, Ba = Object.freeze({
|
|
3373
3375
|
halo: Fa,
|
|
@@ -3378,7 +3380,7 @@ var za = (e) => {
|
|
|
3378
3380
|
halo: Object.fromEntries(Object.entries(Fa).map(([e, t]) => [e, za(t)])),
|
|
3379
3381
|
mark: Object.fromEntries(Object.entries(Y).map(([e, t]) => [e, {
|
|
3380
3382
|
...t,
|
|
3381
|
-
color:
|
|
3383
|
+
color: F.light[e]
|
|
3382
3384
|
}])),
|
|
3383
3385
|
core: Ea,
|
|
3384
3386
|
labelOutline: {
|
|
@@ -3397,13 +3399,13 @@ var za = (e) => {
|
|
|
3397
3399
|
gap: 4
|
|
3398
3400
|
}, Ua = .28;
|
|
3399
3401
|
function X(e, t, { viewer: n = !1 } = {}) {
|
|
3400
|
-
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);
|
|
3401
3403
|
}
|
|
3402
|
-
function Wa(e, t, n =
|
|
3403
|
-
let r =
|
|
3404
|
-
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;
|
|
3405
3407
|
}
|
|
3406
|
-
var Ga = (e) => e.view === "dataflow" && e.flow ? e.flow.edges : e.view === "house" ?
|
|
3408
|
+
var Ga = (e) => e.view === "dataflow" && e.flow ? e.flow.edges : e.view === "house" ? xi(e) : e.edges;
|
|
3407
3409
|
function Ka(e, t, n) {
|
|
3408
3410
|
return Ae(e, t, n);
|
|
3409
3411
|
}
|
|
@@ -3412,7 +3414,7 @@ function qa(e) {
|
|
|
3412
3414
|
t.linkNodes && e.edges.forEach((e) => {
|
|
3413
3415
|
n.has(e.from) && n.has(e.to) && r.add(Z(e));
|
|
3414
3416
|
});
|
|
3415
|
-
let i =
|
|
3417
|
+
let i = gi(t, e.nodes, e.edges);
|
|
3416
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)));
|
|
3417
3419
|
let { node: a, edge: o } = t.current, s = a === void 0 ? o ? o.kind === "writes" ? o.from : o.to : void 0 : a;
|
|
3418
3420
|
return {
|
|
@@ -3467,7 +3469,7 @@ function Za(e, t) {
|
|
|
3467
3469
|
}
|
|
3468
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}`;
|
|
3469
3471
|
function eo(e, t, n, r, i, a) {
|
|
3470
|
-
let o = e.kind === "reads" || e.kind === "writes", s =
|
|
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;
|
|
3471
3473
|
if (r && c) {
|
|
3472
3474
|
let t = Ya(u, f, d, .5);
|
|
3473
3475
|
h = {
|
|
@@ -3505,7 +3507,7 @@ function eo(e, t, n, r, i, a) {
|
|
|
3505
3507
|
width: p ? 2.4 : i && !o ? 2 : 1.6,
|
|
3506
3508
|
alpha: r ? c ? 1 : .04 : i ? o ? .2 : .65 : o ? .12 : .45,
|
|
3507
3509
|
dash: l ? Na : null,
|
|
3508
|
-
ticks:
|
|
3510
|
+
ticks: ai(e),
|
|
3509
3511
|
curve: {
|
|
3510
3512
|
cx: f.x,
|
|
3511
3513
|
cy: f.y
|
|
@@ -3566,22 +3568,22 @@ function io(e, t, n, r = !1, i = !1) {
|
|
|
3566
3568
|
return;
|
|
3567
3569
|
}
|
|
3568
3570
|
let a = Y[t];
|
|
3569
|
-
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);
|
|
3570
3572
|
}
|
|
3571
3573
|
function ao(e, t, n) {
|
|
3572
|
-
let { nodes: r } = e, i =
|
|
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) => {
|
|
3573
3575
|
let r = o.get(n.from), a = o.get(n.to);
|
|
3574
3576
|
if (r && a && X(e, r) && X(e, a)) {
|
|
3575
3577
|
if (s) return u(n, r, a);
|
|
3576
3578
|
if (e.view === "house") {
|
|
3577
|
-
let e =
|
|
3579
|
+
let e = Si(n, r, a);
|
|
3578
3580
|
e === "flow" ? u(n, r, a) : e === "link" && c.push(to(n, r, a, t));
|
|
3579
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));
|
|
3580
3582
|
}
|
|
3581
3583
|
};
|
|
3582
3584
|
return Ga(e).forEach((n) => {
|
|
3583
|
-
if (d && !
|
|
3584
|
-
let r = d === "before" ?
|
|
3585
|
+
if (d && !Wt(d, n)) return;
|
|
3586
|
+
let r = d === "before" ? Kt(n) : n, i = d ? Gt(d, n) : "none", l = c.length;
|
|
3585
3587
|
if (i === "none") f(r);
|
|
3586
3588
|
else {
|
|
3587
3589
|
let n = o.get(r.from), i = o.get(r.to);
|
|
@@ -3591,25 +3593,25 @@ function ao(e, t, n) {
|
|
|
3591
3593
|
for (let e = l; e < c.length; e++) io(c[e], i, d, i === "edit" && n.editOp === "removed", a);
|
|
3592
3594
|
}), c;
|
|
3593
3595
|
}
|
|
3594
|
-
var oo = (e) => e.type === "floor" || e.type === "room" ? "house" : e.type === "external" ?
|
|
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;
|
|
3595
3597
|
function co(e, t) {
|
|
3596
|
-
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 =
|
|
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;
|
|
3597
3599
|
return n.forEach((n) => {
|
|
3598
3600
|
if (!X(e, n)) return;
|
|
3599
|
-
let i = c === "before" ?
|
|
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;
|
|
3600
3602
|
o && !d && !p && !(t && m) && (y = Da);
|
|
3601
3603
|
let b = l && !!u && !u.touched.has(n.id);
|
|
3602
|
-
u && !u.touched.has(n.id) && (y = Math.min(y, b ?
|
|
3603
|
-
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);
|
|
3604
3606
|
s.push({
|
|
3605
3607
|
id: n.id,
|
|
3606
3608
|
type: i.type,
|
|
3607
3609
|
group: oo(i),
|
|
3608
3610
|
...typeof i.kind == "string" && i.kind ? { kind: i.kind } : {},
|
|
3609
3611
|
...S ? { letters: S } : {},
|
|
3610
|
-
shape:
|
|
3611
|
-
hitR: i.r * Ma[
|
|
3612
|
-
...
|
|
3612
|
+
shape: Hn(i.type),
|
|
3613
|
+
hitR: i.r * Ma[Hn(i.type)],
|
|
3614
|
+
...Vi(i.type) ? { glyph: i.type } : {},
|
|
3613
3615
|
...C ? { layer: C } : {},
|
|
3614
3616
|
x: n.x,
|
|
3615
3617
|
y: n.y,
|
|
@@ -3628,7 +3630,7 @@ function co(e, t) {
|
|
|
3628
3630
|
label: i.label,
|
|
3629
3631
|
labelSize: x && !b ? 12 : 11,
|
|
3630
3632
|
labelBold: x && !b,
|
|
3631
|
-
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,
|
|
3632
3634
|
labelColor: m ? "#f8fafc" : "rgba(255, 255, 255, 0.3)",
|
|
3633
3635
|
labelKeep: Sa.includes(i.type) && !b || p || d || g !== "none" || !!(t && m),
|
|
3634
3636
|
labelStrike: !!_ && (_.strike || v),
|
|
@@ -3755,16 +3757,16 @@ function vo(e, t = {}) {
|
|
|
3755
3757
|
theme: "dark",
|
|
3756
3758
|
version: e.sceneVersion || 0
|
|
3757
3759
|
};
|
|
3758
|
-
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);
|
|
3759
3761
|
let s = {
|
|
3760
3762
|
nodes: o.nodes.map((e) => e.color),
|
|
3761
3763
|
edges: o.edges.map((e) => e.color)
|
|
3762
3764
|
};
|
|
3763
|
-
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) => {
|
|
3764
3766
|
s.nodes.length === o.nodes.length && e.color !== s.nodes[t] && o.painted.nodes.add(e.id);
|
|
3765
3767
|
}), o.edges.forEach((e, t) => {
|
|
3766
3768
|
s.edges.length === o.edges.length && e.color !== s.edges[t] && o.painted.edges.add(e.key);
|
|
3767
|
-
}), e.theme === "light" &&
|
|
3769
|
+
}), e.theme === "light" && zn(o), o;
|
|
3768
3770
|
}
|
|
3769
3771
|
function yo(e = vo) {
|
|
3770
3772
|
let t = null, n, r = {
|
|
@@ -3776,7 +3778,7 @@ function yo(e = vo) {
|
|
|
3776
3778
|
return r;
|
|
3777
3779
|
}
|
|
3778
3780
|
// ../explorer/engine/map-style.js
|
|
3779
|
-
var bo = Object.freeze(Object.keys(
|
|
3781
|
+
var bo = Object.freeze(Object.keys(L)), xo = Object.freeze([
|
|
3780
3782
|
"app",
|
|
3781
3783
|
"pkg",
|
|
3782
3784
|
"page",
|
|
@@ -3816,7 +3818,7 @@ var bo = Object.freeze(Object.keys(P)), xo = Object.freeze([
|
|
|
3816
3818
|
"selected",
|
|
3817
3819
|
"match",
|
|
3818
3820
|
"lit"
|
|
3819
|
-
]), 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) =>
|
|
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([
|
|
3820
3822
|
...bo.map(zo),
|
|
3821
3823
|
...xo.map(Bo),
|
|
3822
3824
|
To,
|
|
@@ -3829,7 +3831,7 @@ var bo = Object.freeze(Object.keys(P)), xo = Object.freeze([
|
|
|
3829
3831
|
...wo.map(Q)
|
|
3830
3832
|
]);
|
|
3831
3833
|
function $(e, t) {
|
|
3832
|
-
let [n, r, i, a] =
|
|
3834
|
+
let [n, r, i, a] = N(e), o = N(t)[3];
|
|
3833
3835
|
return o >= 1 ? e : ba(n, r, i, a * o);
|
|
3834
3836
|
}
|
|
3835
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)$/;
|
|
@@ -3895,7 +3897,7 @@ function Qo(e, t = "") {
|
|
|
3895
3897
|
function $o(e, { load: t = Qo, onChange: n = () => {}, warn: r = (e) => console.warn(e) } = {}) {
|
|
3896
3898
|
let i = /* @__PURE__ */ new Map(), a = 0;
|
|
3897
3899
|
for (let [o, s] of Object.entries(e || {})) {
|
|
3898
|
-
if (!
|
|
3900
|
+
if (!br(o) || typeof s != "string" || !s.startsWith("/cornfield/theme/assets/") || s.includes("..")) continue;
|
|
3899
3901
|
let e = {
|
|
3900
3902
|
status: "loading",
|
|
3901
3903
|
image: null
|
|
@@ -3968,7 +3970,7 @@ function rs(e) {
|
|
|
3968
3970
|
return o.add(e), () => o.delete(e);
|
|
3969
3971
|
},
|
|
3970
3972
|
setSubjects({ kinds: e = [], layers: t = [] } = {}) {
|
|
3971
|
-
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);
|
|
3972
3974
|
return n.length === a.length && n.every((e, t) => e === a[t]) ? !1 : (a = n, d.refresh());
|
|
3973
3975
|
},
|
|
3974
3976
|
refresh(n = e.tokenReader()) {
|
|
@@ -4040,7 +4042,7 @@ function rs(e) {
|
|
|
4040
4042
|
var is = (e) => e.slot("map-style", rs), as = (e, t) => {
|
|
4041
4043
|
for (let n of t) if (e[n]) return e[n];
|
|
4042
4044
|
return null;
|
|
4043
|
-
}, os =
|
|
4045
|
+
}, os = yr, ss = (e, t) => as(e, os(t));
|
|
4044
4046
|
function cs(e, t) {
|
|
4045
4047
|
let n = t.edgeWidth == null ? 1 : t.edgeWidth / Io, r = t.glow == null ? 1 : t.glow;
|
|
4046
4048
|
if (n === 1 && r === 1) return e;
|
|
@@ -4077,15 +4079,15 @@ function ls(e, t, n) {
|
|
|
4077
4079
|
}), cs(a, t);
|
|
4078
4080
|
}
|
|
4079
4081
|
function us(e) {
|
|
4080
|
-
let [t, n, r, i] =
|
|
4082
|
+
let [t, n, r, i] = N(e), a = Math.round(.2126 * t + .7152 * n + .0722 * r);
|
|
4081
4083
|
return i >= 1 ? `rgb(${a}, ${a}, ${a})` : ba(a, a, a, i);
|
|
4082
4084
|
}
|
|
4083
4085
|
function ds(e, t) {
|
|
4084
|
-
let { values: n } = t, r = n[Mo], i = t.greyAlpha == null ? 1 : t.greyAlpha /
|
|
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 || {
|
|
4085
4087
|
nodes: /* @__PURE__ */ new Set(),
|
|
4086
4088
|
edges: /* @__PURE__ */ new Set()
|
|
4087
4089
|
}, l = e.nodes.map((e) => {
|
|
4088
|
-
let r = !c.nodes.has(e.id) && ss(n, e), l = t.icons &&
|
|
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);
|
|
4089
4091
|
if (!r && !o && !s && !l && !u && !d) return e;
|
|
4090
4092
|
let f = { ...e };
|
|
4091
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 = {
|
|
@@ -4166,5 +4168,5 @@ function hs(e, t) {
|
|
|
4166
4168
|
}), o;
|
|
4167
4169
|
}
|
|
4168
4170
|
// \0corn-default-tokens
|
|
4169
|
-
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-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";
|
|
4170
|
-
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 };
|