@sero-ai/ui 0.3.0 → 0.3.2

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 (484) hide show
  1. package/dist/components/ai-elements/agent.cjs +89 -0
  2. package/dist/components/ai-elements/agent.d.cts +32 -0
  3. package/dist/components/ai-elements/agent.d.ts +32 -0
  4. package/dist/components/ai-elements/agent.js +89 -0
  5. package/dist/components/ai-elements/artifact.cjs +121 -0
  6. package/dist/components/ai-elements/artifact.d.cts +29 -0
  7. package/dist/components/ai-elements/artifact.d.ts +29 -0
  8. package/dist/components/ai-elements/artifact.js +121 -0
  9. package/dist/components/ai-elements/attachments.cjs +283 -0
  10. package/dist/components/ai-elements/attachments.d.cts +60 -0
  11. package/dist/components/ai-elements/attachments.d.ts +60 -0
  12. package/dist/components/ai-elements/attachments.js +283 -0
  13. package/dist/components/ai-elements/audio-player.cjs +174 -0
  14. package/dist/components/ai-elements/audio-player.d.cts +33 -0
  15. package/dist/components/ai-elements/audio-player.d.ts +33 -0
  16. package/dist/components/ai-elements/audio-player.js +174 -0
  17. package/dist/components/ai-elements/canvas.cjs +23 -0
  18. package/dist/components/ai-elements/canvas.d.cts +10 -0
  19. package/dist/components/ai-elements/canvas.d.ts +10 -0
  20. package/dist/components/ai-elements/canvas.js +23 -0
  21. package/dist/components/ai-elements/chain-of-thought.cjs +170 -0
  22. package/dist/components/ai-elements/chain-of-thought.d.cts +37 -0
  23. package/dist/components/ai-elements/chain-of-thought.d.ts +37 -0
  24. package/dist/components/ai-elements/chain-of-thought.js +170 -0
  25. package/dist/components/ai-elements/checkpoint.cjs +49 -0
  26. package/dist/components/ai-elements/checkpoint.d.cts +18 -0
  27. package/dist/components/ai-elements/checkpoint.d.ts +18 -0
  28. package/dist/components/ai-elements/checkpoint.js +49 -0
  29. package/dist/components/ai-elements/code-block.cjs +380 -0
  30. package/dist/components/ai-elements/code-block.d.cts +51 -0
  31. package/dist/components/ai-elements/code-block.d.ts +51 -0
  32. package/dist/components/ai-elements/code-block.js +380 -0
  33. package/dist/components/ai-elements/commit.cjs +337 -0
  34. package/dist/components/ai-elements/commit.d.cts +71 -0
  35. package/dist/components/ai-elements/commit.d.ts +71 -0
  36. package/dist/components/ai-elements/commit.js +337 -0
  37. package/dist/components/ai-elements/confirmation.cjs +82 -0
  38. package/dist/components/ai-elements/confirmation.d.cts +54 -0
  39. package/dist/components/ai-elements/confirmation.d.ts +54 -0
  40. package/dist/components/ai-elements/confirmation.js +82 -0
  41. package/dist/components/ai-elements/connection.cjs +33 -0
  42. package/dist/components/ai-elements/connection.d.cts +5 -0
  43. package/dist/components/ai-elements/connection.d.ts +5 -0
  44. package/dist/components/ai-elements/connection.js +33 -0
  45. package/dist/components/ai-elements/context.cjs +329 -0
  46. package/dist/components/ai-elements/context.d.cts +39 -0
  47. package/dist/components/ai-elements/context.d.ts +39 -0
  48. package/dist/components/ai-elements/context.js +329 -0
  49. package/dist/components/ai-elements/controls.cjs +18 -0
  50. package/dist/components/ai-elements/controls.d.cts +8 -0
  51. package/dist/components/ai-elements/controls.d.ts +8 -0
  52. package/dist/components/ai-elements/controls.js +18 -0
  53. package/dist/components/ai-elements/conversation.cjs +124 -0
  54. package/dist/components/ai-elements/conversation.d.cts +32 -0
  55. package/dist/components/ai-elements/conversation.d.ts +32 -0
  56. package/dist/components/ai-elements/conversation.js +124 -0
  57. package/dist/components/ai-elements/edge.cjs +116 -0
  58. package/dist/components/ai-elements/edge.d.cts +9 -0
  59. package/dist/components/ai-elements/edge.d.ts +9 -0
  60. package/dist/components/ai-elements/edge.js +116 -0
  61. package/dist/components/ai-elements/environment-variables.cjs +227 -0
  62. package/dist/components/ai-elements/environment-variables.d.cts +45 -0
  63. package/dist/components/ai-elements/environment-variables.d.ts +45 -0
  64. package/dist/components/ai-elements/environment-variables.js +227 -0
  65. package/dist/components/ai-elements/file-tree.cjs +217 -0
  66. package/dist/components/ai-elements/file-tree.d.cts +30 -0
  67. package/dist/components/ai-elements/file-tree.d.ts +30 -0
  68. package/dist/components/ai-elements/file-tree.js +217 -0
  69. package/dist/components/ai-elements/image.cjs +22 -0
  70. package/dist/components/ai-elements/image.d.cts +10 -0
  71. package/dist/components/ai-elements/image.d.ts +10 -0
  72. package/dist/components/ai-elements/image.js +22 -0
  73. package/dist/components/ai-elements/inline-citation.cjs +223 -0
  74. package/dist/components/ai-elements/inline-citation.d.cts +47 -0
  75. package/dist/components/ai-elements/inline-citation.d.ts +47 -0
  76. package/dist/components/ai-elements/inline-citation.js +223 -0
  77. package/dist/components/ai-elements/jsx-preview.cjs +176 -0
  78. package/dist/components/ai-elements/jsx-preview.d.cts +31 -0
  79. package/dist/components/ai-elements/jsx-preview.d.ts +31 -0
  80. package/dist/components/ai-elements/jsx-preview.js +176 -0
  81. package/dist/components/ai-elements/message.cjs +287 -0
  82. package/dist/components/ai-elements/message.d.cts +46 -0
  83. package/dist/components/ai-elements/message.d.ts +46 -0
  84. package/dist/components/ai-elements/message.js +287 -0
  85. package/dist/components/ai-elements/mic-selector.cjs +275 -0
  86. package/dist/components/ai-elements/mic-selector.d.cts +54 -0
  87. package/dist/components/ai-elements/mic-selector.d.ts +54 -0
  88. package/dist/components/ai-elements/mic-selector.js +275 -0
  89. package/dist/components/ai-elements/model-selector.cjs +100 -0
  90. package/dist/components/ai-elements/model-selector.d.cts +41 -0
  91. package/dist/components/ai-elements/model-selector.d.ts +41 -0
  92. package/dist/components/ai-elements/model-selector.js +100 -0
  93. package/dist/components/ai-elements/node.cjs +54 -0
  94. package/dist/components/ai-elements/node.d.cts +25 -0
  95. package/dist/components/ai-elements/node.d.ts +25 -0
  96. package/dist/components/ai-elements/node.js +54 -0
  97. package/dist/components/ai-elements/open-in-chat.cjs +353 -0
  98. package/dist/components/ai-elements/open-in-chat.d.cts +33 -0
  99. package/dist/components/ai-elements/open-in-chat.d.ts +33 -0
  100. package/dist/components/ai-elements/open-in-chat.js +353 -0
  101. package/dist/components/ai-elements/package-info.cjs +171 -0
  102. package/dist/components/ai-elements/package-info.d.cts +32 -0
  103. package/dist/components/ai-elements/package-info.d.ts +32 -0
  104. package/dist/components/ai-elements/package-info.js +171 -0
  105. package/dist/components/ai-elements/panel.cjs +16 -0
  106. package/dist/components/ai-elements/panel.d.cts +8 -0
  107. package/dist/components/ai-elements/panel.d.ts +8 -0
  108. package/dist/components/ai-elements/panel.js +16 -0
  109. package/dist/components/ai-elements/persona.cjs +202 -0
  110. package/dist/components/ai-elements/persona.d.cts +50 -0
  111. package/dist/components/ai-elements/persona.d.ts +50 -0
  112. package/dist/components/ai-elements/persona.js +202 -0
  113. package/dist/components/ai-elements/plan.cjs +90 -0
  114. package/dist/components/ai-elements/plan.d.cts +30 -0
  115. package/dist/components/ai-elements/plan.d.ts +30 -0
  116. package/dist/components/ai-elements/plan.js +90 -0
  117. package/dist/components/ai-elements/prompt-input-context.cjs +161 -0
  118. package/dist/components/ai-elements/prompt-input-context.d.cts +58 -0
  119. package/dist/components/ai-elements/prompt-input-context.d.ts +58 -0
  120. package/dist/components/ai-elements/prompt-input-context.js +161 -0
  121. package/dist/components/ai-elements/prompt-input-elements.cjs +246 -0
  122. package/dist/components/ai-elements/prompt-input-elements.d.cts +88 -0
  123. package/dist/components/ai-elements/prompt-input-elements.d.ts +88 -0
  124. package/dist/components/ai-elements/prompt-input-elements.js +246 -0
  125. package/dist/components/ai-elements/prompt-input-textarea.cjs +89 -0
  126. package/dist/components/ai-elements/prompt-input-textarea.d.cts +11 -0
  127. package/dist/components/ai-elements/prompt-input-textarea.d.ts +11 -0
  128. package/dist/components/ai-elements/prompt-input-textarea.js +89 -0
  129. package/dist/components/ai-elements/prompt-input.cjs +306 -0
  130. package/dist/components/ai-elements/prompt-input.d.cts +39 -0
  131. package/dist/components/ai-elements/prompt-input.d.ts +39 -0
  132. package/dist/components/ai-elements/prompt-input.js +306 -0
  133. package/dist/components/ai-elements/queue.cjs +193 -0
  134. package/dist/components/ai-elements/queue.d.cts +68 -0
  135. package/dist/components/ai-elements/queue.d.ts +68 -0
  136. package/dist/components/ai-elements/queue.js +193 -0
  137. package/dist/components/ai-elements/reasoning.cjs +178 -0
  138. package/dist/components/ai-elements/reasoning.d.cts +31 -0
  139. package/dist/components/ai-elements/reasoning.d.ts +31 -0
  140. package/dist/components/ai-elements/reasoning.js +178 -0
  141. package/dist/components/ai-elements/sandbox.cjs +114 -0
  142. package/dist/components/ai-elements/sandbox.d.cts +31 -0
  143. package/dist/components/ai-elements/sandbox.d.ts +31 -0
  144. package/dist/components/ai-elements/sandbox.js +114 -0
  145. package/dist/components/ai-elements/schema-display.cjs +330 -0
  146. package/dist/components/ai-elements/schema-display.d.cts +61 -0
  147. package/dist/components/ai-elements/schema-display.d.ts +61 -0
  148. package/dist/components/ai-elements/schema-display.js +330 -0
  149. package/dist/components/ai-elements/shimmer.cjs +55 -0
  150. package/dist/components/ai-elements/shimmer.d.cts +14 -0
  151. package/dist/components/ai-elements/shimmer.d.ts +14 -0
  152. package/dist/components/ai-elements/shimmer.js +55 -0
  153. package/dist/components/ai-elements/snippet.cjs +105 -0
  154. package/dist/components/ai-elements/snippet.d.cts +25 -0
  155. package/dist/components/ai-elements/snippet.d.ts +25 -0
  156. package/dist/components/ai-elements/snippet.js +105 -0
  157. package/dist/components/ai-elements/sources.cjs +70 -0
  158. package/dist/components/ai-elements/sources.d.cts +17 -0
  159. package/dist/components/ai-elements/sources.d.ts +17 -0
  160. package/dist/components/ai-elements/sources.js +70 -0
  161. package/dist/components/ai-elements/speech-input.cjs +207 -0
  162. package/dist/components/ai-elements/speech-input.d.cts +59 -0
  163. package/dist/components/ai-elements/speech-input.d.ts +59 -0
  164. package/dist/components/ai-elements/speech-input.js +207 -0
  165. package/dist/components/ai-elements/stack-trace.cjs +403 -0
  166. package/dist/components/ai-elements/stack-trace.d.cts +45 -0
  167. package/dist/components/ai-elements/stack-trace.d.ts +45 -0
  168. package/dist/components/ai-elements/stack-trace.js +403 -0
  169. package/dist/components/ai-elements/suggestion.cjs +46 -0
  170. package/dist/components/ai-elements/suggestion.d.cts +17 -0
  171. package/dist/components/ai-elements/suggestion.d.ts +17 -0
  172. package/dist/components/ai-elements/suggestion.js +46 -0
  173. package/dist/components/ai-elements/task.cjs +62 -0
  174. package/dist/components/ai-elements/task.d.cts +19 -0
  175. package/dist/components/ai-elements/task.d.ts +19 -0
  176. package/dist/components/ai-elements/task.js +62 -0
  177. package/dist/components/ai-elements/terminal.cjs +220 -0
  178. package/dist/components/ai-elements/terminal.d.cts +33 -0
  179. package/dist/components/ai-elements/terminal.d.ts +33 -0
  180. package/dist/components/ai-elements/terminal.js +220 -0
  181. package/dist/components/ai-elements/test-results.cjs +376 -0
  182. package/dist/components/ai-elements/test-results.d.cts +62 -0
  183. package/dist/components/ai-elements/test-results.d.ts +62 -0
  184. package/dist/components/ai-elements/test-results.js +376 -0
  185. package/dist/components/ai-elements/tool.cjs +130 -0
  186. package/dist/components/ai-elements/tool.d.cts +36 -0
  187. package/dist/components/ai-elements/tool.d.ts +36 -0
  188. package/dist/components/ai-elements/tool.js +130 -0
  189. package/dist/components/ai-elements/toolbar.cjs +17 -0
  190. package/dist/components/ai-elements/toolbar.d.cts +8 -0
  191. package/dist/components/ai-elements/toolbar.d.ts +8 -0
  192. package/dist/components/ai-elements/toolbar.js +17 -0
  193. package/dist/components/ai-elements/transcription.cjs +92 -0
  194. package/dist/components/ai-elements/transcription.d.cts +19 -0
  195. package/dist/components/ai-elements/transcription.d.ts +19 -0
  196. package/dist/components/ai-elements/transcription.js +92 -0
  197. package/dist/components/ai-elements/voice-selector-accent.cjs +11 -0
  198. package/dist/components/ai-elements/voice-selector-accent.d.cts +10 -0
  199. package/dist/components/ai-elements/voice-selector-accent.d.ts +10 -0
  200. package/dist/components/ai-elements/voice-selector-accent.js +11 -0
  201. package/dist/components/ai-elements/voice-selector.cjs +246 -0
  202. package/dist/components/ai-elements/voice-selector.d.cts +66 -0
  203. package/dist/components/ai-elements/voice-selector.d.ts +66 -0
  204. package/dist/components/ai-elements/voice-selector.js +246 -0
  205. package/dist/components/ai-elements/web-preview.cjs +237 -0
  206. package/dist/components/ai-elements/web-preview.d.cts +40 -0
  207. package/dist/components/ai-elements/web-preview.d.ts +40 -0
  208. package/dist/components/ai-elements/web-preview.js +237 -0
  209. package/dist/components/model-selection/available-model-picker.cjs +172 -0
  210. package/dist/components/model-selection/available-model-picker.d.cts +18 -0
  211. package/dist/components/model-selection/available-model-picker.d.ts +18 -0
  212. package/dist/components/model-selection/available-model-picker.js +172 -0
  213. package/dist/components/model-selection/model-warning-list.cjs +24 -0
  214. package/dist/components/model-selection/model-warning-list.d.cts +10 -0
  215. package/dist/components/model-selection/model-warning-list.d.ts +10 -0
  216. package/dist/components/model-selection/model-warning-list.js +24 -0
  217. package/dist/components/model-selection/thinking-level-picker.cjs +39 -0
  218. package/dist/components/model-selection/thinking-level-picker.d.cts +14 -0
  219. package/dist/components/model-selection/thinking-level-picker.d.ts +14 -0
  220. package/dist/components/model-selection/thinking-level-picker.js +39 -0
  221. package/dist/components/ui/accordion.cjs +64 -0
  222. package/dist/components/ui/accordion.d.cts +10 -0
  223. package/dist/components/ui/accordion.d.ts +10 -0
  224. package/dist/components/ui/accordion.js +64 -0
  225. package/dist/components/ui/alert-dialog.cjs +178 -0
  226. package/dist/components/ui/alert-dialog.d.cts +23 -0
  227. package/dist/components/ui/alert-dialog.d.ts +23 -0
  228. package/dist/components/ui/alert-dialog.js +178 -0
  229. package/dist/components/ui/alert.cjs +66 -0
  230. package/dist/components/ui/alert.d.cts +13 -0
  231. package/dist/components/ui/alert.d.ts +13 -0
  232. package/dist/components/ui/alert.js +66 -0
  233. package/dist/components/ui/aspect-ratio.cjs +11 -0
  234. package/dist/components/ui/aspect-ratio.d.cts +6 -0
  235. package/dist/components/ui/aspect-ratio.d.ts +6 -0
  236. package/dist/components/ui/aspect-ratio.js +11 -0
  237. package/dist/components/ui/avatar.cjs +103 -0
  238. package/dist/components/ui/avatar.d.cts +14 -0
  239. package/dist/components/ui/avatar.d.ts +14 -0
  240. package/dist/components/ui/avatar.js +103 -0
  241. package/dist/components/ui/badge.cjs +43 -0
  242. package/dist/components/ui/badge.d.cts +13 -0
  243. package/dist/components/ui/badge.d.ts +13 -0
  244. package/dist/components/ui/badge.js +43 -0
  245. package/dist/components/ui/breadcrumb.cjs +103 -0
  246. package/dist/components/ui/breadcrumb.d.cts +14 -0
  247. package/dist/components/ui/breadcrumb.d.ts +14 -0
  248. package/dist/components/ui/breadcrumb.js +103 -0
  249. package/dist/components/ui/button-group.cjs +76 -0
  250. package/dist/components/ui/button-group.d.cts +17 -0
  251. package/dist/components/ui/button-group.d.ts +17 -0
  252. package/dist/components/ui/button-group.js +76 -0
  253. package/dist/components/ui/button.cjs +56 -0
  254. package/dist/components/ui/button.d.cts +14 -0
  255. package/dist/components/ui/button.d.ts +14 -0
  256. package/dist/components/ui/button.js +56 -0
  257. package/dist/components/ui/calendar.cjs +194 -0
  258. package/dist/components/ui/calendar.d.cts +13 -0
  259. package/dist/components/ui/calendar.d.ts +13 -0
  260. package/dist/components/ui/calendar.js +194 -0
  261. package/dist/components/ui/card.cjs +90 -0
  262. package/dist/components/ui/card.d.cts +12 -0
  263. package/dist/components/ui/card.d.ts +12 -0
  264. package/dist/components/ui/card.js +90 -0
  265. package/dist/components/ui/carousel.cjs +198 -0
  266. package/dist/components/ui/carousel.d.cts +24 -0
  267. package/dist/components/ui/carousel.d.ts +24 -0
  268. package/dist/components/ui/carousel.js +198 -0
  269. package/dist/components/ui/chart.cjs +242 -0
  270. package/dist/components/ui/chart.d.cts +43 -0
  271. package/dist/components/ui/chart.d.ts +43 -0
  272. package/dist/components/ui/chart.js +242 -0
  273. package/dist/components/ui/checkbox.cjs +32 -0
  274. package/dist/components/ui/checkbox.d.cts +7 -0
  275. package/dist/components/ui/checkbox.d.ts +7 -0
  276. package/dist/components/ui/checkbox.js +32 -0
  277. package/dist/components/ui/collapsible.cjs +34 -0
  278. package/dist/components/ui/collapsible.d.cts +8 -0
  279. package/dist/components/ui/collapsible.d.ts +8 -0
  280. package/dist/components/ui/collapsible.js +34 -0
  281. package/dist/components/ui/combobox.cjs +297 -0
  282. package/dist/components/ui/combobox.d.cts +27 -0
  283. package/dist/components/ui/combobox.d.ts +27 -0
  284. package/dist/components/ui/combobox.js +297 -0
  285. package/dist/components/ui/command.cjs +177 -0
  286. package/dist/components/ui/command.d.cts +22 -0
  287. package/dist/components/ui/command.d.ts +22 -0
  288. package/dist/components/ui/command.js +177 -0
  289. package/dist/components/ui/context-menu.cjs +224 -0
  290. package/dist/components/ui/context-menu.d.cts +28 -0
  291. package/dist/components/ui/context-menu.d.ts +28 -0
  292. package/dist/components/ui/context-menu.js +224 -0
  293. package/dist/components/ui/dialog.cjs +147 -0
  294. package/dist/components/ui/dialog.d.cts +20 -0
  295. package/dist/components/ui/dialog.d.ts +20 -0
  296. package/dist/components/ui/dialog.js +147 -0
  297. package/dist/components/ui/direction.cjs +15 -0
  298. package/dist/components/ui/direction.d.cts +10 -0
  299. package/dist/components/ui/direction.d.ts +10 -0
  300. package/dist/components/ui/direction.js +15 -0
  301. package/dist/components/ui/drawer.cjs +128 -0
  302. package/dist/components/ui/drawer.d.cts +16 -0
  303. package/dist/components/ui/drawer.d.ts +16 -0
  304. package/dist/components/ui/drawer.js +128 -0
  305. package/dist/components/ui/dropdown-menu.cjs +232 -0
  306. package/dist/components/ui/dropdown-menu.d.cts +28 -0
  307. package/dist/components/ui/dropdown-menu.d.ts +28 -0
  308. package/dist/components/ui/dropdown-menu.js +232 -0
  309. package/dist/components/ui/empty.cjs +102 -0
  310. package/dist/components/ui/empty.d.cts +15 -0
  311. package/dist/components/ui/empty.d.ts +15 -0
  312. package/dist/components/ui/empty.js +102 -0
  313. package/dist/components/ui/field.cjs +230 -0
  314. package/dist/components/ui/field.d.cts +30 -0
  315. package/dist/components/ui/field.d.ts +30 -0
  316. package/dist/components/ui/field.js +230 -0
  317. package/dist/components/ui/form.cjs +121 -0
  318. package/dist/components/ui/form.d.cts +27 -0
  319. package/dist/components/ui/form.d.ts +27 -0
  320. package/dist/components/ui/form.js +121 -0
  321. package/dist/components/ui/hover-card.cjs +38 -0
  322. package/dist/components/ui/hover-card.d.cts +9 -0
  323. package/dist/components/ui/hover-card.d.ts +9 -0
  324. package/dist/components/ui/hover-card.js +38 -0
  325. package/dist/components/ui/input-group.cjs +154 -0
  326. package/dist/components/ui/input-group.d.cts +20 -0
  327. package/dist/components/ui/input-group.d.ts +20 -0
  328. package/dist/components/ui/input-group.js +154 -0
  329. package/dist/components/ui/input-otp.cjs +67 -0
  330. package/dist/components/ui/input-otp.d.cts +14 -0
  331. package/dist/components/ui/input-otp.d.ts +14 -0
  332. package/dist/components/ui/input-otp.js +67 -0
  333. package/dist/components/ui/input.cjs +23 -0
  334. package/dist/components/ui/input.d.cts +6 -0
  335. package/dist/components/ui/input.d.ts +6 -0
  336. package/dist/components/ui/input.js +23 -0
  337. package/dist/components/ui/item.cjs +187 -0
  338. package/dist/components/ui/item.d.cts +28 -0
  339. package/dist/components/ui/item.d.ts +28 -0
  340. package/dist/components/ui/item.js +187 -0
  341. package/dist/components/ui/kbd.cjs +31 -0
  342. package/dist/components/ui/kbd.d.cts +6 -0
  343. package/dist/components/ui/kbd.d.ts +6 -0
  344. package/dist/components/ui/kbd.js +31 -0
  345. package/dist/components/ui/label.cjs +22 -0
  346. package/dist/components/ui/label.d.cts +7 -0
  347. package/dist/components/ui/label.d.ts +7 -0
  348. package/dist/components/ui/label.js +22 -0
  349. package/dist/components/ui/menubar.cjs +252 -0
  350. package/dist/components/ui/menubar.d.cts +29 -0
  351. package/dist/components/ui/menubar.d.ts +29 -0
  352. package/dist/components/ui/menubar.js +252 -0
  353. package/dist/components/ui/native-select.cjs +63 -0
  354. package/dist/components/ui/native-select.d.cts +10 -0
  355. package/dist/components/ui/native-select.d.ts +10 -0
  356. package/dist/components/ui/native-select.js +63 -0
  357. package/dist/components/ui/navigation-menu.cjs +170 -0
  358. package/dist/components/ui/navigation-menu.d.cts +18 -0
  359. package/dist/components/ui/navigation-menu.d.ts +18 -0
  360. package/dist/components/ui/navigation-menu.js +170 -0
  361. package/dist/components/ui/pagination.cjs +122 -0
  362. package/dist/components/ui/pagination.d.cts +18 -0
  363. package/dist/components/ui/pagination.d.ts +18 -0
  364. package/dist/components/ui/pagination.js +122 -0
  365. package/dist/components/ui/plugin-safety-disclaimer.cjs +26 -0
  366. package/dist/components/ui/plugin-safety-disclaimer.d.cts +8 -0
  367. package/dist/components/ui/plugin-safety-disclaimer.d.ts +8 -0
  368. package/dist/components/ui/plugin-safety-disclaimer.js +26 -0
  369. package/dist/components/ui/popover.cjs +80 -0
  370. package/dist/components/ui/popover.d.cts +13 -0
  371. package/dist/components/ui/popover.d.ts +13 -0
  372. package/dist/components/ui/popover.js +80 -0
  373. package/dist/components/ui/progress.cjs +32 -0
  374. package/dist/components/ui/progress.d.cts +7 -0
  375. package/dist/components/ui/progress.d.ts +7 -0
  376. package/dist/components/ui/progress.js +32 -0
  377. package/dist/components/ui/radio-group.cjs +45 -0
  378. package/dist/components/ui/radio-group.d.cts +8 -0
  379. package/dist/components/ui/radio-group.d.ts +8 -0
  380. package/dist/components/ui/radio-group.js +45 -0
  381. package/dist/components/ui/resizable.cjs +47 -0
  382. package/dist/components/ui/resizable.d.cts +10 -0
  383. package/dist/components/ui/resizable.d.ts +10 -0
  384. package/dist/components/ui/resizable.js +47 -0
  385. package/dist/components/ui/scroll-area.cjs +60 -0
  386. package/dist/components/ui/scroll-area.d.cts +8 -0
  387. package/dist/components/ui/scroll-area.d.ts +8 -0
  388. package/dist/components/ui/scroll-area.js +60 -0
  389. package/dist/components/ui/search-input.cjs +39 -0
  390. package/dist/components/ui/search-input.d.cts +12 -0
  391. package/dist/components/ui/search-input.d.ts +12 -0
  392. package/dist/components/ui/search-input.js +39 -0
  393. package/dist/components/ui/select.cjs +179 -0
  394. package/dist/components/ui/select.d.cts +18 -0
  395. package/dist/components/ui/select.d.ts +18 -0
  396. package/dist/components/ui/select.js +179 -0
  397. package/dist/components/ui/separator.cjs +27 -0
  398. package/dist/components/ui/separator.d.cts +7 -0
  399. package/dist/components/ui/separator.d.ts +7 -0
  400. package/dist/components/ui/separator.js +27 -0
  401. package/dist/components/ui/sheet.cjs +129 -0
  402. package/dist/components/ui/sheet.d.cts +18 -0
  403. package/dist/components/ui/sheet.d.ts +18 -0
  404. package/dist/components/ui/sheet.js +129 -0
  405. package/dist/components/ui/sidebar.cjs +649 -0
  406. package/dist/components/ui/sidebar.d.cts +74 -0
  407. package/dist/components/ui/sidebar.d.ts +74 -0
  408. package/dist/components/ui/sidebar.js +649 -0
  409. package/dist/components/ui/skeleton.cjs +15 -0
  410. package/dist/components/ui/skeleton.d.cts +5 -0
  411. package/dist/components/ui/skeleton.d.ts +5 -0
  412. package/dist/components/ui/skeleton.js +15 -0
  413. package/dist/components/ui/slider.cjs +68 -0
  414. package/dist/components/ui/slider.d.cts +7 -0
  415. package/dist/components/ui/slider.d.ts +7 -0
  416. package/dist/components/ui/slider.js +68 -0
  417. package/dist/components/ui/sonner.cjs +38 -0
  418. package/dist/components/ui/sonner.d.cts +6 -0
  419. package/dist/components/ui/sonner.d.ts +6 -0
  420. package/dist/components/ui/sonner.js +38 -0
  421. package/dist/components/ui/spinner.cjs +17 -0
  422. package/dist/components/ui/spinner.d.cts +5 -0
  423. package/dist/components/ui/spinner.d.ts +5 -0
  424. package/dist/components/ui/spinner.js +17 -0
  425. package/dist/components/ui/switch.cjs +33 -0
  426. package/dist/components/ui/switch.d.cts +9 -0
  427. package/dist/components/ui/switch.d.ts +9 -0
  428. package/dist/components/ui/switch.js +33 -0
  429. package/dist/components/ui/table.cjs +115 -0
  430. package/dist/components/ui/table.d.cts +13 -0
  431. package/dist/components/ui/table.d.ts +13 -0
  432. package/dist/components/ui/table.js +115 -0
  433. package/dist/components/ui/tabs.cjs +92 -0
  434. package/dist/components/ui/tabs.d.cts +15 -0
  435. package/dist/components/ui/tabs.d.ts +15 -0
  436. package/dist/components/ui/tabs.js +92 -0
  437. package/dist/components/ui/textarea.cjs +20 -0
  438. package/dist/components/ui/textarea.d.cts +6 -0
  439. package/dist/components/ui/textarea.d.ts +6 -0
  440. package/dist/components/ui/textarea.js +20 -0
  441. package/dist/components/ui/toggle-group.cjs +69 -0
  442. package/dist/components/ui/toggle-group.d.cts +13 -0
  443. package/dist/components/ui/toggle-group.d.ts +13 -0
  444. package/dist/components/ui/toggle-group.js +69 -0
  445. package/dist/components/ui/toggle.cjs +44 -0
  446. package/dist/components/ui/toggle.d.cts +13 -0
  447. package/dist/components/ui/toggle.d.ts +13 -0
  448. package/dist/components/ui/toggle.js +44 -0
  449. package/dist/components/ui/tooltip.cjs +56 -0
  450. package/dist/components/ui/tooltip.d.cts +10 -0
  451. package/dist/components/ui/tooltip.d.ts +10 -0
  452. package/dist/components/ui/tooltip.js +56 -0
  453. package/dist/components/ui/tree.cjs +131 -0
  454. package/dist/components/ui/tree.d.cts +35 -0
  455. package/dist/components/ui/tree.d.ts +35 -0
  456. package/dist/components/ui/tree.js +131 -0
  457. package/dist/hooks/use-mobile.cjs +16 -0
  458. package/dist/hooks/use-mobile.d.cts +3 -0
  459. package/dist/hooks/use-mobile.d.ts +3 -0
  460. package/dist/hooks/use-mobile.js +16 -0
  461. package/dist/index.cjs +121 -15527
  462. package/dist/index.d.cts +145 -2246
  463. package/dist/index.d.ts +145 -2246
  464. package/dist/index.js +118 -14982
  465. package/dist/lib/utils.cjs +8 -0
  466. package/dist/lib/utils.d.cts +5 -0
  467. package/dist/lib/utils.d.ts +5 -0
  468. package/dist/lib/utils.js +8 -0
  469. package/dist/styles/globals.css +438 -0
  470. package/dist/styles/plugin.css +4 -0
  471. package/dist/theme/apply-theme.cjs +221 -0
  472. package/dist/theme/apply-theme.d.cts +13 -0
  473. package/dist/theme/apply-theme.d.ts +13 -0
  474. package/dist/theme/apply-theme.js +221 -0
  475. package/dist/theme/index.cjs +2 -0
  476. package/dist/theme/index.d.cts +2 -0
  477. package/dist/theme/index.d.ts +2 -0
  478. package/dist/theme/index.js +2 -0
  479. package/dist/theme/types.cjs +90 -0
  480. package/dist/theme/types.d.cts +133 -0
  481. package/dist/theme/types.d.ts +133 -0
  482. package/dist/theme/types.js +90 -0
  483. package/package.json +22 -5
  484. package/tsup.config.ts +18 -0
