@agentuity/workbench 0.0.86 → 0.0.88

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 (271) hide show
  1. package/dist/components/App.d.ts.map +1 -1
  2. package/dist/components/App.js +18 -2
  3. package/dist/components/App.js.map +1 -1
  4. package/dist/components/ai-elements/code-block.d.ts +3 -3
  5. package/dist/components/ai-elements/code-block.d.ts.map +1 -1
  6. package/dist/components/ai-elements/code-block.js +29 -7
  7. package/dist/components/ai-elements/code-block.js.map +1 -1
  8. package/dist/components/internal/Chat.d.ts +3 -2
  9. package/dist/components/internal/Chat.d.ts.map +1 -1
  10. package/dist/components/internal/Chat.js +23 -24
  11. package/dist/components/internal/Chat.js.map +1 -1
  12. package/dist/components/internal/InputSection.d.ts +3 -2
  13. package/dist/components/internal/InputSection.d.ts.map +1 -1
  14. package/dist/components/internal/InputSection.js +68 -6
  15. package/dist/components/internal/InputSection.js.map +1 -1
  16. package/dist/components/internal/MonacoJsonEditor.d.ts +3 -1
  17. package/dist/components/internal/MonacoJsonEditor.d.ts.map +1 -1
  18. package/dist/components/internal/MonacoJsonEditor.js +41 -57
  19. package/dist/components/internal/MonacoJsonEditor.js.map +1 -1
  20. package/dist/components/internal/Schema.d.ts +1 -2
  21. package/dist/components/internal/Schema.d.ts.map +1 -1
  22. package/dist/components/internal/Schema.js +2 -3
  23. package/dist/components/internal/Schema.js.map +1 -1
  24. package/dist/components/internal/WorkbenchProvider.d.ts.map +1 -1
  25. package/dist/components/internal/WorkbenchProvider.js +55 -8
  26. package/dist/components/internal/WorkbenchProvider.js.map +1 -1
  27. package/dist/components/ui/button.d.ts +1 -1
  28. package/dist/components/ui/input-group.js +2 -2
  29. package/dist/components/ui/input-group.js.map +1 -1
  30. package/dist/components/ui/input.d.ts.map +1 -1
  31. package/dist/components/ui/input.js +1 -1
  32. package/dist/components/ui/input.js.map +1 -1
  33. package/dist/index.d.ts +3 -5
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +4 -6
  36. package/dist/index.js.map +1 -1
  37. package/dist/{styles.css → standalone.css} +206 -1554
  38. package/package.json +29 -29
  39. package/src/{styles.css → base.css} +36 -52
  40. package/src/components/App.tsx +41 -5
  41. package/src/components/ai-elements/code-block.tsx +42 -10
  42. package/src/components/internal/Chat.tsx +112 -119
  43. package/src/components/internal/InputSection.tsx +79 -9
  44. package/src/components/internal/MonacoJsonEditor.tsx +59 -65
  45. package/src/components/internal/Schema.tsx +74 -86
  46. package/src/components/internal/WorkbenchProvider.tsx +69 -10
  47. package/src/components/ui/input-group.tsx +2 -2
  48. package/src/components/ui/input.tsx +2 -3
  49. package/src/index.ts +5 -14
  50. package/src/integration.css +15 -0
  51. package/src/standalone.css +25 -0
  52. package/dist/components/ConnectionStatus.d.ts +0 -7
  53. package/dist/components/ConnectionStatus.d.ts.map +0 -1
  54. package/dist/components/ConnectionStatus.js +0 -52
  55. package/dist/components/ConnectionStatus.js.map +0 -1
  56. package/dist/components/Inline.d.ts +0 -10
  57. package/dist/components/Inline.d.ts.map +0 -1
  58. package/dist/components/Inline.js +0 -11
  59. package/dist/components/Inline.js.map +0 -1
  60. package/dist/components/ai-elements/artifact.d.ts +0 -24
  61. package/dist/components/ai-elements/artifact.d.ts.map +0 -1
  62. package/dist/components/ai-elements/artifact.js +0 -21
  63. package/dist/components/ai-elements/artifact.js.map +0 -1
  64. package/dist/components/ai-elements/branch.d.ts +0 -21
  65. package/dist/components/ai-elements/branch.d.ts.map +0 -1
  66. package/dist/components/ai-elements/branch.js +0 -71
  67. package/dist/components/ai-elements/branch.js.map +0 -1
  68. package/dist/components/ai-elements/canvas.d.ts +0 -9
  69. package/dist/components/ai-elements/canvas.d.ts.map +0 -1
  70. package/dist/components/ai-elements/canvas.js +0 -6
  71. package/dist/components/ai-elements/canvas.js.map +0 -1
  72. package/dist/components/ai-elements/chain-of-thought.d.ts +0 -30
  73. package/dist/components/ai-elements/chain-of-thought.d.ts.map +0 -1
  74. package/dist/components/ai-elements/chain-of-thought.js +0 -52
  75. package/dist/components/ai-elements/chain-of-thought.js.map +0 -1
  76. package/dist/components/ai-elements/confirmation.d.ts +0 -27
  77. package/dist/components/ai-elements/confirmation.d.ts.map +0 -1
  78. package/dist/components/ai-elements/confirmation.js +0 -57
  79. package/dist/components/ai-elements/confirmation.js.map +0 -1
  80. package/dist/components/ai-elements/connection.d.ts +0 -3
  81. package/dist/components/ai-elements/connection.d.ts.map +0 -1
  82. package/dist/components/ai-elements/connection.js +0 -4
  83. package/dist/components/ai-elements/connection.js.map +0 -1
  84. package/dist/components/ai-elements/context.d.ts +0 -33
  85. package/dist/components/ai-elements/context.d.ts.map +0 -1
  86. package/dist/components/ai-elements/context.js +0 -167
  87. package/dist/components/ai-elements/context.js.map +0 -1
  88. package/dist/components/ai-elements/controls.d.ts +0 -5
  89. package/dist/components/ai-elements/controls.d.ts.map +0 -1
  90. package/dist/components/ai-elements/controls.js +0 -6
  91. package/dist/components/ai-elements/controls.js.map +0 -1
  92. package/dist/components/ai-elements/edge.d.ts +0 -6
  93. package/dist/components/ai-elements/edge.d.ts.map +0 -1
  94. package/dist/components/ai-elements/edge.js +0 -83
  95. package/dist/components/ai-elements/edge.js.map +0 -1
  96. package/dist/components/ai-elements/image.d.ts +0 -7
  97. package/dist/components/ai-elements/image.d.ts.map +0 -1
  98. package/dist/components/ai-elements/image.js +0 -4
  99. package/dist/components/ai-elements/image.js.map +0 -1
  100. package/dist/components/ai-elements/inline-citation.d.ts +0 -39
  101. package/dist/components/ai-elements/inline-citation.d.ts.map +0 -1
  102. package/dist/components/ai-elements/inline-citation.js +0 -62
  103. package/dist/components/ai-elements/inline-citation.js.map +0 -1
  104. package/dist/components/ai-elements/loader.d.ts +0 -6
  105. package/dist/components/ai-elements/loader.d.ts.map +0 -1
  106. package/dist/components/ai-elements/loader.js +0 -5
  107. package/dist/components/ai-elements/loader.js.map +0 -1
  108. package/dist/components/ai-elements/node.d.ts +0 -22
  109. package/dist/components/ai-elements/node.d.ts.map +0 -1
  110. package/dist/components/ai-elements/node.js +0 -12
  111. package/dist/components/ai-elements/node.js.map +0 -1
  112. package/dist/components/ai-elements/open-in-chat.d.ts +0 -29
  113. package/dist/components/ai-elements/open-in-chat.d.ts.map +0 -1
  114. package/dist/components/ai-elements/open-in-chat.js +0 -97
  115. package/dist/components/ai-elements/open-in-chat.js.map +0 -1
  116. package/dist/components/ai-elements/panel.d.ts +0 -6
  117. package/dist/components/ai-elements/panel.d.ts.map +0 -1
  118. package/dist/components/ai-elements/panel.js +0 -5
  119. package/dist/components/ai-elements/panel.js.map +0 -1
  120. package/dist/components/ai-elements/plan.d.ts +0 -26
  121. package/dist/components/ai-elements/plan.d.ts.map +0 -1
  122. package/dist/components/ai-elements/plan.js +0 -32
  123. package/dist/components/ai-elements/plan.js.map +0 -1
  124. package/dist/components/ai-elements/queue.d.ts +0 -62
  125. package/dist/components/ai-elements/queue.d.ts.map +0 -1
  126. package/dist/components/ai-elements/queue.js +0 -25
  127. package/dist/components/ai-elements/queue.js.map +0 -1
  128. package/dist/components/ai-elements/reasoning.d.ts +0 -17
  129. package/dist/components/ai-elements/reasoning.d.ts.map +0 -1
  130. package/dist/components/ai-elements/reasoning.js +0 -77
  131. package/dist/components/ai-elements/reasoning.js.map +0 -1
  132. package/dist/components/ai-elements/response.d.ts +0 -6
  133. package/dist/components/ai-elements/response.d.ts.map +0 -1
  134. package/dist/components/ai-elements/response.js +0 -8
  135. package/dist/components/ai-elements/response.js.map +0 -1
  136. package/dist/components/ai-elements/sources.d.ts +0 -13
  137. package/dist/components/ai-elements/sources.d.ts.map +0 -1
  138. package/dist/components/ai-elements/sources.js +0 -10
  139. package/dist/components/ai-elements/sources.js.map +0 -1
  140. package/dist/components/ai-elements/suggestion.d.ts +0 -11
  141. package/dist/components/ai-elements/suggestion.d.ts.map +0 -1
  142. package/dist/components/ai-elements/suggestion.js +0 -13
  143. package/dist/components/ai-elements/suggestion.js.map +0 -1
  144. package/dist/components/ai-elements/task.d.ts +0 -15
  145. package/dist/components/ai-elements/task.d.ts.map +0 -1
  146. package/dist/components/ai-elements/task.js +0 -11
  147. package/dist/components/ai-elements/task.js.map +0 -1
  148. package/dist/components/ai-elements/tool.d.ts +0 -24
  149. package/dist/components/ai-elements/tool.d.ts.map +0 -1
  150. package/dist/components/ai-elements/tool.js +0 -47
  151. package/dist/components/ai-elements/tool.js.map +0 -1
  152. package/dist/components/ai-elements/toolbar.d.ts +0 -6
  153. package/dist/components/ai-elements/toolbar.d.ts.map +0 -1
  154. package/dist/components/ai-elements/toolbar.js +0 -5
  155. package/dist/components/ai-elements/toolbar.js.map +0 -1
  156. package/dist/components/ai-elements/web-preview.d.ts +0 -35
  157. package/dist/components/ai-elements/web-preview.d.ts.map +0 -1
  158. package/dist/components/ai-elements/web-preview.js +0 -63
  159. package/dist/components/ai-elements/web-preview.js.map +0 -1
  160. package/dist/components/ui/alert.d.ts +0 -10
  161. package/dist/components/ui/alert.d.ts.map +0 -1
  162. package/dist/components/ui/alert.js +0 -25
  163. package/dist/components/ui/alert.js.map +0 -1
  164. package/dist/components/ui/badge.d.ts +0 -10
  165. package/dist/components/ui/badge.d.ts.map +0 -1
  166. package/dist/components/ui/badge.js +0 -23
  167. package/dist/components/ui/badge.js.map +0 -1
  168. package/dist/components/ui/card.d.ts +0 -10
  169. package/dist/components/ui/card.d.ts.map +0 -1
  170. package/dist/components/ui/card.js +0 -25
  171. package/dist/components/ui/card.js.map +0 -1
  172. package/dist/components/ui/carousel.d.ts +0 -20
  173. package/dist/components/ui/carousel.d.ts.map +0 -1
  174. package/dist/components/ui/carousel.js +0 -92
  175. package/dist/components/ui/carousel.js.map +0 -1
  176. package/dist/components/ui/checkbox.d.ts +0 -5
  177. package/dist/components/ui/checkbox.d.ts.map +0 -1
  178. package/dist/components/ui/checkbox.js +0 -9
  179. package/dist/components/ui/checkbox.js.map +0 -1
  180. package/dist/components/ui/collapsible.d.ts +0 -6
  181. package/dist/components/ui/collapsible.d.ts.map +0 -1
  182. package/dist/components/ui/collapsible.js +0 -14
  183. package/dist/components/ui/collapsible.js.map +0 -1
  184. package/dist/components/ui/field.d.ts +0 -25
  185. package/dist/components/ui/field.d.ts.map +0 -1
  186. package/dist/components/ui/field.js +0 -74
  187. package/dist/components/ui/field.js.map +0 -1
  188. package/dist/components/ui/form.d.ts +0 -25
  189. package/dist/components/ui/form.d.ts.map +0 -1
  190. package/dist/components/ui/form.js +0 -58
  191. package/dist/components/ui/form.js.map +0 -1
  192. package/dist/components/ui/label.d.ts +0 -5
  193. package/dist/components/ui/label.d.ts.map +0 -1
  194. package/dist/components/ui/label.js +0 -9
  195. package/dist/components/ui/label.js.map +0 -1
  196. package/dist/components/ui/progress.d.ts +0 -5
  197. package/dist/components/ui/progress.d.ts.map +0 -1
  198. package/dist/components/ui/progress.js +0 -9
  199. package/dist/components/ui/progress.js.map +0 -1
  200. package/dist/components/ui/separator.d.ts +0 -5
  201. package/dist/components/ui/separator.d.ts.map +0 -1
  202. package/dist/components/ui/separator.js +0 -9
  203. package/dist/components/ui/separator.js.map +0 -1
  204. package/dist/components/ui/switch.d.ts +0 -5
  205. package/dist/components/ui/switch.d.ts.map +0 -1
  206. package/dist/components/ui/switch.js +0 -8
  207. package/dist/components/ui/switch.js.map +0 -1
  208. package/dist/components/ui/tabs.d.ts +0 -8
  209. package/dist/components/ui/tabs.d.ts.map +0 -1
  210. package/dist/components/ui/tabs.js +0 -17
  211. package/dist/components/ui/tabs.js.map +0 -1
  212. package/dist/components/ui/toggle.d.ts +0 -10
  213. package/dist/components/ui/toggle.d.ts.map +0 -1
  214. package/dist/components/ui/toggle.js +0 -26
  215. package/dist/components/ui/toggle.js.map +0 -1
  216. package/dist/components.d.ts +0 -12
  217. package/dist/components.d.ts.map +0 -1
  218. package/dist/components.js +0 -13
  219. package/dist/components.js.map +0 -1
  220. package/dist/hooks/index.d.ts +0 -7
  221. package/dist/hooks/index.d.ts.map +0 -1
  222. package/dist/hooks/index.js +0 -5
  223. package/dist/hooks/index.js.map +0 -1
  224. package/dist/hooks/useWorkbenchSchemas.d.ts +0 -56
  225. package/dist/hooks/useWorkbenchSchemas.d.ts.map +0 -1
  226. package/dist/hooks/useWorkbenchSchemas.js +0 -63
  227. package/dist/hooks/useWorkbenchSchemas.js.map +0 -1
  228. package/src/components/ConnectionStatus.tsx +0 -67
  229. package/src/components/Inline.tsx +0 -16
  230. package/src/components/ai-elements/artifact.tsx +0 -118
  231. package/src/components/ai-elements/branch.tsx +0 -187
  232. package/src/components/ai-elements/canvas.tsx +0 -24
  233. package/src/components/ai-elements/chain-of-thought.tsx +0 -198
  234. package/src/components/ai-elements/confirmation.tsx +0 -119
  235. package/src/components/ai-elements/connection.tsx +0 -16
  236. package/src/components/ai-elements/context.tsx +0 -357
  237. package/src/components/ai-elements/controls.tsx +0 -18
  238. package/src/components/ai-elements/edge.tsx +0 -131
  239. package/src/components/ai-elements/image.tsx +0 -16
  240. package/src/components/ai-elements/inline-citation.tsx +0 -246
  241. package/src/components/ai-elements/loader.tsx +0 -88
  242. package/src/components/ai-elements/node.tsx +0 -66
  243. package/src/components/ai-elements/open-in-chat.tsx +0 -333
  244. package/src/components/ai-elements/panel.tsx +0 -12
  245. package/src/components/ai-elements/plan.tsx +0 -123
  246. package/src/components/ai-elements/queue.tsx +0 -231
  247. package/src/components/ai-elements/reasoning.tsx +0 -163
  248. package/src/components/ai-elements/response.tsx +0 -19
  249. package/src/components/ai-elements/sources.tsx +0 -53
  250. package/src/components/ai-elements/suggestion.tsx +0 -47
  251. package/src/components/ai-elements/task.tsx +0 -64
  252. package/src/components/ai-elements/tool.tsx +0 -136
  253. package/src/components/ai-elements/toolbar.tsx +0 -13
  254. package/src/components/ai-elements/web-preview.tsx +0 -238
  255. package/src/components/ui/alert.tsx +0 -60
  256. package/src/components/ui/badge.tsx +0 -40
  257. package/src/components/ui/card.tsx +0 -41
  258. package/src/components/ui/carousel.tsx +0 -234
  259. package/src/components/ui/checkbox.tsx +0 -27
  260. package/src/components/ui/collapsible.tsx +0 -21
  261. package/src/components/ui/field.tsx +0 -234
  262. package/src/components/ui/form.tsx +0 -154
  263. package/src/components/ui/label.tsx +0 -21
  264. package/src/components/ui/progress.tsx +0 -28
  265. package/src/components/ui/separator.tsx +0 -28
  266. package/src/components/ui/switch.tsx +0 -26
  267. package/src/components/ui/tabs.tsx +0 -52
  268. package/src/components/ui/toggle.tsx +0 -44
  269. package/src/components.tsx +0 -29
  270. package/src/hooks/index.ts +0 -20
  271. package/src/hooks/useWorkbenchSchemas.ts +0 -69
