@gram-ai/elements 1.27.4 → 1.27.5

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 (277) hide show
  1. package/README.md +72 -60
  2. package/README.typedoc.md +6 -6
  3. package/bin/cli.js +74 -74
  4. package/dist/compat-shims-CO9JXXV4.cjs.map +1 -1
  5. package/dist/{compat-shims-BPJ7Q68c.js → compat-shims-DxtUrORi.js} +4 -2
  6. package/dist/compat-shims-DxtUrORi.js.map +1 -0
  7. package/dist/components/ShareButton/index.d.ts +2 -2
  8. package/dist/components/assistant-ui/message-feedback.d.ts +1 -1
  9. package/dist/components/assistant-ui/tooltip-icon-button.d.ts +2 -2
  10. package/dist/components/ui/avatar.d.ts +2 -2
  11. package/dist/components/ui/button.d.ts +1 -1
  12. package/dist/components/ui/calendar.d.ts +1 -1
  13. package/dist/components/ui/collapsible.d.ts +1 -1
  14. package/dist/components/ui/dialog.d.ts +4 -4
  15. package/dist/components/ui/popover.d.ts +2 -2
  16. package/dist/components/ui/skeleton.d.ts +1 -1
  17. package/dist/components/ui/time-range-picker.d.ts +1 -1
  18. package/dist/components/ui/tool-ui.d.ts +7 -7
  19. package/dist/components/ui/tooltip.d.ts +2 -2
  20. package/dist/contexts/ConnectionStatusContext.d.ts +1 -1
  21. package/dist/elements.cjs +1 -1
  22. package/dist/elements.js +2 -2
  23. package/dist/hooks/useDensity.d.ts +73 -73
  24. package/dist/hooks/useMCPTools.d.ts +1 -1
  25. package/dist/hooks/useRadius.d.ts +1 -1
  26. package/dist/{index-BpJstUh1.cjs → index-C4bFBGfl.cjs} +4 -4
  27. package/dist/{index-BpJstUh1.cjs.map → index-C4bFBGfl.cjs.map} +1 -1
  28. package/dist/{index-CUitXazZ.js → index-D93pV0_o.js} +55 -55
  29. package/dist/{index-CUitXazZ.js.map → index-D93pV0_o.js.map} +1 -1
  30. package/dist/{index-D0bAYNQy.js → index-DuCQRbcQ.js} +279 -265
  31. package/dist/index-DuCQRbcQ.js.map +1 -0
  32. package/dist/{index-KSX4Qjip.cjs → index-y_PNN5vK.cjs} +10 -10
  33. package/dist/index-y_PNN5vK.cjs.map +1 -0
  34. package/dist/lib/cassette.d.ts +4 -4
  35. package/dist/lib/errorTracking.d.ts +1 -1
  36. package/dist/lib/messageConverter.d.ts +1 -1
  37. package/dist/lib/models.d.ts +1 -1
  38. package/dist/plugins/chart/ui/bar-chart.d.ts +1 -1
  39. package/dist/plugins/generative-ui/ui/accordion-wrapper.d.ts +2 -2
  40. package/dist/plugins/generative-ui/ui/accordion.d.ts +1 -1
  41. package/dist/plugins/generative-ui/ui/action-button.d.ts +2 -2
  42. package/dist/plugins/generative-ui/ui/alert-wrapper.d.ts +1 -1
  43. package/dist/plugins/generative-ui/ui/alert.d.ts +4 -4
  44. package/dist/plugins/generative-ui/ui/avatar.d.ts +5 -5
  45. package/dist/plugins/generative-ui/ui/badge.d.ts +2 -2
  46. package/dist/plugins/generative-ui/ui/button-wrapper.d.ts +2 -2
  47. package/dist/plugins/generative-ui/ui/button.d.ts +2 -2
  48. package/dist/plugins/generative-ui/ui/card-wrapper.d.ts +2 -2
  49. package/dist/plugins/generative-ui/ui/card.d.ts +8 -8
  50. package/dist/plugins/generative-ui/ui/checkbox.d.ts +1 -1
  51. package/dist/plugins/generative-ui/ui/data-table.d.ts +2 -2
  52. package/dist/plugins/generative-ui/ui/dialog.d.ts +3 -3
  53. package/dist/plugins/generative-ui/ui/dropdown-menu.d.ts +3 -3
  54. package/dist/plugins/generative-ui/ui/grid.d.ts +3 -3
  55. package/dist/plugins/generative-ui/ui/input-wrapper.d.ts +1 -1
  56. package/dist/plugins/generative-ui/ui/input.d.ts +2 -2
  57. package/dist/plugins/generative-ui/ui/label.d.ts +1 -1
  58. package/dist/plugins/generative-ui/ui/metric.d.ts +3 -3
  59. package/dist/plugins/generative-ui/ui/pagination.d.ts +6 -6
  60. package/dist/plugins/generative-ui/ui/popover.d.ts +4 -4
  61. package/dist/plugins/generative-ui/ui/progress.d.ts +2 -2
  62. package/dist/plugins/generative-ui/ui/radio-group.d.ts +1 -1
  63. package/dist/plugins/generative-ui/ui/select.d.ts +2 -2
  64. package/dist/plugins/generative-ui/ui/separator.d.ts +1 -1
  65. package/dist/plugins/generative-ui/ui/skeleton.d.ts +1 -1
  66. package/dist/plugins/generative-ui/ui/stack.d.ts +6 -6
  67. package/dist/plugins/generative-ui/ui/switch.d.ts +2 -2
  68. package/dist/plugins/generative-ui/ui/table.d.ts +9 -9
  69. package/dist/plugins/generative-ui/ui/tabs-wrapper.d.ts +1 -1
  70. package/dist/plugins/generative-ui/ui/tabs.d.ts +1 -1
  71. package/dist/plugins/generative-ui/ui/text.d.ts +3 -3
  72. package/dist/plugins/generative-ui/ui/textarea.d.ts +2 -2
  73. package/dist/plugins/generative-ui/ui/tooltip.d.ts +1 -1
  74. package/dist/plugins.cjs +1 -1
  75. package/dist/plugins.js +1 -1
  76. package/dist/{profiler-BFkhZRxj.js → profiler-FpBY9eRv.js} +2 -2
  77. package/dist/{profiler-BFkhZRxj.js.map → profiler-FpBY9eRv.js.map} +1 -1
  78. package/dist/{profiler-CyzxBxVz.cjs → profiler-_mthyjvo.cjs} +2 -2
  79. package/dist/{profiler-CyzxBxVz.cjs.map → profiler-_mthyjvo.cjs.map} +1 -1
  80. package/dist/react-shim.js +1 -1
  81. package/dist/server/express.cjs.map +1 -1
  82. package/dist/server/express.js.map +1 -1
  83. package/dist/{startRecording-Dq92sEHf.cjs → startRecording-NJcpiHw-.cjs} +2 -2
  84. package/dist/{startRecording-Dq92sEHf.cjs.map → startRecording-NJcpiHw-.cjs.map} +1 -1
  85. package/dist/{startRecording-C-PPAs_Z.js → startRecording-r5MXQ2Dm.js} +2 -2
  86. package/dist/{startRecording-C-PPAs_Z.js.map → startRecording-r5MXQ2Dm.js.map} +1 -1
  87. package/dist/types/index.d.ts +2 -2
  88. package/package.json +1 -5
  89. package/src/compat-plugin.ts +14 -14
  90. package/src/compat-shims.ts +33 -31
  91. package/src/compat.test.ts +48 -48
  92. package/src/compat.ts +6 -6
  93. package/src/components/Chat/index.tsx +17 -17
  94. package/src/components/Chat/stories/Charts.stories.tsx +98 -98
  95. package/src/components/Chat/stories/Composer.stories.tsx +15 -15
  96. package/src/components/Chat/stories/ConnectionConfiguration.stories.tsx +44 -44
  97. package/src/components/Chat/stories/CustomComponents.stories.tsx +17 -17
  98. package/src/components/Chat/stories/Density.stories.tsx +20 -20
  99. package/src/components/Chat/stories/ErrorBoundary.stories.tsx +47 -47
  100. package/src/components/Chat/stories/FrontendTools.stories.tsx +39 -39
  101. package/src/components/Chat/stories/GenerativeUI.stories.tsx +48 -48
  102. package/src/components/Chat/stories/MessageFeedback.stories.tsx +52 -52
  103. package/src/components/Chat/stories/Modal.stories.tsx +28 -28
  104. package/src/components/Chat/stories/Model.stories.tsx +11 -11
  105. package/src/components/Chat/stories/Radius.stories.tsx +20 -20
  106. package/src/components/Chat/stories/Sidecar.stories.tsx +13 -13
  107. package/src/components/Chat/stories/StyleIsolation.stories.tsx +11 -11
  108. package/src/components/Chat/stories/Theme.stories.tsx +25 -25
  109. package/src/components/Chat/stories/Thread.stories.tsx +25 -25
  110. package/src/components/Chat/stories/ToolApproval.stories.tsx +55 -55
  111. package/src/components/Chat/stories/ToolMentions.stories.tsx +17 -17
  112. package/src/components/Chat/stories/Tools.stories.tsx +88 -88
  113. package/src/components/Chat/stories/Variants.stories.tsx +32 -32
  114. package/src/components/Chat/stories/Welcome.stories.tsx +14 -14
  115. package/src/components/ChatHistory.tsx +7 -7
  116. package/src/components/FrontendTools/index.tsx +5 -5
  117. package/src/components/Replay.stories.tsx +157 -157
  118. package/src/components/Replay.tsx +76 -73
  119. package/src/components/ShadowRoot.tsx +40 -40
  120. package/src/components/ShareButton/index.tsx +32 -32
  121. package/src/components/assistant-ui/assistant-modal.tsx +92 -87
  122. package/src/components/assistant-ui/assistant-sidecar.tsx +35 -35
  123. package/src/components/assistant-ui/attachment.tsx +80 -80
  124. package/src/components/assistant-ui/connection-status-indicator.tsx +33 -33
  125. package/src/components/assistant-ui/error-boundary.tsx +34 -34
  126. package/src/components/assistant-ui/follow-on-suggestions.tsx +26 -26
  127. package/src/components/assistant-ui/markdown-text.tsx +69 -69
  128. package/src/components/assistant-ui/mentioned-tools-badges.tsx +38 -38
  129. package/src/components/assistant-ui/message-feedback.tsx +57 -50
  130. package/src/components/assistant-ui/reasoning.tsx +83 -83
  131. package/src/components/assistant-ui/thread-list.tsx +45 -45
  132. package/src/components/assistant-ui/thread.tsx +278 -278
  133. package/src/components/assistant-ui/tool-fallback.tsx +37 -37
  134. package/src/components/assistant-ui/tool-group.tsx +26 -26
  135. package/src/components/assistant-ui/tool-mention-autocomplete.tsx +122 -122
  136. package/src/components/assistant-ui/tooltip-icon-button.tsx +18 -18
  137. package/src/components/ui/avatar.tsx +12 -12
  138. package/src/components/ui/button.tsx +12 -12
  139. package/src/components/ui/buttonVariants.ts +17 -17
  140. package/src/components/ui/calendar.tsx +106 -106
  141. package/src/components/ui/charts.stories.tsx +56 -56
  142. package/src/components/ui/collapsible.tsx +5 -5
  143. package/src/components/ui/dialog.tsx +30 -30
  144. package/src/components/ui/generative-ui.stories.tsx +200 -200
  145. package/src/components/ui/generative-ui.tsx +26 -26
  146. package/src/components/ui/popover.tsx +14 -14
  147. package/src/components/ui/skeleton.tsx +5 -5
  148. package/src/components/ui/time-range-picker.stories.tsx +80 -80
  149. package/src/components/ui/time-range-picker.tsx +245 -244
  150. package/src/components/ui/tool-ui.stories.tsx +37 -37
  151. package/src/components/ui/tool-ui.tsx +221 -215
  152. package/src/components/ui/tooltip.tsx +15 -15
  153. package/src/constants/tailwind.ts +1 -1
  154. package/src/contexts/ChatIdContext.tsx +7 -7
  155. package/src/contexts/ConnectionStatusContext.tsx +64 -64
  156. package/src/contexts/ElementsProvider.tsx +214 -213
  157. package/src/contexts/ReplayContext.ts +3 -3
  158. package/src/contexts/ToolApprovalContext.tsx +54 -54
  159. package/src/contexts/ToolExecutionContext.tsx +34 -34
  160. package/src/contexts/contexts.ts +7 -7
  161. package/src/contexts/portal-container-context.ts +2 -2
  162. package/src/contexts/portal-container.tsx +7 -7
  163. package/src/embedded.ts +1 -1
  164. package/src/global.css +25 -25
  165. package/src/hooks/useAuth.ts +72 -72
  166. package/src/hooks/useDensity.ts +79 -79
  167. package/src/hooks/useElements.ts +6 -6
  168. package/src/hooks/useExpanded.ts +12 -12
  169. package/src/hooks/useFollowOnSuggestions.ts +83 -83
  170. package/src/hooks/useGramThreadListAdapter.tsx +99 -99
  171. package/src/hooks/useMCPTools.ts +47 -47
  172. package/src/hooks/useModel.ts +14 -14
  173. package/src/hooks/usePluginComponents.ts +11 -11
  174. package/src/hooks/usePortalContainer.ts +5 -5
  175. package/src/hooks/useRadius.ts +23 -23
  176. package/src/hooks/useRecordCassette.ts +34 -34
  177. package/src/hooks/useSession.ts +11 -11
  178. package/src/hooks/useThemeProps.ts +13 -13
  179. package/src/hooks/useThreadId.ts +4 -4
  180. package/src/hooks/useToolApproval.ts +7 -7
  181. package/src/hooks/useToolMentions.ts +40 -40
  182. package/src/index.ts +26 -26
  183. package/src/lib/api.test.ts +61 -61
  184. package/src/lib/api.ts +4 -3
  185. package/src/lib/auth.ts +13 -13
  186. package/src/lib/cassette.ts +84 -84
  187. package/src/lib/easing.ts +1 -1
  188. package/src/lib/errorTracking.config.ts +5 -5
  189. package/src/lib/errorTracking.ts +29 -29
  190. package/src/lib/generative-ui.ts +7 -7
  191. package/src/lib/humanize.ts +3 -3
  192. package/src/lib/messageConverter.test.ts +130 -127
  193. package/src/lib/messageConverter.ts +196 -196
  194. package/src/lib/models.ts +21 -20
  195. package/src/lib/token.test.ts +56 -56
  196. package/src/lib/token.ts +14 -14
  197. package/src/lib/tool-mentions.ts +45 -45
  198. package/src/lib/tools.ts +66 -62
  199. package/src/lib/utils.ts +5 -5
  200. package/src/lib.d.ts +1 -1
  201. package/src/plugins/README.md +5 -5
  202. package/src/plugins/chart/catalog.ts +18 -18
  203. package/src/plugins/chart/chart.test.ts +31 -31
  204. package/src/plugins/chart/component.tsx +34 -34
  205. package/src/plugins/chart/index.ts +4 -4
  206. package/src/plugins/chart/ui/area-chart.tsx +42 -42
  207. package/src/plugins/chart/ui/bar-chart.tsx +46 -46
  208. package/src/plugins/chart/ui/donut-chart.tsx +48 -48
  209. package/src/plugins/chart/ui/index.ts +7 -7
  210. package/src/plugins/chart/ui/line-chart.tsx +43 -43
  211. package/src/plugins/chart/ui/pie-chart.tsx +44 -44
  212. package/src/plugins/chart/ui/radar-chart.tsx +33 -33
  213. package/src/plugins/chart/ui/scatter-chart.tsx +43 -43
  214. package/src/plugins/components/MacOSWindowFrame.tsx +15 -15
  215. package/src/plugins/components/PluginLoadingState.tsx +10 -10
  216. package/src/plugins/components/index.ts +1 -1
  217. package/src/plugins/generative-ui/catalog.ts +54 -54
  218. package/src/plugins/generative-ui/component.tsx +85 -85
  219. package/src/plugins/generative-ui/index.ts +4 -4
  220. package/src/plugins/generative-ui/ui/accordion-wrapper.tsx +16 -16
  221. package/src/plugins/generative-ui/ui/accordion.tsx +16 -16
  222. package/src/plugins/generative-ui/ui/action-button.tsx +28 -28
  223. package/src/plugins/generative-ui/ui/alert-wrapper.tsx +8 -8
  224. package/src/plugins/generative-ui/ui/alert.tsx +20 -20
  225. package/src/plugins/generative-ui/ui/avatar-wrapper.tsx +7 -7
  226. package/src/plugins/generative-ui/ui/avatar.tsx +30 -30
  227. package/src/plugins/generative-ui/ui/badge.tsx +22 -22
  228. package/src/plugins/generative-ui/ui/button-wrapper.tsx +12 -12
  229. package/src/plugins/generative-ui/ui/button.tsx +28 -28
  230. package/src/plugins/generative-ui/ui/card-wrapper.tsx +8 -8
  231. package/src/plugins/generative-ui/ui/card.tsx +27 -27
  232. package/src/plugins/generative-ui/ui/checkbox-wrapper.tsx +9 -9
  233. package/src/plugins/generative-ui/ui/checkbox.tsx +9 -9
  234. package/src/plugins/generative-ui/ui/data-table.tsx +8 -8
  235. package/src/plugins/generative-ui/ui/dialog.tsx +31 -31
  236. package/src/plugins/generative-ui/ui/dropdown-menu.tsx +44 -44
  237. package/src/plugins/generative-ui/ui/grid.tsx +12 -12
  238. package/src/plugins/generative-ui/ui/index.ts +40 -40
  239. package/src/plugins/generative-ui/ui/input-wrapper.tsx +11 -11
  240. package/src/plugins/generative-ui/ui/input.tsx +9 -9
  241. package/src/plugins/generative-ui/ui/label.tsx +8 -8
  242. package/src/plugins/generative-ui/ui/list.tsx +11 -11
  243. package/src/plugins/generative-ui/ui/metric.tsx +23 -23
  244. package/src/plugins/generative-ui/ui/pagination.tsx +28 -28
  245. package/src/plugins/generative-ui/ui/popover.tsx +21 -21
  246. package/src/plugins/generative-ui/ui/progress.tsx +13 -13
  247. package/src/plugins/generative-ui/ui/radio-group.tsx +12 -12
  248. package/src/plugins/generative-ui/ui/select-wrapper.tsx +7 -7
  249. package/src/plugins/generative-ui/ui/select.tsx +37 -37
  250. package/src/plugins/generative-ui/ui/separator.tsx +9 -9
  251. package/src/plugins/generative-ui/ui/skeleton-wrapper.tsx +10 -10
  252. package/src/plugins/generative-ui/ui/skeleton.tsx +5 -5
  253. package/src/plugins/generative-ui/ui/stack.tsx +28 -28
  254. package/src/plugins/generative-ui/ui/switch.tsx +11 -11
  255. package/src/plugins/generative-ui/ui/table.tsx +32 -32
  256. package/src/plugins/generative-ui/ui/tabs-wrapper.tsx +11 -11
  257. package/src/plugins/generative-ui/ui/tabs.tsx +26 -26
  258. package/src/plugins/generative-ui/ui/text.tsx +12 -12
  259. package/src/plugins/generative-ui/ui/textarea.tsx +7 -7
  260. package/src/plugins/generative-ui/ui/tooltip.tsx +12 -12
  261. package/src/plugins/index.ts +7 -7
  262. package/src/react-shim.ts +6 -6
  263. package/src/server/bun.ts +12 -12
  264. package/src/server/core.ts +25 -25
  265. package/src/server/express.ts +17 -15
  266. package/src/server/fastify.ts +14 -14
  267. package/src/server/hono.ts +9 -9
  268. package/src/server/nextjs.ts +12 -12
  269. package/src/server/tanstack-start.ts +12 -12
  270. package/src/server.ts +27 -27
  271. package/src/storybook.d.ts +4 -4
  272. package/src/types/index.ts +122 -122
  273. package/src/types/plugins.ts +7 -7
  274. package/src/vite-env.d.ts +12 -12
  275. package/dist/compat-shims-BPJ7Q68c.js.map +0 -1
  276. package/dist/index-D0bAYNQy.js.map +0 -1
  277. package/dist/index-KSX4Qjip.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
