@gram-ai/elements 1.33.2 → 1.35.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 (243) hide show
  1. package/dist/compat-shims-CO9JXXV4.cjs.map +1 -1
  2. package/dist/compat-shims-DxtUrORi.js.map +1 -1
  3. package/dist/compat-shims.d.ts +9 -8
  4. package/dist/components/Chat/index.d.ts +2 -1
  5. package/dist/components/ChatHistory.d.ts +1 -1
  6. package/dist/components/FrontendTools/index.d.ts +1 -1
  7. package/dist/components/Replay.d.ts +1 -1
  8. package/dist/components/Replay.stories.d.ts +2 -2
  9. package/dist/components/ShadowRoot.d.ts +1 -1
  10. package/dist/components/ShareButton/index.d.ts +1 -1
  11. package/dist/components/ui/avatar.d.ts +3 -3
  12. package/dist/components/ui/button.d.ts +2 -2
  13. package/dist/components/ui/buttonVariants.d.ts +2 -2
  14. package/dist/components/ui/calendar.d.ts +2 -1
  15. package/dist/components/ui/collapsible.d.ts +3 -3
  16. package/dist/components/ui/dialog.d.ts +10 -10
  17. package/dist/components/ui/popover.d.ts +4 -4
  18. package/dist/components/ui/skeleton.d.ts +1 -1
  19. package/dist/components/ui/time-range-picker.d.ts +18 -1
  20. package/dist/components/ui/time-range-picker.test.d.ts +1 -0
  21. package/dist/components/ui/tool-ui.d.ts +7 -7
  22. package/dist/components/ui/tooltip.d.ts +4 -4
  23. package/dist/contexts/ConnectionStatusContext.d.ts +1 -1
  24. package/dist/contexts/ElementsProvider.d.ts +1 -1
  25. package/dist/contexts/ToolApprovalContext.d.ts +2 -2
  26. package/dist/contexts/ToolExecutionContext.d.ts +1 -1
  27. package/dist/contexts/portal-container.d.ts +1 -1
  28. package/dist/elements.cjs +1 -1
  29. package/dist/elements.css +1 -1
  30. package/dist/elements.js +19 -16
  31. package/dist/hooks/useDensity.d.ts +1 -1
  32. package/dist/hooks/useElements.d.ts +2 -1
  33. package/dist/hooks/useGramThreadListAdapter.d.ts +26 -0
  34. package/dist/hooks/useRadius.d.ts +1 -1
  35. package/dist/hooks/useThemeProps.d.ts +1 -1
  36. package/dist/hooks/useToolApproval.d.ts +2 -1
  37. package/dist/{index-reVrRxP1.js → index-BhIowiZF.js} +9744 -9493
  38. package/dist/index-BhIowiZF.js.map +1 -0
  39. package/dist/{index-DAWGW1Nj.cjs → index-D0jIGQr7.cjs} +43 -43
  40. package/dist/index-D0jIGQr7.cjs.map +1 -0
  41. package/dist/{index-CGoLfO5p.js → index-Dz13dSDa.js} +108 -51
  42. package/dist/index-Dz13dSDa.js.map +1 -0
  43. package/dist/index-PXd3rs95.cjs +194 -0
  44. package/dist/index-PXd3rs95.cjs.map +1 -0
  45. package/dist/index.d.ts +4 -1
  46. package/dist/lib/errorTracking.d.ts +1 -1
  47. package/dist/lib/messageConverter.d.ts +58 -8
  48. package/dist/lib/models.d.ts +1 -1
  49. package/dist/lib/tools.d.ts +11 -10
  50. package/dist/lib/utils.d.ts +2 -0
  51. package/dist/plugins/generative-ui/catalog.d.ts +3 -3
  52. package/dist/plugins/generative-ui/ui/accordion-wrapper.d.ts +2 -2
  53. package/dist/plugins/generative-ui/ui/accordion.d.ts +4 -4
  54. package/dist/plugins/generative-ui/ui/action-button.d.ts +1 -1
  55. package/dist/plugins/generative-ui/ui/alert-wrapper.d.ts +2 -1
  56. package/dist/plugins/generative-ui/ui/alert.d.ts +3 -3
  57. package/dist/plugins/generative-ui/ui/avatar-wrapper.d.ts +2 -1
  58. package/dist/plugins/generative-ui/ui/avatar.d.ts +6 -6
  59. package/dist/plugins/generative-ui/ui/badge.d.ts +2 -2
  60. package/dist/plugins/generative-ui/ui/button-wrapper.d.ts +2 -1
  61. package/dist/plugins/generative-ui/ui/button.d.ts +3 -3
  62. package/dist/plugins/generative-ui/ui/card-wrapper.d.ts +1 -1
  63. package/dist/plugins/generative-ui/ui/card.d.ts +7 -7
  64. package/dist/plugins/generative-ui/ui/checkbox-wrapper.d.ts +2 -1
  65. package/dist/plugins/generative-ui/ui/checkbox.d.ts +1 -1
  66. package/dist/plugins/generative-ui/ui/data-table.d.ts +1 -1
  67. package/dist/plugins/generative-ui/ui/dialog.d.ts +10 -10
  68. package/dist/plugins/generative-ui/ui/dropdown-menu.d.ts +15 -15
  69. package/dist/plugins/generative-ui/ui/grid.d.ts +1 -1
  70. package/dist/plugins/generative-ui/ui/index.d.ts +57 -40
  71. package/dist/plugins/generative-ui/ui/input-wrapper.d.ts +2 -1
  72. package/dist/plugins/generative-ui/ui/input.d.ts +1 -1
  73. package/dist/plugins/generative-ui/ui/label.d.ts +1 -1
  74. package/dist/plugins/generative-ui/ui/list.d.ts +2 -1
  75. package/dist/plugins/generative-ui/ui/metric.d.ts +1 -1
  76. package/dist/plugins/generative-ui/ui/pagination.d.ts +7 -7
  77. package/dist/plugins/generative-ui/ui/popover.d.ts +7 -7
  78. package/dist/plugins/generative-ui/ui/progress.d.ts +1 -1
  79. package/dist/plugins/generative-ui/ui/radio-group.d.ts +2 -2
  80. package/dist/plugins/generative-ui/ui/select-wrapper.d.ts +2 -1
  81. package/dist/plugins/generative-ui/ui/select.d.ts +10 -10
  82. package/dist/plugins/generative-ui/ui/separator.d.ts +1 -1
  83. package/dist/plugins/generative-ui/ui/skeleton-wrapper.d.ts +2 -1
  84. package/dist/plugins/generative-ui/ui/skeleton.d.ts +1 -1
  85. package/dist/plugins/generative-ui/ui/stack.d.ts +1 -1
  86. package/dist/plugins/generative-ui/ui/switch.d.ts +1 -1
  87. package/dist/plugins/generative-ui/ui/table.d.ts +8 -8
  88. package/dist/plugins/generative-ui/ui/tabs-wrapper.d.ts +2 -2
  89. package/dist/plugins/generative-ui/ui/tabs.d.ts +4 -4
  90. package/dist/plugins/generative-ui/ui/text.d.ts +1 -1
  91. package/dist/plugins/generative-ui/ui/textarea.d.ts +1 -1
  92. package/dist/plugins/generative-ui/ui/tooltip.d.ts +4 -4
  93. package/dist/plugins.cjs +1 -1
  94. package/dist/plugins.js +1 -1
  95. package/dist/{profiler-noho3NG9.js → profiler-CtGKTWWP.js} +2 -2
  96. package/dist/{profiler-noho3NG9.js.map → profiler-CtGKTWWP.js.map} +1 -1
  97. package/dist/{profiler-B3tfiOx4.cjs → profiler-l7_HjTyw.cjs} +2 -2
  98. package/dist/{profiler-B3tfiOx4.cjs.map → profiler-l7_HjTyw.cjs.map} +1 -1
  99. package/dist/react-shim.cjs.map +1 -1
  100. package/dist/react-shim.d.ts +1 -1
  101. package/dist/react-shim.js +1 -4
  102. package/dist/react-shim.js.map +1 -1
  103. package/dist/server/bun.cjs.map +1 -1
  104. package/dist/server/bun.js.map +1 -1
  105. package/dist/server/express.cjs.map +1 -1
  106. package/dist/server/express.js.map +1 -1
  107. package/dist/server/fastify.cjs.map +1 -1
  108. package/dist/server/fastify.js.map +1 -1
  109. package/dist/server/hono.cjs.map +1 -1
  110. package/dist/server/hono.js.map +1 -1
  111. package/dist/server/nextjs.cjs.map +1 -1
  112. package/dist/server/nextjs.js.map +1 -1
  113. package/dist/server/tanstack-start.cjs.map +1 -1
  114. package/dist/server/tanstack-start.js.map +1 -1
  115. package/dist/{startRecording-7Oy6wM18.cjs → startRecording-DEw2Aeq4.cjs} +2 -2
  116. package/dist/{startRecording-7Oy6wM18.cjs.map → startRecording-DEw2Aeq4.cjs.map} +1 -1
  117. package/dist/{startRecording-mkmig-2n.js → startRecording-iYEL0-vr.js} +2 -2
  118. package/dist/{startRecording-mkmig-2n.js.map → startRecording-iYEL0-vr.js.map} +1 -1
  119. package/dist/types/index.d.ts +93 -4
  120. package/package.json +8 -9
  121. package/src/compat-shims.ts +16 -2
  122. package/src/components/Chat/index.tsx +4 -1
  123. package/src/components/Chat/stories/FrontendTools.stories.tsx +1 -1
  124. package/src/components/Chat/stories/ToolApproval.stories.tsx +2 -2
  125. package/src/components/Chat/stories/Tools.stories.tsx +13 -5
  126. package/src/components/ChatHistory.tsx +3 -1
  127. package/src/components/FrontendTools/index.tsx +1 -1
  128. package/src/components/MessageContent.tsx +1 -0
  129. package/src/components/Replay.stories.tsx +2 -3
  130. package/src/components/Replay.tsx +17 -10
  131. package/src/components/ShadowRoot.tsx +2 -2
  132. package/src/components/ShareButton/index.tsx +4 -2
  133. package/src/components/assistant-ui/assistant-modal.tsx +5 -3
  134. package/src/components/assistant-ui/attachment.tsx +1 -1
  135. package/src/components/assistant-ui/error-boundary.tsx +1 -1
  136. package/src/components/assistant-ui/markdown-text.tsx +1 -1
  137. package/src/components/assistant-ui/thread.tsx +256 -14
  138. package/src/components/assistant-ui/tool-mention-autocomplete.tsx +1 -1
  139. package/src/components/ui/avatar.tsx +3 -3
  140. package/src/components/ui/calendar.tsx +1 -1
  141. package/src/components/ui/collapsible.tsx +7 -3
  142. package/src/components/ui/dialog.tsx +18 -10
  143. package/src/components/ui/generative-ui.tsx +9 -4
  144. package/src/components/ui/popover.tsx +4 -4
  145. package/src/components/ui/skeleton.tsx +4 -1
  146. package/src/components/ui/time-range-picker.stories.tsx +164 -154
  147. package/src/components/ui/time-range-picker.test.ts +57 -0
  148. package/src/components/ui/time-range-picker.tsx +40 -9
  149. package/src/components/ui/tool-ui.tsx +18 -9
  150. package/src/components/ui/tooltip.tsx +4 -4
  151. package/src/contexts/ChatIdContext.tsx +1 -1
  152. package/src/contexts/ConnectionStatusContext.tsx +6 -5
  153. package/src/contexts/ElementsProvider.tsx +109 -37
  154. package/src/contexts/ReplayContext.ts +1 -1
  155. package/src/contexts/ToolApprovalContext.tsx +5 -1
  156. package/src/contexts/ToolExecutionContext.tsx +1 -1
  157. package/src/contexts/portal-container.tsx +1 -1
  158. package/src/hooks/useAuth.ts +2 -1
  159. package/src/hooks/useDensity.ts +1 -1
  160. package/src/hooks/useElements.ts +2 -1
  161. package/src/hooks/useFollowOnSuggestions.ts +3 -6
  162. package/src/hooks/useGramThreadListAdapter.tsx +118 -9
  163. package/src/hooks/useMCPTools.ts +2 -2
  164. package/src/hooks/useModel.ts +1 -3
  165. package/src/hooks/usePluginComponents.ts +3 -1
  166. package/src/hooks/useRadius.ts +1 -1
  167. package/src/hooks/useSession.ts +3 -1
  168. package/src/hooks/useThemeProps.ts +5 -5
  169. package/src/hooks/useToolApproval.ts +2 -1
  170. package/src/index.ts +16 -0
  171. package/src/lib/cassette.ts +21 -27
  172. package/src/lib/contextCompaction.test.ts +2 -2
  173. package/src/lib/contextCompaction.ts +20 -8
  174. package/src/lib/errorTracking.ts +1 -4
  175. package/src/lib/messageConverter.test.ts +11 -13
  176. package/src/lib/messageConverter.ts +105 -58
  177. package/src/lib/models.ts +19 -7
  178. package/src/lib/token.ts +2 -5
  179. package/src/lib/tool-mentions.ts +5 -2
  180. package/src/lib/tools.byte-cap.test.ts +1 -1
  181. package/src/lib/tools.test.ts +1 -1
  182. package/src/lib/tools.ts +15 -5
  183. package/src/lib/utils.ts +22 -2
  184. package/src/lib.d.ts +8 -1
  185. package/src/plugins/chart/chart.test.ts +3 -4
  186. package/src/plugins/chart/component.tsx +7 -6
  187. package/src/plugins/chart/ui/area-chart.tsx +1 -1
  188. package/src/plugins/chart/ui/line-chart.tsx +1 -1
  189. package/src/plugins/generative-ui/ui/accordion-wrapper.tsx +2 -2
  190. package/src/plugins/generative-ui/ui/accordion.tsx +4 -4
  191. package/src/plugins/generative-ui/ui/action-button.tsx +4 -2
  192. package/src/plugins/generative-ui/ui/alert-wrapper.tsx +1 -1
  193. package/src/plugins/generative-ui/ui/alert.tsx +7 -3
  194. package/src/plugins/generative-ui/ui/avatar-wrapper.tsx +5 -1
  195. package/src/plugins/generative-ui/ui/avatar.tsx +12 -6
  196. package/src/plugins/generative-ui/ui/badge.tsx +1 -1
  197. package/src/plugins/generative-ui/ui/button-wrapper.tsx +1 -1
  198. package/src/plugins/generative-ui/ui/button.tsx +1 -1
  199. package/src/plugins/generative-ui/ui/card-wrapper.tsx +1 -1
  200. package/src/plugins/generative-ui/ui/card.tsx +28 -7
  201. package/src/plugins/generative-ui/ui/checkbox-wrapper.tsx +1 -1
  202. package/src/plugins/generative-ui/ui/checkbox.tsx +1 -1
  203. package/src/plugins/generative-ui/ui/data-table.tsx +1 -1
  204. package/src/plugins/generative-ui/ui/dialog.tsx +15 -10
  205. package/src/plugins/generative-ui/ui/dropdown-menu.tsx +33 -15
  206. package/src/plugins/generative-ui/ui/grid.tsx +1 -1
  207. package/src/plugins/generative-ui/ui/index.ts +154 -40
  208. package/src/plugins/generative-ui/ui/input-wrapper.tsx +1 -1
  209. package/src/plugins/generative-ui/ui/input.tsx +5 -1
  210. package/src/plugins/generative-ui/ui/label.tsx +1 -1
  211. package/src/plugins/generative-ui/ui/list.tsx +5 -1
  212. package/src/plugins/generative-ui/ui/metric.tsx +2 -1
  213. package/src/plugins/generative-ui/ui/pagination.tsx +12 -7
  214. package/src/plugins/generative-ui/ui/popover.tsx +13 -7
  215. package/src/plugins/generative-ui/ui/progress.tsx +1 -1
  216. package/src/plugins/generative-ui/ui/radio-group.tsx +2 -2
  217. package/src/plugins/generative-ui/ui/select-wrapper.tsx +1 -1
  218. package/src/plugins/generative-ui/ui/select.tsx +14 -10
  219. package/src/plugins/generative-ui/ui/separator.tsx +1 -1
  220. package/src/plugins/generative-ui/ui/skeleton-wrapper.tsx +1 -1
  221. package/src/plugins/generative-ui/ui/skeleton.tsx +4 -1
  222. package/src/plugins/generative-ui/ui/stack.tsx +1 -1
  223. package/src/plugins/generative-ui/ui/switch.tsx +1 -1
  224. package/src/plugins/generative-ui/ui/table.tsx +29 -8
  225. package/src/plugins/generative-ui/ui/tabs-wrapper.tsx +5 -2
  226. package/src/plugins/generative-ui/ui/tabs.tsx +4 -4
  227. package/src/plugins/generative-ui/ui/text.tsx +1 -1
  228. package/src/plugins/generative-ui/ui/textarea.tsx +4 -1
  229. package/src/plugins/generative-ui/ui/tooltip.tsx +4 -4
  230. package/src/react-shim.ts +9 -4
  231. package/src/server/bun.ts +1 -1
  232. package/src/server/express.ts +1 -1
  233. package/src/server/fastify.ts +1 -1
  234. package/src/server/hono.ts +1 -1
  235. package/src/server/nextjs.ts +1 -1
  236. package/src/server/tanstack-start.ts +1 -1
  237. package/src/storybook.d.ts +5 -0
  238. package/src/types/index.ts +112 -4
  239. package/dist/index-BCV7Zf9E.cjs +0 -194
  240. package/dist/index-BCV7Zf9E.cjs.map +0 -1
  241. package/dist/index-CGoLfO5p.js.map +0 -1
  242. package/dist/index-DAWGW1Nj.cjs.map +0 -1
  243. package/dist/index-reVrRxP1.js.map +0 -1