@@ -0,0 +1,287 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
+ var _jsxruntime = require('react/jsx-runtime');
3
+ var _button = require('../ui/button');
4
+
5
+
6
+
7
+ var _buttongroup = require('../ui/button-group');
8
+
9
+
10
+
11
+
12
+
13
+ var _tooltip = require('../ui/tooltip');
14
+ var _utils = require('../../lib/utils');
15
+ var _cjk = require('@streamdown/cjk');
16
+ var _code = require('@streamdown/code');
17
+ var _math = require('@streamdown/math');
18
+ var _mermaid = require('@streamdown/mermaid');
19
+ var _lucidereact = require('lucide-react');
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+ var _react = require('react');
29
+ var _streamdown = require('streamdown');
30
+ const Message = ({ className, from, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31
+ "div",
32
+ {
33
+ className: _utils.cn.call(void 0,
34
+ "group flex w-full max-w-[95%] flex-col gap-2",
35
+ from === "user" ? "is-user ml-auto justify-end" : "is-assistant",
36
+ className
37
+ ),
38
+ ...props
39
+ }
40
+ );
41
+ const MessageContent = ({
42
+ children,
43
+ className,
44
+ ...props
45
+ }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46
+ "div",
47
+ {
48
+ className: _utils.cn.call(void 0,
49
+ "is-user:dark flex w-fit min-w-0 max-w-full flex-col gap-2 overflow-hidden text-sm",
50
+ "group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground",
51
+ "group-[.is-assistant]:text-foreground",
52
+ className
53
+ ),
54
+ ...props,
55
+ children
56
+ }
57
+ );
58
+ const MessageActions = ({
59
+ className,
60
+ children,
61
+ ...props
62
+ }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _utils.cn.call(void 0, "flex items-center gap-1", className), ...props, children });
63
+ const MessageAction = ({
64
+ tooltip,
65
+ children,
66
+ label,
67
+ variant = "ghost",
68
+ size = "icon-sm",
69
+ ...props
70
+ }) => {
71
+ const button = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _button.Button, { size, type: "button", variant, ...props, children: [
72
+ children,
73
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: label || tooltip })
74
+ ] });
75
+ if (tooltip) {
76
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _tooltip.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _tooltip.Tooltip, { children: [
77
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _tooltip.TooltipTrigger, { asChild: true, children: button }),
78
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _tooltip.TooltipContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { children: tooltip }) })
79
+ ] }) });
80
+ }
81
+ return button;
82
+ };
83
+ const MessageBranchContext = _react.createContext.call(void 0,
84
+ null
85
+ );
86
+ const useMessageBranch = () => {
87
+ const context = _react.use.call(void 0, MessageBranchContext);
88
+ if (!context) {
89
+ throw new Error(
90
+ "MessageBranch components must be used within MessageBranch"
91
+ );
92
+ }
93
+ return context;
94
+ };
95
+ const MessageBranch = ({
96
+ defaultBranch = 0,
97
+ onBranchChange,
98
+ className,
99
+ ...props
100
+ }) => {
101
+ const [currentBranch, setCurrentBranch] = _react.useState.call(void 0, defaultBranch);
102
+ const [branches, setBranches] = _react.useState.call(void 0, []);
103
+ const handleBranchChange = _react.useCallback.call(void 0,
104
+ (newBranch) => {
105
+ setCurrentBranch(newBranch);
106
+ _optionalChain([onBranchChange, 'optionalCall', _ => _(newBranch)]);
107
+ },
108
+ [onBranchChange]
109
+ );
110
+ const goToPrevious = _react.useCallback.call(void 0, () => {
111
+ const newBranch = currentBranch > 0 ? currentBranch - 1 : branches.length - 1;
112
+ handleBranchChange(newBranch);
113
+ }, [currentBranch, branches.length, handleBranchChange]);
114
+ const goToNext = _react.useCallback.call(void 0, () => {
115
+ const newBranch = currentBranch < branches.length - 1 ? currentBranch + 1 : 0;
116
+ handleBranchChange(newBranch);
117
+ }, [currentBranch, branches.length, handleBranchChange]);
118
+ const contextValue = _react.useMemo.call(void 0,
119
+ () => ({
120
+ branches,
121
+ currentBranch,
122
+ goToNext,
123
+ goToPrevious,
124
+ setBranches,
125
+ totalBranches: branches.length
126
+ }),
127
+ [branches, currentBranch, goToNext, goToPrevious]
128
+ );
129
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageBranchContext.Provider, { value: contextValue, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
130
+ "div",
131
+ {
132
+ className: _utils.cn.call(void 0, "grid w-full gap-2 [&>div]:pb-0", className),
133
+ ...props
134
+ }
135
+ ) });
136
+ };
137
+ const MessageBranchContent = ({
138
+ children,
139
+ ...props
140
+ }) => {
141
+ const { currentBranch, setBranches, branches } = useMessageBranch();
142
+ const childrenArray = _react.useMemo.call(void 0,
143
+ () => Array.isArray(children) ? children : [children],
144
+ [children]
145
+ );
146
+ _react.useEffect.call(void 0, () => {
147
+ if (branches.length !== childrenArray.length) {
148
+ setBranches(childrenArray);
149
+ }
150
+ }, [childrenArray, branches, setBranches]);
151
+ return childrenArray.map((branch, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
152
+ "div",
153
+ {
154
+ className: _utils.cn.call(void 0,
155
+ "grid gap-2 overflow-hidden [&>div]:pb-0",
156
+ index === currentBranch ? "block" : "hidden"
157
+ ),
158
+ ...props,
159
+ children: branch
160
+ },
161
+ branch.key
162
+ ));
163
+ };
164
+ const MessageBranchSelector = ({
165
+ className,
166
+ ...props
167
+ }) => {
168
+ const { totalBranches } = useMessageBranch();
169
+ if (totalBranches <= 1) {
170
+ return null;
171
+ }
172
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
173
+ _buttongroup.ButtonGroup,
174
+ {
175
+ className: _utils.cn.call(void 0,
176
+ "[&>*:not(:first-child)]:rounded-l-md [&>*:not(:last-child)]:rounded-r-md",
177
+ className
178
+ ),
179
+ orientation: "horizontal",
180
+ ...props
181
+ }
182
+ );
183
+ };
184
+ const MessageBranchPrevious = ({
185
+ children,
186
+ ...props
187
+ }) => {
188
+ const { goToPrevious, totalBranches } = useMessageBranch();
189
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
190
+ _button.Button,
191
+ {
192
+ "aria-label": "Previous branch",
193
+ disabled: totalBranches <= 1,
194
+ onClick: goToPrevious,
195
+ size: "icon-sm",
196
+ type: "button",
197
+ variant: "ghost",
198
+ ...props,
199
+ children: _nullishCoalesce(children, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeftIcon, { size: 14 })))
200
+ }
201
+ );
202
+ };
203
+ const MessageBranchNext = ({
204
+ children,
205
+ ...props
206
+ }) => {
207
+ const { goToNext, totalBranches } = useMessageBranch();
208
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
209
+ _button.Button,
210
+ {
211
+ "aria-label": "Next branch",
212
+ disabled: totalBranches <= 1,
213
+ onClick: goToNext,
214
+ size: "icon-sm",
215
+ type: "button",
216
+ variant: "ghost",
217
+ ...props,
218
+ children: _nullishCoalesce(children, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRightIcon, { size: 14 })))
219
+ }
220
+ );
221
+ };
222
+ const MessageBranchPage = ({
223
+ className,
224
+ ...props
225
+ }) => {
226
+ const { currentBranch, totalBranches } = useMessageBranch();
227
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
228
+ _buttongroup.ButtonGroupText,
229
+ {
230
+ className: _utils.cn.call(void 0,
231
+ "border-none bg-transparent text-muted-foreground shadow-none",
232
+ className
233
+ ),
234
+ ...props,
235
+ children: [
236
+ currentBranch + 1,
237
+ " of ",
238
+ totalBranches
239
+ ]
240
+ }
241
+ );
242
+ };
243
+ const streamdownPlugins = { cjk: _cjk.cjk, code: _code.code, math: _math.math, mermaid: _mermaid.mermaid };
244
+ const MessageResponse = _react.memo.call(void 0,
245
+ ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
246
+ _streamdown.Streamdown,
247
+ {
248
+ className: _utils.cn.call(void 0,
249
+ "size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
250
+ className
251
+ ),
252
+ plugins: streamdownPlugins,
253
+ ...props
254
+ }
255
+ ),
256
+ (prevProps, nextProps) => prevProps.children === nextProps.children
257
+ );
258
+ MessageResponse.displayName = "MessageResponse";
259
+ const MessageToolbar = ({
260
+ className,
261
+ children,
262
+ ...props
263
+ }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
264
+ "div",
265
+ {
266
+ className: _utils.cn.call(void 0,
267
+ "mt-4 flex w-full items-center justify-between gap-4",
268
+ className
269
+ ),
270
+ ...props,
271
+ children
272
+ }
273
+ );
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+ exports.Message = Message; exports.MessageAction = MessageAction; exports.MessageActions = MessageActions; exports.MessageBranch = MessageBranch; exports.MessageBranchContent = MessageBranchContent; exports.MessageBranchNext = MessageBranchNext; exports.MessageBranchPage = MessageBranchPage; exports.MessageBranchPrevious = MessageBranchPrevious; exports.MessageBranchSelector = MessageBranchSelector; exports.MessageContent = MessageContent; exports.MessageResponse = MessageResponse; exports.MessageToolbar = MessageToolbar;
@@ -0,0 +1,46 @@
1
+ import * as React from 'react';
2
+ import { HTMLAttributes, ComponentProps } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { UIMessage } from 'ai';
5
+ import { Button } from '../ui/button.cjs';
6
+ import { ButtonGroup } from '../ui/button-group.cjs';
7
+ import { Streamdown } from 'streamdown';
8
+ import 'class-variance-authority/types';
9
+ import 'class-variance-authority';
10
+ import '../ui/separator.cjs';
11
+ import 'radix-ui';
12
+
13
+ type MessageProps = HTMLAttributes<HTMLDivElement> & {
14
+ from: UIMessage["role"];
15
+ };
16
+ declare const Message: ({ className, from, ...props }: MessageProps) => react_jsx_runtime.JSX.Element;
17
+ type MessageContentProps = HTMLAttributes<HTMLDivElement>;
18
+ declare const MessageContent: ({ children, className, ...props }: MessageContentProps) => react_jsx_runtime.JSX.Element;
19
+ type MessageActionsProps = ComponentProps<"div">;
20
+ declare const MessageActions: ({ className, children, ...props }: MessageActionsProps) => react_jsx_runtime.JSX.Element;
21
+ type MessageActionProps = ComponentProps<typeof Button> & {
22
+ tooltip?: string;
23
+ label?: string;
24
+ };
25
+ declare const MessageAction: ({ tooltip, children, label, variant, size, ...props }: MessageActionProps) => react_jsx_runtime.JSX.Element;
26
+ type MessageBranchProps = HTMLAttributes<HTMLDivElement> & {
27
+ defaultBranch?: number;
28
+ onBranchChange?: (branchIndex: number) => void;
29
+ };
30
+ declare const MessageBranch: ({ defaultBranch, onBranchChange, className, ...props }: MessageBranchProps) => react_jsx_runtime.JSX.Element;
31
+ type MessageBranchContentProps = HTMLAttributes<HTMLDivElement>;
32
+ declare const MessageBranchContent: ({ children, ...props }: MessageBranchContentProps) => react_jsx_runtime.JSX.Element[];
33
+ type MessageBranchSelectorProps = ComponentProps<typeof ButtonGroup>;
34
+ declare const MessageBranchSelector: ({ className, ...props }: MessageBranchSelectorProps) => react_jsx_runtime.JSX.Element | null;
35
+ type MessageBranchPreviousProps = ComponentProps<typeof Button>;
36
+ declare const MessageBranchPrevious: ({ children, ...props }: MessageBranchPreviousProps) => react_jsx_runtime.JSX.Element;
37
+ type MessageBranchNextProps = ComponentProps<typeof Button>;
38
+ declare const MessageBranchNext: ({ children, ...props }: MessageBranchNextProps) => react_jsx_runtime.JSX.Element;
39
+ type MessageBranchPageProps = HTMLAttributes<HTMLSpanElement>;
40
+ declare const MessageBranchPage: ({ className, ...props }: MessageBranchPageProps) => react_jsx_runtime.JSX.Element;
41
+ type MessageResponseProps = ComponentProps<typeof Streamdown>;
42
+ declare const MessageResponse: React.MemoExoticComponent<({ className, ...props }: MessageResponseProps) => react_jsx_runtime.JSX.Element>;
43
+ type MessageToolbarProps = ComponentProps<"div">;
44
+ declare const MessageToolbar: ({ className, children, ...props }: MessageToolbarProps) => react_jsx_runtime.JSX.Element;
45
+
46
+ export { Message, MessageAction, type MessageActionProps, MessageActions, type MessageActionsProps, MessageBranch, MessageBranchContent, type MessageBranchContentProps, MessageBranchNext, type MessageBranchNextProps, MessageBranchPage, type MessageBranchPageProps, MessageBranchPrevious, type MessageBranchPreviousProps, type MessageBranchProps, MessageBranchSelector, type MessageBranchSelectorProps, MessageContent, type MessageContentProps, type MessageProps, MessageResponse, type MessageResponseProps, MessageToolbar, type MessageToolbarProps };
@@ -0,0 +1,46 @@
1
+ import * as React from 'react';
2
+ import { HTMLAttributes, ComponentProps } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { UIMessage } from 'ai';
5
+ import { Button } from '../ui/button.js';
6
+ import { ButtonGroup } from '../ui/button-group.js';
7
+ import { Streamdown } from 'streamdown';
8
+ import 'class-variance-authority/types';
9
+ import 'class-variance-authority';
10
+ import '../ui/separator.js';
11
+ import 'radix-ui';
12
+
13
+ type MessageProps = HTMLAttributes<HTMLDivElement> & {
14
+ from: UIMessage["role"];
15
+ };
16
+ declare const Message: ({ className, from, ...props }: MessageProps) => react_jsx_runtime.JSX.Element;
17
+ type MessageContentProps = HTMLAttributes<HTMLDivElement>;
18
+ declare const MessageContent: ({ children, className, ...props }: MessageContentProps) => react_jsx_runtime.JSX.Element;
19
+ type MessageActionsProps = ComponentProps<"div">;
20
+ declare const MessageActions: ({ className, children, ...props }: MessageActionsProps) => react_jsx_runtime.JSX.Element;
21
+ type MessageActionProps = ComponentProps<typeof Button> & {
22
+ tooltip?: string;
23
+ label?: string;
24
+ };
25
+ declare const MessageAction: ({ tooltip, children, label, variant, size, ...props }: MessageActionProps) => react_jsx_runtime.JSX.Element;
26
+ type MessageBranchProps = HTMLAttributes<HTMLDivElement> & {
27
+ defaultBranch?: number;
28
+ onBranchChange?: (branchIndex: number) => void;
29
+ };
30
+ declare const MessageBranch: ({ defaultBranch, onBranchChange, className, ...props }: MessageBranchProps) => react_jsx_runtime.JSX.Element;
31
+ type MessageBranchContentProps = HTMLAttributes<HTMLDivElement>;
32
+ declare const MessageBranchContent: ({ children, ...props }: MessageBranchContentProps) => react_jsx_runtime.JSX.Element[];
33
+ type MessageBranchSelectorProps = ComponentProps<typeof ButtonGroup>;
34
+ declare const MessageBranchSelector: ({ className, ...props }: MessageBranchSelectorProps) => react_jsx_runtime.JSX.Element | null;
35
+ type MessageBranchPreviousProps = ComponentProps<typeof Button>;
36
+ declare const MessageBranchPrevious: ({ children, ...props }: MessageBranchPreviousProps) => react_jsx_runtime.JSX.Element;
37
+ type MessageBranchNextProps = ComponentProps<typeof Button>;
38
+ declare const MessageBranchNext: ({ children, ...props }: MessageBranchNextProps) => react_jsx_runtime.JSX.Element;
39
+ type MessageBranchPageProps = HTMLAttributes<HTMLSpanElement>;
40
+ declare const MessageBranchPage: ({ className, ...props }: MessageBranchPageProps) => react_jsx_runtime.JSX.Element;
41
+ type MessageResponseProps = ComponentProps<typeof Streamdown>;
42
+ declare const MessageResponse: React.MemoExoticComponent<({ className, ...props }: MessageResponseProps) => react_jsx_runtime.JSX.Element>;
43
+ type MessageToolbarProps = ComponentProps<"div">;
44
+ declare const MessageToolbar: ({ className, children, ...props }: MessageToolbarProps) => react_jsx_runtime.JSX.Element;
45
+
46
+ export { Message, MessageAction, type MessageActionProps, MessageActions, type MessageActionsProps, MessageBranch, MessageBranchContent, type MessageBranchContentProps, MessageBranchNext, type MessageBranchNextProps, MessageBranchPage, type MessageBranchPageProps, MessageBranchPrevious, type MessageBranchPreviousProps, type MessageBranchProps, MessageBranchSelector, type MessageBranchSelectorProps, MessageContent, type MessageContentProps, type MessageProps, MessageResponse, type MessageResponseProps, MessageToolbar, type MessageToolbarProps };
@@ -0,0 +1,287 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { Button } from "../ui/button";
4
+ import {
5
+ ButtonGroup,
6
+ ButtonGroupText
7
+ } from "../ui/button-group";
8
+ import {
9
+ Tooltip,
10
+ TooltipContent,
11
+ TooltipProvider,
12
+ TooltipTrigger
13
+ } from "../ui/tooltip";
14
+ import { cn } from "../../lib/utils";
15
+ import { cjk } from "@streamdown/cjk";
16
+ import { code } from "@streamdown/code";
17
+ import { math } from "@streamdown/math";
18
+ import { mermaid } from "@streamdown/mermaid";
19
+ import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
20
+ import {
21
+ createContext,
22
+ memo,
23
+ useCallback,
24
+ use,
25
+ useEffect,
26
+ useMemo,
27
+ useState
28
+ } from "react";
29
+ import { Streamdown } from "streamdown";
30
+ const Message = ({ className, from, ...props }) => /* @__PURE__ */ jsx(
31
+ "div",
32
+ {
33
+ className: cn(
34
+ "group flex w-full max-w-[95%] flex-col gap-2",
35
+ from === "user" ? "is-user ml-auto justify-end" : "is-assistant",
36
+ className
37
+ ),
38
+ ...props
39
+ }
40
+ );
41
+ const MessageContent = ({
42
+ children,
43
+ className,
44
+ ...props
45
+ }) => /* @__PURE__ */ jsx(
46
+ "div",
47
+ {
48
+ className: cn(
49
+ "is-user:dark flex w-fit min-w-0 max-w-full flex-col gap-2 overflow-hidden text-sm",
50
+ "group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground",
51
+ "group-[.is-assistant]:text-foreground",
52
+ className
53
+ ),
54
+ ...props,
55
+ children
56
+ }
57
+ );
58
+ const MessageActions = ({
59
+ className,
60
+ children,
61
+ ...props
62
+ }) => /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-1", className), ...props, children });
63
+ const MessageAction = ({
64
+ tooltip,
65
+ children,
66
+ label,
67
+ variant = "ghost",
68
+ size = "icon-sm",
69
+ ...props
70
+ }) => {
71
+ const button = /* @__PURE__ */ jsxs(Button, { size, type: "button", variant, ...props, children: [
72
+ children,
73
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: label || tooltip })
74
+ ] });
75
+ if (tooltip) {
76
+ return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { children: [
77
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: button }),
78
+ /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx("p", { children: tooltip }) })
79
+ ] }) });
80
+ }
81
+ return button;
82
+ };
83
+ const MessageBranchContext = createContext(
84
+ null
85
+ );
86
+ const useMessageBranch = () => {
87
+ const context = use(MessageBranchContext);
88
+ if (!context) {
89
+ throw new Error(
90
+ "MessageBranch components must be used within MessageBranch"
91
+ );
92
+ }
93
+ return context;
94
+ };
95
+ const MessageBranch = ({
96
+ defaultBranch = 0,
97
+ onBranchChange,
98
+ className,
99
+ ...props
100
+ }) => {
101
+ const [currentBranch, setCurrentBranch] = useState(defaultBranch);
102
+ const [branches, setBranches] = useState([]);
103
+ const handleBranchChange = useCallback(
104
+ (newBranch) => {
105
+ setCurrentBranch(newBranch);
106
+ onBranchChange?.(newBranch);
107
+ },
108
+ [onBranchChange]
109
+ );
110
+ const goToPrevious = useCallback(() => {
111
+ const newBranch = currentBranch > 0 ? currentBranch - 1 : branches.length - 1;
112
+ handleBranchChange(newBranch);
113
+ }, [currentBranch, branches.length, handleBranchChange]);
114
+ const goToNext = useCallback(() => {
115
+ const newBranch = currentBranch < branches.length - 1 ? currentBranch + 1 : 0;
116
+ handleBranchChange(newBranch);
117
+ }, [currentBranch, branches.length, handleBranchChange]);
118
+ const contextValue = useMemo(
119
+ () => ({
120
+ branches,
121
+ currentBranch,
122
+ goToNext,
123
+ goToPrevious,
124
+ setBranches,
125
+ totalBranches: branches.length
126
+ }),
127
+ [branches, currentBranch, goToNext, goToPrevious]
128
+ );
129
+ return /* @__PURE__ */ jsx(MessageBranchContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
130
+ "div",
131
+ {
132
+ className: cn("grid w-full gap-2 [&>div]:pb-0", className),
133
+ ...props
134
+ }
135
+ ) });
136
+ };
137
+ const MessageBranchContent = ({
138
+ children,
139
+ ...props
140
+ }) => {
141
+ const { currentBranch, setBranches, branches } = useMessageBranch();
142
+ const childrenArray = useMemo(
143
+ () => Array.isArray(children) ? children : [children],
144
+ [children]
145
+ );
146
+ useEffect(() => {
147
+ if (branches.length !== childrenArray.length) {
148
+ setBranches(childrenArray);
149
+ }
150
+ }, [childrenArray, branches, setBranches]);
151
+ return childrenArray.map((branch, index) => /* @__PURE__ */ jsx(
152
+ "div",
153
+ {
154
+ className: cn(
155
+ "grid gap-2 overflow-hidden [&>div]:pb-0",
156
+ index === currentBranch ? "block" : "hidden"
157
+ ),
158
+ ...props,
159
+ children: branch
160
+ },
161
+ branch.key
162
+ ));
163
+ };
164
+ const MessageBranchSelector = ({
165
+ className,
166
+ ...props
167
+ }) => {
168
+ const { totalBranches } = useMessageBranch();
169
+ if (totalBranches <= 1) {
170
+ return null;
171
+ }
172
+ return /* @__PURE__ */ jsx(
173
+ ButtonGroup,
174
+ {
175
+ className: cn(
176
+ "[&>*:not(:first-child)]:rounded-l-md [&>*:not(:last-child)]:rounded-r-md",
177
+ className
178
+ ),
179
+ orientation: "horizontal",
180
+ ...props
181
+ }
182
+ );
183
+ };
184
+ const MessageBranchPrevious = ({
185
+ children,
186
+ ...props
187
+ }) => {
188
+ const { goToPrevious, totalBranches } = useMessageBranch();
189
+ return /* @__PURE__ */ jsx(
190
+ Button,
191
+ {
192
+ "aria-label": "Previous branch",
193
+ disabled: totalBranches <= 1,
194
+ onClick: goToPrevious,
195
+ size: "icon-sm",
196
+ type: "button",
197
+ variant: "ghost",
198
+ ...props,
199
+ children: children ?? /* @__PURE__ */ jsx(ChevronLeftIcon, { size: 14 })
200
+ }
201
+ );
202
+ };
203
+ const MessageBranchNext = ({
204
+ children,
205
+ ...props
206
+ }) => {
207
+ const { goToNext, totalBranches } = useMessageBranch();
208
+ return /* @__PURE__ */ jsx(
209
+ Button,
210
+ {
211
+ "aria-label": "Next branch",
212
+ disabled: totalBranches <= 1,
213
+ onClick: goToNext,
214
+ size: "icon-sm",
215
+ type: "button",
216
+ variant: "ghost",
217
+ ...props,
218
+ children: children ?? /* @__PURE__ */ jsx(ChevronRightIcon, { size: 14 })
219
+ }
220
+ );
221
+ };
222
+ const MessageBranchPage = ({
223
+ className,
224
+ ...props
225
+ }) => {
226
+ const { currentBranch, totalBranches } = useMessageBranch();
227
+ return /* @__PURE__ */ jsxs(
228
+ ButtonGroupText,
229
+ {
230
+ className: cn(
231
+ "border-none bg-transparent text-muted-foreground shadow-none",
232
+ className
233
+ ),
234
+ ...props,
235
+ children: [
236
+ currentBranch + 1,
237
+ " of ",
238
+ totalBranches
239
+ ]
240
+ }
241
+ );
242
+ };
243
+ const streamdownPlugins = { cjk, code, math, mermaid };
244
+ const MessageResponse = memo(
245
+ ({ className, ...props }) => /* @__PURE__ */ jsx(
246
+ Streamdown,
247
+ {
248
+ className: cn(
249
+ "size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
250
+ className
251
+ ),
252
+ plugins: streamdownPlugins,
253
+ ...props
254
+ }
255
+ ),
256
+ (prevProps, nextProps) => prevProps.children === nextProps.children
257
+ );
258
+ MessageResponse.displayName = "MessageResponse";
259
+ const MessageToolbar = ({
260
+ className,
261
+ children,
262
+ ...props
263
+ }) => /* @__PURE__ */ jsx(
264
+ "div",
265
+ {
266
+ className: cn(
267
+ "mt-4 flex w-full items-center justify-between gap-4",
268
+ className
269
+ ),
270
+ ...props,
271
+ children
272
+ }
273
+ );
274
+ export {
275
+ Message,
276
+ MessageAction,
277
+ MessageActions,
278
+ MessageBranch,
279
+ MessageBranchContent,
280
+ MessageBranchNext,
281
+ MessageBranchPage,
282
+ MessageBranchPrevious,
283
+ MessageBranchSelector,
284
+ MessageContent,
285
+ MessageResponse,
286
+ MessageToolbar
287
+ };