@visactor/vrender-components 0.18.11-alpha.7 → 0.18.11

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 (291) hide show
  1. package/cjs/axis/base.js +21 -9
  2. package/cjs/axis/base.js.map +1 -1
  3. package/cjs/axis/circle.js +1 -1
  4. package/cjs/axis/circle.js.map +1 -1
  5. package/cjs/axis/grid/base.js +1 -5
  6. package/cjs/axis/grid/base.js.map +1 -1
  7. package/cjs/axis/index.d.ts +1 -0
  8. package/cjs/axis/index.js +1 -1
  9. package/cjs/axis/index.js.map +1 -1
  10. package/cjs/axis/line.js +5 -5
  11. package/cjs/axis/line.js.map +1 -1
  12. package/cjs/axis/mixin/circle.js +2 -4
  13. package/cjs/axis/mixin/circle.js.map +1 -1
  14. package/cjs/axis/overlap/auto-limit.js +8 -13
  15. package/cjs/axis/overlap/auto-limit.js.map +1 -1
  16. package/cjs/axis/util.d.ts +5 -2
  17. package/cjs/axis/util.js +18 -5
  18. package/cjs/axis/util.js.map +1 -1
  19. package/cjs/checkbox/checkbox.d.ts +1 -1
  20. package/cjs/checkbox/checkbox.js +9 -10
  21. package/cjs/checkbox/checkbox.js.map +1 -1
  22. package/cjs/index.d.ts +2 -1
  23. package/cjs/index.js +3 -2
  24. package/cjs/index.js.map +1 -1
  25. package/cjs/indicator/indicator.js +3 -3
  26. package/cjs/indicator/indicator.js.map +1 -1
  27. package/cjs/label/arc.d.ts +2 -2
  28. package/cjs/label/base.d.ts +2 -2
  29. package/cjs/label/base.js +3 -1
  30. package/cjs/label/base.js.map +1 -1
  31. package/cjs/legend/color/color.js +7 -5
  32. package/cjs/legend/color/color.js.map +1 -1
  33. package/cjs/legend/discrete/discrete.js +4 -2
  34. package/cjs/legend/discrete/discrete.js.map +1 -1
  35. package/cjs/legend/size/size.js +6 -4
  36. package/cjs/legend/size/size.js.map +1 -1
  37. package/cjs/marker/area.d.ts +4 -14
  38. package/cjs/marker/area.js +21 -34
  39. package/cjs/marker/area.js.map +1 -1
  40. package/cjs/marker/base.d.ts +3 -21
  41. package/cjs/marker/base.js +5 -40
  42. package/cjs/marker/base.js.map +1 -1
  43. package/cjs/marker/config.d.ts +6 -79
  44. package/cjs/marker/config.js +37 -77
  45. package/cjs/marker/config.js.map +1 -1
  46. package/cjs/marker/index.d.ts +0 -2
  47. package/cjs/marker/index.js +1 -2
  48. package/cjs/marker/index.js.map +1 -1
  49. package/cjs/marker/line.d.ts +12 -24
  50. package/cjs/marker/line.js +45 -111
  51. package/cjs/marker/line.js.map +1 -1
  52. package/cjs/marker/point.d.ts +3 -8
  53. package/cjs/marker/point.js +9 -33
  54. package/cjs/marker/point.js.map +1 -1
  55. package/cjs/marker/register.d.ts +0 -2
  56. package/cjs/marker/register.js +2 -11
  57. package/cjs/marker/register.js.map +1 -1
  58. package/cjs/marker/type.d.ts +12 -102
  59. package/cjs/marker/type.js +2 -8
  60. package/cjs/marker/type.js.map +1 -1
  61. package/cjs/marker/util.js +3 -0
  62. package/cjs/marker/util.js.map +1 -0
  63. package/cjs/pager/pager.js +2 -2
  64. package/cjs/pager/pager.js.map +1 -1
  65. package/cjs/player/base-player.d.ts +2 -0
  66. package/cjs/player/base-player.js +11 -6
  67. package/cjs/player/base-player.js.map +1 -1
  68. package/cjs/player/continuous-player.d.ts +1 -1
  69. package/cjs/player/continuous-player.js +6 -4
  70. package/cjs/player/continuous-player.js.map +1 -1
  71. package/cjs/player/controller/controller.js +4 -4
  72. package/cjs/player/controller/controller.js.map +1 -1
  73. package/cjs/player/discrete-player.d.ts +1 -1
  74. package/cjs/player/discrete-player.js +6 -4
  75. package/cjs/player/discrete-player.js.map +1 -1
  76. package/cjs/radio/index.d.ts +2 -0
  77. package/cjs/radio/index.js +21 -0
  78. package/cjs/radio/index.js.map +1 -0
  79. package/cjs/radio/radio.d.ts +16 -0
  80. package/cjs/radio/radio.js +88 -0
  81. package/cjs/radio/radio.js.map +1 -0
  82. package/cjs/radio/register.d.ts +1 -0
  83. package/cjs/radio/register.js +15 -0
  84. package/cjs/radio/register.js.map +1 -0
  85. package/cjs/radio/type.d.ts +21 -0
  86. package/cjs/radio/type.js +6 -0
  87. package/cjs/radio/type.js.map +1 -0
  88. package/cjs/segment/index.d.ts +0 -1
  89. package/cjs/segment/index.js +1 -2
  90. package/cjs/segment/index.js.map +1 -1
  91. package/cjs/segment/register.d.ts +1 -2
  92. package/cjs/segment/register.js +3 -8
  93. package/cjs/segment/register.js.map +1 -1
  94. package/cjs/segment/segment.d.ts +7 -9
  95. package/cjs/segment/segment.js +8 -12
  96. package/cjs/segment/segment.js.map +1 -1
  97. package/cjs/segment/type.d.ts +4 -24
  98. package/cjs/segment/type.js.map +1 -1
  99. package/cjs/slider/slider.d.ts +2 -0
  100. package/cjs/slider/slider.js +53 -38
  101. package/cjs/slider/slider.js.map +1 -1
  102. package/cjs/slider/type.d.ts +1 -0
  103. package/cjs/slider/type.js.map +1 -1
  104. package/cjs/tag/tag.d.ts +0 -5
  105. package/cjs/tag/tag.js +5 -14
  106. package/cjs/tag/tag.js.map +1 -1
  107. package/cjs/util/text.d.ts +1 -1
  108. package/cjs/util/text.js +6 -7
  109. package/cjs/util/text.js.map +1 -1
  110. package/es/axis/base.js +23 -13
  111. package/es/axis/base.js.map +1 -1
  112. package/es/axis/circle.js +2 -2
  113. package/es/axis/circle.js.map +1 -1
  114. package/es/axis/grid/base.js +2 -6
  115. package/es/axis/grid/base.js.map +1 -1
  116. package/es/axis/index.d.ts +1 -0
  117. package/es/axis/index.js +2 -0
  118. package/es/axis/index.js.map +1 -1
  119. package/es/axis/line.js +5 -5
  120. package/es/axis/line.js.map +1 -1
  121. package/es/axis/mixin/circle.js +2 -3
  122. package/es/axis/mixin/circle.js.map +1 -1
  123. package/es/axis/overlap/auto-limit.js +9 -13
  124. package/es/axis/overlap/auto-limit.js.map +1 -1
  125. package/es/axis/util.d.ts +5 -2
  126. package/es/axis/util.js +15 -1
  127. package/es/axis/util.js.map +1 -1
  128. package/es/checkbox/checkbox.d.ts +1 -1
  129. package/es/checkbox/checkbox.js +9 -10
  130. package/es/checkbox/checkbox.js.map +1 -1
  131. package/es/index.d.ts +2 -1
  132. package/es/index.js +3 -1
  133. package/es/index.js.map +1 -1
  134. package/es/indicator/indicator.js +3 -3
  135. package/es/indicator/indicator.js.map +1 -1
  136. package/es/label/arc.d.ts +2 -2
  137. package/es/label/base.d.ts +2 -2
  138. package/es/label/base.js +3 -1
  139. package/es/label/base.js.map +1 -1
  140. package/es/legend/color/color.js +7 -5
  141. package/es/legend/color/color.js.map +1 -1
  142. package/es/legend/discrete/discrete.js +4 -2
  143. package/es/legend/discrete/discrete.js.map +1 -1
  144. package/es/legend/size/size.js +6 -4
  145. package/es/legend/size/size.js.map +1 -1
  146. package/es/marker/area.d.ts +4 -14
  147. package/es/marker/area.js +19 -36
  148. package/es/marker/area.js.map +1 -1
  149. package/es/marker/base.d.ts +3 -21
  150. package/es/marker/base.js +4 -43
  151. package/es/marker/base.js.map +1 -1
  152. package/es/marker/config.d.ts +6 -79
  153. package/es/marker/config.js +37 -79
  154. package/es/marker/config.js.map +1 -1
  155. package/es/marker/index.d.ts +0 -2
  156. package/es/marker/index.js +0 -4
  157. package/es/marker/index.js.map +1 -1
  158. package/es/marker/line.d.ts +12 -24
  159. package/es/marker/line.js +48 -116
  160. package/es/marker/line.js.map +1 -1
  161. package/es/marker/point.d.ts +3 -8
  162. package/es/marker/point.js +6 -34
  163. package/es/marker/point.js.map +1 -1
  164. package/es/marker/register.d.ts +0 -2
  165. package/es/marker/register.js +2 -10
  166. package/es/marker/register.js.map +1 -1
  167. package/es/marker/type.d.ts +12 -102
  168. package/es/marker/type.js +0 -9
  169. package/es/marker/type.js.map +1 -1
  170. package/es/marker/util.js +3 -0
  171. package/es/marker/util.js.map +1 -0
  172. package/es/pager/pager.js +2 -2
  173. package/es/pager/pager.js.map +1 -1
  174. package/es/player/base-player.d.ts +2 -0
  175. package/es/player/base-player.js +11 -6
  176. package/es/player/base-player.js.map +1 -1
  177. package/es/player/continuous-player.d.ts +1 -1
  178. package/es/player/continuous-player.js +6 -4
  179. package/es/player/continuous-player.js.map +1 -1
  180. package/es/player/controller/controller.js +5 -5
  181. package/es/player/controller/controller.js.map +1 -1
  182. package/es/player/discrete-player.d.ts +1 -1
  183. package/es/player/discrete-player.js +6 -4
  184. package/es/player/discrete-player.js.map +1 -1
  185. package/es/radio/index.d.ts +2 -0
  186. package/es/radio/index.js +4 -0
  187. package/es/radio/index.js.map +1 -0
  188. package/es/radio/radio.d.ts +16 -0
  189. package/es/radio/radio.js +87 -0
  190. package/es/radio/radio.js.map +1 -0
  191. package/es/radio/register.d.ts +1 -0
  192. package/es/radio/register.js +6 -0
  193. package/es/radio/register.js.map +1 -0
  194. package/es/radio/type.d.ts +21 -0
  195. package/es/radio/type.js +2 -0
  196. package/es/radio/type.js.map +1 -0
  197. package/es/segment/index.d.ts +0 -1
  198. package/es/segment/index.js +0 -2
  199. package/es/segment/index.js.map +1 -1
  200. package/es/segment/register.d.ts +1 -2
  201. package/es/segment/register.js +2 -6
  202. package/es/segment/register.js.map +1 -1
  203. package/es/segment/segment.d.ts +7 -9
  204. package/es/segment/segment.js +8 -11
  205. package/es/segment/segment.js.map +1 -1
  206. package/es/segment/type.d.ts +4 -24
  207. package/es/segment/type.js.map +1 -1
  208. package/es/slider/slider.d.ts +2 -0
  209. package/es/slider/slider.js +50 -36
  210. package/es/slider/slider.js.map +1 -1
  211. package/es/slider/type.d.ts +1 -0
  212. package/es/slider/type.js.map +1 -1
  213. package/es/tag/tag.d.ts +0 -5
  214. package/es/tag/tag.js +5 -14
  215. package/es/tag/tag.js.map +1 -1
  216. package/es/util/text.d.ts +1 -1
  217. package/es/util/text.js +6 -7
  218. package/es/util/text.js.map +1 -1
  219. package/package.json +5 -5
  220. package/cjs/marker/animate/animate.d.ts +0 -13
  221. package/cjs/marker/animate/animate.js +0 -92
  222. package/cjs/marker/animate/animate.js.map +0 -1
  223. package/cjs/marker/animate/call-in.d.ts +0 -4
  224. package/cjs/marker/animate/call-in.js +0 -27
  225. package/cjs/marker/animate/call-in.js.map +0 -1
  226. package/cjs/marker/animate/clip-in.d.ts +0 -4
  227. package/cjs/marker/animate/clip-in.js +0 -23
  228. package/cjs/marker/animate/clip-in.js.map +0 -1
  229. package/cjs/marker/animate/common.d.ts +0 -9
  230. package/cjs/marker/animate/common.js +0 -48
  231. package/cjs/marker/animate/common.js.map +0 -1
  232. package/cjs/marker/animate/fade-in.d.ts +0 -7
  233. package/cjs/marker/animate/fade-in.js +0 -30
  234. package/cjs/marker/animate/fade-in.js.map +0 -1
  235. package/cjs/marker/animate/fade-out.d.ts +0 -7
  236. package/cjs/marker/animate/fade-out.js +0 -30
  237. package/cjs/marker/animate/fade-out.js.map +0 -1
  238. package/cjs/marker/animate/index.js +0 -3
  239. package/cjs/marker/animate/index.js.map +0 -1
  240. package/cjs/marker/arc-area.d.ts +0 -55
  241. package/cjs/marker/arc-area.js +0 -131
  242. package/cjs/marker/arc-area.js.map +0 -1
  243. package/cjs/marker/arc-line.d.ts +0 -25
  244. package/cjs/marker/arc-line.js +0 -106
  245. package/cjs/marker/arc-line.js.map +0 -1
  246. package/cjs/marker/common-line.d.ts +0 -22
  247. package/cjs/marker/common-line.js +0 -56
  248. package/cjs/marker/common-line.js.map +0 -1
  249. package/cjs/segment/arc-segment.d.ts +0 -13
  250. package/cjs/segment/arc-segment.js +0 -51
  251. package/cjs/segment/arc-segment.js.map +0 -1
  252. package/cjs/util/interaction.d.ts +0 -4
  253. package/cjs/util/interaction.js +0 -37
  254. package/cjs/util/interaction.js.map +0 -1
  255. package/es/marker/animate/animate.d.ts +0 -13
  256. package/es/marker/animate/animate.js +0 -92
  257. package/es/marker/animate/animate.js.map +0 -1
  258. package/es/marker/animate/call-in.d.ts +0 -4
  259. package/es/marker/animate/call-in.js +0 -17
  260. package/es/marker/animate/call-in.js.map +0 -1
  261. package/es/marker/animate/clip-in.d.ts +0 -4
  262. package/es/marker/animate/clip-in.js +0 -15
  263. package/es/marker/animate/clip-in.js.map +0 -1
  264. package/es/marker/animate/common.d.ts +0 -9
  265. package/es/marker/animate/common.js +0 -39
  266. package/es/marker/animate/common.js.map +0 -1
  267. package/es/marker/animate/fade-in.d.ts +0 -7
  268. package/es/marker/animate/fade-in.js +0 -20
  269. package/es/marker/animate/fade-in.js.map +0 -1
  270. package/es/marker/animate/fade-out.d.ts +0 -7
  271. package/es/marker/animate/fade-out.js +0 -20
  272. package/es/marker/animate/fade-out.js.map +0 -1
  273. package/es/marker/animate/index.js +0 -3
  274. package/es/marker/animate/index.js.map +0 -1
  275. package/es/marker/arc-area.d.ts +0 -55
  276. package/es/marker/arc-area.js +0 -143
  277. package/es/marker/arc-area.js.map +0 -1
  278. package/es/marker/arc-line.d.ts +0 -25
  279. package/es/marker/arc-line.js +0 -114
  280. package/es/marker/arc-line.js.map +0 -1
  281. package/es/marker/common-line.d.ts +0 -22
  282. package/es/marker/common-line.js +0 -58
  283. package/es/marker/common-line.js.map +0 -1
  284. package/es/segment/arc-segment.d.ts +0 -13
  285. package/es/segment/arc-segment.js +0 -49
  286. package/es/segment/arc-segment.js.map +0 -1
  287. package/es/util/interaction.d.ts +0 -4
  288. package/es/util/interaction.js +0 -30
  289. package/es/util/interaction.js.map +0 -1
  290. /package/cjs/marker/{animate/index.d.ts → util.d.ts} +0 -0
  291. /package/es/marker/{animate/index.d.ts → util.d.ts} +0 -0
