/** * Charts 公共入口(barrel,task 19)。 * * 暴露通用 Chart 容器(`renderChart` / `ChartContainer` / `Chart`)、视图模型类型 * (`ChartSpec` 等)与纯派生函数(图例/标签/状态/非颜色编码、Scoring_Engine 输出适配)。 * 具体图表(task 19.2–19.5)与属性测试(task 19.6–19.11)均从此处引用。 */ export type { ChartType, ChartStatus, ChartPattern, CategoryEncoding, DataPoint, Series, LabelKind, Label, LegendItem, ChartSpec, RiskLevel, HeatmapCellInput, RiskItemInput, } from './chart-types.js'; export { ChartContainer, Chart, renderChart, } from './ChartContainer.js'; export type { ChartContainerProps } from './ChartContainer.js'; export { chartStatus, isEmptyState, isLoadingState, seriesLabels, legendLabels, shouldShowLegend, deriveLegend, labelSetsEqual, legendMatchesData, categoryEncodings, isDistinctlyEncoded, allCategoriesDistinct, allLabelsNonEmpty, collectDataElementLabels, labelsComplete, PATTERN_SEQUENCE, patternForIndex, buildHeatmapSpec, buildTopNSpec, } from './helpers.js'; export type { ChartStatusInput } from './helpers.js'; /* ------------------------------------------------------------------ * * 风险总分仪表盘(task 19.3,Req 20.1 / 20.6) * ------------------------------------------------------------------ */ export { classifyGrade, RISK_GRADE_VALUES } from './riskGrade.js'; export { ScoreGauge } from './ScoreGauge.js'; export type { ScoreGaugeProps } from './ScoreGauge.js'; /* 具体图表组件(task 19.2,Req 20.1) */ export { RiskHeatmap } from './RiskHeatmap.js'; export type { RiskHeatmapProps } from './RiskHeatmap.js'; export { RiskBadge } from './RiskBadge.js'; export type { RiskBadgeProps } from './RiskBadge.js'; export { TopNRiskChart } from './TopNRiskChart.js'; export type { TopNRiskChartProps } from './TopNRiskChart.js'; /* 跨项目组合对比图(task 19.5,Req 20.1) */ export { PortfolioCompareChart, buildPortfolioCompareSpec } from './PortfolioCompareChart.js'; export type { PortfolioCompareChartProps, PortfolioCompareRow, PortfolioCompareKeyRisk, PortfolioCompareSpecOptions, } from './PortfolioCompareChart.js'; /* 费用拆解图与报价对比图(task 19.4,Req 20.1 / 20.7) */ export { CostBreakdownChart } from './CostBreakdownChart.js'; export type { CostBreakdownChartProps, CostBreakdownItemInput, } from './CostBreakdownChart.js'; export { QuoteCompareChart, quoteDifference } from './QuoteCompareChart.js'; export type { QuoteCompareChartProps, QuoteCompareInput, } from './QuoteCompareChart.js';