@soybeanjs/ui 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -110
- package/README.zh-CN.md +110 -110
- package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +1 -1
- package/dist/components/button/button-icon.vue.d.ts +1 -1
- package/dist/components/button/button-link.vue.d.ts +1 -1
- package/dist/components/checkbox/checkbox.js +1 -1
- package/dist/components/checkbox/variants.js +1 -1
- package/dist/components/command/command.vue.d.ts +2 -2
- package/dist/components/config-provider/config-provider.vue.d.ts +1 -1
- package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +2 -2
- package/dist/components/context-menu/context-menu-radio.vue.d.ts +2 -2
- package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +2 -2
- package/dist/components/context-menu/context-menu.vue.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +2 -2
- package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +2 -2
- package/dist/components/input-number/index.d.ts +2 -0
- package/dist/components/input-number/index.js +1 -0
- package/dist/components/{number-input/number-input.js → input-number/input-number.js} +1 -1
- package/dist/components/{number-input/number-input.vue.d.ts → input-number/input-number.vue.d.ts} +4 -4
- package/dist/components/input-number/types.d.ts +30 -0
- package/dist/components/{number-input → input-number}/variants.js +1 -1
- package/dist/components/menu/menu-option.vue.d.ts +2 -2
- package/dist/components/menu/menu-options.vue.d.ts +2 -2
- package/dist/components/page-tabs/page-tabs.js +1 -1
- package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
- package/dist/components/page-tabs/types.d.ts +1 -1
- package/dist/components/table/index.d.ts +2 -0
- package/dist/components/table/index.js +1 -0
- package/dist/components/table/shared.js +1 -0
- package/dist/components/table/table-radio.js +1 -0
- package/dist/components/table/table.js +1 -0
- package/dist/components/table/table.vue.d.ts +22 -0
- package/dist/components/table/types.d.ts +94 -0
- package/dist/components/table/variants.js +1 -0
- package/dist/constants/components.d.ts +1 -1
- package/dist/constants/components.js +1 -1
- package/dist/index.d.ts +29 -26
- package/dist/index.js +1 -1
- package/dist/styles.css +19 -1
- package/package.json +17 -15
- package/dist/components/number-input/index.d.ts +0 -2
- package/dist/components/number-input/index.js +0 -1
- package/dist/components/number-input/types.d.ts +0 -30
|
@@ -11,8 +11,8 @@ type __VLS_Slots = {} & {
|
|
|
11
11
|
default?: (props: typeof __VLS_26) => any;
|
|
12
12
|
};
|
|
13
13
|
declare const __VLS_base: vue.DefineComponent<ConfigProviderProps$1, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<ConfigProviderProps$1> & Readonly<{}>, {
|
|
14
|
-
dir: _soybeanjs_headless0.Direction;
|
|
15
14
|
size: ThemeSize;
|
|
15
|
+
dir: _soybeanjs_headless0.Direction;
|
|
16
16
|
theme: _soybeanjs_shadcn_theme0.ThemeOptions;
|
|
17
17
|
iconify: {
|
|
18
18
|
width?: string;
|
|
@@ -10,13 +10,13 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
|
|
|
10
10
|
onSelect?: ((item: S, event: Event) => any) | undefined;
|
|
11
11
|
"onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
|
|
12
12
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
13
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
14
13
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
15
14
|
onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
16
15
|
onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
17
16
|
onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
18
17
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
19
18
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
19
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
20
20
|
}> & (typeof globalThis extends {
|
|
21
21
|
__VLS_PROPS_FALLBACK: infer P;
|
|
22
22
|
} ? P : {});
|
|
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
|
|
|
29
29
|
'item-trailing': (props: S) => any;
|
|
30
30
|
'item-indicator-icon': (props: S) => any;
|
|
31
31
|
};
|
|
32
|
-
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "
|
|
32
|
+
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
|
|
33
33
|
}>) => vue.VNode & {
|
|
34
34
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
35
35
|
};
|
|
@@ -10,13 +10,13 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
|
|
|
10
10
|
onSelect?: ((item: S, event: Event) => any) | undefined;
|
|
11
11
|
"onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
|
|
12
12
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
13
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
14
13
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
15
14
|
onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
16
15
|
onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
17
16
|
onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
18
17
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
19
18
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
19
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
20
20
|
}> & (typeof globalThis extends {
|
|
21
21
|
__VLS_PROPS_FALLBACK: infer P;
|
|
22
22
|
} ? P : {});
|
|
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
|
|
|
29
29
|
'item-trailing': (props: S) => any;
|
|
30
30
|
'item-indicator-icon': (props: S) => any;
|
|
31
31
|
};
|
|
32
|
-
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "
|
|
32
|
+
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
|
|
33
33
|
}>) => vue.VNode & {
|
|
34
34
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
35
35
|
};
|
|
@@ -11,22 +11,22 @@ type __VLS_Slots = {} & {
|
|
|
11
11
|
};
|
|
12
12
|
declare const __VLS_base: vue.DefineComponent<ContextMenuWrapperProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
13
13
|
"update:open": (value: boolean) => any;
|
|
14
|
-
entryFocus: (event: Event) => any;
|
|
15
14
|
escapeKeyDown: (event: KeyboardEvent) => any;
|
|
16
15
|
pointerDownOutside: (event: _soybeanjs_headless0.PointerDownOutsideEvent) => any;
|
|
17
16
|
focusOutside: (event: _soybeanjs_headless0.FocusOutsideEvent) => any;
|
|
18
17
|
interactOutside: (event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any;
|
|
19
18
|
openAutoFocus: (event: Event) => any;
|
|
20
19
|
closeAutoFocus: (event: Event) => any;
|
|
20
|
+
entryFocus: (event: Event) => any;
|
|
21
21
|
}, string, vue.PublicProps, Readonly<ContextMenuWrapperProps> & Readonly<{
|
|
22
22
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
23
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
24
23
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
25
24
|
onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
26
25
|
onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
27
26
|
onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
28
27
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
29
28
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
29
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
30
30
|
}>, {
|
|
31
31
|
modal: boolean;
|
|
32
32
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
@@ -9,13 +9,13 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
|
|
|
9
9
|
props: vue.PublicProps & __VLS_PrettifyLocal<ContextMenuProps<T, S> & {
|
|
10
10
|
onSelect?: ((item: S, event: Event) => any) | undefined;
|
|
11
11
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
12
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
13
12
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
14
13
|
onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
15
14
|
onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
16
15
|
onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
17
16
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
18
17
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
18
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
19
19
|
}> & (typeof globalThis extends {
|
|
20
20
|
__VLS_PROPS_FALLBACK: infer P;
|
|
21
21
|
} ? P : {});
|
|
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
|
|
|
29
29
|
'item-trigger': (props: MenuOptionData<T>) => any;
|
|
30
30
|
'item-trigger-icon': (props: MenuOptionData<T>) => any;
|
|
31
31
|
};
|
|
32
|
-
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "
|
|
32
|
+
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
|
|
33
33
|
}>) => vue.VNode & {
|
|
34
34
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
35
35
|
};
|
|
@@ -10,13 +10,13 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
|
|
|
10
10
|
onSelect?: ((item: S, event: Event) => any) | undefined;
|
|
11
11
|
"onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
|
|
12
12
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
13
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
14
13
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
15
14
|
onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
16
15
|
onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
17
16
|
onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
18
17
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
19
18
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
19
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
20
20
|
}> & (typeof globalThis extends {
|
|
21
21
|
__VLS_PROPS_FALLBACK: infer P;
|
|
22
22
|
} ? P : {});
|
|
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
|
|
|
29
29
|
'item-trailing': (props: S) => any;
|
|
30
30
|
'item-indicator-icon': (props: S) => any;
|
|
31
31
|
};
|
|
32
|
-
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "
|
|
32
|
+
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
|
|
33
33
|
}>) => vue.VNode & {
|
|
34
34
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
35
35
|
};
|
|
@@ -10,13 +10,13 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
|
|
|
10
10
|
onSelect?: ((item: S, event: Event) => any) | undefined;
|
|
11
11
|
"onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
|
|
12
12
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
13
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
14
13
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
15
14
|
onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
16
15
|
onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
17
16
|
onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
18
17
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
19
18
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
19
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
20
20
|
}> & (typeof globalThis extends {
|
|
21
21
|
__VLS_PROPS_FALLBACK: infer P;
|
|
22
22
|
} ? P : {});
|
|
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
|
|
|
29
29
|
'item-trailing': (props: S) => any;
|
|
30
30
|
'item-indicator-icon': (props: S) => any;
|
|
31
31
|
};
|
|
32
|
-
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "
|
|
32
|
+
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
|
|
33
33
|
}>) => vue.VNode & {
|
|
34
34
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
35
35
|
};
|
|
@@ -11,22 +11,22 @@ type __VLS_Slots = {} & {
|
|
|
11
11
|
};
|
|
12
12
|
declare const __VLS_base: vue.DefineComponent<DropdownMenuWrapperProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
13
13
|
"update:open": (value: boolean) => any;
|
|
14
|
-
entryFocus: (event: Event) => any;
|
|
15
14
|
escapeKeyDown: (event: KeyboardEvent) => any;
|
|
16
15
|
pointerDownOutside: (event: _soybeanjs_headless0.PointerDownOutsideEvent) => any;
|
|
17
16
|
focusOutside: (event: _soybeanjs_headless0.FocusOutsideEvent) => any;
|
|
18
17
|
interactOutside: (event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any;
|
|
19
18
|
openAutoFocus: (event: Event) => any;
|
|
20
19
|
closeAutoFocus: (event: Event) => any;
|
|
20
|
+
entryFocus: (event: Event) => any;
|
|
21
21
|
}, string, vue.PublicProps, Readonly<DropdownMenuWrapperProps> & Readonly<{
|
|
22
22
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
23
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
24
23
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
25
24
|
onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
26
25
|
onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
27
26
|
onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
28
27
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
29
28
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
29
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
30
30
|
}>, {
|
|
31
31
|
open: boolean;
|
|
32
32
|
modal: boolean;
|
|
@@ -9,13 +9,13 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
|
|
|
9
9
|
props: vue.PublicProps & __VLS_PrettifyLocal<DropdownMenuProps<T, S> & {
|
|
10
10
|
onSelect?: ((item: S, event: Event) => any) | undefined;
|
|
11
11
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
12
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
13
12
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
14
13
|
onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
15
14
|
onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
16
15
|
onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
17
16
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
18
17
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
18
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
19
19
|
}> & (typeof globalThis extends {
|
|
20
20
|
__VLS_PROPS_FALLBACK: infer P;
|
|
21
21
|
} ? P : {});
|
|
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
|
|
|
29
29
|
'item-trigger': (props: MenuOptionData<T>) => any;
|
|
30
30
|
'item-trigger-icon': (props: MenuOptionData<T>) => any;
|
|
31
31
|
};
|
|
32
|
-
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "
|
|
32
|
+
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
|
|
33
33
|
}>) => vue.VNode & {
|
|
34
34
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
35
35
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./input-number.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{inputNumberVariants as n}from"./variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,unref as m,withCtx as h}from"vue";import{useForwardElement as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{InputNumberControl as v,InputNumberDecrement as y,InputNumberIncrement as b,InputNumberRoot as x,provideInputNumberUi as S}from"@soybeanjs/headless";const C=s({name:`SInputNumber`,__name:`input-number`,props:{class:{},size:{},ui:{},center:{type:Boolean},clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},incrementProps:{},decrementProps:{},defaultValue:{},modelValue:{},min:{},max:{},step:{},stepSnapping:{type:Boolean},focusOnChange:{type:Boolean},formatOptions:{},locale:{},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:C}){let w=s,T=C,[E,D]=g(e=>w.inputRef?.(e)),O=_(w,[`class`,`size`,`ui`,`center`,`clearable`,`inputRef`,`controlProps`,`incrementProps`,`decrementProps`]),k=r(()=>e(n({size:w.size,center:w.center}),w.ui,{root:w.class}));return S(k),(e,n)=>(f(),i(m(x),l(m(O),{"onUpdate:modelValue":n[0]||=e=>T(`update:modelValue`,e)}),{default:h(({clear:n})=>[p(e.$slots,`leading`),o(m(v),l(s.controlProps,{ref:m(D)}),null,16),s.clearable?(f(),i(t,{key:0,icon:`lucide:x`,class:u(k.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),p(e.$slots,`trailing`),o(m(y),d(c(s.decrementProps)),{default:h(()=>[p(e.$slots,`decrement`,{},()=>[o(t,{icon:`lucide:minus`})])]),_:3},16),o(m(b),d(c(s.incrementProps)),{default:h(()=>[p(e.$slots,`increment`,{},()=>[o(t,{icon:`lucide:plus`})])]),_:3},16)]),_:3},16))}});export{C as default};
|
package/dist/components/{number-input/number-input.vue.d.ts → input-number/input-number.vue.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { InputNumberProps } from "./types.js";
|
|
2
2
|
import * as vue from "vue";
|
|
3
3
|
|
|
4
|
-
//#region src/components/number-
|
|
4
|
+
//#region src/components/input-number/input-number.vue.d.ts
|
|
5
5
|
declare var __VLS_10: {}, __VLS_24: {}, __VLS_32: {}, __VLS_45: {};
|
|
6
6
|
type __VLS_Slots = {} & {
|
|
7
7
|
leading?: (props: typeof __VLS_10) => any;
|
|
@@ -12,9 +12,9 @@ type __VLS_Slots = {} & {
|
|
|
12
12
|
} & {
|
|
13
13
|
increment?: (props: typeof __VLS_45) => any;
|
|
14
14
|
};
|
|
15
|
-
declare const __VLS_base: vue.DefineComponent<
|
|
15
|
+
declare const __VLS_base: vue.DefineComponent<InputNumberProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
16
16
|
"update:modelValue": (val: number) => any;
|
|
17
|
-
}, string, vue.PublicProps, Readonly<
|
|
17
|
+
}, string, vue.PublicProps, Readonly<InputNumberProps> & Readonly<{
|
|
18
18
|
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
|
|
19
19
|
}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
20
20
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ThemeSize } from "../../theme/types.js";
|
|
2
|
+
import "../../theme/index.js";
|
|
3
|
+
import { ClassValue, InputNumberControlProps, InputNumberDecrementProps, InputNumberIncrementProps, InputNumberRootEmits, InputNumberRootProps, InputNumberUi } from "@soybeanjs/headless";
|
|
4
|
+
|
|
5
|
+
//#region src/components/input-number/types.d.ts
|
|
6
|
+
interface InputNumberProps extends InputNumberRootProps {
|
|
7
|
+
class?: ClassValue;
|
|
8
|
+
size?: ThemeSize;
|
|
9
|
+
ui?: Partial<InputNumberUi>;
|
|
10
|
+
/**
|
|
11
|
+
* Whether to center the input.
|
|
12
|
+
*
|
|
13
|
+
* @defaultValue false
|
|
14
|
+
*/
|
|
15
|
+
center?: boolean;
|
|
16
|
+
/** Whether to show the clear icon */
|
|
17
|
+
clearable?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* The function to set the input element.
|
|
20
|
+
*
|
|
21
|
+
* @param el - The input element.
|
|
22
|
+
*/
|
|
23
|
+
inputRef?: (el: HTMLInputElement) => void;
|
|
24
|
+
controlProps?: InputNumberControlProps;
|
|
25
|
+
incrementProps?: InputNumberIncrementProps;
|
|
26
|
+
decrementProps?: InputNumberDecrementProps;
|
|
27
|
+
}
|
|
28
|
+
type InputNumberEmits = InputNumberRootEmits;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { InputNumberEmits, InputNumberProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{tv as e}from"tailwind-variants";const t=e({slots:{root:`group flex items-center w-full rounded-md border border-input bg-background focus-within:border-input focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30 disabled:cursor-not-allowed disabled:opacity-50`,decrement:`flex h-full shrink-0 items-center justify-center text-muted-foreground bg-transparent outline-none cursor-pointer disabled:cursor-not-allowed disabled:opacity-20`,increment:`flex h-full shrink-0 items-center justify-center text-muted-foreground bg-transparent outline-none cursor-pointer disabled:cursor-not-allowed disabled:opacity-20`,control:[`h-full w-full grow bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`],clearable:`hidden group-hover:block size-1em cursor-pointer opacity-50 hover:opacity-100`},variants:{size:{xs:{root:`h-6 px-1.5 text-2xs gap-1`,decrement:`p-0.75`,increment:`p-0.75`},sm:{root:`h-7 px-2 text-xs gap-1.5`,decrement:`p-1`,increment:`p-1`},md:{root:`h-8 px-2.5 text-sm gap-2`,decrement:`p-1.25`,increment:`p-1.25`},lg:{root:`h-9 px-3 text-base gap-2.5`,decrement:`p-1.5`,increment:`p-1.5`},xl:{root:`h-10 px-3.5 text-lg gap-3`,decrement:`p-1.75`,increment:`p-1.75`},"2xl":{root:`h-12 px-4 text-xl gap-3.5`,decrement:`p-2`,increment:`p-2`}},center:{true:{decrement:`-order-1`,control:`text-center`}}},defaultVariants:{size:`md`,center:!1}});export{t as
|
|
1
|
+
import{tv as e}from"tailwind-variants";const t=e({slots:{root:`group flex items-center w-full rounded-md border border-input bg-background focus-within:border-input focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30 disabled:cursor-not-allowed disabled:opacity-50`,decrement:`flex h-full shrink-0 items-center justify-center text-muted-foreground bg-transparent outline-none cursor-pointer disabled:cursor-not-allowed disabled:opacity-20`,increment:`flex h-full shrink-0 items-center justify-center text-muted-foreground bg-transparent outline-none cursor-pointer disabled:cursor-not-allowed disabled:opacity-20`,control:[`h-full w-full grow bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`],clearable:`hidden group-hover:block size-1em cursor-pointer opacity-50 hover:opacity-100`},variants:{size:{xs:{root:`h-6 px-1.5 text-2xs gap-1`,decrement:`p-0.75`,increment:`p-0.75`},sm:{root:`h-7 px-2 text-xs gap-1.5`,decrement:`p-1`,increment:`p-1`},md:{root:`h-8 px-2.5 text-sm gap-2`,decrement:`p-1.25`,increment:`p-1.25`},lg:{root:`h-9 px-3 text-base gap-2.5`,decrement:`p-1.5`,increment:`p-1.5`},xl:{root:`h-10 px-3.5 text-lg gap-3`,decrement:`p-1.75`,increment:`p-1.75`},"2xl":{root:`h-12 px-4 text-xl gap-3.5`,decrement:`p-2`,increment:`p-2`}},center:{true:{decrement:`-order-1`,control:`text-center`}}},defaultVariants:{size:`md`,center:!1}});export{t as inputNumberVariants};
|
|
@@ -8,13 +8,13 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
|
|
|
8
8
|
props: vue.PublicProps & __VLS_PrettifyLocal<MenuOptionProps<T> & {
|
|
9
9
|
onSelect?: ((item: MenuOptionData<T>, event: Event) => any) | undefined;
|
|
10
10
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
11
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
12
11
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
13
12
|
onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
14
13
|
onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
15
14
|
onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
16
15
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
17
16
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
17
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
18
18
|
}> & (typeof globalThis extends {
|
|
19
19
|
__VLS_PROPS_FALLBACK: infer P;
|
|
20
20
|
} ? P : {});
|
|
@@ -38,7 +38,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
|
|
|
38
38
|
item: MenuOptionData<T>;
|
|
39
39
|
}) => any;
|
|
40
40
|
};
|
|
41
|
-
emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "
|
|
41
|
+
emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
|
|
42
42
|
}>) => vue.VNode & {
|
|
43
43
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
44
44
|
};
|
|
@@ -8,13 +8,13 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
|
|
|
8
8
|
props: vue.PublicProps & __VLS_PrettifyLocal<MenuOptionsProps<T, S> & {
|
|
9
9
|
onSelect?: ((item: S, event: Event) => any) | undefined;
|
|
10
10
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
11
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
12
11
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
13
12
|
onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
14
13
|
onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
15
14
|
onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
16
15
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
17
16
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
17
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
18
18
|
}> & (typeof globalThis extends {
|
|
19
19
|
__VLS_PROPS_FALLBACK: infer P;
|
|
20
20
|
} ? P : {});
|
|
@@ -38,7 +38,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
|
|
|
38
38
|
item: MenuOptionData<T>;
|
|
39
39
|
}) => any;
|
|
40
40
|
};
|
|
41
|
-
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "
|
|
41
|
+
emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
|
|
42
42
|
}>) => vue.VNode & {
|
|
43
43
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
44
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../context-menu/context-menu.js";import{usePageTabsState as r}from"./hooks.js";import{pageTabsVariants as i}from"./variants.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,isRef as p,mergeProps as m,normalizeClass as h,openBlock as g,renderList as _,shallowRef as v,toDisplayString as y,unref as b,watchEffect as x,withCtx as S}from"vue";import{useControllableState as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{PageTabsClose as T,PageTabsItem as E,PageTabsPin as D,PageTabsRoot as O,providePageTabsUi as k}from"@soybeanjs/headless";const A=f({name:`SPageTabs`,__name:`page-tabs`,props:{class:{},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{type:Function,default:()=>!0},modelValue:{},middleClickClose:{type:Boolean}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../context-menu/context-menu.js";import{usePageTabsState as r}from"./hooks.js";import{pageTabsVariants as i}from"./variants.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,isRef as p,mergeProps as m,normalizeClass as h,openBlock as g,renderList as _,shallowRef as v,toDisplayString as y,unref as b,watchEffect as x,withCtx as S}from"vue";import{useControllableState as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{PageTabsClose as T,PageTabsItem as E,PageTabsPin as D,PageTabsRoot as O,providePageTabsUi as k}from"@soybeanjs/headless";const A=f({name:`SPageTabs`,__name:`page-tabs`,props:{class:{},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{type:Function,default:()=>!0},modelValue:{},middleClickClose:{type:Boolean}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`selectContextMenu`],setup(f,{emit:A}){let j=f,M=A,N=w(j,[`class`,`size`,`variant`,`ui`,`modelValue`,`items`,`menuFactory`,`beforeClose`]),P=C(()=>j.modelValue,e=>{M(`update:modelValue`,e??``)},``),F=C(()=>j.items,e=>{M(`update:items`,e)},[]),{closeTab:I,pinTab:L,sortTabs:R,getState:z}=r({items:F,modelValue:P,beforeClose:j.beforeClose}),B=v(null),V=v(null),H=o(()=>{if(!B.value||!j.menuFactory)return[];let e=z(B.value);return j.menuFactory(B.value,e)}),U=e=>{I(e.value,()=>{M(`close`,e)})},W=(e,t)=>{L(e,t),M(`pin`,e)},G=(e,t)=>{V.value=e.currentTarget,B.value=t,M(`contextmenu`,t)},K=async e=>{B.value&&(await e.action?.(),M(`selectContextMenu`,e,B.value))},q=o(()=>e(i({size:j.size,variant:j.variant}),j.ui,{root:j.class}));return x(()=>{R()}),k(q),(e,r)=>(g(),s(b(O),m(b(N),{modelValue:b(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null}),{default:S(()=>[(g(!0),l(a,null,_(b(F),e=>(g(),s(b(E),{key:e.value,value:e.value,pinned:e.pinned,onClick:t=>M(`click`,e),onClose:t=>U(e),onPin:t=>W(e,t),onPointerenter:t=>G(t,e)},{default:S(()=>[d(t,{icon:e.icon},null,8,[`icon`]),u(`span`,{class:h(q.value.itemText)},y(e.label),3),e.hidePinnedIcon?c(`v-if`,!0):(g(),s(b(D),{key:0,"as-child":``},{default:S(()=>[d(t,{icon:`lucide:pin`})]),_:1})),d(b(T),{"as-child":``},{default:S(()=>[d(t,{icon:`lucide:x`})]),_:1}),f.variant===`chrome`?(g(),l(a,{key:1},[(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgLeft)},[...r[1]||=[u(`path`,{d:`M 0 8 A 8 8 0 0 0 8 0 L 8 8 Z`},null,-1)]],2)),(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgRight)},[...r[2]||=[u(`path`,{d:`M 0 0 A 8 8 0 0 0 8 8 L 0 8 Z`},null,-1)]],2))],64)):c(`v-if`,!0),f.variant===`slider`?(g(),l(`div`,{key:2,class:h(q.value.sliderIndicator)},null,2)):c(`v-if`,!0)]),_:2},1032,[`value`,`pinned`,`onClick`,`onClose`,`onPin`,`onPointerenter`]))),128)),H.value.length?(g(),s(n,{key:0,modal:!1,items:H.value,"trigger-props":{reference:V.value},onSelect:K},null,8,[`items`,`trigger-props`])):c(`v-if`,!0)]),_:1},16,[`modelValue`]))}});export{A as default};
|
|
@@ -10,7 +10,7 @@ declare const __VLS_export: <T extends PageTabsOptionData>(__VLS_props: NonNulla
|
|
|
10
10
|
onClick?: ((tab: T) => any) | undefined;
|
|
11
11
|
onPin?: ((tab: T) => any) | undefined;
|
|
12
12
|
"onUpdate:items"?: ((items: T[]) => any) | undefined;
|
|
13
|
-
|
|
13
|
+
onSelectContextMenu?: ((menu: PageTabsContextMenuOptionData, tab: T) => any) | undefined;
|
|
14
14
|
}> & (typeof globalThis extends {
|
|
15
15
|
__VLS_PROPS_FALLBACK: infer P;
|
|
16
16
|
} ? P : {});
|
|
@@ -63,7 +63,7 @@ type PageTabsEmits<T> = PageTabsRootEmits & {
|
|
|
63
63
|
(e: 'close', tab: T): void;
|
|
64
64
|
(e: 'pin', tab: T): void;
|
|
65
65
|
(e: 'contextmenu', tab: T): void;
|
|
66
|
-
(e: '
|
|
66
|
+
(e: 'selectContextMenu', menu: PageTabsContextMenuOptionData, tab: T): void;
|
|
67
67
|
};
|
|
68
68
|
//#endregion
|
|
69
69
|
export { PageTabsContextMenuOptionData, PageTabsEmits, PageTabsExtendedUi, PageTabsExtraUiSlot, PageTabsOptionData, PageTabsProps, PageTabsState };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./table.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t){let n=t.split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return r}export{e as getTableRowValueByDataIndex};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{tableVariants as e}from"./variants.js";import{computed as t,createCommentVNode as n,createElementBlock as r,defineComponent as i,normalizeClass as a,openBlock as o}from"vue";const s=i({name:`STableRadio`,__name:`table-radio`,props:{size:{},checked:{type:Boolean}},setup(i){let s=i,c=t(()=>{let t=e({size:s.size});return{radioRoot:t.radioRoot(),radioIndicator:t.radioIndicator()}});return(e,t)=>(o(),r(`button`,{class:a(c.value.radioRoot)},[i.checked?(o(),r(`span`,{key:0,class:a(c.value.radioIndicator)},null,2)):n(`v-if`,!0)],2))}});export{s as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../button/button-icon.js";import n from"../checkbox/checkbox.js";import{tableVariants as r}from"./variants.js";import i from"./table-radio.js";import{getTableRowValueByDataIndex as a}from"./shared.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createTextVNode as d,createVNode as f,defineComponent as p,guardReactiveProps as m,mergeProps as h,normalizeClass as g,normalizeProps as _,normalizeStyle as v,openBlock as y,renderList as b,renderSlot as x,toDisplayString as S,unref as C,useSlots as w,withCtx as T}from"vue";import{useControllableState as E,useSelection as D}from"@soybeanjs/headless/composables";import{TableBody as O,TableCell as k,TableContent as A,TableFooter as j,TableHead as M,TableHeader as N,TableRoot as P,TableRow as F,provideTableUi as I}from"@soybeanjs/headless";const L=p({name:`STable`,__name:`table`,props:{class:{},ui:{},size:{},columns:{},data:{},rowKey:{type:Function},defaultExpanded:{},expanded:{},defaultExpandAll:{type:Boolean},contentProps:{},headerProps:{},bodyProps:{},footerProps:{},headProps:{},rowProps:{},cellProps:{},defaultSelected:{},selected:{},multiple:{}},emits:[`update:expanded`,`update:selected`],setup(p,{emit:L}){let R=p,z=L,B=w(),V=s(()=>e(r({size:R.size}),R.ui,{root:R.class})),H=E(()=>R.expanded,e=>{z(`update:expanded`,e??[])},U());function U(){return R.defaultExpandAll?R.data.map(e=>R.rowKey(e)):R.defaultExpanded??[]}let W=e=>{H.value.indexOf(e)>=0?H.value=H.value.filter(t=>t!==e):H.value=[...H.value,e]},{modelValue:G,onModelValueChange:K,setModelValue:q,resetModelValue:J,isMultiple:Y,isValueSelected:X}=D(s(()=>({modelValue:R.selected,defaultValue:R.defaultSelected,multiple:R.multiple})),e=>{z(`update:selected`,e)}),Z=s(()=>!Array.isArray(G.value)||G.value.length===0?!1:G.value.length===R.data.length?!0:`indeterminate`),Q=e=>{Array.isArray(G.value)&&(e===!0?q(R.data.map(e=>R.rowKey(e))):J())},$=s(()=>R.columns.filter(e=>!e.hidden)),ee=s(()=>R.columns.some(e=>e.type===`expand`));return I(V),(e,r)=>(y(),c(C(P),{style:v(e.style)},{default:T(()=>[f(C(A),_(m(p.contentProps)),{default:T(()=>[f(C(N),_(m(p.headerProps)),{default:T(()=>[f(C(F),_(m(p.rowProps)),{default:T(()=>[(y(!0),u(o,null,b($.value,t=>(y(),u(o,null,[t.dataIndex?(y(),c(C(M),h({key:0,ref_for:!0},p.headProps,{key:t.dataIndex,align:t.align??`left`,style:{width:t.width}}),{default:T(()=>[x(e.$slots,`header-${t.dataIndex}`,{column:t},()=>[d(S(t.title),1)])]),_:2},1040,[`align`,`style`])):t.type?(y(),c(C(M),h({key:1,ref_for:!0},p.headProps,{key:`__${t.type}`,align:t.align??`center`,style:{width:t.width}}),{default:T(()=>[x(e.$slots,`header-${t.type}`,{column:t,multiple:C(Y)},()=>[t.type===`index`?(y(),u(o,{key:0},[d(S(t.title??`#`),1)],64)):l(`v-if`,!0),t.type===`selection`?(y(),u(o,{key:1},[C(Y)?(y(),c(n,{key:0,"model-value":Z.value,class:g(V.value.selection),"onUpdate:modelValue":Q},null,8,[`model-value`,`class`])):l(`v-if`,!0)],64)):l(`v-if`,!0),t.type===`expand`?(y(),u(o,{key:2},[d(S(t.title),1)],64)):l(`v-if`,!0)])]),_:2},1040,[`align`,`style`])):l(`v-if`,!0)],64))),256))]),_:3},16)]),_:3},16),f(C(O),_(m(p.bodyProps)),{default:T(()=>[(y(!0),u(o,null,b(p.data,(r,s)=>(y(),u(o,{key:p.rowKey(r)},[f(C(F),h({ref_for:!0},p.rowProps,{"data-row":``}),{default:T(()=>[(y(!0),u(o,null,b($.value,f=>(y(),u(o,null,[f.dataIndex?(y(),c(C(k),h({key:0,ref_for:!0},p.cellProps,{key:f.dataIndex,align:f.align??`left`,style:{width:f.width}}),{default:T(()=>[x(e.$slots,f.dataIndex,{index:s,column:f,row:r,value:C(a)(r,f.dataIndex)},()=>[d(S(C(a)(r,f.dataIndex)),1)])]),_:2},1040,[`align`,`style`])):f.type?(y(),c(C(k),h({key:1,ref_for:!0},p.cellProps,{key:`__${f.type}`,align:f.align??`center`,style:{width:f.width}}),{default:T(()=>[f.type===`index`?x(e.$slots,`index`,{key:0,index:s,column:f,row:r},()=>[d(S(s+1),1)]):l(`v-if`,!0),f.type===`selection`?x(e.$slots,`selection`,{key:1,index:s,column:f,row:r,multiple:C(Y)},()=>[C(Y)?(y(),c(n,{key:0,class:g(V.value.selection),"model-value":C(X)(p.rowKey(r)),"onUpdate:modelValue":e=>C(K)(p.rowKey(r))},null,8,[`class`,`model-value`,`onUpdate:modelValue`])):(y(),c(i,{key:1,size:p.size,checked:C(X)(p.rowKey(r)),onClick:e=>C(K)(p.rowKey(r))},null,8,[`size`,`checked`,`onClick`]))]):l(`v-if`,!0),f.type===`expand`?x(e.$slots,`expand`,{key:2,index:s,column:f,row:r,expanded:C(H).includes(p.rowKey(r)),toggleExpand:()=>W(p.rowKey(r))},()=>[C(H).includes(p.rowKey(r))?(y(),c(t,{key:0,icon:`lucide:chevron-down`,onClick:e=>W(p.rowKey(r))},null,8,[`onClick`])):(y(),c(t,{key:1,icon:`lucide:chevron-right`,onClick:e=>W(p.rowKey(r))},null,8,[`onClick`]))]):l(`v-if`,!0)]),_:2},1040,[`align`,`style`])):l(`v-if`,!0)],64))),256))]),_:2},1040),ee.value&&C(H).includes(p.rowKey(r))?(y(),c(C(F),h({key:0,ref_for:!0},p.rowProps,{"data-expanded-row":``}),{default:T(()=>[f(C(k),h({ref_for:!0},p.cellProps,{colspan:$.value.length}),{default:T(()=>[x(e.$slots,`expanded-row`,{index:s,row:r})]),_:2},1040,[`colspan`])]),_:2},1040)):l(`v-if`,!0)],64))),128))]),_:3},16),B.footer?(y(),c(C(j),_(h({key:0},p.footerProps)),{default:T(()=>[x(e.$slots,`footer`)]),_:3},16)):l(`v-if`,!0)]),_:3},16)]),_:3},8,[`style`]))}});export{L as default};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseTableData, TableProps, TableSlots } from "./types.js";
|
|
2
|
+
import * as vue from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/table/table.vue.d.ts
|
|
5
|
+
declare const __VLS_export: <T extends BaseTableData = BaseTableData, R extends string | number = string | number, M extends boolean = boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
6
|
+
props: vue.PublicProps & __VLS_PrettifyLocal<TableProps<T, R, M> & {
|
|
7
|
+
"onUpdate:expanded"?: ((expanded: R[]) => any) | undefined;
|
|
8
|
+
"onUpdate:selected"?: ((selected: M extends true ? R[] : R | undefined) => any) | undefined;
|
|
9
|
+
}> & (typeof globalThis extends {
|
|
10
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
11
|
+
} ? P : {});
|
|
12
|
+
expose: (exposed: {}) => void;
|
|
13
|
+
attrs: any;
|
|
14
|
+
slots: TableSlots<T>;
|
|
15
|
+
emit: ((evt: "update:expanded", expanded: R[]) => void) & ((evt: "update:selected", selected: M extends true ? R[] : R | undefined) => void);
|
|
16
|
+
}>) => vue.VNode & {
|
|
17
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
18
|
+
};
|
|
19
|
+
declare const _default: typeof __VLS_export;
|
|
20
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { _default };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { ThemeSize } from "../../theme/types.js";
|
|
2
|
+
import "../../theme/index.js";
|
|
3
|
+
import { Path, PathValue, TableBodyProps, TableCellProps, TableContentProps, TableFooterProps, TableHeadProps, TableHeaderProps, TableRootProps, TableRowProps, TableUi } from "@soybeanjs/headless";
|
|
4
|
+
|
|
5
|
+
//#region src/components/table/types.d.ts
|
|
6
|
+
type BaseTableData = Record<string, any>;
|
|
7
|
+
type TableAlign = 'left' | 'center' | 'right' | 'justify' | 'char';
|
|
8
|
+
type TableColumnType = 'index' | 'selection' | 'expand';
|
|
9
|
+
interface TableColumn<T extends BaseTableData = BaseTableData> {
|
|
10
|
+
type?: TableColumnType;
|
|
11
|
+
dataIndex?: Path<T>;
|
|
12
|
+
title?: string;
|
|
13
|
+
align?: TableAlign;
|
|
14
|
+
width?: string;
|
|
15
|
+
hidden?: boolean;
|
|
16
|
+
}
|
|
17
|
+
interface TableSelectionProps<R extends string | number = string | number, M extends boolean = false> {
|
|
18
|
+
defaultSelected?: M extends true ? R[] : R;
|
|
19
|
+
selected?: M extends true ? R[] : R;
|
|
20
|
+
multiple?: M;
|
|
21
|
+
}
|
|
22
|
+
interface TableProps<T extends BaseTableData = BaseTableData, R extends string | number = string | number, M extends boolean = false> extends TableRootProps, TableSelectionProps<R, M> {
|
|
23
|
+
/**
|
|
24
|
+
* Additional class names to apply to the table.
|
|
25
|
+
*/
|
|
26
|
+
class?: string;
|
|
27
|
+
ui?: Partial<TableUi>;
|
|
28
|
+
size?: ThemeSize;
|
|
29
|
+
columns: TableColumn<T>[];
|
|
30
|
+
data: T[];
|
|
31
|
+
rowKey: (row: T) => R;
|
|
32
|
+
defaultExpanded?: R[];
|
|
33
|
+
expanded?: R[];
|
|
34
|
+
defaultExpandAll?: boolean;
|
|
35
|
+
contentProps?: TableContentProps;
|
|
36
|
+
headerProps?: TableHeaderProps;
|
|
37
|
+
bodyProps?: TableBodyProps;
|
|
38
|
+
footerProps?: TableFooterProps;
|
|
39
|
+
headProps?: TableHeadProps;
|
|
40
|
+
rowProps?: TableRowProps;
|
|
41
|
+
cellProps?: TableCellProps;
|
|
42
|
+
}
|
|
43
|
+
type TableEmits<R extends string | number, M extends boolean = false> = {
|
|
44
|
+
'update:expanded': [expanded: R[]];
|
|
45
|
+
'update:selected': [selected: M extends true ? R[] : R | undefined];
|
|
46
|
+
};
|
|
47
|
+
type TableSlots<T extends BaseTableData> = { [K in `header-${Path<T>}`]?: (props: {
|
|
48
|
+
column: TableColumn<T>;
|
|
49
|
+
}) => any } & { [K in Path<T>]?: (props: {
|
|
50
|
+
index: number;
|
|
51
|
+
column: TableColumn<T>;
|
|
52
|
+
row: T;
|
|
53
|
+
value: PathValue<T, K>;
|
|
54
|
+
}) => any } & {
|
|
55
|
+
'header-index'?: (props: {
|
|
56
|
+
column: TableColumn<T>;
|
|
57
|
+
}) => any;
|
|
58
|
+
'header-selection'?: (props: {
|
|
59
|
+
column: TableColumn<T>;
|
|
60
|
+
multiple: boolean;
|
|
61
|
+
}) => any;
|
|
62
|
+
'header-expand'?: (props: {
|
|
63
|
+
column: TableColumn<T>;
|
|
64
|
+
}) => any;
|
|
65
|
+
index?: (props: {
|
|
66
|
+
index: number;
|
|
67
|
+
column: TableColumn<T>;
|
|
68
|
+
row: T;
|
|
69
|
+
}) => any;
|
|
70
|
+
selection?: (props: {
|
|
71
|
+
index: number;
|
|
72
|
+
column: TableColumn<T>;
|
|
73
|
+
row: T;
|
|
74
|
+
multiple: boolean;
|
|
75
|
+
}) => any;
|
|
76
|
+
expand?: (props: {
|
|
77
|
+
index: number;
|
|
78
|
+
column: TableColumn<T>;
|
|
79
|
+
row: T;
|
|
80
|
+
expanded: boolean;
|
|
81
|
+
toggleExpand: () => void;
|
|
82
|
+
}) => any;
|
|
83
|
+
'expanded-row'?: (props: {
|
|
84
|
+
index: number;
|
|
85
|
+
row: T;
|
|
86
|
+
}) => any;
|
|
87
|
+
footer?: () => any;
|
|
88
|
+
};
|
|
89
|
+
interface TableRadioProps {
|
|
90
|
+
size?: ThemeSize;
|
|
91
|
+
checked?: boolean;
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
export { BaseTableData, TableAlign, TableColumn, TableEmits, TableProps, TableRadioProps, TableSelectionProps, TableSlots };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{tv as e}from"tailwind-variants";const t=e({slots:{root:`relative overflow-auto`,content:`w-full`,header:`sticky top-0 left-0 bg-accent`,body:``,footer:`bg-accent font-medium`,row:`data-[row]:hover:bg-accent transition-colors`,head:`text-foreground font-medium whitespace-nowrap`,cell:`whitespace-nowrap`,selection:`text-foreground`,radioRoot:[`peer relative shrink-0 rounded-full border border-solid shadow cursor-pointer`,`border-primary focus-visible:ring-primary/30`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`],radioIndicator:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-1/2 bg-primary rounded-full`},variants:{size:{xs:{root:`text-2xs`,caption:`py-2`,head:`h-8 px-1.5`,cell:`p-1.5`,radioRoot:`w-3 h-3`},sm:{root:`text-xs`,caption:`py-2.5`,head:`h-9 px-1.75`,cell:`p-1.75`,radioRoot:`w-3.5 h-3.5`},md:{root:`text-sm`,caption:`py-3`,head:`h-10 px-2`,cell:`p-2`,radioRoot:`w-4 h-4`},lg:{root:`text-base`,caption:`py-3.5`,head:`h-12 px-2.5`,cell:`p-2.5`,radioRoot:`w-4.5 h-4.5`},xl:{root:`text-lg`,caption:`py-4`,head:`h-14 px-3`,cell:`p-3`,radioRoot:`w-5 h-5`},"2xl":{root:`text-xl`,caption:`py-4.5`,head:`h-16 px-3.5`,cell:`p-3.5`,radioRoot:`w-6 h-6`}},bordered:{all:{root:`border border-border border-collapse`,head:`border border-border`,cell:`border border-border`},true:{header:`[&_tr]:border`,body:`[&_tr]:border-x`,footer:`[&>tr]:border-x border-t`,row:`border-b`},false:{header:`[&_tr]:border-b`,body:`[&_tr:last-child]:border-0`,footer:`[&>tr]:last:border-b-0 border-t`,row:`border-b`}},striped:{true:{row:`data-[row]:even:bg-accent`}}},defaultVariants:{size:`md`,bordered:!1,striped:!1}});export{t as tableVariants};
|
|
@@ -20,6 +20,7 @@ declare const components: {
|
|
|
20
20
|
dropdownMenu: string[];
|
|
21
21
|
form: string[];
|
|
22
22
|
input: string[];
|
|
23
|
+
inputNumber: string[];
|
|
23
24
|
icon: string[];
|
|
24
25
|
kbd: string[];
|
|
25
26
|
label: string[];
|
|
@@ -28,7 +29,6 @@ declare const components: {
|
|
|
28
29
|
list: string[];
|
|
29
30
|
menu: string[];
|
|
30
31
|
navigationMenu: string[];
|
|
31
|
-
numberInput: string[];
|
|
32
32
|
pageTabs: string[];
|
|
33
33
|
pagination: string[];
|
|
34
34
|
password: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={accordion:[`SAccordion`],alert:[`SAlert`],alertDialog:[`SAlertDialog`,`SAlertDialogCancel`,`SAlertDialogAction`],arrow:[`SArrow`],aspectRatio:[`SAspectRatio`],avatar:[`SAvatar`],badge:[`SBadge`],breadcrumb:[`SBreadcrumb`,`SBreadcrumbPage`,`SBreadcrumbEllipsis`],button:[`SButton`,`SButtonLoading`,`SButtonIcon`,`SButtonLink`,`SButtonGroup`],card:[`SCard`],checkbox:[`SCheckboxGroup`,`SCheckbox`,`SCheckboxCardGroup`,`SCheckboxCard`],collapsible:[`SCollapsible`,`SCollapsibleContent`,`SCollapsibleTrigger`],command:[`SCommand`],configProvider:[`SConfigProvider`],contextMenu:[`SContextMenu`,`SContextMenuCheckbox`,`SContextMenuRadio`,`SContextMenuWrapper`],dialog:[`SDialog`,`SDialogClose`,`SDialogPure`],drawer:[`SDrawer`,`SDrawerClose`],dropdownMenu:[`SDropdownMenu`,`SDropdownMenuCheckbox`,`SDropdownMenuRadio`,`SDropdownMenuWrapper`],form:[`SForm`,`SFormField`,`SFormFieldArray`],input:[`SInput`],icon:[`SIcon`],kbd:[`SKbd`],label:[`SLabel`],layout:[`SLayout`,`SLayoutTrigger`],link:[`SLink`],list:[`SList`,`SListItem`],menu:[`SMenuOption`,`SMenuOptions`,`SMenuCheckboxOptions`,`SMenuRadioOptions`],navigationMenu:[`SNavigationMenu`],
|
|
1
|
+
const e={accordion:[`SAccordion`],alert:[`SAlert`],alertDialog:[`SAlertDialog`,`SAlertDialogCancel`,`SAlertDialogAction`],arrow:[`SArrow`],aspectRatio:[`SAspectRatio`],avatar:[`SAvatar`],badge:[`SBadge`],breadcrumb:[`SBreadcrumb`,`SBreadcrumbPage`,`SBreadcrumbEllipsis`],button:[`SButton`,`SButtonLoading`,`SButtonIcon`,`SButtonLink`,`SButtonGroup`],card:[`SCard`],checkbox:[`SCheckboxGroup`,`SCheckbox`,`SCheckboxCardGroup`,`SCheckboxCard`],collapsible:[`SCollapsible`,`SCollapsibleContent`,`SCollapsibleTrigger`],command:[`SCommand`],configProvider:[`SConfigProvider`],contextMenu:[`SContextMenu`,`SContextMenuCheckbox`,`SContextMenuRadio`,`SContextMenuWrapper`],dialog:[`SDialog`,`SDialogClose`,`SDialogPure`],drawer:[`SDrawer`,`SDrawerClose`],dropdownMenu:[`SDropdownMenu`,`SDropdownMenuCheckbox`,`SDropdownMenuRadio`,`SDropdownMenuWrapper`],form:[`SForm`,`SFormField`,`SFormFieldArray`],input:[`SInput`],inputNumber:[`SInputNumber`],icon:[`SIcon`],kbd:[`SKbd`],label:[`SLabel`],layout:[`SLayout`,`SLayoutTrigger`],link:[`SLink`],list:[`SList`,`SListItem`],menu:[`SMenuOption`,`SMenuOptions`,`SMenuCheckboxOptions`,`SMenuRadioOptions`],navigationMenu:[`SNavigationMenu`],pageTabs:[`SPageTabs`],pagination:[`SPagination`],password:[`SPassword`],popover:[`SPopover`],radioGroup:[`SRadioGroup`,`SRadio`,`SRadioCard`,`SRadioCardGroup`],segment:[`SSegment`],select:[`SSelect`],separator:[`SSeparator`],switch:[`SSwitch`],tabs:[`STabs`],tag:[`STag`],textarea:[`STextarea`],toast:[`SToast`,`SToastAction`,`SToastClose`],tooltip:[`STooltip`],tree:[`STree`,`STreeVirtualizer`],treeMenu:[`STreeMenu`,`STreeMenuStyledItem`],virtualizer:[`SVirtualizer`]};export{e as components};
|