@visactor/vchart 1.9.0-alpha.1 → 1.9.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (964) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +1836 -1487
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +6 -1
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/area/area.js +3 -4
  8. package/cjs/chart/area/area.js.map +1 -1
  9. package/cjs/chart/bar/3d/bar-3d.js +3 -3
  10. package/cjs/chart/bar/3d/bar-3d.js.map +1 -1
  11. package/cjs/chart/bar/bar.js +3 -4
  12. package/cjs/chart/bar/bar.js.map +1 -1
  13. package/cjs/chart/base/base-chart.js +4 -4
  14. package/cjs/chart/base/base-chart.js.map +1 -1
  15. package/cjs/chart/box-plot/box-plot-transformer.js +3 -3
  16. package/cjs/chart/box-plot/box-plot-transformer.js.map +1 -1
  17. package/cjs/chart/box-plot/box-plot.js +4 -5
  18. package/cjs/chart/box-plot/box-plot.js.map +1 -1
  19. package/cjs/chart/circle-packing/circle-packing.js +3 -3
  20. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  21. package/cjs/chart/common/common.js +4 -4
  22. package/cjs/chart/common/common.js.map +1 -1
  23. package/cjs/chart/correlation/correlation.js +4 -4
  24. package/cjs/chart/correlation/correlation.js.map +1 -1
  25. package/cjs/chart/funnel/3d/funnel-3d.js +4 -5
  26. package/cjs/chart/funnel/3d/funnel-3d.js.map +1 -1
  27. package/cjs/chart/funnel/funnel.js +4 -5
  28. package/cjs/chart/funnel/funnel.js.map +1 -1
  29. package/cjs/chart/gauge/gauge.js +3 -3
  30. package/cjs/chart/gauge/gauge.js.map +1 -1
  31. package/cjs/chart/heatmap/heatmap.js +4 -5
  32. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  33. package/cjs/chart/histogram/3d/histogram-3d.js +3 -3
  34. package/cjs/chart/histogram/3d/histogram-3d.js.map +1 -1
  35. package/cjs/chart/histogram/histogram.js +4 -5
  36. package/cjs/chart/histogram/histogram.js.map +1 -1
  37. package/cjs/chart/interface/type.d.ts +1 -1
  38. package/cjs/chart/interface/type.js.map +1 -1
  39. package/cjs/chart/line/line.js +3 -4
  40. package/cjs/chart/line/line.js.map +1 -1
  41. package/cjs/chart/liquid/liquid.js +4 -5
  42. package/cjs/chart/liquid/liquid.js.map +1 -1
  43. package/cjs/chart/map/map.js +3 -3
  44. package/cjs/chart/map/map.js.map +1 -1
  45. package/cjs/chart/pie/3d/pie-3d.js +3 -3
  46. package/cjs/chart/pie/3d/pie-3d.js.map +1 -1
  47. package/cjs/chart/pie/pie.js +3 -3
  48. package/cjs/chart/pie/pie.js.map +1 -1
  49. package/cjs/chart/polar/polar-transformer.js +2 -2
  50. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  51. package/cjs/chart/progress/circular/circular.js +3 -3
  52. package/cjs/chart/progress/circular/circular.js.map +1 -1
  53. package/cjs/chart/progress/linear/linear.js +3 -3
  54. package/cjs/chart/progress/linear/linear.js.map +1 -1
  55. package/cjs/chart/radar/radar.js +3 -4
  56. package/cjs/chart/radar/radar.js.map +1 -1
  57. package/cjs/chart/range-area/range-area-transformer.js +2 -2
  58. package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
  59. package/cjs/chart/range-area/range-area.js +4 -5
  60. package/cjs/chart/range-area/range-area.js.map +1 -1
  61. package/cjs/chart/range-column/3d/range-column-3d-transformer.js +2 -2
  62. package/cjs/chart/range-column/3d/range-column-3d-transformer.js.map +1 -1
  63. package/cjs/chart/range-column/3d/range-column-3d.js +4 -4
  64. package/cjs/chart/range-column/3d/range-column-3d.js.map +1 -1
  65. package/cjs/chart/range-column/range-column-transformer.js +2 -2
  66. package/cjs/chart/range-column/range-column-transformer.js.map +1 -1
  67. package/cjs/chart/range-column/range-column.js +4 -4
  68. package/cjs/chart/range-column/range-column.js.map +1 -1
  69. package/cjs/chart/rose/rose.js +3 -4
  70. package/cjs/chart/rose/rose.js.map +1 -1
  71. package/cjs/chart/sankey/sankey.js +4 -5
  72. package/cjs/chart/sankey/sankey.js.map +1 -1
  73. package/cjs/chart/scatter/scatter.js +4 -6
  74. package/cjs/chart/scatter/scatter.js.map +1 -1
  75. package/cjs/chart/sequence/sequence-transformer.js +3 -3
  76. package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
  77. package/cjs/chart/sequence/sequence.js +4 -4
  78. package/cjs/chart/sequence/sequence.js.map +1 -1
  79. package/cjs/chart/stack.js +1 -2
  80. package/cjs/chart/sunburst/sunburst.js +4 -5
  81. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  82. package/cjs/chart/treemap/treemap.js +4 -5
  83. package/cjs/chart/treemap/treemap.js.map +1 -1
  84. package/cjs/chart/util.js +2 -2
  85. package/cjs/chart/util.js.map +1 -1
  86. package/cjs/chart/waterfall/waterfall.js +4 -5
  87. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  88. package/cjs/chart/word-cloud/3d/word-cloud-3d.js +3 -3
  89. package/cjs/chart/word-cloud/3d/word-cloud-3d.js.map +1 -1
  90. package/cjs/chart/word-cloud/base/base.js +2 -2
  91. package/cjs/chart/word-cloud/base/base.js.map +1 -1
  92. package/cjs/chart/word-cloud/word-cloud.js +4 -5
  93. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  94. package/cjs/compile/interface/compiler.d.ts +2 -0
  95. package/cjs/compile/interface/compiler.js.map +1 -1
  96. package/cjs/compile/mark/interface.d.ts +0 -9
  97. package/cjs/compile/mark/interface.js +3 -10
  98. package/cjs/compile/mark/interface.js.map +1 -1
  99. package/cjs/component/axis/cartesian/axis.d.ts +8 -1
  100. package/cjs/component/axis/cartesian/axis.js +38 -16
  101. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  102. package/cjs/component/axis/cartesian/interface/spec.d.ts +19 -3
  103. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  104. package/cjs/component/axis/cartesian/util/common.js +3 -3
  105. package/cjs/component/axis/cartesian/util/common.js.map +1 -1
  106. package/cjs/component/axis/mixin/band-axis-mixin.js +1 -0
  107. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  108. package/cjs/component/axis/mixin/linear-axis-mixin.js +3 -3
  109. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  110. package/cjs/component/axis/polar/axis.js +17 -9
  111. package/cjs/component/axis/polar/axis.js.map +1 -1
  112. package/cjs/component/crosshair/cartesian.js +7 -7
  113. package/cjs/component/crosshair/cartesian.js.map +1 -1
  114. package/cjs/component/crosshair/config.d.ts +1 -1
  115. package/cjs/component/crosshair/config.js.map +1 -1
  116. package/cjs/component/crosshair/polar.js +9 -9
  117. package/cjs/component/crosshair/polar.js.map +1 -1
  118. package/cjs/component/custom-mark/custom-mark.js +2 -1
  119. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  120. package/cjs/component/data-zoom/constant.d.ts +1 -1
  121. package/cjs/component/data-zoom/constant.js.map +1 -1
  122. package/cjs/component/data-zoom/data-filter-base-component.js +8 -8
  123. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  124. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
  125. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  126. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +3 -3
  127. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  128. package/cjs/component/data-zoom/util.js +2 -3
  129. package/cjs/component/data-zoom/util.js.map +1 -1
  130. package/cjs/component/label/label.js +4 -4
  131. package/cjs/component/label/label.js.map +1 -1
  132. package/cjs/component/label/total-label.js +4 -4
  133. package/cjs/component/label/total-label.js.map +1 -1
  134. package/cjs/component/label/util.js +4 -4
  135. package/cjs/component/label/util.js.map +1 -1
  136. package/cjs/component/marker/base-marker.d.ts +5 -1
  137. package/cjs/component/marker/base-marker.js.map +1 -1
  138. package/cjs/component/marker/mark-area/mark-area.js +7 -3
  139. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  140. package/cjs/component/marker/mark-line/mark-line.js +6 -2
  141. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  142. package/cjs/component/marker/mark-point/mark-point.js +6 -2
  143. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  144. package/cjs/component/marker/utils.js +2 -2
  145. package/cjs/component/marker/utils.js.map +1 -1
  146. package/cjs/component/tooltip/interface/theme.d.ts +1 -0
  147. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  148. package/cjs/component/tooltip/tooltip.d.ts +2 -1
  149. package/cjs/component/tooltip/tooltip.js +12 -8
  150. package/cjs/component/tooltip/tooltip.js.map +1 -1
  151. package/cjs/constant/base.js +2 -1
  152. package/cjs/constant/scroll-bar.js +1 -2
  153. package/cjs/core/expression-function.js +2 -1
  154. package/cjs/core/factory.js +2 -3
  155. package/cjs/core/factory.js.map +1 -1
  156. package/cjs/core/index.d.ts +1 -1
  157. package/cjs/core/index.js +1 -1
  158. package/cjs/core/index.js.map +1 -1
  159. package/cjs/data/transforms/marker-filter.d.ts +5 -0
  160. package/cjs/data/transforms/marker-filter.js +17 -0
  161. package/cjs/data/transforms/marker-filter.js.map +1 -0
  162. package/cjs/env/env.js +1 -2
  163. package/cjs/event/events/dimension/util/cartesian.js +2 -2
  164. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  165. package/cjs/event/index.js +2 -1
  166. package/cjs/index-lark.js +2 -2
  167. package/cjs/index-lark.js.map +1 -1
  168. package/cjs/index-wx.js +2 -2
  169. package/cjs/index-wx.js.map +1 -1
  170. package/cjs/interaction/config.js +4 -4
  171. package/cjs/interaction/config.js.map +1 -1
  172. package/cjs/interaction/drill/drillable.d.ts +1 -1
  173. package/cjs/interaction/drill/drillable.js +2 -2
  174. package/cjs/interaction/drill/drillable.js.map +1 -1
  175. package/cjs/interaction/zoom/zoomable.d.ts +1 -1
  176. package/cjs/interaction/zoom/zoomable.js +10 -10
  177. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  178. package/cjs/layout/interface.d.ts +0 -1
  179. package/cjs/layout/interface.js.map +1 -1
  180. package/cjs/mark/arc-3d.js +2 -2
  181. package/cjs/mark/arc-3d.js.map +1 -1
  182. package/cjs/mark/arc.js +2 -2
  183. package/cjs/mark/arc.js.map +1 -1
  184. package/cjs/mark/area.js +2 -2
  185. package/cjs/mark/area.js.map +1 -1
  186. package/cjs/mark/box-plot.js +2 -2
  187. package/cjs/mark/box-plot.js.map +1 -1
  188. package/cjs/mark/cell.js +2 -2
  189. package/cjs/mark/cell.js.map +1 -1
  190. package/cjs/mark/component.js +2 -2
  191. package/cjs/mark/component.js.map +1 -1
  192. package/cjs/mark/group.js +2 -2
  193. package/cjs/mark/group.js.map +1 -1
  194. package/cjs/mark/image.js +2 -2
  195. package/cjs/mark/image.js.map +1 -1
  196. package/cjs/mark/interface/type.d.ts +1 -1
  197. package/cjs/mark/interface/type.js.map +1 -1
  198. package/cjs/mark/label.js +2 -2
  199. package/cjs/mark/label.js.map +1 -1
  200. package/cjs/mark/line.js +2 -2
  201. package/cjs/mark/line.js.map +1 -1
  202. package/cjs/mark/link-path.js +2 -2
  203. package/cjs/mark/link-path.js.map +1 -1
  204. package/cjs/mark/liquid.js +2 -2
  205. package/cjs/mark/liquid.js.map +1 -1
  206. package/cjs/mark/path.js +2 -2
  207. package/cjs/mark/path.js.map +1 -1
  208. package/cjs/mark/polygon/polygon.js +2 -2
  209. package/cjs/mark/polygon/polygon.js.map +1 -1
  210. package/cjs/mark/polygon/pyramid-3d.js +2 -2
  211. package/cjs/mark/polygon/pyramid-3d.js.map +1 -1
  212. package/cjs/mark/progress-arc.js +2 -3
  213. package/cjs/mark/progress-arc.js.map +1 -1
  214. package/cjs/mark/rect-3d.js +2 -2
  215. package/cjs/mark/rect-3d.js.map +1 -1
  216. package/cjs/mark/rect.js +2 -2
  217. package/cjs/mark/rect.js.map +1 -1
  218. package/cjs/mark/ripple.js +2 -2
  219. package/cjs/mark/ripple.js.map +1 -1
  220. package/cjs/mark/rule.js +2 -2
  221. package/cjs/mark/rule.js.map +1 -1
  222. package/cjs/mark/symbol.js +3 -3
  223. package/cjs/mark/symbol.js.map +1 -1
  224. package/cjs/mark/text.js +2 -2
  225. package/cjs/mark/text.js.map +1 -1
  226. package/cjs/mark/utils/common.js +3 -7
  227. package/cjs/mark/utils/common.js.map +1 -1
  228. package/cjs/model/base-model.js +4 -3
  229. package/cjs/model/base-model.js.map +1 -1
  230. package/cjs/plugin/components/tooltip-handler/base.d.ts +3 -2
  231. package/cjs/plugin/components/tooltip-handler/base.js +15 -15
  232. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  233. package/cjs/plugin/components/tooltip-handler/dom/constant.d.ts +1 -0
  234. package/cjs/plugin/components/tooltip-handler/dom/constant.js +6 -0
  235. package/cjs/plugin/components/tooltip-handler/dom/constant.js.map +1 -0
  236. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +6 -5
  237. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  238. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
  239. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -4
  240. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  241. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.d.ts +2 -1
  242. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js +18 -2
  243. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  244. package/cjs/plugin/components/tooltip-handler/dom/model/interface.d.ts +3 -2
  245. package/cjs/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
  246. package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js +16 -11
  247. package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -1
  248. package/cjs/plugin/components/tooltip-handler/dom/model/style-constants.d.ts +0 -1
  249. package/cjs/plugin/components/tooltip-handler/dom/model/style-constants.js +3 -8
  250. package/cjs/plugin/components/tooltip-handler/dom/model/style-constants.js.map +1 -1
  251. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.d.ts +1 -1
  252. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js +5 -5
  253. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  254. package/cjs/plugin/components/tooltip-handler/dom/utils/common.d.ts +3 -0
  255. package/cjs/plugin/components/tooltip-handler/dom/utils/common.js +33 -0
  256. package/cjs/plugin/components/tooltip-handler/dom/utils/common.js.map +1 -0
  257. package/cjs/plugin/components/tooltip-handler/dom/utils/index.d.ts +2 -0
  258. package/cjs/plugin/components/tooltip-handler/dom/utils/index.js +21 -0
  259. package/cjs/plugin/components/tooltip-handler/dom/utils/index.js.map +1 -0
  260. package/cjs/plugin/components/tooltip-handler/dom/utils/style.d.ts +4 -0
  261. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js +87 -0
  262. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -0
  263. package/cjs/plugin/components/tooltip-handler/interface/style.d.ts +5 -0
  264. package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  265. package/cjs/plugin/components/tooltip-handler/utils/attribute.d.ts +3 -3
  266. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +15 -11
  267. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  268. package/cjs/plugin/components/tooltip-handler/utils/common.d.ts +3 -2
  269. package/cjs/plugin/components/tooltip-handler/utils/common.js +12 -13
  270. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  271. package/cjs/plugin/components/tooltip-handler/utils/compose.js +1 -1
  272. package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  273. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +5 -25
  274. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  275. package/cjs/plugin/components/tooltip-handler/utils/position.js +14 -14
  276. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  277. package/cjs/region/region.js +6 -6
  278. package/cjs/region/region.js.map +1 -1
  279. package/cjs/series/area/animation.js +3 -3
  280. package/cjs/series/area/animation.js.map +1 -1
  281. package/cjs/series/area/area-transformer.js +3 -3
  282. package/cjs/series/area/area-transformer.js.map +1 -1
  283. package/cjs/series/area/area.js +6 -6
  284. package/cjs/series/area/area.js.map +1 -1
  285. package/cjs/series/area/constant.js +4 -4
  286. package/cjs/series/area/constant.js.map +1 -1
  287. package/cjs/series/bar/animation.js +3 -3
  288. package/cjs/series/bar/animation.js.map +1 -1
  289. package/cjs/series/bar/bar-3d.js +4 -4
  290. package/cjs/series/bar/bar-3d.js.map +1 -1
  291. package/cjs/series/bar/bar-transformer.js +2 -2
  292. package/cjs/series/bar/bar-transformer.js.map +1 -1
  293. package/cjs/series/bar/bar.js +19 -19
  294. package/cjs/series/bar/bar.js.map +1 -1
  295. package/cjs/series/bar/constant.js +10 -10
  296. package/cjs/series/bar/constant.js.map +1 -1
  297. package/cjs/series/base/base-series.d.ts +3 -2
  298. package/cjs/series/base/base-series.js +20 -11
  299. package/cjs/series/base/base-series.js.map +1 -1
  300. package/cjs/series/base/constant.js +4 -4
  301. package/cjs/series/base/constant.js.map +1 -1
  302. package/cjs/series/base/tooltip-helper.d.ts +3 -1
  303. package/cjs/series/base/tooltip-helper.js +19 -6
  304. package/cjs/series/base/tooltip-helper.js.map +1 -1
  305. package/cjs/series/box-plot/box-plot.js +7 -7
  306. package/cjs/series/box-plot/box-plot.js.map +1 -1
  307. package/cjs/series/box-plot/constant.js +7 -7
  308. package/cjs/series/box-plot/constant.js.map +1 -1
  309. package/cjs/series/cartesian/cartesian.js +10 -11
  310. package/cjs/series/cartesian/cartesian.js.map +1 -1
  311. package/cjs/series/circle-packing/circle-packing.js +3 -3
  312. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  313. package/cjs/series/circle-packing/constant.js +4 -4
  314. package/cjs/series/circle-packing/constant.js.map +1 -1
  315. package/cjs/series/correlation/constant.js +13 -13
  316. package/cjs/series/correlation/constant.js.map +1 -1
  317. package/cjs/series/correlation/correlation-transformer.js +2 -2
  318. package/cjs/series/correlation/correlation-transformer.js.map +1 -1
  319. package/cjs/series/correlation/correlation.js +1 -1
  320. package/cjs/series/correlation/correlation.js.map +1 -1
  321. package/cjs/series/dot/constant.js +22 -22
  322. package/cjs/series/dot/constant.js.map +1 -1
  323. package/cjs/series/dot/dot.js +4 -4
  324. package/cjs/series/dot/dot.js.map +1 -1
  325. package/cjs/series/funnel/3d/funnel-3d-transformer.js +2 -2
  326. package/cjs/series/funnel/3d/funnel-3d-transformer.js.map +1 -1
  327. package/cjs/series/funnel/3d/funnel-3d.js +5 -5
  328. package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
  329. package/cjs/series/funnel/constant.js +31 -31
  330. package/cjs/series/funnel/constant.js.map +1 -1
  331. package/cjs/series/funnel/funnel-transformer.js +2 -2
  332. package/cjs/series/funnel/funnel-transformer.js.map +1 -1
  333. package/cjs/series/funnel/funnel.js +7 -7
  334. package/cjs/series/funnel/funnel.js.map +1 -1
  335. package/cjs/series/funnel/tooltip-helper.js +4 -4
  336. package/cjs/series/funnel/tooltip-helper.js.map +1 -1
  337. package/cjs/series/gauge/constant.js +16 -16
  338. package/cjs/series/gauge/constant.js.map +1 -1
  339. package/cjs/series/gauge/gauge-pointer.js +6 -6
  340. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  341. package/cjs/series/gauge/gauge-transformer.js +2 -2
  342. package/cjs/series/gauge/gauge-transformer.js.map +1 -1
  343. package/cjs/series/gauge/gauge.js +1 -1
  344. package/cjs/series/gauge/gauge.js.map +1 -1
  345. package/cjs/series/heatmap/constant.js +7 -7
  346. package/cjs/series/heatmap/constant.js.map +1 -1
  347. package/cjs/series/heatmap/heatmap-transformer.js +2 -2
  348. package/cjs/series/heatmap/heatmap-transformer.js.map +1 -1
  349. package/cjs/series/heatmap/heatmap.js +1 -1
  350. package/cjs/series/heatmap/heatmap.js.map +1 -1
  351. package/cjs/series/interface/common.d.ts +1 -0
  352. package/cjs/series/interface/common.js.map +1 -1
  353. package/cjs/series/interface/type.d.ts +1 -2
  354. package/cjs/series/interface/type.js +2 -4
  355. package/cjs/series/interface/type.js.map +1 -1
  356. package/cjs/series/line/animation.js +3 -3
  357. package/cjs/series/line/animation.js.map +1 -1
  358. package/cjs/series/line/line.js +2 -2
  359. package/cjs/series/line/line.js.map +1 -1
  360. package/cjs/series/link/constant.js +10 -10
  361. package/cjs/series/link/constant.js.map +1 -1
  362. package/cjs/series/link/link.js +2 -2
  363. package/cjs/series/link/link.js.map +1 -1
  364. package/cjs/series/liquid/constant.js +10 -10
  365. package/cjs/series/liquid/constant.js.map +1 -1
  366. package/cjs/series/liquid/liquid.js +1 -1
  367. package/cjs/series/liquid/liquid.js.map +1 -1
  368. package/cjs/series/map/constant.js +4 -4
  369. package/cjs/series/map/constant.js.map +1 -1
  370. package/cjs/series/map/map-transformer.js +2 -2
  371. package/cjs/series/map/map-transformer.js.map +1 -1
  372. package/cjs/series/map/map.js +1 -1
  373. package/cjs/series/map/map.js.map +1 -1
  374. package/cjs/series/mixin/constant.js +7 -11
  375. package/cjs/series/mixin/constant.js.map +1 -1
  376. package/cjs/series/mixin/line-mixin-transformer.js +3 -3
  377. package/cjs/series/mixin/line-mixin-transformer.js.map +1 -1
  378. package/cjs/series/mixin/line-mixin.js +6 -6
  379. package/cjs/series/mixin/line-mixin.js.map +1 -1
  380. package/cjs/series/pie/3d/pie-3d-transformer.js +2 -2
  381. package/cjs/series/pie/3d/pie-3d-transformer.js.map +1 -1
  382. package/cjs/series/pie/3d/pie-3d.js +4 -4
  383. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  384. package/cjs/series/pie/constant.js +13 -13
  385. package/cjs/series/pie/constant.js.map +1 -1
  386. package/cjs/series/pie/pie-transformer.js +2 -2
  387. package/cjs/series/pie/pie-transformer.js.map +1 -1
  388. package/cjs/series/pie/pie.js +7 -7
  389. package/cjs/series/pie/pie.js.map +1 -1
  390. package/cjs/series/polar/progress-like/constant.js +4 -4
  391. package/cjs/series/polar/progress-like/constant.js.map +1 -1
  392. package/cjs/series/progress/circular/circular.js +2 -2
  393. package/cjs/series/progress/circular/circular.js.map +1 -1
  394. package/cjs/series/progress/circular/constant.js +7 -7
  395. package/cjs/series/progress/circular/constant.js.map +1 -1
  396. package/cjs/series/progress/linear/animation.js +3 -3
  397. package/cjs/series/progress/linear/animation.js.map +1 -1
  398. package/cjs/series/progress/linear/constant.js +10 -10
  399. package/cjs/series/progress/linear/constant.js.map +1 -1
  400. package/cjs/series/progress/linear/linear.js +2 -2
  401. package/cjs/series/progress/linear/linear.js.map +1 -1
  402. package/cjs/series/radar/constant.js +4 -4
  403. package/cjs/series/radar/constant.js.map +1 -1
  404. package/cjs/series/radar/radar.js +1 -1
  405. package/cjs/series/radar/radar.js.map +1 -1
  406. package/cjs/series/range-area/range-area.js +3 -3
  407. package/cjs/series/range-area/range-area.js.map +1 -1
  408. package/cjs/series/range-area/tooltip-helper.js +2 -2
  409. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  410. package/cjs/series/range-column/3d/range-column-3d-transformer.js +2 -2
  411. package/cjs/series/range-column/3d/range-column-3d-transformer.js.map +1 -1
  412. package/cjs/series/range-column/3d/range-column-3d.js +4 -4
  413. package/cjs/series/range-column/3d/range-column-3d.js.map +1 -1
  414. package/cjs/series/range-column/constant.js +13 -13
  415. package/cjs/series/range-column/constant.js.map +1 -1
  416. package/cjs/series/range-column/interface.d.ts +2 -2
  417. package/cjs/series/range-column/interface.js.map +1 -1
  418. package/cjs/series/range-column/range-column-transformer.js +2 -2
  419. package/cjs/series/range-column/range-column-transformer.js.map +1 -1
  420. package/cjs/series/range-column/range-column.js +11 -11
  421. package/cjs/series/range-column/range-column.js.map +1 -1
  422. package/cjs/series/range-column/tooltip-helper.js +2 -2
  423. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  424. package/cjs/series/rose/constant.js +4 -4
  425. package/cjs/series/rose/constant.js.map +1 -1
  426. package/cjs/series/rose/rose-transformer.js +2 -2
  427. package/cjs/series/rose/rose-transformer.js.map +1 -1
  428. package/cjs/series/rose/rose.js +1 -1
  429. package/cjs/series/rose/rose.js.map +1 -1
  430. package/cjs/series/sankey/animation.js +5 -5
  431. package/cjs/series/sankey/animation.js.map +1 -1
  432. package/cjs/series/sankey/constant.js +7 -7
  433. package/cjs/series/sankey/constant.js.map +1 -1
  434. package/cjs/series/sankey/sankey.js +3 -3
  435. package/cjs/series/sankey/sankey.js.map +1 -1
  436. package/cjs/series/scatter/constant.js +4 -4
  437. package/cjs/series/scatter/constant.js.map +1 -1
  438. package/cjs/series/scatter/scatter-transformer.js +2 -2
  439. package/cjs/series/scatter/scatter-transformer.js.map +1 -1
  440. package/cjs/series/scatter/scatter.js +1 -1
  441. package/cjs/series/scatter/scatter.js.map +1 -1
  442. package/cjs/series/sunburst/constant.js +4 -4
  443. package/cjs/series/sunburst/constant.js.map +1 -1
  444. package/cjs/series/sunburst/sunburst.js +3 -3
  445. package/cjs/series/sunburst/sunburst.js.map +1 -1
  446. package/cjs/series/treemap/constant.js +10 -10
  447. package/cjs/series/treemap/constant.js.map +1 -1
  448. package/cjs/series/treemap/treemap-transform.js +3 -3
  449. package/cjs/series/treemap/treemap-transform.js.map +1 -1
  450. package/cjs/series/treemap/treemap.js +7 -7
  451. package/cjs/series/treemap/treemap.js.map +1 -1
  452. package/cjs/series/util/label-mark.js +5 -5
  453. package/cjs/series/util/label-mark.js.map +1 -1
  454. package/cjs/series/waterfall/constant.js +7 -7
  455. package/cjs/series/waterfall/constant.js.map +1 -1
  456. package/cjs/series/waterfall/waterfall-transformer.js +2 -2
  457. package/cjs/series/waterfall/waterfall-transformer.js.map +1 -1
  458. package/cjs/series/waterfall/waterfall.js +6 -6
  459. package/cjs/series/waterfall/waterfall.js.map +1 -1
  460. package/cjs/series/word-cloud/base.js +2 -2
  461. package/cjs/series/word-cloud/base.js.map +1 -1
  462. package/cjs/series/word-cloud/constant.js +7 -7
  463. package/cjs/series/word-cloud/constant.js.map +1 -1
  464. package/cjs/series/word-cloud/interface.d.ts +2 -11
  465. package/cjs/series/word-cloud/interface.js +1 -8
  466. package/cjs/series/word-cloud/interface.js.map +1 -1
  467. package/cjs/series/word-cloud/word-cloud-3d.js +1 -1
  468. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  469. package/cjs/theme/builtin/common/series/rangeColumn.js +3 -7
  470. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  471. package/cjs/typings/shape.d.ts +0 -21
  472. package/cjs/typings/shape.js +1 -12
  473. package/cjs/typings/shape.js.map +1 -1
  474. package/cjs/typings/space.d.ts +1 -1
  475. package/cjs/typings/space.js.map +1 -1
  476. package/cjs/typings/spec/common.d.ts +2 -0
  477. package/cjs/typings/spec/common.js.map +1 -1
  478. package/cjs/typings/tooltip/position.d.ts +2 -2
  479. package/cjs/typings/tooltip/position.js.map +1 -1
  480. package/cjs/vchart-all.js +2 -2
  481. package/cjs/vchart-all.js.map +1 -1
  482. package/esm/animation/utils.js +6 -1
  483. package/esm/animation/utils.js.map +1 -1
  484. package/esm/chart/area/area.js +3 -5
  485. package/esm/chart/area/area.js.map +1 -1
  486. package/esm/chart/bar/3d/bar-3d.js +3 -5
  487. package/esm/chart/bar/3d/bar-3d.js.map +1 -1
  488. package/esm/chart/bar/bar.js +2 -4
  489. package/esm/chart/bar/bar.js.map +1 -1
  490. package/esm/chart/base/base-chart.js +1 -3
  491. package/esm/chart/base/base-chart.js.map +1 -1
  492. package/esm/chart/box-plot/box-plot-transformer.js +2 -4
  493. package/esm/chart/box-plot/box-plot-transformer.js.map +1 -1
  494. package/esm/chart/box-plot/box-plot.js +2 -4
  495. package/esm/chart/box-plot/box-plot.js.map +1 -1
  496. package/esm/chart/circle-packing/circle-packing.js +2 -4
  497. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  498. package/esm/chart/common/common.js +2 -4
  499. package/esm/chart/common/common.js.map +1 -1
  500. package/esm/chart/correlation/correlation.js +2 -4
  501. package/esm/chart/correlation/correlation.js.map +1 -1
  502. package/esm/chart/funnel/3d/funnel-3d.js +2 -4
  503. package/esm/chart/funnel/3d/funnel-3d.js.map +1 -1
  504. package/esm/chart/funnel/funnel.js +3 -5
  505. package/esm/chart/funnel/funnel.js.map +1 -1
  506. package/esm/chart/gauge/gauge.js +2 -4
  507. package/esm/chart/gauge/gauge.js.map +1 -1
  508. package/esm/chart/heatmap/heatmap.js +2 -4
  509. package/esm/chart/heatmap/heatmap.js.map +1 -1
  510. package/esm/chart/histogram/3d/histogram-3d.js +2 -4
  511. package/esm/chart/histogram/3d/histogram-3d.js.map +1 -1
  512. package/esm/chart/histogram/histogram.js +2 -4
  513. package/esm/chart/histogram/histogram.js.map +1 -1
  514. package/esm/chart/interface/type.d.ts +1 -1
  515. package/esm/chart/interface/type.js.map +1 -1
  516. package/esm/chart/line/line.js +3 -5
  517. package/esm/chart/line/line.js.map +1 -1
  518. package/esm/chart/liquid/liquid.js +3 -5
  519. package/esm/chart/liquid/liquid.js.map +1 -1
  520. package/esm/chart/map/map.js +2 -4
  521. package/esm/chart/map/map.js.map +1 -1
  522. package/esm/chart/pie/3d/pie-3d.js +3 -5
  523. package/esm/chart/pie/3d/pie-3d.js.map +1 -1
  524. package/esm/chart/pie/pie.js +2 -4
  525. package/esm/chart/pie/pie.js.map +1 -1
  526. package/esm/chart/polar/polar-transformer.js +1 -3
  527. package/esm/chart/polar/polar-transformer.js.map +1 -1
  528. package/esm/chart/progress/circular/circular.js +2 -4
  529. package/esm/chart/progress/circular/circular.js.map +1 -1
  530. package/esm/chart/progress/linear/linear.js +2 -5
  531. package/esm/chart/progress/linear/linear.js.map +1 -1
  532. package/esm/chart/radar/radar.js +3 -5
  533. package/esm/chart/radar/radar.js.map +1 -1
  534. package/esm/chart/range-area/range-area-transformer.js +1 -3
  535. package/esm/chart/range-area/range-area-transformer.js.map +1 -1
  536. package/esm/chart/range-area/range-area.js +2 -4
  537. package/esm/chart/range-area/range-area.js.map +1 -1
  538. package/esm/chart/range-column/3d/range-column-3d-transformer.js +1 -3
  539. package/esm/chart/range-column/3d/range-column-3d-transformer.js.map +1 -1
  540. package/esm/chart/range-column/3d/range-column-3d.js +2 -4
  541. package/esm/chart/range-column/3d/range-column-3d.js.map +1 -1
  542. package/esm/chart/range-column/range-column-transformer.js +1 -3
  543. package/esm/chart/range-column/range-column-transformer.js.map +1 -1
  544. package/esm/chart/range-column/range-column.js +2 -4
  545. package/esm/chart/range-column/range-column.js.map +1 -1
  546. package/esm/chart/rose/rose.js +3 -5
  547. package/esm/chart/rose/rose.js.map +1 -1
  548. package/esm/chart/sankey/sankey.js +3 -5
  549. package/esm/chart/sankey/sankey.js.map +1 -1
  550. package/esm/chart/scatter/scatter.js +2 -4
  551. package/esm/chart/scatter/scatter.js.map +1 -1
  552. package/esm/chart/sequence/sequence-transformer.js +2 -4
  553. package/esm/chart/sequence/sequence-transformer.js.map +1 -1
  554. package/esm/chart/sequence/sequence.js +2 -5
  555. package/esm/chart/sequence/sequence.js.map +1 -1
  556. package/esm/chart/stack.js +1 -2
  557. package/esm/chart/sunburst/sunburst.js +2 -4
  558. package/esm/chart/sunburst/sunburst.js.map +1 -1
  559. package/esm/chart/treemap/treemap.js +2 -4
  560. package/esm/chart/treemap/treemap.js.map +1 -1
  561. package/esm/chart/util.js +1 -3
  562. package/esm/chart/util.js.map +1 -1
  563. package/esm/chart/waterfall/waterfall.js +2 -4
  564. package/esm/chart/waterfall/waterfall.js.map +1 -1
  565. package/esm/chart/word-cloud/3d/word-cloud-3d.js +2 -4
  566. package/esm/chart/word-cloud/3d/word-cloud-3d.js.map +1 -1
  567. package/esm/chart/word-cloud/base/base.js +1 -3
  568. package/esm/chart/word-cloud/base/base.js.map +1 -1
  569. package/esm/chart/word-cloud/word-cloud.js +2 -4
  570. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  571. package/esm/compile/interface/compiler.d.ts +2 -0
  572. package/esm/compile/interface/compiler.js.map +1 -1
  573. package/esm/compile/mark/interface.d.ts +0 -9
  574. package/esm/compile/mark/interface.js +0 -9
  575. package/esm/compile/mark/interface.js.map +1 -1
  576. package/esm/component/axis/cartesian/axis.d.ts +8 -1
  577. package/esm/component/axis/cartesian/axis.js +35 -16
  578. package/esm/component/axis/cartesian/axis.js.map +1 -1
  579. package/esm/component/axis/cartesian/interface/spec.d.ts +19 -3
  580. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  581. package/esm/component/axis/cartesian/util/common.js +1 -3
  582. package/esm/component/axis/cartesian/util/common.js.map +1 -1
  583. package/esm/component/axis/mixin/band-axis-mixin.js +1 -0
  584. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  585. package/esm/component/axis/mixin/linear-axis-mixin.js +3 -3
  586. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  587. package/esm/component/axis/polar/axis.js +17 -9
  588. package/esm/component/axis/polar/axis.js.map +1 -1
  589. package/esm/component/crosshair/cartesian.js +6 -8
  590. package/esm/component/crosshair/cartesian.js.map +1 -1
  591. package/esm/component/crosshair/config.d.ts +1 -1
  592. package/esm/component/crosshair/config.js.map +1 -1
  593. package/esm/component/crosshair/polar.js +7 -9
  594. package/esm/component/crosshair/polar.js.map +1 -1
  595. package/esm/component/custom-mark/custom-mark.js +2 -1
  596. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  597. package/esm/component/data-zoom/constant.d.ts +1 -1
  598. package/esm/component/data-zoom/constant.js.map +1 -1
  599. package/esm/component/data-zoom/data-filter-base-component.js +5 -9
  600. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  601. package/esm/component/data-zoom/data-zoom/data-zoom.js +2 -4
  602. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  603. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -4
  604. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  605. package/esm/component/data-zoom/util.js +1 -4
  606. package/esm/component/data-zoom/util.js.map +1 -1
  607. package/esm/component/label/label.js +3 -5
  608. package/esm/component/label/label.js.map +1 -1
  609. package/esm/component/label/total-label.js +3 -5
  610. package/esm/component/label/total-label.js.map +1 -1
  611. package/esm/component/label/util.js +3 -5
  612. package/esm/component/label/util.js.map +1 -1
  613. package/esm/component/marker/base-marker.d.ts +5 -1
  614. package/esm/component/marker/base-marker.js.map +1 -1
  615. package/esm/component/marker/mark-area/mark-area.js +8 -2
  616. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  617. package/esm/component/marker/mark-line/mark-line.js +7 -1
  618. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  619. package/esm/component/marker/mark-point/mark-point.js +7 -1
  620. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  621. package/esm/component/marker/utils.js +2 -2
  622. package/esm/component/marker/utils.js.map +1 -1
  623. package/esm/component/tooltip/interface/theme.d.ts +1 -0
  624. package/esm/component/tooltip/interface/theme.js.map +1 -1
  625. package/esm/component/tooltip/tooltip.d.ts +2 -1
  626. package/esm/component/tooltip/tooltip.js +12 -8
  627. package/esm/component/tooltip/tooltip.js.map +1 -1
  628. package/esm/constant/base.js +2 -1
  629. package/esm/constant/scroll-bar.js +1 -2
  630. package/esm/core/expression-function.js +2 -1
  631. package/esm/core/factory.js +1 -4
  632. package/esm/core/factory.js.map +1 -1
  633. package/esm/core/index.d.ts +1 -1
  634. package/esm/core/index.js +1 -1
  635. package/esm/core/index.js.map +1 -1
  636. package/esm/data/transforms/marker-filter.d.ts +5 -0
  637. package/esm/data/transforms/marker-filter.js +11 -0
  638. package/esm/data/transforms/marker-filter.js.map +1 -0
  639. package/esm/env/env.js +1 -2
  640. package/esm/event/events/dimension/util/cartesian.js +1 -3
  641. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  642. package/esm/event/index.js +2 -1
  643. package/esm/index-lark.js +1 -3
  644. package/esm/index-lark.js.map +1 -1
  645. package/esm/index-wx.js +1 -3
  646. package/esm/index-wx.js.map +1 -1
  647. package/esm/interaction/config.js +4 -4
  648. package/esm/interaction/config.js.map +1 -1
  649. package/esm/interaction/drill/drillable.d.ts +1 -1
  650. package/esm/interaction/drill/drillable.js +2 -2
  651. package/esm/interaction/drill/drillable.js.map +1 -1
  652. package/esm/interaction/zoom/zoomable.d.ts +1 -1
  653. package/esm/interaction/zoom/zoomable.js +10 -10
  654. package/esm/interaction/zoom/zoomable.js.map +1 -1
  655. package/esm/layout/interface.d.ts +0 -1
  656. package/esm/layout/interface.js.map +1 -1
  657. package/esm/mark/arc-3d.js +1 -3
  658. package/esm/mark/arc-3d.js.map +1 -1
  659. package/esm/mark/arc.js +1 -3
  660. package/esm/mark/arc.js.map +1 -1
  661. package/esm/mark/area.js +1 -3
  662. package/esm/mark/area.js.map +1 -1
  663. package/esm/mark/box-plot.js +1 -3
  664. package/esm/mark/box-plot.js.map +1 -1
  665. package/esm/mark/cell.js +1 -3
  666. package/esm/mark/cell.js.map +1 -1
  667. package/esm/mark/component.js +1 -3
  668. package/esm/mark/component.js.map +1 -1
  669. package/esm/mark/group.js +1 -3
  670. package/esm/mark/group.js.map +1 -1
  671. package/esm/mark/image.js +1 -3
  672. package/esm/mark/image.js.map +1 -1
  673. package/esm/mark/interface/type.d.ts +1 -1
  674. package/esm/mark/interface/type.js.map +1 -1
  675. package/esm/mark/label.js +1 -3
  676. package/esm/mark/label.js.map +1 -1
  677. package/esm/mark/line.js +1 -3
  678. package/esm/mark/line.js.map +1 -1
  679. package/esm/mark/link-path.js +1 -3
  680. package/esm/mark/link-path.js.map +1 -1
  681. package/esm/mark/liquid.js +1 -3
  682. package/esm/mark/liquid.js.map +1 -1
  683. package/esm/mark/path.js +1 -3
  684. package/esm/mark/path.js.map +1 -1
  685. package/esm/mark/polygon/polygon.js +1 -3
  686. package/esm/mark/polygon/polygon.js.map +1 -1
  687. package/esm/mark/polygon/pyramid-3d.js +1 -3
  688. package/esm/mark/polygon/pyramid-3d.js.map +1 -1
  689. package/esm/mark/progress-arc.js +1 -3
  690. package/esm/mark/progress-arc.js.map +1 -1
  691. package/esm/mark/rect-3d.js +1 -3
  692. package/esm/mark/rect-3d.js.map +1 -1
  693. package/esm/mark/rect.js +1 -3
  694. package/esm/mark/rect.js.map +1 -1
  695. package/esm/mark/ripple.js +1 -3
  696. package/esm/mark/ripple.js.map +1 -1
  697. package/esm/mark/rule.js +1 -3
  698. package/esm/mark/rule.js.map +1 -1
  699. package/esm/mark/symbol.js +2 -6
  700. package/esm/mark/symbol.js.map +1 -1
  701. package/esm/mark/text.js +1 -3
  702. package/esm/mark/text.js.map +1 -1
  703. package/esm/mark/utils/common.js +1 -3
  704. package/esm/mark/utils/common.js.map +1 -1
  705. package/esm/model/base-model.js +4 -3
  706. package/esm/model/base-model.js.map +1 -1
  707. package/esm/plugin/components/tooltip-handler/base.d.ts +3 -2
  708. package/esm/plugin/components/tooltip-handler/base.js +1 -3
  709. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  710. package/esm/plugin/components/tooltip-handler/dom/constant.d.ts +1 -0
  711. package/esm/plugin/components/tooltip-handler/dom/constant.js +2 -0
  712. package/esm/plugin/components/tooltip-handler/dom/constant.js.map +1 -0
  713. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +7 -4
  714. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  715. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
  716. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -4
  717. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  718. package/esm/plugin/components/tooltip-handler/dom/model/content-model.d.ts +2 -1
  719. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js +20 -3
  720. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  721. package/esm/plugin/components/tooltip-handler/dom/model/interface.d.ts +3 -2
  722. package/esm/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
  723. package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js +13 -9
  724. package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -1
  725. package/esm/plugin/components/tooltip-handler/dom/model/style-constants.d.ts +0 -1
  726. package/esm/plugin/components/tooltip-handler/dom/model/style-constants.js +2 -9
  727. package/esm/plugin/components/tooltip-handler/dom/model/style-constants.js.map +1 -1
  728. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.d.ts +1 -1
  729. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js +6 -4
  730. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  731. package/esm/plugin/components/tooltip-handler/dom/utils/common.d.ts +3 -0
  732. package/esm/plugin/components/tooltip-handler/dom/utils/common.js +22 -0
  733. package/esm/plugin/components/tooltip-handler/dom/utils/common.js.map +1 -0
  734. package/esm/plugin/components/tooltip-handler/dom/utils/index.d.ts +2 -0
  735. package/esm/plugin/components/tooltip-handler/dom/utils/index.js +4 -0
  736. package/esm/plugin/components/tooltip-handler/dom/utils/index.js.map +1 -0
  737. package/esm/plugin/components/tooltip-handler/dom/utils/style.d.ts +4 -0
  738. package/esm/plugin/components/tooltip-handler/dom/{util.js → utils/style.js} +11 -19
  739. package/esm/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -0
  740. package/esm/plugin/components/tooltip-handler/interface/style.d.ts +5 -0
  741. package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  742. package/esm/plugin/components/tooltip-handler/utils/attribute.d.ts +3 -3
  743. package/esm/plugin/components/tooltip-handler/utils/attribute.js +15 -11
  744. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  745. package/esm/plugin/components/tooltip-handler/utils/common.d.ts +3 -2
  746. package/esm/plugin/components/tooltip-handler/utils/common.js +8 -12
  747. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  748. package/esm/plugin/components/tooltip-handler/utils/compose.js +3 -3
  749. package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  750. package/esm/plugin/components/tooltip-handler/utils/get-spec.js +5 -24
  751. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  752. package/esm/plugin/components/tooltip-handler/utils/position.js +13 -15
  753. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  754. package/esm/region/region.js +5 -9
  755. package/esm/region/region.js.map +1 -1
  756. package/esm/series/area/animation.js +2 -4
  757. package/esm/series/area/animation.js.map +1 -1
  758. package/esm/series/area/area-transformer.js +2 -4
  759. package/esm/series/area/area-transformer.js.map +1 -1
  760. package/esm/series/area/area.js +6 -8
  761. package/esm/series/area/area.js.map +1 -1
  762. package/esm/series/area/constant.js +3 -7
  763. package/esm/series/area/constant.js.map +1 -1
  764. package/esm/series/bar/animation.js +2 -4
  765. package/esm/series/bar/animation.js.map +1 -1
  766. package/esm/series/bar/bar-3d.js +3 -5
  767. package/esm/series/bar/bar-3d.js.map +1 -1
  768. package/esm/series/bar/bar-transformer.js +1 -3
  769. package/esm/series/bar/bar-transformer.js.map +1 -1
  770. package/esm/series/bar/bar.js +14 -18
  771. package/esm/series/bar/bar.js.map +1 -1
  772. package/esm/series/bar/constant.js +9 -13
  773. package/esm/series/bar/constant.js.map +1 -1
  774. package/esm/series/base/base-series.d.ts +3 -2
  775. package/esm/series/base/base-series.js +18 -12
  776. package/esm/series/base/base-series.js.map +1 -1
  777. package/esm/series/base/constant.js +3 -7
  778. package/esm/series/base/constant.js.map +1 -1
  779. package/esm/series/base/tooltip-helper.d.ts +3 -1
  780. package/esm/series/base/tooltip-helper.js +13 -4
  781. package/esm/series/base/tooltip-helper.js.map +1 -1
  782. package/esm/series/box-plot/box-plot.js +7 -9
  783. package/esm/series/box-plot/box-plot.js.map +1 -1
  784. package/esm/series/box-plot/constant.js +6 -10
  785. package/esm/series/box-plot/constant.js.map +1 -1
  786. package/esm/series/cartesian/cartesian.js +9 -12
  787. package/esm/series/cartesian/cartesian.js.map +1 -1
  788. package/esm/series/circle-packing/circle-packing.js +2 -4
  789. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  790. package/esm/series/circle-packing/constant.js +3 -7
  791. package/esm/series/circle-packing/constant.js.map +1 -1
  792. package/esm/series/correlation/constant.js +12 -16
  793. package/esm/series/correlation/constant.js.map +1 -1
  794. package/esm/series/correlation/correlation-transformer.js +1 -3
  795. package/esm/series/correlation/correlation-transformer.js.map +1 -1
  796. package/esm/series/correlation/correlation.js +2 -2
  797. package/esm/series/correlation/correlation.js.map +1 -1
  798. package/esm/series/dot/constant.js +21 -25
  799. package/esm/series/dot/constant.js.map +1 -1
  800. package/esm/series/dot/dot.js +1 -3
  801. package/esm/series/dot/dot.js.map +1 -1
  802. package/esm/series/funnel/3d/funnel-3d-transformer.js +1 -3
  803. package/esm/series/funnel/3d/funnel-3d-transformer.js.map +1 -1
  804. package/esm/series/funnel/3d/funnel-3d.js +4 -6
  805. package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
  806. package/esm/series/funnel/constant.js +30 -34
  807. package/esm/series/funnel/constant.js.map +1 -1
  808. package/esm/series/funnel/funnel-transformer.js +1 -3
  809. package/esm/series/funnel/funnel-transformer.js.map +1 -1
  810. package/esm/series/funnel/funnel.js +7 -11
  811. package/esm/series/funnel/funnel.js.map +1 -1
  812. package/esm/series/funnel/tooltip-helper.js +3 -5
  813. package/esm/series/funnel/tooltip-helper.js.map +1 -1
  814. package/esm/series/gauge/constant.js +15 -19
  815. package/esm/series/gauge/constant.js.map +1 -1
  816. package/esm/series/gauge/gauge-pointer.js +4 -6
  817. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  818. package/esm/series/gauge/gauge-transformer.js +1 -3
  819. package/esm/series/gauge/gauge-transformer.js.map +1 -1
  820. package/esm/series/gauge/gauge.js +2 -2
  821. package/esm/series/gauge/gauge.js.map +1 -1
  822. package/esm/series/heatmap/constant.js +6 -10
  823. package/esm/series/heatmap/constant.js.map +1 -1
  824. package/esm/series/heatmap/heatmap-transformer.js +1 -3
  825. package/esm/series/heatmap/heatmap-transformer.js.map +1 -1
  826. package/esm/series/heatmap/heatmap.js +2 -2
  827. package/esm/series/heatmap/heatmap.js.map +1 -1
  828. package/esm/series/interface/common.d.ts +1 -0
  829. package/esm/series/interface/common.js.map +1 -1
  830. package/esm/series/interface/type.d.ts +1 -2
  831. package/esm/series/interface/type.js +0 -2
  832. package/esm/series/interface/type.js.map +1 -1
  833. package/esm/series/line/animation.js +2 -4
  834. package/esm/series/line/animation.js.map +1 -1
  835. package/esm/series/line/line.js +3 -3
  836. package/esm/series/line/line.js.map +1 -1
  837. package/esm/series/link/constant.js +9 -13
  838. package/esm/series/link/constant.js.map +1 -1
  839. package/esm/series/link/link.js +1 -3
  840. package/esm/series/link/link.js.map +1 -1
  841. package/esm/series/liquid/constant.js +9 -13
  842. package/esm/series/liquid/constant.js.map +1 -1
  843. package/esm/series/liquid/liquid.js +2 -2
  844. package/esm/series/liquid/liquid.js.map +1 -1
  845. package/esm/series/map/constant.js +3 -7
  846. package/esm/series/map/constant.js.map +1 -1
  847. package/esm/series/map/map-transformer.js +1 -3
  848. package/esm/series/map/map-transformer.js.map +1 -1
  849. package/esm/series/map/map.js +2 -2
  850. package/esm/series/map/map.js.map +1 -1
  851. package/esm/series/mixin/constant.js +6 -10
  852. package/esm/series/mixin/constant.js.map +1 -1
  853. package/esm/series/mixin/line-mixin-transformer.js +2 -4
  854. package/esm/series/mixin/line-mixin-transformer.js.map +1 -1
  855. package/esm/series/mixin/line-mixin.js +5 -9
  856. package/esm/series/mixin/line-mixin.js.map +1 -1
  857. package/esm/series/pie/3d/pie-3d-transformer.js +1 -3
  858. package/esm/series/pie/3d/pie-3d-transformer.js.map +1 -1
  859. package/esm/series/pie/3d/pie-3d.js +3 -5
  860. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  861. package/esm/series/pie/constant.js +12 -16
  862. package/esm/series/pie/constant.js.map +1 -1
  863. package/esm/series/pie/pie-transformer.js +1 -3
  864. package/esm/series/pie/pie-transformer.js.map +1 -1
  865. package/esm/series/pie/pie.js +4 -6
  866. package/esm/series/pie/pie.js.map +1 -1
  867. package/esm/series/polar/progress-like/constant.js +3 -7
  868. package/esm/series/polar/progress-like/constant.js.map +1 -1
  869. package/esm/series/progress/circular/circular.js +3 -3
  870. package/esm/series/progress/circular/circular.js.map +1 -1
  871. package/esm/series/progress/circular/constant.js +6 -10
  872. package/esm/series/progress/circular/constant.js.map +1 -1
  873. package/esm/series/progress/linear/animation.js +2 -4
  874. package/esm/series/progress/linear/animation.js.map +1 -1
  875. package/esm/series/progress/linear/constant.js +9 -13
  876. package/esm/series/progress/linear/constant.js.map +1 -1
  877. package/esm/series/progress/linear/linear.js +3 -3
  878. package/esm/series/progress/linear/linear.js.map +1 -1
  879. package/esm/series/radar/constant.js +3 -7
  880. package/esm/series/radar/constant.js.map +1 -1
  881. package/esm/series/radar/radar.js +2 -2
  882. package/esm/series/radar/radar.js.map +1 -1
  883. package/esm/series/range-area/range-area.js +2 -4
  884. package/esm/series/range-area/range-area.js.map +1 -1
  885. package/esm/series/range-area/tooltip-helper.js +1 -3
  886. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  887. package/esm/series/range-column/3d/range-column-3d-transformer.js +1 -5
  888. package/esm/series/range-column/3d/range-column-3d-transformer.js.map +1 -1
  889. package/esm/series/range-column/3d/range-column-3d.js +1 -3
  890. package/esm/series/range-column/3d/range-column-3d.js.map +1 -1
  891. package/esm/series/range-column/constant.js +12 -16
  892. package/esm/series/range-column/constant.js.map +1 -1
  893. package/esm/series/range-column/interface.d.ts +2 -2
  894. package/esm/series/range-column/interface.js.map +1 -1
  895. package/esm/series/range-column/range-column-transformer.js +1 -5
  896. package/esm/series/range-column/range-column-transformer.js.map +1 -1
  897. package/esm/series/range-column/range-column.js +9 -15
  898. package/esm/series/range-column/range-column.js.map +1 -1
  899. package/esm/series/range-column/tooltip-helper.js +1 -3
  900. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  901. package/esm/series/rose/constant.js +3 -7
  902. package/esm/series/rose/constant.js.map +1 -1
  903. package/esm/series/rose/rose-transformer.js +1 -3
  904. package/esm/series/rose/rose-transformer.js.map +1 -1
  905. package/esm/series/rose/rose.js +2 -2
  906. package/esm/series/rose/rose.js.map +1 -1
  907. package/esm/series/sankey/animation.js +4 -6
  908. package/esm/series/sankey/animation.js.map +1 -1
  909. package/esm/series/sankey/constant.js +6 -10
  910. package/esm/series/sankey/constant.js.map +1 -1
  911. package/esm/series/sankey/sankey.js +4 -4
  912. package/esm/series/sankey/sankey.js.map +1 -1
  913. package/esm/series/scatter/constant.js +3 -7
  914. package/esm/series/scatter/constant.js.map +1 -1
  915. package/esm/series/scatter/scatter-transformer.js +1 -3
  916. package/esm/series/scatter/scatter-transformer.js.map +1 -1
  917. package/esm/series/scatter/scatter.js +2 -2
  918. package/esm/series/scatter/scatter.js.map +1 -1
  919. package/esm/series/sunburst/constant.js +3 -7
  920. package/esm/series/sunburst/constant.js.map +1 -1
  921. package/esm/series/sunburst/sunburst.js +2 -4
  922. package/esm/series/sunburst/sunburst.js.map +1 -1
  923. package/esm/series/treemap/constant.js +9 -13
  924. package/esm/series/treemap/constant.js.map +1 -1
  925. package/esm/series/treemap/treemap-transform.js +2 -4
  926. package/esm/series/treemap/treemap-transform.js.map +1 -1
  927. package/esm/series/treemap/treemap.js +4 -6
  928. package/esm/series/treemap/treemap.js.map +1 -1
  929. package/esm/series/util/label-mark.js +4 -6
  930. package/esm/series/util/label-mark.js.map +1 -1
  931. package/esm/series/waterfall/constant.js +6 -10
  932. package/esm/series/waterfall/constant.js.map +1 -1
  933. package/esm/series/waterfall/waterfall-transformer.js +1 -3
  934. package/esm/series/waterfall/waterfall-transformer.js.map +1 -1
  935. package/esm/series/waterfall/waterfall.js +6 -8
  936. package/esm/series/waterfall/waterfall.js.map +1 -1
  937. package/esm/series/word-cloud/base.js +1 -3
  938. package/esm/series/word-cloud/base.js.map +1 -1
  939. package/esm/series/word-cloud/constant.js +6 -10
  940. package/esm/series/word-cloud/constant.js.map +1 -1
  941. package/esm/series/word-cloud/interface.d.ts +2 -11
  942. package/esm/series/word-cloud/interface.js +1 -8
  943. package/esm/series/word-cloud/interface.js.map +1 -1
  944. package/esm/series/word-cloud/word-cloud-3d.js +2 -2
  945. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  946. package/esm/theme/builtin/common/series/rangeColumn.js +2 -4
  947. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  948. package/esm/typings/shape.d.ts +0 -21
  949. package/esm/typings/shape.js +1 -14
  950. package/esm/typings/shape.js.map +1 -1
  951. package/esm/typings/space.d.ts +1 -1
  952. package/esm/typings/space.js.map +1 -1
  953. package/esm/typings/spec/common.d.ts +2 -0
  954. package/esm/typings/spec/common.js.map +1 -1
  955. package/esm/typings/tooltip/position.d.ts +2 -2
  956. package/esm/typings/tooltip/position.js.map +1 -1
  957. package/esm/vchart-all.js +1 -3
  958. package/esm/vchart-all.js.map +1 -1
  959. package/package.json +17 -16
  960. package/cjs/plugin/components/tooltip-handler/dom/util.d.ts +0 -6
  961. package/cjs/plugin/components/tooltip-handler/dom/util.js +0 -96
  962. package/cjs/plugin/components/tooltip-handler/dom/util.js.map +0 -1
  963. package/esm/plugin/components/tooltip-handler/dom/util.d.ts +0 -6
  964. package/esm/plugin/components/tooltip-handler/dom/util.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { BaseTooltipModel } from './base-tooltip-model';
