@glyphjs/components 0.7.1 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { accordionSchema, calloutSchema, chartSchema, stepsSchema, tableSchema, tabsSchema, timelineSchema, graphSchema, relationSchema, kpiSchema, comparisonSchema, codediffSchema, flowchartSchema, filetreeSchema, sequenceSchema, architectureSchema, mindmapSchema, equationSchema, quizSchema, cardSchema, infographicSchema, pollSchema, ratingSchema, rankerSchema, sliderSchema, matrixSchema, formSchema, kanbanSchema, annotateSchema } from '@glyphjs/schemas';
2
- import { RichText } from '@glyphjs/runtime';
1
+ import { accordionSchema, calloutSchema, chartSchema, stepsSchema, tableSchema, tabsSchema, timelineSchema, graphSchema, relationSchema, kpiSchema, comparisonSchema, codediffSchema, flowchartSchema, filetreeSchema, sequenceSchema, architectureSchema, mindmapSchema, equationSchema, quizSchema, cardSchema, infographicSchema, pollSchema, ratingSchema, rankerSchema, sliderSchema, matrixSchema, formSchema, kanbanSchema, annotateSchema, columnsSchema, rowsSchema, panelSchema } from '@glyphjs/schemas';
2
+ import { RichText, BlockRenderer } from '@glyphjs/runtime';
3
3
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
4
  import { useRef, useState, useEffect, useCallback, useMemo } from 'react';
5
5
  import * as d32 from 'd3';
@@ -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: `var(--glyph-callout-${type}-bg)`,
27
- borderLeft: `4px solid var(--glyph-callout-${type}-border)`,
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
- // cyan-green
99
- "#b44dff",
100
- // purple
101
- "#22c55e",
102
- // green
103
- "#e040fb",
104
- // magenta
105
- "#00e5ff",
106
- // teal
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, #1a2035)");
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, #1a2035)");
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, #7a8599)";
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, #7a8599)" : "var(--glyph-text, #1a2035)"
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, #7a8599)" : "var(--glyph-text-muted, #7a8599)"
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, #7a8599)",
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, #7a8599)",
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
- // cyan-green
1932
- "#b44dff",
1933
- // purple
1934
- "#22c55e",
1935
- // green
1936
- "#e040fb",
1937
- // magenta
1938
- "#00e5ff",
1939
- // teal
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, #6b7a94)");
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("stroke", edge.style?.["stroke"] ?? "var(--glyph-edge-color, #6b7a94)").attr("stroke-width", edge.style?.["stroke-width"] ?? nodeStrokeWidth).attr("marker-end", `url(#${ARROW_MARKER_ID})`).attr("stroke-dasharray", edge.type === "dashed" ? "5,5" : null);
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, #6b7a94)").text(inlineToText(edge.label));
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, #6b7a94)";
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, #6b7a94)").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
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, #6b7a94)").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
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, #6b7a94)").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
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, #6b7a94)").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
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, #6b7a94)").attr("stroke-width", "var(--glyph-node-stroke-width, 1.5)");
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, #00d4aa)");
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, #00d4aa)");
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: `var(--glyph-kpi-${sentiment}, inherit)`
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: { color: "var(--glyph-comparison-yes, #16a34a)", fontSize: "1.25rem" },
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: { color: "var(--glyph-comparison-no, #dc2626)", fontSize: "1.25rem" },
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: { color: "var(--glyph-comparison-partial, #d97706)", fontSize: "1.25rem" },
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") return "var(--glyph-codediff-add-color, inherit)";
2925
- if (kind === "del") return "var(--glyph-codediff-del-color, inherit)";
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
- const alpha = alphas[Math.min(depth, alphas.length - 1)] ?? 0.18;
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, #6b7a94)");
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("stroke", edge.style?.["stroke"] ?? "var(--glyph-edge-color, #6b7a94)").attr("stroke-width", edge.style?.["stroke-width"] ?? String(strokeWidth)).attr("marker-end", `url(#${ARROW_MARKER_ID3})`).attr("stroke-dasharray", dashArray);
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, #6b7a94)";
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, #dcfce7)" : isIncorrectSelection ? "var(--glyph-quiz-incorrect-bg, #fee2e2)" : "transparent" : isSelected ? "var(--glyph-surface, #e8ecf3)" : "transparent",
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, #dcfce7)" : "var(--glyph-quiz-incorrect-bg, #fee2e2)",
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, #3b82f6)",
5199
- "var(--glyph-infographic-color-2, #22c55e)",
5200
- "var(--glyph-infographic-color-3, #f59e0b)",
5201
- "var(--glyph-infographic-color-4, #ef4444)"
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, #1d4ed8)",
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, #475569)",
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, #64748b)",
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, #e0e4ea)",
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, #1d4ed8)",
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, #3b82f6)"
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, #3b82f6)",
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, #1e293b)",
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,11 +5580,11 @@ function renderRatingGroup(items, keyPrefix) {
5568
5580
  {
5569
5581
  style: {
5570
5582
  fontSize: "0.75rem",
5571
- color: "var(--glyph-infographic-desc-color, #64748b)",
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
  },
5575
- children: item.description
5587
+ children: /* @__PURE__ */ jsx(RichText, { content: item.description })
5576
5588
  }
5577
5589
  )
