@ciridae/ui 0.2.4 → 0.3.0

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 (128) hide show
  1. package/dist/components/ui/app-shell-page.d.ts +22 -0
  2. package/dist/components/ui/app-shell-page.js +17 -0
  3. package/dist/components/ui/item.d.ts +1 -1
  4. package/dist/styled-system/styles.css +393 -61
  5. package/dist/styles.css +2 -0
  6. package/package.json +6 -260
  7. package/dist/components/agentic/agent-card.d.ts +0 -28
  8. package/dist/components/agentic/agent-card.js +0 -27
  9. package/dist/components/agentic/agent-composer.d.ts +0 -44
  10. package/dist/components/agentic/agent-composer.js +0 -104
  11. package/dist/components/agentic/agent-context.d.ts +0 -28
  12. package/dist/components/agentic/agent-context.js +0 -102
  13. package/dist/components/agentic/agent-plan.d.ts +0 -27
  14. package/dist/components/agentic/agent-plan.js +0 -43
  15. package/dist/components/agentic/agent-queue.d.ts +0 -46
  16. package/dist/components/agentic/agent-queue.js +0 -53
  17. package/dist/components/agentic/agent-task.d.ts +0 -16
  18. package/dist/components/agentic/agent-task.js +0 -20
  19. package/dist/components/agentic/approval-request.d.ts +0 -24
  20. package/dist/components/agentic/approval-request.js +0 -57
  21. package/dist/components/agentic/artifact.d.ts +0 -24
  22. package/dist/components/agentic/artifact.js +0 -72
  23. package/dist/components/agentic/attachments.d.ts +0 -124
  24. package/dist/components/agentic/attachments.js +0 -595
  25. package/dist/components/agentic/audio-player.d.ts +0 -16
  26. package/dist/components/agentic/audio-player.js +0 -21
  27. package/dist/components/agentic/canvas.d.ts +0 -10
  28. package/dist/components/agentic/canvas.js +0 -22
  29. package/dist/components/agentic/clipboard.d.ts +0 -2
  30. package/dist/components/agentic/clipboard.js +0 -12
  31. package/dist/components/agentic/code-block.d.ts +0 -43
  32. package/dist/components/agentic/code-block.js +0 -92
  33. package/dist/components/agentic/commit.d.ts +0 -57
  34. package/dist/components/agentic/commit.js +0 -85
  35. package/dist/components/agentic/connection.d.ts +0 -3
  36. package/dist/components/agentic/connection.js +0 -8
  37. package/dist/components/agentic/controls.d.ts +0 -6
  38. package/dist/components/agentic/controls.js +0 -7
  39. package/dist/components/agentic/conversation.d.ts +0 -25
  40. package/dist/components/agentic/conversation.js +0 -56
  41. package/dist/components/agentic/edge.d.ts +0 -8
  42. package/dist/components/agentic/edge.js +0 -65
  43. package/dist/components/agentic/effort-selector.d.ts +0 -43
  44. package/dist/components/agentic/effort-selector.js +0 -47
  45. package/dist/components/agentic/environment-variables.d.ts +0 -32
  46. package/dist/components/agentic/environment-variables.js +0 -66
  47. package/dist/components/agentic/file-tree.d.ts +0 -24
  48. package/dist/components/agentic/file-tree.js +0 -56
  49. package/dist/components/agentic/image.d.ts +0 -9
  50. package/dist/components/agentic/image.js +0 -11
  51. package/dist/components/agentic/inline-citation.d.ts +0 -40
  52. package/dist/components/agentic/inline-citation.js +0 -111
  53. package/dist/components/agentic/jsx-preview.d.ts +0 -19
  54. package/dist/components/agentic/jsx-preview.js +0 -34
  55. package/dist/components/agentic/message-branch.d.ts +0 -20
  56. package/dist/components/agentic/message-branch.js +0 -83
  57. package/dist/components/agentic/message-response.css +0 -265
  58. package/dist/components/agentic/message-response.css.d.ts +0 -2
  59. package/dist/components/agentic/message.d.ts +0 -27
  60. package/dist/components/agentic/message.js +0 -57
  61. package/dist/components/agentic/mic-selector.d.ts +0 -58
  62. package/dist/components/agentic/mic-selector.js +0 -173
  63. package/dist/components/agentic/model-selector.d.ts +0 -39
  64. package/dist/components/agentic/model-selector.js +0 -47
  65. package/dist/components/agentic/node.d.ts +0 -26
  66. package/dist/components/agentic/node.js +0 -29
  67. package/dist/components/agentic/open-in-chat.d.ts +0 -9
  68. package/dist/components/agentic/open-in-chat.js +0 -8
  69. package/dist/components/agentic/package-info.d.ts +0 -30
  70. package/dist/components/agentic/package-info.js +0 -44
  71. package/dist/components/agentic/panel.d.ts +0 -6
  72. package/dist/components/agentic/panel.js +0 -7
  73. package/dist/components/agentic/persona.d.ts +0 -16
  74. package/dist/components/agentic/persona.js +0 -116
  75. package/dist/components/agentic/prompt-input-action-menu.d.ts +0 -16
  76. package/dist/components/agentic/prompt-input-action-menu.js +0 -22
  77. package/dist/components/agentic/prompt-input-command.d.ts +0 -18
  78. package/dist/components/agentic/prompt-input-command.js +0 -25
  79. package/dist/components/agentic/prompt-input-hover-card.d.ts +0 -10
  80. package/dist/components/agentic/prompt-input-hover-card.js +0 -13
  81. package/dist/components/agentic/prompt-input-select.d.ts +0 -14
  82. package/dist/components/agentic/prompt-input-select.js +0 -19
  83. package/dist/components/agentic/prompt-input-tabs.d.ts +0 -17
  84. package/dist/components/agentic/prompt-input-tabs.js +0 -45
  85. package/dist/components/agentic/prompt-input.d.ts +0 -79
  86. package/dist/components/agentic/prompt-input.js +0 -206
  87. package/dist/components/agentic/reasoning.d.ts +0 -21
  88. package/dist/components/agentic/reasoning.js +0 -106
  89. package/dist/components/agentic/run-checkpoint.d.ts +0 -13
  90. package/dist/components/agentic/run-checkpoint.js +0 -19
  91. package/dist/components/agentic/run-trace.d.ts +0 -30
  92. package/dist/components/agentic/run-trace.js +0 -56
  93. package/dist/components/agentic/sandbox.d.ts +0 -24
  94. package/dist/components/agentic/sandbox.js +0 -33
  95. package/dist/components/agentic/schema-display.d.ts +0 -39
  96. package/dist/components/agentic/schema-display.js +0 -56
  97. package/dist/components/agentic/shimmer.d.ts +0 -11
  98. package/dist/components/agentic/shimmer.js +0 -16
  99. package/dist/components/agentic/snippet.d.ts +0 -18
  100. package/dist/components/agentic/snippet.js +0 -35
  101. package/dist/components/agentic/sources.d.ts +0 -16
  102. package/dist/components/agentic/sources.js +0 -17
  103. package/dist/components/agentic/speech-input.d.ts +0 -24
  104. package/dist/components/agentic/speech-input.js +0 -30
  105. package/dist/components/agentic/stack-trace.d.ts +0 -27
  106. package/dist/components/agentic/stack-trace.js +0 -76
  107. package/dist/components/agentic/suggestion.d.ts +0 -12
  108. package/dist/components/agentic/suggestion.js +0 -15
  109. package/dist/components/agentic/terminal.d.ts +0 -24
  110. package/dist/components/agentic/terminal.js +0 -47
  111. package/dist/components/agentic/test-results.d.ts +0 -51
  112. package/dist/components/agentic/test-results.js +0 -83
  113. package/dist/components/agentic/theme.d.ts +0 -5
  114. package/dist/components/agentic/theme.js +0 -31
  115. package/dist/components/agentic/tool.d.ts +0 -25
  116. package/dist/components/agentic/tool.js +0 -73
  117. package/dist/components/agentic/toolbar.d.ts +0 -6
  118. package/dist/components/agentic/toolbar.js +0 -7
  119. package/dist/components/agentic/transcription.d.ts +0 -20
  120. package/dist/components/agentic/transcription.js +0 -32
  121. package/dist/components/agentic/types.d.ts +0 -172
  122. package/dist/components/agentic/types.js +0 -1
  123. package/dist/components/agentic/use-controllable-state.d.ts +0 -6
  124. package/dist/components/agentic/use-controllable-state.js +0 -13
  125. package/dist/components/agentic/voice-selector.d.ts +0 -69
  126. package/dist/components/agentic/voice-selector.js +0 -122
  127. package/dist/components/agentic/web-preview.d.ts +0 -25
  128. package/dist/components/agentic/web-preview.js +0 -33
