@visactor/vrender-components 0.18.10-alpha.2 → 0.18.10-alpha.3

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.
Files changed (77) hide show
  1. package/cjs/index.d.ts +1 -1
  2. package/cjs/index.js +1 -1
  3. package/cjs/index.js.map +1 -1
  4. package/cjs/marker/{polar/area.d.ts → arc-area.d.ts} +7 -7
  5. package/cjs/marker/{polar/area.js → arc-area.js} +14 -14
  6. package/cjs/marker/arc-area.js.map +1 -0
  7. package/cjs/marker/arc-line.d.ts +23 -0
  8. package/cjs/marker/{polar/arc-line.js → arc-line.js} +13 -13
  9. package/cjs/marker/arc-line.js.map +1 -0
  10. package/cjs/marker/{cartesian/area.d.ts → area.d.ts} +7 -7
  11. package/cjs/marker/{cartesian/area.js → area.js} +7 -7
  12. package/cjs/marker/area.js.map +1 -0
  13. package/cjs/marker/base-line.d.ts +1 -1
  14. package/cjs/marker/base-line.js.map +1 -1
  15. package/cjs/marker/config.d.ts +9 -9
  16. package/cjs/marker/config.js +9 -9
  17. package/cjs/marker/config.js.map +1 -1
  18. package/cjs/marker/index.d.ts +4 -4
  19. package/cjs/marker/index.js +3 -3
  20. package/cjs/marker/index.js.map +1 -1
  21. package/cjs/marker/line.d.ts +28 -0
  22. package/cjs/marker/{cartesian/line.js → line.js} +16 -16
  23. package/cjs/marker/line.js.map +1 -0
  24. package/cjs/marker/register.d.ts +4 -5
  25. package/cjs/marker/register.js +8 -12
  26. package/cjs/marker/register.js.map +1 -1
  27. package/cjs/marker/type.d.ts +23 -33
  28. package/cjs/marker/type.js +21 -22
  29. package/cjs/marker/type.js.map +1 -1
  30. package/es/index.d.ts +1 -1
  31. package/es/index.js +1 -1
  32. package/es/index.js.map +1 -1
  33. package/es/marker/{polar/area.d.ts → arc-area.d.ts} +7 -7
  34. package/es/marker/{polar/area.js → arc-area.js} +19 -19
  35. package/es/marker/arc-area.js.map +1 -0
  36. package/es/marker/arc-line.d.ts +23 -0
  37. package/es/marker/{polar/arc-line.js → arc-line.js} +17 -17
  38. package/es/marker/arc-line.js.map +1 -0
  39. package/es/marker/{cartesian/area.d.ts → area.d.ts} +7 -7
  40. package/es/marker/{cartesian/area.js → area.js} +11 -11
  41. package/es/marker/area.js.map +1 -0
  42. package/es/marker/base-line.d.ts +1 -1
  43. package/es/marker/base-line.js.map +1 -1
  44. package/es/marker/config.d.ts +9 -9
  45. package/es/marker/config.js +9 -9
  46. package/es/marker/config.js.map +1 -1
  47. package/es/marker/index.d.ts +4 -4
  48. package/es/marker/index.js +4 -4
  49. package/es/marker/index.js.map +1 -1
  50. package/es/marker/line.d.ts +28 -0
  51. package/es/marker/{cartesian/line.js → line.js} +20 -20
  52. package/es/marker/line.js.map +1 -0
  53. package/es/marker/register.d.ts +4 -5
  54. package/es/marker/register.js +4 -8
  55. package/es/marker/register.js.map +1 -1
  56. package/es/marker/type.d.ts +23 -33
  57. package/es/marker/type.js +22 -23
  58. package/es/marker/type.js.map +1 -1
  59. package/package.json +5 -5
  60. package/cjs/marker/cartesian/area.js.map +0 -1
  61. package/cjs/marker/cartesian/line.d.ts +0 -27
  62. package/cjs/marker/cartesian/line.js.map +0 -1
  63. package/cjs/marker/polar/arc-line.d.ts +0 -22
  64. package/cjs/marker/polar/arc-line.js.map +0 -1
  65. package/cjs/marker/polar/area.js.map +0 -1
  66. package/cjs/marker/polar/line.d.ts +0 -1
  67. package/cjs/marker/polar/line.js +0 -3
  68. package/cjs/marker/polar/line.js.map +0 -1
  69. package/es/marker/cartesian/area.js.map +0 -1
  70. package/es/marker/cartesian/line.d.ts +0 -27
  71. package/es/marker/cartesian/line.js.map +0 -1
  72. package/es/marker/polar/arc-line.d.ts +0 -22
  73. package/es/marker/polar/arc-line.js.map +0 -1
  74. package/es/marker/polar/area.js.map +0 -1
  75. package/es/marker/polar/line.d.ts +0 -1
  76. package/es/marker/polar/line.js +0 -3
  77. package/es/marker/polar/line.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,mDAAiC;AACjC,mDAAiC;AACjC,mDAAiC;AAEjC,+CAA6B;AAC7B,0CAAwB","file":"index.js","sourcesContent":["export * from './type';\nexport * from './cartesian/line';\nexport * from './cartesian/area';\nexport * from './polar/arc-line';\n// export * from './polar/line';\nexport * from './polar/area';\nexport * from './point';\n"]}
1
+ {"version":3,"sources":["../src/marker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAE3B,6CAA2B;AAC3B,0CAAwB","file":"index.js","sourcesContent":["export * from './type';\nexport * from './line';\nexport * from './area';\nexport * from './arc-line';\n// export * from './polar/line';\nexport * from './arc-area';\nexport * from './point';\n"]}
@@ -0,0 +1,28 @@
1
+ import { IMarkLineLabelPosition } from './type';
2
+ import type { MarkLineAttrs } from './type';
3
+ import type { ComponentOptions } from '../interface';
4
+ import { BaseMarkLine } from './base-line';
5
+ import type { ArcSegment } from '../segment';
6
+ import { Segment } from '../segment';
7
+ import type { ILineGraphicAttribute } from '@visactor/vrender-core';
8
+ export declare class MarkLine extends BaseMarkLine<ILineGraphicAttribute, IMarkLineLabelPosition> {
9
+ name: string;
10
+ static defaultAttributes: Partial<MarkLineAttrs>;
11
+ protected _line: Segment | ArcSegment;
12
+ constructor(attributes: MarkLineAttrs, options?: ComponentOptions);
13
+ protected isValidPoints(): boolean;
14
+ protected getLabelOffsetByDirection(direction: IMarkLineLabelPosition): {
15
+ offsetX: number;
16
+ offsetY: number;
17
+ };
18
+ protected getPositionByDirection(direction: IMarkLineLabelPosition): {
19
+ position: {
20
+ x: number;
21
+ y: number;
22
+ };
23
+ angle: number;
24
+ };
25
+ protected setLabelPos(): void;
26
+ protected createSegment(): Segment;
27
+ protected setLineAttributes(): void;
28
+ }
@@ -2,16 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.CartesianMarkLine = void 0;
5
+ }), exports.MarkLine = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), type_1 = require("../type"), register_1 = require("../register"), base_line_1 = require("../base-line"), segment_1 = require("../../segment"), constant_1 = require("../../constant"), config_1 = require("../config");
7
+ const vutils_1 = require("@visactor/vutils"), type_1 = require("./type"), register_1 = require("./register"), base_line_1 = require("./base-line"), segment_1 = require("../segment"), constant_1 = require("../constant"), config_1 = require("./config");
8
8
 
9
- (0, register_1.loadCartesianMarkLineComponent)();
9
+ (0, register_1.loadMarkLineComponent)();
10
10
 
11
- class CartesianMarkLine extends base_line_1.BaseMarkLine {
11
+ class MarkLine extends base_line_1.BaseMarkLine {
12
12
  constructor(attributes, options) {
13
- super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, CartesianMarkLine.defaultAttributes, attributes)),
14
- this.name = "cartesianMarkLine";
13
+ super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, MarkLine.defaultAttributes, attributes)),
14
+ this.name = "MarkLine";
15
15
  }
