@nuxt/ui 4.9.0 → 4.10.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 (573) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +7 -2
  3. package/dist/runtime/components/Accordion.d.vue.ts +2 -2
  4. package/dist/runtime/components/Accordion.vue +1 -1
  5. package/dist/runtime/components/Accordion.vue.d.ts +2 -2
  6. package/dist/runtime/components/Alert.d.vue.ts +4 -1
  7. package/dist/runtime/components/Alert.vue +1 -1
  8. package/dist/runtime/components/Alert.vue.d.ts +4 -1
  9. package/dist/runtime/components/App.d.vue.ts +3 -3
  10. package/dist/runtime/components/App.vue.d.ts +3 -3
  11. package/dist/runtime/components/AuthForm.d.vue.ts +11 -2
  12. package/dist/runtime/components/AuthForm.vue +22 -13
  13. package/dist/runtime/components/AuthForm.vue.d.ts +11 -2
  14. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  15. package/dist/runtime/components/Avatar.vue +3 -3
  16. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  17. package/dist/runtime/components/AvatarGroup.vue +1 -1
  18. package/dist/runtime/components/Badge.vue +1 -1
  19. package/dist/runtime/components/Banner.d.vue.ts +3 -1
  20. package/dist/runtime/components/Banner.vue +4 -3
  21. package/dist/runtime/components/Banner.vue.d.ts +3 -1
  22. package/dist/runtime/components/BlogPost.d.vue.ts +5 -3
  23. package/dist/runtime/components/BlogPost.vue +11 -4
  24. package/dist/runtime/components/BlogPost.vue.d.ts +5 -3
  25. package/dist/runtime/components/BlogPosts.d.vue.ts +2 -2
  26. package/dist/runtime/components/BlogPosts.vue +1 -1
  27. package/dist/runtime/components/BlogPosts.vue.d.ts +2 -2
  28. package/dist/runtime/components/Breadcrumb.d.vue.ts +4 -2
  29. package/dist/runtime/components/Breadcrumb.vue +1 -1
  30. package/dist/runtime/components/Breadcrumb.vue.d.ts +4 -2
  31. package/dist/runtime/components/Button.d.vue.ts +2 -2
  32. package/dist/runtime/components/Button.vue +2 -2
  33. package/dist/runtime/components/Button.vue.d.ts +2 -2
  34. package/dist/runtime/components/Calendar.d.vue.ts +4 -2
  35. package/dist/runtime/components/Calendar.vue +1 -1
  36. package/dist/runtime/components/Calendar.vue.d.ts +4 -2
  37. package/dist/runtime/components/Card.vue +1 -1
  38. package/dist/runtime/components/Carousel.d.vue.ts +4 -2
  39. package/dist/runtime/components/Carousel.vue +2 -5
  40. package/dist/runtime/components/Carousel.vue.d.ts +4 -2
  41. package/dist/runtime/components/ChangelogVersion.d.vue.ts +4 -2
  42. package/dist/runtime/components/ChangelogVersion.vue +4 -4
  43. package/dist/runtime/components/ChangelogVersion.vue.d.ts +4 -2
  44. package/dist/runtime/components/ChangelogVersions.d.vue.ts +2 -2
  45. package/dist/runtime/components/ChangelogVersions.vue +1 -1
  46. package/dist/runtime/components/ChangelogVersions.vue.d.ts +2 -2
  47. package/dist/runtime/components/ChatMessage.d.vue.ts +4 -2
  48. package/dist/runtime/components/ChatMessage.vue +1 -1
  49. package/dist/runtime/components/ChatMessage.vue.d.ts +4 -2
  50. package/dist/runtime/components/ChatMessages.d.vue.ts +5 -2
  51. package/dist/runtime/components/ChatMessages.vue +4 -4
  52. package/dist/runtime/components/ChatMessages.vue.d.ts +5 -2
  53. package/dist/runtime/components/ChatPalette.vue +1 -1
  54. package/dist/runtime/components/ChatPrompt.d.vue.ts +15 -1
  55. package/dist/runtime/components/ChatPrompt.vue +31 -20
  56. package/dist/runtime/components/ChatPrompt.vue.d.ts +15 -1
  57. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +6 -4
  58. package/dist/runtime/components/ChatPromptSubmit.vue +1 -1
  59. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +6 -4
  60. package/dist/runtime/components/ChatReasoning.d.vue.ts +2 -2
  61. package/dist/runtime/components/ChatReasoning.vue +1 -1
  62. package/dist/runtime/components/ChatReasoning.vue.d.ts +2 -2
  63. package/dist/runtime/components/ChatShimmer.vue +1 -1
  64. package/dist/runtime/components/ChatTool.d.vue.ts +9 -2
  65. package/dist/runtime/components/ChatTool.vue +20 -2
  66. package/dist/runtime/components/ChatTool.vue.d.ts +9 -2
  67. package/dist/runtime/components/Checkbox.d.vue.ts +2 -2
  68. package/dist/runtime/components/Checkbox.vue +2 -2
  69. package/dist/runtime/components/Checkbox.vue.d.ts +2 -2
  70. package/dist/runtime/components/CheckboxGroup.d.vue.ts +2 -2
  71. package/dist/runtime/components/CheckboxGroup.vue.d.ts +2 -2
  72. package/dist/runtime/components/Chip.vue +3 -3
  73. package/dist/runtime/components/Collapsible.vue +1 -1
  74. package/dist/runtime/components/ColorPicker.vue +1 -1
  75. package/dist/runtime/components/CommandPalette.d.vue.ts +13 -7
  76. package/dist/runtime/components/CommandPalette.vue +2 -2
  77. package/dist/runtime/components/CommandPalette.vue.d.ts +13 -7
  78. package/dist/runtime/components/Container.vue +1 -1
  79. package/dist/runtime/components/ContextMenu.d.vue.ts +5 -2
  80. package/dist/runtime/components/ContextMenu.vue +1 -1
  81. package/dist/runtime/components/ContextMenu.vue.d.ts +5 -2
  82. package/dist/runtime/components/ContextMenuContent.d.vue.ts +3 -2
  83. package/dist/runtime/components/ContextMenuContent.vue +1 -0
  84. package/dist/runtime/components/ContextMenuContent.vue.d.ts +3 -2
  85. package/dist/runtime/components/DashboardGroup.d.vue.ts +1 -1
  86. package/dist/runtime/components/DashboardGroup.vue +1 -1
  87. package/dist/runtime/components/DashboardGroup.vue.d.ts +1 -1
  88. package/dist/runtime/components/DashboardNavbar.d.vue.ts +3 -1
  89. package/dist/runtime/components/DashboardNavbar.vue +2 -2
  90. package/dist/runtime/components/DashboardNavbar.vue.d.ts +3 -1
  91. package/dist/runtime/components/DashboardPanel.vue +2 -2
  92. package/dist/runtime/components/DashboardResizeHandle.vue +1 -1
  93. package/dist/runtime/components/DashboardSearch.d.vue.ts +8 -4
  94. package/dist/runtime/components/DashboardSearch.vue +3 -2
  95. package/dist/runtime/components/DashboardSearch.vue.d.ts +8 -4
  96. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +7 -3
  97. package/dist/runtime/components/DashboardSearchButton.vue +1 -1
  98. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +7 -3
  99. package/dist/runtime/components/DashboardSidebar.d.vue.ts +6 -2
  100. package/dist/runtime/components/DashboardSidebar.vue +2 -2
  101. package/dist/runtime/components/DashboardSidebar.vue.d.ts +6 -2
  102. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +3 -2
  103. package/dist/runtime/components/DashboardSidebarCollapse.vue +1 -1
  104. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +3 -2
  105. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +3 -2
  106. package/dist/runtime/components/DashboardSidebarToggle.vue +1 -1
  107. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +3 -2
  108. package/dist/runtime/components/DashboardToolbar.vue +1 -1
  109. package/dist/runtime/components/Drawer.d.vue.ts +23 -4
  110. package/dist/runtime/components/Drawer.vue +39 -13
  111. package/dist/runtime/components/Drawer.vue.d.ts +23 -4
  112. package/dist/runtime/components/DropdownMenu.d.vue.ts +6 -2
  113. package/dist/runtime/components/DropdownMenu.vue +1 -1
  114. package/dist/runtime/components/DropdownMenu.vue.d.ts +6 -2
  115. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +6 -4
  116. package/dist/runtime/components/DropdownMenuContent.vue +1 -0
  117. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +6 -4
  118. package/dist/runtime/components/Editor.d.vue.ts +3 -2
  119. package/dist/runtime/components/Editor.vue +40 -17
  120. package/dist/runtime/components/Editor.vue.d.ts +3 -2
  121. package/dist/runtime/components/EditorDragHandle.d.vue.ts +5 -3
  122. package/dist/runtime/components/EditorDragHandle.vue +2 -2
  123. package/dist/runtime/components/EditorDragHandle.vue.d.ts +5 -3
  124. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +1 -1
  125. package/dist/runtime/components/EditorEmojiMenu.vue +1 -1
  126. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +1 -1
  127. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +3 -2
  128. package/dist/runtime/components/EditorMentionMenu.vue +1 -1
  129. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +3 -2
  130. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +2 -2
  131. package/dist/runtime/components/EditorSuggestionMenu.vue +1 -1
  132. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +2 -2
  133. package/dist/runtime/components/EditorToolbar.d.vue.ts +5 -2
  134. package/dist/runtime/components/EditorToolbar.vue +1 -1
  135. package/dist/runtime/components/EditorToolbar.vue.d.ts +5 -2
  136. package/dist/runtime/components/Empty.d.vue.ts +11 -1
  137. package/dist/runtime/components/Empty.vue +9 -5
  138. package/dist/runtime/components/Empty.vue.d.ts +11 -1
  139. package/dist/runtime/components/Error.d.vue.ts +2 -1
  140. package/dist/runtime/components/Error.vue +1 -1
  141. package/dist/runtime/components/Error.vue.d.ts +2 -1
  142. package/dist/runtime/components/FieldGroup.vue +1 -1
  143. package/dist/runtime/components/FileUpload.d.vue.ts +4 -2
  144. package/dist/runtime/components/FileUpload.vue +4 -3
  145. package/dist/runtime/components/FileUpload.vue.d.ts +4 -2
  146. package/dist/runtime/components/Footer.vue +1 -1
  147. package/dist/runtime/components/FooterColumns.d.vue.ts +3 -2
  148. package/dist/runtime/components/FooterColumns.vue +1 -1
  149. package/dist/runtime/components/FooterColumns.vue.d.ts +3 -2
  150. package/dist/runtime/components/Form.d.vue.ts +2 -2
  151. package/dist/runtime/components/Form.vue +1 -1
  152. package/dist/runtime/components/Form.vue.d.ts +2 -2
  153. package/dist/runtime/components/FormField.vue +1 -1
  154. package/dist/runtime/components/Header.d.vue.ts +6 -2
  155. package/dist/runtime/components/Header.vue +2 -2
  156. package/dist/runtime/components/Header.vue.d.ts +6 -2
  157. package/dist/runtime/components/Input.d.vue.ts +1 -1
  158. package/dist/runtime/components/Input.vue +3 -3
  159. package/dist/runtime/components/Input.vue.d.ts +1 -1
  160. package/dist/runtime/components/InputDate.d.vue.ts +2 -2
  161. package/dist/runtime/components/InputDate.vue +4 -3
  162. package/dist/runtime/components/InputDate.vue.d.ts +2 -2
  163. package/dist/runtime/components/InputMenu.d.vue.ts +49 -45
  164. package/dist/runtime/components/InputMenu.vue +8 -5
  165. package/dist/runtime/components/InputMenu.vue.d.ts +49 -45
  166. package/dist/runtime/components/InputNumber.d.vue.ts +4 -2
  167. package/dist/runtime/components/InputNumber.vue +2 -2
  168. package/dist/runtime/components/InputNumber.vue.d.ts +4 -2
  169. package/dist/runtime/components/InputRating.d.vue.ts +79 -0
  170. package/dist/runtime/components/InputRating.vue +109 -0
  171. package/dist/runtime/components/InputRating.vue.d.ts +79 -0
  172. package/dist/runtime/components/InputTags.d.vue.ts +2 -2
  173. package/dist/runtime/components/InputTags.vue +2 -2
  174. package/dist/runtime/components/InputTags.vue.d.ts +2 -2
  175. package/dist/runtime/components/InputTime.d.vue.ts +2 -2
  176. package/dist/runtime/components/InputTime.vue +3 -3
  177. package/dist/runtime/components/InputTime.vue.d.ts +2 -2
  178. package/dist/runtime/components/Kbd.vue +1 -1
  179. package/dist/runtime/components/Link.d.vue.ts +2 -2
  180. package/dist/runtime/components/Link.vue +18 -10
  181. package/dist/runtime/components/Link.vue.d.ts +2 -2
  182. package/dist/runtime/components/LinkBase.d.vue.ts +3 -3
  183. package/dist/runtime/components/LinkBase.vue.d.ts +3 -3
  184. package/dist/runtime/components/Listbox.d.vue.ts +16 -13
  185. package/dist/runtime/components/Listbox.vue +2 -2
  186. package/dist/runtime/components/Listbox.vue.d.ts +16 -13
  187. package/dist/runtime/components/Main.vue +1 -1
  188. package/dist/runtime/components/Marquee.vue +1 -1
  189. package/dist/runtime/components/Modal.d.vue.ts +8 -6
  190. package/dist/runtime/components/Modal.vue +5 -4
  191. package/dist/runtime/components/Modal.vue.d.ts +8 -6
  192. package/dist/runtime/components/NavigationMenu.d.vue.ts +8 -2
  193. package/dist/runtime/components/NavigationMenu.vue +2 -2
  194. package/dist/runtime/components/NavigationMenu.vue.d.ts +8 -2
  195. package/dist/runtime/components/Page.vue +1 -1
  196. package/dist/runtime/components/PageAnchors.d.vue.ts +3 -2
  197. package/dist/runtime/components/PageAnchors.vue +1 -1
  198. package/dist/runtime/components/PageAnchors.vue.d.ts +3 -2
  199. package/dist/runtime/components/PageAside.vue +1 -1
  200. package/dist/runtime/components/PageBody.vue +1 -1
  201. package/dist/runtime/components/PageCTA.d.vue.ts +1 -1
  202. package/dist/runtime/components/PageCTA.vue +1 -1
  203. package/dist/runtime/components/PageCTA.vue.d.ts +1 -1
  204. package/dist/runtime/components/PageCard.d.vue.ts +3 -2
  205. package/dist/runtime/components/PageCard.vue +4 -3
  206. package/dist/runtime/components/PageCard.vue.d.ts +3 -2
  207. package/dist/runtime/components/PageColumns.vue +1 -1
  208. package/dist/runtime/components/PageFeature.d.vue.ts +3 -2
  209. package/dist/runtime/components/PageFeature.vue +10 -3
  210. package/dist/runtime/components/PageFeature.vue.d.ts +3 -2
  211. package/dist/runtime/components/PageGrid.vue +1 -1
  212. package/dist/runtime/components/PageHeader.d.vue.ts +1 -1
  213. package/dist/runtime/components/PageHeader.vue +1 -1
  214. package/dist/runtime/components/PageHeader.vue.d.ts +1 -1
  215. package/dist/runtime/components/PageHero.d.vue.ts +1 -1
  216. package/dist/runtime/components/PageHero.vue +1 -1
  217. package/dist/runtime/components/PageHero.vue.d.ts +1 -1
  218. package/dist/runtime/components/PageLinks.d.vue.ts +3 -2
  219. package/dist/runtime/components/PageLinks.vue +1 -1
  220. package/dist/runtime/components/PageLinks.vue.d.ts +3 -2
  221. package/dist/runtime/components/PageList.vue +1 -1
  222. package/dist/runtime/components/PageLogos.d.vue.ts +1 -1
  223. package/dist/runtime/components/PageLogos.vue +2 -2
  224. package/dist/runtime/components/PageLogos.vue.d.ts +1 -1
  225. package/dist/runtime/components/PageSection.d.vue.ts +4 -2
  226. package/dist/runtime/components/PageSection.vue +1 -1
  227. package/dist/runtime/components/PageSection.vue.d.ts +4 -2
  228. package/dist/runtime/components/Pagination.d.vue.ts +4 -3
  229. package/dist/runtime/components/Pagination.vue +1 -1
  230. package/dist/runtime/components/Pagination.vue.d.ts +4 -3
  231. package/dist/runtime/components/PinInput.d.vue.ts +1 -1
  232. package/dist/runtime/components/PinInput.vue +1 -1
  233. package/dist/runtime/components/PinInput.vue.d.ts +1 -1
  234. package/dist/runtime/components/Popover.d.vue.ts +4 -4
  235. package/dist/runtime/components/Popover.vue +4 -3
  236. package/dist/runtime/components/Popover.vue.d.ts +4 -4
  237. package/dist/runtime/components/PricingPlan.d.vue.ts +3 -1
  238. package/dist/runtime/components/PricingPlan.vue +2 -2
  239. package/dist/runtime/components/PricingPlan.vue.d.ts +3 -1
  240. package/dist/runtime/components/PricingPlans.d.vue.ts +2 -2
  241. package/dist/runtime/components/PricingPlans.vue +1 -1
  242. package/dist/runtime/components/PricingPlans.vue.d.ts +2 -2
  243. package/dist/runtime/components/PricingTable.d.vue.ts +2 -2
  244. package/dist/runtime/components/PricingTable.vue +2 -2
  245. package/dist/runtime/components/PricingTable.vue.d.ts +2 -2
  246. package/dist/runtime/components/Progress.vue +1 -1
  247. package/dist/runtime/components/RadioGroup.d.vue.ts +1 -1
  248. package/dist/runtime/components/RadioGroup.vue +1 -1
  249. package/dist/runtime/components/RadioGroup.vue.d.ts +1 -1
  250. package/dist/runtime/components/ScrollArea.d.vue.ts +8 -2
  251. package/dist/runtime/components/ScrollArea.vue +25 -19
  252. package/dist/runtime/components/ScrollArea.vue.d.ts +8 -2
  253. package/dist/runtime/components/Select.d.vue.ts +4 -2
  254. package/dist/runtime/components/Select.vue +3 -2
  255. package/dist/runtime/components/Select.vue.d.ts +4 -2
  256. package/dist/runtime/components/SelectMenu.d.vue.ts +50 -45
  257. package/dist/runtime/components/SelectMenu.vue +2 -2
  258. package/dist/runtime/components/SelectMenu.vue.d.ts +50 -45
  259. package/dist/runtime/components/Separator.d.vue.ts +3 -2
  260. package/dist/runtime/components/Separator.vue +3 -2
  261. package/dist/runtime/components/Separator.vue.d.ts +3 -2
  262. package/dist/runtime/components/Sidebar.d.vue.ts +7 -2
  263. package/dist/runtime/components/Sidebar.vue +3 -3
  264. package/dist/runtime/components/Sidebar.vue.d.ts +7 -2
  265. package/dist/runtime/components/Skeleton.vue +1 -1
  266. package/dist/runtime/components/Slideover.d.vue.ts +9 -7
  267. package/dist/runtime/components/Slideover.vue +5 -4
  268. package/dist/runtime/components/Slideover.vue.d.ts +9 -7
  269. package/dist/runtime/components/Slider.d.vue.ts +2 -2
  270. package/dist/runtime/components/Slider.vue +1 -1
  271. package/dist/runtime/components/Slider.vue.d.ts +2 -2
  272. package/dist/runtime/components/Stepper.d.vue.ts +2 -2
  273. package/dist/runtime/components/Stepper.vue +1 -1
  274. package/dist/runtime/components/Stepper.vue.d.ts +2 -2
  275. package/dist/runtime/components/Switch.d.vue.ts +2 -2
  276. package/dist/runtime/components/Switch.vue +2 -2
  277. package/dist/runtime/components/Switch.vue.d.ts +2 -2
  278. package/dist/runtime/components/Table.d.vue.ts +8 -2
  279. package/dist/runtime/components/Table.vue +13 -6
  280. package/dist/runtime/components/Table.vue.d.ts +8 -2
  281. package/dist/runtime/components/Tabs.d.vue.ts +4 -2
  282. package/dist/runtime/components/Tabs.vue +1 -1
  283. package/dist/runtime/components/Tabs.vue.d.ts +4 -2
  284. package/dist/runtime/components/Textarea.d.vue.ts +1 -1
  285. package/dist/runtime/components/Textarea.vue +3 -3
  286. package/dist/runtime/components/Textarea.vue.d.ts +1 -1
  287. package/dist/runtime/components/Theme.d.vue.ts +1 -1
  288. package/dist/runtime/components/Theme.vue.d.ts +1 -1
  289. package/dist/runtime/components/Timeline.d.vue.ts +3 -2
  290. package/dist/runtime/components/Timeline.vue +1 -1
  291. package/dist/runtime/components/Timeline.vue.d.ts +3 -2
  292. package/dist/runtime/components/Toast.d.vue.ts +7 -3
  293. package/dist/runtime/components/Toast.vue +1 -1
  294. package/dist/runtime/components/Toast.vue.d.ts +7 -3
  295. package/dist/runtime/components/Toaster.d.vue.ts +1 -1
  296. package/dist/runtime/components/Toaster.vue +1 -1
  297. package/dist/runtime/components/Toaster.vue.d.ts +1 -1
  298. package/dist/runtime/components/Tooltip.d.vue.ts +1 -1
  299. package/dist/runtime/components/Tooltip.vue +1 -1
  300. package/dist/runtime/components/Tooltip.vue.d.ts +1 -1
  301. package/dist/runtime/components/Tree.d.vue.ts +2 -2
  302. package/dist/runtime/components/Tree.vue +2 -2
  303. package/dist/runtime/components/Tree.vue.d.ts +2 -2
  304. package/dist/runtime/components/User.d.vue.ts +4 -2
  305. package/dist/runtime/components/User.vue +10 -3
  306. package/dist/runtime/components/User.vue.d.ts +4 -2
  307. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +1 -1
  308. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +1 -1
  309. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -2
  310. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -2
  311. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  312. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  313. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  314. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  315. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +4 -2
  316. package/dist/runtime/components/content/ContentNavigation.vue +3 -3
  317. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +4 -2
  318. package/dist/runtime/components/content/ContentSearch.d.vue.ts +8 -3
  319. package/dist/runtime/components/content/ContentSearch.vue +3 -2
  320. package/dist/runtime/components/content/ContentSearch.vue.d.ts +8 -3
  321. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +7 -3
  322. package/dist/runtime/components/content/ContentSearchButton.vue +1 -1
  323. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +7 -3
  324. package/dist/runtime/components/content/ContentSurround.d.vue.ts +2 -2
  325. package/dist/runtime/components/content/ContentSurround.vue +2 -2
  326. package/dist/runtime/components/content/ContentSurround.vue.d.ts +2 -2
  327. package/dist/runtime/components/content/ContentToc.d.vue.ts +2 -2
  328. package/dist/runtime/components/content/ContentToc.vue +33 -7
  329. package/dist/runtime/components/content/ContentToc.vue.d.ts +2 -2
  330. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -1
  331. package/dist/runtime/components/locale/LocaleSelect.vue +8 -0
  332. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -1
  333. package/dist/runtime/components/prose/A.vue +1 -1
  334. package/dist/runtime/components/prose/Accordion.d.vue.ts +1 -1
  335. package/dist/runtime/components/prose/Accordion.vue +1 -1
  336. package/dist/runtime/components/prose/Accordion.vue.d.ts +1 -1
  337. package/dist/runtime/components/prose/AccordionItem.vue +1 -1
  338. package/dist/runtime/components/prose/Badge.vue +1 -1
  339. package/dist/runtime/components/prose/Blockquote.vue +1 -1
  340. package/dist/runtime/components/prose/Callout.d.vue.ts +2 -1
  341. package/dist/runtime/components/prose/Callout.vue +2 -2
  342. package/dist/runtime/components/prose/Callout.vue.d.ts +2 -1
  343. package/dist/runtime/components/prose/Card.d.vue.ts +2 -1
  344. package/dist/runtime/components/prose/Card.vue +2 -2
  345. package/dist/runtime/components/prose/Card.vue.d.ts +2 -1
  346. package/dist/runtime/components/prose/CardGroup.vue +1 -1
  347. package/dist/runtime/components/prose/Code.vue +1 -1
  348. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +1 -1
  349. package/dist/runtime/components/prose/CodeCollapse.vue +1 -1
  350. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +1 -1
  351. package/dist/runtime/components/prose/CodeGroup.vue +1 -1
  352. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +1 -1
  353. package/dist/runtime/components/prose/CodeIcon.vue.d.ts +1 -1
  354. package/dist/runtime/components/prose/CodePreview.vue +1 -1
  355. package/dist/runtime/components/prose/CodeTree.vue +1 -1
  356. package/dist/runtime/components/prose/Collapsible.d.vue.ts +2 -1
  357. package/dist/runtime/components/prose/Collapsible.vue +1 -1
  358. package/dist/runtime/components/prose/Collapsible.vue.d.ts +2 -1
  359. package/dist/runtime/components/prose/Em.vue +1 -1
  360. package/dist/runtime/components/prose/Field.vue +1 -1
  361. package/dist/runtime/components/prose/FieldGroup.vue +1 -1
  362. package/dist/runtime/components/prose/H1.d.vue.ts +5 -0
  363. package/dist/runtime/components/prose/H1.vue +3 -2
  364. package/dist/runtime/components/prose/H1.vue.d.ts +5 -0
  365. package/dist/runtime/components/prose/H2.d.vue.ts +6 -0
  366. package/dist/runtime/components/prose/H2.vue +3 -2
  367. package/dist/runtime/components/prose/H2.vue.d.ts +6 -0
  368. package/dist/runtime/components/prose/H3.d.vue.ts +6 -0
  369. package/dist/runtime/components/prose/H3.vue +3 -2
  370. package/dist/runtime/components/prose/H3.vue.d.ts +6 -0
  371. package/dist/runtime/components/prose/H4.d.vue.ts +6 -0
  372. package/dist/runtime/components/prose/H4.vue +3 -2
  373. package/dist/runtime/components/prose/H4.vue.d.ts +6 -0
  374. package/dist/runtime/components/prose/Hr.vue +1 -1
  375. package/dist/runtime/components/prose/Icon.vue +1 -1
  376. package/dist/runtime/components/prose/Img.vue +1 -1
  377. package/dist/runtime/components/prose/Kbd.vue +1 -1
  378. package/dist/runtime/components/prose/Li.vue +1 -1
  379. package/dist/runtime/components/prose/Ol.vue +1 -1
  380. package/dist/runtime/components/prose/P.vue +1 -1
  381. package/dist/runtime/components/prose/Pre.d.vue.ts +12 -2
  382. package/dist/runtime/components/prose/Pre.vue +6 -3
  383. package/dist/runtime/components/prose/Pre.vue.d.ts +12 -2
  384. package/dist/runtime/components/prose/Prompt.d.vue.ts +4 -3
  385. package/dist/runtime/components/prose/Prompt.vue +21 -11
  386. package/dist/runtime/components/prose/Prompt.vue.d.ts +4 -3
  387. package/dist/runtime/components/prose/Steps.vue +1 -1
  388. package/dist/runtime/components/prose/Strong.vue +1 -1
  389. package/dist/runtime/components/prose/Table.vue +1 -1
  390. package/dist/runtime/components/prose/Tabs.d.vue.ts +1 -1
  391. package/dist/runtime/components/prose/Tabs.vue +1 -1
  392. package/dist/runtime/components/prose/Tabs.vue.d.ts +1 -1
  393. package/dist/runtime/components/prose/TabsItem.vue +1 -1
  394. package/dist/runtime/components/prose/Tbody.vue +1 -1
  395. package/dist/runtime/components/prose/Td.vue +1 -1
  396. package/dist/runtime/components/prose/Th.vue +1 -1
  397. package/dist/runtime/components/prose/Thead.vue +1 -1
  398. package/dist/runtime/components/prose/Tr.vue +1 -1
  399. package/dist/runtime/components/prose/Ul.vue +1 -1
  400. package/dist/runtime/composables/defineShortcuts.js +42 -5
  401. package/dist/runtime/composables/useAvatarGroup.d.ts +3 -3
  402. package/dist/runtime/composables/useComponentIcons.d.ts +2 -1
  403. package/dist/runtime/composables/useComponentProps.d.ts +3 -157
  404. package/dist/runtime/composables/useComponentProps.js +4 -2
  405. package/dist/runtime/composables/useEditorMenu.d.ts +2 -1
  406. package/dist/runtime/composables/useEditorMenu.js +8 -2
  407. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  408. package/dist/runtime/composables/useFileUpload.js +3 -4
  409. package/dist/runtime/composables/useFormField.d.ts +2 -2
  410. package/dist/runtime/composables/useResizable.js +24 -43
  411. package/dist/runtime/composables/useScrollspy.js +20 -12
  412. package/dist/runtime/composables/useToast.d.ts +1 -1
  413. package/dist/runtime/composables/useToast.js +22 -7
  414. package/dist/runtime/locale/ar.d.ts +1 -1
  415. package/dist/runtime/locale/ar.js +3 -0
  416. package/dist/runtime/locale/az.d.ts +1 -1
  417. package/dist/runtime/locale/az.js +3 -0
  418. package/dist/runtime/locale/be.d.ts +1 -1
  419. package/dist/runtime/locale/be.js +3 -0
  420. package/dist/runtime/locale/bg.d.ts +1 -1
  421. package/dist/runtime/locale/bg.js +3 -0
  422. package/dist/runtime/locale/bn.d.ts +1 -1
  423. package/dist/runtime/locale/bn.js +3 -0
  424. package/dist/runtime/locale/ca.d.ts +1 -1
  425. package/dist/runtime/locale/ca.js +3 -0
  426. package/dist/runtime/locale/ckb.d.ts +1 -1
  427. package/dist/runtime/locale/ckb.js +3 -0
  428. package/dist/runtime/locale/cs.d.ts +1 -1
  429. package/dist/runtime/locale/cs.js +3 -0
  430. package/dist/runtime/locale/da.d.ts +1 -1
  431. package/dist/runtime/locale/da.js +3 -0
  432. package/dist/runtime/locale/de.d.ts +1 -1
  433. package/dist/runtime/locale/de.js +3 -0
  434. package/dist/runtime/locale/de_ch.d.ts +1 -1
  435. package/dist/runtime/locale/de_ch.js +3 -0
  436. package/dist/runtime/locale/el.d.ts +1 -1
  437. package/dist/runtime/locale/el.js +3 -0
  438. package/dist/runtime/locale/en.d.ts +1 -1
  439. package/dist/runtime/locale/en.js +3 -0
  440. package/dist/runtime/locale/en_gb.d.ts +1 -1
  441. package/dist/runtime/locale/es.d.ts +1 -1
  442. package/dist/runtime/locale/es.js +3 -0
  443. package/dist/runtime/locale/et.d.ts +1 -1
  444. package/dist/runtime/locale/et.js +3 -0
  445. package/dist/runtime/locale/eu.d.ts +1 -1
  446. package/dist/runtime/locale/eu.js +3 -0
  447. package/dist/runtime/locale/fa_ir.d.ts +1 -1
  448. package/dist/runtime/locale/fa_ir.js +3 -0
  449. package/dist/runtime/locale/fi.d.ts +1 -1
  450. package/dist/runtime/locale/fi.js +3 -0
  451. package/dist/runtime/locale/fr.d.ts +1 -1
  452. package/dist/runtime/locale/fr.js +3 -0
  453. package/dist/runtime/locale/gl.d.ts +1 -1
  454. package/dist/runtime/locale/gl.js +3 -0
  455. package/dist/runtime/locale/he.d.ts +1 -1
  456. package/dist/runtime/locale/he.js +3 -0
  457. package/dist/runtime/locale/hi.d.ts +1 -1
  458. package/dist/runtime/locale/hi.js +3 -0
  459. package/dist/runtime/locale/hr.d.ts +1 -1
  460. package/dist/runtime/locale/hr.js +3 -0
  461. package/dist/runtime/locale/hu.d.ts +1 -1
  462. package/dist/runtime/locale/hu.js +3 -0
  463. package/dist/runtime/locale/hy.d.ts +1 -1
  464. package/dist/runtime/locale/hy.js +3 -0
  465. package/dist/runtime/locale/id.d.ts +1 -1
  466. package/dist/runtime/locale/id.js +3 -0
  467. package/dist/runtime/locale/is.d.ts +1 -1
  468. package/dist/runtime/locale/is.js +3 -0
  469. package/dist/runtime/locale/it.d.ts +1 -1
  470. package/dist/runtime/locale/it.js +3 -0
  471. package/dist/runtime/locale/ja.d.ts +1 -1
  472. package/dist/runtime/locale/ja.js +3 -0
  473. package/dist/runtime/locale/ka.d.ts +1 -1
  474. package/dist/runtime/locale/ka.js +3 -0
  475. package/dist/runtime/locale/kk.d.ts +1 -1
  476. package/dist/runtime/locale/kk.js +3 -0
  477. package/dist/runtime/locale/km.d.ts +1 -1
  478. package/dist/runtime/locale/km.js +3 -0
  479. package/dist/runtime/locale/ko.d.ts +1 -1
  480. package/dist/runtime/locale/ko.js +3 -0
  481. package/dist/runtime/locale/ky.d.ts +1 -1
  482. package/dist/runtime/locale/ky.js +3 -0
  483. package/dist/runtime/locale/lb.d.ts +1 -1
  484. package/dist/runtime/locale/lb.js +3 -0
  485. package/dist/runtime/locale/lo.d.ts +1 -1
  486. package/dist/runtime/locale/lo.js +3 -0
  487. package/dist/runtime/locale/lt.d.ts +1 -1
  488. package/dist/runtime/locale/lt.js +3 -0
  489. package/dist/runtime/locale/lv.d.ts +1 -1
  490. package/dist/runtime/locale/lv.js +3 -0
  491. package/dist/runtime/locale/mn.d.ts +1 -1
  492. package/dist/runtime/locale/mn.js +3 -0
  493. package/dist/runtime/locale/ms.d.ts +1 -1
  494. package/dist/runtime/locale/ms.js +3 -0
  495. package/dist/runtime/locale/nb_no.d.ts +1 -1
  496. package/dist/runtime/locale/nb_no.js +3 -0
  497. package/dist/runtime/locale/nl.d.ts +1 -1
  498. package/dist/runtime/locale/nl.js +3 -0
  499. package/dist/runtime/locale/pl.d.ts +1 -1
  500. package/dist/runtime/locale/pl.js +3 -0
  501. package/dist/runtime/locale/pt.d.ts +1 -1
  502. package/dist/runtime/locale/pt.js +3 -0
  503. package/dist/runtime/locale/pt_br.d.ts +1 -1
  504. package/dist/runtime/locale/pt_br.js +3 -0
  505. package/dist/runtime/locale/ro.d.ts +1 -1
  506. package/dist/runtime/locale/ro.js +3 -0
  507. package/dist/runtime/locale/ru.d.ts +1 -1
  508. package/dist/runtime/locale/ru.js +3 -0
  509. package/dist/runtime/locale/sk.d.ts +1 -1
  510. package/dist/runtime/locale/sk.js +3 -0
  511. package/dist/runtime/locale/sl.d.ts +1 -1
  512. package/dist/runtime/locale/sl.js +3 -0
  513. package/dist/runtime/locale/sq.d.ts +1 -1
  514. package/dist/runtime/locale/sq.js +3 -0
  515. package/dist/runtime/locale/sv.d.ts +1 -1
  516. package/dist/runtime/locale/sv.js +3 -0
  517. package/dist/runtime/locale/th.d.ts +1 -1
  518. package/dist/runtime/locale/th.js +3 -0
  519. package/dist/runtime/locale/tj.d.ts +1 -1
  520. package/dist/runtime/locale/tj.js +3 -0
  521. package/dist/runtime/locale/tr.d.ts +1 -1
  522. package/dist/runtime/locale/tr.js +3 -0
  523. package/dist/runtime/locale/ug_cn.d.ts +1 -1
  524. package/dist/runtime/locale/ug_cn.js +3 -0
  525. package/dist/runtime/locale/uk.d.ts +1 -1
  526. package/dist/runtime/locale/uk.js +3 -0
  527. package/dist/runtime/locale/ur.d.ts +1 -1
  528. package/dist/runtime/locale/ur.js +3 -0
  529. package/dist/runtime/locale/uz.d.ts +1 -1
  530. package/dist/runtime/locale/uz.js +3 -0
  531. package/dist/runtime/locale/vi.d.ts +1 -1
  532. package/dist/runtime/locale/vi.js +3 -0
  533. package/dist/runtime/locale/zh_cn.d.ts +1 -1
  534. package/dist/runtime/locale/zh_cn.js +3 -0
  535. package/dist/runtime/locale/zh_tw.d.ts +1 -1
  536. package/dist/runtime/locale/zh_tw.js +3 -0
  537. package/dist/runtime/plugins/colors.js +5 -1
  538. package/dist/runtime/types/icons.d.ts +5 -0
  539. package/dist/runtime/types/index.d.ts +2 -0
  540. package/dist/runtime/types/index.js +2 -0
  541. package/dist/runtime/types/locale.d.ts +3 -0
  542. package/dist/runtime/types/theme.d.ts +187 -0
  543. package/dist/runtime/types/theme.js +0 -0
  544. package/dist/runtime/types/tv.d.ts +2 -2
  545. package/dist/runtime/utils/ai.d.ts +10 -2
  546. package/dist/runtime/utils/ai.js +4 -1
  547. package/dist/runtime/utils/link.d.ts +1 -1
  548. package/dist/runtime/vue/components/Icon.d.vue.ts +1 -1
  549. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -1
  550. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  551. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  552. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  553. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  554. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +2 -2
  555. package/dist/runtime/vue/overrides/inertia/Link.vue +2 -2
  556. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +2 -2
  557. package/dist/runtime/vue/overrides/inertia/LinkBase.d.vue.ts +3 -3
  558. package/dist/runtime/vue/overrides/inertia/LinkBase.vue.d.ts +3 -3
  559. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +2 -2
  560. package/dist/runtime/vue/overrides/none/Link.vue +8 -7
  561. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +2 -2
  562. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +2 -2
  563. package/dist/runtime/vue/overrides/vue-router/Link.vue +2 -2
  564. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +2 -2
  565. package/dist/runtime/vue/plugins/icons.d.ts +4 -0
  566. package/dist/runtime/vue/plugins/icons.js +13 -0
  567. package/dist/runtime/vue/stubs/inertia.d.ts +1 -1
  568. package/dist/runtime/vue/stubs/inertia.js +3 -1
  569. package/dist/shared/{ui.BfHSFiIO.mjs → ui.XkBrgXFP.mjs} +230 -69
  570. package/dist/unplugin.d.mts +10 -3
  571. package/dist/unplugin.mjs +118 -6
  572. package/dist/vite.mjs +3 -1
  573. package/package.json +45 -37
