@hanzo/ui 8.27.15 → 8.27.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/NOTICE +19 -0
  2. package/dist/agents/Attachments.cjs +29 -0
  3. package/dist/agents/Attachments.d.ts +31 -0
  4. package/dist/agents/Attachments.d.ts.map +1 -0
  5. package/dist/agents/Attachments.js +27 -0
  6. package/dist/agents/Attachments.js.map +1 -0
  7. package/dist/agents/Choice.cjs +47 -0
  8. package/dist/agents/Choice.d.ts +34 -0
  9. package/dist/agents/Choice.d.ts.map +1 -0
  10. package/dist/agents/Choice.js +44 -0
  11. package/dist/agents/Choice.js.map +1 -0
  12. package/dist/agents/Console.cjs +106 -0
  13. package/dist/agents/Console.d.ts +54 -0
  14. package/dist/agents/Console.d.ts.map +1 -0
  15. package/dist/agents/Console.js +104 -0
  16. package/dist/agents/Console.js.map +1 -0
  17. package/dist/agents/Feedback.cjs +50 -0
  18. package/dist/agents/Feedback.d.ts +25 -0
  19. package/dist/agents/Feedback.d.ts.map +1 -0
  20. package/dist/agents/Feedback.js +48 -0
  21. package/dist/agents/Feedback.js.map +1 -0
  22. package/dist/agents/FileTabs.cjs +63 -0
  23. package/dist/agents/FileTabs.d.ts +45 -0
  24. package/dist/agents/FileTabs.d.ts.map +1 -0
  25. package/dist/agents/FileTabs.js +61 -0
  26. package/dist/agents/FileTabs.js.map +1 -0
  27. package/dist/agents/FileTree.cjs +160 -0
  28. package/dist/agents/FileTree.d.ts +41 -0
  29. package/dist/agents/FileTree.d.ts.map +1 -0
  30. package/dist/agents/FileTree.js +157 -0
  31. package/dist/agents/FileTree.js.map +1 -0
  32. package/dist/agents/PreviewFrame.cjs +108 -0
  33. package/dist/agents/PreviewFrame.d.ts +78 -0
  34. package/dist/agents/PreviewFrame.d.ts.map +1 -0
  35. package/dist/agents/PreviewFrame.js +105 -0
  36. package/dist/agents/PreviewFrame.js.map +1 -0
  37. package/dist/agents/Suggestions.cjs +29 -0
  38. package/dist/agents/Suggestions.d.ts +28 -0
  39. package/dist/agents/Suggestions.d.ts.map +1 -0
  40. package/dist/agents/Suggestions.js +26 -0
  41. package/dist/agents/Suggestions.js.map +1 -0
  42. package/dist/agents/Workspace.cjs +103 -0
  43. package/dist/agents/Workspace.d.ts +104 -0
  44. package/dist/agents/Workspace.d.ts.map +1 -0
  45. package/dist/agents/Workspace.js +98 -0
  46. package/dist/agents/Workspace.js.map +1 -0
  47. package/dist/agents/bridge.cjs +201 -0
  48. package/dist/agents/bridge.d.ts +102 -0
  49. package/dist/agents/bridge.d.ts.map +1 -0
  50. package/dist/agents/bridge.js +197 -0
  51. package/dist/agents/bridge.js.map +1 -0
  52. package/dist/agents/index.cjs +64 -1
  53. package/dist/agents/index.d.ts +23 -0
  54. package/dist/agents/index.d.ts.map +1 -1
  55. package/dist/agents/index.js +23 -0
  56. package/dist/agents/index.js.map +1 -1
  57. package/dist/agents/log.cjs +75 -0
  58. package/dist/agents/log.d.ts +58 -0
  59. package/dist/agents/log.d.ts.map +1 -0
  60. package/dist/agents/log.js +65 -0
  61. package/dist/agents/log.js.map +1 -0
  62. package/dist/agents/tree.cjs +238 -0
  63. package/dist/agents/tree.d.ts +99 -0
  64. package/dist/agents/tree.d.ts.map +1 -0
  65. package/dist/agents/tree.js +226 -0
  66. package/dist/agents/tree.js.map +1 -0
  67. package/dist/backends/gui/3d-card.d.ts +6 -6
  68. package/dist/backends/gui/3d-marquee.d.ts +7 -8
  69. package/dist/backends/gui/3d-marquee.d.ts.map +1 -1
  70. package/dist/backends/gui/3d-pin.d.ts +1 -1
  71. package/dist/backends/gui/alert.d.ts +3 -3
  72. package/dist/backends/gui/android.d.ts +1 -1
  73. package/dist/backends/gui/animated-testimonials.d.ts +1 -1
  74. package/dist/backends/gui/animated-tooltip.d.ts +1 -1
  75. package/dist/backends/gui/announcement.d.ts +1 -1
  76. package/dist/backends/gui/banner.d.ts +1 -1
  77. package/dist/backends/gui/button.d.ts +1 -1
  78. package/dist/backends/gui/card.d.ts +7 -7
  79. package/dist/backends/gui/code-editor.cjs +2 -2
  80. package/dist/backends/gui/code-editor.d.ts +7 -1
  81. package/dist/backends/gui/code-editor.d.ts.map +1 -1
  82. package/dist/backends/gui/code-editor.js +2 -2
  83. package/dist/backends/gui/code-editor.js.map +1 -1
  84. package/dist/backends/gui/command.d.ts +5 -5
  85. package/dist/backends/gui/command.d.ts.map +1 -1
  86. package/dist/backends/gui/context-menu.d.ts +14 -14
  87. package/dist/backends/gui/context-menu.d.ts.map +1 -1
  88. package/dist/backends/gui/credit-card.d.ts +1 -1
  89. package/dist/backends/gui/desktop.d.ts +1 -1
  90. package/dist/backends/gui/dock.d.ts +3 -3
  91. package/dist/backends/gui/dropdown-menu.d.ts +16 -16
  92. package/dist/backends/gui/dropdown-menu.d.ts.map +1 -1
  93. package/dist/backends/gui/empty.d.ts +6 -6
  94. package/dist/backends/gui/field.d.ts +3 -3
  95. package/dist/backends/gui/gantt.d.ts +1 -1
  96. package/dist/backends/gui/grid-pattern.d.ts +1 -2
  97. package/dist/backends/gui/grid-pattern.d.ts.map +1 -1
  98. package/dist/backends/gui/image-zoom.d.ts +1 -1
  99. package/dist/backends/gui/iphone-15-pro.d.ts +1 -1
  100. package/dist/backends/gui/item.d.ts +9 -9
  101. package/dist/backends/gui/list.d.ts +2 -2
  102. package/dist/backends/gui/macos-dock.d.ts +2 -2
  103. package/dist/backends/gui/magnetic.d.ts +1 -1
  104. package/dist/backends/gui/marquee.d.ts +1 -15
  105. package/dist/backends/gui/marquee.d.ts.map +1 -1
  106. package/dist/backends/gui/menu-dock.d.ts +1 -1
  107. package/dist/backends/gui/menubar.d.ts +15 -15
  108. package/dist/backends/gui/menubar.d.ts.map +1 -1
  109. package/dist/backends/gui/message-dock.d.ts +1 -1
  110. package/dist/backends/gui/motion-highlight.d.ts +1 -12
  111. package/dist/backends/gui/motion-highlight.d.ts.map +1 -1
  112. package/dist/backends/gui/pagination.d.ts +4 -4
  113. package/dist/backends/gui/qr-code.d.ts +1 -2
  114. package/dist/backends/gui/qr-code.d.ts.map +1 -1
  115. package/dist/backends/gui/scroll-area.d.ts +3 -14
  116. package/dist/backends/gui/scroll-area.d.ts.map +1 -1
  117. package/dist/backends/gui/sheet.d.ts +3 -3
  118. package/dist/backends/gui/sheet.d.ts.map +1 -1
  119. package/dist/backends/gui/status.d.ts +1 -1
  120. package/dist/backends/gui/table.d.ts +8 -8
  121. package/dist/backends/gui/toaster.d.ts +1 -15
  122. package/dist/backends/gui/toaster.d.ts.map +1 -1
  123. package/dist/backends/gui/toggle.d.ts +1 -1
  124. package/dist/backends/gui/video-player.d.ts +1 -1
  125. package/dist/chat/Composer.cjs +60 -9
  126. package/dist/chat/Composer.d.ts +42 -2
  127. package/dist/chat/Composer.d.ts.map +1 -1
  128. package/dist/chat/Composer.js +61 -11
  129. package/dist/chat/Composer.js.map +1 -1
  130. package/dist/chat/EmptyPrompt.cjs +27 -0
  131. package/dist/chat/EmptyPrompt.d.ts +30 -0
  132. package/dist/chat/EmptyPrompt.d.ts.map +1 -0
  133. package/dist/chat/EmptyPrompt.js +24 -0
  134. package/dist/chat/EmptyPrompt.js.map +1 -0
  135. package/dist/chat/SessionRail.cjs +97 -0
  136. package/dist/chat/SessionRail.d.ts +97 -0
  137. package/dist/chat/SessionRail.d.ts.map +1 -0
  138. package/dist/chat/SessionRail.js +94 -0
  139. package/dist/chat/SessionRail.js.map +1 -0
  140. package/dist/chat/Thread.d.ts +2 -8
  141. package/dist/chat/Thread.d.ts.map +1 -1
  142. package/dist/chat/index.cjs +8 -1
  143. package/dist/chat/index.d.ts +3 -1
  144. package/dist/chat/index.d.ts.map +1 -1
  145. package/dist/chat/index.js +3 -1
  146. package/dist/chat/index.js.map +1 -1
  147. package/dist/gallery.cjs +28 -1
  148. package/dist/gallery.d.ts.map +1 -1
  149. package/dist/gallery.html +71 -3
  150. package/dist/gallery.js +30 -3
  151. package/dist/gallery.js.map +1 -1
  152. package/dist/product/BranchSelect.cjs +27 -0
  153. package/dist/product/BranchSelect.d.ts +27 -0
  154. package/dist/product/BranchSelect.d.ts.map +1 -0
  155. package/dist/product/BranchSelect.js +23 -0
  156. package/dist/product/BranchSelect.js.map +1 -0
  157. package/dist/product/ChipSelect.cjs +267 -0
  158. package/dist/product/ChipSelect.d.ts +71 -0
  159. package/dist/product/ChipSelect.d.ts.map +1 -0
  160. package/dist/product/ChipSelect.js +265 -0
  161. package/dist/product/ChipSelect.js.map +1 -0
  162. package/dist/product/RepoSelect.cjs +75 -0
  163. package/dist/product/RepoSelect.d.ts +63 -0
  164. package/dist/product/RepoSelect.d.ts.map +1 -0
  165. package/dist/product/RepoSelect.js +69 -0
  166. package/dist/product/RepoSelect.js.map +1 -0
  167. package/dist/product/chipSelect.logic.cjs +147 -0
  168. package/dist/product/chipSelect.logic.d.ts +92 -0
  169. package/dist/product/chipSelect.logic.d.ts.map +1 -0
  170. package/dist/product/chipSelect.logic.js +138 -0
  171. package/dist/product/chipSelect.logic.js.map +1 -0
  172. package/dist/product/index.cjs +23 -1
  173. package/dist/product/index.d.ts +4 -0
  174. package/dist/product/index.d.ts.map +1 -1
  175. package/dist/product/index.js +7 -0
  176. package/dist/product/index.js.map +1 -1
  177. package/dist/styles.css +68 -0
  178. package/package.json +2 -1
