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

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 (157) hide show
  1. package/README.md +6 -4
  2. package/README.zh-CN.md +6 -4
  3. package/dist/cjs/gpt-vis/index.d.ts +8 -1
  4. package/dist/cjs/gpt-vis/index.js +43 -20
  5. package/dist/cjs/index.d.ts +15 -2
  6. package/dist/cjs/index.js +22 -2
  7. package/dist/cjs/syntax/parser.d.ts +17 -2
  8. package/dist/cjs/syntax/parser.js +151 -38
  9. package/dist/cjs/util/container.d.ts +5 -0
  10. package/dist/cjs/util/container.js +43 -0
  11. package/dist/cjs/util/theme.d.ts +5 -0
  12. package/dist/cjs/util/theme.js +9 -2
  13. package/dist/cjs/vis/area/index.js +2 -1
  14. package/dist/cjs/vis/bar/index.js +5 -4
  15. package/dist/cjs/vis/boxplot/index.js +7 -2
  16. package/dist/cjs/vis/column/index.js +5 -4
  17. package/dist/cjs/vis/dual-axes/index.js +2 -1
  18. package/dist/cjs/vis/fishbone-diagram/index.d.ts +35 -0
  19. package/dist/cjs/vis/fishbone-diagram/index.js +183 -0
  20. package/dist/cjs/vis/flow-diagram/index.d.ts +27 -0
  21. package/dist/cjs/vis/flow-diagram/index.js +271 -0
  22. package/dist/cjs/vis/funnel/index.js +2 -1
  23. package/dist/cjs/vis/histogram/index.js +3 -7
  24. package/dist/cjs/vis/indented-tree/index.d.ts +40 -0
  25. package/dist/cjs/vis/indented-tree/index.js +375 -0
  26. package/dist/cjs/vis/line/index.js +2 -1
  27. package/dist/cjs/vis/liquid/index.js +2 -1
  28. package/dist/cjs/vis/mindmap/index.d.ts +32 -0
  29. package/dist/cjs/vis/mindmap/index.js +214 -0
  30. package/dist/cjs/vis/network-graph/index.d.ts +59 -0
  31. package/dist/cjs/vis/network-graph/index.js +166 -0
  32. package/dist/cjs/vis/organization-chart/index.d.ts +64 -0
  33. package/dist/cjs/vis/organization-chart/index.js +191 -0
  34. package/dist/cjs/vis/pie/index.js +3 -3
  35. package/dist/cjs/vis/radar/index.d.ts +1 -0
  36. package/dist/cjs/vis/radar/index.js +10 -9
  37. package/dist/cjs/vis/sankey/index.js +2 -1
  38. package/dist/cjs/vis/scatter/index.js +2 -1
  39. package/dist/cjs/vis/summary/index.js +17 -3
  40. package/dist/cjs/vis/table/index.d.ts +1 -0
  41. package/dist/cjs/vis/table/index.js +37 -1
  42. package/dist/cjs/vis/treemap/index.js +2 -1
  43. package/dist/cjs/vis/venn/index.d.ts +2 -1
  44. package/dist/cjs/vis/venn/index.js +18 -3
  45. package/dist/cjs/vis/violin/index.js +2 -1
  46. package/dist/cjs/vis/waterfall/index.d.ts +6 -9
  47. package/dist/cjs/vis/waterfall/index.js +28 -5
  48. package/dist/cjs/vis/word-cloud/index.js +2 -1
  49. package/dist/cjs/vis-wrapper/icons.js +2 -2
  50. package/dist/cjs/vis-wrapper/index.d.ts +1 -0
  51. package/dist/cjs/vis-wrapper/index.js +27 -16
  52. package/dist/cjs/vis-wrapper/styles.d.ts +1 -1
  53. package/dist/cjs/vis-wrapper/styles.js +8 -1
  54. package/dist/esm/gpt-vis/index.d.ts +8 -1
  55. package/dist/esm/gpt-vis/index.js +47 -26
  56. package/dist/esm/index.d.ts +15 -2
  57. package/dist/esm/index.js +7 -1
  58. package/dist/esm/syntax/parser.d.ts +17 -2
  59. package/dist/esm/syntax/parser.js +248 -90
  60. package/dist/esm/util/container.d.ts +5 -0
  61. package/dist/esm/util/container.js +20 -0
  62. package/dist/esm/util/theme.d.ts +5 -0
  63. package/dist/esm/util/theme.js +9 -0
  64. package/dist/esm/vis/area/index.js +3 -2
  65. package/dist/esm/vis/bar/index.js +7 -6
  66. package/dist/esm/vis/boxplot/index.js +17 -4
  67. package/dist/esm/vis/column/index.js +7 -6
  68. package/dist/esm/vis/dual-axes/index.js +3 -2
  69. package/dist/esm/vis/fishbone-diagram/index.d.ts +35 -0
  70. package/dist/esm/vis/fishbone-diagram/index.js +218 -0
  71. package/dist/esm/vis/flow-diagram/index.d.ts +27 -0
  72. package/dist/esm/vis/flow-diagram/index.js +342 -0
  73. package/dist/esm/vis/funnel/index.js +3 -2
  74. package/dist/esm/vis/histogram/index.js +6 -7
  75. package/dist/esm/vis/indented-tree/index.d.ts +40 -0
  76. package/dist/esm/vis/indented-tree/index.js +564 -0
  77. package/dist/esm/vis/line/index.js +3 -2
  78. package/dist/esm/vis/liquid/index.js +3 -2
  79. package/dist/esm/vis/mindmap/index.d.ts +32 -0
  80. package/dist/esm/vis/mindmap/index.js +315 -0
  81. package/dist/esm/vis/network-graph/index.d.ts +59 -0
  82. package/dist/esm/vis/network-graph/index.js +240 -0
  83. package/dist/esm/vis/organization-chart/index.d.ts +64 -0
  84. package/dist/esm/vis/organization-chart/index.js +269 -0
  85. package/dist/esm/vis/pie/index.js +4 -8
  86. package/dist/esm/vis/radar/index.d.ts +1 -0
  87. package/dist/esm/vis/radar/index.js +20 -4
  88. package/dist/esm/vis/sankey/index.js +3 -2
  89. package/dist/esm/vis/scatter/index.js +3 -2
  90. package/dist/esm/vis/summary/index.js +25 -4
  91. package/dist/esm/vis/table/index.d.ts +1 -0
  92. package/dist/esm/vis/table/index.js +9 -2
  93. package/dist/esm/vis/treemap/index.js +3 -2
  94. package/dist/esm/vis/venn/index.d.ts +2 -1
  95. package/dist/esm/vis/venn/index.js +29 -4
  96. package/dist/esm/vis/violin/index.js +3 -2
  97. package/dist/esm/vis/waterfall/index.d.ts +6 -9
  98. package/dist/esm/vis/waterfall/index.js +27 -9
  99. package/dist/esm/vis/word-cloud/index.js +3 -2
  100. package/dist/esm/vis-wrapper/icons.js +2 -2
  101. package/dist/esm/vis-wrapper/index.d.ts +1 -0
  102. package/dist/esm/vis-wrapper/index.js +15 -10
  103. package/dist/esm/vis-wrapper/styles.d.ts +1 -1
  104. package/dist/esm/vis-wrapper/styles.js +1 -1
  105. package/dist/umd/index.min.js +1 -1
  106. package/package.json +19 -19
  107. package/src/gpt-vis/index.ts +0 -283
  108. package/src/index.ts +0 -44
  109. package/src/readme.md +0 -37
  110. package/src/syntax/index.ts +0 -2
  111. package/src/syntax/parser.ts +0 -411
  112. package/src/types/index.ts +0 -29
  113. package/src/util/theme.ts +0 -167
  114. package/src/vis/area/README.md +0 -143
  115. package/src/vis/area/index.ts +0 -212
  116. package/src/vis/bar/README.md +0 -158
  117. package/src/vis/bar/index.ts +0 -186
  118. package/src/vis/boxplot/README.md +0 -168
  119. package/src/vis/boxplot/index.ts +0 -162
  120. package/src/vis/column/README.md +0 -158
  121. package/src/vis/column/index.ts +0 -185
  122. package/src/vis/dual-axes/README.md +0 -191
  123. package/src/vis/dual-axes/index.ts +0 -218
  124. package/src/vis/funnel/README.md +0 -143
  125. package/src/vis/funnel/index.ts +0 -238
  126. package/src/vis/histogram/README.md +0 -130
  127. package/src/vis/histogram/index.ts +0 -153
  128. package/src/vis/line/README.md +0 -138
  129. package/src/vis/line/index.ts +0 -159
  130. package/src/vis/liquid/README.md +0 -150
  131. package/src/vis/liquid/index.ts +0 -130
  132. package/src/vis/pie/README.md +0 -127
  133. package/src/vis/pie/index.ts +0 -163
  134. package/src/vis/radar/README.md +0 -184
  135. package/src/vis/radar/index.ts +0 -214
  136. package/src/vis/sankey/README.md +0 -144
  137. package/src/vis/sankey/index.ts +0 -144
  138. package/src/vis/scatter/README.md +0 -145
  139. package/src/vis/scatter/index.ts +0 -147
  140. package/src/vis/summary/README.md +0 -272
  141. package/src/vis/summary/index.ts +0 -91
  142. package/src/vis/table/README.md +0 -174
  143. package/src/vis/table/index.ts +0 -241
  144. package/src/vis/treemap/README.md +0 -199
  145. package/src/vis/treemap/index.ts +0 -167
  146. package/src/vis/venn/README.md +0 -153
  147. package/src/vis/venn/index.ts +0 -149
  148. package/src/vis/violin/README.md +0 -168
  149. package/src/vis/violin/index.ts +0 -216
  150. package/src/vis/waterfall/README.md +0 -178
  151. package/src/vis/waterfall/index.ts +0 -258
  152. package/src/vis/word-cloud/README.md +0 -137
  153. package/src/vis/word-cloud/index.ts +0 -137
  154. package/src/vis-wrapper/README.md +0 -159
  155. package/src/vis-wrapper/icons.ts +0 -35
  156. package/src/vis-wrapper/index.ts +0 -276
  157. package/src/vis-wrapper/styles.ts +0 -195
