@nuxt/ui 4.5.0 → 4.6.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 (442) hide show
  1. package/.nuxt/ui.css +2 -0
  2. package/cli/templates.mjs +5 -8
  3. package/dist/module.d.mts +7 -0
  4. package/dist/module.json +2 -2
  5. package/dist/module.mjs +78 -67
  6. package/dist/runtime/components/Accordion.d.vue.ts +8 -7
  7. package/dist/runtime/components/Accordion.vue.d.ts +8 -7
  8. package/dist/runtime/components/Alert.d.vue.ts +8 -7
  9. package/dist/runtime/components/Alert.vue.d.ts +8 -7
  10. package/dist/runtime/components/App.d.vue.ts +2 -1
  11. package/dist/runtime/components/App.vue.d.ts +2 -1
  12. package/dist/runtime/components/AuthForm.d.vue.ts +13 -12
  13. package/dist/runtime/components/AuthForm.vue.d.ts +13 -12
  14. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  15. package/dist/runtime/components/Avatar.vue +10 -12
  16. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  17. package/dist/runtime/components/AvatarGroup.d.vue.ts +2 -1
  18. package/dist/runtime/components/AvatarGroup.vue.d.ts +2 -1
  19. package/dist/runtime/components/Badge.d.vue.ts +7 -6
  20. package/dist/runtime/components/Badge.vue.d.ts +7 -6
  21. package/dist/runtime/components/Banner.d.vue.ts +7 -6
  22. package/dist/runtime/components/Banner.vue +1 -1
  23. package/dist/runtime/components/Banner.vue.d.ts +7 -6
  24. package/dist/runtime/components/BlogPost.d.vue.ts +11 -10
  25. package/dist/runtime/components/BlogPost.vue +3 -2
  26. package/dist/runtime/components/BlogPost.vue.d.ts +11 -10
  27. package/dist/runtime/components/BlogPosts.d.vue.ts +5 -4
  28. package/dist/runtime/components/BlogPosts.vue.d.ts +5 -4
  29. package/dist/runtime/components/Breadcrumb.d.vue.ts +15 -14
  30. package/dist/runtime/components/Breadcrumb.vue.d.ts +15 -14
  31. package/dist/runtime/components/Button.d.vue.ts +7 -6
  32. package/dist/runtime/components/Button.vue.d.ts +7 -6
  33. package/dist/runtime/components/Calendar.d.vue.ts +10 -9
  34. package/dist/runtime/components/Calendar.vue.d.ts +10 -9
  35. package/dist/runtime/components/Card.d.vue.ts +4 -3
  36. package/dist/runtime/components/Card.vue.d.ts +4 -3
  37. package/dist/runtime/components/Carousel.d.vue.ts +3 -2
  38. package/dist/runtime/components/Carousel.vue.d.ts +3 -2
  39. package/dist/runtime/components/ChangelogVersion.d.vue.ts +15 -14
  40. package/dist/runtime/components/ChangelogVersion.vue +3 -2
  41. package/dist/runtime/components/ChangelogVersion.vue.d.ts +15 -14
  42. package/dist/runtime/components/ChangelogVersions.d.vue.ts +6 -5
  43. package/dist/runtime/components/ChangelogVersions.vue +1 -1
  44. package/dist/runtime/components/ChangelogVersions.vue.d.ts +6 -5
  45. package/dist/runtime/components/ChatMessage.d.vue.ts +10 -6
  46. package/dist/runtime/components/ChatMessage.vue +5 -0
  47. package/dist/runtime/components/ChatMessage.vue.d.ts +10 -6
  48. package/dist/runtime/components/ChatMessages.d.vue.ts +9 -8
  49. package/dist/runtime/components/ChatMessages.vue.d.ts +9 -8
  50. package/dist/runtime/components/ChatPalette.d.vue.ts +3 -2
  51. package/dist/runtime/components/ChatPalette.vue.d.ts +3 -2
  52. package/dist/runtime/components/ChatPrompt.d.vue.ts +3 -2
  53. package/dist/runtime/components/ChatPrompt.vue.d.ts +3 -2
  54. package/dist/runtime/components/ChatReasoning.d.vue.ts +78 -0
  55. package/dist/runtime/components/ChatReasoning.vue +162 -0
  56. package/dist/runtime/components/ChatReasoning.vue.d.ts +78 -0
  57. package/dist/runtime/components/ChatShimmer.d.vue.ts +34 -0
  58. package/dist/runtime/components/ChatShimmer.vue +37 -0
  59. package/dist/runtime/components/ChatShimmer.vue.d.ts +34 -0
  60. package/dist/runtime/components/ChatTool.d.vue.ts +88 -0
  61. package/dist/runtime/components/ChatTool.vue +105 -0
  62. package/dist/runtime/components/ChatTool.vue.d.ts +88 -0
  63. package/dist/runtime/components/Checkbox.d.vue.ts +29 -25
  64. package/dist/runtime/components/Checkbox.vue +9 -8
  65. package/dist/runtime/components/Checkbox.vue.d.ts +29 -25
  66. package/dist/runtime/components/CheckboxGroup.d.vue.ts +5 -4
  67. package/dist/runtime/components/CheckboxGroup.vue.d.ts +5 -4
  68. package/dist/runtime/components/Chip.d.vue.ts +3 -2
  69. package/dist/runtime/components/Chip.vue.d.ts +3 -2
  70. package/dist/runtime/components/Collapsible.d.vue.ts +4 -3
  71. package/dist/runtime/components/Collapsible.vue.d.ts +4 -3
  72. package/dist/runtime/components/CommandPalette.d.vue.ts +19 -18
  73. package/dist/runtime/components/CommandPalette.vue.d.ts +19 -18
  74. package/dist/runtime/components/Container.d.vue.ts +2 -1
  75. package/dist/runtime/components/Container.vue.d.ts +2 -1
  76. package/dist/runtime/components/ContextMenu.d.vue.ts +19 -18
  77. package/dist/runtime/components/ContextMenu.vue.d.ts +19 -18
  78. package/dist/runtime/components/DashboardGroup.d.vue.ts +3 -2
  79. package/dist/runtime/components/DashboardGroup.vue.d.ts +3 -2
  80. package/dist/runtime/components/DashboardNavbar.d.vue.ts +11 -10
  81. package/dist/runtime/components/DashboardNavbar.vue.d.ts +11 -10
  82. package/dist/runtime/components/DashboardPanel.d.vue.ts +7 -6
  83. package/dist/runtime/components/DashboardPanel.vue.d.ts +7 -6
  84. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +2 -1
  85. package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +2 -1
  86. package/dist/runtime/components/DashboardSearch.d.vue.ts +4 -3
  87. package/dist/runtime/components/DashboardSearch.vue.d.ts +4 -3
  88. package/dist/runtime/components/DashboardSearchButton.vue +2 -2
  89. package/dist/runtime/components/DashboardSidebar.d.vue.ts +19 -18
  90. package/dist/runtime/components/DashboardSidebar.vue +3 -3
  91. package/dist/runtime/components/DashboardSidebar.vue.d.ts +19 -18
  92. package/dist/runtime/components/DashboardToolbar.d.vue.ts +4 -3
  93. package/dist/runtime/components/DashboardToolbar.vue.d.ts +4 -3
  94. package/dist/runtime/components/Drawer.d.vue.ts +8 -7
  95. package/dist/runtime/components/Drawer.vue +1 -1
  96. package/dist/runtime/components/Drawer.vue.d.ts +8 -7
  97. package/dist/runtime/components/DropdownMenu.d.vue.ts +50 -22
  98. package/dist/runtime/components/DropdownMenu.vue +10 -1
  99. package/dist/runtime/components/DropdownMenu.vue.d.ts +50 -22
  100. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +13 -6
  101. package/dist/runtime/components/DropdownMenuContent.vue +62 -9
  102. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +13 -6
  103. package/dist/runtime/components/Editor.d.vue.ts +3 -2
  104. package/dist/runtime/components/Editor.vue.d.ts +3 -2
  105. package/dist/runtime/components/EditorDragHandle.d.vue.ts +7 -6
  106. package/dist/runtime/components/EditorDragHandle.vue.d.ts +7 -6
  107. package/dist/runtime/components/EditorToolbar.d.vue.ts +3 -2
  108. package/dist/runtime/components/EditorToolbar.vue.d.ts +3 -2
  109. package/dist/runtime/components/Empty.d.vue.ts +9 -8
  110. package/dist/runtime/components/Empty.vue.d.ts +9 -8
  111. package/dist/runtime/components/Error.d.vue.ts +6 -5
  112. package/dist/runtime/components/Error.vue +5 -5
  113. package/dist/runtime/components/Error.vue.d.ts +6 -5
  114. package/dist/runtime/components/FieldGroup.d.vue.ts +2 -1
  115. package/dist/runtime/components/FieldGroup.vue.d.ts +2 -1
  116. package/dist/runtime/components/FileUpload.d.vue.ts +35 -28
  117. package/dist/runtime/components/FileUpload.vue +11 -7
  118. package/dist/runtime/components/FileUpload.vue.d.ts +35 -28
  119. package/dist/runtime/components/Footer.d.vue.ts +6 -5
  120. package/dist/runtime/components/Footer.vue.d.ts +6 -5
  121. package/dist/runtime/components/FooterColumns.d.vue.ts +12 -11
  122. package/dist/runtime/components/FooterColumns.vue.d.ts +12 -11
  123. package/dist/runtime/components/Form.d.vue.ts +3 -2
  124. package/dist/runtime/components/Form.vue.d.ts +3 -2
  125. package/dist/runtime/components/FormField.d.vue.ts +19 -18
  126. package/dist/runtime/components/FormField.vue.d.ts +19 -18
  127. package/dist/runtime/components/Header.d.vue.ts +12 -11
  128. package/dist/runtime/components/Header.vue.d.ts +12 -11
  129. package/dist/runtime/components/Icon.d.vue.ts +2 -1
  130. package/dist/runtime/components/Icon.vue +1 -1
  131. package/dist/runtime/components/Icon.vue.d.ts +2 -1
  132. package/dist/runtime/components/Input.d.vue.ts +7 -6
  133. package/dist/runtime/components/Input.vue.d.ts +7 -6
  134. package/dist/runtime/components/InputDate.d.vue.ts +13 -13
  135. package/dist/runtime/components/InputDate.vue.d.ts +13 -13
  136. package/dist/runtime/components/InputMenu.d.vue.ts +33 -25
  137. package/dist/runtime/components/InputMenu.vue +68 -49
  138. package/dist/runtime/components/InputMenu.vue.d.ts +33 -25
  139. package/dist/runtime/components/InputNumber.d.vue.ts +3 -2
  140. package/dist/runtime/components/InputNumber.vue.d.ts +3 -2
  141. package/dist/runtime/components/InputTags.d.vue.ts +10 -9
  142. package/dist/runtime/components/InputTags.vue.d.ts +10 -9
  143. package/dist/runtime/components/InputTime.d.vue.ts +60 -34
  144. package/dist/runtime/components/InputTime.vue +52 -27
  145. package/dist/runtime/components/InputTime.vue.d.ts +60 -34
  146. package/dist/runtime/components/Kbd.d.vue.ts +2 -1
  147. package/dist/runtime/components/Kbd.vue +1 -1
  148. package/dist/runtime/components/Kbd.vue.d.ts +2 -1
  149. package/dist/runtime/components/Link.d.vue.ts +3 -2
  150. package/dist/runtime/components/Link.vue.d.ts +3 -2
  151. package/dist/runtime/components/Main.d.vue.ts +2 -1
  152. package/dist/runtime/components/Main.vue.d.ts +2 -1
  153. package/dist/runtime/components/Marquee.d.vue.ts +2 -1
  154. package/dist/runtime/components/Marquee.vue.d.ts +2 -1
  155. package/dist/runtime/components/Modal.d.vue.ts +16 -15
  156. package/dist/runtime/components/Modal.vue +1 -1
  157. package/dist/runtime/components/Modal.vue.d.ts +16 -15
  158. package/dist/runtime/components/NavigationMenu.d.vue.ts +20 -15
  159. package/dist/runtime/components/NavigationMenu.vue +13 -6
  160. package/dist/runtime/components/NavigationMenu.vue.d.ts +20 -15
  161. package/dist/runtime/components/Page.d.vue.ts +4 -3
  162. package/dist/runtime/components/Page.vue +9 -3
  163. package/dist/runtime/components/Page.vue.d.ts +4 -3
  164. package/dist/runtime/components/PageAnchors.d.vue.ts +8 -7
  165. package/dist/runtime/components/PageAnchors.vue.d.ts +8 -7
  166. package/dist/runtime/components/PageAside.d.vue.ts +4 -3
  167. package/dist/runtime/components/PageAside.vue.d.ts +4 -3
  168. package/dist/runtime/components/PageBody.d.vue.ts +2 -1
  169. package/dist/runtime/components/PageBody.vue.d.ts +2 -1
  170. package/dist/runtime/components/PageCTA.d.vue.ts +10 -9
  171. package/dist/runtime/components/PageCTA.vue.d.ts +10 -9
  172. package/dist/runtime/components/PageCard.d.vue.ts +9 -8
  173. package/dist/runtime/components/PageCard.vue.d.ts +9 -8
  174. package/dist/runtime/components/PageColumns.d.vue.ts +2 -1
  175. package/dist/runtime/components/PageColumns.vue.d.ts +2 -1
  176. package/dist/runtime/components/PageFeature.d.vue.ts +6 -5
  177. package/dist/runtime/components/PageFeature.vue.d.ts +6 -5
  178. package/dist/runtime/components/PageGrid.d.vue.ts +2 -1
  179. package/dist/runtime/components/PageGrid.vue.d.ts +2 -1
  180. package/dist/runtime/components/PageHeader.d.vue.ts +6 -5
  181. package/dist/runtime/components/PageHeader.vue.d.ts +6 -5
  182. package/dist/runtime/components/PageHero.d.vue.ts +11 -10
  183. package/dist/runtime/components/PageHero.vue.d.ts +11 -10
  184. package/dist/runtime/components/PageLinks.d.vue.ts +9 -8
  185. package/dist/runtime/components/PageLinks.vue.d.ts +9 -8
  186. package/dist/runtime/components/PageList.d.vue.ts +2 -1
  187. package/dist/runtime/components/PageList.vue.d.ts +2 -1
  188. package/dist/runtime/components/PageLogos.d.vue.ts +2 -1
  189. package/dist/runtime/components/PageLogos.vue.d.ts +2 -1
  190. package/dist/runtime/components/PageSection.d.vue.ts +14 -13
  191. package/dist/runtime/components/PageSection.vue.d.ts +14 -13
  192. package/dist/runtime/components/Pagination.d.vue.ts +9 -8
  193. package/dist/runtime/components/Pagination.vue.d.ts +9 -8
  194. package/dist/runtime/components/Popover.d.vue.ts +9 -5
  195. package/dist/runtime/components/Popover.vue +2 -2
  196. package/dist/runtime/components/Popover.vue.d.ts +9 -5
  197. package/dist/runtime/components/PricingPlan.d.vue.ts +17 -16
  198. package/dist/runtime/components/PricingPlan.vue.d.ts +17 -16
  199. package/dist/runtime/components/PricingPlans.d.vue.ts +5 -4
  200. package/dist/runtime/components/PricingPlans.vue.d.ts +5 -4
  201. package/dist/runtime/components/PricingTable.d.vue.ts +20 -19
  202. package/dist/runtime/components/PricingTable.vue.d.ts +20 -19
  203. package/dist/runtime/components/Progress.d.vue.ts +5 -4
  204. package/dist/runtime/components/Progress.vue.d.ts +5 -4
  205. package/dist/runtime/components/RadioGroup.d.vue.ts +6 -5
  206. package/dist/runtime/components/RadioGroup.vue.d.ts +6 -5
  207. package/dist/runtime/components/ScrollArea.d.vue.ts +6 -2
  208. package/dist/runtime/components/ScrollArea.vue +2 -2
  209. package/dist/runtime/components/ScrollArea.vue.d.ts +6 -2
  210. package/dist/runtime/components/Select.d.vue.ts +21 -19
  211. package/dist/runtime/components/Select.vue +1 -1
  212. package/dist/runtime/components/Select.vue.d.ts +21 -19
  213. package/dist/runtime/components/SelectMenu.d.vue.ts +27 -26
  214. package/dist/runtime/components/SelectMenu.vue +2 -2
  215. package/dist/runtime/components/SelectMenu.vue.d.ts +27 -26
  216. package/dist/runtime/components/Separator.d.vue.ts +3 -2
  217. package/dist/runtime/components/Separator.vue.d.ts +3 -2
  218. package/dist/runtime/components/Sidebar.d.vue.ts +131 -0
  219. package/dist/runtime/components/Sidebar.vue +222 -0
  220. package/dist/runtime/components/Sidebar.vue.d.ts +131 -0
  221. package/dist/runtime/components/Slideover.d.vue.ts +16 -15
  222. package/dist/runtime/components/Slideover.vue +1 -1
  223. package/dist/runtime/components/Slideover.vue.d.ts +16 -15
  224. package/dist/runtime/components/Stepper.d.vue.ts +8 -7
  225. package/dist/runtime/components/Stepper.vue.d.ts +8 -7
  226. package/dist/runtime/components/Switch.d.vue.ts +29 -25
  227. package/dist/runtime/components/Switch.vue +7 -6
  228. package/dist/runtime/components/Switch.vue.d.ts +29 -25
  229. package/dist/runtime/components/Table.d.vue.ts +12 -13
  230. package/dist/runtime/components/Table.vue +12 -4
  231. package/dist/runtime/components/Table.vue.d.ts +12 -13
  232. package/dist/runtime/components/Tabs.d.vue.ts +9 -9
  233. package/dist/runtime/components/Tabs.vue.d.ts +9 -9
  234. package/dist/runtime/components/Textarea.d.vue.ts +7 -6
  235. package/dist/runtime/components/Textarea.vue.d.ts +7 -6
  236. package/dist/runtime/components/Theme.d.vue.ts +2 -1
  237. package/dist/runtime/components/Theme.vue.d.ts +2 -1
  238. package/dist/runtime/components/Timeline.d.vue.ts +7 -6
  239. package/dist/runtime/components/Timeline.vue.d.ts +7 -6
  240. package/dist/runtime/components/Toast.d.vue.ts +8 -7
  241. package/dist/runtime/components/Toast.vue.d.ts +8 -7
  242. package/dist/runtime/components/Toaster.d.vue.ts +2 -1
  243. package/dist/runtime/components/Toaster.vue.d.ts +2 -1
  244. package/dist/runtime/components/Tooltip.d.vue.ts +8 -4
  245. package/dist/runtime/components/Tooltip.vue +4 -3
  246. package/dist/runtime/components/Tooltip.vue.d.ts +8 -4
  247. package/dist/runtime/components/Tree.d.vue.ts +7 -6
  248. package/dist/runtime/components/Tree.vue.d.ts +7 -6
  249. package/dist/runtime/components/User.d.vue.ts +6 -5
  250. package/dist/runtime/components/User.vue.d.ts +6 -5
  251. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  252. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  253. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +3 -1
  254. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +7 -6
  255. package/dist/runtime/components/content/ContentNavigation.vue +10 -3
  256. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +7 -6
  257. package/dist/runtime/components/content/ContentSearch.d.vue.ts +4 -3
  258. package/dist/runtime/components/content/ContentSearch.vue.d.ts +4 -3
  259. package/dist/runtime/components/content/ContentSurround.d.vue.ts +6 -5
  260. package/dist/runtime/components/content/ContentSurround.vue +6 -2
  261. package/dist/runtime/components/content/ContentSurround.vue.d.ts +6 -5
  262. package/dist/runtime/components/content/ContentToc.d.vue.ts +20 -14
  263. package/dist/runtime/components/content/ContentToc.vue +59 -14
  264. package/dist/runtime/components/content/ContentToc.vue.d.ts +20 -14
  265. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -1
  266. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -1
  267. package/dist/runtime/components/prose/A.d.vue.ts +2 -1
  268. package/dist/runtime/components/prose/A.vue.d.ts +2 -1
  269. package/dist/runtime/components/prose/Accordion.d.vue.ts +2 -1
  270. package/dist/runtime/components/prose/Accordion.vue.d.ts +2 -1
  271. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +2 -1
  272. package/dist/runtime/components/prose/AccordionItem.vue.d.ts +2 -1
  273. package/dist/runtime/components/prose/Badge.d.vue.ts +2 -1
  274. package/dist/runtime/components/prose/Badge.vue.d.ts +2 -1
  275. package/dist/runtime/components/prose/Blockquote.d.vue.ts +2 -1
  276. package/dist/runtime/components/prose/Blockquote.vue.d.ts +2 -1
  277. package/dist/runtime/components/prose/Callout.d.vue.ts +2 -1
  278. package/dist/runtime/components/prose/Callout.vue.d.ts +2 -1
  279. package/dist/runtime/components/prose/Card.d.vue.ts +3 -2
  280. package/dist/runtime/components/prose/Card.vue.d.ts +3 -2
  281. package/dist/runtime/components/prose/CardGroup.d.vue.ts +2 -1
  282. package/dist/runtime/components/prose/CardGroup.vue.d.ts +2 -1
  283. package/dist/runtime/components/prose/Code.d.vue.ts +2 -1
  284. package/dist/runtime/components/prose/Code.vue.d.ts +2 -1
  285. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +2 -1
  286. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +2 -1
  287. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +2 -1
  288. package/dist/runtime/components/prose/CodeGroup.vue.d.ts +2 -1
  289. package/dist/runtime/components/prose/CodePreview.d.vue.ts +3 -2
  290. package/dist/runtime/components/prose/CodePreview.vue.d.ts +3 -2
  291. package/dist/runtime/components/prose/CodeTree.d.vue.ts +2 -1
  292. package/dist/runtime/components/prose/CodeTree.vue.d.ts +2 -1
  293. package/dist/runtime/components/prose/Collapsible.d.vue.ts +2 -1
  294. package/dist/runtime/components/prose/Collapsible.vue.d.ts +2 -1
  295. package/dist/runtime/components/prose/Em.d.vue.ts +2 -1
  296. package/dist/runtime/components/prose/Em.vue.d.ts +2 -1
  297. package/dist/runtime/components/prose/Field.d.vue.ts +2 -1
  298. package/dist/runtime/components/prose/Field.vue.d.ts +2 -1
  299. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +2 -1
  300. package/dist/runtime/components/prose/FieldGroup.vue.d.ts +2 -1
  301. package/dist/runtime/components/prose/H1.d.vue.ts +2 -1
  302. package/dist/runtime/components/prose/H1.vue.d.ts +2 -1
  303. package/dist/runtime/components/prose/H2.d.vue.ts +2 -1
  304. package/dist/runtime/components/prose/H2.vue.d.ts +2 -1
  305. package/dist/runtime/components/prose/H3.d.vue.ts +2 -1
  306. package/dist/runtime/components/prose/H3.vue.d.ts +2 -1
  307. package/dist/runtime/components/prose/H4.d.vue.ts +2 -1
  308. package/dist/runtime/components/prose/H4.vue.d.ts +2 -1
  309. package/dist/runtime/components/prose/Li.d.vue.ts +2 -1
  310. package/dist/runtime/components/prose/Li.vue.d.ts +2 -1
  311. package/dist/runtime/components/prose/Ol.d.vue.ts +2 -1
  312. package/dist/runtime/components/prose/Ol.vue.d.ts +2 -1
  313. package/dist/runtime/components/prose/P.d.vue.ts +2 -1
  314. package/dist/runtime/components/prose/P.vue.d.ts +2 -1
  315. package/dist/runtime/components/prose/Pre.d.vue.ts +2 -1
  316. package/dist/runtime/components/prose/Pre.vue +0 -4
  317. package/dist/runtime/components/prose/Pre.vue.d.ts +2 -1
  318. package/dist/runtime/components/prose/Steps.d.vue.ts +2 -1
  319. package/dist/runtime/components/prose/Steps.vue.d.ts +2 -1
  320. package/dist/runtime/components/prose/Strong.d.vue.ts +2 -1
  321. package/dist/runtime/components/prose/Strong.vue.d.ts +2 -1
  322. package/dist/runtime/components/prose/Table.d.vue.ts +2 -1
  323. package/dist/runtime/components/prose/Table.vue.d.ts +2 -1
  324. package/dist/runtime/components/prose/Tabs.d.vue.ts +2 -1
  325. package/dist/runtime/components/prose/Tabs.vue.d.ts +2 -1
  326. package/dist/runtime/components/prose/TabsItem.d.vue.ts +2 -1
  327. package/dist/runtime/components/prose/TabsItem.vue.d.ts +2 -1
  328. package/dist/runtime/components/prose/Tbody.d.vue.ts +2 -1
  329. package/dist/runtime/components/prose/Tbody.vue.d.ts +2 -1
  330. package/dist/runtime/components/prose/Td.d.vue.ts +2 -1
  331. package/dist/runtime/components/prose/Td.vue.d.ts +2 -1
  332. package/dist/runtime/components/prose/Th.d.vue.ts +2 -1
  333. package/dist/runtime/components/prose/Th.vue.d.ts +2 -1
  334. package/dist/runtime/components/prose/Thead.d.vue.ts +2 -1
  335. package/dist/runtime/components/prose/Thead.vue.d.ts +2 -1
  336. package/dist/runtime/components/prose/Tr.d.vue.ts +2 -1
  337. package/dist/runtime/components/prose/Tr.vue.d.ts +2 -1
  338. package/dist/runtime/components/prose/Ul.d.vue.ts +2 -1
  339. package/dist/runtime/components/prose/Ul.vue.d.ts +2 -1
  340. package/dist/runtime/composables/index.d.ts +11 -0
  341. package/dist/runtime/composables/index.js +11 -0
  342. package/dist/runtime/composables/useEditorMenu.js +1 -1
  343. package/dist/runtime/composables/useFileUpload.d.ts +2 -2
  344. package/dist/runtime/composables/useFileUpload.js +3 -3
  345. package/dist/runtime/composables/{internal/useFilter.js → useFilter.js} +1 -1
  346. package/dist/runtime/composables/useResizable.d.ts +2 -2
  347. package/dist/runtime/composables/useResizable.js +2 -2
  348. package/dist/runtime/composables/useScrollShadow.d.ts +23 -0
  349. package/dist/runtime/composables/useScrollShadow.js +36 -0
  350. package/dist/runtime/index.css +1 -1
  351. package/dist/runtime/keyframes.css +1 -1
  352. package/dist/runtime/locale/ar.js +13 -0
  353. package/dist/runtime/locale/az.js +13 -0
  354. package/dist/runtime/locale/be.js +13 -0
  355. package/dist/runtime/locale/bg.js +13 -0
  356. package/dist/runtime/locale/bn.js +13 -0
  357. package/dist/runtime/locale/ca.js +13 -0
  358. package/dist/runtime/locale/ckb.js +13 -0
  359. package/dist/runtime/locale/cs.js +13 -0
  360. package/dist/runtime/locale/da.js +13 -0
  361. package/dist/runtime/locale/de.js +13 -0
  362. package/dist/runtime/locale/de_ch.js +13 -0
  363. package/dist/runtime/locale/el.js +13 -0
  364. package/dist/runtime/locale/en.js +13 -0
  365. package/dist/runtime/locale/es.js +13 -0
  366. package/dist/runtime/locale/et.js +13 -0
  367. package/dist/runtime/locale/eu.js +13 -0
  368. package/dist/runtime/locale/fa_ir.js +13 -0
  369. package/dist/runtime/locale/fi.js +13 -0
  370. package/dist/runtime/locale/fr.js +13 -0
  371. package/dist/runtime/locale/gl.js +13 -0
  372. package/dist/runtime/locale/he.js +13 -0
  373. package/dist/runtime/locale/hi.js +13 -0
  374. package/dist/runtime/locale/hr.js +13 -0
  375. package/dist/runtime/locale/hu.js +13 -0
  376. package/dist/runtime/locale/hy.js +13 -0
  377. package/dist/runtime/locale/id.js +13 -0
  378. package/dist/runtime/locale/index.d.ts +1 -0
  379. package/dist/runtime/locale/index.js +1 -0
  380. package/dist/runtime/locale/is.d.ts +3 -0
  381. package/dist/runtime/locale/is.js +142 -0
  382. package/dist/runtime/locale/it.js +13 -0
  383. package/dist/runtime/locale/ja.js +13 -0
  384. package/dist/runtime/locale/ka.js +13 -0
  385. package/dist/runtime/locale/kk.js +13 -0
  386. package/dist/runtime/locale/km.js +13 -0
  387. package/dist/runtime/locale/ko.js +13 -0
  388. package/dist/runtime/locale/ky.js +13 -0
  389. package/dist/runtime/locale/lb.js +13 -0
  390. package/dist/runtime/locale/lo.js +13 -0
  391. package/dist/runtime/locale/lt.js +13 -0
  392. package/dist/runtime/locale/mn.js +13 -0
  393. package/dist/runtime/locale/ms.js +13 -0
  394. package/dist/runtime/locale/nb_no.js +13 -0
  395. package/dist/runtime/locale/nl.js +13 -0
  396. package/dist/runtime/locale/pl.js +13 -0
  397. package/dist/runtime/locale/pt.js +13 -0
  398. package/dist/runtime/locale/pt_br.js +13 -0
  399. package/dist/runtime/locale/ro.js +13 -0
  400. package/dist/runtime/locale/ru.js +13 -0
  401. package/dist/runtime/locale/sk.js +13 -0
  402. package/dist/runtime/locale/sl.js +13 -0
  403. package/dist/runtime/locale/sq.js +13 -0
  404. package/dist/runtime/locale/sv.js +13 -0
  405. package/dist/runtime/locale/th.js +13 -0
  406. package/dist/runtime/locale/tj.js +13 -0
  407. package/dist/runtime/locale/tr.js +13 -0
  408. package/dist/runtime/locale/ug_cn.js +13 -0
  409. package/dist/runtime/locale/uk.js +13 -0
  410. package/dist/runtime/locale/ur.js +13 -0
  411. package/dist/runtime/locale/uz.js +13 -0
  412. package/dist/runtime/locale/vi.js +13 -0
  413. package/dist/runtime/locale/zh_cn.js +13 -0
  414. package/dist/runtime/locale/zh_tw.js +13 -0
  415. package/dist/runtime/types/index.d.ts +4 -0
  416. package/dist/runtime/types/index.js +4 -0
  417. package/dist/runtime/types/locale.d.ts +13 -0
  418. package/dist/runtime/types/utils.d.ts +2 -2
  419. package/dist/runtime/utils/ai.d.ts +18 -0
  420. package/dist/runtime/utils/ai.js +13 -0
  421. package/dist/runtime/utils/editor.js +17 -5
  422. package/dist/runtime/utils/index.d.ts +1 -1
  423. package/dist/runtime/utils/index.js +1 -1
  424. package/dist/runtime/vue/components/Icon.d.vue.ts +1 -4
  425. package/dist/runtime/vue/components/Icon.vue +28 -3
  426. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -4
  427. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  428. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  429. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +3 -1
  430. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +3 -2
  431. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +3 -2
  432. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +3 -3
  433. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +3 -3
  434. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +3 -2
  435. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +3 -2
  436. package/dist/shared/{ui.BrgdrRzy.mjs → ui.DJUbBpE2.mjs} +306 -45
  437. package/dist/unplugin.d.mts +15 -5
  438. package/dist/unplugin.mjs +53 -30
  439. package/dist/vite.d.mts +1 -0
  440. package/dist/vite.mjs +1 -1
  441. package/package.json +50 -47
  442. /package/dist/runtime/composables/{internal/useFilter.d.ts → useFilter.d.ts} +0 -0
