@xeonr/platform-ui 1.5.1 → 1.6.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.
Files changed (94) hide show
  1. package/dist/index.d.ts +12 -5
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +12 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/kit/Anchored.d.ts.map +1 -1
  6. package/dist/kit/Anchored.js +4 -1
  7. package/dist/kit/Anchored.js.map +1 -1
  8. package/dist/kit/Blocks.d.ts +6 -1
  9. package/dist/kit/Blocks.d.ts.map +1 -1
  10. package/dist/kit/Blocks.js +13 -2
  11. package/dist/kit/Blocks.js.map +1 -1
  12. package/dist/kit/Card.d.ts +6 -1
  13. package/dist/kit/Card.d.ts.map +1 -1
  14. package/dist/kit/Card.js +19 -4
  15. package/dist/kit/Card.js.map +1 -1
  16. package/dist/kit/Charts.d.ts +39 -3
  17. package/dist/kit/Charts.d.ts.map +1 -1
  18. package/dist/kit/Charts.js +70 -15
  19. package/dist/kit/Charts.js.map +1 -1
  20. package/dist/kit/CommandPalette.d.ts +47 -0
  21. package/dist/kit/CommandPalette.d.ts.map +1 -0
  22. package/dist/kit/CommandPalette.js +204 -0
  23. package/dist/kit/CommandPalette.js.map +1 -0
  24. package/dist/kit/DataTable.d.ts +18 -2
  25. package/dist/kit/DataTable.d.ts.map +1 -1
  26. package/dist/kit/DataTable.js +45 -6
  27. package/dist/kit/DataTable.js.map +1 -1
  28. package/dist/kit/Editable.d.ts +30 -0
  29. package/dist/kit/Editable.d.ts.map +1 -1
  30. package/dist/kit/Editable.js +150 -3
  31. package/dist/kit/Editable.js.map +1 -1
  32. package/dist/kit/EmptyState.d.ts +9 -2
  33. package/dist/kit/EmptyState.d.ts.map +1 -1
  34. package/dist/kit/EmptyState.js +16 -2
  35. package/dist/kit/EmptyState.js.map +1 -1
  36. package/dist/kit/GroupedMultiSelect.d.ts +57 -0
  37. package/dist/kit/GroupedMultiSelect.d.ts.map +1 -0
  38. package/dist/kit/GroupedMultiSelect.js +219 -0
  39. package/dist/kit/GroupedMultiSelect.js.map +1 -0
  40. package/dist/kit/List.d.ts +18 -1
  41. package/dist/kit/List.d.ts.map +1 -1
  42. package/dist/kit/List.js +38 -10
  43. package/dist/kit/List.js.map +1 -1
  44. package/dist/kit/LogView.d.ts +39 -3
  45. package/dist/kit/LogView.d.ts.map +1 -1
  46. package/dist/kit/LogView.js +52 -10
  47. package/dist/kit/LogView.js.map +1 -1
  48. package/dist/kit/Marker.d.ts +19 -0
  49. package/dist/kit/Marker.d.ts.map +1 -1
  50. package/dist/kit/Marker.js +50 -0
  51. package/dist/kit/Marker.js.map +1 -1
  52. package/dist/kit/Modal.d.ts +13 -3
  53. package/dist/kit/Modal.d.ts.map +1 -1
  54. package/dist/kit/Modal.js +39 -9
  55. package/dist/kit/Modal.js.map +1 -1
  56. package/dist/kit/Panel.d.ts +21 -0
  57. package/dist/kit/Panel.d.ts.map +1 -1
  58. package/dist/kit/Panel.js +36 -0
  59. package/dist/kit/Panel.js.map +1 -1
  60. package/dist/kit/PipelineFlow.d.ts +44 -0
  61. package/dist/kit/PipelineFlow.d.ts.map +1 -0
  62. package/dist/kit/PipelineFlow.js +171 -0
  63. package/dist/kit/PipelineFlow.js.map +1 -0
  64. package/dist/kit/Popover.d.ts.map +1 -1
  65. package/dist/kit/Popover.js +4 -1
  66. package/dist/kit/Popover.js.map +1 -1
  67. package/dist/kit/Reorder.d.ts +54 -0
  68. package/dist/kit/Reorder.d.ts.map +1 -0
  69. package/dist/kit/Reorder.js +171 -0
  70. package/dist/kit/Reorder.js.map +1 -0
  71. package/dist/kit/Stat.d.ts +38 -5
  72. package/dist/kit/Stat.d.ts.map +1 -1
  73. package/dist/kit/Stat.js +99 -11
  74. package/dist/kit/Stat.js.map +1 -1
  75. package/dist/kit/Tooltip.d.ts.map +1 -1
  76. package/dist/kit/Tooltip.js +5 -2
  77. package/dist/kit/Tooltip.js.map +1 -1
  78. package/dist/theme/ThemeScope.d.ts +30 -0
  79. package/dist/theme/ThemeScope.d.ts.map +1 -0
  80. package/dist/theme/ThemeScope.js +61 -0
  81. package/dist/theme/ThemeScope.js.map +1 -0
  82. package/dist/theme/brand.d.ts +2 -1
  83. package/dist/theme/brand.d.ts.map +1 -1
  84. package/dist/theme/brand.js +10 -6
  85. package/dist/theme/brand.js.map +1 -1
  86. package/dist/theme/scope.d.ts +23 -0
  87. package/dist/theme/scope.d.ts.map +1 -0
  88. package/dist/theme/scope.js +32 -0
  89. package/dist/theme/scope.js.map +1 -0
  90. package/dist/theme/tokens.d.ts +2 -1
  91. package/dist/theme/tokens.d.ts.map +1 -1
  92. package/dist/theme/tokens.js +65 -100
  93. package/dist/theme/tokens.js.map +1 -1
  94. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../src/kit/DataTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../src/kit/DataTable.tsx"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ const Th = styled.th `
