@visactor/vchart 1.8.10-alpha.0 → 1.9.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (965) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +11042 -10188
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base/base-chart-transformer.d.ts +1 -0
  6. package/cjs/chart/base/base-chart-transformer.js +45 -20
  7. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  8. package/cjs/chart/base/base-chart.d.ts +1 -0
  9. package/cjs/chart/base/base-chart.js +10 -8
  10. package/cjs/chart/base/base-chart.js.map +1 -1
  11. package/cjs/chart/base/util.d.ts +7 -0
  12. package/cjs/chart/base/util.js +26 -0
  13. package/cjs/chart/base/util.js.map +1 -0
  14. package/cjs/chart/circle-packing/circle-packing-transformer.js +1 -7
  15. package/cjs/chart/circle-packing/circle-packing-transformer.js.map +1 -1
  16. package/cjs/chart/correlation/correlation-transformer.js +1 -7
  17. package/cjs/chart/correlation/correlation-transformer.js.map +1 -1
  18. package/cjs/chart/histogram/base/histogram-base-transformer.js +2 -1
  19. package/cjs/chart/histogram/base/histogram-base-transformer.js.map +1 -1
  20. package/cjs/chart/index.d.ts +5 -3
  21. package/cjs/chart/index.js +16 -2
  22. package/cjs/chart/index.js.map +1 -1
  23. package/cjs/chart/interface/chart.d.ts +1 -0
  24. package/cjs/chart/interface/chart.js.map +1 -1
  25. package/cjs/chart/interface/common.d.ts +1 -4
  26. package/cjs/chart/interface/common.js.map +1 -1
  27. package/cjs/chart/interface/type.d.ts +2 -1
  28. package/cjs/chart/interface/type.js +1 -1
  29. package/cjs/chart/interface/type.js.map +1 -1
  30. package/cjs/chart/liquid/index.d.ts +2 -0
  31. package/cjs/chart/liquid/index.js +21 -0
  32. package/cjs/chart/liquid/index.js.map +1 -0
  33. package/cjs/chart/liquid/interface.d.ts +7 -0
  34. package/cjs/chart/liquid/interface.js.map +1 -0
  35. package/cjs/chart/liquid/liquid-transformer.d.ts +6 -0
  36. package/cjs/chart/liquid/liquid-transformer.js +29 -0
  37. package/cjs/chart/liquid/liquid-transformer.js.map +1 -0
  38. package/cjs/chart/liquid/liquid.d.ts +13 -0
  39. package/cjs/chart/liquid/liquid.js +25 -0
  40. package/cjs/chart/liquid/liquid.js.map +1 -0
  41. package/cjs/chart/polar/polar-transformer.js +1 -7
  42. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  43. package/cjs/chart/sankey/sankey-transformer.js +1 -7
  44. package/cjs/chart/sankey/sankey-transformer.js.map +1 -1
  45. package/cjs/chart/sunburst/sunburst-transformer.js +1 -7
  46. package/cjs/chart/sunburst/sunburst-transformer.js.map +1 -1
  47. package/cjs/chart/treemap/treemap-transformer.js +1 -7
  48. package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
  49. package/cjs/chart/word-cloud/base/word-cloud-base-transformer.js +1 -7
  50. package/cjs/chart/word-cloud/base/word-cloud-base-transformer.js.map +1 -1
  51. package/cjs/compile/compiler.d.ts +16 -5
  52. package/cjs/compile/compiler.js +38 -42
  53. package/cjs/compile/compiler.js.map +1 -1
  54. package/cjs/compile/data/compilable-data.d.ts +1 -1
  55. package/cjs/compile/data/compilable-data.js +1 -1
  56. package/cjs/compile/data/compilable-data.js.map +1 -1
  57. package/cjs/compile/data/interface.d.ts +1 -1
  58. package/cjs/compile/data/interface.js.map +1 -1
  59. package/cjs/compile/grammar-item.js +2 -1
  60. package/cjs/compile/mark/compilable-mark.d.ts +4 -2
  61. package/cjs/compile/mark/compilable-mark.js +4 -1
  62. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  63. package/cjs/compile/mark/interface.d.ts +3 -2
  64. package/cjs/compile/mark/interface.js.map +1 -1
  65. package/cjs/compile/mark/mark-state-manager.d.ts +2 -2
  66. package/cjs/compile/mark/mark-state-manager.js +2 -2
  67. package/cjs/compile/mark/mark-state-manager.js.map +1 -1
  68. package/cjs/compile/signal/state-manager.d.ts +1 -1
  69. package/cjs/compile/signal/state-manager.js +2 -2
  70. package/cjs/compile/signal/state-manager.js.map +1 -1
  71. package/cjs/component/axis/base-axis.d.ts +8 -9
  72. package/cjs/component/axis/base-axis.js +22 -22
  73. package/cjs/component/axis/base-axis.js.map +1 -1
  74. package/cjs/component/axis/cartesian/axis.d.ts +5 -11
  75. package/cjs/component/axis/cartesian/axis.js +23 -30
  76. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  77. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
  78. package/cjs/component/axis/cartesian/band-axis.js +2 -1
  79. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  80. package/cjs/component/axis/cartesian/interface/common.d.ts +3 -5
  81. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  82. package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -19
  83. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  84. package/cjs/component/axis/cartesian/time-axis.js +10 -17
  85. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  86. package/cjs/component/axis/interface/common.d.ts +10 -0
  87. package/cjs/component/axis/interface/common.js.map +1 -1
  88. package/cjs/component/axis/interface/spec.d.ts +4 -7
  89. package/cjs/component/axis/interface/spec.js.map +1 -1
  90. package/cjs/component/axis/mixin/band-axis-mixin.d.ts +13 -1
  91. package/cjs/component/axis/mixin/band-axis-mixin.js +33 -1
  92. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  93. package/cjs/component/axis/polar/axis.d.ts +7 -3
  94. package/cjs/component/axis/polar/axis.js +50 -58
  95. package/cjs/component/axis/polar/axis.js.map +1 -1
  96. package/cjs/component/axis/polar/band-axis.d.ts +1 -0
  97. package/cjs/component/axis/util.d.ts +6 -0
  98. package/cjs/component/axis/util.js +11 -2
  99. package/cjs/component/axis/util.js.map +1 -1
  100. package/cjs/component/base/base-component.d.ts +0 -5
  101. package/cjs/component/base/base-component.js +0 -6
  102. package/cjs/component/base/base-component.js.map +1 -1
  103. package/cjs/component/brush/brush.js +1 -0
  104. package/cjs/component/brush/brush.js.map +1 -1
  105. package/cjs/component/crosshair/base.d.ts +10 -2
  106. package/cjs/component/crosshair/base.js +108 -83
  107. package/cjs/component/crosshair/base.js.map +1 -1
  108. package/cjs/component/crosshair/cartesian.d.ts +5 -0
  109. package/cjs/component/crosshair/cartesian.js +81 -71
  110. package/cjs/component/crosshair/cartesian.js.map +1 -1
  111. package/cjs/component/crosshair/config.d.ts +1 -2
  112. package/cjs/component/crosshair/config.js +1 -1
  113. package/cjs/component/crosshair/config.js.map +1 -1
  114. package/cjs/component/crosshair/interface/spec.d.ts +2 -1
  115. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  116. package/cjs/component/crosshair/polar.js +2 -1
  117. package/cjs/component/crosshair/polar.js.map +1 -1
  118. package/cjs/component/custom-mark/custom-mark.js +1 -1
  119. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  120. package/cjs/component/data-zoom/data-zoom/data-zoom.js +2 -1
  121. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  122. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -1
  123. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  124. package/cjs/component/geo/geo-coordinate.js +1 -1
  125. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  126. package/cjs/component/indicator/indicator.d.ts +2 -0
  127. package/cjs/component/indicator/indicator.js +21 -12
  128. package/cjs/component/indicator/indicator.js.map +1 -1
  129. package/cjs/component/indicator/interface.d.ts +1 -0
  130. package/cjs/component/indicator/interface.js.map +1 -1
  131. package/cjs/component/interface/common.d.ts +1 -0
  132. package/cjs/component/interface/common.js.map +1 -1
  133. package/cjs/component/label/base-label.d.ts +0 -3
  134. package/cjs/component/label/base-label.js +5 -8
  135. package/cjs/component/label/base-label.js.map +1 -1
  136. package/cjs/component/label/interface.d.ts +1 -0
  137. package/cjs/component/label/interface.js.map +1 -1
  138. package/cjs/component/label/label.js +5 -7
  139. package/cjs/component/label/label.js.map +1 -1
  140. package/cjs/component/label/total-label.js +4 -2
  141. package/cjs/component/label/total-label.js.map +1 -1
  142. package/cjs/component/legend/base-legend.d.ts +1 -1
  143. package/cjs/component/legend/continuous/legend.js +2 -2
  144. package/cjs/component/legend/continuous/legend.js.map +1 -1
  145. package/cjs/component/legend/discrete/legend.js +2 -2
  146. package/cjs/component/legend/discrete/legend.js.map +1 -1
  147. package/cjs/component/legend/util.d.ts +1 -1
  148. package/cjs/component/map-label/component.js +12 -12
  149. package/cjs/component/map-label/component.js.map +1 -1
  150. package/cjs/component/marker/mark-area/mark-area.js +2 -1
  151. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  152. package/cjs/component/marker/mark-line/mark-line.js +2 -1
  153. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  154. package/cjs/component/marker/mark-point/mark-point.js +2 -1
  155. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  156. package/cjs/component/player/player.js +1 -0
  157. package/cjs/component/player/player.js.map +1 -1
  158. package/cjs/component/title/title.js +2 -1
  159. package/cjs/component/title/title.js.map +1 -1
  160. package/cjs/component/tooltip/processor/base.js +2 -1
  161. package/cjs/component/tooltip/processor/base.js.map +1 -1
  162. package/cjs/component/tooltip/tooltip.js +10 -6
  163. package/cjs/component/tooltip/tooltip.js.map +1 -1
  164. package/cjs/constant/base.js +1 -2
  165. package/cjs/constant/scroll-bar.js +2 -1
  166. package/cjs/core/expression-function.js +1 -2
  167. package/cjs/core/factory.d.ts +5 -0
  168. package/cjs/core/factory.js +10 -1
  169. package/cjs/core/factory.js.map +1 -1
  170. package/cjs/core/index.d.ts +1 -1
  171. package/cjs/core/index.js +1 -1
  172. package/cjs/core/index.js.map +1 -1
  173. package/cjs/core/vchart.d.ts +7 -3
  174. package/cjs/core/vchart.js +51 -71
  175. package/cjs/core/vchart.js.map +1 -1
  176. package/cjs/event/event-dispatcher.js +2 -1
  177. package/cjs/event/events/dimension/util/cartesian.d.ts +1 -1
  178. package/cjs/event/events/dimension/util/cartesian.js +28 -12
  179. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  180. package/cjs/event/index.js +1 -2
  181. package/cjs/index-lark.js +2 -2
  182. package/cjs/index-lark.js.map +1 -1
  183. package/cjs/index-wx-simple.js +2 -2
  184. package/cjs/index-wx-simple.js.map +1 -1
  185. package/cjs/index-wx.js +2 -2
  186. package/cjs/index-wx.js.map +1 -1
  187. package/cjs/interaction/config.js +4 -4
  188. package/cjs/interaction/config.js.map +1 -1
  189. package/cjs/interaction/drill/drillable.js +1 -1
  190. package/cjs/interaction/drill/drillable.js.map +1 -1
  191. package/cjs/interaction/interface.d.ts +24 -2
  192. package/cjs/interaction/interface.js.map +1 -1
  193. package/cjs/layout/interface.d.ts +3 -0
  194. package/cjs/layout/interface.js.map +1 -1
  195. package/cjs/layout/layout-item.d.ts +2 -1
  196. package/cjs/layout/layout-item.js +2 -1
  197. package/cjs/layout/layout-item.js.map +1 -1
  198. package/cjs/layout/util.js +91 -77
  199. package/cjs/layout/util.js.map +1 -1
  200. package/cjs/mark/interface/type.d.ts +1 -0
  201. package/cjs/mark/interface/type.js +2 -1
  202. package/cjs/mark/interface/type.js.map +1 -1
  203. package/cjs/mark/liquid.d.ts +13 -0
  204. package/cjs/mark/liquid.js +32 -0
  205. package/cjs/mark/liquid.js.map +1 -0
  206. package/cjs/model/base-model.d.ts +1 -2
  207. package/cjs/model/base-model.js +11 -10
  208. package/cjs/model/base-model.js.map +1 -1
  209. package/cjs/model/interface.d.ts +3 -2
  210. package/cjs/model/interface.js.map +1 -1
  211. package/cjs/plugin/chart/media-query/util/filter.js +5 -8
  212. package/cjs/plugin/chart/media-query/util/filter.js.map +1 -1
  213. package/cjs/plugin/components/axis-sync/axis-sync.js.map +1 -0
  214. package/cjs/plugin/components/axis-sync/index.js.map +1 -0
  215. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -0
  216. package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -0
  217. package/cjs/plugin/components/index.d.ts +1 -1
  218. package/cjs/plugin/components/index.js +2 -2
  219. package/cjs/plugin/components/index.js.map +1 -1
  220. package/cjs/plugin/components/register.d.ts +2 -0
  221. package/cjs/plugin/components/register.js +12 -0
  222. package/cjs/plugin/components/register.js.map +1 -0
  223. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/base.d.ts +10 -9
  224. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/base.js +29 -27
  225. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -0
  226. package/{esm/component/tooltip/handler → cjs/plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.d.ts +7 -4
  227. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.js +14 -6
  228. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -0
  229. package/cjs/plugin/components/tooltip-handler/canvas/index.js.map +1 -0
  230. package/cjs/plugin/components/tooltip-handler/constants.js.map +1 -0
  231. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.d.ts +7 -4
  232. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.js +15 -7
  233. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -0
  234. package/cjs/plugin/components/tooltip-handler/dom/index.js.map +1 -0
  235. package/cjs/plugin/components/tooltip-handler/dom/interface.js.map +1 -0
  236. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -0
  237. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -0
  238. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -0
  239. package/cjs/plugin/components/tooltip-handler/dom/model/interface.js +6 -0
  240. package/cjs/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -0
  241. package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -0
  242. package/cjs/plugin/components/tooltip-handler/dom/model/style-constants.js.map +1 -0
  243. package/cjs/plugin/components/tooltip-handler/dom/model/text-model.js.map +1 -0
  244. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -0
  245. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -0
  246. package/cjs/plugin/components/tooltip-handler/dom/util.js.map +1 -0
  247. package/cjs/plugin/components/tooltip-handler/index.js.map +1 -0
  248. package/cjs/plugin/components/tooltip-handler/interface/common.d.ts +4 -0
  249. package/cjs/plugin/components/tooltip-handler/interface/common.js +6 -0
  250. package/cjs/plugin/components/tooltip-handler/interface/common.js.map +1 -0
  251. package/cjs/plugin/components/tooltip-handler/interface/index.d.ts +2 -0
  252. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/index.js +1 -1
  253. package/cjs/plugin/components/tooltip-handler/interface/index.js.map +1 -0
  254. package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -0
  255. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.d.ts +1 -2
  256. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -0
  257. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.d.ts +1 -1
  258. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -0
  259. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/compose.d.ts +1 -2
  260. package/cjs/plugin/components/tooltip-handler/utils/compose.js +106 -0
  261. package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -0
  262. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.d.ts +1 -1
  263. package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.js +6 -6
  264. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -0
  265. package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -0
  266. package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +1 -0
  267. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -0
  268. package/cjs/region/interface.d.ts +0 -3
  269. package/cjs/region/interface.js.map +1 -1
  270. package/cjs/region/region.js +1 -1
  271. package/cjs/region/region.js.map +1 -1
  272. package/cjs/series/area/area-transformer.js +4 -4
  273. package/cjs/series/area/area-transformer.js.map +1 -1
  274. package/cjs/series/area/area.js +5 -5
  275. package/cjs/series/area/area.js.map +1 -1
  276. package/cjs/series/bar/bar.d.ts +12 -3
  277. package/cjs/series/bar/bar.js +138 -59
  278. package/cjs/series/bar/bar.js.map +1 -1
  279. package/cjs/series/bar/interface.d.ts +5 -2
  280. package/cjs/series/bar/interface.js.map +1 -1
  281. package/cjs/series/base/base-series.d.ts +30 -5
  282. package/cjs/series/base/base-series.js +72 -21
  283. package/cjs/series/base/base-series.js.map +1 -1
  284. package/cjs/series/box-plot/box-plot.js +3 -5
  285. package/cjs/series/box-plot/box-plot.js.map +1 -1
  286. package/cjs/series/cartesian/cartesian.d.ts +6 -0
  287. package/cjs/series/cartesian/cartesian.js +27 -16
  288. package/cjs/series/cartesian/cartesian.js.map +1 -1
  289. package/cjs/series/circle-packing/circle-packing.js +2 -2
  290. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  291. package/cjs/series/correlation/correlation.js +8 -8
  292. package/cjs/series/correlation/correlation.js.map +1 -1
  293. package/cjs/series/dot/dot.js +12 -12
  294. package/cjs/series/dot/dot.js.map +1 -1
  295. package/cjs/series/funnel/funnel.js +13 -11
  296. package/cjs/series/funnel/funnel.js.map +1 -1
  297. package/cjs/series/gauge/gauge-pointer.d.ts +1 -0
  298. package/cjs/series/gauge/gauge-pointer.js +4 -1
  299. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  300. package/cjs/series/gauge/gauge.js +4 -4
  301. package/cjs/series/gauge/gauge.js.map +1 -1
  302. package/cjs/series/heatmap/heatmap.d.ts +1 -0
  303. package/cjs/series/heatmap/heatmap.js +9 -4
  304. package/cjs/series/heatmap/heatmap.js.map +1 -1
  305. package/cjs/series/interface/common.d.ts +1 -1
  306. package/cjs/series/interface/common.js.map +1 -1
  307. package/cjs/series/interface/series.d.ts +0 -2
  308. package/cjs/series/interface/series.js.map +1 -1
  309. package/cjs/series/interface/theme.d.ts +2 -0
  310. package/cjs/series/interface/theme.js +3 -2
  311. package/cjs/series/interface/theme.js.map +1 -1
  312. package/cjs/series/interface/type.d.ts +6 -2
  313. package/cjs/series/interface/type.js +4 -2
  314. package/cjs/series/interface/type.js.map +1 -1
  315. package/cjs/series/link/link.d.ts +1 -0
  316. package/cjs/series/link/link.js +9 -4
  317. package/cjs/series/link/link.js.map +1 -1
  318. package/cjs/series/liquid/animation.d.ts +14 -0
  319. package/cjs/series/liquid/animation.js +63 -0
  320. package/cjs/series/liquid/animation.js.map +1 -0
  321. package/cjs/series/liquid/constant.d.ts +2 -0
  322. package/cjs/series/liquid/constant.js +23 -0
  323. package/cjs/series/liquid/constant.js.map +1 -0
  324. package/cjs/series/liquid/interface.d.ts +35 -0
  325. package/cjs/series/liquid/interface.js +6 -0
  326. package/cjs/series/liquid/interface.js.map +1 -0
  327. package/cjs/series/liquid/liquid.d.ts +50 -0
  328. package/cjs/series/liquid/liquid.js +200 -0
  329. package/cjs/series/liquid/liquid.js.map +1 -0
  330. package/cjs/series/liquid/tooltip-helper.d.ts +9 -0
  331. package/cjs/series/liquid/tooltip-helper.js +37 -0
  332. package/cjs/series/liquid/tooltip-helper.js.map +1 -0
  333. package/cjs/series/liquid/util.d.ts +2 -0
  334. package/cjs/series/liquid/util.js +15 -0
  335. package/cjs/series/liquid/util.js.map +1 -0
  336. package/cjs/series/map/map.js +4 -4
  337. package/cjs/series/map/map.js.map +1 -1
  338. package/cjs/series/mixin/line-mixin.d.ts +0 -2
  339. package/cjs/series/mixin/line-mixin.js +11 -8
  340. package/cjs/series/mixin/line-mixin.js.map +1 -1
  341. package/cjs/series/pie/pie.d.ts +1 -0
  342. package/cjs/series/pie/pie.js +9 -5
  343. package/cjs/series/pie/pie.js.map +1 -1
  344. package/cjs/series/polar/polar.js +1 -1
  345. package/cjs/series/polar/polar.js.map +1 -1
  346. package/cjs/series/progress/circular/circular.d.ts +1 -0
  347. package/cjs/series/progress/circular/circular.js +15 -8
  348. package/cjs/series/progress/circular/circular.js.map +1 -1
  349. package/cjs/series/progress/linear/linear.d.ts +1 -0
  350. package/cjs/series/progress/linear/linear.js +56 -52
  351. package/cjs/series/progress/linear/linear.js.map +1 -1
  352. package/cjs/series/radar/radar.js +4 -3
  353. package/cjs/series/radar/radar.js.map +1 -1
  354. package/cjs/series/range-area/range-area.js +4 -3
  355. package/cjs/series/range-area/range-area.js.map +1 -1
  356. package/cjs/series/range-column/range-column.js +7 -6
  357. package/cjs/series/range-column/range-column.js.map +1 -1
  358. package/cjs/series/rose/rose.js +5 -4
  359. package/cjs/series/rose/rose.js.map +1 -1
  360. package/cjs/series/sankey/sankey.js +11 -10
  361. package/cjs/series/sankey/sankey.js.map +1 -1
  362. package/cjs/series/scatter/scatter.js +6 -6
  363. package/cjs/series/scatter/scatter.js.map +1 -1
  364. package/cjs/series/sunburst/sunburst.js +5 -4
  365. package/cjs/series/sunburst/sunburst.js.map +1 -1
  366. package/cjs/series/treemap/treemap.js +7 -5
  367. package/cjs/series/treemap/treemap.js.map +1 -1
  368. package/cjs/series/waterfall/waterfall.js +3 -2
  369. package/cjs/series/waterfall/waterfall.js.map +1 -1
  370. package/cjs/series/word-cloud/base.d.ts +5 -5
  371. package/cjs/series/word-cloud/base.js +40 -47
  372. package/cjs/series/word-cloud/base.js.map +1 -1
  373. package/cjs/series/word-cloud/word-cloud-3d.js +4 -25
  374. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  375. package/cjs/theme/builtin/common/mark.js +2 -2
  376. package/cjs/theme/builtin/common/mark.js.map +1 -1
  377. package/cjs/theme/builtin/common/series/funnel.js +0 -2
  378. package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
  379. package/cjs/theme/builtin/common/series/funnel3d.js +0 -2
  380. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
  381. package/cjs/theme/builtin/common/series/index.js +3 -2
  382. package/cjs/theme/builtin/common/series/index.js.map +1 -1
  383. package/cjs/theme/builtin/common/series/liquid.d.ts +2 -0
  384. package/cjs/theme/builtin/common/series/liquid.js +19 -0
  385. package/cjs/theme/builtin/common/series/liquid.js.map +1 -0
  386. package/cjs/theme/builtin/common/series/waterfall.js +1 -2
  387. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  388. package/cjs/typings/layout.d.ts +1 -0
  389. package/cjs/typings/layout.js.map +1 -1
  390. package/cjs/typings/spec/common.d.ts +3 -2
  391. package/cjs/typings/spec/common.js.map +1 -1
  392. package/cjs/typings/tooltip/line.d.ts +4 -0
  393. package/cjs/typings/tooltip/line.js.map +1 -1
  394. package/cjs/typings/visual.d.ts +6 -0
  395. package/cjs/typings/visual.js.map +1 -1
  396. package/cjs/util/model.js.map +1 -1
  397. package/cjs/vchart-all.js +2 -2
  398. package/cjs/vchart-all.js.map +1 -1
  399. package/cjs/vchart-simple.js +2 -2
  400. package/cjs/vchart-simple.js.map +1 -1
  401. package/esm/chart/base/base-chart-transformer.d.ts +1 -0
  402. package/esm/chart/base/base-chart-transformer.js +46 -18
  403. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  404. package/esm/chart/base/base-chart.d.ts +1 -0
  405. package/esm/chart/base/base-chart.js +10 -8
  406. package/esm/chart/base/base-chart.js.map +1 -1
  407. package/esm/chart/base/util.d.ts +7 -0
  408. package/esm/chart/base/util.js +16 -0
  409. package/esm/chart/base/util.js.map +1 -0
  410. package/esm/chart/circle-packing/circle-packing-transformer.js +1 -7
  411. package/esm/chart/circle-packing/circle-packing-transformer.js.map +1 -1
  412. package/esm/chart/correlation/correlation-transformer.js +1 -7
  413. package/esm/chart/correlation/correlation-transformer.js.map +1 -1
  414. package/esm/chart/histogram/base/histogram-base-transformer.js +2 -1
  415. package/esm/chart/histogram/base/histogram-base-transformer.js.map +1 -1
  416. package/esm/chart/index.d.ts +5 -3
  417. package/esm/chart/index.js +4 -2
  418. package/esm/chart/index.js.map +1 -1
  419. package/esm/chart/interface/chart.d.ts +1 -0
  420. package/esm/chart/interface/chart.js.map +1 -1
  421. package/esm/chart/interface/common.d.ts +1 -4
  422. package/esm/chart/interface/common.js.map +1 -1
  423. package/esm/chart/interface/type.d.ts +2 -1
  424. package/esm/chart/interface/type.js +1 -1
  425. package/esm/chart/interface/type.js.map +1 -1
  426. package/esm/chart/liquid/index.d.ts +2 -0
  427. package/esm/chart/liquid/index.js +4 -0
  428. package/esm/chart/liquid/index.js.map +1 -0
  429. package/esm/chart/liquid/interface.d.ts +7 -0
  430. package/esm/chart/liquid/interface.js.map +1 -0
  431. package/esm/chart/liquid/liquid-transformer.d.ts +6 -0
  432. package/esm/chart/liquid/liquid-transformer.js +23 -0
  433. package/esm/chart/liquid/liquid-transformer.js.map +1 -0
  434. package/esm/chart/liquid/liquid.d.ts +13 -0
  435. package/esm/chart/liquid/liquid.js +26 -0
  436. package/esm/chart/liquid/liquid.js.map +1 -0
  437. package/esm/chart/polar/polar-transformer.js +1 -7
  438. package/esm/chart/polar/polar-transformer.js.map +1 -1
  439. package/esm/chart/sankey/sankey-transformer.js +1 -7
  440. package/esm/chart/sankey/sankey-transformer.js.map +1 -1
  441. package/esm/chart/sunburst/sunburst-transformer.js +1 -7
  442. package/esm/chart/sunburst/sunburst-transformer.js.map +1 -1
  443. package/esm/chart/treemap/treemap-transformer.js +1 -7
  444. package/esm/chart/treemap/treemap-transformer.js.map +1 -1
  445. package/esm/chart/word-cloud/base/word-cloud-base-transformer.js +1 -7
  446. package/esm/chart/word-cloud/base/word-cloud-base-transformer.js.map +1 -1
  447. package/esm/compile/compiler.d.ts +16 -5
  448. package/esm/compile/compiler.js +39 -41
  449. package/esm/compile/compiler.js.map +1 -1
  450. package/esm/compile/data/compilable-data.d.ts +1 -1
  451. package/esm/compile/data/compilable-data.js +1 -1
  452. package/esm/compile/data/compilable-data.js.map +1 -1
  453. package/esm/compile/data/interface.d.ts +1 -1
  454. package/esm/compile/data/interface.js.map +1 -1
  455. package/esm/compile/grammar-item.js +2 -1
  456. package/esm/compile/mark/compilable-mark.d.ts +4 -2
  457. package/esm/compile/mark/compilable-mark.js +4 -1
  458. package/esm/compile/mark/compilable-mark.js.map +1 -1
  459. package/esm/compile/mark/interface.d.ts +3 -2
  460. package/esm/compile/mark/interface.js.map +1 -1
  461. package/esm/compile/mark/mark-state-manager.d.ts +2 -2
  462. package/esm/compile/mark/mark-state-manager.js +2 -2
  463. package/esm/compile/mark/mark-state-manager.js.map +1 -1
  464. package/esm/compile/signal/state-manager.d.ts +1 -1
  465. package/esm/compile/signal/state-manager.js +1 -1
  466. package/esm/compile/signal/state-manager.js.map +1 -1
  467. package/esm/component/axis/base-axis.d.ts +8 -9
  468. package/esm/component/axis/base-axis.js +23 -21
  469. package/esm/component/axis/base-axis.js.map +1 -1
  470. package/esm/component/axis/cartesian/axis.d.ts +5 -11
  471. package/esm/component/axis/cartesian/axis.js +23 -32
  472. package/esm/component/axis/cartesian/axis.js.map +1 -1
  473. package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
  474. package/esm/component/axis/cartesian/band-axis.js +2 -1
  475. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  476. package/esm/component/axis/cartesian/interface/common.d.ts +3 -5
  477. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  478. package/esm/component/axis/cartesian/interface/spec.d.ts +4 -19
  479. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  480. package/esm/component/axis/cartesian/time-axis.js +9 -18
  481. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  482. package/esm/component/axis/interface/common.d.ts +10 -0
  483. package/esm/component/axis/interface/common.js.map +1 -1
  484. package/esm/component/axis/interface/spec.d.ts +4 -7
  485. package/esm/component/axis/interface/spec.js.map +1 -1
  486. package/esm/component/axis/mixin/band-axis-mixin.d.ts +13 -1
  487. package/esm/component/axis/mixin/band-axis-mixin.js +37 -1
  488. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  489. package/esm/component/axis/polar/axis.d.ts +7 -3
  490. package/esm/component/axis/polar/axis.js +48 -56
  491. package/esm/component/axis/polar/axis.js.map +1 -1
  492. package/esm/component/axis/polar/band-axis.d.ts +1 -0
  493. package/esm/component/axis/util.d.ts +6 -0
  494. package/esm/component/axis/util.js +9 -0
  495. package/esm/component/axis/util.js.map +1 -1
  496. package/esm/component/base/base-component.d.ts +0 -5
  497. package/esm/component/base/base-component.js +0 -6
  498. package/esm/component/base/base-component.js.map +1 -1
  499. package/esm/component/brush/brush.js +1 -0
  500. package/esm/component/brush/brush.js.map +1 -1
  501. package/esm/component/crosshair/base.d.ts +10 -2
  502. package/esm/component/crosshair/base.js +108 -82
  503. package/esm/component/crosshair/base.js.map +1 -1
  504. package/esm/component/crosshair/cartesian.d.ts +5 -0
  505. package/esm/component/crosshair/cartesian.js +79 -71
  506. package/esm/component/crosshair/cartesian.js.map +1 -1
  507. package/esm/component/crosshair/config.d.ts +1 -2
  508. package/esm/component/crosshair/config.js +1 -1
  509. package/esm/component/crosshair/config.js.map +1 -1
  510. package/esm/component/crosshair/interface/spec.d.ts +2 -1
  511. package/esm/component/crosshair/interface/spec.js.map +1 -1
  512. package/esm/component/crosshair/polar.js +2 -1
  513. package/esm/component/crosshair/polar.js.map +1 -1
  514. package/esm/component/custom-mark/custom-mark.js +1 -1
  515. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  516. package/esm/component/data-zoom/data-zoom/data-zoom.js +2 -1
  517. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  518. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -1
  519. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  520. package/esm/component/geo/geo-coordinate.js +1 -1
  521. package/esm/component/geo/geo-coordinate.js.map +1 -1
  522. package/esm/component/indicator/indicator.d.ts +2 -0
  523. package/esm/component/indicator/indicator.js +20 -13
  524. package/esm/component/indicator/indicator.js.map +1 -1
  525. package/esm/component/indicator/interface.d.ts +1 -0
  526. package/esm/component/indicator/interface.js.map +1 -1
  527. package/esm/component/interface/common.d.ts +1 -0
  528. package/esm/component/interface/common.js.map +1 -1
  529. package/esm/component/label/base-label.d.ts +0 -3
  530. package/esm/component/label/base-label.js +5 -8
  531. package/esm/component/label/base-label.js.map +1 -1
  532. package/esm/component/label/interface.d.ts +1 -0
  533. package/esm/component/label/interface.js.map +1 -1
  534. package/esm/component/label/label.js +5 -7
  535. package/esm/component/label/label.js.map +1 -1
  536. package/esm/component/label/total-label.js +4 -2
  537. package/esm/component/label/total-label.js.map +1 -1
  538. package/esm/component/legend/base-legend.d.ts +1 -1
  539. package/esm/component/legend/continuous/legend.js +2 -2
  540. package/esm/component/legend/continuous/legend.js.map +1 -1
  541. package/esm/component/legend/discrete/legend.js +2 -2
  542. package/esm/component/legend/discrete/legend.js.map +1 -1
  543. package/esm/component/legend/util.d.ts +1 -1
  544. package/esm/component/map-label/component.js +12 -12
  545. package/esm/component/map-label/component.js.map +1 -1
  546. package/esm/component/marker/mark-area/mark-area.js +2 -1
  547. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  548. package/esm/component/marker/mark-line/mark-line.js +2 -1
  549. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  550. package/esm/component/marker/mark-point/mark-point.js +2 -1
  551. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  552. package/esm/component/player/player.js +1 -0
  553. package/esm/component/player/player.js.map +1 -1
  554. package/esm/component/title/title.js +2 -1
  555. package/esm/component/title/title.js.map +1 -1
  556. package/esm/component/tooltip/processor/base.js +2 -1
  557. package/esm/component/tooltip/processor/base.js.map +1 -1
  558. package/esm/component/tooltip/tooltip.js +12 -10
  559. package/esm/component/tooltip/tooltip.js.map +1 -1
  560. package/esm/constant/base.js +1 -2
  561. package/esm/constant/scroll-bar.js +2 -1
  562. package/esm/core/expression-function.js +1 -2
  563. package/esm/core/factory.d.ts +5 -0
  564. package/esm/core/factory.js +10 -1
  565. package/esm/core/factory.js.map +1 -1
  566. package/esm/core/index.d.ts +1 -1
  567. package/esm/core/index.js +1 -1
  568. package/esm/core/index.js.map +1 -1
  569. package/esm/core/vchart.d.ts +7 -3
  570. package/esm/core/vchart.js +51 -70
  571. package/esm/core/vchart.js.map +1 -1
  572. package/esm/event/event-dispatcher.js +2 -1
  573. package/esm/event/events/dimension/util/cartesian.d.ts +1 -1
  574. package/esm/event/events/dimension/util/cartesian.js +28 -13
  575. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  576. package/esm/event/index.js +1 -2
  577. package/esm/index-lark.js +7 -1
  578. package/esm/index-lark.js.map +1 -1
  579. package/esm/index-wx-simple.js +5 -1
  580. package/esm/index-wx-simple.js.map +1 -1
  581. package/esm/index-wx.js +7 -1
  582. package/esm/index-wx.js.map +1 -1
  583. package/esm/interaction/config.js +4 -4
  584. package/esm/interaction/config.js.map +1 -1
  585. package/esm/interaction/drill/drillable.js +1 -1
  586. package/esm/interaction/drill/drillable.js.map +1 -1
  587. package/esm/interaction/interface.d.ts +24 -2
  588. package/esm/interaction/interface.js.map +1 -1
  589. package/esm/layout/interface.d.ts +3 -0
  590. package/esm/layout/interface.js.map +1 -1
  591. package/esm/layout/layout-item.d.ts +2 -1
  592. package/esm/layout/layout-item.js +2 -1
  593. package/esm/layout/layout-item.js.map +1 -1
  594. package/esm/layout/util.js +91 -77
  595. package/esm/layout/util.js.map +1 -1
  596. package/esm/mark/interface/type.d.ts +1 -0
  597. package/esm/mark/interface/type.js +2 -1
  598. package/esm/mark/interface/type.js.map +1 -1
  599. package/esm/mark/liquid.d.ts +13 -0
  600. package/esm/mark/liquid.js +32 -0
  601. package/esm/mark/liquid.js.map +1 -0
  602. package/esm/model/base-model.d.ts +1 -2
  603. package/esm/model/base-model.js +11 -8
  604. package/esm/model/base-model.js.map +1 -1
  605. package/esm/model/interface.d.ts +3 -2
  606. package/esm/model/interface.js.map +1 -1
  607. package/esm/plugin/chart/media-query/util/filter.js +5 -8
  608. package/esm/plugin/chart/media-query/util/filter.js.map +1 -1
  609. package/esm/plugin/components/axis-sync/axis-sync.js.map +1 -0
  610. package/esm/plugin/components/axis-sync/index.js.map +1 -0
  611. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -0
  612. package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -0
  613. package/esm/plugin/components/index.d.ts +1 -1
  614. package/esm/plugin/components/index.js +1 -1
  615. package/esm/plugin/components/index.js.map +1 -1
  616. package/esm/plugin/components/register.d.ts +2 -0
  617. package/esm/plugin/components/register.js +6 -0
  618. package/esm/plugin/components/register.js.map +1 -0
  619. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/base.d.ts +10 -9
  620. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/base.js +19 -13
  621. package/esm/plugin/components/tooltip-handler/base.js.map +1 -0
  622. package/{cjs/component/tooltip/handler → esm/plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.d.ts +7 -4
  623. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.js +13 -2
  624. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -0
  625. package/esm/plugin/components/tooltip-handler/canvas/index.js.map +1 -0
  626. package/esm/plugin/components/tooltip-handler/constants.js.map +1 -0
  627. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.d.ts +7 -4
  628. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.js +14 -4
  629. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -0
  630. package/esm/plugin/components/tooltip-handler/dom/index.js.map +1 -0
  631. package/esm/plugin/components/tooltip-handler/dom/interface.js.map +1 -0
  632. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -0
  633. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -0
  634. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -0
  635. package/esm/plugin/components/tooltip-handler/dom/model/interface.js +2 -0
  636. package/esm/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -0
  637. package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -0
  638. package/esm/plugin/components/tooltip-handler/dom/model/style-constants.js.map +1 -0
  639. package/esm/plugin/components/tooltip-handler/dom/model/text-model.js.map +1 -0
  640. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -0
  641. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -0
  642. package/esm/plugin/components/tooltip-handler/dom/util.js.map +1 -0
  643. package/esm/plugin/components/tooltip-handler/index.js.map +1 -0
  644. package/esm/plugin/components/tooltip-handler/interface/common.d.ts +4 -0
  645. package/esm/plugin/components/tooltip-handler/interface/common.js +2 -0
  646. package/esm/plugin/components/tooltip-handler/interface/common.js.map +1 -0
  647. package/esm/plugin/components/tooltip-handler/interface/index.d.ts +2 -0
  648. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/index.js +2 -0
  649. package/esm/plugin/components/tooltip-handler/interface/index.js.map +1 -0
  650. package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -0
  651. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.d.ts +1 -2
  652. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -0
  653. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.d.ts +1 -1
  654. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -0
  655. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/compose.d.ts +1 -2
  656. package/esm/plugin/components/tooltip-handler/utils/compose.js +94 -0
  657. package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -0
  658. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.d.ts +1 -1
  659. package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.js +2 -2
  660. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -0
  661. package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -0
  662. package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +1 -0
  663. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -0
  664. package/esm/region/interface.d.ts +0 -3
  665. package/esm/region/interface.js.map +1 -1
  666. package/esm/region/region.js +1 -1
  667. package/esm/region/region.js.map +1 -1
  668. package/esm/series/area/area-transformer.js +3 -2
  669. package/esm/series/area/area-transformer.js.map +1 -1
  670. package/esm/series/area/area.js +5 -4
  671. package/esm/series/area/area.js.map +1 -1
  672. package/esm/series/bar/bar.d.ts +12 -3
  673. package/esm/series/bar/bar.js +136 -57
  674. package/esm/series/bar/bar.js.map +1 -1
  675. package/esm/series/bar/interface.d.ts +5 -2
  676. package/esm/series/bar/interface.js.map +1 -1
  677. package/esm/series/base/base-series.d.ts +30 -5
  678. package/esm/series/base/base-series.js +75 -22
  679. package/esm/series/base/base-series.js.map +1 -1
  680. package/esm/series/box-plot/box-plot.js +3 -4
  681. package/esm/series/box-plot/box-plot.js.map +1 -1
  682. package/esm/series/cartesian/cartesian.d.ts +6 -0
  683. package/esm/series/cartesian/cartesian.js +27 -16
  684. package/esm/series/cartesian/cartesian.js.map +1 -1
  685. package/esm/series/circle-packing/circle-packing.js +2 -2
  686. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  687. package/esm/series/correlation/correlation.js +8 -6
  688. package/esm/series/correlation/correlation.js.map +1 -1
  689. package/esm/series/dot/dot.js +12 -12
  690. package/esm/series/dot/dot.js.map +1 -1
  691. package/esm/series/funnel/funnel.js +13 -11
  692. package/esm/series/funnel/funnel.js.map +1 -1
  693. package/esm/series/gauge/gauge-pointer.d.ts +1 -0
  694. package/esm/series/gauge/gauge-pointer.js +4 -1
  695. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  696. package/esm/series/gauge/gauge.js +4 -4
  697. package/esm/series/gauge/gauge.js.map +1 -1
  698. package/esm/series/heatmap/heatmap.d.ts +1 -0
  699. package/esm/series/heatmap/heatmap.js +9 -4
  700. package/esm/series/heatmap/heatmap.js.map +1 -1
  701. package/esm/series/interface/common.d.ts +1 -1
  702. package/esm/series/interface/common.js.map +1 -1
  703. package/esm/series/interface/series.d.ts +0 -2
  704. package/esm/series/interface/series.js.map +1 -1
  705. package/esm/series/interface/theme.d.ts +2 -0
  706. package/esm/series/interface/theme.js +4 -1
  707. package/esm/series/interface/theme.js.map +1 -1
  708. package/esm/series/interface/type.d.ts +6 -2
  709. package/esm/series/interface/type.js +4 -2
  710. package/esm/series/interface/type.js.map +1 -1
  711. package/esm/series/link/link.d.ts +1 -0
  712. package/esm/series/link/link.js +9 -4
  713. package/esm/series/link/link.js.map +1 -1
  714. package/esm/series/liquid/animation.d.ts +14 -0
  715. package/esm/series/liquid/animation.js +55 -0
  716. package/esm/series/liquid/animation.js.map +1 -0
  717. package/esm/series/liquid/constant.d.ts +2 -0
  718. package/esm/series/liquid/constant.js +21 -0
  719. package/esm/series/liquid/constant.js.map +1 -0
  720. package/esm/series/liquid/interface.d.ts +35 -0
  721. package/esm/series/liquid/interface.js +2 -0
  722. package/esm/series/liquid/interface.js.map +1 -0
  723. package/esm/series/liquid/liquid.d.ts +50 -0
  724. package/esm/series/liquid/liquid.js +218 -0
  725. package/esm/series/liquid/liquid.js.map +1 -0
  726. package/esm/series/liquid/tooltip-helper.d.ts +9 -0
  727. package/esm/series/liquid/tooltip-helper.js +29 -0
  728. package/esm/series/liquid/tooltip-helper.js.map +1 -0
  729. package/esm/series/liquid/util.d.ts +2 -0
  730. package/esm/series/liquid/util.js +7 -0
  731. package/esm/series/liquid/util.js.map +1 -0
  732. package/esm/series/map/map.js +4 -4
  733. package/esm/series/map/map.js.map +1 -1
  734. package/esm/series/mixin/line-mixin.d.ts +0 -2
  735. package/esm/series/mixin/line-mixin.js +11 -8
  736. package/esm/series/mixin/line-mixin.js.map +1 -1
  737. package/esm/series/pie/pie.d.ts +1 -0
  738. package/esm/series/pie/pie.js +9 -5
  739. package/esm/series/pie/pie.js.map +1 -1
  740. package/esm/series/polar/polar.js +1 -1
  741. package/esm/series/polar/polar.js.map +1 -1
  742. package/esm/series/progress/circular/circular.d.ts +1 -0
  743. package/esm/series/progress/circular/circular.js +15 -8
  744. package/esm/series/progress/circular/circular.js.map +1 -1
  745. package/esm/series/progress/linear/linear.d.ts +1 -0
  746. package/esm/series/progress/linear/linear.js +56 -52
  747. package/esm/series/progress/linear/linear.js.map +1 -1
  748. package/esm/series/radar/radar.js +4 -3
  749. package/esm/series/radar/radar.js.map +1 -1
  750. package/esm/series/range-area/range-area.js +4 -3
  751. package/esm/series/range-area/range-area.js.map +1 -1
  752. package/esm/series/range-column/range-column.js +7 -6
  753. package/esm/series/range-column/range-column.js.map +1 -1
  754. package/esm/series/rose/rose.js +5 -4
  755. package/esm/series/rose/rose.js.map +1 -1
  756. package/esm/series/sankey/sankey.js +11 -10
  757. package/esm/series/sankey/sankey.js.map +1 -1
  758. package/esm/series/scatter/scatter.js +6 -5
  759. package/esm/series/scatter/scatter.js.map +1 -1
  760. package/esm/series/sunburst/sunburst.js +5 -4
  761. package/esm/series/sunburst/sunburst.js.map +1 -1
  762. package/esm/series/treemap/treemap.js +7 -5
  763. package/esm/series/treemap/treemap.js.map +1 -1
  764. package/esm/series/waterfall/waterfall.js +3 -2
  765. package/esm/series/waterfall/waterfall.js.map +1 -1
  766. package/esm/series/word-cloud/base.d.ts +5 -5
  767. package/esm/series/word-cloud/base.js +39 -45
  768. package/esm/series/word-cloud/base.js.map +1 -1
  769. package/esm/series/word-cloud/word-cloud-3d.js +4 -25
  770. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  771. package/esm/theme/builtin/common/mark.js +2 -2
  772. package/esm/theme/builtin/common/mark.js.map +1 -1
  773. package/esm/theme/builtin/common/series/funnel.js +0 -2
  774. package/esm/theme/builtin/common/series/funnel.js.map +1 -1
  775. package/esm/theme/builtin/common/series/funnel3d.js +0 -2
  776. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
  777. package/esm/theme/builtin/common/series/index.js +4 -1
  778. package/esm/theme/builtin/common/series/index.js.map +1 -1
  779. package/esm/theme/builtin/common/series/liquid.d.ts +2 -0
  780. package/esm/theme/builtin/common/series/liquid.js +15 -0
  781. package/esm/theme/builtin/common/series/liquid.js.map +1 -0
  782. package/esm/theme/builtin/common/series/waterfall.js +1 -2
  783. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  784. package/esm/typings/layout.d.ts +1 -0
  785. package/esm/typings/layout.js.map +1 -1
  786. package/esm/typings/spec/common.d.ts +3 -2
  787. package/esm/typings/spec/common.js.map +1 -1
  788. package/esm/typings/tooltip/line.d.ts +4 -0
  789. package/esm/typings/tooltip/line.js.map +1 -1
  790. package/esm/typings/visual.d.ts +6 -0
  791. package/esm/typings/visual.js.map +1 -1
  792. package/esm/util/model.js.map +1 -1
  793. package/esm/vchart-all.js +7 -1
  794. package/esm/vchart-all.js.map +1 -1
  795. package/esm/vchart-simple.js +5 -1
  796. package/esm/vchart-simple.js.map +1 -1
  797. package/package.json +10 -10
  798. package/cjs/component/tooltip/handler/base.js.map +0 -1
  799. package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +0 -1
  800. package/cjs/component/tooltip/handler/canvas/index.js.map +0 -1
  801. package/cjs/component/tooltip/handler/constants.js.map +0 -1
  802. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +0 -1
  803. package/cjs/component/tooltip/handler/dom/index.js.map +0 -1
  804. package/cjs/component/tooltip/handler/dom/interface.js.map +0 -1
  805. package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +0 -1
  806. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +0 -1
  807. package/cjs/component/tooltip/handler/dom/model/content-model.js.map +0 -1
  808. package/cjs/component/tooltip/handler/dom/model/interface.js.map +0 -1
  809. package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +0 -1
  810. package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +0 -1
  811. package/cjs/component/tooltip/handler/dom/model/text-model.js.map +0 -1
  812. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +0 -1
  813. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +0 -1
  814. package/cjs/component/tooltip/handler/dom/util.js.map +0 -1
  815. package/cjs/component/tooltip/handler/index.js.map +0 -1
  816. package/cjs/component/tooltip/handler/interface/index.d.ts +0 -1
  817. package/cjs/component/tooltip/handler/interface/index.js.map +0 -1
  818. package/cjs/component/tooltip/handler/interface/style.js.map +0 -1
  819. package/cjs/component/tooltip/handler/utils/attribute.js.map +0 -1
  820. package/cjs/component/tooltip/handler/utils/common.js.map +0 -1
  821. package/cjs/component/tooltip/handler/utils/compose.js +0 -106
  822. package/cjs/component/tooltip/handler/utils/compose.js.map +0 -1
  823. package/cjs/component/tooltip/handler/utils/get-spec.js.map +0 -1
  824. package/cjs/component/tooltip/handler/utils/index.js.map +0 -1
  825. package/cjs/component/tooltip/handler/utils/pattern.js.map +0 -1
  826. package/cjs/component/tooltip/handler/utils/position.js.map +0 -1
  827. package/cjs/interaction/trigger.d.ts +0 -39
  828. package/cjs/interaction/trigger.js +0 -141
  829. package/cjs/interaction/trigger.js.map +0 -1
  830. package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +0 -1
  831. package/cjs/plugin/components/axis-sync-plugin/index.js.map +0 -1
  832. package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js.map +0 -1
  833. package/cjs/plugin/components/axis-sync-plugin/zero-align-transform.js.map +0 -1
  834. package/esm/component/tooltip/handler/base.js.map +0 -1
  835. package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +0 -1
  836. package/esm/component/tooltip/handler/canvas/index.js.map +0 -1
  837. package/esm/component/tooltip/handler/constants.js.map +0 -1
  838. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +0 -1
  839. package/esm/component/tooltip/handler/dom/index.js.map +0 -1
  840. package/esm/component/tooltip/handler/dom/interface.js.map +0 -1
  841. package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +0 -1
  842. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +0 -1
  843. package/esm/component/tooltip/handler/dom/model/content-model.js.map +0 -1
  844. package/esm/component/tooltip/handler/dom/model/interface.js.map +0 -1
  845. package/esm/component/tooltip/handler/dom/model/shape-model.js.map +0 -1
  846. package/esm/component/tooltip/handler/dom/model/style-constants.js.map +0 -1
  847. package/esm/component/tooltip/handler/dom/model/text-model.js.map +0 -1
  848. package/esm/component/tooltip/handler/dom/model/title-model.js.map +0 -1
  849. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +0 -1
  850. package/esm/component/tooltip/handler/dom/util.js.map +0 -1
  851. package/esm/component/tooltip/handler/index.js.map +0 -1
  852. package/esm/component/tooltip/handler/interface/index.d.ts +0 -1
  853. package/esm/component/tooltip/handler/interface/index.js.map +0 -1
  854. package/esm/component/tooltip/handler/interface/style.js.map +0 -1
  855. package/esm/component/tooltip/handler/utils/attribute.js.map +0 -1
  856. package/esm/component/tooltip/handler/utils/common.js.map +0 -1
  857. package/esm/component/tooltip/handler/utils/compose.js +0 -89
  858. package/esm/component/tooltip/handler/utils/compose.js.map +0 -1
  859. package/esm/component/tooltip/handler/utils/get-spec.js.map +0 -1
  860. package/esm/component/tooltip/handler/utils/index.js.map +0 -1
  861. package/esm/component/tooltip/handler/utils/pattern.js.map +0 -1
  862. package/esm/component/tooltip/handler/utils/position.js.map +0 -1
  863. package/esm/interaction/trigger.d.ts +0 -39
  864. package/esm/interaction/trigger.js +0 -142
  865. package/esm/interaction/trigger.js.map +0 -1
  866. package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +0 -1
  867. package/esm/plugin/components/axis-sync-plugin/index.js.map +0 -1
  868. package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js.map +0 -1
  869. package/esm/plugin/components/axis-sync-plugin/zero-align-transform.js.map +0 -1
  870. /package/cjs/{component/tooltip/handler/dom → chart/liquid}/interface.js +0 -0
  871. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.d.ts +0 -0
  872. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.js +0 -0
  873. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/index.d.ts +0 -0
  874. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/index.js +0 -0
  875. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.d.ts +0 -0
  876. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.js +0 -0
  877. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.d.ts +0 -0
  878. /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.js +0 -0
  879. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.d.ts +0 -0
  880. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.js +0 -0
  881. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.d.ts +0 -0
  882. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.js +0 -0
  883. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.d.ts +0 -0
  884. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.js +0 -0
  885. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/interface.d.ts +0 -0
  886. /package/cjs/{component/tooltip/handler/dom/model → plugin/components/tooltip-handler/dom}/interface.js +0 -0
  887. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.d.ts +0 -0
  888. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.js +0 -0
  889. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.d.ts +0 -0
  890. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.js +0 -0
  891. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.d.ts +0 -0
  892. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.js +0 -0
  893. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/interface.d.ts +0 -0
  894. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.d.ts +0 -0
  895. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.js +0 -0
  896. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.d.ts +0 -0
  897. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.js +0 -0
  898. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.d.ts +0 -0
  899. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.js +0 -0
  900. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.d.ts +0 -0
  901. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.js +0 -0
  902. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.d.ts +0 -0
  903. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.js +0 -0
  904. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.d.ts +0 -0
  905. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.js +0 -0
  906. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/index.d.ts +0 -0
  907. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/index.js +0 -0
  908. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.d.ts +0 -0
  909. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.js +0 -0
  910. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.js +0 -0
  911. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.js +0 -0
  912. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.d.ts +0 -0
  913. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.js +0 -0
  914. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.d.ts +0 -0
  915. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.js +0 -0
  916. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.d.ts +0 -0
  917. /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.js +0 -0
  918. /package/esm/{component/tooltip/handler/dom → chart/liquid}/interface.js +0 -0
  919. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.d.ts +0 -0
  920. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.js +0 -0
  921. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/index.d.ts +0 -0
  922. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/index.js +0 -0
  923. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.d.ts +0 -0
  924. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.js +0 -0
  925. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.d.ts +0 -0
  926. /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.js +0 -0
  927. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.d.ts +0 -0
  928. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.js +0 -0
  929. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.d.ts +0 -0
  930. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.js +0 -0
  931. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.d.ts +0 -0
  932. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.js +0 -0
  933. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/interface.d.ts +0 -0
  934. /package/esm/{component/tooltip/handler/dom/model → plugin/components/tooltip-handler/dom}/interface.js +0 -0
  935. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.d.ts +0 -0
  936. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.js +0 -0
  937. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.d.ts +0 -0
  938. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.js +0 -0
  939. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.d.ts +0 -0
  940. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.js +0 -0
  941. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/interface.d.ts +0 -0
  942. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.d.ts +0 -0
  943. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.js +0 -0
  944. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.d.ts +0 -0
  945. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.js +0 -0
  946. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.d.ts +0 -0
  947. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.js +0 -0
  948. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.d.ts +0 -0
  949. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.js +0 -0
  950. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.d.ts +0 -0
  951. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.js +0 -0
  952. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.d.ts +0 -0
  953. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.js +0 -0
  954. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/index.d.ts +0 -0
  955. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/index.js +0 -0
  956. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.d.ts +0 -0
  957. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.js +0 -0
  958. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.js +0 -0
  959. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.js +0 -0
  960. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.d.ts +0 -0
  961. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.js +0 -0
  962. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.d.ts +0 -0
  963. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.js +0 -0
  964. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.d.ts +0 -0
  965. /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/layout/layout-item.ts"],"names":[],"mappings":"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","file":"layout-item.js","sourcesContent":["import type { ILayoutModel } from './../model/interface';\nimport type { IPadding, IRect, IPoint } from '../typings';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isNil, isValidNumber } from '@visactor/vutils';\nimport { calcLayoutNumber, calcPadding, normalizeLayoutPaddingSpec, boundsInRect } from '../util/space';\nimport { LayoutLevel, DEFAULT_LAYOUT_RECT_LEVEL, USER_LAYOUT_RECT_LEVEL } from '../constant';\n\nimport type { ILayoutItem, ILayoutItemInitOption, ILayoutItemSpec } from './interface';\nimport type { IChartLayoutOption } from '../chart/interface/common';\nimport type { ILayoutPoint, ILayoutRect } from '../typings/layout';\n\nexport class LayoutItem implements ILayoutItem {\n protected _spec: ILayoutItemSpec;\n getSpec() {\n return this._spec || {};\n }\n\n layoutClip: boolean = false;\n\n autoIndent: boolean = false;\n\n private _layoutStartPoint: ILayoutPoint = {\n x: 0,\n y: 0\n };\n\n getLayoutStartPoint(): ILayoutPoint {\n return this._layoutStartPoint;\n }\n\n private _layoutRect: ILayoutRect = { width: 0, height: 0 };\n\n // 处理用户和逻辑的优先级覆盖,让用户也可以设置 rect\n protected _layoutRectLevelMap: ILayoutRect = {\n width: DEFAULT_LAYOUT_RECT_LEVEL,\n height: DEFAULT_LAYOUT_RECT_LEVEL\n };\n get layoutRectLevelMap() {\n return this._layoutRectLevelMap;\n }\n\n protected _minWidth: number = null;\n get minWidth() {\n return this._minWidth;\n }\n set minWidth(v: number) {\n this._minWidth = v;\n }\n protected _maxWidth: number = null;\n get maxWidth() {\n return this._maxWidth;\n }\n set maxWidth(v: number) {\n this._maxWidth = v;\n }\n protected _minHeight: number = null;\n get minHeight() {\n return this._minHeight;\n }\n set minHeight(v: number) {\n this._minHeight = v;\n }\n protected _maxHeight: number = null;\n get maxHeight() {\n return this._maxHeight;\n }\n set maxHeight(v: number) {\n this._maxHeight = v;\n }\n /** for layout diff */\n protected _lastComputeRect: ILayoutRect = null;\n protected _lastComputeOutBounds: IBoundsLike = { x1: 0, x2: 0, y1: 0, y2: 0 };\n getLastComputeOutBounds(): IBoundsLike {\n return this._lastComputeOutBounds;\n }\n\n getLayoutRect: () => ILayoutRect = () => {\n return this._layoutRect;\n };\n\n layoutType: ILayoutItem['layoutType'] = 'normal';\n\n layoutBindRegionID!: ILayoutItem['layoutBindRegionID'];\n\n _layoutOrient: ILayoutItem['layoutOrient'] = 'left';\n get layoutOrient() {\n return this._layoutOrient;\n }\n set layoutOrient(v: ILayoutItem['layoutOrient']) {\n this._layoutOrient = v;\n }\n layoutPaddingLeft: ILayoutItem['layoutPaddingLeft'] = 0;\n layoutPaddingTop: ILayoutItem['layoutPaddingTop'] = 0;\n layoutPaddingRight: ILayoutItem['layoutPaddingRight'] = 0;\n layoutPaddingBottom: ILayoutItem['layoutPaddingBottom'] = 0;\n\n layoutOffsetX: ILayoutItem['layoutOffsetX'] = 0;\n layoutOffsetY: ILayoutItem['layoutOffsetY'] = 0;\n\n layoutLevel: ILayoutItem['layoutLevel'] = LayoutLevel.Region;\n\n chartLayoutRect!: ILayoutRect;\n\n protected _model: ILayoutModel;\n\n get model() {\n return this._model;\n }\n\n get type() {\n return this._model.type;\n }\n\n protected _option: ILayoutItemInitOption;\n\n constructor(model: ILayoutModel, option: ILayoutItemInitOption) {\n this._model = model;\n this._option = option;\n this.layoutLevel = option.layoutLevel;\n this.layoutType = option.layoutType;\n if (option.layoutOrient) {\n this.layoutOrient = option.layoutOrient;\n }\n this._spec = model?.getSpec?.();\n }\n\n private _setLayoutAttributeFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n if (!this._spec) {\n return;\n }\n if ((this._spec as unknown as any).visible !== false) {\n // 处理 user spec value to px;\n const padding = normalizeLayoutPaddingSpec(spec.padding);\n const paddingValue = calcPadding(padding, chartViewRect, chartViewRect);\n this.layoutPaddingLeft = paddingValue.left;\n this.layoutPaddingRight = paddingValue.right;\n this.layoutPaddingTop = paddingValue.top;\n this.layoutPaddingBottom = paddingValue.bottom;\n\n this._minHeight = isNil(spec.minHeight)\n ? this._minHeight ?? null\n : calcLayoutNumber(spec.minHeight, chartViewRect.height, chartViewRect);\n this._maxHeight = isNil(spec.maxHeight)\n ? this._maxHeight ?? null\n : calcLayoutNumber(spec.maxHeight, chartViewRect.height, chartViewRect);\n this._minWidth = isNil(spec.minWidth)\n ? this._minWidth ?? null\n : calcLayoutNumber(spec.minWidth, chartViewRect.width, chartViewRect);\n this._maxWidth = isNil(spec.maxWidth)\n ? this._maxWidth ?? null\n : calcLayoutNumber(spec.maxWidth, chartViewRect.width, chartViewRect);\n // 处理 user width\n if (spec.width) {\n this.setLayoutRect(\n {\n width: calcLayoutNumber(spec.width, chartViewRect.width, chartViewRect)\n },\n {\n width: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n if (spec.height) {\n this.setLayoutRect(\n {\n height: calcLayoutNumber(spec.height, chartViewRect.height, chartViewRect)\n },\n {\n height: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n\n // offset\n if (!isNil(spec.offsetX)) {\n this.layoutOffsetX = calcLayoutNumber(spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(spec.offsetY)) {\n this.layoutOffsetY = calcLayoutNumber(spec.offsetY, chartViewRect.height, chartViewRect);\n }\n }\n }\n\n setAttrFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n this._spec = spec;\n this.layoutType = spec.layoutType ?? this.layoutType;\n this.layoutLevel = spec.layoutLevel ?? this.layoutLevel;\n this.layoutOrient = spec.orient ?? this.layoutOrient;\n\n this._setLayoutAttributeFromSpec(spec, chartViewRect);\n\n this.layoutClip = spec.clip ?? this.layoutClip;\n }\n\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any) {\n // 在 layoutStart 时重新计算 spec 中的布局属性值,确保 resize 后,这些值保持正确的px值。\n this._setLayoutAttributeFromSpec(this._spec, viewRect);\n }\n\n onLayoutEnd(option: IChartLayoutOption) {\n // do nothing\n }\n\n private _getAbsoluteSpecValue(layoutRect: ILayoutRect) {\n const result: IPadding = { top: null, bottom: null, left: null, right: null };\n ['top', 'bottom', 'left', 'right'].forEach(k => {\n if (!isNil(this._spec[k])) {\n result[k] = calcLayoutNumber(\n this._spec[k],\n k === 'top' || k === 'bottom' ? layoutRect.height : layoutRect.width,\n layoutRect\n );\n }\n });\n return result;\n }\n\n absoluteLayoutInRect(layoutRect: IRect) {\n const { top, bottom, left, right } = this._getAbsoluteSpecValue(layoutRect);\n\n // size first\n const layoutSize = {\n width: layoutRect.width - this.layoutPaddingLeft - this.layoutPaddingRight,\n height: layoutRect.height - this.layoutPaddingTop - this.layoutPaddingBottom\n };\n if (!isNil(left)) {\n layoutSize.width -= left;\n }\n if (!isNil(right)) {\n layoutSize.width -= right;\n }\n if (!isNil(top)) {\n layoutSize.height -= top;\n }\n if (!isNil(bottom)) {\n layoutSize.height -= bottom;\n }\n\n this.setLayoutRect(layoutSize);\n const { width, height } = this.computeBoundsInRect(this.getLayoutRect());\n this.setLayoutRect({ width, height });\n const pos = { x: layoutRect.x, y: layoutRect.y };\n if (this._spec.center === true) {\n pos.x = layoutRect.x + layoutRect.width * 0.5 - width * 0.5;\n pos.y = layoutRect.y + layoutRect.height * 0.5 - height * 0.5;\n } else {\n if (!isNil(left)) {\n pos.x = layoutRect.x + left + this.layoutPaddingLeft;\n } else if (!isNil(right)) {\n pos.x = layoutRect.x + layoutRect.width - this.layoutPaddingRight - right - width;\n }\n if (!isNil(top)) {\n pos.y = layoutRect.y + top + this.layoutPaddingTop;\n } else if (!isNil(bottom)) {\n pos.y = layoutRect.y + layoutRect.height - this.layoutPaddingBottom - bottom - height;\n }\n }\n\n this.setLayoutStartPosition(pos);\n }\n\n setLayoutStartPosition(pos: Partial<IPoint>): void {\n if (this._option.transformLayoutPosition) {\n pos = this._option.transformLayoutPosition(pos);\n }\n if (isValidNumber(pos.x)) {\n this._layoutStartPoint.x = pos.x;\n }\n if (isValidNumber(pos.y)) {\n this._layoutStartPoint.y = pos.y;\n }\n\n this._model.afterSetLayoutStartPoint?.(this._layoutStartPoint);\n }\n\n setLayoutRect({ width, height }: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRect>) {\n if (isValidNumber(width) && (levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.width) {\n this._layoutRect.width = width;\n this._layoutRectLevelMap.width = levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n if (isValidNumber(height) && (levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.height) {\n this._layoutRect.height = height;\n this._layoutRectLevelMap.height = levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n this.setRectInSpec(this._layoutRect);\n }\n\n getLayout(): IRect {\n return {\n x: this._layoutStartPoint.x,\n y: this._layoutStartPoint.y,\n width: this._layoutRect.width,\n height: this._layoutRect.height\n };\n }\n\n mergeLayoutRect({ width, height }: ILayoutRect): ILayoutRect {\n const rect = { width, height };\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.width = this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.height = this._layoutRect.height;\n }\n return rect;\n }\n\n getOrientPosAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'x' : 'y';\n }\n getOrientSizeAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'width' : 'height';\n }\n\n protected changeBoundsBySetting(bounds: IBoundsLike): IBoundsLike {\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.x2 = bounds.x1 + this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.y2 = bounds.y1 + this._layoutRect.height;\n }\n bounds.x1 -= this._layoutStartPoint.x;\n bounds.x2 -= this._layoutStartPoint.x;\n bounds.y1 -= this._layoutStartPoint.y;\n bounds.y2 -= this._layoutStartPoint.y;\n return bounds;\n }\n\n setRectInSpec(rect: ILayoutRect) {\n const result = { ...rect };\n if (this._layoutRectLevelMap.width < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minWidth)) {\n result.width = Math.max(result.width, this._minWidth);\n }\n if (!isNil(this._maxWidth)) {\n result.width = Math.min(result.width, this._maxWidth);\n }\n } else {\n result.width = this._layoutRect.width;\n }\n\n if (this._layoutRectLevelMap.height < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minHeight)) {\n result.height = Math.max(result.height, this._minHeight);\n }\n if (!isNil(this._maxHeight)) {\n result.height = Math.min(result.height, this._maxHeight);\n }\n } else {\n result.height = this._layoutRect.height;\n }\n return result;\n }\n\n computeBoundsInRect(rect: ILayoutRect): ILayoutRect {\n // 保留布局使用的rect\n this._lastComputeRect = rect;\n\n if (\n this.layoutType === 'region-relative' &&\n ((this._layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL &&\n (this.layoutOrient === 'left' || this.layoutOrient === 'right')) ||\n (this._layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL &&\n (this.layoutOrient === 'bottom' || this.layoutOrient === 'top')))\n ) {\n return this._layoutRect;\n }\n // 将布局空间限制到 spec 设置内\n // 避免操作到元素本身的 aabbbounds\n const bounds = { ...this._model.getBoundsInRect(this.setRectInSpec(rect), rect) };\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n this.changeBoundsBySetting(bounds);\n // 保留当前模块的布局超出内容,用来处理自动缩进\n // 当前 bounds 需要有实际宽高\n if (this.autoIndent && bounds.x2 - bounds.x1 > 0 && bounds.y2 - bounds.y1 > 0) {\n this._lastComputeOutBounds.x1 = Math.ceil(-bounds.x1);\n this._lastComputeOutBounds.x2 = Math.ceil(bounds.x2 - rect.width);\n this._lastComputeOutBounds.y1 = Math.ceil(-bounds.y1);\n this._lastComputeOutBounds.y2 = Math.ceil(bounds.y2 - rect.height);\n }\n // 返回的布局大小也要限制到 spec 设置内\n let result = this.setRectInSpec(boundsInRect(bounds, rect));\n if (this._option.transformLayoutRect) {\n result = this._option.transformLayoutRect(result);\n }\n\n return result;\n }\n\n getModelId() {\n return this._model.id;\n }\n\n getModelVisible() {\n return this._model.getVisible();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/layout/layout-item.ts"],"names":[],"mappings":"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","file":"layout-item.js","sourcesContent":["import type { ILayoutModel } from './../model/interface';\nimport type { IPadding, IRect, IPoint } from '../typings';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isNil, isValidNumber } from '@visactor/vutils';\nimport { calcLayoutNumber, calcPadding, normalizeLayoutPaddingSpec, boundsInRect } from '../util/space';\nimport { LayoutLevel, DEFAULT_LAYOUT_RECT_LEVEL, USER_LAYOUT_RECT_LEVEL } from '../constant';\n\nimport type { ILayoutItem, ILayoutItemInitOption, ILayoutItemSpec } from './interface';\nimport type { IChartLayoutOption } from '../chart/interface/common';\nimport type { ILayoutAlignSelf, ILayoutPoint, ILayoutRect } from '../typings/layout';\n\nexport class LayoutItem implements ILayoutItem {\n protected _spec: ILayoutItemSpec;\n getSpec() {\n return this._spec || {};\n }\n\n layoutClip: boolean = false;\n\n autoIndent: boolean = false;\n\n private _layoutStartPoint: ILayoutPoint = {\n x: 0,\n y: 0\n };\n\n getLayoutStartPoint(): ILayoutPoint {\n return this._layoutStartPoint;\n }\n\n private _layoutRect: ILayoutRect = { width: 0, height: 0 };\n\n // 处理用户和逻辑的优先级覆盖,让用户也可以设置 rect\n protected _layoutRectLevelMap: ILayoutRect = {\n width: DEFAULT_LAYOUT_RECT_LEVEL,\n height: DEFAULT_LAYOUT_RECT_LEVEL\n };\n get layoutRectLevelMap() {\n return this._layoutRectLevelMap;\n }\n\n protected _minWidth: number = null;\n get minWidth() {\n return this._minWidth;\n }\n set minWidth(v: number) {\n this._minWidth = v;\n }\n protected _maxWidth: number = null;\n get maxWidth() {\n return this._maxWidth;\n }\n set maxWidth(v: number) {\n this._maxWidth = v;\n }\n protected _minHeight: number = null;\n get minHeight() {\n return this._minHeight;\n }\n set minHeight(v: number) {\n this._minHeight = v;\n }\n protected _maxHeight: number = null;\n get maxHeight() {\n return this._maxHeight;\n }\n set maxHeight(v: number) {\n this._maxHeight = v;\n }\n /** for layout diff */\n protected _lastComputeRect: ILayoutRect = null;\n protected _lastComputeOutBounds: IBoundsLike = { x1: 0, x2: 0, y1: 0, y2: 0 };\n getLastComputeOutBounds(): IBoundsLike {\n return this._lastComputeOutBounds;\n }\n\n getLayoutRect: () => ILayoutRect = () => {\n return this._layoutRect;\n };\n\n layoutType: ILayoutItem['layoutType'] = 'normal';\n\n layoutBindRegionID!: ILayoutItem['layoutBindRegionID'];\n\n _layoutOrient: ILayoutItem['layoutOrient'] = 'left';\n get layoutOrient() {\n return this._layoutOrient;\n }\n set layoutOrient(v: ILayoutItem['layoutOrient']) {\n this._layoutOrient = v;\n }\n layoutPaddingLeft: ILayoutItem['layoutPaddingLeft'] = 0;\n layoutPaddingTop: ILayoutItem['layoutPaddingTop'] = 0;\n layoutPaddingRight: ILayoutItem['layoutPaddingRight'] = 0;\n layoutPaddingBottom: ILayoutItem['layoutPaddingBottom'] = 0;\n\n layoutOffsetX: ILayoutItem['layoutOffsetX'] = 0;\n layoutOffsetY: ILayoutItem['layoutOffsetY'] = 0;\n\n layoutLevel: ILayoutItem['layoutLevel'] = LayoutLevel.Region;\n\n chartLayoutRect!: ILayoutRect;\n\n alignSelf: ILayoutAlignSelf;\n\n protected _model: ILayoutModel;\n\n get model() {\n return this._model;\n }\n\n get type() {\n return this._model.type;\n }\n\n protected _option: ILayoutItemInitOption;\n\n constructor(model: ILayoutModel, option: ILayoutItemInitOption) {\n this._model = model;\n this._option = option;\n this.layoutLevel = option.layoutLevel;\n this.layoutType = option.layoutType;\n if (option.layoutOrient) {\n this.layoutOrient = option.layoutOrient;\n }\n this._spec = model?.getSpec?.();\n }\n\n private _setLayoutAttributeFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n if (!this._spec) {\n return;\n }\n if ((this._spec as unknown as any).visible !== false) {\n // 处理 user spec value to px;\n const padding = normalizeLayoutPaddingSpec(spec.padding);\n const paddingValue = calcPadding(padding, chartViewRect, chartViewRect);\n this.layoutPaddingLeft = paddingValue.left;\n this.layoutPaddingRight = paddingValue.right;\n this.layoutPaddingTop = paddingValue.top;\n this.layoutPaddingBottom = paddingValue.bottom;\n\n this._minHeight = isNil(spec.minHeight)\n ? this._minHeight ?? null\n : calcLayoutNumber(spec.minHeight, chartViewRect.height, chartViewRect);\n this._maxHeight = isNil(spec.maxHeight)\n ? this._maxHeight ?? null\n : calcLayoutNumber(spec.maxHeight, chartViewRect.height, chartViewRect);\n this._minWidth = isNil(spec.minWidth)\n ? this._minWidth ?? null\n : calcLayoutNumber(spec.minWidth, chartViewRect.width, chartViewRect);\n this._maxWidth = isNil(spec.maxWidth)\n ? this._maxWidth ?? null\n : calcLayoutNumber(spec.maxWidth, chartViewRect.width, chartViewRect);\n // 处理 user width\n if (spec.width) {\n this.setLayoutRect(\n {\n width: calcLayoutNumber(spec.width, chartViewRect.width, chartViewRect)\n },\n {\n width: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n if (spec.height) {\n this.setLayoutRect(\n {\n height: calcLayoutNumber(spec.height, chartViewRect.height, chartViewRect)\n },\n {\n height: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n\n // offset\n if (!isNil(spec.offsetX)) {\n this.layoutOffsetX = calcLayoutNumber(spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(spec.offsetY)) {\n this.layoutOffsetY = calcLayoutNumber(spec.offsetY, chartViewRect.height, chartViewRect);\n }\n\n if (spec.alignSelf) {\n this.alignSelf = spec.alignSelf;\n }\n }\n }\n\n setAttrFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n this._spec = spec;\n this.layoutType = spec.layoutType ?? this.layoutType;\n this.layoutLevel = spec.layoutLevel ?? this.layoutLevel;\n this.layoutOrient = spec.orient ?? this.layoutOrient;\n\n this._setLayoutAttributeFromSpec(spec, chartViewRect);\n\n this.layoutClip = spec.clip ?? this.layoutClip;\n }\n\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any) {\n // 在 layoutStart 时重新计算 spec 中的布局属性值,确保 resize 后,这些值保持正确的px值。\n this._setLayoutAttributeFromSpec(this._spec, viewRect);\n }\n\n onLayoutEnd(option: IChartLayoutOption) {\n // do nothing\n }\n\n private _getAbsoluteSpecValue(layoutRect: ILayoutRect) {\n const result: IPadding = { top: null, bottom: null, left: null, right: null };\n ['top', 'bottom', 'left', 'right'].forEach(k => {\n if (!isNil(this._spec[k])) {\n result[k] = calcLayoutNumber(\n this._spec[k],\n k === 'top' || k === 'bottom' ? layoutRect.height : layoutRect.width,\n layoutRect\n );\n }\n });\n return result;\n }\n\n absoluteLayoutInRect(layoutRect: IRect) {\n const { top, bottom, left, right } = this._getAbsoluteSpecValue(layoutRect);\n\n // size first\n const layoutSize = {\n width: layoutRect.width - this.layoutPaddingLeft - this.layoutPaddingRight,\n height: layoutRect.height - this.layoutPaddingTop - this.layoutPaddingBottom\n };\n if (!isNil(left)) {\n layoutSize.width -= left;\n }\n if (!isNil(right)) {\n layoutSize.width -= right;\n }\n if (!isNil(top)) {\n layoutSize.height -= top;\n }\n if (!isNil(bottom)) {\n layoutSize.height -= bottom;\n }\n\n this.setLayoutRect(layoutSize);\n const { width, height } = this.computeBoundsInRect(this.getLayoutRect());\n this.setLayoutRect({ width, height });\n const pos = { x: layoutRect.x, y: layoutRect.y };\n if (this._spec.center === true) {\n pos.x = layoutRect.x + layoutRect.width * 0.5 - width * 0.5;\n pos.y = layoutRect.y + layoutRect.height * 0.5 - height * 0.5;\n } else {\n if (!isNil(left)) {\n pos.x = layoutRect.x + left + this.layoutPaddingLeft;\n } else if (!isNil(right)) {\n pos.x = layoutRect.x + layoutRect.width - this.layoutPaddingRight - right - width;\n }\n if (!isNil(top)) {\n pos.y = layoutRect.y + top + this.layoutPaddingTop;\n } else if (!isNil(bottom)) {\n pos.y = layoutRect.y + layoutRect.height - this.layoutPaddingBottom - bottom - height;\n }\n }\n\n this.setLayoutStartPosition(pos);\n }\n\n setLayoutStartPosition(pos: Partial<IPoint>): void {\n if (this._option.transformLayoutPosition) {\n pos = this._option.transformLayoutPosition(pos);\n }\n if (isValidNumber(pos.x)) {\n this._layoutStartPoint.x = pos.x;\n }\n if (isValidNumber(pos.y)) {\n this._layoutStartPoint.y = pos.y;\n }\n\n this._model.afterSetLayoutStartPoint?.(this._layoutStartPoint);\n }\n\n setLayoutRect({ width, height }: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRect>) {\n if (isValidNumber(width) && (levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.width) {\n this._layoutRect.width = width;\n this._layoutRectLevelMap.width = levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n if (isValidNumber(height) && (levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.height) {\n this._layoutRect.height = height;\n this._layoutRectLevelMap.height = levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n this.setRectInSpec(this._layoutRect);\n }\n\n getLayout(): IRect {\n return {\n x: this._layoutStartPoint.x,\n y: this._layoutStartPoint.y,\n width: this._layoutRect.width,\n height: this._layoutRect.height\n };\n }\n\n mergeLayoutRect({ width, height }: ILayoutRect): ILayoutRect {\n const rect = { width, height };\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.width = this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.height = this._layoutRect.height;\n }\n return rect;\n }\n\n getOrientPosAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'x' : 'y';\n }\n getOrientSizeAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'width' : 'height';\n }\n\n protected changeBoundsBySetting(bounds: IBoundsLike): IBoundsLike {\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.x2 = bounds.x1 + this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.y2 = bounds.y1 + this._layoutRect.height;\n }\n bounds.x1 -= this._layoutStartPoint.x;\n bounds.x2 -= this._layoutStartPoint.x;\n bounds.y1 -= this._layoutStartPoint.y;\n bounds.y2 -= this._layoutStartPoint.y;\n return bounds;\n }\n\n setRectInSpec(rect: ILayoutRect) {\n const result = { ...rect };\n if (this._layoutRectLevelMap.width < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minWidth)) {\n result.width = Math.max(result.width, this._minWidth);\n }\n if (!isNil(this._maxWidth)) {\n result.width = Math.min(result.width, this._maxWidth);\n }\n } else {\n result.width = this._layoutRect.width;\n }\n\n if (this._layoutRectLevelMap.height < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minHeight)) {\n result.height = Math.max(result.height, this._minHeight);\n }\n if (!isNil(this._maxHeight)) {\n result.height = Math.min(result.height, this._maxHeight);\n }\n } else {\n result.height = this._layoutRect.height;\n }\n return result;\n }\n\n computeBoundsInRect(rect: ILayoutRect): ILayoutRect {\n // 保留布局使用的rect\n this._lastComputeRect = rect;\n\n if (\n this.layoutType === 'region-relative' &&\n ((this._layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL &&\n (this.layoutOrient === 'left' || this.layoutOrient === 'right')) ||\n (this._layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL &&\n (this.layoutOrient === 'bottom' || this.layoutOrient === 'top')))\n ) {\n return this._layoutRect;\n }\n // 将布局空间限制到 spec 设置内\n // 避免操作到元素本身的 aabbbounds\n const bounds = { ...this._model.getBoundsInRect(this.setRectInSpec(rect), rect) };\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n this.changeBoundsBySetting(bounds);\n // 保留当前模块的布局超出内容,用来处理自动缩进\n // 当前 bounds 需要有实际宽高\n if (this.autoIndent && bounds.x2 - bounds.x1 > 0 && bounds.y2 - bounds.y1 > 0) {\n this._lastComputeOutBounds.x1 = Math.ceil(-bounds.x1);\n this._lastComputeOutBounds.x2 = Math.ceil(bounds.x2 - rect.width);\n this._lastComputeOutBounds.y1 = Math.ceil(-bounds.y1);\n this._lastComputeOutBounds.y2 = Math.ceil(bounds.y2 - rect.height);\n }\n // 返回的布局大小也要限制到 spec 设置内\n let result = this.setRectInSpec(boundsInRect(bounds, rect));\n if (this._option.transformLayoutRect) {\n result = this._option.transformLayoutRect(result);\n }\n\n return result;\n }\n\n getModelId() {\n return this._model.id;\n }\n\n getModelVisible() {\n return this._model.getVisible();\n }\n}\n"]}
@@ -31,6 +31,23 @@ function adjustItemsToCenter(allItems, isVertical, containerLength) {
31
31
  }));
