NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/@antv/g2/esm/interface.js.map
2023-09-14 14:47:11 +08:00

1 line
71 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"file":"interface.js","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"AAiSC,CAAC","sourcesContent":["import { COMPONENT_TYPE, DIRECTION, LAYER } from './constant';\n\nimport {\n AxisLabelCfg,\n AxisLineCfg,\n AxisSubTickLineCfg,\n AxisTickLineCfg,\n AxisTitleCfg,\n ContinueLegendHandlerCfg,\n ContinueLegendLabelCfg,\n ContinueLegendRailCfg,\n ContinueLegendTrackCfg,\n Coordinate,\n CrosshairLineCfg,\n CrosshairTextBackgroundCfg,\n CrosshairTextCfg,\n GridLineCfg,\n GroupComponent,\n HtmlComponent,\n ICanvas,\n IGroup,\n IShape,\n LegendBackgroundCfg,\n LegendItemNameCfg,\n LegendItemValueCfg,\n LegendMarkerCfg,\n LegendTitleCfg,\n PathCommand,\n Scale,\n ScaleConfig,\n ShapeAttrs,\n} from './dependents';\n\nimport { View } from './chart';\nimport { Facet } from './facet';\nimport Element from './geometry/element';\n\n// ============================ 基础类型 ============================\n/** 通用对象 */\nexport interface LooseObject {\n [key: string]: any;\n}\n\n/** 一个点位置 */\nexport interface Point {\n readonly x: number;\n readonly y: number;\n}\n\n/** 画布范围 */\nexport interface Region {\n readonly start: Point;\n readonly end: Point;\n}\n\n/** 画布大小 */\nexport interface Size {\n readonly width: number;\n readonly height: number;\n}\n\n/** 带范围的点结构 */\nexport interface RangePoint {\n readonly x?: number | number[];\n readonly y?: number | number[];\n}\n\n/** 用户数据经过图形映射处理后的数据结构 */\nexport interface MappingDatum {\n /** 原始数据 */\n _origin: Datum;\n /** shape 的关键点信息 */\n points?: ShapeVertices;\n /** 相对于当前 shape 的下一个 shape 的关键点信息 */\n nextPoints?: ShapeVertices;\n /** x 轴的坐标 */\n x?: number[] | number;\n /** y 轴的坐标 */\n y?: number[] | number;\n /** 颜色 */\n color?: string;\n /** 渲染的 shape 类型 */\n shape?: string | string[];\n /** 大小 */\n size?: number;\n}\n\n/** 绘制 Shape 需要的图形、样式、关键点等信息 */\nexport interface ShapeInfo {\n /** x 坐标 */\n x: number | number[];\n /** y 坐标 */\n y: number | number[];\n /** 映射的 shape 类型 */\n shape?: string | string[];\n /** size 映射值 */\n size?: number;\n /** 映射的颜色值 */\n color?: string;\n /** 用户设置的图形样式 */\n style?: LooseObject;\n /** 是否在极坐标下 */\n isInCircle?: boolean;\n /** 对应的原始数据记录 */\n data?: Datum | Data;\n /** 存储进行图形映射后的数据 */\n mappingData?: MappingDatum | MappingDatum[];\n /** 构成 shape 的关键点 */\n points?: ShapeVertices;\n /** 下一个数据集对应的关键点 */\n nextPoints?: ShapeVertices;\n /** Geometry.Text 需要 */\n text?: string;\n /** 数据是否发生层叠 */\n isStack?: boolean;\n /** 是否连接空值,对 Path Line Area 这三种 Geometry 生效 */\n connectNulls?: boolean;\n /** 默认的 shape 样式 */\n defaultStyle?: LooseObject;\n}\n\n/** 用户配置的动画,属性均可选 */\nexport interface AnimateCfg {\n /** 动画缓动函数 */\n readonly easing?: string | AnimateEasingCallback;\n /** 动画执行函数 */\n readonly animation?: string;\n /** 动画执行时间 */\n readonly duration?: number | AnimateDurationCallback;\n /** 动画延迟时间 */\n readonly delay?: number | AnimateDelayCallback;\n /** 动画执行结束后的回调函数 */\n readonly callback?: () => any;\n}\n\n/** 传递给 G 的动画配置duration 必须提供 */\nexport interface GAnimateCfg {\n /** 动画执行时间 */\n readonly duration: number;\n /** 动画缓动函数 */\n readonly easing?: string;\n /** 动画执行函数 */\n readonly animation?: string;\n /** 动画延迟时间 */\n readonly delay?: number;\n /** 动画执行结束后的回调函数 */\n readonly callback?: () => any;\n}\n\n// ============================ Geometry 接口相关的类型定义 ============================\n/** 图形属性配置项定义,如 geometry.position({}) */\nexport interface AttributeOption {\n /** 映射的属性字段。 */\n fields?: string[];\n /** 回调函数。 */\n callback?: (...args) => any;\n /** 指定常量映射规则。 */\n values?: any[];\n}\n\n/** 数据调整配置项定义,`geometry.adjust({})` */\nexport interface AdjustOption {\n /** 数据调整类型。 */\n readonly type: AdjustType;\n /**\n * 该属性只对 'dodge' 类型生效,取 0 到 1 范围的值(相对于每个柱子宽度),用于控制一个分组中柱子之间的间距。\n *\n * ![image](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*ps3pToOg2nwAAAAAAAAAAABkARQnAQ)\n */\n readonly marginRatio?: number;\n /**\n * 该属性只对 'dodge' 类型生效,声明以哪个数据字段为分组依据。\n */\n readonly dodgeBy?: string;\n /**\n * 该属性只对 'stack' 类型生效,用于控制是否对数据进行反序操作。\n */\n readonly reverseOrder?: boolean;\n}\n\n/** `geometry.style({})` 样式配置定义 */\nexport interface StyleOption {\n /** 映射的字段。 */\n readonly fields?: string[];\n /** 回调函数。 */\n readonly callback?: (...args) => LooseObject;\n /** 图形样式配置。 */\n readonly cfg?: LooseObject;\n}\n\n/** `geometry.tooltip({})` Tooltip 配置定义 */\nexport interface GeometryTooltipOption {\n /** 参与映射的字段。 */\n readonly fields: string[];\n /** 回调函数。 */\n readonly callback?: (...args) => LooseObject;\n}\n\nexport interface GeometryLabelLayoutCfg {\n /** label 布局类型。 */\n type: string;\n /** 各个布局函数开放给用户的配置。 */\n cfg?: LooseObject;\n}\n\n/** geometry.label({}) 配置属性 */\nexport interface GeometryLabelCfg {\n /**\n * 用于声明渲染的 label 类型。\n * 当用户使用了自定义的 label 类型,需要声明具体的 type 类型,否则会使用默认的 label 类型渲染。\n */\n type?: string;\n /** 相对数据点的偏移距离。 */\n offset?: number;\n /** label 相对于数据点在 X 方向的偏移距离。 */\n offsetX?: number;\n /** label 相对于数据点在 Y 方向的偏移距离。 */\n offsetY?: number;\n /**\n * 展示的文本内容,如果不声明则按照参与映射的第一字段的值进行显示。\n * 当 content 为 IGroup 或者 IShape 类型时,请使用相对定位,即 x 和 y 坐标都设为 0G2 内部会整体做最后的 label 进行定位的。\n * 示例: https://g2.antv.vision/zh/examples/pie/basic#pie-custome-label\n */\n content?: string | IGroup | IShape | GeometryLabelContentCallback;\n /** label 文本图形属性样式。 */\n style?: LooseObject;\n /** label 是否自动旋转,默认为 true。 */\n autoRotate?: boolean;\n /**\n * 当且仅当 `autoRotate` 为 false 时生效,用于设置文本的旋转角度,**弧度制**。\n */\n rotate?: number;\n /**\n * 用于设置文本连接线的样式属性null 表示不展示。\n */\n labelLine?: null | boolean | { style?: object };\n /** 只对极坐标下的文本生效表示文本是否按照角度进行放射状显示true 表示开启false 表示关闭。 */\n labelEmit?: boolean;\n /**\n * 文本布局类型,支持多种布局函数组合使用。\n *\n * 目前提供了三种:'overlap''fixedOverlap''limitInShape'\n * 1. overlap: label 防遮挡,为了防止 label 之间相互覆盖,通过尝试向**四周偏移**来剔除放不下的 label。\n * 2. fixed-overlap: 不改变 label 位置的情况下对相互重叠的 label 进行调整。\n * 3. limit-in-shape: 剔除 shape 容纳不了的 label。\n *\n * @example\n * ```ts\n * layout: {\n * type: 'overlap',\n * },\n * ```\n */\n layout?: GeometryLabelLayoutCfg | GeometryLabelLayoutCfg[];\n /**\n * 仅当 geometry 为 interval 时生效,指定当前 label 与当前图形的相对位置。\n */\n position?:\n | ((data: Datum, mappingData: MappingDatum, index: number) => IntervalGeometryLabelPosition)\n | IntervalGeometryLabelPosition;\n /** 动画配置。 */\n animate?: AnimateOption | false | null;\n}\n\n/** `geometry().label({})` 配置定义 */\nexport interface LabelOption {\n /** 映射的字段。 */\n fields?: string[];\n /** 回调函数。 */\n callback?: LabelCallback;\n cfg?: GeometryLabelCfg;\n}\n\n/** Geometry 下每个 state 的配置结构 */\nexport interface StateCfg {\n /** 状态样式配置。 */\n style?: object | StateStyleCallback;\n}\n\n/** geometry.state({}) 配置定义 */\nexport interface StateOption {\n /** 默认状态样式。 */\n default?: StateCfg;\n /** active 状态配置。 */\n active?: StateCfg;\n /** inactive 状态配置。 */\n inactive?: StateCfg;\n /** selected 状态配置。 */\n selected?: StateCfg;\n};\n\n/** interval label 的位置 */\nexport type IntervalGeometryLabelPosition = 'top' | 'bottom' | 'middle' | 'left' | 'right';\n/** G2 提供的 adjust 类型 */\nexport type AdjustType = 'stack' | 'jitter' | 'dodge' | 'symmetric';\n/** geometry.color() 图形属性回调函数定义 */\nexport type ColorAttrCallback = (...args) => string;\n/** geometry.shape() 图形属性回调函数定义 */\nexport type ShapeAttrCallback = (...args) => string | any[];\n/** geometry.size() 图形属性回调函数定义 */\nexport type SizeAttrCallback = (...args) => number;\n/** geometry.tooltip() 接口回调函数定义 */\nexport type TooltipCallback = (...args) => LooseObject;\n/** geometry.style() 接口回调函数定义 */\nexport type StyleCallback = (...args) => LooseObject;\n/** geometry.label() 接口回调函数定义 */\nexport type LabelCallback = (...args) => GeometryLabelCfg | null | undefined;\n/** geometry label 中 content 属性的回调函数类型定义 */\nexport type GeometryLabelContentCallback = (data: Datum, mappingData: MappingDatum, index: number) => string | IShape | IGroup;\n/** state 下 style 回调函数定义 */\nexport type StateStyleCallback = (element: Element) => LooseObject;\n\n\n// ============================ Geometry Shape 接口相关的类型定义 ============================\n/** 获取 shape marker 时需要的信息 */\nexport interface ShapeMarkerCfg {\n /** 颜色。 */\n color: string;\n /** 是否是极坐标。 */\n isInPolar: boolean;\n}\n\n/** 图形 marker 的配置信息。 */\nexport interface ShapeMarkerAttrs {\n /** marker 的形状。 */\n symbol: string | ShapeMarkerSymbol;\n /**\n * marker 的样式,`ShapeAttrs` 属性结构如下:\n *\n * ```ts\n * {\n * // x 坐标\n * x?: number;\n * // y 坐标\n * y?: number;\n * // 圆半径\n * r?: number;\n * // 描边颜色\n * stroke?: string | null;\n * // 描边透明度\n * strokeOpacity?: number;\n * // 填充颜色\n * fill?: string | null;\n * // 填充透明度\n * fillOpacity?: number;\n * // 整体透明度\n * opacity?: number;\n * // 线宽\n * lineWidth?: number;\n * // 指定如何绘制每一条线段末端\n * lineCap?: 'butt' | 'round' | 'square';\n * // 用来设置2个长度不为0的相连部分线段圆弧曲线如何连接在一起的属性长度为0的变形部分其指定的末端和控制点在同一位置会被忽略\n * lineJoin?: 'bevel' | 'round' | 'miter';\n * // 设置线的虚线样式,可以指定一个数组。一组描述交替绘制线段和间距(坐标空间单位)长度的数字。 如果数组元素的数量是奇数,数组的元素会被复制并重复。例如, [5, 15, 25] 会变成 [5, 15, 25, 5, 15, 25]。这个属性取决于浏览器是否支持 setLineDash() 函数。\n * lineDash?: number[] | null;\n * // Path 路径\n * path?: string | object[];\n * // 图形坐标点\n * points?: object[];\n * // 宽度\n * width?: number;\n * // 高度\n * height?: number;\n * // 阴影模糊效果程度\n * shadowBlur?: number;\n * // 阴影颜色\n * shadowColor?: string | null;\n * // 阴影 x 方向偏移量\n * shadowOffsetX?: number;\n * // 阴影 y 方向偏移量\n * shadowOffsetY?: number;\n * // 设置文本内容的当前对齐方式\n * textAlign?: 'start' | 'center' | 'end' | 'left' | 'right';\n * // 设置在绘制文本时使用的当前文本基线\n * textBaseline?: 'top' | 'hanging' | 'middle' | 'alphabetic' | 'ideographic' | 'bottom';\n * // 字体样式\n * fontStyle?: 'normal' | 'italic' | 'oblique';\n * // 文本字体大小\n * fontSize?: number;\n * // 文本字体\n * fontFamily?: string;\n * // 文本粗细\n * fontWeight?: 'normal' | 'bold' | 'bolder' | 'lighter' | number;\n * // 字体变体\n * fontVariant?: 'normal' | 'small-caps' | string;\n * // 文本行高\n * lineHeight?: number;\n * [key: string]: any;\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/g/blob/28e3178b616573e0fa6d59694f1aaca2baaa9766/packages/g-base/src/types.ts#L37|ShapeAttrs}\n */\n style: ShapeAttrs;\n}\n\n/** shape 关键点信息 */\nexport interface ShapePoint {\n /** 数据点映射后对应 x 的值。 */\n readonly x: number | number[];\n /** 数据点映射后对应 y 的值。 */\n readonly y?: number | number[];\n /** 数据在 y 方向的最小值。 */\n readonly y0?: number;\n size?: number;\n}\n\n\n/** 注册 ShapeFactory 需要实现的接口。 */\nexport interface RegisterShapeFactory {\n /** 默认的 shape 类型。 */\n readonly defaultShapeType: string;\n /** 返回绘制 shape 所有的关键点集合。 */\n readonly getDefaultPoints?: (pointInfo: ShapePoint) => Point[];\n /** 获取 shape 对应的缩略图配置。 */\n readonly getMarker?: (shapeType: string, markerCfg: ShapeMarkerCfg) => ShapeMarkerAttrs;\n /** 创建具体的 G.Shape 实例。 */\n readonly drawShape?: (shapeType: string, cfg: ShapeInfo, container: IGroup) => IShape | IGroup;\n}\n\n/** 注册具体 shape 需要实现的接口。 */\nexport interface RegisterShape {\n /** 计算绘制需要的关键点,在注册具体的 shape 时由开发者自己定义。 */\n readonly getPoints?: (pointInfo: ShapePoint) => Point[];\n /** 获取 shape 对应的缩略图样式配置,在注册具体的 shape 时由开发者自己定义。 */\n readonly getMarker?: (markerCfg: ShapeMarkerCfg) => ShapeMarkerAttrs;\n /** 绘制函数。 */\n readonly draw: (cfg: ShapeInfo, container: IGroup) => IShape | IGroup | void;\n}\n\n/** Shape 接口定义。 */\nexport interface Shape extends RegisterShape {\n /** 坐标系对象。 */\n coordinate: Coordinate;\n /** 工具函数,将 01 path 转化成实际画布 path。 */\n parsePath: (path: any) => PathCommand[];\n /** 工具函数01 的坐标点转换成实际画布坐标点。 */\n parsePoint: (point: Point) => Point;\n /** 工具函数01 的坐标点集合转换成实际画布坐标点集合。 */\n parsePoints: (points: Point[]) => Point[];\n}\n\n/** ShapeFactory 接口定义。 */\nexport interface ShapeFactory extends RegisterShapeFactory {\n /** 工厂名。 */\n geometryType: string;\n /** 坐标系对象。 */\n coordinate: Coordinate;\n /** ShapeFactory 下所有的主题样式。 */\n theme: LooseObject;\n /** 根据名称获取具体的 shape 对象。 */\n getShape: (shapeType: string | string[]) => Shape;\n /** 获取构成 shape 的关键点。 */\n getShapePoints: (shapeType: string | string[], pointInfo: ShapePoint) => Point[];\n}\n\n/** 自定义 Shape marker 的函数 */\nexport type ShapeMarkerSymbol = (x: number, y: number, r: number) => PathCommand[];\n\n\n// ============================ Annotation 类型定义 ============================\n/** Annotation position 回调函数 */\nexport type AnnotationPositionCallback = (\n xScales: Scale[] | Record<string, Scale>,\n yScales: Scale[] | Record<string, Scale>\n) => [number, number];\n/** Annotation 位置相关属性的类型定义 */\nexport type AnnotationPosition = [number | string, number | string] | Record<string, number | string> | AnnotationPositionCallback;\n\n/** Annotation 定义的通用属性chart.annotation().line({}) */\nexport interface AnnotationBaseOption {\n readonly type?: string;\n /** 指定 annotation 是否绘制在 canvas 最上层,默认为 false, 即绘制在最下层 */\n readonly top?: boolean;\n /** 图形样式属性 */\n readonly style?: object;\n /** 是否进行动画 */\n readonly animate?: boolean;\n /** 动画参数配置,当且仅当 `animate` 属性为 true即动画开启时生效。 */\n animateOption?: ComponentAnimateOption;\n /** x 方向的偏移量 */\n readonly offsetX?: number;\n /** y 方向的偏移量 */\n readonly offsetY?: number;\n}\n\n/** 使用 RegionPosition 定位的组件配置 */\nexport interface RegionPositionBaseOption extends AnnotationBaseOption {\n /** 起始位置 */\n readonly start: AnnotationPosition;\n /** 结束位置 */\n readonly end: AnnotationPosition;\n}\n\n/** 使用 PointPosition 定位的组件配置 */\nexport interface PointPositionBaseOption extends AnnotationBaseOption {\n /** Point 定位位置 */\n readonly position: AnnotationPosition;\n}\n\n/** 使用 Image Annotation 组件的配置定义 */\nexport interface ImageOption extends RegionPositionBaseOption {\n /** 图片路径 */\n readonly src: string;\n}\n\n/** 使用 Line Annotation 组件的配置定义 */\nexport interface LineOption extends RegionPositionBaseOption {\n /** 文本配置定义 */\n readonly text?: {\n /** 文本位置,除了制定 'start', 'center' 和 'end' 外,还可以使用百分比进行定位, 比如 '30%' */\n readonly position: 'start' | 'center' | 'end' | string;\n /** 是否自动旋转 */\n readonly autoRotate?: boolean;\n /** 显示的文本内容 */\n readonly content: string;\n /** 文本的图形样式属性 */\n readonly style?: object;\n /** x 方向的偏移量 */\n readonly offsetX?: number;\n /** y 方向偏移量 */\n readonly offsetY?: number;\n };\n}\n/** 使用 Arc Annotation 组件的配置定义 */\nexport type ArcOption = RegionPositionBaseOption;\n/** 使用 Region Annotation 组件的配置定义 */\nexport type RegionOption = RegionPositionBaseOption;\n/** 使用 Text Annotation 组件的配置定义 */\nexport interface TextOption extends PointPositionBaseOption {\n /** 显示的文本内容 */\n readonly content: string | number;\n /** 文本的旋转角度,弧度制 */\n readonly rotate?: number;\n}\n/** 使用 DataMarker Annotation 组件的配置定义 */\nexport interface DataMarkerOption extends PointPositionBaseOption {\n /** point 设置 */\n readonly point?: null | { style?: object };\n /** line 设置 */\n readonly line?: null | { style?: object; length?: number };\n /** text 设置 */\n readonly text: null | { style?: object; content: string };\n /** 文本超出绘制区域时,是否自动调节文本方向,默认为 true */\n readonly autoAdjust?: boolean;\n /** 朝向,默认为 upward可选值为 'upward' 或者 'downward' */\n readonly direction?: 'upward' | 'downward';\n}\n/** 使用 DataRegion Annotation 组件的配置定义 */\nexport interface DataRegionOption extends RegionPositionBaseOption {\n /** line长度default为 0 */\n readonly lineLength?: number;\n /** 标注区间的配置 */\n readonly region?: null | { style?: object };\n /** 文本的配置 */\n readonly text?: null | { style?: object; content: string };\n}\n/** 使用 RegionFilter Annotation 组件的配置定义 */\nexport interface RegionFilterOption extends RegionPositionBaseOption {\n /** 染色色值 */\n readonly color: string;\n /* 可选,设定regionFilter只对特定geom类型起作用如apply:['area'] */\n readonly apply?: string[];\n}\n\n// ============================ Chart && View 上的类型定义 ============================\n/** Tooltip 内容框的 css 样式定义 */\nexport interface TooltipDomStyles {\n 'g2-tooltip'?: LooseObject;\n 'g2-tooltip-title'?: LooseObject;\n 'g2-tooltip-list'?: LooseObject;\n 'g2-tooltip-list-item'?: LooseObject;\n 'g2-tooltip-marker'?: LooseObject;\n 'g2-tooltip-value'?: LooseObject;\n 'g2-tooltip-name'?: LooseObject;\n}\n\n/** 目前组件动画允许的参数配置 */\nexport interface ComponentAnimateCfg {\n /** 动画执行时间 */\n readonly duration?: number;\n /** 动画缓动函数 */\n readonly easing?: string;\n /** 动画延迟时间 */\n readonly delay?: number;\n}\n/** 组件各个动画类型配置 */\nexport interface ComponentAnimateOption {\n /** 初入场动画配置 */\n appear?: ComponentAnimateCfg;\n /** 更新动画配置 */\n update?: ComponentAnimateCfg;\n /** 更新后新入场的动画配置 */\n enter?: ComponentAnimateCfg;\n /** 离场动画配置 */\n leave?: ComponentAnimateCfg;\n}\n\n/** 列定义配置项 */\nexport interface ScaleOption extends ScaleConfig {\n /** 声明度量类型。 */\n type?: ScaleType;\n /**\n * 同步 scale。\n *\n * @example\n * ```ts\n * chart.scale({\n * x: { sync: true },\n * y: { sync: true },\n * x1: { sync: 'x1' },\n * x2: { sync: 'x1' },\n * });\n * ```\n *\n * 通过以上配置,我们会分别对 x 和 y 两个字段x1 和 x2 两个字段进行同步度量操作。\n */\n sync?: boolean | string;\n /**\n * 只对 type: 'time' 的 scale 生效,强制显示最后的日期 tick。\n */\n showLast?: boolean;\n /**\n * 用于声明使用数据记录中的哪些字段来组成一条数据的唯一 id如有多个字段则使用 '-' 连接)。\n * 数据 id 用于标识 Element 图形元素,应用于 Geometry 中的图形元素 Element 更新。\n * 默认 G2 内部会有一套 ID 生成规则,如果不能满足用户需求,用户既可以使用该属性配置 id。\n * @example\n *\n * 下面的例子中,声明了将 'x' 和 'y' 字段的数值来作为每条数据记录的 id即下面数据两条数据的 id 分别为:'1-23' 和 '2-2'。\n * ```ts\n * const data = [\n * { x: 1, y: 23, z: 'a' },\n * { x: 2, y: 2, z: 'b' },\n * ];\n *\n * chart.scale({\n * x: { key: true },\n * y: { key: true },\n * });\n * ```\n */\n key?: boolean;\n}\n\n/** Geometry 动画参数配置。geometry.animate() */\nexport interface AnimateOption {\n /** chart 初始化渲染时的入场动画false/null 表示关闭入场动画。 */\n appear?: AnimateCfg | false | null;\n /** chart 发生更新时新增元素的入场动画false/null 表示关闭入场动画。 */\n enter?: AnimateCfg | false | null;\n /** 更新动画配置false/null 表示关闭更新动画。 */\n update?: AnimateCfg | false | null;\n /** 销毁动画配置false/null 表示关闭销毁动画。 */\n leave?: AnimateCfg | false | null;\n}\n\n/** 用于配置项式声明交互行为 */\nexport interface InteractionOption {\n /** 交互名称 */\n type: string;\n /** 交互配置 */\n cfg?: LooseObject;\n}\n\n/** 用于配置项式的 Geometry 创建方式 */\nexport interface GeometryOption {\n /** Geometry 的类型。 */\n type?: 'interval' | 'line' | 'path' | 'point' | 'area' | 'polygon' | 'schema' | 'edge' | 'heatmap' | string;\n /** position 通道映射规则,对应 `geometry.position()`。 */\n position?: string | AttributeOption;\n /** color 通道映射规则,对应 `geometry.color()`。 */\n color?: string | AttributeOption;\n /** shape 通道映射规则,对应 `geometry.shape()`。 */\n shape?: string | AttributeOption;\n /** size 通道映射规则,对应 `geometry.size()`。 */\n size?: number | string | AttributeOption;\n /** adjust 数据调整方式,对应 `geometry.adjust()`。 */\n adjust?: string | string[] | AdjustOption | AdjustOption[];\n /** style 样式配置,对应 `geometry.size()`。 */\n style?: StyleOption | LooseObject;\n /** tooltip 配置,对应 `geometry.tooltip()`。 */\n tooltip?: GeometryTooltipOption | boolean | string;\n /** Geometry 动画配置,对应 `geometry.animate()`。 */\n animate?: AnimateOption | boolean;\n /** Label 配置,对应 `geometry.label()`。 */\n label?: LabelOption | false | string;\n /** state 样式配置,对应 `geometry.state()`。 */\n state?: StateOption;\n /** 其他配置 */\n cfg?: {\n /** 是否对数据进行排序 */\n sortable?: boolean;\n /** 是否可见 */\n visible?: boolean;\n /** 是否连接空值,仅对 'line', 'area' 和 'path' 生效 */\n connectNulls?: boolean;\n };\n}\n\n/** 用于配置型式的 View 声明方式 */\nexport interface ViewOption {\n /** view 的绘制范围,起始点为左上角。 */\n readonly region?: Region;\n /**\n * 设置图表的内边距,使用方式参考 CSS 盒模型。\n * 下图黄色区域即为 padding 的范围。\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*pYwiQrdXGJ8AAAAAAAAAAABkARQnAQ)\n *\n * @example\n * 1. padding: 20\n * 2. padding: [ 10, 30, 30 ]\n */\n readonly padding?: Padding;\n /** 设置主题。 */\n readonly theme?: LooseObject | string;\n /** 是否可见。 */\n readonly visible?: boolean;\n /**\n * 图表组件、图形映射等相关的配置。\n */\n readonly options?: Options;\n}\n\n/** Chart 构造方法的入参 */\nexport interface ChartCfg {\n /** 指定 chart 绘制的 DOM可以传入 DOM id也可以直接传入 dom 实例。 */\n readonly container: string | HTMLElement;\n /** 图表宽度。 */\n readonly width?: number;\n /** 图表高度。 */\n readonly height?: number;\n /**\n * 图表是否自适应容器宽高,默认为 false用户需要手动设置 width 和 height。\n * 当 `autoFit: true` 时,会自动取图表容器的宽高,如果用户设置了 height那么会以用户设置的 height 为准。\n */\n readonly autoFit?: boolean;\n /** 指定渲染引擎,默认使用 canvas。 */\n readonly renderer?: Renderer;\n /** 设置设备像素比,默认取浏览器的值 `window.devicePixelRatio`。 */\n readonly pixelRatio?: number;\n /**\n * 设置图表的内边距,使用方式参考 CSS 盒模型。\n * 下图黄色区域即为 padding 的范围。\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*pYwiQrdXGJ8AAAAAAAAAAABkARQnAQ)\n *\n * @example\n * 1. padding: 20\n * 2. padding: [ 10, 30, 30 ]\n */\n readonly padding?: ViewPadding;\n /**\n * 是否开启局部刷新,默认开启。\n */\n readonly localRefresh?: boolean;\n /**\n * chart 是否可见,默认为 true设置为 false 则会隐藏。\n */\n readonly visible?: boolean;\n /**\n * 当使用配置项式创建 chart 时使用,详见 [配置项式创建图表教程](docs/tutorial/schema)。\n */\n readonly options?: Options;\n /**\n * 配置图表默认交互,仅支持字符串形式。\n */\n readonly defaultInteractions?: string[];\n /** 是否对超出坐标系范围的 Geometry 进行剪切 */\n readonly limitInPlot?: boolean;\n /** 主题 */\n readonly theme?: LooseObject | string;\n}\n\n/** View 构造参数 */\nexport interface ViewCfg {\n /** 当前 view 的父级 view。 */\n readonly parent: View;\n /** canvas 实例。 */\n readonly canvas: ICanvas;\n /** 前景层 */\n readonly foregroundGroup: IGroup;\n /** 中间层 */\n readonly middleGroup: IGroup;\n /** 背景层 */\n readonly backgroundGroup: IGroup;\n /** view 的绘制范围 */\n readonly region?: Region;\n /** 是否对超出坐标系范围的 Geometry 进行剪切 */\n readonly limitInPlot?: boolean;\n /**\n * 设置图表的内边距,使用方式参考 CSS 盒模型。\n * 下图黄色区域即为 padding 的范围。\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*pYwiQrdXGJ8AAAAAAAAAAABkARQnAQ)\n *\n * @example\n * 1. padding: 20\n * 2. padding: [ 10, 30, 30 ]\n */\n readonly padding?: ViewPadding;\n /** 设置 view 实例主题。 */\n readonly theme?: LooseObject | string;\n /**\n * 图表组件、图形映射等相关的配置。\n */\n readonly options?: Options;\n /** 是否可见。 */\n readonly visible?: boolean;\n}\n\n/**\n * @ignore\n * 组件及布局的信息\n */\nexport interface ComponentOption {\n readonly id?: string;\n readonly component: GroupComponent | HtmlComponent;\n readonly layer: LAYER;\n direction: DIRECTION;\n readonly type: COMPONENT_TYPE;\n /* 其他的额外信息 */\n readonly extra?: any;\n}\n\n/** Legend marker 的配置结构 */\nexport interface MarkerCfg extends LegendMarkerCfg {\n /** 配置图例 marker 的 symbol 形状。 */\n symbol?: Marker | MarkerCallback;\n}\n\n/** Legend item 各个图例项的数据结构 */\nexport interface LegendItem {\n /**\n * 唯一值,用于动画或者查找\n */\n id?: string;\n /** 名称 */\n name: string;\n /** 值 */\n value: any;\n /** 图形标记 */\n marker?: MarkerCfg;\n}\n\n/**\n * 图例项配置\n */\nexport interface LegendCfg {\n /**\n * 是否为自定义图例,当该属性为 true 时,需要声明 items 属性。\n */\n readonly custom?: boolean;\n /**\n * 布局方式: horizontalvertical\n */\n layout?: 'horizontal' | 'vertical';\n /**\n * 图例标题配置,默认不展示。\n *\n * 属性结构如下:\n *\n * ```ts\n * {\n * spacing?: number; // 标题同图例项的间距\n * style?: ShapeAttrs; // 文本样式配置项\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L639|LegendTitleCfg}\n */\n title?: LegendTitleCfg;\n /**\n * 背景框配置项。\n *\n * 属性结构如下:\n *\n * ```ts\n * {\n * padding?: number | number[]; // 背景的留白\n * style?: ShapeAttrs; // 背景样式配置项\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L652|LegendBackgroundCfg}\n */\n background?: LegendBackgroundCfg;\n /** 图例的位置。 */\n position?:\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'right'\n | 'right-top'\n | 'right-bottom'\n | 'left'\n | 'left-top'\n | 'left-bottom'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right';\n /** 动画开关,默认关闭。 */\n animate?: boolean;\n /** 动画参数配置,当且仅当 `animate` 属性为 true即动画开启时生效。 */\n animateOption?: ComponentAnimateOption;\n /**\n * **分类图例适用**,控制图例项水平方向的间距。\n */\n itemSpacing?: number;\n /**\n * **分类图例适用**,图例项的宽度, 默认为 null自动计算。\n */\n itemWidth?: number;\n /**\n * **分类图例适用**,图例的高度,默认为 null。\n */\n itemHeight?: number;\n /**\n * **分类图例适用**,图例项 name 文本的配置。\n * 属性结构如下:\n *\n * ```ts\n * {\n * spacing?: number; // 图例项 name 同后面 value 的间距\n * formatter?: (text: string, item: ListItem, index: number) => any; // 格式化文本函数\n * style?: ShapeAttrs; // 文本配置项\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L665|LegendItemNameCfg}\n */\n itemName?: LegendItemNameCfg;\n /**\n * **分类图例适用**,图例项 value 附加值的配置项。\n * 属性结构如下:\n *\n * ```ts\n * {\n * alignRight?: boolean; // 是否右对齐,默认为 false仅当设置图例项宽度时生效\n * formatter?: (text: string, item: ListItem, index: number) => any; // 格式化文本函数\n * style?: ShapeAttrs; // 图例项附加值的配置\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L685|LegendItemValueCfg}\n */\n itemValue?: LegendItemValueCfg;\n /**\n * **分类图例适用**,图例项最大宽度设置。\n */\n maxWidth?: number;\n /**\n * **分类图例适用**,图例项最大高度设置。\n */\n maxHeight?: number;\n /**\n * **分类图例适用**,图例项的 marker 图标的配置。\n */\n marker?: MarkerCfg;\n /**\n * **适用于分类图例**,当图例项过多时是否进行分页。\n */\n flipPage?: boolean;\n /**\n * **分类图例适用**,用户自己配置图例项的内容。\n */\n items?: LegendItem[];\n /**\n * **分类图例适用**,是否将图例项逆序展示。\n */\n reversed?: boolean;\n\n /**\n * **连续图例适用**,选择范围的最小值。\n */\n min?: number;\n /**\n * **连续图例适用**,选择范围的最大值。\n */\n max?: number;\n /**\n * **连续图例适用**,选择的值。\n */\n value?: number[];\n /**\n * **连续图例适用**,选择范围的色块样式配置项。\n * 属性结构如下:\n *\n * ```ts\n * {\n * style?: ShapeAttrs; // 选定范围的样式\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L574|ContinueLegendTrackCfg}\n */\n track?: ContinueLegendTrackCfg;\n /**\n * **连续图例适用**,图例滑轨(背景)的样式配置项。\n * 属性结构如下:\n *\n * ```ts\n * {\n * type?: string; // rail 的类型color, size\n * size?: number; // 滑轨的宽度\n * defaultLength?: number; // 滑轨的默认长度,,当限制了 maxWidth,maxHeight 时,不会使用这个属性会自动计算长度\n * style?: ShapeAttrs; // 滑轨的样式\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L595|ContinueLegendRailCfg}\n */\n rail?: ContinueLegendRailCfg;\n /**\n * **连续图例适用**,文本的配置项。\n * 属性结构如下:\n *\n * ```ts\n * {\n * // 文本同滑轨的对齐方式,有五种类型\n * // rail 同滑轨对齐,在滑轨的两端\n * // top, bottom: 图例水平布局时有效\n * // left, right: 图例垂直布局时有效\n * align?: string;\n * spacing?: number; // 文本同滑轨的距离\n * style?: ShapeAttrs; // 文本样式\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L618|ContinueLegendLabelCfg}\n */\n label?: ContinueLegendLabelCfg;\n /**\n * **连续图例适用**,滑块的配置项。\n * 属性结构如下:\n *\n * ```ts\n * {\n * size?: number; // 滑块的大小\n * style?: ShapeAttrs; // 滑块的样式设置\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L582|ContinueLegendTrackCfg}\n */\n handler?: ContinueLegendHandlerCfg;\n /**\n * **连续图例适用**,滑块是否可以滑动。\n */\n slidable?: boolean;\n /** 图例 x 方向的偏移。 */\n offsetX?: number;\n /** 图例 y 方向的偏移。 */\n offsetY?: number;\n}\n\n/**\n * Tooltip Crosshairs 的文本数据结构。\n */\nexport interface TooltipCrosshairsText extends CrosshairTextCfg {\n /** crosshairs 文本内容 */\n content?: string;\n}\n\n/**\n * 辅助线文本回调函数\n * @param type 对应当前 crosshairs 的类型,值为 'x' 或者 'x'\n * @param defaultContent 对应当前 crosshairs 默认的文本内容\n * @param items 对应当前 tooltip 内容框中的数据\n * @param currentPoint 对应当前坐标点\n * @returns 返回当前 crosshairs 对应的辅助线文本配置\n */\nexport type TooltipCrosshairsTextCallback = (type: string, defaultContent: any, items: any[], currentPoint: Point) => TooltipCrosshairsText;\n/** Tooltip crosshairs 配置结构 */\nexport interface TooltipCrosshairs {\n /**\n * crosshairs 的类型: `x` 表示 x 轴上的辅助线,`y` 表示 y 轴上的辅助项。\n * 以下是在不同坐标系下crosshairs 各个类型的表现:\n *\n * | 坐标系 | type = 'x' | type = 'xy' | type = 'y' |\n * | ------------ | ------------- | ------------- |\n * | 直角坐标系 | ![image](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*jmUBQ4nbtXsAAAAAAAAAAABkARQnAQ) | ![image](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*RpWXT76ZSQgAAAAAAAAAAABkARQnAQ) | ![image](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*Xjl8TLIJLuUAAAAAAAAAAABkARQnAQ) |\n * | 极坐标 | ![image](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*zbMVSoKTyFsAAAAAAAAAAABkARQnAQ) | ![image](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*k5EYRJspET0AAAAAAAAAAABkARQnAQ) | ![image](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*n_TKQpUaXWEAAAAAAAAAAABkARQnAQ) |\n */\n type?: 'x' | 'y' | 'xy';\n /**\n * 辅助线的样式配置。\n * 属性结构如下:\n *\n * ```ts\n * {\n * style?: ShapeAttrs; // 线的样式配置\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L1177|CrosshairLineCfg}\n */\n line?: CrosshairLineCfg;\n /**\n * 辅助线文本配置,支持回调。\n */\n text?: TooltipCrosshairsText | TooltipCrosshairsTextCallback;\n /**\n * 辅助线文本背景配置。\n * 属性结构如下:\n *\n * ```ts\n * {\n * padding?: number | number[]; // 文本背景周围的留白\n * style?: ShapeAttrs; // 文本背景的样式\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L1185|CrosshairTextBackgroundCfg}\n */\n textBackground?: CrosshairTextBackgroundCfg;\n /** 辅助线是否跟随鼠标移动,默认为 false即定位到数据点 */\n follow?: boolean;\n}\n\n/** chart.tooltip() 接口配置属性 */\nexport interface TooltipCfg {\n /**\n * 设置 tooltip 内容框是否跟随鼠标移动。\n * 默认为 true跟随鼠标移动false 则固定位置不随鼠标移动。\n */\n follow?: boolean;\n /** tooltip 是否允许鼠标滑入,默认为 false不允许 */\n enterable?: boolean;\n /** 是否展示 tooltip 标题。 */\n showTitle?: boolean;\n /**\n * 设置 tooltip 的标题内容:如果值为数据字段名,则会展示数据中对应该字段的数值,如果数据中不存在该字段,则直接展示 title 值。\n */\n title?: string;\n /** 设置 tooltip 的固定展示位置,相对于数据点。 */\n position?: 'top' | 'bottom' | 'left' | 'right';\n /** true 表示合并当前点对应的所有数据并展示false 表示只展示离当前点最逼近的数据内容。 */\n shared?: boolean; // 是否只展示单条数据\n /** 是否展示 crosshairs。 */\n showCrosshairs?: boolean;\n /** 配置 tooltip 的 crosshairs当且仅当 `showCrosshairs` 为 true 时生效。 */\n crosshairs?: TooltipCrosshairs;\n /** 是否渲染 tooltipMarkers。 */\n showMarkers?: boolean;\n /** tooltipMarker 的样式配置。 */\n marker?: object;\n /** 是否展示 tooltip 内容框 */\n showContent?: boolean;\n /** 自定义 tooltip 的容器。 */\n container?: string | HTMLElement;\n /** 用于指定图例容器的模板,自定义模板时必须包含各个 dom 节点的 class。 */\n containerTpl?: string;\n /** 每项记录的默认模板,自定义模板时必须包含各个 dom 节点的 class。 */\n itemTpl?: string;\n /** 传入各个 dom 的样式。 */\n domStyles?: TooltipDomStyles;\n /** tooltip 偏移量。 */\n offset?: number;\n}\n\n/** 坐标系配置 */\nexport interface CoordinateOption {\n /** 坐标系类型 */\n type?: 'polar' | 'theta' | 'rect' | 'cartesian' | 'helix';\n /** 坐标系配置项,目前常用于极坐标。 */\n cfg?: CoordinateCfg;\n /**\n * 坐标系变换操作:\n * 1. rotate 表示旋转,使用弧度制。\n * 2. scale 表示沿着 x 和 y 方向的缩放比率。\n * 3. reflect 表示沿 x 方向镜像或者沿 y 轴方向映射。\n * 4. transpose 表示 xy 轴置换。\n */\n actions?: CoordinateActions[];\n}\n\n/** 极坐标系支持的配置属性 */\nexport interface CoordinateCfg {\n /**\n * 用于极坐标,配置起始弧度。\n */\n startAngle?: number;\n /**\n * 用于极坐标,配置结束弧度。\n */\n endAngle?: number;\n /**\n * 用于极坐标配置极坐标半径0 - 1 范围的数值。\n */\n radius?: number;\n /**\n * 用于极坐标极坐标内半径0 -1 范围的数值。\n */\n innerRadius?: number;\n}\n\n/** 坐标轴网格线的配置属性 */\nexport interface AxisGridCfg {\n /**\n * 线的样式。\n * 属性结构如下:\n *\n * ```ts\n * {\n * type?: string; // 栅格线的类型,'line' 或者 'circle'\n * style?: ShapeAttrs; // 栅格线的样式配置项\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L407|GridLineCfg}\n */\n line?: GridLineCfg;\n /**\n * 两个栅格线间的填充色。\n */\n alternateColor?: string | string[];\n /**\n * 对于 circle 是否关闭 grid。\n */\n closed?: boolean;\n /**\n * 是否同刻度线对齐,如果值为 false则会显示在两个刻度中间。\n * ![image](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*YX6fS4GTTvMAAAAAAAAAAABkARQnAQ)\n */\n alignTick?: boolean;\n}\n\n/** 坐标轴配置属性chart.axis() */\nexport interface AxisCfg {\n /**\n * 适用于直角坐标系,设置坐标轴的位置。\n */\n position?: 'top' | 'bottom' | 'right' | 'left';\n /**\n * 坐标轴线的配置项null 表示不展示。\n * 属性结构如下:\n *\n * ```ts\n * {\n * style?: ShapeAttrs; // 坐标轴线的样式配置项\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L91|AxisLineCfg}\n */\n line?: AxisLineCfg | null;\n /**\n * 坐标轴刻度线线的配置项null 表示不展示。\n * 属性结构如下:\n *\n * ```ts\n * {\n * style?: ShapeAttrs; // 坐标轴刻度线的样式配置项\n * alignTick?: boolean; // 是否同 tick 对齐\n * length?: number; // 长度\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L103|AxisTickLineCfg}\n */\n tickLine?: AxisTickLineCfg | null;\n /**\n * 坐标轴子刻度线的配置项null 表示不展示。\n * 属性结构如下:\n *\n * ```ts\n * {\n * style?: ShapeAttrs; // 坐标轴刻度线的样式配置项\n * count?: number; // 子刻度个数\n * length?: number; // 子刻度线长度\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L169|AxisSubTickLineCfg}\n */\n subTickLine?: AxisSubTickLineCfg | null;\n /**\n * 标题的配置项null 表示不展示。\n * 属性结构如下:\n *\n * ```ts\n * {\n * offset?: number; // 标题距离坐标轴的距离\n * style?: ShapeAttrs; // 标题文本配置项\n * autoRotate?: boolean; // 是否自动旋转\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L191|AxisTitleCfg}\n */\n title?: AxisTitleCfg | null;\n /**\n * 文本标签的配置项null 表示不展示。\n * 属性结构如下:\n *\n * ```ts\n * {\n * // 坐标轴文本的样式\n * style?: ShapeAttrs;\n * // label 的偏移量\n * offset?: number;\n * // 文本旋转角度\n * rotate?: number;\n * // 格式化函数\n * formatter?: (text: string, item: ListItem, index: number) => any;\n * // 是否自动旋转,默认 true\n * autoRotate?: boolean | (isVertical: boolean, labelGroup: IGroup, limitLength?: number) => boolean; | string;\n * // 是否自动隐藏,默认 false\n * autoHide?: boolean | (isVertical: boolean, labelGroup: IGroup, limitLength?: number) => boolean; | string;\n * // 是否自动省略,默认 false\n * autoEllipsis?: boolean | (isVertical: boolean, labelGroup: IGroup, limitLength?: number) => boolean; | string;\n * }\n * ```\n *\n * 详见 {@link https://github.com/antvis/component/blob/81890719a431b3f9088e0c31c4d5d382ef0089df/src/types.ts#L127|AxisLabelCfg}\n */\n label?: AxisLabelCfg | null;\n /** 坐标轴网格线的配置项null 表示不展示。 */\n grid?: AxisGridCfg | null;\n /** 动画开关,默认开启。 */\n animate?: boolean;\n /** 动画参数配置。 */\n animateOption?: ComponentAnimateOption;\n /** 标记坐标轴 label 的方向,左侧为 1右侧为 -1。 */\n verticalFactor?: number;\n}\n\n/** 配置项声明式 */\nexport interface Options {\n /** 数据源配置。 */\n readonly data?: Data;\n /** 设置数据过滤条件,以 data 中的数据属性为 key。 */\n readonly filters?: Record<string, FilterCondition>;\n /** 坐标轴配置,以 data 中的数据属性为 key。 */\n readonly axes?: Record<string, AxisOption> | boolean;\n /** 图例配置,以 data 中的数据属性为 key。 */\n readonly legends?: Record<string, LegendOption> | boolean;\n /** 列定义配置,用于配置数值的类型等,以 data 中的数据属性为 key。 */\n readonly scales?: Record<string, ScaleOption>;\n /** Tooltip 配置。 */\n readonly tooltip?: TooltipOption;\n /** 坐标系配置。 */\n readonly coordinate?: CoordinateOption;\n /** 静态辅助元素声明。 */\n readonly annotations?: Array<\n ArcOption |\n RegionFilterOption |\n ImageOption |\n LineOption |\n TextOption |\n RegionOption |\n DataMarkerOption |\n DataRegionOption>;\n /** Geometry 配置 */\n readonly geometries?: GeometryOption[];\n /** 开启/关闭动画,默认开启 */\n readonly animate?: boolean;\n /** 配置需要使用的交互行为 */\n readonly interactions?: InteractionOption[];\n\n /** 其他自定义的 option */\n readonly [name: string]: any;\n\n /** 子 View */\n readonly views?: ViewOption[];\n}\n\n/** 支持的 Marker 类型 */\nexport type Marker =\n | 'circle'\n | 'square'\n | 'diamond'\n | 'triangle'\n | 'triangleDown'\n | 'hexagon'\n | 'bowtie'\n | 'cross'\n | 'tick'\n | 'plus'\n | 'hyphen'\n | 'line';\n/** 自定义 Marker 的回调函数定义 */\nexport type MarkerCallback = (x: number, y: number, r: number) => PathCommand;\n/** chart.tooltip() 参数类型 */\nexport type TooltipOption = TooltipCfg | boolean;\n/* 筛选器函数类型定义 */\nexport type FilterCondition = (value: any, datum: Datum, idx?: number) => boolean;\n/** chart.axis() 参数类型 */\nexport type AxisOption = AxisCfg | boolean;\n/** chart.legend() 参数类型 */\nexport type LegendOption = LegendCfg | boolean;\n/** G2 支持的度量类型 */\nexport type ScaleType =\n 'linear' |\n 'cat' |\n 'category' |\n 'identity' |\n 'log' |\n 'pow' |\n 'time' |\n 'timeCat' |\n 'quantize' |\n 'quantile';\n\nexport type CoordinateRotate = ['rotate', number];\nexport type CoordinateReflect = ['reflect', 'x' | 'y'];\nexport type CoordinateScale = ['scale', number, number];\nexport type CoordinateTranspose = ['transpose'];\n/** 坐标系支持的 action 配置 */\nexport type CoordinateActions = CoordinateRotate | CoordinateReflect | CoordinateScale | CoordinateTranspose;\n\n// ============================ Facet 分面相关类型定义 ============================\n// 分面基类\nexport type FacetCtor = new (view: View, cfg: any) => Facet;\n\nexport interface Condition {\n readonly field: string;\n readonly value: any;\n readonly values: any[];\n}\n\nexport type FacetDataFilter = (data: Datum[]) => boolean;\n\n/**\n * 默认的基础配置\n */\nexport interface FacetCfg<D> {\n /** 布局类型。 */\n readonly type?: string;\n /** view 创建回调。 */\n readonly eachView: (innerView: View, facet?: D) => any;\n /** facet view padding。 */\n readonly padding?: ViewPadding;\n /** 是否显示标题。 */\n readonly showTitle?: boolean;\n /** facet 数据划分维度。 */\n readonly fields: string[];\n}\n\n/**\n * Facet title 配置项\n */\nexport interface FacetTitle {\n /** x 方向偏移。 */\n readonly offsetX?: number;\n /** y 方向偏移。 */\n readonly offsetY?: number;\n /** 文本样式。 */\n readonly style?: object;\n}\n\n/**\n * 分面数据\n */\nexport interface FacetData {\n /** 分面类型。 */\n readonly type: string;\n /** 当前分面子 view 的数据。 */\n readonly data: object[];\n /** 当前分面子 view 的范围。 */\n readonly region: Region;\n /** 当前分面子 view 的 padding。 */\n readonly padding?: number;\n /** 当前 facet 对应生成的 view。 */\n view?: View;\n\n // facet data\n /** 分面行字段。 */\n readonly rowField: string;\n /** 分面列字段。 */\n readonly columnField: string;\n /** 当前行分面的枚举值。 */\n readonly rowValue: string;\n /** 当前列分面的枚举值。 */\n readonly columnValue: string;\n /** 当前行索引。 */\n readonly rowIndex: number;\n /** 当前列索引。 */\n readonly columnIndex: number;\n /** 当前行字段的枚举值长度。 */\n readonly rowValuesLength: number;\n /** 当前列字段的枚举值长度。 */\n readonly columnValuesLength: number;\n}\n\n// ===================== rect 相关类型定义 =====================\n/** rect 分面类型配置 */\nexport interface RectCfg extends FacetCfg<RectData> {\n /** 行标题的样式。 */\n readonly columnTitle?: FacetTitle,\n /** 列标题的样式。 */\n readonly rowTitle?: FacetTitle,\n}\n\nexport interface RectData extends FacetData {\n\n}\n\n// ===================== mirror 相关类型定义 =====================\n/** mirror 分面类型配置 */\nexport interface MirrorCfg extends FacetCfg<MirrorData> {\n /** 是否转置。 */\n readonly transpose?: boolean;\n /** 标题样式。 */\n readonly title?: FacetTitle;\n}\n\nexport interface MirrorData extends FacetData {\n}\n\n// ===================== list 相关类型定义 =====================\n/** list 分面类型配置 */\nexport interface ListCfg extends FacetCfg<ListData> {\n /** 指定每行可显示分面的个数,超出时会自动换行。 */\n readonly cols?: number;\n /** 每个分面标题配置。 */\n readonly title?: FacetTitle;\n}\n\nexport interface ListData extends FacetData {\n readonly total: number;\n}\n\n// ===================== matrix 相关类型定义 =====================\n/** matrix 分面类型配置 */\nexport interface MatrixCfg extends FacetCfg<MirrorData> {\n /** 列标题的样式 */\n readonly columnTitle?: FacetTitle,\n /** 列标题的样式 */\n readonly rowTitle?: FacetTitle,\n}\n\nexport interface MatrixData extends FacetData {\n}\n\n// ===================== circle 相关类型定义 =====================\n/** circle 分面类型配置 */\nexport interface CircleCfg extends FacetCfg<CircleData> {\n /** 分面标题配置。 */\n readonly title?: FacetTitle;\n}\n\nexport interface CircleData extends FacetData {\n}\n\n// ===================== tree 相关类型定义 =====================\n\nexport interface Line {\n readonly style?: ShapeAttrs,\n readonly smooth?: boolean;\n}\n/** tree 分面类型配置 */\nexport interface TreeCfg extends FacetCfg<TreeData> {\n readonly line?: Line;\n readonly title?: FacetTitle;\n}\n\nexport interface TreeData extends FacetData {\n children?: TreeData[];\n originColIndex?: number;\n}\n\n/**\n * facet object map\n */\nexport interface FacetCfgMap {\n /** rect 类型分面配置 */\n readonly rect: RectCfg;\n /** mirror 类型分面配置 */\n readonly mirror: MirrorCfg;\n /** list 类型分面配置 */\n readonly list: ListCfg;\n /** matrix 类型分面配置 */\n readonly matrix: MatrixCfg;\n /** circle 类型分面配置 */\n readonly circle: CircleCfg;\n /** tree 类型分面配置 */\n readonly tree: TreeCfg;\n}\n\n// ============================ 主题样式表定义 ============================\nexport interface StyleSheet {\n /** 主题色 */\n brandColor?: string;\n /** 分类色板 1在数据量小于等于 10 时使用 */\n paletteQualitative10?: string[];\n /** 分类色板 2在数据量大于 10 时使用 */\n paletteQualitative20?: string[];\n /** 语义色 */\n paletteSemanticRed?: string;\n /** 语义色 */\n paletteSemanticGreen?: string;\n /** 语义色 */\n paletteSemanticYellow?: string;\n /** 字体 */\n fontFamily?: string;\n\n // -------------------- 坐标轴 --------------------\n /** 坐标轴线颜色 */\n axisLineBorderColor?: string;\n /** 坐标轴线粗细 */\n axisLineBorder?: number;\n /** 坐标轴线 lineDash 设置 */\n axisLineDash?: number[];\n\n /** 坐标轴标题颜色 */\n axisTitleTextFillColor?: string;\n /** 坐标轴标题文本字体大小 */\n axisTitleTextFontSize?: number;\n /** 坐标轴标题文本行高 */\n axisTitleTextLineHeight?: number;\n /** 坐标轴标题文本字体粗细 */\n axisTitleTextFontWeight?: number | string;\n\n /** 坐标轴刻度线颜色 */\n axisTickLineBorderColor?: string;\n /** 坐标轴刻度线长度 */\n axisTickLineLength?: number;\n /** 坐标轴刻度线粗细 */\n axisTickLineBorder?: number;\n\n /** 坐标轴次刻度线颜色 */\n axisSubTickLineBorderColor?: string;\n /** 坐标轴次刻度线长度 */\n axisSubTickLineLength?: number;\n /** 坐标轴次刻度线粗细 */\n axisSubTickLineBorder?: number;\n\n /** 坐标轴刻度文本颜色 */\n axisLabelFillColor?: string;\n /** 坐标轴刻度文本字体大小 */\n axisLabelFontSize?: number;\n /** 坐标轴刻度文本行高 */\n axisLabelLineHeight?: number;\n /** 坐标轴刻度文本字体粗细 */\n axisLabelFontWeight?: number | string;\n\n /** 坐标轴网格线颜色 */\n axisGridBorderColor?: string;\n /** 坐标轴网格线粗细 */\n axisGridBorder?: number;\n /** 坐标轴网格线虚线设置 */\n axisGridLineDash?: number[];\n\n // -------------------- 图例 --------------------\n /** 图例标题颜色 */\n legendTitleTextFillColor?: string;\n /** 图例标题文本字体大小 */\n legendTitleTextFontSize?: number;\n /** 图例标题文本行高 */\n legendTitleTextLineHeight?: number;\n /** 图例标题文本字体粗细 */\n legendTitleTextFontWeight?: number | string;\n\n /** 图例 marker 颜色 */\n legendMarkerColor?: string;\n /** 图例 marker 默认半径大小 */\n legendMarkerSize?: number;\n /** 图例 'circle' marker 半径 */\n legendCircleMarkerSize?: number;\n /** 图例 'square' marker 半径 */\n legendSquareMarkerSize?: number;\n /** 图例 'line' marker 半径 */\n legendLineMarkerSize?: number;\n\n /** 图例项文本颜色 */\n legendItemNameFillColor?: string;\n /** 图例项文本字体大小 */\n legendItemNameFontSize?: number;\n /** 图例项文本行高 */\n legendItemNameLineHeight?: number;\n /** 图例项粗细 */\n legendItemNameFontWeight?: number | string;\n\n /** 连续图例滑块填充色 */\n sliderRailFillColor?: string;\n /** 连续图例滑块边框粗细 */\n sliderRailBorder?: number;\n /** 连续图例滑块边框颜色 */\n sliderRailBorderColor?: string;\n /** 连续图例滑块宽度 */\n sliderRailWidth?: number;\n /** 连续图例滑块高度 */\n sliderRailHeight?: number;\n\n /** 连续图例文本颜色 */\n sliderLabelTextFillColor?: string;\n /** 连续图例文本字体大小 */\n sliderLabelTextFontSize?: number;\n /** 连续图例文本行高 */\n sliderLabelTextLineHeight?: number;\n /** 连续图例文本字体粗细 */\n sliderLabelTextFontWeight?: number | string;\n\n /** 连续图例滑块颜色 */\n sliderHandlerFillColor?: string;\n /** 连续图例滑块宽度 */\n sliderHandlerWidth?: number;\n /** 连续图例滑块高度 */\n sliderHandlerHeight?: number;\n /** 连续图例滑块边框粗细 */\n sliderHandlerBorder?: number;\n /** 连续图例滑块边框颜色 */\n sliderHandlerBorderColor?: string;\n\n // -------------------- Annotation图形标注 --------------------\n /** arc 图形标注描边颜色 */\n annotationArcBorderColor?: string;\n /** arc 图形标注粗细 */\n annotationArcBorder?: number;\n\n /** line 图形标注颜色 */\n annotationLineBorderColor?: string;\n /** line 图形标注粗细 */\n annotationLineBorder?: number;\n /** lube 图形标注的虚线间隔 */\n annotationLineDash?: number[];\n\n /** text 图形标注文本颜色 */\n annotationTextFillColor?: string;\n /** text 图形标注文本字体大小 */\n annotationTextFontSize?: number;\n /** text 图形标注文本行高 */\n annotationTextLineHeight?: number;\n /** text 图形标注文本字体粗细 */\n annotationTextFontWeight?: number | string;\n\n /** text 图形标注文本边框颜色 */\n annotationTextBorderColor?: string;\n /** text 图形标注文本边框粗细 */\n annotationTextBorder?: number;\n\n /** region 图形标注填充颜色 */\n annotationRegionFillColor?: string;\n /** region 图形标注填充颜色透明色 */\n annotationRegionFillOpacity?: number;\n /** region 图形标注描边粗细 */\n annotationRegionBorder?: number;\n /** region 图形标注描边颜色 */\n annotationRegionBorderColor?: string;\n\n /** dataMarker 图形标注的连接线长度 */\n annotationDataMarkerLineLength?: number;\n\n // -------------------- Tooltip --------------------\n /** tooltip crosshairs 辅助线颜色 */\n tooltipCrosshairsBorderColor?: string;\n /** tooltip crosshairs 辅助线粗细 */\n tooltipCrosshairsBorder?: number;\n /** tooltip crosshairs 辅助线虚线间隔 */\n tooltipCrosshairsLineDash?: number[];\n\n /** tooltip 内容框背景色 */\n tooltipContainerFillColor?: string;\n /** tooltip 内容框背景透明度 */\n tooltipContainerFillOpacity?: number;\n /** tooltip 内容框阴影 */\n tooltipContainerShadow?: string;\n /** tooltip 内容框圆角 */\n tooltipContainerBorderRadius?: number;\n\n /** tooltip 文本颜色 */\n tooltipTextFillColor?: string;\n /** tooltip 文本字体大小 */\n tooltipTextFontSize?: number;\n /** tooltip 文本行高 */\n tooltipTextLineHeight?: number;\n /** tooltip 文本字体粗细 */\n tooltipTextFontWeight?: number | string;\n\n\n // -------------------- Geometry labels --------------------\n /** Geometry label 文本颜色 */\n labelFillColor?: string;\n /** Geometry label 文本字体大小 */\n labelFontSize?: number;\n /** Geometry label 文本行高 */\n labelLineHeight?: number;\n /** Geometry label 文本字体粗细 */\n labelFontWeight?: number | string;\n /** Geometry label 文本描边颜色 */\n labelBorderColor?: string;\n /** Geometry label 文本描边粗细 */\n labelBorder?: number;\n\n /** Geometry innerLabel 文本颜色 */\n innerLabelFillColor?: string;\n /** Geometry innerLabel 文本字体大小 */\n innerLabelFontSize?: number;\n /** Geometry innerLabel 文本行高 */\n innerLabelLineHeight?: number;\n /** Geometry innerLabel 文本字体粗细 */\n innerLabelFontWeight?: number | string;\n /** Geometry innerLabel 文本描边颜色 */\n innerLabelBorderColor?: string;\n /** Geometry innerLabel 文本描边粗细 */\n innerLabelBorder?: number;\n\n /** Geometry label 文本连接线粗细 */\n labelLineBorder?: number;\n /** Geometry label 文本连接线颜色 */\n labelLineBorderColor?: string;\n\n // -------------------- Geometry 图形样式--------------------\n /** 点图的大小范围 */\n pointSizeRange?: [number, number];\n /** 点图填充颜色 */\n pointFillColor?: string;\n /** 点图填充颜色透明度 */\n pointFillOpacity?: number;\n /** 点图大小 */\n pointSize?: number;\n /** 点图描边粗细 */\n pointBorder?: number;\n /** 点图描边颜色 */\n pointBorderColor?: string;\n /** 点图描边透明度 */\n pointBorderOpacity?: number;\n\n /** 点图 active 状态下填充颜色 */\n pointActiveFillColor?: string;\n /** 点图 active 状态下填充颜色透明度 */\n pointActiveFillOpacity?: number;\n /** 点图 active 状态下大小 */\n pointActiveSize?: number;\n /** 点图 active 状态下描边粗细 */\n pointActiveBorder?: number;\n /** 点图 active 状态下描边颜色 */\n pointActiveBorderColor?: string;\n /** 点图 active 状态下描边透明度 */\n pointActiveBorderOpacity?: number;\n\n /** 点图 selected 状态下填充颜色 */\n pointSelectedFillColor?: string;\n /** 点图 selected 状态下填充颜色透明度 */\n pointSelectedFillOpacity?: number;\n /** 点图 selected 状态下大小 */\n pointSelectedSize?: number;\n /** 点图 selected 状态下描边粗细 */\n pointSelectedBorder?: number;\n /** 点图 selected 状态下描边颜色 */\n pointSelectedBorderColor?: string;\n /** 点图 selected 状态下描边透明度 */\n pointSelectedBorderOpacity?: number;\n\n /** 点图 inactive 状态下填充颜色 */\n pointInactiveFillColor?: string;\n /** 点图 inactive 状态下填充颜色透明度 */\n pointInactiveFillOpacity?: number;\n /** 点图 inactive 状态下大小 */\n pointInactiveSize?: number;\n /** 点图 inactive 状态下描边粗细 */\n pointInactiveBorder?: number;\n /** 点图 inactive 状态下描边颜色 */\n pointInactiveBorderColor?: string;\n /** 点图 inactive 状态下描边透明度 */\n pointInactiveBorderOpacity?: number;\n\n /** 描边点图大小 */\n hollowPointSize?: number;\n /** 描边点图描边粗细 */\n hollowPointBorder?: number;\n /** 描边点图描边颜色 */\n hollowPointBorderColor?: string;\n /** 描边点图描边透明度 */\n hollowPointBorderOpacity?: number;\n /** 描边点图填充颜色 */\n hollowPointFillColor?: string;\n /** 描边点图填充透明度 */\n hollowPointFillOpacity?: number;\n\n /** 点 描边 active 状态下大小 */\n hollowPointActiveSize?: number;\n /** 点 描边 active 状态下描边粗细 */\n hollowPointActiveBorder?: number;\n /** 点 描边 active 状态下描边颜色 */\n hollowPointActiveBorderColor?: string;\n /** 点 描边 active 状态下描边透明度 */\n hollowPointActiveBorderOpacity?: number;\n\n /** 点 描边 selected 状态下大小 */\n hollowPointSelectedSize?: number;\n /** 点 描边 selected 状态下描边粗细 */\n hollowPointSelectedBorder?: number;\n /** 点 描边 selected 状态下描边颜色 */\n hollowPointSelectedBorderColor?: string;\n /** 点 描边 selected 状态下描边透明度 */\n hollowPointSelectedBorderOpacity?: number;\n\n /** 点 描边 inactive 状态下大小 */\n hollowPointInactiveSize?: number;\n /** 点 描边 inactive 状态下描边粗细 */\n hollowPointInactiveBorder?: number;\n /** 点 描边 inactive 状态下描边颜色 */\n hollowPointInactiveBorderColor?: string;\n /** 点 描边 inactive 状态下描边透明度 */\n hollowPointInactiveBorderOpacity?: number;\n\n /** 线图粗细 */\n lineBorder?: number;\n /** 线图颜色 */\n lineBorderColor?: string;\n /** 线图透明度 */\n lineBorderOpacity?: number;\n\n /** 线图 active 状态下粗细 */\n lineActiveBorder?: number;\n /** 线图 active 状态下颜色 */\n lineActiveBorderColor?: string;\n /** 线图 active 状态下透明度 */\n lineActiveBorderOpacity?: number;\n\n /** 线图 selected 状态下粗细 */\n lineSelectedBorder?: number;\n /** 线图 selected 状态下颜色 */\n lineSelectedBorderColor?: string;\n /** 线图 selected 状态下透明度 */\n lineSelectedBorderOpacity?: number;\n\n /** 线图 inactive 状态下粗细 */\n lineInactiveBorder?: number;\n /** 线图 inactive 状态下颜色 */\n lineInactiveBorderColor?: string;\n /** 线图 inactive 状态下透明度 */\n lineInactiveBorderOpacity?: number;\n\n areaBorder?: number;\n /** area 边框颜色 */\n areaBorderColor?: string;\n /** area 边框透明度 */\n areaBorderOpacity?: number;\n /** area 填充颜色 */\n areaFillColor?: string;\n /** area 填充透明度 */\n areaFillOpacity?: number;\n\n /** area Active 状态下边框粗细 */\n areaActiveBorder?: number;\n /** area Active 状态下边框颜色 */\n areaActiveBorderColor?: string;\n /** area Active 状态下边框透明度 */\n areaActiveBorderOpacity?: number;\n /** area Active 状态下填充颜色 */\n areaActiveFillColor?: string;\n /** area Active 状态下填充透明度 */\n areaActiveFillOpacity?: number;\n\n /** area selected 状态下边框粗细 */\n areaSelectedBorder?: number;\n /** area selected 状态下边框颜色 */\n areaSelectedBorderColor?: string;\n /** area selected 状态下边框透明度 */\n areaSelectedBorderOpacity?: number;\n /** area selected 状态下填充颜色 */\n areaSelectedFillColor?: string;\n /** area selected 状态下填充透明度 */\n areaSelectedFillOpacity?: number;\n\n /** area inactive 状态下边框粗细 */\n areaInactiveBorder?: number;\n /** area inactive 状态下边框颜色 */\n areaInactiveBorderColor?: string;\n /** area inactive 状态下边框透明度 */\n areaInactiveBorderOpacity?: number;\n /** area inactive 状态下填充颜色 */\n areaInactiveFillColor?: string;\n /** area inactive 状态下填充透明度 */\n areaInactiveFillOpacity?: number;\n\n /** hollowArea 边框粗细 */\n hollowAreaBorder?: number;\n /** hollowArea 边框颜色 */\n hollowAreaBorderColor?: string;\n /** hollowArea 边框透明度 */\n hollowAreaBorderOpacity?: number;\n\n /** hollowArea Active 状态下边框粗细 */\n hollowAreaActiveBorder?: number;\n /** hollowArea Active 状态下边框颜色 */\n hollowAreaActiveBorderColor?: string;\n /** hollowArea Active 状态下边框透明度 */\n hollowAreaActiveBorderOpacity?: number;\n\n /** hollowArea selected 状态下边框粗细 */\n hollowAreaSelectedBorder?: number;\n /** hollowArea selected 状态下边框颜色 */\n hollowAreaSelectedBorderColor?: string;\n /** hollowArea selected 状态下边框透明度 */\n hollowAreaSelectedBorderOpacity?: number;\n\n /** hollowArea inactive 状态下边框粗细 */\n hollowAreaInactiveBorder?: number;\n /** hollowArea inactive 状态下边框颜色 */\n hollowAreaInactiveBorderColor?: string;\n /** hollowArea inactive 状态下边框透明度 */\n hollowAreaInactiveBorderOpacity?: number;\n\n /** interval 边框粗细 */\n intervalBorder?: number;\n /** interval 边框颜色 */\n intervalBorderColor?: string;\n /** interval 边框透明度 */\n intervalBorderOpacity?: number;\n /** interval 填充颜色 */\n intervalFillColor?: string;\n /** interval 填充透明度 */\n intervalFillOpacity?: number;\n\n /** interval active 状态下边框粗细 */\n intervalActiveBorder?: number;\n /** interval active 状态下边框颜色 */\n intervalActiveBorderColor?: string;\n /** interval active 状态下边框透明度 */\n intervalActiveBorderOpacity?: number;\n /** interval active 状态下填充颜色 */\n intervalActiveFillColor?: string;\n /** interval active 状态下填充透明度 */\n intervalActiveFillOpacity?: number;\n\n /** interval selected 状态下边框粗细 */\n intervalSelectedBorder?: number;\n /** interval selected 状态下边框颜色 */\n intervalSelectedBorderColor?: string;\n /** interval selected 状态下边框透明度 */\n intervalSelectedBorderOpacity?: number;\n /** interval selected 状态下填充颜色 */\n intervalSelectedFillColor?: string;\n /** interval selected 状态下填充透明度 */\n intervalSelectedFillOpacity?: number;\n\n /** interval inactive 状态下边框粗细 */\n intervalInactiveBorder?: number;\n /** interval inactive 状态下边框颜色 */\n intervalInactiveBorderColor?: string;\n /** interval inactive 状态下边框透明度 */\n intervalInactiveBorderOpacity?: number;\n /** interval inactive 状态下填充颜色 */\n intervalInactiveFillColor?: string;\n /** interval inactive 状态下填充透明度 */\n intervalInactiveFillOpacity?: number;\n\n /** hollowInterval 边框粗细 */\n hollowIntervalBorder?: number;\n /** hollowInterval 边框颜色 */\n hollowIntervalBorderColor?: string;\n /** hollowInterval 边框透明度 */\n hollowIntervalBorderOpacity?: number;\n /** hollowInterval 填充颜色 */\n hollowIntervalFillColor?: string;\n /** hollowInterval 填充透明度 */\n hollowIntervalFillOpacity?: number;\n\n /** hollowInterval active 状态下边框粗细 */\n hollowIntervalActiveBorder?: number;\n /** hollowInterval active 状态下边框颜色 */\n hollowIntervalActiveBorderColor?: string;\n /** hollowInterval active 状态下边框透明度 */\n hollowIntervalActiveBorderOpacity?: number;\n\n /** hollowInterval selected 状态下边框粗细 */\n hollowIntervalSelectedBorder?: number;\n /** hollowInterval selected 状态下边框颜色 */\n hollowIntervalSelectedBorderColor?: string;\n /** hollowInterval selected 状态下边框透明度 */\n hollowIntervalSelectedBorderOpacity?: number;\n\n /** hollowInterval inactive 状态下边框粗细 */\n hollowIntervalInactiveBorder?: number;\n /** hollowInterval inactive 状态下边框颜色 */\n hollowIntervalInactiveBorderColor?: string;\n /** hollowInterval inactive 状态下边框透明度 */\n hollowIntervalInactiveBorderOpacity?: number;\n}\n\n// ============================ 交互相关的类型定义 ============================\n/** 交互反馈的定义 */\nexport interface IAction {\n /**\n * 初始化\n */\n init();\n /**\n * 交互 action (反馈)的名称\n */\n name: string;\n /**\n * 上下文\n */\n context: IInteractionContext;\n /**\n * 销毁函数\n */\n destroy();\n}\n\n/** 交互上下文的接口定义 */\nexport interface IInteractionContext extends LooseObject {\n /** 事件对象 */\n event: LooseObject;\n /**\n * 当前的 view\n */\n view: View;\n /** 交互相关的 Actions */\n actions: IAction[];\n /**\n * 缓存属性,用于上下文传递信息\n * @param key 键名\n * @param value 值\n */\n cache(key: string, value?: any);\n /**\n * 获取 action\n * @param name - action 的名称\n * @returns 指定 name 的 Action\n */\n getAction(name): IAction;\n /**\n * 获取当前的点\n * @returns 返回当前的点\n */\n getCurrentPoint(): Point;\n /**\n * 获取当前的图形\n */\n getCurrentShape(): IShape;\n /**\n * 添加 action\n * @param action 指定交互 action\n */\n addAction(action: IAction);\n /**\n * 移除 action\n * @param action 移除的 action\n */\n removeAction(action: IAction);\n /**\n * 事件触发时是否在 view 内部\n */\n isInPlot();\n /**\n * 是否在组件的包围盒内\n * @param name 组件名,可省略\n */\n isInComponent(name?: string);\n /**\n * 是否在指定的图形内\n * @param name shape 的名称\n */\n isInShape(name);\n /**\n * 销毁\n */\n destroy();\n}\n\n/** G 的渲染类型 */\nexport type Renderer = 'svg' | 'canvas';\n/** 数据的定义 */\nexport type Datum = Record<string, any>;\nexport type Data = Datum[];\nexport type ActionCallback = (context: IInteractionContext) => void;\nexport type Padding = number[];\nexport type ViewPadding = number | number[] | 'auto';\nexport type Position = [number, number];\nexport type AttributeType = 'position' | 'size' | 'color' | 'shape';\nexport type ShapeVertices = RangePoint[] | Point[] | Point[][];\n/** easing 的回调函数, 入参 data 为对应的原始数据记录 */\nexport type AnimateEasingCallback = (data: Datum) => string;\n/** delay 的回调函数, 入参 data 为对应的原始数据记录 */\nexport type AnimateDelayCallback = (data: Datum) => number;\n/** duration 的回调函数, 入参 data 为对应的原始数据记录 */\nexport type AnimateDurationCallback = (data: Datum) => number;\n"]}