@@ -0,0 +1,271 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/vis/flow-diagram/index.ts
20
+ var flow_diagram_exports = {};
21
+ __export(flow_diagram_exports, {
22
+ FlowDiagram: () => FlowDiagram
23
+ });
24
+ module.exports = __toCommonJS(flow_diagram_exports);
25
+ var import_g6 = require("@antv/g6");
26
+ var import_theme = require("../../util/theme");
27
+ var ACTIVE_COLOR = "#f6c523";
28
+ var DEFAULT_NODE_WIDTH = 200;
29
+ var DEFAULT_NODE_HEIGHT = 80;
30
+ var HoverElement = class extends import_g6.HoverActivate {
31
+ getActiveIds(event) {
32
+ const { model, graph } = this.context;
33
+ const { targetType, target } = event;
34
+ const targetId = target.id;
35
+ const ids = [targetId];
36
+ if (targetType === "edge") {
37
+ const edge = model.getEdgeDatum(targetId);
38
+ ids.push(edge.source, edge.target);
39
+ } else if (targetType === "node") {
40
+ ids.push(...model.getRelatedEdgesData(targetId).map(import_g6.idOf));
41
+ }
42
+ graph.frontElement(ids);
43
+ return ids;
44
+ }
45
+ };
46
+ var behaviorRegistered = false;
47
+ function ensureBehaviorRegistered() {
48
+ if (!behaviorRegistered) {
49
+ (0, import_g6.register)(import_g6.ExtensionCategory.BEHAVIOR, "hover-element", HoverElement);
50
+ behaviorRegistered = true;
51
+ }
52
+ }
53
+ function escapeHtml(str = "") {
54
+ return str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
55
+ }
56
+ function createNodeHTML(d, color, selectedBorderColor = "#000") {
57
+ var _a, _b, _c;
58
+ const text = escapeHtml(((_a = d.data) == null ? void 0 : _a.text) || "");
59
+ const isHovered = (_b = d.states) == null ? void 0 : _b.includes("active");
60
+ const isSelected = (_c = d.states) == null ? void 0 : _c.includes("selected");
61
+ const nodeColor = isHovered ? ACTIVE_COLOR : color;
62
+ return `
63
+ <div
64
+ data-node-key="${escapeHtml(String(d.id))}"
65
+ style="
66
+ box-sizing: border-box;
67
+ width: ${DEFAULT_NODE_WIDTH}px;
68
+ min-height: ${DEFAULT_NODE_HEIGHT}px;
69
+ padding: 16px;
70
+ background: ${nodeColor};
71
+ border: 3px solid ${isSelected ? selectedBorderColor : nodeColor};
72
+ border-radius: 16px;
73
+ color: #fff;
74
+ font-size: 16px;
75
+ font-weight: 600;
76
+ line-height: 22px;
77
+ text-align: center;
78
+ white-space: normal;
79
+ word-break: break-word;
80
+ overflow-wrap: anywhere;
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ cursor: pointer;
85
+ "
86
+ >
87
+ <div style="width: 100%;">
88
+ ${text}
89
+ </div>
90
+ </div>
91
+ `;
92
+ }
93
+ function measureAndUpdateNodeSizes(graph, container, nodeColorMap, selectedBorderColor) {
94
+ const nodes = graph.getNodeData();
95
+ const updatedNodes = nodes.map((node) => {
96
+ const dom = container.querySelector(`[data-node-key="${CSS.escape(String(node.id))}"]`);
97
+ let height = DEFAULT_NODE_HEIGHT;
98
+ if (dom) {
99
+ height = Math.max(DEFAULT_NODE_HEIGHT, Math.ceil(dom.getBoundingClientRect().height));
100
+ }
101
+ return {
102
+ id: node.id,
103
+ style: {
104
+ size: [DEFAULT_NODE_WIDTH, height],
105
+ dx: -DEFAULT_NODE_WIDTH / 2,
106
+ dy: -height / 2,
107
+ innerHTML: createNodeHTML(
108
+ node,
109
+ nodeColorMap.get(String(node.id)) || "#1783FF",
110
+ selectedBorderColor
111
+ )
112
+ }
113
+ };
114
+ });
115
+ graph.updateNodeData(updatedNodes);
116
+ graph.render();
117
+ }
118
+ var FlowDiagram = (options) => {
119
+ const { container, width, height, theme: chartTheme = "default" } = options;
120
+ let graph = null;
121
+ const render = (config) => {
122
+ const { data, title, theme = chartTheme, style = {} } = config;
123
+ if (graph) {
124
+ graph.destroy();
125
+ graph = null;
126
+ }
127
+ ensureBehaviorRegistered();
128
+ const colors = (0, import_theme.normalizePalette)(style.palette, theme);
129
+ const backgroundColor = style.backgroundColor || (0, import_theme.getBackgroundColor)(theme);
130
+ let containerEl;
131
+ if (typeof container === "string") {
132
+ const el = document.getElementById(container.replace(/^#/, ""));
133
+ if (!el)
134
+ throw new Error(`Container element "${container}" not found`);
135
+ containerEl = el;
136
+ } else {
137
+ containerEl = container;
138
+ }
139
+ containerEl.style.backgroundColor = backgroundColor;
140
+ const nodeRankMap = /* @__PURE__ */ new Map();
141
+ const incomingTargets = new Set(data.edges.map((e) => e.target));
142
+ const childrenMap = /* @__PURE__ */ new Map();
143
+ for (const edge of data.edges) {
144
+ const list = childrenMap.get(edge.source) || [];
145
+ list.push(edge.target);
146
+ childrenMap.set(edge.source, list);
147
+ }
148
+ const roots = data.nodes.filter((n) => !incomingTargets.has(n.name)).map((n) => n.name);
149
+ const queue = roots.map((name) => ({ name, rank: 0 }));
150
+ let head = 0;
151
+ while (head < queue.length) {
152
+ const { name, rank } = queue[head++];
153
+ if (nodeRankMap.has(name))
154
+ continue;
155
+ nodeRankMap.set(name, rank);
156
+ for (const child of childrenMap.get(name) || []) {
157
+ if (!nodeRankMap.has(child)) {
158
+ queue.push({ name: child, rank: rank + 1 });
159
+ }
160
+ }
161
+ }
162
+ const nodeColorMap = /* @__PURE__ */ new Map();
163
+ const g6Nodes = data.nodes.map((node) => {
164
+ const rank = nodeRankMap.get(node.name) || 0;
165
+ const color = colors[rank % colors.length];
166
+ nodeColorMap.set(node.name, color);
167
+ return {
168
+ id: node.name,
169
+ data: { text: node.name }
170
+ };
171
+ });
172
+ const nodeNames = new Set(data.nodes.map((n) => n.name));
173
+ const g6Edges = data.edges.filter((edge) => nodeNames.has(edge.source) && nodeNames.has(edge.target)).map((edge, index) => ({
174
+ id: `edge-${index}`,
175
+ source: edge.source,
176
+ target: edge.target,
177
+ data: { text: edge.name || "" }
178
+ }));
179
+ const isDark = theme === "dark";
180
+ const edgeStroke = isDark ? "#5a6b7f" : "#8b9baf";
181
+ const labelFill = isDark ? "#aab4c0" : "#8b9baf";
182
+ const labelBgFill = isDark ? "#1a1a2e" : "#f8f8f8";
183
+ const labelBgStroke = isDark ? "#5a6b7f" : "#8b9baf";
184
+ const selectedBorder = isDark ? "#fff" : "#000";
185
+ graph = new import_g6.Graph({
186
+ animation: false,
187
+ container: containerEl,
188
+ width,
189
+ height,
190
+ theme,
191
+ data: { nodes: g6Nodes, edges: g6Edges },
192
+ autoFit: "view",
193
+ autoResize: true,
194
+ padding: 20,
195
+ plugins: title ? [{ key: "title", type: "title", title, titleFill: isDark ? "#e0e6ed" : "#1a1a2e" }] : [],
196
+ node: {
197
+ type: "html",
198
+ style: (d) => {
199
+ const color = nodeColorMap.get(String(d.id)) || colors[0];
200
+ return {
201
+ size: [DEFAULT_NODE_WIDTH, DEFAULT_NODE_HEIGHT],
202
+ dx: -DEFAULT_NODE_WIDTH / 2,
203
+ dy: -DEFAULT_NODE_HEIGHT / 2,
204
+ innerHTML: createNodeHTML(d, color, selectedBorder),
205
+ ports: [{ placement: "top" }, { placement: "bottom" }]
206
+ };
207
+ },
208
+ state: {
209
+ active: { halo: false },
210
+ selected: { halo: false }
211
+ }
212
+ },
213
+ edge: {
214
+ type: "polyline",
215
+ style: {
216
+ lineWidth: 3,
217
+ radius: 20,
218
+ stroke: edgeStroke,
219
+ endArrow: true,
220
+ labelText: (d) => {
221
+ var _a;
222
+ return ((_a = d.data) == null ? void 0 : _a.text) || "";
223
+ },
224
+ labelFill,
225
+ labelFontWeight: 600,
226
+ labelBackground: true,
227
+ labelBackgroundFill: labelBgFill,
228
+ labelBackgroundOpacity: 1,
229
+ labelBackgroundLineWidth: 3,
230
+ labelBackgroundStroke: labelBgStroke,
231
+ labelPadding: [1, 10],
232
+ labelBackgroundRadius: 4,
233
+ router: { type: "orth", padding: 40 }
234
+ },
235
+ state: {
236
+ active: {
237
+ stroke: ACTIVE_COLOR,
238
+ labelBackgroundStroke: ACTIVE_COLOR,
239
+ halo: false
240
+ }
241
+ }
242
+ },
243
+ layout: {
244
+ type: "antv-dagre"
245
+ },
246
+ behaviors: ["drag-canvas", "hover-element", "click-select"]
247
+ });
248
+ graph.render();
249
+ graph.once("afterrender", () => {
250
+ if (graph) {
251
+ measureAndUpdateNodeSizes(graph, containerEl, nodeColorMap, selectedBorder);
252
+ }
253
+ });
254
+ };
255
+ const destroy = () => {
256
+ if (graph) {
257
+ graph.destroy();
258
+ graph = null;
259
+ }
260
+ };
261
+ return {
262
+ render,
263
+ destroy,
264
+ zoomTo: (zoom) => graph == null ? void 0 : graph.zoomTo(zoom),
265
+ getZoom: () => graph == null ? void 0 : graph.getZoom()
266
+ };
267
+ };
268
+ // Annotate the CommonJS export names for ESM import in node:
269
+ 0 && (module.exports = {
270
+ FlowDiagram
271
+ });
@@ -33,7 +33,7 @@ var Funnel = (options) => {
33
33
  if (chart) {
34
34
  chart.destroy();
35
35
  }
36
- const colors = style.palette || (0, import_theme.getThemeColors)(theme);
36
+ const colors = (0, import_theme.normalizePalette)(style.palette, theme);
37
37
  const backgroundColor = style.backgroundColor || (0, import_theme.getBackgroundColor)(theme);
38
38
  const conversionRate = (start, end) => `${(end / start * 100).toFixed(2)} %`;
39
39
  chart = new import_g2.Chart({
@@ -45,6 +45,7 @@ var Funnel = (options) => {
45
45
  paddingRight: 68
46
46
  });
47
47
  const chartOptions = {
48
+ animate: false,
48
49
  type: "view",
49
50
  data,
50
51
  title: title ?? "",
@@ -40,7 +40,7 @@ var Histogram = (options) => {
40
40
  if (chart) {
41
41
  chart.destroy();
42
42
  }
43
- const colors = style.palette || (0, import_theme.getThemeColors)(theme);
43
+ const colors = (0, import_theme.normalizePalette)(style.palette, theme);
44
44
  const backgroundColor = style.backgroundColor || (0, import_theme.getBackgroundColor)(theme);
45
45
  chart = new import_g2.Chart({
46
46
  container,
@@ -49,6 +49,7 @@ var Histogram = (options) => {
49
49
  autoFit: true
50
50
  });
51
51
  const chartOptions = {
52
+ animate: false,
52
53
  type: "interval",
53
54
  data,
54
55
  title: title ?? "",
@@ -80,12 +81,7 @@ var Histogram = (options) => {
80
81
  },
81
82
  legend: false,
82
83
  tooltip: {
83
- items: [
84
- (d) => ({
85
- name: "频数",
86
- value: d.count
87
- })
88
- ]
84
+ items: [{ channel: "y", name: "频数" }]
89
85
  },
90
86
  viewStyle: {
91
87
  viewFill: backgroundColor
@@ -0,0 +1,40 @@
1
+ import type { VisualizationOptions } from '../../types';
2
+ /**
3
+ * Indented tree node data — only name + optional children, no description.
4
+ * Aligns with the official G6 indented tree example data structure.
5
+ */
6
+ export interface IndentedTreeData {
7
+ name: string;
8
+ children?: IndentedTreeData[];
9
+ }
10
+ /**
11
+ * IndentedTreeConfig defines the configuration for rendering the indented tree.
12
+ */
13
+ export interface IndentedTreeConfig {
14
+ type?: 'indented-tree';
15
+ data: IndentedTreeData;
16
+ theme?: 'default' | 'academy' | 'dark';
17
+ title?: string;
18
+ /** Layout direction: 'LR' = root left (default), 'RL' = root right, 'H' = root center */
19
+ direction?: 'LR' | 'RL' | 'H';
20
+ style?: {
21
+ backgroundColor?: string;
22
+ palette?: string[];
23
+ };
24
+ }
25
+ /**
26
+ * IndentedTreeInstance represents a chart instance with render and destroy methods.
27
+ */
28
+ export interface IndentedTreeInstance {
29
+ render: (config: IndentedTreeConfig) => void;
30
+ destroy: () => void;
31
+ zoomTo: (zoom: number) => void;
32
+ getZoom: () => number | undefined;
33
+ }
34
+ /**
35
+ * IndentedTree — G6 5 indented layout for static DSL trees (no collapse/add UI).
36
+ * Uses built-in `rect` nodes and `line` edges. Tree edges must have explicit ids (see render) to avoid
37
+ * colliding with path-based node ids under G6's default `${source}-${target}` edge id rule.
38
+ * Based on: https://g6.antv.antgroup.com/examples/scene-case/tree-graph#indented-tree
39
+ */
40
+ export declare const IndentedTree: (options: VisualizationOptions) => IndentedTreeInstance;