32
32
  `;
33
33
  const Td = styled.td `
34
34
  text-align: ${(p) => p.$align ?? "left"};
35
+ ${(p) => p.$num && css `font-variant-numeric: tabular-nums;`}
35
36
  padding: 10px 16px;
36
37
  border-bottom: 1px solid ${v.line};
37
38
  vertical-align: middle;
@@ -42,7 +43,16 @@ const Tr = styled.tr `
42
43
  ${(p) => p.$click && css `cursor: pointer; &:hover td { background: ${v.hover}; }`}
43
44
  ${(p) => p.$active && css `td { background: ${v.brand12}; } &:hover td { background: ${v.brand16}; }`}
44
45
  &:last-child td { border-bottom: none; }
45
- ${(p) => p.$mark && css `td:first-child { box-shadow: inset 3px 0 0 0 ${p.$mark === "crit" ? v.danger : v.warning}; }`}
46
+ ${(p) => p.$mark && css `
47
+ td { background: ${wash(p.$mark)}; }
48
+ td:first-child { box-shadow: inset 3px 0 0 0 ${p.$mark === "crit" ? v.danger : v.warning}; }
49
+ `}
50
+ `;
51
+ /* the tone's tint at half strength: the edge bar says it, the wash only helps the eye find it */
52
+ const wash = (m) => `color-mix(in srgb, ${m === "crit" ? v.dangerBg : v.warningBg} 50%, transparent)`;
53
+ const TONE_WORD = { crit: "Critical", warn: "Warning" };
54
+ const SrOnly = styled.span `
55
+ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
46
56
  `;
47
57
  const FootRow = styled.div `
48
58
  display: flex;
@@ -77,6 +87,26 @@ const Grip = styled.span `
77
87
  }
78
88
  &:hover::after, &[data-active="true"]::after { background: ${v.brand55}; }
79
89
  `;
90
+ /* Below the cards breakpoint the table steps aside for the card list; the
91
+ switch is CSS, so it holds on a server render and when the window resizes. */
92
+ const TableScroll = styled(Scroll) `
93
+ ${(p) => p.$cardsBelow && css `@media (max-width: ${p.$cardsBelow}px) { display: none; }`}
94
+ `;
95
+ const CardList = styled.div `
96
+ display: none;
97
+ flex-direction: column;
98
+ gap: 8px;
99
+ padding: 10px;
100
+ @media (max-width: ${(p) => p.$cardsBelow}px) { display: flex; }
101
+ `;
102
+ const Card = styled.div `
103
+ padding: 12px 14px;
104
+ border: 1px solid ${v.line};
105
+ border-radius: ${v.rCard};
106
+ background: ${v.surface2};
107
+ ${(p) => p.$click && css `cursor: pointer; &:hover { background: ${v.hover}; }`}
108
+ ${(p) => p.$mark && css `background: ${wash(p.$mark)}; box-shadow: inset 3px 0 0 0 ${p.$mark === "crit" ? v.danger : v.warning};`}
109
+ `;
80
110
  /** Below this viewport width the row-actions column is pinned to the right edge. */
81
111
  const PIN_ACTIONS_BELOW = 720;
82
112
  const ActionsTd = styled.td `
@@ -188,7 +218,7 @@ const DetailTd = styled.td `
188
218
  background: ${v.surface2};
189
219
  border-bottom: 1px solid ${v.line};
190
220
  `;
