@visactor/vchart-extension 2.1.0-alpha.9 → 2.1.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 (171) hide show
  1. package/build/index.js +124 -29
  2. package/build/index.min.js +2 -2
  3. package/cjs/charts/3d/layout.d.ts +2 -1
  4. package/cjs/charts/3d/layout.js.map +1 -1
  5. package/cjs/charts/axis-3d/index.js +2 -1
  6. package/cjs/charts/axis-3d/linear-axis.js +1 -2
  7. package/cjs/charts/bar-3d/chart-spec-transformer.js +1 -1
  8. package/cjs/charts/bar-3d/chart.js +1 -1
  9. package/cjs/charts/bar-3d/constant.js +1 -1
  10. package/cjs/charts/bar-3d/index.js +1 -1
  11. package/cjs/charts/bar-3d/interface.js +1 -1
  12. package/cjs/charts/bar-3d/series-spec-transformer.js +1 -1
  13. package/cjs/charts/bar-3d/series.js +1 -1
  14. package/cjs/charts/bar-3d/theme.js +1 -1
  15. package/cjs/charts/candlestick/candlestick-transformer.js +1 -1
  16. package/cjs/charts/candlestick/candlestick.js +1 -2
  17. package/cjs/charts/candlestick/index.js +1 -1
  18. package/cjs/charts/candlestick/interface.js +1 -1
  19. package/cjs/charts/candlestick/util.js +1 -1
  20. package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js +1 -1
  21. package/cjs/charts/combination-candlestick/combination-candlestick.js +1 -1
  22. package/cjs/charts/combination-candlestick/constant.js +1 -1
  23. package/cjs/charts/combination-candlestick/index.js +1 -1
  24. package/cjs/charts/combination-candlestick/interface.js +1 -1
  25. package/cjs/charts/conversion-funnel/arrow-data-transform.js +1 -1
  26. package/cjs/charts/conversion-funnel/constants.js +1 -1
  27. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
  28. package/cjs/charts/conversion-funnel/conversion-funnel.js +1 -1
  29. package/cjs/charts/conversion-funnel/index.js +1 -1
  30. package/cjs/charts/conversion-funnel/interface.js +1 -1
  31. package/cjs/charts/conversion-funnel/util.js +1 -1
  32. package/cjs/charts/funnel-3d/chart.js +1 -2
  33. package/cjs/charts/funnel-3d/constant.js +1 -1
  34. package/cjs/charts/funnel-3d/index.js +1 -1
  35. package/cjs/charts/funnel-3d/interface.js +1 -1
  36. package/cjs/charts/funnel-3d/series-spec-transformer.js +1 -1
  37. package/cjs/charts/funnel-3d/series.js +1 -1
  38. package/cjs/charts/funnel-3d/theme.js +1 -1
  39. package/cjs/charts/histogram-3d/chart.js +1 -1
  40. package/cjs/charts/image-cloud/series/image-cloud.d.ts +1 -1
  41. package/cjs/charts/pictogram/series/pictogram.d.ts +9 -2
  42. package/cjs/charts/pictogram/series/pictogram.js +55 -15
  43. package/cjs/charts/pictogram/series/pictogram.js.map +1 -1
  44. package/cjs/charts/pictogram/series/svg-source.d.ts +12 -2
  45. package/cjs/charts/pictogram/series/svg-source.js +27 -3
  46. package/cjs/charts/pictogram/series/svg-source.js.map +1 -1
  47. package/cjs/components/bar-link/bar-link.js +1 -1
  48. package/cjs/components/bar-link/constant.js +1 -1
  49. package/cjs/components/bar-link/index.js +1 -1
  50. package/cjs/components/bar-link/type.js +1 -1
  51. package/cjs/components/bar-link/util.js +1 -1
  52. package/cjs/components/bar-regression-line/index.js +7 -4
  53. package/cjs/components/bar-regression-line/index.js.map +1 -1
  54. package/cjs/components/bar-regression-line/type.js +1 -1
  55. package/cjs/components/extension-mark-sync-state/extension-mark-sync-state.js +1 -1
  56. package/cjs/components/extension-mark-sync-state/index.js +1 -1
  57. package/cjs/components/extension-mark-sync-state/type.js +1 -1
  58. package/cjs/components/histogram-regression-line/index.js +7 -4
  59. package/cjs/components/histogram-regression-line/index.js.map +1 -1
  60. package/cjs/components/histogram-regression-line/type.js +2 -1
  61. package/cjs/components/map-label/index.js +1 -1
  62. package/cjs/components/map-label/layout.d.ts +2 -1
  63. package/cjs/components/map-label/layout.js +1 -1
  64. package/cjs/components/map-label/layout.js.map +1 -1
  65. package/cjs/components/map-label/map-label-transformer.js +1 -1
  66. package/cjs/components/map-label/map-label.d.ts +5 -4
  67. package/cjs/components/map-label/map-label.js +1 -1
  68. package/cjs/components/map-label/map-label.js.map +1 -1
  69. package/cjs/components/map-label/theme.js +1 -1
  70. package/cjs/components/map-label/type.js +1 -1
  71. package/cjs/components/regression-line/index.js +1 -1
  72. package/cjs/components/regression-line/regression-line.js +1 -1
  73. package/cjs/components/regression-line/type.js +1 -1
  74. package/cjs/components/scatter-regression-line/index.js +7 -4
  75. package/cjs/components/scatter-regression-line/index.js.map +1 -1
  76. package/cjs/components/scatter-regression-line/type.js +1 -1
  77. package/cjs/components/series-break/constant.js +1 -1
  78. package/cjs/components/series-break/index.js +1 -1
  79. package/cjs/components/series-break/series-break.js +1 -1
  80. package/cjs/components/series-break/type.js +1 -1
  81. package/cjs/components/series-break/util.js +2 -1
  82. package/cjs/components/series-label/constant.js +1 -1
  83. package/cjs/components/series-label/index.js +1 -1
  84. package/cjs/components/series-label/series-label.js +1 -1
  85. package/cjs/components/series-label/type.js +1 -1
  86. package/cjs/components/series-label/util.js +1 -1
  87. package/esm/charts/3d/layout.d.ts +2 -1
  88. package/esm/charts/3d/layout.js.map +1 -1
  89. package/esm/charts/axis-3d/index.js +2 -1
  90. package/esm/charts/axis-3d/linear-axis.js +1 -2
  91. package/esm/charts/bar-3d/chart-spec-transformer.js +1 -1
  92. package/esm/charts/bar-3d/chart.js +1 -1
  93. package/esm/charts/bar-3d/constant.js +1 -1
  94. package/esm/charts/bar-3d/index.js +1 -1
  95. package/esm/charts/bar-3d/interface.js +1 -1
  96. package/esm/charts/bar-3d/series-spec-transformer.js +1 -1
  97. package/esm/charts/bar-3d/series.js +1 -1
  98. package/esm/charts/bar-3d/theme.js +1 -1
  99. package/esm/charts/candlestick/candlestick-transformer.js +1 -1
  100. package/esm/charts/candlestick/candlestick.js +1 -2
  101. package/esm/charts/candlestick/index.js +1 -1
  102. package/esm/charts/candlestick/interface.js +1 -1
  103. package/esm/charts/candlestick/util.js +1 -1
  104. package/esm/charts/combination-candlestick/combination-candlestick-transformer.js +1 -1
  105. package/esm/charts/combination-candlestick/combination-candlestick.js +1 -1
  106. package/esm/charts/combination-candlestick/constant.js +1 -1
  107. package/esm/charts/combination-candlestick/index.js +1 -1
  108. package/esm/charts/combination-candlestick/interface.js +1 -1
  109. package/esm/charts/conversion-funnel/arrow-data-transform.js +1 -1
  110. package/esm/charts/conversion-funnel/constants.js +1 -1
  111. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
  112. package/esm/charts/conversion-funnel/conversion-funnel.js +1 -1
  113. package/esm/charts/conversion-funnel/index.js +1 -1
  114. package/esm/charts/conversion-funnel/interface.js +1 -1
  115. package/esm/charts/conversion-funnel/util.js +1 -1
  116. package/esm/charts/funnel-3d/chart.js +1 -2
  117. package/esm/charts/funnel-3d/constant.js +1 -1
  118. package/esm/charts/funnel-3d/index.js +1 -1
  119. package/esm/charts/funnel-3d/interface.js +1 -1
  120. package/esm/charts/funnel-3d/series-spec-transformer.js +1 -1
  121. package/esm/charts/funnel-3d/series.js +1 -1
  122. package/esm/charts/funnel-3d/theme.js +1 -1
  123. package/esm/charts/histogram-3d/chart.js +1 -1
  124. package/esm/charts/image-cloud/series/image-cloud.d.ts +1 -1
  125. package/esm/charts/pictogram/series/pictogram.d.ts +9 -2
  126. package/esm/charts/pictogram/series/pictogram.js +57 -17
  127. package/esm/charts/pictogram/series/pictogram.js.map +1 -1
  128. package/esm/charts/pictogram/series/svg-source.d.ts +12 -2
  129. package/esm/charts/pictogram/series/svg-source.js +25 -1
  130. package/esm/charts/pictogram/series/svg-source.js.map +1 -1
  131. package/esm/components/bar-link/bar-link.js +1 -1
  132. package/esm/components/bar-link/constant.js +1 -1
  133. package/esm/components/bar-link/index.js +1 -1
  134. package/esm/components/bar-link/type.js +1 -1
  135. package/esm/components/bar-link/util.js +1 -1
  136. package/esm/components/bar-regression-line/index.js +6 -3
  137. package/esm/components/bar-regression-line/index.js.map +1 -1
  138. package/esm/components/bar-regression-line/type.js +1 -1
  139. package/esm/components/extension-mark-sync-state/extension-mark-sync-state.js +1 -1
  140. package/esm/components/extension-mark-sync-state/index.js +1 -1
  141. package/esm/components/extension-mark-sync-state/type.js +1 -1
  142. package/esm/components/histogram-regression-line/index.js +6 -3
  143. package/esm/components/histogram-regression-line/index.js.map +1 -1
  144. package/esm/components/histogram-regression-line/type.js +2 -1
  145. package/esm/components/map-label/index.js +1 -1
  146. package/esm/components/map-label/layout.d.ts +2 -1
  147. package/esm/components/map-label/layout.js +1 -1
  148. package/esm/components/map-label/layout.js.map +1 -1
  149. package/esm/components/map-label/map-label-transformer.js +1 -1
  150. package/esm/components/map-label/map-label.d.ts +5 -4
  151. package/esm/components/map-label/map-label.js +1 -1
  152. package/esm/components/map-label/map-label.js.map +1 -1
  153. package/esm/components/map-label/theme.js +1 -1
  154. package/esm/components/map-label/type.js +1 -1
  155. package/esm/components/regression-line/index.js +1 -1
  156. package/esm/components/regression-line/regression-line.js +1 -1
  157. package/esm/components/regression-line/type.js +1 -1
  158. package/esm/components/scatter-regression-line/index.js +6 -3
  159. package/esm/components/scatter-regression-line/index.js.map +1 -1
  160. package/esm/components/scatter-regression-line/type.js +1 -1
  161. package/esm/components/series-break/constant.js +1 -1
  162. package/esm/components/series-break/index.js +1 -1
  163. package/esm/components/series-break/series-break.js +1 -1
  164. package/esm/components/series-break/type.js +1 -1
  165. package/esm/components/series-break/util.js +2 -1
  166. package/esm/components/series-label/constant.js +1 -1
  167. package/esm/components/series-label/index.js +1 -1
  168. package/esm/components/series-label/series-label.js +1 -1
  169. package/esm/components/series-label/type.js +1 -1
  170. package/esm/components/series-label/util.js +1 -1
  171. package/package.json +8 -8
