@visactor/vtable 0.9.1-alpha.4 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/cjs/ListTable.js +15 -4
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotTable.d.ts +2 -1
  4. package/cjs/PivotTable.js +15 -3
  5. package/cjs/PivotTable.js.map +1 -1
  6. package/cjs/body-helper/body-helper.d.ts +1 -0
  7. package/cjs/body-helper/body-helper.js +6 -3
  8. package/cjs/body-helper/body-helper.js.map +1 -1
  9. package/cjs/body-helper/style/ProgressBarStyle.js +14 -8
  10. package/cjs/body-helper/style/ProgressBarStyle.js.map +1 -1
  11. package/cjs/body-helper/style/Style.d.ts +3 -0
  12. package/cjs/body-helper/style/Style.js +21 -14
  13. package/cjs/body-helper/style/Style.js.map +1 -1
  14. package/cjs/core/BaseTable.d.ts +4 -1
  15. package/cjs/core/BaseTable.js +31 -20
  16. package/cjs/core/BaseTable.js.map +1 -1
  17. package/cjs/core/tableHelper.js +11 -6
  18. package/cjs/core/tableHelper.js.map +1 -1
  19. package/cjs/data/DataSource.d.ts +4 -1
  20. package/cjs/data/DataSource.js +3 -3
  21. package/cjs/data/DataSource.js.map +1 -1
  22. package/cjs/event/event.d.ts +14 -19
  23. package/cjs/event/event.js +12 -329
  24. package/cjs/event/event.js.map +1 -1
  25. package/cjs/event/listener/container-dom.d.ts +2 -0
  26. package/cjs/event/listener/container-dom.js +42 -0
  27. package/cjs/event/listener/container-dom.js.map +1 -0
  28. package/cjs/event/listener/scroll-bar.d.ts +2 -0
  29. package/cjs/event/listener/scroll-bar.js +44 -0
  30. package/cjs/event/listener/scroll-bar.js.map +1 -0
  31. package/cjs/event/listener/table-group.d.ts +2 -0
  32. package/cjs/event/listener/table-group.js +262 -0
  33. package/cjs/event/listener/table-group.js.map +1 -0
  34. package/cjs/event/listener/touch.d.ts +2 -0
  35. package/cjs/event/listener/touch.js +76 -0
  36. package/cjs/event/listener/touch.js.map +1 -0
  37. package/cjs/event/scroll.d.ts +2 -0
  38. package/cjs/event/scroll.js +32 -4
  39. package/cjs/event/scroll.js.map +1 -1
  40. package/cjs/event/util.d.ts +16 -0
  41. package/cjs/event/util.js +30 -0
  42. package/cjs/event/util.js.map +1 -0
  43. package/cjs/header-helper/header-helper.d.ts +5 -6
  44. package/cjs/header-helper/header-helper.js +19 -22
  45. package/cjs/header-helper/header-helper.js.map +1 -1
  46. package/cjs/icons.js +11 -11
  47. package/cjs/icons.js.map +1 -1
  48. package/cjs/index.d.ts +1 -1
  49. package/cjs/index.js +1 -1
  50. package/cjs/index.js.map +1 -1
  51. package/cjs/layout/index.js +1 -2
  52. package/cjs/layout/pivot-header-layout.d.ts +4 -1
  53. package/cjs/layout/pivot-header-layout.js +15 -14
  54. package/cjs/layout/pivot-header-layout.js.map +1 -1
  55. package/cjs/layout/simple-header-layout.d.ts +13 -1
  56. package/cjs/layout/simple-header-layout.js +12 -1
  57. package/cjs/layout/simple-header-layout.js.map +1 -1
  58. package/cjs/render/layout/container.js +1 -1
  59. package/cjs/render/layout/container.js.map +1 -1
  60. package/cjs/render/layout/element.d.ts +1 -1
  61. package/cjs/render/layout/element.js.map +1 -1
  62. package/cjs/render/layout/rect.d.ts +2 -2
  63. package/cjs/render/layout/rect.js +2 -2
  64. package/cjs/render/layout/rect.js.map +1 -1
  65. package/cjs/scenegraph/component/custom.js +18 -7
  66. package/cjs/scenegraph/component/custom.js.map +1 -1
  67. package/cjs/scenegraph/component/menu.js +2 -2
  68. package/cjs/scenegraph/component/menu.js.map +1 -1
  69. package/cjs/scenegraph/component/table-component.d.ts +3 -3
  70. package/cjs/scenegraph/component/table-component.js +36 -26
  71. package/cjs/scenegraph/component/table-component.js.map +1 -1
  72. package/cjs/scenegraph/graphic/chart.d.ts +1 -0
  73. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  74. package/cjs/scenegraph/graphic/contributions/chart-render.js +7 -2
  75. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  76. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  77. package/cjs/scenegraph/graphic/group.d.ts +4 -0
  78. package/cjs/scenegraph/graphic/group.js +6 -0
  79. package/cjs/scenegraph/graphic/group.js.map +1 -1
  80. package/cjs/scenegraph/graphic/text.js +7 -7
  81. package/cjs/scenegraph/graphic/text.js.map +1 -1
  82. package/cjs/scenegraph/group-creater/cell-helper.d.ts +3 -4
  83. package/cjs/scenegraph/group-creater/cell-helper.js +25 -18
  84. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  85. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +6 -4
  86. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  87. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +11 -1
  88. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  89. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +12 -9
  90. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  91. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  92. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +7 -4
  93. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  94. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  95. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  96. package/cjs/scenegraph/group-creater/column-helper.d.ts +3 -3
  97. package/cjs/scenegraph/group-creater/column-helper.js +22 -11
  98. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  99. package/cjs/scenegraph/group-creater/column.d.ts +0 -6
  100. package/cjs/scenegraph/group-creater/column.js +3 -12
  101. package/cjs/scenegraph/group-creater/column.js.map +1 -1
  102. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +0 -2
  103. package/cjs/scenegraph/group-creater/progress/proxy.js +23 -19
  104. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  105. package/cjs/scenegraph/layout/auto-height.js +1 -1
  106. package/cjs/scenegraph/layout/auto-height.js.map +1 -1
  107. package/cjs/scenegraph/layout/auto-width.js +1 -1
  108. package/cjs/scenegraph/layout/auto-width.js.map +1 -1
  109. package/cjs/scenegraph/layout/compute-col-width.d.ts +1 -1
  110. package/cjs/scenegraph/layout/compute-col-width.js +28 -8
  111. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  112. package/cjs/scenegraph/layout/frozen.d.ts +3 -0
  113. package/cjs/scenegraph/layout/frozen.js +66 -0
  114. package/cjs/scenegraph/layout/frozen.js.map +1 -0
  115. package/cjs/scenegraph/layout/move-cell.js +5 -1
  116. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  117. package/cjs/scenegraph/layout/update-cell.js +3 -3
  118. package/cjs/scenegraph/layout/update-cell.js.map +1 -1
  119. package/cjs/scenegraph/layout/update-height.js +4 -4
  120. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  121. package/cjs/scenegraph/layout/update-row.d.ts +3 -0
  122. package/cjs/scenegraph/layout/update-row.js +81 -0
  123. package/cjs/scenegraph/layout/update-row.js.map +1 -0
  124. package/cjs/scenegraph/layout/update-width.js +5 -5
  125. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  126. package/cjs/scenegraph/refresh-node/update-chart.d.ts +2 -0
  127. package/cjs/scenegraph/refresh-node/update-chart.js +26 -0
  128. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -0
  129. package/cjs/scenegraph/scenegraph.d.ts +15 -3
  130. package/cjs/scenegraph/scenegraph.js +86 -95
  131. package/cjs/scenegraph/scenegraph.js.map +1 -1
  132. package/cjs/scenegraph/select/create-select-border.js +1 -0
  133. package/cjs/scenegraph/select/create-select-border.js.map +1 -1
  134. package/cjs/scenegraph/stick-text/index.js +52 -40
  135. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  136. package/cjs/scenegraph/style/frame-border.d.ts +1 -1
  137. package/cjs/scenegraph/style/frame-border.js +7 -7
  138. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  139. package/cjs/scenegraph/utils/deal-promise-data.d.ts +2 -0
  140. package/cjs/scenegraph/utils/deal-promise-data.js +14 -0
  141. package/cjs/scenegraph/utils/deal-promise-data.js.map +1 -0
  142. package/cjs/scenegraph/utils/empty-group.d.ts +2 -0
  143. package/cjs/scenegraph/utils/empty-group.js +10 -0
  144. package/cjs/scenegraph/utils/empty-group.js.map +1 -0
  145. package/cjs/scenegraph/utils/get-hierarchy-offset.d.ts +2 -0
  146. package/cjs/scenegraph/utils/get-hierarchy-offset.js +27 -0
  147. package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -0
  148. package/cjs/scenegraph/utils/padding.d.ts +1 -1
  149. package/cjs/scenegraph/utils/padding.js +3 -3
  150. package/cjs/scenegraph/utils/padding.js.map +1 -1
  151. package/cjs/scenegraph/utils/text-icon-layout.d.ts +3 -2
  152. package/cjs/scenegraph/utils/text-icon-layout.js +24 -19
  153. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  154. package/cjs/scenegraph/utils/text-pos.js +1 -1
  155. package/cjs/scenegraph/utils/text-pos.js.map +1 -1
  156. package/cjs/state/cell-move/adjust-header.js +9 -2
  157. package/cjs/state/cell-move/adjust-header.js.map +1 -1
  158. package/cjs/state/cell-move/index.js +9 -3
  159. package/cjs/state/cell-move/index.js.map +1 -1
  160. package/cjs/state/frozen/index.d.ts +2 -0
  161. package/cjs/state/{pin → frozen}/index.js +2 -2
  162. package/cjs/state/frozen/index.js.map +1 -0
  163. package/cjs/state/state.d.ts +1 -1
  164. package/cjs/state/state.js +16 -12
  165. package/cjs/state/state.js.map +1 -1
  166. package/cjs/themes/ARCO.js +1 -1
  167. package/cjs/themes/ARCO.js.map +1 -1
  168. package/cjs/themes/BRIGHT.js +1 -1
  169. package/cjs/themes/BRIGHT.js.map +1 -1
  170. package/cjs/themes/DARK.js +1 -1
  171. package/cjs/themes/DARK.js.map +1 -1
  172. package/cjs/themes/DEFAULT.js +1 -1
  173. package/cjs/themes/DEFAULT.js.map +1 -1
  174. package/cjs/themes/theme.d.ts +1 -1
  175. package/cjs/themes/theme.js +6 -6
  176. package/cjs/themes/theme.js.map +1 -1
  177. package/cjs/tools/LimitPromiseQueue.js +1 -2
  178. package/cjs/tools/NumberMap.js +1 -1
  179. package/cjs/tools/Rect.js +1 -1
  180. package/cjs/tools/calc.js +1 -1
  181. package/cjs/tools/debounce.js +1 -1
  182. package/cjs/tools/diff-cell.d.ts +10 -0
  183. package/cjs/tools/diff-cell.js +49 -0
  184. package/cjs/tools/diff-cell.js.map +1 -0
  185. package/cjs/tools/dom.js +1 -1
  186. package/cjs/tools/env.js +1 -1
  187. package/cjs/tools/helper.d.ts +11 -0
  188. package/cjs/tools/helper.js +7 -2
  189. package/cjs/tools/helper.js.map +1 -1
  190. package/cjs/tooltip/BaseTooltip.js +1 -1
  191. package/cjs/tooltip/Tooltip.js +2 -1
  192. package/cjs/tooltip/TooltipHandler.js +1 -1
  193. package/cjs/ts-types/base-table.d.ts +8 -2
  194. package/cjs/ts-types/base-table.js +1 -1
  195. package/cjs/ts-types/base-table.js.map +1 -1
  196. package/cjs/ts-types/common.js +1 -1
  197. package/cjs/ts-types/customElement.d.ts +11 -2
  198. package/cjs/ts-types/customElement.js +1 -1
  199. package/cjs/ts-types/customElement.js.map +1 -1
  200. package/cjs/ts-types/customLayout.js +1 -1
  201. package/cjs/ts-types/events.js +1 -1
  202. package/cjs/ts-types/icon.d.ts +4 -5
  203. package/cjs/ts-types/icon.js +6 -6
  204. package/cjs/ts-types/icon.js.map +1 -1
  205. package/cjs/ts-types/list-table/define/basic-define.d.ts +4 -1
  206. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  207. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  208. package/cjs/ts-types/theme.d.ts +1 -1
  209. package/cjs/ts-types/theme.js.map +1 -1
  210. package/dist/vtable.es5.js +53155 -0
  211. package/dist/vtable.es5.min.js +3 -0
  212. package/dist/vtable.js +17155 -21633
  213. package/dist/vtable.min.js +15 -3
  214. package/es/ListTable.js +16 -3
  215. package/es/ListTable.js.map +1 -1
  216. package/es/PivotTable.d.ts +2 -1
  217. package/es/PivotTable.js +16 -2
  218. package/es/PivotTable.js.map +1 -1
  219. package/es/body-helper/body-helper.d.ts +1 -0
  220. package/es/body-helper/body-helper.js +6 -3
  221. package/es/body-helper/body-helper.js.map +1 -1
  222. package/es/body-helper/style/ProgressBarStyle.js +14 -8
  223. package/es/body-helper/style/ProgressBarStyle.js.map +1 -1
  224. package/es/body-helper/style/Style.d.ts +3 -0
  225. package/es/body-helper/style/Style.js +21 -14
  226. package/es/body-helper/style/Style.js.map +1 -1
  227. package/es/core/BaseTable.d.ts +4 -1
  228. package/es/core/BaseTable.js +31 -21
  229. package/es/core/BaseTable.js.map +1 -1
  230. package/es/core/tableHelper.js +11 -7
  231. package/es/core/tableHelper.js.map +1 -1
  232. package/es/data/DataSource.d.ts +4 -1
  233. package/es/data/DataSource.js +4 -2
  234. package/es/data/DataSource.js.map +1 -1
  235. package/es/event/event.d.ts +14 -19
  236. package/es/event/event.js +16 -333
  237. package/es/event/event.js.map +1 -1
  238. package/es/event/listener/container-dom.d.ts +2 -0
  239. package/es/event/listener/container-dom.js +40 -0
  240. package/es/event/listener/container-dom.js.map +1 -0
  241. package/es/event/listener/scroll-bar.d.ts +2 -0
  242. package/es/event/listener/scroll-bar.js +37 -0
  243. package/es/event/listener/scroll-bar.js.map +1 -0
  244. package/es/event/listener/table-group.d.ts +2 -0
  245. package/es/event/listener/table-group.js +265 -0
  246. package/es/event/listener/table-group.js.map +1 -0
  247. package/es/event/listener/touch.d.ts +2 -0
  248. package/es/event/listener/touch.js +67 -0
  249. package/es/event/listener/touch.js.map +1 -0
  250. package/es/event/scroll.d.ts +2 -0
  251. package/es/event/scroll.js +29 -3
  252. package/es/event/scroll.js.map +1 -1
  253. package/es/event/util.d.ts +16 -0
  254. package/es/event/util.js +24 -0
  255. package/es/event/util.js.map +1 -0
  256. package/es/header-helper/header-helper.d.ts +5 -6
  257. package/es/header-helper/header-helper.js +22 -24
  258. package/es/header-helper/header-helper.js.map +1 -1
  259. package/es/icons.js +11 -11
  260. package/es/icons.js.map +1 -1
  261. package/es/index.d.ts +1 -1
  262. package/es/index.js +1 -1
  263. package/es/index.js.map +1 -1
  264. package/es/layout/index.js +1 -2
  265. package/es/layout/pivot-header-layout.d.ts +4 -1
  266. package/es/layout/pivot-header-layout.js +17 -13
  267. package/es/layout/pivot-header-layout.js.map +1 -1
  268. package/es/layout/simple-header-layout.d.ts +13 -1
  269. package/es/layout/simple-header-layout.js +12 -1
  270. package/es/layout/simple-header-layout.js.map +1 -1
  271. package/es/render/layout/container.js +1 -1
  272. package/es/render/layout/container.js.map +1 -1
  273. package/es/render/layout/element.d.ts +1 -1
  274. package/es/render/layout/element.js.map +1 -1
  275. package/es/render/layout/rect.d.ts +2 -2
  276. package/es/render/layout/rect.js +2 -2
  277. package/es/render/layout/rect.js.map +1 -1
  278. package/es/scenegraph/component/custom.js +20 -9
  279. package/es/scenegraph/component/custom.js.map +1 -1
  280. package/es/scenegraph/component/menu.js +2 -2
  281. package/es/scenegraph/component/menu.js.map +1 -1
  282. package/es/scenegraph/component/table-component.d.ts +3 -3
  283. package/es/scenegraph/component/table-component.js +36 -26
  284. package/es/scenegraph/component/table-component.js.map +1 -1
  285. package/es/scenegraph/graphic/chart.d.ts +1 -0
  286. package/es/scenegraph/graphic/chart.js.map +1 -1
  287. package/es/scenegraph/graphic/contributions/chart-render.js +7 -2
  288. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  289. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  290. package/es/scenegraph/graphic/group.d.ts +4 -0
  291. package/es/scenegraph/graphic/group.js +6 -0
  292. package/es/scenegraph/graphic/group.js.map +1 -1
  293. package/es/scenegraph/graphic/text.js +7 -7
  294. package/es/scenegraph/graphic/text.js.map +1 -1
  295. package/es/scenegraph/group-creater/cell-helper.d.ts +3 -4
  296. package/es/scenegraph/group-creater/cell-helper.js +28 -17
  297. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  298. package/es/scenegraph/group-creater/cell-type/chart-cell.js +6 -4
  299. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  300. package/es/scenegraph/group-creater/cell-type/image-cell.js +12 -2
  301. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  302. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +13 -10
  303. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  304. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  305. package/es/scenegraph/group-creater/cell-type/text-cell.js +7 -4
  306. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  307. package/es/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  308. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  309. package/es/scenegraph/group-creater/column-helper.d.ts +3 -3
  310. package/es/scenegraph/group-creater/column-helper.js +25 -10
  311. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  312. package/es/scenegraph/group-creater/column.d.ts +0 -6
  313. package/es/scenegraph/group-creater/column.js +3 -12
  314. package/es/scenegraph/group-creater/column.js.map +1 -1
  315. package/es/scenegraph/group-creater/progress/proxy.d.ts +0 -2
  316. package/es/scenegraph/group-creater/progress/proxy.js +22 -21
  317. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  318. package/es/scenegraph/layout/auto-height.js +1 -1
  319. package/es/scenegraph/layout/auto-height.js.map +1 -1
  320. package/es/scenegraph/layout/auto-width.js +2 -2
  321. package/es/scenegraph/layout/auto-width.js.map +1 -1
  322. package/es/scenegraph/layout/compute-col-width.d.ts +1 -1
  323. package/es/scenegraph/layout/compute-col-width.js +30 -10
  324. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  325. package/es/scenegraph/layout/frozen.d.ts +3 -0
  326. package/es/scenegraph/layout/frozen.js +58 -0
  327. package/es/scenegraph/layout/frozen.js.map +1 -0
  328. package/es/scenegraph/layout/move-cell.js +5 -1
  329. package/es/scenegraph/layout/move-cell.js.map +1 -1
  330. package/es/scenegraph/layout/update-cell.js +4 -4
  331. package/es/scenegraph/layout/update-cell.js.map +1 -1
  332. package/es/scenegraph/layout/update-height.js +5 -5
  333. package/es/scenegraph/layout/update-height.js.map +1 -1
  334. package/es/scenegraph/layout/update-row.d.ts +3 -0
  335. package/es/scenegraph/layout/update-row.js +73 -0
  336. package/es/scenegraph/layout/update-row.js.map +1 -0
  337. package/es/scenegraph/layout/update-width.js +6 -6
  338. package/es/scenegraph/layout/update-width.js.map +1 -1
  339. package/es/scenegraph/refresh-node/update-chart.d.ts +2 -0
  340. package/es/scenegraph/refresh-node/update-chart.js +20 -0
  341. package/es/scenegraph/refresh-node/update-chart.js.map +1 -0
  342. package/es/scenegraph/scenegraph.d.ts +15 -3
  343. package/es/scenegraph/scenegraph.js +92 -94
  344. package/es/scenegraph/scenegraph.js.map +1 -1
  345. package/es/scenegraph/select/create-select-border.js +1 -0
  346. package/es/scenegraph/select/create-select-border.js.map +1 -1
  347. package/es/scenegraph/stick-text/index.js +52 -40
  348. package/es/scenegraph/stick-text/index.js.map +1 -1
  349. package/es/scenegraph/style/frame-border.d.ts +1 -1
  350. package/es/scenegraph/style/frame-border.js +9 -9
  351. package/es/scenegraph/style/frame-border.js.map +1 -1
  352. package/es/scenegraph/utils/deal-promise-data.d.ts +2 -0
  353. package/es/scenegraph/utils/deal-promise-data.js +8 -0
  354. package/es/scenegraph/utils/deal-promise-data.js.map +1 -0
  355. package/es/scenegraph/utils/empty-group.d.ts +2 -0
  356. package/es/scenegraph/utils/empty-group.js +6 -0
  357. package/es/scenegraph/utils/empty-group.js.map +1 -0
  358. package/es/scenegraph/utils/get-hierarchy-offset.d.ts +2 -0
  359. package/es/scenegraph/utils/get-hierarchy-offset.js +19 -0
  360. package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -0
  361. package/es/scenegraph/utils/padding.d.ts +1 -1
  362. package/es/scenegraph/utils/padding.js +1 -1
  363. package/es/scenegraph/utils/padding.js.map +1 -1
  364. package/es/scenegraph/utils/text-icon-layout.d.ts +3 -2
  365. package/es/scenegraph/utils/text-icon-layout.js +27 -19
  366. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  367. package/es/scenegraph/utils/text-pos.js +2 -2
  368. package/es/scenegraph/utils/text-pos.js.map +1 -1
  369. package/es/state/cell-move/adjust-header.js +9 -2
  370. package/es/state/cell-move/adjust-header.js.map +1 -1
  371. package/es/state/cell-move/index.js +9 -3
  372. package/es/state/cell-move/index.js.map +1 -1
  373. package/es/state/frozen/index.d.ts +2 -0
  374. package/es/state/{pin → frozen}/index.js +1 -1
  375. package/es/state/frozen/index.js.map +1 -0
  376. package/es/state/state.d.ts +1 -1
  377. package/es/state/state.js +16 -12
  378. package/es/state/state.js.map +1 -1
  379. package/es/themes/ARCO.js +1 -1
  380. package/es/themes/ARCO.js.map +1 -1
  381. package/es/themes/BRIGHT.js +1 -1
  382. package/es/themes/BRIGHT.js.map +1 -1
  383. package/es/themes/DARK.js +1 -1
  384. package/es/themes/DARK.js.map +1 -1
  385. package/es/themes/DEFAULT.js +1 -1
  386. package/es/themes/DEFAULT.js.map +1 -1
  387. package/es/themes/theme.d.ts +1 -1
  388. package/es/themes/theme.js +6 -6
  389. package/es/themes/theme.js.map +1 -1
  390. package/es/tools/LimitPromiseQueue.js +1 -2
  391. package/es/tools/NumberMap.js +1 -1
  392. package/es/tools/Rect.js +1 -1
  393. package/es/tools/calc.js +1 -1
  394. package/es/tools/debounce.js +1 -1
  395. package/es/tools/diff-cell.d.ts +10 -0
  396. package/es/tools/diff-cell.js +42 -0
  397. package/es/tools/diff-cell.js.map +1 -0
  398. package/es/tools/dom.js +1 -1
  399. package/es/tools/env.js +1 -1
  400. package/es/tools/helper.d.ts +11 -0
  401. package/es/tools/helper.js +4 -0
  402. package/es/tools/helper.js.map +1 -1
  403. package/es/tooltip/BaseTooltip.js +1 -1
  404. package/es/tooltip/Tooltip.js +2 -1
  405. package/es/tooltip/TooltipHandler.js +1 -1
  406. package/es/ts-types/base-table.d.ts +8 -2
  407. package/es/ts-types/base-table.js +1 -1
  408. package/es/ts-types/base-table.js.map +1 -1
  409. package/es/ts-types/common.js +1 -1
  410. package/es/ts-types/customElement.d.ts +11 -2
  411. package/es/ts-types/customElement.js +1 -1
  412. package/es/ts-types/customElement.js.map +1 -1
  413. package/es/ts-types/customLayout.js +1 -1
  414. package/es/ts-types/events.js +1 -1
  415. package/es/ts-types/icon.d.ts +4 -5
  416. package/es/ts-types/icon.js +6 -6
  417. package/es/ts-types/icon.js.map +1 -1
  418. package/es/ts-types/list-table/define/basic-define.d.ts +4 -1
  419. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  420. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  421. package/es/ts-types/theme.d.ts +1 -1
  422. package/es/ts-types/theme.js.map +1 -1
  423. package/package.json +9 -9
  424. package/cjs/scenegraph/component/menu.d.ts +0 -41
  425. package/cjs/scenegraph/graphic/text.d.ts +0 -16
  426. package/cjs/state/pin/index.d.ts +0 -2
  427. package/cjs/state/pin/index.js.map +0 -1
  428. package/es/scenegraph/component/menu.d.ts +0 -41
  429. package/es/scenegraph/graphic/text.d.ts +0 -16
  430. package/es/state/pin/index.d.ts +0 -2
  431. package/es/state/pin/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["themes/theme.ts"],"names":[],"mappings":"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","file":"theme.js","sourcesContent":["/* eslint-disable no-undef */\n/* eslint-disable sort-imports */\nimport type {\n ColorPropertyDefine,\n ColorsDef,\n ColorsPropertyDefine,\n ColumnIconOption,\n FrameStyle,\n ITableThemeDefine,\n InteractionStyle,\n LineClamp,\n LineDashsDef,\n LineDashsPropertyDefine,\n LineWidthsDef,\n LineWidthsPropertyDefine,\n PartialTableThemeDefine,\n RequiredTableThemeDefine,\n TextOverflow,\n ThemeStyle,\n // menuStyle,\n TableFrameStyle,\n PaddingsPropertyDefine,\n ScrollStyle,\n CursorPropertyDefine,\n TooltipStyle,\n MarkedPropertyDefine,\n UnderlinePropertyDefine,\n LineDashPropertyDefine,\n LineThroughPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine\n} from '../ts-types';\nimport { getChainSafe } from '../tools/helper';\nimport { changeColor, ingoreNoneValueMerge, merge } from '../tools/util';\nimport {\n DEFAULTBGCOLOR,\n DEFAULTBORDERCOLOR,\n DEFAULTBORDERLINEDASH,\n DEFAULTBORDERLINEWIDTH,\n DEFAULTFONT,\n DEFAULTFONTCOLOR,\n DEFAULTFONTFAMILY,\n DEFAULTFONTSIZE\n} from '../tools/global';\nimport type { TextAlignType, TextBaselineType } from '@visactor/vrender';\n//private symbol\n// const _ = getSymbol();\n\nfunction getProp(obj: PartialTableThemeDefine, superObj: ITableThemeDefine, names: string[], defNames?: string[]): any {\n return (\n getChainSafe(obj, ...names) ||\n getChainSafe(superObj, ...names) ||\n (defNames && getChainSafe(obj, ...defNames)) ||\n (defNames && getChainSafe(superObj, ...defNames))\n );\n}\n\nexport class TableTheme implements ITableThemeDefine {\n private internalTheme: {\n obj: PartialTableThemeDefine;\n superTheme: ITableThemeDefine;\n };\n private _defaultStyle: RequiredTableThemeDefine['defaultStyle'] | null = null;\n private _header: ITableThemeDefine['headerStyle'] | null = null;\n private _cornerHeader: ITableThemeDefine['cornerHeaderStyle'] | null = null;\n private _rowHeader: ITableThemeDefine['rowHeaderStyle'] | null = null;\n private _body: ITableThemeDefine['bodyStyle'] | null = null;\n private _scroll: ITableThemeDefine['scrollStyle'] | null = null;\n private _tooltip: ITableThemeDefine['tooltipStyle'] | null = null;\n private _frameStyle: ITableThemeDefine['frameStyle'] | null = null;\n private _columnResizer: RequiredTableThemeDefine['columnResize'] | null = null;\n private _dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] | null = null;\n private _frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] | null = null;\n private _selectionStyle: RequiredTableThemeDefine['selectionStyle'] | null = null;\n constructor(obj: PartialTableThemeDefine | ITableThemeDefine, superTheme: ITableThemeDefine) {\n this.internalTheme = {\n obj,\n superTheme\n };\n }\n get font(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['font'], ['bodyStyle', 'font']);\n }\n get underlayBackgroundColor(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['underlayBackgroundColor']);\n }\n\n get defaultStyle(): RequiredTableThemeDefine['defaultStyle'] {\n // const defaultStyle = getProp(obj, superTheme, [\"defaultStyle\"]);\n if (!this._defaultStyle) {\n const { obj, superTheme } = this.internalTheme;\n const defaultStyle: ThemeStyle = ingoreNoneValueMerge({}, superTheme.defaultStyle, obj.defaultStyle);\n this._defaultStyle = {\n get fontSize(): FontSizePropertyDefine {\n return defaultStyle.fontSize ?? DEFAULTFONTSIZE;\n },\n get fontFamily(): FontFamilyPropertyDefine {\n return defaultStyle.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return defaultStyle.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return defaultStyle.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return defaultStyle.fontStyle;\n },\n get bgColor(): ColorPropertyDefine {\n return defaultStyle.bgColor ?? DEFAULTBGCOLOR;\n },\n get color(): ColorPropertyDefine {\n return defaultStyle.color ?? DEFAULTFONTCOLOR;\n },\n get borderColor(): ColorsPropertyDefine {\n return defaultStyle.borderColor ?? DEFAULTBORDERCOLOR;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return defaultStyle.borderLineWidth ?? DEFAULTBORDERLINEWIDTH;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return defaultStyle.borderLineDash ?? DEFAULTBORDERLINEDASH;\n },\n get hover(): InteractionStyle | undefined {\n if (defaultStyle.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return defaultStyle.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineColumnBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineRowBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (defaultStyle.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return defaultStyle.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return defaultStyle.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineColumnBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineRowBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get padding(): PaddingsPropertyDefine {\n return defaultStyle.padding ?? [10, 16, 10, 16];\n },\n get textAlign(): TextAlignType {\n return defaultStyle.textAlign ?? 'left';\n },\n get textBaseline(): TextBaselineType {\n return defaultStyle.textBaseline ?? 'middle';\n },\n get textOverflow(): TextOverflow {\n return defaultStyle.textOverflow ?? 'ellipsis';\n },\n get lineHeight(): number {\n return defaultStyle.lineHeight;\n },\n get autoWrapText(): boolean {\n return defaultStyle.autoWrapText ?? false;\n },\n get lineClamp(): LineClamp {\n return defaultStyle.lineClamp ?? 'auto';\n },\n get linkColor(): ColorPropertyDefine {\n return defaultStyle.linkColor ?? '#3772ff';\n },\n get cursor(): CursorPropertyDefine {\n return defaultStyle.cursor ?? 'auto';\n },\n get marked(): MarkedPropertyDefine {\n return defaultStyle.marked ?? false;\n },\n get underline(): UnderlinePropertyDefine {\n return defaultStyle.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return defaultStyle.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.underlineDash;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return defaultStyle.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return defaultStyle.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.lineThroughDash;\n }\n };\n }\n return this._defaultStyle;\n }\n get headerStyle(): ITableThemeDefine['headerStyle'] {\n if (!this._header) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.headerStyle, obj.headerStyle);\n this._header = this.getStyle(header);\n }\n return this._header;\n }\n get cornerHeaderStyle(): ITableThemeDefine['cornerHeaderStyle'] {\n if (!this._cornerHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerHeaderStyle,\n obj.cornerHeaderStyle // ?? obj.headerStyle\n );\n this._cornerHeader = this.getStyle(header);\n }\n return this._cornerHeader;\n }\n get rowHeaderStyle(): ITableThemeDefine['rowHeaderStyle'] {\n if (!this._rowHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.rowHeaderStyle,\n obj.rowHeaderStyle // ?? obj.headerStyle\n );\n this._rowHeader = this.getStyle(header);\n }\n return this._rowHeader;\n }\n get bodyStyle(): ITableThemeDefine['bodyStyle'] {\n if (!this._body) {\n const { obj, superTheme } = this.internalTheme;\n // const body = getProp(obj, superTheme, [\"body\"]);\n const body: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.bodyStyle, obj.bodyStyle);\n this._body = this.getStyle(body);\n }\n\n return this._body;\n }\n\n get frameStyle(): ITableThemeDefine['frameStyle'] {\n if (!this._frameStyle) {\n const { obj, superTheme } = this.internalTheme;\n const frameStyle: TableFrameStyle = ingoreNoneValueMerge({}, superTheme.frameStyle, obj.frameStyle);\n this._frameStyle = {\n get borderColor(): ColorsDef | undefined {\n return frameStyle.borderColor;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return frameStyle.borderLineWidth;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return frameStyle.borderLineDash;\n },\n get shadowBlur(): number {\n return frameStyle.shadowBlur;\n },\n get shadowColor(): string {\n return frameStyle.shadowColor;\n },\n get shadowOffsetX(): number {\n return frameStyle.shadowOffsetX;\n },\n get shadowOffsetY(): number {\n return frameStyle.shadowOffsetY;\n },\n get roundCornerRadius(): number {\n return frameStyle.roundCornerRadius;\n }\n };\n }\n return this._frameStyle;\n }\n get scrollStyle(): ITableThemeDefine['scrollStyle'] {\n if (!this._scroll) {\n const { obj, superTheme } = this.internalTheme;\n const scroll: ScrollStyle = ingoreNoneValueMerge({}, superTheme.scrollStyle, obj.scrollStyle);\n this._scroll = {\n get scrollSliderColor(): string | undefined {\n return scroll.scrollSliderColor ?? '#C0C0C0';\n },\n get scrollRailColor(): string | undefined {\n return scroll.scrollRailColor;\n },\n get visible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.visible ?? 'scrolling';\n },\n get width(): number | undefined {\n return scroll.width ?? 7;\n },\n get hoverOn(): boolean | undefined {\n return scroll.hoverOn ?? true;\n }\n };\n }\n\n return this._scroll;\n }\n get tooltipStyle(): ITableThemeDefine['tooltipStyle'] {\n if (!this._tooltip) {\n const { obj, superTheme } = this.internalTheme;\n const tooltip: TooltipStyle = ingoreNoneValueMerge({}, superTheme.tooltipStyle, obj.tooltipStyle);\n this._tooltip = {\n get font(): string | undefined {\n return tooltip.font ?? DEFAULTFONT;\n },\n get bgColor(): string | undefined {\n return tooltip.bgColor ?? '#000';\n },\n get padding(): number[] {\n return tooltip.padding ?? [6, 8];\n },\n get color(): string | undefined {\n return tooltip.color ?? '#FFF';\n }\n };\n }\n\n return this._tooltip;\n }\n\n /**\n * resizer 分割线样式\n */\n get columnResize(): RequiredTableThemeDefine['columnResize'] {\n if (!this._columnResizer) {\n const { obj, superTheme } = this.internalTheme;\n const columnResize: RequiredTableThemeDefine['columnResize'] = ingoreNoneValueMerge(\n {},\n superTheme.columnResize,\n obj.columnResize\n );\n this._columnResizer = {\n get lineColor(): ColorPropertyDefine {\n return columnResize.lineColor ?? '#416EFF';\n },\n get bgColor(): ColorPropertyDefine {\n return columnResize.bgColor ?? '#D9E2FF';\n },\n get lineWidth(): number {\n return columnResize.lineWidth ?? 1;\n },\n get width(): number {\n return columnResize.width ?? columnResize.lineWidth + 2;\n }\n };\n }\n return this._columnResizer;\n }\n /**\n * 移位 分割线样式\n */\n get dragHeaderSplitLine(): RequiredTableThemeDefine['dragHeaderSplitLine'] {\n if (!this._dragHeaderSplitLine) {\n const { obj, superTheme } = this.internalTheme;\n const dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] = ingoreNoneValueMerge(\n {},\n superTheme.dragHeaderSplitLine,\n obj.dragHeaderSplitLine\n );\n this._dragHeaderSplitLine = {\n get lineColor(): ColorPropertyDefine {\n return dragHeaderSplitLine.lineColor ?? 'blue';\n },\n // get bgColor(): ColorPropertyDefine {\n // return dragHeaderSplitLine.bgColor ?? dragHeaderSplitLine.lineColor;\n // },\n get lineWidth(): number {\n return dragHeaderSplitLine.lineWidth ?? 2;\n },\n // get width(): number {\n // return dragHeaderSplitLine.width ?? dragHeaderSplitLine.lineWidth;\n // },\n get shadowBlockColor(): string {\n return dragHeaderSplitLine.shadowBlockColor ?? 'rgba(204,204,204,0.3)';\n }\n };\n }\n return this._dragHeaderSplitLine;\n }\n get frozenColumnLine(): RequiredTableThemeDefine['frozenColumnLine'] {\n // const { obj, superTheme } = this.internalTheme;\n // const that = this;\n // const frozenColumnLine = getProp(obj, superTheme, [\n // \"frozenColumnLine\",\n // ]);\n if (!this._frozenColumnLine) {\n const { obj, superTheme } = this.internalTheme;\n const frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] = ingoreNoneValueMerge(\n {},\n superTheme.frozenColumnLine,\n obj.frozenColumnLine\n );\n this._frozenColumnLine = {\n get shadow(): { width: number; startColor: string; endColor: string } | undefined {\n if (frozenColumnLine.shadow) {\n return {\n get width(): number {\n return frozenColumnLine.shadow?.width ?? 24;\n },\n get startColor(): string {\n return frozenColumnLine.shadow?.startColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get endColor(): string {\n return frozenColumnLine.shadow?.endColor ?? 'rgba(00, 24, 47, 0)';\n }\n };\n }\n return undefined;\n },\n get border():\n | {\n lineColor: ColorPropertyDefine;\n bgColor?: ColorPropertyDefine;\n lineWidth: number;\n width?: number;\n }\n | undefined {\n if (frozenColumnLine.border) {\n return {\n get lineColor(): ColorPropertyDefine {\n return frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get bgColor(): ColorPropertyDefine {\n return (\n frozenColumnLine.border?.bgColor ?? frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)'\n );\n },\n get lineWidth(): number {\n return frozenColumnLine.border?.lineWidth ?? 4;\n },\n get width(): number {\n return frozenColumnLine.border?.width ?? frozenColumnLine.border?.lineWidth ?? 4;\n }\n };\n }\n return undefined;\n }\n };\n }\n return this._frozenColumnLine;\n }\n get selectionStyle(): RequiredTableThemeDefine['selectionStyle'] {\n if (!this._selectionStyle) {\n const { obj, superTheme } = this.internalTheme;\n const selectionStyle: RequiredTableThemeDefine['selectionStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.selectionStyle,\n obj.selectionStyle\n );\n this._selectionStyle = {\n get cellBgColor(): string | undefined {\n return selectionStyle?.cellBgColor ?? 'rgba(0, 0, 255,0.1)';\n },\n get cellBorderColor(): string | undefined {\n return selectionStyle?.cellBorderColor ?? '#3073f2';\n },\n get cellBorderLineWidth(): number | undefined {\n return selectionStyle?.cellBorderLineWidth ?? 2;\n }\n };\n }\n return this._selectionStyle;\n }\n hasProperty(names: string[]): boolean {\n const { obj, superTheme } = this.internalTheme;\n return hasThemeProperty(obj, names) || hasThemeProperty(superTheme, names);\n }\n extends(obj: PartialTableThemeDefine): TableTheme {\n return new TableTheme(obj, this);\n }\n private getStyle(style: ThemeStyle) {\n return {\n get fontSize(): FontSizePropertyDefine | undefined {\n return style.fontSize;\n },\n get fontFamily(): FontFamilyPropertyDefine | undefined {\n return style.fontFamily;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return style.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return style.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return style.fontStyle;\n },\n get bgColor(): ColorPropertyDefine | undefined {\n return style.bgColor;\n },\n get color(): ColorPropertyDefine | undefined {\n return style.color;\n },\n get borderColor(): ColorsPropertyDefine | undefined {\n return style.borderColor;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return style.borderLineWidth;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return style.borderLineDash;\n },\n get hover(): InteractionStyle | undefined {\n if (style.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return style.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineColumnBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineRowBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (style.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return style.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return style.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineColumnBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineRowBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get frameStyle(): FrameStyle | undefined {\n if (style.frameStyle) {\n return {\n get borderColor(): ColorsDef | undefined {\n return style.frameStyle?.borderColor ?? undefined;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return style.frameStyle?.borderLineWidth ?? undefined;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return style.frameStyle?.borderLineDash ?? undefined;\n }\n };\n }\n return undefined;\n },\n get padding(): PaddingsPropertyDefine | undefined {\n return style.padding;\n },\n get textAlign(): TextAlignType | undefined {\n return style.textAlign;\n },\n get textBaseline(): TextBaselineType | undefined {\n return style.textBaseline;\n },\n get textOverflow(): TextOverflow | undefined {\n return style.textOverflow;\n },\n get lineHeight(): number | undefined {\n return style.lineHeight;\n },\n get autoWrapText(): boolean | undefined {\n return style.autoWrapText;\n },\n get lineClamp(): LineClamp | undefined {\n return style.lineClamp;\n },\n get linkColor(): ColorPropertyDefine | undefined {\n return style.linkColor;\n },\n get cursor(): CursorPropertyDefine | undefined {\n return style.cursor;\n },\n get textStick(): boolean | undefined {\n return style.textStick;\n },\n get marked(): MarkedPropertyDefine | undefined {\n return style.marked;\n },\n get underline(): UnderlinePropertyDefine {\n return style.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return style.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return style.underlineDash;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return style.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return style.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return style.lineThroughDash;\n }\n };\n }\n}\n\nfunction hasThemeProperty(obj: PartialTableThemeDefine, names: string[]): boolean {\n if (obj instanceof TableTheme) {\n return obj.hasProperty(names);\n }\n\n let o: any = obj;\n if (!o) {\n return false;\n }\n for (let index = 0; index < names.length; index++) {\n const name = names[index];\n o = o[name];\n if (!o) {\n return false;\n }\n }\n return !!o;\n}\n"]}