191
- export function DataTable({ columns, rows, rowKey, loading, skeletonRows = 5, empty, rowHref, onRowClick, severity, footer, variant, hideHead, detail, search, searchPlaceholder = "Filter…", toolbar, pageSize, defaultSort, stickyHead, maxHeight, resizable, storageKey, rowActions, keyboardNav, }) {
221
+ export function DataTable({ columns, rows, rowKey, loading, skeletonRows = 5, empty, rowHref, onRowClick, severity, footer, variant, hideHead, detail, search, searchPlaceholder = "Filter…", toolbar, pageSize, defaultSort, stickyHead, maxHeight, resizable, storageKey, rowActions, keyboardNav, renderCard, cardsBelow = 720, }) {
192
222
  const navigate = useNavigate();
193
223
  const Wrap = variant === "bare" ? Bare : Panel;
194
224
  const [q, setQ] = useState("");
@@ -302,15 +332,24 @@ export function DataTable({ columns, rows, rowKey, loading, skeletonRows = 5, em
302
332
  // A sticky header against the PAGE needs every ancestor up to the page's
303
333
  // scroller to be non-scrolling; Panel's overflow: hidden would make it the
304
334
  // sticky containing block. clip keeps the rounded corners without that.
305
- _jsxs(Wrap, { style: pageSticky ? { overflow: "clip" } : undefined, children: [showToolbar ? (_jsxs(Toolbar, { children: [search ? (_jsxs(SearchWrap, { children: [_jsx(Icon, { name: "search" }), _jsx(Input, { value: q, placeholder: searchPlaceholder, onChange: (e) => { setQ(e.target.value); setPage(0); }, "aria-label": searchPlaceholder })] })) : null, toolbar ? _jsx(ToolbarEnd, { children: toolbar }) : null] })) : null, _jsx(Scroll, { "$maxHeight": maxHeight, "$clip": pageSticky, children: _jsxs(Table, { children: [hideHead ? null : (_jsx("thead", { children: _jsxs("tr", { children: [columns.map((c) => {
335
+ _jsxs(Wrap, { style: pageSticky ? { overflow: "clip" } : undefined, children: [showToolbar ? (_jsxs(Toolbar, { children: [search ? (_jsxs(SearchWrap, { children: [_jsx(Icon, { name: "search" }), _jsx(Input, { value: q, placeholder: searchPlaceholder, onChange: (e) => { setQ(e.target.value); setPage(0); }, "aria-label": searchPlaceholder })] })) : null, toolbar ? _jsx(ToolbarEnd, { children: toolbar }) : null] })) : null, _jsx(TableScroll, { "$maxHeight": maxHeight, "$clip": pageSticky, "$cardsBelow": renderCard ? cardsBelow : undefined, children: _jsxs(Table, { children: [hideHead ? null : (_jsx("thead", { children: _jsxs("tr", { children: [columns.map((c) => {
306
336
  const dragged = widths[c.key];
307
337
  const width = dragged !== undefined ? `${dragged}px` : c.width;
308
- return (_jsxs(Th, { "$align": c.align, "$hide": c.hideBelow, "$sortable": !!c.sortBy, "$sticky": sticky, "data-sticky": sticky, onClick: () => toggleSort(c), "aria-sort": c.sortBy && sort?.key === c.key ? (sort.dir === "asc" ? "ascending" : "descending") : undefined, style: width ? { width, minWidth: dragged !== undefined ? width : undefined } : undefined, children: [c.head, c.sortBy && sort?.key === c.key ? _jsx(Icon, { name: sort.dir === "asc" ? "chevron-up" : "chevron-down" }) : null, resizable && c.head ? (_jsx(Grip, { role: "separator", "aria-orientation": "vertical", "aria-label": `Resize column`, "data-active": dragging === c.key, onClick: (e) => e.stopPropagation(), onPointerDown: (e) => startResize(c.key, e.currentTarget.parentElement, e, c.minWidth ?? 48), onDoubleClick: (e) => { e.stopPropagation(); resetWidth(c.key); } })) : null] }, c.key));
338
+ return (_jsxs(Th, { "$align": c.align ?? (c.numeric ? "right" : undefined), "$num": c.numeric, "$hide": c.hideBelow, "$sortable": !!c.sortBy, "$sticky": sticky, "data-sticky": sticky, onClick: () => toggleSort(c), "aria-sort": c.sortBy && sort?.key === c.key ? (sort.dir === "asc" ? "ascending" : "descending") : undefined, style: width ? { width, minWidth: dragged !== undefined ? width : undefined } : undefined, children: [c.head, c.sortBy && sort?.key === c.key ? _jsx(Icon, { name: sort.dir === "asc" ? "chevron-up" : "chevron-down" }) : null, resizable && c.head ? (_jsx(Grip, { role: "separator", "aria-orientation": "vertical", "aria-label": `Resize column`, "data-active": dragging === c.key, onClick: (e) => e.stopPropagation(), onPointerDown: (e) => startResize(c.key, e.currentTarget.parentElement, e, c.minWidth ?? 48), onDoubleClick: (e) => { e.stopPropagation(); resetWidth(c.key); } })) : null] }, c.key));
309
339
  }), rowActions ? _jsx(Th, { "$sticky": sticky, "data-sticky": sticky, "aria-label": "Actions" }) : null] }) })), !showSkeleton && !isEmpty ? (_jsx("tbody", { ref: body, style: loading ? { opacity: 0.55 } : undefined, children: visible.map((r) => {
310
340
  const href = rowHref?.(r) ?? null;
311
341
  const click = !!href || !!onRowClick;
312
342
  const extra = detail?.(r);
313
- return (_jsxs(Fragment, { children: [_jsxs(Tr, { "$click": click, "$mark": severity?.(r) ?? null, "$active": keyboardNav && active === rowKey(r), "data-row-key": rowKey(r), onClick: click ? () => (href ? navigate(href) : onRowClick?.(r)) : undefined, children: [columns.map((c) => _jsx(Td, { "$align": c.align, "$hide": c.hideBelow, children: c.render(r) }, c.key)), rowActions ? (_jsx(ActionsTd, { onClick: (e) => e.stopPropagation(), children: _jsx(RowActions, { children: rowActions(r) }) })) : null] }), extra ? _jsx("tr", { children: _jsx(DetailTd, { colSpan: colSpan, children: extra }) }) : null] }, rowKey(r)));
314
- }) })) : null] }) }), showSkeleton ? (_jsx("div", { children: Array.from({ length: skeletonRows }).map((_, i) => (_jsxs(SkeletonRow, { children: [_jsx(Skeleton, { "$w": "26%" }), _jsx(Skeleton, { "$w": "12%" }), _jsx(Skeleton, { "$w": "8%" }), _jsx(Skeleton, { "$w": "16%" })] }, i))) })) : null, isEmpty ? _jsx(Fragment, { children: empty }) : null, !showSkeleton && !isEmpty && (footer || pages > 1) ? (_jsxs(FootRow, { children: [footer, pages > 1 ? (_jsxs(Pager, { children: [_jsxs(PageCount, { children: [current * pageSize + 1, "\u2013", Math.min(filtered.length, (current + 1) * pageSize), " of ", filtered.length] }), _jsx(PageBtn, { onClick: () => setPage(current - 1), disabled: current === 0, "aria-label": "Previous page", children: _jsx(Icon, { name: "chevron-left" }) }), _jsx(PageBtn, { onClick: () => setPage(current + 1), disabled: current >= pages - 1, "aria-label": "Next page", children: _jsx(Icon, { name: "chevron-right" }) })] })) : null] })) : null] }));
343
+ return (_jsxs(Fragment, { children: [_jsxs(Tr, { "$click": click, "$mark": severity?.(r) ?? null, "$active": keyboardNav && active === rowKey(r), "data-row-key": rowKey(r), "data-tone": severity?.(r) ?? undefined, onClick: click ? () => (href ? navigate(href) : onRowClick?.(r)) : undefined, children: [columns.map((c, ci) => {
344
+ const tone = ci === 0 ? severity?.(r) : null;
345
+ return (_jsxs(Td, { "$align": c.align ?? (c.numeric ? "right" : undefined), "$num": c.numeric, "$hide": c.hideBelow, children: [tone ? _jsxs(SrOnly, { children: [TONE_WORD[tone], ": "] }) : null, c.render(r)] }, c.key));
346
+ }), rowActions ? (_jsx(ActionsTd, { onClick: (e) => e.stopPropagation(), children: _jsx(RowActions, { children: rowActions(r) }) })) : null] }), extra ? _jsx("tr", { children: _jsx(DetailTd, { colSpan: colSpan, children: extra }) }) : null] }, rowKey(r)));
347
+ }) })) : null] }) }), renderCard && !showSkeleton && !isEmpty ? (_jsx(CardList, { "$cardsBelow": cardsBelow, style: loading ? { opacity: 0.55 } : undefined, children: visible.map((r) => {
348
+ const href = rowHref?.(r) ?? null;
349
+ const click = !!href || !!onRowClick;
350
+ const open = () => (href ? navigate(href) : onRowClick?.(r));
351
+ return (_jsxs(Card, { "$click": click, "$mark": severity?.(r) ?? null, "data-row-key": rowKey(r), "data-tone": severity?.(r) ?? undefined, ...(click ? { role: "link", tabIndex: 0, onClick: open, onKeyDown: (e) => { if (e.key === "Enter" && e.target === e.currentTarget)
352
+ open(); } } : {}), children: [severity?.(r) ? _jsxs(SrOnly, { children: [TONE_WORD[severity(r)], ": "] }) : null, renderCard(r)] }, rowKey(r)));
353
+ }) })) : null, showSkeleton ? (_jsx("div", { children: Array.from({ length: skeletonRows }).map((_, i) => (_jsxs(SkeletonRow, { children: [_jsx(Skeleton, { "$w": "26%" }), _jsx(Skeleton, { "$w": "12%" }), _jsx(Skeleton, { "$w": "8%" }), _jsx(Skeleton, { "$w": "16%" })] }, i))) })) : null, isEmpty ? _jsx(Fragment, { children: empty }) : null, !showSkeleton && !isEmpty && (footer || pages > 1) ? (_jsxs(FootRow, { children: [footer, pages > 1 ? (_jsxs(Pager, { children: [_jsxs(PageCount, { children: [current * pageSize + 1, "\u2013", Math.min(filtered.length, (current + 1) * pageSize), " of ", filtered.length] }), _jsx(PageBtn, { onClick: () => setPage(current - 1), disabled: current === 0, "aria-label": "Previous page", children: _jsx(Icon, { name: "chevron-left" }) }), _jsx(PageBtn, { onClick: () => setPage(current + 1), disabled: current >= pages - 1, "aria-label": "Next page", children: _jsx(Icon, { name: "chevron-right" }) })] })) : null] })) : null] }));
315
354
  }
316
355
  //# sourceMappingURL=DataTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","sourceRoot":"","sources":["../../src/kit/DataTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","sourceRoot":"","sources":["../../src/kit/DataTable.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ReactNode } from "react";
1
2
  /**
2
3
  * EditableTitle: the entity's name, renamed by clicking it. Enter or blur
3
4
  * commits, Escape abandons, and an empty value is treated as abandoning rather
@@ -12,4 +13,33 @@ export declare function EditableTitle({ value, onSave, canEdit, size, hint, as }
12
13
  hint?: string | undefined;
13
14
  as?: "h1" | "h2" | "h3" | undefined;
14
15
  }): import("react").JSX.Element;
16
+ export type InlineRenameProps = {
17
+ value: string;
18
+ /**
19
+ * Called with the trimmed new name. Return a promise to hold the field open
20
+ * until it settles; a rejection keeps the draft and shows its message.
21
+ */
22
+ onSave: (next: string) => void | Promise<unknown>;
23
+ /** what the control does, e.g. "Rename device" — the field's label and the read form's tooltip */
24
+ label: string;
25
+ canEdit?: boolean | undefined;
26
+ /** the read form when there is no name yet, e.g. "Name this device" */
27
+ empty?: ReactNode | undefined;
28
+ /** the read form's content instead of the value, e.g. "Rename" beside a name shown elsewhere */
29
+ display?: ReactNode | undefined;
30
+ placeholder?: string | undefined;
31
+ maxLength?: number | undefined;
32
+ /** the field's width; by default it fits the draft */
33
+ width?: number | string | undefined;
34
+ /** muted until hovered — a rename that is an aside on its row */
35
+ quiet?: boolean | undefined;
36
+ /** clearing the field saves "" rather than abandoning the edit */
37
+ allowEmpty?: boolean | undefined;
38
+ };
39
+ /**
40
+ * InlineRename: a name renamed in place at whatever size its row sets. Click
41
+ * (or Enter on the focused name) to edit; Enter or blur saves, Escape
42
+ * abandons. An empty value abandons unless `allowEmpty`.
43
+ */
44
+ export declare function InlineRename({ value, onSave, label, canEdit, empty, display, placeholder, maxLength, width, quiet, allowEmpty, }: InlineRenameProps): import("react").JSX.Element;
15
45
  //# sourceMappingURL=Editable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Editable.d.ts","sourceRoot":"","sources":["../../src/kit/Editable.tsx"],"names":[],"mappings":"AAsCA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAS,EAAE,IAAwB,EAAE,EAAS,EAAE,EAAE;IACxG,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;CACrC,+BA6CA"}
1
+ {"version":3,"file":"Editable.d.ts","sourceRoot":"","sources":["../../src/kit/Editable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAwC3E;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAS,EAAE,IAAwB,EAAE,EAAS,EAAE,EAAE;IACxG,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;CACrC,+BA6CA;AAgED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,kGAAkG;IAClG,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,uEAAuE;IACvE,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,gGAAgG;IAChG,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAc,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GACvG,EAAE,iBAAiB,+BAyGnB"}
@@ -1,7 +1,9 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useState } from "react";
3
- import styled from "styled-components";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useId, useRef, useState } from "react";
3
+ import styled, { css } from "styled-components";
4
4
  import { v } from "../theme/tokens.js";
5
+ import { useEscapeLayer } from "./layers.js";
6
+ import { Spinner } from "./Skeleton.js";
5
7
  // Rename in place. A title that opens a modal to change one word is a modal
6
8
  // too many; `EditableChip` already does this for a small value, and this is the
7
9
  // heading form — the text is the control, and it looks like text until it is
@@ -69,4 +71,149 @@ export function EditableTitle({ value, onSave, canEdit, size = 20, hint = "Click
69
71
  }
70
72
  } }));