@@ -1,246 +0,0 @@
1
- 'use client';
2
-
3
- import { Badge } from '../ui/badge';
4
- import { Carousel, type CarouselApi, CarouselContent, CarouselItem } from '../ui/carousel';
5
- import { HoverCard, HoverCardContent, HoverCardTrigger } from '../ui/hover-card';
6
- import { cn } from '../../lib/utils';
7
- import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';
8
- import {
9
- type ComponentProps,
10
- createContext,
11
- useCallback,
12
- useContext,
13
- useEffect,
14
- useState,
15
- } from 'react';
16
-
17
- export type InlineCitationProps = ComponentProps<'span'>;
18
-
19
- export const InlineCitation = ({ className, ...props }: InlineCitationProps) => (
20
- <span className={cn('group inline items-center gap-1', className)} {...props} />
21
- );
22
-
23
- export type InlineCitationTextProps = ComponentProps<'span'>;
24
-
25
- export const InlineCitationText = ({ className, ...props }: InlineCitationTextProps) => (
26
- <span className={cn('transition-colors group-hover:bg-accent', className)} {...props} />
27
- );
28
-
29
- export type InlineCitationCardProps = ComponentProps<typeof HoverCard>;
30
-
31
- export const InlineCitationCard = (props: InlineCitationCardProps) => (
32
- <HoverCard closeDelay={0} openDelay={0} {...props} />
33
- );
34
-
35
- export type InlineCitationCardTriggerProps = ComponentProps<typeof Badge> & {
36
- sources: string[];
37
- };
38
-
39
- export const InlineCitationCardTrigger = ({
40
- sources,
41
- className,
42
- ...props
43
- }: InlineCitationCardTriggerProps) => (
44
- <HoverCardTrigger asChild>
45
- <Badge className={cn('ml-1 rounded-full', className)} variant="secondary" {...props}>
46
- {sources[0] ? (
47
- <>
48
- {new URL(sources[0]).hostname} {sources.length > 1 && `+${sources.length - 1}`}
49
- </>
50
- ) : (
51
- 'unknown'
52
- )}
53
- </Badge>
54
- </HoverCardTrigger>
55
- );
56
-
57
- export type InlineCitationCardBodyProps = ComponentProps<'div'>;
58
-
59
- export const InlineCitationCardBody = ({ className, ...props }: InlineCitationCardBodyProps) => (
60
- <HoverCardContent className={cn('relative w-80 p-0', className)} {...props} />
61
- );
62
-
63
- const CarouselApiContext = createContext<CarouselApi | undefined>(undefined);
64
-
65
- const useCarouselApi = () => {
66
- const context = useContext(CarouselApiContext);
67
- return context;
68
- };
69
-
70
- export type InlineCitationCarouselProps = ComponentProps<typeof Carousel>;
71
-
72
- export const InlineCitationCarousel = ({
73
- className,
74
- children,
75
- ...props
76
- }: InlineCitationCarouselProps) => {
77
- const [api, setApi] = useState<CarouselApi>();
78
-
79
- return (
80
- <CarouselApiContext.Provider value={api}>
81
- <Carousel className={cn('w-full', className)} setApi={setApi} {...props}>
82
- {children}
83
- </Carousel>
84
- </CarouselApiContext.Provider>
85
- );
86
- };
87
-
88
- export type InlineCitationCarouselContentProps = ComponentProps<'div'>;
89
-
90
- export const InlineCitationCarouselContent = (props: InlineCitationCarouselContentProps) => (
91
- <CarouselContent {...props} />
92
- );
93
-
94
- export type InlineCitationCarouselItemProps = ComponentProps<'div'>;
95
-
96
- export const InlineCitationCarouselItem = ({
97
- className,
98
- ...props
99
- }: InlineCitationCarouselItemProps) => (
100
- <CarouselItem className={cn('w-full space-y-2 p-4 pl-8', className)} {...props} />
101
- );
102
-
103
- export type InlineCitationCarouselHeaderProps = ComponentProps<'div'>;
104
-
105
- export const InlineCitationCarouselHeader = ({
106
- className,
107
- ...props
108
- }: InlineCitationCarouselHeaderProps) => (
109
- <div
110
- className={cn(
111
- 'flex items-center justify-between gap-2 rounded-t-md bg-secondary p-2',
112
- className
113
- )}
114
- {...props}
115
- />
116
- );
117
-
118
- export type InlineCitationCarouselIndexProps = ComponentProps<'div'>;
119
-
120
- export const InlineCitationCarouselIndex = ({
121
- children,
122
- className,
123
- ...props
124
- }: InlineCitationCarouselIndexProps) => {
125
- const api = useCarouselApi();
126
- const [current, setCurrent] = useState(0);
127
- const [count, setCount] = useState(0);
128
-
129
- useEffect(() => {
130
- if (!api) {
131
- return;
132
- }
133
-
134
- setCount(api.scrollSnapList().length);
135
- setCurrent(api.selectedScrollSnap() + 1);
136
-
137
- api.on('select', () => {
138
- setCurrent(api.selectedScrollSnap() + 1);
139
- });
140
- }, [api]);
141
-
142
- return (
143
- <div
144
- className={cn(
145
- 'flex flex-1 items-center justify-end px-3 py-1 text-muted-foreground text-xs',
146
- className
147
- )}
148
- {...props}
149
- >
150
- {children ?? `${current}/${count}`}
151
- </div>
152
- );
153
- };
154
-
155
- export type InlineCitationCarouselPrevProps = ComponentProps<'button'>;
156
-
157
- export const InlineCitationCarouselPrev = ({
158
- className,
159
- ...props
160
- }: InlineCitationCarouselPrevProps) => {
161
- const api = useCarouselApi();
162
-
163
- const handleClick = useCallback(() => {
164
- if (api) {
165
- api.scrollPrev();
166
- }
167
- }, [api]);
168
-
169
- return (
170
- <button
171
- aria-label="Previous"
172
- className={cn('shrink-0', className)}
173
- onClick={handleClick}
174
- type="button"
175
- {...props}
176
- >
177
- <ArrowLeftIcon className="size-4 text-muted-foreground" />
178
- </button>
179
- );
180
- };
181
-
182
- export type InlineCitationCarouselNextProps = ComponentProps<'button'>;
183
-
184
- export const InlineCitationCarouselNext = ({
185
- className,
186
- ...props
187
- }: InlineCitationCarouselNextProps) => {
188
- const api = useCarouselApi();
189
-
190
- const handleClick = useCallback(() => {
191
- if (api) {
192
- api.scrollNext();
193
- }
194
- }, [api]);
195
-
196
- return (
197
- <button
198
- aria-label="Next"
199
- className={cn('shrink-0', className)}
200
- onClick={handleClick}
201
- type="button"
202
- {...props}
203
- >
204
- <ArrowRightIcon className="size-4 text-muted-foreground" />
205
- </button>
206
- );
207
- };
208
-
209
- export type InlineCitationSourceProps = ComponentProps<'div'> & {
210
- title?: string;
211
- url?: string;
212
- description?: string;
213
- };
214
-
215
- export const InlineCitationSource = ({
216
- title,
217
- url,
218
- description,
219
- className,
220
- children,
221
- ...props
222
- }: InlineCitationSourceProps) => (
223
- <div className={cn('space-y-1', className)} {...props}>
224
- {title && <h4 className="truncate font-medium text-sm leading-tight">{title}</h4>}
225
- {url && <p className="truncate break-all text-muted-foreground text-xs">{url}</p>}
226
- {description && (
227
- <p className="line-clamp-3 text-muted-foreground text-sm leading-relaxed">{description}</p>
228
- )}
229
- {children}
230
- </div>
231
- );
232
-
233
- export type InlineCitationQuoteProps = ComponentProps<'blockquote'>;
234
-
235
- export const InlineCitationQuote = ({
236
- children,
237
- className,
238
- ...props
239
- }: InlineCitationQuoteProps) => (
240
- <blockquote
241
- className={cn('border-muted border-l-2 pl-3 text-muted-foreground text-sm italic', className)}
242
- {...props}
243
- >
244
- {children}
245
- </blockquote>
246
- );
@@ -1,88 +0,0 @@
1
- import { cn } from '../../lib/utils';
2
- import type { HTMLAttributes } from 'react';
3
-
4
- type LoaderIconProps = {
5
- size?: number;
6
- };
7
-
8
- const LoaderIcon = ({ size = 16 }: LoaderIconProps) => (
9
- <svg
10
- height={size}
11
- strokeLinejoin="round"
12
- style={{ color: 'currentcolor' }}
13
- viewBox="0 0 16 16"
14
- width={size}
15
- >
16
- <title>Loader</title>
17
- <g clipPath="url(#clip0_2393_1490)">
18
- <path d="M8 0V4" stroke="currentColor" strokeWidth="1.5" />
19
- <path d="M8 16V12" opacity="0.5" stroke="currentColor" strokeWidth="1.5" />
20
- <path
21
- d="M3.29773 1.52783L5.64887 4.7639"
22
- opacity="0.9"
23
- stroke="currentColor"
24
- strokeWidth="1.5"
25
- />
26
- <path
27
- d="M12.7023 1.52783L10.3511 4.7639"
28
- opacity="0.1"
29
- stroke="currentColor"
30
- strokeWidth="1.5"
31
- />
32
- <path
33
- d="M12.7023 14.472L10.3511 11.236"
34
- opacity="0.4"
35
- stroke="currentColor"
36
- strokeWidth="1.5"
37
- />
38
- <path
39
- d="M3.29773 14.472L5.64887 11.236"
40
- opacity="0.6"
41
- stroke="currentColor"
42
- strokeWidth="1.5"
43
- />
44
- <path
45
- d="M15.6085 5.52783L11.8043 6.7639"
46
- opacity="0.2"
47
- stroke="currentColor"
48
- strokeWidth="1.5"
49
- />
50
- <path
51
- d="M0.391602 10.472L4.19583 9.23598"
52
- opacity="0.7"
53
- stroke="currentColor"
54
- strokeWidth="1.5"
55
- />
56
- <path
57
- d="M15.6085 10.4722L11.8043 9.2361"
58
- opacity="0.3"
59
- stroke="currentColor"
60
- strokeWidth="1.5"
61
- />
62
- <path
63
- d="M0.391602 5.52783L4.19583 6.7639"
64
- opacity="0.8"
65
- stroke="currentColor"
66
- strokeWidth="1.5"
67
- />
68
- </g>
69
- <defs>
70
- <clipPath id="clip0_2393_1490">
71
- <rect fill="white" height="16" width="16" />
72
- </clipPath>
73
- </defs>
74
- </svg>
75
- );
76
-
77
- export type LoaderProps = HTMLAttributes<HTMLDivElement> & {
78
- size?: number;
79
- };
80
-
81
- export const Loader = ({ className, size = 16, ...props }: LoaderProps) => (
82
- <div
83
- className={cn('inline-flex animate-spin items-center justify-center', className)}
84
- {...props}
85
- >
86
- <LoaderIcon size={size} />
87
- </div>
88
- );
@@ -1,66 +0,0 @@
1
- import {
2
- Card,
3
- CardAction,
4
- CardContent,
5
- CardDescription,
6
- CardFooter,
7
- CardHeader,
8
- CardTitle,
9
- } from '../ui/card';
10
- import { cn } from '../../lib/utils';
11
- import { Handle, Position } from '@xyflow/react';
12
- import type { ComponentProps } from 'react';
13
-
14
- export type NodeProps = ComponentProps<typeof Card> & {
15
- handles: {
16
- target: boolean;
17
- source: boolean;
18
- };
19
- };
20
-
21
- export const Node = ({ handles, className, ...props }: NodeProps) => (
22
- <Card
23
- className={cn(
24
- 'node-container relative size-full h-auto w-sm gap-0 rounded-md p-0',
25
- className
26
- )}
27
- {...props}
28
- >
29
- {handles.target && <Handle position={Position.Left} type="target" />}
30
- {handles.source && <Handle position={Position.Right} type="source" />}
31
- {props.children}
32
- </Card>
33
- );
34
-
35
- export type NodeHeaderProps = ComponentProps<typeof CardHeader>;
36
-
37
- export const NodeHeader = ({ className, ...props }: NodeHeaderProps) => (
38
- <CardHeader
39
- className={cn('gap-0.5 rounded-t-md border-b bg-secondary p-3!', className)}
40
- {...props}
41
- />
42
- );
43
-
44
- export type NodeTitleProps = ComponentProps<typeof CardTitle>;
45
-
46
- export const NodeTitle = (props: NodeTitleProps) => <CardTitle {...props} />;
47
-
48
- export type NodeDescriptionProps = ComponentProps<typeof CardDescription>;
49
-
50
- export const NodeDescription = (props: NodeDescriptionProps) => <CardDescription {...props} />;
51
-
52
- export type NodeActionProps = ComponentProps<typeof CardAction>;
53
-
54
- export const NodeAction = (props: NodeActionProps) => <CardAction {...props} />;
55
-
56
- export type NodeContentProps = ComponentProps<typeof CardContent>;
57
-
58
- export const NodeContent = ({ className, ...props }: NodeContentProps) => (
59
- <CardContent className={cn('p-3', className)} {...props} />
60
- );
61
-
62
- export type NodeFooterProps = ComponentProps<typeof CardFooter>;
63
-
64
- export const NodeFooter = ({ className, ...props }: NodeFooterProps) => (
65
- <CardFooter className={cn('rounded-b-md border-t bg-secondary p-3!', className)} {...props} />
66
- );