1
+ {"version":3,"sources":["themes/theme.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAS,MAAM,eAAe,CAAC;AACzE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAKzB,SAAS,OAAO,CAAC,GAA4B,EAAE,QAA2B,EAAE,KAAe,EAAE,QAAmB;IAC9G,OAAO,CACL,YAAY,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAC3B,YAAY,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC;QAChC,CAAC,QAAQ,IAAI,YAAY,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC5C,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,UAAU;IAiBrB,YAAY,GAAgD,EAAE,UAA6B;QAZnF,kBAAa,GAAoD,IAAI,CAAC;QACtE,YAAO,GAA4C,IAAI,CAAC;QACxD,kBAAa,GAAkD,IAAI,CAAC;QACpE,eAAU,GAA+C,IAAI,CAAC;QAC9D,UAAK,GAA0C,IAAI,CAAC;QACpD,YAAO,GAA4C,IAAI,CAAC;QACxD,aAAQ,GAA6C,IAAI,CAAC;QAC1D,gBAAW,GAA2C,IAAI,CAAC;QAC3D,kBAAa,GAAoD,IAAI,CAAC;QACtE,yBAAoB,GAA2D,IAAI,CAAC;QACpF,sBAAiB,GAAwD,IAAI,CAAC;QAC9E,oBAAe,GAAsD,IAAI,CAAC;QAEhF,IAAI,CAAC,aAAa,GAAG;YACnB,GAAG;YACH,UAAU;SACX,CAAC;IACJ,CAAC;IACD,IAAI,IAAI;QACN,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,uBAAuB;QACzB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,YAAY;QAEd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,YAAY,GAAe,oBAAoB,CAAC,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YACrG,IAAI,CAAC,aAAa,GAAG;gBACnB,IAAI,QAAQ;;oBACV,OAAO,MAAA,YAAY,CAAC,QAAQ,mCAAI,eAAe,CAAC;gBAClD,CAAC;gBACD,IAAI,UAAU;;oBACZ,OAAO,MAAA,YAAY,CAAC,UAAU,mCAAI,iBAAiB,CAAC;gBACtD,CAAC;gBACD,IAAI,UAAU;oBACZ,OAAO,YAAY,CAAC,UAAU,CAAC;gBACjC,CAAC;gBACD,IAAI,WAAW;oBACb,OAAO,YAAY,CAAC,WAAW,CAAC;gBAClC,CAAC;gBACD,IAAI,SAAS;oBACX,OAAO,YAAY,CAAC,SAAS,CAAC;gBAChC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,YAAY,CAAC,OAAO,mCAAI,cAAc,CAAC;gBAChD,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,YAAY,CAAC,KAAK,mCAAI,gBAAgB,CAAC;gBAChD,CAAC;gBACD,IAAI,WAAW;;oBACb,OAAO,MAAA,YAAY,CAAC,WAAW,mCAAI,kBAAkB,CAAC;gBACxD,CAAC;gBACD,IAAI,eAAe;;oBACjB,OAAO,MAAA,YAAY,CAAC,eAAe,mCAAI,sBAAsB,CAAC;gBAChE,CAAC;gBACD,IAAI,cAAc;;oBAChB,OAAO,MAAA,YAAY,CAAC,cAAc,mCAAI,qBAAqB,CAAC;gBAC9D,CAAC;gBACD,IAAI,KAAK;oBACP,IAAI,YAAY,CAAC,KAAK,EAAE;wBACtB,OAAO;4BACL,IAAI,WAAW;;gCACb,OAAO,MAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,mCAAI,SAAS,CAAC;4BACtD,CAAC;4BAOD,IAAI,mBAAmB;;gCACrB,OAAO,CACL,MAAA,MAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,mBAAmB,mCACvC,CAAC,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;oCACrF,CAAC,CAAC,WAAW,CAAC,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;oCAC1D,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;4BACJ,CAAC;4BACD,IAAI,gBAAgB;;gCAClB,OAAO,CACL,MAAA,MAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,gBAAgB,mCACpC,CAAC,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;oCACrF,CAAC,CAAC,WAAW,CAAC,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;oCAC1D,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;4BACJ,CAAC;yBACF,CAAC;qBACH;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAqCD,IAAI,OAAO;;oBACT,OAAO,MAAA,YAAY,CAAC,OAAO,mCAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClD,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,MAAM,CAAC;gBAC1C,CAAC;gBACD,IAAI,YAAY;;oBACd,OAAO,MAAA,YAAY,CAAC,YAAY,mCAAI,QAAQ,CAAC;gBAC/C,CAAC;gBACD,IAAI,YAAY;;oBACd,OAAO,MAAA,YAAY,CAAC,YAAY,mCAAI,UAAU,CAAC;gBACjD,CAAC;gBACD,IAAI,UAAU;oBACZ,OAAO,YAAY,CAAC,UAAU,CAAC;gBACjC,CAAC;gBACD,IAAI,YAAY;;oBACd,OAAO,MAAA,YAAY,CAAC,YAAY,mCAAI,KAAK,CAAC;gBAC5C,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,MAAM,CAAC;gBAC1C,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,SAAS,CAAC;gBAC7C,CAAC;gBACD,IAAI,MAAM;;oBACR,OAAO,MAAA,YAAY,CAAC,MAAM,mCAAI,MAAM,CAAC;gBACvC,CAAC;gBACD,IAAI,MAAM;;oBACR,OAAO,MAAA,YAAY,CAAC,MAAM,mCAAI,KAAK,CAAC;gBACtC,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,KAAK,CAAC;gBACzC,CAAC;gBACD,IAAI,cAAc;oBAChB,OAAO,YAAY,CAAC,cAAc,CAAC;gBACrC,CAAC;gBACD,IAAI,aAAa;oBACf,OAAO,YAAY,CAAC,aAAa,CAAC;gBACpC,CAAC;gBACD,IAAI,WAAW;;oBACb,OAAO,MAAA,YAAY,CAAC,WAAW,mCAAI,KAAK,CAAC;gBAC3C,CAAC;gBACD,IAAI,gBAAgB;oBAClB,OAAO,YAAY,CAAC,gBAAgB,CAAC;gBACvC,CAAC;gBACD,IAAI,eAAe;oBACjB,OAAO,YAAY,CAAC,eAAe,CAAC;gBACtC,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,MAAM,GAAe,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YAChH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,iBAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,MAAM,GAAe,oBAAoB,CAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,iBAAiB,EAC5B,GAAG,CAAC,iBAAiB,CACtB,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,MAAM,GAAe,oBAAoB,CAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,cAAc,EACzB,GAAG,CAAC,cAAc,CACnB,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,IAAI,GAAe,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1G,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,UAAU,GAAoB,oBAAoB,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACpG,IAAI,CAAC,WAAW,GAAG;gBACjB,IAAI,WAAW;oBACb,OAAO,UAAU,CAAC,WAAW,CAAC;gBAChC,CAAC;gBACD,IAAI,eAAe;oBACjB,OAAO,UAAU,CAAC,eAAe,CAAC;gBACpC,CAAC;gBACD,IAAI,cAAc;oBAChB,OAAO,UAAU,CAAC,cAAc,CAAC;gBACnC,CAAC;gBACD,IAAI,UAAU;oBACZ,OAAO,UAAU,CAAC,UAAU,CAAC;gBAC/B,CAAC;gBACD,IAAI,WAAW;oBACb,OAAO,UAAU,CAAC,WAAW,CAAC;gBAChC,CAAC;gBACD,IAAI,aAAa;oBACf,OAAO,UAAU,CAAC,aAAa,CAAC;gBAClC,CAAC;gBACD,IAAI,aAAa;oBACf,OAAO,UAAU,CAAC,aAAa,CAAC;gBAClC,CAAC;gBACD,IAAI,YAAY;oBACd,OAAO,UAAU,CAAC,YAAY,CAAC;gBACjC,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,MAAM,GAAgB,oBAAoB,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9F,IAAI,CAAC,OAAO,GAAG;gBACb,IAAI,iBAAiB;;oBACnB,OAAO,MAAA,MAAM,CAAC,iBAAiB,mCAAI,SAAS,CAAC;gBAC/C,CAAC;gBACD,IAAI,eAAe;oBACjB,OAAO,MAAM,CAAC,eAAe,CAAC;gBAChC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,WAAW,CAAC;gBACvC,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,MAAM,CAAC,KAAK,mCAAI,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,IAAI,CAAC;gBAChC,CAAC;aACF,CAAC;SACH;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,YAAY;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,OAAO,GAAiB,oBAAoB,CAAC,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YAClG,IAAI,CAAC,QAAQ,GAAG;gBACd,IAAI,IAAI;;oBACN,OAAO,MAAA,OAAO,CAAC,IAAI,mCAAI,WAAW,CAAC;gBACrC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,OAAO,CAAC,OAAO,mCAAI,MAAM,CAAC;gBACnC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,OAAO,CAAC,OAAO,mCAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,OAAO,CAAC,KAAK,mCAAI,MAAM,CAAC;gBACjC,CAAC;aACF,CAAC;SACH;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKD,IAAI,YAAY;QACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,YAAY,GAA6C,oBAAoB,CACjF,EAAE,EACF,UAAU,CAAC,YAAY,EACvB,GAAG,CAAC,YAAY,CACjB,CAAC;YACF,IAAI,CAAC,aAAa,GAAG;gBACnB,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,SAAS,CAAC;gBAC7C,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,YAAY,CAAC,OAAO,mCAAI,SAAS,CAAC;gBAC3C,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,YAAY,CAAC,KAAK,mCAAI,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC1D,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAID,IAAI,mBAAmB;QACrB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,mBAAmB,GAAoD,oBAAoB,CAC/F,EAAE,EACF,UAAU,CAAC,mBAAmB,EAC9B,GAAG,CAAC,mBAAmB,CACxB,CAAC;YACF,IAAI,CAAC,oBAAoB,GAAG;gBAC1B,IAAI,SAAS;;oBACX,OAAO,MAAA,mBAAmB,CAAC,SAAS,mCAAI,MAAM,CAAC;gBACjD,CAAC;gBAID,IAAI,SAAS;;oBACX,OAAO,MAAA,mBAAmB,CAAC,SAAS,mCAAI,CAAC,CAAC;gBAC5C,CAAC;gBAID,IAAI,gBAAgB;;oBAClB,OAAO,MAAA,mBAAmB,CAAC,gBAAgB,mCAAI,uBAAuB,CAAC;gBACzE,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IACD,IAAI,gBAAgB;QAMlB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,gBAAgB,GAAiD,oBAAoB,CACzF,EAAE,EACF,UAAU,CAAC,gBAAgB,EAC3B,GAAG,CAAC,gBAAgB,CACrB,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG;gBACvB,IAAI,MAAM;oBACR,IAAI,gBAAgB,CAAC,MAAM,EAAE;wBAC3B,OAAO;4BACL,IAAI,KAAK;;gCACP,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,KAAK,mCAAI,EAAE,CAAC;4BAC9C,CAAC;4BACD,IAAI,UAAU;;gCACZ,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,UAAU,mCAAI,wBAAwB,CAAC;4BACzE,CAAC;4BACD,IAAI,QAAQ;;gCACV,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,QAAQ,mCAAI,qBAAqB,CAAC;4BACpE,CAAC;yBACF,CAAC;qBACH;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,IAAI,MAAM;oBAQR,IAAI,gBAAgB,CAAC,MAAM,EAAE;wBAC3B,OAAO;4BACL,IAAI,SAAS;;gCACX,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,wBAAwB,CAAC;4BACxE,CAAC;4BACD,IAAI,OAAO;;gCACT,OAAO,CACL,MAAA,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,OAAO,mCAAI,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,wBAAwB,CACnG,CAAC;4BACJ,CAAC;4BACD,IAAI,SAAS;;gCACX,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,CAAC,CAAC;4BACjD,CAAC;4BACD,IAAI,KAAK;;gCACP,OAAO,MAAA,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,KAAK,mCAAI,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,CAAC,CAAC;4BACnF,CAAC;yBACF,CAAC;qBACH;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,cAAc,GAA+C,oBAAoB,CACrF,EAAE,EACF,UAAU,CAAC,cAAc,EACzB,GAAG,CAAC,cAAc,CACnB,CAAC;YACF,IAAI,CAAC,eAAe,GAAG;gBACrB,IAAI,WAAW;;oBACb,OAAO,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,mCAAI,qBAAqB,CAAC;gBAC9D,CAAC;gBACD,IAAI,eAAe;;oBACjB,OAAO,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,eAAe,mCAAI,SAAS,CAAC;gBACtD,CAAC;gBACD,IAAI,mBAAmB;;oBACrB,OAAO,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,mBAAmB,mCAAI,CAAC,CAAC;gBAClD,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,WAAW,CAAC,KAAe;QACzB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,CAAC,GAA4B;QAClC,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACO,QAAQ,CAAC,KAAiB;QAChC,OAAO;YACL,IAAI,QAAQ;gBACV,OAAO,KAAK,CAAC,QAAQ,CAAC;YACxB,CAAC;YACD,IAAI,UAAU;gBACZ,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YACD,IAAI,UAAU;gBACZ,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YACD,IAAI,WAAW;gBACb,OAAO,KAAK,CAAC,WAAW,CAAC;YAC3B,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,OAAO;gBACT,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;YACD,IAAI,KAAK;gBACP,OAAO,KAAK,CAAC,KAAK,CAAC;YACrB,CAAC;YACD,IAAI,WAAW;gBACb,OAAO,KAAK,CAAC,WAAW,CAAC;YAC3B,CAAC;YACD,IAAI,eAAe;gBACjB,OAAO,KAAK,CAAC,eAAe,CAAC;YAC/B,CAAC;YACD,IAAI,cAAc;gBAChB,OAAO,KAAK,CAAC,cAAc,CAAC;YAC9B,CAAC;YACD,IAAI,KAAK;gBACP,IAAI,KAAK,CAAC,KAAK,EAAE;oBACf,OAAO;wBACL,IAAI,WAAW;;4BACb,OAAO,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,mCAAI,SAAS,CAAC;wBAC/C,CAAC;wBAOD,IAAI,mBAAmB;;4BACrB,OAAO,CACL,MAAA,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,mBAAmB,mCAChC,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;gCACvE,CAAC,CAAC,WAAW,CAAC,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;gCACnD,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;wBACJ,CAAC;wBACD,IAAI,gBAAgB;;4BAClB,OAAO,CACL,MAAA,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,gBAAgB,mCAC7B,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;gCACvE,CAAC,CAAC,WAAW,CAAC,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;gCACnD,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;wBACJ,CAAC;qBACF,CAAC;iBACH;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAmCD,IAAI,UAAU;gBACZ,IAAI,KAAK,CAAC,UAAU,EAAE;oBACpB,OAAO;wBACL,IAAI,WAAW;;4BACb,OAAO,MAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,WAAW,mCAAI,SAAS,CAAC;wBACpD,CAAC;wBACD,IAAI,eAAe;;4BACjB,OAAO,MAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,eAAe,mCAAI,SAAS,CAAC;wBACxD,CAAC;wBACD,IAAI,cAAc;;4BAChB,OAAO,MAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,cAAc,mCAAI,SAAS,CAAC;wBACvD,CAAC;qBACF,CAAC;iBACH;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,OAAO;gBACT,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,YAAY;gBACd,OAAO,KAAK,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,IAAI,YAAY;gBACd,OAAO,KAAK,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,IAAI,UAAU;gBACZ,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YACD,IAAI,YAAY;gBACd,OAAO,KAAK,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,MAAM;gBACR,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,MAAM;gBACR,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,IAAI,SAAS;;gBACX,OAAO,MAAA,KAAK,CAAC,SAAS,mCAAI,KAAK,CAAC;YAClC,CAAC;YACD,IAAI,cAAc;gBAChB,OAAO,KAAK,CAAC,cAAc,CAAC;YAC9B,CAAC;YACD,IAAI,aAAa;gBACf,OAAO,KAAK,CAAC,aAAa,CAAC;YAC7B,CAAC;YACD,IAAI,WAAW;;gBACb,OAAO,MAAA,KAAK,CAAC,WAAW,mCAAI,KAAK,CAAC;YACpC,CAAC;YACD,IAAI,gBAAgB;gBAClB,OAAO,KAAK,CAAC,gBAAgB,CAAC;YAChC,CAAC;YACD,IAAI,eAAe;gBACjB,OAAO,KAAK,CAAC,eAAe,CAAC;YAC/B,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,GAA4B,EAAE,KAAe;IACrE,IAAI,GAAG,YAAY,UAAU,EAAE;QAC7B,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC/B;IAED,IAAI,CAAC,GAAQ,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE;QACN,OAAO,KAAK,CAAC;KACd;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,CAAC,EAAE;YACN,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,CAAC,CAAC,CAAC,CAAC;AACb,CAAC","file":"theme.js","sourcesContent":["/* eslint-disable no-undef */\n/* eslint-disable sort-imports */\nimport type {\n ColorPropertyDefine,\n ColorsDef,\n ColorsPropertyDefine,\n ColumnIconOption,\n FrameStyle,\n ITableThemeDefine,\n InteractionStyle,\n LineClamp,\n LineDashsDef,\n LineDashsPropertyDefine,\n LineWidthsDef,\n LineWidthsPropertyDefine,\n PartialTableThemeDefine,\n RequiredTableThemeDefine,\n TextOverflow,\n ThemeStyle,\n // menuStyle,\n TableFrameStyle,\n PaddingsPropertyDefine,\n ScrollStyle,\n CursorPropertyDefine,\n TooltipStyle,\n MarkedPropertyDefine,\n UnderlinePropertyDefine,\n LineDashPropertyDefine,\n LineThroughPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine\n} from '../ts-types';\nimport { getChainSafe } from '../tools/helper';\nimport { changeColor, ingoreNoneValueMerge, merge } from '../tools/util';\nimport {\n DEFAULTBGCOLOR,\n DEFAULTBORDERCOLOR,\n DEFAULTBORDERLINEDASH,\n DEFAULTBORDERLINEWIDTH,\n DEFAULTFONT,\n DEFAULTFONTCOLOR,\n DEFAULTFONTFAMILY,\n DEFAULTFONTSIZE\n} from '../tools/global';\nimport type { TextAlignType, TextBaselineType } from '@visactor/vrender';\n//private symbol\n// const _ = getSymbol();\n\nfunction getProp(obj: PartialTableThemeDefine, superObj: ITableThemeDefine, names: string[], defNames?: string[]): any {\n return (\n getChainSafe(obj, ...names) ||\n getChainSafe(superObj, ...names) ||\n (defNames && getChainSafe(obj, ...defNames)) ||\n (defNames && getChainSafe(superObj, ...defNames))\n );\n}\n\nexport class TableTheme implements ITableThemeDefine {\n private internalTheme: {\n obj: PartialTableThemeDefine;\n superTheme: ITableThemeDefine;\n };\n private _defaultStyle: RequiredTableThemeDefine['defaultStyle'] | null = null;\n private _header: ITableThemeDefine['headerStyle'] | null = null;\n private _cornerHeader: ITableThemeDefine['cornerHeaderStyle'] | null = null;\n private _rowHeader: ITableThemeDefine['rowHeaderStyle'] | null = null;\n private _body: ITableThemeDefine['bodyStyle'] | null = null;\n private _scroll: ITableThemeDefine['scrollStyle'] | null = null;\n private _tooltip: ITableThemeDefine['tooltipStyle'] | null = null;\n private _frameStyle: ITableThemeDefine['frameStyle'] | null = null;\n private _columnResize: RequiredTableThemeDefine['columnResize'] | null = null;\n private _dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] | null = null;\n private _frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] | null = null;\n private _selectionStyle: RequiredTableThemeDefine['selectionStyle'] | null = null;\n constructor(obj: PartialTableThemeDefine | ITableThemeDefine, superTheme: ITableThemeDefine) {\n this.internalTheme = {\n obj,\n superTheme\n };\n }\n get font(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['font'], ['bodyStyle', 'font']);\n }\n get underlayBackgroundColor(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['underlayBackgroundColor']);\n }\n\n get defaultStyle(): RequiredTableThemeDefine['defaultStyle'] {\n // const defaultStyle = getProp(obj, superTheme, [\"defaultStyle\"]);\n if (!this._defaultStyle) {\n const { obj, superTheme } = this.internalTheme;\n const defaultStyle: ThemeStyle = ingoreNoneValueMerge({}, superTheme.defaultStyle, obj.defaultStyle);\n this._defaultStyle = {\n get fontSize(): FontSizePropertyDefine {\n return defaultStyle.fontSize ?? DEFAULTFONTSIZE;\n },\n get fontFamily(): FontFamilyPropertyDefine {\n return defaultStyle.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return defaultStyle.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return defaultStyle.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return defaultStyle.fontStyle;\n },\n get bgColor(): ColorPropertyDefine {\n return defaultStyle.bgColor ?? DEFAULTBGCOLOR;\n },\n get color(): ColorPropertyDefine {\n return defaultStyle.color ?? DEFAULTFONTCOLOR;\n },\n get borderColor(): ColorsPropertyDefine {\n return defaultStyle.borderColor ?? DEFAULTBORDERCOLOR;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return defaultStyle.borderLineWidth ?? DEFAULTBORDERLINEWIDTH;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return defaultStyle.borderLineDash ?? DEFAULTBORDERLINEDASH;\n },\n get hover(): InteractionStyle | undefined {\n if (defaultStyle.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return defaultStyle.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineColumnBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineRowBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (defaultStyle.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return defaultStyle.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return defaultStyle.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineColumnBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineRowBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get padding(): PaddingsPropertyDefine {\n return defaultStyle.padding ?? [10, 16, 10, 16];\n },\n get textAlign(): TextAlignType {\n return defaultStyle.textAlign ?? 'left';\n },\n get textBaseline(): TextBaselineType {\n return defaultStyle.textBaseline ?? 'middle';\n },\n get textOverflow(): TextOverflow {\n return defaultStyle.textOverflow ?? 'ellipsis';\n },\n get lineHeight(): number {\n return defaultStyle.lineHeight;\n },\n get autoWrapText(): boolean {\n return defaultStyle.autoWrapText ?? false;\n },\n get lineClamp(): LineClamp {\n return defaultStyle.lineClamp ?? 'auto';\n },\n get linkColor(): ColorPropertyDefine {\n return defaultStyle.linkColor ?? '#3772ff';\n },\n get cursor(): CursorPropertyDefine {\n return defaultStyle.cursor ?? 'auto';\n },\n get marked(): MarkedPropertyDefine {\n return defaultStyle.marked ?? false;\n },\n get underline(): UnderlinePropertyDefine {\n return defaultStyle.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return defaultStyle.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.underlineDash;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return defaultStyle.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return defaultStyle.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.lineThroughDash;\n }\n };\n }\n return this._defaultStyle;\n }\n get headerStyle(): ITableThemeDefine['headerStyle'] {\n if (!this._header) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.headerStyle, obj.headerStyle);\n this._header = this.getStyle(header);\n }\n return this._header;\n }\n get cornerHeaderStyle(): ITableThemeDefine['cornerHeaderStyle'] {\n if (!this._cornerHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerHeaderStyle,\n obj.cornerHeaderStyle // ?? obj.headerStyle\n );\n this._cornerHeader = this.getStyle(header);\n }\n return this._cornerHeader;\n }\n get rowHeaderStyle(): ITableThemeDefine['rowHeaderStyle'] {\n if (!this._rowHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.rowHeaderStyle,\n obj.rowHeaderStyle // ?? obj.headerStyle\n );\n this._rowHeader = this.getStyle(header);\n }\n return this._rowHeader;\n }\n get bodyStyle(): ITableThemeDefine['bodyStyle'] {\n if (!this._body) {\n const { obj, superTheme } = this.internalTheme;\n // const body = getProp(obj, superTheme, [\"body\"]);\n const body: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.bodyStyle, obj.bodyStyle);\n this._body = this.getStyle(body);\n }\n\n return this._body;\n }\n\n get frameStyle(): ITableThemeDefine['frameStyle'] {\n if (!this._frameStyle) {\n const { obj, superTheme } = this.internalTheme;\n const frameStyle: TableFrameStyle = ingoreNoneValueMerge({}, superTheme.frameStyle, obj.frameStyle);\n this._frameStyle = {\n get borderColor(): ColorsDef | undefined {\n return frameStyle.borderColor;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return frameStyle.borderLineWidth;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return frameStyle.borderLineDash;\n },\n get shadowBlur(): number {\n return frameStyle.shadowBlur;\n },\n get shadowColor(): string {\n return frameStyle.shadowColor;\n },\n get shadowOffsetX(): number {\n return frameStyle.shadowOffsetX;\n },\n get shadowOffsetY(): number {\n return frameStyle.shadowOffsetY;\n },\n get cornerRadius(): number {\n return frameStyle.cornerRadius;\n }\n };\n }\n return this._frameStyle;\n }\n get scrollStyle(): ITableThemeDefine['scrollStyle'] {\n if (!this._scroll) {\n const { obj, superTheme } = this.internalTheme;\n const scroll: ScrollStyle = ingoreNoneValueMerge({}, superTheme.scrollStyle, obj.scrollStyle);\n this._scroll = {\n get scrollSliderColor(): string | undefined {\n return scroll.scrollSliderColor ?? '#C0C0C0';\n },\n get scrollRailColor(): string | undefined {\n return scroll.scrollRailColor;\n },\n get visible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.visible ?? 'scrolling';\n },\n get width(): number | undefined {\n return scroll.width ?? 7;\n },\n get hoverOn(): boolean | undefined {\n return scroll.hoverOn ?? true;\n }\n };\n }\n\n return this._scroll;\n }\n get tooltipStyle(): ITableThemeDefine['tooltipStyle'] {\n if (!this._tooltip) {\n const { obj, superTheme } = this.internalTheme;\n const tooltip: TooltipStyle = ingoreNoneValueMerge({}, superTheme.tooltipStyle, obj.tooltipStyle);\n this._tooltip = {\n get font(): string | undefined {\n return tooltip.font ?? DEFAULTFONT;\n },\n get bgColor(): string | undefined {\n return tooltip.bgColor ?? '#000';\n },\n get padding(): number[] {\n return tooltip.padding ?? [6, 8];\n },\n get color(): string | undefined {\n return tooltip.color ?? '#FFF';\n }\n };\n }\n\n return this._tooltip;\n }\n\n /**\n * resize 分割线样式\n */\n get columnResize(): RequiredTableThemeDefine['columnResize'] {\n if (!this._columnResize) {\n const { obj, superTheme } = this.internalTheme;\n const columnResize: RequiredTableThemeDefine['columnResize'] = ingoreNoneValueMerge(\n {},\n superTheme.columnResize,\n obj.columnResize\n );\n this._columnResize = {\n get lineColor(): ColorPropertyDefine {\n return columnResize.lineColor ?? '#416EFF';\n },\n get bgColor(): ColorPropertyDefine {\n return columnResize.bgColor ?? '#D9E2FF';\n },\n get lineWidth(): number {\n return columnResize.lineWidth ?? 1;\n },\n get width(): number {\n return columnResize.width ?? columnResize.lineWidth + 2;\n }\n };\n }\n return this._columnResize;\n }\n /**\n * 移位 分割线样式\n */\n get dragHeaderSplitLine(): RequiredTableThemeDefine['dragHeaderSplitLine'] {\n if (!this._dragHeaderSplitLine) {\n const { obj, superTheme } = this.internalTheme;\n const dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] = ingoreNoneValueMerge(\n {},\n superTheme.dragHeaderSplitLine,\n obj.dragHeaderSplitLine\n );\n this._dragHeaderSplitLine = {\n get lineColor(): ColorPropertyDefine {\n return dragHeaderSplitLine.lineColor ?? 'blue';\n },\n // get bgColor(): ColorPropertyDefine {\n // return dragHeaderSplitLine.bgColor ?? dragHeaderSplitLine.lineColor;\n // },\n get lineWidth(): number {\n return dragHeaderSplitLine.lineWidth ?? 2;\n },\n // get width(): number {\n // return dragHeaderSplitLine.width ?? dragHeaderSplitLine.lineWidth;\n // },\n get shadowBlockColor(): string {\n return dragHeaderSplitLine.shadowBlockColor ?? 'rgba(204,204,204,0.3)';\n }\n };\n }\n return this._dragHeaderSplitLine;\n }\n get frozenColumnLine(): RequiredTableThemeDefine['frozenColumnLine'] {\n // const { obj, superTheme } = this.internalTheme;\n // const that = this;\n // const frozenColumnLine = getProp(obj, superTheme, [\n // \"frozenColumnLine\",\n // ]);\n if (!this._frozenColumnLine) {\n const { obj, superTheme } = this.internalTheme;\n const frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] = ingoreNoneValueMerge(\n {},\n superTheme.frozenColumnLine,\n obj.frozenColumnLine\n );\n this._frozenColumnLine = {\n get shadow(): { width: number; startColor: string; endColor: string } | undefined {\n if (frozenColumnLine.shadow) {\n return {\n get width(): number {\n return frozenColumnLine.shadow?.width ?? 24;\n },\n get startColor(): string {\n return frozenColumnLine.shadow?.startColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get endColor(): string {\n return frozenColumnLine.shadow?.endColor ?? 'rgba(00, 24, 47, 0)';\n }\n };\n }\n return undefined;\n },\n get border():\n | {\n lineColor: ColorPropertyDefine;\n bgColor?: ColorPropertyDefine;\n lineWidth: number;\n width?: number;\n }\n | undefined {\n if (frozenColumnLine.border) {\n return {\n get lineColor(): ColorPropertyDefine {\n return frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get bgColor(): ColorPropertyDefine {\n return (\n frozenColumnLine.border?.bgColor ?? frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)'\n );\n },\n get lineWidth(): number {\n return frozenColumnLine.border?.lineWidth ?? 4;\n },\n get width(): number {\n return frozenColumnLine.border?.width ?? frozenColumnLine.border?.lineWidth ?? 4;\n }\n };\n }\n return undefined;\n }\n };\n }\n return this._frozenColumnLine;\n }\n get selectionStyle(): RequiredTableThemeDefine['selectionStyle'] {\n if (!this._selectionStyle) {\n const { obj, superTheme } = this.internalTheme;\n const selectionStyle: RequiredTableThemeDefine['selectionStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.selectionStyle,\n obj.selectionStyle\n );\n this._selectionStyle = {\n get cellBgColor(): string | undefined {\n return selectionStyle?.cellBgColor ?? 'rgba(0, 0, 255,0.1)';\n },\n get cellBorderColor(): string | undefined {\n return selectionStyle?.cellBorderColor ?? '#3073f2';\n },\n get cellBorderLineWidth(): number | undefined {\n return selectionStyle?.cellBorderLineWidth ?? 2;\n }\n };\n }\n return this._selectionStyle;\n }\n hasProperty(names: string[]): boolean {\n const { obj, superTheme } = this.internalTheme;\n return hasThemeProperty(obj, names) || hasThemeProperty(superTheme, names);\n }\n extends(obj: PartialTableThemeDefine): TableTheme {\n return new TableTheme(obj, this);\n }\n private getStyle(style: ThemeStyle) {\n return {\n get fontSize(): FontSizePropertyDefine | undefined {\n return style.fontSize;\n },\n get fontFamily(): FontFamilyPropertyDefine | undefined {\n return style.fontFamily;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return style.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return style.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return style.fontStyle;\n },\n get bgColor(): ColorPropertyDefine | undefined {\n return style.bgColor;\n },\n get color(): ColorPropertyDefine | undefined {\n return style.color;\n },\n get borderColor(): ColorsPropertyDefine | undefined {\n return style.borderColor;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return style.borderLineWidth;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return style.borderLineDash;\n },\n get hover(): InteractionStyle | undefined {\n if (style.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return style.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineColumnBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineRowBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (style.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return style.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return style.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineColumnBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineRowBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get frameStyle(): FrameStyle | undefined {\n if (style.frameStyle) {\n return {\n get borderColor(): ColorsDef | undefined {\n return style.frameStyle?.borderColor ?? undefined;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return style.frameStyle?.borderLineWidth ?? undefined;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return style.frameStyle?.borderLineDash ?? undefined;\n }\n };\n }\n return undefined;\n },\n get padding(): PaddingsPropertyDefine | undefined {\n return style.padding;\n },\n get textAlign(): TextAlignType | undefined {\n return style.textAlign;\n },\n get textBaseline(): TextBaselineType | undefined {\n return style.textBaseline;\n },\n get textOverflow(): TextOverflow | undefined {\n return style.textOverflow;\n },\n get lineHeight(): number | undefined {\n return style.lineHeight;\n },\n get autoWrapText(): boolean | undefined {\n return style.autoWrapText;\n },\n get lineClamp(): LineClamp | undefined {\n return style.lineClamp;\n },\n get linkColor(): ColorPropertyDefine | undefined {\n return style.linkColor;\n },\n get cursor(): CursorPropertyDefine | undefined {\n return style.cursor;\n },\n get textStick(): boolean | undefined {\n return style.textStick;\n },\n get marked(): MarkedPropertyDefine | undefined {\n return style.marked;\n },\n get underline(): UnderlinePropertyDefine {\n return style.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return style.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return style.underlineDash;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return style.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return style.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return style.lineThroughDash;\n }\n };\n }\n}\n\nfunction hasThemeProperty(obj: PartialTableThemeDefine, names: string[]): boolean {\n if (obj instanceof TableTheme) {\n return obj.hasProperty(names);\n }\n\n let o: any = obj;\n if (!o) {\n return false;\n }\n for (let index = 0; index < names.length; index++) {\n const name = names[index];\n o = o[name];\n if (!o) {\n return false;\n }\n }\n return !!o;\n}\n"]}
@@ -17,5 +17,4 @@ export class LimitPromiseQueue {
17
17
  }));
