@nuxt/ui 4.0.0-alpha.1 → 4.0.0-alpha.2

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 (251) hide show
  1. package/.nuxt/ui/content/content-navigation.ts +2 -1
  2. package/.nuxt/ui/marquee.ts +1 -1
  3. package/.nuxt/ui/progress.ts +3 -3
  4. package/.nuxt/ui/prose/code-tree.ts +1 -1
  5. package/.nuxt/ui/tree.ts +1 -1
  6. package/README.md +13 -1
  7. package/dist/module.d.mts +6 -6
  8. package/dist/module.json +2 -2
  9. package/dist/module.mjs +8 -6
  10. package/dist/runtime/components/Accordion.d.vue.ts +79 -0
  11. package/dist/runtime/components/Accordion.vue +3 -3
  12. package/dist/runtime/components/Accordion.vue.d.ts +2 -2
  13. package/dist/runtime/components/Alert.d.vue.ts +81 -0
  14. package/dist/runtime/components/App.d.vue.ts +25 -0
  15. package/dist/runtime/components/AuthForm.d.vue.ts +128 -0
  16. package/dist/runtime/components/AuthForm.vue.d.ts +39 -1
  17. package/dist/runtime/components/Avatar.d.vue.ts +41 -0
  18. package/dist/runtime/components/AvatarGroup.d.vue.ts +31 -0
  19. package/dist/runtime/components/Badge.d.vue.ts +43 -0
  20. package/dist/runtime/components/Banner.d.vue.ts +72 -0
  21. package/dist/runtime/components/Banner.vue +1 -1
  22. package/dist/runtime/components/BlogPost.d.vue.ts +60 -0
  23. package/dist/runtime/components/BlogPosts.d.vue.ts +31 -0
  24. package/dist/runtime/components/Breadcrumb.d.vue.ts +67 -0
  25. package/dist/runtime/components/Breadcrumb.vue +1 -1
  26. package/dist/runtime/components/Breadcrumb.vue.d.ts +2 -2
  27. package/dist/runtime/components/Button.d.vue.ts +44 -0
  28. package/dist/runtime/components/Calendar.d.vue.ts +112 -0
  29. package/dist/runtime/components/Card.d.vue.ts +29 -0
  30. package/dist/runtime/components/Carousel.d.vue.ts +127 -0
  31. package/dist/runtime/components/Carousel.vue.d.ts +10 -10
  32. package/dist/runtime/components/ChangelogVersion.d.vue.ts +59 -0
  33. package/dist/runtime/components/ChangelogVersions.d.vue.ts +78 -0
  34. package/dist/runtime/components/ChangelogVersions.vue +2 -2
  35. package/dist/runtime/components/ChatMessage.d.vue.ts +67 -0
  36. package/dist/runtime/components/ChatMessages.d.vue.ts +83 -0
  37. package/dist/runtime/components/ChatMessages.vue +2 -2
  38. package/dist/runtime/components/ChatPalette.d.vue.ts +24 -0
  39. package/dist/runtime/components/ChatPrompt.d.vue.ts +61 -0
  40. package/dist/runtime/components/ChatPrompt.vue +2 -2
  41. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +100 -0
  42. package/dist/runtime/components/Checkbox.d.vue.ts +74 -0
  43. package/dist/runtime/components/CheckboxGroup.d.vue.ts +89 -0
  44. package/dist/runtime/components/CheckboxGroup.vue +8 -8
  45. package/dist/runtime/components/CheckboxGroup.vue.d.ts +17 -13
  46. package/dist/runtime/components/Chip.d.vue.ts +57 -0
  47. package/dist/runtime/components/Collapsible.d.vue.ts +35 -0
  48. package/dist/runtime/components/ColorPicker.d.vue.ts +48 -0
  49. package/dist/runtime/components/CommandPalette.d.vue.ts +193 -0
  50. package/dist/runtime/components/CommandPalette.vue +5 -4
  51. package/dist/runtime/components/CommandPalette.vue.d.ts +2 -1
  52. package/dist/runtime/components/Container.d.vue.ts +18 -0
  53. package/dist/runtime/components/ContextMenu.d.vue.ts +110 -0
  54. package/dist/runtime/components/ContextMenu.vue +2 -2
  55. package/dist/runtime/components/ContextMenu.vue.d.ts +2 -2
  56. package/dist/runtime/components/ContextMenuContent.d.vue.ts +50 -0
  57. package/dist/runtime/components/ContextMenuContent.vue +2 -2
  58. package/dist/runtime/components/ContextMenuContent.vue.d.ts +2 -2
  59. package/dist/runtime/components/DashboardGroup.d.vue.ts +24 -0
  60. package/dist/runtime/components/DashboardNavbar.d.vue.ts +52 -0
  61. package/dist/runtime/components/DashboardPanel.d.vue.ts +30 -0
  62. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +18 -0
  63. package/dist/runtime/components/DashboardSearch.d.vue.ts +91 -0
  64. package/dist/runtime/components/DashboardSearch.vue +2 -2
  65. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +59 -0
  66. package/dist/runtime/components/DashboardSearchButton.vue +2 -2
  67. package/dist/runtime/components/DashboardSidebar.d.vue.ts +75 -0
  68. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +19 -0
  69. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +19 -0
  70. package/dist/runtime/components/DashboardToolbar.d.vue.ts +25 -0
  71. package/dist/runtime/components/Drawer.d.vue.ts +84 -0
  72. package/dist/runtime/components/DropdownMenu.d.vue.ts +120 -0
  73. package/dist/runtime/components/DropdownMenu.vue +2 -2
  74. package/dist/runtime/components/DropdownMenu.vue.d.ts +2 -2
  75. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +56 -0
  76. package/dist/runtime/components/DropdownMenuContent.vue +2 -2
  77. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +2 -2
  78. package/dist/runtime/components/Error.d.vue.ts +47 -0
  79. package/dist/runtime/components/FieldGroup.d.vue.ts +34 -0
  80. package/dist/runtime/components/FileUpload.d.vue.ts +166 -0
  81. package/dist/runtime/components/FileUpload.vue +1 -0
  82. package/dist/runtime/components/Footer.d.vue.ts +29 -0
  83. package/dist/runtime/components/FooterColumns.d.vue.ts +57 -0
  84. package/dist/runtime/components/Form.d.vue.ts +114 -0
  85. package/dist/runtime/components/Form.vue +111 -52
  86. package/dist/runtime/components/Form.vue.d.ts +54 -11
  87. package/dist/runtime/components/FormField.d.vue.ts +61 -0
  88. package/dist/runtime/components/Header.d.vue.ts +68 -0
  89. package/dist/runtime/components/Icon.d.vue.ts +8 -0
  90. package/dist/runtime/components/Input.d.vue.ts +74 -0
  91. package/dist/runtime/components/Input.vue.d.ts +4 -3
  92. package/dist/runtime/components/InputMenu.d.vue.ts +330 -0
  93. package/dist/runtime/components/InputMenu.vue +1 -1
  94. package/dist/runtime/components/InputMenu.vue.d.ts +4 -4
  95. package/dist/runtime/components/InputNumber.d.vue.ts +188 -0
  96. package/dist/runtime/components/InputNumber.vue +2 -2
  97. package/dist/runtime/components/InputNumber.vue.d.ts +0 -2
  98. package/dist/runtime/components/InputTags.d.vue.ts +186 -0
  99. package/dist/runtime/components/Kbd.d.vue.ts +38 -0
  100. package/dist/runtime/components/Link.d.vue.ts +91 -0
  101. package/dist/runtime/components/LinkBase.d.vue.ts +25 -0
  102. package/dist/runtime/components/Main.d.vue.ts +20 -0
  103. package/dist/runtime/components/Marquee.d.vue.ts +32 -0
  104. package/dist/runtime/components/Marquee.vue +1 -1
  105. package/dist/runtime/components/Modal.d.vue.ts +107 -0
  106. package/dist/runtime/components/NavigationMenu.d.vue.ts +171 -0
  107. package/dist/runtime/components/NavigationMenu.vue.d.ts +2 -2
  108. package/dist/runtime/components/OverlayProvider.d.vue.ts +2 -0
  109. package/dist/runtime/components/Page.d.vue.ts +25 -0
  110. package/dist/runtime/components/PageAnchors.d.vue.ts +47 -0
  111. package/dist/runtime/components/PageAside.d.vue.ts +27 -0
  112. package/dist/runtime/components/PageBody.d.vue.ts +18 -0
  113. package/dist/runtime/components/PageCTA.d.vue.ts +56 -0
  114. package/dist/runtime/components/PageCard.d.vue.ts +72 -0
  115. package/dist/runtime/components/PageColumns.d.vue.ts +18 -0
  116. package/dist/runtime/components/PageFeature.d.vue.ts +44 -0
  117. package/dist/runtime/components/PageGrid.d.vue.ts +18 -0
  118. package/dist/runtime/components/PageHeader.d.vue.ts +36 -0
  119. package/dist/runtime/components/PageHero.d.vue.ts +53 -0
  120. package/dist/runtime/components/PageLinks.d.vue.ts +49 -0
  121. package/dist/runtime/components/PageList.d.vue.ts +21 -0
  122. package/dist/runtime/components/PageLogos.d.vue.ts +33 -0
  123. package/dist/runtime/components/PageSection.d.vue.ts +68 -0
  124. package/dist/runtime/components/Pagination.d.vue.ts +118 -0
  125. package/dist/runtime/components/PinInput.d.vue.ts +60 -0
  126. package/dist/runtime/components/Popover.d.vue.ts +71 -0
  127. package/dist/runtime/components/PricingPlan.d.vue.ts +112 -0
  128. package/dist/runtime/components/PricingPlans.d.vue.ts +44 -0
  129. package/dist/runtime/components/PricingTable.d.vue.ts +105 -0
  130. package/dist/runtime/components/Progress.d.vue.ts +66 -0
  131. package/dist/runtime/components/Progress.vue +2 -3
  132. package/dist/runtime/components/RadioGroup.d.vue.ts +99 -0
  133. package/dist/runtime/components/RadioGroup.vue +13 -11
  134. package/dist/runtime/components/RadioGroup.vue.d.ts +17 -13
  135. package/dist/runtime/components/Select.d.vue.ts +254 -0
  136. package/dist/runtime/components/Select.vue +3 -3
  137. package/dist/runtime/components/Select.vue.d.ts +5 -5
  138. package/dist/runtime/components/SelectMenu.d.vue.ts +303 -0
  139. package/dist/runtime/components/SelectMenu.vue.d.ts +4 -4
  140. package/dist/runtime/components/Separator.d.vue.ts +54 -0
  141. package/dist/runtime/components/Skeleton.d.vue.ts +17 -0
  142. package/dist/runtime/components/Slideover.d.vue.ts +108 -0
  143. package/dist/runtime/components/Slider.d.vue.ts +57 -0
  144. package/dist/runtime/components/Stepper.d.vue.ts +87 -0
  145. package/dist/runtime/components/Switch.d.vue.ts +71 -0
  146. package/dist/runtime/components/Table.d.vue.ts +201 -0
  147. package/dist/runtime/components/Table.vue.d.ts +26 -26
  148. package/dist/runtime/components/Tabs.d.vue.ts +99 -0
  149. package/dist/runtime/components/Tabs.vue +10 -3
  150. package/dist/runtime/components/Tabs.vue.d.ts +2 -2
  151. package/dist/runtime/components/Textarea.d.vue.ts +74 -0
  152. package/dist/runtime/components/Timeline.d.vue.ts +71 -0
  153. package/dist/runtime/components/Toast.d.vue.ts +165 -0
  154. package/dist/runtime/components/Toaster.d.vue.ts +44 -0
  155. package/dist/runtime/components/Tooltip.d.vue.ts +57 -0
  156. package/dist/runtime/components/Tree.d.vue.ts +116 -0
  157. package/dist/runtime/components/Tree.vue +68 -40
  158. package/dist/runtime/components/Tree.vue.d.ts +1 -1
  159. package/dist/runtime/components/User.d.vue.ts +47 -0
  160. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +7 -0
  161. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +23 -0
  162. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +6 -0
  163. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -0
  164. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +5 -0
  165. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +102 -0
  166. package/dist/runtime/components/content/ContentNavigation.vue +5 -4
  167. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +2 -2
  168. package/dist/runtime/components/content/ContentSearch.d.vue.ts +114 -0
  169. package/dist/runtime/components/content/ContentSearch.vue +2 -2
  170. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +59 -0
  171. package/dist/runtime/components/content/ContentSearchButton.vue +2 -2
  172. package/dist/runtime/components/content/ContentSurround.d.vue.ts +59 -0
  173. package/dist/runtime/components/content/ContentToc.d.vue.ts +88 -0
  174. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +15 -0
  175. package/dist/runtime/components/prose/A.d.vue.ts +15 -0
  176. package/dist/runtime/components/prose/Accordion.d.vue.ts +16 -0
  177. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +15 -0
  178. package/dist/runtime/components/prose/Badge.d.vue.ts +13 -0
  179. package/dist/runtime/components/prose/Blockquote.d.vue.ts +13 -0
  180. package/dist/runtime/components/prose/Callout.d.vue.ts +26 -0
  181. package/dist/runtime/components/prose/Card.d.vue.ts +29 -0
  182. package/dist/runtime/components/prose/CardGroup.d.vue.ts +13 -0
  183. package/dist/runtime/components/prose/Code.d.vue.ts +22 -0
  184. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +47 -0
  185. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +37 -0
  186. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +7 -0
  187. package/dist/runtime/components/prose/CodePreview.d.vue.ts +19 -0
  188. package/dist/runtime/components/prose/CodeTree.d.vue.ts +28 -0
  189. package/dist/runtime/components/prose/CodeTree.vue +38 -31
  190. package/dist/runtime/components/prose/Collapsible.d.vue.ts +39 -0
  191. package/dist/runtime/components/prose/Em.d.vue.ts +13 -0
  192. package/dist/runtime/components/prose/Field.d.vue.ts +39 -0
  193. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +18 -0
  194. package/dist/runtime/components/prose/H1.d.vue.ts +19 -0
  195. package/dist/runtime/components/prose/H2.d.vue.ts +19 -0
  196. package/dist/runtime/components/prose/H3.d.vue.ts +19 -0
  197. package/dist/runtime/components/prose/H4.d.vue.ts +19 -0
  198. package/dist/runtime/components/prose/Hr.d.vue.ts +5 -0
  199. package/dist/runtime/components/prose/Icon.d.vue.ts +6 -0
  200. package/dist/runtime/components/prose/Img.d.vue.ts +21 -0
  201. package/dist/runtime/components/prose/Kbd.d.vue.ts +6 -0
  202. package/dist/runtime/components/prose/Li.d.vue.ts +13 -0
  203. package/dist/runtime/components/prose/Ol.d.vue.ts +13 -0
  204. package/dist/runtime/components/prose/P.d.vue.ts +13 -0
  205. package/dist/runtime/components/prose/Pre.d.vue.ts +26 -0
  206. package/dist/runtime/components/prose/Script.d.vue.ts +5 -0
  207. package/dist/runtime/components/prose/Steps.d.vue.ts +22 -0
  208. package/dist/runtime/components/prose/Strong.d.vue.ts +13 -0
  209. package/dist/runtime/components/prose/Table.d.vue.ts +18 -0
  210. package/dist/runtime/components/prose/Tabs.d.vue.ts +36 -0
  211. package/dist/runtime/components/prose/TabsItem.d.vue.ts +15 -0
  212. package/dist/runtime/components/prose/Tbody.d.vue.ts +13 -0
  213. package/dist/runtime/components/prose/Td.d.vue.ts +13 -0
  214. package/dist/runtime/components/prose/Th.d.vue.ts +13 -0
  215. package/dist/runtime/components/prose/Thead.d.vue.ts +13 -0
  216. package/dist/runtime/components/prose/Tr.d.vue.ts +13 -0
  217. package/dist/runtime/components/prose/Ul.d.vue.ts +13 -0
  218. package/dist/runtime/components/prose/callout/Caution.d.vue.ts +14 -0
  219. package/dist/runtime/components/prose/callout/Note.d.vue.ts +14 -0
  220. package/dist/runtime/components/prose/callout/Tip.d.vue.ts +14 -0
  221. package/dist/runtime/components/prose/callout/Warning.d.vue.ts +14 -0
  222. package/dist/runtime/composables/useFormField.d.ts +1 -0
  223. package/dist/runtime/composables/useFormField.js +1 -0
  224. package/dist/runtime/inertia/components/Link.d.vue.ts +63 -0
  225. package/dist/runtime/inertia/components/LinkBase.d.vue.ts +25 -0
  226. package/dist/runtime/locale/de_ch.d.ts +3 -0
  227. package/dist/runtime/locale/de_ch.js +129 -0
  228. package/dist/runtime/locale/id.js +1 -1
  229. package/dist/runtime/locale/index.d.ts +2 -0
  230. package/dist/runtime/locale/index.js +2 -0
  231. package/dist/runtime/locale/ka.d.ts +3 -0
  232. package/dist/runtime/locale/ka.js +132 -0
  233. package/dist/runtime/types/form.d.ts +9 -8
  234. package/dist/runtime/types/form.js +1 -3
  235. package/dist/runtime/types/index.d.ts +1 -0
  236. package/dist/runtime/types/index.js +1 -0
  237. package/dist/runtime/types/utils.d.ts +7 -3
  238. package/dist/runtime/utils/form.d.ts +2 -0
  239. package/dist/runtime/utils/form.js +28 -0
  240. package/dist/runtime/utils/fuse.d.ts +2 -1
  241. package/dist/runtime/utils/index.d.ts +3 -3
  242. package/dist/runtime/utils/index.js +6 -3
  243. package/dist/runtime/vue/components/Icon.d.vue.ts +6 -0
  244. package/dist/runtime/vue/components/Link.d.vue.ts +93 -0
  245. package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +16 -0
  246. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -0
  247. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +5 -0
  248. package/dist/shared/{ui.BEZXPd3d.mjs → ui.Bs5uUhtm.mjs} +17 -12
  249. package/dist/unplugin.mjs +1 -1
  250. package/dist/vite.mjs +1 -1
  251. package/package.json +21 -34
