@chatsdk-dev/elements 0.0.1 → 0.1.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 (329) hide show
  1. package/README.md +3 -3
  2. package/dist/api-CIYPz72L.d.ts +10 -0
  3. package/dist/api-CIYPz72L.d.ts.map +1 -0
  4. package/dist/callbacks-PIvHXeEI.d.ts +24 -0
  5. package/dist/callbacks-PIvHXeEI.d.ts.map +1 -0
  6. package/dist/chat-element-CCsDDFif.js +441 -0
  7. package/dist/chat-element-CCsDDFif.js.map +1 -0
  8. package/dist/chat-element-CSpa62Te.d.ts +53 -0
  9. package/dist/chat-element-CSpa62Te.d.ts.map +1 -0
  10. package/dist/chatsdk-provider-BhlChLFd.d.ts +15 -0
  11. package/dist/chatsdk-provider-BhlChLFd.d.ts.map +1 -0
  12. package/dist/common/utils.d.ts +14 -0
  13. package/dist/common/utils.d.ts.map +1 -0
  14. package/dist/common/utils.js +26 -0
  15. package/dist/common/utils.js.map +1 -0
  16. package/dist/components/info-card.d.ts +20 -11
  17. package/dist/components/info-card.d.ts.map +1 -0
  18. package/dist/components/info-card.js +38 -1
  19. package/dist/components/info-card.js.map +1 -0
  20. package/dist/config-BigIL6TQ.js +29 -0
  21. package/dist/config-BigIL6TQ.js.map +1 -0
  22. package/dist/config-CqihvSgz.d.ts +150 -0
  23. package/dist/config-CqihvSgz.d.ts.map +1 -0
  24. package/dist/config-D_jVTH_D.d.ts +58 -0
  25. package/dist/config-D_jVTH_D.d.ts.map +1 -0
  26. package/dist/context-aSaHw-ac.d.ts +13 -0
  27. package/dist/context-aSaHw-ac.d.ts.map +1 -0
  28. package/dist/element-provider-C_nBsftD.d.ts +40 -0
  29. package/dist/element-provider-C_nBsftD.d.ts.map +1 -0
  30. package/dist/features/chat/chat-card.d.ts +5 -3
  31. package/dist/features/chat/chat-card.d.ts.map +1 -0
  32. package/dist/features/chat/chat-card.js +2 -14
  33. package/dist/features/chat/chat-element.d.ts +2 -0
  34. package/dist/features/chat/chat-element.js +2 -0
  35. package/dist/features/chat/chat-header/chat-header.d.ts +8 -4
  36. package/dist/features/chat/chat-header/chat-header.d.ts.map +1 -0
  37. package/dist/features/chat/chat-header/chat-header.js +2 -14
  38. package/dist/features/chat/chat-header/chat-menu.d.ts +5 -3
  39. package/dist/features/chat/chat-header/chat-menu.d.ts.map +1 -0
  40. package/dist/features/chat/chat-header/chat-menu.js +29 -2
  41. package/dist/features/chat/chat-header/chat-menu.js.map +1 -0
  42. package/dist/features/chat/chat-history/chat-history-empty.d.ts +5 -3
  43. package/dist/features/chat/chat-history/chat-history-empty.d.ts.map +1 -0
  44. package/dist/features/chat/chat-history/chat-history-empty.js +24 -1
  45. package/dist/features/chat/chat-history/chat-history-empty.js.map +1 -0
  46. package/dist/features/chat/chat-history/chat-history.d.ts +5 -3
  47. package/dist/features/chat/chat-history/chat-history.d.ts.map +1 -0
  48. package/dist/features/chat/chat-history/chat-history.js +2 -14
  49. package/dist/features/chat/chat-main/chat-main.d.ts +10 -0
  50. package/dist/features/chat/chat-main/chat-main.d.ts.map +1 -0
  51. package/dist/features/chat/chat-main/chat-main.js +3 -0
  52. package/dist/features/chat/chat-main/use-chat.d.ts +23 -0
  53. package/dist/features/chat/chat-main/use-chat.d.ts.map +1 -0
  54. package/dist/features/chat/chat-main/use-chat.js +3 -0
  55. package/dist/features/chat/chat-main/use-initial-messages.d.ts +22 -0
  56. package/dist/features/chat/chat-main/use-initial-messages.d.ts.map +1 -0
  57. package/dist/features/chat/chat-main/use-initial-messages.js +2 -0
  58. package/dist/features/chat/chat-prompt-input.d.ts +20 -12
  59. package/dist/features/chat/chat-prompt-input.d.ts.map +1 -0
  60. package/dist/features/chat/chat-prompt-input.js +3 -14
  61. package/dist/features/chat/chat.context.d.ts +17 -15
  62. package/dist/features/chat/chat.context.d.ts.map +1 -0
  63. package/dist/features/chat/chat.context.js +9 -12
  64. package/dist/features/chat/chat.context.js.map +1 -0
  65. package/dist/features/chat/index.d.ts +2 -14
  66. package/dist/features/chat/index.js +2 -14
  67. package/dist/features/chat/queries/query-keys.d.ts +7 -5
  68. package/dist/features/chat/queries/query-keys.d.ts.map +1 -0
  69. package/dist/features/chat/queries/query-keys.js +19 -1
  70. package/dist/features/chat/queries/query-keys.js.map +1 -0
  71. package/dist/features/chat/queries/use-create-conversation-mutation.d.ts +27 -23
  72. package/dist/features/chat/queries/use-create-conversation-mutation.d.ts.map +1 -0
  73. package/dist/features/chat/queries/use-create-conversation-mutation.js +17 -36
  74. package/dist/features/chat/queries/use-create-conversation-mutation.js.map +1 -0
  75. package/dist/features/chat/queries/use-get-chat-query.d.ts +9 -5
  76. package/dist/features/chat/queries/use-get-chat-query.d.ts.map +1 -0
  77. package/dist/features/chat/queries/use-get-chat-query.js +2 -14
  78. package/dist/features/chat/queries/use-get-conversation-query.d.ts +56 -46
  79. package/dist/features/chat/queries/use-get-conversation-query.d.ts.map +1 -0
  80. package/dist/features/chat/queries/use-get-conversation-query.js +2 -14
  81. package/dist/features/chat/queries/use-list-conversations-query.d.ts +27 -23
  82. package/dist/features/chat/queries/use-list-conversations-query.d.ts.map +1 -0
  83. package/dist/features/chat/queries/use-list-conversations-query.js +2 -14
  84. package/dist/features/chat/store.d.ts +10 -8
  85. package/dist/features/chat/store.d.ts.map +1 -0
  86. package/dist/features/chat/store.js +15 -1
  87. package/dist/features/chat/store.js.map +1 -0
  88. package/dist/features/chat/utils.d.ts +4 -2
  89. package/dist/features/chat/utils.d.ts.map +1 -0
  90. package/dist/features/chat/utils.js +15 -1
  91. package/dist/features/chat/utils.js.map +1 -0
  92. package/dist/features/data-fetching/use-api-client.d.ts +5 -3
  93. package/dist/features/data-fetching/use-api-client.d.ts.map +1 -0
  94. package/dist/features/data-fetching/use-api-client.js +2 -14
  95. package/dist/features/element/chatsdk-provider.d.ts +2 -0
  96. package/dist/features/element/chatsdk-provider.js +23 -0
  97. package/dist/features/element/chatsdk-provider.js.map +1 -0
  98. package/dist/features/element/constants.d.ts +5 -0
  99. package/dist/features/element/constants.d.ts.map +1 -0
  100. package/dist/features/element/constants.js +6 -0
  101. package/dist/features/element/constants.js.map +1 -0
  102. package/dist/features/element/element-provider.d.ts +2 -0
  103. package/dist/features/element/element-provider.js +82 -0
  104. package/dist/features/element/element-provider.js.map +1 -0
  105. package/dist/features/element/store.d.ts +2 -0
  106. package/dist/features/element/store.js +112 -0
  107. package/dist/features/element/store.js.map +1 -0
  108. package/dist/features/element/types/api.d.ts +2 -0
  109. package/dist/features/element/types/api.js +1 -0
  110. package/dist/features/element/types/callbacks.d.ts +2 -0
  111. package/dist/features/element/types/callbacks.js +1 -0
  112. package/dist/features/element/types/config.d.ts +2 -0
  113. package/dist/features/element/types/config.js +1 -0
  114. package/dist/features/element/types/context.d.ts +2 -0
  115. package/dist/features/element/types/context.js +1 -0
  116. package/dist/features/element/types/locale.d.ts +2 -0
  117. package/dist/features/element/types/locale.js +1 -0
  118. package/dist/features/element/types/theme.d.ts +2 -0
  119. package/dist/features/element/types/theme.js +1 -0
  120. package/dist/features/element/types/translations.d.ts +2 -0
  121. package/dist/features/element/types/translations.js +1 -0
  122. package/dist/features/element/use-element-config.d.ts +40 -0
  123. package/dist/features/element/use-element-config.d.ts.map +1 -0
  124. package/dist/features/element/use-element-config.js +39 -0
  125. package/dist/features/element/use-element-config.js.map +1 -0
  126. package/dist/features/element/use-merge-global-config.d.ts +20 -0
  127. package/dist/features/element/use-merge-global-config.d.ts.map +1 -0
  128. package/dist/features/element/use-merge-global-config.js +34 -0
  129. package/dist/features/element/use-merge-global-config.js.map +1 -0
  130. package/dist/features/element/utils.d.ts +2 -0
  131. package/dist/features/element/utils.js +86 -0
  132. package/dist/features/element/utils.js.map +1 -0
  133. package/dist/features/logger/logger.d.ts +2 -9
  134. package/dist/features/logger/logger.js +15 -1
  135. package/dist/features/logger/logger.js.map +1 -0
  136. package/dist/i18n/config.d.ts +2 -61
  137. package/dist/i18n/config.js +2 -1
  138. package/dist/i18n/i18next.d.ts +1382 -10
  139. package/dist/i18n/i18next.d.ts.map +1 -0
  140. package/dist/i18n/i18next.js +27 -2
  141. package/dist/i18n/i18next.js.map +1 -0
  142. package/dist/i18n/utils.d.ts +4 -3
  143. package/dist/i18n/utils.d.ts.map +1 -0
  144. package/dist/i18n/utils.js +10 -3
  145. package/dist/i18n/utils.js.map +1 -0
  146. package/dist/index.d.ts +5 -20
  147. package/dist/index.js +68 -20
  148. package/dist/index.js.map +1 -0
  149. package/dist/locale-W5Kyyi4X.d.ts +11 -0
  150. package/dist/locale-W5Kyyi4X.d.ts.map +1 -0
  151. package/dist/logger-BvmhODdq.d.ts +11 -0
  152. package/dist/logger-BvmhODdq.d.ts.map +1 -0
  153. package/dist/store-CGX9oRlE.d.ts +46 -0
  154. package/dist/store-CGX9oRlE.d.ts.map +1 -0
  155. package/dist/styles.css +1954 -1963
  156. package/dist/theme-Cb-RBWbR.d.ts +38 -0
  157. package/dist/theme-Cb-RBWbR.d.ts.map +1 -0
  158. package/package.json +18 -50
  159. package/dist/chunk-2LHKM7RD.js +0 -14
  160. package/dist/chunk-5UMYP6MD.js +0 -10
  161. package/dist/chunk-AP4MG32M.js +0 -36
  162. package/dist/chunk-CFM57HOS.js +0 -358
  163. package/dist/chunk-EGIUE7H2.js +0 -37
  164. package/dist/chunk-M5OONVIO.js +0 -90
  165. package/dist/chunk-MXTBCHYC.js +0 -31
  166. package/dist/chunk-NIC3MOMY.js +0 -55
  167. package/dist/chunk-QTRMNIG3.js +0 -83
  168. package/dist/chunk-R7G3RQLU.js +0 -36
  169. package/dist/chunk-RJG5D2TM.js +0 -113
  170. package/dist/chunk-SLJNKQ2G.js +0 -125
  171. package/dist/chunk-TDEFIW2L.js +0 -9
  172. package/dist/chunk-TDP6D7U7.js +0 -551
  173. package/dist/chunk-V2ITXC65.js +0 -24
  174. package/dist/chunk-VS55HRUS.js +0 -16
  175. package/dist/chunk-VYDYCGJL.js +0 -25
  176. package/dist/chunk-X5YUF2YM.js +0 -113
  177. package/dist/chunk-YX46JVQN.js +0 -78
  178. package/dist/chunk-YXAMLTTT.js +0 -16
  179. package/dist/chunk-YXFVHSY4.js +0 -51
  180. package/dist/chunk-ZCSZX3OI.js +0 -4
  181. package/dist/common/use-copy-to-clipboard.d.ts +0 -3
  182. package/dist/common/use-copy-to-clipboard.js +0 -33
  183. package/dist/common/utilts.d.ts +0 -8
  184. package/dist/common/utilts.js +0 -28
  185. package/dist/components/ai-elements/actions.d.ts +0 -13
  186. package/dist/components/ai-elements/actions.js +0 -42
  187. package/dist/components/ai-elements/agent.d.ts +0 -31
  188. package/dist/components/ai-elements/agent.js +0 -77
  189. package/dist/components/ai-elements/artifact.d.ts +0 -27
  190. package/dist/components/ai-elements/artifact.js +0 -108
  191. package/dist/components/ai-elements/attachments.d.ts +0 -57
  192. package/dist/components/ai-elements/attachments.js +0 -258
  193. package/dist/components/ai-elements/audio-player.d.ts +0 -33
  194. package/dist/components/ai-elements/audio-player.js +0 -199
  195. package/dist/components/ai-elements/canvas.d.ts +0 -10
  196. package/dist/components/ai-elements/canvas.js +0 -24
  197. package/dist/components/ai-elements/chain-of-thought.d.ts +0 -34
  198. package/dist/components/ai-elements/chain-of-thought.js +0 -159
  199. package/dist/components/ai-elements/checkpoint.d.ts +0 -16
  200. package/dist/components/ai-elements/checkpoint.js +0 -47
  201. package/dist/components/ai-elements/code-block.d.ts +0 -48
  202. package/dist/components/ai-elements/code-block.js +0 -1
  203. package/dist/components/ai-elements/commit.d.ts +0 -68
  204. package/dist/components/ai-elements/commit.js +0 -314
  205. package/dist/components/ai-elements/confirmation.d.ts +0 -52
  206. package/dist/components/ai-elements/confirmation.js +0 -76
  207. package/dist/components/ai-elements/connection.d.ts +0 -5
  208. package/dist/components/ai-elements/connection.js +0 -34
  209. package/dist/components/ai-elements/context.d.ts +0 -36
  210. package/dist/components/ai-elements/context.js +0 -320
  211. package/dist/components/ai-elements/controls.d.ts +0 -8
  212. package/dist/components/ai-elements/controls.js +0 -17
  213. package/dist/components/ai-elements/conversation.d.ts +0 -27
  214. package/dist/components/ai-elements/conversation.js +0 -119
  215. package/dist/components/ai-elements/edge.d.ts +0 -9
  216. package/dist/components/ai-elements/edge.js +0 -111
  217. package/dist/components/ai-elements/environment-variables.d.ts +0 -42
  218. package/dist/components/ai-elements/environment-variables.js +0 -208
  219. package/dist/components/ai-elements/file-tree.d.ts +0 -30
  220. package/dist/components/ai-elements/file-tree.js +0 -212
  221. package/dist/components/ai-elements/image.d.ts +0 -10
  222. package/dist/components/ai-elements/image.js +0 -23
  223. package/dist/components/ai-elements/inline-citation.d.ts +0 -42
  224. package/dist/components/ai-elements/inline-citation.js +0 -203
  225. package/dist/components/ai-elements/jsx-preview.d.ts +0 -33
  226. package/dist/components/ai-elements/jsx-preview.js +0 -206
  227. package/dist/components/ai-elements/loader.d.ts +0 -9
  228. package/dist/components/ai-elements/loader.js +0 -115
  229. package/dist/components/ai-elements/message.d.ts +0 -42
  230. package/dist/components/ai-elements/message.js +0 -259
  231. package/dist/components/ai-elements/mic-selector.d.ts +0 -49
  232. package/dist/components/ai-elements/mic-selector.js +0 -252
  233. package/dist/components/ai-elements/model-selector.d.ts +0 -39
  234. package/dist/components/ai-elements/model-selector.js +0 -73
  235. package/dist/components/ai-elements/node.d.ts +0 -25
  236. package/dist/components/ai-elements/node.js +0 -41
  237. package/dist/components/ai-elements/open-in-chat.d.ts +0 -32
  238. package/dist/components/ai-elements/open-in-chat.js +0 -366
  239. package/dist/components/ai-elements/package-info.d.ts +0 -32
  240. package/dist/components/ai-elements/package-info.js +0 -162
  241. package/dist/components/ai-elements/panel.d.ts +0 -8
  242. package/dist/components/ai-elements/panel.js +0 -17
  243. package/dist/components/ai-elements/persona.d.ts +0 -50
  244. package/dist/components/ai-elements/persona.js +0 -209
  245. package/dist/components/ai-elements/plan.d.ts +0 -29
  246. package/dist/components/ai-elements/plan.js +0 -95
  247. package/dist/components/ai-elements/prompt-input.d.ts +0 -153
  248. package/dist/components/ai-elements/prompt-input.js +0 -939
  249. package/dist/components/ai-elements/queue.d.ts +0 -65
  250. package/dist/components/ai-elements/queue.js +0 -179
  251. package/dist/components/ai-elements/reasoning.d.ts +0 -30
  252. package/dist/components/ai-elements/reasoning.js +0 -161
  253. package/dist/components/ai-elements/response.d.ts +0 -9
  254. package/dist/components/ai-elements/response.js +0 -33
  255. package/dist/components/ai-elements/sandbox.d.ts +0 -28
  256. package/dist/components/ai-elements/sandbox.js +0 -98
  257. package/dist/components/ai-elements/schema-display.d.ts +0 -58
  258. package/dist/components/ai-elements/schema-display.js +0 -313
  259. package/dist/components/ai-elements/shimmer.d.ts +0 -14
  260. package/dist/components/ai-elements/shimmer.js +0 -1
  261. package/dist/components/ai-elements/snippet.d.ts +0 -22
  262. package/dist/components/ai-elements/snippet.js +0 -90
  263. package/dist/components/ai-elements/sources.d.ts +0 -16
  264. package/dist/components/ai-elements/sources.js +0 -62
  265. package/dist/components/ai-elements/speech-input.d.ts +0 -57
  266. package/dist/components/ai-elements/speech-input.js +0 -206
  267. package/dist/components/ai-elements/stack-trace.d.ts +0 -42
  268. package/dist/components/ai-elements/stack-trace.js +0 -377
  269. package/dist/components/ai-elements/suggestion.d.ts +0 -14
  270. package/dist/components/ai-elements/suggestion.js +0 -41
  271. package/dist/components/ai-elements/task.d.ts +0 -18
  272. package/dist/components/ai-elements/task.js +0 -60
  273. package/dist/components/ai-elements/terminal.d.ts +0 -31
  274. package/dist/components/ai-elements/terminal.js +0 -203
  275. package/dist/components/ai-elements/test-results.d.ts +0 -61
  276. package/dist/components/ai-elements/test-results.js +0 -349
  277. package/dist/components/ai-elements/tool.d.ts +0 -35
  278. package/dist/components/ai-elements/tool.js +0 -2
  279. package/dist/components/ai-elements/toolbar.d.ts +0 -8
  280. package/dist/components/ai-elements/toolbar.js +0 -18
  281. package/dist/components/ai-elements/transcription.d.ts +0 -19
  282. package/dist/components/ai-elements/transcription.js +0 -90
  283. package/dist/components/ai-elements/voice-selector.d.ts +0 -66
  284. package/dist/components/ai-elements/voice-selector.js +0 -332
  285. package/dist/components/ai-elements/web-preview.d.ts +0 -38
  286. package/dist/components/ai-elements/web-preview.js +0 -214
  287. package/dist/components/responsive-alert-dialog.d.ts +0 -19
  288. package/dist/components/responsive-alert-dialog.js +0 -1
  289. package/dist/components/responsive-dialog.d.ts +0 -14
  290. package/dist/components/responsive-dialog.js +0 -1
  291. package/dist/config-IcWUmjwj.d.ts +0 -239
  292. package/dist/features/chat/chat-element/chat-element.d.ts +0 -8
  293. package/dist/features/chat/chat-element/chat-element.js +0 -14
  294. package/dist/features/chat/chat-element/use-chat.d.ts +0 -21
  295. package/dist/features/chat/chat-element/use-chat.js +0 -14
  296. package/dist/features/chat/chat-element/use-initial-messages.d.ts +0 -20
  297. package/dist/features/chat/chat-element/use-initial-messages.js +0 -14
  298. package/dist/features/chat/chat-message.d.ts +0 -10
  299. package/dist/features/chat/chat-message.js +0 -1
  300. package/dist/features/chat/chat-molecule.d.ts +0 -35
  301. package/dist/features/chat/chat-molecule.js +0 -14
  302. package/dist/features/molecule/chatsdk-provider.d.ts +0 -19
  303. package/dist/features/molecule/chatsdk-provider.js +0 -26
  304. package/dist/features/molecule/constants.d.ts +0 -3
  305. package/dist/features/molecule/constants.js +0 -1
  306. package/dist/features/molecule/molecule-provider.d.ts +0 -39
  307. package/dist/features/molecule/molecule-provider.js +0 -1
  308. package/dist/features/molecule/store.d.ts +0 -53
  309. package/dist/features/molecule/store.js +0 -3
  310. package/dist/features/molecule/types/api.d.ts +0 -8
  311. package/dist/features/molecule/types/api.js +0 -1
  312. package/dist/features/molecule/types/callbacks.d.ts +0 -22
  313. package/dist/features/molecule/types/callbacks.js +0 -1
  314. package/dist/features/molecule/types/config.d.ts +0 -10
  315. package/dist/features/molecule/types/config.js +0 -1
  316. package/dist/features/molecule/types/context.d.ts +0 -11
  317. package/dist/features/molecule/types/context.js +0 -1
  318. package/dist/features/molecule/types/locale.d.ts +0 -9
  319. package/dist/features/molecule/types/locale.js +0 -1
  320. package/dist/features/molecule/types/theme.d.ts +0 -38
  321. package/dist/features/molecule/types/theme.js +0 -1
  322. package/dist/features/molecule/types/translations.d.ts +0 -10
  323. package/dist/features/molecule/types/translations.js +0 -1
  324. package/dist/features/molecule/use-merge-global-config.d.ts +0 -22
  325. package/dist/features/molecule/use-merge-global-config.js +0 -5
  326. package/dist/features/molecule/use-molecule-config.d.ts +0 -41
  327. package/dist/features/molecule/use-molecule-config.js +0 -6
  328. package/dist/features/molecule/utils.d.ts +0 -10
  329. package/dist/features/molecule/utils.js +0 -1
