@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
@@ -1,4 +1,5 @@
1
1
  import type { TooltipRootProps, TooltipRootEmits, TooltipContentProps, TooltipContentEmits, TooltipArrowProps, TooltipTriggerProps } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/tooltip';
4
5
  import type { KbdProps } from '../types';
@@ -12,11 +13,14 @@ export interface TooltipProps extends TooltipRootProps {
12
13
  kbds?: KbdProps['value'][] | KbdProps[];
13
14
  /**
14
15
  * The content of the tooltip.
16
+ *
17
+ * Inherits from the `tooltip.content` of the {@link AppProps} component when not provided.
15
18
  * @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8 }
16
19
  */
17
20
  content?: Omit<TooltipContentProps, 'as' | 'asChild'> & Partial<EmitsToProps<TooltipContentEmits>>;
18
21
  /**
19
22
  * Display an arrow alongside the tooltip.
23
+ * `{ rounded: true }`{lang="ts-type"}
20
24
  * @defaultValue false
21
25
  */
22
26
  arrow?: boolean | Omit<TooltipArrowProps, 'as' | 'asChild'>;
@@ -37,12 +41,12 @@ export interface TooltipProps extends TooltipRootProps {
37
41
  export interface TooltipEmits extends TooltipRootEmits {
38
42
  }
39
43
  export interface TooltipSlots {
40
- default(props: {
44
+ default?(props: {
41
45
  open: boolean;
42
- }): any;
43
- content(props: {
46
+ }): VNode[];
47
+ content?(props: {
44
48
  ui: Tooltip['ui'];
45
- }): any;
49
+ }): VNode[];
46
50
  }
47
51
  declare const _default: typeof __VLS_export;
48
52
  export default _default;
@@ -5,7 +5,7 @@ import theme from "#build/ui/tooltip";
5
5
  <script setup>
6
6
  import { computed, toRef } from "vue";
7
7
  import { defu } from "defu";
8
- import { TooltipRoot, TooltipTrigger, TooltipPortal, TooltipContent, TooltipArrow, useForwardPropsEmits } from "reka-ui";
8
+ import { TooltipRoot, TooltipTrigger, TooltipPortal, TooltipContent, TooltipArrow, useForwardPropsEmits, injectTooltipProviderContext } from "reka-ui";
9
9
  import { reactivePick } from "@vueuse/core";
10
10
  import { useAppConfig } from "#imports";
11
11
  import { useComponentUI } from "../composables/useComponentUI";
@@ -33,10 +33,11 @@ const emits = defineEmits(["update:open"]);
33
33
  const slots = defineSlots();
34
34
  const appConfig = useAppConfig();
35
35
  const uiProp = useComponentUI("tooltip", props);
36
+ const providerContext = injectTooltipProviderContext();
36
37
  const rootProps = useForwardPropsEmits(reactivePick(props, "defaultOpen", "open", "delayDuration", "disableHoverableContent", "disableClosingTrigger", "ignoreNonKeyboardFocus"), emits);
37
38
  const portalProps = usePortal(toRef(() => props.portal));
38
- const contentProps = toRef(() => defu(props.content, { side: "bottom", sideOffset: 8, collisionPadding: 8 }));
39
- const arrowProps = toRef(() => props.arrow);
39
+ const contentProps = toRef(() => defu(props.content, providerContext.content.value, { side: "bottom", sideOffset: 8, collisionPadding: 8 }));
40
+ const arrowProps = toRef(() => defu(props.arrow, { rounded: true }));
40
41
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.tooltip || {} })({
41
42
  side: contentProps.value.side
42
43
  }));
@@ -1,4 +1,5 @@
1
1
  import type { TooltipRootProps, TooltipRootEmits, TooltipContentProps, TooltipContentEmits, TooltipArrowProps, TooltipTriggerProps } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/tooltip';
4
5
  import type { KbdProps } from '../types';