@@ -1,102 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { createContext, useContext, useMemo } from "react";
3
- import { Button } from "@ciridae/ui/button";
4
- import { HoverCard, HoverCardContent, HoverCardTrigger } from "@ciridae/ui/hover-card";
5
- import { Progress } from "@ciridae/ui/progress";
6
- import { cn } from "@ciridae/ui/utils";
7
- const PERCENT_MAX = 100;
8
- const AgentContextContext = createContext(null);
9
- function useAgentContext() {
10
- const context = useContext(AgentContextContext);
11
- if (!context)
12
- throw new Error("AgentContext components must be used within AgentContext");
13
- return context;
14
- }
15
- function AgentContext({ cacheCostText, cachedInputTokens, children, inputCostText, inputTokens, maxTokens, outputCostText, outputTokens, reasoningCostText, reasoningTokens, totalCostText, usedTokens, ...props }) {
16
- const { closeDelay = 0, openDelay = 0, ...hoverCardProps } = props;
17
- const contextValue = useMemo(() => ({
18
- cacheCostText,
19
- cachedInputTokens,
20
- inputCostText,
21
- inputTokens,
22
- maxTokens,
23
- outputCostText,
24
- outputTokens,
25
- reasoningCostText,
26
- reasoningTokens,
27
- totalCostText,
28
- usedTokens,
29
- }), [
30
- cacheCostText,
31
- cachedInputTokens,
32
- inputCostText,
33
- inputTokens,
34
- maxTokens,
35
- outputCostText,
36
- outputTokens,
37
- reasoningCostText,
38
- reasoningTokens,
39
- totalCostText,
40
- usedTokens,
41
- ]);
42
- return (_jsx(AgentContextContext.Provider, { value: contextValue, children: _jsx(HoverCard, { closeDelay: closeDelay, openDelay: openDelay, ...hoverCardProps, children: children }) }));
43
- }
44
- function AgentContextTrigger({ children, ...props }) {
45
- const { maxTokens, usedTokens } = useAgentContext();
46
- const usedPercent = getUsagePercent(usedTokens, maxTokens);
47
- return (_jsx(HoverCardTrigger, { asChild: true, children: children ? (_jsx(Button, { "data-slot": "agent-context-trigger", type: "button", variant: "ghost", ...props, asChild: true, children: children })) : (_jsxs(Button, { "data-slot": "agent-context-trigger", type: "button", variant: "ghost", ...props, children: [_jsx("span", { className: "font-medium text-muted-foreground", children: formatPercent(usedPercent) }), _jsx(AgentContextIcon, { usedPercent: usedPercent })] })) }));
48
- }
49
- function AgentContextIcon({ usedPercent }) {
50
- const radius = 10;
51
- const circumference = 2 * Math.PI * radius;
52
- const dashOffset = circumference * (1 - usedPercent);
53
- return (_jsxs("svg", { "aria-label": "Context usage", className: "size-5", role: "img", viewBox: "0 0 24 24", children: [_jsx("circle", { cx: "12", cy: "12", fill: "none", opacity: "0.25", r: radius, stroke: "currentColor", strokeWidth: "2" }), _jsx("circle", { cx: "12", cy: "12", fill: "none", opacity: "0.75", r: radius, stroke: "currentColor", strokeDasharray: `${circumference} ${circumference}`, strokeDashoffset: dashOffset, strokeLinecap: "round", strokeWidth: "2", style: { transform: "rotate(-90deg)", transformOrigin: "center" } })] }));
54
- }
55
- function AgentContextContent({ className, ...props }) {
56
- return (_jsx(HoverCardContent, { "data-slot": "agent-context-content", className: cn("w-72 divide-y overflow-hidden p-0", className), ...props }));
57
- }
58
- function AgentContextContentHeader({ children, className, ...props }) {
59
- const { maxTokens, usedTokens } = useAgentContext();
60
- const usedPercent = getUsagePercent(usedTokens, maxTokens);
61
- return (_jsx("div", { "data-slot": "agent-context-content-header", className: cn("grid gap-2 p-3", className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between gap-3 text-xs", children: [_jsx("span", { children: formatPercent(usedPercent) }), _jsxs("span", { className: "font-mono text-muted-foreground", children: [formatCompact(usedTokens), " / ", formatCompact(maxTokens)] })] }), _jsx(Progress, { value: usedPercent * PERCENT_MAX })] })) }));
62
- }
63
- function AgentContextContentBody({ className, ...props }) {
64
- return (_jsx("div", { "data-slot": "agent-context-content-body", className: cn("grid gap-2 p-3", className), ...props }));
65
- }
66
- function AgentContextContentFooter({ children, className, ...props }) {
67
- const { totalCostText } = useAgentContext();
68
- return (_jsx("div", { "data-slot": "agent-context-content-footer", className: cn("flex items-center justify-between gap-3 bg-secondary p-3 text-xs", className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "Total cost" }), _jsx("span", { children: totalCostText ?? "Provided by host" })] })) }));
69
- }
70
- function AgentContextUsageRow({ className, costText, label, tokens, ...props }) {
71
- if (tokens === undefined)
72
- return null;
73
- return (_jsxs("div", { "data-slot": "agent-context-usage-row", className: cn("flex items-center justify-between gap-3 text-xs", className), ...props, children: [_jsx("span", { className: "text-muted-foreground", children: label }), _jsxs("span", { className: "font-mono", children: [formatCompact(tokens), costText ? _jsx("span", { className: "ml-2 font-sans text-muted-foreground", children: costText }) : null] })] }));
74
- }
75
- function AgentContextInputUsage(props) {
76
- const { inputCostText, inputTokens } = useAgentContext();
77
- return (_jsx(AgentContextUsageRow, { costText: inputCostText, label: "Input", tokens: inputTokens, ...props }));
78
- }
79
- function AgentContextOutputUsage(props) {
80
- const { outputCostText, outputTokens } = useAgentContext();
81
- return (_jsx(AgentContextUsageRow, { costText: outputCostText, label: "Output", tokens: outputTokens, ...props }));
82
- }
83
- function AgentContextReasoningUsage(props) {
84
- const { reasoningCostText, reasoningTokens } = useAgentContext();
85
- return (_jsx(AgentContextUsageRow, { costText: reasoningCostText, label: "Reasoning", tokens: reasoningTokens, ...props }));
86
- }
87
- function AgentContextCacheUsage(props) {
88
- const { cacheCostText, cachedInputTokens } = useAgentContext();
89
- return (_jsx(AgentContextUsageRow, { costText: cacheCostText, label: "Cache", tokens: cachedInputTokens, ...props }));
90
- }
91
- function getUsagePercent(usedTokens, maxTokens) {
92
- if (maxTokens <= 0)
93
- return 0;
94
- return Math.min(1, Math.max(0, usedTokens / maxTokens));
95
- }
96
- function formatPercent(value) {
97
- return new Intl.NumberFormat("en-US", { maximumFractionDigits: 1, style: "percent" }).format(value);
98
- }
99
- function formatCompact(value) {
100
- return new Intl.NumberFormat("en-US", { notation: "compact" }).format(value);
101
- }
102
- export { AgentContext, AgentContextCacheUsage, AgentContextContent, AgentContextContentBody, AgentContextContentFooter, AgentContextContentHeader, AgentContextInputUsage, AgentContextOutputUsage, AgentContextReasoningUsage, AgentContextTrigger, AgentContextUsageRow, };
@@ -1,27 +0,0 @@
1
- import type * as React from "react";
2
- import { CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@ciridae/ui/card";
3
- import { Collapsible, CollapsibleTrigger } from "@ciridae/ui/collapsible";
4
- type AgentPlanProps = React.ComponentProps<typeof Collapsible> & {
5
- isStreaming?: boolean;
6
- };
7
- type AgentPlanHeaderProps = React.ComponentProps<typeof CardHeader>;
8
- type AgentPlanTitleProps = Omit<React.ComponentProps<typeof CardTitle>, "children"> & {
9
- children: string;
10
- };
11
- type AgentPlanDescriptionProps = Omit<React.ComponentProps<typeof CardDescription>, "children"> & {
12
- children: string;
13
- };
14
- type AgentPlanActionProps = React.ComponentProps<typeof CardAction>;
15
- type AgentPlanContentProps = React.ComponentProps<typeof CardContent>;
16
- type AgentPlanFooterProps = React.ComponentProps<typeof CardFooter>;
17
- type AgentPlanTriggerProps = React.ComponentProps<typeof CollapsibleTrigger>;
18
- declare function AgentPlan({ children, className, isStreaming, ...props }: AgentPlanProps): React.JSX.Element;
19
- declare function AgentPlanHeader({ className, ...props }: AgentPlanHeaderProps): React.JSX.Element;
20
- declare function AgentPlanTitle({ children, className, ...props }: AgentPlanTitleProps): React.JSX.Element;
21
- declare function AgentPlanDescription({ children, className, ...props }: AgentPlanDescriptionProps): React.JSX.Element;
22
- declare function AgentPlanAction(props: AgentPlanActionProps): React.JSX.Element;
23
- declare function AgentPlanContent(props: AgentPlanContentProps): React.JSX.Element;
24
- declare function AgentPlanFooter(props: AgentPlanFooterProps): React.JSX.Element;
25
- declare function AgentPlanTrigger({ className, type, ...props }: AgentPlanTriggerProps): React.JSX.Element;
26
- export { AgentPlan, AgentPlanAction, AgentPlanContent, AgentPlanDescription, AgentPlanFooter, AgentPlanHeader, AgentPlanTitle, AgentPlanTrigger, };
27
- export type { AgentPlanActionProps, AgentPlanContentProps, AgentPlanDescriptionProps, AgentPlanFooterProps, AgentPlanHeaderProps, AgentPlanProps, AgentPlanTitleProps, AgentPlanTriggerProps, };
@@ -1,43 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChevronsUpDownIcon } from "lucide-react";
3
- import { createContext, useContext, useMemo } from "react";
4
- import { Shimmer } from "@ciridae/ui/shimmer";
5
- import { Button } from "@ciridae/ui/button";
6
- import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "@ciridae/ui/card";
7
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@ciridae/ui/collapsible";
8
- import { cn } from "@ciridae/ui/utils";
9
- const AgentPlanContext = createContext(null);
10
- function useAgentPlan() {
11
- const context = useContext(AgentPlanContext);
12
- if (!context)
13
- throw new Error("AgentPlan components must be used within AgentPlan");
14
- return context;
15
- }
16
- function AgentPlan({ children, className, isStreaming = false, ...props }) {
17
- const contextValue = useMemo(() => ({ isStreaming }), [isStreaming]);
18
- return (_jsx(AgentPlanContext.Provider, { value: contextValue, children: _jsx(Collapsible, { "data-slot": "agent-plan", className: "w-full min-w-0", ...props, children: _jsx(Card, { className: cn("w-full min-w-0 shadow-none", className), children: children }) }) }));
19
- }
20
- function AgentPlanHeader({ className, ...props }) {
21
- return (_jsx(CardHeader, { "data-slot": "agent-plan-header", className: cn("relative block min-w-0 space-y-2 pr-[calc(var(--spacing)*11)]", className), ...props }));
22
- }
23
- function AgentPlanTitle({ children, className, ...props }) {
24
- const { isStreaming } = useAgentPlan();
25
- return (_jsx(CardTitle, { "data-slot": "agent-plan-title", className: cn("min-w-0 text-pretty", className), ...props, children: isStreaming ? _jsx(Shimmer, { children: children }) : children }));
26
- }
27
- function AgentPlanDescription({ children, className, ...props }) {
28
- const { isStreaming } = useAgentPlan();
29
- return (_jsx(CardDescription, { "data-slot": "agent-plan-description", className: cn("text-balance", className), ...props, children: isStreaming ? _jsx(Shimmer, { children: children }) : children }));
30
- }
31
- function AgentPlanAction(props) {
32
- return (_jsx(CardAction, { "data-slot": "agent-plan-action", ...props, className: cn("absolute top-0 right-(--panel-padding)", props.className) }));
33
- }
34
- function AgentPlanContent(props) {
35
- return (_jsx(CollapsibleContent, { asChild: true, children: _jsx(CardContent, { "data-slot": "agent-plan-content", ...props }) }));
36
- }
37
- function AgentPlanFooter(props) {
38
- return _jsx(CardFooter, { "data-slot": "agent-plan-footer", ...props });
39
- }
40
- function AgentPlanTrigger({ className, type = "button", ...props }) {
41
- return (_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs(Button, { "data-slot": "agent-plan-trigger", className: cn("size-8", className), size: "icon", variant: "ghost", ...props, type: type, children: [_jsx(ChevronsUpDownIcon, { "aria-hidden": "true", className: "size-4" }), _jsx("span", { className: "sr-only", children: "Toggle plan" })] }) }));
42
- }
43
- export { AgentPlan, AgentPlanAction, AgentPlanContent, AgentPlanDescription, AgentPlanFooter, AgentPlanHeader, AgentPlanTitle, AgentPlanTrigger, };
@@ -1,46 +0,0 @@
1
- import type * as React from "react";
2
- import { Button } from "@ciridae/ui/button";
3
- import { Collapsible, CollapsibleContent } from "@ciridae/ui/collapsible";
4
- import { ScrollArea } from "@ciridae/ui/scroll-area";
5
- type AgentQueueProps = React.ComponentProps<"div">;
6
- type AgentQueueSectionProps = React.ComponentProps<typeof Collapsible>;
7
- type AgentQueueSectionTriggerProps = React.ComponentProps<"button">;
8
- type AgentQueueSectionLabelProps = React.ComponentProps<"span"> & {
9
- count?: number;
10
- icon?: React.ReactNode;
11
- label: string;
12
- };
13
- type AgentQueueSectionContentProps = React.ComponentProps<typeof CollapsibleContent>;
14
- type AgentQueueListProps = React.ComponentProps<typeof ScrollArea>;
15
- type AgentQueueItemProps = React.ComponentProps<"li">;
16
- type AgentQueueItemIndicatorProps = React.ComponentProps<"span"> & {
17
- completed?: boolean;
18
- };
19
- type AgentQueueItemContentProps = React.ComponentProps<"span"> & {
20
- completed?: boolean;
21
- };
22
- type AgentQueueItemDescriptionProps = React.ComponentProps<"div"> & {
23
- completed?: boolean;
24
- };
25
- type AgentQueueItemActionsProps = React.ComponentProps<"div">;
26
- type AgentQueueItemActionProps = Omit<React.ComponentProps<typeof Button>, "size" | "variant">;
27
- type AgentQueueItemAttachmentProps = React.ComponentProps<"div">;
28
- type AgentQueueItemImageProps = React.ComponentProps<"img">;
29
- type AgentQueueItemFileProps = React.ComponentProps<"span">;
30
- declare function AgentQueue({ className, ...props }: AgentQueueProps): React.JSX.Element;
31
- declare function AgentQueueSection({ className, defaultOpen, ...props }: AgentQueueSectionProps): React.JSX.Element;
32
- declare function AgentQueueSectionTrigger({ children, className, ...props }: AgentQueueSectionTriggerProps): React.JSX.Element;
33
- declare function AgentQueueSectionLabel({ className, count, icon, label, ...props }: AgentQueueSectionLabelProps): React.JSX.Element;
34
- declare function AgentQueueSectionContent({ className, ...props }: AgentQueueSectionContentProps): React.JSX.Element;
35
- declare function AgentQueueList({ children, className, ...props }: AgentQueueListProps): React.JSX.Element;
36
- declare function AgentQueueItem({ className, ...props }: AgentQueueItemProps): React.JSX.Element;
37
- declare function AgentQueueItemIndicator({ className, completed, ...props }: AgentQueueItemIndicatorProps): React.JSX.Element;
38
- declare function AgentQueueItemContent({ className, completed, ...props }: AgentQueueItemContentProps): React.JSX.Element;
39
- declare function AgentQueueItemDescription({ className, completed, ...props }: AgentQueueItemDescriptionProps): React.JSX.Element;
40
- declare function AgentQueueItemActions({ className, ...props }: AgentQueueItemActionsProps): React.JSX.Element;
41
- declare function AgentQueueItemAction({ className, type, ...props }: AgentQueueItemActionProps): React.JSX.Element;
42
- declare function AgentQueueItemAttachment({ className, ...props }: AgentQueueItemAttachmentProps): React.JSX.Element;
43
- declare function AgentQueueItemImage({ alt, className, height, width, ...props }: AgentQueueItemImageProps): React.JSX.Element;
44
- declare function AgentQueueItemFile({ children, className, ...props }: AgentQueueItemFileProps): React.JSX.Element;
45
- export { AgentQueue, AgentQueueItem, AgentQueueItemAction, AgentQueueItemActions, AgentQueueItemAttachment, AgentQueueItemContent, AgentQueueItemDescription, AgentQueueItemFile, AgentQueueItemImage, AgentQueueItemIndicator, AgentQueueList, AgentQueueSection, AgentQueueSectionContent, AgentQueueSectionLabel, AgentQueueSectionTrigger, };
46
- export type { AgentQueueItemActionProps, AgentQueueItemActionsProps, AgentQueueItemAttachmentProps, AgentQueueItemContentProps, AgentQueueItemDescriptionProps, AgentQueueItemFileProps, AgentQueueItemImageProps, AgentQueueItemIndicatorProps, AgentQueueItemProps, AgentQueueListProps, AgentQueueProps, AgentQueueSectionContentProps, AgentQueueSectionLabelProps, AgentQueueSectionProps, AgentQueueSectionTriggerProps, };
@@ -1,53 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CheckIcon, ChevronDownIcon, CircleIcon, PaperclipIcon } from "lucide-react";
3
- import { Button } from "@ciridae/ui/button";
4
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@ciridae/ui/collapsible";
5
- import { ScrollArea } from "@ciridae/ui/scroll-area";
6
- import { cn } from "@ciridae/ui/utils";
7
- function AgentQueue({ className, ...props }) {
8
- return (_jsx("div", { "data-slot": "agent-queue", className: cn("grid gap-2 rounded-lg border bg-card p-2 text-card-foreground", className), ...props }));
9
- }
10
- function AgentQueueSection({ className, defaultOpen = true, ...props }) {
11
- return _jsx(Collapsible, { className: className, defaultOpen: defaultOpen, ...props });
12
- }
13
- function AgentQueueSectionTrigger({ children, className, ...props }) {
14
- return (_jsx(CollapsibleTrigger, { asChild: true, children: _jsx("button", { "data-slot": "agent-queue-section-trigger", className: cn("group flex w-full items-center justify-between rounded-md bg-muted/45 px-3 py-2 text-left text-sm font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-[var(--focus-ring-width)] focus-visible:ring-ring focus-visible:outline-none", className), type: "button", ...props, children: children }) }));
15
- }
16
- function AgentQueueSectionLabel({ className, count, icon, label, ...props }) {
17
- return (_jsxs("span", { "data-slot": "agent-queue-section-label", className: cn("flex items-center gap-2", className), ...props, children: [_jsx(ChevronDownIcon, { className: "size-4 transition-transform group-data-[state=closed]:-rotate-90" }), icon, _jsxs("span", { children: [count === undefined ? null : `${count} `, label] })] }));
18
- }
19
- function AgentQueueSectionContent({ className, ...props }) {
20
- return (_jsx(CollapsibleContent, { "data-slot": "agent-queue-section-content", className: className, ...props }));
21
- }
22
- function AgentQueueList({ children, className, ...props }) {
23
- return (_jsx(ScrollArea, { "data-slot": "agent-queue-list", className: cn("mt-2 max-h-48", className), ...props, children: _jsx("ul", { className: "grid gap-1 pr-3", children: children }) }));
24
- }
25
- function AgentQueueItem({ className, ...props }) {
26
- return (_jsx("li", { "data-slot": "agent-queue-item", className: cn("group grid gap-1 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-muted/60", className), ...props }));
27
- }
28
- function AgentQueueItemIndicator({ className, completed = false, ...props }) {
29
- const Icon = completed ? CheckIcon : CircleIcon;
30
- return (_jsx("span", { "data-slot": "agent-queue-item-indicator", className: cn("mt-0.5 text-muted-foreground", className), ...props, children: _jsx(Icon, { "aria-hidden": "true", className: "size-3.5" }) }));
31
- }
32
- function AgentQueueItemContent({ className, completed = false, ...props }) {
33
- return (_jsx("span", { "data-slot": "agent-queue-item-content", className: cn("min-w-0 flex-1 truncate", completed ? "text-muted-foreground line-through" : "text-foreground", className), ...props }));
34
- }
35
- function AgentQueueItemDescription({ className, completed = false, ...props }) {
36
- return (_jsx("div", { "data-slot": "agent-queue-item-description", className: cn("ml-6 text-xs", completed ? "text-muted-foreground/60 line-through" : "text-muted-foreground", className), ...props }));
37
- }
38
- function AgentQueueItemActions({ className, ...props }) {
39
- return (_jsx("div", { "data-slot": "agent-queue-item-actions", className: cn("flex gap-1", className), ...props }));
40
- }
41
- function AgentQueueItemAction({ className, type = "button", ...props }) {
42
- return (_jsx(Button, { className: cn("size-7 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 focus-visible:opacity-100", className), size: "icon-sm", type: type, variant: "ghost", ...props }));
43
- }
44
- function AgentQueueItemAttachment({ className, ...props }) {
45
- return (_jsx("div", { "data-slot": "agent-queue-item-attachment", className: cn("ml-6 flex flex-wrap gap-2", className), ...props }));
46
- }
47
- function AgentQueueItemImage({ alt = "", className, height = 32, width = 32, ...props }) {
48
- return (_jsx("img", { alt: alt, className: cn("size-8 rounded border object-cover", className), height: height, width: width, ...props }));
49
- }
50
- function AgentQueueItemFile({ children, className, ...props }) {
51
- return (_jsxs("span", { className: cn("inline-flex max-w-32 items-center gap-1 rounded border bg-muted px-2 py-1 text-xs", className), ...props, children: [_jsx(PaperclipIcon, { "aria-hidden": "true", className: "size-3 shrink-0" }), _jsx("span", { className: "truncate", children: children })] }));
52
- }
53
- export { AgentQueue, AgentQueueItem, AgentQueueItemAction, AgentQueueItemActions, AgentQueueItemAttachment, AgentQueueItemContent, AgentQueueItemDescription, AgentQueueItemFile, AgentQueueItemImage, AgentQueueItemIndicator, AgentQueueList, AgentQueueSection, AgentQueueSectionContent, AgentQueueSectionLabel, AgentQueueSectionTrigger, };
@@ -1,16 +0,0 @@
1
- import type * as React from "react";
2
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@ciridae/ui/collapsible";
3
- type AgentTaskProps = React.ComponentProps<typeof Collapsible>;
4
- type AgentTaskTriggerProps = React.ComponentProps<typeof CollapsibleTrigger> & {
5
- title: string;
6
- };
7
- type AgentTaskContentProps = React.ComponentProps<typeof CollapsibleContent>;
8
- type AgentTaskItemProps = React.ComponentProps<"div">;
9
- type AgentTaskItemFileProps = React.ComponentProps<"div">;
10
- declare function AgentTask({ className, defaultOpen, ...props }: AgentTaskProps): React.JSX.Element;
11
- declare function AgentTaskTrigger({ children, className, title, ...props }: AgentTaskTriggerProps): React.JSX.Element;
12
- declare function AgentTaskContent({ children, className, ...props }: AgentTaskContentProps): React.JSX.Element;
13
- declare function AgentTaskItem({ className, ...props }: AgentTaskItemProps): React.JSX.Element;
14
- declare function AgentTaskItemFile({ children, className, ...props }: AgentTaskItemFileProps): React.JSX.Element;
15
- export { AgentTask, AgentTaskContent, AgentTaskItem, AgentTaskItemFile, AgentTaskTrigger };
16
- export type { AgentTaskContentProps, AgentTaskItemFileProps, AgentTaskItemProps, AgentTaskProps, AgentTaskTriggerProps, };
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChevronDownIcon, FileTextIcon, SearchIcon } from "lucide-react";
3
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@ciridae/ui/collapsible";
4
- import { cn } from "@ciridae/ui/utils";
5
- function AgentTask({ className, defaultOpen = true, ...props }) {
6
- return (_jsx(Collapsible, { "data-slot": "agent-task", className: cn("rounded-md", className), defaultOpen: defaultOpen, ...props }));
7
- }
8
- function AgentTaskTrigger({ children, className, title, ...props }) {
9
- return (_jsx(CollapsibleTrigger, { "data-slot": "agent-task-trigger", className: cn("group flex w-full items-center gap-2 rounded-md py-1 text-left text-sm text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-[var(--focus-ring-width)] focus-visible:ring-ring focus-visible:outline-none", className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx(SearchIcon, { "aria-hidden": "true", className: "size-4 shrink-0" }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: title }), _jsx(ChevronDownIcon, { "aria-hidden": "true", className: "size-4 shrink-0 transition-transform group-data-[state=open]:rotate-180" })] })) }));
10
- }
11
- function AgentTaskContent({ children, className, ...props }) {
12
- return (_jsx(CollapsibleContent, { "data-slot": "agent-task-content", className: cn("mt-2 border-l-2 border-border pl-4", className), ...props, children: _jsx("div", { className: "grid gap-2", children: children }) }));
13
- }
14
- function AgentTaskItem({ className, ...props }) {
15
- return (_jsx("div", { "data-slot": "agent-task-item", className: cn("text-sm text-muted-foreground", className), ...props }));
16
- }
17
- function AgentTaskItemFile({ children, className, ...props }) {
18
- return (_jsxs("div", { "data-slot": "agent-task-item-file", className: cn("inline-flex max-w-full items-center gap-1 rounded-md border bg-secondary px-2 py-0.5 text-xs text-secondary-foreground", className), ...props, children: [_jsx(FileTextIcon, { "aria-hidden": "true", className: "size-3 shrink-0 text-muted-foreground" }), _jsx("span", { className: "truncate", children: children })] }));
19
- }
20
- export { AgentTask, AgentTaskContent, AgentTaskItem, AgentTaskItemFile, AgentTaskTrigger };
@@ -1,24 +0,0 @@
1
- import type * as React from "react";
2
- import type { AgenticApproval, AgenticToolState } from "@ciridae/ui/types";
3
- import { Button } from "@ciridae/ui/button";
4
- type ApprovalRequestProps = React.ComponentProps<"div"> & {
5
- approval?: AgenticApproval;
6
- state: AgenticToolState;
7
- };
8
- type ApprovalRequestTitleProps = React.ComponentProps<"div">;
9
- type ApprovalRequestDescriptionProps = React.ComponentProps<"div">;
10
- type ApprovalRequestActionsProps = React.ComponentProps<"div">;
11
- type ApprovalRequestActionProps = React.ComponentProps<typeof Button>;
12
- type ApprovalRequestStateProps = {
13
- children?: React.ReactNode;
14
- };
15
- declare function ApprovalRequest({ approval, className, state, ...props }: ApprovalRequestProps): React.JSX.Element | null;
16
- declare function ApprovalRequestTitle({ className, ...props }: ApprovalRequestTitleProps): React.JSX.Element;
17
- declare function ApprovalRequestDescription({ className, ...props }: ApprovalRequestDescriptionProps): React.JSX.Element;
18
- declare function ApprovalRequestPending({ children }: ApprovalRequestStateProps): React.ReactNode;
19
- declare function ApprovalRequestAccepted({ children }: ApprovalRequestStateProps): React.ReactNode;
20
- declare function ApprovalRequestRejected({ children }: ApprovalRequestStateProps): React.ReactNode;
21
- declare function ApprovalRequestActions({ className, ...props }: ApprovalRequestActionsProps): React.JSX.Element | null;
22
- declare function ApprovalRequestAction({ className, size, type, ...props }: ApprovalRequestActionProps): React.JSX.Element;
23
- export { ApprovalRequest, ApprovalRequestAccepted, ApprovalRequestAction, ApprovalRequestActions, ApprovalRequestDescription, ApprovalRequestPending, ApprovalRequestRejected, ApprovalRequestTitle, };
24
- export type { ApprovalRequestActionProps, ApprovalRequestActionsProps, ApprovalRequestDescriptionProps, ApprovalRequestProps, ApprovalRequestTitleProps, };
@@ -1,57 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext, useMemo } from "react";
3
- import { Button } from "@ciridae/ui/button";
4
- import { cn } from "@ciridae/ui/utils";
5
- const ApprovalRequestContext = createContext(null);
6
- const responseStates = [
7
- "approval-responded",
8
- "output-denied",
9
- "output-error",
10
- "output-available",
11
- ];
12
- function useApprovalRequest() {
13
- const context = useContext(ApprovalRequestContext);
14
- if (!context)
15
- throw new Error("ApprovalRequest components must be used within ApprovalRequest");
16
- return context;
17
- }
18
- function ApprovalRequest({ approval, className, state, ...props }) {
19
- const contextValue = useMemo(() => ({ approval, state }), [approval, state]);
20
- if (!approval || state === "input-streaming" || state === "input-available")
21
- return null;
22
- return (_jsx(ApprovalRequestContext.Provider, { value: contextValue, children: _jsx("div", { "data-slot": "approval-request", className: cn("grid gap-2 rounded-lg border bg-card p-3 text-sm text-card-foreground", className), ...props }) }));
23
- }
24
- function ApprovalRequestTitle({ className, ...props }) {
25
- return (_jsx("div", { "data-slot": "approval-request-title", className: cn("font-medium text-foreground", className), ...props }));
26
- }
27
- function ApprovalRequestDescription({ className, ...props }) {
28
- return (_jsx("div", { "data-slot": "approval-request-description", className: cn("text-muted-foreground", className), ...props }));
29
- }
30
- function ApprovalRequestPending({ children }) {
31
- const { state } = useApprovalRequest();
32
- if (state !== "approval-requested")
33
- return null;
34
- return children;
35
- }
36
- function ApprovalRequestAccepted({ children }) {
37
- const { approval, state } = useApprovalRequest();
38
- if (!approval?.approved || !responseStates.includes(state))
39
- return null;
40
- return children;
41
- }
42
- function ApprovalRequestRejected({ children }) {
43
- const { approval, state } = useApprovalRequest();
44
- if (approval?.approved !== false || !responseStates.includes(state))
45
- return null;
46
- return children;
47
- }
48
- function ApprovalRequestActions({ className, ...props }) {
49
- const { state } = useApprovalRequest();
50
- if (state !== "approval-requested")
51
- return null;
52
- return (_jsx("div", { "data-slot": "approval-request-actions", className: cn("flex items-center justify-end gap-2", className), ...props }));
53
- }
54
- function ApprovalRequestAction({ className, size = "sm", type = "button", ...props }) {
55
- return (_jsx(Button, { "data-slot": "approval-request-action", className: className, size: size, type: type, ...props }));
56
- }
57
- export { ApprovalRequest, ApprovalRequestAccepted, ApprovalRequestAction, ApprovalRequestActions, ApprovalRequestDescription, ApprovalRequestPending, ApprovalRequestRejected, ApprovalRequestTitle, };
@@ -1,24 +0,0 @@
1
- import type * as React from "react";
2
- import { Button } from "@ciridae/ui/button";
3
- type ArtifactProps = React.ComponentProps<"div">;
4
- type ArtifactHeaderProps = React.ComponentProps<"div">;
5
- type ArtifactCloseProps = React.ComponentProps<typeof Button>;
6
- type ArtifactTitleProps = React.ComponentProps<"p">;
7
- type ArtifactDescriptionProps = React.ComponentProps<"p">;
8
- type ArtifactActionsProps = React.ComponentProps<"div">;
9
- type ArtifactActionProps = React.ComponentProps<typeof Button> & {
10
- label?: string;
11
- mode?: "copy" | "download" | "open";
12
- value?: string;
13
- };
14
- type ArtifactContentProps = React.ComponentProps<"div">;
15
- declare function Artifact({ className, ...props }: ArtifactProps): React.JSX.Element;
16
- declare function ArtifactHeader({ className, ...props }: ArtifactHeaderProps): React.JSX.Element;
17
- declare function ArtifactClose({ children, type, ...props }: ArtifactCloseProps): React.JSX.Element;
18
- declare function ArtifactTitle({ className, ...props }: ArtifactTitleProps): React.JSX.Element;
19
- declare function ArtifactDescription({ className, ...props }: ArtifactDescriptionProps): React.JSX.Element;
20
- declare function ArtifactActions({ className, ...props }: ArtifactActionsProps): React.JSX.Element;
21
- declare function ArtifactAction({ children, label, mode, type, value, onClick, ...props }: ArtifactActionProps): React.JSX.Element;
22
- declare function ArtifactContent({ className, ...props }: ArtifactContentProps): React.JSX.Element;
23
- export { Artifact, ArtifactAction, ArtifactActions, ArtifactClose, ArtifactContent, ArtifactDescription, ArtifactHeader, ArtifactTitle, };
24
- export type { ArtifactActionProps, ArtifactActionsProps, ArtifactCloseProps, ArtifactContentProps, ArtifactDescriptionProps, ArtifactHeaderProps, ArtifactProps, ArtifactTitleProps, };
@@ -1,72 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { CheckIcon, CopyIcon, DownloadIcon, ExternalLinkIcon, XIcon } from "lucide-react";
3
- import { useState } from "react";
4
- import { Button } from "@ciridae/ui/button";
5
- import { cn } from "@ciridae/ui/utils";
6
- import { copyToClipboard } from "./clipboard";
7
- function Artifact({ className, ...props }) {
8
- return (_jsx("div", { "data-slot": "artifact", className: cn("flex h-full min-h-0 w-full flex-col overflow-hidden rounded-lg border bg-card text-card-foreground", className), ...props }));
9
- }
10
- function ArtifactHeader({ className, ...props }) {
11
- return (_jsx("div", { "data-slot": "artifact-header", className: cn("flex min-w-0 items-start justify-between gap-3 border-b px-4 py-3", className), ...props }));
12
- }
13
- function ArtifactClose({ children, type = "button", ...props }) {
14
- return (_jsx(Button, { "aria-label": "Close artifact", size: "icon", variant: "ghost", ...props, type: type, children: children ?? _jsx(XIcon, { "aria-hidden": "true", className: "size-4" }) }));
15
- }
16
- function ArtifactTitle({ className, ...props }) {
17
- return (_jsx("p", { "data-slot": "artifact-title", className: cn("truncate text-sm font-medium", className), ...props }));
18
- }
19
- function ArtifactDescription({ className, ...props }) {
20
- return (_jsx("p", { "data-slot": "artifact-description", className: cn("text-sm text-muted-foreground", className), ...props }));
21
- }
22
- function ArtifactActions({ className, ...props }) {
23
- return (_jsx("div", { "data-slot": "artifact-actions", className: cn("flex shrink-0 items-center gap-1", className), ...props }));
24
- }
25
- function ArtifactAction({ children, label, mode = "open", type = "button", value = "", onClick, ...props }) {
26
- const [copied, setCopied] = useState(false);
27
- const Icon = copied
28
- ? CheckIcon
29
- : mode === "copy"
30
- ? CopyIcon
31
- : mode === "download"
32
- ? DownloadIcon
33
- : ExternalLinkIcon;
34
- return (_jsx(Button, { "aria-label": copied ? "Copied" : label, size: "icon", variant: "ghost", ...props, type: type, onClick: (event) => {
35
- onClick?.(event);
36
- if (!event.defaultPrevented)
37
- void runArtifactAction(mode, value, setCopied);
38
- }, children: children ?? _jsx(Icon, { "aria-hidden": "true", className: "size-4" }) }));
39
- }
40
- function ArtifactContent({ className, ...props }) {
41
- return (_jsx("div", { "data-slot": "artifact-content", className: cn("min-h-0 flex-1 overflow-auto p-4", className), ...props }));
42
- }
43
- async function runArtifactAction(mode, value, setCopied) {
44
- if (!value)
45
- return;
46
- if (mode === "copy") {
47
- await copyToClipboard(value, setCopied);
48
- return;
49
- }
50
- if (mode === "download") {
51
- const link = document.createElement("a");
52
- link.href = value;
53
- link.download = getArtifactDownloadName(value);
54
- link.rel = "noreferrer";
55
- document.body.appendChild(link);
56
- link.click();
57
- link.remove();
58
- return;
59
- }
60
- window.open(value, "_blank", "noopener,noreferrer");
61
- }
62
- function getArtifactDownloadName(value) {
63
- try {
64
- const url = new URL(value, window.location.href);
65
- const name = url.pathname.split("/").filter(Boolean).pop();
66
- return name || "artifact";
67
- }
68
- catch {
69
- return "artifact";
70
- }
71
- }
72
- export { Artifact, ArtifactAction, ArtifactActions, ArtifactClose, ArtifactContent, ArtifactDescription, ArtifactHeader, ArtifactTitle, };
@@ -1,124 +0,0 @@
1
- import * as React from "react";
2
- import type { AgenticPromptAttachment, AgenticPromptAttachmentKind } from "@ciridae/ui/types";
3
- import { Button } from "@ciridae/ui/button";
4
- import { HoverCard, HoverCardContent, HoverCardTrigger } from "@ciridae/ui/hover-card";
5
- type AgenticAttachment = AgenticPromptAttachment & {
6
- file?: File;
7
- filename?: string;
8
- title?: string;
9
- type?: "file" | "source-document";
10
- };
11
- type AttachmentData = AgenticAttachment;
12
- type AttachmentMediaCategory = "image" | "video" | "audio" | "document" | "source" | "unknown";
13
- type AttachmentVariant = "grid" | "inline" | "list";
14
- type AttachmentErrorCode = "accept" | "max_attachments" | "max_attachment_size";
15
- type AttachmentError = {
16
- code: AttachmentErrorCode;
17
- message: string;
18
- };
19
- type AttachmentAddOptions = {
20
- kind?: AgenticPromptAttachmentKind;
21
- };
22
- type AttachmentScreenshotStatus = "idle" | "capturing" | "unavailable" | "error";
23
- type AttachmentControllerContextValue = {
24
- accept?: string;
25
- add: (files: File[] | FileList, options?: AttachmentAddOptions) => void;
26
- clear: () => void;
27
- error?: AttachmentError;
28
- files: AgenticAttachment[];
29
- maxAttachmentSizeMb?: number;
30
- maxAttachments?: number;
31
- openFileDialog: () => void;
32
- remove: (id: string) => void;
33
- screenshotStatus: AttachmentScreenshotStatus;
34
- takeScreenshot: () => Promise<void>;
35
- };
36
- type AttachmentProviderProps = {
37
- accept?: string;
38
- attachments?: AgenticAttachment[];
39
- children: React.ReactNode;
40
- defaultAttachments?: AgenticAttachment[];
41
- maxAttachmentSizeMb?: number;
42
- maxAttachments?: number;
43
- multiple?: boolean;
44
- onAttachmentError?: (error: AttachmentError) => void;
45
- onAttachmentsChange?: (attachments: AgenticAttachment[]) => void;
46
- onCaptureScreenshot?: () => File | null | Promise<File | null>;
47
- };
48
- type AttachmentsProps = React.ComponentProps<"div"> & {
49
- variant?: AttachmentVariant;
50
- };
51
- type AttachmentProps = React.ComponentProps<"div"> & {
52
- attachment?: AttachmentData;
53
- data?: AttachmentData;
54
- onRemove?: () => void;
55
- };
56
- type AttachmentPreviewProps = React.ComponentProps<"div"> & {
57
- fallbackIcon?: React.ReactNode;
58
- };
59
- type AttachmentInfoProps = React.ComponentProps<"div"> & {
60
- showMediaType?: boolean;
61
- };
62
- type AttachmentRemoveProps = React.ComponentProps<typeof Button> & {
63
- attachmentId?: string;
64
- label?: string;
65
- };
66
- type AttachmentHoverCardProps = React.ComponentProps<typeof HoverCard>;
67
- type AttachmentHoverCardTriggerProps = React.ComponentProps<typeof HoverCardTrigger>;
68
- type AttachmentHoverCardContentProps = React.ComponentProps<typeof HoverCardContent>;
69
- type AttachmentEmptyProps = React.ComponentProps<"div">;
70
- type AttachmentListProps = AttachmentsProps;
71
- type AttachmentNameProps = React.ComponentProps<"span">;
72
- type AttachmentMetaProps = React.ComponentProps<"span"> & {
73
- attachment?: AttachmentData;
74
- data?: AttachmentData;
75
- };
76
- type AttachmentActionRenderAs = "button" | "menu-item";
77
- type AttachmentActionAddFilesProps = React.ComponentProps<typeof Button> & {
78
- label?: string;
79
- renderAs?: AttachmentActionRenderAs;
80
- tooltip?: string;
81
- };
82
- type AttachmentActionAddScreenshotProps = React.ComponentProps<typeof Button> & {
83
- label?: string;
84
- renderAs?: AttachmentActionRenderAs;
85
- status?: AttachmentScreenshotStatus;
86
- tooltip?: string;
87
- };
88
- declare function AttachmentProvider({ accept, attachments, children, defaultAttachments, maxAttachmentSizeMb, maxAttachments, multiple, onAttachmentError, onAttachmentsChange, onCaptureScreenshot, }: AttachmentProviderProps): React.JSX.Element;
89
- declare function useAttachments(): AttachmentControllerContextValue;
90
- declare function useOptionalAttachments(): AttachmentControllerContextValue | null;
91
- declare function useAttachmentsContext(): {
92
- variant: AttachmentVariant;
93
- };
94
- declare function useAttachmentContext(): {
95
- data: AttachmentData;
96
- mediaCategory: AttachmentMediaCategory;
97
- onRemove?: () => void;
98
- variant: AttachmentVariant;
99
- };
100
- declare function Attachments({ variant, className, children, ...props }: AttachmentsProps): React.JSX.Element | null;
101
- declare function AttachmentList({ variant, ...props }: AttachmentListProps): React.JSX.Element;
102
- declare function Attachment({ attachment, children, className, data, onRemove, ...props }: AttachmentProps): React.JSX.Element | null;
103
- declare function AttachmentPreview({ fallbackIcon, className, ...props }: AttachmentPreviewProps): React.JSX.Element;
104
- declare function AttachmentInfo({ showMediaType, className, ...props }: AttachmentInfoProps): React.JSX.Element | null;
105
- declare function AttachmentName({ className, children, ...props }: AttachmentNameProps): React.JSX.Element;
106
- declare function AttachmentMeta({ attachment, children, className, data, ...props }: AttachmentMetaProps): React.JSX.Element;
107
- declare function AttachmentRemove({ attachmentId, children, className, label, onClick, size, type, variant: buttonVariant, ...props }: AttachmentRemoveProps): React.JSX.Element | null;
108
- declare function AttachmentHoverCard({ closeDelay, openDelay, ...props }: AttachmentHoverCardProps): React.JSX.Element;
109
- declare function AttachmentHoverCardTrigger(props: AttachmentHoverCardTriggerProps): React.JSX.Element;
110
- declare function AttachmentHoverCardContent({ align, className, ...props }: AttachmentHoverCardContentProps): React.JSX.Element;
111
- declare function AttachmentEmpty({ className, children, ...props }: AttachmentEmptyProps): React.JSX.Element;
112
- declare function AttachmentActionAddFiles({ children, className, label, onClick, renderAs, size, tooltip, type, variant, ...props }: AttachmentActionAddFilesProps): React.JSX.Element;
113
- declare function AttachmentActionAddScreenshot({ children, className, disabled, label, onClick, renderAs, size, status, tooltip, type, variant, ...props }: AttachmentActionAddScreenshotProps): React.JSX.Element;
114
- declare function useAttachmentDropTarget({ global, ref, }: {
115
- global?: boolean;
116
- ref: React.RefObject<HTMLElement | null>;
117
- }): void;
118
- declare function prepareAttachmentsForSubmit(attachments: AgenticAttachment[]): Promise<AgenticAttachment[]>;
119
- declare function fileToAttachment(file: File, kind?: AgenticPromptAttachmentKind): AgenticAttachment;
120
- declare function getMediaCategory(data: AttachmentData): AttachmentMediaCategory;
121
- declare function getAttachmentLabel(data: AttachmentData): string;
122
- declare function captureBrowserScreenshot(): Promise<File | null>;
123
- export { Attachment, AttachmentActionAddFiles, AttachmentActionAddScreenshot, AttachmentEmpty, AttachmentHoverCard, AttachmentHoverCardContent, AttachmentHoverCardTrigger, AttachmentInfo, AttachmentList, AttachmentMeta, AttachmentName, AttachmentPreview, AttachmentProvider, AttachmentRemove, Attachments, captureBrowserScreenshot, fileToAttachment, getAttachmentLabel, getMediaCategory, prepareAttachmentsForSubmit, useAttachmentContext, useAttachmentDropTarget, useAttachments, useAttachmentsContext, useOptionalAttachments, };
124
- export type { AgenticAttachment, AttachmentActionAddFilesProps, AttachmentActionAddScreenshotProps, AttachmentAddOptions, AttachmentControllerContextValue as AttachmentContextValue, AttachmentData, AttachmentEmptyProps, AttachmentError, AttachmentErrorCode, AttachmentHoverCardContentProps, AttachmentHoverCardProps, AttachmentHoverCardTriggerProps, AttachmentInfoProps, AttachmentListProps, AttachmentMediaCategory, AttachmentMetaProps, AttachmentNameProps, AttachmentPreviewProps, AttachmentProps, AttachmentProviderProps, AttachmentRemoveProps, AttachmentScreenshotStatus, AttachmentVariant, AttachmentsProps, };