@glyphjs/components 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +168 -156
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +168 -156
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -8,6 +8,18 @@ import dagre from 'dagre';
|
|
|
8
8
|
import katex from 'katex';
|
|
9
9
|
|
|
10
10
|
// src/callout/index.ts
|
|
11
|
+
var CALLOUT_BORDER_MAP = {
|
|
12
|
+
info: "var(--glyph-callout-info-border, var(--glyph-color-info, #38bdf8))",
|
|
13
|
+
warning: "var(--glyph-callout-warning-border, var(--glyph-color-warning, #d97706))",
|
|
14
|
+
error: "var(--glyph-callout-error-border, var(--glyph-color-error, #dc2626))",
|
|
15
|
+
tip: "var(--glyph-callout-tip-border, var(--glyph-color-success, #16a34a))"
|
|
16
|
+
};
|
|
17
|
+
var CALLOUT_BG_MAP = {
|
|
18
|
+
info: "var(--glyph-callout-info-bg, rgba(56, 189, 248, 0.08))",
|
|
19
|
+
warning: "var(--glyph-callout-warning-bg, rgba(217, 119, 6, 0.08))",
|
|
20
|
+
error: "var(--glyph-callout-error-bg, rgba(220, 38, 38, 0.08))",
|
|
21
|
+
tip: "var(--glyph-callout-tip-bg, rgba(22, 163, 74, 0.08))"
|
|
22
|
+
};
|
|
11
23
|
var CALLOUT_ICONS = {
|
|
12
24
|
info: "\u2139\uFE0F",
|
|
13
25
|
warning: "\u26A0\uFE0F",
|
|
@@ -23,8 +35,8 @@ var CALLOUT_LABELS = {
|
|
|
23
35
|
function Callout({ data }) {
|
|
24
36
|
const { type, title, content } = data;
|
|
25
37
|
const containerStyle11 = {
|
|
26
|
-
backgroundColor:
|
|
27
|
-
borderLeft: `4px solid
|
|
38
|
+
backgroundColor: CALLOUT_BG_MAP[type],
|
|
39
|
+
borderLeft: `4px solid ${CALLOUT_BORDER_MAP[type]}`,
|
|
28
40
|
borderRadius: "var(--glyph-radius-md, 0.1875rem)",
|
|
29
41
|
padding: "var(--glyph-spacing-md, 1rem)",
|
|
30
42
|
margin: "var(--glyph-spacing-sm, 0.5rem) 0",
|
|
@@ -94,26 +106,16 @@ var DEFAULT_WIDTH = 600;
|
|
|
94
106
|
var DEFAULT_HEIGHT = 400;
|
|
95
107
|
var MARGIN = { top: 20, right: 30, bottom: 50, left: 60 };
|
|
96
108
|
var COLOR_SCHEME = [
|
|
97
|
-
"#00d4aa",
|
|
98
|
-
|
|
99
|
-
"#
|
|
100
|
-
|
|
101
|
-
"#
|
|
102
|
-
|
|
103
|
-
"#
|
|
104
|
-
|
|
105
|
-
"#
|
|
106
|
-
|
|
107
|
-
"#84cc16",
|
|
108
|
-
// lime
|
|
109
|
-
"#f472b6",
|
|
110
|
-
// rose
|
|
111
|
-
"#fb923c",
|
|
112
|
-
// orange
|
|
113
|
-
"#818cf8",
|
|
114
|
-
// indigo
|
|
115
|
-
"#38bdf8"
|
|
116
|
-
// sky
|
|
109
|
+
"var(--glyph-palette-color-1, #00d4aa)",
|
|
110
|
+
"var(--glyph-palette-color-2, #b44dff)",
|
|
111
|
+
"var(--glyph-palette-color-3, #22c55e)",
|
|
112
|
+
"var(--glyph-palette-color-4, #e040fb)",
|
|
113
|
+
"var(--glyph-palette-color-5, #00e5ff)",
|
|
114
|
+
"var(--glyph-palette-color-6, #84cc16)",
|
|
115
|
+
"var(--glyph-palette-color-7, #f472b6)",
|
|
116
|
+
"var(--glyph-palette-color-8, #fb923c)",
|
|
117
|
+
"var(--glyph-palette-color-9, #818cf8)",
|
|
118
|
+
"var(--glyph-palette-color-10, #38bdf8)"
|
|
117
119
|
];
|
|
118
120
|
function getNumericValue(d, key) {
|
|
119
121
|
const v = d[key];
|
|
@@ -135,7 +137,7 @@ function renderAxes(g, xScale, yScale, xAxisConfig, yAxisConfig, innerWidth, inn
|
|
|
135
137
|
d32.axisBottom(xScale)
|
|
136
138
|
);
|
|
137
139
|
}
|
|
138
|
-
xAxisG.selectAll("text, line, path").attr("fill", "var(--glyph-text, #1a2035)").attr("stroke", "var(--glyph-grid, #
|
|
140
|
+
xAxisG.selectAll("text, line, path").attr("fill", "var(--glyph-text, #1a2035)").attr("stroke", "var(--glyph-grid, var(--glyph-border, #d0d8e4))");
|
|
139
141
|
if (xAxisConfig?.label) {
|
|
140
142
|
g.append("text").attr("class", "x-label").attr("x", innerWidth / 2).attr("y", innerHeight + MARGIN.bottom - 6).attr("text-anchor", "middle").attr("fill", "var(--glyph-text, #1a2035)").attr("font-size", "12px").text(inlineToText(xAxisConfig.label));
|
|
141
143
|
}
|
|
@@ -143,7 +145,7 @@ function renderAxes(g, xScale, yScale, xAxisConfig, yAxisConfig, innerWidth, inn
|
|
|
143
145
|
yAxisG.call(
|
|
144
146
|
d32.axisLeft(yScale)
|
|
145
147
|
);
|
|
146
|
-
yAxisG.selectAll("text, line, path").attr("fill", "var(--glyph-text, #1a2035)").attr("stroke", "var(--glyph-grid, #
|
|
148
|
+
yAxisG.selectAll("text, line, path").attr("fill", "var(--glyph-text, #1a2035)").attr("stroke", "var(--glyph-grid, var(--glyph-border, #d0d8e4))");
|
|
147
149
|
if (yAxisConfig?.label) {
|
|
148
150
|
g.append("text").attr("class", "y-label").attr("transform", "rotate(-90)").attr("x", -innerHeight / 2).attr("y", -MARGIN.left + 14).attr("text-anchor", "middle").attr("fill", "var(--glyph-text, #1a2035)").attr("font-size", "12px").text(inlineToText(yAxisConfig.label));
|
|
149
151
|
}
|
|
@@ -182,7 +184,7 @@ function renderOHLCSeries(g, seriesData, xScale, xScalePoint, yScale, innerWidth
|
|
|
182
184
|
const low = getNumericValue(d, "low");
|
|
183
185
|
const cx = xScalePoint(d);
|
|
184
186
|
const isBullish = close >= open;
|
|
185
|
-
const candleColor = isBullish ? "var(--glyph-chart-bullish, #22c55e)" : "var(--glyph-chart-bearish, #f87171)";
|
|
187
|
+
const candleColor = isBullish ? "var(--glyph-chart-bullish, var(--glyph-color-success, #22c55e))" : "var(--glyph-chart-bearish, var(--glyph-color-error, #f87171))";
|
|
186
188
|
g.append("line").attr("x1", cx).attr("x2", cx).attr("y1", yScale(high)).attr("y2", yScale(low)).attr("stroke", candleColor).attr("stroke-width", 1);
|
|
187
189
|
const bodyTop = yScale(Math.max(open, close));
|
|
188
190
|
const bodyBottom = yScale(Math.min(open, close));
|
|
@@ -589,11 +591,11 @@ var CONNECTOR_WIDTH = "2px";
|
|
|
589
591
|
function colorForStatus(status) {
|
|
590
592
|
switch (status) {
|
|
591
593
|
case "pending":
|
|
592
|
-
return "var(--glyph-steps-pending-color, #
|
|
594
|
+
return "var(--glyph-steps-pending-color, var(--glyph-text-muted, #6b7a94))";
|
|
593
595
|
case "active":
|
|
594
|
-
return "var(--glyph-steps-active-color, #00d4aa)";
|
|
596
|
+
return "var(--glyph-steps-active-color, var(--glyph-accent, #00d4aa))";
|
|
595
597
|
case "completed":
|
|
596
|
-
return "var(--glyph-steps-completed-color, #22c55e)";
|
|
598
|
+
return "var(--glyph-steps-completed-color, var(--glyph-color-success, #22c55e))";
|
|
597
599
|
}
|
|
598
600
|
}
|
|
599
601
|
function itemStyle(isLast) {
|
|
@@ -612,7 +614,7 @@ function connectorStyle(status) {
|
|
|
612
614
|
top: INDICATOR_SIZE,
|
|
613
615
|
bottom: 0,
|
|
614
616
|
width: CONNECTOR_WIDTH,
|
|
615
|
-
backgroundColor: status === "completed" ? "var(--glyph-steps-completed-color, #22c55e)" : "var(--glyph-steps-connector-color, #d0d8e4)"
|
|
617
|
+
backgroundColor: status === "completed" ? "var(--glyph-steps-completed-color, var(--glyph-color-success, #22c55e))" : "var(--glyph-steps-connector-color, var(--glyph-border, #d0d8e4))"
|
|
616
618
|
};
|
|
617
619
|
}
|
|
618
620
|
function indicatorStyle(status) {
|
|
@@ -642,14 +644,14 @@ var bodyStyle = {
|
|
|
642
644
|
function titleStyle(status) {
|
|
643
645
|
return {
|
|
644
646
|
fontWeight: 600,
|
|
645
|
-
color: status === "pending" ? "var(--glyph-steps-pending-color, #
|
|
647
|
+
color: status === "pending" ? "var(--glyph-steps-pending-color, var(--glyph-text-muted, #6b7a94))" : "var(--glyph-text, #1a2035)"
|
|
646
648
|
};
|
|
647
649
|
}
|
|
648
650
|
function contentStyle(status) {
|
|
649
651
|
return {
|
|
650
652
|
marginTop: "var(--glyph-spacing-xs, 0.25rem)",
|
|
651
653
|
fontSize: "0.9em",
|
|
652
|
-
color: status === "pending" ? "var(--glyph-steps-pending-color, #
|
|
654
|
+
color: status === "pending" ? "var(--glyph-steps-pending-color, var(--glyph-text-muted, #6b7a94))" : "var(--glyph-text-muted, #7a8599)"
|
|
653
655
|
};
|
|
654
656
|
}
|
|
655
657
|
|
|
@@ -698,9 +700,9 @@ function TableAggregationFooter({
|
|
|
698
700
|
{
|
|
699
701
|
style: {
|
|
700
702
|
padding: "var(--glyph-table-cell-padding, 8px 12px)",
|
|
701
|
-
borderTop: "2px solid var(--glyph-table-border, #d0d8e4)",
|
|
703
|
+
borderTop: "2px solid var(--glyph-table-border, var(--glyph-border, #d0d8e4))",
|
|
702
704
|
fontWeight: "bold",
|
|
703
|
-
background: "var(--glyph-table-footer-bg, #e8ecf3)",
|
|
705
|
+
background: "var(--glyph-table-footer-bg, var(--glyph-surface, #e8ecf3))",
|
|
704
706
|
color: "var(--glyph-table-footer-color, inherit)"
|
|
705
707
|
},
|
|
706
708
|
children: agg ? computeAggregation(rows, col.key, agg.fn) : ""
|
|
@@ -734,8 +736,8 @@ function TableHead({
|
|
|
734
736
|
style: {
|
|
735
737
|
padding: "var(--glyph-table-cell-padding, 8px 12px)",
|
|
736
738
|
textAlign: "left",
|
|
737
|
-
borderBottom: "2px solid var(--glyph-table-border, #d0d8e4)",
|
|
738
|
-
background: "var(--glyph-table-header-bg, #e8ecf3)",
|
|
739
|
+
borderBottom: "2px solid var(--glyph-table-border, var(--glyph-border, #d0d8e4))",
|
|
740
|
+
background: "var(--glyph-table-header-bg, var(--glyph-surface, #e8ecf3))",
|
|
739
741
|
color: "var(--glyph-table-header-color, inherit)",
|
|
740
742
|
cursor: col.sortable ? "pointer" : "default",
|
|
741
743
|
userSelect: col.sortable ? "none" : void 0,
|
|
@@ -765,7 +767,7 @@ function TableHead({
|
|
|
765
767
|
style: {
|
|
766
768
|
width: "100%",
|
|
767
769
|
padding: "4px 6px",
|
|
768
|
-
border: "1px solid var(--glyph-table-border, #d0d8e4)",
|
|
770
|
+
border: "1px solid var(--glyph-table-border, var(--glyph-border, #d0d8e4))",
|
|
769
771
|
borderRadius: "3px",
|
|
770
772
|
fontSize: "inherit",
|
|
771
773
|
boxSizing: "border-box",
|
|
@@ -909,7 +911,7 @@ function Table({
|
|
|
909
911
|
style: {
|
|
910
912
|
width: "100%",
|
|
911
913
|
borderCollapse: "collapse",
|
|
912
|
-
border: "1px solid var(--glyph-table-border, #d0d8e4)",
|
|
914
|
+
border: "1px solid var(--glyph-table-border, var(--glyph-border, #d0d8e4))",
|
|
913
915
|
fontFamily: "var(--glyph-font-body, inherit)",
|
|
914
916
|
fontSize: isCompact ? "0.8125rem" : "var(--glyph-table-font-size, 0.9rem)"
|
|
915
917
|
},
|
|
@@ -930,14 +932,14 @@ function Table({
|
|
|
930
932
|
"tr",
|
|
931
933
|
{
|
|
932
934
|
style: {
|
|
933
|
-
background: rowIdx % 2 === 0 ? "var(--glyph-table-row-bg, transparent)" : "var(--glyph-table-row-alt-bg, #f4f6fa)"
|
|
935
|
+
background: rowIdx % 2 === 0 ? "var(--glyph-table-row-bg, transparent)" : "var(--glyph-table-row-alt-bg, var(--glyph-surface-raised, #f4f6fa))"
|
|
934
936
|
},
|
|
935
937
|
children: columns.map((col) => /* @__PURE__ */ jsx(
|
|
936
938
|
"td",
|
|
937
939
|
{
|
|
938
940
|
style: {
|
|
939
941
|
padding: "var(--glyph-table-cell-padding, 8px 12px)",
|
|
940
|
-
borderBottom: "1px solid var(--glyph-table-border, #d0d8e4)",
|
|
942
|
+
borderBottom: "1px solid var(--glyph-table-border, var(--glyph-border, #d0d8e4))",
|
|
941
943
|
color: "var(--glyph-table-cell-color, inherit)"
|
|
942
944
|
},
|
|
943
945
|
children: String(row[col.key] ?? "")
|
|
@@ -1114,14 +1116,14 @@ var MARKER_RADIUS = 8;
|
|
|
1114
1116
|
var LINE_THICKNESS = 2;
|
|
1115
1117
|
var EVENT_SPACING_MIN = 80;
|
|
1116
1118
|
var TYPE_PALETTE = [
|
|
1117
|
-
"var(--glyph-timeline-color-1, #00d4aa)",
|
|
1118
|
-
"var(--glyph-timeline-color-2, #b44dff)",
|
|
1119
|
-
"var(--glyph-timeline-color-3, #22c55e)",
|
|
1120
|
-
"var(--glyph-timeline-color-4, #e040fb)",
|
|
1121
|
-
"var(--glyph-timeline-color-5, #00e5ff)",
|
|
1122
|
-
"var(--glyph-timeline-color-6, #84cc16)",
|
|
1123
|
-
"var(--glyph-timeline-color-7, #f472b6)",
|
|
1124
|
-
"var(--glyph-timeline-color-8, #fb923c)"
|
|
1119
|
+
"var(--glyph-timeline-color-1, var(--glyph-palette-color-1, #00d4aa))",
|
|
1120
|
+
"var(--glyph-timeline-color-2, var(--glyph-palette-color-2, #b44dff))",
|
|
1121
|
+
"var(--glyph-timeline-color-3, var(--glyph-palette-color-3, #22c55e))",
|
|
1122
|
+
"var(--glyph-timeline-color-4, var(--glyph-palette-color-4, #e040fb))",
|
|
1123
|
+
"var(--glyph-timeline-color-5, var(--glyph-palette-color-5, #00e5ff))",
|
|
1124
|
+
"var(--glyph-timeline-color-6, var(--glyph-palette-color-6, #84cc16))",
|
|
1125
|
+
"var(--glyph-timeline-color-7, var(--glyph-palette-color-7, #f472b6))",
|
|
1126
|
+
"var(--glyph-timeline-color-8, var(--glyph-palette-color-8, #fb923c))"
|
|
1125
1127
|
];
|
|
1126
1128
|
function parseDate(raw) {
|
|
1127
1129
|
const d = new Date(raw);
|
|
@@ -1176,7 +1178,7 @@ function Timeline({ data }) {
|
|
|
1176
1178
|
top: 0,
|
|
1177
1179
|
bottom: 0,
|
|
1178
1180
|
width: LINE_THICKNESS,
|
|
1179
|
-
backgroundColor: "var(--glyph-timeline-line, #d0d8e4)",
|
|
1181
|
+
backgroundColor: "var(--glyph-timeline-line, var(--glyph-border, #d0d8e4))",
|
|
1180
1182
|
transform: "translateX(-50%)"
|
|
1181
1183
|
} : {
|
|
1182
1184
|
position: "absolute",
|
|
@@ -1184,7 +1186,7 @@ function Timeline({ data }) {
|
|
|
1184
1186
|
left: 0,
|
|
1185
1187
|
right: 0,
|
|
1186
1188
|
height: LINE_THICKNESS,
|
|
1187
|
-
backgroundColor: "var(--glyph-timeline-line, #d0d8e4)",
|
|
1189
|
+
backgroundColor: "var(--glyph-timeline-line, var(--glyph-border, #d0d8e4))",
|
|
1188
1190
|
transform: "translateY(-50%)"
|
|
1189
1191
|
};
|
|
1190
1192
|
const inner = /* @__PURE__ */ jsxs(
|
|
@@ -1221,7 +1223,7 @@ function Timeline({ data }) {
|
|
|
1221
1223
|
{
|
|
1222
1224
|
style: {
|
|
1223
1225
|
fontSize: "var(--glyph-timeline-date-size, 0.75rem)",
|
|
1224
|
-
color: "var(--glyph-timeline-date-color, #
|
|
1226
|
+
color: "var(--glyph-timeline-date-color, var(--glyph-text-muted, #6b7a94))",
|
|
1225
1227
|
fontWeight: 600
|
|
1226
1228
|
},
|
|
1227
1229
|
children: formatDate(pe.event.date)
|
|
@@ -1243,7 +1245,7 @@ function Timeline({ data }) {
|
|
|
1243
1245
|
{
|
|
1244
1246
|
style: {
|
|
1245
1247
|
fontSize: "var(--glyph-timeline-desc-size, 0.8rem)",
|
|
1246
|
-
color: "var(--glyph-timeline-desc-color, #
|
|
1248
|
+
color: "var(--glyph-timeline-desc-color, var(--glyph-text-muted, #6b7a94))",
|
|
1247
1249
|
marginTop: 2
|
|
1248
1250
|
},
|
|
1249
1251
|
children: /* @__PURE__ */ jsx(RichText, { content: pe.event.description })
|
|
@@ -1317,13 +1319,13 @@ function connectorStyle2(_pe, isVertical) {
|
|
|
1317
1319
|
return {
|
|
1318
1320
|
flex: "0 0 20px",
|
|
1319
1321
|
height: LINE_THICKNESS,
|
|
1320
|
-
backgroundColor: "var(--glyph-timeline-line, #d0d8e4)"
|
|
1322
|
+
backgroundColor: "var(--glyph-timeline-line, var(--glyph-border, #d0d8e4))"
|
|
1321
1323
|
};
|
|
1322
1324
|
}
|
|
1323
1325
|
return {
|
|
1324
1326
|
flex: "0 0 20px",
|
|
1325
1327
|
width: LINE_THICKNESS,
|
|
1326
|
-
backgroundColor: "var(--glyph-timeline-line, #d0d8e4)"
|
|
1328
|
+
backgroundColor: "var(--glyph-timeline-line, var(--glyph-border, #d0d8e4))"
|
|
1327
1329
|
};
|
|
1328
1330
|
}
|
|
1329
1331
|
function labelStyle(pe, isVertical) {
|
|
@@ -1797,7 +1799,7 @@ function InteractionOverlay({
|
|
|
1797
1799
|
width,
|
|
1798
1800
|
height,
|
|
1799
1801
|
pointerEvents: "none",
|
|
1800
|
-
border: "2px solid var(--glyph-interaction-active-border, #0a9d7c)",
|
|
1802
|
+
border: "2px solid var(--glyph-interaction-active-border, var(--glyph-accent, #0a9d7c))",
|
|
1801
1803
|
borderRadius: "4px"
|
|
1802
1804
|
},
|
|
1803
1805
|
"aria-hidden": "true"
|
|
@@ -1822,8 +1824,8 @@ var TOOLTIP_STYLE = {
|
|
|
1822
1824
|
bottom: "12px",
|
|
1823
1825
|
right: "12px",
|
|
1824
1826
|
padding: "6px 10px",
|
|
1825
|
-
backgroundColor: "var(--glyph-interaction-tooltip-bg, rgba(26, 32, 53, 0.9))",
|
|
1826
|
-
color: "var(--glyph-interaction-tooltip-text, #f4f6fa)",
|
|
1827
|
+
backgroundColor: "var(--glyph-interaction-tooltip-bg, var(--glyph-tooltip-bg, rgba(26, 32, 53, 0.9)))",
|
|
1828
|
+
color: "var(--glyph-interaction-tooltip-text, var(--glyph-tooltip-text, #f4f6fa))",
|
|
1827
1829
|
borderRadius: "4px",
|
|
1828
1830
|
fontSize: "12px",
|
|
1829
1831
|
fontFamily: "Inter, system-ui, sans-serif",
|
|
@@ -1843,8 +1845,8 @@ var ACTIVATION_OVERLAY_STYLE = {
|
|
|
1843
1845
|
};
|
|
1844
1846
|
var ACTIVATION_TEXT_STYLE = {
|
|
1845
1847
|
padding: "12px 20px",
|
|
1846
|
-
backgroundColor: "var(--glyph-interaction-tooltip-bg, rgba(26, 32, 53, 0.9))",
|
|
1847
|
-
color: "var(--glyph-interaction-tooltip-text, #f4f6fa)",
|
|
1848
|
+
backgroundColor: "var(--glyph-interaction-tooltip-bg, var(--glyph-tooltip-bg, rgba(26, 32, 53, 0.9)))",
|
|
1849
|
+
color: "var(--glyph-interaction-tooltip-text, var(--glyph-tooltip-text, #f4f6fa))",
|
|
1848
1850
|
borderRadius: "6px",
|
|
1849
1851
|
fontSize: "14px",
|
|
1850
1852
|
fontFamily: "Inter, system-ui, sans-serif",
|
|
@@ -1927,28 +1929,18 @@ var BUTTON_STYLE = {
|
|
|
1927
1929
|
boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)"
|
|
1928
1930
|
};
|
|
1929
1931
|
var GROUP_PALETTE = [
|
|
1930
|
-
"#00d4aa",
|
|
1931
|
-
|
|
1932
|
-
"#
|
|
1933
|
-
|
|
1934
|
-
"#
|
|
1935
|
-
|
|
1936
|
-
"#
|
|
1937
|
-
|
|
1938
|
-
"#
|
|
1939
|
-
|
|
1940
|
-
"#84cc16",
|
|
1941
|
-
// lime
|
|
1942
|
-
"#f472b6",
|
|
1943
|
-
// rose
|
|
1944
|
-
"#fb923c",
|
|
1945
|
-
// orange
|
|
1946
|
-
"#818cf8",
|
|
1947
|
-
// indigo
|
|
1948
|
-
"#38bdf8"
|
|
1949
|
-
// sky
|
|
1932
|
+
"var(--glyph-palette-color-1, #00d4aa)",
|
|
1933
|
+
"var(--glyph-palette-color-2, #b44dff)",
|
|
1934
|
+
"var(--glyph-palette-color-3, #22c55e)",
|
|
1935
|
+
"var(--glyph-palette-color-4, #e040fb)",
|
|
1936
|
+
"var(--glyph-palette-color-5, #00e5ff)",
|
|
1937
|
+
"var(--glyph-palette-color-6, #84cc16)",
|
|
1938
|
+
"var(--glyph-palette-color-7, #f472b6)",
|
|
1939
|
+
"var(--glyph-palette-color-8, #fb923c)",
|
|
1940
|
+
"var(--glyph-palette-color-9, #818cf8)",
|
|
1941
|
+
"var(--glyph-palette-color-10, #38bdf8)"
|
|
1950
1942
|
];
|
|
1951
|
-
var DEFAULT_NODE_COLOR = "#00d4aa";
|
|
1943
|
+
var DEFAULT_NODE_COLOR = "var(--glyph-palette-color-1, #00d4aa)";
|
|
1952
1944
|
function getGroupColor(group, groupIndex) {
|
|
1953
1945
|
if (!group) return GROUP_PALETTE[0];
|
|
1954
1946
|
let idx = groupIndex.get(group);
|
|
@@ -1979,7 +1971,7 @@ function renderGraph(svgElement, layout, groupIndex, outgoingRefs, onNavigate, z
|
|
|
1979
1971
|
const height = Math.max(layout.height, 200);
|
|
1980
1972
|
svg.attr("viewBox", `0 0 ${width} ${height}`);
|
|
1981
1973
|
const defs = svg.append("defs");
|
|
1982
|
-
defs.append("marker").attr("id", ARROW_MARKER_ID).attr("viewBox", "0 0 10 10").attr("refX", 10).attr("refY", 5).attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 5 L 0 10 Z").attr("fill", "var(--glyph-edge-color, #
|
|
1974
|
+
defs.append("marker").attr("id", ARROW_MARKER_ID).attr("viewBox", "0 0 10 10").attr("refX", 10).attr("refY", 5).attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 5 L 0 10 Z").attr("fill", "var(--glyph-edge-color, var(--glyph-border, #d0d8e4))");
|
|
1983
1975
|
const container = svgElement.parentElement ?? svgElement;
|
|
1984
1976
|
const nodeRadius = getThemeVar(container, "--glyph-node-radius", "3");
|
|
1985
1977
|
const nodeStrokeWidth = getThemeVar(container, "--glyph-node-stroke-width", "1.5");
|
|
@@ -1998,11 +1990,14 @@ function renderGraph(svgElement, layout, groupIndex, outgoingRefs, onNavigate, z
|
|
|
1998
1990
|
const edgeGroup = root.append("g").attr("class", "glyph-graph-edges");
|
|
1999
1991
|
for (const edge of layout.edges) {
|
|
2000
1992
|
const edgeG = edgeGroup.append("g").attr("class", "glyph-graph-edge");
|
|
2001
|
-
edgeG.append("path").attr("d", lineGen(edge.points) ?? "").attr("fill", "none").attr(
|
|
1993
|
+
edgeG.append("path").attr("d", lineGen(edge.points) ?? "").attr("fill", "none").attr(
|
|
1994
|
+
"stroke",
|
|
1995
|
+
edge.style?.["stroke"] ?? "var(--glyph-edge-color, var(--glyph-border, #d0d8e4))"
|
|
1996
|
+
).attr("stroke-width", edge.style?.["stroke-width"] ?? nodeStrokeWidth).attr("marker-end", `url(#${ARROW_MARKER_ID})`).attr("stroke-dasharray", edge.type === "dashed" ? "5,5" : null);
|
|
2002
1997
|
if (edge.label) {
|
|
2003
1998
|
const mid = edge.points[Math.floor(edge.points.length / 2)];
|
|
2004
1999
|
if (mid) {
|
|
2005
|
-
edgeG.append("text").attr("x", mid.x).attr("y", mid.y - 8).attr("text-anchor", "middle").attr("font-size", "11px").attr("fill", "var(--glyph-edge-color, #
|
|
2000
|
+
edgeG.append("text").attr("x", mid.x).attr("y", mid.y - 8).attr("text-anchor", "middle").attr("font-size", "11px").attr("fill", "var(--glyph-edge-color, var(--glyph-border, #d0d8e4))").text(inlineToText(edge.label));
|
|
2006
2001
|
}
|
|
2007
2002
|
}
|
|
2008
2003
|
}
|
|
@@ -2013,7 +2008,7 @@ function renderGraph(svgElement, layout, groupIndex, outgoingRefs, onNavigate, z
|
|
|
2013
2008
|
const isNavigable = navigableNodes.has(node.id);
|
|
2014
2009
|
const nodeX = node.x - node.width / 2;
|
|
2015
2010
|
const nodeY = node.y - node.height / 2;
|
|
2016
|
-
const defaultStroke = d32.color(color3)?.darker(0.5)?.toString() ?? "var(--glyph-edge-color, #
|
|
2011
|
+
const defaultStroke = d32.color(color3)?.darker(0.5)?.toString() ?? "var(--glyph-edge-color, var(--glyph-border, #d0d8e4))";
|
|
2017
2012
|
if (node.type === "circle") {
|
|
2018
2013
|
nodeG.append("circle").attr("cx", node.x).attr("cy", node.y).attr("r", Math.min(node.width, node.height) / 2).attr("fill", node.style?.["fill"] ?? color3).attr("stroke", node.style?.["stroke"] ?? defaultStroke).attr("stroke-width", node.style?.["stroke-width"] ?? nodeStrokeWidth).attr("opacity", nodeFillOpacity);
|
|
2019
2014
|
} else {
|
|
@@ -2244,19 +2239,19 @@ function drawCrowsFoot(g, x, y, angle, symbol) {
|
|
|
2244
2239
|
if (symbol === "N" || symbol === "M") {
|
|
2245
2240
|
const cx = x + Math.cos(angle) * len;
|
|
2246
2241
|
const cy = y + Math.sin(angle) * len;
|
|
2247
|
-
g.append("line").attr("x1", x).attr("y1", y).attr("x2", cx).attr("y2", cy).attr("stroke", "var(--glyph-relation-line, #
|
|
2242
|
+
g.append("line").attr("x1", x).attr("y1", y).attr("x2", cx).attr("y2", cy).attr("stroke", "var(--glyph-relation-line, var(--glyph-border, #d0d8e4))").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
|
|
2248
2243
|
const lx = x + Math.cos(angle + spread) * len;
|
|
2249
2244
|
const ly = y + Math.sin(angle + spread) * len;
|
|
2250
|
-
g.append("line").attr("x1", x).attr("y1", y).attr("x2", lx).attr("y2", ly).attr("stroke", "var(--glyph-relation-line, #
|
|
2245
|
+
g.append("line").attr("x1", x).attr("y1", y).attr("x2", lx).attr("y2", ly).attr("stroke", "var(--glyph-relation-line, var(--glyph-border, #d0d8e4))").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
|
|
2251
2246
|
const rx = x + Math.cos(angle - spread) * len;
|
|
2252
2247
|
const ry = y + Math.sin(angle - spread) * len;
|
|
2253
|
-
g.append("line").attr("x1", x).attr("y1", y).attr("x2", rx).attr("y2", ry).attr("stroke", "var(--glyph-relation-line, #
|
|
2248
|
+
g.append("line").attr("x1", x).attr("y1", y).attr("x2", rx).attr("y2", ry).attr("stroke", "var(--glyph-relation-line, var(--glyph-border, #d0d8e4))").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
|
|
2254
2249
|
} else {
|
|
2255
2250
|
const perpAngle = angle + Math.PI / 2;
|
|
2256
2251
|
const halfLen = 8;
|
|
2257
2252
|
const tx = x + Math.cos(angle) * 6;
|
|
2258
2253
|
const ty = y + Math.sin(angle) * 6;
|
|
2259
|
-
g.append("line").attr("x1", tx - Math.cos(perpAngle) * halfLen).attr("y1", ty - Math.sin(perpAngle) * halfLen).attr("x2", tx + Math.cos(perpAngle) * halfLen).attr("y2", ty + Math.sin(perpAngle) * halfLen).attr("stroke", "var(--glyph-relation-line, #
|
|
2254
|
+
g.append("line").attr("x1", tx - Math.cos(perpAngle) * halfLen).attr("y1", ty - Math.sin(perpAngle) * halfLen).attr("x2", tx + Math.cos(perpAngle) * halfLen).attr("y2", ty + Math.sin(perpAngle) * halfLen).attr("stroke", "var(--glyph-relation-line, var(--glyph-border, #d0d8e4))").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
|
|
2260
2255
|
}
|
|
2261
2256
|
}
|
|
2262
2257
|
function renderRelation(svgElement, layout, zoomBehavior) {
|
|
@@ -2275,7 +2270,7 @@ function renderRelation(svgElement, layout, zoomBehavior) {
|
|
|
2275
2270
|
const edgeGroup = root.append("g").attr("class", "glyph-relation-edges");
|
|
2276
2271
|
for (const rel of layout.relationships) {
|
|
2277
2272
|
const edgeG = edgeGroup.append("g").attr("class", "glyph-relation-edge");
|
|
2278
|
-
edgeG.append("path").attr("d", lineGen(rel.points) ?? "").attr("fill", "none").attr("stroke", "var(--glyph-relation-line, #
|
|
2273
|
+
edgeG.append("path").attr("d", lineGen(rel.points) ?? "").attr("fill", "none").attr("stroke", "var(--glyph-relation-line, var(--glyph-border, #d0d8e4))").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
|
|
2279
2274
|
const { fromSymbol, toSymbol } = parseCardinality(rel.cardinality);
|
|
2280
2275
|
const p0 = rel.points[0];
|
|
2281
2276
|
const p1 = rel.points[1];
|
|
@@ -2292,7 +2287,7 @@ function renderRelation(svgElement, layout, zoomBehavior) {
|
|
|
2292
2287
|
if (rel.label) {
|
|
2293
2288
|
const mid = rel.points[Math.floor(rel.points.length / 2)];
|
|
2294
2289
|
if (mid) {
|
|
2295
|
-
edgeG.append("text").attr("x", mid.x).attr("y", mid.y - 10).attr("text-anchor", "middle").attr("font-size", "11px").attr("font-family", "Inter, system-ui, sans-serif").attr("fill", "var(--glyph-relation-label, #6b7a94)").text(inlineToText(rel.label));
|
|
2290
|
+
edgeG.append("text").attr("x", mid.x).attr("y", mid.y - 10).attr("text-anchor", "middle").attr("font-size", "11px").attr("font-family", "Inter, system-ui, sans-serif").attr("fill", "var(--glyph-relation-label, var(--glyph-text-muted, #6b7a94))").text(inlineToText(rel.label));
|
|
2296
2291
|
}
|
|
2297
2292
|
}
|
|
2298
2293
|
const pFirst = rel.points[0];
|
|
@@ -2300,14 +2295,14 @@ function renderRelation(svgElement, layout, zoomBehavior) {
|
|
|
2300
2295
|
if (pFirst && pSecond) {
|
|
2301
2296
|
const fromLabelX = pFirst.x + (pSecond.x - pFirst.x) * 0.15;
|
|
2302
2297
|
const fromLabelY = pFirst.y + (pSecond.y - pFirst.y) * 0.15 - 10;
|
|
2303
|
-
edgeG.append("text").attr("x", fromLabelX).attr("y", fromLabelY).attr("text-anchor", "middle").attr("font-size", "10px").attr("font-family", "Inter, system-ui, sans-serif").attr("fill", "var(--glyph-relation-cardinality, #6b7a94)").text(fromSymbol);
|
|
2298
|
+
edgeG.append("text").attr("x", fromLabelX).attr("y", fromLabelY).attr("text-anchor", "middle").attr("font-size", "10px").attr("font-family", "Inter, system-ui, sans-serif").attr("fill", "var(--glyph-relation-cardinality, var(--glyph-text-muted, #6b7a94))").text(fromSymbol);
|
|
2304
2299
|
}
|
|
2305
2300
|
const pEnd = rel.points[rel.points.length - 1];
|
|
2306
2301
|
const pBeforeEnd = rel.points[rel.points.length - 2];
|
|
2307
2302
|
if (pEnd && pBeforeEnd) {
|
|
2308
2303
|
const toLabelX = pEnd.x + (pBeforeEnd.x - pEnd.x) * 0.15;
|
|
2309
2304
|
const toLabelY = pEnd.y + (pBeforeEnd.y - pEnd.y) * 0.15 - 10;
|
|
2310
|
-
edgeG.append("text").attr("x", toLabelX).attr("y", toLabelY).attr("text-anchor", "middle").attr("font-size", "10px").attr("font-family", "Inter, system-ui, sans-serif").attr("fill", "var(--glyph-relation-cardinality, #6b7a94)").text(toSymbol);
|
|
2305
|
+
edgeG.append("text").attr("x", toLabelX).attr("y", toLabelY).attr("text-anchor", "middle").attr("font-size", "10px").attr("font-family", "Inter, system-ui, sans-serif").attr("fill", "var(--glyph-relation-cardinality, var(--glyph-text-muted, #6b7a94))").text(toSymbol);
|
|
2311
2306
|
}
|
|
2312
2307
|
}
|
|
2313
2308
|
const entityGroup = root.append("g").attr("class", "glyph-relation-entities");
|
|
@@ -2316,24 +2311,24 @@ function renderRelation(svgElement, layout, zoomBehavior) {
|
|
|
2316
2311
|
const x = entity.x - entity.width / 2;
|
|
2317
2312
|
const y = entity.y - entity.height / 2;
|
|
2318
2313
|
const attrs = entity.attributes ?? [];
|
|
2319
|
-
entityG.append("rect").attr("x", x).attr("y", y).attr("width", entity.width).attr("height", entity.height).attr("rx", 4).attr("ry", 4).attr("fill", "var(--glyph-relation-entity-bg, #f4f6fa)").attr("stroke", "var(--glyph-relation-entity-border, #a8b5c8)").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
|
|
2314
|
+
entityG.append("rect").attr("x", x).attr("y", y).attr("width", entity.width).attr("height", entity.height).attr("rx", 4).attr("ry", 4).attr("fill", "var(--glyph-relation-entity-bg, var(--glyph-surface-raised, #f4f6fa))").attr("stroke", "var(--glyph-relation-entity-border, var(--glyph-border-strong, #a8b5c8))").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
|
|
2320
2315
|
const headerHeight = ENTITY_HEADER_HEIGHT;
|
|
2321
|
-
entityG.append("rect").attr("x", x).attr("y", y).attr("width", entity.width).attr("height", headerHeight).attr("rx", 4).attr("ry", 4).attr("fill", "var(--glyph-relation-header-bg, #
|
|
2322
|
-
entityG.append("rect").attr("x", x).attr("y", y + headerHeight - 4).attr("width", entity.width).attr("height", 4).attr("fill", "var(--glyph-relation-header-bg, #
|
|
2323
|
-
entityG.append("text").attr("x", entity.x).attr("y", y + headerHeight / 2).attr("dy", "0.35em").attr("text-anchor", "middle").attr("font-size", "13px").attr("font-weight", "bold").attr("font-family", "Inter, system-ui, sans-serif").attr("fill", "var(--glyph-relation-header-text, #fff)").text(inlineToText(entity.label));
|
|
2316
|
+
entityG.append("rect").attr("x", x).attr("y", y).attr("width", entity.width).attr("height", headerHeight).attr("rx", 4).attr("ry", 4).attr("fill", "var(--glyph-relation-header-bg, var(--glyph-accent, #0a9d7c))");
|
|
2317
|
+
entityG.append("rect").attr("x", x).attr("y", y + headerHeight - 4).attr("width", entity.width).attr("height", 4).attr("fill", "var(--glyph-relation-header-bg, var(--glyph-accent, #0a9d7c))");
|
|
2318
|
+
entityG.append("text").attr("x", entity.x).attr("y", y + headerHeight / 2).attr("dy", "0.35em").attr("text-anchor", "middle").attr("font-size", "13px").attr("font-weight", "bold").attr("font-family", "Inter, system-ui, sans-serif").attr("fill", "var(--glyph-relation-header-text, var(--glyph-text-on-accent, #fff))").text(inlineToText(entity.label));
|
|
2324
2319
|
if (attrs.length > 0) {
|
|
2325
|
-
entityG.append("line").attr("x1", x).attr("y1", y + headerHeight).attr("x2", x + entity.width).attr("y2", y + headerHeight).attr("stroke", "var(--glyph-relation-entity-border, #a8b5c8)").attr("stroke-width", 1);
|
|
2320
|
+
entityG.append("line").attr("x1", x).attr("y1", y + headerHeight).attr("x2", x + entity.width).attr("y2", y + headerHeight).attr("stroke", "var(--glyph-relation-entity-border, var(--glyph-border-strong, #a8b5c8))").attr("stroke-width", 1);
|
|
2326
2321
|
}
|
|
2327
2322
|
for (let i = 0; i < attrs.length; i++) {
|
|
2328
2323
|
const attr = attrs[i];
|
|
2329
2324
|
if (!attr) continue;
|
|
2330
2325
|
const attrY = y + headerHeight + i * ENTITY_ATTR_HEIGHT + ENTITY_ATTR_HEIGHT / 2 + 4;
|
|
2331
|
-
const textEl = entityG.append("text").attr("x", x + ENTITY_PADDING).attr("y", attrY).attr("dy", "0.35em").attr("font-size", "12px").attr("font-family", "system-ui, -apple-system, monospace").attr("fill", "var(--glyph-relation-attr-text, #1a2035)");
|
|
2326
|
+
const textEl = entityG.append("text").attr("x", x + ENTITY_PADDING).attr("y", attrY).attr("dy", "0.35em").attr("font-size", "12px").attr("font-family", "system-ui, -apple-system, monospace").attr("fill", "var(--glyph-relation-attr-text, var(--glyph-text, #1a2035))");
|
|
2332
2327
|
const nameSpan = textEl.append("tspan").text(inlineToText(attr.name));
|
|
2333
2328
|
if (attr.primaryKey) {
|
|
2334
2329
|
nameSpan.attr("font-weight", "bold").attr("text-decoration", "underline");
|
|
2335
2330
|
}
|
|
2336
|
-
textEl.append("tspan").attr("fill", "var(--glyph-relation-attr-type, #6b7a94)").text(`: ${attr.type}`);
|
|
2331
|
+
textEl.append("tspan").attr("fill", "var(--glyph-relation-attr-type, var(--glyph-text-muted, #6b7a94))").text(`: ${attr.type}`);
|
|
2337
2332
|
}
|
|
2338
2333
|
}
|
|
2339
2334
|
}
|
|
@@ -2415,6 +2410,11 @@ var relationDefinition = {
|
|
|
2415
2410
|
schema: relationSchema,
|
|
2416
2411
|
render: Relation
|
|
2417
2412
|
};
|
|
2413
|
+
var KPI_COLOR_MAP = {
|
|
2414
|
+
positive: "var(--glyph-kpi-positive, var(--glyph-color-success, #16a34a))",
|
|
2415
|
+
negative: "var(--glyph-kpi-negative, var(--glyph-color-error, #dc2626))",
|
|
2416
|
+
neutral: "var(--glyph-kpi-neutral, var(--glyph-text-muted, #6b7a94))"
|
|
2417
|
+
};
|
|
2418
2418
|
var TREND_SYMBOLS = {
|
|
2419
2419
|
up: "\u25B2",
|
|
2420
2420
|
down: "\u25BC",
|
|
@@ -2497,7 +2497,7 @@ function Kpi({ data, block, container }) {
|
|
|
2497
2497
|
const deltaStyle = {
|
|
2498
2498
|
fontSize: "0.875rem",
|
|
2499
2499
|
marginTop: "var(--glyph-spacing-xs, 0.25rem)",
|
|
2500
|
-
color:
|
|
2500
|
+
color: KPI_COLOR_MAP[sentiment]
|
|
2501
2501
|
};
|
|
2502
2502
|
return /* @__PURE__ */ jsxs("div", { role: "group", "aria-label": buildAriaLabel(metric), style: cardStyle2, children: [
|
|
2503
2503
|
/* @__PURE__ */ jsx("div", { style: labelStyle4, children: /* @__PURE__ */ jsx(RichText, { content: metric.label }) }),
|
|
@@ -2648,7 +2648,10 @@ function renderValue(value) {
|
|
|
2648
2648
|
"span",
|
|
2649
2649
|
{
|
|
2650
2650
|
"aria-label": "Supported",
|
|
2651
|
-
style: {
|
|
2651
|
+
style: {
|
|
2652
|
+
color: "var(--glyph-comparison-yes, var(--glyph-color-success, #16a34a))",
|
|
2653
|
+
fontSize: "1.25rem"
|
|
2654
|
+
},
|
|
2652
2655
|
children: "\u2713"
|
|
2653
2656
|
}
|
|
2654
2657
|
);
|
|
@@ -2657,7 +2660,10 @@ function renderValue(value) {
|
|
|
2657
2660
|
"span",
|
|
2658
2661
|
{
|
|
2659
2662
|
"aria-label": "Not supported",
|
|
2660
|
-
style: {
|
|
2663
|
+
style: {
|
|
2664
|
+
color: "var(--glyph-comparison-no, var(--glyph-color-error, #dc2626))",
|
|
2665
|
+
fontSize: "1.25rem"
|
|
2666
|
+
},
|
|
2661
2667
|
children: "\u2717"
|
|
2662
2668
|
}
|
|
2663
2669
|
);
|
|
@@ -2666,7 +2672,10 @@ function renderValue(value) {
|
|
|
2666
2672
|
"span",
|
|
2667
2673
|
{
|
|
2668
2674
|
"aria-label": "Partially supported",
|
|
2669
|
-
style: {
|
|
2675
|
+
style: {
|
|
2676
|
+
color: "var(--glyph-comparison-partial, var(--glyph-color-warning, #d97706))",
|
|
2677
|
+
fontSize: "1.25rem"
|
|
2678
|
+
},
|
|
2670
2679
|
children: "\u25D0"
|
|
2671
2680
|
}
|
|
2672
2681
|
);
|
|
@@ -2691,7 +2700,7 @@ function Comparison({
|
|
|
2691
2700
|
const tableStyle2 = {
|
|
2692
2701
|
width: "100%",
|
|
2693
2702
|
borderCollapse: "collapse",
|
|
2694
|
-
border: "1px solid var(--glyph-table-border, #d0d8e4)",
|
|
2703
|
+
border: "1px solid var(--glyph-table-border, var(--glyph-border, #d0d8e4))",
|
|
2695
2704
|
borderRadius: "var(--glyph-radius-md, 0.5rem)",
|
|
2696
2705
|
overflow: "hidden",
|
|
2697
2706
|
fontSize: isCompact ? "0.8125rem" : "0.875rem"
|
|
@@ -2700,8 +2709,8 @@ function Comparison({
|
|
|
2700
2709
|
padding: cellPadding,
|
|
2701
2710
|
textAlign: "center",
|
|
2702
2711
|
fontWeight: 600,
|
|
2703
|
-
background: "var(--glyph-table-header-bg, #e8ecf3)",
|
|
2704
|
-
borderBottom: "2px solid var(--glyph-table-border, #d0d8e4)",
|
|
2712
|
+
background: "var(--glyph-table-header-bg, var(--glyph-surface, #e8ecf3))",
|
|
2713
|
+
borderBottom: "2px solid var(--glyph-table-border, var(--glyph-border, #d0d8e4))",
|
|
2705
2714
|
color: "var(--glyph-heading, #0a0e1a)"
|
|
2706
2715
|
};
|
|
2707
2716
|
const featureThStyle = {
|
|
@@ -2712,14 +2721,14 @@ function Comparison({
|
|
|
2712
2721
|
padding: cellPadding,
|
|
2713
2722
|
textAlign: "left",
|
|
2714
2723
|
fontWeight: 600,
|
|
2715
|
-
borderBottom: "1px solid var(--glyph-table-border, #d0d8e4)",
|
|
2724
|
+
borderBottom: "1px solid var(--glyph-table-border, var(--glyph-border, #d0d8e4))",
|
|
2716
2725
|
fontSize: "0.8125rem"
|
|
2717
2726
|
};
|
|
2718
2727
|
const cellStyle2 = (rowIndex) => ({
|
|
2719
2728
|
padding: cellPadding,
|
|
2720
2729
|
textAlign: "center",
|
|
2721
|
-
borderBottom: "1px solid var(--glyph-table-border, #d0d8e4)",
|
|
2722
|
-
background: rowIndex % 2 === 1 ? "var(--glyph-table-row-alt-bg, transparent)" : "transparent"
|
|
2730
|
+
borderBottom: "1px solid var(--glyph-table-border, var(--glyph-border, #d0d8e4))",
|
|
2731
|
+
background: rowIndex % 2 === 1 ? "var(--glyph-table-row-alt-bg, var(--glyph-surface-raised, transparent))" : "transparent"
|
|
2723
2732
|
});
|
|
2724
2733
|
return /* @__PURE__ */ jsxs("div", { id: baseId, role: "region", "aria-label": title ?? "Comparison", style: containerStyle11, children: [
|
|
2725
2734
|
title && /* @__PURE__ */ jsx(
|
|
@@ -2782,7 +2791,7 @@ function Comparison({
|
|
|
2782
2791
|
scope: "row",
|
|
2783
2792
|
style: {
|
|
2784
2793
|
...rowThStyle,
|
|
2785
|
-
background: rowIndex % 2 === 1 ? "var(--glyph-table-row-alt-bg, transparent)" : "transparent"
|
|
2794
|
+
background: rowIndex % 2 === 1 ? "var(--glyph-table-row-alt-bg, var(--glyph-surface-raised, transparent))" : "transparent"
|
|
2786
2795
|
},
|
|
2787
2796
|
children: feature.name
|
|
2788
2797
|
}
|
|
@@ -2921,8 +2930,9 @@ function CodeDiff({ data, block }) {
|
|
|
2921
2930
|
return void 0;
|
|
2922
2931
|
}
|
|
2923
2932
|
function rowColor(kind) {
|
|
2924
|
-
if (kind === "add")
|
|
2925
|
-
|
|
2933
|
+
if (kind === "add")
|
|
2934
|
+
return "var(--glyph-codediff-add-color, var(--glyph-color-success, #16a34a))";
|
|
2935
|
+
if (kind === "del") return "var(--glyph-codediff-del-color, var(--glyph-color-error, #dc2626))";
|
|
2926
2936
|
return void 0;
|
|
2927
2937
|
}
|
|
2928
2938
|
return /* @__PURE__ */ jsxs("div", { id: baseId, role: "region", "aria-label": summary, style: containerStyle11, children: [
|
|
@@ -4049,21 +4059,20 @@ function renderIcon(g, iconName, x, y, size = 20) {
|
|
|
4049
4059
|
|
|
4050
4060
|
// src/architecture/render.ts
|
|
4051
4061
|
var NODE_PALETTE = [
|
|
4052
|
-
"#00d4aa",
|
|
4053
|
-
"#b44dff",
|
|
4054
|
-
"#22c55e",
|
|
4055
|
-
"#e040fb",
|
|
4056
|
-
"#00e5ff",
|
|
4057
|
-
"#84cc16",
|
|
4058
|
-
"#f472b6",
|
|
4059
|
-
"#fb923c",
|
|
4060
|
-
"#818cf8",
|
|
4061
|
-
"#38bdf8"
|
|
4062
|
+
"var(--glyph-palette-color-1, #00d4aa)",
|
|
4063
|
+
"var(--glyph-palette-color-2, #b44dff)",
|
|
4064
|
+
"var(--glyph-palette-color-3, #22c55e)",
|
|
4065
|
+
"var(--glyph-palette-color-4, #e040fb)",
|
|
4066
|
+
"var(--glyph-palette-color-5, #00e5ff)",
|
|
4067
|
+
"var(--glyph-palette-color-6, #84cc16)",
|
|
4068
|
+
"var(--glyph-palette-color-7, #f472b6)",
|
|
4069
|
+
"var(--glyph-palette-color-8, #fb923c)",
|
|
4070
|
+
"var(--glyph-palette-color-9, #818cf8)",
|
|
4071
|
+
"var(--glyph-palette-color-10, #38bdf8)"
|
|
4062
4072
|
];
|
|
4063
4073
|
function zoneBackground(depth) {
|
|
4064
4074
|
const alphas = [0.06, 0.1, 0.14, 0.18];
|
|
4065
|
-
|
|
4066
|
-
return `rgba(0,212,170,${alpha})`;
|
|
4075
|
+
return alphas[Math.min(depth, alphas.length - 1)] ?? 0.18;
|
|
4067
4076
|
}
|
|
4068
4077
|
function getThemeVar3(container, varName, fallback) {
|
|
4069
4078
|
return getComputedStyle(container).getPropertyValue(varName).trim() || fallback;
|
|
@@ -4076,7 +4085,7 @@ function renderArchitecture(svgElement, layout, rootRef, zoomBehavior) {
|
|
|
4076
4085
|
const height = Math.max(layout.height, 200);
|
|
4077
4086
|
svg.attr("viewBox", `0 0 ${width} ${height}`);
|
|
4078
4087
|
const defs = svg.append("defs");
|
|
4079
|
-
defs.append("marker").attr("id", ARROW_MARKER_ID3).attr("viewBox", "0 0 10 10").attr("refX", 10).attr("refY", 5).attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 5 L 0 10 Z").attr("fill", "var(--glyph-edge-color, #
|
|
4088
|
+
defs.append("marker").attr("id", ARROW_MARKER_ID3).attr("viewBox", "0 0 10 10").attr("refX", 10).attr("refY", 5).attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 5 L 0 10 Z").attr("fill", "var(--glyph-edge-color, var(--glyph-border, #d0d8e4))");
|
|
4080
4089
|
const container = svgElement.parentElement ?? svgElement;
|
|
4081
4090
|
const nodeRadius = getThemeVar3(container, "--glyph-node-radius", "3");
|
|
4082
4091
|
const nodeStrokeWidth = getThemeVar3(container, "--glyph-node-stroke-width", "1.5");
|
|
@@ -4092,7 +4101,7 @@ function renderArchitecture(svgElement, layout, rootRef, zoomBehavior) {
|
|
|
4092
4101
|
const zoneGroup = root.append("g").attr("class", "glyph-architecture-zones");
|
|
4093
4102
|
for (const zone of sortedZones) {
|
|
4094
4103
|
const zoneG = zoneGroup.append("g").attr("class", "glyph-architecture-zone");
|
|
4095
|
-
zoneG.append("rect").attr("x", zone.x).attr("y", zone.y).attr("width", zone.width).attr("height", zone.height).attr("rx", nodeRadius).attr("ry", nodeRadius).attr("fill", zoneBackground(zone.depth)).attr("stroke", "var(--glyph-accent-muted, #1a4a3a)").attr("stroke-width", 1).attr("stroke-dasharray", "6,3");
|
|
4104
|
+
zoneG.append("rect").attr("x", zone.x).attr("y", zone.y).attr("width", zone.width).attr("height", zone.height).attr("rx", nodeRadius).attr("ry", nodeRadius).attr("fill", "var(--glyph-accent, #00d4aa)").attr("fill-opacity", zoneBackground(zone.depth)).attr("stroke", "var(--glyph-accent-muted, #1a4a3a)").attr("stroke-width", 1).attr("stroke-dasharray", "6,3");
|
|
4096
4105
|
zoneG.append("text").attr("x", zone.x + 10).attr("y", zone.y + 18).attr("font-size", "12px").attr("font-weight", "bold").attr("font-family", "Inter, system-ui, sans-serif").attr("fill", "var(--glyph-text-muted, #7a8599)").text(zone.label);
|
|
4097
4106
|
}
|
|
4098
4107
|
const edgeGroup = root.append("g").attr("class", "glyph-architecture-edges");
|
|
@@ -4102,7 +4111,10 @@ function renderArchitecture(svgElement, layout, rootRef, zoomBehavior) {
|
|
|
4102
4111
|
const lineGen = d32.line().x((d) => d.x).y((d) => d.y);
|
|
4103
4112
|
const strokeWidth = edge.type === "data" ? 2.5 : 1.5;
|
|
4104
4113
|
const dashArray = edge.type === "async" ? "5,5" : null;
|
|
4105
|
-
edgeG.append("path").attr("d", lineGen(edge.points) ?? "").attr("fill", "none").attr(
|
|
4114
|
+
edgeG.append("path").attr("d", lineGen(edge.points) ?? "").attr("fill", "none").attr(
|
|
4115
|
+
"stroke",
|
|
4116
|
+
edge.style?.["stroke"] ?? "var(--glyph-edge-color, var(--glyph-border, #d0d8e4))"
|
|
4117
|
+
).attr("stroke-width", edge.style?.["stroke-width"] ?? String(strokeWidth)).attr("marker-end", `url(#${ARROW_MARKER_ID3})`).attr("stroke-dasharray", dashArray);
|
|
4106
4118
|
if (edge.label && edge.points.length > 1) {
|
|
4107
4119
|
let totalLen = 0;
|
|
4108
4120
|
const segments = [];
|
|
@@ -4143,7 +4155,7 @@ function renderArchitecture(svgElement, layout, rootRef, zoomBehavior) {
|
|
|
4143
4155
|
if (!node) continue;
|
|
4144
4156
|
const nodeG = nodeGroup.append("g").attr("class", "glyph-architecture-node");
|
|
4145
4157
|
const color3 = NODE_PALETTE[nodeIdx % NODE_PALETTE.length] ?? "#00d4aa";
|
|
4146
|
-
const defaultStroke = d32.color(color3)?.darker(0.5)?.toString() ?? "var(--glyph-edge-color, #
|
|
4158
|
+
const defaultStroke = d32.color(color3)?.darker(0.5)?.toString() ?? "var(--glyph-edge-color, var(--glyph-border, #d0d8e4))";
|
|
4147
4159
|
nodeG.append("rect").attr("x", node.x).attr("y", node.y).attr("width", node.width).attr("height", node.height).attr("rx", nodeRadius).attr("ry", nodeRadius).attr("fill", color3).attr("stroke", defaultStroke).attr("stroke-width", nodeStrokeWidth).attr("opacity", nodeFillOpacity);
|
|
4148
4160
|
if (node.icon) {
|
|
4149
4161
|
renderIcon(nodeG, node.icon, node.x + node.width / 2, node.y + 20, 18);
|
|
@@ -4721,9 +4733,9 @@ function optionLabelStyle(isSelected, submitted, isCorrectOption, isIncorrectSel
|
|
|
4721
4733
|
marginBottom: "0.375rem",
|
|
4722
4734
|
borderRadius: "var(--glyph-radius-md, 0.5rem)",
|
|
4723
4735
|
cursor: submitted ? "default" : "pointer",
|
|
4724
|
-
background: submitted ? isCorrectOption ? "var(--glyph-quiz-correct-bg,
|
|
4736
|
+
background: submitted ? isCorrectOption ? "var(--glyph-quiz-correct-bg, rgba(22, 163, 74, 0.12))" : isIncorrectSelection ? "var(--glyph-quiz-incorrect-bg, rgba(220, 38, 38, 0.1))" : "transparent" : isSelected ? "var(--glyph-surface, #e8ecf3)" : "transparent",
|
|
4725
4737
|
border: "1px solid",
|
|
4726
|
-
borderColor: submitted ? isCorrectOption ? "var(--glyph-quiz-correct, #16a34a)" : isIncorrectSelection ? "var(--glyph-quiz-incorrect, #dc2626)" : "var(--glyph-border, #d0d8e4)" : isSelected ? "var(--glyph-border, #d0d8e4)" : "transparent",
|
|
4738
|
+
borderColor: submitted ? isCorrectOption ? "var(--glyph-quiz-correct, var(--glyph-color-success, #16a34a))" : isIncorrectSelection ? "var(--glyph-quiz-incorrect, var(--glyph-color-error, #dc2626))" : "var(--glyph-border, #d0d8e4)" : isSelected ? "var(--glyph-border, #d0d8e4)" : "transparent",
|
|
4727
4739
|
fontSize: "0.875rem",
|
|
4728
4740
|
lineHeight: 1.6
|
|
4729
4741
|
};
|
|
@@ -4746,8 +4758,8 @@ function feedbackStyle(correct) {
|
|
|
4746
4758
|
marginTop: "0.75rem",
|
|
4747
4759
|
padding: "0.5rem 0.75rem",
|
|
4748
4760
|
borderRadius: "var(--glyph-radius-md, 0.5rem)",
|
|
4749
|
-
background: correct ? "var(--glyph-quiz-correct-bg,
|
|
4750
|
-
color: correct ? "var(--glyph-quiz-correct, #16a34a)" : "var(--glyph-quiz-incorrect, #dc2626)",
|
|
4761
|
+
background: correct ? "var(--glyph-quiz-correct-bg, rgba(22, 163, 74, 0.12))" : "var(--glyph-quiz-incorrect-bg, rgba(220, 38, 38, 0.1))",
|
|
4762
|
+
color: correct ? "var(--glyph-quiz-correct, var(--glyph-color-success, #16a34a))" : "var(--glyph-quiz-incorrect, var(--glyph-color-error, #dc2626))",
|
|
4751
4763
|
fontWeight: 600,
|
|
4752
4764
|
fontSize: "0.875rem"
|
|
4753
4765
|
};
|
|
@@ -5195,10 +5207,10 @@ function computeSectionLayout(sections) {
|
|
|
5195
5207
|
});
|
|
5196
5208
|
}
|
|
5197
5209
|
var PROGRESS_COLORS = [
|
|
5198
|
-
"var(--glyph-infographic-color-1, #
|
|
5199
|
-
"var(--glyph-infographic-color-2, #
|
|
5200
|
-
"var(--glyph-infographic-color-3, #
|
|
5201
|
-
"var(--glyph-infographic-color-4, #
|
|
5210
|
+
"var(--glyph-infographic-color-1, var(--glyph-palette-color-1, #00d4aa))",
|
|
5211
|
+
"var(--glyph-infographic-color-2, var(--glyph-palette-color-2, #b44dff))",
|
|
5212
|
+
"var(--glyph-infographic-color-3, var(--glyph-palette-color-3, #22c55e))",
|
|
5213
|
+
"var(--glyph-infographic-color-4, var(--glyph-palette-color-4, #e040fb))"
|
|
5202
5214
|
];
|
|
5203
5215
|
function renderStatGroup(items, keyPrefix) {
|
|
5204
5216
|
const rowStyle = {
|
|
@@ -5213,12 +5225,12 @@ function renderStatGroup(items, keyPrefix) {
|
|
|
5213
5225
|
const valueStyle = {
|
|
5214
5226
|
fontSize: "1.75rem",
|
|
5215
5227
|
fontWeight: 700,
|
|
5216
|
-
color: "var(--glyph-infographic-value-color, #
|
|
5228
|
+
color: "var(--glyph-infographic-value-color, var(--glyph-accent, #0a9d7c))",
|
|
5217
5229
|
lineHeight: 1.2
|
|
5218
5230
|
};
|
|
5219
5231
|
const labelStyle4 = {
|
|
5220
5232
|
fontSize: "0.8125rem",
|
|
5221
|
-
color: "var(--glyph-infographic-label-color, #
|
|
5233
|
+
color: "var(--glyph-infographic-label-color, var(--glyph-text-muted, #6b7a94))",
|
|
5222
5234
|
marginTop: "var(--glyph-spacing-xs, 0.25rem)",
|
|
5223
5235
|
textTransform: "uppercase",
|
|
5224
5236
|
letterSpacing: "0.06em",
|
|
@@ -5226,7 +5238,7 @@ function renderStatGroup(items, keyPrefix) {
|
|
|
5226
5238
|
};
|
|
5227
5239
|
const descStyle = {
|
|
5228
5240
|
fontSize: "0.75rem",
|
|
5229
|
-
color: "var(--glyph-infographic-desc-color, #
|
|
5241
|
+
color: "var(--glyph-infographic-desc-color, var(--glyph-text-muted, #6b7a94))",
|
|
5230
5242
|
marginTop: "var(--glyph-spacing-xs, 0.25rem)",
|
|
5231
5243
|
fontStyle: "italic"
|
|
5232
5244
|
};
|
|
@@ -5240,7 +5252,7 @@ function renderProgressGroup(items, keyPrefix, colorOffset) {
|
|
|
5240
5252
|
const trackStyle = {
|
|
5241
5253
|
height: "0.5rem",
|
|
5242
5254
|
borderRadius: "var(--glyph-radius-sm, 0.375rem)",
|
|
5243
|
-
background: "var(--glyph-infographic-track, #
|
|
5255
|
+
background: "var(--glyph-infographic-track, var(--glyph-surface, #e8ecf3))",
|
|
5244
5256
|
overflow: "hidden"
|
|
5245
5257
|
};
|
|
5246
5258
|
return /* @__PURE__ */ jsx("div", { "data-group": "progress", children: items.map((item, i) => {
|
|
@@ -5273,7 +5285,7 @@ function renderProgressGroup(items, keyPrefix, colorOffset) {
|
|
|
5273
5285
|
"span",
|
|
5274
5286
|
{
|
|
5275
5287
|
style: {
|
|
5276
|
-
color: "var(--glyph-infographic-value-color, #
|
|
5288
|
+
color: "var(--glyph-infographic-value-color, var(--glyph-accent, #0a9d7c))",
|
|
5277
5289
|
fontWeight: 700
|
|
5278
5290
|
},
|
|
5279
5291
|
children: [
|
|
@@ -5320,7 +5332,7 @@ function renderFactGroup(items, keyPrefix) {
|
|
|
5320
5332
|
{
|
|
5321
5333
|
style: {
|
|
5322
5334
|
marginRight: "var(--glyph-spacing-xs, 0.25rem)",
|
|
5323
|
-
color: "var(--glyph-infographic-accent, #
|
|
5335
|
+
color: "var(--glyph-infographic-accent, var(--glyph-accent, #0a9d7c))"
|
|
5324
5336
|
},
|
|
5325
5337
|
"aria-hidden": "true",
|
|
5326
5338
|
children: item.icon
|
|
@@ -5335,7 +5347,7 @@ function renderTextGroup(items, keyPrefix) {
|
|
|
5335
5347
|
fontSize: "0.875rem",
|
|
5336
5348
|
lineHeight: 1.6,
|
|
5337
5349
|
color: "var(--glyph-text, #1a2035)",
|
|
5338
|
-
borderLeft: "3px solid var(--glyph-infographic-accent, #
|
|
5350
|
+
borderLeft: "3px solid var(--glyph-infographic-accent, var(--glyph-accent, #0a9d7c))",
|
|
5339
5351
|
paddingLeft: "var(--glyph-spacing-sm, 0.5rem)"
|
|
5340
5352
|
};
|
|
5341
5353
|
return /* @__PURE__ */ jsx("div", { "data-group": "text", children: items.map((item, i) => /* @__PURE__ */ jsx("p", { style: pStyle, children: item.content }, `${keyPrefix}-${String(i)}`)) }, keyPrefix);
|
|
@@ -5408,7 +5420,7 @@ function renderPieGroup(items, keyPrefix, colorOffset) {
|
|
|
5408
5420
|
style: {
|
|
5409
5421
|
fontSize: "0.875rem",
|
|
5410
5422
|
fontWeight: 600,
|
|
5411
|
-
color: "var(--glyph-infographic-heading-color, #
|
|
5423
|
+
color: "var(--glyph-infographic-heading-color, var(--glyph-heading, #0a0e1a))",
|
|
5412
5424
|
marginBottom: "var(--glyph-spacing-xs, 0.25rem)"
|
|
5413
5425
|
},
|
|
5414
5426
|
children: item.label
|
|
@@ -5467,7 +5479,7 @@ function renderDividerGroup(items, keyPrefix) {
|
|
|
5467
5479
|
role: "separator",
|
|
5468
5480
|
style: {
|
|
5469
5481
|
border: "none",
|
|
5470
|
-
borderTop: `1px ${item.style ?? "solid"} var(--glyph-infographic-section-divider, #d0d8e4)`,
|
|
5482
|
+
borderTop: `1px ${item.style ?? "solid"} var(--glyph-infographic-section-divider, var(--glyph-border, #d0d8e4))`,
|
|
5471
5483
|
margin: "var(--glyph-spacing-sm, 0.5rem) 0"
|
|
5472
5484
|
}
|
|
5473
5485
|
},
|
|
@@ -5475,7 +5487,7 @@ function renderDividerGroup(items, keyPrefix) {
|
|
|
5475
5487
|
)) }, keyPrefix);
|
|
5476
5488
|
}
|
|
5477
5489
|
function renderRatingGroup(items, keyPrefix) {
|
|
5478
|
-
const starColor = "var(--glyph-infographic-star, #f59e0b)";
|
|
5490
|
+
const starColor = "var(--glyph-infographic-star, var(--glyph-rating-star-fill, #f59e0b))";
|
|
5479
5491
|
const emptyColor = "var(--glyph-text-muted, #6b7a94)";
|
|
5480
5492
|
return /* @__PURE__ */ jsx("div", { "data-group": "rating", children: items.map((item, i) => {
|
|
5481
5493
|
const max2 = item.max ?? 5;
|
|
@@ -5568,7 +5580,7 @@ function renderRatingGroup(items, keyPrefix) {
|
|
|
5568
5580
|
{
|
|
5569
5581
|
style: {
|
|
5570
5582
|
fontSize: "0.75rem",
|
|
5571
|
-
color: "var(--glyph-infographic-desc-color, #
|
|
5583
|
+
color: "var(--glyph-infographic-desc-color, var(--glyph-text-muted, #6b7a94))",
|
|
5572
5584
|
marginTop: "var(--glyph-spacing-xs, 0.25rem)",
|
|
5573
5585
|
fontStyle: "italic"
|
|
5574
5586
|
},
|
|
@@ -5611,11 +5623,11 @@ function Infographic({
|
|
|
5611
5623
|
margin: 0,
|
|
5612
5624
|
paddingBottom: "var(--glyph-spacing-sm, 0.5rem)",
|
|
5613
5625
|
marginBottom: "var(--glyph-spacing-md, 1rem)",
|
|
5614
|
-
borderBottom: "2px solid var(--glyph-infographic-accent, #
|
|
5626
|
+
borderBottom: "2px solid var(--glyph-infographic-accent, var(--glyph-accent, #0a9d7c))",
|
|
5615
5627
|
...useGrid ? { gridColumn: "1 / -1" } : {}
|
|
5616
5628
|
};
|
|
5617
5629
|
const sectionDividerStyle = {
|
|
5618
|
-
borderTop: "1px solid var(--glyph-infographic-section-divider, #d0d8e4)",
|
|
5630
|
+
borderTop: "1px solid var(--glyph-infographic-section-divider, var(--glyph-border, #d0d8e4))",
|
|
5619
5631
|
paddingTop: "var(--glyph-spacing-md, 1rem)",
|
|
5620
5632
|
marginTop: "var(--glyph-spacing-md, 1rem)"
|
|
5621
5633
|
};
|
|
@@ -5633,9 +5645,9 @@ function Infographic({
|
|
|
5633
5645
|
const headingStyle = {
|
|
5634
5646
|
fontWeight: 700,
|
|
5635
5647
|
fontSize: "1rem",
|
|
5636
|
-
color: "var(--glyph-infographic-heading-color, #
|
|
5648
|
+
color: "var(--glyph-infographic-heading-color, var(--glyph-heading, #0a0e1a))",
|
|
5637
5649
|
marginBottom: "var(--glyph-spacing-sm, 0.5rem)",
|
|
5638
|
-
borderLeft: "3px solid var(--glyph-infographic-accent, #
|
|
5650
|
+
borderLeft: "3px solid var(--glyph-infographic-accent, var(--glyph-accent, #0a9d7c))",
|
|
5639
5651
|
paddingLeft: "var(--glyph-spacing-sm, 0.5rem)"
|
|
5640
5652
|
};
|
|
5641
5653
|
const printCss = useGrid ? `@media print { #${cssEscape(baseId)} [data-layout="grid"] { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 0.5rem !important; } #${cssEscape(baseId)} [data-layout="grid"] > div { break-inside: avoid; } }` : "";
|
|
@@ -6615,7 +6627,7 @@ var labelStyle3 = {
|
|
|
6615
6627
|
marginBottom: "0.375rem"
|
|
6616
6628
|
};
|
|
6617
6629
|
var requiredStyle = {
|
|
6618
|
-
color: "var(--glyph-form-error, #dc2626)",
|
|
6630
|
+
color: "var(--glyph-form-error, var(--glyph-color-error, #dc2626))",
|
|
6619
6631
|
marginLeft: "0.25rem"
|
|
6620
6632
|
};
|
|
6621
6633
|
var textInputStyle = {
|
|
@@ -6652,7 +6664,7 @@ var submitButtonStyle = {
|
|
|
6652
6664
|
borderRadius: "var(--glyph-radius-md, 0.5rem)",
|
|
6653
6665
|
border: "1px solid var(--glyph-accent, #0a9d7c)",
|
|
6654
6666
|
background: "var(--glyph-accent, #0a9d7c)",
|
|
6655
|
-
color: "#fff",
|
|
6667
|
+
color: "var(--glyph-text-on-accent, #fff)",
|
|
6656
6668
|
cursor: "pointer",
|
|
6657
6669
|
fontWeight: 600,
|
|
6658
6670
|
fontSize: "0.875rem",
|
|
@@ -6661,7 +6673,7 @@ var submitButtonStyle = {
|
|
|
6661
6673
|
function invalidStyle(isInvalid) {
|
|
6662
6674
|
if (!isInvalid) return {};
|
|
6663
6675
|
return {
|
|
6664
|
-
borderColor: "var(--glyph-form-error, #dc2626)"
|
|
6676
|
+
borderColor: "var(--glyph-form-error, var(--glyph-color-error, #dc2626))"
|
|
6665
6677
|
};
|
|
6666
6678
|
}
|
|
6667
6679
|
function renderField({
|
|
@@ -6937,9 +6949,9 @@ var columnCountStyle = {
|
|
|
6937
6949
|
};
|
|
6938
6950
|
function cardStyle(isGrabbed, priority) {
|
|
6939
6951
|
const priorityColors = {
|
|
6940
|
-
high: "var(--glyph-kanban-priority-high, #dc2626)",
|
|
6941
|
-
medium: "var(--glyph-kanban-priority-medium, #
|
|
6942
|
-
low: "var(--glyph-kanban-priority-low, #22c55e)"
|
|
6952
|
+
high: "var(--glyph-kanban-priority-high, var(--glyph-color-error, #dc2626))",
|
|
6953
|
+
medium: "var(--glyph-kanban-priority-medium, var(--glyph-color-warning, #d97706))",
|
|
6954
|
+
low: "var(--glyph-kanban-priority-low, var(--glyph-color-success, #22c55e))"
|
|
6943
6955
|
};
|
|
6944
6956
|
return {
|
|
6945
6957
|
background: "var(--glyph-kanban-card-bg, var(--glyph-surface-raised, #f4f6fa))",
|