@@ -2,7 +2,7 @@ import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/button';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
- import type { LinkProps } from '../types';
5
+ import type { LinkProps } from './Link.vue';
6
6
  import type { ComponentConfig } from '../types/tv';
7
7
  type Button = ComponentConfig<typeof theme, AppConfig, 'button'>;
8
8
  export interface ButtonProps extends UseComponentIconsProps, Omit<LinkProps, 'raw' | 'custom'> {
@@ -27,7 +27,7 @@ export interface ButtonProps extends UseComponentIconsProps, Omit<LinkProps, 'ra
27
27
  block?: boolean;
28
28
  /** Set loading state automatically based on the `@click` promise state */
29
29
  loadingAuto?: boolean;
30
- onClick?: ((event: MouseEvent) => void | Promise<void>) | Array<((event: MouseEvent) => void | Promise<void>)>;
30
+ onClick?: ((event: MouseEvent) => void) | Array<((event: MouseEvent) => void)>;
31
31
  class?: any;
32
32
  ui?: Button['slots'];
33
33
  }
@@ -88,7 +88,7 @@ const { isLeading, isTrailing, leadingIconName, trailingIconName } = useComponen
88
88
  computed(() => ({ ...props, loading: isLoading.value }))
89
89
  );
90
90
  const ui = computed(() => tv({
91
- extend: tv(theme),
91
+ extend: theme,
92
92
  ...defu({
93
93
  variants: {
94
94
  active: {
@@ -123,8 +123,8 @@ const ui = computed(() => tv({
123
123
  custom
124
124
  >
125
125
  <ULinkBase
126
- v-bind="slotProps"
127
126
  data-slot="base"
127
+ v-bind="slotProps"
128
128
  :class="ui.base({
129
129
  class: [props.ui?.base, props.class],
130
130
  active,
@@ -2,7 +2,7 @@ import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/button';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
- import type { LinkProps } from '../types';
5
+ import type { LinkProps } from './Link.vue';
6
6
  import type { ComponentConfig } from '../types/tv';
7
7
  type Button = ComponentConfig<typeof theme, AppConfig, 'button'>;
8
8
  export interface ButtonProps extends UseComponentIconsProps, Omit<LinkProps, 'raw' | 'custom'> {
@@ -27,7 +27,7 @@ export interface ButtonProps extends UseComponentIconsProps, Omit<LinkProps, 'ra
27
27
  block?: boolean;
28
28
  /** Set loading state automatically based on the `@click` promise state */
29
29
  loadingAuto?: boolean;
30
- onClick?: ((event: MouseEvent) => void | Promise<void>) | Array<((event: MouseEvent) => void | Promise<void>)>;
30
+ onClick?: ((event: MouseEvent) => void) | Array<((event: MouseEvent) => void)>;
31
31
  class?: any;
32
32
  ui?: Button['slots'];
33
33
  }
@@ -3,7 +3,9 @@ import type { VNode } from 'vue';
3
3
  import type { DateValue } from '@internationalized/date';
4
4
  import type { AppConfig } from '@nuxt/schema';
5
5
  import theme from '#build/ui/calendar';
6
- import type { ButtonProps, IconProps, LinkPropsKeys } from '../types';
6
+ import type { ButtonProps } from './Button.vue';
7
+ import type { IconProps } from './Icon.vue';
8
+ import type { LinkPropsKeys } from './Link.vue';
7
9
  import type { ComponentConfig } from '../types/tv';
8
10
  type Calendar = ComponentConfig<typeof theme, AppConfig, 'calendar'>;
9
11
  export type CalendarType = 'date' | 'month' | 'year';
@@ -150,7 +152,7 @@ declare const __VLS_export: <R extends boolean, M extends boolean>(__VLS_props:
150
152
  slots: CalendarSlots;
151
153
  emit: ((evt: "update:modelValue", value: CalendarModelValue<R, M>) => void) & ((evt: "update:placeholder", date: DateValue) => void) & ((evt: "update:validModelValue", date: DateRange) => void) & ((evt: "update:startValue", date: DateValue | undefined) => void);
152
154
  }>) => import("vue").VNode & {
153
- __ctx?: Awaited<typeof __VLS_setup>;
155
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
154
156
  };
155
157
  type __VLS_PrettifyLocal<T> = (T extends any ? {
156
158
  [K in keyof T]: T[K];
@@ -166,7 +166,7 @@ const prevYearIcon = computed(() => props.prevYearIcon || (dir.value === "rtl" ?
166
166
  const prevMonthIcon = computed(() => props.prevMonthIcon || (dir.value === "rtl" ? appConfig.ui.icons.chevronRight : appConfig.ui.icons.chevronLeft));
167
167
  const prevLabel = computed(() => view.value === "day" ? t("calendar.prevMonth") : t("calendar.prevYear"));
168
168
  const nextLabel = computed(() => view.value === "day" ? t("calendar.nextMonth") : t("calendar.nextYear"));
169
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.calendar || {} })({
169
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.calendar || {} })({
170
170
  color: props.color,
171
171
  size: props.size,
172
172
  variant: props.variant,
@@ -3,7 +3,9 @@ import type { VNode } from 'vue';
3
3
  import type { DateValue } from '@internationalized/date';
4
4
  import type { AppConfig } from '@nuxt/schema';
5
5
  import theme from '#build/ui/calendar';
6
- import type { ButtonProps, IconProps, LinkPropsKeys } from '../types';
6
+ import type { ButtonProps } from './Button.vue';
7
+ import type { IconProps } from './Icon.vue';
8
+ import type { LinkPropsKeys } from './Link.vue';
7
9
  import type { ComponentConfig } from '../types/tv';
8
10
  type Calendar = ComponentConfig<typeof theme, AppConfig, 'calendar'>;
9
11
  export type CalendarType = 'date' | 'month' | 'year';
@@ -150,7 +152,7 @@ declare const __VLS_export: <R extends boolean, M extends boolean>(__VLS_props:
150
152
  slots: CalendarSlots;
151
153
  emit: ((evt: "update:modelValue", value: CalendarModelValue<R, M>) => void) & ((evt: "update:placeholder", date: DateValue) => void) & ((evt: "update:validModelValue", date: DateRange) => void) & ((evt: "update:startValue", date: DateValue | undefined) => void);
152
154
  }>) => import("vue").VNode & {
153
- __ctx?: Awaited<typeof __VLS_setup>;
155
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
154
156
  };
155
157
  type __VLS_PrettifyLocal<T> = (T extends any ? {
156
158
  [K in keyof T]: T[K];
@@ -19,7 +19,7 @@ const _props = defineProps({
19
19
  const slots = defineSlots();
20
20
  const props = useComponentProps("card", _props);
21
21
  const appConfig = useAppConfig();
22
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.card || {} })({
22
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.card || {} })({
23
23
  variant: props.variant
24
24
  }));
25
25
  </script>
@@ -8,7 +8,9 @@ import type { ClassNamesOptionsType } from 'embla-carousel-class-names';
8
8
  import type { FadeOptionsType } from 'embla-carousel-fade';
9
9
  import type { WheelGesturesPluginOptions } from 'embla-carousel-wheel-gestures';
10
10
  import theme from '#build/ui/carousel';
11
- import type { ButtonProps, IconProps, LinkPropsKeys } from '../types';
11
+ import type { ButtonProps } from './Button.vue';
12
+ import type { IconProps } from './Icon.vue';
13
+ import type { LinkPropsKeys } from './Link.vue';
12
14
  import type { AcceptableValue } from '../types/utils';
13
15
  import type { ComponentConfig } from '../types/tv';
14
16
  type Carousel = ComponentConfig<typeof theme, AppConfig, 'carousel'>;
@@ -124,7 +126,7 @@ declare const __VLS_export: <T extends CarouselItem>(__VLS_props: NonNullable<Aw
124
126
  slots: CarouselSlots<T>;
125
127
  emit: (evt: "select", selectedIndex: number) => void;
126
128
  }>) => import("vue").VNode & {
127
- __ctx?: Awaited<typeof __VLS_setup>;
129
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
128
130
  };
129
131
  type __VLS_PrettifyLocal<T> = (T extends any ? {
130
132
  [K in keyof T]: T[K];
@@ -68,7 +68,7 @@ const stopAutoScrollOnInteraction = computed(() => {
68
68
  }
69
69
  return props.autoScroll?.stopOnInteraction ?? true;
70
70
  });
71
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.carousel || {} })({
71
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.carousel || {} })({
72
72
  orientation: props.orientation
73
73
  }));
74
74
  const options = computed(() => ({
@@ -106,10 +106,7 @@ async function loadPlugins() {
106
106
  }
107
107
  plugins.value = emblaPlugins;
108
108
  }
109
- watch(() => [props.autoplay, props.autoScroll, props.autoHeight, props.classNames, props.fade, props.wheelGestures], async () => {
110
- await loadPlugins();
111
- emblaApi.value?.reInit(options.value, plugins.value);
112
- }, { immediate: true });
109
+ watch(() => [props.autoplay, props.autoScroll, props.autoHeight, props.classNames, props.fade, props.wheelGestures], loadPlugins, { immediate: true });
113
110
  const [emblaRef, emblaApi] = useEmblaCarousel(options, plugins);
114
111
  watch(options, () => {
115
112
  emblaApi.value?.reInit(options.value, plugins.value);
@@ -8,7 +8,9 @@ import type { ClassNamesOptionsType } from 'embla-carousel-class-names';
8
8
  import type { FadeOptionsType } from 'embla-carousel-fade';
9
9
  import type { WheelGesturesPluginOptions } from 'embla-carousel-wheel-gestures';
10
10
  import theme from '#build/ui/carousel';
11
- import type { ButtonProps, IconProps, LinkPropsKeys } from '../types';
11
+ import type { ButtonProps } from './Button.vue';
12
+ import type { IconProps } from './Icon.vue';
13
+ import type { LinkPropsKeys } from './Link.vue';
12
14
  import type { AcceptableValue } from '../types/utils';
13
15
  import type { ComponentConfig } from '../types/tv';
14
16
  type Carousel = ComponentConfig<typeof theme, AppConfig, 'carousel'>;
@@ -124,7 +126,7 @@ declare const __VLS_export: <T extends CarouselItem>(__VLS_props: NonNullable<Aw
124
126
  slots: CarouselSlots<T>;
125
127
  emit: (evt: "select", selectedIndex: number) => void;
126
128
  }>) => import("vue").VNode & {
127
- __ctx?: Awaited<typeof __VLS_setup>;
129
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
128
130
  };
129
131
  type __VLS_PrettifyLocal<T> = (T extends any ? {
130
132
  [K in keyof T]: T[K];
@@ -1,7 +1,9 @@
1
1
  import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/changelog-version';
4
- import type { BadgeProps, LinkProps, UserProps } from '../types';
4
+ import type { BadgeProps } from './Badge.vue';
5
+ import type { LinkProps } from './Link.vue';
6
+ import type { UserProps } from './User.vue';
5
7
  import type { ImgHTMLAttributes } from '../types/html';
6
8
  import type { ComponentConfig } from '../types/tv';
7
9
  type ChangelogVersion = ComponentConfig<typeof theme, AppConfig, 'changelogVersion'>;
@@ -34,7 +36,7 @@ export interface ChangelogVersionProps {
34
36
  indicator?: boolean;
35
37
  to?: LinkProps['to'];
36
38
  target?: LinkProps['target'];
37
- onClick?: (event: MouseEvent) => void | Promise<void>;
39
+ onClick?: (event: MouseEvent) => void;
38
40
  class?: any;
39
41
  ui?: ChangelogVersion['slots'];
40
42
  }
@@ -47,7 +47,7 @@ const [DefineDateTemplate, ReuseDateTemplate] = createReusableTemplate({
47
47
  }
48
48
  }
49
49
  });
50
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.changelogVersion || {} })({
50
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.changelogVersion || {} })({
51
51
  to: !!props.to || !!props.onClick
52
52
  }));
53
53
  const date = computed(() => {
@@ -55,7 +55,7 @@ const date = computed(() => {
55
55
  return;
56
56
  }
57
57
  try {
58
- return formatter.custom(new Date(props.date), { dateStyle: "medium" });
58
+ return formatter.custom(new Date(props.date), { dateStyle: "medium", timeZone: "UTC" });
59
59
  } catch {
60
60
  return props.date;
61
61
  }
@@ -81,7 +81,7 @@ const ariaLabel = computed(() => {
81
81
  <ULink
82
82
  v-if="props.to"
83
83
  :aria-label="ariaLabel"
84
- v-bind="{ to: props.to, target: props.target, ...$attrs }"
84
+ v-bind="{ 'to': props.to, 'target': props.target, ...$attrs, 'data-slot': void 0 }"
85
85
  :class="prefix('focus:outline-none peer')"
86
86
  raw
87
87
  >
@@ -97,7 +97,7 @@ const ariaLabel = computed(() => {
97
97
  </time>
98
98
  </DefineDateTemplate>
99
99
 
100
- <Primitive :as="props.as" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })" @click="props.onClick">
100
+ <Primitive :as="props.as" v-bind="!props.to ? $attrs : {}" :data-slot="$attrs['data-slot'] ?? 'root'" :class="ui.root({ class: [props.ui?.root, props.class] })" @click="props.onClick">
101
101
  <div v-if="!!props.indicator || !!slots.indicator" data-slot="indicator" :class="ui.indicator({ class: props.ui?.indicator })">
102
102
  <slot name="indicator" :ui="ui">
103
103
  <ReuseDateTemplate />
@@ -1,7 +1,9 @@
1
1
  import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/changelog-version';
4
- import type { BadgeProps, LinkProps, UserProps } from '../types';
4
+ import type { BadgeProps } from './Badge.vue';
5
+ import type { LinkProps } from './Link.vue';
6
+ import type { UserProps } from './User.vue';
5
7
  import type { ImgHTMLAttributes } from '../types/html';
6
8
  import type { ComponentConfig } from '../types/tv';
7
9
  type ChangelogVersion = ComponentConfig<typeof theme, AppConfig, 'changelogVersion'>;
@@ -34,7 +36,7 @@ export interface ChangelogVersionProps {
34
36
  indicator?: boolean;
35
37
  to?: LinkProps['to'];
36
38
  target?: LinkProps['target'];
37
- onClick?: (event: MouseEvent) => void | Promise<void>;
39
+ onClick?: (event: MouseEvent) => void;
38
40
  class?: any;
39
41
  ui?: ChangelogVersion['slots'];
40
42
  }
@@ -2,7 +2,7 @@ import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import type { SpringOptions, UseScrollOptions } from 'motion-v';
4
4
  import theme from '#build/ui/changelog-versions';
5
- import type { ChangelogVersionProps, ChangelogVersionSlots } from '../types';
5
+ import type { ChangelogVersionProps, ChangelogVersionSlots } from './ChangelogVersion.vue';
6
6
  import type { ComponentConfig } from '../types/tv';
7
7
  type ChangelogVersions = ComponentConfig<typeof theme, AppConfig, 'changelogVersions'>;
8
8
  export interface ChangelogVersionsProps<T extends ChangelogVersionProps = ChangelogVersionProps> {
@@ -49,7 +49,7 @@ declare const __VLS_export: <T extends ChangelogVersionProps>(__VLS_props: NonNu
49
49
  slots: ChangelogVersionsSlots<T>;
50
50
  emit: {};
51
51
  }>) => import("vue").VNode & {
52
- __ctx?: Awaited<typeof __VLS_setup>;
52
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
53
53
  };
54
54
  type __VLS_PrettifyLocal<T> = (T extends any ? {
55
55
  [K in keyof T]: T[K];
@@ -29,7 +29,7 @@ const scrollOptions = computed(() => typeof props.indicator === "object" ? props
29
29
  const { scrollYProgress } = useScroll(scrollOptions.value);
30
30
  const y = useSpring(scrollYProgress, springOptions);
31
31
  const height = useTransform(() => `${Number(y.get()) * 100}%`);
32
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.changelogVersions || {} })());
32
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.changelogVersions || {} })());
33
33
  </script>
34
34
 
35
35
  <template>
@@ -2,7 +2,7 @@ import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import type { SpringOptions, UseScrollOptions } from 'motion-v';
4
4
  import theme from '#build/ui/changelog-versions';
5
- import type { ChangelogVersionProps, ChangelogVersionSlots } from '../types';
5
+ import type { ChangelogVersionProps, ChangelogVersionSlots } from './ChangelogVersion.vue';
6
6
  import type { ComponentConfig } from '../types/tv';
7
7
  type ChangelogVersions = ComponentConfig<typeof theme, AppConfig, 'changelogVersions'>;
8
8
  export interface ChangelogVersionsProps<T extends ChangelogVersionProps = ChangelogVersionProps> {
@@ -49,7 +49,7 @@ declare const __VLS_export: <T extends ChangelogVersionProps>(__VLS_props: NonNu
49
49
  slots: ChangelogVersionsSlots<T>;
50
50
  emit: {};
51
51
  }>) => import("vue").VNode & {
52
- __ctx?: Awaited<typeof __VLS_setup>;
52
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
53
53
  };
54
54
  type __VLS_PrettifyLocal<T> = (T extends any ? {
55
55
  [K in keyof T]: T[K];
@@ -2,7 +2,9 @@ import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import type { UIDataTypes, UIMessage, UITools, FileUIPart } from 'ai';
4
4
  import theme from '#build/ui/chat-message';
5
- import type { AvatarProps, ButtonProps, IconProps } from '../types';
5
+ import type { AvatarProps } from './Avatar.vue';
6
+ import type { ButtonProps } from './Button.vue';
7
+ import type { IconProps } from './Icon.vue';
6
8
  import type { ComponentConfig } from '../types/tv';
7
9
  type ChatMessage = ComponentConfig<typeof theme, AppConfig, 'chatMessage'>;
8
10
  export interface ChatMessageProps<TMetadata = unknown, TDataParts extends UIDataTypes = UIDataTypes, TTools extends UITools = UITools> extends UIMessage<TMetadata, TDataParts, TTools> {
@@ -80,7 +82,7 @@ declare const __VLS_export: <TMetadata, TDataParts extends UIDataTypes, TTools e
80
82
  slots: ChatMessageSlots<TMetadata, TDataParts, TTools>;
81
83
  emit: {};
82
84
  }>) => import("vue").VNode & {
83
- __ctx?: Awaited<typeof __VLS_setup>;
85
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
84
86
  };
85
87
  type __VLS_PrettifyLocal<T> = (T extends any ? {
86
88
  [K in keyof T]: T[K];
@@ -36,7 +36,7 @@ const appConfig = useAppConfig();
36
36
  const fileParts = computed(() => props.parts?.filter((part) => part.type === "file") ?? []);
37
37
  const textParts = computed(() => props.parts?.filter((part) => part.type === "text") ?? []);
38
38
  const messageProps = computed(() => omit(props, ["as", "icon", "avatar", "variant", "color", "side", "actions", "compact", "class", "ui", "content"]));
39
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.chatMessage || {} })({
39
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.chatMessage || {} })({
40
40
  variant: props.variant,
41
41
  color: props.color,
42
42
  side: props.side,
@@ -2,7 +2,9 @@ import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import type { UIDataTypes, UIMessage, UITools, FileUIPart } from 'ai';
4
4
  import theme from '#build/ui/chat-message';
5
- import type { AvatarProps, ButtonProps, IconProps } from '../types';
5
+ import type { AvatarProps } from './Avatar.vue';
6
+ import type { ButtonProps } from './Button.vue';
7
+ import type { IconProps } from './Icon.vue';
6
8
  import type { ComponentConfig } from '../types/tv';
7
9
  type ChatMessage = ComponentConfig<typeof theme, AppConfig, 'chatMessage'>;
8
10
  export interface ChatMessageProps<TMetadata = unknown, TDataParts extends UIDataTypes = UIDataTypes, TTools extends UITools = UITools> extends UIMessage<TMetadata, TDataParts, TTools> {
@@ -80,7 +82,7 @@ declare const __VLS_export: <TMetadata, TDataParts extends UIDataTypes, TTools e
80
82
  slots: ChatMessageSlots<TMetadata, TDataParts, TTools>;
81
83
  emit: {};
82
84
  }>) => import("vue").VNode & {
83
- __ctx?: Awaited<typeof __VLS_setup>;
85
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
84
86
  };
85
87
  type __VLS_PrettifyLocal<T> = (T extends any ? {
86
88
  [K in keyof T]: T[K];
@@ -2,7 +2,10 @@ import type { ComponentPublicInstance, VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import type { UIDataTypes, UIMessage, UITools, ChatStatus } from 'ai';
4
4
  import theme from '#build/ui/chat-messages';
5
- import type { ButtonProps, ChatMessageProps, ChatMessageSlots, IconProps, LinkPropsKeys } from '../types';
5
+ import type { ButtonProps } from './Button.vue';
6
+ import type { ChatMessageProps, ChatMessageSlots } from './ChatMessage.vue';
7
+ import type { IconProps } from './Icon.vue';
8
+ import type { LinkPropsKeys } from './Link.vue';
6
9
  import type { ComponentConfig } from '../types/tv';
7
10
  type ChatMessages = ComponentConfig<typeof theme, AppConfig, 'chatMessages'>;
8
11
  type MessageBase<T extends UIMessage[]> = T[number] extends UIMessage<infer M, infer D, infer U> ? UIMessage<M, D, U> : UIMessage<unknown, UIDataTypes, UITools>;
@@ -85,7 +88,7 @@ declare const __VLS_export: <T extends UIMessage[] = UIMessage[]>(__VLS_props: N
85
88
  slots: ChatMessagesSlots<T>;
86
89
  emit: {};
87
90
  }>) => import("vue").VNode & {
88
- __ctx?: Awaited<typeof __VLS_setup>;
91
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
89
92
  };
90
93
  type __VLS_PrettifyLocal<T> = (T extends any ? {
91
94
  [K in keyof T]: T[K];
@@ -30,16 +30,16 @@ const _props = defineProps({
30
30
  const slots = defineSlots();
31
31
  const props = useComponentProps("chatMessages", _props);
32
32
  const getProxySlots = () => omit(slots, ["default", "indicator", "viewport"]);
33
- const showIndicator = computed(() => {
33
+ function showIndicator() {
34
34
  if (props.status === "submitted") return true;
35
35
  if (props.status !== "streaming") return false;
36
36
  const lastMessage = props.messages?.[props.messages.length - 1];
37
37
  return lastMessage?.role === "assistant" && !lastMessage.parts?.length;
38
- });
38
+ }
39
39
  const appConfig = useAppConfig();
40
40
  const userProps = toRef(() => defu(props.user, { side: "right", variant: "soft" }));
41
41
  const assistantProps = toRef(() => defu(props.assistant, { side: "left", variant: "naked" }));
42
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.chatMessages || {} })({
42
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.chatMessages || {} })({
43
43
  compact: props.compact
44
44
  }));
45
45
  const el = ref(null);
@@ -212,7 +212,7 @@ defineExpose({
212
212
  </slot>
213
213
 
214
214
  <UChatMessage
215
- v-if="showIndicator"
215
+ v-if="showIndicator()"
216
216
  id="indicator"
217
217
  role="assistant"
218
218
  v-bind="{ ...assistantProps, actions: void 0, parts: [] }"
@@ -2,7 +2,10 @@ import type { ComponentPublicInstance, VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import type { UIDataTypes, UIMessage, UITools, ChatStatus } from 'ai';
4
4
  import theme from '#build/ui/chat-messages';
5
- import type { ButtonProps, ChatMessageProps, ChatMessageSlots, IconProps, LinkPropsKeys } from '../types';
5
+ import type { ButtonProps } from './Button.vue';
6
+ import type { ChatMessageProps, ChatMessageSlots } from './ChatMessage.vue';
7
+ import type { IconProps } from './Icon.vue';
8
+ import type { LinkPropsKeys } from './Link.vue';
6
9
  import type { ComponentConfig } from '../types/tv';
7
10
  type ChatMessages = ComponentConfig<typeof theme, AppConfig, 'chatMessages'>;
8
11
  type MessageBase<T extends UIMessage[]> = T[number] extends UIMessage<infer M, infer D, infer U> ? UIMessage<M, D, U> : UIMessage<unknown, UIDataTypes, UITools>;
@@ -85,7 +88,7 @@ declare const __VLS_export: <T extends UIMessage[] = UIMessage[]>(__VLS_props: N
85
88
  slots: ChatMessagesSlots<T>;
86
89
  emit: {};
87
90
  }>) => import("vue").VNode & {
88
- __ctx?: Awaited<typeof __VLS_setup>;
91
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
89
92
  };
90
93
  type __VLS_PrettifyLocal<T> = (T extends any ? {
91
94
  [K in keyof T]: T[K];
@@ -16,7 +16,7 @@ const _props = defineProps({
16
16
  const slots = defineSlots();
17
17
  const props = useComponentProps("chatPalette", _props);
18
18
  const appConfig = useAppConfig();
19
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.chatPalette || {} })());
19
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.chatPalette || {} })());
20
20
  </script>
21
21
 
22
22
  <template>
@@ -1,7 +1,7 @@
1
1
  import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/chat-prompt';
4
- import type { TextareaProps, TextareaSlots } from '../types';
4
+ import type { TextareaProps, TextareaSlots } from './Textarea.vue';
5
5
  import type { ComponentConfig } from '../types/tv';
6
6
  type ChatPrompt = ComponentConfig<typeof theme, AppConfig, 'chatPrompt'>;
7
7
  export interface ChatPromptProps extends Pick<TextareaProps, 'rows' | 'autofocus' | 'autofocusDelay' | 'autoresize' | 'autoresizeDelay' | 'maxrows' | 'icon' | 'avatar' | 'loading' | 'loadingIcon' | 'disabled'> {
@@ -15,6 +15,10 @@ export interface ChatPromptProps extends Pick<TextareaProps, 'rows' | 'autofocus
15
15
  * @defaultValue t('chatPrompt.placeholder')
16
16
  */
17
17
  placeholder?: string;
18
+ /**
19
+ * @defaultValue 'primary'
20
+ */
21
+ color?: ChatPrompt['variants']['color'];
18
22
  /**
19
23
  * @defaultValue 'outline'
20
24
  */
@@ -36,6 +40,16 @@ export interface ChatPromptEmits {
36
40
  export interface ChatPromptSlots extends TextareaSlots {
37
41
  header?(props?: {}): VNode[];
38
42
  footer?(props?: {}): VNode[];
43
+ /**
44
+ * Replace the internal textarea, e.g. to render an [Editor](/docs/components/editor) with mentions.
45
+ */
46
+ body?(props: {
47
+ submit: (event?: Event) => void;
48
+ close: (event?: Event) => void;
49
+ placeholder: string;
50
+ disabled: boolean;
51
+ ui: any;
52
+ }): VNode[];
39
53
  }
40
54
  declare const _default: typeof __VLS_export;
41
55
  export default _default;
@@ -18,6 +18,7 @@ defineOptions({ inheritAttrs: false });
18
18
  const _props = defineProps({
19
19
  as: { type: null, required: false, default: "form" },
20
20
  placeholder: { type: String, required: false },
21
+ color: { type: null, required: false },
21
22
  variant: { type: null, required: false },
22
23
  submitOnEnter: { type: Boolean, required: false, default: true },
23
24
  error: { type: Error, required: false },
@@ -42,8 +43,9 @@ const model = defineModel({ type: String, ...{ default: "" } });
42
43
  const { t } = useLocale();
43
44
  const appConfig = useAppConfig();
44
45
  const textareaProps = useForwardProps(reactivePick(props, "rows", "autofocus", "autofocusDelay", "autoresize", "autoresizeDelay", "maxrows", "icon", "avatar", "loading", "loadingIcon"));
45
- const getProxySlots = () => omit(slots, ["header", "footer"]);
46
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.chatPrompt || {} })({
46
+ const getProxySlots = () => omit(slots, ["header", "footer", "body"]);
47
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.chatPrompt || {} })({
48
+ color: props.color,
47
49
  variant: props.variant
48
50
  }));
49
51
  const textareaRef = useTemplateRef("textareaRef");
@@ -51,11 +53,11 @@ function submit(e) {
51
53
  if (model.value.trim() === "") {
52
54
  return;
53
55
  }
54
- emits("submit", e);
56
+ emits("submit", e ?? new Event("submit"));
55
57
  }
56
58
  function blur(e) {
57
59
  textareaRef.value?.textareaRef?.blur();
58
- emits("close", e);
60
+ emits("close", e ?? new Event("close"));
59
61
  }
60
62
  const { onKeydown: onEnter, onCompositionEnd } = useIMEGuard((event) => {
61
63
  submit(event);
@@ -81,29 +83,38 @@ defineExpose({
81
83
  </script>
82
84
 
83
85
  <template>
84
- <Primitive :as="props.as" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })" @submit.prevent="submit">
86
+ <Primitive :as="props.as" :data-slot="$attrs['data-slot'] ?? 'root'" :class="ui.root({ class: [props.ui?.root, props.class] })" @submit.prevent="submit">
85
87
  <div v-if="!!slots.header" data-slot="header" :class="ui.header({ class: props.ui?.header })">
86
88
  <slot name="header" />
87
89
  </div>
88
90
 
89
- <UTextarea
90
- ref="textareaRef"
91
- v-model="model"
91
+ <slot
92
+ name="body"
93
+ :submit="submit"
94
+ :close="blur"
92
95
  :placeholder="props.placeholder ?? t('chatPrompt.placeholder')"
93
96
  :disabled="Boolean(props.error) || props.disabled"
94
- variant="none"
95
- fixed
96
- v-bind="{ ...textareaProps, ...$attrs }"
97
- :ui="transformUI(omit(ui, ['root', 'body', 'header', 'footer']), props.ui)"
98
- data-slot="body"
99
- :class="ui.body({ class: props.ui?.body })"
100
- @keydown="onKeydown"
101
- @compositionend="onCompositionEnd"
97
+ :ui="ui"
102
98
  >
103
- <template v-for="(_, name) in getProxySlots()" #[name]="slotData">
104
- <slot :name="name" v-bind="slotData" />
105
- </template>
106
- </UTextarea>
99
+ <UTextarea
100
+ ref="textareaRef"
101
+ v-model="model"
102
+ :placeholder="props.placeholder ?? t('chatPrompt.placeholder')"
103
+ :disabled="Boolean(props.error) || props.disabled"
104
+ variant="none"
105
+ fixed
106
+ v-bind="{ ...textareaProps, ...$attrs }"
107
+ :ui="transformUI(omit(ui, ['root', 'body', 'header', 'footer']), props.ui)"
108
+ data-slot="body"
109
+ :class="ui.body({ class: props.ui?.body })"
110
+ @keydown="onKeydown"
111
+ @compositionend="onCompositionEnd"
112
+ >
113
+ <template v-for="(_, name) in getProxySlots()" #[name]="slotData">
114
+ <slot :name="name" v-bind="slotData" />
115
+ </template>
116
+ </UTextarea>
117
+ </slot>
107
118
 
108
119
  <div v-if="!!slots.footer" data-slot="footer" :class="ui.footer({ class: props.ui?.footer })">
109
120
  <slot name="footer" />
@@ -1,7 +1,7 @@
1
1
  import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/chat-prompt';
4
- import type { TextareaProps, TextareaSlots } from '../types';
4
+ import type { TextareaProps, TextareaSlots } from './Textarea.vue';
5
5
  import type { ComponentConfig } from '../types/tv';
6
6
  type ChatPrompt = ComponentConfig<typeof theme, AppConfig, 'chatPrompt'>;
7
7
  export interface ChatPromptProps extends Pick<TextareaProps, 'rows' | 'autofocus' | 'autofocusDelay' | 'autoresize' | 'autoresizeDelay' | 'maxrows' | 'icon' | 'avatar' | 'loading' | 'loadingIcon' | 'disabled'> {
@@ -15,6 +15,10 @@ export interface ChatPromptProps extends Pick<TextareaProps, 'rows' | 'autofocus
15
15
  * @defaultValue t('chatPrompt.placeholder')
16
16
  */
17
17
  placeholder?: string;
18
+ /**
19
+ * @defaultValue 'primary'
20
+ */
21
+ color?: ChatPrompt['variants']['color'];
18
22
  /**
19
23
  * @defaultValue 'outline'
20
24
  */
@@ -36,6 +40,16 @@ export interface ChatPromptEmits {
36
40
  export interface ChatPromptSlots extends TextareaSlots {
37
41
  header?(props?: {}): VNode[];
38
42
  footer?(props?: {}): VNode[];
43
+ /**
44
+ * Replace the internal textarea, e.g. to render an [Editor](/docs/components/editor) with mentions.
45
+ */
46
+ body?(props: {
47
+ submit: (event?: Event) => void;
48
+ close: (event?: Event) => void;
49
+ placeholder: string;
50
+ disabled: boolean;
51
+ ui: any;
52
+ }): VNode[];
39
53
  }
40
54
  declare const _default: typeof __VLS_export;
41
55
  export default _default;
@@ -1,7 +1,9 @@
1
1
  import type { ChatStatus } from 'ai';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/chat-prompt-submit';
4
- import type { ButtonProps, ButtonSlots, IconProps, LinkPropsKeys } from '../types';
4
+ import type { ButtonProps, ButtonSlots } from './Button.vue';
5
+ import type { IconProps } from './Icon.vue';
6
+ import type { LinkPropsKeys } from './Link.vue';
5
7
  import type { ComponentConfig } from '../types/tv';
6
8
  type ChatPromptSubmit = ComponentConfig<typeof theme, AppConfig, 'chatPromptSubmit'>;
7
9
  export interface ChatPromptSubmitProps extends Omit<ButtonProps, LinkPropsKeys | 'icon' | 'color' | 'variant'> {
@@ -87,11 +89,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ChatPr
87
89
  onReload?: ((event: MouseEvent) => any) | undefined;
88
90
  }>, {
89
91
  status: ChatStatus;
90
- streamingColor: "error" | "neutral" | "primary" | "secondary" | "success" | "info" | "warning";
92
+ streamingColor: "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral";
91
93
  streamingVariant: "link" | "solid" | "outline" | "soft" | "subtle" | "ghost";
92
- submittedColor: "error" | "neutral" | "primary" | "secondary" | "success" | "info" | "warning";
94
+ submittedColor: "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral";
93
95
  submittedVariant: "link" | "solid" | "outline" | "soft" | "subtle" | "ghost";
94
- errorColor: "error" | "neutral" | "primary" | "secondary" | "success" | "info" | "warning";
96
+ errorColor: "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral";
95
97
  errorVariant: "link" | "solid" | "outline" | "soft" | "subtle" | "ghost";
96
98
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ButtonSlots>;
97
99
  type __VLS_WithSlots<T, S> = T & {