71
73
  }
74
+ // The row form: a name inside a list row — a device, a key, a saved view —
75
+ // renamed where it sits. Inherits the row's font and size rather than
76
+ // imposing a heading's, and can wait on the save: a promise from `onSave`
77
+ // holds the field open (read-only, with a spinner) until it settles, and a
78
+ // rejection keeps the draft and says why.
79
+ const Wrap = styled.span `
80
+ display: inline-flex;
81
+ flex-direction: column;
82
+ max-width: 100%;
83
+ vertical-align: baseline;
84
+ `;
85
+ const shared = css `
86
+ font: inherit;
87
+ line-height: inherit;
88
+ padding: 1px 4px;
89
+ margin: -1px -4px;
90
+ border-radius: ${v.rCtl};
91
+ `;
92
+ const Read = styled.button `
93
+ ${shared}
94
+ display: inline-block;
95
+ /* the negative margins pull the box out by its padding; give that back */
96
+ max-width: calc(100% + 8px);
97
+ overflow: hidden;
98
+ text-overflow: ellipsis;
99
+ white-space: nowrap;
100
+ text-align: left;
101
+ border: 1px solid transparent;
102
+ color: ${(p) => (p.$quiet || p.$empty ? v.faint : "inherit")};
103
+ ${(p) => p.$empty && css `font-style: italic;`}
104
+ &:hover:not(:disabled) { border-color: ${v.line2}; color: ${(p) => (p.$quiet || p.$empty ? v.text : "inherit")}; cursor: text; }
105
+ &:disabled { cursor: default; }
106
+ `;
107
+ const EditRow = styled.span `display: inline-flex; align-items: center; gap: 6px; max-width: 100%;`;
108
+ const Edit = styled.input `
109
+ ${shared}
110
+ min-width: 6ch;
111
+ max-width: calc(100% + 8px);
112
+ border: 1px solid ${(p) => (p.$invalid ? v.danger : v.brand55)};
113
+ background: ${v.field};
114
+ color: ${v.text};
115
+ &:focus { outline: none; box-shadow: 0 0 0 3px ${(p) => (p.$invalid ? v.dangerBg : v.brand08)}; }
116
+ &:read-only { color: ${v.muted}; }
117
+ `;
118
+ const Problem = styled.span `
119
+ margin-top: 4px;
120
+ font-size: 11.5px;
121
+ color: ${v.danger};
122
+ `;
123
+ function messageOf(err) {
124
+ if (err instanceof Error && err.message)
125
+ return err.message;
126
+ if (typeof err === "string" && err)
127
+ return err;
128
+ return "Could not save";
129
+ }
130
+ /**
131
+ * InlineRename: a name renamed in place at whatever size its row sets. Click
132
+ * (or Enter on the focused name) to edit; Enter or blur saves, Escape
133
+ * abandons. An empty value abandons unless `allowEmpty`.
134
+ */
135
+ export function InlineRename({ value, onSave, label, canEdit = true, empty, display, placeholder, maxLength, width, quiet, allowEmpty, }) {
136
+ const [editing, setEditing] = useState(false);
137
+ const [draft, setDraft] = useState(value);
138
+ const [pending, setPending] = useState(false);
139
+ const [error, setError] = useState(null);
140
+ const readRef = useRef(null);
141
+ const returnFocus = useRef(false);
142
+ // a save in flight, or a field already closing, ignores the blur that follows it
143
+ const busy = useRef(false);
144
+ const live = useRef(true);
145
+ const errId = useId();
146
+ useEffect(() => {
147
+ live.current = true;
148
+ return () => { live.current = false; };
149
+ }, []);
150
+ // Back to the name after a keyboard save or cancel, so the next Tab is where it was.
151
+ useEffect(() => {
152
+ if (!editing && returnFocus.current) {
153
+ returnFocus.current = false;
154
+ readRef.current?.focus();
155
+ }
156
+ }, [editing]);
157
+ const close = (refocus) => {
158
+ busy.current = true;
159
+ returnFocus.current = refocus;
160
+ setEditing(false);
161
+ setError(null);
162
+ };
163
+ const cancel = () => { if (!busy.current)
164
+ close(true); };
165
+ useEscapeLayer(editing, cancel);
166
+ const commit = async (refocus) => {
167
+ if (busy.current)
168
+ return;
169
+ const next = draft.trim();
170
+ if (next === value || (!next && !allowEmpty)) {
171
+ close(refocus);
172
+ return;
173
+ }
174
+ let saving;
175
+ try {
176
+ saving = onSave(next);
177
+ }
178
+ catch (err) {
179
+ setError(messageOf(err));
180
+ return;
181
+ }
182
+ if (!(saving instanceof Promise)) {
183
+ close(refocus);
184
+ return;
185
+ }
186
+ busy.current = true;
187
+ setPending(true);
188
+ setError(null);
189
+ try {
190
+ await saving;
191
+ if (live.current)
192
+ close(refocus);
193
+ }
194
+ catch (err) {
195
+ busy.current = false;
196
+ if (live.current)
197
+ setError(messageOf(err));
198
+ }
199
+ finally {
200
+ if (live.current)
201
+ setPending(false);
202
+ }
203
+ };
204
+ if (!editing) {
205
+ const content = display ?? (value || empty || placeholder || label);
206
+ return (_jsx(Wrap, { children: _jsx(Read, { ref: readRef, type: "button", "$quiet": quiet, "$empty": !value && display === undefined, disabled: !canEdit, title: canEdit ? label : undefined, "aria-label": display === undefined && value ? `${value}, ${label.toLowerCase()}` : label, onClick: () => { busy.current = false; setDraft(value); setError(null); setEditing(true); }, children: content }) }));
207
+ }
208
+ return (_jsxs(Wrap, { children: [_jsxs(EditRow, { children: [_jsx(Edit, { autoFocus: true, value: draft, placeholder: placeholder, maxLength: maxLength, "aria-label": label, "aria-invalid": error ? true : undefined, "aria-describedby": error ? errId : undefined, "aria-busy": pending || undefined, readOnly: pending, "$invalid": !!error, style: { width: width ?? `${Math.max(draft.length, placeholder?.length ?? 0, 6) + 3}ch` }, onChange: (e) => { setDraft(e.target.value); if (error)
209
+ setError(null); },
210
+ // a failed save stays open on blur rather than retrying, so the reason stays readable
211
+ onBlur: () => { if (!error)
212
+ void commit(false); }, onKeyDown: (e) => {
213
+ if (e.key === "Enter") {
214
+ e.preventDefault();
215
+ void commit(true);
216
+ }
217
+ } }), pending ? _jsx(Spinner, { "$size": 12, "aria-label": "Saving", role: "status" }) : null] }), error ? _jsx(Problem, { id: errId, role: "alert", children: error }) : null] }));
218
+ }
72
219
  //# sourceMappingURL=Editable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Editable.js","sourceRoot":"","sources":["../../src/kit/Editable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Editable.js","sourceRoot":"","sources":["../../src/kit/Editable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC3E,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAgB,CAAC;AAEzC,4EAA4E;AAC5E,gFAAgF;AAChF,6EAA6E;AAC7E,WAAW;AAEX,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAuC;;eAEjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK;;;YAGjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;;;;;mBAKlC,CAAC,CAAC,IAAI;IACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,2BAA2B,CAAC,CAAC,KAAK,KAAK;CAChE,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAmB;;;eAG9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK;;;;;mBAKV,CAAC,CAAC,IAAI;sBACH,CAAC,CAAC,OAAO;gBACf,CAAC,CAAC,KAAK;WACZ,CAAC,CAAC,IAAI;mDACkC,CAAC,CAAC,OAAO;CAC3D,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,iBAAiB,EAAE,EAAE,GAAG,IAAI,EAQrG;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,2EAA2E;IAC3E,0CAA0C;IAC1C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC;;YACpC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,KAAC,OAAO,IACN,EAAE,EAAE,EAAE,WACC,IAAI,eACA,CAAC,CAAC,OAAO,EACpB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACjC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,OAAO;gBAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAEhD,KAAK,GACE,CACX,CAAC;IACJ,CAAC;IACD,OAAO,CACL,KAAC,KAAK,IACJ,SAAS,iBACF,IAAI,EACX,KAAK,EAAE,KAAK,gBACA,IAAI,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO;gBAAE,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;QACjE,CAAC,GACD,CACH,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,sEAAsE;AACtE,0EAA0E;AAC1E,2EAA2E;AAC3E,0CAA0C;AAE1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;CAKvB,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;mBAKC,CAAC,CAAC,IAAI;CACxB,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAgE;IACtF,MAAM;;;;;;;;;WASC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAA,qBAAqB;2CACJ,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;;CAE/G,CAAC;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAA,uEAAuE,CAAC;AAEnG,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAoC;IACzD,MAAM;;;sBAGY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAChD,CAAC,CAAC,KAAK;WACZ,CAAC,CAAC,IAAI;mDACkC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;yBACtE,CAAC,CAAC,KAAK;CAC/B,CAAC;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAA;;;WAGhB,CAAC,CAAC,MAAM;CAClB,CAAC;AAEF,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAC/C,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AA0BD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GACpF;IAClB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,iFAAiF;IACjF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;IAEtB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,qFAAqF;IACrF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACpC,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;YAC5B,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAE,EAAE;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;QACxC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACzE,IAAI,MAA+B,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC,EAAE,CAAC;YAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,CAAC;YACb,IAAI,IAAI,CAAC,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,IAAI,CAAC,OAAO;gBAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,OAAO;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,WAAW,IAAI,KAAK,CAAC,CAAC;QACpE,OAAO,CACL,KAAC,IAAI,cACH,KAAC,IAAI,IACH,GAAG,EAAE,OAAO,EACZ,IAAI,EAAC,QAAQ,YACL,KAAK,YACL,CAAC,KAAK,IAAI,OAAO,KAAK,SAAS,EACvC,QAAQ,EAAE,CAAC,OAAO,EAClB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,gBACtB,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EACvF,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAE1F,OAAO,GACH,GACF,CACR,CAAC;IACJ,CAAC;IACD,OAAO,CACL,MAAC,IAAI,eACH,MAAC,OAAO,eACN,KAAC,IAAI,IACH,SAAS,QACT,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,gBACR,KAAK,kBACH,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,sBACpB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,eAChC,OAAO,IAAI,SAAS,EAC/B,QAAQ,EAAE,OAAO,cACP,CAAC,CAAC,KAAK,EACjB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EACzF,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK;4BAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACzE,sFAAsF;wBACtF,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK;4BAAE,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACjD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;4BACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gCAAC,CAAC,CAAC,cAAc,EAAE,CAAC;gCAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;4BAAC,CAAC;wBACnE,CAAC,GACD,EACD,OAAO,CAAC,CAAC,CAAC,KAAC,OAAO,aAAQ,EAAE,gBAAa,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,IAClE,EACT,KAAK,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAC,OAAO,YAAE,KAAK,GAAW,CAAC,CAAC,CAAC,IAAI,IAC7D,CACR,CAAC;AACJ,CAAC"}
