@sveda-ai/vue 0.1.0

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 (490) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/appearance.d.ts +52 -0
  4. package/dist/appearance.d.ts.map +1 -0
  5. package/dist/components/chat/AnimatedStreamBlock.vue.d.ts +16 -0
  6. package/dist/components/chat/AnimatedStreamBlock.vue.d.ts.map +1 -0
  7. package/dist/components/chat/ChatHistoryDropdown.vue.d.ts +17 -0
  8. package/dist/components/chat/ChatHistoryDropdown.vue.d.ts.map +1 -0
  9. package/dist/components/chat/ChatInput.vue.d.ts +30 -0
  10. package/dist/components/chat/ChatInput.vue.d.ts.map +1 -0
  11. package/dist/components/chat/ChatMessageActivityBlock.vue.d.ts +13 -0
  12. package/dist/components/chat/ChatMessageActivityBlock.vue.d.ts.map +1 -0
  13. package/dist/components/chat/ChatMessageItem.vue.d.ts +15 -0
  14. package/dist/components/chat/ChatMessageItem.vue.d.ts.map +1 -0
  15. package/dist/components/chat/ChatMessageList.vue.d.ts +31 -0
  16. package/dist/components/chat/ChatMessageList.vue.d.ts.map +1 -0
  17. package/dist/components/chat/ChatPendingIndicator.vue.d.ts +12 -0
  18. package/dist/components/chat/ChatPendingIndicator.vue.d.ts.map +1 -0
  19. package/dist/components/chat/ReasoningStream.vue.d.ts +11 -0
  20. package/dist/components/chat/ReasoningStream.vue.d.ts.map +1 -0
  21. package/dist/components/chat/index.d.ts +9 -0
  22. package/dist/components/chat/index.d.ts.map +1 -0
  23. package/dist/components/shell/SvedaAgentCompletedNotice.vue.d.ts +9 -0
  24. package/dist/components/shell/SvedaAgentCompletedNotice.vue.d.ts.map +1 -0
  25. package/dist/components/shell/SvedaAgentTasksPanel.vue.d.ts +12 -0
  26. package/dist/components/shell/SvedaAgentTasksPanel.vue.d.ts.map +1 -0
  27. package/dist/components/shell/SvedaChat.vue.d.ts +22 -0
  28. package/dist/components/shell/SvedaChat.vue.d.ts.map +1 -0
  29. package/dist/components/shell/SvedaContextUsageBar.vue.d.ts +10 -0
  30. package/dist/components/shell/SvedaContextUsageBar.vue.d.ts.map +1 -0
  31. package/dist/components/shell/SvedaHistorySheet.vue.d.ts +15 -0
  32. package/dist/components/shell/SvedaHistorySheet.vue.d.ts.map +1 -0
  33. package/dist/components/shell/SvedaHistorySidebar.vue.d.ts +15 -0
  34. package/dist/components/shell/SvedaHistorySidebar.vue.d.ts.map +1 -0
  35. package/dist/components/shell/SvedaInputSection.vue.d.ts +25 -0
  36. package/dist/components/shell/SvedaInputSection.vue.d.ts.map +1 -0
  37. package/dist/components/shell/SvedaLandingView.vue.d.ts +40 -0
  38. package/dist/components/shell/SvedaLandingView.vue.d.ts.map +1 -0
  39. package/dist/components/shell/SvedaMaxStepsNotice.vue.d.ts +13 -0
  40. package/dist/components/shell/SvedaMaxStepsNotice.vue.d.ts.map +1 -0
  41. package/dist/components/shell/SvedaMinimizedTrigger.vue.d.ts +15 -0
  42. package/dist/components/shell/SvedaMinimizedTrigger.vue.d.ts.map +1 -0
  43. package/dist/components/shell/SvedaModelControls.vue.d.ts +12 -0
  44. package/dist/components/shell/SvedaModelControls.vue.d.ts.map +1 -0
  45. package/dist/components/shell/SvedaModelSelect.vue.d.ts +10 -0
  46. package/dist/components/shell/SvedaModelSelect.vue.d.ts.map +1 -0
  47. package/dist/components/shell/SvedaQuickPrompts.vue.d.ts +13 -0
  48. package/dist/components/shell/SvedaQuickPrompts.vue.d.ts.map +1 -0
  49. package/dist/components/shell/SvedaResizeHandles.vue.d.ts +11 -0
  50. package/dist/components/shell/SvedaResizeHandles.vue.d.ts.map +1 -0
  51. package/dist/components/shell/SvedaTabs.vue.d.ts +17 -0
  52. package/dist/components/shell/SvedaTabs.vue.d.ts.map +1 -0
  53. package/dist/components/shell/SvedaToolbar.vue.d.ts +33 -0
  54. package/dist/components/shell/SvedaToolbar.vue.d.ts.map +1 -0
  55. package/dist/composables/useSvedaAgentTasks.d.ts +57 -0
  56. package/dist/composables/useSvedaAgentTasks.d.ts.map +1 -0
  57. package/dist/composables/useSvedaBootstrap.d.ts +18 -0
  58. package/dist/composables/useSvedaBootstrap.d.ts.map +1 -0
  59. package/dist/composables/useSvedaChat.d.ts +264 -0
  60. package/dist/composables/useSvedaChat.d.ts.map +1 -0
  61. package/dist/composables/useSvedaChatLayout.d.ts +39 -0
  62. package/dist/composables/useSvedaChatLayout.d.ts.map +1 -0
  63. package/dist/composables/useSvedaChatPage.d.ts +309 -0
  64. package/dist/composables/useSvedaChatPage.d.ts.map +1 -0
  65. package/dist/composables/useSvedaContextWindow.d.ts +10 -0
  66. package/dist/composables/useSvedaContextWindow.d.ts.map +1 -0
  67. package/dist/composables/useSvedaDocuments.d.ts +20 -0
  68. package/dist/composables/useSvedaDocuments.d.ts.map +1 -0
  69. package/dist/composables/useSvedaMaxStepsContinue.d.ts +12 -0
  70. package/dist/composables/useSvedaMaxStepsContinue.d.ts.map +1 -0
  71. package/dist/composables/useSvedaMessaging.d.ts +55 -0
  72. package/dist/composables/useSvedaMessaging.d.ts.map +1 -0
  73. package/dist/composables/useSvedaModel.d.ts +16 -0
  74. package/dist/composables/useSvedaModel.d.ts.map +1 -0
  75. package/dist/composables/useSvedaPrompts.d.ts +18 -0
  76. package/dist/composables/useSvedaPrompts.d.ts.map +1 -0
  77. package/dist/composables/useSvedaReadable.d.ts +3 -0
  78. package/dist/composables/useSvedaReadable.d.ts.map +1 -0
  79. package/dist/composables/useSvedaScroll.d.ts +19 -0
  80. package/dist/composables/useSvedaScroll.d.ts.map +1 -0
  81. package/dist/composables/useSvedaShell.d.ts +29 -0
  82. package/dist/composables/useSvedaShell.d.ts.map +1 -0
  83. package/dist/composables/useSvedaStreaming.d.ts +46 -0
  84. package/dist/composables/useSvedaStreaming.d.ts.map +1 -0
  85. package/dist/composables/useSvedaTool.d.ts +4 -0
  86. package/dist/composables/useSvedaTool.d.ts.map +1 -0
  87. package/dist/i18n/index.d.ts +18 -0
  88. package/dist/i18n/index.d.ts.map +1 -0
  89. package/dist/i18n/locales/en.d.ts +4 -0
  90. package/dist/i18n/locales/en.d.ts.map +1 -0
  91. package/dist/i18n/locales/ru.d.ts +4 -0
  92. package/dist/i18n/locales/ru.d.ts.map +1 -0
  93. package/dist/index.d.ts +64 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +6612 -0
  96. package/dist/launcherIcons.d.ts +5 -0
  97. package/dist/launcherIcons.d.ts.map +1 -0
  98. package/dist/lib/assistantMessage.d.ts +89 -0
  99. package/dist/lib/assistantMessage.d.ts.map +1 -0
  100. package/dist/lib/chatHistoryMerge.d.ts +20 -0
  101. package/dist/lib/chatHistoryMerge.d.ts.map +1 -0
  102. package/dist/lib/chatI18nKeys.d.ts +2 -0
  103. package/dist/lib/chatI18nKeys.d.ts.map +1 -0
  104. package/dist/lib/chatMessageVisibility.d.ts +4 -0
  105. package/dist/lib/chatMessageVisibility.d.ts.map +1 -0
  106. package/dist/lib/chatTabs.d.ts +9 -0
  107. package/dist/lib/chatTabs.d.ts.map +1 -0
  108. package/dist/lib/chatTitle.d.ts +3 -0
  109. package/dist/lib/chatTitle.d.ts.map +1 -0
  110. package/dist/lib/chatUiStorage.d.ts +4 -0
  111. package/dist/lib/chatUiStorage.d.ts.map +1 -0
  112. package/dist/lib/finalizeMessages.d.ts +21 -0
  113. package/dist/lib/finalizeMessages.d.ts.map +1 -0
  114. package/dist/lib/markdown.d.ts +8 -0
  115. package/dist/lib/markdown.d.ts.map +1 -0
  116. package/dist/lib/modelLabels.d.ts +3 -0
  117. package/dist/lib/modelLabels.d.ts.map +1 -0
  118. package/dist/lib/pendingStatusRotation.d.ts +3 -0
  119. package/dist/lib/pendingStatusRotation.d.ts.map +1 -0
  120. package/dist/lib/useAnimatedText.d.ts +8 -0
  121. package/dist/lib/useAnimatedText.d.ts.map +1 -0
  122. package/dist/lib/userMessage.d.ts +17 -0
  123. package/dist/lib/userMessage.d.ts.map +1 -0
  124. package/dist/lib/utils.d.ts +3 -0
  125. package/dist/lib/utils.d.ts.map +1 -0
  126. package/dist/plugin.d.ts +64 -0
  127. package/dist/plugin.d.ts.map +1 -0
  128. package/dist/styles.css +5 -0
  129. package/dist/ui/alert-dialog/AlertDialog.vue.d.ts +18 -0
  130. package/dist/ui/alert-dialog/AlertDialog.vue.d.ts.map +1 -0
  131. package/dist/ui/alert-dialog/AlertDialogAction.vue.d.ts +18 -0
  132. package/dist/ui/alert-dialog/AlertDialogAction.vue.d.ts.map +1 -0
  133. package/dist/ui/alert-dialog/AlertDialogCancel.vue.d.ts +18 -0
  134. package/dist/ui/alert-dialog/AlertDialogCancel.vue.d.ts.map +1 -0
  135. package/dist/ui/alert-dialog/AlertDialogContent.vue.d.ts +32 -0
  136. package/dist/ui/alert-dialog/AlertDialogContent.vue.d.ts.map +1 -0
  137. package/dist/ui/alert-dialog/AlertDialogDescription.vue.d.ts +18 -0
  138. package/dist/ui/alert-dialog/AlertDialogDescription.vue.d.ts.map +1 -0
  139. package/dist/ui/alert-dialog/AlertDialogFooter.vue.d.ts +17 -0
  140. package/dist/ui/alert-dialog/AlertDialogFooter.vue.d.ts.map +1 -0
  141. package/dist/ui/alert-dialog/AlertDialogHeader.vue.d.ts +17 -0
  142. package/dist/ui/alert-dialog/AlertDialogHeader.vue.d.ts.map +1 -0
  143. package/dist/ui/alert-dialog/AlertDialogTitle.vue.d.ts +18 -0
  144. package/dist/ui/alert-dialog/AlertDialogTitle.vue.d.ts.map +1 -0
  145. package/dist/ui/alert-dialog/AlertDialogTrigger.vue.d.ts +14 -0
  146. package/dist/ui/alert-dialog/AlertDialogTrigger.vue.d.ts.map +1 -0
  147. package/dist/ui/alert-dialog/index.d.ts +10 -0
  148. package/dist/ui/alert-dialog/index.d.ts.map +1 -0
  149. package/dist/ui/badge/Badge.vue.d.ts +19 -0
  150. package/dist/ui/badge/Badge.vue.d.ts.map +1 -0
  151. package/dist/ui/badge/index.d.ts +7 -0
  152. package/dist/ui/badge/index.d.ts.map +1 -0
  153. package/dist/ui/button/Button.vue.d.ts +23 -0
  154. package/dist/ui/button/Button.vue.d.ts.map +1 -0
  155. package/dist/ui/button/index.d.ts +9 -0
  156. package/dist/ui/button/index.d.ts.map +1 -0
  157. package/dist/ui/card/Card.vue.d.ts +17 -0
  158. package/dist/ui/card/Card.vue.d.ts.map +1 -0
  159. package/dist/ui/card/CardContent.vue.d.ts +17 -0
  160. package/dist/ui/card/CardContent.vue.d.ts.map +1 -0
  161. package/dist/ui/card/CardDescription.vue.d.ts +17 -0
  162. package/dist/ui/card/CardDescription.vue.d.ts.map +1 -0
  163. package/dist/ui/card/CardFooter.vue.d.ts +17 -0
  164. package/dist/ui/card/CardFooter.vue.d.ts.map +1 -0
  165. package/dist/ui/card/CardHeader.vue.d.ts +17 -0
  166. package/dist/ui/card/CardHeader.vue.d.ts.map +1 -0
  167. package/dist/ui/card/CardTitle.vue.d.ts +17 -0
  168. package/dist/ui/card/CardTitle.vue.d.ts.map +1 -0
  169. package/dist/ui/card/index.d.ts +7 -0
  170. package/dist/ui/card/index.d.ts.map +1 -0
  171. package/dist/ui/checkbox/Checkbox.vue.d.ts +30 -0
  172. package/dist/ui/checkbox/Checkbox.vue.d.ts.map +1 -0
  173. package/dist/ui/checkbox/index.d.ts +2 -0
  174. package/dist/ui/checkbox/index.d.ts.map +1 -0
  175. package/dist/ui/dialog/Dialog.vue.d.ts +18 -0
  176. package/dist/ui/dialog/Dialog.vue.d.ts.map +1 -0
  177. package/dist/ui/dialog/DialogClose.vue.d.ts +14 -0
  178. package/dist/ui/dialog/DialogClose.vue.d.ts.map +1 -0
  179. package/dist/ui/dialog/DialogContent.vue.d.ts +32 -0
  180. package/dist/ui/dialog/DialogContent.vue.d.ts.map +1 -0
  181. package/dist/ui/dialog/DialogDescription.vue.d.ts +18 -0
  182. package/dist/ui/dialog/DialogDescription.vue.d.ts.map +1 -0
  183. package/dist/ui/dialog/DialogFooter.vue.d.ts +17 -0
  184. package/dist/ui/dialog/DialogFooter.vue.d.ts.map +1 -0
  185. package/dist/ui/dialog/DialogHeader.vue.d.ts +17 -0
  186. package/dist/ui/dialog/DialogHeader.vue.d.ts.map +1 -0
  187. package/dist/ui/dialog/DialogScrollContent.vue.d.ts +32 -0
  188. package/dist/ui/dialog/DialogScrollContent.vue.d.ts.map +1 -0
  189. package/dist/ui/dialog/DialogTitle.vue.d.ts +18 -0
  190. package/dist/ui/dialog/DialogTitle.vue.d.ts.map +1 -0
  191. package/dist/ui/dialog/DialogTrigger.vue.d.ts +14 -0
  192. package/dist/ui/dialog/DialogTrigger.vue.d.ts.map +1 -0
  193. package/dist/ui/dialog/index.d.ts +10 -0
  194. package/dist/ui/dialog/index.d.ts.map +1 -0
  195. package/dist/ui/dropdown-menu/DropdownMenu.vue.d.ts +18 -0
  196. package/dist/ui/dropdown-menu/DropdownMenu.vue.d.ts.map +1 -0
  197. package/dist/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +24 -0
  198. package/dist/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts.map +1 -0
  199. package/dist/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +32 -0
  200. package/dist/ui/dropdown-menu/DropdownMenuContent.vue.d.ts.map +1 -0
  201. package/dist/ui/dropdown-menu/DropdownMenuGroup.vue.d.ts +14 -0
  202. package/dist/ui/dropdown-menu/DropdownMenuGroup.vue.d.ts.map +1 -0
  203. package/dist/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +19 -0
  204. package/dist/ui/dropdown-menu/DropdownMenuItem.vue.d.ts.map +1 -0
  205. package/dist/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +19 -0
  206. package/dist/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts.map +1 -0
  207. package/dist/ui/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +18 -0
  208. package/dist/ui/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts.map +1 -0
  209. package/dist/ui/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +22 -0
  210. package/dist/ui/dropdown-menu/DropdownMenuRadioItem.vue.d.ts.map +1 -0
  211. package/dist/ui/dropdown-menu/DropdownMenuSeparator.vue.d.ts +8 -0
  212. package/dist/ui/dropdown-menu/DropdownMenuSeparator.vue.d.ts.map +1 -0
  213. package/dist/ui/dropdown-menu/DropdownMenuShortcut.vue.d.ts +17 -0
  214. package/dist/ui/dropdown-menu/DropdownMenuShortcut.vue.d.ts.map +1 -0
  215. package/dist/ui/dropdown-menu/DropdownMenuSub.vue.d.ts +18 -0
  216. package/dist/ui/dropdown-menu/DropdownMenuSub.vue.d.ts.map +1 -0
  217. package/dist/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +34 -0
  218. package/dist/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts.map +1 -0
  219. package/dist/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +18 -0
  220. package/dist/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts.map +1 -0
  221. package/dist/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts +14 -0
  222. package/dist/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts.map +1 -0
  223. package/dist/ui/dropdown-menu/index.d.ts +16 -0
  224. package/dist/ui/dropdown-menu/index.d.ts.map +1 -0
  225. package/dist/ui/input/Input.vue.d.ts +13 -0
  226. package/dist/ui/input/Input.vue.d.ts.map +1 -0
  227. package/dist/ui/input/index.d.ts +2 -0
  228. package/dist/ui/input/index.d.ts.map +1 -0
  229. package/dist/ui/label/Label.vue.d.ts +18 -0
  230. package/dist/ui/label/Label.vue.d.ts.map +1 -0
  231. package/dist/ui/label/index.d.ts +2 -0
  232. package/dist/ui/label/index.d.ts.map +1 -0
  233. package/dist/ui/responsive-dialog/ResponsiveDialog.vue.d.ts +32 -0
  234. package/dist/ui/responsive-dialog/ResponsiveDialog.vue.d.ts.map +1 -0
  235. package/dist/ui/responsive-dialog/index.d.ts +2 -0
  236. package/dist/ui/responsive-dialog/index.d.ts.map +1 -0
  237. package/dist/ui/scroll-area/ScrollArea.vue.d.ts +18 -0
  238. package/dist/ui/scroll-area/ScrollArea.vue.d.ts.map +1 -0
  239. package/dist/ui/scroll-area/ScrollBar.vue.d.ts +10 -0
  240. package/dist/ui/scroll-area/ScrollBar.vue.d.ts.map +1 -0
  241. package/dist/ui/scroll-area/index.d.ts +3 -0
  242. package/dist/ui/scroll-area/index.d.ts.map +1 -0
  243. package/dist/ui/select/Select.vue.d.ts +21 -0
  244. package/dist/ui/select/Select.vue.d.ts.map +1 -0
  245. package/dist/ui/select/SelectContent.vue.d.ts +28 -0
  246. package/dist/ui/select/SelectContent.vue.d.ts.map +1 -0
  247. package/dist/ui/select/SelectGroup.vue.d.ts +18 -0
  248. package/dist/ui/select/SelectGroup.vue.d.ts.map +1 -0
  249. package/dist/ui/select/SelectItem.vue.d.ts +18 -0
  250. package/dist/ui/select/SelectItem.vue.d.ts.map +1 -0
  251. package/dist/ui/select/SelectItemText.vue.d.ts +14 -0
  252. package/dist/ui/select/SelectItemText.vue.d.ts.map +1 -0
  253. package/dist/ui/select/SelectLabel.vue.d.ts +18 -0
  254. package/dist/ui/select/SelectLabel.vue.d.ts.map +1 -0
  255. package/dist/ui/select/SelectScrollDownButton.vue.d.ts +18 -0
  256. package/dist/ui/select/SelectScrollDownButton.vue.d.ts.map +1 -0
  257. package/dist/ui/select/SelectScrollUpButton.vue.d.ts +18 -0
  258. package/dist/ui/select/SelectScrollUpButton.vue.d.ts.map +1 -0
  259. package/dist/ui/select/SelectSeparator.vue.d.ts +8 -0
  260. package/dist/ui/select/SelectSeparator.vue.d.ts.map +1 -0
  261. package/dist/ui/select/SelectTrigger.vue.d.ts +18 -0
  262. package/dist/ui/select/SelectTrigger.vue.d.ts.map +1 -0
  263. package/dist/ui/select/SelectValue.vue.d.ts +14 -0
  264. package/dist/ui/select/SelectValue.vue.d.ts.map +1 -0
  265. package/dist/ui/select/index.d.ts +12 -0
  266. package/dist/ui/select/index.d.ts.map +1 -0
  267. package/dist/ui/sheet/Sheet.vue.d.ts +18 -0
  268. package/dist/ui/sheet/Sheet.vue.d.ts.map +1 -0
  269. package/dist/ui/sheet/SheetClose.vue.d.ts +14 -0
  270. package/dist/ui/sheet/SheetClose.vue.d.ts.map +1 -0
  271. package/dist/ui/sheet/SheetContent.vue.d.ts +34 -0
  272. package/dist/ui/sheet/SheetContent.vue.d.ts.map +1 -0
  273. package/dist/ui/sheet/SheetDescription.vue.d.ts +18 -0
  274. package/dist/ui/sheet/SheetDescription.vue.d.ts.map +1 -0
  275. package/dist/ui/sheet/SheetFooter.vue.d.ts +17 -0
  276. package/dist/ui/sheet/SheetFooter.vue.d.ts.map +1 -0
  277. package/dist/ui/sheet/SheetHeader.vue.d.ts +17 -0
  278. package/dist/ui/sheet/SheetHeader.vue.d.ts.map +1 -0
  279. package/dist/ui/sheet/SheetTitle.vue.d.ts +18 -0
  280. package/dist/ui/sheet/SheetTitle.vue.d.ts.map +1 -0
  281. package/dist/ui/sheet/SheetTrigger.vue.d.ts +14 -0
  282. package/dist/ui/sheet/SheetTrigger.vue.d.ts.map +1 -0
  283. package/dist/ui/sheet/index.d.ts +14 -0
  284. package/dist/ui/sheet/index.d.ts.map +1 -0
  285. package/dist/ui/switch/Switch.vue.d.ts +23 -0
  286. package/dist/ui/switch/Switch.vue.d.ts.map +1 -0
  287. package/dist/ui/switch/index.d.ts +2 -0
  288. package/dist/ui/switch/index.d.ts.map +1 -0
  289. package/dist/ui/textarea/Textarea.vue.d.ts +13 -0
  290. package/dist/ui/textarea/Textarea.vue.d.ts.map +1 -0
  291. package/dist/ui/textarea/index.d.ts +2 -0
  292. package/dist/ui/textarea/index.d.ts.map +1 -0
  293. package/dist/ui/toast/Toast.vue.d.ts +96 -0
  294. package/dist/ui/toast/Toast.vue.d.ts.map +1 -0
  295. package/dist/ui/toast/ToastAction.vue.d.ts +18 -0
  296. package/dist/ui/toast/ToastAction.vue.d.ts.map +1 -0
  297. package/dist/ui/toast/ToastClose.vue.d.ts +8 -0
  298. package/dist/ui/toast/ToastClose.vue.d.ts.map +1 -0
  299. package/dist/ui/toast/ToastDescription.vue.d.ts +18 -0
  300. package/dist/ui/toast/ToastDescription.vue.d.ts.map +1 -0
  301. package/dist/ui/toast/ToastProvider.vue.d.ts +14 -0
  302. package/dist/ui/toast/ToastProvider.vue.d.ts.map +1 -0
  303. package/dist/ui/toast/ToastTitle.vue.d.ts +18 -0
  304. package/dist/ui/toast/ToastTitle.vue.d.ts.map +1 -0
  305. package/dist/ui/toast/ToastViewport.vue.d.ts +8 -0
  306. package/dist/ui/toast/ToastViewport.vue.d.ts.map +1 -0
  307. package/dist/ui/toast/Toaster.vue.d.ts +3 -0
  308. package/dist/ui/toast/Toaster.vue.d.ts.map +1 -0
  309. package/dist/ui/toast/index.d.ts +23 -0
  310. package/dist/ui/toast/index.d.ts.map +1 -0
  311. package/dist/ui/toast/use-toast.d.ts +23 -0
  312. package/dist/ui/toast/use-toast.d.ts.map +1 -0
  313. package/dist/ui/tooltip/Tooltip.vue.d.ts +18 -0
  314. package/dist/ui/tooltip/Tooltip.vue.d.ts.map +1 -0
  315. package/dist/ui/tooltip/TooltipContent.vue.d.ts +26 -0
  316. package/dist/ui/tooltip/TooltipContent.vue.d.ts.map +1 -0
  317. package/dist/ui/tooltip/TooltipProvider.vue.d.ts +14 -0
  318. package/dist/ui/tooltip/TooltipProvider.vue.d.ts.map +1 -0
  319. package/dist/ui/tooltip/TooltipTrigger.vue.d.ts +14 -0
  320. package/dist/ui/tooltip/TooltipTrigger.vue.d.ts.map +1 -0
  321. package/dist/ui/tooltip/index.d.ts +5 -0
  322. package/dist/ui/tooltip/index.d.ts.map +1 -0
  323. package/dist/ui/utils.d.ts +2 -0
  324. package/dist/ui/utils.d.ts.map +1 -0
  325. package/dist/vue.css +1 -0
  326. package/package.json +64 -0
  327. package/src/appearance.ts +568 -0
  328. package/src/components/chat/AnimatedStreamBlock.vue +94 -0
  329. package/src/components/chat/ChatHistoryDropdown.vue +226 -0
  330. package/src/components/chat/ChatInput.vue +571 -0
  331. package/src/components/chat/ChatMessageActivityBlock.vue +447 -0
  332. package/src/components/chat/ChatMessageItem.vue +357 -0
  333. package/src/components/chat/ChatMessageList.vue +178 -0
  334. package/src/components/chat/ChatPendingIndicator.vue +163 -0
  335. package/src/components/chat/ReasoningStream.vue +112 -0
  336. package/src/components/chat/index.ts +8 -0
  337. package/src/components/shell/SvedaAgentCompletedNotice.vue +25 -0
  338. package/src/components/shell/SvedaAgentTasksPanel.vue +146 -0
  339. package/src/components/shell/SvedaChat.vue +514 -0
  340. package/src/components/shell/SvedaContextUsageBar.vue +33 -0
  341. package/src/components/shell/SvedaHistorySheet.vue +52 -0
  342. package/src/components/shell/SvedaHistorySidebar.vue +41 -0
  343. package/src/components/shell/SvedaInputSection.vue +53 -0
  344. package/src/components/shell/SvedaLandingView.vue +93 -0
  345. package/src/components/shell/SvedaMaxStepsNotice.vue +33 -0
  346. package/src/components/shell/SvedaMinimizedTrigger.vue +43 -0
  347. package/src/components/shell/SvedaModelControls.vue +47 -0
  348. package/src/components/shell/SvedaModelSelect.vue +32 -0
  349. package/src/components/shell/SvedaQuickPrompts.vue +44 -0
  350. package/src/components/shell/SvedaResizeHandles.vue +31 -0
  351. package/src/components/shell/SvedaTabs.vue +123 -0
  352. package/src/components/shell/SvedaToolbar.vue +171 -0
  353. package/src/composables/useSvedaAgentTasks.ts +93 -0
  354. package/src/composables/useSvedaBootstrap.ts +36 -0
  355. package/src/composables/useSvedaChat.ts +593 -0
  356. package/src/composables/useSvedaChatLayout.ts +539 -0
  357. package/src/composables/useSvedaChatPage.ts +339 -0
  358. package/src/composables/useSvedaContextWindow.ts +31 -0
  359. package/src/composables/useSvedaDocuments.ts +115 -0
  360. package/src/composables/useSvedaMaxStepsContinue.ts +68 -0
  361. package/src/composables/useSvedaMessaging.ts +99 -0
  362. package/src/composables/useSvedaModel.ts +85 -0
  363. package/src/composables/useSvedaPrompts.ts +59 -0
  364. package/src/composables/useSvedaReadable.ts +33 -0
  365. package/src/composables/useSvedaScroll.ts +93 -0
  366. package/src/composables/useSvedaShell.ts +91 -0
  367. package/src/composables/useSvedaStreaming.ts +408 -0
  368. package/src/composables/useSvedaTool.ts +18 -0
  369. package/src/i18n/index.ts +72 -0
  370. package/src/i18n/locales/en.ts +58 -0
  371. package/src/i18n/locales/ru.ts +59 -0
  372. package/src/index.ts +141 -0
  373. package/src/launcherIcons.ts +39 -0
  374. package/src/lib/assistantMessage.ts +437 -0
  375. package/src/lib/chatHistoryMerge.ts +93 -0
  376. package/src/lib/chatI18nKeys.ts +62 -0
  377. package/src/lib/chatMessageVisibility.ts +50 -0
  378. package/src/lib/chatTabs.ts +54 -0
  379. package/src/lib/chatTitle.ts +30 -0
  380. package/src/lib/chatUiStorage.ts +33 -0
  381. package/src/lib/finalizeMessages.ts +81 -0
  382. package/src/lib/markdown.ts +90 -0
  383. package/src/lib/modelLabels.ts +24 -0
  384. package/src/lib/pendingStatusRotation.ts +26 -0
  385. package/src/lib/shims-vue.d.ts +6 -0
  386. package/src/lib/useAnimatedText.ts +78 -0
  387. package/src/lib/userMessage.ts +55 -0
  388. package/src/lib/utils.ts +6 -0
  389. package/src/plugin.ts +164 -0
  390. package/src/styles.css +5 -0
  391. package/src/theme.css +95 -0
  392. package/src/theme.test.mjs +80 -0
  393. package/src/ui/alert-dialog/AlertDialog.vue +14 -0
  394. package/src/ui/alert-dialog/AlertDialogAction.vue +17 -0
  395. package/src/ui/alert-dialog/AlertDialogCancel.vue +24 -0
  396. package/src/ui/alert-dialog/AlertDialogContent.vue +39 -0
  397. package/src/ui/alert-dialog/AlertDialogDescription.vue +22 -0
  398. package/src/ui/alert-dialog/AlertDialogFooter.vue +21 -0
  399. package/src/ui/alert-dialog/AlertDialogHeader.vue +16 -0
  400. package/src/ui/alert-dialog/AlertDialogTitle.vue +19 -0
  401. package/src/ui/alert-dialog/AlertDialogTrigger.vue +11 -0
  402. package/src/ui/alert-dialog/index.ts +9 -0
  403. package/src/ui/badge/Badge.vue +16 -0
  404. package/src/ui/badge/index.ts +27 -0
  405. package/src/ui/button/Button.vue +56 -0
  406. package/src/ui/button/index.ts +50 -0
  407. package/src/ui/card/Card.vue +14 -0
  408. package/src/ui/card/CardContent.vue +14 -0
  409. package/src/ui/card/CardDescription.vue +14 -0
  410. package/src/ui/card/CardFooter.vue +14 -0
  411. package/src/ui/card/CardHeader.vue +14 -0
  412. package/src/ui/card/CardTitle.vue +14 -0
  413. package/src/ui/card/index.ts +6 -0
  414. package/src/ui/checkbox/Checkbox.vue +41 -0
  415. package/src/ui/checkbox/index.ts +1 -0
  416. package/src/ui/dialog/Dialog.vue +14 -0
  417. package/src/ui/dialog/DialogClose.vue +11 -0
  418. package/src/ui/dialog/DialogContent.vue +50 -0
  419. package/src/ui/dialog/DialogDescription.vue +24 -0
  420. package/src/ui/dialog/DialogFooter.vue +19 -0
  421. package/src/ui/dialog/DialogHeader.vue +16 -0
  422. package/src/ui/dialog/DialogScrollContent.vue +59 -0
  423. package/src/ui/dialog/DialogTitle.vue +29 -0
  424. package/src/ui/dialog/DialogTrigger.vue +11 -0
  425. package/src/ui/dialog/index.ts +9 -0
  426. package/src/ui/dropdown-menu/DropdownMenu.vue +14 -0
  427. package/src/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +42 -0
  428. package/src/ui/dropdown-menu/DropdownMenuContent.vue +40 -0
  429. package/src/ui/dropdown-menu/DropdownMenuGroup.vue +11 -0
  430. package/src/ui/dropdown-menu/DropdownMenuItem.vue +30 -0
  431. package/src/ui/dropdown-menu/DropdownMenuLabel.vue +21 -0
  432. package/src/ui/dropdown-menu/DropdownMenuRadioGroup.vue +14 -0
  433. package/src/ui/dropdown-menu/DropdownMenuRadioItem.vue +43 -0
  434. package/src/ui/dropdown-menu/DropdownMenuSeparator.vue +21 -0
  435. package/src/ui/dropdown-menu/DropdownMenuShortcut.vue +14 -0
  436. package/src/ui/dropdown-menu/DropdownMenuSub.vue +14 -0
  437. package/src/ui/dropdown-menu/DropdownMenuSubContent.vue +30 -0
  438. package/src/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  439. package/src/ui/dropdown-menu/DropdownMenuTrigger.vue +13 -0
  440. package/src/ui/dropdown-menu/index.ts +16 -0
  441. package/src/ui/input/Input.vue +32 -0
  442. package/src/ui/input/index.ts +1 -0
  443. package/src/ui/label/Label.vue +22 -0
  444. package/src/ui/label/index.ts +1 -0
  445. package/src/ui/responsive-dialog/ResponsiveDialog.vue +55 -0
  446. package/src/ui/responsive-dialog/index.ts +1 -0
  447. package/src/ui/scroll-area/ScrollArea.vue +29 -0
  448. package/src/ui/scroll-area/ScrollBar.vue +30 -0
  449. package/src/ui/scroll-area/index.ts +2 -0
  450. package/src/ui/select/Select.vue +15 -0
  451. package/src/ui/select/SelectContent.vue +53 -0
  452. package/src/ui/select/SelectGroup.vue +19 -0
  453. package/src/ui/select/SelectItem.vue +44 -0
  454. package/src/ui/select/SelectItemText.vue +11 -0
  455. package/src/ui/select/SelectLabel.vue +13 -0
  456. package/src/ui/select/SelectScrollDownButton.vue +24 -0
  457. package/src/ui/select/SelectScrollUpButton.vue +24 -0
  458. package/src/ui/select/SelectSeparator.vue +17 -0
  459. package/src/ui/select/SelectTrigger.vue +31 -0
  460. package/src/ui/select/SelectValue.vue +11 -0
  461. package/src/ui/select/index.ts +11 -0
  462. package/src/ui/sheet/Sheet.vue +14 -0
  463. package/src/ui/sheet/SheetClose.vue +11 -0
  464. package/src/ui/sheet/SheetContent.vue +53 -0
  465. package/src/ui/sheet/SheetDescription.vue +19 -0
  466. package/src/ui/sheet/SheetFooter.vue +12 -0
  467. package/src/ui/sheet/SheetHeader.vue +12 -0
  468. package/src/ui/sheet/SheetTitle.vue +19 -0
  469. package/src/ui/sheet/SheetTrigger.vue +11 -0
  470. package/src/ui/sheet/index.ts +29 -0
  471. package/src/ui/switch/Switch.vue +55 -0
  472. package/src/ui/switch/index.ts +1 -0
  473. package/src/ui/textarea/Textarea.vue +24 -0
  474. package/src/ui/textarea/index.ts +1 -0
  475. package/src/ui/toast/Toast.vue +28 -0
  476. package/src/ui/toast/ToastAction.vue +19 -0
  477. package/src/ui/toast/ToastClose.vue +22 -0
  478. package/src/ui/toast/ToastDescription.vue +19 -0
  479. package/src/ui/toast/ToastProvider.vue +11 -0
  480. package/src/ui/toast/ToastTitle.vue +19 -0
  481. package/src/ui/toast/ToastViewport.vue +17 -0
  482. package/src/ui/toast/Toaster.vue +48 -0
  483. package/src/ui/toast/index.ts +39 -0
  484. package/src/ui/toast/use-toast.ts +109 -0
  485. package/src/ui/tooltip/Tooltip.vue +14 -0
  486. package/src/ui/tooltip/TooltipContent.vue +39 -0
  487. package/src/ui/tooltip/TooltipProvider.vue +11 -0
  488. package/src/ui/tooltip/TooltipTrigger.vue +11 -0
  489. package/src/ui/tooltip/index.ts +4 -0
  490. package/src/ui/utils.ts +1 -0