@@ -1,6 +1,7 @@
1
- import type { IBaseLayout, IChart, ILayoutItem, IOffset, IRect } from '@visactor/vchart';
1
+ import type { IBaseLayout, IChart, ILayoutItem, IOffset } from '@visactor/vchart';
2
2
  import { Layout } from '@visactor/vchart';
3
3
  import type { IBoundsLike } from '@visactor/vchart';
4
+ import type { IRect } from '@visactor/vchart/src/typings/space';
4
5
  export declare class Layout3d extends Layout implements IBaseLayout {
5
6
  recomputeWidth: boolean;
6
7
  recomputeHeight: boolean;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/3d/layout.ts"],"names":[],"mappings":"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","file":"layout.js","sourcesContent":["import type { IAxis, IBaseLayout, IChart, ILayoutItem, IOffset, IRect, LayoutSideType } from '@visactor/vchart';\nimport { Factory, isXAxis, isYAxis, Layout } from '@visactor/vchart';\nimport type { IBoundsLike } from '@visactor/vchart';\n\nexport class Layout3d extends Layout implements IBaseLayout {\n declare recomputeWidth: boolean;\n declare recomputeHeight: boolean;\n static type = 'layout3d';\n\n layoutItems(_chart: IChart, items: ILayoutItem[], chartLayoutRect: IRect, chartViewBox: IBoundsLike): void {\n // 布局初始化\n this._layoutInit(_chart, items, chartLayoutRect, chartViewBox);\n\n const recompute = {\n recomputeWidth: this.recomputeWidth,\n recomputeHeight: this.recomputeHeight\n };\n // 先布局 normal 类型的元素\n this._layoutNormalItems(items, recompute);\n\n // 开始布局 region 相关元素\n // 为了锁紧先保存一下当前的布局空间\n const layoutTemp: LayoutSideType = {\n left: this.leftCurrent,\n top: this.topCurrent,\n right: this.rightCurrent,\n bottom: this.bottomCurrent\n };\n // 计算3d轴\n const absoluteItem = items.filter(x => x.layoutType === 'absolute');\n const zItems = absoluteItem.filter(i => {\n return i.layoutOrient === 'z';\n });\n\n // 计算z的宽高,让出一部分位置\n let extraWH = { width: 0, height: 0 };\n if (zItems.length) {\n const layoutRect = zItems[0].getLayoutRect();\n extraWH = layoutRect;\n }\n this.leftCurrent += extraWH.width / 8;\n this.rightCurrent -= extraWH.width / 8;\n this.topCurrent += extraWH.height / 8;\n this.bottomCurrent -= extraWH.height / 8;\n\n const { regionItems, relativeItems, relativeOverlapItems, allRelatives, overlapItems } = this._groupItems(items);\n // 有元素开启了自动缩进\n // TODO:目前只有普通占位布局下的 region-relative 元素支持\n // 主要考虑常规元素超出画布一般为用户个性设置,而且可以设置padding规避裁剪,不需要使用自动缩进\n this.layoutRegionItems(regionItems, relativeItems, relativeOverlapItems, overlapItems, recompute);\n\n // 缩进\n this._processAutoIndent(\n regionItems,\n relativeItems,\n relativeOverlapItems,\n overlapItems,\n allRelatives,\n layoutTemp,\n recompute\n );\n\n // z轴以外的绝对定位\n const absoluteItemExceptZAxis = absoluteItem.filter(i => i.layoutOrient !== 'z');\n this.layoutAbsoluteItems(absoluteItemExceptZAxis);\n\n // 找到x轴\n const xAxis = relativeItems.filter(item => {\n return item.model.specKey === 'axes' && isXAxis(item.layoutOrient);\n })[0];\n const yAxis = relativeItems.filter(item => {\n return item.model.specKey === 'axes' && isYAxis(item.layoutOrient);\n })[0];\n if (xAxis && zItems.length) {\n const sp = xAxis.getLayoutStartPoint();\n const lr = xAxis.getLayoutRect();\n const zRect = {\n x: yAxis.layoutOrient === 'left' ? sp.x + lr.width : sp.x,\n y: sp.y,\n width: this._chartLayoutRect.width,\n height: this._chartLayoutRect.height\n };\n (zItems[0].model as IAxis).directionStr = yAxis.layoutOrient === 'left' ? 'r2l' : 'l2r';\n // 将长宽高信息传给所有的轴\n const xRect = xAxis.getLayoutRect();\n const yRect = yAxis.getLayoutRect();\n // const zRect = zItems[0].getLayoutRect();\n const box3d = {\n length: zItems[0].getLayoutRect().width,\n width: xRect.width,\n height: yRect.height\n };\n\n (<any>xAxis.model).setLayout3dBox && (<any>xAxis.model).setLayout3dBox(box3d);\n (<any>yAxis.model).setLayout3dBox && (<any>yAxis.model).setLayout3dBox(box3d);\n (<any>zItems[0].model).setLayout3dBox && (<any>zItems[0].model).setLayout3dBox(box3d);\n\n this.layoutZAxisItems(zItems, zRect);\n }\n }\n\n /**\n * 对z轴进行布局\n * @param zItems\n */\n protected layoutZAxisItems(zItems: ILayoutItem[], zRect: IRect) {\n zItems.forEach(item => {\n // 设置盒子\n item.absoluteLayoutInRect(zRect);\n });\n }\n\n /**\n * 工具方法 根据item属性获取给item提供的布局空间\n * @param item\n */\n getItemComputeLayoutRect(item: ILayoutItem, extraOffset?: IOffset) {\n if (!extraOffset) {\n extraOffset = { offsetLeft: 0, offsetRight: 0, offsetTop: 0, offsetBottom: 0 };\n }\n const result = {\n width:\n this.rightCurrent -\n this.leftCurrent -\n item.layoutPaddingLeft -\n item.layoutPaddingRight -\n (extraOffset.offsetLeft + extraOffset.offsetRight),\n height:\n this.bottomCurrent -\n this.topCurrent -\n item.layoutPaddingTop -\n item.layoutPaddingBottom -\n (extraOffset.offsetTop + extraOffset.offsetBottom)\n };\n return result;\n }\n\n protected _checkAutoIndent(items: ILayoutItem[]) {\n const result = {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n };\n const rightCurrent = this._chartViewBox.x2 - this._chartViewBox.x1 - this.rightCurrent;\n const bottomCurrent = this._chartViewBox.y2 - this._chartViewBox.y1 - this.bottomCurrent;\n items.forEach(i => {\n if (!i.getModelVisible() || !i.autoIndent) {\n return;\n }\n const vOrH = i.layoutOrient === 'left' || i.layoutOrient === 'right';\n const outer = i.getLastComputeOutBounds();\n if (vOrH) {\n result.top = Math.max(result.top, outer.y1 - this.topCurrent);\n result.bottom = Math.max(result.bottom, outer.y2 - bottomCurrent);\n } else {\n result.left = Math.max(result.left, outer.x1 - this.leftCurrent);\n result.right = Math.max(result.right, outer.x2 - rightCurrent);\n }\n });\n return result;\n }\n}\n\nexport const registerLayout3d = () => {\n Factory.registerLayout(Layout3d.type, Layout3d);\n};\n"]}
1
+ {"version":3,"sources":["../src/charts/3d/layout.ts"],"names":[],"mappings":"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","file":"layout.js","sourcesContent":["import type { IAxis, IBaseLayout, IChart, ILayoutItem, IOffset, LayoutSideType } from '@visactor/vchart';\nimport { Factory, isXAxis, isYAxis, Layout } from '@visactor/vchart';\nimport type { IBoundsLike } from '@visactor/vchart';\nimport type { IRect } from '@visactor/vchart/src/typings/space';\n\nexport class Layout3d extends Layout implements IBaseLayout {\n declare recomputeWidth: boolean;\n declare recomputeHeight: boolean;\n static type = 'layout3d';\n\n layoutItems(_chart: IChart, items: ILayoutItem[], chartLayoutRect: IRect, chartViewBox: IBoundsLike): void {\n // 布局初始化\n this._layoutInit(_chart, items, chartLayoutRect, chartViewBox);\n\n const recompute = {\n recomputeWidth: this.recomputeWidth,\n recomputeHeight: this.recomputeHeight\n };\n // 先布局 normal 类型的元素\n this._layoutNormalItems(items, recompute);\n\n // 开始布局 region 相关元素\n // 为了锁紧先保存一下当前的布局空间\n const layoutTemp: LayoutSideType = {\n left: this.leftCurrent,\n top: this.topCurrent,\n right: this.rightCurrent,\n bottom: this.bottomCurrent\n };\n // 计算3d轴\n const absoluteItem = items.filter(x => x.layoutType === 'absolute');\n const zItems = absoluteItem.filter(i => {\n return i.layoutOrient === 'z';\n });\n\n // 计算z的宽高,让出一部分位置\n let extraWH = { width: 0, height: 0 };\n if (zItems.length) {\n const layoutRect = zItems[0].getLayoutRect();\n extraWH = layoutRect;\n }\n this.leftCurrent += extraWH.width / 8;\n this.rightCurrent -= extraWH.width / 8;\n this.topCurrent += extraWH.height / 8;\n this.bottomCurrent -= extraWH.height / 8;\n\n const { regionItems, relativeItems, relativeOverlapItems, allRelatives, overlapItems } = this._groupItems(items);\n // 有元素开启了自动缩进\n // TODO:目前只有普通占位布局下的 region-relative 元素支持\n // 主要考虑常规元素超出画布一般为用户个性设置,而且可以设置padding规避裁剪,不需要使用自动缩进\n this.layoutRegionItems(regionItems, relativeItems, relativeOverlapItems, overlapItems, recompute);\n\n // 缩进\n this._processAutoIndent(\n regionItems,\n relativeItems,\n relativeOverlapItems,\n overlapItems,\n allRelatives,\n layoutTemp,\n recompute\n );\n\n // z轴以外的绝对定位\n const absoluteItemExceptZAxis = absoluteItem.filter(i => i.layoutOrient !== 'z');\n this.layoutAbsoluteItems(absoluteItemExceptZAxis);\n\n // 找到x轴\n const xAxis = relativeItems.filter(item => {\n return item.model.specKey === 'axes' && isXAxis(item.layoutOrient);\n })[0];\n const yAxis = relativeItems.filter(item => {\n return item.model.specKey === 'axes' && isYAxis(item.layoutOrient);\n })[0];\n if (xAxis && zItems.length) {\n const sp = xAxis.getLayoutStartPoint();\n const lr = xAxis.getLayoutRect();\n const zRect = {\n x: yAxis.layoutOrient === 'left' ? sp.x + lr.width : sp.x,\n y: sp.y,\n width: this._chartLayoutRect.width,\n height: this._chartLayoutRect.height\n };\n (zItems[0].model as IAxis).directionStr = yAxis.layoutOrient === 'left' ? 'r2l' : 'l2r';\n // 将长宽高信息传给所有的轴\n const xRect = xAxis.getLayoutRect();\n const yRect = yAxis.getLayoutRect();\n // const zRect = zItems[0].getLayoutRect();\n const box3d = {\n length: zItems[0].getLayoutRect().width,\n width: xRect.width,\n height: yRect.height\n };\n\n (<any>xAxis.model).setLayout3dBox && (<any>xAxis.model).setLayout3dBox(box3d);\n (<any>yAxis.model).setLayout3dBox && (<any>yAxis.model).setLayout3dBox(box3d);\n (<any>zItems[0].model).setLayout3dBox && (<any>zItems[0].model).setLayout3dBox(box3d);\n\n this.layoutZAxisItems(zItems, zRect);\n }\n }\n\n /**\n * 对z轴进行布局\n * @param zItems\n */\n protected layoutZAxisItems(zItems: ILayoutItem[], zRect: IRect) {\n zItems.forEach(item => {\n // 设置盒子\n item.absoluteLayoutInRect(zRect);\n });\n }\n\n /**\n * 工具方法 根据item属性获取给item提供的布局空间\n * @param item\n */\n getItemComputeLayoutRect(item: ILayoutItem, extraOffset?: IOffset) {\n if (!extraOffset) {\n extraOffset = { offsetLeft: 0, offsetRight: 0, offsetTop: 0, offsetBottom: 0 };\n }\n const result = {\n width:\n this.rightCurrent -\n this.leftCurrent -\n item.layoutPaddingLeft -\n item.layoutPaddingRight -\n (extraOffset.offsetLeft + extraOffset.offsetRight),\n height:\n this.bottomCurrent -\n this.topCurrent -\n item.layoutPaddingTop -\n item.layoutPaddingBottom -\n (extraOffset.offsetTop + extraOffset.offsetBottom)\n };\n return result;\n }\n\n protected _checkAutoIndent(items: ILayoutItem[]) {\n const result = {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n };\n const rightCurrent = this._chartViewBox.x2 - this._chartViewBox.x1 - this.rightCurrent;\n const bottomCurrent = this._chartViewBox.y2 - this._chartViewBox.y1 - this.bottomCurrent;\n items.forEach(i => {\n if (!i.getModelVisible() || !i.autoIndent) {\n return;\n }\n const vOrH = i.layoutOrient === 'left' || i.layoutOrient === 'right';\n const outer = i.getLastComputeOutBounds();\n if (vOrH) {\n result.top = Math.max(result.top, outer.y1 - this.topCurrent);\n result.bottom = Math.max(result.bottom, outer.y2 - bottomCurrent);\n } else {\n result.left = Math.max(result.left, outer.x1 - this.leftCurrent);\n result.right = Math.max(result.right, outer.x2 - rightCurrent);\n }\n });\n return result;\n }\n}\n\nexport const registerLayout3d = () => {\n Factory.registerLayout(Layout3d.type, Layout3d);\n};\n"]}
@@ -10,4 +10,5 @@ const layout_1 = require("../3d/layout"), plugin_1 = require("../3d/plugin"), ba
10
10
  (0, symlog_axis_1.registerCartesianSymlogAxis3d)(), (0, log_axis_1.registerCartesianLogAxis3d)();
11
11
  };
12
12
 
13
- exports.registerAxis3dPlugin = registerAxis3dPlugin;
13
+ exports.registerAxis3dPlugin = registerAxis3dPlugin;
14
+ //# sourceMappingURL=index.js.map
@@ -12,5 +12,4 @@ const vchart_1 = require("@visactor/vchart"), theme_1 = require("./theme"), vcha
12
12
  }), (0, vchart_2.mixin)(AxisCls, axis_3d_mixin_1.Axis3dMixin);