@@ -1,10 +1,17 @@
1
1
  import type { ReactNode } from "react";
2
2
  import { type IconName } from "./Icon.tsx";
3
- export declare function EmptyState({ icon, title, desc, action, compact }: {
3
+ export declare function EmptyState({ icon, title, desc, action, compact, size }: {
4
4
  icon?: IconName | (string & {}) | undefined;
5
- title: ReactNode;
5
+ /** optional: a state that is only a glyph and a description */
6
+ title?: ReactNode | undefined;
6
7
  desc?: ReactNode | undefined;
7
8
  action?: ReactNode | undefined;
9
+ /** less padding, same stacked layout */
8
10
  compact?: boolean | undefined;
11
+ /**
12
+ * "compact": a single line — the icon only when one is passed explicitly,
13
+ * then `title` and `desc` inline, `action` after. Takes precedence over `compact`.
14
+ */
15
+ size?: "compact" | undefined;
9
16
  }): import("react").JSX.Element;
10
17
  //# sourceMappingURL=EmptyState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/kit/EmptyState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAyCjD,wBAAgB,UAAU,CAAC,EAAE,IAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IACzE,IAAI,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,+BASA"}
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/kit/EmptyState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAqDjD,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACvE,IAAI,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5C,+DAA+D;IAC/D,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC9B,+BAmBA"}
@@ -36,7 +36,21 @@ const Actions = styled.div `
36
36
  display: flex;
37
37
  gap: 8px;
38
38
  `;
39
- export function EmptyState({ icon = "box", title, desc, action, compact }) {
40
- return (_jsxs(Wrap, { "$compact": compact, children: [_jsx(Glyph, { children: _jsx(Icon, { name: icon }) }), _jsx(Title, { children: title }), desc ? _jsx(Desc, { children: desc }) : null, action ? _jsx(Actions, { children: action }) : null] }));
39
+ /* size="compact": one line, no tile — "Loading…", "Nothing stuck." inside a panel */
40
+ const Line = styled.div `
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ gap: 8px;
45
+ padding: 14px 16px;
46
+ font-size: 12.5px;
47
+ color: ${v.muted};
48
+ text-align: center;
49
+ `;
50
+ export function EmptyState({ icon, title, desc, action, compact, size }) {
51
+ if (size === "compact") {
52
+ return (_jsxs(Line, { role: "status", children: [icon ? _jsx(Icon, { name: icon }) : null, title ? _jsx("strong", { style: { fontWeight: 600, color: v.text }, children: title }) : null, desc ? _jsx("span", { children: desc }) : null, action] }));
53
+ }
54
+ return (_jsxs(Wrap, { "$compact": compact, children: [_jsx(Glyph, { children: _jsx(Icon, { name: icon ?? "box" }) }), title ? _jsx(Title, { children: title }) : null, desc ? _jsx(Desc, { children: desc }) : null, action ? _jsx(Actions, { children: action }) : null] }));
41
55
  }
42
56
  //# sourceMappingURL=EmptyState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../src/kit/EmptyState.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAY,CAAC;AAEjD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAoC;;;;;;;aAO9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;CAC3D,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;gBAMR,CAAC,CAAC,OAAO;WACd,CAAC,CAAC,KAAK;;;CAGjB,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGvB,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;WAEZ,CAAC,CAAC,KAAK;;CAEjB,CAAC;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;CAIzB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAMtE;IACC,OAAO,CACL,MAAC,IAAI,gBAAW,OAAO,aACrB,KAAC,KAAK,cAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI,GAAQ,EACnC,KAAC,KAAK,cAAE,KAAK,GAAS,EACrB,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,IAAI,GAAQ,CAAC,CAAC,CAAC,IAAI,EACjC,MAAM,CAAC,CAAC,CAAC,KAAC,OAAO,cAAE,MAAM,GAAW,CAAC,CAAC,CAAC,IAAI,IACvC,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../src/kit/EmptyState.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAY,CAAC;AAEjD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAoC;;;;;;;aAO9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;CAC3D,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;gBAMR,CAAC,CAAC,OAAO;WACd,CAAC,CAAC,KAAK;;;CAGjB,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGvB,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;WAEZ,CAAC,CAAC,KAAK;;CAEjB,CAAC;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;CAIzB,CAAC;AAEF,qFAAqF;AACrF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;WAOZ,CAAC,CAAC,KAAK;;CAEjB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAapE;IACC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CACL,MAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,aAChB,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC,CAAC,IAAI,EAClC,KAAK,CAAC,CAAC,CAAC,iBAAQ,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,YAAG,KAAK,GAAU,CAAC,CAAC,CAAC,IAAI,EAClF,IAAI,CAAC,CAAC,CAAC,yBAAO,IAAI,GAAQ,CAAC,CAAC,CAAC,IAAI,EACjC,MAAM,IACF,CACR,CAAC;IACJ,CAAC;IACD,OAAO,CACL,MAAC,IAAI,gBAAW,OAAO,aACrB,KAAC,KAAK,cAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,IAAI,KAAK,GAAI,GAAQ,EAC3C,KAAK,CAAC,CAAC,CAAC,KAAC,KAAK,cAAE,KAAK,GAAS,CAAC,CAAC,CAAC,IAAI,EACrC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,IAAI,GAAQ,CAAC,CAAC,CAAC,IAAI,EACjC,MAAM,CAAC,CAAC,CAAC,KAAC,OAAO,cAAE,MAAM,GAAW,CAAC,CAAC,CAAC,IAAI,IACvC,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { type ReactNode } from "react";
2
+ export interface MultiSelectMember {
3
+ id: string;
4
+ label: ReactNode;
5
+ /** a trailing figure or note — a count, a region */
6
+ meta?: ReactNode | undefined;
7
+ /** shown but not pickable; a group toggle leaves it as it is */
8
+ disabled?: boolean | undefined;
9
+ }
10
+ export interface MultiSelectGroup {
11
+ id: string;
12
+ /** a word, so the default summary can say it ("Hubs", "2 of 5 grabbers") */
13
+ label: string;
14
+ members: MultiSelectMember[];
15
+ }
16
+ export type GroupSelection = "all" | "some" | "none";
17
+ /**
18
+ * How much of a group is picked: "all" once every enabled member is (a
19
+ * disabled one cannot be, so it does not hold the group back), "none" when no
20
+ * member is. A group with nothing enabled and nothing picked is "none".
21
+ */
22
+ export declare function groupSelection(group: MultiSelectGroup, value: ReadonlySet<string>): GroupSelection;
23
+ /** The default trigger text: "All sources", "Hubs · 2 of 5 grabbers", "None". */
24
+ export declare function describeGroupedSelection(groups: MultiSelectGroup[], value: ReadonlySet<string>, { allLabel, noneLabel }?: {
25
+ allLabel?: string | undefined;
26
+ noneLabel?: string | undefined;
27
+ }): string;
28
+ export interface GroupedMultiSelectProps {
29
+ groups: MultiSelectGroup[];
30
+ /** the picked member ids */
31
+ value: ReadonlySet<string>;
32
+ onChange: (value: Set<string>) => void;
33
+ /** a leading caption on the trigger ("Sources") */
34
+ label?: ReactNode | undefined;
35
+ /** the trigger's text when every member is picked (default "All") */
36
+ allLabel?: string | undefined;
37
+ /** the trigger's text when nothing is (default "None") */
38
+ noneLabel?: string | undefined;
39
+ /** replaces the default summary ("Hubs · 2 of 5 grabbers") */
40
+ summary?: ((value: ReadonlySet<string>, groups: MultiSelectGroup[]) => ReactNode) | undefined;
41
+ /** the All / None shortcuts under the list (default true) */
42
+ shortcuts?: boolean | undefined;
43
+ disabled?: boolean | undefined;
44
+ /** accessible name of the panel and the trigger, when `label` is not a string */
45
+ ariaLabel?: string | undefined;
46
+ /** which edge of the trigger the panel lines up with (default "left") */
47
+ align?: "left" | "right" | undefined;
48
+ }
49
+ /**
50
+ * GroupedMultiSelect: a trigger that summarises what is picked, opening a
51
+ * panel of groups, each a tri-state checkbox (aria-checked "mixed" for some)
52
+ * over its members' checkboxes. A group row picks all of its enabled members,
53
+ * or clears them when they are all already picked. Arrow keys, Home and End
54
+ * move between rows; Space or Enter toggles; Escape closes back to the trigger.
55
+ */
56
+ export declare function GroupedMultiSelect({ groups, value, onChange, label, allLabel, noneLabel, summary, shortcuts, disabled, ariaLabel, align, }: GroupedMultiSelectProps): import("react").JSX.Element;
57
+ //# sourceMappingURL=GroupedMultiSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupedMultiSelect.d.ts","sourceRoot":"","sources":["../../src/kit/GroupedMultiSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAexF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,oDAAoD;IACpD,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAIrD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,cAAc,CAIlG;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,EAAE,QAAgB,EAAE,SAAkB,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,GAC/G,MAAM,CAUR;AA4GD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,4BAA4B;IAC5B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACvC,mDAAmD;IACnD,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC;IAC9F,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAc,GACpH,EAAE,uBAAuB,+BA4IzB"}