@@ -8,13 +8,15 @@ import { cn } from "@/lib/utils";
8
8
 
9
9
  function DropdownMenu({
10
10
  ...props
11
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {
11
+ }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): React.JSX.Element {
12
12
  return <DropdownMenuPrimitive.Root data-slot="dropdown-menu" {...props} />;
13
13
  }
14
14
 
15
15
  function DropdownMenuPortal({
16
16
  ...props
17
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {
17
+ }: React.ComponentProps<
18
+ typeof DropdownMenuPrimitive.Portal
19
+ >): React.JSX.Element {
18
20
  return (
19
21
  <DropdownMenuPrimitive.Portal data-slot="dropdown-menu-portal" {...props} />
20
22
  );
@@ -22,7 +24,9 @@ function DropdownMenuPortal({
22
24
 
23
25
  function DropdownMenuTrigger({
24
26
  ...props
25
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {
27
+ }: React.ComponentProps<
28
+ typeof DropdownMenuPrimitive.Trigger
29
+ >): React.JSX.Element {
26
30
  return (
27
31
  <DropdownMenuPrimitive.Trigger
28
32
  data-slot="dropdown-menu-trigger"
@@ -35,7 +39,9 @@ function DropdownMenuContent({
35
39
  className,
36
40
  sideOffset = 4,
37
41
  ...props
38
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {
42
+ }: React.ComponentProps<
43
+ typeof DropdownMenuPrimitive.Content
44
+ >): React.JSX.Element {
39
45
  return (
40
46
  <DropdownMenuPrimitive.Portal>
41
47
  <DropdownMenuPrimitive.Content
@@ -53,7 +59,9 @@ function DropdownMenuContent({
53
59
 
54
60
  function DropdownMenuGroup({
55
61
  ...props
56
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {
62
+ }: React.ComponentProps<
63
+ typeof DropdownMenuPrimitive.Group
64
+ >): React.JSX.Element {
57
65
  return (
58
66
  <DropdownMenuPrimitive.Group data-slot="dropdown-menu-group" {...props} />
59
67
  );
@@ -67,7 +75,7 @@ function DropdownMenuItem({
67
75
  }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
68
76
  inset?: boolean;
69
77
  variant?: "default" | "destructive";
70
- }) {
78
+ }): React.JSX.Element {
71
79
  return (
72
80
  <DropdownMenuPrimitive.Item
73
81
  data-slot="dropdown-menu-item"
@@ -87,7 +95,9 @@ function DropdownMenuCheckboxItem({
87
95
  children,
88
96
  checked,
89
97
  ...props
90
- }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {
98
+ }: React.ComponentProps<
99
+ typeof DropdownMenuPrimitive.CheckboxItem
100
+ >): React.JSX.Element {
91
101
  return (
92
102
  <DropdownMenuPrimitive.CheckboxItem
93
103
  data-slot="dropdown-menu-checkbox-item"
@@ -110,7 +120,9 @@ function DropdownMenuCheckboxItem({
110
120
 
111
121
  function DropdownMenuRadioGroup({
112
122
  ...props
113
- }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {
123
+ }: React.ComponentProps<
124
+ typeof DropdownMenuPrimitive.RadioGroup
125
+ >): React.JSX.Element {
114
126
  return (
115
127
  <DropdownMenuPrimitive.RadioGroup
116
128
  data-slot="dropdown-menu-radio-group"
@@ -123,7 +135,9 @@ function DropdownMenuRadioItem({
123
135
  className,
124
136
  children,
125
137
  ...props
126
- }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {
138
+ }: React.ComponentProps<
139
+ typeof DropdownMenuPrimitive.RadioItem
140
+ >): React.JSX.Element {
127
141
  return (
128
142
  <DropdownMenuPrimitive.RadioItem
129
143
  data-slot="dropdown-menu-radio-item"
@@ -149,7 +163,7 @@ function DropdownMenuLabel({
149
163
  ...props
150
164
  }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
151
165
  inset?: boolean;
152
- }) {
166
+ }): React.JSX.Element {
153
167
  return (
154
168
  <DropdownMenuPrimitive.Label
155
169
  data-slot="dropdown-menu-label"
@@ -166,7 +180,9 @@ function DropdownMenuLabel({
166
180
  function DropdownMenuSeparator({
167
181
  className,
168
182
  ...props
169
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {
183
+ }: React.ComponentProps<
184
+ typeof DropdownMenuPrimitive.Separator
185
+ >): React.JSX.Element {
170
186
  return (
171
187
  <DropdownMenuPrimitive.Separator
172
188
  data-slot="dropdown-menu-separator"
@@ -179,7 +195,7 @@ function DropdownMenuSeparator({
179
195
  function DropdownMenuShortcut({
180
196
  className,
181
197
  ...props
182
- }: React.ComponentProps<"span">) {
198
+ }: React.ComponentProps<"span">): React.JSX.Element {
183
199
  return (
184
200
  <span
185
201
  data-slot="dropdown-menu-shortcut"
@@ -194,7 +210,7 @@ function DropdownMenuShortcut({
194
210
 
195
211
  function DropdownMenuSub({
196
212
  ...props
197
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {
213
+ }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): React.JSX.Element {
198
214
  return <DropdownMenuPrimitive.Sub data-slot="dropdown-menu-sub" {...props} />;
199
215
  }
200
216
 
@@ -205,7 +221,7 @@ function DropdownMenuSubTrigger({
205
221
  ...props
206
222
  }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
207
223
  inset?: boolean;
208
- }) {
224
+ }): React.JSX.Element {
209
225
  return (
210
226
  <DropdownMenuPrimitive.SubTrigger
211
227
  data-slot="dropdown-menu-sub-trigger"
@@ -225,7 +241,9 @@ function DropdownMenuSubTrigger({
225
241
  function DropdownMenuSubContent({
226
242
  className,
227
243
  ...props
228
- }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {
244
+ }: React.ComponentProps<
245
+ typeof DropdownMenuPrimitive.SubContent
246
+ >): React.JSX.Element {
229
247
  return (
230
248
  <DropdownMenuPrimitive.SubContent
231
249
  data-slot="dropdown-menu-sub-content"
@@ -17,7 +17,7 @@ export function Grid({
17
17
  gap = "md",
18
18
  className,
19
19
  ...props
20
- }: GridProps) {
20
+ }: GridProps): React.JSX.Element {
21
21
  return (
22
22
  <div
23
23
  data-slot="grid"
@@ -1,43 +1,157 @@
1
1
  // Vercel shadcn primitives
2
- export * from "./accordion";
3
- export * from "./alert";
4
- export * from "./avatar";
5
- export * from "./badge";
6
- export * from "./button";
7
- export * from "./card";
8
- export * from "./checkbox";
9
- export * from "./dialog";
10
- export * from "./dropdown-menu";
11
- export * from "./input";
12
- export * from "./label";
13
- export * from "./pagination";
14
- export * from "./popover";
15
- export * from "./progress";
16
- export * from "./radio-group";
17
- export * from "./select";
18
- export * from "./separator";
19
- export * from "./skeleton";
20
- export * from "./switch";
21
- export * from "./table";
22
- export * from "./tabs";
23
- export * from "./textarea";
24
- export * from "./tooltip";
2
+ export {
3
+ Accordion,
4
+ AccordionContent,
5
+ AccordionItem,
6
+ AccordionTrigger,
7
+ } from "./accordion";
8
+ export { Alert, AlertDescription, AlertTitle } from "./alert";
9
+ export {
10
+ Avatar,
11
+ AvatarBadge,
12
+ AvatarFallback,
13
+ AvatarGroup,
14
+ AvatarGroupCount,
15
+ AvatarImage,
16
+ } from "./avatar";
17
+ export { Badge, badgeVariants } from "./badge";
18
+ export { Button, buttonVariants } from "./button";
19
+ export {
20
+ Card,
21
+ CardAction,
22
+ CardContent,
23
+ CardDescription,
24
+ CardFooter,
25
+ CardHeader,
26
+ CardTitle,
27
+ } from "./card";
28
+ export { Checkbox } from "./checkbox";
29
+ export {
30
+ Dialog,
31
+ DialogClose,
32
+ DialogContent,
33
+ DialogDescription,
34
+ DialogFooter,
35
+ DialogHeader,
36
+ DialogOverlay,
37
+ DialogPortal,
38
+ DialogTitle,
39
+ DialogTrigger,
40
+ } from "./dialog";
41
+ export {
42
+ DropdownMenu,
43
+ DropdownMenuCheckboxItem,
44
+ DropdownMenuContent,
45
+ DropdownMenuGroup,
46
+ DropdownMenuItem,
47
+ DropdownMenuLabel,
48
+ DropdownMenuPortal,
49
+ DropdownMenuRadioGroup,
50
+ DropdownMenuRadioItem,
51
+ DropdownMenuSeparator,
52
+ DropdownMenuShortcut,
53
+ DropdownMenuSub,
54
+ DropdownMenuSubContent,
55
+ DropdownMenuSubTrigger,
56
+ DropdownMenuTrigger,
57
+ } from "./dropdown-menu";
58
+ export { Input } from "./input";
59
+ export { Label } from "./label";
60
+ export {
61
+ Pagination,
62
+ PaginationContent,
63
+ PaginationEllipsis,
64
+ PaginationItem,
65
+ PaginationLink,
66
+ PaginationNext,
67
+ PaginationPrevious,
68
+ } from "./pagination";
69
+ export {
70
+ Popover,
71
+ PopoverAnchor,
72
+ PopoverContent,
73
+ PopoverDescription,
74
+ PopoverHeader,
75
+ PopoverTitle,
76
+ PopoverTrigger,
77
+ } from "./popover";
78
+ export { Progress } from "./progress";
79
+ export { RadioGroup, RadioGroupItem } from "./radio-group";
80
+ export {
81
+ Select,
82
+ SelectContent,
83
+ SelectGroup,
84
+ SelectItem,
85
+ SelectLabel,
86
+ SelectScrollDownButton,
87
+ SelectScrollUpButton,
88
+ SelectSeparator,
89
+ SelectTrigger,
90
+ SelectValue,
91
+ } from "./select";
92
+ export { Separator } from "./separator";
93
+ export { Skeleton } from "./skeleton";
94
+ export { Switch } from "./switch";
95
+ export {
96
+ Table,
97
+ TableBody,
98
+ TableCaption,
99
+ TableCell,
100
+ TableFooter,
101
+ TableHead,
102
+ TableHeader,
103
+ TableRow,
104
+ } from "./table";
105
+ export {
106
+ Tabs,
107
+ TabsContent,
108
+ TabsList,
109
+ TabsTrigger,
110
+ tabsListVariants,
111
+ } from "./tabs";
112
+ export { Textarea } from "./textarea";
113
+ export {
114
+ Tooltip,
115
+ TooltipContent,
116
+ TooltipProvider,
117
+ TooltipTrigger,
118
+ } from "./tooltip";
25
119
 
26
120
  // json-render catalog wrappers
27
- export * from "./accordion-wrapper";
28
- export * from "./action-button";
29
- export * from "./alert-wrapper";
30
- export * from "./avatar-wrapper";
31
- export * from "./button-wrapper";
32
- export * from "./card-wrapper";
33
- export * from "./checkbox-wrapper";
34
- export * from "./data-table";
35
- export * from "./grid";
36
- export * from "./input-wrapper";
37
- export * from "./list";
38
- export * from "./metric";
39
- export * from "./select-wrapper";
40
- export * from "./skeleton-wrapper";
41
- export * from "./stack";
42
- export * from "./tabs-wrapper";
43
- export * from "./text";
121
+ export { AccordionItemWrapper, AccordionWrapper } from "./accordion-wrapper";
122
+ export type {
123
+ AccordionItemWrapperProps,
124
+ AccordionWrapperProps,
125
+ } from "./accordion-wrapper";
126
+ export { ActionButton } from "./action-button";
127
+ export type { ActionButtonProps } from "./action-button";
128
+ export { AlertWrapper } from "./alert-wrapper";
129
+ export type { AlertWrapperProps } from "./alert-wrapper";
130
+ export { AvatarWrapper } from "./avatar-wrapper";
131
+ export type { AvatarWrapperProps } from "./avatar-wrapper";
132
+ export { ButtonWrapper } from "./button-wrapper";
133
+ export type { ButtonWrapperProps } from "./button-wrapper";
134
+ export { CardWrapper } from "./card-wrapper";
135
+ export type { CardWrapperProps } from "./card-wrapper";
136
+ export { CheckboxWrapper } from "./checkbox-wrapper";
137
+ export type { CheckboxWrapperProps } from "./checkbox-wrapper";
138
+ export { DataTable } from "./data-table";
139
+ export type { DataTableProps } from "./data-table";
140
+ export { Grid } from "./grid";
141
+ export type { GridProps } from "./grid";
142
+ export { InputWrapper } from "./input-wrapper";
143
+ export type { InputWrapperProps } from "./input-wrapper";
144
+ export { List } from "./list";
145
+ export type { ListProps } from "./list";
146
+ export { Metric } from "./metric";
147
+ export type { MetricProps } from "./metric";
148
+ export { SelectWrapper } from "./select-wrapper";
149
+ export type { SelectWrapperProps } from "./select-wrapper";
150
+ export { SkeletonWrapper } from "./skeleton-wrapper";
151
+ export type { SkeletonWrapperProps } from "./skeleton-wrapper";
152
+ export { Stack } from "./stack";
153
+ export type { StackProps } from "./stack";
154
+ export { TabContentWrapper, TabsWrapper } from "./tabs-wrapper";
155
+ export type { TabContentWrapperProps, TabsWrapperProps } from "./tabs-wrapper";
156
+ export { Text } from "./text";
157
+ export type { TextProps } from "./text";
@@ -20,7 +20,7 @@ export function InputWrapper({
20
20
  placeholder,
21
21
  type = "text",
22
22
  valuePath,
23
- }: InputWrapperProps) {
23
+ }: InputWrapperProps): React.JSX.Element {
24
24
  const id = React.useId();
25
25
 
26
26
  return (
@@ -2,7 +2,11 @@ import * as React from "react";
2
2
 
3
3
  import { cn } from "@/lib/utils";
4
4
 
5
- function Input({ className, type, ...props }: React.ComponentProps<"input">) {
5
+ function Input({
6
+ className,
7
+ type,
8
+ ...props
9
+ }: React.ComponentProps<"input">): React.JSX.Element {
6
10
  return (
7
11
  <input
8
12
  type={type}
@@ -8,7 +8,7 @@ import { cn } from "@/lib/utils";
8
8
  function Label({
9
9
  className,
10
10
  ...props
11
- }: React.ComponentProps<typeof LabelPrimitive.Root>) {
11
+ }: React.ComponentProps<typeof LabelPrimitive.Root>): React.JSX.Element {
12
12
  return (
13
13
  <LabelPrimitive.Root
14
14
  data-slot="label"
@@ -7,7 +7,11 @@ export interface ListProps {
7
7
  className?: string;
8
8
  }
9
9
 
10
- export function List({ items, ordered = false, className }: ListProps) {
10
+ export function List({
11
+ items,
12
+ ordered = false,
13
+ className,
14
+ }: ListProps): React.JSX.Element {
11
15
  const listClasses = cn(
12
16
  "space-y-1 pl-4 text-foreground",
13
17
  ordered ? "list-decimal" : "list-disc",
@@ -26,6 +26,7 @@ function formatValue(
26
26
  maximumFractionDigits: 1,
27
27
  }).format(value);
28
28
  case "number":
29
+ case undefined:
29
30
  default:
30
31
  return new Intl.NumberFormat("en-US").format(value);
31
32
  }
@@ -37,7 +38,7 @@ export function Metric({
37
38
  format,
38
39
  className,
39
40
  ...props
40
- }: MetricProps) {
41
+ }: MetricProps): React.JSX.Element {
41
42
  return (
42
43
  <div
43
44
  data-slot="metric"
@@ -8,7 +8,10 @@ import {
8
8
  import { cn } from "@/lib/utils";
9
9
  import { buttonVariants, Button } from "./button";
10
10
 
11
- function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
11
+ function Pagination({
12
+ className,
13
+ ...props
14
+ }: React.ComponentProps<"nav">): React.JSX.Element {
12
15
  return (
13
16
  <nav
14
17
  role="navigation"
@@ -23,7 +26,7 @@ function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
23
26
  function PaginationContent({
24
27
  className,
25
28
  ...props
26
- }: React.ComponentProps<"ul">) {
29
+ }: React.ComponentProps<"ul">): React.JSX.Element {
27
30
  return (
28
31
  <ul
29
32
  data-slot="pagination-content"
@@ -33,7 +36,9 @@ function PaginationContent({
33
36
  );
34
37
  }
35
38
 
36
- function PaginationItem({ ...props }: React.ComponentProps<"li">) {
39
+ function PaginationItem({
40
+ ...props
41
+ }: React.ComponentProps<"li">): React.JSX.Element {
37
42
  return <li data-slot="pagination-item" {...props} />;
38
43
  }
39
44
 
@@ -47,7 +52,7 @@ function PaginationLink({
47
52
  isActive,
48
53
  size = "icon",
49
54
  ...props
50
- }: PaginationLinkProps) {
55
+ }: PaginationLinkProps): React.JSX.Element {
51
56
  return (
52
57
  <a
53
58
  aria-current={isActive ? "page" : undefined}
@@ -68,7 +73,7 @@ function PaginationLink({
68
73
  function PaginationPrevious({
69
74
  className,
70
75
  ...props
71
- }: React.ComponentProps<typeof PaginationLink>) {
76
+ }: React.ComponentProps<typeof PaginationLink>): React.JSX.Element {
72
77
  return (
73
78
  <PaginationLink
74
79
  aria-label="Go to previous page"
@@ -85,7 +90,7 @@ function PaginationPrevious({
85
90
  function PaginationNext({
86
91
  className,
87
92
  ...props
88
- }: React.ComponentProps<typeof PaginationLink>) {
93
+ }: React.ComponentProps<typeof PaginationLink>): React.JSX.Element {
89
94
  return (
90
95
  <PaginationLink
91
96
  aria-label="Go to next page"
@@ -102,7 +107,7 @@ function PaginationNext({
102
107
  function PaginationEllipsis({
103
108
  className,
104
109
  ...props
105
- }: React.ComponentProps<"span">) {
110
+ }: React.ComponentProps<"span">): React.JSX.Element {
106
111
  return (
107
112
  <span
108
113
  aria-hidden
@@ -7,13 +7,13 @@ import { cn } from "@/lib/utils";
7
7
 
8
8
  function Popover({
9
9
  ...props
10
- }: React.ComponentProps<typeof PopoverPrimitive.Root>) {
10
+ }: React.ComponentProps<typeof PopoverPrimitive.Root>): React.JSX.Element {
11
11
  return <PopoverPrimitive.Root data-slot="popover" {...props} />;
12
12
  }
13
13
 
14
14
  function PopoverTrigger({
15
15
  ...props
16
- }: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {
16
+ }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): React.JSX.Element {
17
17
  return <PopoverPrimitive.Trigger data-slot="popover-trigger" {...props} />;
18
18
  }
19
19
 
@@ -22,7 +22,7 @@ function PopoverContent({
22
22
  align = "center",
23
23
  sideOffset = 4,
24
24
  ...props
25
- }: React.ComponentProps<typeof PopoverPrimitive.Content>) {
25
+ }: React.ComponentProps<typeof PopoverPrimitive.Content>): React.JSX.Element {
26
26
  return (
27
27
  <PopoverPrimitive.Portal>
28
28
  <PopoverPrimitive.Content
@@ -41,11 +41,14 @@ function PopoverContent({
41
41
 
42
42
  function PopoverAnchor({
43
43
  ...props
44
- }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {
44
+ }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): React.JSX.Element {
45
45
  return <PopoverPrimitive.Anchor data-slot="popover-anchor" {...props} />;
46
46
  }
47
47
 
48
- function PopoverHeader({ className, ...props }: React.ComponentProps<"div">) {
48
+ function PopoverHeader({
49
+ className,
50
+ ...props
51
+ }: React.ComponentProps<"div">): React.JSX.Element {
49
52
  return (
50
53
  <div
51
54
  data-slot="popover-header"
@@ -55,7 +58,10 @@ function PopoverHeader({ className, ...props }: React.ComponentProps<"div">) {
55
58
  );
56
59
  }
57
60
 
58
- function PopoverTitle({ className, ...props }: React.ComponentProps<"h2">) {
61
+ function PopoverTitle({
62
+ className,
63
+ ...props
64
+ }: React.ComponentProps<"h2">): React.JSX.Element {
59
65
  return (
60
66
  <div
61
67
  data-slot="popover-title"
@@ -68,7 +74,7 @@ function PopoverTitle({ className, ...props }: React.ComponentProps<"h2">) {
68
74
  function PopoverDescription({
69
75
  className,
70
76
  ...props
71
- }: React.ComponentProps<"p">) {
77
+ }: React.ComponentProps<"p">): React.JSX.Element {
72
78
  return (
73
79
  <p
74
80
  data-slot="popover-description"
@@ -21,7 +21,7 @@ function Progress({
21
21
  label,
22
22
  max = 100,
23
23
  ...props
24
- }: ProgressProps) {
24
+ }: ProgressProps): React.JSX.Element {
25
25
  const percentage =
26
26
  value != null && max > 0
27
27
  ? Math.min(100, Math.max(0, (value / max) * 100))
@@ -9,7 +9,7 @@ import { cn } from "@/lib/utils";
9
9
  function RadioGroup({
10
10
  className,
11
11
  ...props
12
- }: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {
12
+ }: React.ComponentProps<typeof RadioGroupPrimitive.Root>): React.JSX.Element {
13
13
  return (
14
14
  <RadioGroupPrimitive.Root
15
15
  data-slot="radio-group"
@@ -22,7 +22,7 @@ function RadioGroup({
22
22
  function RadioGroupItem({
23
23
  className,
24
24
  ...props
25
- }: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {
25
+ }: React.ComponentProps<typeof RadioGroupPrimitive.Item>): React.JSX.Element {
26
26
  return (
27
27
  <RadioGroupPrimitive.Item
28
28
  data-slot="radio-group-item"
@@ -23,7 +23,7 @@ export function SelectWrapper({
23
23
  placeholder,
24
24
  valuePath,
25
25
  options,
26
- }: SelectWrapperProps) {
26
+ }: SelectWrapperProps): React.JSX.Element {
27
27
  return (
28
28
  <Select name={valuePath}>
29
29
  <SelectTrigger data-value-path={valuePath}>
@@ -8,19 +8,19 @@ import { cn } from "@/lib/utils";
8
8
 
9
9
  function Select({
10
10
  ...props
11
- }: React.ComponentProps<typeof SelectPrimitive.Root>) {
11
+ }: React.ComponentProps<typeof SelectPrimitive.Root>): React.JSX.Element {
12
12
  return <SelectPrimitive.Root data-slot="select" {...props} />;
13
13
  }
14
14
 
15
15
  function SelectGroup({
16
16
  ...props
17
- }: React.ComponentProps<typeof SelectPrimitive.Group>) {
17
+ }: React.ComponentProps<typeof SelectPrimitive.Group>): React.JSX.Element {
18
18
  return <SelectPrimitive.Group data-slot="select-group" {...props} />;
19
19
  }
20
20
 
21
21
  function SelectValue({
22
22
  ...props
23
- }: React.ComponentProps<typeof SelectPrimitive.Value>) {
23
+ }: React.ComponentProps<typeof SelectPrimitive.Value>): React.JSX.Element {
24
24
  return <SelectPrimitive.Value data-slot="select-value" {...props} />;
25
25
  }
26
26
 
@@ -31,7 +31,7 @@ function SelectTrigger({
31
31
  ...props
32
32
  }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
33
33
  size?: "sm" | "default";
34
- }) {
34
+ }): React.JSX.Element {
35
35
  return (
36
36
  <SelectPrimitive.Trigger
37
37
  data-slot="select-trigger"
@@ -56,7 +56,7 @@ function SelectContent({
56
56
  position = "item-aligned",
57
57
  align = "center",
58
58
  ...props
59
- }: React.ComponentProps<typeof SelectPrimitive.Content>) {
59
+ }: React.ComponentProps<typeof SelectPrimitive.Content>): React.JSX.Element {
60
60
  return (
61
61
  <SelectPrimitive.Portal>
62
62
  <SelectPrimitive.Content
@@ -90,7 +90,7 @@ function SelectContent({
90
90
  function SelectLabel({
91
91
  className,
92
92
  ...props
93
- }: React.ComponentProps<typeof SelectPrimitive.Label>) {
93
+ }: React.ComponentProps<typeof SelectPrimitive.Label>): React.JSX.Element {
94
94
  return (
95
95
  <SelectPrimitive.Label
96
96
  data-slot="select-label"
@@ -104,7 +104,7 @@ function SelectItem({
104
104
  className,
105
105
  children,
106
106
  ...props
107
- }: React.ComponentProps<typeof SelectPrimitive.Item>) {
107
+ }: React.ComponentProps<typeof SelectPrimitive.Item>): React.JSX.Element {
108
108
  return (
109
109
  <SelectPrimitive.Item
110
110
  data-slot="select-item"
@@ -130,7 +130,7 @@ function SelectItem({
130
130
  function SelectSeparator({
131
131
  className,
132
132
  ...props
133
- }: React.ComponentProps<typeof SelectPrimitive.Separator>) {
133
+ }: React.ComponentProps<typeof SelectPrimitive.Separator>): React.JSX.Element {
134
134
  return (
135
135
  <SelectPrimitive.Separator
136
136
  data-slot="select-separator"
@@ -143,7 +143,9 @@ function SelectSeparator({
143
143
  function SelectScrollUpButton({
144
144
  className,
145
145
  ...props
146
- }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {
146
+ }: React.ComponentProps<
147
+ typeof SelectPrimitive.ScrollUpButton
148
+ >): React.JSX.Element {
147
149
  return (
148
150
  <SelectPrimitive.ScrollUpButton
149
151
  data-slot="select-scroll-up-button"
@@ -161,7 +163,9 @@ function SelectScrollUpButton({
161
163
  function SelectScrollDownButton({
162
164
  className,
163
165
  ...props
164
- }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {
166
+ }: React.ComponentProps<
167
+ typeof SelectPrimitive.ScrollDownButton
168
+ >): React.JSX.Element {
165
169
  return (
166
170
  <SelectPrimitive.ScrollDownButton
167
171
  data-slot="select-scroll-down-button"