@nuxt/ui 4.1.0 → 4.2.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 (391) hide show
  1. package/cli/templates.mjs +2 -2
  2. package/dist/module.d.mts +10 -0
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +7 -7
  5. package/dist/runtime/components/Accordion.vue +9 -8
  6. package/dist/runtime/components/Alert.vue +9 -8
  7. package/dist/runtime/components/App.d.vue.ts +1 -1
  8. package/dist/runtime/components/App.vue +2 -1
  9. package/dist/runtime/components/App.vue.d.ts +1 -1
  10. package/dist/runtime/components/AuthForm.d.vue.ts +9 -8
  11. package/dist/runtime/components/AuthForm.vue +28 -20
  12. package/dist/runtime/components/AuthForm.vue.d.ts +9 -8
  13. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  14. package/dist/runtime/components/Avatar.vue +4 -2
  15. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  16. package/dist/runtime/components/AvatarGroup.vue +3 -3
  17. package/dist/runtime/components/Badge.vue +5 -5
  18. package/dist/runtime/components/Banner.vue +9 -8
  19. package/dist/runtime/components/BlogPost.vue +19 -10
  20. package/dist/runtime/components/Breadcrumb.vue +9 -9
  21. package/dist/runtime/components/Button.vue +6 -4
  22. package/dist/runtime/components/Calendar.vue +12 -8
  23. package/dist/runtime/components/Card.vue +4 -4
  24. package/dist/runtime/components/Carousel.vue +10 -5
  25. package/dist/runtime/components/ChangelogVersion.vue +22 -14
  26. package/dist/runtime/components/ChangelogVersions.vue +4 -4
  27. package/dist/runtime/components/ChatMessage.vue +7 -7
  28. package/dist/runtime/components/ChatMessages.vue +4 -2
  29. package/dist/runtime/components/ChatPalette.vue +3 -3
  30. package/dist/runtime/components/ChatPrompt.d.vue.ts +3 -6
  31. package/dist/runtime/components/ChatPrompt.vue +23 -14
  32. package/dist/runtime/components/ChatPrompt.vue.d.ts +3 -6
  33. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +4 -4
  34. package/dist/runtime/components/ChatPromptSubmit.vue +51 -4
  35. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +4 -4
  36. package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
  37. package/dist/runtime/components/Checkbox.vue +9 -8
  38. package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
  39. package/dist/runtime/components/CheckboxGroup.vue +7 -4
  40. package/dist/runtime/components/Chip.vue +2 -2
  41. package/dist/runtime/components/Collapsible.vue +2 -2
  42. package/dist/runtime/components/ColorPicker.vue +7 -3
  43. package/dist/runtime/components/CommandPalette.vue +62 -37
  44. package/dist/runtime/components/ContextMenuContent.vue +19 -17
  45. package/dist/runtime/components/DashboardNavbar.vue +7 -6
  46. package/dist/runtime/components/DashboardPanel.vue +3 -1
  47. package/dist/runtime/components/DashboardSearch.vue +2 -1
  48. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -3
  49. package/dist/runtime/components/DashboardSearchButton.vue +47 -9
  50. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -3
  51. package/dist/runtime/components/DashboardSidebar.vue +9 -6
  52. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +7 -4
  53. package/dist/runtime/components/DashboardSidebarCollapse.vue +51 -7
  54. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +7 -4
  55. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +7 -4
  56. package/dist/runtime/components/DashboardSidebarToggle.vue +52 -7
  57. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +7 -4
  58. package/dist/runtime/components/DashboardToolbar.vue +3 -3
  59. package/dist/runtime/components/Drawer.d.vue.ts +1 -1
  60. package/dist/runtime/components/Drawer.vue +9 -9
  61. package/dist/runtime/components/Drawer.vue.d.ts +1 -1
  62. package/dist/runtime/components/DropdownMenu.vue +1 -1
  63. package/dist/runtime/components/DropdownMenuContent.vue +19 -17
  64. package/dist/runtime/components/Empty.vue +8 -8
  65. package/dist/runtime/components/Error.d.vue.ts +1 -1
  66. package/dist/runtime/components/Error.vue +5 -5
  67. package/dist/runtime/components/Error.vue.d.ts +1 -1
  68. package/dist/runtime/components/FileUpload.d.vue.ts +8 -2
  69. package/dist/runtime/components/FileUpload.vue +34 -24
  70. package/dist/runtime/components/FileUpload.vue.d.ts +8 -2
  71. package/dist/runtime/components/Footer.vue +7 -7
  72. package/dist/runtime/components/FooterColumns.vue +11 -11
  73. package/dist/runtime/components/Form.d.vue.ts +3 -2
  74. package/dist/runtime/components/Form.vue +3 -4
  75. package/dist/runtime/components/Form.vue.d.ts +3 -2
  76. package/dist/runtime/components/FormField.vue +8 -8
  77. package/dist/runtime/components/Header.vue +9 -8
  78. package/dist/runtime/components/Input.d.vue.ts +6 -6
  79. package/dist/runtime/components/Input.vue +9 -8
  80. package/dist/runtime/components/Input.vue.d.ts +6 -6
  81. package/dist/runtime/components/InputDate.d.vue.ts +89 -0
  82. package/dist/runtime/components/InputDate.vue +161 -0
  83. package/dist/runtime/components/InputDate.vue.d.ts +89 -0
  84. package/dist/runtime/components/InputMenu.d.vue.ts +6 -127
  85. package/dist/runtime/components/InputMenu.vue +50 -42
  86. package/dist/runtime/components/InputMenu.vue.d.ts +6 -127
  87. package/dist/runtime/components/InputNumber.d.vue.ts +24 -127
  88. package/dist/runtime/components/InputNumber.vue +8 -9
  89. package/dist/runtime/components/InputNumber.vue.d.ts +24 -127
  90. package/dist/runtime/components/InputTags.d.vue.ts +5 -108
  91. package/dist/runtime/components/InputTags.vue +19 -15
  92. package/dist/runtime/components/InputTags.vue.d.ts +5 -108
  93. package/dist/runtime/components/InputTime.d.vue.ts +72 -0
  94. package/dist/runtime/components/InputTime.vue +137 -0
  95. package/dist/runtime/components/InputTime.vue.d.ts +72 -0
  96. package/dist/runtime/components/Link.d.vue.ts +4 -49
  97. package/dist/runtime/components/Link.vue +1 -0
  98. package/dist/runtime/components/Link.vue.d.ts +4 -49
  99. package/dist/runtime/components/Marquee.d.vue.ts +1 -1
  100. package/dist/runtime/components/Marquee.vue +2 -6
  101. package/dist/runtime/components/Marquee.vue.d.ts +1 -1
  102. package/dist/runtime/components/Modal.d.vue.ts +7 -2
  103. package/dist/runtime/components/Modal.vue +52 -16
  104. package/dist/runtime/components/Modal.vue.d.ts +7 -2
  105. package/dist/runtime/components/NavigationMenu.d.vue.ts +44 -9
  106. package/dist/runtime/components/NavigationMenu.vue +73 -43
  107. package/dist/runtime/components/NavigationMenu.vue.d.ts +44 -9
  108. package/dist/runtime/components/Page.vue +4 -4
  109. package/dist/runtime/components/PageAnchors.vue +8 -8
  110. package/dist/runtime/components/PageAside.vue +6 -6
  111. package/dist/runtime/components/PageCTA.vue +9 -9
  112. package/dist/runtime/components/PageCard.vue +11 -10
  113. package/dist/runtime/components/PageFeature.vue +6 -6
  114. package/dist/runtime/components/PageHeader.vue +7 -7
  115. package/dist/runtime/components/PageHero.vue +10 -10
  116. package/dist/runtime/components/PageLinks.vue +8 -8
  117. package/dist/runtime/components/PageLogos.vue +6 -3
  118. package/dist/runtime/components/PageSection.vue +13 -13
  119. package/dist/runtime/components/Pagination.d.vue.ts +2 -2
  120. package/dist/runtime/components/Pagination.vue +8 -8
  121. package/dist/runtime/components/Pagination.vue.d.ts +2 -2
  122. package/dist/runtime/components/PinInput.d.vue.ts +2 -2
  123. package/dist/runtime/components/PinInput.vue +2 -0
  124. package/dist/runtime/components/PinInput.vue.d.ts +2 -2
  125. package/dist/runtime/components/Popover.vue +2 -2
  126. package/dist/runtime/components/PricingPlan.vue +28 -21
  127. package/dist/runtime/components/PricingTable.vue +35 -31
  128. package/dist/runtime/components/Progress.d.vue.ts +1 -1
  129. package/dist/runtime/components/Progress.vue +6 -6
  130. package/dist/runtime/components/Progress.vue.d.ts +1 -1
  131. package/dist/runtime/components/RadioGroup.d.vue.ts +5 -5
  132. package/dist/runtime/components/RadioGroup.vue +13 -11
  133. package/dist/runtime/components/RadioGroup.vue.d.ts +5 -5
  134. package/dist/runtime/components/Select.d.vue.ts +5 -106
  135. package/dist/runtime/components/Select.vue +26 -23
  136. package/dist/runtime/components/Select.vue.d.ts +5 -106
  137. package/dist/runtime/components/SelectMenu.d.vue.ts +6 -105
  138. package/dist/runtime/components/SelectMenu.vue +54 -40
  139. package/dist/runtime/components/SelectMenu.vue.d.ts +6 -105
  140. package/dist/runtime/components/Separator.vue +7 -7
  141. package/dist/runtime/components/Slideover.d.vue.ts +2 -2
  142. package/dist/runtime/components/Slideover.vue +9 -7
  143. package/dist/runtime/components/Slideover.vue.d.ts +2 -2
  144. package/dist/runtime/components/Slider.vue +5 -4
  145. package/dist/runtime/components/Stepper.vue +12 -10
  146. package/dist/runtime/components/Switch.d.vue.ts +2 -1
  147. package/dist/runtime/components/Switch.vue +10 -9
  148. package/dist/runtime/components/Switch.vue.d.ts +2 -1
  149. package/dist/runtime/components/Table.d.vue.ts +7 -6
  150. package/dist/runtime/components/Table.vue +37 -18
  151. package/dist/runtime/components/Table.vue.d.ts +7 -6
  152. package/dist/runtime/components/Tabs.vue +10 -7
  153. package/dist/runtime/components/Textarea.d.vue.ts +6 -5
  154. package/dist/runtime/components/Textarea.vue +9 -8
  155. package/dist/runtime/components/Textarea.vue.d.ts +6 -5
  156. package/dist/runtime/components/Timeline.vue +16 -7
  157. package/dist/runtime/components/Toast.vue +15 -12
  158. package/dist/runtime/components/Toaster.d.vue.ts +1 -1
  159. package/dist/runtime/components/Toaster.vue +2 -0
  160. package/dist/runtime/components/Toaster.vue.d.ts +1 -1
  161. package/dist/runtime/components/Tooltip.vue +4 -4
  162. package/dist/runtime/components/Tree.d.vue.ts +1 -1
  163. package/dist/runtime/components/Tree.vue +18 -11
  164. package/dist/runtime/components/Tree.vue.d.ts +1 -1
  165. package/dist/runtime/components/User.vue +13 -6
  166. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +3 -3
  167. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +16 -4
  168. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +3 -3
  169. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +6 -13
  170. package/dist/runtime/components/color-mode/ColorModeButton.vue +59 -18
  171. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +6 -13
  172. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +4 -3
  173. package/dist/runtime/components/color-mode/ColorModeImage.vue +4 -0
  174. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +4 -3
  175. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
  176. package/dist/runtime/components/color-mode/ColorModeSelect.vue +45 -5
  177. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
  178. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +2 -2
  179. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +29 -5
  180. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +2 -2
  181. package/dist/runtime/components/content/ContentNavigation.vue +13 -12
  182. package/dist/runtime/components/content/ContentSearch.vue +60 -65
  183. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -3
  184. package/dist/runtime/components/content/ContentSearchButton.vue +47 -9
  185. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -3
  186. package/dist/runtime/components/content/ContentSurround.vue +6 -6
  187. package/dist/runtime/components/content/ContentToc.vue +15 -15
  188. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +10 -6
  189. package/dist/runtime/components/locale/LocaleSelect.vue +54 -6
  190. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +10 -6
  191. package/dist/runtime/composables/index.d.ts +8 -0
  192. package/dist/runtime/composables/index.js +8 -0
  193. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  194. package/dist/runtime/composables/useContentSearch.d.ts +5 -0
  195. package/dist/runtime/composables/useContentSearch.js +31 -1
  196. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  197. package/dist/runtime/composables/useFileUpload.d.ts +2 -1
  198. package/dist/runtime/composables/useFileUpload.js +13 -4
  199. package/dist/runtime/composables/useFormField.d.ts +1 -1
  200. package/dist/runtime/index.css +1 -1
  201. package/dist/runtime/inertia/components/Link.d.vue.ts +17 -10
  202. package/dist/runtime/inertia/components/Link.vue +7 -6
  203. package/dist/runtime/inertia/components/Link.vue.d.ts +17 -10
  204. package/dist/runtime/inertia/stubs.js +1 -1
  205. package/dist/runtime/keyframes.css +1 -1
  206. package/dist/runtime/locale/gl.d.ts +3 -0
  207. package/dist/runtime/locale/gl.js +129 -0
  208. package/dist/runtime/locale/index.d.ts +2 -0
  209. package/dist/runtime/locale/index.js +2 -0
  210. package/dist/runtime/locale/sq.d.ts +3 -0
  211. package/dist/runtime/locale/sq.js +129 -0
  212. package/dist/runtime/plugins/colors.js +8 -6
  213. package/dist/runtime/types/html.d.ts +8 -0
  214. package/dist/runtime/types/html.js +0 -0
  215. package/dist/runtime/types/index.d.ts +5 -0
  216. package/dist/runtime/types/index.js +5 -0
  217. package/dist/runtime/types/input.d.ts +5 -5
  218. package/dist/runtime/types/utils.d.ts +2 -0
  219. package/dist/runtime/utils/content.d.ts +2 -2
  220. package/dist/runtime/utils/link.d.ts +1 -0
  221. package/dist/runtime/utils/link.js +40 -24
  222. package/dist/runtime/utils/virtualizer.d.ts +6 -0
  223. package/dist/runtime/utils/virtualizer.js +30 -0
  224. package/dist/runtime/vue/components/Link.d.vue.ts +8 -37
  225. package/dist/runtime/vue/components/Link.vue +5 -10
  226. package/dist/runtime/vue/components/Link.vue.d.ts +8 -37
  227. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
  228. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +44 -3
  229. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
  230. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  231. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +24 -3
  232. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  233. package/dist/runtime/vue/stubs.d.ts +1 -1
  234. package/dist/runtime/vue/stubs.js +1 -1
  235. package/dist/shared/{ui.Cmctwxv6.mjs → ui.B77q-Dvh.mjs} +397 -153
  236. package/dist/unplugin.d.mts +1 -0
  237. package/dist/unplugin.mjs +31 -3
  238. package/dist/vite.mjs +5 -3
  239. package/package.json +39 -34
  240. package/.nuxt/ui/accordion.ts +0 -20
  241. package/.nuxt/ui/alert.ts +0 -264
  242. package/.nuxt/ui/auth-form.ts +0 -20
  243. package/.nuxt/ui/avatar-group.ts +0 -52
  244. package/.nuxt/ui/avatar.ts +0 -54
  245. package/.nuxt/ui/badge.ts +0 -263
  246. package/.nuxt/ui/banner.ts +0 -108
  247. package/.nuxt/ui/blog-post.ts +0 -142
  248. package/.nuxt/ui/blog-posts.ts +0 -9
  249. package/.nuxt/ui/breadcrumb.ts +0 -45
  250. package/.nuxt/ui/button.ts +0 -378
  251. package/.nuxt/ui/calendar.ts +0 -315
  252. package/.nuxt/ui/card.ts +0 -34
  253. package/.nuxt/ui/carousel.ts +0 -38
  254. package/.nuxt/ui/changelog-version.ts +0 -41
  255. package/.nuxt/ui/changelog-versions.ts +0 -8
  256. package/.nuxt/ui/chat-message.ts +0 -136
  257. package/.nuxt/ui/chat-messages.ts +0 -14
  258. package/.nuxt/ui/chat-palette.ts +0 -8
  259. package/.nuxt/ui/chat-prompt-submit.ts +0 -5
  260. package/.nuxt/ui/chat-prompt.ts +0 -35
  261. package/.nuxt/ui/checkbox-group.ts +0 -204
  262. package/.nuxt/ui/checkbox.ts +0 -236
  263. package/.nuxt/ui/chip.ts +0 -96
  264. package/.nuxt/ui/collapsible.ts +0 -6
  265. package/.nuxt/ui/color-picker.ts +0 -47
  266. package/.nuxt/ui/command-palette.ts +0 -62
  267. package/.nuxt/ui/container.ts +0 -3
  268. package/.nuxt/ui/content/content-navigation.ts +0 -368
  269. package/.nuxt/ui/content/content-search-button.ts +0 -6
  270. package/.nuxt/ui/content/content-search.ts +0 -13
  271. package/.nuxt/ui/content/content-surround.ts +0 -34
  272. package/.nuxt/ui/content/content-toc.ts +0 -155
  273. package/.nuxt/ui/context-menu.ts +0 -219
  274. package/.nuxt/ui/dashboard-group.ts +0 -3
  275. package/.nuxt/ui/dashboard-navbar.ts +0 -21
  276. package/.nuxt/ui/dashboard-panel.ts +0 -17
  277. package/.nuxt/ui/dashboard-resize-handle.ts +0 -3
  278. package/.nuxt/ui/dashboard-search-button.ts +0 -6
  279. package/.nuxt/ui/dashboard-search.ts +0 -13
  280. package/.nuxt/ui/dashboard-sidebar-collapse.ts +0 -9
  281. package/.nuxt/ui/dashboard-sidebar-toggle.ts +0 -9
  282. package/.nuxt/ui/dashboard-sidebar.ts +0 -37
  283. package/.nuxt/ui/dashboard-toolbar.ts +0 -7
  284. package/.nuxt/ui/drawer.ts +0 -149
  285. package/.nuxt/ui/dropdown-menu.ts +0 -220
  286. package/.nuxt/ui/empty.ts +0 -83
  287. package/.nuxt/ui/error.ts +0 -9
  288. package/.nuxt/ui/field-group.ts +0 -16
  289. package/.nuxt/ui/file-upload.ts +0 -290
  290. package/.nuxt/ui/footer-columns.ts +0 -28
  291. package/.nuxt/ui/footer.ts +0 -11
  292. package/.nuxt/ui/form-field.ts +0 -48
  293. package/.nuxt/ui/form.ts +0 -3
  294. package/.nuxt/ui/header.ts +0 -25
  295. package/.nuxt/ui/index.ts +0 -106
  296. package/.nuxt/ui/input-menu.ts +0 -460
  297. package/.nuxt/ui/input-number.ts +0 -256
  298. package/.nuxt/ui/input-tags.ts +0 -310
  299. package/.nuxt/ui/input.ts +0 -289
  300. package/.nuxt/ui/kbd.ts +0 -195
  301. package/.nuxt/ui/link.ts +0 -22
  302. package/.nuxt/ui/main.ts +0 -3
  303. package/.nuxt/ui/marquee.ts +0 -66
  304. package/.nuxt/ui/modal.ts +0 -29
  305. package/.nuxt/ui/navigation-menu.ts +0 -510
  306. package/.nuxt/ui/page-anchors.ts +0 -30
  307. package/.nuxt/ui/page-aside.ts +0 -10
  308. package/.nuxt/ui/page-body.ts +0 -3
  309. package/.nuxt/ui/page-card.ts +0 -279
  310. package/.nuxt/ui/page-columns.ts +0 -3
  311. package/.nuxt/ui/page-cta.ts +0 -70
  312. package/.nuxt/ui/page-feature.ts +0 -26
  313. package/.nuxt/ui/page-grid.ts +0 -3
  314. package/.nuxt/ui/page-header.ts +0 -18
  315. package/.nuxt/ui/page-hero.ts +0 -44
  316. package/.nuxt/ui/page-links.ts +0 -25
  317. package/.nuxt/ui/page-list.ts +0 -8
  318. package/.nuxt/ui/page-logos.ts +0 -15
  319. package/.nuxt/ui/page-section.ts +0 -84
  320. package/.nuxt/ui/page.ts +0 -32
  321. package/.nuxt/ui/pagination.ts +0 -13
  322. package/.nuxt/ui/pin-input.ts +0 -171
  323. package/.nuxt/ui/popover.ts +0 -6
  324. package/.nuxt/ui/pricing-plan.ts +0 -101
  325. package/.nuxt/ui/pricing-plans.ts +0 -22
  326. package/.nuxt/ui/pricing-table.ts +0 -51
  327. package/.nuxt/ui/progress.ts +0 -297
  328. package/.nuxt/ui/prose/a.ts +0 -6
  329. package/.nuxt/ui/prose/accordion-item.ts +0 -3
  330. package/.nuxt/ui/prose/accordion.ts +0 -6
  331. package/.nuxt/ui/prose/badge.ts +0 -3
  332. package/.nuxt/ui/prose/blockquote.ts +0 -3
  333. package/.nuxt/ui/prose/callout.ts +0 -129
  334. package/.nuxt/ui/prose/card-group.ts +0 -3
  335. package/.nuxt/ui/prose/card.ts +0 -119
  336. package/.nuxt/ui/prose/code-collapse.ts +0 -19
  337. package/.nuxt/ui/prose/code-group.ts +0 -13
  338. package/.nuxt/ui/prose/code-icon.ts +0 -66
  339. package/.nuxt/ui/prose/code-preview.ts +0 -14
  340. package/.nuxt/ui/prose/code-tree.ts +0 -28
  341. package/.nuxt/ui/prose/code.ts +0 -27
  342. package/.nuxt/ui/prose/collapsible.ts +0 -12
  343. package/.nuxt/ui/prose/em.ts +0 -3
  344. package/.nuxt/ui/prose/field-group.ts +0 -3
  345. package/.nuxt/ui/prose/field.ts +0 -11
  346. package/.nuxt/ui/prose/h1.ts +0 -6
  347. package/.nuxt/ui/prose/h2.ts +0 -14
  348. package/.nuxt/ui/prose/h3.ts +0 -14
  349. package/.nuxt/ui/prose/h4.ts +0 -6
  350. package/.nuxt/ui/prose/hr.ts +0 -3
  351. package/.nuxt/ui/prose/icon.ts +0 -3
  352. package/.nuxt/ui/prose/img.ts +0 -23
  353. package/.nuxt/ui/prose/index.ts +0 -41
  354. package/.nuxt/ui/prose/kbd.ts +0 -3
  355. package/.nuxt/ui/prose/li.ts +0 -3
  356. package/.nuxt/ui/prose/ol.ts +0 -3
  357. package/.nuxt/ui/prose/p.ts +0 -3
  358. package/.nuxt/ui/prose/pre.ts +0 -17
  359. package/.nuxt/ui/prose/steps.ts +0 -19
  360. package/.nuxt/ui/prose/strong.ts +0 -3
  361. package/.nuxt/ui/prose/table.ts +0 -6
  362. package/.nuxt/ui/prose/tabs-item.ts +0 -3
  363. package/.nuxt/ui/prose/tabs.ts +0 -5
  364. package/.nuxt/ui/prose/tbody.ts +0 -3
  365. package/.nuxt/ui/prose/td.ts +0 -3
  366. package/.nuxt/ui/prose/th.ts +0 -3
  367. package/.nuxt/ui/prose/thead.ts +0 -3
  368. package/.nuxt/ui/prose/tr.ts +0 -3
  369. package/.nuxt/ui/prose/ul.ts +0 -3
  370. package/.nuxt/ui/radio-group.ts +0 -350
  371. package/.nuxt/ui/select-menu.ts +0 -361
  372. package/.nuxt/ui/select.ts +0 -348
  373. package/.nuxt/ui/separator.ts +0 -172
  374. package/.nuxt/ui/skeleton.ts +0 -3
  375. package/.nuxt/ui/slideover.ts +0 -71
  376. package/.nuxt/ui/slider.ts +0 -171
  377. package/.nuxt/ui/stepper.ts +0 -202
  378. package/.nuxt/ui/switch.ts +0 -131
  379. package/.nuxt/ui/table.ts +0 -162
  380. package/.nuxt/ui/tabs.ts +0 -258
  381. package/.nuxt/ui/textarea.ts +0 -294
  382. package/.nuxt/ui/timeline.ts +0 -321
  383. package/.nuxt/ui/toast.ts +0 -74
  384. package/.nuxt/ui/toaster.ts +0 -91
  385. package/.nuxt/ui/tooltip.ts +0 -9
  386. package/.nuxt/ui/tree.ts +0 -168
  387. package/.nuxt/ui/user.ts +0 -101
  388. package/.nuxt/ui.css +0 -146
  389. package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +0 -17
  390. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +0 -35
  391. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +0 -17