13
13
  };
14
14
 
15
- exports.registerCartesianLinearAxis3d = registerCartesianLinearAxis3d;
16
- //# sourceMappingURL=linear-axis.js.map
15
+ exports.registerCartesianLinearAxis3d = registerCartesianLinearAxis3d;
@@ -16,4 +16,4 @@ class Bar3dChartSpecTransformer extends vchart_1.BarChartSpecTransformer {
16
16
  }
17
17
 
18
18
  exports.Bar3dChartSpecTransformer = Bar3dChartSpecTransformer;
19
- //# sourceMappingURL=chart-spec-transformer.js.map
19
+ //# sourceMappingURL=chart-spec-transformer.js.map
@@ -22,4 +22,4 @@ const registerBar3dChart = () => {
22
22
  };
23
23
 
24
24
  exports.registerBar3dChart = registerBar3dChart;
25
- //# sourceMappingURL=chart.js.map
25
+ //# sourceMappingURL=chart.js.map
@@ -12,4 +12,4 @@ Object.defineProperty(exports, "__esModule", {
12
12
  type: "rect3d"
13
13
  }
14
14
  };
15
- //# sourceMappingURL=constant.js.map
15
+ //# sourceMappingURL=constant.js.map
@@ -20,4 +20,4 @@ Object.defineProperty(exports, "__esModule", {
20
20
  }), __exportStar(require("./chart"), exports), __exportStar(require("./chart-spec-transformer"), exports),