18
18
  };
19
19
  }
20
- }
21
- //# sourceMappingURL=LimitPromiseQueue.js.map
20
+ }
@@ -67,4 +67,4 @@ export class NumberMap {
67
67
  }
68
68
  }
69
69
  }
70
- //# sourceMappingURL=NumberMap.js.map
70
+ //# sourceMappingURL=NumberMap.js.map
package/es/tools/Rect.js CHANGED
@@ -59,4 +59,4 @@ export class Rect {
59
59
  return this.bounds.contains(x, y);
60
60
  }
61
61
  }
62
- //# sourceMappingURL=Rect.js.map
62
+ //# sourceMappingURL=Rect.js.map
package/es/tools/calc.js CHANGED
@@ -188,4 +188,4 @@ function toPxInternal(value, context) {
188
188
  export function toPx(value, context) {
189
189
  return "string" == typeof value ? toPxInternal(value.trim(), context) : value - 0;
190
190
  }
191
- //# sourceMappingURL=calc.js.map
191
+ //# sourceMappingURL=calc.js.map
@@ -40,4 +40,4 @@ export function debounce(func, wait, options) {
40
40
  return void 0 === timerId && (timerId = startTimer(timerExpired, wait)), result;
41
41
  };
42
42
  }
43
- //# sourceMappingURL=debounce.js.map
43
+ //# sourceMappingURL=debounce.js.map
@@ -0,0 +1,10 @@
1
+ import type { PivotHeaderLayoutMap } from '../layout/pivot-header-layout';
2
+ import type { CellAddress } from '../ts-types';
3
+ export declare function diffCellAddress(oldCellIdsArr: number[][], newCellIdsArr: number[][], oldRowHeaderCellPositons: CellAddress[], layout: PivotHeaderLayoutMap): {
4
+ addCellPositions: CellAddress[];
5
+ removeCellPositions: CellAddress[];
6
+ };
7
+ export declare function diffCellIndices(oldIndexedData: (number | number[])[], currentIndexedData: (number | number[])[]): {
8
+ add: number[];
9
+ remove: number[];
10
+ };
@@ -0,0 +1,42 @@
1
+ export function diffCellAddress(oldCellIdsArr, newCellIdsArr, oldRowHeaderCellPositons, layout) {
2
+ const oldCellIds = oldCellIdsArr.map((oldCellId => oldCellId[0])), newCellIds = newCellIdsArr.map((oldCellId => oldCellId[0])), addCellPositions = [], removeCellPositions = [];
3
+ for (let i = 0; i < oldCellIds.length; i++) newCellIds.includes(oldCellIds[i]) || removeCellPositions.push(oldRowHeaderCellPositons[i]);
4
+ for (let i = 0; i < newCellIds.length; i++) oldCellIds.includes(newCellIds[i]) || addCellPositions.push(layout.getHeaderCellAdress(newCellIds[i]));
5
+ return {
6
+ addCellPositions: addCellPositions,
7
+ removeCellPositions: removeCellPositions
8
+ };
9
+ }
10
+
11
+ export function diffCellIndices(oldIndexedData, currentIndexedData) {
12
+ const add = [], remove = [];
13
+ for (let i = 0; i < oldIndexedData.length; i++) {
14
+ let removed = !0;
15
+ for (let j = 0; j < currentIndexedData.length; j++) if (checkIndex(oldIndexedData[i], currentIndexedData[j])) {
16
+ removed = !1;
17
+ break;
18
+ }
19
+ removed && remove.push(i);
20
+ }
21
+ for (let i = 0; i < currentIndexedData.length; i++) {
22
+ let added = !0;
23
+ for (let j = 0; j < oldIndexedData.length; j++) if (checkIndex(oldIndexedData[j], currentIndexedData[i])) {
24
+ added = !1;
25
+ break;
26
+ }
27
+ added && add.push(i);
28
+ }
29
+ return {
30
+ add: add,
31
+ remove: remove
32
+ };
33
+ }
34
+
35
+ function checkIndex(oldIndex, newIndex) {
36
+ if (typeof oldIndex != typeof newIndex) return !1;
37
+ if ("number" == typeof oldIndex && "number" == typeof newIndex && oldIndex !== newIndex) return !1;
38
+ if (oldIndex.length !== newIndex.length) return !1;
39
+ for (let i = 0; i < oldIndex.length; i++) if (oldIndex[i] !== newIndex[i]) return !1;
40
+ return !0;
41
+ }
42
+ //# sourceMappingURL=diff-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tools/diff-cell.ts"],"names":[],"mappings":"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","file":"diff-cell.js","sourcesContent":["import type { PivotHeaderLayoutMap } from '../layout/pivot-header-layout';\nimport type { CellAddress } from '../ts-types';\n\nexport function diffCellAddress(\n oldCellIdsArr: number[][],\n newCellIdsArr: number[][],\n oldRowHeaderCellPositons: CellAddress[],\n layout: PivotHeaderLayoutMap\n) {\n const oldCellIds = oldCellIdsArr.map(oldCellId => oldCellId[0]);\n const newCellIds = newCellIdsArr.map(oldCellId => oldCellId[0]);\n const addCellPositions = [];\n const removeCellPositions = [];\n // diff two array elements\n for (let i = 0; i < oldCellIds.length; i++) {\n if (!newCellIds.includes(oldCellIds[i])) {\n removeCellPositions.push(oldRowHeaderCellPositons[i]);\n }\n }\n for (let i = 0; i < newCellIds.length; i++) {\n if (!oldCellIds.includes(newCellIds[i])) {\n addCellPositions.push(layout.getHeaderCellAdress(newCellIds[i]));\n }\n }\n\n return {\n addCellPositions,\n removeCellPositions\n };\n}\n\n// find diff between two arrays\nexport function diffCellIndices(oldIndexedData: (number | number[])[], currentIndexedData: (number | number[])[]) {\n const add = [];\n const remove = [];\n // find removed indices\n for (let i = 0; i < oldIndexedData.length; i++) {\n let removed = true;\n for (let j = 0; j < currentIndexedData.length; j++) {\n if (checkIndex(oldIndexedData[i], currentIndexedData[j])) {\n removed = false;\n break;\n }\n }\n if (removed) {\n remove.push(i);\n }\n }\n\n // find added indices\n for (let i = 0; i < currentIndexedData.length; i++) {\n let added = true;\n for (let j = 0; j < oldIndexedData.length; j++) {\n if (checkIndex(oldIndexedData[j], currentIndexedData[i])) {\n added = false;\n break;\n }\n }\n if (added) {\n add.push(i);\n }\n }\n return { add, remove };\n}\n\nfunction checkIndex(oldIndex: number | number[], newIndex: number | number[]): boolean {\n if (typeof oldIndex !== typeof newIndex) {\n return false;\n }\n if (typeof oldIndex === 'number' && typeof newIndex === 'number' && oldIndex !== newIndex) {\n return false;\n }\n if ((oldIndex as number[]).length !== (newIndex as number[]).length) {\n return false;\n }\n for (let i = 0; i < (oldIndex as number[]).length; i++) {\n if (oldIndex[i] !== newIndex[i]) {\n return false;\n }\n }\n return true;\n}\n"]}
package/es/tools/dom.js CHANGED
@@ -2,4 +2,4 @@ export function createElement(tagName, classNames) {
2
2
  const element = document.createElement(tagName);
3
3
  return classNames && element.classList.add(...classNames), element;
4
4
  }
