@admin-layout/tailwind-ui 12.2.4-alpha.4 → 12.2.4-alpha.42

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 (363) hide show
  1. package/lib/components/AIToolbar/components/AIToolBar.d.ts +22 -0
  2. package/lib/components/AIToolbar/components/AIToolBar.d.ts.map +1 -0
  3. package/lib/components/AIToolbar/components/AIToolBar.js +83 -0
  4. package/lib/components/AIToolbar/components/AIToolBar.js.map +1 -0
  5. package/lib/components/AIToolbar/components/AIToolbarPrimitives.d.ts +14 -0
  6. package/lib/components/AIToolbar/components/AIToolbarPrimitives.d.ts.map +1 -0
  7. package/lib/components/AIToolbar/components/AIToolbarPrimitives.js +60 -0
  8. package/lib/components/AIToolbar/components/AIToolbarPrimitives.js.map +1 -0
  9. package/lib/components/AIToolbar/components/CustomCursor.d.ts +2 -0
  10. package/lib/components/AIToolbar/components/CustomCursor.d.ts.map +1 -0
  11. package/lib/components/AIToolbar/components/CustomCursor.js +66 -0
  12. package/lib/components/AIToolbar/components/CustomCursor.js.map +1 -0
  13. package/lib/components/AIToolbar/components/DragButton.d.ts +9 -0
  14. package/lib/components/AIToolbar/components/DragButton.d.ts.map +1 -0
  15. package/lib/components/AIToolbar/components/DragButton.js +57 -0
  16. package/lib/components/AIToolbar/components/DragButton.js.map +1 -0
  17. package/lib/components/AIToolbar/components/Markdown/copy-button.d.ts +7 -0
  18. package/lib/components/AIToolbar/components/Markdown/copy-button.d.ts.map +1 -0
  19. package/lib/components/AIToolbar/components/Markdown/copy-button.js +30 -0
  20. package/lib/components/AIToolbar/components/Markdown/copy-button.js.map +1 -0
  21. package/lib/components/AIToolbar/components/Markdown/index.d.ts +7 -0
  22. package/lib/components/AIToolbar/components/Markdown/index.d.ts.map +1 -0
  23. package/lib/components/AIToolbar/components/Markdown/index.js +46 -0
  24. package/lib/components/AIToolbar/components/Markdown/index.js.map +1 -0
  25. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.d.ts +28 -0
  26. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.d.ts.map +1 -0
  27. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.js +209 -0
  28. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.js.map +1 -0
  29. package/lib/components/AIToolbar/components/completion/Audio.d.ts +3 -0
  30. package/lib/components/AIToolbar/components/completion/Audio.d.ts.map +1 -0
  31. package/lib/components/AIToolbar/components/completion/Audio.js +65 -0
  32. package/lib/components/AIToolbar/components/completion/Audio.js.map +1 -0
  33. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts +11 -0
  34. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts.map +1 -0
  35. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js +66 -0
  36. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js.map +1 -0
  37. package/lib/components/AIToolbar/components/completion/Files.d.ts +6 -0
  38. package/lib/components/AIToolbar/components/completion/Files.d.ts.map +1 -0
  39. package/lib/components/AIToolbar/components/completion/Files.js +134 -0
  40. package/lib/components/AIToolbar/components/completion/Files.js.map +1 -0
  41. package/lib/components/AIToolbar/components/completion/Input.d.ts +5 -0
  42. package/lib/components/AIToolbar/components/completion/Input.d.ts.map +1 -0
  43. package/lib/components/AIToolbar/components/completion/Input.js +202 -0
  44. package/lib/components/AIToolbar/components/completion/Input.js.map +1 -0
  45. package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts +11 -0
  46. package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts.map +1 -0
  47. package/lib/components/AIToolbar/components/completion/MessageHistory.js +90 -0
  48. package/lib/components/AIToolbar/components/completion/MessageHistory.js.map +1 -0
  49. package/lib/components/AIToolbar/components/completion/Screenshot.d.ts +6 -0
  50. package/lib/components/AIToolbar/components/completion/Screenshot.d.ts.map +1 -0
  51. package/lib/components/AIToolbar/components/completion/Screenshot.js +28 -0
  52. package/lib/components/AIToolbar/components/completion/Screenshot.js.map +1 -0
  53. package/lib/components/AIToolbar/components/completion/index.d.ts +11 -0
  54. package/lib/components/AIToolbar/components/completion/index.d.ts.map +1 -0
  55. package/lib/components/AIToolbar/components/completion/index.js +20 -0
  56. package/lib/components/AIToolbar/components/completion/index.js.map +1 -0
  57. package/lib/components/AIToolbar/components/index.d.ts +17 -0
  58. package/lib/components/AIToolbar/components/index.d.ts.map +1 -0
  59. package/lib/components/AIToolbar/components/speech/Header.d.ts +14 -0
  60. package/lib/components/AIToolbar/components/speech/Header.d.ts.map +1 -0
  61. package/lib/components/AIToolbar/components/speech/Header.js +82 -0
  62. package/lib/components/AIToolbar/components/speech/Header.js.map +1 -0
  63. package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts +8 -0
  64. package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts.map +1 -0
  65. package/lib/components/AIToolbar/components/speech/ModeSwitcher.js +44 -0
  66. package/lib/components/AIToolbar/components/speech/ModeSwitcher.js.map +1 -0
  67. package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts +13 -0
  68. package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts.map +1 -0
  69. package/lib/components/AIToolbar/components/speech/PermissionFlow.js +168 -0
  70. package/lib/components/AIToolbar/components/speech/PermissionFlow.js.map +1 -0
  71. package/lib/components/AIToolbar/components/speech/QuickActions.d.ts +13 -0
  72. package/lib/components/AIToolbar/components/speech/QuickActions.d.ts.map +1 -0
  73. package/lib/components/AIToolbar/components/speech/QuickActions.js +100 -0
  74. package/lib/components/AIToolbar/components/speech/QuickActions.js.map +1 -0
  75. package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts +14 -0
  76. package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts.map +1 -0
  77. package/lib/components/AIToolbar/components/speech/RecordingPanel.js +101 -0
  78. package/lib/components/AIToolbar/components/speech/RecordingPanel.js.map +1 -0
  79. package/lib/components/AIToolbar/components/speech/ResultsSection.d.ts +12 -0
  80. package/lib/components/AIToolbar/components/speech/ResultsSection.d.ts.map +1 -0
  81. package/lib/components/AIToolbar/components/speech/ResultsSection.js +132 -0
  82. package/lib/components/AIToolbar/components/speech/ResultsSection.js.map +1 -0
  83. package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts +12 -0
  84. package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts.map +1 -0
  85. package/lib/components/AIToolbar/components/speech/SettingsPanel.js +289 -0
  86. package/lib/components/AIToolbar/components/speech/SettingsPanel.js.map +1 -0
  87. package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts +10 -0
  88. package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts.map +1 -0
  89. package/lib/components/AIToolbar/components/speech/StatusIndicator.js +48 -0
  90. package/lib/components/AIToolbar/components/speech/StatusIndicator.js.map +1 -0
  91. package/lib/components/AIToolbar/components/speech/Warning.d.ts +6 -0
  92. package/lib/components/AIToolbar/components/speech/Warning.d.ts.map +1 -0
  93. package/lib/components/AIToolbar/components/speech/Warning.js +154 -0
  94. package/lib/components/AIToolbar/components/speech/Warning.js.map +1 -0
  95. package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts +7 -0
  96. package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts.map +1 -0
  97. package/lib/components/AIToolbar/components/speech/audio-visualizer.js +194 -0
  98. package/lib/components/AIToolbar/components/speech/audio-visualizer.js.map +1 -0
  99. package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts +2 -0
  100. package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts.map +1 -0
  101. package/lib/components/AIToolbar/components/speech/floatArrayToWav.js +32 -0
  102. package/lib/components/AIToolbar/components/speech/floatArrayToWav.js.map +1 -0
  103. package/lib/components/AIToolbar/components/speech/index.d.ts +4 -0
  104. package/lib/components/AIToolbar/components/speech/index.d.ts.map +1 -0
  105. package/lib/components/AIToolbar/components/speech/index.js +292 -0
  106. package/lib/components/AIToolbar/components/speech/index.js.map +1 -0
  107. package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts +12 -0
  108. package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts.map +1 -0
  109. package/lib/components/AIToolbar/components/speech/promptTemplates.js +114 -0
  110. package/lib/components/AIToolbar/components/speech/promptTemplates.js.map +1 -0
  111. package/lib/components/AIToolbar/components/types.d.ts +182 -0
  112. package/lib/components/AIToolbar/components/types.d.ts.map +1 -0
  113. package/lib/components/AIToolbar/index.d.ts +5 -0
  114. package/lib/components/AIToolbar/index.d.ts.map +1 -0
  115. package/lib/components/Button/Button.d.ts +1 -1
  116. package/lib/components/Button/Button.d.ts.map +1 -1
  117. package/lib/components/Button/Button.js +7 -6
  118. package/lib/components/Button/Button.js.map +1 -1
  119. package/lib/components/DatePicker/DatePicker.js +158 -140
  120. package/lib/components/DatePicker/DatePicker.js.map +1 -1
  121. package/lib/components/Dialog/Dialog.d.ts +20 -0
  122. package/lib/components/Dialog/Dialog.d.ts.map +1 -0
  123. package/lib/components/Dialog/Dialog.js +111 -0
  124. package/lib/components/Dialog/Dialog.js.map +1 -0
  125. package/lib/components/Dialog/index.d.ts +3 -0
  126. package/lib/components/Dialog/index.d.ts.map +1 -0
  127. package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts +1 -2
  128. package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts.map +1 -1
  129. package/lib/components/ErrorHandlers/ApplicationErrorHandler.js +2 -2
  130. package/lib/components/ErrorHandlers/ErrorBoundary.d.ts +1 -2
  131. package/lib/components/ErrorHandlers/ErrorBoundary.d.ts.map +1 -1
  132. package/lib/components/ErrorHandlers/ErrorBoundary.js +35 -28
  133. package/lib/components/ErrorHandlers/ErrorBoundary.js.map +1 -1
  134. package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts +1 -2
  135. package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts.map +1 -1
  136. package/lib/components/ErrorHandlers/LayoutErrorBoundary.js +20 -15
  137. package/lib/components/ErrorHandlers/LayoutErrorBoundary.js.map +1 -1
  138. package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts +4 -2
  139. package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts.map +1 -1
  140. package/lib/components/ErrorHandlers/RemixErrorBoundary.js +222 -100
  141. package/lib/components/ErrorHandlers/RemixErrorBoundary.js.map +1 -1
  142. package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts +4 -2
  143. package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts.map +1 -1
  144. package/lib/components/ErrorHandlers/SPAErrorBoundary.js +247 -82
  145. package/lib/components/ErrorHandlers/SPAErrorBoundary.js.map +1 -1
  146. package/lib/components/ErrorPages/403.d.ts +1 -2
  147. package/lib/components/ErrorPages/403.d.ts.map +1 -1
  148. package/lib/components/ErrorPages/403.js +26 -18
  149. package/lib/components/ErrorPages/403.js.map +1 -1
  150. package/lib/components/ErrorPages/404.d.ts +1 -2
  151. package/lib/components/ErrorPages/404.d.ts.map +1 -1
  152. package/lib/components/ErrorPages/404.js +26 -18
  153. package/lib/components/ErrorPages/404.js.map +1 -1
  154. package/lib/components/ErrorPages/500.d.ts +1 -2
  155. package/lib/components/ErrorPages/500.d.ts.map +1 -1
  156. package/lib/components/ErrorPages/500.js +26 -18
  157. package/lib/components/ErrorPages/500.js.map +1 -1
  158. package/lib/components/InputToolBar/InputToolBar.d.ts +8 -0
  159. package/lib/components/InputToolBar/InputToolBar.d.ts.map +1 -0
  160. package/lib/components/InputToolBar/InputToolBar.js +469 -0
  161. package/lib/components/InputToolBar/InputToolBar.js.map +1 -0
  162. package/lib/components/InputToolBar/defaults.d.ts +15 -0
  163. package/lib/components/InputToolBar/defaults.d.ts.map +1 -0
  164. package/lib/components/InputToolBar/defaults.js +59 -0
  165. package/lib/components/InputToolBar/defaults.js.map +1 -0
  166. package/lib/components/InputToolBar/index.d.ts +5 -0
  167. package/lib/components/InputToolBar/index.d.ts.map +1 -0
  168. package/lib/components/InputToolBar/types.d.ts +153 -0
  169. package/lib/components/InputToolBar/types.d.ts.map +1 -0
  170. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts +1 -2
  171. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts.map +1 -1
  172. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js +24 -19
  173. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js.map +1 -1
  174. package/lib/components/Markdown/MarkdownBreadcrumbs.d.ts +13 -0
  175. package/lib/components/Markdown/MarkdownBreadcrumbs.d.ts.map +1 -0
  176. package/lib/components/Markdown/MarkdownBreadcrumbs.js +34 -0
  177. package/lib/components/Markdown/MarkdownBreadcrumbs.js.map +1 -0
  178. package/lib/components/Markdown/MarkdownCopyButton.d.ts +10 -0
  179. package/lib/components/Markdown/MarkdownCopyButton.d.ts.map +1 -0
  180. package/lib/components/Markdown/MarkdownCopyButton.js +229 -0
  181. package/lib/components/Markdown/MarkdownCopyButton.js.map +1 -0
  182. package/lib/components/Markdown/MarkdownHeader.d.ts +13 -0
  183. package/lib/components/Markdown/MarkdownHeader.d.ts.map +1 -0
  184. package/lib/components/Markdown/MarkdownHeader.js +44 -0
  185. package/lib/components/Markdown/MarkdownHeader.js.map +1 -0
  186. package/lib/components/Markdown/MarkdownNavigation.d.ts +15 -0
  187. package/lib/components/Markdown/MarkdownNavigation.d.ts.map +1 -0
  188. package/lib/components/Markdown/MarkdownNavigation.js +38 -0
  189. package/lib/components/Markdown/MarkdownNavigation.js.map +1 -0
  190. package/lib/components/Markdown/MarkdownPage.d.ts +41 -0
  191. package/lib/components/Markdown/MarkdownPage.d.ts.map +1 -0
  192. package/lib/components/Markdown/MarkdownPage.js +238 -0
  193. package/lib/components/Markdown/MarkdownPage.js.map +1 -0
  194. package/lib/components/Markdown/MarkdownTableOfContents.d.ts +15 -0
  195. package/lib/components/Markdown/MarkdownTableOfContents.d.ts.map +1 -0
  196. package/lib/components/Markdown/MarkdownTableOfContents.js +57 -0
  197. package/lib/components/Markdown/MarkdownTableOfContents.js.map +1 -0
  198. package/lib/components/Markdown/index.d.ts +7 -0
  199. package/lib/components/Markdown/index.d.ts.map +1 -0
  200. package/lib/components/OTP/OTPInput.js +32 -30
  201. package/lib/components/OTP/OTPInput.js.map +1 -1
  202. package/lib/components/OTP/OTPVerification.js +75 -55
  203. package/lib/components/OTP/OTPVerification.js.map +1 -1
  204. package/lib/components/OTP/SingleInput.js +2 -2
  205. package/lib/components/OTP/SingleInput.js.map +1 -1
  206. package/lib/components/PageContainer/PageContainer.js +29 -22
  207. package/lib/components/PageContainer/PageContainer.js.map +1 -1
  208. package/lib/components/PageLoading/index.js +8 -7
  209. package/lib/components/PageLoading/index.js.map +1 -1
  210. package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts +1 -2
  211. package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts.map +1 -1
  212. package/lib/components/ReactTable/Table.d.ts +1 -2
  213. package/lib/components/ReactTable/Table.d.ts.map +1 -1
  214. package/lib/components/ReactTable/Table.js +92 -71
  215. package/lib/components/ReactTable/Table.js.map +1 -1
  216. package/lib/components/ReactTable/TableFilters.d.ts +2 -3
  217. package/lib/components/ReactTable/TableFilters.d.ts.map +1 -1
  218. package/lib/components/ReactTable/TableFilters.js +40 -34
  219. package/lib/components/ReactTable/TableFilters.js.map +1 -1
  220. package/lib/components/Search/SearchInput.d.ts +1 -2
  221. package/lib/components/Search/SearchInput.d.ts.map +1 -1
  222. package/lib/components/Search/SearchInput.js +14 -13
  223. package/lib/components/Search/SearchInput.js.map +1 -1
  224. package/lib/components/Select/Select.d.ts +6 -6
  225. package/lib/components/Select/Select.d.ts.map +1 -1
  226. package/lib/components/Select/Select.js +60 -45
  227. package/lib/components/Select/Select.js.map +1 -1
  228. package/lib/components/Spin/index.js +14 -11
  229. package/lib/components/Spin/index.js.map +1 -1
  230. package/lib/components/ThemeProvider/ThemeProvider.d.ts +1 -1
  231. package/lib/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  232. package/lib/components/ThemeProvider/ThemeProvider.js +29 -17
  233. package/lib/components/ThemeProvider/ThemeProvider.js.map +1 -1
  234. package/lib/components/ThemeProvider/ThemeToggle.js +28 -25
  235. package/lib/components/ThemeProvider/ThemeToggle.js.map +1 -1
  236. package/lib/components/ThemeProvider/types.d.ts +3 -3
  237. package/lib/components/ThemeProvider/types.d.ts.map +1 -1
  238. package/lib/components/index.d.ts +5 -0
  239. package/lib/components/index.d.ts.map +1 -1
  240. package/lib/hooks/useToast.d.ts +1 -1
  241. package/lib/hooks/useToast.d.ts.map +1 -1
  242. package/lib/hooks/useToast.js +46 -37
  243. package/lib/hooks/useToast.js.map +1 -1
  244. package/lib/index.js +1 -1
  245. package/lib/shardui/accordion.js +20 -16
  246. package/lib/shardui/accordion.js.map +1 -1
  247. package/lib/shardui/alert-dialog.d.ts +2 -2
  248. package/lib/shardui/alert-dialog.js +15 -13
  249. package/lib/shardui/alert-dialog.js.map +1 -1
  250. package/lib/shardui/alert.js +4 -4
  251. package/lib/shardui/alert.js.map +1 -1
  252. package/lib/shardui/avatar.js +4 -4
  253. package/lib/shardui/avatar.js.map +1 -1
  254. package/lib/shardui/badge.d.ts +1 -1
  255. package/lib/shardui/badge.d.ts.map +1 -1
  256. package/lib/shardui/badge.js +2 -2
  257. package/lib/shardui/badge.js.map +1 -1
  258. package/lib/shardui/breadcrumb.d.ts +2 -2
  259. package/lib/shardui/breadcrumb.js +19 -16
  260. package/lib/shardui/breadcrumb.js.map +1 -1
  261. package/lib/shardui/button.js +2 -2
  262. package/lib/shardui/button.js.map +1 -1
  263. package/lib/shardui/calendar.d.ts +1 -1
  264. package/lib/shardui/calendar.d.ts.map +1 -1
  265. package/lib/shardui/calendar.js +4 -4
  266. package/lib/shardui/card.js +7 -7
  267. package/lib/shardui/card.js.map +1 -1
  268. package/lib/shardui/carousel.js +40 -33
  269. package/lib/shardui/carousel.js.map +1 -1
  270. package/lib/shardui/chart.d.ts +1 -1
  271. package/lib/shardui/chart.d.ts.map +1 -1
  272. package/lib/shardui/chart.js +81 -66
  273. package/lib/shardui/chart.js.map +1 -1
  274. package/lib/shardui/checkbox.js +10 -8
  275. package/lib/shardui/checkbox.js.map +1 -1
  276. package/lib/shardui/command.d.ts +2 -2
  277. package/lib/shardui/command.d.ts.map +1 -1
  278. package/lib/shardui/command.js +28 -24
  279. package/lib/shardui/command.js.map +1 -1
  280. package/lib/shardui/context-menu.d.ts +1 -1
  281. package/lib/shardui/context-menu.js +41 -30
  282. package/lib/shardui/context-menu.js.map +1 -1
  283. package/lib/shardui/dialog.d.ts +2 -2
  284. package/lib/shardui/dialog.js +22 -17
  285. package/lib/shardui/dialog.js.map +1 -1
  286. package/lib/shardui/drawer.d.ts +3 -3
  287. package/lib/shardui/drawer.js +17 -14
  288. package/lib/shardui/drawer.js.map +1 -1
  289. package/lib/shardui/dropdown-menu.d.ts +1 -1
  290. package/lib/shardui/dropdown-menu.js +42 -31
  291. package/lib/shardui/dropdown-menu.js.map +1 -1
  292. package/lib/shardui/form.d.ts +1 -1
  293. package/lib/shardui/form.d.ts.map +1 -1
  294. package/lib/shardui/form.js +22 -19
  295. package/lib/shardui/form.js.map +1 -1
  296. package/lib/shardui/hover-card.js +2 -2
  297. package/lib/shardui/hover-card.js.map +1 -1
  298. package/lib/shardui/input-otp.js +16 -13
  299. package/lib/shardui/input-otp.js.map +1 -1
  300. package/lib/shardui/input.js +2 -2
  301. package/lib/shardui/input.js.map +1 -1
  302. package/lib/shardui/label.js +2 -2
  303. package/lib/shardui/label.js.map +1 -1
  304. package/lib/shardui/menubar.d.ts +1 -1
  305. package/lib/shardui/menubar.js +46 -35
  306. package/lib/shardui/menubar.js.map +1 -1
  307. package/lib/shardui/navigation-menu.js +28 -24
  308. package/lib/shardui/navigation-menu.js.map +1 -1
  309. package/lib/shardui/pagination.d.ts +5 -5
  310. package/lib/shardui/pagination.js +30 -22
  311. package/lib/shardui/pagination.js.map +1 -1
  312. package/lib/shardui/popover.js +10 -8
  313. package/lib/shardui/popover.js.map +1 -1
  314. package/lib/shardui/progress.js +10 -9
  315. package/lib/shardui/progress.js.map +1 -1
  316. package/lib/shardui/radio-group.js +11 -9
  317. package/lib/shardui/radio-group.js.map +1 -1
  318. package/lib/shardui/resizable.d.ts +3 -3
  319. package/lib/shardui/resizable.d.ts.map +1 -1
  320. package/lib/shardui/resizable.js +11 -9
  321. package/lib/shardui/resizable.js.map +1 -1
  322. package/lib/shardui/scroll-area.js +14 -11
  323. package/lib/shardui/scroll-area.js.map +1 -1
  324. package/lib/shardui/select.js +49 -35
  325. package/lib/shardui/select.js.map +1 -1
  326. package/lib/shardui/separator.js +2 -2
  327. package/lib/shardui/separator.js.map +1 -1
  328. package/lib/shardui/sheet.d.ts +2 -2
  329. package/lib/shardui/sheet.js +24 -19
  330. package/lib/shardui/sheet.js.map +1 -1
  331. package/lib/shardui/sidebar.js +104 -88
  332. package/lib/shardui/sidebar.js.map +1 -1
  333. package/lib/shardui/skeleton.d.ts +1 -1
  334. package/lib/shardui/skeleton.d.ts.map +1 -1
  335. package/lib/shardui/skeleton.js +2 -2
  336. package/lib/shardui/skeleton.js.map +1 -1
  337. package/lib/shardui/slider.js +12 -10
  338. package/lib/shardui/slider.js.map +1 -1
  339. package/lib/shardui/sonner.d.ts +1 -1
  340. package/lib/shardui/sonner.d.ts.map +1 -1
  341. package/lib/shardui/sonner.js +2 -2
  342. package/lib/shardui/sonner.js.map +1 -1
  343. package/lib/shardui/switch.js +7 -6
  344. package/lib/shardui/switch.js.map +1 -1
  345. package/lib/shardui/table.js +16 -15
  346. package/lib/shardui/table.js.map +1 -1
  347. package/lib/shardui/tabs.js +4 -4
  348. package/lib/shardui/tabs.js.map +1 -1
  349. package/lib/shardui/textarea.js +2 -2
  350. package/lib/shardui/textarea.js.map +1 -1
  351. package/lib/shardui/toast.js +12 -11
  352. package/lib/shardui/toast.js.map +1 -1
  353. package/lib/shardui/toaster.d.ts +1 -2
  354. package/lib/shardui/toaster.d.ts.map +1 -1
  355. package/lib/shardui/toaster.js +21 -14
  356. package/lib/shardui/toaster.js.map +1 -1
  357. package/lib/shardui/toggle-group.js +15 -12
  358. package/lib/shardui/toggle-group.js.map +1 -1
  359. package/lib/shardui/toggle.js +2 -2
  360. package/lib/shardui/toggle.js.map +1 -1
  361. package/lib/shardui/tooltip.js +2 -2
  362. package/lib/shardui/tooltip.js.map +1 -1
  363. package/package.json +7 -3
