UNPKG

@zhouchangju/standard-chart

Version:

标准范式组件

78 lines (77 loc) 3.05 kB
import { ThemeParser } from '../../../core/theme'; import type { PresetMode } from '../..'; export declare function labelLayout(chart: any): (params: any) => { x: number; width: number; hideOverlap: boolean; labelLinePoints: any[]; }; export declare function defaultPie(themeMode: PresetMode): { radius: number[]; avoidLabelOverlap: boolean; labelLine: { /** * @设计规范 饼图的圆环到标签的**最小距离**(即圆环到标签的水平距离),应该是32 * @实现思路 最小距离包括引导线labelLine的两段直线长度length和length2、引导线与标签的间距distanceToLabelLine组成 * labelLine两段长度最短时,圆环距标签最短,所以 32 = 16(length) + 6(length2) + 10(distanceToLabelLine) * @see length: https://echarts.apache.org/zh/option.html#series-pie.labelLine.length * @see length2: https://echarts.apache.org/zh/option.html#series-pie.labelLine.length2 * @see distanceToLabelLine: https://echarts.apache.org/zh/option.html#series-pie.label.distanceToLabelLine */ length: number; length2: number; lineStyle: { color: string; }; }; tooltip: { trigger: string; }; label: { show: boolean; lineHeight: number; /** * @设计规范 饼图标签需要对齐视觉引导线labelLine。 * @example 位于左侧的标签需要右对齐;位于右侧的标签需要左对齐。 * @caution !!!!!alignTo: 'labelLine'要求饼图数据中不包含undefined类型的数据 * @see https://echarts.apache.org/zh/option.html#series-pie.label.alignTo */ alignTo: string; bleedMargin: number; distanceToLabelLine: number; color: string; }; emphasis: { focus: string; scaleSize: number; itemStyle: { borderWidth: number; borderColor: string; color: string; }; }; /** * @设计规范 饼图中各扇形切换到高亮状态时,需要弱化其余扇形数据并隐藏引导线、标签。 * @remarks * 主题配置实现思路:设置高亮状态下聚焦当前图形`foucs: ''self`,并设置每个扇形弱化状态下的样式`series.blur`如下: * 1、弱化状态下标签颜色设置为透明。 * 2、引导线`labelLine`的线段样式设置不透明度为0 * 3、图形本身保持不透明度为1,覆盖echarts默认聚焦设置。 * @see https://github.com/apache/echarts/blob/master/src/util/states.ts#L345 聚焦条件下图形弱化为opacity:0.1 */ blur: { label: { opacity: number; }; labelLine: { show: boolean; lineStyle: { opacity: number; }; }; itemStyle: { opacity: number; }; }; }; export declare function pieThemeParse(...args: Parameters<ThemeParser>): void;