@xeonr/platform-ui 0.5.12 → 0.5.13

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/index.d.ts CHANGED
@@ -46,6 +46,7 @@ export { Board, BoardCardLine, BoardCardTitle, BoardCardFoot, type BoardLane } f
46
46
  export { EditableTitle } from "./kit/Editable.tsx";
47
47
  export { Tooltip, type TooltipProps } from "./kit/Tooltip.tsx";
48
48
  export { Sparkline, SparkRow, type SparklineProps } from "./kit/Sparkline.tsx";
49
+ export { Graph, type GraphProps, type GraphNode, type GraphEdge, type GraphPort, type GraphTone } from "./kit/Graph.tsx";
49
50
  export { ApiKeys, keyHint, type ApiKeysProps, type ApiKeyRow, type ApiKeyBindingRow, type ApiKeyOwnerKind, type ApiKeyResourceMode, type ApiKeyScopePreset, type ApiKeyResourceTypeSpec, type ApiKeyCreateInput, type ApiKeyUpdateInput, } from "./kit/ApiKeys.tsx";
50
51
  export { RouteTabs, QueryTabs, LocalTabs, useQueryTab, useTabActions, type RouteTabsProps, type QueryTabsProps, type LocalTabsProps } from "./kit/TabStrip.tsx";
51
52
  export { Forbidden, ParentBar } from "./kit/Forbidden.tsx";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -80,6 +80,10 @@ export { EditableTitle } from "./kit/Editable.js";
80
80
  // every list of entities-with-a-trend wants.
81
81
  export { Tooltip } from "./kit/Tooltip.js";
82
82
  export { Sparkline, SparkRow } from "./kit/Sparkline.js";
83
+ // Added for the Storage console's pipeline editor (2026-10-15, UPL-125): the
84
+ // wired graph — nodes with ports, edges between them — drawn in the kit's own
85
+ // SVG so the colours are the tokens and the layout is the caller's order.
86
+ export { Graph } from "./kit/Graph.js";
83
87
  // Added for centralised API keys (2026-10-13, CON-23): the one keys screen
84
88
  // every product shows for the keys auth holds on its behalf, and the portal's