21
21
  __exportStar(require("./interface"), exports), __exportStar(require("./series"), exports),
22
22
  __exportStar(require("./series-spec-transformer"), exports);
23
- //# sourceMappingURL=index.js.map
23
+ //# sourceMappingURL=index.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=interface.js.map
6
+ //# sourceMappingURL=interface.js.map
@@ -13,4 +13,4 @@ class Bar3dSeriesSpecTransformer extends vchart_1.BarSeriesSpecTransformer {
13
13
  }
14
14
 
15
15
  exports.Bar3dSeriesSpecTransformer = Bar3dSeriesSpecTransformer;
16
- //# sourceMappingURL=series-spec-transformer.js.map
16
+ //# sourceMappingURL=series-spec-transformer.js.map
@@ -25,4 +25,4 @@ const registerBar3dSeries = () => {
25
25
  };
26
26
 
27
27
  exports.registerBar3dSeries = registerBar3dSeries;
28
- //# sourceMappingURL=series.js.map
28
+ //# sourceMappingURL=series.js.map
@@ -16,4 +16,4 @@ Object.defineProperty(exports, "__esModule", {
16
16
  }
17
17
  }
18
18
  };
19
- //# sourceMappingURL=theme.js.map
19
+ //# sourceMappingURL=theme.js.map
@@ -21,4 +21,4 @@ class CandlestickChartSpecTransformer extends vchart_1.CartesianChartSpecTransfo
21
21
  }
