@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.
- package/.nuxt/ui/progress.ts +3 -3
- package/README.md +10 -10
- package/dist/module.d.mts +6 -6
- package/dist/module.json +3 -3
- package/dist/module.mjs +3 -3
- package/dist/runtime/components/Accordion.d.vue.ts +77 -0
- package/dist/runtime/components/Alert.d.vue.ts +81 -0
- package/dist/runtime/components/App.d.vue.ts +24 -0
- package/dist/runtime/components/Avatar.d.vue.ts +41 -0
- package/dist/runtime/components/AvatarGroup.d.vue.ts +31 -0
- package/dist/runtime/components/Badge.d.vue.ts +43 -0
- package/dist/runtime/components/Breadcrumb.d.vue.ts +66 -0
- package/dist/runtime/components/Button.d.vue.ts +44 -0
- package/dist/runtime/components/ButtonGroup.d.vue.ts +34 -0
- package/dist/runtime/components/Calendar.d.vue.ts +112 -0
- package/dist/runtime/components/Card.d.vue.ts +29 -0
- package/dist/runtime/components/Carousel.d.vue.ts +127 -0
- package/dist/runtime/components/Checkbox.d.vue.ts +73 -0
- package/dist/runtime/components/CheckboxGroup.d.vue.ts +84 -0
- package/dist/runtime/components/Chip.d.vue.ts +57 -0
- package/dist/runtime/components/Collapsible.d.vue.ts +35 -0
- package/dist/runtime/components/ColorPicker.d.vue.ts +48 -0
- package/dist/runtime/components/CommandPalette.d.vue.ts +192 -0
- package/dist/runtime/components/Container.d.vue.ts +18 -0
- package/dist/runtime/components/ContextMenu.d.vue.ts +109 -0
- package/dist/runtime/components/ContextMenuContent.d.vue.ts +49 -0
- package/dist/runtime/components/Drawer.d.vue.ts +83 -0
- package/dist/runtime/components/DropdownMenu.d.vue.ts +119 -0
- package/dist/runtime/components/DropdownMenuContent.d.vue.ts +55 -0
- package/dist/runtime/components/FileUpload.d.vue.ts +166 -0
- package/dist/runtime/components/Form.d.vue.ts +71 -0
- package/dist/runtime/components/FormField.d.vue.ts +61 -0
- package/dist/runtime/components/Icon.d.vue.ts +8 -0
- package/dist/runtime/components/Input.d.vue.ts +77 -0
- package/dist/runtime/components/InputMenu.d.vue.ts +329 -0
- package/dist/runtime/components/InputMenu.vue +1 -1
- package/dist/runtime/components/InputMenu.vue.d.ts +2 -8
- package/dist/runtime/components/InputNumber.d.vue.ts +186 -0
- package/dist/runtime/components/InputTags.d.vue.ts +185 -0
- package/dist/runtime/components/InputTags.vue +2 -2
- package/dist/runtime/components/Kbd.d.vue.ts +38 -0
- package/dist/runtime/components/Link.d.vue.ts +91 -0
- package/dist/runtime/components/LinkBase.d.vue.ts +25 -0
- package/dist/runtime/components/Modal.d.vue.ts +106 -0
- package/dist/runtime/components/NavigationMenu.d.vue.ts +170 -0
- package/dist/runtime/components/OverlayProvider.d.vue.ts +2 -0
- package/dist/runtime/components/Pagination.d.vue.ts +118 -0
- package/dist/runtime/components/PinInput.d.vue.ts +60 -0
- package/dist/runtime/components/Popover.d.vue.ts +70 -0
- package/dist/runtime/components/Progress.d.vue.ts +66 -0
- package/dist/runtime/components/Progress.vue +2 -3
- package/dist/runtime/components/RadioGroup.d.vue.ts +94 -0
- package/dist/runtime/components/Select.d.vue.ts +253 -0
- package/dist/runtime/components/SelectMenu.d.vue.ts +302 -0
- package/dist/runtime/components/Separator.d.vue.ts +54 -0
- package/dist/runtime/components/Skeleton.d.vue.ts +17 -0
- package/dist/runtime/components/Slideover.d.vue.ts +107 -0
- package/dist/runtime/components/Slider.d.vue.ts +57 -0
- package/dist/runtime/components/Stepper.d.vue.ts +85 -0
- package/dist/runtime/components/Switch.d.vue.ts +70 -0
- package/dist/runtime/components/Table.d.vue.ts +201 -0
- package/dist/runtime/components/Tabs.d.vue.ts +98 -0
- package/dist/runtime/components/Tabs.vue +2 -2
- package/dist/runtime/components/Textarea.d.vue.ts +79 -0
- package/dist/runtime/components/Timeline.d.vue.ts +70 -0
- package/dist/runtime/components/Toast.d.vue.ts +164 -0
- package/dist/runtime/components/Toaster.d.vue.ts +44 -0
- package/dist/runtime/components/Tooltip.d.vue.ts +56 -0
- package/dist/runtime/components/Tree.d.vue.ts +114 -0
- package/dist/runtime/inertia/components/Link.d.vue.ts +63 -0
- package/dist/runtime/inertia/components/LinkBase.d.vue.ts +25 -0
- package/dist/runtime/types/tv.d.ts +9 -2
- package/dist/runtime/vue/components/Icon.d.vue.ts +5 -0
- package/dist/runtime/vue/components/Link.d.vue.ts +93 -0
- package/dist/shared/{ui.BTUFJHYJ.mjs → ui.DH9BUZkq.mjs} +12 -8
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +8 -8
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { PaginationRootProps, PaginationRootEmits } from 'reka-ui';
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
3
|
+
import theme from '#build/ui/pagination';
|
|
4
|
+
import type { ButtonProps } from '../types';
|
|
5
|
+
import type { ComponentConfig } from '../types/utils';
|
|
6
|
+
type Pagination = ComponentConfig<typeof theme, AppConfig, 'pagination'>;
|
|
7
|
+
export interface PaginationProps extends Partial<Pick<PaginationRootProps, 'defaultPage' | 'disabled' | 'itemsPerPage' | 'page' | 'showEdges' | 'siblingCount' | 'total'>> {
|
|
8
|
+
/**
|
|
9
|
+
* The element or component this component should render as.
|
|
10
|
+
* @defaultValue 'div'
|
|
11
|
+
*/
|
|
12
|
+
as?: any;
|
|
13
|
+
/**
|
|
14
|
+
* The icon to use for the first page control.
|
|
15
|
+
* @defaultValue appConfig.ui.icons.chevronDoubleLeft
|
|
16
|
+
* @IconifyIcon
|
|
17
|
+
*/
|
|
18
|
+
firstIcon?: string;
|
|
19
|
+
/**
|
|
20
|
+
* The icon to use for the previous page control.
|
|
21
|
+
* @defaultValue appConfig.ui.icons.chevronLeft
|
|
22
|
+
* @IconifyIcon
|
|
23
|
+
*/
|
|
24
|
+
prevIcon?: string;
|
|
25
|
+
/**
|
|
26
|
+
* The icon to use for the next page control.
|
|
27
|
+
* @defaultValue appConfig.ui.icons.chevronRight
|
|
28
|
+
* @IconifyIcon
|
|
29
|
+
*/
|
|
30
|
+
nextIcon?: string;
|
|
31
|
+
/**
|
|
32
|
+
* The icon to use for the last page control.
|
|
33
|
+
* @defaultValue appConfig.ui.icons.chevronDoubleRight
|
|
34
|
+
* @IconifyIcon
|
|
35
|
+
*/
|
|
36
|
+
lastIcon?: string;
|
|
37
|
+
/**
|
|
38
|
+
* The icon to use for the ellipsis control.
|
|
39
|
+
* @defaultValue appConfig.ui.icons.ellipsis
|
|
40
|
+
* @IconifyIcon
|
|
41
|
+
*/
|
|
42
|
+
ellipsisIcon?: string;
|
|
43
|
+
/**
|
|
44
|
+
* The color of the pagination controls.
|
|
45
|
+
* @defaultValue 'neutral'
|
|
46
|
+
* @IconifyIcon
|
|
47
|
+
*/
|
|
48
|
+
color?: ButtonProps['color'];
|
|
49
|
+
/**
|
|
50
|
+
* The variant of the pagination controls.
|
|
51
|
+
* @defaultValue 'outline'
|
|
52
|
+
*/
|
|
53
|
+
variant?: ButtonProps['variant'];
|
|
54
|
+
/**
|
|
55
|
+
* The color of the active pagination control.
|
|
56
|
+
* @defaultValue 'primary'
|
|
57
|
+
*/
|
|
58
|
+
activeColor?: ButtonProps['color'];
|
|
59
|
+
/**
|
|
60
|
+
* The variant of the active pagination control.
|
|
61
|
+
* @defaultValue 'solid'
|
|
62
|
+
*/
|
|
63
|
+
activeVariant?: ButtonProps['variant'];
|
|
64
|
+
/**
|
|
65
|
+
* Whether to show the first, previous, next, and last controls.
|
|
66
|
+
* @defaultValue true
|
|
67
|
+
*/
|
|
68
|
+
showControls?: boolean;
|
|
69
|
+
size?: ButtonProps['size'];
|
|
70
|
+
/**
|
|
71
|
+
* A function to render page controls as links.
|
|
72
|
+
* @param page The page number to navigate to.
|
|
73
|
+
*/
|
|
74
|
+
to?: (page: number) => ButtonProps['to'];
|
|
75
|
+
class?: any;
|
|
76
|
+
ui?: Pagination['slots'];
|
|
77
|
+
}
|
|
78
|
+
export interface PaginationEmits extends PaginationRootEmits {
|
|
79
|
+
}
|
|
80
|
+
export interface PaginationSlots {
|
|
81
|
+
first(props?: {}): any;
|
|
82
|
+
prev(props?: {}): any;
|
|
83
|
+
next(props?: {}): any;
|
|
84
|
+
last(props?: {}): any;
|
|
85
|
+
ellipsis(props?: {}): any;
|
|
86
|
+
item(props: {
|
|
87
|
+
page: number;
|
|
88
|
+
pageCount: number;
|
|
89
|
+
item: {
|
|
90
|
+
type: 'ellipsis';
|
|
91
|
+
} | {
|
|
92
|
+
type: 'page';
|
|
93
|
+
value: number;
|
|
94
|
+
};
|
|
95
|
+
index: number;
|
|
96
|
+
}): any;
|
|
97
|
+
}
|
|
98
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PaginationProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
99
|
+
"update:page": (value: number) => any;
|
|
100
|
+
}, string, import("vue").PublicProps, Readonly<PaginationProps> & Readonly<{
|
|
101
|
+
"onUpdate:page"?: ((value: number) => any) | undefined;
|
|
102
|
+
}>, {
|
|
103
|
+
color: "error" | "info" | "primary" | "secondary" | "success" | "warning" | "neutral";
|
|
104
|
+
activeColor: "error" | "info" | "primary" | "secondary" | "success" | "warning" | "neutral";
|
|
105
|
+
variant: "link" | "solid" | "outline" | "soft" | "subtle" | "ghost";
|
|
106
|
+
activeVariant: "link" | "solid" | "outline" | "soft" | "subtle" | "ghost";
|
|
107
|
+
itemsPerPage: number;
|
|
108
|
+
showEdges: boolean;
|
|
109
|
+
siblingCount: number;
|
|
110
|
+
total: number;
|
|
111
|
+
showControls: boolean;
|
|
112
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PaginationSlots>;
|
|
113
|
+
export default _default;
|
|
114
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
115
|
+
new (): {
|
|
116
|
+
$slots: S;
|
|
117
|
+
};
|
|
118
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ComponentPublicInstance } from 'vue';
|
|
2
|
+
import type { PinInputRootEmits, PinInputRootProps } from 'reka-ui';
|
|
3
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
4
|
+
import theme from '#build/ui/pin-input';
|
|
5
|
+
import type { ComponentConfig } from '../types/utils';
|
|
6
|
+
type PinInput = ComponentConfig<typeof theme, AppConfig, 'pinInput'>;
|
|
7
|
+
type PinInputType = 'text' | 'number';
|
|
8
|
+
export interface PinInputProps<T extends PinInputType = 'text'> extends Pick<PinInputRootProps<T>, 'defaultValue' | 'disabled' | 'id' | 'mask' | 'modelValue' | 'name' | 'otp' | 'placeholder' | 'required' | 'type'> {
|
|
9
|
+
/**
|
|
10
|
+
* The element or component this component should render as.
|
|
11
|
+
* @defaultValue 'div'
|
|
12
|
+
*/
|
|
13
|
+
as?: any;
|
|
14
|
+
/**
|
|
15
|
+
* @defaultValue 'primary'
|
|
16
|
+
*/
|
|
17
|
+
color?: PinInput['variants']['color'];
|
|
18
|
+
/**
|
|
19
|
+
* @defaultValue 'outline'
|
|
20
|
+
*/
|
|
21
|
+
variant?: PinInput['variants']['variant'];
|
|
22
|
+
/**
|
|
23
|
+
* @defaultValue 'md'
|
|
24
|
+
*/
|
|
25
|
+
size?: PinInput['variants']['size'];
|
|
26
|
+
/**
|
|
27
|
+
* The number of input fields.
|
|
28
|
+
* @defaultValue 5
|
|
29
|
+
*/
|
|
30
|
+
length?: number | string;
|
|
31
|
+
autofocus?: boolean;
|
|
32
|
+
autofocusDelay?: number;
|
|
33
|
+
highlight?: boolean;
|
|
34
|
+
class?: any;
|
|
35
|
+
ui?: PinInput['slots'];
|
|
36
|
+
}
|
|
37
|
+
export type PinInputEmits<T extends PinInputType = 'text'> = PinInputRootEmits<T> & {
|
|
38
|
+
change: [event: Event];
|
|
39
|
+
blur: [event: Event];
|
|
40
|
+
};
|
|
41
|
+
declare const _default: <T extends PinInputType>(__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<{
|
|
42
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
43
|
+
readonly onBlur?: ((event: Event) => any) | undefined;
|
|
44
|
+
readonly onComplete?: ((value: [T] extends ["number"] ? number[] : string[]) => any) | undefined;
|
|
45
|
+
readonly onChange?: ((event: Event) => any) | undefined;
|
|
46
|
+
readonly "onUpdate:modelValue"?: ((value: [T] extends ["number"] ? number[] : string[]) => any) | undefined;
|
|
47
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onBlur" | "onChange" | "onUpdate:modelValue" | "onComplete"> & PinInputProps<T> & {}> & import("vue").PublicProps;
|
|
48
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{
|
|
49
|
+
inputsRef: import("vue").Ref<ComponentPublicInstance[], ComponentPublicInstance[]>;
|
|
50
|
+
}>): void;
|
|
51
|
+
attrs: any;
|
|
52
|
+
slots: {};
|
|
53
|
+
emit: ((evt: "blur", event: Event) => void) & ((evt: "complete", value: [T] extends ["number"] ? number[] : string[]) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: [T] extends ["number"] ? number[] : string[]) => void);
|
|
54
|
+
}>) => import("vue").VNode & {
|
|
55
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
56
|
+
};
|
|
57
|
+
export default _default;
|
|
58
|
+
type __VLS_PrettifyLocal<T> = {
|
|
59
|
+
[K in keyof T as K]: T[K];
|
|
60
|
+
} & {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Popover } from 'reka-ui/namespaced';
|
|
2
|
+
import type { PopoverRootProps, HoverCardRootProps, PopoverRootEmits, PopoverContentProps, PopoverContentEmits, PopoverArrowProps, HoverCardTriggerProps } from 'reka-ui';
|
|
3
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
4
|
+
import theme from '#build/ui/popover';
|
|
5
|
+
import type { EmitsToProps, ComponentConfig } from '../types/utils';
|
|
6
|
+
type Popover = ComponentConfig<typeof theme, AppConfig, 'popover'>;
|
|
7
|
+
export interface PopoverProps extends PopoverRootProps, Pick<HoverCardRootProps, 'openDelay' | 'closeDelay'> {
|
|
8
|
+
/**
|
|
9
|
+
* The display mode of the popover.
|
|
10
|
+
* @defaultValue 'click'
|
|
11
|
+
*/
|
|
12
|
+
mode?: 'click' | 'hover';
|
|
13
|
+
/**
|
|
14
|
+
* The content of the popover.
|
|
15
|
+
* @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8 }
|
|
16
|
+
*/
|
|
17
|
+
content?: Omit<PopoverContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<PopoverContentEmits>>;
|
|
18
|
+
/**
|
|
19
|
+
* Display an arrow alongside the popover.
|
|
20
|
+
* @defaultValue false
|
|
21
|
+
*/
|
|
22
|
+
arrow?: boolean | Omit<PopoverArrowProps, 'as' | 'asChild'>;
|
|
23
|
+
/**
|
|
24
|
+
* Render the popover in a portal.
|
|
25
|
+
* @defaultValue true
|
|
26
|
+
*/
|
|
27
|
+
portal?: boolean | string | HTMLElement;
|
|
28
|
+
/**
|
|
29
|
+
* The reference (or anchor) element that is being referred to for positioning.
|
|
30
|
+
*
|
|
31
|
+
* If not provided will use the current component as anchor.
|
|
32
|
+
*/
|
|
33
|
+
reference?: HoverCardTriggerProps['reference'];
|
|
34
|
+
/**
|
|
35
|
+
* When `false`, the popover will not close when clicking outside or pressing escape.
|
|
36
|
+
* @defaultValue true
|
|
37
|
+
*/
|
|
38
|
+
dismissible?: boolean;
|
|
39
|
+
class?: any;
|
|
40
|
+
ui?: Popover['slots'];
|
|
41
|
+
}
|
|
42
|
+
export interface PopoverEmits extends PopoverRootEmits {
|
|
43
|
+
'close:prevent': [];
|
|
44
|
+
}
|
|
45
|
+
export interface PopoverSlots {
|
|
46
|
+
default(props: {
|
|
47
|
+
open: boolean;
|
|
48
|
+
}): any;
|
|
49
|
+
content(props?: {}): any;
|
|
50
|
+
anchor(props?: {}): any;
|
|
51
|
+
}
|
|
52
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PopoverProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
53
|
+
"update:open": (value: boolean) => any;
|
|
54
|
+
"close:prevent": () => any;
|
|
55
|
+
}, string, import("vue").PublicProps, Readonly<PopoverProps> & Readonly<{
|
|
56
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
57
|
+
"onClose:prevent"?: (() => any) | undefined;
|
|
58
|
+
}>, {
|
|
59
|
+
mode: "click" | "hover";
|
|
60
|
+
portal: boolean | string | HTMLElement;
|
|
61
|
+
dismissible: boolean;
|
|
62
|
+
openDelay: number;
|
|
63
|
+
closeDelay: number;
|
|
64
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PopoverSlots>;
|
|
65
|
+
export default _default;
|
|
66
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
67
|
+
new (): {
|
|
68
|
+
$slots: S;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { ProgressRootProps, ProgressRootEmits } from 'reka-ui';
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
3
|
+
import theme from '#build/ui/progress';
|
|
4
|
+
import type { ComponentConfig } from '../types/utils';
|
|
5
|
+
type Progress = ComponentConfig<typeof theme, AppConfig, 'progress'>;
|
|
6
|
+
export interface ProgressProps extends Pick<ProgressRootProps, 'getValueLabel' | 'getValueText' | 'modelValue'> {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'div'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
/** The maximum progress value. */
|
|
13
|
+
max?: number | Array<any>;
|
|
14
|
+
/** Display the current progress value. */
|
|
15
|
+
status?: boolean;
|
|
16
|
+
/** Whether the progress is visually inverted. */
|
|
17
|
+
inverted?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* @defaultValue 'md'
|
|
20
|
+
*/
|
|
21
|
+
size?: Progress['variants']['size'];
|
|
22
|
+
/**
|
|
23
|
+
* @defaultValue 'primary'
|
|
24
|
+
*/
|
|
25
|
+
color?: Progress['variants']['color'];
|
|
26
|
+
/**
|
|
27
|
+
* The orientation of the progress bar.
|
|
28
|
+
* @defaultValue 'horizontal'
|
|
29
|
+
*/
|
|
30
|
+
orientation?: Progress['variants']['orientation'];
|
|
31
|
+
/**
|
|
32
|
+
* The animation of the progress bar.
|
|
33
|
+
* @defaultValue 'carousel'
|
|
34
|
+
*/
|
|
35
|
+
animation?: Progress['variants']['animation'];
|
|
36
|
+
class?: any;
|
|
37
|
+
ui?: Progress['slots'];
|
|
38
|
+
}
|
|
39
|
+
export interface ProgressEmits extends ProgressRootEmits {
|
|
40
|
+
}
|
|
41
|
+
export type ProgressSlots = {
|
|
42
|
+
status(props: {
|
|
43
|
+
percent?: number;
|
|
44
|
+
}): any;
|
|
45
|
+
} & {
|
|
46
|
+
[key: string]: (props: {
|
|
47
|
+
step: number;
|
|
48
|
+
}) => any;
|
|
49
|
+
};
|
|
50
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ProgressProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
51
|
+
"update:modelValue": (value: string[] | undefined) => any;
|
|
52
|
+
"update:max": (value: number) => any;
|
|
53
|
+
}, string, import("vue").PublicProps, Readonly<ProgressProps> & Readonly<{
|
|
54
|
+
"onUpdate:modelValue"?: ((value: string[] | undefined) => any) | undefined;
|
|
55
|
+
"onUpdate:max"?: ((value: number) => any) | undefined;
|
|
56
|
+
}>, {
|
|
57
|
+
orientation: Progress["variants"]["orientation"];
|
|
58
|
+
modelValue: number | null;
|
|
59
|
+
inverted: boolean;
|
|
60
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ProgressSlots>;
|
|
61
|
+
export default _default;
|
|
62
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
63
|
+
new (): {
|
|
64
|
+
$slots: S;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
@@ -74,9 +74,8 @@ const indicatorStyle = computed(() => {
|
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
76
|
const statusStyle = computed(() => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
};
|
|
77
|
+
const value = `${Math.max(percent.value ?? 0, 0)}%`;
|
|
78
|
+
return props.orientation === "vertical" ? { height: value } : { width: value };
|
|
80
79
|
});
|
|
81
80
|
function isActive(index) {
|
|
82
81
|
return index === Number(props.modelValue);
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { RadioGroupRootProps, RadioGroupRootEmits } from 'reka-ui';
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
3
|
+
import theme from '#build/ui/radio-group';
|
|
4
|
+
import type { AcceptableValue, ComponentConfig } from '../types/utils';
|
|
5
|
+
type RadioGroup = ComponentConfig<typeof theme, AppConfig, 'radioGroup'>;
|
|
6
|
+
export type RadioGroupValue = AcceptableValue;
|
|
7
|
+
export type RadioGroupItem = {
|
|
8
|
+
label?: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
value?: RadioGroupValue;
|
|
12
|
+
class?: any;
|
|
13
|
+
ui?: Pick<RadioGroup['slots'], 'item' | 'container' | 'base' | 'indicator' | 'wrapper' | 'label' | 'description'>;
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
} | RadioGroupValue;
|
|
16
|
+
export interface RadioGroupProps<T extends RadioGroupItem = RadioGroupItem> extends Pick<RadioGroupRootProps, 'defaultValue' | 'disabled' | 'loop' | 'modelValue' | 'name' | 'required'> {
|
|
17
|
+
/**
|
|
18
|
+
* The element or component this component should render as.
|
|
19
|
+
* @defaultValue 'div'
|
|
20
|
+
*/
|
|
21
|
+
as?: any;
|
|
22
|
+
legend?: string;
|
|
23
|
+
/**
|
|
24
|
+
* When `items` is an array of objects, select the field to use as the value.
|
|
25
|
+
* @defaultValue 'value'
|
|
26
|
+
*/
|
|
27
|
+
valueKey?: string;
|
|
28
|
+
/**
|
|
29
|
+
* When `items` is an array of objects, select the field to use as the label.
|
|
30
|
+
* @defaultValue 'label'
|
|
31
|
+
*/
|
|
32
|
+
labelKey?: string;
|
|
33
|
+
/**
|
|
34
|
+
* When `items` is an array of objects, select the field to use as the description.
|
|
35
|
+
* @defaultValue 'description'
|
|
36
|
+
*/
|
|
37
|
+
descriptionKey?: string;
|
|
38
|
+
items?: T[];
|
|
39
|
+
/**
|
|
40
|
+
* @defaultValue 'md'
|
|
41
|
+
*/
|
|
42
|
+
size?: RadioGroup['variants']['size'];
|
|
43
|
+
/**
|
|
44
|
+
* @defaultValue 'list'
|
|
45
|
+
*/
|
|
46
|
+
variant?: RadioGroup['variants']['variant'];
|
|
47
|
+
/**
|
|
48
|
+
* @defaultValue 'primary'
|
|
49
|
+
*/
|
|
50
|
+
color?: RadioGroup['variants']['color'];
|
|
51
|
+
/**
|
|
52
|
+
* The orientation the radio buttons are laid out.
|
|
53
|
+
* @defaultValue 'vertical'
|
|
54
|
+
*/
|
|
55
|
+
orientation?: RadioGroupRootProps['orientation'];
|
|
56
|
+
/**
|
|
57
|
+
* Position of the indicator.
|
|
58
|
+
* @defaultValue 'start'
|
|
59
|
+
*/
|
|
60
|
+
indicator?: RadioGroup['variants']['indicator'];
|
|
61
|
+
class?: any;
|
|
62
|
+
ui?: RadioGroup['slots'];
|
|
63
|
+
}
|
|
64
|
+
export type RadioGroupEmits = RadioGroupRootEmits & {
|
|
65
|
+
change: [event: Event];
|
|
66
|
+
};
|
|
67
|
+
type NormalizeItem<T extends RadioGroupItem> = Exclude<T & {
|
|
68
|
+
id: string;
|
|
69
|
+
}, RadioGroupValue>;
|
|
70
|
+
type SlotProps<T extends RadioGroupItem> = (props: {
|
|
71
|
+
item: NormalizeItem<T>;
|
|
72
|
+
modelValue?: RadioGroupValue;
|
|
73
|
+
}) => any;
|
|
74
|
+
export interface RadioGroupSlots<T extends RadioGroupItem = RadioGroupItem> {
|
|
75
|
+
legend(props?: {}): any;
|
|
76
|
+
label: SlotProps<T>;
|
|
77
|
+
description: SlotProps<T>;
|
|
78
|
+
}
|
|
79
|
+
declare const _default: <T extends RadioGroupItem>(__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<{
|
|
80
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
81
|
+
readonly onChange?: ((event: Event) => any) | undefined;
|
|
82
|
+
readonly "onUpdate:modelValue"?: ((payload: string) => any) | undefined;
|
|
83
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onChange" | "onUpdate:modelValue"> & RadioGroupProps<T> & {}> & import("vue").PublicProps;
|
|
84
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
85
|
+
attrs: any;
|
|
86
|
+
slots: RadioGroupSlots<T>;
|
|
87
|
+
emit: ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", payload: string) => void);
|
|
88
|
+
}>) => import("vue").VNode & {
|
|
89
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
90
|
+
};
|
|
91
|
+
export default _default;
|
|
92
|
+
type __VLS_PrettifyLocal<T> = {
|
|
93
|
+
[K in keyof T as K]: T[K];
|
|
94
|
+
} & {};
|