@@ -96,7 +96,7 @@ export default {
96
96
  },
97
97
  "disabled": {
98
98
  "true": {
99
- "link": "cursor-not-allowed opacity-75"
99
+ "trigger": "data-[state=open]:text-highlighted"
100
100
  }
101
101
  },
102
102
  "highlight": {
@@ -210,6 +210,7 @@ export default {
210
210
  "variant": "pill" as typeof variant[number],
211
211
  "active": true,
212
212
  "highlight": true,
213
+ "disabled": false,
213
214
  "class": {
214
215
  "link": [
215
216
  "hover:before:bg-elevated/50",
@@ -24,7 +24,7 @@ export default {
24
24
  },
25
25
  "reverse": {
26
26
  "true": {
27
- "content": "[animation-direction:reverse]"
27
+ "content": "![animation-direction:reverse]"
28
28
  }
29
29
  },
30
30
  "overlay": {
@@ -42,7 +42,7 @@ export default {
42
42
  "root": "gap-2",
43
43
  "base": "relative overflow-hidden rounded-full bg-accented",
44
44
  "indicator": "rounded-full size-full transition-transform duration-200 ease-out",
45
- "status": "flex justify-end text-dimmed transition-[width] duration-200",
45
+ "status": "flex text-dimmed transition-[width] duration-200",
46
46
  "steps": "grid items-end",
47
47
  "step": "truncate text-end row-start-1 col-start-1 transition-opacity" as typeof step[number]
48
48
  },
@@ -131,12 +131,12 @@ export default {
131
131
  "horizontal": {
132
132
  "root": "w-full flex flex-col",
133
133
  "base": "w-full",
134
- "status": "flex-row"
134
+ "status": "flex-row items-center justify-end min-w-fit"
135
135
  },
136
136
  "vertical": {
137
137
  "root": "h-full flex flex-row-reverse",
138
138
  "base": "h-full",
139
- "status": "flex-col"
139
+ "status": "flex-col justify-end min-h-fit"
140
140
  }
141
141
  },
142
142
  "inverted": {
@@ -9,7 +9,7 @@ export default {
9
9
  "linkLeadingIcon": "size-4 shrink-0",
10
10
  "linkLabel": "truncate",
11
11
  "linkTrailing": "ms-auto inline-flex gap-1.5 items-center",
12
- "linkTrailingIcon": "size-5 transform transition-transform duration-200 shrink-0 group-data-expanded:rotate-180",
12
+ "linkTrailingIcon": "size-5 transform transition-transform duration-200 shrink-0 group-data-[expanded=true]:rotate-180",
13
13
  "content": "overflow-hidden lg:col-span-2 flex flex-col [&>div]:my-0 [&>div]:flex-1 [&>div]:flex [&>div]:flex-col [&>div>div]:border-0 [&>div>pre]:border-b-0 [&>div>pre]:border-s-0 [&>div>pre]:border-e-0 [&>div>pre]:rounded-l-none [&>div>pre]:flex-1 [&>div]:overflow-y-auto"
14
14
  },
15
15
  "variants": {
package/.nuxt/ui/tree.ts CHANGED
@@ -26,7 +26,7 @@ export default {
26
26
  "linkLeadingIcon": "shrink-0",
27
27
  "linkLabel": "truncate",
28
28
  "linkTrailing": "ms-auto inline-flex gap-1.5 items-center",
29
- "linkTrailingIcon": "shrink-0 transform transition-transform duration-200 group-data-expanded:rotate-180"
29
+ "linkTrailingIcon": "shrink-0 transform transition-transform duration-200 group-data-[expanded=true]:rotate-180"
30
30
  },
31
31
  "variants": {
32
32
  "color": {
package/README.md CHANGED
@@ -20,6 +20,18 @@ Nuxt UI harnesses the combined strengths of [Reka UI](https://reka-ui.com/), [Ta
20
20
 
21
21
  Visit https://ui4.nuxt.com to explore the documentation.
22
22
 
23
+ ## Templates
24
+
25
+ Kickstart your project with one of our ready-to-use Nuxt UI templates or follow the [Installation Guide](https://ui4.nuxt.com/getting-started/installation/nuxt). Explore all available templates on the [official templates page](https://ui4.nuxt.com/templates).
26
+
27
+ - [Starter](https://github.com/nuxt-ui-templates/starter) — A minimal template to get started with Nuxt UI.
28
+ - [Landing](https://github.com/nuxt-ui-templates/landing) — A modern landing page template powered by Nuxt Content.
29
+ - [Docs](https://github.com/nuxt-ui-templates/docs) — A documentation template powered by Nuxt Content.
30
+ - [SaaS](https://github.com/nuxt-ui-templates/saas) — A SaaS template with landing, pricing, docs and blog powered by Nuxt Content.
31
+ - [Dashboard](https://github.com/nuxt-ui-templates/dashboard) — A dashboard template with multi-column layout.
32
+ - [Chat](https://github.com/nuxt-ui-templates/chat) — An AI chatbot template with GitHub authentication and persistent chat history powered by Vercel AI SDK.
33
+ - [Portfolio](https://github.com/nuxt-ui-templates/portfolio) — A sleek portfolio template to showcase your work, skills and blog powered by Nuxt Content.
34
+
23
35
  ## Installation
24
36
 
25
37
  ```bash [pnpm]
@@ -130,7 +142,7 @@ Follow the docs to [set up your local development environment](https://ui4.nuxt.
130
142
  Licensed under the [MIT license](https://github.com/nuxt/ui/blob/v4/LICENSE.md).
131
143
 
132
144
  <!-- Badges -->
133
- [npm-version-src]: https://img.shields.io/npm/v/@nuxt/ui/latest.svg?style=flat&colorA=18181B&colorB=28CF8D
145
+ [npm-version-src]: https://img.shields.io/npm/v/@nuxt/ui/alpha.svg?style=flat&colorA=18181B&colorB=28CF8D
134
146
  [npm-version-href]: https://npmjs.com/package/@nuxt/ui
135
147
 
136
148
  [npm-downloads-src]: https://img.shields.io/npm/dm/@nuxt/ui.svg?style=flat&colorA=18181B&colorB=28CF8D
package/dist/module.d.mts CHANGED
@@ -8,36 +8,36 @@ interface ModuleOptions {
8
8
  /**
9
9
  * Prefix for components
10
10
  * @defaultValue `U`
11
- * @link https://ui.nuxt.com/docs/getting-started/installation/nuxt#prefix
11
+ * @see https://ui.nuxt.com/docs/getting-started/installation/nuxt#prefix
12
12
  */
13
13
  prefix?: string;
14
14
  /**
15
15
  * Enable or disable `@nuxt/fonts` module
16
16
  * @defaultValue `true`
17
- * @link https://ui.nuxt.com/docs/getting-started/installation/nuxt#fonts
17
+ * @see https://ui.nuxt.com/docs/getting-started/installation/nuxt#fonts
18
18
  */
19
19
  fonts?: boolean;
20
20
  /**
21
21
  * Enable or disable `@nuxtjs/color-mode` module
22
22
  * @defaultValue `true`
23
- * @link https://ui.nuxt.com/docs/getting-started/installation/nuxt#colormode
23
+ * @see https://ui.nuxt.com/docs/getting-started/installation/nuxt#colormode
24
24
  */
25
25
  colorMode?: boolean;
26
26
  /**
27
27
  * Customize how the theme is generated
28
- * @link https://ui.nuxt.com/docs/getting-started/theme
28
+ * @see https://ui.nuxt.com/docs/getting-started/theme/design-system
29
29
  */
30
30
  theme?: {
31
31
  /**
32
32
  * Define the color aliases available for components
33
33
  * @defaultValue `['primary', 'secondary', 'success', 'info', 'warning', 'error']`
34
- * @link https://ui.nuxt.com/docs/getting-started/installation/nuxt#themecolors
34
+ * @see https://ui.nuxt.com/docs/getting-started/installation/nuxt#themecolors
35
35
  */
36
36
  colors?: Color[];
37
37
  /**
38
38
  * Enable or disable transitions on components
39
39
  * @defaultValue `true`
40
- * @link https://ui.nuxt.com/docs/getting-started/installation/nuxt#themetransitions
40
+ * @see https://ui.nuxt.com/docs/getting-started/installation/nuxt#themetransitions
41
41
  */
42
42
  transitions?: boolean;
43
43
  defaultVariants?: {
package/dist/module.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@nuxt/ui",
3
- "version": "4.0.0-alpha.1",
3
+ "version": "4.0.0-alpha.2",
4
4
  "docs": "https://ui.nuxt.com/docs/getting-started/installation/nuxt",
5
5
  "configKey": "ui",
6
6
  "compatibility": {
7
7
  "nuxt": ">=4.0.0"
8
8
  },
9
9
  "builder": {
10
- "@nuxt/module-builder": "1.0.1",
10
+ "@nuxt/module-builder": "1.0.2",
11
11
  "unbuild": "3.6.0"
12
12
  }
13
13
  }
package/dist/module.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { defu } from 'defu';
2
- import { defineNuxtModule, createResolver, addVitePlugin, addPlugin, hasNuxtModule, addComponentsDir, addImportsDir, installModule } from '@nuxt/kit';
3
- import { d as defaultOptions, r as resolveColors, a as getDefaultUiConfig, b as addTemplates } from './shared/ui.BEZXPd3d.mjs';
2
+ import { defineNuxtModule, createResolver, addPlugin, hasNuxtModule, addComponentsDir, addImportsDir, installModule } from '@nuxt/kit';
3
+ import { d as defaultOptions, r as resolveColors, a as getDefaultUiConfig, b as addTemplates } from './shared/ui.Bs5uUhtm.mjs';
4
4
  import '../dist/runtime/utils/index.js';
5
5
  import 'node:url';
6
6
  import 'scule';
@@ -8,7 +8,7 @@ import 'knitwork';
8
8
  import 'tailwindcss/colors';
9
9
 
10
10
  const name = "@nuxt/ui";
11
- const version = "4.0.0-alpha.1";
11
+ const version = "4.0.0-alpha.2";
12
12
 
13
13
  const module = defineNuxtModule({
14
14
  meta: {
@@ -30,10 +30,12 @@ const module = defineNuxtModule({
30
30
  nuxt.options.appConfig.ui = defu(nuxt.options.appConfig.ui || {}, getDefaultUiConfig(options.theme.colors));
31
31
  nuxt.options.app.rootAttrs = nuxt.options.app.rootAttrs || {};
32
32
  nuxt.options.app.rootAttrs.class = [nuxt.options.app.rootAttrs.class, "isolate"].filter(Boolean).join(" ");
33
- if (nuxt.options.builder === "@nuxt/vite-builder") {
33
+ nuxt.hook("vite:extendConfig", async (config) => {
34
34
  const plugin = await import('@tailwindcss/vite').then((r) => r.default);
35
- addVitePlugin(plugin());
36
- } else {
35
+ config.plugins ||= [];
36
+ config.plugins.push(plugin());
37
+ });
38
+ if (nuxt.options.builder !== "@nuxt/vite-builder") {
37
39
  nuxt.options.postcss.plugins["@tailwindcss/postcss"] = {};
38
40
  }
39
41
  async function registerModule(name2, key, options2) {
@@ -0,0 +1,79 @@
1
+ import type { AccordionRootProps, AccordionRootEmits } from 'reka-ui';
2
+ import type { AppConfig } from '@nuxt/schema';
3
+ import theme from '#build/ui/accordion';
4
+ import type { IconProps } from '../types';
5
+ import type { DynamicSlots, GetItemKeys } from '../types/utils';
6
+ import type { ComponentConfig } from '../types/tv';
7
+ type Accordion = ComponentConfig<typeof theme, AppConfig, 'accordion'>;
8
+ export interface AccordionItem {
9
+ label?: string;
10
+ /**
11
+ * @IconifyIcon
12
+ */
13
+ icon?: IconProps['name'];
14
+ /**
15
+ * @IconifyIcon
16
+ */
17
+ trailingIcon?: IconProps['name'];
18
+ slot?: string;
19
+ content?: string;
20
+ /** A unique value for the accordion item. Defaults to the index. */
21
+ value?: string;
22
+ disabled?: boolean;
23
+ class?: any;
24
+ ui?: Pick<Accordion['slots'], 'item' | 'header' | 'trigger' | 'leadingIcon' | 'label' | 'trailingIcon' | 'content' | 'body'>;
25
+ [key: string]: any;
26
+ }
27
+ export interface AccordionProps<T extends AccordionItem = AccordionItem> extends Pick<AccordionRootProps, 'collapsible' | 'defaultValue' | 'modelValue' | 'type' | 'disabled' | 'unmountOnHide'> {
28
+ /**
29
+ * The element or component this component should render as.
30
+ * @defaultValue 'div'
31
+ */
32
+ as?: any;
33
+ items?: T[];
34
+ /**
35
+ * The icon displayed on the right side of the trigger.
36
+ * @defaultValue appConfig.ui.icons.chevronDown
37
+ * @IconifyIcon
38
+ */
39
+ trailingIcon?: IconProps['name'];
40
+ /**
41
+ * The key used to get the label from the item.
42
+ * @defaultValue 'label'
43
+ */
44
+ labelKey?: GetItemKeys<T>;
45
+ class?: any;
46
+ ui?: Accordion['slots'];
47
+ }
48
+ export interface AccordionEmits extends AccordionRootEmits {
49
+ }
50
+ type SlotProps<T extends AccordionItem> = (props: {
51
+ item: T;
52
+ index: number;
53
+ open: boolean;
54
+ }) => any;
55
+ export type AccordionSlots<T extends AccordionItem = AccordionItem> = {
56
+ leading: SlotProps<T>;
57
+ default: SlotProps<T>;
58
+ trailing: SlotProps<T>;
59
+ content: SlotProps<T>;
60
+ body: SlotProps<T>;
61
+ } & DynamicSlots<T, 'body', {
62
+ index: number;
63
+ open: boolean;
64
+ }>;
65
+ declare const _default: <T extends AccordionItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
66
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
67
+ readonly "onUpdate:modelValue"?: ((value: string | string[] | undefined) => any) | undefined;
68
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue"> & AccordionProps<T> & {}> & import("vue").PublicProps;
69
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
70
+ attrs: any;
71
+ slots: AccordionSlots<T>;
72
+ emit: (evt: "update:modelValue", value: string | string[] | undefined) => void;
73
+ }>) => import("vue").VNode & {
74
+ __ctx?: Awaited<typeof __VLS_setup>;
75
+ };
76
+ export default _default;
77
+ type __VLS_PrettifyLocal<T> = {
78
+ [K in keyof T as K]: T[K];
79
+ } & {};
@@ -14,7 +14,7 @@ const props = defineProps({
14
14
  as: { type: null, required: false },
15
15
  items: { type: Array, required: false },
16
16
  trailingIcon: { type: [String, Object], required: false },
17
- labelKey: { type: String, required: false, default: "label" },
17
+ labelKey: { type: null, required: false, default: "label" },
18
18
  class: { type: null, required: false },
19
19
  ui: { type: null, required: false },
20
20
  collapsible: { type: Boolean, required: false, default: true },
@@ -27,14 +27,14 @@ const props = defineProps({
27
27
  const emits = defineEmits(["update:modelValue"]);
28
28
  const slots = defineSlots();
29
29
  const appConfig = useAppConfig();
30
- const rootProps = useForwardPropsEmits(reactivePick(props, "as", "collapsible", "defaultValue", "disabled", "modelValue", "type", "unmountOnHide"), emits);
30
+ const rootProps = useForwardPropsEmits(reactivePick(props, "as", "collapsible", "defaultValue", "disabled", "modelValue", "unmountOnHide"), emits);
31
31
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.accordion || {} })({
32
32
  disabled: props.disabled
33
33
  }));
34
34
  </script>
35
35
 
36
36
  <template>
37
- <AccordionRoot v-bind="rootProps" :class="ui.root({ class: [props.ui?.root, props.class] })">
37
+ <AccordionRoot v-bind="rootProps" :type="type" :class="ui.root({ class: [props.ui?.root, props.class] })">
38
38
  <AccordionItem
39
39
  v-for="(item, index) in props.items"
40
40
  v-slot="{ open }"
@@ -2,7 +2,7 @@ import type { AccordionRootProps, AccordionRootEmits } from 'reka-ui';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/accordion';
4
4
  import type { IconProps } from '../types';
5
- import type { DynamicSlots } from '../types/utils';
5
+ import type { DynamicSlots, GetItemKeys } from '../types/utils';
6
6
  import type { ComponentConfig } from '../types/tv';
7
7
  type Accordion = ComponentConfig<typeof theme, AppConfig, 'accordion'>;
8
8
  export interface AccordionItem {
@@ -41,7 +41,7 @@ export interface AccordionProps<T extends AccordionItem = AccordionItem> extends
41
41
  * The key used to get the label from the item.
42
42
  * @defaultValue 'label'
43
43
  */
44
- labelKey?: string;
44
+ labelKey?: GetItemKeys<T>;
45
45
  class?: any;
46
46
  ui?: Accordion['slots'];
47
47
  }
@@ -0,0 +1,81 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/alert';
3
+ import type { AvatarProps, ButtonProps, IconProps } from '../types';
4
+ import type { ComponentConfig } from '../types/tv';
5
+ type Alert = ComponentConfig<typeof theme, AppConfig, 'alert'>;
6
+ export interface AlertProps {
7
+ /**
8
+ * The element or component this component should render as.
9
+ * @defaultValue 'div'
10
+ */
11
+ as?: any;
12
+ title?: string;
13
+ description?: string;
14
+ /**
15
+ * @IconifyIcon
16
+ */
17
+ icon?: IconProps['name'];
18
+ avatar?: AvatarProps;
19
+ /**
20
+ * @defaultValue 'primary'
21
+ */
22
+ color?: Alert['variants']['color'];
23
+ /**
24
+ * @defaultValue 'solid'
25
+ */
26
+ variant?: Alert['variants']['variant'];
27
+ /**
28
+ * The orientation between the content and the actions.
29
+ * @defaultValue 'vertical'
30
+ */
31
+ orientation?: Alert['variants']['orientation'];
32
+ /**
33
+ * Display a list of actions:
34
+ * - under the title and description when orientation is `vertical`
35
+ * - next to the close button when orientation is `horizontal`
36
+ * `{ size: 'xs' }`{lang="ts-type"}
37
+ */
38
+ actions?: ButtonProps[];
39
+ /**
40
+ * Display a close button to dismiss the alert.
41
+ * `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts-type"}
42
+ * @emits 'update:open'
43
+ * @defaultValue false
44
+ */
45
+ close?: boolean | Partial<ButtonProps>;
46
+ /**
47
+ * The icon displayed in the close button.
48
+ * @defaultValue appConfig.ui.icons.close
49
+ * @IconifyIcon
50
+ */
51
+ closeIcon?: IconProps['name'];
52
+ class?: any;
53
+ ui?: Alert['slots'];
54
+ }
55
+ export interface AlertEmits {
56
+ 'update:open': [value: boolean];
57
+ }
58
+ export interface AlertSlots {
59
+ leading(props?: {}): any;
60
+ title(props?: {}): any;
61
+ description(props?: {}): any;
62
+ actions(props?: {}): any;
63
+ close(props: {
64
+ ui: {
65
+ [K in keyof Required<Alert['slots']>]: (props?: Record<string, any>) => string;
66
+ };
67
+ }): any;
68
+ }
69
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AlertProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
70
+ "update:open": (value: boolean) => any;
71
+ }, string, import("vue").PublicProps, Readonly<AlertProps> & Readonly<{
72
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
73
+ }>, {
74
+ orientation: Alert["variants"]["orientation"];
75
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, AlertSlots>;
76
+ export default _default;
77
+ type __VLS_WithSlots<T, S> = T & {
78
+ new (): {
79
+ $slots: S;
80
+ };
81
+ };
@@ -0,0 +1,25 @@
1
+ import type { ConfigProviderProps, TooltipProviderProps } from 'reka-ui';
2
+ import type { ToasterProps } from '../types';
3
+ import type { Locale, Messages } from '../types/locale';
4
+ export interface AppProps<T extends Messages = Messages> extends Omit<ConfigProviderProps, 'useId' | 'dir' | 'locale'> {
5
+ tooltip?: TooltipProviderProps;
6
+ toaster?: ToasterProps | null;
7
+ locale?: Locale<T>;
8
+ portal?: string | HTMLElement;
9
+ }
10
+ export interface AppSlots {
11
+ default(props?: {}): any;
12
+ }
13
+ declare const _default: <T extends Messages>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
14
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & AppProps<T> & {}> & import("vue").PublicProps;
15
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
16
+ attrs: any;
17
+ slots: AppSlots;
18
+ emit: {};
19
+ }>) => import("vue").VNode & {
20
+ __ctx?: Awaited<typeof __VLS_setup>;
21
+ };
22
+ export default _default;
23
+ type __VLS_PrettifyLocal<T> = {
24
+ [K in keyof T as K]: T[K];
25
+ } & {};
@@ -0,0 +1,128 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/auth-form';
3
+ import type { ButtonProps, FormProps, FormFieldProps, SeparatorProps, PinInputProps, IconProps } from '../types';
4
+ import type { FormSchema, FormSubmitEvent, InferInput } from '../types/form';
5
+ import type { ComponentConfig } from '../types/tv';
6
+ type AuthForm = ComponentConfig<typeof theme, AppConfig, 'authForm'>;
7
+ type AuthFormField = FormFieldProps & {
8
+ name: string;
9
+ type?: 'checkbox' | 'select' | 'password' | 'text' | 'otp' | 'email';
10
+ defaultValue?: any;
11
+ otp?: PinInputProps;
12
+ };
13
+ export interface AuthFormProps<T extends FormSchema = FormSchema<object>, F extends AuthFormField = AuthFormField> {
14
+ /**
15
+ * The element or component this component should render as.
16
+ * @defaultValue 'div'
17
+ */
18
+ as?: any;
19
+ /**
20
+ * The icon displayed above the title.
21
+ * @IconifyIcon
22
+ */
23
+ icon?: IconProps['name'];
24
+ title?: string;
25
+ description?: string;
26
+ fields?: F[];
27
+ /**
28
+ * Display a list of Button under the description.
29
+ * `{ color: 'neutral', variant: 'subtle', block: true }`{lang="ts-type"}
30
+ */
31
+ providers?: ButtonProps[];
32
+ /**
33
+ * The text displayed in the separator.
34
+ * @defaultValue 'or'
35
+ */
36
+ separator?: string | SeparatorProps;
37
+ /**
38
+ * Display a submit button at the bottom of the form.
39
+ * `{ label: 'Continue', block: true }`{lang="ts-type"}
40
+ */
41
+ submit?: ButtonProps;
42
+ schema?: T;
43
+ validate?: FormProps<T>['validate'];
44
+ validateOn?: FormProps<T>['validateOn'];
45
+ validateOnInputDelay?: FormProps<T>['validateOnInputDelay'];
46
+ disabled?: FormProps<T>['disabled'];
47
+ loading?: ButtonProps['loading'];
48
+ loadingAuto?: FormProps<T>['loadingAuto'];
49
+ class?: any;
50
+ onSubmit?: FormProps<T>['onSubmit'];
51
+ ui?: AuthForm['slots'];
52
+ }
53
+ export type AuthFormEmits<T extends object> = {
54
+ submit: [payload: FormSubmitEvent<T>];
55
+ };
56
+ type DynamicFieldSlots<T, F, SlotProps = {
57
+ field: F;
58
+ state: T;
59
+ }> = Record<string, (props: SlotProps) => any> & Record<`${keyof T extends string ? keyof T : never}-field`, (props: SlotProps) => any>;
60
+ type DynamicFormFieldSlots<T> = Record<string, (props?: {}) => any> & Record<`${keyof T extends string ? keyof T : never}-${'label' | 'description' | 'hint' | 'help' | 'error'}`, (props?: {}) => any>;
61
+ export type AuthFormSlots<T extends object = object, F extends AuthFormField = AuthFormField> = {
62
+ header(props?: {}): any;
63
+ leading(props?: {}): any;
64
+ title(props?: {}): any;
65
+ description(props?: {}): any;
66
+ providers(props?: {}): any;
67
+ validation(props?: {}): any;
68
+ submit(props: {
69
+ loading: boolean;
70
+ }): any;
71
+ footer(props?: {}): any;
72
+ } & DynamicFieldSlots<T, F> & DynamicFormFieldSlots<T>;
73
+ declare const _default: <T extends FormSchema, F extends AuthFormField>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
74
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
75
+ readonly onSubmit?: ((payload: FormSubmitEvent<import("vue").Reactive<InferInput<T>>>) => any) | undefined;
76
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onSubmit"> & AuthFormProps<T, F> & {}> & import("vue").PublicProps;
77
+ expose(exposed: import("vue").ShallowUnwrapRef<{
78
+ formRef: Readonly<import("vue").ShallowRef<import("vue").ShallowUnwrapRef<{
79
+ validate: {
80
+ <T_1 extends boolean>(opts: {
81
+ name?: keyof InferInput<T> | (keyof InferInput<T>)[] | undefined;
82
+ silent?: false | undefined;
83
+ nested?: boolean;
84
+ transform?: T_1 | undefined;
85
+ }): Promise<import("../types").FormData<T, T_1>>;
86
+ <T_1 extends boolean>(opts: {
87
+ name?: keyof InferInput<T> | (keyof InferInput<T>)[] | undefined;
88
+ silent?: true | undefined;
89
+ nested?: boolean;
90
+ transform?: T_1 | undefined;
91
+ }): Promise<false | import("../types").FormData<T, T_1>>;
92
+ };
93
+ errors: import("vue").Ref<{
94
+ id?: string | undefined;
95
+ name?: string | undefined;
96
+ message: string;
97
+ }[], import("../types").FormErrorWithId[] | {
98
+ id?: string | undefined;
99
+ name?: string | undefined;
100
+ message: string;
101
+ }[]>;
102
+ setErrors(errs: import("../types").FormError[], name?: string | RegExp | keyof InferInput<T> | undefined): void;
103
+ submit(): Promise<void>;
104
+ getErrors(name?: string | RegExp | keyof InferInput<T> | undefined): {
105
+ id?: string | undefined;
106
+ name?: string | undefined;
107
+ message: string;
108
+ }[];
109
+ clear(name?: string | RegExp | keyof InferInput<T> | undefined): void;
110
+ disabled: import("vue").ComputedRef<boolean>;
111
+ loading: import("vue").Ref<boolean, boolean>;
112
+ dirty: import("vue").ComputedRef<boolean>;
113
+ dirtyFields: ReadonlySet<import("vue").DeepReadonly<import("@vue/reactivity").UnwrapRefSimple<keyof InferInput<T>>>>;
114
+ blurredFields: ReadonlySet<import("vue").DeepReadonly<import("@vue/reactivity").UnwrapRefSimple<keyof InferInput<T>>>>;
115
+ touchedFields: ReadonlySet<import("vue").DeepReadonly<import("@vue/reactivity").UnwrapRefSimple<keyof InferInput<T>>>>;
116
+ }> | null>>;
117
+ state: import("vue").Reactive<InferInput<T>>;
118
+ }>): void;
119
+ attrs: any;
120
+ slots: AuthFormSlots<import("vue").Reactive<InferInput<T>>, F>;
121
+ emit: (evt: "submit", payload: FormSubmitEvent<import("vue").Reactive<InferInput<T>>>) => void;
122
+ }>) => import("vue").VNode & {
123
+ __ctx?: Awaited<typeof __VLS_setup>;
124
+ };
125
+ export default _default;
126
+ type __VLS_PrettifyLocal<T> = {
127
+ [K in keyof T as K]: T[K];
128
+ } & {};
@@ -75,7 +75,45 @@ declare const _default: <T extends FormSchema, F extends AuthFormField>(__VLS_pr
75
75
  readonly onSubmit?: ((payload: FormSubmitEvent<import("vue").Reactive<InferInput<T>>>) => any) | undefined;
76
76
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onSubmit"> & AuthFormProps<T, F> & {}> & import("vue").PublicProps;
77
77
  expose(exposed: import("vue").ShallowUnwrapRef<{
78
- formRef: Readonly<import("vue").ShallowRef<import("vue").ShallowUnwrapRef<import("../types").Form<T>> | null>>;
78
+ formRef: Readonly<import("vue").ShallowRef<import("vue").ShallowUnwrapRef<{
79
+ validate: {
80
+ <T_1 extends boolean>(opts: {
81
+ name?: keyof InferInput<T> | (keyof InferInput<T>)[] | undefined;
82
+ silent?: false | undefined;
83
+ nested?: boolean;
84
+ transform?: T_1 | undefined;
85
+ }): Promise<import("../types").FormData<T, T_1>>;
86
+ <T_1 extends boolean>(opts: {
87
+ name?: keyof InferInput<T> | (keyof InferInput<T>)[] | undefined;
88
+ silent?: true | undefined;
89
+ nested?: boolean;
90
+ transform?: T_1 | undefined;
91
+ }): Promise<false | import("../types").FormData<T, T_1>>;
92
+ };
93
+ errors: import("vue").Ref<{
94
+ id?: string | undefined;
95
+ name?: string | undefined;
96
+ message: string;
97
+ }[], import("../types").FormErrorWithId[] | {
98
+ id?: string | undefined;
99
+ name?: string | undefined;
100
+ message: string;
101
+ }[]>;
102
+ setErrors(errs: import("../types").FormError[], name?: string | RegExp | keyof InferInput<T> | undefined): void;
103
+ submit(): Promise<void>;
104
+ getErrors(name?: string | RegExp | keyof InferInput<T> | undefined): {
105
+ id?: string | undefined;
106
+ name?: string | undefined;
107
+ message: string;
108
+ }[];
109
+ clear(name?: string | RegExp | keyof InferInput<T> | undefined): void;
110
+ disabled: import("vue").ComputedRef<boolean>;
111
+ loading: import("vue").Ref<boolean, boolean>;
112
+ dirty: import("vue").ComputedRef<boolean>;
113
+ dirtyFields: ReadonlySet<import("vue").DeepReadonly<import("@vue/reactivity").UnwrapRefSimple<keyof InferInput<T>>>>;
114
+ blurredFields: ReadonlySet<import("vue").DeepReadonly<import("@vue/reactivity").UnwrapRefSimple<keyof InferInput<T>>>>;
115
+ touchedFields: ReadonlySet<import("vue").DeepReadonly<import("@vue/reactivity").UnwrapRefSimple<keyof InferInput<T>>>>;
116
+ }> | null>>;
79
117
  state: import("vue").Reactive<InferInput<T>>;
80
118
  }>): void;
81
119
  attrs: any;
@@ -0,0 +1,41 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/avatar';
3
+ import type { ChipProps, IconProps } from '../types';
4
+ import type { ComponentConfig } from '../types/tv';
5
+ type Avatar = ComponentConfig<typeof theme, AppConfig, 'avatar'>;
6
+ export interface AvatarProps {
7
+ /**
8
+ * The element or component this component should render as.
9
+ * @defaultValue 'span'
10
+ */
11
+ as?: any;
12
+ src?: string;
13
+ alt?: string;
14
+ /**
15
+ * @IconifyIcon
16
+ */
17
+ icon?: IconProps['name'];
18
+ text?: string;
19
+ /**
20
+ * @defaultValue 'md'
21
+ */
22
+ size?: Avatar['variants']['size'];
23
+ chip?: boolean | ChipProps;
24
+ class?: any;
25
+ style?: any;
26
+ ui?: Avatar['slots'];
27
+ }
28
+ export interface AvatarSlots {
29
+ default(props?: {}): any;
30
+ }
31
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AvatarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvatarProps> & Readonly<{}>, {
32
+ as: any;
33
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
34
+ default?: (props: {}) => any;
35
+ }>;
36
+ export default _default;
37
+ type __VLS_WithSlots<T, S> = T & {
38
+ new (): {
39
+ $slots: S;
40
+ };
41
+ };