@visactor/vtable 0.17.10-alpha.6 → 0.17.10-alpha.7

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 (355) hide show
  1. package/cjs/components/axis/label-overlap.js.map +1 -1
  2. package/cjs/core/BaseTable.js +2 -2
  3. package/cjs/core/BaseTable.js.map +1 -1
  4. package/cjs/core/style.js +2 -1
  5. package/cjs/core/tableHelper.d.ts +1 -1
  6. package/cjs/core/tableHelper.js +1 -2
  7. package/cjs/core/tableHelper.js.map +1 -1
  8. package/cjs/event/event.d.ts +1 -1
  9. package/cjs/event/event.js +1 -1
  10. package/cjs/event/event.js.map +1 -1
  11. package/cjs/event/listener/scroll-bar.js.map +1 -1
  12. package/cjs/event/listener/table-group.js +1 -1
  13. package/cjs/event/listener/table-group.js.map +1 -1
  14. package/cjs/event/listener/touch.js.map +1 -1
  15. package/cjs/event/media-click.js +2 -1
  16. package/cjs/event/pivot-chart/axis-click.js.map +1 -1
  17. package/cjs/event/scroll.js +0 -1
  18. package/cjs/event/util.d.ts +1 -1
  19. package/cjs/event/util.js.map +1 -1
  20. package/cjs/index.d.ts +2 -2
  21. package/cjs/index.js +3 -3
  22. package/cjs/index.js.map +1 -1
  23. package/cjs/render/jsx/index.d.ts +1 -1
  24. package/cjs/render/jsx/index.js +1 -1
  25. package/cjs/render/jsx/index.js.map +1 -1
  26. package/cjs/render/layout/arc.d.ts +2 -2
  27. package/cjs/render/layout/arc.js +1 -1
  28. package/cjs/render/layout/arc.js.map +1 -1
  29. package/cjs/render/layout/circle.d.ts +2 -2
  30. package/cjs/render/layout/circle.js +1 -1
  31. package/cjs/render/layout/circle.js.map +1 -1
  32. package/cjs/render/layout/container.d.ts +2 -2
  33. package/cjs/render/layout/container.js +1 -1
  34. package/cjs/render/layout/container.js.map +1 -1
  35. package/cjs/render/layout/group.d.ts +2 -2
  36. package/cjs/render/layout/group.js +1 -1
  37. package/cjs/render/layout/group.js.map +1 -1
  38. package/cjs/render/layout/icon.d.ts +2 -2
  39. package/cjs/render/layout/icon.js +1 -1
  40. package/cjs/render/layout/icon.js.map +1 -1
  41. package/cjs/render/layout/image.d.ts +2 -2
  42. package/cjs/render/layout/image.js +1 -1
  43. package/cjs/render/layout/image.js.map +1 -1
  44. package/cjs/render/layout/rect.d.ts +2 -2
  45. package/cjs/render/layout/rect.js +1 -1
  46. package/cjs/render/layout/rect.js.map +1 -1
  47. package/cjs/render/layout/text.d.ts +1 -1
  48. package/cjs/render/layout/text.js +1 -1
  49. package/cjs/render/layout/text.js.map +1 -1
  50. package/cjs/scenegraph/component/cell-content.d.ts +2 -2
  51. package/cjs/scenegraph/component/cell-content.js +1 -1
  52. package/cjs/scenegraph/component/cell-content.js.map +1 -1
  53. package/cjs/scenegraph/component/cell-mover.d.ts +1 -1
  54. package/cjs/scenegraph/component/cell-mover.js +1 -1
  55. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  56. package/cjs/scenegraph/component/custom.d.ts +6 -1
  57. package/cjs/scenegraph/component/custom.js +21 -4
  58. package/cjs/scenegraph/component/custom.js.map +1 -1
  59. package/cjs/scenegraph/component/drill-icon.js.map +1 -1
  60. package/cjs/scenegraph/component/menu.d.ts +1 -1
  61. package/cjs/scenegraph/component/menu.js +1 -1
  62. package/cjs/scenegraph/component/menu.js.map +1 -1
  63. package/cjs/scenegraph/component/table-component.d.ts +1 -1
  64. package/cjs/scenegraph/component/table-component.js +1 -1
  65. package/cjs/scenegraph/component/table-component.js.map +1 -1
  66. package/cjs/scenegraph/debug-tool/debug-tool.d.ts +1 -1
  67. package/cjs/scenegraph/debug-tool/debug-tool.js +1 -1
  68. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  69. package/cjs/scenegraph/debug-tool/index.d.ts +1 -1
  70. package/cjs/scenegraph/debug-tool/index.js.map +1 -1
  71. package/cjs/scenegraph/graphic/chart.d.ts +2 -2
  72. package/cjs/scenegraph/graphic/chart.js +1 -1
  73. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  74. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  75. package/cjs/scenegraph/graphic/contributions/chart-render.d.ts +1 -1
  76. package/cjs/scenegraph/graphic/contributions/chart-render.js +1 -1
  77. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  78. package/cjs/scenegraph/graphic/contributions/group-contribution-render.d.ts +2 -2
  79. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +1 -1
  80. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  81. package/cjs/scenegraph/graphic/contributions/image-contribution-render.d.ts +2 -2
  82. package/cjs/scenegraph/graphic/contributions/image-contribution-render.js +1 -1
  83. package/cjs/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
  84. package/cjs/scenegraph/graphic/contributions/index.d.ts +1 -1
  85. package/cjs/scenegraph/graphic/contributions/index.js +1 -1
  86. package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
  87. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.d.ts +2 -2
  88. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
  89. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  90. package/cjs/scenegraph/graphic/group.d.ts +2 -2
  91. package/cjs/scenegraph/graphic/group.js +1 -1
  92. package/cjs/scenegraph/graphic/group.js.map +1 -1
  93. package/cjs/scenegraph/graphic/icon.d.ts +2 -2
  94. package/cjs/scenegraph/graphic/icon.js +1 -1
  95. package/cjs/scenegraph/graphic/icon.js.map +1 -1
  96. package/cjs/scenegraph/graphic/text.d.ts +2 -2
  97. package/cjs/scenegraph/graphic/text.js +1 -1
  98. package/cjs/scenegraph/graphic/text.js.map +1 -1
  99. package/cjs/scenegraph/group-creater/cell-helper.d.ts +6 -3
  100. package/cjs/scenegraph/group-creater/cell-helper.js +38 -36
  101. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  102. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  103. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  104. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +1 -1
  105. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  106. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  107. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +1 -1
  108. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  109. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +1 -1
  110. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  111. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -1
  112. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -1
  113. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  114. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +3 -2
  115. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +7 -3
  116. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  117. package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  118. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  119. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  120. package/cjs/scenegraph/group-creater/column-helper.d.ts +1 -1
  121. package/cjs/scenegraph/group-creater/column-helper.js +11 -7
  122. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  123. package/cjs/scenegraph/icon/icon-update.js +1 -1
  124. package/cjs/scenegraph/icon/icon-update.js.map +1 -1
  125. package/cjs/scenegraph/layout/compute-col-width.js +1 -1
  126. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  127. package/cjs/scenegraph/layout/compute-row-height.js +1 -1
  128. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  129. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  130. package/cjs/scenegraph/layout/update-col.js.map +1 -1
  131. package/cjs/scenegraph/layout/update-height.js +18 -16
  132. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  133. package/cjs/scenegraph/layout/update-width.js +19 -17
  134. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  135. package/cjs/scenegraph/scenegraph.d.ts +1 -1
  136. package/cjs/scenegraph/scenegraph.js +2 -2
  137. package/cjs/scenegraph/scenegraph.js.map +1 -1
  138. package/cjs/scenegraph/select/create-select-border.js +1 -1
  139. package/cjs/scenegraph/select/create-select-border.js.map +1 -1
  140. package/cjs/scenegraph/select/delete-select-border.js.map +1 -1
  141. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  142. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  143. package/cjs/scenegraph/style/corner-cell.js.map +1 -1
  144. package/cjs/scenegraph/style/frame-border.js +1 -1
  145. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  146. package/cjs/scenegraph/utils/get-cell-merge.js +4 -0
  147. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  148. package/cjs/scenegraph/utils/padding.js +1 -1
  149. package/cjs/scenegraph/utils/padding.js.map +1 -1
  150. package/cjs/scenegraph/utils/render-service.d.ts +1 -1
  151. package/cjs/scenegraph/utils/render-service.js +1 -1
  152. package/cjs/scenegraph/utils/render-service.js.map +1 -1
  153. package/cjs/scenegraph/utils/text-icon-layout.d.ts +4 -4
  154. package/cjs/scenegraph/utils/text-icon-layout.js +13 -11
  155. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  156. package/cjs/scenegraph/utils/text-measure.d.ts +2 -2
  157. package/cjs/scenegraph/utils/text-measure.js +1 -1
  158. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  159. package/cjs/scenegraph/utils/text-pos.d.ts +1 -1
  160. package/cjs/scenegraph/utils/text-pos.js.map +1 -1
  161. package/cjs/state/spark-line/index.js +1 -1
  162. package/cjs/state/spark-line/index.js.map +1 -1
  163. package/cjs/state/state.d.ts +1 -1
  164. package/cjs/state/state.js.map +1 -1
  165. package/cjs/themes/ARCO.js +2 -1
  166. package/cjs/themes/BRIGHT.js +1 -2
  167. package/cjs/tools/NumberMap.js +1 -1
  168. package/cjs/ts-types/component/title.d.ts +1 -1
  169. package/cjs/ts-types/component/title.js.map +1 -1
  170. package/cjs/ts-types/events.d.ts +1 -1
  171. package/cjs/ts-types/events.js.map +1 -1
  172. package/cjs/ts-types/table-engine.d.ts +5 -1
  173. package/cjs/ts-types/table-engine.js.map +1 -1
  174. package/dist/vtable.js +1107 -1061
  175. package/dist/vtable.min.js +2 -2
  176. package/es/components/axis/label-overlap.js.map +1 -1
  177. package/es/core/BaseTable.js +2 -2
  178. package/es/core/BaseTable.js.map +1 -1
  179. package/es/core/style.js +2 -1
  180. package/es/core/tableHelper.d.ts +1 -1
  181. package/es/core/tableHelper.js +1 -2
  182. package/es/core/tableHelper.js.map +1 -1
  183. package/es/event/event.d.ts +1 -1
  184. package/es/event/event.js +1 -1
  185. package/es/event/event.js.map +1 -1
  186. package/es/event/listener/scroll-bar.js.map +1 -1
  187. package/es/event/listener/table-group.js +1 -1
  188. package/es/event/listener/table-group.js.map +1 -1
  189. package/es/event/listener/touch.js.map +1 -1
  190. package/es/event/media-click.js +2 -1
  191. package/es/event/pivot-chart/axis-click.js.map +1 -1
  192. package/es/event/scroll.js +1 -2
  193. package/es/event/util.d.ts +1 -1
  194. package/es/event/util.js.map +1 -1
  195. package/es/index.d.ts +2 -2
  196. package/es/index.js +2 -4
  197. package/es/index.js.map +1 -1
  198. package/es/render/jsx/index.d.ts +1 -1
  199. package/es/render/jsx/index.js +1 -1
  200. package/es/render/jsx/index.js.map +1 -1
  201. package/es/render/layout/arc.d.ts +2 -2
  202. package/es/render/layout/arc.js +1 -1
  203. package/es/render/layout/arc.js.map +1 -1
  204. package/es/render/layout/circle.d.ts +2 -2
  205. package/es/render/layout/circle.js +1 -1
  206. package/es/render/layout/circle.js.map +1 -1
  207. package/es/render/layout/container.d.ts +2 -2
  208. package/es/render/layout/container.js +1 -1
  209. package/es/render/layout/container.js.map +1 -1
  210. package/es/render/layout/group.d.ts +2 -2
  211. package/es/render/layout/group.js +1 -1
  212. package/es/render/layout/group.js.map +1 -1
  213. package/es/render/layout/icon.d.ts +2 -2
  214. package/es/render/layout/icon.js +1 -1
  215. package/es/render/layout/icon.js.map +1 -1
  216. package/es/render/layout/image.d.ts +2 -2
  217. package/es/render/layout/image.js +1 -1
  218. package/es/render/layout/image.js.map +1 -1
  219. package/es/render/layout/rect.d.ts +2 -2
  220. package/es/render/layout/rect.js +1 -1
  221. package/es/render/layout/rect.js.map +1 -1
  222. package/es/render/layout/text.d.ts +1 -1
  223. package/es/render/layout/text.js +1 -1
  224. package/es/render/layout/text.js.map +1 -1
  225. package/es/scenegraph/component/cell-content.d.ts +2 -2
  226. package/es/scenegraph/component/cell-content.js +1 -1
  227. package/es/scenegraph/component/cell-content.js.map +1 -1
  228. package/es/scenegraph/component/cell-mover.d.ts +1 -1
  229. package/es/scenegraph/component/cell-mover.js +1 -1
  230. package/es/scenegraph/component/cell-mover.js.map +1 -1
  231. package/es/scenegraph/component/custom.d.ts +6 -1
  232. package/es/scenegraph/component/custom.js +20 -2
  233. package/es/scenegraph/component/custom.js.map +1 -1
  234. package/es/scenegraph/component/drill-icon.js.map +1 -1
  235. package/es/scenegraph/component/menu.d.ts +1 -1
  236. package/es/scenegraph/component/menu.js +1 -1
  237. package/es/scenegraph/component/menu.js.map +1 -1
  238. package/es/scenegraph/component/table-component.d.ts +1 -1
  239. package/es/scenegraph/component/table-component.js +1 -1
  240. package/es/scenegraph/component/table-component.js.map +1 -1
  241. package/es/scenegraph/debug-tool/debug-tool.d.ts +1 -1
  242. package/es/scenegraph/debug-tool/debug-tool.js +1 -1
  243. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  244. package/es/scenegraph/debug-tool/index.d.ts +1 -1
  245. package/es/scenegraph/debug-tool/index.js.map +1 -1
  246. package/es/scenegraph/graphic/chart.d.ts +2 -2
  247. package/es/scenegraph/graphic/chart.js +1 -1
  248. package/es/scenegraph/graphic/chart.js.map +1 -1
  249. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  250. package/es/scenegraph/graphic/contributions/chart-render.d.ts +1 -1
  251. package/es/scenegraph/graphic/contributions/chart-render.js +1 -1
  252. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  253. package/es/scenegraph/graphic/contributions/group-contribution-render.d.ts +2 -2
  254. package/es/scenegraph/graphic/contributions/group-contribution-render.js +1 -1
  255. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  256. package/es/scenegraph/graphic/contributions/image-contribution-render.d.ts +2 -2
  257. package/es/scenegraph/graphic/contributions/image-contribution-render.js +1 -1
  258. package/es/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
  259. package/es/scenegraph/graphic/contributions/index.d.ts +1 -1
  260. package/es/scenegraph/graphic/contributions/index.js +1 -1
  261. package/es/scenegraph/graphic/contributions/index.js.map +1 -1
  262. package/es/scenegraph/graphic/contributions/rect-contribution-render.d.ts +2 -2
  263. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
  264. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  265. package/es/scenegraph/graphic/group.d.ts +2 -2
  266. package/es/scenegraph/graphic/group.js +1 -1
  267. package/es/scenegraph/graphic/group.js.map +1 -1
  268. package/es/scenegraph/graphic/icon.d.ts +2 -2
  269. package/es/scenegraph/graphic/icon.js +1 -1
  270. package/es/scenegraph/graphic/icon.js.map +1 -1
  271. package/es/scenegraph/graphic/text.d.ts +2 -2
  272. package/es/scenegraph/graphic/text.js +1 -1
  273. package/es/scenegraph/graphic/text.js.map +1 -1
  274. package/es/scenegraph/group-creater/cell-helper.d.ts +6 -3
  275. package/es/scenegraph/group-creater/cell-helper.js +36 -35
  276. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  277. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  278. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  279. package/es/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +1 -1
  280. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  281. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  282. package/es/scenegraph/group-creater/cell-type/image-cell.js +1 -1
  283. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  284. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +1 -1
  285. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  286. package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -1
  287. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -1
  288. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  289. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +3 -2
  290. package/es/scenegraph/group-creater/cell-type/text-cell.js +7 -3
  291. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  292. package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  293. package/es/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  294. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  295. package/es/scenegraph/group-creater/column-helper.d.ts +1 -1
  296. package/es/scenegraph/group-creater/column-helper.js +11 -6
  297. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  298. package/es/scenegraph/icon/icon-update.js +1 -1
  299. package/es/scenegraph/icon/icon-update.js.map +1 -1
  300. package/es/scenegraph/layout/compute-col-width.js +1 -1
  301. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  302. package/es/scenegraph/layout/compute-row-height.js +1 -1
  303. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  304. package/es/scenegraph/layout/move-cell.js.map +1 -1
  305. package/es/scenegraph/layout/update-col.js.map +1 -1
  306. package/es/scenegraph/layout/update-height.js +17 -15
  307. package/es/scenegraph/layout/update-height.js.map +1 -1
  308. package/es/scenegraph/layout/update-width.js +18 -16
  309. package/es/scenegraph/layout/update-width.js.map +1 -1
  310. package/es/scenegraph/scenegraph.d.ts +1 -1
  311. package/es/scenegraph/scenegraph.js +2 -2
  312. package/es/scenegraph/scenegraph.js.map +1 -1
  313. package/es/scenegraph/select/create-select-border.js +1 -1
  314. package/es/scenegraph/select/create-select-border.js.map +1 -1
  315. package/es/scenegraph/select/delete-select-border.js.map +1 -1
  316. package/es/scenegraph/select/update-select-border.js.map +1 -1
  317. package/es/scenegraph/stick-text/index.js.map +1 -1
  318. package/es/scenegraph/style/corner-cell.js.map +1 -1
  319. package/es/scenegraph/style/frame-border.js +1 -1
  320. package/es/scenegraph/style/frame-border.js.map +1 -1
  321. package/es/scenegraph/utils/get-cell-merge.js +4 -0
  322. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  323. package/es/scenegraph/utils/padding.js +1 -1
  324. package/es/scenegraph/utils/padding.js.map +1 -1
  325. package/es/scenegraph/utils/render-service.d.ts +1 -1
  326. package/es/scenegraph/utils/render-service.js +1 -1
  327. package/es/scenegraph/utils/render-service.js.map +1 -1
  328. package/es/scenegraph/utils/text-icon-layout.d.ts +4 -4
  329. package/es/scenegraph/utils/text-icon-layout.js +11 -11
  330. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  331. package/es/scenegraph/utils/text-measure.d.ts +2 -2
  332. package/es/scenegraph/utils/text-measure.js +1 -1
  333. package/es/scenegraph/utils/text-measure.js.map +1 -1
  334. package/es/scenegraph/utils/text-pos.d.ts +1 -1
  335. package/es/scenegraph/utils/text-pos.js.map +1 -1
  336. package/es/state/spark-line/index.js +1 -1
  337. package/es/state/spark-line/index.js.map +1 -1
  338. package/es/state/state.d.ts +1 -1
  339. package/es/state/state.js.map +1 -1
  340. package/es/themes/ARCO.js +2 -1
  341. package/es/themes/BRIGHT.js +1 -2
  342. package/es/tools/NumberMap.js +1 -1
  343. package/es/ts-types/component/title.d.ts +1 -1
  344. package/es/ts-types/component/title.js.map +1 -1
  345. package/es/ts-types/events.d.ts +1 -1
  346. package/es/ts-types/events.js.map +1 -1
  347. package/es/ts-types/table-engine.d.ts +5 -1
  348. package/es/ts-types/table-engine.js.map +1 -1
  349. package/package.json +6 -7
  350. package/cjs/vrender.d.ts +0 -4
  351. package/cjs/vrender.js +0 -40
  352. package/cjs/vrender.js.map +0 -1
  353. package/es/vrender.d.ts +0 -4
  354. package/es/vrender.js +0 -22
  355. package/es/vrender.js.map +0 -1
package/dist/vtable.js CHANGED
@@ -6903,25 +6903,6 @@
6903
6903
  return lineHeight;
6904
6904
  };
6905
6905
 
6906
- const normalizeRectAttributes = attribute => {
6907
- if (!attribute) return {
6908
- x: 0,
6909
- y: 0,
6910
- width: 0,
6911
- height: 0
6912
- };
6913
- let width = isNil$1(attribute.width) ? attribute.x1 - attribute.x : attribute.width,
6914
- height = isNil$1(attribute.height) ? attribute.y1 - attribute.y : attribute.height,
6915
- x = 0,
6916
- y = 0;
6917
- return width < 0 ? (x = width, width = -width) : Number.isNaN(width) && (width = 0), height < 0 ? (y = height, height = -height) : Number.isNaN(height) && (height = 0), {
6918
- x: x,
6919
- y: y,
6920
- width: width,
6921
- height: height
6922
- };
6923
- };
6924
-
6925
6906
  var ColorType;