@@ -1,12 +1,12 @@
1
1
  import { pick } from '../../dist/runtime/utils/index.js';
2
2
  import 'node:url';
3
- import { readFile } from 'node:fs/promises';
4
- import { join } from 'pathe';
5
- import { globSync } from 'tinyglobby';
6
- import { kebabCase, camelCase, pascalCase } from 'scule';
3
+ import { pascalCase, kebabCase, camelCase } from 'scule';
7
4
  import { genExport } from 'knitwork';
8
5
  import colors from 'tailwindcss/colors';
9
6
  import { addTypeTemplate, addTemplate, updateTemplates, hasNuxtModule, logger } from '@nuxt/kit';
7
+ import { readFile } from 'node:fs/promises';
8
+ import { join } from 'pathe';
9
+ import { globSync } from 'tinyglobby';
10
10
  import { defuFn, defu } from 'defu';
11
11
 
12
12
  const icons = {
@@ -53,32 +53,173 @@ const icons = {
53
53
  warning: "i-lucide-triangle-alert"
54
54
  };
55
55
 
56
- const getDefaultUiConfig = (colors) => ({
57
- colors: pick({
58
- primary: "green",
59
- secondary: "blue",
60
- success: "green",
61
- info: "blue",
62
- warning: "yellow",
63
- error: "red",
64
- neutral: "slate"
65
- }, [...colors || [], "neutral"]),
66
- icons
67
- });
56
+ function resolveColors(colors) {
57
+ return colors?.length ? [.../* @__PURE__ */ new Set(["primary", ...colors])] : ["primary", "secondary", "success", "info", "warning", "error"];
58
+ }
59
+ function getDefaultConfig(theme) {
60
+ return {
61
+ colors: pick({
62
+ primary: "green",
63
+ secondary: "blue",
64
+ success: "green",
65
+ info: "blue",
66
+ warning: "yellow",
67
+ error: "red",
68
+ neutral: "slate"
69
+ }, [...theme?.colors || [], "neutral"]),
70
+ icons,
71
+ prefix: theme?.prefix,
72
+ tv: {
73
+ twMergeConfig: {
74
+ prefix: theme?.prefix
75
+ }
76
+ }
77
+ };
78
+ }
68
79
  const defaultOptions = {
69
80
  prefix: "U",
70
81
  fonts: true,
71
82
  colorMode: true,
72
83
  theme: {
73
84
  colors: void 0,
74
- transitions: true
85
+ transitions: true,
86
+ defaultVariants: {
87
+ color: void 0,
88
+ size: void 0
89
+ },
90
+ prefix: void 0
75
91
  },
76
92
  mdc: false,
77
93
  content: false
78
94
  };
79
- const resolveColors = (colors) => {
80
- return colors?.length ? [.../* @__PURE__ */ new Set(["primary", ...colors])] : ["primary", "secondary", "success", "info", "warning", "error"];
81
- };
95
+
96
+ function prefixClasses(classString, prefix) {
97
+ if (!prefix || !classString) {
98
+ return classString;
99
+ }
100
+ return classString.split(" ").filter(Boolean).map((cls) => `${prefix}:${cls}`).join(" ");
101
+ }
102
+ function isSizeValue(value) {
103
+ return /^(?:[23]x[sl]|xs|sm|md|lg|xl)$/.test(value.trim());
104
+ }
105
+ function applyPrefixToObject(obj, prefix, context = []) {
106
+ if (!obj || !prefix) {
107
+ return obj;
108
+ }
109
+ const currentKey = context[context.length - 1];
110
+ const compoundVariantsIndex = context.indexOf("compoundVariants");
111
+ const isInCompoundVariant = compoundVariantsIndex !== -1 && !context.slice(compoundVariantsIndex).includes("class");
112
+ const isInDefaultVariants = context.includes("defaultVariants");
113
+ const isComponentSizeValue = typeof obj === "string" && typeof currentKey === "string" && currentKey.endsWith("Size") && isSizeValue(obj);
114
+ if (typeof obj === "string" && (isInCompoundVariant || isInDefaultVariants || isComponentSizeValue)) {
115
+ return obj;
116
+ }
117
+ if (typeof obj === "string") {
118
+ return prefixClasses(obj, prefix);
119
+ }
120
+ if (Array.isArray(obj)) {
121
+ return obj.map((item, index) => applyPrefixToObject(item, prefix, [...context, String(index)]));
122
+ }
123
+ if (typeof obj === "object") {
124
+ const result = {};
125
+ for (const [key, value] of Object.entries(obj)) {
126
+ result[key] = applyPrefixToObject(value, prefix, [...context, key]);
127
+ }
128
+ return result;
129
+ }
130
+ return obj;
131
+ }
132
+ function applyDefaultVariants(result, defaultVariants) {
133
+ if (!result || !defaultVariants) {
134
+ return result;
135
+ }
136
+ if (result.defaultVariants?.color && defaultVariants.color) {
137
+ result.defaultVariants.color = defaultVariants.color;
138
+ }
139
+ if (result.defaultVariants?.size && defaultVariants.size) {
140
+ result.defaultVariants.size = defaultVariants.size;
141
+ }
142
+ return result;
143
+ }
144
+
145
+ async function buildComponentDependencyGraph(componentDir, componentPattern) {
146
+ const dependencyGraph = /* @__PURE__ */ new Map();
147
+ const componentFiles = globSync(["**/*.vue"], {
148
+ cwd: componentDir,
149
+ absolute: true
150
+ });
151
+ for (const componentFile of componentFiles) {
152
+ try {
153
+ const content = await readFile(componentFile, "utf-8");
154
+ const componentName = pascalCase(componentFile.split("/").pop().replace(".vue", ""));
155
+ const dependencies = /* @__PURE__ */ new Set();
156
+ const matches = content.matchAll(componentPattern);
157
+ for (const match of matches) {
158
+ const depName = match[1] || match[2];
159
+ if (depName && depName !== componentName) {
160
+ dependencies.add(depName);
161
+ }
162
+ }
163
+ dependencyGraph.set(componentName, dependencies);
164
+ } catch {
165
+ }
166
+ }
167
+ return dependencyGraph;
168
+ }
169
+ function resolveComponentDependencies(component, dependencyGraph, resolved = /* @__PURE__ */ new Set()) {
170
+ if (resolved.has(component)) {
171
+ return resolved;
172
+ }
173
+ resolved.add(component);
174
+ const dependencies = dependencyGraph.get(component);
175
+ if (dependencies) {
176
+ for (const dep of dependencies) {
177
+ resolveComponentDependencies(dep, dependencyGraph, resolved);
178
+ }
179
+ }
180
+ return resolved;
181
+ }
182
+ async function detectUsedComponents(dirs, prefix, componentDir, includeComponents) {
183
+ const detectedComponents = /* @__PURE__ */ new Set();
184
+ if (includeComponents && includeComponents.length > 0) {
185
+ for (const component of includeComponents) {
186
+ detectedComponents.add(component);
187
+ }
188
+ }
189
+ const componentPattern = new RegExp(`<(?:Lazy)?${prefix}([A-Z][a-zA-Z]+)|\\b(?:Lazy)?${prefix}([A-Z][a-zA-Z]+)\\b`, "g");
190
+ for (const dir of dirs) {
191
+ const appFiles = globSync(["**/*.{vue,ts,js,tsx,jsx}"], {
192
+ cwd: dir,
193
+ ignore: ["node_modules/**", ".nuxt/**", "dist/**"]
194
+ });
195
+ for (const file of appFiles) {
196
+ try {
197
+ const filePath = join(dir, file);
198
+ const content = await readFile(filePath, "utf-8");
199
+ const matches = content.matchAll(componentPattern);
200
+ for (const match of matches) {
201
+ const componentName = match[1] || match[2];
202
+ if (componentName) {
203
+ detectedComponents.add(componentName);
204
+ }
205
+ }
206
+ } catch {
207
+ }
208
+ }
209
+ }
210
+ if (detectedComponents.size === 0) {
211
+ return void 0;
212
+ }
213
+ const dependencyGraph = await buildComponentDependencyGraph(componentDir, componentPattern);
214
+ const allComponents = /* @__PURE__ */ new Set();
215
+ for (const component of detectedComponents) {
216
+ const resolved = resolveComponentDependencies(component, dependencyGraph);
217
+ for (const resolvedComponent of resolved) {
218
+ allComponents.add(resolvedComponent);
219
+ }
220
+ }
221
+ return allComponents;
222
+ }
82
223
 
83
224
  const accordion$1 = {
84
225
  slots: {
@@ -1309,9 +1450,10 @@ const checkbox = (options) => ({
1309
1450
  },
1310
1451
  disabled: {
1311
1452
  true: {
1312
- base: "cursor-not-allowed opacity-75",
1313
- label: "cursor-not-allowed opacity-75",
1314
- description: "cursor-not-allowed opacity-75"
1453
+ root: "opacity-75",
1454
+ base: "cursor-not-allowed",
1455
+ label: "cursor-not-allowed",
1456
+ description: "cursor-not-allowed"
1315
1457
  }
1316
1458
  },
1317
1459
  checked: {
@@ -1342,7 +1484,7 @@ const checkbox = (options) => ({
1342
1484
  variant: "card",
1343
1485
  disabled: true,
1344
1486
  class: {
1345
- root: "cursor-not-allowed opacity-75"
1487
+ root: "cursor-not-allowed"
1346
1488
  }
1347
1489
  }
1348
1490
  ],
@@ -1407,6 +1549,9 @@ const checkboxGroup = (options) => ({
1407
1549
  true: {
1408
1550
  legend: "after:content-['*'] after:ms-0.5 after:text-error"
1409
1551
  }
1552
+ },
1553
+ disabled: {
1554
+ true: {}
1410
1555
  }
1411
1556
  },
1412
1557
  compoundVariants: [
@@ -1449,7 +1594,7 @@ const checkboxGroup = (options) => ({
1449
1594
  variant: "table",
1450
1595
  disabled: true,
1451
1596
  class: {
1452
- item: "cursor-not-allowed opacity-75"
1597
+ item: "cursor-not-allowed"
1453
1598
  }
1454
1599
  }
1455
1600
  ],
@@ -1531,9 +1676,9 @@ const colorPicker = {
1531
1676
  picker: "flex gap-4",
1532
1677
  selector: "rounded-md touch-none",
1533
1678
  selectorBackground: "w-full h-full relative rounded-md",
1534
- selectorThumb: "-translate-y-1/2 -translate-x-1/2 absolute size-4 ring-2 ring-(--color-white) rounded-full cursor-pointer data-[disabled]:cursor-not-allowed",
1679
+ selectorThumb: "-translate-y-1/2 -translate-x-1/2 absolute size-4 ring-2 ring-white rounded-full cursor-pointer data-[disabled]:cursor-not-allowed",
1535
1680
  track: "w-[8px] relative rounded-md touch-none",
1536
- trackThumb: "absolute transform -translate-y-1/2 -translate-x-[4px] rtl:translate-x-[4px] size-4 rounded-full ring-2 ring-(--color-white) cursor-pointer data-[disabled]:cursor-not-allowed"
1681
+ trackThumb: "absolute transform -translate-y-1/2 -translate-x-[4px] rtl:translate-x-[4px] size-4 rounded-full ring-2 ring-white cursor-pointer data-[disabled]:cursor-not-allowed"
1537
1682
  },
1538
1683
  variants: {
1539
1684
  size: {
@@ -1799,7 +1944,16 @@ const dashboardSearch = {
1799
1944
  const dashboardSearchButton = {
1800
1945
  slots: {
1801
1946
  base: "",
1947
+ label: "",
1802
1948
  trailing: "hidden lg:flex items-center gap-0.5 ms-auto"
1949
+ },
1950
+ variants: {
1951
+ collapsed: {
1952
+ true: {
1953
+ label: "hidden",
1954
+ trailing: "lg:hidden"
1955
+ }
1956
+ }
1803
1957
  }
1804
1958
  };
1805
1959
 
@@ -2634,6 +2788,67 @@ const input = (options) => ({
2634
2788
  }
2635
2789
  });
2636
2790
 
2791
+ const inputDate = (options) => {
2792
+ return defuFn({
2793
+ slots: {
2794
+ root: () => void 0,
2795
+ base: () => ["group relative inline-flex items-center rounded-md select-none", options.theme.transitions && "transition-colors"],
2796
+ segment: ["rounded text-center outline-hidden data-placeholder:text-dimmed data-[segment=literal]:text-muted data-invalid:text-error data-disabled:cursor-not-allowed data-disabled:opacity-75", options.theme.transitions && "transition-colors"],
2797
+ separatorIcon: "shrink-0 size-4 text-muted"
2798
+ },
2799
+ variants: {
2800
+ size: {
2801
+ xs: {
2802
+ base: (prev) => [prev, "gap-0.25"],
2803
+ segment: "data-[segment=day]:w-6 data-[segment=month]:w-6 data-[segment=year]:w-9"
2804
+ },
2805
+ sm: {
2806
+ base: (prev) => [prev, "gap-0.5"],
2807
+ segment: "data-[segment=day]:w-6 data-[segment=month]:w-6 data-[segment=year]:w-9"
2808
+ },
2809
+ md: {
2810
+ base: (prev) => [prev, "gap-0.5"],
2811
+ segment: "data-[segment=day]:w-7 data-[segment=month]:w-7 data-[segment=year]:w-11"
2812
+ },
2813
+ lg: {
2814
+ base: (prev) => [prev, "gap-0.75"],
2815
+ segment: "data-[segment=day]:w-7 data-[segment=month]:w-7 data-[segment=year]:w-11"
2816
+ },
2817
+ xl: {
2818
+ base: (prev) => [prev, "gap-0.75"],
2819
+ segment: "data-[segment=day]:w-8 data-[segment=month]:w-8 data-[segment=year]:w-13"
2820
+ }
2821
+ }
2822
+ },
2823
+ compoundVariants: [{
2824
+ variant: "outline",
2825
+ class: {
2826
+ segment: "focus:bg-elevated"
2827
+ }
2828
+ }, {
2829
+ variant: "soft",
2830
+ class: {
2831
+ segment: "focus:bg-accented/50 group-hover:focus:bg-accented"
2832
+ }
2833
+ }, {
2834
+ variant: "subtle",
2835
+ class: {
2836
+ segment: "focus:bg-accented"
2837
+ }
2838
+ }, {
2839
+ variant: "ghost",
2840
+ class: {
2841
+ segment: "focus:bg-elevated group-hover:focus:bg-accented"
2842
+ }
2843
+ }, {
2844
+ variant: "none",
2845
+ class: {
2846
+ segment: "focus:bg-elevated"
2847
+ }
2848
+ }]
2849
+ }, input(options));
2850
+ };
2851
+
2637
2852
  const inputMenu = (options) => {
2638
2853
  return defuFn({
2639
2854
  slots: {
@@ -2934,6 +3149,66 @@ function replaceFocus$2(str) {
2934
3149
  return str.replace(/focus:/g, "has-focus:").replace(/focus-visible:/g, "has-focus-visible:");
2935
3150
  }
2936
3151
 
3152
+ const inputTime = (options) => {
3153
+ return defuFn({
3154
+ slots: {
3155
+ root: () => void 0,
3156
+ base: () => ["group relative inline-flex items-center rounded-md select-none", options.theme.transitions && "transition-colors"],
3157
+ segment: ["rounded text-center outline-hidden data-placeholder:text-dimmed data-[segment=literal]:text-muted data-invalid:text-error data-disabled:cursor-not-allowed data-disabled:opacity-75", options.theme.transitions && "transition-colors"]
3158
+ },
3159
+ variants: {
3160
+ size: {
3161
+ xs: {
3162
+ base: (prev) => [prev, "gap-0.25"],
3163
+ segment: "not-data-[segment=literal]:w-6"
3164
+ },
3165
+ sm: {
3166
+ base: (prev) => [prev, "gap-0.5"],
3167
+ segment: "not-data-[segment=literal]:w-6"
3168
+ },
3169
+ md: {
3170
+ base: (prev) => [prev, "gap-0.5"],
3171
+ segment: "not-data-[segment=literal]:w-7"
3172
+ },
3173
+ lg: {
3174
+ base: (prev) => [prev, "gap-0.75"],
3175
+ segment: "not-data-[segment=literal]:w-7"
3176
+ },
3177
+ xl: {
3178
+ base: (prev) => [prev, "gap-0.75"],
3179
+ segment: "not-data-[segment=literal]:w-8"
3180
+ }
3181
+ }
3182
+ },
3183
+ compoundVariants: [{
3184
+ variant: "outline",
3185
+ class: {
3186
+ segment: "focus:bg-elevated"
3187
+ }
3188
+ }, {
3189
+ variant: "soft",
3190
+ class: {
3191
+ segment: "focus:bg-accented/50 group-hover:focus:bg-accented"
3192
+ }
3193
+ }, {
3194
+ variant: "subtle",
3195
+ class: {
3196
+ segment: "focus:bg-accented"
3197
+ }
3198
+ }, {
3199
+ variant: "ghost",
3200
+ class: {
3201
+ segment: "focus:bg-elevated group-hover:focus:bg-accented"
3202
+ }
3203
+ }, {
3204
+ variant: "none",
3205
+ class: {
3206
+ segment: "focus:bg-elevated"
3207
+ }
3208
+ }]
3209
+ }, input(options));
3210
+ };
3211
+
2937
3212
  const kbd$1 = (options) => ({
2938
3213
  base: "inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase",
2939
3214
  variants: {
@@ -3074,11 +3349,11 @@ const marquee = {
3074
3349
 
3075
3350
  const modal = {
3076
3351
  slots: {
3077
- overlay: "fixed inset-0 bg-elevated/75",
3078
- content: "fixed bg-default divide-y divide-default flex flex-col focus:outline-none",
3352
+ overlay: "fixed inset-0",
3353
+ content: "bg-default divide-y divide-default flex flex-col focus:outline-none",
3079
3354
  header: "flex items-center gap-1.5 p-4 sm:px-6 min-h-16",
3080
3355
  wrapper: "",
3081
- body: "flex-1 overflow-y-auto p-4 sm:p-6",
3356
+ body: "flex-1 p-4 sm:p-6",
3082
3357
  footer: "flex items-center gap-1.5 p-4 sm:px-6",
3083
3358
  title: "text-highlighted font-semibold",
3084
3359
  description: "mt-1 text-muted text-sm",
@@ -3096,10 +3371,38 @@ const modal = {
3096
3371
  content: "inset-0"
3097
3372
  },
3098
3373
  false: {
3099
- content: "top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[calc(100vw-2rem)] max-w-lg max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] rounded-lg shadow-lg ring ring-default overflow-hidden"
3374
+ content: "w-[calc(100vw-2rem)] max-w-lg rounded-lg shadow-lg ring ring-default"
3375
+ }
3376
+ },
3377
+ overlay: {
3378
+ true: {
3379
+ overlay: "bg-elevated/75"
3380
+ }
3381
+ },
3382
+ scrollable: {
3383
+ true: {
3384
+ overlay: "overflow-y-auto",
3385
+ content: "relative"
3386
+ },
3387
+ false: {
3388
+ content: "fixed",
3389
+ body: "overflow-y-auto"
3100
3390
  }
3101
3391
  }
3102
- }
3392
+ },
3393
+ compoundVariants: [{
3394
+ scrollable: true,
3395
+ fullscreen: false,
3396
+ class: {
3397
+ overlay: "grid place-items-center p-4 sm:py-8"
3398
+ }
3399
+ }, {
3400
+ scrollable: false,
3401
+ fullscreen: false,
3402
+ class: {
3403
+ content: "top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] overflow-hidden"
3404
+ }
3405
+ }]
3103
3406
  };
3104
3407
 
3105
3408
  const navigationMenu = (options) => ({
@@ -3233,6 +3536,8 @@ const navigationMenu = (options) => ({
3233
3536
  collapsed: true,
3234
3537
  class: {
3235
3538
  link: "px-1.5",
3539
+ linkLabel: "hidden",
3540
+ linkTrailing: "hidden",
3236
3541
  content: "shadow-sm rounded-sm min-h-6 p-1"
3237
3542
  }
3238
3543
  }, {
@@ -4441,8 +4746,10 @@ const radioGroup = (options) => ({
4441
4746
  },
4442
4747
  disabled: {
4443
4748
  true: {
4444
- base: "cursor-not-allowed opacity-75",
4445
- label: "cursor-not-allowed opacity-75"
4749
+ item: "opacity-75",
4750
+ base: "cursor-not-allowed",
4751
+ label: "cursor-not-allowed",
4752
+ description: "cursor-not-allowed"
4446
4753
  }
4447
4754
  },
4448
4755
  required: {
@@ -4505,7 +4812,7 @@ const radioGroup = (options) => ({
4505
4812
  variant: ["card", "table"],
4506
4813
  disabled: true,
4507
4814
  class: {
4508
- item: "cursor-not-allowed opacity-75"
4815
+ item: "cursor-not-allowed"
4509
4816
  }
4510
4817
  }
4511
4818
  ],
@@ -5113,9 +5420,10 @@ const _switch = (options) => ({
5113
5420
  },
5114
5421
  disabled: {
5115
5422
  true: {
5116
- base: "cursor-not-allowed opacity-75",
5117
- label: "cursor-not-allowed opacity-75",
5118
- description: "cursor-not-allowed opacity-75"
5423
+ root: "opacity-75",
5424
+ base: "cursor-not-allowed",
5425
+ label: "cursor-not-allowed",
5426
+ description: "cursor-not-allowed"
5119
5427
  }
5120
5428
  }
5121
5429
  },
@@ -5926,9 +6234,11 @@ const theme = {
5926
6234
  formField: formField,
5927
6235
  header: header,
5928
6236
  input: input,
6237
+ inputDate: inputDate,
5929
6238
  inputMenu: inputMenu,
5930
6239
  inputNumber: inputNumber,
5931
6240
  inputTags: inputTags,
6241
+ inputTime: inputTime,
5932
6242
  kbd: kbd$1,
5933
6243
  link: link,
5934
6244
  main: main,
@@ -6003,7 +6313,7 @@ const blockquote = {
6003
6313
  const callout = (options) => ({
6004
6314
  slots: {
6005
6315
  base: ["group relative block px-4 py-3 rounded-md text-sm/6 my-5 last:mb-0 [&_code]:text-xs/5 [&_code]:bg-default [&_pre]:bg-default [&>div]:my-2.5 [&_ul]:my-2.5 [&_ol]:my-2.5 [&>*]:last:!mb-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:my-0", options.theme.transitions && "transition-colors"],
6006
- icon: ["size-4 shrink-0 align-sub me-1.5", options.theme.transitions && "transition-colors"],
6316
+ icon: ["size-4 shrink-0 align-sub me-1.5 inline-block", options.theme.transitions && "transition-colors"],
6007
6317
  externalIcon: ["size-4 align-top absolute right-2 top-2 pointer-events-none", options.theme.transitions && "transition-colors"]
6008
6318
  },
6009
6319
  variants: {
@@ -6646,7 +6956,16 @@ const contentSearch = {
6646
6956
  const contentSearchButton = {
6647
6957
  slots: {
6648
6958
  base: "",
6959
+ label: "",
6649
6960
  trailing: "hidden lg:flex items-center gap-0.5 ms-auto"
6961
+ },
6962
+ variants: {
6963
+ collapsed: {
6964
+ true: {
6965
+ label: "hidden",
6966
+ trailing: "lg:hidden"
6967
+ }
6968
+ }
6650
6969
  }
6651
6970
  };
6652
6971
 
@@ -6751,83 +7070,6 @@ const themeContent = {
6751
7070
  contentToc: contentToc
6752
7071
  };
6753
7072
 
6754
- async function buildComponentDependencyGraph(componentDir, prefix) {
6755
- const dependencyGraph = /* @__PURE__ */ new Map();
6756
- const componentFiles = globSync(["**/*.vue"], {
6757
- cwd: componentDir,
6758
- absolute: true
6759
- });
6760
- const componentPattern = new RegExp(`<${prefix}([A-Z][a-zA-Z]+)|\\b${prefix}([A-Z][a-zA-Z]+)\\b`, "g");
6761
- for (const componentFile of componentFiles) {
6762
- try {
6763
- const content = await readFile(componentFile, "utf-8");
6764
- const componentName = pascalCase(componentFile.split("/").pop().replace(".vue", ""));
6765
- const dependencies = /* @__PURE__ */ new Set();
6766
- const matches = content.matchAll(componentPattern);
6767
- for (const match of matches) {
6768
- const depName = match[1] || match[2];
6769
- if (depName && depName !== componentName) {
6770
- dependencies.add(depName);
6771
- }
6772
- }
6773
- dependencyGraph.set(componentName, dependencies);
6774
- } catch {
6775
- }
6776
- }
6777
- return dependencyGraph;
6778
- }
6779
- function resolveComponentDependencies(component, dependencyGraph, resolved = /* @__PURE__ */ new Set()) {
6780
- if (resolved.has(component)) {
6781
- return resolved;
6782
- }
6783
- resolved.add(component);
6784
- const dependencies = dependencyGraph.get(component);
6785
- if (dependencies) {
6786
- for (const dep of dependencies) {
6787
- resolveComponentDependencies(dep, dependencyGraph, resolved);
6788
- }
6789
- }
6790
- return resolved;
6791
- }
6792
- async function detectUsedComponents(rootDir, prefix, componentDir, includeComponents) {
6793
- const detectedComponents = /* @__PURE__ */ new Set();
6794
- if (includeComponents && includeComponents.length > 0) {
6795
- for (const component of includeComponents) {
6796
- detectedComponents.add(component);
6797
- }
6798
- }
6799
- const appFiles = globSync(["**/*.{vue,ts,js,tsx,jsx}"], {
6800
- cwd: rootDir,
6801
- ignore: ["node_modules/**", ".nuxt/**", "dist/**"]
6802
- });
6803
- const componentPattern = new RegExp(`<${prefix}([A-Z][a-zA-Z]+)|\\b${prefix}([A-Z][a-zA-Z]+)\\b`, "g");
6804
- for (const file of appFiles) {
6805
- try {
6806
- const filePath = join(rootDir, file);
6807
- const content = await readFile(filePath, "utf-8");
6808
- const matches = content.matchAll(componentPattern);
6809
- for (const match of matches) {
6810
- const componentName = match[1] || match[2];
6811
- if (componentName) {
6812
- detectedComponents.add(componentName);
6813
- }
6814
- }
6815
- } catch {
6816
- }
6817
- }
6818
- if (detectedComponents.size === 0) {
6819
- return void 0;
6820
- }
6821
- const dependencyGraph = await buildComponentDependencyGraph(componentDir, prefix);
6822
- const allComponents = /* @__PURE__ */ new Set();
6823
- for (const component of detectedComponents) {
6824
- const resolved = resolveComponentDependencies(component, dependencyGraph);
6825
- for (const resolvedComponent of resolved) {
6826
- allComponents.add(resolvedComponent);
6827
- }
6828
- }
6829
- return allComponents;
6830
- }
6831
7073
  function getTemplates(options, uiConfig, nuxt, resolve) {
6832
7074
  const templates = [];
6833
7075
  let hasProse = false;
@@ -6840,13 +7082,9 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
6840
7082
  write: true,
6841
7083
  getContents: async () => {
6842
7084
  const template = theme2[component];
6843
- const result = typeof template === "function" ? template(options) : template;
6844
- if (result?.defaultVariants?.color && options.theme?.defaultVariants?.color) {
6845
- result.defaultVariants.color = options.theme.defaultVariants.color;
6846
- }
6847
- if (result?.defaultVariants?.size && options.theme?.defaultVariants?.size) {
6848
- result.defaultVariants.size = options.theme.defaultVariants.size;
6849
- }
7085
+ let result = typeof template === "function" ? template(options) : template;
7086
+ result = applyDefaultVariants(result, options.theme?.defaultVariants);
7087
+ result = applyPrefixToObject(result, options.theme?.prefix);
6850
7088
  const variants = Object.entries(result.variants || {}).filter(([_, values]) => {
6851
7089
  const keys = Object.keys(values);
6852
7090
  return keys.some((key) => key !== "true" && key !== "false");
@@ -6873,11 +7111,30 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
6873
7111
  });
6874
7112
  }
6875
7113
  }
6876
- async function getSources() {
7114
+ if (!!nuxt && (hasNuxtModule("@nuxtjs/mdc") || options.mdc || (hasNuxtModule("@nuxt/content") || options.content))) {
7115
+ hasProse = true;
7116
+ const path = "prose";
7117
+ writeThemeTemplate(themeProse, path);
7118
+ templates.push({
7119
+ filename: `ui/${path}/index.ts`,
7120
+ write: true,
7121
+ getContents: () => Object.keys(themeProse).map((component) => `export { default as ${component} } from './${kebabCase(component)}'`).join("\n")
7122
+ });
7123
+ }
7124
+ if (!!nuxt && (hasNuxtModule("@nuxt/content") || options.content)) {
7125
+ hasContent = true;
7126
+ writeThemeTemplate(themeContent, "content");
7127
+ }
7128
+ writeThemeTemplate(theme);
7129
+ async function generateSources() {
6877
7130
  let sources = "";
6878
7131
  if (!!nuxt && !!resolve && options.experimental?.componentDetection) {
6879
- const detectedComponents = await detectUsedComponents(
7132
+ const dirs = [.../* @__PURE__ */ new Set([
6880
7133
  nuxt.options.rootDir,
7134
+ ...nuxt.options._layers?.map((layer) => layer.config.rootDir).filter(Boolean) || []
7135
+ ])];
7136
+ const detectedComponents = await detectUsedComponents(
7137
+ dirs,
6881
7138
  options.prefix,
6882
7139
  resolve("./runtime/components"),
6883
7140
  Array.isArray(options.experimental.componentDetection) ? options.experimental.componentDetection : void 0
@@ -6917,28 +7174,20 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
6917
7174
  }
6918
7175
  return sources || '@source "./ui";';
6919
7176
  }
6920
- if (!!nuxt && (hasNuxtModule("@nuxtjs/mdc") || options.mdc || (hasNuxtModule("@nuxt/content") || options.content))) {
6921
- hasProse = true;
6922
- const path = "prose";
6923
- writeThemeTemplate(themeProse, path);
6924
- templates.push({
6925
- filename: `ui/${path}/index.ts`,
6926
- write: true,
6927
- getContents: () => Object.keys(themeProse).map((component) => `export { default as ${component} } from './${kebabCase(component)}'`).join("\n")
6928
- });
6929
- }
6930
- if (!!nuxt && (hasNuxtModule("@nuxt/content") || options.content)) {
6931
- hasContent = true;
6932
- writeThemeTemplate(themeContent, "content");
6933
- }
6934
- writeThemeTemplate(theme);
6935
7177
  templates.push({
6936
7178
  filename: "ui.css",
6937
7179
  write: true,
6938
7180
  getContents: async () => {
6939
- const sources = await getSources();
7181
+ const sources = await generateSources();
7182
+ const prefix = options.theme?.prefix ? `${options.theme.prefix}:` : "";
6940
7183
  return `${sources}
6941
7184
 
7185
+ @layer base {
7186
+ body {
7187
+ @apply ${prefix}antialiased ${prefix}text-default ${prefix}bg-default ${prefix}scheme-light ${prefix}dark:scheme-dark;
7188
+ }
7189
+ }
7190
+
6942
7191
  @theme static {
6943
7192
  --color-old-neutral-50: ${colors.neutral[50]};
6944
7193
  --color-old-neutral-100: ${colors.neutral[100]};
@@ -7008,17 +7257,11 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
7008
7257
  templates.push({
7009
7258
  filename: "ui/index.ts",
7010
7259
  write: true,
7011
- getContents: () => {
7012
- let contents = Object.keys(theme).map((component) => `export { default as ${component} } from './${kebabCase(component)}'`).join("\n");
7013
- if (hasContent) {
7014
- contents += "\n";
7015
- contents += Object.keys(themeContent).map((component) => `export { default as ${component} } from './content/${kebabCase(component)}'`).join("\n");
7016
- }
7017
- if (hasProse) contents += `
7018
- export * as prose from './prose'
7019
- `;
7020
- return contents;
7021
- }
7260
+ getContents: () => [
7261
+ ...Object.keys(theme).map((component) => `export { default as ${component} } from './${kebabCase(component)}'`),
7262
+ ...hasContent ? Object.keys(themeContent).map((component) => `export { default as ${component} } from './content/${kebabCase(component)}'`) : [],
7263
+ ...hasProse ? [`export * as prose from './prose'`] : []
7264
+ ].join("\n")
7022
7265
  });
7023
7266
  templates.push({
7024
7267
  filename: "types/ui.d.ts",
@@ -7041,6 +7284,7 @@ type AppConfigUI = {
7041
7284
  neutral?: NeutralColor | (string & {})
7042
7285
  }
7043
7286
  icons?: Partial<IconsConfig>
7287
+ prefix?: string
7044
7288
  tv?: typeof defaultConfig
7045
7289
  } & TVConfig<typeof ui>
7046
7290
 
@@ -7089,4 +7333,4 @@ function addTemplates(options, nuxt, resolve) {
7089
7333
  }
7090
7334
  }
7091
7335
 
7092
- export { getDefaultUiConfig as a, addTemplates as b, defaultOptions as d, getTemplates as g, resolveColors as r };
7336
+ export { getDefaultConfig as a, addTemplates as b, defaultOptions as d, getTemplates as g, resolveColors as r };