32
32
  }
33
33
 
34
+ function alignSelfOfItems(allItems, isVertical, maxSizes, sign) {
35
+ let maxSize;
36
+ allItems.forEach(((lineItems, index) => {
37
+ lineItems.length > 1 && (maxSize = maxSizes[index], lineItems.forEach((item => {
38
+ if (!item.alignSelf || "start" === item.alignSelf) return;
39
+ const pos = item.getLayoutStartPoint(), ratio = "middle" === item.alignSelf ? .5 : 1, delta = isVertical ? maxSize - (item.getLayoutRect().width + item.layoutPaddingLeft + item.layoutPaddingRight) : maxSize - (item.getLayoutRect().height + item.layoutPaddingTop + item.layoutPaddingBottom);
40
+ isVertical ? item.setLayoutStartPosition({
41
+ x: pos.x + sign * delta * ratio,
42
+ y: pos.y
43
+ }) : item.setLayoutStartPosition({
44
+ x: pos.x,
45
+ y: pos.y + sign * delta * ratio
46
+ });
47
+ })));
48
+ }));
49
+ }
50
+
34
51
  function layoutLeftRightStartOrMiddleItems(items, layout, limitHeight, isMiddle, position) {
35
52
  if (items.length) {
36
53
  let maxWidth = 0;
@@ -38,6 +55,7 @@ function layoutLeftRightStartOrMiddleItems(items, layout, limitHeight, isMiddle,
38
55
  let preX = isRight ? layout.rightCurrent : layout.leftCurrent, preTop = layout.topCurrent;
39
56
  const allItems = [];
40
57
  let singleLineItems = [];
58
+ const maxWidths = [];
41
59
  items.forEach((item => {
42
60
  const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
43
61
  item.setLayoutRect(rect);
@@ -45,12 +63,41 @@ function layoutLeftRightStartOrMiddleItems(items, layout, limitHeight, isMiddle,
45
63
  item.setLayoutStartPosition({
46
64
  x: preX + item.layoutOffsetX + itemOffsetX,
47
65
  y: preTop + item.layoutOffsetY + item.layoutPaddingTop
48
- }), maxWidth = Math.max(maxWidth, itemTotalWidth), preTop += itemTotalHeight, preTop > limitHeight && singleLineItems.length ? (preX += xSign * maxWidth,
49
- maxWidth = itemTotalWidth, preTop = layout.topCurrent + itemTotalHeight, item.setLayoutStartPosition({
66
+ }), preTop += itemTotalHeight, preTop > limitHeight && singleLineItems.length ? (maxWidths.push(maxWidth),
67
+ preX += xSign * maxWidth, maxWidth = itemTotalWidth, preTop = layout.topCurrent + itemTotalHeight,
68
+ item.setLayoutStartPosition({
50
69
  x: preX + item.layoutOffsetX + itemOffsetX,
51
70
  y: layout.topCurrent + item.layoutOffsetY + item.layoutPaddingTop
52
- }), allItems.push(singleLineItems), singleLineItems = [ item ]) : singleLineItems.push(item);
53
- })), allItems.push(singleLineItems), isMiddle && adjustItemsToCenter(allItems, !0, limitHeight),
71
+ }), allItems.push(singleLineItems), singleLineItems = [ item ]) : (maxWidth = Math.max(maxWidth, itemTotalWidth),
72
+ singleLineItems.push(item));
73
+ })), maxWidths.push(maxWidth), allItems.push(singleLineItems), alignSelfOfItems(allItems, !0, maxWidths, xSign),
74
+ isMiddle && adjustItemsToCenter(allItems, !0, limitHeight), isRight ? layout.rightCurrent = preX + xSign * maxWidth : layout.leftCurrent = preX + xSign * maxWidth;
75
+ }
76
+ }
77
+
78
+ function layoutLeftRightEndItems(items, layout, limitWidth, position) {
79
+ if (items.length) {
80
+ let maxWidth = 0;
81
+ const isRight = "right" === position, xSign = isRight ? -1 : 1;
82
+ let preX = isRight ? layout.rightCurrent : layout.leftCurrent, preBottom = layout.bottomCurrent;
83
+ const allItems = [];
84
+ let singleLineItems = [];
85
+ const maxWidths = [];
86
+ items.forEach((item => {
87
+ const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
88
+ item.setLayoutRect(rect);
89
+ const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight, itemOffsetX = isRight ? -rect.width - item.layoutPaddingRight : item.layoutPaddingLeft;
90
+ preBottom < itemTotalHeight && singleLineItems.length ? (maxWidths.push(maxWidth),
91
+ preX += xSign * maxWidth, maxWidth = itemTotalWidth, preBottom = layout.bottomCurrent,
92
+ item.setLayoutStartPosition({
93
+ x: preX + item.layoutOffsetX + itemOffsetX,
94
+ y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
95
+ }), allItems.push(singleLineItems), singleLineItems = [ item ]) : (item.setLayoutStartPosition({
96
+ x: preX + item.layoutOffsetX + itemOffsetX,
97
+ y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
98
+ }), maxWidth = Math.max(maxWidth, itemTotalWidth), preBottom -= itemTotalHeight,
99
+ singleLineItems.push(item));
100
+ })), maxWidths.push(maxWidth), allItems.push(singleLineItems), alignSelfOfItems(allItems, !0, maxWidths, xSign),
54
101
  isRight ? layout.rightCurrent = preX + xSign * maxWidth : layout.leftCurrent = preX + xSign * maxWidth;
55
102
  }
56
103
  }