@@ -0,0 +1,209 @@
1
+ import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useState,useCallback}from'react';import {Copy,ThumbsUp,ThumbsDown,Share2,RefreshCw,MoreHorizontal,Download}from'lucide-react';import'../../../../shardui/accordion.js';import'../../../../shardui/alert.js';import'../../../../shardui/alert-dialog.js';import'@radix-ui/react-aspect-ratio';import'../../../../shardui/avatar.js';import'../../../../shardui/badge.js';import'../../../../shardui/breadcrumb.js';import {Button}from'../../../../shardui/button.js';import'../../../../shardui/calendar.js';import'../../../../shardui/card.js';import'../../../../shardui/carousel.js';import'../../../../shardui/chart.js';import'../../../../shardui/checkbox.js';import'@radix-ui/react-collapsible';import'../../../../shardui/command.js';import'../../../../shardui/context-menu.js';import'../../../../shardui/dialog.js';import'../../../../shardui/drawer.js';import {DropdownMenu,DropdownMenuTrigger,DropdownMenuContent,DropdownMenuItem,DropdownMenuSeparator}from'../../../../shardui/dropdown-menu.js';import'../../../../shardui/form.js';import'../../../../shardui/hover-card.js';import'../../../../shardui/input.js';import'../../../../shardui/input-otp.js';import'../../../../shardui/label.js';import'../../../../shardui/menubar.js';import'../../../../shardui/navigation-menu.js';import'../../../../shardui/pagination.js';import'../../../../shardui/popover.js';import'../../../../shardui/progress.js';import'../../../../shardui/radio-group.js';import'react-resizable-panels';import'../../../../utils/isBrowser/index.js';import {cn}from'../../../../utils/util.js';import'fast-deep-equal/react.js';import'../../../../shardui/scroll-area.js';import'../../../../shardui/select.js';import'../../../../shardui/separator.js';import'../../../../shardui/sheet.js';import'../../../../shardui/sidebar.js';import'../../../../shardui/slider.js';import'../../../ThemeProvider/ThemeProvider.js';import'sonner';import'../../../../shardui/switch.js';import'../../../../shardui/table.js';import'../../../../shardui/tabs.js';import'../../../../shardui/textarea.js';import'../../../../shardui/toast.js';import'../../../../shardui/toggle.js';import'../../../../shardui/toggle-group.js';import {TooltipProvider,Tooltip,TooltipTrigger,TooltipContent}from'../../../../shardui/tooltip.js';async function defaultCopy(text) {
2
+ await navigator.clipboard.writeText(text);
3
+ }
4
+ async function defaultShare(text) {
5
+ if (typeof navigator !== 'undefined' && navigator.share) {
6
+ try {
7
+ await navigator.share({
8
+ text
9
+ });
10
+ return;
11
+ } catch {
12
+ /* user cancelled or share failed */
13
+ }
14
+ }
15
+ await defaultCopy(text);
16
+ }
17
+ function downloadText(filename, text) {
18
+ const blob = new Blob([text], {
19
+ type: 'text/plain;charset=utf-8'
20
+ });
21
+ const url = URL.createObjectURL(blob);
22
+ const a = document.createElement('a');
23
+ a.href = url;
24
+ a.download = filename;
25
+ a.click();
26
+ URL.revokeObjectURL(url);
27
+ }
28
+ function AssistantMessageActions({
29
+ messageId,
30
+ content,
31
+ disabled = false,
32
+ className,
33
+ visibility,
34
+ onCopy,
35
+ onShare,
36
+ onRegenerate,
37
+ onFeedback
38
+ }) {
39
+ const v = {
40
+ copy: visibility?.copy !== false,
41
+ feedback: visibility?.feedback !== false,
42
+ share: visibility?.share !== false,
43
+ regenerate: visibility?.regenerate !== false && Boolean(onRegenerate),
44
+ more: visibility?.more !== false
45
+ };
46
+ const [vote, setVote] = useState(null);
47
+ const handleCopy = useCallback(async () => {
48
+ try {
49
+ if (onCopy) await onCopy(content);else await defaultCopy(content);
50
+ } catch (e) {
51
+ console.error('[AssistantMessageActions] copy', e);
52
+ }
53
+ }, [content, onCopy]);
54
+ const handleShare = useCallback(async () => {
55
+ try {
56
+ if (onShare) await onShare(content);else await defaultShare(content);
57
+ } catch (e) {
58
+ console.error('[AssistantMessageActions] share', e);
59
+ }
60
+ }, [content, onShare]);
61
+ const handleRegenerate = useCallback(async () => {
62
+ if (!onRegenerate) return;
63
+ try {
64
+ await onRegenerate(messageId);
65
+ } catch (e) {
66
+ console.error('[AssistantMessageActions] regenerate', e);
67
+ }
68
+ }, [messageId, onRegenerate]);
69
+ const toggleThumb = useCallback(next => {
70
+ const flipped = vote === next ? null : next;
71
+ setVote(flipped);
72
+ onFeedback?.(messageId, flipped);
73
+ }, [messageId, onFeedback, vote]);
74
+ return jsx(TooltipProvider, {
75
+ delayDuration: 400,
76
+ children: jsxs("div", {
77
+ className: cn('flex flex-wrap items-center gap-0.5 border-t border-border/40 pt-2 mt-2 opacity-90', disabled && 'pointer-events-none opacity-40', className),
78
+ role: "toolbar",
79
+ "aria-label": "Assistant message actions",
80
+ children: [v.copy ? jsxs(Tooltip, {
81
+ children: [jsx(TooltipTrigger, {
82
+ asChild: true,
83
+ children: jsx(Button, {
84
+ type: "button",
85
+ variant: "ghost",
86
+ size: "icon",
87
+ className: "h-7 w-7 text-muted-foreground",
88
+ onClick: () => void handleCopy(),
89
+ "aria-label": "Copy response",
90
+ children: jsx(Copy, {
91
+ className: "h-3.5 w-3.5"
92
+ })
93
+ })
94
+ }), jsx(TooltipContent, {
95
+ side: "bottom",
96
+ children: "Copy"
97
+ })]
98
+ }) : null, v.feedback ? jsxs(Fragment, {
99
+ children: [jsxs(Tooltip, {
100
+ children: [jsx(TooltipTrigger, {
101
+ asChild: true,
102
+ children: jsx(Button, {
103
+ type: "button",
104
+ variant: "ghost",
105
+ size: "icon",
106
+ className: cn('h-7 w-7 text-muted-foreground', vote === 'up' && 'text-primary'),
107
+ onClick: () => toggleThumb('up'),
108
+ "aria-label": "Good response",
109
+ "aria-pressed": vote === 'up',
110
+ children: jsx(ThumbsUp, {
111
+ className: "h-3.5 w-3.5"
112
+ })
113
+ })
114
+ }), jsx(TooltipContent, {
115
+ side: "bottom",
116
+ children: "Good response"
117
+ })]
118
+ }), jsxs(Tooltip, {
119
+ children: [jsx(TooltipTrigger, {
120
+ asChild: true,
121
+ children: jsx(Button, {
122
+ type: "button",
123
+ variant: "ghost",
124
+ size: "icon",
125
+ className: cn('h-7 w-7 text-muted-foreground', vote === 'down' && 'text-destructive'),
126
+ onClick: () => toggleThumb('down'),
127
+ "aria-label": "Bad response",
128
+ "aria-pressed": vote === 'down',
129
+ children: jsx(ThumbsDown, {
130
+ className: "h-3.5 w-3.5"
131
+ })
132
+ })
133
+ }), jsx(TooltipContent, {
134
+ side: "bottom",
135
+ children: "Bad response"
136
+ })]
137
+ })]
138
+ }) : null, v.share ? jsxs(Tooltip, {
139
+ children: [jsx(TooltipTrigger, {
140
+ asChild: true,
141
+ children: jsx(Button, {
142
+ type: "button",
143
+ variant: "ghost",
144
+ size: "icon",
145
+ className: "h-7 w-7 text-muted-foreground",
146
+ onClick: () => void handleShare(),
147
+ "aria-label": "Share",
148
+ children: jsx(Share2, {
149
+ className: "h-3.5 w-3.5"
150
+ })
151
+ })
152
+ }), jsx(TooltipContent, {
153
+ side: "bottom",
154
+ children: "Share"
155
+ })]
156
+ }) : null, v.regenerate && onRegenerate ? jsxs(Tooltip, {
157
+ children: [jsx(TooltipTrigger, {
158
+ asChild: true,
159
+ children: jsx(Button, {
160
+ type: "button",
161
+ variant: "ghost",
162
+ size: "icon",
163
+ className: "h-7 w-7 text-muted-foreground",
164
+ onClick: () => void handleRegenerate(),
165
+ "aria-label": "Regenerate",
166
+ children: jsx(RefreshCw, {
167
+ className: "h-3.5 w-3.5"
168
+ })
169
+ })
170
+ }), jsx(TooltipContent, {
171
+ side: "bottom",
172
+ children: "Regenerate"
173
+ })]
174
+ }) : null, v.more ? jsxs(DropdownMenu, {
175
+ children: [jsx(DropdownMenuTrigger, {
176
+ asChild: true,
177
+ children: jsx(Button, {
178
+ type: "button",
179
+ variant: "ghost",
180
+ size: "icon",
181
+ className: "h-7 w-7 text-muted-foreground",
182
+ "aria-label": "More options",
183
+ children: jsx(MoreHorizontal, {
184
+ className: "h-3.5 w-3.5"
185
+ })
186
+ })
187
+ }), jsxs(DropdownMenuContent, {
188
+ align: "start",
189
+ className: "min-w-[10rem]",
190
+ children: [jsx(DropdownMenuItem, {
191
+ onClick: () => void handleCopy(),
192
+ children: "Copy message"
193
+ }), jsx(DropdownMenuItem, {
194
+ onClick: () => void handleShare(),
195
+ children: "Share\u2026"
196
+ }), onRegenerate ? jsx(DropdownMenuItem, {
197
+ onClick: () => void handleRegenerate(),
198
+ children: "Regenerate"
199
+ }) : null, jsx(DropdownMenuSeparator, {}), jsxs(DropdownMenuItem, {
200
+ onClick: () => downloadText(`assistant-${messageId.slice(-8)}.txt`, content),
201
+ children: [jsx(Download, {
202
+ className: "mr-2 h-3.5 w-3.5"
203
+ }), "Download as .txt"]
204
+ })]
205
+ })]
206
+ }) : null]
207
+ })
208
+ });
209
+ }export{AssistantMessageActions};//# sourceMappingURL=AssistantMessageActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantMessageActions.js","sources":["../../../../../src/components/AIToolbar/components/completion/AssistantMessageActions.tsx"],"sourcesContent":[null],"names":[],"mappings":"2xEAsBoB,CAAA,IAAA,EAAA;QAChB,SAAA,CAAA,SAAA,CAAA,SAAA,CAAA,IAAA,CAAA;;eAEU,YAAS,CAAA,IAAA,EAAA;MACnB,OAAA,SAAA,KAAA,WAAA,IAAA,SAAuC,CAAA,KAAA,EAAA;AACvC,IAAA,IAAA;YACQ,SAAG,CAAO,KAAC,CAAA;QACf;QACA;;YAEI;;IAER;AACA,EAAA;QACA,WAAA,CAAA,IAAA,CAAA;AACA;SACA,YAAA,CAAA,QAAA,EAAA,IAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,IAAe,IAAC,CAAA,CAAA,IAAS,CAAA,EAAE;IAC3B,IAAA,EAAA;AACA,GAAA,CAAA;EACF,MAAA,GAAA,GAAA,GAAA,CAAA,eAAA,CAAA,IAAA,CAAA;AA4BF,EAAA,MAAA,CAAA,GAAA,QAAA,CAAA,aAAgB,CAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,3 @@
1
+ import { UseCompletionReturn } from '../types';
2
+ export declare const Audio: ({ micOpen, setMicOpen, enableVAD, setEnableVAD, submit, setState, selectedSttProvider, managedAiApiEnabled, selectedAudioDevices, transcribeAudio, }: UseCompletionReturn) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=Audio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/completion/Audio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,KAAK,GAAI,sJAWnB,mBAAmB,4CAuDrB,CAAC"}
@@ -0,0 +1,65 @@
1
+ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {MicIcon,InfoIcon}from'lucide-react';import'../../../../shardui/accordion.js';import'../../../../shardui/alert.js';import'../../../../shardui/alert-dialog.js';import'@radix-ui/react-aspect-ratio';import'../../../../shardui/avatar.js';import'../../../../shardui/badge.js';import'../../../../shardui/breadcrumb.js';import {Button}from'../../../../shardui/button.js';import'../../../../shardui/calendar.js';import'../../../../shardui/card.js';import'../../../../shardui/carousel.js';import'../../../../shardui/chart.js';import'../../../../shardui/checkbox.js';import'@radix-ui/react-collapsible';import'../../../../shardui/command.js';import'../../../../shardui/context-menu.js';import'../../../../shardui/dialog.js';import'../../../../shardui/drawer.js';import'../../../../shardui/dropdown-menu.js';import'../../../../shardui/form.js';import'../../../../shardui/hover-card.js';import'../../../../shardui/input.js';import'../../../../shardui/input-otp.js';import'../../../../shardui/label.js';import'../../../../shardui/menubar.js';import'../../../../shardui/navigation-menu.js';import'../../../../shardui/pagination.js';import {Popover,PopoverTrigger,PopoverContent}from'../../../../shardui/popover.js';import'../../../../shardui/progress.js';import'../../../../shardui/radio-group.js';import'react-resizable-panels';import'../../../../utils/isBrowser/index.js';import'clsx';import'tailwind-merge';import'react';import'fast-deep-equal/react.js';import'../../../../shardui/scroll-area.js';import'../../../../shardui/select.js';import'../../../../shardui/separator.js';import'../../../../shardui/sheet.js';import'../../../../shardui/sidebar.js';import'../../../../shardui/slider.js';import'../../../ThemeProvider/ThemeProvider.js';import'sonner';import'../../../../shardui/switch.js';import'../../../../shardui/table.js';import'../../../../shardui/tabs.js';import'../../../../shardui/textarea.js';import'../../../../shardui/toast.js';import'../../../../shardui/toggle.js';import'../../../../shardui/toggle-group.js';import'../../../../shardui/tooltip.js';import {AutoSpeechVAD}from'./AutoSpeechVad.js';const Audio = ({
2
+ micOpen,
3
+ setMicOpen,
4
+ enableVAD,
5
+ setEnableVAD,
6
+ submit,
7
+ setState,
8
+ selectedSttProvider,
9
+ managedAiApiEnabled,
10
+ selectedAudioDevices,
11
+ transcribeAudio
12
+ }) => {
13
+ const speechProviderStatus = selectedSttProvider.provider;
14
+ return jsxs(Popover, {
15
+ open: micOpen,
16
+ onOpenChange: setMicOpen,
17
+ children: [jsx(PopoverTrigger, {
18
+ asChild: true,
19
+ children: (managedAiApiEnabled || speechProviderStatus) && enableVAD ? jsx(AutoSpeechVAD, {
20
+ submit: submit,
21
+ setState: setState,
22
+ setEnableVAD: setEnableVAD,
23
+ microphoneDeviceId: selectedAudioDevices.input.id,
24
+ transcribeAudio: transcribeAudio
25
+ }, selectedAudioDevices.input.id) : jsx(Button, {
26
+ size: "icon",
27
+ onClick: () => {
28
+ setEnableVAD(!enableVAD);
29
+ },
30
+ className: "cursor-pointer",
31
+ title: "Toggle voice input",
32
+ children: jsx(MicIcon, {
33
+ className: "h-4 w-4"
34
+ })
35
+ })
36
+ }), jsx(PopoverContent, {
37
+ align: "end",
38
+ side: "bottom",
39
+ className: `z-[200] w-80 p-3 ${managedAiApiEnabled || speechProviderStatus ? 'hidden' : ''}`,
40
+ sideOffset: 8,
41
+ children: jsxs("div", {
42
+ className: "text-sm select-none",
43
+ children: [jsx("div", {
44
+ className: "mb-1 font-semibold text-orange-600",
45
+ children: "Speech Provider Configuration Required"
46
+ }), jsx("p", {
47
+ className: "text-muted-foreground",
48
+ children: !speechProviderStatus ? jsxs(Fragment, {
49
+ children: [jsxs("div", {
50
+ className: "mt-2 flex flex-row items-center gap-1 text-orange-600",
51
+ children: [jsx(InfoIcon, {
52
+ size: 16
53
+ }), selectedSttProvider.provider ? null : jsx("p", {
54
+ children: "PROVIDER IS MISSING"
55
+ })]
56
+ }), jsx("span", {
57
+ className: "mt-2 block",
58
+ children: "Please go to settings and configure your speech provider to enable voice input."
59
+ })]
60
+ }) : null
61
+ })]
62
+ })
63
+ })]
64
+ });
65
+ };export{Audio};//# sourceMappingURL=Audio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Audio.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,11 @@
1
+ import { UseCompletionReturn } from '../types';
2
+ interface AutoSpeechVADProps {
3
+ submit: UseCompletionReturn['submit'];
4
+ setState: UseCompletionReturn['setState'];
5
+ setEnableVAD: UseCompletionReturn['setEnableVAD'];
6
+ microphoneDeviceId?: string;
7
+ transcribeAudio: UseCompletionReturn['transcribeAudio'];
8
+ }
9
+ export declare const AutoSpeechVAD: (props: AutoSpeechVADProps) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=AutoSpeechVad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoSpeechVad.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/completion/AutoSpeechVad.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAO/C,UAAU,kBAAkB;IACxB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC1C,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAClD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;CAC3D;AAsED,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,4CAEtD,CAAC"}
@@ -0,0 +1,66 @@
1
+ import {jsx,Fragment}from'react/jsx-runtime';import {useMicVAD}from'@ricky0123/vad-react';import {LoaderCircleIcon,MicOffIcon,MicIcon}from'lucide-react';import {useState}from'react';import'../../../../shardui/accordion.js';import'../../../../shardui/alert.js';import'../../../../shardui/alert-dialog.js';import'@radix-ui/react-aspect-ratio';import'../../../../shardui/avatar.js';import'../../../../shardui/badge.js';import'../../../../shardui/breadcrumb.js';import {Button}from'../../../../shardui/button.js';import'../../../../shardui/calendar.js';import'../../../../shardui/card.js';import'../../../../shardui/carousel.js';import'../../../../shardui/chart.js';import'../../../../shardui/checkbox.js';import'@radix-ui/react-collapsible';import'../../../../shardui/command.js';import'../../../../shardui/context-menu.js';import'../../../../shardui/dialog.js';import'../../../../shardui/drawer.js';import'../../../../shardui/dropdown-menu.js';import'../../../../shardui/form.js';import'../../../../shardui/hover-card.js';import'../../../../shardui/input.js';import'../../../../shardui/input-otp.js';import'../../../../shardui/label.js';import'../../../../shardui/menubar.js';import'../../../../shardui/navigation-menu.js';import'../../../../shardui/pagination.js';import'../../../../shardui/popover.js';import'../../../../shardui/progress.js';import'../../../../shardui/radio-group.js';import'react-resizable-panels';import'../../../../utils/isBrowser/index.js';import'clsx';import'tailwind-merge';import'fast-deep-equal/react.js';import'../../../../shardui/scroll-area.js';import'../../../../shardui/select.js';import'../../../../shardui/separator.js';import'../../../../shardui/sheet.js';import'../../../../shardui/sidebar.js';import'../../../../shardui/slider.js';import'../../../ThemeProvider/ThemeProvider.js';import'sonner';import'../../../../shardui/switch.js';import'../../../../shardui/table.js';import'../../../../shardui/tabs.js';import'../../../../shardui/textarea.js';import'../../../../shardui/toast.js';import'../../../../shardui/toggle.js';import'../../../../shardui/toggle-group.js';import'../../../../shardui/tooltip.js';import {floatArrayToWav}from'../speech/floatArrayToWav.js';const AutoSpeechVADInternal = ({
2
+ submit,
3
+ setState,
4
+ setEnableVAD,
5
+ microphoneDeviceId,
6
+ transcribeAudio
7
+ }) => {
8
+ const [isTranscribing, setIsTranscribing] = useState(false);
9
+ const audioConstraints = microphoneDeviceId && microphoneDeviceId !== 'default' ? {
10
+ deviceId: {
11
+ exact: microphoneDeviceId
12
+ }
13
+ } : {};
14
+ const vad = useMicVAD({
15
+ userSpeakingThreshold: 0.6,
16
+ startOnLoad: true,
17
+ additionalAudioConstraints: audioConstraints,
18
+ onSpeechEnd: async audio => {
19
+ try {
20
+ const audioBlob = floatArrayToWav(audio, 16000, 'wav');
21
+ setIsTranscribing(true);
22
+ const transcription = await transcribeAudio(audioBlob);
23
+ if (transcription) {
24
+ submit(transcription);
25
+ }
26
+ } catch (error) {
27
+ console.error('Failed to transcribe audio:', error);
28
+ setState(prev => ({
29
+ ...prev,
30
+ error: error instanceof Error ? error.message : 'Transcription failed'
31
+ }));
32
+ } finally {
33
+ setIsTranscribing(false);
34
+ }
35
+ }
36
+ });
37
+ return jsx(Fragment, {
38
+ children: jsx(Button, {
39
+ size: "icon",
40
+ onClick: () => {
41
+ if (vad.listening) {
42
+ vad.pause();
43
+ setEnableVAD(false);
44
+ } else {
45
+ vad.start();
46
+ setEnableVAD(true);
47
+ }
48
+ },
49
+ className: "cursor-pointer",
50
+ children: isTranscribing ? jsx(LoaderCircleIcon, {
51
+ className: "h-4 w-4 animate-spin text-green-500"
52
+ }) : vad.userSpeaking ? jsx(LoaderCircleIcon, {
53
+ className: "h-4 w-4 animate-spin"
54
+ }) : vad.listening ? jsx(MicOffIcon, {
55
+ className: "h-4 w-4 animate-pulse"
56
+ }) : jsx(MicIcon, {
57
+ className: "h-4 w-4"
58
+ })
59
+ })
60
+ });
61
+ };
62
+ const AutoSpeechVAD = props => {
63
+ return jsx(AutoSpeechVADInternal, {
64
+ ...props
65
+ }, props.microphoneDeviceId);
66
+ };export{AutoSpeechVAD};//# sourceMappingURL=AutoSpeechVad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoSpeechVad.js","sources":["../../../../../src/components/AIToolbar/components/completion/AutoSpeechVad.tsx"],"sourcesContent":[null],"names":[],"mappings":"qpEAYI,MAAA,qBAAiB,GAAA,CAAA;AACpB,EAAA,MAAA;AAsED,EAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ import { UseCompletionReturn } from '../types';
2
+ export declare const Files: ({ attachedFiles, handleFileSelect, removeFile, onRemoveAllFiles, isLoading, isFilesPopoverOpen, setIsFilesPopoverOpen, supportsImages, maxFiles, }: UseCompletionReturn & {
3
+ supportsImages?: boolean;
4
+ maxFiles?: number;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=Files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Files.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/completion/Files.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAK/C,eAAO,MAAM,KAAK,GAAI,oJAUnB,mBAAmB,GAAG;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,4CA8IvE,CAAC"}
@@ -0,0 +1,134 @@
1
+ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useRef}from'react';import'../../../../shardui/accordion.js';import'../../../../shardui/alert.js';import'../../../../shardui/alert-dialog.js';import'@radix-ui/react-aspect-ratio';import'../../../../shardui/avatar.js';import'../../../../shardui/badge.js';import'../../../../shardui/breadcrumb.js';import {Button}from'../../../../shardui/button.js';import'../../../../shardui/calendar.js';import'../../../../shardui/card.js';import'../../../../shardui/carousel.js';import'../../../../shardui/chart.js';import'../../../../shardui/checkbox.js';import'@radix-ui/react-collapsible';import'../../../../shardui/command.js';import'../../../../shardui/context-menu.js';import'../../../../shardui/dialog.js';import'../../../../shardui/drawer.js';import'../../../../shardui/dropdown-menu.js';import'../../../../shardui/form.js';import'../../../../shardui/hover-card.js';import'../../../../shardui/input.js';import'../../../../shardui/input-otp.js';import'../../../../shardui/label.js';import'../../../../shardui/menubar.js';import'../../../../shardui/navigation-menu.js';import'../../../../shardui/pagination.js';import {Popover,PopoverTrigger,PopoverContent}from'../../../../shardui/popover.js';import'../../../../shardui/progress.js';import'../../../../shardui/radio-group.js';import {PaperclipIcon,PlusIcon,XIcon,TrashIcon}from'lucide-react';import'react-resizable-panels';import'../../../../utils/isBrowser/index.js';import {cn}from'../../../../utils/util.js';import'fast-deep-equal/react.js';import {ScrollArea}from'../../../../shardui/scroll-area.js';import'../../../../shardui/select.js';import'../../../../shardui/separator.js';import'../../../../shardui/sheet.js';import'../../../../shardui/sidebar.js';import'../../../../shardui/slider.js';import'../../../ThemeProvider/ThemeProvider.js';import'sonner';import'../../../../shardui/switch.js';import'../../../../shardui/table.js';import'../../../../shardui/tabs.js';import'../../../../shardui/textarea.js';import'../../../../shardui/toast.js';import'../../../../shardui/toggle.js';import'../../../../shardui/toggle-group.js';import'../../../../shardui/tooltip.js';const DEFAULT_MAX_FILES = 10;
2
+ const Files = ({
3
+ attachedFiles,
4
+ handleFileSelect,
5
+ removeFile,
6
+ onRemoveAllFiles,
7
+ isLoading,
8
+ isFilesPopoverOpen,
9
+ setIsFilesPopoverOpen,
10
+ supportsImages,
11
+ maxFiles = DEFAULT_MAX_FILES
12
+ }) => {
13
+ const fileInputRef = useRef(null);
14
+ const handleAddMoreClick = () => {
15
+ fileInputRef.current?.click();
16
+ };
17
+ const canAddMore = attachedFiles.length < maxFiles;
18
+ return jsxs("div", {
19
+ className: "relative",
20
+ children: [jsxs(Popover, {
21
+ open: isFilesPopoverOpen,
22
+ onOpenChange: setIsFilesPopoverOpen,
23
+ children: [jsx(PopoverTrigger, {
24
+ asChild: true,
25
+ children: jsx(Button, {
26
+ size: "icon",
27
+ disabled: isLoading || supportsImages === false,
28
+ className: "cursor-pointer",
29
+ title: supportsImages !== false ? 'Attach images' : 'Image upload not supported by current AI provider',
30
+ children: jsx(PaperclipIcon, {
31
+ className: "h-4 w-4"
32
+ })
33
+ })
34
+ }), attachedFiles.length > 0 && jsx("div", {
35
+ className: "absolute -top-2 -right-2 bg-primary-foreground text-primary rounded-full h-5 w-5 flex border border-primary items-center justify-center text-xs font-medium",
36
+ children: attachedFiles.length
37
+ }), jsx(PopoverContent, {
38
+ align: "end",
39
+ side: "bottom",
40
+ className: cn('z-[200] max-h-[min(85vh,calc(100vh-2rem))] flex flex-col p-0 border shadow-lg overflow-hidden', attachedFiles.length > 0 ? 'w-[min(100vw,36rem)]' : 'w-80'),
41
+ sideOffset: 8,
42
+ children: attachedFiles.length === 0 ? jsxs("div", {
43
+ className: "p-4 space-y-3",
44
+ children: [jsx("p", {
45
+ className: "text-sm text-muted-foreground",
46
+ children: "No images attached yet. Choose files to add them to your message."
47
+ }), jsxs(Button, {
48
+ type: "button",
49
+ className: "w-full",
50
+ variant: "outline",
51
+ disabled: isLoading || supportsImages === false,
52
+ onClick: () => fileInputRef.current?.click(),
53
+ children: [jsx(PlusIcon, {
54
+ className: "h-4 w-4 mr-2"
55
+ }), "Choose images"]
56
+ })]
57
+ }) : jsxs(Fragment, {
58
+ children: [jsxs("div", {
59
+ className: "flex items-center justify-between px-4 py-2 border-b bg-muted/30 shrink-0",
60
+ children: [jsxs("h3", {
61
+ className: "font-semibold text-sm select-none",
62
+ children: ["Attached Images (", attachedFiles.length, "/", maxFiles, ")"]
63
+ }), jsx(Button, {
64
+ size: "icon",
65
+ variant: "ghost",
66
+ onClick: () => setIsFilesPopoverOpen(false),
67
+ className: "cursor-pointer",
68
+ title: "Close",
69
+ children: jsx(XIcon, {
70
+ className: "h-4 w-4"
71
+ })
72
+ })]
73
+ }), jsx(ScrollArea, {
74
+ className: "p-4 min-h-0 flex-1 max-h-[min(32rem,calc(85vh-10rem))]",
75
+ children: jsx("div", {
76
+ className: `gap-3 ${attachedFiles.length <= 2 ? 'flex flex-col' : 'grid grid-cols-2'}`,
77
+ children: attachedFiles.map(file => jsxs("div", {
78
+ className: "relative group border rounded-lg overflow-hidden bg-muted/20 min-h-[8rem]",
79
+ children: [jsx("img", {
80
+ src: `data:${file.type};base64,${file.base64}`,
81
+ alt: file.name,
82
+ className: "w-full object-cover max-h-64"
83
+ }), jsxs("div", {
84
+ className: "absolute bottom-0 left-0 right-0 bg-black/70 text-white p-2 text-xs",
85
+ children: [jsx("div", {
86
+ className: "truncate font-medium",
87
+ children: file.name
88
+ }), jsxs("div", {
89
+ className: "text-gray-300",
90
+ children: [(file.size / 1024 / 1024).toFixed(2), " MB"]
91
+ })]
92
+ }), jsx(Button, {
93
+ size: "icon",
94
+ variant: "default",
95
+ className: "absolute top-2 right-2 h-6 w-6 cursor-pointer",
96
+ onClick: () => removeFile(file.id),
97
+ title: "Remove image",
98
+ children: jsx(XIcon, {
99
+ className: "h-3 w-3"
100
+ })
101
+ })]
102
+ }, file.id))
103
+ })
104
+ }), jsxs("div", {
105
+ className: "shrink-0 border-t bg-background p-3 flex flex-row gap-2",
106
+ children: [jsxs(Button, {
107
+ onClick: handleAddMoreClick,
108
+ disabled: !canAddMore || isLoading,
109
+ className: "w-2/4",
110
+ variant: "outline",
111
+ children: [jsx(PlusIcon, {
112
+ className: "h-4 w-4 mr-2"
113
+ }), "Add More Images ", !canAddMore && `(${maxFiles} max)`]
114
+ }), jsxs(Button, {
115
+ className: "w-2/4",
116
+ variant: "destructive",
117
+ onClick: onRemoveAllFiles,
118
+ children: [jsx(TrashIcon, {
119
+ className: "h-4 w-4 mr-2"
120
+ }), "Remove All Images"]
121
+ })]
122
+ })]
123
+ })
124
+ })]
125
+ }), jsx("input", {
126
+ ref: fileInputRef,
127
+ type: "file",
128
+ multiple: true,
129
+ accept: "image/*",
130
+ onChange: handleFileSelect,
131
+ className: "hidden"
132
+ })]
133
+ });
134
+ };export{Files};//# sourceMappingURL=Files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Files.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import { UseCompletionReturn } from '../types';
2
+ export declare const Input: ({ isPopoverOpen, isLoading, reset, input, setInput, handleKeyPress, handlePaste, currentConversationId, conversationHistory, startNewConversation, messageHistoryOpen, setMessageHistoryOpen, error, response, cancel, scrollAreaRef, inputRef, isHidden, keepEngaged, setKeepEngaged, regenerateAssistantMessage, }: UseCompletionReturn & {
3
+ isHidden: boolean;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=Input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/completion/Input.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAI/C,eAAO,MAAM,KAAK,GAAI,sTAsBnB,mBAAmB,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,4CAkO7C,CAAC"}