@chatsdk-dev/elements 0.0.1 → 0.1.3

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 +83 -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,349 +0,0 @@
1
- import { Badge } from '@chatsdk-dev/ui/components/badge';
2
- import { Collapsible, CollapsibleTrigger, CollapsibleContent } from '@chatsdk-dev/ui/components/collapsible';
3
- import { cn } from '@chatsdk-dev/ui/lib/utils';
4
- import { CheckCircle2Icon, XCircleIcon, CircleIcon, ChevronRightIcon, CircleDotIcon } from 'lucide-react';
5
- import { createContext, useContext, useMemo } from 'react';
6
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
-
8
- var TestResultsContext = createContext({});
9
- var formatDuration = (ms) => {
10
- if (ms < 1e3) {
11
- return `${ms}ms`;
12
- }
13
- return `${(ms / 1e3).toFixed(2)}s`;
14
- };
15
- var TestResultsHeader = ({
16
- className,
17
- children,
18
- ...props
19
- }) => /* @__PURE__ */ jsx(
20
- "div",
21
- {
22
- className: cn(
23
- "flex items-center justify-between border-b px-4 py-3",
24
- className
25
- ),
26
- ...props,
27
- children
28
- }
29
- );
30
- var TestResultsDuration = ({
31
- className,
32
- children,
33
- ...props
34
- }) => {
35
- const { summary } = useContext(TestResultsContext);
36
- if (!summary?.duration) {
37
- return null;
38
- }
39
- return /* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground text-sm", className), ...props, children: children ?? formatDuration(summary.duration) });
40
- };
41
- var TestResultsSummary = ({
42
- className,
43
- children,
44
- ...props
45
- }) => {
46
- const { summary } = useContext(TestResultsContext);
47
- if (!summary) {
48
- return null;
49
- }
50
- return /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-3", className), ...props, children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
51
- /* @__PURE__ */ jsxs(
52
- Badge,
53
- {
54
- className: "gap-1 bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400",
55
- variant: "secondary",
56
- children: [
57
- /* @__PURE__ */ jsx(CheckCircle2Icon, { className: "size-3" }),
58
- summary.passed,
59
- " passed"
60
- ]
61
- }
62
- ),
63
- summary.failed > 0 && /* @__PURE__ */ jsxs(
64
- Badge,
65
- {
66
- className: "gap-1 bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400",
67
- variant: "secondary",
68
- children: [
69
- /* @__PURE__ */ jsx(XCircleIcon, { className: "size-3" }),
70
- summary.failed,
71
- " failed"
72
- ]
73
- }
74
- ),
75
- summary.skipped > 0 && /* @__PURE__ */ jsxs(
76
- Badge,
77
- {
78
- className: "gap-1 bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400",
79
- variant: "secondary",
80
- children: [
81
- /* @__PURE__ */ jsx(CircleIcon, { className: "size-3" }),
82
- summary.skipped,
83
- " skipped"
84
- ]
85
- }
86
- )
87
- ] }) });
88
- };
89
- var TestResults = ({
90
- summary,
91
- className,
92
- children,
93
- ...props
94
- }) => {
95
- const contextValue = useMemo(() => ({ summary }), [summary]);
96
- return /* @__PURE__ */ jsx(TestResultsContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
97
- "div",
98
- {
99
- className: cn("rounded-lg border bg-background", className),
100
- ...props,
101
- children: children ?? (summary && /* @__PURE__ */ jsxs(TestResultsHeader, { children: [
102
- /* @__PURE__ */ jsx(TestResultsSummary, {}),
103
- /* @__PURE__ */ jsx(TestResultsDuration, {})
104
- ] }))
105
- }
106
- ) });
107
- };
108
- var TestResultsProgress = ({
109
- className,
110
- children,
111
- ...props
112
- }) => {
113
- const { summary } = useContext(TestResultsContext);
114
- if (!summary) {
115
- return null;
116
- }
117
- const passedPercent = summary.passed / summary.total * 100;
118
- const failedPercent = summary.failed / summary.total * 100;
119
- return /* @__PURE__ */ jsx("div", { className: cn("space-y-2", className), ...props, children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
120
- /* @__PURE__ */ jsxs("div", { className: "flex h-2 overflow-hidden rounded-full bg-muted", children: [
121
- /* @__PURE__ */ jsx(
122
- "div",
123
- {
124
- className: "bg-green-500 transition-all",
125
- style: { width: `${passedPercent}%` }
126
- }
127
- ),
128
- /* @__PURE__ */ jsx(
129
- "div",
130
- {
131
- className: "bg-red-500 transition-all",
132
- style: { width: `${failedPercent}%` }
133
- }
134
- )
135
- ] }),
136
- /* @__PURE__ */ jsxs("div", { className: "flex justify-between text-muted-foreground text-xs", children: [
137
- /* @__PURE__ */ jsxs("span", { children: [
138
- summary.passed,
139
- "/",
140
- summary.total,
141
- " tests passed"
142
- ] }),
143
- /* @__PURE__ */ jsxs("span", { children: [
144
- passedPercent.toFixed(0),
145
- "%"
146
- ] })
147
- ] })
148
- ] }) });
149
- };
150
- var TestResultsContent = ({
151
- className,
152
- children,
153
- ...props
154
- }) => /* @__PURE__ */ jsx("div", { className: cn("space-y-2 p-4", className), ...props, children });
155
- var TestSuiteContext = createContext({
156
- name: "",
157
- status: "passed"
158
- });
159
- var statusStyles = {
160
- failed: "text-red-600 dark:text-red-400",
161
- passed: "text-green-600 dark:text-green-400",
162
- running: "text-blue-600 dark:text-blue-400",
163
- skipped: "text-yellow-600 dark:text-yellow-400"
164
- };
165
- var statusIcons = {
166
- failed: /* @__PURE__ */ jsx(XCircleIcon, { className: "size-4" }),
167
- passed: /* @__PURE__ */ jsx(CheckCircle2Icon, { className: "size-4" }),
168
- running: /* @__PURE__ */ jsx(CircleDotIcon, { className: "size-4 animate-pulse" }),
169
- skipped: /* @__PURE__ */ jsx(CircleIcon, { className: "size-4" })
170
- };
171
- var TestStatusIcon = ({ status }) => /* @__PURE__ */ jsx("span", { className: cn("shrink-0", statusStyles[status]), children: statusIcons[status] });
172
- var TestSuite = ({
173
- name,
174
- status,
175
- className,
176
- children,
177
- ...props
178
- }) => {
179
- const contextValue = useMemo(() => ({ name, status }), [name, status]);
180
- return /* @__PURE__ */ jsx(TestSuiteContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(Collapsible, { className: cn("rounded-lg border", className), ...props, children }) });
181
- };
182
- var TestSuiteName = ({
183
- className,
184
- children,
185
- ...props
186
- }) => {
187
- const { name, status } = useContext(TestSuiteContext);
188
- return /* @__PURE__ */ jsxs(
189
- CollapsibleTrigger,
190
- {
191
- className: cn(
192
- "group flex w-full items-center gap-2 px-4 py-3 text-left transition-colors hover:bg-muted/50",
193
- className
194
- ),
195
- ...props,
196
- children: [
197
- /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }),
198
- /* @__PURE__ */ jsx(TestStatusIcon, { status }),
199
- /* @__PURE__ */ jsx("span", { className: "font-medium text-sm", children: children ?? name })
200
- ]
201
- }
202
- );
203
- };
204
- var TestSuiteStats = ({
205
- passed = 0,
206
- failed = 0,
207
- skipped = 0,
208
- className,
209
- children,
210
- ...props
211
- }) => /* @__PURE__ */ jsx(
212
- "div",
213
- {
214
- className: cn("ml-auto flex items-center gap-2 text-xs", className),
215
- ...props,
216
- children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
217
- passed > 0 && /* @__PURE__ */ jsxs("span", { className: "text-green-600 dark:text-green-400", children: [
218
- passed,
219
- " passed"
220
- ] }),
221
- failed > 0 && /* @__PURE__ */ jsxs("span", { className: "text-red-600 dark:text-red-400", children: [
222
- failed,
223
- " failed"
224
- ] }),
225
- skipped > 0 && /* @__PURE__ */ jsxs("span", { className: "text-yellow-600 dark:text-yellow-400", children: [
226
- skipped,
227
- " skipped"
228
- ] })
229
- ] })
230
- }
231
- );
232
- var TestSuiteContent = ({
233
- className,
234
- children,
235
- ...props
236
- }) => /* @__PURE__ */ jsx(CollapsibleContent, { className: cn("border-t", className), ...props, children: /* @__PURE__ */ jsx("div", { className: "divide-y", children }) });
237
- var TestContext = createContext({
238
- name: "",
239
- status: "passed"
240
- });
241
- var TestName = ({ className, children, ...props }) => {
242
- const { name } = useContext(TestContext);
243
- return /* @__PURE__ */ jsx("span", { className: cn("flex-1", className), ...props, children: children ?? name });
244
- };
245
- var TestDuration = ({
246
- className,
247
- children,
248
- ...props
249
- }) => {
250
- const { duration } = useContext(TestContext);
251
- if (duration === void 0) {
252
- return null;
253
- }
254
- return /* @__PURE__ */ jsx(
255
- "span",
256
- {
257
- className: cn("ml-auto text-muted-foreground text-xs", className),
258
- ...props,
259
- children: children ?? `${duration}ms`
260
- }
261
- );
262
- };
263
- var TestStatus = ({
264
- className,
265
- children,
266
- ...props
267
- }) => {
268
- const { status } = useContext(TestContext);
269
- return /* @__PURE__ */ jsx(
270
- "span",
271
- {
272
- className: cn("shrink-0", statusStyles[status], className),
273
- ...props,
274
- children: children ?? statusIcons[status]
275
- }
276
- );
277
- };
278
- var Test = ({
279
- name,
280
- status,
281
- duration,
282
- className,
283
- children,
284
- ...props
285
- }) => {
286
- const contextValue = useMemo(
287
- () => ({ duration, name, status }),
288
- [duration, name, status]
289
- );
290
- return /* @__PURE__ */ jsx(TestContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
291
- "div",
292
- {
293
- className: cn("flex items-center gap-2 px-4 py-2 text-sm", className),
294
- ...props,
295
- children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
296
- /* @__PURE__ */ jsx(TestStatus, {}),
297
- /* @__PURE__ */ jsx(TestName, {}),
298
- duration !== void 0 && /* @__PURE__ */ jsx(TestDuration, {})
299
- ] })
300
- }
301
- ) });
302
- };
303
- var TestError = ({
304
- className,
305
- children,
306
- ...props
307
- }) => /* @__PURE__ */ jsx(
308
- "div",
309
- {
310
- className: cn(
311
- "mt-2 rounded-md bg-red-50 p-3 dark:bg-red-900/20",
312
- className
313
- ),
314
- ...props,
315
- children
316
- }
317
- );
318
- var TestErrorMessage = ({
319
- className,
320
- children,
321
- ...props
322
- }) => /* @__PURE__ */ jsx(
323
- "p",
324
- {
325
- className: cn(
326
- "font-medium text-red-700 text-sm dark:text-red-400",
327
- className
328
- ),
329
- ...props,
330
- children
331
- }
332
- );
333
- var TestErrorStack = ({
334
- className,
335
- children,
336
- ...props
337
- }) => /* @__PURE__ */ jsx(
338
- "pre",
339
- {
340
- className: cn(
341
- "mt-2 overflow-auto font-mono text-red-600 text-xs dark:text-red-400",
342
- className
343
- ),
344
- ...props,
345
- children
346
- }
347
- );
348
-
349
- export { Test, TestDuration, TestError, TestErrorMessage, TestErrorStack, TestName, TestResults, TestResultsContent, TestResultsDuration, TestResultsHeader, TestResultsProgress, TestResultsSummary, TestStatus, TestSuite, TestSuiteContent, TestSuiteName, TestSuiteStats };
@@ -1,35 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { Collapsible, CollapsibleContent } from '@chatsdk-dev/ui/components/collapsible';
3
- import { ToolUIPart, DynamicToolUIPart } from 'ai';
4
- import { ComponentProps } from 'react';
5
-
6
- type ToolProps = ComponentProps<typeof Collapsible>;
7
- declare const Tool: ({ className, ...props }: ToolProps) => react_jsx_runtime.JSX.Element;
8
- type ToolPart = ToolUIPart | DynamicToolUIPart;
9
- type ToolHeaderProps = {
10
- title?: string;
11
- className?: string;
12
- } & ({
13
- type: ToolUIPart["type"];
14
- state: ToolUIPart["state"];
15
- toolName?: never;
16
- } | {
17
- type: DynamicToolUIPart["type"];
18
- state: DynamicToolUIPart["state"];
19
- toolName: string;
20
- });
21
- declare const getStatusBadge: (status: ToolPart["state"]) => react_jsx_runtime.JSX.Element;
22
- declare const ToolHeader: ({ className, title, type, state, toolName, ...props }: ToolHeaderProps) => react_jsx_runtime.JSX.Element;
23
- type ToolContentProps = ComponentProps<typeof CollapsibleContent>;
24
- declare const ToolContent: ({ className, ...props }: ToolContentProps) => react_jsx_runtime.JSX.Element;
25
- type ToolInputProps = ComponentProps<"div"> & {
26
- input: ToolPart["input"];
27
- };
28
- declare const ToolInput: ({ className, input, ...props }: ToolInputProps) => react_jsx_runtime.JSX.Element;
29
- type ToolOutputProps = ComponentProps<"div"> & {
30
- output: ToolPart["output"];
31
- errorText: ToolPart["errorText"];
32
- };
33
- declare const ToolOutput: ({ className, output, errorText, ...props }: ToolOutputProps) => react_jsx_runtime.JSX.Element | null;
34
-
35
- export { Tool, ToolContent, type ToolContentProps, ToolHeader, type ToolHeaderProps, ToolInput, type ToolInputProps, ToolOutput, type ToolOutputProps, type ToolPart, type ToolProps, getStatusBadge };
@@ -1,2 +0,0 @@
1
- export { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput, getStatusBadge } from '../../chunk-X5YUF2YM.js';
2
- import '../../chunk-CFM57HOS.js';
@@ -1,8 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { NodeToolbar } from '@xyflow/react';
3
- import { ComponentProps } from 'react';
4
-
5
- type ToolbarProps = ComponentProps<typeof NodeToolbar>;
6
- declare const Toolbar: ({ className, ...props }: ToolbarProps) => react_jsx_runtime.JSX.Element;
7
-
8
- export { Toolbar };
@@ -1,18 +0,0 @@
1
- import { cn } from '@chatsdk-dev/ui/lib/utils';
2
- import { NodeToolbar, Position } from '@xyflow/react';
3
- import { jsx } from 'react/jsx-runtime';
4
-
5
- // src/components/ai-elements/toolbar.tsx
6
- var Toolbar = ({ className, ...props }) => /* @__PURE__ */ jsx(
7
- NodeToolbar,
8
- {
9
- className: cn(
10
- "flex items-center gap-1 rounded-sm border bg-background p-1.5",
11
- className
12
- ),
13
- position: Position.Bottom,
14
- ...props
15
- }
16
- );
17
-
18
- export { Toolbar };
@@ -1,19 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { Experimental_TranscriptionResult } from 'ai';
3
- import { ComponentProps, ReactNode } from 'react';
4
-
5
- type TranscriptionProps = Omit<ComponentProps<"div">, "children"> & {
6
- segments: TranscriptionSegment[];
7
- currentTime?: number;
8
- onSeek?: (time: number) => void;
9
- children: (segment: TranscriptionSegment, index: number) => ReactNode;
10
- };
11
- declare const Transcription: ({ segments, currentTime: externalCurrentTime, onSeek, className, children, ...props }: TranscriptionProps) => react_jsx_runtime.JSX.Element;
12
- type TranscriptionSegmentProps = ComponentProps<"button"> & {
13
- segment: TranscriptionSegment;
14
- index: number;
15
- };
16
- type TranscriptionSegment = Experimental_TranscriptionResult["segments"][number];
17
- declare const TranscriptionSegment: ({ segment, index, className, onClick, ...props }: TranscriptionSegmentProps) => react_jsx_runtime.JSX.Element;
18
-
19
- export { Transcription, type TranscriptionProps, TranscriptionSegment, type TranscriptionSegmentProps };
@@ -1,90 +0,0 @@
1
- import { useControllableState } from '@radix-ui/react-use-controllable-state';
2
- import { cn } from '@chatsdk-dev/ui/lib/utils';
3
- import { createContext, useMemo, useCallback, useContext } from 'react';
4
- import { jsx } from 'react/jsx-runtime';
5
-
6
- var TranscriptionContext = createContext(
7
- null
8
- );
9
- var useTranscription = () => {
10
- const context = useContext(TranscriptionContext);
11
- if (!context) {
12
- throw new Error(
13
- "Transcription components must be used within Transcription"
14
- );
15
- }
16
- return context;
17
- };
18
- var Transcription = ({
19
- segments,
20
- currentTime: externalCurrentTime,
21
- onSeek,
22
- className,
23
- children,
24
- ...props
25
- }) => {
26
- const [currentTime, setCurrentTime] = useControllableState({
27
- defaultProp: 0,
28
- onChange: onSeek,
29
- prop: externalCurrentTime
30
- });
31
- const contextValue = useMemo(
32
- () => ({ currentTime, onSeek, onTimeUpdate: setCurrentTime, segments }),
33
- [currentTime, onSeek, setCurrentTime, segments]
34
- );
35
- return /* @__PURE__ */ jsx(TranscriptionContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
36
- "div",
37
- {
38
- className: cn(
39
- "flex flex-wrap gap-1 text-sm leading-relaxed",
40
- className
41
- ),
42
- "data-slot": "transcription",
43
- ...props,
44
- children: segments.filter((segment) => segment.text.trim()).map((segment, index) => children(segment, index))
45
- }
46
- ) });
47
- };
48
- var TranscriptionSegment = ({
49
- segment,
50
- index,
51
- className,
52
- onClick,
53
- ...props
54
- }) => {
55
- const { currentTime, onSeek } = useTranscription();
56
- const isActive = currentTime >= segment.startSecond && currentTime < segment.endSecond;
57
- const isPast = currentTime >= segment.endSecond;
58
- const handleClick = useCallback(
59
- (event) => {
60
- if (onSeek) {
61
- onSeek(segment.startSecond);
62
- }
63
- onClick?.(event);
64
- },
65
- [onSeek, segment.startSecond, onClick]
66
- );
67
- return /* @__PURE__ */ jsx(
68
- "button",
69
- {
70
- className: cn(
71
- "inline text-left",
72
- isActive && "text-primary",
73
- isPast && "text-muted-foreground",
74
- !(isActive || isPast) && "text-muted-foreground/60",
75
- onSeek && "cursor-pointer hover:text-foreground",
76
- !onSeek && "cursor-default",
77
- className
78
- ),
79
- "data-active": isActive,
80
- "data-index": index,
81
- "data-slot": "transcription-segment",
82
- onClick: handleClick,
83
- type: "button",
84
- ...props,
85
- children: segment.text
86
- }
87
- );
88
- };
89
-
90
- export { Transcription, TranscriptionSegment };
@@ -1,66 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from '@chatsdk-dev/ui/components/command';
3
- import { Dialog, DialogContent, DialogTrigger } from '@chatsdk-dev/ui/components/dialog';
4
- import { ComponentProps, ReactNode } from 'react';
5
-
6
- interface VoiceSelectorContextValue {
7
- value: string | undefined;
8
- setValue: (value: string | undefined) => void;
9
- open: boolean;
10
- setOpen: (open: boolean) => void;
11
- }
12
- declare const useVoiceSelector: () => VoiceSelectorContextValue;
13
- type VoiceSelectorProps = ComponentProps<typeof Dialog> & {
14
- value?: string;
15
- defaultValue?: string;
16
- onValueChange?: (value: string | undefined) => void;
17
- };
18
- declare const VoiceSelector: ({ value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, children, ...props }: VoiceSelectorProps) => react_jsx_runtime.JSX.Element;
19
- type VoiceSelectorTriggerProps = ComponentProps<typeof DialogTrigger>;
20
- declare const VoiceSelectorTrigger: (props: VoiceSelectorTriggerProps) => react_jsx_runtime.JSX.Element;
21
- type VoiceSelectorContentProps = ComponentProps<typeof DialogContent> & {
22
- title?: ReactNode;
23
- };
24
- declare const VoiceSelectorContent: ({ className, children, title, ...props }: VoiceSelectorContentProps) => react_jsx_runtime.JSX.Element;
25
- type VoiceSelectorDialogProps = ComponentProps<typeof CommandDialog>;
26
- declare const VoiceSelectorDialog: (props: VoiceSelectorDialogProps) => react_jsx_runtime.JSX.Element;
27
- type VoiceSelectorInputProps = ComponentProps<typeof CommandInput>;
28
- declare const VoiceSelectorInput: ({ className, ...props }: VoiceSelectorInputProps) => react_jsx_runtime.JSX.Element;
29
- type VoiceSelectorListProps = ComponentProps<typeof CommandList>;
30
- declare const VoiceSelectorList: (props: VoiceSelectorListProps) => react_jsx_runtime.JSX.Element;
31
- type VoiceSelectorEmptyProps = ComponentProps<typeof CommandEmpty>;
32
- declare const VoiceSelectorEmpty: (props: VoiceSelectorEmptyProps) => react_jsx_runtime.JSX.Element;
33
- type VoiceSelectorGroupProps = ComponentProps<typeof CommandGroup>;
34
- declare const VoiceSelectorGroup: (props: VoiceSelectorGroupProps) => react_jsx_runtime.JSX.Element;
35
- type VoiceSelectorItemProps = ComponentProps<typeof CommandItem>;
36
- declare const VoiceSelectorItem: ({ className, ...props }: VoiceSelectorItemProps) => react_jsx_runtime.JSX.Element;
37
- type VoiceSelectorShortcutProps = ComponentProps<typeof CommandShortcut>;
38
- declare const VoiceSelectorShortcut: (props: VoiceSelectorShortcutProps) => react_jsx_runtime.JSX.Element;
39
- type VoiceSelectorSeparatorProps = ComponentProps<typeof CommandSeparator>;
40
- declare const VoiceSelectorSeparator: (props: VoiceSelectorSeparatorProps) => react_jsx_runtime.JSX.Element;
41
- type VoiceSelectorGenderProps = ComponentProps<"span"> & {
42
- value?: "male" | "female" | "transgender" | "androgyne" | "non-binary" | "intersex";
43
- };
44
- declare const VoiceSelectorGender: ({ className, value, children, ...props }: VoiceSelectorGenderProps) => react_jsx_runtime.JSX.Element;
45
- type VoiceSelectorAccentProps = ComponentProps<"span"> & {
46
- value?: "american" | "british" | "australian" | "canadian" | "irish" | "scottish" | "indian" | "south-african" | "new-zealand" | "spanish" | "french" | "german" | "italian" | "portuguese" | "brazilian" | "mexican" | "argentinian" | "japanese" | "chinese" | "korean" | "russian" | "arabic" | "dutch" | "swedish" | "norwegian" | "danish" | "finnish" | "polish" | "turkish" | "greek" | string;
47
- };
48
- declare const VoiceSelectorAccent: ({ className, value, children, ...props }: VoiceSelectorAccentProps) => react_jsx_runtime.JSX.Element;
49
- type VoiceSelectorAgeProps = ComponentProps<"span">;
50
- declare const VoiceSelectorAge: ({ className, ...props }: VoiceSelectorAgeProps) => react_jsx_runtime.JSX.Element;
51
- type VoiceSelectorNameProps = ComponentProps<"span">;
52
- declare const VoiceSelectorName: ({ className, ...props }: VoiceSelectorNameProps) => react_jsx_runtime.JSX.Element;
53
- type VoiceSelectorDescriptionProps = ComponentProps<"span">;
54
- declare const VoiceSelectorDescription: ({ className, ...props }: VoiceSelectorDescriptionProps) => react_jsx_runtime.JSX.Element;
55
- type VoiceSelectorAttributesProps = ComponentProps<"div">;
56
- declare const VoiceSelectorAttributes: ({ className, children, ...props }: VoiceSelectorAttributesProps) => react_jsx_runtime.JSX.Element;
57
- type VoiceSelectorBulletProps = ComponentProps<"span">;
58
- declare const VoiceSelectorBullet: ({ className, ...props }: VoiceSelectorBulletProps) => react_jsx_runtime.JSX.Element;
59
- type VoiceSelectorPreviewProps = Omit<ComponentProps<"button">, "children"> & {
60
- playing?: boolean;
61
- loading?: boolean;
62
- onPlay?: () => void;
63
- };
64
- declare const VoiceSelectorPreview: ({ className, playing, loading, onPlay, onClick, ...props }: VoiceSelectorPreviewProps) => react_jsx_runtime.JSX.Element;
65
-
66
- export { VoiceSelector, VoiceSelectorAccent, type VoiceSelectorAccentProps, VoiceSelectorAge, type VoiceSelectorAgeProps, VoiceSelectorAttributes, type VoiceSelectorAttributesProps, VoiceSelectorBullet, type VoiceSelectorBulletProps, VoiceSelectorContent, type VoiceSelectorContentProps, VoiceSelectorDescription, type VoiceSelectorDescriptionProps, VoiceSelectorDialog, type VoiceSelectorDialogProps, VoiceSelectorEmpty, type VoiceSelectorEmptyProps, VoiceSelectorGender, type VoiceSelectorGenderProps, VoiceSelectorGroup, type VoiceSelectorGroupProps, VoiceSelectorInput, type VoiceSelectorInputProps, VoiceSelectorItem, type VoiceSelectorItemProps, VoiceSelectorList, type VoiceSelectorListProps, VoiceSelectorName, type VoiceSelectorNameProps, VoiceSelectorPreview, type VoiceSelectorPreviewProps, type VoiceSelectorProps, VoiceSelectorSeparator, type VoiceSelectorSeparatorProps, VoiceSelectorShortcut, type VoiceSelectorShortcutProps, VoiceSelectorTrigger, type VoiceSelectorTriggerProps, useVoiceSelector };