@@ -12,11 +13,14 @@ export interface TooltipProps extends TooltipRootProps {
12
13
  kbds?: KbdProps['value'][] | KbdProps[];
13
14
  /**
14
15
  * The content of the tooltip.
16
+ *
17
+ * Inherits from the `tooltip.content` of the {@link AppProps} component when not provided.
15
18
  * @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8 }
16
19
  */
17
20
  content?: Omit<TooltipContentProps, 'as' | 'asChild'> & Partial<EmitsToProps<TooltipContentEmits>>;
18
21
  /**
19
22
  * Display an arrow alongside the tooltip.
23
+ * `{ rounded: true }`{lang="ts-type"}
20
24
  * @defaultValue false
21
25
  */
22
26
  arrow?: boolean | Omit<TooltipArrowProps, 'as' | 'asChild'>;
@@ -37,12 +41,12 @@ export interface TooltipProps extends TooltipRootProps {
37
41
  export interface TooltipEmits extends TooltipRootEmits {
38
42
  }
39
43
  export interface TooltipSlots {
40
- default(props: {
44
+ default?(props: {
41
45
  open: boolean;
42
- }): any;
43
- content(props: {
46
+ }): VNode[];
47
+ content?(props: {
44
48
  ui: Tooltip['ui'];
45
- }): any;
49
+ }): VNode[];
46
50
  }
47
51
  declare const _default: typeof __VLS_export;
48
52
  export default _default;
@@ -1,3 +1,4 @@
1
+ import type { VNode } from 'vue';
1
2
  import type { TreeRootProps, TreeRootEmits, TreeItemSelectEvent, TreeItemToggleEvent } from 'reka-ui';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/tree';
@@ -113,13 +114,13 @@ type SlotProps<T extends TreeItem> = (props: {
113
114
  handleSelect: () => void;
114
115
  handleToggle: () => void;
115
116
  ui: Tree['ui'];
116
- }) => any;
117
+ }) => VNode[];
117
118
  export type TreeSlots<T extends TreeItem[] = TreeItem[]> = {
118
- 'item-wrapper': SlotProps<T[number]>;
119
- 'item': SlotProps<T[number]>;
120
- 'item-leading': SlotProps<T[number]>;
121
- 'item-label': SlotProps<T[number]>;
122
- 'item-trailing': SlotProps<T[number]>;
119
+ 'item-wrapper'?: SlotProps<T[number]>;
120
+ 'item'?: SlotProps<T[number]>;
121
+ 'item-leading'?: SlotProps<T[number]>;
122
+ 'item-label'?: SlotProps<T[number]>;
123
+ 'item-trailing'?: SlotProps<T[number]>;
123
124
  } & DynamicSlots<T[number], undefined, {
124
125
  index: number;
125
126
  level: number;
@@ -1,3 +1,4 @@
1
+ import type { VNode } from 'vue';
1
2
  import type { TreeRootProps, TreeRootEmits, TreeItemSelectEvent, TreeItemToggleEvent } from 'reka-ui';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/tree';
@@ -113,13 +114,13 @@ type SlotProps<T extends TreeItem> = (props: {
113
114
  handleSelect: () => void;
114
115
  handleToggle: () => void;
115
116
  ui: Tree['ui'];
116
- }) => any;
117
+ }) => VNode[];
117
118
  export type TreeSlots<T extends TreeItem[] = TreeItem[]> = {
118
- 'item-wrapper': SlotProps<T[number]>;
119
- 'item': SlotProps<T[number]>;
120
- 'item-leading': SlotProps<T[number]>;
121
- 'item-label': SlotProps<T[number]>;
122
- 'item-trailing': SlotProps<T[number]>;
119
+ 'item-wrapper'?: SlotProps<T[number]>;
120
+ 'item'?: SlotProps<T[number]>;
121
+ 'item-leading'?: SlotProps<T[number]>;
122
+ 'item-label'?: SlotProps<T[number]>;
123
+ 'item-trailing'?: SlotProps<T[number]>;
123
124
  } & DynamicSlots<T[number], undefined, {
124
125
  index: number;
125
126
  level: number;
@@ -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/user';
3
4
  import type { AvatarProps, ChipProps, LinkProps } from '../types';
@@ -31,12 +32,12 @@ export interface UserProps {
31
32
  ui?: User['slots'];
32
33
  }
33
34
  export interface UserSlots {
34
- avatar(props: {
35
+ avatar?(props: {
35
36
  ui: User['ui'];
36
- }): any;
37
- name(props?: {}): any;
38
- description(props?: {}): any;
39
- default(props?: {}): any;
37
+ }): VNode[];
38
+ name?(props?: {}): VNode[];
39
+ description?(props?: {}): VNode[];
40
+ default?(props?: {}): VNode[];
40
41
  }
41
42
  declare const _default: typeof __VLS_export;
42
43
  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/user';
3
4
  import type { AvatarProps, ChipProps, LinkProps } from '../types';
@@ -31,12 +32,12 @@ export interface UserProps {
31
32
  ui?: User['slots'];
32
33
  }
33
34
  export interface UserSlots {
34
- avatar(props: {
35
+ avatar?(props: {
35
36
  ui: User['ui'];
36
- }): any;
37
- name(props?: {}): any;
38
- description(props?: {}): any;
39
- default(props?: {}): any;
37
+ }): VNode[];
38
+ name?(props?: {}): VNode[];
39
+ description?(props?: {}): VNode[];
40
+ default?(props?: {}): VNode[];
40
41
  }
41
42
  declare const _default: typeof __VLS_export;
42
43
  export default _default;
@@ -4,5 +4,5 @@ export interface ColorModeSelectProps extends Omit<SelectMenuProps<SelectMenuIte
4
4
  declare const _default: typeof __VLS_export;
5
5
  export default _default;
6
6
  declare const __VLS_export: import("vue").DefineComponent<ColorModeSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorModeSelectProps> & Readonly<{}>, {
7
- searchInput: boolean | import("../Input.vue").InputProps;
7
+ searchInput: boolean | Omit<import("../Input.vue").InputProps, "modelValue" | "defaultValue">;
8
8
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -4,5 +4,5 @@ export interface ColorModeSelectProps extends Omit<SelectMenuProps<SelectMenuIte
4
4
  declare const _default: typeof __VLS_export;
5
5
  export default _default;
6
6
  declare const __VLS_export: import("vue").DefineComponent<ColorModeSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorModeSelectProps> & Readonly<{}>, {
7
- searchInput: boolean | import("../Input.vue").InputProps;
7
+ searchInput: boolean | Omit<import("../Input.vue").InputProps, "modelValue" | "defaultValue">;
8
8
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -24,7 +24,9 @@ const props = defineProps({
24
24
  name: { type: String, required: false },
25
25
  required: { type: Boolean, required: false },
26
26
  value: { type: String, required: false },
27
- defaultValue: { type: Boolean, required: false }
27
+ defaultValue: { type: null, required: false },
28
+ trueValue: { type: null, required: false },
29
+ falseValue: { type: null, required: false }
28
30
  });
29
31
  const { t } = useLocale();
30
32
  const colorMode = useColorMode();
@@ -1,4 +1,5 @@
1
1
  import type { AccordionRootProps, AccordionRootEmits } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import type { ContentNavigationItem } from '@nuxt/content';
4
5
  import theme from '#build/ui/content/content-navigation';
@@ -77,14 +78,14 @@ export interface ContentNavigationEmits extends AccordionRootEmits {
77
78
  }
78
79
  type SlotProps<T> = (props: {
79
80
  link: T;
80
- active?: boolean;
81
+ active: boolean;
81
82
  ui: ContentNavigation['ui'];
82
- }) => any;
83
+ }) => VNode[];
83
84
  export interface ContentNavigationSlots<T extends ContentNavigationLink = ContentNavigationLink> {
84
- 'link': SlotProps<T>;
85
- 'link-leading': SlotProps<T>;
86
- 'link-title': SlotProps<T>;
87
- 'link-trailing': SlotProps<T>;
85
+ 'link'?: SlotProps<T>;
86
+ 'link-leading'?: SlotProps<T>;
87
+ 'link-title'?: SlotProps<T>;
88
+ 'link-trailing'?: SlotProps<T>;
88
89
  }
89
90
  declare const _default: typeof __VLS_export;
90
91
  export default _default;
@@ -107,15 +107,22 @@ const defaultValue = computed(() => {
107
107
  <Primitive :as="as" v-bind="$attrs" :as-child="level > 0" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })">
108
108
  <AccordionRoot as="ul" :disabled="disabled" v-bind="rootProps" :default-value="defaultValue" :class="level > 0 ? ui.listWithChildren({ class: uiProp?.listWithChildren }) : ui.list({ class: uiProp?.list })">
109
109
  <template v-for="(link, index) in navigation" :key="index">
110
- <AccordionItem v-if="link.children?.length" as="li" data-slot="itemWithChildren" :class="ui.itemWithChildren({ class: [uiProp?.itemWithChildren, link.ui?.itemWithChildren], level: level > 0 })" :value="String(index)">
110
+ <AccordionItem
111
+ v-if="link.children?.length"
112
+ as="li"
113
+ :disabled="!!link.disabled"
114
+ data-slot="itemWithChildren"
115
+ :class="ui.itemWithChildren({ class: [uiProp?.itemWithChildren, link.ui?.itemWithChildren], level: level > 0 })"
116
+ :value="String(index)"
117
+ >
111
118
  <AccordionTrigger
112
119
  as="button"
113
120
  :class="[
114
121
  ui.link({ class: [uiProp?.link, link.ui?.link, link.class], active: link.active, disabled: !!link.disabled || disabled }),
115
- ui.trigger({ class: [uiProp?.trigger, link.ui?.trigger], disabled })
122
+ ui.trigger({ class: [uiProp?.trigger, link.ui?.trigger], disabled: !!link.disabled || disabled })
116
123
  ]"