@@ -61,6 +108,7 @@ function layoutTopBottomStartOrMiddleItems(items, layout, limitWidth, isMiddle,
61
108
  let maxHeight = 0, preLeft = layout.leftCurrent, preY = isTop ? layout.topCurrent : layout.bottomCurrent;
62
109
  const allItems = [];
63
110
  let singleLineItems = [];
111
+ const maxHeights = [];
64
112
  items.forEach((item => {
65
113
  const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
66
114
  item.setLayoutRect(rect);
@@ -68,102 +116,68 @@ function layoutTopBottomStartOrMiddleItems(items, layout, limitWidth, isMiddle,
68
116
  item.setLayoutStartPosition({
69
117
  x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,
70
118
  y: preY + item.layoutOffsetY + itemOffsetY
71
- }), maxHeight = Math.max(maxHeight, itemTotalHeight), preLeft += itemTotalWidth,
72
- preLeft > limitWidth && singleLineItems.length ? (preLeft = layout.leftCurrent + itemTotalWidth,
73
- preY += ySign * maxHeight, maxHeight = itemTotalHeight, item.setLayoutStartPosition({
119
+ }), preLeft += itemTotalWidth, preLeft > limitWidth && singleLineItems.length ? (maxHeights.push(maxHeight),
120
+ preLeft = layout.leftCurrent + itemTotalWidth, preY += ySign * maxHeight, maxHeight = itemTotalHeight,
121
+ item.setLayoutStartPosition({
74
122
  x: layout.leftCurrent + item.layoutOffsetX + item.layoutPaddingLeft,
75
123
  y: preY + item.layoutOffsetY + itemOffsetY
76
- }), allItems.push(singleLineItems), singleLineItems = [ item ]) : singleLineItems.push(item);
77
- })), allItems.push(singleLineItems), isMiddle && adjustItemsToCenter(allItems, !1, limitWidth),
78
- isTop ? layout.topCurrent = preY + ySign * maxHeight : layout.bottomCurrent = preY + ySign * maxHeight;
124
+ }), allItems.push(singleLineItems), singleLineItems = [ item ]) : (maxHeight = Math.max(maxHeight, itemTotalHeight),
125
+ singleLineItems.push(item));
126
+ })), maxHeights.push(maxHeight), allItems.push(singleLineItems), alignSelfOfItems(allItems, !1, maxHeights, ySign),
127
+ isMiddle && adjustItemsToCenter(allItems, !1, limitWidth), isTop ? layout.topCurrent = preY + ySign * maxHeight : layout.bottomCurrent = preY + ySign * maxHeight;
79
128
  }
