@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.
- package/README.md +183 -114
- package/README.zh-CN.md +185 -112
- package/dist/cjs/gpt-vis/index.d.ts +108 -0
- package/dist/cjs/gpt-vis/index.js +173 -0
- package/dist/cjs/index.d.ts +44 -13
- package/dist/cjs/index.js +65 -35
- package/dist/cjs/syntax/index.d.ts +2 -0
- package/dist/cjs/{Text/mini-charts/hooks → syntax}/index.js +9 -7
- package/dist/cjs/syntax/parser.d.ts +67 -0
- package/dist/cjs/syntax/parser.js +235 -0
- package/dist/cjs/types/index.d.ts +33 -2
- package/dist/cjs/types/index.js +0 -6
- package/dist/cjs/util/theme.d.ts +21 -0
- package/dist/cjs/{theme.js → util/theme.js} +63 -14
- package/dist/cjs/vis/area/index.d.ts +60 -0
- package/dist/cjs/vis/area/index.js +151 -0
- package/dist/cjs/vis/bar/index.d.ts +60 -0
- package/dist/cjs/vis/bar/index.js +122 -0
- package/dist/cjs/vis/boxplot/index.d.ts +59 -0
- package/dist/cjs/vis/boxplot/index.js +106 -0
- package/dist/cjs/vis/column/index.d.ts +60 -0
- package/dist/cjs/vis/column/index.js +121 -0
- package/dist/cjs/vis/dual-axes/index.d.ts +64 -0
- package/dist/cjs/vis/dual-axes/index.js +147 -0
- package/dist/cjs/vis/funnel/index.d.ts +54 -0
- package/dist/cjs/vis/funnel/index.js +189 -0
- package/dist/cjs/vis/histogram/index.d.ts +47 -0
- package/dist/cjs/vis/histogram/index.js +112 -0
- package/dist/cjs/vis/line/index.d.ts +59 -0
- package/dist/cjs/vis/line/index.js +104 -0
- package/dist/cjs/vis/liquid/index.d.ts +44 -0
- package/dist/cjs/vis/liquid/index.js +87 -0
- package/dist/cjs/vis/pie/index.d.ts +55 -0
- package/dist/cjs/vis/pie/index.js +108 -0
- package/dist/cjs/vis/radar/index.d.ts +57 -0
- package/dist/cjs/vis/radar/index.js +152 -0
- package/dist/cjs/vis/sankey/index.d.ts +56 -0
- package/dist/cjs/vis/sankey/index.js +93 -0
- package/dist/cjs/vis/scatter/index.d.ts +54 -0
- package/dist/cjs/vis/scatter/index.js +94 -0
- package/dist/cjs/vis/summary/index.d.ts +41 -0
- package/dist/cjs/{Text/utils/getThemeColor.js → vis/summary/index.js} +33 -22
- package/dist/cjs/vis/table/index.d.ts +49 -0
- package/dist/cjs/vis/table/index.js +173 -0
- package/dist/cjs/vis/treemap/index.d.ts +68 -0
- package/dist/cjs/vis/treemap/index.js +105 -0
- package/dist/cjs/vis/venn/index.d.ts +54 -0
- package/dist/cjs/vis/venn/index.js +100 -0
- package/dist/cjs/vis/violin/index.d.ts +59 -0
- package/dist/cjs/vis/violin/index.js +155 -0
- package/dist/cjs/vis/waterfall/index.d.ts +67 -0
- package/dist/cjs/vis/waterfall/index.js +172 -0
- package/dist/cjs/vis/word-cloud/index.d.ts +53 -0
- package/dist/cjs/vis/word-cloud/index.js +89 -0
- package/dist/cjs/vis-wrapper/icons.d.ts +8 -0
- package/dist/cjs/vis-wrapper/icons.js +63 -0
- package/dist/cjs/vis-wrapper/index.d.ts +24 -0
- package/dist/cjs/vis-wrapper/index.js +231 -0
- package/dist/cjs/vis-wrapper/styles.d.ts +8 -0
- package/dist/cjs/vis-wrapper/styles.js +214 -0
- package/dist/esm/gpt-vis/index.d.ts +108 -0
- package/dist/esm/gpt-vis/index.js +224 -0
- package/dist/esm/index.d.ts +44 -13
- package/dist/esm/index.js +22 -15
- package/dist/esm/syntax/index.d.ts +2 -0
- package/dist/esm/syntax/index.js +1 -0
- package/dist/esm/syntax/parser.d.ts +67 -0
- package/dist/esm/syntax/parser.js +401 -0
- package/dist/esm/types/index.d.ts +33 -2
- package/dist/esm/types/index.js +0 -1
- package/dist/esm/util/theme.d.ts +21 -0
- package/dist/esm/util/theme.js +141 -0
- package/dist/esm/vis/area/index.d.ts +60 -0
- package/dist/esm/vis/area/index.js +230 -0
- package/dist/esm/vis/bar/index.d.ts +60 -0
- package/dist/esm/vis/bar/index.js +203 -0
- package/dist/esm/vis/boxplot/index.d.ts +59 -0
- package/dist/esm/vis/boxplot/index.js +164 -0
- package/dist/esm/vis/column/index.d.ts +60 -0
- package/dist/esm/vis/column/index.js +198 -0
- package/dist/esm/vis/dual-axes/index.d.ts +64 -0
- package/dist/esm/vis/dual-axes/index.js +234 -0
- package/dist/esm/vis/funnel/index.d.ts +54 -0
- package/dist/esm/vis/funnel/index.js +246 -0
- package/dist/esm/vis/histogram/index.d.ts +47 -0
- package/dist/esm/vis/histogram/index.js +148 -0
- package/dist/esm/vis/line/index.d.ts +59 -0
- package/dist/esm/vis/line/index.js +172 -0
- package/dist/esm/vis/liquid/index.d.ts +44 -0
- package/dist/esm/vis/liquid/index.js +130 -0
- package/dist/esm/vis/pie/index.d.ts +55 -0
- package/dist/esm/vis/pie/index.js +168 -0
- package/dist/esm/vis/radar/index.d.ts +57 -0
- package/dist/esm/vis/radar/index.js +222 -0
- package/dist/esm/vis/sankey/index.d.ts +56 -0
- package/dist/esm/vis/sankey/index.js +135 -0
- package/dist/esm/vis/scatter/index.d.ts +54 -0
- package/dist/esm/vis/scatter/index.js +158 -0
- package/dist/esm/vis/summary/index.d.ts +41 -0
- package/dist/esm/vis/summary/index.js +80 -0
- package/dist/esm/vis/table/index.d.ts +49 -0
- package/dist/esm/vis/table/index.js +160 -0
- package/dist/esm/vis/treemap/index.d.ts +68 -0
- package/dist/esm/vis/treemap/index.js +158 -0
- package/dist/esm/vis/venn/index.d.ts +54 -0
- package/dist/esm/vis/venn/index.js +142 -0
- package/dist/esm/vis/violin/index.d.ts +59 -0
- package/dist/esm/vis/violin/index.js +245 -0
- package/dist/esm/vis/waterfall/index.d.ts +67 -0
- package/dist/esm/vis/waterfall/index.js +245 -0
- package/dist/esm/vis/word-cloud/index.d.ts +53 -0
- package/dist/esm/vis/word-cloud/index.js +128 -0
- package/dist/esm/vis-wrapper/icons.d.ts +8 -0
- package/dist/esm/vis-wrapper/icons.js +29 -0
- package/dist/esm/vis-wrapper/index.d.ts +24 -0
- package/dist/esm/vis-wrapper/index.js +237 -0
- package/dist/esm/vis-wrapper/styles.d.ts +8 -0
- package/dist/esm/vis-wrapper/styles.js +21 -0
- package/dist/umd/index.min.js +1 -1
- package/package.json +26 -67
- package/src/gpt-vis/index.ts +283 -0
- package/src/index.ts +44 -0
- package/src/readme.md +37 -0
- package/src/syntax/index.ts +2 -0
- package/src/syntax/parser.ts +411 -0
- package/src/types/index.ts +29 -0
- package/src/util/theme.ts +167 -0
- package/src/vis/area/README.md +143 -0
- package/src/vis/area/index.ts +212 -0
- package/src/vis/bar/README.md +158 -0
- package/src/vis/bar/index.ts +186 -0
- package/src/vis/boxplot/README.md +168 -0
- package/src/vis/boxplot/index.ts +162 -0
- package/src/vis/column/README.md +158 -0
- package/src/vis/column/index.ts +185 -0
- package/src/vis/dual-axes/README.md +191 -0
- package/src/vis/dual-axes/index.ts +218 -0
- package/src/vis/funnel/README.md +143 -0
- package/src/vis/funnel/index.ts +238 -0
- package/src/vis/histogram/README.md +130 -0
- package/src/vis/histogram/index.ts +153 -0
- package/src/vis/line/README.md +138 -0
- package/src/vis/line/index.ts +159 -0
- package/src/vis/liquid/README.md +150 -0
- package/src/vis/liquid/index.ts +130 -0
- package/src/vis/pie/README.md +127 -0
- package/src/vis/pie/index.ts +163 -0
- package/src/vis/radar/README.md +184 -0
- package/src/vis/radar/index.ts +214 -0
- package/src/vis/sankey/README.md +144 -0
- package/src/vis/sankey/index.ts +144 -0
- package/src/vis/scatter/README.md +145 -0
- package/src/vis/scatter/index.ts +147 -0
- package/src/vis/summary/README.md +272 -0
- package/src/vis/summary/index.ts +91 -0
- package/src/vis/table/README.md +174 -0
- package/src/vis/table/index.ts +241 -0
- package/src/vis/treemap/README.md +199 -0
- package/src/vis/treemap/index.ts +167 -0
- package/src/vis/venn/README.md +153 -0
- package/src/vis/venn/index.ts +149 -0
- package/src/vis/violin/README.md +168 -0
- package/src/vis/violin/index.ts +216 -0
- package/src/vis/waterfall/README.md +178 -0
- package/src/vis/waterfall/index.ts +258 -0
- package/src/vis/word-cloud/README.md +137 -0
- package/src/vis/word-cloud/index.ts +137 -0
- package/src/vis-wrapper/README.md +159 -0
- package/src/vis-wrapper/icons.ts +35 -0
- package/src/vis-wrapper/index.ts +276 -0
- package/src/vis-wrapper/styles.ts +195 -0
- package/README.ja-JP.md +0 -164
- package/dist/cjs/Area/index.d.ts +0 -11
- package/dist/cjs/Area/index.js +0 -105
- package/dist/cjs/Bar/index.d.ts +0 -14
- package/dist/cjs/Bar/index.js +0 -101
- package/dist/cjs/Boxplot/index.d.ts +0 -11
- package/dist/cjs/Boxplot/index.js +0 -88
- package/dist/cjs/ChartCodeRender/Loading.d.ts +0 -6
- package/dist/cjs/ChartCodeRender/Loading.js +0 -54
- package/dist/cjs/ChartCodeRender/VisChart.d.ts +0 -19
- package/dist/cjs/ChartCodeRender/VisChart.js +0 -338
- package/dist/cjs/ChartCodeRender/icon.d.ts +0 -10
- package/dist/cjs/ChartCodeRender/icon.js +0 -162
- package/dist/cjs/ChartCodeRender/index.d.ts +0 -8
- package/dist/cjs/ChartCodeRender/index.js +0 -113
- package/dist/cjs/ChartCodeRender/styles.d.ts +0 -19
- package/dist/cjs/ChartCodeRender/styles.js +0 -232
- package/dist/cjs/ChartCodeRender/type.d.ts +0 -176
- package/dist/cjs/ChartCodeRender/type.js +0 -17
- package/dist/cjs/ChartCodeRender/utils.d.ts +0 -1
- package/dist/cjs/ChartCodeRender/utils.js +0 -51
- package/dist/cjs/Column/index.d.ts +0 -14
- package/dist/cjs/Column/index.js +0 -102
- package/dist/cjs/ConfigProvider/context.d.ts +0 -3
- package/dist/cjs/ConfigProvider/context.js +0 -41
- package/dist/cjs/ConfigProvider/hooks/index.d.ts +0 -1
- package/dist/cjs/ConfigProvider/hooks/index.js +0 -23
- package/dist/cjs/ConfigProvider/hooks/useConfig.d.ts +0 -13
- package/dist/cjs/ConfigProvider/hooks/useConfig.js +0 -109
- package/dist/cjs/ConfigProvider/index.d.ts +0 -7
- package/dist/cjs/ConfigProvider/index.js +0 -43
- package/dist/cjs/DualAxes/index.d.ts +0 -20
- package/dist/cjs/DualAxes/index.js +0 -84
- package/dist/cjs/DualAxes/util.d.ts +0 -9
- package/dist/cjs/DualAxes/util.js +0 -77
- package/dist/cjs/FishboneDiagram/index.d.ts +0 -7
- package/dist/cjs/FishboneDiagram/index.js +0 -66
- package/dist/cjs/FlowDiagram/helper.d.ts +0 -7
- package/dist/cjs/FlowDiagram/helper.js +0 -83
- package/dist/cjs/FlowDiagram/index.d.ts +0 -6
- package/dist/cjs/FlowDiagram/index.js +0 -107
- package/dist/cjs/Funnel/index.d.ts +0 -12
- package/dist/cjs/Funnel/index.js +0 -173
- package/dist/cjs/GPTVis/Lite.d.ts +0 -19
- package/dist/cjs/GPTVis/Lite.js +0 -81
- package/dist/cjs/GPTVis/hooks/useContext.d.ts +0 -8
- package/dist/cjs/GPTVis/hooks/useContext.js +0 -49
- package/dist/cjs/GPTVis/hooks/useEvent.d.ts +0 -1
- package/dist/cjs/GPTVis/hooks/useEvent.js +0 -33
- package/dist/cjs/GPTVis/index.d.ts +0 -6
- package/dist/cjs/GPTVis/index.js +0 -42
- package/dist/cjs/HeatMap/index.d.ts +0 -12
- package/dist/cjs/HeatMap/index.js +0 -67
- package/dist/cjs/Histogram/index.d.ts +0 -8
- package/dist/cjs/Histogram/index.js +0 -79
- package/dist/cjs/IndentedTree/index.d.ts +0 -7
- package/dist/cjs/IndentedTree/index.js +0 -78
- package/dist/cjs/Line/index.d.ts +0 -11
- package/dist/cjs/Line/index.js +0 -94
- package/dist/cjs/Liquid/index.d.ts +0 -11
- package/dist/cjs/Liquid/index.js +0 -85
- package/dist/cjs/Map/Component/MapView.d.ts +0 -3
- package/dist/cjs/Map/Component/MapView.js +0 -40
- package/dist/cjs/Map/Component/Marker.d.ts +0 -3
- package/dist/cjs/Map/Component/Marker.js +0 -53
- package/dist/cjs/Map/Component/Polyline.d.ts +0 -3
- package/dist/cjs/Map/Component/Polyline.js +0 -50
- package/dist/cjs/Map/Component/index.d.ts +0 -4
- package/dist/cjs/Map/Component/index.js +0 -45
- package/dist/cjs/Map/data.json +0 -305
- package/dist/cjs/Map/index.d.ts +0 -5
- package/dist/cjs/Map/index.js +0 -61
- package/dist/cjs/MindMap/index.d.ts +0 -7
- package/dist/cjs/MindMap/index.js +0 -75
- package/dist/cjs/NetworkGraph/index.d.ts +0 -6
- package/dist/cjs/NetworkGraph/index.js +0 -75
- package/dist/cjs/OrganizationChart/index.d.ts +0 -6
- package/dist/cjs/OrganizationChart/index.js +0 -95
- package/dist/cjs/PathMap/index.d.ts +0 -6
- package/dist/cjs/PathMap/index.js +0 -58
- package/dist/cjs/Pie/index.d.ts +0 -23
- package/dist/cjs/Pie/index.js +0 -94
- package/dist/cjs/PinMap/index.d.ts +0 -6
- package/dist/cjs/PinMap/index.js +0 -44
- package/dist/cjs/PinMap/maker.svg +0 -1
- package/dist/cjs/Radar/index.d.ts +0 -13
- package/dist/cjs/Radar/index.js +0 -153
- package/dist/cjs/Sankey/index.d.ts +0 -14
- package/dist/cjs/Sankey/index.js +0 -110
- package/dist/cjs/Scatter/index.d.ts +0 -13
- package/dist/cjs/Scatter/index.js +0 -103
- package/dist/cjs/Spreadsheet/index.d.ts +0 -28
- package/dist/cjs/Spreadsheet/index.js +0 -113
- package/dist/cjs/Table/index.d.ts +0 -9
- package/dist/cjs/Table/index.js +0 -91
- package/dist/cjs/Text/VisText.d.ts +0 -4
- package/dist/cjs/Text/VisText.js +0 -82
- package/dist/cjs/Text/config.d.ts +0 -18
- package/dist/cjs/Text/config.js +0 -91
- package/dist/cjs/Text/custom-icons/index.d.ts +0 -3
- package/dist/cjs/Text/custom-icons/index.js +0 -66
- package/dist/cjs/Text/index.d.ts +0 -3
- package/dist/cjs/Text/index.js +0 -42
- package/dist/cjs/Text/mini-charts/hooks/getElementFontSize.d.ts +0 -1
- package/dist/cjs/Text/mini-charts/hooks/getElementFontSize.js +0 -65
- package/dist/cjs/Text/mini-charts/hooks/index.d.ts +0 -1
- package/dist/cjs/Text/mini-charts/hooks/useSvgWrapper.d.ts +0 -5
- package/dist/cjs/Text/mini-charts/hooks/useSvgWrapper.js +0 -65
- package/dist/cjs/Text/mini-charts/index.d.ts +0 -2
- package/dist/cjs/Text/mini-charts/index.js +0 -25
- package/dist/cjs/Text/mini-charts/line/SingleLineChart.d.ts +0 -3
- package/dist/cjs/Text/mini-charts/line/SingleLineChart.js +0 -63
- package/dist/cjs/Text/mini-charts/line/index.d.ts +0 -1
- package/dist/cjs/Text/mini-charts/line/index.js +0 -29
- package/dist/cjs/Text/mini-charts/line/scaleLinear.d.ts +0 -4
- package/dist/cjs/Text/mini-charts/line/scaleLinear.js +0 -35
- package/dist/cjs/Text/mini-charts/line/useLineCompute.d.ts +0 -6
- package/dist/cjs/Text/mini-charts/line/useLineCompute.js +0 -103
- package/dist/cjs/Text/mini-charts/proportion/getArcPath.d.ts +0 -1
- package/dist/cjs/Text/mini-charts/proportion/getArcPath.js +0 -51
- package/dist/cjs/Text/mini-charts/proportion/index.d.ts +0 -3
- package/dist/cjs/Text/mini-charts/proportion/index.js +0 -71
- package/dist/cjs/Text/theme.d.ts +0 -24
- package/dist/cjs/Text/theme.js +0 -52
- package/dist/cjs/Text/types.d.ts +0 -20
- package/dist/cjs/Text/types.js +0 -17
- package/dist/cjs/Text/utils/getThemeColor.d.ts +0 -11
- package/dist/cjs/Text/utils/index.d.ts +0 -2
- package/dist/cjs/Text/utils/index.js +0 -25
- package/dist/cjs/Text/utils/useAntdDarkAlgorithm.d.ts +0 -2
- package/dist/cjs/Text/utils/useAntdDarkAlgorithm.js +0 -40
- package/dist/cjs/Treemap/index.d.ts +0 -10
- package/dist/cjs/Treemap/index.js +0 -93
- package/dist/cjs/Venn/index.d.ts +0 -32
- package/dist/cjs/Venn/index.js +0 -87
- package/dist/cjs/Violin/index.d.ts +0 -10
- package/dist/cjs/Violin/index.js +0 -190
- package/dist/cjs/Waterfall/index.d.ts +0 -25
- package/dist/cjs/Waterfall/index.js +0 -184
- package/dist/cjs/WordCloud/index.d.ts +0 -9
- package/dist/cjs/WordCloud/index.js +0 -76
- package/dist/cjs/constants/index.d.ts +0 -2
- package/dist/cjs/constants/index.js +0 -35
- package/dist/cjs/export-map.browser.d.ts +0 -4
- package/dist/cjs/export-map.browser.js +0 -48
- package/dist/cjs/export-map.d.ts +0 -10
- package/dist/cjs/export-map.js +0 -41
- package/dist/cjs/export.d.ts +0 -76
- package/dist/cjs/export.js +0 -159
- package/dist/cjs/render.d.ts +0 -2
- package/dist/cjs/render.js +0 -67
- package/dist/cjs/theme.d.ts +0 -2
- package/dist/cjs/types/chart.d.ts +0 -88
- package/dist/cjs/types/chart.js +0 -61
- package/dist/cjs/types/config.d.ts +0 -25
- package/dist/cjs/types/config.js +0 -17
- package/dist/cjs/types/map.d.ts +0 -242
- package/dist/cjs/types/map.js +0 -17
- package/dist/cjs/utils/config.d.ts +0 -5
- package/dist/cjs/utils/config.js +0 -76
- package/dist/cjs/utils/graph.d.ts +0 -18
- package/dist/cjs/utils/graph.js +0 -64
- package/dist/cjs/utils/index.d.ts +0 -1
- package/dist/cjs/utils/index.js +0 -23
- package/dist/cjs/utils/map/context.d.ts +0 -3
- package/dist/cjs/utils/map/context.js +0 -45
- package/dist/cjs/utils/map/controls.d.ts +0 -0
- package/dist/cjs/utils/map/controls.js +0 -0
- package/dist/cjs/utils/map/index.d.ts +0 -6
- package/dist/cjs/utils/map/index.js +0 -33
- package/dist/cjs/utils/map/markers.d.ts +0 -2
- package/dist/cjs/utils/map/markers.js +0 -88
- package/dist/cjs/utils/map/polyline.d.ts +0 -2
- package/dist/cjs/utils/map/polyline.js +0 -52
- package/dist/cjs/utils/map/style.d.ts +0 -45
- package/dist/cjs/utils/map/style.js +0 -112
- package/dist/cjs/utils/map/util.d.ts +0 -1
- package/dist/cjs/utils/map/util.js +0 -38
- package/dist/cjs/utils/map/view.d.ts +0 -5
- package/dist/cjs/utils/map/view.js +0 -100
- package/dist/cjs/utils/palette.d.ts +0 -2
- package/dist/cjs/utils/palette.js +0 -54
- package/dist/cjs/utils/plot.d.ts +0 -5
- package/dist/cjs/utils/plot.js +0 -90
- package/dist/cjs/version.d.ts +0 -2
- package/dist/cjs/version.js +0 -25
- package/dist/esm/Area/index.d.ts +0 -11
- package/dist/esm/Area/index.js +0 -108
- package/dist/esm/Bar/index.d.ts +0 -14
- package/dist/esm/Bar/index.js +0 -92
- package/dist/esm/Boxplot/index.d.ts +0 -11
- package/dist/esm/Boxplot/index.js +0 -86
- package/dist/esm/ChartCodeRender/Loading.d.ts +0 -6
- package/dist/esm/ChartCodeRender/Loading.js +0 -21
- package/dist/esm/ChartCodeRender/VisChart.d.ts +0 -19
- package/dist/esm/ChartCodeRender/VisChart.js +0 -450
- package/dist/esm/ChartCodeRender/icon.d.ts +0 -10
- package/dist/esm/ChartCodeRender/icon.js +0 -103
- package/dist/esm/ChartCodeRender/index.d.ts +0 -8
- package/dist/esm/ChartCodeRender/index.js +0 -99
- package/dist/esm/ChartCodeRender/styles.d.ts +0 -19
- package/dist/esm/ChartCodeRender/styles.js +0 -61
- package/dist/esm/ChartCodeRender/type.d.ts +0 -176
- package/dist/esm/ChartCodeRender/type.js +0 -1
- package/dist/esm/ChartCodeRender/utils.d.ts +0 -1
- package/dist/esm/ChartCodeRender/utils.js +0 -37
- package/dist/esm/Column/index.d.ts +0 -14
- package/dist/esm/Column/index.js +0 -93
- package/dist/esm/ConfigProvider/context.d.ts +0 -3
- package/dist/esm/ConfigProvider/context.js +0 -3
- package/dist/esm/ConfigProvider/hooks/index.d.ts +0 -1
- package/dist/esm/ConfigProvider/hooks/index.js +0 -1
- package/dist/esm/ConfigProvider/hooks/useConfig.d.ts +0 -13
- package/dist/esm/ConfigProvider/hooks/useConfig.js +0 -71
- package/dist/esm/ConfigProvider/index.d.ts +0 -7
- package/dist/esm/ConfigProvider/index.js +0 -17
- package/dist/esm/DualAxes/index.d.ts +0 -20
- package/dist/esm/DualAxes/index.js +0 -77
- package/dist/esm/DualAxes/util.d.ts +0 -9
- package/dist/esm/DualAxes/util.js +0 -77
- package/dist/esm/FishboneDiagram/index.d.ts +0 -7
- package/dist/esm/FishboneDiagram/index.js +0 -43
- package/dist/esm/FlowDiagram/helper.d.ts +0 -7
- package/dist/esm/FlowDiagram/helper.js +0 -76
- package/dist/esm/FlowDiagram/index.d.ts +0 -6
- package/dist/esm/FlowDiagram/index.js +0 -72
- package/dist/esm/Funnel/index.d.ts +0 -12
- package/dist/esm/Funnel/index.js +0 -171
- package/dist/esm/GPTVis/Lite.d.ts +0 -19
- package/dist/esm/GPTVis/Lite.js +0 -57
- package/dist/esm/GPTVis/hooks/useContext.d.ts +0 -8
- package/dist/esm/GPTVis/hooks/useContext.js +0 -9
- package/dist/esm/GPTVis/hooks/useEvent.d.ts +0 -1
- package/dist/esm/GPTVis/hooks/useEvent.js +0 -6
- package/dist/esm/GPTVis/index.d.ts +0 -6
- package/dist/esm/GPTVis/index.js +0 -25
- package/dist/esm/HeatMap/index.d.ts +0 -12
- package/dist/esm/HeatMap/index.js +0 -45
- package/dist/esm/Histogram/index.d.ts +0 -8
- package/dist/esm/Histogram/index.js +0 -75
- package/dist/esm/IndentedTree/index.d.ts +0 -7
- package/dist/esm/IndentedTree/index.js +0 -68
- package/dist/esm/Line/index.d.ts +0 -11
- package/dist/esm/Line/index.js +0 -92
- package/dist/esm/Liquid/index.d.ts +0 -11
- package/dist/esm/Liquid/index.js +0 -100
- package/dist/esm/Map/Component/MapView.d.ts +0 -3
- package/dist/esm/Map/Component/MapView.js +0 -18
- package/dist/esm/Map/Component/Marker.d.ts +0 -3
- package/dist/esm/Map/Component/Marker.js +0 -40
- package/dist/esm/Map/Component/Polyline.d.ts +0 -3
- package/dist/esm/Map/Component/Polyline.js +0 -35
- package/dist/esm/Map/Component/index.d.ts +0 -4
- package/dist/esm/Map/Component/index.js +0 -4
- package/dist/esm/Map/data.json +0 -305
- package/dist/esm/Map/index.d.ts +0 -5
- package/dist/esm/Map/index.js +0 -50
- package/dist/esm/MindMap/index.d.ts +0 -7
- package/dist/esm/MindMap/index.js +0 -69
- package/dist/esm/NetworkGraph/index.d.ts +0 -6
- package/dist/esm/NetworkGraph/index.js +0 -64
- package/dist/esm/OrganizationChart/index.d.ts +0 -6
- package/dist/esm/OrganizationChart/index.js +0 -75
- package/dist/esm/PathMap/index.d.ts +0 -6
- package/dist/esm/PathMap/index.js +0 -41
- package/dist/esm/Pie/index.d.ts +0 -23
- package/dist/esm/Pie/index.js +0 -96
- package/dist/esm/PinMap/index.d.ts +0 -6
- package/dist/esm/PinMap/index.js +0 -22
- package/dist/esm/PinMap/maker.svg +0 -1
- package/dist/esm/Radar/index.d.ts +0 -13
- package/dist/esm/Radar/index.js +0 -150
- package/dist/esm/Sankey/index.d.ts +0 -14
- package/dist/esm/Sankey/index.js +0 -98
- package/dist/esm/Scatter/index.d.ts +0 -13
- package/dist/esm/Scatter/index.js +0 -95
- package/dist/esm/Spreadsheet/index.d.ts +0 -28
- package/dist/esm/Spreadsheet/index.js +0 -129
- package/dist/esm/Table/index.d.ts +0 -9
- package/dist/esm/Table/index.js +0 -30
- package/dist/esm/Text/VisText.d.ts +0 -4
- package/dist/esm/Text/VisText.js +0 -55
- package/dist/esm/Text/config.d.ts +0 -18
- package/dist/esm/Text/config.js +0 -82
- package/dist/esm/Text/custom-icons/index.d.ts +0 -3
- package/dist/esm/Text/custom-icons/index.js +0 -37
- package/dist/esm/Text/index.d.ts +0 -3
- package/dist/esm/Text/index.js +0 -2
- package/dist/esm/Text/mini-charts/hooks/getElementFontSize.d.ts +0 -1
- package/dist/esm/Text/mini-charts/hooks/getElementFontSize.js +0 -32
- package/dist/esm/Text/mini-charts/hooks/index.d.ts +0 -1
- package/dist/esm/Text/mini-charts/hooks/index.js +0 -1
- package/dist/esm/Text/mini-charts/hooks/useSvgWrapper.d.ts +0 -5
- package/dist/esm/Text/mini-charts/hooks/useSvgWrapper.js +0 -37
- package/dist/esm/Text/mini-charts/index.d.ts +0 -2
- package/dist/esm/Text/mini-charts/index.js +0 -2
- package/dist/esm/Text/mini-charts/line/SingleLineChart.d.ts +0 -3
- package/dist/esm/Text/mini-charts/line/SingleLineChart.js +0 -62
- package/dist/esm/Text/mini-charts/line/index.d.ts +0 -1
- package/dist/esm/Text/mini-charts/line/index.js +0 -1
- package/dist/esm/Text/mini-charts/line/scaleLinear.d.ts +0 -4
- package/dist/esm/Text/mini-charts/line/scaleLinear.js +0 -19
- package/dist/esm/Text/mini-charts/line/useLineCompute.d.ts +0 -6
- package/dist/esm/Text/mini-charts/line/useLineCompute.js +0 -118
- package/dist/esm/Text/mini-charts/proportion/getArcPath.d.ts +0 -1
- package/dist/esm/Text/mini-charts/proportion/getArcPath.js +0 -19
- package/dist/esm/Text/mini-charts/proportion/index.d.ts +0 -3
- package/dist/esm/Text/mini-charts/proportion/index.js +0 -64
- package/dist/esm/Text/theme.d.ts +0 -24
- package/dist/esm/Text/theme.js +0 -24
- package/dist/esm/Text/types.d.ts +0 -20
- package/dist/esm/Text/types.js +0 -1
- package/dist/esm/Text/utils/getThemeColor.d.ts +0 -11
- package/dist/esm/Text/utils/getThemeColor.js +0 -29
- package/dist/esm/Text/utils/index.d.ts +0 -2
- package/dist/esm/Text/utils/index.js +0 -2
- package/dist/esm/Text/utils/useAntdDarkAlgorithm.d.ts +0 -2
- package/dist/esm/Text/utils/useAntdDarkAlgorithm.js +0 -14
- package/dist/esm/Treemap/index.d.ts +0 -10
- package/dist/esm/Treemap/index.js +0 -88
- package/dist/esm/Venn/index.d.ts +0 -32
- package/dist/esm/Venn/index.js +0 -69
- package/dist/esm/Violin/index.d.ts +0 -10
- package/dist/esm/Violin/index.js +0 -199
- package/dist/esm/Waterfall/index.d.ts +0 -25
- package/dist/esm/Waterfall/index.js +0 -185
- package/dist/esm/WordCloud/index.d.ts +0 -9
- package/dist/esm/WordCloud/index.js +0 -59
- package/dist/esm/constants/index.d.ts +0 -2
- package/dist/esm/constants/index.js +0 -9
- package/dist/esm/export-map.browser.d.ts +0 -4
- package/dist/esm/export-map.browser.js +0 -5
- package/dist/esm/export-map.d.ts +0 -10
- package/dist/esm/export-map.js +0 -9
- package/dist/esm/export.d.ts +0 -76
- package/dist/esm/export.js +0 -51
- package/dist/esm/render.d.ts +0 -2
- package/dist/esm/render.js +0 -32
- package/dist/esm/theme.d.ts +0 -2
- package/dist/esm/theme.js +0 -103
- package/dist/esm/types/chart.d.ts +0 -88
- package/dist/esm/types/chart.js +0 -33
- package/dist/esm/types/config.d.ts +0 -25
- package/dist/esm/types/config.js +0 -1
- package/dist/esm/types/map.d.ts +0 -242
- package/dist/esm/types/map.js +0 -1
- package/dist/esm/utils/config.d.ts +0 -5
- package/dist/esm/utils/config.js +0 -53
- package/dist/esm/utils/graph.d.ts +0 -18
- package/dist/esm/utils/graph.js +0 -55
- package/dist/esm/utils/index.d.ts +0 -1
- package/dist/esm/utils/index.js +0 -1
- package/dist/esm/utils/map/context.d.ts +0 -3
- package/dist/esm/utils/map/context.js +0 -42
- package/dist/esm/utils/map/controls.d.ts +0 -0
- package/dist/esm/utils/map/controls.js +0 -0
- package/dist/esm/utils/map/index.d.ts +0 -6
- package/dist/esm/utils/map/index.js +0 -6
- package/dist/esm/utils/map/markers.d.ts +0 -2
- package/dist/esm/utils/map/markers.js +0 -69
- package/dist/esm/utils/map/polyline.d.ts +0 -2
- package/dist/esm/utils/map/polyline.js +0 -31
- package/dist/esm/utils/map/style.d.ts +0 -45
- package/dist/esm/utils/map/style.js +0 -80
- package/dist/esm/utils/map/util.d.ts +0 -1
- package/dist/esm/utils/map/util.js +0 -11
- package/dist/esm/utils/map/view.d.ts +0 -5
- package/dist/esm/utils/map/view.js +0 -83
- package/dist/esm/utils/palette.d.ts +0 -2
- package/dist/esm/utils/palette.js +0 -2
- package/dist/esm/utils/plot.d.ts +0 -5
- package/dist/esm/utils/plot.js +0 -86
- package/dist/esm/version.d.ts +0 -2
- package/dist/esm/version.js +0 -1
- package/dist/umd/737.async.js +0 -1
- package/dist/umd/index.min.css +0 -1
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GPT-Vis Syntax Parser
|
|
3
|
+
*
|
|
4
|
+
* Parses a markdown-like syntax for visualization configurations.
|
|
5
|
+
*
|
|
6
|
+
* Syntax rules:
|
|
7
|
+
* - `vis [chartType]` - Defines the chart type (required first line)
|
|
8
|
+
* - `data` - Starts a data array section
|
|
9
|
+
* - ` - key value` - Array item with key-value pairs
|
|
10
|
+
* - ` - value` - Simple array item (for flat arrays like histogram data)
|
|
11
|
+
* - `key: value` or `key value` - Top-level key-value pair
|
|
12
|
+
* - `style` - Starts a style object section
|
|
13
|
+
* - Multiple values separated by spaces become arrays (e.g., `palette #ff5a5f #1fb6ff`)
|
|
14
|
+
* - `children` - Nested array for hierarchical data (mind-map, treemap, etc.)
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```
|
|
18
|
+
* vis pie
|
|
19
|
+
* data
|
|
20
|
+
* - category 分类一
|
|
21
|
+
* value 27
|
|
22
|
+
* - category 分类二
|
|
23
|
+
* value 25
|
|
24
|
+
* innerRadius: 0.6
|
|
25
|
+
* style
|
|
26
|
+
* backgroundColor #333
|
|
27
|
+
* palette #ff5a5f #1fb6ff #13ce66
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example Simple array (histogram)
|
|
31
|
+
* ```
|
|
32
|
+
* vis histogram
|
|
33
|
+
* data
|
|
34
|
+
* - 78
|
|
35
|
+
* - 88
|
|
36
|
+
* - 60
|
|
37
|
+
* binNumber 5
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @example Hierarchical data (mind-map)
|
|
41
|
+
* ```
|
|
42
|
+
* vis mind-map
|
|
43
|
+
* data
|
|
44
|
+
* - name 项目计划
|
|
45
|
+
* children
|
|
46
|
+
* - name 研究阶段
|
|
47
|
+
* children
|
|
48
|
+
* - name 市场调研
|
|
49
|
+
* - name 技术可行性分析
|
|
50
|
+
* - name 开发阶段
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Parsed chart configuration result
|
|
56
|
+
*/
|
|
57
|
+
export interface ParsedConfig {
|
|
58
|
+
type: string;
|
|
59
|
+
[key: string]: unknown;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Known section names that contain arrays
|
|
63
|
+
const ARRAY_SECTIONS = new Set(['data', 'categories', 'series', 'children']);
|
|
64
|
+
|
|
65
|
+
// Known section names that contain objects
|
|
66
|
+
const OBJECT_SECTIONS = new Set(['style']);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Try to parse a value as number, boolean, or keep as string
|
|
70
|
+
*/
|
|
71
|
+
function parseValue(value: string): unknown {
|
|
72
|
+
// Trim the value
|
|
73
|
+
const trimmed = value.trim();
|
|
74
|
+
|
|
75
|
+
// Empty string
|
|
76
|
+
if (trimmed === '') {
|
|
77
|
+
return '';
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Boolean values
|
|
81
|
+
if (trimmed === 'true') return true;
|
|
82
|
+
if (trimmed === 'false') return false;
|
|
83
|
+
|
|
84
|
+
// Numeric values
|
|
85
|
+
const num = Number(trimmed);
|
|
86
|
+
if (!isNaN(num) && trimmed !== '') {
|
|
87
|
+
return num;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return trimmed;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Parse multiple space-separated values into an array or single value
|
|
95
|
+
* Used for style properties like palette where multiple colors are expected
|
|
96
|
+
*/
|
|
97
|
+
function parseMultipleValues(values: string): unknown {
|
|
98
|
+
const trimmed = values.trim();
|
|
99
|
+
|
|
100
|
+
// Split by spaces, but handle the case where we want a single value
|
|
101
|
+
const parts = trimmed.split(/\s+/).filter((p) => p.length > 0);
|
|
102
|
+
|
|
103
|
+
if (parts.length === 0) {
|
|
104
|
+
return '';
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (parts.length === 1) {
|
|
108
|
+
return parseValue(parts[0]);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Multiple values become an array
|
|
112
|
+
return parts.map(parseValue);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Parse a key-value line (supports both "key: value" and "key value" formats)
|
|
117
|
+
*/
|
|
118
|
+
function parseKeyValue(line: string): { key: string; value: string } | null {
|
|
119
|
+
const trimmed = line.trim();
|
|
120
|
+
|
|
121
|
+
// Try "key: value" format first
|
|
122
|
+
const colonMatch = trimmed.match(/^([a-zA-Z_][a-zA-Z0-9_-]*)\s*:\s*(.*)$/);
|
|
123
|
+
if (colonMatch) {
|
|
124
|
+
return { key: colonMatch[1], value: colonMatch[2] };
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Try "key value" format (key must be a valid identifier)
|
|
128
|
+
const spaceMatch = trimmed.match(/^([a-zA-Z_][a-zA-Z0-9_-]*)\s+(.+)$/);
|
|
129
|
+
if (spaceMatch) {
|
|
130
|
+
return { key: spaceMatch[1], value: spaceMatch[2] };
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Single key without value
|
|
134
|
+
const singleKey = trimmed.match(/^([a-zA-Z_][a-zA-Z0-9_-]*)$/);
|
|
135
|
+
if (singleKey) {
|
|
136
|
+
return { key: singleKey[1], value: '' };
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Check if a value is a simple value (not a key-value pair)
|
|
144
|
+
* Simple values are: numbers, strings that don't look like key-value pairs
|
|
145
|
+
*/
|
|
146
|
+
function isSimpleValue(line: string): boolean {
|
|
147
|
+
const trimmed = line.trim();
|
|
148
|
+
|
|
149
|
+
// Check if it looks like a key-value pair
|
|
150
|
+
const hasKeyValue = parseKeyValue(trimmed);
|
|
151
|
+
if (hasKeyValue && hasKeyValue.value !== '') {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// It's a simple value (number, string without spaces matching key pattern)
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Get the indentation level of a line (normalized to units of 2 spaces)
|
|
161
|
+
*/
|
|
162
|
+
function getIndentLevel(line: string): number {
|
|
163
|
+
const match = line.match(/^(\s*)/);
|
|
164
|
+
return match ? match[1].length : 0;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Check if a line is an array item marker (starts with -)
|
|
169
|
+
*/
|
|
170
|
+
function isArrayItemLine(line: string): boolean {
|
|
171
|
+
return line.trim().startsWith('-');
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Parse an array item line (removes the leading -)
|
|
176
|
+
*/
|
|
177
|
+
function parseArrayItemLine(line: string): string {
|
|
178
|
+
return line.trim().replace(/^-\s*/, '');
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Check if a key is a known section name (data, style, etc.)
|
|
183
|
+
*/
|
|
184
|
+
function isKnownSection(key: string): boolean {
|
|
185
|
+
return ARRAY_SECTIONS.has(key) || OBJECT_SECTIONS.has(key);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Line information for parsing
|
|
190
|
+
*/
|
|
191
|
+
interface LineInfo {
|
|
192
|
+
line: string;
|
|
193
|
+
trimmed: string;
|
|
194
|
+
indent: number;
|
|
195
|
+
lineNumber: number;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Parse lines into line info array
|
|
200
|
+
*/
|
|
201
|
+
function parseLines(syntax: string): LineInfo[] {
|
|
202
|
+
const lines = syntax.split('\n');
|
|
203
|
+
const result: LineInfo[] = [];
|
|
204
|
+
|
|
205
|
+
for (let i = 0; i < lines.length; i++) {
|
|
206
|
+
const line = lines[i];
|
|
207
|
+
const trimmed = line.trim();
|
|
208
|
+
|
|
209
|
+
// Skip empty lines
|
|
210
|
+
if (trimmed === '') {
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
result.push({
|
|
215
|
+
line,
|
|
216
|
+
trimmed,
|
|
217
|
+
indent: getIndentLevel(line),
|
|
218
|
+
lineNumber: i,
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
return result;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Parse an array of items (data, children, etc.)
|
|
227
|
+
* Supports nested children arrays for hierarchical data
|
|
228
|
+
*/
|
|
229
|
+
function parseArraySection(
|
|
230
|
+
lines: LineInfo[],
|
|
231
|
+
startIndex: number,
|
|
232
|
+
baseIndent: number,
|
|
233
|
+
): { items: unknown[]; nextIndex: number } {
|
|
234
|
+
const items: unknown[] = [];
|
|
235
|
+
let currentItem: Record<string, unknown> | null = null;
|
|
236
|
+
let isSimpleArray = false;
|
|
237
|
+
let i = startIndex;
|
|
238
|
+
let firstItemIndent = -1;
|
|
239
|
+
|
|
240
|
+
while (i < lines.length) {
|
|
241
|
+
const { trimmed, indent } = lines[i];
|
|
242
|
+
|
|
243
|
+
// If we see something at base indent level or lower and it's not an array item,
|
|
244
|
+
// we're done with this section
|
|
245
|
+
if (indent <= baseIndent && !isArrayItemLine(trimmed)) {
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// If we see an array item at a lower or equal indent to base,
|
|
250
|
+
// we've reached a sibling at the parent level - return
|
|
251
|
+
if (isArrayItemLine(trimmed) && indent <= baseIndent) {
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// Check if this is a new array item at our level
|
|
256
|
+
const isThisLevelItem =
|
|
257
|
+
isArrayItemLine(trimmed) && (firstItemIndent === -1 || indent === firstItemIndent);
|
|
258
|
+
|
|
259
|
+
// Handle array item marker at our level
|
|
260
|
+
if (isThisLevelItem) {
|
|
261
|
+
// Set the first item indent if not yet set
|
|
262
|
+
if (firstItemIndent === -1) {
|
|
263
|
+
firstItemIndent = indent;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// Save previous item if exists
|
|
267
|
+
if (currentItem !== null && !isSimpleArray) {
|
|
268
|
+
items.push(currentItem);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
const itemContent = parseArrayItemLine(trimmed);
|
|
272
|
+
|
|
273
|
+
if (itemContent) {
|
|
274
|
+
// Determine if this is a simple value or a key-value pair
|
|
275
|
+
if (isSimpleValue(itemContent)) {
|
|
276
|
+
// Simple value array (e.g., histogram data: [78, 88, 60])
|
|
277
|
+
isSimpleArray = true;
|
|
278
|
+
items.push(parseValue(itemContent));
|
|
279
|
+
currentItem = null;
|
|
280
|
+
} else {
|
|
281
|
+
// Object array with key-value pairs
|
|
282
|
+
currentItem = {};
|
|
283
|
+
const kv = parseKeyValue(itemContent);
|
|
284
|
+
if (kv) {
|
|
285
|
+
currentItem[kv.key] = parseValue(kv.value);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
} else {
|
|
289
|
+
// Empty array item marker, start a new object
|
|
290
|
+
currentItem = {};
|
|
291
|
+
}
|
|
292
|
+
i++;
|
|
293
|
+
continue;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
// If we have a first item indent set and we see an array item at a different indent,
|
|
297
|
+
// it might be a nested child's item - just skip for now, let nested parsing handle it
|
|
298
|
+
if (isArrayItemLine(trimmed) && firstItemIndent !== -1 && indent !== firstItemIndent) {
|
|
299
|
+
// This shouldn't happen if we're parsing correctly - skip and continue
|
|
300
|
+
i++;
|
|
301
|
+
continue;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// Handle properties of current item (including nested children)
|
|
305
|
+
if (currentItem !== null && !isSimpleArray) {
|
|
306
|
+
const kv = parseKeyValue(trimmed);
|
|
307
|
+
if (kv) {
|
|
308
|
+
// Check if this is a 'children' key (start of nested array)
|
|
309
|
+
if (kv.key === 'children' && kv.value === '') {
|
|
310
|
+
// Parse nested children array - the children start after this line
|
|
311
|
+
const { items: childItems, nextIndex } = parseArraySection(lines, i + 1, indent);
|
|
312
|
+
currentItem.children = childItems;
|
|
313
|
+
i = nextIndex;
|
|
314
|
+
continue;
|
|
315
|
+
} else {
|
|
316
|
+
currentItem[kv.key] = parseValue(kv.value);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
i++;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
// Save last item if exists
|
|
325
|
+
if (currentItem !== null && !isSimpleArray) {
|
|
326
|
+
items.push(currentItem);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
return { items, nextIndex: i };
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Parse the visualization syntax string into a configuration object
|
|
334
|
+
*/
|
|
335
|
+
export function parse(syntax: string): ParsedConfig {
|
|
336
|
+
const lines = parseLines(syntax);
|
|
337
|
+
const result: ParsedConfig = { type: '' };
|
|
338
|
+
|
|
339
|
+
let i = 0;
|
|
340
|
+
while (i < lines.length) {
|
|
341
|
+
const { trimmed, indent } = lines[i];
|
|
342
|
+
|
|
343
|
+
// Handle "vis [type]" declaration
|
|
344
|
+
if (trimmed.startsWith('vis ')) {
|
|
345
|
+
const chartType = trimmed.substring(4).trim();
|
|
346
|
+
result.type = chartType;
|
|
347
|
+
i++;
|
|
348
|
+
continue;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
// Check for section headers (data, style, etc.) - single word, no indentation
|
|
352
|
+
const isSectionHeader =
|
|
353
|
+
/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(trimmed) && indent === 0 && isKnownSection(trimmed);
|
|
354
|
+
|
|
355
|
+
if (isSectionHeader) {
|
|
356
|
+
if (ARRAY_SECTIONS.has(trimmed)) {
|
|
357
|
+
// Parse array section
|
|
358
|
+
const { items, nextIndex } = parseArraySection(lines, i + 1, indent);
|
|
359
|
+
if (items.length > 0) {
|
|
360
|
+
result[trimmed] = items;
|
|
361
|
+
}
|
|
362
|
+
i = nextIndex;
|
|
363
|
+
continue;
|
|
364
|
+
} else if (OBJECT_SECTIONS.has(trimmed)) {
|
|
365
|
+
// Parse object section (style)
|
|
366
|
+
const sectionName = trimmed;
|
|
367
|
+
result[sectionName] = {};
|
|
368
|
+
i++;
|
|
369
|
+
|
|
370
|
+
while (i < lines.length) {
|
|
371
|
+
const { trimmed: innerTrimmed, indent: innerIndent } = lines[i];
|
|
372
|
+
|
|
373
|
+
// If indent goes back to 0, we're done with this section
|
|
374
|
+
if (innerIndent === 0) {
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
const kv = parseKeyValue(innerTrimmed);
|
|
379
|
+
if (kv) {
|
|
380
|
+
(result[sectionName] as Record<string, unknown>)[kv.key] = parseMultipleValues(
|
|
381
|
+
kv.value,
|
|
382
|
+
);
|
|
383
|
+
}
|
|
384
|
+
i++;
|
|
385
|
+
}
|
|
386
|
+
continue;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
// Top-level key-value pair
|
|
391
|
+
if (indent === 0) {
|
|
392
|
+
const kv = parseKeyValue(trimmed);
|
|
393
|
+
if (kv) {
|
|
394
|
+
result[kv.key] = parseValue(kv.value);
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
i++;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
return result;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Check if a val is a valid visualization syntax
|
|
406
|
+
*/
|
|
407
|
+
export function isVisSyntax(input: any): boolean {
|
|
408
|
+
if (typeof input !== 'string') return false;
|
|
409
|
+
const trimmed = input.trim();
|
|
410
|
+
return trimmed.startsWith('vis ');
|
|
411
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common visualization options for all chart components.
|
|
3
|
+
* Defines the container and dimensions for rendering visualizations.
|
|
4
|
+
*/
|
|
5
|
+
export interface VisualizationOptions {
|
|
6
|
+
container: string | HTMLElement;
|
|
7
|
+
width?: number;
|
|
8
|
+
height?: number;
|
|
9
|
+
theme?: 'default' | 'light' | 'dark' | 'academy'; // Theme for visualization (default: 'light')
|
|
10
|
+
wrapper?: boolean; // Whether to show the outer wrapper container (default: false)
|
|
11
|
+
locale?: string; // Locale for wrapper labels (default: 'zh-CN')
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Tree graph data structure
|
|
16
|
+
*/
|
|
17
|
+
export interface TreeGraphData {
|
|
18
|
+
name: string;
|
|
19
|
+
description?: string; // For OrganizationChart
|
|
20
|
+
children?: TreeGraphData[];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Network graph data structure
|
|
25
|
+
*/
|
|
26
|
+
export interface GraphData {
|
|
27
|
+
nodes: { name: string }[];
|
|
28
|
+
edges: { source: string; target: string; name?: string }[];
|
|
29
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
// Color palettes
|
|
2
|
+
export const DEFAULT_COLOR_PALETTE = [
|
|
3
|
+
'#1783FF',
|
|
4
|
+
'#F08F56',
|
|
5
|
+
'#D580FF',
|
|
6
|
+
'#00C9C9',
|
|
7
|
+
'#7863FF',
|
|
8
|
+
'#DB9D0D',
|
|
9
|
+
'#60C42D',
|
|
10
|
+
'#FF80CA',
|
|
11
|
+
'#2491B3',
|
|
12
|
+
'#17C76F',
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
export const ACADEMY_COLOR_PALETTE = [
|
|
16
|
+
'#4e79a7',
|
|
17
|
+
'#f28e2c',
|
|
18
|
+
'#e15759',
|
|
19
|
+
'#76b7b2',
|
|
20
|
+
'#59a14f',
|
|
21
|
+
'#edc949',
|
|
22
|
+
'#af7aa1',
|
|
23
|
+
'#ff9da7',
|
|
24
|
+
'#9c755f',
|
|
25
|
+
'#bab0ab',
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
// Theme definitions
|
|
29
|
+
const DEFAULT_THEME = {
|
|
30
|
+
type: 'light',
|
|
31
|
+
view: {
|
|
32
|
+
viewFill: '#FFF',
|
|
33
|
+
plotFill: 'transparent',
|
|
34
|
+
mainFill: 'transparent',
|
|
35
|
+
contentFill: 'transparent',
|
|
36
|
+
},
|
|
37
|
+
interval: {
|
|
38
|
+
rect: {
|
|
39
|
+
fillOpacity: 0.8,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
line: {
|
|
43
|
+
line: {
|
|
44
|
+
lineWidth: 2,
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
area: {
|
|
48
|
+
area: {
|
|
49
|
+
fillOpacity: 0.6,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
point: {
|
|
53
|
+
point: {
|
|
54
|
+
lineWidth: 1,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const DARK_THEME = {
|
|
60
|
+
type: 'dark',
|
|
61
|
+
view: {
|
|
62
|
+
viewFill: '#000',
|
|
63
|
+
plotFill: 'transparent',
|
|
64
|
+
mainFill: 'transparent',
|
|
65
|
+
contentFill: 'transparent',
|
|
66
|
+
},
|
|
67
|
+
interval: {
|
|
68
|
+
rect: {
|
|
69
|
+
fillOpacity: 0.8,
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
line: {
|
|
73
|
+
line: {
|
|
74
|
+
lineWidth: 2,
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
area: {
|
|
78
|
+
area: {
|
|
79
|
+
fillOpacity: 0.6,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
point: {
|
|
83
|
+
point: {
|
|
84
|
+
lineWidth: 1,
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const ACADEMY_THEME = {
|
|
90
|
+
type: 'academy',
|
|
91
|
+
view: {
|
|
92
|
+
viewFill: '#FFF',
|
|
93
|
+
plotFill: 'transparent',
|
|
94
|
+
mainFill: 'transparent',
|
|
95
|
+
contentFill: 'transparent',
|
|
96
|
+
},
|
|
97
|
+
interval: {
|
|
98
|
+
rect: {
|
|
99
|
+
fillOpacity: 0.8,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
line: {
|
|
103
|
+
line: {
|
|
104
|
+
lineWidth: 2,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
area: {
|
|
108
|
+
area: {
|
|
109
|
+
fillOpacity: 0.6,
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
point: {
|
|
113
|
+
point: {
|
|
114
|
+
lineWidth: 1,
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export const THEME_MAP: Record<string, any> = {
|
|
120
|
+
default: DEFAULT_THEME,
|
|
121
|
+
academy: ACADEMY_THEME,
|
|
122
|
+
dark: DARK_THEME,
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Get normalized theme name for G2.
|
|
127
|
+
* Converts 'default' to 'light' for G2 compatibility.
|
|
128
|
+
*/
|
|
129
|
+
export const getTheme = (theme: string): string => {
|
|
130
|
+
return theme === 'default' ? 'light' : theme;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Get theme object from THEME_MAP.
|
|
135
|
+
* This should be used for visualization components to properly support dark theme with multiple marks.
|
|
136
|
+
*/
|
|
137
|
+
export const getThemeObject = (theme: string): any => {
|
|
138
|
+
return THEME_MAP[theme] || THEME_MAP.default;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Get theme color palette based on theme name.
|
|
143
|
+
*/
|
|
144
|
+
export const getThemeColors = (theme: string): string[] => {
|
|
145
|
+
switch (theme) {
|
|
146
|
+
case 'academy':
|
|
147
|
+
return ACADEMY_COLOR_PALETTE;
|
|
148
|
+
case 'dark':
|
|
149
|
+
case 'default':
|
|
150
|
+
default:
|
|
151
|
+
return DEFAULT_COLOR_PALETTE;
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Get background color based on theme.
|
|
157
|
+
*/
|
|
158
|
+
export const getBackgroundColor = (theme: string): string => {
|
|
159
|
+
switch (theme) {
|
|
160
|
+
case 'dark':
|
|
161
|
+
return '#000';
|
|
162
|
+
case 'academy':
|
|
163
|
+
case 'default':
|
|
164
|
+
default:
|
|
165
|
+
return '#FFF';
|
|
166
|
+
}
|
|
167
|
+
};
|