@visactor/vrender-components 0.22.7-alpha.7 → 0.22.7-alpha.9

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 (104) hide show
  1. package/cjs/axis/util.js +7 -6
  2. package/cjs/axis/util.js.map +1 -1
  3. package/cjs/brush/type.js +1 -2
  4. package/cjs/index.d.ts +1 -1
  5. package/cjs/index.js +1 -1
  6. package/cjs/index.js.map +1 -1
  7. package/cjs/marker/animate/animate.d.ts +3 -3
  8. package/cjs/marker/animate/animate.js.map +1 -1
  9. package/cjs/marker/animate/clip-in.d.ts +1 -1
  10. package/cjs/marker/animate/clip-in.js +6 -3
  11. package/cjs/marker/animate/clip-in.js.map +1 -1
  12. package/cjs/marker/animate/fade-in.d.ts +3 -3
  13. package/cjs/marker/animate/fade-in.js +10 -4
  14. package/cjs/marker/animate/fade-in.js.map +1 -1
  15. package/cjs/marker/animate/fade-out.d.ts +3 -3
  16. package/cjs/marker/animate/fade-out.js +10 -4
  17. package/cjs/marker/animate/fade-out.js.map +1 -1
  18. package/cjs/marker/arc-area.d.ts +8 -5
  19. package/cjs/marker/arc-area.js +18 -39
  20. package/cjs/marker/arc-area.js.map +1 -1
  21. package/cjs/marker/arc-line.d.ts +6 -4
  22. package/cjs/marker/arc-line.js +12 -9
  23. package/cjs/marker/arc-line.js.map +1 -1
  24. package/cjs/marker/area.d.ts +6 -4
  25. package/cjs/marker/area.js +14 -32
  26. package/cjs/marker/area.js.map +1 -1
  27. package/cjs/marker/base.d.ts +2 -3
  28. package/cjs/marker/base.js.map +1 -1
  29. package/cjs/marker/common-line.d.ts +11 -7
  30. package/cjs/marker/common-line.js +11 -31
  31. package/cjs/marker/common-line.js.map +1 -1
  32. package/cjs/marker/config.d.ts +2 -0
  33. package/cjs/marker/config.js +2 -0
  34. package/cjs/marker/config.js.map +1 -1
  35. package/cjs/marker/line.d.ts +6 -4
  36. package/cjs/marker/line.js +10 -4
  37. package/cjs/marker/line.js.map +1 -1
  38. package/cjs/marker/mixin/label.d.ts +16 -0
  39. package/cjs/marker/mixin/label.js +57 -0
  40. package/cjs/marker/mixin/label.js.map +1 -0
  41. package/cjs/marker/type.d.ts +19 -16
  42. package/cjs/marker/type.js.map +1 -1
  43. package/cjs/poptip/contribution.js +4 -2
  44. package/cjs/poptip/contribution.js.map +1 -1
  45. package/cjs/poptip/poptip.d.ts +5 -0
  46. package/cjs/poptip/poptip.js +87 -18
  47. package/cjs/poptip/poptip.js.map +1 -1
  48. package/cjs/poptip/type.d.ts +4 -1
  49. package/cjs/poptip/type.js.map +1 -1
  50. package/cjs/switch/switch.js +2 -2
  51. package/cjs/switch/switch.js.map +1 -1
  52. package/dist/index.es.js +287 -173
  53. package/es/axis/util.js +7 -7
  54. package/es/axis/util.js.map +1 -1
  55. package/es/brush/type.js +1 -2
  56. package/es/index.d.ts +1 -1
  57. package/es/index.js +1 -1
  58. package/es/index.js.map +1 -1
  59. package/es/marker/animate/animate.d.ts +3 -3
  60. package/es/marker/animate/animate.js.map +1 -1
  61. package/es/marker/animate/clip-in.d.ts +1 -1
  62. package/es/marker/animate/clip-in.js +6 -2
  63. package/es/marker/animate/clip-in.js.map +1 -1
  64. package/es/marker/animate/fade-in.d.ts +3 -3
  65. package/es/marker/animate/fade-in.js +11 -3
  66. package/es/marker/animate/fade-in.js.map +1 -1
  67. package/es/marker/animate/fade-out.d.ts +3 -3
  68. package/es/marker/animate/fade-out.js +11 -3
  69. package/es/marker/animate/fade-out.js.map +1 -1
  70. package/es/marker/arc-area.d.ts +8 -5
  71. package/es/marker/arc-area.js +19 -41
  72. package/es/marker/arc-area.js.map +1 -1
  73. package/es/marker/arc-line.d.ts +6 -4
  74. package/es/marker/arc-line.js +12 -9
  75. package/es/marker/arc-line.js.map +1 -1
  76. package/es/marker/area.d.ts +6 -4
  77. package/es/marker/area.js +15 -34
  78. package/es/marker/area.js.map +1 -1
  79. package/es/marker/base.d.ts +2 -3
  80. package/es/marker/base.js.map +1 -1
  81. package/es/marker/common-line.d.ts +11 -7
  82. package/es/marker/common-line.js +14 -34
  83. package/es/marker/common-line.js.map +1 -1
  84. package/es/marker/config.d.ts +2 -0
  85. package/es/marker/config.js +2 -0
  86. package/es/marker/config.js.map +1 -1
  87. package/es/marker/line.d.ts +6 -4
  88. package/es/marker/line.js +10 -4
  89. package/es/marker/line.js.map +1 -1
  90. package/es/marker/mixin/label.d.ts +16 -0
  91. package/es/marker/mixin/label.js +45 -0
  92. package/es/marker/mixin/label.js.map +1 -0
  93. package/es/marker/type.d.ts +19 -16
  94. package/es/marker/type.js.map +1 -1
  95. package/es/poptip/contribution.js +4 -2
  96. package/es/poptip/contribution.js.map +1 -1
  97. package/es/poptip/poptip.d.ts +5 -0
  98. package/es/poptip/poptip.js +85 -19
  99. package/es/poptip/poptip.js.map +1 -1
  100. package/es/poptip/type.d.ts +4 -1
  101. package/es/poptip/type.js.map +1 -1
  102. package/es/switch/switch.js +2 -2
  103. package/es/switch/switch.js.map +1 -1
  104. package/package.json +8 -8
package/cjs/axis/util.js CHANGED
@@ -86,11 +86,11 @@ function getPolygonPath(points, closed) {
86
86
 
87
87
  function textIntersect(textA, textB, sep) {
88
88
  var _a;
89
- let a, b;
90
- const angle = null === (_a = textA.attribute) || void 0 === _a ? void 0 : _a.angle, isAABBIntersects = (textA, textB, sep) => (a = textA.AABBBounds,
91
- b = textB.AABBBounds, sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2));
92
- return (0, util_2.isAngleHorizontal)(angle, Number.EPSILON) ? isAABBIntersects(textA, textB, sep) : (a = textA.OBBBounds,
93
- b = textB.OBBBounds, !a || !b || a.empty() || b.empty() ? isAABBIntersects(textA, textB, sep) : a.intersects(b));
89
+ const angle = null === (_a = textA.attribute) || void 0 === _a ? void 0 : _a.angle;
90
+ if ((0, util_2.isAngleHorizontal)(angle, Number.EPSILON)) return sep > (0, vutils_1.aabbSeparation)(textA.AABBBounds, textB.AABBBounds);
91
+ const a = textA.OBBBounds, b = textB.OBBBounds;
92
+ return !a || !b || a.empty() || b.empty() ? sep > (0, vutils_1.aabbSeparation)(textA.AABBBounds, textB.AABBBounds) : a.intersects(b) || sep > (0,
93
+ vutils_1.obbSeparation)(a, b);
94
94
  }
95
95
 
