@gyyxds/zy-ui 0.0.3 → 0.1.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/CHANGELOG.md +2 -2
- package/CONTRIBUTING.md +58 -10
- package/README.md +71 -29
- package/dist/zy-ui/button/ZyButton.vue.d.ts +3 -0
- package/dist/zy-ui/button/index.d.ts +6 -0
- package/dist/zy-ui/cascader/ZyCascader.vue.d.ts +23 -0
- package/dist/zy-ui/cascader/index.d.ts +39 -0
- package/dist/zy-ui/index.d.ts +281 -40
- package/dist/zy-ui/input/ZyInput.vue.d.ts +3 -3
- package/dist/zy-ui/input/index.d.ts +6 -6
- package/dist/zy-ui/mega-menu/types.d.ts +4 -4
- package/dist/zy-ui/select/ZySelect.vue.d.ts +32 -5
- package/dist/zy-ui/select/index.d.ts +57 -6
- package/dist/zy-ui/select/types.d.ts +9 -0
- package/dist/zy-ui/side-menu/ZySideMenu.vue.d.ts +48 -0
- package/dist/zy-ui/side-menu/index.d.ts +2 -0
- package/dist/zy-ui/side-menu/types.d.ts +21 -0
- package/dist/zy-ui/switch/ZySwitch.vue.d.ts +8 -2
- package/dist/zy-ui/switch/index.d.ts +6 -0
- package/dist/zy-ui/tabs/ZyTabs.vue.d.ts +49 -0
- package/dist/zy-ui/tabs/index.d.ts +81 -0
- package/dist/zy-ui/tabs/types.d.ts +10 -0
- package/dist/zy-ui/themes/basic.css +124 -0
- package/dist/zy-ui/themes/material.css +2 -1
- package/dist/zy-ui/themes/solid.css +500 -15
- package/dist/zy-ui/zy-ui.css +1 -1
- package/dist/zy-ui/zy-ui.js +1312 -745
- package/package.json +4 -3
|
@@ -1,22 +1,41 @@
|
|
|
1
|
+
import type { ZyTreeNode, ZyTreeProps } from './types';
|
|
1
2
|
type __VLS_Props = {
|
|
2
|
-
/** 承载的聚焦动效:focus 聚焦光环 / underline 下划线扫过
|
|
3
|
-
effect?: 'focus' | 'underline'
|
|
3
|
+
/** 承载的聚焦动效:focus 聚焦光环 / underline 下划线扫过 */
|
|
4
|
+
effect?: 'focus' | 'underline';
|
|
4
5
|
/** 实色主题下的键帽凸起形态;基础主题不改变外观 */
|
|
5
6
|
raised?: boolean;
|
|
6
7
|
size?: 'large' | 'default' | 'small';
|
|
7
8
|
placeholder?: string;
|
|
8
9
|
clearable?: boolean;
|
|
9
10
|
disabled?: boolean;
|
|
11
|
+
/** 树形选择:用 data / treeProps / nodeKey 渲染树,multiple 时默认显示复选框 */
|
|
12
|
+
tree?: boolean;
|
|
13
|
+
/** 树数据 */
|
|
14
|
+
data?: ZyTreeNode[];
|
|
15
|
+
/** 树节点字段映射,默认 { label: 'label', children: 'children' } */
|
|
16
|
+
treeProps?: ZyTreeProps;
|
|
17
|
+
/** 节点唯一键字段,缺省 value */
|
|
18
|
+
nodeKey?: string;
|
|
19
|
+
/** 多选时是否显示复选框;缺省 multiple 时为 true */
|
|
20
|
+
showCheckbox?: boolean;
|
|
21
|
+
/** 父子节点不联动 */
|
|
22
|
+
checkStrictly?: boolean;
|
|
23
|
+
/** 默认展开全部节点 */
|
|
24
|
+
defaultExpandAll?: boolean;
|
|
25
|
+
/** 展开后再渲染子节点 */
|
|
26
|
+
renderAfterExpand?: boolean;
|
|
10
27
|
};
|
|
11
28
|
type __VLS_ModelProps = {
|
|
12
29
|
modelValue?: string | number | undefined | Array<string | number>;
|
|
13
30
|
};
|
|
14
31
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
15
|
-
declare var __VLS_12: string, __VLS_13: any,
|
|
32
|
+
declare var __VLS_12: string, __VLS_13: any, __VLS_26: string, __VLS_27: any, __VLS_29: {};
|
|
16
33
|
type __VLS_Slots = {} & {
|
|
17
34
|
[K in NonNullable<typeof __VLS_12>]?: (props: typeof __VLS_13) => any;
|
|
18
35
|
} & {
|
|
19
|
-
|
|
36
|
+
[K in NonNullable<typeof __VLS_26>]?: (props: typeof __VLS_27) => any;
|
|
37
|
+
} & {
|
|
38
|
+
default?: (props: typeof __VLS_29) => any;
|
|
20
39
|
};
|
|
21
40
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
22
41
|
"update:modelValue": (value: string | number | (string | number)[] | undefined) => any;
|
|
@@ -24,11 +43,19 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
24
43
|
"onUpdate:modelValue"?: ((value: string | number | (string | number)[] | undefined) => any) | undefined;
|
|
25
44
|
}>, {
|
|
26
45
|
size: "large" | "default" | "small";
|
|
27
|
-
effect: "focus" | "underline"
|
|
46
|
+
effect: "focus" | "underline";
|
|
47
|
+
data: ZyTreeNode[];
|
|
28
48
|
disabled: boolean;
|
|
29
49
|
placeholder: string;
|
|
30
50
|
clearable: boolean;
|
|
31
51
|
raised: boolean;
|
|
52
|
+
tree: boolean;
|
|
53
|
+
treeProps: ZyTreeProps;
|
|
54
|
+
nodeKey: string;
|
|
55
|
+
showCheckbox: boolean;
|
|
56
|
+
checkStrictly: boolean;
|
|
57
|
+
defaultExpandAll: boolean;
|
|
58
|
+
renderAfterExpand: boolean;
|
|
32
59
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
33
60
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
34
61
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
export declare const ZySelect: import("../utils/withInstall").SFCWithInstall<{
|
|
2
2
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
3
|
-
effect?: "focus" | "underline"
|
|
3
|
+
effect?: "focus" | "underline";
|
|
4
4
|
raised?: boolean;
|
|
5
5
|
size?: "large" | "default" | "small";
|
|
6
6
|
placeholder?: string;
|
|
7
7
|
clearable?: boolean;
|
|
8
8
|
disabled?: boolean;
|
|
9
|
+
tree?: boolean;
|
|
10
|
+
data?: import("./types").ZyTreeNode[];
|
|
11
|
+
treeProps?: import("./types").ZyTreeProps;
|
|
12
|
+
nodeKey?: string;
|
|
13
|
+
showCheckbox?: boolean;
|
|
14
|
+
checkStrictly?: boolean;
|
|
15
|
+
defaultExpandAll?: boolean;
|
|
16
|
+
renderAfterExpand?: boolean;
|
|
9
17
|
} & {
|
|
10
18
|
modelValue?: string | number | undefined | Array<string | number>;
|
|
11
19
|
}> & Readonly<{
|
|
@@ -14,11 +22,19 @@ export declare const ZySelect: import("../utils/withInstall").SFCWithInstall<{
|
|
|
14
22
|
"update:modelValue": (value: string | number | (string | number)[] | undefined) => any;
|
|
15
23
|
}, import("vue").PublicProps, {
|
|
16
24
|
size: "large" | "default" | "small";
|
|
17
|
-
effect: "focus" | "underline"
|
|
25
|
+
effect: "focus" | "underline";
|
|
26
|
+
data: import("./types").ZyTreeNode[];
|
|
18
27
|
disabled: boolean;
|
|
19
28
|
placeholder: string;
|
|
20
29
|
clearable: boolean;
|
|
21
30
|
raised: boolean;
|
|
31
|
+
tree: boolean;
|
|
32
|
+
treeProps: import("./types").ZyTreeProps;
|
|
33
|
+
nodeKey: string;
|
|
34
|
+
showCheckbox: boolean;
|
|
35
|
+
checkStrictly: boolean;
|
|
36
|
+
defaultExpandAll: boolean;
|
|
37
|
+
renderAfterExpand: boolean;
|
|
22
38
|
}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
23
39
|
P: {};
|
|
24
40
|
B: {};
|
|
@@ -27,34 +43,58 @@ export declare const ZySelect: import("../utils/withInstall").SFCWithInstall<{
|
|
|
27
43
|
M: {};
|
|
28
44
|
Defaults: {};
|
|
29
45
|
}, Readonly<{
|
|
30
|
-
effect?: "focus" | "underline"
|
|
46
|
+
effect?: "focus" | "underline";
|
|
31
47
|
raised?: boolean;
|
|
32
48
|
size?: "large" | "default" | "small";
|
|
33
49
|
placeholder?: string;
|
|
34
50
|
clearable?: boolean;
|
|
35
51
|
disabled?: boolean;
|
|
52
|
+
tree?: boolean;
|
|
53
|
+
data?: import("./types").ZyTreeNode[];
|
|
54
|
+
treeProps?: import("./types").ZyTreeProps;
|
|
55
|
+
nodeKey?: string;
|
|
56
|
+
showCheckbox?: boolean;
|
|
57
|
+
checkStrictly?: boolean;
|
|
58
|
+
defaultExpandAll?: boolean;
|
|
59
|
+
renderAfterExpand?: boolean;
|
|
36
60
|
} & {
|
|
37
61
|
modelValue?: string | number | undefined | Array<string | number>;
|
|
38
62
|
}> & Readonly<{
|
|
39
63
|
"onUpdate:modelValue"?: ((value: string | number | (string | number)[] | undefined) => any) | undefined;
|
|
40
64
|
}>, {}, {}, {}, {}, {
|
|
41
65
|
size: "large" | "default" | "small";
|
|
42
|
-
effect: "focus" | "underline"
|
|
66
|
+
effect: "focus" | "underline";
|
|
67
|
+
data: import("./types").ZyTreeNode[];
|
|
43
68
|
disabled: boolean;
|
|
44
69
|
placeholder: string;
|
|
45
70
|
clearable: boolean;
|
|
46
71
|
raised: boolean;
|
|
72
|
+
tree: boolean;
|
|
73
|
+
treeProps: import("./types").ZyTreeProps;
|
|
74
|
+
nodeKey: string;
|
|
75
|
+
showCheckbox: boolean;
|
|
76
|
+
checkStrictly: boolean;
|
|
77
|
+
defaultExpandAll: boolean;
|
|
78
|
+
renderAfterExpand: boolean;
|
|
47
79
|
}>;
|
|
48
80
|
__isFragment?: never;
|
|
49
81
|
__isTeleport?: never;
|
|
50
82
|
__isSuspense?: never;
|
|
51
83
|
} & import("vue").ComponentOptionsBase<Readonly<{
|
|
52
|
-
effect?: "focus" | "underline"
|
|
84
|
+
effect?: "focus" | "underline";
|
|
53
85
|
raised?: boolean;
|
|
54
86
|
size?: "large" | "default" | "small";
|
|
55
87
|
placeholder?: string;
|
|
56
88
|
clearable?: boolean;
|
|
57
89
|
disabled?: boolean;
|
|
90
|
+
tree?: boolean;
|
|
91
|
+
data?: import("./types").ZyTreeNode[];
|
|
92
|
+
treeProps?: import("./types").ZyTreeProps;
|
|
93
|
+
nodeKey?: string;
|
|
94
|
+
showCheckbox?: boolean;
|
|
95
|
+
checkStrictly?: boolean;
|
|
96
|
+
defaultExpandAll?: boolean;
|
|
97
|
+
renderAfterExpand?: boolean;
|
|
58
98
|
} & {
|
|
59
99
|
modelValue?: string | number | undefined | Array<string | number>;
|
|
60
100
|
}> & Readonly<{
|
|
@@ -63,16 +103,27 @@ export declare const ZySelect: import("../utils/withInstall").SFCWithInstall<{
|
|
|
63
103
|
"update:modelValue": (value: string | number | (string | number)[] | undefined) => any;
|
|
64
104
|
}, string, {
|
|
65
105
|
size: "large" | "default" | "small";
|
|
66
|
-
effect: "focus" | "underline"
|
|
106
|
+
effect: "focus" | "underline";
|
|
107
|
+
data: import("./types").ZyTreeNode[];
|
|
67
108
|
disabled: boolean;
|
|
68
109
|
placeholder: string;
|
|
69
110
|
clearable: boolean;
|
|
70
111
|
raised: boolean;
|
|
112
|
+
tree: boolean;
|
|
113
|
+
treeProps: import("./types").ZyTreeProps;
|
|
114
|
+
nodeKey: string;
|
|
115
|
+
showCheckbox: boolean;
|
|
116
|
+
checkStrictly: boolean;
|
|
117
|
+
defaultExpandAll: boolean;
|
|
118
|
+
renderAfterExpand: boolean;
|
|
71
119
|
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
72
120
|
$slots: {
|
|
73
121
|
[x: string]: ((props: any) => any) | undefined;
|
|
122
|
+
} & {
|
|
123
|
+
[x: string]: ((props: any) => any) | undefined;
|
|
74
124
|
} & {
|
|
75
125
|
default?: (props: {}) => any;
|
|
76
126
|
};
|
|
77
127
|
})>;
|
|
128
|
+
export type { ZyTreeNode, ZyTreeProps } from './types';
|
|
78
129
|
export default ZySelect;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { SideMenuItem, SideMenuNavigatePayload } from './types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/** 菜单项;children 为二级菜单,当前支持一层 */
|
|
4
|
+
items?: SideMenuItem[];
|
|
5
|
+
/** 受控选中项(v-model:active);不传则点了自己记 */
|
|
6
|
+
active?: string | null;
|
|
7
|
+
/** 受控展开项(v-model:open);不传则自己管 */
|
|
8
|
+
open?: string[];
|
|
9
|
+
/** 背景:auto 跟随主题(basic 纸白 / solid 品牌蓝)/ brand 品牌浅纸或蓝渐变 / plain 强制白色纸面 */
|
|
10
|
+
surface?: 'auto' | 'brand' | 'plain';
|
|
11
|
+
/** 自定义容器背景色 */
|
|
12
|
+
background?: string;
|
|
13
|
+
/** 自定义一级 / 二级文字色 */
|
|
14
|
+
textColor?: string;
|
|
15
|
+
/** 自定义选中行背景色 */
|
|
16
|
+
activeBackground?: string;
|
|
17
|
+
/** 自定义选中行文字色 */
|
|
18
|
+
activeTextColor?: string;
|
|
19
|
+
/** 导航区的无障碍名称 */
|
|
20
|
+
label?: string;
|
|
21
|
+
};
|
|
22
|
+
declare var __VLS_1: {}, __VLS_29: {};
|
|
23
|
+
type __VLS_Slots = {} & {
|
|
24
|
+
brand?: (props: typeof __VLS_1) => any;
|
|
25
|
+
} & {
|
|
26
|
+
footer?: (props: typeof __VLS_29) => any;
|
|
27
|
+
};
|
|
28
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
29
|
+
"update:open": (value: string[]) => any;
|
|
30
|
+
"update:active": (value: string) => any;
|
|
31
|
+
navigate: (payload: SideMenuNavigatePayload) => any;
|
|
32
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
33
|
+
"onUpdate:open"?: ((value: string[]) => any) | undefined;
|
|
34
|
+
"onUpdate:active"?: ((value: string) => any) | undefined;
|
|
35
|
+
onNavigate?: ((payload: SideMenuNavigatePayload) => any) | undefined;
|
|
36
|
+
}>, {
|
|
37
|
+
label: string;
|
|
38
|
+
items: SideMenuItem[];
|
|
39
|
+
surface: "auto" | "brand" | "plain";
|
|
40
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
41
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
42
|
+
declare const _default: typeof __VLS_export;
|
|
43
|
+
export default _default;
|
|
44
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
45
|
+
new (): {
|
|
46
|
+
$slots: S;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Component } from 'vue';
|
|
2
|
+
/** 图标:本库图标名(`src/assets/icons` 的文件名)或任意组件 */
|
|
3
|
+
export type SideMenuIcon = string | Component;
|
|
4
|
+
export interface SideMenuItem {
|
|
5
|
+
key: string;
|
|
6
|
+
label: string;
|
|
7
|
+
icon?: SideMenuIcon;
|
|
8
|
+
href?: string;
|
|
9
|
+
/** 标题右侧的小徽标,如「新」或数字 */
|
|
10
|
+
badge?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/** 二级菜单;当前支持一层 */
|
|
13
|
+
children?: SideMenuItem[];
|
|
14
|
+
}
|
|
15
|
+
/** `navigate` 事件载荷:拦下默认跳转,自己交给路由 */
|
|
16
|
+
export interface SideMenuNavigatePayload {
|
|
17
|
+
item: SideMenuItem;
|
|
18
|
+
title: string;
|
|
19
|
+
href?: string;
|
|
20
|
+
event: MouseEvent;
|
|
21
|
+
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
|
-
/**
|
|
2
|
+
/** default 常用基础款 / holographic 全息变体 */
|
|
3
|
+
variant?: 'default' | 'holographic';
|
|
4
|
+
/** 基础款等比尺寸:small 48×20 / default 72×30 / large 为参考原稿 120×50 */
|
|
5
|
+
size?: 'small' | 'default' | 'large';
|
|
6
|
+
/** 选中态文案:全息变体显示在轨道内;基础款不显示文案 */
|
|
3
7
|
activeText?: string;
|
|
4
|
-
/**
|
|
8
|
+
/** 未选态文案:基础款显示在轨道右侧,全息变体显示在轨道内 */
|
|
5
9
|
inactiveText?: string;
|
|
6
10
|
disabled?: boolean;
|
|
7
11
|
/** 无障碍名称:不传则读屏只说「开关」,不带名字 */
|
|
@@ -16,8 +20,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
|
|
|
16
20
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
17
21
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
18
22
|
}>, {
|
|
23
|
+
size: "small" | "default" | "large";
|
|
19
24
|
label: string;
|
|
20
25
|
disabled: boolean;
|
|
26
|
+
variant: "default" | "holographic";
|
|
21
27
|
activeText: string;
|
|
22
28
|
inactiveText: string;
|
|
23
29
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export declare const ZySwitch: import("../utils/withInstall").SFCWithInstall<import("vue").DefineComponent<{
|
|
2
|
+
variant?: "default" | "holographic";
|
|
3
|
+
size?: "small" | "default" | "large";
|
|
2
4
|
activeText?: string;
|
|
3
5
|
inactiveText?: string;
|
|
4
6
|
disabled?: boolean;
|
|
@@ -8,6 +10,8 @@ export declare const ZySwitch: import("../utils/withInstall").SFCWithInstall<imp
|
|
|
8
10
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
11
|
"update:modelValue": (value: boolean) => any;
|
|
10
12
|
}, string, import("vue").PublicProps, Readonly<{
|
|
13
|
+
variant?: "default" | "holographic";
|
|
14
|
+
size?: "small" | "default" | "large";
|
|
11
15
|
activeText?: string;
|
|
12
16
|
inactiveText?: string;
|
|
13
17
|
disabled?: boolean;
|
|
@@ -17,8 +21,10 @@ export declare const ZySwitch: import("../utils/withInstall").SFCWithInstall<imp
|
|
|
17
21
|
}> & Readonly<{
|
|
18
22
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
19
23
|
}>, {
|
|
24
|
+
size: "small" | "default" | "large";
|
|
20
25
|
label: string;
|
|
21
26
|
disabled: boolean;
|
|
27
|
+
variant: "default" | "holographic";
|
|
22
28
|
activeText: string;
|
|
23
29
|
inactiveText: string;
|
|
24
30
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ZyTabItem } from './types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/** 标签数据 */
|
|
4
|
+
items: ZyTabItem[];
|
|
5
|
+
/** 无障碍名称 */
|
|
6
|
+
ariaLabel?: string;
|
|
7
|
+
/** 是否渲染下方内容面板 */
|
|
8
|
+
panels?: boolean;
|
|
9
|
+
/** 标签等分铺满 */
|
|
10
|
+
stretch?: boolean;
|
|
11
|
+
};
|
|
12
|
+
type __VLS_ModelProps = {
|
|
13
|
+
modelValue?: string | number;
|
|
14
|
+
};
|
|
15
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
16
|
+
declare var __VLS_1: {
|
|
17
|
+
item: ZyTabItem;
|
|
18
|
+
active: boolean;
|
|
19
|
+
}, __VLS_10: `panel-${string}` | `panel-${number}`, __VLS_11: {
|
|
20
|
+
item: ZyTabItem | undefined;
|
|
21
|
+
}, __VLS_13: {
|
|
22
|
+
item: ZyTabItem | undefined;
|
|
23
|
+
};
|
|
24
|
+
type __VLS_Slots = {} & {
|
|
25
|
+
[K in NonNullable<typeof __VLS_10>]?: (props: typeof __VLS_11) => any;
|
|
26
|
+
} & {
|
|
27
|
+
tab?: (props: typeof __VLS_1) => any;
|
|
28
|
+
} & {
|
|
29
|
+
panel?: (props: typeof __VLS_13) => any;
|
|
30
|
+
};
|
|
31
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
32
|
+
change: (key: string | number) => any;
|
|
33
|
+
"update:modelValue": (value: string | number) => any;
|
|
34
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
35
|
+
onChange?: ((key: string | number) => any) | undefined;
|
|
36
|
+
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
37
|
+
}>, {
|
|
38
|
+
ariaLabel: string;
|
|
39
|
+
stretch: boolean;
|
|
40
|
+
panels: boolean;
|
|
41
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
42
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
43
|
+
declare const _default: typeof __VLS_export;
|
|
44
|
+
export default _default;
|
|
45
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
46
|
+
new (): {
|
|
47
|
+
$slots: S;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export declare const ZyTabs: import("../utils/withInstall").SFCWithInstall<{
|
|
2
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
3
|
+
items: import("./types").ZyTabItem[];
|
|
4
|
+
ariaLabel?: string;
|
|
5
|
+
panels?: boolean;
|
|
6
|
+
stretch?: boolean;
|
|
7
|
+
} & {
|
|
8
|
+
modelValue?: string | number;
|
|
9
|
+
}> & Readonly<{
|
|
10
|
+
onChange?: ((key: string | number) => any) | undefined;
|
|
11
|
+
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
12
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
13
|
+
change: (key: string | number) => any;
|
|
14
|
+
"update:modelValue": (value: string | number) => any;
|
|
15
|
+
}, import("vue").PublicProps, {
|
|
16
|
+
ariaLabel: string;
|
|
17
|
+
stretch: boolean;
|
|
18
|
+
panels: boolean;
|
|
19
|
+
}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
20
|
+
P: {};
|
|
21
|
+
B: {};
|
|
22
|
+
D: {};
|
|
23
|
+
C: {};
|
|
24
|
+
M: {};
|
|
25
|
+
Defaults: {};
|
|
26
|
+
}, Readonly<{
|
|
27
|
+
items: import("./types").ZyTabItem[];
|
|
28
|
+
ariaLabel?: string;
|
|
29
|
+
panels?: boolean;
|
|
30
|
+
stretch?: boolean;
|
|
31
|
+
} & {
|
|
32
|
+
modelValue?: string | number;
|
|
33
|
+
}> & Readonly<{
|
|
34
|
+
onChange?: ((key: string | number) => any) | undefined;
|
|
35
|
+
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
36
|
+
}>, {}, {}, {}, {}, {
|
|
37
|
+
ariaLabel: string;
|
|
38
|
+
stretch: boolean;
|
|
39
|
+
panels: boolean;
|
|
40
|
+
}>;
|
|
41
|
+
__isFragment?: never;
|
|
42
|
+
__isTeleport?: never;
|
|
43
|
+
__isSuspense?: never;
|
|
44
|
+
} & import("vue").ComponentOptionsBase<Readonly<{
|
|
45
|
+
items: import("./types").ZyTabItem[];
|
|
46
|
+
ariaLabel?: string;
|
|
47
|
+
panels?: boolean;
|
|
48
|
+
stretch?: boolean;
|
|
49
|
+
} & {
|
|
50
|
+
modelValue?: string | number;
|
|
51
|
+
}> & Readonly<{
|
|
52
|
+
onChange?: ((key: string | number) => any) | undefined;
|
|
53
|
+
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
54
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
55
|
+
change: (key: string | number) => any;
|
|
56
|
+
"update:modelValue": (value: string | number) => any;
|
|
57
|
+
}, string, {
|
|
58
|
+
ariaLabel: string;
|
|
59
|
+
stretch: boolean;
|
|
60
|
+
panels: boolean;
|
|
61
|
+
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
62
|
+
$slots: {
|
|
63
|
+
[x: `panel-${string}`]: ((props: {
|
|
64
|
+
item: import("./types").ZyTabItem | undefined;
|
|
65
|
+
}) => any) | undefined;
|
|
66
|
+
[x: `panel-${number}`]: ((props: {
|
|
67
|
+
item: import("./types").ZyTabItem | undefined;
|
|
68
|
+
}) => any) | undefined;
|
|
69
|
+
} & {
|
|
70
|
+
tab?: (props: {
|
|
71
|
+
item: import("./types").ZyTabItem;
|
|
72
|
+
active: boolean;
|
|
73
|
+
}) => any;
|
|
74
|
+
} & {
|
|
75
|
+
panel?: (props: {
|
|
76
|
+
item: import("./types").ZyTabItem | undefined;
|
|
77
|
+
}) => any;
|
|
78
|
+
};
|
|
79
|
+
})>;
|
|
80
|
+
export type { ZyTabItem } from './types';
|
|
81
|
+
export default ZyTabs;
|
|
@@ -78,6 +78,67 @@ html[data-zy-theme='basic'] .zy-pagination .el-pagination__jump {
|
|
|
78
78
|
color: var(--zy-muted);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
/* 每页条数:与选择器同一条纸片控件 */
|
|
82
|
+
html[data-zy-theme='basic'] .zy-pagination .el-pagination__sizes .el-select__wrapper {
|
|
83
|
+
min-height: 28px;
|
|
84
|
+
height: 28px;
|
|
85
|
+
padding: 0 8px;
|
|
86
|
+
border: 1px solid var(--zy-hairline);
|
|
87
|
+
border-radius: var(--zy-radius-sm);
|
|
88
|
+
background-color: var(--zy-surface);
|
|
89
|
+
box-shadow: var(--zy-shadow-card);
|
|
90
|
+
font-family: var(--zy-font-sans);
|
|
91
|
+
transition:
|
|
92
|
+
border-color var(--zy-duration-press) var(--zy-ease-soft),
|
|
93
|
+
box-shadow var(--zy-duration-press) var(--zy-ease-soft);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
html[data-zy-theme='basic'] .zy-pagination .el-pagination__sizes .el-select__wrapper:hover {
|
|
97
|
+
border-color: var(--zy-hairline-strong);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
html[data-zy-theme='basic'] .zy-pagination .el-pagination__sizes .el-select__wrapper.is-focused,
|
|
101
|
+
html[data-zy-theme='basic'] .zy-pagination .el-pagination__sizes .el-select__wrapper:focus-within {
|
|
102
|
+
border-color: var(--zy-brand);
|
|
103
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--zy-brand) 14%, transparent);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
html[data-zy-theme='basic'] .zy-pagination .el-pagination__sizes .el-select__selected-item,
|
|
107
|
+
html[data-zy-theme='basic'] .zy-pagination .el-pagination__sizes .el-select__placeholder {
|
|
108
|
+
color: var(--zy-ink);
|
|
109
|
+
font-size: 12px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
html[data-zy-theme='basic'] .zy-pagination .el-pagination__sizes .el-select__caret {
|
|
113
|
+
color: var(--zy-muted);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
html[data-zy-theme='basic'] .zy-pagination-popper {
|
|
117
|
+
border: 1px solid var(--zy-hairline) !important;
|
|
118
|
+
border-radius: var(--zy-radius) !important;
|
|
119
|
+
background: var(--zy-surface);
|
|
120
|
+
box-shadow: var(--zy-shadow-card) !important;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
html[data-zy-theme='basic'] .zy-pagination-popper .el-select-dropdown__item {
|
|
124
|
+
min-height: 28px;
|
|
125
|
+
height: 28px;
|
|
126
|
+
line-height: 28px;
|
|
127
|
+
border-radius: var(--zy-radius-sm);
|
|
128
|
+
color: var(--zy-ink);
|
|
129
|
+
font-family: var(--zy-font-sans);
|
|
130
|
+
font-size: 12px;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
html[data-zy-theme='basic'] .zy-pagination-popper .el-select-dropdown__item.is-hovering {
|
|
134
|
+
background: var(--zy-brand-soft);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
html[data-zy-theme='basic'] .zy-pagination-popper .el-select-dropdown__item.is-selected {
|
|
138
|
+
color: var(--zy-brand);
|
|
139
|
+
font-weight: 600;
|
|
140
|
+
}
|
|
141
|
+
|
|
81
142
|
/* 卡 = 白纸片(发丝边 + 极轻双层影),键帽只留给键帽主题 */
|
|
82
143
|
html[data-zy-theme='basic'] .zy-card {
|
|
83
144
|
--zy-card-fill-clr: var(--zy-surface);
|
|
@@ -835,3 +896,66 @@ html.dark[data-zy-theme='basic'] .zy-tag.is-fill.el-tag--danger {
|
|
|
835
896
|
html.dark[data-zy-theme='basic'] .zy-tag.is-fill.el-tag--info {
|
|
836
897
|
--zy-tag-fill-clr: var(--zy-info-key);
|
|
837
898
|
}
|
|
899
|
+
|
|
900
|
+
/* ---------- 级联选择器:el-cascader 的主题化类 .zy-cascader / .zy-cascader-popper ---------- */
|
|
901
|
+
html[data-zy-theme='basic'] .zy-cascader .el-input__wrapper {
|
|
902
|
+
border: 1px solid var(--zy-hairline);
|
|
903
|
+
border-radius: var(--zy-radius);
|
|
904
|
+
background-color: var(--zy-surface);
|
|
905
|
+
box-shadow: none;
|
|
906
|
+
transition:
|
|
907
|
+
border-color var(--zy-duration-press) var(--zy-ease-soft),
|
|
908
|
+
box-shadow var(--zy-duration-fast) var(--zy-ease-soft);
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
html[data-zy-theme='basic'] .zy-cascader .el-input__wrapper:hover {
|
|
912
|
+
border-color: var(--zy-hairline-strong);
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
html[data-zy-theme='basic'] .zy-cascader .el-input__wrapper.is-focus {
|
|
916
|
+
border-color: var(--zy-brand);
|
|
917
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--zy-brand) 14%, transparent);
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
html[data-zy-theme='basic'] .zy-cascader .el-input__inner {
|
|
921
|
+
color: var(--zy-ink);
|
|
922
|
+
font-family: var(--zy-font-sans);
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
html[data-zy-theme='basic'] .zy-cascader-popper {
|
|
926
|
+
border: 1px solid var(--zy-hairline);
|
|
927
|
+
border-radius: var(--zy-radius);
|
|
928
|
+
background: var(--zy-surface);
|
|
929
|
+
box-shadow: var(--zy-shadow-card);
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
html[data-zy-theme='basic'] .zy-cascader-popper .el-cascader-menu {
|
|
933
|
+
border-right-color: var(--zy-hairline);
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
html[data-zy-theme='basic'] .zy-cascader-popper .el-cascader-node {
|
|
937
|
+
color: var(--zy-ink);
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
html[data-zy-theme='basic'] .zy-cascader-popper .el-cascader-node.in-active-path,
|
|
941
|
+
html[data-zy-theme='basic'] .zy-cascader-popper .el-cascader-node.is-active {
|
|
942
|
+
background: var(--zy-brand-soft);
|
|
943
|
+
color: var(--zy-brand);
|
|
944
|
+
font-weight: 600;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
html[data-zy-theme='basic'] .zy-cascader-popper .el-cascader-node.is-disabled {
|
|
948
|
+
opacity: 0.45;
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
html[data-zy-theme='basic'] .zy-cascader-popper .el-cascader-node__prefix {
|
|
952
|
+
color: var(--zy-muted);
|
|
953
|
+
}
|
|
954
|
+
|
|
955
|
+
/* ---------- 侧边菜单:显式品牌面比白纸多一层品牌薄雾 ---------- */
|
|
956
|
+
html[data-zy-theme='basic'] .zy-side-menu[data-surface='brand'] {
|
|
957
|
+
--zy-side-menu-bg: color-mix(in srgb, var(--zy-brand) 7%, var(--zy-surface));
|
|
958
|
+
--zy-side-menu-bg-image: none;
|
|
959
|
+
|
|
960
|
+
border-color: color-mix(in srgb, var(--zy-brand) 22%, var(--zy-hairline));
|
|
961
|
+
}
|
|
@@ -22,7 +22,8 @@ html[data-zy-theme='solid']
|
|
|
22
22
|
.zy-mega-menu__plain.is-current,
|
|
23
23
|
.zy-mega-menu__trigger.is-open,
|
|
24
24
|
.zy-verify__piece,
|
|
25
|
-
.zy-verify__handle
|
|
25
|
+
.zy-verify__handle,
|
|
26
|
+
.zy-switch--default .zy-switch-default-track
|
|
26
27
|
) {
|
|
27
28
|
--zy-key-gloss: linear-gradient(
|
|
28
29
|
to bottom,
|