@visactor/vchart-types 1.15.5-alpha.8 → 2.0.0-alpha.1

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 (341) hide show
  1. package/package.json +3 -3
  2. package/tsconfig.tsbuildinfo +1 -1
  3. package/types/animation/animate-manager.d.ts +0 -12
  4. package/types/animation/animation-planner.d.ts +13 -0
  5. package/types/animation/config.d.ts +5 -5
  6. package/types/animation/grammar-dector.d.ts +22 -0
  7. package/types/animation/index.d.ts +7 -0
  8. package/types/animation/interface.d.ts +98 -7
  9. package/types/animation/sequential-animate.d.ts +1 -0
  10. package/types/animation/spec.d.ts +27 -3
  11. package/types/animation/state-transition.d.ts +1 -0
  12. package/types/animation/strategy/common.d.ts +17 -0
  13. package/types/animation/strategy/horizontal-bar-split.d.ts +11 -0
  14. package/types/animation/strategy/vertical-bar-split.d.ts +11 -0
  15. package/types/animation/utils.d.ts +3 -4
  16. package/types/chart/area/area.d.ts +1 -0
  17. package/types/chart/bar/bar.d.ts +1 -0
  18. package/types/chart/bar/index.d.ts +0 -1
  19. package/types/chart/bar/interface.d.ts +1 -5
  20. package/types/chart/base/base-chart.d.ts +22 -9
  21. package/types/chart/box-plot/box-plot.d.ts +1 -0
  22. package/types/chart/common/common.d.ts +1 -0
  23. package/types/chart/common/interface.d.ts +5 -5
  24. package/types/chart/funnel/index.d.ts +0 -1
  25. package/types/chart/funnel/interface.d.ts +1 -4
  26. package/types/chart/funnel/util.d.ts +2 -0
  27. package/types/chart/histogram/histogram.d.ts +1 -0
  28. package/types/chart/histogram/index.d.ts +0 -1
  29. package/types/chart/histogram/interface.d.ts +1 -4
  30. package/types/chart/index.d.ts +19 -17
  31. package/types/chart/interface/chart.d.ts +14 -5
  32. package/types/chart/interface/common.d.ts +2 -9
  33. package/types/chart/interface/type.d.ts +1 -8
  34. package/types/chart/line/line.d.ts +1 -0
  35. package/types/chart/mosaic/mosaic.d.ts +1 -0
  36. package/types/chart/pictogram/interface.d.ts +1 -1
  37. package/types/chart/pie/index.d.ts +0 -1
  38. package/types/chart/pie/interface.d.ts +1 -5
  39. package/types/chart/progress/circular/circular.d.ts +1 -0
  40. package/types/chart/progress/linear/linear.d.ts +1 -0
  41. package/types/chart/radar/radar.d.ts +1 -0
  42. package/types/chart/range-area/range-area.d.ts +1 -0
  43. package/types/chart/range-column/index.d.ts +0 -1
  44. package/types/chart/range-column/interface.d.ts +1 -5
  45. package/types/chart/range-column/range-column.d.ts +1 -0
  46. package/types/chart/rose/rose.d.ts +1 -0
  47. package/types/chart/sankey/sankey.d.ts +1 -1
  48. package/types/chart/scatter/scatter.d.ts +1 -0
  49. package/types/chart/waterfall/waterfall.d.ts +1 -0
  50. package/types/chart/word-cloud/index.d.ts +0 -1
  51. package/types/chart/word-cloud/interface.d.ts +1 -5
  52. package/types/chart/word-cloud/word-cloud.d.ts +4 -8
  53. package/types/compile/compilable-base.d.ts +1 -1
  54. package/types/compile/compiler.d.ts +35 -25
  55. package/types/compile/data/compilable-data.d.ts +7 -7
  56. package/types/compile/data/interface.d.ts +4 -1
  57. package/types/compile/grammar-item.d.ts +7 -13
  58. package/types/compile/interface/compilable-item.d.ts +22 -28
  59. package/types/compile/interface/compiler.d.ts +14 -4
  60. package/types/compile/mark/compilable-mark.d.ts +1 -0
  61. package/types/compile/mark/index.d.ts +0 -1
  62. package/types/compile/mark/interface.d.ts +48 -34
  63. package/types/compile/mark/mark-state-manager.d.ts +12 -13
  64. package/types/compile/mark/util.d.ts +1 -1
  65. package/types/compile/morph.d.ts +3 -0
  66. package/types/compile/state-manager.d.ts +11 -0
  67. package/types/compile/util.d.ts +14 -0
  68. package/types/component/axis/base-axis.d.ts +10 -3
  69. package/types/component/axis/cartesian/axis.d.ts +7 -14
  70. package/types/component/axis/cartesian/band-axis.d.ts +6 -0
  71. package/types/component/axis/cartesian/linear-axis.d.ts +2 -1
  72. package/types/component/axis/cartesian/log-axis.d.ts +6 -0
  73. package/types/component/axis/cartesian/symlog-axis.d.ts +6 -0
  74. package/types/component/axis/cartesian/time-axis.d.ts +6 -0
  75. package/types/component/axis/cartesian/util/common.d.ts +3 -1
  76. package/types/component/axis/interface/common.d.ts +8 -0
  77. package/types/component/axis/interface/spec.d.ts +7 -2
  78. package/types/component/axis/mixin/band-axis-mixin.d.ts +1 -0
  79. package/types/component/axis/polar/band-axis.d.ts +6 -0
  80. package/types/component/axis/polar/linear-axis.d.ts +6 -0
  81. package/types/component/axis/polar/util/common.d.ts +4 -1
  82. package/types/component/axis/util.d.ts +2 -6
  83. package/types/component/base/base-component.d.ts +1 -5
  84. package/types/component/base/util.d.ts +1 -2
  85. package/types/component/brush/brush.d.ts +35 -30
  86. package/types/component/brush/interface.d.ts +2 -0
  87. package/types/component/common/trigger/desktop.d.ts +0 -2
  88. package/types/component/common/trigger/interface.d.ts +0 -2
  89. package/types/component/common/trigger/mobile.d.ts +0 -2
  90. package/types/component/crosshair/base.d.ts +25 -36
  91. package/types/component/crosshair/cartesian.d.ts +9 -29
  92. package/types/component/crosshair/interface/common.d.ts +67 -2
  93. package/types/component/crosshair/interface/index.d.ts +0 -2
  94. package/types/component/crosshair/interface/spec.d.ts +8 -4
  95. package/types/component/crosshair/polar.d.ts +10 -23
  96. package/types/component/crosshair/utils/cartesian.d.ts +10 -21
  97. package/types/component/crosshair/utils/common.d.ts +2 -3
  98. package/types/component/crosshair/utils/polar.d.ts +18 -11
  99. package/types/component/custom-mark/custom-mark.d.ts +1 -0
  100. package/types/component/data-zoom/data-filter-base-component.d.ts +4 -4
  101. package/types/component/data-zoom/data-zoom/data-zoom.d.ts +4 -1
  102. package/types/component/data-zoom/data-zoom/interface.d.ts +2 -3
  103. package/types/component/data-zoom/interface.d.ts +11 -0
  104. package/types/component/data-zoom/scroll-bar/scroll-bar.d.ts +4 -2
  105. package/types/component/geo/geo-coordinate.d.ts +2 -2
  106. package/types/component/geo/interface.d.ts +1 -1
  107. package/types/component/index.d.ts +14 -8
  108. package/types/component/indicator/indicator.d.ts +3 -0
  109. package/types/component/interface/common.d.ts +0 -2
  110. package/types/component/interface/theme.d.ts +1 -3
  111. package/types/component/interface/type.d.ts +0 -1
  112. package/types/component/label/base-label.d.ts +9 -4
  113. package/types/component/label/interface.d.ts +14 -8
  114. package/types/component/label/label.d.ts +5 -3
  115. package/types/component/label/total-label.d.ts +4 -1
  116. package/types/component/label/util.d.ts +9 -10
  117. package/types/component/legend/continuous/legend.d.ts +4 -0
  118. package/types/component/legend/discrete/legend.d.ts +3 -0
  119. package/types/component/legend/util.d.ts +2 -2
  120. package/types/component/marker/base-marker.d.ts +1 -1
  121. package/types/component/marker/mark-area/cartesian-mark-area.d.ts +3 -0
  122. package/types/component/marker/mark-area/interface/theme.d.ts +4 -3
  123. package/types/component/marker/mark-area/polar-mark-area.d.ts +3 -0
  124. package/types/component/marker/mark-line/cartesian-mark-line.d.ts +3 -0
  125. package/types/component/marker/mark-line/interface/theme.d.ts +4 -3
  126. package/types/component/marker/mark-line/polar-mark-line.d.ts +3 -0
  127. package/types/component/marker/mark-point/cartesian-mark-point.d.ts +3 -0
  128. package/types/component/marker/mark-point/geo-mark-point.d.ts +3 -0
  129. package/types/component/marker/mark-point/interface/theme.d.ts +5 -2
  130. package/types/component/marker/mark-point/polar-mark-point.d.ts +3 -0
  131. package/types/component/marker/utils.d.ts +12 -0
  132. package/types/component/player/player.d.ts +3 -0
  133. package/types/component/title/title.d.ts +3 -0
  134. package/types/component/tooltip/constant.d.ts +6 -2
  135. package/types/component/tooltip/interface/common.d.ts +2 -1
  136. package/types/component/tooltip/processor/base.d.ts +4 -5
  137. package/types/component/tooltip/processor/dimension-tooltip.d.ts +1 -0
  138. package/types/component/tooltip/processor/group-tooltip.d.ts +1 -0
  139. package/types/component/tooltip/processor/interface.d.ts +12 -1
  140. package/types/component/tooltip/processor/mark-tooltip.d.ts +1 -0
  141. package/types/component/tooltip/processor/util.d.ts +1 -1
  142. package/types/component/tooltip/tooltip.d.ts +8 -5
  143. package/types/component/util.d.ts +1 -2
  144. package/types/constant/data.d.ts +1 -0
  145. package/types/constant/event.d.ts +55 -2
  146. package/types/core/factory.d.ts +31 -2
  147. package/types/core/index.d.ts +18 -2
  148. package/types/core/interface.d.ts +19 -5
  149. package/types/core/vchart.d.ts +8 -7
  150. package/types/data/transforms/circle-packing.d.ts +1 -1
  151. package/types/data/transforms/data-key.d.ts +1 -1
  152. package/types/data/transforms/flatten.d.ts +1 -1
  153. package/types/data/transforms/funnel.d.ts +1 -6
  154. package/types/data/transforms/pictogram.d.ts +2 -10
  155. package/types/data/transforms/sankey-links.d.ts +1 -2
  156. package/types/data/transforms/sankey-nodes.d.ts +1 -2
  157. package/types/data/transforms/sankey.d.ts +4 -4
  158. package/types/data/transforms/sunburst.d.ts +1 -1
  159. package/types/data/transforms/treemap.d.ts +5 -6
  160. package/types/data/transforms/venn.d.ts +10 -0
  161. package/types/data/transforms/waterfall.d.ts +1 -0
  162. package/types/event/event-dispatcher.d.ts +4 -1
  163. package/types/event/event.d.ts +4 -1
  164. package/types/event/events/base.d.ts +1 -2
  165. package/types/event/events/dimension/util/cartesian.d.ts +2 -1
  166. package/types/event/events/index.d.ts +1 -5
  167. package/types/event/index.d.ts +1 -0
  168. package/types/event/interface.d.ts +19 -13
  169. package/types/index-harmony-simple.d.ts +4 -4
  170. package/types/index-harmony.d.ts +1 -1
  171. package/types/index.d.ts +11 -0
  172. package/types/interaction/config.d.ts +13 -0
  173. package/types/interaction/index.d.ts +10 -1
  174. package/types/interaction/interaction.d.ts +17 -25
  175. package/types/interaction/interface/common.d.ts +22 -0
  176. package/types/interaction/interface/spec.d.ts +53 -0
  177. package/types/interaction/interface/trigger.d.ts +87 -0
  178. package/types/interaction/triggers/base.d.ts +28 -0
  179. package/types/interaction/triggers/dimension-hover.d.ts +22 -0
  180. package/types/interaction/triggers/element-active-by-legend.d.ts +21 -0
  181. package/types/interaction/triggers/element-active.d.ts +20 -0
  182. package/types/interaction/triggers/element-highlight-by-group.d.ts +23 -0
  183. package/types/interaction/triggers/element-highlight-by-key.d.ts +9 -0
  184. package/types/interaction/triggers/element-highlight-by-legend.d.ts +22 -0
  185. package/types/interaction/triggers/element-highlight-by-name.d.ts +24 -0
  186. package/types/interaction/triggers/element-highlight.d.ts +25 -0
  187. package/types/interaction/triggers/element-select.d.ts +24 -0
  188. package/types/interaction/triggers/enum.d.ts +6 -0
  189. package/types/interaction/triggers/util.d.ts +12 -0
  190. package/types/interaction/zoom/zoomable.d.ts +5 -0
  191. package/types/layout/base-layout.d.ts +12 -9
  192. package/types/layout/index.d.ts +4 -4
  193. package/types/layout/interface.d.ts +8 -3
  194. package/types/layout/layout-item.d.ts +7 -3
  195. package/types/layout/util.d.ts +17 -4
  196. package/types/mark/arc.d.ts +3 -3
  197. package/types/mark/area.d.ts +2 -0
  198. package/types/mark/base/base-line.d.ts +25 -2
  199. package/types/mark/base/base-mark.d.ts +160 -13
  200. package/types/mark/box-plot.d.ts +11 -5
  201. package/types/mark/cell.d.ts +6 -3
  202. package/types/mark/component.d.ts +12 -3
  203. package/types/mark/glyph.d.ts +30 -0
  204. package/types/mark/group.d.ts +11 -6
  205. package/types/mark/index.d.ts +10 -7
  206. package/types/mark/interface/common.d.ts +81 -9
  207. package/types/mark/interface/enum.d.ts +6 -0
  208. package/types/mark/interface/index.d.ts +1 -0
  209. package/types/mark/interface/mark.d.ts +20 -5
  210. package/types/mark/interface/type.d.ts +1 -3
  211. package/types/mark/label.d.ts +4 -3
  212. package/types/mark/link-path.d.ts +35 -5
  213. package/types/mark/liquid.d.ts +47 -5
  214. package/types/mark/ripple.d.ts +39 -4
  215. package/types/mark/rule.d.ts +4 -1
  216. package/types/mark/symbol.d.ts +4 -5
  217. package/types/mark/text.d.ts +5 -3
  218. package/types/mark/transform/data-sampling.d.ts +10 -0
  219. package/types/mark/transform/filter.d.ts +1 -0
  220. package/types/mark/transform/map.d.ts +1 -0
  221. package/types/mark/transform/symbol-overlap.d.ts +13 -0
  222. package/types/mark/utils/common.d.ts +4 -1
  223. package/types/mark/utils/glyph.d.ts +2 -0
  224. package/types/mark/utils/index.d.ts +2 -0
  225. package/types/mark/utils/line.d.ts +3 -0
  226. package/types/model/base-model.d.ts +11 -10
  227. package/types/model/interface.d.ts +11 -10
  228. package/types/model/layout-model.d.ts +4 -3
  229. package/types/plugin/chart/index.d.ts +1 -0
  230. package/types/plugin/components/tooltip-handler/base.d.ts +2 -2
  231. package/types/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -3
  232. package/types/plugin/components/tooltip-handler/utils/position.d.ts +1 -14
  233. package/types/plugin/other.d.ts +3 -4
  234. package/types/region/interface.d.ts +0 -4
  235. package/types/region/region.d.ts +3 -11
  236. package/types/series/area/animation.d.ts +1 -1
  237. package/types/series/area/area.d.ts +3 -2
  238. package/types/series/bar/animation.d.ts +1 -2
  239. package/types/series/bar/bar.d.ts +9 -9
  240. package/types/series/bar/constant.d.ts +0 -1
  241. package/types/series/bar/interface.d.ts +1 -7
  242. package/types/series/base/base-series-transformer.d.ts +1 -1
  243. package/types/series/base/base-series.d.ts +23 -40
  244. package/types/series/base/tooltip-helper.d.ts +1 -2
  245. package/types/series/box-plot/animation.d.ts +52 -0
  246. package/types/series/box-plot/box-plot.d.ts +6 -3
  247. package/types/series/cartesian/cartesian.d.ts +1 -1
  248. package/types/series/circle-packing/animation.d.ts +1 -1
  249. package/types/series/circle-packing/circle-packing.d.ts +4 -1
  250. package/types/series/correlation/animation.d.ts +1 -1
  251. package/types/series/correlation/correlation.d.ts +6 -4
  252. package/types/series/dot/dot.d.ts +5 -2
  253. package/types/series/funnel/constant.d.ts +0 -1
  254. package/types/series/funnel/funnel.d.ts +10 -11
  255. package/types/series/funnel/interface.d.ts +2 -13
  256. package/types/series/funnel/tooltip-helper.d.ts +4 -2
  257. package/types/series/gauge/animation.d.ts +1 -1
  258. package/types/series/gauge/gauge-pointer.d.ts +7 -1
  259. package/types/series/gauge/gauge.d.ts +5 -2
  260. package/types/series/geo/geo.d.ts +3 -4
  261. package/types/series/heatmap/animation.d.ts +1 -1
  262. package/types/series/heatmap/heatmap.d.ts +7 -1
  263. package/types/series/index.d.ts +24 -19
  264. package/types/series/interface/common.d.ts +1 -4
  265. package/types/series/interface/series.d.ts +6 -1
  266. package/types/series/interface/theme.d.ts +5 -16
  267. package/types/series/interface/type.d.ts +1 -11
  268. package/types/series/line/animation.d.ts +1 -1
  269. package/types/series/line/line.d.ts +4 -1
  270. package/types/series/link/link.d.ts +8 -2
  271. package/types/series/liquid/animation.d.ts +1 -1
  272. package/types/series/liquid/liquid.d.ts +7 -1
  273. package/types/series/map/interface.d.ts +10 -0
  274. package/types/series/map/map.d.ts +3 -0
  275. package/types/series/mixin/line-mixin.d.ts +5 -5
  276. package/types/series/mosaic/mosaic.d.ts +2 -0
  277. package/types/series/pictogram/pictogram.d.ts +2 -0
  278. package/types/series/pictogram/tooltip-helper.d.ts +2 -2
  279. package/types/series/pie/animation/animation.d.ts +4 -4
  280. package/types/series/pie/animation/centerOffset.d.ts +1 -1
  281. package/types/series/pie/constant.d.ts +0 -1
  282. package/types/series/pie/interface.d.ts +3 -13
  283. package/types/series/pie/pie.d.ts +13 -11
  284. package/types/series/polar/animation.d.ts +2 -4
  285. package/types/series/polar/progress-like/animation.d.ts +1 -1
  286. package/types/series/polar/progress-like/interface.d.ts +1 -0
  287. package/types/series/polar/progress-like/progress-like.d.ts +1 -2
  288. package/types/series/progress/circular/circular.d.ts +7 -1
  289. package/types/series/progress/linear/animation.d.ts +2 -2
  290. package/types/series/progress/linear/interface.d.ts +1 -0
  291. package/types/series/progress/linear/linear.d.ts +7 -1
  292. package/types/series/radar/animation.d.ts +12 -10
  293. package/types/series/radar/radar.d.ts +5 -2
  294. package/types/series/range-column/animation.d.ts +1 -1
  295. package/types/series/range-column/constant.d.ts +0 -1
  296. package/types/series/range-column/interface.d.ts +0 -3
  297. package/types/series/range-column/range-column.d.ts +5 -4
  298. package/types/series/rose/animation.d.ts +1 -1
  299. package/types/series/rose/rose.d.ts +3 -0
  300. package/types/series/sankey/animation.d.ts +14 -1
  301. package/types/series/sankey/interface.d.ts +0 -1
  302. package/types/series/sankey/sankey.d.ts +14 -12
  303. package/types/series/sankey/tooltip-helper.d.ts +1 -1
  304. package/types/series/scatter/animation.d.ts +1 -1
  305. package/types/series/scatter/scatter.d.ts +3 -0
  306. package/types/series/sunburst/animation/enter.d.ts +1 -1
  307. package/types/series/sunburst/animation/exit.d.ts +1 -1
  308. package/types/series/sunburst/animation/preset.d.ts +1 -1
  309. package/types/series/sunburst/animation/utils.d.ts +2 -2
  310. package/types/series/sunburst/interface.d.ts +1 -1
  311. package/types/series/sunburst/sunburst.d.ts +4 -1
  312. package/types/series/treemap/animation.d.ts +1 -1
  313. package/types/series/treemap/interface.d.ts +1 -1
  314. package/types/series/treemap/treemap.d.ts +4 -2
  315. package/types/series/venn/animation.d.ts +12 -1
  316. package/types/series/venn/venn.d.ts +5 -1
  317. package/types/series/waterfall/animation.d.ts +1 -1
  318. package/types/series/waterfall/waterfall.d.ts +6 -2
  319. package/types/series/word-cloud/animation.d.ts +2 -4
  320. package/types/series/word-cloud/base.d.ts +4 -3
  321. package/types/series/word-cloud/interface.d.ts +2 -20
  322. package/types/theme/builtin/common/component/axis/cartesian-axis.d.ts +0 -1
  323. package/types/theme/builtin/common/series/funnel.d.ts +2 -2
  324. package/types/theme/builtin/common/series/word-cloud.d.ts +1 -2
  325. package/types/theme/builtin/index.d.ts +3 -1
  326. package/types/theme/color-scheme/util.d.ts +1 -1
  327. package/types/typings/common.d.ts +13 -0
  328. package/types/typings/spec/chart.d.ts +6 -12
  329. package/types/typings/spec/common.d.ts +40 -41
  330. package/types/typings/tooltip/position.d.ts +1 -1
  331. package/types/typings/visual.d.ts +11 -13
  332. package/types/util/array.d.ts +1 -0
  333. package/types/util/index.d.ts +1 -0
  334. package/types/util/mark.d.ts +5 -0
  335. package/types/util/math.d.ts +1 -1
  336. package/types/util/region.d.ts +5 -0
  337. package/types/util/scale.d.ts +1 -0
  338. package/types/util/theme/common.d.ts +1 -1
  339. package/types/util/theme/merge-theme.d.ts +2 -2
  340. package/types/util/theme/preprocess.d.ts +1 -2
  341. package/types/vrender-tools.d.ts +1 -0