96
96
  function hasOverlap(items, pad) {
@@ -104,4 +104,5 @@ exports.getAxisBreakSymbolAttrs = getAxisBreakSymbolAttrs, exports.getElMap = ge
104
104
  exports.getVerticalCoord = getVerticalCoord, exports.getCircleVerticalVector = getCircleVerticalVector,
105
105
  exports.angleLabelOrientAttribute = angleLabelOrientAttribute, exports.getPolarAngleLabelPosition = getPolarAngleLabelPosition,
106
106
  exports.getCirclePoints = getCirclePoints, exports.getPolygonPath = getPolygonPath,
107
- exports.textIntersect = textIntersect, exports.hasOverlap = hasOverlap;
107
+ exports.textIntersect = textIntersect, exports.hasOverlap = hasOverlap;
108
+ //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/axis/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["// eslint-disable-next-line no-duplicate-imports\nimport type { IGraphic, IGroup, IText, TextAlignType, TextBaselineType } from '@visactor/vrender-core';\nimport type { Dict, IBounds } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isGreater, isLess, tau, normalizeAngle, polarToCartesian, merge } from '@visactor/vutils';\nimport { traverseGroup } from '../util/common';\nimport type { Vector2 } from '../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { scale, length } from '../util';\nimport type { BreakSymbol } from './type';\nimport { DEFAULT_AXIS_BREAK_SYMBOL_STYLE } from './config';\nimport type { Point } from '../core/type';\nimport { isAngleHorizontal } from './overlap/util';\n\n// 和 vutils 版本不同\nexport const clampRadian = (angle: number = 0) => {\n if (angle < 0) {\n while (angle < 0) {\n angle += tau;\n }\n } else if (angle > 0) {\n while (angle > tau) {\n angle -= tau;\n }\n }\n return angle;\n};\n\n// 判断数值是否在制定范围内,包含误差\nexport function isInRange(a: number, min: number, max: number) {\n return !isLess(a, min, 0, 1e-6) && !isGreater(a, max, 0, 1e-6);\n}\n\nexport function getCircleLabelPosition(tickPosition: Point, tickVector: [number, number]) {\n return {\n x: tickPosition.x + tickVector[0],\n y: tickPosition.y + tickVector[1]\n };\n}\n\nexport function getAxisBreakSymbolAttrs(props: BreakSymbol = {}) {\n const { style = {}, angle = Math.PI * 0.5 } = props;\n const symbolStyle = merge({}, DEFAULT_AXIS_BREAK_SYMBOL_STYLE, style);\n const symbolSize = symbolStyle.size ?? DEFAULT_AXIS_BREAK_SYMBOL_STYLE.size;\n return {\n ...symbolStyle,\n symbolType:\n symbolStyle.symbolType ??\n `M ${-symbolSize / 2} ${symbolSize * Math.sin(angle)} L ${symbolSize / 2} ${-symbolSize * Math.sin(angle)}`,\n symbolSize\n };\n}\nexport function getElMap(g: IGroup) {\n const elMap: Dict<IGraphic> = {};\n traverseGroup(g, (el: IGraphic) => {\n if ((el as IGraphic).type !== 'group' && el.id) {\n elMap[el.id] = el;\n }\n });\n return elMap;\n}\n\nexport function getVerticalCoord(point: Point, vector: Vector2): Point {\n return {\n x: point.x + vector[0],\n y: point.y + vector[1]\n };\n}\n\nexport function getCircleVerticalVector(\n offset: number,\n point: Point,\n center: Point,\n inside = false,\n axisInside = false\n): Vector2 {\n const vector: [number, number] = [point.x - center.x, point.y - center.y];\n return scale(vector, ((inside ? -1 : 1) * (axisInside ? -1 : 1) * offset) / length(vector));\n}\n\n/**\n * 计算对应角度下的角度轴标签定位属性\n * @param angle 弧度角,需要注意是逆时针计算的\n * @returns\n */\nexport function angleLabelOrientAttribute(angle: number) {\n let align: TextAlignType = 'center';\n let baseline: TextBaselineType = 'middle';\n\n angle = normalizeAngle(angle);\n\n // left: 5/3 - 1/3; right: 2/3 - 4/3; center: 5/3 - 1/3 & 2/3 - 4/3\n if (angle >= Math.PI * (5 / 3) || angle <= Math.PI * (1 / 3)) {\n align = 'left';\n } else if (angle >= Math.PI * (2 / 3) && angle <= Math.PI * (4 / 3)) {\n align = 'right';\n } else {\n align = 'center';\n }\n\n // bottom: 7/6 - 11/6; top: 1/6 - 5/6; middle: 11/6 - 1/6 & 5/6 - 7/6\n if (angle >= Math.PI * (7 / 6) && angle <= Math.PI * (11 / 6)) {\n baseline = 'bottom';\n } else if (angle >= Math.PI * (1 / 6) && angle <= Math.PI * (5 / 6)) {\n baseline = 'top';\n } else {\n baseline = 'middle';\n }\n\n return { align, baseline };\n}\n\nexport function getPolarAngleLabelPosition(\n angle: number,\n center: { x: number; y: number },\n radius: number,\n labelOffset: number,\n inside: boolean\n) {\n const point = polarToCartesian({ x: 0, y: 0 }, radius, angle);\n const labelPoint = getVerticalCoord(point, getCircleVerticalVector(labelOffset, point, center, inside));\n const vector = getCircleVerticalVector(labelOffset || 1, labelPoint, center, inside);\n return getCircleLabelPosition(labelPoint, vector);\n}\n\nexport function getCirclePoints(center: Point, count: number, radius: number, startAngle: number, endAngle: number) {\n const points: Point[] = [];\n const range = endAngle - startAngle;\n for (let i = 0; i < count; i++) {\n const angle = startAngle + (i * range) / count;\n points.push(polarToCartesian(center, radius, angle));\n }\n return points;\n}\n\nexport function getPolygonPath(points: Point[], closed: boolean) {\n let path = '';\n if (points.length === 0) {\n return path;\n }\n points.forEach((point, index) => {\n if (index === 0) {\n path = `M${point.x},${point.y}`;\n } else {\n path += `L${point.x},${point.y}`;\n }\n });\n if (closed) {\n path += 'Z';\n }\n\n return path;\n}\n\nexport function textIntersect(textA: IText, textB: IText, sep: number) {\n let a: IBounds;\n let b: IBounds;\n // 注意:默认旋转角度一样\n const angle = textA.attribute?.angle;\n const isHorizontal = isAngleHorizontal(angle, Number.EPSILON);\n const isAABBIntersects = (textA: IText, textB: IText, sep: number) => {\n a = textA.AABBBounds;\n b = textB.AABBBounds;\n return sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2);\n };\n\n // 水平文字可以直接用 AABB 包围盒计算\n if (isHorizontal) {\n return isAABBIntersects(textA, textB, sep);\n }\n\n a = textA.OBBBounds;\n b = textB.OBBBounds;\n\n // 没有 OBB bounds 则用 AABB 包围盒计算\n if (!a || !b || a.empty() || b.empty()) {\n return isAABBIntersects(textA, textB, sep);\n }\n\n // 非水平文字且有 OBB 包围盒\n // TODO: 待支持有旋转角度下的 sep 计算逻辑\n return a.intersects(b);\n // const expandedTextA = textA.clone();\n // const boundsPaddingA = textA.attribute.boundsPadding ?? 0;\n // expandedTextA.setAttributes({\n // boundsPadding: isNumber(boundsPaddingA) ? boundsPaddingA + sep / 2 : boundsPaddingA.map(v => v + sep / 2)\n // });\n // const expandTextB = textB.clone();\n // const boundsPaddingB = textB.attribute.boundsPadding ?? 0;\n\n // expandTextB.setAttributes({\n // boundsPadding: isNumber(boundsPaddingB) ? boundsPaddingB + sep / 2 : boundsPaddingB.map(v => v + sep / 2)\n // });\n\n // return expandedTextA.OBBBounds.intersects(expandTextB.OBBBounds);\n}\n\nexport function hasOverlap<T>(items: IText[], pad: number): boolean {\n for (let i = 1, n = items.length, a = items[0], b; i < n; a = b, ++i) {\n b = items[i];\n if (textIntersect(a, b, pad)) {\n return true;\n }\n }\n return false;\n}\n"]}
1
+ {"version":3,"sources":["../src/axis/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["// eslint-disable-next-line no-duplicate-imports\nimport type { IGraphic, IGroup, IText, TextAlignType, TextBaselineType } from '@visactor/vrender-core';\nimport type { Dict, IBounds, IOBBBounds } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport {\n isGreater,\n isLess,\n tau,\n normalizeAngle,\n polarToCartesian,\n merge,\n obbSeparation,\n aabbSeparation\n} from '@visactor/vutils';\nimport { traverseGroup } from '../util/common';\nimport type { Vector2 } from '../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { scale, length } from '../util';\nimport type { BreakSymbol } from './type';\nimport { DEFAULT_AXIS_BREAK_SYMBOL_STYLE } from './config';\nimport type { Point } from '../core/type';\nimport { isAngleHorizontal } from './overlap/util';\n\n// 和 vutils 版本不同\nexport const clampRadian = (angle: number = 0) => {\n if (angle < 0) {\n while (angle < 0) {\n angle += tau;\n }\n } else if (angle > 0) {\n while (angle > tau) {\n angle -= tau;\n }\n }\n return angle;\n};\n\n// 判断数值是否在制定范围内,包含误差\nexport function isInRange(a: number, min: number, max: number) {\n return !isLess(a, min, 0, 1e-6) && !isGreater(a, max, 0, 1e-6);\n}\n\nexport function getCircleLabelPosition(tickPosition: Point, tickVector: [number, number]) {\n return {\n x: tickPosition.x + tickVector[0],\n y: tickPosition.y + tickVector[1]\n };\n}\n\nexport function getAxisBreakSymbolAttrs(props: BreakSymbol = {}) {\n const { style = {}, angle = Math.PI * 0.5 } = props;\n const symbolStyle = merge({}, DEFAULT_AXIS_BREAK_SYMBOL_STYLE, style);\n const symbolSize = symbolStyle.size ?? DEFAULT_AXIS_BREAK_SYMBOL_STYLE.size;\n return {\n ...symbolStyle,\n symbolType:\n symbolStyle.symbolType ??\n `M ${-symbolSize / 2} ${symbolSize * Math.sin(angle)} L ${symbolSize / 2} ${-symbolSize * Math.sin(angle)}`,\n symbolSize\n };\n}\nexport function getElMap(g: IGroup) {\n const elMap: Dict<IGraphic> = {};\n traverseGroup(g, (el: IGraphic) => {\n if ((el as IGraphic).type !== 'group' && el.id) {\n elMap[el.id] = el;\n }\n });\n return elMap;\n}\n\nexport function getVerticalCoord(point: Point, vector: Vector2): Point {\n return {\n x: point.x + vector[0],\n y: point.y + vector[1]\n };\n}\n\nexport function getCircleVerticalVector(\n offset: number,\n point: Point,\n center: Point,\n inside = false,\n axisInside = false\n): Vector2 {\n const vector: [number, number] = [point.x - center.x, point.y - center.y];\n return scale(vector, ((inside ? -1 : 1) * (axisInside ? -1 : 1) * offset) / length(vector));\n}\n\n/**\n * 计算对应角度下的角度轴标签定位属性\n * @param angle 弧度角,需要注意是逆时针计算的\n * @returns\n */\nexport function angleLabelOrientAttribute(angle: number) {\n let align: TextAlignType = 'center';\n let baseline: TextBaselineType = 'middle';\n\n angle = normalizeAngle(angle);\n\n // left: 5/3 - 1/3; right: 2/3 - 4/3; center: 5/3 - 1/3 & 2/3 - 4/3\n if (angle >= Math.PI * (5 / 3) || angle <= Math.PI * (1 / 3)) {\n align = 'left';\n } else if (angle >= Math.PI * (2 / 3) && angle <= Math.PI * (4 / 3)) {\n align = 'right';\n } else {\n align = 'center';\n }\n\n // bottom: 7/6 - 11/6; top: 1/6 - 5/6; middle: 11/6 - 1/6 & 5/6 - 7/6\n if (angle >= Math.PI * (7 / 6) && angle <= Math.PI * (11 / 6)) {\n baseline = 'bottom';\n } else if (angle >= Math.PI * (1 / 6) && angle <= Math.PI * (5 / 6)) {\n baseline = 'top';\n } else {\n baseline = 'middle';\n }\n\n return { align, baseline };\n}\n\nexport function getPolarAngleLabelPosition(\n angle: number,\n center: { x: number; y: number },\n radius: number,\n labelOffset: number,\n inside: boolean\n) {\n const point = polarToCartesian({ x: 0, y: 0 }, radius, angle);\n const labelPoint = getVerticalCoord(point, getCircleVerticalVector(labelOffset, point, center, inside));\n const vector = getCircleVerticalVector(labelOffset || 1, labelPoint, center, inside);\n return getCircleLabelPosition(labelPoint, vector);\n}\n\nexport function getCirclePoints(center: Point, count: number, radius: number, startAngle: number, endAngle: number) {\n const points: Point[] = [];\n const range = endAngle - startAngle;\n for (let i = 0; i < count; i++) {\n const angle = startAngle + (i * range) / count;\n points.push(polarToCartesian(center, radius, angle));\n }\n return points;\n}\n\nexport function getPolygonPath(points: Point[], closed: boolean) {\n let path = '';\n if (points.length === 0) {\n return path;\n }\n points.forEach((point, index) => {\n if (index === 0) {\n path = `M${point.x},${point.y}`;\n } else {\n path += `L${point.x},${point.y}`;\n }\n });\n if (closed) {\n path += 'Z';\n }\n\n return path;\n}\n\nexport function textIntersect(textA: IText, textB: IText, sep: number) {\n // 注意:默认旋转角度一样\n const angle = textA.attribute?.angle;\n const isHorizontal = isAngleHorizontal(angle, Number.EPSILON);\n\n // 水平文字可以直接用 AABB 包围盒计算\n if (isHorizontal) {\n return sep > aabbSeparation(textA.AABBBounds, textB.AABBBounds);\n }\n\n const a = textA.OBBBounds;\n const b = textB.OBBBounds;\n\n // 没有 OBB bounds 则用 AABB 包围盒计算\n if (!a || !b || a.empty() || b.empty()) {\n return sep > aabbSeparation(textA.AABBBounds, textB.AABBBounds);\n }\n // 非水平文字且有 OBB 包围盒\n return a.intersects(b) || sep > obbSeparation(a as IOBBBounds, b as IOBBBounds);\n // const expandedTextA = textA.clone();\n // const boundsPaddingA = textA.attribute.boundsPadding ?? 0;\n // expandedTextA.setAttributes({\n // boundsPadding: isNumber(boundsPaddingA) ? boundsPaddingA + sep / 2 : boundsPaddingA.map(v => v + sep / 2)\n // });\n // const expandTextB = textB.clone();\n // const boundsPaddingB = textB.attribute.boundsPadding ?? 0;\n\n // expandTextB.setAttributes({\n // boundsPadding: isNumber(boundsPaddingB) ? boundsPaddingB + sep / 2 : boundsPaddingB.map(v => v + sep / 2)\n // });\n\n // return expandedTextA.OBBBounds.intersects(expandTextB.OBBBounds);\n}\n\nexport function hasOverlap<T>(items: IText[], pad: number): boolean {\n for (let i = 1, n = items.length, a = items[0], b; i < n; a = b, ++i) {\n b = items[i];\n if (textIntersect(a, b, pad)) {\n return true;\n }\n }\n return false;\n}\n"]}
package/cjs/brush/type.js CHANGED
@@ -8,5 +8,4 @@ Object.defineProperty(exports, "__esModule", {
8
8
  IOperateType.drawStart = "drawStart", IOperateType.drawEnd = "drawEnd", IOperateType.drawing = "drawing",
9
9
  IOperateType.moving = "moving", IOperateType.moveStart = "moveStart", IOperateType.moveEnd = "moveEnd",
10
10
  IOperateType.brushClear = "brushClear";
11
- }(IOperateType = exports.IOperateType || (exports.IOperateType = {}));
12
- //# sourceMappingURL=type.js.map
11
+ }(IOperateType = exports.IOperateType || (exports.IOperateType = {}));
package/cjs/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const version = "0.22.7-alpha.7";
1
+ export declare const version = "0.22.7-alpha.9";
2
2
  export * from './core/base';
3
3
  export * from './core/type';
4
4
  export * from './scrollbar';
package/cjs/index.js CHANGED
@@ -17,7 +17,7 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
17
17
 
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
- }), exports.version = void 0, exports.version = "0.22.7-alpha.7", __exportStar(require("./core/base"), exports),
20
+ }), exports.version = void 0, exports.version = "0.22.7-alpha.9", __exportStar(require("./core/base"), exports),
21
21
  __exportStar(require("./core/type"), exports), __exportStar(require("./scrollbar"), exports),
