@nuxt/ui 3.3.4 → 3.3.6
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/drawer.ts +23 -0
- package/.nuxt/ui/progress.ts +3 -3
- package/README.md +10 -10
- package/dist/module.d.mts +6 -6
- package/dist/module.json +2 -2
- package/dist/module.mjs +3 -3
- package/dist/runtime/components/Accordion.d.vue.ts +78 -0
- package/dist/runtime/components/Accordion.vue.d.ts +6 -5
- package/dist/runtime/components/Alert.d.vue.ts +82 -0
- package/dist/runtime/components/Alert.vue.d.ts +2 -1
- package/dist/runtime/components/App.d.vue.ts +25 -0
- package/dist/runtime/components/App.vue +1 -1
- package/dist/runtime/components/App.vue.d.ts +5 -4
- package/dist/runtime/components/Avatar.d.vue.ts +42 -0
- package/dist/runtime/components/Avatar.vue.d.ts +2 -1
- package/dist/runtime/components/AvatarGroup.d.vue.ts +32 -0
- package/dist/runtime/components/AvatarGroup.vue.d.ts +2 -1
- package/dist/runtime/components/Badge.d.vue.ts +44 -0
- package/dist/runtime/components/Badge.vue.d.ts +2 -1
- package/dist/runtime/components/Breadcrumb.d.vue.ts +67 -0
- package/dist/runtime/components/Breadcrumb.vue.d.ts +4 -3
- package/dist/runtime/components/Button.d.vue.ts +45 -0
- package/dist/runtime/components/Button.vue.d.ts +2 -1
- package/dist/runtime/components/ButtonGroup.d.vue.ts +35 -0
- package/dist/runtime/components/ButtonGroup.vue.d.ts +2 -1
- package/dist/runtime/components/Calendar.d.vue.ts +113 -0
- package/dist/runtime/components/Calendar.vue.d.ts +9 -8
- package/dist/runtime/components/Card.d.vue.ts +30 -0
- package/dist/runtime/components/Card.vue.d.ts +2 -1
- package/dist/runtime/components/Carousel.d.vue.ts +128 -0
- package/dist/runtime/components/Carousel.vue +32 -12
- package/dist/runtime/components/Carousel.vue.d.ts +7 -6
- package/dist/runtime/components/Checkbox.d.vue.ts +74 -0
- package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
- package/dist/runtime/components/CheckboxGroup.d.vue.ts +85 -0
- package/dist/runtime/components/CheckboxGroup.vue.d.ts +7 -6
- package/dist/runtime/components/Chip.d.vue.ts +58 -0
- package/dist/runtime/components/Chip.vue.d.ts +2 -1
- package/dist/runtime/components/Collapsible.d.vue.ts +36 -0
- package/dist/runtime/components/Collapsible.vue.d.ts +2 -1
- package/dist/runtime/components/ColorPicker.d.vue.ts +49 -0
- package/dist/runtime/components/ColorPicker.vue.d.ts +2 -1
- package/dist/runtime/components/CommandPalette.d.vue.ts +193 -0
- package/dist/runtime/components/CommandPalette.vue.d.ts +13 -12
- package/dist/runtime/components/Container.d.vue.ts +19 -0
- package/dist/runtime/components/Container.vue.d.ts +2 -1
- package/dist/runtime/components/ContextMenu.d.vue.ts +110 -0
- package/dist/runtime/components/ContextMenu.vue.d.ts +6 -5
- package/dist/runtime/components/ContextMenuContent.d.vue.ts +50 -0
- package/dist/runtime/components/ContextMenuContent.vue.d.ts +10 -9
- package/dist/runtime/components/Drawer.d.vue.ts +87 -0
- package/dist/runtime/components/Drawer.vue +19 -5
- package/dist/runtime/components/Drawer.vue.d.ts +5 -1
- package/dist/runtime/components/DropdownMenu.d.vue.ts +120 -0
- package/dist/runtime/components/DropdownMenu.vue.d.ts +6 -5
- package/dist/runtime/components/DropdownMenuContent.d.vue.ts +56 -0
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +10 -9
- package/dist/runtime/components/FileUpload.d.vue.ts +167 -0
- package/dist/runtime/components/FileUpload.vue.d.ts +9 -8
- package/dist/runtime/components/Form.d.vue.ts +72 -0
- package/dist/runtime/components/Form.vue.d.ts +7 -6
- package/dist/runtime/components/FormField.d.vue.ts +62 -0
- package/dist/runtime/components/FormField.vue.d.ts +2 -1
- package/dist/runtime/components/Icon.d.vue.ts +9 -0
- package/dist/runtime/components/Icon.vue.d.ts +2 -1
- package/dist/runtime/components/Input.d.vue.ts +78 -0
- package/dist/runtime/components/Input.vue.d.ts +9 -8
- package/dist/runtime/components/InputMenu.d.vue.ts +330 -0
- package/dist/runtime/components/InputMenu.vue +1 -1
- package/dist/runtime/components/InputMenu.vue.d.ts +19 -24
- package/dist/runtime/components/InputNumber.d.vue.ts +187 -0
- package/dist/runtime/components/InputNumber.vue.d.ts +2 -1
- package/dist/runtime/components/InputTags.d.vue.ts +186 -0
- package/dist/runtime/components/InputTags.vue +2 -2
- package/dist/runtime/components/InputTags.vue.d.ts +13 -12
- package/dist/runtime/components/Kbd.d.vue.ts +39 -0
- package/dist/runtime/components/Kbd.vue.d.ts +2 -1
- package/dist/runtime/components/Link.d.vue.ts +92 -0
- package/dist/runtime/components/Link.vue.d.ts +2 -1
- package/dist/runtime/components/LinkBase.d.vue.ts +26 -0
- package/dist/runtime/components/LinkBase.vue.d.ts +2 -1
- package/dist/runtime/components/Modal.d.vue.ts +107 -0
- package/dist/runtime/components/Modal.vue.d.ts +4 -3
- package/dist/runtime/components/NavigationMenu.d.vue.ts +171 -0
- package/dist/runtime/components/NavigationMenu.vue.d.ts +6 -5
- package/dist/runtime/components/OverlayProvider.d.vue.ts +3 -0
- package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -1
- package/dist/runtime/components/Pagination.d.vue.ts +119 -0
- package/dist/runtime/components/Pagination.vue +4 -4
- package/dist/runtime/components/Pagination.vue.d.ts +2 -1
- package/dist/runtime/components/PinInput.d.vue.ts +61 -0
- package/dist/runtime/components/PinInput.vue.d.ts +10 -9
- package/dist/runtime/components/Popover.d.vue.ts +71 -0
- package/dist/runtime/components/Popover.vue.d.ts +2 -1
- package/dist/runtime/components/Progress.d.vue.ts +67 -0
- package/dist/runtime/components/Progress.vue +2 -3
- package/dist/runtime/components/Progress.vue.d.ts +2 -1
- package/dist/runtime/components/RadioGroup.d.vue.ts +95 -0
- package/dist/runtime/components/RadioGroup.vue.d.ts +7 -6
- package/dist/runtime/components/Select.d.vue.ts +254 -0
- package/dist/runtime/components/Select.vue.d.ts +11 -10
- package/dist/runtime/components/SelectMenu.d.vue.ts +303 -0
- package/dist/runtime/components/SelectMenu.vue.d.ts +16 -15
- package/dist/runtime/components/Separator.d.vue.ts +55 -0
- package/dist/runtime/components/Separator.vue.d.ts +2 -1
- package/dist/runtime/components/Skeleton.d.vue.ts +18 -0
- package/dist/runtime/components/Skeleton.vue.d.ts +2 -1
- package/dist/runtime/components/Slideover.d.vue.ts +108 -0
- package/dist/runtime/components/Slideover.vue.d.ts +4 -3
- package/dist/runtime/components/Slider.d.vue.ts +58 -0
- package/dist/runtime/components/Slider.vue.d.ts +8 -7
- package/dist/runtime/components/Stepper.d.vue.ts +86 -0
- package/dist/runtime/components/Stepper.vue.d.ts +10 -9
- package/dist/runtime/components/Switch.d.vue.ts +71 -0
- package/dist/runtime/components/Switch.vue.d.ts +2 -1
- package/dist/runtime/components/Table.d.vue.ts +202 -0
- package/dist/runtime/components/Table.vue +19 -1
- package/dist/runtime/components/Table.vue.d.ts +20 -19
- package/dist/runtime/components/Tabs.d.vue.ts +99 -0
- package/dist/runtime/components/Tabs.vue +2 -2
- package/dist/runtime/components/Tabs.vue.d.ts +7 -6
- package/dist/runtime/components/Textarea.d.vue.ts +80 -0
- package/dist/runtime/components/Textarea.vue.d.ts +9 -8
- package/dist/runtime/components/Timeline.d.vue.ts +71 -0
- package/dist/runtime/components/Timeline.vue.d.ts +7 -6
- package/dist/runtime/components/Toast.d.vue.ts +165 -0
- package/dist/runtime/components/Toast.vue.d.ts +2 -1
- package/dist/runtime/components/Toaster.d.vue.ts +45 -0
- package/dist/runtime/components/Toaster.vue.d.ts +2 -1
- package/dist/runtime/components/Tooltip.d.vue.ts +57 -0
- package/dist/runtime/components/Tooltip.vue.d.ts +2 -1
- package/dist/runtime/components/Tree.d.vue.ts +115 -0
- package/dist/runtime/components/Tree.vue.d.ts +7 -6
- package/dist/runtime/composables/useKbd.js +1 -1
- package/dist/runtime/composables/usePortal.d.ts +3 -3
- package/dist/runtime/composables/usePortal.js +5 -10
- package/dist/runtime/inertia/components/Link.d.vue.ts +64 -0
- package/dist/runtime/inertia/components/Link.vue.d.ts +2 -1
- package/dist/runtime/inertia/components/LinkBase.d.vue.ts +26 -0
- package/dist/runtime/inertia/components/LinkBase.vue.d.ts +2 -1
- package/dist/runtime/types/tv.d.ts +9 -2
- package/dist/runtime/vue/components/Icon.d.vue.ts +6 -0
- package/dist/runtime/vue/components/Icon.vue.d.ts +2 -1
- package/dist/runtime/vue/components/Link.d.vue.ts +94 -0
- package/dist/runtime/vue/components/Link.vue.d.ts +2 -1
- package/dist/shared/{ui.BTUFJHYJ.mjs → ui.DBpKc5X3.mjs} +100 -68
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +18 -18
|
@@ -37,20 +37,21 @@ export interface SliderProps extends Pick<SliderRootProps, 'name' | 'disabled' |
|
|
|
37
37
|
export interface SliderEmits {
|
|
38
38
|
change: [event: Event];
|
|
39
39
|
}
|
|
40
|
-
declare const
|
|
41
|
-
props: __VLS_PrettifyLocal<
|
|
42
|
-
readonly onChange?: ((event: Event) => any) | undefined;
|
|
43
|
-
readonly "onUpdate:modelValue"?: ((value: T | undefined) => any) | undefined;
|
|
44
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onChange" | "onUpdate:modelValue"> & (SliderProps & {
|
|
40
|
+
declare const __VLS_export: <T extends number | number[]>(__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<{
|
|
41
|
+
props: __VLS_PrettifyLocal<(SliderProps & {
|
|
45
42
|
modelValue?: T;
|
|
46
|
-
}) & {
|
|
47
|
-
|
|
43
|
+
}) & {
|
|
44
|
+
onChange?: ((event: Event) => any) | undefined;
|
|
45
|
+
"onUpdate:modelValue"?: ((value: T | undefined) => any) | undefined;
|
|
46
|
+
}> & import("vue").PublicProps;
|
|
47
|
+
expose: (exposed: {}) => void;
|
|
48
48
|
attrs: any;
|
|
49
49
|
slots: {};
|
|
50
50
|
emit: ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: T | undefined) => void);
|
|
51
51
|
}>) => import("vue").VNode & {
|
|
52
52
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
53
53
|
};
|
|
54
|
+
declare const _default: typeof __VLS_export;
|
|
54
55
|
export default _default;
|
|
55
56
|
type __VLS_PrettifyLocal<T> = {
|
|
56
57
|
[K in keyof T as K]: T[K];
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { StepperRootProps, StepperRootEmits } from 'reka-ui';
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
3
|
+
import theme from '#build/ui/stepper';
|
|
4
|
+
import type { DynamicSlots, ComponentConfig } from '../types/utils';
|
|
5
|
+
type Stepper = ComponentConfig<typeof theme, AppConfig, 'stepper'>;
|
|
6
|
+
export interface StepperItem {
|
|
7
|
+
slot?: string;
|
|
8
|
+
value?: string | number;
|
|
9
|
+
title?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
/**
|
|
12
|
+
* @IconifyIcon
|
|
13
|
+
*/
|
|
14
|
+
icon?: string;
|
|
15
|
+
content?: string;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
class?: any;
|
|
18
|
+
ui?: Pick<Stepper['slots'], 'item' | 'container' | 'trigger' | 'indicator' | 'icon' | 'separator' | 'wrapper' | 'title' | 'description'>;
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
}
|
|
21
|
+
export interface StepperProps<T extends StepperItem = StepperItem> extends Pick<StepperRootProps, 'linear'> {
|
|
22
|
+
/**
|
|
23
|
+
* The element or component this component should render as.
|
|
24
|
+
* @defaultValue 'div'
|
|
25
|
+
*/
|
|
26
|
+
as?: any;
|
|
27
|
+
items: T[];
|
|
28
|
+
/**
|
|
29
|
+
* @defaultValue 'md'
|
|
30
|
+
*/
|
|
31
|
+
size?: Stepper['variants']['size'];
|
|
32
|
+
/**
|
|
33
|
+
* @defaultValue 'primary'
|
|
34
|
+
*/
|
|
35
|
+
color?: Stepper['variants']['color'];
|
|
36
|
+
/**
|
|
37
|
+
* The orientation of the stepper.
|
|
38
|
+
* @defaultValue 'horizontal'
|
|
39
|
+
*/
|
|
40
|
+
orientation?: Stepper['variants']['orientation'];
|
|
41
|
+
/**
|
|
42
|
+
* The value of the step that should be active when initially rendered. Use when you do not need to control the state of the steps.
|
|
43
|
+
*/
|
|
44
|
+
defaultValue?: string | number;
|
|
45
|
+
disabled?: boolean;
|
|
46
|
+
class?: any;
|
|
47
|
+
ui?: Stepper['slots'];
|
|
48
|
+
}
|
|
49
|
+
export type StepperEmits<T extends StepperItem = StepperItem> = Omit<StepperRootEmits, 'update:modelValue'> & {
|
|
50
|
+
next: [value: T];
|
|
51
|
+
prev: [value: T];
|
|
52
|
+
};
|
|
53
|
+
type SlotProps<T extends StepperItem> = (props: {
|
|
54
|
+
item: T;
|
|
55
|
+
}) => any;
|
|
56
|
+
export type StepperSlots<T extends StepperItem = StepperItem> = {
|
|
57
|
+
indicator: SlotProps<T>;
|
|
58
|
+
title: SlotProps<T>;
|
|
59
|
+
description: SlotProps<T>;
|
|
60
|
+
content: SlotProps<T>;
|
|
61
|
+
} & DynamicSlots<T>;
|
|
62
|
+
declare const __VLS_export: <T extends StepperItem>(__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<{
|
|
63
|
+
props: __VLS_PrettifyLocal<(StepperProps<T> & {
|
|
64
|
+
modelValue?: string | number;
|
|
65
|
+
}) & {
|
|
66
|
+
onPrev?: ((value: T) => any) | undefined;
|
|
67
|
+
onNext?: ((value: T) => any) | undefined;
|
|
68
|
+
"onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
|
|
69
|
+
}> & import("vue").PublicProps;
|
|
70
|
+
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
71
|
+
next(): void;
|
|
72
|
+
prev(): void;
|
|
73
|
+
hasNext: import("vue").ComputedRef<boolean>;
|
|
74
|
+
hasPrev: import("vue").ComputedRef<boolean>;
|
|
75
|
+
}>) => void;
|
|
76
|
+
attrs: any;
|
|
77
|
+
slots: StepperSlots<T>;
|
|
78
|
+
emit: (((evt: "prev", value: T) => void) & ((evt: "next", value: T) => void)) & ((evt: "update:modelValue", value: string | number | undefined) => void);
|
|
79
|
+
}>) => import("vue").VNode & {
|
|
80
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
81
|
+
};
|
|
82
|
+
declare const _default: typeof __VLS_export;
|
|
83
|
+
export default _default;
|
|
84
|
+
type __VLS_PrettifyLocal<T> = {
|
|
85
|
+
[K in keyof T as K]: T[K];
|
|
86
|
+
} & {};
|
|
@@ -59,26 +59,27 @@ export type StepperSlots<T extends StepperItem = StepperItem> = {
|
|
|
59
59
|
description: SlotProps<T>;
|
|
60
60
|
content: SlotProps<T>;
|
|
61
61
|
} & DynamicSlots<T>;
|
|
62
|
-
declare const
|
|
63
|
-
props: __VLS_PrettifyLocal<
|
|
64
|
-
readonly onPrev?: ((value: T) => any) | undefined;
|
|
65
|
-
readonly onNext?: ((value: T) => any) | undefined;
|
|
66
|
-
readonly "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
|
|
67
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue" | "onPrev" | "onNext"> & (StepperProps<T> & {
|
|
62
|
+
declare const __VLS_export: <T extends StepperItem>(__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<{
|
|
63
|
+
props: __VLS_PrettifyLocal<(StepperProps<T> & {
|
|
68
64
|
modelValue?: string | number;
|
|
69
|
-
}) & {
|
|
70
|
-
|
|
65
|
+
}) & {
|
|
66
|
+
onPrev?: ((value: T) => any) | undefined;
|
|
67
|
+
onNext?: ((value: T) => any) | undefined;
|
|
68
|
+
"onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
|
|
69
|
+
}> & import("vue").PublicProps;
|
|
70
|
+
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
71
71
|
next(): void;
|
|
72
72
|
prev(): void;
|
|
73
73
|
hasNext: import("vue").ComputedRef<boolean>;
|
|
74
74
|
hasPrev: import("vue").ComputedRef<boolean>;
|
|
75
|
-
}>)
|
|
75
|
+
}>) => void;
|
|
76
76
|
attrs: any;
|
|
77
77
|
slots: StepperSlots<T>;
|
|
78
78
|
emit: (((evt: "prev", value: T) => void) & ((evt: "next", value: T) => void)) & ((evt: "update:modelValue", value: string | number | undefined) => void);
|
|
79
79
|
}>) => import("vue").VNode & {
|
|
80
80
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
81
81
|
};
|
|
82
|
+
declare const _default: typeof __VLS_export;
|
|
82
83
|
export default _default;
|
|
83
84
|
type __VLS_PrettifyLocal<T> = {
|
|
84
85
|
[K in keyof T as K]: T[K];
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { SwitchRootProps } from 'reka-ui';
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
3
|
+
import theme from '#build/ui/switch';
|
|
4
|
+
import type { ComponentConfig } from '../types/utils';
|
|
5
|
+
type Switch = ComponentConfig<typeof theme, AppConfig, 'switch'>;
|
|
6
|
+
export interface SwitchProps extends Pick<SwitchRootProps, 'disabled' | 'id' | 'name' | 'required' | 'value' | 'defaultValue'> {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'div'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
/**
|
|
13
|
+
* @defaultValue 'primary'
|
|
14
|
+
*/
|
|
15
|
+
color?: Switch['variants']['color'];
|
|
16
|
+
/**
|
|
17
|
+
* @defaultValue 'md'
|
|
18
|
+
*/
|
|
19
|
+
size?: Switch['variants']['size'];
|
|
20
|
+
/** When `true`, the loading icon will be displayed. */
|
|
21
|
+
loading?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* The icon when the `loading` prop is `true`.
|
|
24
|
+
* @defaultValue appConfig.ui.icons.loading
|
|
25
|
+
* @IconifyIcon
|
|
26
|
+
*/
|
|
27
|
+
loadingIcon?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Display an icon when the switch is checked.
|
|
30
|
+
* @IconifyIcon
|
|
31
|
+
*/
|
|
32
|
+
checkedIcon?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Display an icon when the switch is unchecked.
|
|
35
|
+
* @IconifyIcon
|
|
36
|
+
*/
|
|
37
|
+
uncheckedIcon?: string;
|
|
38
|
+
label?: string;
|
|
39
|
+
description?: string;
|
|
40
|
+
class?: any;
|
|
41
|
+
ui?: Switch['slots'];
|
|
42
|
+
}
|
|
43
|
+
export type SwitchEmits = {
|
|
44
|
+
change: [event: Event];
|
|
45
|
+
};
|
|
46
|
+
export interface SwitchSlots {
|
|
47
|
+
label(props: {
|
|
48
|
+
label?: string;
|
|
49
|
+
}): any;
|
|
50
|
+
description(props: {
|
|
51
|
+
description?: string;
|
|
52
|
+
}): any;
|
|
53
|
+
}
|
|
54
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SwitchProps & {
|
|
55
|
+
modelValue?: boolean;
|
|
56
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
57
|
+
change: (event: Event) => any;
|
|
58
|
+
"update:modelValue": (value: boolean) => any;
|
|
59
|
+
}, string, import("vue").PublicProps, Readonly<SwitchProps & {
|
|
60
|
+
modelValue?: boolean;
|
|
61
|
+
}> & Readonly<{
|
|
62
|
+
onChange?: ((event: Event) => any) | undefined;
|
|
63
|
+
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
64
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SwitchSlots>;
|
|
65
|
+
declare const _default: typeof __VLS_export;
|
|
66
|
+
export default _default;
|
|
67
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
68
|
+
new (): {
|
|
69
|
+
$slots: S;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
@@ -51,7 +51,7 @@ export interface SwitchSlots {
|
|
|
51
51
|
description?: string;
|
|
52
52
|
}): any;
|
|
53
53
|
}
|
|
54
|
-
declare const
|
|
54
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SwitchProps & {
|
|
55
55
|
modelValue?: boolean;
|
|
56
56
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
57
57
|
change: (event: Event) => any;
|
|
@@ -62,6 +62,7 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<SwitchProp
|
|
|
62
62
|
onChange?: ((event: Event) => any) | undefined;
|
|
63
63
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
64
64
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SwitchSlots>;
|
|
65
|
+
declare const _default: typeof __VLS_export;
|
|
65
66
|
export default _default;
|
|
66
67
|
type __VLS_WithSlots<T, S> = T & {
|
|
67
68
|
new (): {
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import type { Ref, WatchOptions } from 'vue';
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
3
|
+
import type { Cell, Header, RowData, TableMeta } from '@tanstack/table-core';
|
|
4
|
+
import type { CellContext, ColumnDef, ColumnFiltersOptions, ColumnFiltersState, ColumnOrderState, ColumnPinningOptions, ColumnPinningState, ColumnSizingInfoState, ColumnSizingOptions, ColumnSizingState, CoreOptions, ExpandedOptions, ExpandedState, FacetedOptions, GlobalFilterOptions, GroupingOptions, GroupingState, HeaderContext, PaginationOptions, PaginationState, Row, RowPinningOptions, RowPinningState, RowSelectionOptions, RowSelectionState, SortingOptions, SortingState, VisibilityOptions, VisibilityState } from '@tanstack/vue-table';
|
|
5
|
+
import theme from '#build/ui/table';
|
|
6
|
+
import type { ComponentConfig } from '../types/utils';
|
|
7
|
+
declare module '@tanstack/table-core' {
|
|
8
|
+
interface ColumnMeta<TData extends RowData, TValue> {
|
|
9
|
+
class?: {
|
|
10
|
+
th?: string | ((cell: Header<TData, TValue>) => string);
|
|
11
|
+
td?: string | ((cell: Cell<TData, TValue>) => string);
|
|
12
|
+
};
|
|
13
|
+
style?: {
|
|
14
|
+
th?: string | Record<string, string> | ((cell: Header<TData, TValue>) => string | Record<string, string>);
|
|
15
|
+
td?: string | Record<string, string> | ((cell: Cell<TData, TValue>) => string | Record<string, string>);
|
|
16
|
+
};
|
|
17
|
+
colspan?: {
|
|
18
|
+
td?: string | ((cell: Cell<TData, TValue>) => string);
|
|
19
|
+
};
|
|
20
|
+
rowspan?: {
|
|
21
|
+
td?: string | ((cell: Cell<TData, TValue>) => string);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
interface TableMeta<TData> {
|
|
25
|
+
class?: {
|
|
26
|
+
tr?: string | ((row: Row<TData>) => string);
|
|
27
|
+
};
|
|
28
|
+
style?: {
|
|
29
|
+
tr?: string | Record<string, string> | ((row: Row<TData>) => string | Record<string, string>);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
type Table = ComponentConfig<typeof theme, AppConfig, 'table'>;
|
|
34
|
+
export type TableRow<T> = Row<T>;
|
|
35
|
+
export type TableData = RowData;
|
|
36
|
+
export type TableColumn<T extends TableData, D = unknown> = ColumnDef<T, D>;
|
|
37
|
+
export interface TableOptions<T extends TableData = TableData> extends Omit<CoreOptions<T>, 'data' | 'columns' | 'getCoreRowModel' | 'state' | 'onStateChange' | 'renderFallbackValue'> {
|
|
38
|
+
state?: CoreOptions<T>['state'];
|
|
39
|
+
onStateChange?: CoreOptions<T>['onStateChange'];
|
|
40
|
+
renderFallbackValue?: CoreOptions<T>['renderFallbackValue'];
|
|
41
|
+
}
|
|
42
|
+
export interface TableProps<T extends TableData = TableData> extends TableOptions<T> {
|
|
43
|
+
/**
|
|
44
|
+
* The element or component this component should render as.
|
|
45
|
+
* @defaultValue 'div'
|
|
46
|
+
*/
|
|
47
|
+
as?: any;
|
|
48
|
+
data?: T[];
|
|
49
|
+
columns?: TableColumn<T>[];
|
|
50
|
+
caption?: string;
|
|
51
|
+
meta?: TableMeta<T>;
|
|
52
|
+
/**
|
|
53
|
+
* The text to display when the table is empty.
|
|
54
|
+
* @defaultValue t('table.noData')
|
|
55
|
+
*/
|
|
56
|
+
empty?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Whether the table should have a sticky header or footer. True for both, 'header' for header only, 'footer' for footer only.
|
|
59
|
+
* @defaultValue false
|
|
60
|
+
*/
|
|
61
|
+
sticky?: boolean | 'header' | 'footer';
|
|
62
|
+
/** Whether the table should be in loading state. */
|
|
63
|
+
loading?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* @defaultValue 'primary'
|
|
66
|
+
*/
|
|
67
|
+
loadingColor?: Table['variants']['loadingColor'];
|
|
68
|
+
/**
|
|
69
|
+
* @defaultValue 'carousel'
|
|
70
|
+
*/
|
|
71
|
+
loadingAnimation?: Table['variants']['loadingAnimation'];
|
|
72
|
+
/**
|
|
73
|
+
* Use the `watchOptions` prop to customize reactivity (for ex: disable deep watching for changes in your data or limiting the max traversal depth). This can improve performance by reducing unnecessary re-renders, but it should be used with caution as it may lead to unexpected behavior if not managed properly.
|
|
74
|
+
* @link [API Docs](https://vuejs.org/api/options-state.html#watch)
|
|
75
|
+
* @link [Guide](https://vuejs.org/guide/essentials/watchers.html)
|
|
76
|
+
* @defaultValue { deep: true }
|
|
77
|
+
*/
|
|
78
|
+
watchOptions?: WatchOptions;
|
|
79
|
+
/**
|
|
80
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/global-filtering#table-options)
|
|
81
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/global-filtering)
|
|
82
|
+
*/
|
|
83
|
+
globalFilterOptions?: Omit<GlobalFilterOptions<T>, 'onGlobalFilterChange'>;
|
|
84
|
+
/**
|
|
85
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-filtering#table-options)
|
|
86
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-filtering)
|
|
87
|
+
*/
|
|
88
|
+
columnFiltersOptions?: Omit<ColumnFiltersOptions<T>, 'getFilteredRowModel' | 'onColumnFiltersChange'>;
|
|
89
|
+
/**
|
|
90
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-pinning#table-options)
|
|
91
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-pinning)
|
|
92
|
+
*/
|
|
93
|
+
columnPinningOptions?: Omit<ColumnPinningOptions, 'onColumnPinningChange'>;
|
|
94
|
+
/**
|
|
95
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-sizing#table-options)
|
|
96
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-sizing)
|
|
97
|
+
*/
|
|
98
|
+
columnSizingOptions?: Omit<ColumnSizingOptions, 'onColumnSizingChange' | 'onColumnSizingInfoChange'>;
|
|
99
|
+
/**
|
|
100
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-visibility#table-options)
|
|
101
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-visibility)
|
|
102
|
+
*/
|
|
103
|
+
visibilityOptions?: Omit<VisibilityOptions, 'onColumnVisibilityChange'>;
|
|
104
|
+
/**
|
|
105
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/sorting#table-options)
|
|
106
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/sorting)
|
|
107
|
+
*/
|
|
108
|
+
sortingOptions?: Omit<SortingOptions<T>, 'getSortedRowModel' | 'onSortingChange'>;
|
|
109
|
+
/**
|
|
110
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/grouping#table-options)
|
|
111
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/grouping)
|
|
112
|
+
*/
|
|
113
|
+
groupingOptions?: Omit<GroupingOptions, 'onGroupingChange'>;
|
|
114
|
+
/**
|
|
115
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/expanding#table-options)
|
|
116
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/expanding)
|
|
117
|
+
*/
|
|
118
|
+
expandedOptions?: Omit<ExpandedOptions<T>, 'getExpandedRowModel' | 'onExpandedChange'>;
|
|
119
|
+
/**
|
|
120
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/row-selection#table-options)
|
|
121
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/row-selection)
|
|
122
|
+
*/
|
|
123
|
+
rowSelectionOptions?: Omit<RowSelectionOptions<T>, 'onRowSelectionChange'>;
|
|
124
|
+
/**
|
|
125
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/row-pinning#table-options)
|
|
126
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/row-pinning)
|
|
127
|
+
*/
|
|
128
|
+
rowPinningOptions?: Omit<RowPinningOptions<T>, 'onRowPinningChange'>;
|
|
129
|
+
/**
|
|
130
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/pagination#table-options)
|
|
131
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/pagination)
|
|
132
|
+
*/
|
|
133
|
+
paginationOptions?: Omit<PaginationOptions, 'onPaginationChange'>;
|
|
134
|
+
/**
|
|
135
|
+
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-faceting#table-options)
|
|
136
|
+
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-faceting)
|
|
137
|
+
*/
|
|
138
|
+
facetedOptions?: FacetedOptions<T>;
|
|
139
|
+
onSelect?: (row: TableRow<T>, e?: Event) => void;
|
|
140
|
+
onHover?: (e: Event, row: TableRow<T> | null) => void;
|
|
141
|
+
onContextmenu?: ((e: Event, row: TableRow<T>) => void) | Array<((e: Event, row: TableRow<T>) => void)>;
|
|
142
|
+
class?: any;
|
|
143
|
+
ui?: Table['slots'];
|
|
144
|
+
}
|
|
145
|
+
type DynamicHeaderSlots<T, K = keyof T> = Record<string, (props: HeaderContext<T, unknown>) => any> & Record<`${K extends string ? K : never}-header`, (props: HeaderContext<T, unknown>) => any>;
|
|
146
|
+
type DynamicFooterSlots<T, K = keyof T> = Record<string, (props: HeaderContext<T, unknown>) => any> & Record<`${K extends string ? K : never}-footer`, (props: HeaderContext<T, unknown>) => any>;
|
|
147
|
+
type DynamicCellSlots<T, K = keyof T> = Record<string, (props: CellContext<T, unknown>) => any> & Record<`${K extends string ? K : never}-cell`, (props: CellContext<T, unknown>) => any>;
|
|
148
|
+
export type TableSlots<T extends TableData = TableData> = {
|
|
149
|
+
'expanded': (props: {
|
|
150
|
+
row: Row<T>;
|
|
151
|
+
}) => any;
|
|
152
|
+
'empty': (props?: {}) => any;
|
|
153
|
+
'loading': (props?: {}) => any;
|
|
154
|
+
'caption': (props?: {}) => any;
|
|
155
|
+
'body-top': (props?: {}) => any;
|
|
156
|
+
'body-bottom': (props?: {}) => any;
|
|
157
|
+
} & DynamicHeaderSlots<T> & DynamicFooterSlots<T> & DynamicCellSlots<T>;
|
|
158
|
+
declare const __VLS_export: <T extends TableData>(__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<{
|
|
159
|
+
props: __VLS_PrettifyLocal<(TableProps<T> & {
|
|
160
|
+
globalFilter?: string;
|
|
161
|
+
columnFilters?: ColumnFiltersState;
|
|
162
|
+
columnOrder?: ColumnOrderState;
|
|
163
|
+
columnVisibility?: VisibilityState;
|
|
164
|
+
columnPinning?: ColumnPinningState;
|
|
165
|
+
columnSizing?: ColumnSizingState;
|
|
166
|
+
columnSizingInfo?: ColumnSizingInfoState;
|
|
167
|
+
rowSelection?: RowSelectionState;
|
|
168
|
+
rowPinning?: RowPinningState;
|
|
169
|
+
sorting?: SortingState;
|
|
170
|
+
grouping?: GroupingState;
|
|
171
|
+
expanded?: ExpandedState;
|
|
172
|
+
pagination?: PaginationState;
|
|
173
|
+
}) & {
|
|
174
|
+
"onUpdate:globalFilter"?: ((value: string) => any) | undefined;
|
|
175
|
+
"onUpdate:columnFilters"?: ((value: ColumnFiltersState) => any) | undefined;
|
|
176
|
+
"onUpdate:columnOrder"?: ((value: ColumnOrderState) => any) | undefined;
|
|
177
|
+
"onUpdate:columnVisibility"?: ((value: VisibilityState) => any) | undefined;
|
|
178
|
+
"onUpdate:columnPinning"?: ((value: ColumnPinningState) => any) | undefined;
|
|
179
|
+
"onUpdate:columnSizing"?: ((value: ColumnSizingState) => any) | undefined;
|
|
180
|
+
"onUpdate:columnSizingInfo"?: ((value: ColumnSizingInfoState) => any) | undefined;
|
|
181
|
+
"onUpdate:rowSelection"?: ((value: RowSelectionState) => any) | undefined;
|
|
182
|
+
"onUpdate:rowPinning"?: ((value: RowPinningState) => any) | undefined;
|
|
183
|
+
"onUpdate:sorting"?: ((value: SortingState) => any) | undefined;
|
|
184
|
+
"onUpdate:grouping"?: ((value: GroupingState) => any) | undefined;
|
|
185
|
+
"onUpdate:expanded"?: ((value: ExpandedState) => any) | undefined;
|
|
186
|
+
"onUpdate:pagination"?: ((value: PaginationState) => any) | undefined;
|
|
187
|
+
}> & import("vue").PublicProps;
|
|
188
|
+
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
189
|
+
tableRef: Ref<HTMLTableElement | null, HTMLTableElement | null>;
|
|
190
|
+
tableApi: import("@tanstack/table-core").Table<T>;
|
|
191
|
+
}>) => void;
|
|
192
|
+
attrs: any;
|
|
193
|
+
slots: TableSlots<T>;
|
|
194
|
+
emit: ((evt: "update:globalFilter", value: string) => void) & ((evt: "update:columnFilters", value: ColumnFiltersState) => void) & ((evt: "update:columnOrder", value: ColumnOrderState) => void) & ((evt: "update:columnVisibility", value: VisibilityState) => void) & ((evt: "update:columnPinning", value: ColumnPinningState) => void) & ((evt: "update:columnSizing", value: ColumnSizingState) => void) & ((evt: "update:columnSizingInfo", value: ColumnSizingInfoState) => void) & ((evt: "update:rowSelection", value: RowSelectionState) => void) & ((evt: "update:rowPinning", value: RowPinningState) => void) & ((evt: "update:sorting", value: SortingState) => void) & ((evt: "update:grouping", value: GroupingState) => void) & ((evt: "update:expanded", value: ExpandedState) => void) & ((evt: "update:pagination", value: PaginationState) => void);
|
|
195
|
+
}>) => import("vue").VNode & {
|
|
196
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
197
|
+
};
|
|
198
|
+
declare const _default: typeof __VLS_export;
|
|
199
|
+
export default _default;
|
|
200
|
+
type __VLS_PrettifyLocal<T> = {
|
|
201
|
+
[K in keyof T as K]: T[K];
|
|
202
|
+
} & {};
|
|
@@ -63,8 +63,26 @@ const slots = defineSlots();
|
|
|
63
63
|
const { t } = useLocale();
|
|
64
64
|
const appConfig = useAppConfig();
|
|
65
65
|
const data = ref(props.data ?? []);
|
|
66
|
-
const columns = computed(() => props.columns ?? Object.keys(data.value[0] ?? {}).map((accessorKey) => ({ accessorKey, header: upperFirst(accessorKey) })));
|
|
67
66
|
const meta = computed(() => props.meta ?? {});
|
|
67
|
+
const columns = computed(() => processColumns(props.columns ?? Object.keys(data.value[0] ?? {}).map((accessorKey) => ({ accessorKey, header: upperFirst(accessorKey) }))));
|
|
68
|
+
function processColumns(columns2) {
|
|
69
|
+
return columns2.map((column) => {
|
|
70
|
+
const col = { ...column };
|
|
71
|
+
if ("columns" in col && col.columns) {
|
|
72
|
+
col.columns = processColumns(col.columns);
|
|
73
|
+
}
|
|
74
|
+
if (!col.cell) {
|
|
75
|
+
col.cell = ({ getValue }) => {
|
|
76
|
+
const value = getValue();
|
|
77
|
+
if (value === "" || value === null || value === void 0) {
|
|
78
|
+
return "\xA0";
|
|
79
|
+
}
|
|
80
|
+
return String(value);
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return col;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
68
86
|
const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.table || {} })({
|
|
69
87
|
sticky: props.sticky,
|
|
70
88
|
loading: props.loading,
|
|
@@ -155,22 +155,8 @@ export type TableSlots<T extends TableData = TableData> = {
|
|
|
155
155
|
'body-top': (props?: {}) => any;
|
|
156
156
|
'body-bottom': (props?: {}) => any;
|
|
157
157
|
} & DynamicHeaderSlots<T> & DynamicFooterSlots<T> & DynamicCellSlots<T>;
|
|
158
|
-
declare const
|
|
159
|
-
props: __VLS_PrettifyLocal<
|
|
160
|
-
readonly "onUpdate:globalFilter"?: ((value: string) => any) | undefined;
|
|
161
|
-
readonly "onUpdate:columnFilters"?: ((value: ColumnFiltersState) => any) | undefined;
|
|
162
|
-
readonly "onUpdate:columnOrder"?: ((value: ColumnOrderState) => any) | undefined;
|
|
163
|
-
readonly "onUpdate:columnVisibility"?: ((value: VisibilityState) => any) | undefined;
|
|
164
|
-
readonly "onUpdate:columnPinning"?: ((value: ColumnPinningState) => any) | undefined;
|
|
165
|
-
readonly "onUpdate:columnSizing"?: ((value: ColumnSizingState) => any) | undefined;
|
|
166
|
-
readonly "onUpdate:columnSizingInfo"?: ((value: ColumnSizingInfoState) => any) | undefined;
|
|
167
|
-
readonly "onUpdate:rowSelection"?: ((value: RowSelectionState) => any) | undefined;
|
|
168
|
-
readonly "onUpdate:rowPinning"?: ((value: RowPinningState) => any) | undefined;
|
|
169
|
-
readonly "onUpdate:sorting"?: ((value: SortingState) => any) | undefined;
|
|
170
|
-
readonly "onUpdate:grouping"?: ((value: GroupingState) => any) | undefined;
|
|
171
|
-
readonly "onUpdate:expanded"?: ((value: ExpandedState) => any) | undefined;
|
|
172
|
-
readonly "onUpdate:pagination"?: ((value: PaginationState) => any) | undefined;
|
|
173
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:globalFilter" | "onUpdate:columnFilters" | "onUpdate:columnOrder" | "onUpdate:columnVisibility" | "onUpdate:columnPinning" | "onUpdate:columnSizing" | "onUpdate:columnSizingInfo" | "onUpdate:rowSelection" | "onUpdate:rowPinning" | "onUpdate:sorting" | "onUpdate:grouping" | "onUpdate:expanded" | "onUpdate:pagination"> & (TableProps<T> & {
|
|
158
|
+
declare const __VLS_export: <T extends TableData>(__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<{
|
|
159
|
+
props: __VLS_PrettifyLocal<(TableProps<T> & {
|
|
174
160
|
globalFilter?: string;
|
|
175
161
|
columnFilters?: ColumnFiltersState;
|
|
176
162
|
columnOrder?: ColumnOrderState;
|
|
@@ -184,17 +170,32 @@ declare const _default: <T extends TableData>(__VLS_props: NonNullable<Awaited<t
|
|
|
184
170
|
grouping?: GroupingState;
|
|
185
171
|
expanded?: ExpandedState;
|
|
186
172
|
pagination?: PaginationState;
|
|
187
|
-
}) & {
|
|
188
|
-
|
|
173
|
+
}) & {
|
|
174
|
+
"onUpdate:globalFilter"?: ((value: string) => any) | undefined;
|
|
175
|
+
"onUpdate:columnFilters"?: ((value: ColumnFiltersState) => any) | undefined;
|
|
176
|
+
"onUpdate:columnOrder"?: ((value: ColumnOrderState) => any) | undefined;
|
|
177
|
+
"onUpdate:columnVisibility"?: ((value: VisibilityState) => any) | undefined;
|
|
178
|
+
"onUpdate:columnPinning"?: ((value: ColumnPinningState) => any) | undefined;
|
|
179
|
+
"onUpdate:columnSizing"?: ((value: ColumnSizingState) => any) | undefined;
|
|
180
|
+
"onUpdate:columnSizingInfo"?: ((value: ColumnSizingInfoState) => any) | undefined;
|
|
181
|
+
"onUpdate:rowSelection"?: ((value: RowSelectionState) => any) | undefined;
|
|
182
|
+
"onUpdate:rowPinning"?: ((value: RowPinningState) => any) | undefined;
|
|
183
|
+
"onUpdate:sorting"?: ((value: SortingState) => any) | undefined;
|
|
184
|
+
"onUpdate:grouping"?: ((value: GroupingState) => any) | undefined;
|
|
185
|
+
"onUpdate:expanded"?: ((value: ExpandedState) => any) | undefined;
|
|
186
|
+
"onUpdate:pagination"?: ((value: PaginationState) => any) | undefined;
|
|
187
|
+
}> & import("vue").PublicProps;
|
|
188
|
+
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
189
189
|
tableRef: Ref<HTMLTableElement | null, HTMLTableElement | null>;
|
|
190
190
|
tableApi: import("@tanstack/table-core").Table<T>;
|
|
191
|
-
}>)
|
|
191
|
+
}>) => void;
|
|
192
192
|
attrs: any;
|
|
193
193
|
slots: TableSlots<T>;
|
|
194
194
|
emit: ((evt: "update:globalFilter", value: string) => void) & ((evt: "update:columnFilters", value: ColumnFiltersState) => void) & ((evt: "update:columnOrder", value: ColumnOrderState) => void) & ((evt: "update:columnVisibility", value: VisibilityState) => void) & ((evt: "update:columnPinning", value: ColumnPinningState) => void) & ((evt: "update:columnSizing", value: ColumnSizingState) => void) & ((evt: "update:columnSizingInfo", value: ColumnSizingInfoState) => void) & ((evt: "update:rowSelection", value: RowSelectionState) => void) & ((evt: "update:rowPinning", value: RowPinningState) => void) & ((evt: "update:sorting", value: SortingState) => void) & ((evt: "update:grouping", value: GroupingState) => void) & ((evt: "update:expanded", value: ExpandedState) => void) & ((evt: "update:pagination", value: PaginationState) => void);
|
|
195
195
|
}>) => import("vue").VNode & {
|
|
196
196
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
197
197
|
};
|
|
198
|
+
declare const _default: typeof __VLS_export;
|
|
198
199
|
export default _default;
|
|
199
200
|
type __VLS_PrettifyLocal<T> = {
|
|
200
201
|
[K in keyof T as K]: T[K];
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { ComponentPublicInstance } from 'vue';
|
|
2
|
+
import type { TabsRootProps, TabsRootEmits } from 'reka-ui';
|
|
3
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
4
|
+
import theme from '#build/ui/tabs';
|
|
5
|
+
import type { AvatarProps, BadgeProps } from '../types';
|
|
6
|
+
import type { DynamicSlots, ComponentConfig } from '../types/utils';
|
|
7
|
+
type Tabs = ComponentConfig<typeof theme, AppConfig, 'tabs'>;
|
|
8
|
+
export interface TabsItem {
|
|
9
|
+
label?: string;
|
|
10
|
+
/**
|
|
11
|
+
* @IconifyIcon
|
|
12
|
+
*/
|
|
13
|
+
icon?: string;
|
|
14
|
+
avatar?: AvatarProps;
|
|
15
|
+
/**
|
|
16
|
+
* Display a badge on the item.
|
|
17
|
+
* `{ size: 'sm', color: 'neutral', variant: 'outline' }`{lang="ts-type"}
|
|
18
|
+
*/
|
|
19
|
+
badge?: string | number | BadgeProps;
|
|
20
|
+
slot?: string;
|
|
21
|
+
content?: string;
|
|
22
|
+
/** A unique value for the tab item. Defaults to the index. */
|
|
23
|
+
value?: string | number;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
class?: any;
|
|
26
|
+
ui?: Pick<Tabs['slots'], 'trigger' | 'leadingIcon' | 'leadingAvatar' | 'leadingAvatarSize' | 'label' | 'trailingBadge' | 'trailingBadgeSize' | 'content'>;
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}
|
|
29
|
+
export interface TabsProps<T extends TabsItem = TabsItem> extends Pick<TabsRootProps<string | number>, 'defaultValue' | 'modelValue' | 'activationMode' | 'unmountOnHide'> {
|
|
30
|
+
/**
|
|
31
|
+
* The element or component this component should render as.
|
|
32
|
+
* @defaultValue 'div'
|
|
33
|
+
*/
|
|
34
|
+
as?: any;
|
|
35
|
+
items?: T[];
|
|
36
|
+
/**
|
|
37
|
+
* @defaultValue 'primary'
|
|
38
|
+
*/
|
|
39
|
+
color?: Tabs['variants']['color'];
|
|
40
|
+
/**
|
|
41
|
+
* @defaultValue 'pill'
|
|
42
|
+
*/
|
|
43
|
+
variant?: Tabs['variants']['variant'];
|
|
44
|
+
/**
|
|
45
|
+
* @defaultValue 'md'
|
|
46
|
+
*/
|
|
47
|
+
size?: Tabs['variants']['size'];
|
|
48
|
+
/**
|
|
49
|
+
* The orientation of the tabs.
|
|
50
|
+
* @defaultValue 'horizontal'
|
|
51
|
+
*/
|
|
52
|
+
orientation?: TabsRootProps['orientation'];
|
|
53
|
+
/**
|
|
54
|
+
* The content of the tabs, can be disabled to prevent rendering the content.
|
|
55
|
+
* @defaultValue true
|
|
56
|
+
*/
|
|
57
|
+
content?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* The key used to get the label from the item.
|
|
60
|
+
* @defaultValue 'label'
|
|
61
|
+
*/
|
|
62
|
+
labelKey?: string;
|
|
63
|
+
class?: any;
|
|
64
|
+
ui?: Tabs['slots'];
|
|
65
|
+
}
|
|
66
|
+
export interface TabsEmits extends TabsRootEmits<string | number> {
|
|
67
|
+
}
|
|
68
|
+
type SlotProps<T extends TabsItem> = (props: {
|
|
69
|
+
item: T;
|
|
70
|
+
index: number;
|
|
71
|
+
}) => any;
|
|
72
|
+
export type TabsSlots<T extends TabsItem = TabsItem> = {
|
|
73
|
+
'leading': SlotProps<T>;
|
|
74
|
+
'default': SlotProps<T>;
|
|
75
|
+
'trailing': SlotProps<T>;
|
|
76
|
+
'content': SlotProps<T>;
|
|
77
|
+
'list-leading': (props?: {}) => any;
|
|
78
|
+
'list-trailing': (props?: {}) => any;
|
|
79
|
+
} & DynamicSlots<T, undefined, {
|
|
80
|
+
index: number;
|
|
81
|
+
}>;
|
|
82
|
+
declare const __VLS_export: <T extends TabsItem>(__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<{
|
|
83
|
+
props: __VLS_PrettifyLocal<TabsProps<T> & {
|
|
84
|
+
"onUpdate:modelValue"?: ((payload: string | number) => any) | undefined;
|
|
85
|
+
}> & import("vue").PublicProps;
|
|
86
|
+
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
87
|
+
triggersRef: import("vue").Ref<ComponentPublicInstance[], ComponentPublicInstance[]>;
|
|
88
|
+
}>) => void;
|
|
89
|
+
attrs: any;
|
|
90
|
+
slots: TabsSlots<T>;
|
|
91
|
+
emit: (evt: "update:modelValue", payload: string | number) => void;
|
|
92
|
+
}>) => import("vue").VNode & {
|
|
93
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
94
|
+
};
|
|
95
|
+
declare const _default: typeof __VLS_export;
|
|
96
|
+
export default _default;
|
|
97
|
+
type __VLS_PrettifyLocal<T> = {
|
|
98
|
+
[K in keyof T as K]: T[K];
|
|
99
|
+
} & {};
|