- 'use client'
1
+ "use client";
2
2
 
3
- import { cn } from '@/lib/utils'
4
- import { FC } from 'react'
3
+ import { cn } from "@/lib/utils";
4
+ import { FC } from "react";
5
5
  import {
6
6
  RadarChart as RechartsRadarChart,
7
7
  Radar,
@@ -12,41 +12,41 @@ import {
12
12
  Legend,
13
13
  ResponsiveContainer,
14
14
  TooltipProps,
15
- } from 'recharts'
15
+ } from "recharts";
16
16
 
17
17
  const CustomTooltip = ({ active, payload }: TooltipProps<number, string>) => {
18
- if (!active || !payload || payload.length === 0) return null
19
- const entry = payload[0]
18
+ if (!active || !payload || payload.length === 0) return null;
19
+ const entry = payload[0];
20
20
  return (
21
- <div className="bg-background text-foreground border-border rounded-md border px-2 py-1 text-xs shadow-sm">
21
+ <div className="rounded-md border border-border bg-background px-2 py-1 text-xs text-foreground shadow-sm">
22
22
  <span className="font-medium">
23
- {typeof entry?.value === 'number'
23
+ {typeof entry?.value === "number"
24
24
  ? entry.value.toLocaleString()
25
25
  : entry?.value}
26
26
  </span>
27
27
  </div>
28
- )
29
- }
28
+ );
29
+ };
30
30
 