85
89
  // read-only view across products. API-agnostic — the host maps its wire type
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { type ReactNode } from "react";
2
+ import { type Tone } from "./Badge.tsx";
3
+ export type GraphTone = Tone;
4
+ export interface GraphPort {
5
+ /** unique within the node; the thing edges name */
6
+ id: string;
7
+ label: string;
8
+ /** what kind of thing passes through it — `kv`, `blob`, `metadata` */
9
+ sub?: string | undefined;
10
+ /** drawn bold with a star: the node cannot run without it */
11
+ required?: boolean | undefined;
12
+ /** a literal the input holds, shown under the label (an input that is not wired) */
13
+ value?: string | undefined;
14
+ /** hover text — the full reference an edge stands for */
15
+ hint?: string | undefined;
16
+ }
17
+ export interface GraphNode {
18
+ id: string;
19
+ title: ReactNode;
20
+ /** a small mono tag before the title — the node's kind */
21
+ kind?: string | undefined;
22
+ /** the right-hand side of the header — a status pill on a run page */
23
+ badge?: ReactNode | undefined;
24
+ /** the line under the ports — the ref the node runs, a version */
25
+ sub?: ReactNode | undefined;
26
+ /** a line in the danger tone under `sub` — the failure message */
27
+ note?: ReactNode | undefined;
28
+ inputs?: GraphPort[] | undefined;
29
+ outputs?: GraphPort[] | undefined;
30
+ /** the border and header colour: the status the node reached (default `mut`) */
31
+ tone?: GraphTone | undefined;
32
+ /** dashed and unselectable: a trigger, a built-in step — context, not content */
33
+ dim?: boolean | undefined;
34
+ /** contiguous nodes sharing a group get a labelled band above them */
35
+ group?: string | undefined;
36
+ /** px (default 220) */
37
+ width?: number | undefined;
38
+ }
39
+ export interface GraphEdge {
40
+ id: string;
41
+ from: {
42
+ node: string;
43
+ port: string;
44
+ };
45
+ to: {
46
+ node: string;
47
+ port: string;
48
+ };
49
+ /** the curve's colour (default `brand`); `crit` with a `label` is a wiring the caller rejects */
50
+ tone?: GraphTone | undefined;
51
+ /** a short label at the curve's midpoint — why it is wrong */
52
+ label?: string | undefined;
53
+ /** a moving dash: data is passing right now */
54
+ animated?: boolean | undefined;
55
+ }
56
+ export interface GraphProps {
57
+ nodes: GraphNode[];
58
+ edges: GraphEdge[];
59
+ /** `view` selects nodes; `edit` also wires ports and removes edges (default `view`) */
60
+ mode?: "view" | "edit" | undefined;
61
+ selected?: string | null | undefined;
62
+ onSelect?: ((id: string | null) => void) | undefined;
63
+ /** edit: an output was dropped on an input (or the reverse) */
64
+ onConnect?: ((from: {
65
+ node: string;
66
+ port: string;
67
+ }, to: {
68
+ node: string;
69
+ port: string;
70
+ }) => void) | undefined;
71
+ /** edit: the person removed an edge */
72
+ onDisconnect?: ((edge: GraphEdge) => void) | undefined;
73
+ /** draw the dashed run-order chain between consecutive nodes (default true) */
74
+ flow?: boolean | undefined;
75
+ /** px; the surface grows with its tallest node and scrolls sideways (default 200) */
76
+ minHeight?: number | undefined;
77
+ /** shown in place of the surface when there are no nodes */
78
+ empty?: ReactNode | undefined;
79
+ /** accessible description of the surface */
80
+ label?: string | undefined;
81
+ className?: string | undefined;
82
+ }
83
+ /**
84
+ * Graph: nodes with ports and the edges between them, in the caller's order.
85
+ *
86
+ * Reach for it where the wiring is the content — which step feeds which, and
87
+ * with what. A list of steps whose connections are not the point is a
88
+ * `Steps` walkthrough or a `RowList`; a tree is a `RowList` with `depth`.
89
+ */
90
+ export declare function Graph({ nodes, edges, mode, selected, onSelect, onConnect, onDisconnect, flow, minHeight, empty, label, className, }: GraphProps): import("react").JSX.Element;
91
+ //# sourceMappingURL=Graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../src/kit/Graph.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,503 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
3
+ import styled, { css, keyframes } from "styled-components";
4
+ import { v } from "../theme/tokens.js";
5
+ import { Tag } from "./Badge.js";
6
+ // ---------------------------------------------------------------------------
7
+ // Geometry
8
+ // ---------------------------------------------------------------------------
9
+ const NODE_W = 220;
10
+ const GAP = 44;
11
+ const PAD = 18;
12
+ const BAND_H = 24;
13
+ const DOT = 9;
14
+ const portKey = (node, port, side) => `${side}|${node}|${port}`;
15
+ const TONE_STROKE = {
16
+ brand: v.brand, ok: v.success, warn: v.warning, crit: v.danger, info: v.info, run: v.running, mut: v.faint, data: v.data,
17
+ };
18
+ const TONE_BG = {
19
+ brand: v.brand08, ok: v.successBg, warn: v.warningBg, crit: v.dangerBg, info: v.infoBg, run: v.runningBg, mut: v.hover, data: v.dataBg,
20
+ };
21
+ /** A cubic from an output dot to an input dot; loops back when the input is behind. */
22
+ function curve(a, b) {
23
+ const dx = Math.max(40, Math.abs(b.x - a.x) / 2);
24
+ return `M${a.x},${a.y} C${a.x + dx},${a.y} ${b.x - dx},${b.y} ${b.x},${b.y}`;
25
+ }
26
+ function midpoint(a, b) {
27
+ // The midpoint of the cubic above, which for symmetric control points is the
28
+ // average of the ends.
29
+ return { x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 };
30
+ }
31
+ const LANE_H = 12;
32
+ const CORNER = 8;
33
+ const STUB = 14;
34
+ /**
35
+ * An edge between nodes that are not neighbours goes under the row rather
36
+ * than through whatever sits between them: out of the port, down to its lane,
37
+ * across, and up into the input. Two edges share a lane when their spans do
38
+ * not overlap.
39
+ */
40
+ function laned(a, b, laneY) {
41
+ const x1 = a.x + STUB;
42
+ const x2 = b.x - STUB;
43
+ const r = CORNER;
44
+ return `M${a.x},${a.y} H${x1 - r} Q${x1},${a.y} ${x1},${a.y + r} V${laneY - r} Q${x1},${laneY} ${x1 + r},${laneY}`
45
+ + ` H${x2 - r} Q${x2},${laneY} ${x2},${laneY - r} V${b.y + r} Q${x2},${b.y} ${x2 + r},${b.y} H${b.x}`;
46
+ }
47
+ /** Which edges go under the row, and in which lane. */
48
+ function assignLanes(nodes, edges) {
49
+ const order = new Map(nodes.map((n, i) => [n.id, i]));
50
+ const spans = [];
51
+ for (const e of edges) {
52
+ const i = order.get(e.from.node);
53
+ const j = order.get(e.to.node);
54
+ if (i === undefined || j === undefined || j === i + 1)
55
+ continue;
56
+ spans.push({ id: e.id, i: Math.min(i, j), j: Math.max(i, j) });
57
+ }
58
+ // The shortest span takes the lane nearest the row, so an edge's stubs cross
59
+ // as few other lanes as the shared source allows.
60
+ spans.sort((p, q) => p.i - q.i || p.j - q.j);
61
+ const lanes = [];
62
+ const out = new Map();
63
+ for (const sp of spans) {
64
+ let lane = lanes.findIndex((last) => last <= sp.i);
65
+ if (lane === -1) {
66
+ lane = lanes.length;
67
+ lanes.push(sp.j);
68
+ }
69
+ else
70
+ lanes[lane] = sp.j;
71
+ out.set(sp.id, lane);
72
+ }
73
+ return out;
74
+ }
75
+ // ---------------------------------------------------------------------------
76
+ // Styles
77
+ // ---------------------------------------------------------------------------
78
+ const Surface = styled.div `
79
+ position: relative;
80
+ overflow: auto;
81
+ border: 1px solid ${v.line};
82
+ border-radius: ${v.rPanel};
83
+ background-color: ${v.surface2};
84
+ background-image: radial-gradient(${v.line} 1px, transparent 1px);
85
+ background-size: 16px 16px;
86
+ `;
87
+ const Content = styled.div `
88
+ position: relative;
89
+ display: inline-flex;
90
+ align-items: flex-start;
91
+ gap: ${GAP}px;
92
+ padding: ${(p) => (p.$band ? PAD + BAND_H : PAD)}px ${PAD}px ${(p) => PAD + (p.$lanes ? 6 + p.$lanes * LANE_H : 0)}px;
93
+ min-width: 100%;
94
+ `;
95
+ const Band = styled.div `
96
+ position: absolute;
97
+ height: ${BAND_H - 6}px;
98
+ padding: 0 8px;
99
+ display: flex;
100
+ align-items: center;
101
+ gap: 6px;
102
+ border: 1px dashed ${v.brand55};
103
+ border-radius: 5px;
104
+ background: ${v.brand08};
105
+ color: ${v.brand};
106
+ font-size: 10.5px;
107
+ font-weight: 600;
108
+ white-space: nowrap;
109
+ overflow: hidden;
110
+ pointer-events: none;
111
+ code { font-family: ${v.mono}; font-weight: 500; }
112
+ `;
113
+ const NodeBox = styled.div `
114
+ position: relative;
115
+ flex: none;
116
+ width: ${(p) => p.$w}px;
117
+ border-radius: 10px;
118
+ background: ${(p) => (p.$dim ? v.surface2 : v.surface)};
119
+ border: ${(p) => (p.$dim ? "1px dashed" : "1.5px solid")} ${(p) => (p.$selected ? v.brand : p.$dim ? v.line2 : TONE_STROKE[p.$tone] === v.faint ? v.line2 : TONE_STROKE[p.$tone])};
120
+ box-shadow: ${(p) => (p.$selected ? `0 0 0 3px ${v.brand22}` : "none")};
121
+ color: ${v.text};
122
+ cursor: ${(p) => (p.$selectable ? "pointer" : "default")};
123
+ outline: none;
124
+ ${(p) => p.$selectable && css `&:hover { border-color: ${v.brand}; }`}
125
+ &:focus-visible { box-shadow: ${v.ring}; }
126
+ `;
127
+ const Head = styled.div `
128
+ display: flex;
129
+ align-items: center;
130
+ justify-content: space-between;
131
+ gap: 6px;
132
+ padding: 6px 10px;
133
+ border-bottom: 1px solid ${v.line};
134
+ border-radius: 9px 9px 0 0;
135
+ background: ${(p) => (p.$dim || p.$tone === "mut" ? "transparent" : TONE_BG[p.$tone])};
136
+ min-width: 0;
137
+ & > .title { display: flex; align-items: center; gap: 6px; min-width: 0; font-weight: 600; font-size: 12.5px; }
138
+ & > .title > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
139
+ & > .badge { flex: none; display: inline-flex; }
140
+ `;
141
+ const Body = styled.div `
142
+ display: flex;
143
+ align-items: flex-start;
144
+ gap: 4px;
145
+ padding: 6px 0;
146
+ min-height: 34px;
147
+ & > div { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
148
+ `;
149
+ const PortRow = styled.div `
150
+ position: relative;
151
+ min-height: 20px;
152
+ min-width: 0;
153
+ padding: ${(p) => (p.$side === "in" ? "1px 4px 1px 14px" : "1px 14px 1px 4px")};
154
+ text-align: ${(p) => (p.$side === "in" ? "left" : "right")};
155
+ font-size: 11.5px;
156
+ line-height: 18px;
157
+ & > .label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
158
+ & > .label > .sub { color: ${v.faint}; }
159
+ & > .label.required { font-weight: 600; }
160
+ & > .value { color: ${v.faint}; font-family: ${v.mono}; font-size: 10.5px; line-height: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
161
+ `;
162
+ const Dot = styled.span `
163
+ position: absolute;
164
+ top: 5px;
165
+ ${(p) => (p.$side === "in" ? "left" : "right")}: -${DOT / 2 + 1}px;
166
+ width: ${DOT}px;
167
+ height: ${DOT}px;
168
+ border-radius: 50%;
169
+ background: ${(p) => (p.$target ? v.success : v.brand)};
170
+ border: 1.5px solid ${v.surface};
171
+ box-sizing: border-box;
172
+ ${(p) => p.$live && css `cursor: crosshair; &:hover { transform: scale(1.35); }`}
173
+ ${(p) => p.$target && css `transform: scale(1.5); box-shadow: 0 0 0 3px ${v.successBg};`}
174
+ transition: transform 80ms ease;
175
+ `;
176
+ const NoPorts = styled.div `
177
+ color: ${v.faint};
178
+ font-size: 11px;
179
+ padding: 1px 8px;
180
+ `;
181
+ const Foot = styled.div `
182
+ padding: 4px 10px 6px;
183
+ border-top: 1px solid ${v.line};
184
+ font-size: 11px;
185
+ color: ${v.faint};
186
+ min-width: 0;
187
+ & > div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
188
+ & > .note { color: ${v.danger}; }
189
+ `;
190
+ const march = keyframes `to { stroke-dashoffset: -20; }`;
191
+ const Overlay = styled.svg `
192
+ position: absolute;
193
+ top: 0;
194
+ left: 0;
195
+ pointer-events: none;
196
+ overflow: visible;
197
+ .hit { fill: none; stroke: transparent; stroke-width: 14px; pointer-events: stroke; cursor: pointer; }
198
+ .hit.static { pointer-events: none; cursor: default; }
199
+ .edge { fill: none; stroke-width: 1.5px; }
200
+ .edge.animated { stroke-dasharray: 6 4; animation: ${march} 0.8s linear infinite; }
201
+ .edge.picked { stroke-width: 2.5px; }
202
+ .flow { fill: none; stroke: ${v.faint}; stroke-width: 1.25px; stroke-dasharray: 5 4; opacity: 0.7; }
203
+ .draft { fill: none; stroke: ${v.brand}; stroke-width: 1.5px; stroke-dasharray: 4 3; }
204
+ `;
205
+ const EdgeLabel = styled.div `
206
+ position: absolute;
207
+ transform: translate(-50%, -50%);
208
+ padding: 1px 6px;
209
+ border-radius: 4px;
210
+ font-size: 10px;
211
+ font-weight: 600;
212
+ white-space: nowrap;
213
+ color: ${(p) => TONE_STROKE[p.$tone]};
214
+ background: ${(p) => TONE_BG[p.$tone]};
215
+ border: 1px solid ${(p) => TONE_STROKE[p.$tone]};
216
+ pointer-events: none;
217
+ `;
218
+ const Remove = styled.button `
219
+ position: absolute;
220
+ transform: translate(-50%, -50%);
221
+ width: 20px;
222
+ height: 20px;
223
+ border-radius: 50%;
224
+ display: inline-flex;
225
+ align-items: center;
226
+ justify-content: center;
227
+ background: ${v.surface};
228
+ border: 1px solid ${v.danger};
229
+ color: ${v.danger};
230
+ font-size: 13px;
231
+ line-height: 1;
232
+ box-shadow: 0 1px 2px ${v.scrim};
233
+ &:hover { background: ${v.dangerBg}; }
234
+ `;
235
+ const Empty = styled.div `
236
+ padding: 22px;
237
+ text-align: center;
238
+ color: ${v.faint};
239
+ font-size: 12px;
240
+ `;
241
+ // ---------------------------------------------------------------------------
242
+ // Component
243
+ // ---------------------------------------------------------------------------
244
+ /**
245
+ * Graph: nodes with ports and the edges between them, in the caller's order.
246
+ *
247
+ * Reach for it where the wiring is the content — which step feeds which, and
248
+ * with what. A list of steps whose connections are not the point is a
249
+ * `Steps` walkthrough or a `RowList`; a tree is a `RowList` with `depth`.
250
+ */
251
+ export function Graph({ nodes, edges, mode = "view", selected = null, onSelect, onConnect, onDisconnect, flow = true, minHeight = 200, empty, label, className, }) {
252
+ const content = useRef(null);
253
+ const portEls = useRef(new Map());
254
+ const nodeEls = useRef(new Map());
255
+ const [m, setM] = useState(null);
256
+ const [picked, setPicked] = useState(null);
257
+ const [draft, setDraft] = useState(null);
258
+ // A drag that started on a port ends with a click on the node it sits in;
259
+ // that click is the drag's, not a selection.
260
+ const dragged = useRef(false);
261
+ const editing = mode === "edit";
262
+ const hasBand = nodes.some((n) => n.group);
263
+ const lanes = useMemo(() => assignLanes(nodes, edges), [nodes, edges]);
264
+ const laneCount = lanes.size ? Math.max(...lanes.values()) + 1 : 0;
265
+ // Measure every port dot and node box relative to the content's origin, and
266
+ // keep the measurement when nothing moved — a state change here re-renders,
267
+ // and a re-render that measures the same numbers must not loop.
268
+ const measure = useCallback(() => {
269
+ const root = content.current;
270
+ if (!root)
271
+ return;
272
+ const origin = root.getBoundingClientRect();
273
+ const ports = {};
274
+ for (const [key, el] of portEls.current) {
275
+ const r = el.getBoundingClientRect();
276
+ ports[key] = { x: r.left - origin.left + r.width / 2, y: r.top - origin.top + r.height / 2 };
277
+ }
278
+ const boxes = {};
279
+ for (const [id, el] of nodeEls.current) {
280
+ const r = el.getBoundingClientRect();
281
+ boxes[id] = { x: r.left - origin.left, y: r.top - origin.top, w: r.width, h: r.height };
282
+ }
283
+ const next = { ports, boxes, w: root.scrollWidth, h: root.scrollHeight };
284
+ setM((prev) => (prev && sameMeasure(prev, next) ? prev : next));
285
+ }, []);
286
+ useLayoutEffect(() => { measure(); });
287
+ useEffect(() => {
288
+ const root = content.current;
289
+ if (!root || typeof ResizeObserver === "undefined")
290
+ return;
291
+ const ro = new ResizeObserver(() => measure());
292
+ ro.observe(root);
293
+ for (const el of nodeEls.current.values())
294
+ ro.observe(el);
295
+ return () => ro.disconnect();
296
+ }, [measure, nodes.length]);
297
+ // A picked edge that the caller removed, or that stopped existing, is forgotten.
298
+ useEffect(() => { if (picked && !edges.some((e) => e.id === picked))
299
+ setPicked(null); }, [edges, picked]);
300
+ useEffect(() => { if (!editing)
301
+ setPicked(null); }, [editing]);
302
+ const register = useCallback((key) => (el) => {
303
+ if (el)
304
+ portEls.current.set(key, el);
305
+ else
306
+ portEls.current.delete(key);
307
+ }, []);
308
+ const registerNode = useCallback((id) => (el) => {
309
+ if (el)
310
+ nodeEls.current.set(id, el);
311
+ else
312
+ nodeEls.current.delete(id);
313
+ }, []);
314
+ // --- wiring by drag ---------------------------------------------------
315
+ const toLocal = useCallback((e) => {
316
+ const origin = content.current?.getBoundingClientRect();
317
+ return origin ? { x: e.clientX - origin.left, y: e.clientY - origin.top } : { x: 0, y: 0 };
318
+ }, []);
319
+ const startDrag = (node, port, side) => (e) => {
320
+ if (!editing || !onConnect)
321
+ return;
322
+ e.preventDefault();
323
+ e.stopPropagation();
324
+ e.currentTarget.setPointerCapture(e.pointerId);
325
+ setDraft({ from: { node, port, side }, at: toLocal(e), over: null });
326
+ dragged.current = true;
327
+ };
328
+ const moveDrag = (e) => {
329
+ if (!draft)
330
+ return;
331
+ const over = portUnder(e.clientX, e.clientY, draft.from.side === "out" ? "in" : "out");
332
+ setDraft({ ...draft, at: toLocal(e), over: over && over.node !== draft.from.node ? over : null });
333
+ };
334
+ const endDrag = (e) => {
335
+ if (!draft)
336
+ return;
337
+ e.currentTarget.releasePointerCapture(e.pointerId);
338
+ const over = portUnder(e.clientX, e.clientY, draft.from.side === "out" ? "in" : "out");
339
+ if (over && over.node !== draft.from.node && onConnect) {
340
+ const a = { node: draft.from.node, port: draft.from.port };
341
+ if (draft.from.side === "out")
342
+ onConnect(a, over);
343
+ else
344
+ onConnect(over, a);
345
+ }
346
+ setDraft(null);
347
+ };
348
+ const remove = (edge) => { onDisconnect?.(edge); setPicked(null); };
349
+ const onKey = (e) => {
350
+ if (!editing || !picked)
351
+ return;
352
+ if (e.key === "Delete" || e.key === "Backspace") {
353
+ const edge = edges.find((x) => x.id === picked);
354
+ if (edge) {
355
+ e.preventDefault();
356
+ remove(edge);
357
+ }
358
+ }
359
+ if (e.key === "Escape")
360
+ setPicked(null);
361
+ };
362
+ // --- group bands --------------------------------------------------------
363
+ const bands = useMemo(() => {
364
+ if (!m || !hasBand)
365
+ return [];
366
+ const out = [];
367
+ let cur = null;
368
+ const flush = () => {
369
+ if (!cur)
370
+ return;
371
+ const a = m.boxes[cur.first];
372
+ const b = m.boxes[cur.last];
373
+ if (a && b && cur.count > 1)
374
+ out.push({ key: `${cur.label}:${cur.first}`, label: cur.label, count: cur.count, x: a.x - 6, w: b.x + b.w - a.x + 12 });
375
+ cur = null;
376
+ };
377
+ for (const n of nodes) {
378
+ if (n.group && cur && cur.label === n.group) {
379
+ cur.last = n.id;
380
+ cur.count++;
381
+ continue;
382
+ }
383
+ flush();
384
+ if (n.group)
385
+ cur = { label: n.group, first: n.id, last: n.id, count: 1 };
386
+ }
387
+ flush();
388
+ return out;
389
+ }, [m, nodes, hasBand]);
390
+ if (nodes.length === 0) {
391
+ return _jsx(Surface, { className: className, style: { minHeight }, children: _jsx(Empty, { children: empty ?? "Nothing to draw yet." }) });
392
+ }
393
+ const tonesUsed = new Set(["mut"]);
394
+ for (const e of edges)
395
+ tonesUsed.add(e.tone ?? "brand");
396
+ return (_jsx(Surface, { className: className, style: { minHeight }, ...(label ? { role: "group", "aria-label": label } : {}), tabIndex: editing ? 0 : undefined, onKeyDown: onKey, onClick: () => setPicked(null), children: _jsxs(Content, { ref: content, "$band": hasBand, "$lanes": laneCount, children: [bands.map((b) => (_jsxs(Band, { style: { left: b.x, top: PAD - 2, width: b.w }, children: ["inlined ", _jsx("code", { children: b.label }), " \u00B7 ", b.count, " step", b.count === 1 ? "" : "s"] }, b.key))), nodes.map((n) => {
397
+ const selectable = !n.dim && !!onSelect;
398
+ const tone = n.tone ?? "mut";
399
+ const open = () => { if (selectable)
400
+ onSelect?.(n.id === selected ? null : n.id); };
401
+ const ins = n.inputs ?? [];
402
+ const outs = n.outputs ?? [];
403
+ return (_jsxs(NodeBox, { ref: registerNode(n.id), "$w": n.width ?? NODE_W, "$tone": tone, "$dim": !!n.dim, "$selected": selected === n.id, "$selectable": selectable, "data-node": n.id, ...(selectable ? { role: "button", tabIndex: 0, "aria-pressed": selected === n.id } : {}), onClick: (e) => { e.stopPropagation(); if (dragged.current) {
404
+ dragged.current = false;
405
+ return;
406
+ } setPicked(null); open(); }, onKeyDown: (e) => { if (selectable && (e.key === "Enter" || e.key === " ")) {
407
+ e.preventDefault();
408
+ open();
409
+ } }, children: [_jsxs(Head, { "$tone": tone, "$dim": !!n.dim, children: [_jsxs("span", { className: "title", children: [n.kind ? _jsx(Tag, { "$tone": n.dim ? "mut" : "brand", children: n.kind }) : null, _jsx("strong", { children: n.title })] }), n.badge ? _jsx("span", { className: "badge", children: n.badge }) : null] }), ins.length === 0 && outs.length === 0 && !n.sub && !n.note ? null : (_jsxs(Body, { children: [_jsx("div", { children: ins.length === 0 ? (n.dim ? null : _jsx(NoPorts, { children: "no inputs" })) : ins.map((p) => (_jsxs(PortRow, { "$side": "in", "data-port-row": true, title: p.hint ?? `${p.label}${p.sub ? ` · ${p.sub}` : ""}`, children: [_jsx(Dot, { ref: register(portKey(n.id, p.id, "in")), "$side": "in", "$live": editing && !!onConnect, "$target": !!draft && draft.over?.node === n.id && draft.over.port === p.id, "data-port": p.id, "data-port-node": n.id, "data-port-side": "in", onPointerDown: startDrag(n.id, p.id, "in"), onPointerMove: moveDrag, onPointerUp: endDrag }), _jsxs("div", { className: `label${p.required ? " required" : ""}`, children: [p.label, p.required ? "*" : "", p.sub ? _jsxs("span", { className: "sub", children: [" \u00B7 ", p.sub] }) : null] }), p.value ? _jsxs("div", { className: "value", children: ["= ", p.value] }) : null] }, p.id))) }), _jsx("div", { children: outs.length === 0 ? (n.dim ? null : _jsx(NoPorts, { style: { textAlign: "right" }, children: "no outputs" })) : outs.map((p) => (_jsxs(PortRow, { "$side": "out", "data-port-row": true, title: p.hint ?? `${p.label}${p.sub ? ` · ${p.sub}` : ""}`, children: [_jsx(Dot, { ref: register(portKey(n.id, p.id, "out")), "$side": "out", "$live": editing && !!onConnect, "$target": !!draft && draft.over?.node === n.id && draft.over.port === p.id, "data-port": p.id, "data-port-node": n.id, "data-port-side": "out", onPointerDown: startDrag(n.id, p.id, "out"), onPointerMove: moveDrag, onPointerUp: endDrag }), _jsxs("div", { className: `label${p.required ? " required" : ""}`, children: [p.label, p.sub ? _jsxs("span", { className: "sub", children: [" \u00B7 ", p.sub] }) : null] })] }, p.id))) })] })), n.sub || n.note ? (_jsxs(Foot, { children: [n.sub ? _jsx("div", { children: n.sub }) : null, n.note ? _jsx("div", { className: "note", children: n.note }) : null] })) : null] }, n.id));
410
+ }), m ? (() => {
411
+ const floor = Math.max(0, ...Object.values(m.boxes).map((b) => b.y + b.h));
412
+ const laneY = (lane) => floor + 10 + lane * LANE_H;
413
+ const geometry = (e) => {
414
+ const a = m.ports[portKey(e.from.node, e.from.port, "out")];
415
+ const b = m.ports[portKey(e.to.node, e.to.port, "in")];
416
+ if (!a || !b)
417
+ return null;
418
+ const lane = lanes.get(e.id);
419
+ if (lane === undefined)
420
+ return { d: curve(a, b), mid: midpoint(a, b) };
421
+ const y = laneY(lane);
422
+ return { d: laned(a, b, y), mid: { x: (a.x + STUB + b.x - STUB) / 2, y } };
423
+ };
424
+ return (_jsxs(_Fragment, { children: [_jsxs(Overlay, { width: m.w, height: m.h, "aria-hidden": true, children: [_jsx("defs", { children: [...tonesUsed].map((t) => (_jsx("marker", { id: `x-graph-arrow-${t}`, viewBox: "0 0 10 10", refX: "9", refY: "5", markerWidth: "7", markerHeight: "7", orient: "auto-start-reverse", children: _jsx("path", { d: "M0,0 L10,5 L0,10 z", fill: TONE_STROKE[t] }) }, t))) }), flow ? nodes.slice(0, -1).map((n, i) => {
425
+ const a = m.boxes[n.id];
426
+ const b = m.boxes[nodes[i + 1].id];
427
+ if (!a || !b)
428
+ return null;
429
+ // Through the headers, which every node has at the same height.
430
+ const from = { x: a.x + a.w, y: a.y + 17 };
431
+ const to = { x: b.x, y: b.y + 17 };
432
+ return _jsx("path", { className: "flow", d: curve(from, to), markerEnd: "url(#x-graph-arrow-mut)" }, `flow:${n.id}`);
433
+ }) : null, edges.map((e) => {
434
+ const g = geometry(e);
435
+ if (!g)
436
+ return null;
437
+ const tone = e.tone ?? "brand";
438
+ const d = g.d;
439
+ return (_jsxs("g", { children: [_jsx("path", { className: `edge${e.animated ? " animated" : ""}${picked === e.id ? " picked" : ""}`, d: d, stroke: TONE_STROKE[tone], markerEnd: `url(#x-graph-arrow-${tone})` }), _jsx("path", { className: `hit${editing && onDisconnect ? "" : " static"}`, d: d, onClick: (ev) => { ev.stopPropagation(); setPicked(picked === e.id ? null : e.id); } })] }, e.id));
440
+ }), draft ? (() => {
441
+ const a = m.ports[portKey(draft.from.node, draft.from.port, draft.from.side)];
442
+ if (!a)
443
+ return null;
444
+ const b = draft.over ? m.ports[portKey(draft.over.node, draft.over.port, draft.from.side === "out" ? "in" : "out")] ?? draft.at : draft.at;
445
+ return _jsx("path", { className: "draft", d: draft.from.side === "out" ? curve(a, b) : curve(b, a) });
446
+ })() : null] }), edges.map((e) => {
447
+ const g = geometry(e);
448
+ if (!g)
449
+ return null;
450
+ const mid = g.mid;
451
+ if (editing && onDisconnect && picked === e.id) {
452
+ return _jsx(Remove, { type: "button", "aria-label": "Remove this connection", title: "Remove this connection", style: { left: mid.x, top: mid.y }, onClick: (ev) => { ev.stopPropagation(); remove(e); }, children: "\u00D7" }, `rm:${e.id}`);
453
+ }
454
+ return e.label ? _jsx(EdgeLabel, { "$tone": e.tone ?? "brand", style: { left: mid.x, top: mid.y }, children: e.label }, `lb:${e.id}`) : null;
455
+ })] }));
456
+ })() : null] }) }));
457
+ }
458
+ function sameMeasure(a, b) {
459
+ if (a.w !== b.w || a.h !== b.h)
460
+ return false;
461
+ const ak = Object.keys(a.ports);
462
+ const bk = Object.keys(b.ports);
463
+ if (ak.length !== bk.length)
464
+ return false;
465
+ for (const k of bk) {
466
+ const p = a.ports[k];
467
+ const q = b.ports[k];
468
+ if (!p || Math.abs(p.x - q.x) > 0.5 || Math.abs(p.y - q.y) > 0.5)
469
+ return false;
470
+ }
471
+ const an = Object.keys(a.boxes);
472
+ const bn = Object.keys(b.boxes);
473
+ if (an.length !== bn.length)
474
+ return false;
475
+ for (const k of bn) {
476
+ const p = a.boxes[k];
477
+ const q = b.boxes[k];
478
+ if (!p || Math.abs(p.x - q.x) > 0.5 || Math.abs(p.y - q.y) > 0.5 || Math.abs(p.w - q.w) > 0.5 || Math.abs(p.h - q.h) > 0.5)
479
+ return false;
480
+ }
481
+ return true;
482
+ }
483
+ /** The port dot under a point, of the side a drag can land on; the dot is tiny, so its row counts too. */
484
+ function portUnder(x, y, side) {
485
+ if (typeof document === "undefined")
486
+ return null;
487
+ let el = document.elementFromPoint(x, y);
488
+ while (el && !(el instanceof HTMLElement && el.dataset.port !== undefined)) {
489
+ if (el instanceof HTMLElement && el.dataset.node !== undefined)
490
+ break;
491
+ el = el.parentElement;
492
+ }
493
+ if (el instanceof HTMLElement && el.dataset.port !== undefined && el.dataset.portSide === side && el.dataset.portNode) {
494
+ return { node: el.dataset.portNode, port: el.dataset.port };
495
+ }
496
+ // Not on a dot: the row the dot sits in also takes the drop.
497
+ const row = document.elementFromPoint(x, y)?.closest("[data-port-row]");
498
+ const dot = row?.querySelector(`[data-port-side="${side}"]`);
499
+ if (dot?.dataset.portNode && dot.dataset.port !== undefined)
500
+ return { node: dot.dataset.portNode, port: dot.dataset.port };
501
+ return null;
502
+ }
503
+ //# sourceMappingURL=Graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../src/kit/Graph.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xeonr/platform-ui",
3
- "version": "0.5.12",
3
+ "version": "0.5.13",
4
4
  "description": "Xeonr Platform Suite design language: the --x-* token sheet, theme provider and kit shared by every Xeonr console.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",