@agent-native/toolkit 0.8.3 → 0.9.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.
- package/README.md +42 -3
- package/agent-native.eject.json +33 -0
- package/dist/chat-history/ChatHistoryRail.d.ts +19 -0
- package/dist/chat-history/ChatHistoryRail.d.ts.map +1 -0
- package/dist/chat-history/ChatHistoryRail.js +22 -0
- package/dist/chat-history/ChatHistoryRail.js.map +1 -0
- package/dist/chat-history/ChatHistoryRail.spec.d.ts +2 -0
- package/dist/chat-history/ChatHistoryRail.spec.d.ts.map +1 -0
- package/dist/chat-history/ChatHistoryRail.spec.js +81 -0
- package/dist/chat-history/ChatHistoryRail.spec.js.map +1 -0
- package/dist/chat-history/index.d.ts +1 -0
- package/dist/chat-history/index.d.ts.map +1 -1
- package/dist/chat-history/index.js +1 -0
- package/dist/chat-history/index.js.map +1 -1
- package/dist/chat-history.css +59 -0
- package/dist/composer/RealtimeVoiceMode.d.ts +5 -1
- package/dist/composer/RealtimeVoiceMode.d.ts.map +1 -1
- package/dist/composer/RealtimeVoiceMode.js +27 -8
- package/dist/composer/RealtimeVoiceMode.js.map +1 -1
- package/dist/composer/RealtimeVoiceMode.spec.js +51 -11
- package/dist/composer/RealtimeVoiceMode.spec.js.map +1 -1
- package/dist/composer/VoiceButton.d.ts +2 -0
- package/dist/composer/VoiceButton.d.ts.map +1 -1
- package/dist/composer/VoiceButton.js +33 -1
- package/dist/composer/VoiceButton.js.map +1 -1
- package/dist/composer/VoiceButton.spec.js +9 -1
- package/dist/composer/VoiceButton.spec.js.map +1 -1
- package/dist/composer/realtime-voice-audio-level.d.ts.map +1 -1
- package/dist/composer/realtime-voice-audio-level.js +2 -1
- package/dist/composer/realtime-voice-audio-level.js.map +1 -1
- package/dist/composer/realtime-voice-audio-level.spec.js +7 -0
- package/dist/composer/realtime-voice-audio-level.spec.js.map +1 -1
- package/dist/composer/useRealtimeVoiceMode.d.ts.map +1 -1
- package/dist/composer/useRealtimeVoiceMode.js +4 -4
- package/dist/composer/useRealtimeVoiceMode.js.map +1 -1
- package/dist/dashboard/DataTable.d.ts +20 -0
- package/dist/dashboard/DataTable.d.ts.map +1 -0
- package/dist/dashboard/DataTable.js +87 -0
- package/dist/dashboard/DataTable.js.map +1 -0
- package/dist/dashboard/DateRangePicker.d.ts +15 -0
- package/dist/dashboard/DateRangePicker.d.ts.map +1 -0
- package/dist/dashboard/DateRangePicker.js +15 -0
- package/dist/dashboard/DateRangePicker.js.map +1 -0
- package/dist/dashboard/GenericChartPanel.d.ts +57 -0
- package/dist/dashboard/GenericChartPanel.d.ts.map +1 -0
- package/dist/dashboard/GenericChartPanel.js +119 -0
- package/dist/dashboard/GenericChartPanel.js.map +1 -0
- package/dist/dashboard/GenericChartPanel.spec.d.ts +2 -0
- package/dist/dashboard/GenericChartPanel.spec.d.ts.map +1 -0
- package/dist/dashboard/GenericChartPanel.spec.js +41 -0
- package/dist/dashboard/GenericChartPanel.spec.js.map +1 -0
- package/dist/dashboard/MetricCard.d.ts +14 -0
- package/dist/dashboard/MetricCard.d.ts.map +1 -0
- package/dist/dashboard/MetricCard.js +10 -0
- package/dist/dashboard/MetricCard.js.map +1 -0
- package/dist/dashboard/StatsCard.d.ts +16 -0
- package/dist/dashboard/StatsCard.d.ts.map +1 -0
- package/dist/dashboard/StatsCard.js +8 -0
- package/dist/dashboard/StatsCard.js.map +1 -0
- package/dist/dashboard/dashboard-layout.d.ts +49 -0
- package/dist/dashboard/dashboard-layout.d.ts.map +1 -0
- package/dist/dashboard/dashboard-layout.js +231 -0
- package/dist/dashboard/dashboard-layout.js.map +1 -0
- package/dist/dashboard/dashboard-layout.spec.d.ts +2 -0
- package/dist/dashboard/dashboard-layout.spec.d.ts.map +1 -0
- package/dist/dashboard/dashboard-layout.spec.js +52 -0
- package/dist/dashboard/dashboard-layout.spec.js.map +1 -0
- package/dist/dashboard/index.d.ts +7 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +7 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/styles.css +35 -0
- package/package.json +15 -1
- package/src/chat-history/ChatHistoryRail.spec.tsx +138 -0
- package/src/chat-history/ChatHistoryRail.tsx +89 -0
- package/src/chat-history/index.ts +5 -0
- package/src/chat-history.css +59 -0
- package/src/composer/RealtimeVoiceMode.spec.tsx +116 -11
- package/src/composer/RealtimeVoiceMode.tsx +106 -36
- package/src/composer/VoiceButton.spec.ts +17 -1
- package/src/composer/VoiceButton.tsx +49 -0
- package/src/composer/realtime-voice-audio-level.spec.ts +15 -0
- package/src/composer/realtime-voice-audio-level.ts +2 -1
- package/src/composer/useRealtimeVoiceMode.tsx +5 -3
- package/src/dashboard/DataTable.tsx +273 -0
- package/src/dashboard/DateRangePicker.tsx +57 -0
- package/src/dashboard/GenericChartPanel.spec.tsx +53 -0
- package/src/dashboard/GenericChartPanel.tsx +461 -0
- package/src/dashboard/MetricCard.tsx +54 -0
- package/src/dashboard/StatsCard.tsx +49 -0
- package/src/dashboard/dashboard-layout.spec.ts +79 -0
- package/src/dashboard/dashboard-layout.ts +329 -0
- package/src/dashboard/index.ts +6 -0
- package/src/index.ts +1 -0
- package/src/styles.css +35 -0
package/README.md
CHANGED
|
@@ -25,9 +25,20 @@ and docs. Dispatch is a separate product rather than a Toolkit module.
|
|
|
25
25
|
|
|
26
26
|
```tsx
|
|
27
27
|
import { ToolkitProvider } from "@agent-native/toolkit/provider";
|
|
28
|
-
import {
|
|
28
|
+
import {
|
|
29
|
+
ChatHistoryList,
|
|
30
|
+
ChatHistoryRail,
|
|
31
|
+
} from "@agent-native/toolkit/chat-history";
|
|
29
32
|
import { PresenceBar } from "@agent-native/toolkit/collab-ui";
|
|
30
33
|
import { ContextMeterView } from "@agent-native/toolkit/context-ui";
|
|
34
|
+
import {
|
|
35
|
+
DataTable,
|
|
36
|
+
DateRangePicker,
|
|
37
|
+
GenericChartPanel,
|
|
38
|
+
MetricCard,
|
|
39
|
+
StatsCard,
|
|
40
|
+
buildDashboardPanelGroups,
|
|
41
|
+
} from "@agent-native/toolkit/dashboard";
|
|
31
42
|
import { VisualTweakControl } from "@agent-native/toolkit/design-tweaks";
|
|
32
43
|
import { SharedRichEditor } from "@agent-native/toolkit/editor";
|
|
33
44
|
import { VisibilityBadge } from "@agent-native/toolkit/sharing";
|
|
@@ -39,12 +50,40 @@ import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
|
|
|
39
50
|
|
|
40
51
|
Import `@agent-native/toolkit/styles.css` after Tailwind to include Toolkit's
|
|
41
52
|
source scanning. If an app renders `SharedRichEditor`, also import
|
|
42
|
-
`@agent-native/toolkit/editor.css`. If an app renders `ChatHistoryList
|
|
43
|
-
import `@agent-native/toolkit/chat-history.css`.
|
|
53
|
+
`@agent-native/toolkit/editor.css`. If an app renders `ChatHistoryList` or
|
|
54
|
+
`ChatHistoryRail`, also import `@agent-native/toolkit/chat-history.css`.
|
|
55
|
+
|
|
56
|
+
Use `ChatHistoryRail` for app sidebars. It shows five recent chats by default,
|
|
57
|
+
progressively discloses up to fifteen, and keeps the app-provided New chat
|
|
58
|
+
action in a footer row with the ellipsis disclosure on its right. The app
|
|
59
|
+
continues to own thread persistence, sorting, routing, and mutations through
|
|
60
|
+
Core.
|
|
44
61
|
|
|
45
62
|
Inside template apps, prefer local adapters such as `@/components/ui/button` so
|
|
46
63
|
apps can replace their primitives without changing every callsite.
|
|
47
64
|
|
|
65
|
+
## Dashboard kit
|
|
66
|
+
|
|
67
|
+
`@agent-native/toolkit/dashboard` is an ejectable, presentation-only dashboard
|
|
68
|
+
kit. It includes metric and stats cards, tables, a date-range picker, panel
|
|
69
|
+
ordering and layout helpers, and `GenericChartPanel`. Supply rows, schema, and
|
|
70
|
+
callbacks through app-owned action-backed adapters; the kit never fetches data,
|
|
71
|
+
stores dashboard state, resolves credentials, or imports Core runtime APIs.
|
|
72
|
+
|
|
73
|
+
Inspect or take ownership of the complete unit with:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
agent-native eject inspect toolkit/dashboard
|
|
77
|
+
agent-native eject toolkit/dashboard --app <app> --apply
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
For durable dashboards, use `@agent-native/core/dashboard-storage` in the app's
|
|
81
|
+
server layer. Instantiate its schema and access-scoped store per app, rather
|
|
82
|
+
than sharing dashboard rows between apps. Resolve panel data with a
|
|
83
|
+
`PanelSourceResolver`; the built-in `program` resolver runs an app-owned data
|
|
84
|
+
program and is the zero-wiring default. Provider-specific resolvers stay in the
|
|
85
|
+
app that owns their credentials and query policy.
|
|
86
|
+
|
|
48
87
|
## Customize Or Take Ownership
|
|
49
88
|
|
|
50
89
|
Use public props, slots, callbacks, stable classes, and local adapters first.
|
package/agent-native.eject.json
CHANGED
|
@@ -133,6 +133,7 @@
|
|
|
133
133
|
"@tabler/icons-react",
|
|
134
134
|
"clsx",
|
|
135
135
|
"react",
|
|
136
|
+
"recharts",
|
|
136
137
|
"tailwind-merge"
|
|
137
138
|
],
|
|
138
139
|
"verification": ["pnpm typecheck"]
|
|
@@ -206,6 +207,38 @@
|
|
|
206
207
|
],
|
|
207
208
|
"verification": ["pnpm typecheck"]
|
|
208
209
|
},
|
|
210
|
+
{
|
|
211
|
+
"id": "toolkit/dashboard",
|
|
212
|
+
"label": "Dashboard kit",
|
|
213
|
+
"catalog": "toolkit-ui",
|
|
214
|
+
"catalogItems": ["dashboard"],
|
|
215
|
+
"entrypoints": ["./dashboard", "./dashboard/*"],
|
|
216
|
+
"strategy": "source-copy",
|
|
217
|
+
"sourceEntries": ["src/dashboard"],
|
|
218
|
+
"targetRoot": "app/components/agent-native/toolkit",
|
|
219
|
+
"dependencies": [
|
|
220
|
+
"@radix-ui/react-select",
|
|
221
|
+
"@radix-ui/react-slot",
|
|
222
|
+
"@tabler/icons-react",
|
|
223
|
+
"class-variance-authority",
|
|
224
|
+
"clsx",
|
|
225
|
+
"react",
|
|
226
|
+
"recharts",
|
|
227
|
+
"tailwind-merge"
|
|
228
|
+
],
|
|
229
|
+
"protectedImports": [
|
|
230
|
+
"@agent-native/toolkit/ui/button",
|
|
231
|
+
"@agent-native/toolkit/ui/card",
|
|
232
|
+
"@agent-native/toolkit/ui/select",
|
|
233
|
+
"@agent-native/toolkit/ui/skeleton",
|
|
234
|
+
"@agent-native/toolkit/ui/table",
|
|
235
|
+
"@agent-native/toolkit/utils"
|
|
236
|
+
],
|
|
237
|
+
"verification": [
|
|
238
|
+
"pnpm --filter @agent-native/toolkit typecheck",
|
|
239
|
+
"pnpm --filter @agent-native/toolkit test"
|
|
240
|
+
]
|
|
241
|
+
},
|
|
209
242
|
{
|
|
210
243
|
"id": "toolkit/editor",
|
|
211
244
|
"label": "Rich editor",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ChatHistoryItem, type ChatHistoryListProps } from "./ChatHistoryList.js";
|
|
2
|
+
export interface ChatHistoryRailLabels {
|
|
3
|
+
newChat: string;
|
|
4
|
+
showMore: string;
|
|
5
|
+
showLess: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ChatHistoryRailProps extends Omit<ChatHistoryListProps, "footer" | "items" | "sections" | "variant"> {
|
|
8
|
+
items: ChatHistoryItem[];
|
|
9
|
+
onNewChat: () => void;
|
|
10
|
+
railLabels: ChatHistoryRailLabels;
|
|
11
|
+
previewCount?: number;
|
|
12
|
+
expandedCount?: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Compact recent-chat rail for app sidebars. Hosts own thread persistence,
|
|
16
|
+
* sorting, routing, and mutations; the rail only owns progressive disclosure.
|
|
17
|
+
*/
|
|
18
|
+
export declare function ChatHistoryRail({ items, onNewChat, railLabels, previewCount, expandedCount, className, emptyLabel, ...listProps }: ChatHistoryRailProps): import("react").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=ChatHistoryRail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatHistoryRail.d.ts","sourceRoot":"","sources":["../../src/chat-history/ChatHistoryRail.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,oBAAoB,EACpB,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAC5C;IACC,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,qBAAqB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAgB,EAChB,aAAkB,EAClB,SAAS,EACT,UAAU,EACV,GAAG,SAAS,EACb,EAAE,oBAAoB,+BAiDtB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IconDots, IconPlus } from "@tabler/icons-react";
|
|
3
|
+
import { useEffect, useMemo, useState } from "react";
|
|
4
|
+
import { ChatHistoryList, } from "./ChatHistoryList.js";
|
|
5
|
+
/**
|
|
6
|
+
* Compact recent-chat rail for app sidebars. Hosts own thread persistence,
|
|
7
|
+
* sorting, routing, and mutations; the rail only owns progressive disclosure.
|
|
8
|
+
*/
|
|
9
|
+
export function ChatHistoryRail({ items, onNewChat, railLabels, previewCount = 5, expandedCount = 15, className, emptyLabel, ...listProps }) {
|
|
10
|
+
const [expanded, setExpanded] = useState(false);
|
|
11
|
+
const collapsedLimit = Math.max(1, previewCount);
|
|
12
|
+
const expandedLimit = Math.max(collapsedLimit, expandedCount);
|
|
13
|
+
const canExpand = items.length > collapsedLimit;
|
|
14
|
+
const visibleItems = useMemo(() => items.slice(0, expanded ? expandedLimit : collapsedLimit), [collapsedLimit, expanded, expandedLimit, items]);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (!canExpand)
|
|
17
|
+
setExpanded(false);
|
|
18
|
+
}, [canExpand]);
|
|
19
|
+
const footer = (_jsxs("div", { className: "an-chat-history-rail__footer", children: [_jsxs("button", { type: "button", className: "an-chat-history-rail__new-chat", onClick: onNewChat, children: [_jsx(IconPlus, { size: 13, strokeWidth: 1.8, "aria-hidden": "true" }), _jsx("span", { children: railLabels.newChat })] }), canExpand && (_jsx("button", { type: "button", className: "an-chat-history-rail__disclosure", onClick: () => setExpanded((current) => !current), "aria-expanded": expanded, "aria-label": expanded ? railLabels.showLess : railLabels.showMore, title: expanded ? railLabels.showLess : railLabels.showMore, children: _jsx(IconDots, { size: 14, strokeWidth: 1.8, "aria-hidden": "true" }) }))] }));
|
|
20
|
+
return (_jsx(ChatHistoryList, { ...listProps, items: visibleItems, footer: footer, emptyLabel: emptyLabel ?? null, variant: "rail", className: ["an-chat-history-rail", className].filter(Boolean).join(" ") }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ChatHistoryRail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatHistoryRail.js","sourceRoot":"","sources":["../../src/chat-history/ChatHistoryRail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EACL,eAAe,GAGhB,MAAM,sBAAsB,CAAC;AAmB9B;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAY,GAAG,CAAC,EAChB,aAAa,GAAG,EAAE,EAClB,SAAS,EACT,UAAU,EACV,GAAG,SAAS,EACS;IACrB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,EAC/D,CAAC,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,CACjD,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG,CACb,eAAK,SAAS,EAAC,8BAA8B,aAC3C,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gCAAgC,EAC1C,OAAO,EAAE,SAAS,aAElB,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,iBAAc,MAAM,GAAG,EAC3D,yBAAO,UAAU,CAAC,OAAO,GAAQ,IAC1B,EACR,SAAS,IAAI,CACZ,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,kCAAkC,EAC5C,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,mBAClC,QAAQ,gBACX,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAChE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,YAE3D,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,iBAAc,MAAM,GAAG,GACpD,CACV,IACG,CACP,CAAC;IAEF,OAAO,CACL,KAAC,eAAe,OACV,SAAS,EACb,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,IAAI,IAAI,EAC9B,OAAO,EAAC,MAAM,EACd,SAAS,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GACxE,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatHistoryRail.spec.d.ts","sourceRoot":"","sources":["../../src/chat-history/ChatHistoryRail.spec.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @vitest-environment happy-dom
|
|
3
|
+
import { act } from "react";
|
|
4
|
+
import { createRoot } from "react-dom/client";
|
|
5
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
6
|
+
import { ChatHistoryRail } from "./ChatHistoryRail.js";
|
|
7
|
+
const railLabels = {
|
|
8
|
+
newChat: "New chat",
|
|
9
|
+
showMore: "Show more chats",
|
|
10
|
+
showLess: "Show fewer chats",
|
|
11
|
+
};
|
|
12
|
+
function makeItems(count) {
|
|
13
|
+
return Array.from({ length: count }, (_, index) => ({
|
|
14
|
+
id: `thread-${index + 1}`,
|
|
15
|
+
title: `Chat ${index + 1}`,
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
describe("ChatHistoryRail", () => {
|
|
19
|
+
let container;
|
|
20
|
+
let root;
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
vi.stubGlobal("IS_REACT_ACT_ENVIRONMENT", true);
|
|
23
|
+
container = document.createElement("div");
|
|
24
|
+
document.body.appendChild(container);
|
|
25
|
+
root = createRoot(container);
|
|
26
|
+
});
|
|
27
|
+
afterEach(() => {
|
|
28
|
+
act(() => root.unmount());
|
|
29
|
+
container.remove();
|
|
30
|
+
vi.restoreAllMocks();
|
|
31
|
+
vi.unstubAllGlobals();
|
|
32
|
+
});
|
|
33
|
+
it("shows five recent chats before progressively disclosing up to fifteen", () => {
|
|
34
|
+
act(() => {
|
|
35
|
+
root.render(_jsx(ChatHistoryRail, { items: makeItems(20), onSelect: () => { }, onNewChat: () => { }, railLabels: railLabels }));
|
|
36
|
+
});
|
|
37
|
+
expect(container.querySelectorAll(".an-chat-history-row")).toHaveLength(5);
|
|
38
|
+
const disclosure = container.querySelector(".an-chat-history-rail__disclosure");
|
|
39
|
+
expect(disclosure?.getAttribute("aria-label")).toBe("Show more chats");
|
|
40
|
+
act(() => disclosure?.click());
|
|
41
|
+
expect(container.querySelectorAll(".an-chat-history-row")).toHaveLength(15);
|
|
42
|
+
expect(disclosure?.getAttribute("aria-label")).toBe("Show fewer chats");
|
|
43
|
+
act(() => disclosure?.click());
|
|
44
|
+
expect(container.querySelectorAll(".an-chat-history-row")).toHaveLength(5);
|
|
45
|
+
});
|
|
46
|
+
it("keeps the disclosure to the right of new chat and calls its handler", () => {
|
|
47
|
+
const onNewChat = vi.fn();
|
|
48
|
+
act(() => {
|
|
49
|
+
root.render(_jsx(ChatHistoryRail, { items: makeItems(6), onSelect: () => { }, onNewChat: onNewChat, railLabels: railLabels }));
|
|
50
|
+
});
|
|
51
|
+
const disclosure = container.querySelector(".an-chat-history-rail__disclosure");
|
|
52
|
+
const newChat = container.querySelector(".an-chat-history-rail__new-chat");
|
|
53
|
+
expect(newChat?.textContent).toBe("New chat");
|
|
54
|
+
expect(newChat?.nextElementSibling).toBe(disclosure);
|
|
55
|
+
expect(newChat?.parentElement?.lastElementChild).toBe(disclosure);
|
|
56
|
+
act(() => newChat?.click());
|
|
57
|
+
expect(onNewChat).toHaveBeenCalledOnce();
|
|
58
|
+
});
|
|
59
|
+
it("lets new chat fill the footer when there are no more chats", () => {
|
|
60
|
+
act(() => {
|
|
61
|
+
root.render(_jsx(ChatHistoryRail, { items: makeItems(3), onSelect: () => { }, onNewChat: () => { }, railLabels: railLabels }));
|
|
62
|
+
});
|
|
63
|
+
expect(container.querySelector(".an-chat-history-rail__disclosure")).toBeNull();
|
|
64
|
+
expect(container.querySelector(".an-chat-history-rail__new-chat")).not.toBeNull();
|
|
65
|
+
});
|
|
66
|
+
it("preserves list actions for progressively disclosed rows", () => {
|
|
67
|
+
const onSelect = vi.fn();
|
|
68
|
+
act(() => {
|
|
69
|
+
root.render(_jsx(ChatHistoryRail, { items: makeItems(6), onSelect: onSelect, onNewChat: () => { }, railLabels: railLabels }));
|
|
70
|
+
});
|
|
71
|
+
act(() => {
|
|
72
|
+
container
|
|
73
|
+
.querySelector(".an-chat-history-rail__disclosure")
|
|
74
|
+
?.click();
|
|
75
|
+
});
|
|
76
|
+
const rows = container.querySelectorAll(".an-chat-history-row__button");
|
|
77
|
+
act(() => rows[5]?.click());
|
|
78
|
+
expect(onSelect).toHaveBeenCalledWith("thread-6");
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=ChatHistoryRail.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatHistoryRail.spec.js","sourceRoot":"","sources":["../../src/chat-history/ChatHistoryRail.spec.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { ChatHistoryList, type ChatHistoryItem, type ChatHistoryListLabels, type ChatHistoryListProps, type ChatHistorySection, } from "./ChatHistoryList.js";
|
|
2
|
+
export { ChatHistoryRail, type ChatHistoryRailLabels, type ChatHistoryRailProps, } from "./ChatHistoryRail.js";
|
|
2
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat-history/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat-history/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat-history/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAKhB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat-history/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAKhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,GAGhB,MAAM,sBAAsB,CAAC"}
|
package/dist/chat-history.css
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
.an-chat-history {
|
|
17
17
|
display: flex;
|
|
18
18
|
flex-direction: column;
|
|
19
|
+
min-width: 0;
|
|
19
20
|
min-height: 0;
|
|
20
21
|
}
|
|
21
22
|
|
|
@@ -49,6 +50,7 @@
|
|
|
49
50
|
|
|
50
51
|
.an-chat-history__list {
|
|
51
52
|
overflow-y: auto;
|
|
53
|
+
min-width: 0;
|
|
52
54
|
padding: 4px 0;
|
|
53
55
|
max-height: 16rem;
|
|
54
56
|
}
|
|
@@ -59,6 +61,10 @@
|
|
|
59
61
|
min-height: 0;
|
|
60
62
|
}
|
|
61
63
|
|
|
64
|
+
.an-chat-history-rail .an-chat-history__state:empty {
|
|
65
|
+
display: none;
|
|
66
|
+
}
|
|
67
|
+
|
|
62
68
|
.an-chat-history__state {
|
|
63
69
|
padding: 16px 12px;
|
|
64
70
|
text-align: center;
|
|
@@ -72,6 +78,55 @@
|
|
|
72
78
|
color: hsl(38 92% 50%);
|
|
73
79
|
}
|
|
74
80
|
|
|
81
|
+
.an-chat-history-rail__footer {
|
|
82
|
+
display: flex;
|
|
83
|
+
align-items: center;
|
|
84
|
+
gap: 2px;
|
|
85
|
+
min-width: 0;
|
|
86
|
+
padding: 1px 4px 0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.an-chat-history-rail__disclosure,
|
|
90
|
+
.an-chat-history-rail__new-chat {
|
|
91
|
+
display: flex;
|
|
92
|
+
align-items: center;
|
|
93
|
+
border: 0;
|
|
94
|
+
border-radius: calc(var(--radius) - 2px);
|
|
95
|
+
background: transparent;
|
|
96
|
+
color: hsl(var(--muted-foreground) / 0.72);
|
|
97
|
+
cursor: pointer;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.an-chat-history-rail__disclosure:hover,
|
|
101
|
+
.an-chat-history-rail__new-chat:hover {
|
|
102
|
+
background: hsl(var(--accent) / 0.5);
|
|
103
|
+
color: hsl(var(--accent-foreground));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.an-chat-history-rail__disclosure:focus-visible,
|
|
107
|
+
.an-chat-history-rail__new-chat:focus-visible {
|
|
108
|
+
outline: 2px solid hsl(var(--ring));
|
|
109
|
+
outline-offset: -2px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.an-chat-history-rail__disclosure {
|
|
113
|
+
justify-content: center;
|
|
114
|
+
flex: 0 0 auto;
|
|
115
|
+
width: 30px;
|
|
116
|
+
min-height: 30px;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.an-chat-history-rail__new-chat {
|
|
120
|
+
flex: 1 1 auto;
|
|
121
|
+
gap: 8px;
|
|
122
|
+
min-width: 0;
|
|
123
|
+
min-height: 30px;
|
|
124
|
+
padding: 6px 10px;
|
|
125
|
+
font-size: 12px;
|
|
126
|
+
font-weight: 500;
|
|
127
|
+
text-align: start;
|
|
128
|
+
}
|
|
129
|
+
|
|
75
130
|
.an-chat-history__section-label {
|
|
76
131
|
padding: 6px 12px 4px;
|
|
77
132
|
font-size: 10px;
|
|
@@ -83,12 +138,14 @@
|
|
|
83
138
|
.an-chat-history--rail .an-chat-history__section {
|
|
84
139
|
display: grid;
|
|
85
140
|
gap: 1px;
|
|
141
|
+
min-width: 0;
|
|
86
142
|
}
|
|
87
143
|
|
|
88
144
|
/* ── Row ──────────────────────────────────────────────────────────────── */
|
|
89
145
|
|
|
90
146
|
.an-chat-history-row {
|
|
91
147
|
position: relative;
|
|
148
|
+
min-width: 0;
|
|
92
149
|
}
|
|
93
150
|
|
|
94
151
|
.an-chat-history--rail .an-chat-history-row {
|
|
@@ -99,6 +156,7 @@
|
|
|
99
156
|
.an-chat-history-row__button {
|
|
100
157
|
display: block;
|
|
101
158
|
width: 100%;
|
|
159
|
+
min-width: 0;
|
|
102
160
|
padding: 8px 12px;
|
|
103
161
|
border: 0;
|
|
104
162
|
background: transparent;
|
|
@@ -141,6 +199,7 @@
|
|
|
141
199
|
justify-content: space-between;
|
|
142
200
|
gap: 8px;
|
|
143
201
|
min-width: 0;
|
|
202
|
+
overflow: hidden;
|
|
144
203
|
}
|
|
145
204
|
|
|
146
205
|
.an-chat-history-row__title {
|
|
@@ -15,6 +15,7 @@ export interface RealtimeVoiceModeCopy {
|
|
|
15
15
|
startWithOpenAiKey: string;
|
|
16
16
|
startVoiceMode: string;
|
|
17
17
|
keepDictating: string;
|
|
18
|
+
rememberPreference: string;
|
|
18
19
|
showChat: string;
|
|
19
20
|
hideChat: string;
|
|
20
21
|
endVoiceMode: string;
|
|
@@ -51,6 +52,8 @@ export interface RealtimeVoiceModeEntryProps {
|
|
|
51
52
|
onOpenChange?: (open: boolean) => void;
|
|
52
53
|
onStartVoiceMode: () => void;
|
|
53
54
|
onKeepDictating: () => void;
|
|
55
|
+
preferredMode?: RealtimeVoiceInputMode | null;
|
|
56
|
+
onRememberPreference?: (mode: RealtimeVoiceInputMode) => void;
|
|
54
57
|
setupRequired?: boolean;
|
|
55
58
|
openAiConfigured?: boolean;
|
|
56
59
|
connectingBuilder?: boolean;
|
|
@@ -58,12 +61,13 @@ export interface RealtimeVoiceModeEntryProps {
|
|
|
58
61
|
onUseOpenAiKey?: () => void;
|
|
59
62
|
className?: string;
|
|
60
63
|
}
|
|
64
|
+
export type RealtimeVoiceInputMode = "realtime" | "dictation";
|
|
61
65
|
/**
|
|
62
66
|
* Composer mic entry point for apps that support a full-duplex voice session.
|
|
63
67
|
* The first click offers voice mode without silently changing the existing
|
|
64
68
|
* editable-dictation behavior.
|
|
65
69
|
*/
|
|
66
|
-
export declare function RealtimeVoiceModeEntry({ copy, disabled, providerStatusPending, open: controlledOpen, onOpenChange, onStartVoiceMode, onKeepDictating, setupRequired, openAiConfigured, connectingBuilder, onConnectBuilder, onUseOpenAiKey, className, }: RealtimeVoiceModeEntryProps): import("react").JSX.Element;
|
|
70
|
+
export declare function RealtimeVoiceModeEntry({ copy, disabled, providerStatusPending, open: controlledOpen, onOpenChange, onStartVoiceMode, onKeepDictating, preferredMode, onRememberPreference, setupRequired, openAiConfigured, connectingBuilder, onConnectBuilder, onUseOpenAiKey, className, }: RealtimeVoiceModeEntryProps): import("react").JSX.Element;
|
|
67
71
|
export interface RealtimeVoiceModeDockProps {
|
|
68
72
|
state: RealtimeVoiceModeState;
|
|
69
73
|
copy: RealtimeVoiceModeCopy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealtimeVoiceMode.d.ts","sourceRoot":"","sources":["../../src/composer/RealtimeVoiceMode.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RealtimeVoiceMode.d.ts","sourceRoot":"","sources":["../../src/composer/RealtimeVoiceMode.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Button } from "@agent-native/toolkit/ui/button";
|
|
3
|
+
import { Checkbox } from "@agent-native/toolkit/ui/checkbox";
|
|
3
4
|
import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, } from "@agent-native/toolkit/ui/select";
|
|
4
5
|
import { IconAlertTriangle, IconBrain, IconLanguage, IconLoader2, IconMicrophone, IconPhoneOff, IconSettings, IconVolume, } from "@tabler/icons-react";
|
|
5
6
|
import { useCallback, useEffect, useId, useRef, useState, useSyncExternalStore, } from "react";
|
|
@@ -12,11 +13,13 @@ import { createRealtimeVoiceAudioLevelStore, } from "./realtime-voice-audio-leve
|
|
|
12
13
|
* The first click offers voice mode without silently changing the existing
|
|
13
14
|
* editable-dictation behavior.
|
|
14
15
|
*/
|
|
15
|
-
export function RealtimeVoiceModeEntry({ copy, disabled, providerStatusPending = false, open: controlledOpen, onOpenChange, onStartVoiceMode, onKeepDictating, setupRequired = false, openAiConfigured = false, connectingBuilder = false, onConnectBuilder, onUseOpenAiKey, className, }) {
|
|
16
|
+
export function RealtimeVoiceModeEntry({ copy, disabled, providerStatusPending = false, open: controlledOpen, onOpenChange, onStartVoiceMode, onKeepDictating, preferredMode = null, onRememberPreference, setupRequired = false, openAiConfigured = false, connectingBuilder = false, onConnectBuilder, onUseOpenAiKey, className, }) {
|
|
16
17
|
const [uncontrolledOpen, setUncontrolledOpen] = useState(false);
|
|
17
18
|
const open = controlledOpen ?? uncontrolledOpen;
|
|
18
19
|
const titleId = useId();
|
|
19
20
|
const descriptionId = useId();
|
|
21
|
+
const rememberPreferenceId = useId();
|
|
22
|
+
const [rememberPreference, setRememberPreference] = useState(false);
|
|
20
23
|
const [collisionBoundary, setCollisionBoundary] = useState(null);
|
|
21
24
|
const setTriggerNode = useCallback((node) => {
|
|
22
25
|
const nextBoundary = node?.closest(".agent-panel-root") ?? null;
|
|
@@ -27,19 +30,35 @@ export function RealtimeVoiceModeEntry({ copy, disabled, providerStatusPending =
|
|
|
27
30
|
setUncontrolledOpen(nextOpen);
|
|
28
31
|
onOpenChange?.(nextOpen);
|
|
29
32
|
};
|
|
30
|
-
const choose = (callback) => {
|
|
33
|
+
const choose = (mode, callback) => {
|
|
31
34
|
setOpen(false);
|
|
35
|
+
if (rememberPreference)
|
|
36
|
+
onRememberPreference?.(mode);
|
|
32
37
|
callback();
|
|
33
38
|
};
|
|
34
|
-
return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { ref: setTriggerNode, type: "button", variant: "ghost", size: "icon", disabled: disabled, "aria-label": copy.entryButtonLabel, "aria-expanded": open,
|
|
39
|
+
return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { ref: setTriggerNode, type: "button", variant: "ghost", size: "icon", disabled: disabled, "aria-label": copy.entryButtonLabel, "aria-expanded": open, onClick: (event) => {
|
|
40
|
+
if (!preferredMode)
|
|
41
|
+
return;
|
|
42
|
+
if (preferredMode === "realtime" &&
|
|
43
|
+
(providerStatusPending || setupRequired)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
event.stopPropagation();
|
|
48
|
+
choose(preferredMode, preferredMode === "realtime"
|
|
49
|
+
? onStartVoiceMode
|
|
50
|
+
: onKeepDictating);
|
|
51
|
+
}, className: cn("size-7 shrink-0 text-muted-foreground hover:text-foreground", className), children: _jsx(IconMicrophone, {}) }) }) }), _jsx(TooltipContent, { children: copy.entryButtonLabel })] }), _jsx(PopoverContent, { side: "top", align: "end", sideOffset: 10, collisionBoundary: collisionBoundary ?? undefined, collisionPadding: 16, "data-collision-boundary": collisionBoundary ? "agent-panel" : "viewport", className: cn(setupRequired ? "p-4" : "p-3", setupRequired
|
|
35
52
|
? "w-[min(calc(100vw-2rem),var(--radix-popover-content-available-width,30rem),30rem)]"
|
|
36
|
-
: "w-[min(calc(100vw-2rem),var(--radix-popover-content-available-width,
|
|
37
|
-
|
|
38
|
-
|
|
53
|
+
: "w-[min(calc(100vw-2rem),var(--radix-popover-content-available-width,18rem),18rem)]"), "aria-labelledby": titleId, "aria-describedby": setupRequired ? descriptionId : undefined, children: _jsxs("div", { className: cn("grid", setupRequired ? "gap-3" : "gap-2.5"), children: [_jsxs("div", { className: "grid gap-1", children: [_jsx("h2", { id: titleId, className: "text-sm font-semibold text-foreground", children: setupRequired ? copy.setupTitle : copy.promptTitle }), setupRequired ? (_jsx("p", { id: descriptionId, className: "text-sm leading-relaxed text-muted-foreground", children: copy.setupDescription })) : null] }), _jsx("div", { className: cn("gap-2", setupRequired
|
|
54
|
+
? "flex flex-col-reverse sm:flex-row sm:flex-wrap sm:justify-end"
|
|
55
|
+
: "grid"), children: setupRequired ? (_jsxs(_Fragment, { children: [_jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => choose("dictation", onKeepDictating), children: copy.keepDictating }), _jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: () => choose("realtime", onUseOpenAiKey ?? onStartVoiceMode), children: openAiConfigured
|
|
56
|
+
? copy.startWithOpenAiKey
|
|
57
|
+
: copy.useOpenAiKey }), _jsxs(Button, { type: "button", size: "sm", className: "whitespace-nowrap", disabled: connectingBuilder, onClick: () => choose("realtime", onConnectBuilder ?? onStartVoiceMode), children: [connectingBuilder ? (_jsx(IconLoader2, { className: "animate-spin" })) : null, copy.connectBuilder] })] })) : (_jsxs(_Fragment, { children: [_jsxs(Button, { type: "button", size: "sm", className: "w-full", disabled: providerStatusPending, onClick: () => choose("realtime", onStartVoiceMode), children: [providerStatusPending ? (_jsx(IconLoader2, { className: "animate-spin" })) : (_jsx(IconMicrophone, {})), copy.startVoiceMode] }), _jsx(Button, { type: "button", variant: "outline", size: "sm", className: "w-full", onClick: () => choose("dictation", onKeepDictating), children: copy.keepDictating })] })) }), !setupRequired ? (_jsxs("label", { htmlFor: rememberPreferenceId, className: "flex cursor-pointer items-center gap-2 text-xs text-muted-foreground", children: [_jsx(Checkbox, { id: rememberPreferenceId, checked: rememberPreference, onCheckedChange: (checked) => setRememberPreference(checked === true) }), copy.rememberPreference] })) : null] }) })] }));
|
|
39
58
|
}
|
|
40
59
|
const SILENT_AUDIO_LEVELS = createRealtimeVoiceAudioLevelStore();
|
|
41
60
|
const WAVEFORM_WEIGHTS = [0.55, 0.82, 1, 0.82, 0.55];
|
|
42
|
-
const AUDIO_ACTIVITY_THRESHOLD = 0.
|
|
61
|
+
const AUDIO_ACTIVITY_THRESHOLD = 0.1;
|
|
43
62
|
function usePrefersReducedMotion() {
|
|
44
63
|
const [reduced, setReduced] = useState(false);
|
|
45
64
|
useEffect(() => {
|
|
@@ -240,6 +259,6 @@ export function RealtimeVoiceModeDock({ state, copy, chatVisible, audioLevels =
|
|
|
240
259
|
}, children: _jsx(VoiceInlineSettings, { settings: settings, disabled: ending, onSelectOpenChange: handleSelectOpenChange }) })] })) : null, _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { type: "button", variant: "ghost", size: "icon", disabled: ending, onClick: onEndVoiceMode, "aria-label": copy.endVoiceMode, className: "size-8 rounded-full text-destructive transition-transform duration-150 ease-out hover:bg-destructive/10 hover:text-destructive active:scale-[0.97]", children: _jsx(IconPhoneOff, {}) }) }), _jsx(TooltipContent, { children: copy.endVoiceMode })] })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { type: "button", size: "icon", disabled: ending, onClick: () => {
|
|
241
260
|
setControlsOpen(true);
|
|
242
261
|
onToggleChat();
|
|
243
|
-
}, "aria-label": toggleLabel, "aria-pressed": chatVisible, "data-realtime-voice-chat-toggle": "orb", "aria-describedby": statusId, "aria-controls": controlsId, "aria-expanded": controlsVisible, className: cn("relative isolate size-16 overflow-visible rounded-full ring-1 backdrop-blur-xl transition-transform duration-150 ease-out focus-visible:ring-offset-2 active:scale-[0.97] motion-reduce:transition-none", ORB_STATE_CLASSES[state]), children: _jsx("span", { className: "relative z-10 flex items-center justify-center", children: state === "connecting" ? (_jsx(VoiceConnectingIndicator, {})) : state !== "error" ? (_jsx(VoiceWaveform, { level: activityLevel, reducedMotion: reducedMotion, activity: activity })) : (_jsx(IconAlertTriangle, {})) }) }) }), _jsx(TooltipContent, { children: toggleLabel })] })] })] }));
|
|
262
|
+
}, "aria-label": toggleLabel, "aria-pressed": chatVisible, "data-realtime-voice-chat-toggle": "orb", "aria-describedby": statusId, "aria-controls": controlsId, "aria-expanded": controlsVisible, className: cn("relative isolate size-16 overflow-visible rounded-full ring-1 backdrop-blur-xl transition-transform duration-150 ease-out focus-visible:ring-offset-2 active:scale-[0.97] motion-reduce:transition-none", ORB_STATE_CLASSES[state], state === "working" && "agent-realtime-voice-working"), children: _jsx("span", { className: "relative z-10 flex items-center justify-center", children: state === "connecting" ? (_jsx(VoiceConnectingIndicator, {})) : state !== "error" ? (_jsx(VoiceWaveform, { level: activityLevel, reducedMotion: reducedMotion, activity: activity })) : (_jsx(IconAlertTriangle, {})) }) }) }), _jsx(TooltipContent, { children: toggleLabel })] })] })] }));
|
|
244
263
|
}
|
|
245
264
|
//# sourceMappingURL=RealtimeVoiceMode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealtimeVoiceMode.js","sourceRoot":"","sources":["../../src/composer/RealtimeVoiceMode.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RealtimeVoiceMode.js","sourceRoot":"","sources":["../../src/composer/RealtimeVoiceMode.tsx"],"names":[],"mappings":"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"}
|