22
22
  __exportStar(require("./tag"), exports), __exportStar(require("./poptip"), exports),
23
23
  __exportStar(require("./crosshair"), exports), __exportStar(require("./label"), exports),
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAExC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,wCAAsB;AACtB,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,2CAAyB;AACzB,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,wCAAsB;AACtB,6CAA2B;AAC3B,0CAAwB;AACxB,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,+CAA6B","file":"index.js","sourcesContent":["// 导出版本号\nexport const version = \"0.22.7-alpha.7\";\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 './timeline';\nexport * from './interface';\nexport * from './jsx';\nexport * from './checkbox';\nexport * from './radio';\nexport * from './empty-tip';\nexport * from './weather';\nexport * from './util';\nexport * from './switch';\nexport * from './label-item';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAExC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,wCAAsB;AACtB,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,2CAAyB;AACzB,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,wCAAsB;AACtB,6CAA2B;AAC3B,0CAAwB;AACxB,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,+CAA6B","file":"index.js","sourcesContent":["// 导出版本号\nexport const version = \"0.22.7-alpha.9\";\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 './timeline';\nexport * from './interface';\nexport * from './jsx';\nexport * from './checkbox';\nexport * from './radio';\nexport * from './empty-tip';\nexport * from './weather';\nexport * from './util';\nexport * from './switch';\nexport * from './label-item';\n"]}
@@ -3,9 +3,9 @@ import type { ILine, IPolygon } from '@visactor/vrender-core';
3
3
  import type { ArcSegment, Segment } from '../../segment';
4
4
  import type { Tag } from '../../tag';
5
5
  import type { CommonMarkAreaAnimationType, MarkCommonLineAnimationType, MarkPointAnimationType, MarkerAnimationState, MarkerExitAnimation, MarkerUpdateAnimation } from '../type';
6
- export declare function markCommonLineAnimate(line: Segment | ArcSegment, label: Tag, animationconfig: any, state: MarkerAnimationState): void;
7
- export declare function markAreaAnimate(area: IPolygon, label: Tag, animationconfig: any, state: MarkerAnimationState): void;
8
- export declare function markArcAreaAnimate(area: IArc, label: Tag, animationconfig: any, state: MarkerAnimationState): void;
6
+ export declare function markCommonLineAnimate(line: Segment | ArcSegment, label: Tag | Tag[], animationconfig: any, state: MarkerAnimationState): void;
7
+ export declare function markAreaAnimate(area: IPolygon, label: Tag | Tag[], animationconfig: any, state: MarkerAnimationState): void;
8
+ export declare function markArcAreaAnimate(area: IArc, label: Tag | Tag[], animationconfig: any, state: MarkerAnimationState): void;
9
9
  export declare function markPointAnimate(lines: [Segment, ILine], item: Tag | IRichText | ISymbol | IImage, animationconfig: any, state: MarkerAnimationState): void;
10
10
  export declare const DefaultUpdateMarkLineAnimation: MarkerUpdateAnimation<MarkCommonLineAnimationType>;
11
11
  export declare const DefaultUpdateMarkAreaAnimation: MarkerUpdateAnimation<CommonMarkAreaAnimationType>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/animate/animate.ts"],"names":[],"mappings":";;;AAaA,uCAA6C;AAC7C,uCAAqF;AACrF,yCAA0F;AAC1F,uCAAwC;AAExC,SAAgB,qBAAqB,CACnC,IAA0B,EAC1B,KAAU,EACV,eAAoB,EACpB,KAA2B;IAE3B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;IAChD,IAAI,KAAK,KAAK,OAAO,EAAE;QACrB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAChD,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,IAAA,0BAAgB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACxD;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAA,0BAAgB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACxD;KACF;SAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,IAAA,0BAAgB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACxD;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAA,0BAAgB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACxD;KACF;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE;QAC3B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACzC,IAAA,4BAAiB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACzD;AACH,CAAC;AAzBD,sDAyBC;AAED,SAAgB,eAAe,CAAC,IAAc,EAAE,KAAU,EAAE,eAAoB,EAAE,KAA2B;IAC3G,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;IAChD,IAAI,KAAK,KAAK,OAAO,EAAE;QACrB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAChD,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,IAAA,oBAAU,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SAClD;KACF;SAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,IAAA,oBAAU,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SAClD;KACF;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE;QAC3B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACzC,IAAA,sBAAW,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACnD;AACH,CAAC;AAhBD,0CAgBC;AAED,SAAgB,kBAAkB,CAAC,IAAU,EAAE,KAAU,EAAE,eAAoB,EAAE,KAA2B;IAC1G,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;IAChD,IAAI,KAAK,KAAK,OAAO,EAAE;QACrB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAChD,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,IAAA,uBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACrD;KACF;SAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,IAAA,uBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACrD;KACF;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE;QAC3B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACzC,IAAA,yBAAc,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACtD;AACH,CAAC;AAhBD,gDAgBC;AAED,SAAgB,gBAAgB,CAC9B,KAAuB,EACvB,IAAwC,EACxC,eAAoB,EACpB,KAA2B;IAE3B,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC;IACzC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;IAChD,IAAI,KAAK,KAAK,OAAO,EAAE;QACrB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAChD,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,IAAA,qBAAW,EAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACtE;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAA,qBAAW,EAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACtE;KACF;SAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,IAAA,qBAAW,EAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACtE;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAA,qBAAW,EAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACtE;KACF;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE;QAC3B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACzC,IAAA,uBAAY,EAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACvE;AACH,CAAC;AA1BD,4CA0BC;AAEY,QAAA,8BAA8B,GAAuD;IAChG,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,CAAC;CACF,CAAC;AAEI,QAAA,8BAA8B,GAAuD;IAChG,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,CAAC;CACF,CAAC;AAEI,QAAA,+BAA+B,GAAkD;IAC5F,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,CAAC;CACF,CAAC;AAEI,QAAA,0BAA0B,GAAwB;IAC7D,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,CAAC;CACT,CAAC","file":"animate.js","sourcesContent":["import type { IRichText, ISymbol, IImage, IArc } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ILine, IPolygon } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\nimport type {\n CommonMarkAreaAnimationType,\n MarkCommonLineAnimationType,\n MarkPointAnimationType,\n MarkerAnimationState,\n MarkerExitAnimation,\n MarkerUpdateAnimation\n} from '../type';\nimport { commonLineClipIn } from './clip-in';\nimport { areaFadeIn, commonLineFadeIn, arcAreaFadeIn, pointFadeIn } from './fade-in';\nimport { areaFadeOut, commonLineFadeOut, arcAreaFadeOut, pointFadeOut } from './fade-out';\nimport { pointCallIn } from './call-in';\n\nexport function markCommonLineAnimate(\n line: Segment | ArcSegment,\n label: Tag,\n animationconfig: any,\n state: MarkerAnimationState\n) {\n const { enter, update, exit } = animationconfig;\n if (state === 'enter') {\n const { type, duration, delay, easing } = enter;\n if (type === 'clipIn') {\n commonLineClipIn(line, label, duration, delay, easing);\n } else if (type === 'fadeIn') {\n commonLineFadeIn(line, label, duration, delay, easing);\n }\n } else if (state === 'update') {\n const { type, duration, delay, easing } = update;\n if (type === 'clipIn') {\n commonLineClipIn(line, label, duration, delay, easing);\n } else if (type === 'fadeIn') {\n commonLineFadeIn(line, label, duration, delay, easing);\n }\n } else if (state === 'exit') {\n const { duration, delay, easing } = exit;\n commonLineFadeOut(line, label, duration, delay, easing);\n }\n}\n\nexport function markAreaAnimate(area: IPolygon, label: Tag, animationconfig: any, state: MarkerAnimationState) {\n const { enter, update, exit } = animationconfig;\n if (state === 'enter') {\n const { type, duration, delay, easing } = enter;\n if (type === 'fadeIn') {\n areaFadeIn(area, label, duration, delay, easing);\n }\n } else if (state === 'update') {\n const { type, duration, delay, easing } = update;\n if (type === 'fadeIn') {\n areaFadeIn(area, label, duration, delay, easing);\n }\n } else if (state === 'exit') {\n const { duration, delay, easing } = exit;\n areaFadeOut(area, label, duration, delay, easing);\n }\n}\n\nexport function markArcAreaAnimate(area: IArc, label: Tag, animationconfig: any, state: MarkerAnimationState) {\n const { enter, update, exit } = animationconfig;\n if (state === 'enter') {\n const { type, duration, delay, easing } = enter;\n if (type === 'fadeIn') {\n arcAreaFadeIn(area, label, duration, delay, easing);\n }\n } else if (state === 'update') {\n const { type, duration, delay, easing } = update;\n if (type === 'fadeIn') {\n arcAreaFadeIn(area, label, duration, delay, easing);\n }\n } else if (state === 'exit') {\n const { duration, delay, easing } = exit;\n arcAreaFadeOut(area, label, duration, delay, easing);\n }\n}\n\nexport function markPointAnimate(\n lines: [Segment, ILine],\n item: Tag | IRichText | ISymbol | IImage,\n animationconfig: any,\n state: MarkerAnimationState\n) {\n const [itemLine, decorativeLine] = lines;\n const { enter, update, exit } = animationconfig;\n if (state === 'enter') {\n const { type, duration, delay, easing } = enter;\n if (type === 'fadeIn') {\n pointFadeIn(itemLine, decorativeLine, item, duration, delay, easing);\n } else if (type === 'callIn') {\n pointCallIn(itemLine, decorativeLine, item, duration, delay, easing);\n }\n } else if (state === 'update') {\n const { type, duration, delay, easing } = update;\n if (type === 'fadeIn') {\n pointFadeIn(itemLine, decorativeLine, item, duration, delay, easing);\n } else if (type === 'callIn') {\n pointCallIn(itemLine, decorativeLine, item, duration, delay, easing);\n }\n } else if (state === 'exit') {\n const { duration, delay, easing } = exit;\n pointFadeOut(itemLine, decorativeLine, item, duration, delay, easing);\n }\n}\n\nexport const DefaultUpdateMarkLineAnimation: MarkerUpdateAnimation<MarkCommonLineAnimationType> = {\n type: 'clipIn',\n duration: 500,\n easing: 'linear',\n delay: 0\n} as any;\n\nexport const DefaultUpdateMarkAreaAnimation: MarkerUpdateAnimation<CommonMarkAreaAnimationType> = {\n type: 'fadeIn',\n duration: 500,\n easing: 'linear',\n delay: 0\n} as any;\n\nexport const DefaultUpdateMarkPointAnimation: MarkerUpdateAnimation<MarkPointAnimationType> = {\n type: 'callIn',\n duration: 500,\n easing: 'linear',\n delay: 0\n} as any;\n\nexport const DefaultExitMarkerAnimation: MarkerExitAnimation = {\n type: 'fadeOut',\n duration: 500,\n easing: 'linear',\n delay: 0\n};\n"]}