117
124
  >
118
- <ReuseLinkTemplate :link="link" :active="link.active" />
125
+ <ReuseLinkTemplate :link="link" :active="link.active || false" />
119
126
  </AccordionTrigger>
120
127
 
121
128
  <AccordionContent data-slot="content" :class="ui.content({ class: [uiProp?.content, link.ui?.content] })">
@@ -1,4 +1,5 @@
1
1
  import type { AccordionRootProps, AccordionRootEmits } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import type { ContentNavigationItem } from '@nuxt/content';
4
5
  import theme from '#build/ui/content/content-navigation';
@@ -77,14 +78,14 @@ export interface ContentNavigationEmits extends AccordionRootEmits {
77
78
  }
78
79
  type SlotProps<T> = (props: {
79
80
  link: T;
80
- active?: boolean;
81
+ active: boolean;
81
82
  ui: ContentNavigation['ui'];
82
- }) => any;
83
+ }) => VNode[];
83
84
  export interface ContentNavigationSlots<T extends ContentNavigationLink = ContentNavigationLink> {
84
- 'link': SlotProps<T>;
85
- 'link-leading': SlotProps<T>;
86
- 'link-title': SlotProps<T>;
87
- 'link-trailing': SlotProps<T>;
85
+ 'link'?: SlotProps<T>;
86
+ 'link-leading'?: SlotProps<T>;
87
+ 'link-title'?: SlotProps<T>;
88
+ 'link-trailing'?: SlotProps<T>;
88
89
  }