22
22
 
23
23
  exports.CandlestickChartSpecTransformer = CandlestickChartSpecTransformer;
24
- //# sourceMappingURL=candlestick-transformer.js.map
24
+ //# sourceMappingURL=candlestick-transformer.js.map
@@ -22,5 +22,4 @@ const registerCandlestickChart = () => {
22
22
  (0, candlestick_1.registerCandlestickSeries)(), vchart_1.Factory.registerChart(CandlestickChart.type, CandlestickChart);
23
23
  };
24
24
 
25
- exports.registerCandlestickChart = registerCandlestickChart;
26
- //# sourceMappingURL=candlestick.js.map
25
+ exports.registerCandlestickChart = registerCandlestickChart;
@@ -20,4 +20,4 @@ Object.defineProperty(exports, "__esModule", {
20
20
  }), __exportStar(require("./candlestick"), exports), __exportStar(require("./interface"), exports),
21
21
  __exportStar(require("./candlestick-transformer"), exports), __exportStar(require("./series/candlestick"), exports),
22
22
  __exportStar(require("./util"), exports);
23
- //# sourceMappingURL=index.js.map
23
+ //# sourceMappingURL=index.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=interface.js.map
6
+ //# sourceMappingURL=interface.js.map
@@ -7,4 +7,4 @@ function transformCandlestickSeriesSpec(spec) {
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: !0
9
9
  }), exports.transformCandlestickSeriesSpec = void 0, exports.transformCandlestickSeriesSpec = transformCandlestickSeriesSpec;
