@nuxt/ui 4.9.0 → 4.11.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 (603) hide show
  1. package/.nuxt/ui.static.css +11 -11
  2. package/README.md +1 -0
  3. package/cli/commands/make/locale.mjs +40 -11
  4. package/cli/templates.mjs +2 -2
  5. package/dist/module.d.mts +1 -1
  6. package/dist/module.json +2 -2
  7. package/dist/module.mjs +10 -2
  8. package/dist/runtime/components/Accordion.d.vue.ts +2 -2
  9. package/dist/runtime/components/Accordion.vue +1 -1
  10. package/dist/runtime/components/Accordion.vue.d.ts +2 -2
  11. package/dist/runtime/components/Alert.d.vue.ts +4 -1
  12. package/dist/runtime/components/Alert.vue +1 -1
  13. package/dist/runtime/components/Alert.vue.d.ts +4 -1
  14. package/dist/runtime/components/App.d.vue.ts +3 -3
  15. package/dist/runtime/components/App.vue.d.ts +3 -3
  16. package/dist/runtime/components/AuthForm.d.vue.ts +18 -9
  17. package/dist/runtime/components/AuthForm.vue +22 -13
  18. package/dist/runtime/components/AuthForm.vue.d.ts +18 -9
  19. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  20. package/dist/runtime/components/Avatar.vue +3 -3
  21. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  22. package/dist/runtime/components/AvatarGroup.vue +1 -1
  23. package/dist/runtime/components/Badge.vue +1 -1
  24. package/dist/runtime/components/Banner.d.vue.ts +3 -1
  25. package/dist/runtime/components/Banner.vue +4 -3
  26. package/dist/runtime/components/Banner.vue.d.ts +3 -1
  27. package/dist/runtime/components/BlogPost.d.vue.ts +5 -3
  28. package/dist/runtime/components/BlogPost.vue +11 -4
  29. package/dist/runtime/components/BlogPost.vue.d.ts +5 -3
  30. package/dist/runtime/components/BlogPosts.d.vue.ts +2 -2
  31. package/dist/runtime/components/BlogPosts.vue +1 -1
  32. package/dist/runtime/components/BlogPosts.vue.d.ts +2 -2
  33. package/dist/runtime/components/Breadcrumb.d.vue.ts +4 -2
  34. package/dist/runtime/components/Breadcrumb.vue +1 -1
  35. package/dist/runtime/components/Breadcrumb.vue.d.ts +4 -2
  36. package/dist/runtime/components/Button.d.vue.ts +2 -2
  37. package/dist/runtime/components/Button.vue +13 -4
  38. package/dist/runtime/components/Button.vue.d.ts +2 -2
  39. package/dist/runtime/components/Calendar.d.vue.ts +4 -2
  40. package/dist/runtime/components/Calendar.vue +1 -1
  41. package/dist/runtime/components/Calendar.vue.d.ts +4 -2
  42. package/dist/runtime/components/Card.vue +1 -1
  43. package/dist/runtime/components/Carousel.d.vue.ts +4 -2
  44. package/dist/runtime/components/Carousel.vue +2 -5
  45. package/dist/runtime/components/Carousel.vue.d.ts +4 -2
  46. package/dist/runtime/components/ChangelogVersion.d.vue.ts +4 -2
  47. package/dist/runtime/components/ChangelogVersion.vue +4 -4
  48. package/dist/runtime/components/ChangelogVersion.vue.d.ts +4 -2
  49. package/dist/runtime/components/ChangelogVersions.d.vue.ts +2 -2
  50. package/dist/runtime/components/ChangelogVersions.vue +1 -1
  51. package/dist/runtime/components/ChangelogVersions.vue.d.ts +2 -2
  52. package/dist/runtime/components/ChatMessage.d.vue.ts +4 -2
  53. package/dist/runtime/components/ChatMessage.vue +1 -1
  54. package/dist/runtime/components/ChatMessage.vue.d.ts +4 -2
  55. package/dist/runtime/components/ChatMessages.d.vue.ts +5 -2
  56. package/dist/runtime/components/ChatMessages.vue +4 -4
  57. package/dist/runtime/components/ChatMessages.vue.d.ts +5 -2
  58. package/dist/runtime/components/ChatPalette.vue +1 -1
  59. package/dist/runtime/components/ChatPrompt.d.vue.ts +15 -1
  60. package/dist/runtime/components/ChatPrompt.vue +31 -20
  61. package/dist/runtime/components/ChatPrompt.vue.d.ts +15 -1
  62. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +8 -6
  63. package/dist/runtime/components/ChatPromptSubmit.vue +1 -1
  64. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +8 -6
  65. package/dist/runtime/components/ChatReasoning.d.vue.ts +2 -2
  66. package/dist/runtime/components/ChatReasoning.vue +1 -1
  67. package/dist/runtime/components/ChatReasoning.vue.d.ts +2 -2
  68. package/dist/runtime/components/ChatShimmer.vue +1 -1
  69. package/dist/runtime/components/ChatTool.d.vue.ts +9 -2
  70. package/dist/runtime/components/ChatTool.vue +20 -2
  71. package/dist/runtime/components/ChatTool.vue.d.ts +9 -2
  72. package/dist/runtime/components/Checkbox.d.vue.ts +3 -3
  73. package/dist/runtime/components/Checkbox.vue +14 -8
  74. package/dist/runtime/components/Checkbox.vue.d.ts +3 -3
  75. package/dist/runtime/components/CheckboxGroup.d.vue.ts +8 -2
  76. package/dist/runtime/components/CheckboxGroup.vue +10 -4
  77. package/dist/runtime/components/CheckboxGroup.vue.d.ts +8 -2
  78. package/dist/runtime/components/Chip.vue +3 -3
  79. package/dist/runtime/components/Collapsible.vue +1 -1
  80. package/dist/runtime/components/ColorPicker.vue +1 -1
  81. package/dist/runtime/components/CommandPalette.d.vue.ts +13 -7
  82. package/dist/runtime/components/CommandPalette.vue +2 -2
  83. package/dist/runtime/components/CommandPalette.vue.d.ts +13 -7
  84. package/dist/runtime/components/Container.vue +1 -1
  85. package/dist/runtime/components/ContextMenu.d.vue.ts +5 -2
  86. package/dist/runtime/components/ContextMenu.vue +1 -1
  87. package/dist/runtime/components/ContextMenu.vue.d.ts +5 -2
  88. package/dist/runtime/components/ContextMenuContent.d.vue.ts +3 -2
  89. package/dist/runtime/components/ContextMenuContent.vue +1 -0
  90. package/dist/runtime/components/ContextMenuContent.vue.d.ts +3 -2
  91. package/dist/runtime/components/DashboardGroup.d.vue.ts +1 -1
  92. package/dist/runtime/components/DashboardGroup.vue +1 -1
  93. package/dist/runtime/components/DashboardGroup.vue.d.ts +1 -1
  94. package/dist/runtime/components/DashboardNavbar.d.vue.ts +3 -1
  95. package/dist/runtime/components/DashboardNavbar.vue +2 -2
  96. package/dist/runtime/components/DashboardNavbar.vue.d.ts +3 -1
  97. package/dist/runtime/components/DashboardPanel.vue +2 -2
  98. package/dist/runtime/components/DashboardResizeHandle.vue +1 -1
  99. package/dist/runtime/components/DashboardSearch.d.vue.ts +8 -4
  100. package/dist/runtime/components/DashboardSearch.vue +3 -2
  101. package/dist/runtime/components/DashboardSearch.vue.d.ts +8 -4
  102. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +7 -3
  103. package/dist/runtime/components/DashboardSearchButton.vue +1 -1
  104. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +7 -3
  105. package/dist/runtime/components/DashboardSidebar.d.vue.ts +6 -2
  106. package/dist/runtime/components/DashboardSidebar.vue +2 -2
  107. package/dist/runtime/components/DashboardSidebar.vue.d.ts +6 -2
  108. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +3 -2
  109. package/dist/runtime/components/DashboardSidebarCollapse.vue +1 -1
  110. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +3 -2
  111. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +3 -2
  112. package/dist/runtime/components/DashboardSidebarToggle.vue +1 -1
  113. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +3 -2
  114. package/dist/runtime/components/DashboardToolbar.vue +1 -1
  115. package/dist/runtime/components/Drawer.d.vue.ts +23 -4
  116. package/dist/runtime/components/Drawer.vue +39 -13
  117. package/dist/runtime/components/Drawer.vue.d.ts +23 -4
  118. package/dist/runtime/components/DropdownMenu.d.vue.ts +6 -2
  119. package/dist/runtime/components/DropdownMenu.vue +1 -1
  120. package/dist/runtime/components/DropdownMenu.vue.d.ts +6 -2
  121. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +6 -4
  122. package/dist/runtime/components/DropdownMenuContent.vue +1 -0
  123. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +6 -4
  124. package/dist/runtime/components/Editor.d.vue.ts +3 -2
  125. package/dist/runtime/components/Editor.vue +44 -18
  126. package/dist/runtime/components/Editor.vue.d.ts +3 -2
  127. package/dist/runtime/components/EditorDragHandle.d.vue.ts +5 -3
  128. package/dist/runtime/components/EditorDragHandle.vue +2 -2
  129. package/dist/runtime/components/EditorDragHandle.vue.d.ts +5 -3
  130. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +1 -1
  131. package/dist/runtime/components/EditorEmojiMenu.vue +1 -1
  132. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +1 -1
  133. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +3 -2
  134. package/dist/runtime/components/EditorMentionMenu.vue +1 -1
  135. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +3 -2
  136. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +2 -2
  137. package/dist/runtime/components/EditorSuggestionMenu.vue +1 -1
  138. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +2 -2
  139. package/dist/runtime/components/EditorToolbar.d.vue.ts +5 -2
  140. package/dist/runtime/components/EditorToolbar.vue +1 -1
  141. package/dist/runtime/components/EditorToolbar.vue.d.ts +5 -2
  142. package/dist/runtime/components/Empty.d.vue.ts +11 -1
  143. package/dist/runtime/components/Empty.vue +9 -5
  144. package/dist/runtime/components/Empty.vue.d.ts +11 -1
  145. package/dist/runtime/components/Error.d.vue.ts +3 -2
  146. package/dist/runtime/components/Error.vue +1 -1
  147. package/dist/runtime/components/Error.vue.d.ts +3 -2
  148. package/dist/runtime/components/FieldGroup.vue +1 -1
  149. package/dist/runtime/components/FileUpload.d.vue.ts +4 -2
  150. package/dist/runtime/components/FileUpload.vue +21 -13
  151. package/dist/runtime/components/FileUpload.vue.d.ts +4 -2
  152. package/dist/runtime/components/Footer.vue +1 -1
  153. package/dist/runtime/components/FooterColumns.d.vue.ts +3 -2
  154. package/dist/runtime/components/FooterColumns.vue +1 -1
  155. package/dist/runtime/components/FooterColumns.vue.d.ts +3 -2
  156. package/dist/runtime/components/Form.d.vue.ts +2 -2
  157. package/dist/runtime/components/Form.vue +1 -1
  158. package/dist/runtime/components/Form.vue.d.ts +2 -2
  159. package/dist/runtime/components/FormField.vue +1 -1
  160. package/dist/runtime/components/Header.d.vue.ts +6 -2
  161. package/dist/runtime/components/Header.vue +2 -2
  162. package/dist/runtime/components/Header.vue.d.ts +6 -2
  163. package/dist/runtime/components/Input.d.vue.ts +1 -1
  164. package/dist/runtime/components/Input.vue +15 -10
  165. package/dist/runtime/components/Input.vue.d.ts +1 -1
  166. package/dist/runtime/components/InputDate.d.vue.ts +2 -2
  167. package/dist/runtime/components/InputDate.vue +16 -11
  168. package/dist/runtime/components/InputDate.vue.d.ts +2 -2
  169. package/dist/runtime/components/InputMenu.d.vue.ts +49 -45
  170. package/dist/runtime/components/InputMenu.vue +32 -15
  171. package/dist/runtime/components/InputMenu.vue.d.ts +49 -45
  172. package/dist/runtime/components/InputNumber.d.vue.ts +4 -2
  173. package/dist/runtime/components/InputNumber.vue +16 -11
  174. package/dist/runtime/components/InputNumber.vue.d.ts +4 -2
  175. package/dist/runtime/components/InputRating.d.vue.ts +79 -0
  176. package/dist/runtime/components/InputRating.vue +112 -0
  177. package/dist/runtime/components/InputRating.vue.d.ts +79 -0
  178. package/dist/runtime/components/InputTags.d.vue.ts +2 -2
  179. package/dist/runtime/components/InputTags.vue +14 -9
  180. package/dist/runtime/components/InputTags.vue.d.ts +2 -2
  181. package/dist/runtime/components/InputTime.d.vue.ts +2 -2
  182. package/dist/runtime/components/InputTime.vue +15 -10
  183. package/dist/runtime/components/InputTime.vue.d.ts +2 -2
  184. package/dist/runtime/components/Kbd.vue +1 -1
  185. package/dist/runtime/components/Link.d.vue.ts +2 -2
  186. package/dist/runtime/components/Link.vue +18 -10
  187. package/dist/runtime/components/Link.vue.d.ts +2 -2
  188. package/dist/runtime/components/LinkBase.d.vue.ts +3 -3
  189. package/dist/runtime/components/LinkBase.vue.d.ts +3 -3
  190. package/dist/runtime/components/Listbox.d.vue.ts +16 -13
  191. package/dist/runtime/components/Listbox.vue +12 -8
  192. package/dist/runtime/components/Listbox.vue.d.ts +16 -13
  193. package/dist/runtime/components/Main.vue +1 -1
  194. package/dist/runtime/components/Marquee.vue +1 -1
  195. package/dist/runtime/components/Modal.d.vue.ts +8 -6
  196. package/dist/runtime/components/Modal.vue +17 -9
  197. package/dist/runtime/components/Modal.vue.d.ts +8 -6
  198. package/dist/runtime/components/NavigationMenu.d.vue.ts +8 -2
  199. package/dist/runtime/components/NavigationMenu.vue +2 -2
  200. package/dist/runtime/components/NavigationMenu.vue.d.ts +8 -2
  201. package/dist/runtime/components/Page.vue +1 -1
  202. package/dist/runtime/components/PageAnchors.d.vue.ts +3 -2
  203. package/dist/runtime/components/PageAnchors.vue +1 -1
  204. package/dist/runtime/components/PageAnchors.vue.d.ts +3 -2
  205. package/dist/runtime/components/PageAside.vue +1 -1
  206. package/dist/runtime/components/PageBody.vue +1 -1
  207. package/dist/runtime/components/PageCTA.d.vue.ts +1 -1
  208. package/dist/runtime/components/PageCTA.vue +1 -1
  209. package/dist/runtime/components/PageCTA.vue.d.ts +1 -1
  210. package/dist/runtime/components/PageCard.d.vue.ts +3 -2
  211. package/dist/runtime/components/PageCard.vue +4 -3
  212. package/dist/runtime/components/PageCard.vue.d.ts +3 -2
  213. package/dist/runtime/components/PageColumns.vue +1 -1
  214. package/dist/runtime/components/PageFeature.d.vue.ts +3 -2
  215. package/dist/runtime/components/PageFeature.vue +10 -3
  216. package/dist/runtime/components/PageFeature.vue.d.ts +3 -2
  217. package/dist/runtime/components/PageGrid.vue +1 -1
  218. package/dist/runtime/components/PageHeader.d.vue.ts +1 -1
  219. package/dist/runtime/components/PageHeader.vue +1 -1
  220. package/dist/runtime/components/PageHeader.vue.d.ts +1 -1
  221. package/dist/runtime/components/PageHero.d.vue.ts +1 -1
  222. package/dist/runtime/components/PageHero.vue +1 -1
  223. package/dist/runtime/components/PageHero.vue.d.ts +1 -1
  224. package/dist/runtime/components/PageLinks.d.vue.ts +3 -2
  225. package/dist/runtime/components/PageLinks.vue +1 -1
  226. package/dist/runtime/components/PageLinks.vue.d.ts +3 -2
  227. package/dist/runtime/components/PageList.vue +1 -1
  228. package/dist/runtime/components/PageLogos.d.vue.ts +1 -1
  229. package/dist/runtime/components/PageLogos.vue +2 -2
  230. package/dist/runtime/components/PageLogos.vue.d.ts +1 -1
  231. package/dist/runtime/components/PageSection.d.vue.ts +4 -2
  232. package/dist/runtime/components/PageSection.vue +1 -1
  233. package/dist/runtime/components/PageSection.vue.d.ts +4 -2
  234. package/dist/runtime/components/Pagination.d.vue.ts +4 -3
  235. package/dist/runtime/components/Pagination.vue +1 -1
  236. package/dist/runtime/components/Pagination.vue.d.ts +4 -3
  237. package/dist/runtime/components/PinInput.d.vue.ts +1 -1
  238. package/dist/runtime/components/PinInput.vue +14 -9
  239. package/dist/runtime/components/PinInput.vue.d.ts +1 -1
  240. package/dist/runtime/components/Popover.d.vue.ts +4 -4
  241. package/dist/runtime/components/Popover.vue +4 -4
  242. package/dist/runtime/components/Popover.vue.d.ts +4 -4
  243. package/dist/runtime/components/PricingPlan.d.vue.ts +3 -1
  244. package/dist/runtime/components/PricingPlan.vue +2 -2
  245. package/dist/runtime/components/PricingPlan.vue.d.ts +3 -1
  246. package/dist/runtime/components/PricingPlans.d.vue.ts +2 -2
  247. package/dist/runtime/components/PricingPlans.vue +1 -1
  248. package/dist/runtime/components/PricingPlans.vue.d.ts +2 -2
  249. package/dist/runtime/components/PricingTable.d.vue.ts +3 -3
  250. package/dist/runtime/components/PricingTable.vue +2 -2
  251. package/dist/runtime/components/PricingTable.vue.d.ts +3 -3
  252. package/dist/runtime/components/Progress.d.vue.ts +2 -1
  253. package/dist/runtime/components/Progress.vue +6 -7
  254. package/dist/runtime/components/Progress.vue.d.ts +2 -1
  255. package/dist/runtime/components/ProgressGroup.d.vue.ts +91 -0
  256. package/dist/runtime/components/ProgressGroup.vue +99 -0
  257. package/dist/runtime/components/ProgressGroup.vue.d.ts +91 -0
  258. package/dist/runtime/components/RadioGroup.d.vue.ts +8 -2
  259. package/dist/runtime/components/RadioGroup.vue +15 -6
  260. package/dist/runtime/components/RadioGroup.vue.d.ts +8 -2
  261. package/dist/runtime/components/ScrollArea.d.vue.ts +8 -2
  262. package/dist/runtime/components/ScrollArea.vue +25 -19
  263. package/dist/runtime/components/ScrollArea.vue.d.ts +8 -2
  264. package/dist/runtime/components/Select.d.vue.ts +4 -2
  265. package/dist/runtime/components/Select.vue +24 -10
  266. package/dist/runtime/components/Select.vue.d.ts +4 -2
  267. package/dist/runtime/components/SelectMenu.d.vue.ts +50 -45
  268. package/dist/runtime/components/SelectMenu.vue +28 -14
  269. package/dist/runtime/components/SelectMenu.vue.d.ts +50 -45
  270. package/dist/runtime/components/Separator.d.vue.ts +3 -2
  271. package/dist/runtime/components/Separator.vue +3 -2
  272. package/dist/runtime/components/Separator.vue.d.ts +3 -2
  273. package/dist/runtime/components/Sidebar.d.vue.ts +7 -2
  274. package/dist/runtime/components/Sidebar.vue +3 -3
  275. package/dist/runtime/components/Sidebar.vue.d.ts +7 -2
  276. package/dist/runtime/components/Skeleton.vue +1 -1
  277. package/dist/runtime/components/Slideover.d.vue.ts +9 -7
  278. package/dist/runtime/components/Slideover.vue +5 -4
  279. package/dist/runtime/components/Slideover.vue.d.ts +9 -7
  280. package/dist/runtime/components/Slider.d.vue.ts +2 -2
  281. package/dist/runtime/components/Slider.vue +15 -8
  282. package/dist/runtime/components/Slider.vue.d.ts +2 -2
  283. package/dist/runtime/components/Splitter.d.vue.ts +266 -0
  284. package/dist/runtime/components/Splitter.vue +99 -0
  285. package/dist/runtime/components/Splitter.vue.d.ts +266 -0
  286. package/dist/runtime/components/Stepper.d.vue.ts +2 -2
  287. package/dist/runtime/components/Stepper.vue +1 -1
  288. package/dist/runtime/components/Stepper.vue.d.ts +2 -2
  289. package/dist/runtime/components/Switch.d.vue.ts +2 -2
  290. package/dist/runtime/components/Switch.vue +10 -6
  291. package/dist/runtime/components/Switch.vue.d.ts +2 -2
  292. package/dist/runtime/components/Table.d.vue.ts +8 -2
  293. package/dist/runtime/components/Table.vue +13 -6
  294. package/dist/runtime/components/Table.vue.d.ts +8 -2
  295. package/dist/runtime/components/Tabs.d.vue.ts +4 -2
  296. package/dist/runtime/components/Tabs.vue +1 -1
  297. package/dist/runtime/components/Tabs.vue.d.ts +4 -2
  298. package/dist/runtime/components/Textarea.d.vue.ts +1 -1
  299. package/dist/runtime/components/Textarea.vue +20 -10
  300. package/dist/runtime/components/Textarea.vue.d.ts +1 -1
  301. package/dist/runtime/components/Theme.d.vue.ts +2 -2
  302. package/dist/runtime/components/Theme.vue +4 -3
  303. package/dist/runtime/components/Theme.vue.d.ts +2 -2
  304. package/dist/runtime/components/Timeline.d.vue.ts +3 -2
  305. package/dist/runtime/components/Timeline.vue +1 -1
  306. package/dist/runtime/components/Timeline.vue.d.ts +3 -2
  307. package/dist/runtime/components/Toast.d.vue.ts +7 -3
  308. package/dist/runtime/components/Toast.vue +1 -1
  309. package/dist/runtime/components/Toast.vue.d.ts +7 -3
  310. package/dist/runtime/components/Toaster.d.vue.ts +1 -1
  311. package/dist/runtime/components/Toaster.vue +1 -1
  312. package/dist/runtime/components/Toaster.vue.d.ts +1 -1
  313. package/dist/runtime/components/Tooltip.d.vue.ts +1 -1
  314. package/dist/runtime/components/Tooltip.vue +1 -1
  315. package/dist/runtime/components/Tooltip.vue.d.ts +1 -1
  316. package/dist/runtime/components/Tree.d.vue.ts +2 -2
  317. package/dist/runtime/components/Tree.vue +3 -3
  318. package/dist/runtime/components/Tree.vue.d.ts +2 -2
  319. package/dist/runtime/components/User.d.vue.ts +4 -2
  320. package/dist/runtime/components/User.vue +10 -3
  321. package/dist/runtime/components/User.vue.d.ts +4 -2
  322. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +1 -1
  323. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +1 -1
  324. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -2
  325. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -2
  326. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  327. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  328. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  329. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  330. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +4 -2
  331. package/dist/runtime/components/content/ContentNavigation.vue +11 -4
  332. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +4 -2
  333. package/dist/runtime/components/content/ContentSearch.d.vue.ts +8 -3
  334. package/dist/runtime/components/content/ContentSearch.vue +3 -2
  335. package/dist/runtime/components/content/ContentSearch.vue.d.ts +8 -3
  336. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +7 -3
  337. package/dist/runtime/components/content/ContentSearchButton.vue +1 -1
  338. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +7 -3
  339. package/dist/runtime/components/content/ContentSurround.d.vue.ts +2 -2
  340. package/dist/runtime/components/content/ContentSurround.vue +2 -2
  341. package/dist/runtime/components/content/ContentSurround.vue.d.ts +2 -2
  342. package/dist/runtime/components/content/ContentToc.d.vue.ts +2 -2
  343. package/dist/runtime/components/content/ContentToc.vue +36 -7
  344. package/dist/runtime/components/content/ContentToc.vue.d.ts +2 -2
  345. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -1
  346. package/dist/runtime/components/locale/LocaleSelect.vue +8 -0
  347. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -1
  348. package/dist/runtime/components/prose/A.vue +1 -1
  349. package/dist/runtime/components/prose/Accordion.d.vue.ts +1 -1
  350. package/dist/runtime/components/prose/Accordion.vue +1 -1
  351. package/dist/runtime/components/prose/Accordion.vue.d.ts +1 -1
  352. package/dist/runtime/components/prose/AccordionItem.vue +1 -1
  353. package/dist/runtime/components/prose/Badge.vue +1 -1
  354. package/dist/runtime/components/prose/Blockquote.vue +1 -1
  355. package/dist/runtime/components/prose/Callout.d.vue.ts +2 -1
  356. package/dist/runtime/components/prose/Callout.vue +2 -2
  357. package/dist/runtime/components/prose/Callout.vue.d.ts +2 -1
  358. package/dist/runtime/components/prose/Card.d.vue.ts +2 -1
  359. package/dist/runtime/components/prose/Card.vue +2 -2
  360. package/dist/runtime/components/prose/Card.vue.d.ts +2 -1
  361. package/dist/runtime/components/prose/CardGroup.vue +1 -1
  362. package/dist/runtime/components/prose/Code.vue +1 -1
  363. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +1 -1
  364. package/dist/runtime/components/prose/CodeCollapse.vue +1 -1
  365. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +1 -1
  366. package/dist/runtime/components/prose/CodeGroup.vue +1 -1
  367. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +1 -1
  368. package/dist/runtime/components/prose/CodeIcon.vue.d.ts +1 -1
  369. package/dist/runtime/components/prose/CodePreview.vue +1 -1
  370. package/dist/runtime/components/prose/CodeTree.vue +1 -1
  371. package/dist/runtime/components/prose/Collapsible.d.vue.ts +2 -1
  372. package/dist/runtime/components/prose/Collapsible.vue +1 -1
  373. package/dist/runtime/components/prose/Collapsible.vue.d.ts +2 -1
  374. package/dist/runtime/components/prose/Em.vue +1 -1
  375. package/dist/runtime/components/prose/Field.vue +1 -1
  376. package/dist/runtime/components/prose/FieldGroup.vue +1 -1
  377. package/dist/runtime/components/prose/H1.d.vue.ts +5 -0
  378. package/dist/runtime/components/prose/H1.vue +3 -2
  379. package/dist/runtime/components/prose/H1.vue.d.ts +5 -0
  380. package/dist/runtime/components/prose/H2.d.vue.ts +6 -0
  381. package/dist/runtime/components/prose/H2.vue +3 -2
  382. package/dist/runtime/components/prose/H2.vue.d.ts +6 -0
  383. package/dist/runtime/components/prose/H3.d.vue.ts +6 -0
  384. package/dist/runtime/components/prose/H3.vue +3 -2
  385. package/dist/runtime/components/prose/H3.vue.d.ts +6 -0
  386. package/dist/runtime/components/prose/H4.d.vue.ts +6 -0
  387. package/dist/runtime/components/prose/H4.vue +3 -2
  388. package/dist/runtime/components/prose/H4.vue.d.ts +6 -0
  389. package/dist/runtime/components/prose/Hr.vue +1 -1
  390. package/dist/runtime/components/prose/Icon.vue +1 -1
  391. package/dist/runtime/components/prose/Img.vue +1 -1
  392. package/dist/runtime/components/prose/Kbd.vue +1 -1
  393. package/dist/runtime/components/prose/Li.vue +1 -1
  394. package/dist/runtime/components/prose/Ol.vue +1 -1
  395. package/dist/runtime/components/prose/P.vue +1 -1
  396. package/dist/runtime/components/prose/Pre.d.vue.ts +12 -2
  397. package/dist/runtime/components/prose/Pre.vue +6 -3
  398. package/dist/runtime/components/prose/Pre.vue.d.ts +12 -2
  399. package/dist/runtime/components/prose/Prompt.d.vue.ts +4 -3
  400. package/dist/runtime/components/prose/Prompt.vue +21 -11
  401. package/dist/runtime/components/prose/Prompt.vue.d.ts +4 -3
  402. package/dist/runtime/components/prose/Steps.vue +1 -1
  403. package/dist/runtime/components/prose/Strong.vue +1 -1
  404. package/dist/runtime/components/prose/Table.vue +1 -1
  405. package/dist/runtime/components/prose/Tabs.d.vue.ts +1 -1
  406. package/dist/runtime/components/prose/Tabs.vue +1 -1
  407. package/dist/runtime/components/prose/Tabs.vue.d.ts +1 -1
  408. package/dist/runtime/components/prose/TabsItem.vue +1 -1
  409. package/dist/runtime/components/prose/Tbody.vue +1 -1
  410. package/dist/runtime/components/prose/Td.vue +1 -1
  411. package/dist/runtime/components/prose/Th.vue +1 -1
  412. package/dist/runtime/components/prose/Thead.vue +1 -1
  413. package/dist/runtime/components/prose/Tr.vue +1 -1
  414. package/dist/runtime/components/prose/Ul.vue +1 -1
  415. package/dist/runtime/composables/defineShortcuts.js +42 -5
  416. package/dist/runtime/composables/useAvatarGroup.d.ts +3 -3
  417. package/dist/runtime/composables/useComponentIcons.d.ts +2 -1
  418. package/dist/runtime/composables/useComponentProps.d.ts +4 -158
  419. package/dist/runtime/composables/useComponentProps.js +10 -2
  420. package/dist/runtime/composables/useEditorMenu.d.ts +2 -1
  421. package/dist/runtime/composables/useEditorMenu.js +8 -2
  422. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  423. package/dist/runtime/composables/useFileUpload.js +3 -4
  424. package/dist/runtime/composables/useFormField.d.ts +12 -6
  425. package/dist/runtime/composables/useFormField.js +10 -3
  426. package/dist/runtime/composables/useResizable.js +24 -43
  427. package/dist/runtime/composables/useScrollspy.js +20 -12
  428. package/dist/runtime/composables/useToast.d.ts +1 -1
  429. package/dist/runtime/composables/useToast.js +22 -7
  430. package/dist/runtime/keyframes.css +1 -1
  431. package/dist/runtime/locale/ar.d.ts +1 -1
  432. package/dist/runtime/locale/ar.js +3 -0
  433. package/dist/runtime/locale/az.d.ts +1 -1
  434. package/dist/runtime/locale/az.js +3 -0
  435. package/dist/runtime/locale/be.d.ts +1 -1
  436. package/dist/runtime/locale/be.js +3 -0
  437. package/dist/runtime/locale/bg.d.ts +1 -1
  438. package/dist/runtime/locale/bg.js +3 -0
  439. package/dist/runtime/locale/bn.d.ts +1 -1
  440. package/dist/runtime/locale/bn.js +3 -0
  441. package/dist/runtime/locale/ca.d.ts +1 -1
  442. package/dist/runtime/locale/ca.js +3 -0
  443. package/dist/runtime/locale/ckb.d.ts +1 -1
  444. package/dist/runtime/locale/ckb.js +3 -0
  445. package/dist/runtime/locale/cs.d.ts +1 -1
  446. package/dist/runtime/locale/cs.js +3 -0
  447. package/dist/runtime/locale/da.d.ts +1 -1
  448. package/dist/runtime/locale/da.js +4 -1
  449. package/dist/runtime/locale/de.d.ts +1 -1
  450. package/dist/runtime/locale/de.js +3 -0
  451. package/dist/runtime/locale/{tj.d.ts → de_at.d.ts} +1 -1
  452. package/dist/runtime/locale/de_at.js +7 -0
  453. package/dist/runtime/locale/de_ch.d.ts +1 -1
  454. package/dist/runtime/locale/de_ch.js +4 -1
  455. package/dist/runtime/locale/el.d.ts +1 -1
  456. package/dist/runtime/locale/el.js +3 -0
  457. package/dist/runtime/locale/en.d.ts +1 -1
  458. package/dist/runtime/locale/en.js +3 -0
  459. package/dist/runtime/locale/en_gb.d.ts +1 -1
  460. package/dist/runtime/locale/es.d.ts +1 -1
  461. package/dist/runtime/locale/es.js +3 -0
  462. package/dist/runtime/locale/et.d.ts +1 -1
  463. package/dist/runtime/locale/et.js +3 -0
  464. package/dist/runtime/locale/eu.d.ts +1 -1
  465. package/dist/runtime/locale/eu.js +4 -1
  466. package/dist/runtime/locale/fa_ir.d.ts +1 -1
  467. package/dist/runtime/locale/fa_ir.js +3 -0
  468. package/dist/runtime/locale/fi.d.ts +1 -1
  469. package/dist/runtime/locale/fi.js +4 -1
  470. package/dist/runtime/locale/fr.d.ts +1 -1
  471. package/dist/runtime/locale/fr.js +3 -0
  472. package/dist/runtime/locale/gl.d.ts +1 -1
  473. package/dist/runtime/locale/gl.js +3 -0
  474. package/dist/runtime/locale/he.d.ts +1 -1
  475. package/dist/runtime/locale/he.js +4 -1
  476. package/dist/runtime/locale/hi.d.ts +1 -1
  477. package/dist/runtime/locale/hi.js +4 -1
  478. package/dist/runtime/locale/hr.d.ts +1 -1
  479. package/dist/runtime/locale/hr.js +3 -0
  480. package/dist/runtime/locale/hu.d.ts +1 -1
  481. package/dist/runtime/locale/hu.js +3 -0
  482. package/dist/runtime/locale/hy.d.ts +1 -1
  483. package/dist/runtime/locale/hy.js +3 -0
  484. package/dist/runtime/locale/id.d.ts +1 -1
  485. package/dist/runtime/locale/id.js +3 -0
  486. package/dist/runtime/locale/index.d.ts +2 -1
  487. package/dist/runtime/locale/index.js +2 -1
  488. package/dist/runtime/locale/is.d.ts +1 -1
  489. package/dist/runtime/locale/is.js +4 -1
  490. package/dist/runtime/locale/it.d.ts +1 -1
  491. package/dist/runtime/locale/it.js +3 -0
  492. package/dist/runtime/locale/ja.d.ts +1 -1
  493. package/dist/runtime/locale/ja.js +3 -0
  494. package/dist/runtime/locale/ka.d.ts +1 -1
  495. package/dist/runtime/locale/ka.js +3 -0
  496. package/dist/runtime/locale/kk.d.ts +1 -1
  497. package/dist/runtime/locale/kk.js +3 -0
  498. package/dist/runtime/locale/km.d.ts +1 -1
  499. package/dist/runtime/locale/km.js +3 -0
  500. package/dist/runtime/locale/ko.d.ts +1 -1
  501. package/dist/runtime/locale/ko.js +3 -0
  502. package/dist/runtime/locale/ky.d.ts +1 -1
  503. package/dist/runtime/locale/ky.js +3 -0
  504. package/dist/runtime/locale/lb.d.ts +1 -1
  505. package/dist/runtime/locale/lb.js +4 -1
  506. package/dist/runtime/locale/lo.d.ts +1 -1
  507. package/dist/runtime/locale/lo.js +3 -0
  508. package/dist/runtime/locale/lt.d.ts +1 -1
  509. package/dist/runtime/locale/lt.js +3 -0
  510. package/dist/runtime/locale/lv.d.ts +1 -1
  511. package/dist/runtime/locale/lv.js +3 -0
  512. package/dist/runtime/locale/mn.d.ts +1 -1
  513. package/dist/runtime/locale/mn.js +3 -0
  514. package/dist/runtime/locale/ms.d.ts +1 -1
  515. package/dist/runtime/locale/ms.js +3 -0
  516. package/dist/runtime/locale/nb_no.d.ts +1 -1
  517. package/dist/runtime/locale/nb_no.js +3 -0
  518. package/dist/runtime/locale/nl.d.ts +1 -1
  519. package/dist/runtime/locale/nl.js +3 -0
  520. package/dist/runtime/locale/pl.d.ts +1 -1
  521. package/dist/runtime/locale/pl.js +3 -0
  522. package/dist/runtime/locale/pt.d.ts +1 -1
  523. package/dist/runtime/locale/pt.js +3 -0
  524. package/dist/runtime/locale/pt_br.d.ts +1 -1
  525. package/dist/runtime/locale/pt_br.js +3 -0
  526. package/dist/runtime/locale/ro.d.ts +1 -1
  527. package/dist/runtime/locale/ro.js +3 -0
  528. package/dist/runtime/locale/ru.d.ts +1 -1
  529. package/dist/runtime/locale/ru.js +3 -0
  530. package/dist/runtime/locale/sk.d.ts +1 -1
  531. package/dist/runtime/locale/sk.js +3 -0
  532. package/dist/runtime/locale/sl.d.ts +1 -1
  533. package/dist/runtime/locale/sl.js +3 -0
  534. package/dist/runtime/locale/sq.d.ts +1 -1
  535. package/dist/runtime/locale/sq.js +3 -0
  536. package/dist/runtime/locale/sv.d.ts +1 -1
  537. package/dist/runtime/locale/sv.js +3 -0
  538. package/dist/runtime/locale/tg.d.ts +3 -0
  539. package/dist/runtime/locale/{tj.js → tg.js} +4 -1
  540. package/dist/runtime/locale/th.d.ts +1 -1
  541. package/dist/runtime/locale/th.js +3 -0
  542. package/dist/runtime/locale/tr.d.ts +1 -1
  543. package/dist/runtime/locale/tr.js +3 -0
  544. package/dist/runtime/locale/ug_cn.d.ts +1 -1
  545. package/dist/runtime/locale/ug_cn.js +3 -0
  546. package/dist/runtime/locale/uk.d.ts +1 -1
  547. package/dist/runtime/locale/uk.js +3 -0
  548. package/dist/runtime/locale/ur.d.ts +1 -1
  549. package/dist/runtime/locale/ur.js +4 -1
  550. package/dist/runtime/locale/uz.d.ts +1 -1
  551. package/dist/runtime/locale/uz.js +3 -0
  552. package/dist/runtime/locale/vi.d.ts +1 -1
  553. package/dist/runtime/locale/vi.js +3 -0
  554. package/dist/runtime/locale/zh_cn.d.ts +1 -1
  555. package/dist/runtime/locale/zh_cn.js +3 -0
  556. package/dist/runtime/locale/zh_tw.d.ts +1 -1
  557. package/dist/runtime/locale/zh_tw.js +3 -0
  558. package/dist/runtime/plugins/colors.js +5 -1
  559. package/dist/runtime/types/form.d.ts +1 -1
  560. package/dist/runtime/types/html.d.ts +3 -1
  561. package/dist/runtime/types/icons.d.ts +5 -0
  562. package/dist/runtime/types/index.d.ts +4 -0
  563. package/dist/runtime/types/index.js +4 -0
  564. package/dist/runtime/types/locale.d.ts +3 -0
  565. package/dist/runtime/types/theme.d.ts +189 -0
  566. package/dist/runtime/types/theme.js +0 -0
  567. package/dist/runtime/types/tv.d.ts +8 -4
  568. package/dist/runtime/utils/ai.d.ts +10 -2
  569. package/dist/runtime/utils/ai.js +4 -1
  570. package/dist/runtime/utils/link-keys.d.ts +1 -0
  571. package/dist/runtime/utils/link-keys.js +40 -0
  572. package/dist/runtime/utils/link.d.ts +3 -2
  573. package/dist/runtime/utils/link.js +2 -40
  574. package/dist/runtime/utils/search.js +3 -12
  575. package/dist/runtime/utils/tv.d.ts +1 -1
  576. package/dist/runtime/utils/tv.js +103 -25
  577. package/dist/runtime/vue/components/Icon.d.vue.ts +1 -1
  578. package/dist/runtime/vue/components/Icon.vue +5 -2
  579. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -1
  580. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  581. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  582. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  583. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  584. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +2 -2
  585. package/dist/runtime/vue/overrides/inertia/Link.vue +2 -2
  586. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +2 -2
  587. package/dist/runtime/vue/overrides/inertia/LinkBase.d.vue.ts +3 -3
  588. package/dist/runtime/vue/overrides/inertia/LinkBase.vue.d.ts +3 -3
  589. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +2 -2
  590. package/dist/runtime/vue/overrides/none/Link.vue +8 -7
  591. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +2 -2
  592. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +2 -2
  593. package/dist/runtime/vue/overrides/vue-router/Link.vue +2 -2
  594. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +2 -2
  595. package/dist/runtime/vue/plugins/icons.d.ts +4 -0
  596. package/dist/runtime/vue/plugins/icons.js +13 -0
  597. package/dist/runtime/vue/stubs/inertia.d.ts +1 -1
  598. package/dist/runtime/vue/stubs/inertia.js +3 -1
  599. package/dist/shared/{ui.BfHSFiIO.mjs → ui.DNq7CNkE.mjs} +800 -263
  600. package/dist/unplugin.d.mts +11 -4
  601. package/dist/unplugin.mjs +138 -10
  602. package/dist/vite.mjs +5 -3
  603. package/package.json +63 -54
