@nuxt/ui 4.8.2 → 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 (588) hide show
  1. package/dist/module.d.mts +7 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +7 -2
  4. package/dist/runtime/components/Accordion.d.vue.ts +2 -2
  5. package/dist/runtime/components/Accordion.vue +1 -1
  6. package/dist/runtime/components/Accordion.vue.d.ts +2 -2
  7. package/dist/runtime/components/Alert.d.vue.ts +4 -1
  8. package/dist/runtime/components/Alert.vue +1 -1
  9. package/dist/runtime/components/Alert.vue.d.ts +4 -1
  10. package/dist/runtime/components/App.d.vue.ts +3 -3
  11. package/dist/runtime/components/App.vue.d.ts +3 -3
  12. package/dist/runtime/components/AuthForm.d.vue.ts +11 -2
  13. package/dist/runtime/components/AuthForm.vue +22 -13
  14. package/dist/runtime/components/AuthForm.vue.d.ts +11 -2
  15. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  16. package/dist/runtime/components/Avatar.vue +4 -4
  17. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  18. package/dist/runtime/components/AvatarGroup.vue +1 -1
  19. package/dist/runtime/components/Badge.vue +1 -1
  20. package/dist/runtime/components/Banner.d.vue.ts +3 -1
  21. package/dist/runtime/components/Banner.vue +4 -4
  22. package/dist/runtime/components/Banner.vue.d.ts +3 -1
  23. package/dist/runtime/components/BlogPost.d.vue.ts +5 -3
  24. package/dist/runtime/components/BlogPost.vue +18 -13
  25. package/dist/runtime/components/BlogPost.vue.d.ts +5 -3
  26. package/dist/runtime/components/BlogPosts.d.vue.ts +2 -2
  27. package/dist/runtime/components/BlogPosts.vue +1 -1
  28. package/dist/runtime/components/BlogPosts.vue.d.ts +2 -2
  29. package/dist/runtime/components/Breadcrumb.d.vue.ts +4 -2
  30. package/dist/runtime/components/Breadcrumb.vue +1 -1
  31. package/dist/runtime/components/Breadcrumb.vue.d.ts +4 -2
  32. package/dist/runtime/components/Button.d.vue.ts +2 -2
  33. package/dist/runtime/components/Button.vue +2 -2
  34. package/dist/runtime/components/Button.vue.d.ts +2 -2
  35. package/dist/runtime/components/Calendar.d.vue.ts +44 -6
  36. package/dist/runtime/components/Calendar.vue +180 -62
  37. package/dist/runtime/components/Calendar.vue.d.ts +44 -6
  38. package/dist/runtime/components/Card.vue +1 -1
  39. package/dist/runtime/components/Carousel.d.vue.ts +4 -2
  40. package/dist/runtime/components/Carousel.vue +2 -5
  41. package/dist/runtime/components/Carousel.vue.d.ts +4 -2
  42. package/dist/runtime/components/ChangelogVersion.d.vue.ts +4 -2
  43. package/dist/runtime/components/ChangelogVersion.vue +4 -4
  44. package/dist/runtime/components/ChangelogVersion.vue.d.ts +4 -2
  45. package/dist/runtime/components/ChangelogVersions.d.vue.ts +2 -2
  46. package/dist/runtime/components/ChangelogVersions.vue +1 -1
  47. package/dist/runtime/components/ChangelogVersions.vue.d.ts +2 -2
  48. package/dist/runtime/components/ChatMessage.d.vue.ts +4 -2
  49. package/dist/runtime/components/ChatMessage.vue +1 -1
  50. package/dist/runtime/components/ChatMessage.vue.d.ts +4 -2
  51. package/dist/runtime/components/ChatMessages.d.vue.ts +12 -5
  52. package/dist/runtime/components/ChatMessages.vue +8 -5
  53. package/dist/runtime/components/ChatMessages.vue.d.ts +12 -5
  54. package/dist/runtime/components/ChatPalette.vue +1 -1
  55. package/dist/runtime/components/ChatPrompt.d.vue.ts +15 -1
  56. package/dist/runtime/components/ChatPrompt.vue +38 -21
  57. package/dist/runtime/components/ChatPrompt.vue.d.ts +15 -1
  58. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +8 -6
  59. package/dist/runtime/components/ChatPromptSubmit.vue +3 -3
  60. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +8 -6
  61. package/dist/runtime/components/ChatReasoning.d.vue.ts +2 -2
  62. package/dist/runtime/components/ChatReasoning.vue +1 -1
  63. package/dist/runtime/components/ChatReasoning.vue.d.ts +2 -2
  64. package/dist/runtime/components/ChatShimmer.vue +1 -1
  65. package/dist/runtime/components/ChatTool.d.vue.ts +9 -2
  66. package/dist/runtime/components/ChatTool.vue +20 -2
  67. package/dist/runtime/components/ChatTool.vue.d.ts +9 -2
  68. package/dist/runtime/components/Checkbox.d.vue.ts +2 -2
  69. package/dist/runtime/components/Checkbox.vue +2 -2
  70. package/dist/runtime/components/Checkbox.vue.d.ts +2 -2
  71. package/dist/runtime/components/CheckboxGroup.d.vue.ts +2 -2
  72. package/dist/runtime/components/CheckboxGroup.vue.d.ts +2 -2
  73. package/dist/runtime/components/Chip.vue +3 -3
  74. package/dist/runtime/components/Collapsible.vue +1 -1
  75. package/dist/runtime/components/ColorPicker.vue +1 -1
  76. package/dist/runtime/components/CommandPalette.d.vue.ts +15 -9
  77. package/dist/runtime/components/CommandPalette.vue +12 -6
  78. package/dist/runtime/components/CommandPalette.vue.d.ts +15 -9
  79. package/dist/runtime/components/Container.vue +1 -1
  80. package/dist/runtime/components/ContextMenu.d.vue.ts +5 -2
  81. package/dist/runtime/components/ContextMenu.vue +1 -1
  82. package/dist/runtime/components/ContextMenu.vue.d.ts +5 -2
  83. package/dist/runtime/components/ContextMenuContent.d.vue.ts +3 -2
  84. package/dist/runtime/components/ContextMenuContent.vue +1 -0
  85. package/dist/runtime/components/ContextMenuContent.vue.d.ts +3 -2
  86. package/dist/runtime/components/DashboardGroup.d.vue.ts +1 -1
  87. package/dist/runtime/components/DashboardGroup.vue +1 -1
  88. package/dist/runtime/components/DashboardGroup.vue.d.ts +1 -1
  89. package/dist/runtime/components/DashboardNavbar.d.vue.ts +3 -1
  90. package/dist/runtime/components/DashboardNavbar.vue +2 -2
  91. package/dist/runtime/components/DashboardNavbar.vue.d.ts +3 -1
  92. package/dist/runtime/components/DashboardPanel.vue +2 -2
  93. package/dist/runtime/components/DashboardResizeHandle.vue +1 -1
  94. package/dist/runtime/components/DashboardSearch.d.vue.ts +14 -4
  95. package/dist/runtime/components/DashboardSearch.vue +12 -4
  96. package/dist/runtime/components/DashboardSearch.vue.d.ts +14 -4
  97. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +9 -5
  98. package/dist/runtime/components/DashboardSearchButton.vue +3 -3
  99. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +9 -5
  100. package/dist/runtime/components/DashboardSidebar.d.vue.ts +6 -2
  101. package/dist/runtime/components/DashboardSidebar.vue +2 -2
  102. package/dist/runtime/components/DashboardSidebar.vue.d.ts +6 -2
  103. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +3 -2
  104. package/dist/runtime/components/DashboardSidebarCollapse.vue +1 -1
  105. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +3 -2
  106. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +3 -2
  107. package/dist/runtime/components/DashboardSidebarToggle.vue +1 -1
  108. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +3 -2
  109. package/dist/runtime/components/DashboardToolbar.vue +1 -1
  110. package/dist/runtime/components/Drawer.d.vue.ts +23 -4
  111. package/dist/runtime/components/Drawer.vue +39 -13
  112. package/dist/runtime/components/Drawer.vue.d.ts +23 -4
  113. package/dist/runtime/components/DropdownMenu.d.vue.ts +6 -2
  114. package/dist/runtime/components/DropdownMenu.vue +1 -1
  115. package/dist/runtime/components/DropdownMenu.vue.d.ts +6 -2
  116. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +6 -4
  117. package/dist/runtime/components/DropdownMenuContent.vue +1 -0
  118. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +6 -4
  119. package/dist/runtime/components/Editor.d.vue.ts +3 -2
  120. package/dist/runtime/components/Editor.vue +40 -17
  121. package/dist/runtime/components/Editor.vue.d.ts +3 -2
  122. package/dist/runtime/components/EditorDragHandle.d.vue.ts +5 -3
  123. package/dist/runtime/components/EditorDragHandle.vue +2 -2
  124. package/dist/runtime/components/EditorDragHandle.vue.d.ts +5 -3
  125. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +1 -1
  126. package/dist/runtime/components/EditorEmojiMenu.vue +1 -1
  127. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +1 -1
  128. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +3 -2
  129. package/dist/runtime/components/EditorMentionMenu.vue +1 -1
  130. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +3 -2
  131. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +2 -2
  132. package/dist/runtime/components/EditorSuggestionMenu.vue +1 -1
  133. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +2 -2
  134. package/dist/runtime/components/EditorToolbar.d.vue.ts +5 -2
  135. package/dist/runtime/components/EditorToolbar.vue +1 -1
  136. package/dist/runtime/components/EditorToolbar.vue.d.ts +5 -2
  137. package/dist/runtime/components/Empty.d.vue.ts +11 -1
  138. package/dist/runtime/components/Empty.vue +9 -5
  139. package/dist/runtime/components/Empty.vue.d.ts +11 -1
  140. package/dist/runtime/components/Error.d.vue.ts +2 -1
  141. package/dist/runtime/components/Error.vue +1 -1
  142. package/dist/runtime/components/Error.vue.d.ts +2 -1
  143. package/dist/runtime/components/FieldGroup.vue +1 -1
  144. package/dist/runtime/components/FileUpload.d.vue.ts +9 -4
  145. package/dist/runtime/components/FileUpload.vue +12 -9
  146. package/dist/runtime/components/FileUpload.vue.d.ts +9 -4
  147. package/dist/runtime/components/Footer.vue +1 -1
  148. package/dist/runtime/components/FooterColumns.d.vue.ts +3 -2
  149. package/dist/runtime/components/FooterColumns.vue +1 -1
  150. package/dist/runtime/components/FooterColumns.vue.d.ts +3 -2
  151. package/dist/runtime/components/Form.d.vue.ts +2 -2
  152. package/dist/runtime/components/Form.vue +1 -1
  153. package/dist/runtime/components/Form.vue.d.ts +2 -2
  154. package/dist/runtime/components/FormField.vue +1 -1
  155. package/dist/runtime/components/Header.d.vue.ts +6 -2
  156. package/dist/runtime/components/Header.vue +2 -2
  157. package/dist/runtime/components/Header.vue.d.ts +6 -2
  158. package/dist/runtime/components/Input.d.vue.ts +1 -1
  159. package/dist/runtime/components/Input.vue +3 -3
  160. package/dist/runtime/components/Input.vue.d.ts +1 -1
  161. package/dist/runtime/components/InputDate.d.vue.ts +2 -2
  162. package/dist/runtime/components/InputDate.vue +4 -3
  163. package/dist/runtime/components/InputDate.vue.d.ts +2 -2
  164. package/dist/runtime/components/InputMenu.d.vue.ts +49 -45
  165. package/dist/runtime/components/InputMenu.vue +8 -5
  166. package/dist/runtime/components/InputMenu.vue.d.ts +49 -45
  167. package/dist/runtime/components/InputNumber.d.vue.ts +4 -2
  168. package/dist/runtime/components/InputNumber.vue +2 -2
  169. package/dist/runtime/components/InputNumber.vue.d.ts +4 -2
  170. package/dist/runtime/components/InputRating.d.vue.ts +79 -0
  171. package/dist/runtime/components/InputRating.vue +109 -0
  172. package/dist/runtime/components/InputRating.vue.d.ts +79 -0
  173. package/dist/runtime/components/InputTags.d.vue.ts +2 -2
  174. package/dist/runtime/components/InputTags.vue +2 -2
  175. package/dist/runtime/components/InputTags.vue.d.ts +2 -2
  176. package/dist/runtime/components/InputTime.d.vue.ts +2 -2
  177. package/dist/runtime/components/InputTime.vue +3 -3
  178. package/dist/runtime/components/InputTime.vue.d.ts +2 -2
  179. package/dist/runtime/components/Kbd.vue +1 -1
  180. package/dist/runtime/components/Link.d.vue.ts +3 -2
  181. package/dist/runtime/components/Link.vue +19 -11
  182. package/dist/runtime/components/Link.vue.d.ts +3 -2
  183. package/dist/runtime/components/LinkBase.d.vue.ts +3 -3
  184. package/dist/runtime/components/LinkBase.vue.d.ts +3 -3
  185. package/dist/runtime/components/Listbox.d.vue.ts +16 -13
  186. package/dist/runtime/components/Listbox.vue +2 -2
  187. package/dist/runtime/components/Listbox.vue.d.ts +16 -13
  188. package/dist/runtime/components/Main.vue +1 -1
  189. package/dist/runtime/components/Marquee.vue +1 -1
  190. package/dist/runtime/components/Modal.d.vue.ts +12 -4
  191. package/dist/runtime/components/Modal.vue +8 -5
  192. package/dist/runtime/components/Modal.vue.d.ts +12 -4
  193. package/dist/runtime/components/NavigationMenu.d.vue.ts +8 -2
  194. package/dist/runtime/components/NavigationMenu.vue +2 -2
  195. package/dist/runtime/components/NavigationMenu.vue.d.ts +8 -2
  196. package/dist/runtime/components/Page.vue +1 -1
  197. package/dist/runtime/components/PageAnchors.d.vue.ts +3 -2
  198. package/dist/runtime/components/PageAnchors.vue +1 -1
  199. package/dist/runtime/components/PageAnchors.vue.d.ts +3 -2
  200. package/dist/runtime/components/PageAside.vue +1 -1
  201. package/dist/runtime/components/PageBody.vue +1 -1
  202. package/dist/runtime/components/PageCTA.d.vue.ts +1 -1
  203. package/dist/runtime/components/PageCTA.vue +1 -1
  204. package/dist/runtime/components/PageCTA.vue.d.ts +1 -1
  205. package/dist/runtime/components/PageCard.d.vue.ts +3 -2
  206. package/dist/runtime/components/PageCard.vue +4 -3
  207. package/dist/runtime/components/PageCard.vue.d.ts +3 -2
  208. package/dist/runtime/components/PageColumns.vue +1 -1
  209. package/dist/runtime/components/PageFeature.d.vue.ts +3 -2
  210. package/dist/runtime/components/PageFeature.vue +10 -3
  211. package/dist/runtime/components/PageFeature.vue.d.ts +3 -2
  212. package/dist/runtime/components/PageGrid.vue +1 -1
  213. package/dist/runtime/components/PageHeader.d.vue.ts +1 -1
  214. package/dist/runtime/components/PageHeader.vue +1 -1
  215. package/dist/runtime/components/PageHeader.vue.d.ts +1 -1
  216. package/dist/runtime/components/PageHero.d.vue.ts +1 -1
  217. package/dist/runtime/components/PageHero.vue +1 -1
  218. package/dist/runtime/components/PageHero.vue.d.ts +1 -1
  219. package/dist/runtime/components/PageLinks.d.vue.ts +3 -2
  220. package/dist/runtime/components/PageLinks.vue +1 -1
  221. package/dist/runtime/components/PageLinks.vue.d.ts +3 -2
  222. package/dist/runtime/components/PageList.vue +1 -1
  223. package/dist/runtime/components/PageLogos.d.vue.ts +1 -1
  224. package/dist/runtime/components/PageLogos.vue +2 -2
  225. package/dist/runtime/components/PageLogos.vue.d.ts +1 -1
  226. package/dist/runtime/components/PageSection.d.vue.ts +4 -2
  227. package/dist/runtime/components/PageSection.vue +1 -1
  228. package/dist/runtime/components/PageSection.vue.d.ts +4 -2
  229. package/dist/runtime/components/Pagination.d.vue.ts +4 -3
  230. package/dist/runtime/components/Pagination.vue +1 -1
  231. package/dist/runtime/components/Pagination.vue.d.ts +4 -3
  232. package/dist/runtime/components/PinInput.d.vue.ts +15 -3
  233. package/dist/runtime/components/PinInput.vue +37 -12
  234. package/dist/runtime/components/PinInput.vue.d.ts +15 -3
  235. package/dist/runtime/components/Popover.d.vue.ts +6 -4
  236. package/dist/runtime/components/Popover.vue +6 -5
  237. package/dist/runtime/components/Popover.vue.d.ts +6 -4
  238. package/dist/runtime/components/PricingPlan.d.vue.ts +3 -1
  239. package/dist/runtime/components/PricingPlan.vue +2 -2
  240. package/dist/runtime/components/PricingPlan.vue.d.ts +3 -1
  241. package/dist/runtime/components/PricingPlans.d.vue.ts +2 -2
  242. package/dist/runtime/components/PricingPlans.vue +1 -1
  243. package/dist/runtime/components/PricingPlans.vue.d.ts +2 -2
  244. package/dist/runtime/components/PricingTable.d.vue.ts +2 -2
  245. package/dist/runtime/components/PricingTable.vue +2 -2
  246. package/dist/runtime/components/PricingTable.vue.d.ts +2 -2
  247. package/dist/runtime/components/Progress.vue +1 -1
  248. package/dist/runtime/components/RadioGroup.d.vue.ts +1 -1
  249. package/dist/runtime/components/RadioGroup.vue +1 -1
  250. package/dist/runtime/components/RadioGroup.vue.d.ts +1 -1
  251. package/dist/runtime/components/ScrollArea.d.vue.ts +16 -2
  252. package/dist/runtime/components/ScrollArea.vue +35 -19
  253. package/dist/runtime/components/ScrollArea.vue.d.ts +16 -2
  254. package/dist/runtime/components/Select.d.vue.ts +4 -2
  255. package/dist/runtime/components/Select.vue +11 -3
  256. package/dist/runtime/components/Select.vue.d.ts +4 -2
  257. package/dist/runtime/components/SelectMenu.d.vue.ts +50 -45
  258. package/dist/runtime/components/SelectMenu.vue +13 -6
  259. package/dist/runtime/components/SelectMenu.vue.d.ts +50 -45
  260. package/dist/runtime/components/Separator.d.vue.ts +3 -2
  261. package/dist/runtime/components/Separator.vue +3 -2
  262. package/dist/runtime/components/Separator.vue.d.ts +3 -2
  263. package/dist/runtime/components/Sidebar.d.vue.ts +12 -2
  264. package/dist/runtime/components/Sidebar.vue +6 -4
  265. package/dist/runtime/components/Sidebar.vue.d.ts +12 -2
  266. package/dist/runtime/components/Skeleton.vue +1 -1
  267. package/dist/runtime/components/Slideover.d.vue.ts +13 -5
  268. package/dist/runtime/components/Slideover.vue +8 -5
  269. package/dist/runtime/components/Slideover.vue.d.ts +13 -5
  270. package/dist/runtime/components/Slider.d.vue.ts +2 -2
  271. package/dist/runtime/components/Slider.vue +1 -1
  272. package/dist/runtime/components/Slider.vue.d.ts +2 -2
  273. package/dist/runtime/components/Stepper.d.vue.ts +2 -2
  274. package/dist/runtime/components/Stepper.vue +1 -1
  275. package/dist/runtime/components/Stepper.vue.d.ts +2 -2
  276. package/dist/runtime/components/Switch.d.vue.ts +2 -2
  277. package/dist/runtime/components/Switch.vue +2 -2
  278. package/dist/runtime/components/Switch.vue.d.ts +2 -2
  279. package/dist/runtime/components/Table.d.vue.ts +8 -2
  280. package/dist/runtime/components/Table.vue +13 -6
  281. package/dist/runtime/components/Table.vue.d.ts +8 -2
  282. package/dist/runtime/components/Tabs.d.vue.ts +4 -2
  283. package/dist/runtime/components/Tabs.vue +1 -1
  284. package/dist/runtime/components/Tabs.vue.d.ts +4 -2
  285. package/dist/runtime/components/Textarea.d.vue.ts +1 -1
  286. package/dist/runtime/components/Textarea.vue +3 -3
  287. package/dist/runtime/components/Textarea.vue.d.ts +1 -1
  288. package/dist/runtime/components/Theme.d.vue.ts +1 -1
  289. package/dist/runtime/components/Theme.vue.d.ts +1 -1
  290. package/dist/runtime/components/Timeline.d.vue.ts +3 -2
  291. package/dist/runtime/components/Timeline.vue +1 -1
  292. package/dist/runtime/components/Timeline.vue.d.ts +3 -2
  293. package/dist/runtime/components/Toast.d.vue.ts +7 -3
  294. package/dist/runtime/components/Toast.vue +1 -1
  295. package/dist/runtime/components/Toast.vue.d.ts +7 -3
  296. package/dist/runtime/components/Toaster.d.vue.ts +1 -1
  297. package/dist/runtime/components/Toaster.vue +1 -1
  298. package/dist/runtime/components/Toaster.vue.d.ts +1 -1
  299. package/dist/runtime/components/Tooltip.d.vue.ts +1 -1
  300. package/dist/runtime/components/Tooltip.vue +1 -1
  301. package/dist/runtime/components/Tooltip.vue.d.ts +1 -1
  302. package/dist/runtime/components/Tree.d.vue.ts +2 -2
  303. package/dist/runtime/components/Tree.vue +2 -2
  304. package/dist/runtime/components/Tree.vue.d.ts +2 -2
  305. package/dist/runtime/components/User.d.vue.ts +4 -2
  306. package/dist/runtime/components/User.vue +10 -3
  307. package/dist/runtime/components/User.vue.d.ts +4 -2
  308. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +1 -1
  309. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +1 -1
  310. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -2
  311. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -2
  312. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  313. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  314. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  315. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  316. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +4 -2
  317. package/dist/runtime/components/content/ContentNavigation.vue +3 -3
  318. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +4 -2
  319. package/dist/runtime/components/content/ContentSearch.d.vue.ts +14 -3
  320. package/dist/runtime/components/content/ContentSearch.vue +12 -4
  321. package/dist/runtime/components/content/ContentSearch.vue.d.ts +14 -3
  322. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +9 -5
  323. package/dist/runtime/components/content/ContentSearchButton.vue +3 -3
  324. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +9 -5
  325. package/dist/runtime/components/content/ContentSurround.d.vue.ts +2 -2
  326. package/dist/runtime/components/content/ContentSurround.vue +2 -2
  327. package/dist/runtime/components/content/ContentSurround.vue.d.ts +2 -2
  328. package/dist/runtime/components/content/ContentToc.d.vue.ts +2 -2
  329. package/dist/runtime/components/content/ContentToc.vue +33 -7
  330. package/dist/runtime/components/content/ContentToc.vue.d.ts +2 -2
  331. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -1
  332. package/dist/runtime/components/locale/LocaleSelect.vue +8 -0
  333. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -1
  334. package/dist/runtime/components/prose/A.vue +1 -1
  335. package/dist/runtime/components/prose/Accordion.d.vue.ts +1 -1
  336. package/dist/runtime/components/prose/Accordion.vue +1 -1
  337. package/dist/runtime/components/prose/Accordion.vue.d.ts +1 -1
  338. package/dist/runtime/components/prose/AccordionItem.vue +1 -1
  339. package/dist/runtime/components/prose/Badge.vue +1 -1
  340. package/dist/runtime/components/prose/Blockquote.vue +1 -1
  341. package/dist/runtime/components/prose/Callout.d.vue.ts +2 -1
  342. package/dist/runtime/components/prose/Callout.vue +2 -2
  343. package/dist/runtime/components/prose/Callout.vue.d.ts +2 -1
  344. package/dist/runtime/components/prose/Card.d.vue.ts +2 -1
  345. package/dist/runtime/components/prose/Card.vue +2 -2
  346. package/dist/runtime/components/prose/Card.vue.d.ts +2 -1
  347. package/dist/runtime/components/prose/CardGroup.vue +1 -1
  348. package/dist/runtime/components/prose/Code.vue +1 -1
  349. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +1 -1
  350. package/dist/runtime/components/prose/CodeCollapse.vue +1 -1
  351. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +1 -1
  352. package/dist/runtime/components/prose/CodeGroup.vue +1 -1
  353. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +1 -1
  354. package/dist/runtime/components/prose/CodeIcon.vue.d.ts +1 -1
  355. package/dist/runtime/components/prose/CodePreview.vue +1 -1
  356. package/dist/runtime/components/prose/CodeTree.vue +1 -1
  357. package/dist/runtime/components/prose/Collapsible.d.vue.ts +2 -1
  358. package/dist/runtime/components/prose/Collapsible.vue +1 -1
  359. package/dist/runtime/components/prose/Collapsible.vue.d.ts +2 -1
  360. package/dist/runtime/components/prose/Em.vue +1 -1
  361. package/dist/runtime/components/prose/Field.vue +1 -1
  362. package/dist/runtime/components/prose/FieldGroup.vue +1 -1
  363. package/dist/runtime/components/prose/H1.d.vue.ts +5 -0
  364. package/dist/runtime/components/prose/H1.vue +3 -2
  365. package/dist/runtime/components/prose/H1.vue.d.ts +5 -0
  366. package/dist/runtime/components/prose/H2.d.vue.ts +6 -0
  367. package/dist/runtime/components/prose/H2.vue +3 -2
  368. package/dist/runtime/components/prose/H2.vue.d.ts +6 -0
  369. package/dist/runtime/components/prose/H3.d.vue.ts +6 -0
  370. package/dist/runtime/components/prose/H3.vue +3 -2
  371. package/dist/runtime/components/prose/H3.vue.d.ts +6 -0
  372. package/dist/runtime/components/prose/H4.d.vue.ts +6 -0
  373. package/dist/runtime/components/prose/H4.vue +3 -2
  374. package/dist/runtime/components/prose/H4.vue.d.ts +6 -0
  375. package/dist/runtime/components/prose/Hr.vue +1 -1
  376. package/dist/runtime/components/prose/Icon.vue +1 -1
  377. package/dist/runtime/components/prose/Img.vue +1 -1
  378. package/dist/runtime/components/prose/Kbd.d.vue.ts +2 -1
  379. package/dist/runtime/components/prose/Kbd.vue +1 -1
  380. package/dist/runtime/components/prose/Kbd.vue.d.ts +2 -1
  381. package/dist/runtime/components/prose/Li.vue +1 -1
  382. package/dist/runtime/components/prose/Ol.vue +1 -1
  383. package/dist/runtime/components/prose/P.vue +1 -1
  384. package/dist/runtime/components/prose/Pre.d.vue.ts +12 -2
  385. package/dist/runtime/components/prose/Pre.vue +6 -4
  386. package/dist/runtime/components/prose/Pre.vue.d.ts +12 -2
  387. package/dist/runtime/components/prose/Prompt.d.vue.ts +4 -3
  388. package/dist/runtime/components/prose/Prompt.vue +21 -11
  389. package/dist/runtime/components/prose/Prompt.vue.d.ts +4 -3
  390. package/dist/runtime/components/prose/Steps.vue +1 -1
  391. package/dist/runtime/components/prose/Strong.vue +1 -1
  392. package/dist/runtime/components/prose/Table.vue +1 -1
  393. package/dist/runtime/components/prose/Tabs.d.vue.ts +1 -1
  394. package/dist/runtime/components/prose/Tabs.vue +1 -1
  395. package/dist/runtime/components/prose/Tabs.vue.d.ts +1 -1
  396. package/dist/runtime/components/prose/TabsItem.vue +1 -1
  397. package/dist/runtime/components/prose/Tbody.vue +1 -1
  398. package/dist/runtime/components/prose/Td.vue +1 -1
  399. package/dist/runtime/components/prose/Th.vue +1 -1
  400. package/dist/runtime/components/prose/Thead.vue +1 -1
  401. package/dist/runtime/components/prose/Tr.vue +1 -1
  402. package/dist/runtime/components/prose/Ul.vue +1 -1
  403. package/dist/runtime/composables/defineShortcuts.js +42 -5
  404. package/dist/runtime/composables/index.d.ts +1 -0
  405. package/dist/runtime/composables/index.js +1 -0
  406. package/dist/runtime/composables/useAvatarGroup.d.ts +3 -3
  407. package/dist/runtime/composables/useComponentIcons.d.ts +2 -1
  408. package/dist/runtime/composables/useComponentProps.d.ts +3 -157
  409. package/dist/runtime/composables/useComponentProps.js +4 -2
  410. package/dist/runtime/composables/useEditorMenu.d.ts +2 -1
  411. package/dist/runtime/composables/useEditorMenu.js +8 -2
  412. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  413. package/dist/runtime/composables/useFileUpload.js +3 -4
  414. package/dist/runtime/composables/useFormField.d.ts +2 -2
  415. package/dist/runtime/composables/useResizable.js +24 -43
  416. package/dist/runtime/composables/useScrollspy.js +20 -12
  417. package/dist/runtime/composables/useToast.d.ts +1 -1
  418. package/dist/runtime/composables/useToast.js +22 -7
  419. package/dist/runtime/composables/useTour.d.ts +80 -0
  420. package/dist/runtime/composables/useTour.js +102 -0
  421. package/dist/runtime/index.css +1 -1
  422. package/dist/runtime/keyframes.css +1 -1
  423. package/dist/runtime/locale/ar.d.ts +1 -1
  424. package/dist/runtime/locale/ar.js +3 -0
  425. package/dist/runtime/locale/az.d.ts +1 -1
  426. package/dist/runtime/locale/az.js +3 -0
  427. package/dist/runtime/locale/be.d.ts +1 -1
  428. package/dist/runtime/locale/be.js +3 -0
  429. package/dist/runtime/locale/bg.d.ts +1 -1
  430. package/dist/runtime/locale/bg.js +3 -0
  431. package/dist/runtime/locale/bn.d.ts +1 -1
  432. package/dist/runtime/locale/bn.js +3 -0
  433. package/dist/runtime/locale/ca.d.ts +1 -1
  434. package/dist/runtime/locale/ca.js +3 -0
  435. package/dist/runtime/locale/ckb.d.ts +1 -1
  436. package/dist/runtime/locale/ckb.js +3 -0
  437. package/dist/runtime/locale/cs.d.ts +1 -1
  438. package/dist/runtime/locale/cs.js +3 -0
  439. package/dist/runtime/locale/da.d.ts +1 -1
  440. package/dist/runtime/locale/da.js +3 -0
  441. package/dist/runtime/locale/de.d.ts +1 -1
  442. package/dist/runtime/locale/de.js +3 -0
  443. package/dist/runtime/locale/de_ch.d.ts +1 -1
  444. package/dist/runtime/locale/de_ch.js +3 -0
  445. package/dist/runtime/locale/el.d.ts +1 -1
  446. package/dist/runtime/locale/el.js +3 -0
  447. package/dist/runtime/locale/en.d.ts +1 -1
  448. package/dist/runtime/locale/en.js +3 -0
  449. package/dist/runtime/locale/en_gb.d.ts +1 -1
  450. package/dist/runtime/locale/es.d.ts +1 -1
  451. package/dist/runtime/locale/es.js +3 -0
  452. package/dist/runtime/locale/et.d.ts +1 -1
  453. package/dist/runtime/locale/et.js +3 -0
  454. package/dist/runtime/locale/eu.d.ts +1 -1
  455. package/dist/runtime/locale/eu.js +3 -0
  456. package/dist/runtime/locale/fa_ir.d.ts +1 -1
  457. package/dist/runtime/locale/fa_ir.js +3 -0
  458. package/dist/runtime/locale/fi.d.ts +1 -1
  459. package/dist/runtime/locale/fi.js +3 -0
  460. package/dist/runtime/locale/fr.d.ts +1 -1
  461. package/dist/runtime/locale/fr.js +3 -0
  462. package/dist/runtime/locale/gl.d.ts +1 -1
  463. package/dist/runtime/locale/gl.js +3 -0
  464. package/dist/runtime/locale/he.d.ts +1 -1
  465. package/dist/runtime/locale/he.js +3 -0
  466. package/dist/runtime/locale/hi.d.ts +1 -1
  467. package/dist/runtime/locale/hi.js +3 -0
  468. package/dist/runtime/locale/hr.d.ts +1 -1
  469. package/dist/runtime/locale/hr.js +3 -0
  470. package/dist/runtime/locale/hu.d.ts +1 -1
  471. package/dist/runtime/locale/hu.js +3 -0
  472. package/dist/runtime/locale/hy.d.ts +1 -1
  473. package/dist/runtime/locale/hy.js +3 -0
  474. package/dist/runtime/locale/id.d.ts +1 -1
  475. package/dist/runtime/locale/id.js +3 -0
  476. package/dist/runtime/locale/index.d.ts +1 -0
  477. package/dist/runtime/locale/index.js +1 -0
  478. package/dist/runtime/locale/is.d.ts +1 -1
  479. package/dist/runtime/locale/is.js +3 -0
  480. package/dist/runtime/locale/it.d.ts +1 -1
  481. package/dist/runtime/locale/it.js +3 -0
  482. package/dist/runtime/locale/ja.d.ts +1 -1
  483. package/dist/runtime/locale/ja.js +3 -0
  484. package/dist/runtime/locale/ka.d.ts +1 -1
  485. package/dist/runtime/locale/ka.js +3 -0
  486. package/dist/runtime/locale/kk.d.ts +1 -1
  487. package/dist/runtime/locale/kk.js +3 -0
  488. package/dist/runtime/locale/km.d.ts +1 -1
  489. package/dist/runtime/locale/km.js +3 -0
  490. package/dist/runtime/locale/ko.d.ts +1 -1
  491. package/dist/runtime/locale/ko.js +3 -0
  492. package/dist/runtime/locale/ky.d.ts +1 -1
  493. package/dist/runtime/locale/ky.js +3 -0
  494. package/dist/runtime/locale/lb.d.ts +1 -1
  495. package/dist/runtime/locale/lb.js +3 -0
  496. package/dist/runtime/locale/lo.d.ts +1 -1
  497. package/dist/runtime/locale/lo.js +3 -0
  498. package/dist/runtime/locale/lt.d.ts +1 -1
  499. package/dist/runtime/locale/lt.js +3 -0
  500. package/dist/runtime/locale/lv.d.ts +3 -0
  501. package/dist/runtime/locale/lv.js +155 -0
  502. package/dist/runtime/locale/mn.d.ts +1 -1
  503. package/dist/runtime/locale/mn.js +3 -0
  504. package/dist/runtime/locale/ms.d.ts +1 -1
  505. package/dist/runtime/locale/ms.js +3 -0
  506. package/dist/runtime/locale/nb_no.d.ts +1 -1
  507. package/dist/runtime/locale/nb_no.js +3 -0
  508. package/dist/runtime/locale/nl.d.ts +1 -1
  509. package/dist/runtime/locale/nl.js +3 -0
  510. package/dist/runtime/locale/pl.d.ts +1 -1
  511. package/dist/runtime/locale/pl.js +3 -0
  512. package/dist/runtime/locale/pt.d.ts +1 -1
  513. package/dist/runtime/locale/pt.js +3 -0
  514. package/dist/runtime/locale/pt_br.d.ts +1 -1
  515. package/dist/runtime/locale/pt_br.js +3 -0
  516. package/dist/runtime/locale/ro.d.ts +1 -1
  517. package/dist/runtime/locale/ro.js +3 -0
  518. package/dist/runtime/locale/ru.d.ts +1 -1
  519. package/dist/runtime/locale/ru.js +3 -0
  520. package/dist/runtime/locale/sk.d.ts +1 -1
  521. package/dist/runtime/locale/sk.js +3 -0
  522. package/dist/runtime/locale/sl.d.ts +1 -1
  523. package/dist/runtime/locale/sl.js +3 -0
  524. package/dist/runtime/locale/sq.d.ts +1 -1
  525. package/dist/runtime/locale/sq.js +3 -0
  526. package/dist/runtime/locale/sv.d.ts +1 -1
  527. package/dist/runtime/locale/sv.js +3 -0
  528. package/dist/runtime/locale/th.d.ts +1 -1
  529. package/dist/runtime/locale/th.js +3 -0
  530. package/dist/runtime/locale/tj.d.ts +1 -1
  531. package/dist/runtime/locale/tj.js +3 -0
  532. package/dist/runtime/locale/tr.d.ts +1 -1
  533. package/dist/runtime/locale/tr.js +3 -0
  534. package/dist/runtime/locale/ug_cn.d.ts +1 -1
  535. package/dist/runtime/locale/ug_cn.js +3 -0
  536. package/dist/runtime/locale/uk.d.ts +1 -1
  537. package/dist/runtime/locale/uk.js +3 -0
  538. package/dist/runtime/locale/ur.d.ts +1 -1
  539. package/dist/runtime/locale/ur.js +3 -0
  540. package/dist/runtime/locale/uz.d.ts +1 -1
  541. package/dist/runtime/locale/uz.js +3 -0
  542. package/dist/runtime/locale/vi.d.ts +1 -1
  543. package/dist/runtime/locale/vi.js +3 -0
  544. package/dist/runtime/locale/zh_cn.d.ts +1 -1
  545. package/dist/runtime/locale/zh_cn.js +3 -0
  546. package/dist/runtime/locale/zh_tw.d.ts +1 -1
  547. package/dist/runtime/locale/zh_tw.js +3 -0
  548. package/dist/runtime/plugins/colors.js +9 -4
  549. package/dist/runtime/types/icons.d.ts +5 -0
  550. package/dist/runtime/types/index.d.ts +2 -0
  551. package/dist/runtime/types/index.js +2 -0
  552. package/dist/runtime/types/locale.d.ts +3 -0
  553. package/dist/runtime/types/theme.d.ts +187 -0
  554. package/dist/runtime/types/theme.js +0 -0
  555. package/dist/runtime/types/tv.d.ts +17 -5
  556. package/dist/runtime/utils/ai.d.ts +10 -2
  557. package/dist/runtime/utils/ai.js +4 -1
  558. package/dist/runtime/utils/link.d.ts +1 -1
  559. package/dist/runtime/utils/tv.d.ts +41 -1
  560. package/dist/runtime/utils/tv.js +91 -2
  561. package/dist/runtime/vue/components/Icon.d.vue.ts +1 -1
  562. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -1
  563. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  564. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  565. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  566. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  567. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +2 -2
  568. package/dist/runtime/vue/overrides/inertia/Link.vue +2 -2
  569. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +2 -2
  570. package/dist/runtime/vue/overrides/inertia/LinkBase.d.vue.ts +3 -3
  571. package/dist/runtime/vue/overrides/inertia/LinkBase.vue.d.ts +3 -3
  572. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +2 -2
  573. package/dist/runtime/vue/overrides/none/Link.vue +8 -7
  574. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +2 -2
  575. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +2 -2
  576. package/dist/runtime/vue/overrides/vue-router/Link.vue +2 -2
  577. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +2 -2
  578. package/dist/runtime/vue/plugins/icons.d.ts +4 -0
  579. package/dist/runtime/vue/plugins/icons.js +13 -0
  580. package/dist/runtime/vue/stubs/base.d.ts +1 -1
  581. package/dist/runtime/vue/stubs/base.js +1 -1
  582. package/dist/runtime/vue/stubs/inertia.d.ts +1 -1
  583. package/dist/runtime/vue/stubs/inertia.js +3 -1
  584. package/dist/shared/{ui.C-lVg1QQ.mjs → ui.XkBrgXFP.mjs} +600 -296
  585. package/dist/unplugin.d.mts +18 -3
  586. package/dist/unplugin.mjs +119 -7
  587. package/dist/vite.mjs +3 -1
  588. package/package.json +69 -44
