@nuxt/ui 3.3.4 → 3.3.5

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 (78) hide show
  1. package/.nuxt/ui/progress.ts +3 -3
  2. package/README.md +10 -10
  3. package/dist/module.d.mts +6 -6
  4. package/dist/module.json +3 -3
  5. package/dist/module.mjs +3 -3
  6. package/dist/runtime/components/Accordion.d.vue.ts +77 -0
  7. package/dist/runtime/components/Alert.d.vue.ts +81 -0
  8. package/dist/runtime/components/App.d.vue.ts +24 -0
  9. package/dist/runtime/components/Avatar.d.vue.ts +41 -0
  10. package/dist/runtime/components/AvatarGroup.d.vue.ts +31 -0
  11. package/dist/runtime/components/Badge.d.vue.ts +43 -0
  12. package/dist/runtime/components/Breadcrumb.d.vue.ts +66 -0
  13. package/dist/runtime/components/Button.d.vue.ts +44 -0
  14. package/dist/runtime/components/ButtonGroup.d.vue.ts +34 -0
  15. package/dist/runtime/components/Calendar.d.vue.ts +112 -0
  16. package/dist/runtime/components/Card.d.vue.ts +29 -0
  17. package/dist/runtime/components/Carousel.d.vue.ts +127 -0
  18. package/dist/runtime/components/Checkbox.d.vue.ts +73 -0
  19. package/dist/runtime/components/CheckboxGroup.d.vue.ts +84 -0
  20. package/dist/runtime/components/Chip.d.vue.ts +57 -0
  21. package/dist/runtime/components/Collapsible.d.vue.ts +35 -0
  22. package/dist/runtime/components/ColorPicker.d.vue.ts +48 -0
  23. package/dist/runtime/components/CommandPalette.d.vue.ts +192 -0
  24. package/dist/runtime/components/Container.d.vue.ts +18 -0
  25. package/dist/runtime/components/ContextMenu.d.vue.ts +109 -0
  26. package/dist/runtime/components/ContextMenuContent.d.vue.ts +49 -0
  27. package/dist/runtime/components/Drawer.d.vue.ts +83 -0
  28. package/dist/runtime/components/DropdownMenu.d.vue.ts +119 -0
  29. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +55 -0
  30. package/dist/runtime/components/FileUpload.d.vue.ts +166 -0
  31. package/dist/runtime/components/Form.d.vue.ts +71 -0
  32. package/dist/runtime/components/FormField.d.vue.ts +61 -0
  33. package/dist/runtime/components/Icon.d.vue.ts +8 -0
  34. package/dist/runtime/components/Input.d.vue.ts +77 -0
  35. package/dist/runtime/components/InputMenu.d.vue.ts +329 -0
  36. package/dist/runtime/components/InputMenu.vue +1 -1
  37. package/dist/runtime/components/InputMenu.vue.d.ts +2 -8
  38. package/dist/runtime/components/InputNumber.d.vue.ts +186 -0
  39. package/dist/runtime/components/InputTags.d.vue.ts +185 -0
  40. package/dist/runtime/components/InputTags.vue +2 -2
  41. package/dist/runtime/components/Kbd.d.vue.ts +38 -0
  42. package/dist/runtime/components/Link.d.vue.ts +91 -0
  43. package/dist/runtime/components/LinkBase.d.vue.ts +25 -0
  44. package/dist/runtime/components/Modal.d.vue.ts +106 -0
  45. package/dist/runtime/components/NavigationMenu.d.vue.ts +170 -0
  46. package/dist/runtime/components/OverlayProvider.d.vue.ts +2 -0
  47. package/dist/runtime/components/Pagination.d.vue.ts +118 -0
  48. package/dist/runtime/components/PinInput.d.vue.ts +60 -0
  49. package/dist/runtime/components/Popover.d.vue.ts +70 -0
  50. package/dist/runtime/components/Progress.d.vue.ts +66 -0
  51. package/dist/runtime/components/Progress.vue +2 -3
  52. package/dist/runtime/components/RadioGroup.d.vue.ts +94 -0
  53. package/dist/runtime/components/Select.d.vue.ts +253 -0
  54. package/dist/runtime/components/SelectMenu.d.vue.ts +302 -0
  55. package/dist/runtime/components/Separator.d.vue.ts +54 -0
  56. package/dist/runtime/components/Skeleton.d.vue.ts +17 -0
  57. package/dist/runtime/components/Slideover.d.vue.ts +107 -0
  58. package/dist/runtime/components/Slider.d.vue.ts +57 -0
  59. package/dist/runtime/components/Stepper.d.vue.ts +85 -0
  60. package/dist/runtime/components/Switch.d.vue.ts +70 -0
  61. package/dist/runtime/components/Table.d.vue.ts +201 -0
  62. package/dist/runtime/components/Tabs.d.vue.ts +98 -0
  63. package/dist/runtime/components/Tabs.vue +2 -2
  64. package/dist/runtime/components/Textarea.d.vue.ts +79 -0
  65. package/dist/runtime/components/Timeline.d.vue.ts +70 -0
  66. package/dist/runtime/components/Toast.d.vue.ts +164 -0
  67. package/dist/runtime/components/Toaster.d.vue.ts +44 -0
  68. package/dist/runtime/components/Tooltip.d.vue.ts +56 -0
  69. package/dist/runtime/components/Tree.d.vue.ts +114 -0
  70. package/dist/runtime/inertia/components/Link.d.vue.ts +63 -0
  71. package/dist/runtime/inertia/components/LinkBase.d.vue.ts +25 -0
  72. package/dist/runtime/types/tv.d.ts +9 -2
  73. package/dist/runtime/vue/components/Icon.d.vue.ts +5 -0
  74. package/dist/runtime/vue/components/Link.d.vue.ts +93 -0
  75. package/dist/shared/{ui.BTUFJHYJ.mjs → ui.DH9BUZkq.mjs} +12 -8
  76. package/dist/unplugin.mjs +1 -1
  77. package/dist/vite.mjs +1 -1
  78. package/package.json +8 -8