6926
6907
  !function (ColorType) {
6927
6908
  ColorType[ColorType.Color255 = 0] = "Color255", ColorType[ColorType.Color1 = 1] = "Color1";
@@ -8023,7 +8004,7 @@
8023
8004
  const SYMBOL_NUMBER_TYPE = genNumberType();
8024
8005
  const TEXT_NUMBER_TYPE = genNumberType();
8025
8006
  const GraphicService = Symbol.for("GraphicService");
8026
- const GraphicCreator$1 = Symbol.for("GraphicCreator");
8007
+ const GraphicCreator$2 = Symbol.for("GraphicCreator");
8027
8008
  const SVG_PARSE_ATTRIBUTE_MAP = {
8028
8009
  "stroke-linecap": "lineCap",
8029
8010
  "stroke-linejoin": "lineJoin",
@@ -10176,14 +10157,13 @@
10176
10157
  return super.needUpdateTag(key, RECT_UPDATE_TAG_KEY);
10177
10158
  }
10178
10159
  toCustomPath() {
10179
- const attribute = this.attribute,
10180
- {
10181
- x: x,
10182
- y: y,
10183
- width: width,
10184
- height: height
10185
- } = normalizeRectAttributes(attribute),
10186
- path = new CustomPath2D();
10160
+ const attribute = this.attribute;
10161
+ let width = isNil$1(attribute.width) ? attribute.x1 - attribute.x : attribute.width,
10162
+ height = isNil$1(attribute.height) ? attribute.y1 - attribute.y : attribute.height,
10163
+ x = 0,
10164
+ y = 0;
10165
+ width < 0 && (x = width, width = -width), height < 0 && (y = height, height = -height);
10166
+ const path = new CustomPath2D();
10187
10167
  return path.moveTo(x, y), path.rect(x, y, width, height), path;
10188
10168
  }
10189
10169
  clone() {
@@ -12250,9 +12230,9 @@
12250
12230
  return !!visible || (aabbBounds.clear(), !1);
12251
12231
  }
12252
12232
  };
12253
- DefaultGraphicService = __decorate$19([injectable(), __param$F(0, inject(GraphicCreator$1)), __metadata$S("design:paramtypes", [Object])], DefaultGraphicService);
12233
+ DefaultGraphicService = __decorate$19([injectable(), __param$F(0, inject(GraphicCreator$2)), __metadata$S("design:paramtypes", [Object])], DefaultGraphicService);
12254
12234
 
12255
- class GraphicCreator {
12235
+ let GraphicCreator$1 = class GraphicCreator {
12256
12236
  constructor() {
12257
12237
  this.store = new Map();
12258
12238
  }
@@ -12263,12 +12243,12 @@
12263
12243
  const cb = this.store.get(name);
12264
12244
  return cb ? cb(params) : null;
12265
12245
  }
12266
- }
12267
- const graphicCreator = new GraphicCreator();
12246
+ };
12247
+ const graphicCreator$1 = new GraphicCreator$1();
12268
12248
 
12269
- let text;
12270
- function getTextBounds(params) {
12271
- return text || (text = graphicCreator.CreateGraphic("text", {})), text.setAttributes(params), text.AABBBounds;
12249
+ let text$1;
12250
+ function getTextBounds$1(params) {
12251
+ return text$1 || (text$1 = graphicCreator$1.CreateGraphic("text", {})), text$1.setAttributes(params), text$1.AABBBounds;
12272
12252
  }
12273
12253
 
12274
12254
  const result = {
@@ -14787,7 +14767,7 @@
14787
14767
  });
14788
14768
 
14789
14769
  var graphicModule = new ContainerModule(bind => {
14790
- bind(GraphicService).to(DefaultGraphicService).inSingletonScope(), bind(GraphicCreator$1).toConstantValue(graphicCreator);
14770
+ bind(GraphicService).to(DefaultGraphicService).inSingletonScope(), bind(GraphicCreator$2).toConstantValue(graphicCreator$1);
14791
14771
  });
14792
14772
 
14793
14773
  const AutoEnablePlugins = Symbol.for("AutoEnablePlugins");
@@ -15278,7 +15258,7 @@
15278
15258
  getShadowRoot(interactiveLayer) {
15279
15259
  var _a;
15280
15260
  let group = interactiveLayer.getElementById("_interactive_group");
15281
- return group || (group = graphicCreator.CreateGraphic("group", {}), group.id = "_interactive_group", interactiveLayer.add(group)), null !== (_a = group.shadowRoot) && void 0 !== _a ? _a : group.attachShadow();
15261
+ return group || (group = graphicCreator$1.CreateGraphic("group", {}), group.id = "_interactive_group", interactiveLayer.add(group)), null !== (_a = group.shadowRoot) && void 0 !== _a ? _a : group.attachShadow();
15282
15262
  }
15283
15263
  }
15284
15264
  class Canvas3DDrawItemInterceptor {
@@ -15554,7 +15534,7 @@
15554
15534
  return this.currentRenderMap.get(type) || this.defaultRenderMap.get(type);
15555
15535
  }
