@admin-layout/tailwind-ui 12.2.4-alpha.6 → 12.2.4-alpha.60

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 (399) 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/AssistantAvatar.d.ts +24 -0
  26. package/lib/components/AIToolbar/components/completion/AssistantAvatar.d.ts.map +1 -0
  27. package/lib/components/AIToolbar/components/completion/AssistantAvatar.js +48 -0
  28. package/lib/components/AIToolbar/components/completion/AssistantAvatar.js.map +1 -0
  29. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.d.ts +28 -0
  30. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.d.ts.map +1 -0
  31. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.js +209 -0
  32. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.js.map +1 -0
  33. package/lib/components/AIToolbar/components/completion/AssistantSenderBadge.d.ts +15 -0
  34. package/lib/components/AIToolbar/components/completion/AssistantSenderBadge.d.ts.map +1 -0
  35. package/lib/components/AIToolbar/components/completion/Audio.d.ts +3 -0
  36. package/lib/components/AIToolbar/components/completion/Audio.d.ts.map +1 -0
  37. package/lib/components/AIToolbar/components/completion/Audio.js +65 -0
  38. package/lib/components/AIToolbar/components/completion/Audio.js.map +1 -0
  39. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts +11 -0
  40. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts.map +1 -0
  41. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js +66 -0
  42. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js.map +1 -0
  43. package/lib/components/AIToolbar/components/completion/CharacterPicker.d.ts +3 -0
  44. package/lib/components/AIToolbar/components/completion/CharacterPicker.d.ts.map +1 -0
  45. package/lib/components/AIToolbar/components/completion/CharacterPicker.js +90 -0
  46. package/lib/components/AIToolbar/components/completion/CharacterPicker.js.map +1 -0
  47. package/lib/components/AIToolbar/components/completion/Files.d.ts +6 -0
  48. package/lib/components/AIToolbar/components/completion/Files.d.ts.map +1 -0
  49. package/lib/components/AIToolbar/components/completion/Files.js +134 -0
  50. package/lib/components/AIToolbar/components/completion/Files.js.map +1 -0
  51. package/lib/components/AIToolbar/components/completion/Input.d.ts +5 -0
  52. package/lib/components/AIToolbar/components/completion/Input.d.ts.map +1 -0
  53. package/lib/components/AIToolbar/components/completion/Input.js +283 -0
  54. package/lib/components/AIToolbar/components/completion/Input.js.map +1 -0
  55. package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts +11 -0
  56. package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts.map +1 -0
  57. package/lib/components/AIToolbar/components/completion/MessageHistory.js +131 -0
  58. package/lib/components/AIToolbar/components/completion/MessageHistory.js.map +1 -0
  59. package/lib/components/AIToolbar/components/completion/Screenshot.d.ts +6 -0
  60. package/lib/components/AIToolbar/components/completion/Screenshot.d.ts.map +1 -0
  61. package/lib/components/AIToolbar/components/completion/Screenshot.js +28 -0
  62. package/lib/components/AIToolbar/components/completion/Screenshot.js.map +1 -0
  63. package/lib/components/AIToolbar/components/completion/index.d.ts +11 -0
  64. package/lib/components/AIToolbar/components/completion/index.d.ts.map +1 -0
  65. package/lib/components/AIToolbar/components/completion/index.js +20 -0
  66. package/lib/components/AIToolbar/components/completion/index.js.map +1 -0
  67. package/lib/components/AIToolbar/components/index.d.ts +17 -0
  68. package/lib/components/AIToolbar/components/index.d.ts.map +1 -0
  69. package/lib/components/AIToolbar/components/speech/Header.d.ts +14 -0
  70. package/lib/components/AIToolbar/components/speech/Header.d.ts.map +1 -0
  71. package/lib/components/AIToolbar/components/speech/Header.js +82 -0
  72. package/lib/components/AIToolbar/components/speech/Header.js.map +1 -0
  73. package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts +8 -0
  74. package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts.map +1 -0
  75. package/lib/components/AIToolbar/components/speech/ModeSwitcher.js +44 -0
  76. package/lib/components/AIToolbar/components/speech/ModeSwitcher.js.map +1 -0
  77. package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts +13 -0
  78. package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts.map +1 -0
  79. package/lib/components/AIToolbar/components/speech/PermissionFlow.js +168 -0
  80. package/lib/components/AIToolbar/components/speech/PermissionFlow.js.map +1 -0
  81. package/lib/components/AIToolbar/components/speech/QuickActions.d.ts +13 -0
  82. package/lib/components/AIToolbar/components/speech/QuickActions.d.ts.map +1 -0
  83. package/lib/components/AIToolbar/components/speech/QuickActions.js +100 -0
  84. package/lib/components/AIToolbar/components/speech/QuickActions.js.map +1 -0
  85. package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts +14 -0
  86. package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts.map +1 -0
  87. package/lib/components/AIToolbar/components/speech/RecordingPanel.js +101 -0
  88. package/lib/components/AIToolbar/components/speech/RecordingPanel.js.map +1 -0
  89. package/lib/components/AIToolbar/components/speech/ResultsSection.d.ts +12 -0
  90. package/lib/components/AIToolbar/components/speech/ResultsSection.d.ts.map +1 -0
  91. package/lib/components/AIToolbar/components/speech/ResultsSection.js +142 -0
  92. package/lib/components/AIToolbar/components/speech/ResultsSection.js.map +1 -0
  93. package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts +14 -0
  94. package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts.map +1 -0
  95. package/lib/components/AIToolbar/components/speech/SettingsPanel.js +293 -0
  96. package/lib/components/AIToolbar/components/speech/SettingsPanel.js.map +1 -0
  97. package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts +10 -0
  98. package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts.map +1 -0
  99. package/lib/components/AIToolbar/components/speech/StatusIndicator.js +48 -0
  100. package/lib/components/AIToolbar/components/speech/StatusIndicator.js.map +1 -0
  101. package/lib/components/AIToolbar/components/speech/Warning.d.ts +6 -0
  102. package/lib/components/AIToolbar/components/speech/Warning.d.ts.map +1 -0
  103. package/lib/components/AIToolbar/components/speech/Warning.js +154 -0
  104. package/lib/components/AIToolbar/components/speech/Warning.js.map +1 -0
  105. package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts +7 -0
  106. package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts.map +1 -0
  107. package/lib/components/AIToolbar/components/speech/audio-visualizer.js +194 -0
  108. package/lib/components/AIToolbar/components/speech/audio-visualizer.js.map +1 -0
  109. package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts +2 -0
  110. package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts.map +1 -0
  111. package/lib/components/AIToolbar/components/speech/floatArrayToWav.js +32 -0
  112. package/lib/components/AIToolbar/components/speech/floatArrayToWav.js.map +1 -0
  113. package/lib/components/AIToolbar/components/speech/index.d.ts +4 -0
  114. package/lib/components/AIToolbar/components/speech/index.d.ts.map +1 -0
  115. package/lib/components/AIToolbar/components/speech/index.js +298 -0
  116. package/lib/components/AIToolbar/components/speech/index.js.map +1 -0
  117. package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts +12 -0
  118. package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts.map +1 -0
  119. package/lib/components/AIToolbar/components/speech/promptTemplates.js +114 -0
  120. package/lib/components/AIToolbar/components/speech/promptTemplates.js.map +1 -0
  121. package/lib/components/AIToolbar/components/types.d.ts +190 -0
  122. package/lib/components/AIToolbar/components/types.d.ts.map +1 -0
  123. package/lib/components/AIToolbar/hooks/useActiveCharacter.d.ts +52 -0
  124. package/lib/components/AIToolbar/hooks/useActiveCharacter.d.ts.map +1 -0
  125. package/lib/components/AIToolbar/hooks/useActiveCharacter.js +344 -0
  126. package/lib/components/AIToolbar/hooks/useActiveCharacter.js.map +1 -0
  127. package/lib/components/AIToolbar/hooks/useCharacterSprite.d.ts +14 -0
  128. package/lib/components/AIToolbar/hooks/useCharacterSprite.d.ts.map +1 -0
  129. package/lib/components/AIToolbar/hooks/useCharacterSprite.js +103 -0
  130. package/lib/components/AIToolbar/hooks/useCharacterSprite.js.map +1 -0
  131. package/lib/components/AIToolbar/hooks/useChatBackgroundImage.d.ts +10 -0
  132. package/lib/components/AIToolbar/hooks/useChatBackgroundImage.d.ts.map +1 -0
  133. package/lib/components/AIToolbar/hooks/useChatBackgroundImage.js +126 -0
  134. package/lib/components/AIToolbar/hooks/useChatBackgroundImage.js.map +1 -0
  135. package/lib/components/AIToolbar/index.d.ts +7 -0
  136. package/lib/components/AIToolbar/index.d.ts.map +1 -0
  137. package/lib/components/AIToolbar/utils/emotionClassifier.d.ts +19 -0
  138. package/lib/components/AIToolbar/utils/emotionClassifier.d.ts.map +1 -0
  139. package/lib/components/AIToolbar/utils/emotionClassifier.js +142 -0
  140. package/lib/components/AIToolbar/utils/emotionClassifier.js.map +1 -0
  141. package/lib/components/Button/Button.d.ts +1 -1
  142. package/lib/components/Button/Button.d.ts.map +1 -1
  143. package/lib/components/Button/Button.js +7 -6
  144. package/lib/components/Button/Button.js.map +1 -1
  145. package/lib/components/DatePicker/DatePicker.js +158 -140
  146. package/lib/components/DatePicker/DatePicker.js.map +1 -1
  147. package/lib/components/Dialog/Dialog.d.ts +20 -0
  148. package/lib/components/Dialog/Dialog.d.ts.map +1 -0
  149. package/lib/components/Dialog/Dialog.js +111 -0
  150. package/lib/components/Dialog/Dialog.js.map +1 -0
  151. package/lib/components/Dialog/index.d.ts +3 -0
  152. package/lib/components/Dialog/index.d.ts.map +1 -0
  153. package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts +1 -2
  154. package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts.map +1 -1
  155. package/lib/components/ErrorHandlers/ApplicationErrorHandler.js +2 -2
  156. package/lib/components/ErrorHandlers/ErrorBoundary.d.ts +1 -2
  157. package/lib/components/ErrorHandlers/ErrorBoundary.d.ts.map +1 -1
  158. package/lib/components/ErrorHandlers/ErrorBoundary.js +35 -28
  159. package/lib/components/ErrorHandlers/ErrorBoundary.js.map +1 -1
  160. package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts +1 -2
  161. package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts.map +1 -1
  162. package/lib/components/ErrorHandlers/LayoutErrorBoundary.js +20 -15
  163. package/lib/components/ErrorHandlers/LayoutErrorBoundary.js.map +1 -1
  164. package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts +4 -2
  165. package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts.map +1 -1
  166. package/lib/components/ErrorHandlers/RemixErrorBoundary.js +222 -100
  167. package/lib/components/ErrorHandlers/RemixErrorBoundary.js.map +1 -1
  168. package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts +4 -2
  169. package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts.map +1 -1
  170. package/lib/components/ErrorHandlers/SPAErrorBoundary.js +247 -82
  171. package/lib/components/ErrorHandlers/SPAErrorBoundary.js.map +1 -1
  172. package/lib/components/ErrorPages/403.d.ts +1 -2
  173. package/lib/components/ErrorPages/403.d.ts.map +1 -1
  174. package/lib/components/ErrorPages/403.js +26 -18
  175. package/lib/components/ErrorPages/403.js.map +1 -1
  176. package/lib/components/ErrorPages/404.d.ts +1 -2
  177. package/lib/components/ErrorPages/404.d.ts.map +1 -1
  178. package/lib/components/ErrorPages/404.js +26 -18
  179. package/lib/components/ErrorPages/404.js.map +1 -1
  180. package/lib/components/ErrorPages/500.d.ts +1 -2
  181. package/lib/components/ErrorPages/500.d.ts.map +1 -1
  182. package/lib/components/ErrorPages/500.js +26 -18
  183. package/lib/components/ErrorPages/500.js.map +1 -1
  184. package/lib/components/InputToolBar/InputToolBar.d.ts +8 -0
  185. package/lib/components/InputToolBar/InputToolBar.d.ts.map +1 -0
  186. package/lib/components/InputToolBar/InputToolBar.js +469 -0
  187. package/lib/components/InputToolBar/InputToolBar.js.map +1 -0
  188. package/lib/components/InputToolBar/defaults.d.ts +15 -0
  189. package/lib/components/InputToolBar/defaults.d.ts.map +1 -0
  190. package/lib/components/InputToolBar/defaults.js +59 -0
  191. package/lib/components/InputToolBar/defaults.js.map +1 -0
  192. package/lib/components/InputToolBar/index.d.ts +5 -0
  193. package/lib/components/InputToolBar/index.d.ts.map +1 -0
  194. package/lib/components/InputToolBar/types.d.ts +153 -0
  195. package/lib/components/InputToolBar/types.d.ts.map +1 -0
  196. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts +1 -2
  197. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts.map +1 -1
  198. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js +24 -19
  199. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js.map +1 -1
  200. package/lib/components/Markdown/MarkdownBreadcrumbs.d.ts +13 -0
  201. package/lib/components/Markdown/MarkdownBreadcrumbs.d.ts.map +1 -0
  202. package/lib/components/Markdown/MarkdownBreadcrumbs.js +34 -0
  203. package/lib/components/Markdown/MarkdownBreadcrumbs.js.map +1 -0
  204. package/lib/components/Markdown/MarkdownCopyButton.d.ts +10 -0
  205. package/lib/components/Markdown/MarkdownCopyButton.d.ts.map +1 -0
  206. package/lib/components/Markdown/MarkdownCopyButton.js +229 -0
  207. package/lib/components/Markdown/MarkdownCopyButton.js.map +1 -0
  208. package/lib/components/Markdown/MarkdownHeader.d.ts +13 -0
  209. package/lib/components/Markdown/MarkdownHeader.d.ts.map +1 -0
  210. package/lib/components/Markdown/MarkdownHeader.js +44 -0
  211. package/lib/components/Markdown/MarkdownHeader.js.map +1 -0
  212. package/lib/components/Markdown/MarkdownNavigation.d.ts +15 -0
  213. package/lib/components/Markdown/MarkdownNavigation.d.ts.map +1 -0
  214. package/lib/components/Markdown/MarkdownNavigation.js +38 -0
  215. package/lib/components/Markdown/MarkdownNavigation.js.map +1 -0
  216. package/lib/components/Markdown/MarkdownPage.d.ts +41 -0
  217. package/lib/components/Markdown/MarkdownPage.d.ts.map +1 -0
  218. package/lib/components/Markdown/MarkdownPage.js +238 -0
  219. package/lib/components/Markdown/MarkdownPage.js.map +1 -0
  220. package/lib/components/Markdown/MarkdownTableOfContents.d.ts +15 -0
  221. package/lib/components/Markdown/MarkdownTableOfContents.d.ts.map +1 -0
  222. package/lib/components/Markdown/MarkdownTableOfContents.js +57 -0
  223. package/lib/components/Markdown/MarkdownTableOfContents.js.map +1 -0
  224. package/lib/components/Markdown/index.d.ts +7 -0
  225. package/lib/components/Markdown/index.d.ts.map +1 -0
  226. package/lib/components/OTP/OTPInput.js +32 -30
  227. package/lib/components/OTP/OTPInput.js.map +1 -1
  228. package/lib/components/OTP/OTPVerification.js +75 -55
  229. package/lib/components/OTP/OTPVerification.js.map +1 -1
  230. package/lib/components/OTP/SingleInput.js +2 -2
  231. package/lib/components/OTP/SingleInput.js.map +1 -1
  232. package/lib/components/PageContainer/PageContainer.js +29 -22
  233. package/lib/components/PageContainer/PageContainer.js.map +1 -1
  234. package/lib/components/PageLoading/index.js +8 -7
  235. package/lib/components/PageLoading/index.js.map +1 -1
  236. package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts +1 -2
  237. package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts.map +1 -1
  238. package/lib/components/ReactTable/Table.d.ts +1 -2
  239. package/lib/components/ReactTable/Table.d.ts.map +1 -1
  240. package/lib/components/ReactTable/Table.js +92 -71
  241. package/lib/components/ReactTable/Table.js.map +1 -1
  242. package/lib/components/ReactTable/TableFilters.d.ts +2 -3
  243. package/lib/components/ReactTable/TableFilters.d.ts.map +1 -1
  244. package/lib/components/ReactTable/TableFilters.js +40 -34
  245. package/lib/components/ReactTable/TableFilters.js.map +1 -1
  246. package/lib/components/Search/SearchInput.d.ts +1 -2
  247. package/lib/components/Search/SearchInput.d.ts.map +1 -1
  248. package/lib/components/Search/SearchInput.js +14 -13
  249. package/lib/components/Search/SearchInput.js.map +1 -1
  250. package/lib/components/Select/Select.d.ts +6 -6
  251. package/lib/components/Select/Select.d.ts.map +1 -1
  252. package/lib/components/Select/Select.js +60 -45
  253. package/lib/components/Select/Select.js.map +1 -1
  254. package/lib/components/Spin/index.js +14 -11
  255. package/lib/components/Spin/index.js.map +1 -1
  256. package/lib/components/ThemeProvider/ThemeProvider.d.ts +1 -1
  257. package/lib/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  258. package/lib/components/ThemeProvider/ThemeProvider.js +29 -17
  259. package/lib/components/ThemeProvider/ThemeProvider.js.map +1 -1
  260. package/lib/components/ThemeProvider/ThemeToggle.js +28 -25
  261. package/lib/components/ThemeProvider/ThemeToggle.js.map +1 -1
  262. package/lib/components/ThemeProvider/types.d.ts +3 -3
  263. package/lib/components/ThemeProvider/types.d.ts.map +1 -1
  264. package/lib/components/YantraIcon.d.ts +6 -0
  265. package/lib/components/YantraIcon.d.ts.map +1 -0
  266. package/lib/components/YantraIcon.js +32 -0
  267. package/lib/components/YantraIcon.js.map +1 -0
  268. package/lib/components/index.d.ts +6 -0
  269. package/lib/components/index.d.ts.map +1 -1
  270. package/lib/hooks/activeCharacterPreference.d.ts +24 -0
  271. package/lib/hooks/activeCharacterPreference.d.ts.map +1 -0
  272. package/lib/hooks/activeCharacterPreference.js +64 -0
  273. package/lib/hooks/activeCharacterPreference.js.map +1 -0
  274. package/lib/hooks/index.d.ts +1 -0
  275. package/lib/hooks/index.d.ts.map +1 -1
  276. package/lib/hooks/useToast.d.ts +1 -1
  277. package/lib/hooks/useToast.d.ts.map +1 -1
  278. package/lib/hooks/useToast.js +46 -37
  279. package/lib/hooks/useToast.js.map +1 -1
  280. package/lib/index.js +1 -1
  281. package/lib/shardui/accordion.js +20 -16
  282. package/lib/shardui/accordion.js.map +1 -1
  283. package/lib/shardui/alert-dialog.d.ts +2 -2
  284. package/lib/shardui/alert-dialog.js +15 -13
  285. package/lib/shardui/alert-dialog.js.map +1 -1
  286. package/lib/shardui/alert.js +4 -4
  287. package/lib/shardui/alert.js.map +1 -1
  288. package/lib/shardui/avatar.js +4 -4
  289. package/lib/shardui/avatar.js.map +1 -1
  290. package/lib/shardui/badge.d.ts +1 -1
  291. package/lib/shardui/badge.d.ts.map +1 -1
  292. package/lib/shardui/badge.js +2 -2
  293. package/lib/shardui/badge.js.map +1 -1
  294. package/lib/shardui/breadcrumb.d.ts +2 -2
  295. package/lib/shardui/breadcrumb.js +19 -16
  296. package/lib/shardui/breadcrumb.js.map +1 -1
  297. package/lib/shardui/button.js +2 -2
  298. package/lib/shardui/button.js.map +1 -1
  299. package/lib/shardui/calendar.d.ts +1 -1
  300. package/lib/shardui/calendar.d.ts.map +1 -1
  301. package/lib/shardui/calendar.js +4 -4
  302. package/lib/shardui/card.js +7 -7
  303. package/lib/shardui/card.js.map +1 -1
  304. package/lib/shardui/carousel.js +40 -33
  305. package/lib/shardui/carousel.js.map +1 -1
  306. package/lib/shardui/chart.d.ts +1 -1
  307. package/lib/shardui/chart.d.ts.map +1 -1
  308. package/lib/shardui/chart.js +81 -66
  309. package/lib/shardui/chart.js.map +1 -1
  310. package/lib/shardui/checkbox.js +10 -8
  311. package/lib/shardui/checkbox.js.map +1 -1
  312. package/lib/shardui/command.d.ts +2 -2
  313. package/lib/shardui/command.d.ts.map +1 -1
  314. package/lib/shardui/command.js +28 -24
  315. package/lib/shardui/command.js.map +1 -1
  316. package/lib/shardui/context-menu.d.ts +1 -1
  317. package/lib/shardui/context-menu.js +41 -30
  318. package/lib/shardui/context-menu.js.map +1 -1
  319. package/lib/shardui/dialog.d.ts +2 -2
  320. package/lib/shardui/dialog.js +22 -17
  321. package/lib/shardui/dialog.js.map +1 -1
  322. package/lib/shardui/drawer.d.ts +3 -3
  323. package/lib/shardui/drawer.js +17 -14
  324. package/lib/shardui/drawer.js.map +1 -1
  325. package/lib/shardui/dropdown-menu.d.ts +1 -1
  326. package/lib/shardui/dropdown-menu.js +42 -31
  327. package/lib/shardui/dropdown-menu.js.map +1 -1
  328. package/lib/shardui/form.d.ts +1 -1
  329. package/lib/shardui/form.d.ts.map +1 -1
  330. package/lib/shardui/form.js +22 -19
  331. package/lib/shardui/form.js.map +1 -1
  332. package/lib/shardui/hover-card.js +2 -2
  333. package/lib/shardui/hover-card.js.map +1 -1
  334. package/lib/shardui/input-otp.js +16 -13
  335. package/lib/shardui/input-otp.js.map +1 -1
  336. package/lib/shardui/input.js +2 -2
  337. package/lib/shardui/input.js.map +1 -1
  338. package/lib/shardui/label.js +2 -2
  339. package/lib/shardui/label.js.map +1 -1
  340. package/lib/shardui/menubar.d.ts +1 -1
  341. package/lib/shardui/menubar.js +46 -35
  342. package/lib/shardui/menubar.js.map +1 -1
  343. package/lib/shardui/navigation-menu.js +28 -24
  344. package/lib/shardui/navigation-menu.js.map +1 -1
  345. package/lib/shardui/pagination.d.ts +5 -5
  346. package/lib/shardui/pagination.js +30 -22
  347. package/lib/shardui/pagination.js.map +1 -1
  348. package/lib/shardui/popover.js +10 -8
  349. package/lib/shardui/popover.js.map +1 -1
  350. package/lib/shardui/progress.js +10 -9
  351. package/lib/shardui/progress.js.map +1 -1
  352. package/lib/shardui/radio-group.js +11 -9
  353. package/lib/shardui/radio-group.js.map +1 -1
  354. package/lib/shardui/resizable.d.ts +3 -3
  355. package/lib/shardui/resizable.d.ts.map +1 -1
  356. package/lib/shardui/resizable.js +11 -9
  357. package/lib/shardui/resizable.js.map +1 -1
  358. package/lib/shardui/scroll-area.js +14 -11
  359. package/lib/shardui/scroll-area.js.map +1 -1
  360. package/lib/shardui/select.js +49 -35
  361. package/lib/shardui/select.js.map +1 -1
  362. package/lib/shardui/separator.js +2 -2
  363. package/lib/shardui/separator.js.map +1 -1
  364. package/lib/shardui/sheet.d.ts +2 -2
  365. package/lib/shardui/sheet.js +24 -19
  366. package/lib/shardui/sheet.js.map +1 -1
  367. package/lib/shardui/sidebar.js +104 -88
  368. package/lib/shardui/sidebar.js.map +1 -1
  369. package/lib/shardui/skeleton.d.ts +1 -1
  370. package/lib/shardui/skeleton.d.ts.map +1 -1
  371. package/lib/shardui/skeleton.js +2 -2
  372. package/lib/shardui/skeleton.js.map +1 -1
  373. package/lib/shardui/slider.js +12 -10
  374. package/lib/shardui/slider.js.map +1 -1
  375. package/lib/shardui/sonner.d.ts +1 -1
  376. package/lib/shardui/sonner.d.ts.map +1 -1
  377. package/lib/shardui/sonner.js +2 -2
  378. package/lib/shardui/sonner.js.map +1 -1
  379. package/lib/shardui/switch.js +7 -6
  380. package/lib/shardui/switch.js.map +1 -1
  381. package/lib/shardui/table.js +16 -15
  382. package/lib/shardui/table.js.map +1 -1
  383. package/lib/shardui/tabs.js +4 -4
  384. package/lib/shardui/tabs.js.map +1 -1
  385. package/lib/shardui/textarea.js +2 -2
  386. package/lib/shardui/textarea.js.map +1 -1
  387. package/lib/shardui/toast.js +12 -11
  388. package/lib/shardui/toast.js.map +1 -1
  389. package/lib/shardui/toaster.d.ts +1 -2
  390. package/lib/shardui/toaster.d.ts.map +1 -1
  391. package/lib/shardui/toaster.js +21 -14
  392. package/lib/shardui/toaster.js.map +1 -1
  393. package/lib/shardui/toggle-group.js +15 -12
  394. package/lib/shardui/toggle-group.js.map +1 -1
  395. package/lib/shardui/toggle.js +2 -2
  396. package/lib/shardui/toggle.js.map +1 -1
  397. package/lib/shardui/tooltip.js +2 -2
  398. package/lib/shardui/tooltip.js.map +1 -1
  399. package/package.json +9 -3