31
31
  const COLORS = [
32
- 'var(--chart-1)',
33
- 'var(--chart-2)',
34
- 'var(--chart-3)',
35
- 'var(--chart-4)',
36
- 'var(--chart-5)',
37
- ]
32
+ "var(--chart-1)",
33
+ "var(--chart-2)",
34
+ "var(--chart-3)",
35
+ "var(--chart-4)",
36
+ "var(--chart-5)",
37
+ ];
38
38
 
39
39
  interface DataPoint {
40
- label: string
41
- value: number
42
- color?: string
40
+ label: string;
41
+ value: number;
42
+ color?: string;
43
43
  }
44
44
 
45
45
  export interface RadarChartProps {
46
- title?: string
47
- data: DataPoint[]
48
- showLegend?: boolean
49
- className?: string
46
+ title?: string;
47
+ data: DataPoint[];
48
+ showLegend?: boolean;
49
+ className?: string;
50
50
  }
51
51
 
52
52
  export const RadarChart: FC<RadarChartProps> = ({
@@ -56,12 +56,12 @@ export const RadarChart: FC<RadarChartProps> = ({
56
56
  className,
57
57
  }) => {
58
58
  // Transform data for Recharts (uses 'subject' for labels)
59
- const chartData = data.map((d) => ({ subject: d.label, value: d.value }))
59
+ const chartData = data.map((d) => ({ subject: d.label, value: d.value }));
60
60
 
61
61
  return (
62
- <div className={cn('flex flex-col gap-2', className)}>
62
+ <div className={cn("flex flex-col gap-2", className)}>
63
63
  {title && (
64
- <h3 className="text-foreground text-sm font-medium">{title}</h3>
64
+ <h3 className="text-sm font-medium text-foreground">{title}</h3>
65
65
  )}
66
66
  <div className="h-[250px] w-full">
67
67
  <ResponsiveContainer width="100%" height="100%">
@@ -74,18 +74,18 @@ export const RadarChart: FC<RadarChartProps> = ({
74
74
  <PolarGrid stroke="var(--border)" />
75
75
  <PolarAngleAxis
76
76
  dataKey="subject"
77
- tick={{ fill: 'var(--foreground)', fontSize: 12 }}
77
+ tick={{ fill: "var(--foreground)", fontSize: 12 }}
78
78
  />
79
79
  <PolarRadiusAxis
80
- tick={{ fill: 'var(--foreground)', fontSize: 10 }}
81
- axisLine={{ stroke: 'var(--border)' }}
80
+ tick={{ fill: "var(--foreground)", fontSize: 10 }}
81
+ axisLine={{ stroke: "var(--border)" }}
82
82
  />
83
83
  <Tooltip content={<CustomTooltip />} />
84
84
  {showLegend && (
85
85
  <Legend
86
- wrapperStyle={{ color: 'var(--foreground)' }}
86
+ wrapperStyle={{ color: "var(--foreground)" }}
87
87
  formatter={(value) => (
88
- <span style={{ color: 'var(--foreground)' }}>{value}</span>
88
+ <span style={{ color: "var(--foreground)" }}>{value}</span>
89
89
  )}
90
90
  />
91
91
  )}
@@ -101,5 +101,5 @@ export const RadarChart: FC<RadarChartProps> = ({
101
101
  </ResponsiveContainer>
102
102
  </div>
103
103
  </div>
104
- )
105
- }
104
+ );
105
+ };
@@ -1,7 +1,7 @@
1
- 'use client'
1
+ "use client";
2
2
 
3
- import { cn } from '@/lib/utils'
4
- import { FC } from 'react'
3
+ import { cn } from "@/lib/utils";
4
+ import { FC } from "react";
5
5
  import {
6
6
  ScatterChart as RechartsScatterChart,
7
7
  Scatter,
@@ -13,43 +13,43 @@ import {
13
13
  ZAxis,
14
14
  Cell,
15
15
  TooltipProps,
16
- } from 'recharts'
16
+ } from "recharts";
17
17
 
18
18
  interface ScatterDataPoint {
19
- x: number
20
- y: number
21
- label?: string
22
- size?: number
23
- color?: string
19
+ x: number;
20
+ y: number;
21
+ label?: string;
22
+ size?: number;
23
+ color?: string;
24
24
  }
25
25
 
26
26
  const CustomTooltip = ({ active, payload }: TooltipProps<number, string>) => {
27
- if (!active || !payload || payload.length === 0) return null
28
- const point = payload[0]?.payload as ScatterDataPoint | undefined
27
+ if (!active || !payload || payload.length === 0) return null;
28
+ const point = payload[0]?.payload as ScatterDataPoint | undefined;
29
29
  return (
30
- <div className="bg-background text-foreground border-border rounded-md border px-2 py-1.5 text-xs shadow-sm">
30
+ <div className="rounded-md border border-border bg-background px-2 py-1.5 text-xs text-foreground shadow-sm">
31
31
  {point?.label && <div className="font-medium">{point.label}</div>}
32
32
  <div>x: {point?.x?.toLocaleString()}</div>
33
33
  <div>y: {point?.y?.toLocaleString()}</div>
34
34
  </div>
35
- )
36
- }
35
+ );
36
+ };
37
37
 
38
38
  const COLORS = [
39
- 'var(--chart-1)',
40
- 'var(--chart-2)',
41
- 'var(--chart-3)',
42
- 'var(--chart-4)',
43
- 'var(--chart-5)',
44
- ]
39
+ "var(--chart-1)",
40
+ "var(--chart-2)",
41
+ "var(--chart-3)",
42
+ "var(--chart-4)",
43
+ "var(--chart-5)",
44
+ ];
45
45
 
46
46
  export interface ScatterChartProps {
47
- title?: string
48
- data: ScatterDataPoint[]
49
- xLabel?: string
50
- yLabel?: string
51
- showGrid?: boolean
52
- className?: string
47
+ title?: string;
48
+ data: ScatterDataPoint[];
49
+ xLabel?: string;
50
+ yLabel?: string;
51
+ showGrid?: boolean;
52
+ className?: string;
53
53
  }
54
54
 
55
55
  export const ScatterChart: FC<ScatterChartProps> = ({
@@ -61,12 +61,12 @@ export const ScatterChart: FC<ScatterChartProps> = ({
61
61
  className,
62
62
  }) => {
63
63
  // Check if we have size data for bubble chart effect
64
- const hasSizeData = data.some((d) => d.size !== undefined)
64
+ const hasSizeData = data.some((d) => d.size !== undefined);
65
65
 
66
66
  return (
67
- <div className={cn('flex flex-col gap-2', className)}>
67
+ <div className={cn("flex flex-col gap-2", className)}>
68
68
  {title && (
69
- <h3 className="text-foreground text-sm font-medium">{title}</h3>
69
+ <h3 className="text-sm font-medium text-foreground">{title}</h3>
70
70
  )}
71
71
  <div className="h-[250px] w-full">
72
72
  <ResponsiveContainer width="100%" height="100%">
@@ -82,17 +82,17 @@ export const ScatterChart: FC<ScatterChartProps> = ({
82
82
  <XAxis
83
83
  type="number"
84
84
  dataKey="x"
85
- name={xLabel || 'x'}
86
- tick={{ fill: 'var(--foreground)', fontSize: 12 }}
87
- axisLine={{ stroke: 'var(--border)' }}
88
- tickLine={{ stroke: 'var(--border)' }}
85
+ name={xLabel || "x"}
86
+ tick={{ fill: "var(--foreground)", fontSize: 12 }}
87
+ axisLine={{ stroke: "var(--border)" }}
88
+ tickLine={{ stroke: "var(--border)" }}
89
89
  label={
90
90
  xLabel
91
91
  ? {
92
92
  value: xLabel,
93
- position: 'bottom',
93
+ position: "bottom",
94
94
  offset: -5,
95
- fill: 'var(--foreground)',
95
+ fill: "var(--foreground)",
96
96
  }
97
97
  : undefined
98
98
  }
@@ -100,17 +100,17 @@ export const ScatterChart: FC<ScatterChartProps> = ({
100
100
  <YAxis
101
101
  type="number"
102
102
  dataKey="y"
103
- name={yLabel || 'y'}
104
- tick={{ fill: 'var(--foreground)', fontSize: 12 }}
105
- axisLine={{ stroke: 'var(--border)' }}
106
- tickLine={{ stroke: 'var(--border)' }}
103
+ name={yLabel || "y"}
104
+ tick={{ fill: "var(--foreground)", fontSize: 12 }}
105
+ axisLine={{ stroke: "var(--border)" }}
106
+ tickLine={{ stroke: "var(--border)" }}
107
107
  label={
108
108
  yLabel
109
109
  ? {
110
110
  value: yLabel,
111
111
  angle: -90,
112
- position: 'left',
113
- fill: 'var(--foreground)',
112
+ position: "left",
113
+ fill: "var(--foreground)",
114
114
  }
115
115
  : undefined
116
116
  }
@@ -128,5 +128,5 @@ export const ScatterChart: FC<ScatterChartProps> = ({
128
128
  </ResponsiveContainer>
129
129
  </div>
130
130
  </div>
131
- )
132
- }
131
+ );
132
+ };
@@ -1,14 +1,14 @@
1
- 'use client'
1
+ "use client";
2
2
 
3
- import { useRadius } from '@/hooks/useRadius'
4
- import { cn } from '@/lib/utils'
5
- import { FC, ReactNode } from 'react'
3
+ import { useRadius } from "@/hooks/useRadius";
4
+ import { cn } from "@/lib/utils";
5
+ import { FC, ReactNode } from "react";
6
6
 
7
7
  interface MacOSWindowFrameProps {
8
- children: ReactNode
9
- className?: string
8
+ children: ReactNode;
9
+ className?: string;
10
10
  /** Optional title to display in the title bar */
11
- title?: string
11
+ title?: string;
12
12
  }
13
13
 
14
14
  /**
@@ -20,20 +20,20 @@ export const MacOSWindowFrame: FC<MacOSWindowFrameProps> = ({
20
20
  className,
21
21
  title,
22
22
  }) => {
23
- const r = useRadius()
23
+ const r = useRadius();
24
24
 
25
25
  return (
26
26
  <div className="@container my-4 w-full first:mt-0">
27
27
  <div
28
28
  className={cn(
29
29
  // after:hidden prevents assistant-ui from showing its default code block loading indicator
30
- 'border-border w-full overflow-hidden border after:hidden @sm:max-w-md @md:max-w-lg @lg:max-w-xl @xl:max-w-2xl',
31
- r('lg'),
32
- className
30
+ "w-full overflow-hidden border border-border after:hidden @sm:max-w-md @md:max-w-lg @lg:max-w-xl @xl:max-w-2xl",
31
+ r("lg"),
32
+ className,
33
33
  )}
34
34
  >
35
35
  {/* Title bar */}
36
- <div className="border-border bg-muted/50 flex h-8 items-center gap-2 border-b px-3">
36
+ <div className="flex h-8 items-center gap-2 border-b border-border bg-muted/50 px-3">
37
37
  {/* Traffic lights */}
38
38
  <div className="flex items-center gap-1.5">
39
39
  <div className="size-3 rounded-full bg-[#FF5F57]" />
@@ -42,7 +42,7 @@ export const MacOSWindowFrame: FC<MacOSWindowFrameProps> = ({
42
42
  </div>
43
43
  {/* Title */}
44
44
  {title && (
45
- <span className="text-muted-foreground flex-1 text-center text-xs font-medium">
45
+ <span className="flex-1 text-center text-xs font-medium text-muted-foreground">
46
46
  {title}
47
47
  </span>
48
48
  )}
@@ -51,5 +51,5 @@ export const MacOSWindowFrame: FC<MacOSWindowFrameProps> = ({
51
51
  {children}
52
52
  </div>
53
53
  </div>
54
- )
55
- }
54
+ );
55
+ };
@@ -1,12 +1,12 @@
1
- 'use client'
1
+ "use client";
2
2
 
3
- import { cn } from '@/lib/utils'
4
- import { FC } from 'react'
5
- import { MacOSWindowFrame } from './MacOSWindowFrame'
3
+ import { cn } from "@/lib/utils";
4
+ import { FC } from "react";
5
+ import { MacOSWindowFrame } from "./MacOSWindowFrame";
6
6
 
7
7
  interface PluginLoadingStateProps {
8
- text: string
9
- className?: string
8
+ text: string;
9
+ className?: string;
10
10
  }
11
11
 
12
12
  /**
@@ -21,11 +21,11 @@ export const PluginLoadingState: FC<PluginLoadingStateProps> = ({
21
21
  <MacOSWindowFrame className={className}>
22
22
  <div
23
23
  className={cn(
24
- 'bg-background relative flex min-h-[400px] items-center justify-center'
24
+ "relative flex min-h-[400px] items-center justify-center bg-background",
25
25
  )}
26
26
  >
27
- <span className="shimmer text-muted-foreground text-sm">{text}</span>
27
+ <span className="shimmer text-sm text-muted-foreground">{text}</span>
28
28
  </div>
29
29
  </MacOSWindowFrame>
30
- )
31
- }
30
+ );
31
+ };
@@ -1 +1 @@
1
- export { PluginLoadingState } from './PluginLoadingState'
1
+ export { PluginLoadingState } from "./PluginLoadingState";