返回 presentation-ai
antv-templates.ts
根目录 / src / constants / antv-templates.ts
1 // Base template list
2 export const templates = [
3 "chart-bar-plain-text",
4 "chart-column-simple",
5 "chart-line-plain-text",
6 "chart-pie-compact-card",
7 "chart-pie-donut-compact-card",
8 "chart-pie-donut-pill-badge",
9 "chart-pie-donut-plain-text",
10 "chart-pie-pill-badge",
11 "chart-pie-plain-text",
12 "chart-wordcloud",
13 "chart-wordcloud-rotate",
14 "compare-binary-horizontal-badge-card-arrow",
15 "compare-binary-horizontal-badge-card-fold",
16 "compare-binary-horizontal-badge-card-vs",
17 "compare-binary-horizontal-compact-card-arrow",
18 "compare-binary-horizontal-compact-card-fold",
19 "compare-binary-horizontal-compact-card-vs",
20 "compare-binary-horizontal-simple-arrow",
21 "compare-binary-horizontal-simple-fold",
22 "compare-binary-horizontal-simple-vs",
23 "compare-binary-horizontal-underline-text-arrow",
24 "compare-binary-horizontal-underline-text-fold",
25 "compare-binary-horizontal-underline-text-vs",
26 "compare-hierarchy-left-right-circle-node-pill-badge",
27 "compare-hierarchy-left-right-circle-node-plain-text",
28 "compare-hierarchy-row-letter-card-compact-card",
29 "compare-hierarchy-row-letter-card-rounded-rect-node",
30 "compare-swot",
31 "hierarchy-mindmap-branch-gradient-capsule-item",
32 "hierarchy-mindmap-branch-gradient-circle-progress",
33 "hierarchy-mindmap-branch-gradient-compact-card",
34 "hierarchy-mindmap-branch-gradient-lined-palette",
35 "hierarchy-mindmap-branch-gradient-rounded-rect",
36 "hierarchy-mindmap-level-gradient-capsule-item",
37 "hierarchy-mindmap-level-gradient-circle-progress",
38 "hierarchy-mindmap-level-gradient-compact-card",
39 "hierarchy-mindmap-level-gradient-lined-palette",
40 "hierarchy-mindmap-level-gradient-rounded-rect",
41 "hierarchy-structure",
42 "hierarchy-structure-mirror",
43 "hierarchy-tree-bt-curved-line-badge-card",
44 "hierarchy-tree-bt-curved-line-capsule-item",
45 "hierarchy-tree-bt-curved-line-compact-card",
46 "hierarchy-tree-bt-curved-line-ribbon-card",
47 "hierarchy-tree-bt-curved-line-rounded-rect-node",
48 "hierarchy-tree-bt-dashed-arrow-badge-card",
49 "hierarchy-tree-bt-dashed-arrow-capsule-item",
50 "hierarchy-tree-bt-dashed-arrow-compact-card",
51 "hierarchy-tree-bt-dashed-arrow-ribbon-card",
52 "hierarchy-tree-bt-dashed-arrow-rounded-rect-node",
53 "hierarchy-tree-bt-dashed-line-badge-card",
54 "hierarchy-tree-bt-dashed-line-capsule-item",
55 "hierarchy-tree-bt-dashed-line-compact-card",
56 "hierarchy-tree-bt-dashed-line-ribbon-card",
57 "hierarchy-tree-bt-dashed-line-rounded-rect-node",
58 "hierarchy-tree-bt-distributed-origin-badge-card",
59 "hierarchy-tree-bt-distributed-origin-capsule-item",
60 "hierarchy-tree-bt-distributed-origin-compact-card",
61 "hierarchy-tree-bt-distributed-origin-ribbon-card",
62 "hierarchy-tree-bt-distributed-origin-rounded-rect-node",
63 "hierarchy-tree-bt-tech-style-badge-card",
64 "hierarchy-tree-bt-tech-style-capsule-item",
65 "hierarchy-tree-bt-tech-style-compact-card",
66 "hierarchy-tree-bt-tech-style-ribbon-card",
67 "hierarchy-tree-bt-tech-style-rounded-rect-node",
68 "hierarchy-tree-curved-line-badge-card",
69 "hierarchy-tree-curved-line-capsule-item",
70 "hierarchy-tree-curved-line-compact-card",
71 "hierarchy-tree-curved-line-ribbon-card",
72 "hierarchy-tree-curved-line-rounded-rect-node",
73 "hierarchy-tree-dashed-arrow-badge-card",
74 "hierarchy-tree-dashed-arrow-capsule-item",
75 "hierarchy-tree-dashed-arrow-compact-card",
76 "hierarchy-tree-dashed-arrow-ribbon-card",
77 "hierarchy-tree-dashed-arrow-rounded-rect-node",
78 "hierarchy-tree-dashed-line-badge-card",
79 "hierarchy-tree-dashed-line-capsule-item",
80 "hierarchy-tree-dashed-line-compact-card",
81 "hierarchy-tree-dashed-line-ribbon-card",
82 "hierarchy-tree-dashed-line-rounded-rect-node",
83 "hierarchy-tree-distributed-origin-badge-card",
84 "hierarchy-tree-distributed-origin-capsule-item",
85 "hierarchy-tree-distributed-origin-compact-card",
86 "hierarchy-tree-distributed-origin-ribbon-card",
87 "hierarchy-tree-distributed-origin-rounded-rect-node",
88 "hierarchy-tree-lr-curved-line-badge-card",
89 "hierarchy-tree-lr-curved-line-capsule-item",
90 "hierarchy-tree-lr-curved-line-compact-card",
91 "hierarchy-tree-lr-curved-line-ribbon-card",
92 "hierarchy-tree-lr-curved-line-rounded-rect-node",
93 "hierarchy-tree-lr-dashed-arrow-badge-card",
94 "hierarchy-tree-lr-dashed-arrow-capsule-item",
95 "hierarchy-tree-lr-dashed-arrow-compact-card",
96 "hierarchy-tree-lr-dashed-arrow-ribbon-card",
97 "hierarchy-tree-lr-dashed-arrow-rounded-rect-node",
98 "hierarchy-tree-lr-dashed-line-badge-card",
99 "hierarchy-tree-lr-dashed-line-capsule-item",
100 "hierarchy-tree-lr-dashed-line-compact-card",
101 "hierarchy-tree-lr-dashed-line-ribbon-card",
102 "hierarchy-tree-lr-dashed-line-rounded-rect-node",
103 "hierarchy-tree-lr-distributed-origin-badge-card",
104 "hierarchy-tree-lr-distributed-origin-capsule-item",
105 "hierarchy-tree-lr-distributed-origin-compact-card",
106 "hierarchy-tree-lr-distributed-origin-ribbon-card",
107 "hierarchy-tree-lr-distributed-origin-rounded-rect-node",
108 "hierarchy-tree-lr-tech-style-badge-card",
109 "hierarchy-tree-lr-tech-style-capsule-item",
110 "hierarchy-tree-lr-tech-style-compact-card",
111 "hierarchy-tree-lr-tech-style-ribbon-card",
112 "hierarchy-tree-lr-tech-style-rounded-rect-node",
113 "hierarchy-tree-rl-curved-line-badge-card",
114 "hierarchy-tree-rl-curved-line-capsule-item",
115 "hierarchy-tree-rl-curved-line-compact-card",
116 "hierarchy-tree-rl-curved-line-ribbon-card",
117 "hierarchy-tree-rl-curved-line-rounded-rect-node",
118 "hierarchy-tree-rl-dashed-arrow-badge-card",
119 "hierarchy-tree-rl-dashed-arrow-capsule-item",
120 "hierarchy-tree-rl-dashed-arrow-compact-card",
121 "hierarchy-tree-rl-dashed-arrow-ribbon-card",
122 "hierarchy-tree-rl-dashed-arrow-rounded-rect-node",
123 "hierarchy-tree-rl-dashed-line-badge-card",
124 "hierarchy-tree-rl-dashed-line-capsule-item",
125 "hierarchy-tree-rl-dashed-line-compact-card",
126 "hierarchy-tree-rl-dashed-line-ribbon-card",
127 "hierarchy-tree-rl-dashed-line-rounded-rect-node",
128 "hierarchy-tree-rl-distributed-origin-badge-card",
129 "hierarchy-tree-rl-distributed-origin-capsule-item",
130 "hierarchy-tree-rl-distributed-origin-compact-card",
131 "hierarchy-tree-rl-distributed-origin-ribbon-card",
132 "hierarchy-tree-rl-distributed-origin-rounded-rect-node",
133 "hierarchy-tree-rl-tech-style-badge-card",
134 "hierarchy-tree-rl-tech-style-capsule-item",
135 "hierarchy-tree-rl-tech-style-compact-card",
136 "hierarchy-tree-rl-tech-style-ribbon-card",
137 "hierarchy-tree-rl-tech-style-rounded-rect-node",
138 "hierarchy-tree-tech-style-badge-card",
139 "hierarchy-tree-tech-style-capsule-item",
140 "hierarchy-tree-tech-style-compact-card",
141 "hierarchy-tree-tech-style-ribbon-card",
142 "hierarchy-tree-tech-style-rounded-rect-node",
143 "list-column-done-list",
144 "list-column-simple-vertical-arrow",
145 "list-column-vertical-icon-arrow",
146 "list-grid-badge-card",
147 "list-grid-candy-card-lite",
148 "list-grid-circular-progress",
149 "list-grid-compact-card",
150 "list-grid-done-list",
151 "list-grid-horizontal-icon-arrow",
152 "list-grid-progress-card",
153 "list-grid-ribbon-card",
154 "list-grid-simple",
155 "list-pyramid-badge-card",
156 "list-pyramid-compact-card",
157 "list-pyramid-rounded-rect-node",
158 "list-row-circular-progress",
159 "list-row-horizontal-icon-arrow",
160 "list-row-horizontal-icon-line",
161 "list-row-simple-horizontal-arrow",
162 "list-row-simple-illus",
163 "list-sector-half-plain-text",
164 "list-sector-plain-text",
165 "list-sector-simple",
166 "list-zigzag-down-compact-card",
167 "list-zigzag-down-simple",
168 "list-zigzag-up-compact-card",
169 "list-zigzag-up-simple",
170 "quadrant-quarter-circular",
171 "quadrant-quarter-simple-card",
172 "quadrant-simple-illus",
173 "relation-circle-circular-progress",
174 "relation-circle-icon-badge",
175 "relation-dagre-flow-lr-animated-badge-card",
176 "relation-dagre-flow-lr-animated-capsule",
177 "relation-dagre-flow-lr-animated-compact-card",
178 "relation-dagre-flow-lr-animated-simple-circle-node",
179 "relation-dagre-flow-lr-badge-card",
180 "relation-dagre-flow-lr-compact-card",
181 "relation-dagre-flow-lr-simple-circle-node",
182 "relation-dagre-flow-tb-animated-badge-card",
183 "relation-dagre-flow-tb-animated-capsule",
184 "relation-dagre-flow-tb-animated-compact-card",
185 "relation-dagre-flow-tb-animated-simple-circle-node",
186 "relation-dagre-flow-tb-badge-card",
187 "relation-dagre-flow-tb-compact-card",
188 "relation-dagre-flow-tb-simple-circle-node",
189 "sequence-ascending-stairs-3d-simple",
190 "sequence-ascending-stairs-3d-underline-text",
191 "sequence-ascending-steps",
192 "sequence-circle-arrows-indexed-card",
193 "sequence-circular-simple",
194 "sequence-circular-underline-text",
195 "sequence-color-snake-steps-horizontal-icon-line",
196 "sequence-color-snake-steps-simple-illus",
197 "sequence-cylinders-3d-simple",
198 "sequence-filter-mesh-simple",
199 "sequence-filter-mesh-underline-text",
200 "sequence-funnel-simple",
201 "sequence-horizontal-zigzag-horizontal-icon-line",
202 "sequence-horizontal-zigzag-plain-text",
203 "sequence-horizontal-zigzag-simple",
204 "sequence-horizontal-zigzag-simple-horizontal-arrow",
205 "sequence-horizontal-zigzag-simple-illus",
206 "sequence-horizontal-zigzag-underline-text",
207 "sequence-mountain-underline-text",
208 "sequence-pyramid-simple",
209 "sequence-roadmap-vertical-badge-card",
210 "sequence-roadmap-vertical-pill-badge",
211 "sequence-roadmap-vertical-plain-text",
212 "sequence-roadmap-vertical-quarter-circular",
213 "sequence-roadmap-vertical-quarter-simple-card",
214 "sequence-roadmap-vertical-simple",
215 "sequence-roadmap-vertical-underline-text",
216 "sequence-snake-steps-compact-card",
217 "sequence-snake-steps-pill-badge",
218 "sequence-snake-steps-simple",
219 "sequence-snake-steps-simple-illus",
220 "sequence-snake-steps-underline-text",
221 "sequence-stairs-front-compact-card",
222 "sequence-stairs-front-pill-badge",
223 "sequence-stairs-front-simple",
224 "sequence-steps-badge-card",
225 "sequence-steps-simple",
226 "sequence-steps-simple-illus",
227 "sequence-timeline-done-list",
228 "sequence-timeline-plain-text",
229 "sequence-timeline-rounded-rect-node",
230 "sequence-timeline-simple",
231 "sequence-timeline-simple-illus",
232 "sequence-zigzag-pucks-3d-indexed-card",
233 "sequence-zigzag-pucks-3d-simple",
234 "sequence-zigzag-pucks-3d-underline-text",
235 "sequence-zigzag-steps-underline-text",
236 ];
237
238 // ============================================================================
239 // SIMPLE CATEGORY STRUCTURE - 7 main categories only
240 // ============================================================================
241
242 export interface InfographicCategory {
243 key: string;
244 name: string;
245 templates: string[]; // Template IDs
246 dataField: InfographicDataField;
247 }
248
249 export type InfographicDataField =
250 | "items"
251 | "root"
252 | "nodes"
253 | "values"
254 | "compares"
255 | "lists"
256 | "sequences";
257
258 // Simple 7 categories matching the reference image
259 export const INFOGRAPHIC_CATEGORIES: InfographicCategory[] = [
260 {
261 key: "chart",
262 name: "Chart",
263 templates: templates.filter((t) => t.startsWith("chart-")),
264 dataField: "items",
265 },
266 {
267 key: "compare",
268 name: "Comparison",
269 templates: templates.filter((t) => t.startsWith("compare-")),
270 dataField: "compares",
271 },
272 {
273 key: "hierarchy",
274 name: "Hierarchy",
275 templates: templates.filter((t) => t.startsWith("hierarchy-")),
276 dataField: "root",
277 },
278 {
279 key: "list",
280 name: "List",
281 templates: templates.filter((t) => t.startsWith("list-")),
282 dataField: "items",
283 },
284 {
285 key: "quadrant",
286 name: "Quadrant",
287 templates: templates.filter((t) => t.startsWith("quadrant-")),
288 dataField: "items",
289 },
290 {
291 key: "relation",
292 name: "Relation",
293 templates: templates.filter((t) => t.startsWith("relation-")),
294 dataField: "items",
295 },
296 {
297 key: "sequence",
298 name: "Sequence",
299 templates: templates.filter((t) => t.startsWith("sequence-")),
300 dataField: "items",
301 },
302 ];
303
304 // Get category for a template ID
305 export function getTemplateCategory(
306 templateId: string,
307 ): InfographicCategory | undefined {
308 return INFOGRAPHIC_CATEGORIES.find((cat) =>
309 cat.templates.includes(templateId),
310 );
311 }
312
312 lines TYPESCRIPT