80
129
  }
81
130
 
82
- export function layoutLeftInlineItems(items, layout, limitHeight) {
83
- const {startItems: startItems, middleItems: middleItems, endItems: endItems} = getPositionItems(items);
84
- if (startItems.length && layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, !1, "left"),
85
- middleItems.length && layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, !0, "left"),
86
- endItems.length) {
87
- let maxWidth = 0, preLeft = layout.leftCurrent, preBottom = layout.bottomCurrent;
88
- endItems.forEach((item => {
131
+ function layoutTopBottomEndItems(items, layout, limitWidth, position) {
132
+ if (items.length) {
133
+ const isTop = "top" === position, ySign = isTop ? 1 : -1;
134
+ let maxHeight = 0, preRight = layout.rightCurrent, preY = isTop ? layout.topCurrent : layout.bottomCurrent;
135
+ const allItems = [];
136
+ let singleLineItems = [];
137
+ const maxHeights = [];
138
+ items.forEach((item => {
89
139
  const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
90
140
  item.setLayoutRect(rect);
91
- const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;
92
- preBottom < itemTotalHeight ? (preLeft += maxWidth, maxWidth = itemTotalWidth, preBottom = layout.bottomCurrent,
141
+ const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight, itemOffsetY = isTop ? item.layoutPaddingTop : -rect.height - item.layoutPaddingBottom;
142
+ preRight < itemTotalWidth && singleLineItems.length ? (preRight = layout.rightCurrent,
143
+ preY += ySign * maxHeight, maxHeight = itemTotalHeight, item.setLayoutStartPosition({
144
+ x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
145
+ y: preY + item.layoutOffsetY + itemOffsetY
146
+ }), allItems.push(singleLineItems), singleLineItems = [ item ]) : (singleLineItems.push(item),
93
147
  item.setLayoutStartPosition({
94
- x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,
95
- y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
96
- })) : (item.setLayoutStartPosition({
97
- x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,
98
- y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
99
- }), maxWidth = Math.max(maxWidth, itemTotalWidth), preBottom -= itemTotalHeight);
100
- })), layout.leftCurrent = preLeft + maxWidth;
148
+ x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
149
+ y: preY + item.layoutOffsetY + itemOffsetY
150
+ }), maxHeight = Math.max(maxHeight, itemTotalHeight), preRight -= itemTotalWidth);
151
+ })), maxHeights.push(maxHeight), allItems.push(singleLineItems), alignSelfOfItems(allItems, !1, maxHeights, ySign),
152
+ isTop ? layout.topCurrent = preY + ySign * maxHeight : layout.bottomCurrent = preY + ySign * maxHeight;
101
153
  }