@@ -0,0 +1,298 @@
1
+ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useState,useEffect,useCallback}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 {LoaderIcon,CameraIcon,PlusIcon,XIcon,AlertCircleIcon,AudioLinesIcon,HeadphonesIcon}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';import {ModeSwitcher}from'./ModeSwitcher.js';import {RecordingPanel}from'./RecordingPanel.js';import {ResultsSection}from'./ResultsSection.js';import {SettingsPanel}from'./SettingsPanel.js';import {PermissionFlow}from'./PermissionFlow.js';import {QuickActions}from'./QuickActions.js';import {Warning}from'./Warning.js';const SystemAudio = props => {
2
+ const {
3
+ hasActiveLicense = true,
4
+ supportsImages = true,
5
+ checkSystemAudioAccess,
6
+ requestSystemAudioAccess,
7
+ captureSystemScreenshot,
8
+ capturing,
9
+ isProcessing,
10
+ isAIProcessing,
11
+ lastTranscription,
12
+ lastAIResponse,
13
+ error,
14
+ setupRequired,
15
+ startCapture,
16
+ stopCapture,
17
+ isPopoverOpen,
18
+ setIsPopoverOpen,
19
+ useSystemPrompt,
20
+ setUseSystemPrompt,
21
+ contextContent,
22
+ setContextContent,
23
+ startNewConversation,
24
+ conversation,
25
+ resizeWindow,
26
+ quickActions,
27
+ addQuickAction,
28
+ removeQuickAction,
29
+ isManagingQuickActions,
30
+ setIsManagingQuickActions,
31
+ showQuickActions,
32
+ setShowQuickActions,
33
+ handleQuickActionClick,
34
+ vadConfig,
35
+ updateVadConfiguration,
36
+ isRecordingInContinuousMode,
37
+ recordingProgress,
38
+ manualStopAndSend,
39
+ startContinuousRecording,
40
+ ignoreContinuousRecording,
41
+ scrollAreaRef,
42
+ settingsDropdownContent,
43
+ voicePopoverFooter
44
+ } = props;
45
+ // View mode toggle
46
+ const [conversationMode, setConversationMode] = useState(false);
47
+ // Screenshot state
48
+ const [screenshotImage, setScreenshotImage] = useState(null);
49
+ const [isCapturingScreenshot, setIsCapturingScreenshot] = useState(false);
50
+ const isVadMode = vadConfig.enabled;
51
+ const hasResponse = lastAIResponse || isAIProcessing;
52
+ // Keyboard shortcut for Cmd+K to toggle view mode
53
+ useEffect(() => {
54
+ const handleKeyDown = e => {
55
+ if (!isPopoverOpen) return;
56
+ // Cmd+K or Ctrl+K to toggle view mode
57
+ if ((e.metaKey || e.ctrlKey) && e.key === 'k') {
58
+ e.preventDefault();
59
+ setConversationMode(prev => !prev);
60
+ }
61
+ };
62
+ window.addEventListener('keydown', handleKeyDown);
63
+ return () => window.removeEventListener('keydown', handleKeyDown);
64
+ }, [isPopoverOpen]);
65
+ // Reset screenshot when processing starts (message is being sent)
66
+ useEffect(() => {
67
+ if (isProcessing && screenshotImage) {
68
+ setScreenshotImage(null);
69
+ }
70
+ }, [isProcessing, screenshotImage]);
71
+ const handleToggleCapture = async () => {
72
+ if (capturing) {
73
+ await stopCapture();
74
+ } else {
75
+ await startCapture();
76
+ }
77
+ };
78
+ const handleModeChange = vadEnabled => {
79
+ updateVadConfiguration({
80
+ ...vadConfig,
81
+ enabled: vadEnabled
82
+ });
83
+ };
84
+ // Capture screenshot functionality
85
+ const handleCaptureScreenshot = useCallback(async () => {
86
+ if (!captureSystemScreenshot || isCapturingScreenshot) return;
87
+ setIsCapturingScreenshot(true);
88
+ try {
89
+ const base64 = await captureSystemScreenshot();
90
+ if (base64) {
91
+ setScreenshotImage(base64);
92
+ }
93
+ } catch (err) {
94
+ console.error('Failed to capture screenshot:', err);
95
+ } finally {
96
+ setIsCapturingScreenshot(false);
97
+ }
98
+ }, [captureSystemScreenshot, isCapturingScreenshot]);
99
+ const handleRemoveScreenshot = useCallback(() => {
100
+ setScreenshotImage(null);
101
+ }, []);
102
+ const getButtonIcon = () => {
103
+ if (setupRequired) return jsx(AlertCircleIcon, {
104
+ className: "text-orange-500"
105
+ });
106
+ if (error && !setupRequired) return jsx(AlertCircleIcon, {
107
+ className: "text-red-500"
108
+ });
109
+ if (isProcessing) return jsx(LoaderIcon, {
110
+ className: "animate-spin"
111
+ });
112
+ if (capturing) return jsx(AudioLinesIcon, {
113
+ className: "text-green-500 animate-pulse"
114
+ });
115
+ return jsx(HeadphonesIcon, {});
116
+ };
117
+ const getButtonTitle = () => {
118
+ if (setupRequired) return 'Setup required - Click for instructions';
119
+ if (error && !setupRequired) return `Error: ${error}`;
120
+ if (isProcessing) return 'Transcribing audio...';
121
+ if (capturing) return 'Stop system audio capture';
122
+ return 'Start system audio capture';
123
+ };
124
+ return jsxs(Popover, {
125
+ open: isPopoverOpen,
126
+ onOpenChange: open => {
127
+ if (capturing && !open) {
128
+ return;
129
+ }
130
+ setIsPopoverOpen(open);
131
+ },
132
+ children: [jsx(PopoverTrigger, {
133
+ asChild: true,
134
+ children: jsx(Button, {
135
+ size: "icon",
136
+ title: getButtonTitle(),
137
+ onClick: handleToggleCapture,
138
+ className: cn(capturing && 'bg-green-50 hover:bg-green-100', error && 'bg-red-100 hover:bg-red-200'),
139
+ children: getButtonIcon()
140
+ })
141
+ }), (capturing || setupRequired || error) && jsx(PopoverContent, {
142
+ align: "end",
143
+ side: "bottom",
144
+ className: "z-[200] select-none w-screen max-h-[min(92vh,calc(100vh-1rem))] p-0 border shadow-lg overflow-hidden border-input/50",
145
+ sideOffset: 8,
146
+ children: jsxs("div", {
147
+ className: "flex flex-col h-[calc(100vh-4rem)] overflow-hidden",
148
+ children: [jsx("div", {
149
+ className: "flex-shrink-0 p-3 border-b border-border/50",
150
+ children: jsxs("div", {
151
+ className: "flex items-center justify-between gap-2",
152
+ children: [!setupRequired && jsx(ModeSwitcher, {
153
+ isVadMode: isVadMode,
154
+ onModeChange: handleModeChange,
155
+ disabled: isRecordingInContinuousMode || isProcessing || isAIProcessing
156
+ }), setupRequired && jsx("h2", {
157
+ className: "font-semibold text-sm",
158
+ children: "Setup Required"
159
+ }), jsxs("div", {
160
+ className: "flex items-center gap-1.5 flex-shrink-0",
161
+ children: [hasActiveLicense && !setupRequired && supportsImages && captureSystemScreenshot && jsxs(Button, {
162
+ size: "sm",
163
+ variant: screenshotImage ? 'default' : 'outline',
164
+ onClick: handleCaptureScreenshot,
165
+ disabled: isCapturingScreenshot,
166
+ className: cn('h-6 text-[10px] gap-1 px-2', screenshotImage && 'bg-primary text-primary-foreground'),
167
+ title: "Capture screenshot to include with transcription",
168
+ children: [isCapturingScreenshot ? jsx(LoaderIcon, {
169
+ className: "w-3 h-3 animate-spin"
170
+ }) : jsx(CameraIcon, {
171
+ className: "w-3 h-3"
172
+ }), "Screenshot"]
173
+ }), !setupRequired && jsxs(Button, {
174
+ size: "sm",
175
+ variant: "ghost",
176
+ onClick: startNewConversation,
177
+ className: "h-6 text-[10px] gap-1 px-2",
178
+ title: "Start a new conversation",
179
+ children: [jsx(PlusIcon, {
180
+ className: "w-3 h-3"
181
+ }), "New"]
182
+ }), !capturing && jsx(Button, {
183
+ size: "icon",
184
+ variant: "ghost",
185
+ className: "h-6 w-6",
186
+ title: "Close",
187
+ onClick: () => {
188
+ setIsPopoverOpen(false);
189
+ resizeWindow(false);
190
+ },
191
+ children: jsx(XIcon, {
192
+ className: "h-3.5 w-3.5"
193
+ })
194
+ })]
195
+ })]
196
+ })
197
+ }), jsx(ScrollArea, {
198
+ className: "flex-1 min-h-0",
199
+ ref: scrollAreaRef,
200
+ children: jsxs("div", {
201
+ className: "p-2 space-y-2",
202
+ children: [screenshotImage && jsxs("div", {
203
+ className: "flex items-center gap-2 p-2 rounded-lg bg-primary/5 border border-primary/20",
204
+ children: [jsx("img", {
205
+ src: `data:image/png;base64,${screenshotImage}`,
206
+ alt: "Screenshot",
207
+ className: "h-12 w-20 object-cover rounded"
208
+ }), jsxs("div", {
209
+ className: "flex-1 min-w-0",
210
+ children: [jsx("p", {
211
+ className: "text-[10px] font-medium",
212
+ children: "Screenshot attached"
213
+ }), jsx("p", {
214
+ className: "text-[9px] text-muted-foreground",
215
+ children: "Will be sent with next transcription"
216
+ })]
217
+ }), jsx(Button, {
218
+ size: "icon",
219
+ variant: "ghost",
220
+ className: "h-5 w-5",
221
+ onClick: handleRemoveScreenshot,
222
+ children: jsx(XIcon, {
223
+ className: "h-3 w-3"
224
+ })
225
+ })]
226
+ }), error && !setupRequired && jsxs("div", {
227
+ className: "flex items-start gap-2 p-2.5 rounded-lg bg-red-50 border border-red-200",
228
+ children: [jsx(AlertCircleIcon, {
229
+ className: "w-3.5 h-3.5 text-red-500 flex-shrink-0 mt-0.5"
230
+ }), jsxs("div", {
231
+ children: [jsx("p", {
232
+ className: "text-[10px] font-medium text-red-800",
233
+ children: "Error"
234
+ }), jsx("p", {
235
+ className: "text-[10px] text-red-700",
236
+ children: error
237
+ })]
238
+ })]
239
+ }), setupRequired ? jsx(PermissionFlow, {
240
+ checkAccess: checkSystemAudioAccess,
241
+ requestAccess: requestSystemAudioAccess,
242
+ onPermissionGranted: () => {
243
+ void startCapture();
244
+ },
245
+ onPermissionDenied: () => {
246
+ // Keep showing setup instructions
247
+ }
248
+ }) : jsxs(Fragment, {
249
+ children: [jsx(RecordingPanel, {
250
+ isVadMode: isVadMode,
251
+ isRecording: isRecordingInContinuousMode,
252
+ isProcessing: isProcessing,
253
+ isAIProcessing: isAIProcessing,
254
+ recordingProgress: recordingProgress,
255
+ maxDuration: vadConfig.max_recording_duration_secs,
256
+ onStartRecording: startContinuousRecording,
257
+ onStopAndSend: manualStopAndSend,
258
+ onIgnore: ignoreContinuousRecording
259
+ }), jsx(ResultsSection, {
260
+ lastTranscription: lastTranscription,
261
+ lastAIResponse: lastAIResponse,
262
+ isAIProcessing: isAIProcessing,
263
+ conversation: conversation,
264
+ conversationMode: conversationMode,
265
+ setConversationMode: setConversationMode
266
+ }), jsx(SettingsPanel, {
267
+ vadConfig: vadConfig,
268
+ onUpdateVadConfig: updateVadConfiguration,
269
+ useSystemPrompt: useSystemPrompt,
270
+ setUseSystemPrompt: setUseSystemPrompt,
271
+ contextContent: contextContent,
272
+ setContextContent: setContextContent,
273
+ settingsDropdownContent: settingsDropdownContent
274
+ }), jsx(Warning, {
275
+ isVadMode: isVadMode
276
+ })]
277
+ })]
278
+ })
279
+ }), voicePopoverFooter ? jsx("div", {
280
+ className: "flex-shrink-0 border-t border-border/55 bg-muted/25 px-3 py-2.5 backdrop-blur supports-[backdrop-filter]:bg-muted/20",
281
+ children: voicePopoverFooter
282
+ }) : null, !setupRequired && hasResponse && jsx("div", {
283
+ className: "flex-shrink-0 border-t border-border/50 p-2",
284
+ children: jsx(QuickActions, {
285
+ actions: quickActions,
286
+ onActionClick: handleQuickActionClick,
287
+ onAddAction: addQuickAction,
288
+ onRemoveAction: removeQuickAction,
289
+ isManaging: isManagingQuickActions,
290
+ setIsManaging: setIsManagingQuickActions,
291
+ show: showQuickActions,
292
+ setShow: setShowQuickActions
293
+ })
294
+ })]
295
+ })
296
+ })]
297
+ });
298
+ };export{SystemAudio};//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,12 @@
1
+ export interface PromptTemplate {
2
+ id: string;
3
+ name: string;
4
+ prompt: string;
5
+ }
6
+ export declare const PROMPT_TEMPLATES: PromptTemplate[];
7
+ export declare const getPromptTemplateById: (id: string) => PromptTemplate | undefined;
8
+ export declare const getPromptTemplateNames: () => {
9
+ id: string;
10
+ name: string;
11
+ }[];
12
+ //# sourceMappingURL=promptTemplates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptTemplates.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/speech/promptTemplates.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAuH5C,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,IAAI,MAAM,KAAG,cAAc,GAAG,SAEnE,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAKrE,CAAC"}
@@ -0,0 +1,114 @@
1
+ const PROMPT_TEMPLATES = [{
2
+ id: 'real_time_translator',
3
+ name: 'Real-time Translator',
4
+ prompt: `You are a real-time translation assistant. Listen to system audio and provide instant, accurate translations. Be concise and quick.
5
+
6
+ [ADD YOUR TRANSLATION SETTINGS HERE]
7
+ - From language:
8
+ - To language:
9
+ - Context/Domain: (business, casual, technical, etc.)
10
+
11
+ Provide immediate translations of what you hear. Keep responses short and clear for quick reading.`
12
+ }, {
13
+ id: 'meeting_assistant',
14
+ name: 'Meeting Assistant',
15
+ prompt: `You are a transparent meeting assistant. Listen to conversations and provide real-time insights, summaries, and action items.
16
+
17
+ [ADD YOUR MEETING CONTEXT HERE]
18
+ - Meeting type:
19
+ - Your role:
20
+ - Key topics to focus on:
21
+ - What you need help with:
22
+
23
+ Provide quick insights, key points, and actionable information as the meeting progresses.`
24
+ }, {
25
+ id: 'interview_assistant',
26
+ name: 'Interview Assistant',
27
+ prompt: `You are a real-time interview assistant. Help answer questions by providing quick, relevant talking points based on the candidate's background.
28
+
29
+ [ADD YOUR RESUME HERE]
30
+ - Your experience:
31
+ - Key skills:
32
+ - Notable achievements:
33
+ - Education:
34
+ - Projects:
35
+
36
+ [ADD JOB DESCRIPTION HERE]
37
+ - Position:
38
+ - Required skills:
39
+ - Company:
40
+ - Key responsibilities:
41
+
42
+ Listen to interview questions and provide concise, relevant talking points to help answer effectively.`
43
+ }, {
44
+ id: 'technical_interview',
45
+ name: 'Technical Interview Helper',
46
+ prompt: `You are a technical interview assistant. Provide quick hints, approaches, and explanations for technical questions.
47
+
48
+ [ADD YOUR TECHNICAL BACKGROUND HERE]
49
+ - Programming languages:
50
+ - Technologies/frameworks:
51
+ - Experience level:
52
+ - Areas of expertise:
53
+
54
+ [ADD JOB REQUIREMENTS HERE]
55
+ - Technical stack:
56
+ - Position level:
57
+ - Key technical skills needed:
58
+
59
+ Listen to technical questions and provide brief, helpful guidance and approaches.`
60
+ }, {
61
+ id: 'presentation_coach',
62
+ name: 'Presentation Coach',
63
+ prompt: `You are a real-time presentation assistant. Help improve delivery, suggest talking points, and provide confidence boosters.
64
+
65
+ [ADD YOUR PRESENTATION CONTEXT HERE]
66
+ - Topic/subject:
67
+ - Audience:
68
+ - Key messages:
69
+ - Your expertise level:
70
+ - Presentation goals:
71
+
72
+ Provide quick tips, talking points, and encouragement as you present.`
73
+ }, {
74
+ id: 'learning_assistant',
75
+ name: 'Learning Assistant',
76
+ prompt: `You are a real-time learning companion. Help understand concepts, provide explanations, and suggest questions during lectures or tutorials.
77
+
78
+ [ADD YOUR LEARNING CONTEXT HERE]
79
+ - Subject/topic:
80
+ - Your current level:
81
+ - Learning goals:
82
+ - Areas of difficulty:
83
+ - Course context:
84
+
85
+ Provide quick explanations, clarifications, and helpful insights as you learn.`
86
+ }, {
87
+ id: 'customer_call_helper',
88
+ name: 'Customer Call Helper',
89
+ prompt: `You are a customer service assistant. Help handle customer calls by providing quick responses, solutions, and talking points.
90
+
91
+ [ADD YOUR PRODUCT/SERVICE INFO HERE]
92
+ - Company/product:
93
+ - Common issues:
94
+ - Your role:
95
+ - Available solutions:
96
+ - Escalation procedures:
97
+
98
+ Listen to customer concerns and provide quick, helpful response suggestions.`
99
+ }, {
100
+ id: 'general_assistant',
101
+ name: 'General Assistant',
102
+ prompt: `You are a transparent AI assistant. Provide real-time help, insights, and information based on what you hear through system audio.
103
+
104
+ [ADD YOUR PREFERENCES HERE]
105
+ - Primary use case:
106
+ - Areas of interest:
107
+ - Response style: (brief, detailed, technical, etc.)
108
+ - Language preference:
109
+
110
+ Listen and provide relevant, helpful information and insights in real-time.`
111
+ }];
112
+ const getPromptTemplateById = id => {
113
+ return PROMPT_TEMPLATES.find(template => template.id === id);
114
+ };export{PROMPT_TEMPLATES,getPromptTemplateById};//# sourceMappingURL=promptTemplates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptTemplates.js","sources":["../../../../../src/components/AIToolbar/components/speech/promptTemplates.ts"],"sourcesContent":[null],"names":[],"mappings":"sBAAiB,GAAc,CAAA;IAC3B,EAAE,sBAAS;MACX,EAAI,sBAAS;QACb,EAAM,CAAA;;AAGV;AAyHA;AAIA;;;AAAsE,kGAKpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,190 @@
1
+ import type { ChangeEvent, ClipboardEvent, Dispatch, KeyboardEvent, ReactNode, RefObject, SetStateAction } from 'react';
2
+ export type ToolbarSelectedProvider = {
3
+ provider: string;
4
+ variables: Record<string, string>;
5
+ };
6
+ export type ToolbarAudioDevices = {
7
+ input: {
8
+ id: string;
9
+ name: string;
10
+ };
11
+ output: {
12
+ id: string;
13
+ name: string;
14
+ };
15
+ };
16
+ /**
17
+ * STT/AI provider row — kept structurally aligned with Pluely `TYPE_PROVIDER`
18
+ * so host hooks can satisfy {@link UseCompletionReturn} without casts.
19
+ */
20
+ export type ToolbarAiProvider = {
21
+ id?: string;
22
+ streaming?: boolean;
23
+ responseContentPath?: string;
24
+ isCustom?: boolean;
25
+ curl: string;
26
+ };
27
+ /** File row shown in the attach popover (host may extend fields). */
28
+ export type ToolbarAttachedFile = {
29
+ id: string;
30
+ name: string;
31
+ type?: string;
32
+ base64?: string;
33
+ size?: number;
34
+ };
35
+ export interface ChatMessage {
36
+ id: string;
37
+ role: 'user' | 'assistant' | 'system';
38
+ content: string;
39
+ timestamp: number;
40
+ }
41
+ export type ToolbarScreenshotConfiguration = {
42
+ mode: 'manual' | 'auto' | 'timer';
43
+ autoPrompt: string;
44
+ enabled: boolean;
45
+ /** Timer interval in seconds when mode === 'timer'. Min 10, default 600 (10 min). */
46
+ intervalSec?: number;
47
+ /** Apply ±20% jitter to the timer interval to vary capture timing. */
48
+ jitter?: boolean;
49
+ };
50
+ export interface ChatConversation {
51
+ id: string;
52
+ title: string;
53
+ messages: ChatMessage[];
54
+ createdAt: number;
55
+ updatedAt: number;
56
+ }
57
+ /** Optional flags passed to {@link UseCompletionReturn.submit} (e.g. regenerate). */
58
+ export type CompletionSubmitOptions = {
59
+ /** Trim history from this assistant message onward and resubmit the preceding user turn. */
60
+ regenerateAssistantMessageId?: string;
61
+ };
62
+ export interface VadConfig {
63
+ enabled: boolean;
64
+ hop_size: number;
65
+ sensitivity_rms: number;
66
+ peak_threshold: number;
67
+ silence_chunks: number;
68
+ min_speech_chunks: number;
69
+ pre_speech_chunks: number;
70
+ noise_gate_threshold: number;
71
+ max_recording_duration_secs: number;
72
+ }
73
+ /**
74
+ * Shape returned by the host’s completion hook — everything the toolbar input stack needs.
75
+ */
76
+ export interface UseCompletionReturn {
77
+ input: string;
78
+ setInput: (value: string) => void;
79
+ response: string;
80
+ setResponse: (value: string) => void;
81
+ isLoading: boolean;
82
+ error: string | null;
83
+ attachedFiles: ToolbarAttachedFile[];
84
+ addFile: (file: File) => Promise<void>;
85
+ removeFile: (fileId: string) => void;
86
+ clearFiles: () => void;
87
+ submit: (speechText?: string, opts?: CompletionSubmitOptions) => Promise<void>;
88
+ /** When implemented, per-message actions can regenerate that assistant reply. */
89
+ regenerateAssistantMessage?: (assistantMessageId: string) => Promise<void>;
90
+ cancel: () => void;
91
+ reset: () => void;
92
+ setState: Dispatch<SetStateAction<unknown>>;
93
+ enableVAD: boolean;
94
+ setEnableVAD: Dispatch<SetStateAction<boolean>>;
95
+ micOpen: boolean;
96
+ setMicOpen: Dispatch<SetStateAction<boolean>>;
97
+ currentConversationId: string | null;
98
+ conversationHistory: ChatMessage[];
99
+ loadConversation: (conversation: ChatConversation) => void;
100
+ startNewConversation: () => void;
101
+ messageHistoryOpen: boolean;
102
+ setMessageHistoryOpen: Dispatch<SetStateAction<boolean>>;
103
+ keepEngaged: boolean;
104
+ setKeepEngaged: Dispatch<SetStateAction<boolean>>;
105
+ screenshotConfiguration: ToolbarScreenshotConfiguration;
106
+ setScreenshotConfiguration: Dispatch<SetStateAction<ToolbarScreenshotConfiguration>>;
107
+ handleScreenshotSubmit: (base64: string, prompt?: string) => Promise<void>;
108
+ handleFileSelect: (e: ChangeEvent<HTMLInputElement>) => void;
109
+ handleKeyPress: (e: KeyboardEvent) => void;
110
+ handlePaste: (e: ClipboardEvent) => Promise<void>;
111
+ isPopoverOpen: boolean;
112
+ scrollAreaRef: RefObject<HTMLDivElement | null>;
113
+ resizeWindow: (expanded: boolean) => Promise<void>;
114
+ isFilesPopoverOpen: boolean;
115
+ setIsFilesPopoverOpen: Dispatch<SetStateAction<boolean>>;
116
+ onRemoveAllFiles: () => void;
117
+ inputRef: RefObject<HTMLInputElement | null>;
118
+ captureScreenshot: () => Promise<void>;
119
+ isScreenshotLoading: boolean;
120
+ selectedSttProvider: ToolbarSelectedProvider;
121
+ allSttProviders: ToolbarAiProvider[];
122
+ managedAiApiEnabled: boolean;
123
+ selectedAudioDevices: ToolbarAudioDevices;
124
+ /** Host wires STT (e.g. fetchSTT + provider selection). */
125
+ transcribeAudio: (audio: Blob) => Promise<string>;
126
+ }
127
+ export type AIToolbarHostPlatform = 'macos' | 'windows' | 'linux';
128
+ /**
129
+ * System-audio popover: host implements permission + screenshot bridges; state comes from the host hook.
130
+ */
131
+ export interface SystemAudioProps {
132
+ hasActiveLicense?: boolean;
133
+ supportsImages?: boolean;
134
+ checkSystemAudioAccess: () => Promise<boolean>;
135
+ requestSystemAudioAccess: () => Promise<void>;
136
+ /** Raw base64 PNG (no data: prefix). If omitted, screenshot control is hidden. */
137
+ captureSystemScreenshot?: () => Promise<string>;
138
+ capturing: boolean;
139
+ isProcessing: boolean;
140
+ isAIProcessing: boolean;
141
+ lastTranscription: string;
142
+ lastAIResponse: string;
143
+ error: string;
144
+ setupRequired: boolean;
145
+ startCapture: () => Promise<void>;
146
+ stopCapture: () => Promise<void>;
147
+ isPopoverOpen: boolean;
148
+ setIsPopoverOpen: Dispatch<SetStateAction<boolean>>;
149
+ useSystemPrompt: boolean;
150
+ setUseSystemPrompt: (value: boolean) => void;
151
+ contextContent: string;
152
+ setContextContent: (content: string) => void;
153
+ startNewConversation: () => void;
154
+ conversation: ChatConversation;
155
+ resizeWindow: (expanded: boolean) => void | Promise<void>;
156
+ quickActions: string[];
157
+ addQuickAction: (action: string) => void;
158
+ removeQuickAction: (action: string) => void;
159
+ isManagingQuickActions: boolean;
160
+ setIsManagingQuickActions: Dispatch<SetStateAction<boolean>>;
161
+ showQuickActions: boolean;
162
+ setShowQuickActions: Dispatch<SetStateAction<boolean>>;
163
+ handleQuickActionClick: (action: string) => Promise<void>;
164
+ vadConfig: VadConfig;
165
+ updateVadConfiguration: (config: VadConfig) => void;
166
+ isRecordingInContinuousMode: boolean;
167
+ recordingProgress: number;
168
+ manualStopAndSend: () => Promise<void>;
169
+ startContinuousRecording: () => Promise<void>;
170
+ ignoreContinuousRecording: () => Promise<void>;
171
+ scrollAreaRef: RefObject<HTMLDivElement | null>;
172
+ /** Optional host-provided content rendered under Settings dropdown. */
173
+ settingsDropdownContent?: ReactNode;
174
+ /** Optional footer (e.g. version, report bug) pinned under the scroll area, below Help & shortcuts. */
175
+ voicePopoverFooter?: ReactNode;
176
+ }
177
+ export type AIToolbarAppProps = {
178
+ isHidden?: boolean;
179
+ systemAudio: SystemAudioProps;
180
+ completion: UseCompletionReturn;
181
+ hasActiveLicense?: boolean;
182
+ supportsImages?: boolean;
183
+ cursorType?: string;
184
+ platform?: AIToolbarHostPlatform;
185
+ onOpenDashboard?: () => void | Promise<void>;
186
+ trailing?: ReactNode;
187
+ className?: string;
188
+ toolbarClassName?: string;
189
+ };
190
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/AIToolbar/components/types.ts"],"names":[],"mappings":"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"}