5578
5590
  ] })
@@ -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, #3b82f6)",
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, #1e293b)",
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, #3b82f6)",
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, #f59e0b)",
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))",
@@ -7443,6 +7455,129 @@ var annotateDefinition = {
7443
7455
  schema: annotateSchema,
7444
7456
  render: Annotate
7445
7457
  };
7458
+ function Columns({
7459
+ data,
7460
+ block,
7461
+ layout,
7462
+ container
7463
+ }) {
7464
+ const childBlocks = block.children ?? [];
7465
+ const ratio = data.ratio ?? childBlocks.map(() => 1);
7466
+ const cols = ratio.map((r) => `${String(r)}fr`).join(" ");
7467
+ const gap = data.gap ?? "1rem";
7468
+ return /* @__PURE__ */ jsx(
7469
+ "div",
7470
+ {
7471
+ style: {
7472
+ display: "grid",
7473
+ gridTemplateColumns: cols,
7474
+ gap
7475
+ },
7476
+ children: childBlocks.map((child, i) => /* @__PURE__ */ jsx(
7477
+ BlockRenderer,
7478
+ {
7479
+ block: child,
7480
+ layout,
7481
+ index: i,
7482
+ container
7483
+ },
7484
+ child.id
7485
+ ))
7486
+ }
7487
+ );
7488
+ }
7489
+
7490
+ // src/columns/index.ts
7491
+ var columnsDefinition = {
7492
+ type: "ui:columns",
7493
+ schema: columnsSchema,
7494
+ render: Columns
7495
+ };
7496
+ function Rows({
7497
+ data,
7498
+ block,
7499
+ layout,
7500
+ container
7501
+ }) {
7502
+ const childBlocks = block.children ?? [];
7503
+ const ratio = data.ratio ?? childBlocks.map(() => 1);
7504
+ const rows = ratio.map((r) => `${String(r)}fr`).join(" ");
7505
+ const gap = data.gap ?? "1rem";
7506
+ return /* @__PURE__ */ jsx(
7507
+ "div",
7508
+ {
7509
+ style: {
7510
+ display: "grid",
7511
+ gridTemplateRows: rows,
7512
+ gap,
7513
+ height: "100%"
7514
+ },
7515
+ children: childBlocks.map((child, i) => /* @__PURE__ */ jsx(
7516
+ BlockRenderer,
7517
+ {
7518
+ block: child,
7519
+ layout,
7520
+ index: i,
7521
+ container
7522
+ },
7523
+ child.id
7524
+ ))
7525
+ }
7526
+ );
7527
+ }
7528
+
7529
+ // src/rows/index.ts
7530
+ var rowsDefinition = {
7531
+ type: "ui:rows",
7532
+ schema: rowsSchema,
7533
+ render: Rows
7534
+ };
7535
+ var PANEL_STYLES = {
7536
+ card: {
7537
+ backgroundColor: "var(--glyph-surface, #ffffff)",
7538
+ borderRadius: "var(--glyph-radius-lg, 0.5rem)",
7539
+ boxShadow: "var(--glyph-shadow-sm, 0 1px 3px rgba(0,0,0,0.1))",
7540
+ border: "1px solid var(--glyph-border, rgba(0,0,0,0.08))"
7541
+ },
7542
+ bordered: {
7543
+ border: "1px solid var(--glyph-border, rgba(0,0,0,0.2))",
7544
+ borderRadius: "var(--glyph-radius-md, 0.25rem)"
7545
+ },
7546
+ elevated: {
7547
+ backgroundColor: "var(--glyph-surface, #ffffff)",
7548
+ borderRadius: "var(--glyph-radius-lg, 0.5rem)",
7549
+ boxShadow: "var(--glyph-shadow-md, 0 4px 12px rgba(0,0,0,0.15))"
7550
+ },
7551
+ ghost: {}
7552
+ };
7553
+ function Panel({
7554
+ data,
7555
+ block,
7556
+ layout,
7557
+ container
7558
+ }) {
7559
+ const childBlock = block.children?.[0];
7560
+ const panelStyle = data.style ?? "card";
7561
+ const padding = data.padding ?? "1rem";
7562
+ return /* @__PURE__ */ jsx(
7563
+ "div",
7564
+ {
7565
+ style: {
7566
+ ...PANEL_STYLES[panelStyle],
7567
+ padding,
7568
+ overflow: "hidden"
7569
+ },
7570
+ children: childBlock && /* @__PURE__ */ jsx(BlockRenderer, { block: childBlock, layout, index: 0, container })
7571
+ }
7572
+ );
7573
+ }
7574
+
7575
+ // src/panel/index.ts
7576
+ var panelDefinition = {
7577
+ type: "ui:panel",
7578
+ schema: panelSchema,
7579
+ render: Panel
7580
+ };
7446
7581
 
