dishui 0.0.45 → 0.0.46
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/dist/chart.js +46 -0
- package/dist/components/Chart/Chart.d.ts +17 -0
- package/dist/components/Chart/Chart.js +29 -0
- package/dist/components/Chart/Chart.js.map +1 -0
- package/dist/components/Chart/index.d.ts +15 -0
- package/dist/components/Input/index.js +2 -2
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/Select/index.js +1 -1
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/pro/Flow/Flow.js +492 -392
- package/dist/components/pro/Flow/Flow.js.map +1 -1
- package/dist/components/pro/Flow/FlowCanvas.js +895 -864
- package/dist/components/pro/Flow/FlowCanvas.js.map +1 -1
- package/dist/components/pro/Flow/context/FlowUIContext.d.ts +2 -0
- package/dist/components/pro/Flow/context/FlowUIContext.js +68 -65
- package/dist/components/pro/Flow/context/FlowUIContext.js.map +1 -1
- package/dist/components/pro/Flow/edges/edgePaths.js +234 -216
- package/dist/components/pro/Flow/edges/edgePaths.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js +21 -10
- package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useMindMap.js +138 -134
- package/dist/components/pro/Flow/hooks/useMindMap.js.map +1 -1
- package/dist/components/pro/Flow/index.d.ts +1 -1
- package/dist/components/pro/Flow/nodes/MediaContent.js +47 -25
- package/dist/components/pro/Flow/nodes/MediaContent.js.map +1 -1
- package/dist/components/pro/Flow/nodes/Model3DView.d.ts +7 -0
- package/dist/components/pro/Flow/nodes/Model3DView.js +118 -0
- package/dist/components/pro/Flow/nodes/Model3DView.js.map +1 -0
- package/dist/components/pro/Flow/nodes/NodeHandles.d.ts +2 -1
- package/dist/components/pro/Flow/nodes/NodeHandles.js +4 -2
- package/dist/components/pro/Flow/nodes/NodeHandles.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeRenderer.d.ts +2 -0
- package/dist/components/pro/Flow/nodes/NodeRenderer.js +115 -113
- package/dist/components/pro/Flow/nodes/NodeRenderer.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeText.d.ts +3 -0
- package/dist/components/pro/Flow/nodes/NodeText.js +26 -17
- package/dist/components/pro/Flow/nodes/NodeText.js.map +1 -1
- package/dist/components/pro/Flow/panels/FlowToolbar.js +85 -79
- package/dist/components/pro/Flow/panels/FlowToolbar.js.map +1 -1
- package/dist/components/pro/Flow/panels/InspectorPanel.js +618 -488
- package/dist/components/pro/Flow/panels/InspectorPanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/OutlinePanel.js +15 -15
- package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/ShapePalette.js +71 -55
- package/dist/components/pro/Flow/panels/ShapePalette.js.map +1 -1
- package/dist/components/pro/Flow/panels/toolbarIcons.d.ts +1 -0
- package/dist/components/pro/Flow/panels/toolbarIcons.js +59 -41
- package/dist/components/pro/Flow/panels/toolbarIcons.js.map +1 -1
- package/dist/components/pro/Flow/types.d.ts +13 -4
- package/dist/components/pro/Flow/types.js.map +1 -1
- package/dist/dishui.css +1 -1
- package/dist/index-nostyled.d.ts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +145 -143
- package/dist/utils/i18n.d.ts +1 -0
- package/dist/utils/i18n.js +200 -6
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/menu.js +26 -10
- package/dist/utils/menu.js.map +1 -1
- package/package.json +14 -3
|
@@ -12,16 +12,33 @@ var t = {
|
|
|
12
12
|
}, o = () => /* @__PURE__ */ h("svg", {
|
|
13
13
|
...t,
|
|
14
14
|
"aria-hidden": "true",
|
|
15
|
-
children: [
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ r("circle", {
|
|
17
|
+
cx: "12",
|
|
18
|
+
cy: "12",
|
|
19
|
+
r: "6"
|
|
20
|
+
}),
|
|
21
|
+
/* @__PURE__ */ r("circle", {
|
|
22
|
+
cx: "12",
|
|
23
|
+
cy: "12",
|
|
24
|
+
r: "2"
|
|
25
|
+
}),
|
|
26
|
+
/* @__PURE__ */ r("path", { d: "M4 12H2M22 12h-2M12 4V2M12 22v-2" }),
|
|
27
|
+
/* @__PURE__ */ r("path", { d: "M17.5 5.5l1-1M5.5 17.5l-1 1" })
|
|
28
|
+
]
|
|
16
29
|
}), v = () => /* @__PURE__ */ h("svg", {
|
|
17
30
|
...t,
|
|
18
31
|
"aria-hidden": "true",
|
|
19
|
-
children: [/* @__PURE__ */ r("path", { d: "
|
|
32
|
+
children: [/* @__PURE__ */ r("path", { d: "M19 12H5" }), /* @__PURE__ */ r("path", { d: "M11 18l-6-6 6-6" })]
|
|
20
33
|
}), l = () => /* @__PURE__ */ h("svg", {
|
|
34
|
+
...t,
|
|
35
|
+
"aria-hidden": "true",
|
|
36
|
+
children: [/* @__PURE__ */ r("path", { d: "M9 14L4 9l5-5" }), /* @__PURE__ */ r("path", { d: "M4 9h11a5 5 0 0 1 0 10h-4" })]
|
|
37
|
+
}), M = () => /* @__PURE__ */ h("svg", {
|
|
21
38
|
...t,
|
|
22
39
|
"aria-hidden": "true",
|
|
23
40
|
children: [/* @__PURE__ */ r("path", { d: "M15 14l5-5-5-5" }), /* @__PURE__ */ r("path", { d: "M20 9H9a5 5 0 0 0 0 10h4" })]
|
|
24
|
-
}),
|
|
41
|
+
}), x = () => /* @__PURE__ */ h("svg", {
|
|
25
42
|
...t,
|
|
26
43
|
"aria-hidden": "true",
|
|
27
44
|
children: [
|
|
@@ -44,7 +61,7 @@ var t = {
|
|
|
44
61
|
strokeDasharray: "2 2"
|
|
45
62
|
})
|
|
46
63
|
]
|
|
47
|
-
}),
|
|
64
|
+
}), g = () => /* @__PURE__ */ h("svg", {
|
|
48
65
|
...t,
|
|
49
66
|
"aria-hidden": "true",
|
|
50
67
|
children: [
|
|
@@ -71,7 +88,7 @@ var t = {
|
|
|
71
88
|
rx: "0.5"
|
|
72
89
|
})
|
|
73
90
|
]
|
|
74
|
-
}),
|
|
91
|
+
}), p = () => /* @__PURE__ */ h("svg", {
|
|
75
92
|
...t,
|
|
76
93
|
"aria-hidden": "true",
|
|
77
94
|
children: [
|
|
@@ -91,7 +108,7 @@ var t = {
|
|
|
91
108
|
}),
|
|
92
109
|
/* @__PURE__ */ r("path", { d: "M14 5h5M17 3v4" })
|
|
93
110
|
]
|
|
94
|
-
}),
|
|
111
|
+
}), s = ({ kind: e }) => e === "left" || e === "center-h" || e === "right" ? /* @__PURE__ */ h("svg", {
|
|
95
112
|
...t,
|
|
96
113
|
"aria-hidden": "true",
|
|
97
114
|
children: [
|
|
@@ -163,7 +180,7 @@ var t = {
|
|
|
163
180
|
height: "4"
|
|
164
181
|
})
|
|
165
182
|
] })
|
|
166
|
-
}),
|
|
183
|
+
}), u = () => /* @__PURE__ */ h("svg", {
|
|
167
184
|
...t,
|
|
168
185
|
"aria-hidden": "true",
|
|
169
186
|
children: [/* @__PURE__ */ r("circle", {
|
|
@@ -171,7 +188,7 @@ var t = {
|
|
|
171
188
|
cy: "11",
|
|
172
189
|
r: "7"
|
|
173
190
|
}), /* @__PURE__ */ r("path", { d: "M21 21l-4.3-4.3M8 11h6" })]
|
|
174
|
-
}),
|
|
191
|
+
}), y = () => /* @__PURE__ */ h("svg", {
|
|
175
192
|
...t,
|
|
176
193
|
"aria-hidden": "true",
|
|
177
194
|
children: [/* @__PURE__ */ r("circle", {
|
|
@@ -179,7 +196,7 @@ var t = {
|
|
|
179
196
|
cy: "11",
|
|
180
197
|
r: "7"
|
|
181
198
|
}), /* @__PURE__ */ r("path", { d: "M21 21l-4.3-4.3M11 8v6M8 11h6" })]
|
|
182
|
-
}),
|
|
199
|
+
}), I = () => /* @__PURE__ */ h("svg", {
|
|
183
200
|
...t,
|
|
184
201
|
"aria-hidden": "true",
|
|
185
202
|
children: [/* @__PURE__ */ r("path", { d: "M4 9V5a1 1 0 0 1 1-1h4M15 4h4a1 1 0 0 1 1 1v4M20 15v4a1 1 0 0 1-1 1h-4M9 20H5a1 1 0 0 1-1-1v-4" }), /* @__PURE__ */ r("rect", {
|
|
@@ -207,7 +224,7 @@ var t = {
|
|
|
207
224
|
}),
|
|
208
225
|
/* @__PURE__ */ r("path", { d: "M13 21l4-7 4 7z" })
|
|
209
226
|
]
|
|
210
|
-
}),
|
|
227
|
+
}), m = () => /* @__PURE__ */ h("svg", {
|
|
211
228
|
...t,
|
|
212
229
|
"aria-hidden": "true",
|
|
213
230
|
children: [/* @__PURE__ */ r("circle", {
|
|
@@ -215,15 +232,15 @@ var t = {
|
|
|
215
232
|
cy: "12",
|
|
216
233
|
r: "3"
|
|
217
234
|
}), /* @__PURE__ */ r("path", { d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z" })]
|
|
218
|
-
}),
|
|
235
|
+
}), f = () => /* @__PURE__ */ r("svg", {
|
|
219
236
|
...t,
|
|
220
237
|
"aria-hidden": "true",
|
|
221
238
|
children: /* @__PURE__ */ r("path", { d: "M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01" })
|
|
222
|
-
}),
|
|
239
|
+
}), b = () => /* @__PURE__ */ h("svg", {
|
|
223
240
|
...t,
|
|
224
241
|
"aria-hidden": "true",
|
|
225
242
|
children: [/* @__PURE__ */ r("path", { d: "M8 4H7a2 2 0 0 0-2 2v3a2 2 0 0 1-2 2 2 2 0 0 1 2 2v3a2 2 0 0 0 2 2h1" }), /* @__PURE__ */ r("path", { d: "M16 4h1a2 2 0 0 1 2 2v3a2 2 0 0 0 2 2 2 2 0 0 0-2 2v3a2 2 0 0 1-2 2h-1" })]
|
|
226
|
-
}),
|
|
243
|
+
}), H = () => /* @__PURE__ */ h("svg", {
|
|
227
244
|
...t,
|
|
228
245
|
"aria-hidden": "true",
|
|
229
246
|
children: [/* @__PURE__ */ r("rect", {
|
|
@@ -233,7 +250,7 @@ var t = {
|
|
|
233
250
|
height: "18",
|
|
234
251
|
rx: "2"
|
|
235
252
|
}), /* @__PURE__ */ r("path", { d: "M9 3v18M15 3v18M3 9h18M3 15h18" })]
|
|
236
|
-
}),
|
|
253
|
+
}), V = () => /* @__PURE__ */ h("svg", {
|
|
237
254
|
...t,
|
|
238
255
|
"aria-hidden": "true",
|
|
239
256
|
children: [/* @__PURE__ */ r("rect", {
|
|
@@ -249,7 +266,7 @@ var t = {
|
|
|
249
266
|
height: "6",
|
|
250
267
|
rx: "1"
|
|
251
268
|
})]
|
|
252
|
-
}),
|
|
269
|
+
}), z = () => /* @__PURE__ */ h("svg", {
|
|
253
270
|
...t,
|
|
254
271
|
"aria-hidden": "true",
|
|
255
272
|
children: [
|
|
@@ -257,7 +274,7 @@ var t = {
|
|
|
257
274
|
/* @__PURE__ */ r("path", { d: "M8 11l4 4 4-4" }),
|
|
258
275
|
/* @__PURE__ */ r("path", { d: "M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2" })
|
|
259
276
|
]
|
|
260
|
-
}),
|
|
277
|
+
}), A = () => /* @__PURE__ */ h("svg", {
|
|
261
278
|
...t,
|
|
262
279
|
"aria-hidden": "true",
|
|
263
280
|
children: [
|
|
@@ -265,11 +282,11 @@ var t = {
|
|
|
265
282
|
/* @__PURE__ */ r("path", { d: "M8 7l4-4 4 4" }),
|
|
266
283
|
/* @__PURE__ */ r("path", { d: "M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2" })
|
|
267
284
|
]
|
|
268
|
-
}),
|
|
285
|
+
}), G = () => /* @__PURE__ */ h("svg", {
|
|
269
286
|
...t,
|
|
270
287
|
"aria-hidden": "true",
|
|
271
288
|
children: [/* @__PURE__ */ r("path", { d: "M22 2 11 13" }), /* @__PURE__ */ r("path", { d: "M22 2 15 22l-4-9-9-4 20-7z" })]
|
|
272
|
-
}),
|
|
289
|
+
}), L = () => /* @__PURE__ */ h("svg", {
|
|
273
290
|
...t,
|
|
274
291
|
"aria-hidden": "true",
|
|
275
292
|
children: [
|
|
@@ -288,7 +305,7 @@ var t = {
|
|
|
288
305
|
/* @__PURE__ */ r("path", { d: "M4 17l5-5 3 3 2-2 6 6" }),
|
|
289
306
|
/* @__PURE__ */ r("path", { d: "M16 3v7m-3-3 3 3 3-3" })
|
|
290
307
|
]
|
|
291
|
-
}),
|
|
308
|
+
}), j = ({ visible: e = !0 }) => /* @__PURE__ */ h("svg", {
|
|
292
309
|
...t,
|
|
293
310
|
"aria-hidden": "true",
|
|
294
311
|
children: [
|
|
@@ -309,7 +326,7 @@ var t = {
|
|
|
309
326
|
}),
|
|
310
327
|
e ? /* @__PURE__ */ r("path", { d: "M2 12s3.5-5 10-5 10 5 10 5-3.5 5-10 5S2 12 2 12zM12 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4z" }) : /* @__PURE__ */ r("path", { d: "M3 3l18 18" })
|
|
311
328
|
]
|
|
312
|
-
}),
|
|
329
|
+
}), C = () => /* @__PURE__ */ h("svg", {
|
|
313
330
|
...t,
|
|
314
331
|
"aria-hidden": "true",
|
|
315
332
|
children: [
|
|
@@ -329,28 +346,29 @@ var t = {
|
|
|
329
346
|
]
|
|
330
347
|
});
|
|
331
348
|
export {
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
o as
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
+
s as IconAlign,
|
|
350
|
+
j as IconAnchorVisible,
|
|
351
|
+
o as IconAutoFocus,
|
|
352
|
+
v as IconBack,
|
|
353
|
+
A as IconExport,
|
|
354
|
+
L as IconExportImage,
|
|
355
|
+
I as IconFitView,
|
|
356
|
+
g as IconGeoGroup,
|
|
357
|
+
H as IconGrid,
|
|
358
|
+
x as IconGroup,
|
|
359
|
+
z as IconImport,
|
|
360
|
+
m as IconInspector,
|
|
361
|
+
b as IconJson,
|
|
362
|
+
V as IconMiniMap,
|
|
363
|
+
f as IconOutline,
|
|
364
|
+
C as IconPresent,
|
|
365
|
+
G as IconPublish,
|
|
366
|
+
M as IconRedo,
|
|
349
367
|
w as IconShapes,
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
368
|
+
l as IconUndo,
|
|
369
|
+
p as IconUngroup,
|
|
370
|
+
y as IconZoomIn,
|
|
371
|
+
u as IconZoomOut
|
|
354
372
|
};
|
|
355
373
|
|
|
356
374
|
//# sourceMappingURL=toolbarIcons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbarIcons.js","names":[],"sources":["../../../../../src/components/pro/Flow/panels/toolbarIcons.tsx"],"sourcesContent":["import React from 'react';\n\n/**\n * Toolbar icon set for the Flow editor.\n * Compact 20x20 stroke icons that inherit `currentColor`, so they follow the\n * button's variant (primary/ghost) automatically.\n */\n\nconst base = {\n width: 18,\n height: 18,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round' as const,\n strokeLinejoin: 'round' as const,\n};\n\nexport const IconSelect: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M4 3l7 17 2.5-6.5L20 11 4 3z\" />\n </svg>\n);\n\n\nexport const IconBack: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M19 12H5\" />\n <path d=\"M11 18l-6-6 6-6\" />\n </svg>\n);\n\nexport const IconUndo: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M9 14L4 9l5-5\" />\n <path d=\"M4 9h11a5 5 0 0 1 0 10h-4\" />\n </svg>\n);\n\nexport const IconRedo: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M15 14l5-5-5-5\" />\n <path d=\"M20 9H9a5 5 0 0 0 0 10h4\" />\n </svg>\n);\n\nexport const IconGroup: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"3\" width=\"8\" height=\"8\" rx=\"1\" />\n <rect x=\"13\" y=\"13\" width=\"8\" height=\"8\" rx=\"1\" />\n <path d=\"M13 6h4a1 1 0 0 1 1 1v4\" strokeDasharray=\"2 2\" />\n </svg>\n);\n\nexport const IconGeoGroup: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" strokeDasharray=\"3 3\" />\n <rect x=\"7\" y=\"7\" width=\"4\" height=\"4\" rx=\"0.5\" />\n <rect x=\"13\" y=\"13\" width=\"4\" height=\"4\" rx=\"0.5\" />\n </svg>\n);\n\nexport const IconUngroup: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" />\n <rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" />\n <path d=\"M14 5h5M17 3v4\" />\n </svg>\n);\n\nexport type AlignIconKind = 'left' | 'center-h' | 'right' | 'top' | 'center-v' | 'bottom' | 'distribute-h' | 'distribute-v';\n\nexport const IconAlign: React.FC<{ kind: AlignIconKind }> = ({ kind }) => {\n const vertical = kind === 'left' || kind === 'center-h' || kind === 'right';\n if (vertical) {\n const x = kind === 'left' ? 5 : kind === 'right' ? 19 : 12;\n return (\n <svg {...base} aria-hidden=\"true\">\n <path d={`M${x} 3v18`} />\n <rect x={kind === 'left' ? 5 : kind === 'right' ? 10 : 7} y=\"5\" width=\"9\" height=\"4\" rx=\"0.5\" />\n <rect x={kind === 'left' ? 5 : kind === 'right' ? 5 : 4} y=\"14\" width=\"14\" height=\"4\" rx=\"0.5\" />\n </svg>\n );\n }\n if (kind === 'top' || kind === 'center-v' || kind === 'bottom') {\n const y = kind === 'top' ? 5 : kind === 'bottom' ? 19 : 12;\n return (\n <svg {...base} aria-hidden=\"true\">\n <path d={`M3 ${y}h18`} />\n <rect x=\"5\" y={kind === 'top' ? 5 : kind === 'bottom' ? 10 : 7} width=\"4\" height=\"9\" rx=\"0.5\" />\n <rect x=\"14\" y={kind === 'top' ? 5 : kind === 'bottom' ? 5 : 4} width=\"4\" height=\"14\" rx=\"0.5\" />\n </svg>\n );\n }\n return (\n <svg {...base} aria-hidden=\"true\">\n {kind === 'distribute-h' ? (\n <><path d=\"M3 3v18M21 3v18\" /><rect x=\"6\" y=\"7\" width=\"4\" height=\"10\" /><rect x=\"14\" y=\"7\" width=\"4\" height=\"10\" /></>\n ) : (\n <><path d=\"M3 3h18M3 21h18\" /><rect x=\"7\" y=\"6\" width=\"10\" height=\"4\" /><rect x=\"7\" y=\"14\" width=\"10\" height=\"4\" /></>\n )}\n </svg>\n );\n};\n\nexport const IconZoomOut: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"7\" />\n <path d=\"M21 21l-4.3-4.3M8 11h6\" />\n </svg>\n);\n\nexport const IconZoomIn: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"7\" />\n <path d=\"M21 21l-4.3-4.3M11 8v6M8 11h6\" />\n </svg>\n);\n\nexport const IconFitView: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M4 9V5a1 1 0 0 1 1-1h4M15 4h4a1 1 0 0 1 1 1v4M20 15v4a1 1 0 0 1-1 1h-4M9 20H5a1 1 0 0 1-1-1v-4\" />\n <rect x=\"9\" y=\"9\" width=\"6\" height=\"6\" rx=\"1\" />\n </svg>\n);\n\nexport const IconShapes: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"13\" width=\"8\" height=\"8\" rx=\"1\" />\n <circle cx=\"17\" cy=\"7\" r=\"4\" />\n <path d=\"M13 21l4-7 4 7z\" />\n </svg>\n);\n\nexport const IconInspector: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\" />\n </svg>\n);\n\nexport const IconOutline: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01\" />\n </svg>\n);\n\nexport const IconJson: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M8 4H7a2 2 0 0 0-2 2v3a2 2 0 0 1-2 2 2 2 0 0 1 2 2v3a2 2 0 0 0 2 2h1\" />\n <path d=\"M16 4h1a2 2 0 0 1 2 2v3a2 2 0 0 0 2 2 2 2 0 0 0-2 2v3a2 2 0 0 1-2 2h-1\" />\n </svg>\n);\n\nexport const IconGrid: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <path d=\"M9 3v18M15 3v18M3 9h18M3 15h18\" />\n </svg>\n);\n\nexport const IconMiniMap: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\" />\n <rect x=\"13\" y=\"12\" width=\"6\" height=\"6\" rx=\"1\" />\n </svg>\n);\n\nexport const IconImport: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M12 3v12\" />\n <path d=\"M8 11l4 4 4-4\" />\n <path d=\"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2\" />\n </svg>\n);\n\nexport const IconExport: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M12 15V3\" />\n <path d=\"M8 7l4-4 4 4\" />\n <path d=\"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2\" />\n </svg>\n);\n\nexport const IconPublish: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M22 2 11 13\" />\n <path d=\"M22 2 15 22l-4-9-9-4 20-7z\" />\n </svg>\n);\n\nexport const IconExportImage: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\" />\n <circle cx=\"9\" cy=\"9\" r=\"1.5\" />\n <path d=\"M4 17l5-5 3 3 2-2 6 6\" />\n <path d=\"M16 3v7m-3-3 3 3 3-3\" />\n </svg>\n);\n\nexport const IconAnchorVisible: React.FC<{ visible?: boolean }> = ({ visible = true }) => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"4\" y=\"5\" width=\"16\" height=\"14\" rx=\"2\" strokeDasharray=\"3 2\" />\n <circle cx=\"4\" cy=\"5\" r=\"2\" fill=\"currentColor\" stroke=\"none\" />\n {visible ? (\n <path d=\"M2 12s3.5-5 10-5 10 5 10 5-3.5 5-10 5S2 12 2 12zM12 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\" />\n ) : (\n <path d=\"M3 3l18 18\" />\n )}\n </svg>\n);\n\nexport const IconPresent: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"2\" y=\"4\" width=\"20\" height=\"13\" rx=\"2\" />\n <path d=\"M10 8.5l4.5 2.5L10 13.5z\" fill=\"currentColor\" stroke=\"none\" />\n <path d=\"M12 17v3M8 20h8\" />\n </svg>\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolbarIcons.js","names":[],"sources":["../../../../../src/components/pro/Flow/panels/toolbarIcons.tsx"],"sourcesContent":["import React from 'react';\n\n/**\n * Toolbar icon set for the Flow editor.\n * Compact 20x20 stroke icons that inherit `currentColor`, so they follow the\n * button's variant (primary/ghost) automatically.\n */\n\nconst base = {\n width: 18,\n height: 18,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round' as const,\n strokeLinejoin: 'round' as const,\n};\n\nexport const IconSelect: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M4 3l7 17 2.5-6.5L20 11 4 3z\" />\n </svg>\n);\n\n\nexport const IconAutoFocus: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"6\" />\n <circle cx=\"12\" cy=\"12\" r=\"2\" />\n <path d=\"M4 12H2M22 12h-2M12 4V2M12 22v-2\" />\n <path d=\"M17.5 5.5l1-1M5.5 17.5l-1 1\" />\n </svg>\n);\n\nexport const IconBack: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M19 12H5\" />\n <path d=\"M11 18l-6-6 6-6\" />\n </svg>\n);\n\nexport const IconUndo: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M9 14L4 9l5-5\" />\n <path d=\"M4 9h11a5 5 0 0 1 0 10h-4\" />\n </svg>\n);\n\nexport const IconRedo: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M15 14l5-5-5-5\" />\n <path d=\"M20 9H9a5 5 0 0 0 0 10h4\" />\n </svg>\n);\n\nexport const IconGroup: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"3\" width=\"8\" height=\"8\" rx=\"1\" />\n <rect x=\"13\" y=\"13\" width=\"8\" height=\"8\" rx=\"1\" />\n <path d=\"M13 6h4a1 1 0 0 1 1 1v4\" strokeDasharray=\"2 2\" />\n </svg>\n);\n\nexport const IconGeoGroup: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" strokeDasharray=\"3 3\" />\n <rect x=\"7\" y=\"7\" width=\"4\" height=\"4\" rx=\"0.5\" />\n <rect x=\"13\" y=\"13\" width=\"4\" height=\"4\" rx=\"0.5\" />\n </svg>\n);\n\nexport const IconUngroup: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" />\n <rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" />\n <path d=\"M14 5h5M17 3v4\" />\n </svg>\n);\n\nexport type AlignIconKind = 'left' | 'center-h' | 'right' | 'top' | 'center-v' | 'bottom' | 'distribute-h' | 'distribute-v';\n\nexport const IconAlign: React.FC<{ kind: AlignIconKind }> = ({ kind }) => {\n const vertical = kind === 'left' || kind === 'center-h' || kind === 'right';\n if (vertical) {\n const x = kind === 'left' ? 5 : kind === 'right' ? 19 : 12;\n return (\n <svg {...base} aria-hidden=\"true\">\n <path d={`M${x} 3v18`} />\n <rect x={kind === 'left' ? 5 : kind === 'right' ? 10 : 7} y=\"5\" width=\"9\" height=\"4\" rx=\"0.5\" />\n <rect x={kind === 'left' ? 5 : kind === 'right' ? 5 : 4} y=\"14\" width=\"14\" height=\"4\" rx=\"0.5\" />\n </svg>\n );\n }\n if (kind === 'top' || kind === 'center-v' || kind === 'bottom') {\n const y = kind === 'top' ? 5 : kind === 'bottom' ? 19 : 12;\n return (\n <svg {...base} aria-hidden=\"true\">\n <path d={`M3 ${y}h18`} />\n <rect x=\"5\" y={kind === 'top' ? 5 : kind === 'bottom' ? 10 : 7} width=\"4\" height=\"9\" rx=\"0.5\" />\n <rect x=\"14\" y={kind === 'top' ? 5 : kind === 'bottom' ? 5 : 4} width=\"4\" height=\"14\" rx=\"0.5\" />\n </svg>\n );\n }\n return (\n <svg {...base} aria-hidden=\"true\">\n {kind === 'distribute-h' ? (\n <><path d=\"M3 3v18M21 3v18\" /><rect x=\"6\" y=\"7\" width=\"4\" height=\"10\" /><rect x=\"14\" y=\"7\" width=\"4\" height=\"10\" /></>\n ) : (\n <><path d=\"M3 3h18M3 21h18\" /><rect x=\"7\" y=\"6\" width=\"10\" height=\"4\" /><rect x=\"7\" y=\"14\" width=\"10\" height=\"4\" /></>\n )}\n </svg>\n );\n};\n\nexport const IconZoomOut: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"7\" />\n <path d=\"M21 21l-4.3-4.3M8 11h6\" />\n </svg>\n);\n\nexport const IconZoomIn: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"7\" />\n <path d=\"M21 21l-4.3-4.3M11 8v6M8 11h6\" />\n </svg>\n);\n\nexport const IconFitView: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M4 9V5a1 1 0 0 1 1-1h4M15 4h4a1 1 0 0 1 1 1v4M20 15v4a1 1 0 0 1-1 1h-4M9 20H5a1 1 0 0 1-1-1v-4\" />\n <rect x=\"9\" y=\"9\" width=\"6\" height=\"6\" rx=\"1\" />\n </svg>\n);\n\nexport const IconShapes: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"13\" width=\"8\" height=\"8\" rx=\"1\" />\n <circle cx=\"17\" cy=\"7\" r=\"4\" />\n <path d=\"M13 21l4-7 4 7z\" />\n </svg>\n);\n\nexport const IconInspector: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\" />\n </svg>\n);\n\nexport const IconOutline: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01\" />\n </svg>\n);\n\nexport const IconJson: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M8 4H7a2 2 0 0 0-2 2v3a2 2 0 0 1-2 2 2 2 0 0 1 2 2v3a2 2 0 0 0 2 2h1\" />\n <path d=\"M16 4h1a2 2 0 0 1 2 2v3a2 2 0 0 0 2 2 2 2 0 0 0-2 2v3a2 2 0 0 1-2 2h-1\" />\n </svg>\n);\n\nexport const IconGrid: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <path d=\"M9 3v18M15 3v18M3 9h18M3 15h18\" />\n </svg>\n);\n\nexport const IconMiniMap: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\" />\n <rect x=\"13\" y=\"12\" width=\"6\" height=\"6\" rx=\"1\" />\n </svg>\n);\n\nexport const IconImport: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M12 3v12\" />\n <path d=\"M8 11l4 4 4-4\" />\n <path d=\"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2\" />\n </svg>\n);\n\nexport const IconExport: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M12 15V3\" />\n <path d=\"M8 7l4-4 4 4\" />\n <path d=\"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2\" />\n </svg>\n);\n\nexport const IconPublish: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <path d=\"M22 2 11 13\" />\n <path d=\"M22 2 15 22l-4-9-9-4 20-7z\" />\n </svg>\n);\n\nexport const IconExportImage: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\" />\n <circle cx=\"9\" cy=\"9\" r=\"1.5\" />\n <path d=\"M4 17l5-5 3 3 2-2 6 6\" />\n <path d=\"M16 3v7m-3-3 3 3 3-3\" />\n </svg>\n);\n\nexport const IconAnchorVisible: React.FC<{ visible?: boolean }> = ({ visible = true }) => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"4\" y=\"5\" width=\"16\" height=\"14\" rx=\"2\" strokeDasharray=\"3 2\" />\n <circle cx=\"4\" cy=\"5\" r=\"2\" fill=\"currentColor\" stroke=\"none\" />\n {visible ? (\n <path d=\"M2 12s3.5-5 10-5 10 5 10 5-3.5 5-10 5S2 12 2 12zM12 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\" />\n ) : (\n <path d=\"M3 3l18 18\" />\n )}\n </svg>\n);\n\nexport const IconPresent: React.FC = () => (\n <svg {...base} aria-hidden=\"true\">\n <rect x=\"2\" y=\"4\" width=\"20\" height=\"13\" rx=\"2\" />\n <path d=\"M10 8.5l4.5 2.5L10 13.5z\" fill=\"currentColor\" stroke=\"none\" />\n <path d=\"M12 17v3M8 20h8\" />\n </svg>\n);\n"],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/** Arrow marker type for edges and lines */
|
|
2
2
|
export type FlowEdgeMarkerKind = 'none' | 'arrow' | 'arrowclosed';
|
|
3
|
+
/** Label placement for SVG icon stamps. */
|
|
4
|
+
export type FlowIconLabelPlacement = 'top' | 'middle' | 'bottom' | 'left' | 'right';
|
|
3
5
|
/** Media stamp kinds rendered via DOM overlay. */
|
|
4
|
-
export type FlowMediaKind = 'markdown' | 'html' | 'mermaid' | 'math' | 'ai';
|
|
6
|
+
export type FlowMediaKind = 'markdown' | 'html' | 'mermaid' | 'math' | 'image' | 'model3d' | 'ai';
|
|
7
|
+
export type FlowModelFormat = 'stl' | 'obj' | '3mf';
|
|
5
8
|
/** AI media node configuration (persisted subset). */
|
|
6
9
|
export interface FlowAIConfig {
|
|
7
10
|
/** API endpoint (OpenAI-compatible chat completions or Anthropic messages). */
|
|
@@ -107,12 +110,18 @@ export interface FlowNodeData {
|
|
|
107
110
|
svgId?: string;
|
|
108
111
|
/** Whether the SVG stamp draws a bordered box around the icon. */
|
|
109
112
|
iconBox?: boolean;
|
|
110
|
-
/** Label placement for SVG stamps
|
|
111
|
-
labelPlacement?:
|
|
113
|
+
/** Label placement for SVG stamps. Left/right use top-to-bottom vertical text. */
|
|
114
|
+
labelPlacement?: FlowIconLabelPlacement;
|
|
115
|
+
/** Horizontal offset from the resolved icon label position, in canvas units. */
|
|
116
|
+
labelOffsetX?: number;
|
|
117
|
+
/** Vertical offset from the resolved icon label position, in canvas units. */
|
|
118
|
+
labelOffsetY?: number;
|
|
112
119
|
/** Media node kind (for type 'mediaNode'). */
|
|
113
120
|
mediaKind?: FlowMediaKind;
|
|
114
|
-
/** Source content for the media node
|
|
121
|
+
/** Source content or URL for the media node. */
|
|
115
122
|
mediaContent?: string;
|
|
123
|
+
/** Explicit model format for 3D media nodes. */
|
|
124
|
+
modelFormat?: FlowModelFormat;
|
|
116
125
|
/** AI media node configuration (serializable subset; secrets are runtime-only). */
|
|
117
126
|
aiConfig?: FlowAIConfig;
|
|
118
127
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/pro/Flow/types.ts"],"sourcesContent":["/** Arrow marker type for edges and lines */\nexport type FlowEdgeMarkerKind = 'none' | 'arrow' | 'arrowclosed';\n\n/** Media stamp kinds rendered via DOM overlay. */\nexport type FlowMediaKind = 'markdown' | 'html' | 'mermaid' | 'math' | 'ai';\n\n/** AI media node configuration (persisted subset). */\nexport interface FlowAIConfig {\n /** API endpoint (OpenAI-compatible chat completions or Anthropic messages). */\n gateway: string;\n protocol: 'openai' | 'anthropic';\n model: string;\n /** API key. Persisted in the document; treat exported JSON as sensitive. */\n apiKey?: string;\n systemPrompt?: string;\n /** Extra request headers. */\n headers?: Record<string, string>;\n}\n\n/** Line style */\nexport type FlowEdgeLineStyle = 'solid' | 'dashed' | 'dotted' | 'dynamic';\n\n/** Dash density for dashed/dotted lines */\nexport type FlowEdgeDashDensity = 'sparse' | 'medium' | 'dense';\n\n/** Bezier control points for simplebezier edge segments (canvas coordinates) */\nexport interface FlowBezierControl {\n c1x: number;\n c1y: number;\n c2x: number;\n c2y: number;\n}\n\n/** Persisted edge styling on edge.data */\nexport interface FlowEdgeData {\n strokeColor?: string;\n strokeWidth?: number;\n lineStyle?: FlowEdgeLineStyle;\n dashDensity?: FlowEdgeDashDensity;\n markerStart?: FlowEdgeMarkerKind;\n markerEnd?: FlowEdgeMarkerKind;\n labelText?: string;\n labelFontSize?: number;\n labelFontFamily?: string;\n /** Play a source-to-target traveling gradient while in presentation mode. */\n animated?: boolean;\n /** Waypoints; absolute canvas coords unless waypointGroupId set */\n waypoints?: Array<{ x: number; y: number }>;\n waypointGroupId?: string;\n /**\n * Per-segment bezier controls for simplebezier type;\n * null entries use default computed controls.\n */\n bezierControls?: Array<FlowBezierControl | null> | null;\n}\n\n/** Edge type names */\nexport type FlowEdgeTypeName =\n | 'smoothstep'\n | 'step'\n | 'straight'\n | 'simplebezier';\n\n/** Border line style */\nexport type FlowBorderStyle = 'none' | 'solid' | 'dashed' | 'dotted' | 'dynamic';\n\n/** Gradient direction */\nexport type GradientDirection =\n | 'to-r'\n | 'to-l'\n | 'to-b'\n | 'to-t'\n | 'to-br'\n | 'to-tl'\n | 'to-tr'\n | 'to-bl';\n\n/** Group label placement */\nexport type FlowGroupLabelPlacement = 'top' | 'bottom' | 'left' | 'right';\nexport type FlowGroupLabelAlign = 'start' | 'center' | 'end';\n\nexport const FLOW_NODE_TYPES = [\n 'shapeRect',\n 'shapeRoundRect',\n 'shapeEllipse',\n 'shapeDiamond',\n 'shapeDocument',\n 'shapeParallelogram',\n 'shapeTriangle',\n 'shapeTrapezoid',\n 'shapePentagon',\n 'shapeHexagon',\n 'shapeStar',\n 'shapeHexagram',\n 'shapeRightTriangle',\n 'shapeCorner',\n 'textLabel',\n 'flowGroup',\n 'geometryGroup',\n 'dividerNode',\n 'arrowNode',\n 'polylineNode',\n 'shapeSvg',\n 'mediaNode',\n 'animAnchor',\n] as const;\n\nexport type FlowShapeType = (typeof FLOW_NODE_TYPES)[number];\n\n/** Custom key-value attribute on a node */\nexport interface FlowNodeAttribute {\n key: string;\n value: string;\n}\n\n/** Data stored on each flow node */\nexport interface FlowNodeData {\n label: string;\n fill: string;\n stroke: string;\n strokeWidth: number;\n color: string;\n fontSize: number;\n /**\n * Label/font color. When unset, falls back to `color` (legacy behavior where\n * a single color drove both the label and the SVG icon tint).\n */\n labelColor?: string;\n borderStyle?: FlowBorderStyle;\n rotation?: number;\n flipX?: boolean;\n flipY?: boolean;\n fillGradientTo?: string;\n fillGradientDirection?: GradientDirection;\n attributes?: FlowNodeAttribute[];\n childCanvasId?: string;\n isGroup?: boolean;\n groupBorderStyle?: FlowBorderStyle;\n groupLabelPlacement?: FlowGroupLabelPlacement;\n groupLabelAlign?: FlowGroupLabelAlign;\n groupLabelFill?: string;\n groupLabelRotation?: 0 | 90 | 180 | 270;\n groupLabelBgMode?: 'text' | 'full';\n dividerOrientation?: 'horizontal' | 'vertical';\n arrowDouble?: boolean;\n arrowBent?: boolean;\n arrowBendX?: number;\n arrowBendY?: number;\n polylineWaypoints?: Array<{ x: number; y: number }>;\n /** SVG stamp icon id (for type 'shapeSvg'). */\n svgId?: string;\n /** Whether the SVG stamp draws a bordered box around the icon. */\n iconBox?: boolean;\n /** Label placement for SVG stamps
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/pro/Flow/types.ts"],"sourcesContent":["/** Arrow marker type for edges and lines */\nexport type FlowEdgeMarkerKind = 'none' | 'arrow' | 'arrowclosed';\n\n/** Label placement for SVG icon stamps. */\nexport type FlowIconLabelPlacement = 'top' | 'middle' | 'bottom' | 'left' | 'right';\n\n/** Media stamp kinds rendered via DOM overlay. */\nexport type FlowMediaKind = 'markdown' | 'html' | 'mermaid' | 'math' | 'image' | 'model3d' | 'ai';\n\nexport type FlowModelFormat = 'stl' | 'obj' | '3mf';\n\n/** AI media node configuration (persisted subset). */\nexport interface FlowAIConfig {\n /** API endpoint (OpenAI-compatible chat completions or Anthropic messages). */\n gateway: string;\n protocol: 'openai' | 'anthropic';\n model: string;\n /** API key. Persisted in the document; treat exported JSON as sensitive. */\n apiKey?: string;\n systemPrompt?: string;\n /** Extra request headers. */\n headers?: Record<string, string>;\n}\n\n/** Line style */\nexport type FlowEdgeLineStyle = 'solid' | 'dashed' | 'dotted' | 'dynamic';\n\n/** Dash density for dashed/dotted lines */\nexport type FlowEdgeDashDensity = 'sparse' | 'medium' | 'dense';\n\n/** Bezier control points for simplebezier edge segments (canvas coordinates) */\nexport interface FlowBezierControl {\n c1x: number;\n c1y: number;\n c2x: number;\n c2y: number;\n}\n\n/** Persisted edge styling on edge.data */\nexport interface FlowEdgeData {\n strokeColor?: string;\n strokeWidth?: number;\n lineStyle?: FlowEdgeLineStyle;\n dashDensity?: FlowEdgeDashDensity;\n markerStart?: FlowEdgeMarkerKind;\n markerEnd?: FlowEdgeMarkerKind;\n labelText?: string;\n labelFontSize?: number;\n labelFontFamily?: string;\n /** Play a source-to-target traveling gradient while in presentation mode. */\n animated?: boolean;\n /** Waypoints; absolute canvas coords unless waypointGroupId set */\n waypoints?: Array<{ x: number; y: number }>;\n waypointGroupId?: string;\n /**\n * Per-segment bezier controls for simplebezier type;\n * null entries use default computed controls.\n */\n bezierControls?: Array<FlowBezierControl | null> | null;\n}\n\n/** Edge type names */\nexport type FlowEdgeTypeName =\n | 'smoothstep'\n | 'step'\n | 'straight'\n | 'simplebezier';\n\n/** Border line style */\nexport type FlowBorderStyle = 'none' | 'solid' | 'dashed' | 'dotted' | 'dynamic';\n\n/** Gradient direction */\nexport type GradientDirection =\n | 'to-r'\n | 'to-l'\n | 'to-b'\n | 'to-t'\n | 'to-br'\n | 'to-tl'\n | 'to-tr'\n | 'to-bl';\n\n/** Group label placement */\nexport type FlowGroupLabelPlacement = 'top' | 'bottom' | 'left' | 'right';\nexport type FlowGroupLabelAlign = 'start' | 'center' | 'end';\n\nexport const FLOW_NODE_TYPES = [\n 'shapeRect',\n 'shapeRoundRect',\n 'shapeEllipse',\n 'shapeDiamond',\n 'shapeDocument',\n 'shapeParallelogram',\n 'shapeTriangle',\n 'shapeTrapezoid',\n 'shapePentagon',\n 'shapeHexagon',\n 'shapeStar',\n 'shapeHexagram',\n 'shapeRightTriangle',\n 'shapeCorner',\n 'textLabel',\n 'flowGroup',\n 'geometryGroup',\n 'dividerNode',\n 'arrowNode',\n 'polylineNode',\n 'shapeSvg',\n 'mediaNode',\n 'animAnchor',\n] as const;\n\nexport type FlowShapeType = (typeof FLOW_NODE_TYPES)[number];\n\n/** Custom key-value attribute on a node */\nexport interface FlowNodeAttribute {\n key: string;\n value: string;\n}\n\n/** Data stored on each flow node */\nexport interface FlowNodeData {\n label: string;\n fill: string;\n stroke: string;\n strokeWidth: number;\n color: string;\n fontSize: number;\n /**\n * Label/font color. When unset, falls back to `color` (legacy behavior where\n * a single color drove both the label and the SVG icon tint).\n */\n labelColor?: string;\n borderStyle?: FlowBorderStyle;\n rotation?: number;\n flipX?: boolean;\n flipY?: boolean;\n fillGradientTo?: string;\n fillGradientDirection?: GradientDirection;\n attributes?: FlowNodeAttribute[];\n childCanvasId?: string;\n isGroup?: boolean;\n groupBorderStyle?: FlowBorderStyle;\n groupLabelPlacement?: FlowGroupLabelPlacement;\n groupLabelAlign?: FlowGroupLabelAlign;\n groupLabelFill?: string;\n groupLabelRotation?: 0 | 90 | 180 | 270;\n groupLabelBgMode?: 'text' | 'full';\n dividerOrientation?: 'horizontal' | 'vertical';\n arrowDouble?: boolean;\n arrowBent?: boolean;\n arrowBendX?: number;\n arrowBendY?: number;\n polylineWaypoints?: Array<{ x: number; y: number }>;\n /** SVG stamp icon id (for type 'shapeSvg'). */\n svgId?: string;\n /** Whether the SVG stamp draws a bordered box around the icon. */\n iconBox?: boolean;\n /** Label placement for SVG stamps. Left/right use top-to-bottom vertical text. */\n labelPlacement?: FlowIconLabelPlacement;\n /** Horizontal offset from the resolved icon label position, in canvas units. */\n labelOffsetX?: number;\n /** Vertical offset from the resolved icon label position, in canvas units. */\n labelOffsetY?: number;\n /** Media node kind (for type 'mediaNode'). */\n mediaKind?: FlowMediaKind;\n /** Source content or URL for the media node. */\n mediaContent?: string;\n /** Explicit model format for 3D media nodes. */\n modelFormat?: FlowModelFormat;\n /** AI media node configuration (serializable subset; secrets are runtime-only). */\n aiConfig?: FlowAIConfig;\n /**\n * Stable creation index for `animAnchor` nodes, used to order slides. The\n * displayed sequence badge is derived from this ordering, so deleting an\n * anchor renumbers the rest automatically.\n */\n animIndex?: number;\n /** Marks nodes managed by Mindmap mode. */\n isMindMapNode?: boolean;\n /** Logical parent used by Mindmap auto-layout (separate from visual groups). */\n mindMapParentId?: string;\n}\n\n/** A flow node */\nexport interface FlowNode {\n id: string;\n type: FlowShapeType;\n position: { x: number; y: number };\n width: number;\n height: number;\n data: FlowNodeData;\n parentId?: string;\n zIndex?: number;\n}\n\n/** A flow edge (connection between nodes) */\nexport interface FlowEdge {\n id: string;\n source: string;\n target: string;\n sourceHandle?: string;\n targetHandle?: string;\n type: FlowEdgeTypeName;\n data: FlowEdgeData;\n}\n\n/** Independent line types */\nexport type FlowLineType = 'freehand' | 'straight' | 'polyline' | 'arrow';\n\n/** An independent line not attached to nodes */\nexport interface FlowLine {\n id: string;\n type: FlowLineType;\n points: Array<{ x: number; y: number }>;\n strokeColor: string;\n strokeWidth: number;\n lineStyle: FlowEdgeLineStyle;\n dashDensity?: FlowEdgeDashDensity;\n markerStart?: FlowEdgeMarkerKind;\n markerEnd?: FlowEdgeMarkerKind;\n closed?: boolean;\n zIndex?: number;\n parentId?: string;\n}\n\n/** Single canvas layer data */\nexport interface FlowCanvasData {\n nodes: FlowNode[];\n edges: FlowEdge[];\n lines: FlowLine[];\n}\n\n/** Multi-canvas document; root canvas id is 'root' */\nexport interface FlowDocument {\n canvases: Record<string, FlowCanvasData>;\n stack: string[];\n}\n\n/** Active tool modes */\nexport type FlowToolMode =\n | 'select'\n | 'pan'\n | 'connect'\n | 'freehand'\n | 'line'\n | 'polyline'\n | 'arrow';\n\n/** Viewport transform state */\nexport interface ViewportState {\n x: number;\n y: number;\n zoom: number;\n}\n\n/** Selection state */\nexport interface SelectionState {\n nodeIds: Set<string>;\n edgeIds: Set<string>;\n lineIds: Set<string>;\n}\n\n/** Props for the Flow component */\nexport interface FlowProps {\n /** Initial document; if not provided, starts with empty doc */\n initialDocument?: FlowDocument;\n /** Callback when document changes */\n onChange?: (doc: FlowDocument) => void;\n /** Width of the component (defaults to 100%) */\n width?: number | string;\n /** Height of the component (defaults to 100%) */\n height?: number | string;\n /** Whether the flow is read-only */\n readOnly?: boolean;\n /** Leave the current document from the built-in toolbar. */\n onBack?: () => void;\n /** Export the current canvas as PNG from the built-in toolbar. */\n onExportPNG?: () => void | Promise<void>;\n /** Publish or configure sharing from the built-in toolbar. */\n onPublish?: () => void;\n /** Show minimap */\n showMiniMap?: boolean;\n /** Show grid */\n showGrid?: boolean;\n /** Grid size in pixels */\n gridSize?: number;\n /** CSS class for outer container */\n className?: string;\n}\n"],"mappings":"AAsFA,IAAa,IAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF"}
|