@hanzo/ui 8.27.18 → 8.27.20
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/apple-cards-carousel.cjs +1 -1
- package/dist/backends/gui/apple-cards-carousel.d.ts.map +1 -1
- package/dist/backends/gui/apple-cards-carousel.js +1 -1
- package/dist/backends/gui/apple-cards-carousel.js.map +1 -1
- package/dist/backends/gui/dialog.cjs +1 -1
- package/dist/backends/gui/dialog.d.ts.map +1 -1
- package/dist/backends/gui/dialog.js +1 -1
- package/dist/backends/gui/dialog.js.map +1 -1
- package/dist/backends/gui/input.cjs +5 -1
- package/dist/backends/gui/input.d.ts.map +1 -1
- package/dist/backends/gui/input.js +5 -1
- package/dist/backends/gui/input.js.map +1 -1
- package/dist/backends/gui/item.cjs +2 -3
- package/dist/backends/gui/item.d.ts.map +1 -1
- package/dist/backends/gui/item.js +1 -2
- package/dist/backends/gui/item.js.map +1 -1
- package/dist/backends/gui/press.cjs +29 -0
- package/dist/backends/gui/press.d.ts +28 -0
- package/dist/backends/gui/press.d.ts.map +1 -0
- package/dist/backends/gui/press.js +26 -0
- package/dist/backends/gui/press.js.map +1 -0
- package/dist/backends/gui/slider.cjs +5 -1
- package/dist/backends/gui/slider.d.ts.map +1 -1
- package/dist/backends/gui/slider.js +5 -1
- package/dist/backends/gui/slider.js.map +1 -1
- package/dist/backends/gui/toggle-group.cjs +2 -3
- package/dist/backends/gui/toggle-group.d.ts.map +1 -1
- package/dist/backends/gui/toggle-group.js +1 -2
- package/dist/backends/gui/toggle-group.js.map +1 -1
- package/dist/backends/gui/toggle.cjs +3 -4
- package/dist/backends/gui/toggle.d.ts.map +1 -1
- package/dist/backends/gui/toggle.js +1 -2
- package/dist/backends/gui/toggle.js.map +1 -1
- package/dist/catalog/Shelf.cjs +76 -0
- package/dist/catalog/Shelf.d.ts +55 -0
- package/dist/catalog/Shelf.d.ts.map +1 -0
- package/dist/catalog/Shelf.js +74 -0
- package/dist/catalog/Shelf.js.map +1 -0
- package/dist/catalog/Tile.cjs +72 -0
- package/dist/catalog/Tile.d.ts +56 -0
- package/dist/catalog/Tile.d.ts.map +1 -0
- package/dist/catalog/Tile.js +67 -0
- package/dist/catalog/Tile.js.map +1 -0
- package/dist/catalog/index.cjs +23 -0
- package/dist/catalog/index.d.ts +16 -0
- package/dist/catalog/index.d.ts.map +1 -0
- package/dist/catalog/index.js +16 -0
- package/dist/catalog/index.js.map +1 -0
- package/dist/chat/Home.cjs +30 -0
- package/dist/chat/Home.d.ts +35 -0
- package/dist/chat/Home.d.ts.map +1 -0
- package/dist/chat/Home.js +28 -0
- package/dist/chat/Home.js.map +1 -0
- package/dist/chat/SessionRail.cjs +165 -37
- package/dist/chat/SessionRail.d.ts +92 -14
- package/dist/chat/SessionRail.d.ts.map +1 -1
- package/dist/chat/SessionRail.js +165 -39
- package/dist/chat/SessionRail.js.map +1 -1
- package/dist/chat/index.cjs +6 -1
- package/dist/chat/index.d.ts +2 -1
- package/dist/chat/index.d.ts.map +1 -1
- package/dist/chat/index.js +2 -1
- package/dist/chat/index.js.map +1 -1
- package/dist/gallery.cjs +72 -1
- package/dist/gallery.d.ts +13 -0
- package/dist/gallery.d.ts.map +1 -1
- package/dist/gallery.html +45 -3
- package/dist/gallery.js +72 -2
- package/dist/gallery.js.map +1 -1
- package/dist/product/ChipSelect.cjs +2 -3
- package/dist/product/ChipSelect.d.ts.map +1 -1
- package/dist/product/ChipSelect.js +1 -2
- package/dist/product/ChipSelect.js.map +1 -1
- package/dist/product/MenuRow.cjs +2 -1
- package/dist/product/MenuRow.d.ts +11 -7
- package/dist/product/MenuRow.d.ts.map +1 -1
- package/dist/product/MenuRow.js +3 -2
- package/dist/product/MenuRow.js.map +1 -1
- package/dist/product/OrgSwitcher.cjs +16 -5
- package/dist/product/OrgSwitcher.d.ts.map +1 -1
- package/dist/product/OrgSwitcher.js +16 -5
- package/dist/product/OrgSwitcher.js.map +1 -1
- package/dist/product/UserMenu.cjs +19 -27
- package/dist/product/UserMenu.d.ts +2 -21
- package/dist/product/UserMenu.d.ts.map +1 -1
- package/dist/product/UserMenu.js +23 -31
- package/dist/product/UserMenu.js.map +1 -1
- package/dist/product/account.cjs +37 -0
- package/dist/product/account.d.ts +55 -0
- package/dist/product/account.d.ts.map +1 -0
- package/dist/product/account.js +35 -0
- package/dist/product/account.js.map +1 -0
- package/dist/product/menu/roving.cjs +4 -1
- package/dist/product/menu/roving.d.ts +8 -3
- package/dist/product/menu/roving.d.ts.map +1 -1
- package/dist/product/menu/roving.js +4 -1
- package/dist/product/menu/roving.js.map +1 -1
- package/dist/settings/Section.cjs +71 -0
- package/dist/settings/Section.d.ts +78 -0
- package/dist/settings/Section.d.ts.map +1 -0
- package/dist/settings/Section.js +62 -0
- package/dist/settings/Section.js.map +1 -0
- package/dist/settings/Settings.cjs +54 -0
- package/dist/settings/Settings.d.ts +50 -0
- package/dist/settings/Settings.d.ts.map +1 -0
- package/dist/settings/Settings.js +52 -0
- package/dist/settings/Settings.js.map +1 -0
- package/dist/settings/index.cjs +26 -0
- package/dist/settings/index.d.ts +15 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +15 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/styles.css +42 -0
- package/package.json +13 -1
package/dist/chat/SessionRail.js
CHANGED
|
@@ -1,41 +1,55 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
/**
|
|
4
|
-
* SessionRail — the left rail of a sessions surface:
|
|
5
|
-
* reopen a recent one, and who you are.
|
|
4
|
+
* SessionRail — the left rail of a sessions surface: who it is, find one, start
|
|
5
|
+
* one, go somewhere, reopen a recent one, and who you are.
|
|
6
6
|
*
|
|
7
|
+
* Hanzo Build the brand; pressing it starts a new session
|
|
8
|
+
* [⌕ Search ] finds a session
|
|
7
9
|
* + New the primary row; the current view on a fresh pane
|
|
8
10
|
* Artifacts · Customize … the surface's own places, as `links`
|
|
9
11
|
* More ⌄ a disclosure over `more`, when there are more
|
|
10
12
|
* Recents ⇅ the sessions, newest first, each with a status dot
|
|
11
|
-
*
|
|
13
|
+
* [ Try Hanzo in Slack × ] `notice` — a `RailNotice`, when the host has one
|
|
14
|
+
* (D) Dave ⌄ ◧ the account and its menu, then collapse
|
|
15
|
+
* acme
|
|
12
16
|
*
|
|
13
17
|
* Presentational: no routing, no fetching. `active` comes in, `onOpen` goes out.
|
|
14
18
|
*
|
|
15
|
-
* THE SIDEBAR CANON (console, hanzo.app, hanzo.chat, the extension):
|
|
19
|
+
* THE SIDEBAR CANON (console, hanzo.app, hanzo.chat, hanzo.build, the extension):
|
|
16
20
|
* - Collapse is an EXPLICIT toggle and the host persists it. `collapsed` in,
|
|
17
21
|
* `onCollapse` out. There is no hover-to-expand and no pin.
|
|
18
22
|
* - Collapsed is a narrow RAIL that stays on screen — icons only, labels as
|
|
19
23
|
* tooltips — and its top row is the expand control.
|
|
20
|
-
* - Below `md` there is no rail at all. The column hides,
|
|
21
|
-
*
|
|
22
|
-
*
|
|
24
|
+
* - Below `md` there is no rail at all. The column hides, `RailBar` is the
|
|
25
|
+
* pane's header (menu · brand · search), and its menu opens the same
|
|
26
|
+
* contents as a drawer from the left (`open`, `onOpenChange`). Anything
|
|
27
|
+
* chosen in the drawer closes it: the drawer is the way to a place, not a
|
|
28
|
+
* place.
|
|
29
|
+
*
|
|
30
|
+
* ONE WAY to each thing. Search is the box in the head (an icon on the collapsed
|
|
31
|
+
* rail); settings, usage and signing out are rows of the account menu. There is
|
|
32
|
+
* no second search or settings control at the foot.
|
|
23
33
|
*
|
|
24
34
|
* Built from the chat `Sidebar` column and its icon button, so the rail is the
|
|
25
|
-
* same material as every other chat surface's.
|
|
35
|
+
* same material as every other chat surface's. The account menu is the same
|
|
36
|
+
* body `UserMenu` draws (`product/account.tsx`), anchored to the account row
|
|
37
|
+
* itself — above it on the open rail, beside it on the collapsed one.
|
|
26
38
|
*/
|
|
27
39
|
import { ScrollView, SizableText, XStack, YStack } from '@hanzo/gui';
|
|
28
|
-
import { ArrowDownUp, ChevronDown, ChevronUp, PanelLeft, Plus, Search,
|
|
29
|
-
import { useId, useState } from 'react';
|
|
40
|
+
import { ArrowDownUp, ChevronDown, ChevronUp, Menu, PanelLeft, Plus, Search, X, } from '@hanzogui/lucide-icons-2';
|
|
41
|
+
import { useId, useRef, useState } from 'react';
|
|
42
|
+
import { Button } from '../backends/gui/button.js';
|
|
43
|
+
import { Popover, PopoverContent, PopoverTrigger } from '../backends/gui/popover.js';
|
|
44
|
+
import { press, RING } from '../backends/gui/press.js';
|
|
30
45
|
import { Sheet, SheetContent, SheetTitle } from '../backends/gui/sheet.js';
|
|
31
46
|
import { slot, tip } from '../backends/gui/slot.js';
|
|
47
|
+
import { Account } from '../product/account.js';
|
|
32
48
|
import { Sidebar, SidebarIconButton } from './Sidebar.js';
|
|
33
49
|
/** Expanded width, px — the column's own width, its hairline outside it. */
|
|
34
50
|
const WIDTH = 272;
|
|
35
51
|
/** Collapsed width, px. The same rail width every chat surface collapses to. */
|
|
36
52
|
const RAIL = 56;
|
|
37
|
-
/** The keyboard focus ring every control in the package draws. */
|
|
38
|
-
const RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
|
|
39
53
|
/** One row: 32px, the 8px radius, icon then label. */
|
|
40
54
|
const ROW = { minH: 32, px: '$2', rounded: '$3', gap: '$2.5' };
|
|
41
55
|
/** The status mark: a 6px dot, filled while something is happening. */
|
|
@@ -48,47 +62,159 @@ export function StatusDot({ status = 'idle' }) {
|
|
|
48
62
|
}
|
|
49
63
|
/** Where a row starts: the 16px column every icon and dot sits centred in. */
|
|
50
64
|
const Lead = ({ children }) => (_jsx(XStack, { width: 16, height: 16, shrink: 0, items: "center", justify: "center", children: children }));
|
|
65
|
+
/**
|
|
66
|
+
* The surface's name, the head's first line and the phone bar's middle. A
|
|
67
|
+
* press when there is somewhere to go; the words alone otherwise.
|
|
68
|
+
*/
|
|
69
|
+
function Brand({ brand, onPress }) {
|
|
70
|
+
const face = typeof brand === 'string' ? (_jsx(SizableText, { size: "$5", fontWeight: "600", color: "$ink", numberOfLines: 1, children: brand })) : (brand);
|
|
71
|
+
if (!onPress)
|
|
72
|
+
return _jsx(XStack, { ...slot('rail-brand'), items: "center", minW: 0, children: face });
|
|
73
|
+
return (_jsx(XStack, { ...slot('rail-brand'), ...press(onPress), items: "center", minW: 0, rounded: "$2", cursor: "pointer", focusVisibleStyle: RING, children: face }));
|
|
74
|
+
}
|
|
51
75
|
/** One nav row. On the rail it is the icon alone, the label its tooltip and name. */
|
|
52
|
-
function
|
|
53
|
-
return (_jsxs(XStack, { ...slot(data), ...(rail ? tip(label) : null), ...ROW, items: "center", justify: rail ? 'center' : 'flex-start', cursor: "pointer",
|
|
54
|
-
if (e?.key !== 'Enter' && e?.key !== ' ')
|
|
55
|
-
return;
|
|
56
|
-
e.preventDefault?.();
|
|
57
|
-
onPress?.();
|
|
58
|
-
}, children: [_jsx(Lead, { children: icon }), rail ? null : (_jsx(SizableText, { size: "$3", numberOfLines: 1, flex: 1, color: quiet ? '$soft' : '$ink', children: label }))] }));
|
|
76
|
+
function Item({ label, icon, onPress, active, rail, quiet, expanded, controls, data = 'rail-row' }) {
|
|
77
|
+
return (_jsxs(XStack, { ...slot(data), ...(rail ? tip(label) : null), ...press(onPress), ...ROW, items: "center", justify: rail ? 'center' : 'flex-start', cursor: "pointer", "aria-label": rail ? label : undefined, "aria-current": active ? 'page' : undefined, "aria-expanded": expanded, "aria-controls": controls, bg: active ? '$raised' : undefined, hoverStyle: { bg: active ? '$raised' : '$hover' }, pressStyle: { bg: '$raised' }, focusVisibleStyle: RING, children: [_jsx(Lead, { children: icon }), rail ? null : (_jsx(SizableText, { size: "$3", numberOfLines: 1, flex: 1, color: quiet ? '$soft' : '$ink', children: label }))] }));
|
|
59
78
|
}
|
|
60
|
-
/** The
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
79
|
+
/** The menu exists when there is something in it to do. */
|
|
80
|
+
const hasMenu = (a) => Boolean(a.onSignOut || a.groups?.some((g) => (Array.isArray(g) ? g : g.items).length));
|
|
81
|
+
/**
|
|
82
|
+
* The account row: avatar, the name over its second line, the caret — and the
|
|
83
|
+
* menu it opens, anchored to the row itself.
|
|
84
|
+
*/
|
|
85
|
+
function Who({ account, rail }) {
|
|
86
|
+
const [open, setOpen] = useState(false);
|
|
87
|
+
// The row, so closing the menu can hand focus back to it: the popover's own
|
|
88
|
+
// return goes through a trigger ref that an `asChild` stack never fills.
|
|
89
|
+
const row = useRef(null);
|
|
90
|
+
const menu = hasMenu(account);
|
|
91
|
+
const acts = menu || Boolean(account.onPress);
|
|
92
|
+
const said = account.sub ? `${account.name} · ${account.sub}` : account.name;
|
|
93
|
+
const face = (_jsx(XStack, { width: 24, height: 24, rounded: 9999, items: "center", justify: "center", bg: "$raised", overflow: "hidden", shrink: 0, "aria-hidden": true, children: account.avatar ?? (_jsx(SizableText, { size: "$1", fontWeight: "600", color: "$ink", children: account.name.charAt(0).toUpperCase() })) }));
|
|
94
|
+
const look = {
|
|
95
|
+
...slot('rail-account'),
|
|
96
|
+
...(rail ? tip(said) : null),
|
|
97
|
+
...ROW,
|
|
98
|
+
gap: '$2',
|
|
99
|
+
px: '$1',
|
|
100
|
+
flex: rail ? undefined : 1,
|
|
101
|
+
minW: 0,
|
|
102
|
+
items: 'center',
|
|
103
|
+
justify: rail ? 'center' : 'flex-start',
|
|
104
|
+
cursor: acts ? 'pointer' : undefined,
|
|
105
|
+
hoverStyle: acts ? { bg: '$hover' } : undefined,
|
|
106
|
+
focusVisibleStyle: acts ? RING : undefined,
|
|
107
|
+
};
|
|
108
|
+
const body = (_jsxs(_Fragment, { children: [face, rail ? null : (_jsxs(_Fragment, { children: [_jsxs(YStack, { flex: 1, minW: 0, children: [_jsx(SizableText, { size: "$3", numberOfLines: 1, color: "$ink", children: account.name }), account.sub ? (_jsx(SizableText, { ...slot('rail-account-sub'), size: "$1", numberOfLines: 1, color: "$soft", children: account.sub })) : null] }), acts ? _jsx(ChevronDown, { size: 14, color: "$soft" }) : null] }))] }));
|
|
109
|
+
if (!menu)
|
|
110
|
+
return account.onPress ? (_jsx(XStack, { ...look, ...press(account.onPress), "aria-label": `Account: ${said}`, children: body })) : (_jsx(XStack, { ...look, children: body }));
|
|
111
|
+
return (_jsxs(Popover, { open: open, onOpenChange: setOpen,
|
|
112
|
+
// Above the row on the open rail, where the row spans the column; beside
|
|
113
|
+
// it on the collapsed rail, where above would cover the rail's icons.
|
|
114
|
+
placement: rail ? 'right-end' : 'top-start', allowFlip: true, stayInFrame: true, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(XStack, { ref: row, ...look, role: "button", tabIndex: 0, "aria-label": `Account: ${said}`, "aria-haspopup": "menu", "aria-expanded": open,
|
|
115
|
+
// The trigger opens on a press; the keyboard is this row's own (gui
|
|
116
|
+
// does not activate role="button" on Enter).
|
|
117
|
+
onKeyDown: (e) => {
|
|
118
|
+
if (e?.key !== 'Enter' && e?.key !== ' ')
|
|
119
|
+
return;
|
|
120
|
+
e.preventDefault?.();
|
|
121
|
+
setOpen(!open);
|
|
122
|
+
}, children: body }) }), _jsx(PopoverContent, { ...slot('rail-menu'), role: "menu", "aria-label": "Account", sideOffset: 6,
|
|
123
|
+
// A menu's rows run its full width; gui's popper centres children.
|
|
124
|
+
// 260 fits a 390 phone's drawer, and the popper keeps it in frame.
|
|
125
|
+
items: "stretch", width: 260, p: "$1", rounded: "$3", elevation: "$2", onCloseAutoFocus: (e) => {
|
|
126
|
+
e.preventDefault();
|
|
127
|
+
row.current?.focus();
|
|
128
|
+
}, children: _jsx(Account, { name: account.name, email: account.email, groups: account.groups, onSignOut: account.onSignOut, signOutLabel: account.signOutLabel, onDone: () => setOpen(false), component: "SessionRail" }) })] }));
|
|
69
129
|
}
|
|
70
130
|
/** The rail's contents — the same tree in the column and in the drawer. */
|
|
71
|
-
function Contents({ onNew, newLabel = 'New', fresh = false, links = [], more = [], moreLabel = 'More', recents, recentsLabel = 'Recents', active = null, onOpen, onSort, sortLabel = 'Sort and filter', empty, notice, account,
|
|
131
|
+
function Contents({ brand, onBrand, onSearch, searchLabel = 'Search', onNew, newLabel = 'New', fresh = false, links = [], more = [], moreLabel = 'More', recents, recentsLabel = 'Recents', active = null, onOpen, onSort, sortLabel = 'Sort and filter', empty, notice, account, collapsed = false, onCollapse, mark, rail, }) {
|
|
72
132
|
const [unfolded, setUnfolded] = useState(false);
|
|
73
133
|
const id = useId();
|
|
74
134
|
const moreId = `${id}-more`;
|
|
75
135
|
const headId = `${id}-recents`;
|
|
76
|
-
return (_jsxs(_Fragment, { children: [rail ? (
|
|
136
|
+
return (_jsxs(_Fragment, { children: [rail ? (_jsxs(YStack, { items: "center", gap: "$1", pb: "$1", children: [_jsx(SidebarIconButton, { label: "Expand sidebar", width: 36, height: 36, onPress: () => onCollapse?.(false), children: mark ?? _jsx(PanelLeft, { size: 16 }) }), onSearch ? (_jsx(Item, { label: searchLabel, icon: _jsx(Search, { size: 16 }), onPress: onSearch, rail: true, data: "rail-search" })) : null] })) : brand || onSearch ? (_jsxs(YStack, { ...slot('rail-head'), gap: "$2.5", pt: 2, pb: "$4", shrink: 0, children: [brand ? (_jsx(XStack, { px: "$2.5", children: _jsx(Brand, { brand: brand, onPress: onBrand ?? onNew }) })) : null, onSearch ? (_jsxs(XStack, { ...slot('rail-search'), ...press(onSearch), "aria-label": searchLabel, items: "center", gap: "$2", px: "$2.5", height: 34, rounded: "$3", borderWidth: 1, borderColor: "$borderColor", bg: "$panel", cursor: "pointer", hoverStyle: { bg: '$hover' }, focusVisibleStyle: RING, children: [_jsx(Search, { size: 15, color: "$soft" }), _jsx(SizableText, { size: "$2", color: "$soft", children: searchLabel })] })) : null] })) : null, _jsxs(YStack, { ...slot('rail-nav'), gap: "$0", role: "list", children: [onNew ? (_jsx(YStack, { role: "listitem", children: _jsx(Item, { label: newLabel, icon: _jsx(Plus, { size: 16 }), onPress: onNew, active: fresh, rail: rail, data: "rail-new" }) })) : null, links.map((link) => (_jsx(YStack, { role: "listitem", children: _jsx(Item, { label: link.label, icon: link.icon, onPress: link.onPress, active: link.active, rail: rail }) }, link.id))), more.length ? (_jsxs(YStack, { role: "listitem", children: [_jsx(Item, { label: moreLabel, icon: unfolded ? _jsx(ChevronUp, { size: 16 }) : _jsx(ChevronDown, { size: 16 }), onPress: () => setUnfolded((v) => !v), rail: rail, quiet: true, expanded: unfolded, controls: moreId, data: "rail-more" }), unfolded ? (_jsx(YStack, { id: moreId, role: "list", gap: "$0", children: more.map((link) => (_jsx(YStack, { role: "listitem", children: _jsx(Item, { label: link.label, icon: link.icon, onPress: link.onPress, active: link.active, rail: rail }) }, link.id))) })) : null] })) : null] }), rail ? (_jsx(YStack, { flex: 1 })) : (_jsxs(YStack, { ...slot('rail-recents'), flex: 1, minH: 0, mt: "$5", children: [_jsxs(XStack, { items: "center", justify: "space-between", height: 28, pl: "$2", pr: "$1", shrink: 0, children: [_jsx(SizableText, { id: headId, size: "$2", color: "$soft", children: recentsLabel }), onSort ? (_jsx(SidebarIconButton, { label: sortLabel, onPress: onSort, width: 24, height: 24, children: _jsx(ArrowDownUp, { size: 14 }) })) : null] }), _jsx(ScrollView, { flex: 1, showsVerticalScrollIndicator: false, children: recents.length === 0 ? (empty ? (_jsx(YStack, { px: "$2", py: "$2", children: typeof empty === 'string' ? (_jsx(SizableText, { size: "$2", color: "$soft", children: empty })) : (empty) })) : null) : (_jsx(YStack, { role: "list", "aria-labelledby": headId, gap: 1, children: recents.map((s) => {
|
|
77
137
|
const on = s.id === active;
|
|
78
|
-
return (_jsx(YStack, { role: "listitem", children: _jsxs(XStack, { ...slot('rail-session'), ...ROW, items: "center", cursor: "pointer",
|
|
79
|
-
|
|
80
|
-
return;
|
|
81
|
-
e.preventDefault?.();
|
|
82
|
-
onOpen(s.id);
|
|
83
|
-
}, children: [_jsx(Lead, { children: _jsx(StatusDot, { status: s.status }) }), _jsx(SizableText, { size: "$3", numberOfLines: 1, flex: 1, minW: 0, color: on ? '$ink' : '$quiet', children: s.title })] }) }, s.id));
|
|
84
|
-
}) })) })] })), notice && !rail ? _jsx(YStack, { pt: "$2", children: notice }) : null, _jsxs(XStack, { ...slot('rail-foot'), items: "center", gap: "$1", pt: "$2", mt: "$1", borderTopWidth: 1, borderColor: "$borderColor", flexDirection: rail ? 'column' : 'row', children: [account ? _jsx(Account, { account: account, rail: rail }) : _jsx(XStack, { flex: 1 }), onSettings ? (_jsx(SidebarIconButton, { label: "Settings", onPress: onSettings, children: _jsx(Settings, { size: 16 }) })) : null, onSearch ? (_jsx(SidebarIconButton, { label: "Search", onPress: onSearch, children: _jsx(Search, { size: 16 }) })) : null, onCollapse && !rail ? (_jsx(SidebarIconButton, { label: "Collapse sidebar", onPress: () => onCollapse(!collapsed), children: _jsx(PanelLeft, { size: 16 }) })) : null] })] }));
|
|
138
|
+
return (_jsx(YStack, { role: "listitem", children: _jsxs(XStack, { ...slot('rail-session'), ...press(() => onOpen(s.id)), ...ROW, items: "center", cursor: "pointer", "aria-current": on ? 'page' : undefined, bg: on ? '$raised' : undefined, hoverStyle: { bg: on ? '$raised' : '$hover' }, pressStyle: { bg: '$raised' }, focusVisibleStyle: RING, children: [_jsx(Lead, { children: _jsx(StatusDot, { status: s.status }) }), _jsx(SizableText, { size: "$3", numberOfLines: 1, flex: 1, minW: 0, color: on ? '$ink' : '$quiet', children: s.title })] }) }, s.id));
|
|
139
|
+
}) })) })] })), notice && !rail ? _jsx(YStack, { pt: "$2", children: notice }) : null, _jsxs(XStack, { ...slot('rail-foot'), items: "center", gap: "$1", pt: "$2", mt: "$1", borderTopWidth: 1, borderColor: "$borderColor", flexDirection: rail ? 'column' : 'row', children: [account ? _jsx(Who, { account: account, rail: rail }) : _jsx(XStack, { flex: 1 }), onCollapse && !rail ? (_jsx(SidebarIconButton, { label: "Collapse sidebar", onPress: () => onCollapse(!collapsed), children: _jsx(PanelLeft, { size: 16 }) })) : null] })] }));
|
|
85
140
|
}
|
|
141
|
+
/** `run`, then close the drawer — or nothing, when there is nothing to run. */
|
|
142
|
+
const closing = (close) => (run) => run ? (...args) => (close(), run(...args)) : undefined;
|
|
86
143
|
export function SessionRail(props) {
|
|
87
144
|
const {
|
|
88
145
|
// Everything the contents read is named here, so none of it reaches the
|
|
89
146
|
// column as a stray DOM attribute through `rest`.
|
|
90
|
-
onNew, newLabel, fresh, links, more, moreLabel, recents, recentsLabel, active, onOpen, onSort, sortLabel, empty, notice, account,
|
|
147
|
+
brand, onBrand, onSearch, searchLabel, onNew, newLabel, fresh, links, more, moreLabel, recents, recentsLabel, active, onOpen, onSort, sortLabel, empty, notice, account, collapsed = false, onCollapse, mark, open = false, onOpenChange, label = 'Sessions', width = WIDTH, ...rest } = props;
|
|
91
148
|
const rail = collapsed;
|
|
92
|
-
|
|
149
|
+
// Where focus was when the drawer opened — the phone bar's menu button — and
|
|
150
|
+
// where it goes back to when the drawer closes, by Escape or by a choice. A
|
|
151
|
+
// dialog returns focus to its own trigger, and this drawer has none: the host
|
|
152
|
+
// opens it from `RailBar`, which the dialog cannot see.
|
|
153
|
+
//
|
|
154
|
+
// Read in RENDER, on the one render where `open` turns true — before the
|
|
155
|
+
// drawer exists. gui's Dialog is a native `<dialog>`, and a browser moves focus
|
|
156
|
+
// into one the moment it opens, so by any effect (the focus scope's own
|
|
157
|
+
// `onOpenAutoFocus` included, which then never fires because focus is already
|
|
158
|
+
// inside) the opener is gone. jsdom's `<dialog>` moves nothing, which is why
|
|
159
|
+
// the unit suite could not see this and the consumer suite asserts it.
|
|
160
|
+
const back = useRef(null);
|
|
161
|
+
const was = useRef(false);
|
|
162
|
+
if (open && !was.current && typeof document !== 'undefined')
|
|
163
|
+
back.current = document.activeElement;
|
|
164
|
+
was.current = open;
|
|
165
|
+
// One way out, said ONCE per gesture. A choice closes the drawer, and the
|
|
166
|
+
// dialog can also report its own dismissal while it unmounts in that same
|
|
167
|
+
// turn; the host hears one `onOpenChange(false)`. The latch lets go after the
|
|
168
|
+
// turn, so a host that keeps the drawer open still hears the next choice.
|
|
169
|
+
const closed = useRef(false);
|
|
170
|
+
const close = () => {
|
|
171
|
+
if (closed.current)
|
|
172
|
+
return;
|
|
173
|
+
closed.current = true;
|
|
174
|
+
setTimeout(() => {
|
|
175
|
+
closed.current = false;
|
|
176
|
+
}, 0);
|
|
177
|
+
onOpenChange?.(false);
|
|
178
|
+
};
|
|
179
|
+
const shut = closing(close);
|
|
180
|
+
const relink = (list) => list?.map((l) => ({ ...l, onPress: shut(l.onPress) }));
|
|
181
|
+
return (_jsxs(_Fragment, { children: [_jsx(Sidebar, { ...slot('session-rail'), role: "navigation", "aria-label": label, "data-collapsed": rail ? 'true' : 'false', width: rail ? RAIL : width, gap: "$0", px: rail ? '$1.5' : '$2', py: "$2", "$max-md": { display: 'none' }, ...rest, children: _jsx(Contents, { ...props, rail: rail }) }), open ? (_jsx(Sheet, { open: open, onOpenChange: (next) => (next ? onOpenChange?.(true) : close()), children: _jsxs(SheetContent, { side: "left", width: width, maxW: "86%", p: "$2", gap: "$0", bg: "$panel", onCloseAutoFocus: (e) => {
|
|
182
|
+
const to = back.current;
|
|
183
|
+
if (!to?.isConnected)
|
|
184
|
+
return;
|
|
185
|
+
e.preventDefault();
|
|
186
|
+
// After the event that closed it: a tap on the overlay dismisses on
|
|
187
|
+
// pointerdown, and the mousedown that follows would blur this
|
|
188
|
+
// focus straight back to the page.
|
|
189
|
+
setTimeout(() => {
|
|
190
|
+
if (to.isConnected)
|
|
191
|
+
to.focus();
|
|
192
|
+
}, 0);
|
|
193
|
+
}, children: [_jsx(SheetTitle, { ...slot('session-rail-title'), position: "absolute", opacity: 0, pointerEvents: "none", children: label }), _jsx(YStack, { ...slot('session-rail-drawer'), role: "navigation", "aria-label": label, flex: 1, minH: 0, children: _jsx(Contents, { ...props, rail: false, collapsed: false, onCollapse: undefined, onBrand: shut(onBrand ?? onNew), onSearch: shut(onSearch), onNew: shut(onNew), onOpen: shut(onOpen), links: relink(links), more: relink(more), account: account && {
|
|
194
|
+
...account,
|
|
195
|
+
onPress: shut(account.onPress),
|
|
196
|
+
onSignOut: shut(account.onSignOut),
|
|
197
|
+
groups: account.groups?.map((g) => Array.isArray(g)
|
|
198
|
+
? g.map((i) => ({ ...i, onPress: shut(i.onPress) }))
|
|
199
|
+
: { ...g, items: g.items.map((i) => ({ ...i, onPress: shut(i.onPress) })) }),
|
|
200
|
+
} }) })] }) })) : null] }));
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* RailNotice — a small card at the rail's foot, above the account: an offer
|
|
204
|
+
* ("Try Hanzo in Slack"), its one action, and a way to put it away. Pass it as
|
|
205
|
+
* `SessionRail notice`; the host decides when it shows and remembers a dismissal.
|
|
206
|
+
*/
|
|
207
|
+
export function RailNotice({ icon, title, action, onAction, onDismiss, dismissLabel = 'Dismiss', ...rest }) {
|
|
208
|
+
const id = useId();
|
|
209
|
+
return (_jsxs(XStack, { ...slot('rail-notice'), items: "center", gap: "$2.5", px: "$3", py: "$2.5", rounded: "$3", borderWidth: 1, borderColor: "$borderColor", bg: "$panel", ...rest, children: [icon ? (_jsx(XStack, { shrink: 0, "aria-hidden": true, children: icon })) : null, _jsxs(YStack, { flex: 1, minW: 0, gap: "$0.5", children: [_jsx(SizableText, { id: `${id}-title`, size: "$2", color: "$ink", numberOfLines: 1, children: title }), action && onAction ? (_jsx(XStack, { ...slot('rail-notice-action'), ...press(onAction), "aria-describedby": `${id}-title`, self: "flex-start", cursor: "pointer", rounded: "$1", focusVisibleStyle: RING, children: _jsx(SizableText, { size: "$1", color: "$soft", textDecorationLine: "underline", children: action }) })) : null] }), onDismiss ? (_jsx(XStack, { ...slot('rail-notice-dismiss'), ...press(onDismiss), ...tip(dismissLabel), "aria-label": dismissLabel, p: "$1", rounded: "$2", cursor: "pointer", hoverStyle: { bg: '$hover' }, focusVisibleStyle: RING, children: _jsx(X, { size: 14 }) })) : null] }));
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* RailBar — the phone's header for a surface with a `SessionRail`: the menu
|
|
213
|
+
* that opens the rail's drawer, the brand, and search on the right. Only below
|
|
214
|
+
* `md`, where there is no rail; from `md` up it draws nothing and the rail's own
|
|
215
|
+
* head carries the same three. Place it at the top of the pane, in flow.
|
|
216
|
+
*/
|
|
217
|
+
export function RailBar({ onMenu, menuLabel = 'Open menu', brand, onBrand, onSearch, searchLabel = 'Search', ...rest }) {
|
|
218
|
+
return (_jsxs(XStack, { ...slot('rail-bar'), height: 44, px: "$2", gap: "$2", items: "center", shrink: 0, $md: { display: 'none' }, ...rest, children: [_jsx(Button, { variant: "ghost", size: "icon-sm", onPress: onMenu, "aria-label": menuLabel, children: _jsx(Menu, { size: 18 }) }), brand ? _jsx(Brand, { brand: brand, onPress: onBrand }) : null, _jsx(XStack, { flex: 1 }), onSearch ? (_jsx(Button, { variant: "ghost", size: "icon-sm", onPress: onSearch, "aria-label": searchLabel, children: _jsx(Search, { size: 18 }) })) : null] }));
|
|
93
219
|
}
|
|
94
220
|
//# sourceMappingURL=SessionRail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionRail.js","sourceRoot":"","sources":["../../src/chat/SessionRail.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SessionRail.js","sourceRoot":"","sources":["../../src/chat/SessionRail.tsx"],"names":[],"mappings":"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"}
|
package/dist/chat/index.cjs
CHANGED
|
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.Persona = exports.SourceCard = exports.Sources = exports.Inspector = exports.Preview = exports.made = exports.answer = exports.read = exports.stage = exports.EMPTY = exports.TOOLS = exports.Failure = exports.Step = exports.Code = exports.Aside = exports.AsideToggle = exports.ShareButton = exports.HeaderButton = exports.Header = exports.StatusDot = exports.RailNotice = exports.RailBar = exports.SessionRail = exports.SidebarUser = exports.SidebarFolder = exports.SidebarItem = exports.SidebarSection = exports.SidebarScroll = exports.SidebarNewChat = exports.SidebarIconButton = exports.SidebarHeader = exports.Sidebar = exports.SLACK = exports.pinned = exports.sends = exports.ready = exports.Thread = exports.Message = exports.Caret = exports.Home = exports.NEXT = exports.EmptyPrompt = exports.ASK = exports.ComposerTool = exports.Composer = exports.join = exports.Piece = exports.Parts = exports.words = exports.Chat = void 0;
|
|
18
|
+
exports.clip = void 0;
|
|
18
19
|
/**
|
|
19
20
|
* @hanzo/ui/chat — the one chat shell, on @hanzo/gui primitives.
|
|
20
21
|
*
|
|
@@ -65,6 +66,8 @@ Object.defineProperty(exports, "ASK", { enumerable: true, get: function () { ret
|
|
|
65
66
|
var EmptyPrompt_1 = require("./EmptyPrompt.cjs");
|
|
66
67
|
Object.defineProperty(exports, "EmptyPrompt", { enumerable: true, get: function () { return EmptyPrompt_1.EmptyPrompt; } });
|
|
67
68
|
Object.defineProperty(exports, "NEXT", { enumerable: true, get: function () { return EmptyPrompt_1.NEXT; } });
|
|
69
|
+
var Home_1 = require("./Home.cjs");
|
|
70
|
+
Object.defineProperty(exports, "Home", { enumerable: true, get: function () { return Home_1.Home; } });
|
|
68
71
|
var Message_1 = require("./Message.cjs");
|
|
69
72
|
Object.defineProperty(exports, "Caret", { enumerable: true, get: function () { return Message_1.Caret; } });
|
|
70
73
|
Object.defineProperty(exports, "Message", { enumerable: true, get: function () { return Message_1.Message; } });
|
|
@@ -88,6 +91,8 @@ Object.defineProperty(exports, "SidebarFolder", { enumerable: true, get: functio
|
|
|
88
91
|
Object.defineProperty(exports, "SidebarUser", { enumerable: true, get: function () { return Sidebar_1.SidebarUser; } });
|
|
89
92
|
var SessionRail_1 = require("./SessionRail.cjs");
|
|
90
93
|
Object.defineProperty(exports, "SessionRail", { enumerable: true, get: function () { return SessionRail_1.SessionRail; } });
|
|
94
|
+
Object.defineProperty(exports, "RailBar", { enumerable: true, get: function () { return SessionRail_1.RailBar; } });
|
|
95
|
+
Object.defineProperty(exports, "RailNotice", { enumerable: true, get: function () { return SessionRail_1.RailNotice; } });
|
|
91
96
|
Object.defineProperty(exports, "StatusDot", { enumerable: true, get: function () { return SessionRail_1.StatusDot; } });
|
|
92
97
|
var Header_1 = require("./Header.cjs");
|
|
93
98
|
Object.defineProperty(exports, "Header", { enumerable: true, get: function () { return Header_1.Header; } });
|
package/dist/chat/index.d.ts
CHANGED
|
@@ -38,12 +38,13 @@ export { words, type Part, type Said } from './words.js';
|
|
|
38
38
|
export { Parts, Piece, join, type MessagePart, type PartActions, type PartsProps, type PieceProps, } from './Parts.js';
|
|
39
39
|
export { Composer, ComposerTool, ASK, type ComposerProps, type ComposerToolProps, } from './Composer.js';
|
|
40
40
|
export { EmptyPrompt, NEXT, type EmptyPromptProps } from './EmptyPrompt.js';
|
|
41
|
+
export { Home, type HomeProps } from './Home.js';
|
|
41
42
|
export { Caret, Message, type MessageProps, type Role } from './Message.js';
|
|
42
43
|
export { Thread, type ThreadProps } from './Thread.js';
|
|
43
44
|
export { ready, sends, type Mods } from './send.js';
|
|
44
45
|
export { pinned, SLACK, type Track } from './stick.js';
|
|
45
46
|
export { Sidebar, SidebarHeader, SidebarIconButton, SidebarNewChat, SidebarScroll, SidebarSection, SidebarItem, SidebarFolder, SidebarUser, type SidebarProps, type SidebarHeaderProps, type SidebarIconButtonProps, type SidebarNewChatProps, type SidebarSectionProps, type SidebarItemProps, type SidebarFolderProps, type SidebarUserProps, } from './Sidebar.js';
|
|
46
|
-
export { SessionRail, StatusDot, type RailAccount, type RailLink, type RailSession, type SessionRailProps, type SessionStatus, } from './SessionRail.js';
|
|
47
|
+
export { SessionRail, RailBar, RailNotice, StatusDot, type RailAccount, type RailBarProps, type RailLink, type RailNoticeProps, type RailSession, type SessionRailProps, type SessionStatus, } from './SessionRail.js';
|
|
47
48
|
export { Header, HeaderButton, ShareButton, AsideToggle, Aside, type HeaderProps, type HeaderButtonProps, type ShareButtonProps, type AsideToggleProps, type AsideProps, } from './Header.js';
|
|
48
49
|
export { Code, type CodeProps } from './Code.js';
|
|
49
50
|
export { Step, type StepProps, type Ran } from './Step.js';
|
package/dist/chat/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"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"}
|
package/dist/chat/index.js
CHANGED
|
@@ -38,12 +38,13 @@ export { words } from './words.js';
|
|
|
38
38
|
export { Parts, Piece, join, } from './Parts.js';
|
|
39
39
|
export { Composer, ComposerTool, ASK, } from './Composer.js';
|
|
40
40
|
export { EmptyPrompt, NEXT } from './EmptyPrompt.js';
|
|
41
|
+
export { Home } from './Home.js';
|
|
41
42
|
export { Caret, Message } from './Message.js';
|
|
42
43
|
export { Thread } from './Thread.js';
|
|
43
44
|
export { ready, sends } from './send.js';
|
|
44
45
|
export { pinned, SLACK } from './stick.js';
|
|
45
46
|
export { Sidebar, SidebarHeader, SidebarIconButton, SidebarNewChat, SidebarScroll, SidebarSection, SidebarItem, SidebarFolder, SidebarUser, } from './Sidebar.js';
|
|
46
|
-
export { SessionRail, StatusDot, } from './SessionRail.js';
|
|
47
|
+
export { SessionRail, RailBar, RailNotice, StatusDot, } from './SessionRail.js';
|
|
47
48
|
export { Header, HeaderButton, ShareButton, AsideToggle, Aside, } from './Header.js';
|
|
48
49
|
export { Code } from './Code.js';
|
|
49
50
|
export { Step } from './Step.js';
|
package/dist/chat/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,IAAI,EAA6B,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,KAAK,EAAwB,MAAM,SAAS,CAAA;AACrD,OAAO,EACL,KAAK,EACL,KAAK,EACL,IAAI,GAKL,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,GAAG,GAGJ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAyB,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAa,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,SAAS,CAAA;AAEnD,OAAO,EACL,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,GASZ,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,WAAW,EACX,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,IAAI,EAA6B,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,KAAK,EAAwB,MAAM,SAAS,CAAA;AACrD,OAAO,EACL,KAAK,EACL,KAAK,EACL,IAAI,GAKL,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,GAAG,GAGJ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAyB,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAa,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,SAAS,CAAA;AAEnD,OAAO,EACL,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,GASZ,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,GAQV,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,WAAW,EACX,WAAW,EACX,KAAK,GAMN,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAA4B,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAA;AAEtD;;;;;;;;GAQG;AACH,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,GAOL,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,SAAS,EAAqC,MAAM,aAAa,CAAA;AAE1E,OAAO,EACL,OAAO,EACP,UAAU,GAIX,MAAM,WAAW,CAAA;AAElB;;;;;;;GAOG;AACH,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAgD,MAAM,WAAW,CAAA"}
|
package/dist/gallery.cjs
CHANGED
|
@@ -2,8 +2,31 @@
|
|
|
2
2
|
'use client';
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.Gallery = void 0;
|
|
5
|
+
exports.Phone = Phone;
|
|
5
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
7
|
const gui_1 = require("@hanzo/gui");
|
|
8
|
+
/**
|
|
9
|
+
* The gallery — every component @hanzo/ui exports, rendered once, in every
|
|
10
|
+
* variant that carries its own styling.
|
|
11
|
+
*
|
|
12
|
+
* It exists because three different jobs need the same answer to "what does this
|
|
13
|
+
* package have to style", and three copies of that list would drift:
|
|
14
|
+
*
|
|
15
|
+
* 1. `scripts/gen-css.mjs` renders this in Node and harvests the atomic CSS
|
|
16
|
+
* that render produces. A component missing here ships with classes and no
|
|
17
|
+
* rules — the exact defect this package now guarantees against.
|
|
18
|
+
* 2. `src/gallery.test.tsx` mounts it, so a component that throws on first
|
|
19
|
+
* paint fails the build.
|
|
20
|
+
* 3. The consumer test installs the tarball and renders this in a browser,
|
|
21
|
+
* then asserts computed styles against it.
|
|
22
|
+
*
|
|
23
|
+
* So the list is the specification, and the generator, the unit test and the
|
|
24
|
+
* consumer test all read it. Add a component to the barrel, add it here.
|
|
25
|
+
*
|
|
26
|
+
* Variants are enumerated rather than sampled: gui compiles each distinct style
|
|
27
|
+
* VALUE to its own class, so an unrendered variant is an unwritten rule.
|
|
28
|
+
*/
|
|
29
|
+
const react_1 = require("react");
|
|
7
30
|
const box_1 = require("./box.cjs");
|
|
8
31
|
const Workbench_1 = require("./product/Workbench.cjs");
|
|
9
32
|
const Skeleton_1 = require("./product/Skeleton.cjs");
|
|
@@ -19,6 +42,13 @@ const chat_1 = require("./chat/index.cjs");
|
|
|
19
42
|
const gui_2 = require("./backends/gui/index.cjs");
|
|
20
43
|
// Off the barrel — web-only, so it is imported the way a consumer imports it.
|
|
21
44
|
const grid_1 = require("./grid.cjs");
|
|
45
|
+
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
46
|
+
// The settings page and its section parts. Aliased where a part shares a word
|
|
47
|
+
// with a primitive above (`Card`, `Field`), exactly as a consumer importing both
|
|
48
|
+
// would have to.
|
|
49
|
+
const settings_1 = require("./settings/index.cjs");
|
|
50
|
+
// A catalogue page — web-only, like the grid its cards lay out on.
|
|
51
|
+
const catalog_1 = require("./catalog/index.cjs");
|
|
22
52
|
const agents_1 = require("./agents/index.cjs");
|
|
23
53
|
/** A real <img> with real intrinsic pixels, inline so nothing hits the network.
|
|
24
54
|
* 120x40 on purpose: the wrong ratio for every box it goes in, so a frame that
|
|
@@ -49,6 +79,17 @@ const SESSIONS = [
|
|
|
49
79
|
{ id: 's4', title: 'Enterprise/OSS feature audit', status: 'error' },
|
|
50
80
|
{ id: 's5', title: 'Idle one', status: 'idle' },
|
|
51
81
|
];
|
|
82
|
+
/** A settings page's sections, in two groups, so both group labels render. */
|
|
83
|
+
const ENTRIES = [
|
|
84
|
+
{ id: 'general', label: 'General', group: 'Settings' },
|
|
85
|
+
{ id: 'account', label: 'Account', group: 'Settings' },
|
|
86
|
+
{ id: 'keys', label: 'API keys', group: 'Code' },
|
|
87
|
+
];
|
|
88
|
+
/** A shelf's kinds, one with an icon and one without, so the tab draws both. */
|
|
89
|
+
const KINDS = [
|
|
90
|
+
{ id: 'skills', label: 'Skills', icon: lucide_icons_2_1.BookOpen },
|
|
91
|
+
{ id: 'connectors', label: 'Connectors', icon: lucide_icons_2_1.Plug },
|
|
92
|
+
];
|
|
52
93
|
/** A loader that never needs to answer — the chips render closed. */
|
|
53
94
|
const NONE = async () => ({ repos: [], branches: [], items: [] });
|
|
54
95
|
/** Two: one with a host and one without, so the card's second line and its
|
|
@@ -115,6 +156,36 @@ const Gallery = () => ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex'
|
|
|
115
156
|
], height: 200, onHeight: NOOP, onClear: NOOP, onRun: NOOP }), children: (0, jsx_runtime_1.jsx)(agents_1.PreviewFrame, { src: "https://hanzo.ai/", toolbar: (0, jsx_runtime_1.jsx)(gui_2.Button, { size: "icon-sm", variant: "ghost", children: "+" }) }) }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: 280, height: 240 }, children: (0, jsx_runtime_1.jsx)(agents_1.FileTree, { files: ['src/app.tsx', 'src/lib/a.ts', 'README.md'], value: "src/lib/a.ts", onSelect: NOOP }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: 360, height: 240 }, children: (0, jsx_runtime_1.jsx)(agents_1.FileTabs, { files: [
|
|
116
157
|
{ path: 'src/app.tsx', content: 'export {}', dirty: true },
|
|
117
158
|
{ path: 'big.bin', error: 'Too large to show here.' },
|
|
118
|
-
], value: "src/app.tsx", onSelect: NOOP, onClose: NOOP, onChange: NOOP }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: 280, height: 160 }, children: (0, jsx_runtime_1.jsx)(agents_1.PreviewFrame, { src: null }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: 360 }, children: (0, jsx_runtime_1.jsx)(agents_1.Console, { lines: [], height: 36, onHeight: NOOP }) })] }), (0, jsx_runtime_1.jsxs)(Section, { name: "sessions", children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', width: '100%', maxWidth: 560, height:
|
|
159
|
+
], value: "src/app.tsx", onSelect: NOOP, onClose: NOOP, onChange: NOOP }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: 280, height: 160 }, children: (0, jsx_runtime_1.jsx)(agents_1.PreviewFrame, { src: null }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: 360 }, children: (0, jsx_runtime_1.jsx)(agents_1.Console, { lines: [], height: 36, onHeight: NOOP }) })] }), (0, jsx_runtime_1.jsxs)(Section, { name: "sessions", children: [(0, jsx_runtime_1.jsxs)("div", { "data-rail": "shell", style: { display: 'flex', width: '100%', maxWidth: 560, height: 520, gap: 12 }, children: [(0, jsx_runtime_1.jsx)(chat_1.SessionRail, { brand: "Hanzo Build", onSearch: NOOP, searchLabel: "Search runs", onNew: NOOP, fresh: true, links: [{ id: 'a', label: 'Artifacts', icon: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "a" }) }], more: [{ id: 'p', label: 'Projects', icon: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "p" }) }], recents: SESSIONS, active: "s2", onOpen: NOOP, onSort: NOOP, notice: (0, jsx_runtime_1.jsx)(chat_1.RailNotice, { icon: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "s" }), title: "Try Hanzo in Slack", action: "Set up", onAction: NOOP, onDismiss: NOOP }), account: {
|
|
160
|
+
name: 'Dave',
|
|
161
|
+
sub: 'acme',
|
|
162
|
+
email: 'dave@acme.test',
|
|
163
|
+
groups: [{ label: 'Organization', items: [{ id: 'acme', label: 'acme', active: true, onPress: NOOP }] }],
|
|
164
|
+
onSignOut: NOOP,
|
|
165
|
+
}, onCollapse: NOOP }), (0, jsx_runtime_1.jsx)(chat_1.SessionRail, { onNew: NOOP, onSearch: NOOP, recents: SESSIONS, onOpen: NOOP, collapsed: true, onCollapse: NOOP, account: { name: 'Sign in', onPress: NOOP } })] }), (0, jsx_runtime_1.jsx)("div", { style: { width: '100%', maxWidth: 560 }, children: (0, jsx_runtime_1.jsx)(chat_1.RailBar, { onMenu: NOOP, menuLabel: "Open runs", brand: "Hanzo Build", onBrand: NOOP, onSearch: NOOP, searchLabel: "Search runs" }) }), (0, jsx_runtime_1.jsx)(chat_1.EmptyPrompt, { mark: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "h" }) }), (0, jsx_runtime_1.jsx)("div", { "data-home": "demo", style: { display: 'flex', width: '100%', height: 320 }, children: (0, jsx_runtime_1.jsx)(chat_1.Home, { mark: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "h" }), children: (0, jsx_runtime_1.jsx)(chat_1.Composer, { inline: true, value: "", onChange: NOOP, onSend: NOOP, placeholder: "Describe a task or ask a question" }) }) }), (0, jsx_runtime_1.jsx)("div", { style: { width: '100%', maxWidth: 768 }, children: (0, jsx_runtime_1.jsx)(chat_1.Composer, { inline: true, value: "", onChange: NOOP, onSend: NOOP, placeholder: "Describe a task or ask a question", head: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ChipSelect_1.ChipSelect, { name: "Environment", label: "Default", onChange: NOOP, items: [] }), (0, jsx_runtime_1.jsx)(RepoSelect_1.RepoSelect, { value: { owner: 'hanzo-inc', name: 'cloud' }, onChange: NOOP, load: NONE }), (0, jsx_runtime_1.jsx)(BranchSelect_1.BranchSelect, { value: "main", onChange: NOOP, load: NONE }), (0, jsx_runtime_1.jsx)(ChipSelect_1.ChipSelect, { name: "Disabled", label: "off", onChange: NOOP, items: [], disabled: true })] }), foot: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(chat_1.ComposerTool, { label: "Attach", icon: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "+" }), onPress: NOOP }), (0, jsx_runtime_1.jsx)(chat_1.ComposerTool, { label: "Mode", text: "Auto", caret: true, onPress: NOOP }), (0, jsx_runtime_1.jsx)(chat_1.ComposerTool, { label: "Disabled", text: "off", disabled: true }), (0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1 }), (0, jsx_runtime_1.jsx)(ChipSelect_1.ChipSelect, { name: "Model", label: "Zen 5", onChange: NOOP, items: [], quiet: true })] }) }) }), (0, jsx_runtime_1.jsx)("div", { style: { width: '100%', maxWidth: 768 }, children: (0, jsx_runtime_1.jsx)(chat_1.Composer, { inline: true, value: "a draft", onChange: NOOP, onSend: NOOP, onStop: NOOP, busy: true }) })] }), (0, jsx_runtime_1.jsx)(Section, { name: "settings", children: (0, jsx_runtime_1.jsx)("div", { "data-settings": "demo", style: { display: 'flex', width: '100%', height: 560 }, children: (0, jsx_runtime_1.jsx)(settings_1.Settings, { entries: ENTRIES, active: "general", onPick: NOOP, children: (0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$6", children: [(0, jsx_runtime_1.jsx)(settings_1.Heading, { title: "General", detail: "How this surface looks and listens.", action: (0, jsx_runtime_1.jsx)(gui_2.Button, { size: "sm", children: "Save" }) }), (0, jsx_runtime_1.jsx)(settings_1.Group, { title: "Appearance", detail: "Per browser.", children: (0, jsx_runtime_1.jsxs)(settings_1.Card, { children: [(0, jsx_runtime_1.jsx)(settings_1.Row, { first: true, title: "Theme", detail: "Follows the system.", trailing: (0, jsx_runtime_1.jsx)(gui_2.Switch, {}) }), (0, jsx_runtime_1.jsx)(settings_1.Row, { mono: true, title: "hk-live-3f9a", leading: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "k" }) })] }) }), (0, jsx_runtime_1.jsx)(settings_1.Field, { label: "Call me", hint: "What the home page greets you by.", children: (0, jsx_runtime_1.jsx)(gui_2.Input, { placeholder: "Name", "aria-label": "Call me" }) }), (0, jsx_runtime_1.jsx)(settings_1.Card, { children: (0, jsx_runtime_1.jsx)(settings_1.Soft, { children: "No keys yet." }) }), (0, jsx_runtime_1.jsx)(settings_1.Soft, { action: (0, jsx_runtime_1.jsx)(gui_2.Button, { size: "sm", children: "Sign in" }), children: "Sign in to see your settings." }), (0, jsx_runtime_1.jsx)(settings_1.Note, { children: "Saved." }), (0, jsx_runtime_1.jsx)(settings_1.Once, { value: "hk-live-3f9a0c", label: "API key" })] }) }) }) }), (0, jsx_runtime_1.jsx)(Section, { name: "catalog", children: (0, jsx_runtime_1.jsx)("div", { "data-shelf": "demo", style: { display: 'flex', width: '100%', height: 720 }, children: (0, jsx_runtime_1.jsxs)(catalog_1.Shelf, { title: "Customize", detail: "What the agent brings to a run.", tabs: KINDS, tab: "skills", onTab: NOOP, view: "discover", onView: NOOP, search: "Search skills", query: "", onQuery: NOOP, add: "New skill", onAdd: NOOP, children: [(0, jsx_runtime_1.jsx)(catalog_1.Featured, { title: "Triage", detail: "How we triage an issue.", meta: "Saved Sep 21", mark: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "t" }), onOpen: NOOP, action: (0, jsx_runtime_1.jsx)(catalog_1.Add, { name: "Triage", added: false, onPress: NOOP }) }), (0, jsx_runtime_1.jsxs)(catalog_1.Tiles, { label: "Skills to add", children: [(0, jsx_runtime_1.jsx)(catalog_1.Tile, { title: "git_repos", detail: "List the forge's repositories.", meta: "git", mark: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "g" }), onOpen: NOOP, action: (0, jsx_runtime_1.jsx)(catalog_1.Add, { name: "git_repos", added: false, onPress: NOOP }) }), (0, jsx_runtime_1.jsx)(catalog_1.Tile, { title: "git_branches", detail: "List a repository's branches.", meta: "git", onOpen: NOOP, action: (0, jsx_runtime_1.jsx)(catalog_1.Add, { name: "git_branches", added: true, onPress: NOOP }) }), (0, jsx_runtime_1.jsx)(catalog_1.Tile, { title: "kms_secrets", detail: "Read the names of an org's secrets.", action: (0, jsx_runtime_1.jsx)(catalog_1.Add, { name: "kms_secrets", added: false, busy: true, onPress: NOOP }) })] })] }) }) }), (0, jsx_runtime_1.jsxs)(Section, { name: "box", children: [(0, jsx_runtime_1.jsx)(gui_1.XStack, { items: "center", gap: 16, px: 24, py: 12, rounded: "var(--radius-lg, 0.75rem)", borderWidth: 1, children: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "utility classes" }) }), (0, jsx_runtime_1.jsx)(gui_1.YStack, { gap: 8, maxW: 768, ml: "auto", mr: "auto", overflow: "hidden", children: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "column" }) })] })] }));
|
|
119
166
|
exports.Gallery = Gallery;
|
|
167
|
+
/**
|
|
168
|
+
* A phone's page, driven: the bar opens the rail's drawer, and the host keeps
|
|
169
|
+
* it open or shut and counts every close it is told of (`data-closes`).
|
|
170
|
+
*
|
|
171
|
+
* Not in the gallery, on purpose. The gallery holds a dozen modal surfaces open
|
|
172
|
+
* so each is styled, and every one of them takes focus back the moment the
|
|
173
|
+
* drawer lets go of it — so where focus lands after the drawer closes is a
|
|
174
|
+
* question only a page with nothing else open can answer. The consumer suite
|
|
175
|
+
* renders this at `?page=phone`: a real `<dialog>` moves focus on its own, and
|
|
176
|
+
* jsdom's does not, so this is the only place the drawer's focus return is
|
|
177
|
+
* measured.
|
|
178
|
+
*/
|
|
179
|
+
function Phone() {
|
|
180
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
181
|
+
const [closes, setCloses] = (0, react_1.useState)(0);
|
|
182
|
+
return ((0, jsx_runtime_1.jsxs)("div", { "data-phone": "demo", "data-closes": closes, style: { display: 'flex', flexDirection: 'column', height: '100vh' }, children: [(0, jsx_runtime_1.jsx)(chat_1.RailBar, { onMenu: () => {
|
|
183
|
+
setCloses(0);
|
|
184
|
+
setOpen(true);
|
|
185
|
+
}, menuLabel: "Open runs", brand: "Hanzo Build", onSearch: NOOP }), (0, jsx_runtime_1.jsx)(chat_1.SessionRail, { onNew: NOOP, recents: SESSIONS, onOpen: NOOP, open: open, onOpenChange: (next) => {
|
|
186
|
+
if (!next)
|
|
187
|
+
setCloses((n) => n + 1);
|
|
188
|
+
setOpen(next);
|
|
189
|
+
}, account: { name: 'Dave', groups: [[{ id: 'usage', label: 'Usage', onPress: NOOP }]], onSignOut: NOOP }, label: "Runs" })] }));
|
|
190
|
+
}
|
|
120
191
|
exports.default = exports.Gallery;
|
package/dist/gallery.d.ts
CHANGED
|
@@ -3,5 +3,18 @@
|
|
|
3
3
|
* scope its assertions without depending on document order.
|
|
4
4
|
*/
|
|
5
5
|
export declare const Gallery: () => import("react").JSX.Element;
|
|
6
|
+
/**
|
|
7
|
+
* A phone's page, driven: the bar opens the rail's drawer, and the host keeps
|
|
8
|
+
* it open or shut and counts every close it is told of (`data-closes`).
|
|
9
|
+
*
|
|
10
|
+
* Not in the gallery, on purpose. The gallery holds a dozen modal surfaces open
|
|
11
|
+
* so each is styled, and every one of them takes focus back the moment the
|
|
12
|
+
* drawer lets go of it — so where focus lands after the drawer closes is a
|
|
13
|
+
* question only a page with nothing else open can answer. The consumer suite
|
|
14
|
+
* renders this at `?page=phone`: a real `<dialog>` moves focus on its own, and
|
|
15
|
+
* jsdom's does not, so this is the only place the drawer's focus return is
|
|
16
|
+
* measured.
|
|
17
|
+
*/
|
|
18
|
+
export declare function Phone(): import("react").JSX.Element;
|
|
6
19
|
export default Gallery;
|
|
7
20
|
//# sourceMappingURL=gallery.d.ts.map
|
package/dist/gallery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"AA2NA;;;GAGG;AACH,eAAO,MAAM,OAAO,mCAqzBnB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,gCA4BpB;eAEc,OAAO"}
|