89
90
  declare const _default: typeof __VLS_export;
90
91
  export default _default;
@@ -1,3 +1,4 @@
1
+ import type { VNode } from 'vue';
1
2
  import type { ContentNavigationItem } from '@nuxt/content';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import type { UseFuseOptions } from '@vueuse/integrations/useFuse';
@@ -94,10 +95,10 @@ export interface ContentSearchProps<T extends ContentSearchLink = ContentSearchL
94
95
  class?: any;
95
96
  ui?: ContentSearch['slots'] & CommandPaletteProps<CommandPaletteGroup<ContentSearchItem>, ContentSearchItem>['ui'];
96
97
  }
97
- export type ContentSearchSlots = CommandPaletteSlots<CommandPaletteGroup<ContentSearchItem>, ContentSearchItem> & {
98
- content(props: {
98
+ export type ContentSearchSlots = CommandPaletteSlots<ContentSearchItem> & {
99
+ content?(props: {
99
100
  close: () => void;
100
- }): any;
101
+ }): VNode[];
101
102
  };
102
103
  declare const _default: typeof __VLS_export;
103
104
  export default _default;
@@ -1,3 +1,4 @@
1
+ import type { VNode } from 'vue';
1
2
  import type { ContentNavigationItem } from '@nuxt/content';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import type { UseFuseOptions } from '@vueuse/integrations/useFuse';
@@ -94,10 +95,10 @@ export interface ContentSearchProps<T extends ContentSearchLink = ContentSearchL
94
95
  class?: any;
95
96
  ui?: ContentSearch['slots'] & CommandPaletteProps<CommandPaletteGroup<ContentSearchItem>, ContentSearchItem>['ui'];
96
97
  }
