@nuxt/ui 4.0.0-alpha.1 → 4.0.0-beta.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 (257) 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/prose/img.ts +1 -1
  6. package/.nuxt/ui/tree.ts +1 -1
  7. package/README.md +14 -1
  8. package/dist/module.d.mts +6 -6
  9. package/dist/module.json +2 -2
  10. package/dist/module.mjs +8 -6
  11. package/dist/runtime/components/Accordion.d.vue.ts +79 -0
  12. package/dist/runtime/components/Accordion.vue +3 -3
  13. package/dist/runtime/components/Accordion.vue.d.ts +2 -2
  14. package/dist/runtime/components/Alert.d.vue.ts +81 -0
  15. package/dist/runtime/components/App.d.vue.ts +25 -0
  16. package/dist/runtime/components/AuthForm.d.vue.ts +128 -0
  17. package/dist/runtime/components/AuthForm.vue.d.ts +39 -1
  18. package/dist/runtime/components/Avatar.d.vue.ts +41 -0
  19. package/dist/runtime/components/AvatarGroup.d.vue.ts +31 -0
  20. package/dist/runtime/components/Badge.d.vue.ts +43 -0
  21. package/dist/runtime/components/Banner.d.vue.ts +72 -0
  22. package/dist/runtime/components/Banner.vue +1 -1
  23. package/dist/runtime/components/BlogPost.d.vue.ts +60 -0
  24. package/dist/runtime/components/BlogPosts.d.vue.ts +31 -0
  25. package/dist/runtime/components/Breadcrumb.d.vue.ts +67 -0
  26. package/dist/runtime/components/Breadcrumb.vue +1 -1
  27. package/dist/runtime/components/Breadcrumb.vue.d.ts +2 -2
  28. package/dist/runtime/components/Button.d.vue.ts +44 -0
  29. package/dist/runtime/components/Calendar.d.vue.ts +112 -0
  30. package/dist/runtime/components/Card.d.vue.ts +29 -0
  31. package/dist/runtime/components/Carousel.d.vue.ts +127 -0
  32. package/dist/runtime/components/Carousel.vue.d.ts +10 -10
  33. package/dist/runtime/components/ChangelogVersion.d.vue.ts +59 -0
  34. package/dist/runtime/components/ChangelogVersions.d.vue.ts +78 -0
  35. package/dist/runtime/components/ChangelogVersions.vue +2 -2
  36. package/dist/runtime/components/ChatMessage.d.vue.ts +67 -0
  37. package/dist/runtime/components/ChatMessages.d.vue.ts +83 -0
  38. package/dist/runtime/components/ChatMessages.vue +6 -6
  39. package/dist/runtime/components/ChatPalette.d.vue.ts +24 -0
  40. package/dist/runtime/components/ChatPrompt.d.vue.ts +61 -0
  41. package/dist/runtime/components/ChatPrompt.vue +2 -2
  42. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +100 -0
  43. package/dist/runtime/components/Checkbox.d.vue.ts +74 -0
  44. package/dist/runtime/components/CheckboxGroup.d.vue.ts +89 -0
  45. package/dist/runtime/components/CheckboxGroup.vue +8 -8
  46. package/dist/runtime/components/CheckboxGroup.vue.d.ts +20 -16
  47. package/dist/runtime/components/Chip.d.vue.ts +57 -0
  48. package/dist/runtime/components/Collapsible.d.vue.ts +35 -0
  49. package/dist/runtime/components/ColorPicker.d.vue.ts +48 -0
  50. package/dist/runtime/components/CommandPalette.d.vue.ts +193 -0
  51. package/dist/runtime/components/CommandPalette.vue +5 -4
  52. package/dist/runtime/components/CommandPalette.vue.d.ts +2 -1
  53. package/dist/runtime/components/Container.d.vue.ts +18 -0
  54. package/dist/runtime/components/ContextMenu.d.vue.ts +110 -0
  55. package/dist/runtime/components/ContextMenu.vue +2 -2
  56. package/dist/runtime/components/ContextMenu.vue.d.ts +2 -2
  57. package/dist/runtime/components/ContextMenuContent.d.vue.ts +50 -0
  58. package/dist/runtime/components/ContextMenuContent.vue +2 -2
  59. package/dist/runtime/components/ContextMenuContent.vue.d.ts +2 -2
  60. package/dist/runtime/components/DashboardGroup.d.vue.ts +24 -0
  61. package/dist/runtime/components/DashboardGroup.vue.d.ts +1 -1
  62. package/dist/runtime/components/DashboardNavbar.d.vue.ts +52 -0
  63. package/dist/runtime/components/DashboardPanel.d.vue.ts +30 -0
  64. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +18 -0
  65. package/dist/runtime/components/DashboardSearch.d.vue.ts +91 -0
  66. package/dist/runtime/components/DashboardSearch.vue +2 -2
  67. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +59 -0
  68. package/dist/runtime/components/DashboardSearchButton.vue +2 -2
  69. package/dist/runtime/components/DashboardSidebar.d.vue.ts +75 -0
  70. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +19 -0
  71. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +19 -0
  72. package/dist/runtime/components/DashboardToolbar.d.vue.ts +25 -0
  73. package/dist/runtime/components/Drawer.d.vue.ts +84 -0
  74. package/dist/runtime/components/DropdownMenu.d.vue.ts +120 -0
  75. package/dist/runtime/components/DropdownMenu.vue +2 -2
  76. package/dist/runtime/components/DropdownMenu.vue.d.ts +2 -2
  77. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +56 -0
  78. package/dist/runtime/components/DropdownMenuContent.vue +2 -2
  79. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +2 -2
  80. package/dist/runtime/components/Error.d.vue.ts +47 -0
  81. package/dist/runtime/components/FieldGroup.d.vue.ts +34 -0
  82. package/dist/runtime/components/FileUpload.d.vue.ts +166 -0
  83. package/dist/runtime/components/FileUpload.vue +1 -0
  84. package/dist/runtime/components/Footer.d.vue.ts +29 -0
  85. package/dist/runtime/components/FooterColumns.d.vue.ts +57 -0
  86. package/dist/runtime/components/Form.d.vue.ts +114 -0
  87. package/dist/runtime/components/Form.vue +144 -60
  88. package/dist/runtime/components/Form.vue.d.ts +54 -11
  89. package/dist/runtime/components/FormField.d.vue.ts +61 -0
  90. package/dist/runtime/components/FormField.vue +9 -3
  91. package/dist/runtime/components/Header.d.vue.ts +68 -0
  92. package/dist/runtime/components/Icon.d.vue.ts +8 -0
  93. package/dist/runtime/components/Input.d.vue.ts +74 -0
  94. package/dist/runtime/components/Input.vue.d.ts +4 -3
  95. package/dist/runtime/components/InputMenu.d.vue.ts +330 -0
  96. package/dist/runtime/components/InputMenu.vue +2 -2
  97. package/dist/runtime/components/InputMenu.vue.d.ts +4 -4
  98. package/dist/runtime/components/InputNumber.d.vue.ts +188 -0
  99. package/dist/runtime/components/InputNumber.vue +2 -2
  100. package/dist/runtime/components/InputNumber.vue.d.ts +0 -2
  101. package/dist/runtime/components/InputTags.d.vue.ts +186 -0
  102. package/dist/runtime/components/InputTags.vue +2 -2
  103. package/dist/runtime/components/Kbd.d.vue.ts +38 -0
  104. package/dist/runtime/components/Link.d.vue.ts +91 -0
  105. package/dist/runtime/components/LinkBase.d.vue.ts +25 -0
  106. package/dist/runtime/components/Main.d.vue.ts +20 -0
  107. package/dist/runtime/components/Marquee.d.vue.ts +32 -0
  108. package/dist/runtime/components/Marquee.vue +1 -1
  109. package/dist/runtime/components/Modal.d.vue.ts +107 -0
  110. package/dist/runtime/components/NavigationMenu.d.vue.ts +171 -0
  111. package/dist/runtime/components/NavigationMenu.vue.d.ts +2 -2
  112. package/dist/runtime/components/OverlayProvider.d.vue.ts +2 -0
  113. package/dist/runtime/components/Page.d.vue.ts +25 -0
  114. package/dist/runtime/components/PageAnchors.d.vue.ts +47 -0
  115. package/dist/runtime/components/PageAside.d.vue.ts +27 -0
  116. package/dist/runtime/components/PageBody.d.vue.ts +18 -0
  117. package/dist/runtime/components/PageCTA.d.vue.ts +56 -0
  118. package/dist/runtime/components/PageCard.d.vue.ts +72 -0
  119. package/dist/runtime/components/PageColumns.d.vue.ts +18 -0
  120. package/dist/runtime/components/PageFeature.d.vue.ts +44 -0
  121. package/dist/runtime/components/PageGrid.d.vue.ts +18 -0
  122. package/dist/runtime/components/PageHeader.d.vue.ts +36 -0
  123. package/dist/runtime/components/PageHero.d.vue.ts +53 -0
  124. package/dist/runtime/components/PageLinks.d.vue.ts +49 -0
  125. package/dist/runtime/components/PageList.d.vue.ts +21 -0
  126. package/dist/runtime/components/PageLogos.d.vue.ts +33 -0
  127. package/dist/runtime/components/PageSection.d.vue.ts +68 -0
  128. package/dist/runtime/components/Pagination.d.vue.ts +118 -0
  129. package/dist/runtime/components/PinInput.d.vue.ts +60 -0
  130. package/dist/runtime/components/Popover.d.vue.ts +71 -0
  131. package/dist/runtime/components/PricingPlan.d.vue.ts +112 -0
  132. package/dist/runtime/components/PricingPlans.d.vue.ts +44 -0
  133. package/dist/runtime/components/PricingTable.d.vue.ts +105 -0
  134. package/dist/runtime/components/Progress.d.vue.ts +66 -0
  135. package/dist/runtime/components/Progress.vue +2 -3
  136. package/dist/runtime/components/RadioGroup.d.vue.ts +99 -0
  137. package/dist/runtime/components/RadioGroup.vue +13 -11
  138. package/dist/runtime/components/RadioGroup.vue.d.ts +17 -13
  139. package/dist/runtime/components/Select.d.vue.ts +254 -0
  140. package/dist/runtime/components/Select.vue +3 -3
  141. package/dist/runtime/components/Select.vue.d.ts +5 -5
  142. package/dist/runtime/components/SelectMenu.d.vue.ts +303 -0
  143. package/dist/runtime/components/SelectMenu.vue.d.ts +4 -4
  144. package/dist/runtime/components/Separator.d.vue.ts +54 -0
  145. package/dist/runtime/components/Skeleton.d.vue.ts +17 -0
  146. package/dist/runtime/components/Slideover.d.vue.ts +108 -0
  147. package/dist/runtime/components/Slider.d.vue.ts +57 -0
  148. package/dist/runtime/components/Stepper.d.vue.ts +87 -0
  149. package/dist/runtime/components/Switch.d.vue.ts +71 -0
  150. package/dist/runtime/components/Table.d.vue.ts +201 -0
  151. package/dist/runtime/components/Table.vue.d.ts +26 -26
  152. package/dist/runtime/components/Tabs.d.vue.ts +99 -0
  153. package/dist/runtime/components/Tabs.vue +12 -5
  154. package/dist/runtime/components/Tabs.vue.d.ts +2 -2
  155. package/dist/runtime/components/Textarea.d.vue.ts +74 -0
  156. package/dist/runtime/components/Timeline.d.vue.ts +71 -0
  157. package/dist/runtime/components/Toast.d.vue.ts +165 -0
  158. package/dist/runtime/components/Toaster.d.vue.ts +44 -0
  159. package/dist/runtime/components/Tooltip.d.vue.ts +57 -0
  160. package/dist/runtime/components/Tree.d.vue.ts +112 -0
  161. package/dist/runtime/components/Tree.vue +88 -47
  162. package/dist/runtime/components/Tree.vue.d.ts +20 -24
  163. package/dist/runtime/components/User.d.vue.ts +47 -0
  164. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +7 -0
  165. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +23 -0
  166. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +6 -0
  167. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -0
  168. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +5 -0
  169. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +102 -0
  170. package/dist/runtime/components/content/ContentNavigation.vue +5 -4
  171. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +2 -2
  172. package/dist/runtime/components/content/ContentSearch.d.vue.ts +114 -0
  173. package/dist/runtime/components/content/ContentSearch.vue +2 -2
  174. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +59 -0
  175. package/dist/runtime/components/content/ContentSearchButton.vue +2 -2
  176. package/dist/runtime/components/content/ContentSurround.d.vue.ts +59 -0
  177. package/dist/runtime/components/content/ContentToc.d.vue.ts +88 -0
  178. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +15 -0
  179. package/dist/runtime/components/prose/A.d.vue.ts +15 -0
  180. package/dist/runtime/components/prose/Accordion.d.vue.ts +16 -0
  181. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +15 -0
  182. package/dist/runtime/components/prose/Badge.d.vue.ts +13 -0
  183. package/dist/runtime/components/prose/Blockquote.d.vue.ts +13 -0
  184. package/dist/runtime/components/prose/Callout.d.vue.ts +26 -0
  185. package/dist/runtime/components/prose/Card.d.vue.ts +29 -0
  186. package/dist/runtime/components/prose/CardGroup.d.vue.ts +13 -0
  187. package/dist/runtime/components/prose/Code.d.vue.ts +22 -0
  188. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +47 -0
  189. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +37 -0
  190. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +7 -0
  191. package/dist/runtime/components/prose/CodePreview.d.vue.ts +19 -0
  192. package/dist/runtime/components/prose/CodeTree.d.vue.ts +28 -0
  193. package/dist/runtime/components/prose/CodeTree.vue +38 -31
  194. package/dist/runtime/components/prose/Collapsible.d.vue.ts +39 -0
  195. package/dist/runtime/components/prose/Em.d.vue.ts +13 -0
  196. package/dist/runtime/components/prose/Field.d.vue.ts +39 -0
  197. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +18 -0
  198. package/dist/runtime/components/prose/H1.d.vue.ts +19 -0
  199. package/dist/runtime/components/prose/H2.d.vue.ts +19 -0
  200. package/dist/runtime/components/prose/H3.d.vue.ts +19 -0
  201. package/dist/runtime/components/prose/H4.d.vue.ts +19 -0
  202. package/dist/runtime/components/prose/Hr.d.vue.ts +5 -0
  203. package/dist/runtime/components/prose/Icon.d.vue.ts +6 -0
  204. package/dist/runtime/components/prose/Img.d.vue.ts +21 -0
  205. package/dist/runtime/components/prose/Kbd.d.vue.ts +6 -0
  206. package/dist/runtime/components/prose/Li.d.vue.ts +13 -0
  207. package/dist/runtime/components/prose/Ol.d.vue.ts +13 -0
  208. package/dist/runtime/components/prose/P.d.vue.ts +13 -0
  209. package/dist/runtime/components/prose/Pre.d.vue.ts +26 -0
  210. package/dist/runtime/components/prose/Script.d.vue.ts +5 -0
  211. package/dist/runtime/components/prose/Steps.d.vue.ts +22 -0
  212. package/dist/runtime/components/prose/Strong.d.vue.ts +13 -0
  213. package/dist/runtime/components/prose/Table.d.vue.ts +18 -0
  214. package/dist/runtime/components/prose/Tabs.d.vue.ts +36 -0
  215. package/dist/runtime/components/prose/TabsItem.d.vue.ts +15 -0
  216. package/dist/runtime/components/prose/Tbody.d.vue.ts +13 -0
  217. package/dist/runtime/components/prose/Td.d.vue.ts +13 -0
  218. package/dist/runtime/components/prose/Th.d.vue.ts +13 -0
  219. package/dist/runtime/components/prose/Thead.d.vue.ts +13 -0
  220. package/dist/runtime/components/prose/Tr.d.vue.ts +13 -0
  221. package/dist/runtime/components/prose/Ul.d.vue.ts +13 -0
  222. package/dist/runtime/components/prose/callout/Caution.d.vue.ts +14 -0
  223. package/dist/runtime/components/prose/callout/Note.d.vue.ts +14 -0
  224. package/dist/runtime/components/prose/callout/Tip.d.vue.ts +14 -0
  225. package/dist/runtime/components/prose/callout/Warning.d.vue.ts +14 -0
  226. package/dist/runtime/composables/useFormField.d.ts +1 -0
  227. package/dist/runtime/composables/useFormField.js +1 -4
  228. package/dist/runtime/inertia/components/Link.d.vue.ts +63 -0
  229. package/dist/runtime/inertia/components/LinkBase.d.vue.ts +25 -0
  230. package/dist/runtime/locale/de_ch.d.ts +3 -0
  231. package/dist/runtime/locale/de_ch.js +129 -0
  232. package/dist/runtime/locale/id.js +1 -1
  233. package/dist/runtime/locale/index.d.ts +2 -0
  234. package/dist/runtime/locale/index.js +2 -0
  235. package/dist/runtime/locale/ka.d.ts +3 -0
  236. package/dist/runtime/locale/ka.js +132 -0
  237. package/dist/runtime/locale/pt.js +2 -2
  238. package/dist/runtime/types/form.d.ts +12 -13
  239. package/dist/runtime/types/form.js +1 -3
  240. package/dist/runtime/types/index.d.ts +1 -0
  241. package/dist/runtime/types/index.js +1 -0
  242. package/dist/runtime/types/tv.d.ts +9 -2
  243. package/dist/runtime/types/utils.d.ts +7 -3
  244. package/dist/runtime/utils/form.d.ts +2 -6
  245. package/dist/runtime/utils/form.js +28 -60
  246. package/dist/runtime/utils/fuse.d.ts +2 -1
  247. package/dist/runtime/utils/index.d.ts +3 -3
  248. package/dist/runtime/utils/index.js +6 -3
  249. package/dist/runtime/vue/components/Icon.d.vue.ts +6 -0
  250. package/dist/runtime/vue/components/Link.d.vue.ts +93 -0
  251. package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +16 -0
  252. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -0
  253. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +5 -0
  254. package/dist/shared/{ui.BEZXPd3d.mjs → ui.DGJZ-1aX.mjs} +18 -13
  255. package/dist/unplugin.mjs +1 -1
  256. package/dist/vite.mjs +1 -1
  257. package/package.json +27 -40