@@ -1,39 +0,0 @@
1
- export function graphicFadeIn(graphic, delay, duration, easing) {
2
- graphic && (graphic.setAttributes({
3
- fillOpacity: 0,
4
- strokeOpacity: 0
5
- }), graphic.animate().wait(delay).to({
6
- fillOpacity: 1,
7
- strokeOpacity: 1
8
- }, duration, easing));
9
- }
10
-
11
- export function segmentFadeIn(segment, delay, duration, easing) {
12
- segment && (graphicFadeIn(segment.startSymbol, delay, duration, easing), segment.lines.forEach((line => graphicFadeIn(line, delay, duration, easing))),
13
- graphicFadeIn(segment.line, delay, duration, easing), graphicFadeIn(segment.endSymbol, delay, duration, easing));
14
- }
15
-
16
- export function tagFadeIn(tag, delay, duration, easing) {
17
- tag && (graphicFadeIn(tag.getTextShape(), delay, duration, easing), graphicFadeIn(tag.getBgRect(), delay, duration, easing));
18
- }
19
-
20
- export function graphicFadeOut(graphic, delay, duration, easing) {
21
- var _a, _b, _c, _d;
22
- graphic && (graphic.setAttributes({
23
- fillOpacity: null !== (_b = null === (_a = graphic.attribute) || void 0 === _a ? void 0 : _a.fillOpacity) && void 0 !== _b ? _b : 1,
24
- strokeOpacity: null !== (_d = null === (_c = graphic.attribute) || void 0 === _c ? void 0 : _c.strokeOpacity) && void 0 !== _d ? _d : 1
25
- }), graphic.animate().wait(delay).to({
26
- fillOpacity: 0,
27
- strokeOpacity: 0
28
- }, duration, easing));
29
- }
30
-
31
- export function segmentFadeOut(segment, delay, duration, easing) {
32
- segment && (graphicFadeOut(segment.startSymbol, delay, duration, easing), segment.lines.forEach((line => graphicFadeOut(line, delay, duration, easing))),
33
- graphicFadeOut(segment.line, delay, duration, easing), graphicFadeOut(segment.endSymbol, delay, duration, easing));
34
- }
35
-
36
- export function tagFadeOut(tag, delay, duration, easing) {
37
- tag && (graphicFadeOut(tag.getTextShape(), delay, duration, easing), graphicFadeOut(tag.getBgRect(), delay, duration, easing));
38
- }
39
- //# sourceMappingURL=common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/marker/animate/common.ts"],"names":[],"mappings":"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","file":"common.js","sourcesContent":["import type { EasingType, IGraphic } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\n\n/** fade-in */\nexport function graphicFadeIn(graphic: IGraphic, delay: number, duration: number, easing: EasingType) {\n if (!graphic) {\n return;\n }\n\n graphic.setAttributes({\n fillOpacity: 0,\n strokeOpacity: 0\n });\n\n graphic.animate().wait(delay).to({ fillOpacity: 1, strokeOpacity: 1 }, duration, easing);\n}\n\nexport function segmentFadeIn(segment: Segment, delay: number, duration: number, easing: EasingType) {\n if (!segment) {\n return;\n }\n\n // start symbol\n graphicFadeIn(segment.startSymbol, delay, duration, easing);\n\n // line\n segment.lines.forEach(line => graphicFadeIn(line, delay, duration, easing));\n graphicFadeIn((segment as ArcSegment).line, delay, duration, easing);\n\n // end symbol\n graphicFadeIn(segment.endSymbol, delay, duration, easing);\n}\n\nexport function tagFadeIn(tag: Tag, delay: number, duration: number, easing: EasingType) {\n if (!tag) {\n return;\n }\n\n // text\n graphicFadeIn(tag.getTextShape(), delay, duration, easing);\n\n // text background\n graphicFadeIn(tag.getBgRect(), delay, duration, easing);\n}\n\n/** fade-out */\nexport function graphicFadeOut(graphic: IGraphic, delay: number, duration: number, easing: EasingType) {\n if (!graphic) {\n return;\n }\n\n graphic.setAttributes({\n fillOpacity: graphic.attribute?.fillOpacity ?? 1,\n strokeOpacity: graphic.attribute?.strokeOpacity ?? 1\n });\n\n graphic.animate().wait(delay).to({ fillOpacity: 0, strokeOpacity: 0 }, duration, easing);\n}\n\nexport function segmentFadeOut(segment: Segment | ArcSegment, delay: number, duration: number, easing: EasingType) {\n if (!segment) {\n return;\n }\n\n // start symbol\n graphicFadeOut(segment.startSymbol, delay, duration, easing);\n\n // line\n segment.lines.forEach(line => graphicFadeOut(line, delay, duration, easing));\n graphicFadeOut((segment as ArcSegment).line, delay, duration, easing);\n\n // end symbol\n graphicFadeOut(segment.endSymbol, delay, duration, easing);\n}\n\nexport function tagFadeOut(tag: Tag, delay: number, duration: number, easing: EasingType) {\n if (!tag) {\n return;\n }\n\n // text\n graphicFadeOut(tag.getTextShape(), delay, duration, easing);\n\n // text background\n graphicFadeOut(tag.getBgRect(), delay, duration, easing);\n}\n"]}
@@ -1,7 +0,0 @@
1
- import type { EasingType, IArc, IImage, ILine, IPolygon, IRichText, ISymbol } from '@visactor/vrender-core';
2
- import type { ArcSegment, Segment } from '../../segment';
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;
7
- export declare function pointFadeIn(itemLine: Segment, decorativeLine: ILine, item: Tag | IRichText | ISymbol | IImage, duration: number, delay: number, easing: EasingType): void;
@@ -1,20 +0,0 @@
1
- import { graphicFadeIn, segmentFadeIn, tagFadeIn } from "./common";
2
-
3
- export function commonLineFadeIn(line, label, duration, delay, easing) {
4
- segmentFadeIn(line, delay, duration, easing), tagFadeIn(label, delay, duration, easing);
5
- }
6
-
7
- export function areaFadeIn(area, label, duration, delay, easing) {
8
- graphicFadeIn(area, delay, duration, easing), tagFadeIn(label, delay, duration, easing);
9
- }
10
-
11
- export function arcAreaFadeIn(area, label, duration, delay, easing) {
12
- graphicFadeIn(area, delay, duration, easing), tagFadeIn(label, delay, duration, easing);
13
- }
14
-
15
- export function pointFadeIn(itemLine, decorativeLine, item, duration, delay, easing) {
16
- var _a;
17
- segmentFadeIn(itemLine, delay, duration, easing), graphicFadeIn(decorativeLine, delay, duration, easing),
18
- (null === (_a = item.getTextShape) || void 0 === _a ? void 0 : _a.call(item)) ? tagFadeIn(item, delay, duration, easing) : graphicFadeIn(item, delay, duration, easing);
19
- }
20
- //# sourceMappingURL=fade-in.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/marker/animate/fade-in.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEnE,MAAM,UAAU,gBAAgB,CAC9B,IAA0B,EAC1B,KAAU,EACV,QAAgB,EAChB,KAAa,EACb,MAAkB;IAElB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAc,EAAE,KAAU,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IACxG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAU,EAAE,KAAU,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IACvG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,QAAiB,EACjB,cAAqB,EACrB,IAAwC,EACxC,QAAgB,EAChB,KAAa,EACb,MAAkB;;IAElB,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,MAAA,IAAI,CAAC,YAAY,oDAAI,EAAE;QAEzB,SAAS,CAAC,IAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KACjD;SAAM;QAEL,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC9C;AACH,CAAC","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,7 +0,0 @@
1
- import type { EasingType, IArc, IImage, ILine, IPolygon, IRichText, ISymbol } from '@visactor/vrender-core';
2
- import type { ArcSegment, Segment } from '../../segment';
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;
7
- export declare function pointFadeOut(itemLine: Segment, decorativeLine: ILine, item: Tag | IRichText | ISymbol | IImage, duration: number, delay: number, easing: EasingType): void;
@@ -1,20 +0,0 @@
1
- import { graphicFadeOut, segmentFadeOut, tagFadeOut } from "./common";
2
-
3
- export function commonLineFadeOut(line, label, duration, delay, easing) {
4
- segmentFadeOut(line, delay, duration, easing), tagFadeOut(label, delay, duration, easing);
5
- }
6
-
7
- export function areaFadeOut(area, label, duration, delay, easing) {
8
- graphicFadeOut(area, delay, duration, easing), tagFadeOut(label, delay, duration, easing);
9
- }
10
-
11
- export function arcAreaFadeOut(area, label, duration, delay, easing) {
12
- graphicFadeOut(area, delay, duration, easing), tagFadeOut(label, delay, duration, easing);
13
- }
14
-
15
- export function pointFadeOut(itemLine, decorativeLine, item, duration, delay, easing) {
16
- var _a;
17
- segmentFadeOut(itemLine, delay, duration, easing), graphicFadeOut(decorativeLine, delay, duration, easing),
18
- (null === (_a = item.getTextShape) || void 0 === _a ? void 0 : _a.call(item)) ? tagFadeOut(item, delay, duration, easing) : graphicFadeOut(item, delay, duration, easing);
19
- }
20
- //# sourceMappingURL=fade-out.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/marker/animate/fade-out.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtE,MAAM,UAAU,iBAAiB,CAC/B,IAA0B,EAC1B,KAAU,EACV,QAAgB,EAChB,KAAa,EACb,MAAkB;IAElB,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,KAAU,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IACzG,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,KAAU,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAkB;IACxG,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAiB,EACjB,cAAqB,EACrB,IAAwC,EACxC,QAAgB,EAChB,KAAa,EACb,MAAkB;;IAElB,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,MAAA,IAAI,CAAC,YAAY,oDAAI,EAAE;QAEzB,UAAU,CAAC,IAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAClD;SAAM;QAEL,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC/C;AACH,CAAC","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,3 +0,0 @@
1
-
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/marker/animate/index.ts"],"names":[],"mappings":"","file":"index.js","sourcesContent":[""]}
@@ -1,55 +0,0 @@
1
- import type { IArc, IGroup } from '@visactor/vrender-core';
2
- import { Tag } from '../tag';
3
- import { Marker } from './base';
4
- import type { CommonMarkAreaAnimationType, MarkerAnimationState } from './type';
5
- import { IMarkCommonArcLabelPosition, type MarkArcAreaAttrs } from './type';
6
- import type { ComponentOptions } from '../interface';
7
- export declare function registerMarkArcAreaAnimate(): void;
8
- export declare class MarkArcArea extends Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {
9
- name: string;
10
- static defaultAttributes: {
11
- interactive: boolean;
12
- label: {
13
- position: IMarkCommonArcLabelPosition;
14
- textStyle: {
15
- fill: string;
16
- stroke: string;
17
- lineWidth: number;
18
- fontSize: number;
19
- fontWeight: string;
20
- fontStyle: string;
21
- textAlign: string;
22
- textBaseline: string;
23
- };
24
- padding: number[];
25
- panel: {
26
- visible: boolean;
27
- cornerRadius: number;
28
- fill: string;
29
- fillOpacity: number;
30
- };
31
- };
32
- areaStyle: {
33
- fill: string;
34
- visible: boolean;
35
- };
36
- };
37
- private _area;
38
- defaultUpdateAnimation: never;
39
- defaultExitAnimation: import("./type").MarkerExitAnimation;
40
- protected markerAnimate(state: MarkerAnimationState): void;
41
- getArea(): IArc;
42
- getLabel(): Tag;
43
- constructor(attributes: MarkArcAreaAttrs, options?: ComponentOptions);
44
- protected getPointAttrByPosition(position: IMarkCommonArcLabelPosition): {
45
- position: {
46
- x: number;
47
- y: number;
48
- };
49
- angle: number;
50
- };
51
- protected setLabelPos(): void;
52
- protected initMarker(container: IGroup): void;
53
- protected updateMarker(): void;
54
- protected isValidPoints(): boolean;
55
- }
@@ -1,143 +0,0 @@
1
- import { graphicCreator } from "@visactor/vrender-core";
2
-
3
- import { merge } from "@visactor/vutils";
4
-
5
- import { Tag } from "../tag";
6
-
7
- import { Marker } from "./base";
8
-
9
- import { DEFAULT_MARK_ARC_AREA_THEME } from "./config";
10
-
11
- import { IMarkCommonArcLabelPosition } from "./type";
12
-
13
- import { limitShapeInBounds } from "../util/limit-shape";
14
-
15
- import { loadMarkArcAreaComponent } from "./register";
16
-
17
- import { DEFAULT_STATES } from "../constant";
18
-
19
- import { DefaultExitMarkerAnimation, DefaultUpdateMarkAreaAnimation, markArcAreaAnimate } from "./animate/animate";
20
-
21
- loadMarkArcAreaComponent();
22
-
23
- export function registerMarkArcAreaAnimate() {
24
- MarkArcArea._animate = markArcAreaAnimate;
25
- }
26
-
27
- export class MarkArcArea extends Marker {
28
- markerAnimate(state) {
29
- MarkArcArea._animate && MarkArcArea._animate(this._area, this._label, this._animationConfig, state);
30
- }
31
- getArea() {
32
- return this._area;
33
- }
34
- getLabel() {
35
- return this._label;
36
- }
37
- constructor(attributes, options) {
38
- super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArcArea.defaultAttributes, attributes)),
39
- this.name = "markArcArea", this.defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation,
40
- this.defaultExitAnimation = DefaultExitMarkerAnimation;
41
- }
42
- getPointAttrByPosition(position) {
43
- var _a, _b, _c, _d, _e, _f, _g, _h;
44
- const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, label: label} = this.attribute, {refX: refX = 0, refY: refY = 0} = label, 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);
45
- let radius, angle, orthogonalOffsetDirection;
46
- switch (position) {
47
- case IMarkCommonArcLabelPosition.center:
48
- radius = (innerRadius + outerRadius) / 2, angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = 0;
49
- break;
50
-
51
- case IMarkCommonArcLabelPosition.arcInnerStart:
52
- radius = innerRadius, angle = startAngle, orthogonalOffsetDirection = -1;
53
- break;
54
-
55
- case IMarkCommonArcLabelPosition.arcOuterStart:
56
- radius = outerRadius, angle = startAngle, orthogonalOffsetDirection = 1;
57
- break;
58
-
59
- case IMarkCommonArcLabelPosition.arcInnerEnd:
60
- radius = innerRadius, angle = endAngle, orthogonalOffsetDirection = -1;
61
- break;
62
-
63
- case IMarkCommonArcLabelPosition.arcOuterEnd:
64
- radius = outerRadius, angle = endAngle, orthogonalOffsetDirection = 1;
65
- break;
66
-
67
- case IMarkCommonArcLabelPosition.arcInnerMiddle:
68
- radius = innerRadius, angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = -1;
69
- break;
70
-
71
- case IMarkCommonArcLabelPosition.arcOuterMiddle:
72
- radius = outerRadius, angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = 1;
73
- break;
74
-
75
- default:
76
- radius = innerRadius, angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = -1;
77
- }
78
- return {
79
- position: {
80
- x: center.x + (radius + orthogonalOffsetDirection * labelHeight / 2 + refY) * Math.cos(angle) + refX * Math.cos(angle - Math.PI / 2),
81
- y: center.y + (radius + orthogonalOffsetDirection * labelHeight / 2 + refY) * Math.sin(angle) + refX * Math.sin(angle - Math.PI / 2)
82
- },
83
- angle: angle
84
- };
85
- }
86
- setLabelPos() {
87
- var _a;
88
- if (this._label && this._area) {
89
- const {label: label = {}} = this.attribute, {position: labelPosition = "arcInnerMiddle", autoRotate: autoRotate = !0} = label, labelAttr = this.getPointAttrByPosition(labelPosition);
90
- if (this._label.setAttributes(Object.assign(Object.assign({}, labelAttr.position), {
91
- angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (null !== (_a = label.refAngle) && void 0 !== _a ? _a : 0) : 0
92
- })), this.attribute.limitRect && label.confine) {
93
- const {x: x, y: y, width: width, height: height} = this.attribute.limitRect;
94
- limitShapeInBounds(this._label, {
95
- x1: x,
96
- y1: y,
97
- x2: x + width,
98
- y2: y + height
99
- });
100
- }
101
- }
102
- }
103
- initMarker(container) {
104
- const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, areaStyle: areaStyle, label: label, state: state} = this.attribute, area = graphicCreator.arc(Object.assign({
105
- x: center.x,
106
- y: center.y,
107
- innerRadius: innerRadius,
108
- outerRadius: outerRadius,
109
- startAngle: startAngle,
110
- endAngle: endAngle
111
- }, areaStyle));
112
- area.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.area), area.name = "polar-mark-area-area",
113
- this._area = area, container.add(area);
114
- const markLabel = new Tag(Object.assign(Object.assign({}, label), {
115
- state: {
116
- panel: merge({}, DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
117
- text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.label)
118
- }
119
- }));
120
- markLabel.name = "mark-area-label", this._label = markLabel, container.add(markLabel),
121
- this.setLabelPos();
122
- }
123
- updateMarker() {
124
- const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, areaStyle: areaStyle, label: label} = this.attribute;
125
- this._area && this._area.setAttributes(Object.assign({
126
- x: center.x,
127
- y: center.y,
128
- innerRadius: innerRadius,
129
- outerRadius: outerRadius,
130
- startAngle: startAngle,
131
- endAngle: endAngle
132
- }, areaStyle)), this._area && this._label.setAttributes(Object.assign({
133
- dx: 0,
134
- dy: 0
135
- }, label)), this.setLabelPos();
136
- }
137
- isValidPoints() {
138
- return !0;
139
- }
140
- }
141
-
142
- MarkArcArea.defaultAttributes = DEFAULT_MARK_ARC_AREA_THEME;
143
- //# sourceMappingURL=arc-area.js.map
@@ -1 +0,0 @@
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 } 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) {\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 super(options?.skipDefault ? attributes : merge({}, MarkArcArea.defaultAttributes, attributes));\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 // 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 let radius;\n let angle;\n // tag在正交方向是向内偏移,还是向外偏移\n // 不偏移: 0, 内: -1, 外: 1\n let orthogonalOffsetDirection;\n\n switch (position) {\n case IMarkCommonArcLabelPosition.center:\n radius = (innerRadius + outerRadius) / 2;\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = 0;\n break;\n case IMarkCommonArcLabelPosition.arcInnerStart:\n radius = innerRadius;\n angle = startAngle;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterStart:\n radius = outerRadius;\n angle = startAngle;\n orthogonalOffsetDirection = 1;\n break;\n case IMarkCommonArcLabelPosition.arcInnerEnd:\n radius = innerRadius;\n angle = endAngle;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterEnd:\n radius = outerRadius;\n angle = endAngle;\n orthogonalOffsetDirection = 1;\n break;\n case IMarkCommonArcLabelPosition.arcInnerMiddle:\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterMiddle:\n radius = outerRadius;\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = 1;\n break;\n default: // default arcInnerMiddle\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = -1;\n }\n\n return {\n position: {\n x:\n center.x +\n (radius + (orthogonalOffsetDirection * labelHeight) / 2 + refY) * Math.cos(angle) +\n refX * Math.cos(angle - Math.PI / 2),\n y:\n center.y +\n (radius + (orthogonalOffsetDirection * labelHeight) / 2 + refY) * Math.sin(angle) +\n 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 = true } = 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 });\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 } = 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 }\n if (this._area) {\n this._label.setAttributes({\n dx: 0,\n dy: 0, // 需要进行复位\n ...(label as TagAttributes)\n });\n }\n this.setLabelPos();\n }\n\n protected isValidPoints() {\n return true;\n }\n}\n"]}
@@ -1,25 +0,0 @@
1
- import { ArcSegment } from '../segment';
2
- import { MarkCommonLine } from './common-line';
3
- import type { ComponentOptions } from '../interface';
4
- import type { IArcGraphicAttribute } from '@visactor/vrender-core';
5
- import { IMarkCommonArcLabelPosition } from './type';
6
- import type { MarkArcLineAttrs, MarkerAnimationState } from './type';
7
- export declare function registerMarkArcLineAnimate(): void;
8
- export declare class MarkArcLine extends MarkCommonLine<IArcGraphicAttribute, IMarkCommonArcLabelPosition> {
9
- name: string;
10
- static defaultAttributes: Partial<MarkArcLineAttrs>;
11
- protected _line: ArcSegment;
12
- protected markerAnimate(state: MarkerAnimationState): void;
13
- constructor(attributes: MarkArcLineAttrs, options?: ComponentOptions);
14
- protected getPointAttrByPosition(direction: IMarkCommonArcLabelPosition): {
15
- position: {
16
- x: number;
17
- y: number;
18
- };
19
- angle: number;
20
- };
21
- protected getRotateByAngle(angle: number): number;
22
- protected createSegment(): ArcSegment;
23
- protected setLineAttributes(): void;
24
- protected isValidPoints(): boolean;
25
- }
@@ -1,114 +0,0 @@
1
- import { merge } from "@visactor/vutils";
2
-
3
- import { ArcSegment } from "../segment";
4
-
5
- import { loadMarkArcLineComponent } from "./register";
6
-
7
- import { DEFAULT_STATES } from "../constant";
8
-
9
- import { MarkCommonLine } from "./common-line";
10
-
11
- import { IMarkCommonArcLabelPosition } from "./type";
12
-
13
- import { DEFAULT_MARK_ARC_LINE_THEME } from "./config";
14
-
15
- import { commonMarkLineAnimate } from "./animate/animate";
16
-
17
- loadMarkArcLineComponent();
18
-
19
- export function registerMarkArcLineAnimate() {
20
- MarkArcLine._animate = commonMarkLineAnimate;
21
- }
22
-
23
- export class MarkArcLine extends MarkCommonLine {
24
- markerAnimate(state) {
25
- MarkArcLine._animate && MarkArcLine._animate(this._line, this._label, this._animationConfig, state);
26
- }
27
- constructor(attributes, options) {
28
- super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArcLine.defaultAttributes, attributes)),
29
- this.name = "markArcLine";
30
- }
31
- getPointAttrByPosition(direction) {
32
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
33
- const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, label: label} = this.attribute, {refX: refX = 0, refY: refY = 0} = label, labelRectHeight = Math.abs((null !== (_c = null === (_b = null === (_a = this._label.getTextShape()) || void 0 === _a ? void 0 : _a.AABBBounds) || void 0 === _b ? void 0 : _b.y2) && void 0 !== _c ? _c : 0) - (null !== (_e = null === (_d = this._label.getTextShape()) || void 0 === _d ? void 0 : _d.AABBBounds.y1) && void 0 !== _e ? _e : 0)), labelTextHeight = Math.abs((null !== (_h = null === (_g = null === (_f = this._label.getBgRect()) || void 0 === _f ? void 0 : _f.AABBBounds) || void 0 === _g ? void 0 : _g.y2) && void 0 !== _h ? _h : 0) - (null !== (_k = null === (_j = this._label.getBgRect()) || void 0 === _j ? void 0 : _j.AABBBounds.y1) && void 0 !== _k ? _k : 0)), labelHeight = Math.max(labelRectHeight, labelTextHeight);
34
- let angle, orthogonalOffsetDirection;
35
- switch (direction) {
36
- case IMarkCommonArcLabelPosition.center:
37
- angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = 0;
38
- break;
39
-
40
- case IMarkCommonArcLabelPosition.arcInnerStart:
41
- angle = startAngle, orthogonalOffsetDirection = -1;
42
- break;
43
-
44
- case IMarkCommonArcLabelPosition.arcOuterStart:
45
- angle = startAngle, orthogonalOffsetDirection = 1;
46
- break;
47
-
48
- case IMarkCommonArcLabelPosition.arcInnerEnd:
49
- angle = endAngle, orthogonalOffsetDirection = -1;
50
- break;
51
-
52
- case IMarkCommonArcLabelPosition.arcOuterEnd:
53
- angle = endAngle, orthogonalOffsetDirection = 1;
54
- break;
55
-
56
- case IMarkCommonArcLabelPosition.arcInnerMiddle:
57
- angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = -1;
58
- break;
59
-
60
- case IMarkCommonArcLabelPosition.arcOuterMiddle:
61
- angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = 1;
62
- break;
63
-
64
- default:
65
- angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = -1;
66
- }
67
- return {
68
- position: {
69
- x: center.x + (radius + orthogonalOffsetDirection * labelHeight / 2 + refY) * Math.cos(angle) + refX * Math.cos(angle - Math.PI / 2),
70
- y: center.y + (radius + orthogonalOffsetDirection * labelHeight / 2 + refY) * Math.sin(angle) + refX * Math.sin(angle - Math.PI / 2)
71
- },
72
- angle: angle
73
- };
74
- }
75
- getRotateByAngle(angle) {
76
- var _a;
77
- return angle - Math.PI / 2 + (null !== (_a = this.attribute.label.refAngle) && void 0 !== _a ? _a : 0);
78
- }
79
- createSegment() {
80
- const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, state: state} = this.attribute;
81
- return new ArcSegment({
82
- center: center,
83
- radius: radius,
84
- startAngle: startAngle,
85
- endAngle: endAngle,
86
- startSymbol: startSymbol,
87
- endSymbol: endSymbol,
88
- lineStyle: lineStyle,
89
- state: {
90
- line: merge({}, DEFAULT_STATES, null == state ? void 0 : state.line),
91
- startSymbol: merge({}, DEFAULT_STATES, null == state ? void 0 : state.lineStartSymbol),
92
- endSymbol: merge({}, DEFAULT_STATES, null == state ? void 0 : state.lineEndSymbol)
93
- }
94
- });
95
- }
96
- setLineAttributes() {
97
- const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle} = this.attribute;
98
- this._line && this._line.setAttributes({
99
- center: center,
100
- radius: radius,
101
- startAngle: startAngle,
102
- endAngle: endAngle,
103
- startSymbol: startSymbol,
104
- endSymbol: endSymbol,
105
- lineStyle: lineStyle
106
- });
107
- }
108
- isValidPoints() {
109
- return !0;
110
- }
111
- }
112
-
113
- MarkArcLine.defaultAttributes = DEFAULT_MARK_ARC_LINE_THEME;
114
- //# sourceMappingURL=arc-line.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/marker/arc-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,QAAQ,CAAC;AAGrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAwB,EAAE,CAAC;AAE3B,MAAM,UAAU,0BAA0B;IACxC,WAAW,CAAC,QAAQ,GAAG,qBAAqB,CAAC;AAC/C,CAAC;AACD,MAAM,OAAO,WAAY,SAAQ,cAAiE;IAMtF,aAAa,CAAC,KAA2B;QACjD,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;SAC7E;IACH,CAAC;IAED,YAAY,UAA4B,EAAE,OAA0B;QAClE,KAAK,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;QAZlG,SAAI,GAAG,aAAa,CAAC;IAarB,CAAC;IAES,sBAAsB,CAAC,SAAsC;;QACrE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAA6B,CAAC;QAC3F,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC9B,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,0CAAE,UAAU,0CAAE,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,0CAAE,UAAU,CAAC,EAAE,mCAAI,CAAC,CAAC,CACrG,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC9B,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,0CAAE,UAAU,0CAAE,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,0CAAE,UAAU,CAAC,EAAE,mCAAI,CAAC,CAAC,CAC/F,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAE/D,IAAI,KAAK,CAAC;QAGV,IAAI,yBAAyB,CAAC;QAE9B,QAAQ,SAAS,EAAE;YACjB,KAAK,2BAA2B,CAAC,MAAM;gBACrC,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,yBAAyB,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,2BAA2B,CAAC,aAAa;gBAC5C,KAAK,GAAG,UAAU,CAAC;gBACnB,yBAAyB,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,2BAA2B,CAAC,aAAa;gBAC5C,KAAK,GAAG,UAAU,CAAC;gBACnB,yBAAyB,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,2BAA2B,CAAC,WAAW;gBAC1C,KAAK,GAAG,QAAQ,CAAC;gBACjB,yBAAyB,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,2BAA2B,CAAC,WAAW;gBAC1C,KAAK,GAAG,QAAQ,CAAC;gBACjB,yBAAyB,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,2BAA2B,CAAC,cAAc;gBAC7C,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,yBAAyB,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,2BAA2B,CAAC,cAAc;gBAC7C,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,yBAAyB,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR;gBACE,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,yBAAyB,GAAG,CAAC,CAAC,CAAC;SAClC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,EACC,MAAM,CAAC,CAAC;oBACR,CAAC,MAAM,GAAG,CAAC,yBAAyB,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;oBACjF,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtC,CAAC,EACC,MAAM,CAAC,CAAC;oBACR,CAAC,MAAM,GAAG,CAAC,yBAAyB,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;oBACjF,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;aACvC;YACD,KAAK;SACN,CAAC;IACJ,CAAC;IAES,gBAAgB,CAAC,KAAa;;QACtC,OAAO,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAES,aAAa;QACrB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI;aAC5F,SAA6B,CAAC;QACjC,OAAO,IAAI,UAAU,CAAC;YACpB,MAAM;YACN,MAAM;YACN,UAAU;YACV,QAAQ;YACR,WAAW;YACX,SAAS;YACT,SAAS;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC;gBAC5C,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAC;gBAC9D,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,CAAC;aAC3D;SACF,CAAC,CAAC;IACL,CAAC;IAES,iBAAiB;QACzB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI;aACrF,SAA6B,CAAC;QACjC,IAAI,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,KAAa,CAAC,aAAa,CAAC;gBAChC,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,QAAQ;gBACR,WAAW;gBACX,SAAS;gBACT,SAAS;aACV,CAAC,CAAC;SACJ;IACH,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;;AAvHM,6BAAiB,GAA8B,2BAA0D,CAAC","file":"arc-line.js","sourcesContent":["import { merge } from '@visactor/vutils';\nimport { ArcSegment } from '../segment';\nimport { loadMarkArcLineComponent } from './register';\nimport { DEFAULT_STATES } from '../constant';\nimport { MarkCommonLine } from './common-line';\nimport type { ComponentOptions } from '../interface';\nimport type { IArcGraphicAttribute } from '@visactor/vrender-core';\nimport { IMarkCommonArcLabelPosition } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { MarkArcLineAttrs, MarkerAnimationState } from './type';\nimport { DEFAULT_MARK_ARC_LINE_THEME } from './config';\nimport { commonMarkLineAnimate } from './animate/animate';\n\nloadMarkArcLineComponent();\n\nexport function registerMarkArcLineAnimate() {\n MarkArcLine._animate = commonMarkLineAnimate;\n}\nexport class MarkArcLine extends MarkCommonLine<IArcGraphicAttribute, IMarkCommonArcLabelPosition> {\n name = 'markArcLine';\n // eslint-disable-next-line max-len\n static defaultAttributes: Partial<MarkArcLineAttrs> = DEFAULT_MARK_ARC_LINE_THEME as unknown as MarkArcLineAttrs;\n protected _line!: ArcSegment;\n\n protected markerAnimate(state: MarkerAnimationState) {\n if (MarkArcLine._animate) {\n MarkArcLine._animate(this._line, this._label, this._animationConfig, state);\n }\n }\n\n constructor(attributes: MarkArcLineAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, MarkArcLine.defaultAttributes, attributes));\n }\n\n protected getPointAttrByPosition(direction: IMarkCommonArcLabelPosition) {\n const { center, radius, startAngle, endAngle, label } = this.attribute as MarkArcLineAttrs;\n const { refX = 0, refY = 0 } = label;\n const labelRectHeight = Math.abs(\n (this._label.getTextShape()?.AABBBounds?.y2 ?? 0) - (this._label.getTextShape()?.AABBBounds.y1 ?? 0)\n );\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 let angle;\n // tag在正交方向是向内偏移,还是向外偏移\n // 不偏移: 0, 内: -1, 外: 1\n let orthogonalOffsetDirection;\n\n switch (direction) {\n case IMarkCommonArcLabelPosition.center:\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = 0;\n break;\n case IMarkCommonArcLabelPosition.arcInnerStart:\n angle = startAngle;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterStart:\n angle = startAngle;\n orthogonalOffsetDirection = 1;\n break;\n case IMarkCommonArcLabelPosition.arcInnerEnd:\n angle = endAngle;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterEnd:\n angle = endAngle;\n orthogonalOffsetDirection = 1;\n break;\n case IMarkCommonArcLabelPosition.arcInnerMiddle:\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterMiddle:\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = 1;\n break;\n default: // default arcInnerMiddle\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = -1;\n }\n\n return {\n position: {\n x:\n center.x +\n (radius + (orthogonalOffsetDirection * labelHeight) / 2 + refY) * Math.cos(angle) +\n refX * Math.cos(angle - Math.PI / 2),\n y:\n center.y +\n (radius + (orthogonalOffsetDirection * labelHeight) / 2 + refY) * Math.sin(angle) +\n refX * Math.sin(angle - Math.PI / 2)\n },\n angle\n };\n }\n\n protected getRotateByAngle(angle: number): number {\n return angle - Math.PI / 2 + (this.attribute.label.refAngle ?? 0);\n }\n\n protected createSegment() {\n const { center, radius, startAngle, endAngle, startSymbol, endSymbol, lineStyle, state } = this\n .attribute as MarkArcLineAttrs;\n return new ArcSegment({\n center,\n radius,\n startAngle,\n endAngle,\n startSymbol,\n endSymbol,\n lineStyle,\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 { center, radius, startAngle, endAngle, startSymbol, endSymbol, lineStyle } = this\n .attribute as MarkArcLineAttrs;\n if (this._line) {\n (this._line as any).setAttributes({\n center,\n radius,\n startAngle,\n endAngle,\n startSymbol,\n endSymbol,\n lineStyle\n });\n }\n }\n\n protected isValidPoints() {\n return true;\n }\n}\n"]}
@@ -1,22 +0,0 @@
1
- import type { IGroup } from '@visactor/vrender-core';
2
- import type { ArcSegment, Segment } from '../segment';
3
- import { Tag } from '../tag';
4
- import type { CommonMarkLineAnimationType, CommonMarkLineAttrs, MarkerAnimationState, MarkerExitAnimation } from './type';
5
- import { Marker } from './base';
6
- export declare abstract class MarkCommonLine<LineAttr, LabelPosition> extends Marker<CommonMarkLineAttrs<LineAttr, LabelPosition, CommonMarkLineAnimationType>, CommonMarkLineAnimationType> {
7
- name: string;
8
- static _animate?: (line: Segment | ArcSegment, label: Tag, animationConfig: any, state: MarkerAnimationState) => void;
9
- defaultUpdateAnimation: never;
10
- defaultExitAnimation: MarkerExitAnimation;
11
- protected _line: Segment | ArcSegment;
12
- protected abstract createSegment(): any;
13
- protected abstract setLineAttributes(): any;
14
- protected abstract getPointAttrByPosition(position: any): any;
15
- protected abstract getRotateByAngle(angle: number): number;
16
- protected abstract markerAnimate(state: MarkerAnimationState): void;
17
- getLine(): Segment | ArcSegment;
18
- getLabel(): Tag;
19
- protected setLabelPos(): void;
20
- protected initMarker(container: IGroup): void;
21
- protected updateMarker(): void;
22
- }
@@ -1,58 +0,0 @@
1
- import { merge } from "@visactor/vutils";
2
-
3
- import { Tag } from "../tag";
4
-
5
- import { limitShapeInBounds } from "../util/limit-shape";
6
-
7
- import { DEFAULT_STATES } from "../constant";
8
-
9
- import { Marker } from "./base";
10
-
11
- import { DefaultExitMarkerAnimation, DefaultUpdateMarkLineAnimation } from "./animate/animate";
12
-
13
- export class MarkCommonLine extends Marker {
14
- constructor() {
15
- super(...arguments), this.name = "markCommonLine", this.defaultUpdateAnimation = DefaultUpdateMarkLineAnimation,
16
- this.defaultExitAnimation = DefaultExitMarkerAnimation;
17
- }
18
- getLine() {
19
- return this._line;
20
- }
21
- getLabel() {
22
- return this._label;
23
- }
24
- setLabelPos() {
25
- const {label: label = {}, limitRect: limitRect} = this.attribute, {position: position, confine: confine, autoRotate: autoRotate = !0} = label, labelPoint = this.getPointAttrByPosition(position);
26
- if (this._label.setAttributes(Object.assign(Object.assign({}, labelPoint.position), {
27
- angle: autoRotate ? this.getRotateByAngle(labelPoint.angle) : 0
28
- })), limitRect && confine) {
29
- const {x: x, y: y, width: width, height: height} = limitRect;
30
- limitShapeInBounds(this._label, {
31
- x1: x,
32
- y1: y,
33
- x2: x + width,
34
- y2: y + height
35
- });
36
- }
37
- }
38
- initMarker(container) {
39
- const {label: label, state: state} = this.attribute, line = this.createSegment();
40
- line.name = "mark-common-line-line", this._line = line, container.add(line);
41
- const markLabel = new Tag(Object.assign(Object.assign({}, label), {
42
- state: {
43
- panel: merge({}, DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
44
- text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.label)
45
- }
46
- }));
47
- markLabel.name = "mark-common-line-label", this._label = markLabel, container.add(markLabel),
48
- this.setLabelPos();
49
- }
50
- updateMarker() {
51
- const {label: label} = this.attribute;
52
- this.setLineAttributes(), this._label && this._label.setAttributes(Object.assign({
53
- dx: 0,
54
- dy: 0
55
- }, label)), this.setLabelPos();
56
- }
57
- }
58
- //# sourceMappingURL=common-line.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/marker/common-line.ts"],"names":[],"mappings":"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","file":"common-line.js","sourcesContent":["import type { IGroup, INode } from '@visactor/vrender-core';\nimport { merge } from '@visactor/vutils';\nimport type { ArcSegment, Segment } from '../segment';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tag } from '../tag';\nimport type {\n CommonMarkLineAnimationType,\n CommonMarkLineAttrs,\n MarkerAnimationState,\n MarkerExitAnimation\n} from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport { DEFAULT_STATES } from '../constant';\nimport { Marker } from './base';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkLineAnimation } from './animate/animate';\n\nexport abstract class MarkCommonLine<LineAttr, LabelPosition> extends Marker<\n CommonMarkLineAttrs<LineAttr, LabelPosition, CommonMarkLineAnimationType>,\n CommonMarkLineAnimationType\n> {\n name = 'markCommonLine';\n\n /** animate */\n static _animate?: (line: Segment | ArcSegment, label: Tag, animationConfig: any, state: MarkerAnimationState) => void;\n defaultUpdateAnimation = DefaultUpdateMarkLineAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n\n protected _line!: Segment | ArcSegment;\n protected abstract createSegment(): any;\n protected abstract setLineAttributes(): any;\n protected abstract getPointAttrByPosition(position: any): any;\n protected abstract getRotateByAngle(angle: number): number;\n protected abstract markerAnimate(state: MarkerAnimationState): void;\n\n getLine() {\n return this._line;\n }\n getLabel() {\n return this._label;\n }\n\n protected setLabelPos() {\n const { label = {}, limitRect } = this.attribute;\n const { position, confine, autoRotate = true } = label;\n const labelPoint = this.getPointAttrByPosition(position);\n this._label.setAttributes({\n ...labelPoint.position,\n angle: autoRotate ? this.getRotateByAngle(labelPoint.angle) : 0\n });\n if (limitRect && confine) {\n const { x, y, width, height } = limitRect;\n limitShapeInBounds(this._label, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n }\n }\n\n protected initMarker(container: IGroup) {\n const { label, state } = this.attribute as CommonMarkLineAttrs<\n LineAttr,\n LabelPosition,\n CommonMarkLineAnimationType\n >;\n const line = this.createSegment();\n line.name = 'mark-common-line-line';\n this._line = line;\n container.add(line as unknown as INode);\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-common-line-label';\n this._label = markLabel;\n container.add(markLabel as unknown as INode);\n this.setLabelPos();\n }\n\n protected updateMarker() {\n const { label } = this.attribute as CommonMarkLineAttrs<LineAttr, LabelPosition, CommonMarkLineAnimationType>;\n\n this.setLineAttributes();\n\n if (this._label) {\n this._label.setAttributes({\n dx: 0,\n dy: 0, // 需要进行复位\n ...(label as TagAttributes)\n });\n }\n\n this.setLabelPos();\n }\n}\n"]}