97
- export type ContentSearchSlots = CommandPaletteSlots<CommandPaletteGroup<ContentSearchItem>, ContentSearchItem> & {
98
- content(props: {
98
+ export type ContentSearchSlots = CommandPaletteSlots<ContentSearchItem> & {
99
+ content?(props: {
99
100
  close: () => void;
100
- }): any;
101
+ }): VNode[];
101
102
  };
102
103
  declare const _default: typeof __VLS_export;
103
104
  export default _default;
@@ -1,3 +1,4 @@
1
+ import type { VNode } from 'vue';
1
2
  import type { ContentNavigationItem } from '@nuxt/content';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/content/content-surround';
@@ -38,12 +39,12 @@ export interface ContentSurroundProps<T extends ContentSurroundLink = ContentSur
38
39
  type SlotProps<T> = (props: {
39
40
  link: T;
40
41
  ui: ContentSurround['ui'];
41
- }) => any;
42
+ }) => VNode[];
42
43
  export interface ContentSurroundSlots<T extends ContentSurroundLink = ContentSurroundLink> {
43
- 'link': SlotProps<T>;
44
- 'link-leading': SlotProps<T>;
45
- 'link-title': SlotProps<T>;
46
- 'link-description': SlotProps<T>;
44
+ 'link'?: SlotProps<T>;
45
+ 'link-leading'?: SlotProps<T>;
46
+ 'link-title'?: SlotProps<T>;
47
+ 'link-description'?: SlotProps<T>;
47
48
  }
48
49
  declare const _default: typeof __VLS_export;
49
50
  export default _default;
@@ -8,6 +8,7 @@ import { Primitive } from "reka-ui";
8
8
  import { createReusableTemplate } from "@vueuse/core";
9
9
  import { useAppConfig } from "#imports";
10
10
  import { useComponentUI } from "../../composables/useComponentUI";
11
+ import { useLocale } from "../../composables/useLocale";
11
12
  import { tv } from "../../utils/tv";
12
13
  import ULink from "../Link.vue";
13
14
  import UIcon from "../Icon.vue";
@@ -21,6 +22,7 @@ const props = defineProps({
21
22
  ui: { type: Object, required: false }
22
23
  });
23
24
  defineSlots();
25
+ const { dir } = useLocale();
24
26
  const appConfig = useAppConfig();
25
27
  const uiProp = useComponentUI("contentSurround", props);
26
28
  const [DefineLinkTemplate, ReuseLinkTemplate] = createReusableTemplate({
@@ -31,6 +33,8 @@ const [DefineLinkTemplate, ReuseLinkTemplate] = createReusableTemplate({
31
33
  }
32
34
  });
33
35
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contentSurround || {} })());
36
+ const prevIcon = computed(() => props.prevIcon || (dir.value === "rtl" ? appConfig.ui.icons.arrowRight : appConfig.ui.icons.arrowLeft));
37
+ const nextIcon = computed(() => props.nextIcon || (dir.value === "rtl" ? appConfig.ui.icons.arrowLeft : appConfig.ui.icons.arrowRight));
34
38
  </script>
35
39
 
36
40
  <template>
@@ -60,7 +64,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contentSurrou
60
64
  </DefineLinkTemplate>
61
65
 
62
66
  <Primitive v-if="surround" :as="as" v-bind="$attrs" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })">
63
- <ReuseLinkTemplate :link="surround[0]" :icon="prevIcon || appConfig.ui.icons.arrowLeft" direction="left" />
64
- <ReuseLinkTemplate :link="surround[1]" :icon="nextIcon || appConfig.ui.icons.arrowRight" direction="right" />
67
+ <ReuseLinkTemplate :link="surround[0]" :icon="prevIcon" direction="left" />
68
+ <ReuseLinkTemplate :link="surround[1]" :icon="nextIcon" direction="right" />
65
69
  </Primitive>
66
70
  </template>
@@ -1,3 +1,4 @@
1
+ import type { VNode } from 'vue';
1
2
  import type { ContentNavigationItem } from '@nuxt/content';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/ui/content/content-surround';
@@ -38,12 +39,12 @@ export interface ContentSurroundProps<T extends ContentSurroundLink = ContentSur
38
39
  type SlotProps<T> = (props: {
39
40
  link: T;
40
41
  ui: ContentSurround['ui'];
41
- }) => any;
42
+ }) => VNode[];
42
43
  export interface ContentSurroundSlots<T extends ContentSurroundLink = ContentSurroundLink> {
43
- 'link': SlotProps<T>;
44
- 'link-leading': SlotProps<T>;
45
- 'link-title': SlotProps<T>;
46
- 'link-description': SlotProps<T>;
44
+ 'link'?: SlotProps<T>;
45
+ 'link-leading'?: SlotProps<T>;
46
+ 'link-title'?: SlotProps<T>;
47
+ 'link-description'?: SlotProps<T>;
47
48
  }