7447
7582
  // src/index.ts
7448
7583
  var allComponentDefinitions = [
@@ -7474,9 +7609,12 @@ var allComponentDefinitions = [
7474
7609
  matrixDefinition,
7475
7610
  formDefinition,
7476
7611
  kanbanDefinition,
7477
- annotateDefinition
7612
+ annotateDefinition,
7613
+ columnsDefinition,
7614
+ rowsDefinition,
7615
+ panelDefinition
7478
7616
  ];
7479
7617
 
7480
- export { Accordion, Annotate, Architecture, Callout, Card, Chart, CodeDiff, Comparison, Equation, FileTree, Flowchart, Form, Graph, Infographic, Kanban, Kpi, Matrix, MindMap, Poll, Quiz, Ranker, Rating, Relation, Sequence, Slider, Steps, Table, Tabs, Timeline, accordionDefinition, allComponentDefinitions, annotateDefinition, architectureDefinition, calloutDefinition, cardDefinition, chartDefinition, codeDiffDefinition, comparisonDefinition, computeArchitectureLayout, computeDagreLayout, computeDiff, computeForceLayout, equationDefinition, fileTreeDefinition, flowchartDefinition, formDefinition, graphDefinition, infographicDefinition, kanbanDefinition, kpiDefinition, matrixDefinition, mindMapDefinition, pollDefinition, quizDefinition, rankerDefinition, ratingDefinition, relationDefinition, sequenceDefinition, sliderDefinition, stepsDefinition, tableDefinition, tabsDefinition, timelineDefinition };
7618
+ export { Accordion, Annotate, Architecture, Callout, Card, Chart, CodeDiff, Columns, Comparison, Equation, FileTree, Flowchart, Form, Graph, Infographic, Kanban, Kpi, Matrix, MindMap, Panel, Poll, Quiz, Ranker, Rating, Relation, Rows, Sequence, Slider, Steps, Table, Tabs, Timeline, accordionDefinition, allComponentDefinitions, annotateDefinition, architectureDefinition, calloutDefinition, cardDefinition, chartDefinition, codeDiffDefinition, columnsDefinition, comparisonDefinition, computeArchitectureLayout, computeDagreLayout, computeDiff, computeForceLayout, equationDefinition, fileTreeDefinition, flowchartDefinition, formDefinition, graphDefinition, infographicDefinition, kanbanDefinition, kpiDefinition, matrixDefinition, mindMapDefinition, panelDefinition, pollDefinition, quizDefinition, rankerDefinition, ratingDefinition, relationDefinition, rowsDefinition, sequenceDefinition, sliderDefinition, stepsDefinition, tableDefinition, tabsDefinition, timelineDefinition };
7481
7619
  //# sourceMappingURL=index.js.map
7482
7620
  //# sourceMappingURL=index.js.map