@visactor/vchart 1.13.9-alpha.6 → 1.13.10-alpha.0
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/build/es5/index.js +1 -1
- package/build/index.es.js +1062 -748
- package/build/index.js +1062 -747
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/index.d.ts +1 -1
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/pictogram/interface.d.ts +1 -1
- package/cjs/chart/pictogram/interface.js.map +1 -1
- package/cjs/chart/progress/linear/linear-progress-transformer.js +1 -1
- package/cjs/chart/progress/linear/linear-progress-transformer.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.d.ts +1 -0
- package/cjs/compile/mark/compilable-mark.js +3 -0
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/component/axis/base-axis.js +7 -2
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/interface/spec.d.ts +7 -2
- package/cjs/component/axis/interface/spec.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +23 -24
- package/cjs/component/brush/brush.js +183 -182
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/brush/interface.d.ts +2 -0
- package/cjs/component/brush/interface.js.map +1 -1
- package/cjs/component/crosshair/base.js +1 -1
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/utils/cartesian.js +9 -8
- package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/interface.d.ts +2 -3
- package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/base-mark-area.js +27 -17
- package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/theme.d.ts +4 -3
- package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-line/base-mark-line.js +31 -20
- package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
- package/cjs/component/marker/mark-line/cartesian-mark-line.js +32 -26
- package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/theme.d.ts +4 -3
- package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-point/cartesian-mark-point.js +3 -1
- package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
- package/cjs/component/marker/utils.d.ts +12 -0
- package/cjs/component/marker/utils.js +22 -7
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/constant/event.d.ts +1 -0
- package/cjs/constant/event.js +6 -6
- package/cjs/constant/event.js.map +1 -1
- package/cjs/constant/funnel.js +1 -2
- package/cjs/constant/layout.js +2 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +2 -3
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.js +2 -1
- package/cjs/data/transforms/pictogram.d.ts +1 -9
- package/cjs/data/transforms/pictogram.js +3 -3
- package/cjs/data/transforms/pictogram.js.map +1 -1
- package/cjs/data/transforms/pie.js +1 -1
- package/cjs/data/transforms/pie.js.map +1 -1
- package/cjs/index-harmony-simple.js.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +8 -7
- package/cjs/index.js.map +1 -1
- package/cjs/model/base-model.d.ts +1 -0
- package/cjs/model/base-model.js +6 -0
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/base.js +8 -0
- package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js +11 -7
- package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/position.js +9 -1
- package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/gauge/gauge.js +7 -5
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/pictogram/tooltip-helper.d.ts +2 -2
- package/cjs/series/pictogram/tooltip-helper.js.map +1 -1
- package/cjs/series/pie/pie.js +3 -3
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/progress-like/interface.d.ts +1 -0
- package/cjs/series/polar/progress-like/interface.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.js +4 -3
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/progress/linear/interface.d.ts +1 -0
- package/cjs/series/progress/linear/interface.js.map +1 -1
- package/cjs/series/progress/linear/linear.js +6 -4
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/sankey/interface.d.ts +0 -1
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/typings/tooltip/position.d.ts +1 -1
- package/cjs/typings/tooltip/position.js.map +1 -1
- package/cjs/typings/visual.d.ts +1 -1
- package/cjs/typings/visual.js.map +1 -1
- package/esm/chart/index.d.ts +1 -1
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/pictogram/interface.d.ts +1 -1
- package/esm/chart/pictogram/interface.js.map +1 -1
- package/esm/chart/progress/linear/linear-progress-transformer.js +1 -1
- package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
- package/esm/compile/mark/compilable-mark.d.ts +1 -0
- package/esm/compile/mark/compilable-mark.js +3 -0
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/component/axis/base-axis.js +7 -2
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/interface/spec.d.ts +7 -2
- package/esm/component/axis/interface/spec.js.map +1 -1
- package/esm/component/brush/brush.d.ts +23 -24
- package/esm/component/brush/brush.js +179 -177
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/brush/interface.d.ts +2 -0
- package/esm/component/brush/interface.js.map +1 -1
- package/esm/component/crosshair/base.js +1 -1
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/utils/cartesian.js +9 -8
- package/esm/component/crosshair/utils/cartesian.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/interface.d.ts +2 -3
- package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/esm/component/marker/mark-area/base-mark-area.js +27 -16
- package/esm/component/marker/mark-area/base-mark-area.js.map +1 -1
- package/esm/component/marker/mark-area/interface/theme.d.ts +4 -3
- package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-line/base-mark-line.js +30 -19
- package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
- package/esm/component/marker/mark-line/cartesian-mark-line.js +31 -26
- package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
- package/esm/component/marker/mark-line/interface/theme.d.ts +4 -3
- package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-point/cartesian-mark-point.js +1 -1
- package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
- package/esm/component/marker/utils.d.ts +12 -0
- package/esm/component/marker/utils.js +19 -4
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/constant/event.d.ts +1 -0
- package/esm/constant/event.js +6 -6
- package/esm/constant/event.js.map +1 -1
- package/esm/constant/funnel.js +1 -2
- package/esm/constant/layout.js +2 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +2 -3
- package/esm/core/index.js.map +1 -1
- package/esm/core/interface.js +2 -1
- package/esm/data/transforms/pictogram.d.ts +1 -9
- package/esm/data/transforms/pictogram.js +3 -3
- package/esm/data/transforms/pictogram.js.map +1 -1
- package/esm/data/transforms/pie.js +1 -1
- package/esm/data/transforms/pie.js.map +1 -1
- package/esm/index-harmony-simple.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/esm/model/base-model.d.ts +1 -0
- package/esm/model/base-model.js +6 -0
- package/esm/model/base-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/base.js +8 -0
- package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js +11 -7
- package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/position.d.ts +1 -1
- package/esm/plugin/components/tooltip-handler/utils/position.js +9 -1
- package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/gauge/gauge.js +6 -4
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/pictogram/tooltip-helper.d.ts +2 -2
- package/esm/series/pictogram/tooltip-helper.js.map +1 -1
- package/esm/series/pie/pie.js +4 -4
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/progress-like/interface.d.ts +1 -0
- package/esm/series/polar/progress-like/interface.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.js +4 -3
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/progress/linear/interface.d.ts +1 -0
- package/esm/series/progress/linear/interface.js.map +1 -1
- package/esm/series/progress/linear/linear.js +6 -4
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/sankey/interface.d.ts +0 -1
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/typings/tooltip/position.d.ts +1 -1
- package/esm/typings/tooltip/position.js.map +1 -1
- package/esm/typings/visual.d.ts +1 -1
- package/esm/typings/visual.js.map +1 -1
- package/package.json +18 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/progress/linear/linear.ts"],"names":[],"mappings":"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","file":"linear.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../../interface/type';\nimport { valueInScaleRange } from '../../../util/scale';\nimport { AttributeLevel } from '../../../constant/attribute';\nimport type { Datum } from '../../../typings';\nimport { animationConfig, userAnimationConfig } from '../../../animation/utils';\nimport { registerLinearProgressAnimation } from './animation';\nimport type {\n ILinearProgressAnimationParams,\n ILinearProgressSeriesSpec,\n LinearProgressAppearPreset\n} from './interface';\nimport { LinearProgressSeriesTooltipHelper } from './tooltip-helper';\nimport type { IStateAnimateSpec } from '../../../animation/spec';\nimport { registerRectMark } from '../../../mark/rect';\nimport type { ICustomPath2D } from '@visactor/vrender-core';\nimport { linearProgressSeriesMark } from './constant';\nimport { Factory } from '../../../core/factory';\nimport { registerFadeInOutAnimation } from '../../../animation/config';\nimport type { IMark, IRectMark } from '../../../mark/interface';\nimport { isValid } from '@visactor/vutils';\n\nexport class LinearProgressSeries<\n T extends ILinearProgressSeriesSpec = ILinearProgressSeriesSpec\n> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.linearProgress;\n type = SeriesTypeEnum.linearProgress;\n\n static readonly mark: SeriesMarkMap = linearProgressSeriesMark;\n\n private _progressMark: IRectMark | null = null;\n private _trackMark: IRectMark | null = null;\n\n initMark(): void {\n this._initTrackMark();\n this._initProgressMark();\n }\n\n initMarkStyle(): void {\n this._initTrackMarkStyle();\n this._initProgressMarkStyle();\n }\n\n private _initProgressMark() {\n this._progressMark = this._createMark(\n LinearProgressSeries.mark.progress,\n {\n isSeriesMark: true,\n stateSort: this._spec.progress?.stateSort\n },\n {\n setCustomizedShape: this._spec.progress?.customShape ?? this._defaultProgressCustomShape\n }\n ) as IRectMark;\n return this._progressMark;\n }\n\n private _initProgressMarkStyle() {\n const progressMark = this._progressMark;\n if (progressMark) {\n if (this._spec.direction === 'vertical') {\n const progress = this._spec.progress || {};\n const leftPadding = progress.leftPadding ?? 0;\n const rightPadding = progress.rightPadding ?? 0;\n\n this.setMarkStyle(\n progressMark,\n {\n x: (datum: Datum) => {\n return (\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0), true) -\n this._spec.bandWidth / 2 +\n leftPadding\n );\n },\n y1: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)),\n y: () => this._yAxisHelper?.dataToPosition([0], { bandPosition: this._bandPosition }),\n width: this._spec.bandWidth - leftPadding - rightPadding,\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n const progress = this._spec.progress || {};\n const topPadding = progress.topPadding ?? 0;\n const bottomPadding = progress.bottomPadding ?? 0;\n\n this.setMarkStyle(\n progressMark,\n {\n x1: (datum: Datum) => valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)),\n y: (datum: Datum) => {\n return (\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0), true) -\n this._spec.bandWidth / 2 +\n topPadding\n );\n },\n height: this._spec.bandWidth - topPadding - bottomPadding,\n x: () => this._xAxisHelper?.dataToPosition([0], { bandPosition: this._bandPosition }),\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n }\n\n private _defaultProgressCustomShape = (datum: any[], attrs: any, path: ICustomPath2D) => {\n const cornerRadius = this._spec?.cornerRadius;\n const width = isValid(attrs.width) ? attrs.width : attrs.x1 - attrs.x;\n const height = isValid(attrs.height) ? attrs.height : attrs.y1 - attrs.y;\n const x0 = Math.min(0, width);\n const x1 = Math.max(0, width);\n const y0 = Math.min(0, height);\n const y1 = Math.max(0, height);\n\n if (cornerRadius > 0) {\n let realCornerRadius = cornerRadius;\n\n if (this._spec?.direction === 'vertical') {\n realCornerRadius = Math.min(Math.abs(width / 2), cornerRadius);\n\n if (2 * realCornerRadius > Math.abs(height)) {\n const angle = Math.acos((realCornerRadius - Math.abs(height) / 2) / realCornerRadius);\n\n path.moveTo(x0 + realCornerRadius, y0);\n path.arc(\n x0 + realCornerRadius,\n y0 + realCornerRadius,\n realCornerRadius,\n 1.5 * Math.PI,\n 1.5 * Math.PI - angle,\n true\n );\n path.arc(\n x0 + realCornerRadius,\n y1 - realCornerRadius,\n realCornerRadius,\n angle + Math.PI / 2,\n Math.PI / 2,\n true\n );\n\n path.lineTo(x1 - cornerRadius, y1);\n path.arc(\n x1 - realCornerRadius,\n y1 - realCornerRadius,\n realCornerRadius,\n Math.PI / 2,\n Math.PI / 2 - angle,\n true\n );\n path.arc(\n x1 - realCornerRadius,\n y0 + realCornerRadius,\n realCornerRadius,\n -Math.PI / 2 + angle,\n -Math.PI / 2,\n true\n );\n path.lineTo(x0 + realCornerRadius, y0);\n\n path.closePath();\n\n return path;\n }\n } else {\n realCornerRadius = Math.min(Math.abs(height / 2), cornerRadius);\n\n if (2 * realCornerRadius > Math.abs(width)) {\n const angle = Math.acos((realCornerRadius - Math.abs(width) / 2) / realCornerRadius);\n path.moveTo(x0, y0 + realCornerRadius);\n path.arc(x0 + realCornerRadius, y0 + realCornerRadius, realCornerRadius, Math.PI, Math.PI + angle);\n path.arc(x1 - realCornerRadius, y0 + realCornerRadius, realCornerRadius, -angle, 0);\n path.lineTo(x1, y1 - realCornerRadius);\n path.arc(x1 - realCornerRadius, y1 - realCornerRadius, realCornerRadius, 0, angle);\n path.arc(x0 + realCornerRadius, y1 - realCornerRadius, realCornerRadius, Math.PI - angle, Math.PI);\n path.closePath();\n\n return path;\n }\n }\n\n path.moveTo(x0, y0 + realCornerRadius);\n path.arc(x0 + realCornerRadius, y0 + realCornerRadius, realCornerRadius, Math.PI, 1.5 * Math.PI);\n path.lineTo(x1 - realCornerRadius, y0);\n path.arc(x1 - realCornerRadius, y0 + realCornerRadius, realCornerRadius, -Math.PI / 2, 0);\n path.lineTo(x1, y1 - realCornerRadius);\n path.arc(x1 - realCornerRadius, y1 - realCornerRadius, realCornerRadius, 0, Math.PI / 2);\n path.lineTo(x0 + realCornerRadius, y1);\n path.arc(x0 + realCornerRadius, y1 - realCornerRadius, realCornerRadius, Math.PI / 2, Math.PI);\n path.closePath();\n } else {\n path.moveTo(x0, y0);\n path.lineTo(x1, y0);\n path.lineTo(x1, y1);\n path.lineTo(x0, y1);\n path.closePath();\n }\n\n return path;\n };\n\n private _initTrackMark() {\n this._trackMark = this._createMark(\n LinearProgressSeries.mark.track,\n {\n stateSort: this._spec.track?.stateSort\n },\n {\n setCustomizedShape: this._spec.track?.customShape\n }\n ) as IRectMark;\n return this._trackMark;\n }\n\n private _initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n if (this._spec.direction === 'vertical') {\n this.setMarkStyle(\n trackMark,\n {\n x: (datum: any) => {\n return (\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0), true) -\n this._spec.bandWidth / 2\n );\n },\n y: 0,\n width: this._spec.bandWidth,\n height: () => this._scaleY.range()[0],\n cornerRadius: this._spec.cornerRadius\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n trackMark,\n {\n x: 0,\n y: (datum: any) => {\n return (\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0), true) -\n this._spec.bandWidth / 2\n );\n },\n height: this._spec.bandWidth,\n width: () => this._scaleX.range()[1],\n cornerRadius: this._spec.cornerRadius\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n }\n\n initInteraction(): void {\n const marks: IMark[] = [];\n\n if (this._trackMark) {\n marks.push(this._trackMark);\n }\n\n if (this._progressMark) {\n marks.push(this._progressMark);\n }\n this._parseInteractionConfig(marks);\n }\n\n initAnimation() {\n const animationParams: ILinearProgressAnimationParams = {\n direction: this.direction\n };\n\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LinearProgressAppearPreset>)?.preset;\n\n this._progressMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('linearProgress')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.progress, this._spec, this._markAttributeContext)\n )\n );\n\n this._trackMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.track, this._spec, this._markAttributeContext)\n )\n );\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LinearProgressSeriesTooltipHelper(this);\n this._progressMark && this._tooltipHelper.activeTriggerSet.mark.add(this._progressMark);\n this._trackMark && this._tooltipHelper.activeTriggerSet.mark.add(this._trackMark);\n }\n\n getActiveMarks(): IMark[] {\n return [this._progressMark];\n }\n}\n\nexport const registerLinearProgressSeries = () => {\n registerRectMark();\n registerLinearProgressAnimation();\n registerFadeInOutAnimation();\n Factory.registerSeries(LinearProgressSeries.type, LinearProgressSeries);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/progress/linear/linear.ts"],"names":[],"mappings":"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","file":"linear.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../../interface/type';\nimport { valueInScaleRange } from '../../../util/scale';\nimport { AttributeLevel } from '../../../constant/attribute';\nimport type { Datum } from '../../../typings';\nimport { animationConfig, userAnimationConfig } from '../../../animation/utils';\nimport { registerLinearProgressAnimation } from './animation';\nimport type {\n ILinearProgressAnimationParams,\n ILinearProgressSeriesSpec,\n LinearProgressAppearPreset\n} from './interface';\nimport { LinearProgressSeriesTooltipHelper } from './tooltip-helper';\nimport type { IStateAnimateSpec } from '../../../animation/spec';\nimport { registerRectMark } from '../../../mark/rect';\nimport type { ICustomPath2D } from '@visactor/vrender-core';\nimport { linearProgressSeriesMark } from './constant';\nimport { Factory } from '../../../core/factory';\nimport { registerFadeInOutAnimation } from '../../../animation/config';\nimport type { IMark, IRectMark } from '../../../mark/interface';\nimport { isValid } from '@visactor/vutils';\n\nexport class LinearProgressSeries<\n T extends ILinearProgressSeriesSpec = ILinearProgressSeriesSpec\n> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.linearProgress;\n type = SeriesTypeEnum.linearProgress;\n\n static readonly mark: SeriesMarkMap = linearProgressSeriesMark;\n\n private _progressMark: IRectMark | null = null;\n private _trackMark: IRectMark | null = null;\n\n initMark(): void {\n this._initTrackMark();\n this._initProgressMark();\n }\n\n initMarkStyle(): void {\n this._initTrackMarkStyle();\n this._initProgressMarkStyle();\n }\n\n private _initProgressMark() {\n this._progressMark = this._createMark(\n LinearProgressSeries.mark.progress,\n {\n isSeriesMark: true,\n stateSort: this._spec.progress?.stateSort\n },\n {\n setCustomizedShape: this._spec.progress?.customShape ?? this._defaultProgressCustomShape\n }\n ) as IRectMark;\n return this._progressMark;\n }\n\n private _initProgressMarkStyle() {\n const progressMark = this._progressMark;\n if (progressMark) {\n if (this._spec.direction === 'vertical') {\n const progress = this._spec.progress || {};\n const leftPadding = progress.leftPadding ?? 0;\n const rightPadding = progress.rightPadding ?? 0;\n\n this.setMarkStyle(\n progressMark,\n {\n x: (datum: Datum) => {\n return (\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0), true) -\n this._spec.bandWidth / 2 +\n leftPadding\n );\n },\n y1: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0)),\n y: () => {\n const value = this._yAxisHelper?.dataToPosition([0], { bandPosition: this._bandPosition });\n return this._spec.clamp ? valueInScaleRange(value, this._yAxisHelper?.getScale?.(0)) : value;\n },\n width: this._spec.bandWidth - leftPadding - rightPadding,\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n const progress = this._spec.progress || {};\n const topPadding = progress.topPadding ?? 0;\n const bottomPadding = progress.bottomPadding ?? 0;\n\n this.setMarkStyle(\n progressMark,\n {\n x1: (datum: Datum) => valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0)),\n y: (datum: Datum) => {\n return (\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0), true) -\n this._spec.bandWidth / 2 +\n topPadding\n );\n },\n height: this._spec.bandWidth - topPadding - bottomPadding,\n x: () => {\n const value = this._xAxisHelper?.dataToPosition([0], { bandPosition: this._bandPosition });\n return this._spec.clamp ? valueInScaleRange(value, this._xAxisHelper?.getScale?.(0)) : value;\n },\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n }\n\n private _defaultProgressCustomShape = (datum: any[], attrs: any, path: ICustomPath2D) => {\n const cornerRadius = this._spec?.cornerRadius;\n const width = isValid(attrs.width) ? attrs.width : attrs.x1 - attrs.x;\n const height = isValid(attrs.height) ? attrs.height : attrs.y1 - attrs.y;\n const x0 = Math.min(0, width);\n const x1 = Math.max(0, width);\n const y0 = Math.min(0, height);\n const y1 = Math.max(0, height);\n\n if (cornerRadius > 0) {\n let realCornerRadius = cornerRadius;\n\n if (this._spec?.direction === 'vertical') {\n realCornerRadius = Math.min(Math.abs(width / 2), cornerRadius);\n\n if (2 * realCornerRadius > Math.abs(height)) {\n const angle = Math.acos((realCornerRadius - Math.abs(height) / 2) / realCornerRadius);\n\n path.moveTo(x0 + realCornerRadius, y0);\n path.arc(\n x0 + realCornerRadius,\n y0 + realCornerRadius,\n realCornerRadius,\n 1.5 * Math.PI,\n 1.5 * Math.PI - angle,\n true\n );\n path.arc(\n x0 + realCornerRadius,\n y1 - realCornerRadius,\n realCornerRadius,\n angle + Math.PI / 2,\n Math.PI / 2,\n true\n );\n\n path.lineTo(x1 - cornerRadius, y1);\n path.arc(\n x1 - realCornerRadius,\n y1 - realCornerRadius,\n realCornerRadius,\n Math.PI / 2,\n Math.PI / 2 - angle,\n true\n );\n path.arc(\n x1 - realCornerRadius,\n y0 + realCornerRadius,\n realCornerRadius,\n -Math.PI / 2 + angle,\n -Math.PI / 2,\n true\n );\n path.lineTo(x0 + realCornerRadius, y0);\n\n path.closePath();\n\n return path;\n }\n } else {\n realCornerRadius = Math.min(Math.abs(height / 2), cornerRadius);\n\n if (2 * realCornerRadius > Math.abs(width)) {\n const angle = Math.acos((realCornerRadius - Math.abs(width) / 2) / realCornerRadius);\n path.moveTo(x0, y0 + realCornerRadius);\n path.arc(x0 + realCornerRadius, y0 + realCornerRadius, realCornerRadius, Math.PI, Math.PI + angle);\n path.arc(x1 - realCornerRadius, y0 + realCornerRadius, realCornerRadius, -angle, 0);\n path.lineTo(x1, y1 - realCornerRadius);\n path.arc(x1 - realCornerRadius, y1 - realCornerRadius, realCornerRadius, 0, angle);\n path.arc(x0 + realCornerRadius, y1 - realCornerRadius, realCornerRadius, Math.PI - angle, Math.PI);\n path.closePath();\n\n return path;\n }\n }\n\n path.moveTo(x0, y0 + realCornerRadius);\n path.arc(x0 + realCornerRadius, y0 + realCornerRadius, realCornerRadius, Math.PI, 1.5 * Math.PI);\n path.lineTo(x1 - realCornerRadius, y0);\n path.arc(x1 - realCornerRadius, y0 + realCornerRadius, realCornerRadius, -Math.PI / 2, 0);\n path.lineTo(x1, y1 - realCornerRadius);\n path.arc(x1 - realCornerRadius, y1 - realCornerRadius, realCornerRadius, 0, Math.PI / 2);\n path.lineTo(x0 + realCornerRadius, y1);\n path.arc(x0 + realCornerRadius, y1 - realCornerRadius, realCornerRadius, Math.PI / 2, Math.PI);\n path.closePath();\n } else {\n path.moveTo(x0, y0);\n path.lineTo(x1, y0);\n path.lineTo(x1, y1);\n path.lineTo(x0, y1);\n path.closePath();\n }\n\n return path;\n };\n\n private _initTrackMark() {\n this._trackMark = this._createMark(\n LinearProgressSeries.mark.track,\n {\n stateSort: this._spec.track?.stateSort\n },\n {\n setCustomizedShape: this._spec.track?.customShape\n }\n ) as IRectMark;\n return this._trackMark;\n }\n\n private _initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n if (this._spec.direction === 'vertical') {\n this.setMarkStyle(\n trackMark,\n {\n x: (datum: any) => {\n return (\n valueInScaleRange(this.dataToPositionX(datum), this._xAxisHelper?.getScale?.(0), true) -\n this._spec.bandWidth / 2\n );\n },\n y: 0,\n width: this._spec.bandWidth,\n height: () => this._scaleY.range()[0],\n cornerRadius: this._spec.cornerRadius\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n trackMark,\n {\n x: 0,\n y: (datum: any) => {\n return (\n valueInScaleRange(this.dataToPositionY(datum), this._yAxisHelper?.getScale?.(0), true) -\n this._spec.bandWidth / 2\n );\n },\n height: this._spec.bandWidth,\n width: () => this._scaleX.range()[1],\n cornerRadius: this._spec.cornerRadius\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n }\n\n initInteraction(): void {\n const marks: IMark[] = [];\n\n if (this._trackMark) {\n marks.push(this._trackMark);\n }\n\n if (this._progressMark) {\n marks.push(this._progressMark);\n }\n this._parseInteractionConfig(marks);\n }\n\n initAnimation() {\n const animationParams: ILinearProgressAnimationParams = {\n direction: this.direction\n };\n\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LinearProgressAppearPreset>)?.preset;\n\n this._progressMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('linearProgress')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.progress, this._spec, this._markAttributeContext)\n )\n );\n\n this._trackMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.track, this._spec, this._markAttributeContext)\n )\n );\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LinearProgressSeriesTooltipHelper(this);\n this._progressMark && this._tooltipHelper.activeTriggerSet.mark.add(this._progressMark);\n this._trackMark && this._tooltipHelper.activeTriggerSet.mark.add(this._trackMark);\n }\n\n getActiveMarks(): IMark[] {\n return [this._progressMark];\n }\n}\n\nexport const registerLinearProgressSeries = () => {\n registerRectMark();\n registerLinearProgressAnimation();\n registerFadeInOutAnimation();\n Factory.registerSeries(LinearProgressSeries.type, LinearProgressSeries);\n};\n"]}
|
|
@@ -15,7 +15,6 @@ export type ISankeyLabelSpec = ILabelSpec & {
|
|
|
15
15
|
limit?: number;
|
|
16
16
|
};
|
|
17
17
|
export interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {
|
|
18
|
-
nameKey: any;
|
|
19
18
|
type: 'sankey';
|
|
20
19
|
categoryField: string;
|
|
21
20
|
valueField: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/sankey/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISeriesSpec, DirectionType, IMarkTheme } from '../../typings';\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport type { IRectMarkSpec, ILinkPathMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { ILabelSpec } from '../../component/label/interface';\n\nexport type SankeyMark = 'node' | 'link' | 'label';\n\nexport type SankeyAppearPreset = 'growIn' | 'fadeIn';\nexport interface ISankeyAnimationParams {\n direction: DirectionType;\n growFrom: () => number;\n}\n\nexport type ISankeyLabelSpec = ILabelSpec & {\n /**\n * 标签布局方式\n * @default 'outside'\n */\n position?: 'outside' | 'inside-start' | 'inside-middle' | 'inside-end' | 'left' | 'right';\n /** 标签文字缩略 */\n limit?: number;\n};\n\nexport interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {\n
|
|
1
|
+
{"version":3,"sources":["../src/series/sankey/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISeriesSpec, DirectionType, IMarkTheme } from '../../typings';\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport type { IRectMarkSpec, ILinkPathMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { ILabelSpec } from '../../component/label/interface';\n\nexport type SankeyMark = 'node' | 'link' | 'label';\n\nexport type SankeyAppearPreset = 'growIn' | 'fadeIn';\nexport interface ISankeyAnimationParams {\n direction: DirectionType;\n growFrom: () => number;\n}\n\nexport type ISankeyLabelSpec = ILabelSpec & {\n /**\n * 标签布局方式\n * @default 'outside'\n */\n position?: 'outside' | 'inside-start' | 'inside-middle' | 'inside-end' | 'left' | 'right';\n /** 标签文字缩略 */\n limit?: number;\n};\n\nexport interface ISankeySeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SankeyMark, SankeyAppearPreset> {\n type: 'sankey';\n\n /**\n * 数据字段配置\n */\n /** 节点名称字段配置 */\n categoryField: string;\n /** 节点之间关系的权重字段 */\n valueField: string;\n /** 来源节点数据字段\n * 层级数据不提供\n */\n sourceField?: string;\n /** 目标节点数据字段\n * 层级数据不提供\n */\n targetField?: string;\n\n /**\n * 图表布局方向\n */\n direction?: DirectionType;\n /**\n * 节点的对齐类型,所有深度相同的节点,采用什么对齐方式,决定了节点在第几层:\n * - 横向布局的桑基图,用于计算节点x坐标\n * - 纵向布局的桑基图,用于计算节点y坐标\n */\n nodeAlign?: 'left' | 'right' | 'center' | 'justify' | 'start' | 'end';\n /**\n * 横向布局的桑基图,设置节点Y坐标的对齐方式:\n * 'start' - '顶部对齐'\n * 'end' - '底部对齐'\n * 'middle' - '居中对齐'\n *\n * 纵向布局的桑基图,设置节点X坐标的对齐方式:\n * 'start' - '左对齐'\n * 'end' - '右对齐'\n * 'middle' - '居中对齐'\n * 'parent' - '父节点',从1.12.14版本开始支持\n *\n * @since 1.12.4\n */\n crossNodeAlign?: 'start' | 'end' | 'middle' | 'parent';\n /**\n * 是否反向\n * @since 1.12.2\n */\n inverse?: boolean;\n /**\n * 同一层中两个节点之间的间隙大小\n */\n nodeGap?: number;\n /**\n * 每个节点的宽度,支持三种取值\n * 1. 百分比字符串,例如:{ nodeWidth: '12%' }\n * 2. 以'px'为单位的简单数字,eg: { nodeWidth: 20 }\n * 3. function,通过自定义计算指定nodeWidth\n */\n nodeWidth?: string | number | ((node: SankeyNodeElement) => number);\n /**\n * link宽度,单位px\n */\n linkWidth?: number | ((link: SankeyLinkElement) => number);\n /**\n * link + node 的最小宽度\n */\n minStepWidth?: number;\n /**\n * 数据不为零或空时节点的最小大小\n * - 这个配置可以用来避免数据太小时看不到太细的节点\n * - 建议小于5px\n */\n minNodeHeight?: number;\n /**\n * 数据不为零或空时边的最小大小\n * - 这个配置可以用来避免数据太小的时候看不到太细的链接\n * - 建议小于5px\n * - 当同时指定 `minNodeHeight` 和 `minLinkHeight` 两个选项时,此选项应小于 `minNodeHeight`\n */\n minLinkHeight?: number;\n /**\n * 数据不为零或空时节点的最大大小\n * @since 1.12.14\n */\n maxNodeHeight?: number;\n /**\n * 数据不为零或空时边的最大大小\n * - 当同时指定 `maxNodeHeight` 和 `maxLinkHeight` 两个选项时,此选项应小于 `maxNodeHeight`\n * @since 1.12.14\n */\n maxLinkHeight?: number;\n /** 布局的迭代次数 */\n iterations?: number;\n /** 解析node的key,defaultValue */\n nodeKey?: string | number | ((datum: SankeyNodeDatum) => string | number);\n /** 按此funtion排序link */\n linkSortBy?: (a: SankeyLinkElement, b: SankeyLinkElement) => number;\n /** 按此funtion排序node */\n nodeSortBy?: (a: SankeyNodeElement, b: SankeyNodeElement) => number;\n /** 自定义指定节点层 */\n setNodeLayer?: (datum: SankeyNodeDatum) => number;\n /**\n * 是否丢弃孤立的节点\n * @since 1.11.0\n */\n dropIsolatedNode?: boolean;\n /**\n * set the height of node\n * @since 1.11.0\n */\n nodeHeight?: number | ((node: SankeyNodeElement) => number);\n /**\n * set the height of link\n * @since 1.11.0\n */\n linkHeight?: number | ((link: SankeyLinkElement, sourceNode: SankeyNodeElement, sourceNodeHeight: number) => number);\n /**\n * each node has same height\n * @since 1.11.0\n */\n equalNodeHeight?: boolean;\n /**\n * the layout type of link\n * @since 1.11.0\n */\n linkOverlap?: 'start' | 'center' | 'end';\n\n /** 节点配置 */\n [SeriesMarkNameEnum.node]?: IMarkSpec<IRectMarkSpec>;\n\n /** 边配置 */\n [SeriesMarkNameEnum.link]?: IMarkSpec<ILinkPathMarkSpec>;\n\n /** 联动交互配置 */\n emphasis?: {\n /** 是否开启交互 */\n enable: boolean;\n /**\n * 交互触发类型\n * 默认为‘click'\n */\n trigger?: 'click' | 'hover';\n /**桑基图提供3种在节点上的交互联动效果\n * self: 仅高亮当前节点。\n * adjacency: 高亮当前节点上下游节点和关联的边,淡化其它图形元素。\n * related: 高亮与当前节点相关的整条路径上的节点和边,淡化其它图形元素。 */\n effect: 'self' | 'adjacency' | 'related';\n };\n\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: ISankeyLabelSpec | ISankeyLabelSpec[];\n\n /**\n * 当制定了节点、边的宽度的时候,可以配置这个属性\n * 当宽度大于图表region的宽度、高度大于图表resion高度的时候是否自动产生滚动条\n * @since 1.13.0\n */\n overflow?: 'scroll' | 'hidden' | 'scroll-x' | 'scroll-y';\n\n /** 进度条配置 */\n // scroll?: IScrollSpec & {\n // /** 是否开启进度条 */\n // enable: boolean;\n // };\n}\n\nexport interface SankeyLinkDatum {\n source: string | number;\n target: string | number;\n value?: number;\n}\n\nexport interface SankeyNodeDatum {\n value?: number;\n}\n\nexport interface HierarchyNodeDatum {\n value?: number;\n children?: HierarchyNodeDatum[];\n}\n\nexport type SankeyData =\n | {\n nodes?: SankeyNodeDatum[];\n links: SankeyLinkDatum[];\n }\n | {\n nodes: HierarchyNodeDatum[];\n };\n\n/**\n * The node element after sankey layout\n */\nexport interface SankeyNodeElement {\n key: string | number;\n index: number;\n /** the depth of node, from source to target */\n depth: number;\n\n /** the depth of node, from target to source */\n endDepth?: number;\n /** the final layer index after layout */\n layer?: number;\n isLastLayer?: boolean;\n value: number;\n datum: SankeyNodeDatum;\n sourceLinks: SankeyLinkElement[];\n targetLinks: SankeyLinkElement[];\n x0?: number;\n y0?: number;\n x1?: number;\n y1?: number;\n}\n/**\n * the link element after sankey layout\n */\nexport interface SankeyLinkElement {\n vertical?: boolean;\n index: number;\n source: string | number;\n target: string | number;\n value: number;\n datum: SankeyLinkDatum | SankeyLinkDatum[];\n thickness?: number;\n sourceRect?: { x0: number; x1: number; y0: number; y1: number };\n targetRect?: { x0: number; x1: number; y0: number; y1: number };\n /** this will only be generate in hierarchy node data*/\n parents?: (string | number)[];\n y0?: number;\n y1?: number;\n x0?: number;\n x1?: number;\n}\n\nexport type SankeyLayoutResult = {\n nodes: SankeyNodeElement[];\n links: SankeyLinkElement[];\n columns: SankeyNodeElement[][];\n}[];\n\nexport interface ISankeySeriesTheme {\n [SeriesMarkNameEnum.node]?: IMarkTheme<IRectMarkSpec>;\n [SeriesMarkNameEnum.link]?: IMarkTheme<ILinkPathMarkSpec>;\n}\n"]}
|
|
@@ -6,7 +6,7 @@ export interface ITooltipPositionFixedValue {
|
|
|
6
6
|
offset?: number;
|
|
7
7
|
}
|
|
8
8
|
export type TooltipPositionPatternItem = TooltipPositionValue | ITooltipPositionFixedValue;
|
|
9
|
-
export type TooltipFixedPosition = 'top' | 'bottom' | 'left' | 'right' | 'tl' | 'lt' | 'tr' | 'rt' | 'bl' | 'lb' | 'br' | 'rb' | 'center' | 'centerTop' | 'centerBottom' | 'centerLeft' | 'centerRight' | 'inside';
|
|
9
|
+
export type TooltipFixedPosition = 'top' | 'bottom' | 'left' | 'right' | 'tl' | 'lt' | 'tr' | 'rt' | 'bl' | 'lb' | 'br' | 'rb' | 'center' | 'centerTop' | 'centerBottom' | 'centerLeft' | 'centerRight' | 'inside' | 'insideTop' | 'insideBottom' | 'insideLeft' | 'insideRight' | 'insideTopLeft' | 'insideTopRight' | 'insideBottomLeft' | 'insideBottomRight';
|
|
10
10
|
export type TooltipPositionMode = 'pointer' | 'mark' | 'crosshair';
|
|
11
11
|
export interface IGlobalTooltipPositionPattern {
|
|
12
12
|
left?: TooltipPositionValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/typings/tooltip/position.ts"],"names":[],"mappings":"","file":"position.js","sourcesContent":["export type TooltipPositionCallback<T> = (event: MouseEvent) => T;\n\nexport type TooltipPositionValue = number | TooltipPositionCallback<number>;\n\nexport interface ITooltipPositionFixedValue {\n /** 固定方位 */\n orient: TooltipFixedPosition;\n /** 固定模式 */\n mode: TooltipPositionMode;\n /** 偏移量(像素值) */\n offset?: number;\n}\n\nexport type TooltipPositionPatternItem = TooltipPositionValue | ITooltipPositionFixedValue;\n\n/** tooltip显示在鼠标所在图形的固定位置,只对 mark tooltip 有效 */\nexport type TooltipFixedPosition =\n /** tooltip 显示在上侧 */\n | 'top'\n /** tooltip 显示在下侧 */\n | 'bottom'\n /** tooltip 显示在左侧 */\n | 'left'\n /** tooltip 显示在右侧 */\n | 'right'\n /**\n * tooltip 显示在左上角\n * @since 1.4.0\n */\n | 'tl'\n /**\n * tooltip 显示在左上角(容错)\n * @since 1.4.0\n */\n | 'lt'\n /**\n * tooltip 显示在右上角\n * @since 1.4.0\n */\n | 'tr'\n /**\n * tooltip 显示在右上角(容错)\n * @since 1.4.0\n */\n | 'rt'\n /**\n * tooltip 显示在左下角\n * @since 1.4.0\n */\n | 'bl'\n /**\n * tooltip 显示在左下角(容错)\n * @since 1.4.0\n */\n | 'lb'\n /**\n * tooltip 显示在右下角\n * @since 1.4.0\n */\n | 'br'\n /**\n * tooltip 显示在右下角(容错)\n * @since 1.4.0\n */\n | 'rb'\n /**\n * tooltip 显示在鼠标所在图形中心位置\n * @since 1.10.0\n */\n | 'center'\n /**\n * tooltip 显示在鼠标所在图形中心位置的上侧\n * @since 1.10.0\n */\n | 'centerTop'\n /**\n * tooltip 显示在鼠标所在图形中心位置的下侧\n * @since 1.10.0\n */\n | 'centerBottom'\n /**\n * tooltip 显示在鼠标所在图形中心位置的左侧\n * @since 1.10.0\n */\n | 'centerLeft'\n /**\n * tooltip 显示在鼠标所在图形中心位置的右侧\n * @since 1.10.0\n */\n | 'centerRight'\n /** tooltip 显示在鼠标所在图形中心位置(旧版兼容,建议用 `'center'`) */\n | 'inside';\n\nexport type TooltipPositionMode =\n /** tooltip 固定在鼠标指针附近 */\n | 'pointer'\n /** tooltip 固定在图元附近 */\n | 'mark'\n /** tooltip 固定在 crosshair 附近 */\n | 'crosshair';\n\n/** 相对于全局布局的 tooltip position,只支持像素值或者像素值的回调 */\nexport interface IGlobalTooltipPositionPattern {\n left?: TooltipPositionValue;\n right?: TooltipPositionValue;\n top?: TooltipPositionValue;\n bottom?: TooltipPositionValue;\n}\n\n/** 相对于某个图表元素的 tooltip position,支持像素值或者固定方位(x、y 可分别配置) */\nexport interface IFixedTooltipPositionPattern {\n x: TooltipPositionPatternItem;\n y: TooltipPositionPatternItem;\n}\n\nexport type TooltipPosition = IGlobalTooltipPositionPattern | IFixedTooltipPositionPattern | TooltipFixedPosition;\n\nexport interface ITooltipPositionActual {\n x: number;\n y: number;\n}\n\nexport type TooltipPositionKeys = 'top' | 'left' | 'right' | 'bottom';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/typings/tooltip/position.ts"],"names":[],"mappings":"","file":"position.js","sourcesContent":["export type TooltipPositionCallback<T> = (event: MouseEvent) => T;\n\nexport type TooltipPositionValue = number | TooltipPositionCallback<number>;\n\nexport interface ITooltipPositionFixedValue {\n /** 固定方位 */\n orient: TooltipFixedPosition;\n /** 固定模式 */\n mode: TooltipPositionMode;\n /** 偏移量(像素值) */\n offset?: number;\n}\n\nexport type TooltipPositionPatternItem = TooltipPositionValue | ITooltipPositionFixedValue;\n\n/** tooltip显示在鼠标所在图形的固定位置,只对 mark tooltip 有效 */\nexport type TooltipFixedPosition =\n /** tooltip 显示在上侧 */\n | 'top'\n /** tooltip 显示在下侧 */\n | 'bottom'\n /** tooltip 显示在左侧 */\n | 'left'\n /** tooltip 显示在右侧 */\n | 'right'\n /**\n * tooltip 显示在左上角\n * @since 1.4.0\n */\n | 'tl'\n /**\n * tooltip 显示在左上角(容错)\n * @since 1.4.0\n */\n | 'lt'\n /**\n * tooltip 显示在右上角\n * @since 1.4.0\n */\n | 'tr'\n /**\n * tooltip 显示在右上角(容错)\n * @since 1.4.0\n */\n | 'rt'\n /**\n * tooltip 显示在左下角\n * @since 1.4.0\n */\n | 'bl'\n /**\n * tooltip 显示在左下角(容错)\n * @since 1.4.0\n */\n | 'lb'\n /**\n * tooltip 显示在右下角\n * @since 1.4.0\n */\n | 'br'\n /**\n * tooltip 显示在右下角(容错)\n * @since 1.4.0\n */\n | 'rb'\n /**\n * tooltip 显示在鼠标所在图形中心位置\n * @since 1.10.0\n */\n | 'center'\n /**\n * tooltip 显示在鼠标所在图形中心位置的上侧\n * @since 1.10.0\n */\n | 'centerTop'\n /**\n * tooltip 显示在鼠标所在图形中心位置的下侧\n * @since 1.10.0\n */\n | 'centerBottom'\n /**\n * tooltip 显示在鼠标所在图形中心位置的左侧\n * @since 1.10.0\n */\n | 'centerLeft'\n /**\n * tooltip 显示在鼠标所在图形中心位置的右侧\n * @since 1.10.0\n */\n | 'centerRight'\n /** tooltip 显示在鼠标所在图形中心位置(旧版兼容,建议用 `'center'`) */\n | 'inside'\n /**\n * tooltip 显示在鼠标所在图形的内侧顶部\n * @since 1.13.10\n */\n | 'insideTop'\n /**\n * tooltip 显示在鼠标所在图形的内侧底部\n * @since 1.13.10\n */\n | 'insideBottom'\n /**\n * tooltip 显示在鼠标所在图形的内侧左侧\n * @since 1.13.10\n */\n | 'insideLeft'\n /**\n * tooltip 显示在鼠标所在图形的内侧右侧\n * @since 1.13.10\n */\n | 'insideRight'\n /**\n * tooltip 显示在鼠标所在图形的内侧左上角\n * @since 1.13.10\n */\n | 'insideTopLeft'\n /**\n * tooltip 显示在鼠标所在图形的内侧右上角\n * @since 1.13.10\n */\n | 'insideTopRight'\n /**\n * tooltip 显示在鼠标所在图形的内侧左下角\n * @since 1.13.10\n */\n | 'insideBottomLeft'\n /**\n * tooltip 显示在鼠标所在图形的内侧右下角\n * @since 1.13.10\n */\n | 'insideBottomRight';\n\nexport type TooltipPositionMode =\n /** tooltip 固定在鼠标指针附近 */\n | 'pointer'\n /** tooltip 固定在图元附近 */\n | 'mark'\n /** tooltip 固定在 crosshair 附近 */\n | 'crosshair';\n\n/** 相对于全局布局的 tooltip position,只支持像素值或者像素值的回调 */\nexport interface IGlobalTooltipPositionPattern {\n left?: TooltipPositionValue;\n right?: TooltipPositionValue;\n top?: TooltipPositionValue;\n bottom?: TooltipPositionValue;\n}\n\n/** 相对于某个图表元素的 tooltip position,支持像素值或者固定方位(x、y 可分别配置) */\nexport interface IFixedTooltipPositionPattern {\n x: TooltipPositionPatternItem;\n y: TooltipPositionPatternItem;\n}\n\nexport type TooltipPosition = IGlobalTooltipPositionPattern | IFixedTooltipPositionPattern | TooltipFixedPosition;\n\nexport interface ITooltipPositionActual {\n x: number;\n y: number;\n}\n\nexport type TooltipPositionKeys = 'top' | 'left' | 'right' | 'bottom';\n"]}
|
package/esm/typings/visual.d.ts
CHANGED
|
@@ -57,7 +57,7 @@ export interface ICommonSpec {
|
|
|
57
57
|
x?: number;
|
|
58
58
|
y?: number;
|
|
59
59
|
z?: number;
|
|
60
|
-
stroke?: string | IGradient | false | (number | boolean)[] | IColorKey;
|
|
60
|
+
stroke?: string | IGradient | false | (number | boolean)[] | IColorKey | null;
|
|
61
61
|
strokeOpacity?: number;
|
|
62
62
|
opacity?: number;
|
|
63
63
|
lineWidth?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/typings/visual.ts"],"names":[],"mappings":"","file":"visual.js","sourcesContent":["import type { PopTipAttributes } from '@visactor/vrender-components';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Cursor } from './cursor';\nimport type { InterpolateType } from './interpolate';\nimport type { ScaleType } from './scale';\nimport type { ShapeType } from './shape';\nimport type { IPoint } from './coordinate';\nimport type { IAttributeOpt, IModelMarkAttributeContext } from '../compile/mark/interface';\nimport type { Datum } from './common';\nimport type { IPadding } from '@visactor/vutils';\nimport type { IColorKey } from '../theme/color-scheme/interface';\nimport type { ITokenKey } from '../theme/token/interface';\nimport type {\n IRepeatType,\n TextAlignType,\n TextBaselineType,\n IRichTextAttribute,\n IGraphicStyle,\n IColor\n} from '@visactor/vrender-core';\n\n// 基础的visual 对应 scale 的属性\nexport interface IVisualSpecBase<D, T> {\n /**\n * type of scale\n */\n type: ScaleType;\n /**\n * will set to scale.domain, it means input of scale\n */\n domain: D[];\n /**\n * will set to scale.range, it means output of scale\n */\n range: T[];\n /**\n * will set to scale.specified if scale support, as a key-value pair matching capability\n * @since 1.1.0\n */\n specified?: { [key: string]: unknown };\n /**\n * enable clamp in linear scale\n * If clamp is enabled, the return value of the scale is always within the scale’s range.\n * @since 1.13.6\n * @default false\n */\n clamp?: boolean;\n}\n// 用来给用户进行mark.style上的映射配置。所以要配置数据维度\nexport interface IVisualSpecStyle<D, T> extends IVisualSpecBase<D, T> {\n /**\n * 指定映射对应的数据字段\n */\n field?: string;\n}\n\nexport type IDataDomainSpec = {\n /**\n * 数据的id\n */\n dataId: string;\n /**\n * 数据字段\n */\n fields: string[];\n};\n\n// 用来提供给用户进行 scale 配置 所以名字是必选的 对用户配置\nexport interface IVisualSpecScale<D, T> extends Omit<IVisualSpecBase<D, T>, 'domain'> {\n /**\n * scale 的id\n */\n id: string;\n /**\n * 定义域范围\n */\n domain:\n | IVisualSpecBase<D, T>['domain']\n // 使用数据的字段值,如果 scale 是连续的,就取区间,如果是离散的就使用 values 。\n // 不考虑图表内的交互等数据筛选,这里只用原始数据的统计信息\n | IDataDomainSpec[];\n}\n// 对用户配置\nexport type IVisual<D = any, R = any> = IVisualSpecStyle<D, R> | IVisualScale;\n\nexport interface IVisualScale {\n /**\n * 对应 IVisualSpecScale 的用户配置 scale-id\n */\n scale: string;\n /**\n * 指定参与映射的数据字段\n */\n field?: string;\n /**\n * 当用户指定 field 后,用该属性来控制值域。\n * @default 'none'\n */\n changeDomain?: 'none' | 'replace' | 'expand';\n}\n\nexport type FunctionType<T> = (\n datum: Datum,\n context: IModelMarkAttributeContext,\n opt?: IAttributeOpt,\n source?: DataView\n) => T;\nexport type ValueType<T> = T;\nexport type VisualType<T> = ValueType<T> | FunctionType<T> | IVisual<unknown, T>;\n\nexport type TextureType =\n | 'circle'\n | 'dimond'\n | 'rect'\n | 'vertical-line'\n | 'horizontal-line'\n | 'bias-lr'\n | 'bias-rl'\n | 'grid';\n\n/**\n * style格式转换\n */\nexport type ConvertToMarkStyleSpec<T extends Record<string, any>> = {\n [key in keyof T]: VisualType<T[key]>;\n};\n\n/**\n * border\n */\nexport interface IBorder {\n /**\n * 边框离图形边缘的距离\n */\n distance: number | string;\n /**\n * 边框的颜色\n */\n stroke?: string | IGradient;\n /**\n * 边框的透明度\n */\n strokeOpacity?: number;\n /**\n * 边框线的宽度\n */\n lineWidth?: number;\n /**\n * 给边框配置虚线模式。它使用一组值来指定描述模式的线和间隙的交替长度\n */\n lineDash?: number[];\n /**\n * 设置边框的虚线偏移量\n */\n lineDashOffset?: number;\n}\n\nexport interface ICommonSpec {\n /**\n * 图形是否可见\n */\n visible?: boolean;\n /**\n * 图形的x坐标\n */\n x?: number;\n /**\n * 图形的y坐标\n */\n y?: number;\n /**\n * 图形的z坐标,仅适用于3D图表\n */\n z?: number;\n /**\n * 图形的描边颜色。\n * 支持使用 'rgb(255,255,255)','rgba(255,255,255,1)','#fff' 等方式设置为纯色,也支持设置为渐变色描边\n * @todo 隔离主题和 spec 配置\n * IColorKey 类型只适用于主题\n */\n stroke?: string | IGradient | false | (number | boolean)[] | IColorKey;\n /**\n * 描边透明度\n */\n strokeOpacity?: number;\n /**\n * 图形的透明度,既影响描边也影响填充\n */\n opacity?: number;\n /**\n * 图形的描边宽度\n */\n lineWidth?: number;\n /**\n * 给描边配置虚线模式。它使用一组值来指定描述模式的线和间隙的交替长度\n */\n lineDash?: number[];\n /**\n * 设置虚线偏移量的属性\n */\n lineDashOffset?: number;\n /**\n * 设置图形的鼠标样式\n */\n cursor?: Cursor;\n /**\n * 设置图形的层级,主意这个是相对层级,图形引擎绘制的时候,会对相同group下的所有图形根据zIndex进行排序,然后从小到大进行渲染\n */\n zIndex?: number;\n /**\n * 图形的旋转角度\n */\n angle?: number;\n /**\n * 基于AABB的锚点位置,用于简单的定位某些path的位置\n */\n anchor?: [number, number];\n\n /**\n * x方向的缩放比例,默认为1,即不进行缩放\n */\n scaleX?: number;\n /**\n * y方向的缩放比例,默认为1,即不进行缩放\n */\n scaleY?: number;\n /**\n * 图形缩放中心\n * @since 1.4.0\n * 可以配置固定坐标,例如 [100, 100];或者百分比坐标,例如 ['50%', '50%'],代表以图元中心为缩放中心\n * */\n scaleCenter?: [number | string, number | string];\n\n // 3d旋转的属性\n /**\n * x方向的旋转角度\n */\n alpha?: number;\n /**\n * y方向的旋转角度\n */\n beta?: number;\n /**\n * 3d的锚点位置\n */\n anchor3d?: [number, number];\n\n /**\n * 选择模式,精确模式,粗糙模式(包围盒模式),自定义模式\n */\n pickMode?: 'accurate' | 'imprecise' | 'custom';\n /**\n * bounds的计算模式\n */\n boundsMode?: 'accurate' | 'imprecise';\n\n /**\n * 用于扩展描边的拾取范围,为 0 就是默认线宽,正数就加宽,负数就减宽\n * @default 0\n * @since 1.7.3\n */\n pickStrokeBuffer?: number;\n\n // 以下是纹理相关的属性\n /**\n * 纹理的类型\n */\n texture?: TextureType | string;\n /**\n * 纹理的颜色\n */\n textureColor?: string;\n /**\n * 纹理单元的大小\n */\n textureSize?: number; // 纹理大小\n /**\n * 纹理之间空隙的大小\n */\n texturePadding?: number;\n\n /**\n * 外边框,外描边,描边位于图形外侧\n */\n outerBorder?: IBorder;\n /**\n * 内边框,内描边,描边位于图形内侧\n */\n innerBorder?: IBorder;\n /**\n * html 浮层,会将配置的html相关内容,绝对定位到图元的位置\n * @experimental\n * @since 1.10.0\n */\n html?: IMarkHtmlSpec;\n\n [key: string]: any;\n}\n\nexport interface IFillMarkSpec extends ICommonSpec {\n /**\n * 图形的填充颜色\n * @todo 隔离主题和 spec 配置\n * IColorKey 类型只适用于主题\n */\n fill?: VisualType<string> | IGradient | false | IColorKey;\n /**\n * 填充的透明度\n */\n fillOpacity?: number;\n\n /**\n * 图形的背景色,支持纯色、image元素、canvas元素\n */\n background?: IColor | HTMLImageElement | HTMLCanvasElement | null;\n}\n\nexport type IMarkHtmlSpec = Partial<IGraphicStyle['html']>;\n\nexport interface ISymbolMarkSpec extends IFillMarkSpec {\n /**\n * x方向的偏移量\n */\n dx?: number;\n /**\n * y方向的偏移量\n */\n dy?: number;\n /**\n * 大小,相当于外接圆的半径\n */\n size?: number | number[];\n /** 对外声明使用shape,vrender图形属性对应的是shape */\n shape?: ShapeType | string;\n /**\n * 标记的类型\n * FIXME: vrender Symbol接收的图形属性,暂时都申明一下\n * */\n symbolType?: ShapeType | string;\n /**\n * x方向的缩放比例,默认为1,即不进行缩放\n */\n scaleX?: number;\n /**\n * y方向的缩放比例,默认为1,即不进行缩放\n */\n scaleY?: number;\n}\n\n// lineMark 和 areaMark 共同配置\nexport interface ILineLikeMarkSpec extends IFillMarkSpec {\n /**\n * 取消的差值类型,默认为线性插值,也就是普通的折线\n */\n curveType?: InterpolateType;\n /**\n * 设置点是否有效,也就是是否合法\n */\n defined?: boolean;\n}\n\nexport interface IAreaMarkSpec extends ILineLikeMarkSpec {\n /**\n * 面积的x1值\n */\n x1?: number;\n /**\n * 面积的y1值\n */\n y1?: number;\n /**\n * 面积图元的方向,\n * horizontal - 水平方向\n * vertical - 垂直方向\n */\n orient?: 'horizontal' | 'vertical';\n}\n\nexport interface ILineMarkSpec extends ILineLikeMarkSpec {\n /**\n * 指定如何绘制每一条线段末端的属性。有 3 个可能的值,分别是:'butt', 'round' and 'square'。默认值是 butt。\n */\n lineCap?: LineStrokeCap;\n /**\n * 用来设置 2 个长度不为 0 的相连部分(线段、圆弧、曲线)如何连接在一起的属性(长度为 0 的变形部分,其指定的末端和控制点在同一位置,会被忽略)。此属性有 3 个值: 'round', 'bevel' and 'miter'。默认值是 'miter'\n */\n lineJoin?: LineStrokeJoin;\n /**\n * 设置斜接面限制比例的属性。当获取属性值时,会返回当前的值(默认值是 10.0 )。当给属性赋值时,0、负数、 Infinity 和 NaN 都会被忽略;除此之外都会被赋予一个新值。\n */\n miterLimit?: number;\n /**\n * stroke 的有界缓冲区\n */\n strokeBoundsBuffer?: number;\n}\n\nexport interface IRuleMarkSpec extends ILineMarkSpec {\n /**\n * 终点x坐标\n */\n x1?: number;\n /**\n * 终点y坐标\n */\n y1?: number;\n}\n\nexport interface ITextMarkSpec extends IFillMarkSpec {\n /**\n * 文字内容\n */\n text?: string | number | string[] | number[];\n /**\n * x 方向偏移\n */\n dx?: number;\n /**\n * y 方向偏移\n */\n dy?: number;\n /**\n * 字号\n */\n fontSize?: number | ITokenKey;\n /**\n * 文字水平方向的对齐方式\n */\n textAlign?: TextAlign;\n /**\n * 文字竖直方向的对齐方式\n */\n textBaseline?: TextBaseLine;\n /**\n * 字体\n */\n fontFamily?: string;\n /**\n * 字重\n */\n fontWeight?: FontWeight;\n /**\n * 字体样式,是否为斜体等\n */\n fontStyle?: FontStyle;\n /**\n * 文字的最大长度\n */\n maxLineWidth?: number;\n /**\n * 文字超出 maxLineWidth 后的省略符\n */\n ellipsis?: string;\n /**\n * 文本省略的位置,默认尾部省略\n * 1. 'start' 文字首部省略\n * 2. 'middle' 文本中间省略\n * 3. 'end' 文本尾部省略\n * @default 'end'\n * @since 1.7.3\n */\n suffixPosition?: 'start' | 'end' | 'middle';\n /**\n * 下划线\n */\n underline?: boolean;\n /**\n * 下划线的虚线样式\n */\n underlineDash?: number[];\n /**\n * 下划线的虚线偏移量\n */\n underlineOffset?: number;\n /**\n * 中划线\n */\n lineThrough?: boolean;\n /**\n * 行高(1.3.1 版本新增字符串类型表示比例值,如\"150%\")\n * @since 1.3.1\n */\n lineHeight?: number | string | ITokenKey;\n /**\n * poptip 相关配置\n */\n poptip?: PopTipAttributes;\n /**\n * 文本的排布方向,如果需要文本纵向排布,可以配置为 'vertical'\n * @default 'horizontal'\n */\n direction?: 'horizontal' | 'vertical';\n /*\n * 单词断行\n */\n wordBreak?: 'break-word' | 'break-all' | 'keep-all';\n /**\n * 高度限制控制显示内容及省略号\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号\n */\n lineClamp?: number;\n /**\n * 设置如何处理空白字符\n */\n whiteSpace?: 'normal' | 'no-wrap';\n}\n\nexport type IRichTextMarkSpec = IRichTextAttribute &\n IFillMarkSpec & { type: 'rich'; text: IRichTextAttribute['textConfig'] };\n\nexport type IComposedTextMarkSpec = ITextMarkSpec | IRichTextMarkSpec;\n\nexport type IPositionedTextMarkSpec = Omit<ITextMarkSpec, 'align' | 'textAlign' | 'baseline' | 'textBaseline'>;\n\nexport interface IRectMarkSpec extends IFillMarkSpec {\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n /**\n * 宽度\n */\n width?: number;\n /**\n * 高度\n */\n height?: number;\n /**\n * x方向终点坐标\n */\n x1?: number;\n /**\n * y方向终点坐标\n */\n\n y1?: number;\n}\n\n// 3d rect,支持length表示长宽高中的长属性(深度属性)\nexport interface IRect3dMarkSpec extends IRectMarkSpec {\n /**\n * 3d柱子的深度\n */\n length?: number;\n}\n\nexport interface IBoxPlotMarkSpec extends ICommonSpec {\n /**\n * box描边宽度\n */\n lineWidth?: number;\n /**\n * box宽度\n */\n boxWidth?: number;\n /**\n * 最大最小值宽度\n */\n shaftWidth?: number;\n /**\n * 中轴线类型\n */\n shaftShape?: BoxPlotShaftShape;\n /**\n * 盒子填充颜色,为空则不填充\n */\n boxFill?: string;\n // /**\n // * 描边颜色\n // */\n // stroke?: string;\n /**\n * 中轴线透明度,仅当shaftType=bar时生效\n */\n shaftFillOpacity?: number;\n /**\n * 最小值\n */\n min?: (datum: Datum) => number;\n /**\n * 25%分位数\n */\n q1?: (datum: Datum) => number;\n /**\n * 中位数\n */\n median?: (datum: Datum) => number;\n /**\n * 75%分位数\n */\n q3?: (datum: Datum) => number;\n /**\n * 最大值\n */\n max?: (datum: Datum) => number;\n}\n\nexport interface IRippleMarkSpec extends ICommonSpec {\n /**\n * 波纹密度ripple\n * ripple 取值范为[0,1]\n */\n ripple?: number;\n /**\n * 水波纹最大半径\n */\n size?: number;\n}\n\nexport interface ILiquidMarkSpec extends ICommonSpec {\n /**\n * 波浪的变化状态,范围为 [0, 1]\n */\n wave?: number;\n}\n\nexport interface ILiquidOutlineSpec extends ISymbolMarkSpec {\n /**\n * 描边的宽度\n */\n lineWidth: number;\n}\n\nexport interface IOutlierMarkSpec {\n /**\n * 异常点填充颜色\n */\n fill?: string;\n /**\n * 异常点大小\n */\n size?: number;\n}\n\nexport interface IPathMarkSpec extends IFillMarkSpec {\n path?: string;\n // TODO: 该属性后续可能会删除,未定\n /**\n * 平滑缩放,不然会发生跳变,在地图交互场景需要配置为true;常规path缩放不需要\n */\n smoothScale?: boolean;\n}\n\nexport interface ILinkPathMarkSpec extends IFillMarkSpec {\n /**\n * 连边起点的x坐标\n */\n x0?: number;\n /**\n * 连边起点的y坐标\n */\n y0?: number;\n /**\n * 连边终点的x坐标\n */\n x1?: number;\n /**\n * 连边终点的y坐标\n */\n y1?: number;\n /**\n * 连边的厚度,也可以理解为宽度\n */\n thickness?: number;\n /**\n * 连边的曲度,决定了连边的弯曲程度,取值范围为0-1,\n * 0表示不弯曲,也就是直线\n * 1表示最大的弯曲度,\n * 默认值为0.5\n */\n curvature?: number;\n /** round all the coordinates */\n round?: boolean;\n /** the ratio of normal style path */\n ratio?: number;\n /**\n * 对齐方式\n */\n align?: 'start' | 'end' | 'center';\n /**\n * 连边的类型\n *\n */\n pathType?: 'line' | 'smooth' | 'polyline';\n /**\n * 是否展示终点的箭头\n */\n endArrow?: boolean;\n /**\n * 是否展示起点的箭头\n */\n startArrow?: boolean;\n /**\n * 背景线的样式,主要用于部分高亮的场景\n */\n backgroundStyle?: any;\n /**\n * 连边的方向\n */\n direction?: 'horizontal' | 'vertical' | 'LR' | 'RL' | 'TB' | 'BL' | 'radial';\n}\n\n/**\n * arc图元的视觉通道配置\n */\nexport interface IArcMarkSpec extends IFillMarkSpec {\n /**\n * 圆弧的开始角度\n */\n startAngle?: number;\n /**\n * 圆弧的结束角度\n */\n endAngle?: number;\n /**\n * 间隙角度;间隔角度会转换为一个在两个相邻的弧之间的确定的线性距离,定义为 padRadius * | padAngle |\n * 这个距离在弧的开始和结束处都是相等的;\n * 间隔角度通常只应用于环形扇区(即当内半径大于 0)\n */\n padAngle?: number;\n\n /**\n * 外径,既外半径\n */\n outerRadius?: number;\n /**\n * 内径,既内半径\n */\n innerRadius?: number;\n /**\n * 圆角\n */\n cornerRadius?: number;\n /**\n * 内边距\n */\n innerPadding?: number;\n /**\n * 外边距\n */\n outerPadding?: number;\n /**\n * arc的中心点偏移距离,一般是通过在交互状态下设置这个属性来实现将扇区移出中心的一个效果\n */\n centerOffset?: number;\n /**\n * arc 的 roundCap 属性,即圆角是否伸出 startAngle 和 endAngle 之外\n */\n cap?: boolean | [boolean, boolean];\n /**\n * arc 在 roundCap 打开且应用环形渐变时是否对 cap 部分生效\n */\n autoCapConical?: boolean;\n}\n\n// 3d arc,有高度配置\nexport interface IArc3dMarkSpec extends IArcMarkSpec {\n /**\n * 3d圆弧的高度\n */\n height?: number;\n}\n\nexport interface ICellMarkSpec extends ISymbolMarkSpec {\n /**\n * 内边距\n */\n padding?: number | number[] | IPadding;\n}\n\nexport interface IGroupMarkSpec extends IFillMarkSpec {\n /**\n * 是否开启裁剪\n */\n clip?: boolean;\n /**\n * 宽度\n */\n width?: number;\n /**\n * 高度\n */\n height?: number;\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n}\n\nexport interface IPolygonMarkSpec extends ICommonSpec, IFillMarkSpec {\n /**\n * 顶点坐标\n */\n points?: IPoint[];\n /**\n * 圆角配置,支持数组配置,数组的顺序同组成 polygon 的顺序对应\n */\n cornerRadius?: number | number[];\n /**\n * x方向的缩放比例,默认为1,即不进行缩放\n */\n scaleX?: number;\n /**\n * y方向的缩放比例,默认为1,即不进行缩放\n */\n scaleY?: number;\n}\n\nexport interface IPyramid3dMarkSpec extends IPolygonMarkSpec {\n /**\n * 3d金字塔顶点坐标,注意只能有4个顶点\n */\n points?: IPoint[];\n}\n\n/**\n * ImageFill\n */\nexport type RepeatType = 'no-repeat' | 'repeat-x' | 'repeat-y' | 'repeat';\nexport type RepeatXYType = 'no-repeat' | 'repeat' | 'stretch';\nexport type ImageOriginType = 'top' | 'bottom';\n\n/**\n * gradient\n */\nexport type GradientPropValue<T> = ValueType<T> | FunctionType<T>;\nexport type GradientStop = {\n /**\n * 渐变色的偏移量,0-1的值\n */\n offset: GradientPropValue<number>;\n /**\n * 渐变色的颜色\n */\n color?: GradientPropValue<string>;\n /**\n * 渐变色的透明度\n */\n opacity?: number;\n};\nexport interface IGradientLinear {\n /**\n * 渐变色的起点x坐标,0-1的值,相对于图形包围盒x方向取值的比例值\n */\n x0?: GradientPropValue<number>;\n /**\n * 渐变色的起点y坐标,0-1的值,相对于图形包围盒y方向取值的比例值\n */\n y0?: GradientPropValue<number>;\n /**\n * 渐变色的终点x坐标,0-1的值,相对于图形包围盒x方向取值的比例值\n */\n x1?: GradientPropValue<number>;\n /**\n * 渐变色的终点y坐标,0-1的值,相对于图形包围盒y方向取值的比例值\n */\n y1?: GradientPropValue<number>;\n /**\n * 渐变色的颜色\n */\n stops: GradientStop[];\n /**\n * 渐变色的类型设置为 'linear',即线形渐变\n */\n gradient: 'linear';\n}\n\nexport interface IGradientRadial {\n /**\n * 径向渐变的起点的半径\n */\n r0?: GradientPropValue<number>;\n /**\n * 径向渐变的起点的x坐标\n */\n x0?: GradientPropValue<number>;\n /**\n * 径向渐变的起点的y坐标\n */\n y0?: GradientPropValue<number>;\n /**\n * 径向渐变的终点的x坐标\n */\n x1?: GradientPropValue<number>;\n /**\n * 径向渐变的终点的y坐标\n */\n y1?: GradientPropValue<number>;\n /**\n * 径向渐变的终点的半径\n */\n r1?: GradientPropValue<number>;\n /**\n * 渐变色的颜色\n */\n stops: GradientStop[];\n /**\n * 渐变色的类型设置为 'radial',即径向渐变\n */\n gradient: 'radial';\n}\n\nexport interface IGradientConical {\n /**\n * 锥形渐变的中心点x坐标\n */\n x?: GradientPropValue<number>;\n /**\n * 锥形渐变的中心点y坐标\n */\n y?: GradientPropValue<number>;\n /**\n * 锥形渐变的开始角度\n */\n startAngle?: GradientPropValue<number>;\n /**\n * 锥形渐变的结束角度\n */\n endAngle?: GradientPropValue<number>;\n /**\n * 锥形渐变的颜色\n */\n stops: GradientStop[];\n /**\n * 渐变色的类型设置为 'conical',即锥形渐变\n */\n gradient: 'conical';\n}\n\nexport type GradientType = 'linear' | 'radial' | 'conical';\nexport type IGradient = IGradientLinear | IGradientRadial | IGradientConical;\n\nexport type LineStrokeCap = 'butt' | 'round' | 'square';\nexport type LineStrokeJoin = 'arcs' | 'bevel' | 'miter' | 'miter-clip' | 'round';\n\nexport type BoxPlotShaftShape = 'line' | 'bar';\n/**\n * threshold\n */\nexport interface IThresholdStyle extends IVisualSpecStyle<number, string> {\n domain: number[];\n field: string;\n range: string[];\n type: 'threshold';\n}\n\n// FIXME: For some tool methods that need to use common configuration types\nexport interface IUnknownMarkSpec extends ICommonSpec {\n [key: string]: unknown;\n}\n\nexport interface IImageMarkSpec extends IFillMarkSpec {\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n /**\n * 图片的宽度\n */\n width?: number;\n /**\n * 图片的高度\n */\n height?: number;\n /**\n * 当图片的宽度小于 width 时,图片的重复方式\n */\n repeatX?: IRepeatType;\n /**\n * 当图片的高度小于 height 时,图片的重复方式\n */\n repeatY?: IRepeatType;\n /**\n * 设置图片的内容,支持三种类型:\n * 1. string类型,可以是图片资源的路径或者是svg 标签字符串\n * 2. image 元素\n * 3. canvas 元素\n */\n image: string | HTMLImageElement | HTMLCanvasElement;\n}\n\n/**\n * text\n */\nexport type TextAlign = TextAlignType;\nexport type TextBaseLine = TextBaselineType;\nexport type FontStyle = 'normal' | 'italic' | 'oblique' | string;\nexport type FontWeight = 'normal' | 'bold' | 'lighter' | 'bolder' | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/typings/visual.ts"],"names":[],"mappings":"","file":"visual.js","sourcesContent":["import type { PopTipAttributes } from '@visactor/vrender-components';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Cursor } from './cursor';\nimport type { InterpolateType } from './interpolate';\nimport type { ScaleType } from './scale';\nimport type { ShapeType } from './shape';\nimport type { IPoint } from './coordinate';\nimport type { IAttributeOpt, IModelMarkAttributeContext } from '../compile/mark/interface';\nimport type { Datum } from './common';\nimport type { IPadding } from '@visactor/vutils';\nimport type { IColorKey } from '../theme/color-scheme/interface';\nimport type { ITokenKey } from '../theme/token/interface';\nimport type {\n IRepeatType,\n TextAlignType,\n TextBaselineType,\n IRichTextAttribute,\n IGraphicStyle,\n IColor\n} from '@visactor/vrender-core';\n\n// 基础的visual 对应 scale 的属性\nexport interface IVisualSpecBase<D, T> {\n /**\n * type of scale\n */\n type: ScaleType;\n /**\n * will set to scale.domain, it means input of scale\n */\n domain: D[];\n /**\n * will set to scale.range, it means output of scale\n */\n range: T[];\n /**\n * will set to scale.specified if scale support, as a key-value pair matching capability\n * @since 1.1.0\n */\n specified?: { [key: string]: unknown };\n /**\n * enable clamp in linear scale\n * If clamp is enabled, the return value of the scale is always within the scale’s range.\n * @since 1.13.6\n * @default false\n */\n clamp?: boolean;\n}\n// 用来给用户进行mark.style上的映射配置。所以要配置数据维度\nexport interface IVisualSpecStyle<D, T> extends IVisualSpecBase<D, T> {\n /**\n * 指定映射对应的数据字段\n */\n field?: string;\n}\n\nexport type IDataDomainSpec = {\n /**\n * 数据的id\n */\n dataId: string;\n /**\n * 数据字段\n */\n fields: string[];\n};\n\n// 用来提供给用户进行 scale 配置 所以名字是必选的 对用户配置\nexport interface IVisualSpecScale<D, T> extends Omit<IVisualSpecBase<D, T>, 'domain'> {\n /**\n * scale 的id\n */\n id: string;\n /**\n * 定义域范围\n */\n domain:\n | IVisualSpecBase<D, T>['domain']\n // 使用数据的字段值,如果 scale 是连续的,就取区间,如果是离散的就使用 values 。\n // 不考虑图表内的交互等数据筛选,这里只用原始数据的统计信息\n | IDataDomainSpec[];\n}\n// 对用户配置\nexport type IVisual<D = any, R = any> = IVisualSpecStyle<D, R> | IVisualScale;\n\nexport interface IVisualScale {\n /**\n * 对应 IVisualSpecScale 的用户配置 scale-id\n */\n scale: string;\n /**\n * 指定参与映射的数据字段\n */\n field?: string;\n /**\n * 当用户指定 field 后,用该属性来控制值域。\n * @default 'none'\n */\n changeDomain?: 'none' | 'replace' | 'expand';\n}\n\nexport type FunctionType<T> = (\n datum: Datum,\n context: IModelMarkAttributeContext,\n opt?: IAttributeOpt,\n source?: DataView\n) => T;\nexport type ValueType<T> = T;\nexport type VisualType<T> = ValueType<T> | FunctionType<T> | IVisual<unknown, T>;\n\nexport type TextureType =\n | 'circle'\n | 'dimond'\n | 'rect'\n | 'vertical-line'\n | 'horizontal-line'\n | 'bias-lr'\n | 'bias-rl'\n | 'grid';\n\n/**\n * style格式转换\n */\nexport type ConvertToMarkStyleSpec<T extends Record<string, any>> = {\n [key in keyof T]: VisualType<T[key]>;\n};\n\n/**\n * border\n */\nexport interface IBorder {\n /**\n * 边框离图形边缘的距离\n */\n distance: number | string;\n /**\n * 边框的颜色\n */\n stroke?: string | IGradient;\n /**\n * 边框的透明度\n */\n strokeOpacity?: number;\n /**\n * 边框线的宽度\n */\n lineWidth?: number;\n /**\n * 给边框配置虚线模式。它使用一组值来指定描述模式的线和间隙的交替长度\n */\n lineDash?: number[];\n /**\n * 设置边框的虚线偏移量\n */\n lineDashOffset?: number;\n}\n\nexport interface ICommonSpec {\n /**\n * 图形是否可见\n */\n visible?: boolean;\n /**\n * 图形的x坐标\n */\n x?: number;\n /**\n * 图形的y坐标\n */\n y?: number;\n /**\n * 图形的z坐标,仅适用于3D图表\n */\n z?: number;\n /**\n * 图形的描边颜色。\n * 支持使用 'rgb(255,255,255)','rgba(255,255,255,1)','#fff' 等方式设置为纯色,也支持设置为渐变色描边\n * @todo 隔离主题和 spec 配置\n * IColorKey 类型只适用于主题\n */\n stroke?: string | IGradient | false | (number | boolean)[] | IColorKey | null;\n /**\n * 描边透明度\n */\n strokeOpacity?: number;\n /**\n * 图形的透明度,既影响描边也影响填充\n */\n opacity?: number;\n /**\n * 图形的描边宽度\n */\n lineWidth?: number;\n /**\n * 给描边配置虚线模式。它使用一组值来指定描述模式的线和间隙的交替长度\n */\n lineDash?: number[];\n /**\n * 设置虚线偏移量的属性\n */\n lineDashOffset?: number;\n /**\n * 设置图形的鼠标样式\n */\n cursor?: Cursor;\n /**\n * 设置图形的层级,主意这个是相对层级,图形引擎绘制的时候,会对相同group下的所有图形根据zIndex进行排序,然后从小到大进行渲染\n */\n zIndex?: number;\n /**\n * 图形的旋转角度\n */\n angle?: number;\n /**\n * 基于AABB的锚点位置,用于简单的定位某些path的位置\n */\n anchor?: [number, number];\n\n /**\n * x方向的缩放比例,默认为1,即不进行缩放\n */\n scaleX?: number;\n /**\n * y方向的缩放比例,默认为1,即不进行缩放\n */\n scaleY?: number;\n /**\n * 图形缩放中心\n * @since 1.4.0\n * 可以配置固定坐标,例如 [100, 100];或者百分比坐标,例如 ['50%', '50%'],代表以图元中心为缩放中心\n * */\n scaleCenter?: [number | string, number | string];\n\n // 3d旋转的属性\n /**\n * x方向的旋转角度\n */\n alpha?: number;\n /**\n * y方向的旋转角度\n */\n beta?: number;\n /**\n * 3d的锚点位置\n */\n anchor3d?: [number, number];\n\n /**\n * 选择模式,精确模式,粗糙模式(包围盒模式),自定义模式\n */\n pickMode?: 'accurate' | 'imprecise' | 'custom';\n /**\n * bounds的计算模式\n */\n boundsMode?: 'accurate' | 'imprecise';\n\n /**\n * 用于扩展描边的拾取范围,为 0 就是默认线宽,正数就加宽,负数就减宽\n * @default 0\n * @since 1.7.3\n */\n pickStrokeBuffer?: number;\n\n // 以下是纹理相关的属性\n /**\n * 纹理的类型\n */\n texture?: TextureType | string;\n /**\n * 纹理的颜色\n */\n textureColor?: string;\n /**\n * 纹理单元的大小\n */\n textureSize?: number; // 纹理大小\n /**\n * 纹理之间空隙的大小\n */\n texturePadding?: number;\n\n /**\n * 外边框,外描边,描边位于图形外侧\n */\n outerBorder?: IBorder;\n /**\n * 内边框,内描边,描边位于图形内侧\n */\n innerBorder?: IBorder;\n /**\n * html 浮层,会将配置的html相关内容,绝对定位到图元的位置\n * @experimental\n * @since 1.10.0\n */\n html?: IMarkHtmlSpec;\n\n [key: string]: any;\n}\n\nexport interface IFillMarkSpec extends ICommonSpec {\n /**\n * 图形的填充颜色\n * @todo 隔离主题和 spec 配置\n * IColorKey 类型只适用于主题\n */\n fill?: VisualType<string> | IGradient | false | IColorKey;\n /**\n * 填充的透明度\n */\n fillOpacity?: number;\n\n /**\n * 图形的背景色,支持纯色、image元素、canvas元素\n */\n background?: IColor | HTMLImageElement | HTMLCanvasElement | null;\n}\n\nexport type IMarkHtmlSpec = Partial<IGraphicStyle['html']>;\n\nexport interface ISymbolMarkSpec extends IFillMarkSpec {\n /**\n * x方向的偏移量\n */\n dx?: number;\n /**\n * y方向的偏移量\n */\n dy?: number;\n /**\n * 大小,相当于外接圆的半径\n */\n size?: number | number[];\n /** 对外声明使用shape,vrender图形属性对应的是shape */\n shape?: ShapeType | string;\n /**\n * 标记的类型\n * FIXME: vrender Symbol接收的图形属性,暂时都申明一下\n * */\n symbolType?: ShapeType | string;\n /**\n * x方向的缩放比例,默认为1,即不进行缩放\n */\n scaleX?: number;\n /**\n * y方向的缩放比例,默认为1,即不进行缩放\n */\n scaleY?: number;\n}\n\n// lineMark 和 areaMark 共同配置\nexport interface ILineLikeMarkSpec extends IFillMarkSpec {\n /**\n * 取消的差值类型,默认为线性插值,也就是普通的折线\n */\n curveType?: InterpolateType;\n /**\n * 设置点是否有效,也就是是否合法\n */\n defined?: boolean;\n}\n\nexport interface IAreaMarkSpec extends ILineLikeMarkSpec {\n /**\n * 面积的x1值\n */\n x1?: number;\n /**\n * 面积的y1值\n */\n y1?: number;\n /**\n * 面积图元的方向,\n * horizontal - 水平方向\n * vertical - 垂直方向\n */\n orient?: 'horizontal' | 'vertical';\n}\n\nexport interface ILineMarkSpec extends ILineLikeMarkSpec {\n /**\n * 指定如何绘制每一条线段末端的属性。有 3 个可能的值,分别是:'butt', 'round' and 'square'。默认值是 butt。\n */\n lineCap?: LineStrokeCap;\n /**\n * 用来设置 2 个长度不为 0 的相连部分(线段、圆弧、曲线)如何连接在一起的属性(长度为 0 的变形部分,其指定的末端和控制点在同一位置,会被忽略)。此属性有 3 个值: 'round', 'bevel' and 'miter'。默认值是 'miter'\n */\n lineJoin?: LineStrokeJoin;\n /**\n * 设置斜接面限制比例的属性。当获取属性值时,会返回当前的值(默认值是 10.0 )。当给属性赋值时,0、负数、 Infinity 和 NaN 都会被忽略;除此之外都会被赋予一个新值。\n */\n miterLimit?: number;\n /**\n * stroke 的有界缓冲区\n */\n strokeBoundsBuffer?: number;\n}\n\nexport interface IRuleMarkSpec extends ILineMarkSpec {\n /**\n * 终点x坐标\n */\n x1?: number;\n /**\n * 终点y坐标\n */\n y1?: number;\n}\n\nexport interface ITextMarkSpec extends IFillMarkSpec {\n /**\n * 文字内容\n */\n text?: string | number | string[] | number[];\n /**\n * x 方向偏移\n */\n dx?: number;\n /**\n * y 方向偏移\n */\n dy?: number;\n /**\n * 字号\n */\n fontSize?: number | ITokenKey;\n /**\n * 文字水平方向的对齐方式\n */\n textAlign?: TextAlign;\n /**\n * 文字竖直方向的对齐方式\n */\n textBaseline?: TextBaseLine;\n /**\n * 字体\n */\n fontFamily?: string;\n /**\n * 字重\n */\n fontWeight?: FontWeight;\n /**\n * 字体样式,是否为斜体等\n */\n fontStyle?: FontStyle;\n /**\n * 文字的最大长度\n */\n maxLineWidth?: number;\n /**\n * 文字超出 maxLineWidth 后的省略符\n */\n ellipsis?: string;\n /**\n * 文本省略的位置,默认尾部省略\n * 1. 'start' 文字首部省略\n * 2. 'middle' 文本中间省略\n * 3. 'end' 文本尾部省略\n * @default 'end'\n * @since 1.7.3\n */\n suffixPosition?: 'start' | 'end' | 'middle';\n /**\n * 下划线\n */\n underline?: boolean;\n /**\n * 下划线的虚线样式\n */\n underlineDash?: number[];\n /**\n * 下划线的虚线偏移量\n */\n underlineOffset?: number;\n /**\n * 中划线\n */\n lineThrough?: boolean;\n /**\n * 行高(1.3.1 版本新增字符串类型表示比例值,如\"150%\")\n * @since 1.3.1\n */\n lineHeight?: number | string | ITokenKey;\n /**\n * poptip 相关配置\n */\n poptip?: PopTipAttributes;\n /**\n * 文本的排布方向,如果需要文本纵向排布,可以配置为 'vertical'\n * @default 'horizontal'\n */\n direction?: 'horizontal' | 'vertical';\n /*\n * 单词断行\n */\n wordBreak?: 'break-word' | 'break-all' | 'keep-all';\n /**\n * 高度限制控制显示内容及省略号\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号\n */\n lineClamp?: number;\n /**\n * 设置如何处理空白字符\n */\n whiteSpace?: 'normal' | 'no-wrap';\n}\n\nexport type IRichTextMarkSpec = IRichTextAttribute &\n IFillMarkSpec & { type: 'rich'; text: IRichTextAttribute['textConfig'] };\n\nexport type IComposedTextMarkSpec = ITextMarkSpec | IRichTextMarkSpec;\n\nexport type IPositionedTextMarkSpec = Omit<ITextMarkSpec, 'align' | 'textAlign' | 'baseline' | 'textBaseline'>;\n\nexport interface IRectMarkSpec extends IFillMarkSpec {\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n /**\n * 宽度\n */\n width?: number;\n /**\n * 高度\n */\n height?: number;\n /**\n * x方向终点坐标\n */\n x1?: number;\n /**\n * y方向终点坐标\n */\n\n y1?: number;\n}\n\n// 3d rect,支持length表示长宽高中的长属性(深度属性)\nexport interface IRect3dMarkSpec extends IRectMarkSpec {\n /**\n * 3d柱子的深度\n */\n length?: number;\n}\n\nexport interface IBoxPlotMarkSpec extends ICommonSpec {\n /**\n * box描边宽度\n */\n lineWidth?: number;\n /**\n * box宽度\n */\n boxWidth?: number;\n /**\n * 最大最小值宽度\n */\n shaftWidth?: number;\n /**\n * 中轴线类型\n */\n shaftShape?: BoxPlotShaftShape;\n /**\n * 盒子填充颜色,为空则不填充\n */\n boxFill?: string;\n // /**\n // * 描边颜色\n // */\n // stroke?: string;\n /**\n * 中轴线透明度,仅当shaftType=bar时生效\n */\n shaftFillOpacity?: number;\n /**\n * 最小值\n */\n min?: (datum: Datum) => number;\n /**\n * 25%分位数\n */\n q1?: (datum: Datum) => number;\n /**\n * 中位数\n */\n median?: (datum: Datum) => number;\n /**\n * 75%分位数\n */\n q3?: (datum: Datum) => number;\n /**\n * 最大值\n */\n max?: (datum: Datum) => number;\n}\n\nexport interface IRippleMarkSpec extends ICommonSpec {\n /**\n * 波纹密度ripple\n * ripple 取值范为[0,1]\n */\n ripple?: number;\n /**\n * 水波纹最大半径\n */\n size?: number;\n}\n\nexport interface ILiquidMarkSpec extends ICommonSpec {\n /**\n * 波浪的变化状态,范围为 [0, 1]\n */\n wave?: number;\n}\n\nexport interface ILiquidOutlineSpec extends ISymbolMarkSpec {\n /**\n * 描边的宽度\n */\n lineWidth: number;\n}\n\nexport interface IOutlierMarkSpec {\n /**\n * 异常点填充颜色\n */\n fill?: string;\n /**\n * 异常点大小\n */\n size?: number;\n}\n\nexport interface IPathMarkSpec extends IFillMarkSpec {\n path?: string;\n // TODO: 该属性后续可能会删除,未定\n /**\n * 平滑缩放,不然会发生跳变,在地图交互场景需要配置为true;常规path缩放不需要\n */\n smoothScale?: boolean;\n}\n\nexport interface ILinkPathMarkSpec extends IFillMarkSpec {\n /**\n * 连边起点的x坐标\n */\n x0?: number;\n /**\n * 连边起点的y坐标\n */\n y0?: number;\n /**\n * 连边终点的x坐标\n */\n x1?: number;\n /**\n * 连边终点的y坐标\n */\n y1?: number;\n /**\n * 连边的厚度,也可以理解为宽度\n */\n thickness?: number;\n /**\n * 连边的曲度,决定了连边的弯曲程度,取值范围为0-1,\n * 0表示不弯曲,也就是直线\n * 1表示最大的弯曲度,\n * 默认值为0.5\n */\n curvature?: number;\n /** round all the coordinates */\n round?: boolean;\n /** the ratio of normal style path */\n ratio?: number;\n /**\n * 对齐方式\n */\n align?: 'start' | 'end' | 'center';\n /**\n * 连边的类型\n *\n */\n pathType?: 'line' | 'smooth' | 'polyline';\n /**\n * 是否展示终点的箭头\n */\n endArrow?: boolean;\n /**\n * 是否展示起点的箭头\n */\n startArrow?: boolean;\n /**\n * 背景线的样式,主要用于部分高亮的场景\n */\n backgroundStyle?: any;\n /**\n * 连边的方向\n */\n direction?: 'horizontal' | 'vertical' | 'LR' | 'RL' | 'TB' | 'BL' | 'radial';\n}\n\n/**\n * arc图元的视觉通道配置\n */\nexport interface IArcMarkSpec extends IFillMarkSpec {\n /**\n * 圆弧的开始角度\n */\n startAngle?: number;\n /**\n * 圆弧的结束角度\n */\n endAngle?: number;\n /**\n * 间隙角度;间隔角度会转换为一个在两个相邻的弧之间的确定的线性距离,定义为 padRadius * | padAngle |\n * 这个距离在弧的开始和结束处都是相等的;\n * 间隔角度通常只应用于环形扇区(即当内半径大于 0)\n */\n padAngle?: number;\n\n /**\n * 外径,既外半径\n */\n outerRadius?: number;\n /**\n * 内径,既内半径\n */\n innerRadius?: number;\n /**\n * 圆角\n */\n cornerRadius?: number;\n /**\n * 内边距\n */\n innerPadding?: number;\n /**\n * 外边距\n */\n outerPadding?: number;\n /**\n * arc的中心点偏移距离,一般是通过在交互状态下设置这个属性来实现将扇区移出中心的一个效果\n */\n centerOffset?: number;\n /**\n * arc 的 roundCap 属性,即圆角是否伸出 startAngle 和 endAngle 之外\n */\n cap?: boolean | [boolean, boolean];\n /**\n * arc 在 roundCap 打开且应用环形渐变时是否对 cap 部分生效\n */\n autoCapConical?: boolean;\n}\n\n// 3d arc,有高度配置\nexport interface IArc3dMarkSpec extends IArcMarkSpec {\n /**\n * 3d圆弧的高度\n */\n height?: number;\n}\n\nexport interface ICellMarkSpec extends ISymbolMarkSpec {\n /**\n * 内边距\n */\n padding?: number | number[] | IPadding;\n}\n\nexport interface IGroupMarkSpec extends IFillMarkSpec {\n /**\n * 是否开启裁剪\n */\n clip?: boolean;\n /**\n * 宽度\n */\n width?: number;\n /**\n * 高度\n */\n height?: number;\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n}\n\nexport interface IPolygonMarkSpec extends ICommonSpec, IFillMarkSpec {\n /**\n * 顶点坐标\n */\n points?: IPoint[];\n /**\n * 圆角配置,支持数组配置,数组的顺序同组成 polygon 的顺序对应\n */\n cornerRadius?: number | number[];\n /**\n * x方向的缩放比例,默认为1,即不进行缩放\n */\n scaleX?: number;\n /**\n * y方向的缩放比例,默认为1,即不进行缩放\n */\n scaleY?: number;\n}\n\nexport interface IPyramid3dMarkSpec extends IPolygonMarkSpec {\n /**\n * 3d金字塔顶点坐标,注意只能有4个顶点\n */\n points?: IPoint[];\n}\n\n/**\n * ImageFill\n */\nexport type RepeatType = 'no-repeat' | 'repeat-x' | 'repeat-y' | 'repeat';\nexport type RepeatXYType = 'no-repeat' | 'repeat' | 'stretch';\nexport type ImageOriginType = 'top' | 'bottom';\n\n/**\n * gradient\n */\nexport type GradientPropValue<T> = ValueType<T> | FunctionType<T>;\nexport type GradientStop = {\n /**\n * 渐变色的偏移量,0-1的值\n */\n offset: GradientPropValue<number>;\n /**\n * 渐变色的颜色\n */\n color?: GradientPropValue<string>;\n /**\n * 渐变色的透明度\n */\n opacity?: number;\n};\nexport interface IGradientLinear {\n /**\n * 渐变色的起点x坐标,0-1的值,相对于图形包围盒x方向取值的比例值\n */\n x0?: GradientPropValue<number>;\n /**\n * 渐变色的起点y坐标,0-1的值,相对于图形包围盒y方向取值的比例值\n */\n y0?: GradientPropValue<number>;\n /**\n * 渐变色的终点x坐标,0-1的值,相对于图形包围盒x方向取值的比例值\n */\n x1?: GradientPropValue<number>;\n /**\n * 渐变色的终点y坐标,0-1的值,相对于图形包围盒y方向取值的比例值\n */\n y1?: GradientPropValue<number>;\n /**\n * 渐变色的颜色\n */\n stops: GradientStop[];\n /**\n * 渐变色的类型设置为 'linear',即线形渐变\n */\n gradient: 'linear';\n}\n\nexport interface IGradientRadial {\n /**\n * 径向渐变的起点的半径\n */\n r0?: GradientPropValue<number>;\n /**\n * 径向渐变的起点的x坐标\n */\n x0?: GradientPropValue<number>;\n /**\n * 径向渐变的起点的y坐标\n */\n y0?: GradientPropValue<number>;\n /**\n * 径向渐变的终点的x坐标\n */\n x1?: GradientPropValue<number>;\n /**\n * 径向渐变的终点的y坐标\n */\n y1?: GradientPropValue<number>;\n /**\n * 径向渐变的终点的半径\n */\n r1?: GradientPropValue<number>;\n /**\n * 渐变色的颜色\n */\n stops: GradientStop[];\n /**\n * 渐变色的类型设置为 'radial',即径向渐变\n */\n gradient: 'radial';\n}\n\nexport interface IGradientConical {\n /**\n * 锥形渐变的中心点x坐标\n */\n x?: GradientPropValue<number>;\n /**\n * 锥形渐变的中心点y坐标\n */\n y?: GradientPropValue<number>;\n /**\n * 锥形渐变的开始角度\n */\n startAngle?: GradientPropValue<number>;\n /**\n * 锥形渐变的结束角度\n */\n endAngle?: GradientPropValue<number>;\n /**\n * 锥形渐变的颜色\n */\n stops: GradientStop[];\n /**\n * 渐变色的类型设置为 'conical',即锥形渐变\n */\n gradient: 'conical';\n}\n\nexport type GradientType = 'linear' | 'radial' | 'conical';\nexport type IGradient = IGradientLinear | IGradientRadial | IGradientConical;\n\nexport type LineStrokeCap = 'butt' | 'round' | 'square';\nexport type LineStrokeJoin = 'arcs' | 'bevel' | 'miter' | 'miter-clip' | 'round';\n\nexport type BoxPlotShaftShape = 'line' | 'bar';\n/**\n * threshold\n */\nexport interface IThresholdStyle extends IVisualSpecStyle<number, string> {\n domain: number[];\n field: string;\n range: string[];\n type: 'threshold';\n}\n\n// FIXME: For some tool methods that need to use common configuration types\nexport interface IUnknownMarkSpec extends ICommonSpec {\n [key: string]: unknown;\n}\n\nexport interface IImageMarkSpec extends IFillMarkSpec {\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n /**\n * 图片的宽度\n */\n width?: number;\n /**\n * 图片的高度\n */\n height?: number;\n /**\n * 当图片的宽度小于 width 时,图片的重复方式\n */\n repeatX?: IRepeatType;\n /**\n * 当图片的高度小于 height 时,图片的重复方式\n */\n repeatY?: IRepeatType;\n /**\n * 设置图片的内容,支持三种类型:\n * 1. string类型,可以是图片资源的路径或者是svg 标签字符串\n * 2. image 元素\n * 3. canvas 元素\n */\n image: string | HTMLImageElement | HTMLCanvasElement;\n}\n\n/**\n * text\n */\nexport type TextAlign = TextAlignType;\nexport type TextBaseLine = TextBaselineType;\nexport type FontStyle = 'normal' | 'italic' | 'oblique' | string;\nexport type FontWeight = 'normal' | 'bold' | 'lighter' | 'bolder' | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vchart",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.10-alpha.0",
|
|
4
4
|
"description": "charts lib based @visactor/VGrammar",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -83,25 +83,25 @@
|
|
|
83
83
|
"cross-env": "^7.0.3",
|
|
84
84
|
"@internal/typescript-json-schema": "0.0.1",
|
|
85
85
|
"@internal/ts-config": "0.0.1",
|
|
86
|
-
"@internal/
|
|
87
|
-
"@internal/
|
|
86
|
+
"@internal/eslint-config": "0.0.1",
|
|
87
|
+
"@internal/bundler": "0.0.1"
|
|
88
88
|
},
|
|
89
89
|
"dependencies": {
|
|
90
|
-
"@visactor/vutils": "~0.19.
|
|
91
|
-
"@visactor/vdataset": "~0.19.
|
|
92
|
-
"@visactor/vscale": "~0.19.
|
|
93
|
-
"@visactor/vrender-core": "0.22.
|
|
94
|
-
"@visactor/vrender-kits": "0.22.
|
|
95
|
-
"@visactor/vrender-components": "0.22.
|
|
96
|
-
"@visactor/vgrammar-core": "0.16.
|
|
97
|
-
"@visactor/vgrammar-projection": "0.16.
|
|
98
|
-
"@visactor/vgrammar-wordcloud": "0.16.
|
|
99
|
-
"@visactor/vgrammar-wordcloud-shape": "0.16.
|
|
100
|
-
"@visactor/vgrammar-hierarchy": "0.16.
|
|
101
|
-
"@visactor/vgrammar-sankey": "0.16.
|
|
102
|
-
"@visactor/vgrammar-venn": "0.16.
|
|
103
|
-
"@visactor/vgrammar-util": "0.16.
|
|
104
|
-
"@visactor/vutils-extension": "1.13.
|
|
90
|
+
"@visactor/vutils": "~0.19.5",
|
|
91
|
+
"@visactor/vdataset": "~0.19.5",
|
|
92
|
+
"@visactor/vscale": "~0.19.5",
|
|
93
|
+
"@visactor/vrender-core": "0.22.10",
|
|
94
|
+
"@visactor/vrender-kits": "0.22.10",
|
|
95
|
+
"@visactor/vrender-components": "0.22.10",
|
|
96
|
+
"@visactor/vgrammar-core": "0.16.6",
|
|
97
|
+
"@visactor/vgrammar-projection": "0.16.6",
|
|
98
|
+
"@visactor/vgrammar-wordcloud": "0.16.6",
|
|
99
|
+
"@visactor/vgrammar-wordcloud-shape": "0.16.6",
|
|
100
|
+
"@visactor/vgrammar-hierarchy": "0.16.6",
|
|
101
|
+
"@visactor/vgrammar-sankey": "0.16.6",
|
|
102
|
+
"@visactor/vgrammar-venn": "0.16.6",
|
|
103
|
+
"@visactor/vgrammar-util": "0.16.6",
|
|
104
|
+
"@visactor/vutils-extension": "1.13.10-alpha.0"
|
|
105
105
|
},
|
|
106
106
|
"publishConfig": {
|
|
107
107
|
"access": "public",
|