package/dist/gallery.js CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { XStack, YStack } from '@hanzo/gui';
4
4
  import { Box } from './box.js';
5
5
  import { Workbench } from './product/Workbench.js';
@@ -9,10 +9,14 @@ import { ProjectThumb } from './product/ProjectThumb.js';
9
9
  import { Split } from './product/Split.js';
10
10
  import { TooltipAnchor } from './product/TooltipAnchor.js';
11
11
  import { DialogTemplate } from './product/DialogTemplate.js';
12
- import { Aside, AsideToggle, Code, Chat, Composer, Failure, Header as ChatHeader, Message, ShareButton, Step, Sidebar, SidebarFolder, SidebarHeader, SidebarItem, SidebarNewChat, SidebarScroll, SidebarSection, SidebarUser, Sources, Thread, } from './chat/index.js';
12
+ import { ChipSelect } from './product/ChipSelect.js';
13
+ import { RepoSelect } from './product/RepoSelect.js';
14
+ import { BranchSelect } from './product/BranchSelect.js';
15
+ import { Aside, AsideToggle, Code, Chat, Composer, ComposerTool, EmptyPrompt, Failure, Header as ChatHeader, Message, ShareButton, Step, Sidebar, SidebarFolder, SidebarHeader, SidebarItem, SidebarNewChat, SidebarScroll, SidebarSection, SidebarUser, SessionRail, Sources, Thread, } from './chat/index.js';
13
16
  import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuTrigger, HoverCard, HoverCardContent, HoverCardTrigger, RadioGroup, RadioGroupItem, ToggleGroup, ToggleGroupItem, AspectRatio, Avatar, AvatarFallback, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Input, Label, Popover, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Separator, Slider, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Band, CardMedia, CommandDialog, Spinner, Text, Screen, Fill, } from './backends/gui/index.js';
14
17
  // Off the barrel — web-only, so it is imported the way a consumer imports it.
15
18
  import { Cell, Grid } from './grid.js';
19
+ import { Attachments, CHAT, Console, DEVICES, Feedback, FileTabs, FileTree, ModeSelect, PageSelect, PreviewFrame, ProjectChip, Suggestions, SUGGESTIONS, VIEWS, Views, Workspace, } from './agents/index.js';
16
20
  /** A real <img> with real intrinsic pixels, inline so nothing hits the network.
17
21
  * 120x40 on purpose: the wrong ratio for every box it goes in, so a frame that
18
22
  * fails to cover-fit its child is visible rather than merely untested. */
@@ -34,6 +38,16 @@ const TURNS = [
34
38
  ];
35
39
  /** The chat shell is callbacks-out, and this list only needs them to exist. */
36
40
  const NOOP = () => { };