@@ -0,0 +1,37 @@
1
+ <script>
2
+ import theme from "#build/ui/chat-shimmer";
3
+ </script>
4
+
5
+ <script setup>
6
+ import { computed } from "vue";
7
+ import { Primitive } from "reka-ui";
8
+ import { useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
10
+ import { tv } from "../utils/tv";
11
+ const props = defineProps({
12
+ as: { type: null, required: false, default: "span" },
13
+ text: { type: String, required: true },
14
+ duration: { type: Number, required: false, default: 2 },
15
+ spread: { type: Number, required: false, default: 2 },
16
+ class: { type: null, required: false },
17
+ ui: { type: Object, required: false }
18
+ });
19
+ const appConfig = useAppConfig();
20
+ const uiProp = useComponentUI("chatShimmer", props);
21
+ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.chatShimmer || {} }));
22
+ const spread = computed(() => props.text.length * props.spread);
23
+ </script>
24
+
25
+ <template>
26
+ <Primitive
27
+ :as="as"
28
+ :style="{
29
+ '--spread': `${spread}px`,
30
+ '--duration': `${duration}s`
31
+ }"
32
+ data-slot="base"
33
+ :class="ui({ class: [uiProp?.base, props.class] })"
34
+ >
35
+ {{ text }}
36
+ </Primitive>
37
+ </template>
@@ -0,0 +1,34 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/chat-shimmer';
3
+ import type { ComponentConfig } from '../types/tv';
4
+ type ChatShimmer = ComponentConfig<typeof theme, AppConfig, 'chatShimmer'>;
5
+ export interface ChatShimmerProps {
6
+ /**
7
+ * The element or component this component should render as.
8
+ * @defaultValue 'span'
9
+ */
10
+ as?: any;
11
+ /**
12
+ * The text to display with the shimmer effect.
13
+ */
14
+ text: string;
15
+ /**
16
+ * The duration of the shimmer animation in seconds.
17
+ * @defaultValue 2
18
+ */
19
+ duration?: number;
20
+ /**
21
+ * The spread multiplier for the shimmer highlight. The actual spread is computed as `text.length * spread` in pixels.
22
+ * @defaultValue 2
23
+ */
24
+ spread?: number;
25
+ class?: any;
26
+ ui?: ChatShimmer['slots'];
27
+ }
28
+ declare const _default: typeof __VLS_export;
29
+ export default _default;
30
+ declare const __VLS_export: import("vue").DefineComponent<ChatShimmerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ChatShimmerProps> & Readonly<{}>, {
31
+ as: any;
32
+ duration: number;
33
+ spread: number;
34
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,88 @@
1
+ import type { CollapsibleRootProps } from 'reka-ui';
2
+ import type { VNode } from 'vue';
3
+ import type { AppConfig } from '@nuxt/schema';
4
+ import theme from '#build/ui/chat-tool';
5
+ import type { IconProps } from '../types';
6
+ import type { ChatShimmerProps } from './ChatShimmer.vue';
7
+ import type { ComponentConfig } from '../types/tv';
8
+ type ChatTool = ComponentConfig<typeof theme, AppConfig, 'chatTool'>;
9
+ export interface ChatToolProps extends Pick<CollapsibleRootProps, 'defaultOpen' | 'open' | 'disabled' | 'unmountOnHide'> {
10
+ /**
11
+ * The text content to display.
12
+ */
13
+ text?: string;
14
+ /**
15
+ * The suffix text displayed after the main text.
16
+ */
17
+ suffix?: string;
18
+ /**
19
+ * The icon displayed next to the trigger.
20
+ * @IconifyIcon
21
+ */
22
+ icon?: IconProps['name'];
23
+ /**
24
+ * Whether the tool is in a loading state.
25
+ * @defaultValue false
26
+ */
27
+ loading?: boolean;
28
+ /**
29
+ * The icon displayed when loading.
30
+ * @defaultValue appConfig.ui.icons.loading
31
+ * @IconifyIcon
32
+ */
33
+ loadingIcon?: IconProps['name'];
34
+ /**
35
+ * Whether the tool content is currently streaming.
36
+ * @defaultValue false
37
+ */
38
+ streaming?: boolean;
39
+ /**
40
+ * The visual variant of the tool display.
41
+ * @defaultValue 'inline'
42
+ */
43
+ variant?: ChatTool['variants']['variant'];
44
+ /**
45
+ * The position of the chevron icon.
46
+ * @defaultValue 'trailing'
47
+ */
48
+ chevron?: 'leading' | 'trailing';
49
+ /**
50
+ * The icon displayed as the chevron.
51
+ * @defaultValue appConfig.ui.icons.chevronDown
52
+ * @IconifyIcon
53
+ */
54
+ chevronIcon?: IconProps['name'];
55
+ /**
56
+ * Customize the [`ChatShimmer`](https://ui.nuxt.com/docs/components/chat-shimmer) component when streaming.
57
+ */
58
+ shimmer?: Partial<Omit<ChatShimmerProps, 'text'>>;
59
+ class?: any;
60
+ ui?: ChatTool['slots'];
61
+ }
62
+ export interface ChatToolEmits {
63
+ 'update:open': [value: boolean];
64
+ }
65
+ export interface ChatToolSlots {
66
+ default?(props: {
67
+ open: boolean;
68
+ }): VNode[];
69
+ }
70
+ declare const _default: typeof __VLS_export;
71
+ export default _default;
72
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ChatToolProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
73
+ "update:open": (value: boolean) => any;
74
+ }, string, import("vue").PublicProps, Readonly<ChatToolProps> & Readonly<{
75
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
76
+ }>, {
77
+ loading: boolean;
78
+ variant: ChatTool["variants"]["variant"];
79
+ open: boolean;
80
+ streaming: boolean;
81
+ unmountOnHide: boolean;
82
+ chevron: "leading" | "trailing";
83
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChatToolSlots>;
84
+ type __VLS_WithSlots<T, S> = T & {
85
+ new (): {
86
+ $slots: S;
87
+ };
88
+ };
@@ -0,0 +1,105 @@
1
+ <script>
2
+ import theme from "#build/ui/chat-tool";
3
+ </script>
4
+
5
+ <script setup>
6
+ import { ref, computed } from "vue";
7
+ import { CollapsibleRoot, CollapsibleTrigger, CollapsibleContent } from "reka-ui";
8
+ import { useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
10
+ import { tv } from "../utils/tv";
11
+ import UIcon from "./Icon.vue";
12
+ import UChatShimmer from "./ChatShimmer.vue";
13
+ const props = defineProps({
14
+ text: { type: String, required: false },
15
+ suffix: { type: String, required: false },
16
+ icon: { type: null, required: false },
17
+ loading: { type: Boolean, required: false, default: false },
18
+ loadingIcon: { type: null, required: false },
19
+ streaming: { type: Boolean, required: false, default: false },
20
+ variant: { type: null, required: false, default: "inline" },
21
+ chevron: { type: String, required: false, default: "trailing" },
22
+ chevronIcon: { type: null, required: false },
23
+ shimmer: { type: Object, required: false },
24
+ class: { type: null, required: false },
25
+ ui: { type: Object, required: false },
26
+ defaultOpen: { type: Boolean, required: false },
27
+ open: { type: Boolean, required: false, default: void 0 },
28
+ disabled: { type: Boolean, required: false },
29
+ unmountOnHide: { type: Boolean, required: false, default: false }
30
+ });
31
+ const emits = defineEmits(["update:open"]);
32
+ const slots = defineSlots();
33
+ const appConfig = useAppConfig();
34
+ const uiProp = useComponentUI("chatTool", props);
35
+ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.chatTool || {} })({
36
+ variant: props.variant,
37
+ chevron: props.chevron,
38
+ loading: props.loading
39
+ }));
40
+ const isControlled = computed(() => props.open !== void 0);
41
+ const internalOpen = ref(props.defaultOpen ?? false);
42
+ const resolvedOpen = computed(() => isControlled.value ? props.open : internalOpen.value);
43
+ function setOpen(value) {
44
+ internalOpen.value = value;
45
+ emits("update:open", value);
46
+ }
47
+ const hasContent = computed(() => !!slots.default);
48
+ const resolvedLoadingIcon = computed(() => props.loadingIcon || appConfig.ui.icons?.loading);
49
+ const resolvedIcon = computed(() => props.loading ? resolvedLoadingIcon.value : props.icon);
50
+ const chevronIconName = computed(() => props.chevronIcon || appConfig.ui.icons?.chevronDown);
51
+ </script>
52
+
53
+ <template>
54
+ <CollapsibleRoot
55
+ v-slot="{ open: isOpen }"
56
+ :open="resolvedOpen"
57
+ :disabled="disabled"
58
+ :unmount-on-hide="unmountOnHide"
59
+ data-slot="root"
60
+ :class="ui.root({ class: [uiProp?.root, props.class] })"
61
+ @update:open="setOpen"
62
+ >
63
+ <CollapsibleTrigger as-child :disabled="!hasContent">
64
+ <button
65
+ type="button"
66
+ data-slot="trigger"
67
+ :class="ui.trigger({ class: uiProp?.trigger })"
68
+ >
69
+ <span v-if="resolvedIcon || hasContent && chevron === 'leading'" data-slot="leading" :class="ui.leading({ class: uiProp?.leading })">
70
+ <UIcon
71
+ v-if="resolvedIcon"
72
+ :name="resolvedIcon"
73
+ data-slot="leadingIcon"
74
+ :class="ui.leadingIcon({ class: uiProp?.leadingIcon, alone: !(hasContent && chevron === 'leading') })"
75
+ />
76
+ <UIcon
77
+ v-if="hasContent && chevron === 'leading'"
78
+ :name="chevronIconName"
79
+ data-slot="chevronIcon"
80
+ :class="ui.chevronIcon({ class: uiProp?.chevronIcon, alone: !resolvedIcon })"
81
+ />
82
+ </span>
83
+
84
+ <span data-slot="label" :class="ui.label({ class: uiProp?.label })">
85
+ <UChatShimmer v-if="streaming && text" :text="text" v-bind="props.shimmer" />
86
+ <template v-else>{{ text }}</template>
87
+ <span v-if="suffix" data-slot="suffix" :class="ui.suffix({ class: uiProp?.suffix })">{{ suffix }}</span>
88
+ </span>
89
+
90
+ <UIcon
91
+ v-if="hasContent && chevron === 'trailing'"
92
+ :name="chevronIconName"
93
+ data-slot="trailingIcon"
94
+ :class="ui.trailingIcon({ class: uiProp?.trailingIcon })"
95
+ />
96
+ </button>
97
+ </CollapsibleTrigger>
98
+
99
+ <CollapsibleContent data-slot="content" :class="ui.content({ class: uiProp?.content })">
100
+ <div data-slot="body" :class="ui.body({ class: uiProp?.body })">
101
+ <slot :open="isOpen" />
102
+ </div>
103
+ </CollapsibleContent>
104
+ </CollapsibleRoot>
105
+ </template>
@@ -0,0 +1,88 @@
1
+ import type { CollapsibleRootProps } from 'reka-ui';
2
+ import type { VNode } from 'vue';
3
+ import type { AppConfig } from '@nuxt/schema';
4
+ import theme from '#build/ui/chat-tool';
5
+ import type { IconProps } from '../types';
6
+ import type { ChatShimmerProps } from './ChatShimmer.vue';
7
+ import type { ComponentConfig } from '../types/tv';
8
+ type ChatTool = ComponentConfig<typeof theme, AppConfig, 'chatTool'>;
9
+ export interface ChatToolProps extends Pick<CollapsibleRootProps, 'defaultOpen' | 'open' | 'disabled' | 'unmountOnHide'> {
10
+ /**
11
+ * The text content to display.
12
+ */
13
+ text?: string;
14
+ /**
15
+ * The suffix text displayed after the main text.
16
+ */
17
+ suffix?: string;
18
+ /**
19
+ * The icon displayed next to the trigger.
20
+ * @IconifyIcon
21
+ */
22
+ icon?: IconProps['name'];
23
+ /**
24
+ * Whether the tool is in a loading state.
25
+ * @defaultValue false
26
+ */
27
+ loading?: boolean;
28
+ /**
29
+ * The icon displayed when loading.
30
+ * @defaultValue appConfig.ui.icons.loading
31
+ * @IconifyIcon
32
+ */
33
+ loadingIcon?: IconProps['name'];
34
+ /**
35
+ * Whether the tool content is currently streaming.
36
+ * @defaultValue false
37
+ */
38
+ streaming?: boolean;
39
+ /**
40
+ * The visual variant of the tool display.
41
+ * @defaultValue 'inline'
42
+ */
43
+ variant?: ChatTool['variants']['variant'];
44
+ /**
45
+ * The position of the chevron icon.
46
+ * @defaultValue 'trailing'
47
+ */
48
+ chevron?: 'leading' | 'trailing';
49
+ /**
50
+ * The icon displayed as the chevron.
51
+ * @defaultValue appConfig.ui.icons.chevronDown
52
+ * @IconifyIcon
53
+ */
54
+ chevronIcon?: IconProps['name'];
55
+ /**
56
+ * Customize the [`ChatShimmer`](https://ui.nuxt.com/docs/components/chat-shimmer) component when streaming.
57
+ */
58
+ shimmer?: Partial<Omit<ChatShimmerProps, 'text'>>;
59
+ class?: any;
60
+ ui?: ChatTool['slots'];
61
+ }
62
+ export interface ChatToolEmits {
63
+ 'update:open': [value: boolean];
64
+ }
65
+ export interface ChatToolSlots {
66
+ default?(props: {
67
+ open: boolean;
68
+ }): VNode[];
69
+ }
70
+ declare const _default: typeof __VLS_export;
71
+ export default _default;
72
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ChatToolProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
73
+ "update:open": (value: boolean) => any;
74
+ }, string, import("vue").PublicProps, Readonly<ChatToolProps> & Readonly<{
75
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
76
+ }>, {
77
+ loading: boolean;
78
+ variant: ChatTool["variants"]["variant"];
79
+ open: boolean;
80
+ streaming: boolean;
81
+ unmountOnHide: boolean;
82
+ chevron: "leading" | "trailing";
83
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChatToolSlots>;
84
+ type __VLS_WithSlots<T, S> = T & {
85
+ new (): {
86
+ $slots: S;
87
+ };
88
+ };
@@ -1,11 +1,12 @@
1
- import type { CheckboxRootProps } from 'reka-ui';
1
+ import type { CheckboxRootProps, CheckboxRootEmits } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/checkbox';
4
5
  import type { IconProps } from '../types';
5
6
  import type { ButtonHTMLAttributes } from '../types/html';
6
7
  import type { ComponentConfig } from '../types/tv';
7
8
  type Checkbox = ComponentConfig<typeof theme, AppConfig, 'checkbox'>;
8
- export interface CheckboxProps extends Pick<CheckboxRootProps, 'disabled' | 'required' | 'name' | 'value' | 'id' | 'defaultValue'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
9
+ export interface CheckboxProps<T = boolean> extends Pick<CheckboxRootProps<T>, 'disabled' | 'required' | 'name' | 'value' | 'id' | 'defaultValue' | 'modelValue' | 'trueValue' | 'falseValue'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
9
10
  /**
10
11
  * The element or component this component should render as.
11
12
  * @defaultValue 'div'
@@ -45,32 +46,35 @@ export interface CheckboxProps extends Pick<CheckboxRootProps, 'disabled' | 'req
45
46
  class?: any;
46
47
  ui?: Checkbox['slots'];
47
48
  }
48
- export type CheckboxEmits = {
49
+ export interface CheckboxEmits<T = boolean> extends CheckboxRootEmits<T> {
49
50
  change: [event: Event];
50
- };
51
+ }
51
52
  export interface CheckboxSlots {
52
- label(props: {
53
- label?: string;
54
- }): any;
55
- description(props: {
56
- description?: string;
57
- }): any;
53
+ label?(props: {
54
+ label: string | undefined;
55
+ }): VNode[];
56
+ description?(props: {
57
+ description: string | undefined;
58
+ }): VNode[];
58
59
  }
59
60
  declare const _default: typeof __VLS_export;
60
61
  export default _default;
61
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<CheckboxProps & {
62
- modelValue?: boolean | "indeterminate";
63
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
64
- change: (event: Event) => any;
65
- "update:modelValue": (value: boolean | "indeterminate") => any;
66
- }, string, import("vue").PublicProps, Readonly<CheckboxProps & {
67
- modelValue?: boolean | "indeterminate";
68
- }> & Readonly<{
69
- onChange?: ((event: Event) => any) | undefined;
70
- "onUpdate:modelValue"?: ((value: boolean | "indeterminate") => any) | undefined;
71
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, CheckboxSlots>;
72
- type __VLS_WithSlots<T, S> = T & {
73
- new (): {
74
- $slots: S;
75
- };
62
+ declare const __VLS_export: <T = boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
63
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<CheckboxProps<T> & {
64
+ onChange?: ((event: Event) => any) | undefined;
65
+ "onUpdate:modelValue"?: ((value: "indeterminate" | T) => any) | undefined;
66
+ }> & (typeof globalThis extends {
67
+ __VLS_PROPS_FALLBACK: infer P;
68
+ } ? P : {});
69
+ expose: (exposed: {}) => void;
70
+ attrs: any;
71
+ slots: CheckboxSlots;
72
+ emit: ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: "indeterminate" | T) => void);
73
+ }>) => import("vue").VNode & {
74
+ __ctx?: Awaited<typeof __VLS_setup>;
76
75
  };
76
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
77
+ [K in keyof T]: T[K];
78
+ } : {
79
+ [K in keyof T as K]: T[K];
80
+ }) & {};
@@ -4,7 +4,7 @@ import theme from "#build/ui/checkbox";
4
4
 
5
5
  <script setup>
6
6
  import { computed, useAttrs, useId } from "vue";
7
- import { Primitive, CheckboxRoot, CheckboxIndicator, Label, useForwardProps } from "reka-ui";
7
+ import { Primitive, CheckboxRoot, CheckboxIndicator, Label, useForwardPropsEmits } from "reka-ui";
8
8
  import { reactivePick } from "@vueuse/core";
9
9
  import { useAppConfig } from "#imports";
10
10
  import { useComponentUI } from "../composables/useComponentUI";
@@ -29,14 +29,16 @@ const props = defineProps({
29
29
  name: { type: String, required: false },
30
30
  value: { type: null, required: false },
31
31
  id: { type: String, required: false },
32
- defaultValue: { type: [Boolean, String], required: false }
32
+ defaultValue: { type: null, required: false },
33
+ modelValue: { type: null, required: false },
34
+ trueValue: { type: null, required: false },
35
+ falseValue: { type: null, required: false }
33
36
  });
34
37
  const slots = defineSlots();
35
- const emits = defineEmits(["change"]);
36
- const modelValue = defineModel({ type: [Boolean, String], ...{ default: void 0 } });
38
+ const emits = defineEmits(["change", "update:modelValue"]);
37
39
  const appConfig = useAppConfig();
38
40
  const uiProp = useComponentUI("checkbox", props);
39
- const rootProps = useForwardProps(reactivePick(props, "required", "value", "defaultValue"));
41
+ const rootProps = useForwardPropsEmits(reactivePick(props, "required", "value", "defaultValue", "modelValue", "trueValue", "falseValue"), emits);
40
42
  const { id: _id, emitFormChange, emitFormInput, size, color, name, disabled, ariaAttrs } = useFormField(props);
41
43
  const id = _id.value ?? useId();
42
44
  const attrs = useAttrs();
@@ -66,16 +68,15 @@ function onUpdate(value) {
66
68
  <CheckboxRoot
67
69
  :id="id"
68
70
  v-bind="{ ...rootProps, ...forwardedAttrs, ...ariaAttrs }"
69
- v-model="modelValue"
70
71
  :name="name"
71
72
  :disabled="disabled"
72
73
  data-slot="base"
73
74
  :class="ui.base({ class: uiProp?.base })"
74
75
  @update:model-value="onUpdate"
75
76
  >
76
- <template #default="{ modelValue }">
77
+ <template #default="{ state }">
77
78
  <CheckboxIndicator data-slot="indicator" :class="ui.indicator({ class: uiProp?.indicator })">
78
- <UIcon v-if="modelValue === 'indeterminate'" :name="indeterminateIcon || appConfig.ui.icons.minus" data-slot="icon" :class="ui.icon({ class: uiProp?.icon })" />
79
+ <UIcon v-if="state === 'indeterminate'" :name="indeterminateIcon || appConfig.ui.icons.minus" data-slot="icon" :class="ui.icon({ class: uiProp?.icon })" />
79
80
  <UIcon v-else :name="icon || appConfig.ui.icons.check" data-slot="icon" :class="ui.icon({ class: uiProp?.icon })" />
80
81
  </CheckboxIndicator>
81
82
  </template>
@@ -1,11 +1,12 @@
1
- import type { CheckboxRootProps } from 'reka-ui';
1
+ import type { CheckboxRootProps, CheckboxRootEmits } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/checkbox';
4
5
  import type { IconProps } from '../types';
5
6
  import type { ButtonHTMLAttributes } from '../types/html';
6
7
  import type { ComponentConfig } from '../types/tv';
7
8
  type Checkbox = ComponentConfig<typeof theme, AppConfig, 'checkbox'>;
8
- export interface CheckboxProps extends Pick<CheckboxRootProps, 'disabled' | 'required' | 'name' | 'value' | 'id' | 'defaultValue'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
9
+ export interface CheckboxProps<T = boolean> extends Pick<CheckboxRootProps<T>, 'disabled' | 'required' | 'name' | 'value' | 'id' | 'defaultValue' | 'modelValue' | 'trueValue' | 'falseValue'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
9
10
  /**
10
11
  * The element or component this component should render as.
11
12
  * @defaultValue 'div'
@@ -45,32 +46,35 @@ export interface CheckboxProps extends Pick<CheckboxRootProps, 'disabled' | 'req
45
46
  class?: any;
46
47
  ui?: Checkbox['slots'];
47
48
  }
48
- export type CheckboxEmits = {
49
+ export interface CheckboxEmits<T = boolean> extends CheckboxRootEmits<T> {
49
50
  change: [event: Event];
50
- };
51
+ }
51
52
  export interface CheckboxSlots {
52
- label(props: {
53
- label?: string;
54
- }): any;
55
- description(props: {
56
- description?: string;
57
- }): any;
53
+ label?(props: {
54
+ label: string | undefined;
55
+ }): VNode[];
56
+ description?(props: {
57
+ description: string | undefined;
58
+ }): VNode[];
58
59
  }
59
60
  declare const _default: typeof __VLS_export;
60
61
  export default _default;
61
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<CheckboxProps & {
62
- modelValue?: boolean | "indeterminate";
63
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
64
- change: (event: Event) => any;
65
- "update:modelValue": (value: boolean | "indeterminate") => any;
66
- }, string, import("vue").PublicProps, Readonly<CheckboxProps & {
67
- modelValue?: boolean | "indeterminate";
68
- }> & Readonly<{
69
- onChange?: ((event: Event) => any) | undefined;
70
- "onUpdate:modelValue"?: ((value: boolean | "indeterminate") => any) | undefined;
71
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, CheckboxSlots>;
72
- type __VLS_WithSlots<T, S> = T & {
73
- new (): {
74
- $slots: S;
75
- };
62
+ declare const __VLS_export: <T = boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
63
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<CheckboxProps<T> & {
64
+ onChange?: ((event: Event) => any) | undefined;
65
+ "onUpdate:modelValue"?: ((value: "indeterminate" | T) => any) | undefined;
66
+ }> & (typeof globalThis extends {
67
+ __VLS_PROPS_FALLBACK: infer P;
68
+ } ? P : {});
69
+ expose: (exposed: {}) => void;
70
+ attrs: any;
71
+ slots: CheckboxSlots;
72
+ emit: ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: "indeterminate" | T) => void);
73
+ }>) => import("vue").VNode & {
74
+ __ctx?: Awaited<typeof __VLS_setup>;
76
75
  };
76
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
77
+ [K in keyof T]: T[K];
78
+ } : {
79
+ [K in keyof T as K]: T[K];
80
+ }) & {};
@@ -1,4 +1,5 @@
1
1
  import type { CheckboxGroupRootProps, CheckboxGroupRootEmits } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/checkbox-group';
4
5
  import type { CheckboxProps } from '../types';
@@ -65,11 +66,11 @@ type SlotProps<T extends CheckboxGroupItem> = (props: {
65
66
  item: T & {
66
67
  id: string;
67
68
  };
68
- }) => any;
69
+ }) => VNode[];
69
70
  export interface CheckboxGroupSlots<T extends CheckboxGroupItem[] = CheckboxGroupItem[]> {
70
- legend(props?: {}): any;
71
- label: SlotProps<T[number]>;
72
- description: SlotProps<T[number]>;
71
+ legend?(props?: {}): VNode[];
72
+ label?: SlotProps<T[number]>;
73
+ description?: SlotProps<T[number]>;
73
74
  }
74
75
  declare const _default: typeof __VLS_export;
75
76
  export default _default;
@@ -1,4 +1,5 @@
1
1
  import type { CheckboxGroupRootProps, CheckboxGroupRootEmits } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/checkbox-group';
4
5
  import type { CheckboxProps } from '../types';
@@ -65,11 +66,11 @@ type SlotProps<T extends CheckboxGroupItem> = (props: {
65
66
  item: T & {
66
67
  id: string;
67
68
  };
68
- }) => any;
69
+ }) => VNode[];
69
70
  export interface CheckboxGroupSlots<T extends CheckboxGroupItem[] = CheckboxGroupItem[]> {
70
- legend(props?: {}): any;
71
- label: SlotProps<T[number]>;
72
- description: SlotProps<T[number]>;
71
+ legend?(props?: {}): VNode[];
72
+ label?: SlotProps<T[number]>;
73
+ description?: SlotProps<T[number]>;
73
74
  }
74
75
  declare const _default: typeof __VLS_export;
75
76
  export default _default;
@@ -1,3 +1,4 @@
1
+ import type { VNode } from 'vue';
1
2
  import type { AppConfig } from '@nuxt/schema';
2
3
  import theme from '#build/ui/chip';
3
4
  import type { ComponentConfig } from '../types/tv';
@@ -34,8 +35,8 @@ export interface ChipEmits {
34
35
  'update:show': [value: boolean];
35
36
  }
36
37
  export interface ChipSlots {
37
- default(props?: {}): any;
38
- content(props?: {}): any;
38
+ default?(props?: {}): VNode[];
39
+ content?(props?: {}): VNode[];
39
40
  }
40
41
  declare const _default: typeof __VLS_export;
41
42
  export default _default;
@@ -1,3 +1,4 @@
1
+ import type { VNode } from 'vue';
1
2
  import type { AppConfig } from '@nuxt/schema';
2
3
  import theme from '#build/ui/chip';
3
4
  import type { ComponentConfig } from '../types/tv';
@@ -34,8 +35,8 @@ export interface ChipEmits {
34
35
  'update:show': [value: boolean];
35
36
  }
36
37
  export interface ChipSlots {
37
- default(props?: {}): any;
38
- content(props?: {}): any;
38
+ default?(props?: {}): VNode[];
39
+ content?(props?: {}): VNode[];
39
40
  }
40
41
  declare const _default: typeof __VLS_export;
41
42
  export default _default;
@@ -1,4 +1,5 @@
1
1
  import type { CollapsibleRootProps, CollapsibleRootEmits } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/collapsible';
4
5
  import type { ComponentConfig } from '../types/tv';
@@ -15,10 +16,10 @@ export interface CollapsibleProps extends Pick<CollapsibleRootProps, 'defaultOpe
15
16
  export interface CollapsibleEmits extends CollapsibleRootEmits {
16
17
  }
17
18
  export interface CollapsibleSlots {
18
- default(props: {
19
+ default?(props: {
19
20
  open: boolean;
20
- }): any;
21
- content(props?: {}): any;
21
+ }): VNode[];
22
+ content?(props?: {}): VNode[];
22
23
  }
23
24
  declare const _default: typeof __VLS_export;
24
25
  export default _default;