10
- //# sourceMappingURL=util.js.map
10
+ //# sourceMappingURL=util.js.map
@@ -201,4 +201,4 @@ class CombinationCandlestickChartSpecTransformer extends vchart_1.CartesianChart
201
201
  }
202
202
 
203
203
  exports.CombinationCandlestickChartSpecTransformer = CombinationCandlestickChartSpecTransformer;
204
- //# sourceMappingURL=combination-candlestick-transformer.js.map
204
+ //# sourceMappingURL=combination-candlestick-transformer.js.map
@@ -28,4 +28,4 @@ const registerCombinationCandlestickChart = () => {
28
28
  };
29
29
 
30
30
  exports.registerCombinationCandlestickChart = registerCombinationCandlestickChart;
31
- //# sourceMappingURL=combination-candlestick.js.map
31
+ //# sourceMappingURL=combination-candlestick.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.CombinationCandlestickChart_TYPE = void 0, exports.CombinationCandlestickChart_TYPE = "combinationCandlestick";
6
- //# sourceMappingURL=constant.js.map
6
+ //# sourceMappingURL=constant.js.map
@@ -19,4 +19,4 @@ Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
20
  }), __exportStar(require("./combination-candlestick"), exports), __exportStar(require("./interface"), exports),
21
21
  __exportStar(require("./constant"), exports);
22
- //# sourceMappingURL=index.js.map
22
+ //# sourceMappingURL=index.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=interface.js.map
6
+ //# sourceMappingURL=interface.js.map
@@ -95,5 +95,5 @@ function computeIndex(arrow, totalArrows) {
95
95
  return index;
96
96
  }
97
97
 
98
- exports.conversionArrowTransform = conversionArrowTransform;
99
98
  //# sourceMappingURL=arrow-data-transform.js.map
99
+ exports.conversionArrowTransform = conversionArrowTransform;
@@ -21,4 +21,4 @@ exports.DEFAULT_ARROW_MARK_STYLE = {
21
21
  }, exports.DEFAULT_FUNNEL_BACKGROUND_MARK_STYLE = {
22
22
  fill: "#eff1f9"
23
23
  };
24
- //# sourceMappingURL=constants.js.map
24
+ //# sourceMappingURL=constants.js.map
@@ -193,5 +193,5 @@ function addFunnelBackgroundMark(funnelBackground) {
193
193
  });
194
194
  }
195
195
 
196
- exports.ConversionFunnelChartSpecTransformer = ConversionFunnelChartSpecTransformer;
197
196
  //# sourceMappingURL=conversion-funnel-transformer.js.map
197
+ exports.ConversionFunnelChartSpecTransformer = ConversionFunnelChartSpecTransformer;
@@ -59,4 +59,4 @@ const registerConversionFunnelChart = option => {
59
59
  };
60
60
 
61
61
  exports.registerConversionFunnelChart = registerConversionFunnelChart;
62
- //# sourceMappingURL=conversion-funnel.js.map
62
+ //# sourceMappingURL=conversion-funnel.js.map
@@ -18,4 +18,4 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
20
  }), __exportStar(require("./interface"), exports), __exportStar(require("./conversion-funnel"), exports);
21
- //# sourceMappingURL=index.js.map
21
+ //# sourceMappingURL=index.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=interface.js.map
6
+ //# sourceMappingURL=interface.js.map
@@ -14,4 +14,4 @@ Object.defineProperty(exports, "__esModule", {
14
14
  value: !0
15
15
  }), exports.isSameArrow = exports.isArrowCross = void 0, exports.isArrowCross = isArrowCross,
16
16
  exports.isSameArrow = isSameArrow;
17
- //# sourceMappingURL=util.js.map
17
+ //# sourceMappingURL=util.js.map
@@ -21,5 +21,4 @@ const registerFunnel3dChart = () => {
21
21
  (0, layout_1.registerLayout3d)(), (0, series_1.registerFunnel3dSeries)(), vchart_1.Factory.registerChart(Funnel3dChart.type, Funnel3dChart);
22
22
  };
23
23
 
24
- exports.registerFunnel3dChart = registerFunnel3dChart;
25
- //# sourceMappingURL=chart.js.map
24
+ exports.registerFunnel3dChart = registerFunnel3dChart;
@@ -28,4 +28,4 @@ exports.funnel3dSeriesMark = Object.assign(Object.assign({}, vchart_1.baseSeries
28
28
  type: "rule"
29
29
  }
30
30
  });