41
+ /** The sessions a rail lists: every status, because each draws its own dot. */
42
+ const SESSIONS = [
43
+ { id: 's1', title: 'Rolling update and bootstrap CD', status: 'running' },
44
+ { id: 's2', title: 'Reset to 2025 version', status: 'done' },
45
+ { id: 's3', title: 'Paused audit', status: 'paused' },
46
+ { id: 's4', title: 'Enterprise/OSS feature audit', status: 'error' },
47
+ { id: 's5', title: 'Idle one', status: 'idle' },
48
+ ];
49
+ /** A loader that never needs to answer — the chips render closed. */
50
+ const NONE = async () => ({ repos: [], branches: [], items: [] });
37
51
  /** Two: one with a host and one without, so the card's second line and its
38
52
  * letter fallback are both rendered rules. */
39
53
  const SOURCES = [
@@ -85,6 +99,19 @@ export const Gallery = () => (_jsxs("div", { style: { display: 'flex', flexDirec
85
99
  tabs: [
86
100
  { id: 'console', title: 'Console', closable: false, content: _jsx(CardTitle, { children: "console" }) },
87
101
  ],
88
- }, children: _jsx(CardTitle, { children: "center" }) }) }) }), _jsxs(Section, { name: "product-arrangements", children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: '100%', maxWidth: 320 }, children: [_jsx(Skeleton, { width: 120 }), _jsx(Skeleton, { width: "100%", height: 72, rounded: "$4" }), _jsx(Skeleton.Text, { lines: 3 })] }), _jsx(TooltipAnchor, { description: "Delete this agent", children: _jsx(Button, { children: "hinted" }) }), _jsx(Dialog, { open: true, children: _jsx(DialogTemplate, { title: "Delete agent", description: "This removes every run recorded against it.", confirm: { label: 'Delete', tone: 'danger' }, children: _jsx(CardTitle, { children: "body" }) }) })] }), _jsxs(Section, { name: "chat", children: [_jsxs(Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: [_jsxs(ChatHeader, { title: "A conversation with a long enough name to clamp", leading: _jsx(AsideToggle, {}), onOpenMenu: NOOP, children: [_jsx(ShareButton, {}), _jsx(AsideToggle, {})] }), _jsx(Fill, { children: _jsx(Message, { role: "user", children: "plain Fill \u2014 the middle, without a Thread" }) }), _jsxs(Thread, { children: [_jsx(Message, { role: "user", children: "ask" }), _jsxs(Message, { role: "assistant", icon: _jsx(Spinner, {}), actions: _jsx(Badge, { children: "copy" }), children: [_jsx(Step, { name: "shell", status: "running", detail: "git status --porcelain" }), _jsx(Step, { name: "write", status: "done", detail: "src/index.ts", defaultOpen: true, children: _jsx(Code, { language: "json", value: "{}", children: '{}' }) }), _jsx(Step, { name: "fetch", status: "error", detail: "timed out", children: "plain body" }), _jsx(Step, { name: "plan", status: "cancelled" }), _jsx(Code, { language: "typescript", value: "const x = 1", children: "const x = 1" }), _jsx(Sources, { sources: SOURCES })] }), _jsx(Message, { role: "assistant", busy: true, children: "answering" }), _jsx(Message, { role: "assistant", children: _jsx(Failure, { onRetry: NOOP, children: "The model stopped before finishing." }) }), _jsx(Message, { role: "assistant", children: _jsx(Failure, { children: "Rate limited." }) }), _jsx(Message, { role: "user", body: { bg: '$color5', rounded: '$3' }, children: "restyled bubble" }), _jsx(Message, { role: "system", children: "note" })] }), _jsx(Composer, { value: "a draft", onChange: NOOP, onSend: NOOP, hint: "Enter to send", children: _jsx(Badge, { children: "tool" }) }), _jsx(Composer, { value: "", onChange: NOOP, onSend: NOOP, onStop: NOOP, busy: true })] }), _jsx(Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: _jsx(Chat, { messages: TURNS, streaming: true, send: NOOP, stop: NOOP, composer: { placeholder: 'Ask anything' } }) }), _jsx(Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: _jsx(Chat, { messages: [], send: NOOP, empty: _jsx(Message, { role: "system", children: "nothing yet" }) }) }), _jsx(Aside, { children: _jsx(Sources, { sources: SOURCES }) }), _jsx("div", { style: { display: 'flex', width: '100%', maxWidth: 260, height: 320 }, children: _jsxs(Sidebar, { children: [_jsx(SidebarHeader, { title: "Hanzo", onOpenSwitcher: NOOP, onSearch: NOOP, onCollapse: NOOP }), _jsx(SidebarNewChat, { onPress: NOOP }), _jsxs(SidebarScroll, { children: [_jsxs(SidebarSection, { label: "Today", children: [_jsx(SidebarItem, { active: true, onPress: NOOP, children: "Selected thread" }), _jsx(SidebarItem, { onPress: NOOP, children: "Another thread" })] }), _jsx(SidebarFolder, { name: "Archive", defaultOpen: true, children: _jsx(SidebarItem, { onPress: NOOP, children: "Nested thread" }) })] }), _jsx(SidebarUser, { name: "z", secondary: "z@hanzo.ai", onPress: NOOP, onHelp: NOOP })] }) })] }), _jsxs(Section, { name: "box", children: [_jsx(XStack, { items: "center", gap: 16, px: 24, py: 12, rounded: "var(--radius-lg, 0.75rem)", borderWidth: 1, children: _jsx(CardTitle, { children: "utility classes" }) }), _jsx(YStack, { gap: 8, maxW: 768, ml: "auto", mr: "auto", overflow: "hidden", children: _jsx(CardTitle, { children: "column" }) })] })] }));
102
+ }, children: _jsx(CardTitle, { children: "center" }) }) }) }), _jsxs(Section, { name: "product-arrangements", children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: '100%', maxWidth: 320 }, children: [_jsx(Skeleton, { width: 120 }), _jsx(Skeleton, { width: "100%", height: 72, rounded: "$4" }), _jsx(Skeleton.Text, { lines: 3 })] }), _jsx(TooltipAnchor, { description: "Delete this agent", children: _jsx(Button, { children: "hinted" }) }), _jsx(Dialog, { open: true, children: _jsx(DialogTemplate, { title: "Delete agent", description: "This removes every run recorded against it.", confirm: { label: 'Delete', tone: 'danger' }, children: _jsx(CardTitle, { children: "body" }) }) })] }), _jsxs(Section, { name: "chat", children: [_jsxs(Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: [_jsxs(ChatHeader, { title: "A conversation with a long enough name to clamp", leading: _jsx(AsideToggle, {}), onOpenMenu: NOOP, children: [_jsx(ShareButton, {}), _jsx(AsideToggle, {})] }), _jsx(Fill, { children: _jsx(Message, { role: "user", children: "plain Fill \u2014 the middle, without a Thread" }) }), _jsxs(Thread, { children: [_jsx(Message, { role: "user", children: "ask" }), _jsxs(Message, { role: "assistant", icon: _jsx(Spinner, {}), actions: _jsx(Badge, { children: "copy" }), children: [_jsx(Step, { name: "shell", status: "running", detail: "git status --porcelain" }), _jsx(Step, { name: "write", status: "done", detail: "src/index.ts", defaultOpen: true, children: _jsx(Code, { language: "json", value: "{}", children: '{}' }) }), _jsx(Step, { name: "fetch", status: "error", detail: "timed out", children: "plain body" }), _jsx(Step, { name: "plan", status: "cancelled" }), _jsx(Code, { language: "typescript", value: "const x = 1", children: "const x = 1" }), _jsx(Sources, { sources: SOURCES })] }), _jsx(Message, { role: "assistant", busy: true, children: "answering" }), _jsx(Message, { role: "assistant", children: _jsx(Failure, { onRetry: NOOP, children: "The model stopped before finishing." }) }), _jsx(Message, { role: "assistant", children: _jsx(Failure, { children: "Rate limited." }) }), _jsx(Message, { role: "user", body: { bg: '$color5', rounded: '$3' }, children: "restyled bubble" }), _jsx(Message, { role: "system", children: "note" })] }), _jsx(Composer, { value: "a draft", onChange: NOOP, onSend: NOOP, hint: "Enter to send", children: _jsx(Badge, { children: "tool" }) }), _jsx(Composer, { value: "", onChange: NOOP, onSend: NOOP, onStop: NOOP, busy: true })] }), _jsx(Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: _jsx(Chat, { messages: TURNS, streaming: true, send: NOOP, stop: NOOP, composer: { placeholder: 'Ask anything' } }) }), _jsx(Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: _jsx(Chat, { messages: [], send: NOOP, empty: _jsx(Message, { role: "system", children: "nothing yet" }) }) }), _jsx(Aside, { children: _jsx(Sources, { sources: SOURCES }) }), _jsx("div", { style: { display: 'flex', width: '100%', maxWidth: 260, height: 320 }, children: _jsxs(Sidebar, { children: [_jsx(SidebarHeader, { title: "Hanzo", onOpenSwitcher: NOOP, onSearch: NOOP, onCollapse: NOOP }), _jsx(SidebarNewChat, { onPress: NOOP }), _jsxs(SidebarScroll, { children: [_jsxs(SidebarSection, { label: "Today", children: [_jsx(SidebarItem, { active: true, onPress: NOOP, children: "Selected thread" }), _jsx(SidebarItem, { onPress: NOOP, children: "Another thread" })] }), _jsx(SidebarFolder, { name: "Archive", defaultOpen: true, children: _jsx(SidebarItem, { onPress: NOOP, children: "Nested thread" }) })] }), _jsx(SidebarUser, { name: "z", secondary: "z@hanzo.ai", onPress: NOOP, onHelp: NOOP })] }) })] }), _jsxs(Section, { name: "workspace", children: [_jsx("div", { style: { display: 'flex', width: '100%', height: 420 }, children: _jsx(Workspace, { start: _jsx(ProjectChip, { name: "MEGA Shop", onPress: NOOP }), middle: _jsxs(_Fragment, { children: [_jsx(Views, { views: [...VIEWS, CHAT], value: "preview", onChange: NOOP, label: "Editor view" }), _jsx(Views, { views: DEVICES, value: "desktop", onChange: NOOP, label: "Device", labels: "none" }), _jsx(PageSelect, { pages: [{ id: '/', label: 'Homepage' }], value: "/", onChange: NOOP })] }), end: _jsx(Button, { size: "sm", children: "Publish" }), chat: _jsxs(_Fragment, { children: [_jsx(Suggestions, { items: SUGGESTIONS, onPick: NOOP, onDismiss: NOOP }), _jsx(Attachments, { items: [
103
+ { id: 'a', kind: 'file', label: 'src/app.tsx' },
104
+ { id: 'b', kind: 'element', label: '<button> .cta' },
105
+ { id: 'c', kind: 'upload', label: 'shot.png' },
106
+ ], onRemove: NOOP }), _jsx(Feedback, { text: "reply", verdict: "up", onVerdict: NOOP }), _jsx(ModeSelect, { modes: [{ id: 'build', label: 'Build' }, { id: 'plan', label: 'Plan' }], value: "build", onChange: NOOP })] }), dock: _jsx(Console, { lines: [
107
+ { id: 1, level: 'log', text: 'log', source: 'run' },
108
+ { id: 2, level: 'info', text: 'info' },
109
+ { id: 3, level: 'warn', text: 'warn' },
110
+ { id: 4, level: 'error', text: 'error' },
111
+ { id: 5, level: 'debug', text: 'debug' },
112
+ ], height: 200, onHeight: NOOP, onClear: NOOP, onRun: NOOP }), children: _jsx(PreviewFrame, { src: "https://hanzo.ai/", toolbar: _jsx(Button, { size: "icon-sm", variant: "ghost", children: "+" }) }) }) }), _jsx("div", { style: { display: 'flex', width: 280, height: 240 }, children: _jsx(FileTree, { files: ['src/app.tsx', 'src/lib/a.ts', 'README.md'], value: "src/lib/a.ts", onSelect: NOOP }) }), _jsx("div", { style: { display: 'flex', width: 360, height: 240 }, children: _jsx(FileTabs, { files: [
113
+ { path: 'src/app.tsx', content: 'export {}', dirty: true },
114
+ { path: 'big.bin', error: 'Too large to show here.' },
115
+ ], value: "src/app.tsx", onSelect: NOOP, onClose: NOOP, onChange: NOOP }) }), _jsx("div", { style: { display: 'flex', width: 280, height: 160 }, children: _jsx(PreviewFrame, { src: null }) }), _jsx("div", { style: { display: 'flex', width: 360 }, children: _jsx(Console, { lines: [], height: 36, onHeight: NOOP }) })] }), _jsxs(Section, { name: "sessions", children: [_jsxs("div", { style: { display: 'flex', width: '100%', maxWidth: 560, height: 420, gap: 12 }, children: [_jsx(SessionRail, { onNew: NOOP, fresh: true, links: [{ id: 'a', label: 'Artifacts', icon: _jsx(Badge, { children: "a" }) }], more: [{ id: 'p', label: 'Projects', icon: _jsx(Badge, { children: "p" }) }], recents: SESSIONS, active: "s2", onOpen: NOOP, onSort: NOOP, account: { name: 'z@hanzo.ai', onPress: NOOP }, onSettings: NOOP, onSearch: NOOP, onCollapse: NOOP }), _jsx(SessionRail, { onNew: NOOP, recents: SESSIONS, onOpen: NOOP, collapsed: true, onCollapse: NOOP, account: { name: 'z' } })] }), _jsx(EmptyPrompt, { mark: _jsx(Badge, { children: "h" }) }), _jsx("div", { style: { width: '100%', maxWidth: 768 }, children: _jsx(Composer, { inline: true, value: "", onChange: NOOP, onSend: NOOP, placeholder: "Describe a task or ask a question", head: _jsxs(_Fragment, { children: [_jsx(ChipSelect, { name: "Environment", label: "Default", onChange: NOOP, items: [] }), _jsx(RepoSelect, { value: { owner: 'hanzo-inc', name: 'cloud' }, onChange: NOOP, load: NONE }), _jsx(BranchSelect, { value: "main", onChange: NOOP, load: NONE }), _jsx(ChipSelect, { name: "Disabled", label: "off", onChange: NOOP, items: [], disabled: true })] }), foot: _jsxs(_Fragment, { children: [_jsx(ComposerTool, { label: "Attach", icon: _jsx(Badge, { children: "+" }), onPress: NOOP }), _jsx(ComposerTool, { label: "Mode", text: "Auto", caret: true, onPress: NOOP }), _jsx(ComposerTool, { label: "Disabled", text: "off", disabled: true }), _jsx(XStack, { flex: 1 }), _jsx(ChipSelect, { name: "Model", label: "Zen 5", onChange: NOOP, items: [], quiet: true })] }) }) }), _jsx("div", { style: { width: '100%', maxWidth: 768 }, children: _jsx(Composer, { inline: true, value: "a draft", onChange: NOOP, onSend: NOOP, onStop: NOOP, busy: true }) })] }), _jsxs(Section, { name: "box", children: [_jsx(XStack, { items: "center", gap: 16, px: 24, py: 12, rounded: "var(--radius-lg, 0.75rem)", borderWidth: 1, children: _jsx(CardTitle, { children: "utility classes" }) }), _jsx(YStack, { gap: 8, maxW: 768, ml: "auto", mr: "auto", overflow: "hidden", children: _jsx(CardTitle, { children: "column" }) })] })] }));
89
116
  export default Gallery;