102
154
  }
103
155
 
156
+ export function layoutLeftInlineItems(items, layout, limitHeight) {
157
+ const {startItems: startItems, middleItems: middleItems, endItems: endItems} = getPositionItems(items);
158
+ startItems.length && layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, !1, "left"),
159
+ middleItems.length && layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, !0, "left"),
160
+ endItems.length && layoutLeftRightEndItems(endItems, layout, limitHeight, "left");
161
+ }
162
+
104
163
  export function layoutRightInlineItems(items, layout, limitHeight) {
105
164
  const {startItems: startItems, middleItems: middleItems, endItems: endItems} = getPositionItems(items);
106
- if (startItems.length && layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, !1, "right"),
165
+ startItems.length && layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, !1, "right"),
107
166
  middleItems.length && layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, !0, "right"),
108
- endItems.length) {
109
- let maxWidth = 0, preRight = layout.rightCurrent, preBottom = layout.bottomCurrent;
110
- endItems.forEach((item => {
111
- const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
112
- item.setLayoutRect(rect);
113
- const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;
114
- preBottom < itemTotalHeight ? (preRight -= maxWidth, maxWidth = itemTotalWidth,
115
- preBottom = layout.bottomCurrent, item.setLayoutStartPosition({
116
- x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
117
- y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
118
- })) : (item.setLayoutStartPosition({
119
- x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
120
- y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
121
- }), maxWidth = Math.max(maxWidth, itemTotalWidth), preBottom -= itemTotalHeight);
122
- })), layout.rightCurrent = preRight - maxWidth;
123
- }
167
+ endItems.length && layoutLeftRightEndItems(endItems, layout, limitHeight, "right");
124
168
  }
125
169
 
126
170
  export function layoutTopInlineItems(items, layout, limitWidth) {
127
171
  const {startItems: startItems, middleItems: middleItems, endItems: endItems} = getPositionItems(items);
128
- if (startItems.length && layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, !1, "top"),
172
+ startItems.length && layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, !1, "top"),
129
173
  middleItems.length && layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, !0, "top"),
130
- endItems.length) {
131
- let maxHeight = 0, preTop = layout.topCurrent, preRight = layout.rightCurrent;
132
- endItems.forEach((item => {
133
- const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
134
- item.setLayoutRect(rect);
135
- const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;
136
- preRight < itemTotalWidth ? (preRight = layout.rightCurrent, preTop += maxHeight,
137
- maxHeight = itemTotalHeight, item.setLayoutStartPosition({
138
- x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
139
- y: preTop + item.layoutOffsetY + item.layoutPaddingTop
140
- })) : (item.setLayoutStartPosition({
141
- x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
142
- y: preTop + item.layoutOffsetY + item.layoutPaddingTop
143
- }), maxHeight = Math.max(maxHeight, itemTotalHeight), preRight -= itemTotalWidth);
144
- })), layout.topCurrent = preTop + maxHeight;
145
- }
174
+ endItems.length && layoutTopBottomEndItems(endItems, layout, limitWidth, "top");
146
175
  }
147
176
 
148
177
  export function layoutBottomInlineItems(items, layout, limitWidth) {
149
178
  const {startItems: startItems, middleItems: middleItems, endItems: endItems} = getPositionItems(items);
150
- if (startItems.length && layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, !1, "bottom"),
179
+ startItems.length && layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, !1, "bottom"),
151
180
  middleItems.length && layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, !0, "bottom"),
152
- endItems.length) {
153
- let maxHeight = 0, preBottom = layout.bottomCurrent, preRight = layout.rightCurrent;
154
- endItems.forEach((item => {
155
- const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
156
- item.setLayoutRect(rect);
157
- const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;
158
- preRight < itemTotalWidth ? (preRight = layout.rightCurrent, preBottom -= maxHeight,
159
- maxHeight = itemTotalHeight, item.setLayoutStartPosition({
160
- x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
161
- y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
162
- })) : (item.setLayoutStartPosition({
163
- x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
164
- y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
165
- }), maxHeight = Math.max(maxHeight, itemTotalHeight), preRight -= itemTotalWidth);
166
- })), layout.bottomCurrent = preBottom - maxHeight;
167
- }
181
+ endItems.length && layoutTopBottomEndItems(endItems, layout, limitWidth, "bottom");
168
182
  }
169
183
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/layout/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAI/C,SAAS,gBAAgB,CAAC,KAAoB;IAC5C,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,KAAK,OAAO,EAAE;YACzE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAC/C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxB;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,QAAQ;QACR,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAyB,EAAE,UAAmB,EAAE,eAAuB;IAClG,IAAI,UAAU,EAAE;QACd,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,MAAM,GACV,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACxG,MAAM,OAAO,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAE/C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;oBAC/B,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,OAAO;iBAC1C,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,MAAM,GACV,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACvG,MAAM,OAAO,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAE/C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,OAAO;oBACzC,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;iBAChC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAED,SAAS,iCAAiC,CACxC,KAAoB,EACpB,MAAc,EACd,WAAmB,EACnB,QAAiB,EACjB,QAA0B;IAE1B,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QAC9D,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QAE/B,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,IAAI,eAAe,GAAkB,EAAE,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACvF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACrF,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC7F,IAAI,CAAC,sBAAsB,CAAC;gBAC1B,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,WAAW;gBAC1C,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB;aACvD,CAAC,CAAC;YAEH,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC9C,MAAM,IAAI,eAAe,CAAC;YAC1B,IAAI,MAAM,GAAG,WAAW,IAAI,eAAe,CAAC,MAAM,EAAE;gBAClD,IAAI,IAAI,KAAK,GAAG,QAAQ,CAAC;gBACzB,QAAQ,GAAG,cAAc,CAAC;gBAC1B,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC;gBAE7C,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,WAAW;oBAC1C,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB;iBAClE,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC/B,eAAe,GAAG,CAAC,IAAI,CAAC,CAAC;aAC1B;iBAAM;gBACL,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE/B,IAAI,QAAQ,EAAE;YACZ,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;SAClD;QAED,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,YAAY,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC;SAC/C;aAAM;YACL,MAAM,CAAC,WAAW,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC;SAC9C;KACF;AACH,CAAC;AAED,SAAS,iCAAiC,CACxC,KAAoB,EACpB,MAAc,EACd,UAAkB,EAClB,QAAiB,EACjB,QAA0B;IAE1B,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,MAAM,KAAK,GAAG,QAAQ,KAAK,KAAK,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC5D,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,IAAI,eAAe,GAAkB,EAAE,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACvF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACrF,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAC5F,IAAI,CAAC,sBAAsB,CAAC;gBAC1B,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB;gBACxD,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,WAAW;aAC3C,CAAC,CAAC;YAEH,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACjD,OAAO,IAAI,cAAc,CAAC;YAC1B,IAAI,OAAO,GAAG,UAAU,IAAI,eAAe,CAAC,MAAM,EAAE;gBAClD,OAAO,GAAG,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC;gBAC9C,IAAI,IAAI,KAAK,GAAG,SAAS,CAAC;gBAC1B,SAAS,GAAG,eAAe,CAAC;gBAC5B,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB;oBACnE,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,WAAW;iBAC3C,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC/B,eAAe,GAAG,CAAC,IAAI,CAAC,CAAC;aAC1B;iBAAM;gBACL,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/B,IAAI,QAAQ,EAAE;YACZ,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;SAClD;QAED,IAAI,KAAK,EAAE;YACT,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;SAC9C;aAAM;YACL,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;SACjD;KACF;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAoB,EAAE,MAAc,EAAE,WAAmB;IAC7F,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,MAAM,EAAE;QACrB,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACnF;IAED,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;KACnF;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,IAAI,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;QACrC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACvF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAErF,IAAI,SAAS,GAAG,eAAe,EAAE;gBAC/B,OAAO,IAAI,QAAQ,CAAC;gBACpB,QAAQ,GAAG,cAAc,CAAC;gBAC1B,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;gBACjC,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB;oBACxD,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB;iBAC3E,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB;oBACxD,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB;iBAC3E,CAAC,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC9C,SAAS,IAAI,eAAe,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;KACzC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAoB,EAAE,MAAc,EAAE,WAAmB;IAC9F,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEtE,IAAI,UAAU,CAAC,MAAM,EAAE;QACrB,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KACpF;IAED,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;KACpF;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;QACnC,IAAI,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;QACrC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACvF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACrF,IAAI,SAAS,GAAG,eAAe,EAAE;gBAC/B,QAAQ,IAAI,QAAQ,CAAC;gBACrB,QAAQ,GAAG,cAAc,CAAC;gBAC1B,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;gBACjC,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB;oBACvE,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB;iBAC3E,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB;oBACvE,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB;iBAC3E,CAAC,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC9C,SAAS,IAAI,eAAe,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;KAC3C;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAoB,EAAE,MAAc,EAAE,UAAkB;IAC3F,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEtE,IAAI,UAAU,CAAC,MAAM,EAAE;QACrB,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;KACjF;IAED,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;KACjF;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QAC/B,IAAI,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;QACnC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACvF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACrF,IAAI,QAAQ,GAAG,cAAc,EAAE;gBAC7B,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;gBAC/B,MAAM,IAAI,SAAS,CAAC;gBACpB,SAAS,GAAG,eAAe,CAAC;gBAE5B,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB;oBAClF,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB;iBACvD,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB;oBACvE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB;iBACvD,CAAC,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACjD,QAAQ,IAAI,cAAc,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;KACxC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAoB,EAAE,MAAc,EAAE,UAAkB;IAC9F,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEtE,IAAI,UAAU,CAAC,MAAM,EAAE;QACrB,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;KACpF;IAED,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;KACpF;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;QACrC,IAAI,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;QAEnC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACvF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACrF,IAAI,QAAQ,GAAG,cAAc,EAAE;gBAC7B,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;gBAC/B,SAAS,IAAI,SAAS,CAAC;gBACvB,SAAS,GAAG,eAAe,CAAC;gBAE5B,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB;oBAClF,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB;iBAC3E,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB;oBACvE,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB;iBAC3E,CAAC,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACjD,QAAQ,IAAI,cAAc,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;KAC9C;AACH,CAAC","file":"util.js","sourcesContent":["import { isNil, last } from '@visactor/vutils';\nimport type { Layout } from './base-layout';\nimport type { ILayoutItem } from './interface';\n\nfunction getPositionItems(items: ILayoutItem[]) {\n const startItems: ILayoutItem[] = [];\n const middleItems: ILayoutItem[] = [];\n const endItems: ILayoutItem[] = [];\n\n items.forEach(item => {\n if (isNil(item.getSpec().position) || item.getSpec().position === 'start') {\n startItems.push(item);\n } else if (item.getSpec().position === 'middle') {\n middleItems.push(item);\n } else if (item.getSpec().position === 'end') {\n endItems.push(item);\n }\n });\n\n return {\n startItems,\n endItems,\n middleItems\n };\n}\n\nfunction adjustItemsToCenter(allItems: ILayoutItem[][], isVertical: boolean, containerLength: number) {\n if (isVertical) {\n allItems.forEach(items => {\n const lastItem = last(items);\n const length =\n lastItem.getLayoutStartPoint().y + lastItem.getLayoutRect().height - items[0].getLayoutStartPoint().y;\n const centerY = (containerLength - length) / 2;\n\n items.forEach(item => {\n item.setLayoutStartPosition({\n x: item.getLayoutStartPoint().x,\n y: item.getLayoutStartPoint().y + centerY\n });\n });\n });\n } else {\n allItems.forEach(items => {\n const lastItem = last(items);\n const length =\n lastItem.getLayoutStartPoint().x + lastItem.getLayoutRect().width - items[0].getLayoutStartPoint().x;\n const centerX = (containerLength - length) / 2;\n\n items.forEach(item => {\n item.setLayoutStartPosition({\n x: item.getLayoutStartPoint().x + centerX,\n y: item.getLayoutStartPoint().y\n });\n });\n });\n }\n}\n\nfunction layoutLeftRightStartOrMiddleItems(\n items: ILayoutItem[],\n layout: Layout,\n limitHeight: number,\n isMiddle: boolean,\n position: 'left' | 'right'\n) {\n if (items.length) {\n let maxWidth = 0;\n const isRight = position === 'right';\n const xSign = isRight ? -1 : 1;\n let preX = isRight ? layout.rightCurrent : layout.leftCurrent;\n let preTop = layout.topCurrent;\n\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetX = isRight ? -rect.width - item.layoutPaddingRight : item.layoutPaddingLeft;\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: preTop + item.layoutOffsetY + item.layoutPaddingTop\n });\n\n maxWidth = Math.max(maxWidth, itemTotalWidth);\n preTop += itemTotalHeight;\n if (preTop > limitHeight && singleLineItems.length) {\n preX += xSign * maxWidth;\n maxWidth = itemTotalWidth;\n preTop = layout.topCurrent + itemTotalHeight;\n\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: layout.topCurrent + item.layoutOffsetY + item.layoutPaddingTop\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n singleLineItems.push(item);\n }\n });\n allItems.push(singleLineItems);\n\n if (isMiddle) {\n adjustItemsToCenter(allItems, true, limitHeight);\n }\n\n if (isRight) {\n layout.rightCurrent = preX + xSign * maxWidth;\n } else {\n layout.leftCurrent = preX + xSign * maxWidth;\n }\n }\n}\n\nfunction layoutTopBottomStartOrMiddleItems(\n items: ILayoutItem[],\n layout: Layout,\n limitWidth: number,\n isMiddle: boolean,\n position: 'top' | 'bottom'\n) {\n if (items.length) {\n const isTop = position === 'top';\n const ySign = isTop ? 1 : -1;\n let maxHeight = 0;\n let preLeft = layout.leftCurrent;\n let preY = isTop ? layout.topCurrent : layout.bottomCurrent;\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetY = isTop ? item.layoutPaddingTop : -rect.height - item.layoutPaddingBottom;\n item.setLayoutStartPosition({\n x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n\n maxHeight = Math.max(maxHeight, itemTotalHeight);\n preLeft += itemTotalWidth;\n if (preLeft > limitWidth && singleLineItems.length) {\n preLeft = layout.leftCurrent + itemTotalWidth;\n preY += ySign * maxHeight;\n maxHeight = itemTotalHeight;\n item.setLayoutStartPosition({\n x: layout.leftCurrent + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n singleLineItems.push(item);\n }\n });\n allItems.push(singleLineItems);\n if (isMiddle) {\n adjustItemsToCenter(allItems, false, limitWidth);\n }\n\n if (isTop) {\n layout.topCurrent = preY + ySign * maxHeight;\n } else {\n layout.bottomCurrent = preY + ySign * maxHeight;\n }\n }\n}\n\nexport function layoutLeftInlineItems(items: ILayoutItem[], layout: Layout, limitHeight: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n if (startItems.length) {\n layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, false, 'left');\n }\n\n if (middleItems.length) {\n layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, true, 'left');\n }\n\n if (endItems.length) {\n let maxWidth = 0;\n let preLeft = layout.leftCurrent;\n let preBottom = layout.bottomCurrent;\n endItems.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n\n if (preBottom < itemTotalHeight) {\n preLeft += maxWidth;\n maxWidth = itemTotalWidth;\n preBottom = layout.bottomCurrent;\n item.setLayoutStartPosition({\n x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n } else {\n item.setLayoutStartPosition({\n x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n maxWidth = Math.max(maxWidth, itemTotalWidth);\n preBottom -= itemTotalHeight;\n }\n });\n layout.leftCurrent = preLeft + maxWidth;\n }\n}\n\nexport function layoutRightInlineItems(items: ILayoutItem[], layout: Layout, limitHeight: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, false, 'right');\n }\n\n if (middleItems.length) {\n layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, true, 'right');\n }\n\n if (endItems.length) {\n let maxWidth = 0;\n let preRight = layout.rightCurrent;\n let preBottom = layout.bottomCurrent;\n endItems.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n if (preBottom < itemTotalHeight) {\n preRight -= maxWidth;\n maxWidth = itemTotalWidth;\n preBottom = layout.bottomCurrent;\n item.setLayoutStartPosition({\n x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n } else {\n item.setLayoutStartPosition({\n x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n maxWidth = Math.max(maxWidth, itemTotalWidth);\n preBottom -= itemTotalHeight;\n }\n });\n layout.rightCurrent = preRight - maxWidth;\n }\n}\n\nexport function layoutTopInlineItems(items: ILayoutItem[], layout: Layout, limitWidth: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, false, 'top');\n }\n\n if (middleItems.length) {\n layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, true, 'top');\n }\n\n if (endItems.length) {\n let maxHeight = 0;\n\n let preTop = layout.topCurrent;\n let preRight = layout.rightCurrent;\n endItems.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n if (preRight < itemTotalWidth) {\n preRight = layout.rightCurrent;\n preTop += maxHeight;\n maxHeight = itemTotalHeight;\n\n item.setLayoutStartPosition({\n x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preTop + item.layoutOffsetY + item.layoutPaddingTop\n });\n } else {\n item.setLayoutStartPosition({\n x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preTop + item.layoutOffsetY + item.layoutPaddingTop\n });\n maxHeight = Math.max(maxHeight, itemTotalHeight);\n preRight -= itemTotalWidth;\n }\n });\n layout.topCurrent = preTop + maxHeight;\n }\n}\n\nexport function layoutBottomInlineItems(items: ILayoutItem[], layout: Layout, limitWidth: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, false, 'bottom');\n }\n\n if (middleItems.length) {\n layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, true, 'bottom');\n }\n\n if (endItems.length) {\n let maxHeight = 0;\n let preBottom = layout.bottomCurrent;\n let preRight = layout.rightCurrent;\n // 末尾的,从右往左布局\n endItems.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n if (preRight < itemTotalWidth) {\n preRight = layout.rightCurrent;\n preBottom -= maxHeight;\n maxHeight = itemTotalHeight;\n\n item.setLayoutStartPosition({\n x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n } else {\n item.setLayoutStartPosition({\n x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n maxHeight = Math.max(maxHeight, itemTotalHeight);\n preRight -= itemTotalWidth;\n }\n });\n layout.bottomCurrent = preBottom - maxHeight;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/layout/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { isNil, last } from '@visactor/vutils';\nimport type { Layout } from './base-layout';\nimport type { ILayoutItem } from './interface';\n\nfunction getPositionItems(items: ILayoutItem[]) {\n const startItems: ILayoutItem[] = [];\n const middleItems: ILayoutItem[] = [];\n const endItems: ILayoutItem[] = [];\n\n items.forEach(item => {\n if (isNil(item.getSpec().position) || item.getSpec().position === 'start') {\n startItems.push(item);\n } else if (item.getSpec().position === 'middle') {\n middleItems.push(item);\n } else if (item.getSpec().position === 'end') {\n endItems.push(item);\n }\n });\n\n return {\n startItems,\n endItems,\n middleItems\n };\n}\n\nfunction adjustItemsToCenter(allItems: ILayoutItem[][], isVertical: boolean, containerLength: number) {\n if (isVertical) {\n allItems.forEach(items => {\n const lastItem = last(items);\n const length =\n lastItem.getLayoutStartPoint().y + lastItem.getLayoutRect().height - items[0].getLayoutStartPoint().y;\n const centerY = (containerLength - length) / 2;\n\n items.forEach(item => {\n item.setLayoutStartPosition({\n x: item.getLayoutStartPoint().x,\n y: item.getLayoutStartPoint().y + centerY\n });\n });\n });\n } else {\n allItems.forEach(items => {\n const lastItem = last(items);\n const length =\n lastItem.getLayoutStartPoint().x + lastItem.getLayoutRect().width - items[0].getLayoutStartPoint().x;\n const centerX = (containerLength - length) / 2;\n\n items.forEach(item => {\n item.setLayoutStartPosition({\n x: item.getLayoutStartPoint().x + centerX,\n y: item.getLayoutStartPoint().y\n });\n });\n });\n }\n}\n\nfunction alignSelfOfItems(allItems: ILayoutItem[][], isVertical: boolean, maxSizes: number[], sign: number) {\n let maxSize: number;\n\n allItems.forEach((lineItems: ILayoutItem[], index: number) => {\n if (lineItems.length > 1) {\n maxSize = maxSizes[index];\n\n lineItems.forEach(item => {\n if (!item.alignSelf || item.alignSelf === 'start') {\n return;\n }\n\n const pos = item.getLayoutStartPoint();\n const ratio = item.alignSelf === 'middle' ? 0.5 : 1;\n const delta = isVertical\n ? maxSize - (item.getLayoutRect().width + item.layoutPaddingLeft + item.layoutPaddingRight)\n : maxSize - (item.getLayoutRect().height + item.layoutPaddingTop + item.layoutPaddingBottom);\n\n if (isVertical) {\n item.setLayoutStartPosition({\n x: pos.x + sign * delta * ratio,\n y: pos.y\n });\n } else {\n item.setLayoutStartPosition({\n x: pos.x,\n y: pos.y + sign * delta * ratio\n });\n }\n });\n }\n });\n}\n\nfunction layoutLeftRightStartOrMiddleItems(\n items: ILayoutItem[],\n layout: Layout,\n limitHeight: number,\n isMiddle: boolean,\n position: 'left' | 'right'\n) {\n if (items.length) {\n let maxWidth = 0;\n const isRight = position === 'right';\n const xSign = isRight ? -1 : 1;\n let preX = isRight ? layout.rightCurrent : layout.leftCurrent;\n let preTop = layout.topCurrent;\n\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n const maxWidths: number[] = [];\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetX = isRight ? -rect.width - item.layoutPaddingRight : item.layoutPaddingLeft;\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: preTop + item.layoutOffsetY + item.layoutPaddingTop\n });\n\n preTop += itemTotalHeight;\n if (preTop > limitHeight && singleLineItems.length) {\n maxWidths.push(maxWidth);\n preX += xSign * maxWidth;\n maxWidth = itemTotalWidth;\n preTop = layout.topCurrent + itemTotalHeight;\n\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: layout.topCurrent + item.layoutOffsetY + item.layoutPaddingTop\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n maxWidth = Math.max(maxWidth, itemTotalWidth);\n singleLineItems.push(item);\n }\n });\n maxWidths.push(maxWidth);\n allItems.push(singleLineItems);\n\n alignSelfOfItems(allItems, true, maxWidths, xSign);\n\n if (isMiddle) {\n adjustItemsToCenter(allItems, true, limitHeight);\n }\n\n if (isRight) {\n layout.rightCurrent = preX + xSign * maxWidth;\n } else {\n layout.leftCurrent = preX + xSign * maxWidth;\n }\n }\n}\n\nfunction layoutLeftRightEndItems(items: ILayoutItem[], layout: Layout, limitWidth: number, position: 'left' | 'right') {\n if (items.length) {\n let maxWidth = 0;\n const isRight = position === 'right';\n const xSign = isRight ? -1 : 1;\n let preX = isRight ? layout.rightCurrent : layout.leftCurrent;\n let preBottom = layout.bottomCurrent;\n\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n const maxWidths: number[] = [];\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetX = isRight ? -rect.width - item.layoutPaddingRight : item.layoutPaddingLeft;\n\n if (preBottom < itemTotalHeight && singleLineItems.length) {\n maxWidths.push(maxWidth);\n preX += xSign * maxWidth;\n maxWidth = itemTotalWidth;\n preBottom = layout.bottomCurrent;\n\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n maxWidth = Math.max(maxWidth, itemTotalWidth);\n preBottom -= itemTotalHeight;\n singleLineItems.push(item);\n }\n });\n maxWidths.push(maxWidth);\n allItems.push(singleLineItems);\n\n alignSelfOfItems(allItems, true, maxWidths, xSign);\n\n if (isRight) {\n layout.rightCurrent = preX + xSign * maxWidth;\n } else {\n layout.leftCurrent = preX + xSign * maxWidth;\n }\n }\n}\n\nfunction layoutTopBottomStartOrMiddleItems(\n items: ILayoutItem[],\n layout: Layout,\n limitWidth: number,\n isMiddle: boolean,\n position: 'top' | 'bottom'\n) {\n if (items.length) {\n const isTop = position === 'top';\n const ySign = isTop ? 1 : -1;\n let maxHeight = 0;\n let preLeft = layout.leftCurrent;\n let preY = isTop ? layout.topCurrent : layout.bottomCurrent;\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n const maxHeights: number[] = [];\n\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetY = isTop ? item.layoutPaddingTop : -rect.height - item.layoutPaddingBottom;\n item.setLayoutStartPosition({\n x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n\n preLeft += itemTotalWidth;\n if (preLeft > limitWidth && singleLineItems.length) {\n maxHeights.push(maxHeight);\n preLeft = layout.leftCurrent + itemTotalWidth;\n preY += ySign * maxHeight;\n maxHeight = itemTotalHeight;\n item.setLayoutStartPosition({\n x: layout.leftCurrent + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n maxHeight = Math.max(maxHeight, itemTotalHeight);\n singleLineItems.push(item);\n }\n });\n maxHeights.push(maxHeight);\n allItems.push(singleLineItems);\n\n alignSelfOfItems(allItems, false, maxHeights, ySign);\n\n if (isMiddle) {\n adjustItemsToCenter(allItems, false, limitWidth);\n }\n\n if (isTop) {\n layout.topCurrent = preY + ySign * maxHeight;\n } else {\n layout.bottomCurrent = preY + ySign * maxHeight;\n }\n }\n}\n\nfunction layoutTopBottomEndItems(items: ILayoutItem[], layout: Layout, limitWidth: number, position: 'top' | 'bottom') {\n if (items.length) {\n const isTop = position === 'top';\n const ySign = isTop ? 1 : -1;\n let maxHeight = 0;\n let preRight = layout.rightCurrent;\n let preY = isTop ? layout.topCurrent : layout.bottomCurrent;\n\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n const maxHeights: number[] = [];\n\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetY = isTop ? item.layoutPaddingTop : -rect.height - item.layoutPaddingBottom;\n\n if (preRight < itemTotalWidth && singleLineItems.length) {\n preRight = layout.rightCurrent;\n preY += ySign * maxHeight;\n maxHeight = itemTotalHeight;\n\n item.setLayoutStartPosition({\n x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n singleLineItems.push(item);\n item.setLayoutStartPosition({\n x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n maxHeight = Math.max(maxHeight, itemTotalHeight);\n preRight -= itemTotalWidth;\n }\n });\n maxHeights.push(maxHeight);\n allItems.push(singleLineItems);\n\n alignSelfOfItems(allItems, false, maxHeights, ySign);\n\n if (isTop) {\n layout.topCurrent = preY + ySign * maxHeight;\n } else {\n layout.bottomCurrent = preY + ySign * maxHeight;\n }\n }\n}\n\nexport function layoutLeftInlineItems(items: ILayoutItem[], layout: Layout, limitHeight: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n if (startItems.length) {\n layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, false, 'left');\n }\n\n if (middleItems.length) {\n layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, true, 'left');\n }\n\n if (endItems.length) {\n layoutLeftRightEndItems(endItems, layout, limitHeight, 'left');\n }\n}\n\nexport function layoutRightInlineItems(items: ILayoutItem[], layout: Layout, limitHeight: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, false, 'right');\n }\n\n if (middleItems.length) {\n layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, true, 'right');\n }\n\n if (endItems.length) {\n layoutLeftRightEndItems(endItems, layout, limitHeight, 'right');\n }\n}\n\nexport function layoutTopInlineItems(items: ILayoutItem[], layout: Layout, limitWidth: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, false, 'top');\n }\n\n if (middleItems.length) {\n layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, true, 'top');\n }\n\n if (endItems.length) {\n layoutTopBottomEndItems(endItems, layout, limitWidth, 'top');\n }\n}\n\nexport function layoutBottomInlineItems(items: ILayoutItem[], layout: Layout, limitWidth: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, false, 'bottom');\n }\n\n if (middleItems.length) {\n layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, true, 'bottom');\n }\n\n if (endItems.length) {\n layoutTopBottomEndItems(endItems, layout, limitWidth, 'bottom');\n }\n}\n"]}
@@ -19,6 +19,7 @@ export declare enum MarkTypeEnum {
19
19
  progressArc = "progressArc",
20
20
  cell = "cell",
21
21
  ripple = "ripple",
22
+ liquid = "liquid",
22
23
  component = "component",
23
24
  label = "label"
24
25
  }
@@ -7,6 +7,7 @@ export var MarkTypeEnum;
7
7
  MarkTypeEnum.area = "area", MarkTypeEnum.arc = "arc", MarkTypeEnum.arc3d = "arc3d",
8
8
  MarkTypeEnum.polygon = "polygon", MarkTypeEnum.pyramid3d = "pyramid3d", MarkTypeEnum.boxPlot = "boxPlot",
9
9
  MarkTypeEnum.linkPath = "linkPath", MarkTypeEnum.progressArc = "progressArc", MarkTypeEnum.cell = "cell",
10
- MarkTypeEnum.ripple = "ripple", MarkTypeEnum.component = "component", MarkTypeEnum.label = "label";
10
+ MarkTypeEnum.ripple = "ripple", MarkTypeEnum.liquid = "liquid", MarkTypeEnum.component = "component",
11
+ MarkTypeEnum.label = "label";
11
12
  }(MarkTypeEnum || (MarkTypeEnum = {}));
12
13
  //# sourceMappingURL=type.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/interface/type.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,YAwBX;AAxBD,WAAY,YAAY;IACtB,+BAAe,CAAA;IAEf,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,2BAAW,CAAA;IACX,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,2CAA2B,CAAA;IAC3B,6BAAa,CAAA;IACb,iCAAiB,CAAA;IAEjB,uCAAuB,CAAA;IACvB,+BAAe,CAAA;AACjB,CAAC,EAxBW,YAAY,KAAZ,YAAY,QAwBvB","file":"type.js","sourcesContent":["export type MarkType = keyof typeof MarkTypeEnum | string;\n\nexport enum MarkTypeEnum {\n group = 'group',\n\n symbol = 'symbol',\n rule = 'rule',\n line = 'line',\n text = 'text',\n rect = 'rect',\n rect3d = 'rect3d',\n image = 'image',\n path = 'path',\n area = 'area',\n arc = 'arc',\n arc3d = 'arc3d',\n polygon = 'polygon',\n pyramid3d = 'pyramid3d',\n boxPlot = 'boxPlot',\n linkPath = 'linkPath',\n progressArc = 'progressArc',\n cell = 'cell',\n ripple = 'ripple',\n\n component = 'component',\n label = 'label'\n}\n"]}
1
+ {"version":3,"sources":["../src/mark/interface/type.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,YAyBX;AAzBD,WAAY,YAAY;IACtB,+BAAe,CAAA;IAEf,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,2BAAW,CAAA;IACX,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,2CAA2B,CAAA;IAC3B,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IAEjB,uCAAuB,CAAA;IACvB,+BAAe,CAAA;AACjB,CAAC,EAzBW,YAAY,KAAZ,YAAY,QAyBvB","file":"type.js","sourcesContent":["export type MarkType = keyof typeof MarkTypeEnum | string;\n\nexport enum MarkTypeEnum {\n group = 'group',\n\n symbol = 'symbol',\n rule = 'rule',\n line = 'line',\n text = 'text',\n rect = 'rect',\n rect3d = 'rect3d',\n image = 'image',\n path = 'path',\n area = 'area',\n arc = 'arc',\n arc3d = 'arc3d',\n polygon = 'polygon',\n pyramid3d = 'pyramid3d',\n boxPlot = 'boxPlot',\n linkPath = 'linkPath',\n progressArc = 'progressArc',\n cell = 'cell',\n ripple = 'ripple',\n liquid = 'liquid',\n\n component = 'component',\n label = 'label'\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import type { ILiquidMarkSpec } from '../typings';
2
+ import type { IMarkStyle } from './interface';
3
+ import { MarkTypeEnum } from './interface/type';
4
+ import { BaseMark } from './base';
5
+ import type { ILiquidMark } from '../series/liquid/liquid';
6
+ import type { IGroupMark } from '@visactor/vgrammar-core';
7
+ export declare class LiquidMark extends BaseMark<ILiquidMarkSpec> implements ILiquidMark {
8
+ static readonly type = MarkTypeEnum.liquid;
9
+ readonly type = MarkTypeEnum.liquid;
10
+ protected _getDefaultStyle(): IMarkStyle<ILiquidMarkSpec>;
11
+ protected _initProduct(group?: string | IGroupMark): void;
12
+ }
13
+ export declare const registerLiquidMark: () => void;
@@ -0,0 +1,32 @@
1
+ import { Factory } from "./../core/factory";
2
+
3
+ import { registerWaveGlyph } from "@visactor/vgrammar-core";
4
+
5
+ import { MarkTypeEnum } from "./interface/type";
6
+
7
+ import { BaseMark } from "./base";
8
+
9
+ const WAVE_GLYPH_TYPE = "wave";
10
+
11
+ export class LiquidMark extends BaseMark {
12
+ constructor() {
13
+ super(...arguments), this.type = LiquidMark.type;
14
+ }
15
+ _getDefaultStyle() {
16
+ return Object.assign(Object.assign({}, super._getDefaultStyle()), {
17
+ wave: 0
18
+ });
19
+ }
20
+ _initProduct(group) {
21
+ const view = this.getVGrammarView(), id = this.getProductId();
22
+ this._product = view.glyph("wave", null != group ? group : view.rootMark).id(id),
23
+ this._compiledProductId = id;
24
+ }
25
+ }
26
+
27
+ LiquidMark.type = MarkTypeEnum.liquid;
28
+
29
+ export const registerLiquidMark = () => {
30
+ Factory.registerMark(LiquidMark.type, LiquidMark), registerWaveGlyph();
31
+ };
32
+ //# sourceMappingURL=liquid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mark/liquid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAKlC,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,OAAO,UAAW,SAAQ,QAAyB;IAAzD;;QAEW,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAmBlC,CAAC;IAjBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,IAAI,EAAE,CAAC,GACR,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAGS,YAAY,CAAC,KAA2B;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAGpC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC/B,CAAC;;AAnBe,eAAI,GAAG,YAAY,CAAC,MAAM,CAAC;AAsB7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,iBAAiB,EAAE,CAAC;AACtB,CAAC,CAAC","file":"liquid.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { registerWaveGlyph } from '@visactor/vgrammar-core';\nimport type { ILiquidMarkSpec } from '../typings';\nimport type { IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { BaseMark } from './base';\nimport type { ILiquidMark } from '../series/liquid/liquid';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IGroupMark } from '@visactor/vgrammar-core';\n\nconst WAVE_GLYPH_TYPE = 'wave';\nexport class LiquidMark extends BaseMark<ILiquidMarkSpec> implements ILiquidMark {\n static readonly type = MarkTypeEnum.liquid;\n readonly type = LiquidMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ILiquidMarkSpec> = {\n ...super._getDefaultStyle(),\n wave: 0\n };\n return defaultStyle;\n }\n\n /** 创建语法元素对象 */\n protected _initProduct(group?: string | IGroupMark) {\n const view = this.getVGrammarView();\n\n // 声明语法元素\n const id = this.getProductId();\n this._product = view.glyph(WAVE_GLYPH_TYPE, group ?? view.rootMark).id(id);\n this._compiledProductId = id;\n }\n}\n\nexport const registerLiquidMark = () => {\n Factory.registerMark(LiquidMark.type, LiquidMark);\n registerWaveGlyph();\n};\n"]}
@@ -25,8 +25,6 @@ export declare abstract class BaseModel<T extends IModelSpec> extends Compilable
25
25
  getData(): CompilableData;
26
26
  protected _layout?: ILayoutItem;
27
27
  get layout(): ILayoutItem;
28
- protected _specIndex: number;
29
- getSpecIndex(): number;
30
28
  readonly specKey: string;
31
29
  protected _option: IModelOption;
32
30
  getOption(): IModelOption;
@@ -79,4 +77,5 @@ export declare abstract class BaseModel<T extends IModelSpec> extends Compilable
79
77
  protected _getDataIdKey(): string | ((datum: Datum) => string) | undefined;
80
78
  getColorScheme(): import("..").IThemeColorScheme;
81
79
  getSpecInfo(): IModelSpecInfo<any>;
80
+ getSpecIndex(): number;
82
81
  }