31
- //# sourceMappingURL=constant.js.map
31
+ //# sourceMappingURL=constant.js.map
@@ -19,4 +19,4 @@ Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
20
  }), __exportStar(require("./chart"), exports), __exportStar(require("./series"), exports),
21
21
  __exportStar(require("./series-spec-transformer"), exports), __exportStar(require("./interface"), exports);
22
- //# sourceMappingURL=index.js.map
22
+ //# sourceMappingURL=index.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=interface.js.map
6
+ //# sourceMappingURL=interface.js.map
@@ -13,4 +13,4 @@ class Funnel3dSeriesSpecTransformer extends vchart_1.FunnelSeriesSpecTransformer
13
13
  }
14
14
 
15
15
  exports.Funnel3dSeriesSpecTransformer = Funnel3dSeriesSpecTransformer;
16
- //# sourceMappingURL=series-spec-transformer.js.map
16
+ //# sourceMappingURL=series-spec-transformer.js.map
@@ -80,4 +80,4 @@ const registerFunnel3dSeries = () => {
80
80
  };
81
81
 
82
82
  exports.registerFunnel3dSeries = registerFunnel3dSeries;
83
- //# sourceMappingURL=series.js.map
83
+ //# sourceMappingURL=series.js.map
@@ -7,4 +7,4 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const vchart_1 = require("@visactor/vchart");
8
8
 
9
9
  exports.funnel3d = (0, vchart_1.getFunnelTheme)(!0);
10
- //# sourceMappingURL=theme.js.map
10
+ //# sourceMappingURL=theme.js.map
@@ -28,4 +28,4 @@ const registerHistogram3dChart = () => {
28
28
  };
29
29
 
30
30
  exports.registerHistogram3dChart = registerHistogram3dChart;
31
- //# sourceMappingURL=chart.js.map
31
+ //# sourceMappingURL=chart.js.map
@@ -112,7 +112,7 @@ export declare class ImageCloudSeries<T extends IImageCloudSeriesSpec> extends B
112
112
  style?: Partial<import("@visactor/vchart").IImageMarkSpec>;
113
113
  };
114
114
  layoutConfig: import("@visactor/vchart").LayoutConfigType;
115
- createCanvas: (params: import("@visactor/vrender-core").ICreateCanvasParams) => any;
115
+ createCanvas: (params: import("@visactor/vrender-core/es/interface").ICreateCanvasParams) => any;
116
116
  createImage: typeof createImage;
117
117
  onUpdateMaskCanvas: (inputImage?: HTMLCanvasElement, maskImage?: HTMLCanvasElement) => void;
118
118
  onLayoutFinished: () => void;
@@ -1,5 +1,6 @@
1
- import { type SVGParsedElement, type SVGParserResult } from '@visactor/vchart';
1
+ import { type SVGParsedElement } from '@visactor/vchart';
2
2
  import type { IPictogramSeriesSpec } from './interface';
3
+ import { type SVGParserResultWithViewport } from './svg-source';
3
4
  import { PictogramSeriesSpecTransformer } from './pictogram-transformer';
4
5
  import type { IMatrix, IPoint, IPointLike, GraphicEventType } from '@visactor/vchart';
5
6
  import { type IGroup } from '@visactor/vchart';
@@ -80,7 +81,7 @@ export declare class PictogramSeries<T extends IPictogramSeriesSpec = IPictogram
80
81
  static readonly transformerConstructor: typeof PictogramSeriesSpecTransformer;
81
82
  svg: string;
82
83
  protected _pictogramMark: IGroupMark;
83
- protected _parsedSvgResult: SVGParserResult;
84
+ protected _parsedSvgResult: SVGParserResultWithViewport;
84
85
  private _labelMark;
85
86
  private _idToMark;
86
87
  setAttrFromSpec(): void;
@@ -113,6 +114,12 @@ export declare class PictogramSeries<T extends IPictogramSeriesSpec = IPictogram
113
114
  coordToPosition(point: IPoint): IPoint | undefined;
114
115
  getRootMatrix(): IMatrix;
115
116
  getPictogramRootGraphic(): IGroup;
117
+ private _getSvgRootMatrix;
118
+ private _getSvgViewportRect;
119
+ private _getSvgRootBounds;
120
+ private _appendMatrixScale;
121
+ private _appendMatrixTranslate;
122
+ private _getFittedSvgRootMatrix;
116
123
  initData(): void;
117
124
  mapViewDataUpdate(): void;
118
125
  onLayoutEnd(): void;
@@ -110,13 +110,13 @@ class PictogramSeries extends vchart_4.GeoSeries {
110
110
  }, vchart_4.STATE_VALUE_ENUM.STATE_NORMAL, vchart_4.AttributeLevel.Series);
111
111
  }
