@iloveagents/foundry-web-ui 0.29.0 → 0.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2,5 +2,5 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import { ChatHomeStartersSlot } from "./chat-slots.js";
|
|
3
3
|
/** One compact conversation home for workbench, focus and embedded chat panes. */
|
|
4
4
|
export function ChatEmptyState({ pageLabel, children, showHomeStarters = true, homeStarterPriority = 0, }) {
|
|
5
|
-
return (_jsxs("div", { className: "flex min-h-full flex-col justify-start gap-3 px-
|
|
5
|
+
return (_jsxs("div", { className: "flex min-h-full flex-col justify-start gap-3 px-4 pb-8 pt-0", children: [_jsx("h1", { className: "text-lg font-semibold tracking-tight", children: "What would you like to get done?" }), _jsx("p", { className: "max-w-sm text-sm leading-relaxed text-muted-foreground", children: pageLabel && !pageLabel.startsWith("/") ? (_jsxs(_Fragment, { children: ["Work with ", _jsx("span", { className: "font-medium text-foreground", children: pageLabel }), " or across your spaces: find information, create or edit content, and run actions."] })) : ("Find information, create or edit content, and run actions across your spaces.") }), _jsx("p", { className: "max-w-sm text-xs leading-relaxed text-muted-foreground", children: "Your conversation continues as you browse. Select text or a field to work more specifically." }), showHomeStarters && _jsx(ChatHomeStartersSlot, { priority: homeStarterPriority }), children] }));
|
|
6
6
|
}
|
|
@@ -69,7 +69,7 @@ export function ConversationHistory({ groups, workspaceId, onClose, showBack = t
|
|
|
69
69
|
}
|
|
70
70
|
setLoadingTo(null);
|
|
71
71
|
onClose();
|
|
72
|
-
}, "data-conversation-row": true, className: "flex min-w-0 flex-1 items-center gap-2 rounded-lg px-2 py-1.5 text-sm hover:bg-muted focus-visible:outline-2 focus-visible:outline-primary", children: [loadingTo === item.to ? (_jsx(Loader2, { className: "size-4 shrink-0 animate-spin text-muted-foreground", "aria-label": "Opening chat" })) : item.meta?.pinned ? (_jsx(Pin, { className: "size-4 shrink-0 text-muted-foreground", "aria-label": "Pinned chat" })) : (_jsx(MessageSquare, { className: "size-4 shrink-0 text-muted-foreground" })), _jsxs("span", { className: "min-w-0 flex-1", children: [_jsx("span", { className: "block truncate", children: item.label }), " ", _jsx("span", { className: "block truncate text-xs text-muted-foreground", children: !all &&
|
|
72
|
+
}, "data-conversation-row": true, className: "flex min-w-0 flex-1 items-center gap-2 rounded-lg px-2 py-1.5 text-sm hover:bg-muted focus-visible:outline-2 focus-visible:outline-primary", children: [loadingTo === item.to ? (_jsx(Loader2, { className: "size-4 shrink-0 animate-spin text-muted-foreground", "aria-label": "Opening chat" })) : item.meta?.pinned ? (_jsx(Pin, { className: "size-4 shrink-0 text-muted-foreground", "aria-label": "Pinned chat" })) : (_jsx(MessageSquare, { className: "size-4 shrink-0 text-muted-foreground" })), _jsxs("span", { className: "min-w-0 flex-1", children: [_jsx("span", { className: "block truncate", children: item.label }), " ", (!compact || rootContext) && (_jsx("span", { className: "block truncate text-xs text-muted-foreground", children: !all &&
|
|
73
73
|
typeof item.meta?.previewEntityName === "string" &&
|
|
74
74
|
item.meta.previewEntityName
|
|
75
75
|
? `Last at ${item.meta.previewEntityName}`
|
|
@@ -80,7 +80,7 @@ export function ConversationHistory({ groups, workspaceId, onClose, showBack = t
|
|
|
80
80
|
? `Last in ${item.meta.previewSpaceName}`
|
|
81
81
|
: item.meta?.previewContextUnavailable
|
|
82
82
|
? "Location unavailable"
|
|
83
|
-
: "Last outside a workspace" })] })] }), Boolean(item.actions?.length) && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": `Actions for ${item.label}`, className: "mr-1 inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 data-[state=open]:opacity-100 [@media(hover:none)]:opacity-100 hover:bg-background", children: _jsx(MoreHorizontal, { className: "size-4" }) }) }), _jsx(DropdownMenuContent, { align: "end", children: item.actions?.map((action) => (_jsxs(Fragment, { children: [action.separator && _jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuItem, { onSelect: () => {
|
|
83
|
+
: "Last outside a workspace" }))] })] }), Boolean(item.actions?.length) && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": `Actions for ${item.label}`, className: "mr-1 inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 data-[state=open]:opacity-100 [@media(hover:none)]:opacity-100 hover:bg-background", children: _jsx(MoreHorizontal, { className: "size-4" }) }) }), _jsx(DropdownMenuContent, { align: "end", children: item.actions?.map((action) => (_jsxs(Fragment, { children: [action.separator && _jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuItem, { onSelect: () => {
|
|
84
84
|
void action.handler();
|
|
85
85
|
}, className: action.destructive ? "text-destructive" : undefined, children: [_jsx(action.icon, { className: "mr-2 size-4" }), action.label] })] }, action.label))) })] }))] }, item.to)))] }, section.label))), items.length === 0 && !compact && (_jsx("p", { className: "py-3 text-sm text-muted-foreground", children: search ? "No matching chats" : "No chats yet" }))] }), compact && onViewAll && (_jsxs(Button, { variant: "ghost", size: "sm", onClick: onViewAll, className: "mt-1 h-9 w-fit gap-2 px-2 text-sm font-normal text-muted-foreground [@media(pointer:coarse)]:min-h-11", children: [_jsx(History, { className: "size-4", "aria-hidden": true }), "Conversation history"] }))] }));
|
|
86
86
|
}
|
|
@@ -231,10 +231,10 @@ export function WorkbenchStyles() {
|
|
|
231
231
|
}
|
|
232
232
|
.workbench-preview [data-conversation-row],
|
|
233
233
|
.workbench-preview [data-sidebar-surface]:not([data-sidebar-collapsed]) [data-nav-depth] {
|
|
234
|
-
min-height:
|
|
235
|
-
padding-top:
|
|
236
|
-
padding-bottom:
|
|
237
|
-
gap:
|
|
234
|
+
min-height: 32px;
|
|
235
|
+
padding-top: 4px;
|
|
236
|
+
padding-bottom: 4px;
|
|
237
|
+
gap: 8px;
|
|
238
238
|
border-radius: 8px;
|
|
239
239
|
}
|
|
240
240
|
.workbench-preview:not([data-workspace-navigation]) [data-sidebar-surface]:not([data-sidebar-collapsed]) [data-nav-depth="0"] {
|
|
@@ -252,8 +252,8 @@ export function WorkbenchStyles() {
|
|
|
252
252
|
}
|
|
253
253
|
.workbench-preview:not([data-workspace-navigation]) [data-sidebar-surface]:not([data-sidebar-collapsed]) div[data-nav-depth="0"] > button:not([data-nav-twisty]) {
|
|
254
254
|
padding-left: 12px;
|
|
255
|
-
min-height:
|
|
256
|
-
gap:
|
|
255
|
+
min-height: 32px;
|
|
256
|
+
gap: 8px;
|
|
257
257
|
}
|
|
258
258
|
[data-workspace-navigation] [data-nav-group-label="Spaces"] > :first-child,
|
|
259
259
|
.workbench-preview [data-sidebar-surface] nav > [data-nav-group-label]:first-child > div:has(> [data-nav-group-header]) {
|
|
@@ -285,6 +285,9 @@ export function WorkbenchStyles() {
|
|
|
285
285
|
.workbench-preview [data-sidebar-surface]:not([data-sidebar-collapsed]) [data-nav-depth] {
|
|
286
286
|
min-height: 44px;
|
|
287
287
|
}
|
|
288
|
+
.workbench-preview [data-sidebar-surface]:not([data-sidebar-collapsed]) div[data-nav-depth] > button:not([data-nav-twisty]) {
|
|
289
|
+
min-height: 44px;
|
|
290
|
+
}
|
|
288
291
|
}
|
|
289
292
|
` }));
|
|
290
293
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iloveagents/foundry-web-ui",
|
|
3
|
-
"version": "0.29.
|
|
3
|
+
"version": "0.29.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "React agent UI core for Foundry UI — chat, composer, AG-UI adapter for assistant-ui, tool cards, panels, sidebar, theme runtime, and UI stores.",
|
|
6
6
|
"keywords": [
|
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
"recharts": "^3.10.1",
|
|
81
81
|
"remark-gfm": "^4.0.0",
|
|
82
82
|
"tailwind-merge": "^3.5.0",
|
|
83
|
-
"@iloveagents/foundry-agent": "^0.29.
|
|
84
|
-
"@iloveagents/foundry-web-primitives": "^0.29.
|
|
83
|
+
"@iloveagents/foundry-agent": "^0.29.1",
|
|
84
|
+
"@iloveagents/foundry-web-primitives": "^0.29.1"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
87
|
"@ag-ui/client": "^0.0.52",
|