@@ -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": {
package/README.md CHANGED
@@ -18,28 +18,28 @@ Nuxt UI harnesses the combined strengths of [Reka UI](https://reka-ui.com/), [Ta
18
18
 
19
19
  > [!TIP]
20
20
  > **Looking for more components ?**
21
- > Check out [Nuxt UI Pro](https://ui.nuxt.com/pro), a collection of premium Vue components, composables, and utilities built on top of Nuxt UI for faster and more powerful app development.
21
+ > Check out [Nuxt UI Pro](https://ui3.nuxt.com/pro), a collection of premium Vue components, composables, and utilities built on top of Nuxt UI for faster and more powerful app development.
22
22
 
23
23
  ## Documentation
24
24
 
25
- Visit https://ui.nuxt.com to explore the documentation.
25
+ Visit https://ui3.nuxt.com to explore the documentation.
26
26
 
27
27
  ## Installation
28
28
 
29
29
  ```bash [pnpm]
30
- pnpm add @nuxt/ui
30
+ pnpm add @nuxt/ui@3
31
31
  ```
32
32
 
33
33
  ```bash [yarn]
34
- yarn add @nuxt/ui
34
+ yarn add @nuxt/ui@3
35
35
  ```
36
36
 
37
37
  ```bash [npm]
38
- npm install @nuxt/ui
38
+ npm install @nuxt/ui@3
39
39
  ```
40
40
 
41
41
  ```bash [bun]
42
- bun add @nuxt/ui
42
+ bun add @nuxt/ui@3
43
43
  ```
44
44
 
45
45
  ### Nuxt
@@ -59,7 +59,7 @@ export default defineNuxtConfig({
59
59
  @import "@nuxt/ui";
60
60
  ```
61
61
 
62
- Learn more in the [installation guide](https://ui.nuxt.com/getting-started/installation/nuxt).
62
+ Learn more in the [installation guide](https://ui3.nuxt.com/getting-started/installation/nuxt).
63
63
 
64
64
  ### Vue
65
65
 
@@ -106,18 +106,18 @@ app.mount('#app')
106
106
  @import "@nuxt/ui";
107
107
  ```
108
108
 
109
- Learn more in the [installation guide](https://ui.nuxt.com/getting-started/installation/vue).
109
+ Learn more in the [installation guide](https://ui3.nuxt.com/getting-started/installation/vue).
110
110
 
111
111
  ## Contribution
112
112
 
113
113
  Thank you for considering contributing to Nuxt UI. Here are a few ways you can get involved:
114
114
 
115
115
  - Reporting Bugs: If you come across any bugs or issues, please check out the reporting bugs guide to learn how to submit a bug report.
116
- - Suggestions: Have any thoughts to enhance Nuxt UI? We'd love to hear them! Check out the [contribution guide](https://ui.nuxt.com/getting-started/contribution) to share your suggestions.
116
+ - Suggestions: Have any thoughts to enhance Nuxt UI? We'd love to hear them! Check out the [contribution guide](https://ui3.nuxt.com/getting-started/contribution) to share your suggestions.
117
117
 
118
118
  ## Local Development
119
119
 
120
- Follow the docs to [set up your local development environment](https://ui.nuxt.com/getting-started/contribution#local-development) and contribute.
120
+ Follow the docs to [set up your local development environment](https://ui3.nuxt.com/getting-started/contribution#local-development) and contribute.
121
121
 
122
122
  ## Credits
123
123
 
package/dist/module.d.mts CHANGED
@@ -7,36 +7,36 @@ interface ModuleOptions {
7
7
  /**
8
8
  * Prefix for components
9
9
  * @defaultValue `U`
10
- * @link https://ui.nuxt.com/getting-started/installation/nuxt#prefix
10
+ * @link https://ui3.nuxt.com/getting-started/installation/nuxt#prefix
11
11
  */
12
12
  prefix?: string;
13
13
  /**
14
14
  * Enable or disable `@nuxt/fonts` module
15
15
  * @defaultValue `true`
16
- * @link https://ui.nuxt.com/getting-started/installation/nuxt#fonts
16
+ * @link https://ui3.nuxt.com/getting-started/installation/nuxt#fonts
17
17
  */
18
18
  fonts?: boolean;
19
19
  /**
20
20
  * Enable or disable `@nuxtjs/color-mode` module
21
21
  * @defaultValue `true`
22
- * @link https://ui.nuxt.com/getting-started/installation/nuxt#colormode
22
+ * @link https://ui3.nuxt.com/getting-started/installation/nuxt#colormode
23
23
  */
24
24
  colorMode?: boolean;
25
25
  /**
26
26
  * Customize how the theme is generated
27
- * @link https://ui.nuxt.com/getting-started/theme
27
+ * @link https://ui3.nuxt.com/getting-started/theme
28
28
  */
29
29
  theme?: {
30
30
  /**
31
31
  * Define the color aliases available for components
32
32
  * @defaultValue `['primary', 'secondary', 'success', 'info', 'warning', 'error']`
33
- * @link https://ui.nuxt.com/getting-started/installation/nuxt#themecolors
33
+ * @link https://ui3.nuxt.com/getting-started/installation/nuxt#themecolors
34
34
  */
35
35
  colors?: Color[];
36
36
  /**
37
37
  * Enable or disable transitions on components
38
38
  * @defaultValue `true`
39
- * @link https://ui.nuxt.com/getting-started/installation/nuxt#themetransitions
39
+ * @link https://ui3.nuxt.com/getting-started/installation/nuxt#themetransitions
40
40
  */
41
41
  transitions?: boolean;
42
42
  defaultVariants?: {
package/dist/module.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@nuxt/ui",
3
- "version": "3.3.4",
4
- "docs": "https://ui.nuxt.com/getting-started/installation/nuxt",
3
+ "version": "3.3.5",
4
+ "docs": "https://ui3.nuxt.com/getting-started/installation/nuxt",
5
5
  "configKey": "ui",
6
6
  "compatibility": {
7
7
  "nuxt": ">=3.16.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
2
  import { defineNuxtModule, createResolver, addVitePlugin, addPlugin, addComponentsDir, addImportsDir, hasNuxtModule, installModule } from '@nuxt/kit';
3
- import { d as defaultOptions, r as resolveColors, a as getDefaultUiConfig, b as addTemplates } from './shared/ui.BTUFJHYJ.mjs';
3
+ import { d as defaultOptions, r as resolveColors, a as getDefaultUiConfig, b as addTemplates } from './shared/ui.DH9BUZkq.mjs';
4
4
  import '../dist/runtime/utils/index.js';
5
5
  import 'node:url';
6
6
  import 'scule';
@@ -8,13 +8,13 @@ import 'tailwindcss/colors';
8
8
  import 'knitwork';
9
9
 
10
10
  const name = "@nuxt/ui";
11
- const version = "3.3.4";
11
+ const version = "3.3.5";
12
12
 
13
13
  const module = defineNuxtModule({
14
14
  meta: {
15
15
  name,
16
16
  version,
17
- docs: "https://ui.nuxt.com/getting-started/installation/nuxt",
17
+ docs: "https://ui3.nuxt.com/getting-started/installation/nuxt",
18
18
  configKey: "ui",
19
19
  compatibility: {
20
20
  nuxt: ">=3.16.0"
@@ -0,0 +1,77 @@
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 { DynamicSlots, ComponentConfig } from '../types/utils';
5
+ type Accordion = ComponentConfig<typeof theme, AppConfig, 'accordion'>;
6
+ export interface AccordionItem {
7
+ label?: string;
8
+ /**
9
+ * @IconifyIcon
10
+ */
11
+ icon?: string;
12
+ /**
13
+ * @IconifyIcon
14
+ */
15
+ trailingIcon?: string;
16
+ slot?: string;
17
+ content?: string;
18
+ /** A unique value for the accordion item. Defaults to the index. */
19
+ value?: string;
20
+ disabled?: boolean;
21
+ class?: any;
22
+ ui?: Pick<Accordion['slots'], 'item' | 'header' | 'trigger' | 'leadingIcon' | 'label' | 'trailingIcon' | 'content' | 'body'>;
23
+ [key: string]: any;
24
+ }
25
+ export interface AccordionProps<T extends AccordionItem = AccordionItem> extends Pick<AccordionRootProps, 'collapsible' | 'defaultValue' | 'modelValue' | 'type' | 'disabled' | 'unmountOnHide'> {
26
+ /**
27
+ * The element or component this component should render as.
28
+ * @defaultValue 'div'
29
+ */
30
+ as?: any;
31
+ items?: T[];
32
+ /**
33
+ * The icon displayed on the right side of the trigger.
34
+ * @defaultValue appConfig.ui.icons.chevronDown
35
+ * @IconifyIcon
36
+ */
37
+ trailingIcon?: string;
38
+ /**
39
+ * The key used to get the label from the item.
40
+ * @defaultValue 'label'
41
+ */
42
+ labelKey?: string;
43
+ class?: any;
44
+ ui?: Accordion['slots'];
45
+ }
46
+ export interface AccordionEmits extends AccordionRootEmits {
47
+ }
48
+ type SlotProps<T extends AccordionItem> = (props: {
49
+ item: T;
50
+ index: number;
51
+ open: boolean;
52
+ }) => any;
53
+ export type AccordionSlots<T extends AccordionItem = AccordionItem> = {
54
+ leading: SlotProps<T>;
55
+ default: SlotProps<T>;
56
+ trailing: SlotProps<T>;
57
+ content: SlotProps<T>;
58
+ body: SlotProps<T>;
59
+ } & DynamicSlots<T, 'body', {
60
+ index: number;
61
+ open: boolean;
62
+ }>;
63
+ 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<{
64
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
65
+ readonly "onUpdate:modelValue"?: ((value: string | string[] | undefined) => any) | undefined;
66
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue"> & AccordionProps<T> & {}> & import("vue").PublicProps;
67
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
68
+ attrs: any;
69
+ slots: AccordionSlots<T>;
70
+ emit: (evt: "update:modelValue", value: string | string[] | undefined) => void;
71
+ }>) => import("vue").VNode & {
72
+ __ctx?: Awaited<typeof __VLS_setup>;
73
+ };
74
+ export default _default;
75
+ type __VLS_PrettifyLocal<T> = {
76
+ [K in keyof T as K]: T[K];
77
+ } & {};
@@ -0,0 +1,81 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/alert';
3
+ import type { AvatarProps, ButtonProps } from '../types';
4
+ import type { ComponentConfig } from '../types/utils';
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?: string;
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?: string;
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,24 @@
1
+ import type { ConfigProviderProps, TooltipProviderProps } from 'reka-ui';
2
+ import type { ToasterProps, Locale, Messages } from '../types';
3
+ export interface AppProps<T extends Messages = Messages> extends Omit<ConfigProviderProps, 'useId' | 'dir' | 'locale'> {
4
+ tooltip?: TooltipProviderProps;
5
+ toaster?: ToasterProps | null;
6
+ locale?: Locale<T>;
7
+ portal?: string | HTMLElement;
8
+ }
9
+ export interface AppSlots {
10
+ default(props?: {}): any;
11
+ }
12
+ 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<{
13
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & AppProps<T> & {}> & import("vue").PublicProps;
14
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
15
+ attrs: any;
16
+ slots: AppSlots;
17
+ emit: {};
18
+ }>) => import("vue").VNode & {
19
+ __ctx?: Awaited<typeof __VLS_setup>;
20
+ };
21
+ export default _default;
22
+ type __VLS_PrettifyLocal<T> = {
23
+ [K in keyof T as K]: T[K];
24
+ } & {};
@@ -0,0 +1,41 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/avatar';
3
+ import type { ChipProps } from '../types';
4
+ import type { ComponentConfig } from '../types/utils';
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?: string;
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
+ };
@@ -0,0 +1,31 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/avatar-group';
3
+ import type { ComponentConfig } from '../types/utils';
4
+ type AvatarGroup = ComponentConfig<typeof theme, AppConfig, 'avatarGroup'>;
5
+ export interface AvatarGroupProps {
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?: AvatarGroup['variants']['size'];
15
+ /**
16
+ * The maximum number of avatars to display.
17
+ */
18
+ max?: number | string;
19
+ class?: any;
20
+ ui?: AvatarGroup['slots'];
21
+ }
22
+ export interface AvatarGroupSlots {
23
+ default(props?: {}): any;
24
+ }
25
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AvatarGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvatarGroupProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, AvatarGroupSlots>;
26
+ export default _default;
27
+ type __VLS_WithSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,43 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/badge';
3
+ import type { UseComponentIconsProps } from '../composables/useComponentIcons';
4
+ import type { ComponentConfig } from '../types/utils';
5
+ type Badge = ComponentConfig<typeof theme, AppConfig, 'badge'>;
6
+ export interface BadgeProps extends Omit<UseComponentIconsProps, 'loading' | 'loadingIcon'> {
7
+ /**
8
+ * The element or component this component should render as.
9
+ * @defaultValue 'span'
10
+ */
11
+ as?: any;
12
+ label?: string | number;
13
+ /**
14
+ * @defaultValue 'primary'
15
+ */
16
+ color?: Badge['variants']['color'];
17
+ /**
18
+ * @defaultValue 'solid'
19
+ */
20
+ variant?: Badge['variants']['variant'];
21
+ /**
22
+ * @defaultValue 'md'
23
+ */
24
+ size?: Badge['variants']['size'];
25
+ /** Render the badge with equal padding on all sides. */
26
+ square?: boolean;
27
+ class?: any;
28
+ ui?: Badge['slots'];
29
+ }
30
+ export interface BadgeSlots {
31
+ leading(props?: {}): any;
32
+ default(props?: {}): any;
33
+ trailing(props?: {}): any;
34
+ }
35
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<BadgeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
36
+ as: any;
37
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, BadgeSlots>;
38
+ export default _default;
39
+ type __VLS_WithSlots<T, S> = T & {
40
+ new (): {
41
+ $slots: S;
42
+ };
43
+ };
@@ -0,0 +1,66 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/breadcrumb';
3
+ import type { AvatarProps, LinkProps } from '../types';
4
+ import type { DynamicSlots, ComponentConfig } from '../types/utils';
5
+ type Breadcrumb = ComponentConfig<typeof theme, AppConfig, 'breadcrumb'>;
6
+ export interface BreadcrumbItem extends Omit<LinkProps, 'raw' | 'custom'> {
7
+ label?: string;
8
+ /**
9
+ * @IconifyIcon
10
+ */
11
+ icon?: string;
12
+ avatar?: AvatarProps;
13
+ slot?: string;
14
+ class?: any;
15
+ ui?: Pick<Breadcrumb['slots'], 'item' | 'link' | 'linkLeadingIcon' | 'linkLeadingAvatar' | 'linkLabel' | 'separator' | 'separatorIcon'>;
16
+ [key: string]: any;
17
+ }
18
+ export interface BreadcrumbProps<T extends BreadcrumbItem = BreadcrumbItem> {
19
+ /**
20
+ * The element or component this component should render as.
21
+ * @defaultValue 'nav'
22
+ */
23
+ as?: any;
24
+ items?: T[];
25
+ /**
26
+ * The icon to use as a separator.
27
+ * @defaultValue appConfig.ui.icons.chevronRight
28
+ * @IconifyIcon
29
+ */
30
+ separatorIcon?: string;
31
+ /**
32
+ * The key used to get the label from the item.
33
+ * @defaultValue 'label'
34
+ */
35
+ labelKey?: string;
36
+ class?: any;
37
+ ui?: Breadcrumb['slots'];
38
+ }
39
+ type SlotProps<T extends BreadcrumbItem> = (props: {
40
+ item: T;
41
+ index: number;
42
+ active?: boolean;
43
+ }) => any;
44
+ export type BreadcrumbSlots<T extends BreadcrumbItem = BreadcrumbItem> = {
45
+ 'item': SlotProps<T>;
46
+ 'item-leading': SlotProps<T>;
47
+ 'item-label': SlotProps<T>;
48
+ 'item-trailing': SlotProps<T>;
49
+ 'separator': any;
50
+ } & DynamicSlots<T, 'leading' | 'label' | 'trailing', {
51
+ index: number;
52
+ active?: boolean;
53
+ }>;
54
+ declare const _default: <T extends BreadcrumbItem>(__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<{
55
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & BreadcrumbProps<T> & {}> & import("vue").PublicProps;
56
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
57
+ attrs: any;
58
+ slots: BreadcrumbSlots<T>;
59
+ emit: {};
60
+ }>) => import("vue").VNode & {
61
+ __ctx?: Awaited<typeof __VLS_setup>;
62
+ };
63
+ export default _default;
64
+ type __VLS_PrettifyLocal<T> = {
65
+ [K in keyof T as K]: T[K];
66
+ } & {};
@@ -0,0 +1,44 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/button';
3
+ import type { UseComponentIconsProps } from '../composables/useComponentIcons';
4
+ import type { LinkProps } from '../types';
5
+ import type { ComponentConfig } from '../types/utils';
6
+ type Button = ComponentConfig<typeof theme, AppConfig, 'button'>;
7
+ export interface ButtonProps extends UseComponentIconsProps, Omit<LinkProps, 'raw' | 'custom'> {
8
+ label?: string;
9
+ /**
10
+ * @defaultValue 'primary'
11
+ */
12
+ color?: Button['variants']['color'];
13
+ activeColor?: Button['variants']['color'];
14
+ /**
15
+ * @defaultValue 'solid'
16
+ */
17
+ variant?: Button['variants']['variant'];
18
+ activeVariant?: Button['variants']['variant'];
19
+ /**
20
+ * @defaultValue 'md'
21
+ */
22
+ size?: Button['variants']['size'];
23
+ /** Render the button with equal padding on all sides. */
24
+ square?: boolean;
25
+ /** Render the button full width. */
26
+ block?: boolean;
27
+ /** Set loading state automatically based on the `@click` promise state */
28
+ loadingAuto?: boolean;
29
+ onClick?: ((event: MouseEvent) => void | Promise<void>) | Array<((event: MouseEvent) => void | Promise<void>)>;
30
+ class?: any;
31
+ ui?: Button['slots'];
32
+ }
33
+ export interface ButtonSlots {
34
+ leading(props?: {}): any;
35
+ default(props?: {}): any;
36
+ trailing(props?: {}): any;
37
+ }
38
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ButtonSlots>;
39
+ export default _default;
40
+ type __VLS_WithSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };
@@ -0,0 +1,34 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/button-group';
3
+ import type { ComponentConfig } from '../types/utils';
4
+ type ButtonGroup = ComponentConfig<typeof theme, AppConfig, 'buttonGroup'>;
5
+ export interface ButtonGroupProps {
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?: ButtonGroup['variants']['size'];
15
+ /**
16
+ * The orientation the buttons are laid out.
17
+ * @defaultValue 'horizontal'
18
+ */
19
+ orientation?: ButtonGroup['variants']['orientation'];
20
+ class?: any;
21
+ ui?: ButtonGroup['slots'];
22
+ }
23
+ export interface ButtonGroupSlots {
24
+ default(props?: {}): any;
25
+ }
26
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ButtonGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonGroupProps> & Readonly<{}>, {
27
+ orientation: ButtonGroup["variants"]["orientation"];
28
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ButtonGroupSlots>;
29
+ export default _default;
30
+ type __VLS_WithSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };