@antv/gpt-vis 0.6.0 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (547) hide show
  1. package/README.md +183 -114
  2. package/README.zh-CN.md +185 -112
  3. package/dist/cjs/gpt-vis/index.d.ts +108 -0
  4. package/dist/cjs/gpt-vis/index.js +173 -0
  5. package/dist/cjs/index.d.ts +44 -13
  6. package/dist/cjs/index.js +65 -35
  7. package/dist/cjs/syntax/index.d.ts +2 -0
  8. package/dist/cjs/{Text/mini-charts/hooks → syntax}/index.js +9 -7
  9. package/dist/cjs/syntax/parser.d.ts +67 -0
  10. package/dist/cjs/syntax/parser.js +235 -0
  11. package/dist/cjs/types/index.d.ts +33 -2
  12. package/dist/cjs/types/index.js +0 -6
  13. package/dist/cjs/util/theme.d.ts +21 -0
  14. package/dist/cjs/{theme.js → util/theme.js} +63 -14
  15. package/dist/cjs/vis/area/index.d.ts +60 -0
  16. package/dist/cjs/vis/area/index.js +151 -0
  17. package/dist/cjs/vis/bar/index.d.ts +60 -0
  18. package/dist/cjs/vis/bar/index.js +122 -0
  19. package/dist/cjs/vis/boxplot/index.d.ts +59 -0
  20. package/dist/cjs/vis/boxplot/index.js +106 -0
  21. package/dist/cjs/vis/column/index.d.ts +60 -0
  22. package/dist/cjs/vis/column/index.js +121 -0
  23. package/dist/cjs/vis/dual-axes/index.d.ts +64 -0
  24. package/dist/cjs/vis/dual-axes/index.js +147 -0
  25. package/dist/cjs/vis/funnel/index.d.ts +54 -0
  26. package/dist/cjs/vis/funnel/index.js +189 -0
  27. package/dist/cjs/vis/histogram/index.d.ts +47 -0
  28. package/dist/cjs/vis/histogram/index.js +112 -0
  29. package/dist/cjs/vis/line/index.d.ts +59 -0
  30. package/dist/cjs/vis/line/index.js +104 -0
  31. package/dist/cjs/vis/liquid/index.d.ts +44 -0
  32. package/dist/cjs/vis/liquid/index.js +87 -0
  33. package/dist/cjs/vis/pie/index.d.ts +55 -0
  34. package/dist/cjs/vis/pie/index.js +108 -0
  35. package/dist/cjs/vis/radar/index.d.ts +57 -0
  36. package/dist/cjs/vis/radar/index.js +152 -0
  37. package/dist/cjs/vis/sankey/index.d.ts +56 -0
  38. package/dist/cjs/vis/sankey/index.js +93 -0
  39. package/dist/cjs/vis/scatter/index.d.ts +54 -0
  40. package/dist/cjs/vis/scatter/index.js +94 -0
  41. package/dist/cjs/vis/summary/index.d.ts +41 -0
  42. package/dist/cjs/{Text/utils/getThemeColor.js → vis/summary/index.js} +33 -22
  43. package/dist/cjs/vis/table/index.d.ts +49 -0
  44. package/dist/cjs/vis/table/index.js +173 -0
  45. package/dist/cjs/vis/treemap/index.d.ts +68 -0
  46. package/dist/cjs/vis/treemap/index.js +105 -0
  47. package/dist/cjs/vis/venn/index.d.ts +54 -0
  48. package/dist/cjs/vis/venn/index.js +100 -0
  49. package/dist/cjs/vis/violin/index.d.ts +59 -0
  50. package/dist/cjs/vis/violin/index.js +155 -0
  51. package/dist/cjs/vis/waterfall/index.d.ts +67 -0
  52. package/dist/cjs/vis/waterfall/index.js +172 -0
  53. package/dist/cjs/vis/word-cloud/index.d.ts +53 -0
  54. package/dist/cjs/vis/word-cloud/index.js +89 -0
  55. package/dist/cjs/vis-wrapper/icons.d.ts +8 -0
  56. package/dist/cjs/vis-wrapper/icons.js +63 -0
  57. package/dist/cjs/vis-wrapper/index.d.ts +24 -0
  58. package/dist/cjs/vis-wrapper/index.js +231 -0
  59. package/dist/cjs/vis-wrapper/styles.d.ts +8 -0
  60. package/dist/cjs/vis-wrapper/styles.js +214 -0
  61. package/dist/esm/gpt-vis/index.d.ts +108 -0
  62. package/dist/esm/gpt-vis/index.js +224 -0
  63. package/dist/esm/index.d.ts +44 -13
  64. package/dist/esm/index.js +22 -15
  65. package/dist/esm/syntax/index.d.ts +2 -0
  66. package/dist/esm/syntax/index.js +1 -0
  67. package/dist/esm/syntax/parser.d.ts +67 -0
  68. package/dist/esm/syntax/parser.js +401 -0
  69. package/dist/esm/types/index.d.ts +33 -2
  70. package/dist/esm/types/index.js +0 -1
  71. package/dist/esm/util/theme.d.ts +21 -0
  72. package/dist/esm/util/theme.js +141 -0
  73. package/dist/esm/vis/area/index.d.ts +60 -0
  74. package/dist/esm/vis/area/index.js +230 -0
  75. package/dist/esm/vis/bar/index.d.ts +60 -0
  76. package/dist/esm/vis/bar/index.js +203 -0
  77. package/dist/esm/vis/boxplot/index.d.ts +59 -0
  78. package/dist/esm/vis/boxplot/index.js +164 -0
  79. package/dist/esm/vis/column/index.d.ts +60 -0
  80. package/dist/esm/vis/column/index.js +198 -0
  81. package/dist/esm/vis/dual-axes/index.d.ts +64 -0
  82. package/dist/esm/vis/dual-axes/index.js +234 -0
  83. package/dist/esm/vis/funnel/index.d.ts +54 -0
  84. package/dist/esm/vis/funnel/index.js +246 -0
  85. package/dist/esm/vis/histogram/index.d.ts +47 -0
  86. package/dist/esm/vis/histogram/index.js +148 -0
  87. package/dist/esm/vis/line/index.d.ts +59 -0
  88. package/dist/esm/vis/line/index.js +172 -0
  89. package/dist/esm/vis/liquid/index.d.ts +44 -0
  90. package/dist/esm/vis/liquid/index.js +130 -0
  91. package/dist/esm/vis/pie/index.d.ts +55 -0
  92. package/dist/esm/vis/pie/index.js +168 -0
  93. package/dist/esm/vis/radar/index.d.ts +57 -0
  94. package/dist/esm/vis/radar/index.js +222 -0
  95. package/dist/esm/vis/sankey/index.d.ts +56 -0
  96. package/dist/esm/vis/sankey/index.js +135 -0
  97. package/dist/esm/vis/scatter/index.d.ts +54 -0
  98. package/dist/esm/vis/scatter/index.js +158 -0
  99. package/dist/esm/vis/summary/index.d.ts +41 -0
  100. package/dist/esm/vis/summary/index.js +80 -0
  101. package/dist/esm/vis/table/index.d.ts +49 -0
  102. package/dist/esm/vis/table/index.js +160 -0
  103. package/dist/esm/vis/treemap/index.d.ts +68 -0
  104. package/dist/esm/vis/treemap/index.js +158 -0
  105. package/dist/esm/vis/venn/index.d.ts +54 -0
  106. package/dist/esm/vis/venn/index.js +142 -0
  107. package/dist/esm/vis/violin/index.d.ts +59 -0
  108. package/dist/esm/vis/violin/index.js +245 -0
  109. package/dist/esm/vis/waterfall/index.d.ts +67 -0
  110. package/dist/esm/vis/waterfall/index.js +245 -0
  111. package/dist/esm/vis/word-cloud/index.d.ts +53 -0
  112. package/dist/esm/vis/word-cloud/index.js +128 -0
  113. package/dist/esm/vis-wrapper/icons.d.ts +8 -0
  114. package/dist/esm/vis-wrapper/icons.js +29 -0
  115. package/dist/esm/vis-wrapper/index.d.ts +24 -0
  116. package/dist/esm/vis-wrapper/index.js +237 -0
  117. package/dist/esm/vis-wrapper/styles.d.ts +8 -0
  118. package/dist/esm/vis-wrapper/styles.js +21 -0
  119. package/dist/umd/index.min.js +1 -1
  120. package/package.json +26 -67
  121. package/src/gpt-vis/index.ts +283 -0
  122. package/src/index.ts +44 -0
  123. package/src/readme.md +37 -0
  124. package/src/syntax/index.ts +2 -0
  125. package/src/syntax/parser.ts +411 -0
  126. package/src/types/index.ts +29 -0
  127. package/src/util/theme.ts +167 -0
  128. package/src/vis/area/README.md +143 -0
  129. package/src/vis/area/index.ts +212 -0
  130. package/src/vis/bar/README.md +158 -0
  131. package/src/vis/bar/index.ts +186 -0
  132. package/src/vis/boxplot/README.md +168 -0
  133. package/src/vis/boxplot/index.ts +162 -0
  134. package/src/vis/column/README.md +158 -0
  135. package/src/vis/column/index.ts +185 -0
  136. package/src/vis/dual-axes/README.md +191 -0
  137. package/src/vis/dual-axes/index.ts +218 -0
  138. package/src/vis/funnel/README.md +143 -0
  139. package/src/vis/funnel/index.ts +238 -0
  140. package/src/vis/histogram/README.md +130 -0
  141. package/src/vis/histogram/index.ts +153 -0
  142. package/src/vis/line/README.md +138 -0
  143. package/src/vis/line/index.ts +159 -0
  144. package/src/vis/liquid/README.md +150 -0
  145. package/src/vis/liquid/index.ts +130 -0
  146. package/src/vis/pie/README.md +127 -0
  147. package/src/vis/pie/index.ts +163 -0
  148. package/src/vis/radar/README.md +184 -0
  149. package/src/vis/radar/index.ts +214 -0
  150. package/src/vis/sankey/README.md +144 -0
  151. package/src/vis/sankey/index.ts +144 -0
  152. package/src/vis/scatter/README.md +145 -0
  153. package/src/vis/scatter/index.ts +147 -0
  154. package/src/vis/summary/README.md +272 -0
  155. package/src/vis/summary/index.ts +91 -0
  156. package/src/vis/table/README.md +174 -0
  157. package/src/vis/table/index.ts +241 -0
  158. package/src/vis/treemap/README.md +199 -0
  159. package/src/vis/treemap/index.ts +167 -0
  160. package/src/vis/venn/README.md +153 -0
  161. package/src/vis/venn/index.ts +149 -0
  162. package/src/vis/violin/README.md +168 -0
  163. package/src/vis/violin/index.ts +216 -0
  164. package/src/vis/waterfall/README.md +178 -0
  165. package/src/vis/waterfall/index.ts +258 -0
  166. package/src/vis/word-cloud/README.md +137 -0
  167. package/src/vis/word-cloud/index.ts +137 -0
  168. package/src/vis-wrapper/README.md +159 -0
  169. package/src/vis-wrapper/icons.ts +35 -0
  170. package/src/vis-wrapper/index.ts +276 -0
  171. package/src/vis-wrapper/styles.ts +195 -0
  172. package/README.ja-JP.md +0 -164
  173. package/dist/cjs/Area/index.d.ts +0 -11
  174. package/dist/cjs/Area/index.js +0 -105
  175. package/dist/cjs/Bar/index.d.ts +0 -14
  176. package/dist/cjs/Bar/index.js +0 -101
  177. package/dist/cjs/Boxplot/index.d.ts +0 -11
  178. package/dist/cjs/Boxplot/index.js +0 -88
  179. package/dist/cjs/ChartCodeRender/Loading.d.ts +0 -6
  180. package/dist/cjs/ChartCodeRender/Loading.js +0 -54
  181. package/dist/cjs/ChartCodeRender/VisChart.d.ts +0 -19
  182. package/dist/cjs/ChartCodeRender/VisChart.js +0 -338
  183. package/dist/cjs/ChartCodeRender/icon.d.ts +0 -10
  184. package/dist/cjs/ChartCodeRender/icon.js +0 -162
  185. package/dist/cjs/ChartCodeRender/index.d.ts +0 -8
  186. package/dist/cjs/ChartCodeRender/index.js +0 -113
  187. package/dist/cjs/ChartCodeRender/styles.d.ts +0 -19
  188. package/dist/cjs/ChartCodeRender/styles.js +0 -232
  189. package/dist/cjs/ChartCodeRender/type.d.ts +0 -176
  190. package/dist/cjs/ChartCodeRender/type.js +0 -17
  191. package/dist/cjs/ChartCodeRender/utils.d.ts +0 -1
  192. package/dist/cjs/ChartCodeRender/utils.js +0 -51
  193. package/dist/cjs/Column/index.d.ts +0 -14
  194. package/dist/cjs/Column/index.js +0 -102
  195. package/dist/cjs/ConfigProvider/context.d.ts +0 -3
  196. package/dist/cjs/ConfigProvider/context.js +0 -41
  197. package/dist/cjs/ConfigProvider/hooks/index.d.ts +0 -1
  198. package/dist/cjs/ConfigProvider/hooks/index.js +0 -23
  199. package/dist/cjs/ConfigProvider/hooks/useConfig.d.ts +0 -13
  200. package/dist/cjs/ConfigProvider/hooks/useConfig.js +0 -109
  201. package/dist/cjs/ConfigProvider/index.d.ts +0 -7
  202. package/dist/cjs/ConfigProvider/index.js +0 -43
  203. package/dist/cjs/DualAxes/index.d.ts +0 -20
  204. package/dist/cjs/DualAxes/index.js +0 -84
  205. package/dist/cjs/DualAxes/util.d.ts +0 -9
  206. package/dist/cjs/DualAxes/util.js +0 -77
  207. package/dist/cjs/FishboneDiagram/index.d.ts +0 -7
  208. package/dist/cjs/FishboneDiagram/index.js +0 -66
  209. package/dist/cjs/FlowDiagram/helper.d.ts +0 -7
  210. package/dist/cjs/FlowDiagram/helper.js +0 -83
  211. package/dist/cjs/FlowDiagram/index.d.ts +0 -6
  212. package/dist/cjs/FlowDiagram/index.js +0 -107
  213. package/dist/cjs/Funnel/index.d.ts +0 -12
  214. package/dist/cjs/Funnel/index.js +0 -173
  215. package/dist/cjs/GPTVis/Lite.d.ts +0 -19
  216. package/dist/cjs/GPTVis/Lite.js +0 -81
  217. package/dist/cjs/GPTVis/hooks/useContext.d.ts +0 -8
  218. package/dist/cjs/GPTVis/hooks/useContext.js +0 -49
  219. package/dist/cjs/GPTVis/hooks/useEvent.d.ts +0 -1
  220. package/dist/cjs/GPTVis/hooks/useEvent.js +0 -33
  221. package/dist/cjs/GPTVis/index.d.ts +0 -6
  222. package/dist/cjs/GPTVis/index.js +0 -42
  223. package/dist/cjs/HeatMap/index.d.ts +0 -12
  224. package/dist/cjs/HeatMap/index.js +0 -67
  225. package/dist/cjs/Histogram/index.d.ts +0 -8
  226. package/dist/cjs/Histogram/index.js +0 -79
  227. package/dist/cjs/IndentedTree/index.d.ts +0 -7
  228. package/dist/cjs/IndentedTree/index.js +0 -78
  229. package/dist/cjs/Line/index.d.ts +0 -11
  230. package/dist/cjs/Line/index.js +0 -94
  231. package/dist/cjs/Liquid/index.d.ts +0 -11
  232. package/dist/cjs/Liquid/index.js +0 -85
  233. package/dist/cjs/Map/Component/MapView.d.ts +0 -3
  234. package/dist/cjs/Map/Component/MapView.js +0 -40
  235. package/dist/cjs/Map/Component/Marker.d.ts +0 -3
  236. package/dist/cjs/Map/Component/Marker.js +0 -53
  237. package/dist/cjs/Map/Component/Polyline.d.ts +0 -3
  238. package/dist/cjs/Map/Component/Polyline.js +0 -50
  239. package/dist/cjs/Map/Component/index.d.ts +0 -4
  240. package/dist/cjs/Map/Component/index.js +0 -45
  241. package/dist/cjs/Map/data.json +0 -305
  242. package/dist/cjs/Map/index.d.ts +0 -5
  243. package/dist/cjs/Map/index.js +0 -61
  244. package/dist/cjs/MindMap/index.d.ts +0 -7
  245. package/dist/cjs/MindMap/index.js +0 -75
  246. package/dist/cjs/NetworkGraph/index.d.ts +0 -6
  247. package/dist/cjs/NetworkGraph/index.js +0 -75
  248. package/dist/cjs/OrganizationChart/index.d.ts +0 -6
  249. package/dist/cjs/OrganizationChart/index.js +0 -95
  250. package/dist/cjs/PathMap/index.d.ts +0 -6
  251. package/dist/cjs/PathMap/index.js +0 -58
  252. package/dist/cjs/Pie/index.d.ts +0 -23
  253. package/dist/cjs/Pie/index.js +0 -94
  254. package/dist/cjs/PinMap/index.d.ts +0 -6
  255. package/dist/cjs/PinMap/index.js +0 -44
  256. package/dist/cjs/PinMap/maker.svg +0 -1
  257. package/dist/cjs/Radar/index.d.ts +0 -13
  258. package/dist/cjs/Radar/index.js +0 -153
  259. package/dist/cjs/Sankey/index.d.ts +0 -14
  260. package/dist/cjs/Sankey/index.js +0 -110
  261. package/dist/cjs/Scatter/index.d.ts +0 -13
  262. package/dist/cjs/Scatter/index.js +0 -103
  263. package/dist/cjs/Spreadsheet/index.d.ts +0 -28
  264. package/dist/cjs/Spreadsheet/index.js +0 -113
  265. package/dist/cjs/Table/index.d.ts +0 -9
  266. package/dist/cjs/Table/index.js +0 -91
  267. package/dist/cjs/Text/VisText.d.ts +0 -4
  268. package/dist/cjs/Text/VisText.js +0 -82
  269. package/dist/cjs/Text/config.d.ts +0 -18
  270. package/dist/cjs/Text/config.js +0 -91
  271. package/dist/cjs/Text/custom-icons/index.d.ts +0 -3
  272. package/dist/cjs/Text/custom-icons/index.js +0 -66
  273. package/dist/cjs/Text/index.d.ts +0 -3
  274. package/dist/cjs/Text/index.js +0 -42
  275. package/dist/cjs/Text/mini-charts/hooks/getElementFontSize.d.ts +0 -1
  276. package/dist/cjs/Text/mini-charts/hooks/getElementFontSize.js +0 -65
  277. package/dist/cjs/Text/mini-charts/hooks/index.d.ts +0 -1
  278. package/dist/cjs/Text/mini-charts/hooks/useSvgWrapper.d.ts +0 -5
  279. package/dist/cjs/Text/mini-charts/hooks/useSvgWrapper.js +0 -65
  280. package/dist/cjs/Text/mini-charts/index.d.ts +0 -2
  281. package/dist/cjs/Text/mini-charts/index.js +0 -25
  282. package/dist/cjs/Text/mini-charts/line/SingleLineChart.d.ts +0 -3
  283. package/dist/cjs/Text/mini-charts/line/SingleLineChart.js +0 -63
  284. package/dist/cjs/Text/mini-charts/line/index.d.ts +0 -1
  285. package/dist/cjs/Text/mini-charts/line/index.js +0 -29
  286. package/dist/cjs/Text/mini-charts/line/scaleLinear.d.ts +0 -4
  287. package/dist/cjs/Text/mini-charts/line/scaleLinear.js +0 -35
  288. package/dist/cjs/Text/mini-charts/line/useLineCompute.d.ts +0 -6
  289. package/dist/cjs/Text/mini-charts/line/useLineCompute.js +0 -103
  290. package/dist/cjs/Text/mini-charts/proportion/getArcPath.d.ts +0 -1
  291. package/dist/cjs/Text/mini-charts/proportion/getArcPath.js +0 -51
  292. package/dist/cjs/Text/mini-charts/proportion/index.d.ts +0 -3
  293. package/dist/cjs/Text/mini-charts/proportion/index.js +0 -71
  294. package/dist/cjs/Text/theme.d.ts +0 -24
  295. package/dist/cjs/Text/theme.js +0 -52
  296. package/dist/cjs/Text/types.d.ts +0 -20
  297. package/dist/cjs/Text/types.js +0 -17
  298. package/dist/cjs/Text/utils/getThemeColor.d.ts +0 -11
  299. package/dist/cjs/Text/utils/index.d.ts +0 -2
  300. package/dist/cjs/Text/utils/index.js +0 -25
  301. package/dist/cjs/Text/utils/useAntdDarkAlgorithm.d.ts +0 -2
  302. package/dist/cjs/Text/utils/useAntdDarkAlgorithm.js +0 -40
  303. package/dist/cjs/Treemap/index.d.ts +0 -10
  304. package/dist/cjs/Treemap/index.js +0 -93
  305. package/dist/cjs/Venn/index.d.ts +0 -32
  306. package/dist/cjs/Venn/index.js +0 -87
  307. package/dist/cjs/Violin/index.d.ts +0 -10
  308. package/dist/cjs/Violin/index.js +0 -190
  309. package/dist/cjs/Waterfall/index.d.ts +0 -25
  310. package/dist/cjs/Waterfall/index.js +0 -184
  311. package/dist/cjs/WordCloud/index.d.ts +0 -9
  312. package/dist/cjs/WordCloud/index.js +0 -76
  313. package/dist/cjs/constants/index.d.ts +0 -2
  314. package/dist/cjs/constants/index.js +0 -35
  315. package/dist/cjs/export-map.browser.d.ts +0 -4
  316. package/dist/cjs/export-map.browser.js +0 -48
  317. package/dist/cjs/export-map.d.ts +0 -10
  318. package/dist/cjs/export-map.js +0 -41
  319. package/dist/cjs/export.d.ts +0 -76
  320. package/dist/cjs/export.js +0 -159
  321. package/dist/cjs/render.d.ts +0 -2
  322. package/dist/cjs/render.js +0 -67
  323. package/dist/cjs/theme.d.ts +0 -2
  324. package/dist/cjs/types/chart.d.ts +0 -88
  325. package/dist/cjs/types/chart.js +0 -61
  326. package/dist/cjs/types/config.d.ts +0 -25
  327. package/dist/cjs/types/config.js +0 -17
  328. package/dist/cjs/types/map.d.ts +0 -242
  329. package/dist/cjs/types/map.js +0 -17
  330. package/dist/cjs/utils/config.d.ts +0 -5
  331. package/dist/cjs/utils/config.js +0 -76
  332. package/dist/cjs/utils/graph.d.ts +0 -18
  333. package/dist/cjs/utils/graph.js +0 -64
  334. package/dist/cjs/utils/index.d.ts +0 -1
  335. package/dist/cjs/utils/index.js +0 -23
  336. package/dist/cjs/utils/map/context.d.ts +0 -3
  337. package/dist/cjs/utils/map/context.js +0 -45
  338. package/dist/cjs/utils/map/controls.d.ts +0 -0
  339. package/dist/cjs/utils/map/controls.js +0 -0
  340. package/dist/cjs/utils/map/index.d.ts +0 -6
  341. package/dist/cjs/utils/map/index.js +0 -33
  342. package/dist/cjs/utils/map/markers.d.ts +0 -2
  343. package/dist/cjs/utils/map/markers.js +0 -88
  344. package/dist/cjs/utils/map/polyline.d.ts +0 -2
  345. package/dist/cjs/utils/map/polyline.js +0 -52
  346. package/dist/cjs/utils/map/style.d.ts +0 -45
  347. package/dist/cjs/utils/map/style.js +0 -112
  348. package/dist/cjs/utils/map/util.d.ts +0 -1
  349. package/dist/cjs/utils/map/util.js +0 -38
  350. package/dist/cjs/utils/map/view.d.ts +0 -5
  351. package/dist/cjs/utils/map/view.js +0 -100
  352. package/dist/cjs/utils/palette.d.ts +0 -2
  353. package/dist/cjs/utils/palette.js +0 -54
  354. package/dist/cjs/utils/plot.d.ts +0 -5
  355. package/dist/cjs/utils/plot.js +0 -90
  356. package/dist/cjs/version.d.ts +0 -2
  357. package/dist/cjs/version.js +0 -25
  358. package/dist/esm/Area/index.d.ts +0 -11
  359. package/dist/esm/Area/index.js +0 -108
  360. package/dist/esm/Bar/index.d.ts +0 -14
  361. package/dist/esm/Bar/index.js +0 -92
  362. package/dist/esm/Boxplot/index.d.ts +0 -11
  363. package/dist/esm/Boxplot/index.js +0 -86
  364. package/dist/esm/ChartCodeRender/Loading.d.ts +0 -6
  365. package/dist/esm/ChartCodeRender/Loading.js +0 -21
  366. package/dist/esm/ChartCodeRender/VisChart.d.ts +0 -19
  367. package/dist/esm/ChartCodeRender/VisChart.js +0 -450
  368. package/dist/esm/ChartCodeRender/icon.d.ts +0 -10
  369. package/dist/esm/ChartCodeRender/icon.js +0 -103
  370. package/dist/esm/ChartCodeRender/index.d.ts +0 -8
  371. package/dist/esm/ChartCodeRender/index.js +0 -99
  372. package/dist/esm/ChartCodeRender/styles.d.ts +0 -19
  373. package/dist/esm/ChartCodeRender/styles.js +0 -61
  374. package/dist/esm/ChartCodeRender/type.d.ts +0 -176
  375. package/dist/esm/ChartCodeRender/type.js +0 -1
  376. package/dist/esm/ChartCodeRender/utils.d.ts +0 -1
  377. package/dist/esm/ChartCodeRender/utils.js +0 -37
  378. package/dist/esm/Column/index.d.ts +0 -14
  379. package/dist/esm/Column/index.js +0 -93
  380. package/dist/esm/ConfigProvider/context.d.ts +0 -3
  381. package/dist/esm/ConfigProvider/context.js +0 -3
  382. package/dist/esm/ConfigProvider/hooks/index.d.ts +0 -1
  383. package/dist/esm/ConfigProvider/hooks/index.js +0 -1
  384. package/dist/esm/ConfigProvider/hooks/useConfig.d.ts +0 -13
  385. package/dist/esm/ConfigProvider/hooks/useConfig.js +0 -71
  386. package/dist/esm/ConfigProvider/index.d.ts +0 -7
  387. package/dist/esm/ConfigProvider/index.js +0 -17
  388. package/dist/esm/DualAxes/index.d.ts +0 -20
  389. package/dist/esm/DualAxes/index.js +0 -77
  390. package/dist/esm/DualAxes/util.d.ts +0 -9
  391. package/dist/esm/DualAxes/util.js +0 -77
  392. package/dist/esm/FishboneDiagram/index.d.ts +0 -7
  393. package/dist/esm/FishboneDiagram/index.js +0 -43
  394. package/dist/esm/FlowDiagram/helper.d.ts +0 -7
  395. package/dist/esm/FlowDiagram/helper.js +0 -76
  396. package/dist/esm/FlowDiagram/index.d.ts +0 -6
  397. package/dist/esm/FlowDiagram/index.js +0 -72
  398. package/dist/esm/Funnel/index.d.ts +0 -12
  399. package/dist/esm/Funnel/index.js +0 -171
  400. package/dist/esm/GPTVis/Lite.d.ts +0 -19
  401. package/dist/esm/GPTVis/Lite.js +0 -57
  402. package/dist/esm/GPTVis/hooks/useContext.d.ts +0 -8
  403. package/dist/esm/GPTVis/hooks/useContext.js +0 -9
  404. package/dist/esm/GPTVis/hooks/useEvent.d.ts +0 -1
  405. package/dist/esm/GPTVis/hooks/useEvent.js +0 -6
  406. package/dist/esm/GPTVis/index.d.ts +0 -6
  407. package/dist/esm/GPTVis/index.js +0 -25
  408. package/dist/esm/HeatMap/index.d.ts +0 -12
  409. package/dist/esm/HeatMap/index.js +0 -45
  410. package/dist/esm/Histogram/index.d.ts +0 -8
  411. package/dist/esm/Histogram/index.js +0 -75
  412. package/dist/esm/IndentedTree/index.d.ts +0 -7
  413. package/dist/esm/IndentedTree/index.js +0 -68
  414. package/dist/esm/Line/index.d.ts +0 -11
  415. package/dist/esm/Line/index.js +0 -92
  416. package/dist/esm/Liquid/index.d.ts +0 -11
  417. package/dist/esm/Liquid/index.js +0 -100
  418. package/dist/esm/Map/Component/MapView.d.ts +0 -3
  419. package/dist/esm/Map/Component/MapView.js +0 -18
  420. package/dist/esm/Map/Component/Marker.d.ts +0 -3
  421. package/dist/esm/Map/Component/Marker.js +0 -40
  422. package/dist/esm/Map/Component/Polyline.d.ts +0 -3
  423. package/dist/esm/Map/Component/Polyline.js +0 -35
  424. package/dist/esm/Map/Component/index.d.ts +0 -4
  425. package/dist/esm/Map/Component/index.js +0 -4
  426. package/dist/esm/Map/data.json +0 -305
  427. package/dist/esm/Map/index.d.ts +0 -5
  428. package/dist/esm/Map/index.js +0 -50
  429. package/dist/esm/MindMap/index.d.ts +0 -7
  430. package/dist/esm/MindMap/index.js +0 -69
  431. package/dist/esm/NetworkGraph/index.d.ts +0 -6
  432. package/dist/esm/NetworkGraph/index.js +0 -64
  433. package/dist/esm/OrganizationChart/index.d.ts +0 -6
  434. package/dist/esm/OrganizationChart/index.js +0 -75
  435. package/dist/esm/PathMap/index.d.ts +0 -6
  436. package/dist/esm/PathMap/index.js +0 -41
  437. package/dist/esm/Pie/index.d.ts +0 -23
  438. package/dist/esm/Pie/index.js +0 -96
  439. package/dist/esm/PinMap/index.d.ts +0 -6
  440. package/dist/esm/PinMap/index.js +0 -22
  441. package/dist/esm/PinMap/maker.svg +0 -1
  442. package/dist/esm/Radar/index.d.ts +0 -13
  443. package/dist/esm/Radar/index.js +0 -150
  444. package/dist/esm/Sankey/index.d.ts +0 -14
  445. package/dist/esm/Sankey/index.js +0 -98
  446. package/dist/esm/Scatter/index.d.ts +0 -13
  447. package/dist/esm/Scatter/index.js +0 -95
  448. package/dist/esm/Spreadsheet/index.d.ts +0 -28
  449. package/dist/esm/Spreadsheet/index.js +0 -129
  450. package/dist/esm/Table/index.d.ts +0 -9
  451. package/dist/esm/Table/index.js +0 -30
  452. package/dist/esm/Text/VisText.d.ts +0 -4
  453. package/dist/esm/Text/VisText.js +0 -55
  454. package/dist/esm/Text/config.d.ts +0 -18
  455. package/dist/esm/Text/config.js +0 -82
  456. package/dist/esm/Text/custom-icons/index.d.ts +0 -3
  457. package/dist/esm/Text/custom-icons/index.js +0 -37
  458. package/dist/esm/Text/index.d.ts +0 -3
  459. package/dist/esm/Text/index.js +0 -2
  460. package/dist/esm/Text/mini-charts/hooks/getElementFontSize.d.ts +0 -1
  461. package/dist/esm/Text/mini-charts/hooks/getElementFontSize.js +0 -32
  462. package/dist/esm/Text/mini-charts/hooks/index.d.ts +0 -1
  463. package/dist/esm/Text/mini-charts/hooks/index.js +0 -1
  464. package/dist/esm/Text/mini-charts/hooks/useSvgWrapper.d.ts +0 -5
  465. package/dist/esm/Text/mini-charts/hooks/useSvgWrapper.js +0 -37
  466. package/dist/esm/Text/mini-charts/index.d.ts +0 -2
  467. package/dist/esm/Text/mini-charts/index.js +0 -2
  468. package/dist/esm/Text/mini-charts/line/SingleLineChart.d.ts +0 -3
  469. package/dist/esm/Text/mini-charts/line/SingleLineChart.js +0 -62
  470. package/dist/esm/Text/mini-charts/line/index.d.ts +0 -1
  471. package/dist/esm/Text/mini-charts/line/index.js +0 -1
  472. package/dist/esm/Text/mini-charts/line/scaleLinear.d.ts +0 -4
  473. package/dist/esm/Text/mini-charts/line/scaleLinear.js +0 -19
  474. package/dist/esm/Text/mini-charts/line/useLineCompute.d.ts +0 -6
  475. package/dist/esm/Text/mini-charts/line/useLineCompute.js +0 -118
  476. package/dist/esm/Text/mini-charts/proportion/getArcPath.d.ts +0 -1
  477. package/dist/esm/Text/mini-charts/proportion/getArcPath.js +0 -19
  478. package/dist/esm/Text/mini-charts/proportion/index.d.ts +0 -3
  479. package/dist/esm/Text/mini-charts/proportion/index.js +0 -64
  480. package/dist/esm/Text/theme.d.ts +0 -24
  481. package/dist/esm/Text/theme.js +0 -24
  482. package/dist/esm/Text/types.d.ts +0 -20
  483. package/dist/esm/Text/types.js +0 -1
  484. package/dist/esm/Text/utils/getThemeColor.d.ts +0 -11
  485. package/dist/esm/Text/utils/getThemeColor.js +0 -29
  486. package/dist/esm/Text/utils/index.d.ts +0 -2
  487. package/dist/esm/Text/utils/index.js +0 -2
  488. package/dist/esm/Text/utils/useAntdDarkAlgorithm.d.ts +0 -2
  489. package/dist/esm/Text/utils/useAntdDarkAlgorithm.js +0 -14
  490. package/dist/esm/Treemap/index.d.ts +0 -10
  491. package/dist/esm/Treemap/index.js +0 -88
  492. package/dist/esm/Venn/index.d.ts +0 -32
  493. package/dist/esm/Venn/index.js +0 -69
  494. package/dist/esm/Violin/index.d.ts +0 -10
  495. package/dist/esm/Violin/index.js +0 -199
  496. package/dist/esm/Waterfall/index.d.ts +0 -25
  497. package/dist/esm/Waterfall/index.js +0 -185
  498. package/dist/esm/WordCloud/index.d.ts +0 -9
  499. package/dist/esm/WordCloud/index.js +0 -59
  500. package/dist/esm/constants/index.d.ts +0 -2
  501. package/dist/esm/constants/index.js +0 -9
  502. package/dist/esm/export-map.browser.d.ts +0 -4
  503. package/dist/esm/export-map.browser.js +0 -5
  504. package/dist/esm/export-map.d.ts +0 -10
  505. package/dist/esm/export-map.js +0 -9
  506. package/dist/esm/export.d.ts +0 -76
  507. package/dist/esm/export.js +0 -51
  508. package/dist/esm/render.d.ts +0 -2
  509. package/dist/esm/render.js +0 -32
  510. package/dist/esm/theme.d.ts +0 -2
  511. package/dist/esm/theme.js +0 -103
  512. package/dist/esm/types/chart.d.ts +0 -88
  513. package/dist/esm/types/chart.js +0 -33
  514. package/dist/esm/types/config.d.ts +0 -25
  515. package/dist/esm/types/config.js +0 -1
  516. package/dist/esm/types/map.d.ts +0 -242
  517. package/dist/esm/types/map.js +0 -1
  518. package/dist/esm/utils/config.d.ts +0 -5
  519. package/dist/esm/utils/config.js +0 -53
  520. package/dist/esm/utils/graph.d.ts +0 -18
  521. package/dist/esm/utils/graph.js +0 -55
  522. package/dist/esm/utils/index.d.ts +0 -1
  523. package/dist/esm/utils/index.js +0 -1
  524. package/dist/esm/utils/map/context.d.ts +0 -3
  525. package/dist/esm/utils/map/context.js +0 -42
  526. package/dist/esm/utils/map/controls.d.ts +0 -0
  527. package/dist/esm/utils/map/controls.js +0 -0
  528. package/dist/esm/utils/map/index.d.ts +0 -6
  529. package/dist/esm/utils/map/index.js +0 -6
  530. package/dist/esm/utils/map/markers.d.ts +0 -2
  531. package/dist/esm/utils/map/markers.js +0 -69
  532. package/dist/esm/utils/map/polyline.d.ts +0 -2
  533. package/dist/esm/utils/map/polyline.js +0 -31
  534. package/dist/esm/utils/map/style.d.ts +0 -45
  535. package/dist/esm/utils/map/style.js +0 -80
  536. package/dist/esm/utils/map/util.d.ts +0 -1
  537. package/dist/esm/utils/map/util.js +0 -11
  538. package/dist/esm/utils/map/view.d.ts +0 -5
  539. package/dist/esm/utils/map/view.js +0 -83
  540. package/dist/esm/utils/palette.d.ts +0 -2
  541. package/dist/esm/utils/palette.js +0 -2
  542. package/dist/esm/utils/plot.d.ts +0 -5
  543. package/dist/esm/utils/plot.js +0 -86
  544. package/dist/esm/version.d.ts +0 -2
  545. package/dist/esm/version.js +0 -1
  546. package/dist/umd/737.async.js +0 -1
  547. package/dist/umd/index.min.css +0 -1
@@ -0,0 +1,191 @@
1
+ # DualAxes
2
+
3
+ A dual-axes chart component that combines column and line charts for visualizing two different data series with different scales, built with G2 5.0.
4
+
5
+ ## Usage
6
+
7
+ ```ts
8
+ import { DualAxes } from '@antv/gpt-vis/ai';
9
+
10
+ const dualAxes = DualAxes({
11
+ container: '#container',
12
+ width: 600,
13
+ height: 400,
14
+ });
15
+
16
+ dualAxes.render({
17
+ categories: ['2018', '2019', '2020', '2021', '2022'],
18
+ series: [
19
+ {
20
+ type: 'column',
21
+ data: [91.9, 99.1, 101.6, 114.4, 121],
22
+ axisYTitle: 'Sales',
23
+ },
24
+ {
25
+ type: 'line',
26
+ data: [0.055, 0.06, 0.062, 0.07, 0.075],
27
+ axisYTitle: 'Profit Rate',
28
+ },
29
+ ],
30
+ });
31
+
32
+ dualAxes.destroy();
33
+ ```
34
+
35
+ ## Configuration
36
+
37
+ ### Constructor Options (DualAxesOptions)
38
+
39
+ | Property | Type | Default | Description |
40
+ | --------- | --------------------- | ------- | ----------------------------- |
41
+ | container | string \| HTMLElement | - | Container element or selector |
42
+ | width | number | 640 | Chart width in pixels |
43
+ | height | number | 480 | Chart height in pixels |
44
+
45
+ ### Render Config (DualAxesConfig)
46
+
47
+ | Property | Type | Default | Description |
48
+ | ---------- | ------ | ----------- | ---------------------------- |
49
+ | type | string | 'dual-axes' | Chart type |
50
+ | categories | Array | - | X-axis categories (required) |
51
+ | series | Array | - | Series data array (required) |
52
+ | title | string | - | Chart title |
53
+ | axisXTitle | string | - | X-axis title |
54
+ | theme | string | 'default' | Color theme |
55
+ | style | object | - | Chart style configuration |
56
+
57
+ ### Series Data Structure
58
+
59
+ ```ts
60
+ type DualAxesSeriesItem = {
61
+ type: 'line' | 'column'; // Series type
62
+ data: number[]; // Data values
63
+ axisYTitle?: string; // Y-axis title for this series
64
+ };
65
+ ```
66
+
67
+ ### Style Options
68
+
69
+ ```ts
70
+ style?: {
71
+ backgroundColor?: string; // Background color
72
+ palette?: string[]; // Color palette
73
+ startAtZero?: boolean; // Whether Y-axis starts at zero
74
+ }
75
+ ```
76
+
77
+ ## Examples
78
+
79
+ ### Basic Dual-Axes Chart
80
+
81
+ ```ts
82
+ dualAxes.render({
83
+ categories: ['2018', '2019', '2020', '2021', '2022'],
84
+ series: [
85
+ {
86
+ type: 'column',
87
+ data: [91.9, 99.1, 101.6, 114.4, 121],
88
+ axisYTitle: 'Sales',
89
+ },
90
+ {
91
+ type: 'line',
92
+ data: [0.055, 0.06, 0.062, 0.07, 0.075],
93
+ axisYTitle: 'Profit Rate',
94
+ },
95
+ ],
96
+ });
97
+ ```
98
+
99
+ ### With Title and X-Axis Label
100
+
101
+ ```ts
102
+ dualAxes.render({
103
+ categories: ['2018', '2019', '2020', '2021', '2022'],
104
+ title: '2018-2022 Sales and Profit Rate',
105
+ axisXTitle: 'Year',
106
+ series: [
107
+ {
108
+ type: 'column',
109
+ data: [91.9, 99.1, 101.6, 114.4, 121],
110
+ axisYTitle: 'Sales',
111
+ },
112
+ {
113
+ type: 'line',
114
+ data: [0.055, 0.06, 0.062, 0.07, 0.075],
115
+ axisYTitle: 'Profit Rate',
116
+ },
117
+ ],
118
+ });
119
+ ```
120
+
121
+ ### With Academy Theme
122
+
123
+ ```ts
124
+ dualAxes.render({
125
+ categories: ['2020', '2021', '2022'],
126
+ series: [
127
+ {
128
+ type: 'column',
129
+ data: [500, 600, 700],
130
+ axisYTitle: 'Revenue',
131
+ },
132
+ {
133
+ type: 'line',
134
+ data: [10, 12, 15],
135
+ axisYTitle: 'Growth Rate',
136
+ },
137
+ ],
138
+ theme: 'academy',
139
+ });
140
+ ```
141
+
142
+ ### With Custom Styles
143
+
144
+ ```ts
145
+ dualAxes.render({
146
+ categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
147
+ series: [
148
+ {
149
+ type: 'column',
150
+ data: [120, 150, 180, 210, 240],
151
+ axisYTitle: 'Sales',
152
+ },
153
+ {
154
+ type: 'line',
155
+ data: [8, 10, 12, 15, 18],
156
+ axisYTitle: 'Growth',
157
+ },
158
+ ],
159
+ style: {
160
+ palette: ['#5B8FF9', '#61DDAA'],
161
+ backgroundColor: '#F8F9FA',
162
+ startAtZero: true,
163
+ },
164
+ });
165
+ ```
166
+
167
+ ### Dark Theme
168
+
169
+ ```ts
170
+ dualAxes.render({
171
+ categories: ['Q1', 'Q2', 'Q3', 'Q4'],
172
+ series: [
173
+ {
174
+ type: 'column',
175
+ data: [100, 120, 140, 160],
176
+ axisYTitle: 'Revenue',
177
+ },
178
+ {
179
+ type: 'line',
180
+ data: [5, 6, 7, 8],
181
+ axisYTitle: 'Profit',
182
+ },
183
+ ],
184
+ theme: 'dark',
185
+ });
186
+ ```
187
+
188
+ ## Methods
189
+
190
+ - `render(config: DualAxesConfig): void` - Render or update the chart
191
+ - `destroy(): void` - Destroy the chart instance and clean up resources
@@ -0,0 +1,218 @@
1
+ import { Chart } from '@antv/g2';
2
+ import type { VisualizationOptions } from '../../types';
3
+ import { getBackgroundColor, getThemeColors, getThemeObject } from '../../util/theme';
4
+
5
+ /**
6
+ * DualAxesSeriesItem defines a single series in the dual-axes chart.
7
+ */
8
+ export type DualAxesSeriesItem = {
9
+ type: 'line' | 'column';
10
+ data: number[];
11
+ axisYTitle?: string;
12
+ };
13
+
14
+ /**
15
+ * DualAxesConfig defines the configuration for rendering the dual-axes chart.
16
+ */
17
+ export interface DualAxesConfig {
18
+ type?: 'dual-axes';
19
+ categories: string[];
20
+ series: DualAxesSeriesItem[];
21
+ title?: string;
22
+ axisXTitle?: string;
23
+ theme?: 'default' | 'academy' | 'dark';
24
+ style?: {
25
+ backgroundColor?: string;
26
+ palette?: string[];
27
+ startAtZero?: boolean;
28
+ };
29
+ }
30
+
31
+ /**
32
+ * DualAxesInstance represents a dual-axes chart instance with render and destroy methods.
33
+ */
34
+ export interface DualAxesInstance {
35
+ render: (config: DualAxesConfig) => void;
36
+ destroy: () => void;
37
+ }
38
+
39
+ /**
40
+ * Transform series data to G2 format.
41
+ * Combines multiple series into a single data array with categories.
42
+ */
43
+ function transformData(series: DualAxesSeriesItem[], categories: string[]) {
44
+ return categories.map((category, index) => {
45
+ const dataPoint: any = { category };
46
+ series.forEach((s, i) => {
47
+ const yField = s.axisYTitle || `value_${i + 1}`;
48
+ dataPoint[yField] = s.data[index];
49
+ });
50
+ return dataPoint;
51
+ });
52
+ }
53
+
54
+ /**
55
+ * DualAxes chart component using G2 5.0.
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * const dualAxes = DualAxes({
60
+ * container: '#container',
61
+ * width: 600,
62
+ * height: 400,
63
+ * });
64
+ *
65
+ * dualAxes.render({
66
+ * type: 'dual-axes',
67
+ * categories: ['2018', '2019', '2020', '2021', '2022'],
68
+ * series: [
69
+ * {
70
+ * type: 'column',
71
+ * data: [91.9, 99.1, 101.6, 114.4, 121],
72
+ * axisYTitle: '销售额',
73
+ * },
74
+ * {
75
+ * type: 'line',
76
+ * data: [0.055, 0.06, 0.062, 0.07, 0.075],
77
+ * axisYTitle: '利润率',
78
+ * },
79
+ * ],
80
+ * });
81
+ *
82
+ * dualAxes.destroy();
83
+ * ```
84
+ */
85
+ export const DualAxes = (options: VisualizationOptions): DualAxesInstance => {
86
+ const { container, width, height, theme: chartTheme = 'default' } = options;
87
+ let chart: Chart | null = null;
88
+
89
+ /**
90
+ * Render the dual-axes chart with the given configuration.
91
+ */
92
+ const render = (config: DualAxesConfig): void => {
93
+ const { categories, series, theme = chartTheme, title, axisXTitle, style = {} } = config;
94
+
95
+ // Clean up previous chart if exists
96
+ if (chart) {
97
+ chart.destroy();
98
+ }
99
+
100
+ const { startAtZero = false } = style;
101
+ const colors = style.palette || getThemeColors(theme);
102
+ const backgroundColor = style.backgroundColor || getBackgroundColor(theme);
103
+
104
+ // Transform data
105
+ const data = transformData(series, categories);
106
+
107
+ // Create chart
108
+ chart = new Chart({
109
+ container,
110
+ width,
111
+ height,
112
+ autoFit: true,
113
+ });
114
+
115
+ // Sort series: column first, then line (line rendered last appears on top)
116
+ const sortedSeries = [...series].sort((a, b) => {
117
+ const order = ['column', 'line'];
118
+ return order.indexOf(a.type) - order.indexOf(b.type);
119
+ });
120
+
121
+ // Create children configurations for each series
122
+ const children = sortedSeries.map((item, index) => {
123
+ const yField = item.axisYTitle || `value_${index + 1}`;
124
+ const color = colors[index % colors.length];
125
+
126
+ if (item.type === 'column') {
127
+ return {
128
+ type: 'interval',
129
+ encode: {
130
+ x: 'category',
131
+ y: yField,
132
+ color: () => yField,
133
+ },
134
+ scale: {
135
+ y: { nice: true, zero: startAtZero },
136
+ color: { range: [color] },
137
+ },
138
+ axis: {
139
+ y: { title: item.axisYTitle || '' },
140
+ },
141
+ style: {
142
+ columnWidthRatio: 0.8,
143
+ radiusTopLeft: 4,
144
+ radiusTopRight: 4,
145
+ },
146
+ };
147
+ } else {
148
+ // line type
149
+ return {
150
+ type: 'line',
151
+ encode: {
152
+ x: 'category',
153
+ y: yField,
154
+ shape: 'smooth',
155
+ color: () => yField,
156
+ },
157
+ scale: {
158
+ y: { independent: true, zero: startAtZero },
159
+ color: { range: [color] },
160
+ },
161
+ axis: {
162
+ y: { position: 'right', title: item.axisYTitle || '' },
163
+ },
164
+ style: {
165
+ lineWidth: 2,
166
+ },
167
+ };
168
+ }
169
+ });
170
+
171
+ // Configure chart options
172
+ // Note: Using 'any' type due to G2's complex type system with transformations
173
+ // This is consistent with how G2 5.0 is used elsewhere in the codebase
174
+ const chartOptions: any = {
175
+ type: 'view',
176
+ data,
177
+ title: title ?? '',
178
+ children,
179
+ axis: {
180
+ x: { title: axisXTitle || false },
181
+ },
182
+ scale: {
183
+ y: { nice: true },
184
+ },
185
+ legend: {
186
+ color: {
187
+ position: 'top',
188
+ itemMarker: (v: string, index: number) => {
189
+ const seriesItem = series[index];
190
+ return seriesItem?.type === 'line' ? 'smooth' : 'rect';
191
+ },
192
+ },
193
+ },
194
+ viewStyle: {
195
+ viewFill: backgroundColor,
196
+ },
197
+ theme: getThemeObject(theme),
198
+ };
199
+
200
+ chart.options(chartOptions);
201
+ chart.render();
202
+ };
203
+
204
+ /**
205
+ * Destroy the chart instance and clean up resources.
206
+ */
207
+ const destroy = (): void => {
208
+ if (chart) {
209
+ chart.destroy();
210
+ chart = null;
211
+ }
212
+ };
213
+
214
+ return {
215
+ render,
216
+ destroy,
217
+ };
218
+ };
@@ -0,0 +1,143 @@
1
+ # Funnel
2
+
3
+ A funnel chart component for displaying multi-stage data flow and conversion rates, built with G2 5.0. Ideal for analyzing sales processes, user conversion, and activity participation.
4
+
5
+ ## Usage
6
+
7
+ ```ts
8
+ import { Funnel } from '@antv/gpt-vis/ai';
9
+
10
+ const funnel = Funnel({
11
+ container: '#container',
12
+ width: 600,
13
+ height: 400,
14
+ });
15
+
16
+ funnel.render({
17
+ data: [
18
+ { category: '访问', value: 1000 },
19
+ { category: '咨询', value: 600 },
20
+ { category: '下单', value: 300 },
21
+ { category: '成交', value: 120 },
22
+ ],
23
+ });
24
+
25
+ funnel.destroy();
26
+ ```
27
+
28
+ ## Configuration
29
+
30
+ ### Constructor Options (FunnelOptions)
31
+
32
+ | Property | Type | Default | Description |
33
+ | --------- | --------------------- | ------- | ----------------------------- |
34
+ | container | string \| HTMLElement | - | Container element or selector |
35
+ | width | number | 640 | Chart width in pixels |
36
+ | height | number | 480 | Chart height in pixels |
37
+
38
+ ### Render Config (FunnelConfig)
39
+
40
+ | Property | Type | Default | Description |
41
+ | -------- | -------------------------------- | --------- | ------------------------- |
42
+ | data | FunnelDataItem[] | - | Chart data array |
43
+ | theme | 'default' \| 'academy' \| 'dark' | 'default' | Color theme |
44
+ | title | string | - | Chart title |
45
+ | style | object | - | Chart style configuration |
46
+
47
+ ### FunnelDataItem
48
+
49
+ ```ts
50
+ type FunnelDataItem = {
51
+ category: string; // Stage name
52
+ value: number; // Stage value
53
+ };
54
+ ```
55
+
56
+ ### Style Options
57
+
58
+ ```ts
59
+ style?: {
60
+ backgroundColor?: string; // Background color
61
+ palette?: string[]; // Color palette
62
+ }
63
+ ```
64
+
65
+ ## Examples
66
+
67
+ ### Basic Funnel Chart
68
+
69
+ ```ts
70
+ funnel.render({
71
+ data: [
72
+ { category: '访问', value: 1000 },
73
+ { category: '咨询', value: 600 },
74
+ { category: '下单', value: 300 },
75
+ { category: '成交', value: 120 },
76
+ ],
77
+ });
78
+ ```
79
+
80
+ ### With Title
81
+
82
+ ```ts
83
+ funnel.render({
84
+ data: [
85
+ { category: '访问', value: 1000 },
86
+ { category: '咨询', value: 600 },
87
+ { category: '下单', value: 300 },
88
+ { category: '成交', value: 120 },
89
+ ],
90
+ title: '销售漏斗',
91
+ });
92
+ ```
93
+
94
+ ### Academy Theme
95
+
96
+ ```ts
97
+ funnel.render({
98
+ data: [
99
+ { category: '注册', value: 800 },
100
+ { category: '激活', value: 500 },
101
+ { category: '付费', value: 200 },
102
+ ],
103
+ theme: 'academy',
104
+ title: '用户转化流程',
105
+ });
106
+ ```
107
+
108
+ ### Dark Theme
109
+
110
+ ```ts
111
+ funnel.render({
112
+ data: [
113
+ { category: '访问', value: 1000 },
114
+ { category: '咨询', value: 600 },
115
+ { category: '下单', value: 300 },
116
+ { category: '成交', value: 120 },
117
+ ],
118
+ theme: 'dark',
119
+ });
120
+ ```
121
+
122
+ ### Custom Styles
123
+
124
+ ```ts
125
+ // Custom colors
126
+ funnel.render({
127
+ data: [
128
+ { category: '报名', value: 1500 },
129
+ { category: '签到', value: 900 },
130
+ { category: '参与', value: 700 },
131
+ ],
132
+ title: '活动参与漏斗',
133
+ style: {
134
+ palette: ['#FF7F50', '#87CEFA', '#32CD32'],
135
+ backgroundColor: '#FFF8DC',
136
+ },
137
+ });
138
+ ```
139
+
140
+ ## Methods
141
+
142
+ - `render(config: FunnelConfig): void` - Render or update the chart
143
+ - `destroy(): void` - Destroy the chart instance and clean up resources