5
- //# sourceMappingURL=dom.js.map
5
+ //# sourceMappingURL=dom.js.map
package/es/tools/env.js CHANGED
@@ -38,5 +38,5 @@ function defaultMode() {
38
38
  return mode;
39
39
  }
40
40
 
41
- Env.dpr = 0;
42
41
  //# sourceMappingURL=env.js.map
42
+ Env.dpr = 0;
@@ -58,3 +58,14 @@ export type Either<X, Y> = ({
58
58
  } & {
59
59
  [KX in Exclude<keyof X, keyof Y>]?: never;
60
60
  });
61
+ export declare function checkIntersect(rectA: {
62
+ x1: number;
63
+ x2: number;
64
+ y1: number;
65
+ y2: number;
66
+ }, rectB: {
67
+ x1: number;
68
+ x2: number;
69
+ y1: number;
70
+ y2: number;
71
+ }): boolean;
@@ -213,4 +213,8 @@ export const emptyFn = Function.prototype;
213
213
  export function cellInPlaneRange(col, row, rangePosStart, rangePosEnd) {
214
214
  return rangePosStart.col <= col && col <= rangePosEnd.col && rangePosStart.row <= row && row <= rangePosEnd.row || rangePosEnd.col <= col && col <= rangePosStart.col && rangePosEnd.row <= row && row <= rangePosStart.row;
215
215
  }
