@visactor/vtable 1.17.0-alpha.4 → 1.17.1-alpha.0

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 (364) hide show
  1. package/cjs/ListTable-all.js +3 -2
  2. package/cjs/ListTable-all.js.map +1 -1
  3. package/cjs/ListTable.d.ts +4 -0
  4. package/cjs/ListTable.js +13 -1
  5. package/cjs/ListTable.js.map +1 -1
  6. package/cjs/PivotChart.d.ts +2 -0
  7. package/cjs/PivotChart.js +90 -31
  8. package/cjs/PivotChart.js.map +1 -1
  9. package/cjs/PivotTable.d.ts +1 -0
  10. package/cjs/PivotTable.js +29 -26
  11. package/cjs/PivotTable.js.map +1 -1
  12. package/cjs/body-helper/body-helper.d.ts +3 -1
  13. package/cjs/body-helper/body-helper.js +8 -3
  14. package/cjs/body-helper/body-helper.js.map +1 -1
  15. package/cjs/body-helper/style/ButtonStyle.d.ts +45 -0
  16. package/cjs/body-helper/style/ButtonStyle.js +110 -0
  17. package/cjs/body-helper/style/ButtonStyle.js.map +1 -0
  18. package/cjs/body-helper/style/SwitchStyle.d.ts +36 -0
  19. package/cjs/body-helper/style/SwitchStyle.js +90 -0
  20. package/cjs/body-helper/style/SwitchStyle.js.map +1 -0
  21. package/cjs/body-helper/style.js +5 -4
  22. package/cjs/body-helper/style.js.map +1 -1
  23. package/cjs/components/axis/axis.d.ts +1 -1
  24. package/cjs/components/axis/axis.js +3 -3
  25. package/cjs/components/axis/axis.js.map +1 -1
  26. package/cjs/components/axis/get-axis-component-size.js.map +1 -1
  27. package/cjs/components/axis/label-overlap.d.ts +1 -1
  28. package/cjs/components/axis/label-overlap.js.map +1 -1
  29. package/cjs/components/legend/continue-legend/continue-legend.d.ts +1 -1
  30. package/cjs/components/legend/continue-legend/continue-legend.js +3 -3
  31. package/cjs/components/legend/continue-legend/continue-legend.js.map +1 -1
  32. package/cjs/components/legend/discrete-legend/discrete-legend.d.ts +2 -2
  33. package/cjs/components/legend/discrete-legend/discrete-legend.js +5 -5
  34. package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  35. package/cjs/components/menu/dom/MenuHandler.js +10 -3
  36. package/cjs/components/menu/dom/MenuHandler.js.map +1 -1
  37. package/cjs/components/title/title.d.ts +2 -2
  38. package/cjs/components/title/title.js +2 -2
  39. package/cjs/components/title/title.js.map +1 -1
  40. package/cjs/core/BaseTable.d.ts +5 -1
  41. package/cjs/core/BaseTable.js +30 -27
  42. package/cjs/core/BaseTable.js.map +1 -1
  43. package/cjs/core/TABLE_EVENT_TYPE.d.ts +2 -0
  44. package/cjs/core/TABLE_EVENT_TYPE.js +3 -1
  45. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  46. package/cjs/core/utils/get-cell-position.js +2 -2
  47. package/cjs/core/utils/get-cell-position.js.map +1 -1
  48. package/cjs/edit/edit-manager.d.ts +6 -4
  49. package/cjs/edit/edit-manager.js +16 -12
  50. package/cjs/edit/edit-manager.js.map +1 -1
  51. package/cjs/event/component/button.d.ts +2 -0
  52. package/cjs/event/component/button.js +21 -0
  53. package/cjs/event/component/button.js.map +1 -0
  54. package/cjs/event/event.js +6 -6
  55. package/cjs/event/event.js.map +1 -1
  56. package/cjs/event/listener/container-dom.js +1 -1
  57. package/cjs/event/listener/container-dom.js.map +1 -1
  58. package/cjs/event/listener/table-group.js +20 -0
  59. package/cjs/event/listener/table-group.js.map +1 -1
  60. package/cjs/header-helper/header-helper.js +30 -8
  61. package/cjs/header-helper/header-helper.js.map +1 -1
  62. package/cjs/index.d.ts +1 -1
  63. package/cjs/index.js +1 -1
  64. package/cjs/index.js.map +1 -1
  65. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  66. package/cjs/plugins/custom-cell-style.d.ts +2 -1
  67. package/cjs/plugins/custom-cell-style.js +11 -1
  68. package/cjs/plugins/custom-cell-style.js.map +1 -1
  69. package/cjs/render/jsx/index.d.ts +1 -1
  70. package/cjs/render/jsx/index.js +4 -4
  71. package/cjs/render/jsx/index.js.map +1 -1
  72. package/cjs/render/layout/index.d.ts +1 -1
  73. package/cjs/render/layout/index.js +3 -3
  74. package/cjs/render/layout/index.js.map +1 -1
  75. package/cjs/render/layout/tag.d.ts +2 -2
  76. package/cjs/render/layout/tag.js +2 -2
  77. package/cjs/render/layout/tag.js.map +1 -1
  78. package/cjs/render/layout/text.js.map +1 -1
  79. package/cjs/scenegraph/component/cell-content.d.ts +4 -4
  80. package/cjs/scenegraph/component/cell-content.js +1 -1
  81. package/cjs/scenegraph/component/cell-content.js.map +1 -1
  82. package/cjs/scenegraph/component/menu.js +6 -1
  83. package/cjs/scenegraph/component/menu.js.map +1 -1
  84. package/cjs/scenegraph/component/table-component.d.ts +1 -1
  85. package/cjs/scenegraph/component/table-component.js +3 -3
  86. package/cjs/scenegraph/component/table-component.js.map +1 -1
  87. package/cjs/scenegraph/graphic/chart.d.ts +2 -0
  88. package/cjs/scenegraph/graphic/chart.js +4 -4
  89. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  90. package/cjs/scenegraph/graphic/contributions/chart-render-helper.d.ts +2 -0
  91. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +11 -9
  92. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  93. package/cjs/scenegraph/graphic/contributions/chart-render.js +2 -2
  94. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  95. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
  96. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  97. package/cjs/scenegraph/graphic/icon.d.ts +8 -2
  98. package/cjs/scenegraph/graphic/icon.js +13 -1
  99. package/cjs/scenegraph/graphic/icon.js.map +1 -1
  100. package/cjs/scenegraph/group-creater/cell-helper.js +4 -0
  101. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  102. package/cjs/scenegraph/group-creater/cell-type/button-cell.d.ts +6 -0
  103. package/cjs/scenegraph/group-creater/cell-type/button-cell.js +144 -0
  104. package/cjs/scenegraph/group-creater/cell-type/button-cell.js.map +1 -0
  105. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +4 -2
  106. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  107. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +2 -2
  108. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  109. package/cjs/scenegraph/group-creater/cell-type/index.d.ts +2 -0
  110. package/cjs/scenegraph/group-creater/cell-type/index.js +14 -2
  111. package/cjs/scenegraph/group-creater/cell-type/index.js.map +1 -1
  112. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js +2 -2
  113. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  114. package/cjs/scenegraph/group-creater/cell-type/switch-cell.d.ts +6 -0
  115. package/cjs/scenegraph/group-creater/cell-type/switch-cell.js +152 -0
  116. package/cjs/scenegraph/group-creater/cell-type/switch-cell.js.map +1 -0
  117. package/cjs/scenegraph/layout/compute-col-width.js +23 -7
  118. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  119. package/cjs/scenegraph/layout/compute-row-height.js +4 -2
  120. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  121. package/cjs/scenegraph/layout/height-util.d.ts +2 -0
  122. package/cjs/scenegraph/layout/height-util.js +40 -3
  123. package/cjs/scenegraph/layout/height-util.js.map +1 -1
  124. package/cjs/scenegraph/scenegraph.d.ts +1 -1
  125. package/cjs/scenegraph/scenegraph.js +8 -7
  126. package/cjs/scenegraph/scenegraph.js.map +1 -1
  127. package/cjs/scenegraph/utils/cell-border-stroke-width.d.ts +1 -1
  128. package/cjs/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
  129. package/cjs/scenegraph/utils/text-icon-layout.d.ts +2 -2
  130. package/cjs/scenegraph/utils/text-icon-layout.js +7 -6
  131. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  132. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  133. package/cjs/state/radio/radio.js +1 -1
  134. package/cjs/state/radio/radio.js.map +1 -1
  135. package/cjs/state/select/custom-select.js +2 -2
  136. package/cjs/state/select/custom-select.js.map +1 -1
  137. package/cjs/state/state.js +6 -2
  138. package/cjs/state/state.js.map +1 -1
  139. package/cjs/themes/theme.d.ts +4 -0
  140. package/cjs/themes/theme.js +19 -2
  141. package/cjs/themes/theme.js.map +1 -1
  142. package/cjs/tools/icons.d.ts +2 -2
  143. package/cjs/tools/icons.js +1 -1
  144. package/cjs/tools/icons.js.map +1 -1
  145. package/cjs/ts-types/base-table.d.ts +23 -4
  146. package/cjs/ts-types/base-table.js.map +1 -1
  147. package/cjs/ts-types/column/style.d.ts +32 -0
  148. package/cjs/ts-types/column/style.js.map +1 -1
  149. package/cjs/ts-types/column/type.d.ts +1 -1
  150. package/cjs/ts-types/column/type.js.map +1 -1
  151. package/cjs/ts-types/common.d.ts +2 -1
  152. package/cjs/ts-types/common.js.map +1 -1
  153. package/cjs/ts-types/component/legend.d.ts +1 -1
  154. package/cjs/ts-types/component/legend.js.map +1 -1
  155. package/cjs/ts-types/events.d.ts +10 -0
  156. package/cjs/ts-types/events.js.map +1 -1
  157. package/cjs/ts-types/icon.d.ts +6 -6
  158. package/cjs/ts-types/icon.js.map +1 -1
  159. package/cjs/ts-types/list-table/define/button-define.d.ts +9 -0
  160. package/cjs/ts-types/list-table/define/{Composite-define.js → button-define.js} +1 -1
  161. package/cjs/ts-types/list-table/define/button-define.js.map +1 -0
  162. package/cjs/ts-types/list-table/define/composite-define.js +6 -0
  163. package/{es/ts-types/list-table/define/Composite-define.js.map → cjs/ts-types/list-table/define/composite-define.js.map} +1 -1
  164. package/cjs/ts-types/list-table/define/index.d.ts +7 -3
  165. package/cjs/ts-types/list-table/define/index.js.map +1 -1
  166. package/cjs/ts-types/list-table/define/switch-define.d.ts +11 -0
  167. package/cjs/ts-types/list-table/define/switch-define.js +6 -0
  168. package/cjs/ts-types/list-table/define/switch-define.js.map +1 -0
  169. package/cjs/ts-types/list-table/layout-map/api.d.ts +5 -1
  170. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  171. package/cjs/ts-types/pivot-table/dimension/basic-dimension.d.ts +5 -1
  172. package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
  173. package/cjs/ts-types/pivot-table/indicator/basic-indicator.d.ts +5 -1
  174. package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  175. package/cjs/ts-types/table-engine.d.ts +8 -0
  176. package/cjs/ts-types/table-engine.js.map +1 -1
  177. package/cjs/ts-types/theme.d.ts +4 -2
  178. package/cjs/ts-types/theme.js.map +1 -1
  179. package/cjs/vrender.js.map +1 -1
  180. package/dist/vtable.js +1172 -89
  181. package/dist/vtable.min.js +2 -2
  182. package/es/ListTable-all.js +3 -2
  183. package/es/ListTable-all.js.map +1 -1
  184. package/es/ListTable.d.ts +4 -0
  185. package/es/ListTable.js +13 -1
  186. package/es/ListTable.js.map +1 -1
  187. package/es/PivotChart.d.ts +2 -0
  188. package/es/PivotChart.js +91 -30
  189. package/es/PivotChart.js.map +1 -1
  190. package/es/PivotTable.d.ts +1 -0
  191. package/es/PivotTable.js +29 -26
  192. package/es/PivotTable.js.map +1 -1
  193. package/es/body-helper/body-helper.d.ts +3 -1
  194. package/es/body-helper/body-helper.js +11 -2
  195. package/es/body-helper/body-helper.js.map +1 -1
  196. package/es/body-helper/style/ButtonStyle.d.ts +45 -0
  197. package/es/body-helper/style/ButtonStyle.js +102 -0
  198. package/es/body-helper/style/ButtonStyle.js.map +1 -0
  199. package/es/body-helper/style/SwitchStyle.d.ts +36 -0
  200. package/es/body-helper/style/SwitchStyle.js +82 -0
  201. package/es/body-helper/style/SwitchStyle.js.map +1 -0
  202. package/es/body-helper/style.js +8 -3
  203. package/es/body-helper/style.js.map +1 -1
  204. package/es/components/axis/axis.d.ts +1 -1
  205. package/es/components/axis/axis.js +1 -1
  206. package/es/components/axis/axis.js.map +1 -1
  207. package/es/components/axis/get-axis-component-size.js.map +1 -1
  208. package/es/components/axis/label-overlap.d.ts +1 -1
  209. package/es/components/axis/label-overlap.js.map +1 -1
  210. package/es/components/legend/continue-legend/continue-legend.d.ts +1 -1
  211. package/es/components/legend/continue-legend/continue-legend.js +1 -1
  212. package/es/components/legend/continue-legend/continue-legend.js.map +1 -1
  213. package/es/components/legend/discrete-legend/discrete-legend.d.ts +2 -2
  214. package/es/components/legend/discrete-legend/discrete-legend.js +1 -1
  215. package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  216. package/es/components/menu/dom/MenuHandler.js +10 -3
  217. package/es/components/menu/dom/MenuHandler.js.map +1 -1
  218. package/es/components/title/title.d.ts +2 -2
  219. package/es/components/title/title.js +1 -1
  220. package/es/components/title/title.js.map +1 -1
  221. package/es/core/BaseTable.d.ts +5 -1
  222. package/es/core/BaseTable.js +30 -27
  223. package/es/core/BaseTable.js.map +1 -1
  224. package/es/core/TABLE_EVENT_TYPE.d.ts +2 -0
  225. package/es/core/TABLE_EVENT_TYPE.js +3 -1
  226. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  227. package/es/core/utils/get-cell-position.js +2 -2
  228. package/es/core/utils/get-cell-position.js.map +1 -1
  229. package/es/edit/edit-manager.d.ts +6 -4
  230. package/es/edit/edit-manager.js +16 -12
  231. package/es/edit/edit-manager.js.map +1 -1
  232. package/es/event/component/button.d.ts +2 -0
  233. package/es/event/component/button.js +13 -0
  234. package/es/event/component/button.js.map +1 -0
  235. package/es/event/event.js +7 -5
  236. package/es/event/event.js.map +1 -1
  237. package/es/event/listener/container-dom.js +1 -1
  238. package/es/event/listener/container-dom.js.map +1 -1
  239. package/es/event/listener/table-group.js +18 -0
  240. package/es/event/listener/table-group.js.map +1 -1
  241. package/es/header-helper/header-helper.js +30 -8
  242. package/es/header-helper/header-helper.js.map +1 -1
  243. package/es/index.d.ts +1 -1
  244. package/es/index.js +1 -1
  245. package/es/index.js.map +1 -1
  246. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  247. package/es/plugins/custom-cell-style.d.ts +2 -1
  248. package/es/plugins/custom-cell-style.js +12 -2
  249. package/es/plugins/custom-cell-style.js.map +1 -1
  250. package/es/render/jsx/index.d.ts +1 -1
  251. package/es/render/jsx/index.js +1 -1
  252. package/es/render/jsx/index.js.map +1 -1
  253. package/es/render/layout/index.d.ts +1 -1
  254. package/es/render/layout/index.js +1 -1
  255. package/es/render/layout/index.js.map +1 -1
  256. package/es/render/layout/tag.d.ts +2 -2
  257. package/es/render/layout/tag.js +1 -1
  258. package/es/render/layout/tag.js.map +1 -1
  259. package/es/render/layout/text.js.map +1 -1
  260. package/es/scenegraph/component/cell-content.d.ts +4 -4
  261. package/es/scenegraph/component/cell-content.js +2 -2
  262. package/es/scenegraph/component/cell-content.js.map +1 -1
  263. package/es/scenegraph/component/menu.js +6 -1
  264. package/es/scenegraph/component/menu.js.map +1 -1
  265. package/es/scenegraph/component/table-component.d.ts +1 -1
  266. package/es/scenegraph/component/table-component.js +1 -1
  267. package/es/scenegraph/component/table-component.js.map +1 -1
  268. package/es/scenegraph/graphic/chart.d.ts +2 -0
  269. package/es/scenegraph/graphic/chart.js +4 -4
  270. package/es/scenegraph/graphic/chart.js.map +1 -1
  271. package/es/scenegraph/graphic/contributions/chart-render-helper.d.ts +2 -0
  272. package/es/scenegraph/graphic/contributions/chart-render-helper.js +9 -9
  273. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  274. package/es/scenegraph/graphic/contributions/chart-render.js +2 -2
  275. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  276. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
  277. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  278. package/es/scenegraph/graphic/icon.d.ts +8 -2
  279. package/es/scenegraph/graphic/icon.js +11 -1
  280. package/es/scenegraph/graphic/icon.js.map +1 -1
  281. package/es/scenegraph/group-creater/cell-helper.js +4 -0
  282. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  283. package/es/scenegraph/group-creater/cell-type/button-cell.d.ts +6 -0
  284. package/es/scenegraph/group-creater/cell-type/button-cell.js +135 -0
  285. package/es/scenegraph/group-creater/cell-type/button-cell.js.map +1 -0
  286. package/es/scenegraph/group-creater/cell-type/chart-cell.js +4 -2
  287. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  288. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +1 -1
  289. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  290. package/es/scenegraph/group-creater/cell-type/index.d.ts +2 -0
  291. package/es/scenegraph/group-creater/cell-type/index.js +12 -0
  292. package/es/scenegraph/group-creater/cell-type/index.js.map +1 -1
  293. package/es/scenegraph/group-creater/cell-type/radio-cell.js +1 -1
  294. package/es/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  295. package/es/scenegraph/group-creater/cell-type/switch-cell.d.ts +6 -0
  296. package/es/scenegraph/group-creater/cell-type/switch-cell.js +150 -0
  297. package/es/scenegraph/group-creater/cell-type/switch-cell.js.map +1 -0
  298. package/es/scenegraph/layout/compute-col-width.js +24 -6
  299. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  300. package/es/scenegraph/layout/compute-row-height.js +2 -2
  301. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  302. package/es/scenegraph/layout/height-util.d.ts +2 -0
  303. package/es/scenegraph/layout/height-util.js +35 -2
  304. package/es/scenegraph/layout/height-util.js.map +1 -1
  305. package/es/scenegraph/scenegraph.d.ts +1 -1
  306. package/es/scenegraph/scenegraph.js +7 -6
  307. package/es/scenegraph/scenegraph.js.map +1 -1
  308. package/es/scenegraph/utils/cell-border-stroke-width.d.ts +1 -1
  309. package/es/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
  310. package/es/scenegraph/utils/text-icon-layout.d.ts +2 -2
  311. package/es/scenegraph/utils/text-icon-layout.js +9 -8
  312. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  313. package/es/scenegraph/utils/text-measure.js.map +1 -1
  314. package/es/state/radio/radio.js +1 -1
  315. package/es/state/radio/radio.js.map +1 -1
  316. package/es/state/select/custom-select.js +1 -1
  317. package/es/state/select/custom-select.js.map +1 -1
  318. package/es/state/state.js +6 -2
  319. package/es/state/state.js.map +1 -1
  320. package/es/themes/theme.d.ts +4 -0
  321. package/es/themes/theme.js +17 -2
  322. package/es/themes/theme.js.map +1 -1
  323. package/es/tools/icons.d.ts +2 -2
  324. package/es/tools/icons.js +1 -1
  325. package/es/tools/icons.js.map +1 -1
  326. package/es/ts-types/base-table.d.ts +23 -4
  327. package/es/ts-types/base-table.js.map +1 -1
  328. package/es/ts-types/column/style.d.ts +32 -0
  329. package/es/ts-types/column/style.js.map +1 -1
  330. package/es/ts-types/column/type.d.ts +1 -1
  331. package/es/ts-types/column/type.js.map +1 -1
  332. package/es/ts-types/common.d.ts +2 -1
  333. package/es/ts-types/common.js.map +1 -1
  334. package/es/ts-types/component/legend.d.ts +1 -1
  335. package/es/ts-types/component/legend.js.map +1 -1
  336. package/es/ts-types/events.d.ts +10 -0
  337. package/es/ts-types/events.js.map +1 -1
  338. package/es/ts-types/icon.d.ts +6 -6
  339. package/es/ts-types/icon.js.map +1 -1
  340. package/es/ts-types/list-table/define/button-define.d.ts +9 -0
  341. package/es/ts-types/list-table/define/button-define.js +2 -0
  342. package/es/ts-types/list-table/define/button-define.js.map +1 -0
  343. package/es/ts-types/list-table/define/composite-define.js +2 -0
  344. package/{cjs/ts-types/list-table/define/Composite-define.js.map → es/ts-types/list-table/define/composite-define.js.map} +1 -1
  345. package/es/ts-types/list-table/define/index.d.ts +7 -3
  346. package/es/ts-types/list-table/define/index.js.map +1 -1
  347. package/es/ts-types/list-table/define/switch-define.d.ts +11 -0
  348. package/es/ts-types/list-table/define/switch-define.js +2 -0
  349. package/es/ts-types/list-table/define/switch-define.js.map +1 -0
  350. package/es/ts-types/list-table/layout-map/api.d.ts +5 -1
  351. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  352. package/es/ts-types/pivot-table/dimension/basic-dimension.d.ts +5 -1
  353. package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
  354. package/es/ts-types/pivot-table/indicator/basic-indicator.d.ts +5 -1
  355. package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  356. package/es/ts-types/table-engine.d.ts +8 -0
  357. package/es/ts-types/table-engine.js.map +1 -1
  358. package/es/ts-types/theme.d.ts +4 -2
  359. package/es/ts-types/theme.js.map +1 -1
  360. package/es/vrender.js.map +1 -1
  361. package/package.json +5 -5
  362. package/es/ts-types/list-table/define/Composite-define.js +0 -2
  363. /package/cjs/ts-types/list-table/define/{Composite-define.d.ts → composite-define.d.ts} +0 -0
  364. /package/es/ts-types/list-table/define/{Composite-define.d.ts → composite-define.d.ts} +0 -0
