@townco/ui 0.1.6 → 0.1.8
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 +11 -11
- package/dist/core/hooks/index.d.ts +1 -0
- package/dist/core/hooks/index.js +1 -0
- package/dist/core/hooks/use-chat-input.d.ts +17 -17
- package/dist/core/hooks/use-chat-input.js +55 -64
- package/dist/core/hooks/use-chat-messages.d.ts +11 -11
- package/dist/core/hooks/use-chat-messages.js +114 -121
- package/dist/core/hooks/use-chat-session.d.ts +5 -5
- package/dist/core/hooks/use-chat-session.js +80 -78
- package/dist/core/hooks/use-media-query.d.ts +5 -5
- package/dist/core/hooks/use-media-query.js +42 -38
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/schemas/chat.d.ts +56 -83
- package/dist/core/schemas/chat.js +25 -27
- package/dist/core/store/chat-store.d.ts +22 -28
- package/dist/core/store/chat-store.js +50 -59
- package/dist/gui/components/Button.d.ts +7 -23
- package/dist/gui/components/Button.js +27 -40
- package/dist/gui/components/Card.d.ts +7 -26
- package/dist/gui/components/Card.js +8 -54
- package/dist/gui/components/ChatHeader.d.ts +31 -58
- package/dist/gui/components/ChatHeader.js +68 -171
- package/dist/gui/components/ChatInput.d.ts +54 -58
- package/dist/gui/components/ChatInput.js +207 -194
- package/dist/gui/components/ChatInputCommandMenu.d.ts +20 -0
- package/dist/gui/components/ChatInputCommandMenu.js +62 -0
- package/dist/gui/components/ChatLayout.d.ts +41 -71
- package/dist/gui/components/ChatLayout.js +87 -214
- package/dist/gui/components/ChatPanelTabContent.d.ts +9 -18
- package/dist/gui/components/ChatPanelTabContent.js +10 -88
- package/dist/gui/components/ChatSecondaryPanel.d.ts +11 -14
- package/dist/gui/components/ChatSecondaryPanel.js +38 -115
- package/dist/gui/components/ChatSidebar.d.ts +13 -26
- package/dist/gui/components/ChatSidebar.js +14 -48
- package/dist/gui/components/ChatStatus.d.ts +2 -4
- package/dist/gui/components/ChatStatus.js +34 -45
- package/dist/gui/components/Conversation.d.ts +14 -17
- package/dist/gui/components/Conversation.js +83 -143
- package/dist/gui/components/Dialog.d.ts +11 -57
- package/dist/gui/components/Dialog.js +8 -84
- package/dist/gui/components/DropdownMenu.d.ts +20 -101
- package/dist/gui/components/DropdownMenu.js +14 -161
- package/dist/gui/components/HeightTransition.d.ts +7 -12
- package/dist/gui/components/HeightTransition.js +77 -88
- package/dist/gui/components/Input.d.ts +6 -13
- package/dist/gui/components/Input.js +16 -27
- package/dist/gui/components/Label.d.ts +1 -7
- package/dist/gui/components/Label.js +2 -12
- package/dist/gui/components/MarkdownRenderer.d.ts +4 -6
- package/dist/gui/components/MarkdownRenderer.js +81 -178
- package/dist/gui/components/Message.d.ts +22 -25
- package/dist/gui/components/Message.js +97 -44
- package/dist/gui/components/MessageContent.d.ts +22 -29
- package/dist/gui/components/MessageContent.js +85 -157
- package/dist/gui/components/Reasoning.d.ts +24 -30
- package/dist/gui/components/Reasoning.js +60 -187
- package/dist/gui/components/Response.d.ts +9 -11
- package/dist/gui/components/Response.js +90 -229
- package/dist/gui/components/Select.d.ts +10 -69
- package/dist/gui/components/Select.js +12 -118
- package/dist/gui/components/Sonner.d.ts +1 -3
- package/dist/gui/components/Sonner.js +18 -29
- package/dist/gui/components/Tabs.d.ts +4 -24
- package/dist/gui/components/Tabs.js +4 -32
- package/dist/gui/components/Task.d.ts +24 -28
- package/dist/gui/components/Task.js +31 -164
- package/dist/gui/components/Textarea.d.ts +7 -15
- package/dist/gui/components/Textarea.js +46 -63
- package/dist/gui/components/ThinkingBlock.d.ts +10 -20
- package/dist/gui/components/ThinkingBlock.js +35 -134
- package/dist/gui/components/TodoList.d.ts +10 -12
- package/dist/gui/components/TodoList.js +7 -22
- package/dist/gui/components/TodoListItem.d.ts +6 -9
- package/dist/gui/components/TodoListItem.js +4 -18
- package/dist/gui/components/index.d.ts +16 -59
- package/dist/gui/components/index.js +18 -42
- package/dist/gui/lib/utils.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.test.js +1 -0
- package/dist/sdk/client/acp-client.d.ts +76 -88
- package/dist/sdk/client/acp-client.js +217 -215
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/schemas/agent.d.ts +64 -111
- package/dist/sdk/schemas/agent.js +24 -24
- package/dist/sdk/schemas/message.d.ts +147 -245
- package/dist/sdk/schemas/message.js +40 -40
- package/dist/sdk/schemas/session.d.ts +135 -219
- package/dist/sdk/schemas/session.js +27 -27
- package/dist/sdk/transports/http.d.ts +55 -55
- package/dist/sdk/transports/http.js +469 -472
- package/dist/sdk/transports/stdio.d.ts +20 -20
- package/dist/sdk/transports/stdio.js +286 -289
- package/dist/sdk/transports/types.d.ts +42 -42
- package/dist/sdk/transports/websocket.d.ts +12 -12
- package/dist/sdk/transports/websocket.js +46 -52
- package/dist/tui/components/ChatView.d.ts +2 -4
- package/dist/tui/components/ChatView.js +18 -51
- package/dist/tui/components/GameOfLife.js +35 -64
- package/dist/tui/components/InputBox.d.ts +11 -18
- package/dist/tui/components/InputBox.js +10 -70
- package/dist/tui/components/MessageList.d.ts +2 -4
- package/dist/tui/components/MessageList.js +10 -37
- package/dist/tui/components/MultiSelect.d.ts +10 -15
- package/dist/tui/components/MultiSelect.js +73 -116
- package/dist/tui/components/ReadlineInput.d.ts +6 -12
- package/dist/tui/components/ReadlineInput.js +237 -252
- package/dist/tui/components/SingleSelect.d.ts +9 -15
- package/dist/tui/components/SingleSelect.js +43 -84
- package/dist/tui/components/StatusBar.d.ts +6 -11
- package/dist/tui/components/StatusBar.js +67 -102
- package/dist/tui/index.d.ts +1 -1
- package/dist/tui/index.js +1 -1
- package/package.json +6 -4
- package/src/styles/global.css +2 -0
- package/dist/core/hooks/index.d.ts.map +0 -1
- package/dist/core/hooks/index.js.map +0 -1
- package/dist/core/hooks/use-chat-input.d.ts.map +0 -1
- package/dist/core/hooks/use-chat-input.js.map +0 -1
- package/dist/core/hooks/use-chat-messages.d.ts.map +0 -1
- package/dist/core/hooks/use-chat-messages.js.map +0 -1
- package/dist/core/hooks/use-chat-session.d.ts.map +0 -1
- package/dist/core/hooks/use-chat-session.js.map +0 -1
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js.map +0 -1
- package/dist/core/schemas/chat.d.ts.map +0 -1
- package/dist/core/schemas/chat.js.map +0 -1
- package/dist/core/schemas/index.d.ts.map +0 -1
- package/dist/core/schemas/index.js.map +0 -1
- package/dist/core/store/chat-store.d.ts.map +0 -1
- package/dist/core/store/chat-store.js.map +0 -1
- package/dist/gui/components/Button.d.ts.map +0 -1
- package/dist/gui/components/Button.js.map +0 -1
- package/dist/gui/components/Card.d.ts.map +0 -1
- package/dist/gui/components/Card.js.map +0 -1
- package/dist/gui/components/ChatInput.d.ts.map +0 -1
- package/dist/gui/components/ChatInput.js.map +0 -1
- package/dist/gui/components/ChatInterface.d.ts +0 -12
- package/dist/gui/components/ChatInterface.d.ts.map +0 -1
- package/dist/gui/components/ChatInterface.js +0 -204
- package/dist/gui/components/ChatInterface.js.map +0 -1
- package/dist/gui/components/ChatPreview.d.ts +0 -12
- package/dist/gui/components/ChatPreview.d.ts.map +0 -1
- package/dist/gui/components/ChatPreview.js +0 -214
- package/dist/gui/components/ChatPreview.js.map +0 -1
- package/dist/gui/components/ChatSecondaryPanel.d.ts.map +0 -1
- package/dist/gui/components/ChatSecondaryPanel.js.map +0 -1
- package/dist/gui/components/ChatStatus.d.ts.map +0 -1
- package/dist/gui/components/ChatStatus.js.map +0 -1
- package/dist/gui/components/ChatView.d.ts +0 -8
- package/dist/gui/components/ChatView.d.ts.map +0 -1
- package/dist/gui/components/ChatView.js +0 -42
- package/dist/gui/components/ChatView.js.map +0 -1
- package/dist/gui/components/ConfigPanel.d.ts +0 -20
- package/dist/gui/components/ConfigPanel.d.ts.map +0 -1
- package/dist/gui/components/ConfigPanel.js +0 -225
- package/dist/gui/components/ConfigPanel.js.map +0 -1
- package/dist/gui/components/Conversation.d.ts.map +0 -1
- package/dist/gui/components/Conversation.js.map +0 -1
- package/dist/gui/components/Dialog.d.ts.map +0 -1
- package/dist/gui/components/Dialog.js.map +0 -1
- package/dist/gui/components/HeightTransition.d.ts.map +0 -1
- package/dist/gui/components/HeightTransition.js.map +0 -1
- package/dist/gui/components/Input.d.ts.map +0 -1
- package/dist/gui/components/Input.js.map +0 -1
- package/dist/gui/components/InputBox.d.ts +0 -21
- package/dist/gui/components/InputBox.d.ts.map +0 -1
- package/dist/gui/components/InputBox.js +0 -90
- package/dist/gui/components/InputBox.js.map +0 -1
- package/dist/gui/components/Label.d.ts.map +0 -1
- package/dist/gui/components/Label.js.map +0 -1
- package/dist/gui/components/MarkdownRenderer.d.ts.map +0 -1
- package/dist/gui/components/MarkdownRenderer.js.map +0 -1
- package/dist/gui/components/Message.d.ts.map +0 -1
- package/dist/gui/components/Message.js.map +0 -1
- package/dist/gui/components/MessageContent.d.ts.map +0 -1
- package/dist/gui/components/MessageContent.js.map +0 -1
- package/dist/gui/components/MessageList.d.ts.map +0 -1
- package/dist/gui/components/MessageList.js.map +0 -1
- package/dist/gui/components/PlaygroundLayout.d.ts +0 -14
- package/dist/gui/components/PlaygroundLayout.d.ts.map +0 -1
- package/dist/gui/components/PlaygroundLayout.js +0 -49
- package/dist/gui/components/PlaygroundLayout.js.map +0 -1
- package/dist/gui/components/Reasoning.d.ts.map +0 -1
- package/dist/gui/components/Reasoning.js.map +0 -1
- package/dist/gui/components/Response.d.ts.map +0 -1
- package/dist/gui/components/Response.js.map +0 -1
- package/dist/gui/components/Select.d.ts.map +0 -1
- package/dist/gui/components/Select.js.map +0 -1
- package/dist/gui/components/StatusBar.d.ts +0 -12
- package/dist/gui/components/StatusBar.d.ts.map +0 -1
- package/dist/gui/components/StatusBar.js +0 -58
- package/dist/gui/components/StatusBar.js.map +0 -1
- package/dist/gui/components/Tabs.d.ts.map +0 -1
- package/dist/gui/components/Tabs.js.map +0 -1
- package/dist/gui/components/Task.d.ts.map +0 -1
- package/dist/gui/components/Task.js.map +0 -1
- package/dist/gui/components/Textarea.d.ts.map +0 -1
- package/dist/gui/components/Textarea.js.map +0 -1
- package/dist/gui/components/ThinkingBlock.d.ts.map +0 -1
- package/dist/gui/components/ThinkingBlock.js.map +0 -1
- package/dist/gui/components/TodoList.d.ts.map +0 -1
- package/dist/gui/components/TodoList.js.map +0 -1
- package/dist/gui/components/TodoListItem.d.ts.map +0 -1
- package/dist/gui/components/TodoListItem.js.map +0 -1
- package/dist/gui/components/index.d.ts.map +0 -1
- package/dist/gui/components/index.js.map +0 -1
- package/dist/gui/index.d.ts.map +0 -1
- package/dist/gui/index.js.map +0 -1
- package/dist/gui/lib/utils.d.ts.map +0 -1
- package/dist/gui/lib/utils.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/sdk/client/acp-client.d.ts.map +0 -1
- package/dist/sdk/client/acp-client.js.map +0 -1
- package/dist/sdk/client/index.d.ts.map +0 -1
- package/dist/sdk/client/index.js.map +0 -1
- package/dist/sdk/index.d.ts.map +0 -1
- package/dist/sdk/index.js.map +0 -1
- package/dist/sdk/schemas/agent.d.ts.map +0 -1
- package/dist/sdk/schemas/agent.js.map +0 -1
- package/dist/sdk/schemas/index.d.ts.map +0 -1
- package/dist/sdk/schemas/index.js.map +0 -1
- package/dist/sdk/schemas/message.d.ts.map +0 -1
- package/dist/sdk/schemas/message.js.map +0 -1
- package/dist/sdk/schemas/session.d.ts.map +0 -1
- package/dist/sdk/schemas/session.js.map +0 -1
- package/dist/sdk/transports/http.d.ts.map +0 -1
- package/dist/sdk/transports/http.js.map +0 -1
- package/dist/sdk/transports/index.d.ts.map +0 -1
- package/dist/sdk/transports/index.js.map +0 -1
- package/dist/sdk/transports/stdio.d.ts.map +0 -1
- package/dist/sdk/transports/stdio.js.map +0 -1
- package/dist/sdk/transports/types.d.ts.map +0 -1
- package/dist/sdk/transports/types.js.map +0 -1
- package/dist/sdk/transports/websocket.d.ts.map +0 -1
- package/dist/sdk/transports/websocket.js.map +0 -1
- package/dist/tui/components/ChatView.d.ts.map +0 -1
- package/dist/tui/components/ChatView.js.map +0 -1
- package/dist/tui/components/GameOfLife.d.ts.map +0 -1
- package/dist/tui/components/GameOfLife.js.map +0 -1
- package/dist/tui/components/InputBox.d.ts.map +0 -1
- package/dist/tui/components/InputBox.js.map +0 -1
- package/dist/tui/components/MessageList.d.ts.map +0 -1
- package/dist/tui/components/MessageList.js.map +0 -1
- package/dist/tui/components/ReadlineInput.d.ts.map +0 -1
- package/dist/tui/components/ReadlineInput.js.map +0 -1
- package/dist/tui/components/StatusBar.d.ts.map +0 -1
- package/dist/tui/components/StatusBar.js.map +0 -1
- package/dist/tui/components/index.d.ts.map +0 -1
- package/dist/tui/components/index.js.map +0 -1
- package/dist/tui/index.d.ts.map +0 -1
- package/dist/tui/index.js.map +0 -1
|
@@ -1,19 +1,11 @@
|
|
|
1
1
|
import { type VariantProps } from "class-variance-authority";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
declare const textareaVariants: (
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
) => string;
|
|
10
|
-
export interface TextareaProps
|
|
11
|
-
extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,
|
|
12
|
-
VariantProps<typeof textareaVariants> {
|
|
13
|
-
autoResize?: boolean;
|
|
14
|
-
maxHeight?: number;
|
|
3
|
+
declare const textareaVariants: (props?: ({
|
|
4
|
+
variant?: "success" | "default" | "error" | null | undefined;
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
+
export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement>, VariantProps<typeof textareaVariants> {
|
|
7
|
+
autoResize?: boolean;
|
|
8
|
+
maxHeight?: number;
|
|
15
9
|
}
|
|
16
|
-
declare const Textarea: React.ForwardRefExoticComponent<
|
|
17
|
-
TextareaProps & React.RefAttributes<HTMLTextAreaElement>
|
|
18
|
-
>;
|
|
10
|
+
declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
19
11
|
export { Textarea, textareaVariants };
|
|
@@ -1,68 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import { cva } from "class-variance-authority";
|
|
2
3
|
import * as React from "react";
|
|
3
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import { cn } from "../lib/utils.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
textarea.style.overflowY = "hidden";
|
|
51
|
-
}
|
|
52
|
-
}, [autoResize, maxHeight]);
|
|
53
|
-
React.useEffect(() => {
|
|
54
|
-
adjustHeight();
|
|
55
|
-
}, [adjustHeight]);
|
|
56
|
-
return _jsx("textarea", {
|
|
57
|
-
className: cn(
|
|
58
|
-
textareaVariants({ variant }),
|
|
59
|
-
autoResize && "overflow-y-hidden",
|
|
60
|
-
className,
|
|
61
|
-
),
|
|
62
|
-
ref: handleRef,
|
|
63
|
-
...props,
|
|
64
|
-
});
|
|
65
|
-
},
|
|
66
|
-
);
|
|
5
|
+
const textareaVariants = cva("flex min-h-[80px] w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 resize-none", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "border-input focus-visible:ring-ring",
|
|
9
|
+
error: "border-destructive focus-visible:ring-destructive",
|
|
10
|
+
success: "border-green-500 focus-visible:ring-green-500",
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
defaultVariants: {
|
|
14
|
+
variant: "default",
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
const Textarea = React.forwardRef(({ className, autoResize = false, maxHeight = 200, variant, ...props }, ref) => {
|
|
18
|
+
const textareaRef = React.useRef(null);
|
|
19
|
+
const handleRef = React.useCallback((node) => {
|
|
20
|
+
textareaRef.current = node;
|
|
21
|
+
if (typeof ref === "function") {
|
|
22
|
+
ref(node);
|
|
23
|
+
}
|
|
24
|
+
else if (ref) {
|
|
25
|
+
ref.current = node;
|
|
26
|
+
}
|
|
27
|
+
}, [ref]);
|
|
28
|
+
const adjustHeight = React.useCallback(() => {
|
|
29
|
+
const textarea = textareaRef.current;
|
|
30
|
+
if (!textarea || !autoResize)
|
|
31
|
+
return;
|
|
32
|
+
// Reset height to auto to get the correct scrollHeight
|
|
33
|
+
textarea.style.height = "auto";
|
|
34
|
+
// Set new height based on content, respecting maxHeight
|
|
35
|
+
const newHeight = Math.min(textarea.scrollHeight, maxHeight);
|
|
36
|
+
textarea.style.height = `${newHeight}px`;
|
|
37
|
+
// Enable scrollbar if content exceeds maxHeight
|
|
38
|
+
if (textarea.scrollHeight > maxHeight) {
|
|
39
|
+
textarea.style.overflowY = "auto";
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
textarea.style.overflowY = "hidden";
|
|
43
|
+
}
|
|
44
|
+
}, [autoResize, maxHeight]);
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
adjustHeight();
|
|
47
|
+
}, [adjustHeight]);
|
|
48
|
+
return (_jsx("textarea", { className: cn(textareaVariants({ variant }), autoResize && "overflow-y-hidden", className), ref: handleRef, ...props }));
|
|
49
|
+
});
|
|
67
50
|
Textarea.displayName = "Textarea";
|
|
68
51
|
export { Textarea, textareaVariants };
|
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
import { type VariantProps } from "class-variance-authority";
|
|
2
|
-
declare const thinkingBlockVariants: (
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
extends VariantProps<typeof thinkingBlockVariants> {
|
|
11
|
-
thinking?: string;
|
|
12
|
-
isStreaming?: boolean;
|
|
13
|
-
displayMode?: "collapsible" | "inline";
|
|
14
|
-
className?: string;
|
|
2
|
+
declare const thinkingBlockVariants: (props?: ({
|
|
3
|
+
variant?: "default" | "subtle" | "prominent" | null | undefined;
|
|
4
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
|
+
export interface ThinkingBlockProps extends VariantProps<typeof thinkingBlockVariants> {
|
|
6
|
+
thinking?: string;
|
|
7
|
+
isStreaming?: boolean;
|
|
8
|
+
displayMode?: "collapsible" | "inline";
|
|
9
|
+
className?: string;
|
|
15
10
|
}
|
|
16
|
-
export declare function ThinkingBlock({
|
|
17
|
-
|
|
18
|
-
isStreaming,
|
|
19
|
-
displayMode,
|
|
20
|
-
variant,
|
|
21
|
-
className,
|
|
22
|
-
}: ThinkingBlockProps): import("react/jsx-runtime").JSX.Element | null;
|
|
11
|
+
export declare function ThinkingBlock({ thinking, isStreaming, displayMode, variant, className, }: ThinkingBlockProps): import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
+
export {};
|
|
@@ -1,139 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import { cva } from "class-variance-authority";
|
|
2
3
|
import { ChevronDown } from "lucide-react";
|
|
3
4
|
import { useState } from "react";
|
|
4
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { cn } from "../lib/utils.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
)
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
variant,
|
|
41
|
-
className,
|
|
42
|
-
}) {
|
|
43
|
-
const [isExpanded, setIsExpanded] = useState(false);
|
|
44
|
-
if (!thinking && !isStreaming) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
// Inline mode - always visible
|
|
48
|
-
if (displayMode === "inline") {
|
|
49
|
-
return _jsxs("div", {
|
|
50
|
-
className: cn(thinkingBlockVariants({ variant }), className),
|
|
51
|
-
children: [
|
|
52
|
-
_jsxs("div", {
|
|
53
|
-
className: "flex items-start gap-2",
|
|
54
|
-
children: [
|
|
55
|
-
_jsx("span", {
|
|
56
|
-
className:
|
|
57
|
-
"text-xs font-medium text-foreground opacity-60 uppercase tracking-wide",
|
|
58
|
-
children: "Thinking",
|
|
59
|
-
}),
|
|
60
|
-
isStreaming &&
|
|
61
|
-
_jsx("span", {
|
|
62
|
-
className:
|
|
63
|
-
"inline-block w-2 h-2 bg-primary rounded-full animate-pulse",
|
|
64
|
-
}),
|
|
65
|
-
],
|
|
66
|
-
}),
|
|
67
|
-
_jsxs("div", {
|
|
68
|
-
className:
|
|
69
|
-
"mt-2 text-sm italic text-foreground opacity-80 leading-relaxed whitespace-pre-wrap",
|
|
70
|
-
children: [
|
|
71
|
-
thinking,
|
|
72
|
-
isStreaming &&
|
|
73
|
-
thinking &&
|
|
74
|
-
_jsx("span", {
|
|
75
|
-
className: "inline-block animate-typing",
|
|
76
|
-
children: "...",
|
|
77
|
-
}),
|
|
78
|
-
],
|
|
79
|
-
}),
|
|
80
|
-
],
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
// Collapsible mode
|
|
84
|
-
return _jsxs("div", {
|
|
85
|
-
className: cn("mb-3", className),
|
|
86
|
-
children: [
|
|
87
|
-
_jsxs("button", {
|
|
88
|
-
type: "button",
|
|
89
|
-
onClick: () => setIsExpanded(!isExpanded),
|
|
90
|
-
className:
|
|
91
|
-
"w-full flex items-center justify-between p-2 rounded-lg bg-card border border-border hover:bg-card transition-colors text-left",
|
|
92
|
-
children: [
|
|
93
|
-
_jsxs("div", {
|
|
94
|
-
className: "flex items-center gap-2",
|
|
95
|
-
children: [
|
|
96
|
-
_jsx("span", {
|
|
97
|
-
className:
|
|
98
|
-
"text-xs font-medium text-foreground opacity-60 uppercase tracking-wide",
|
|
99
|
-
children: "Thinking",
|
|
100
|
-
}),
|
|
101
|
-
isStreaming &&
|
|
102
|
-
_jsx("span", {
|
|
103
|
-
className:
|
|
104
|
-
"inline-block w-2 h-2 bg-primary rounded-full animate-pulse",
|
|
105
|
-
}),
|
|
106
|
-
!isExpanded &&
|
|
107
|
-
thinking &&
|
|
108
|
-
_jsxs("span", {
|
|
109
|
-
className:
|
|
110
|
-
"text-xs text-foreground opacity-50 truncate max-w-[200px]",
|
|
111
|
-
children: [thinking.substring(0, 50), "..."],
|
|
112
|
-
}),
|
|
113
|
-
],
|
|
114
|
-
}),
|
|
115
|
-
_jsx(ChevronDown, {
|
|
116
|
-
className: thinkingIconVariants({ expanded: isExpanded }),
|
|
117
|
-
}),
|
|
118
|
-
],
|
|
119
|
-
}),
|
|
120
|
-
isExpanded &&
|
|
121
|
-
_jsx("div", {
|
|
122
|
-
className: cn(thinkingBlockVariants({ variant }), "mt-2"),
|
|
123
|
-
children: _jsxs("div", {
|
|
124
|
-
className:
|
|
125
|
-
"text-sm italic text-foreground opacity-80 leading-relaxed whitespace-pre-wrap",
|
|
126
|
-
children: [
|
|
127
|
-
thinking,
|
|
128
|
-
isStreaming &&
|
|
129
|
-
thinking &&
|
|
130
|
-
_jsx("span", {
|
|
131
|
-
className: "inline-block animate-typing",
|
|
132
|
-
children: "...",
|
|
133
|
-
}),
|
|
134
|
-
],
|
|
135
|
-
}),
|
|
136
|
-
}),
|
|
137
|
-
],
|
|
138
|
-
});
|
|
6
|
+
const thinkingBlockVariants = cva("mb-3 p-3 rounded-lg bg-card border border-border", {
|
|
7
|
+
variants: {
|
|
8
|
+
variant: {
|
|
9
|
+
default: "opacity-70",
|
|
10
|
+
subtle: "opacity-50",
|
|
11
|
+
prominent: "opacity-90",
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
defaultVariants: {
|
|
15
|
+
variant: "default",
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
const thinkingIconVariants = cva("w-4 h-4 text-foreground opacity-60 transition-transform", {
|
|
19
|
+
variants: {
|
|
20
|
+
expanded: {
|
|
21
|
+
true: "rotate-180",
|
|
22
|
+
false: "",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
defaultVariants: {
|
|
26
|
+
expanded: false,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
export function ThinkingBlock({ thinking, isStreaming, displayMode = "collapsible", variant, className, }) {
|
|
30
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
31
|
+
if (!thinking && !isStreaming) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
// Inline mode - always visible
|
|
35
|
+
if (displayMode === "inline") {
|
|
36
|
+
return (_jsxs("div", { className: cn(thinkingBlockVariants({ variant }), className), children: [_jsxs("div", { className: "flex items-start gap-2", children: [_jsx("span", { className: "text-xs font-medium text-foreground opacity-60 uppercase tracking-wide", children: "Thinking" }), isStreaming && (_jsx("span", { className: "inline-block w-2 h-2 bg-primary rounded-full animate-pulse" }))] }), _jsxs("div", { className: "mt-2 text-sm italic text-foreground opacity-80 leading-relaxed whitespace-pre-wrap", children: [thinking, isStreaming && thinking && (_jsx("span", { className: "inline-block animate-typing", children: "..." }))] })] }));
|
|
37
|
+
}
|
|
38
|
+
// Collapsible mode
|
|
39
|
+
return (_jsxs("div", { className: cn("mb-3", className), children: [_jsxs("button", { type: "button", onClick: () => setIsExpanded(!isExpanded), className: "w-full flex items-center justify-between p-2 rounded-lg bg-card border border-border hover:bg-card transition-colors text-left", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-xs font-medium text-foreground opacity-60 uppercase tracking-wide", children: "Thinking" }), isStreaming && (_jsx("span", { className: "inline-block w-2 h-2 bg-primary rounded-full animate-pulse" })), !isExpanded && thinking && (_jsxs("span", { className: "text-xs text-foreground opacity-50 truncate max-w-[200px]", children: [thinking.substring(0, 50), "..."] }))] }), _jsx(ChevronDown, { className: thinkingIconVariants({ expanded: isExpanded }) })] }), isExpanded && (_jsx("div", { className: cn(thinkingBlockVariants({ variant }), "mt-2"), children: _jsxs("div", { className: "text-sm italic text-foreground opacity-80 leading-relaxed whitespace-pre-wrap", children: [thinking, isStreaming && thinking && (_jsx("span", { className: "inline-block animate-typing", children: "..." }))] }) }))] }));
|
|
139
40
|
}
|
|
@@ -7,16 +7,14 @@ import { type TodoItem } from "./TodoListItem.js";
|
|
|
7
7
|
* 2. Prop-based: Pass `todos` prop directly
|
|
8
8
|
*/
|
|
9
9
|
export interface TodoListProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
/**
|
|
11
|
+
* ACP Client for hook-based todo fetching (future support)
|
|
12
|
+
*/
|
|
13
|
+
client?: AcpClient | null;
|
|
14
|
+
/**
|
|
15
|
+
* Todos to display (prop-based pattern)
|
|
16
|
+
* Either client or todos should be provided
|
|
17
|
+
*/
|
|
18
|
+
todos?: TodoItem[];
|
|
19
19
|
}
|
|
20
|
-
export declare const TodoList: React.ForwardRefExoticComponent<
|
|
21
|
-
TodoListProps & React.RefAttributes<HTMLDivElement>
|
|
22
|
-
>;
|
|
20
|
+
export declare const TodoList: React.ForwardRefExoticComponent<TodoListProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,26 +1,11 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
3
|
import { cn } from "../lib/utils.js";
|
|
4
4
|
import { TodoListItem } from "./TodoListItem.js";
|
|
5
|
-
export const TodoList = React.forwardRef(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
ref: ref,
|
|
12
|
-
className: cn("space-y-2 max-h-64 overflow-y-auto", className),
|
|
13
|
-
...props,
|
|
14
|
-
children:
|
|
15
|
-
todosToDisplay.length === 0
|
|
16
|
-
? _jsx("p", {
|
|
17
|
-
className: "text-sm text-foreground opacity-60 italic",
|
|
18
|
-
children: "No tasks yet.",
|
|
19
|
-
})
|
|
20
|
-
: todosToDisplay.map((todo) =>
|
|
21
|
-
_jsx(TodoListItem, { todo: todo }, todo.id),
|
|
22
|
-
),
|
|
23
|
-
});
|
|
24
|
-
},
|
|
25
|
-
);
|
|
5
|
+
export const TodoList = React.forwardRef(({ client, todos, className, ...props }, ref) => {
|
|
6
|
+
// For now, just use prop-based todos
|
|
7
|
+
// Future: Add hook to get todos from store when available
|
|
8
|
+
const todosToDisplay = todos || [];
|
|
9
|
+
return (_jsx("div", { ref: ref, className: cn("space-y-2 max-h-64 overflow-y-auto", className), ...props, children: todosToDisplay.length === 0 ? (_jsx("p", { className: "text-sm text-foreground opacity-60 italic", children: "No tasks yet." })) : (todosToDisplay.map((todo) => (_jsx(TodoListItem, { todo: todo }, todo.id)))) }));
|
|
10
|
+
});
|
|
26
11
|
TodoList.displayName = "TodoList";
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
export interface TodoItem {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
id: string;
|
|
4
|
+
text: string;
|
|
5
|
+
status: "pending" | "in_progress" | "completed";
|
|
6
6
|
}
|
|
7
|
-
export interface TodoListItemProps
|
|
8
|
-
|
|
9
|
-
todo: TodoItem;
|
|
7
|
+
export interface TodoListItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
todo: TodoItem;
|
|
10
9
|
}
|
|
11
|
-
export declare const TodoListItem: React.ForwardRefExoticComponent<
|
|
12
|
-
TodoListItemProps & React.RefAttributes<HTMLDivElement>
|
|
13
|
-
>;
|
|
10
|
+
export declare const TodoListItem: React.ForwardRefExoticComponent<TodoListItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
3
|
import { cn } from "../lib/utils.js";
|
|
4
|
-
export const TodoListItem = React.forwardRef(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
ref: ref,
|
|
8
|
-
className: cn("flex items-center gap-3 px-3 py-2 rounded-lg", className),
|
|
9
|
-
...props,
|
|
10
|
-
children: _jsx("span", {
|
|
11
|
-
className: cn(
|
|
12
|
-
"flex-1 text-[var(--font-size)] font-[var(--font-family)]",
|
|
13
|
-
todo.status === "completed" && "line-through opacity-60",
|
|
14
|
-
todo.status === "in_progress" && "shimmer-animation",
|
|
15
|
-
),
|
|
16
|
-
children: todo.text,
|
|
17
|
-
}),
|
|
18
|
-
});
|
|
19
|
-
},
|
|
20
|
-
);
|
|
4
|
+
export const TodoListItem = React.forwardRef(({ todo, className, ...props }, ref) => {
|
|
5
|
+
return (_jsx("div", { ref: ref, className: cn("flex items-center gap-3 px-3 py-2 rounded-lg", className), ...props, children: _jsx("span", { className: cn("flex-1 text-[var(--font-size)] font-[var(--font-family)]", todo.status === "completed" && "line-through opacity-60", todo.status === "in_progress" && "shimmer-animation"), children: todo.text }) }));
|
|
6
|
+
});
|
|
21
7
|
TodoListItem.displayName = "TodoListItem";
|
|
@@ -1,40 +1,17 @@
|
|
|
1
|
+
export { toast } from "sonner";
|
|
1
2
|
export { Button, type ButtonProps, buttonVariants } from "./Button.js";
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export {
|
|
11
|
-
type ChatInputFieldProps,
|
|
12
|
-
type ChatInputRootProps,
|
|
13
|
-
type ChatInputSubmitProps,
|
|
14
|
-
type ChatInputToolbarProps,
|
|
15
|
-
Field as ChatInputField,
|
|
16
|
-
Root as ChatInputRoot,
|
|
17
|
-
Submit as ChatInputSubmit,
|
|
18
|
-
Toolbar as ChatInputToolbar,
|
|
19
|
-
} from "./ChatInput.js";
|
|
20
|
-
export {
|
|
21
|
-
ChatSecondaryPanel,
|
|
22
|
-
type ChatSecondaryPanelProps,
|
|
23
|
-
} from "./ChatSecondaryPanel.js";
|
|
3
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./Card.js";
|
|
4
|
+
export type { ConnectionStatus } from "./ChatHeader.js";
|
|
5
|
+
export * as ChatHeader from "./ChatHeader.js";
|
|
6
|
+
export { Actions as ChatInputActions, Attachment as ChatInputAttachment, type ChatInputActionsProps, type ChatInputAttachmentProps, type ChatInputCommandMenuProps, type ChatInputFieldProps, type ChatInputRootProps, type ChatInputSubmitProps, type ChatInputToolbarProps, type ChatInputVoiceInputProps, CommandMenu as ChatInputCommandMenu, type CommandMenuItem, Field as ChatInputField, Root as ChatInputRoot, Submit as ChatInputSubmit, Toolbar as ChatInputToolbar, VoiceInput as ChatInputVoiceInput, } from "./ChatInput.js";
|
|
7
|
+
export * as ChatLayout from "./ChatLayout.js";
|
|
8
|
+
export { DatabaseTabContent, type DatabaseTabContentProps, FilesTabContent, type FilesTabContentProps, TodoTabContent, type TodoTabContentProps, } from "./ChatPanelTabContent.js";
|
|
9
|
+
export { ChatSecondaryPanel, type ChatSecondaryPanelProps, } from "./ChatSecondaryPanel.js";
|
|
10
|
+
export * as ChatSidebar from "./ChatSidebar.js";
|
|
24
11
|
export { ChatStatus, type ChatStatusProps } from "./ChatStatus.js";
|
|
25
12
|
export { Conversation, type ConversationProps } from "./Conversation.js";
|
|
26
|
-
export {
|
|
27
|
-
|
|
28
|
-
DialogClose,
|
|
29
|
-
DialogContent,
|
|
30
|
-
DialogDescription,
|
|
31
|
-
DialogFooter,
|
|
32
|
-
DialogHeader,
|
|
33
|
-
DialogOverlay,
|
|
34
|
-
DialogPortal,
|
|
35
|
-
DialogTitle,
|
|
36
|
-
DialogTrigger,
|
|
37
|
-
} from "./Dialog.js";
|
|
13
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, } from "./Dialog.js";
|
|
14
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from "./DropdownMenu.js";
|
|
38
15
|
export { HeightTransition } from "./HeightTransition.js";
|
|
39
16
|
export { Input, type InputProps, inputVariants } from "./Input.js";
|
|
40
17
|
export { Label } from "./Label.js";
|
|
@@ -44,31 +21,11 @@ export { MessageContent, type MessageContentProps } from "./MessageContent.js";
|
|
|
44
21
|
export type { DisplayMessage } from "./MessageList.js";
|
|
45
22
|
export { Reasoning, type ReasoningProps } from "./Reasoning.js";
|
|
46
23
|
export { Response, type ResponseProps } from "./Response.js";
|
|
47
|
-
export {
|
|
48
|
-
|
|
49
|
-
SelectContent,
|
|
50
|
-
SelectGroup,
|
|
51
|
-
SelectItem,
|
|
52
|
-
SelectLabel,
|
|
53
|
-
SelectScrollDownButton,
|
|
54
|
-
SelectScrollUpButton,
|
|
55
|
-
SelectSeparator,
|
|
56
|
-
SelectTrigger,
|
|
57
|
-
SelectValue,
|
|
58
|
-
} from "./Select.js";
|
|
24
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, } from "./Select.js";
|
|
25
|
+
export { Toaster } from "./Sonner.js";
|
|
59
26
|
export { Tabs, TabsContent, TabsList, TabsTrigger } from "./Tabs.js";
|
|
60
|
-
export {
|
|
61
|
-
Task,
|
|
62
|
-
type TaskItem,
|
|
63
|
-
TaskList,
|
|
64
|
-
type TaskListProps,
|
|
65
|
-
type TaskProps,
|
|
66
|
-
} from "./Task.js";
|
|
27
|
+
export { Task, type TaskItem, TaskList, type TaskListProps, type TaskProps, } from "./Task.js";
|
|
67
28
|
export { Textarea, type TextareaProps, textareaVariants } from "./Textarea.js";
|
|
68
|
-
export { ThinkingBlock, type ThinkingBlockProps } from "./ThinkingBlock.js";
|
|
29
|
+
export { ThinkingBlock, type ThinkingBlockProps, } from "./ThinkingBlock.js";
|
|
69
30
|
export { TodoList, type TodoListProps } from "./TodoList.js";
|
|
70
|
-
export {
|
|
71
|
-
type TodoItem,
|
|
72
|
-
TodoListItem,
|
|
73
|
-
type TodoListItemProps,
|
|
74
|
-
} from "./TodoListItem.js";
|
|
31
|
+
export { type TodoItem, TodoListItem, type TodoListItemProps, } from "./TodoListItem.js";
|
|
@@ -1,37 +1,22 @@
|
|
|
1
1
|
// Base UI components
|
|
2
|
+
export { toast } from "sonner";
|
|
2
3
|
export { Button, buttonVariants } from "./Button.js";
|
|
3
|
-
export {
|
|
4
|
-
|
|
5
|
-
CardContent,
|
|
6
|
-
CardDescription,
|
|
7
|
-
CardFooter,
|
|
8
|
-
CardHeader,
|
|
9
|
-
CardTitle,
|
|
10
|
-
} from "./Card.js";
|
|
4
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./Card.js";
|
|
5
|
+
export * as ChatHeader from "./ChatHeader.js";
|
|
11
6
|
// Chat components - composable primitives
|
|
12
|
-
export {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export { ChatSecondaryPanel } from "./ChatSecondaryPanel.js";
|
|
7
|
+
export { Actions as ChatInputActions, Attachment as ChatInputAttachment, CommandMenu as ChatInputCommandMenu, Field as ChatInputField, Root as ChatInputRoot, Submit as ChatInputSubmit, Toolbar as ChatInputToolbar, VoiceInput as ChatInputVoiceInput, } from "./ChatInput.js";
|
|
8
|
+
// Chat layout components
|
|
9
|
+
export * as ChatLayout from "./ChatLayout.js";
|
|
10
|
+
export { DatabaseTabContent, FilesTabContent, TodoTabContent, } from "./ChatPanelTabContent.js";
|
|
11
|
+
export { ChatSecondaryPanel, } from "./ChatSecondaryPanel.js";
|
|
12
|
+
export * as ChatSidebar from "./ChatSidebar.js";
|
|
19
13
|
export { ChatStatus } from "./ChatStatus.js";
|
|
20
14
|
// Chat components - shadcn.io/ai inspired primitives
|
|
21
15
|
export { Conversation } from "./Conversation.js";
|
|
22
16
|
// Dialog components
|
|
23
|
-
export {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
DialogContent,
|
|
27
|
-
DialogDescription,
|
|
28
|
-
DialogFooter,
|
|
29
|
-
DialogHeader,
|
|
30
|
-
DialogOverlay,
|
|
31
|
-
DialogPortal,
|
|
32
|
-
DialogTitle,
|
|
33
|
-
DialogTrigger,
|
|
34
|
-
} from "./Dialog.js";
|
|
17
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, } from "./Dialog.js";
|
|
18
|
+
// DropdownMenu components
|
|
19
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from "./DropdownMenu.js";
|
|
35
20
|
// Utility components
|
|
36
21
|
export { HeightTransition } from "./HeightTransition.js";
|
|
37
22
|
export { Input, inputVariants } from "./Input.js";
|
|
@@ -41,22 +26,13 @@ export { Message } from "./Message.js";
|
|
|
41
26
|
export { MessageContent } from "./MessageContent.js";
|
|
42
27
|
export { Reasoning } from "./Reasoning.js";
|
|
43
28
|
export { Response } from "./Response.js";
|
|
44
|
-
export {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
SelectGroup,
|
|
48
|
-
SelectItem,
|
|
49
|
-
SelectLabel,
|
|
50
|
-
SelectScrollDownButton,
|
|
51
|
-
SelectScrollUpButton,
|
|
52
|
-
SelectSeparator,
|
|
53
|
-
SelectTrigger,
|
|
54
|
-
SelectValue,
|
|
55
|
-
} from "./Select.js";
|
|
29
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, } from "./Select.js";
|
|
30
|
+
// Toast components
|
|
31
|
+
export { Toaster } from "./Sonner.js";
|
|
56
32
|
export { Tabs, TabsContent, TabsList, TabsTrigger } from "./Tabs.js";
|
|
57
33
|
// Task/Todo components
|
|
58
|
-
export { Task, TaskList } from "./Task.js";
|
|
34
|
+
export { Task, TaskList, } from "./Task.js";
|
|
59
35
|
export { Textarea, textareaVariants } from "./Textarea.js";
|
|
60
|
-
export { ThinkingBlock } from "./ThinkingBlock.js";
|
|
36
|
+
export { ThinkingBlock, } from "./ThinkingBlock.js";
|
|
61
37
|
export { TodoList } from "./TodoList.js";
|
|
62
|
-
export { TodoListItem } from "./TodoListItem.js";
|
|
38
|
+
export { TodoListItem, } from "./TodoListItem.js";
|
package/dist/gui/lib/utils.js
CHANGED
package/dist/index.d.ts
CHANGED