90
117
  //# sourceMappingURL=gallery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gallery.js","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gallery.js","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ 'use client';"use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.branchName = void 0;
5
+ exports.BranchSelect = BranchSelect;
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ /**
8
+ * BranchSelect — which branch a run starts from, as a composer chip.
9
+ *
10
+ * A `ChipSelect` over branch names: the chosen branch pinned first with a
11
+ * check, the rest as the host's loader pages them, and the search at the foot.
12
+ * Like `RepoSelect` it knows no git host — the loader is the host's.
13
+ */
14
+ const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
15
+ const react_1 = require("react");
16
+ const ChipSelect_1 = require("./ChipSelect.cjs");
17
+ /** The name, whichever shape the row came in. */
18
+ const branchName = (b) => (typeof b === 'string' ? b : b.name);
19
+ exports.branchName = branchName;
20
+ const item = (name) => ({ id: name, label: name });
21
+ function BranchSelect({ value = null, onChange, load, footer, placement, disabled, open, onOpenChange, }) {
22
+ const pages = (0, react_1.useCallback)(async (q, after) => {
23
+ const page = await load(q, after);
24
+ return { items: page.branches.map((b) => item((0, exports.branchName)(b))), next: page.next ?? null };
25
+ }, [load]);
26
+ return ((0, jsx_runtime_1.jsx)(ChipSelect_1.ChipSelect, { name: "Branch", icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.GitBranch, { size: 12, color: "$soft" }), label: value ?? 'Branch', chosen: value ? item(value) : null, onChange: (i) => onChange(i.id), load: pages, placeholder: "Search branches\u2026", empty: "No branches match.", footer: footer, placement: placement, disabled: disabled, open: open, onOpenChange: onOpenChange }));
27
+ }
@@ -0,0 +1,27 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type ChipPlacement } from './ChipSelect.js';
3
+ /** A branch, as a host's API tends to answer it: a bare name, or a row carrying one. */
4
+ export type Branch = string | {
5
+ name: string;
6
+ };
7
+ /** One page of branches. */
8
+ export type BranchLoad = (q: string, after?: string | null) => Promise<{
9
+ branches: Branch[];
10
+ next?: string | null;
11
+ }>;
12
+ /** The name, whichever shape the row came in. */
13
+ export declare const branchName: (b: Branch) => string;
14
+ export interface BranchSelectProps {
15
+ /** The chosen branch. */
16
+ value?: string | null;
17
+ onChange: (branch: string) => void;
18
+ load: BranchLoad;
19
+ /** Under the list — why a branch might be missing. */
20
+ footer?: ReactNode;
21
+ placement?: ChipPlacement;
22
+ disabled?: boolean;
23
+ open?: boolean;
24
+ onOpenChange?: (open: boolean) => void;
25
+ }
26
+ export declare function BranchSelect({ value, onChange, load, footer, placement, disabled, open, onOpenChange, }: BranchSelectProps): import("react").JSX.Element;
27
+ //# sourceMappingURL=BranchSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchSelect.d.ts","sourceRoot":"","sources":["../../src/product/BranchSelect.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAG7D,wFAAwF;AACxF,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9C,4BAA4B;AAC5B,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAA;AAEpH,iDAAiD;AACjD,eAAO,MAAM,UAAU,MAAO,MAAM,KAAG,MAA8C,CAAA;AAErF,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,sDAAsD;IACtD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACvC;AAID,wBAAgB,YAAY,CAAC,EAC3B,KAAY,EACZ,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,YAAY,GACb,EAAE,iBAAiB,+BA0BnB"}
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ /**
4
+ * BranchSelect — which branch a run starts from, as a composer chip.
5
+ *
6
+ * A `ChipSelect` over branch names: the chosen branch pinned first with a
7
+ * check, the rest as the host's loader pages them, and the search at the foot.
8
+ * Like `RepoSelect` it knows no git host — the loader is the host's.
9
+ */
10
+ import { GitBranch } from '@hanzogui/lucide-icons-2';
11
+ import { useCallback } from 'react';
12
+ import { ChipSelect } from './ChipSelect.js';
13
+ /** The name, whichever shape the row came in. */
14
+ export const branchName = (b) => (typeof b === 'string' ? b : b.name);
15
+ const item = (name) => ({ id: name, label: name });
16
+ export function BranchSelect({ value = null, onChange, load, footer, placement, disabled, open, onOpenChange, }) {
17
+ const pages = useCallback(async (q, after) => {
18
+ const page = await load(q, after);
19
+ return { items: page.branches.map((b) => item(branchName(b))), next: page.next ?? null };
20
+ }, [load]);
21
+ return (_jsx(ChipSelect, { name: "Branch", icon: _jsx(GitBranch, { size: 12, color: "$soft" }), label: value ?? 'Branch', chosen: value ? item(value) : null, onChange: (i) => onChange(i.id), load: pages, placeholder: "Search branches\u2026", empty: "No branches match.", footer: footer, placement: placement, disabled: disabled, open: open, onOpenChange: onOpenChange }));
22
+ }
23
+ //# sourceMappingURL=BranchSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchSelect.js","sourceRoot":"","sources":["../../src/product/BranchSelect.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,WAAW,EAAkB,MAAM,OAAO,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAsB,MAAM,cAAc,CAAA;AAS7D,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAerF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAY,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAEpE,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,GAAG,IAAI,EACZ,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,YAAY,GACM;IAClB,MAAM,KAAK,GAAG,WAAW,CACvB,KAAK,EAAE,CAAS,EAAE,KAAqB,EAA+B,EAAE;QACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACjC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAA;IAC1F,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO,CACL,KAAC,UAAU,IACT,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,GAAG,EAC3C,KAAK,EAAE,KAAK,IAAI,QAAQ,EACxB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/B,IAAI,EAAE,KAAK,EACX,WAAW,EAAC,uBAAkB,EAC9B,KAAK,EAAC,oBAAoB,EAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,GAC1B,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,267 @@
1
+ 'use client';"use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ChipSelect = ChipSelect;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ /**
7
+ * ChipSelect — a small chip that opens a searchable list, UPWARD by default.
8
+ *
9
+ * The shape a composer's context row needs: `☁ Default` · `</> cloud` ·
10
+ * `⑂ main`, each a chip, each a choice over a list too long to show whole.
11
+ * The panel opens above the chip (a composer sits at the bottom of the pane),
12
+ * the chosen row is pinned first with a check, the list scrolls, a footer can
13
+ * explain what is missing, and the search sits at the BOTTOM — next to the chip
14
+ * the reader just pressed, which is where their eyes already are.
15
+ *
16
+ * DATA IS A LOADER OR A LIST, NEVER AN API. `load(q, after)` answers one page at
17
+ * a time and the component pages it: a debounced search starts over, reaching
18
+ * the end of the list asks for the page after. Or `items` is the whole list and
19
+ * the search is applied here. Nothing in this file knows what a repository is.
20
+ *
21
+ * The pieces with the rules in them — paging, pinning, the cursor — are pure and
22
+ * live in `chipSelect.logic.ts`, tested without a DOM. Portalling, dismissal
23
+ * and focus trapping are the package `Popover`'s, not reimplemented here.
24
+ *
25
+ * ARIA: the chip is a button that opens a listbox; the search field is the
26
+ * combobox and owns the cursor through `aria-activedescendant`, so focus never
27
+ * leaves the field while the arrow keys move through the rows. `aria-selected`
28
+ * marks the chosen row. Closing returns focus to the chip.
29
+ */
30
+ const gui_1 = require("@hanzo/gui");
31
+ const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
32
+ const react_1 = require("react");
33
+ const popover_1 = require("../backends/gui/popover.cjs");
34
+ const slot_1 = require("../backends/gui/slot.cjs");
35
+ const chipSelect_logic_1 = require("./chipSelect.logic.cjs");
36
+ /** One row's height, px — a line of 13px type with room to breathe. */
37
+ const ROW_H = 24;
38
+ /** The chip: 24px, a hairline, the raised fill. */
39
+ const CHIP_H = 24;
40
+ /** The keyboard focus ring every control in the package draws. */
41
+ const RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
42
+ const MOVES = new Set(['ArrowDown', 'ArrowUp', 'Home', 'End', 'PageDown', 'PageUp']);
43
+ /** Text a keystroke types, or null for a key that types nothing. */
44
+ const typed = (e) => e.key && e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey ? e.key : null;
45
+ /**
46
+ * Pages of a loader, for one search at a time.
47
+ *
48
+ * Every request carries the search generation it was made for, and an answer
49
+ * for any older generation is dropped — so a slow page for "clo" can never land
50
+ * under the results for "cloud".
51
+ */
52
+ function usePages(load, q, delay, on) {
53
+ const [state, setState] = (0, react_1.useState)({ rows: [], next: null, loading: false, error: null });
54
+ const generation = (0, react_1.useRef)(0);
55
+ const busy = (0, react_1.useRef)(false);
56
+ // The loader is read at call time, not taken as a dependency: a host that
57
+ // passes an inline function hands over a new one every render, and keying the
58
+ // fetch on its identity would refetch on every render.
59
+ const loader = (0, react_1.useRef)(load);
60
+ loader.current = load;
61
+ const search = (0, react_1.useRef)(q);
62
+ search.current = q;
63
+ const fetch = (0, react_1.useCallback)((after, gen) => {
64
+ const read = loader.current;
65
+ if (!read)
66
+ return;
67
+ busy.current = true;
68
+ setState((s) => ({ ...s, loading: true, error: null }));
69
+ read(search.current, after).then((page) => {
70
+ if (gen !== generation.current)
71
+ return;
72
+ busy.current = false;
73
+ setState((s) => ({
74
+ rows: after ? (0, chipSelect_logic_1.merge)(s.rows, page.items) : (0, chipSelect_logic_1.merge)([], page.items),
75
+ next: page.next ?? null,
76
+ loading: false,
77
+ error: null,
78
+ }));
79
+ }, (err) => {
80
+ if (gen !== generation.current)
81
+ return;
82
+ busy.current = false;
83
+ setState((s) => ({
84
+ ...s,
85
+ loading: false,
86
+ error: err instanceof Error && err.message ? err.message : 'Could not load the list.',
87
+ }));
88
+ });
89
+ }, []);
90
+ const live = Boolean(load);
91
+ // A new search, or opening: start over after the debounce. The first page of
92
+ // an empty search is asked for at once — there is nothing typed to wait for.
93
+ (0, react_1.useEffect)(() => {
94
+ if (!on || !live)
95
+ return;
96
+ const gen = ++generation.current;
97
+ busy.current = false;
98
+ const wait = q.trim() ? delay : 0;
99
+ const timer = setTimeout(() => fetch(null, gen), wait);
100
+ return () => clearTimeout(timer);
101
+ }, [on, live, q, delay, fetch]);
102
+ const more = (0, react_1.useCallback)(() => {
103
+ if (busy.current || !state.next)
104
+ return;
105
+ fetch(state.next, generation.current);
106
+ }, [fetch, state.next]);
107
+ const retry = (0, react_1.useCallback)(() => fetch(null, ++generation.current), [fetch]);
108
+ return { ...state, more, retry };
109
+ }
110
+ function ChipSelect({ label, icon, name, chosen = null, onChange, load, items, more: hasMore = false, onMore, loading: loadingProp = false, error: errorProp = null, delay = 200, placeholder = 'Search…', empty = 'No matches.', footer, cta, action, placement = 'top-start', width = 320, height = 276, disabled = false, quiet = false, open: openProp, onOpenChange, }) {
111
+ const [own, setOwn] = (0, react_1.useState)(false);
112
+ const open = openProp ?? own;
113
+ const setOpen = (0, react_1.useCallback)((next) => {
114
+ if (openProp === undefined)
115
+ setOwn(next);
116
+ onOpenChange?.(next);
117
+ }, [openProp, onOpenChange]);
118
+ const [q, setQ] = (0, react_1.useState)('');
119
+ const [at, setAt] = (0, react_1.useState)(-1);
120
+ const chip = (0, react_1.useRef)(null);
121
+ const field = (0, react_1.useRef)(null);
122
+ const list = (0, react_1.useRef)(null);
123
+ const id = (0, react_1.useId)();
124
+ const listId = `${id}-list`;
125
+ const hintId = `${id}-hint`;
126
+ const optionId = (i) => `${id}-opt-${i}`;
127
+ const pages = usePages(load, q, delay, open);
128
+ // Sized once per open, from what is known then — see `frame`.
129
+ const [tall, setTall] = (0, react_1.useState)(height);
130
+ (0, react_1.useEffect)(() => {
131
+ if (open)
132
+ setTall((0, chipSelect_logic_1.frame)({ pending: Boolean(load) || loadingProp, count: (items?.length ?? 0) + (chosen ? 1 : 0), row: ROW_H, ceiling: height }));
133
+ // Only at open: a panel that resized while open would leave its placement.
134
+ // eslint-disable-next-line react-hooks/exhaustive-deps
135
+ }, [open]);
136
+ // What is drawn: the loader's rows as answered, or the given list narrowed
137
+ // here — then the chosen row pinned on top while the search could match it.
138
+ const rows = (0, react_1.useMemo)(() => {
139
+ const base = load ? pages.rows : (0, chipSelect_logic_1.narrow)(items ?? [], q);
140
+ return (0, chipSelect_logic_1.pin)(base, chosen, q);
141
+ }, [load, pages.rows, items, q, chosen]);
142
+ const next = load ? pages.next : hasMore ? 'more' : null;
143
+ const loading = load ? pages.loading : loadingProp;
144
+ const error = load ? pages.error : errorProp;
145
+ const askMore = load ? pages.more : () => onMore?.();
146
+ // Opening lands the cursor on the chosen row (pinned at 0) or the first one.
147
+ (0, react_1.useEffect)(() => {
148
+ if (open)
149
+ setAt(rows.length ? 0 : -1);
150
+ // Only on open and on a new search — never as rows page in under the cursor.
151
+ // eslint-disable-next-line react-hooks/exhaustive-deps
152
+ }, [open, q]);
153
+ // A loader's first page arrives after the open: the cursor lands on its first
154
+ // row then, or Enter would have nothing under it.
155
+ (0, react_1.useEffect)(() => {
156
+ if (open && at < 0 && rows.length)
157
+ setAt(0);
158
+ }, [open, at, rows.length]);
159
+ // A closed panel forgets its search, so the next open starts from the top.
160
+ (0, react_1.useEffect)(() => {
161
+ if (!open)
162
+ setQ('');
163
+ }, [open]);
164
+ // Keep the row under the cursor in view as it moves.
165
+ (0, react_1.useEffect)(() => {
166
+ if (!open || at < 0)
167
+ return;
168
+ const el = typeof document !== 'undefined' ? document.getElementById(optionId(at)) : null;
169
+ el?.scrollIntoView?.({ block: 'nearest' });
170
+ // eslint-disable-next-line react-hooks/exhaustive-deps
171
+ }, [at, open]);
172
+ const close = (0, react_1.useCallback)(() => {
173
+ setOpen(false);
174
+ // Back to the chip the panel came from, so the keyboard is where it was.
175
+ queueMicrotask(() => chip.current?.focus?.());
176
+ }, [setOpen]);
177
+ const choose = (0, react_1.useCallback)((item) => {
178
+ if (!item || item.disabled)
179
+ return;
180
+ onChange(item);
181
+ close();
182
+ }, [onChange, close]);
183
+ const onField = (e) => {
184
+ const key = e?.key;
185
+ if (MOVES.has(key)) {
186
+ // Home and End belong to the caret while there is text to move through.
187
+ if ((key === 'Home' || key === 'End') && q)
188
+ return;
189
+ e.preventDefault?.();
190
+ const to = (0, chipSelect_logic_1.move)(key, at, rows.length, (i) => Boolean(rows[i]?.disabled));
191
+ setAt(to);
192
+ if ((0, chipSelect_logic_1.wants)({ next, loading, at: to, count: rows.length }))
193
+ askMore();
194
+ return;
195
+ }
196
+ if (key === 'Enter') {
197
+ e.preventDefault?.();
198
+ const item = rows[at];
199
+ if (!item)
200
+ return;
201
+ if ((e.ctrlKey || e.metaKey) && action && (!action.when || action.when(item))) {
202
+ action.onPress(item);
203
+ close();
204
+ return;
205
+ }
206
+ choose(item);
207
+ return;
208
+ }
209
+ if (key === 'Escape') {
210
+ e.preventDefault?.();
211
+ close();
212
+ }
213
+ };
214
+ const onChip = (e) => {
215
+ if (disabled)
216
+ return;
217
+ const key = e?.key;
218
+ if (key === 'Enter' || key === ' ' || key === 'ArrowUp' || key === 'ArrowDown') {
219
+ e.preventDefault?.();
220
+ setOpen(!open || key === 'ArrowUp' || key === 'ArrowDown');
221
+ return;
222
+ }
223
+ // Typing on the chip is typing into the search: open and carry the key.
224
+ const ch = typed(e);
225
+ if (ch && !open) {
226
+ e.preventDefault?.();
227
+ setOpen(true);
228
+ setQ(ch);
229
+ }
230
+ };
231
+ const onScroll = (e) => {
232
+ const n = e?.nativeEvent;
233
+ const top = n?.contentOffset?.y ?? 0;
234
+ const box = n?.layoutMeasurement?.height ?? 0;
235
+ const content = n?.contentSize?.height ?? 0;
236
+ if (next && !loading && (0, chipSelect_logic_1.near)(top, box, content))
237
+ askMore();
238
+ };
239
+ const shown = (item) => Boolean(action && (!action.when || action.when(item)));
240
+ return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: open, onOpenChange: (v) => (v ? setOpen(true) : close()), placement: placement, allowFlip: true, stayInFrame: true, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, disabled: disabled, children: (0, jsx_runtime_1.jsxs)(gui_1.XStack, { ref: chip, ...(0, slot_1.slot)('chip-select'), ...(0, slot_1.tip)(name), role: "button", tabIndex: disabled ? -1 : 0, "aria-label": `${name}: ${label}`, "aria-haspopup": "listbox", "aria-expanded": open, "aria-controls": open ? listId : undefined, "aria-disabled": disabled || undefined, height: CHIP_H, px: "$2", gap: "$1.5", items: "center", shrink: 0, rounded: "$2", borderWidth: quiet ? 0 : 1, borderColor: "$borderColor", bg: quiet ? 'transparent' : '$raised', cursor: disabled ? 'default' : 'pointer', opacity: disabled ? 0.5 : 1, hoverStyle: disabled ? undefined : quiet ? { bg: '$hover' } : { borderColor: '$rim' }, pressStyle: disabled ? undefined : { bg: '$hover' }, focusVisibleStyle: RING,
241
+ // The chip is a small target by design; the hit area is not.
242
+ hitSlop: { top: 10, bottom: 10, left: 4, right: 4 }, onKeyDown: onChip, children: [icon ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { shrink: 0, items: "center", "aria-hidden": true, children: icon })) : null, (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: quiet ? '$quiet' : '$ink', numberOfLines: 1, maxW: 200, children: label })] }) }), (0, jsx_runtime_1.jsxs)(popover_1.PopoverContent, { ...(0, slot_1.slot)('chip-select-panel'), sideOffset: 8, width: width, maxW: "92vw", p: "$1", gap: "$0",
243
+ // Gui's popover content centres its children; a list and a field span
244
+ // the panel.
245
+ items: "stretch", bg: "$hover", borderColor: "$rim", rounded: "$3", elevation: "$4", trapFocus: true, onOpenAutoFocus: (e) => {
246
+ // The search field, not the first focusable thing in the panel — which
247
+ // would be a footer link.
248
+ e.preventDefault();
249
+ field.current?.focus();
250
+ }, onCloseAutoFocus: (e) => {
251
+ e.preventDefault();
252
+ chip.current?.focus?.();
253
+ }, children: [cta ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('chip-select-cta'), px: "$2", py: "$2", children: cta })) : null, (0, jsx_runtime_1.jsxs)(gui_1.ScrollView, { ref: list, height: tall, showsVerticalScrollIndicator: true, scrollEventThrottle: 64, onScroll: onScroll, children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('chip-select-list'), id: listId, role: "listbox", "aria-label": name, gap: "$0", children: rows.map((item, i) => {
254
+ const on = i === at;
255
+ const picked = chosen?.id === item.id;
256
+ return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-option'), id: optionId(i), role: "option", "aria-selected": picked, "aria-disabled": item.disabled || undefined, "aria-describedby": action && shown(item) ? hintId : undefined, height: ROW_H, px: "$2", gap: "$2", items: "center", rounded: "$2", cursor: item.disabled ? 'default' : 'pointer', opacity: item.disabled ? 0.5 : 1, bg: on ? '$raised' : 'transparent', onHoverIn: () => setAt(i), onPress: () => choose(item), children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$ink", numberOfLines: 1, flex: 1, minW: 0, children: item.label }), item.hint ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$soft", numberOfLines: 1, shrink: 0, children: item.hint })) : null, action && on && shown(item) ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-action'), "aria-hidden": true, px: "$1.5", height: 18, items: "center", rounded: "$2", borderWidth: 1, borderColor: "$rim", shrink: 0, hoverStyle: { bg: '$hover' }, onPress: (e) => {
257
+ e?.stopPropagation?.();
258
+ action.onPress(item);
259
+ close();
260
+ }, children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$quiet", children: action.label }) })) : null, picked ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 14, color: "$ink", "aria-hidden": true }) : null] }, item.id));
261
+ }) }), error ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-error'), px: "$2", py: "$1.5", gap: "$2", items: "center", role: "alert", children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$bad", flex: 1, children: error }), load ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$ink", textDecorationLine: "underline", cursor: "pointer", role: "button", tabIndex: 0, onPress: pages.retry, onKeyDown: (e) => {
262
+ if (e?.key !== 'Enter' && e?.key !== ' ')
263
+ return;
264
+ e.preventDefault?.();
265
+ pages.retry();
266
+ }, children: "Retry" })) : null] })) : loading ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-loading'), px: "$2", height: ROW_H, items: "center", role: "status", children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$soft", children: rows.length ? 'Loading more…' : 'Loading…' }) })) : rows.length === 0 ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-empty'), px: "$2", py: "$1.5", items: "center", role: "status", children: typeof empty === 'string' ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$soft", children: empty })) : (empty) })) : null] }), action ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { id: hintId, position: "absolute", width: 1, height: 1, overflow: "hidden", opacity: 0, children: `Ctrl+Enter: ${action.label}` })) : null, footer ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('chip-select-footer'), mx: -4, mt: "$1", px: "$3", py: "$2", gap: "$0.5", borderTopWidth: 1, borderColor: "$borderColor", children: footer })) : null, (0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('chip-select-search'), mt: "$1", height: 26, px: "$2", gap: "$1.5", items: "center", rounded: "$2", borderWidth: 1, borderColor: "$rim", bg: "$background", focusWithinStyle: { borderColor: '$outlineColor' }, children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.Search, { size: 12, color: "$soft", "aria-hidden": true }), (0, jsx_runtime_1.jsx)(gui_1.Input, { ref: field, ...(0, slot_1.slot)('chip-select-input'), unstyled: true, flex: 1, minW: 0, height: 24, p: 0, borderWidth: 0, bg: "transparent", fontSize: "$2", color: "$ink", placeholderTextColor: "$soft", placeholder: placeholder, value: q, onChangeText: setQ, role: "combobox", "aria-label": placeholder, "aria-expanded": open, "aria-controls": listId, "aria-autocomplete": "list", "aria-activedescendant": at >= 0 && rows[at] ? optionId(at) : undefined, autoComplete: "off", spellCheck: false, onKeyDown: onField })] })] })] }));
267
+ }
@@ -0,0 +1,71 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type ChipItem, type ChipLoad } from './chipSelect.logic.js';
3
+ export type { ChipItem, ChipLoad, ChipPage } from './chipSelect.logic.js';
4
+ /** Where the panel prefers to open. It flips when that side has no room. */
5
+ export type ChipPlacement = 'top-start' | 'top' | 'top-end' | 'bottom-start' | 'bottom' | 'bottom-end';
6
+ /** A secondary action on a row — "Add to project". See `ChipSelectProps.action`. */
7
+ export interface ChipAction<T extends ChipItem> {
8
+ label: string;
9
+ onPress: (item: T) => void;
10
+ /** Rows the action applies to. Absent, every row. */
11
+ when?: (item: T) => boolean;
12
+ }
13
+ export interface ChipSelectProps<T extends ChipItem> {
14
+ /** What the chip says — the current choice, short. */
15
+ label: string;
16
+ /** Drawn before the label. */
17
+ icon?: ReactNode;
18
+ /** What the chip chooses ("Repository"): its accessible name is `<name>: <label>`. */
19
+ name: string;
20
+ /** The chosen item, pinned first with a check. */
21
+ chosen?: T | null;
22
+ onChange: (item: T) => void;
23
+ /** Pages of rows. Takes precedence over `items`. */
24
+ load?: ChipLoad<T>;
25
+ /** The whole list, searched here. */
26
+ items?: readonly T[];
27
+ /** With `items`: there are more rows than these. */
28
+ more?: boolean;
29
+ /** With `items`: the reader reached the end — fetch and grow `items`. */
30
+ onMore?: () => void;
31
+ /** With `items`: a fetch is in flight. */
32
+ loading?: boolean;
33
+ /** With `items`: the last fetch failed, in a sentence. */
34
+ error?: string | null;
35
+ /** Search debounce, ms. */
36
+ delay?: number;
37
+ /** The search field's placeholder. */
38
+ placeholder?: string;
39
+ /** No rows match. */
40
+ empty?: ReactNode;
41
+ /** Under the list, above the search — what is missing and why. */
42
+ footer?: ReactNode;
43
+ /** Above the list — a call to action that replaces a list that cannot load. */
44
+ cta?: ReactNode;
45
+ /**
46
+ * A second thing a row can do. Drawn on the row under the cursor or the
47
+ * pointer; the pointer presses it, and the keyboard runs it with Ctrl/⌘+Enter
48
+ * on the row under the cursor. It is a declared action rather than a slot of
49
+ * arbitrary content on purpose: a listbox option may not CONTAIN a control
50
+ * (axe `nested-interactive`), so the row keeps its option semantics and the
51
+ * action rides on it.
52
+ */
53
+ action?: ChipAction<T>;
54
+ placement?: ChipPlacement;
55
+ /** Panel width, px. */
56
+ width?: number;
57
+ /** The list's ceiling, px; past it the list scrolls. */
58
+ height?: number;
59
+ disabled?: boolean;
60
+ /**
61
+ * The plain look: no fill and no hairline, the label in the muted ink — for a
62
+ * choice that sits in a row of words (a composer's model and effort) rather
63
+ * than in a row of chips. Same panel, same keyboard.
64
+ */
65
+ quiet?: boolean;
66
+ /** Open state, when the host owns it. */
67
+ open?: boolean;
68
+ onOpenChange?: (open: boolean) => void;
69
+ }
70
+ export declare function ChipSelect<T extends ChipItem>({ label, icon, name, chosen, onChange, load, items, more: hasMore, onMore, loading: loadingProp, error: errorProp, delay, placeholder, empty, footer, cta, action, placement, width, height, disabled, quiet, open: openProp, onOpenChange, }: ChipSelectProps<T>): import("react").JSX.Element;
71
+ //# sourceMappingURL=ChipSelect.d.ts.map