216
+
217
+ export function checkIntersect(rectA, rectB) {
218
+ return !(rectA.x2 <= rectB.x1 || rectA.x1 >= rectB.x2 || rectA.y2 <= rectB.y1 || rectA.y1 >= rectB.y2) && !(rectA.x1 <= rectB.x1 && rectA.x2 >= rectB.x2 && rectA.y1 <= rectB.y1 && rectA.y2 >= rectB.y2 || rectB.x1 <= rectA.x1 && rectB.x2 >= rectA.x2 && rectB.y1 <= rectA.y1 && rectB.y2 >= rectA.y2);
219
+ }
216
220
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["tools/helper.ts"],"names":[],"mappings":"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","file":"helper.js","sourcesContent":["/* Adapted from cheetah-grid by yosuke ota\n *url:https://github.com/future-architect/cheetah-grid/blob/master/packages/cheetah-grid/src/js/internal/utils.ts\n *License: https://github.com/future-architect/cheetah-grid/blob/master/LICENSE\n * @license\n */\nimport { validToString } from '../tools/util';\nimport type { CellPosition, CellRange, MaybeCall } from '../ts-types';\n\nconst isNode = typeof window === 'undefined' || typeof window.window === 'undefined';\n\ntype ArrayElementPredicate = (t: any, i: number, arr: any[]) => boolean;\n\nlet arrayFind: (arr: any[], predicate: ArrayElementPredicate) => any;\nlet arrayFindIndex: (arr: any[], predicate: ArrayElementPredicate) => number;\nconst array = {\n get find(): typeof arrayFind {\n if (arrayFind) {\n return arrayFind;\n }\n if (Array.prototype.find) {\n arrayFind = (arr: any[], predicate: ArrayElementPredicate): any => Array.prototype.find.call(arr, predicate);\n } else {\n arrayFind = (arr: any[], predicate: ArrayElementPredicate): any => {\n const index = array.findIndex(arr, predicate);\n return index >= 0 ? arr[index] : undefined;\n };\n }\n return arrayFind;\n },\n get findIndex(): typeof arrayFindIndex {\n if (arrayFindIndex) {\n return arrayFindIndex;\n }\n if (Array.prototype.findIndex) {\n arrayFindIndex = (arr: any[], predicate: ArrayElementPredicate): number =>\n Array.prototype.findIndex.call(arr, predicate);\n } else {\n arrayFindIndex = (arr: any[], predicate: ArrayElementPredicate): number => {\n const { length } = arr;\n for (let i = 0; i < length; i++) {\n const value = arr[i];\n if (predicate(value, i, arr)) {\n return i;\n }\n }\n return -1;\n };\n }\n return arrayFindIndex;\n }\n};\n\nfunction analyzeUserAgent(): {\n IE: boolean;\n Edge: boolean;\n Chrome: boolean;\n Firefox: boolean;\n Safari: boolean;\n} {\n if (isNode) {\n return {\n IE: false,\n Edge: false,\n Chrome: false,\n Firefox: false,\n Safari: false\n };\n }\n const ua = window.navigator.userAgent.toLowerCase();\n return {\n IE: !!/(msie|trident)/.exec(ua),\n Edge: ua.indexOf('edge') > -1,\n Chrome: ua.indexOf('chrome') > -1 && ua.indexOf('edge') === -1,\n Firefox: ua.indexOf('firefox') > -1,\n Safari: ua.indexOf('safari') > -1 && ua.indexOf('edge') === -1\n };\n}\nconst { IE, Chrome, Firefox, Edge, Safari } = analyzeUserAgent();\n\nfunction isObject(obj: any): obj is Record<string, any> {\n return obj === Object(obj);\n}\n\nexport function omit<T, K extends keyof T>(source: T, omits: K[]): Omit<T, K> {\n const result = {} as Omit<T, K>;\n for (const key in source) {\n if (omits.indexOf(key as never) >= 0) {\n continue;\n }\n Object.defineProperty(result, key, {\n get() {\n return source[key];\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n return result;\n}\n\nexport function defaults(source: any, defs: Partial<any>): any {\n const keys: string[] = [];\n const result = {};\n for (const key in source) {\n keys.push(key);\n Object.defineProperty(result, key, {\n get() {\n const val = source[key];\n return val === undefined ? defs[key] : val;\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n for (const key in defs) {\n if (keys.indexOf(key) >= 0) {\n continue;\n }\n Object.defineProperty(result, key, {\n get() {\n const val = source[key];\n return val === undefined ? defs[key] : val;\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n return result;\n}\n\nexport function extend<T, U>(t: T, u: U): T & U;\nexport function extend<T, U, V>(t: T, u: U, v: V): T & U & V;\nexport function extend<T>(...args: T[]): T;\nexport function extend<T>(...args: T[]): T {\n const result = {} as T;\n args.forEach(source => {\n for (const key in source) {\n Object.defineProperty(result, key, {\n get() {\n return source[key];\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n });\n return result;\n}\n\nfunction applyChainSafe(obj: any, fn: (value: any, name: string) => any, ...names: string[]): any {\n let value = obj;\n for (let i = 0; i < names.length && value !== null && value !== undefined; i++) {\n value = fn(value, names[i]);\n }\n return value;\n}\nfunction getChainSafe(obj: any, ...names: string[]): any {\n return applyChainSafe(obj, (val, name) => val[name], ...names);\n}\nfunction getOrApply<_T, A extends any[]>(value: undefined, ...args: A): undefined;\nfunction getOrApply<_T, A extends any[]>(value: null, ...args: A): null;\nfunction getOrApply<T, A extends any[]>(value: MaybeCall<T, A>, ...args: A): T;\nfunction getOrApply<T, A extends any[]>(value: MaybeCall<T, A>, ...args: A): T {\n if (typeof value === 'function') {\n return (value as any)(...args);\n }\n return value;\n}\n\nfunction endsWith(str: string, searchString: string, position?: number): boolean {\n const subjectString = validToString(str);\n if (\n typeof position !== 'number' ||\n !isFinite(position) ||\n Math.floor(position) !== position ||\n position > subjectString.length\n ) {\n position = subjectString.length;\n }\n position -= searchString.length;\n const lastIndex = subjectString.lastIndexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\nexport function isPromise(data: any | Promise<any> | undefined): data is Promise<any> {\n return Boolean(data && typeof (data as Promise<any>).then === 'function');\n}\n\nfunction isTouchEvent(e: TouchEvent | MouseEvent): e is TouchEvent {\n return !!(e as TouchEvent).changedTouches;\n}\n\nfunction getIgnoreCase(obj: any, name: string): any {\n if (obj[name]) {\n return obj[name];\n }\n const l = name.toLowerCase();\n if (obj[l]) {\n return obj[l];\n }\n const u = name.toLowerCase();\n if (obj[u]) {\n return obj[u];\n }\n for (const k in obj) {\n if (k.toLowerCase() === l) {\n return obj[k];\n }\n }\n return undefined;\n}\n\nfunction toBoxArray<T>(obj: T | T[]): [T, T, T, T] {\n if (!Array.isArray(obj)) {\n return [obj /*top*/, obj /*right*/, obj /*bottom*/, obj /*left*/];\n }\n if (obj.length === 3) {\n return [obj[0] /*top*/, obj[1] /*right*/, obj[2] /*bottom*/, obj[1] /*left*/];\n }\n if (obj.length === 2) {\n return [obj[0] /*top*/, obj[1] /*right*/, obj[0] /*bottom*/, obj[1] /*left*/];\n }\n if (obj.length === 1) {\n return [obj[0] /*top*/, obj[0] /*right*/, obj[0] /*bottom*/, obj[0] /*left*/];\n }\n // return obj as [T, T, T, T];//原先这种返回方式,会造成修改引用问题\n return [obj[0] /*top*/, obj[1] /*right*/, obj[2] /*bottom*/, obj[3] /*left*/];\n}\n\nexport { isNode, getChainSafe, applyChainSafe, getOrApply, getIgnoreCase, array };\n\nexport function cellInRange(range: CellRange, col: number, row: number): boolean {\n return (\n (range.start.col <= col && col <= range.end.col && range.start.row <= row && row <= range.end.row) ||\n (range.end.col <= col && col <= range.start.col && range.end.row <= row && row <= range.start.row)\n );\n}\nexport function cellInRanges(ranges: CellRange[], col: number, row: number): boolean {\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (\n (range.start.col <= col && col <= range.end.col && range.start.row <= row && row <= range.end.row) ||\n (range.end.col <= col && col <= range.start.col && range.end.row <= row && row <= range.start.row)\n ) {\n return true;\n }\n }\n return false;\n}\nexport function adjust(range: CellRange): CellRange {\n const start = {\n col: Math.min(range.start.col, range.end.col),\n row: Math.min(range.start.row, range.end.row)\n };\n const end = {\n col: Math.max(range.start.col, range.end.col),\n row: Math.max(range.start.row, range.end.row)\n };\n return { start, end };\n}\nexport function rangeIntersected(range: CellRange, range1: CellRange): boolean {\n const rangeAdjust = adjust(range);\n const range1Adjust = adjust(range1);\n const col0 = Math.max(rangeAdjust.start.col, range1Adjust.start.col);\n const col1 = Math.min(rangeAdjust.end.col, range1Adjust.end.col);\n if (col0 <= col1) {\n const row0 = Math.max(rangeAdjust.start.row, range1Adjust.start.row);\n const row1 = Math.min(rangeAdjust.end.row, range1Adjust.end.row);\n if (row0 <= row1) {\n return true;\n }\n }\n return false;\n}\nexport function rangeContained(range: CellRange, range1: CellRange): boolean {\n const rangeAdjust = adjust(range);\n const range1Adjust = adjust(range1);\n if (\n rangeAdjust.start.col <= range1Adjust.start.col &&\n rangeAdjust.end.col >= range1Adjust.end.col &&\n rangeAdjust.start.row <= range1Adjust.start.row &&\n rangeAdjust.end.row >= range1Adjust.end.row\n ) {\n return true;\n }\n return false;\n}\nexport const browser = {\n IE,\n Edge,\n Chrome,\n Firefox,\n Safari,\n // Chrome 33554431\n // FireFox 17895588\n // IE 10737433\n heightLimit: Chrome ? 33554431 : Firefox ? 17895588 : 10737433 // default IE limit\n};\n\nexport const obj = {\n isObject\n};\nexport const str = {\n endsWith\n};\nexport const event = {\n isTouchEvent\n};\nexport const style = {\n toBoxArray\n};\nexport const emptyFn = Function.prototype;\n\nexport function cellInPlaneRange(\n col: number,\n row: number,\n rangePosStart: CellPosition,\n rangePosEnd: CellPosition\n): boolean {\n return (\n (rangePosStart.col <= col && col <= rangePosEnd.col && rangePosStart.row <= row && row <= rangePosEnd.row) ||\n (rangePosEnd.col <= col && col <= rangePosStart.col && rangePosEnd.row <= row && row <= rangePosStart.row)\n );\n}\n\n// 使用联合类型时 可解决不同属性调用飘红问题\nexport type Either<X, Y> =\n | ({\n [KX in keyof X]: X[KX];\n } & {\n [KY in Exclude<keyof Y, keyof X>]?: never;\n })\n | ({\n [KY in keyof Y]: Y[KY];\n } & {\n [KX in Exclude<keyof X, keyof Y>]?: never;\n });\n"]}
1
+ {"version":3,"sources":["tools/helper.ts"],"names":[],"mappings":"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","file":"helper.js","sourcesContent":["/* Adapted from cheetah-grid by yosuke ota\n *url:https://github.com/future-architect/cheetah-grid/blob/master/packages/cheetah-grid/src/js/internal/utils.ts\n *License: https://github.com/future-architect/cheetah-grid/blob/master/LICENSE\n * @license\n */\nimport { validToString } from '../tools/util';\nimport type { CellPosition, CellRange, MaybeCall } from '../ts-types';\n\nconst isNode = typeof window === 'undefined' || typeof window.window === 'undefined';\n\ntype ArrayElementPredicate = (t: any, i: number, arr: any[]) => boolean;\n\nlet arrayFind: (arr: any[], predicate: ArrayElementPredicate) => any;\nlet arrayFindIndex: (arr: any[], predicate: ArrayElementPredicate) => number;\nconst array = {\n get find(): typeof arrayFind {\n if (arrayFind) {\n return arrayFind;\n }\n if (Array.prototype.find) {\n arrayFind = (arr: any[], predicate: ArrayElementPredicate): any => Array.prototype.find.call(arr, predicate);\n } else {\n arrayFind = (arr: any[], predicate: ArrayElementPredicate): any => {\n const index = array.findIndex(arr, predicate);\n return index >= 0 ? arr[index] : undefined;\n };\n }\n return arrayFind;\n },\n get findIndex(): typeof arrayFindIndex {\n if (arrayFindIndex) {\n return arrayFindIndex;\n }\n if (Array.prototype.findIndex) {\n arrayFindIndex = (arr: any[], predicate: ArrayElementPredicate): number =>\n Array.prototype.findIndex.call(arr, predicate);\n } else {\n arrayFindIndex = (arr: any[], predicate: ArrayElementPredicate): number => {\n const { length } = arr;\n for (let i = 0; i < length; i++) {\n const value = arr[i];\n if (predicate(value, i, arr)) {\n return i;\n }\n }\n return -1;\n };\n }\n return arrayFindIndex;\n }\n};\n\nfunction analyzeUserAgent(): {\n IE: boolean;\n Edge: boolean;\n Chrome: boolean;\n Firefox: boolean;\n Safari: boolean;\n} {\n if (isNode) {\n return {\n IE: false,\n Edge: false,\n Chrome: false,\n Firefox: false,\n Safari: false\n };\n }\n const ua = window.navigator.userAgent.toLowerCase();\n return {\n IE: !!/(msie|trident)/.exec(ua),\n Edge: ua.indexOf('edge') > -1,\n Chrome: ua.indexOf('chrome') > -1 && ua.indexOf('edge') === -1,\n Firefox: ua.indexOf('firefox') > -1,\n Safari: ua.indexOf('safari') > -1 && ua.indexOf('edge') === -1\n };\n}\nconst { IE, Chrome, Firefox, Edge, Safari } = analyzeUserAgent();\n\nfunction isObject(obj: any): obj is Record<string, any> {\n return obj === Object(obj);\n}\n\nexport function omit<T, K extends keyof T>(source: T, omits: K[]): Omit<T, K> {\n const result = {} as Omit<T, K>;\n for (const key in source) {\n if (omits.indexOf(key as never) >= 0) {\n continue;\n }\n Object.defineProperty(result, key, {\n get() {\n return source[key];\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n return result;\n}\n\nexport function defaults(source: any, defs: Partial<any>): any {\n const keys: string[] = [];\n const result = {};\n for (const key in source) {\n keys.push(key);\n Object.defineProperty(result, key, {\n get() {\n const val = source[key];\n return val === undefined ? defs[key] : val;\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n for (const key in defs) {\n if (keys.indexOf(key) >= 0) {\n continue;\n }\n Object.defineProperty(result, key, {\n get() {\n const val = source[key];\n return val === undefined ? defs[key] : val;\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n return result;\n}\n\nexport function extend<T, U>(t: T, u: U): T & U;\nexport function extend<T, U, V>(t: T, u: U, v: V): T & U & V;\nexport function extend<T>(...args: T[]): T;\nexport function extend<T>(...args: T[]): T {\n const result = {} as T;\n args.forEach(source => {\n for (const key in source) {\n Object.defineProperty(result, key, {\n get() {\n return source[key];\n },\n set(val) {\n source[key] = val;\n },\n configurable: true,\n enumerable: true\n });\n }\n });\n return result;\n}\n\nfunction applyChainSafe(obj: any, fn: (value: any, name: string) => any, ...names: string[]): any {\n let value = obj;\n for (let i = 0; i < names.length && value !== null && value !== undefined; i++) {\n value = fn(value, names[i]);\n }\n return value;\n}\nfunction getChainSafe(obj: any, ...names: string[]): any {\n return applyChainSafe(obj, (val, name) => val[name], ...names);\n}\nfunction getOrApply<_T, A extends any[]>(value: undefined, ...args: A): undefined;\nfunction getOrApply<_T, A extends any[]>(value: null, ...args: A): null;\nfunction getOrApply<T, A extends any[]>(value: MaybeCall<T, A>, ...args: A): T;\nfunction getOrApply<T, A extends any[]>(value: MaybeCall<T, A>, ...args: A): T {\n if (typeof value === 'function') {\n return (value as any)(...args);\n }\n return value;\n}\n\nfunction endsWith(str: string, searchString: string, position?: number): boolean {\n const subjectString = validToString(str);\n if (\n typeof position !== 'number' ||\n !isFinite(position) ||\n Math.floor(position) !== position ||\n position > subjectString.length\n ) {\n position = subjectString.length;\n }\n position -= searchString.length;\n const lastIndex = subjectString.lastIndexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\nexport function isPromise(data: any | Promise<any> | undefined): data is Promise<any> {\n return Boolean(data && typeof (data as Promise<any>).then === 'function');\n}\n\nfunction isTouchEvent(e: TouchEvent | MouseEvent): e is TouchEvent {\n return !!(e as TouchEvent).changedTouches;\n}\n\nfunction getIgnoreCase(obj: any, name: string): any {\n if (obj[name]) {\n return obj[name];\n }\n const l = name.toLowerCase();\n if (obj[l]) {\n return obj[l];\n }\n const u = name.toLowerCase();\n if (obj[u]) {\n return obj[u];\n }\n for (const k in obj) {\n if (k.toLowerCase() === l) {\n return obj[k];\n }\n }\n return undefined;\n}\n\nfunction toBoxArray<T>(obj: T | T[]): [T, T, T, T] {\n if (!Array.isArray(obj)) {\n return [obj /*top*/, obj /*right*/, obj /*bottom*/, obj /*left*/];\n }\n if (obj.length === 3) {\n return [obj[0] /*top*/, obj[1] /*right*/, obj[2] /*bottom*/, obj[1] /*left*/];\n }\n if (obj.length === 2) {\n return [obj[0] /*top*/, obj[1] /*right*/, obj[0] /*bottom*/, obj[1] /*left*/];\n }\n if (obj.length === 1) {\n return [obj[0] /*top*/, obj[0] /*right*/, obj[0] /*bottom*/, obj[0] /*left*/];\n }\n // return obj as [T, T, T, T];//原先这种返回方式,会造成修改引用问题\n return [obj[0] /*top*/, obj[1] /*right*/, obj[2] /*bottom*/, obj[3] /*left*/];\n}\n\nexport { isNode, getChainSafe, applyChainSafe, getOrApply, getIgnoreCase, array };\n\nexport function cellInRange(range: CellRange, col: number, row: number): boolean {\n return (\n (range.start.col <= col && col <= range.end.col && range.start.row <= row && row <= range.end.row) ||\n (range.end.col <= col && col <= range.start.col && range.end.row <= row && row <= range.start.row)\n );\n}\nexport function cellInRanges(ranges: CellRange[], col: number, row: number): boolean {\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (\n (range.start.col <= col && col <= range.end.col && range.start.row <= row && row <= range.end.row) ||\n (range.end.col <= col && col <= range.start.col && range.end.row <= row && row <= range.start.row)\n ) {\n return true;\n }\n }\n return false;\n}\nexport function adjust(range: CellRange): CellRange {\n const start = {\n col: Math.min(range.start.col, range.end.col),\n row: Math.min(range.start.row, range.end.row)\n };\n const end = {\n col: Math.max(range.start.col, range.end.col),\n row: Math.max(range.start.row, range.end.row)\n };\n return { start, end };\n}\nexport function rangeIntersected(range: CellRange, range1: CellRange): boolean {\n const rangeAdjust = adjust(range);\n const range1Adjust = adjust(range1);\n const col0 = Math.max(rangeAdjust.start.col, range1Adjust.start.col);\n const col1 = Math.min(rangeAdjust.end.col, range1Adjust.end.col);\n if (col0 <= col1) {\n const row0 = Math.max(rangeAdjust.start.row, range1Adjust.start.row);\n const row1 = Math.min(rangeAdjust.end.row, range1Adjust.end.row);\n if (row0 <= row1) {\n return true;\n }\n }\n return false;\n}\nexport function rangeContained(range: CellRange, range1: CellRange): boolean {\n const rangeAdjust = adjust(range);\n const range1Adjust = adjust(range1);\n if (\n rangeAdjust.start.col <= range1Adjust.start.col &&\n rangeAdjust.end.col >= range1Adjust.end.col &&\n rangeAdjust.start.row <= range1Adjust.start.row &&\n rangeAdjust.end.row >= range1Adjust.end.row\n ) {\n return true;\n }\n return false;\n}\nexport const browser = {\n IE,\n Edge,\n Chrome,\n Firefox,\n Safari,\n // Chrome 33554431\n // FireFox 17895588\n // IE 10737433\n heightLimit: Chrome ? 33554431 : Firefox ? 17895588 : 10737433 // default IE limit\n};\n\nexport const obj = {\n isObject\n};\nexport const str = {\n endsWith\n};\nexport const event = {\n isTouchEvent\n};\nexport const style = {\n toBoxArray\n};\nexport const emptyFn = Function.prototype;\n\nexport function cellInPlaneRange(\n col: number,\n row: number,\n rangePosStart: CellPosition,\n rangePosEnd: CellPosition\n): boolean {\n return (\n (rangePosStart.col <= col && col <= rangePosEnd.col && rangePosStart.row <= row && row <= rangePosEnd.row) ||\n (rangePosEnd.col <= col && col <= rangePosStart.col && rangePosEnd.row <= row && row <= rangePosStart.row)\n );\n}\n\n// 使用联合类型时 可解决不同属性调用飘红问题\nexport type Either<X, Y> =\n | ({\n [KX in keyof X]: X[KX];\n } & {\n [KY in Exclude<keyof Y, keyof X>]?: never;\n })\n | ({\n [KY in keyof Y]: Y[KY];\n } & {\n [KX in Exclude<keyof X, keyof Y>]?: never;\n });\n\n/** 判断两个矩形是否相交,不包括包含关系,如果相交返回true,否则返回falses */\nexport function checkIntersect(\n rectA: {\n x1: number;\n x2: number;\n y1: number;\n y2: number;\n },\n rectB: {\n x1: number;\n x2: number;\n y1: number;\n y2: number;\n }\n) {\n // 判断两个矩形是否有重叠部分\n if (rectA.x2 <= rectB.x1 || rectA.x1 >= rectB.x2 || rectA.y2 <= rectB.y1 || rectA.y1 >= rectB.y2) {\n return false;\n }\n // 判断是否为包含关系\n if (\n (rectA.x1 <= rectB.x1 && rectA.x2 >= rectB.x2 && rectA.y1 <= rectB.y1 && rectA.y2 >= rectB.y2) ||\n (rectB.x1 <= rectA.x1 && rectB.x2 >= rectA.x2 && rectB.y1 <= rectA.y1 && rectB.y2 >= rectA.y2)\n ) {\n return false;\n }\n return true;\n}\n"]}
@@ -24,4 +24,4 @@ export class BaseTooltip {
24
24
  this._getTooltipElement()._locate(this._table, col, row, position, referencePosition, confine);
25
25
  }
