@hanzo/ui 8.27.43 → 8.27.45
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/backends/gui/animated-testimonials.cjs +2 -2
- package/dist/backends/gui/animated-testimonials.js +2 -2
- package/dist/backends/gui/animated-testimonials.js.map +1 -1
- package/dist/backends/gui/animated-tooltip.cjs +2 -2
- package/dist/backends/gui/animated-tooltip.js +2 -2
- package/dist/backends/gui/animated-tooltip.js.map +1 -1
- package/dist/backends/gui/carousel.cjs +2 -2
- package/dist/backends/gui/carousel.d.ts.map +1 -1
- package/dist/backends/gui/carousel.js +2 -2
- package/dist/backends/gui/carousel.js.map +1 -1
- package/dist/backends/gui/index.cjs +4 -5
- package/dist/backends/gui/index.d.ts +1 -1
- package/dist/backends/gui/index.d.ts.map +1 -1
- package/dist/backends/gui/index.js +1 -1
- package/dist/backends/gui/index.js.map +1 -1
- package/dist/backends/gui/input-otp.cjs +2 -1
- package/dist/backends/gui/input-otp.d.ts.map +1 -1
- package/dist/backends/gui/input-otp.js +2 -1
- package/dist/backends/gui/input-otp.js.map +1 -1
- package/dist/backends/gui/navigation-menu.cjs +24 -6
- package/dist/backends/gui/navigation-menu.d.ts +0 -6
- package/dist/backends/gui/navigation-menu.d.ts.map +1 -1
- package/dist/backends/gui/navigation-menu.js +23 -5
- package/dist/backends/gui/navigation-menu.js.map +1 -1
- package/dist/backends/gui/prose.cjs +4 -18
- package/dist/backends/gui/prose.d.ts +8 -5
- package/dist/backends/gui/prose.d.ts.map +1 -1
- package/dist/backends/gui/prose.js +4 -18
- package/dist/backends/gui/prose.js.map +1 -1
- package/dist/backends/gui/skeleton.cjs +1 -1
- package/dist/backends/gui/skeleton.d.ts.map +1 -1
- package/dist/backends/gui/skeleton.js +1 -1
- package/dist/backends/gui/skeleton.js.map +1 -1
- package/dist/backends/gui/timeline.cjs +2 -2
- package/dist/backends/gui/timeline.d.ts +1 -1
- package/dist/backends/gui/timeline.js +2 -2
- package/dist/backends/gui/timeline.js.map +1 -1
- package/dist/backends/gui/video.cjs +1 -1
- package/dist/backends/gui/video.js +1 -1
- package/dist/backends/gui/video.js.map +1 -1
- package/dist/chat/Composer.cjs +6 -1
- package/dist/chat/Composer.d.ts.map +1 -1
- package/dist/chat/Composer.js +6 -1
- package/dist/chat/Composer.js.map +1 -1
- package/dist/chat/SessionRail.cjs +1 -4
- package/dist/chat/SessionRail.js +1 -4
- package/dist/chat/SessionRail.js.map +1 -1
- package/dist/consent/Consent.cjs +43 -8
- package/dist/consent/Consent.d.ts.map +1 -1
- package/dist/consent/Consent.js +45 -10
- package/dist/consent/Consent.js.map +1 -1
- package/dist/core/cn.cjs +1 -1
- package/dist/core/cn.d.ts +1 -1
- package/dist/core/cn.js +1 -1
- package/dist/gallery.html +481 -600
- package/dist/glass.cjs +2 -24
- package/dist/glass.css +0 -196
- package/dist/glass.d.ts +2 -26
- package/dist/glass.d.ts.map +1 -1
- package/dist/glass.js +1 -22
- package/dist/glass.js.map +1 -1
- package/dist/grid.cjs +60 -10
- package/dist/grid.d.ts +20 -24
- package/dist/grid.d.ts.map +1 -1
- package/dist/grid.js +60 -10
- package/dist/grid.js.map +1 -1
- package/dist/index.cjs +6 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +6 -2
- package/dist/index.node.js +4 -1
- package/dist/masthead/index.cjs +3 -12
- package/dist/masthead/index.d.ts +3 -6
- package/dist/masthead/index.d.ts.map +1 -1
- package/dist/masthead/index.js +3 -6
- package/dist/masthead/index.js.map +1 -1
- package/dist/motion.cjs +20 -0
- package/dist/motion.d.ts +17 -0
- package/dist/motion.d.ts.map +1 -0
- package/dist/motion.js +16 -0
- package/dist/motion.js.map +1 -0
- package/dist/onboarding/account.cjs +1 -1
- package/dist/onboarding/account.d.ts +3 -3
- package/dist/onboarding/account.d.ts.map +1 -1
- package/dist/onboarding/account.js +1 -1
- package/dist/onboarding/account.js.map +1 -1
- package/dist/onboarding/frame.cjs +1 -1
- package/dist/onboarding/frame.d.ts +1 -1
- package/dist/onboarding/frame.d.ts.map +1 -1
- package/dist/onboarding/frame.js +1 -1
- package/dist/onboarding/frame.js.map +1 -1
- package/dist/product/DataTable.cjs +24 -4
- package/dist/product/DataTable.d.ts +0 -16
- package/dist/product/DataTable.d.ts.map +1 -1
- package/dist/product/DataTable.js +24 -4
- package/dist/product/DataTable.js.map +1 -1
- package/dist/product/FadeIn.cjs +1 -1
- package/dist/product/FadeIn.js +1 -1
- package/dist/product/FadeIn.js.map +1 -1
- package/dist/product/Metric.cjs +19 -2
- package/dist/product/Metric.d.ts +0 -16
- package/dist/product/Metric.d.ts.map +1 -1
- package/dist/product/Metric.js +19 -2
- package/dist/product/Metric.js.map +1 -1
- package/dist/product/Reorder.cjs +1 -1
- package/dist/product/Reorder.js +1 -1
- package/dist/product/Reorder.js.map +1 -1
- package/dist/product/Skeleton.cjs +5 -5
- package/dist/product/Skeleton.d.ts +4 -4
- package/dist/product/Skeleton.d.ts.map +1 -1
- package/dist/product/Skeleton.js +5 -5
- package/dist/product/Skeleton.js.map +1 -1
- package/dist/product/SlideOver.cjs +2 -10
- package/dist/product/SlideOver.d.ts.map +1 -1
- package/dist/product/SlideOver.js +2 -10
- package/dist/product/SlideOver.js.map +1 -1
- package/dist/product/figures.cjs +16 -0
- package/dist/product/figures.d.ts +16 -0
- package/dist/product/figures.d.ts.map +1 -0
- package/dist/product/figures.js +14 -0
- package/dist/product/figures.js.map +1 -0
- package/dist/product/social/SocialResource.cjs +2 -1
- package/dist/product/social/SocialResource.d.ts.map +1 -1
- package/dist/product/social/SocialResource.js +2 -1
- package/dist/product/social/SocialResource.js.map +1 -1
- package/dist/product/social/SocialSummaryBar.cjs +2 -1
- package/dist/product/social/SocialSummaryBar.d.ts.map +1 -1
- package/dist/product/social/SocialSummaryBar.js +2 -1
- package/dist/product/social/SocialSummaryBar.js.map +1 -1
- package/dist/style.cjs +1 -4
- package/dist/style.d.ts +0 -2
- package/dist/style.d.ts.map +1 -1
- package/dist/style.js +0 -2
- package/dist/style.js.map +1 -1
- package/dist/styles/motion.css +61 -283
- package/dist/styles.css +478 -597
- package/dist/sx.cjs +1 -1
- package/dist/sx.js +1 -1
- package/dist/theme.css +369 -292
- package/package.json +3 -4
- package/dist/masthead/Masthead.cjs +0 -168
- package/dist/masthead/Masthead.d.ts +0 -54
- package/dist/masthead/Masthead.d.ts.map +0 -1
- package/dist/masthead/Masthead.js +0 -162
- package/dist/masthead/Masthead.js.map +0 -1
- package/dist/masthead.css +0 -502
- package/dist/primitives/navigationMenuTriggerStyle.cjs +0 -8
- package/dist/primitives/navigationMenuTriggerStyle.d.ts +0 -2
- package/dist/primitives/navigationMenuTriggerStyle.d.ts.map +0 -1
- package/dist/primitives/navigationMenuTriggerStyle.js +0 -5
- package/dist/primitives/navigationMenuTriggerStyle.js.map +0 -1
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Generic data table — the shared list primitive for every product module.
|
|
5
|
+
*
|
|
6
|
+
* Rows are typed `<T>`; columns declare a key, header, and optional cell
|
|
7
|
+
* renderer. Built on Hanzo GUI Stacks (shorthand style props per the v5 config)
|
|
8
|
+
* so it adapts across platforms. Loading and empty states are first-class:
|
|
9
|
+
* loading paints SKELETON ROWS in the real column layout (an honest "loading",
|
|
10
|
+
* never a spinner void); numeric columns opt into right-aligned Zen Mono
|
|
11
|
+
* tabular figures so amounts/counts/IDs read as precise, column-aligned data.
|
|
12
|
+
*
|
|
13
|
+
* SORTING is opt-in and caller-owned: a column marks itself `sortable`, the caller
|
|
14
|
+
* passes the current `sort` + an `onSortChange`, and the table only reports the
|
|
15
|
+
* clicked key (it never reorders `rows` itself — the caller's own pure comparator
|
|
16
|
+
* stays the one source of order). Omit all three and the table behaves exactly as
|
|
17
|
+
* before, so every existing consumer is unchanged.
|
|
18
|
+
*/
|
|
19
|
+
import { FIGURES, TABULAR } from './figures.js';
|
|
20
|
+
import { Skeleton } from './Skeleton.js';
|
|
3
21
|
import { Text, XStack, YStack } from '@hanzo/gui';
|
|
4
22
|
import { ChevronDown, ChevronsUpDown, ChevronUp } from '@hanzogui/lucide-icons-2';
|
|
5
23
|
import { useEmit } from './instrument.js';
|
|
6
24
|
/** Skeleton rows in the real column layout — an honest "loading", never a void. */
|
|
7
25
|
function SkeletonRows({ columns, count = 6 }) {
|
|
8
|
-
return (_jsx(YStack, { children: Array.from({ length: count }).map((_, r) => (_jsx(XStack, { py: "$2.5", px: "$3", gap: "$3", borderTopWidth: 1, borderColor: "$borderColor", items: "center", children: columns.map((c, i) => (_jsx(YStack, { width: c.width, flex: c.width ? undefined : 1, minW: c.width ? undefined : FLEX_MIN_COL_W, items: c.align === 'right' ? 'flex-end' : 'flex-start', children: _jsx(
|
|
26
|
+
return (_jsx(YStack, { children: Array.from({ length: count }).map((_, r) => (_jsx(XStack, { py: "$2.5", px: "$3", gap: "$3", borderTopWidth: 1, borderColor: "$borderColor", items: "center", children: columns.map((c, i) => (_jsx(YStack, { width: c.width, flex: c.width ? undefined : 1, minW: c.width ? undefined : FLEX_MIN_COL_W, items: c.align === 'right' ? 'flex-end' : 'flex-start', children: _jsx(Skeleton, { height: 12, rounded: 6, width: `${[62, 40, 54, 34, 48][(i + r) % 5]}%` }) }, c.key))) }, r))) }));
|
|
9
27
|
}
|
|
10
28
|
export function DataTable({ columns, rows, loading, empty = 'Nothing here yet.', rowKey, onRowPress, isRowExpanded, renderExpanded, sort, onSortChange, }) {
|
|
11
29
|
// Every table in the fleet reports the same two interactions with no app code.
|
|
@@ -28,10 +46,12 @@ export function DataTable({ columns, rows, loading, empty = 'Nothing here yet.',
|
|
|
28
46
|
track({ component: 'DataTable', action: 'sort', id: c.key, value: sort?.key === c.key && sort?.dir === 'asc' ? 'desc' : 'asc' });
|
|
29
47
|
onSortChange?.(c.key);
|
|
30
48
|
}
|
|
31
|
-
: undefined, children: [_jsx(Text, { fontSize: "$1", fontWeight: "500", color: active ? '$ink' : '$soft', text: c.align === 'right' ? 'right' : 'left',
|
|
49
|
+
: undefined, children: [_jsx(Text, { fontSize: "$1", fontWeight: "500", color: active ? '$ink' : '$soft', text: c.align === 'right' ? 'right' : 'left', ...(c.mono ? TABULAR : null), children: c.header }), Caret ? _jsx(Caret, { size: 12, color: active ? '$ink' : '$faint' }) : null] }, c.key));
|
|
32
50
|
}) }), loading ? (_jsx(SkeletonRows, { columns: columns })) : rows.length > 0 ? (_jsx(YStack, { children: rows.map((row) => {
|
|
33
51
|
const expanded = (isRowExpanded?.(row) ?? false) && !!renderExpanded;
|
|
34
|
-
return (_jsxs(YStack, { children: [_jsx(XStack, {
|
|
52
|
+
return (_jsxs(YStack, { children: [_jsx(XStack, { "data-slot": "data-table-row", py: "$2.5", px: "$3", gap: "$3", borderTopWidth: 1, borderColor: "$borderColor", items: "center", bg: expanded ? '$panel' : undefined,
|
|
53
|
+
// Every row answers a pointer; a pressable one answers louder.
|
|
54
|
+
hoverStyle: { bg: onRowPress ? '$panel' : 'var(--surface-card-quiet)' }, style: { transition: 'background-color 140ms ease-out' }, cursor: onRowPress ? 'pointer' : undefined, onPress: onRowPress
|
|
35
55
|
? () => {
|
|
36
56
|
track({ component: 'DataTable', action: 'select', id: rowKey(row), value: rows.length });
|
|
37
57
|
onRowPress(row);
|
|
@@ -46,7 +66,7 @@ export function DataTable({ columns, rows, loading, empty = 'Nothing here yet.',
|
|
|
46
66
|
// and always picks up the numeric mono/align styling. Element
|
|
47
67
|
// renders (Text/badges/cells) pass through untouched.
|
|
48
68
|
const cell = c.render ? c.render(row) : String(row[c.key] ?? '');
|
|
49
|
-
return (_jsx(YStack, { width: c.width, flex: c.width ? undefined : 1, minW: c.width ? undefined : FLEX_MIN_COL_W, justify: "center", items: c.align === 'right' ? 'flex-end' : 'flex-start', children: typeof cell === 'string' || typeof cell === 'number' ? (_jsx(Text, { fontSize: "$3", numberOfLines: 1, color: "$ink", text: c.align === 'right' ? 'right' : 'left',
|
|
69
|
+
return (_jsx(YStack, { width: c.width, flex: c.width ? undefined : 1, minW: c.width ? undefined : FLEX_MIN_COL_W, justify: "center", items: c.align === 'right' ? 'flex-end' : 'flex-start', children: typeof cell === 'string' || typeof cell === 'number' ? (_jsx(Text, { fontSize: "$3", numberOfLines: 1, color: "$ink", text: c.align === 'right' ? 'right' : 'left', ...(c.mono ? FIGURES : null), children: cell })) : (cell) }, c.key));
|
|
50
70
|
}) }), expanded && renderExpanded ? (_jsx(YStack, { borderTopWidth: 1, borderColor: "$borderColor", bg: "$sunken", children: renderExpanded(row) })) : null] }, rowKey(row)));
|
|
51
71
|
}) })) : null] }) }), !loading && rows.length === 0 ? (_jsx(YStack, { py: "$8", px: "$4", items: "center", gap: "$1", borderTopWidth: 1, borderColor: "$borderColor", children: _jsx(Text, { color: "$soft", fontSize: "$3", text: "center", children: empty }) })) : null] }));
|
|
52
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","sourceRoot":"","sources":["../../src/product/DataTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;
|
|
1
|
+
{"version":3,"file":"DataTable.js","sourceRoot":"","sources":["../../src/product/DataTable.tsx"],"names":[],"mappings":"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"}
|
package/dist/product/FadeIn.cjs
CHANGED
|
@@ -4,5 +4,5 @@ exports.FadeIn = FadeIn;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
function FadeIn({ children, index = 0, step = 50, delayMs, style, }) {
|
|
6
6
|
const delay = delayMs ?? index * step;
|
|
7
|
-
return ((0, jsx_runtime_1.jsx)("div", {
|
|
7
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-motion": "rise", style: { animationDelay: `${delay}ms`, ...style }, children: children }));
|
|
8
8
|
}
|
package/dist/product/FadeIn.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
export function FadeIn({ children, index = 0, step = 50, delayMs, style, }) {
|
|
3
3
|
const delay = delayMs ?? index * step;
|
|
4
|
-
return (_jsx("div", {
|
|
4
|
+
return (_jsx("div", { "data-motion": "rise", style: { animationDelay: `${delay}ms`, ...style }, children: children }));
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=FadeIn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FadeIn.js","sourceRoot":"","sources":["../../src/product/FadeIn.tsx"],"names":[],"mappings":";AAaA,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,EACR,KAAK,GAAG,CAAC,EACT,IAAI,GAAG,EAAE,EACT,OAAO,EACP,KAAK,GAWN;IACC,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,IAAI,CAAA;IACrC,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"FadeIn.js","sourceRoot":"","sources":["../../src/product/FadeIn.tsx"],"names":[],"mappings":";AAaA,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,EACR,KAAK,GAAG,CAAC,EACT,IAAI,GAAG,EAAE,EACT,OAAO,EACP,KAAK,GAWN;IACC,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,IAAI,CAAA;IACrC,OAAO,CACL,6BAAiB,MAAM,EAAC,KAAK,EAAE,EAAE,cAAc,EAAE,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,EAAE,YACtE,QAAQ,GACL,CACP,CAAA;AACH,CAAC"}
|
package/dist/product/Metric.cjs
CHANGED
|
@@ -11,6 +11,23 @@ exports.MetricCard = MetricCard;
|
|
|
11
11
|
exports.HintButton = HintButton;
|
|
12
12
|
exports.Panel = Panel;
|
|
13
13
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
14
|
+
/**
|
|
15
|
+
* Console metric primitives — the ONE shared set of stat tiles, panels, legend
|
|
16
|
+
* rows, util bars, and "real action or honest-disabled" buttons that every
|
|
17
|
+
* resource console (GPUs, Kubernetes, Containers, Training, Tasks) renders.
|
|
18
|
+
*
|
|
19
|
+
* These were first written for the GPU surface; promoted here so a sibling
|
|
20
|
+
* product never reaches into `gpus/` for shell chrome (separation of concerns).
|
|
21
|
+
* `gpus/charts.tsx` now re-exports them, so there is exactly one definition.
|
|
22
|
+
*
|
|
23
|
+
* Honest by construction: a `MetricCard` shows the pre-formatted `value` the
|
|
24
|
+
* caller passes (an absent metric is an em-dash, never a fabricated number); a
|
|
25
|
+
* `Sparkline`/`MiniBars` with no real series renders nothing; a `HintButton`
|
|
26
|
+
* with no `onPress` is visibly disabled with a tooltip saying WHY. Inline SVG is
|
|
27
|
+
* the house pattern (see ui/Loader, ui/HanzoMark); style props use the v5
|
|
28
|
+
* shorthand set.
|
|
29
|
+
*/
|
|
30
|
+
const figures_1 = require("./figures.cjs");
|
|
14
31
|
const gui_1 = require("@hanzo/gui");
|
|
15
32
|
/** Distinct, theme-neutral series colors (mid-saturation reads on dark + light). */
|
|
16
33
|
exports.SERIES = ['#6ea8fe', '#7ee787', '#f0a868', '#c792ea', '#56d4c4', '#e879a6', '#d6c15a', '#8b9bb4'];
|
|
@@ -63,7 +80,7 @@ function UtilBar({ value, width = 120, color }) {
|
|
|
63
80
|
}
|
|
64
81
|
/** A legend row: color swatch + label + value. */
|
|
65
82
|
function LegendDot({ color, label, value }) {
|
|
66
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", justify: "space-between", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { width: 10, height: 10, rounded: "$1", bg: color }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$quiet", children: label })] }), value != null ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$ink", fontWeight: "500",
|
|
83
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", justify: "space-between", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { width: 10, height: 10, rounded: "$1", bg: color }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$quiet", children: label })] }), value != null ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$ink", fontWeight: "500", ...figures_1.FIGURES, children: value })) : null] }));
|
|
67
84
|
}
|
|
68
85
|
/**
|
|
69
86
|
* One overview metric tile. `value` is pre-formatted by the caller (so an absent
|
|
@@ -72,7 +89,7 @@ function LegendDot({ color, label, value }) {
|
|
|
72
89
|
*/
|
|
73
90
|
function MetricCard({ icon, label, value, caption, spark, sparkColor, delta, }) {
|
|
74
91
|
const up = delta ? delta.pct >= 0 : false;
|
|
75
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.Card, { p: "$3.5", gap: "$2", borderWidth: 1, borderColor: "$borderColor", flex: 1, minW: 172, children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", justify: "space-between", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", children: [icon, (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$quiet", fontWeight: "500", children: label })] }), delta ? ((0, jsx_runtime_1.jsxs)(gui_1.Text, { fontSize: "$1", color: up ? '#7ee787' : '#e5534b', children: [up ? '▲' : '▼', " ", Math.abs(delta.pct), "%"] })) : null] }), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "flex-end", justify: "space-between", gap: "$2", children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$8", fontWeight: "500", color: "$ink", numberOfLines: 1,
|
|
92
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.Card, { p: "$3.5", gap: "$2", borderWidth: 1, borderColor: "$borderColor", flex: 1, minW: 172, children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", justify: "space-between", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", children: [icon, (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$quiet", fontWeight: "500", children: label })] }), delta ? ((0, jsx_runtime_1.jsxs)(gui_1.Text, { fontSize: "$1", color: up ? '#7ee787' : '#e5534b', children: [up ? '▲' : '▼', " ", Math.abs(delta.pct), "%"] })) : null] }), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "flex-end", justify: "space-between", gap: "$2", children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$8", fontWeight: "500", color: "$ink", numberOfLines: 1, ...figures_1.FIGURES, children: value }), spark && spark.length >= 2 ? (0, jsx_runtime_1.jsx)(Sparkline, { points: spark, color: sparkColor ?? exports.SERIES[0] }) : null] }), caption ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$1", color: "$soft", numberOfLines: 1, children: caption })) : null] }));
|
|
76
93
|
}
|
|
77
94
|
/**
|
|
78
95
|
* A button that is either a real action (onPress) or HONESTLY disabled with a
|
package/dist/product/Metric.d.ts
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Console metric primitives — the ONE shared set of stat tiles, panels, legend
|
|
3
|
-
* rows, util bars, and "real action or honest-disabled" buttons that every
|
|
4
|
-
* resource console (GPUs, Kubernetes, Containers, Training, Tasks) renders.
|
|
5
|
-
*
|
|
6
|
-
* These were first written for the GPU surface; promoted here so a sibling
|
|
7
|
-
* product never reaches into `gpus/` for shell chrome (separation of concerns).
|
|
8
|
-
* `gpus/charts.tsx` now re-exports them, so there is exactly one definition.
|
|
9
|
-
*
|
|
10
|
-
* Honest by construction: a `MetricCard` shows the pre-formatted `value` the
|
|
11
|
-
* caller passes (an absent metric is an em-dash, never a fabricated number); a
|
|
12
|
-
* `Sparkline`/`MiniBars` with no real series renders nothing; a `HintButton`
|
|
13
|
-
* with no `onPress` is visibly disabled with a tooltip saying WHY. Inline SVG is
|
|
14
|
-
* the house pattern (see ui/Loader, ui/HanzoMark); style props use the v5
|
|
15
|
-
* shorthand set.
|
|
16
|
-
*/
|
|
17
1
|
import type { ReactElement, ReactNode } from 'react';
|
|
18
2
|
/** Distinct, theme-neutral series colors (mid-saturation reads on dark + light). */
|
|
19
3
|
export declare const SERIES: readonly ['#6ea8fe', '#7ee787', '#f0a868', '#c792ea', '#56d4c4', '#e879a6', '#d6c15a', '#8b9bb4'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metric.d.ts","sourceRoot":"","sources":["../../src/product/Metric.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Metric.d.ts","sourceRoot":"","sources":["../../src/product/Metric.tsx"],"names":[],"mappings":"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"}
|
package/dist/product/Metric.js
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Console metric primitives — the ONE shared set of stat tiles, panels, legend
|
|
5
|
+
* rows, util bars, and "real action or honest-disabled" buttons that every
|
|
6
|
+
* resource console (GPUs, Kubernetes, Containers, Training, Tasks) renders.
|
|
7
|
+
*
|
|
8
|
+
* These were first written for the GPU surface; promoted here so a sibling
|
|
9
|
+
* product never reaches into `gpus/` for shell chrome (separation of concerns).
|
|
10
|
+
* `gpus/charts.tsx` now re-exports them, so there is exactly one definition.
|
|
11
|
+
*
|
|
12
|
+
* Honest by construction: a `MetricCard` shows the pre-formatted `value` the
|
|
13
|
+
* caller passes (an absent metric is an em-dash, never a fabricated number); a
|
|
14
|
+
* `Sparkline`/`MiniBars` with no real series renders nothing; a `HintButton`
|
|
15
|
+
* with no `onPress` is visibly disabled with a tooltip saying WHY. Inline SVG is
|
|
16
|
+
* the house pattern (see ui/Loader, ui/HanzoMark); style props use the v5
|
|
17
|
+
* shorthand set.
|
|
18
|
+
*/
|
|
19
|
+
import { FIGURES } from './figures.js';
|
|
3
20
|
import { Button, Card, Text, XStack, YStack } from '@hanzo/gui';
|
|
4
21
|
/** Distinct, theme-neutral series colors (mid-saturation reads on dark + light). */
|
|
5
22
|
export const SERIES = ['#6ea8fe', '#7ee787', '#f0a868', '#c792ea', '#56d4c4', '#e879a6', '#d6c15a', '#8b9bb4'];
|
|
@@ -51,7 +68,7 @@ export function UtilBar({ value, width = 120, color }) {
|
|
|
51
68
|
}
|
|
52
69
|
/** A legend row: color swatch + label + value. */
|
|
53
70
|
export function LegendDot({ color, label, value }) {
|
|
54
|
-
return (_jsxs(XStack, { items: "center", gap: "$2", justify: "space-between", children: [_jsxs(XStack, { items: "center", gap: "$2", children: [_jsx(YStack, { width: 10, height: 10, rounded: "$1", bg: color }), _jsx(Text, { fontSize: "$2", color: "$quiet", children: label })] }), value != null ? (_jsx(Text, { fontSize: "$2", color: "$ink", fontWeight: "500",
|
|
71
|
+
return (_jsxs(XStack, { items: "center", gap: "$2", justify: "space-between", children: [_jsxs(XStack, { items: "center", gap: "$2", children: [_jsx(YStack, { width: 10, height: 10, rounded: "$1", bg: color }), _jsx(Text, { fontSize: "$2", color: "$quiet", children: label })] }), value != null ? (_jsx(Text, { fontSize: "$2", color: "$ink", fontWeight: "500", ...FIGURES, children: value })) : null] }));
|
|
55
72
|
}
|
|
56
73
|
/**
|
|
57
74
|
* One overview metric tile. `value` is pre-formatted by the caller (so an absent
|
|
@@ -60,7 +77,7 @@ export function LegendDot({ color, label, value }) {
|
|
|
60
77
|
*/
|
|
61
78
|
export function MetricCard({ icon, label, value, caption, spark, sparkColor, delta, }) {
|
|
62
79
|
const up = delta ? delta.pct >= 0 : false;
|
|
63
|
-
return (_jsxs(Card, { p: "$3.5", gap: "$2", borderWidth: 1, borderColor: "$borderColor", flex: 1, minW: 172, children: [_jsxs(XStack, { items: "center", gap: "$2", justify: "space-between", children: [_jsxs(XStack, { items: "center", gap: "$2", children: [icon, _jsx(Text, { fontSize: "$2", color: "$quiet", fontWeight: "500", children: label })] }), delta ? (_jsxs(Text, { fontSize: "$1", color: up ? '#7ee787' : '#e5534b', children: [up ? '▲' : '▼', " ", Math.abs(delta.pct), "%"] })) : null] }), _jsxs(XStack, { items: "flex-end", justify: "space-between", gap: "$2", children: [_jsx(Text, { fontSize: "$8", fontWeight: "500", color: "$ink", numberOfLines: 1,
|
|
80
|
+
return (_jsxs(Card, { p: "$3.5", gap: "$2", borderWidth: 1, borderColor: "$borderColor", flex: 1, minW: 172, children: [_jsxs(XStack, { items: "center", gap: "$2", justify: "space-between", children: [_jsxs(XStack, { items: "center", gap: "$2", children: [icon, _jsx(Text, { fontSize: "$2", color: "$quiet", fontWeight: "500", children: label })] }), delta ? (_jsxs(Text, { fontSize: "$1", color: up ? '#7ee787' : '#e5534b', children: [up ? '▲' : '▼', " ", Math.abs(delta.pct), "%"] })) : null] }), _jsxs(XStack, { items: "flex-end", justify: "space-between", gap: "$2", children: [_jsx(Text, { fontSize: "$8", fontWeight: "500", color: "$ink", numberOfLines: 1, ...FIGURES, children: value }), spark && spark.length >= 2 ? _jsx(Sparkline, { points: spark, color: sparkColor ?? SERIES[0] }) : null] }), caption ? (_jsx(Text, { fontSize: "$1", color: "$soft", numberOfLines: 1, children: caption })) : null] }));
|
|
64
81
|
}
|
|
65
82
|
/**
|
|
66
83
|
* A button that is either a real action (onPress) or HONESTLY disabled with a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metric.js","sourceRoot":"","sources":["../../src/product/Metric.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;
|
|
1
|
+
{"version":3,"file":"Metric.js","sourceRoot":"","sources":["../../src/product/Metric.tsx"],"names":[],"mappings":"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"}
|
package/dist/product/Reorder.cjs
CHANGED
|
@@ -73,7 +73,7 @@ function Reorder({ items, keyOf, rowHeight = 44, onReorder, renderItem, }) {
|
|
|
73
73
|
return ((0, jsx_runtime_1.jsx)(gui_1.YStack, { children: items.map((item, i) => {
|
|
74
74
|
const dragging = drag?.from === i;
|
|
75
75
|
const shift = drag && to >= 0 ? rowShift(i, drag.from, to, drag.dy, rowHeight) : 0;
|
|
76
|
-
return ((0, jsx_runtime_1.jsx)(gui_1.YStack, { height: rowHeight, justify: "center",
|
|
76
|
+
return ((0, jsx_runtime_1.jsx)(gui_1.YStack, { height: rowHeight, justify: "center", "data-motion": "drag", style: {
|
|
77
77
|
transform: `translateY(${shift}px)`,
|
|
78
78
|
zIndex: dragging ? 2 : 1,
|
|
79
79
|
...(dragging ? { transition: 'none', boxShadow: '0 8px 24px rgba(0,0,0,0.28)' } : null),
|
package/dist/product/Reorder.js
CHANGED
|
@@ -68,7 +68,7 @@ export function Reorder({ items, keyOf, rowHeight = 44, onReorder, renderItem, }
|
|
|
68
68
|
return (_jsx(YStack, { children: items.map((item, i) => {
|
|
69
69
|
const dragging = drag?.from === i;
|
|
70
70
|
const shift = drag && to >= 0 ? rowShift(i, drag.from, to, drag.dy, rowHeight) : 0;
|
|
71
|
-
return (_jsx(YStack, { height: rowHeight, justify: "center",
|
|
71
|
+
return (_jsx(YStack, { height: rowHeight, justify: "center", "data-motion": "drag", style: {
|
|
72
72
|
transform: `translateY(${shift}px)`,
|
|
73
73
|
zIndex: dragging ? 2 : 1,
|
|
74
74
|
...(dragging ? { transition: 'none', boxShadow: '0 8px 24px rgba(0,0,0,0.28)' } : null),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reorder.js","sourceRoot":"","sources":["../../src/product/Reorder.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Reorder.js","sourceRoot":"","sources":["../../src/product/Reorder.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
6
6
|
/**
|
|
7
7
|
* Skeleton — the honest "loading", never fabricated content.
|
|
8
8
|
*
|
|
9
|
-
* The
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* The block and its highlight are gui props; the sweep is `data-motion="shimmer"`
|
|
10
|
+
* in `styles/motion.css`. Before this, every surface hand-rolled a grey `<div>`
|
|
11
|
+
* and picked its own radius. This is that div, once, sized in the same `$` space
|
|
12
|
+
* as the rest of the package.
|
|
13
13
|
*
|
|
14
14
|
* It renders a BLOCK, not a spinner: a placeholder the size and shape of the
|
|
15
15
|
* thing that is coming keeps the layout from jumping when the data lands. Give
|
|
@@ -21,7 +21,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
21
21
|
*/
|
|
22
22
|
const gui_1 = require("@hanzo/gui");
|
|
23
23
|
function Block({ height = '$1', rounded = '$2', ...props }) {
|
|
24
|
-
return ((0, jsx_runtime_1.jsx)(gui_1.View, {
|
|
24
|
+
return ((0, jsx_runtime_1.jsx)(gui_1.View, { "data-motion": "shimmer", height: height, rounded: rounded, bg: "var(--color3, rgba(128, 128, 128, 0.14))", backgroundImage: "linear-gradient(90deg, transparent 0%, var(--color4, rgba(128, 128, 128, 0.22)) 50%, transparent 100%)", backgroundSize: "160px 100%", backgroundRepeat: "no-repeat", "aria-hidden": true, ...props }));
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* A paragraph's worth of lines. The last one is short, because a real paragraph
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Skeleton — the honest "loading", never fabricated content.
|
|
3
3
|
*
|
|
4
|
-
* The
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* The block and its highlight are gui props; the sweep is `data-motion="shimmer"`
|
|
5
|
+
* in `styles/motion.css`. Before this, every surface hand-rolled a grey `<div>`
|
|
6
|
+
* and picked its own radius. This is that div, once, sized in the same `$` space
|
|
7
|
+
* as the rest of the package.
|
|
8
8
|
*
|
|
9
9
|
* It renders a BLOCK, not a spinner: a placeholder the size and shape of the
|
|
10
10
|
* thing that is coming keeps the layout from jumping when the data lands. Give
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../src/product/Skeleton.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,IAAI,EAAU,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,IAAI,CAAC,CAAA;AAEvD,iBAAS,KAAK,CAAC,EAAE,MAAa,EAAE,OAAc,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+
|
|
1
|
+
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../src/product/Skeleton.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,IAAI,EAAU,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,IAAI,CAAC,CAAA;AAEvD,iBAAS,KAAK,CAAC,EAAE,MAAa,EAAE,OAAc,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAgBxE;AAED,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;GAGG;AACH,iBAAS,YAAY,CAAC,EAAE,KAAS,EAAE,GAAU,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,+BAQ3E;AAED,eAAO,MAAM,QAAQ;;CAA+C,CAAA"}
|
package/dist/product/Skeleton.js
CHANGED
|
@@ -3,10 +3,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
/**
|
|
4
4
|
* Skeleton — the honest "loading", never fabricated content.
|
|
5
5
|
*
|
|
6
|
-
* The
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* The block and its highlight are gui props; the sweep is `data-motion="shimmer"`
|
|
7
|
+
* in `styles/motion.css`. Before this, every surface hand-rolled a grey `<div>`
|
|
8
|
+
* and picked its own radius. This is that div, once, sized in the same `$` space
|
|
9
|
+
* as the rest of the package.
|
|
10
10
|
*
|
|
11
11
|
* It renders a BLOCK, not a spinner: a placeholder the size and shape of the
|
|
12
12
|
* thing that is coming keeps the layout from jumping when the data lands. Give
|
|
@@ -18,7 +18,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
18
18
|
*/
|
|
19
19
|
import { View, YStack } from '@hanzo/gui';
|
|
20
20
|
function Block({ height = '$1', rounded = '$2', ...props }) {
|
|
21
|
-
return (_jsx(View, {
|
|
21
|
+
return (_jsx(View, { "data-motion": "shimmer", height: height, rounded: rounded, bg: "var(--color3, rgba(128, 128, 128, 0.14))", backgroundImage: "linear-gradient(90deg, transparent 0%, var(--color4, rgba(128, 128, 128, 0.22)) 50%, transparent 100%)", backgroundSize: "160px 100%", backgroundRepeat: "no-repeat", "aria-hidden": true, ...props }));
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* A paragraph's worth of lines. The last one is short, because a real paragraph
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../src/product/Skeleton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAKzC,SAAS,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,KAAK,EAAiB;IACvE,OAAO,CACL,KAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../src/product/Skeleton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAKzC,SAAS,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,KAAK,EAAiB;IACvE,OAAO,CACL,KAAC,IAAI,mBACS,SAAS,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,EAAE,EAAC,0CAA0C,EAC7C,eAAe,EAAC,wGAAwG,EACxH,cAAc,EAAC,YAAY,EAC3B,gBAAgB,EAAC,WAAW,0BAIxB,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAOD;;;GAGG;AACH,SAAS,YAAY,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,KAAK,EAAqB;IAC1E,OAAO,CACL,KAAC,MAAM,IAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAC,MAAM,YAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACpD,KAAC,KAAK,IAAS,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAM,KAAK,IAArD,CAAC,CAAwD,CACtE,CAAC,GACK,CACV,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA"}
|
|
@@ -104,21 +104,13 @@ function SlideOver({ open, onClose, side = 'right', size = 420, title, icon: Ico
|
|
|
104
104
|
, {
|
|
105
105
|
// Fixed to the viewport; overflow hidden so the off-screen panel (absolute
|
|
106
106
|
// child) is CLIPPED and never adds a horizontal scrollbar.
|
|
107
|
-
overflow: "hidden", pointerEvents: open ? 'auto' : 'none', "aria-hidden": !open, style: { position: 'fixed', inset: 0, zIndex }, children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { position: "absolute", t: 0, l: 0, r: 0, b: 0, bg: "rgba(0,0,0,0.55)",
|
|
107
|
+
overflow: "hidden", pointerEvents: open ? 'auto' : 'none', "aria-hidden": !open, style: { position: 'fixed', inset: 0, zIndex }, children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { position: "absolute", t: 0, l: 0, r: 0, b: 0, bg: "rgba(0,0,0,0.55)", "data-motion": "fade", style: { opacity: open ? 1 : 0 }, onPress: onClose }), (0, jsx_runtime_1.jsx)(gui_1.YStack
|
|
108
108
|
// Web DOM ref; Gui forwards it to the underlying node. Cast (not @ts-expect-error)
|
|
109
109
|
// so it is env-agnostic — the ref type is strict under the pkg build, loose here.
|
|
110
110
|
, {
|
|
111
111
|
// Web DOM ref; Gui forwards it to the underlying node. Cast (not @ts-expect-error)
|
|
112
112
|
// so it is env-agnostic — the ref type is strict under the pkg build, loose here.
|
|
113
|
-
ref: panelRef, tabIndex: -1, role: "dialog", "aria-modal": open ? true : undefined, "aria-label": typeof title === 'string' ? title : ariaLabel, position: "absolute", t: 0, b: 0, ...edge, width: "100%", $lg: { width: size, maxW: '100vw' }, bg: "$sunken", borderLeftWidth: side === 'right' ? 1 : 0, borderRightWidth: side === 'left' ? 1 : 0, borderColor: "$borderColor",
|
|
114
|
-
// Material paper depth — the drawer reads as a sheet lifted above the dimmed
|
|
115
|
-
// list behind it (real layered shadow, theme-aware), not a flat panel.
|
|
116
|
-
//
|
|
117
|
-
// Rung 3, the top of the ladder: a drawer has no anchor and a scrim of its
|
|
118
|
-
// own, so it floats free exactly the way a modal does. It asked for a 4th
|
|
119
|
-
// rung, which is what a ladder turns into when it is treated as a palette —
|
|
120
|
-
// and the 4th was a hardcoded shadow behind a variable nothing defined.
|
|
121
|
-
className: "hz-slide elevation-3",
|
|
113
|
+
ref: panelRef, tabIndex: -1, role: "dialog", "aria-modal": open ? true : undefined, "aria-label": typeof title === 'string' ? title : ariaLabel, position: "absolute", t: 0, b: 0, ...edge, width: "100%", $lg: { width: size, maxW: '100vw' }, bg: "$sunken", borderLeftWidth: side === 'right' ? 1 : 0, borderRightWidth: side === 'left' ? 1 : 0, borderColor: "$borderColor", "data-motion": "slide", className: "elevation-3",
|
|
122
114
|
// Full-height sheet (100dvh — mobile-safe), inset for the notch (top) + home
|
|
123
115
|
// indicator (bottom) so the drawer header + footer actions clear them on
|
|
124
116
|
// notched devices (env insets are 0 elsewhere, so no effect there).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideOver.d.ts","sourceRoot":"","sources":["../../src/product/SlideOver.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEhD,6EAA6E;AAC7E,QAAA,MAAM,EAAE,OAAO,CAAA;AAmBf,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAID,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,IAAc,EACd,IAAU,EACV,KAAK,EACL,IAAI,EAAE,IAAI,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,MAAa,EACb,QAAQ,GACT,EAAE,cAAc,+
|
|
1
|
+
{"version":3,"file":"SlideOver.d.ts","sourceRoot":"","sources":["../../src/product/SlideOver.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEhD,6EAA6E;AAC7E,QAAA,MAAM,EAAE,OAAO,CAAA;AAmBf,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAID,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,IAAc,EACd,IAAU,EACV,KAAK,EACL,IAAI,EAAE,IAAI,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,MAAa,EACb,QAAQ,GACT,EAAE,cAAc,+BA0IhB;AAED,OAAO,EAAE,EAAE,IAAI,YAAY,EAAE,CAAA"}
|
|
@@ -99,21 +99,13 @@ export function SlideOver({ open, onClose, side = 'right', size = 420, title, ic
|
|
|
99
99
|
, {
|
|
100
100
|
// Fixed to the viewport; overflow hidden so the off-screen panel (absolute
|
|
101
101
|
// child) is CLIPPED and never adds a horizontal scrollbar.
|
|
102
|
-
overflow: "hidden", pointerEvents: open ? 'auto' : 'none', "aria-hidden": !open, style: { position: 'fixed', inset: 0, zIndex }, children: [_jsx(YStack, { position: "absolute", t: 0, l: 0, r: 0, b: 0, bg: "rgba(0,0,0,0.55)",
|
|
102
|
+
overflow: "hidden", pointerEvents: open ? 'auto' : 'none', "aria-hidden": !open, style: { position: 'fixed', inset: 0, zIndex }, children: [_jsx(YStack, { position: "absolute", t: 0, l: 0, r: 0, b: 0, bg: "rgba(0,0,0,0.55)", "data-motion": "fade", style: { opacity: open ? 1 : 0 }, onPress: onClose }), _jsx(YStack
|
|
103
103
|
// Web DOM ref; Gui forwards it to the underlying node. Cast (not @ts-expect-error)
|
|
104
104
|
// so it is env-agnostic — the ref type is strict under the pkg build, loose here.
|
|
105
105
|
, {
|
|
106
106
|
// Web DOM ref; Gui forwards it to the underlying node. Cast (not @ts-expect-error)
|
|
107
107
|
// so it is env-agnostic — the ref type is strict under the pkg build, loose here.
|
|
108
|
-
ref: panelRef, tabIndex: -1, role: "dialog", "aria-modal": open ? true : undefined, "aria-label": typeof title === 'string' ? title : ariaLabel, position: "absolute", t: 0, b: 0, ...edge, width: "100%", $lg: { width: size, maxW: '100vw' }, bg: "$sunken", borderLeftWidth: side === 'right' ? 1 : 0, borderRightWidth: side === 'left' ? 1 : 0, borderColor: "$borderColor",
|
|
109
|
-
// Material paper depth — the drawer reads as a sheet lifted above the dimmed
|
|
110
|
-
// list behind it (real layered shadow, theme-aware), not a flat panel.
|
|
111
|
-
//
|
|
112
|
-
// Rung 3, the top of the ladder: a drawer has no anchor and a scrim of its
|
|
113
|
-
// own, so it floats free exactly the way a modal does. It asked for a 4th
|
|
114
|
-
// rung, which is what a ladder turns into when it is treated as a palette —
|
|
115
|
-
// and the 4th was a hardcoded shadow behind a variable nothing defined.
|
|
116
|
-
className: "hz-slide elevation-3",
|
|
108
|
+
ref: panelRef, tabIndex: -1, role: "dialog", "aria-modal": open ? true : undefined, "aria-label": typeof title === 'string' ? title : ariaLabel, position: "absolute", t: 0, b: 0, ...edge, width: "100%", $lg: { width: size, maxW: '100vw' }, bg: "$sunken", borderLeftWidth: side === 'right' ? 1 : 0, borderRightWidth: side === 'left' ? 1 : 0, borderColor: "$borderColor", "data-motion": "slide", className: "elevation-3",
|
|
117
109
|
// Full-height sheet (100dvh — mobile-safe), inset for the notch (top) + home
|
|
118
110
|
// indicator (bottom) so the drawer header + footer actions clear them on
|
|
119
111
|
// notched devices (env insets are 0 elsewhere, so no effect there).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideOver.js","sourceRoot":"","sources":["../../src/product/SlideOver.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SlideOver.js","sourceRoot":"","sources":["../../src/product/SlideOver.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,0BAA0B,CAAA;AAE5C,OAAO,EAAE,OAAO,EAAiB,MAAM,SAAS,CAAA;AAEhD,6EAA6E;AAC7E,MAAM,EAAE,GAAG,IAAI,CAAA;AAEf,kFAAkF;AAClF,IAAI,SAAS,GAAG,CAAC,CAAA;AACjB,IAAI,aAAa,GAAG,EAAE,CAAA;AACtB,SAAS,UAAU;IACjB,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IAC3C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;QAC5C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzC,CAAC;IACD,SAAS,EAAE,CAAA;AACb,CAAC;AACD,SAAS,YAAY;IACnB,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IAC3C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IACtC,IAAI,SAAS,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAA;AACnE,CAAC;AAuBD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,IAAI,GAAG,OAAO,EACd,IAAI,GAAG,GAAG,EACV,KAAK,EACL,IAAI,EAAE,IAAI,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,MAAM,GAAG,IAAI,EACb,QAAQ,GACO;IACf,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;IACvB,MAAM,QAAQ,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAE9C,4EAA4E;IAC5E,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;QACrH,yEAAyE;QACzE,uDAAuD;IACzD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,yDAAyD;IACzD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,SAAS,CAAC,OAAO,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAA;QACnF,UAAU,EAAE,CAAA;QACZ,wEAAwE;QACxE,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC/B,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAA;YAC3B,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,UAAU;gBAAE,EAAE,CAAC,KAAK,EAAE,CAAA;QACtD,CAAC,EAAE,CAAC,CAAC,CAAA;QACL,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YACtB,YAAY,EAAE,CAAA;YACd,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAA;YAChC,IAAI,MAAM,IAAI,MAAM,YAAY,WAAW,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU;gBAAE,MAAM,CAAC,KAAK,EAAE,CAAA;QACnG,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,iBAAiB;IACjB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE;YACjC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACvB,CAAC,CAAC,eAAe,EAAE,CAAA;gBACnB,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACzC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC3D,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnB,MAAM,SAAS,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAA;IAC7E,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAEnD,OAAO,CACL,MAAC,MAAM;IACL,2EAA2E;IAC3E,2DAA2D;;QAD3D,2EAA2E;QAC3E,2DAA2D;QAC3D,QAAQ,EAAC,QAAQ,EACjB,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,iBACxB,CAAC,IAAI,EAClB,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,aAG9C,KAAC,MAAM,IACL,QAAQ,EAAC,UAAU,EACnB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,EAAE,EAAC,kBAAkB,iBACT,MAAM,EAClB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAChC,OAAO,EAAE,OAAO,GAChB,EAGF,KAAC,MAAM;YACL,mFAAmF;YACnF,kFAAkF;;gBADlF,mFAAmF;gBACnF,kFAAkF;gBAClF,GAAG,EAAE,QAAiB,EACtB,QAAQ,EAAE,CAAC,CAAC,EACZ,IAAI,EAAC,QAAQ,gBACD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,gBACvB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACzD,QAAQ,EAAC,UAAU,EACnB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,KACA,IAAI,EACR,KAAK,EAAC,MAAM,EACZ,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EACnC,EAAE,EAAC,SAAS,EACZ,eAAe,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzC,gBAAgB,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzC,WAAW,EAAC,cAAc,iBAQd,OAAO,EACnB,SAAS,EAAC,aAAa;gBACvB,6EAA6E;gBAC7E,yEAAyE;gBACzE,oEAAoE;gBACpE,KAAK,EAAE;oBACL,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;oBAC7C,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,0BAA0B;oBACtC,aAAa,EAAE,6BAA6B;iBAC7C,YAEA,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CACrB,8BACE,MAAC,MAAM,IACL,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,MAAM,EACV,EAAE,EAAC,IAAI,EACP,MAAM,EAAE,EAAE,EACV,iBAAiB,EAAE,CAAC,EACpB,WAAW,EAAC,cAAc,aAEzB,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,CAAC,IAAI,EACpF,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,aAAa,EAAE,CAAC,YACxE,KAAK,GACD,EACN,WAAW,EACZ,KAAC,MAAM,IAAC,UAAU,QAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,GAAI,EAAE,OAAO,EAAE,OAAO,gBAAa,OAAO,GAAG,IACjG,EACT,KAAC,UAAU,IAAC,IAAI,EAAE,CAAC,YACjB,KAAC,MAAM,IAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,YAC7B,QAAQ,GACF,GACE,IACZ,CACJ,CAAC,CAAC,CAAC;gBACF,yEAAyE;gBACzE,6CAA6C;gBAC7C,QAAQ,CACT,GACM,IACF,CACV,CAAA;AACH,CAAC;AAED,OAAO,EAAE,EAAE,IAAI,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TABULAR = exports.FIGURES = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Figures: the mono face with tabular digits, so a column of prices, IDs and
|
|
6
|
+
* counts lines up digit under digit. Spread onto a gui Text.
|
|
7
|
+
*
|
|
8
|
+
* <Text {...FIGURES}>{value}</Text>
|
|
9
|
+
*/
|
|
10
|
+
exports.FIGURES = {
|
|
11
|
+
fontFamily: '$mono',
|
|
12
|
+
fontVariant: ['tabular-nums'],
|
|
13
|
+
letterSpacing: '-0.01em',
|
|
14
|
+
};
|
|
15
|
+
/** Tabular digits in the surrounding face: a header over a column of figures. */
|
|
16
|
+
exports.TABULAR = { fontVariant: ['tabular-nums'] };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Figures: the mono face with tabular digits, so a column of prices, IDs and
|
|
3
|
+
* counts lines up digit under digit. Spread onto a gui Text.
|
|
4
|
+
*
|
|
5
|
+
* <Text {...FIGURES}>{value}</Text>
|
|
6
|
+
*/
|
|
7
|
+
export declare const FIGURES: {
|
|
8
|
+
fontFamily: '$mono';
|
|
9
|
+
fontVariant: ['tabular-nums'];
|
|
10
|
+
letterSpacing: never;
|
|
11
|
+
};
|
|
12
|
+
/** Tabular digits in the surrounding face: a header over a column of figures. */
|
|
13
|
+
export declare const TABULAR: {
|
|
14
|
+
fontVariant: ['tabular-nums'];
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=figures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figures.d.ts","sourceRoot":"","sources":["../../src/product/figures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,OAAO;IAClB,UAAU,EAAE,OAAO;IACnB,WAAW,EAAsB,CAAC,cAAc,CAAC;IACjD,aAAa,EAAe,KAAK;CAClC,CAAA;AAED,iFAAiF;AACjF,eAAO,MAAM,OAAO;IAAK,WAAW,EAAsB,CAAC,cAAc,CAAC;CAAE,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Figures: the mono face with tabular digits, so a column of prices, IDs and
|
|
3
|
+
* counts lines up digit under digit. Spread onto a gui Text.
|
|
4
|
+
*
|
|
5
|
+
* <Text {...FIGURES}>{value}</Text>
|
|
6
|
+
*/
|
|
7
|
+
export const FIGURES = {
|
|
8
|
+
fontFamily: '$mono',
|
|
9
|
+
fontVariant: ['tabular-nums'],
|
|
10
|
+
letterSpacing: '-0.01em',
|
|
11
|
+
};
|
|
12
|
+
/** Tabular digits in the surrounding face: a header over a column of figures. */
|
|
13
|
+
export const TABULAR = { fontVariant: ['tabular-nums'] };
|
|
14
|
+
//# sourceMappingURL=figures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figures.js","sourceRoot":"","sources":["../../src/product/figures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU,EAAE,OAAgB;IAC5B,WAAW,EAAE,CAAC,cAAc,CAAqB;IACjD,aAAa,EAAE,SAAkB;CAClC,CAAA;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,CAAC,cAAc,CAAqB,EAAE,CAAA"}
|
|
@@ -18,6 +18,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
18
18
|
* loading, a BackendStateCard on a `/v1` failure, real empty states, and a publish
|
|
19
19
|
* failure surfaced verbatim (a 503 carries the exact missing OAuth-app credentials).
|
|
20
20
|
*/
|
|
21
|
+
const figures_1 = require("../figures.cjs");
|
|
21
22
|
const react_1 = require("react");
|
|
22
23
|
const gui_1 = require("@hanzo/gui");
|
|
23
24
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
@@ -67,7 +68,7 @@ function PostDetail({ api, post, onChanged }) {
|
|
|
67
68
|
setPublishing(false);
|
|
68
69
|
}
|
|
69
70
|
};
|
|
70
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$3", p: "$4", children: [(0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Content", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: post.content || '—' }) }), (0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Channel", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: post.channel }) }), (0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Status", children: (0, jsx_runtime_1.jsx)(StatusTag_1.StatusTag, { status: post.status }) }), post.scheduleAt > 0 ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Scheduled", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: (0, format_1.formatPostTime)(post.scheduleAt) }) })) : null, post.media.length > 0 ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Media", children: (0, jsx_runtime_1.jsx)(gui_1.YStack, { gap: "$1", children: post.media.map((m) => ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$quiet", children: m }, m))) }) })) : null, post.externalId ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "External id", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3",
|
|
71
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$3", p: "$4", children: [(0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Content", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: post.content || '—' }) }), (0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Channel", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: post.channel }) }), (0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Status", children: (0, jsx_runtime_1.jsx)(StatusTag_1.StatusTag, { status: post.status }) }), post.scheduleAt > 0 ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Scheduled", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: (0, format_1.formatPostTime)(post.scheduleAt) }) })) : null, post.media.length > 0 ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Media", children: (0, jsx_runtime_1.jsx)(gui_1.YStack, { gap: "$1", children: post.media.map((m) => ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$quiet", children: m }, m))) }) })) : null, post.externalId ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "External id", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", ...figures_1.TABULAR, children: post.externalId }) })) : null, post.error ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Last error", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$red10", children: post.error }) })) : null, error ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$red10", children: error })) : null, canPublish ? ((0, jsx_runtime_1.jsx)(PrimaryButton_1.PrimaryButton, { onPress: publish, disabled: publishing, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Send, { size: 16 }), children: publishing ? 'Publishing…' : 'Publish now' })) : null] }));
|
|
71
72
|
}
|
|
72
73
|
/** The connect drawer — LIVE per-network readiness above a real account add. */
|
|
73
74
|
function ConnectAccount({ api, providers, onCreated, }) {
|