48
49
  declare const _default: typeof __VLS_export;
49
50
  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 { TocLink } from '@nuxt/content';
3
4
  import type { AppConfig } from '@nuxt/schema';
4
5
  import theme from '#build/ui/content/content-toc';
@@ -39,6 +40,11 @@ export interface ContentTocProps<T extends ContentTocLink = ContentTocLink> exte
39
40
  * @defaultValue 'primary'
40
41
  */
41
42
  highlightColor?: ContentToc['variants']['highlightColor'];
43
+ /**
44
+ * The variant of the highlight indicator.
45
+ * @defaultValue 'straight'
46
+ */
47
+ highlightVariant?: ContentToc['variants']['highlightVariant'];
42
48
  links?: T[];
43
49
  class?: any;
44
50
  ui?: ContentToc['slots'];
@@ -48,29 +54,29 @@ export type ContentTocEmits = CollapsibleRootEmits & {
48
54
  };
49
55
  type SlotProps<T> = (props: {
50
56
  link: T;
51
- }) => any;
57
+ }) => VNode[];
52
58
  export interface ContentTocSlots<T extends ContentTocLink = ContentTocLink> {
53
- leading(props: {
59
+ leading?(props: {
54
60
  open: boolean;
55
61
  ui: ContentToc['ui'];
56
- }): any;
57
- default(props: {
62
+ }): VNode[];
63
+ default?(props: {
58
64
  open: boolean;
59
- }): any;
60
- trailing(props: {
65
+ }): VNode[];
66
+ trailing?(props: {
61
67
  open: boolean;
62
68
  ui: ContentToc['ui'];
63
- }): any;
64
- content(props: {
69
+ }): VNode[];
70
+ content?(props: {
65
71
  links: T[];
66
- }): any;
67
- link: SlotProps<T>;
68
- top(props: {
72
+ }): VNode[];
73
+ link?: SlotProps<T>;
74
+ top?(props: {
69
75
  links?: T[];
70
- }): any;
71
- bottom(props: {
76
+ }): VNode[];
77
+ bottom?(props: {
72
78
  links?: T[];
73
- }): any;
79
+ }): VNode[];
74
80
  }
75
81
  declare const _default: typeof __VLS_export;
76
82
  export default _default;
@@ -20,6 +20,7 @@ const props = defineProps({
20
20
  color: { type: null, required: false },
21
21
  highlight: { type: Boolean, required: false },
22
22
  highlightColor: { type: null, required: false },
23
+ highlightVariant: { type: null, required: false },
23
24
  links: { type: Array, required: false },
24
25
  class: { type: null, required: false },
25
26
  ui: { type: Object, required: false },
@@ -41,9 +42,11 @@ const [DefineListTemplate, ReuseListTemplate] = createReusableTemplate({
41
42
  }
42
43
  });
43
44
  const [DefineTriggerTemplate, ReuseTriggerTemplate] = createReusableTemplate();
45
+ const [DefineContentTemplate, ReuseContentTemplate] = createReusableTemplate();
44
46
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contentToc || {} })({
45
47
  color: props.color,
46
48
  highlight: props.highlight,
49
+ highlightVariant: props.highlightVariant,
47
50
  highlightColor: props.highlightColor || props.color
48
51
  }));
