@xeonr/platform-ui 1.5.1 → 1.6.1
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 +12 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/kit/Anchored.d.ts.map +1 -1
- package/dist/kit/Anchored.js +4 -1
- package/dist/kit/Anchored.js.map +1 -1
- package/dist/kit/Blocks.d.ts +6 -1
- package/dist/kit/Blocks.d.ts.map +1 -1
- package/dist/kit/Blocks.js +13 -2
- package/dist/kit/Blocks.js.map +1 -1
- package/dist/kit/Card.d.ts +6 -1
- package/dist/kit/Card.d.ts.map +1 -1
- package/dist/kit/Card.js +19 -4
- package/dist/kit/Card.js.map +1 -1
- package/dist/kit/Charts.d.ts +39 -3
- package/dist/kit/Charts.d.ts.map +1 -1
- package/dist/kit/Charts.js +70 -15
- package/dist/kit/Charts.js.map +1 -1
- package/dist/kit/CommandPalette.d.ts +47 -0
- package/dist/kit/CommandPalette.d.ts.map +1 -0
- package/dist/kit/CommandPalette.js +204 -0
- package/dist/kit/CommandPalette.js.map +1 -0
- package/dist/kit/DataTable.d.ts +18 -2
- package/dist/kit/DataTable.d.ts.map +1 -1
- package/dist/kit/DataTable.js +45 -6
- package/dist/kit/DataTable.js.map +1 -1
- package/dist/kit/Editable.d.ts +30 -0
- package/dist/kit/Editable.d.ts.map +1 -1
- package/dist/kit/Editable.js +150 -3
- package/dist/kit/Editable.js.map +1 -1
- package/dist/kit/EmptyState.d.ts +9 -2
- package/dist/kit/EmptyState.d.ts.map +1 -1
- package/dist/kit/EmptyState.js +16 -2
- package/dist/kit/EmptyState.js.map +1 -1
- package/dist/kit/GroupedMultiSelect.d.ts +57 -0
- package/dist/kit/GroupedMultiSelect.d.ts.map +1 -0
- package/dist/kit/GroupedMultiSelect.js +219 -0
- package/dist/kit/GroupedMultiSelect.js.map +1 -0
- package/dist/kit/List.d.ts +18 -1
- package/dist/kit/List.d.ts.map +1 -1
- package/dist/kit/List.js +38 -10
- package/dist/kit/List.js.map +1 -1
- package/dist/kit/LogView.d.ts +39 -3
- package/dist/kit/LogView.d.ts.map +1 -1
- package/dist/kit/LogView.js +52 -10
- package/dist/kit/LogView.js.map +1 -1
- package/dist/kit/Marker.d.ts +19 -0
- package/dist/kit/Marker.d.ts.map +1 -1
- package/dist/kit/Marker.js +50 -0
- package/dist/kit/Marker.js.map +1 -1
- package/dist/kit/Modal.d.ts +13 -3
- package/dist/kit/Modal.d.ts.map +1 -1
- package/dist/kit/Modal.js +39 -9
- package/dist/kit/Modal.js.map +1 -1
- package/dist/kit/Panel.d.ts +21 -0
- package/dist/kit/Panel.d.ts.map +1 -1
- package/dist/kit/Panel.js +36 -0
- package/dist/kit/Panel.js.map +1 -1
- package/dist/kit/PipelineFlow.d.ts +44 -0
- package/dist/kit/PipelineFlow.d.ts.map +1 -0
- package/dist/kit/PipelineFlow.js +215 -0
- package/dist/kit/PipelineFlow.js.map +1 -0
- package/dist/kit/Popover.d.ts.map +1 -1
- package/dist/kit/Popover.js +4 -1
- package/dist/kit/Popover.js.map +1 -1
- package/dist/kit/Reorder.d.ts +54 -0
- package/dist/kit/Reorder.d.ts.map +1 -0
- package/dist/kit/Reorder.js +171 -0
- package/dist/kit/Reorder.js.map +1 -0
- package/dist/kit/Stat.d.ts +38 -5
- package/dist/kit/Stat.d.ts.map +1 -1
- package/dist/kit/Stat.js +99 -11
- package/dist/kit/Stat.js.map +1 -1
- package/dist/kit/Tooltip.d.ts.map +1 -1
- package/dist/kit/Tooltip.js +5 -2
- package/dist/kit/Tooltip.js.map +1 -1
- package/dist/theme/ThemeScope.d.ts +30 -0
- package/dist/theme/ThemeScope.d.ts.map +1 -0
- package/dist/theme/ThemeScope.js +61 -0
- package/dist/theme/ThemeScope.js.map +1 -0
- package/dist/theme/brand.d.ts +2 -1
- package/dist/theme/brand.d.ts.map +1 -1
- package/dist/theme/brand.js +10 -6
- package/dist/theme/brand.js.map +1 -1
- package/dist/theme/scope.d.ts +23 -0
- package/dist/theme/scope.d.ts.map +1 -0
- package/dist/theme/scope.js +32 -0
- package/dist/theme/scope.js.map +1 -0
- package/dist/theme/tokens.d.ts +2 -1
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/tokens.js +65 -100
- package/dist/theme/tokens.js.map +1 -1
- package/package.json +1 -1
package/dist/kit/Charts.js
CHANGED
|
@@ -85,6 +85,25 @@ export function Histogram({ buckets, tones = {}, height, label = "Activity over
|
|
|
85
85
|
})] }, b.t));
|
|
86
86
|
}) }), _jsxs(Axis, { children: [_jsx("span", { children: tick(first) }), _jsx("span", { children: tick(last) })] })] }));
|
|
87
87
|
}
|
|
88
|
+
function scaleBytes(n) {
|
|
89
|
+
const units = ["B", "KB", "MB", "GB", "TB", "PB"];
|
|
90
|
+
let val = n;
|
|
91
|
+
let i = 0;
|
|
92
|
+
while (Math.abs(val) >= 1024 && i < units.length - 1) {
|
|
93
|
+
val /= 1024;
|
|
94
|
+
i++;
|
|
95
|
+
}
|
|
96
|
+
return `${i === 0 || Math.abs(val) >= 100 ? Math.round(val) : Math.abs(val) >= 10 ? val.toFixed(1) : val.toFixed(2)} ${units[i]}`;
|
|
97
|
+
}
|
|
98
|
+
/** Reads a number as its unit. `compact` is the axis form (shorter, whole numbers for percent); the default is the tooltip's. */
|
|
99
|
+
export function formatUnit(value, unit, compact = false) {
|
|
100
|
+
switch (unit) {
|
|
101
|
+
case "percent": return compact ? `${Math.round(value)}%` : `${value.toFixed(value >= 10 || Number.isInteger(value) ? 0 : 1)}%`;
|
|
102
|
+
case "bytes": return scaleBytes(value);
|
|
103
|
+
case "bps": return `${scaleBytes(value)}/s`;
|
|
104
|
+
default: return compact ? tickValue(value) : Math.abs(value) >= 100 || Number.isInteger(value) ? fmtCount(Math.round(value)) : value.toFixed(1);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
88
107
|
const Wrap = styled.div `padding: 14px;`;
|
|
89
108
|
const Plot = styled.div `position: relative;`;
|
|
90
109
|
const Svg = styled.svg `display: block; width: 100%; height: 220px; cursor: crosshair; user-select: none;`;
|
|
@@ -98,7 +117,7 @@ const Key = styled.button `
|
|
|
98
117
|
font: inherit; font-size: 12px;
|
|
99
118
|
color: ${(p) => (p.$off ? v.faint : v.muted)};
|
|
100
119
|
opacity: ${(p) => (p.$off ? 0.55 : 1)};
|
|
101
|
-
&::before { content: ""; width: 9px; height: 3px; border-radius: 2px; background: ${(p) => (p.$off ? v.faint :
|
|
120
|
+
&::before { content: ""; width: 9px; height: 3px; border-radius: 2px; background: ${(p) => (p.$off ? v.faint : p.$c)}; ${(p) => (p.$dash ? "height: 0; border-top: 2px dashed currentColor; background: none; border-color: " + (p.$off ? v.faint : p.$c) + ";" : "")} }
|
|
102
121
|
&:hover { color: ${v.text}; }
|
|
103
122
|
`;
|
|
104
123
|
const ChartHint = styled.div `margin-top: 8px; font-size: 11px; color: ${v.faint};`;
|
|
@@ -123,11 +142,11 @@ const Tip = styled.div `
|
|
|
123
142
|
`;
|
|
124
143
|
const TipRow = styled.div `
|
|
125
144
|
display: flex; align-items: center; gap: 6px;
|
|
126
|
-
&::before { content: ""; width: 8px; height: 3px; border-radius: 2px; background: ${(p) =>
|
|
145
|
+
&::before { content: ""; width: 8px; height: 3px; border-radius: 2px; background: ${(p) => p.$c}; }
|
|
127
146
|
`;
|
|
128
147
|
const W = 600;
|
|
129
148
|
const H = 200;
|
|
130
|
-
const PAD_L =
|
|
149
|
+
const PAD_L = 58;
|
|
131
150
|
const PAD_B = 18;
|
|
132
151
|
const PAD_T = 8;
|
|
133
152
|
function tickValue(x) {
|
|
@@ -135,22 +154,52 @@ function tickValue(x) {
|
|
|
135
154
|
return fmtCount(Math.round(x));
|
|
136
155
|
return Number.isInteger(x) ? String(x) : x.toFixed(2);
|
|
137
156
|
}
|
|
157
|
+
/** Splits a series into the unbroken runs of reported samples; a missing one ends the run. */
|
|
158
|
+
function lineRuns(points) {
|
|
159
|
+
const runs = [];
|
|
160
|
+
let run = [];
|
|
161
|
+
for (const p of points) {
|
|
162
|
+
if (p.v == null || !Number.isFinite(p.v)) {
|
|
163
|
+
if (run.length)
|
|
164
|
+
runs.push(run);
|
|
165
|
+
run = [];
|
|
166
|
+
}
|
|
167
|
+
else
|
|
168
|
+
run.push({ t: p.t, v: p.v });
|
|
169
|
+
}
|
|
170
|
+
if (run.length)
|
|
171
|
+
runs.push(run);
|
|
172
|
+
return runs;
|
|
173
|
+
}
|
|
138
174
|
/**
|
|
139
175
|
* LineChart: n series over a shared time axis. Axes to read a value off, a
|
|
140
176
|
* crosshair to compare series at one instant, a legend that mutes lines, and
|
|
141
177
|
* a drag that selects a window (`onZoom`) — the natural gesture once a spike
|
|
142
178
|
* is visible.
|
|
143
179
|
*
|
|
144
|
-
* `
|
|
180
|
+
* A point whose `v` is `null`/`undefined` is a sample that was not reported
|
|
181
|
+
* (an agent too old for the metric, a node that was down): the line breaks
|
|
182
|
+
* there rather than dipping to zero, which is a real measurement.
|
|
183
|
+
*
|
|
184
|
+
* `unit` reads the value axis and the crosshair as percent, bytes, bps or
|
|
185
|
+
* count; `formatValue` overrides it ("38 ms"), `area` fills under the lines and
|
|
186
|
+
* `max` pins the top of the axis.
|
|
187
|
+
|
|
145
188
|
* `formatTime` the time axis, which otherwise follows the span in local time.
|
|
146
189
|
*/
|
|
147
|
-
export function LineChart({ series, onZoom, label = "Series", empty = "No samples in range", formatValue, formatTime }) {
|
|
190
|
+
export function LineChart({ series, onZoom, label = "Series", empty = "No samples in range", formatValue, formatTime, unit, area, max }) {
|
|
148
191
|
const svg = useRef(null);
|
|
149
192
|
const [hidden, setHidden] = useState(new Set());
|
|
150
193
|
const [hoverX, setHoverX] = useState(null);
|
|
151
194
|
const [drag, setDrag] = useState(null);
|
|
152
195
|
const shown = useMemo(() => series.filter((s) => !hidden.has(s.name)), [series, hidden]);
|
|
153
|
-
|
|
196
|
+
// Measured series take the ramp in order; a reference series sits outside it.
|
|
197
|
+
const colours = useMemo(() => {
|
|
198
|
+
let n = 0;
|
|
199
|
+
return series.map((s) => s.tone ? TONE_FILL[s.tone] : s.reference ? v.faint : STROKES[n++ % STROKES.length]);
|
|
200
|
+
}, [series]);
|
|
201
|
+
const measured = series.filter((s) => !s.reference).length;
|
|
202
|
+
const points = shown.flatMap((s) => s.points).filter((p) => p.v != null && Number.isFinite(p.v));
|
|
154
203
|
const all = series.flatMap((s) => s.points.map((p) => p.t));
|
|
155
204
|
if (all.length === 0)
|
|
156
205
|
return _jsx(Wrap, { children: _jsx(Note, { children: empty }) });
|
|
@@ -158,7 +207,7 @@ export function LineChart({ series, onZoom, label = "Series", empty = "No sample
|
|
|
158
207
|
// under the reader; only the value axis rescales to what is shown.
|
|
159
208
|
const tMin = Math.min(...all);
|
|
160
209
|
const tMax = Math.max(...all);
|
|
161
|
-
const vMax = Math.max(...points.map((p) => p.v), 0);
|
|
210
|
+
const vMax = max ?? Math.max(...points.map((p) => p.v), 0);
|
|
162
211
|
const vMin = Math.min(...points.map((p) => p.v), 0);
|
|
163
212
|
const tSpan = tMax - tMin || 1;
|
|
164
213
|
const vSpan = vMax - vMin || 1;
|
|
@@ -167,7 +216,8 @@ export function LineChart({ series, onZoom, label = "Series", empty = "No sample
|
|
|
167
216
|
const frac = (t) => (x(t) - PAD_L) / (W - PAD_L);
|
|
168
217
|
const timeAt = (fraction) => tMin + fraction * tSpan;
|
|
169
218
|
const gridValues = [vMin, vMin + vSpan / 2, vMax];
|
|
170
|
-
const
|
|
219
|
+
const fmtTip = formatValue ?? (unit ? (n) => formatUnit(n, unit) : tickValue);
|
|
220
|
+
const fmtV = formatValue ?? (unit ? (n) => formatUnit(n, unit, true) : tickValue);
|
|
171
221
|
const tick = formatTime ?? timeTick(tMax - tMin);
|
|
172
222
|
const fractionOf = (clientX) => {
|
|
173
223
|
const rect = svg.current?.getBoundingClientRect();
|
|
@@ -185,7 +235,7 @@ export function LineChart({ series, onZoom, label = "Series", empty = "No sample
|
|
|
185
235
|
for (const p of s.points)
|
|
186
236
|
if (!best || Math.abs(p.t - t) < Math.abs(best.t - t))
|
|
187
237
|
best = p;
|
|
188
|
-
return best ? { name: s.name,
|
|
238
|
+
return best ? { name: s.name, c: colours[series.indexOf(s)], v: best.v, t: best.t } : null;
|
|
189
239
|
}).filter((r) => r !== null);
|
|
190
240
|
return rows.length ? { t, rows } : null;
|
|
191
241
|
})();
|
|
@@ -195,9 +245,10 @@ export function LineChart({ series, onZoom, label = "Series", empty = "No sample
|
|
|
195
245
|
next.delete(name);
|
|
196
246
|
else
|
|
197
247
|
next.add(name);
|
|
198
|
-
// Hiding
|
|
199
|
-
// one as "show all again".
|
|
200
|
-
|
|
248
|
+
// Hiding every measured series leaves a chart with no axis to read; treat
|
|
249
|
+
// the last one as "show all again". References do not count.
|
|
250
|
+
const off = series.filter((s) => !s.reference && next.has(s.name)).length;
|
|
251
|
+
return measured > 0 && off === measured ? new Set() : next;
|
|
201
252
|
});
|
|
202
253
|
return (_jsxs(Wrap, { children: [_jsxs(Plot, { children: [_jsxs(Svg, { ref: svg, viewBox: `0 0 ${W} ${H}`, preserveAspectRatio: "none", role: "img", "aria-label": label, onMouseMove: (e) => { const f = fractionOf(e.clientX); if (f === null)
|
|
203
254
|
return; setHoverX(f); setDrag((d) => (d ? { ...d, to: f } : null)); }, onMouseLeave: () => { setHoverX(null); setDrag(null); }, onMouseDown: (e) => { if (!onZoom)
|
|
@@ -208,9 +259,13 @@ export function LineChart({ series, onZoom, label = "Series", empty = "No sample
|
|
|
208
259
|
setDrag(null);
|
|
209
260
|
}, children: [gridValues.map((g) => (_jsxs("g", { children: [_jsx("line", { x1: PAD_L, x2: W, y1: y(g), y2: y(g), stroke: v.line, strokeWidth: 1, vectorEffect: "non-scaling-stroke" }), _jsx("text", { x: PAD_L - 6, y: y(g) + 3, textAnchor: "end", fontSize: 9, fill: v.faint, children: fmtV(g) })] }, g))), _jsx("text", { x: PAD_L, y: H - 4, fontSize: 9, fill: v.faint, children: tick(tMin) }), _jsx("text", { x: W, y: H - 4, fontSize: 9, fill: v.faint, textAnchor: "end", children: tick(tMax) }), shown.map((s) => {
|
|
210
261
|
const i = series.indexOf(s);
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
262
|
+
const colour = colours[i];
|
|
263
|
+
const runs = lineRuns(s.points);
|
|
264
|
+
return (_jsxs("g", { children: [area && !s.reference ? runs.filter((r) => r.length > 1).map((r, j) => (_jsx("path", { d: `M ${x(r[0].t)} ${y(0)} ${r.map((p) => `L ${x(p.t)} ${y(p.v)}`).join(" ")} L ${x(r[r.length - 1].t)} ${y(0)} Z`, fill: colour, fillOpacity: 0.14, stroke: "none" }, j))) : null, runs.map((r, j) => r.length > 1
|
|
265
|
+
? _jsx("path", { d: r.map((p, k) => `${k === 0 ? "M" : "L"} ${x(p.t)} ${y(p.v)}`).join(" "), fill: "none", stroke: colour, strokeWidth: 1.5, vectorEffect: "non-scaling-stroke", ...(s.reference ? { strokeDasharray: "5 4" } : {}) }, j)
|
|
266
|
+
// a lone sample between two gaps has no line to draw; it is a dot
|
|
267
|
+
: _jsx("circle", { cx: x(r[0].t), cy: y(r[0].v), r: 1.8, fill: colour }, j))] }, s.name));
|
|
268
|
+
}), drag && Math.abs(drag.to - drag.from) > 0.002 ? (_jsx("rect", { x: PAD_L + Math.min(drag.from, drag.to) * (W - PAD_L), width: Math.abs(drag.to - drag.from) * (W - PAD_L), y: PAD_T, height: H - PAD_B - PAD_T, fill: v.brand12, stroke: v.brand55, strokeWidth: 1, vectorEffect: "non-scaling-stroke" })) : null, hoverX !== null && !drag ? (_jsx("line", { x1: PAD_L + hoverX * (W - PAD_L), x2: PAD_L + hoverX * (W - PAD_L), y1: PAD_T, y2: H - PAD_B, stroke: v.line2, strokeWidth: 1, vectorEffect: "non-scaling-stroke" })) : null, hovered && !drag ? hovered.rows.map((r) => (r.v == null ? null : _jsx("circle", { cx: x(r.t), cy: y(r.v), r: 2.5, fill: r.c }, r.name))) : null] }), hovered && !drag ? (_jsxs(Tip, { "$left": frac(hovered.t) * 100, "$flip": frac(hovered.t) > 0.6, children: [_jsx("div", { className: "t", children: new Date(hovered.t).toLocaleString() }), hovered.rows.map((r) => _jsxs(TipRow, { "$c": r.c, children: [r.name, _jsx("span", { className: "val", children: r.v == null ? "—" : fmtTip(r.v) })] }, r.name))] })) : null] }), _jsx(Legend, { children: series.map((s, i) => (_jsx(Key, { type: "button", "$c": colours[i], "$dash": s.reference, "$off": hidden.has(s.name), onClick: () => toggle(s.name), title: hidden.has(s.name) ? "Show this series" : "Hide this series", children: s.name }, s.name))) }), onZoom ? _jsx(ChartHint, { children: "Drag across the chart to zoom into a window." }) : null] }));
|
|
214
269
|
}
|
|
215
270
|
/**
|
|
216
271
|
* Lines the series up on the union of their timestamps. A series with no point
|
package/dist/kit/Charts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Charts.js","sourceRoot":"","sources":["../../src/kit/Charts.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Charts.js","sourceRoot":"","sources":["../../src/kit/Charts.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type IconName } from "./Icon.tsx";
|
|
3
|
+
export interface CommandEntry {
|
|
4
|
+
/** the heading it sits under; entries of one group should be adjacent */
|
|
5
|
+
group: string;
|
|
6
|
+
/** unique across the list: keys the row and holds the highlight across updates */
|
|
7
|
+
id: string;
|
|
8
|
+
title: string;
|
|
9
|
+
/** the second line: where it lives, what it is */
|
|
10
|
+
subtitle?: string | undefined;
|
|
11
|
+
/** hard right in mono: a shortcut, a count, a version */
|
|
12
|
+
meta?: string | undefined;
|
|
13
|
+
icon?: IconName | (string & {}) | undefined;
|
|
14
|
+
/** makes the row a link, so ⌘/ctrl/middle-click open it in a new tab natively */
|
|
15
|
+
href?: string | undefined;
|
|
16
|
+
/** tints the icon: the product's colour */
|
|
17
|
+
colour?: string | undefined;
|
|
18
|
+
}
|
|
19
|
+
export interface CommandPaletteProps<E extends CommandEntry> {
|
|
20
|
+
open: boolean;
|
|
21
|
+
onClose: () => void;
|
|
22
|
+
/** already filtered to the query, in display order */
|
|
23
|
+
entries: readonly E[];
|
|
24
|
+
query: string;
|
|
25
|
+
onQuery: (query: string) => void;
|
|
26
|
+
/** Enter on the highlighted row, or a plain click on one. The palette does not close itself. */
|
|
27
|
+
onPick: (entry: E) => void;
|
|
28
|
+
placeholder?: string | undefined;
|
|
29
|
+
/** the right-hand note in the foot: where the results come from */
|
|
30
|
+
footerHint?: ReactNode | undefined;
|
|
31
|
+
/** a chip at the end of the field: the team or server being searched */
|
|
32
|
+
scopeLabel?: ReactNode | undefined;
|
|
33
|
+
/** a spinner in the field while more results are on their way */
|
|
34
|
+
busy?: boolean | undefined;
|
|
35
|
+
/** shown when there are no entries; defaults to "Nothing matches “query”." */
|
|
36
|
+
empty?: ReactNode | undefined;
|
|
37
|
+
/** the dialog's accessible name */
|
|
38
|
+
label?: string | undefined;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* CommandPalette: the ⌘K sheet. Owns focus (into the field on open, held
|
|
42
|
+
* there by Tab, back to the opener on close), ↑↓/Enter/Escape, the group
|
|
43
|
+
* headings, the empty state and the combobox/listbox wiring; the caller owns
|
|
44
|
+
* the query, the entries and what a pick does.
|
|
45
|
+
*/
|
|
46
|
+
export declare function CommandPalette<E extends CommandEntry>(props: CommandPaletteProps<E>): import("react").JSX.Element | null;
|
|
47
|
+
//# sourceMappingURL=CommandPalette.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../../src/kit/CommandPalette.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2E,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhH,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAcjD,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5C,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,YAAY;IACzD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sDAAsD;IACtD,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,gGAAgG;IAChG,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,mEAAmE;IACnE,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACnC,wEAAwE;IACxE,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACnC,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAgID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,sCAEnF"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useId, useRef, useState } from "react";
|
|
3
|
+
import styled, { keyframes } from "styled-components";
|
|
4
|
+
import { v } from "../theme/tokens.js";
|
|
5
|
+
import { Icon } from "./Icon.js";
|
|
6
|
+
import { useEscapeLayer } from "./layers.js";
|
|
7
|
+
import { Spinner } from "./Skeleton.js";
|
|
8
|
+
const fadeIn = keyframes `from { opacity: 0; }`;
|
|
9
|
+
const dropIn = keyframes `from { opacity: 0; transform: translateY(6px); }`;
|
|
10
|
+
const Scrim = styled.div `
|
|
11
|
+
position: fixed;
|
|
12
|
+
inset: 0;
|
|
13
|
+
z-index: ${v.zPalette};
|
|
14
|
+
display: flex;
|
|
15
|
+
justify-content: center;
|
|
16
|
+
align-items: flex-start;
|
|
17
|
+
padding: 12vh 16px 16px;
|
|
18
|
+
background: ${v.scrim};
|
|
19
|
+
animation: ${fadeIn} 0.12s ease;
|
|
20
|
+
@media (prefers-reduced-motion: reduce) { animation: none; }
|
|
21
|
+
`;
|
|
22
|
+
const Sheet = styled.div `
|
|
23
|
+
position: relative;
|
|
24
|
+
width: min(640px, 100%);
|
|
25
|
+
max-height: 76vh;
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
background: ${v.surface};
|
|
29
|
+
border: 1px solid ${v.line2};
|
|
30
|
+
border-radius: ${v.rModal};
|
|
31
|
+
box-shadow: ${v.elev};
|
|
32
|
+
overflow: hidden;
|
|
33
|
+
animation: ${dropIn} 0.16s cubic-bezier(0.2, 0.7, 0.3, 1);
|
|
34
|
+
&::before {
|
|
35
|
+
content: "";
|
|
36
|
+
position: absolute;
|
|
37
|
+
top: 0; left: 0; right: 0;
|
|
38
|
+
height: 2px;
|
|
39
|
+
background: ${v.grad90};
|
|
40
|
+
}
|
|
41
|
+
@media (prefers-reduced-motion: reduce) { animation: none; }
|
|
42
|
+
`;
|
|
43
|
+
/* fixed, so a long list scrolls under it rather than pushing the field off the top */
|
|
44
|
+
const Field = styled.div `
|
|
45
|
+
flex: none;
|
|
46
|
+
display: flex;
|
|
47
|
+
align-items: center;
|
|
48
|
+
gap: 12px;
|
|
49
|
+
padding: 14px 18px;
|
|
50
|
+
border-bottom: 1px solid ${v.line};
|
|
51
|
+
color: ${v.faint};
|
|
52
|
+
input {
|
|
53
|
+
flex: 1 1 auto;
|
|
54
|
+
min-width: 0;
|
|
55
|
+
font: inherit;
|
|
56
|
+
font-size: 15px;
|
|
57
|
+
background: transparent;
|
|
58
|
+
border: 0;
|
|
59
|
+
outline: 0;
|
|
60
|
+
color: ${v.text};
|
|
61
|
+
}
|
|
62
|
+
input::placeholder { color: ${v.faint}; }
|
|
63
|
+
/* the sheet is the field's frame, and focus never leaves it: no ring */
|
|
64
|
+
input:focus-visible { box-shadow: none; }
|
|
65
|
+
`;
|
|
66
|
+
const Scope = styled.span `
|
|
67
|
+
flex: none;
|
|
68
|
+
font-size: 11.5px;
|
|
69
|
+
border: 1px solid ${v.line2};
|
|
70
|
+
border-radius: 6px;
|
|
71
|
+
padding: 2px 7px;
|
|
72
|
+
white-space: nowrap;
|
|
73
|
+
`;
|
|
74
|
+
const Results = styled.div `
|
|
75
|
+
flex: 1 1 auto;
|
|
76
|
+
min-height: 0;
|
|
77
|
+
overflow-y: auto;
|
|
78
|
+
overscroll-behavior: contain;
|
|
79
|
+
padding: 6px 8px 8px;
|
|
80
|
+
`;
|
|
81
|
+
const GroupHead = styled.div `
|
|
82
|
+
font-size: 10.5px;
|
|
83
|
+
font-weight: 600;
|
|
84
|
+
letter-spacing: 0.08em;
|
|
85
|
+
text-transform: uppercase;
|
|
86
|
+
color: ${v.faint};
|
|
87
|
+
padding: 10px 10px 4px;
|
|
88
|
+
`;
|
|
89
|
+
const Row = styled.a `
|
|
90
|
+
display: flex;
|
|
91
|
+
align-items: center;
|
|
92
|
+
gap: 12px;
|
|
93
|
+
padding: 9px 10px;
|
|
94
|
+
border-radius: 10px;
|
|
95
|
+
background: ${(p) => (p.$on ? v.brand12 : "transparent")};
|
|
96
|
+
color: ${v.text};
|
|
97
|
+
text-decoration: none;
|
|
98
|
+
cursor: pointer;
|
|
99
|
+
.ic { flex: none; width: 18px; display: grid; place-items: center; color: ${(p) => p.$c ?? (p.$on ? v.brand : v.muted)}; }
|
|
100
|
+
.main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
|
|
101
|
+
b, small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
102
|
+
b { font-size: 13.5px; font-weight: 500; }
|
|
103
|
+
small { font-size: 12px; color: ${v.faint}; }
|
|
104
|
+
.meta { flex: none; font-family: ${v.mono}; font-size: 11.5px; color: ${v.faint}; white-space: nowrap; }
|
|
105
|
+
`;
|
|
106
|
+
const Empty = styled.div `
|
|
107
|
+
padding: 28px 18px;
|
|
108
|
+
text-align: center;
|
|
109
|
+
font-size: 12.5px;
|
|
110
|
+
color: ${v.faint};
|
|
111
|
+
`;
|
|
112
|
+
const Foot = styled.div `
|
|
113
|
+
flex: none;
|
|
114
|
+
display: flex;
|
|
115
|
+
align-items: center;
|
|
116
|
+
gap: 16px;
|
|
117
|
+
padding: 10px 18px;
|
|
118
|
+
border-top: 1px solid ${v.line};
|
|
119
|
+
font-size: 11.5px;
|
|
120
|
+
color: ${v.faint};
|
|
121
|
+
kbd { font: inherit; border: 1px solid ${v.line2}; border-radius: 4px; padding: 0 5px; margin-right: 5px; }
|
|
122
|
+
.hint { margin-left: auto; text-align: right; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
123
|
+
`;
|
|
124
|
+
/**
|
|
125
|
+
* CommandPalette: the ⌘K sheet. Owns focus (into the field on open, held
|
|
126
|
+
* there by Tab, back to the opener on close), ↑↓/Enter/Escape, the group
|
|
127
|
+
* headings, the empty state and the combobox/listbox wiring; the caller owns
|
|
128
|
+
* the query, the entries and what a pick does.
|
|
129
|
+
*/
|
|
130
|
+
export function CommandPalette(props) {
|
|
131
|
+
return props.open ? _jsx(PaletteSheet, { ...props }) : null;
|
|
132
|
+
}
|
|
133
|
+
// Mounted only while open, so focus capture and restore are its lifetime.
|
|
134
|
+
function PaletteSheet({ onClose, entries, query, onQuery, onPick, placeholder = "Search…", footerHint, scopeLabel, busy, empty, label = "Search and commands", }) {
|
|
135
|
+
const uid = useId();
|
|
136
|
+
const listId = `${uid}-list`;
|
|
137
|
+
const optId = (i) => `${uid}-opt-${i}`;
|
|
138
|
+
const inputRef = useRef(null);
|
|
139
|
+
const [activeId, setActiveId] = useState(null);
|
|
140
|
+
const found = activeId === null ? -1 : entries.findIndex((e) => e.id === activeId);
|
|
141
|
+
// a highlighted entry that has gone (or none yet) falls back to the first
|
|
142
|
+
const active = entries.length === 0 ? -1 : Math.max(found, 0);
|
|
143
|
+
useEscapeLayer(true, onClose);
|
|
144
|
+
useEffect(() => {
|
|
145
|
+
const prev = document.activeElement;
|
|
146
|
+
inputRef.current?.focus();
|
|
147
|
+
return () => prev?.focus?.();
|
|
148
|
+
}, []);
|
|
149
|
+
// the highlighted row stays in view as the arrows walk a long list
|
|
150
|
+
useEffect(() => {
|
|
151
|
+
if (active >= 0)
|
|
152
|
+
document.getElementById(optId(active))?.scrollIntoView?.({ block: "nearest" });
|
|
153
|
+
});
|
|
154
|
+
const move = (dir) => {
|
|
155
|
+
const n = entries.length;
|
|
156
|
+
if (n === 0)
|
|
157
|
+
return;
|
|
158
|
+
setActiveId(entries[(active + dir + n) % n].id);
|
|
159
|
+
};
|
|
160
|
+
const onKey = (e) => {
|
|
161
|
+
if (e.key === "ArrowDown") {
|
|
162
|
+
e.preventDefault();
|
|
163
|
+
move(1);
|
|
164
|
+
}
|
|
165
|
+
else if (e.key === "ArrowUp") {
|
|
166
|
+
e.preventDefault();
|
|
167
|
+
move(-1);
|
|
168
|
+
}
|
|
169
|
+
else if (e.key === "Enter") {
|
|
170
|
+
const hit = entries[active];
|
|
171
|
+
if (hit && !e.nativeEvent.isComposing) {
|
|
172
|
+
e.preventDefault();
|
|
173
|
+
onPick(hit);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// the field is the only stop: Tab cannot leave the dialog
|
|
177
|
+
else if (e.key === "Tab") {
|
|
178
|
+
e.preventDefault();
|
|
179
|
+
inputRef.current?.focus();
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
const onRowClick = (e, entry) => {
|
|
183
|
+
// a modified click on a link is the browser's: a new tab, a new window
|
|
184
|
+
if (entry.href && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0))
|
|
185
|
+
return;
|
|
186
|
+
e.preventDefault();
|
|
187
|
+
onPick(entry);
|
|
188
|
+
};
|
|
189
|
+
// runs of one group, in the caller's order
|
|
190
|
+
const groups = [];
|
|
191
|
+
entries.forEach((entry, index) => {
|
|
192
|
+
const last = groups[groups.length - 1];
|
|
193
|
+
if (last && last.name === entry.group)
|
|
194
|
+
last.rows.push({ entry, index });
|
|
195
|
+
else
|
|
196
|
+
groups.push({ name: entry.group, rows: [{ entry, index }] });
|
|
197
|
+
});
|
|
198
|
+
return (_jsx(Scrim, { onMouseDown: (e) => { if (e.target === e.currentTarget)
|
|
199
|
+
onClose(); }, children: _jsxs(Sheet, { role: "dialog", "aria-modal": "true", "aria-label": label, onKeyDown: onKey, children: [_jsxs(Field, { children: [_jsx(Icon, { name: "search" }), _jsx("input", { ref: inputRef, role: "combobox", "aria-label": label, "aria-expanded": entries.length > 0, "aria-controls": listId, "aria-autocomplete": "list", "aria-activedescendant": active >= 0 ? optId(active) : undefined, value: query, placeholder: placeholder, spellCheck: false, autoComplete: "off", onChange: (e) => { setActiveId(null); onQuery(e.target.value); } }), busy ? _jsx(Spinner, { "$size": 14, "aria-label": "Searching" }) : null, scopeLabel ? _jsx(Scope, { children: scopeLabel }) : null] }), _jsxs(Results, { id: listId, role: "listbox", "aria-label": label, children: [groups.map((g, gi) => (_jsxs("div", { role: "group", "aria-labelledby": `${uid}-g-${gi}`, children: [_jsx(GroupHead, { id: `${uid}-g-${gi}`, role: "presentation", children: g.name }), g.rows.map(({ entry, index }) => (_jsxs(Row, { id: optId(index), role: "option", "aria-selected": index === active, tabIndex: -1, href: entry.href, "$on": index === active, "$c": entry.colour,
|
|
200
|
+
// move, not enter: a list scrolling under a still pointer must not steal the highlight
|
|
201
|
+
onMouseMove: () => { if (index !== active)
|
|
202
|
+
setActiveId(entry.id); }, onMouseDown: (e) => e.preventDefault(), onClick: (e) => onRowClick(e, entry), children: [_jsx("span", { className: "ic", children: _jsx(Icon, { name: entry.icon ?? "arrow-right" }) }), _jsxs("span", { className: "main", children: [_jsx("b", { children: entry.title }), entry.subtitle ? _jsx("small", { children: entry.subtitle }) : null] }), entry.meta ? _jsx("span", { className: "meta", children: entry.meta }) : null] }, entry.id)))] }, `${gi}-${g.name}`))), entries.length === 0 ? (_jsx(Empty, { role: "presentation", children: empty ?? (query.trim() ? _jsxs(_Fragment, { children: ["Nothing matches \u201C", query.trim(), "\u201D."] }) : "Nothing to show yet.") })) : null] }), _jsxs(Foot, { children: [_jsxs("span", { children: [_jsx("kbd", { children: "\u2191\u2193" }), "navigate"] }), _jsxs("span", { children: [_jsx("kbd", { children: "\u21B5" }), "open"] }), _jsxs("span", { children: [_jsx("kbd", { children: "esc" }), "close"] }), footerHint ? _jsx("span", { className: "hint", children: footerHint }) : null] })] }) }));
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=CommandPalette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandPalette.js","sourceRoot":"","sources":["../../src/kit/CommandPalette.tsx"],"names":[],"mappings":"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"}
|
package/dist/kit/DataTable.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export interface Column<T> {
|
|
|
5
5
|
render: (row: T) => ReactNode;
|
|
6
6
|
width?: string | undefined;
|
|
7
7
|
align?: "left" | "right" | undefined;
|
|
8
|
+
/** a column of figures: right-aligned with tabular numerals, so digits line up and a long number is visibly long */
|
|
9
|
+
numeric?: boolean | undefined;
|
|
8
10
|
/** hide below this viewport width (px) */
|
|
9
11
|
hideBelow?: number | undefined;
|
|
10
12
|
/** sortable when supplied — returns the value this column compares on */
|
|
@@ -12,7 +14,7 @@ export interface Column<T> {
|
|
|
12
14
|
/** narrowest a drag-resize may make this column (px); default 48 */
|
|
13
15
|
minWidth?: number | undefined;
|
|
14
16
|
}
|
|
15
|
-
export declare function DataTable<T>({ columns, rows, rowKey, loading, skeletonRows, empty, rowHref, onRowClick, severity, footer, variant, hideHead, detail, search, searchPlaceholder, toolbar, pageSize, defaultSort, stickyHead, maxHeight, resizable, storageKey, rowActions, keyboardNav, }: {
|
|
17
|
+
export declare function DataTable<T>({ columns, rows, rowKey, loading, skeletonRows, empty, rowHref, onRowClick, severity, footer, variant, hideHead, detail, search, searchPlaceholder, toolbar, pageSize, defaultSort, stickyHead, maxHeight, resizable, storageKey, rowActions, keyboardNav, renderCard, cardsBelow, }: {
|
|
16
18
|
columns: Column<T>[];
|
|
17
19
|
rows: T[] | undefined;
|
|
18
20
|
rowKey: (row: T) => string;
|
|
@@ -21,7 +23,12 @@ export declare function DataTable<T>({ columns, rows, rowKey, loading, skeletonR
|
|
|
21
23
|
empty?: ReactNode | undefined;
|
|
22
24
|
rowHref?: ((row: T) => string | null) | undefined;
|
|
23
25
|
onRowClick?: ((row: T) => void) | undefined;
|
|
24
|
-
|
|
26
|
+
/**
|
|
27
|
+
* The row's tone: "crit" or "warn" marks it with an edge bar and a faint wash,
|
|
28
|
+
* and says so to assistive tech ("Critical"/"Warning", read before the first
|
|
29
|
+
* cell; also `data-tone` on the row). Null/undefined for an unmarked row.
|
|
30
|
+
*/
|
|
31
|
+
severity?: ((row: T) => "crit" | "warn" | null | undefined) | undefined;
|
|
25
32
|
footer?: ReactNode | undefined;
|
|
26
33
|
/** "bare": no panel chrome and compact padding — a table inside a panel or modal */
|
|
27
34
|
variant?: "panel" | "bare" | undefined;
|
|
@@ -60,5 +67,14 @@ export declare function DataTable<T>({ columns, rows, rowKey, loading, skeletonR
|
|
|
60
67
|
* table a screen is about — never two on one screen.
|
|
61
68
|
*/
|
|
62
69
|
keyboardNav?: boolean | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Draw each row as a card instead of a table row below `cardsBelow` px: the
|
|
72
|
+
* same fields stacked, with `severity` carried down the card's edge and
|
|
73
|
+
* `rowHref`/`onRowClick` making the card the way in. Omit and the table
|
|
74
|
+
* keeps scrolling sideways at any width.
|
|
75
|
+
*/
|
|
76
|
+
renderCard?: ((row: T) => ReactNode) | undefined;
|
|
77
|
+
/** viewport width (px) under which `renderCard` replaces the table; default 720 */
|
|
78
|
+
cardsBelow?: number | undefined;
|
|
63
79
|
}): import("react").JSX.Element;
|
|
64
80
|
//# sourceMappingURL=DataTable.d.ts.map
|