@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
@@ -12,6 +12,7 @@ import { useForwardProps } from "../composables/useForwardProps";
12
12
  import { tv } from "../utils/tv";
13
13
  import UIcon from "./Icon.vue";
14
14
  import UAvatar from "./Avatar.vue";
15
+ defineOptions({ inheritAttrs: false });
15
16
  const _props = defineProps({
16
17
  as: { type: null, required: false },
17
18
  label: { type: String, required: false },
@@ -32,7 +33,7 @@ const appConfig = useAppConfig();
32
33
  const rootProps = useForwardProps(reactivePick(props, "as", "decorative", "orientation"));
33
34
  const [DefineContainer, ReuseContainer] = createReusableTemplate();
34
35
  const hasContent = computed(() => !!(props.label || props.icon || props.avatar || slots.default));
35
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.separator || {} })({
36
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.separator || {} })({
36
37
  color: props.color,
37
38
  orientation: props.orientation,
38
39
  size: props.size,
@@ -52,7 +53,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.separator ||
52
53
  </div>
53
54
  </DefineContainer>
54
55
 
55
- <Separator v-bind="rootProps" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
56
+ <Separator data-slot="root" v-bind="{ ...rootProps, ...$attrs }" :class="ui.root({ class: [props.ui?.root, props.class] })">
56
57
  <ReuseContainer v-if="hasContent && props.position === 'start'" />
57
58
 
58
59
  <div data-slot="border" :class="ui.border({ class: props.ui?.border })" />
@@ -3,7 +3,8 @@ import type { SeparatorProps as _SeparatorProps } from 'reka-ui';
3
3
  import type { VNode } from 'vue';
4
4
  import type { AppConfig } from '@nuxt/schema';
5
5
  import theme from '#build/ui/separator';
6
- import type { AvatarProps, IconProps } from '../types';
6
+ import type { AvatarProps } from './Avatar.vue';
7
+ import type { IconProps } from './Icon.vue';
7
8
  import type { ComponentConfig } from '../types/tv';
8
9
  type Separator = ComponentConfig<typeof theme, AppConfig, 'separator'>;
9
10
  export interface SeparatorProps extends Pick<_SeparatorProps, 'decorative'> {
@@ -54,8 +55,8 @@ export interface SeparatorSlots {
54
55
  declare const _default: typeof __VLS_export;
55
56
  export default _default;
56
57
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {
57
- position: Separator["variants"]["position"];
58
58
  orientation: Separator["variants"]["orientation"];
59
+ position: Separator["variants"]["position"];
59
60
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SeparatorSlots>;
60
61
  type __VLS_WithSlots<T, S> = T & {
61
62
  new (): {
@@ -1,7 +1,12 @@
1
1
  import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/sidebar';
4
- import type { ButtonProps, DrawerProps, IconProps, ModalProps, SlideoverProps, LinkPropsKeys } from '../types';
4
+ import type { ButtonProps } from './Button.vue';
5
+ import type { DrawerProps } from './Drawer.vue';
6
+ import type { IconProps } from './Icon.vue';
7
+ import type { ModalProps } from './Modal.vue';
8
+ import type { SlideoverProps } from './Slideover.vue';
9
+ import type { LinkPropsKeys } from './Link.vue';
5
10
  import type { ComponentConfig } from '../types/tv';
6
11
  type Sidebar = ComponentConfig<typeof theme, AppConfig, 'sidebar'>;
7
12
  type SidebarState = 'expanded' | 'collapsed';
@@ -58,6 +63,11 @@ export interface SidebarProps<T extends SidebarMode = SidebarMode> {
58
63
  * @defaultValue false
59
64
  */
60
65
  rail?: boolean;
66
+ /**
67
+ * Animate the sidebar when collapsing or expanding.
68
+ * @defaultValue true
69
+ */
70
+ transition?: boolean;
61
71
  /**
62
72
  * The mode of the sidebar menu on mobile.
63
73
  * @defaultValue 'slideover'
@@ -122,7 +132,7 @@ declare const __VLS_export: <T extends SidebarMode>(__VLS_props: NonNullable<Awa
122
132
  slots: SidebarSlots;
123
133
  emit: (event: "update:open", value: boolean) => void;
124
134
  }>) => import("vue").VNode & {
125
- __ctx?: Awaited<typeof __VLS_setup>;
135
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
126
136
  };
127
137
  type __VLS_PrettifyLocal<T> = (T extends any ? {
128
138
  [K in keyof T]: T[K];
@@ -26,6 +26,7 @@ const _props = defineProps({
26
26
  close: { type: [Boolean, Object], required: false, default: false },
27
27
  closeIcon: { type: null, required: false },
28
28
  rail: { type: Boolean, required: false, default: false },
29
+ transition: { type: Boolean, required: false, default: true },
29
30
  mode: { type: null, required: false, default: "slideover" },
30
31
  menu: { type: null, required: false },
31
32
  class: { type: null, required: false },
@@ -80,10 +81,11 @@ function closeSidebar() {
80
81
  open.value = false;
81
82
  }
82
83
  const hasHeader = computed(() => !!slots.header || props.title || !!slots.title || props.description || !!slots.description || !!slots.actions || canClose.value || !!slots.close);
83
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.sidebar || {} })({
84
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.sidebar || {} })({
84
85
  side: props.side,
85
86
  variant: props.variant,
86
- collapsible: props.collapsible
87
+ collapsible: props.collapsible,
88
+ transition: props.transition
87
89
  }));
88
90
  const Menu = computed(() => ({
89
91
  slideover: USlideover,
@@ -155,8 +157,8 @@ const menuProps = toRef(() => defu(props.menu, {
155
157
  <Primitive
156
158
  v-if="props.collapsible === 'none'"
157
159
  :as="props.as"
158
- v-bind="$attrs"
159
160
  data-slot="root"
161
+ v-bind="$attrs"
160
162
  :data-variant="props.variant"
161
163
  :class="ui.root({ class: [props.ui?.root, props.class] })"
162
164
  >
@@ -167,8 +169,8 @@ const menuProps = toRef(() => defu(props.menu, {
167
169
  <template v-else>
168
170
  <Primitive
169
171
  :as="props.as"
170
- v-bind="$attrs"
171
172
  data-slot="root"
173
+ v-bind="$attrs"
172
174
  :data-state="state"
173
175
  :data-collapsible="state === 'collapsed' ? props.collapsible : void 0"
174
176
  :data-variant="props.variant"
@@ -1,7 +1,12 @@
1
1
  import type { VNode } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/sidebar';
4
- import type { ButtonProps, DrawerProps, IconProps, ModalProps, SlideoverProps, LinkPropsKeys } from '../types';
4
+ import type { ButtonProps } from './Button.vue';
5
+ import type { DrawerProps } from './Drawer.vue';
6
+ import type { IconProps } from './Icon.vue';
7
+ import type { ModalProps } from './Modal.vue';
8
+ import type { SlideoverProps } from './Slideover.vue';
9
+ import type { LinkPropsKeys } from './Link.vue';
5
10
  import type { ComponentConfig } from '../types/tv';
6
11
  type Sidebar = ComponentConfig<typeof theme, AppConfig, 'sidebar'>;
7
12
  type SidebarState = 'expanded' | 'collapsed';
@@ -58,6 +63,11 @@ export interface SidebarProps<T extends SidebarMode = SidebarMode> {
58
63
  * @defaultValue false
59
64
  */
60
65
  rail?: boolean;
66
+ /**
67
+ * Animate the sidebar when collapsing or expanding.
68
+ * @defaultValue true
69
+ */
70
+ transition?: boolean;
61
71
  /**
62
72
  * The mode of the sidebar menu on mobile.
63
73
  * @defaultValue 'slideover'
@@ -122,7 +132,7 @@ declare const __VLS_export: <T extends SidebarMode>(__VLS_props: NonNullable<Awa
122
132
  slots: SidebarSlots;
123
133
  emit: (event: "update:open", value: boolean) => void;
124
134
  }>) => import("vue").VNode & {
125
- __ctx?: Awaited<typeof __VLS_setup>;
135
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
126
136
  };
127
137
  type __VLS_PrettifyLocal<T> = (T extends any ? {
128
138
  [K in keyof T]: T[K];
@@ -15,7 +15,7 @@ const _props = defineProps({
15
15
  });
16
16
  const props = useComponentProps("skeleton", _props);
17
17
  const appConfig = useAppConfig();
18
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.skeleton || {} }));
18
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.skeleton || {} }));
19
19
  </script>
20
20
 
21
21
  <template>
@@ -2,7 +2,9 @@ import type { DialogRootProps, DialogRootEmits, DialogContentProps, DialogConten
2
2
  import type { VNode } from 'vue';
3
3
  import type { AppConfig } from '@nuxt/schema';
4
4
  import theme from '#build/ui/slideover';
5
- import type { ButtonProps, IconProps, LinkPropsKeys } from '../types';
5
+ import type { ButtonProps } from './Button.vue';
6
+ import type { IconProps } from './Icon.vue';
7
+ import type { LinkPropsKeys } from './Link.vue';
6
8
  import type { EmitsToProps } from '../types/utils';
7
9
  import type { ComponentConfig } from '../types/tv';
8
10
  type Slideover = ComponentConfig<typeof theme, AppConfig, 'slideover'>;
@@ -57,7 +59,9 @@ export interface SlideoverProps extends DialogRootProps {
57
59
  ui?: Slideover['slots'];
58
60
  }
59
61
  export interface SlideoverEmits extends DialogRootEmits {
62
+ 'leave': [];
60
63
  'after:leave': [];
64
+ 'enter': [];
61
65
  'after:enter': [];
62
66
  'close:prevent': [];
63
67
  }
@@ -87,23 +91,27 @@ export interface SlideoverSlots {
87
91
  declare const _default: typeof __VLS_export;
88
92
  export default _default;
89
93
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SlideoverProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
90
- "update:open": (value: boolean) => any;
94
+ enter: () => any;
95
+ leave: () => any;
91
96
  "after:leave": () => any;
92
97
  "after:enter": () => any;
93
98
  "close:prevent": () => any;
99
+ "update:open": (value: boolean) => any;
94
100
  }, string, import("vue").PublicProps, Readonly<SlideoverProps> & Readonly<{
95
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
101
+ onEnter?: (() => any) | undefined;
102
+ onLeave?: (() => any) | undefined;
96
103
  "onAfter:leave"?: (() => any) | undefined;
97
104
  "onAfter:enter"?: (() => any) | undefined;
98
105
  "onClose:prevent"?: (() => any) | undefined;
106
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
99
107
  }>, {
100
108
  close: boolean | Omit<ButtonProps, LinkPropsKeys>;
101
109
  modal: boolean;
102
110
  transition: boolean;
103
- portal: boolean | string | HTMLElement;
104
111
  overlay: boolean;
105
- side: Slideover["variants"]["side"];
112
+ portal: boolean | string | HTMLElement;
106
113
  dismissible: boolean;
114
+ side: Slideover["variants"]["side"];
107
115
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SlideoverSlots>;
108
116
  type __VLS_WithSlots<T, S> = T & {
109
117
  new (): {
@@ -31,14 +31,15 @@ const _props = defineProps({
31
31
  ui: { type: Object, required: false },
32
32
  open: { type: Boolean, required: false },
33
33
  defaultOpen: { type: Boolean, required: false },
34
- modal: { type: Boolean, required: false, default: true }
34
+ modal: { type: Boolean, required: false, default: true },
35
+ unmountOnHide: { type: Boolean, required: false }
35
36
  });
36
- const emits = defineEmits(["after:leave", "after:enter", "close:prevent", "update:open"]);
37
+ const emits = defineEmits(["leave", "after:leave", "enter", "after:enter", "close:prevent", "update:open"]);
37
38
  const slots = defineSlots();
38
39
  const props = useComponentProps("slideover", _props);
39
40
  const { t } = useLocale();
40
41
  const appConfig = useAppConfig();
41
- const rootProps = useForwardProps(reactivePick(props, "open", "defaultOpen", "modal"), emits);
42
+ const rootProps = useForwardProps(reactivePick(props, "open", "defaultOpen", "modal", "unmountOnHide"), emits);
42
43
  const portalProps = usePortal(toRef(() => props.portal));
43
44
  const contentProps = toRef(() => props.content);
44
45
  const contentEvents = computed(() => {
@@ -56,7 +57,7 @@ const contentEvents = computed(() => {
56
57
  pointerDownOutside
57
58
  };
58
59
  });
59
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.slideover || {} })({
60
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.slideover || {} })({
60
61
  transition: props.transition,
61
62
  side: props.side,
62
63
  inset: props.inset
@@ -69,7 +70,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.slideover ||
69
70
  <slot :open="open" />
70
71
  </DialogTrigger>
71
72
 
72
- <DialogPortal v-bind="portalProps">
73
+ <DialogPortal v-bind="portalProps" :force-mount="portalProps.disabled && props.unmountOnHide === false || void 0">
73
74
  <FieldGroupReset>
74
75
  <DialogOverlay v-if="props.overlay" data-slot="overlay" :class="ui.overlay({ class: props.ui?.overlay })" />
75
76
 
@@ -78,7 +79,9 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.slideover ||
78
79
  data-slot="content"
79
80
  :class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })"
80
81
  v-bind="contentProps"
82
+ @enter="emits('enter')"
81
83
  @after-enter="emits('after:enter')"
84
+ @leave="emits('leave')"
82
85
  @after-leave="emits('after:leave')"
83
86
  v-on="contentEvents"
84
87
  >
@@ -2,7 +2,9 @@ import type { DialogRootProps, DialogRootEmits, DialogContentProps, DialogConten
2
2
  import type { VNode } from 'vue';
3
3
  import type { AppConfig } from '@nuxt/schema';
4
4
  import theme from '#build/ui/slideover';
5
- import type { ButtonProps, IconProps, LinkPropsKeys } from '../types';
5
+ import type { ButtonProps } from './Button.vue';
6
+ import type { IconProps } from './Icon.vue';
7
+ import type { LinkPropsKeys } from './Link.vue';
6
8
  import type { EmitsToProps } from '../types/utils';
7
9
  import type { ComponentConfig } from '../types/tv';
8
10
  type Slideover = ComponentConfig<typeof theme, AppConfig, 'slideover'>;
@@ -57,7 +59,9 @@ export interface SlideoverProps extends DialogRootProps {
57
59
  ui?: Slideover['slots'];
58
60
  }
59
61
  export interface SlideoverEmits extends DialogRootEmits {
62
+ 'leave': [];
60
63
  'after:leave': [];
64
+ 'enter': [];
61
65
  'after:enter': [];
62
66
  'close:prevent': [];
63
67
  }
@@ -87,23 +91,27 @@ export interface SlideoverSlots {
87
91
  declare const _default: typeof __VLS_export;
88
92
  export default _default;
89
93
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SlideoverProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
90
- "update:open": (value: boolean) => any;
94
+ enter: () => any;
95
+ leave: () => any;
91
96
  "after:leave": () => any;
92
97
  "after:enter": () => any;
93
98
  "close:prevent": () => any;
99
+ "update:open": (value: boolean) => any;
94
100
  }, string, import("vue").PublicProps, Readonly<SlideoverProps> & Readonly<{
95
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
101
+ onEnter?: (() => any) | undefined;
102
+ onLeave?: (() => any) | undefined;
96
103
  "onAfter:leave"?: (() => any) | undefined;
97
104
  "onAfter:enter"?: (() => any) | undefined;
98
105
  "onClose:prevent"?: (() => any) | undefined;
106
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
99
107
  }>, {
100
108
  close: boolean | Omit<ButtonProps, LinkPropsKeys>;
101
109
  modal: boolean;
102
110
  transition: boolean;
103
- portal: boolean | string | HTMLElement;
104
111
  overlay: boolean;
105
- side: Slideover["variants"]["side"];
112
+ portal: boolean | string | HTMLElement;
106
113
  dismissible: boolean;
114
+ side: Slideover["variants"]["side"];
107
115
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SlideoverSlots>;
108
116
  type __VLS_WithSlots<T, S> = T & {
109
117
  new (): {
@@ -1,7 +1,7 @@
1
1
  import type { SliderRootProps } from 'reka-ui';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/slider';
4
- import type { TooltipProps } from '../types';
4
+ import type { TooltipProps } from './Tooltip.vue';
5
5
  import type { ComponentConfig } from '../types/tv';
6
6
  type Slider = ComponentConfig<typeof theme, AppConfig, 'slider'>;
7
7
  export interface SliderProps extends Pick<SliderRootProps, 'name' | 'disabled' | 'inverted' | 'min' | 'max' | 'step' | 'minStepsBetweenThumbs'> {
@@ -53,7 +53,7 @@ declare const __VLS_export: <T extends number | number[]>(__VLS_props: NonNullab
53
53
  slots: {};
54
54
  emit: ((evt: "change", event: Event) => void) & ((event: "update:modelValue", value: T | undefined) => void);
55
55
  }>) => import("vue").VNode & {
56
- __ctx?: Awaited<typeof __VLS_setup>;
56
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
57
57
  };
58
58
  type __VLS_PrettifyLocal<T> = (T extends any ? {
59
59
  [K in keyof T]: T[K];
@@ -53,7 +53,7 @@ const sliderValue = computed({
53
53
  }
54
54
  });
55
55
  const thumbs = computed(() => sliderValue.value?.length ?? 1);
56
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.slider || {} })({
56
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.slider || {} })({
57
57
  disabled: disabled.value,
58
58
  size: size.value ?? props.size,
59
59
  color: color.value ?? props.color,
@@ -1,7 +1,7 @@
1
1
  import type { SliderRootProps } from 'reka-ui';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/slider';
4
- import type { TooltipProps } from '../types';
4
+ import type { TooltipProps } from './Tooltip.vue';
5
5
  import type { ComponentConfig } from '../types/tv';
6
6
  type Slider = ComponentConfig<typeof theme, AppConfig, 'slider'>;
7
7
  export interface SliderProps extends Pick<SliderRootProps, 'name' | 'disabled' | 'inverted' | 'min' | 'max' | 'step' | 'minStepsBetweenThumbs'> {
@@ -53,7 +53,7 @@ declare const __VLS_export: <T extends number | number[]>(__VLS_props: NonNullab
53
53
  slots: {};
54
54
  emit: ((evt: "change", event: Event) => void) & ((event: "update:modelValue", value: T | undefined) => void);
55
55
  }>) => import("vue").VNode & {
56
- __ctx?: Awaited<typeof __VLS_setup>;
56
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
57
57
  };
58
58
  type __VLS_PrettifyLocal<T> = (T extends any ? {
59
59
  [K in keyof T]: T[K];
@@ -2,7 +2,7 @@ import type { StepperRootProps, StepperRootEmits } from 'reka-ui';
2
2
  import type { VNode } from 'vue';
3
3
  import type { AppConfig } from '@nuxt/schema';
4
4
  import theme from '#build/ui/stepper';
5
- import type { IconProps } from '../types';
5
+ import type { IconProps } from './Icon.vue';
6
6
  import type { DynamicSlots, GetItemKeys } from '../types/utils';
7
7
  import type { ComponentConfig } from '../types/tv';
8
8
  type Stepper = ComponentConfig<typeof theme, AppConfig, 'stepper'>;
@@ -95,7 +95,7 @@ declare const __VLS_export: <T extends StepperItem>(__VLS_props: NonNullable<Awa
95
95
  slots: StepperSlots<T>;
96
96
  emit: (((evt: "next", value: T) => void) & ((evt: "prev", value: T) => void)) & ((event: "update:modelValue", value: string | number | undefined) => void);
97
97
  }>) => import("vue").VNode & {
98
- __ctx?: Awaited<typeof __VLS_setup>;
98
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
99
99
  };
100
100
  type __VLS_PrettifyLocal<T> = (T extends any ? {
101
101
  [K in keyof T]: T[K];
@@ -31,7 +31,7 @@ const props = useComponentProps("stepper", _props);
31
31
  const modelValue = defineModel({ type: [String, Number] });
32
32
  const appConfig = useAppConfig();
33
33
  const rootProps = useForwardProps(reactivePick(props, "as", "linear"));
34
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.stepper || {} })({
34
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.stepper || {} })({
35
35
  orientation: props.orientation,
36
36
  size: props.size,
37
37
  color: props.color
@@ -2,7 +2,7 @@ import type { StepperRootProps, StepperRootEmits } from 'reka-ui';
2
2
  import type { VNode } from 'vue';
3
3
  import type { AppConfig } from '@nuxt/schema';
4
4
  import theme from '#build/ui/stepper';
5
- import type { IconProps } from '../types';
5
+ import type { IconProps } from './Icon.vue';
6
6
  import type { DynamicSlots, GetItemKeys } from '../types/utils';
7
7
  import type { ComponentConfig } from '../types/tv';
8
8
  type Stepper = ComponentConfig<typeof theme, AppConfig, 'stepper'>;
@@ -95,7 +95,7 @@ declare const __VLS_export: <T extends StepperItem>(__VLS_props: NonNullable<Awa
95
95
  slots: StepperSlots<T>;
96
96
  emit: (((evt: "next", value: T) => void) & ((evt: "prev", value: T) => void)) & ((event: "update:modelValue", value: string | number | undefined) => void);
97
97
  }>) => import("vue").VNode & {
98
- __ctx?: Awaited<typeof __VLS_setup>;
98
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
99
99
  };
100
100
  type __VLS_PrettifyLocal<T> = (T extends any ? {
101
101
  [K in keyof T]: T[K];
@@ -2,7 +2,7 @@ import type { SwitchRootProps, SwitchRootEmits } from 'reka-ui';
2
2
  import type { VNode } from 'vue';
3
3
  import type { AppConfig } from '@nuxt/schema';
4
4
  import theme from '#build/ui/switch';
5
- import type { IconProps } from '../types';
5
+ import type { IconProps } from './Icon.vue';
6
6
  import type { ButtonHTMLAttributes } from '../types/html';
7
7
  import type { ComponentConfig } from '../types/tv';
8
8
  type Switch = ComponentConfig<typeof theme, AppConfig, 'switch'>;
@@ -70,7 +70,7 @@ declare const __VLS_export: <T = boolean>(__VLS_props: NonNullable<Awaited<typeo
70
70
  slots: SwitchSlots;
71
71
  emit: ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", payload: T) => void);
72
72
  }>) => import("vue").VNode & {
73
- __ctx?: Awaited<typeof __VLS_setup>;
73
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
74
74
  };
75
75
  type __VLS_PrettifyLocal<T> = (T extends any ? {
76
76
  [K in keyof T]: T[K];
@@ -48,7 +48,7 @@ const forwardedAttrs = computed(() => {
48
48
  const { "data-state": _, ...rest } = attrs;
49
49
  return rest;
50
50
  });
51
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.switch || {} })({
51
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.switch || {} })({
52
52
  size: size.value ?? props.size,
53
53
  color: color.value ?? props.color,
54
54
  highlight: highlight.value ?? props.highlight,
@@ -65,7 +65,7 @@ function onUpdate(value) {
65
65
  </script>
66
66
 
67
67
  <template>
68
- <Primitive :as="props.as" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
68
+ <Primitive :as="props.as" :data-slot="$attrs['data-slot'] ?? 'root'" :class="ui.root({ class: [props.ui?.root, props.class] })">
69
69
  <div data-slot="container" :class="ui.container({ class: props.ui?.container })">
70
70
  <SwitchRoot
71
71
  :id="id"
@@ -2,7 +2,7 @@ import type { SwitchRootProps, SwitchRootEmits } from 'reka-ui';
2
2
  import type { VNode } from 'vue';
3
3
  import type { AppConfig } from '@nuxt/schema';
4
4
  import theme from '#build/ui/switch';
5
- import type { IconProps } from '../types';
5
+ import type { IconProps } from './Icon.vue';
6
6
  import type { ButtonHTMLAttributes } from '../types/html';
7
7
  import type { ComponentConfig } from '../types/tv';
8
8
  type Switch = ComponentConfig<typeof theme, AppConfig, 'switch'>;
@@ -70,7 +70,7 @@ declare const __VLS_export: <T = boolean>(__VLS_props: NonNullable<Awaited<typeo
70
70
  slots: SwitchSlots;
71
71
  emit: ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", payload: T) => void);
72
72
  }>) => import("vue").VNode & {
73
- __ctx?: Awaited<typeof __VLS_setup>;
73
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
74
74
  };
75
75
  type __VLS_PrettifyLocal<T> = (T extends any ? {
76
76
  [K in keyof T]: T[K];
@@ -56,7 +56,13 @@ export interface TableProps<T extends TableData = TableData> extends TableOption
56
56
  * @see https://tanstack.com/virtual/latest/docs/api/virtualizer#options
57
57
  * @defaultValue false
58
58
  */
59
- virtualize?: boolean | (Partial<Omit<VirtualizerOptions<Element, Element>, 'getScrollElement' | 'count' | 'estimateSize' | 'overscan'>> & {
59
+ virtualize?: boolean | (Partial<Omit<VirtualizerOptions<Element, Element>, 'count' | 'estimateSize' | 'overscan'>> & {
60
+ /**
61
+ * Virtualize against an external scroll element instead of the table's own root.
62
+ * Pair with `scrollMargin` set to the table's offset from the scroll element's start.
63
+ * @defaultValue undefined
64
+ */
65
+ getScrollElement?: () => Element | null;
60
66
  /**
61
67
  * Number of items rendered outside the visible area
62
68
  * @defaultValue 12
@@ -216,7 +222,7 @@ declare const __VLS_export: <T extends TableData>(__VLS_props: NonNullable<Await
216
222
  slots: TableSlots<T>;
217
223
  emit: ((event: "update:globalFilter", value: string | undefined) => void) & ((event: "update:columnFilters", value: ColumnFiltersState | undefined) => void) & ((event: "update:columnOrder", value: ColumnOrderState | undefined) => void) & ((event: "update:columnVisibility", value: VisibilityState | undefined) => void) & ((event: "update:columnPinning", value: ColumnPinningState | undefined) => void) & ((event: "update:columnSizing", value: ColumnSizingState | undefined) => void) & ((event: "update:columnSizingInfo", value: ColumnSizingInfoState | undefined) => void) & ((event: "update:rowSelection", value: RowSelectionState | undefined) => void) & ((event: "update:rowPinning", value: RowPinningState | undefined) => void) & ((event: "update:sorting", value: SortingState | undefined) => void) & ((event: "update:grouping", value: GroupingState | undefined) => void) & ((event: "update:expanded", value: ExpandedState | undefined) => void) & ((event: "update:pagination", value: PaginationState | undefined) => void);
218
224
  }>) => import("vue").VNode & {
219
- __ctx?: Awaited<typeof __VLS_setup>;
225
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
220
226
  };
221
227
  type __VLS_PrettifyLocal<T> = (T extends any ? {
222
228
  [K in keyof T]: T[K];
@@ -90,11 +90,13 @@ function processColumns(columns2) {
90
90
  return col;
91
91
  });
92
92
  }
93
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.table || {} })({
93
+ const isExternalScroll = computed(() => typeof props.virtualize === "object" && !!props.virtualize.getScrollElement);
94
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.table || {} })({
94
95
  sticky: props.sticky,
95
96
  loading: props.loading,
96
97
  loadingColor: props.loadingColor,
97
- loadingAnimation: props.loadingAnimation
98
+ loadingAnimation: props.loadingAnimation,
99
+ externalScroll: isExternalScroll.value
98
100
  }));
99
101
  const [DefineTableTemplate, ReuseTableTemplate] = createReusableTemplate();
100
102
  const [DefineRowTemplate, ReuseRowTemplate] = createReusableTemplate({
@@ -227,22 +229,27 @@ const virtualizerProps = toRef(() => defu(typeof props.virtualize === "boolean"
227
229
  estimateSize: 65,
228
230
  overscan: 12
229
231
  }));
232
+ const getScrollElement = () => (isExternalScroll.value ? virtualizerProps.value.getScrollElement?.() : rootRef.value?.$el) ?? null;
233
+ const scrollMargin = computed(() => virtualizerProps.value.scrollMargin ?? 0);
230
234
  const virtualizer = !!props.virtualize && useVirtualizer({
231
235
  ...virtualizerProps.value,
232
236
  get count() {
233
237
  return centerRows.value.length;
234
238
  },
235
- getScrollElement: () => rootRef.value?.$el,
239
+ get scrollMargin() {
240
+ return scrollMargin.value;
241
+ },
242
+ getScrollElement,
236
243
  estimateSize: (index) => {
237
244
  const estimate = virtualizerProps.value.estimateSize;
238
245
  return typeof estimate === "function" ? estimate(index) : estimate;
239
246
  }
240
247
  });
241
248
  const virtualItems = computed(() => virtualizer ? virtualizer.value.getVirtualItems() : []);
242
- const virtualPaddingTop = computed(() => virtualItems.value[0]?.start ?? 0);
249
+ const virtualPaddingTop = computed(() => (virtualItems.value[0]?.start ?? 0) - scrollMargin.value);
243
250
  const virtualPaddingBottom = computed(() => {
244
251
  if (!virtualizer || !virtualItems.value.length) return 0;
245
- return virtualizer.value.getTotalSize() - (virtualItems.value[virtualItems.value.length - 1]?.end ?? 0);
252
+ return virtualizer.value.getTotalSize() - (virtualItems.value[virtualItems.value.length - 1]?.end ?? 0) + scrollMargin.value;
246
253
  });
247
254
  function valueUpdater(updaterOrValue, ref) {
248
255
  ref.value = typeof updaterOrValue === "function" ? updaterOrValue(ref.value) : updaterOrValue;
@@ -479,7 +486,7 @@ defineExpose({
479
486
  </table>
480
487
  </DefineTableTemplate>
481
488
 
482
- <Primitive ref="rootRef" :as="props.as" v-bind="$attrs" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
489
+ <Primitive ref="rootRef" :as="props.as" data-slot="root" v-bind="$attrs" :class="ui.root({ class: [props.ui?.root, props.class] })">
483
490
  <ReuseTableTemplate />
484
491
  </Primitive>
485
492
  </template>
@@ -56,7 +56,13 @@ export interface TableProps<T extends TableData = TableData> extends TableOption
56
56
  * @see https://tanstack.com/virtual/latest/docs/api/virtualizer#options
57
57
  * @defaultValue false
58
58
  */
59
- virtualize?: boolean | (Partial<Omit<VirtualizerOptions<Element, Element>, 'getScrollElement' | 'count' | 'estimateSize' | 'overscan'>> & {
59
+ virtualize?: boolean | (Partial<Omit<VirtualizerOptions<Element, Element>, 'count' | 'estimateSize' | 'overscan'>> & {
60
+ /**
61
+ * Virtualize against an external scroll element instead of the table's own root.
62
+ * Pair with `scrollMargin` set to the table's offset from the scroll element's start.
63
+ * @defaultValue undefined
64
+ */
65
+ getScrollElement?: () => Element | null;
60
66
  /**
61
67
  * Number of items rendered outside the visible area
62
68
  * @defaultValue 12
@@ -216,7 +222,7 @@ declare const __VLS_export: <T extends TableData>(__VLS_props: NonNullable<Await
216
222
  slots: TableSlots<T>;
217
223
  emit: ((event: "update:globalFilter", value: string | undefined) => void) & ((event: "update:columnFilters", value: ColumnFiltersState | undefined) => void) & ((event: "update:columnOrder", value: ColumnOrderState | undefined) => void) & ((event: "update:columnVisibility", value: VisibilityState | undefined) => void) & ((event: "update:columnPinning", value: ColumnPinningState | undefined) => void) & ((event: "update:columnSizing", value: ColumnSizingState | undefined) => void) & ((event: "update:columnSizingInfo", value: ColumnSizingInfoState | undefined) => void) & ((event: "update:rowSelection", value: RowSelectionState | undefined) => void) & ((event: "update:rowPinning", value: RowPinningState | undefined) => void) & ((event: "update:sorting", value: SortingState | undefined) => void) & ((event: "update:grouping", value: GroupingState | undefined) => void) & ((event: "update:expanded", value: ExpandedState | undefined) => void) & ((event: "update:pagination", value: PaginationState | undefined) => void);
218
224
  }>) => import("vue").VNode & {
219
- __ctx?: Awaited<typeof __VLS_setup>;
225
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
220
226
  };
221
227
  type __VLS_PrettifyLocal<T> = (T extends any ? {
222
228
  [K in keyof T]: T[K];
@@ -2,7 +2,9 @@ import type { ComponentPublicInstance, VNode } from 'vue';
2
2
  import type { TabsRootProps, TabsRootEmits } from 'reka-ui';
3
3
  import type { AppConfig } from '@nuxt/schema';
4
4
  import theme from '#build/ui/tabs';
5
- import type { AvatarProps, BadgeProps, IconProps } from '../types';
5
+ import type { AvatarProps } from './Avatar.vue';
6
+ import type { BadgeProps } from './Badge.vue';
7
+ import type { IconProps } from './Icon.vue';
6
8
  import type { DynamicSlots, GetItemKeys } from '../types/utils';
7
9
  import type { ComponentConfig } from '../types/tv';
8
10
  type Tabs = ComponentConfig<typeof theme, AppConfig, 'tabs'>;
@@ -109,7 +111,7 @@ declare const __VLS_export: <T extends TabsItem>(__VLS_props: NonNullable<Awaite
109
111
  slots: TabsSlots<T>;
110
112
  emit: (evt: "update:modelValue", payload: string | number) => void;
111
113
  }>) => import("vue").VNode & {
112
- __ctx?: Awaited<typeof __VLS_setup>;
114
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
113
115
  };
114
116
  type __VLS_PrettifyLocal<T> = (T extends any ? {
115
117
  [K in keyof T]: T[K];
@@ -36,7 +36,7 @@ const slots = defineSlots();
36
36
  const props = useComponentProps("tabs", _props);
37
37
  const appConfig = useAppConfig();
38
38
  const rootProps = useForwardProps(reactivePick(props, "as", "unmountOnHide"), emits);
39
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.tabs || {} })({
39
+ const ui = computed(() => tv({ extend: theme, ...appConfig.ui?.tabs || {} })({
40
40
  color: props.color,
41
41
  variant: props.variant,
42
42
  size: props.size,
@@ -2,7 +2,9 @@ import type { ComponentPublicInstance, VNode } from 'vue';
2
2
  import type { TabsRootProps, TabsRootEmits } from 'reka-ui';
3
3
  import type { AppConfig } from '@nuxt/schema';
4
4
  import theme from '#build/ui/tabs';
5
- import type { AvatarProps, BadgeProps, IconProps } from '../types';
5
+ import type { AvatarProps } from './Avatar.vue';
6
+ import type { BadgeProps } from './Badge.vue';
7
+ import type { IconProps } from './Icon.vue';
6
8
  import type { DynamicSlots, GetItemKeys } from '../types/utils';
7
9
  import type { ComponentConfig } from '../types/tv';
8
10
  type Tabs = ComponentConfig<typeof theme, AppConfig, 'tabs'>;
@@ -109,7 +111,7 @@ declare const __VLS_export: <T extends TabsItem>(__VLS_props: NonNullable<Awaite
109
111
  slots: TabsSlots<T>;
110
112
  emit: (evt: "update:modelValue", payload: string | number) => void;
111
113
  }>) => import("vue").VNode & {
112
- __ctx?: Awaited<typeof __VLS_setup>;
114
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
113
115
  };
114
116
  type __VLS_PrettifyLocal<T> = (T extends any ? {
115
117
  [K in keyof T]: T[K];