26
26
  }
27
- //# sourceMappingURL=BaseTooltip.js.map
27
+ //# sourceMappingURL=BaseTooltip.js.map
@@ -6,4 +6,5 @@ export class BubbleTooltip extends BaseTooltip {
6
6
  createTooltipElementInternal() {
7
7
  return new BubbleTooltipElement;
8
8
  }
9
- }
9
+ }
10
+ //# sourceMappingURL=Tooltip.js.map
@@ -128,4 +128,4 @@ export class TooltipHandler {
128
128
  return JSON.stringify(tooltipOptions) === JSON.stringify(null === (_a = this._attachInfo) || void 0 === _a ? void 0 : _a.tooltipOptions);
129
129
  }
130
130
  }
131
- //# sourceMappingURL=TooltipHandler.js.map
131
+ //# sourceMappingURL=TooltipHandler.js.map
@@ -113,7 +113,7 @@ export interface BaseTableConstructorOptions {
113
113
  parentElement?: HTMLElement | null;
114
114
  columnResizeMode?: 'all' | 'none' | 'header' | 'body';
115
115
  dragHeaderMode?: 'all' | 'none' | 'column' | 'row';
116
- showPin?: boolean;
116
+ showFrozenIcon?: boolean;
117
117
  padding?: {
118
118
  top?: number;
119
119
  bottom?: number;
@@ -152,6 +152,7 @@ export interface BaseTableConstructorOptions {
152
152
  maxTooltipCharactersNumber?: number;
153
153
  maxOperatableRecordCount?: number;
154
154
  limitMaxAutoWidth?: boolean | number;
155
+ maintainedDataCount?: number;
155
156
  }
156
157
  export interface BaseTableAPI {
157
158
  rowCount: number;
@@ -165,7 +166,7 @@ export interface BaseTableAPI {
165
166
  defaultColWidth: number;
166
167
  defaultHeaderColWidth: number | number[];
167
168
  keyboardOptions: TableKeyboardOptions | null;
168
- showPin: boolean;
169
+ showFrozenIcon: boolean;
169
170
  readonly canvas: HTMLCanvasElement;
170
171
  readonly visibleRowCount: number;
171
172
  readonly visibleColCount: number;
@@ -241,6 +242,7 @@ export interface BaseTableAPI {
241
242
  dispose: () => void;
242
243
  }) => void;
243
244
  _getCellStyle: (col: number, row: number) => FullExtendStyle;
245
+ clearCellStyleCache: () => void;
244
246
  getFrozenRowsHeight: () => number;
245
247
  getFrozenColsWidth: () => number;
246
248
  selectCell: (col: number, row: number) => void;
@@ -301,6 +303,10 @@ export interface BaseTableAPI {
301
303
  isListTable: () => boolean;
302
304
  isPivotTable: (() => boolean) & (() => boolean);
303
305
  _clearColRangeWidthsMap: (col?: number) => void;
306
+ _clearRowRangeHeightsMap: (row?: number) => void;
307
+ toggleHierarchyState: (col: number, row: number) => void;
308
+ resize: () => void;
309
+ getMergeCellRect: (col: number, row: number) => Rect;
304
310
  }
305
311
  export interface ListTableProtected extends IBaseTableProtected {
306
312
  columns: ColumnsDefine;
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=base-table.js.map
2
+ //# sourceMappingURL=base-table.js.map