@@ -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];
@@ -1,8 +1,11 @@
1
- import type { VNode } from 'vue';
1
+ 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>;
@@ -57,7 +60,9 @@ export interface ChatMessagesProps<T extends UIMessage[] = UIMessage[]> {
57
60
  ui?: ChatMessages['slots'];
58
61
  }
59
62
  export type ChatMessagesSlots<T extends UIMessage[] = UIMessage[]> = {
60
- default?(props?: {}): VNode[];
63
+ default?(props: {
64
+ registerMessageRef: (id: string, element: ComponentPublicInstance | null) => void;
65
+ }): VNode[];
61
66
  indicator?(props: {
62
67
  ui: ChatMessages['ui'];
63
68
  }): VNode[];
@@ -76,12 +81,14 @@ declare const __VLS_export: <T extends UIMessage[] = UIMessage[]>(__VLS_props: N
76
81
  props: import("vue").PublicProps & __VLS_PrettifyLocal<ChatMessagesProps<T>> & (typeof globalThis extends {
77
82
  __VLS_PROPS_FALLBACK: infer P;
78
83
  } ? P : {});
79
- expose: (exposed: {}) => void;
84
+ expose: (exposed: import("vue").ShallowUnwrapRef<{
85
+ registerMessageRef: (id: string, element: ComponentPublicInstance | null) => void;
86
+ }>) => void;
80
87
  attrs: any;
81
88
  slots: ChatMessagesSlots<T>;
82
89
  emit: {};
83
90
  }>) => import("vue").VNode & {
84
- __ctx?: Awaited<typeof __VLS_setup>;
91
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
85
92
  };