15556
15536
  clearScreen(renderService, context, drawContext) {
15557
- var _a, _b;
15537
+ var _a;
15558
15538
  const {
15559
15539
  clear: clear
15560
15540
  } = drawContext;
@@ -15568,7 +15548,7 @@
15568
15548
  y = 0;
15569
15549
  context.clearRect(x, y, width, height);
15570
15550
  const stage = null === (_a = renderService.drawParams) || void 0 === _a ? void 0 : _a.stage;
15571
- if (stage && (context.globalAlpha = null !== (_b = stage.attribute.opacity) && void 0 !== _b ? _b : 1), stage && stage.backgroundImg && stage.resources) {
15551
+ if (stage && stage.backgroundImg && stage.resources) {
15572
15552
  const res = stage.resources.get(clear);
15573
15553
  res && "success" === res.state && res.data && context.drawImage(res.data, x, y, width, height);
15574
15554
  } else context.fillStyle = createColor(context, clear, {
@@ -15824,7 +15804,10 @@
15824
15804
  constructor(contributions, lineRender, areaRender, drawItemInterceptorContributions) {
15825
15805
  super(contributions, drawItemInterceptorContributions), this.contributions = contributions, this.lineRender = lineRender, this.areaRender = areaRender, this.drawItemInterceptorContributions = drawItemInterceptorContributions, this.rendering = !1, this.currFrameStartAt = 0, this.currentIdx = 0, this.status = STATUS.NORMAL, this.checkingForDrawPromise = null, this.hooks = {
15826
15806
  completeDraw: new SyncHook([])
15827
- }, this.defaultRenderMap.set(this.lineRender.numberType, this.lineRender), this.defaultRenderMap.set(this.areaRender.numberType, this.areaRender);
15807
+ };
15808
+ }
15809
+ init() {
15810
+ super.init(), this.defaultRenderMap.set(this.lineRender.numberType, this.lineRender), this.defaultRenderMap.set(this.areaRender.numberType, this.areaRender);
15828
15811
  }
15829
15812
  draw(renderService, drawContext) {
15830
15813
  return __awaiter(this, void 0, void 0, function* () {
@@ -16473,10 +16456,17 @@
16473
16456
 
16474
16457
  let _isBrowserEnv;
16475
16458
  function initIsBrowserEnv() {
16476
- if (null == _isBrowserEnv) try {
16477
- _isBrowserEnv = !!window;
16478
- } catch (err) {
16479
- _isBrowserEnv = !1;
16459
+ if (null == _isBrowserEnv) {
16460
+ try {
16461
+ _isBrowserEnv = !!window;
16462
+ } catch (err) {
16463
+ _isBrowserEnv = !1;
16464
+ }
16465
+ if (_isBrowserEnv) try {
16466
+ _isBrowserEnv = !tt;
16467
+ } catch (err) {
16468
+ _isBrowserEnv = !0;
16469
+ }
16480
16470
  }
16481
16471
  }
16482
16472
  function isBrowserEnv() {
@@ -17809,75 +17799,75 @@
17809
17799
  });
17810
17800
 
17811
17801
  function registerArcGraphic() {
17812
- graphicCreator.RegisterGraphicCreator("arc", createArc);
17802
+ graphicCreator$1.RegisterGraphicCreator("arc", createArc);
17813
17803
  }
17814
17804
 
17815
17805
  function registerArc3dGraphic() {
17816
- graphicCreator.RegisterGraphicCreator("arc3d", createArc3d);
17806
+ graphicCreator$1.RegisterGraphicCreator("arc3d", createArc3d);
17817
17807
  }
17818
17808
 
17819
17809
  function registerAreaGraphic() {
17820
- graphicCreator.RegisterGraphicCreator("area", createArea);
17810
+ graphicCreator$1.RegisterGraphicCreator("area", createArea);
17821
17811
  }
17822
17812
 
17823
17813
  function registerCircleGraphic() {
17824
- graphicCreator.RegisterGraphicCreator("circle", createCircle);
17814
+ graphicCreator$1.RegisterGraphicCreator("circle", createCircle);
17825
17815
  }
17826
17816
 
17827
17817
  function registerGlyphGraphic() {
17828
- graphicCreator.RegisterGraphicCreator("glyph", createGlyph);
17818
+ graphicCreator$1.RegisterGraphicCreator("glyph", createGlyph);
17829
17819
  }
17830
17820
 
17831
17821
  function registerGroupGraphic() {
17832
- graphicCreator.RegisterGraphicCreator("group", createGroup);
17822
+ graphicCreator$1.RegisterGraphicCreator("group", createGroup);
17833
17823
  }
17834
17824
 
17835
17825
  function registerImageGraphic() {
17836
- graphicCreator.RegisterGraphicCreator("image", createImage);
17826
+ graphicCreator$1.RegisterGraphicCreator("image", createImage);
17837
17827
  }
17838
17828
 
17839
17829
  function registerLineGraphic() {
17840
- graphicCreator.RegisterGraphicCreator("line", createLine);
17830
+ graphicCreator$1.RegisterGraphicCreator("line", createLine);
17841
17831
  }
17842
17832
 
17843
17833
  function registerPathGraphic() {
17844
- graphicCreator.RegisterGraphicCreator("path", createPath);
17834
+ graphicCreator$1.RegisterGraphicCreator("path", createPath);
17845
17835
  }
17846
17836
 
17847
17837
  function registerPolygonGraphic() {
17848
- graphicCreator.RegisterGraphicCreator("polygon", createPolygon);
17838
+ graphicCreator$1.RegisterGraphicCreator("polygon", createPolygon);
17849
17839
  }
17850
17840
 
17851
17841
  function registerPyramid3dGraphic() {
17852
- graphicCreator.RegisterGraphicCreator("pyramid3d", createPyramid3d);
17842
+ graphicCreator$1.RegisterGraphicCreator("pyramid3d", createPyramid3d);
17853
17843
  }
17854
17844
 
17855
17845
  function registerRectGraphic() {
17856
- graphicCreator.RegisterGraphicCreator("rect", createRect);
17846
+ graphicCreator$1.RegisterGraphicCreator("rect", createRect);
17857
17847
  }
17858
17848
 
17859
17849
  function registerRect3dGraphic() {
17860
- graphicCreator.RegisterGraphicCreator("rect3d", createRect3d);
17850
+ graphicCreator$1.RegisterGraphicCreator("rect3d", createRect3d);
17861
17851
  }
17862
17852
 
17863
17853
  function registerRichtextGraphic() {
17864
- graphicCreator.RegisterGraphicCreator("richtext", createRichText);
17854
+ graphicCreator$1.RegisterGraphicCreator("richtext", createRichText);
17865
17855
  }
17866
17856
 
17867
17857
  function registerSymbolGraphic() {
17868
- graphicCreator.RegisterGraphicCreator("symbol", createSymbol);
17858
+ graphicCreator$1.RegisterGraphicCreator("symbol", createSymbol);
17869
17859
  }
17870
17860
 
17871
17861
  function registerTextGraphic() {
17872
- graphicCreator.RegisterGraphicCreator("text", createText);
17862
+ graphicCreator$1.RegisterGraphicCreator("text", createText);
17873
17863
  }
17874
17864
 
17875
17865
  function registerShadowRootGraphic() {
17876
- graphicCreator.RegisterGraphicCreator("shadowRoot", createShadowRoot);
17866
+ graphicCreator$1.RegisterGraphicCreator("shadowRoot", createShadowRoot);
17877
17867
  }
17878
17868
 
17879
17869
  function registerWrapTextGraphic() {
17880
- graphicCreator.RegisterGraphicCreator("wrapText", createWrapText);
17870
+ graphicCreator$1.RegisterGraphicCreator("wrapText", createWrapText);
17881
17871
  }
17882
17872
 
17883
17873
  const REACT_TO_CANOPUS_EVENTS = {
@@ -17928,40 +17918,40 @@
17928
17918
  onDblClick: "dblclick"
17929
17919
  };
17930
17920
  function VArc(params) {
17931
- return graphicCreator.arc(params ? params.attribute : {});
17921
+ return graphicCreator$1.arc(params ? params.attribute : {});
17932
17922
  }
17933
17923
  function VArea(params) {
17934
- return graphicCreator.area(params ? params.attribute : {});
17924
+ return graphicCreator$1.area(params ? params.attribute : {});
17935
17925
  }
17936
17926
  function VCircle(params) {
17937
- return graphicCreator.circle(params ? params.attribute : {});
17927
+ return graphicCreator$1.circle(params ? params.attribute : {});
17938
17928
  }
17939
17929
  function VGroup(params) {
17940
- return graphicCreator.group(params ? params.attribute : {});
17930
+ return graphicCreator$1.group(params ? params.attribute : {});
17941
17931
  }
17942
17932
  function VGlyph(params) {
17943
- return graphicCreator.glyph(params ? params.attribute : {});
17933
+ return graphicCreator$1.glyph(params ? params.attribute : {});
17944
17934
  }
17945
17935
  function VImage(params) {
17946
- return graphicCreator.image(params ? params.attribute : {});
17936
+ return graphicCreator$1.image(params ? params.attribute : {});
17947
17937
  }
17948
17938
  function VLine(params) {
17949
- return graphicCreator.line(params ? params.attribute : {});
17939
+ return graphicCreator$1.line(params ? params.attribute : {});
17950
17940
  }
17951
17941
  function VPath(params) {
17952
- return graphicCreator.path(params ? params.attribute : {});
17942
+ return graphicCreator$1.path(params ? params.attribute : {});
17953
17943
  }
17954
17944
  function VPolygon(params) {
17955
- return graphicCreator.polygon(params ? params.attribute : {});
17945
+ return graphicCreator$1.polygon(params ? params.attribute : {});
17956
17946
  }
17957
17947
  function VRect(params) {
17958
- return graphicCreator.rect(params ? params.attribute : {});
17948
+ return graphicCreator$1.rect(params ? params.attribute : {});
17959
17949
  }
17960
17950
  function VSymbol(params) {
17961
- return graphicCreator.symbol(params ? params.attribute : {});
17951
+ return graphicCreator$1.symbol(params ? params.attribute : {});
17962
17952
  }
17963
17953
  function VText(params) {
17964
- return graphicCreator.text(params ? params.attribute : {});
17954
+ return graphicCreator$1.text(params ? params.attribute : {});
17965
17955
  }
17966
17956
 
17967
17957
  var __rest$4 = undefined && undefined.__rest || function (s, e) {
@@ -17986,7 +17976,7 @@
17986
17976
  } = _a,
17987
17977
  props = __rest$4(_a, ["key", "attribute", "stateProxy"]);
17988
17978
  let c = type;
17989
- isString$2(type) && (c = graphicCreator[type]);
17979
+ isString$2(type) && (c = graphicCreator$1[type]);
17990
17980
  const childrenList = [];
17991
17981
  for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
17992
17982
  children[_key - 2] = arguments[_key];
@@ -20968,38 +20958,7 @@
20968
20958
  loaded || (loaded = !0, registerWrapTextGraphic());
20969
20959
  }
20970
20960
 
20971
- let registed = false;
20972
- function registerForVrender() {
20973
- if (registed) {
20974
- return;
20975
- }
20976
- registed = true;
20977
- preLoadAllModule();
20978
- if (isBrowserEnv()) {
20979
- loadBrowserEnv(container);
20980
- }
20981
- else if (isNodeEnv()) {
20982
- loadNodeEnv(container);
20983
- }
20984
- registerArc();
20985
- registerArc3d();
20986
- registerArea();
20987
- registerCircle();
20988
- registerGlyph();
20989
- registerGroup();
20990
- registerImage();
20991
- registerLine();
20992
- registerPath();
20993
- registerPolygon();
20994
- registerPyramid3d();
20995
- registerRect();
20996
- registerRect3d();
20997
- registerRichtext();
20998
- registerShadowRoot();
20999
- registerSymbol();
21000
- registerText();
21001
- registerWrapText();
21002
- }
20961
+ preLoadAllModule(), isBrowserEnv() ? loadBrowserEnv(container) : isNodeEnv() && loadNodeEnv(container), registerArc(), registerArc3d(), registerArea(), registerCircle(), registerGlyph(), registerGroup(), registerImage(), registerLine(), registerPath(), registerPolygon(), registerPyramid3d(), registerRect(), registerRect3d(), registerRichtext(), registerShadowRoot(), registerSymbol(), registerText(), registerWrapText();
21003
20962
 
21004
20963
  var InteractionState;
21005
20964
  (function (InteractionState) {
@@ -23969,6 +23928,12 @@
23969
23928
  });
23970
23929
 
23971
23930
  function getCellMergeInfo(table, col, row) {
23931
+ if (table.internalProps.customMergeCell) {
23932
+ const customMerge = table.getCustomMerge(col, row);
23933
+ if (customMerge) {
23934
+ return customMerge.range;
23935
+ }
23936
+ }
23972
23937
  if (!table.isHeader(col, row) && !table.getBodyColumnDefine(col, row)?.mergeCell) {
23973
23938
  return false;
23974
23939
  }
@@ -24296,7 +24261,6 @@
24296
24261
  return direct ? angleLargeThanPI ? 2 * Math.PI - ang : ang : angleLargeThanPI ? ang : 2 * Math.PI - ang;
24297
24262
  }
24298
24263
 
24299
- const DEFAULT_TEXT_FONT_FAMILY$1 = "PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol";
24300
24264
  var StateValue;
24301
24265
  !function (StateValue) {
24302
24266
  StateValue.selected = "selected", StateValue.selectedReverse = "selected_reverse", StateValue.hover = "hover", StateValue.hoverReverse = "hover_reverse";
@@ -24315,18 +24279,17 @@
24315
24279
  };
24316
24280
 
24317
24281
  function measureTextSize(text, textSpec) {
24318
- let fontFamily = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_TEXT_FONT_FAMILY$1;
24319
- var _a, _b;
24282
+ var _a;
24320
24283
  if (!text) return {
24321
24284
  width: 0,
24322
24285
  height: 0
24323
24286
  };
24324
- const bounds = getTextBounds({
24287
+ const bounds = getTextBounds$1({
24325
24288
  text: text,
24326
- fontFamily: null !== (_a = textSpec.fontFamily) && void 0 !== _a ? _a : fontFamily,
24289
+ fontFamily: textSpec.fontFamily,
24327
24290
  fontSize: textSpec.fontSize || 12,
24328
24291
  fontWeight: textSpec.fontWeight,
24329
- textAlign: null !== (_b = textSpec.textAlign) && void 0 !== _b ? _b : "center",
24292
+ textAlign: null !== (_a = textSpec.textAlign) && void 0 !== _a ? _a : "center",
24330
24293
  textBaseline: textSpec.textBaseline,
24331
24294
  ellipsis: !!textSpec.ellipsis,
24332
24295
  maxLineWidth: textSpec.maxLineWidth || 1 / 0,
@@ -24357,7 +24320,7 @@
24357
24320
  super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, Tag.defaultAttributes, attributes)), this.name = "tag";
24358
24321
  }
24359
24322
  render() {
24360
- var _a, _b, _c, _d;
24323
+ var _a, _b, _c;
24361
24324
  const {
24362
24325
  text = "",
24363
24326
  textStyle = {},
@@ -24462,11 +24425,11 @@
24462
24425
  y: 0
24463
24426
  });
24464
24427
  isNil$1(textAttrs.lineHeight) && (textAttrs.lineHeight = textStyle.fontSize), textShape = group.createOrUpdateChild("tag-text", textAttrs, "text"), isEmpty(null == state ? void 0 : state.text) || (textShape.states = state.text);
24465
- const textBounds = measureTextSize(textAttrs.text, textStyle, null === (_c = this.stage) || void 0 === _c ? void 0 : _c.getTheme().text.fontFamily),
24428
+ const textBounds = measureTextSize(textAttrs.text, textStyle),
24466
24429
  textWidth = textBounds.width,
24467
24430
  textHeight = textBounds.height;
24468
24431
  tagWidth += textWidth;
24469
- const size = null !== (_d = shape.size) && void 0 !== _d ? _d : 10,
24432
+ const size = null !== (_c = shape.size) && void 0 !== _c ? _c : 10,
24470
24433
  maxSize = isNumber$3(size) ? size : Math.max(size[0], size[1]);
24471
24434
  tagHeight += Math.max(textHeight, shape.visible ? maxSize : 0);
24472
24435
  const {
@@ -24969,7 +24932,7 @@
24969
24932
  }
24970
24933
  points.forEach((point, index) => {
24971
24934
  var _a, _b;
24972
- const line = graphicCreator.line(Object.assign(Object.assign({
24935
+ const line = graphicCreator$1.line(Object.assign(Object.assign({
24973
24936
  points: point
24974
24937
  }, isArray$1(lineStyle) ? null !== (_a = lineStyle[index]) && void 0 !== _a ? _a : lineStyle[lineStyle.length - 1] : lineStyle), {
24975
24938
  fill: !1
@@ -24977,7 +24940,7 @@
24977
24940
  line.name = `${this.name}-line`, line.id = this._getNodeId("line" + index), isEmpty(null == state ? void 0 : state.line) || (line.states = isArray$1(state.line) ? null !== (_b = state.line[index]) && void 0 !== _b ? _b : state.line[state.line.length - 1] : state.line), this.add(line);
24978
24941
  });
24979
24942
  } else {
24980
- const line = graphicCreator.polygon(Object.assign(Object.assign({
24943
+ const line = graphicCreator$1.polygon(Object.assign(Object.assign({
24981
24944
  points: this._clipPoints(this.attribute.points)
24982
24945
  }, array$1(lineStyle)[0]), {
24983
24946
  fill: !1,
@@ -25016,7 +24979,7 @@
25016
24979
  }, rotate = startAngle + Math.PI / 2) : (position = {
25017
24980
  x: end.x + (isValidNumber$1(endAngle) ? refX * Math.cos(endAngle) + refY * Math.cos(endAngle - Math.PI / 2) : 0),
25018
24981
  y: end.y + (isValidNumber$1(endAngle) ? refX * Math.sin(endAngle) + refY * Math.sin(endAngle - Math.PI / 2) : 0)
25019
- }, rotate = endAngle + Math.PI / 2), symbol = graphicCreator.symbol(Object.assign(Object.assign(Object.assign({}, position), {
24982
+ }, rotate = endAngle + Math.PI / 2), symbol = graphicCreator$1.symbol(Object.assign(Object.assign(Object.assign({}, position), {
25020
24983
  symbolType: symbolType,
25021
24984
  size: size,
25022
24985
  angle: autoRotate ? rotate + refAngle : 0,
@@ -25209,14 +25172,14 @@
25209
25172
  getBoundsWithoutRender(attributes) {
25210
25173
  const currentAttribute = cloneDeep(this.attribute);
25211
25174
  merge(this.attribute, attributes);
25212
- const offscreenGroup = graphicCreator.group({
25175
+ const offscreenGroup = graphicCreator$1.group({
25213
25176
  x: this.attribute.x,
25214
25177
  y: this.attribute.y
25215
25178
  });
25216
25179
  return this.add(offscreenGroup), this._renderInner(offscreenGroup), this.removeChild(offscreenGroup), this.attribute = currentAttribute, offscreenGroup.AABBBounds;
25217
25180
  }
25218
25181
  render() {
25219
- this.removeAllChild(), this._prevInnerView = this._innerView, this._innerView = graphicCreator.group({
25182
+ this.removeAllChild(), this._prevInnerView = this._innerView, this._innerView = graphicCreator$1.group({
25220
25183
  x: 0,
25221
25184
  y: 0,
25222
25185
  pickable: !1
@@ -25238,13 +25201,13 @@
25238
25201
  line: line,
25239
25202
  items: items
25240
25203
  } = this.attribute,
25241
- axisContainer = graphicCreator.group({
25204
+ axisContainer = graphicCreator$1.group({
25242
25205
  x: 0,
25243
25206
  y: 0,
25244
25207
  zIndex: 1
25245
25208
  });
25246
25209
  if (axisContainer.name = AXIS_ELEMENT_NAME.axisContainer, axisContainer.id = this._getNodeId("container"), axisContainer.setMode(this.mode), this.axisContainer = axisContainer, container.add(axisContainer), line && line.visible && this.renderLine(axisContainer), items && items.length && (this.data = this._transformItems(items[0]), tick && tick.visible && this.renderTicks(axisContainer), label && label.visible)) {
25247
- const labelGroup = graphicCreator.group({
25210
+ const labelGroup = graphicCreator$1.group({
25248
25211
  x: 0,
25249
25212
  y: 0,
25250
25213
  pickable: !1
@@ -25277,14 +25240,14 @@
25277
25240
  }
25278
25241
  renderTicks(container) {
25279
25242
  const tickLineItems = this.getTickLineItems(),
25280
- tickLineGroup = graphicCreator.group({
25243
+ tickLineGroup = graphicCreator$1.group({
25281
25244
  x: 0,
25282
25245
  y: 0,
25283
25246
  pickable: !1
25284
25247
  });
25285
25248
  tickLineGroup.name = AXIS_ELEMENT_NAME.tickContainer, tickLineGroup.id = this._getNodeId("tick-container"), container.add(tickLineGroup), tickLineItems.forEach((item, index) => {
25286
25249
  var _a;
25287
- const line = graphicCreator.line(Object.assign({}, this._getTickLineAttribute("tick", item, index, tickLineItems)));
25250
+ const line = graphicCreator$1.line(Object.assign({}, this._getTickLineAttribute("tick", item, index, tickLineItems)));
25288
25251
  if (line.name = AXIS_ELEMENT_NAME.tick, line.id = this._getNodeId(item.id), isEmpty(null === (_a = this.attribute.tick) || void 0 === _a ? void 0 : _a.state)) line.states = DEFAULT_STATES$2;else {
25289
25252
  const data = this.data[index],
25290
25253
  tickLineState = merge({}, DEFAULT_STATES$2, this.attribute.tick.state);
@@ -25300,7 +25263,7 @@
25300
25263
  if (subTick && subTick.visible) {
25301
25264
  const subTickLineItems = this.getSubTickLineItems();
25302
25265
  subTickLineItems.length && subTickLineItems.forEach((item, index) => {
25303
- const line = graphicCreator.line(Object.assign({}, this._getTickLineAttribute("subTick", item, index, tickLineItems)));
25266
+ const line = graphicCreator$1.line(Object.assign({}, this._getTickLineAttribute("subTick", item, index, tickLineItems)));
25304
25267
  if (line.name = AXIS_ELEMENT_NAME.subTick, line.id = this._getNodeId(`${index}`), isEmpty(subTick.state)) line.states = DEFAULT_STATES$2;else {
25305
25268
  const subTickLineState = merge({}, DEFAULT_STATES$2, subTick.state);
25306
25269
  Object.keys(subTickLineState).forEach(key => {
@@ -25317,7 +25280,7 @@
25317
25280
  } = this.attribute.label;
25318
25281
  dataFilter && isFunction$1(dataFilter) && (items = dataFilter(items, layer));
25319
25282
  const data = this._transformItems(items),
25320
- labelGroup = graphicCreator.group({
25283
+ labelGroup = graphicCreator$1.group({
25321
25284
  x: 0,
25322
25285
  y: 0,
25323
25286
  pickable: !1
@@ -25326,9 +25289,9 @@
25326
25289
  var _a, _b, _c;
25327
25290
  const labelStyle = this._getLabelAttribute(item, index, data, layer);
25328
25291
  let text;
25329
- if ("rich" === labelStyle.type ? (labelStyle.textConfig = labelStyle.text, labelStyle.width = null !== (_a = labelStyle.width) && void 0 !== _a ? _a : 0, labelStyle.height = null !== (_b = labelStyle.height) && void 0 !== _b ? _b : 0, text = graphicCreator.richtext(labelStyle)) : "html" === labelStyle.type ? (labelStyle.textConfig = [], labelStyle.html = Object.assign(Object.assign({
25292
+ if ("rich" === labelStyle.type ? (labelStyle.textConfig = labelStyle.text, labelStyle.width = null !== (_a = labelStyle.width) && void 0 !== _a ? _a : 0, labelStyle.height = null !== (_b = labelStyle.height) && void 0 !== _b ? _b : 0, text = graphicCreator$1.richtext(labelStyle)) : "html" === labelStyle.type ? (labelStyle.textConfig = [], labelStyle.html = Object.assign(Object.assign({
25330
25293
  dom: labelStyle.text
25331
- }, DEFAULT_HTML_TEXT_SPEC), labelStyle), text = graphicCreator.richtext(labelStyle)) : text = graphicCreator.text(labelStyle), text.name = AXIS_ELEMENT_NAME.label, text.id = this._getNodeId(`layer${layer}-label-${item.id}`), isEmpty(null === (_c = this.attribute.label) || void 0 === _c ? void 0 : _c.state)) text.states = DEFAULT_STATES$2;else {
25294
+ }, DEFAULT_HTML_TEXT_SPEC), labelStyle), text = graphicCreator$1.richtext(labelStyle)) : text = graphicCreator$1.text(labelStyle), text.name = AXIS_ELEMENT_NAME.label, text.id = this._getNodeId(`layer${layer}-label-${item.id}`), isEmpty(null === (_c = this.attribute.label) || void 0 === _c ? void 0 : _c.state)) text.states = DEFAULT_STATES$2;else {
25332
25295
  const labelState = merge({}, DEFAULT_STATES$2, this.attribute.label.state);
25333
25296
  Object.keys(labelState).forEach(key => {
25334
25297
  isFunction$1(labelState[key]) && (labelState[key] = labelState[key](item, index, data, layer));
@@ -25784,7 +25747,7 @@
25784
25747
  if (panel && panel.visible) {
25785
25748
  const axisContainer = this.axisContainer,
25786
25749
  axisContainerBounds = axisContainer.AABBBounds,
25787
- bgRect = graphicCreator.rect(Object.assign({
25750
+ bgRect = graphicCreator$1.rect(Object.assign({
25788
25751
  x: axisContainerBounds.x1,
25789
25752
  y: axisContainerBounds.y1,
25790
25753
  width: axisContainerBounds.width(),
@@ -26044,7 +26007,7 @@
26044
26007
  const minSize = this._getAxisLabelLimitLength(verticalMinSize, layerCount);
26045
26008
  let x, y;
26046
26009
  axisLabelContainerSize = Math.max(axisLabelContainerSize, minSize), "left" === orient ? (x = axisLabelContainerBounds.x2 - axisLabelContainerSize, y = axisLabelContainerBounds.y1) : "right" === orient ? (x = axisLabelContainerBounds.x1, y = axisLabelContainerBounds.y1) : "top" === orient ? (x = axisLabelContainerBounds.x1, y = axisLabelContainerBounds.y2 - axisLabelContainerSize) : "bottom" === orient && (x = axisLabelContainerBounds.x1, y = axisLabelContainerBounds.y1);
26047
- const bgRect = graphicCreator.rect({
26010
+ const bgRect = graphicCreator$1.rect({
26048
26011
  x: x,
26049
26012
  y: y,
26050
26013
  width: isHorizontal ? axisLabelContainerBounds.width() : axisLabelContainerSize,
@@ -26059,7 +26022,7 @@
26059
26022
  }
26060
26023
  }
26061
26024
  _getAxisLabelLimitLength(limitSize, layerCount) {
26062
- var _a, _b, _c, _d;
26025
+ var _a, _b, _c;
26063
26026
  const {
26064
26027
  label: label,
26065
26028
  title: title,
@@ -26073,7 +26036,7 @@
26073
26036
  const axisLineWidth = line && line.visible ? null !== (_b = line.style.lineWidth) && void 0 !== _b ? _b : 1 : 0,
26074
26037
  tickLength = tick && tick.visible ? null !== (_c = tick.length) && void 0 !== _c ? _c : 4 : 0;
26075
26038
  if (title && title.visible && "string" == typeof title.text) {
26076
- titleHeight = measureTextSize(title.text, title.textStyle, null === (_d = this.stage) || void 0 === _d ? void 0 : _d.getTheme().text.fontFamily).height;
26039
+ titleHeight = measureTextSize(title.text, title.textStyle).height;
26077
26040
  const padding = normalizePadding(title.padding);
26078
26041
  titleSpacing = title.space + padding[0] + padding[2];
26079
26042
  }
@@ -26136,7 +26099,7 @@
26136
26099
  };
26137
26100
  }
26138
26101
  render() {
26139
- var _a, _b;
26102
+ var _a;
26140
26103
  this._reset();
26141
26104
  const {
26142
26105
  layout = "horizontal",
@@ -26149,7 +26112,7 @@
26149
26112
  this._current = defaultCurrent;
26150
26113
  const parsedPadding = normalizePadding(padding),
26151
26114
  isHorizontal = "horizontal" === layout,
26152
- container = graphicCreator.group({
26115
+ container = graphicCreator$1.group({
26153
26116
  x: 0,
26154
26117
  y: 0
26155
26118
  }),
@@ -26162,7 +26125,7 @@
26162
26125
  nextShape: nextShape
26163
26126
  } = handler;
26164
26127
  preShape || (preShape = isHorizontal ? "triangleLeft" : "triangleUp"), nextShape || (nextShape = isHorizontal ? "triangleRight" : "triangleDown");
26165
- const preHandler = graphicCreator.symbol(Object.assign(Object.assign({
26128
+ const preHandler = graphicCreator$1.symbol(Object.assign(Object.assign({
26166
26129
  strokeBoundsBuffer: 0,
26167
26130
  pickMode: "imprecise"
26168
26131
  }, handlerStyle), {
@@ -26178,10 +26141,10 @@
26178
26141
  } = measureTextSize(`${total}/${total}`, Object.assign({
26179
26142
  textAlign: "center",
26180
26143
  textBaseline: "middle"
26181
- }, textStyle), null === (_b = this.stage) || void 0 === _b ? void 0 : _b.getTheme().text.fontFamily),
26144
+ }, textStyle)),
26182
26145
  handlerSizeX = isNumber$3(handlerSize) ? handlerSize : handlerSize[0],
26183
26146
  handlerSizeY = isNumber$3(handlerSize) ? handlerSize : handlerSize[1],
26184
- text = graphicCreator.text(Object.assign({
26147
+ text = graphicCreator$1.text(Object.assign({
26185
26148
  x: isHorizontal ? handlerSizeX / 2 + handlerSpace + maxTextWidth / 2 : 0,
26186
26149
  y: isHorizontal ? 0 : handlerSizeY / 2 + handlerSpace + maxTextHeight / 2,
26187
26150
  text: `${defaultCurrent}/${total}`,
@@ -26190,7 +26153,7 @@
26190
26153
  lineHeight: null == textStyle ? void 0 : textStyle.fontSize
26191
26154
  }, textStyle));
26192
26155
  this.text = text, container.add(text);
26193
- const nextHandler = graphicCreator.symbol(Object.assign(Object.assign({
26156
+ const nextHandler = graphicCreator$1.symbol(Object.assign(Object.assign({
26194
26157
  strokeBoundsBuffer: 0,
26195
26158
  pickMode: "imprecise"
26196
26159
  }, handlerStyle), {
@@ -26253,7 +26216,7 @@
26253
26216
  padding = 0
26254
26217
  } = this.attribute,
26255
26218
  parsedPadding = normalizePadding(padding),
26256
- innerView = graphicCreator.group({
26219
+ innerView = graphicCreator$1.group({
26257
26220
  x: parsedPadding[3],
26258
26221
  y: parsedPadding[0],
26259
26222
  pickable: interactive,
@@ -26400,7 +26363,7 @@
26400
26363
  if (!1 === item.visible || isEmpty(items)) return;
26401
26364
  let legendItems = items;
26402
26365
  reversed && (legendItems = null == items ? void 0 : items.reverse());
26403
- const itemsContainer = graphicCreator.group({
26366
+ const itemsContainer = graphicCreator$1.group({
26404
26367
  x: 0,
26405
26368
  y: 0
26406
26369
  });
@@ -26477,15 +26440,15 @@
26477
26440
  backgroundStyle = this._handleStyle(background, item, isSelected, index, items),
26478
26441
  parsedPadding = normalizePadding(padding);
26479
26442
  let itemGroup;
26480
- !1 === background.visible ? (itemGroup = graphicCreator.group({
26443
+ !1 === background.visible ? (itemGroup = graphicCreator$1.group({
26481
26444
  x: 0,
26482
26445
  y: 0,
26483
26446
  cursor: null === (_a = backgroundStyle.style) || void 0 === _a ? void 0 : _a.cursor
26484
- }), this._appendDataToShape(itemGroup, LEGEND_ELEMENT_NAME.item, item, itemGroup)) : (itemGroup = graphicCreator.group(Object.assign({
26447
+ }), this._appendDataToShape(itemGroup, LEGEND_ELEMENT_NAME.item, item, itemGroup)) : (itemGroup = graphicCreator$1.group(Object.assign({
26485
26448
  x: 0,
26486
26449
  y: 0
26487
26450
  }, backgroundStyle.style)), this._appendDataToShape(itemGroup, LEGEND_ELEMENT_NAME.item, item, itemGroup, backgroundStyle.state)), itemGroup.id = `${null != id ? id : label}-${index}`, itemGroup.addState(isSelected ? LegendStateValue.selected : LegendStateValue.unSelected);
26488
- const innerGroup = graphicCreator.group({
26451
+ const innerGroup = graphicCreator$1.group({
26489
26452
  x: 0,
26490
26453
  y: 0,
26491
26454
  pickable: !1
@@ -26498,7 +26461,7 @@
26498
26461
  if (shapeAttr && !1 !== shapeAttr.visible) {
26499
26462
  const s = get$5(shapeStyle, "style.size", DEFAULT_SHAPE_SIZE);
26500
26463
  shapeSize = isArray$1(s) ? s[0] || 0 : s, shapeSpace = get$5(shapeAttr, "space", DEFAULT_SHAPE_SPACE);
26501
- const itemShape = graphicCreator.symbol(Object.assign(Object.assign({
26464
+ const itemShape = graphicCreator$1.symbol(Object.assign(Object.assign({
26502
26465
  x: 0,
26503
26466
  y: 0,
26504
26467
  symbolType: "circle",
@@ -26512,7 +26475,7 @@
26512
26475
  let focusSpace = 0;
26513
26476
  if (focus) {
26514
26477
  const focusSize = get$5(focusIconStyle, "size", DEFAULT_SHAPE_SIZE);
26515
- focusShape = graphicCreator.symbol(Object.assign(Object.assign({
26478
+ focusShape = graphicCreator$1.symbol(Object.assign(Object.assign({
26516
26479
  x: 0,
26517
26480
  y: -focusSize / 2 - 1,
26518
26481
  strokeBoundsBuffer: 0
@@ -26522,7 +26485,7 @@
26522
26485
  boundsPadding: parsedPadding
26523
26486
  })), this._appendDataToShape(focusShape, LEGEND_ELEMENT_NAME.focus, item, itemGroup), focusSpace = focusSize;
26524
26487
  }
26525
- const labelShape = graphicCreator.text(Object.assign(Object.assign({
26488
+ const labelShape = graphicCreator$1.text(Object.assign(Object.assign({
26526
26489
  x: shapeSize / 2 + shapeSpace,
26527
26490
  y: 0,
26528
26491
  textAlign: "start",
@@ -26535,7 +26498,7 @@
26535
26498
  const labelSpace = get$5(labelAttr, "space", DEFAULT_LABEL_SPACE);
26536
26499
  if (isValid$1(value)) {
26537
26500
  const valueSpace = get$5(valueAttr, "space", focus ? DEFAULT_VALUE_SPACE : 0),
26538
- valueShape = graphicCreator.text(Object.assign(Object.assign({
26501
+ valueShape = graphicCreator$1.text(Object.assign(Object.assign({
26539
26502
  x: 0,
26540
26503
  y: 0,
26541
26504
  textAlign: "start",
@@ -26642,7 +26605,7 @@
26642
26605
  });
26643
26606
  }
26644
26607
  pager.defaultCurrent > 1 && (isHorizontal ? itemsContainer.setAttribute("y", -(pager.defaultCurrent - 1) * (pageHeight + spaceRow)) : itemsContainer.setAttribute("x", -(pager.defaultCurrent - 1) * (pageWidth + spaceCol)));
26645
- const clipGroup = graphicCreator.group({
26608
+ const clipGroup = graphicCreator$1.group({
26646
26609
  x: 0,
26647
26610
  y: renderStartY,
26648
26611
  width: pageWidth,
@@ -27947,7 +27910,7 @@
27947
27910
  };
27948
27911
  const isHorizontal = "horizontal" === layout;
27949
27912
  this._isHorizontal = isHorizontal;
27950
- const innerView = graphicCreator.group({
27913
+ const innerView = graphicCreator$1.group({
27951
27914
  x: 0,
27952
27915
  y: 0
27953
27916
  });
@@ -27955,7 +27918,7 @@
27955
27918
  let startTextShape,
27956
27919
  startLen = 0;
27957
27920
  if (startText && startText.visible) {
27958
- startTextShape = graphicCreator.text(Object.assign({
27921
+ startTextShape = graphicCreator$1.text(Object.assign({
27959
27922
  x: isHorizontal ? 0 : railWidth / 2,
27960
27923
  y: isHorizontal ? railHeight / 2 : 0,
27961
27924
  textAlign: isHorizontal ? "start" : "center",
@@ -27966,19 +27929,19 @@
27966
27929
  const space = isValid$1(startText.space) ? startText.space : 0;
27967
27930
  startLen += (isHorizontal ? startTextShape.AABBBounds.width() : startTextShape.AABBBounds.height()) + space;
27968
27931
  }
27969
- const mainContainer = graphicCreator.group({
27932
+ const mainContainer = graphicCreator$1.group({
27970
27933
  x: isHorizontal ? startLen : 0,
27971
27934
  y: isHorizontal ? 0 : startLen
27972
27935
  });
27973
27936
  innerView.add(mainContainer);
27974
- const railContainer = graphicCreator.group({
27937
+ const railContainer = graphicCreator$1.group({
27975
27938
  x: 0,
27976
27939
  y: 0
27977
27940
  });
27978
27941
  let endTextShape;
27979
27942
  if (railContainer.name = SLIDER_ELEMENT_NAME.railContainer, this._railContainer = railContainer, mainContainer.add(railContainer), this._renderRail(railContainer), startLen += isHorizontal ? railWidth : railHeight, endText && endText.visible) {
27980
27943
  const space = isValid$1(endText.space) ? endText.space : 0;
27981
- endTextShape = graphicCreator.text(Object.assign({
27944
+ endTextShape = graphicCreator$1.text(Object.assign({
27982
27945
  x: isHorizontal ? startLen + space : railWidth / 2,
27983
27946
  y: isHorizontal ? railHeight / 2 : startLen + space,
27984
27947
  textAlign: isHorizontal ? "start" : "center",
@@ -27998,7 +27961,7 @@
27998
27961
  } = this.attribute;
27999
27962
  let cursor = "default";
28000
27963
  !1 !== slidable && (cursor = "pointer");
28001
- const railShape = graphicCreator.rect(Object.assign({
27964
+ const railShape = graphicCreator$1.rect(Object.assign({
28002
27965
  x: 0,
28003
27966
  y: 0,
28004
27967
  width: railWidth,
@@ -28074,7 +28037,7 @@
28074
28037
  const isHorizontal = this._isHorizontal,
28075
28038
  railLen = isHorizontal ? railWidth : railHeight;
28076
28039
  range || (startValue = min);
28077
- const trackContainer = graphicCreator.group({
28040
+ const trackContainer = graphicCreator$1.group({
28078
28041
  x: 0,
28079
28042
  y: 0,
28080
28043
  width: railWidth,
@@ -28089,7 +28052,7 @@
28089
28052
  cursor = !1 === slidable ? "default" : !1 === range || !1 === draggableTrack ? "pointer" : getDefaultCursor(isHorizontal);
28090
28053
  const trackWidth = max === min ? railLen : (endValue - startValue) / (max - min) * railLen,
28091
28054
  startPos = max === min ? 0 : (startValue - min) / (max - min) * railLen,
28092
- track = graphicCreator.rect(Object.assign({
28055
+ track = graphicCreator$1.rect(Object.assign({
28093
28056
  x: isHorizontal ? startPos : 0,
28094
28057
  y: isHorizontal ? 0 : startPos,
28095
28058
  width: isHorizontal ? trackWidth : railWidth,
@@ -28099,7 +28062,7 @@
28099
28062
  track.name = SLIDER_ELEMENT_NAME.track, this._track = track, trackContainer.add(track), container.add(trackContainer);
28100
28063
  }
28101
28064
  _renderHandler(style) {
28102
- return graphicCreator.symbol(style);
28065
+ return graphicCreator$1.symbol(style);
28103
28066
  }
28104
28067
  _renderHandlerText(value, position) {
28105
28068
  var _a, _b, _c;
@@ -28123,7 +28086,7 @@
28123
28086
  cursor: !1 === slidable ? "default" : getDefaultCursor(isHorizontal)
28124
28087
  };
28125
28088
  isHorizontal ? "top" === align ? (textStyle.textBaseline = "bottom", textStyle.textAlign = "center", textStyle.x = handlerStart, textStyle.y = (railHeight - handlerSize) / 2 - textSpace) : (textStyle.textBaseline = "top", textStyle.textAlign = "center", textStyle.x = handlerStart, textStyle.y = (railHeight + handlerSize) / 2 + textSpace) : "left" === align ? (textStyle.textBaseline = "middle", textStyle.textAlign = "end", textStyle.x = (railWidth - handlerSize) / 2 - textSpace, textStyle.y = handlerStart) : (textStyle.textBaseline = "middle", textStyle.textAlign = "start", textStyle.x = (railWidth + handlerSize) / 2 + textSpace, textStyle.y = handlerStart);
28126
- return graphicCreator.text(Object.assign(Object.assign({}, textStyle), handlerText.style));
28089
+ return graphicCreator$1.text(Object.assign(Object.assign({}, textStyle), handlerText.style));
28127
28090
  }
28128
28091
  _bindEvents() {
28129
28092
  if (this.attribute.disableTriggerEvent) return;
@@ -28466,7 +28429,7 @@
28466
28429
  sizeBackground: sizeBackground,
28467
28430
  disableTriggerEvent: disableTriggerEvent
28468
28431
  } = this.attribute,
28469
- mainContainer = graphicCreator.group({
28432
+ mainContainer = graphicCreator$1.group({
28470
28433
  x: 0,
28471
28434
  y: 0
28472
28435
  });
@@ -28504,7 +28467,7 @@
28504
28467
  let path,
28505
28468
  start = 0;
28506
28469
  "horizontal" === layout ? "top" === align ? (path = `M0,0L${railWidth},0L${railWidth},12Z`, start = railHeight) : (path = `M0,12L${railWidth},12L${railWidth},0Z`, slider.setAttribute("y", 12)) : "left" === align ? path = `M${railWidth},0L${railWidth},0L${railWidth + 12},${railHeight}L${railWidth},${railHeight}Z` : (path = `M0,${railHeight}L12,${railHeight}L12,0Z`, slider.setAttribute("x", 12));
28507
- const background = graphicCreator.path(Object.assign(Object.assign({
28470
+ const background = graphicCreator$1.path(Object.assign(Object.assign({
28508
28471
  x: 0,
28509
28472
  y: start,
28510
28473
  path: path
@@ -29434,6 +29397,25 @@
29434
29397
 
29435
29398
  const DEFAULT_CONTINUOUS_TICK_COUNT$1 = 5;
29436
29399
 
29400
+ class GraphicCreator {
29401
+ constructor() {
29402
+ this.store = new Map();
29403
+ }
29404
+ RegisterGraphicCreator(name, cb) {
29405
+ this.store.set(name, cb), this[name] = cb;
29406
+ }
29407
+ CreateGraphic(name, params) {
29408
+ const cb = this.store.get(name);
29409
+ return cb ? cb(params) : null;
29410
+ }
29411
+ }
29412
+ const graphicCreator = new GraphicCreator();
29413
+
29414
+ let text;
29415
+ function getTextBounds(params) {
29416
+ return text || (text = graphicCreator.CreateGraphic("text", {})), text.setAttributes(params), text.AABBBounds;
29417
+ }
29418
+
29437
29419
  const initTextMeasure$1 = (textSpec, option, useNaiveCanvas, defaultFontParams) => new TextMeasure(Object.assign({
29438
29420
  defaultFontParams: Object.assign({
29439
29421
  fontFamily: "PingFang SC,Helvetica Neue,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol",
@@ -31830,356 +31812,456 @@
31830
31812
  }
31831
31813
  };
31832
31814
 
31833
- function dealWithCustom(customLayout, customRender, col, row, width, height, autoWidth, autoHeight, padding, table) {
31834
- let renderDefault = true;
31835
- let enableCellPadding = false;
31836
- let expectedWidth;
31837
- let expectedHeight;
31838
- let customElements;
31839
- let elementsGroup;
31840
- if (typeof customLayout === 'function') {
31815
+ function getProp(name, cellStyle, col, row, _table) {
31816
+ const prop = cellStyle && isValid$1(cellStyle[name]) ? cellStyle[name] : null;
31817
+ if (typeof prop === 'function') {
31841
31818
  const arg = {
31842
31819
  col,
31843
31820
  row,
31844
- dataValue: table.getCellOriginValue(col, row),
31845
- value: table.getCellValue(col, row) || '',
31846
- rect: {
31847
- left: 0,
31848
- top: 0,
31849
- right: width,
31850
- bottom: height,
31851
- width,
31852
- height
31853
- },
31854
- table
31821
+ table: _table,
31822
+ value: _table.getCellValue(col, row),
31823
+ dataValue: _table.getCellOriginValue(col, row),
31824
+ cellHeaderPaths: _table.getCellHeaderPaths(col, row)
31855
31825
  };
31856
- const customRenderObj = customLayout(arg);
31857
- if (customRenderObj.rootContainer) {
31858
- customRenderObj.rootContainer = decodeReactDom(customRenderObj.rootContainer);
31859
- }
31860
- if (customRenderObj.rootContainer instanceof Group$2) {
31861
- elementsGroup = customRenderObj.rootContainer;
31862
- elementsGroup.name = 'custom-container';
31863
- }
31864
- renderDefault = customRenderObj.renderDefault;
31865
- enableCellPadding = customRenderObj.enableCellPadding;
31826
+ return prop(arg);
31866
31827
  }
31867
- else if (typeof customRender === 'function') {
31828
+ return prop;
31829
+ }
31830
+ function getFunctionalProp(name, cellStyle, col, row, _table) {
31831
+ const prop = cellStyle && isValid$1(cellStyle[name]) ? cellStyle[name] : null;
31832
+ if (typeof prop === 'function') {
31868
31833
  const arg = {
31869
31834
  col,
31870
31835
  row,
31871
- dataValue: table.getCellOriginValue(col, row),
31872
- value: table.getCellValue(col, row) || '',
31873
- rect: {
31874
- left: 0,
31875
- top: 0,
31876
- right: width,
31877
- bottom: height,
31878
- width,
31879
- height
31880
- },
31881
- table
31836
+ table: _table,
31837
+ value: _table.getCellValue(col, row),
31838
+ dataValue: _table.getCellOriginValue(col, row),
31839
+ cellHeaderPaths: _table.getCellHeaderPaths(col, row)
31882
31840
  };
31883
- const customRenderObj = customRender(arg);
31884
- if (customRenderObj) {
31885
- customElements = customRenderObj.elements;
31886
- renderDefault = customRenderObj.renderDefault;
31887
- expectedWidth = customRenderObj.expectedWidth;
31888
- expectedHeight = customRenderObj.expectedHeight;
31889
- }
31890
- }
31891
- else if (customRender) {
31892
- expectedWidth = customRender.expectedWidth;
31893
- expectedHeight = customRender.expectedHeight;
31894
- customElements = customRender.elements;
31895
- renderDefault = customRender.renderDefault;
31841
+ return prop(arg);
31896
31842
  }
31897
- if (customElements) {
31898
- const value = table.getCellValue(col, row);
31899
- elementsGroup = adjustElementToGroup(customElements, autoWidth ? expectedWidth : width, autoHeight ? expectedHeight : height, value);
31843
+ return undefined;
31844
+ }
31845
+
31846
+ let Group$1 = class Group extends Group$2 {
31847
+ role;
31848
+ col;
31849
+ row;
31850
+ mergeStartCol;
31851
+ mergeStartRow;
31852
+ mergeEndCol;
31853
+ mergeEndRow;
31854
+ contentWidth;
31855
+ contentHeight;
31856
+ rowNumber;
31857
+ colHeight;
31858
+ border;
31859
+ needUpdate;
31860
+ needUpdateWidth;
31861
+ needUpdateHeight;
31862
+ clear() {
31863
+ this.removeAllChild();
31900
31864
  }
31901
- if (enableCellPadding) {
31902
- elementsGroup.setAttributes({
31903
- x: padding[3],
31904
- y: padding[0],
31905
- width: width - padding[1] - padding[3],
31906
- height: height - padding[0] - padding[2]
31865
+ getChildByName(name, deep) {
31866
+ let result = null;
31867
+ this.forEachChildren((child) => {
31868
+ if (child.name === name) {
31869
+ result = child;
31870
+ return true;
31871
+ }
31872
+ return false;
31907
31873
  });
31908
- }
31909
- dealPercentCalc(elementsGroup, width, height);
31910
- return {
31911
- elementsGroup,
31912
- renderDefault
31913
- };
31914
- }
31915
- function adjustElementToGroup(elements, width, height, value) {
31916
- const customGroup = new Group$2({
31917
- x: 0,
31918
- y: 0,
31919
- width,
31920
- height,
31921
- fill: false,
31922
- stroke: false,
31923
- pickable: false
31924
- });
31925
- customGroup.name = 'custom-container';
31926
- const elementsAdjusted = adjustElementsPos(elements, width, height, value);
31927
- elementsAdjusted.forEach(element => {
31928
- if (element.clickable) {
31929
- element.pickable = element.clickable;
31930
- }
31931
- switch (element.type) {
31932
- case 'arc':
31933
- const arc = createArc({
31934
- x: element.x,
31935
- y: element.y,
31936
- dx: (element.dx ?? 0),
31937
- dy: (element.dy ?? 0),
31938
- fill: element.fill,
31939
- stroke: element.stroke,
31940
- outerRadius: element.radius,
31941
- startAngle: element.startAngle,
31942
- endAngle: element.endAngle,
31943
- pickable: !!element.pickable,
31944
- cursor: element.cursor
31945
- });
31946
- customGroup.appendChild(arc);
31947
- break;
31948
- case 'text':
31949
- if (element.background) {
31950
- const expandX = element.background?.expandX ?? 0;
31951
- const expandY = element.background?.expandY ?? 0;
31952
- const textBackRect = createRect({
31953
- x: element.x - expandX,
31954
- y: element.y - expandY,
31955
- dx: (element.dx ?? 0),
31956
- dy: (element.dy ?? 0),
31957
- width: element.width + expandX * 2,
31958
- height: element.height + expandY * 2,
31959
- cornerRadius: element.background?.cornerRadius ?? 0,
31960
- fill: element.background?.fill ?? '#888'
31961
- });
31962
- customGroup.appendChild(textBackRect);
31874
+ if (deep) {
31875
+ this.forEachChildren((child) => {
31876
+ if (child.getChildByName) {
31877
+ const target = child.getChildByName(name, true);
31878
+ if (target) {
31879
+ result = target;
31880
+ return true;
31881
+ }
31963
31882
  }
31964
- const text = new Text$1(Object.assign({
31965
- pickable: !!element.pickable,
31966
- fill: element.color ?? element.fill
31967
- }, element));
31968
- customGroup.appendChild(text);
31969
- break;
31970
- case 'rect':
31971
- const rect = createRect({
31972
- x: element.x,
31973
- y: element.y,
31974
- dx: (element.dx ?? 0),
31975
- dy: (element.dy ?? 0),
31976
- width: element.width,
31977
- height: element.height,
31978
- cornerRadius: element.radius,
31979
- fill: element.fill,
31980
- stroke: element.stroke,
31981
- pickable: !!element.pickable,
31982
- cursor: element.cursor
31983
- });
31984
- customGroup.appendChild(rect);
31985
- break;
31986
- case 'circle':
31987
- const circle = createCircle({
31988
- x: element.x,
31989
- y: element.y,
31990
- dx: (element.dx ?? 0),
31991
- dy: (element.dy ?? 0),
31992
- radius: element.radius,
31993
- fill: element.fill,
31994
- stroke: element.stroke,
31995
- pickable: !!element.pickable,
31996
- cursor: element.cursor
31997
- });
31998
- customGroup.appendChild(circle);
31999
- break;
32000
- case 'icon':
32001
- const icon = new Icon$1({
32002
- x: element.x,
32003
- y: element.y,
32004
- dx: (element.dx ?? 0),
32005
- dy: (element.dy ?? 0),
32006
- width: element.width,
32007
- height: element.height,
32008
- image: element.svg,
32009
- backgroundWidth: element.hover ? (element.hover.width ?? element.width) : undefined,
32010
- backgroundHeight: element.hover ? (element.hover.width ?? element.width) : undefined,
32011
- backgroundColor: element.hover ? element.hover.bgColor ?? 'rgba(22,44,66,0.2)' : undefined,
32012
- pickable: !!element.pickable,
32013
- cursor: element.cursor
32014
- });
32015
- icon.role = 'icon-custom';
32016
- customGroup.appendChild(icon);
32017
- break;
32018
- case 'image':
32019
- const image = new Icon$1({
32020
- x: element.x,
32021
- y: element.y,
32022
- dx: (element.dx ?? 0),
32023
- dy: (element.dy ?? 0),
32024
- width: element.width,
32025
- height: element.height,
32026
- image: element.src,
32027
- backgroundWidth: element.hover ? (element.hover.width ?? element.width) : undefined,
32028
- backgroundHeight: element.hover ? (element.hover.width ?? element.width) : undefined,
32029
- backgroundColor: element.hover ? element.hover.bgColor ?? 'rgba(22,44,66,0.2)' : undefined,
32030
- pickable: !!element.pickable,
32031
- cursor: element.cursor,
32032
- shape: element.shape
32033
- });
32034
- image.role = 'image-custom';
32035
- customGroup.appendChild(image);
32036
- break;
32037
- case 'line':
32038
- const line = createLine({
32039
- points: element.points,
32040
- stroke: element.stroke,
32041
- pickable: !!element.pickable,
32042
- cursor: element.cursor
32043
- });
32044
- customGroup.appendChild(line);
32045
- break;
32046
- }
32047
- });
32048
- return customGroup;
32049
- }
32050
- function adjustElementsPos(originalElements, width, height, value) {
32051
- const result = [];
32052
- const left = 0;
32053
- const top = 0;
32054
- const borderLineWidths = [0, 0, 0, 0];
32055
- for (let i = 0; i < originalElements.length; i++) {
32056
- const originalElement = originalElements[i];
32057
- const element = Object.assign({}, originalElement);
32058
- for (const name in element) {
32059
- if (element.hasOwnProperty(name) && isFunction$1(element[name])) {
32060
- element[name] = element[name](value);
32061
- }
31883
+ return false;
31884
+ });
32062
31885
  }
32063
- const rect = element;
32064
- if (isValid$1(rect.x)) {
32065
- rect.x = isString$2(rect.x)
32066
- ? transformString(rect.x, width - borderLineWidths[1])
32067
- : Number(rect.x);
31886
+ return result;
31887
+ }
31888
+ get width() {
31889
+ let width = this.AABBBounds.width();
31890
+ if (width === Infinity || width === -Infinity) {
31891
+ width = 0;
32068
31892
  }
32069
- if (isValid$1(rect.y)) {
32070
- rect.y = isString$2(rect.y)
32071
- ? transformString(rect.y, height - borderLineWidths[2])
32072
- : Number(rect.y);
31893
+ return Math.max(width, this.attribute.width ?? 0);
31894
+ }
31895
+ get height() {
31896
+ let height = this.AABBBounds.height();
31897
+ if (height === Infinity || height === -Infinity) {
31898
+ height = 0;
32073
31899
  }
32074
- if ('width' in element) {
32075
- element.width = isString$2(element.width)
32076
- ? transformString(element.width, width - borderLineWidths[1])
32077
- : Number(element.width);
31900
+ return Math.max(height, this.attribute.height ?? 0);
31901
+ }
31902
+ setDeltaWidth(deltaX) {
31903
+ if (deltaX === 0) {
31904
+ return;
32078
31905
  }
32079
- if ('height' in element) {
32080
- element.height = isString$2(element.height)
32081
- ? transformString(element.height, height - borderLineWidths[2])
32082
- : Number(element.height);
31906
+ this.setAttribute('width', (this.attribute.width ?? 0) + deltaX);
31907
+ if (this.border) {
31908
+ this.border.setAttribute('width', this.border.attribute.width + deltaX);
31909
+ if (this.border.type === 'group') {
31910
+ this.border.firstChild.setAttribute('width', this.border.firstChild.attribute.width + deltaX);
31911
+ }
32083
31912
  }
32084
- if ('radius' in element) {
32085
- element.radius = isString$2(element.radius)
32086
- ? transformString(element.radius, Math.min(width - borderLineWidths[1], height - borderLineWidths[2]))
32087
- : Number(element.radius);
31913
+ }
31914
+ setDeltaHeight(deltaY) {
31915
+ if (deltaY === 0) {
31916
+ return;
32088
31917
  }
32089
- if ('hover' in element) {
32090
- element.hover.x = isString$2(element.hover.x)
32091
- ? transformString(element.hover.x, width - borderLineWidths[1])
32092
- : Number(element.hover.x);
32093
- element.hover.y = isString$2(element.hover.y)
32094
- ? transformString(element.hover.y, height - borderLineWidths[2])
32095
- : Number(element.hover.y);
32096
- element.hover.width = isString$2(element.hover.width)
32097
- ? transformString(element.hover.width, width - borderLineWidths[1])
32098
- : Number(element.hover.width);
32099
- element.hover.height = isString$2(element.hover.height)
32100
- ? transformString(element.hover.height, height - borderLineWidths[2])
32101
- : Number(element.hover.height);
32102
- element.hover.x += left;
32103
- element.hover.y += top;
31918
+ this.setAttribute('height', (this.attribute.height ?? 0) + deltaY);
31919
+ if (this.border) {
31920
+ this.border.setAttribute('height', this.border.attribute.height + deltaY);
31921
+ if (this.border.type === 'group') {
31922
+ this.border.firstChild.setAttribute('width', this.border.firstChild.attribute.height + deltaY);
31923
+ }
32104
31924
  }
32105
- rect.x = rect.x + left;
32106
- rect.y = rect.y + top;
32107
- result.push(element);
32108
- }
32109
- return result;
32110
- }
32111
- function transformString(str, size) {
32112
- if (str.endsWith('px')) {
32113
- return parseInt(str, 10);
32114
- }
32115
- else if (str.endsWith('%') && size) {
32116
- return (parseInt(str, 10) / 100) * size;
32117
31925
  }
32118
- return parseInt(str, 10);
32119
- }
32120
- function dealPercentCalc(group, parentWidth, parentHeight) {
32121
- if (!group) {
32122
- return;
31926
+ setDeltaX(deltaX) {
31927
+ if (deltaX === 0) {
31928
+ return;
31929
+ }
31930
+ this.setAttribute('x', this.attribute.x + deltaX);
32123
31931
  }
32124
- group.forEachChildren((child) => {
32125
- if (!child) {
31932
+ setDeltaY(deltaY) {
31933
+ if (deltaY === 0) {
32126
31934
  return;
32127
31935
  }
32128
- if (isObject$4(child.attribute.width) && child.attribute.width.percent) {
32129
- child.setAttribute('width', (child.attribute.width.percent / 100) * parentWidth +
32130
- (child.attribute.width.delta ?? 0));
31936
+ this.setAttribute('y', this.attribute.y + deltaY);
31937
+ }
31938
+ forEachChildrenSkipChild(cb, skipChildName = 'border-rect', reverse = false) {
31939
+ if (reverse) {
31940
+ let child = this._lastChild;
31941
+ let i = 0;
31942
+ while (child) {
31943
+ if (child.name !== skipChildName) {
31944
+ const breakTag = cb(child, i++);
31945
+ if (breakTag) {
31946
+ return;
31947
+ }
31948
+ }
31949
+ child = child._prev;
31950
+ }
32131
31951
  }
32132
- if (isObject$4(child.attribute.height) && child.attribute.height.percent) {
32133
- child.setAttribute('height', (child.attribute.height.percent / 100) * parentHeight +
32134
- (child.attribute.height.delta ?? 0));
31952
+ else {
31953
+ let child = this._firstChild;
31954
+ let i = 0;
31955
+ while (child) {
31956
+ if (child.name !== skipChildName) {
31957
+ const breakTag = cb(child, i++);
31958
+ if (breakTag) {
31959
+ return;
31960
+ }
31961
+ }
31962
+ child = child._next;
31963
+ }
32135
31964
  }
32136
- if (child.type === 'group') {
32137
- dealPercentCalc(child, child.attribute.width, child.attribute.height);
31965
+ }
31966
+ getColGroup(col) {
31967
+ let c = this._firstChild;
31968
+ if (!c) {
31969
+ return null;
32138
31970
  }
32139
- });
32140
- }
32141
- function decodeReactDom(dom) {
32142
- if (!dom || !dom.$$typeof) {
32143
- return dom;
31971
+ for (let i = 0; i < this.childrenCount; i++) {
31972
+ if (c.col === col) {
31973
+ return c;
31974
+ }
31975
+ c = c._next;
31976
+ }
31977
+ return null;
32144
31978
  }
32145
- const type = dom.type;
32146
- const { attribute, children, stateProxy } = dom.props;
32147
- const g = type({ attribute });
32148
- parseToGraphic(g, dom.props);
32149
- if (stateProxy) {
32150
- g.stateProxy = stateProxy;
31979
+ getRowGroup(row) {
31980
+ let c = this._firstChild;
31981
+ if (!c) {
31982
+ return null;
31983
+ }
31984
+ for (let i = 0; i < this.childrenCount; i++) {
31985
+ if (c.row === row) {
31986
+ return c;
31987
+ }
31988
+ c = c._next;
31989
+ }
31990
+ return null;
32151
31991
  }
32152
- g.id = attribute.id;
32153
- g.name = attribute.name;
32154
- if (isArray$1(children)) {
32155
- children.forEach((item) => {
32156
- const c = decodeReactDom(item);
32157
- c && c.type && g.add(c);
32158
- });
31992
+ getChildAt(index) {
31993
+ const child = super.getChildAt(index);
31994
+ if (child && child.name === 'border-rect') {
31995
+ return child._next;
31996
+ }
31997
+ return child;
32159
31998
  }
32160
- else if (children) {
32161
- g.add(decodeReactDom(children));
31999
+ tryUpdateAABBBounds() {
32000
+ if (this.role === 'cell') {
32001
+ if (!this.shouldUpdateAABBBounds()) {
32002
+ return this._AABBBounds;
32003
+ }
32004
+ const selfChange = this.shouldSelfChangeUpdateAABBBounds();
32005
+ const bounds = this.doUpdateAABBBounds();
32006
+ this.addUpdateLayoutTag();
32007
+ after(this, selfChange);
32008
+ return bounds;
32009
+ }
32010
+ return super.tryUpdateAABBBounds();
32162
32011
  }
32163
- return g;
32012
+ doUpdateAABBBounds() {
32013
+ if (this.role === 'cell') {
32014
+ const attribute = this.attribute;
32015
+ const { x, y, width, height } = attribute;
32016
+ this._AABBBounds.setValue(x, y, x + width, y + height);
32017
+ this.parent && this.parent.addChildUpdateBoundTag();
32018
+ this.clearUpdateBoundTag();
32019
+ return this._AABBBounds;
32020
+ }
32021
+ else if (this.role === 'body' ||
32022
+ this.role === 'row-header' ||
32023
+ this.role === 'col-header' ||
32024
+ this.role === 'right-frozen' ||
32025
+ this.role === 'bottom-frozen' ||
32026
+ this.role === 'corner-header' ||
32027
+ this.role === 'corner-right-top-header' ||
32028
+ this.role === 'corner-right-bottom-header' ||
32029
+ this.role === 'corner-left-bottom-header') {
32030
+ this._AABBBounds.setValue(-Infinity, -Infinity, Infinity, Infinity);
32031
+ this.parent && this.parent.addChildUpdateBoundTag();
32032
+ this.clearUpdateBoundTag();
32033
+ return this._AABBBounds;
32034
+ }
32035
+ return super.doUpdateAABBBounds();
32036
+ }
32037
+ updateColumnRowNumber(row) {
32038
+ if (!this.rowNumber) {
32039
+ this.rowNumber = row;
32040
+ }
32041
+ else {
32042
+ this.rowNumber = Math.max(this.rowNumber, row);
32043
+ }
32044
+ }
32045
+ updateColumnHeight(cellHeight) {
32046
+ if (!this.colHeight) {
32047
+ this.colHeight = cellHeight;
32048
+ }
32049
+ else {
32050
+ this.colHeight += cellHeight;
32051
+ }
32052
+ }
32053
+ };
32054
+ function after(group, selfChange) {
32055
+ if (!group.stage.dirtyBounds) {
32056
+ return;
32057
+ }
32058
+ if (!(group.stage && group.stage.renderCount)) {
32059
+ return;
32060
+ }
32061
+ if (group.isContainer && !selfChange) {
32062
+ return;
32063
+ }
32064
+ group.stage.dirty(group.globalAABBBounds);
32164
32065
  }
32165
- function parseToGraphic(g, props) {
32166
- let isGraphic = false;
32167
- switch (g.type) {
32168
- case 'richtext':
32169
- break;
32170
- case 'rich/image':
32171
- break;
32172
- default:
32173
- isGraphic = true;
32066
+
32067
+ const CHART_NUMBER_TYPE = genNumberType();
32068
+ class Chart extends Group$2 {
32069
+ type = 'chart';
32070
+ chartInstance;
32071
+ activeChartInstance;
32072
+ active;
32073
+ cacheCanvas;
32074
+ constructor(params) {
32075
+ super(params);
32076
+ this.numberType = CHART_NUMBER_TYPE;
32077
+ if (!params.chartInstance) {
32078
+ params.chartInstance = this.chartInstance = new params.ClassType(params.spec, {
32079
+ renderCanvas: params.canvas,
32080
+ mode: this.attribute.mode === 'node' ? 'node' : 'desktop-browser',
32081
+ modeParams: this.attribute.modeParams,
32082
+ canvasControled: false,
32083
+ viewBox: { x1: 0, x2: 0, y1: 0, y2: 0 },
32084
+ dpr: params.dpr,
32085
+ interactive: false,
32086
+ animation: false,
32087
+ autoFit: false
32088
+ });
32089
+ this.chartInstance.renderSync();
32090
+ }
32091
+ else {
32092
+ this.chartInstance = params.chartInstance;
32093
+ }
32174
32094
  }
32175
- if (isGraphic) {
32176
- Object.keys(props).forEach(k => {
32177
- const en = REACT_TO_CANOPUS_EVENTS[k];
32178
- if (en) {
32179
- g.on(en, props[k]);
32095
+ activate(table) {
32096
+ this.active = true;
32097
+ const { col, row } = this.parent;
32098
+ const { x1, y1, x2, y2 } = this.getViewBox();
32099
+ const tableBound = getTableBounds(col, row, table);
32100
+ const clipBound = tableBound.intersect({
32101
+ x1: x1 - table.scrollLeft,
32102
+ x2: x2 - table.scrollLeft,
32103
+ y1: y1 - table.scrollTop,
32104
+ y2: y2 - table.scrollTop
32105
+ });
32106
+ this.activeChartInstance = new this.attribute.ClassType(this.attribute.spec, {
32107
+ renderCanvas: this.attribute.canvas,
32108
+ mode: 'desktop-browser',
32109
+ canvasControled: false,
32110
+ viewBox: {
32111
+ x1: x1 - table.scrollLeft,
32112
+ x2: x2 - table.scrollLeft,
32113
+ y1: y1 - table.scrollTop,
32114
+ y2: y2 - table.scrollTop
32115
+ },
32116
+ dpr: table.internalProps.pixelRatio,
32117
+ animation: false,
32118
+ interactive: true,
32119
+ autoFit: false,
32120
+ beforeRender: (stage) => {
32121
+ const ctx = stage.window.getContext();
32122
+ ctx.inuse = true;
32123
+ ctx.clearMatrix();
32124
+ ctx.setTransformForCurrent(true);
32125
+ ctx.beginPath();
32126
+ ctx.rect(clipBound.x1, clipBound.y1, clipBound.x2 - clipBound.x1, clipBound.y2 - clipBound.y1);
32127
+ ctx.clip();
32128
+ },
32129
+ afterRender(stage) {
32130
+ const ctx = stage.window.getContext();
32131
+ ctx.inuse = false;
32180
32132
  }
32181
32133
  });
32134
+ this.activeChartInstance.renderSync();
32135
+ table.internalProps.layoutMap?.updateDataStateToActiveChartInstance?.(this.activeChartInstance);
32136
+ this.activeChartInstance.on('click', (params) => {
32137
+ if (Chart.temp) {
32138
+ table.scenegraph.updateChartState(params?.datum);
32139
+ }
32140
+ });
32141
+ this.activeChartInstance.on('brushEnd', (params) => {
32142
+ table.scenegraph.updateChartState(params?.value?.inBrushData);
32143
+ Chart.temp = 0;
32144
+ setTimeout(() => {
32145
+ Chart.temp = 1;
32146
+ }, 0);
32147
+ });
32148
+ table._bindChartEvent?.(this.activeChartInstance);
32149
+ }
32150
+ static temp = 1;
32151
+ deactivate() {
32152
+ this.active = false;
32153
+ this.activeChartInstance?.updateViewBox({
32154
+ x1: -1000,
32155
+ x2: -800,
32156
+ y1: -1000,
32157
+ y2: -800
32158
+ }, false, false);
32159
+ this.activeChartInstance?.release();
32160
+ this.activeChartInstance = null;
32161
+ }
32162
+ updateData(data) {
32163
+ this.attribute.data = data;
32182
32164
  }
32165
+ getViewBox() {
32166
+ const cellGroup = this.parent;
32167
+ const padding = this.attribute.cellPadding;
32168
+ const table = this.stage.table;
32169
+ return {
32170
+ x1: Math.ceil(cellGroup.globalAABBBounds.x1 + padding[3] + table.scrollLeft),
32171
+ x2: Math.ceil(cellGroup.globalAABBBounds.x1 + cellGroup.attribute.width - padding[1] + table.scrollLeft),
32172
+ y1: Math.ceil(cellGroup.globalAABBBounds.y1 + padding[0] + table.scrollTop),
32173
+ y2: Math.ceil(cellGroup.globalAABBBounds.y1 + cellGroup.attribute.height - padding[2] + table.scrollTop)
32174
+ };
32175
+ }
32176
+ }
32177
+ function getTableBounds(col, row, table) {
32178
+ const { layoutMap } = table.internalProps;
32179
+ const bodyBound = new Bounds();
32180
+ const tableBound = table.scenegraph.tableGroup.globalAABBBounds;
32181
+ bodyBound.x1 = tableBound.x1;
32182
+ bodyBound.x2 = tableBound.x2;
32183
+ bodyBound.y1 = tableBound.y1;
32184
+ bodyBound.y2 = tableBound.y2;
32185
+ if (!layoutMap.isFrozenColumn(col, row) && !layoutMap.isRightFrozenColumn(col, row)) {
32186
+ bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();
32187
+ bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();
32188
+ bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();
32189
+ bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();
32190
+ }
32191
+ else if (layoutMap.isLeftBottomCorner(col, row) || layoutMap.isRightTopCorner(col, row)) ;
32192
+ else if (layoutMap.isFrozenColumn(col, row)) {
32193
+ bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();
32194
+ bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();
32195
+ }
32196
+ else if (layoutMap.isRightFrozenColumn(col, row)) {
32197
+ bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();
32198
+ bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();
32199
+ }
32200
+ else if (layoutMap.isBottomFrozenRow(col, row)) {
32201
+ bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();
32202
+ bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();
32203
+ }
32204
+ return bodyBound;
32205
+ }
32206
+
32207
+ const chartTypes = {};
32208
+
32209
+ const builtin = {};
32210
+ function get$2() {
32211
+ return extend(builtin, chartTypes);
32212
+ }
32213
+
32214
+ function createChartCellGroup(cellGroup, columnGroup, xOrigin, yOrigin, col, row, width, height, padding, dataValue, chartModule, chartSpec, chartInstance, dataId, table, cellTheme) {
32215
+ const registerCharts = get$2();
32216
+ const ClassType = registerCharts[chartModule];
32217
+ const headerStyle = table._getCellStyle(col, row);
32218
+ const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);
32219
+ if (isValid$1(functionalPadding)) {
32220
+ padding = functionalPadding;
32221
+ }
32222
+ if (!cellGroup) {
32223
+ cellGroup = new Group$1({
32224
+ x: xOrigin,
32225
+ y: yOrigin,
32226
+ width,
32227
+ height,
32228
+ lineWidth: cellTheme?.group?.lineWidth ?? undefined,
32229
+ fill: cellTheme?.group?.fill ?? undefined,
32230
+ stroke: cellTheme?.group?.stroke ?? undefined,
32231
+ strokeArrayWidth: cellTheme?.group?.strokeArrayWidth ?? undefined,
32232
+ strokeArrayColor: cellTheme?.group?.strokeArrayColor ?? undefined,
32233
+ cursor: cellTheme?.group?.cursor ?? undefined,
32234
+ lineCap: 'square',
32235
+ clip: true,
32236
+ cornerRadius: cellTheme.group.cornerRadius
32237
+ });
32238
+ cellGroup.role = 'cell';
32239
+ cellGroup.col = col;
32240
+ cellGroup.row = row;
32241
+ columnGroup?.addChild(cellGroup);
32242
+ }
32243
+ cellGroup.AABBBounds.width();
32244
+ const chartGroup = new Chart({
32245
+ stroke: false,
32246
+ x: padding[3],
32247
+ y: padding[0],
32248
+ canvas: table.canvas ?? table.scenegraph.stage.window.getContext().canvas,
32249
+ mode: table.options.mode,
32250
+ modeParams: table.options.modeParams,
32251
+ spec: chartSpec,
32252
+ ClassType,
32253
+ width: width - padding[3] - padding[1],
32254
+ height: height - padding[2] - padding[0],
32255
+ chartInstance,
32256
+ dataId,
32257
+ data: table.getCellValue(col, row),
32258
+ cellPadding: padding,
32259
+ dpr: table.internalProps.pixelRatio,
32260
+ axes: table.isPivotChart() ? table.internalProps.layoutMap.getChartAxes(col, row) : []
32261
+ });
32262
+ cellGroup.appendChild(chartGroup);
32263
+ table.internalProps.layoutMap.setChartInstance(col, row, chartGroup.chartInstance);
32264
+ return cellGroup;
32183
32265
  }
32184
32266
 
32185
32267
  const icons = {};
@@ -32459,231 +32541,10 @@
32459
32541
  };
32460
32542
  }
32461
32543
  };
32462
- function get$2() {
32544
+ function get$1() {
32463
32545
  return extend(builtins, icons);
32464
32546
  }
32465
32547
 
32466
- let Group$1 = class Group extends Group$2 {
32467
- role;
32468
- col;
32469
- row;
32470
- mergeStartCol;
32471
- mergeStartRow;
32472
- mergeEndCol;
32473
- mergeEndRow;
32474
- contentWidth;
32475
- contentHeight;
32476
- rowNumber;
32477
- colHeight;
32478
- border;
32479
- needUpdate;
32480
- needUpdateWidth;
32481
- needUpdateHeight;
32482
- clear() {
32483
- this.removeAllChild();
32484
- }
32485
- getChildByName(name, deep) {
32486
- let result = null;
32487
- this.forEachChildren((child) => {
32488
- if (child.name === name) {
32489
- result = child;
32490
- return true;
32491
- }
32492
- return false;
32493
- });
32494
- if (deep) {
32495
- this.forEachChildren((child) => {
32496
- if (child.getChildByName) {
32497
- const target = child.getChildByName(name, true);
32498
- if (target) {
32499
- result = target;
32500
- return true;
32501
- }
32502
- }
32503
- return false;
32504
- });
32505
- }
32506
- return result;
32507
- }
32508
- get width() {
32509
- let width = this.AABBBounds.width();
32510
- if (width === Infinity || width === -Infinity) {
32511
- width = 0;
32512
- }
32513
- return Math.max(width, this.attribute.width ?? 0);
32514
- }
32515
- get height() {
32516
- let height = this.AABBBounds.height();
32517
- if (height === Infinity || height === -Infinity) {
32518
- height = 0;
32519
- }
32520
- return Math.max(height, this.attribute.height ?? 0);
32521
- }
32522
- setDeltaWidth(deltaX) {
32523
- if (deltaX === 0) {
32524
- return;
32525
- }
32526
- this.setAttribute('width', (this.attribute.width ?? 0) + deltaX);
32527
- if (this.border) {
32528
- this.border.setAttribute('width', this.border.attribute.width + deltaX);
32529
- if (this.border.type === 'group') {
32530
- this.border.firstChild.setAttribute('width', this.border.firstChild.attribute.width + deltaX);
32531
- }
32532
- }
32533
- }
32534
- setDeltaHeight(deltaY) {
32535
- if (deltaY === 0) {
32536
- return;
32537
- }
32538
- this.setAttribute('height', (this.attribute.height ?? 0) + deltaY);
32539
- if (this.border) {
32540
- this.border.setAttribute('height', this.border.attribute.height + deltaY);
32541
- if (this.border.type === 'group') {
32542
- this.border.firstChild.setAttribute('width', this.border.firstChild.attribute.height + deltaY);
32543
- }
32544
- }
32545
- }
32546
- setDeltaX(deltaX) {
32547
- if (deltaX === 0) {
32548
- return;
32549
- }
32550
- this.setAttribute('x', this.attribute.x + deltaX);
32551
- }
32552
- setDeltaY(deltaY) {
32553
- if (deltaY === 0) {
32554
- return;
32555
- }
32556
- this.setAttribute('y', this.attribute.y + deltaY);
32557
- }
32558
- forEachChildrenSkipChild(cb, skipChildName = 'border-rect', reverse = false) {
32559
- if (reverse) {
32560
- let child = this._lastChild;
32561
- let i = 0;
32562
- while (child) {
32563
- if (child.name !== skipChildName) {
32564
- const breakTag = cb(child, i++);
32565
- if (breakTag) {
32566
- return;
32567
- }
32568
- }
32569
- child = child._prev;
32570
- }
32571
- }
32572
- else {
32573
- let child = this._firstChild;
32574
- let i = 0;
32575
- while (child) {
32576
- if (child.name !== skipChildName) {
32577
- const breakTag = cb(child, i++);
32578
- if (breakTag) {
32579
- return;
32580
- }
32581
- }
32582
- child = child._next;
32583
- }
32584
- }
32585
- }
32586
- getColGroup(col) {
32587
- let c = this._firstChild;
32588
- if (!c) {
32589
- return null;
32590
- }
32591
- for (let i = 0; i < this.childrenCount; i++) {
32592
- if (c.col === col) {
32593
- return c;
32594
- }
32595
- c = c._next;
32596
- }
32597
- return null;
32598
- }
32599
- getRowGroup(row) {
32600
- let c = this._firstChild;
32601
- if (!c) {
32602
- return null;
32603
- }
32604
- for (let i = 0; i < this.childrenCount; i++) {
32605
- if (c.row === row) {
32606
- return c;
32607
- }
32608
- c = c._next;
32609
- }
32610
- return null;
32611
- }
32612
- getChildAt(index) {
32613
- const child = super.getChildAt(index);
32614
- if (child && child.name === 'border-rect') {
32615
- return child._next;
32616
- }
32617
- return child;
32618
- }
32619
- tryUpdateAABBBounds() {
32620
- if (this.role === 'cell') {
32621
- if (!this.shouldUpdateAABBBounds()) {
32622
- return this._AABBBounds;
32623
- }
32624
- const selfChange = this.shouldSelfChangeUpdateAABBBounds();
32625
- const bounds = this.doUpdateAABBBounds();
32626
- this.addUpdateLayoutTag();
32627
- after(this, selfChange);
32628
- return bounds;
32629
- }
32630
- return super.tryUpdateAABBBounds();
32631
- }
32632
- doUpdateAABBBounds() {
32633
- if (this.role === 'cell') {
32634
- const attribute = this.attribute;
32635
- const { x, y, width, height } = attribute;
32636
- this._AABBBounds.setValue(x, y, x + width, y + height);
32637
- this.parent && this.parent.addChildUpdateBoundTag();
32638
- this.clearUpdateBoundTag();
32639
- return this._AABBBounds;
32640
- }
32641
- else if (this.role === 'body' ||
32642
- this.role === 'row-header' ||
32643
- this.role === 'col-header' ||
32644
- this.role === 'right-frozen' ||
32645
- this.role === 'bottom-frozen' ||
32646
- this.role === 'corner-header' ||
32647
- this.role === 'corner-right-top-header' ||
32648
- this.role === 'corner-right-bottom-header' ||
32649
- this.role === 'corner-left-bottom-header') {
32650
- this._AABBBounds.setValue(-Infinity, -Infinity, Infinity, Infinity);
32651
- this.parent && this.parent.addChildUpdateBoundTag();
32652
- this.clearUpdateBoundTag();
32653
- return this._AABBBounds;
32654
- }
32655
- return super.doUpdateAABBBounds();
32656
- }
32657
- updateColumnRowNumber(row) {
32658
- if (!this.rowNumber) {
32659
- this.rowNumber = row;
32660
- }
32661
- else {
32662
- this.rowNumber = Math.max(this.rowNumber, row);
32663
- }
32664
- }
32665
- updateColumnHeight(cellHeight) {
32666
- if (!this.colHeight) {
32667
- this.colHeight = cellHeight;
32668
- }
32669
- else {
32670
- this.colHeight += cellHeight;
32671
- }
32672
- }
32673
- };
32674
- function after(group, selfChange) {
32675
- if (!group.stage.dirtyBounds) {
32676
- return;
32677
- }
32678
- if (!(group.stage && group.stage.renderCount)) {
32679
- return;
32680
- }
32681
- if (group.isContainer && !selfChange) {
32682
- return;
32683
- }
32684
- group.stage.dirty(group.globalAABBBounds);
32685
- }
32686
-
32687
32548
  function calcKeepAspectRatioSize(width, height, maxWidth, maxHeight) {
32688
32549
  let newWidth = width;
32689
32550
  let newHeight = height;
@@ -32721,38 +32582,7 @@
32721
32582
  return { x, y };
32722
32583
  }
32723
32584
 
32724
- function getProp(name, cellStyle, col, row, _table) {
32725
- const prop = cellStyle && isValid$1(cellStyle[name]) ? cellStyle[name] : null;
32726
- if (typeof prop === 'function') {
32727
- const arg = {
32728
- col,
32729
- row,
32730
- table: _table,
32731
- value: _table.getCellValue(col, row),
32732
- dataValue: _table.getCellOriginValue(col, row),
32733
- cellHeaderPaths: _table.getCellHeaderPaths(col, row)
32734
- };
32735
- return prop(arg);
32736
- }
32737
- return prop;
32738
- }
32739
- function getFunctionalProp(name, cellStyle, col, row, _table) {
32740
- const prop = cellStyle && isValid$1(cellStyle[name]) ? cellStyle[name] : null;
32741
- if (typeof prop === 'function') {
32742
- const arg = {
32743
- col,
32744
- row,
32745
- table: _table,
32746
- value: _table.getCellValue(col, row),
32747
- dataValue: _table.getCellOriginValue(col, row),
32748
- cellHeaderPaths: _table.getCellHeaderPaths(col, row)
32749
- };
32750
- return prop(arg);
32751
- }
32752
- return undefined;
32753
- }
32754
-
32755
- get$2();
32585
+ get$1();
32756
32586
  function createImageCellGroup(columnGroup, xOrigin, yOrigin, col, row, width, height, keepAspectRatio, imageAutoSizing, padding, textAlign, textBaseline, table, cellTheme) {
32757
32587
  const headerStyle = table._getCellStyle(col, row);
32758
32588
  const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);
@@ -32820,7 +32650,7 @@
32820
32650
  };
32821
32651
  }
32822
32652
  image.failCallback = () => {
32823
- const regedIcons = get$2();
32653
+ const regedIcons = get$1();
32824
32654
  image.image = regedIcons.damage_pic.svg;
32825
32655
  };
32826
32656
  cellGroup.appendChild(image);
@@ -33560,206 +33390,6 @@
33560
33390
  return group;
33561
33391
  }
33562
33392
 
33563
- const CHART_NUMBER_TYPE = genNumberType();
33564
- class Chart extends Group$2 {
33565
- type = 'chart';
33566
- chartInstance;
33567
- activeChartInstance;
33568
- active;
33569
- cacheCanvas;
33570
- constructor(params) {
33571
- super(params);
33572
- this.numberType = CHART_NUMBER_TYPE;
33573
- if (!params.chartInstance) {
33574
- params.chartInstance = this.chartInstance = new params.ClassType(params.spec, {
33575
- renderCanvas: params.canvas,
33576
- mode: this.attribute.mode === 'node' ? 'node' : 'desktop-browser',
33577
- modeParams: this.attribute.modeParams,
33578
- canvasControled: false,
33579
- viewBox: { x1: 0, x2: 0, y1: 0, y2: 0 },
33580
- dpr: params.dpr,
33581
- interactive: false,
33582
- animation: false,
33583
- autoFit: false
33584
- });
33585
- this.chartInstance.renderSync();
33586
- }
33587
- else {
33588
- this.chartInstance = params.chartInstance;
33589
- }
33590
- }
33591
- activate(table) {
33592
- this.active = true;
33593
- const { col, row } = this.parent;
33594
- const { x1, y1, x2, y2 } = this.getViewBox();
33595
- const tableBound = getTableBounds(col, row, table);
33596
- const clipBound = tableBound.intersect({
33597
- x1: x1 - table.scrollLeft,
33598
- x2: x2 - table.scrollLeft,
33599
- y1: y1 - table.scrollTop,
33600
- y2: y2 - table.scrollTop
33601
- });
33602
- this.activeChartInstance = new this.attribute.ClassType(this.attribute.spec, {
33603
- renderCanvas: this.attribute.canvas,
33604
- mode: 'desktop-browser',
33605
- canvasControled: false,
33606
- viewBox: {
33607
- x1: x1 - table.scrollLeft,
33608
- x2: x2 - table.scrollLeft,
33609
- y1: y1 - table.scrollTop,
33610
- y2: y2 - table.scrollTop
33611
- },
33612
- dpr: table.internalProps.pixelRatio,
33613
- animation: false,
33614
- interactive: true,
33615
- autoFit: false,
33616
- beforeRender: (stage) => {
33617
- const ctx = stage.window.getContext();
33618
- ctx.inuse = true;
33619
- ctx.clearMatrix();
33620
- ctx.setTransformForCurrent(true);
33621
- ctx.beginPath();
33622
- ctx.rect(clipBound.x1, clipBound.y1, clipBound.x2 - clipBound.x1, clipBound.y2 - clipBound.y1);
33623
- ctx.clip();
33624
- },
33625
- afterRender(stage) {
33626
- const ctx = stage.window.getContext();
33627
- ctx.inuse = false;
33628
- }
33629
- });
33630
- this.activeChartInstance.renderSync();
33631
- table.internalProps.layoutMap?.updateDataStateToActiveChartInstance?.(this.activeChartInstance);
33632
- this.activeChartInstance.on('click', (params) => {
33633
- if (Chart.temp) {
33634
- table.scenegraph.updateChartState(params?.datum);
33635
- }
33636
- });
33637
- this.activeChartInstance.on('brushEnd', (params) => {
33638
- table.scenegraph.updateChartState(params?.value?.inBrushData);
33639
- Chart.temp = 0;
33640
- setTimeout(() => {
33641
- Chart.temp = 1;
33642
- }, 0);
33643
- });
33644
- table._bindChartEvent?.(this.activeChartInstance);
33645
- }
33646
- static temp = 1;
33647
- deactivate() {
33648
- this.active = false;
33649
- this.activeChartInstance?.updateViewBox({
33650
- x1: -1000,
33651
- x2: -800,
33652
- y1: -1000,
33653
- y2: -800
33654
- }, false, false);
33655
- this.activeChartInstance?.release();
33656
- this.activeChartInstance = null;
33657
- }
33658
- updateData(data) {
33659
- this.attribute.data = data;
33660
- }
33661
- getViewBox() {
33662
- const cellGroup = this.parent;
33663
- const padding = this.attribute.cellPadding;
33664
- const table = this.stage.table;
33665
- return {
33666
- x1: Math.ceil(cellGroup.globalAABBBounds.x1 + padding[3] + table.scrollLeft),
33667
- x2: Math.ceil(cellGroup.globalAABBBounds.x1 + cellGroup.attribute.width - padding[1] + table.scrollLeft),
33668
- y1: Math.ceil(cellGroup.globalAABBBounds.y1 + padding[0] + table.scrollTop),
33669
- y2: Math.ceil(cellGroup.globalAABBBounds.y1 + cellGroup.attribute.height - padding[2] + table.scrollTop)
33670
- };
33671
- }
33672
- }
33673
- function getTableBounds(col, row, table) {
33674
- const { layoutMap } = table.internalProps;
33675
- const bodyBound = new Bounds();
33676
- const tableBound = table.scenegraph.tableGroup.globalAABBBounds;
33677
- bodyBound.x1 = tableBound.x1;
33678
- bodyBound.x2 = tableBound.x2;
33679
- bodyBound.y1 = tableBound.y1;
33680
- bodyBound.y2 = tableBound.y2;
33681
- if (!layoutMap.isFrozenColumn(col, row) && !layoutMap.isRightFrozenColumn(col, row)) {
33682
- bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();
33683
- bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();
33684
- bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();
33685
- bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();
33686
- }
33687
- else if (layoutMap.isLeftBottomCorner(col, row) || layoutMap.isRightTopCorner(col, row)) ;
33688
- else if (layoutMap.isFrozenColumn(col, row)) {
33689
- bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();
33690
- bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();
33691
- }
33692
- else if (layoutMap.isRightFrozenColumn(col, row)) {
33693
- bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();
33694
- bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();
33695
- }
33696
- else if (layoutMap.isBottomFrozenRow(col, row)) {
33697
- bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();
33698
- bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();
33699
- }
33700
- return bodyBound;
33701
- }
33702
-
33703
- const chartTypes = {};
33704
-
33705
- const builtin = {};
33706
- function get$1() {
33707
- return extend(builtin, chartTypes);
33708
- }
33709
-
33710
- function createChartCellGroup(cellGroup, columnGroup, xOrigin, yOrigin, col, row, width, height, padding, dataValue, chartModule, chartSpec, chartInstance, dataId, table, cellTheme) {
33711
- const registerCharts = get$1();
33712
- const ClassType = registerCharts[chartModule];
33713
- const headerStyle = table._getCellStyle(col, row);
33714
- const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);
33715
- if (isValid$1(functionalPadding)) {
33716
- padding = functionalPadding;
33717
- }
33718
- if (!cellGroup) {
33719
- cellGroup = new Group$1({
33720
- x: xOrigin,
33721
- y: yOrigin,
33722
- width,
33723
- height,
33724
- lineWidth: cellTheme?.group?.lineWidth ?? undefined,
33725
- fill: cellTheme?.group?.fill ?? undefined,
33726
- stroke: cellTheme?.group?.stroke ?? undefined,
33727
- strokeArrayWidth: cellTheme?.group?.strokeArrayWidth ?? undefined,
33728
- strokeArrayColor: cellTheme?.group?.strokeArrayColor ?? undefined,
33729
- cursor: cellTheme?.group?.cursor ?? undefined,
33730
- lineCap: 'square',
33731
- clip: true,
33732
- cornerRadius: cellTheme.group.cornerRadius
33733
- });
33734
- cellGroup.role = 'cell';
33735
- cellGroup.col = col;
33736
- cellGroup.row = row;
33737
- columnGroup?.addChild(cellGroup);
33738
- }
33739
- cellGroup.AABBBounds.width();
33740
- const chartGroup = new Chart({
33741
- stroke: false,
33742
- x: padding[3],
33743
- y: padding[0],
33744
- canvas: table.canvas ?? table.scenegraph.stage.window.getContext().canvas,
33745
- mode: table.options.mode,
33746
- modeParams: table.options.modeParams,
33747
- spec: chartSpec,
33748
- ClassType,
33749
- width: width - padding[3] - padding[1],
33750
- height: height - padding[2] - padding[0],
33751
- chartInstance,
33752
- dataId,
33753
- data: table.getCellValue(col, row),
33754
- cellPadding: padding,
33755
- dpr: table.internalProps.pixelRatio,
33756
- axes: table.isPivotChart() ? table.internalProps.layoutMap.getChartAxes(col, row) : []
33757
- });
33758
- cellGroup.appendChild(chartGroup);
33759
- table.internalProps.layoutMap.setChartInstance(col, row, chartGroup.chartInstance);
33760
- return cellGroup;
33761
- }
33762
-
33763
33393
  class CellContent extends Group$1 {
33764
33394
  _leftGroup;
33765
33395
  _rightGroup;
@@ -33953,7 +33583,7 @@
33953
33583
  return cellHierarchyIndent;
33954
33584
  }
33955
33585
 
33956
- function createCellContent(cellGroup, icons, textStr, padding, autoColWidth, autoRowHeight, autoWrapText, lineClamp, cellWidth, cellHeight, textAlign, textBaseline, table, cellTheme) {
33586
+ function createCellContent(cellGroup, icons, textStr, padding, autoColWidth, autoRowHeight, autoWrapText, lineClamp, cellWidth, cellHeight, textAlign, textBaseline, table, cellTheme, range) {
33957
33587
  const leftIcons = [];
33958
33588
  const rightIcons = [];
33959
33589
  const contentLeftIcons = [];
@@ -33972,7 +33602,9 @@
33972
33602
  if (!Array.isArray(icons) || icons.length === 0) {
33973
33603
  if (isValid$1(textStr)) {
33974
33604
  const text = convertInternal(textStr).replace(/\r?\n/g, '\n').replace(/\r/g, '\n').split('\n');
33975
- const hierarchyOffset = getHierarchyOffset(cellGroup.col, cellGroup.row, table);
33605
+ const hierarchyOffset = range
33606
+ ? getHierarchyOffset(range.start.col, range.start.row, table)
33607
+ : getHierarchyOffset(cellGroup.col, cellGroup.row, table);
33976
33608
  const attribute = {
33977
33609
  text: text.length === 1 ? text[0] : text,
33978
33610
  maxLineWidth: autoColWidth ? Infinity : cellWidth - (padding[1] + padding[3] + hierarchyOffset),
@@ -34019,7 +33651,7 @@
34019
33651
  }
34020
33652
  });
34021
33653
  leftIcons.forEach(icon => {
34022
- const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, table);
33654
+ const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, range, table);
34023
33655
  iconMark.role = 'icon-left';
34024
33656
  iconMark.name = icon.name;
34025
33657
  iconMark.setAttribute('x', leftIconWidth + (iconMark.attribute.marginLeft ?? 0));
@@ -34029,7 +33661,7 @@
34029
33661
  cellGroup.appendChild(iconMark);
34030
33662
  });
34031
33663
  rightIcons.forEach(icon => {
34032
- const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, table);
33664
+ const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, range, table);
34033
33665
  iconMark.role = 'icon-right';
34034
33666
  iconMark.name = icon.name;
34035
33667
  iconMark.setAttribute('x', rightIconWidth + (iconMark.attribute.marginLeft ?? 0));
@@ -34039,7 +33671,7 @@
34039
33671
  cellGroup.appendChild(iconMark);
34040
33672
  });
34041
33673
  absoluteLeftIcons.forEach(icon => {
34042
- const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, table);
33674
+ const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, range, table);
34043
33675
  iconMark.role = 'icon-absolute-left';
34044
33676
  iconMark.name = icon.name;
34045
33677
  iconMark.setAttribute('x', absoluteLeftIconWidth + (iconMark.attribute.marginLeft ?? 0));
@@ -34048,7 +33680,7 @@
34048
33680
  cellGroup.appendChild(iconMark);
34049
33681
  });
34050
33682
  absoluteRightIcons.forEach(icon => {
34051
- const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, table);
33683
+ const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, range, table);
34052
33684
  iconMark.role = 'icon-absolute-right';
34053
33685
  iconMark.name = icon.name;
34054
33686
  iconMark.setAttribute('x', absoluteRightIconWidth + (iconMark.attribute.marginLeft ?? 0));
@@ -34116,13 +33748,13 @@
34116
33748
  baseline: textBaseline
34117
33749
  });
34118
33750
  contentLeftIcons.forEach(icon => {
34119
- const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, table);
33751
+ const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, range, table);
34120
33752
  iconMark.role = 'icon-content-left';
34121
33753
  iconMark.name = icon.name;
34122
33754
  cellContent.addLeftOccupyingIcon(iconMark);
34123
33755
  });
34124
33756
  contentRightIcons.forEach(icon => {
34125
- const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, table);
33757
+ const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, range, table);
34126
33758
  iconMark.role = 'icon-content-right';
34127
33759
  iconMark.name = icon.name;
34128
33760
  cellContent.addRightOccupyingIcon(iconMark);
@@ -34186,7 +33818,7 @@
34186
33818
  height: height + padding[0] + padding[2]
34187
33819
  });
34188
33820
  }
34189
- function dealWithIcon(icon, mark, col, row, table) {
33821
+ function dealWithIcon(icon, mark, col, row, range, table) {
34190
33822
  const iconAttribute = {};
34191
33823
  if (icon.type === 'image') {
34192
33824
  iconAttribute.image = icon.src;
@@ -34204,7 +33836,9 @@
34204
33836
  isNumber$3(row) &&
34205
33837
  table &&
34206
33838
  (icon.funcType === IconFuncTypeEnum.collapse || icon.funcType === IconFuncTypeEnum.expand)) {
34207
- hierarchyOffset = getHierarchyOffset(col, row, table);
33839
+ hierarchyOffset = range
33840
+ ? getHierarchyOffset(range.start.col, range.start.row, table)
33841
+ : getHierarchyOffset(col, row, table);
34208
33842
  }
34209
33843
  iconAttribute.marginLeft = (icon.marginLeft ?? 0) + hierarchyOffset;
34210
33844
  iconAttribute.marginRight = icon.marginRight ?? 0;
@@ -34426,7 +34060,7 @@
34426
34060
  return false;
34427
34061
  }
34428
34062
 
34429
- function createCellGroup(table, value, columnGroup, xOrigin, yOrigin, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, customElementsGroup, renderDefault, cellTheme) {
34063
+ function createCellGroup(table, value, columnGroup, xOrigin, yOrigin, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, customElementsGroup, renderDefault, cellTheme, range) {
34430
34064
  const headerStyle = table._getCellStyle(col, row);
34431
34065
  const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);
34432
34066
  if (isValid$1(functionalPadding)) {
@@ -34468,9 +34102,15 @@
34468
34102
  const textStr = value;
34469
34103
  let icons;
34470
34104
  if (mayHaveIcon) {
34471
- icons = table.getCellIcons(col, row);
34105
+ let iconCol = col;
34106
+ let iconRow = row;
34107
+ if (range) {
34108
+ iconCol = range.start.col;
34109
+ iconRow = range.start.row;
34110
+ }
34111
+ icons = table.getCellIcons(iconCol, iconRow);
34472
34112
  }
34473
- createCellContent(cellGroup, icons, textStr, padding, autoColWidth, autoRowHeight, autoWrapText, typeof lineClamp === 'number' ? lineClamp : undefined, cellWidth, cellHeight, textAlign, textBaseline, table, cellTheme);
34113
+ createCellContent(cellGroup, icons, textStr, padding, autoColWidth, autoRowHeight, autoWrapText, typeof lineClamp === 'number' ? lineClamp : undefined, cellWidth, cellHeight, textAlign, textBaseline, table, cellTheme, range);
34474
34114
  if (cellTheme?._vtable?.marked) {
34475
34115
  const mark = createArc({
34476
34116
  x: cellGroup.attribute.width,
@@ -34494,7 +34134,7 @@
34494
34134
  return cellGroup;
34495
34135
  }
34496
34136
 
34497
- const regedIcons$1 = get$2();
34137
+ const regedIcons$1 = get$1();
34498
34138
  function createVideoCellGroup(columnGroup, xOrigin, yOrigin, col, row, width, height, keepAspectRatio, imageAutoSizing, padding, textAlign, textBaseline, table, cellTheme) {
34499
34139
  const headerStyle = table._getCellStyle(col, row);
34500
34140
  const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);
@@ -34749,7 +34389,7 @@
34749
34389
  return checkbox;
34750
34390
  }
34751
34391
 
34752
- function createCell(type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme) {
34392
+ function createCell(type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme, range, customResult) {
34753
34393
  if (isPromise(value)) {
34754
34394
  value = table.getCellValue(col, row);
34755
34395
  }
@@ -34806,23 +34446,29 @@
34806
34446
  }
34807
34447
  let customElementsGroup;
34808
34448
  let renderDefault = true;
34809
- let customRender;
34810
- let customLayout;
34811
- const cellLocation = table.getCellLocation(col, row);
34812
- if (cellLocation !== 'body') {
34813
- customRender = define?.headerCustomRender;
34814
- customLayout = define?.headerCustomLayout;
34815
- }
34816
- else {
34817
- customRender = define?.customRender || table.customRender;
34818
- customLayout = define?.customLayout;
34819
- }
34820
- if (customLayout || customRender) {
34821
- const customResult = dealWithCustom(customLayout, customRender, col, row, cellWidth, cellHeight, false, table.heightMode === 'autoHeight', padding, table);
34449
+ if (customResult) {
34822
34450
  customElementsGroup = customResult.elementsGroup;
34823
34451
  renderDefault = customResult.renderDefault;
34824
34452
  }
34825
- cellGroup = createCellGroup(table, value, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, customElementsGroup, renderDefault, cellTheme);
34453
+ else {
34454
+ let customRender;
34455
+ let customLayout;
34456
+ const cellLocation = table.getCellLocation(col, row);
34457
+ if (cellLocation !== 'body') {
34458
+ customRender = define?.headerCustomRender;
34459
+ customLayout = define?.headerCustomLayout;
34460
+ }
34461
+ else {
34462
+ customRender = define?.customRender || table.customRender;
34463
+ customLayout = define?.customLayout;
34464
+ }
34465
+ if (customLayout || customRender) {
34466
+ const customResult = dealWithCustom(customLayout, customRender, col, row, cellWidth, cellHeight, false, table.heightMode === 'autoHeight', padding, table);
34467
+ customElementsGroup = customResult.elementsGroup;
34468
+ renderDefault = customResult.renderDefault;
34469
+ }
34470
+ }
34471
+ cellGroup = createCellGroup(table, value, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, customElementsGroup, renderDefault, cellTheme, range);
34826
34472
  const axisConfig = table.internalProps.layoutMap.getAxisConfigInPivotChart(col, row);
34827
34473
  if (axisConfig) {
34828
34474
  const axis = new CartesianAxis(axisConfig, cellGroup.attribute.width, cellGroup.attribute.height, padding, table);
@@ -34856,7 +34502,7 @@
34856
34502
  else if (type === 'progressbar') {
34857
34503
  const style = table._getCellStyle(col, row);
34858
34504
  const dataValue = table.getCellOriginValue(col, row);
34859
- cellGroup = createCellGroup(table, value, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, false, null, true, cellTheme);
34505
+ cellGroup = createCellGroup(table, value, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, false, null, true, cellTheme, range);
34860
34506
  const progressBarGroup = createProgressBarCell(define, style, colWidth, value, dataValue, col, row, padding, table);
34861
34507
  if (cellGroup.firstChild) {
34862
34508
  cellGroup.insertBefore(progressBarGroup, cellGroup.firstChild);
@@ -34878,14 +34524,45 @@
34878
34524
  const cellStyle = table._getCellStyle(col, row);
34879
34525
  const autoWrapText = cellStyle.autoWrapText ?? table.internalProps.autoWrapText;
34880
34526
  const cellLocation = table.getCellLocation(col, row);
34881
- const define = cellLocation !== 'body' ? table.getHeaderDefine(col, row) : table.getBodyColumnDefine(col, row);
34527
+ let value = table.getCellValue(col, row);
34882
34528
  let isMerge;
34883
34529
  let range;
34884
- if (cellLocation !== 'body' || define?.mergeCell || table.internalProps.customMergeCell) {
34530
+ let cellTheme;
34531
+ let customStyle;
34532
+ let customResult;
34533
+ if (table.internalProps.customMergeCell) {
34534
+ const customMerge = table.getCustomMerge(col, row);
34535
+ if (customMerge) {
34536
+ const { range: customMergeRange, text: customMergeText, style: customMergeStyle, customLayout, customRender } = customMerge;
34537
+ range = customMergeRange;
34538
+ isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;
34539
+ value = customMergeText;
34540
+ customStyle = customMergeStyle;
34541
+ if (customStyle) {
34542
+ cellTheme = getStyleTheme(customStyle, table, range.start.col, range.start.row, getProp).theme;
34543
+ cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);
34544
+ }
34545
+ if (customLayout || customRender) {
34546
+ customResult = dealWithCustom(customLayout, customRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), false, table.heightMode === 'autoHeight', [0, 0, 0, 0], table);
34547
+ }
34548
+ }
34549
+ }
34550
+ let colForDefine = col;
34551
+ let rowForDefine = row;
34552
+ if (range) {
34553
+ colForDefine = range.start.col;
34554
+ rowForDefine = range.start.row;
34555
+ }
34556
+ const define = cellLocation !== 'body'
34557
+ ? table.getHeaderDefine(colForDefine, rowForDefine)
34558
+ : table.getBodyColumnDefine(colForDefine, rowForDefine);
34559
+ if (!range && (cellLocation !== 'body' || define?.mergeCell)) {
34885
34560
  range = table.getCellRange(col, row);
34886
34561
  isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;
34887
34562
  }
34888
- let cellTheme = getStyleTheme(cellStyle, table, isMerge ? range.start.col : col, isMerge ? range.start.row : row, getProp).theme;
34563
+ if (!cellTheme) {
34564
+ cellTheme = getStyleTheme(cellStyle, table, isMerge ? range.start.col : col, isMerge ? range.start.row : row, getProp).theme;
34565
+ }
34889
34566
  cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);
34890
34567
  if (!addNew && !isMerge && canUseFastUpdate(col, row, oldCellGroup, autoWrapText, table)) {
34891
34568
  const cellWidth = table.getColWidth(col);
@@ -34960,27 +34637,11 @@
34960
34637
  const type = table.isHeader(col, row)
34961
34638
  ? table._getHeaderLayoutMap(col, row).headerType
34962
34639
  : table.getBodyColumnType(col, row);
34963
- let value = table.getCellValue(col, row);
34964
- let customStyle;
34965
- if (table.internalProps.customMergeCell) {
34966
- const customMerge = table.getCustomMerge(col, row);
34967
- if (customMerge) {
34968
- const { range: customMergeRange, text: customMergeText, style: customMergeStyle } = customMerge;
34969
- range = customMergeRange;
34970
- isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;
34971
- value = customMergeText;
34972
- customStyle = customMergeStyle;
34973
- if (customStyle) {
34974
- cellTheme = getStyleTheme(customStyle, table, range.start.col, range.start.row, getProp).theme;
34975
- cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);
34976
- }
34977
- }
34978
- }
34979
- let newCellGroup;
34980
34640
  const mayHaveIcon = cellLocation !== 'body' ? true : !!define?.icon || !!define?.tree;
34981
34641
  const padding = cellTheme._vtable.padding;
34982
34642
  const textAlign = cellTheme._vtable.textAlign;
34983
34643
  const textBaseline = cellTheme._vtable.textBaseline;
34644
+ let newCellGroup;
34984
34645
  let bgColorFunc;
34985
34646
  if (table.internalProps?.dataConfig?.mappingRules && !table.isHeader(col, row)) {
34986
34647
  table.internalProps?.dataConfig?.mappingRules?.forEach((mappingRule, i) => {
@@ -34991,14 +34652,6 @@
34991
34652
  }
34992
34653
  });
34993
34654
  }
34994
- if (cellLocation !== 'body') {
34995
- define?.headerCustomRender;
34996
- define?.headerCustomLayout;
34997
- }
34998
- else {
34999
- define?.customRender || table.customRender;
35000
- define?.customLayout;
35001
- }
35002
34655
  let cellWidth;
35003
34656
  let cellHeight;
35004
34657
  if (range) {
@@ -35011,10 +34664,10 @@
35011
34664
  }
35012
34665
  if (isPromise(value)) {
35013
34666
  oldCellGroup.removeAllChild();
35014
- dealPromiseData(value, table, updateCellContent.bind(null, type, value, define, table, col, row, bgColorFunc, cellWidth, cellHeight, oldCellGroup, padding, textAlign, textBaseline, mayHaveIcon, addNew, cellTheme));
34667
+ dealPromiseData(value, table, updateCellContent.bind(null, type, value, define, table, col, row, bgColorFunc, cellWidth, cellHeight, oldCellGroup, padding, textAlign, textBaseline, mayHaveIcon, addNew, cellTheme, range, customResult));
35015
34668
  }
35016
34669
  else {
35017
- newCellGroup = updateCellContent(type, value, define, table, col, row, bgColorFunc, cellWidth, cellHeight, oldCellGroup, padding, textAlign, textBaseline, mayHaveIcon, addNew, cellTheme);
34670
+ newCellGroup = updateCellContent(type, value, define, table, col, row, bgColorFunc, cellWidth, cellHeight, oldCellGroup, padding, textAlign, textBaseline, mayHaveIcon, addNew, cellTheme, range, customResult);
35018
34671
  }
35019
34672
  if (isMerge) {
35020
34673
  const rangeHeight = table.getRowHeight(row);
@@ -35027,14 +34680,14 @@
35027
34680
  }
35028
34681
  return newCellGroup;
35029
34682
  }
35030
- function updateCellContent(type, value, define, table, col, row, bgColorFunc, cellWidth, cellHeight, oldCellGroup, padding, textAlign, textBaseline, mayHaveIcon, addNew, cellTheme) {
34683
+ function updateCellContent(type, value, define, table, col, row, bgColorFunc, cellWidth, cellHeight, oldCellGroup, padding, textAlign, textBaseline, mayHaveIcon, addNew, cellTheme, range, customResult) {
35031
34684
  if (isPromise(value)) {
35032
34685
  value = table.getCellValue(col, row);
35033
34686
  }
35034
34687
  if (!addNew && (oldCellGroup.row !== row || oldCellGroup.col !== col)) {
35035
34688
  return null;
35036
34689
  }
35037
- const newCellGroup = createCell(type, value, define, table, col, row, table.getColWidth(col), cellWidth, cellHeight, addNew ? table.scenegraph.getColGroup(col) : oldCellGroup.parent, addNew ? 0 : table.scenegraph.getCellGroupY(row), padding, textAlign, textBaseline, mayHaveIcon, cellTheme);
34690
+ const newCellGroup = createCell(type, value, define, table, col, row, table.getColWidth(col), cellWidth, cellHeight, addNew ? table.scenegraph.getColGroup(col) : oldCellGroup.parent, addNew ? 0 : table.scenegraph.getCellGroupY(row), padding, textAlign, textBaseline, mayHaveIcon, cellTheme, range, customResult);
35038
34691
  if (!addNew && oldCellGroup.parent) {
35039
34692
  oldCellGroup.parent.insertAfter(newCellGroup, oldCellGroup);
35040
34693
  oldCellGroup.parent.removeChild(oldCellGroup);
@@ -35076,18 +34729,17 @@
35076
34729
  }
35077
34730
  for (let j = rowStart; j <= rowEnd; j++) {
35078
34731
  const row = j;
35079
- const define = cellLocation !== 'body' ? table.getHeaderDefine(col, row) : table.getBodyColumnDefine(col, row);
35080
- const mayHaveIcon = cellLocation !== 'body' ? true : !!define?.icon || !!define?.tree;
35081
34732
  let value = table.getCellValue(col, row);
35082
34733
  let cellWidth = colWidth;
35083
34734
  let cellHeight = table.getRowHeight(row);
35084
34735
  let range;
35085
34736
  let isMerge;
35086
34737
  let customStyle;
34738
+ let customResult;
35087
34739
  if (table.internalProps.customMergeCell) {
35088
34740
  const customMerge = table.getCustomMerge(col, row);
35089
34741
  if (customMerge) {
35090
- const { range: customMergeRange, text: customMergeText, style: customMergeStyle } = customMerge;
34742
+ const { range: customMergeRange, text: customMergeText, style: customMergeStyle, customLayout, customRender } = customMerge;
35091
34743
  range = customMergeRange;
35092
34744
  isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;
35093
34745
  if (isMerge) {
@@ -35097,8 +34749,21 @@
35097
34749
  }
35098
34750
  value = customMergeText;
35099
34751
  customStyle = customMergeStyle;
34752
+ if (customLayout || customRender) {
34753
+ customResult = dealWithCustom(customLayout, customRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), false, table.heightMode === 'autoHeight', [0, 0, 0, 0], table);
34754
+ }
35100
34755
  }
35101
34756
  }
34757
+ let colForDefine = col;
34758
+ let rowForDefine = row;
34759
+ if (range) {
34760
+ colForDefine = range.start.col;
34761
+ rowForDefine = range.start.row;
34762
+ }
34763
+ const define = cellLocation !== 'body'
34764
+ ? table.getHeaderDefine(colForDefine, rowForDefine)
34765
+ : table.getBodyColumnDefine(colForDefine, rowForDefine);
34766
+ const mayHaveIcon = cellLocation !== 'body' ? true : !!define?.icon || !!define?.tree;
35102
34767
  if (!range && (cellLocation !== 'body' || define?.mergeCell)) {
35103
34768
  range = table.getCellRange(col, row);
35104
34769
  isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;
@@ -35128,14 +34793,14 @@
35128
34793
  const type = (table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row)) ||
35129
34794
  'text';
35130
34795
  if (isPromise(value)) {
35131
- dealPromiseData(value, table, createCell.bind(null, type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme));
34796
+ dealPromiseData(value, table, createCell.bind(null, type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme, range, customResult));
35132
34797
  columnGroup.updateColumnRowNumber(row);
35133
34798
  const height = table.getRowHeight(row);
35134
34799
  columnGroup.updateColumnHeight(height);
35135
34800
  y += height;
35136
34801
  }
35137
34802
  else {
35138
- const cellGroup = createCell(type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme);
34803
+ const cellGroup = createCell(type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme, range, customResult);
35139
34804
  columnGroup.updateColumnRowNumber(row);
35140
34805
  if (isMerge) {
35141
34806
  const rangeHeight = table.getRowHeight(row);
@@ -35230,6 +34895,385 @@
35230
34895
  };
35231
34896
  }
35232
34897
 
34898
+ function dealWithCustom(customLayout, customRender, col, row, width, height, autoWidth, autoHeight, padding, table) {
34899
+ let renderDefault = true;
34900
+ let enableCellPadding = false;
34901
+ let expectedWidth;
34902
+ let expectedHeight;
34903
+ let customElements;
34904
+ let elementsGroup;
34905
+ if (typeof customLayout === 'function') {
34906
+ const arg = {
34907
+ col,
34908
+ row,
34909
+ dataValue: table.getCellOriginValue(col, row),
34910
+ value: table.getCellValue(col, row) || '',
34911
+ rect: {
34912
+ left: 0,
34913
+ top: 0,
34914
+ right: width,
34915
+ bottom: height,
34916
+ width,
34917
+ height
34918
+ },
34919
+ table
34920
+ };
34921
+ const customRenderObj = customLayout(arg);
34922
+ if (customRenderObj.rootContainer) {
34923
+ customRenderObj.rootContainer = decodeReactDom(customRenderObj.rootContainer);
34924
+ }
34925
+ if (customRenderObj.rootContainer instanceof Group$2) {
34926
+ elementsGroup = customRenderObj.rootContainer;
34927
+ elementsGroup.name = 'custom-container';
34928
+ }
34929
+ renderDefault = customRenderObj.renderDefault;
34930
+ enableCellPadding = customRenderObj.enableCellPadding;
34931
+ }
34932
+ else if (typeof customRender === 'function') {
34933
+ const arg = {
34934
+ col,
34935
+ row,
34936
+ dataValue: table.getCellOriginValue(col, row),
34937
+ value: table.getCellValue(col, row) || '',
34938
+ rect: {
34939
+ left: 0,
34940
+ top: 0,
34941
+ right: width,
34942
+ bottom: height,
34943
+ width,
34944
+ height
34945
+ },
34946
+ table
34947
+ };
34948
+ const customRenderObj = customRender(arg);
34949
+ if (customRenderObj) {
34950
+ customElements = customRenderObj.elements;
34951
+ renderDefault = customRenderObj.renderDefault;
34952
+ expectedWidth = customRenderObj.expectedWidth;
34953
+ expectedHeight = customRenderObj.expectedHeight;
34954
+ }
34955
+ }
34956
+ else if (customRender) {
34957
+ expectedWidth = customRender.expectedWidth;
34958
+ expectedHeight = customRender.expectedHeight;
34959
+ customElements = customRender.elements;
34960
+ renderDefault = customRender.renderDefault;
34961
+ }
34962
+ if (customElements) {
34963
+ const value = table.getCellValue(col, row);
34964
+ elementsGroup = adjustElementToGroup(customElements, autoWidth ? expectedWidth : width, autoHeight ? expectedHeight : height, value);
34965
+ }
34966
+ if (enableCellPadding) {
34967
+ elementsGroup.setAttributes({
34968
+ x: padding[3],
34969
+ y: padding[0],
34970
+ width: width - padding[1] - padding[3],
34971
+ height: height - padding[0] - padding[2]
34972
+ });
34973
+ }
34974
+ dealPercentCalc(elementsGroup, width, height);
34975
+ return {
34976
+ elementsGroup,
34977
+ renderDefault
34978
+ };
34979
+ }
34980
+ function adjustElementToGroup(elements, width, height, value) {
34981
+ const customGroup = new Group$2({
34982
+ x: 0,
34983
+ y: 0,
34984
+ width,
34985
+ height,
34986
+ fill: false,
34987
+ stroke: false,
34988
+ pickable: false
34989
+ });
34990
+ customGroup.name = 'custom-container';
34991
+ const elementsAdjusted = adjustElementsPos(elements, width, height, value);
34992
+ elementsAdjusted.forEach(element => {
34993
+ if (element.clickable) {
34994
+ element.pickable = element.clickable;
34995
+ }
34996
+ switch (element.type) {
34997
+ case 'arc':
34998
+ const arc = createArc({
34999
+ x: element.x,
35000
+ y: element.y,
35001
+ dx: (element.dx ?? 0),
35002
+ dy: (element.dy ?? 0),
35003
+ fill: element.fill,
35004
+ stroke: element.stroke,
35005
+ outerRadius: element.radius,
35006
+ startAngle: element.startAngle,
35007
+ endAngle: element.endAngle,
35008
+ pickable: !!element.pickable,
35009
+ cursor: element.cursor
35010
+ });
35011
+ customGroup.appendChild(arc);
35012
+ break;
35013
+ case 'text':
35014
+ if (element.background) {
35015
+ const expandX = element.background?.expandX ?? 0;
35016
+ const expandY = element.background?.expandY ?? 0;
35017
+ const textBackRect = createRect({
35018
+ x: element.x - expandX,
35019
+ y: element.y - expandY,
35020
+ dx: (element.dx ?? 0),
35021
+ dy: (element.dy ?? 0),
35022
+ width: element.width + expandX * 2,
35023
+ height: element.height + expandY * 2,
35024
+ cornerRadius: element.background?.cornerRadius ?? 0,
35025
+ fill: element.background?.fill ?? '#888'
35026
+ });
35027
+ customGroup.appendChild(textBackRect);
35028
+ }
35029
+ const text = new Text$1(Object.assign({
35030
+ pickable: !!element.pickable,
35031
+ fill: element.color ?? element.fill
35032
+ }, element));
35033
+ customGroup.appendChild(text);
35034
+ break;
35035
+ case 'rect':
35036
+ const rect = createRect({
35037
+ x: element.x,
35038
+ y: element.y,
35039
+ dx: (element.dx ?? 0),
35040
+ dy: (element.dy ?? 0),
35041
+ width: element.width,
35042
+ height: element.height,
35043
+ cornerRadius: element.radius,
35044
+ fill: element.fill,
35045
+ stroke: element.stroke,
35046
+ pickable: !!element.pickable,
35047
+ cursor: element.cursor
35048
+ });
35049
+ customGroup.appendChild(rect);
35050
+ break;
35051
+ case 'circle':
35052
+ const circle = createCircle({
35053
+ x: element.x,
35054
+ y: element.y,
35055
+ dx: (element.dx ?? 0),
35056
+ dy: (element.dy ?? 0),
35057
+ radius: element.radius,
35058
+ fill: element.fill,
35059
+ stroke: element.stroke,
35060
+ pickable: !!element.pickable,
35061
+ cursor: element.cursor
35062
+ });
35063
+ customGroup.appendChild(circle);
35064
+ break;
35065
+ case 'icon':
35066
+ const icon = new Icon$1({
35067
+ x: element.x,
35068
+ y: element.y,
35069
+ dx: (element.dx ?? 0),
35070
+ dy: (element.dy ?? 0),
35071
+ width: element.width,
35072
+ height: element.height,
35073
+ image: element.svg,
35074
+ backgroundWidth: element.hover ? (element.hover.width ?? element.width) : undefined,
35075
+ backgroundHeight: element.hover ? (element.hover.width ?? element.width) : undefined,
35076
+ backgroundColor: element.hover ? element.hover.bgColor ?? 'rgba(22,44,66,0.2)' : undefined,
35077
+ pickable: !!element.pickable,
35078
+ cursor: element.cursor
35079
+ });
35080
+ icon.role = 'icon-custom';
35081
+ customGroup.appendChild(icon);
35082
+ break;
35083
+ case 'image':
35084
+ const image = new Icon$1({
35085
+ x: element.x,
35086
+ y: element.y,
35087
+ dx: (element.dx ?? 0),
35088
+ dy: (element.dy ?? 0),
35089
+ width: element.width,
35090
+ height: element.height,
35091
+ image: element.src,
35092
+ backgroundWidth: element.hover ? (element.hover.width ?? element.width) : undefined,
35093
+ backgroundHeight: element.hover ? (element.hover.width ?? element.width) : undefined,
35094
+ backgroundColor: element.hover ? element.hover.bgColor ?? 'rgba(22,44,66,0.2)' : undefined,
35095
+ pickable: !!element.pickable,
35096
+ cursor: element.cursor,
35097
+ shape: element.shape
35098
+ });
35099
+ image.role = 'image-custom';
35100
+ customGroup.appendChild(image);
35101
+ break;
35102
+ case 'line':
35103
+ const line = createLine({
35104
+ points: element.points,
35105
+ stroke: element.stroke,
35106
+ pickable: !!element.pickable,
35107
+ cursor: element.cursor
35108
+ });
35109
+ customGroup.appendChild(line);
35110
+ break;
35111
+ }
35112
+ });
35113
+ return customGroup;
35114
+ }
35115
+ function adjustElementsPos(originalElements, width, height, value) {
35116
+ const result = [];
35117
+ const left = 0;
35118
+ const top = 0;
35119
+ const borderLineWidths = [0, 0, 0, 0];
35120
+ for (let i = 0; i < originalElements.length; i++) {
35121
+ const originalElement = originalElements[i];
35122
+ const element = Object.assign({}, originalElement);
35123
+ for (const name in element) {
35124
+ if (element.hasOwnProperty(name) && isFunction$1(element[name])) {
35125
+ element[name] = element[name](value);
35126
+ }
35127
+ }
35128
+ const rect = element;
35129
+ if (isValid$1(rect.x)) {
35130
+ rect.x = isString$2(rect.x)
35131
+ ? transformString(rect.x, width - borderLineWidths[1])
35132
+ : Number(rect.x);
35133
+ }
35134
+ if (isValid$1(rect.y)) {
35135
+ rect.y = isString$2(rect.y)
35136
+ ? transformString(rect.y, height - borderLineWidths[2])
35137
+ : Number(rect.y);
35138
+ }
35139
+ if ('width' in element) {
35140
+ element.width = isString$2(element.width)
35141
+ ? transformString(element.width, width - borderLineWidths[1])
35142
+ : Number(element.width);
35143
+ }
35144
+ if ('height' in element) {
35145
+ element.height = isString$2(element.height)
35146
+ ? transformString(element.height, height - borderLineWidths[2])
35147
+ : Number(element.height);
35148
+ }
35149
+ if ('radius' in element) {
35150
+ element.radius = isString$2(element.radius)
35151
+ ? transformString(element.radius, Math.min(width - borderLineWidths[1], height - borderLineWidths[2]))
35152
+ : Number(element.radius);
35153
+ }
35154
+ if ('hover' in element) {
35155
+ element.hover.x = isString$2(element.hover.x)
35156
+ ? transformString(element.hover.x, width - borderLineWidths[1])
35157
+ : Number(element.hover.x);
35158
+ element.hover.y = isString$2(element.hover.y)
35159
+ ? transformString(element.hover.y, height - borderLineWidths[2])
35160
+ : Number(element.hover.y);
35161
+ element.hover.width = isString$2(element.hover.width)
35162
+ ? transformString(element.hover.width, width - borderLineWidths[1])
35163
+ : Number(element.hover.width);
35164
+ element.hover.height = isString$2(element.hover.height)
35165
+ ? transformString(element.hover.height, height - borderLineWidths[2])
35166
+ : Number(element.hover.height);
35167
+ element.hover.x += left;
35168
+ element.hover.y += top;
35169
+ }
35170
+ rect.x = rect.x + left;
35171
+ rect.y = rect.y + top;
35172
+ result.push(element);
35173
+ }
35174
+ return result;
35175
+ }
35176
+ function transformString(str, size) {
35177
+ if (str.endsWith('px')) {
35178
+ return parseInt(str, 10);
35179
+ }
35180
+ else if (str.endsWith('%') && size) {
35181
+ return (parseInt(str, 10) / 100) * size;
35182
+ }
35183
+ return parseInt(str, 10);
35184
+ }
35185
+ function dealPercentCalc(group, parentWidth, parentHeight) {
35186
+ if (!group) {
35187
+ return;
35188
+ }
35189
+ group.forEachChildren((child) => {
35190
+ if (!child) {
35191
+ return;
35192
+ }
35193
+ if (isObject$4(child.attribute.width) && child.attribute.width.percent) {
35194
+ child.setAttribute('width', (child.attribute.width.percent / 100) * parentWidth +
35195
+ (child.attribute.width.delta ?? 0));
35196
+ }
35197
+ if (isObject$4(child.attribute.height) && child.attribute.height.percent) {
35198
+ child.setAttribute('height', (child.attribute.height.percent / 100) * parentHeight +
35199
+ (child.attribute.height.delta ?? 0));
35200
+ }
35201
+ if (child.type === 'group') {
35202
+ dealPercentCalc(child, child.attribute.width, child.attribute.height);
35203
+ }
35204
+ });
35205
+ }
35206
+ function decodeReactDom(dom) {
35207
+ if (!dom || !dom.$$typeof) {
35208
+ return dom;
35209
+ }
35210
+ const type = dom.type;
35211
+ const { attribute, children, stateProxy } = dom.props;
35212
+ const g = type({ attribute });
35213
+ parseToGraphic(g, dom.props);
35214
+ if (stateProxy) {
35215
+ g.stateProxy = stateProxy;
35216
+ }
35217
+ g.id = attribute.id;
35218
+ g.name = attribute.name;
35219
+ if (isArray$1(children)) {
35220
+ children.forEach((item) => {
35221
+ const c = decodeReactDom(item);
35222
+ g.add(c);
35223
+ });
35224
+ }
35225
+ else if (children) {
35226
+ g.add(decodeReactDom(children));
35227
+ }
35228
+ return g;
35229
+ }
35230
+ function parseToGraphic(g, props) {
35231
+ let isGraphic = false;
35232
+ switch (g.type) {
35233
+ case 'richtext':
35234
+ break;
35235
+ case 'rich/image':
35236
+ break;
35237
+ default:
35238
+ isGraphic = true;
35239
+ }
35240
+ if (isGraphic) {
35241
+ Object.keys(props).forEach(k => {
35242
+ const en = REACT_TO_CANOPUS_EVENTS[k];
35243
+ if (en) {
35244
+ g.on(en, props[k]);
35245
+ }
35246
+ });
35247
+ }
35248
+ }
35249
+ function getCustomCellMergeCustom(col, row, cellGroup, table) {
35250
+ if (table.internalProps.customMergeCell) {
35251
+ const customMerge = table.getCustomMerge(col, row);
35252
+ if (customMerge) {
35253
+ const { range: customMergeRange, text: customMergeText, style: customMergeStyle, customLayout: customMergeLayout, customRender: customMergeRender } = customMerge;
35254
+ if (customMergeLayout || customMergeRender) {
35255
+ const customResult = dealWithCustom(customMergeLayout, customMergeRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), false, table.heightMode === 'autoHeight', [0, 0, 0, 0], table);
35256
+ const customElementsGroup = customResult.elementsGroup;
35257
+ if (cellGroup.childrenCount > 0 && customElementsGroup) {
35258
+ cellGroup.insertBefore(customElementsGroup, cellGroup.firstChild);
35259
+ }
35260
+ else if (customElementsGroup) {
35261
+ cellGroup.appendChild(customElementsGroup);
35262
+ }
35263
+ const rangeHeight = table.getRowHeight(row);
35264
+ const rangeWidth = table.getColWidth(col);
35265
+ const { width: contentWidth } = cellGroup.attribute;
35266
+ const { height: contentHeight } = cellGroup.attribute;
35267
+ cellGroup.contentWidth = contentWidth;
35268
+ cellGroup.contentHeight = contentHeight;
35269
+ resizeCellGroup(cellGroup, rangeWidth, rangeHeight, customMergeRange, table);
35270
+ return customResult;
35271
+ }
35272
+ }
35273
+ }
35274
+ return undefined;
35275
+ }
35276
+
35233
35277
  function isMergeCellGroup(cellGroup) {
35234
35278
  if (cellGroup.role === 'cell' &&
35235
35279
  isNumber$3(cellGroup.mergeStartCol) &&
@@ -36789,31 +36833,33 @@
36789
36833
  let customElementsGroup;
36790
36834
  customContainer.removeAllChild();
36791
36835
  cell.removeChild(customContainer);
36792
- let customRender;
36793
- let customLayout;
36794
- const cellLocation = scene.table.getCellLocation(col, row);
36795
- if (cellLocation !== 'body') {
36796
- const define = scene.table.getHeaderDefine(col, row);
36797
- customRender = define?.headerCustomRender;
36798
- customLayout = define?.headerCustomLayout;
36799
- }
36800
- else {
36801
- const define = scene.table.getBodyColumnDefine(col, row);
36802
- customRender = define?.customRender || scene.table.customRender;
36803
- customLayout = define?.customLayout;
36804
- }
36805
- if (customLayout || customRender) {
36806
- const style = scene.table._getCellStyle(col, row);
36807
- const padding = getQuadProps(getProp('padding', style, col, row, scene.table));
36808
- const customResult = dealWithCustom(customLayout, customRender, col, row, cell.attribute.width, cell.attribute.height, false, scene.table.heightMode === 'autoHeight', padding, scene.table);
36809
- customElementsGroup = customResult.elementsGroup;
36810
- renderDefault = customResult.renderDefault;
36811
- }
36812
- if (cell.childrenCount > 0) {
36813
- cell.insertBefore(customElementsGroup, cell.firstChild);
36814
- }
36815
- else {
36816
- cell.appendChild(customElementsGroup);
36836
+ if (!getCustomCellMergeCustom(col, row, cell, scene.table)) {
36837
+ let customRender;
36838
+ let customLayout;
36839
+ const cellLocation = scene.table.getCellLocation(col, row);
36840
+ if (cellLocation !== 'body') {
36841
+ const define = scene.table.getHeaderDefine(col, row);
36842
+ customRender = define?.headerCustomRender;
36843
+ customLayout = define?.headerCustomLayout;
36844
+ }
36845
+ else {
36846
+ const define = scene.table.getBodyColumnDefine(col, row);
36847
+ customRender = define?.customRender || scene.table.customRender;
36848
+ customLayout = define?.customLayout;
36849
+ }
36850
+ if (customLayout || customRender) {
36851
+ const style = scene.table._getCellStyle(col, row);
36852
+ const padding = getQuadProps(getProp('padding', style, col, row, scene.table));
36853
+ const customResult = dealWithCustom(customLayout, customRender, col, row, cell.attribute.width, cell.attribute.height, false, scene.table.heightMode === 'autoHeight', padding, scene.table);
36854
+ customElementsGroup = customResult.elementsGroup;
36855
+ renderDefault = customResult.renderDefault;
36856
+ }
36857
+ if (cell.childrenCount > 0 && customElementsGroup) {
36858
+ cell.insertBefore(customElementsGroup, cell.firstChild);
36859
+ }
36860
+ else if (customElementsGroup) {
36861
+ cell.appendChild(customElementsGroup);
36862
+ }
36817
36863
  }
36818
36864
  }
36819
36865
  if (renderDefault) {
@@ -37062,32 +37108,34 @@
37062
37108
  let customElementsGroup;
37063
37109
  customContainer.removeAllChild();
37064
37110
  cell.removeChild(customContainer);
37065
- let customRender;
37066
- let customLayout;
37067
- const cellType = scene.table.getCellLocation(col, row);
37068
- if (cellType !== 'body') {
37069
- const define = scene.table.getHeaderDefine(col, row);
37070
- customRender = define?.headerCustomRender;
37071
- customLayout = define?.headerCustomLayout;
37072
- }
37073
- else {
37074
- const define = scene.table.getBodyColumnDefine(col, row);
37075
- customRender = define?.customRender || scene.table.customRender;
37076
- customLayout = define?.customLayout;
37077
- }
37078
- if (customLayout || customRender) {
37079
- const style = scene.table._getCellStyle(col, row);
37080
- const padding = getQuadProps(getProp('padding', style, col, row, scene.table));
37081
- const customResult = dealWithCustom(customLayout, customRender, col, row, cellGroup.attribute.width, cellGroup.attribute.height, false, scene.table.heightMode === 'autoHeight', padding, scene.table);
37082
- customElementsGroup = customResult.elementsGroup;
37083
- renderDefault = customResult.renderDefault;
37084
- isHeightChange = true;
37085
- }
37086
- if (cell.childrenCount > 0) {
37087
- cell.insertBefore(customElementsGroup, cell.firstChild);
37088
- }
37089
- else {
37090
- cell.appendChild(customElementsGroup);
37111
+ if (!getCustomCellMergeCustom(col, row, cell, scene.table)) {
37112
+ let customRender;
37113
+ let customLayout;
37114
+ const cellType = scene.table.getCellLocation(col, row);
37115
+ if (cellType !== 'body') {
37116
+ const define = scene.table.getHeaderDefine(col, row);
37117
+ customRender = define?.headerCustomRender;
37118
+ customLayout = define?.headerCustomLayout;
37119
+ }
37120
+ else {
37121
+ const define = scene.table.getBodyColumnDefine(col, row);
37122
+ customRender = define?.customRender || scene.table.customRender;
37123
+ customLayout = define?.customLayout;
37124
+ }
37125
+ if (customLayout || customRender) {
37126
+ const style = scene.table._getCellStyle(col, row);
37127
+ const padding = getQuadProps(getProp('padding', style, col, row, scene.table));
37128
+ const customResult = dealWithCustom(customLayout, customRender, col, row, cellGroup.attribute.width, cellGroup.attribute.height, false, scene.table.heightMode === 'autoHeight', padding, scene.table);
37129
+ customElementsGroup = customResult.elementsGroup;
37130
+ renderDefault = customResult.renderDefault;
37131
+ isHeightChange = true;
37132
+ }
37133
+ if (cell.childrenCount > 0 && customElementsGroup) {
37134
+ cell.insertBefore(customElementsGroup, cell.firstChild);
37135
+ }
37136
+ else if (customElementsGroup) {
37137
+ cell.appendChild(customElementsGroup);
37138
+ }
37091
37139
  }
37092
37140
  }
37093
37141
  if (renderDefault) {
@@ -37440,7 +37488,7 @@
37440
37488
  }
37441
37489
  };
37442
37490
 
37443
- const regedIcons = get$2();
37491
+ const regedIcons = get$1();
37444
37492
  class DrillIcon {
37445
37493
  icon;
37446
37494
  constructor() {
@@ -42293,7 +42341,7 @@
42293
42341
  fontFamily: DefaultTextStyle.fontFamily,
42294
42342
  fontSize: DefaultTextStyle.fontSize
42295
42343
  },
42296
- getTextBounds: useNaiveCanvas ? undefined : getTextBounds,
42344
+ getTextBounds: useNaiveCanvas ? undefined : getTextBounds$1,
42297
42345
  specialCharSet: `{}()//&-/: .,@%'"~…${TextMeasure.ALPHABET_CHAR_SET}${TextMeasure.ALPHABET_CHAR_SET.toUpperCase()}0123456789`,
42298
42346
  ...(option ?? {})
42299
42347
  }, textSpec);
@@ -43032,7 +43080,6 @@
43032
43080
  }
43033
43081
  }
43034
43082
 
43035
- registerForVrender();
43036
43083
  loadPoptip();
43037
43084
  container.load(splitModule);
43038
43085
  container.load(textMeasureModule);
@@ -47679,7 +47726,7 @@
47679
47726
  _table;
47680
47727
  constructor(_table) {
47681
47728
  this._table = _table;
47682
- const regedIcons = get$2();
47729
+ const regedIcons = get$1();
47683
47730
  this.expandIcon = regedIcons[InternalIconName.expandIconName];
47684
47731
  this.collapseIcon = regedIcons[InternalIconName.collapseIconName];
47685
47732
  }
@@ -47701,7 +47748,7 @@
47701
47748
  else {
47702
47749
  iconResults = iconDefine;
47703
47750
  }
47704
- const regedIcons = get$2();
47751
+ const regedIcons = get$1();
47705
47752
  const addIcon = (columnIcon) => {
47706
47753
  let icon;
47707
47754
  if (typeof columnIcon === 'string') {
@@ -48446,7 +48493,7 @@
48446
48493
  _table;
48447
48494
  constructor(_table) {
48448
48495
  this._table = _table;
48449
- const regedIcons = get$2();
48496
+ const regedIcons = get$1();
48450
48497
  this.freezeIcon = regedIcons[InternalIconName.freezeIconName];
48451
48498
  this.frozenIcon = regedIcons[InternalIconName.frozenIconName];
48452
48499
  this.frozenCurrentIcon = regedIcons[InternalIconName.frozenCurrentIconName];
@@ -48531,7 +48578,7 @@
48531
48578
  else {
48532
48579
  headerIconStrs = headerIcon;
48533
48580
  }
48534
- const regedIcons = get$2();
48581
+ const regedIcons = get$1();
48535
48582
  const addIcon = (headerIcon) => {
48536
48583
  let icon;
48537
48584
  if (typeof headerIcon === 'string') {
@@ -50325,7 +50372,7 @@
50325
50372
  return TABLE_EVENT_TYPE;
50326
50373
  }
50327
50374
  options;
50328
- version = "0.17.10-alpha.6";
50375
+ version = "0.17.10-alpha.7";
50329
50376
  pagination;
50330
50377
  id = `VTable${Date.now()}`;
50331
50378
  headerStyleCache;
@@ -51847,7 +51894,7 @@
51847
51894
  getCustomMerge(col, row) {
51848
51895
  if (this.internalProps.customMergeCell) {
51849
51896
  const customMerge = this.internalProps.customMergeCell(col, row, this);
51850
- if (customMerge && customMerge.range && customMerge.text) {
51897
+ if (customMerge && customMerge.range && (customMerge.text || customMerge.customLayout || this.customRender)) {
51851
51898
  if (customMerge.style) {
51852
51899
  const styleClass = this.internalProps.bodyHelper.getStyleClass('text');
51853
51900
  const style = customMerge.style;
@@ -60874,7 +60921,7 @@
60874
60921
  constructor(options) {
60875
60922
  let cache;
60876
60923
  if (isString$2(options.iconName)) {
60877
- const regedIcons = get$2();
60924
+ const regedIcons = get$1();
60878
60925
  cache = regedIcons[options.iconName];
60879
60926
  if (cache) {
60880
60927
  options.width = options.width ?? cache.width;
@@ -61298,10 +61345,9 @@
61298
61345
  return new Tag$1(params ? params.attribute : {});
61299
61346
  }
61300
61347
 
61301
- registerForVrender();
61302
- const version = "0.17.10-alpha.6";
61348
+ const version = "0.17.10-alpha.7";
61303
61349
  function getIcons() {
61304
- return get$2();
61350
+ return get$1();
61305
61351
  }
61306
61352
  function clearGlobal() {
61307
61353
  clearAll();