1
+ {"version":3,"sources":["../src/marker/animate/animate.ts"],"names":[],"mappings":"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","file":"animate.js","sourcesContent":["import type { IRichText, ISymbol, IImage, IArc } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ILine, IPolygon } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\nimport type {\n CommonMarkAreaAnimationType,\n MarkCommonLineAnimationType,\n MarkPointAnimationType,\n MarkerAnimationState,\n MarkerExitAnimation,\n MarkerUpdateAnimation\n} from '../type';\nimport { commonLineClipIn } from './clip-in';\nimport { areaFadeIn, commonLineFadeIn, arcAreaFadeIn, pointFadeIn } from './fade-in';\nimport { areaFadeOut, commonLineFadeOut, arcAreaFadeOut, pointFadeOut } from './fade-out';\nimport { pointCallIn } from './call-in';\n\nexport function markCommonLineAnimate(\n line: Segment | ArcSegment,\n label: Tag | Tag[],\n animationconfig: any,\n state: MarkerAnimationState\n) {\n const { enter, update, exit } = animationconfig;\n if (state === 'enter') {\n const { type, duration, delay, easing } = enter;\n if (type === 'clipIn') {\n commonLineClipIn(line, label, duration, delay, easing);\n } else if (type === 'fadeIn') {\n commonLineFadeIn(line, label, duration, delay, easing);\n }\n } else if (state === 'update') {\n const { type, duration, delay, easing } = update;\n if (type === 'clipIn') {\n commonLineClipIn(line, label, duration, delay, easing);\n } else if (type === 'fadeIn') {\n commonLineFadeIn(line, label, duration, delay, easing);\n }\n } else if (state === 'exit') {\n const { duration, delay, easing } = exit;\n commonLineFadeOut(line, label, duration, delay, easing);\n }\n}\n\nexport function markAreaAnimate(area: IPolygon, label: Tag | Tag[], animationconfig: any, state: MarkerAnimationState) {\n const { enter, update, exit } = animationconfig;\n if (state === 'enter') {\n const { type, duration, delay, easing } = enter;\n if (type === 'fadeIn') {\n areaFadeIn(area, label, duration, delay, easing);\n }\n } else if (state === 'update') {\n const { type, duration, delay, easing } = update;\n if (type === 'fadeIn') {\n areaFadeIn(area, label, duration, delay, easing);\n }\n } else if (state === 'exit') {\n const { duration, delay, easing } = exit;\n areaFadeOut(area, label, duration, delay, easing);\n }\n}\n\nexport function markArcAreaAnimate(area: IArc, label: Tag | Tag[], animationconfig: any, state: MarkerAnimationState) {\n const { enter, update, exit } = animationconfig;\n if (state === 'enter') {\n const { type, duration, delay, easing } = enter;\n if (type === 'fadeIn') {\n arcAreaFadeIn(area, label, duration, delay, easing);\n }\n } else if (state === 'update') {\n const { type, duration, delay, easing } = update;\n if (type === 'fadeIn') {\n arcAreaFadeIn(area, label, duration, delay, easing);\n }\n } else if (state === 'exit') {\n const { duration, delay, easing } = exit;\n arcAreaFadeOut(area, label, duration, delay, easing);\n }\n}\n\nexport function markPointAnimate(\n lines: [Segment, ILine],\n item: Tag | IRichText | ISymbol | IImage,\n animationconfig: any,\n state: MarkerAnimationState\n) {\n const [itemLine, decorativeLine] = lines;\n const { enter, update, exit } = animationconfig;\n if (state === 'enter') {\n const { type, duration, delay, easing } = enter;\n if (type === 'fadeIn') {\n pointFadeIn(itemLine, decorativeLine, item, duration, delay, easing);\n } else if (type === 'callIn') {\n pointCallIn(itemLine, decorativeLine, item, duration, delay, easing);\n }\n } else if (state === 'update') {\n const { type, duration, delay, easing } = update;\n if (type === 'fadeIn') {\n pointFadeIn(itemLine, decorativeLine, item, duration, delay, easing);\n } else if (type === 'callIn') {\n pointCallIn(itemLine, decorativeLine, item, duration, delay, easing);\n }\n } else if (state === 'exit') {\n const { duration, delay, easing } = exit;\n pointFadeOut(itemLine, decorativeLine, item, duration, delay, easing);\n }\n}\n\nexport const DefaultUpdateMarkLineAnimation: MarkerUpdateAnimation<MarkCommonLineAnimationType> = {\n type: 'clipIn',\n duration: 500,\n easing: 'linear',\n delay: 0\n} as any;\n\nexport const DefaultUpdateMarkAreaAnimation: MarkerUpdateAnimation<CommonMarkAreaAnimationType> = {\n type: 'fadeIn',\n duration: 500,\n easing: 'linear',\n delay: 0\n} as any;\n\nexport const DefaultUpdateMarkPointAnimation: MarkerUpdateAnimation<MarkPointAnimationType> = {\n type: 'callIn',\n duration: 500,\n easing: 'linear',\n delay: 0\n} as any;\n\nexport const DefaultExitMarkerAnimation: MarkerExitAnimation = {\n type: 'fadeOut',\n duration: 500,\n easing: 'linear',\n delay: 0\n};\n"]}
@@ -1,4 +1,4 @@
1
1
  import type { EasingType } from '@visactor/vrender-core';
2
2
  import type { ArcSegment, Segment } from '../../segment';
3
3
  import type { Tag } from '../../tag';
4
- export declare function commonLineClipIn(line: Segment | ArcSegment, label: Tag, duration: number, delay: number, easing: EasingType): void;
4
+ export declare function commonLineClipIn(line: Segment | ArcSegment, label: Tag | Tag[], duration: number, delay: number, easing: EasingType): void;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.commonLineClipIn = void 0;
6
6
 
7
- const common_1 = require("./common");
7
+ const common_1 = require("./common"), vutils_1 = require("@visactor/vutils");
8
8
 
9
9
  function commonLineClipIn(line, label, duration, delay, easing) {
10
10
  const startSymbolDuration = .1 * duration, lineDuration = .7 * duration, endSymbolDuration = .1 * duration, labelDuration = .1 * duration;
@@ -15,8 +15,11 @@ function commonLineClipIn(line, label, duration, delay, easing) {
15
15
  clipRange: 1
16
16
  }, stepDuration, easing);
17
17
  })), (0, common_1.graphicFadeIn)(line.endSymbol, delay + startSymbolDuration + lineDuration, endSymbolDuration, easing),
18
- (0, common_1.graphicFadeIn)(label.getTextShape(), delay + startSymbolDuration + lineDuration + endSymbolDuration, labelDuration, easing),
19
- (0, common_1.graphicFadeIn)(label.getBgRect(), delay + startSymbolDuration + lineDuration + endSymbolDuration, labelDuration, easing);
18
+ (0, vutils_1.array)(label).forEach((labelNode => {
19
+ const delayTime = delay + startSymbolDuration + lineDuration + endSymbolDuration;
20
+ (0, common_1.graphicFadeIn)(labelNode.getTextShape(), delayTime, labelDuration, easing),
21
+ (0, common_1.graphicFadeIn)(labelNode.getBgRect(), delayTime, labelDuration, easing);
22
+ }));
20
23
  }
21
24
 
