@starci/grammar 0.18.0 → 0.19.0
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 +1 -1
- package/dist/.build-stamp.json +4 -4
- package/dist/common/components-navigation.css +117 -5
- package/dist/common/registry.d.ts +4 -3
- package/dist/common/registry.d.ts.map +1 -1
- package/dist/common/registry.js +2 -2
- package/dist/common/registry.js.map +1 -1
- package/dist/common/renderers-navigation.d.ts +4 -4
- package/dist/common/renderers-navigation.d.ts.map +1 -1
- package/dist/common/renderers-navigation.js +1 -1
- package/dist/common/renderers-navigation.js.map +1 -1
- package/dist/common/renderers.d.ts +2 -1
- package/dist/common/renderers.d.ts.map +1 -1
- package/dist/common/renderers.js +1 -0
- package/dist/common/renderers.js.map +1 -1
- package/dist/common/styles.css +20 -1
- package/dist/core/branch/FlowGraph/index.d.ts +21 -7
- package/dist/core/branch/FlowGraph/index.d.ts.map +1 -1
- package/dist/core/branch/FlowGraph/index.js +236 -42
- package/dist/core/branch/FlowGraph/index.js.map +1 -1
- package/dist/core/branch/FlowGraph/layout.d.ts +58 -0
- package/dist/core/branch/FlowGraph/layout.d.ts.map +1 -1
- package/dist/core/branch/FlowGraph/layout.js +198 -0
- package/dist/core/branch/FlowGraph/layout.js.map +1 -1
- package/dist/core/branch/FlowGraph/types.d.ts +33 -3
- package/dist/core/branch/FlowGraph/types.d.ts.map +1 -1
- package/dist/core/composite/Stepper/index.d.ts +7 -2
- package/dist/core/composite/Stepper/index.d.ts.map +1 -1
- package/dist/core/composite/Stepper/index.js +1 -1
- package/dist/core/composite/Stepper/index.js.map +1 -1
- package/dist/core/primitive/ConnectionStatus/index.d.ts +15 -0
- package/dist/core/primitive/ConnectionStatus/index.d.ts.map +1 -0
- package/dist/core/primitive/ConnectionStatus/index.js +15 -0
- package/dist/core/primitive/ConnectionStatus/index.js.map +1 -0
- package/dist/core/primitive/Progress/index.d.ts +9 -2
- package/dist/core/primitive/Progress/index.d.ts.map +1 -1
- package/dist/core/primitive/Progress/index.js +3 -3
- package/dist/core/primitive/Progress/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,10 +2,37 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { Background, Controls, Handle, Position, ReactFlow, useReactFlow, useStore, } from "@xyflow/react";
|
|
4
4
|
import { Link as RouterLink } from "react-aria-components";
|
|
5
|
-
import { memo, useCallback, useEffect, useMemo, useState } from "react";
|
|
5
|
+
import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
6
6
|
import { Skeleton } from "../../primitive/Skeleton/index.js";
|
|
7
|
-
import { FLOW_GRAPH_NODE_MAX_WIDTH, flowGraphRoot, layerCoordinate, layeredPositions, layeredStepPosition, radialPositions } from "./layout.js";
|
|
8
|
-
export { layeredPositions, radialPositions } from "./layout.js";
|
|
7
|
+
import { FLOW_GRAPH_NODE_MAX_WIDTH, flowGraphBubbleDiameter, flowGraphRoot, layerCoordinate, layeredPositions, layeredStepPosition, orbitLayout, radialPositions, } from "./layout.js";
|
|
8
|
+
export { flowGraphDiameter, layeredPositions, orbitLayout, radialPositions } from "./layout.js";
|
|
9
|
+
/** The longest mark a bubble draws, in characters. */
|
|
10
|
+
const MARK_LENGTH = 4;
|
|
11
|
+
/** The token each ring arc and bubble tone paints from, with the fallback the sheet uses outside a root. */
|
|
12
|
+
const TONE_PAINT = {
|
|
13
|
+
neutral: "var(--muted, GrayText)",
|
|
14
|
+
accent: "var(--accent, Highlight)",
|
|
15
|
+
success: "var(--success, CanvasText)",
|
|
16
|
+
warning: "var(--warning, CanvasText)",
|
|
17
|
+
danger: "var(--danger, CanvasText)",
|
|
18
|
+
info: "var(--info, CanvasText)",
|
|
19
|
+
muted: "color-mix(in oklab, var(--muted, GrayText) 55%, transparent)",
|
|
20
|
+
};
|
|
21
|
+
/** A conic gradient of the ring arcs, clockwise from the top; undefined when the arcs hold nothing. */
|
|
22
|
+
const ringGradient = (ring) => {
|
|
23
|
+
const total = ring.reduce((sum, part) => sum + Math.max(part.value, 0), 0);
|
|
24
|
+
if (total <= 0)
|
|
25
|
+
return undefined;
|
|
26
|
+
let at = 0;
|
|
27
|
+
const stops = ring.filter((part) => part.value > 0).map((part) => {
|
|
28
|
+
const next = at + part.value / total * 100;
|
|
29
|
+
const stop = `${TONE_PAINT[part.tone]} ${at.toFixed(2)}% ${next.toFixed(2)}%`;
|
|
30
|
+
at = next;
|
|
31
|
+
return stop;
|
|
32
|
+
});
|
|
33
|
+
return `conic-gradient(${stops.join(", ")})`;
|
|
34
|
+
};
|
|
35
|
+
const fillOf = (node) => node.fill ?? (node.form === "bubble" ? "soft" : undefined);
|
|
9
36
|
const HANDLE_SIDES = {
|
|
10
37
|
radial: { target: Position.Top, source: Position.Top },
|
|
11
38
|
TB: { target: Position.Top, source: Position.Bottom },
|
|
@@ -15,14 +42,24 @@ const FlowGraphNodeView = memo(({ data }) => {
|
|
|
15
42
|
const { graphNode, isSelected, direction } = data;
|
|
16
43
|
const sides = HANDLE_SIDES[direction ?? "radial"];
|
|
17
44
|
const hasCount = graphNode.count !== undefined && graphNode.count !== "";
|
|
18
|
-
const
|
|
19
|
-
|
|
45
|
+
const isBubble = graphNode.form === "bubble";
|
|
46
|
+
const ring = isBubble && graphNode.ring !== undefined ? ringGradient(graphNode.ring) : undefined;
|
|
47
|
+
const nodeStyle = isBubble ? {
|
|
48
|
+
"--starci-flow-diameter": `${flowGraphBubbleDiameter(graphNode)}px`,
|
|
49
|
+
...(ring === undefined ? {} : { "--starci-flow-ring": ring }),
|
|
50
|
+
} : undefined;
|
|
51
|
+
const mark = graphNode.mark === undefined ? undefined : [...graphNode.mark].slice(0, MARK_LENGTH).join("");
|
|
52
|
+
const content = isBubble ? (_jsxs("span", { className: "starci-core-flow-graph-disc", children: [mark === undefined || mark === "" ? null : _jsx("span", { className: "starci-core-flow-graph-mark", children: mark }), graphNode.caption === undefined || graphNode.caption === "" ? null : _jsx("span", { className: "starci-core-flow-graph-caption", children: graphNode.caption })] })) : (_jsxs(_Fragment, { children: [_jsxs("span", { className: "starci-core-flow-graph-copy", children: [_jsx("span", { className: "starci-core-flow-graph-label", children: graphNode.label }), graphNode.description === undefined ? null : _jsx("span", { className: "starci-core-flow-graph-description", children: graphNode.description })] }), hasCount ? _jsx("span", { className: "starci-core-flow-graph-count", children: graphNode.count }) : null] }));
|
|
53
|
+
return (_jsxs("div", { className: "starci-core-flow-graph-node", "data-grammar-flow-node": graphNode.id, "data-dimmed": graphNode.isDimmed === true ? "true" : undefined, "data-expandable": data.isExpandable === true ? "true" : undefined, "data-fill": fillOf(graphNode), "data-form": graphNode.form ?? "label", "data-grammar-selected": isSelected ? "true" : "false", "data-placeholder": graphNode.isPlaceholder === true ? "true" : undefined, "data-ring": ring === undefined ? undefined : "true", "data-root": graphNode.isRoot === true ? "true" : undefined, "data-shape": graphNode.shape ?? "stadium", "data-size": graphNode.size ?? "md", "data-tone": graphNode.isPlaceholder === true ? "muted" : graphNode.tone ?? "neutral", style: nodeStyle, children: [_jsx(Handle, { className: "starci-core-flow-graph-handle", isConnectable: false, position: sides.target, type: "target" }), graphNode.href === undefined ? content : (_jsx(RouterLink, { className: "starci-core-flow-graph-link", "data-grammar-flow-link": "true", href: graphNode.href, children: content })), _jsx(Handle, { className: "starci-core-flow-graph-handle", isConnectable: false, position: sides.source, type: "source" })] }));
|
|
20
54
|
});
|
|
21
55
|
FlowGraphNodeView.displayName = "FlowGraphNodeView";
|
|
22
56
|
const FlowGraphHeaderView = memo(({ data }) => (_jsx("div", { className: "starci-core-flow-graph-header", "data-direction": data.direction, "data-grammar-flow-header": data.label, children: data.label })));
|
|
23
57
|
FlowGraphHeaderView.displayName = "FlowGraphHeaderView";
|
|
58
|
+
/** The dashed ring guides of the orbit layout: a square the size of the outermost ring, centred on the root. */
|
|
59
|
+
const FlowGraphGuideView = memo(({ data }) => (_jsx("svg", { "aria-hidden": "true", className: "starci-core-flow-graph-guide", height: data.size, width: data.size, children: data.radii.map((radius) => _jsx("circle", { cx: data.size / 2, cy: data.size / 2, r: radius }, radius)) })));
|
|
60
|
+
FlowGraphGuideView.displayName = "FlowGraphGuideView";
|
|
24
61
|
const EDGE_LABEL_PADDING = [6, 2];
|
|
25
|
-
const NODE_TYPES = { flowGraph: FlowGraphNodeView, flowGraphHeader: FlowGraphHeaderView };
|
|
62
|
+
const NODE_TYPES = { flowGraph: FlowGraphNodeView, flowGraphHeader: FlowGraphHeaderView, flowGraphGuide: FlowGraphGuideView };
|
|
26
63
|
const HEADER_OFFSET = 70;
|
|
27
64
|
const HEADER_SIDE_GAP = 24;
|
|
28
65
|
const FIT_OPTIONS = { padding: 0.2, duration: 0 };
|
|
@@ -31,8 +68,23 @@ const MAX_ZOOM = 2;
|
|
|
31
68
|
const NODE_TEXT_PX = { sm: 12, md: 14, lg: 16 };
|
|
32
69
|
/** Node text never renders below this many px under the `readable` fit. */
|
|
33
70
|
const READABLE_TEXT_PX = 12;
|
|
34
|
-
/**
|
|
35
|
-
|
|
71
|
+
/**
|
|
72
|
+
* The zoom at which the smallest node text present renders at {@link READABLE_TEXT_PX}; null when no node carries label text
|
|
73
|
+
* (a bubble keeps its text at a fixed screen size instead, see {@link ZoomMirror}).
|
|
74
|
+
*/
|
|
75
|
+
const readableZoomFor = (nodes) => {
|
|
76
|
+
const labelled = nodes.filter((node) => node.form !== "bubble");
|
|
77
|
+
return labelled.length === 0 ? null : READABLE_TEXT_PX / Math.min(...labelled.map((node) => NODE_TEXT_PX[node.size ?? "md"]));
|
|
78
|
+
};
|
|
79
|
+
/** Below these zooms a bubble's caption and mark no longer fit its disc at the fixed screen size, and drop out. */
|
|
80
|
+
const CAPTION_ZOOM = 0.42;
|
|
81
|
+
const MARK_ZOOM = 0.5;
|
|
82
|
+
/** Reports the viewport zoom (two decimals) so the figure can publish `--starci-flow-zoom` to the bubbles' text. */
|
|
83
|
+
const ZoomMirror = ({ onZoom }) => {
|
|
84
|
+
const zoom = useStore((state) => Math.round(state.transform[2] * 100) / 100);
|
|
85
|
+
useEffect(() => { onZoom(zoom); }, [zoom, onZoom]);
|
|
86
|
+
return null;
|
|
87
|
+
};
|
|
36
88
|
/**
|
|
37
89
|
* Re-fits the viewport once the nodes are measured, and again whenever the set of nodes, the layout or the canvas size
|
|
38
90
|
* changes. Under a readable zoom, a fit that would go below it asks the canvas to grow to the graph's aspect at the
|
|
@@ -75,13 +127,43 @@ const labelledEdges = (nodes, edges) => {
|
|
|
75
127
|
const names = new Map(nodes.map((node) => [node.id, node.label]));
|
|
76
128
|
return edges.flatMap((edge) => edge.label === undefined || edge.label === "" ? [] : [{ id: edge.id, text: `${names.get(edge.source) ?? edge.source} → ${names.get(edge.target) ?? edge.target}: ${edge.label}` }]);
|
|
77
129
|
};
|
|
130
|
+
/** The most nodes one open fan draws before the rest fold into a `+n` bubble. */
|
|
131
|
+
const DEFAULT_FAN_LIMIT = 30;
|
|
132
|
+
/** The width of the `+n` bubble that closes a fan. */
|
|
133
|
+
const MORE_DIAMETER = 44;
|
|
134
|
+
/** Half the widest tip, and the room a tip needs above its node before it flips below, in px. */
|
|
135
|
+
const TIP_HALF_WIDTH = 128;
|
|
136
|
+
const TIP_ROOM = 56;
|
|
137
|
+
/** The `+n` bubble that closes a fan: it names the parent in its label, and selecting it selects the parent. */
|
|
138
|
+
const moreNodeFor = (id, count, parent) => ({
|
|
139
|
+
id,
|
|
140
|
+
label: parent === undefined ? `${count} more` : `${count} more under ${parent.label}`,
|
|
141
|
+
form: "bubble",
|
|
142
|
+
mark: count > 999 ? "999+" : `+${count}`,
|
|
143
|
+
diameter: MORE_DIAMETER,
|
|
144
|
+
fill: "soft",
|
|
145
|
+
});
|
|
146
|
+
/** The ids on the path from the root to `id`, `id` included; empty when there is no layout path. */
|
|
147
|
+
const pathTo = (id, orbit) => {
|
|
148
|
+
const path = new Set();
|
|
149
|
+
if (orbit === null)
|
|
150
|
+
return path;
|
|
151
|
+
let current = id ?? undefined;
|
|
152
|
+
while (current !== undefined && !path.has(current)) {
|
|
153
|
+
path.add(current);
|
|
154
|
+
current = orbit.parents.get(current);
|
|
155
|
+
}
|
|
156
|
+
return path;
|
|
157
|
+
};
|
|
78
158
|
/**
|
|
79
159
|
* A node-and-edge map drawn with React Flow (`@xyflow/react`, a peer dependency) in grammar tokens. The radial layout
|
|
80
|
-
* puts the root in the centre with its children on a ring and their children on an outer ring around them.
|
|
81
|
-
*
|
|
160
|
+
* puts the root in the centre with its children on a ring and their children on an outer ring around them. The orbit layout
|
|
161
|
+
* draws a value-sized map: bubbles (`form="bubble"`) on rings, with the nodes below ring three shown while their parent is
|
|
162
|
+
* open. Nodes are keyboard focusable (Tab) and selectable with Enter or Space, which also opens or closes a node that holds
|
|
163
|
+
* more; a visually hidden list repeats the nodes for screen readers.
|
|
82
164
|
* Contract: focus FOCUS-2, selection STATE-1, empty STATE-3.
|
|
83
165
|
*/
|
|
84
|
-
export const FlowGraph = ({ label, nodes, edges, selectedId, onSelect, height = "md", fit = "readable", isInteractive = true, showControls, layout: layoutProp, direction, headers, emptyLabel = "Nothing to show yet.", isLoading = false, className, }) => {
|
|
166
|
+
export const FlowGraph = ({ label, nodes, edges, selectedId, onSelect, expandedIds, defaultExpandedIds, onExpandedChange, fanLimit = DEFAULT_FAN_LIMIT, height = "md", fit = "readable", isInteractive = true, showControls, layout: layoutProp, direction, headers, emptyLabel = "Nothing to show yet.", isLoading = false, className, }) => {
|
|
85
167
|
const [ownSelectedId, setOwnSelectedId] = useState(null);
|
|
86
168
|
const currentId = selectedId === undefined ? ownSelectedId : selectedId;
|
|
87
169
|
const select = (id) => {
|
|
@@ -89,31 +171,97 @@ export const FlowGraph = ({ label, nodes, edges, selectedId, onSelect, height =
|
|
|
89
171
|
setOwnSelectedId(id);
|
|
90
172
|
onSelect?.(id);
|
|
91
173
|
};
|
|
174
|
+
const [ownExpanded, setOwnExpanded] = useState(defaultExpandedIds ?? []);
|
|
175
|
+
const openIds = expandedIds ?? ownExpanded;
|
|
176
|
+
const openKey = openIds.join("\u0000");
|
|
177
|
+
const expanded = useMemo(() => new Set(openKey === "" ? [] : openKey.split("\u0000")), [openKey]);
|
|
178
|
+
const toggle = (id) => {
|
|
179
|
+
const next = expanded.has(id) ? openIds.filter((open) => open !== id) : [...openIds, id];
|
|
180
|
+
if (expandedIds === undefined)
|
|
181
|
+
setOwnExpanded(next);
|
|
182
|
+
onExpandedChange?.(next);
|
|
183
|
+
};
|
|
92
184
|
const layout = layoutProp ?? (direction === undefined ? "radial" : "layered");
|
|
93
185
|
const flowDirection = direction ?? (layout === "layered" ? "TB" : undefined);
|
|
186
|
+
const orbit = useMemo(() => layout === "orbit" ? orbitLayout(nodes, edges, { expanded, fanLimit }) : null, [layout, nodes, edges, expanded, fanLimit]);
|
|
187
|
+
// The orbit layout draws the rings and the fans of the open nodes, plus the `+n` bubbles that close a fan.
|
|
188
|
+
const shownNodes = useMemo(() => {
|
|
189
|
+
if (orbit === null)
|
|
190
|
+
return nodes;
|
|
191
|
+
const byId = new Map(nodes.map((node) => [node.id, node]));
|
|
192
|
+
return [
|
|
193
|
+
...nodes.filter((node) => orbit.visible.has(node.id)),
|
|
194
|
+
...orbit.more.map((more) => moreNodeFor(more.id, more.count, byId.get(more.parentId))),
|
|
195
|
+
];
|
|
196
|
+
}, [nodes, orbit]);
|
|
197
|
+
const shownEdges = useMemo(() => {
|
|
198
|
+
if (orbit === null)
|
|
199
|
+
return edges;
|
|
200
|
+
const shown = new Set(shownNodes.map((node) => node.id));
|
|
201
|
+
return [
|
|
202
|
+
...edges.filter((edge) => shown.has(edge.source) && shown.has(edge.target)),
|
|
203
|
+
...orbit.more.map((more) => ({ id: `${more.id}-edge`, source: more.parentId, target: more.id })),
|
|
204
|
+
];
|
|
205
|
+
}, [edges, orbit, shownNodes]);
|
|
206
|
+
const moreParents = useMemo(() => new Map((orbit?.more ?? []).map((more) => [more.id, more.parentId])), [orbit]);
|
|
207
|
+
const dimmedIds = useMemo(() => new Set(shownNodes.filter((node) => node.isDimmed === true).map((node) => node.id)), [shownNodes]);
|
|
208
|
+
const pathIds = useMemo(() => pathTo(currentId, orbit), [currentId, orbit]);
|
|
94
209
|
const layered = useMemo(() => layout === "layered" ? layeredPositions(nodes, edges, flowDirection ?? "TB") : null, [layout, nodes, edges, flowDirection]);
|
|
95
210
|
const positions = useMemo(() => {
|
|
96
211
|
if (layout === "radial")
|
|
97
212
|
return radialPositions(nodes, edges);
|
|
213
|
+
if (orbit !== null)
|
|
214
|
+
return orbit.positions;
|
|
98
215
|
return layered?.positions ?? null;
|
|
99
|
-
}, [layout, nodes, edges, layered]);
|
|
216
|
+
}, [layout, nodes, edges, layered, orbit]);
|
|
100
217
|
const rootId = flowGraphRoot(nodes)?.id;
|
|
101
|
-
const flowNodes = useMemo(() =>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
218
|
+
const flowNodes = useMemo(() => shownNodes.map((graphNode) => {
|
|
219
|
+
const isExpandable = orbit?.expandable.has(graphNode.id) === true;
|
|
220
|
+
const domAttributes = {
|
|
221
|
+
...(isExpandable && graphNode.href === undefined ? { "aria-expanded": expanded.has(graphNode.id) } : {}),
|
|
222
|
+
...(graphNode.form === "bubble" && graphNode.description !== undefined ? { "aria-description": graphNode.description } : {}),
|
|
223
|
+
};
|
|
224
|
+
return {
|
|
225
|
+
id: graphNode.id,
|
|
226
|
+
type: "flowGraph",
|
|
227
|
+
position: positions?.get(graphNode.id) ?? graphNode.position ?? { x: 0, y: 0 },
|
|
228
|
+
data: {
|
|
229
|
+
graphNode: layout === "radial" || layout === "orbit" ? { ...graphNode, isRoot: graphNode.id === rootId } : graphNode,
|
|
230
|
+
isSelected: graphNode.id === currentId,
|
|
231
|
+
...(isExpandable ? { isExpandable } : {}),
|
|
232
|
+
...(flowDirection === undefined ? {} : { direction: flowDirection }),
|
|
233
|
+
},
|
|
234
|
+
selected: graphNode.id === currentId,
|
|
235
|
+
ariaLabel: labelFor(graphNode),
|
|
236
|
+
// An openable node is a button that reports whether it is open.
|
|
237
|
+
...(isExpandable && graphNode.href === undefined ? { ariaRole: "button" } : {}),
|
|
238
|
+
...(Object.keys(domAttributes).length === 0 ? {} : { domAttributes }),
|
|
239
|
+
draggable: false,
|
|
240
|
+
connectable: false,
|
|
241
|
+
// A link node keeps one keyboard stop: the anchor inside it.
|
|
242
|
+
...(graphNode.href === undefined ? {} : { focusable: false }),
|
|
243
|
+
};
|
|
244
|
+
}), [shownNodes, positions, layout, rootId, currentId, flowDirection, orbit, expanded]);
|
|
245
|
+
const guideNodes = useMemo(() => {
|
|
246
|
+
if (orbit === null || orbit.radii.length === 0)
|
|
247
|
+
return [];
|
|
248
|
+
const size = orbit.extent * 2;
|
|
249
|
+
return [{
|
|
250
|
+
id: "grammar-flow-guide",
|
|
251
|
+
type: "flowGraphGuide",
|
|
252
|
+
position: { x: 0, y: 0 },
|
|
253
|
+
width: size,
|
|
254
|
+
height: size,
|
|
255
|
+
data: { radii: orbit.radii, size },
|
|
256
|
+
className: "starci-core-flow-graph-guide-node",
|
|
257
|
+
zIndex: -1,
|
|
258
|
+
draggable: false,
|
|
259
|
+
connectable: false,
|
|
260
|
+
selectable: false,
|
|
261
|
+
focusable: false,
|
|
262
|
+
ariaHidden: true,
|
|
263
|
+
}];
|
|
264
|
+
}, [orbit]);
|
|
117
265
|
const headerNodes = useMemo(() => {
|
|
118
266
|
if (headers === undefined || headers.length === 0 || flowDirection === undefined)
|
|
119
267
|
return [];
|
|
@@ -137,28 +285,70 @@ export const FlowGraph = ({ label, nodes, edges, selectedId, onSelect, height =
|
|
|
137
285
|
};
|
|
138
286
|
});
|
|
139
287
|
}, [headers, flowDirection, nodes, positions, layout]);
|
|
140
|
-
const allNodes = useMemo(() => [...headerNodes, ...flowNodes], [headerNodes, flowNodes]);
|
|
141
|
-
const flowEdges = useMemo(() =>
|
|
288
|
+
const allNodes = useMemo(() => [...guideNodes, ...headerNodes, ...flowNodes], [guideNodes, headerNodes, flowNodes]);
|
|
289
|
+
const flowEdges = useMemo(() => shownEdges.map((edge) => {
|
|
142
290
|
// A layered edge that skips layers turns in a gap, never inside a skipped layer (see layeredStepPosition).
|
|
143
291
|
const stepPosition = layered === null ? undefined : layeredStepPosition(edge, layered.positions, layered.layers, flowDirection ?? "TB");
|
|
292
|
+
const classes = [
|
|
293
|
+
"starci-core-flow-graph-edge",
|
|
294
|
+
edge.isPlaceholder === true ? "starci-core-flow-graph-edge-placeholder" : "",
|
|
295
|
+
// An edge dims with its target; the edges from the root to the selected node draw strong.
|
|
296
|
+
dimmedIds.has(edge.target) ? "starci-core-flow-graph-edge-dimmed" : "",
|
|
297
|
+
pathIds.has(edge.source) && pathIds.has(edge.target) ? "starci-core-flow-graph-edge-strong" : "",
|
|
298
|
+
].filter(Boolean).join(" ");
|
|
144
299
|
return {
|
|
145
300
|
id: edge.id,
|
|
146
301
|
source: edge.source,
|
|
147
302
|
target: edge.target,
|
|
148
|
-
type: layout === "radial" ? "straight" : "smoothstep",
|
|
303
|
+
type: layout === "radial" || layout === "orbit" ? "straight" : "smoothstep",
|
|
149
304
|
...(stepPosition === undefined ? {} : { pathOptions: { stepPosition } }),
|
|
150
|
-
className:
|
|
305
|
+
className: classes,
|
|
151
306
|
// The label sits on its own chip at the midpoint; its paint is the grammar's (`.react-flow__edge-text*` in the sheet).
|
|
152
307
|
...(edge.label === undefined || edge.label === "" ? {} : { label: edge.label, labelShowBg: true, labelBgPadding: EDGE_LABEL_PADDING, labelBgBorderRadius: 4 }),
|
|
153
308
|
focusable: false,
|
|
154
309
|
selectable: false,
|
|
155
310
|
animated: false,
|
|
156
311
|
};
|
|
157
|
-
}), [
|
|
158
|
-
const edgeLabels = useMemo(() => labelledEdges(
|
|
159
|
-
const signature = `${layout}:${flowDirection ?? ""}:${headerNodes.length}:${
|
|
312
|
+
}), [shownEdges, layout, layered, flowDirection, dimmedIds, pathIds]);
|
|
313
|
+
const edgeLabels = useMemo(() => labelledEdges(shownNodes, shownEdges), [shownNodes, shownEdges]);
|
|
314
|
+
const signature = `${layout}:${flowDirection ?? ""}:${headerNodes.length}:${shownNodes.map((node) => node.id).join("|")}`;
|
|
315
|
+
// Opening a node that holds more selects it and toggles it; the `+n` bubble selects the node it closes.
|
|
316
|
+
const activate = (id) => {
|
|
317
|
+
const parentId = moreParents.get(id);
|
|
318
|
+
if (parentId !== undefined) {
|
|
319
|
+
select(parentId);
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
select(id);
|
|
323
|
+
if (orbit?.expandable.has(id) === true)
|
|
324
|
+
toggle(id);
|
|
325
|
+
};
|
|
326
|
+
const figureRef = useRef(null);
|
|
327
|
+
const [tip, setTip] = useState(null);
|
|
328
|
+
const [zoom, setZoom] = useState(1);
|
|
329
|
+
const shownById = useMemo(() => new Map(shownNodes.map((node) => [node.id, node])), [shownNodes]);
|
|
330
|
+
// One tip for the node under the pointer or the keyboard focus: a bubble draws no words, so its name and description show here.
|
|
331
|
+
const showTip = (element) => {
|
|
332
|
+
const id = element?.getAttribute("data-id") ?? null;
|
|
333
|
+
const figure = figureRef.current;
|
|
334
|
+
if (element === null || id === null || figure === null || shownById.get(id)?.form !== "bubble") {
|
|
335
|
+
setTip(null);
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
const box = element.getBoundingClientRect();
|
|
339
|
+
const frame = figure.getBoundingClientRect();
|
|
340
|
+
const above = box.top - frame.top;
|
|
341
|
+
setTip({
|
|
342
|
+
id,
|
|
343
|
+
x: Math.min(Math.max(box.left + box.width / 2 - frame.left, TIP_HALF_WIDTH), Math.max(frame.width - TIP_HALF_WIDTH, TIP_HALF_WIDTH)),
|
|
344
|
+
y: above >= TIP_ROOM ? above : box.bottom - frame.top,
|
|
345
|
+
isBelow: above < TIP_ROOM,
|
|
346
|
+
});
|
|
347
|
+
};
|
|
348
|
+
const tipNode = tip === null ? undefined : shownById.get(tip.id);
|
|
160
349
|
const onKeyDown = (event) => {
|
|
161
350
|
if (event.key === "Escape") {
|
|
351
|
+
setTip(null);
|
|
162
352
|
if (currentId !== null)
|
|
163
353
|
select(null);
|
|
164
354
|
return;
|
|
@@ -169,26 +359,30 @@ export const FlowGraph = ({ label, nodes, edges, selectedId, onSelect, height =
|
|
|
169
359
|
return; // the link owns Enter
|
|
170
360
|
const target = event.target instanceof Element ? event.target.closest(".react-flow__node") : null;
|
|
171
361
|
const id = target?.getAttribute("data-id");
|
|
172
|
-
if (id === null || id === undefined)
|
|
362
|
+
if (id === null || id === undefined || !shownById.has(id))
|
|
173
363
|
return;
|
|
174
364
|
event.preventDefault();
|
|
175
|
-
|
|
365
|
+
activate(id);
|
|
176
366
|
};
|
|
367
|
+
const onFocus = (event) => showTip(event.target instanceof Element ? event.target.closest(".react-flow__node") : null);
|
|
177
368
|
const customHeight = height === "sm" || height === "md" || height === "lg" ? undefined : typeof height === "number" ? `${height}px` : height;
|
|
178
369
|
const controls = showControls ?? isInteractive;
|
|
179
370
|
// The readable fit grows the canvas for one graph; a new set of nodes or layout starts again from `height`.
|
|
180
|
-
const readableZoom = fit === "readable" &&
|
|
371
|
+
const readableZoom = fit === "readable" && shownNodes.length > 0 ? readableZoomFor(shownNodes) : null;
|
|
181
372
|
const [growth, setGrowth] = useState(null);
|
|
182
373
|
const grownHeight = growth !== null && growth.signature === signature ? growth.height : null;
|
|
183
374
|
const onGrow = useCallback((next) => setGrowth({ signature, height: next }), [signature]);
|
|
184
375
|
// A grown canvas is taller than the screen may be: the wheel scrolls the page, the zoom buttons still zoom.
|
|
185
376
|
const wheelZooms = isInteractive && grownHeight === null;
|
|
186
|
-
const
|
|
377
|
+
const hasBubbles = shownNodes.some((node) => node.form === "bubble");
|
|
378
|
+
const style = customHeight === undefined && grownHeight === null && !hasBubbles ? undefined : {
|
|
187
379
|
...(customHeight === undefined ? {} : { "--starci-flow-height": customHeight }),
|
|
188
380
|
...(grownHeight === null ? {} : { "--starci-flow-grown-height": `${grownHeight}px` }),
|
|
381
|
+
// The bubbles' text keeps one screen size: it is sized in graph units by the inverse of this zoom.
|
|
382
|
+
...(hasBubbles ? { "--starci-flow-zoom": zoom } : {}),
|
|
189
383
|
};
|
|
190
|
-
return (_jsx("figure", { "aria-label": label, className: ["starci-core-flow-graph", className].filter(Boolean).join(" "), "data-component": "FlowGraph", "data-contract": "FOCUS-2 STATE-1 STATE-3", "data-grammar-flow-direction": flowDirection, "data-grammar-flow-height": customHeight === undefined ? height : "custom", "data-grammar-flow-interactive": isInteractive ? "true" : "false", "data-grammar-flow-layout": layout, "data-grammar-flow-fit": fit, "data-grammar-flow-grown": grownHeight === null ? undefined : "true", "data-tier": "branch", style: style, ...(isLoading ? { "aria-busy": true, "data-loading": "true" } : {}), onKeyDown: onKeyDown, children: isLoading ? (_jsx("div", { className: "starci-core-flow-graph-canvas starci-core-flow-graph-loading", "data-grammar-flow-loading": "true", children: _jsx(Skeleton, { shape: "rect" }) })) : nodes.length === 0 ? (_jsx("p", { className: "starci-core-flow-graph-empty", "data-contract": "STATE-3", "data-grammar-flow-empty": "true", children: emptyLabel })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "starci-core-flow-graph-canvas", children: _jsxs(ReactFlow, { edges: flowEdges, edgesFocusable: false, elementsSelectable: true, fitView: true, fitViewOptions: FIT_OPTIONS, maxZoom: MAX_ZOOM, minZoom: 0.2, nodeOrigin: [0.5, 0.5], nodeTypes: NODE_TYPES, nodes: allNodes, nodesConnectable: false, nodesDraggable: false, nodesFocusable: true, onNodeClick: (_event, node) => { if (node.type === "flowGraph")
|
|
191
|
-
|
|
192
|
-
select(null); }, panOnDrag: isInteractive, panOnScroll: false, preventScrolling: wheelZooms, proOptions: { hideAttribution: true }, zoomOnDoubleClick: false, zoomOnPinch: isInteractive, zoomOnScroll: wheelZooms, children: [_jsx(Background, { className: "starci-core-flow-graph-background", gap: 1000, size: 0 }), controls ? _jsx(Controls, { "aria-label": `${label}: zoom`, className: "starci-core-flow-graph-controls", showInteractive: false }) : null, _jsx(Refit, { signature: signature, readableZoom: readableZoom, onGrow: onGrow })] }) }), _jsx("ul", { className: "starci-core-visually-hidden", "data-grammar-flow-fallback": "true", children:
|
|
384
|
+
return (_jsx("figure", { "aria-label": label, className: ["starci-core-flow-graph", className].filter(Boolean).join(" "), "data-component": "FlowGraph", "data-contract": "FOCUS-2 STATE-1 STATE-3", "data-grammar-flow-caption": hasBubbles && zoom < CAPTION_ZOOM ? "off" : undefined, "data-grammar-flow-direction": flowDirection, "data-grammar-flow-height": customHeight === undefined ? height : "custom", "data-grammar-flow-interactive": isInteractive ? "true" : "false", "data-grammar-flow-layout": layout, "data-grammar-flow-fit": fit, "data-grammar-flow-grown": grownHeight === null ? undefined : "true", "data-grammar-flow-mark": hasBubbles && zoom < MARK_ZOOM ? "off" : undefined, "data-tier": "branch", ref: figureRef, style: style, ...(isLoading ? { "aria-busy": true, "data-loading": "true" } : {}), onBlur: () => setTip(null), onFocus: onFocus, onKeyDown: onKeyDown, children: isLoading ? (_jsx("div", { className: "starci-core-flow-graph-canvas starci-core-flow-graph-loading", "data-grammar-flow-loading": "true", children: _jsx(Skeleton, { shape: "rect" }) })) : nodes.length === 0 ? (_jsx("p", { className: "starci-core-flow-graph-empty", "data-contract": "STATE-3", "data-grammar-flow-empty": "true", children: emptyLabel })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "starci-core-flow-graph-canvas", children: _jsxs(ReactFlow, { edges: flowEdges, edgesFocusable: false, elementsSelectable: true, fitView: true, fitViewOptions: FIT_OPTIONS, maxZoom: MAX_ZOOM, minZoom: 0.2, nodeOrigin: [0.5, 0.5], nodeTypes: NODE_TYPES, nodes: allNodes, nodesConnectable: false, nodesDraggable: false, nodesFocusable: true, onMoveStart: () => setTip(null), onNodeClick: (_event, node) => { if (node.type === "flowGraph")
|
|
385
|
+
activate(node.id); }, onNodeMouseEnter: (event) => showTip(event.currentTarget instanceof Element ? event.currentTarget : null), onNodeMouseLeave: () => setTip(null), onPaneClick: () => { if (currentId !== null)
|
|
386
|
+
select(null); }, panOnDrag: isInteractive, panOnScroll: false, preventScrolling: wheelZooms, proOptions: { hideAttribution: true }, zoomOnDoubleClick: false, zoomOnPinch: isInteractive, zoomOnScroll: wheelZooms, children: [_jsx(Background, { className: "starci-core-flow-graph-background", gap: 1000, size: 0 }), controls ? _jsx(Controls, { "aria-label": `${label}: zoom`, className: "starci-core-flow-graph-controls", showInteractive: false }) : null, _jsx(Refit, { signature: signature, readableZoom: readableZoom, onGrow: onGrow }), hasBubbles ? _jsx(ZoomMirror, { onZoom: setZoom }) : null] }) }), tip === null || tipNode === undefined ? null : (_jsxs("div", { "aria-hidden": "true", className: "starci-core-flow-graph-tip", "data-grammar-flow-tip": tip.id, "data-placement": tip.isBelow ? "bottom" : "top", style: { insetInlineStart: `${tip.x}px`, insetBlockStart: `${tip.y}px` }, children: [_jsx("span", { className: "starci-core-flow-graph-tip-label", children: tipNode.label }), tipNode.description === undefined ? null : _jsx("span", { className: "starci-core-flow-graph-tip-description", children: tipNode.description })] })), _jsx("ul", { className: "starci-core-visually-hidden", "data-grammar-flow-fallback": "true", children: shownNodes.map((node) => _jsx("li", { ...(node.id === currentId ? { "aria-current": "true" } : {}), children: labelFor(node) }, node.id)) }), edgeLabels.length === 0 ? null : (_jsx("ul", { className: "starci-core-visually-hidden", "data-grammar-flow-edge-fallback": "true", children: edgeLabels.map((edge) => _jsx("li", { children: edge.text }, edge.id)) }))] })) }));
|
|
193
387
|
};
|
|
194
388
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -47,4 +47,62 @@ export declare const layeredPositions: (nodes: ReadonlyArray<FlowGraphNode>, edg
|
|
|
47
47
|
* in the first gap (running along the target's lane). A node within half a lane gap of the run blocks it.
|
|
48
48
|
*/
|
|
49
49
|
export declare const layeredStepPosition: (edge: FlowGraphEdge, positions: ReadonlyMap<string, FlowGraphPoint>, layers: ReadonlyMap<string, number>, direction: FlowGraphDirection) => number | undefined;
|
|
50
|
+
/** The bubble width range in graph units, and the width a bubble takes when it gives none. */
|
|
51
|
+
export declare const FLOW_GRAPH_DIAMETER: {
|
|
52
|
+
readonly min: 24;
|
|
53
|
+
readonly max: 128;
|
|
54
|
+
};
|
|
55
|
+
export declare const FLOW_GRAPH_DEFAULT_DIAMETER = 48;
|
|
56
|
+
/**
|
|
57
|
+
* The bubble width for a value: a square-root scale, so the disc's area tracks the value. `max` is the value that draws at the
|
|
58
|
+
* widest, `range.max`; a value of 0 or less draws at `range.min`. The range defaults to the 24 to 128 a bubble accepts.
|
|
59
|
+
*/
|
|
60
|
+
export declare const flowGraphDiameter: (value: number, max: number, range?: {
|
|
61
|
+
readonly min: number;
|
|
62
|
+
readonly max: number;
|
|
63
|
+
}) => number;
|
|
64
|
+
/** The width a bubble draws at: its `diameter` held to the range. */
|
|
65
|
+
export declare const flowGraphBubbleDiameter: (node: FlowGraphNode) => number;
|
|
66
|
+
/** The ring distances of the orbit layout, in graph units. */
|
|
67
|
+
export declare const ORBIT_SECOND_RING = 226;
|
|
68
|
+
export declare const ORBIT_RING_GAP = 136;
|
|
69
|
+
export declare const ORBIT_STAGGER = 34;
|
|
70
|
+
export declare const ORBIT_FAN_GAP = 160;
|
|
71
|
+
export declare const ORBIT_FAN_STEP = 44;
|
|
72
|
+
/** The room a label pill claims on its ring in the orbit layout (a bubble claims its diameter). */
|
|
73
|
+
export declare const ORBIT_LABEL_SPAN = 120;
|
|
74
|
+
export type OrbitMore = {
|
|
75
|
+
/** The id of the synthetic `+n` bubble. */
|
|
76
|
+
readonly id: string;
|
|
77
|
+
/** The node whose fan it closes; selecting the bubble selects this node. */
|
|
78
|
+
readonly parentId: string;
|
|
79
|
+
/** How many members the fan holds beyond the limit. */
|
|
80
|
+
readonly count: number;
|
|
81
|
+
};
|
|
82
|
+
export type OrbitLayout = {
|
|
83
|
+
readonly positions: ReadonlyMap<string, FlowGraphPoint>;
|
|
84
|
+
/** The parent of every node the root reaches, along the shortest path. */
|
|
85
|
+
readonly parents: ReadonlyMap<string, string>;
|
|
86
|
+
/** The ids of the real nodes that draw now: rings one to three, the fans of open nodes, and the nodes the root does not reach. */
|
|
87
|
+
readonly visible: ReadonlySet<string>;
|
|
88
|
+
/** The nodes on ring three that hold deeper nodes, which show only while the node is open. */
|
|
89
|
+
readonly expandable: ReadonlySet<string>;
|
|
90
|
+
readonly more: ReadonlyArray<OrbitMore>;
|
|
91
|
+
/** The dashed guide rings. */
|
|
92
|
+
readonly radii: ReadonlyArray<number>;
|
|
93
|
+
/** Half the width of the square that holds the guides. */
|
|
94
|
+
readonly extent: number;
|
|
95
|
+
};
|
|
96
|
+
export declare const orbitMoreId: (parentId: string) => string;
|
|
97
|
+
/**
|
|
98
|
+
* Orbit positions, node centres in graph units, the root at (0, 0). Ring two holds the root's children in sectors weighted by
|
|
99
|
+
* what they hold; ring three holds their children, staggered on two radii inside the sector so it stays compact; ring four
|
|
100
|
+
* holds the fans of the ring-three nodes in `expanded`: every node below such a node, up to `fanLimit`, then a `+n` bubble.
|
|
101
|
+
* Fans sit on their node's bearing and push apart when several are open, the sequence cut at the widest empty arc so a fan
|
|
102
|
+
* never wraps into the first one. Nodes the root cannot reach share an outer ring.
|
|
103
|
+
*/
|
|
104
|
+
export declare const orbitLayout: (nodes: ReadonlyArray<FlowGraphNode>, edges: ReadonlyArray<FlowGraphEdge>, options: {
|
|
105
|
+
readonly expanded: ReadonlySet<string>;
|
|
106
|
+
readonly fanLimit: number;
|
|
107
|
+
}) => OrbitLayout;
|
|
50
108
|
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElF,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvE,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,MAAM,CAAA;AACxC,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,+FAA+F;AAC/F,eAAO,MAAM,aAAa,GAAI,OAAO,aAAa,CAAC,aAAa,CAAC,KAAG,aAAa,GAAG,SAC1B,CAAA;AAE1D;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,aAAa,CAAC,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC,aAAa,CAAC,KAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAqC5I,CAAA;AAED,yGAAyG;AACzG,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;CAA2D,CAAA;AAC5F,eAAO,MAAM,mBAAmB;;;CAA0D,CAAA;AAE1F,qFAAqF;AACrF,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,WAAW,kBAAkB,KAAG,MAAiD,CAAA;AAEhI;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GACzB,OAAO,aAAa,CAAC,aAAa,CAAC,EACnC,OAAO,aAAa,CAAC,aAAa,CAAC,EACnC,WAAW,kBAAkB,KAC9B;IAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CA8BzG,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC5B,MAAM,aAAa,EACnB,WAAW,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,EAC9C,QAAQ,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,WAAW,kBAAkB,KAC9B,MAAM,GAAG,SAqBX,CAAA"}
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/layout.ts"],"names":[],"mappings":"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"}
|