@visactor/vchart 2.1.2-alpha.6 → 2.1.2-alpha.8
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 +142 -142
- package/build/index.js +142 -142
- package/build/index.min.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/animation-planner.js +1 -2
- package/cjs/animation/callback-disappear.js +1 -1
- package/cjs/animation/config.js +1 -1
- package/cjs/animation/grammar-dector.js +1 -1
- package/cjs/animation/index.js +1 -1
- package/cjs/animation/interface.js +1 -1
- package/cjs/animation/sequential-animate.js +1 -1
- package/cjs/animation/spec.js +1 -1
- package/cjs/animation/state-transition.js +1 -1
- package/cjs/animation/utils.js +1 -1
- package/cjs/chart/index.js +1 -1
- package/cjs/chart/stack.js +1 -1
- package/cjs/chart/util.js +1 -1
- package/cjs/compile/morph.js +2 -1
- package/cjs/compile/util.js +1 -2
- package/cjs/constant/attribute.js +1 -2
- package/cjs/constant/box-plot.js +2 -1
- package/cjs/constant/hierarchy.js +1 -1
- package/cjs/constant/label.js +1 -1
- package/cjs/constant/layout.js +1 -1
- package/cjs/constant/marker.js +1 -1
- package/cjs/constant/polar.js +1 -1
- package/cjs/constant/scatter.js +1 -1
- package/cjs/constant/scroll-bar.js +1 -1
- package/cjs/constant/sunburst.js +1 -1
- package/cjs/constant/waterfall.js +1 -1
- package/cjs/constant/word-cloud.js +1 -1
- package/cjs/data/data-view-utils.js +2 -1
- package/cjs/env/env.js +1 -1
- package/cjs/env/index.js +1 -1
- package/cjs/event/bubble.js +1 -1
- package/cjs/event/event-dispatcher.js +1 -1
- package/cjs/event/event.js +1 -1
- package/cjs/event/index.js +1 -1
- package/cjs/event/interface.js +1 -1
- package/cjs/mark/box-plot.js +2 -2
- package/cjs/mark/box-plot.js.map +1 -1
- package/cjs/mark/cell.js +2 -2
- package/cjs/mark/cell.js.map +1 -1
- package/cjs/mark/glyph.js +2 -2
- package/cjs/mark/glyph.js.map +1 -1
- package/cjs/mark/image.js +3 -3
- package/cjs/mark/image.js.map +1 -1
- package/cjs/mark/link-path.js +2 -2
- package/cjs/mark/link-path.js.map +1 -1
- package/cjs/mark/liquid.js +2 -2
- package/cjs/mark/liquid.js.map +1 -1
- package/cjs/mark/path.js +3 -3
- package/cjs/mark/path.js.map +1 -1
- package/cjs/mark/polygon/polygon.js +3 -3
- package/cjs/mark/polygon/polygon.js.map +1 -1
- package/cjs/mark/ripple.js +2 -2
- package/cjs/mark/ripple.js.map +1 -1
- package/cjs/mark/rule.js +3 -3
- package/cjs/mark/rule.js.map +1 -1
- package/cjs/series/radar/animation.js +2 -2
- package/cjs/series/radar/animation.js.map +1 -1
- package/esm/animation/animation-planner.js +1 -2
- package/esm/animation/callback-disappear.js +1 -1
- package/esm/animation/config.js +1 -1
- package/esm/animation/grammar-dector.js +1 -1
- package/esm/animation/index.js +1 -1
- package/esm/animation/interface.js +1 -1
- package/esm/animation/sequential-animate.js +1 -1
- package/esm/animation/spec.js +1 -1
- package/esm/animation/state-transition.js +1 -1
- package/esm/animation/utils.js +1 -1
- package/esm/chart/index.js +1 -1
- package/esm/chart/stack.js +1 -1
- package/esm/chart/util.js +1 -1
- package/esm/compile/morph.js +2 -1
- package/esm/compile/util.js +1 -2
- package/esm/constant/attribute.js +1 -2
- package/esm/constant/box-plot.js +2 -1
- package/esm/constant/hierarchy.js +1 -1
- package/esm/constant/label.js +1 -1
- package/esm/constant/layout.js +1 -1
- package/esm/constant/marker.js +1 -1
- package/esm/constant/polar.js +1 -1
- package/esm/constant/scatter.js +1 -1
- package/esm/constant/scroll-bar.js +1 -1
- package/esm/constant/sunburst.js +1 -1
- package/esm/constant/waterfall.js +1 -1
- package/esm/constant/word-cloud.js +1 -1
- package/esm/data/data-view-utils.js +2 -1
- package/esm/env/env.js +1 -1
- package/esm/env/index.js +1 -1
- package/esm/event/bubble.js +1 -1
- package/esm/event/event-dispatcher.js +1 -1
- package/esm/event/event.js +1 -1
- package/esm/event/index.js +1 -1
- package/esm/event/interface.js +1 -1
- package/esm/mark/box-plot.js +3 -1
- package/esm/mark/box-plot.js.map +1 -1
- package/esm/mark/cell.js +3 -1
- package/esm/mark/cell.js.map +1 -1
- package/esm/mark/glyph.js +3 -1
- package/esm/mark/glyph.js.map +1 -1
- package/esm/mark/image.js +3 -1
- package/esm/mark/image.js.map +1 -1
- package/esm/mark/link-path.js +1 -1
- package/esm/mark/link-path.js.map +1 -1
- package/esm/mark/liquid.js +1 -1
- package/esm/mark/liquid.js.map +1 -1
- package/esm/mark/path.js +3 -1
- package/esm/mark/path.js.map +1 -1
- package/esm/mark/polygon/polygon.js +3 -1
- package/esm/mark/polygon/polygon.js.map +1 -1
- package/esm/mark/ripple.js +1 -1
- package/esm/mark/ripple.js.map +1 -1
- package/esm/mark/rule.js +3 -1
- package/esm/mark/rule.js.map +1 -1
- package/esm/series/radar/animation.js +1 -1
- package/esm/series/radar/animation.js.map +1 -1
- package/package.json +10 -10
package/esm/event/interface.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { };
|
|
2
|
-
//# sourceMappingURL=interface.js.map
|
|
2
|
+
//# sourceMappingURL=interface.js.map
|
package/esm/mark/box-plot.js
CHANGED
|
@@ -6,7 +6,9 @@ import { GlyphMark, registerGlyphMark } from "./glyph";
|
|
|
6
6
|
|
|
7
7
|
import { isValidNumber } from "@visactor/vutils";
|
|
8
8
|
|
|
9
|
-
import { registerLine
|
|
9
|
+
import { registerLine } from "@visactor/vrender-kits/register/register-line";
|
|
10
|
+
|
|
11
|
+
import { registerRect } from "@visactor/vrender-kits/register/register-rect";
|
|
10
12
|
|
|
11
13
|
const BAR_BOX_PLOT_CHANNELS = [ "x", "y", "minMaxWidth", "minMaxHeight", "q1q3Width", "q1q3Height", "q1", "q3", "min", "max", "median", "angle" ], BOX_PLOT_CHANNELS = [ "x", "y", "boxWidth", "boxHeight", "ruleWidth", "ruleHeight", "q1", "q3", "min", "max", "median", "angle" ];
|
|
12
14
|
|
package/esm/mark/box-plot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { BoxPlotShaftShape, IBoxPlotMarkSpec } from '../typings/visual';\nimport type { IBoxPlotMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { createLine, createRect, type IGlyph, type ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport type { Datum } from '../typings/common';\nimport { isValidNumber } from '@visactor/vutils';\nimport { registerLine, registerRect } from '@visactor/vrender-kits';\n\nconst BAR_BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'minMaxWidth',\n 'minMaxHeight',\n 'q1q3Width',\n 'q1q3Height',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nconst BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'boxWidth',\n 'boxHeight',\n 'ruleWidth',\n 'ruleHeight',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nexport class BoxPlotMark\n extends GlyphMark<IBoxPlotMarkSpec, { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }>\n implements IBoxPlotMark\n{\n static readonly type = MarkTypeEnum.boxPlot;\n readonly type = BoxPlotMark.type;\n\n protected _isHorizontal() {\n return this._glyphConfig && this._glyphConfig.direction === 'horizontal';\n }\n\n setGlyphConfig(cfg: { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }): void {\n super.setGlyphConfig(cfg);\n\n if (cfg.shaftShape === 'bar') {\n this._subMarks = {\n minMaxBox: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n q1q3Box: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n median: {\n type: 'line',\n defaultAttributes: { x: 0, y: 0 }\n }\n };\n this._positionChannels = BAR_BOX_PLOT_CHANNELS;\n this._channelEncoder = {\n minMaxFillOpacity: (val: number) => ({ minMaxBox: { fillOpacity: val } }),\n lineWidth: (val: number) => ({ minMaxBox: { lineWidth: 0 }, q1q3Box: { lineWidth: 0 } }),\n stroke: (val: number) => ({ minMaxBox: { stroke: false }, q1q3Box: { stroke: false } })\n };\n\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n minMaxWidth = (g.attribute as any).minMaxWidth,\n minMaxHeight = (g.attribute as any).minMaxHeight,\n q1q3Width = (g.attribute as any).q1q3Width,\n q1q3Height = (g.attribute as any).q1q3Height,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.minMaxBox = {\n x: min,\n x1: max,\n y: y - minMaxHeight / 2,\n y1: y + minMaxHeight / 2\n };\n attributes.q1q3Box = {\n x: q1,\n x1: q3,\n y: y - q1q3Height / 2,\n y1: y + q1q3Height / 2\n };\n\n attributes.median = {\n points: [\n {\n x: median,\n y: y - q1q3Height / 2\n },\n {\n x: median,\n y: y + q1q3Height / 2\n }\n ]\n };\n } else {\n attributes.minMaxBox = {\n y: min,\n y1: max,\n x: x - minMaxWidth / 2,\n x1: x + minMaxWidth / 2\n };\n attributes.q1q3Box = {\n y: q1,\n y1: q3,\n x: x - q1q3Width / 2,\n x1: x + q1q3Width / 2\n };\n\n attributes.median = {\n points: [\n {\n y: median,\n x: x - q1q3Width / 2\n },\n {\n y: median,\n x: x + q1q3Width / 2\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n } else {\n this._subMarks = {\n shaft: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n box: { type: 'rect' },\n max: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n min: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n median: { type: 'line', defaultAttributes: { x: 0, y: 0 } }\n };\n this._positionChannels = BOX_PLOT_CHANNELS;\n this._channelEncoder = {\n boxStroke: (val: string) => ({ box: { stroke: val } }),\n medianStroke: (val: string) => ({ median: { stroke: val } }),\n boxCornerRadius: (val: number) => ({ box: { cornerRadius: val } })\n };\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n boxWidth = (g.attribute as any).boxWidth,\n boxHeight = (g.attribute as any).boxHeight,\n ruleWidth = (g.attribute as any).ruleWidth,\n ruleHeight = (g.attribute as any).ruleHeight,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.box = {\n x: q1,\n x1: q3,\n y: y - boxHeight / 2,\n y1: y + boxHeight / 2\n };\n attributes.median = {\n points: [\n {\n x: median,\n y: y - boxHeight / 2\n },\n {\n x: median,\n y: y + boxHeight / 2\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: min,\n y: y\n },\n {\n x: max,\n y: y\n }\n ]\n };\n attributes.max = {\n points: [\n {\n x: max,\n y: y - ruleHeight / 2\n },\n {\n x: max,\n y: y + ruleHeight / 2\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: min,\n y: y - ruleHeight / 2\n },\n {\n x: min,\n y: y + ruleHeight / 2\n }\n ]\n };\n } else {\n attributes.box = {\n x: x - boxWidth / 2,\n x1: x + boxWidth / 2,\n y: q1,\n y1: q3\n };\n attributes.median = {\n points: [\n {\n x: x - boxWidth / 2,\n y: median\n },\n {\n x: x + boxWidth / 2,\n y: median\n }\n ]\n };\n\n attributes.max = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: max\n },\n {\n x: x + ruleWidth / 2,\n y: max\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: min\n },\n {\n x: x + ruleWidth / 2,\n y: min\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: x,\n y: min\n },\n {\n x: x,\n y: max\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n }\n }\n\n setDataLabelType() {\n return 'symbol';\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IBoxPlotMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 2,\n boxWidth: 30,\n shaftWidth: 20,\n shaftShape: 'line'\n };\n return defaultStyle;\n }\n}\n\nexport const registerBoxPlotMark = () => {\n registerGlyphMark();\n registerLine();\n registerRect();\n Factory.registerGraphicComponent('line', (attrs: ILineGraphicAttribute) => createLine(attrs));\n Factory.registerGraphicComponent('rect', (attrs: ILineGraphicAttribute) => createRect(attrs));\n Factory.registerMark(BoxPlotMark.type, BoxPlotMark);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/mark/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { BoxPlotShaftShape, IBoxPlotMarkSpec } from '../typings/visual';\nimport type { IBoxPlotMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { createLine, createRect, type IGlyph, type ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport type { Datum } from '../typings/common';\nimport { isValidNumber } from '@visactor/vutils';\nimport { registerLine } from '@visactor/vrender-kits/register/register-line';\nimport { registerRect } from '@visactor/vrender-kits/register/register-rect';\n\nconst BAR_BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'minMaxWidth',\n 'minMaxHeight',\n 'q1q3Width',\n 'q1q3Height',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nconst BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'boxWidth',\n 'boxHeight',\n 'ruleWidth',\n 'ruleHeight',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nexport class BoxPlotMark\n extends GlyphMark<IBoxPlotMarkSpec, { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }>\n implements IBoxPlotMark\n{\n static readonly type = MarkTypeEnum.boxPlot;\n readonly type = BoxPlotMark.type;\n\n protected _isHorizontal() {\n return this._glyphConfig && this._glyphConfig.direction === 'horizontal';\n }\n\n setGlyphConfig(cfg: { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }): void {\n super.setGlyphConfig(cfg);\n\n if (cfg.shaftShape === 'bar') {\n this._subMarks = {\n minMaxBox: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n q1q3Box: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n median: {\n type: 'line',\n defaultAttributes: { x: 0, y: 0 }\n }\n };\n this._positionChannels = BAR_BOX_PLOT_CHANNELS;\n this._channelEncoder = {\n minMaxFillOpacity: (val: number) => ({ minMaxBox: { fillOpacity: val } }),\n lineWidth: (val: number) => ({ minMaxBox: { lineWidth: 0 }, q1q3Box: { lineWidth: 0 } }),\n stroke: (val: number) => ({ minMaxBox: { stroke: false }, q1q3Box: { stroke: false } })\n };\n\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n minMaxWidth = (g.attribute as any).minMaxWidth,\n minMaxHeight = (g.attribute as any).minMaxHeight,\n q1q3Width = (g.attribute as any).q1q3Width,\n q1q3Height = (g.attribute as any).q1q3Height,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.minMaxBox = {\n x: min,\n x1: max,\n y: y - minMaxHeight / 2,\n y1: y + minMaxHeight / 2\n };\n attributes.q1q3Box = {\n x: q1,\n x1: q3,\n y: y - q1q3Height / 2,\n y1: y + q1q3Height / 2\n };\n\n attributes.median = {\n points: [\n {\n x: median,\n y: y - q1q3Height / 2\n },\n {\n x: median,\n y: y + q1q3Height / 2\n }\n ]\n };\n } else {\n attributes.minMaxBox = {\n y: min,\n y1: max,\n x: x - minMaxWidth / 2,\n x1: x + minMaxWidth / 2\n };\n attributes.q1q3Box = {\n y: q1,\n y1: q3,\n x: x - q1q3Width / 2,\n x1: x + q1q3Width / 2\n };\n\n attributes.median = {\n points: [\n {\n y: median,\n x: x - q1q3Width / 2\n },\n {\n y: median,\n x: x + q1q3Width / 2\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n } else {\n this._subMarks = {\n shaft: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n box: { type: 'rect' },\n max: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n min: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n median: { type: 'line', defaultAttributes: { x: 0, y: 0 } }\n };\n this._positionChannels = BOX_PLOT_CHANNELS;\n this._channelEncoder = {\n boxStroke: (val: string) => ({ box: { stroke: val } }),\n medianStroke: (val: string) => ({ median: { stroke: val } }),\n boxCornerRadius: (val: number) => ({ box: { cornerRadius: val } })\n };\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n boxWidth = (g.attribute as any).boxWidth,\n boxHeight = (g.attribute as any).boxHeight,\n ruleWidth = (g.attribute as any).ruleWidth,\n ruleHeight = (g.attribute as any).ruleHeight,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.box = {\n x: q1,\n x1: q3,\n y: y - boxHeight / 2,\n y1: y + boxHeight / 2\n };\n attributes.median = {\n points: [\n {\n x: median,\n y: y - boxHeight / 2\n },\n {\n x: median,\n y: y + boxHeight / 2\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: min,\n y: y\n },\n {\n x: max,\n y: y\n }\n ]\n };\n attributes.max = {\n points: [\n {\n x: max,\n y: y - ruleHeight / 2\n },\n {\n x: max,\n y: y + ruleHeight / 2\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: min,\n y: y - ruleHeight / 2\n },\n {\n x: min,\n y: y + ruleHeight / 2\n }\n ]\n };\n } else {\n attributes.box = {\n x: x - boxWidth / 2,\n x1: x + boxWidth / 2,\n y: q1,\n y1: q3\n };\n attributes.median = {\n points: [\n {\n x: x - boxWidth / 2,\n y: median\n },\n {\n x: x + boxWidth / 2,\n y: median\n }\n ]\n };\n\n attributes.max = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: max\n },\n {\n x: x + ruleWidth / 2,\n y: max\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: min\n },\n {\n x: x + ruleWidth / 2,\n y: min\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: x,\n y: min\n },\n {\n x: x,\n y: max\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n }\n }\n\n setDataLabelType() {\n return 'symbol';\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IBoxPlotMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 2,\n boxWidth: 30,\n shaftWidth: 20,\n shaftShape: 'line'\n };\n return defaultStyle;\n }\n}\n\nexport const registerBoxPlotMark = () => {\n registerGlyphMark();\n registerLine();\n registerRect();\n Factory.registerGraphicComponent('line', (attrs: ILineGraphicAttribute) => createLine(attrs));\n Factory.registerGraphicComponent('rect', (attrs: ILineGraphicAttribute) => createRect(attrs));\n Factory.registerMark(BoxPlotMark.type, BoxPlotMark);\n};\n"]}
|
package/esm/mark/cell.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Factory } from "./../core/factory";
|
|
2
2
|
|
|
3
|
-
import { registerShadowRoot
|
|
3
|
+
import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
|
|
4
|
+
|
|
5
|
+
import { registerSymbol } from "@visactor/vrender-kits/register/register-symbol";
|
|
4
6
|
|
|
5
7
|
import { registerSymbolDataLabel } from "@visactor/vrender-components";
|
|
6
8
|
|
package/esm/mark/cell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/mark/cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,OAAO,QAAS,SAAQ,QAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IA4BhC,CAAC;IA1BW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,CAAC,GACX,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,cAAc,CAAC,QAAa,EAAE;QACtC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAES,2BAA2B,CAAC,CAAe,EAAE,KAAU,EAAE,UAAgB;;QACjF,MAAM,WAAW,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,UAAU,GACd,MAAA,MAAA,WAAW,CAAC,KAAK,mCAAI,WAAW,CAAC,UAAU,mCAAI,MAAC,CAAC,CAAC,SAAqC,0CAAE,UAAU,CAAC;QAEtG,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;YACrB,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC;SACjC;aAAM;YACL,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;SACrC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;;AA5Be,aAAI,UAAqB;AA+B3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE9C,OAAO,CAAC,wBAAwB,WAAsB,YAAY,CAAC,CAAC;IAEpE,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,uBAAuB,EAAE,CAAC;AAC5B,CAAC,CAAC","file":"cell.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ICellMarkSpec } from '../typings';\nimport type { ICellMark, IMarkGraphic, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerSymbol } from '@visactor/vrender-kits/register/register-symbol';\nimport { registerSymbolDataLabel } from '@visactor/vrender-components';\nimport type { IGraphic, ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport { createSymbol } from '@visactor/vrender-core';\nimport { isNil } from '@visactor/vutils';\nimport { BaseMark } from './base';\n\nexport class CellMark extends BaseMark<ICellMarkSpec> implements ICellMark {\n static readonly type = MarkTypeEnum.cell;\n readonly type = CellMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ICellMarkSpec> = {\n ...super._getDefaultStyle(),\n fill: undefined,\n lineWidth: 0,\n padding: 0\n };\n return defaultStyle;\n }\n\n protected _createGraphic(attrs: any = {}): IGraphic {\n return createSymbol(attrs);\n }\n\n protected _transformGraphicAttributes(g: IMarkGraphic, attrs: any, groupAttrs?: any) {\n const symbolAttrs = super._transformGraphicAttributes(g, attrs, groupAttrs);\n const symbolType =\n symbolAttrs.shape ?? symbolAttrs.symbolType ?? (g.attribute as ISymbolGraphicAttribute)?.symbolType;\n\n if (isNil(symbolType)) {\n symbolAttrs.symbolType = 'rect';\n } else {\n symbolAttrs.symbolType = symbolType;\n }\n return symbolAttrs;\n }\n}\n\nexport const registerCellMark = () => {\n Factory.registerMark(CellMark.type, CellMark);\n\n Factory.registerGraphicComponent(MarkTypeEnum.symbol, createSymbol);\n\n registerShadowRoot();\n registerSymbol();\n registerSymbolDataLabel();\n};\n"]}
|
package/esm/mark/glyph.js
CHANGED
|
@@ -4,7 +4,9 @@ import { createGlyph } from "@visactor/vrender-core";
|
|
|
4
4
|
|
|
5
5
|
import { Factory } from "../core/factory";
|
|
6
6
|
|
|
7
|
-
import { registerGlyph
|
|
7
|
+
import { registerGlyph } from "@visactor/vrender-kits/register/register-glyph";
|
|
8
|
+
|
|
9
|
+
import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
|
|
8
10
|
|
|
9
11
|
import { DiffState } from "./interface/enum";
|
|
10
12
|
|
package/esm/mark/glyph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/glyph.ts"],"names":[],"mappings":"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","file":"glyph.js","sourcesContent":["import type { ICommonSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IGlyph, IGlyphGraphicAttribute, IGraphic } from '@visactor/vrender-core';\nimport { createGlyph } from '@visactor/vrender-core';\nimport type { IGlyphMark } from './interface/mark';\nimport type { MarkType } from './interface/type';\nimport { Factory } from '../core/factory';\nimport type { Datum } from '../typings/common';\nimport { registerGlyph, registerShadowRoot } from '@visactor/vrender-kits';\nimport type { IMarkGraphic } from './interface/common';\nimport { DiffState } from './interface/enum';\nimport { merge } from '@visactor/vutils';\n\nconst GLYPH_INHERITED_STYLE_ATTRIBUTES = new Set([\n 'fill',\n 'fillOpacity',\n 'stroke',\n 'strokeOpacity',\n 'opacity',\n 'lineWidth',\n 'lineDash',\n 'lineDashOffset',\n 'lineCap',\n 'lineJoin',\n 'miterLimit',\n 'shadowBlur',\n 'shadowColor',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'visible',\n 'pickable',\n 'cursor'\n]);\nconst GLYPH_STATE_ATTRIBUTE_UPDATE_TYPE = 2;\n\nexport abstract class GlyphMark<T extends ICommonSpec = ICommonSpec, Cfg = any>\n extends BaseMark<T>\n implements IGlyphMark<T, Cfg>\n{\n protected _defaultGlyphAttrs: T;\n\n protected _subMarks: Record<\n string,\n {\n type: MarkType;\n defaultAttributes?: any;\n }\n >;\n\n getSubMarks() {\n return this._subMarks;\n }\n\n protected _glyphConfig: Cfg;\n\n setGlyphConfig(cfg: Cfg) {\n this._glyphConfig = cfg;\n }\n\n getGlyphConfig() {\n return this._glyphConfig;\n }\n\n protected _positionChannels: string[];\n\n getPositionChannels() {\n return this._positionChannels;\n }\n\n protected _positionEncoder: (glyphAttrs: any, datum: Datum, g: IGlyph) => Record<string, any>;\n\n protected _channelEncoder: Record<string, (channelValue: any) => Record<string, any>>;\n\n private _getInheritedStyleAttrs(attributes: any) {\n let inheritedStyleAttrs: any = null;\n\n Object.keys(attributes).forEach(channel => {\n if (GLYPH_INHERITED_STYLE_ATTRIBUTES.has(channel)) {\n inheritedStyleAttrs = inheritedStyleAttrs ?? {};\n inheritedStyleAttrs[channel] = attributes[channel];\n }\n });\n\n return inheritedStyleAttrs;\n }\n\n private _getInheritedStyleAttrsMap(glyph: IGlyph, attributes: any) {\n const inheritedStyleAttrs = this._getInheritedStyleAttrs(attributes);\n\n if (!inheritedStyleAttrs) {\n return null;\n }\n\n return glyph.getSubGraphic().reduce((map, subGraphic) => {\n if (subGraphic) {\n map[subGraphic.name] = { ...inheritedStyleAttrs };\n }\n return map;\n }, {} as Record<string, any>);\n }\n\n private _syncInheritedStyleAttrs(glyph: IGlyph, attributes: any) {\n const inheritedStyleAttrs = this._getInheritedStyleAttrs(attributes);\n\n if (!inheritedStyleAttrs) {\n return;\n }\n\n glyph.getSubGraphic().forEach(subGraphic => {\n subGraphic?.setAttributes({ ...inheritedStyleAttrs });\n });\n }\n\n private _onGlyphAttributeUpdate(glyph: IGlyph) {\n return (newAttributes: any) => {\n const positionChannels = this.getPositionChannels();\n let subAttrsMap =\n positionChannels && this._positionEncoder && Object.keys(newAttributes).some(k => positionChannels.includes(k))\n ? this._positionEncoder(newAttributes, glyph?.context?.data?.[0], glyph)\n : null;\n\n if (this._channelEncoder) {\n Object.keys(this._channelEncoder).forEach(channel => {\n if (channel in newAttributes) {\n const channelAttrsMap = this._channelEncoder[channel](newAttributes[channel]);\n\n subAttrsMap = subAttrsMap ? merge(subAttrsMap, channelAttrsMap) : channelAttrsMap;\n }\n });\n }\n\n const inheritedStyleAttrsMap = this._getInheritedStyleAttrsMap(glyph, newAttributes);\n if (inheritedStyleAttrsMap) {\n subAttrsMap = subAttrsMap ? merge(inheritedStyleAttrsMap, subAttrsMap) : inheritedStyleAttrsMap;\n }\n\n if (subAttrsMap) {\n glyph.getSubGraphic().forEach(subGraphic => {\n if (subGraphic && subAttrsMap[subGraphic.name]) {\n subGraphic.setAttributes(subAttrsMap[subGraphic.name]);\n }\n });\n }\n\n return newAttributes;\n };\n }\n\n protected _setStateOfGraphic = (g: IMarkGraphic) => {\n g.clearStates();\n\n if (g.context.diffState === DiffState.enter || g.context.diffState === DiffState.update) {\n g.glyphStateProxy = (stateName: string, nexStates: string[]) => {\n const glyphAttrs = {\n attributes: {\n ...this._runEncoderOfGraphic(this._encoderOfState?.[stateName], g),\n ...(g.runtimeStateCache ? g.runtimeStateCache[stateName] : null)\n }\n };\n\n // 更新缓存\n if (!g.glyphStates) {\n g.glyphStates = { [stateName]: glyphAttrs };\n } else if (!g.glyphStates[stateName]) {\n g.glyphStates[stateName] = glyphAttrs;\n }\n\n return glyphAttrs;\n };\n\n g.useStates(g.context.states);\n }\n };\n\n protected _createGraphic(attrs: IGlyphGraphicAttribute = {}): IGraphic {\n const glyph = createGlyph(attrs);\n glyph.onBeforeAttributeUpdate = this._onGlyphAttributeUpdate(glyph);\n glyph.addEventListener('afterAttributeUpdate', (event: any) => {\n if (event?.detail?.type === GLYPH_STATE_ATTRIBUTE_UPDATE_TYPE) {\n this._syncInheritedStyleAttrs(glyph, glyph.attribute);\n }\n });\n const subMarks = this._subMarks;\n\n if (subMarks) {\n const subGraphics: IGraphic[] = [];\n\n Object.keys(subMarks).forEach(name => {\n // glyph 中的子元素会继承glyph 的 x,y,所以子元素手动设置一下,x: 0, y: 0\n const subGraphic = Factory.createGraphicComponent(subMarks[name].type, {\n ...subMarks[name].defaultAttributes\n });\n\n if (subGraphic) {\n subGraphics.push(subGraphic);\n\n subGraphic.name = name;\n subGraphic.onBeforeAttributeUpdate = (attrs: any) => {\n return attrs;\n };\n }\n });\n\n glyph.setSubGraphic(subGraphics);\n }\n\n (glyph as any).onBeforeAttributeUpdate(attrs);\n\n return glyph;\n }\n\n protected _runProgressiveEncoder(graphics: IMarkGraphic[]) {\n this._runEncoder(graphics);\n }\n}\n\nexport const registerGlyphMark = () => {\n Factory.registerGraphicComponent('glyph', createGlyph);\n registerShadowRoot();\n registerGlyph();\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/mark/glyph.ts"],"names":[],"mappings":"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","file":"glyph.js","sourcesContent":["import type { ICommonSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IGlyph, IGlyphGraphicAttribute, IGraphic } from '@visactor/vrender-core';\nimport { createGlyph } from '@visactor/vrender-core';\nimport type { IGlyphMark } from './interface/mark';\nimport type { MarkType } from './interface/type';\nimport { Factory } from '../core/factory';\nimport type { Datum } from '../typings/common';\nimport { registerGlyph } from '@visactor/vrender-kits/register/register-glyph';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport type { IMarkGraphic } from './interface/common';\nimport { DiffState } from './interface/enum';\nimport { merge } from '@visactor/vutils';\n\nconst GLYPH_INHERITED_STYLE_ATTRIBUTES = new Set([\n 'fill',\n 'fillOpacity',\n 'stroke',\n 'strokeOpacity',\n 'opacity',\n 'lineWidth',\n 'lineDash',\n 'lineDashOffset',\n 'lineCap',\n 'lineJoin',\n 'miterLimit',\n 'shadowBlur',\n 'shadowColor',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'visible',\n 'pickable',\n 'cursor'\n]);\nconst GLYPH_STATE_ATTRIBUTE_UPDATE_TYPE = 2;\n\nexport abstract class GlyphMark<T extends ICommonSpec = ICommonSpec, Cfg = any>\n extends BaseMark<T>\n implements IGlyphMark<T, Cfg>\n{\n protected _defaultGlyphAttrs: T;\n\n protected _subMarks: Record<\n string,\n {\n type: MarkType;\n defaultAttributes?: any;\n }\n >;\n\n getSubMarks() {\n return this._subMarks;\n }\n\n protected _glyphConfig: Cfg;\n\n setGlyphConfig(cfg: Cfg) {\n this._glyphConfig = cfg;\n }\n\n getGlyphConfig() {\n return this._glyphConfig;\n }\n\n protected _positionChannels: string[];\n\n getPositionChannels() {\n return this._positionChannels;\n }\n\n protected _positionEncoder: (glyphAttrs: any, datum: Datum, g: IGlyph) => Record<string, any>;\n\n protected _channelEncoder: Record<string, (channelValue: any) => Record<string, any>>;\n\n private _getInheritedStyleAttrs(attributes: any) {\n let inheritedStyleAttrs: any = null;\n\n Object.keys(attributes).forEach(channel => {\n if (GLYPH_INHERITED_STYLE_ATTRIBUTES.has(channel)) {\n inheritedStyleAttrs = inheritedStyleAttrs ?? {};\n inheritedStyleAttrs[channel] = attributes[channel];\n }\n });\n\n return inheritedStyleAttrs;\n }\n\n private _getInheritedStyleAttrsMap(glyph: IGlyph, attributes: any) {\n const inheritedStyleAttrs = this._getInheritedStyleAttrs(attributes);\n\n if (!inheritedStyleAttrs) {\n return null;\n }\n\n return glyph.getSubGraphic().reduce((map, subGraphic) => {\n if (subGraphic) {\n map[subGraphic.name] = { ...inheritedStyleAttrs };\n }\n return map;\n }, {} as Record<string, any>);\n }\n\n private _syncInheritedStyleAttrs(glyph: IGlyph, attributes: any) {\n const inheritedStyleAttrs = this._getInheritedStyleAttrs(attributes);\n\n if (!inheritedStyleAttrs) {\n return;\n }\n\n glyph.getSubGraphic().forEach(subGraphic => {\n subGraphic?.setAttributes({ ...inheritedStyleAttrs });\n });\n }\n\n private _onGlyphAttributeUpdate(glyph: IGlyph) {\n return (newAttributes: any) => {\n const positionChannels = this.getPositionChannels();\n let subAttrsMap =\n positionChannels && this._positionEncoder && Object.keys(newAttributes).some(k => positionChannels.includes(k))\n ? this._positionEncoder(newAttributes, glyph?.context?.data?.[0], glyph)\n : null;\n\n if (this._channelEncoder) {\n Object.keys(this._channelEncoder).forEach(channel => {\n if (channel in newAttributes) {\n const channelAttrsMap = this._channelEncoder[channel](newAttributes[channel]);\n\n subAttrsMap = subAttrsMap ? merge(subAttrsMap, channelAttrsMap) : channelAttrsMap;\n }\n });\n }\n\n const inheritedStyleAttrsMap = this._getInheritedStyleAttrsMap(glyph, newAttributes);\n if (inheritedStyleAttrsMap) {\n subAttrsMap = subAttrsMap ? merge(inheritedStyleAttrsMap, subAttrsMap) : inheritedStyleAttrsMap;\n }\n\n if (subAttrsMap) {\n glyph.getSubGraphic().forEach(subGraphic => {\n if (subGraphic && subAttrsMap[subGraphic.name]) {\n subGraphic.setAttributes(subAttrsMap[subGraphic.name]);\n }\n });\n }\n\n return newAttributes;\n };\n }\n\n protected _setStateOfGraphic = (g: IMarkGraphic) => {\n g.clearStates();\n\n if (g.context.diffState === DiffState.enter || g.context.diffState === DiffState.update) {\n g.glyphStateProxy = (stateName: string, nexStates: string[]) => {\n const glyphAttrs = {\n attributes: {\n ...this._runEncoderOfGraphic(this._encoderOfState?.[stateName], g),\n ...(g.runtimeStateCache ? g.runtimeStateCache[stateName] : null)\n }\n };\n\n // 更新缓存\n if (!g.glyphStates) {\n g.glyphStates = { [stateName]: glyphAttrs };\n } else if (!g.glyphStates[stateName]) {\n g.glyphStates[stateName] = glyphAttrs;\n }\n\n return glyphAttrs;\n };\n\n g.useStates(g.context.states);\n }\n };\n\n protected _createGraphic(attrs: IGlyphGraphicAttribute = {}): IGraphic {\n const glyph = createGlyph(attrs);\n glyph.onBeforeAttributeUpdate = this._onGlyphAttributeUpdate(glyph);\n glyph.addEventListener('afterAttributeUpdate', (event: any) => {\n if (event?.detail?.type === GLYPH_STATE_ATTRIBUTE_UPDATE_TYPE) {\n this._syncInheritedStyleAttrs(glyph, glyph.attribute);\n }\n });\n const subMarks = this._subMarks;\n\n if (subMarks) {\n const subGraphics: IGraphic[] = [];\n\n Object.keys(subMarks).forEach(name => {\n // glyph 中的子元素会继承glyph 的 x,y,所以子元素手动设置一下,x: 0, y: 0\n const subGraphic = Factory.createGraphicComponent(subMarks[name].type, {\n ...subMarks[name].defaultAttributes\n });\n\n if (subGraphic) {\n subGraphics.push(subGraphic);\n\n subGraphic.name = name;\n subGraphic.onBeforeAttributeUpdate = (attrs: any) => {\n return attrs;\n };\n }\n });\n\n glyph.setSubGraphic(subGraphics);\n }\n\n (glyph as any).onBeforeAttributeUpdate(attrs);\n\n return glyph;\n }\n\n protected _runProgressiveEncoder(graphics: IMarkGraphic[]) {\n this._runEncoder(graphics);\n }\n}\n\nexport const registerGlyphMark = () => {\n Factory.registerGraphicComponent('glyph', createGlyph);\n registerShadowRoot();\n registerGlyph();\n};\n"]}
|
package/esm/mark/image.js
CHANGED
|
@@ -2,7 +2,9 @@ import { Factory } from "./../core/factory";
|
|
|
2
2
|
|
|
3
3
|
import { BaseMark } from "./base/base-mark";
|
|
4
4
|
|
|
5
|
-
import { registerImage
|
|
5
|
+
import { registerImage } from "@visactor/vrender-kits/register/register-image";
|
|
6
|
+
|
|
7
|
+
import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
|
|
6
8
|
|
|
7
9
|
import { createImage } from "@visactor/vrender-core";
|
|
8
10
|
|
package/esm/mark/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/mark/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,OAAO,SAAU,SAAQ,QAAwB;IAAvD;;QAEW,SAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAWjC,CAAC;IATW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AAXe,cAAI,WAAsB;AAc5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,SAAuC,CAAC,CAAC;IAC9E,kBAAkB,EAAE,CAAC;IACrB,aAAa,EAAE,CAAC;IAEhB,OAAO,CAAC,wBAAwB,UAAqB,WAAW,CAAC,CAAC;AACpE,CAAC,CAAC","file":"image.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IImageMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IImageMark, IMarkStyle, MarkConstructor } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerImage } from '@visactor/vrender-kits/register/register-image';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { createImage } from '@visactor/vrender-core';\n\nexport class ImageMark extends BaseMark<IImageMarkSpec> implements IImageMark {\n static readonly type = MarkTypeEnum.image;\n readonly type = ImageMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IImageMarkSpec> = {\n ...super._getDefaultStyle(),\n width: undefined,\n height: undefined,\n lineWidth: 0\n };\n return defaultStyle;\n }\n}\n\nexport const registerImageMark = () => {\n Factory.registerMark(ImageMark.type, ImageMark as unknown as MarkConstructor);\n registerShadowRoot();\n registerImage();\n\n Factory.registerGraphicComponent(MarkTypeEnum.image, createImage);\n};\n"]}
|
package/esm/mark/link-path.js
CHANGED
|
@@ -4,7 +4,7 @@ import { GlyphMark, registerGlyphMark } from "./glyph";
|
|
|
4
4
|
|
|
5
5
|
import { createPath } from "@visactor/vrender-core";
|
|
6
6
|
|
|
7
|
-
import { registerPath } from "@visactor/vrender-kits";
|
|
7
|
+
import { registerPath } from "@visactor/vrender-kits/register/register-path";
|
|
8
8
|
|
|
9
9
|
export const getHorizontalPath = (options, ratio) => {
|
|
10
10
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/link-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAA0B,EAAE,KAAc,EAAE,EAAE;;IAC9E,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,GAAG,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAE5F,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACpB,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACpB,IAAI,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;IACrB,IAAI,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;IACrB,IAAI,IAAI,GAAG,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,IAAI,IAAI,GAAG,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,IAAI,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAEjC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;QAC3B,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;KACxB;IACD,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,MAAM;QACzB,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE;QAC9B,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,UAAU;YACjC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE;YAC5D,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;IAEjE,IAAI,CAAC,YAAY,EAAE;QAEjB,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC9B,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;QAC5C,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;KAC7C;SAAM,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;QAClC,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAChE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;KACjE;SAAM;QACL,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpD,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;KACrD;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,IAAI,SAAS;QAC3B,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,SAAS,CAChF,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAChB,IAAI,EAAE,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,EAAE;QAC7C,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,cAAc,GAClB,OAAO,CAAC,UAAU,IAAI,SAAS;QAC7B,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,SAAS,CAChF,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAChB,IAAI,EAAE,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,EAAE;QAC7C,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE;QAC/B,OAAO,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,YAAY,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,cAAc,GAAG,CAAC;KAChG;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE;QAC1C,OAAO,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG;MAC7D,YAAY,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,cAAc,GAAG,CAAC;KAC5F;IAED,OAAO,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG;IAC7D,YAAY,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,cAAc,GAAG,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAA0B,EAAE,KAAc,EAAE,EAAE;;IAC5E,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,GAAG,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5F,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACpB,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACpB,IAAI,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;IACrB,IAAI,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;IACrB,IAAI,IAAI,GAAG,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,IAAI,IAAI,GAAG,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,IAAI,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAEjC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;QAC3B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACzB;IACD,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,KAAK,MAAM;QACzB,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE;QAC9B,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,UAAU;YACjC,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE;YAC5D,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;IACjE,IAAI,CAAC,YAAY,EAAE;QAEjB,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC9B,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;QAC5C,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;KAC7C;SAAM,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;QAClC,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAChE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;KACjE;SAAM;QACL,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpD,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;KACrD;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,IAAI,SAAS;QAC3B,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CACjF,EAAE,GAAG,SAAS,CACf,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,cAAc,GAClB,OAAO,CAAC,UAAU,IAAI,SAAS;QAC7B,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CACjF,EAAE,GAAG,SAAS,CACf,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE;QAC/B,OAAO,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,YAAY,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,cAAc,GAAG,CAAC;KAChG;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE;QAC1C,OAAO,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE;MAC7D,YAAY,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,cAAc,GAAG,CAAC;KAC5F;IAED,OAAO,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE;IAC7D,YAAY,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,cAAc,GAAG,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,OAAO,YAAa,SAAQ,SAA6C;IAA/E;;QAEW,SAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAiBxB,cAAS,GAAG;YACpB,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,iBAAiB,EAAE;oBACjB,MAAM,EAAE,CAAC;iBACV;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,iBAAiB,EAAE;oBACjB,MAAM,EAAE,CAAC;iBACV;aACF;SACF,CAAC;QAEQ,sBAAiB,GAAa;YACtC,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,WAAW;YACX,OAAO;YACP,WAAW;YACX,OAAO;YACP,UAAU;YACV,OAAO;YACP,UAAU;YACV,YAAY;YACZ,OAAO;SACR,CAAC;QAEQ,oBAAe,GAAG;YAC1B,eAAe,EAAE,CAAC,GAAQ,EAAE,EAAE;gBAC5B,OAAO;oBACL,IAAI,EAAE,GAAG;iBACV,CAAC;YACJ,CAAC;SACF,CAAC;QAEQ,qBAAgB,GAAG,CAAC,UAAe,EAAE,KAAY,EAAE,CAAS,EAAE,EAAE;;YACxE,MAAM,QAAQ,mCACT,CAAC,CAAC,SAAS,GACX,UAAU,CACd,CAAC;YAEF,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,mCAAI,MAAA,IAAI,CAAC,YAAY,0CAAE,SAAS,CAAC;YACrE,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACrG,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;YAErG,OAAO;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;iBAChD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5D;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAzEW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,GAAG,EACP,EAAE,EAAE,GAAG,EACP,SAAS,EAAE,CAAC,EACZ,KAAK,EAAE,IAAI,GACZ,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AAhBe,iBAAI,cAAyB;AA8E/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,iBAAiB,EAAE,CAAC;IACpB,YAAY,EAAE,CAAC;IACf,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,KAA4B,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9F,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,YAAmB,CAAC,CAAC;AAC/D,CAAC,CAAC","file":"link-path.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ILinkPathMarkSpec } from '../typings/visual';\nimport type { ILinkPathConfig, ILinkPathMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport type { IGlyph, IPathGraphicAttribute } from '@visactor/vrender-core';\nimport { createPath } from '@visactor/vrender-core';\nimport { registerPath } from '@visactor/vrender-kits';\nimport type { Datum } from '../typings/common';\n\nexport const getHorizontalPath = (options: ILinkPathMarkSpec, ratio?: number) => {\n const curvature = options.curvature ?? 0.5;\n const hasThickness = true;\n const thickness = typeof ratio === 'number' ? options.thickness * ratio : options.thickness;\n\n let x0 = options.x0;\n let x1 = options.x1;\n let y00 = options.y0;\n let y10 = options.y1;\n let cpx0 = x0 + curvature * (x1 - x0);\n let cpx1 = x1 + curvature * (x0 - x1);\n let formatter = (v: number) => v;\n\n if (options.round !== false) {\n x0 = Math.round(x0);\n x1 = Math.round(x1);\n y00 = Math.round(y00);\n y10 = Math.round(y10);\n cpx0 = Math.round(cpx0);\n cpx1 = Math.round(cpx1);\n formatter = Math.round;\n }\n const topPath =\n options.pathType === 'line'\n ? `M${x0},${y00}L${x1},${y10}`\n : options.pathType === 'polyline'\n ? `M${x0},${y00}L${cpx0},${y00}L${cpx0},${y10}L${x1},${y10}`\n : `M${x0},${y00}C${cpx0},${y00},${cpx1},${y10},${x1},${y10}`;\n\n if (!hasThickness) {\n // simplified to a single path\n return topPath;\n }\n\n if (options.align === 'center') {\n y00 = formatter(options.y0 - thickness / 2);\n y10 = formatter(options.y1 - thickness / 2);\n } else if (options.align === 'end') {\n y00 = formatter(options.y0 + options.thickness / 2 - thickness);\n y10 = formatter(options.y1 + options.thickness / 2 - thickness);\n } else {\n y00 = formatter(options.y0 - options.thickness / 2);\n y10 = formatter(options.y1 - options.thickness / 2);\n }\n\n const y01 = formatter(y00 + thickness);\n const y11 = formatter(y10 + thickness);\n\n const hasLength = Math.abs(x1 - x0) > 1e-6;\n const endArrowPath =\n options.endArrow && hasLength\n ? `L${x1},${formatter(y10 - thickness / 2)}L${formatter(x1 + thickness)},${formatter(\n (y10 + y11) / 2\n )}L${x1},${formatter(y11 + thickness / 2)}`\n : '';\n const startArrowPath =\n options.startArrow && hasLength\n ? `L${x0},${formatter(y01 + thickness / 2)}L${formatter(x0 - thickness)},${formatter(\n (y00 + y01) / 2\n )}L${x0},${formatter(y00 - thickness / 2)}`\n : '';\n\n if (options.pathType === 'line') {\n return `M${x0},${y00}L${x1},${y10}${endArrowPath}L${x1},${y11}L${x0},${y01}${startArrowPath}Z`;\n } else if (options.pathType === 'polyline') {\n return `M${x0},${y00}L${cpx0},${y00}L${cpx0},${y10}L${x1},${y10}\n ${endArrowPath}L${x1},${y11}L${cpx0},${y11}L${cpx0},${y01}L${x0},${y01}${startArrowPath}Z`;\n }\n\n return `M${x0},${y00}C${cpx0},${y00},${cpx1},${y10},${x1},${y10}\n ${endArrowPath}L${x1},${y11}C${cpx1},${y11},${cpx0},${y01},${x0},${y01}${startArrowPath}Z`;\n};\n\nexport const getVerticalPath = (options: ILinkPathMarkSpec, ratio?: number) => {\n const curvature = options.curvature ?? 0.5;\n const hasThickness = true;\n const thickness = typeof ratio === 'number' ? options.thickness * ratio : options.thickness;\n let y0 = options.y0;\n let y1 = options.y1;\n let x00 = options.x0;\n let x10 = options.x1;\n let cpy0 = y0 + curvature * (y1 - y0);\n let cpy1 = y1 + curvature * (y0 - y1);\n let formatter = (v: number) => v;\n\n if (options.round !== false) {\n formatter = Math.round;\n y0 = Math.round(y0);\n y1 = Math.round(y1);\n x00 = Math.round(x00);\n x10 = Math.round(x10);\n cpy0 = Math.round(cpy0);\n cpy1 = Math.round(cpy1);\n }\n const leftpath =\n options.pathType === 'line'\n ? `M${x00},${y0}L${x10},${y1}`\n : options.pathType === 'polyline'\n ? `M${x00},${y0}L${x00},${cpy0}L${x10},${cpy0}L${x10},${y1}`\n : `M${x00},${y0}C${x00},${cpy0},${x10},${cpy1},${x10},${y1}`;\n if (!hasThickness) {\n // simplified to a single path\n return leftpath;\n }\n\n if (options.align === 'center') {\n x00 = formatter(options.x0 - thickness / 2);\n x10 = formatter(options.x1 - thickness / 2);\n } else if (options.align === 'end') {\n x00 = formatter(options.x0 + options.thickness / 2 - thickness);\n x10 = formatter(options.x1 + options.thickness / 2 - thickness);\n } else {\n x00 = formatter(options.x0 - options.thickness / 2);\n x10 = formatter(options.x1 - options.thickness / 2);\n }\n\n const x01 = formatter(x00 + thickness);\n const x11 = formatter(x10 + thickness);\n\n const hasLength = Math.abs(y1 - y0) > 1e-6;\n const endArrowPath =\n options.endArrow && hasLength\n ? `L${formatter(x10 - thickness / 2)},${y1}L${formatter((x10 + x11) / 2)},${formatter(\n y1 + thickness\n )}L${formatter(x11 + thickness / 2)},${y1}`\n : '';\n const startArrowPath =\n options.startArrow && hasLength\n ? `L${formatter(x01 + thickness / 2)},${y0}L${formatter((x01 + x00) / 2)},${formatter(\n y0 - thickness\n )}L${formatter(x00 - thickness / 2)},${y0}`\n : '';\n\n if (options.pathType === 'line') {\n return `M${x00},${y0}L${x10},${y1}${endArrowPath}L${x11},${y1}L${x01},${y0}${startArrowPath}Z`;\n } else if (options.pathType === 'polyline') {\n return `M${x00},${y0}L${x00},${cpy0}L${x10},${cpy0}L${x10},${y1}\n ${endArrowPath}L${x11},${y1}L${x11},${cpy0}L${x01},${cpy0}L${x01},${y0}${startArrowPath}Z`;\n }\n\n return `M${x00},${y0}C${x00},${cpy0},${x10},${cpy1},${x10},${y1}\n ${endArrowPath}L${x11},${y1}C${x11},${cpy1},${x01},${cpy0},${x01},${y0}${startArrowPath}Z`;\n};\n\nexport class LinkPathMark extends GlyphMark<ILinkPathMarkSpec, ILinkPathConfig> implements ILinkPathMark {\n static readonly type = MarkTypeEnum.linkPath;\n readonly type = LinkPathMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ILinkPathMarkSpec> = {\n ...super._getDefaultStyle(),\n x: 0,\n y: 0,\n x0: 0,\n y0: 0,\n x1: 100,\n y1: 100,\n thickness: 1,\n round: true\n };\n return defaultStyle;\n }\n\n protected _subMarks = {\n back: {\n type: 'path',\n defaultAttributes: {\n zIndex: 0\n }\n },\n front: {\n type: 'path',\n defaultAttributes: {\n zIndex: 1\n }\n }\n };\n\n protected _positionChannels: string[] = [\n 'x0',\n 'y0',\n 'x1',\n 'y1',\n 'thickness',\n 'round',\n 'curvature',\n 'ratio',\n 'pathType',\n 'align',\n 'endArrow',\n 'startArrow',\n 'ratio'\n ];\n\n protected _channelEncoder = {\n backgroundStyle: (val: any) => {\n return {\n back: val\n };\n }\n };\n\n protected _positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const newAttrs = {\n ...g.attribute,\n ...glyphAttrs\n };\n\n const direction = newAttrs.direction ?? this._glyphConfig?.direction;\n const parsePath = ['vertical', 'TB', 'BT'].includes(direction) ? getVerticalPath : getHorizontalPath;\n const isRatioShow = typeof newAttrs.ratio === 'number' && newAttrs.ratio >= 0 && newAttrs.ratio <= 1;\n\n return {\n back: {\n path: isRatioShow ? parsePath(newAttrs, 1) : ''\n },\n front: {\n path: parsePath(newAttrs, isRatioShow ? newAttrs.ratio : 1)\n }\n };\n };\n}\n\nexport const registerLinkPathMark = () => {\n registerGlyphMark();\n registerPath();\n Factory.registerGraphicComponent('path', (attrs: IPathGraphicAttribute) => createPath(attrs));\n Factory.registerMark(LinkPathMark.type, LinkPathMark as any);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/mark/link-path.ts"],"names":[],"mappings":"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","file":"link-path.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ILinkPathMarkSpec } from '../typings/visual';\nimport type { ILinkPathConfig, ILinkPathMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport type { IGlyph, IPathGraphicAttribute } from '@visactor/vrender-core';\nimport { createPath } from '@visactor/vrender-core';\nimport { registerPath } from '@visactor/vrender-kits/register/register-path';\nimport type { Datum } from '../typings/common';\n\nexport const getHorizontalPath = (options: ILinkPathMarkSpec, ratio?: number) => {\n const curvature = options.curvature ?? 0.5;\n const hasThickness = true;\n const thickness = typeof ratio === 'number' ? options.thickness * ratio : options.thickness;\n\n let x0 = options.x0;\n let x1 = options.x1;\n let y00 = options.y0;\n let y10 = options.y1;\n let cpx0 = x0 + curvature * (x1 - x0);\n let cpx1 = x1 + curvature * (x0 - x1);\n let formatter = (v: number) => v;\n\n if (options.round !== false) {\n x0 = Math.round(x0);\n x1 = Math.round(x1);\n y00 = Math.round(y00);\n y10 = Math.round(y10);\n cpx0 = Math.round(cpx0);\n cpx1 = Math.round(cpx1);\n formatter = Math.round;\n }\n const topPath =\n options.pathType === 'line'\n ? `M${x0},${y00}L${x1},${y10}`\n : options.pathType === 'polyline'\n ? `M${x0},${y00}L${cpx0},${y00}L${cpx0},${y10}L${x1},${y10}`\n : `M${x0},${y00}C${cpx0},${y00},${cpx1},${y10},${x1},${y10}`;\n\n if (!hasThickness) {\n // simplified to a single path\n return topPath;\n }\n\n if (options.align === 'center') {\n y00 = formatter(options.y0 - thickness / 2);\n y10 = formatter(options.y1 - thickness / 2);\n } else if (options.align === 'end') {\n y00 = formatter(options.y0 + options.thickness / 2 - thickness);\n y10 = formatter(options.y1 + options.thickness / 2 - thickness);\n } else {\n y00 = formatter(options.y0 - options.thickness / 2);\n y10 = formatter(options.y1 - options.thickness / 2);\n }\n\n const y01 = formatter(y00 + thickness);\n const y11 = formatter(y10 + thickness);\n\n const hasLength = Math.abs(x1 - x0) > 1e-6;\n const endArrowPath =\n options.endArrow && hasLength\n ? `L${x1},${formatter(y10 - thickness / 2)}L${formatter(x1 + thickness)},${formatter(\n (y10 + y11) / 2\n )}L${x1},${formatter(y11 + thickness / 2)}`\n : '';\n const startArrowPath =\n options.startArrow && hasLength\n ? `L${x0},${formatter(y01 + thickness / 2)}L${formatter(x0 - thickness)},${formatter(\n (y00 + y01) / 2\n )}L${x0},${formatter(y00 - thickness / 2)}`\n : '';\n\n if (options.pathType === 'line') {\n return `M${x0},${y00}L${x1},${y10}${endArrowPath}L${x1},${y11}L${x0},${y01}${startArrowPath}Z`;\n } else if (options.pathType === 'polyline') {\n return `M${x0},${y00}L${cpx0},${y00}L${cpx0},${y10}L${x1},${y10}\n ${endArrowPath}L${x1},${y11}L${cpx0},${y11}L${cpx0},${y01}L${x0},${y01}${startArrowPath}Z`;\n }\n\n return `M${x0},${y00}C${cpx0},${y00},${cpx1},${y10},${x1},${y10}\n ${endArrowPath}L${x1},${y11}C${cpx1},${y11},${cpx0},${y01},${x0},${y01}${startArrowPath}Z`;\n};\n\nexport const getVerticalPath = (options: ILinkPathMarkSpec, ratio?: number) => {\n const curvature = options.curvature ?? 0.5;\n const hasThickness = true;\n const thickness = typeof ratio === 'number' ? options.thickness * ratio : options.thickness;\n let y0 = options.y0;\n let y1 = options.y1;\n let x00 = options.x0;\n let x10 = options.x1;\n let cpy0 = y0 + curvature * (y1 - y0);\n let cpy1 = y1 + curvature * (y0 - y1);\n let formatter = (v: number) => v;\n\n if (options.round !== false) {\n formatter = Math.round;\n y0 = Math.round(y0);\n y1 = Math.round(y1);\n x00 = Math.round(x00);\n x10 = Math.round(x10);\n cpy0 = Math.round(cpy0);\n cpy1 = Math.round(cpy1);\n }\n const leftpath =\n options.pathType === 'line'\n ? `M${x00},${y0}L${x10},${y1}`\n : options.pathType === 'polyline'\n ? `M${x00},${y0}L${x00},${cpy0}L${x10},${cpy0}L${x10},${y1}`\n : `M${x00},${y0}C${x00},${cpy0},${x10},${cpy1},${x10},${y1}`;\n if (!hasThickness) {\n // simplified to a single path\n return leftpath;\n }\n\n if (options.align === 'center') {\n x00 = formatter(options.x0 - thickness / 2);\n x10 = formatter(options.x1 - thickness / 2);\n } else if (options.align === 'end') {\n x00 = formatter(options.x0 + options.thickness / 2 - thickness);\n x10 = formatter(options.x1 + options.thickness / 2 - thickness);\n } else {\n x00 = formatter(options.x0 - options.thickness / 2);\n x10 = formatter(options.x1 - options.thickness / 2);\n }\n\n const x01 = formatter(x00 + thickness);\n const x11 = formatter(x10 + thickness);\n\n const hasLength = Math.abs(y1 - y0) > 1e-6;\n const endArrowPath =\n options.endArrow && hasLength\n ? `L${formatter(x10 - thickness / 2)},${y1}L${formatter((x10 + x11) / 2)},${formatter(\n y1 + thickness\n )}L${formatter(x11 + thickness / 2)},${y1}`\n : '';\n const startArrowPath =\n options.startArrow && hasLength\n ? `L${formatter(x01 + thickness / 2)},${y0}L${formatter((x01 + x00) / 2)},${formatter(\n y0 - thickness\n )}L${formatter(x00 - thickness / 2)},${y0}`\n : '';\n\n if (options.pathType === 'line') {\n return `M${x00},${y0}L${x10},${y1}${endArrowPath}L${x11},${y1}L${x01},${y0}${startArrowPath}Z`;\n } else if (options.pathType === 'polyline') {\n return `M${x00},${y0}L${x00},${cpy0}L${x10},${cpy0}L${x10},${y1}\n ${endArrowPath}L${x11},${y1}L${x11},${cpy0}L${x01},${cpy0}L${x01},${y0}${startArrowPath}Z`;\n }\n\n return `M${x00},${y0}C${x00},${cpy0},${x10},${cpy1},${x10},${y1}\n ${endArrowPath}L${x11},${y1}C${x11},${cpy1},${x01},${cpy0},${x01},${y0}${startArrowPath}Z`;\n};\n\nexport class LinkPathMark extends GlyphMark<ILinkPathMarkSpec, ILinkPathConfig> implements ILinkPathMark {\n static readonly type = MarkTypeEnum.linkPath;\n readonly type = LinkPathMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ILinkPathMarkSpec> = {\n ...super._getDefaultStyle(),\n x: 0,\n y: 0,\n x0: 0,\n y0: 0,\n x1: 100,\n y1: 100,\n thickness: 1,\n round: true\n };\n return defaultStyle;\n }\n\n protected _subMarks = {\n back: {\n type: 'path',\n defaultAttributes: {\n zIndex: 0\n }\n },\n front: {\n type: 'path',\n defaultAttributes: {\n zIndex: 1\n }\n }\n };\n\n protected _positionChannels: string[] = [\n 'x0',\n 'y0',\n 'x1',\n 'y1',\n 'thickness',\n 'round',\n 'curvature',\n 'ratio',\n 'pathType',\n 'align',\n 'endArrow',\n 'startArrow',\n 'ratio'\n ];\n\n protected _channelEncoder = {\n backgroundStyle: (val: any) => {\n return {\n back: val\n };\n }\n };\n\n protected _positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const newAttrs = {\n ...g.attribute,\n ...glyphAttrs\n };\n\n const direction = newAttrs.direction ?? this._glyphConfig?.direction;\n const parsePath = ['vertical', 'TB', 'BT'].includes(direction) ? getVerticalPath : getHorizontalPath;\n const isRatioShow = typeof newAttrs.ratio === 'number' && newAttrs.ratio >= 0 && newAttrs.ratio <= 1;\n\n return {\n back: {\n path: isRatioShow ? parsePath(newAttrs, 1) : ''\n },\n front: {\n path: parsePath(newAttrs, isRatioShow ? newAttrs.ratio : 1)\n }\n };\n };\n}\n\nexport const registerLinkPathMark = () => {\n registerGlyphMark();\n registerPath();\n Factory.registerGraphicComponent('path', (attrs: IPathGraphicAttribute) => createPath(attrs));\n Factory.registerMark(LinkPathMark.type, LinkPathMark as any);\n};\n"]}
|
package/esm/mark/liquid.js
CHANGED
|
@@ -4,7 +4,7 @@ import { GlyphMark, registerGlyphMark } from "./glyph";
|
|
|
4
4
|
|
|
5
5
|
import { createArea } from "@visactor/vrender-core";
|
|
6
6
|
|
|
7
|
-
import { registerArea } from "@visactor/vrender-kits";
|
|
7
|
+
import { registerArea } from "@visactor/vrender-kits/register/register-area";
|
|
8
8
|
|
|
9
9
|
export class LiquidMark extends GlyphMark {
|
|
10
10
|
constructor() {
|
package/esm/mark/liquid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/liquid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,UAAU,EAA2C,MAAM,wBAAwB,CAAC;AAE7F,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/mark/liquid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,UAAU,EAA2C,MAAM,wBAAwB,CAAC;AAE7F,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAI7E,MAAM,OAAO,UAAW,SAAQ,SAA0B;IAA1D;;QAEW,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAUtB,cAAS,GAAG;YACpB,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,iBAAiB,EAAE;oBACjB,SAAS,EAAE,WAAW;oBACtB,WAAW,EAAE,CAAC;iBACf;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,iBAAiB,EAAE;oBACjB,SAAS,EAAE,WAAW;oBACtB,WAAW,EAAE,IAAI;iBAClB;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,iBAAiB,EAAE;oBACjB,SAAS,EAAE,WAAW;oBACtB,WAAW,EAAE,IAAI;iBAClB;aACF;SACF,CAAC;QAEQ,sBAAiB,GAAa,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEtD,qBAAgB,GAAG,CAAC,UAAe,EAAE,KAAY,EAAE,CAAS,EAAE,EAAE;YACxE,MAAM,EACJ,IAAI,GAAI,CAAC,CAAC,SAAiB,CAAC,IAAI,EAChC,CAAC,GAAI,CAAC,CAAC,SAAiB,CAAC,CAAC,EAC1B,MAAM,GAAI,CAAC,CAAC,SAAiB,CAAC,MAAM,EACrC,GAAG,UAAU,CAAC;YACf,MAAM,OAAO,GAAiB,EAAE,CAAC;YACjC,MAAM,OAAO,GAAiB,EAAE,CAAC;YACjC,MAAM,OAAO,GAAiB,EAAE,CAAC;YAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxB,MAAM,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC;gBAC1B,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;gBAEvB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;aAC1D;YAED,OAAO;gBACL,KAAK,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,MAAM,EAAE,OAAO;iBAChB;gBACD,KAAK,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,MAAM,EAAE,OAAO;iBAChB;gBACD,KAAK,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,MAAM,EAAE,OAAO;iBAChB;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAzEW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,IAAI,EAAE,CAAC,GACR,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AATe,eAAI,YAAuB;AA8E7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,iBAAiB,EAAE,CAAC;IACpB,YAAY,EAAE,CAAC;IACf,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,KAA4B,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAChG,CAAC,CAAC","file":"liquid.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport type { ILiquidMark } from '../series/liquid/liquid';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport { createArea, type IAreaGraphicAttribute, type IGlyph } from '@visactor/vrender-core';\nimport type { IPointLike } from '@visactor/vutils';\nimport { registerArea } from '@visactor/vrender-kits/register/register-area';\nimport type { ILiquidMarkSpec } from '../typings/visual';\nimport type { Datum } from '../typings/common';\n\nexport class LiquidMark extends GlyphMark<ILiquidMarkSpec> implements ILiquidMark {\n static readonly type = MarkTypeEnum.liquid;\n readonly type = LiquidMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ILiquidMarkSpec> = {\n ...super._getDefaultStyle(),\n wave: 0\n };\n return defaultStyle;\n }\n\n protected _subMarks = {\n wave0: {\n type: 'area',\n defaultAttributes: {\n curveType: 'monotoneX',\n fillOpacity: 1\n }\n },\n wave1: {\n type: 'area',\n defaultAttributes: {\n curveType: 'monotoneX',\n fillOpacity: 0.66\n }\n },\n wave2: {\n type: 'area',\n defaultAttributes: {\n curveType: 'monotoneX',\n fillOpacity: 0.33\n }\n }\n };\n\n protected _positionChannels: string[] = ['wave', 'y', 'height'];\n\n protected _positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n wave = (g.attribute as any).wave,\n y = (g.attribute as any).y,\n height = (g.attribute as any).height\n } = glyphAttrs;\n const points0: IPointLike[] = [];\n const points1: IPointLike[] = [];\n const points2: IPointLike[] = [];\n\n for (let i = 0; i < 21; i++) {\n const waveHeight = i % 2 === 0 ? 20 : 0;\n const x = -500 + 50 * i;\n const wy = y + waveHeight;\n const wy1 = y + height;\n\n points0.push({ x: x + wave * 100, y: wy, y1: wy1 });\n points1.push({ x: x + wave * 200 - 40, y: wy, y1: wy1 });\n points2.push({ x: x + wave * 300 - 20, y: wy, y1: wy1 });\n }\n\n return {\n wave0: {\n x: 0,\n y: 0,\n points: points0\n },\n wave1: {\n x: 0,\n y: 0,\n points: points1\n },\n wave2: {\n x: 0,\n y: 0,\n points: points2\n }\n };\n };\n}\n\nexport const registerLiquidMark = () => {\n registerGlyphMark();\n registerArea();\n Factory.registerMark(LiquidMark.type, LiquidMark);\n Factory.registerGraphicComponent('area', (attrs: IAreaGraphicAttribute) => createArea(attrs));\n};\n"]}
|
package/esm/mark/path.js
CHANGED
|
@@ -2,7 +2,9 @@ import { Factory } from "./../core/factory";
|
|
|
2
2
|
|
|
3
3
|
import { BaseMark } from "./base/base-mark";
|
|
4
4
|
|
|
5
|
-
import { registerPath
|
|
5
|
+
import { registerPath } from "@visactor/vrender-kits/register/register-path";
|
|
6
|
+
|
|
7
|
+
import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
|
|
6
8
|
|
|
7
9
|
import { createPath } from "@visactor/vrender-core";
|
|
8
10
|
|
package/esm/mark/path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/mark/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,OAAO,QAAS,SAAQ,QAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAUhC,CAAC;IARW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,EACZ,IAAI,EAAE,EAAE,GACT,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AAVe,aAAI,UAAqB;AAa3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IAEf,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC","file":"path.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IPathMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkStyle, IPathMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerPath } from '@visactor/vrender-kits/register/register-path';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { createPath } from '@visactor/vrender-core';\n\nexport class PathMark extends BaseMark<IPathMarkSpec> implements IPathMark {\n static readonly type = MarkTypeEnum.path;\n readonly type = PathMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IPathMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 0,\n path: ''\n };\n return defaultStyle;\n }\n}\n\nexport const registerPathMark = () => {\n Factory.registerMark(PathMark.type, PathMark);\n registerShadowRoot();\n registerPath();\n\n Factory.registerGraphicComponent(MarkTypeEnum.path, createPath);\n};\n"]}
|
|
@@ -4,7 +4,9 @@ import { BasePolygonMark } from "./base-polygon";
|
|
|
4
4
|
|
|
5
5
|
import { registerPolygonAnimation } from "../../animation/config";
|
|
6
6
|
|
|
7
|
-
import { registerPolygon
|
|
7
|
+
import { registerPolygon } from "@visactor/vrender-kits/register/register-polygon";
|
|
8
|
+
|
|
9
|
+
import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
|
|
8
10
|
|
|
9
11
|
import { createPolygon } from "@visactor/vrender-core";
|
|
10
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/polygon/polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/mark/polygon/polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,OAAO,WAAY,SAAQ,eAAiC;IAAlE;;QAEW,SAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IASnC,CAAC;IAPW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AATe,gBAAI,aAAwB;AAY9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpD,kBAAkB,EAAE,CAAC;IACrB,eAAe,EAAE,CAAC;IAClB,wBAAwB,EAAE,CAAC;IAE3B,OAAO,CAAC,wBAAwB,YAAuB,aAAa,CAAC,CAAC;AACxE,CAAC,CAAC","file":"polygon.js","sourcesContent":["import { Factory } from './../../core/factory';\n/* eslint-disable no-duplicate-imports */\nimport type { IPolygonMarkSpec } from '../../typings/visual';\nimport { BasePolygonMark } from './base-polygon';\nimport type { IMarkStyle, IPolygonMark } from '../interface';\nimport { MarkTypeEnum } from '../interface/type';\nimport { registerPolygonAnimation } from '../../animation/config';\nimport { registerPolygon } from '@visactor/vrender-kits/register/register-polygon';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { createPolygon } from '@visactor/vrender-core';\n\nexport class PolygonMark extends BasePolygonMark<IPolygonMarkSpec> implements IPolygonMark {\n static readonly type = MarkTypeEnum.polygon;\n readonly type = PolygonMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IPolygonMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 0\n };\n return defaultStyle;\n }\n}\n\nexport const registerPolygonMark = () => {\n Factory.registerMark(PolygonMark.type, PolygonMark);\n registerShadowRoot();\n registerPolygon();\n registerPolygonAnimation();\n\n Factory.registerGraphicComponent(MarkTypeEnum.polygon, createPolygon);\n};\n"]}
|
package/esm/mark/ripple.js
CHANGED
|
@@ -6,7 +6,7 @@ import { createSymbol } from "@visactor/vrender-core";
|
|
|
6
6
|
|
|
7
7
|
import { clamp } from "@visactor/vutils";
|
|
8
8
|
|
|
9
|
-
import { registerSymbol } from "@visactor/vrender-kits";
|
|
9
|
+
import { registerSymbol } from "@visactor/vrender-kits/register/register-symbol";
|
|
10
10
|
|
|
11
11
|
export class RippleMark extends GlyphMark {
|
|
12
12
|
constructor() {
|
package/esm/mark/ripple.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAE,YAAY,EAA6C,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/mark/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAE,YAAY,EAA6C,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,MAAM,OAAO,UAAW,SAAQ,SAA0B;IAA1D;;QAEW,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAYtB,cAAS,GAAG;YACpB,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,iBAAiB,EAAE;oBACjB,WAAW,EAAE,IAAI;iBAClB;aACF;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,iBAAiB,EAAE;oBACjB,WAAW,EAAE,GAAG;iBACjB;aACF;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,iBAAiB,EAAE;oBACjB,WAAW,EAAE,IAAI;iBAClB;aACF;SACF,CAAC;QAEQ,sBAAiB,GAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEjD,qBAAgB,GAAG,CAAC,UAAe,EAAE,KAAY,EAAE,CAAS,EAAE,EAAE;YACxE,MAAM,EAAE,MAAM,GAAI,CAAC,CAAC,SAAiB,CAAC,MAAM,EAAE,IAAI,GAAI,CAAC,CAAC,SAAiB,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC;YAC9F,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC;YAE9B,OAAO;gBACL,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE;gBACtE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE;gBAC3E,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE;aAC7E,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IA5CW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,MAAM,EAAE,CAAC,GACV,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AAXe,eAAI,YAAuB;AAiD7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,iBAAiB,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC;IACjB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,KAA8B,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACtG,CAAC,CAAC","file":"ripple.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IRippleMarkSpec } from '../typings/visual';\nimport type { IMarkStyle, IRippleMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport type { Datum } from '../typings/common';\nimport { createSymbol, type IGlyph, type ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport { clamp } from '@visactor/vutils';\nimport { registerSymbol } from '@visactor/vrender-kits/register/register-symbol';\n\nexport class RippleMark extends GlyphMark<IRippleMarkSpec> implements IRippleMark {\n static readonly type = MarkTypeEnum.ripple;\n readonly type = RippleMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IRippleMarkSpec> = {\n ...super._getDefaultStyle(),\n x: 0,\n y: 0,\n ripple: 0\n };\n return defaultStyle;\n }\n\n protected _subMarks = {\n ripple0: {\n type: 'symbol',\n defaultAttributes: {\n fillOpacity: 0.75\n }\n },\n ripple1: {\n type: 'symbol',\n defaultAttributes: {\n fillOpacity: 0.5\n }\n },\n ripple2: {\n type: 'symbol',\n defaultAttributes: {\n fillOpacity: 0.25\n }\n }\n };\n\n protected _positionChannels: string[] = ['ripple', 'size'];\n\n protected _positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const { ripple = (g.attribute as any).ripple, size = (g.attribute as any).size } = glyphAttrs;\n const r = clamp(ripple, 0, 1);\n const rippleSize = size * 0.5;\n\n return {\n ripple0: { size: size + rippleSize * r, fillOpacity: 0.75 - r * 0.25 },\n ripple1: { size: size + rippleSize * (1 + r), fillOpacity: 0.5 - r * 0.25 },\n ripple2: { size: size + rippleSize * (2 + r), fillOpacity: 0.25 - r * 0.25 }\n };\n };\n}\n\nexport const registerRippleMark = () => {\n registerGlyphMark();\n registerSymbol();\n Factory.registerMark(RippleMark.type, RippleMark);\n Factory.registerGraphicComponent('symbol', (attrs: ISymbolGraphicAttribute) => createSymbol(attrs));\n};\n"]}
|
package/esm/mark/rule.js
CHANGED
|
@@ -12,7 +12,9 @@ import { Factory } from "./../core/factory";
|
|
|
12
12
|
|
|
13
13
|
import { BaseMark } from "./base/base-mark";
|
|
14
14
|
|
|
15
|
-
import { registerLine
|
|
15
|
+
import { registerLine } from "@visactor/vrender-kits/register/register-line";
|
|
16
|
+
|
|
17
|
+
import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
|
|
16
18
|
|
|
17
19
|
import { createLine } from "@visactor/vrender-core";
|
|
18
20
|
|
package/esm/mark/rule.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/rule.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/mark/rule.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAEzF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,OAAO,QAAS,SAAQ,QAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IA0BhC,CAAC;IAzBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,GACN,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,2BAA2B,CAAC,CAAe,EAAE,KAAU,EAAE,UAAgB;QACjF,MAAM,UAAU,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAc,UAAU,EAAnB,IAAI,UAAK,UAAU,EAAtC,sBAAyB,CAAa,CAAC;QAE7C,uCACK,IAAI,KACP,MAAM,EAAE;gBACN,EAAE,CAAC,EAAE,CAAC,EAAE;gBACR,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;aACjB,IACD;IACJ,CAAC;IAES,cAAc,CAAC,QAA+B,EAAE;QACxD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;;AA1Be,aAAI,UAAqB;AA6B3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IAEf,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC","file":"rule.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IRuleMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkGraphic, IMarkStyle, IRuleMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerLine } from '@visactor/vrender-kits/register/register-line';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport type { IGraphic, ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { createLine } from '@visactor/vrender-core';\n\nexport class RuleMark extends BaseMark<IRuleMarkSpec> implements IRuleMark {\n static readonly type = MarkTypeEnum.rule;\n readonly type = RuleMark.type;\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IRuleMarkSpec> = {\n ...super._getDefaultStyle(),\n x1: 0,\n y1: 0\n };\n return defaultStyle;\n }\n\n protected _transformGraphicAttributes(g: IMarkGraphic, attrs: any, groupAttrs?: any) {\n const finalAttrs = super._transformGraphicAttributes(g, attrs, groupAttrs);\n const { x, x1, y, y1, ...rest } = finalAttrs;\n\n return {\n ...rest,\n points: [\n { x, y },\n { x: x1, y: y1 }\n ]\n };\n }\n\n protected _createGraphic(attrs: ILineGraphicAttribute = {}): IGraphic {\n return createLine(attrs);\n }\n}\n\nexport const registerRuleMark = () => {\n Factory.registerMark(RuleMark.type, RuleMark);\n registerShadowRoot();\n registerLine();\n\n Factory.registerGraphicComponent(MarkTypeEnum.line, createLine);\n};\n"]}
|
|
@@ -6,7 +6,7 @@ import { PolarPointUpdate, PolarTagPointsUpdate } from "../polar/animation";
|
|
|
6
6
|
|
|
7
7
|
import { DEFAULT_ANIMATION_CONFIG } from "../../animation/config";
|
|
8
8
|
|
|
9
|
-
import { registerArc } from "@visactor/vrender-kits";
|
|
9
|
+
import { registerArc } from "@visactor/vrender-kits/register/register-arc";
|
|
10
10
|
|
|
11
11
|
export const radarFadeAnimation = animationType => ({
|
|
12
12
|
type: "in" === animationType ? "fadeIn" : "fadeOut"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/radar/animation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/series/radar/animation.ts"],"names":[],"mappings":"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","file":"animation.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport { ClipAngleAnimate, AnimateExecutor } from '@visactor/vrender-animate';\nimport { Factory } from '../../core/factory';\nimport { PolarPointUpdate, PolarTagPointsUpdate } from '../polar/animation';\nimport { DEFAULT_ANIMATION_CONFIG } from '../../animation/config';\nimport { registerArc } from '@visactor/vrender-kits/register/register-arc';\nimport type { IRadarAnimationParams, RadarAppearPreset } from './interface';\nimport type { IAnimationTypeConfig, MarkAnimationSpec } from '../../animation/interface';\nimport type { Datum } from '../../typings/common';\n\nexport const radarFadeAnimation = (animationType: 'in' | 'out') => ({\n type: animationType === 'in' ? 'fadeIn' : 'fadeOut'\n});\n\nexport const radarGrowAnimation = (params: IRadarAnimationParams, animationType: 'in' | 'out') => ({\n type: animationType === 'in' ? 'growPointsIn' : 'growPointsOut',\n options: () => ({\n center: params.center()\n })\n});\n\nexport function radarPresetAnimation(\n params: IRadarAnimationParams,\n preset: RadarAppearPreset,\n animationType: 'in' | 'out'\n) {\n switch (preset) {\n case 'fadeIn':\n return radarFadeAnimation(animationType);\n case 'clipIn':\n case 'grow':\n default:\n return radarGrowAnimation(params, animationType);\n }\n}\n\nexport const radarSymbolMoveAnimation = (params: IRadarAnimationParams, animationType: 'in' | 'out') => {\n const xFrom = () => params.center()?.x;\n const xTo = (datum: Datum, element: IGraphic) => element.getGraphicAttribute('x');\n const yFrom = () => params.center()?.y;\n const yTo = (datum: Datum, element: IGraphic) => element.getGraphicAttribute('y');\n if (animationType === 'in') {\n return {\n channel: {\n x: { from: xFrom, to: xTo },\n y: { from: yFrom, to: yTo }\n }\n };\n }\n return {\n channel: {\n x: { from: xTo, to: xFrom },\n y: { from: yTo, to: yFrom }\n }\n };\n};\n\nexport function radarSymbolPresetAnimation(\n params: IRadarAnimationParams,\n preset: RadarAppearPreset,\n animationType: 'in' | 'out'\n) {\n switch (preset) {\n case 'fadeIn':\n return radarFadeAnimation(animationType);\n case 'clipIn':\n case 'grow':\n default:\n return radarSymbolMoveAnimation(params, animationType);\n }\n}\n\nexport const radarGroupClipAnimation = (\n params: IRadarAnimationParams,\n animationType: 'in' | 'out'\n): IAnimationTypeConfig => {\n return {\n custom: ClipAngleAnimate,\n customParameters: (datum: any, graphic: IGraphic) => {\n return {\n group: graphic,\n startAngle: params.startAngle ?? Math.PI / 2,\n orient: 'clockwise',\n center: params.center(),\n radius: params.radius(),\n animationType\n };\n }\n };\n};\n\nexport const registerRadarAnimation = () => {\n Factory.registerAnimation('radar', (params: IRadarAnimationParams, preset: RadarAppearPreset) => {\n return {\n appear: preset === 'clipIn' ? undefined : radarPresetAnimation(params, preset, 'in'),\n enter: radarPresetAnimation(params, preset, 'in'),\n exit: radarPresetAnimation(params, preset, 'out'),\n disappear: preset === 'clipIn' ? undefined : { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration },\n update: [\n {\n channel: ['points', 'center'],\n custom: PolarTagPointsUpdate,\n customParameters: params,\n duration: DEFAULT_ANIMATION_CONFIG.update.duration,\n easing: DEFAULT_ANIMATION_CONFIG.update.easing\n },\n {\n type: 'update',\n options: { excludeChannels: ['points', 'defined', 'center'] }\n }\n ]\n } as MarkAnimationSpec;\n });\n Factory.registerAnimation(\n 'radarSymbol',\n (params: IRadarAnimationParams, preset: RadarAppearPreset) =>\n ({\n appear: preset === 'clipIn' ? undefined : radarSymbolPresetAnimation(params, preset, 'in'),\n enter: { type: 'scaleIn' },\n exit: { type: 'scaleOut' },\n disappear: preset === 'clipIn' ? undefined : { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration },\n update: [\n {\n options: { excludeChannels: ['x', 'y', 'center'] }\n },\n {\n channel: ['x', 'y', 'center'],\n custom: PolarPointUpdate,\n customParameters: params,\n duration: DEFAULT_ANIMATION_CONFIG.update.duration,\n easing: DEFAULT_ANIMATION_CONFIG.update.easing\n }\n ]\n } as MarkAnimationSpec)\n );\n Factory.registerAnimation('radarGroup', (params: IRadarAnimationParams, preset: RadarAppearPreset) => {\n return {\n appear: radarGroupClipAnimation(params, 'in'),\n disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }\n };\n });\n registerArc(); // clipAngle animation will use arc graphic\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vchart",
|
|
3
|
-
"version": "2.1.2-alpha.
|
|
3
|
+
"version": "2.1.2-alpha.8",
|
|
4
4
|
"description": "charts lib based @visactor/VGrammar",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -85,22 +85,22 @@
|
|
|
85
85
|
"@size-limit/file": "9.0.0",
|
|
86
86
|
"rimraf": "3.0.2",
|
|
87
87
|
"cross-env": "^7.0.3",
|
|
88
|
-
"@internal/bundler": "0.0.1",
|
|
89
|
-
"@internal/ts-config": "0.0.1",
|
|
90
88
|
"@internal/typescript-json-schema": "0.0.1",
|
|
91
|
-
"@internal/
|
|
89
|
+
"@internal/ts-config": "0.0.1",
|
|
90
|
+
"@internal/eslint-config": "0.0.1",
|
|
91
|
+
"@internal/bundler": "0.0.1"
|
|
92
92
|
},
|
|
93
93
|
"dependencies": {
|
|
94
94
|
"@visactor/vutils": "~1.0.23",
|
|
95
95
|
"@visactor/vdataset": "~1.0.23",
|
|
96
96
|
"@visactor/vscale": "~1.0.23",
|
|
97
97
|
"@visactor/vlayouts": "~1.0.23",
|
|
98
|
-
"@visactor/vrender": "1.1.3-alpha.
|
|
99
|
-
"@visactor/vrender-core": "1.1.3-alpha.
|
|
100
|
-
"@visactor/vrender-kits": "1.1.3-alpha.
|
|
101
|
-
"@visactor/vrender-components": "1.1.3-alpha.
|
|
102
|
-
"@visactor/vrender-animate": "1.1.3-alpha.
|
|
103
|
-
"@visactor/vutils-extension": "2.1.2-alpha.
|
|
98
|
+
"@visactor/vrender": "1.1.3-alpha.2",
|
|
99
|
+
"@visactor/vrender-core": "1.1.3-alpha.2",
|
|
100
|
+
"@visactor/vrender-kits": "1.1.3-alpha.2",
|
|
101
|
+
"@visactor/vrender-components": "1.1.3-alpha.2",
|
|
102
|
+
"@visactor/vrender-animate": "1.1.3-alpha.2",
|
|
103
|
+
"@visactor/vutils-extension": "2.1.2-alpha.8"
|
|
104
104
|
},
|
|
105
105
|
"publishConfig": {
|
|
106
106
|
"access": "public",
|