49
52
  function scrollToHeading(id) {
@@ -54,17 +57,56 @@ function scrollToHeading(id) {
54
57
  function flattenLinks(links) {
55
58
  return links.flatMap((link) => [link, ...link.children ? flattenLinks(link.children) : []]);
56
59
  }
60
+ function flattenLinksWithLevel(links, level = 0) {
61
+ return links.flatMap((link) => [
62
+ { link, level },
63
+ ...link.children ? flattenLinksWithLevel(link.children, level + 1) : []
64
+ ]);
65
+ }
66
+ const linkHeight = 1.75;
57
67
  const indicatorStyle = computed(() => {
58
68
  if (!activeHeadings.value?.length) {
59
69
  return;
60
70
  }
61
71
  const flatLinks = flattenLinks(props.links || []);
62
72
  const activeIndex = flatLinks.findIndex((link) => activeHeadings.value.includes(link.id));
63
- const linkHeight = 28;
64
- const gapSize = 0;
65
73
  return {
66
- "--indicator-size": `${linkHeight * activeHeadings.value.length + gapSize * (activeHeadings.value.length - 1)}px`,
67
- "--indicator-position": activeIndex >= 0 ? `${activeIndex * (linkHeight + gapSize)}px` : "0px"
74
+ "--indicator-size": `${linkHeight * activeHeadings.value.length}rem`,
75
+ "--indicator-position": activeIndex >= 0 ? `${activeIndex * linkHeight}rem` : "0rem"
76
+ };
77
+ });
78
+ const circuitMaskStyle = computed(() => {
79
+ if (!props.highlight || props.highlightVariant !== "circuit" || !props.links?.length) {
80
+ return;
81
+ }
82
+ const flatLinks = flattenLinksWithLevel(props.links);
83
+ const svgUnit = 16;
84
+ const svgLinkHeight = linkHeight * svgUnit;
85
+ const svgHeight = flatLinks.length * svgLinkHeight;
86
+ const x0 = 0.5;
87
+ const x1 = 10.5;
88
+ let path = "";
89
+ let currentX = x0;
90
+ let y = 0;
91
+ flatLinks.forEach((item, index) => {
92
+ const targetX = item.level > 0 ? x1 : x0;
93
+ const nextY = y + svgLinkHeight;
94
+ if (index === 0) {
95
+ path += `M${targetX} ${y}`;
96
+ currentX = targetX;
97
+ }
98
+ if (targetX !== currentX) {
99
+ path += ` L${targetX} ${y + 6}`;
100
+ currentX = targetX;
101
+ }
102
+ path += ` L${currentX} ${nextY - (index < flatLinks.length - 1 && flatLinks[index + 1]?.level !== item.level ? 6 : 0)}`;
103
+ y = nextY;
104
+ });
105
+ const svgPath = encodeURIComponent(`<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 ${svgHeight}'><path d='${path}' stroke='black' stroke-width='1' fill='none'/></svg>`);
106
+ return {
107
+ width: "0.75rem",
108
+ height: `${flatLinks.length * linkHeight}rem`,
109
+ maskImage: `url("data:image/svg+xml,${svgPath}")`
68
110
  };
69
111
  });
70
112
  const nuxtApp = useNuxtApp();
@@ -110,6 +152,17 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
110
152
  </span>
111
153
  </DefineTriggerTemplate>
112
154
 
155
+ <DefineContentTemplate>
156
+ <div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: uiProp?.indicator })" :style="{ ...indicatorStyle, ...circuitMaskStyle || {} }">
157
+ <div data-slot="indicatorLine" :class="ui.indicatorLine({ class: uiProp?.indicatorLine })" />
158
+ <div v-if="indicatorStyle" data-slot="indicatorActive" :class="ui.indicatorActive({ class: uiProp?.indicatorActive })" />
159
+ </div>
160
+
161
+ <slot name="content" :links="links">
162
+ <ReuseListTemplate :links="links" :level="0" />
163
+ </slot>
164
+ </DefineContentTemplate>
165
+
113
166
  <CollapsibleRoot v-slot="{ open }" v-bind="{ ...rootProps, ...$attrs }" :default-open="defaultOpen" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })">
114
167
  <div data-slot="container" :class="ui.container({ class: uiProp?.container })">
115
168
  <div v-if="!!slots.top" data-slot="top" :class="ui.top({ class: uiProp?.top })">
@@ -122,11 +175,7 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
122
175
  </CollapsibleTrigger>
123
176
 
124
177
  <CollapsibleContent data-slot="content" :class="ui.content({ class: [uiProp?.content, 'lg:hidden'] })">
125
- <div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: uiProp?.indicator })" :style="indicatorStyle" />
126
-
127
- <slot name="content" :links="links">
128
- <ReuseListTemplate :links="links" :level="0" />
129
- </slot>
178
+ <ReuseContentTemplate />
130
179
  </CollapsibleContent>
131
180
 
132
181
  <p data-slot="trigger" :class="ui.trigger({ class: 'hidden lg:flex' })">
@@ -134,11 +183,7 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
134
183
  </p>
135
184
 
136
185
  <div data-slot="content" :class="ui.content({ class: [uiProp?.content, 'hidden lg:flex'] })">
137
- <div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: uiProp?.indicator })" :style="indicatorStyle" />
138
-
139
- <slot name="content" :links="links">
140
- <ReuseListTemplate :links="links" :level="0" />
141
- </slot>
186
+ <ReuseContentTemplate />
142
187
  </div>
143
188
  </template>
144
189