16
16
  isValidPoints() {
17
17
  const {points: points} = this.attribute;
@@ -27,55 +27,55 @@ class CartesianMarkLine extends base_line_1.BaseMarkLine {
27
27
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
28
28
  const labelRectHeight = Math.abs((null !== (_b = null === (_a = this._label.getTextShape().AABBBounds) || void 0 === _a ? void 0 : _a.y2) && void 0 !== _b ? _b : 0) - (null !== (_d = null === (_c = this._label.getTextShape()) || void 0 === _c ? void 0 : _c.AABBBounds.y1) && void 0 !== _d ? _d : 0)), labelTextHeight = Math.abs((null !== (_f = null === (_e = this._label.getBgRect().AABBBounds) || void 0 === _e ? void 0 : _e.y2) && void 0 !== _f ? _f : 0) - (null !== (_h = null === (_g = this._label.getBgRect()) || void 0 === _g ? void 0 : _g.AABBBounds.y1) && void 0 !== _h ? _h : 0)), labelHeight = Math.max(labelRectHeight, labelTextHeight), labelRectWidth = Math.abs((null !== (_k = null === (_j = this._label.getTextShape().AABBBounds) || void 0 === _j ? void 0 : _j.x2) && void 0 !== _k ? _k : 0) - (null !== (_m = null === (_l = this._label.getTextShape()) || void 0 === _l ? void 0 : _l.AABBBounds.x1) && void 0 !== _m ? _m : 0)), labelTextWidth = Math.abs((null !== (_p = null === (_o = this._label.getBgRect().AABBBounds) || void 0 === _o ? void 0 : _o.x2) && void 0 !== _p ? _p : 0) - (null !== (_r = null === (_q = this._label.getBgRect()) || void 0 === _q ? void 0 : _q.AABBBounds.x1) && void 0 !== _r ? _r : 0)), labelWidth = Math.max(labelRectWidth, labelTextWidth);
29
29
  switch (direction) {
30
- case type_1.ICartesianMarkLineLabelPosition.start:
30
+ case type_1.IMarkLineLabelPosition.start:
31
31
  return {
32
32
  offsetX: -labelWidth / 2,
33
33
  offsetY: 0
34
34
  };
35
35
 
36
- case type_1.ICartesianMarkLineLabelPosition.insideStartTop:
36
+ case type_1.IMarkLineLabelPosition.insideStartTop:
37
37
  return {
38
38
  offsetX: labelWidth / 2,
39
39
  offsetY: labelHeight / 2
40
40
  };
41
41
 
42
- case type_1.ICartesianMarkLineLabelPosition.insideStartBottom:
42
+ case type_1.IMarkLineLabelPosition.insideStartBottom:
43
43
  return {
44
44
  offsetX: labelWidth / 2,
45
45
  offsetY: -labelHeight / 2
46
46
  };
47
47
 
48
- case type_1.ICartesianMarkLineLabelPosition.middle:
48
+ case type_1.IMarkLineLabelPosition.middle:
49
49
  return {
50
50
  offsetX: 0,
51
51
  offsetY: 0
52
52
  };
53
53
 
54
- case type_1.ICartesianMarkLineLabelPosition.insideMiddleTop:
54
+ case type_1.IMarkLineLabelPosition.insideMiddleTop:
55
55
  return {
56
56
  offsetX: 0,
57
57
  offsetY: labelHeight / 2
58
58
  };
59
59
 
60
- case type_1.ICartesianMarkLineLabelPosition.insideMiddleBottom:
60
+ case type_1.IMarkLineLabelPosition.insideMiddleBottom:
61
61
  return {
62
62
  offsetX: 0,
63
63
  offsetY: -labelHeight / 2
64
64
  };
65
65
 
66
- case type_1.ICartesianMarkLineLabelPosition.end:
66
+ case type_1.IMarkLineLabelPosition.end:
67
67
  return {
68
68
  offsetX: labelWidth / 2,
69
69
  offsetY: 0
70
70
  };
71
71
 
72
- case type_1.ICartesianMarkLineLabelPosition.insideEndTop:
72
+ case type_1.IMarkLineLabelPosition.insideEndTop:
73
73
  return {
74
74
  offsetX: -labelWidth / 2,
75
75
  offsetY: labelHeight / 2
76
76
  };
77
77
 
78
- case type_1.ICartesianMarkLineLabelPosition.insideEndBottom:
78
+ case type_1.IMarkLineLabelPosition.insideEndBottom:
79
79
  return {
80
80
  offsetX: -labelWidth / 2,
81
81
  offsetY: -labelHeight / 2
@@ -149,5 +149,5 @@ class CartesianMarkLine extends base_line_1.BaseMarkLine {
149
149
  }
150
150
  }
151
151
 
152
- exports.CartesianMarkLine = CartesianMarkLine, CartesianMarkLine.defaultAttributes = config_1.DEFAULT_CARTESIAN_MARK_LINE_THEME;
152
+ exports.MarkLine = MarkLine, MarkLine.defaultAttributes = config_1.DEFAULT_MARK_LINE_THEME;
153
153
  //# sourceMappingURL=line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/marker/line.ts"],"names":[],"mappings":"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","file":"line.js","sourcesContent":["import { isValidNumber, merge } from '@visactor/vutils';\nimport { IMarkLineLabelPosition } from './type';\nimport type { MarkLineAttrs } from './type';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkLineComponent } from './register';\nimport type { Point } from '../core/type';\nimport { BaseMarkLine } from './base-line';\nimport type { ArcSegment } from '../segment';\n// eslint-disable-next-line no-duplicate-imports\nimport { Segment } from '../segment';\nimport { DEFAULT_STATES } from '../constant';\nimport { DEFAULT_MARK_LINE_THEME } from './config';\nimport type { ILineGraphicAttribute } from '@visactor/vrender-core';\n\nloadMarkLineComponent();\nexport class MarkLine extends BaseMarkLine<ILineGraphicAttribute, IMarkLineLabelPosition> {\n name = 'MarkLine';\n // eslint-disable-next-line max-len\n static defaultAttributes: Partial<MarkLineAttrs> = DEFAULT_MARK_LINE_THEME as unknown as MarkLineAttrs;\n protected _line!: Segment | ArcSegment;\n\n constructor(attributes: MarkLineAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, MarkLine.defaultAttributes, attributes));\n }\n\n protected isValidPoints() {\n const { points } = this.attribute as MarkLineAttrs;\n if (!points || points.length < 2) {\n return false;\n }\n let validFlag = true;\n points.forEach((point: Point | Point[]) => {\n if ((point as any).length) {\n (point as Point[]).forEach((p: Point) => {\n if (!isValidNumber((p as Point).x) || !isValidNumber((p as Point).y)) {\n validFlag = false;\n return;\n }\n });\n } else if (!isValidNumber((point as Point).x) || !isValidNumber((point as Point).y)) {\n validFlag = false;\n return;\n }\n });\n return validFlag;\n }\n\n protected getLabelOffsetByDirection(direction: IMarkLineLabelPosition) {\n // labelHeight\n // eslint-disable-next-line max-len\n const labelRectHeight = Math.abs(\n (this._label.getTextShape().AABBBounds?.y2 ?? 0) - (this._label.getTextShape()?.AABBBounds.y1 ?? 0)\n );\n // eslint-disable-next-line max-len\n const labelTextHeight = Math.abs(\n (this._label.getBgRect().AABBBounds?.y2 ?? 0) - (this._label.getBgRect()?.AABBBounds.y1 ?? 0)\n );\n const labelHeight = Math.max(labelRectHeight, labelTextHeight);\n\n // labelWidth\n // eslint-disable-next-line max-len\n const labelRectWidth = Math.abs(\n (this._label.getTextShape().AABBBounds?.x2 ?? 0) - (this._label.getTextShape()?.AABBBounds.x1 ?? 0)\n );\n // eslint-disable-next-line max-len\n const labelTextWidth = Math.abs(\n (this._label.getBgRect().AABBBounds?.x2 ?? 0) - (this._label.getBgRect()?.AABBBounds.x1 ?? 0)\n );\n const labelWidth = Math.max(labelRectWidth, labelTextWidth);\n\n switch (direction) {\n case IMarkLineLabelPosition.start:\n return {\n offsetX: -labelWidth / 2,\n offsetY: 0\n };\n case IMarkLineLabelPosition.insideStartTop:\n return {\n offsetX: labelWidth / 2,\n offsetY: labelHeight / 2\n };\n case IMarkLineLabelPosition.insideStartBottom:\n return {\n offsetX: labelWidth / 2,\n offsetY: -labelHeight / 2\n };\n case IMarkLineLabelPosition.middle:\n return {\n offsetX: 0,\n offsetY: 0\n };\n case IMarkLineLabelPosition.insideMiddleTop:\n return {\n offsetX: 0,\n offsetY: labelHeight / 2\n };\n case IMarkLineLabelPosition.insideMiddleBottom:\n return {\n offsetX: 0,\n offsetY: -labelHeight / 2\n };\n case IMarkLineLabelPosition.end:\n return {\n offsetX: labelWidth / 2,\n offsetY: 0\n };\n case IMarkLineLabelPosition.insideEndTop:\n return {\n offsetX: -labelWidth / 2,\n offsetY: labelHeight / 2\n };\n case IMarkLineLabelPosition.insideEndBottom:\n return {\n offsetX: -labelWidth / 2,\n offsetY: -labelHeight / 2\n };\n default: // default end\n return {\n offsetX: labelWidth / 2,\n offsetY: 0\n };\n }\n }\n\n protected getPositionByDirection(direction: IMarkLineLabelPosition) {\n const { label = {} } = this.attribute;\n const { refX = 0, refY = 0 } = label;\n const points = this._line.getMainSegmentPoints();\n const labelAngle = this._line.getEndAngle() ?? 0;\n\n const totalRefX = refX + this.getLabelOffsetByDirection(direction).offsetX;\n const totalRefY = refY + this.getLabelOffsetByDirection(direction).offsetY;\n\n const labelOffsetX = totalRefX * Math.cos(labelAngle) + totalRefY * Math.cos(labelAngle - Math.PI / 2);\n const labelOffsetY = totalRefX * Math.sin(labelAngle) + totalRefY * Math.sin(labelAngle - Math.PI / 2);\n\n if (direction.includes('start') || direction.includes('Start')) {\n return {\n position: {\n x: points[0].x + labelOffsetX,\n y: points[0].y + labelOffsetY\n },\n angle: labelAngle\n };\n } else if (direction.includes('middle') || direction.includes('Middle')) {\n return {\n position: {\n x: (points[0].x + points[points.length - 1].x) / 2 + labelOffsetX,\n y: (points[0].y + points[points.length - 1].y) / 2 + labelOffsetY\n },\n angle: labelAngle\n };\n }\n return {\n position: {\n x: points[points.length - 1].x + labelOffsetX,\n y: points[points.length - 1].y + labelOffsetY\n },\n angle: labelAngle\n };\n }\n\n protected setLabelPos(): void {\n super.setLabelPos();\n const { label = {} } = this.attribute as MarkLineAttrs;\n const { position = 'end', autoRotate = true } = label;\n const labelAttr = this.getPositionByDirection(position as any);\n this._label.setAttributes({\n ...labelAttr.position,\n angle: autoRotate ? labelAttr.angle + (label.refAngle ?? 0) : 0\n });\n }\n\n protected createSegment() {\n const { points, startSymbol, endSymbol, lineStyle, mainSegmentIndex, multiSegment, state } = this\n .attribute as MarkLineAttrs;\n return new Segment({\n points,\n startSymbol,\n endSymbol,\n lineStyle,\n mainSegmentIndex,\n multiSegment,\n pickable: false, // 组件容器本身不参与拾取\n state: {\n line: merge({}, DEFAULT_STATES, state?.line),\n startSymbol: merge({}, DEFAULT_STATES, state?.lineStartSymbol),\n endSymbol: merge({}, DEFAULT_STATES, state?.lineEndSymbol)\n }\n });\n }\n\n protected setLineAttributes() {\n const { points, startSymbol, endSymbol, lineStyle, mainSegmentIndex, multiSegment } = this\n .attribute as MarkLineAttrs;\n if (this._line) {\n this._line.setAttributes({\n points,\n startSymbol,\n endSymbol,\n lineStyle,\n mainSegmentIndex,\n multiSegment\n });\n }\n }\n}\n"]}
@@ -1,6 +1,5 @@
1
- export declare function loadCartesianMarkLineComponent(): void;
2
- export declare function loadPolarMarkLineComponent(): void;
3
- export declare function loadPolarMarkArcLineComponent(): void;
4
- export declare function loadCartesianMarkAreaComponent(): void;
5
- export declare function loadPolarMarkAreaComponent(): void;
1
+ export declare function loadMarkLineComponent(): void;
2
+ export declare function loadMarkArcLineComponent(): void;
3
+ export declare function loadMarkAreaComponent(): void;
4
+ export declare function loadMarkArcAreaComponent(): void;
6
5
  export declare function loadMarkPointComponent(): void;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.loadMarkPointComponent = exports.loadPolarMarkAreaComponent = exports.loadCartesianMarkAreaComponent = exports.loadPolarMarkArcLineComponent = exports.loadPolarMarkLineComponent = exports.loadCartesianMarkLineComponent = void 0;
5
+ }), exports.loadMarkPointComponent = exports.loadMarkArcAreaComponent = exports.loadMarkAreaComponent = exports.loadMarkArcLineComponent = exports.loadMarkLineComponent = void 0;
6
6
 
7
7
  const vrender_kits_1 = require("@visactor/vrender-kits"), register_1 = require("../tag/register"), register_2 = require("../segment/register");
8
8
 
@@ -10,23 +10,19 @@ function loadBaseMarker() {
10
10
  (0, vrender_kits_1.registerGroup)(), (0, register_1.loadTagComponent)();
11
11
  }
12
12
 
13
- function loadCartesianMarkLineComponent() {
13
+ function loadMarkLineComponent() {
14
14
  loadBaseMarker(), (0, register_2.loadSegmentComponent)();
15
15
  }
16
16
 
17
- function loadPolarMarkLineComponent() {
18
- loadBaseMarker(), (0, register_2.loadSegmentComponent)();
19
- }
20
-
21
- function loadPolarMarkArcLineComponent() {
17
+ function loadMarkArcLineComponent() {
22
18
  loadBaseMarker(), (0, register_2.loadArcSegmentComponent)();
23
19
  }
24
20
 
25
- function loadCartesianMarkAreaComponent() {
21
+ function loadMarkAreaComponent() {
26
22
  loadBaseMarker(), (0, vrender_kits_1.registerPolygon)();
27
23
  }
28
24
 
29
- function loadPolarMarkAreaComponent() {
25
+ function loadMarkArcAreaComponent() {
30
26
  loadBaseMarker(), (0, vrender_kits_1.registerArc)();
31
27
  }
32
28
 
@@ -35,7 +31,7 @@ function loadMarkPointComponent() {
35
31
  (0, vrender_kits_1.registerImage)(), (0, vrender_kits_1.registerLine)();
36
32
  }
37
33
 
38
- exports.loadCartesianMarkLineComponent = loadCartesianMarkLineComponent, exports.loadPolarMarkLineComponent = loadPolarMarkLineComponent,
39
- exports.loadPolarMarkArcLineComponent = loadPolarMarkArcLineComponent, exports.loadCartesianMarkAreaComponent = loadCartesianMarkAreaComponent,
40
- exports.loadPolarMarkAreaComponent = loadPolarMarkAreaComponent, exports.loadMarkPointComponent = loadMarkPointComponent;
34
+ exports.loadMarkLineComponent = loadMarkLineComponent, exports.loadMarkArcLineComponent = loadMarkArcLineComponent,
35
+ exports.loadMarkAreaComponent = loadMarkAreaComponent, exports.loadMarkArcAreaComponent = loadMarkArcAreaComponent,
36
+ exports.loadMarkPointComponent = loadMarkPointComponent;
41
37
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/register.ts"],"names":[],"mappings":";;;AAAA,yDAOgC;AAChC,8CAAmD;AACnD,kDAAoF;AACpF,SAAS,cAAc;IACrB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAgB,GAAE,CAAC;AACrB,CAAC;AAED,SAAgB,8BAA8B;IAC5C,cAAc,EAAE,CAAC;IACjB,IAAA,+BAAoB,GAAE,CAAC;AACzB,CAAC;AAHD,wEAGC;AAED,SAAgB,0BAA0B;IACxC,cAAc,EAAE,CAAC;IACjB,IAAA,+BAAoB,GAAE,CAAC;AACzB,CAAC;AAHD,gEAGC;AAED,SAAgB,6BAA6B;IAC3C,cAAc,EAAE,CAAC;IACjB,IAAA,kCAAuB,GAAE,CAAC;AAC5B,CAAC;AAHD,sEAGC;AAED,SAAgB,8BAA8B;IAC5C,cAAc,EAAE,CAAC;IACjB,IAAA,8BAAe,GAAE,CAAC;AACpB,CAAC;AAHD,wEAGC;AAED,SAAgB,0BAA0B;IACxC,cAAc,EAAE,CAAC;IACjB,IAAA,0BAAW,GAAE,CAAC;AAChB,CAAC;AAHD,gEAGC;AAED,SAAgB,sBAAsB;IACpC,cAAc,EAAE,CAAC;IACjB,IAAA,+BAAoB,GAAE,CAAC;IACvB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;AACjB,CAAC;AAND,wDAMC","file":"register.js","sourcesContent":["import {\n registerArc,\n registerGroup,\n registerImage,\n registerLine,\n registerPolygon,\n registerSymbol\n} from '@visactor/vrender-kits';\nimport { loadTagComponent } from '../tag/register';\nimport { loadArcSegmentComponent, loadSegmentComponent } from '../segment/register';\nfunction loadBaseMarker() {\n registerGroup();\n loadTagComponent();\n}\n\nexport function loadCartesianMarkLineComponent() {\n loadBaseMarker();\n loadSegmentComponent();\n}\n\nexport function loadPolarMarkLineComponent() {\n loadBaseMarker();\n loadSegmentComponent();\n}\n\nexport function loadPolarMarkArcLineComponent() {\n loadBaseMarker();\n loadArcSegmentComponent();\n}\n\nexport function loadCartesianMarkAreaComponent() {\n loadBaseMarker();\n registerPolygon();\n}\n\nexport function loadPolarMarkAreaComponent() {\n loadBaseMarker();\n registerArc();\n}\n\nexport function loadMarkPointComponent() {\n loadBaseMarker();\n loadSegmentComponent();\n registerSymbol();\n registerImage();\n registerLine();\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/register.ts"],"names":[],"mappings":";;;AAAA,yDAOgC;AAChC,8CAAmD;AACnD,kDAAoF;AACpF,SAAS,cAAc;IACrB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAgB,GAAE,CAAC;AACrB,CAAC;AAED,SAAgB,qBAAqB;IACnC,cAAc,EAAE,CAAC;IACjB,IAAA,+BAAoB,GAAE,CAAC;AACzB,CAAC;AAHD,sDAGC;AAED,SAAgB,wBAAwB;IACtC,cAAc,EAAE,CAAC;IACjB,IAAA,kCAAuB,GAAE,CAAC;AAC5B,CAAC;AAHD,4DAGC;AAED,SAAgB,qBAAqB;IACnC,cAAc,EAAE,CAAC;IACjB,IAAA,8BAAe,GAAE,CAAC;AACpB,CAAC;AAHD,sDAGC;AAED,SAAgB,wBAAwB;IACtC,cAAc,EAAE,CAAC;IACjB,IAAA,0BAAW,GAAE,CAAC;AAChB,CAAC;AAHD,4DAGC;AAED,SAAgB,sBAAsB;IACpC,cAAc,EAAE,CAAC;IACjB,IAAA,+BAAoB,GAAE,CAAC;IACvB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;AACjB,CAAC;AAND,wDAMC","file":"register.js","sourcesContent":["import {\n registerArc,\n registerGroup,\n registerImage,\n registerLine,\n registerPolygon,\n registerSymbol\n} from '@visactor/vrender-kits';\nimport { loadTagComponent } from '../tag/register';\nimport { loadArcSegmentComponent, loadSegmentComponent } from '../segment/register';\nfunction loadBaseMarker() {\n registerGroup();\n loadTagComponent();\n}\n\nexport function loadMarkLineComponent() {\n loadBaseMarker();\n loadSegmentComponent();\n}\n\nexport function loadMarkArcLineComponent() {\n loadBaseMarker();\n loadArcSegmentComponent();\n}\n\nexport function loadMarkAreaComponent() {\n loadBaseMarker();\n registerPolygon();\n}\n\nexport function loadMarkArcAreaComponent() {\n loadBaseMarker();\n registerArc();\n}\n\nexport function loadMarkPointComponent() {\n loadBaseMarker();\n loadSegmentComponent();\n registerSymbol();\n registerImage();\n registerLine();\n}\n"]}
@@ -2,7 +2,7 @@ import type { EasingType, IArcGraphicAttribute, IGroup, IGroupGraphicAttribute,
2
2
  import type { CommonSegmentAttributes, ILineGraphicWithCornerRadius, SegmentAttributes, SymbolAttributes } from '../segment';
3
3
  import type { TagAttributes } from '../tag';
4
4
  import type { Point, State } from '../core/type';
5
- export declare enum ICartesianMarkLineLabelPosition {
5
+ export declare enum IMarkLineLabelPosition {
6
6
  start = "start",
7
7
  middle = "middle",
8
8
  end = "end",
@@ -13,7 +13,7 @@ export declare enum ICartesianMarkLineLabelPosition {
13
13
  insideEndTop = "insideEndTop",
14
14
  insideEndBottom = "insideEndBottom"
15
15
  }
16
- export declare enum ICartesianMarkAreaLabelPosition {
16
+ export declare enum IMarkAreaLabelPosition {
17
17
  left = "left",
18
18
  right = "right",
19
19
  top = "top",
@@ -24,7 +24,7 @@ export declare enum ICartesianMarkAreaLabelPosition {
24
24
  insideTop = "insideTop",
25
25
  insideBottom = "insideBottom"
26
26
  }
27
- export declare enum IPolarMarkLabelPosition {
27
+ export declare enum IMarkCommonArcLabelPosition {
28
28
  arcInnerStart = "arcInnerStart",
29
29
  arcInnerEnd = "arcInnerEnd",
30
30
  arcInnerMiddle = "arcInnerMiddle",
@@ -56,7 +56,7 @@ export type IMarkRef = {
56
56
  refAngle?: number;
57
57
  };
58
58
  export type MarkerAttrs = IGroupGraphicAttribute & {
59
- type?: 'cartesian-line' | 'polar-line' | 'polar-arc-line' | 'cartesian-area' | 'polar-area' | 'point';
59
+ type?: 'line' | 'arc-line' | 'area' | 'arc-area' | 'point';
60
60
  interactive?: boolean;
61
61
  select?: boolean;
62
62
  hover?: boolean;
@@ -87,20 +87,15 @@ export type MarkerExitAnimation = {
87
87
  delay?: number;
88
88
  easing?: EasingType;
89
89
  };
90
- export type CommonMarkLineState = {
91
- line?: State<ILineGraphicWithCornerRadius | Partial<ILineGraphicAttribute>[] | IArcGraphicAttribute>;
90
+ export type CommonMarkLineState<LineAttr> = {
91
+ line?: State<LineAttr>;
92
92
  lineStartSymbol?: State<Partial<ISymbolGraphicAttribute>>;
93
93
  lineEndSymbol?: State<Partial<ISymbolGraphicAttribute>>;
94
94
  label?: State<Partial<ITextGraphicAttribute>>;
95
95
  labelBackground?: State<Partial<IRectGraphicAttribute>>;
96
96
  };
97
- export type CartesianMarkAreaState = {
98
- area?: State<Partial<IPolygonGraphicAttribute>>;
99
- label?: State<Partial<ITextGraphicAttribute>>;
100
- labelBackground?: State<Partial<IRectGraphicAttribute>>;
101
- };
102
- export type PolarMarkAreaState = {
103
- area?: State<Partial<IArcGraphicAttribute>>;
97
+ export type CommonMarkAreaState<AreaAttr> = {
98
+ area?: State<Partial<AreaAttr>>;
104
99
  label?: State<Partial<ITextGraphicAttribute>>;
105
100
  labelBackground?: State<Partial<IRectGraphicAttribute>>;
106
101
  };
@@ -115,27 +110,22 @@ export type MarkPointState = {
115
110
  richText?: State<Partial<IRichTextGraphicAttribute>>;
116
111
  customMark?: State<Partial<IGroupGraphicAttribute>>;
117
112
  };
118
- export type CommonMarkLineAttrs<T> = MarkerAttrs & Omit<CommonSegmentAttributes, 'state' | 'lineStyle'> & {
113
+ export type CommonMarkLineAttrs<LineAttr, LineLabelPosition> = MarkerAttrs & Omit<CommonSegmentAttributes, 'state' | 'lineStyle'> & {
119
114
  label?: {
120
- position?: T;
115
+ position?: LineLabelPosition;
121
116
  confine?: boolean;
122
117
  } & IMarkRef & IMarkLabel;
123
- state?: CommonMarkLineState;
118
+ state?: CommonMarkLineState<LineAttr>;
124
119
  } & BaseMarkerAnimation<CommonMarkLineAnimationType>;
125
- export type CartesianMarkLineAttrs = CommonMarkLineAttrs<keyof typeof ICartesianMarkLineLabelPosition> & {
126
- type?: 'cartesian-line';
120
+ export type MarkLineAttrs = CommonMarkLineAttrs<ILineGraphicWithCornerRadius | ILineGraphicAttribute[], keyof typeof IMarkLineLabelPosition> & {
121
+ type?: 'line';
127
122
  multiSegment?: boolean;
128
123
  mainSegmentIndex?: number;
129
124
  points: Point[] | Point[][];
130
125
  lineStyle?: ILineGraphicAttribute;
131
126
  };
132
- export type PolarMarkLineAttrs = CommonMarkLineAttrs<keyof typeof ICartesianMarkLineLabelPosition> & {
133
- type?: 'polar-line';
134
- points: Point[] | Point[][];
135
- lineStyle?: ILineGraphicAttribute;
136
- };
137
- export type PolarMarkArcLineAttrs = CommonMarkLineAttrs<keyof typeof IPolarMarkLabelPosition> & {
138
- type?: 'polar-arc-line';
127
+ export type MarkArcLineAttrs = CommonMarkLineAttrs<IArcGraphicAttribute, keyof typeof IMarkCommonArcLabelPosition> & {
128
+ type?: 'arc-line';
139
129
  center: {
140
130
  x: number;
141
131
  y: number;
@@ -145,18 +135,18 @@ export type PolarMarkArcLineAttrs = CommonMarkLineAttrs<keyof typeof IPolarMarkL
145
135
  endAngle: number;
146
136
  lineStyle?: IArcGraphicAttribute;
147
137
  };
148
- export type CartesianMarkAreaAttrs = MarkerAttrs & {
149
- type?: 'cartesian-area';
138
+ export type MarkAreaAttrs = MarkerAttrs & {
139
+ type?: 'area';
150
140
  points: Point[];
151
141
  label?: {
152
- position?: keyof typeof ICartesianMarkAreaLabelPosition;
142
+ position?: keyof typeof IMarkAreaLabelPosition;
153
143
  confine?: boolean;
154
144
  } & IMarkLabel;
155
145
  areaStyle?: IPolygonAttribute;
156
- state?: CartesianMarkAreaState;
146
+ state?: CommonMarkAreaState<IPolygonGraphicAttribute>;
157
147
  } & BaseMarkerAnimation<CommonMarkAreaAnimationType>;
158
- export type PolarMarkAreaAttrs = MarkerAttrs & {
159
- type?: 'polar-area';
148
+ export type MarkArcAreaAttrs = MarkerAttrs & {
149
+ type?: 'arc-area';
160
150
  center: {
161
151
  x: number;
162
152
  y: number;
@@ -166,11 +156,11 @@ export type PolarMarkAreaAttrs = MarkerAttrs & {
166
156
  startAngle: number;
167
157
  endAngle: number;
168
158
  label?: {
169
- position?: keyof typeof IPolarMarkLabelPosition;
159
+ position?: keyof typeof IMarkCommonArcLabelPosition;
170
160
  confine?: boolean;
171
161
  } & IMarkRef & IMarkLabel;
172
162
  areaStyle?: IArcGraphicAttribute;
173
- state?: PolarMarkAreaState;
163
+ state?: CommonMarkAreaState<IArcGraphicAttribute>;
174
164
  } & BaseMarkerAnimation<CommonMarkAreaAnimationType>;
175
165
  export type IItemContent = IMarkRef & {
176
166
  type?: 'symbol' | 'text' | 'image' | 'richText' | 'custom';
@@ -1,30 +1,29 @@
1
1
  "use strict";
2
2
 
3
- var ICartesianMarkLineLabelPosition, ICartesianMarkAreaLabelPosition, IPolarMarkLabelPosition, IMarkPointItemPosition;
3
+ var IMarkLineLabelPosition, IMarkAreaLabelPosition, IMarkCommonArcLabelPosition, IMarkPointItemPosition;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: !0
7
- }), exports.IMarkPointItemPosition = exports.IPolarMarkLabelPosition = exports.ICartesianMarkAreaLabelPosition = exports.ICartesianMarkLineLabelPosition = void 0,
8
- function(ICartesianMarkLineLabelPosition) {
9
- ICartesianMarkLineLabelPosition.start = "start", ICartesianMarkLineLabelPosition.middle = "middle",
10
- ICartesianMarkLineLabelPosition.end = "end", ICartesianMarkLineLabelPosition.insideStartTop = "insideStartTop",
11
- ICartesianMarkLineLabelPosition.insideStartBottom = "insideStartBottom", ICartesianMarkLineLabelPosition.insideMiddleTop = "insideMiddleTop",
12
- ICartesianMarkLineLabelPosition.insideMiddleBottom = "insideMiddleBottom", ICartesianMarkLineLabelPosition.insideEndTop = "insideEndTop",
13
- ICartesianMarkLineLabelPosition.insideEndBottom = "insideEndBottom";
14
- }(ICartesianMarkLineLabelPosition = exports.ICartesianMarkLineLabelPosition || (exports.ICartesianMarkLineLabelPosition = {})),
15
- function(ICartesianMarkAreaLabelPosition) {
16
- ICartesianMarkAreaLabelPosition.left = "left", ICartesianMarkAreaLabelPosition.right = "right",
17
- ICartesianMarkAreaLabelPosition.top = "top", ICartesianMarkAreaLabelPosition.bottom = "bottom",
18
- ICartesianMarkAreaLabelPosition.middle = "middle", ICartesianMarkAreaLabelPosition.insideLeft = "insideLeft",
19
- ICartesianMarkAreaLabelPosition.insideRight = "insideRight", ICartesianMarkAreaLabelPosition.insideTop = "insideTop",
20
- ICartesianMarkAreaLabelPosition.insideBottom = "insideBottom";
21
- }(ICartesianMarkAreaLabelPosition = exports.ICartesianMarkAreaLabelPosition || (exports.ICartesianMarkAreaLabelPosition = {})),
22
- function(IPolarMarkLabelPosition) {
23
- IPolarMarkLabelPosition.arcInnerStart = "arcInnerStart", IPolarMarkLabelPosition.arcInnerEnd = "arcInnerEnd",
24
- IPolarMarkLabelPosition.arcInnerMiddle = "arcInnerMiddle", IPolarMarkLabelPosition.arcOuterStart = "arcOuterStart",
25
- IPolarMarkLabelPosition.arcOuterEnd = "arcOuterEnd", IPolarMarkLabelPosition.arcOuterMiddle = "arcOuterMiddle",
26
- IPolarMarkLabelPosition.center = "center";
27
- }(IPolarMarkLabelPosition = exports.IPolarMarkLabelPosition || (exports.IPolarMarkLabelPosition = {})),
7
+ }), exports.IMarkPointItemPosition = exports.IMarkCommonArcLabelPosition = exports.IMarkAreaLabelPosition = exports.IMarkLineLabelPosition = void 0,
8
+ function(IMarkLineLabelPosition) {
9
+ IMarkLineLabelPosition.start = "start", IMarkLineLabelPosition.middle = "middle",
10
+ IMarkLineLabelPosition.end = "end", IMarkLineLabelPosition.insideStartTop = "insideStartTop",
11
+ IMarkLineLabelPosition.insideStartBottom = "insideStartBottom", IMarkLineLabelPosition.insideMiddleTop = "insideMiddleTop",
12
+ IMarkLineLabelPosition.insideMiddleBottom = "insideMiddleBottom", IMarkLineLabelPosition.insideEndTop = "insideEndTop",
13
+ IMarkLineLabelPosition.insideEndBottom = "insideEndBottom";
14
+ }(IMarkLineLabelPosition = exports.IMarkLineLabelPosition || (exports.IMarkLineLabelPosition = {})),
15
+ function(IMarkAreaLabelPosition) {
16
+ IMarkAreaLabelPosition.left = "left", IMarkAreaLabelPosition.right = "right", IMarkAreaLabelPosition.top = "top",
17
+ IMarkAreaLabelPosition.bottom = "bottom", IMarkAreaLabelPosition.middle = "middle",
18
+ IMarkAreaLabelPosition.insideLeft = "insideLeft", IMarkAreaLabelPosition.insideRight = "insideRight",
19
+ IMarkAreaLabelPosition.insideTop = "insideTop", IMarkAreaLabelPosition.insideBottom = "insideBottom";
20
+ }(IMarkAreaLabelPosition = exports.IMarkAreaLabelPosition || (exports.IMarkAreaLabelPosition = {})),
21
+ function(IMarkCommonArcLabelPosition) {
22
+ IMarkCommonArcLabelPosition.arcInnerStart = "arcInnerStart", IMarkCommonArcLabelPosition.arcInnerEnd = "arcInnerEnd",
23
+ IMarkCommonArcLabelPosition.arcInnerMiddle = "arcInnerMiddle", IMarkCommonArcLabelPosition.arcOuterStart = "arcOuterStart",
24
+ IMarkCommonArcLabelPosition.arcOuterEnd = "arcOuterEnd", IMarkCommonArcLabelPosition.arcOuterMiddle = "arcOuterMiddle",
25
+ IMarkCommonArcLabelPosition.center = "center";
26
+ }(IMarkCommonArcLabelPosition = exports.IMarkCommonArcLabelPosition || (exports.IMarkCommonArcLabelPosition = {})),
28
27
  function(IMarkPointItemPosition) {
29
28
  IMarkPointItemPosition.top = "top", IMarkPointItemPosition.bottom = "bottom", IMarkPointItemPosition.middle = "middle",
30
29
  IMarkPointItemPosition.insideTop = "insideTop", IMarkPointItemPosition.insideBottom = "insideBottom",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/type.ts"],"names":[],"mappings":";;;AAwBA,IAAY,+BAUX;AAVD,WAAY,+BAA+B;IACzC,kDAAe,CAAA;IACf,oDAAiB,CAAA;IACjB,8CAAW,CAAA;IACX,oEAAiC,CAAA;IACjC,0EAAuC,CAAA;IACvC,sEAAmC,CAAA;IACnC,4EAAyC,CAAA;IACzC,gEAA6B,CAAA;IAC7B,sEAAmC,CAAA;AACrC,CAAC,EAVW,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAU1C;AAED,IAAY,+BAUX;AAVD,WAAY,+BAA+B;IACzC,gDAAa,CAAA;IACb,kDAAe,CAAA;IACf,8CAAW,CAAA;IACX,oDAAiB,CAAA;IACjB,oDAAiB,CAAA;IACjB,4DAAyB,CAAA;IACzB,8DAA2B,CAAA;IAC3B,0DAAuB,CAAA;IACvB,gEAA6B,CAAA;AAC/B,CAAC,EAVW,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAU1C;AAED,IAAY,uBAQX;AARD,WAAY,uBAAuB;IACjC,0DAA+B,CAAA;IAC/B,sDAA2B,CAAA;IAC3B,4DAAiC,CAAA;IACjC,0DAA+B,CAAA;IAC/B,sDAA2B,CAAA;IAC3B,4DAAiC,CAAA;IACjC,4CAAiB,CAAA;AACnB,CAAC,EARW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAQlC;AAED,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,qCAAW,CAAA;IACX,2CAAiB,CAAA;IACjB,2CAAiB,CAAA;IACjB,iDAAuB,CAAA;IACvB,uDAA6B,CAAA;IAC7B,uDAA6B,CAAA;AAC/B,CAAC,EAPW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAOjC","file":"type.js","sourcesContent":["import type {\n EasingType,\n IArcGraphicAttribute,\n IGroup,\n IGroupGraphicAttribute,\n IImageGraphicAttribute,\n ILineGraphicAttribute,\n IPolygonAttribute,\n IPolygonGraphicAttribute,\n IRectGraphicAttribute,\n IRichTextGraphicAttribute,\n ISymbolGraphicAttribute,\n ITextGraphicAttribute\n} from '@visactor/vrender-core';\nimport type {\n ArcSegmentAttributes,\n CommonSegmentAttributes,\n ILineGraphicWithCornerRadius,\n SegmentAttributes,\n SymbolAttributes\n} from '../segment';\nimport type { TagAttributes } from '../tag';\nimport type { Point, State } from '../core/type';\n\nexport enum ICartesianMarkLineLabelPosition {\n start = 'start',\n middle = 'middle',\n end = 'end',\n insideStartTop = 'insideStartTop',\n insideStartBottom = 'insideStartBottom',\n insideMiddleTop = 'insideMiddleTop',\n insideMiddleBottom = 'insideMiddleBottom',\n insideEndTop = 'insideEndTop',\n insideEndBottom = 'insideEndBottom'\n}\n\nexport enum ICartesianMarkAreaLabelPosition {\n left = 'left',\n right = 'right',\n top = 'top',\n bottom = 'bottom',\n middle = 'middle',\n insideLeft = 'insideLeft',\n insideRight = 'insideRight',\n insideTop = 'insideTop',\n insideBottom = 'insideBottom'\n}\n\nexport enum IPolarMarkLabelPosition {\n arcInnerStart = 'arcInnerStart',\n arcInnerEnd = 'arcInnerEnd',\n arcInnerMiddle = 'arcInnerMiddle',\n arcOuterStart = 'arcOuterStart',\n arcOuterEnd = 'arcOuterEnd',\n arcOuterMiddle = 'arcOuterMiddle',\n center = 'center'\n}\n\nexport enum IMarkPointItemPosition {\n top = 'top',\n bottom = 'bottom',\n middle = 'middle',\n insideTop = 'insideTop',\n insideBottom = 'insideBottom',\n insideMiddle = 'insideMiddle'\n}\n\nexport type IMarkBackgroundAttributes = {\n /**\n * 是否绘制背景层\n */\n visible: boolean;\n /**\n * TODO: 根据文字宽度进行背景 panel size自适应\n */\n autoHeight?: boolean;\n /**\n * TODO: 根据文高度度进行背景 panel size自适应\n */\n autoWidth?: boolean;\n} & Partial<SymbolAttributes>;\n\nexport type IMarkLabel = Omit<TagAttributes, 'x' | 'y' | 'panel'> & {\n /**\n * 标签的背景面板配置\n */\n panel?: IMarkBackgroundAttributes;\n};\n\nexport type IMarkRef = {\n /**\n * 自动旋转,沿着线的方向,默认 true\n */\n autoRotate?: boolean;\n /**\n * label 相对line平行方向上的偏移\n */\n refX?: number;\n /**\n * label 相对line正交方向上的偏移\n */\n refY?: number;\n /**\n * label 相对默认角度的偏移 (label跟随line的角度做自动旋转时,默认按照line的平行向量作为初始角度)\n */\n refAngle?: number;\n};\n\nexport type MarkerAttrs = IGroupGraphicAttribute & {\n type?: 'cartesian-line' | 'polar-line' | 'polar-arc-line' | 'cartesian-area' | 'polar-area' | 'point';\n /**\n * 是否支持交互\n * @default true\n */\n interactive?: boolean;\n /**\n * 是否开启选中交互\n * @default false\n */\n select?: boolean;\n /**\n * 是否开启 hover 交互\n * @default false\n */\n hover?: boolean;\n /**\n * 是否显示marker组件\n * @default true\n */\n visible?: boolean;\n /**\n * 是否将组件在绘制区域内进行剪切\n * @default true\n */\n clipInRange?: boolean;\n /**\n * 组件绘制范围配置\n */\n limitRect?: {\n x: number;\n y: number;\n width: number;\n height: number;\n };\n};\n\n/** animation type */\nexport type BaseMarkerAnimation<T> = {\n animation?: MarkerAnimation<T> | boolean;\n animationEnter?: MarkerUpdateAnimation<T>;\n animationUpdate?: MarkerUpdateAnimation<T>;\n animationExit?: MarkerExitAnimation;\n};\nexport type MarkerAnimation<T> = MarkerUpdateAnimation<T> | MarkerUpdateAnimation<T>;\n\nexport type MarkerUpdateAnimation<T> = {\n type: T;\n} & MarkerExitAnimation;\n\nexport type CommonMarkLineAnimationType = 'clipIn' | 'fadeIn';\n\nexport type CommonMarkAreaAnimationType = 'fadeIn';\n\nexport type MarkPointAnimationType = 'callIn' | 'fadeIn';\n\nexport type MarkerExitAnimation = {\n duration?: number;\n delay?: number;\n easing?: EasingType;\n};\n\n/** state type */\nexport type CommonMarkLineState = {\n line?: State<ILineGraphicWithCornerRadius | Partial<ILineGraphicAttribute>[] | IArcGraphicAttribute>;\n lineStartSymbol?: State<Partial<ISymbolGraphicAttribute>>;\n lineEndSymbol?: State<Partial<ISymbolGraphicAttribute>>;\n label?: State<Partial<ITextGraphicAttribute>>;\n labelBackground?: State<Partial<IRectGraphicAttribute>>;\n};\n\nexport type CartesianMarkAreaState = {\n area?: State<Partial<IPolygonGraphicAttribute>>;\n label?: State<Partial<ITextGraphicAttribute>>;\n labelBackground?: State<Partial<IRectGraphicAttribute>>;\n};\n\nexport type PolarMarkAreaState = {\n area?: State<Partial<IArcGraphicAttribute>>;\n label?: State<Partial<ITextGraphicAttribute>>;\n labelBackground?: State<Partial<IRectGraphicAttribute>>;\n};\n\nexport type MarkPointState = {\n line?: State<ILineGraphicWithCornerRadius | Partial<ILineGraphicAttribute>[]>;\n lineStartSymbol?: State<Partial<ISymbolGraphicAttribute>>;\n lineEndSymbol?: State<Partial<ISymbolGraphicAttribute>>;\n symbol?: State<Partial<ISymbolGraphicAttribute>>;\n image?: State<Partial<IImageGraphicAttribute>>;\n text?: State<Partial<ITextGraphicAttribute>>;\n textBackground?: State<Partial<IRectGraphicAttribute>>;\n richText?: State<Partial<IRichTextGraphicAttribute>>;\n customMark?: State<Partial<IGroupGraphicAttribute>>;\n};\n\nexport type CommonMarkLineAttrs<T> = MarkerAttrs &\n Omit<CommonSegmentAttributes, 'state' | 'lineStyle'> & {\n /**\n * 标签\n */\n label?: {\n /**\n * label 相对line的位置\n */\n position?: T;\n /**\n * 当 mark 配置了 limitRect 之后,label 是否自动调整位置\n * @default false\n */\n confine?: boolean;\n } & IMarkRef &\n IMarkLabel;\n state?: CommonMarkLineState;\n } & BaseMarkerAnimation<CommonMarkLineAnimationType>;\n\nexport type CartesianMarkLineAttrs = CommonMarkLineAttrs<keyof typeof ICartesianMarkLineLabelPosition> & {\n type?: 'cartesian-line';\n /**\n * 是否对 points 进行多段处理,默认为 false,即直接将所有的点连接成线。\n * 如果需要进行多段处理,需要将 points 属性配置为 Point[][] 类型\n * @default false\n */\n multiSegment?: boolean;\n /**\n * 在 `multiSegment` 属性开启的前提下,用于声明那一段线段用来作为主线段,如果不声明,默认全段为主线段\n */\n mainSegmentIndex?: number;\n /**\n * 构成line的点: 如果是两个点,则为直线;多个点则为曲线\n */\n points: Point[] | Point[][];\n lineStyle?: ILineGraphicAttribute;\n};\n\nexport type PolarMarkLineAttrs = CommonMarkLineAttrs<keyof typeof ICartesianMarkLineLabelPosition> & {\n type?: 'polar-line';\n /**\n * 构成line的点: 如果是两个点,则为直线;多个点则为曲线\n */\n points: Point[] | Point[][];\n lineStyle?: ILineGraphicAttribute;\n};\n\nexport type PolarMarkArcLineAttrs = CommonMarkLineAttrs<keyof typeof IPolarMarkLabelPosition> & {\n type?: 'polar-arc-line';\n /**\n * 弧线中心位置\n */\n center: {\n x: number;\n y: number;\n };\n /**\n * 弧线半径\n */\n radius: number;\n /**\n * 弧线起始角度(弧度)\n */\n startAngle: number;\n /**\n * 弧线终点角度(弧度)\n */\n endAngle: number;\n lineStyle?: IArcGraphicAttribute;\n};\n\nexport type CartesianMarkAreaAttrs = MarkerAttrs & {\n type?: 'cartesian-area';\n /**\n * 构成area的点\n */\n points: Point[];\n /**\n * 标签\n */\n label?: {\n position?: keyof typeof ICartesianMarkAreaLabelPosition;\n /**\n * 当 mark 配置了 limitRect 之后,label 是否自动调整位置\n * @default false\n */\n confine?: boolean;\n } & IMarkLabel;\n /**\n * area的样式\n */\n areaStyle?: IPolygonAttribute;\n\n state?: CartesianMarkAreaState;\n} & BaseMarkerAnimation<CommonMarkAreaAnimationType>;\n\nexport type PolarMarkAreaAttrs = MarkerAttrs & {\n type?: 'polar-area';\n /**\n * 扇区中心位置\n */\n center: {\n x: number;\n y: number;\n };\n /**\n * 扇区内半径\n */\n innerRadius: number;\n /**\n * 扇区外半径\n */\n outerRadius: number;\n /**\n * 扇区起始角度(弧度)\n */\n startAngle: number;\n /**\n * 扇区终点角度(弧度)\n */\n endAngle: number;\n /**\n * 标签\n */\n label?: {\n position?: keyof typeof IPolarMarkLabelPosition;\n /**\n * 当 mark 配置了 limitRect 之后,label 是否自动调整位置\n * @default false\n */\n confine?: boolean;\n } & IMarkRef &\n IMarkLabel;\n /**\n * area的样式\n */\n areaStyle?: IArcGraphicAttribute;\n\n state?: PolarMarkAreaState;\n} & BaseMarkerAnimation<CommonMarkAreaAnimationType>;\n\nexport type IItemContent = IMarkRef & {\n /**\n * 标注类型\n * Tips: 保留'richText'与之前的定义做兼容\n */\n type?: 'symbol' | 'text' | 'image' | 'richText' | 'custom';\n position?: keyof typeof IMarkPointItemPosition;\n /**\n * x 方向偏移量\n */\n offsetX?: number;\n /**\n * y 方向偏移量\n */\n offsetY?: number;\n /**\n * type为symbol时, symbol的样式\n */\n symbolStyle?: ISymbolGraphicAttribute;\n /**\n * type为image时, image的样式\n */\n imageStyle?: IImageGraphicAttribute;\n /**\n * type为text时, text的配置\n * 'text'类型的ItemContent新增三种子类型:'text','rich','html'。配置在textStyle.type上,继承自TagAttributes。\n */\n textStyle?: IMarkLabel;\n /**\n * type为rich text时, rich text的样式\n */\n richTextStyle?: IRichTextGraphicAttribute;\n /**\n * type为custom时,允许以callback的方式传入需要render的item\n */\n renderCustomCallback?: () => IGroup;\n /**\n * 当 mark 配置了 limitRect 之后,label 是否自动调整位置\n * @default false\n */\n confine?: boolean;\n};\n\nexport type IItemLine = {\n /** TODO:'type-opo' */\n type?: 'type-s' | 'type-do' | 'type-po' | 'type-op';\n visible?: boolean;\n /**\n * 垂直于引导线的装饰线,参考案例: https://observablehq.com/@mikelotis/edmonton-population-history-line-chart\n */\n decorativeLine?: {\n visible?: boolean;\n length?: number;\n };\n} & Omit<SegmentAttributes, 'points'>;\n\nexport type MarkPointAttrs = Omit<MarkerAttrs, 'labelStyle'> & {\n /**\n * markPoint的位置(也是path的起点)\n */\n position: Point;\n /**\n * 标注引导线\n */\n itemLine?: IItemLine;\n\n /**\n * 标注内容\n */\n itemContent?: IItemContent;\n\n state?: MarkPointState;\n} & BaseMarkerAnimation<MarkPointAnimationType>;\n"]}
1
+ {"version":3,"sources":["../src/marker/type.ts"],"names":[],"mappings":";;;AAwBA,IAAY,sBAUX;AAVD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,2CAAiB,CAAA;IACjB,qCAAW,CAAA;IACX,2DAAiC,CAAA;IACjC,iEAAuC,CAAA;IACvC,6DAAmC,CAAA;IACnC,mEAAyC,CAAA;IACzC,uDAA6B,CAAA;IAC7B,6DAAmC,CAAA;AACrC,CAAC,EAVW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAUjC;AAED,IAAY,sBAUX;AAVD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,yCAAe,CAAA;IACf,qCAAW,CAAA;IACX,2CAAiB,CAAA;IACjB,2CAAiB,CAAA;IACjB,mDAAyB,CAAA;IACzB,qDAA2B,CAAA;IAC3B,iDAAuB,CAAA;IACvB,uDAA6B,CAAA;AAC/B,CAAC,EAVW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAUjC;AAED,IAAY,2BAQX;AARD,WAAY,2BAA2B;IACrC,8DAA+B,CAAA;IAC/B,0DAA2B,CAAA;IAC3B,gEAAiC,CAAA;IACjC,8DAA+B,CAAA;IAC/B,0DAA2B,CAAA;IAC3B,gEAAiC,CAAA;IACjC,gDAAiB,CAAA;AACnB,CAAC,EARW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAQtC;AAED,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,qCAAW,CAAA;IACX,2CAAiB,CAAA;IACjB,2CAAiB,CAAA;IACjB,iDAAuB,CAAA;IACvB,uDAA6B,CAAA;IAC7B,uDAA6B,CAAA;AAC/B,CAAC,EAPW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAOjC","file":"type.js","sourcesContent":["import type {\n EasingType,\n IArcGraphicAttribute,\n IGroup,\n IGroupGraphicAttribute,\n IImageGraphicAttribute,\n ILineGraphicAttribute,\n IPolygonAttribute,\n IPolygonGraphicAttribute,\n IRectGraphicAttribute,\n IRichTextGraphicAttribute,\n ISymbolGraphicAttribute,\n ITextGraphicAttribute\n} from '@visactor/vrender-core';\nimport type {\n ArcSegmentAttributes,\n CommonSegmentAttributes,\n ILineGraphicWithCornerRadius,\n SegmentAttributes,\n SymbolAttributes\n} from '../segment';\nimport type { TagAttributes } from '../tag';\nimport type { Point, State } from '../core/type';\n\nexport enum IMarkLineLabelPosition {\n start = 'start',\n middle = 'middle',\n end = 'end',\n insideStartTop = 'insideStartTop',\n insideStartBottom = 'insideStartBottom',\n insideMiddleTop = 'insideMiddleTop',\n insideMiddleBottom = 'insideMiddleBottom',\n insideEndTop = 'insideEndTop',\n insideEndBottom = 'insideEndBottom'\n}\n\nexport enum IMarkAreaLabelPosition {\n left = 'left',\n right = 'right',\n top = 'top',\n bottom = 'bottom',\n middle = 'middle',\n insideLeft = 'insideLeft',\n insideRight = 'insideRight',\n insideTop = 'insideTop',\n insideBottom = 'insideBottom'\n}\n\nexport enum IMarkCommonArcLabelPosition {\n arcInnerStart = 'arcInnerStart',\n arcInnerEnd = 'arcInnerEnd',\n arcInnerMiddle = 'arcInnerMiddle',\n arcOuterStart = 'arcOuterStart',\n arcOuterEnd = 'arcOuterEnd',\n arcOuterMiddle = 'arcOuterMiddle',\n center = 'center'\n}\n\nexport enum IMarkPointItemPosition {\n top = 'top',\n bottom = 'bottom',\n middle = 'middle',\n insideTop = 'insideTop',\n insideBottom = 'insideBottom',\n insideMiddle = 'insideMiddle'\n}\n\nexport type IMarkBackgroundAttributes = {\n /**\n * 是否绘制背景层\n */\n visible: boolean;\n /**\n * TODO: 根据文字宽度进行背景 panel size自适应\n */\n autoHeight?: boolean;\n /**\n * TODO: 根据文高度度进行背景 panel size自适应\n */\n autoWidth?: boolean;\n} & Partial<SymbolAttributes>;\n\nexport type IMarkLabel = Omit<TagAttributes, 'x' | 'y' | 'panel'> & {\n /**\n * 标签的背景面板配置\n */\n panel?: IMarkBackgroundAttributes;\n};\n\nexport type IMarkRef = {\n /**\n * 自动旋转,沿着线的方向,默认 true\n */\n autoRotate?: boolean;\n /**\n * label 相对line平行方向上的偏移\n */\n refX?: number;\n /**\n * label 相对line正交方向上的偏移\n */\n refY?: number;\n /**\n * label 相对默认角度的偏移 (label跟随line的角度做自动旋转时,默认按照line的平行向量作为初始角度)\n */\n refAngle?: number;\n};\n\nexport type MarkerAttrs = IGroupGraphicAttribute & {\n type?: 'line' | 'arc-line' | 'area' | 'arc-area' | 'point';\n /**\n * 是否支持交互\n * @default true\n */\n interactive?: boolean;\n /**\n * 是否开启选中交互\n * @default false\n */\n select?: boolean;\n /**\n * 是否开启 hover 交互\n * @default false\n */\n hover?: boolean;\n /**\n * 是否显示marker组件\n * @default true\n */\n visible?: boolean;\n /**\n * 是否将组件在绘制区域内进行剪切\n * @default true\n */\n clipInRange?: boolean;\n /**\n * 组件绘制范围配置\n */\n limitRect?: {\n x: number;\n y: number;\n width: number;\n height: number;\n };\n};\n\n/** animation type */\nexport type BaseMarkerAnimation<T> = {\n animation?: MarkerAnimation<T> | boolean;\n animationEnter?: MarkerUpdateAnimation<T>;\n animationUpdate?: MarkerUpdateAnimation<T>;\n animationExit?: MarkerExitAnimation;\n};\nexport type MarkerAnimation<T> = MarkerUpdateAnimation<T> | MarkerUpdateAnimation<T>;\n\nexport type MarkerUpdateAnimation<T> = {\n type: T;\n} & MarkerExitAnimation;\n\nexport type CommonMarkLineAnimationType = 'clipIn' | 'fadeIn';\n\nexport type CommonMarkAreaAnimationType = 'fadeIn';\n\nexport type MarkPointAnimationType = 'callIn' | 'fadeIn';\n\nexport type MarkerExitAnimation = {\n duration?: number;\n delay?: number;\n easing?: EasingType;\n};\n\n/** state type */\nexport type CommonMarkLineState<LineAttr> = {\n line?: State<LineAttr>;\n lineStartSymbol?: State<Partial<ISymbolGraphicAttribute>>;\n lineEndSymbol?: State<Partial<ISymbolGraphicAttribute>>;\n label?: State<Partial<ITextGraphicAttribute>>;\n labelBackground?: State<Partial<IRectGraphicAttribute>>;\n};\n\nexport type CommonMarkAreaState<AreaAttr> = {\n area?: State<Partial<AreaAttr>>;\n label?: State<Partial<ITextGraphicAttribute>>;\n labelBackground?: State<Partial<IRectGraphicAttribute>>;\n};\n\nexport type MarkPointState = {\n line?: State<ILineGraphicWithCornerRadius | Partial<ILineGraphicAttribute>[]>;\n lineStartSymbol?: State<Partial<ISymbolGraphicAttribute>>;\n lineEndSymbol?: State<Partial<ISymbolGraphicAttribute>>;\n symbol?: State<Partial<ISymbolGraphicAttribute>>;\n image?: State<Partial<IImageGraphicAttribute>>;\n text?: State<Partial<ITextGraphicAttribute>>;\n textBackground?: State<Partial<IRectGraphicAttribute>>;\n richText?: State<Partial<IRichTextGraphicAttribute>>;\n customMark?: State<Partial<IGroupGraphicAttribute>>;\n};\n\nexport type CommonMarkLineAttrs<LineAttr, LineLabelPosition> = MarkerAttrs &\n Omit<CommonSegmentAttributes, 'state' | 'lineStyle'> & {\n /**\n * 标签\n */\n label?: {\n /**\n * label 相对line的位置\n */\n position?: LineLabelPosition;\n /**\n * 当 mark 配置了 limitRect 之后,label 是否自动调整位置\n * @default false\n */\n confine?: boolean;\n } & IMarkRef &\n IMarkLabel;\n state?: CommonMarkLineState<LineAttr>;\n } & BaseMarkerAnimation<CommonMarkLineAnimationType>;\n\nexport type MarkLineAttrs = CommonMarkLineAttrs<\n ILineGraphicWithCornerRadius | ILineGraphicAttribute[],\n keyof typeof IMarkLineLabelPosition\n> & {\n type?: 'line';\n /**\n * 是否对 points 进行多段处理,默认为 false,即直接将所有的点连接成线。\n * 如果需要进行多段处理,需要将 points 属性配置为 Point[][] 类型\n * @default false\n */\n multiSegment?: boolean;\n /**\n * 在 `multiSegment` 属性开启的前提下,用于声明那一段线段用来作为主线段,如果不声明,默认全段为主线段\n */\n mainSegmentIndex?: number;\n /**\n * 构成line的点: 如果是两个点,则为直线;多个点则为曲线\n */\n points: Point[] | Point[][];\n lineStyle?: ILineGraphicAttribute;\n};\n\nexport type MarkArcLineAttrs = CommonMarkLineAttrs<IArcGraphicAttribute, keyof typeof IMarkCommonArcLabelPosition> & {\n type?: 'arc-line';\n /**\n * 弧线中心位置\n */\n center: {\n x: number;\n y: number;\n };\n /**\n * 弧线半径\n */\n radius: number;\n /**\n * 弧线起始角度(弧度)\n */\n startAngle: number;\n /**\n * 弧线终点角度(弧度)\n */\n endAngle: number;\n lineStyle?: IArcGraphicAttribute;\n};\n\nexport type MarkAreaAttrs = MarkerAttrs & {\n type?: 'area';\n /**\n * 构成area的点\n */\n points: Point[];\n /**\n * 标签\n */\n label?: {\n position?: keyof typeof IMarkAreaLabelPosition;\n /**\n * 当 mark 配置了 limitRect 之后,label 是否自动调整位置\n * @default false\n */\n confine?: boolean;\n } & IMarkLabel;\n /**\n * area的样式\n */\n areaStyle?: IPolygonAttribute;\n\n state?: CommonMarkAreaState<IPolygonGraphicAttribute>;\n} & BaseMarkerAnimation<CommonMarkAreaAnimationType>;\n\nexport type MarkArcAreaAttrs = MarkerAttrs & {\n type?: 'arc-area';\n /**\n * 扇区中心位置\n */\n center: {\n x: number;\n y: number;\n };\n /**\n * 扇区内半径\n */\n innerRadius: number;\n /**\n * 扇区外半径\n */\n outerRadius: number;\n /**\n * 扇区起始角度(弧度)\n */\n startAngle: number;\n /**\n * 扇区终点角度(弧度)\n */\n endAngle: number;\n /**\n * 标签\n */\n label?: {\n position?: keyof typeof IMarkCommonArcLabelPosition;\n /**\n * 当 mark 配置了 limitRect 之后,label 是否自动调整位置\n * @default false\n */\n confine?: boolean;\n } & IMarkRef &\n IMarkLabel;\n /**\n * area的样式\n */\n areaStyle?: IArcGraphicAttribute;\n\n state?: CommonMarkAreaState<IArcGraphicAttribute>;\n} & BaseMarkerAnimation<CommonMarkAreaAnimationType>;\n\nexport type IItemContent = IMarkRef & {\n /**\n * 标注类型\n * Tips: 保留'richText'与之前的定义做兼容\n */\n type?: 'symbol' | 'text' | 'image' | 'richText' | 'custom';\n position?: keyof typeof IMarkPointItemPosition;\n /**\n * x 方向偏移量\n */\n offsetX?: number;\n /**\n * y 方向偏移量\n */\n offsetY?: number;\n /**\n * type为symbol时, symbol的样式\n */\n symbolStyle?: ISymbolGraphicAttribute;\n /**\n * type为image时, image的样式\n */\n imageStyle?: IImageGraphicAttribute;\n /**\n * type为text时, text的配置\n * 'text'类型的ItemContent新增三种子类型:'text','rich','html'。配置在textStyle.type上,继承自TagAttributes。\n */\n textStyle?: IMarkLabel;\n /**\n * type为rich text时, rich text的样式\n */\n richTextStyle?: IRichTextGraphicAttribute;\n /**\n * type为custom时,允许以callback的方式传入需要render的item\n */\n renderCustomCallback?: () => IGroup;\n /**\n * 当 mark 配置了 limitRect 之后,label 是否自动调整位置\n * @default false\n */\n confine?: boolean;\n};\n\nexport type IItemLine = {\n /** TODO:'type-opo' */\n type?: 'type-s' | 'type-do' | 'type-po' | 'type-op';\n visible?: boolean;\n /**\n * 垂直于引导线的装饰线,参考案例: https://observablehq.com/@mikelotis/edmonton-population-history-line-chart\n */\n decorativeLine?: {\n visible?: boolean;\n length?: number;\n };\n} & Omit<SegmentAttributes, 'points'>;\n\nexport type MarkPointAttrs = Omit<MarkerAttrs, 'labelStyle'> & {\n /**\n * markPoint的位置(也是path的起点)\n */\n position: Point;\n /**\n * 标注引导线\n */\n itemLine?: IItemLine;\n\n /**\n * 标注内容\n */\n itemContent?: IItemContent;\n\n state?: MarkPointState;\n} & BaseMarkerAnimation<MarkPointAnimationType>;\n"]}
package/es/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const version = "0.18.10-alpha.2";
1
+ export declare const version = "0.18.10-alpha.3";
2
2
  export * from './core/base';
3
3
  export * from './core/type';
4
4
  export * from './scrollbar';
package/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export const version = "0.18.10-alpha.2";
1
+ export const version = "0.18.10-alpha.3";
2
2
 
3
3
  export * from "./core/base";
4
4
 
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAEzC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC","file":"index.js","sourcesContent":["// 导出版本号\nexport const version = \"0.18.10-alpha.2\";\n\nexport * from './core/base';\nexport * from './core/type';\nexport * from './scrollbar';\nexport * from './tag';\nexport * from './poptip';\nexport * from './crosshair';\nexport * from './label';\nexport * from './axis';\nexport * from './axis/grid';\nexport * from './segment';\nexport * from './data-zoom';\nexport * from './marker';\nexport * from './pager';\nexport * from './legend';\nexport * from './title';\nexport * from './indicator';\nexport * from './slider';\nexport * from './link-path';\nexport * from './player';\nexport * from './brush';\nexport * from './tooltip';\nexport * from './interface';\nexport * from './jsx';\nexport * from './checkbox';\nexport * from './util';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAEzC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC","file":"index.js","sourcesContent":["// 导出版本号\nexport const version = \"0.18.10-alpha.3\";\n\nexport * from './core/base';\nexport * from './core/type';\nexport * from './scrollbar';\nexport * from './tag';\nexport * from './poptip';\nexport * from './crosshair';\nexport * from './label';\nexport * from './axis';\nexport * from './axis/grid';\nexport * from './segment';\nexport * from './data-zoom';\nexport * from './marker';\nexport * from './pager';\nexport * from './legend';\nexport * from './title';\nexport * from './indicator';\nexport * from './slider';\nexport * from './link-path';\nexport * from './player';\nexport * from './brush';\nexport * from './tooltip';\nexport * from './interface';\nexport * from './jsx';\nexport * from './checkbox';\nexport * from './util';\n"]}
@@ -1,14 +1,14 @@
1
1
  import type { IArc, IGroup } from '@visactor/vrender-core';
2
- import { Tag } from '../../tag';
3
- import { Marker } from '../base';
4
- import { IPolarMarkLabelPosition, type PolarMarkAreaAttrs } from '../type';
5
- import type { ComponentOptions } from '../../interface';
6
- export declare class PolarMarkArea extends Marker<PolarMarkAreaAttrs> {
2
+ import { Tag } from '../tag';
3
+ import { Marker } from './base';
4
+ import { IMarkCommonArcLabelPosition, type MarkArcAreaAttrs } from './type';
5
+ import type { ComponentOptions } from '../interface';
6
+ export declare class MarkArcArea extends Marker<MarkArcAreaAttrs> {
7
7
  name: string;
8
8
  static defaultAttributes: {
9
9
  interactive: boolean;
10
10
  label: {
11
- position: IPolarMarkLabelPosition;
11
+ position: IMarkCommonArcLabelPosition;
12
12
  textStyle: {
13
13
  fill: string;
14
14
  stroke: string;
@@ -35,7 +35,7 @@ export declare class PolarMarkArea extends Marker<PolarMarkAreaAttrs> {
35
35
  private _area;
36
36
  getArea(): IArc;
37
37
  getLabel(): Tag;
38
- constructor(attributes: PolarMarkAreaAttrs, options?: ComponentOptions);
38
+ constructor(attributes: MarkArcAreaAttrs, options?: ComponentOptions);
39
39
  protected getPositionByDirection(direction: string): {
40
40
  position: {
41
41
  x: number;