@@ -2,7 +2,7 @@ import * as unplugin from 'unplugin';
2
2
  import { Options } from 'unplugin-auto-import/types';
3
3
  import { Options as Options$1 } from 'unplugin-vue-components/types';
4
4
  import colors from 'tailwindcss/colors';
5
- import { RuntimeOptions } from '@nuxt/icon';
5
+ import { RuntimeOptions, ModuleOptions as ModuleOptions$1 } from '@nuxt/icon';
6
6
  import * as ui from '#build/ui';
7
7
  import { ModuleOptions } from './module.mjs';
8
8
  import { TVConfig } from '../dist/runtime/types/tv.js';
@@ -47,6 +47,7 @@ declare const _default: {
47
47
  reload: string;
48
48
  search: string;
49
49
  stop: string;
50
+ star: string;
50
51
  success: string;
51
52
  system: string;
52
53
  tip: string;
@@ -63,14 +64,20 @@ type AppConfigUI = {
63
64
  icons?: Partial<typeof _default>;
64
65
  prefix?: string;
65
66
  } & TVConfig<typeof ui>;
66
- interface NuxtUIOptions extends Omit<ModuleOptions, 'fonts' | 'colorMode' | 'content' | 'experimental'> {
67
+ interface NuxtUIOptions extends Omit<ModuleOptions, 'fonts' | 'colorMode' | 'content'> {
67
68
  /** Whether to generate declaration files for auto-imported components. */
68
69
  dts?: boolean;
69
70
  ui?: AppConfigUI;
70
71
  /**
71
- * Default props for the `Icon` component
72
+ * Default props for the `Icon` component, plus build-time icon bundling through
73
+ * `clientBundle`, which mirrors [`@nuxt/icon`'s option](https://github.com/nuxt/icon#client-bundle)
74
+ * (`icons`, `scan`, `sizeLimitKb`). Bundling is enabled by default for Nuxt UI's own icons
75
+ * (when their collection is installed); set `clientBundle: false` to opt out.
76
+ * @see https://ui.nuxt.com/docs/getting-started/integrations/icons/vue#collections
72
77
  */
73
- icon?: Pick<RuntimeOptions, 'customize' | 'size' | 'mode'>;
78
+ icon?: Partial<Pick<RuntimeOptions, 'customize' | 'size' | 'mode'>> & {
79
+ clientBundle?: false | Omit<NonNullable<ModuleOptions$1['clientBundle']>, 'includeCustomCollections'>;
80
+ };
74
81
  /**
75
82
  * Enable or disable `@vueuse/core` color-mode integration
76
83
  * @defaultValue `true`
package/dist/unplugin.mjs CHANGED
@@ -1,38 +1,57 @@
1
1
  import { fileURLToPath } from 'node:url';
2
- import { join, normalize } from 'pathe';
2
+ import { join, normalize, relative } from 'pathe';
3
3
  import { createUnplugin } from 'unplugin';
4
4
  import { defu } from 'defu';
5
5
  import tailwind from '@tailwindcss/vite';
6
- import { b as getTemplates, p as publicComposables, d as defaultOptions, r as resolveColors, g as getDefaultConfig } from './shared/ui.BfHSFiIO.mjs';
6
+ import { e as getTemplates, h as resolveExtraScanDirs, b as detectUsedComponents, f as publicComposables, g as getClientBundleIcons, p as parseIconName, d as defaultOptions, r as resolveColors, c as getDefaultConfig } from './shared/ui.DNq7CNkE.mjs';
7
7
  import fs from 'node:fs';
8
8
  import path from 'node:path';
9
+ import { consola } from 'consola';
9
10
  import MagicString from 'magic-string';
10
11
  import { genSafeVariableName } from 'knitwork';
11
12
  import { resolvePathSync } from 'mlly';
12
13
  import { globSync } from 'tinyglobby';
13
14
  import AutoImportComponents from 'unplugin-vue-components';
14
15
  import AutoImport from 'unplugin-auto-import';
16
+ import { IconUsageScanner, resolveBundleIcons, generateClientBundleCode, collectionNames } from '@nuxt/icon/utils';
15
17
  import '../dist/runtime/utils/index.js';
16
18
  import 'scule';
17
19
  import 'tailwindcss/colors';
18
20
  import '@nuxt/kit';
19
21
  import 'node:fs/promises';
20
22
 
21
- function TemplatePlugin(options, appConfig) {
22
- const templates = getTemplates(options, appConfig.ui);
23
+ function TemplatePlugin(options, appConfig, componentDir) {
24
+ const vue = {};
25
+ const templates = getTemplates(options, appConfig.ui, void 0, void 0, vue);
23
26
  const templateKeys = new Set(templates.map((t) => `#build/${t.filename}`));
24
27
  async function writeTemplates(root) {
25
28
  const map = {};
26
29
  const dir = path.join(root, "node_modules", ".nuxt-ui");
30
+ const createdDirs = /* @__PURE__ */ new Set();
27
31
  for (const template of templates) {
28
32
  if (!template.write || !template.filename) {
29
33
  continue;
30
34
  }
31
35
  const filePath = path.join(dir, template.filename);
32
- if (!fs.existsSync(path.dirname(filePath))) {
33
- fs.mkdirSync(path.dirname(filePath), { recursive: true });
36
+ const fileDir = path.dirname(filePath);
37
+ if (!createdDirs.has(fileDir)) {
38
+ if (!fs.existsSync(fileDir)) {
39
+ fs.mkdirSync(fileDir, { recursive: true });
40
+ }
41
+ createdDirs.add(fileDir);
42
+ }
43
+ const contents = await template.getContents({});
44
+ let existing = null;
45
+ try {
46
+ existing = fs.readFileSync(filePath, "utf8");
47
+ } catch (error) {
48
+ if (error.code !== "ENOENT") {
49
+ throw error;
50
+ }
51
+ }
52
+ if (existing !== contents) {
53
+ fs.writeFileSync(filePath, contents);
34
54
  }
35
- fs.writeFileSync(filePath, await template.getContents({}));
36
55
  map[`#build/${template.filename}`] = filePath;
37
56
  }
38
57
  return map;
@@ -42,7 +61,22 @@ function TemplatePlugin(options, appConfig) {
42
61
  enforce: "pre",
43
62
  vite: {
44
63
  async config(config) {
45
- const alias = await writeTemplates(path.resolve(options.root || config.root || "."));
64
+ const root = path.resolve(options.root || config.root || ".");
65
+ if (options.experimental?.componentDetection && componentDir) {
66
+ const dirs = resolveExtraScanDirs(root, options.scanPackages, options.components ? options.components.dirs : void 0);
67
+ vue.detectedComponents = await detectUsedComponents(
68
+ [root, ...dirs],
69
+ options.prefix,
70
+ componentDir,
71
+ Array.isArray(options.experimental.componentDetection) ? options.experimental.componentDetection : void 0
72
+ );
73
+ if (vue.detectedComponents?.size) {
74
+ consola.success(`Nuxt UI detected ${vue.detectedComponents.size} components in use (including dependencies)`);
75
+ } else {
76
+ consola.info("Nuxt UI detected no components in use, including all components");
77
+ }
78
+ }
79
+ const alias = await writeTemplates(root);
46
80
  return {
47
81
  resolve: {
48
82
  alias
@@ -67,6 +101,7 @@ function PluginsPlugin(options) {
67
101
  const plugins = globSync(["**/*", "!*.d.ts"], { cwd: join(runtimeDir, "plugins"), absolute: true });
68
102
  plugins.unshift(resolvePathSync("../runtime/vue/plugins/router", { extensions: [".ts", ".mjs", ".js"], url: import.meta.url }));
69
103
  plugins.unshift(resolvePathSync("../runtime/vue/plugins/head", { extensions: [".ts", ".mjs", ".js"], url: import.meta.url }));
104
+ plugins.unshift(resolvePathSync("../runtime/vue/plugins/icons", { extensions: [".ts", ".mjs", ".js"], url: import.meta.url }));
70
105
  if (options.colorMode) {
71
106
  plugins.push(resolvePathSync("../runtime/vue/plugins/color-mode", { extensions: [".ts", ".mjs", ".js"], url: import.meta.url }));
72
107
  }
@@ -316,19 +351,112 @@ function AutoImportPlugin(options, meta) {
316
351
  return AutoImport.raw(pluginOptions, meta);
317
352
  }
318
353
 
354
+ const VIRTUAL_ID = "virtual:nuxt-ui-icons";
355
+ function parseUserIcon(icon) {
356
+ const parsed = parseIconName(icon, collectionNames, true);
357
+ return parsed ? `${parsed[0]}:${parsed[1]}` : void 0;
358
+ }
359
+ function IconsPlugin(options, appConfig) {
360
+ let root = options.root || process.cwd();
361
+ let isBuild = false;
362
+ let source;
363
+ let scanner;
364
+ let scanned = false;
365
+ const scannedIcons = /* @__PURE__ */ new Set();
366
+ async function generate() {
367
+ const clientBundle = options.icon?.clientBundle;
368
+ if (clientBundle === false) {
369
+ return "export function init() {}";
370
+ }
371
+ const userIcons = /* @__PURE__ */ new Map();
372
+ for (const icon of clientBundle?.icons ?? []) {
373
+ userIcons.set(parseUserIcon(icon) ?? icon.replace(/^i[-:]/, ""), icon);
374
+ }
375
+ if (clientBundle?.scan) {
376
+ scanner ||= new IconUsageScanner(clientBundle.scan);
377
+ if (!scanned) {
378
+ await scanner.scanFiles(root, scannedIcons);
379
+ scanned = true;
380
+ }
381
+ }
382
+ const { collections, failed } = await resolveBundleIcons({
383
+ icons: userIcons.keys(),
384
+ scannedIcons,
385
+ extraIcons: getClientBundleIcons(appConfig.ui?.icons),
386
+ resolvePaths: [root]
387
+ });
388
+ if (failed.length) {
389
+ const names = failed.map((name) => userIcons.get(name) ?? name);
390
+ const message = `[Nuxt UI] Could not resolve the icons requested in \`icon.clientBundle.icons\`: ${names.join(", ")}. Install their \`@iconify-json/*\` collection, or remove them.`;
391
+ if (isBuild) {
392
+ throw new Error(message);
393
+ }
394
+ consola.warn(message);
395
+ }
396
+ return generateClientBundleCode(collections, { sizeLimitKb: clientBundle?.sizeLimitKb }).code;
397
+ }
398
+ return {
399
+ name: "nuxt:ui:icons",
400
+ enforce: "pre",
401
+ resolveId(id) {
402
+ if (id === VIRTUAL_ID) {
403
+ return VIRTUAL_ID;
404
+ }
405
+ },
406
+ loadInclude: (id) => id === VIRTUAL_ID,
407
+ load() {
408
+ source ||= generate().catch((error) => {
409
+ source = void 0;
410
+ throw error;
411
+ });
412
+ return source;
413
+ },
414
+ vite: {
415
+ configResolved(config) {
416
+ root = options.root || config.root || root;
417
+ isBuild = config.command === "build";
418
+ },
419
+ // Like `@nuxt/icon`'s vite plugin: when an edit introduces icons the scan hasn't seen,
420
+ // regenerate the virtual module so `scan: true` doesn't go stale until a restart.
421
+ async handleHotUpdate({ file, read, server }) {
422
+ if (!scanner) {
423
+ return;
424
+ }
425
+ const path = relative(root, file);
426
+ if (path.startsWith("..") || !scanner.isFileMatch(path)) {
427
+ return;
428
+ }
429
+ const sizeBefore = scannedIcons.size;
430
+ scanner.extractFromCode(await read(), scannedIcons);
431
+ if (scannedIcons.size === sizeBefore) {
432
+ return;
433
+ }
434
+ source = void 0;
435
+ const mod = server.moduleGraph.getModuleById(VIRTUAL_ID);
436
+ if (mod) {
437
+ server.moduleGraph.invalidateModule(mod);
438
+ await server.reloadModule(mod);
439
+ }
440
+ }
441
+ }
442
+ };
443
+ }
444
+
319
445
  const runtimeDir = normalize(fileURLToPath(new URL("./runtime", import.meta.url)));
320
446
  const NuxtUIPlugin = createUnplugin((_options = {}, meta) => {
321
447
  const options = defu(_options, { fonts: false }, defaultOptions);
322
448
  options.theme = options.theme || {};
323
449
  options.theme.colors = resolveColors(options.theme.colors);
324
- const appConfig = defu({ ui: options.ui, colorMode: options.colorMode, icon: options.icon }, { ui: getDefaultConfig(options.theme) });
450
+ const { clientBundle, ...icon } = options.icon || {};
451
+ const appConfig = defu({ ui: options.ui, colorMode: options.colorMode, icon }, { ui: getDefaultConfig(options.theme) });
325
452
  return [
326
453
  NuxtEnvironmentPlugin(options),
327
454
  ComponentImportPlugin(options, meta),
328
455
  AutoImportPlugin(options, meta),
329
456
  tailwind(),
457
+ IconsPlugin(options, appConfig),
330
458
  PluginsPlugin(options),
331
- TemplatePlugin(options, appConfig),
459
+ TemplatePlugin(options, appConfig, join(runtimeDir, "components")),
332
460
  AppConfigPlugin(options, appConfig),
333
461
  {
334
462
  name: "nuxt:ui:plugins-duplication-detection",
package/dist/vite.mjs CHANGED
@@ -4,20 +4,22 @@ import 'pathe';
4
4
  import 'unplugin';
5
5
  import 'defu';
6
6
  import '@tailwindcss/vite';
7
- import './shared/ui.BfHSFiIO.mjs';
7
+ import './shared/ui.DNq7CNkE.mjs';
8
8
  import '../dist/runtime/utils/index.js';
9
9
  import 'scule';
10
10
  import 'knitwork';
11
11
  import 'tailwindcss/colors';
12
12
  import '@nuxt/kit';
13
+ import 'node:fs';
13
14
  import 'node:fs/promises';
15
+ import 'consola';
14
16
  import 'tinyglobby';
15
- import 'node:fs';
17
+ import 'mlly';
16
18
  import 'node:path';
17
19
  import 'magic-string';
18
- import 'mlly';
19
20
  import 'unplugin-vue-components';
20
21
  import 'unplugin-auto-import';
22
+ import '@nuxt/icon/utils';
21
23
 
22
24
  const vite = NuxtUIPlugin.vite;
23
25
 
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@nuxt/ui",
3
3
  "description": "A UI Library for Modern Web Apps, powered by Vue & Tailwind CSS.",
4
- "version": "4.9.0",
5
- "packageManager": "pnpm@11.6.0",
4
+ "version": "4.11.0",
5
+ "packageManager": "pnpm@11.22.0",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/nuxt/ui.git"
@@ -98,6 +98,9 @@
98
98
  },
99
99
  "style": "./dist/runtime/index.css",
100
100
  "main": "./dist/module.mjs",
101
+ "sideEffects": [
102
+ "**/*.css"
103
+ ],
101
104
  "files": [
102
105
  ".nuxt/ui.static.css",
103
106
  "dist",
@@ -124,44 +127,45 @@
124
127
  "test": "vitest",
125
128
  "test:vue": "vitest --project vue",
126
129
  "test:nuxt": "vitest --project nuxt",
130
+ "bench": "vitest bench --project vue",
127
131
  "release": "release-it"
128
132
  },
129
133
  "dependencies": {
130
- "@floating-ui/dom": "^1.7.6",
134
+ "@floating-ui/dom": "^1.8.0",
131
135
  "@iconify/vue": "^5.0.1",
132
- "@internationalized/date": "^3.12.2",
136
+ "@internationalized/date": "^3.12.3",
133
137
  "@internationalized/number": "^3.6.7",
134
138
  "@nuxt/fonts": "^0.14.0",
135
- "@nuxt/icon": "^2.2.3",
136
- "@nuxt/kit": "^4.4.8",
137
- "@nuxt/schema": "^4.4.8",
139
+ "@nuxt/icon": "^2.5.0",
140
+ "@nuxt/kit": "^4.5.2",
141
+ "@nuxt/schema": "^4.5.2",
138
142
  "@nuxtjs/color-mode": "^4.0.1",
139
143
  "@standard-schema/spec": "^1.1.0",
140
- "@tailwindcss/postcss": "^4.3.1",
141
- "@tailwindcss/vite": "^4.3.1",
144
+ "@tailwindcss/postcss": "^4.3.3",
145
+ "@tailwindcss/vite": "^4.3.3",
142
146
  "@tanstack/vue-table": "^8.21.3",
143
- "@tanstack/vue-virtual": "^3.13.28",
144
- "@tiptap/core": "^3.26.1",
145
- "@tiptap/extension-bubble-menu": "^3.26.1",
146
- "@tiptap/extension-code": "^3.26.1",
147
- "@tiptap/extension-collaboration": "^3.26.1",
148
- "@tiptap/extension-drag-handle": "^3.26.1",
149
- "@tiptap/extension-drag-handle-vue-3": "^3.26.1",
150
- "@tiptap/extension-floating-menu": "^3.26.1",
151
- "@tiptap/extension-horizontal-rule": "^3.26.1",
152
- "@tiptap/extension-image": "^3.26.1",
153
- "@tiptap/extension-mention": "^3.26.1",
154
- "@tiptap/extension-node-range": "^3.26.1",
155
- "@tiptap/extension-placeholder": "^3.26.1",
156
- "@tiptap/markdown": "^3.26.1",
157
- "@tiptap/pm": "^3.26.1",
158
- "@tiptap/starter-kit": "^3.26.1",
159
- "@tiptap/suggestion": "^3.26.1",
160
- "@tiptap/vue-3": "^3.26.1",
161
- "@unhead/vue": "^2.1.15",
162
- "@vueuse/core": "^14.3.0",
163
- "@vueuse/integrations": "^14.3.0",
164
- "@vueuse/shared": "^14.3.0",
147
+ "@tanstack/vue-virtual": "^3.13.35",
148
+ "@tiptap/core": "^3.29.2",
149
+ "@tiptap/extension-bubble-menu": "^3.29.2",
150
+ "@tiptap/extension-code": "^3.29.2",
151
+ "@tiptap/extension-collaboration": "^3.29.2",
152
+ "@tiptap/extension-drag-handle": "^3.29.2",
153
+ "@tiptap/extension-drag-handle-vue-3": "^3.29.2",
154
+ "@tiptap/extension-floating-menu": "^3.29.2",
155
+ "@tiptap/extension-horizontal-rule": "^3.29.2",
156
+ "@tiptap/extension-image": "^3.29.2",
157
+ "@tiptap/extension-mention": "^3.29.2",
158
+ "@tiptap/extension-node-range": "^3.29.2",
159
+ "@tiptap/extension-placeholder": "^3.29.2",
160
+ "@tiptap/markdown": "^3.29.2",
161
+ "@tiptap/pm": "^3.29.2",
162
+ "@tiptap/starter-kit": "^3.29.2",
163
+ "@tiptap/suggestion": "^3.29.2",
164
+ "@tiptap/vue-3": "^3.29.2",
165
+ "@unhead/vue": "^3.3.2",
166
+ "@vueuse/core": "^14.4.0",
167
+ "@vueuse/integrations": "^14.4.0",
168
+ "@vueuse/shared": "^14.4.0",
165
169
  "colortranslator": "^5.0.0",
166
170
  "consola": "^3.4.2",
167
171
  "defu": "^6.1.7",
@@ -172,47 +176,48 @@
172
176
  "embla-carousel-fade": "^8.6.0",
173
177
  "embla-carousel-vue": "^8.6.0",
174
178
  "embla-carousel-wheel-gestures": "^8.1.0",
175
- "fuse.js": "^7.4.2",
179
+ "fuse.js": "^7.5.0",
176
180
  "hookable": "^6.1.1",
177
181
  "knitwork": "^1.3.0",
178
- "magic-string": "^0.30.21",
182
+ "magic-string": "^1.2.0",
179
183
  "mlly": "^1.8.2",
180
- "motion-v": "^2.3.0",
181
- "ohash": "^2.0.11",
184
+ "motion-v": "^2.4.0",
185
+ "ohash": "^2.0.12",
182
186
  "pathe": "^2.0.3",
183
- "reka-ui": "2.9.10",
187
+ "reka-ui": "2.10.3",
184
188
  "scule": "^1.3.0",
185
189
  "tailwind-merge": "^3.6.0",
186
190
  "tailwind-variants": "^3.2.2",
187
- "tailwindcss": "^4.3.1",
191
+ "tailwindcss": "^4.3.3",
188
192
  "tinyglobby": "^0.2.17",
189
193
  "ufo": "^1.6.4",
190
- "unplugin": "^3.0.0",
191
- "unplugin-auto-import": "^21.0.0",
194
+ "unplugin": "^3.3.0",
195
+ "unplugin-auto-import": "^21.1.0",
192
196
  "unplugin-vue-components": "^32.1.0",
193
197
  "vaul-vue": "0.4.1",
194
- "vue-component-type-helpers": "^3.3.5"
198
+ "vue-component-type-helpers": "^3.3.10"
195
199
  },
196
200
  "devDependencies": {
197
- "@nuxt/eslint-config": "^1.16.0",
198
- "@nuxt/module-builder": "^1.0.2",
199
- "@nuxt/test-utils": "^4.0.2",
200
- "@release-it/conventional-changelog": "^10.0.6",
201
+ "@codspeed/vitest-plugin": "^5.7.1",
202
+ "@nuxt/eslint-config": "^1.17.0",
203
+ "@nuxt/module-builder": "^1.0.3",
204
+ "@nuxt/test-utils": "^4.1.0",
205
+ "@release-it/conventional-changelog": "^12.0.0",
201
206
  "@tanstack/table-core": "^8.21.3",
202
- "@vitejs/plugin-vue": "^6.0.7",
207
+ "@vitejs/plugin-vue": "^6.0.8",
203
208
  "@vue/test-utils": "^2.4.11",
204
- "ai": "^6.0.205",
209
+ "ai": "^7.0.66",
205
210
  "embla-carousel": "^8.6.0",
206
- "eslint": "^10.5.0",
207
- "happy-dom": "^20.10.3",
208
- "nuxt": "^4.4.8",
209
- "release-it": "^19.2.4",
211
+ "eslint": "^10.8.1",
212
+ "happy-dom": "^20.11.2",
213
+ "nuxt": "^4.5.2",
214
+ "release-it": "^21.0.2",
210
215
  "unbuild": "^3.6.1",
211
- "vitest": "^4.1.8",
216
+ "vitest": "^4.1.10",
212
217
  "vitest-axe": "^0.1.0",
213
218
  "vitest-environment-nuxt": "^2.0.0",
214
- "vue": "^3.5.38",
215
- "vue-tsc": "^3.3.5"
219
+ "vue": "^3.5.41",
220
+ "vue-tsc": "^3.3.10"
216
221
  },
217
222
  "peerDependencies": {
218
223
  "@inertiajs/vue3": "^2.0.7 || ^3.0.0",
@@ -236,10 +241,11 @@
236
241
  "@tiptap/starter-kit": "^3",
237
242
  "@tiptap/suggestion": "^3",
238
243
  "@tiptap/vue-3": "^3",
244
+ "ai": "^6 || ^7",
239
245
  "joi": "^18.0.0",
240
246
  "superstruct": "^2.0.0",
241
247
  "tailwindcss": "^4.0.0",
242
- "typescript": "^5.6.3 || ^6.0.0",
248
+ "typescript": "^5.6.3 || ^6.0.0 || ^7.0.0",
243
249
  "valibot": "^1.0.0",
244
250
  "vue-router": "^4.5.0 || ^5.0.0",
245
251
  "yup": "^1.7.0",
@@ -258,6 +264,9 @@
258
264
  "@nuxt/content": {
259
265
  "optional": true
260
266
  },
267
+ "ai": {
268
+ "optional": true
269
+ },
261
270
  "joi": {
262
271
  "optional": true
263
272
  },