86
93
  type __VLS_PrettifyLocal<T> = (T extends any ? {
87
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);
@@ -183,6 +183,9 @@ onMounted(() => {
183
183
  }, { childList: true, subtree: true });
184
184
  }
185
185
  });
186
+ defineExpose({
187
+ registerMessageRef
188
+ });
186
189
  </script>
187
190
 
188
191
  <template>
@@ -193,7 +196,7 @@ onMounted(() => {
193
196
  :class="ui.root({ class: [props.ui?.root, props.class] })"
194
197
  :style="{ '--last-message-height': `${lastMessageHeight}px` }"
195
198
  >
196
- <slot>
199
+ <slot :register-message-ref="registerMessageRef">
197
200
  <template v-for="message in props.messages" :key="message.id">
198
201
  <UChatMessage
199
202
  v-if="message.parts?.length"
@@ -209,7 +212,7 @@ onMounted(() => {
209
212
  </slot>
210
213
 
211
214
  <UChatMessage
212
- v-if="showIndicator"
215
+ v-if="showIndicator()"
213
216
  id="indicator"
214
217
  role="assistant"
215
218
  v-bind="{ ...assistantProps, actions: void 0, parts: [] }"
@@ -1,8 +1,11 @@
1
- import type { VNode } from 'vue';
1
+ 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>;
@@ -57,7 +60,9 @@ export interface ChatMessagesProps<T extends UIMessage[] = UIMessage[]> {
57
60
  ui?: ChatMessages['slots'];
58
61
  }
59
62
  export type ChatMessagesSlots<T extends UIMessage[] = UIMessage[]> = {
60
- default?(props?: {}): VNode[];
63
+ default?(props: {
64
+ registerMessageRef: (id: string, element: ComponentPublicInstance | null) => void;
65
+ }): VNode[];
61
66
  indicator?(props: {
62
67
  ui: ChatMessages['ui'];
63
68
  }): VNode[];
@@ -76,12 +81,14 @@ declare const __VLS_export: <T extends UIMessage[] = UIMessage[]>(__VLS_props: N
76
81
  props: import("vue").PublicProps & __VLS_PrettifyLocal<ChatMessagesProps<T>> & (typeof globalThis extends {
77
82
  __VLS_PROPS_FALLBACK: infer P;
78
83
  } ? P : {});
79
- expose: (exposed: {}) => void;
84
+ expose: (exposed: import("vue").ShallowUnwrapRef<{
85
+ registerMessageRef: (id: string, element: ComponentPublicInstance | null) => void;
86
+ }>) => void;
80
87
  attrs: any;
81
88
  slots: ChatMessagesSlots<T>;
82
89
  emit: {};
83
90
  }>) => import("vue").VNode & {
84
- __ctx?: Awaited<typeof __VLS_setup>;
91
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
85
92
  };
86
93
  type __VLS_PrettifyLocal<T> = (T extends any ? {
87
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);
@@ -68,36 +70,51 @@ function handleEnter(event) {
68
70
  }
69
71
  onEnter(event);
70
72
  }
73
+ function onKeydown(event) {
74
+ if (event.key === "Enter") {
75
+ handleEnter(event);
76
+ } else if (event.key === "Escape") {
77
+ blur(event);
78
+ }
79
+ }
71
80
  defineExpose({
72
81
  textareaRef: toRef(() => textareaRef.value?.textareaRef)
73
82
  });
74
83
  </script>
75
84
 
76
85
  <template>
77
- <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">
78
87
  <div v-if="!!slots.header" data-slot="header" :class="ui.header({ class: props.ui?.header })">
79
88
  <slot name="header" />
80
89
  </div>
81
90
 
82
- <UTextarea
83
- ref="textareaRef"
84
- v-model="model"
91
+ <slot
92
+ name="body"
93
+ :submit="submit"
94
+ :close="blur"
85
95
  :placeholder="props.placeholder ?? t('chatPrompt.placeholder')"
86
96
  :disabled="Boolean(props.error) || props.disabled"
87
- variant="none"
88
- fixed
89
- v-bind="{ ...textareaProps, ...$attrs }"
90
- :ui="transformUI(omit(ui, ['root', 'body', 'header', 'footer']), props.ui)"
91
- data-slot="body"
92
- :class="ui.body({ class: props.ui?.body })"
93
- @keydown.enter="handleEnter"
94
- @compositionend="onCompositionEnd"
95
- @keydown.esc="blur"
97
+ :ui="ui"
96
98
  >
97
- <template v-for="(_, name) in getProxySlots()" #[name]="slotData">
98
- <slot :name="name" v-bind="slotData" />
99
- </template>
100
- </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>
101
118
 
102
119
  <div v-if="!!slots.footer" data-slot="footer" :class="ui.footer({ class: props.ui?.footer })">
103
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,17 +1,19 @@
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'> {
8
10
  status?: ChatStatus;
9
11
  /**
10
- * The icon displayed in the button when the status is `ready`.
12
+ * The icon displayed in the button when the status is `ready`. Set to `false` to hide the icon.
11
13
  * @defaultValue appConfig.ui.icons.arrowUp
12
14
  * @IconifyIcon
13
15
  */
14
- icon?: IconProps['name'];
16
+ icon?: IconProps['name'] | false;
15
17
  /**
16
18
  * The color of the button when the status is `ready`.
17
19
  * @defaultValue 'primary'
@@ -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 & {
@@ -15,7 +15,7 @@ import UButton from "./Button.vue";
15
15
  defineOptions({ inheritAttrs: false });
16
16
  const _props = defineProps({
17
17
  status: { type: String, required: false, default: "ready" },
18
- icon: { type: null, required: false },
18
+ icon: { type: [String, Boolean], required: false, skipCheck: true },
19
19
  color: { type: null, required: false },
20
20
  variant: { type: null, required: false },
21
21
  streamingIcon: { type: null, required: false },
@@ -59,7 +59,7 @@ const buttonProps = useForwardProps(reactiveOmit(props, "icon", "color", "varian
59
59
  const disabled = computed(() => props.status === "ready" ? props.disabled : false);
60
60
  const statusButtonProps = computed(() => ({
61
61
  ready: {
62
- icon: props.icon || appConfig.ui.icons.arrowUp,
62
+ icon: props.icon === false ? void 0 : props.icon ?? appConfig.ui.icons.arrowUp,
63
63
  color: props.color,
64
64
  variant: props.variant,
65
65
  type: "submit"
@@ -89,7 +89,7 @@ const statusButtonProps = computed(() => ({
89
89
  }
90
90
  }
91
91
  })[props.status]);
92
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.chatPromptSubmit || {} })());
92
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.chatPromptSubmit || {} })());
93
93
  </script>
94
94
 
95
95
  <template>