@@ -3,14 +3,14 @@ import type { DropdownMenuContentProps as RekaDropdownMenuContentProps } from 'r
3
3
  import type { AppConfig } from '@nuxt/schema';
4
4
  import type theme from '#build/ui/dropdown-menu';
5
5
  import type { DropdownMenuItem, DropdownMenuSlots, IconProps } from '../types';
6
- import type { ArrayOrNested, NestedItem, DynamicSlots, MergeTypes } from '../types/utils';
6
+ import type { ArrayOrNested, GetItemKeys, NestedItem, DynamicSlots, MergeTypes } from '../types/utils';
7
7
  import type { ComponentConfig } from '../types/tv';
8
8
  type DropdownMenu = ComponentConfig<typeof theme, AppConfig, 'dropdownMenu'>;
9
9
  interface DropdownMenuContentProps<T extends ArrayOrNested<DropdownMenuItem>> extends Omit<RekaDropdownMenuContentProps, 'as' | 'asChild' | 'forceMount'> {
10
10
  items?: T;
11
11
  portal?: boolean | string | HTMLElement;
12
12
  sub?: boolean;
13
- labelKey: keyof NestedItem<T>;
13
+ labelKey: GetItemKeys<T>;
14
14
  /**
15
15
  * @IconifyIcon
16
16
  */
@@ -0,0 +1,47 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import type { NuxtError } from '#app';
3
+ import theme from '#build/ui/error';
4
+ import type { ButtonProps } from '../types';
5
+ import type { ComponentConfig } from '../types/tv';
6
+ type Error = ComponentConfig<typeof theme, AppConfig, 'error'>;
7
+ export interface ErrorProps {
8
+ /**
9
+ * The element or component this component should render as.
10
+ * @defaultValue 'div'
11
+ */
12
+ as?: any;
13
+ error?: Partial<NuxtError & {
14
+ message: string;
15
+ }>;
16
+ /**
17
+ * The URL to redirect to when the error is cleared.
18
+ * @defaultValue '/'
19
+ */
20
+ redirect?: string;
21
+ /**
22
+ * Display a button to clear the error in the links slot.
23
+ * `{ size: 'lg', color: 'primary', variant: 'solid', label: 'Back to home' }`{lang="ts-type"}
24
+ * @defaultValue true
25
+ */
26
+ clear?: boolean | Partial<ButtonProps>;
27
+ class?: any;
28
+ ui?: Error['slots'];
29
+ }
30
+ export interface ErrorSlots {
31
+ default(props?: {}): any;
32
+ statusCode(props?: {}): any;
33
+ statusMessage(props?: {}): any;
34
+ message(props?: {}): any;
35
+ links(props?: {}): any;
36
+ }
37
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ErrorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ErrorProps> & Readonly<{}>, {
38
+ clear: boolean | Partial<ButtonProps>;
39
+ as: any;
40
+ redirect: string;
41
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ErrorSlots>;
42
+ export default _default;
43
+ type __VLS_WithSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -0,0 +1,34 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/field-group';
3
+ import type { ComponentConfig } from '../types/tv';
4
+ type FieldGroup = ComponentConfig<typeof theme, AppConfig, 'fieldGroup'>;
5
+ export interface FieldGroupProps {
6
+ /**
7
+ * The element or component this component should render as.
8
+ * @defaultValue 'div'
9
+ */
10
+ as?: any;
11
+ /**
12
+ * @defaultValue 'md'
13
+ */
14
+ size?: FieldGroup['variants']['size'];
15
+ /**
16
+ * The orientation the buttons are laid out.
17
+ * @defaultValue 'horizontal'
18
+ */
19
+ orientation?: FieldGroup['variants']['orientation'];
20
+ class?: any;
21
+ ui?: FieldGroup['slots'];
22
+ }
23
+ export interface FieldGroupSlots {
24
+ default(props?: {}): any;
25
+ }
26
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<FieldGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<FieldGroupProps> & Readonly<{}>, {
27
+ orientation: FieldGroup["variants"]["orientation"];
28
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, FieldGroupSlots>;
29
+ export default _default;
30
+ type __VLS_WithSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,166 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import type { UseFileDialogReturn } from '@vueuse/core';
3
+ import theme from '#build/ui/file-upload';
4
+ import type { ButtonProps, IconProps } from '../types';
5
+ import type { ComponentConfig } from '../types/tv';
6
+ type FileUpload = ComponentConfig<typeof theme, AppConfig, 'fileUpload'>;
7
+ export interface FileUploadProps<M extends boolean = false> {
8
+ /**
9
+ * The element or component this component should render as.
10
+ * @defaultValue 'div'
11
+ */
12
+ as?: any;
13
+ id?: string;
14
+ name?: string;
15
+ /**
16
+ * The icon to display.
17
+ * @defaultValue appConfig.ui.icons.upload
18
+ * @IconifyIcon
19
+ */
20
+ icon?: IconProps['name'];
21
+ label?: string;
22
+ description?: string;
23
+ /**
24
+ * @defaultValue 'primary'
25
+ */
26
+ color?: FileUpload['variants']['color'];
27
+ /**
28
+ * The `button` variant is only available when `multiple` is `false`.
29
+ * @defaultValue 'area'
30
+ */
31
+ variant?: FileUpload['variants']['variant'];
32
+ /**
33
+ * @defaultValue 'md'
34
+ */
35
+ size?: FileUpload['variants']['size'];
36
+ /**
37
+ * The layout of how files are displayed.
38
+ * Only works when `variant` is `area`.
39
+ * @defaultValue 'list'
40
+ */
41
+ layout?: FileUpload['variants']['layout'];
42
+ /**
43
+ * The position of the files.
44
+ * Only works when `variant` is `area` and when `layout` is `list`.
45
+ * @defaultValue 'outside'
46
+ */
47
+ position?: FileUpload['variants']['position'];
48
+ /** Highlight the ring color like a focus state. */
49
+ highlight?: boolean;
50
+ /**
51
+ * Specifies the allowed file types for the input. Provide a comma-separated list of MIME types or file extensions (e.g., "image/png,application/pdf,.jpg").
52
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept
53
+ * @defaultValue '*'
54
+ */
55
+ accept?: string;
56
+ multiple?: M & boolean;
57
+ /**
58
+ * Reset the file input when the dialog is opened.
59
+ * @defaultValue false
60
+ */
61
+ reset?: boolean;
62
+ /**
63
+ * Create a zone that allows the user to drop files onto it.
64
+ * @defaultValue true
65
+ */
66
+ dropzone?: boolean;
67
+ /**
68
+ * Make the dropzone interactive when the user is clicking on it.
69
+ * @defaultValue true
70
+ */
71
+ interactive?: boolean;
72
+ required?: boolean;
73
+ disabled?: boolean;
74
+ /**
75
+ * The icon to display for the file.
76
+ * @defaultValue appConfig.ui.icons.file
77
+ * @IconifyIcon
78
+ */
79
+ fileIcon?: IconProps['name'];
80
+ /**
81
+ * Configure the delete button for the file.
82
+ * When `layout` is `grid`, the default is `{ color: 'neutral', variant: 'solid', size: 'xs' }`{lang="ts-type"}
83
+ * When `layout` is `list`, the default is `{ color: 'neutral', variant: 'link' }`{lang="ts-type"}
84
+ */
85
+ fileDelete?: boolean | Partial<ButtonProps>;
86
+ /**
87
+ * The icon displayed to delete a file.
88
+ * @defaultValue appConfig.ui.icons.close
89
+ * @IconifyIcon
90
+ */
91
+ fileDeleteIcon?: IconProps['name'];
92
+ class?: any;
93
+ ui?: FileUpload['slots'];
94
+ }
95
+ export interface FileUploadEmits {
96
+ change: [event: Event];
97
+ }
98
+ type FileUploadFiles<M> = (M extends true ? File[] : File) | null;
99
+ export interface FileUploadSlots<M extends boolean = false> {
100
+ 'default'(props: {
101
+ open: UseFileDialogReturn['open'];
102
+ removeFile: (index?: number) => void;
103
+ }): any;
104
+ 'leading'(props?: {}): any;
105
+ 'label'(props?: {}): any;
106
+ 'description'(props?: {}): any;
107
+ 'actions'(props: {
108
+ files?: FileUploadFiles<M>;
109
+ open: UseFileDialogReturn['open'];
110
+ removeFile: (index?: number) => void;
111
+ }): any;
112
+ 'files'(props: {
113
+ files?: FileUploadFiles<M>;
114
+ }): any;
115
+ 'files-top'(props: {
116
+ files?: FileUploadFiles<M>;
117
+ open: UseFileDialogReturn['open'];
118
+ removeFile: (index?: number) => void;
119
+ }): any;
120
+ 'files-bottom'(props: {
121
+ files?: FileUploadFiles<M>;
122
+ open: UseFileDialogReturn['open'];
123
+ removeFile: (index?: number) => void;
124
+ }): any;
125
+ 'file'(props: {
126
+ file: File;
127
+ index: number;
128
+ }): any;
129
+ 'file-leading'(props: {
130
+ file: File;
131
+ index: number;
132
+ }): any;
133
+ 'file-name'(props: {
134
+ file: File;
135
+ index: number;
136
+ }): any;
137
+ 'file-size'(props: {
138
+ file: File;
139
+ index: number;
140
+ }): any;
141
+ 'file-trailing'(props: {
142
+ file: File;
143
+ index: number;
144
+ }): any;
145
+ }
146
+ declare const _default: <M extends boolean = false>(__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<{
147
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
148
+ readonly onChange?: ((event: Event) => any) | undefined;
149
+ readonly "onUpdate:modelValue"?: ((value: (M extends true ? File[] : File) | null | undefined) => any) | undefined;
150
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onChange" | "onUpdate:modelValue"> & (FileUploadProps<M> & {
151
+ modelValue?: (M extends true ? File[] : File) | null;
152
+ }) & {}> & import("vue").PublicProps;
153
+ expose(exposed: import("vue").ShallowUnwrapRef<{
154
+ inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
155
+ dropzoneRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
156
+ }>): void;
157
+ attrs: any;
158
+ slots: FileUploadSlots<M>;
159
+ emit: ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: (M extends true ? File[] : File) | null | undefined) => void);
160
+ }>) => import("vue").VNode & {
161
+ __ctx?: Awaited<typeof __VLS_setup>;
162
+ };
163
+ export default _default;
164
+ type __VLS_PrettifyLocal<T> = {
165
+ [K in keyof T as K]: T[K];
166
+ } & {};
@@ -193,6 +193,7 @@ defineExpose({
193
193
  <component
194
194
  :is="variant === 'button' ? 'button' : 'div'"
195
195
  ref="dropzoneRef"
196
+ :type="variant === 'button' ? 'button' : void 0"
196
197
  :role="variant === 'button' ? void 0 : 'button'"
197
198
  :data-dragging="isDragging"
198
199
  :class="ui.base({ class: props.ui?.base })"
@@ -0,0 +1,29 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import type { ComponentConfig } from '../types/tv';
3
+ import theme from '#build/ui/footer';
4
+ type Footer = ComponentConfig<typeof theme, AppConfig, 'footer'>;
5
+ export interface FooterProps {
6
+ /**
7
+ * The element or component this component should render as.
8
+ * @defaultValue 'footer'
9
+ */
10
+ as?: any;
11
+ class?: any;
12
+ ui?: Footer['slots'];
13
+ }
14
+ export interface FooterSlots {
15
+ left(props?: {}): any;
16
+ default(props?: {}): any;
17
+ right(props?: {}): any;
18
+ top(props?: {}): any;
19
+ bottom(props?: {}): any;
20
+ }
21
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<FooterProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<FooterProps> & Readonly<{}>, {
22
+ as: any;
23
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, FooterSlots>;
24
+ export default _default;
25
+ type __VLS_WithSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };
@@ -0,0 +1,57 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/footer-columns';
3
+ import type { IconProps, LinkProps } from '../types';
4
+ import type { ComponentConfig } from '../types/tv';
5
+ type FooterColumns = ComponentConfig<typeof theme, AppConfig, 'footerColumns'>;
6
+ export interface FooterColumnLink extends Omit<LinkProps, 'custom'> {
7
+ label: string;
8
+ /**
9
+ * @IconifyIcon
10
+ */
11
+ icon?: IconProps['name'];
12
+ class?: any;
13
+ ui?: Pick<FooterColumns['slots'], 'item' | 'link' | 'linkLabel' | 'linkLabelExternalIcon' | 'linkLeadingIcon'>;
14
+ }
15
+ export interface FooterColumn<T extends FooterColumnLink = FooterColumnLink> {
16
+ label: string;
17
+ children?: T[];
18
+ }
19
+ export interface FooterColumnsProps<T extends FooterColumnLink = FooterColumnLink> {
20
+ /**
21
+ * The element or component this component should render as.
22
+ * @defaultValue 'div'
23
+ */
24
+ as?: any;
25
+ class?: any;
26
+ columns?: FooterColumn<T>[];
27
+ ui?: FooterColumns['slots'];
28
+ }
29
+ type SlotProps<T> = (props: {
30
+ link: T;
31
+ active: boolean;
32
+ }) => any;
33
+ export interface FooterColumnsSlots<T extends FooterColumnLink = FooterColumnLink> {
34
+ 'left'(props?: {}): any;
35
+ 'default'(props?: {}): any;
36
+ 'right'(props?: {}): any;
37
+ 'column-label'?: (props: {
38
+ column: FooterColumn<T>;
39
+ }) => any;
40
+ 'link': SlotProps<T>;
41
+ 'link-leading': SlotProps<T>;
42
+ 'link-label': SlotProps<T>;
43
+ 'link-trailing': SlotProps<T>;
44
+ }
45
+ declare const _default: <T extends FooterColumnLink>(__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<{
46
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & FooterColumnsProps<T> & {}> & import("vue").PublicProps;
47
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
48
+ attrs: any;
49
+ slots: FooterColumnsSlots<T>;
50
+ emit: {};
51
+ }>) => import("vue").VNode & {
52
+ __ctx?: Awaited<typeof __VLS_setup>;
53
+ };
54
+ export default _default;
55
+ type __VLS_PrettifyLocal<T> = {
56
+ [K in keyof T as K]: T[K];
57
+ } & {};
@@ -0,0 +1,114 @@
1
+ import type { FormSchema, FormError, FormInputEvents, FormErrorEvent, FormSubmitEvent, FormErrorWithId, InferInput, FormData } from '../types/form';
2
+ export type FormProps<S extends FormSchema, T extends boolean = true, N extends boolean = false> = {
3
+ id?: string | number;
4
+ /** Schema to validate the form state. Supports Standard Schema objects, Yup, Joi, and Superstructs. */
5
+ schema?: S;
6
+ /** An object representing the current state of the form. */
7
+ state?: N extends false ? Partial<InferInput<S>> : never;
8
+ /**
9
+ * Custom validation function to validate the form state.
10
+ * @param state - The current state of the form.
11
+ * @returns A promise that resolves to an array of FormError objects, or an array of FormError objects directly.
12
+ */
13
+ validate?: (state: Partial<InferInput<S>>) => Promise<FormError[]> | FormError[];
14
+ /**
15
+ * The list of input events that trigger the form validation.
16
+ * @remarks The form always validates on submit.
17
+ * @defaultValue `['blur', 'change', 'input']`
18
+ */
19
+ validateOn?: FormInputEvents[];
20
+ /** Disable all inputs inside the form. */
21
+ disabled?: boolean;
22
+ /**
23
+ * Path of the form's state within it's parent form.
24
+ * Used for nesting forms. Only available if `nested` is true.
25
+ */
26
+ name?: N extends true ? string : never;
27
+ /**
28
+ * Delay in milliseconds before validating the form on input events.
29
+ * @defaultValue `300`
30
+ */
31
+ validateOnInputDelay?: number;
32
+ /**
33
+ * If true, applies schema transformations on submit.
34
+ * @defaultValue `true`
35
+ */
36
+ transform?: T;
37
+ /**
38
+ * If true, this form will attach to its parent Form and validate at the same time.
39
+ * @defaultValue `false`
40
+ */
41
+ nested?: N;
42
+ /**
43
+ * When `true`, all form elements will be disabled on `@submit` event.
44
+ * This will cause any focused input elements to lose their focus state.
45
+ * @defaultValue `true`
46
+ */
47
+ loadingAuto?: boolean;
48
+ class?: any;
49
+ onSubmit?: ((event: FormSubmitEvent<FormData<S, T>>) => void | Promise<void>) | (() => void | Promise<void>);
50
+ };
51
+ export interface FormEmits<S extends FormSchema, T extends boolean = true> {
52
+ submit: [event: FormSubmitEvent<FormData<S, T>>];
53
+ error: [event: FormErrorEvent];
54
+ }
55
+ export interface FormSlots {
56
+ default(props: {
57
+ errors: FormError[];
58
+ loading: boolean;
59
+ }): any;
60
+ }
61
+ declare const _default: <S extends FormSchema, T extends boolean = true, N extends boolean = false>(__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<{
62
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
63
+ readonly onError?: ((event: FormErrorEvent) => any) | undefined;
64
+ readonly onSubmit?: ((event: FormSubmitEvent<FormData<S, T>>) => any) | undefined;
65
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onSubmit" | "onError"> & FormProps<S, T, N> & {}> & import("vue").PublicProps;
66
+ expose(exposed: import("vue").ShallowUnwrapRef<{
67
+ validate: {
68
+ <T_1 extends boolean>(opts: {
69
+ name?: keyof InferInput<S> | (keyof InferInput<S>)[] | undefined;
70
+ silent?: false | undefined;
71
+ nested?: boolean;
72
+ transform?: T_1 | undefined;
73
+ }): Promise<FormData<S, T_1>>;
74
+ <T_1 extends boolean>(opts: {
75
+ name?: keyof InferInput<S> | (keyof InferInput<S>)[] | undefined;
76
+ silent?: true | undefined;
77
+ nested?: boolean;
78
+ transform?: T_1 | undefined;
79
+ }): Promise<FormData<S, T_1> | false>;
80
+ };
81
+ errors: import("vue").Ref<{
82
+ id?: string | undefined;
83
+ name?: string | undefined;
84
+ message: string;
85
+ }[], FormErrorWithId[] | {
86
+ id?: string | undefined;
87
+ name?: string | undefined;
88
+ message: string;
89
+ }[]>;
90
+ setErrors(errs: FormError[], name?: keyof InferInput<S> | string | RegExp): void;
91
+ submit(): Promise<void>;
92
+ getErrors(name?: keyof InferInput<S> | string | RegExp): {
93
+ id?: string | undefined;
94
+ name?: string | undefined;
95
+ message: string;
96
+ }[];
97
+ clear(name?: keyof InferInput<S> | string | RegExp): void;
98
+ disabled: import("vue").ComputedRef<boolean>;
99
+ loading: import("vue").Ref<boolean, boolean>;
100
+ dirty: import("vue").ComputedRef<boolean>;
101
+ dirtyFields: ReadonlySet<import("vue").DeepReadonly<import("@vue/reactivity").UnwrapRefSimple<keyof InferInput<S>>>>;
102
+ blurredFields: ReadonlySet<import("vue").DeepReadonly<import("@vue/reactivity").UnwrapRefSimple<keyof InferInput<S>>>>;
103
+ touchedFields: ReadonlySet<import("vue").DeepReadonly<import("@vue/reactivity").UnwrapRefSimple<keyof InferInput<S>>>>;
104
+ }>): void;
105
+ attrs: any;
106
+ slots: FormSlots;
107
+ emit: ((evt: "error", event: FormErrorEvent) => void) & ((evt: "submit", event: FormSubmitEvent<FormData<S, T>>) => void);
108
+ }>) => import("vue").VNode & {
109
+ __ctx?: Awaited<typeof __VLS_setup>;
110
+ };
111
+ export default _default;
112
+ type __VLS_PrettifyLocal<T> = {
113
+ [K in keyof T as K]: T[K];
114
+ } & {};