22
25
  exports.commonLineClipIn = commonLineClipIn;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/animate/clip-in.ts"],"names":[],"mappings":";;;AAGA,qCAAyC;AAEzC,SAAgB,gBAAgB,CAC9B,IAA0B,EAC1B,KAAU,EACV,QAAgB,EAChB,KAAa,EACb,MAAkB;IAElB,MAAM,mBAAmB,GAAG,GAAG,GAAG,QAAQ,CAAC;IAC3C,MAAM,YAAY,GAAG,GAAG,GAAG,QAAQ,CAAC;IACpC,MAAM,iBAAiB,GAAG,GAAG,GAAG,QAAQ,CAAC;IACzC,MAAM,aAAa,GAAG,GAAG,GAAG,QAAQ,CAAC;IAGrC,IAAA,sBAAa,EAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAGpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACtD,CAAC,CAAC,OAAO,EAAE;aACR,IAAI,CAAC,KAAK,GAAG,mBAAmB,GAAG,KAAK,GAAG,YAAY,CAAC;aACxD,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAGH,IAAA,sBAAa,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,mBAAmB,GAAG,YAAY,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAGrG,IAAA,sBAAa,EACX,KAAK,CAAC,YAAY,EAAE,EACpB,KAAK,GAAG,mBAAmB,GAAG,YAAY,GAAG,iBAAiB,EAC9D,aAAa,EACb,MAAM,CACP,CAAC;IAGF,IAAA,sBAAa,EACX,KAAK,CAAC,SAAS,EAAE,EACjB,KAAK,GAAG,mBAAmB,GAAG,YAAY,GAAG,iBAAiB,EAC9D,aAAa,EACb,MAAM,CACP,CAAC;AACJ,CAAC;AA1CD,4CA0CC","file":"clip-in.js","sourcesContent":["import type { EasingType } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\nimport { graphicFadeIn } from './common';\n\nexport function commonLineClipIn(\n line: Segment | ArcSegment,\n label: Tag,\n duration: number,\n delay: number,\n easing: EasingType\n) {\n const startSymbolDuration = 0.1 * duration;\n const lineDuration = 0.7 * duration;\n const endSymbolDuration = 0.1 * duration;\n const labelDuration = 0.1 * duration;\n\n // start symbol\n graphicFadeIn(line.startSymbol, delay, startSymbolDuration, easing);\n\n // line\n line.lines.forEach(line => line.setAttribute('clipRange', 0));\n line.lines.forEach((l, index) => {\n const stepDuration = lineDuration / line.lines.length;\n l.animate()\n .wait(delay + startSymbolDuration + index * stepDuration)\n .to({ clipRange: 1 }, stepDuration, easing);\n });\n\n // end symbol\n graphicFadeIn(line.endSymbol, delay + startSymbolDuration + lineDuration, endSymbolDuration, easing);\n\n // text\n graphicFadeIn(\n label.getTextShape(),\n delay + startSymbolDuration + lineDuration + endSymbolDuration,\n labelDuration,\n easing\n );\n\n // text background\n graphicFadeIn(\n label.getBgRect(),\n delay + startSymbolDuration + lineDuration + endSymbolDuration,\n labelDuration,\n easing\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/animate/clip-in.ts"],"names":[],"mappings":";;;AAGA,qCAAyC;AACzC,6CAAyC;AAEzC,SAAgB,gBAAgB,CAC9B,IAA0B,EAC1B,KAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,MAAkB;IAElB,MAAM,mBAAmB,GAAG,GAAG,GAAG,QAAQ,CAAC;IAC3C,MAAM,YAAY,GAAG,GAAG,GAAG,QAAQ,CAAC;IACpC,MAAM,iBAAiB,GAAG,GAAG,GAAG,QAAQ,CAAC;IACzC,MAAM,aAAa,GAAG,GAAG,GAAG,QAAQ,CAAC;IAGrC,IAAA,sBAAa,EAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAGpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACtD,CAAC,CAAC,OAAO,EAAE;aACR,IAAI,CAAC,KAAK,GAAG,mBAAmB,GAAG,KAAK,GAAG,YAAY,CAAC;aACxD,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAGH,IAAA,sBAAa,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,mBAAmB,GAAG,YAAY,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAGrG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/B,MAAM,SAAS,GAAG,KAAK,GAAG,mBAAmB,GAAG,YAAY,GAAG,iBAAiB,CAAC;QAEjF,IAAA,sBAAa,EAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAG1E,IAAA,sBAAa,EAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AApCD,4CAoCC","file":"clip-in.js","sourcesContent":["import type { EasingType } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\nimport { graphicFadeIn } from './common';\nimport { array } from '@visactor/vutils';\n\nexport function commonLineClipIn(\n line: Segment | ArcSegment,\n label: Tag | Tag[],\n duration: number,\n delay: number,\n easing: EasingType\n) {\n const startSymbolDuration = 0.1 * duration;\n const lineDuration = 0.7 * duration;\n const endSymbolDuration = 0.1 * duration;\n const labelDuration = 0.1 * duration;\n\n // start symbol\n graphicFadeIn(line.startSymbol, delay, startSymbolDuration, easing);\n\n // line\n line.lines.forEach(line => line.setAttribute('clipRange', 0));\n line.lines.forEach((l, index) => {\n const stepDuration = lineDuration / line.lines.length;\n l.animate()\n .wait(delay + startSymbolDuration + index * stepDuration)\n .to({ clipRange: 1 }, stepDuration, easing);\n });\n\n // end symbol\n graphicFadeIn(line.endSymbol, delay + startSymbolDuration + lineDuration, endSymbolDuration, easing);\n\n // label\n array(label).forEach(labelNode => {\n const delayTime = delay + startSymbolDuration + lineDuration + endSymbolDuration;\n // text\n graphicFadeIn(labelNode.getTextShape(), delayTime, labelDuration, easing);\n\n // text background\n graphicFadeIn(labelNode.getBgRect(), delayTime, labelDuration, easing);\n });\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { EasingType, IArc, IImage, ILine, IPolygon, IRichText, ISymbol } from '@visactor/vrender-core';
2
2
  import type { ArcSegment, Segment } from '../../segment';
3
3
  import type { Tag } from '../../tag';
4
- export declare function commonLineFadeIn(line: Segment | ArcSegment, label: Tag, duration: number, delay: number, easing: EasingType): void;
5
- export declare function areaFadeIn(area: IPolygon, label: Tag, duration: number, delay: number, easing: EasingType): void;
6
- export declare function arcAreaFadeIn(area: IArc, label: Tag, duration: number, delay: number, easing: EasingType): void;
4
+ export declare function commonLineFadeIn(line: Segment | ArcSegment, label: Tag | Tag[], duration: number, delay: number, easing: EasingType): void;
5
+ export declare function areaFadeIn(area: IPolygon, label: Tag | Tag[], duration: number, delay: number, easing: EasingType): void;
6
+ export declare function arcAreaFadeIn(area: IArc, label: Tag | Tag[], duration: number, delay: number, easing: EasingType): void;
7
7
  export declare function pointFadeIn(itemLine: Segment, decorativeLine: ILine, item: Tag | IRichText | ISymbol | IImage, duration: number, delay: number, easing: EasingType): void;
@@ -4,18 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.pointFadeIn = exports.arcAreaFadeIn = exports.areaFadeIn = exports.commonLineFadeIn = void 0;
6
6
 
7
- const common_1 = require("./common");
7
+ const common_1 = require("./common"), vutils_1 = require("@visactor/vutils");
8
8
 
9
9
  function commonLineFadeIn(line, label, duration, delay, easing) {
10
- (0, common_1.segmentFadeIn)(line, delay, duration, easing), (0, common_1.tagFadeIn)(label, delay, duration, easing);
10
+ (0, common_1.segmentFadeIn)(line, delay, duration, easing), (0, vutils_1.array)(label).forEach((labelNode => {
11
+ (0, common_1.tagFadeIn)(labelNode, delay, duration, easing);
12
+ }));
11
13
  }
12
14
 
13
15
  function areaFadeIn(area, label, duration, delay, easing) {
14
- (0, common_1.graphicFadeIn)(area, delay, duration, easing), (0, common_1.tagFadeIn)(label, delay, duration, easing);
16
+ (0, common_1.graphicFadeIn)(area, delay, duration, easing), (0, vutils_1.array)(label).forEach((labelNode => {
17
+ (0, common_1.tagFadeIn)(labelNode, delay, duration, easing);
18
+ }));
15
19
  }
16
20
 
17
21
  function arcAreaFadeIn(area, label, duration, delay, easing) {
18
- (0, common_1.graphicFadeIn)(area, delay, duration, easing), (0, common_1.tagFadeIn)(label, delay, duration, easing);
22
+ (0, common_1.graphicFadeIn)(area, delay, duration, easing), (0, vutils_1.array)(label).forEach((labelNode => {
23
+ (0, common_1.tagFadeIn)(labelNode, delay, duration, easing);
24
+ }));
19
25
  }
20
26
 
21
27
  function pointFadeIn(itemLine, decorativeLine, item, duration, delay, easing) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/animate/fade-in.ts"],"names":[],"mappings":";;;AAGA,qCAAmE;AAEnE,SAAgB,gBAAgB,CAC9B,IAA0B,EAC1B,KAAU,EACV,QAAgB,EAChB,KAAa,EACb,MAAkB;IAElB,IAAA,sBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAA,kBAAS,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AATD,4CASC;AAED,SAAgB,UAAU,CAAC,IAAc,EAAE,KAAU,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IACxG,IAAA,sBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAA,kBAAS,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAHD,gCAGC;AAED,SAAgB,aAAa,CAAC,IAAU,EAAE,KAAU,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IACvG,IAAA,sBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAA,kBAAS,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAHD,sCAGC;AAED,SAAgB,WAAW,CACzB,QAAiB,EACjB,cAAqB,EACrB,IAAwC,EACxC,QAAgB,EAChB,KAAa,EACb,MAAkB;;IAElB,IAAA,sBAAa,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,IAAA,sBAAa,EAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,MAAA,IAAI,CAAC,YAAY,oDAAI,EAAE;QAEzB,IAAA,kBAAS,EAAC,IAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KACjD;SAAM;QAEL,IAAA,sBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC9C;AACH,CAAC;AAjBD,kCAiBC","file":"fade-in.js","sourcesContent":["import type { EasingType, IArc, IImage, ILine, IPolygon, IRichText, ISymbol } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\nimport { graphicFadeIn, segmentFadeIn, tagFadeIn } from './common';\n\nexport function commonLineFadeIn(\n line: Segment | ArcSegment,\n label: Tag,\n duration: number,\n delay: number,\n easing: EasingType\n) {\n segmentFadeIn(line, delay, duration, easing);\n tagFadeIn(label, delay, duration, easing);\n}\n\nexport function areaFadeIn(area: IPolygon, label: Tag, duration: number, delay: number, easing: EasingType) {\n graphicFadeIn(area, delay, duration, easing);\n tagFadeIn(label, delay, duration, easing);\n}\n\nexport function arcAreaFadeIn(area: IArc, label: Tag, duration: number, delay: number, easing: EasingType) {\n graphicFadeIn(area, delay, duration, easing);\n tagFadeIn(label, delay, duration, easing);\n}\n\nexport function pointFadeIn(\n itemLine: Segment,\n decorativeLine: ILine,\n item: Tag | IRichText | ISymbol | IImage,\n duration: number,\n delay: number,\n easing: EasingType\n) {\n segmentFadeIn(itemLine, delay, duration, easing);\n graphicFadeIn(decorativeLine, delay, duration, easing);\n if (item.getTextShape?.()) {\n // tag\n tagFadeIn(item as Tag, delay, duration, easing);\n } else {\n // symbol / richText / image\n graphicFadeIn(item, delay, duration, easing);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/animate/fade-in.ts"],"names":[],"mappings":";;;AAGA,qCAAmE;AACnE,6CAAyC;AAEzC,SAAgB,gBAAgB,CAC9B,IAA0B,EAC1B,KAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,MAAkB;IAElB,IAAA,sBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAG7C,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/B,IAAA,kBAAS,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,4CAaC;AAED,SAAgB,UAAU,CAAC,IAAc,EAAE,KAAkB,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IAChH,IAAA,sBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/B,IAAA,kBAAS,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AALD,gCAKC;AAED,SAAgB,aAAa,CAAC,IAAU,EAAE,KAAkB,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IAC/G,IAAA,sBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/B,IAAA,kBAAS,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AALD,sCAKC;AAED,SAAgB,WAAW,CACzB,QAAiB,EACjB,cAAqB,EACrB,IAAwC,EACxC,QAAgB,EAChB,KAAa,EACb,MAAkB;;IAElB,IAAA,sBAAa,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,IAAA,sBAAa,EAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,MAAA,IAAI,CAAC,YAAY,oDAAI,EAAE;QAEzB,IAAA,kBAAS,EAAC,IAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KACjD;SAAM;QAEL,IAAA,sBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC9C;AACH,CAAC;AAjBD,kCAiBC","file":"fade-in.js","sourcesContent":["import type { EasingType, IArc, IImage, ILine, IPolygon, IRichText, ISymbol } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\nimport { graphicFadeIn, segmentFadeIn, tagFadeIn } from './common';\nimport { array } from '@visactor/vutils';\n\nexport function commonLineFadeIn(\n line: Segment | ArcSegment,\n label: Tag | Tag[],\n duration: number,\n delay: number,\n easing: EasingType\n) {\n segmentFadeIn(line, delay, duration, easing);\n\n // label\n array(label).forEach(labelNode => {\n tagFadeIn(labelNode, delay, duration, easing);\n });\n}\n\nexport function areaFadeIn(area: IPolygon, label: Tag | Tag[], duration: number, delay: number, easing: EasingType) {\n graphicFadeIn(area, delay, duration, easing);\n array(label).forEach(labelNode => {\n tagFadeIn(labelNode, delay, duration, easing);\n });\n}\n\nexport function arcAreaFadeIn(area: IArc, label: Tag | Tag[], duration: number, delay: number, easing: EasingType) {\n graphicFadeIn(area, delay, duration, easing);\n array(label).forEach(labelNode => {\n tagFadeIn(labelNode, delay, duration, easing);\n });\n}\n\nexport function pointFadeIn(\n itemLine: Segment,\n decorativeLine: ILine,\n item: Tag | IRichText | ISymbol | IImage,\n duration: number,\n delay: number,\n easing: EasingType\n) {\n segmentFadeIn(itemLine, delay, duration, easing);\n graphicFadeIn(decorativeLine, delay, duration, easing);\n if (item.getTextShape?.()) {\n // tag\n tagFadeIn(item as Tag, delay, duration, easing);\n } else {\n // symbol / richText / image\n graphicFadeIn(item, delay, duration, easing);\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { EasingType, IArc, IImage, ILine, IPolygon, IRichText, ISymbol } from '@visactor/vrender-core';
2
2
  import type { ArcSegment, Segment } from '../../segment';
3
3
  import type { Tag } from '../../tag';
4
- export declare function commonLineFadeOut(line: Segment | ArcSegment, label: Tag, duration: number, delay: number, easing: EasingType): void;
5
- export declare function areaFadeOut(area: IPolygon, label: Tag, duration: number, delay: number, easing: EasingType): void;
6
- export declare function arcAreaFadeOut(area: IArc, label: Tag, duration: number, delay: number, easing: EasingType): void;
4
+ export declare function commonLineFadeOut(line: Segment | ArcSegment, label: Tag | Tag[], duration: number, delay: number, easing: EasingType): void;
5
+ export declare function areaFadeOut(area: IPolygon, label: Tag | Tag[], duration: number, delay: number, easing: EasingType): void;
6
+ export declare function arcAreaFadeOut(area: IArc, label: Tag | Tag[], duration: number, delay: number, easing: EasingType): void;
7
7
  export declare function pointFadeOut(itemLine: Segment, decorativeLine: ILine, item: Tag | IRichText | ISymbol | IImage, duration: number, delay: number, easing: EasingType): void;
@@ -4,18 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.pointFadeOut = exports.arcAreaFadeOut = exports.areaFadeOut = exports.commonLineFadeOut = void 0;
6
6
 
7
- const common_1 = require("./common");
7
+ const common_1 = require("./common"), vutils_1 = require("@visactor/vutils");
8
8
 
9
9
  function commonLineFadeOut(line, label, duration, delay, easing) {
10
- (0, common_1.segmentFadeOut)(line, delay, duration, easing), (0, common_1.tagFadeOut)(label, delay, duration, easing);
10
+ (0, common_1.segmentFadeOut)(line, delay, duration, easing), (0, vutils_1.array)(label).forEach((labelNode => {
11
+ (0, common_1.tagFadeOut)(labelNode, delay, duration, easing);
12
+ }));
11
13
  }
12
14
 
13
15
  function areaFadeOut(area, label, duration, delay, easing) {
14
- (0, common_1.graphicFadeOut)(area, delay, duration, easing), (0, common_1.tagFadeOut)(label, delay, duration, easing);
16
+ (0, common_1.graphicFadeOut)(area, delay, duration, easing), (0, vutils_1.array)(label).forEach((labelNode => {
17
+ (0, common_1.tagFadeOut)(labelNode, delay, duration, easing);
18
+ }));
15
19
  }
16
20
 
17
21
  function arcAreaFadeOut(area, label, duration, delay, easing) {
18
- (0, common_1.graphicFadeOut)(area, delay, duration, easing), (0, common_1.tagFadeOut)(label, delay, duration, easing);
22
+ (0, common_1.graphicFadeOut)(area, delay, duration, easing), (0, vutils_1.array)(label).forEach((labelNode => {
23
+ (0, common_1.tagFadeOut)(labelNode, delay, duration, easing);
24
+ }));
19
25
  }
20
26
 
21
27
  function pointFadeOut(itemLine, decorativeLine, item, duration, delay, easing) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/animate/fade-out.ts"],"names":[],"mappings":";;;AAGA,qCAAsE;AAEtE,SAAgB,iBAAiB,CAC/B,IAA0B,EAC1B,KAAU,EACV,QAAgB,EAChB,KAAa,EACb,MAAkB;IAElB,IAAA,uBAAc,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAA,mBAAU,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AATD,8CASC;AAED,SAAgB,WAAW,CAAC,IAAc,EAAE,KAAU,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IACzG,IAAA,uBAAc,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAA,mBAAU,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAHD,kCAGC;AAED,SAAgB,cAAc,CAAC,IAAU,EAAE,KAAU,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IACxG,IAAA,uBAAc,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAA,mBAAU,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAHD,wCAGC;AAED,SAAgB,YAAY,CAC1B,QAAiB,EACjB,cAAqB,EACrB,IAAwC,EACxC,QAAgB,EAChB,KAAa,EACb,MAAkB;;IAElB,IAAA,uBAAc,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,IAAA,uBAAc,EAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,MAAA,IAAI,CAAC,YAAY,oDAAI,EAAE;QAEzB,IAAA,mBAAU,EAAC,IAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAClD;SAAM;QAEL,IAAA,uBAAc,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC/C;AACH,CAAC;AAjBD,oCAiBC","file":"fade-out.js","sourcesContent":["import type { EasingType, IArc, IImage, ILine, IPolygon, IRichText, ISymbol } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\nimport { graphicFadeOut, segmentFadeOut, tagFadeOut } from './common';\n\nexport function commonLineFadeOut(\n line: Segment | ArcSegment,\n label: Tag,\n duration: number,\n delay: number,\n easing: EasingType\n) {\n segmentFadeOut(line, delay, duration, easing);\n tagFadeOut(label, delay, duration, easing);\n}\n\nexport function areaFadeOut(area: IPolygon, label: Tag, duration: number, delay: number, easing: EasingType) {\n graphicFadeOut(area, delay, duration, easing);\n tagFadeOut(label, delay, duration, easing);\n}\n\nexport function arcAreaFadeOut(area: IArc, label: Tag, duration: number, delay: number, easing: EasingType) {\n graphicFadeOut(area, delay, duration, easing);\n tagFadeOut(label, delay, duration, easing);\n}\n\nexport function pointFadeOut(\n itemLine: Segment,\n decorativeLine: ILine,\n item: Tag | IRichText | ISymbol | IImage,\n duration: number,\n delay: number,\n easing: EasingType\n) {\n segmentFadeOut(itemLine, delay, duration, easing);\n graphicFadeOut(decorativeLine, delay, duration, easing);\n if (item.getTextShape?.()) {\n // tag\n tagFadeOut(item as Tag, delay, duration, easing);\n } else {\n // symbol / richText / image\n graphicFadeOut(item, delay, duration, easing);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/animate/fade-out.ts"],"names":[],"mappings":";;;AAGA,qCAAsE;AACtE,6CAAyC;AAEzC,SAAgB,iBAAiB,CAC/B,IAA0B,EAC1B,KAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,MAAkB;IAElB,IAAA,uBAAc,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAG9C,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/B,IAAA,mBAAU,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,8CAaC;AAED,SAAgB,WAAW,CAAC,IAAc,EAAE,KAAkB,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IACjH,IAAA,uBAAc,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/B,IAAA,mBAAU,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AALD,kCAKC;AAED,SAAgB,cAAc,CAAC,IAAU,EAAE,KAAkB,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IAChH,IAAA,uBAAc,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/B,IAAA,mBAAU,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AALD,wCAKC;AAED,SAAgB,YAAY,CAC1B,QAAiB,EACjB,cAAqB,EACrB,IAAwC,EACxC,QAAgB,EAChB,KAAa,EACb,MAAkB;;IAElB,IAAA,uBAAc,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,IAAA,uBAAc,EAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,MAAA,IAAI,CAAC,YAAY,oDAAI,EAAE;QAEzB,IAAA,mBAAU,EAAC,IAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAClD;SAAM;QAEL,IAAA,uBAAc,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC/C;AACH,CAAC;AAjBD,oCAiBC","file":"fade-out.js","sourcesContent":["import type { EasingType, IArc, IImage, ILine, IPolygon, IRichText, ISymbol } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\nimport { graphicFadeOut, segmentFadeOut, tagFadeOut } from './common';\nimport { array } from '@visactor/vutils';\n\nexport function commonLineFadeOut(\n line: Segment | ArcSegment,\n label: Tag | Tag[],\n duration: number,\n delay: number,\n easing: EasingType\n) {\n segmentFadeOut(line, delay, duration, easing);\n\n // label\n array(label).forEach(labelNode => {\n tagFadeOut(labelNode, delay, duration, easing);\n });\n}\n\nexport function areaFadeOut(area: IPolygon, label: Tag | Tag[], duration: number, delay: number, easing: EasingType) {\n graphicFadeOut(area, delay, duration, easing);\n array(label).forEach(labelNode => {\n tagFadeOut(labelNode, delay, duration, easing);\n });\n}\n\nexport function arcAreaFadeOut(area: IArc, label: Tag | Tag[], duration: number, delay: number, easing: EasingType) {\n graphicFadeOut(area, delay, duration, easing);\n array(label).forEach(labelNode => {\n tagFadeOut(labelNode, delay, duration, easing);\n });\n}\n\nexport function pointFadeOut(\n itemLine: Segment,\n decorativeLine: ILine,\n item: Tag | IRichText | ISymbol | IImage,\n duration: number,\n delay: number,\n easing: EasingType\n) {\n segmentFadeOut(itemLine, delay, duration, easing);\n graphicFadeOut(decorativeLine, delay, duration, easing);\n if (item.getTextShape?.()) {\n // tag\n tagFadeOut(item as Tag, delay, duration, easing);\n } else {\n // symbol / richText / image\n graphicFadeOut(item, delay, duration, easing);\n }\n}\n"]}
@@ -1,15 +1,19 @@
1
1
  import type { IArc, IGroup } from '@visactor/vrender-core';
2
- import { Tag } from '../tag';
2
+ import type { Tag } from '../tag';
3
3
  import { Marker } from './base';
4
- import type { CommonMarkAreaAnimationType, MarkerAnimationState } from './type';
4
+ import type { CommonMarkAreaAnimationType, MarkerAnimationState, MarkerArcAreaLabelAttrs } from './type';
5
5
  import { IMarkCommonArcLabelPosition, type MarkArcAreaAttrs } from './type';
6
6
  import type { ComponentOptions } from '../interface';
7
+ import { MarkLabelMixin } from './mixin/label';
7
8
  export declare function registerMarkArcAreaAnimate(): void;
9
+ export interface MarkArcArea extends Pick<MarkLabelMixin<MarkArcAreaAttrs>, '_addMarkLabels' | '_updateMarkLabels' | 'getLabel' | '_label'>, Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {
10
+ }
8
11
  export declare class MarkArcArea extends Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {
9
12
  name: string;
10
13
  static defaultAttributes: {
11
14
  interactive: boolean;
12
15
  label: {
16
+ autoRotate: boolean;
13
17
  position: IMarkCommonArcLabelPosition;
14
18
  textStyle: {
15
19
  fill: string;
@@ -37,16 +41,15 @@ export declare class MarkArcArea extends Marker<MarkArcAreaAttrs, CommonMarkArea
37
41
  defaultExitAnimation: import("./type").MarkerExitAnimation;
38
42
  protected markerAnimate(state: MarkerAnimationState): void;
39
43
  getArea(): IArc;
40
- getLabel(): Tag;
41
44
  constructor(attributes: MarkArcAreaAttrs, options?: ComponentOptions);
42
- protected getPointAttrByPosition(position: IMarkCommonArcLabelPosition): {
45
+ protected getPointAttrByPosition(position: IMarkCommonArcLabelPosition, labelAttrs: MarkerArcAreaLabelAttrs): {
43
46
  position: {
44
47
  x: number;
45
48
  y: number;
46
49
  };
47
50
  angle: number;
48
51
  };
49
- protected setLabelPos(): void;
52
+ protected setLabelPos(labelNode: Tag, labelAttrs: MarkerArcAreaLabelAttrs): void;
50
53
  protected initMarker(container: IGroup): void;
51
54
  protected updateMarker(): void;
52
55
  protected isValidPoints(): boolean;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.MarkArcArea = exports.registerMarkArcAreaAnimate = void 0;
6
6
 
7
- const vrender_core_1 = require("@visactor/vrender-core"), vutils_1 = require("@visactor/vutils"), tag_1 = require("../tag"), base_1 = require("./base"), config_1 = require("./config"), type_1 = require("./type"), limit_shape_1 = require("../util/limit-shape"), register_1 = require("./register"), constant_1 = require("../constant"), animate_1 = require("./animate/animate");
7
+ const vrender_core_1 = require("@visactor/vrender-core"), vutils_1 = require("@visactor/vutils"), base_1 = require("./base"), config_1 = require("./config"), type_1 = require("./type"), limit_shape_1 = require("../util/limit-shape"), register_1 = require("./register"), constant_1 = require("../constant"), animate_1 = require("./animate/animate"), label_1 = require("./mixin/label");
8
8
 
9
9
  function registerMarkArcAreaAnimate() {
10
10
  MarkArcArea._animate = animate_1.markArcAreaAnimate;
@@ -19,19 +19,13 @@ class MarkArcArea extends base_1.Marker {
19
19
  getArea() {
20
20
  return this._area;
21
21
  }
22
- getLabel() {
23
- return this._label;
24
- }
25
22
  constructor(attributes, options) {
26
- super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, MarkArcArea.defaultAttributes, attributes, {
27
- label: {
28
- autoRotate: !0
29
- }
30
- })), this.name = "markArcArea", this.defaultUpdateAnimation = animate_1.DefaultUpdateMarkAreaAnimation,
23
+ super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, MarkArcArea.defaultAttributes, attributes)),
24
+ this.name = "markArcArea", this.defaultUpdateAnimation = animate_1.DefaultUpdateMarkAreaAnimation,
31
25
  this.defaultExitAnimation = animate_1.DefaultExitMarkerAnimation;
32
26
  }
33
- getPointAttrByPosition(position) {
34
- const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, label: label} = this.attribute, {refX: refX = 0, refY: refY = 0} = label;
27
+ getPointAttrByPosition(position, labelAttrs) {
28
+ const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle} = this.attribute, {refX: refX = 0, refY: refY = 0} = labelAttrs;
35
29
  let radius, angle;
36
30
  switch (position) {
37
31
  case type_1.IMarkCommonArcLabelPosition.center:
@@ -73,16 +67,16 @@ class MarkArcArea extends base_1.Marker {
73
67
  angle: angle
74
68
  };
75
69
  }
76
- setLabelPos() {
70
+ setLabelPos(labelNode, labelAttrs) {
77
71
  var _a;
78
- if (this._label && this._area) {
79
- const {label: label = {}} = this.attribute, {position: labelPosition = "arcInnerMiddle", autoRotate: autoRotate} = label, labelAttr = this.getPointAttrByPosition(labelPosition);
80
- if (this._label.setAttributes(Object.assign(Object.assign({}, labelAttr.position), {
81
- angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (null !== (_a = label.refAngle) && void 0 !== _a ? _a : 0) : 0,
82
- textStyle: Object.assign(Object.assign({}, config_1.DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[labelPosition]), label.textStyle)
83
- })), this.attribute.limitRect && label.confine) {
72
+ if (this._area) {
73
+ const {position: labelPosition = "arcInnerMiddle", autoRotate: autoRotate} = labelAttrs, labelAttr = this.getPointAttrByPosition(labelPosition, labelAttrs);
74
+ if (labelNode.setAttributes(Object.assign(Object.assign({}, labelAttr.position), {
75
+ angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (null !== (_a = labelAttrs.refAngle) && void 0 !== _a ? _a : 0) : 0,
76
+ textStyle: Object.assign(Object.assign({}, config_1.DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[labelPosition]), labelAttrs.textStyle)
77
+ })), this.attribute.limitRect && labelAttrs.confine) {
84
78
  const {x: x, y: y, width: width, height: height} = this.attribute.limitRect;
85
- (0, limit_shape_1.limitShapeInBounds)(this._label, {
79
+ (0, limit_shape_1.limitShapeInBounds)(labelNode, {
86
80
  x1: x,
87
81
  y1: y,
88
82
  x2: x + width,
@@ -92,7 +86,7 @@ class MarkArcArea extends base_1.Marker {
92
86
  }
93
87
  }
94
88
  initMarker(container) {
95
- const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, areaStyle: areaStyle, label: label, state: state} = this.attribute, area = vrender_core_1.graphicCreator.arc(Object.assign({
89
+ const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, areaStyle: areaStyle, state: state} = this.attribute, area = vrender_core_1.graphicCreator.arc(Object.assign({
96
90
  x: center.x,
97
91
  y: center.y,
98
92
  innerRadius: innerRadius,
@@ -101,15 +95,7 @@ class MarkArcArea extends base_1.Marker {
101
95
  endAngle: endAngle
102
96
  }, areaStyle));
103
97
  area.states = (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.area),
104
- area.name = "polar-mark-area-area", this._area = area, container.add(area);
105
- const markLabel = new tag_1.Tag(Object.assign(Object.assign({}, label), {
106
- state: {
107
- panel: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
108
- text: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.label)
109
- }
110
- }));
111
- markLabel.name = "mark-area-label", this._label = markLabel, container.add(markLabel),
112
- this.setLabelPos();
98
+ area.name = "polar-mark-area-area", this._area = area, container.add(area), this._addMarkLabels(container, "mark-area-label", MarkArcArea.defaultAttributes.label);
113
99
  }
114
100
  updateMarker() {
115
101
  const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, areaStyle: areaStyle, label: label, state: state} = this.attribute;
@@ -121,20 +107,13 @@ class MarkArcArea extends base_1.Marker {
121
107
  startAngle: startAngle,
122
108
  endAngle: endAngle
123
109
  }, areaStyle)), this._area.states = (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.area)),
124
- this._label && (this._label.setAttributes(Object.assign(Object.assign({
125
- dx: 0,
126
- dy: 0
127
- }, label), {
128
- state: {
129
- panel: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
130
- text: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.label)
131
- }
132
- })), this.setLabelPos());
110
+ this._updateMarkLabels(MarkArcArea.defaultAttributes.label);
133
111
  }
134
112
  isValidPoints() {
135
113
  return !0;
136
114
  }
137
115
  }
138
116
 
139
- exports.MarkArcArea = MarkArcArea, MarkArcArea.defaultAttributes = config_1.DEFAULT_MARK_ARC_AREA_THEME;
117
+ exports.MarkArcArea = MarkArcArea, MarkArcArea.defaultAttributes = config_1.DEFAULT_MARK_ARC_AREA_THEME,
118
+ (0, vutils_1.mixin)(MarkArcArea, label_1.MarkLabelMixin);
140
119
  //# sourceMappingURL=arc-area.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/arc-area.ts"],"names":[],"mappings":"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","file":"arc-area.js","sourcesContent":["import type { IArc, IGroup, INode } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { merge } from '@visactor/vutils';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tag } from '../tag';\nimport { Marker } from './base';\nimport { DEFAULT_MARK_ARC_AREA_THEME, DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP } from './config';\nimport type { CommonMarkAreaAnimationType, MarkerAnimationState } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport { IMarkCommonArcLabelPosition, type MarkArcAreaAttrs } from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkArcAreaComponent } from './register';\nimport { DEFAULT_STATES } from '../constant';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkAreaAnimation, markArcAreaAnimate } from './animate/animate';\n\nloadMarkArcAreaComponent();\n\nexport function registerMarkArcAreaAnimate() {\n MarkArcArea._animate = markArcAreaAnimate;\n}\n\nexport class MarkArcArea extends Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {\n name = 'markArcArea';\n static defaultAttributes = DEFAULT_MARK_ARC_AREA_THEME;\n private _area!: IArc;\n\n /** animate */\n defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n protected markerAnimate(state: MarkerAnimationState) {\n if (MarkArcArea._animate && this._animationConfig) {\n MarkArcArea._animate(this._area, this._label, this._animationConfig, state);\n }\n }\n\n getArea() {\n return this._area;\n }\n\n getLabel() {\n return this._label;\n }\n\n constructor(attributes: MarkArcAreaAttrs, options?: ComponentOptions) {\n // eslint-disable-next-line max-len\n super(\n options?.skipDefault\n ? attributes\n : merge({}, MarkArcArea.defaultAttributes, attributes, { label: { autoRotate: true } })\n );\n }\n\n protected getPointAttrByPosition(position: IMarkCommonArcLabelPosition) {\n const { center, innerRadius, outerRadius, startAngle, endAngle, label } = this.attribute as MarkArcAreaAttrs;\n const { refX = 0, refY = 0 } = label;\n\n let radius;\n let angle;\n\n switch (position) {\n case IMarkCommonArcLabelPosition.center:\n radius = (innerRadius + outerRadius) / 2;\n angle = (startAngle + endAngle) / 2;\n break;\n case IMarkCommonArcLabelPosition.arcInnerStart:\n radius = innerRadius;\n angle = startAngle;\n break;\n case IMarkCommonArcLabelPosition.arcOuterStart:\n radius = outerRadius;\n angle = startAngle;\n break;\n case IMarkCommonArcLabelPosition.arcInnerEnd:\n radius = innerRadius;\n angle = endAngle;\n break;\n case IMarkCommonArcLabelPosition.arcOuterEnd:\n radius = outerRadius;\n angle = endAngle;\n break;\n case IMarkCommonArcLabelPosition.arcInnerMiddle:\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n break;\n case IMarkCommonArcLabelPosition.arcOuterMiddle:\n radius = outerRadius;\n angle = (startAngle + endAngle) / 2;\n break;\n default: // default arcInnerMiddle\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n }\n\n return {\n position: {\n x: center.x + (radius + refY) * Math.cos(angle) + refX * Math.cos(angle - Math.PI / 2),\n y: center.y + (radius + refY) * Math.sin(angle) + refX * Math.sin(angle - Math.PI / 2)\n },\n angle\n };\n }\n\n protected setLabelPos() {\n if (this._label && this._area) {\n const { label = {} } = this.attribute as MarkArcAreaAttrs;\n const { position: labelPosition = 'arcInnerMiddle', autoRotate } = label;\n const labelAttr = this.getPointAttrByPosition(labelPosition as IMarkCommonArcLabelPosition);\n\n this._label.setAttributes({\n ...labelAttr.position,\n angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (label.refAngle ?? 0) : 0,\n textStyle: {\n ...DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[labelPosition],\n ...label.textStyle\n }\n });\n\n if (this.attribute.limitRect && label.confine) {\n const { x, y, width, height } = this.attribute.limitRect;\n limitShapeInBounds(this._label, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n }\n }\n }\n\n protected initMarker(container: IGroup) {\n const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this\n .attribute as MarkArcAreaAttrs;\n const area = graphicCreator.arc({\n x: center.x,\n y: center.y,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n ...areaStyle\n });\n area.states = merge({}, DEFAULT_STATES, state?.area);\n area.name = 'polar-mark-area-area';\n this._area = area;\n container.add(area);\n\n const markLabel = new Tag({\n ...(label as TagAttributes),\n state: {\n panel: merge({}, DEFAULT_STATES, state?.labelBackground),\n text: merge({}, DEFAULT_STATES, state?.label)\n }\n });\n markLabel.name = 'mark-area-label';\n this._label = markLabel;\n container.add(markLabel as unknown as INode);\n this.setLabelPos();\n }\n\n protected updateMarker() {\n const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this\n .attribute as MarkArcAreaAttrs;\n if (this._area) {\n this._area.setAttributes({\n x: center.x,\n y: center.y,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n ...areaStyle\n });\n this._area.states = merge({}, DEFAULT_STATES, state?.area);\n }\n if (this._label) {\n this._label.setAttributes({\n dx: 0,\n dy: 0, // 需要进行复位\n ...(label as TagAttributes),\n state: {\n panel: merge({}, DEFAULT_STATES, state?.labelBackground),\n text: merge({}, DEFAULT_STATES, state?.label)\n }\n });\n this.setLabelPos();\n }\n }\n\n protected isValidPoints() {\n return true;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/arc-area.ts"],"names":[],"mappings":"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","file":"arc-area.js","sourcesContent":["import type { IArc, IGroup } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { merge, mixin } from '@visactor/vutils';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport type { Tag } from '../tag';\nimport { Marker } from './base';\nimport { DEFAULT_MARK_ARC_AREA_THEME, DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP } from './config';\nimport type { CommonMarkAreaAnimationType, MarkerAnimationState, MarkerArcAreaLabelAttrs } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport { IMarkCommonArcLabelPosition, type MarkArcAreaAttrs } from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkArcAreaComponent } from './register';\nimport { DEFAULT_STATES } from '../constant';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkAreaAnimation, markArcAreaAnimate } from './animate/animate';\nimport { MarkLabelMixin } from './mixin/label';\n\nloadMarkArcAreaComponent();\n\nexport function registerMarkArcAreaAnimate() {\n MarkArcArea._animate = markArcAreaAnimate;\n}\n\nexport interface MarkArcArea\n extends Pick<MarkLabelMixin<MarkArcAreaAttrs>, '_addMarkLabels' | '_updateMarkLabels' | 'getLabel' | '_label'>,\n Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {}\n\nexport class MarkArcArea extends Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {\n name = 'markArcArea';\n static defaultAttributes = DEFAULT_MARK_ARC_AREA_THEME;\n private _area!: IArc;\n\n /** animate */\n defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n protected markerAnimate(state: MarkerAnimationState) {\n if (MarkArcArea._animate && this._animationConfig) {\n MarkArcArea._animate(this._area, this._label, this._animationConfig, state);\n }\n }\n\n getArea() {\n return this._area;\n }\n\n constructor(attributes: MarkArcAreaAttrs, options?: ComponentOptions) {\n // eslint-disable-next-line max-len\n super(options?.skipDefault ? attributes : merge({}, MarkArcArea.defaultAttributes, attributes));\n }\n\n protected getPointAttrByPosition(position: IMarkCommonArcLabelPosition, labelAttrs: MarkerArcAreaLabelAttrs) {\n const { center, innerRadius, outerRadius, startAngle, endAngle } = this.attribute as MarkArcAreaAttrs;\n const { refX = 0, refY = 0 } = labelAttrs;\n\n let radius;\n let angle;\n\n switch (position) {\n case IMarkCommonArcLabelPosition.center:\n radius = (innerRadius + outerRadius) / 2;\n angle = (startAngle + endAngle) / 2;\n break;\n case IMarkCommonArcLabelPosition.arcInnerStart:\n radius = innerRadius;\n angle = startAngle;\n break;\n case IMarkCommonArcLabelPosition.arcOuterStart:\n radius = outerRadius;\n angle = startAngle;\n break;\n case IMarkCommonArcLabelPosition.arcInnerEnd:\n radius = innerRadius;\n angle = endAngle;\n break;\n case IMarkCommonArcLabelPosition.arcOuterEnd:\n radius = outerRadius;\n angle = endAngle;\n break;\n case IMarkCommonArcLabelPosition.arcInnerMiddle:\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n break;\n case IMarkCommonArcLabelPosition.arcOuterMiddle:\n radius = outerRadius;\n angle = (startAngle + endAngle) / 2;\n break;\n default: // default arcInnerMiddle\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n }\n\n return {\n position: {\n x: center.x + (radius + refY) * Math.cos(angle) + refX * Math.cos(angle - Math.PI / 2),\n y: center.y + (radius + refY) * Math.sin(angle) + refX * Math.sin(angle - Math.PI / 2)\n },\n angle\n };\n }\n\n protected setLabelPos(labelNode: Tag, labelAttrs: MarkerArcAreaLabelAttrs) {\n if (this._area) {\n const { position: labelPosition = 'arcInnerMiddle', autoRotate } = labelAttrs;\n const labelAttr = this.getPointAttrByPosition(labelPosition as IMarkCommonArcLabelPosition, labelAttrs);\n\n labelNode.setAttributes({\n ...labelAttr.position,\n angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (labelAttrs.refAngle ?? 0) : 0,\n textStyle: {\n ...DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[labelPosition],\n ...labelAttrs.textStyle\n }\n });\n\n if (this.attribute.limitRect && labelAttrs.confine) {\n const { x, y, width, height } = this.attribute.limitRect;\n limitShapeInBounds(labelNode, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n }\n }\n }\n\n protected initMarker(container: IGroup) {\n const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, state } = this\n .attribute as MarkArcAreaAttrs;\n const area = graphicCreator.arc({\n x: center.x,\n y: center.y,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n ...areaStyle\n });\n area.states = merge({}, DEFAULT_STATES, state?.area);\n area.name = 'polar-mark-area-area';\n this._area = area;\n container.add(area);\n\n // add label\n this._addMarkLabels(container, 'mark-area-label', MarkArcArea.defaultAttributes.label as TagAttributes);\n }\n\n protected updateMarker() {\n const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this\n .attribute as MarkArcAreaAttrs;\n if (this._area) {\n this._area.setAttributes({\n x: center.x,\n y: center.y,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n ...areaStyle\n });\n this._area.states = merge({}, DEFAULT_STATES, state?.area);\n }\n\n // update label\n this._updateMarkLabels(MarkArcArea.defaultAttributes.label as TagAttributes);\n }\n\n protected isValidPoints() {\n return true;\n }\n}\n\nmixin(MarkArcArea, MarkLabelMixin);\n"]}