@@ -3,13 +3,15 @@ import { Style } from './style/Style';
3
3
  import type { BaseTableAPI } from '../ts-types/base-table';
4
4
  import { CheckboxStyle } from './style/CheckboxStyle';
5
5
  import { RadioStyle } from './style/RadioStyle';
6
+ import { SwitchStyle } from './style/SwitchStyle';
7
+ import { ButtonStyle } from './style/ButtonStyle';
6
8
  export declare class BodyHelper {
7
9
  expandIcon: SvgIcon;
8
10
  collapseIcon: SvgIcon;
9
11
  _table: BaseTableAPI;
10
12
  constructor(_table: BaseTableAPI);
11
13
  getIcons(col: number, row: number, cellValue: any, dataValue: any, context: CanvasRenderingContext2D): ColumnIconOption[];
12
- getStyleClass(cellType: 'text' | 'link' | 'image' | 'video' | 'chart' | 'sparkline' | 'progressbar' | 'chart' | 'checkbox' | 'radio'): typeof Style | typeof RadioStyle | typeof CheckboxStyle;
14
+ getStyleClass(cellType: 'text' | 'link' | 'image' | 'video' | 'chart' | 'sparkline' | 'progressbar' | 'chart' | 'checkbox' | 'radio' | 'switch' | 'button'): typeof Style | typeof RadioStyle | typeof SwitchStyle | typeof ButtonStyle | typeof CheckboxStyle;
13
15
  getCellIconFromRecordValue(icon: ColumnIconOption, col: number, row: number): ColumnIconOption;
14
16
  getCellIconFromRecordValue(icon: ColumnIconOption[], col: number, row: number): ColumnIconOption[];
15
17
  getCellIconFromRecordValue(icon: ColumnIconOption | ColumnIconOption[], col: number, row: number): ColumnIconOption | ColumnIconOption[];
@@ -20,6 +20,10 @@ import { RadioStyle } from "./style/RadioStyle";
20
20
 
21
21
  import { isValid } from "@visactor/vutils";
22
22
 
23
+ import { SwitchStyle } from "./style/SwitchStyle";
24
+
25
+ import { ButtonStyle } from "./style/ButtonStyle";
26
+
23
27
  export class BodyHelper {
24
28
  constructor(_table) {
25
29
  this._table = _table;
@@ -75,6 +79,12 @@ export class BodyHelper {
75
79
 
76
80
  case "radio":
77
81
  return RadioStyle;
82
+
83
+ case "switch":
84
+ return SwitchStyle;
85
+
86
+ case "button":
87
+ return ButtonStyle;
78
88
  }
79
89
  return TextStyle;
80
90
  }
@@ -98,5 +108,4 @@ export class BodyHelper {
98
108
  var _a, _b;
99
109
  return this.expandIcon.width + (null !== (_a = this.expandIcon.marginLeft) && void 0 !== _a ? _a : 0) + (null !== (_b = this.expandIcon.marginRight) && void 0 !== _b ? _b : 0);
100
110
  }
101
- }
102
- //# sourceMappingURL=body-helper.js.map
111
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/body-helper/body-helper.ts"],"names":[],"mappings":"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","file":"body-helper.js","sourcesContent":["import type { ColumnIconOption, ImageIcon, ListTableAPI, SvgIcon } from '../ts-types';\nimport { HierarchyState, InternalIconName } from '../ts-types';\nimport * as registerIcons from '../icons';\nimport { Style } from './style/Style';\nimport { TextStyle } from './style/MultilineTextStyle';\nimport { ProgressBarStyle } from './style/ProgressBarStyle';\nimport { ImageStyle } from './style/ImageStyle';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport * as icons from '../tools/icons';\nimport { obj } from '../tools/helper';\nimport { CheckboxStyle } from './style/CheckboxStyle';\nimport { RadioStyle } from './style/RadioStyle';\nimport { isValid } from '@visactor/vutils';\nexport class BodyHelper {\n expandIcon: SvgIcon;\n collapseIcon: SvgIcon;\n _table: BaseTableAPI;\n constructor(_table: BaseTableAPI) {\n this._table = _table;\n const regedIcons = registerIcons.get();\n //展开折叠按钮\n this.expandIcon = regedIcons[InternalIconName.expandIconName] as SvgIcon;\n this.collapseIcon = regedIcons[InternalIconName.collapseIconName] as SvgIcon;\n }\n getIcons(\n col: number,\n row: number,\n cellValue: any,\n dataValue: any,\n context: CanvasRenderingContext2D\n ): ColumnIconOption[] {\n //加入固定列图标 排序 文本中元素\n const iconArr: ColumnIconOption[] = [];\n\n const hierarchyIcon = this.getHierarchyIcon(col, row);\n if (hierarchyIcon) {\n iconArr.push(hierarchyIcon);\n }\n\n const { icon: iconDefine } = this._table.getBodyColumnDefine(col, row);\n\n if (iconDefine) {\n let iconResults;\n if (typeof iconDefine === 'function') {\n const arg = {\n col,\n row,\n value: cellValue,\n dataValue,\n table: this._table\n };\n iconResults = iconDefine(arg);\n } else {\n iconResults = iconDefine;\n }\n const regedIcons = registerIcons.get();\n const addIcon = (columnIcon: string | ColumnIconOption) => {\n let icon;\n if (typeof columnIcon === 'string') {\n icon = regedIcons[columnIcon];\n } else {\n icon = columnIcon;\n }\n if (icon) {\n iconArr.push(icon);\n }\n };\n if (Array.isArray(iconResults)) {\n iconResults.forEach((columnIcon: string | ColumnIconOption, index: number) => {\n addIcon(columnIcon);\n });\n } else {\n addIcon(iconResults);\n }\n }\n\n context &&\n iconArr.forEach((i, index) => {\n if ((i as any).content || (<ImageIcon>i).src) {\n iconArr[index] = this.getCellIconFromRecordValue(i, col, row);\n // if ((<FontIcon>i).font)\n // helper.testFontLoad((<FontIcon>i).font, (<FontIcon>i).content, col, row);\n }\n });\n\n return iconArr;\n }\n getStyleClass(\n cellType:\n | 'text'\n | 'link'\n | 'image'\n | 'video'\n | 'chart'\n | 'sparkline'\n | 'progressbar'\n | 'chart'\n | 'checkbox'\n | 'radio'\n ) {\n switch (cellType) {\n case 'text':\n return TextStyle;\n case 'image':\n return ImageStyle;\n case 'video':\n return ImageStyle;\n case 'link':\n return TextStyle;\n case 'chart':\n return Style;\n case 'sparkline':\n return Style;\n case 'progressbar':\n return ProgressBarStyle;\n case 'checkbox':\n return CheckboxStyle;\n case 'radio':\n return RadioStyle;\n }\n return TextStyle;\n }\n getCellIconFromRecordValue(icon: ColumnIconOption, col: number, row: number): ColumnIconOption;\n getCellIconFromRecordValue(icon: ColumnIconOption[], col: number, row: number): ColumnIconOption[];\n getCellIconFromRecordValue(\n icon: ColumnIconOption | ColumnIconOption[],\n col: number,\n row: number\n ): ColumnIconOption | ColumnIconOption[];\n getCellIconFromRecordValue(\n icon: ColumnIconOption | ColumnIconOption[],\n col: number,\n row: number\n ): ColumnIconOption | ColumnIconOption[] {\n if (Array.isArray(icon)) {\n return icon.map(i => this.getCellIconFromRecordValue(i, col, row));\n }\n // icon.positionType = IconPosition.inlineFront;\n if (!obj.isObject(icon) || typeof icon === 'function') {\n return (this._table as ListTableAPI).getFieldData(icon, col, row);\n }\n // 新建对象 挨个属性赋值\n const retIcon: any = {};\n const iconOpt: any = icon;\n icons.iconPropKeys.forEach(k => {\n if (typeof iconOpt[k] !== 'undefined') {\n const f = (this._table as ListTableAPI).getFieldData(iconOpt[k], col, row);\n if (isValid(f)) {\n retIcon[k] = f;\n } else if (!this._table._hasField?.(iconOpt[k], col, row)) {\n retIcon[k] = iconOpt[k];\n }\n }\n });\n return retIcon;\n }\n\n getHierarchyIcon(col: number, row: number) {\n const hierarchyState = this._table.getHierarchyState(col, row);\n if (hierarchyState === HierarchyState.expand) {\n //展开状态 应该显示-号\n return this.expandIcon;\n } else if (hierarchyState === HierarchyState.collapse) {\n //折叠状态 应该显示-号\n return this.collapseIcon;\n }\n return undefined;\n }\n getHierarchyIconWidth() {\n return this.expandIcon.width + (this.expandIcon.marginLeft ?? 0) + (this.expandIcon.marginRight ?? 0);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/body-helper/body-helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,aAAa,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,MAAM,OAAO,UAAU;IAIrB,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;QAEvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAAY,CAAC;QACzE,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAY,CAAC;IAC/E,CAAC;IACD,QAAQ,CACN,GAAW,EACX,GAAW,EACX,SAAc,EACd,SAAc,EACd,OAAiC;QAGjC,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtD,IAAI,aAAa,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC7B;QAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEvE,IAAI,UAAU,EAAE;YACd,IAAI,WAAW,CAAC;YAChB,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;gBACpC,MAAM,GAAG,GAAG;oBACV,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,SAAS;oBAChB,SAAS;oBACT,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,CAAC;gBACF,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;aAC/B;iBAAM;gBACL,WAAW,GAAG,UAAU,CAAC;aAC1B;YACD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,CAAC,UAAqC,EAAE,EAAE;gBACxD,IAAI,IAAI,CAAC;gBACT,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;oBAClC,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;iBAC/B;qBAAM;oBACL,IAAI,GAAG,UAAU,CAAC;iBACnB;gBACD,IAAI,IAAI,EAAE;oBACR,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpB;YACH,CAAC,CAAC;YACF,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC9B,WAAW,CAAC,OAAO,CAAC,CAAC,UAAqC,EAAE,KAAa,EAAE,EAAE;oBAC3E,OAAO,CAAC,UAAU,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,OAAO,CAAC,WAAW,CAAC,CAAC;aACtB;SACF;QAED,OAAO;YACL,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC3B,IAAK,CAAS,CAAC,OAAO,IAAgB,CAAE,CAAC,GAAG,EAAE;oBAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBAG/D;YACH,CAAC,CAAC,CAAC;QAEL,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,aAAa,CACX,QAYY;QAEZ,QAAQ,QAAQ,EAAE;YAChB,KAAK,MAAM;gBACT,OAAO,SAAS,CAAC;YACnB,KAAK,OAAO;gBACV,OAAO,UAAU,CAAC;YACpB,KAAK,OAAO;gBACV,OAAO,UAAU,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO,SAAS,CAAC;YACnB,KAAK,OAAO;gBACV,OAAO,KAAK,CAAC;YACf,KAAK,WAAW;gBACd,OAAO,KAAK,CAAC;YACf,KAAK,aAAa;gBAChB,OAAO,gBAAgB,CAAC;YAC1B,KAAK,UAAU;gBACb,OAAO,aAAa,CAAC;YACvB,KAAK,OAAO;gBACV,OAAO,UAAU,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,WAAW,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,WAAW,CAAC;SACtB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAQD,0BAA0B,CACxB,IAA2C,EAC3C,GAAW,EACX,GAAW;QAEX,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SACpE;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YACrD,OAAQ,IAAI,CAAC,MAAuB,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SACnE;QAED,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,MAAM,OAAO,GAAQ,IAAI,CAAC;QAC1B,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YAC7B,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;gBACrC,MAAM,CAAC,GAAI,IAAI,CAAC,MAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3E,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;oBACd,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;iBAChB;qBAAM,IAAI,CAAC,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,EAAC,SAAS,mDAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA,EAAE;oBACzD,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;iBACzB;aACF;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB,CAAC,GAAW,EAAE,GAAW;QACvC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,cAAc,KAAK,cAAc,CAAC,MAAM,EAAE;YAE5C,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;aAAM,IAAI,cAAc,KAAK,cAAc,CAAC,QAAQ,EAAE;YAErD,OAAO,IAAI,CAAC,YAAY,CAAC;SAC1B;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,qBAAqB;;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,UAAU,CAAC,UAAU,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,UAAU,CAAC,WAAW,mCAAI,CAAC,CAAC,CAAC;IACxG,CAAC;CACF","file":"body-helper.js","sourcesContent":["import type { ColumnIconOption, ImageIcon, ListTableAPI, SvgIcon } from '../ts-types';\nimport { HierarchyState, InternalIconName } from '../ts-types';\nimport * as registerIcons from '../icons';\nimport { Style } from './style/Style';\nimport { TextStyle } from './style/MultilineTextStyle';\nimport { ProgressBarStyle } from './style/ProgressBarStyle';\nimport { ImageStyle } from './style/ImageStyle';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport * as icons from '../tools/icons';\nimport { obj } from '../tools/helper';\nimport { CheckboxStyle } from './style/CheckboxStyle';\nimport { RadioStyle } from './style/RadioStyle';\nimport { isValid } from '@visactor/vutils';\nimport { SwitchStyle } from './style/SwitchStyle';\nimport { ButtonStyle } from './style/ButtonStyle';\nexport class BodyHelper {\n expandIcon: SvgIcon;\n collapseIcon: SvgIcon;\n _table: BaseTableAPI;\n constructor(_table: BaseTableAPI) {\n this._table = _table;\n const regedIcons = registerIcons.get();\n //展开折叠按钮\n this.expandIcon = regedIcons[InternalIconName.expandIconName] as SvgIcon;\n this.collapseIcon = regedIcons[InternalIconName.collapseIconName] as SvgIcon;\n }\n getIcons(\n col: number,\n row: number,\n cellValue: any,\n dataValue: any,\n context: CanvasRenderingContext2D\n ): ColumnIconOption[] {\n //加入固定列图标 排序 文本中元素\n const iconArr: ColumnIconOption[] = [];\n\n const hierarchyIcon = this.getHierarchyIcon(col, row);\n if (hierarchyIcon) {\n iconArr.push(hierarchyIcon);\n }\n\n const { icon: iconDefine } = this._table.getBodyColumnDefine(col, row);\n\n if (iconDefine) {\n let iconResults;\n if (typeof iconDefine === 'function') {\n const arg = {\n col,\n row,\n value: cellValue,\n dataValue,\n table: this._table\n };\n iconResults = iconDefine(arg);\n } else {\n iconResults = iconDefine;\n }\n const regedIcons = registerIcons.get();\n const addIcon = (columnIcon: string | ColumnIconOption) => {\n let icon;\n if (typeof columnIcon === 'string') {\n icon = regedIcons[columnIcon];\n } else {\n icon = columnIcon;\n }\n if (icon) {\n iconArr.push(icon);\n }\n };\n if (Array.isArray(iconResults)) {\n iconResults.forEach((columnIcon: string | ColumnIconOption, index: number) => {\n addIcon(columnIcon);\n });\n } else {\n addIcon(iconResults);\n }\n }\n\n context &&\n iconArr.forEach((i, index) => {\n if ((i as any).content || (<ImageIcon>i).src) {\n iconArr[index] = this.getCellIconFromRecordValue(i, col, row);\n // if ((<FontIcon>i).font)\n // helper.testFontLoad((<FontIcon>i).font, (<FontIcon>i).content, col, row);\n }\n });\n\n return iconArr;\n }\n getStyleClass(\n cellType:\n | 'text'\n | 'link'\n | 'image'\n | 'video'\n | 'chart'\n | 'sparkline'\n | 'progressbar'\n | 'chart'\n | 'checkbox'\n | 'radio'\n | 'switch'\n | 'button'\n ) {\n switch (cellType) {\n case 'text':\n return TextStyle;\n case 'image':\n return ImageStyle;\n case 'video':\n return ImageStyle;\n case 'link':\n return TextStyle;\n case 'chart':\n return Style;\n case 'sparkline':\n return Style;\n case 'progressbar':\n return ProgressBarStyle;\n case 'checkbox':\n return CheckboxStyle;\n case 'radio':\n return RadioStyle;\n case 'switch':\n return SwitchStyle;\n case 'button':\n return ButtonStyle;\n }\n return TextStyle;\n }\n getCellIconFromRecordValue(icon: ColumnIconOption, col: number, row: number): ColumnIconOption;\n getCellIconFromRecordValue(icon: ColumnIconOption[], col: number, row: number): ColumnIconOption[];\n getCellIconFromRecordValue(\n icon: ColumnIconOption | ColumnIconOption[],\n col: number,\n row: number\n ): ColumnIconOption | ColumnIconOption[];\n getCellIconFromRecordValue(\n icon: ColumnIconOption | ColumnIconOption[],\n col: number,\n row: number\n ): ColumnIconOption | ColumnIconOption[] {\n if (Array.isArray(icon)) {\n return icon.map(i => this.getCellIconFromRecordValue(i, col, row));\n }\n // icon.positionType = IconPosition.inlineFront;\n if (!obj.isObject(icon) || typeof icon === 'function') {\n return (this._table as ListTableAPI).getFieldData(icon, col, row);\n }\n // 新建对象 挨个属性赋值\n const retIcon: any = {};\n const iconOpt: any = icon;\n icons.iconPropKeys.forEach(k => {\n if (typeof iconOpt[k] !== 'undefined') {\n const f = (this._table as ListTableAPI).getFieldData(iconOpt[k], col, row);\n if (isValid(f)) {\n retIcon[k] = f;\n } else if (!this._table._hasField?.(iconOpt[k], col, row)) {\n retIcon[k] = iconOpt[k];\n }\n }\n });\n return retIcon;\n }\n\n getHierarchyIcon(col: number, row: number) {\n const hierarchyState = this._table.getHierarchyState(col, row);\n if (hierarchyState === HierarchyState.expand) {\n //展开状态 应该显示-号\n return this.expandIcon;\n } else if (hierarchyState === HierarchyState.collapse) {\n //折叠状态 应该显示-号\n return this.collapseIcon;\n }\n return undefined;\n }\n getHierarchyIconWidth() {\n return this.expandIcon.width + (this.expandIcon.marginLeft ?? 0) + (this.expandIcon.marginRight ?? 0);\n }\n}\n"]}
@@ -0,0 +1,45 @@
1
+ import type { IStyleOption, ButtonStyleOption } from '../../ts-types';
2
+ import { Style } from '../style';
3
+ import type { ButtonStyle as ButtonStyleThemeOption } from '../../ts-types/column/style';
4
+ export declare class ButtonStyle extends Style {
5
+ private _buttonColor;
6
+ private _buttonBorderColor;
7
+ private _buttonLineWidth;
8
+ private _buttonBorderRadius;
9
+ private _buttonHoverColor;
10
+ private _buttonHoverBorderColor;
11
+ private _buttonTextHoverColor;
12
+ private _buttonDisableColor;
13
+ private _buttonDisableBorderColor;
14
+ private _buttonTextDisableColor;
15
+ private _buttonTextHoverBorderColor;
16
+ private _buttonPadding;
17
+ static get DEFAULT(): ButtonStyle;
18
+ constructor(style?: ButtonStyleOption, headerStyle?: ButtonStyleOption, buttonThemeStyle?: ButtonStyleThemeOption);
19
+ get buttonColor(): string;
20
+ set buttonColor(buttonColor: string);
21
+ get buttonBorderColor(): string;
22
+ set buttonBorderColor(buttonBorderColor: string);
23
+ get buttonLineWidth(): number;
24
+ set buttonLineWidth(buttonLineWidth: number);
25
+ get buttonBorderRadius(): number;
26
+ set buttonBorderRadius(buttonBorderRadius: number);
27
+ get buttonHoverColor(): string;
28
+ set buttonHoverColor(buttonHoverColor: string);
29
+ get buttonHoverBorderColor(): string;
30
+ set buttonHoverBorderColor(buttonHoverBorderColor: string);
31
+ get buttonTextHoverColor(): string;
32
+ set buttonTextHoverColor(buttonTextHoverColor: string);
33
+ get buttonDisableColor(): string;
34
+ set buttonDisableColor(buttonDisableColor: string);
35
+ get buttonDisableBorderColor(): string;
36
+ set buttonDisableBorderColor(buttonDisableBorderColor: string);
37
+ get buttonTextDisableColor(): string;
38
+ set buttonTextDisableColor(buttonTextDisableColor: string);
39
+ get buttonTextHoverBorderColor(): string;
40
+ set buttonTextHoverBorderColor(buttonTextHoverBorderColor: string);
41
+ get buttonPadding(): number;
42
+ set buttonPadding(buttonPadding: number);
43
+ getStyle(style: IStyleOption): ButtonStyle;
44
+ clone(): ButtonStyle;
45
+ }
@@ -0,0 +1,102 @@
1
+ import { Style } from "../style";
2
+
3
+ let defaultStyle;
4
+
5
+ export class ButtonStyle extends Style {
6
+ static get DEFAULT() {
7
+ return defaultStyle || (defaultStyle = new ButtonStyle);
8
+ }
9
+ constructor(style = {}, headerStyle = {}, buttonThemeStyle = {}) {
10
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
11
+ super(style, headerStyle), this._buttonColor = (null !== (_b = null === (_a = null == style ? void 0 : style.buttonStyle) || void 0 === _a ? void 0 : _a.buttonColor) && void 0 !== _b ? _b : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonColor) || "#165DFF",
12
+ this._buttonBorderColor = (null !== (_d = null === (_c = null == style ? void 0 : style.buttonStyle) || void 0 === _c ? void 0 : _c.buttonBorderColor) && void 0 !== _d ? _d : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonBorderColor) || "#165DFF",
13
+ this._buttonLineWidth = (null !== (_f = null === (_e = null == style ? void 0 : style.buttonStyle) || void 0 === _e ? void 0 : _e.buttonLineWidth) && void 0 !== _f ? _f : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonLineWidth) || 1,
14
+ this._buttonBorderRadius = (null !== (_h = null === (_g = null == style ? void 0 : style.buttonStyle) || void 0 === _g ? void 0 : _g.buttonBorderRadius) && void 0 !== _h ? _h : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonBorderRadius) || 2,
15
+ this._buttonHoverColor = (null !== (_k = null === (_j = null == style ? void 0 : style.buttonStyle) || void 0 === _j ? void 0 : _j.buttonHoverColor) && void 0 !== _k ? _k : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonHoverColor) || "#4080FF",
16
+ this._buttonHoverBorderColor = (null !== (_m = null === (_l = null == style ? void 0 : style.buttonStyle) || void 0 === _l ? void 0 : _l.buttonHoverBorderColor) && void 0 !== _m ? _m : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonHoverBorderColor) || "#4080FF",
17
+ this._buttonTextHoverColor = null !== (_p = null === (_o = null == style ? void 0 : style.buttonStyle) || void 0 === _o ? void 0 : _o.buttonTextHoverColor) && void 0 !== _p ? _p : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonTextHoverColor,
18
+ this._buttonDisableColor = (null !== (_r = null === (_q = null == style ? void 0 : style.buttonStyle) || void 0 === _q ? void 0 : _q.buttonDisableColor) && void 0 !== _r ? _r : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonDisableColor) || "#94bfff",
19
+ this._buttonDisableBorderColor = (null !== (_t = null === (_s = null == style ? void 0 : style.buttonStyle) || void 0 === _s ? void 0 : _s.buttonDisableBorderColor) && void 0 !== _t ? _t : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonDisableBorderColor) || "#94bfff",
20
+ this._buttonTextDisableColor = null !== (_v = null === (_u = null == style ? void 0 : style.buttonStyle) || void 0 === _u ? void 0 : _u.buttonTextDisableColor) && void 0 !== _v ? _v : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonTextDisableColor,
21
+ this._buttonPadding = (null !== (_x = null === (_w = null == style ? void 0 : style.buttonStyle) || void 0 === _w ? void 0 : _w.buttonPadding) && void 0 !== _x ? _x : null == buttonThemeStyle ? void 0 : buttonThemeStyle.buttonPadding) || 10;
22
+ }
23
+ get buttonColor() {
24
+ return this._buttonColor;
25
+ }
26
+ set buttonColor(buttonColor) {
27
+ this._buttonColor = buttonColor;
28
+ }
29
+ get buttonBorderColor() {
30
+ return this._buttonBorderColor;
31
+ }
32
+ set buttonBorderColor(buttonBorderColor) {
33
+ this._buttonBorderColor = buttonBorderColor;
34
+ }
35
+ get buttonLineWidth() {
36
+ return this._buttonLineWidth;
37
+ }
38
+ set buttonLineWidth(buttonLineWidth) {
39
+ this._buttonLineWidth = buttonLineWidth;
40
+ }
41
+ get buttonBorderRadius() {
42
+ return this._buttonBorderRadius;
43
+ }
44
+ set buttonBorderRadius(buttonBorderRadius) {
45
+ this._buttonBorderRadius = buttonBorderRadius;
46
+ }
47
+ get buttonHoverColor() {
48
+ return this._buttonHoverColor;
49
+ }
50
+ set buttonHoverColor(buttonHoverColor) {
51
+ this._buttonHoverColor = buttonHoverColor;
52
+ }
53
+ get buttonHoverBorderColor() {
54
+ return this._buttonHoverBorderColor;
55
+ }
56
+ set buttonHoverBorderColor(buttonHoverBorderColor) {
57
+ this._buttonHoverBorderColor = buttonHoverBorderColor;
58
+ }
59
+ get buttonTextHoverColor() {
60
+ return this._buttonTextHoverColor;
61
+ }
62
+ set buttonTextHoverColor(buttonTextHoverColor) {
63
+ this._buttonTextHoverColor = buttonTextHoverColor;
64
+ }
65
+ get buttonDisableColor() {
66
+ return this._buttonDisableColor;
67
+ }
68
+ set buttonDisableColor(buttonDisableColor) {
69
+ this._buttonDisableColor = buttonDisableColor;
70
+ }
71
+ get buttonDisableBorderColor() {
72
+ return this._buttonDisableBorderColor;
73
+ }
74
+ set buttonDisableBorderColor(buttonDisableBorderColor) {
75
+ this._buttonDisableBorderColor = buttonDisableBorderColor;
76
+ }
77
+ get buttonTextDisableColor() {
78
+ return this._buttonTextDisableColor;
79
+ }
80
+ set buttonTextDisableColor(buttonTextDisableColor) {
81
+ this._buttonTextDisableColor = buttonTextDisableColor;
82
+ }
83
+ get buttonTextHoverBorderColor() {
84
+ return this._buttonTextHoverBorderColor;
85
+ }
86
+ set buttonTextHoverBorderColor(buttonTextHoverBorderColor) {
87
+ this._buttonTextHoverBorderColor = buttonTextHoverBorderColor;
88
+ }
89
+ get buttonPadding() {
90
+ return this._buttonPadding;
91
+ }
92
+ set buttonPadding(buttonPadding) {
93
+ this._buttonPadding = buttonPadding;
94
+ }
95
+ getStyle(style) {
96
+ return new ButtonStyle(style, this);
97
+ }
98
+ clone() {
99
+ return new ButtonStyle(this);
100
+ }
101
+ }
102
+ //# sourceMappingURL=ButtonStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/body-helper/style/ButtonStyle.ts"],"names":[],"mappings":"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","file":"ButtonStyle.js","sourcesContent":["import type { IStyleOption, ButtonStyleOption } from '../../ts-types';\nimport { Style } from '../style';\nimport type { ButtonStyle as ButtonStyleThemeOption } from '../../ts-types/column/style';\n\nlet defaultStyle: ButtonStyle;\n\nexport class ButtonStyle extends Style {\n private _buttonColor: string;\n private _buttonBorderColor: string;\n private _buttonLineWidth: number;\n private _buttonBorderRadius: number;\n private _buttonHoverColor: string;\n private _buttonHoverBorderColor: string;\n private _buttonTextHoverColor: string;\n private _buttonDisableColor: string;\n private _buttonDisableBorderColor: string;\n private _buttonTextDisableColor: string;\n private _buttonTextHoverBorderColor: string;\n private _buttonPadding: number;\n\n static get DEFAULT(): ButtonStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new ButtonStyle());\n }\n\n constructor(\n style: ButtonStyleOption = {},\n headerStyle: ButtonStyleOption = {},\n buttonThemeStyle: ButtonStyleThemeOption = {}\n ) {\n super(style, headerStyle);\n\n this._buttonColor = (style?.buttonStyle?.buttonColor ?? buttonThemeStyle?.buttonColor) || '#165DFF';\n this._buttonBorderColor =\n (style?.buttonStyle?.buttonBorderColor ?? buttonThemeStyle?.buttonBorderColor) || '#165DFF';\n this._buttonLineWidth = (style?.buttonStyle?.buttonLineWidth ?? buttonThemeStyle?.buttonLineWidth) || 1;\n this._buttonBorderRadius = (style?.buttonStyle?.buttonBorderRadius ?? buttonThemeStyle?.buttonBorderRadius) || 2;\n this._buttonHoverColor = (style?.buttonStyle?.buttonHoverColor ?? buttonThemeStyle?.buttonHoverColor) || '#4080FF';\n this._buttonHoverBorderColor =\n (style?.buttonStyle?.buttonHoverBorderColor ?? buttonThemeStyle?.buttonHoverBorderColor) || '#4080FF';\n this._buttonTextHoverColor = style?.buttonStyle?.buttonTextHoverColor ?? buttonThemeStyle?.buttonTextHoverColor;\n this._buttonDisableColor =\n (style?.buttonStyle?.buttonDisableColor ?? buttonThemeStyle?.buttonDisableColor) || '#94bfff';\n this._buttonDisableBorderColor =\n (style?.buttonStyle?.buttonDisableBorderColor ?? buttonThemeStyle?.buttonDisableBorderColor) || '#94bfff';\n this._buttonTextDisableColor =\n style?.buttonStyle?.buttonTextDisableColor ?? buttonThemeStyle?.buttonTextDisableColor;\n this._buttonPadding = (style?.buttonStyle?.buttonPadding ?? buttonThemeStyle?.buttonPadding) || 10;\n }\n\n get buttonColor(): string {\n return this._buttonColor;\n }\n set buttonColor(buttonColor: string) {\n this._buttonColor = buttonColor;\n }\n\n get buttonBorderColor(): string {\n return this._buttonBorderColor;\n }\n set buttonBorderColor(buttonBorderColor: string) {\n this._buttonBorderColor = buttonBorderColor;\n }\n\n get buttonLineWidth(): number {\n return this._buttonLineWidth;\n }\n set buttonLineWidth(buttonLineWidth: number) {\n this._buttonLineWidth = buttonLineWidth;\n }\n\n get buttonBorderRadius(): number {\n return this._buttonBorderRadius;\n }\n set buttonBorderRadius(buttonBorderRadius: number) {\n this._buttonBorderRadius = buttonBorderRadius;\n }\n\n get buttonHoverColor(): string {\n return this._buttonHoverColor;\n }\n set buttonHoverColor(buttonHoverColor: string) {\n this._buttonHoverColor = buttonHoverColor;\n }\n\n get buttonHoverBorderColor(): string {\n return this._buttonHoverBorderColor;\n }\n set buttonHoverBorderColor(buttonHoverBorderColor: string) {\n this._buttonHoverBorderColor = buttonHoverBorderColor;\n }\n\n get buttonTextHoverColor(): string {\n return this._buttonTextHoverColor;\n }\n set buttonTextHoverColor(buttonTextHoverColor: string) {\n this._buttonTextHoverColor = buttonTextHoverColor;\n }\n\n get buttonDisableColor(): string {\n return this._buttonDisableColor;\n }\n set buttonDisableColor(buttonDisableColor: string) {\n this._buttonDisableColor = buttonDisableColor;\n }\n\n get buttonDisableBorderColor(): string {\n return this._buttonDisableBorderColor;\n }\n set buttonDisableBorderColor(buttonDisableBorderColor: string) {\n this._buttonDisableBorderColor = buttonDisableBorderColor;\n }\n\n get buttonTextDisableColor(): string {\n return this._buttonTextDisableColor;\n }\n set buttonTextDisableColor(buttonTextDisableColor: string) {\n this._buttonTextDisableColor = buttonTextDisableColor;\n }\n\n get buttonTextHoverBorderColor(): string {\n return this._buttonTextHoverBorderColor;\n }\n set buttonTextHoverBorderColor(buttonTextHoverBorderColor: string) {\n this._buttonTextHoverBorderColor = buttonTextHoverBorderColor;\n }\n\n get buttonPadding(): number {\n return this._buttonPadding;\n }\n set buttonPadding(buttonPadding: number) {\n this._buttonPadding = buttonPadding;\n }\n\n getStyle(style: IStyleOption): ButtonStyle {\n return new ButtonStyle(style, this);\n }\n\n clone(): ButtonStyle {\n return new ButtonStyle(this);\n }\n}\n"]}
@@ -0,0 +1,36 @@
1
+ import type { IStyleOption, SwitchStyleOption } from '../../ts-types';
2
+ import { Style } from '../style';
3
+ import type { SwitchStyle as SwitchStyleThemeOption } from '../../ts-types/column/style';
4
+ export declare class SwitchStyle extends Style {
5
+ private _spaceBetweenTextAndCircle;
6
+ private _circleRadius;
7
+ private _boxWidth;
8
+ private _boxHeight;
9
+ private _checkedFill;
10
+ private _uncheckedFill;
11
+ private _disableCheckedFill;
12
+ private _disableUncheckedFill;
13
+ private _circleFill;
14
+ static get DEFAULT(): SwitchStyle;
15
+ constructor(style?: SwitchStyleOption, headerStyle?: SwitchStyleOption, switchThemeStyle?: SwitchStyleThemeOption);
16
+ get spaceBetweenTextAndCircle(): number;
17
+ set spaceBetweenTextAndCircle(spaceBetweenTextAndCircle: number);
18
+ get circleRadius(): number;
19
+ set circleRadius(circleRadius: number);
20
+ get boxWidth(): number;
21
+ set boxWidth(boxWidth: number);
22
+ get boxHeight(): number;
23
+ set boxHeight(boxHeight: number);
24
+ get checkedFill(): string;
25
+ set checkedFill(checkedFill: string);
26
+ get uncheckedFill(): string;
27
+ set uncheckedFill(uncheckedFill: string);
28
+ get disableCheckedFill(): string;
29
+ set disableCheckedFill(disableCheckedFill: string);
30
+ get disableUncheckedFill(): string;
31
+ set disableUncheckedFill(disableUncheckedFill: string);
32
+ get circleFill(): string;
33
+ set circleFill(circleFill: string);
34
+ getStyle(style: IStyleOption): SwitchStyle;
35
+ clone(): SwitchStyle;
36
+ }
@@ -0,0 +1,82 @@
1
+ import { Style } from "../style";
2
+
3
+ let defaultStyle;
4
+
5
+ export class SwitchStyle extends Style {
6
+ static get DEFAULT() {
7
+ return defaultStyle || (defaultStyle = new SwitchStyle);
8
+ }
9
+ constructor(style = {}, headerStyle = {}, switchThemeStyle = {}) {
10
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
11
+ super(style, headerStyle), this._spaceBetweenTextAndCircle = (null !== (_b = null !== (_a = null == style ? void 0 : style.spaceBetweenTextAndCircle) && void 0 !== _a ? _a : null == headerStyle ? void 0 : headerStyle.spaceBetweenTextAndCircle) && void 0 !== _b ? _b : null == switchThemeStyle ? void 0 : switchThemeStyle.spaceBetweenTextAndCircle) || 6,
12
+ this._circleRadius = (null !== (_d = null === (_c = null == style ? void 0 : style.switchStyle) || void 0 === _c ? void 0 : _c.circleRadius) && void 0 !== _d ? _d : null == switchThemeStyle ? void 0 : switchThemeStyle.circleRadius) || 8,
13
+ this._boxWidth = (null !== (_f = null === (_e = null == style ? void 0 : style.switchStyle) || void 0 === _e ? void 0 : _e.boxWidth) && void 0 !== _f ? _f : null == switchThemeStyle ? void 0 : switchThemeStyle.boxWidth) || 40,
14
+ this._boxHeight = (null !== (_h = null === (_g = null == style ? void 0 : style.switchStyle) || void 0 === _g ? void 0 : _g.boxHeight) && void 0 !== _h ? _h : null == switchThemeStyle ? void 0 : switchThemeStyle.boxHeight) || 24,
15
+ this._checkedFill = (null !== (_k = null === (_j = null == style ? void 0 : style.switchStyle) || void 0 === _j ? void 0 : _j.checkedFill) && void 0 !== _k ? _k : null == switchThemeStyle ? void 0 : switchThemeStyle.checkedFill) || "#165DFF",
16
+ this._uncheckedFill = (null !== (_m = null === (_l = null == style ? void 0 : style.switchStyle) || void 0 === _l ? void 0 : _l.uncheckedFill) && void 0 !== _m ? _m : null == switchThemeStyle ? void 0 : switchThemeStyle.uncheckedFill) || "#c9cdd4",
17
+ this._disableCheckedFill = (null !== (_p = null === (_o = null == style ? void 0 : style.switchStyle) || void 0 === _o ? void 0 : _o.disableCheckedFill) && void 0 !== _p ? _p : null == switchThemeStyle ? void 0 : switchThemeStyle.disableCheckedFill) || "#94bfff",
18
+ this._disableUncheckedFill = (null !== (_r = null === (_q = null == style ? void 0 : style.switchStyle) || void 0 === _q ? void 0 : _q.disableUncheckedFill) && void 0 !== _r ? _r : null == switchThemeStyle ? void 0 : switchThemeStyle.disableUncheckedFill) || "#f2f3f5",
19
+ this._circleFill = (null !== (_t = null === (_s = null == style ? void 0 : style.switchStyle) || void 0 === _s ? void 0 : _s.circleFill) && void 0 !== _t ? _t : null == switchThemeStyle ? void 0 : switchThemeStyle.circleFill) || "#FFF";
20
+ }
21
+ get spaceBetweenTextAndCircle() {
22
+ return this._spaceBetweenTextAndCircle;
23
+ }
24
+ set spaceBetweenTextAndCircle(spaceBetweenTextAndCircle) {
25
+ this._spaceBetweenTextAndCircle = spaceBetweenTextAndCircle;
26
+ }
27
+ get circleRadius() {
28
+ return this._circleRadius;
29
+ }
30
+ set circleRadius(circleRadius) {
31
+ this._circleRadius = circleRadius;
32
+ }
33
+ get boxWidth() {
34
+ return this._boxWidth;
35
+ }
36
+ set boxWidth(boxWidth) {
37
+ this._boxWidth = boxWidth;
38
+ }
39
+ get boxHeight() {
40
+ return this._boxHeight;
41
+ }
42
+ set boxHeight(boxHeight) {
43
+ this._boxHeight = boxHeight;
44
+ }
45
+ get checkedFill() {
46
+ return this._checkedFill;
47
+ }
48
+ set checkedFill(checkedFill) {
49
+ this._checkedFill = checkedFill;
50
+ }
51
+ get uncheckedFill() {
52
+ return this._uncheckedFill;
53
+ }
54
+ set uncheckedFill(uncheckedFill) {
55
+ this._uncheckedFill = uncheckedFill;
56
+ }
57
+ get disableCheckedFill() {
58
+ return this._disableCheckedFill;
59
+ }
60
+ set disableCheckedFill(disableCheckedFill) {
61
+ this._disableCheckedFill = disableCheckedFill;
62
+ }
63
+ get disableUncheckedFill() {
64
+ return this._disableUncheckedFill;
65
+ }
66
+ set disableUncheckedFill(disableUncheckedFill) {
67
+ this._disableUncheckedFill = disableUncheckedFill;
68
+ }
69
+ get circleFill() {
70
+ return this._circleFill;
71
+ }
72
+ set circleFill(circleFill) {
73
+ this._circleFill = circleFill;
74
+ }
75
+ getStyle(style) {
76
+ return new SwitchStyle(style, this);
77
+ }
78
+ clone() {
79
+ return new SwitchStyle(this);
80
+ }
81
+ }
82
+ //# sourceMappingURL=SwitchStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/body-helper/style/SwitchStyle.ts"],"names":[],"mappings":"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","file":"SwitchStyle.js","sourcesContent":["import type { IStyleOption, SwitchStyleOption } from '../../ts-types';\nimport { Style } from '../style';\nimport type { SwitchStyle as SwitchStyleThemeOption } from '../../ts-types/column/style';\n\nlet defaultStyle: SwitchStyle;\n\nexport class SwitchStyle extends Style {\n private _spaceBetweenTextAndCircle: number;\n private _circleRadius: number;\n private _boxWidth: number;\n private _boxHeight: number;\n private _checkedFill: string;\n private _uncheckedFill: string;\n private _disableCheckedFill: string;\n private _disableUncheckedFill: string;\n private _circleFill: string;\n\n static get DEFAULT(): SwitchStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new SwitchStyle());\n }\n constructor(\n style: SwitchStyleOption = {},\n headerStyle: SwitchStyleOption = {},\n switchThemeStyle: SwitchStyleThemeOption = {}\n ) {\n super(style, headerStyle);\n\n this._spaceBetweenTextAndCircle =\n (style?.spaceBetweenTextAndCircle ??\n headerStyle?.spaceBetweenTextAndCircle ??\n switchThemeStyle?.spaceBetweenTextAndCircle) ||\n 6;\n this._circleRadius = (style?.switchStyle?.circleRadius ?? switchThemeStyle?.circleRadius) || 8;\n this._boxWidth = (style?.switchStyle?.boxWidth ?? switchThemeStyle?.boxWidth) || 40;\n this._boxHeight = (style?.switchStyle?.boxHeight ?? switchThemeStyle?.boxHeight) || 24;\n this._checkedFill = (style?.switchStyle?.checkedFill ?? switchThemeStyle?.checkedFill) || '#165DFF';\n this._uncheckedFill = (style?.switchStyle?.uncheckedFill ?? switchThemeStyle?.uncheckedFill) || '#c9cdd4';\n this._disableCheckedFill =\n (style?.switchStyle?.disableCheckedFill ?? switchThemeStyle?.disableCheckedFill) || '#94bfff';\n this._disableUncheckedFill =\n (style?.switchStyle?.disableUncheckedFill ?? switchThemeStyle?.disableUncheckedFill) || '#f2f3f5';\n this._circleFill = (style?.switchStyle?.circleFill ?? switchThemeStyle?.circleFill) || '#FFF';\n }\n\n get spaceBetweenTextAndCircle(): number {\n return this._spaceBetweenTextAndCircle;\n }\n set spaceBetweenTextAndCircle(spaceBetweenTextAndCircle: number) {\n this._spaceBetweenTextAndCircle = spaceBetweenTextAndCircle;\n }\n get circleRadius(): number {\n return this._circleRadius;\n }\n set circleRadius(circleRadius: number) {\n this._circleRadius = circleRadius;\n }\n get boxWidth(): number {\n return this._boxWidth;\n }\n set boxWidth(boxWidth: number) {\n this._boxWidth = boxWidth;\n }\n get boxHeight(): number {\n return this._boxHeight;\n }\n set boxHeight(boxHeight: number) {\n this._boxHeight = boxHeight;\n }\n get checkedFill(): string {\n return this._checkedFill;\n }\n set checkedFill(checkedFill: string) {\n this._checkedFill = checkedFill;\n }\n get uncheckedFill(): string {\n return this._uncheckedFill;\n }\n set uncheckedFill(uncheckedFill: string) {\n this._uncheckedFill = uncheckedFill;\n }\n get disableCheckedFill(): string {\n return this._disableCheckedFill;\n }\n set disableCheckedFill(disableCheckedFill: string) {\n this._disableCheckedFill = disableCheckedFill;\n }\n get disableUncheckedFill(): string {\n return this._disableUncheckedFill;\n }\n set disableUncheckedFill(disableUncheckedFill: string) {\n this._disableUncheckedFill = disableUncheckedFill;\n }\n get circleFill(): string {\n return this._circleFill;\n }\n set circleFill(circleFill: string) {\n this._circleFill = circleFill;\n }\n getStyle(style: IStyleOption): SwitchStyle {\n return new SwitchStyle(style, this);\n }\n clone(): SwitchStyle {\n return new SwitchStyle(this);\n }\n}\n"]}
@@ -12,13 +12,18 @@ import { CheckboxStyle } from "./style/CheckboxStyle";
12
12
 
13
13
  import { RadioStyle } from "./style/RadioStyle";
14
14
 
15
+ import { SwitchStyle } from "./style/SwitchStyle";
16
+
17
+ import { ButtonStyle } from "./style/ButtonStyle";
18
+
15
19
  const {EVENT_TYPE: EVENT_TYPE} = Style;
16
20
 
17
21
  export { EVENT_TYPE, Style, NumberStyle, ImageStyle, TextStyle };
18
22
 
19
23
  export function of(columnStyle, bodyStyle, styleArg, StyleClassDef = Style, globalAutoWrapText, theme) {
20
- var _a, _b;
24
+ var _a, _b, _c, _d;
21
25
  return columnStyle || bodyStyle ? columnStyle instanceof Style ? columnStyle : "function" == typeof columnStyle ? of(columnStyle(styleArg), bodyStyle, styleArg, StyleClassDef, globalAutoWrapText, theme) : (columnStyle || (columnStyle = {}),
22
26
  globalAutoWrapText && !isValid(columnStyle.autoWrapText) && (columnStyle.autoWrapText = !0),
23
- StyleClassDef === CheckboxStyle ? new CheckboxStyle(null != columnStyle ? columnStyle : {}, null != bodyStyle ? bodyStyle : {}, null !== (_a = theme.checkboxStyle) && void 0 !== _a ? _a : {}) : StyleClassDef === RadioStyle ? new RadioStyle(null != columnStyle ? columnStyle : {}, null != bodyStyle ? bodyStyle : {}, null !== (_b = theme.radioStyle) && void 0 !== _b ? _b : {}) : new StyleClassDef(null != columnStyle ? columnStyle : {}, null != bodyStyle ? bodyStyle : {})) : StyleClassDef.DEFAULT;
24
- }
27
+ StyleClassDef === CheckboxStyle ? new CheckboxStyle(null != columnStyle ? columnStyle : {}, null != bodyStyle ? bodyStyle : {}, null !== (_a = theme.checkboxStyle) && void 0 !== _a ? _a : {}) : StyleClassDef === RadioStyle ? new RadioStyle(null != columnStyle ? columnStyle : {}, null != bodyStyle ? bodyStyle : {}, null !== (_b = theme.radioStyle) && void 0 !== _b ? _b : {}) : StyleClassDef === SwitchStyle ? new SwitchStyle(null != columnStyle ? columnStyle : {}, null != bodyStyle ? bodyStyle : {}, null !== (_c = theme.switchStyle) && void 0 !== _c ? _c : {}) : StyleClassDef === ButtonStyle ? new ButtonStyle(null != columnStyle ? columnStyle : {}, null != bodyStyle ? bodyStyle : {}, null !== (_d = theme.buttonStyle) && void 0 !== _d ? _d : {}) : new StyleClassDef(null != columnStyle ? columnStyle : {}, null != bodyStyle ? bodyStyle : {})) : StyleClassDef.DEFAULT;
28
+ }
29
+ //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/body-helper/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAW3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,KAAK,EACL,WAAW,EACX,UAAU,EACV,SAAS,EAKV,CAAC;AACF,MAAM,UAAU,EAAE,CAChB,WAA8B,EAC9B,SAA4B,EAC5B,QAAkC,EAClC,gBAA8B,KAAK,EACnC,kBAA2B,EAC3B,KAAiB;;IAEjB,IAAI,WAAW,IAAI,SAAS,EAAE;QAC5B,IAAI,WAAW,YAAY,KAAK,EAAE;YAChC,OAAO,WAAW,CAAC;SACpB;aAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YAC5C,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;SACjG;QACD,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,EAAE,CAAC;SAClB;QACD,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAE,WAAmB,CAAC,YAAY,CAAC,EAAE;YACpE,WAAmB,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1C;QACD,IAAI,aAAa,KAAK,aAAa,EAAE;YACnC,OAAO,IAAI,aAAa,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAQ,EAAE,CAAC,MAAA,KAAK,CAAC,aAAa,mCAAI,EAAE,CAAQ,CAAC,CAAC;SAC3G;aAAM,IAAI,aAAa,KAAK,UAAU,EAAE;YACvC,OAAO,IAAI,UAAU,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAQ,EAAE,CAAC,MAAA,KAAK,CAAC,UAAU,mCAAI,EAAE,CAAQ,CAAC,CAAC;SACrG;QACD,OAAO,IAAI,aAAa,CAAC,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAQ,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAQ,CAAC,CAAC;KAChF;IACD,OAAO,aAAa,CAAC,OAAO,CAAC;AAC/B,CAAC","file":"style.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type {\n ColumnStyle,\n ColumnStyleOption,\n FullExtendStyle,\n IImageStyleOption,\n ITextStyleOption,\n IStyleOption,\n StylePropertyFunctionArg\n} from '../ts-types';\n\nimport { ImageStyle } from './style/ImageStyle';\nimport { TextStyle } from './style/MultilineTextStyle';\nimport { NumberStyle } from './style/NumberStyle';\nimport { Style } from './style/Style';\nimport type { TableTheme } from '../themes/theme';\nimport { CheckboxStyle } from './style/CheckboxStyle';\nimport { RadioStyle } from './style/RadioStyle';\n\nconst { EVENT_TYPE } = Style;\nexport {\n EVENT_TYPE,\n Style,\n NumberStyle,\n ImageStyle,\n TextStyle,\n // types\n IStyleOption,\n IImageStyleOption,\n ITextStyleOption\n};\nexport function of(\n columnStyle: ColumnStyleOption,\n bodyStyle: ColumnStyleOption,\n styleArg: StylePropertyFunctionArg,\n StyleClassDef: typeof Style = Style,\n globalAutoWrapText: boolean,\n theme: TableTheme\n): FullExtendStyle {\n if (columnStyle || bodyStyle) {\n if (columnStyle instanceof Style) {\n return columnStyle;\n } else if (typeof columnStyle === 'function') {\n return of(columnStyle(styleArg), bodyStyle, styleArg, StyleClassDef, globalAutoWrapText, theme);\n }\n if (!columnStyle) {\n columnStyle = {};\n }\n if (globalAutoWrapText && !isValid((columnStyle as any).autoWrapText)) {\n (columnStyle as any).autoWrapText = true;\n }\n if (StyleClassDef === CheckboxStyle) {\n return new CheckboxStyle(columnStyle ?? {}, (bodyStyle ?? {}) as any, (theme.checkboxStyle ?? {}) as any);\n } else if (StyleClassDef === RadioStyle) {\n return new RadioStyle(columnStyle ?? {}, (bodyStyle ?? {}) as any, (theme.radioStyle ?? {}) as any);\n }\n return new StyleClassDef((columnStyle ?? {}) as any, (bodyStyle ?? {}) as any);\n }\n return StyleClassDef.DEFAULT;\n}\n"]}
1
+ {"version":3,"sources":["../src/body-helper/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAW3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,KAAK,EACL,WAAW,EACX,UAAU,EACV,SAAS,EAKV,CAAC;AACF,MAAM,UAAU,EAAE,CAChB,WAA8B,EAC9B,SAA4B,EAC5B,QAAkC,EAClC,gBAA8B,KAAK,EACnC,kBAA2B,EAC3B,KAAiB;;IAEjB,IAAI,WAAW,IAAI,SAAS,EAAE;QAC5B,IAAI,WAAW,YAAY,KAAK,EAAE;YAChC,OAAO,WAAW,CAAC;SACpB;aAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YAC5C,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;SACjG;QACD,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,EAAE,CAAC;SAClB;QACD,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAE,WAAmB,CAAC,YAAY,CAAC,EAAE;YACpE,WAAmB,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1C;QACD,IAAI,aAAa,KAAK,aAAa,EAAE;YACnC,OAAO,IAAI,aAAa,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAQ,EAAE,CAAC,MAAA,KAAK,CAAC,aAAa,mCAAI,EAAE,CAAQ,CAAC,CAAC;SAC3G;aAAM,IAAI,aAAa,KAAK,UAAU,EAAE;YACvC,OAAO,IAAI,UAAU,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAQ,EAAE,CAAC,MAAA,KAAK,CAAC,UAAU,mCAAI,EAAE,CAAQ,CAAC,CAAC;SACrG;aAAM,IAAI,aAAa,KAAK,WAAW,EAAE;YACxC,OAAO,IAAI,WAAW,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAQ,EAAE,CAAC,MAAA,KAAK,CAAC,WAAW,mCAAI,EAAE,CAAQ,CAAC,CAAC;SACvG;aAAM,IAAI,aAAa,KAAK,WAAW,EAAE;YACxC,OAAO,IAAI,WAAW,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAQ,EAAE,CAAC,MAAA,KAAK,CAAC,WAAW,mCAAI,EAAE,CAAQ,CAAC,CAAC;SACvG;QACD,OAAO,IAAI,aAAa,CAAC,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAQ,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAQ,CAAC,CAAC;KAChF;IACD,OAAO,aAAa,CAAC,OAAO,CAAC;AAC/B,CAAC","file":"style.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type {\n ColumnStyle,\n ColumnStyleOption,\n FullExtendStyle,\n IImageStyleOption,\n ITextStyleOption,\n IStyleOption,\n StylePropertyFunctionArg\n} from '../ts-types';\n\nimport { ImageStyle } from './style/ImageStyle';\nimport { TextStyle } from './style/MultilineTextStyle';\nimport { NumberStyle } from './style/NumberStyle';\nimport { Style } from './style/Style';\nimport type { TableTheme } from '../themes/theme';\nimport { CheckboxStyle } from './style/CheckboxStyle';\nimport { RadioStyle } from './style/RadioStyle';\nimport { SwitchStyle } from './style/SwitchStyle';\nimport { ButtonStyle } from './style/ButtonStyle';\n\nconst { EVENT_TYPE } = Style;\nexport {\n EVENT_TYPE,\n Style,\n NumberStyle,\n ImageStyle,\n TextStyle,\n // types\n IStyleOption,\n IImageStyleOption,\n ITextStyleOption\n};\nexport function of(\n columnStyle: ColumnStyleOption,\n bodyStyle: ColumnStyleOption,\n styleArg: StylePropertyFunctionArg,\n StyleClassDef: typeof Style = Style,\n globalAutoWrapText: boolean,\n theme: TableTheme\n): FullExtendStyle {\n if (columnStyle || bodyStyle) {\n if (columnStyle instanceof Style) {\n return columnStyle;\n } else if (typeof columnStyle === 'function') {\n return of(columnStyle(styleArg), bodyStyle, styleArg, StyleClassDef, globalAutoWrapText, theme);\n }\n if (!columnStyle) {\n columnStyle = {};\n }\n if (globalAutoWrapText && !isValid((columnStyle as any).autoWrapText)) {\n (columnStyle as any).autoWrapText = true;\n }\n if (StyleClassDef === CheckboxStyle) {\n return new CheckboxStyle(columnStyle ?? {}, (bodyStyle ?? {}) as any, (theme.checkboxStyle ?? {}) as any);\n } else if (StyleClassDef === RadioStyle) {\n return new RadioStyle(columnStyle ?? {}, (bodyStyle ?? {}) as any, (theme.radioStyle ?? {}) as any);\n } else if (StyleClassDef === SwitchStyle) {\n return new SwitchStyle(columnStyle ?? {}, (bodyStyle ?? {}) as any, (theme.switchStyle ?? {}) as any);\n } else if (StyleClassDef === ButtonStyle) {\n return new ButtonStyle(columnStyle ?? {}, (bodyStyle ?? {}) as any, (theme.buttonStyle ?? {}) as any);\n }\n return new StyleClassDef((columnStyle ?? {}) as any, (bodyStyle ?? {}) as any);\n }\n return StyleClassDef.DEFAULT;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { BaseTableAPI } from '../../ts-types/base-table';
2
2
  import type { ICellAxisOption } from '../../ts-types/component/axis';
3
- import { LineAxis, type LineAxisAttributes } from '@visactor/vrender-components';
3
+ import { LineAxis, type LineAxisAttributes } from './../../vrender';
4
4
  import type { IOrientType } from '../../ts-types/component/util';
5
5
  import { BandAxisScale } from './band-scale';
6
6
  import { DataView } from '@visactor/vdataset';
@@ -1,6 +1,6 @@
1
1
  import { degreeToRadian, isNil, isValidNumber, merge } from "@visactor/vutils";
2
2
 
3
- import { LineAxis } from "@visactor/vrender-components";
3
+ import { LineAxis } from "./../../vrender";
4
4
 
5
5
  import { getAxisAttributes, getCommonAxis } from "./get-axis-attributes";
6
6
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/axis/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import { degreeToRadian, isNil, isValidNumber, merge } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { ICellAxisOption } from '../../ts-types/component/axis';\nimport { LineAxis, type LineAxisAttributes } from '@visactor/vrender-components';\nimport { getAxisAttributes, getCommonAxis } from './get-axis-attributes';\nimport { isXAxis, isYAxis } from '../util/orient';\nimport type { IOrientType } from '../../ts-types/component/util';\nimport { BandAxisScale } from './band-scale';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../util/register';\nimport type { Parser } from '@visactor/vdataset';\nimport { DataSet, DataView } from '@visactor/vdataset';\nimport type { IBaseScale } from '@visactor/vscale';\nimport { ticks } from './../../vrender';\nimport { LinearAxisScale } from './linear-scale';\nimport { doOverlap } from './label-overlap';\nimport type { TableTheme } from '../../themes/theme';\n\nconst DEFAULT_BAND_INNER_PADDING = 0.1;\nconst DEFAULT_BAND_OUTER_PADDING = 0.3;\nconst scaleParser: Parser = (scale: IBaseScale) => {\n return scale;\n};\n\nexport interface ICartesianAxis {\n new (\n option: ICellAxisOption,\n width: number,\n height: number,\n padding: [number, number, number, number],\n table: BaseTableAPI\n ): CartesianAxis;\n}\n\nexport class CartesianAxis {\n width: number;\n height: number;\n x: number = 0;\n y: number = 0;\n table: BaseTableAPI;\n option: ICellAxisOption;\n orient: IOrientType;\n visible: boolean;\n type: 'linear' | 'band' | 'point' | 'time' | 'log' | 'symlog';\n inverse: boolean;\n data?: any[];\n tickData: DataView;\n scale: BandAxisScale | LinearAxisScale;\n component: LineAxis;\n padding: [number, number, number, number];\n\n constructor(\n option: ICellAxisOption,\n width: number,\n height: number,\n padding: [number, number, number, number],\n table: BaseTableAPI\n ) {\n this.padding = padding;\n this.table = table;\n this.orient = option.orient ?? 'left';\n this.type = option.type ?? 'band';\n this.option = merge(\n {},\n // commonAxis,\n getCommonAxis(option.__vtableChartTheme),\n getTableAxisTheme(this.orient, table.theme),\n getChartSpecAxisTheme(this.orient, this.type, option.__vtableChartTheme),\n option\n );\n\n if (this.orient === 'left' || this.orient === 'right') {\n // const innerOffsetTop = this.option.innerOffset?.top ?? 0;\n // const innerOffsetBottom = this.option.innerOffset?.bottom ?? 0;\n const innerOffsetTop = 0;\n const innerOffsetBottom = 0;\n this.width = width;\n this.height = height - padding[0] - padding[2] - innerOffsetBottom;\n this.y = padding[0] + innerOffsetTop;\n } else if (this.orient === 'top' || this.orient === 'bottom') {\n // const innerOffsetLeft = this.option.innerOffset?.left ?? 0;\n // const innerOffsetRight = this.option.innerOffset?.right ?? 0;\n const innerOffsetLeft = 0;\n const innerOffsetRight = 0;\n this.width = width - padding[1] - padding[3] - innerOffsetRight;\n this.height = height;\n this.x = padding[3] + innerOffsetLeft;\n }\n\n this.visible = option.visible ?? true;\n this.inverse = 'inverse' in option ? !!option.inverse : false;\n if (option.type === 'band') {\n this.data = option.domain;\n }\n\n this.initScale();\n this.initData();\n this.createComponent();\n this.initEvent();\n }\n\n initScale() {\n const option = this.option as any;\n if (this.type === 'band' || this.type === 'point') {\n this.scale = new BandAxisScale();\n this.scale.bandPadding = option.bandPadding;\n this.scale.paddingInner = option.paddingInner;\n this.scale.paddingOuter = option.paddingOuter;\n this.scale.calcScales(DEFAULT_BAND_INNER_PADDING, DEFAULT_BAND_OUTER_PADDING); // 0.1 0.3\n this.scale.updateScaleDomain(this.data);\n this.updateScaleRange();\n } else if (this.type === 'linear' || this.type === 'time' || this.type === 'log' || this.type === 'symlog') {\n this.scale = new LinearAxisScale(this.type);\n this.scale.setExtraAttrFromSpec(\n option.nice,\n option.zero,\n option.range,\n option.expand,\n option.base,\n option.constant\n );\n this.scale.transformScaleDomain();\n this.scale.updateScaleDomain();\n this.updateScaleRange();\n }\n }\n\n initData() {\n if (!this.table._vDataSet) {\n this.table._vDataSet = new DataSet();\n }\n\n registerDataSetInstanceParser(this.table._vDataSet, 'scale', scaleParser);\n registerDataSetInstanceTransform(this.table._vDataSet, 'ticks', ticks);\n\n const label = this.option.label || {};\n const tick = this.option.tick || {};\n\n const tickData = new DataView(this.table._vDataSet)\n .parse(this.scale._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling: this.option.sampling !== false, // default do sampling\n tickCount: tick.tickCount,\n forceTickCount: tick.forceTickCount,\n tickStep: tick.tickStep,\n tickMode: tick.tickMode,\n noDecimals: tick.noDecimals,\n\n axisOrientType: this.orient,\n coordinateType: 'cartesian',\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n labelLastVisible: label.lastVisible,\n labelFlush: label.flush\n }\n },\n false\n );\n this.tickData = tickData;\n\n this.computeData();\n }\n\n computeData(): void {\n this.tickData.reRunAllTransform();\n }\n\n initEvent() {\n // to be added\n }\n\n createComponent() {\n const axisStylrAttrs = getAxisAttributes(this.option);\n const attrs = this.getUpdateAttribute();\n attrs.verticalFactor = this.orient === 'top' || this.orient === 'right' ? -1 : 1;\n this.component = new LineAxis(\n merge(\n {\n disableTriggerEvent: this.table.options.disableInteraction\n },\n axisStylrAttrs,\n attrs\n )\n );\n this.component.setAttributes(this.setLayoutStartPosition({ x: this.x, y: this.y }));\n (this.component as any).originAxis = this;\n }\n\n resize(width: number, height: number) {\n this.width = width - (this.orient === 'top' || this.orient === 'bottom' ? this.padding[1] + this.padding[3] : 0);\n this.height = height - (this.orient === 'left' || this.orient === 'right' ? this.padding[2] + this.padding[0] : 0);\n this.updateScaleRange();\n this.computeData();\n const axisStylrAttrs = getAxisAttributes(this.option);\n const attrs = this.getUpdateAttribute();\n attrs.verticalFactor = this.orient === 'top' || this.orient === 'right' ? -1 : 1;\n this.component.setAttributes(merge({}, axisStylrAttrs, attrs));\n this.component.setAttributes(this.setLayoutStartPosition({ x: this.x, y: this.y }));\n this.overlap();\n }\n\n overlap() {\n doOverlap(this.component, this);\n }\n\n getLayoutRect() {\n // const padding = getQuadProps(this.table.theme.bodyStyle.padding as number);\n return {\n // width: this.width - (this.orient === 'top' || this.orient === 'bottom' ? padding[3] + padding[1] : 0),\n // height: this.height - (this.orient === 'left' || this.orient === 'right' ? padding[0] + padding[2] : 0)\n width: this.width,\n height: this.height\n };\n }\n\n getUpdateAttribute() {\n // 获取更新的坐标轴属性\n const regionHeight = this.table.tableNoFrameHeight;\n const regionWidth = this.table.tableNoFrameWidth;\n\n const { width, height } = this.getLayoutRect();\n const isX = isXAxis(this.orient);\n const isY = isYAxis(this.orient);\n let end = { x: 0, y: 0 };\n let gridLength = 0;\n let axisLength = 0;\n if (isX) {\n end = { x: width, y: 0 };\n gridLength = regionHeight;\n axisLength = width;\n } else if (isY) {\n end = { x: 0, y: height };\n gridLength = regionWidth;\n axisLength = height;\n }\n const size = this.orient === 'top' || this.orient === 'bottom' ? height : width;\n const attrs: LineAxisAttributes = {\n // start: { x: this.x, y: this.y },\n // x: this.x,\n // y: this.y,\n start: { x: 0, y: 0 },\n end,\n // grid: {\n // type: 'line',\n // length: gridLength,\n // visible: this.option.grid.visible\n // },\n title: {\n text: this.option.title.text as string,\n maxWidth: this._getTitleLimit(isX)\n },\n items: this.getLabelItems(axisLength),\n verticalLimitSize: size,\n verticalMinSize: size\n };\n return attrs;\n }\n\n getLabelItems(length: number) {\n return [\n this.tickData.latestData\n .map((obj: any) => {\n return {\n id: obj.value,\n label: obj.value,\n value: length === 0 ? 0 : this.scale.dataToPosition([obj.value]) / length,\n rawValue: obj.value\n };\n })\n .filter((entry: any) => entry.value >= 0 && entry.value <= 1)\n ];\n }\n\n updateScaleRange() {\n const right = this.option.innerOffset?.right ?? 0;\n const left = this.option.innerOffset?.left ?? 0;\n const top = this.option.innerOffset?.top ?? 0;\n const bottom = this.option.innerOffset?.bottom ?? 0;\n\n const { width, height } = this.getLayoutRect();\n const inverse = (this.option as any).inverse || false;\n let newRange: [number, number] = [0, 0];\n if (isXAxis(this.orient)) {\n if (isValidNumber(width)) {\n // newRange = inverse ? [width, 0] : [0, width];\n newRange = inverse ? [width - right, left] : [left, width - right];\n }\n } else {\n if (isValidNumber(height)) {\n // newRange = inverse ? [0, height] : [height, 0];\n newRange = inverse ? [top, height - bottom] : [height - bottom, top];\n }\n }\n\n this.scale.updateRange(newRange);\n }\n\n setLayoutStartPosition(pos: any) {\n let { x, y } = pos;\n\n if (isValidNumber(x)) {\n x += Number(this.orient === 'left') * this.getLayoutRect().width;\n }\n if (isValidNumber(y)) {\n y += Number(this.orient === 'top') * this.getLayoutRect().height;\n }\n\n return { x, y };\n // super.setLayoutStartPosition({ x, y });\n }\n\n private _getTitleLimit(isX: boolean) {\n if (this.option.title.visible && isNil(this.option.title.style?.maxLineWidth)) {\n let angle = this.option.title.style?.angle || 0;\n if (this.option.title?.autoRotate && isNil(this.option.title.angle)) {\n angle = this.option.orient === 'left' ? -90 : 90;\n }\n if (isX) {\n const width = this.getLayoutRect().width;\n const cosValue = Math.abs(Math.cos(degreeToRadian(angle)));\n // VRender 接收到的limit是考虑角度计算后的宽度\n // TODO:还需要考虑angle后,高度是否太高,综合计算一个limit,比如高度不能超过图表整体高度的1/4\n return cosValue < 1e-6 ? Infinity : width / cosValue;\n }\n const height = this.getLayoutRect().height;\n const sinValue = Math.abs(Math.sin(degreeToRadian(angle)));\n\n // TODO:还需要考虑angle后,宽度是否太宽,综合计算一个limit,比如宽度度不能超过图表整体宽度的1/4\n return sinValue < 1e-6 ? Infinity : height / sinValue;\n }\n\n return null;\n }\n\n getScale() {\n return this.scale._scale;\n }\n\n getDomainSpec() {\n return (this.scale as LinearAxisScale).domain;\n }\n}\n\nfunction getTableAxisTheme(orient: IOrientType, theme: TableTheme) {\n let directionStyle;\n if (orient === 'left') {\n directionStyle = theme.axisStyle.leftAxisStyle;\n } else if (orient === 'right') {\n directionStyle = theme.axisStyle.rightAxisStyle;\n } else if (orient === 'top') {\n directionStyle = theme.axisStyle.topAxisStyle;\n } else if (orient === 'bottom') {\n directionStyle = theme.axisStyle.bottomAxisStyle;\n }\n return merge({}, theme.axisStyle.defaultAxisStyle, directionStyle);\n}\n\nfunction getChartSpecAxisTheme(\n orient: IOrientType,\n type: 'linear' | 'band' | 'point' | 'time' | 'log' | 'symlog',\n chartSpecTheme?: any\n) {\n if (!chartSpecTheme) {\n return {};\n }\n const axisTheme = chartSpecTheme.axis;\n let axisTypeTheme;\n if (type === 'linear' || type === 'log' || type === 'symlog') {\n axisTypeTheme = chartSpecTheme.axisLinear;\n } else if (type === 'band') {\n axisTypeTheme = chartSpecTheme.axisBand;\n }\n\n let axisOrientTheme;\n if (orient === 'top' || orient === 'bottom') {\n axisOrientTheme = chartSpecTheme.axisX;\n } else if (orient === 'left' || orient === 'right') {\n axisOrientTheme = chartSpecTheme.axisY;\n }\n return merge({}, axisTheme, axisTypeTheme, axisOrientTheme);\n}\n"]}
1
+ {"version":3,"sources":["../src/components/axis/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import { degreeToRadian, isNil, isValidNumber, merge } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { ICellAxisOption } from '../../ts-types/component/axis';\nimport { LineAxis, type LineAxisAttributes } from './../../vrender';\nimport { getAxisAttributes, getCommonAxis } from './get-axis-attributes';\nimport { isXAxis, isYAxis } from '../util/orient';\nimport type { IOrientType } from '../../ts-types/component/util';\nimport { BandAxisScale } from './band-scale';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../util/register';\nimport type { Parser } from '@visactor/vdataset';\nimport { DataSet, DataView } from '@visactor/vdataset';\nimport type { IBaseScale } from '@visactor/vscale';\nimport { ticks } from './../../vrender';\nimport { LinearAxisScale } from './linear-scale';\nimport { doOverlap } from './label-overlap';\nimport type { TableTheme } from '../../themes/theme';\n\nconst DEFAULT_BAND_INNER_PADDING = 0.1;\nconst DEFAULT_BAND_OUTER_PADDING = 0.3;\nconst scaleParser: Parser = (scale: IBaseScale) => {\n return scale;\n};\n\nexport interface ICartesianAxis {\n new (\n option: ICellAxisOption,\n width: number,\n height: number,\n padding: [number, number, number, number],\n table: BaseTableAPI\n ): CartesianAxis;\n}\n\nexport class CartesianAxis {\n width: number;\n height: number;\n x: number = 0;\n y: number = 0;\n table: BaseTableAPI;\n option: ICellAxisOption;\n orient: IOrientType;\n visible: boolean;\n type: 'linear' | 'band' | 'point' | 'time' | 'log' | 'symlog';\n inverse: boolean;\n data?: any[];\n tickData: DataView;\n scale: BandAxisScale | LinearAxisScale;\n component: LineAxis;\n padding: [number, number, number, number];\n\n constructor(\n option: ICellAxisOption,\n width: number,\n height: number,\n padding: [number, number, number, number],\n table: BaseTableAPI\n ) {\n this.padding = padding;\n this.table = table;\n this.orient = option.orient ?? 'left';\n this.type = option.type ?? 'band';\n this.option = merge(\n {},\n // commonAxis,\n getCommonAxis(option.__vtableChartTheme),\n getTableAxisTheme(this.orient, table.theme),\n getChartSpecAxisTheme(this.orient, this.type, option.__vtableChartTheme),\n option\n );\n\n if (this.orient === 'left' || this.orient === 'right') {\n // const innerOffsetTop = this.option.innerOffset?.top ?? 0;\n // const innerOffsetBottom = this.option.innerOffset?.bottom ?? 0;\n const innerOffsetTop = 0;\n const innerOffsetBottom = 0;\n this.width = width;\n this.height = height - padding[0] - padding[2] - innerOffsetBottom;\n this.y = padding[0] + innerOffsetTop;\n } else if (this.orient === 'top' || this.orient === 'bottom') {\n // const innerOffsetLeft = this.option.innerOffset?.left ?? 0;\n // const innerOffsetRight = this.option.innerOffset?.right ?? 0;\n const innerOffsetLeft = 0;\n const innerOffsetRight = 0;\n this.width = width - padding[1] - padding[3] - innerOffsetRight;\n this.height = height;\n this.x = padding[3] + innerOffsetLeft;\n }\n\n this.visible = option.visible ?? true;\n this.inverse = 'inverse' in option ? !!option.inverse : false;\n if (option.type === 'band') {\n this.data = option.domain;\n }\n\n this.initScale();\n this.initData();\n this.createComponent();\n this.initEvent();\n }\n\n initScale() {\n const option = this.option as any;\n if (this.type === 'band' || this.type === 'point') {\n this.scale = new BandAxisScale();\n this.scale.bandPadding = option.bandPadding;\n this.scale.paddingInner = option.paddingInner;\n this.scale.paddingOuter = option.paddingOuter;\n this.scale.calcScales(DEFAULT_BAND_INNER_PADDING, DEFAULT_BAND_OUTER_PADDING); // 0.1 0.3\n this.scale.updateScaleDomain(this.data);\n this.updateScaleRange();\n } else if (this.type === 'linear' || this.type === 'time' || this.type === 'log' || this.type === 'symlog') {\n this.scale = new LinearAxisScale(this.type);\n this.scale.setExtraAttrFromSpec(\n option.nice,\n option.zero,\n option.range,\n option.expand,\n option.base,\n option.constant\n );\n this.scale.transformScaleDomain();\n this.scale.updateScaleDomain();\n this.updateScaleRange();\n }\n }\n\n initData() {\n if (!this.table._vDataSet) {\n this.table._vDataSet = new DataSet();\n }\n\n registerDataSetInstanceParser(this.table._vDataSet, 'scale', scaleParser);\n registerDataSetInstanceTransform(this.table._vDataSet, 'ticks', ticks);\n\n const label = this.option.label || {};\n const tick = this.option.tick || {};\n\n const tickData = new DataView(this.table._vDataSet)\n .parse(this.scale._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling: this.option.sampling !== false, // default do sampling\n tickCount: tick.tickCount,\n forceTickCount: tick.forceTickCount,\n tickStep: tick.tickStep,\n tickMode: tick.tickMode,\n noDecimals: tick.noDecimals,\n\n axisOrientType: this.orient,\n coordinateType: 'cartesian',\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n labelLastVisible: label.lastVisible,\n labelFlush: label.flush\n }\n },\n false\n );\n this.tickData = tickData;\n\n this.computeData();\n }\n\n computeData(): void {\n this.tickData.reRunAllTransform();\n }\n\n initEvent() {\n // to be added\n }\n\n createComponent() {\n const axisStylrAttrs = getAxisAttributes(this.option);\n const attrs = this.getUpdateAttribute();\n attrs.verticalFactor = this.orient === 'top' || this.orient === 'right' ? -1 : 1;\n this.component = new LineAxis(\n merge(\n {\n disableTriggerEvent: this.table.options.disableInteraction\n },\n axisStylrAttrs,\n attrs\n )\n );\n this.component.setAttributes(this.setLayoutStartPosition({ x: this.x, y: this.y }));\n (this.component as any).originAxis = this;\n }\n\n resize(width: number, height: number) {\n this.width = width - (this.orient === 'top' || this.orient === 'bottom' ? this.padding[1] + this.padding[3] : 0);\n this.height = height - (this.orient === 'left' || this.orient === 'right' ? this.padding[2] + this.padding[0] : 0);\n this.updateScaleRange();\n this.computeData();\n const axisStylrAttrs = getAxisAttributes(this.option);\n const attrs = this.getUpdateAttribute();\n attrs.verticalFactor = this.orient === 'top' || this.orient === 'right' ? -1 : 1;\n this.component.setAttributes(merge({}, axisStylrAttrs, attrs));\n this.component.setAttributes(this.setLayoutStartPosition({ x: this.x, y: this.y }));\n this.overlap();\n }\n\n overlap() {\n doOverlap(this.component, this);\n }\n\n getLayoutRect() {\n // const padding = getQuadProps(this.table.theme.bodyStyle.padding as number);\n return {\n // width: this.width - (this.orient === 'top' || this.orient === 'bottom' ? padding[3] + padding[1] : 0),\n // height: this.height - (this.orient === 'left' || this.orient === 'right' ? padding[0] + padding[2] : 0)\n width: this.width,\n height: this.height\n };\n }\n\n getUpdateAttribute() {\n // 获取更新的坐标轴属性\n const regionHeight = this.table.tableNoFrameHeight;\n const regionWidth = this.table.tableNoFrameWidth;\n\n const { width, height } = this.getLayoutRect();\n const isX = isXAxis(this.orient);\n const isY = isYAxis(this.orient);\n let end = { x: 0, y: 0 };\n let gridLength = 0;\n let axisLength = 0;\n if (isX) {\n end = { x: width, y: 0 };\n gridLength = regionHeight;\n axisLength = width;\n } else if (isY) {\n end = { x: 0, y: height };\n gridLength = regionWidth;\n axisLength = height;\n }\n const size = this.orient === 'top' || this.orient === 'bottom' ? height : width;\n const attrs: LineAxisAttributes = {\n // start: { x: this.x, y: this.y },\n // x: this.x,\n // y: this.y,\n start: { x: 0, y: 0 },\n end,\n // grid: {\n // type: 'line',\n // length: gridLength,\n // visible: this.option.grid.visible\n // },\n title: {\n text: this.option.title.text as string,\n maxWidth: this._getTitleLimit(isX)\n },\n items: this.getLabelItems(axisLength),\n verticalLimitSize: size,\n verticalMinSize: size\n };\n return attrs;\n }\n\n getLabelItems(length: number) {\n return [\n this.tickData.latestData\n .map((obj: any) => {\n return {\n id: obj.value,\n label: obj.value,\n value: length === 0 ? 0 : this.scale.dataToPosition([obj.value]) / length,\n rawValue: obj.value\n };\n })\n .filter((entry: any) => entry.value >= 0 && entry.value <= 1)\n ];\n }\n\n updateScaleRange() {\n const right = this.option.innerOffset?.right ?? 0;\n const left = this.option.innerOffset?.left ?? 0;\n const top = this.option.innerOffset?.top ?? 0;\n const bottom = this.option.innerOffset?.bottom ?? 0;\n\n const { width, height } = this.getLayoutRect();\n const inverse = (this.option as any).inverse || false;\n let newRange: [number, number] = [0, 0];\n if (isXAxis(this.orient)) {\n if (isValidNumber(width)) {\n // newRange = inverse ? [width, 0] : [0, width];\n newRange = inverse ? [width - right, left] : [left, width - right];\n }\n } else {\n if (isValidNumber(height)) {\n // newRange = inverse ? [0, height] : [height, 0];\n newRange = inverse ? [top, height - bottom] : [height - bottom, top];\n }\n }\n\n this.scale.updateRange(newRange);\n }\n\n setLayoutStartPosition(pos: any) {\n let { x, y } = pos;\n\n if (isValidNumber(x)) {\n x += Number(this.orient === 'left') * this.getLayoutRect().width;\n }\n if (isValidNumber(y)) {\n y += Number(this.orient === 'top') * this.getLayoutRect().height;\n }\n\n return { x, y };\n // super.setLayoutStartPosition({ x, y });\n }\n\n private _getTitleLimit(isX: boolean) {\n if (this.option.title.visible && isNil(this.option.title.style?.maxLineWidth)) {\n let angle = this.option.title.style?.angle || 0;\n if (this.option.title?.autoRotate && isNil(this.option.title.angle)) {\n angle = this.option.orient === 'left' ? -90 : 90;\n }\n if (isX) {\n const width = this.getLayoutRect().width;\n const cosValue = Math.abs(Math.cos(degreeToRadian(angle)));\n // VRender 接收到的limit是考虑角度计算后的宽度\n // TODO:还需要考虑angle后,高度是否太高,综合计算一个limit,比如高度不能超过图表整体高度的1/4\n return cosValue < 1e-6 ? Infinity : width / cosValue;\n }\n const height = this.getLayoutRect().height;\n const sinValue = Math.abs(Math.sin(degreeToRadian(angle)));\n\n // TODO:还需要考虑angle后,宽度是否太宽,综合计算一个limit,比如宽度度不能超过图表整体宽度的1/4\n return sinValue < 1e-6 ? Infinity : height / sinValue;\n }\n\n return null;\n }\n\n getScale() {\n return this.scale._scale;\n }\n\n getDomainSpec() {\n return (this.scale as LinearAxisScale).domain;\n }\n}\n\nfunction getTableAxisTheme(orient: IOrientType, theme: TableTheme) {\n let directionStyle;\n if (orient === 'left') {\n directionStyle = theme.axisStyle.leftAxisStyle;\n } else if (orient === 'right') {\n directionStyle = theme.axisStyle.rightAxisStyle;\n } else if (orient === 'top') {\n directionStyle = theme.axisStyle.topAxisStyle;\n } else if (orient === 'bottom') {\n directionStyle = theme.axisStyle.bottomAxisStyle;\n }\n return merge({}, theme.axisStyle.defaultAxisStyle, directionStyle);\n}\n\nfunction getChartSpecAxisTheme(\n orient: IOrientType,\n type: 'linear' | 'band' | 'point' | 'time' | 'log' | 'symlog',\n chartSpecTheme?: any\n) {\n if (!chartSpecTheme) {\n return {};\n }\n const axisTheme = chartSpecTheme.axis;\n let axisTypeTheme;\n if (type === 'linear' || type === 'log' || type === 'symlog') {\n axisTypeTheme = chartSpecTheme.axisLinear;\n } else if (type === 'band') {\n axisTypeTheme = chartSpecTheme.axisBand;\n }\n\n let axisOrientTheme;\n if (orient === 'top' || orient === 'bottom') {\n axisOrientTheme = chartSpecTheme.axisX;\n } else if (orient === 'left' || orient === 'right') {\n axisOrientTheme = chartSpecTheme.axisY;\n }\n return merge({}, axisTheme, axisTypeTheme, axisOrientTheme);\n}\n"]}