2
2
  import { ContentColumnModel } from './content-column-model';
3
- import type { Maybe } from '@visactor/vutils';
3
+ import { type Maybe } from '@visactor/vutils';
4
4
  export declare class ContentModel extends BaseTooltipModel {
5
5
  shapeBox: Maybe<ContentColumnModel>;
6
6
  keyBox: Maybe<ContentColumnModel>;
@@ -11,5 +11,6 @@ export declare class ContentModel extends BaseTooltipModel {
11
11
  private _initValueBox;
12
12
  setStyle(style?: Partial<CSSStyleDeclaration>): void;
13
13
  setContent(): void;
14
+ protected _getContentContainerStyle(): Partial<CSSStyleDeclaration>;
14
15
  release(): void;
15
16
  }
@@ -1,11 +1,13 @@
1
- import { defaultContentContainerStyle } from "./style-constants";
2
-
3
1
  import { BaseTooltipModel } from "./base-tooltip-model";
4
2
 
5
3
  import { ContentColumnModel } from "./content-column-model";
6
4
 
5
+ import { isValid } from "@visactor/vutils";
6
+
7
7
  import { mergeSpec } from "../../../../../util/spec/merge-spec";
8
8
 
9
+ import { getPixelPropertyStr, getScrollbarWidth, pixelPropertyStrToNumber } from "../utils";
10
+
9
11
  export class ContentModel extends BaseTooltipModel {
10
12
  init() {
11
13
  this.product || (this.product = this.createElement("div", [ "container-box" ])),
@@ -24,7 +26,7 @@ export class ContentModel extends BaseTooltipModel {
24
26
  valueBox.init(), this.valueBox = valueBox, this.children[valueBox.childIndex] = valueBox;
25
27
  }
26
28
  setStyle(style) {
27
- super.setStyle(mergeSpec({}, defaultContentContainerStyle, style)), Object.values(this.children).forEach((c => {
29
+ super.setStyle(mergeSpec(this._getContentContainerStyle(), style)), Object.values(this.children).forEach((c => {
28
30
  c.setStyle();
29
31
  }));
30
32
  }
@@ -33,6 +35,21 @@ export class ContentModel extends BaseTooltipModel {
33
35
  c.setContent();
34
36
  }));
35
37
  }
38
+ _getContentContainerStyle() {
39
+ const defaultStyle = {
40
+ whiteSpace: "nowrap",
41
+ lineHeight: "0px"
42
+ }, {panelDomHeight: panelDomHeight, panel: panelAttribute, maxContentHeight: maxContentHeight} = this._option.getTooltipAttributes();
43
+ if (isValid(maxContentHeight) && panelDomHeight < panelAttribute.height) {
44
+ const {shapeColumn: shapeColumn = {}, keyColumn: keyColumn = {}, valueColumn: valueColumn = {}, panel: panel = {}} = this._option.getTooltipStyle(), width = [ shapeColumn.width, shapeColumn.marginRight, keyColumn.width, keyColumn.marginRight, valueColumn.width, valueColumn.marginRight, panel.paddingRight ].reduce(((sum, cur) => sum + pixelPropertyStrToNumber(cur)), 0);
45
+ return Object.assign(Object.assign({}, defaultStyle), {
46
+ width: `${width + getScrollbarWidth(this._option.getContainer())}px`,
47
+ maxHeight: getPixelPropertyStr(maxContentHeight),
48
+ overflow: "auto"
49
+ });
50
+ }
51
+ return defaultStyle;
52
+ }
36
53
  release() {
37
54
  super.release(), this.shapeBox = null, this.keyBox = null, this.valueBox = null;
38
55
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/model/content-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAKhD,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAEO,aAAa;QACnB,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACrF,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IAChD,CAAC;IAEO,WAAW;QACjB,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;IAC5C,CAAC;IAEO,aAAa;QACnB,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACrF,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,KAAoC;QAC3C,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvC,CAAC,CAAC,UAAU,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF","file":"content-model.js","sourcesContent":["import { defaultContentContainerStyle } from './style-constants';\nimport { BaseTooltipModel } from './base-tooltip-model';\nimport { ContentColumnModel } from './content-column-model';\nimport type { Maybe } from '@visactor/vutils';\nimport { mergeSpec } from '../../../../../util/spec/merge-spec';\n\nexport class ContentModel extends BaseTooltipModel {\n shapeBox: Maybe<ContentColumnModel>;\n keyBox: Maybe<ContentColumnModel>;\n valueBox: Maybe<ContentColumnModel>;\n\n init(): void {\n if (!this.product) {\n this.product = this.createElement('div', ['container-box']);\n }\n if (!this.shapeBox) {\n this._initShapeBox();\n }\n if (!this.keyBox) {\n this._initKeyBox();\n }\n if (!this.valueBox) {\n this._initValueBox();\n }\n }\n\n private _initShapeBox() {\n const shapeBox = new ContentColumnModel(this.product!, this._option, 'shape-box', 0);\n shapeBox.init();\n this.shapeBox = shapeBox;\n this.children[shapeBox.childIndex] = shapeBox;\n }\n\n private _initKeyBox() {\n const keyBox = new ContentColumnModel(this.product!, this._option, 'key-box', 1);\n keyBox.init();\n this.keyBox = keyBox;\n this.children[keyBox.childIndex] = keyBox;\n }\n\n private _initValueBox() {\n const valueBox = new ContentColumnModel(this.product!, this._option, 'value-box', 2);\n valueBox.init();\n this.valueBox = valueBox;\n this.children[valueBox.childIndex] = valueBox;\n }\n\n setStyle(style?: Partial<CSSStyleDeclaration>): void {\n super.setStyle(mergeSpec({}, defaultContentContainerStyle, style));\n Object.values(this.children).forEach(c => {\n c.setStyle();\n });\n }\n\n setContent(): void {\n Object.values(this.children).forEach(c => {\n c.setContent();\n });\n }\n\n release(): void {\n super.release();\n this.shapeBox = null;\n this.keyBox = null;\n this.valueBox = null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/model/content-model.ts"],"names":[],"mappings":"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","file":"content-model.js","sourcesContent":["import { BaseTooltipModel } from './base-tooltip-model';\nimport { ContentColumnModel } from './content-column-model';\nimport { isValid, type Maybe } from '@visactor/vutils';\nimport { mergeSpec } from '../../../../../util/spec/merge-spec';\nimport { getPixelPropertyStr, getScrollbarWidth, pixelPropertyStrToNumber } from '../utils';\n\nexport class ContentModel extends BaseTooltipModel {\n shapeBox: Maybe<ContentColumnModel>;\n keyBox: Maybe<ContentColumnModel>;\n valueBox: Maybe<ContentColumnModel>;\n\n init(): void {\n if (!this.product) {\n this.product = this.createElement('div', ['container-box']);\n }\n if (!this.shapeBox) {\n this._initShapeBox();\n }\n if (!this.keyBox) {\n this._initKeyBox();\n }\n if (!this.valueBox) {\n this._initValueBox();\n }\n }\n\n private _initShapeBox() {\n const shapeBox = new ContentColumnModel(this.product!, this._option, 'shape-box', 0);\n shapeBox.init();\n this.shapeBox = shapeBox;\n this.children[shapeBox.childIndex] = shapeBox;\n }\n\n private _initKeyBox() {\n const keyBox = new ContentColumnModel(this.product!, this._option, 'key-box', 1);\n keyBox.init();\n this.keyBox = keyBox;\n this.children[keyBox.childIndex] = keyBox;\n }\n\n private _initValueBox() {\n const valueBox = new ContentColumnModel(this.product!, this._option, 'value-box', 2);\n valueBox.init();\n this.valueBox = valueBox;\n this.children[valueBox.childIndex] = valueBox;\n }\n\n setStyle(style?: Partial<CSSStyleDeclaration>): void {\n super.setStyle(mergeSpec(this._getContentContainerStyle(), style));\n Object.values(this.children).forEach(c => {\n c.setStyle();\n });\n }\n\n setContent(): void {\n Object.values(this.children).forEach(c => {\n c.setContent();\n });\n }\n\n protected _getContentContainerStyle(): Partial<CSSStyleDeclaration> {\n const defaultStyle = {\n whiteSpace: 'nowrap',\n lineHeight: '0px'\n };\n\n const { panelDomHeight, panel: panelAttribute, maxContentHeight } = this._option.getTooltipAttributes();\n if (isValid(maxContentHeight) && panelDomHeight < panelAttribute.height) {\n const { shapeColumn = {}, keyColumn = {}, valueColumn = {}, panel = {} } = this._option.getTooltipStyle();\n const width = [\n shapeColumn.width,\n shapeColumn.marginRight,\n keyColumn.width,\n keyColumn.marginRight,\n valueColumn.width,\n valueColumn.marginRight,\n panel.paddingRight\n ].reduce((sum, cur) => sum + <number>pixelPropertyStrToNumber(cur), 0);\n return {\n ...defaultStyle,\n width: `${width + getScrollbarWidth(this._option.getContainer())}px`,\n maxHeight: getPixelPropertyStr(maxContentHeight),\n overflow: 'auto'\n };\n }\n return defaultStyle;\n }\n\n release(): void {\n super.release();\n this.shapeBox = null;\n this.keyBox = null;\n this.valueBox = null;\n }\n}\n"]}
@@ -1,9 +1,10 @@
1
- import type { TooltipAttributes } from '@visactor/vrender-components';
2
1
  import type { IToolTipActual, Maybe } from '../../../../../typings';
3
2
  import type { IDomTooltipStyle } from '../interface';
3
+ import type { ITooltipAttributes } from '../../interface';
4
4
  export interface ITooltipModelOption {
5
5
  valueToHtml: (value: any) => string;
6
6
  getTooltipStyle: () => IDomTooltipStyle;
7
7
  getTooltipActual: () => Maybe<IToolTipActual>;
8
- getTooltipAttributes: () => Maybe<TooltipAttributes>;
8
+ getTooltipAttributes: () => Maybe<ITooltipAttributes>;
9
+ getContainer: () => HTMLElement;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/model/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { TooltipAttributes } from '@visactor/vrender-components';\nimport type { IToolTipActual, Maybe } from '../../../../../typings';\nimport type { IDomTooltipStyle } from '../interface';\n\nexport interface ITooltipModelOption {\n valueToHtml: (value: any) => string;\n getTooltipStyle: () => IDomTooltipStyle;\n getTooltipActual: () => Maybe<IToolTipActual>;\n getTooltipAttributes: () => Maybe<TooltipAttributes>;\n}\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/model/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IToolTipActual, Maybe } from '../../../../../typings';\nimport type { IDomTooltipStyle } from '../interface';\nimport type { ITooltipAttributes } from '../../interface';\n\nexport interface ITooltipModelOption {\n valueToHtml: (value: any) => string;\n getTooltipStyle: () => IDomTooltipStyle;\n getTooltipActual: () => Maybe<IToolTipActual>;\n getTooltipAttributes: () => Maybe<ITooltipAttributes>;\n getContainer: () => HTMLElement;\n}\n"]}
@@ -4,7 +4,7 @@ import { isObject, isString } from "@visactor/vutils";
4
4
 
5
5
  import { BaseTooltipModel } from "./base-tooltip-model";
6
6
 
7
- import { pixelPropertyStrToNumber } from "../util";
7
+ import { pixelPropertyStrToNumber } from "../utils";
8
8
 
9
9
  export class ShapeModel extends BaseTooltipModel {
10
10
  init(classList, id, tag) {
@@ -28,21 +28,25 @@ export class ShapeModel extends BaseTooltipModel {
28
28
  }
29
29
  }
30
30
 
31
+ const builtInShape = {
32
+ star: "M0 -1L0.22451398828979266 -0.3090169943749474L0.9510565162951535 -0.30901699437494745L0.3632712640026804 0.1180339887498948L0.5877852522924732 0.8090169943749473L8.326672684688674e-17 0.3819660112501051L-0.587785252292473 0.8090169943749476L-0.3632712640026804 0.11803398874989487L-0.9510565162951536 -0.30901699437494723L-0.22451398828979274 -0.30901699437494734Z"
33
+ };
34
+
31
35
  function getSvgHtml(option, valueToHtml) {
32
36
  var _a, _b, _c, _d, _e, _f, _g;
33
37
  if (!(null == option ? void 0 : option.hasShape) || !option.symbolType) return "";
34
38
  const {symbolType: symbolType, fill: fill, stroke: stroke, hollow: hollow = !1} = option, size = option.size ? valueToHtml(option.size) : "8px", marginTop = option.marginTop ? valueToHtml(option.marginTop) : "0px", lineWidth = option.lineWidth ? valueToHtml(option.lineWidth) + "px" : "0px";
35
39
  let fillString = "currentColor";
36
- const getStroke = () => stroke ? valueToHtml(stroke) : fillString, symbol = new Symbol({
40
+ const getStroke = () => stroke ? valueToHtml(stroke) : fillString, sizeNumber = pixelPropertyStrToNumber(size), createSymbol = symbolType => new Symbol({
37
41
  symbolType: symbolType,
38
- size: pixelPropertyStrToNumber(size),
42
+ size: sizeNumber,
39
43
  fill: !0
40
- }), pathModel = null !== (_a = symbol.getParsedPath().path) && void 0 !== _a ? _a : symbol.getParsedPath().pathStr, path = pathModel.toString();
41
- let viewBox = "-0.5 -0.5 1 1";
42
- if (!isString(pathModel)) {
43
- const bounds = pathModel.bounds;
44
- viewBox = `${bounds.x1} ${bounds.y1} ${bounds.width()} ${bounds.height()}`;
45
- }
44
+ });
45
+ let symbol = createSymbol(null !== (_a = builtInShape[symbolType]) && void 0 !== _a ? _a : symbolType);
46
+ const parsedPath = symbol.getParsedPath();
47
+ parsedPath.path || (symbol = createSymbol(parsedPath.pathStr));
48
+ const pathModel = symbol.getParsedPath().path, path = pathModel.toString(), bounds = pathModel.bounds;
49
+ let viewBox = `${bounds.x1} ${bounds.y1} ${bounds.width()} ${bounds.height()}`;
46
50
  if ("0px" !== lineWidth) {
47
51
  const [x, y, w, h] = viewBox.split(" ").map((n => Number(n))), lw = Number(lineWidth.slice(0, -2));
48
52
  viewBox = `${x - lw / 2} ${y - lw / 2} ${w + lw} ${h + lw}`;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/model/shape-model.ts"],"names":[],"mappings":"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","file":"shape-model.js","sourcesContent":["import type { IGradientColor, ILinearGradient } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { Symbol } from '@visactor/vrender-core';\n\nimport { isObject, isString } from '@visactor/vutils';\nimport type { ShapeType } from '../../../../../typings';\nimport { BaseTooltipModel } from './base-tooltip-model';\nimport { pixelPropertyStrToNumber } from '../util';\n\nexport interface IShapeSvgOption {\n hasShape?: boolean;\n symbolType?: ShapeType | string;\n size?: string;\n fill?: string | IGradientColor;\n stroke?: string;\n lineWidth?: number;\n hollow?: boolean;\n marginTop?: string;\n index?: number;\n}\n\nexport class ShapeModel extends BaseTooltipModel {\n svg: SVGElement;\n\n private _svgHtmlCache: string;\n\n init(classList?: string[], id?: string, tag?: keyof HTMLElementTagNameMap): void {\n if (!this.product) {\n const container = this.createElement(tag ?? 'div', [...(classList ?? []), 'shape'], undefined, id);\n this.product = container;\n }\n }\n\n setStyle(style?: Partial<CSSStyleDeclaration>, option?: IShapeSvgOption): void {\n super.setStyle(style);\n this.setSvg(option);\n }\n\n setContent(option: IShapeSvgOption) {\n this.setSvg(option);\n }\n\n setSvg(option?: IShapeSvgOption) {\n const html = getSvgHtml(option, this._option.valueToHtml);\n if (this.product && html !== this._svgHtmlCache) {\n this._svgHtmlCache = html;\n this.product.innerHTML = html;\n }\n }\n\n release(): void {\n super.release();\n this._svgHtmlCache = '';\n }\n}\n\nfunction getSvgHtml(option: IShapeSvgOption | undefined, valueToHtml: (value: any) => string) {\n if (!option?.hasShape || !option.symbolType) {\n return '';\n }\n\n const { symbolType, fill, stroke, hollow = false } = option;\n const size = option.size ? valueToHtml(option.size) : '8px';\n const marginTop = option.marginTop ? valueToHtml(option.marginTop) : '0px';\n const lineWidth = option.lineWidth ? valueToHtml(option.lineWidth) + 'px' : '0px';\n let fillString: string = 'currentColor';\n const getStroke = () => (stroke ? valueToHtml(stroke) : fillString);\n\n const symbol = new Symbol({ symbolType, size: pixelPropertyStrToNumber(size) as number, fill: true });\n const pathModel = symbol.getParsedPath().path ?? symbol.getParsedPath().pathStr;\n const path = pathModel.toString();\n let viewBox = '-0.5 -0.5 1 1';\n if (!isString(pathModel)) {\n const bounds = pathModel.bounds;\n viewBox = `${bounds.x1} ${bounds.y1} ${bounds.width()} ${bounds.height()}`;\n }\n\n // svg 不支持内描边,需要手动将描边空间预留在 viewBox 上\n if (lineWidth !== '0px') {\n const [x, y, w, h] = viewBox.split(' ').map(n => Number(n));\n const lw = Number(lineWidth.slice(0, -2));\n viewBox = `${x - lw / 2} ${y - lw / 2} ${w + lw} ${h + lw}`;\n }\n\n if (!fill || isString(fill) || hollow) {\n fillString = hollow ? 'none' : fill ? valueToHtml(fill) : 'currentColor';\n return `\n <svg width=\"${size}\" height=\"${size}\" viewBox=\"${viewBox}\"\n style=\"display: inline-block; vertical-align: middle; margin-top: ${marginTop};\">\n <path\n d=\"${path}\"\n style=\"fill: ${fillString}; stroke: ${getStroke()}; stroke-width: ${lineWidth}\"\n >\n </path>\n </svg>`;\n }\n if (isObject(fill)) {\n fillString = 'gradientColor' + option.index ?? '';\n let gradient = '';\n const stops = (fill.stops ?? [])\n .map(s => `<stop offset=\"${valueToHtml(s.offset.toString())}\" stop-color=\"${valueToHtml(s.color)}\"/>`)\n .join('');\n if ((fill as IGradientColor).gradient === 'radial') {\n gradient = `<radialGradient id=\"${fillString}\" cx=\"50%\" cy=\"50%\" r=\"50%\" fx=\"0%\" fy=\"0%\">\n ${stops}\n </radialGradient>`;\n } else if ((fill as IGradientColor).gradient === 'linear') {\n gradient = `<linearGradient id=\"${fillString}\" x1=\"${\n (((fill as ILinearGradient).x0 as number) ?? 0) * 100\n }%\" y1=\"${(((fill as ILinearGradient).y0 as number) ?? 0) * 100}%\" x2=\"${\n (((fill as ILinearGradient).x1 as number) ?? 0) * 100\n }%\" y2=\"${(((fill as ILinearGradient).y1 as number) ?? 0) * 100}%\">\n ${stops}\n </linearGradient>`;\n }\n return `\n <svg width=\"${size}\" height=\"${size}\" viewBox=\"-0.5 -0.5 1 1\"\n style=\"display: inline-block; vertical-align: middle; margin-top: ${marginTop};\">\n ${gradient}\n <path\n d=\"${path}\"\n style=\"fill: url(#${fillString}); stroke: ${getStroke()}; stroke-width: ${lineWidth}\"\n >\n </path>\n </svg>`;\n }\n\n return '';\n}\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/model/shape-model.ts"],"names":[],"mappings":"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","file":"shape-model.js","sourcesContent":["import type { IGradientColor, ILinearGradient } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { Symbol } from '@visactor/vrender-core';\n\nimport { isObject, isString } from '@visactor/vutils';\nimport type { ShapeType } from '../../../../../typings';\nimport { BaseTooltipModel } from './base-tooltip-model';\nimport { pixelPropertyStrToNumber } from '../utils';\n\nexport interface IShapeSvgOption {\n hasShape?: boolean;\n symbolType?: ShapeType | string;\n size?: string;\n fill?: string | IGradientColor;\n stroke?: string;\n lineWidth?: number;\n hollow?: boolean;\n marginTop?: string;\n index?: number;\n}\n\nexport class ShapeModel extends BaseTooltipModel {\n svg: SVGElement;\n\n private _svgHtmlCache: string;\n\n init(classList?: string[], id?: string, tag?: keyof HTMLElementTagNameMap): void {\n if (!this.product) {\n const container = this.createElement(tag ?? 'div', [...(classList ?? []), 'shape'], undefined, id);\n this.product = container;\n }\n }\n\n setStyle(style?: Partial<CSSStyleDeclaration>, option?: IShapeSvgOption): void {\n super.setStyle(style);\n this.setSvg(option);\n }\n\n setContent(option: IShapeSvgOption) {\n this.setSvg(option);\n }\n\n setSvg(option?: IShapeSvgOption) {\n const html = getSvgHtml(option, this._option.valueToHtml);\n if (this.product && html !== this._svgHtmlCache) {\n this._svgHtmlCache = html;\n this.product.innerHTML = html;\n }\n }\n\n release(): void {\n super.release();\n this._svgHtmlCache = '';\n }\n}\n\nconst builtInShape = {\n // FIXME: vrender 的五角星是用 canvas api 画出来的,没有内置的 path。这里先覆盖一下,等 vrender 修复\n // eslint-disable-next-line max-len\n star: 'M0 -1L0.22451398828979266 -0.3090169943749474L0.9510565162951535 -0.30901699437494745L0.3632712640026804 0.1180339887498948L0.5877852522924732 0.8090169943749473L8.326672684688674e-17 0.3819660112501051L-0.587785252292473 0.8090169943749476L-0.3632712640026804 0.11803398874989487L-0.9510565162951536 -0.30901699437494723L-0.22451398828979274 -0.30901699437494734Z'\n};\n\nfunction getSvgHtml(option: IShapeSvgOption | undefined, valueToHtml: (value: any) => string) {\n if (!option?.hasShape || !option.symbolType) {\n return '';\n }\n\n const { symbolType, fill, stroke, hollow = false } = option;\n const size = option.size ? valueToHtml(option.size) : '8px';\n const marginTop = option.marginTop ? valueToHtml(option.marginTop) : '0px';\n const lineWidth = option.lineWidth ? valueToHtml(option.lineWidth) + 'px' : '0px';\n let fillString: string = 'currentColor';\n const getStroke = () => (stroke ? valueToHtml(stroke) : fillString);\n\n const sizeNumber = pixelPropertyStrToNumber(size) as number;\n const createSymbol = (symbolType: string) => new Symbol({ symbolType, size: sizeNumber, fill: true });\n\n let symbol = createSymbol(builtInShape[symbolType] ?? symbolType);\n const parsedPath = symbol.getParsedPath();\n if (!parsedPath.path) {\n symbol = createSymbol(parsedPath.pathStr);\n }\n const pathModel = symbol.getParsedPath().path;\n const path = pathModel.toString();\n const bounds = pathModel.bounds;\n let viewBox = `${bounds.x1} ${bounds.y1} ${bounds.width()} ${bounds.height()}`;\n\n // svg 不支持内描边,需要手动将描边空间预留在 viewBox 上\n if (lineWidth !== '0px') {\n const [x, y, w, h] = viewBox.split(' ').map(n => Number(n));\n const lw = Number(lineWidth.slice(0, -2));\n viewBox = `${x - lw / 2} ${y - lw / 2} ${w + lw} ${h + lw}`;\n }\n\n if (!fill || isString(fill) || hollow) {\n fillString = hollow ? 'none' : fill ? valueToHtml(fill) : 'currentColor';\n return `\n <svg width=\"${size}\" height=\"${size}\" viewBox=\"${viewBox}\"\n style=\"display: inline-block; vertical-align: middle; margin-top: ${marginTop};\">\n <path\n d=\"${path}\"\n style=\"fill: ${fillString}; stroke: ${getStroke()}; stroke-width: ${lineWidth}\"\n >\n </path>\n </svg>`;\n }\n if (isObject(fill)) {\n fillString = 'gradientColor' + option.index ?? '';\n let gradient = '';\n const stops = (fill.stops ?? [])\n .map(s => `<stop offset=\"${valueToHtml(s.offset.toString())}\" stop-color=\"${valueToHtml(s.color)}\"/>`)\n .join('');\n if ((fill as IGradientColor).gradient === 'radial') {\n gradient = `<radialGradient id=\"${fillString}\" cx=\"50%\" cy=\"50%\" r=\"50%\" fx=\"0%\" fy=\"0%\">\n ${stops}\n </radialGradient>`;\n } else if ((fill as IGradientColor).gradient === 'linear') {\n gradient = `<linearGradient id=\"${fillString}\" x1=\"${\n (((fill as ILinearGradient).x0 as number) ?? 0) * 100\n }%\" y1=\"${(((fill as ILinearGradient).y0 as number) ?? 0) * 100}%\" x2=\"${\n (((fill as ILinearGradient).x1 as number) ?? 0) * 100\n }%\" y2=\"${(((fill as ILinearGradient).y1 as number) ?? 0) * 100}%\">\n ${stops}\n </linearGradient>`;\n }\n return `\n <svg width=\"${size}\" height=\"${size}\" viewBox=\"-0.5 -0.5 1 1\"\n style=\"display: inline-block; vertical-align: middle; margin-top: ${marginTop};\">\n ${gradient}\n <path\n d=\"${path}\"\n style=\"fill: url(#${fillString}); stroke: ${getStroke()}; stroke-width: ${lineWidth}\"\n >\n </path>\n </svg>`;\n }\n\n return '';\n}\n"]}
@@ -1,6 +1,5 @@
1
1
  export declare const defaultH2Style: Partial<CSSStyleDeclaration>;
2
2
  export declare const defaultContainerStyle: Partial<CSSStyleDeclaration>;
3
- export declare const defaultContentContainerStyle: Partial<CSSStyleDeclaration>;
4
3
  export declare const defaultContentColumnStyle: Partial<CSSStyleDeclaration>;
5
4
  export declare const defaultKeyStyle: Partial<CSSStyleDeclaration>;
6
5
  export declare const defaultAdaptiveKeyStyle: Partial<CSSStyleDeclaration>;
@@ -8,16 +8,9 @@ export const defaultContainerStyle = {
8
8
  boxSizing: "border-box"
9
9
  };
10
10
 
11
- export const defaultContentContainerStyle = {
12
- display: "flex",
13
- whiteSpace: "nowrap"
14
- };
15
-
16
11
  export const defaultContentColumnStyle = {
17
- display: "flex",
18
- flexDirection: "column",
19
- justifyContent: "space-around",
20
- fontSize: "0"
12
+ display: "inline-block",
13
+ verticalAlign: "top"
21
14
  };
22
15
 
23
16
  export const defaultKeyStyle = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/model/style-constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,QAAQ,EAAE,MAAM;IAChB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAiC;IACjE,SAAS,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAiC;IACxE,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAiC;IACrE,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,cAAc,EAAE,cAAc;IAC9B,QAAQ,EAAE,GAAG;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAiC;IAC3D,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IAGpB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAiC;IACnE,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAiC;IAC7D,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IAEpB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAiC;IAC7D,UAAU,EAAE,QAAQ;CACrB,CAAC","file":"style-constants.js","sourcesContent":["export const defaultH2Style: Partial<CSSStyleDeclaration> = {\n fontSize: '13px',\n marginBottom: '0px',\n fontWeight: 'normal'\n};\n\nexport const defaultContainerStyle: Partial<CSSStyleDeclaration> = {\n boxSizing: 'border-box'\n};\n\nexport const defaultContentContainerStyle: Partial<CSSStyleDeclaration> = {\n display: 'flex',\n whiteSpace: 'nowrap'\n};\n\nexport const defaultContentColumnStyle: Partial<CSSStyleDeclaration> = {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n fontSize: '0'\n};\n\nexport const defaultKeyStyle: Partial<CSSStyleDeclaration> = {\n paddingTop: '0px',\n paddingBottom: '0px',\n // overflow: 'hidden',\n // textOverflow: 'ellipsis',\n textAlign: 'left',\n fontWeight: 'normal'\n};\n\nexport const defaultAdaptiveKeyStyle: Partial<CSSStyleDeclaration> = {\n paddingTop: '0px',\n paddingBottom: '0px',\n textAlign: 'left',\n fontWeight: 'normal'\n};\n\nexport const defaultValueStyle: Partial<CSSStyleDeclaration> = {\n paddingTop: '0px',\n paddingBottom: '0px',\n // overflow: 'hidden',\n textAlign: 'right',\n fontWeight: 'normal'\n};\n\nexport const defaultShapeStyle: Partial<CSSStyleDeclaration> = {\n lineHeight: 'normal'\n};\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/model/style-constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,QAAQ,EAAE,MAAM;IAChB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAiC;IACjE,SAAS,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAiC;IACrE,OAAO,EAAE,cAAc;IACvB,aAAa,EAAE,KAAK;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAiC;IAC3D,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IAGpB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAiC;IACnE,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAiC;IAC7D,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IAEpB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAiC;IAC7D,UAAU,EAAE,QAAQ;CACrB,CAAC","file":"style-constants.js","sourcesContent":["export const defaultH2Style: Partial<CSSStyleDeclaration> = {\n fontSize: '13px',\n marginBottom: '0px',\n fontWeight: 'normal'\n};\n\nexport const defaultContainerStyle: Partial<CSSStyleDeclaration> = {\n boxSizing: 'border-box'\n};\n\nexport const defaultContentColumnStyle: Partial<CSSStyleDeclaration> = {\n display: 'inline-block',\n verticalAlign: 'top'\n};\n\nexport const defaultKeyStyle: Partial<CSSStyleDeclaration> = {\n paddingTop: '0px',\n paddingBottom: '0px',\n // overflow: 'hidden',\n // textOverflow: 'ellipsis',\n textAlign: 'left',\n fontWeight: 'normal'\n};\n\nexport const defaultAdaptiveKeyStyle: Partial<CSSStyleDeclaration> = {\n paddingTop: '0px',\n paddingBottom: '0px',\n textAlign: 'left',\n fontWeight: 'normal'\n};\n\nexport const defaultValueStyle: Partial<CSSStyleDeclaration> = {\n paddingTop: '0px',\n paddingBottom: '0px',\n // overflow: 'hidden',\n textAlign: 'right',\n fontWeight: 'normal'\n};\n\nexport const defaultShapeStyle: Partial<CSSStyleDeclaration> = {\n lineHeight: 'normal'\n};\n"]}
@@ -7,7 +7,7 @@ export declare class TooltipModel extends BaseTooltipModel {
7
7
  content: ContentModel | null;
8
8
  private _classList;
9
9
  private _id;
10
- constructor(parent: BaseTooltipModel | HTMLElement, option: ITooltipModelOption, classList: string[], id: string);
10
+ constructor(option: ITooltipModelOption, classList: string[], id: string);
11
11
  setVisibility(visibility: boolean): void;
12
12
  init(): void;
13
13
  private _initPanel;
@@ -10,10 +10,12 @@ import { defaultContainerStyle } from "./style-constants";
10
10
 
11
11
  import { mergeSpec } from "../../../../../util/spec/merge-spec";
12
12
 
13
+ import { DEFAULT_TOOLTIP_Z_INDEX } from "../constant";
14
+
13
15
  export class TooltipModel extends BaseTooltipModel {
14
- constructor(parent, option, classList, id) {
15
- super(parent, option, 0), this.title = null, this.content = null, this._classList = classList,
16
- this._id = id;
16
+ constructor(option, classList, id) {
17
+ super(option.getContainer(), option, 0), this.title = null, this.content = null,
18
+ this._classList = classList, this._id = id;
17
19
  }
18
20
  setVisibility(visibility) {
19
21
  if (super.setVisibility(visibility), !this.product) return;
@@ -35,7 +37,7 @@ export class TooltipModel extends BaseTooltipModel {
35
37
  pointerEvents: "none",
36
38
  padding: "12px",
37
39
  position: "absolute",
38
- zIndex: "99999999999999",
40
+ zIndex: DEFAULT_TOOLTIP_Z_INDEX,
39
41
  fontFamily: "sans-serif",
40
42
  fontSize: "11px",
41
43
  borderRadius: "3px",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/model/tooltip-model.ts"],"names":[],"mappings":"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","file":"tooltip-model.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport { BaseTooltipModel } from './base-tooltip-model';\nimport { ContentModel } from './content-model';\nimport type { ITooltipModelOption } from './interface';\nimport { TitleModel } from './title-model';\nimport { defaultContainerStyle } from './style-constants';\nimport { mergeSpec } from '../../../../../util/spec/merge-spec';\n\nexport class TooltipModel extends BaseTooltipModel {\n title: TitleModel | null = null;\n content: ContentModel | null = null;\n\n private _classList: string[];\n private _id: string;\n\n constructor(parent: BaseTooltipModel | HTMLElement, option: ITooltipModelOption, classList: string[], id: string) {\n super(parent, option, 0);\n this._classList = classList;\n this._id = id;\n }\n\n setVisibility(visibility: boolean) {\n super.setVisibility(visibility);\n if (!this.product) {\n return;\n }\n const { classList } = this.product;\n if (visibility) {\n classList.add('visible');\n } else {\n classList.remove('visible');\n }\n }\n\n init(): void {\n const tooltipActual = this._option.getTooltipActual();\n\n if (!this.product) {\n this._initPanel(this._classList, this._id);\n }\n\n const { title } = tooltipActual;\n if (title?.visible !== false && isValid(title?.value)) {\n if (!this.title) {\n this._initTitle();\n }\n } else if (this.title) {\n this._releaseTitle();\n }\n\n const renderContent = tooltipActual.content ?? [];\n if (renderContent.length > 0) {\n if (!this.content) {\n this._initContent();\n }\n } else if (this.content) {\n this._releaseContent();\n }\n }\n\n private _initPanel(classList?: string[], id?: string) {\n const panel = this.createElement(\n 'div',\n classList,\n {\n left: '0',\n top: '0',\n pointerEvents: 'none',\n padding: '12px',\n position: 'absolute',\n zIndex: '99999999999999',\n fontFamily: 'sans-serif',\n fontSize: '11px',\n borderRadius: '3px',\n borderStyle: 'solid',\n lineHeight: 'initial',\n background: '#fff',\n boxShadow: '2px 2px 4px rgba(0, 0, 0, 0.1)',\n maxWidth: '100wh',\n maxHeight: '100vh'\n },\n id\n );\n this.product = panel;\n }\n\n private _initTitle() {\n const title = new TitleModel(this.product!, this._option, 0);\n title.init();\n this.title = title;\n this.children[title.childIndex] = title;\n }\n\n private _releaseTitle() {\n if (!this.title) {\n return;\n }\n this.title.release();\n delete this.children[this.title.childIndex];\n this.title = null;\n }\n\n private _initContent() {\n const content = new ContentModel(this.product!, this._option, 1);\n content.init();\n this.content = content;\n this.children[content.childIndex] = content;\n }\n\n private _releaseContent() {\n if (!this.content) {\n return;\n }\n this.content.release();\n delete this.children[this.content.childIndex];\n this.content = null;\n }\n\n setStyle(): void {\n const tooltipStyle = this._option.getTooltipStyle();\n super.setStyle(mergeSpec({}, defaultContainerStyle, tooltipStyle.panel));\n Object.values(this.children).forEach(c => c.setStyle());\n }\n\n setContent() {\n Object.values(this.children).forEach(c => {\n c.setContent();\n });\n }\n\n release(): void {\n super.release();\n this.title = null;\n this.content = null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/model/tooltip-model.ts"],"names":[],"mappings":"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","file":"tooltip-model.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport { BaseTooltipModel } from './base-tooltip-model';\nimport { ContentModel } from './content-model';\nimport type { ITooltipModelOption } from './interface';\nimport { TitleModel } from './title-model';\nimport { defaultContainerStyle } from './style-constants';\nimport { mergeSpec } from '../../../../../util/spec/merge-spec';\nimport { DEFAULT_TOOLTIP_Z_INDEX } from '../constant';\n\nexport class TooltipModel extends BaseTooltipModel {\n title: TitleModel | null = null;\n content: ContentModel | null = null;\n\n private _classList: string[];\n private _id: string;\n\n constructor(option: ITooltipModelOption, classList: string[], id: string) {\n super(option.getContainer(), option, 0);\n this._classList = classList;\n this._id = id;\n }\n\n setVisibility(visibility: boolean) {\n super.setVisibility(visibility);\n if (!this.product) {\n return;\n }\n const { classList } = this.product;\n if (visibility) {\n classList.add('visible');\n } else {\n classList.remove('visible');\n }\n }\n\n init(): void {\n const tooltipActual = this._option.getTooltipActual();\n\n if (!this.product) {\n this._initPanel(this._classList, this._id);\n }\n\n const { title } = tooltipActual;\n if (title?.visible !== false && isValid(title?.value)) {\n if (!this.title) {\n this._initTitle();\n }\n } else if (this.title) {\n this._releaseTitle();\n }\n\n const renderContent = tooltipActual.content ?? [];\n if (renderContent.length > 0) {\n if (!this.content) {\n this._initContent();\n }\n } else if (this.content) {\n this._releaseContent();\n }\n }\n\n private _initPanel(classList?: string[], id?: string) {\n const panel = this.createElement(\n 'div',\n classList,\n {\n left: '0',\n top: '0',\n pointerEvents: 'none',\n padding: '12px',\n position: 'absolute',\n zIndex: DEFAULT_TOOLTIP_Z_INDEX,\n fontFamily: 'sans-serif',\n fontSize: '11px',\n borderRadius: '3px',\n borderStyle: 'solid',\n lineHeight: 'initial',\n background: '#fff',\n boxShadow: '2px 2px 4px rgba(0, 0, 0, 0.1)',\n maxWidth: '100wh',\n maxHeight: '100vh'\n },\n id\n );\n this.product = panel;\n }\n\n private _initTitle() {\n const title = new TitleModel(this.product!, this._option, 0);\n title.init();\n this.title = title;\n this.children[title.childIndex] = title;\n }\n\n private _releaseTitle() {\n if (!this.title) {\n return;\n }\n this.title.release();\n delete this.children[this.title.childIndex];\n this.title = null;\n }\n\n private _initContent() {\n const content = new ContentModel(this.product!, this._option, 1);\n content.init();\n this.content = content;\n this.children[content.childIndex] = content;\n }\n\n private _releaseContent() {\n if (!this.content) {\n return;\n }\n this.content.release();\n delete this.children[this.content.childIndex];\n this.content = null;\n }\n\n setStyle(): void {\n const tooltipStyle = this._option.getTooltipStyle();\n super.setStyle(mergeSpec({}, defaultContainerStyle, tooltipStyle.panel));\n Object.values(this.children).forEach(c => c.setStyle());\n }\n\n setContent() {\n Object.values(this.children).forEach(c => {\n c.setContent();\n });\n }\n\n release(): void {\n super.release();\n this.title = null;\n this.content = null;\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const getPixelPropertyStr: (num?: number | number[], defaultStr?: string) => string;
2
+ export declare const pixelPropertyStrToNumber: (str: string) => number | number[];
3
+ export declare const getScrollbarWidth: (container?: HTMLElement) => number;
@@ -0,0 +1,22 @@
1
+ import { isArray, isNil, isValid } from "@visactor/vutils";
2
+
3
+ export const getPixelPropertyStr = (num, defaultStr) => isValid(num) ? isArray(num) ? num.map((n => `${n}px`)).join(" ") : `${num}px` : null != defaultStr ? defaultStr : "initial";
4
+
5
+ export const pixelPropertyStrToNumber = str => {
6
+ const numArr = str.split(" ").map((n => Number.isNaN(n) ? Number.parseFloat(n.substring(0, n.length - 2)) : Number.parseFloat(n)));
7
+ return 1 === numArr.length ? numArr[0] : numArr;
8
+ };
9
+
10
+ let cacheScrollbarWidth;
11
+
12
+ export const getScrollbarWidth = (container = document.body) => {
13
+ if (isNil(cacheScrollbarWidth)) {
14
+ const outer = document.createElement("div");
15
+ outer.style.visibility = "hidden", outer.style.overflow = "scroll", container.appendChild(outer);
16
+ const inner = document.createElement("div");
17
+ outer.appendChild(inner), cacheScrollbarWidth = outer.offsetWidth - inner.offsetWidth,
18
+ outer.parentNode.removeChild(outer);
19
+ }
20
+ return cacheScrollbarWidth;
21
+ };
22
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAuB,EAAE,UAAmB,EAAE,EAAE;IAClF,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;QAChB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;YAChB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACzC;QACD,OAAO,GAAG,GAAG,IAAI,CAAC;KACnB;IACD,OAAO,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,SAAS,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAqB,EAAE;IACzE,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACpB,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KAClB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,IAAI,mBAAuC,CAAC;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE;IAC7D,IAAI,KAAK,CAAC,mBAAmB,CAAC,EAAE;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAClC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAChC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,mBAAmB,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC5D,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KACrC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC","file":"common.js","sourcesContent":["import { isArray, isNil, isValid } from '@visactor/vutils';\n\nexport const getPixelPropertyStr = (num?: number | number[], defaultStr?: string) => {\n if (isValid(num)) {\n if (isArray(num)) {\n return num.map(n => `${n}px`).join(' ');\n }\n return `${num}px`;\n }\n return defaultStr ?? 'initial';\n};\n\nexport const pixelPropertyStrToNumber = (str: string): number | number[] => {\n const strArr = str.split(' ');\n const numArr = strArr.map(n => {\n if (!Number.isNaN(n)) {\n return Number.parseFloat(n);\n }\n return Number.parseFloat(n.substring(0, n.length - 2));\n });\n if (numArr.length === 1) {\n return numArr[0];\n }\n return numArr;\n};\n\nlet cacheScrollbarWidth: number | undefined;\nexport const getScrollbarWidth = (container = document.body) => {\n if (isNil(cacheScrollbarWidth)) {\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n container.appendChild(outer);\n const inner = document.createElement('div');\n outer.appendChild(inner);\n cacheScrollbarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n }\n return cacheScrollbarWidth;\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './common';
2
+ export * from './style';
@@ -0,0 +1,4 @@
1
+ export * from "./common";
2
+
3
+ export * from "./style";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC","file":"index.js","sourcesContent":["export * from './common';\nexport * from './style';\n"]}
@@ -0,0 +1,4 @@
1
+ import type { Maybe } from '@visactor/vutils';
2
+ import type { ITooltipAttributes } from '../../interface';
3
+ import type { IDomTooltipStyle } from '../interface';
4
+ export declare function getDomStyles(attributes?: Maybe<ITooltipAttributes>): IDomTooltipStyle;
@@ -1,27 +1,20 @@
1
- import { mergeSpec } from "../../../../util/spec/merge-spec";
1
+ import { mergeSpec } from "../../../../../util/spec/merge-spec";
2
2
 
3
- import { normalizeLayoutPaddingSpec } from "../../../../util/space";
4
-
5
- import { isValid, isArray } from "@visactor/vutils";
3
+ import { normalizeLayoutPaddingSpec } from "../../../../../util/space";
6
4
 
7
5
  import { calculateLineHeight } from "@visactor/vrender-core";
8
6
 
9
- const DEFAULT_SHAPE_SPACING = 8, DEFAULT_KEY_SPACING = 26, DEFAULT_VALUE_SPACING = 0;
10
-
11
- export const getPixelPropertyStr = (num, defaultStr) => isValid(num) ? isArray(num) ? num.map((n => `${n}px`)).join(" ") : `${num}px` : null != defaultStr ? defaultStr : "initial";
7
+ import { getPixelPropertyStr } from "./common";
12
8
 
13
- export const pixelPropertyStrToNumber = str => {
14
- const numArr = str.split(" ").map((n => Number.isNaN(n) ? Number.parseFloat(n.substring(0, n.length - 2)) : Number.parseFloat(n)));
15
- return 1 === numArr.length ? numArr[0] : numArr;
16
- };
9
+ const DEFAULT_SHAPE_SPACING = 8, DEFAULT_KEY_SPACING = 26, DEFAULT_VALUE_SPACING = 0;
17
10
 
18
11
  export function getDomStyles(attributes) {
19
- var _a, _b, _c, _d, _e;
20
- const {panel: panel = {}, title: titleAttribute, content: contentAttribute, titleStyle: titleStyle = {}, contentStyle: contentStyle = {}, padding: padding, keyWidth: keyWidth, valueWidth: valueWidth, enterable: enterable, transitionDuration: transitionDuration} = null != attributes ? attributes : {}, {fill: backgroundColor, shadow: shadow, shadowBlur: shadowBlur, shadowColor: shadowColor, shadowOffsetX: shadowOffsetX, shadowOffsetY: shadowOffsetY, shadowSpread: shadowSpread, cornerRadius: cornerRadius, stroke: strokeColor, lineWidth: lineWidth = 0, width: width = 0, height: height = 0} = panel, {value: title = {}} = titleStyle, {shape: shape = {}, key: key = {}, value: value = {}} = contentStyle, shapeStyle = getShapeStyle(shape), keyStyle = getLabelStyle(key), valueStyle = getLabelStyle(value), {bottom: bottom, left: left, right: right, top: top} = normalizeLayoutPaddingSpec(padding);
12
+ var _a, _b, _c;
13
+ const {panel: panel = {}, title: titleAttribute, content: contentAttribute, titleStyle: titleStyle = {}, contentStyle: contentStyle = {}, padding: padding, keyWidth: keyWidth, valueWidth: valueWidth, enterable: enterable, transitionDuration: transitionDuration, panelDomHeight: panelDomHeight = 0} = null != attributes ? attributes : {}, {fill: backgroundColor, shadow: shadow, shadowBlur: shadowBlur, shadowColor: shadowColor, shadowOffsetX: shadowOffsetX, shadowOffsetY: shadowOffsetY, shadowSpread: shadowSpread, cornerRadius: cornerRadius, stroke: strokeColor, lineWidth: lineWidth = 0, width: width = 0} = panel, {value: title = {}} = titleStyle, {shape: shape = {}, key: key = {}, value: value = {}} = contentStyle, shapeStyle = getShapeStyle(shape), keyStyle = getLabelStyle(key), valueStyle = getLabelStyle(value), {bottom: bottom, left: left, right: right, top: top} = normalizeLayoutPaddingSpec(padding);
21
14
  return {
22
15
  panel: {
23
16
  width: getPixelPropertyStr(width + 2 * lineWidth),
24
- minHeight: getPixelPropertyStr(height + 2 * lineWidth),
17
+ minHeight: getPixelPropertyStr(panelDomHeight + 2 * lineWidth),
25
18
  paddingBottom: getPixelPropertyStr(bottom),
26
19
  paddingLeft: getPixelPropertyStr(left),
27
20
  paddingRight: getPixelPropertyStr(right),
@@ -45,8 +38,7 @@ export function getDomStyles(attributes) {
45
38
  common: shapeStyle,
46
39
  items: [],
47
40
  width: getPixelPropertyStr(shape.size),
48
- marginRight: getPixelPropertyStr(null !== (_a = shape.spacing) && void 0 !== _a ? _a : 8),
49
- marginBottom: getPixelPropertyStr(-(null !== (_c = null === (_b = null == contentAttribute ? void 0 : contentAttribute[(null == contentAttribute ? void 0 : contentAttribute.length) - 1]) || void 0 === _b ? void 0 : _b.spaceRow) && void 0 !== _c ? _c : 0))
41
+ marginRight: getPixelPropertyStr(null !== (_a = shape.spacing) && void 0 !== _a ? _a : 8)
50
42
  },
51
43
  keyColumn: {
52
44
  common: keyStyle,
@@ -57,7 +49,7 @@ export function getDomStyles(attributes) {
57
49
  width: getPixelPropertyStr(Math.ceil(key.width))
58
50
  } : void 0))),
59
51
  width: getPixelPropertyStr(keyWidth),
60
- marginRight: getPixelPropertyStr(null !== (_d = key.spacing) && void 0 !== _d ? _d : 26)
52
+ marginRight: getPixelPropertyStr(null !== (_b = key.spacing) && void 0 !== _b ? _b : 26)
61
53
  },
62
54
  valueColumn: {
63
55
  common: valueStyle,
@@ -68,7 +60,7 @@ export function getDomStyles(attributes) {
68
60
  width: getPixelPropertyStr(Math.ceil(value.width))
69
61
  } : void 0))),
70
62
  width: getPixelPropertyStr(valueWidth),
71
- marginRight: getPixelPropertyStr(null !== (_e = value.spacing) && void 0 !== _e ? _e : 0)
63
+ marginRight: getPixelPropertyStr(null !== (_c = value.spacing) && void 0 !== _c ? _c : 0)
72
64
  }
73
65
  };
74
66
  }
@@ -88,4 +80,4 @@ function getShapeStyle(shapeStyle, defaultStyle) {
88
80
  const {size: size} = mergeSpec({}, defaultStyle, shapeStyle), styleObj = {};
89
81
  return styleObj.width = getPixelPropertyStr(size), styleObj;
90
82
  }
91
- //# sourceMappingURL=util.js.map
83
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom/utils/style.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,MAAM,UAAU,YAAY,CAAC,UAAsC;;IACjE,MAAM,EACJ,KAAK,GAAG,EAAE,EACV,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,EACzB,UAAU,GAAG,EAAE,EACf,YAAY,GAAG,EAAE,EACjB,OAAO,EACP,QAAQ,EACR,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,cAAc,GAAG,CAAC,EACnB,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;IAErB,MAAM,EACJ,IAAI,EAAE,eAAe,EACrB,MAAM,EACN,UAAU,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,MAAM,EAAE,WAAW,EACnB,SAAS,GAAG,CAAC,EACb,KAAK,GAAG,CAAC,EACV,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;IACzC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,YAAY,CAAC;IAE1D,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE;YACL,KAAK,EAAE,mBAAmB,CAAC,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC;YACjD,SAAS,EAAE,mBAAmB,CAAC,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;YAC9D,aAAa,EAAE,mBAAmB,CAAC,MAAgB,CAAC;YACpD,WAAW,EAAE,mBAAmB,CAAC,IAAc,CAAC;YAChD,YAAY,EAAE,mBAAmB,CAAC,KAAe,CAAC;YAClD,UAAU,EAAE,mBAAmB,CAAC,GAAa,CAAC;YAC9C,WAAW,EAAE,WAAqB;YAClC,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC;YAC3C,YAAY,EAAE,mBAAmB,CAAC,YAAY,CAAC;YAC/C,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,aAAa;YACvE,SAAS,EAAE,MAAM;gBACf,CAAC,CAAC,GAAG,aAAa,MAAM,aAAa,MAAM,UAAU,MAAM,YAAY,MAAM,WAAW,EAAE;gBAC1F,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC1C,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,IAAI,CAAC,CAAC,CAAC,SAAS;YAC9E,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAChE,wBAAwB,EAAE,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACtE;QACD,KAAK,kBACH,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,EAAC,CAAC,CAAC,mBAAmB,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAC3F,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAC,CAAC,CAC9D;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EAAE;YACX,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;YACtC,WAAW,EAAE,mBAAmB,CAAC,MAAA,KAAK,CAAC,OAAO,mCAAI,qBAAqB,CAAC;SACzE;QACD,SAAS,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,CAC1B,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CACvB,CAAC,4CACC,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAClF,QAAQ,GACR,aAAa,CAAC,GAAwB,CAAC,GACvC,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CACvE,CAAA,CACpB;YACD,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC;YACpC,WAAW,EAAE,mBAAmB,CAAC,MAAA,GAAG,CAAC,OAAO,mCAAI,mBAAmB,CAAC;SACrE;QACD,WAAW,EAAE;YACX,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,CAC1B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CACzB,CAAC,4CACC,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAClF,UAAU,GACV,aAAa,CAAC,KAA0B,CAAC,GACzC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3E,CAAA,CACpB;YACD,KAAK,EAAE,mBAAmB,CAAC,UAAU,CAAC;YACtC,WAAW,EAAE,mBAAmB,CAAC,MAAA,KAAK,CAAC,OAAO,mCAAI,qBAAqB,CAAC;SACzE;KACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CACpB,UAA8B,EAC9B,YAAyC;IAEzC,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,EACJ,UAAU,EAAE,SAAS,EACrB,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,UAAU,EAChB,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACT,GAAG,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,CAAsB,CAAC;IACjE,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,QAAQ,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACvD,QAAQ,CAAC,KAAK,GAAG,UAAoB,CAAC;IACtC,QAAQ,CAAC,SAAS,GAAG,SAAsB,CAAC;IAC5C,QAAQ,CAAC,UAAU,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,UAAU,GAAG,UAAwB,CAAC;IAC/C,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtE,QAAQ,CAAC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CACpB,UAAmC,EACnC,YAA8C;IAE9C,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,QAAQ,CAAC,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC","file":"style.js","sourcesContent":["import type { Maybe } from '@visactor/vutils';\nimport type { FontWeight, TextAlign } from '../../../../../typings';\nimport { mergeSpec } from '../../../../../util/spec/merge-spec';\nimport { normalizeLayoutPaddingSpec } from '../../../../../util/space';\nimport type { ITooltipAttributes, ITooltipTextStyle } from '../../interface';\nimport type { ILabelStyle, IShapeStyle, IDomTooltipStyle } from '../interface';\nimport { calculateLineHeight } from '@visactor/vrender-core';\nimport type { ITooltipTheme } from '../../../../../component/tooltip';\nimport { getPixelPropertyStr } from './common';\n\nconst DEFAULT_SHAPE_SPACING = 8;\nconst DEFAULT_KEY_SPACING = 26;\nconst DEFAULT_VALUE_SPACING = 0;\n\nexport function getDomStyles(attributes?: Maybe<ITooltipAttributes>): IDomTooltipStyle {\n const {\n panel = {},\n title: titleAttribute,\n content: contentAttribute,\n titleStyle = {},\n contentStyle = {},\n padding,\n keyWidth,\n valueWidth,\n enterable,\n transitionDuration,\n panelDomHeight = 0\n } = attributes ?? {};\n\n const {\n fill: backgroundColor,\n shadow,\n shadowBlur,\n shadowColor,\n shadowOffsetX,\n shadowOffsetY,\n shadowSpread,\n cornerRadius,\n stroke: strokeColor,\n lineWidth = 0,\n width = 0\n } = panel;\n\n const { value: title = {} } = titleStyle;\n const { shape = {}, key = {}, value = {} } = contentStyle;\n\n const shapeStyle = getShapeStyle(shape);\n const keyStyle = getLabelStyle(key);\n const valueStyle = getLabelStyle(value);\n const { bottom, left, right, top } = normalizeLayoutPaddingSpec(padding);\n\n const styles: IDomTooltipStyle = {\n panel: {\n width: getPixelPropertyStr(width + lineWidth * 2),\n minHeight: getPixelPropertyStr(panelDomHeight + lineWidth * 2),\n paddingBottom: getPixelPropertyStr(bottom as number),\n paddingLeft: getPixelPropertyStr(left as number),\n paddingRight: getPixelPropertyStr(right as number),\n paddingTop: getPixelPropertyStr(top as number),\n borderColor: strokeColor as string,\n borderWidth: getPixelPropertyStr(lineWidth),\n borderRadius: getPixelPropertyStr(cornerRadius),\n backgroundColor: backgroundColor ? `${backgroundColor}` : 'transparent',\n boxShadow: shadow\n ? `${shadowOffsetX}px ${shadowOffsetY}px ${shadowBlur}px ${shadowSpread}px ${shadowColor}`\n : 'initial',\n pointerEvents: enterable ? 'auto' : 'none',\n transitionDuration: transitionDuration ? `${transitionDuration}ms` : 'initial',\n transitionProperty: transitionDuration ? 'transform' : 'initial',\n transitionTimingFunction: transitionDuration ? 'ease-out' : 'initial'\n },\n title: {\n marginTop: '0px',\n marginBottom: contentAttribute?.length ? getPixelPropertyStr(titleAttribute?.spaceRow) : '0px',\n ...getLabelStyle(mergeSpec({}, title, titleAttribute?.value))\n },\n content: {},\n shapeColumn: {\n common: shapeStyle,\n items: [],\n width: getPixelPropertyStr(shape.size),\n marginRight: getPixelPropertyStr(shape.spacing ?? DEFAULT_SHAPE_SPACING)\n },\n keyColumn: {\n common: keyStyle,\n items: contentAttribute?.map(\n ({ key, spaceRow }, i) =>\n ({\n marginTop: '0px',\n marginBottom: i < contentAttribute.length - 1 ? getPixelPropertyStr(spaceRow) : '0px',\n ...keyStyle,\n ...getLabelStyle(key as ITooltipTextStyle),\n ...(key?.multiLine ? { width: getPixelPropertyStr(Math.ceil(key.width)) } : undefined) // 对多行文本使用定宽\n } as ILabelStyle)\n ),\n width: getPixelPropertyStr(keyWidth),\n marginRight: getPixelPropertyStr(key.spacing ?? DEFAULT_KEY_SPACING)\n },\n valueColumn: {\n common: valueStyle,\n items: contentAttribute?.map(\n ({ value, spaceRow }, i) =>\n ({\n marginTop: '0px',\n marginBottom: i < contentAttribute.length - 1 ? getPixelPropertyStr(spaceRow) : '0px',\n ...valueStyle,\n ...getLabelStyle(value as ITooltipTextStyle),\n ...(value?.multiLine ? { width: getPixelPropertyStr(Math.ceil(value.width)) } : undefined) // 对多行文本使用定宽\n } as ILabelStyle)\n ),\n width: getPixelPropertyStr(valueWidth),\n marginRight: getPixelPropertyStr(value.spacing ?? DEFAULT_VALUE_SPACING)\n }\n };\n return styles;\n}\n\nfunction getLabelStyle(\n labelStyle?: ITooltipTextStyle,\n defaultStyle?: Partial<ITooltipTextStyle>\n): ILabelStyle | undefined {\n if (!labelStyle) {\n return undefined;\n }\n const {\n fontFamily: labelFont,\n fontSize: labelFontSize,\n fill: labelColor,\n textAlign,\n lineHeight,\n fontWeight,\n multiLine,\n wordBreak,\n maxWidth\n } = mergeSpec({}, defaultStyle, labelStyle) as ITooltipTextStyle;\n const styleObj: ILabelStyle = {};\n\n styleObj.fontFamily = labelFont;\n styleObj.fontSize = getPixelPropertyStr(labelFontSize);\n styleObj.color = labelColor as string;\n styleObj.textAlign = textAlign as TextAlign;\n styleObj.lineHeight = getPixelPropertyStr(calculateLineHeight(lineHeight, labelFontSize));\n styleObj.fontWeight = fontWeight as FontWeight;\n styleObj.whiteSpace = multiLine ? 'initial' : 'nowrap';\n styleObj.wordBreak = multiLine ? wordBreak ?? 'break-word' : 'normal';\n styleObj.maxWidth = getPixelPropertyStr(maxWidth);\n return styleObj;\n}\n\nfunction getShapeStyle(\n shapeStyle?: ITooltipTheme['shape'],\n defaultStyle?: Partial<ITooltipTheme['shape']>\n): IShapeStyle | undefined {\n if (!shapeStyle) {\n return undefined;\n }\n const { size } = mergeSpec({}, defaultStyle, shapeStyle);\n const styleObj: IShapeStyle = {};\n\n styleObj.width = getPixelPropertyStr(size);\n return styleObj;\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { TooltipAttributes } from '@visactor/vrender-components';
1
2
  import type { ITextAttribute, IFillStyle, RichTextWordBreak } from '@visactor/vrender-core';
2
3
  export interface ITooltipTextStyle extends Partial<ITextAttribute & IFillStyle> {
3
4
  spacing?: number;
@@ -6,3 +7,7 @@ export interface ITooltipTextStyle extends Partial<ITextAttribute & IFillStyle>
6
7
  wordBreak?: RichTextWordBreak;
7
8
  autoWidth?: boolean;
8
9
  }
10
+ export interface ITooltipAttributes extends TooltipAttributes {
11
+ panelDomHeight?: number;
12
+ maxContentHeight?: number;
13
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/tooltip-handler/interface/style.ts"],"names":[],"mappings":"","file":"style.js","sourcesContent":["import type { ITextAttribute, IFillStyle, RichTextWordBreak } from '@visactor/vrender-core';\n\nexport interface ITooltipTextStyle extends Partial<ITextAttribute & IFillStyle> {\n /** 和相邻元素的水平间距 */\n spacing?: number;\n /** 是否支持换行 */\n multiLine?: boolean;\n /** 文本元素的最大宽度 */\n maxWidth?: number;\n /** 换行模式 */\n wordBreak?: RichTextWordBreak;\n /** 是否开启自动宽度 */\n autoWidth?: boolean;\n}\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/interface/style.ts"],"names":[],"mappings":"","file":"style.js","sourcesContent":["import type { TooltipAttributes } from '@visactor/vrender-components';\nimport type { ITextAttribute, IFillStyle, RichTextWordBreak } from '@visactor/vrender-core';\n\nexport interface ITooltipTextStyle extends Partial<ITextAttribute & IFillStyle> {\n /** 和相邻元素的水平间距 */\n spacing?: number;\n /** 是否支持换行 */\n multiLine?: boolean;\n /** 文本元素的最大宽度 */\n maxWidth?: number;\n /** 换行模式 */\n wordBreak?: RichTextWordBreak;\n /** 是否开启自动宽度 */\n autoWidth?: boolean;\n}\n\nexport interface ITooltipAttributes extends TooltipAttributes {\n /** dom tooltip 的高度。由于 canvas tooltip 不支持滚动条,dom tooltip 单独计算高度 */\n panelDomHeight?: number;\n /** dom tooltip 内容区的最大高度,canvas tooltip 不支持 */\n maxContentHeight?: number;\n}\n"]}
@@ -1,8 +1,8 @@
1
- import type { TooltipAttributes, TooltipPanelAttrs } from '@visactor/vrender-components';
1
+ import type { TooltipPanelAttrs } from '@visactor/vrender-components';
2
2
  import type { IToolTipActual } from '../../../../typings';
3
- import type { ITooltipTextStyle } from '../interface';
3
+ import type { ITooltipAttributes, ITooltipTextStyle } from '../interface';
4
4
  import type { ITheme } from '../../../../theme';
5
5
  import type { ITooltipSpec, ITooltipTextTheme, ITooltipTheme } from '../../../../component/tooltip';
6
6
  export declare function getTextAttributes(style?: ITooltipTextTheme, globalTheme?: ITheme, defaultAttributes?: Partial<ITooltipTextStyle>): ITooltipTextStyle;
7
7
  export declare const getPanelAttributes: (style: ITooltipTheme['panel']) => TooltipPanelAttrs;
8
- export declare const getTooltipAttributes: (actualTooltip: IToolTipActual, spec: ITooltipSpec, globalTheme: ITheme) => TooltipAttributes;
8
+ export declare const getTooltipAttributes: (actualTooltip: IToolTipActual, spec: ITooltipSpec, globalTheme: ITheme) => ITooltipAttributes;
@@ -49,7 +49,7 @@ export const getPanelAttributes = style => {
49
49
 
50
50
  export const getTooltipAttributes = (actualTooltip, spec, globalTheme) => {
51
51
  var _a, _b, _c, _d, _e;
52
- const {style: style = {}, enterable: enterable, transitionDuration: transitionDuration} = spec, {panel: panel = {}, titleLabel: titleLabel, shape: shape, keyLabel: keyLabel, valueLabel: valueLabel, spaceRow: commonSpaceRow} = style, padding = normalizePadding(panel.padding), paddingSpec = normalizeLayoutPaddingSpec(panel.padding), titleStyle = getTextAttributes(titleLabel, globalTheme), keyStyle = getTextAttributes(keyLabel, globalTheme), valueStyle = getTextAttributes(valueLabel, globalTheme), shapeStyle = {
52
+ const {style: style = {}, enterable: enterable, transitionDuration: transitionDuration} = spec, {panel: panel = {}, titleLabel: titleLabel, shape: shape, keyLabel: keyLabel, valueLabel: valueLabel, spaceRow: commonSpaceRow, maxContentHeight: maxContentHeight} = style, padding = normalizePadding(panel.padding), paddingSpec = normalizeLayoutPaddingSpec(panel.padding), titleStyle = getTextAttributes(titleLabel, globalTheme), keyStyle = getTextAttributes(keyLabel, globalTheme), valueStyle = getTextAttributes(valueLabel, globalTheme), shapeStyle = {
53
53
  fill: !0,
54
54
  size: null !== (_a = null == shape ? void 0 : shape.size) && void 0 !== _a ? _a : 8,
55
55
  spacing: null !== (_b = null == shape ? void 0 : shape.spacing) && void 0 !== _b ? _b : 6
@@ -71,14 +71,16 @@ export const getTooltipAttributes = (actualTooltip, spec, globalTheme) => {
71
71
  hasContentShape: !1,
72
72
  keyWidth: 0,
73
73
  valueWidth: 0,
74
+ maxContentHeight: maxContentHeight,
74
75
  enterable: enterable,
75
76
  transitionDuration: transitionDuration
76
77
  }, {title: title = {}, content: content = []} = actualTooltip;
77
- let containerWidth = paddingSpec.left + paddingSpec.right, containerHeight = paddingSpec.top + paddingSpec.bottom, contentMaxWidth = 0;
78
+ let panelWidth = paddingSpec.left + paddingSpec.right, panelHeight = paddingSpec.top + paddingSpec.bottom, panelDomHeight = paddingSpec.top + paddingSpec.bottom, contentMaxWidth = 0;
78
79
  const filteredContent = content.filter((item => (item.key || item.value) && !1 !== item.visible)), hasContent = !!filteredContent.length;
79
80
  let maxKeyWidth = 0, maxAdaptiveKeyWidth = 0, maxValueWidth = 0, maxShapeWidth = 0;
80
81
  if (hasContent) {
81
82
  const keyWidths = [], adaptiveKeyWidths = [], valueWidths = [], shapeWidths = [];
83
+ let contentHeight = 0;
82
84
  attributes.content = filteredContent.map(((item, i) => {
83
85
  let itemHeight = 0;
84
86
  const {hasShape: actualHasShape, key: actualKey, shapeType: actualShapeType = "", shapeFill: actualShapeFill, shapeStroke: actualShapeStroke, shapeLineWidth: actualShapeLineWidth, shapeSize: actualShapeSize, value: actualValue, isKeyAdaptive: actualIsKeyAdaptive, spaceRow: actualSpaceRow, keyStyle: actualKeyStyle, valueStyle: actualValueStyle, shapeColor: actualShapeColor, shapeHollow: actualShapeHollow} = item, itemAttrs = {
@@ -117,15 +119,16 @@ export const getTooltipAttributes = (actualTooltip, spec, globalTheme) => {
117
119
  } else itemAttrs.shape = {
118
120
  visible: !1
119
121
  };
120
- return itemAttrs.height = itemHeight, containerHeight += itemHeight, i < filteredContent.length - 1 && (containerHeight += itemAttrs.spaceRow),
122
+ return itemAttrs.height = itemHeight, contentHeight += itemHeight, i < filteredContent.length - 1 && (contentHeight += itemAttrs.spaceRow),
121
123
  itemAttrs;
122
- })), maxKeyWidth = keyWidths.length ? maxInArray(keyWidths) : 0, maxAdaptiveKeyWidth = adaptiveKeyWidths.length ? maxInArray(adaptiveKeyWidths) : 0,
124
+ })), panelHeight += contentHeight, panelDomHeight += Math.min(contentHeight, null != maxContentHeight ? maxContentHeight : 1 / 0),
125
+ maxKeyWidth = keyWidths.length ? maxInArray(keyWidths) : 0, maxAdaptiveKeyWidth = adaptiveKeyWidths.length ? maxInArray(adaptiveKeyWidths) : 0,
123
126
  maxValueWidth = valueWidths.length ? maxInArray(valueWidths) : 0, maxShapeWidth = shapeWidths.length ? maxInArray(shapeWidths) + shapeStyle.spacing : 0,
124
127
  contentMaxWidth = Math.max(maxShapeWidth + maxKeyWidth + keyStyle.spacing + maxValueWidth + valueStyle.spacing, maxShapeWidth + maxAdaptiveKeyWidth, contentMaxWidth),
125
128
  attributes.hasContentShape = !!shapeWidths.length, attributes.keyWidth = maxKeyWidth,
126
129
  attributes.valueWidth = maxValueWidth;
127
130
  }
128
- let titleMaxWidth = 0, titleMaxHeight = 0;
131
+ let titleMaxWidth = 0, titleMaxHeight = 0, titleHeightWithSpace = 0;
129
132
  const {visible: actualTitleVisible = !0, value: actualTitleValue = "", valueStyle: actualTitleValueStyle, spaceRow: actualTitleSpaceRow} = title;
130
133
  attributes.title.visible = actualTitleVisible, attributes.title.spaceRow = null != actualTitleSpaceRow ? actualTitleSpaceRow : commonSpaceRow;
131
134
  let titleValueStyle = {};
@@ -141,16 +144,17 @@ export const getTooltipAttributes = (actualTooltip, spec, globalTheme) => {
141
144
  }, titleValueStyle), {
142
145
  text: text
143
146
  }), titleMaxWidth = attributes.title.value.width, titleMaxHeight = attributes.title.value.height,
144
- containerHeight += titleMaxHeight + (hasContent ? attributes.title.spaceRow : 0);
147
+ titleHeightWithSpace = titleMaxHeight + (hasContent ? attributes.title.spaceRow : 0);
145
148
  }
146
- return attributes.title.width = titleMaxWidth, attributes.title.height = titleMaxHeight,
147
- isAutoWidthMode() ? containerWidth += contentMaxWidth || titleMaxWidth : containerWidth += Math.max(titleMaxWidth, contentMaxWidth),
149
+ return panelHeight += titleHeightWithSpace, panelDomHeight += titleHeightWithSpace,
150
+ attributes.title.width = titleMaxWidth, attributes.title.height = titleMaxHeight,
151
+ isAutoWidthMode() ? panelWidth += contentMaxWidth || titleMaxWidth : panelWidth += Math.max(titleMaxWidth, contentMaxWidth),
148
152
  hasContent && attributes.content.forEach((item => {
149
153
  var _a;
150
154
  const value = item.value;
151
- value && (null === (_a = value.autoWidth) || void 0 === _a || _a) && (value.width = containerWidth - paddingSpec.left - paddingSpec.right - maxShapeWidth - maxKeyWidth - keyStyle.spacing - valueStyle.spacing,
155
+ value && (null === (_a = value.autoWidth) || void 0 === _a || _a) && (value.width = panelWidth - paddingSpec.left - paddingSpec.right - maxShapeWidth - maxKeyWidth - keyStyle.spacing - valueStyle.spacing,
152
156
  value.maxWidth || (value.maxWidth = Math.ceil(value.width)), attributes.valueWidth = Math.max(attributes.valueWidth, value.width));
153
- })), attributes.panel.width = containerWidth, attributes.panel.height = containerHeight,
154
- attributes;
157
+ })), attributes.panel.width = panelWidth, attributes.panel.height = panelHeight,
158
+ attributes.panelDomHeight = panelDomHeight, attributes;
155
159
  };
156
160
  //# sourceMappingURL=attribute.js.map