import { IRNode } from '@retikz/core'; import { IRPlotAxisGuide, IRPlotLegendGuide, IRPlotTheme } from '../../schemas'; type GuideTextStyle = Partial>; type LegendStyle = NonNullable; /** Plot palette 解析结果:所有默认配色入口收敛到一个对象 */ export type ResolvedPlotPalette = { /** 分类 scale 默认颜色 */ categorical: Array; /** 无 color 编码的 mark / series 默认颜色 */ series: Array; /** sector / pie 默认颜色 */ sector: Array; /** 连续单向色阶默认 scheme */ sequential: string; /** 发散色阶默认 scheme */ diverging: string; }; /** Plot legend 解析后的视觉 token */ export type ResolvedLegendGuideTokens = Required> & { /** Legend title 文本样式 */ title: GuideTextStyle; /** Legend label 文本样式 */ label: GuideTextStyle; }; /** Plot theme 解析结果:lowering 只消费 resolved token,不直接读原始 theme */ export type ResolvedPlotTheme = { /** 可选背景填充;省略表示透明 */ background?: string; /** 全局 guide 文本默认样式 */ typography: GuideTextStyle; /** 解析后的 palette */ palette: ResolvedPlotPalette; /** Axis 视觉默认值 */ axis: NonNullable; /** Legend 视觉默认值 */ legend: ResolvedLegendGuideTokens; /** Plot label 文本默认样式 */ labelText: GuideTextStyle; }; /** * 解析 PlotSpec.theme。 * @description 只处理视觉 token、typography、palette 和 background;domain、tick source、format 等语义字段不进入 theme */ export declare const resolvePlotTheme: (theme: IRPlotTheme | undefined, colors: ReadonlyArray | undefined) => ResolvedPlotTheme; /** * 合并 axis guide 的主题 token。 * @description 只合并 line/tick line/tick label/title/grid 的视觉字段;ticks.values、ticks.count、tickLabels.format、title.text 和 grid projection 保持 local 语义 */ export declare const resolveAxisGuideTokens: (theme: ResolvedPlotTheme, guide: IRPlotAxisGuide) => IRPlotAxisGuide; /** * 合并 legend guide 的主题 token。 * @description position、orient、channel、scale、ticks、tickLabels.format 等语义字段不参与合并 */ export declare const resolveLegendGuideTokens: (theme: ResolvedPlotTheme, local: LegendStyle | undefined) => ResolvedLegendGuideTokens; export {}; //# sourceMappingURL=theme.d.ts.map