@@ -1,6 +1,5 @@
1
- import type { ValueOf } from '@visactor/vgrammar-core';
2
1
  import type { EventHandler, EventParamsDefinition, EventType, IComposedEvent, IEventDispatcher } from '../interface';
3
- import type { Maybe, RenderMode } from '../../typings';
2
+ import type { Maybe, RenderMode, ValueOf } from '../../typings';
4
3
  import type { IChart } from '../../chart/interface';
5
4
  export declare abstract class ComposedEvent implements IComposedEvent {
6
5
  protected _eventMap: Map<string, EventHandler<ValueOf<EventParamsDefinition>>>;
@@ -3,6 +3,7 @@ import type { IDimensionInfo } from '../interface';
3
3
  import type { CartesianAxis } from '../../../../component/axis/cartesian';
4
4
  import type { ICartesianSeries } from '../../../../series/interface';
5
5
  import type { ILayoutPoint } from '../../../../typings/layout';
6
+ import type { IAxis } from '../../../../component/axis';
6
7
  export declare const getCartesianDimensionInfo: (chart: IChart | undefined, pos: ILayoutPoint, isTooltip?: boolean) => IDimensionInfo[] | null;
7
8
  export declare const getDimensionInfoByPosition: (axis: CartesianAxis, posValue: number, getDimensionField: (series: ICartesianSeries) => string | string[]) => IDimensionInfo | null;
8
- export declare const getDimensionInfoByValue: (axis: CartesianAxis, value: any, getDimensionField?: (series: ICartesianSeries) => string | string[]) => IDimensionInfo | null;
9
+ export declare const getDimensionInfoByValue: (axis: IAxis, value: any, getDimensionField?: (series: ICartesianSeries) => string | string[]) => IDimensionInfo | null;
@@ -1,6 +1,2 @@
1
- import { DimensionHoverEvent, DimensionClickEvent } from './dimension';
2
1
  export * from './dimension';
3
- export declare const ComposedEventMapper: {
4
- dimensionHover: typeof DimensionHoverEvent;
5
- dimensionClick: typeof DimensionClickEvent;
6
- };
2
+ export declare const registerDimensionEvents: () => void;
@@ -1,2 +1,3 @@
1
1
  export * from './event';
2
2
  export * from './events';
3
+ export { getCartesianDimensionInfo, getPolarDimensionInfo, getDimensionInfoByValue } from './events/dimension/util';
@@ -1,18 +1,17 @@
1
1
  import type { IGraphic } from '@visactor/vrender-core';
2
- import type { IElement } from '@visactor/vgrammar-core';
3
2
  import type { IChart } from '../chart/interface';
4
3
  import type { IModel } from '../model/interface';
5
- import type { IMark, MarkType } from '../mark/interface';
4
+ import type { IMark, IMarkGraphic, MarkType } from '../mark/interface';
6
5
  import type { DimensionEventParams } from './events/dimension/interface';
7
- import type { Datum, IPoint, StringOrNumber } from '../typings';
8
- import type { ChartEvent, Event_Bubble_Level, Event_Source_Type, VGRAMMAR_HOOK_EVENT } from '../constant/event';
6
+ import type { Datum, IPoint, RenderMode, StringOrNumber } from '../typings';
7
+ import type { ChartEvent, Event_Bubble_Level, Event_Source_Type, HOOK_EVENT } from '../constant/event';
9
8
  import type { SeriesType } from '../series/interface';
10
9
  import type { TooltipEventParams } from '../component/tooltip/interface/event';
11
10
  import type { ILayoutItem } from '../layout/interface';
12
11
  import type { IVChart } from '../core/interface';
13
- export type EventType = 'pointerdown' | 'pointerup' | 'pointerupoutside' | 'pointertap' | 'pointerover' | 'pointermove' | 'pointerenter' | 'pointerleave' | 'pointerout' | 'mousedown' | 'mouseup' | 'mouseupoutside' | 'rightdown' | 'rightup' | 'rightupoutside' | 'click' | 'dblclick' | 'mousemove' | 'mouseover' | 'mouseout' | 'mouseenter' | 'mouseleave' | 'wheel' | 'touchstart' | 'touchend' | 'touchendoutside' | 'touchmove' | 'touchcancel' | 'tap' | 'dragstart' | 'drag' | 'dragenter' | 'dragleave' | 'dragover' | 'dragend' | 'drop' | 'pan' | 'panstart' | 'panend' | 'press' | 'pressup' | 'pressend' | 'pinch' | 'pinchstart' | 'pinchend' | 'swipe' | keyof typeof ChartEvent | keyof typeof VGRAMMAR_HOOK_EVENT | string;
12
+ export type EventType = 'pointerdown' | 'pointerup' | 'pointerupoutside' | 'pointertap' | 'pointerover' | 'pointermove' | 'pointerenter' | 'pointerleave' | 'pointerout' | 'mousedown' | 'mouseup' | 'mouseupoutside' | 'rightdown' | 'rightup' | 'rightupoutside' | 'click' | 'dblclick' | 'mousemove' | 'mouseover' | 'mouseout' | 'mouseenter' | 'mouseleave' | 'wheel' | 'touchstart' | 'touchend' | 'touchendoutside' | 'touchmove' | 'touchcancel' | 'tap' | 'dragstart' | 'drag' | 'dragenter' | 'dragleave' | 'dragover' | 'dragend' | 'drop' | 'pan' | 'panstart' | 'panend' | 'press' | 'pressup' | 'pressend' | 'pinch' | 'pinchstart' | 'pinchend' | 'swipe' | keyof typeof ChartEvent | keyof typeof HOOK_EVENT | string;
14
13
  export type EventBubbleLevel = keyof typeof Event_Bubble_Level;
15
- export type ComponentType = 'axis' | 'dataZoom' | 'indicator' | 'legend' | 'mapLabel' | 'markLine' | 'markArea' | 'markPoint' | 'tooltip' | 'title' | 'label' | 'totalLabel' | 'customMark';
14
+ export type ComponentType = 'axis' | 'dataZoom' | 'indicator' | 'legend' | 'markLine' | 'markArea' | 'markPoint' | 'tooltip' | 'title' | 'label' | 'totalLabel' | 'customMark';
16
15
  export type EventTargetType = MarkType | ComponentType | SeriesType;
17
16
  export type EventSourceType = keyof typeof Event_Source_Type;
18
17
  export type EventQuery = {
@@ -42,10 +41,9 @@ type SuperEvent = Event & {
42
41
  };
43
42
  export type BaseEventParams = EventParams & {
44
43
  event: SuperEvent;
45
- item: IElement;
44
+ item: IMarkGraphic;
46
45
  datum: Datum;
47
46
  source: EventSourceType;
48
- itemMap: Map<string, any>;
49
47
  };
50
48
  export type EventCallback<Params extends EventParams> = (params: Params) => boolean | void;
51
49
  export type EventFilter = {
@@ -66,10 +64,9 @@ export type EventHandler<Params extends EventParams> = {
66
64
  };
67
65
  export type ExtendEventParam = EventParams & {
68
66
  event?: Event;
69
- item?: any;
67
+ item?: IMarkGraphic;
70
68
  datum?: Datum;
71
69
  source?: EventSourceType;
72
- itemMap?: Map<string, any>;
73
70
  };
74
71
  export type LayoutEventParam = {
75
72
  elements: (ILayoutItem & {
@@ -84,7 +81,7 @@ export type ZoomEventParam = ExtendEventParam & {
84
81
  scaleCenter: IPoint;
85
82
  };
86
83
  export type InteractionEventParam = {
87
- items?: IElement[];
84
+ graphics?: IMarkGraphic[];
88
85
  datums?: Datum[];
89
86
  } & Partial<BaseEventParams>;
90
87
  export type EventParamsDefinition = {
@@ -153,7 +150,10 @@ export interface IEventDispatcher {
153
150
  dispatch: <Evt extends EventType>(eType: Evt, params?: EventParamsDefinition[Evt], level?: EventBubbleLevel) => this;
154
151
  clear: () => void;
155
152
  release: () => void;
156
- prevent: <Evt extends EventType>(eType: Evt, except: EventCallback<EventParamsDefinition[Evt]>) => void;
153
+ prevent: <Evt extends EventType>(eType: Evt, except?: {
154
+ handler: EventCallback<EventParamsDefinition[Evt]>;
155
+ level: EventBubbleLevel;
156
+ }) => void;
157
157
  allow: <Evt extends EventType>(eType: Evt) => void;
158
158
  }
159
159
  export interface IEvent {
@@ -165,7 +165,10 @@ export interface IEvent {
165
165
  eventType: EventType;
166
166
  event: IComposedEvent;
167
167
  }>;
168
- prevent: <Evt extends EventType>(eType: Evt, except: EventCallback<EventParamsDefinition[Evt]>) => void;
168
+ prevent: <Evt extends EventType>(eType: Evt, except?: {
169
+ handler: EventCallback<EventParamsDefinition[Evt]>;
170
+ level: EventBubbleLevel;
171
+ }) => void;
169
172
  allow: <Evt extends EventType>(eType: Evt) => void;
170
173
  }
171
174
  export interface IComposedEvent {
@@ -173,4 +176,7 @@ export interface IComposedEvent {
173
176
  unregister: () => void;
174
177
  dispatch: (v: unknown, opt: unknown) => unknown;
175
178
  }
179
+ export interface IComposedEventConstructor {
180
+ new (eventDispatcher: IEventDispatcher, mode: RenderMode): IComposedEvent;
181
+ }
176
182
  export {};
@@ -34,14 +34,14 @@ import { registerTotalLabel } from './component/label/total-label';
34
34
  import { registerMarkPoint, registerPolarMarkPoint, registerGeoMarkPoint } from './component/marker/mark-point';
35
35
  import { registerBrush } from './component/brush';
36
36
  import { registerCustomMark } from './component/custom-mark';
37
- import { registerMapLabel } from './component/map-label';
38
37
  import { registerGridLayout } from './layout/grid-layout/grid-layout';
39
38
  import { registerPoptip } from './component/poptip';
40
- import { registerElementHighlight, registerElementSelect } from '@visactor/vgrammar-core';
41
- import { DefaultTicker } from '@visactor/vrender-core';
39
+ import { DefaultTicker } from '@visactor/vrender-animate';
42
40
  import { registerAnimate } from './plugin/other';
41
+ import { registerElementSelect } from './interaction/triggers/element-select';
42
+ import { registerElementHighlight } from './interaction/triggers/element-highlight';
43
43
  export { VChart, DefaultTicker, registerAnimate };
44
- export { registerScatterChart, registerRoseChart, registerRadarChart, registerHistogramChart, registerMapChart, registerGaugeChart, registerWordCloudChart, registerFunnelChart, registerWaterfallChart, registerBoxplotChart, registerCircularProgressChart, registerLinearProgressChart, registerRangeColumnChart, registerRangeAreaChart, registerSunburstChart, registerCirclePackingChart, registerTreemapChart, registerSankeyChart, registerHeatmapChart, registerCorrelationChart, registerCartesianTimeAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerPolarBandAxis, registerPolarLinearAxis, registerContinuousLegend, registerPolarCrossHair, registerDataZoom, registerScrollBar, registerIndicator, registerGeoCoordinate, registerMarkLine, registerMarkArea, registerMarkPoint, registerPolarMarkLine, registerPolarMarkArea, registerPolarMarkPoint, registerGeoMarkPoint, registerTitle, registerPlayer, registerTotalLabel, registerBrush, registerCustomMark, registerMapLabel, registerPoptip, registerGridLayout, registerElementHighlight, registerElementSelect };
44
+ export { registerScatterChart, registerRoseChart, registerRadarChart, registerHistogramChart, registerMapChart, registerGaugeChart, registerWordCloudChart, registerFunnelChart, registerWaterfallChart, registerBoxplotChart, registerCircularProgressChart, registerLinearProgressChart, registerRangeColumnChart, registerRangeAreaChart, registerSunburstChart, registerCirclePackingChart, registerTreemapChart, registerSankeyChart, registerHeatmapChart, registerCorrelationChart, registerCartesianTimeAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerPolarBandAxis, registerPolarLinearAxis, registerContinuousLegend, registerPolarCrossHair, registerDataZoom, registerScrollBar, registerIndicator, registerGeoCoordinate, registerMarkLine, registerMarkArea, registerMarkPoint, registerPolarMarkLine, registerPolarMarkArea, registerPolarMarkPoint, registerGeoMarkPoint, registerTitle, registerPlayer, registerTotalLabel, registerBrush, registerCustomMark, registerPoptip, registerGridLayout, registerElementHighlight, registerElementSelect };
45
45
  export default VChart;
46
46
  export * from './core';
47
47
  export * from './plugin/chart';
@@ -1,5 +1,5 @@
1
1
  import { VChart } from './core';
2
- import { DefaultTicker } from '@visactor/vrender-core';
2
+ import { DefaultTicker } from '@visactor/vrender-animate';
3
3
  export { VChart, DefaultTicker };
4
4
  export default VChart;
5
5
  export * from './core';
package/types/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export default VChart;
3
3
  export * from './core';
4
4
  export * from './chart';
5
5
  export * from './chart/base';
6
+ export * from './chart/cartesian';
6
7
  export * from './chart/common';
7
8
  export * from './series';
8
9
  export * from './mark';
@@ -14,3 +15,13 @@ export * from './plugin/chart';
14
15
  export * from './plugin/components/tooltip-handler';
15
16
  export * from './plugin/components/axis-sync';
16
17
  export * from './plugin/other';
18
+ export * from './plugin/base/base-plugin';
19
+ export * from './vrender-tools';
20
+ export * from './util/data';
21
+ export * from './util/spec/transform';
22
+ export * from './util/mark';
23
+ export * from './util/region';
24
+ export * from './component/base';
25
+ export * from './compile/data/compilable-data';
26
+ export * from './animation';
27
+ export * from './interaction';
@@ -1,4 +1,5 @@
1
1
  import type { RenderMode } from '../typings/spec/common';
2
+ import type { IHoverSpec, ISelectSpec } from './interface/spec';
2
3
  export declare function getDefaultInteractionConfigByMode(mode: RenderMode): {
3
4
  hover: {
4
5
  enable: boolean;
@@ -20,3 +21,15 @@ export declare function getDefaultInteractionConfigByMode(mode: RenderMode): {
20
21
  trigger: string;
21
22
  };
22
23
  };
24
+ export declare const parseHoverSelect: (mode: RenderMode, hoverSpec: IHoverSpec, selectSpec: ISelectSpec) => {
25
+ select: ISelectSpec;
26
+ hover: {
27
+ enable: boolean;
28
+ trigger: string;
29
+ triggerOff: string;
30
+ } | {
31
+ enable: boolean;
32
+ trigger: string[];
33
+ triggerOff: string;
34
+ };
35
+ };
@@ -1 +1,10 @@
1
- export { registerElementActive, registerElementHighlight, registerElementSelect, registerElementActiveByLegend, registerElementHighlightByLegend, registerElementHighlightByName, registerElementHighlightByGroup, registerElementHighlightByKey } from '@visactor/vgrammar-core';
1
+ export { registerElementHighlight, ElementHighlight } from './triggers/element-highlight';
2
+ export { registerElementSelect, ElementSelect } from './triggers/element-select';
3
+ export { registerDimensionHover } from './triggers/dimension-hover';
4
+ export { registerElementActive } from './triggers/element-active';
5
+ export { registerElementActiveByLegend } from './triggers/element-active-by-legend';
6
+ export { registerElementHighlightByGroup } from './triggers/element-highlight-by-group';
7
+ export { registerElementHighlightByKey } from './triggers/element-highlight-by-key';
8
+ export { registerElementHighlightByLegend } from './triggers/element-highlight-by-legend';
9
+ export { registerElementHighlightByName } from './triggers/element-highlight-by-name';
10
+ export type { IHoverSpec, ISelectSpec } from './interface/spec';
@@ -1,29 +1,21 @@
1
- import type { StateValue } from '../compile/mark';
2
- import type { IElement } from '@visactor/vgrammar-core';
3
- import type { BaseEventParams } from '../event/interface';
4
- import type { IMark } from '../mark/interface';
5
- import type { IInteraction } from './interface';
6
- import type { IInteraction as IVGrammarInteraction } from '@visactor/vgrammar-core';
1
+ import type { IMarkGraphic } from '../mark/interface';
2
+ import type { IInteraction } from './interface/common';
3
+ import type { ITrigger } from './interface/trigger';
7
4
  export declare class Interaction implements IInteraction {
8
- private _stateMarks;
9
- private _stateElements;
10
- private _vgrammarInteractions;
11
- addVgrammarInteraction(state: StateValue, i: IVGrammarInteraction): void;
12
- static markStateEnable(mark: IMark, state: string): boolean;
5
+ private _stateGraphicsByTrigger;
13
6
  private _disableTriggerEvent;
14
7
  setDisableActiveEffect(disable: boolean): void;
15
- registerMark(state: StateValue, mark: IMark): void;
16
- getStateMark(state: StateValue): IMark[] | null;
17
- filterEventMark(params: BaseEventParams, state: StateValue): boolean;
18
- getEventElement(stateValue: StateValue): IElement[];
19
- getEventElementData(stateValue: StateValue): any[];
20
- exchangeEventElement(stateValue: StateValue, element: IElement): void;
21
- removeEventElement(stateValue: StateValue, element: IElement): void;
22
- addEventElement(stateValue: StateValue, element: IElement): void;
23
- clearEventElement(stateValue: StateValue, clearReverse: boolean): void;
24
- clearAllEventElement(): void;
25
- reverseEventElement(stateValue: StateValue): void;
26
- startInteraction(stateValue: StateValue, element: IElement): void;
27
- resetInteraction(stateValue: StateValue, element: IElement): void;
28
- resetAllInteraction(): void;
8
+ private _triggerMapByState;
9
+ addTrigger(trigger: ITrigger): void;
10
+ setStatedGraphics(trigger: ITrigger, graphics: IMarkGraphic[]): void;
11
+ getStatedGraphics(trigger: ITrigger): IMarkGraphic[];
12
+ updateStates(trigger: ITrigger, newStatedGraphics: IMarkGraphic[], prevStatedGraphics?: IMarkGraphic[], state?: string, reverseState?: string): IMarkGraphic[];
13
+ protected toggleReverseStateOfGraphics(trigger: ITrigger, newStatedGraphics: IMarkGraphic[], prevStatedGraphics: IMarkGraphic[], reverseState: string): void;
14
+ protected toggleStateOfGraphics(trigger: ITrigger, newStatedGraphics: IMarkGraphic[], prevStatedGraphics: IMarkGraphic[], state: string): void;
15
+ protected addBothStateOfGraphics(trigger: ITrigger, statedGraphics: IMarkGraphic[], state: string, reverseState: string): void;
16
+ protected addStateOfGraphics(trigger: ITrigger, statedGraphics: IMarkGraphic[], state: string): void;
17
+ clearAllStatesOfTrigger(trigger: ITrigger, state?: string, reverseState?: string): void;
18
+ clearAllStates(): void;
19
+ clearByState(stateValue: string): void;
20
+ updateStateOfGraphics(stateValue: string, markGraphics: IMarkGraphic[]): void;
29
21
  }
@@ -0,0 +1,22 @@
1
+ import type { IMarkGraphic } from '../../mark/interface';
2
+ import type { RenderMode } from '../../typings/spec/common';
3
+ import type { IEventDispatcher } from '../../event/interface';
4
+ import type { IModel } from '../../model/interface';
5
+ import type { ITrigger } from './trigger';
6
+ export interface IInteraction {
7
+ setDisableActiveEffect: (disable: boolean) => void;
8
+ addTrigger: (trigger: ITrigger) => void;
9
+ setStatedGraphics: (trigger: ITrigger, graphics: IMarkGraphic[]) => void;
10
+ getStatedGraphics: (trigger: ITrigger) => IMarkGraphic[];
11
+ updateStates: (trigger: ITrigger, newStatedGraphics: IMarkGraphic[], prevStatedGraphics?: IMarkGraphic[], state?: string, reverseState?: string) => IMarkGraphic[];
12
+ clearAllStates: () => void;
13
+ clearAllStatesOfTrigger: (trigger: ITrigger, state?: string, reverseState?: string) => void;
14
+ clearByState: (stateValue: string) => any;
15
+ updateStateOfGraphics: (stateValue: string, markGraphics: IMarkGraphic[]) => void;
16
+ }
17
+ export interface ITriggerOption {
18
+ mode: RenderMode;
19
+ interaction: IInteraction;
20
+ eventDispatcher: IEventDispatcher;
21
+ model: IModel;
22
+ }
@@ -0,0 +1,53 @@
1
+ import type { EventType } from '../../event/interface';
2
+ import type { StringOrNumber } from '../../typings/common';
3
+ import type { IElementActiveByLegendOptions, IElementActiveOptions, IElementHighlightByLegendOptions, IElementHighlightByNameOptions, IElementHighlightOptions, IElementSelectOptions } from './trigger';
4
+ export interface IBaseInteractionSpec {
5
+ markIds?: StringOrNumber[];
6
+ markNames?: StringOrNumber[];
7
+ }
8
+ type Trigger = EventType | EventType[];
9
+ export interface IHoverSpec extends IBaseInteractionSpec {
10
+ enable?: boolean;
11
+ trigger?: Trigger;
12
+ triggerOff?: Trigger;
13
+ }
14
+ export interface ISelectSpec extends IBaseInteractionSpec {
15
+ enable?: boolean;
16
+ mode?: 'single' | 'multiple';
17
+ trigger?: Trigger;
18
+ triggerOff?: Trigger | number;
19
+ }
20
+ export type IElementActiveSpec = IBaseInteractionSpec & Pick<IElementActiveOptions, 'trigger' | 'triggerOff' | 'state'> & {
21
+ type: 'element-active';
22
+ };
23
+ export type IElementSelectSpec = IBaseInteractionSpec & Pick<IElementSelectOptions, 'trigger' | 'triggerOff' | 'state' | 'isMultiple' | 'reverseState'> & {
24
+ type: 'element-select';
25
+ };
26
+ export type IElementHighlightSpec = IBaseInteractionSpec & Pick<IElementHighlightOptions, 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'> & {
27
+ type: 'element-highlight';
28
+ };
29
+ export type IElementHighlightByKeySpec = IBaseInteractionSpec & Pick<IElementHighlightOptions, 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'> & {
30
+ type: 'element-highlight-by-key';
31
+ };
32
+ export type IElementHighlightByGroup = IBaseInteractionSpec & Pick<IElementHighlightOptions, 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'> & {
33
+ type: 'element-highlight-by-group';
34
+ };
35
+ export type IElementActiveByLegend = IBaseInteractionSpec & Pick<IElementActiveByLegendOptions, 'filterType' | 'state'> & {
36
+ type: 'element-active-by-legend';
37
+ };
38
+ export type IElementHighlightByLegend = IBaseInteractionSpec & Pick<IElementHighlightByLegendOptions, 'filterType' | 'blurState' | 'highlightState'> & {
39
+ type: 'element-highlight-by-legend';
40
+ };
41
+ export type IElementHighlightByName = IBaseInteractionSpec & Pick<IElementHighlightByNameOptions, 'blurState' | 'highlightState' | 'graphicName' | 'parseData'> & {
42
+ type: 'element-highlight-by-name';
43
+ };
44
+ export interface ICustomInteraction extends IBaseInteractionSpec {
45
+ type: string;
46
+ }
47
+ export type IInteractionItemSpec = IElementActiveSpec | IElementSelectSpec | IElementHighlightSpec | IElementHighlightByKeySpec | IElementHighlightByGroup | IElementActiveByLegend | IElementHighlightByLegend | IElementHighlightByName | ICustomInteraction;
48
+ export interface IInteractionSpec {
49
+ hover?: IHoverSpec | boolean;
50
+ select?: ISelectSpec | boolean;
51
+ interactions?: IInteractionItemSpec[];
52
+ }
53
+ export {};
@@ -0,0 +1,87 @@
1
+ import type { GraphicEventType } from '@visactor/vrender-core';
2
+ import type { IMark, IMarkGraphic } from '../../mark/interface/common';
3
+ import type { RenderMode } from '../../typings/spec/common';
4
+ import type { IInteraction } from './common';
5
+ import type { BaseEventParams } from '../../event/interface';
6
+ export type ITriggerEventHandler = (e: any, markGraphic?: IMarkGraphic) => void;
7
+ export interface ITrigger<TriggerOptions extends IBaseTriggerOptions = any> {
8
+ readonly options: TriggerOptions;
9
+ readonly type: string;
10
+ registerMark: (mark: IMark | IMark[]) => void;
11
+ release: () => void;
12
+ init: () => void;
13
+ start: (g: any) => void;
14
+ reset: (g?: IMarkGraphic) => void;
15
+ getStartState: () => string;
16
+ getResetState: () => string;
17
+ updateMarkIdByState: (states: string[]) => void;
18
+ getMarkIdByState: () => Record<string, number[]>;
19
+ getMarks: () => IMark[];
20
+ getMarksByState: (state: string) => IMark[];
21
+ }
22
+ export interface IBaseTriggerOptions {
23
+ type?: string;
24
+ marks?: IMark[];
25
+ mode?: RenderMode;
26
+ event: {
27
+ on: (eType: string, callback: ITriggerEventHandler) => void;
28
+ off: (eType: string, callback?: ITriggerEventHandler) => void;
29
+ emit: (eType: string, params: any) => void;
30
+ };
31
+ interaction: IInteraction;
32
+ id?: string;
33
+ shouldStart?: (e: any) => boolean;
34
+ shouldUpdate?: (e: any) => boolean;
35
+ shouldEnd?: (e: any) => boolean;
36
+ shouldReset?: (e: any) => boolean;
37
+ onStart?: (e: any) => boolean;
38
+ onUpdate?: (e: any) => boolean;
39
+ onEnd?: (e: any) => boolean;
40
+ onReset?: (e: any) => boolean;
41
+ }
42
+ export type IElementSelectTriggerOff = GraphicEventType | string | 'empty' | 'none' | number;
43
+ export interface IElementSelectOptions extends IBaseTriggerOptions {
44
+ trigger?: GraphicEventType | GraphicEventType[];
45
+ state?: string;
46
+ reverseState?: string;
47
+ triggerOff?: IElementSelectTriggerOff | IElementSelectTriggerOff[];
48
+ isMultiple?: boolean;
49
+ }
50
+ export interface IDimensionHoverOptions extends IBaseTriggerOptions {
51
+ state?: string;
52
+ reverseState?: string;
53
+ trigger?: string;
54
+ }
55
+ export interface IElementActiveOptions extends IBaseTriggerOptions {
56
+ trigger?: GraphicEventType | GraphicEventType[];
57
+ triggerOff?: GraphicEventType | GraphicEventType[] | 'none';
58
+ state?: string;
59
+ }
60
+ export interface IElementHighlightOptions extends IBaseTriggerOptions {
61
+ trigger?: GraphicEventType;
62
+ triggerOff?: GraphicEventType | 'none';
63
+ highlightState?: string;
64
+ blurState?: string;
65
+ }
66
+ export interface IElementFilterOptions {
67
+ filterType?: 'key' | 'groupKey';
68
+ filterField?: string;
69
+ }
70
+ export interface IElementActiveByLegendOptions extends IBaseTriggerOptions, IElementFilterOptions {
71
+ state?: string;
72
+ }
73
+ export interface IElementHighlightByLegendOptions extends IBaseTriggerOptions, IElementFilterOptions {
74
+ highlightState?: string;
75
+ blurState?: string;
76
+ }
77
+ export interface IElementHighlightByNameOptions extends IElementHighlightByLegendOptions {
78
+ graphicName?: string | string[];
79
+ trigger?: GraphicEventType;
80
+ triggerOff?: GraphicEventType | 'none';
81
+ parseData?: (e: BaseEventParams) => any;
82
+ }
83
+ export type IElementHighlightByGraphicNameOptions = IElementHighlightOptions;
84
+ export interface ITriggerConstructor<T extends IBaseTriggerOptions = IBaseTriggerOptions> {
85
+ readonly type: string;
86
+ new (options?: T): ITrigger<T>;
87
+ }
@@ -0,0 +1,28 @@
1
+ import type { IBaseTriggerOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';
2
+ import type { IMark, IMarkGraphic } from '../../mark/interface/common';
3
+ import { MarkSet } from '../../mark/mark-set';
4
+ export declare abstract class BaseTrigger<T extends IBaseTriggerOptions> implements ITrigger<T> {
5
+ options: T;
6
+ type: string;
7
+ protected _markSet: MarkSet;
8
+ protected _markIdByState: Record<string, number[]>;
9
+ constructor(options: T);
10
+ getMarks(): IMark[];
11
+ getMarksByState(state: string): IMark[];
12
+ registerMark(mark: IMark | IMark[]): void;
13
+ updateMarkIdByState(states: string[]): void;
14
+ getMarkIdByState(): Record<string, number[]>;
15
+ isGraphicInStateMark(g: IMarkGraphic, state: string): boolean;
16
+ isGraphicInMark(g: IMarkGraphic): boolean;
17
+ protected abstract getEvents(): Array<{
18
+ type: string | string[];
19
+ handler: ITriggerEventHandler;
20
+ }>;
21
+ getStartState(): string;
22
+ getResetState(): string;
23
+ init(): void;
24
+ release(): void;
25
+ start(g: IMarkGraphic | string): void;
26
+ reset(g?: IMarkGraphic): void;
27
+ protected dispatchEvent(type: 'start' | 'reset' | 'update' | 'end', params: any): void;
28
+ }
@@ -0,0 +1,22 @@
1
+ import type { DimensionEventParams } from '../../event/events/dimension/interface';
2
+ import type { IMarkGraphic } from '../../mark/interface';
3
+ import type { IDimensionHoverOptions, ITrigger } from '../interface/trigger';
4
+ import { BaseTrigger } from './base';
5
+ export declare class DimensionHover extends BaseTrigger<IDimensionHoverOptions> implements ITrigger<IDimensionHoverOptions> {
6
+ static type: string;
7
+ type: string;
8
+ static defaultOptions: Partial<IDimensionHoverOptions>;
9
+ protected _resetType: ('view' | 'self' | 'timeout')[];
10
+ protected _statedGraphics?: IMarkGraphic[];
11
+ constructor(options?: IDimensionHoverOptions);
12
+ getStartState(): string;
13
+ getResetState(): string;
14
+ protected getEvents(): {
15
+ type: string;
16
+ handler: (params: DimensionEventParams) => void;
17
+ }[];
18
+ resetAll: () => void;
19
+ protected getStatedGraphics(params: DimensionEventParams, reverse?: boolean): IMarkGraphic[];
20
+ handleStart: (params: DimensionEventParams) => void;
21
+ }
22
+ export declare const registerDimensionHover: () => void;
@@ -0,0 +1,21 @@
1
+ import { BaseTrigger } from './base';
2
+ import type { IElementActiveByLegendOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';
3
+ import type { IMarkGraphic } from '../../mark/interface';
4
+ import type { BaseEventParams } from '../../core';
5
+ export declare class ElementActiveByLegend extends BaseTrigger<IElementActiveByLegendOptions> implements ITrigger<IElementActiveByLegendOptions> {
6
+ static type: string;
7
+ type: string;
8
+ static defaultOptions: Partial<IElementActiveByLegendOptions>;
9
+ constructor(options?: IElementActiveByLegendOptions);
10
+ protected getEvents(): Array<{
11
+ type: string | string[];
12
+ handler: ITriggerEventHandler;
13
+ }>;
14
+ getStartState(): string;
15
+ start(itemKey: string): void;
16
+ resetAll(): void;
17
+ reset(g?: IMarkGraphic): void;
18
+ handleStart: (e: BaseEventParams) => void;
19
+ handleReset: (e: BaseEventParams) => void;
20
+ }
21
+ export declare const registerElementActiveByLegend: () => void;
@@ -0,0 +1,20 @@
1
+ import { BaseTrigger } from './base';
2
+ import type { IElementActiveOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';
3
+ import type { IMarkGraphic } from '../../mark/interface';
4
+ import type { BaseEventParams } from '../../event/interface';
5
+ export declare class ElementActive extends BaseTrigger<IElementActiveOptions> implements ITrigger<IElementActiveOptions> {
6
+ static type: string;
7
+ type: string;
8
+ static defaultOptions: Partial<IElementActiveOptions>;
9
+ constructor(options?: IElementActiveOptions);
10
+ protected getEvents(): Array<{
11
+ type: string | string[];
12
+ handler: ITriggerEventHandler;
13
+ }>;
14
+ getStartState(): string;
15
+ start(g: IMarkGraphic): void;
16
+ reset(graphic?: IMarkGraphic): void;
17
+ handleStart: (e: BaseEventParams) => void;
18
+ handleReset: (e: BaseEventParams) => void;
19
+ }
20
+ export declare const registerElementActive: () => void;
@@ -0,0 +1,23 @@
1
+ import { BaseTrigger } from './base';
2
+ import type { IElementHighlightOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';
3
+ import type { IMarkGraphic } from '../../mark/interface';
4
+ import type { BaseEventParams } from '../../core';
5
+ export declare class ElementHighlightByGroup extends BaseTrigger<IElementHighlightOptions> implements ITrigger<IElementHighlightOptions> {
6
+ static type: string;
7
+ type: string;
8
+ static defaultOptions: Partial<IElementHighlightOptions>;
9
+ constructor(options?: IElementHighlightOptions);
10
+ getStartState(): string;
11
+ getResetState(): string;
12
+ protected getEvents(): Array<{
13
+ type: string | string[];
14
+ handler: ITriggerEventHandler;
15
+ }>;
16
+ resetAll(): void;
17
+ protected _getHightlightKey(g: IMarkGraphic): string;
18
+ start(g: IMarkGraphic): void;
19
+ reset(g?: IMarkGraphic): void;
20
+ handleStart: (e: BaseEventParams) => void;
21
+ handleReset: (e: BaseEventParams) => void;
22
+ }
23
+ export declare const registerElementHighlightByGroup: () => void;
@@ -0,0 +1,9 @@
1
+ import type { IElementHighlightOptions, ITrigger } from '../interface/trigger';
2
+ import { ElementHighlightByGroup } from './element-highlight-by-group';
3
+ import type { IMarkGraphic } from '../../mark/interface/common';
4
+ export declare class ElementHighlightByKey extends ElementHighlightByGroup implements ITrigger<IElementHighlightOptions> {
5
+ static type: string;
6
+ type: string;
7
+ protected _getHightlightKey(g: IMarkGraphic): string;
8
+ }
9
+ export declare const registerElementHighlightByKey: () => void;
@@ -0,0 +1,22 @@
1
+ import { BaseTrigger } from './base';
2
+ import type { IElementHighlightByLegendOptions, ITrigger, ITriggerEventHandler } from '../interface/trigger';
3
+ import type { IMarkGraphic } from '../../mark/interface/common';
4
+ import type { BaseEventParams } from '../../event/interface';
5
+ export declare class ElementHighlightByLegend extends BaseTrigger<IElementHighlightByLegendOptions> implements ITrigger<IElementHighlightByLegendOptions> {
6
+ static type: string;
7
+ type: string;
8
+ static defaultOptions: Partial<IElementHighlightByLegendOptions>;
9
+ constructor(options?: IElementHighlightByLegendOptions);
10
+ getStartState(): string;
11
+ getResetState(): string;
12
+ protected getEvents(): Array<{
13
+ type: string | string[];
14
+ handler: ITriggerEventHandler;
15
+ }>;
16
+ start(itemKey: any): void;
17
+ resetAll(): void;
18
+ reset(g?: IMarkGraphic): void;
19
+ handleStart: (e: BaseEventParams) => void;
20
+ handleReset: (e: BaseEventParams) => void;
21
+ }
22
+ export declare const registerElementHighlightByLegend: () => void;
@@ -0,0 +1,24 @@
1
+ import { BaseTrigger } from './base';
2
+ import type { IElementHighlightByNameOptions, ITrigger } from '../interface/trigger';
3
+ import type { BaseEventParams } from '../../event/interface';
4
+ import type { IMarkGraphic } from '../../mark/interface';
5
+ export declare class ElementHighlightByName extends BaseTrigger<IElementHighlightByNameOptions> implements ITrigger<IElementHighlightByNameOptions> {
6
+ static type: string;
7
+ type: string;
8
+ static defaultOptions: Partial<IElementHighlightByNameOptions>;
9
+ constructor(options?: IElementHighlightByNameOptions);
10
+ getStartState(): string;
11
+ getResetState(): string;
12
+ protected getEvents(): {
13
+ type: "none" | import("@visactor/vrender-core").GraphicEventType;
14
+ handler: (e: BaseEventParams) => void;
15
+ }[];
16
+ protected _filterByName(e: BaseEventParams): boolean;
17
+ protected _parseTargetKey(e: BaseEventParams): any;
18
+ start(itemKey: any): void;
19
+ resetAll(): void;
20
+ reset(g?: IMarkGraphic): void;
21
+ handleStart: (e: BaseEventParams) => void;
22
+ handleReset: (e: BaseEventParams) => void;
23
+ }
24
+ export declare const registerElementHighlightByName: () => void;
@@ -0,0 +1,25 @@
1
+ import type { IElementHighlightOptions, ITrigger } from '../interface/trigger';
2
+ import type { IMarkGraphic } from '../../mark/interface/common';
3
+ import { BaseTrigger } from './base';
4
+ import type { GraphicEventType } from '@visactor/vrender-core';
5
+ import type { BaseEventParams } from '../../event/interface';
6
+ export declare class ElementHighlight extends BaseTrigger<IElementHighlightOptions> implements ITrigger<IElementHighlightOptions> {
7
+ static type: string;
8
+ type: string;
9
+ static defaultOptions: Partial<IElementHighlightOptions>;
10
+ protected _lastGraphic?: IMarkGraphic;
11
+ constructor(options?: IElementHighlightOptions);
12
+ getStartState(): string;
13
+ getResetState(): string;
14
+ protected _resetType?: 'view' | 'self';
15
+ protected getEvents(): {
16
+ type: GraphicEventType;
17
+ handler: (e: BaseEventParams) => void;
18
+ }[];
19
+ resetAll: () => void;
20
+ handleStart: (e: BaseEventParams) => void;
21
+ handleReset: (e: BaseEventParams) => void;
22
+ start(markGraphic: IMarkGraphic): void;
23
+ reset(markGraphic: IMarkGraphic): void;
24
+ }
25
+ export declare const registerElementHighlight: () => void;