@@ -0,0 +1,43 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js';
3
+ import { Circle } from 'lucide-vue-next';
4
+ import {
5
+ DropdownMenuItemIndicator,
6
+ DropdownMenuRadioItem,
7
+ useForwardPropsEmits,
8
+ type DropdownMenuRadioItemEmits,
9
+ type DropdownMenuRadioItemProps,
10
+ } from 'reka-ui';
11
+ import { computed, type HTMLAttributes } from 'vue';
12
+
13
+ const props = defineProps<DropdownMenuRadioItemProps & { class?: HTMLAttributes['class'] }>();
14
+
15
+ const emits = defineEmits<DropdownMenuRadioItemEmits>();
16
+
17
+ const delegatedProps = computed(() => {
18
+ const { class: _, ...delegated } = props;
19
+
20
+ return delegated;
21
+ });
22
+
23
+ const forwarded = useForwardPropsEmits(delegatedProps, emits);
24
+ </script>
25
+
26
+ <template>
27
+ <DropdownMenuRadioItem
28
+ v-bind="forwarded"
29
+ :class="
30
+ cn(
31
+ 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
32
+ props.class,
33
+ )
34
+ "
35
+ >
36
+ <span class="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
37
+ <DropdownMenuItemIndicator>
38
+ <Circle class="h-2 w-2 fill-current" />
39
+ </DropdownMenuItemIndicator>
40
+ </span>
41
+ <slot />
42
+ </DropdownMenuRadioItem>
43
+ </template>
@@ -0,0 +1,21 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js';
3
+ import { DropdownMenuSeparator, type DropdownMenuSeparatorProps } from 'reka-ui';
4
+ import { computed, type HTMLAttributes } from 'vue';
5
+
6
+ const props = defineProps<
7
+ DropdownMenuSeparatorProps & {
8
+ class?: HTMLAttributes['class'];
9
+ }
10
+ >();
11
+
12
+ const delegatedProps = computed(() => {
13
+ const { class: _, ...delegated } = props;
14
+
15
+ return delegated;
16
+ });
17
+ </script>
18
+
19
+ <template>
20
+ <DropdownMenuSeparator v-bind="delegatedProps" :class="cn('-mx-1 my-1 h-px bg-muted', props.class)" />
21
+ </template>
@@ -0,0 +1,14 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js';
3
+ import type { HTMLAttributes } from 'vue';
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes['class'];
7
+ }>();
8
+ </script>
9
+
10
+ <template>
11
+ <span :class="cn('ml-auto text-xs tracking-widest opacity-60', props.class)">
12
+ <slot />
13
+ </span>
14
+ </template>
@@ -0,0 +1,14 @@
1
+ <script setup lang="ts">
2
+ import { DropdownMenuSub, useForwardPropsEmits, type DropdownMenuSubEmits, type DropdownMenuSubProps } from 'reka-ui';
3
+
4
+ const props = defineProps<DropdownMenuSubProps>();
5
+ const emits = defineEmits<DropdownMenuSubEmits>();
6
+
7
+ const forwarded = useForwardPropsEmits(props, emits);
8
+ </script>
9
+
10
+ <template>
11
+ <DropdownMenuSub v-bind="forwarded">
12
+ <slot />
13
+ </DropdownMenuSub>
14
+ </template>
@@ -0,0 +1,30 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js';
3
+ import { DropdownMenuSubContent, useForwardPropsEmits, type DropdownMenuSubContentEmits, type DropdownMenuSubContentProps } from 'reka-ui';
4
+ import { computed, type HTMLAttributes } from 'vue';
5
+
6
+ const props = defineProps<DropdownMenuSubContentProps & { class?: HTMLAttributes['class'] }>();
7
+ const emits = defineEmits<DropdownMenuSubContentEmits>();
8
+
9
+ const delegatedProps = computed(() => {
10
+ const { class: _, ...delegated } = props;
11
+
12
+ return delegated;
13
+ });
14
+
15
+ const forwarded = useForwardPropsEmits(delegatedProps, emits);
16
+ </script>
17
+
18
+ <template>
19
+ <DropdownMenuSubContent
20
+ v-bind="forwarded"
21
+ :class="
22
+ cn(
23
+ 'sveda-chat z-50 min-w-32 overflow-hidden rounded-[var(--sveda-radius)] border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',
24
+ props.class,
25
+ )
26
+ "
27
+ >
28
+ <slot />
29
+ </DropdownMenuSubContent>
30
+ </template>
@@ -0,0 +1,31 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js';
3
+ import { ChevronRight } from 'lucide-vue-next';
4
+ import { DropdownMenuSubTrigger, useForwardProps, type DropdownMenuSubTriggerProps } from 'reka-ui';
5
+ import { computed, type HTMLAttributes } from 'vue';
6
+
7
+ const props = defineProps<DropdownMenuSubTriggerProps & { class?: HTMLAttributes['class'] }>();
8
+
9
+ const delegatedProps = computed(() => {
10
+ const { class: _, ...delegated } = props;
11
+
12
+ return delegated;
13
+ });
14
+
15
+ const forwardedProps = useForwardProps(delegatedProps);
16
+ </script>
17
+
18
+ <template>
19
+ <DropdownMenuSubTrigger
20
+ v-bind="forwardedProps"
21
+ :class="
22
+ cn(
23
+ 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent',
24
+ props.class,
25
+ )
26
+ "
27
+ >
28
+ <slot />
29
+ <ChevronRight class="ml-auto h-4 w-4" />
30
+ </DropdownMenuSubTrigger>
31
+ </template>
@@ -0,0 +1,13 @@
1
+ <script setup lang="ts">
2
+ import { DropdownMenuTrigger, useForwardProps, type DropdownMenuTriggerProps } from 'reka-ui';
3
+
4
+ const props = defineProps<DropdownMenuTriggerProps>();
5
+
6
+ const forwardedProps = useForwardProps(props);
7
+ </script>
8
+
9
+ <template>
10
+ <DropdownMenuTrigger class="outline-none" v-bind="forwardedProps">
11
+ <slot />
12
+ </DropdownMenuTrigger>
13
+ </template>
@@ -0,0 +1,16 @@
1
+ export { default as DropdownMenu } from './DropdownMenu.vue';
2
+
3
+ export { DropdownMenuPortal } from 'reka-ui';
4
+ export { default as DropdownMenuCheckboxItem } from './DropdownMenuCheckboxItem.vue';
5
+ export { default as DropdownMenuContent } from './DropdownMenuContent.vue';
6
+ export { default as DropdownMenuGroup } from './DropdownMenuGroup.vue';
7
+ export { default as DropdownMenuItem } from './DropdownMenuItem.vue';
8
+ export { default as DropdownMenuLabel } from './DropdownMenuLabel.vue';
9
+ export { default as DropdownMenuRadioGroup } from './DropdownMenuRadioGroup.vue';
10
+ export { default as DropdownMenuRadioItem } from './DropdownMenuRadioItem.vue';
11
+ export { default as DropdownMenuSeparator } from './DropdownMenuSeparator.vue';
12
+ export { default as DropdownMenuShortcut } from './DropdownMenuShortcut.vue';
13
+ export { default as DropdownMenuSub } from './DropdownMenuSub.vue';
14
+ export { default as DropdownMenuSubContent } from './DropdownMenuSubContent.vue';
15
+ export { default as DropdownMenuSubTrigger } from './DropdownMenuSubTrigger.vue';
16
+ export { default as DropdownMenuTrigger } from './DropdownMenuTrigger.vue';
@@ -0,0 +1,32 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js';
3
+ import { useVModel } from '@vueuse/core';
4
+ import type { HTMLAttributes } from 'vue';
5
+
6
+ const props = defineProps<{
7
+ defaultValue?: string | number;
8
+ modelValue?: string | number;
9
+ class?: HTMLAttributes['class'];
10
+ }>();
11
+
12
+ const emits = defineEmits<{
13
+ (e: 'update:modelValue', payload: string | number): void;
14
+ }>();
15
+
16
+ const modelValue = useVModel(props, 'modelValue', emits, {
17
+ passive: true,
18
+ defaultValue: props.defaultValue,
19
+ });
20
+ </script>
21
+
22
+ <template>
23
+ <input
24
+ v-model="modelValue"
25
+ :class="
26
+ cn(
27
+ 'flex h-10 w-full bg-input rounded-[var(--sveda-radius)] border border-input-border px-3 py-2 text-base text-card-foreground ring-offset-card file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-card-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 main-md:text-sm',
28
+ props.class,
29
+ )
30
+ "
31
+ />
32
+ </template>
@@ -0,0 +1 @@
1
+ export { default as Input } from './Input.vue';
@@ -0,0 +1,22 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js';
3
+ import { Label, type LabelProps } from 'reka-ui';
4
+ import { computed, type HTMLAttributes } from 'vue';
5
+
6
+ const props = defineProps<LabelProps & { class?: HTMLAttributes['class'] }>();
7
+
8
+ const delegatedProps = computed(() => {
9
+ const { class: _, ...delegated } = props;
10
+
11
+ return delegated;
12
+ });
13
+ </script>
14
+
15
+ <template>
16
+ <Label
17
+ v-bind="delegatedProps"
18
+ :class="cn('text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70', props.class)"
19
+ >
20
+ <slot />
21
+ </Label>
22
+ </template>
@@ -0,0 +1 @@
1
+ export { default as Label } from './Label.vue';
@@ -0,0 +1,55 @@
1
+ <script setup>
2
+ import { useMediaQuery } from '@vueuse/core';
3
+ import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from '../dialog/index.js';
4
+ import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetFooter } from '../sheet/index.js';
5
+
6
+ defineProps({
7
+ open: Boolean,
8
+ contentClass: String,
9
+ });
10
+
11
+ const emit = defineEmits(['update:open']);
12
+
13
+ const isMobile = useMediaQuery('(max-width: 639px)');
14
+
15
+ const updateOpen = (value) => {
16
+ emit('update:open', value);
17
+ };
18
+ </script>
19
+
20
+ <template>
21
+ <Sheet v-if="isMobile" :open="open" @update:open="updateOpen">
22
+ <SheetContent side="bottom" class="rounded-t-[var(--sveda-radius)] max-h-[90vh] overflow-y-auto">
23
+ <SheetHeader>
24
+ <SheetTitle>
25
+ <slot name="title" />
26
+ </SheetTitle>
27
+ </SheetHeader>
28
+ <div v-if="$slots.default" class="py-4">
29
+ <slot />
30
+ </div>
31
+ <div v-else class="py-4 text-muted-foreground text-sm">
32
+ <slot name="description" />
33
+ </div>
34
+ <SheetFooter v-if="$slots.footer" class="gap-2">
35
+ <slot name="footer" />
36
+ </SheetFooter>
37
+ </SheetContent>
38
+ </Sheet>
39
+ <Dialog v-else :open="open" @update:open="updateOpen">
40
+ <DialogContent :class="contentClass || ''">
41
+ <DialogHeader>
42
+ <DialogTitle>
43
+ <slot name="title" />
44
+ </DialogTitle>
45
+ <DialogDescription v-if="!$slots.default">
46
+ <slot name="description" />
47
+ </DialogDescription>
48
+ </DialogHeader>
49
+ <slot v-if="$slots.default" />
50
+ <DialogFooter v-if="$slots.footer">
51
+ <slot name="footer" />
52
+ </DialogFooter>
53
+ </DialogContent>
54
+ </Dialog>
55
+ </template>
@@ -0,0 +1 @@
1
+ export { default as ResponsiveDialog } from './ResponsiveDialog.vue';
@@ -0,0 +1,29 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js'
3
+ import {
4
+ ScrollAreaCorner,
5
+ ScrollAreaRoot,
6
+ type ScrollAreaRootProps,
7
+ ScrollAreaViewport,
8
+ } from 'reka-ui'
9
+ import { computed, type HTMLAttributes } from 'vue'
10
+ import ScrollBar from './ScrollBar.vue'
11
+
12
+ const props = defineProps<ScrollAreaRootProps & { class?: HTMLAttributes['class'] }>()
13
+
14
+ const delegatedProps = computed(() => {
15
+ const { class: _, ...delegated } = props
16
+
17
+ return delegated
18
+ })
19
+ </script>
20
+
21
+ <template>
22
+ <ScrollAreaRoot v-bind="delegatedProps" :class="cn('relative overflow-hidden', props.class)">
23
+ <ScrollAreaViewport class="h-full w-full rounded-[inherit]">
24
+ <slot />
25
+ </ScrollAreaViewport>
26
+ <ScrollBar />
27
+ <ScrollAreaCorner />
28
+ </ScrollAreaRoot>
29
+ </template>
@@ -0,0 +1,30 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js'
3
+ import { ScrollAreaScrollbar, type ScrollAreaScrollbarProps, ScrollAreaThumb } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
+
6
+ const props = withDefaults(defineProps<ScrollAreaScrollbarProps & { class?: HTMLAttributes['class'] }>(), {
7
+ orientation: 'vertical',
8
+ })
9
+
10
+ const delegatedProps = computed(() => {
11
+ const { class: _, ...delegated } = props
12
+
13
+ return delegated
14
+ })
15
+ </script>
16
+
17
+ <template>
18
+ <ScrollAreaScrollbar
19
+ v-bind="delegatedProps"
20
+ :class="
21
+ cn('flex touch-none select-none transition-colors',
22
+ orientation === 'vertical'
23
+ && 'h-full w-2.5 border-l border-l-transparent p-px',
24
+ orientation === 'horizontal'
25
+ && 'h-2.5 flex-col border-t border-t-transparent p-px',
26
+ props.class)"
27
+ >
28
+ <ScrollAreaThumb class="relative flex-1 rounded-full bg-border" />
29
+ </ScrollAreaScrollbar>
30
+ </template>
@@ -0,0 +1,2 @@
1
+ export { default as ScrollArea } from './ScrollArea.vue'
2
+ export { default as ScrollBar } from './ScrollBar.vue'
@@ -0,0 +1,15 @@
1
+ <script setup lang="ts">
2
+ import type { SelectRootEmits, SelectRootProps } from 'reka-ui'
3
+ import { SelectRoot, useForwardPropsEmits } from 'reka-ui'
4
+
5
+ const props = defineProps<SelectRootProps>()
6
+ const emits = defineEmits<SelectRootEmits>()
7
+
8
+ const forwarded = useForwardPropsEmits(props, emits)
9
+ </script>
10
+
11
+ <template>
12
+ <SelectRoot v-bind="forwarded" >
13
+ <slot />
14
+ </SelectRoot>
15
+ </template>
@@ -0,0 +1,53 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js'
3
+ import {
4
+ SelectContent,
5
+ type SelectContentEmits,
6
+ type SelectContentProps,
7
+ SelectPortal,
8
+ SelectViewport,
9
+ useForwardPropsEmits,
10
+ } from 'reka-ui'
11
+ import { computed, type HTMLAttributes } from 'vue'
12
+ import { SelectScrollDownButton, SelectScrollUpButton } from './index.js'
13
+
14
+ defineOptions({
15
+ inheritAttrs: false,
16
+ })
17
+
18
+ const props = withDefaults(
19
+ defineProps<SelectContentProps & { class?: HTMLAttributes['class'] }>(),
20
+ {
21
+ position: 'popper',
22
+ },
23
+ )
24
+ const emits = defineEmits<SelectContentEmits>()
25
+
26
+ const delegatedProps = computed(() => {
27
+ const { class: _, ...delegated } = props
28
+
29
+ return delegated
30
+ })
31
+
32
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
33
+ </script>
34
+
35
+ <template>
36
+ <SelectPortal>
37
+ <SelectContent
38
+ v-bind="{ ...forwarded, ...$attrs }" :class="cn(
39
+ 'sveda-chat relative z-50 max-h-96 min-w-32 overflow-hidden rounded-[var(--sveda-radius)] border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',
40
+ position === 'popper'
41
+ && 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
42
+ props.class,
43
+ )
44
+ "
45
+ >
46
+ <SelectScrollUpButton />
47
+ <SelectViewport :class="cn('p-1', position === 'popper' && 'h-[--reka-select-trigger-height] w-full min-w-[--reka-select-trigger-width]')">
48
+ <slot />
49
+ </SelectViewport>
50
+ <SelectScrollDownButton />
51
+ </SelectContent>
52
+ </SelectPortal>
53
+ </template>
@@ -0,0 +1,19 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js'
3
+ import { SelectGroup, type SelectGroupProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
+
6
+ const props = defineProps<SelectGroupProps & { class?: HTMLAttributes['class'] }>()
7
+
8
+ const delegatedProps = computed(() => {
9
+ const { class: _, ...delegated } = props
10
+
11
+ return delegated
12
+ })
13
+ </script>
14
+
15
+ <template>
16
+ <SelectGroup :class="cn('p-1 w-full', props.class)" v-bind="delegatedProps">
17
+ <slot />
18
+ </SelectGroup>
19
+ </template>
@@ -0,0 +1,44 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js'
3
+ import { Check } from 'lucide-vue-next'
4
+ import {
5
+ SelectItem,
6
+ SelectItemIndicator,
7
+ type SelectItemProps,
8
+ SelectItemText,
9
+ useForwardProps,
10
+ } from 'reka-ui'
11
+ import { computed, type HTMLAttributes } from 'vue'
12
+
13
+ const props = defineProps<SelectItemProps & { class?: HTMLAttributes['class'] }>()
14
+
15
+ const delegatedProps = computed(() => {
16
+ const { class: _, ...delegated } = props
17
+
18
+ return delegated
19
+ })
20
+
21
+ const forwardedProps = useForwardProps(delegatedProps)
22
+ </script>
23
+
24
+ <template>
25
+ <SelectItem
26
+ v-bind="forwardedProps"
27
+ :class="
28
+ cn(
29
+ 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-brand-primary-purple focus:text-input data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
30
+ props.class,
31
+ )
32
+ "
33
+ >
34
+ <span class="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
35
+ <SelectItemIndicator>
36
+ <Check class="h-4 w-4" />
37
+ </SelectItemIndicator>
38
+ </span>
39
+
40
+ <SelectItemText>
41
+ <slot />
42
+ </SelectItemText>
43
+ </SelectItem>
44
+ </template>
@@ -0,0 +1,11 @@
1
+ <script setup lang="ts">
2
+ import { SelectItemText, type SelectItemTextProps } from 'reka-ui'
3
+
4
+ const props = defineProps<SelectItemTextProps>()
5
+ </script>
6
+
7
+ <template>
8
+ <SelectItemText v-bind="props">
9
+ <slot />
10
+ </SelectItemText>
11
+ </template>
@@ -0,0 +1,13 @@
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from 'vue'
3
+ import { cn } from '../../lib/utils.js'
4
+ import { SelectLabel, type SelectLabelProps } from 'reka-ui'
5
+
6
+ const props = defineProps<SelectLabelProps & { class?: HTMLAttributes['class'] }>()
7
+ </script>
8
+
9
+ <template>
10
+ <SelectLabel :class="cn('py-1.5 pl-8 pr-2 text-sm font-semibold', props.class)">
11
+ <slot />
12
+ </SelectLabel>
13
+ </template>
@@ -0,0 +1,24 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js'
3
+ import { ChevronDown } from 'lucide-vue-next'
4
+ import { SelectScrollDownButton, type SelectScrollDownButtonProps, useForwardProps } from 'reka-ui'
5
+ import { computed, type HTMLAttributes } from 'vue'
6
+
7
+ const props = defineProps<SelectScrollDownButtonProps & { class?: HTMLAttributes['class'] }>()
8
+
9
+ const delegatedProps = computed(() => {
10
+ const { class: _, ...delegated } = props
11
+
12
+ return delegated
13
+ })
14
+
15
+ const forwardedProps = useForwardProps(delegatedProps)
16
+ </script>
17
+
18
+ <template>
19
+ <SelectScrollDownButton v-bind="forwardedProps" :class="cn('flex cursor-default items-center justify-center py-1', props.class)">
20
+ <slot>
21
+ <ChevronDown class="h-4 w-4" />
22
+ </slot>
23
+ </SelectScrollDownButton>
24
+ </template>
@@ -0,0 +1,24 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js'
3
+ import { ChevronUp } from 'lucide-vue-next'
4
+ import { SelectScrollUpButton, type SelectScrollUpButtonProps, useForwardProps } from 'reka-ui'
5
+ import { computed, type HTMLAttributes } from 'vue'
6
+
7
+ const props = defineProps<SelectScrollUpButtonProps & { class?: HTMLAttributes['class'] }>()
8
+
9
+ const delegatedProps = computed(() => {
10
+ const { class: _, ...delegated } = props
11
+
12
+ return delegated
13
+ })
14
+
15
+ const forwardedProps = useForwardProps(delegatedProps)
16
+ </script>
17
+
18
+ <template>
19
+ <SelectScrollUpButton v-bind="forwardedProps" :class="cn('flex cursor-default items-center justify-center py-1', props.class)">
20
+ <slot>
21
+ <ChevronUp class="h-4 w-4" />
22
+ </slot>
23
+ </SelectScrollUpButton>
24
+ </template>
@@ -0,0 +1,17 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js'
3
+ import { SelectSeparator, type SelectSeparatorProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
+
6
+ const props = defineProps<SelectSeparatorProps & { class?: HTMLAttributes['class'] }>()
7
+
8
+ const delegatedProps = computed(() => {
9
+ const { class: _, ...delegated } = props
10
+
11
+ return delegated
12
+ })
13
+ </script>
14
+
15
+ <template>
16
+ <SelectSeparator v-bind="delegatedProps" :class="cn('-mx-1 my-1 h-px bg-muted', props.class)" />
17
+ </template>
@@ -0,0 +1,31 @@
1
+ <script setup lang="ts">
2
+ import { cn } from '../../lib/utils.js'
3
+ import { ChevronDown } from 'lucide-vue-next'
4
+ import { SelectIcon, SelectTrigger, type SelectTriggerProps, useForwardProps } from 'reka-ui'
5
+ import { computed, type HTMLAttributes } from 'vue'
6
+
7
+ const props = defineProps<SelectTriggerProps & { class?: HTMLAttributes['class'] }>()
8
+
9
+ const delegatedProps = computed(() => {
10
+ const { class: _, ...delegated } = props
11
+
12
+ return delegated
13
+ })
14
+
15
+ const forwardedProps = useForwardProps(delegatedProps)
16
+ </script>
17
+
18
+ <template>
19
+ <SelectTrigger
20
+ v-bind="forwardedProps"
21
+ :class="cn(
22
+ 'flex h-10 w-full items-center justify-between rounded-[var(--sveda-radius)] border border-input-border bg-input px-3 py-2 text-sm ring-offset-card data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:truncate text-start',
23
+ props.class,
24
+ )"
25
+ >
26
+ <slot />
27
+ <SelectIcon as-child>
28
+ <ChevronDown class="w-4 h-4 opacity-50 shrink-0" />
29
+ </SelectIcon>
30
+ </SelectTrigger>
31
+ </template>
@@ -0,0 +1,11 @@
1
+ <script setup lang="ts">
2
+ import { SelectValue, type SelectValueProps } from 'reka-ui'
3
+
4
+ const props = defineProps<SelectValueProps>()
5
+ </script>
6
+
7
+ <template>
8
+ <SelectValue v-bind="props">
9
+ <slot />
10
+ </SelectValue>
11
+ </template>