112
112
  initMarkStyle() {
113
- const {root: root, viewBoxRect: viewBoxRect} = this._parsedSvgResult, elements = this._mapViewData.getDataView().latestData;
113
+ const {root: root} = this._parsedSvgResult, svgViewportRect = this._getSvgViewportRect(), elements = this._mapViewData.getDataView().latestData;
114
114
  root && (this.setMarkStyle(this._pictogramMark, transform_1.graphicAttributeTransform.group(root.attributes), "normal", vchart_4.AttributeLevel.Built_In),
115
- root.transform && this.setMarkStyle(this._pictogramMark, {
116
- postMatrix: () => root.transform
117
- }, "normal", vchart_4.AttributeLevel.Built_In), viewBoxRect && this._pictogramMark.setMarkConfig({
115
+ this.setMarkStyle(this._pictogramMark, {
116
+ postMatrix: () => this._getFittedSvgRootMatrix()
117
+ }, "normal", vchart_4.AttributeLevel.Built_In), svgViewportRect && this._pictogramMark.setMarkConfig({
118
118
  clip: !0,
119
- clipPath: [ (0, vchart_3.createRect)(Object.assign(Object.assign({}, viewBoxRect), {
119
+ clipPath: [ (0, vchart_3.createRect)(Object.assign(Object.assign({}, svgViewportRect), {
120
120
  fill: !0
121
121
  })) ]
122
122
  }));
@@ -179,6 +179,51 @@ class PictogramSeries extends vchart_4.GeoSeries {
179
179
  getPictogramRootGraphic() {
180
180
  return this._pictogramMark.getProduct();
181
181
  }
182
+ _getSvgRootMatrix() {
183
+ var _a, _b;
184
+ const transform = null === (_b = null === (_a = this._parsedSvgResult) || void 0 === _a ? void 0 : _a.root) || void 0 === _b ? void 0 : _b.transform;
185
+ return transform ? new vchart_2.Matrix(transform.a, transform.b, transform.c, transform.d, transform.e, transform.f) : new vchart_2.Matrix;
186
+ }
187
+ _getSvgViewportRect() {
188
+ var _a, _b, _c, _d;
189
+ const viewBoxRect = null === (_a = this._parsedSvgResult) || void 0 === _a ? void 0 : _a.viewBoxRect;
190
+ if (viewBoxRect) return viewBoxRect;
191
+ const {width: width, height: height} = null !== (_b = this._parsedSvgResult) && void 0 !== _b ? _b : {};
192
+ return Number.isFinite(width) && Number.isFinite(height) && width > 0 && height > 0 ? {
193
+ x: 0,
194
+ y: 0,
195
+ width: width,
196
+ height: height
197
+ } : null !== (_d = null === (_c = this._parsedSvgResult) || void 0 === _c ? void 0 : _c[svg_source_1.SVG_VIEWPORT_RECT_KEY]) && void 0 !== _d ? _d : null;
198
+ }
199
+ _getSvgRootBounds(rootMatrix) {
200
+ const viewBoxRect = this._getSvgViewportRect();
201
+ if (!viewBoxRect) return null;
202
+ const bounds = (new vchart_2.Bounds).setValue(viewBoxRect.x, viewBoxRect.y, viewBoxRect.x + viewBoxRect.width, viewBoxRect.y + viewBoxRect.height);
203
+ return bounds.transformWithMatrix(rootMatrix), bounds;
204
+ }
205
+ _appendMatrixScale(matrix, scale, center) {
206
+ const nextMatrix = new vchart_2.Matrix;
207
+ return nextMatrix.translate(center.x, center.y), nextMatrix.scale(scale, scale),
208
+ nextMatrix.translate(-center.x, -center.y), nextMatrix.multiply(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f),
209
+ nextMatrix;
210
+ }
211
+ _appendMatrixTranslate(matrix, dx, dy) {
212
+ const nextMatrix = new vchart_2.Matrix;
213
+ return nextMatrix.translate(dx, dy), nextMatrix.multiply(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f),
214
+ nextMatrix;
215
+ }
216
+ _getFittedSvgRootMatrix() {
217
+ const rootMatrix = this._getSvgRootMatrix(), bounds = this._getSvgRootBounds(rootMatrix);
218
+ if (!bounds) return rootMatrix;
219
+ const width = bounds.width(), height = bounds.height();
220
+ if (!Number.isFinite(width) || !Number.isFinite(height) || width <= 0 || height <= 0) return rootMatrix;
221
+ const {width: regionWidth, height: regionHeight} = this.getLayoutRect(), rootCenterX = (bounds.x1 + bounds.x2) / 2, rootCenterY = (bounds.y1 + bounds.y2) / 2, scale = Math.min(regionWidth / width, regionHeight / height), scaledMatrix = this._appendMatrixScale(rootMatrix, scale, {
222
+ x: rootCenterX,
223
+ y: rootCenterY
224
+ });
225
+ return this._appendMatrixTranslate(scaledMatrix, regionWidth / 2 - rootCenterX, regionHeight / 2 - rootCenterY);
226
+ }
182
227
  initData() {
183
228
  var _a, _b;
184
229
  super.initData();
@@ -224,19 +269,14 @@ class PictogramSeries extends vchart_4.GeoSeries {
224
269
  super.onLayoutEnd(), null === (_a = this._mapViewData) || void 0 === _a || _a.getDataView().reRunAllTransform();
225
270
  }
226
271
  updateSVGSize() {
227
- const {width: regionWidth, height: regionHeight} = this.getLayoutRect(), regionCenterX = regionWidth / 2, regionCenterY = regionHeight / 2, root = this.getPictogramRootGraphic();
228
- if (root) {
229
- const bounds = root.AABBBounds, {x1: x1, x2: x2, y1: y1, y2: y2} = root.AABBBounds, rootCenterX = (x1 + x2) / 2, rootCenterY = (y1 + y2) / 2, scaleX = regionWidth / bounds.width(), scaleY = regionHeight / bounds.height(), scale = Math.min(scaleX, scaleY);
230
- root.scale(scale, scale, {
231
- x: rootCenterX,
232
- y: rootCenterY
233
- }), root.translate(regionCenterX - rootCenterX, regionCenterY - rootCenterY);
234
- }
272
+ const root = this.getPictogramRootGraphic();
273
+ root && root.setAttributes({
274
+ postMatrix: this._getFittedSvgRootMatrix()
275
+ });
235
276
  }
236
277
  initEvent() {
237
278
  var _a;
238
- super.initEvent(), null === (_a = this._mapViewData.getDataView()) || void 0 === _a || _a.target.addListener("change", this.mapViewDataUpdate.bind(this)),
239
- this.event.on(vchart_4.ChartEvent.afterMarkLayoutEnd, this.updateSVGSize.bind(this));
279
+ super.initEvent(), null === (_a = this._mapViewData.getDataView()) || void 0 === _a || _a.target.addListener("change", this.mapViewDataUpdate.bind(this));
240
280
  }
241
281
  handleZoom(e) {
242
282
  const {scale: scale, scaleCenter: scaleCenter} = e;