@@ -1,206 +0,0 @@
1
- import { cn } from '@chatsdk-dev/ui/lib/utils';
2
- import { AlertCircle } from 'lucide-react';
3
- import { createContext, memo, useState, useMemo, useRef, useEffect, useCallback, useContext } from 'react';
4
- import JsxParser from 'react-jsx-parser';
5
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
-
7
- var JSXPreviewContext = createContext(null);
8
- var TAG_REGEX = /<\/?([a-zA-Z][a-zA-Z0-9]*)\s*([^>]*?)(\/)?>/;
9
- var useJSXPreview = () => {
10
- const context = useContext(JSXPreviewContext);
11
- if (!context) {
12
- throw new Error("JSXPreview components must be used within JSXPreview");
13
- }
14
- return context;
15
- };
16
- var matchJsxTag = (code) => {
17
- if (code.trim() === "") {
18
- return null;
19
- }
20
- const match = code.match(TAG_REGEX);
21
- if (!match || match.index === void 0) {
22
- return null;
23
- }
24
- const [fullMatch, tagName, attributes, selfClosing] = match;
25
- let type;
26
- if (selfClosing) {
27
- type = "self-closing";
28
- } else if (fullMatch.startsWith("</")) {
29
- type = "closing";
30
- } else {
31
- type = "opening";
32
- }
33
- return {
34
- attributes: attributes?.trim(),
35
- endIndex: match.index + fullMatch.length,
36
- startIndex: match.index,
37
- tag: fullMatch,
38
- tagName,
39
- type
40
- };
41
- };
42
- var stripIncompleteTag = (text) => {
43
- const lastOpen = text.lastIndexOf("<");
44
- if (lastOpen === -1) {
45
- return text;
46
- }
47
- const afterOpen = text.slice(lastOpen);
48
- if (!afterOpen.includes(">")) {
49
- return text.slice(0, lastOpen);
50
- }
51
- return text;
52
- };
53
- var completeJsxTag = (code) => {
54
- const stack = [];
55
- let result = "";
56
- let currentPosition = 0;
57
- while (currentPosition < code.length) {
58
- const match = matchJsxTag(code.slice(currentPosition));
59
- if (!match) {
60
- result += stripIncompleteTag(code.slice(currentPosition));
61
- break;
62
- }
63
- const { tagName, type, endIndex } = match;
64
- result += code.slice(currentPosition, currentPosition + endIndex);
65
- if (type === "opening") {
66
- stack.push(tagName ?? "");
67
- } else if (type === "closing") {
68
- stack.pop();
69
- }
70
- currentPosition += endIndex;
71
- }
72
- return result + stack.reverse().map((tag) => `</${tag}>`).join("");
73
- };
74
- var JSXPreview = memo(
75
- ({
76
- jsx: jsx2,
77
- isStreaming = false,
78
- components,
79
- bindings,
80
- onError,
81
- className,
82
- children,
83
- ...props
84
- }) => {
85
- const [prevJsx, setPrevJsx] = useState(jsx2);
86
- const [error, setError] = useState(null);
87
- const [_lastGoodJsx, setLastGoodJsx] = useState("");
88
- if (jsx2 !== prevJsx) {
89
- setPrevJsx(jsx2);
90
- setError(null);
91
- }
92
- const processedJsx = useMemo(
93
- () => isStreaming ? completeJsxTag(jsx2) : jsx2,
94
- [jsx2, isStreaming]
95
- );
96
- const contextValue = useMemo(
97
- () => ({
98
- bindings,
99
- components,
100
- error,
101
- isStreaming,
102
- jsx: jsx2,
103
- onErrorProp: onError,
104
- processedJsx,
105
- setError,
106
- setLastGoodJsx
107
- }),
108
- [
109
- bindings,
110
- components,
111
- error,
112
- isStreaming,
113
- jsx2,
114
- onError,
115
- processedJsx,
116
- setError
117
- ]
118
- );
119
- return /* @__PURE__ */ jsx(JSXPreviewContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx("div", { className: cn("relative", className), ...props, children }) });
120
- }
121
- );
122
- JSXPreview.displayName = "JSXPreview";
123
- var JSXPreviewContent = memo(
124
- ({ className, ...props }) => {
125
- const {
126
- processedJsx,
127
- isStreaming,
128
- components,
129
- bindings,
130
- setError,
131
- setLastGoodJsx,
132
- onErrorProp
133
- } = useJSXPreview();
134
- const errorReportedRef = useRef(null);
135
- const lastGoodJsxRef = useRef("");
136
- const [hadError, setHadError] = useState(false);
137
- useEffect(() => {
138
- errorReportedRef.current = null;
139
- setHadError(false);
140
- }, [processedJsx]);
141
- const handleError = useCallback(
142
- (err) => {
143
- if (errorReportedRef.current === processedJsx) {
144
- return;
145
- }
146
- errorReportedRef.current = processedJsx;
147
- if (isStreaming) {
148
- setHadError(true);
149
- return;
150
- }
151
- setError(err);
152
- onErrorProp?.(err);
153
- },
154
- [processedJsx, isStreaming, onErrorProp, setError]
155
- );
156
- useEffect(() => {
157
- if (!errorReportedRef.current) {
158
- lastGoodJsxRef.current = processedJsx;
159
- setLastGoodJsx(processedJsx);
160
- }
161
- }, [processedJsx, setLastGoodJsx]);
162
- const displayJsx = isStreaming && hadError ? lastGoodJsxRef.current : processedJsx;
163
- return /* @__PURE__ */ jsx("div", { className: cn("jsx-preview-content", className), ...props, children: /* @__PURE__ */ jsx(
164
- JsxParser,
165
- {
166
- bindings,
167
- components,
168
- jsx: displayJsx,
169
- onError: handleError,
170
- renderInWrapper: false
171
- }
172
- ) });
173
- }
174
- );
175
- JSXPreviewContent.displayName = "JSXPreviewContent";
176
- var renderChildren = (children, error) => {
177
- if (typeof children === "function") {
178
- return children(error);
179
- }
180
- return children;
181
- };
182
- var JSXPreviewError = memo(
183
- ({ className, children, ...props }) => {
184
- const { error } = useJSXPreview();
185
- if (!error) {
186
- return null;
187
- }
188
- return /* @__PURE__ */ jsx(
189
- "div",
190
- {
191
- className: cn(
192
- "flex items-center gap-2 rounded-md border border-destructive/50 bg-destructive/10 p-3 text-destructive text-sm",
193
- className
194
- ),
195
- ...props,
196
- children: children ? renderChildren(children, error) : /* @__PURE__ */ jsxs(Fragment, { children: [
197
- /* @__PURE__ */ jsx(AlertCircle, { className: "size-4 shrink-0" }),
198
- /* @__PURE__ */ jsx("span", { children: error.message })
199
- ] })
200
- }
201
- );
202
- }
203
- );
204
- JSXPreviewError.displayName = "JSXPreviewError";
205
-
206
- export { JSXPreview, JSXPreviewContent, JSXPreviewError, useJSXPreview };
@@ -1,9 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { HTMLAttributes } from 'react';
3
-
4
- type LoaderProps = HTMLAttributes<HTMLDivElement> & {
5
- size?: number;
6
- };
7
- declare const Loader: ({ className, size, ...props }: LoaderProps) => react_jsx_runtime.JSX.Element;
8
-
9
- export { Loader, type LoaderProps };
@@ -1,115 +0,0 @@
1
- import { cn } from '@chatsdk-dev/ui/lib/utils';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
-
4
- // src/components/ai-elements/loader.tsx
5
- var LoaderIcon = ({ size = 16 }) => /* @__PURE__ */ jsxs(
6
- "svg",
7
- {
8
- height: size,
9
- strokeLinejoin: "round",
10
- style: { color: "currentcolor" },
11
- viewBox: "0 0 16 16",
12
- width: size,
13
- children: [
14
- /* @__PURE__ */ jsx("title", { children: "Loader" }),
15
- /* @__PURE__ */ jsxs("g", { clipPath: "url(#clip0_2393_1490)", children: [
16
- /* @__PURE__ */ jsx("path", { d: "M8 0V4", stroke: "currentColor", strokeWidth: "1.5" }),
17
- /* @__PURE__ */ jsx(
18
- "path",
19
- {
20
- d: "M8 16V12",
21
- opacity: "0.5",
22
- stroke: "currentColor",
23
- strokeWidth: "1.5"
24
- }
25
- ),
26
- /* @__PURE__ */ jsx(
27
- "path",
28
- {
29
- d: "M3.29773 1.52783L5.64887 4.7639",
30
- opacity: "0.9",
31
- stroke: "currentColor",
32
- strokeWidth: "1.5"
33
- }
34
- ),
35
- /* @__PURE__ */ jsx(
36
- "path",
37
- {
38
- d: "M12.7023 1.52783L10.3511 4.7639",
39
- opacity: "0.1",
40
- stroke: "currentColor",
41
- strokeWidth: "1.5"
42
- }
43
- ),
44
- /* @__PURE__ */ jsx(
45
- "path",
46
- {
47
- d: "M12.7023 14.472L10.3511 11.236",
48
- opacity: "0.4",
49
- stroke: "currentColor",
50
- strokeWidth: "1.5"
51
- }
52
- ),
53
- /* @__PURE__ */ jsx(
54
- "path",
55
- {
56
- d: "M3.29773 14.472L5.64887 11.236",
57
- opacity: "0.6",
58
- stroke: "currentColor",
59
- strokeWidth: "1.5"
60
- }
61
- ),
62
- /* @__PURE__ */ jsx(
63
- "path",
64
- {
65
- d: "M15.6085 5.52783L11.8043 6.7639",
66
- opacity: "0.2",
67
- stroke: "currentColor",
68
- strokeWidth: "1.5"
69
- }
70
- ),
71
- /* @__PURE__ */ jsx(
72
- "path",
73
- {
74
- d: "M0.391602 10.472L4.19583 9.23598",
75
- opacity: "0.7",
76
- stroke: "currentColor",
77
- strokeWidth: "1.5"
78
- }
79
- ),
80
- /* @__PURE__ */ jsx(
81
- "path",
82
- {
83
- d: "M15.6085 10.4722L11.8043 9.2361",
84
- opacity: "0.3",
85
- stroke: "currentColor",
86
- strokeWidth: "1.5"
87
- }
88
- ),
89
- /* @__PURE__ */ jsx(
90
- "path",
91
- {
92
- d: "M0.391602 5.52783L4.19583 6.7639",
93
- opacity: "0.8",
94
- stroke: "currentColor",
95
- strokeWidth: "1.5"
96
- }
97
- )
98
- ] }),
99
- /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "clip0_2393_1490", children: /* @__PURE__ */ jsx("rect", { fill: "white", height: "16", width: "16" }) }) })
100
- ]
101
- }
102
- );
103
- var Loader = ({ className, size = 16, ...props }) => /* @__PURE__ */ jsx(
104
- "div",
105
- {
106
- className: cn(
107
- "inline-flex animate-spin items-center justify-center",
108
- className
109
- ),
110
- ...props,
111
- children: /* @__PURE__ */ jsx(LoaderIcon, { size })
112
- }
113
- );
114
-
115
- export { Loader };
@@ -1,42 +0,0 @@
1
- import * as react from 'react';
2
- import { HTMLAttributes, ComponentProps } from 'react';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import { Button } from '@chatsdk-dev/ui/components/button';
5
- import { ButtonGroup } from '@chatsdk-dev/ui/components/button-group';
6
- import { UIMessage } from 'ai';
7
- import { Streamdown } from 'streamdown';
8
-
9
- type MessageProps = HTMLAttributes<HTMLDivElement> & {
10
- from: UIMessage["role"];
11
- };
12
- declare const Message: ({ className, from, ...props }: MessageProps) => react_jsx_runtime.JSX.Element;
13
- type MessageContentProps = HTMLAttributes<HTMLDivElement>;
14
- declare const MessageContent: ({ children, className, ...props }: MessageContentProps) => react_jsx_runtime.JSX.Element;
15
- type MessageActionsProps = ComponentProps<"div">;
16
- declare const MessageActions: ({ className, children, ...props }: MessageActionsProps) => react_jsx_runtime.JSX.Element;
17
- type MessageActionProps = ComponentProps<typeof Button> & {
18
- tooltip?: string;
19
- label?: string;
20
- };
21
- declare const MessageAction: ({ tooltip, children, label, variant, size, ...props }: MessageActionProps) => react_jsx_runtime.JSX.Element;
22
- type MessageBranchProps = HTMLAttributes<HTMLDivElement> & {
23
- defaultBranch?: number;
24
- onBranchChange?: (branchIndex: number) => void;
25
- };
26
- declare const MessageBranch: ({ defaultBranch, onBranchChange, className, ...props }: MessageBranchProps) => react_jsx_runtime.JSX.Element;
27
- type MessageBranchContentProps = HTMLAttributes<HTMLDivElement>;
28
- declare const MessageBranchContent: ({ children, ...props }: MessageBranchContentProps) => react_jsx_runtime.JSX.Element[];
29
- type MessageBranchSelectorProps = ComponentProps<typeof ButtonGroup>;
30
- declare const MessageBranchSelector: ({ className, ...props }: MessageBranchSelectorProps) => react_jsx_runtime.JSX.Element | null;
31
- type MessageBranchPreviousProps = ComponentProps<typeof Button>;
32
- declare const MessageBranchPrevious: ({ children, ...props }: MessageBranchPreviousProps) => react_jsx_runtime.JSX.Element;
33
- type MessageBranchNextProps = ComponentProps<typeof Button>;
34
- declare const MessageBranchNext: ({ children, ...props }: MessageBranchNextProps) => react_jsx_runtime.JSX.Element;
35
- type MessageBranchPageProps = HTMLAttributes<HTMLSpanElement>;
36
- declare const MessageBranchPage: ({ className, ...props }: MessageBranchPageProps) => react_jsx_runtime.JSX.Element;
37
- type MessageResponseProps = ComponentProps<typeof Streamdown>;
38
- declare const MessageResponse: react.MemoExoticComponent<({ className, ...props }: MessageResponseProps) => react_jsx_runtime.JSX.Element>;
39
- type MessageToolbarProps = ComponentProps<"div">;
40
- declare const MessageToolbar: ({ className, children, ...props }: MessageToolbarProps) => react_jsx_runtime.JSX.Element;
41
-
42
- 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 };
@@ -1,259 +0,0 @@
1
- import { Button } from '@chatsdk-dev/ui/components/button';
2
- import { ButtonGroup, ButtonGroupText } from '@chatsdk-dev/ui/components/button-group';
3
- import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from '@chatsdk-dev/ui/components/tooltip';
4
- import { cn } from '@chatsdk-dev/ui/lib/utils';
5
- import { cjk } from '@streamdown/cjk';
6
- import { code } from '@streamdown/code';
7
- import { math } from '@streamdown/math';
8
- import { mermaid } from '@streamdown/mermaid';
9
- import { ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';
10
- import { createContext, memo, useState, useCallback, useMemo, useEffect, useContext } from 'react';
11
- import { Streamdown } from 'streamdown';
12
- import { jsx, jsxs } from 'react/jsx-runtime';
13
-
14
- var Message = ({ className, from, ...props }) => /* @__PURE__ */ jsx(
15
- "div",
16
- {
17
- className: cn(
18
- "group flex w-full max-w-[95%] flex-col gap-2",
19
- from === "user" ? "is-user ml-auto justify-end" : "is-assistant",
20
- className
21
- ),
22
- ...props
23
- }
24
- );
25
- var MessageContent = ({
26
- children,
27
- className,
28
- ...props
29
- }) => /* @__PURE__ */ jsx(
30
- "div",
31
- {
32
- className: cn(
33
- "is-user:dark flex w-fit min-w-0 max-w-full flex-col gap-2 overflow-hidden text-sm",
34
- "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",
35
- "group-[.is-assistant]:text-foreground",
36
- className
37
- ),
38
- ...props,
39
- children
40
- }
41
- );
42
- var MessageActions = ({
43
- className,
44
- children,
45
- ...props
46
- }) => /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-1", className), ...props, children });
47
- var MessageAction = ({
48
- tooltip,
49
- children,
50
- label,
51
- variant = "ghost",
52
- size = "icon",
53
- ...props
54
- }) => {
55
- const button = /* @__PURE__ */ jsxs(Button, { size, type: "button", variant, ...props, children: [
56
- children,
57
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: label || tooltip })
58
- ] });
59
- if (tooltip) {
60
- return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { children: [
61
- /* @__PURE__ */ jsx(TooltipTrigger, { render: () => button }),
62
- /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx("p", { children: tooltip }) })
63
- ] }) });
64
- }
65
- return button;
66
- };
67
- var MessageBranchContext = createContext(
68
- null
69
- );
70
- var useMessageBranch = () => {
71
- const context = useContext(MessageBranchContext);
72
- if (!context) {
73
- throw new Error(
74
- "MessageBranch components must be used within MessageBranch"
75
- );
76
- }
77
- return context;
78
- };
79
- var MessageBranch = ({
80
- defaultBranch = 0,
81
- onBranchChange,
82
- className,
83
- ...props
84
- }) => {
85
- const [currentBranch, setCurrentBranch] = useState(defaultBranch);
86
- const [branches, setBranches] = useState([]);
87
- const handleBranchChange = useCallback(
88
- (newBranch) => {
89
- setCurrentBranch(newBranch);
90
- onBranchChange?.(newBranch);
91
- },
92
- [onBranchChange]
93
- );
94
- const goToPrevious = useCallback(() => {
95
- const newBranch = currentBranch > 0 ? currentBranch - 1 : branches.length - 1;
96
- handleBranchChange(newBranch);
97
- }, [currentBranch, branches.length, handleBranchChange]);
98
- const goToNext = useCallback(() => {
99
- const newBranch = currentBranch < branches.length - 1 ? currentBranch + 1 : 0;
100
- handleBranchChange(newBranch);
101
- }, [currentBranch, branches.length, handleBranchChange]);
102
- const contextValue = useMemo(
103
- () => ({
104
- branches,
105
- currentBranch,
106
- goToNext,
107
- goToPrevious,
108
- setBranches,
109
- totalBranches: branches.length
110
- }),
111
- [branches, currentBranch, goToNext, goToPrevious]
112
- );
113
- return /* @__PURE__ */ jsx(MessageBranchContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
114
- "div",
115
- {
116
- className: cn("grid w-full gap-2 [&>div]:pb-0", className),
117
- ...props
118
- }
119
- ) });
120
- };
121
- var MessageBranchContent = ({
122
- children,
123
- ...props
124
- }) => {
125
- const { currentBranch, setBranches, branches } = useMessageBranch();
126
- const childrenArray = useMemo(
127
- () => Array.isArray(children) ? children : [children],
128
- [children]
129
- );
130
- useEffect(() => {
131
- if (branches.length !== childrenArray.length) {
132
- setBranches(childrenArray);
133
- }
134
- }, [childrenArray, branches, setBranches]);
135
- return childrenArray.map((branch, index) => /* @__PURE__ */ jsx(
136
- "div",
137
- {
138
- className: cn(
139
- "grid gap-2 overflow-hidden [&>div]:pb-0",
140
- index === currentBranch ? "block" : "hidden"
141
- ),
142
- ...props,
143
- children: branch
144
- },
145
- branch.key
146
- ));
147
- };
148
- var MessageBranchSelector = ({
149
- className,
150
- ...props
151
- }) => {
152
- const { totalBranches } = useMessageBranch();
153
- if (totalBranches <= 1) {
154
- return null;
155
- }
156
- return /* @__PURE__ */ jsx(
157
- ButtonGroup,
158
- {
159
- className: cn(
160
- "[&>*:not(:first-child)]:rounded-l-md [&>*:not(:last-child)]:rounded-r-md",
161
- className
162
- ),
163
- orientation: "horizontal",
164
- ...props
165
- }
166
- );
167
- };
168
- var MessageBranchPrevious = ({
169
- children,
170
- ...props
171
- }) => {
172
- const { goToPrevious, totalBranches } = useMessageBranch();
173
- return /* @__PURE__ */ jsx(
174
- Button,
175
- {
176
- "aria-label": "Previous branch",
177
- disabled: totalBranches <= 1,
178
- onClick: goToPrevious,
179
- size: "icon",
180
- type: "button",
181
- variant: "ghost",
182
- ...props,
183
- children: children ?? /* @__PURE__ */ jsx(ChevronLeftIcon, { size: 14 })
184
- }
185
- );
186
- };
187
- var MessageBranchNext = ({
188
- children,
189
- ...props
190
- }) => {
191
- const { goToNext, totalBranches } = useMessageBranch();
192
- return /* @__PURE__ */ jsx(
193
- Button,
194
- {
195
- "aria-label": "Next branch",
196
- disabled: totalBranches <= 1,
197
- onClick: goToNext,
198
- size: "icon",
199
- type: "button",
200
- variant: "ghost",
201
- ...props,
202
- children: children ?? /* @__PURE__ */ jsx(ChevronRightIcon, { size: 14 })
203
- }
204
- );
205
- };
206
- var MessageBranchPage = ({
207
- className,
208
- ...props
209
- }) => {
210
- const { currentBranch, totalBranches } = useMessageBranch();
211
- return /* @__PURE__ */ jsxs(
212
- ButtonGroupText,
213
- {
214
- className: cn(
215
- "border-none bg-transparent text-muted-foreground shadow-none",
216
- className
217
- ),
218
- ...props,
219
- children: [
220
- currentBranch + 1,
221
- " of ",
222
- totalBranches
223
- ]
224
- }
225
- );
226
- };
227
- var streamdownPlugins = { cjk, code, math, mermaid };
228
- var MessageResponse = memo(
229
- ({ className, ...props }) => /* @__PURE__ */ jsx(
230
- Streamdown,
231
- {
232
- className: cn(
233
- "size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
234
- className
235
- ),
236
- plugins: streamdownPlugins,
237
- ...props
238
- }
239
- ),
240
- (prevProps, nextProps) => prevProps.children === nextProps.children && nextProps.isAnimating === prevProps.isAnimating
241
- );
242
- MessageResponse.displayName = "MessageResponse";
243
- var MessageToolbar = ({
244
- className,
245
- children,
246
- ...props
247
- }) => /* @__PURE__ */ jsx(
248
- "div",
249
- {
250
- className: cn(
251
- "mt-4 flex w-full items-center justify-between gap-4",
252
- className
253
- ),
254
- ...props,
255
- children
256
- }
257
- );
258
-
259
- export { Message, MessageAction, MessageActions, MessageBranch, MessageBranchContent, MessageBranchNext, MessageBranchPage, MessageBranchPrevious, MessageBranchSelector, MessageContent, MessageResponse, MessageToolbar };
@@ -1,49 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { Button } from '@chatsdk-dev/ui/components/button';
3
- import { Command, CommandEmpty, CommandInput, CommandItem, CommandList } from '@chatsdk-dev/ui/components/command';
4
- import { Popover, PopoverContent } from '@chatsdk-dev/ui/components/popover';
5
- import { ComponentProps, ReactNode } from 'react';
6
-
7
- declare const useAudioDevices: () => {
8
- devices: MediaDeviceInfo[];
9
- error: string | null;
10
- hasPermission: boolean;
11
- loadDevices: () => Promise<void>;
12
- loading: boolean;
13
- };
14
- type MicSelectorProps = ComponentProps<typeof Popover> & {
15
- defaultValue?: string;
16
- value?: string | undefined;
17
- onValueChange?: (value: string | undefined) => void;
18
- open?: boolean;
19
- onOpenChange?: (open: boolean) => void;
20
- };
21
- declare const MicSelector: ({ defaultValue, value: controlledValue, onValueChange: controlledOnValueChange, defaultOpen, open: controlledOpen, onOpenChange: controlledOnOpenChange, ...props }: MicSelectorProps) => react_jsx_runtime.JSX.Element;
22
- type MicSelectorTriggerProps = ComponentProps<typeof Button>;
23
- declare const MicSelectorTrigger: ({ children, ...props }: MicSelectorTriggerProps) => react_jsx_runtime.JSX.Element;
24
- type MicSelectorContentProps = ComponentProps<typeof Command> & {
25
- popoverOptions?: ComponentProps<typeof PopoverContent>;
26
- };
27
- declare const MicSelectorContent: ({ className, popoverOptions, ...props }: MicSelectorContentProps) => react_jsx_runtime.JSX.Element;
28
- type MicSelectorInputProps = ComponentProps<typeof CommandInput> & {
29
- value?: string;
30
- defaultValue?: string;
31
- onValueChange?: (value: string) => void;
32
- };
33
- declare const MicSelectorInput: ({ ...props }: MicSelectorInputProps) => react_jsx_runtime.JSX.Element;
34
- type MicSelectorListProps = Omit<ComponentProps<typeof CommandList>, "children"> & {
35
- children: (devices: MediaDeviceInfo[]) => ReactNode;
36
- };
37
- declare const MicSelectorList: ({ children, ...props }: MicSelectorListProps) => react_jsx_runtime.JSX.Element;
38
- type MicSelectorEmptyProps = ComponentProps<typeof CommandEmpty>;
39
- declare const MicSelectorEmpty: ({ children, ...props }: MicSelectorEmptyProps) => react_jsx_runtime.JSX.Element;
40
- type MicSelectorItemProps = ComponentProps<typeof CommandItem>;
41
- declare const MicSelectorItem: (props: MicSelectorItemProps) => react_jsx_runtime.JSX.Element;
42
- type MicSelectorLabelProps = ComponentProps<"span"> & {
43
- device: MediaDeviceInfo;
44
- };
45
- declare const MicSelectorLabel: ({ device, className, ...props }: MicSelectorLabelProps) => react_jsx_runtime.JSX.Element;
46
- type MicSelectorValueProps = ComponentProps<"span">;
47
- declare const MicSelectorValue: ({ className, ...props }: MicSelectorValueProps) => react_jsx_runtime.JSX.Element;
48
-
49
- export { MicSelector, MicSelectorContent, type MicSelectorContentProps, MicSelectorEmpty, type MicSelectorEmptyProps, MicSelectorInput, type MicSelectorInputProps, MicSelectorItem, type MicSelectorItemProps, MicSelectorLabel, type MicSelectorLabelProps, MicSelectorList, type MicSelectorListProps, type MicSelectorProps, MicSelectorTrigger, type MicSelectorTriggerProps, MicSelectorValue, type MicSelectorValueProps, useAudioDevices };