@element-plus/nightly 0.0.20220628 → 0.0.20220701
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/dist/index.css +1 -1
- package/dist/index.full.js +32 -29
- package/dist/index.full.min.js +12 -12
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +10 -10
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +32 -29
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/menu/src/sub-menu.mjs +1 -1
- package/es/components/menu/src/sub-menu.mjs.map +1 -1
- package/es/components/message/src/instance.d.ts +3 -3
- package/es/components/message/src/instance.mjs +1 -1
- package/es/components/message/src/instance.mjs.map +1 -1
- package/es/components/message/src/method.mjs +3 -4
- package/es/components/message/src/method.mjs.map +1 -1
- package/es/components/radio/index.d.ts +1 -1
- package/es/components/radio/src/radio.vue.d.ts +1 -1
- package/es/components/radio/src/radio2.mjs +2 -2
- package/es/components/radio/src/radio2.mjs.map +1 -1
- package/es/components/tabs/index.d.ts +64 -18
- package/es/components/tabs/src/tab-bar.d.ts +4 -4
- package/es/components/tabs/src/tab-bar.vue.d.ts +13 -13
- package/es/components/tabs/src/tab-nav.d.ts +13 -13
- package/es/components/tabs/src/tab-nav.mjs +3 -3
- package/es/components/tabs/src/tab-nav.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.d.ts +6 -1
- package/es/components/tabs/src/tab-pane.mjs +1 -2
- package/es/components/tabs/src/tab-pane.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.vue.d.ts +19 -5
- package/es/components/tabs/src/tab-pane2.mjs +8 -2
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/tabs/src/tabs.d.ts +38 -10
- package/es/components/tabs/src/tabs.mjs +12 -12
- package/es/components/tabs/src/tabs.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/menu/src/sub-menu.js +1 -1
- package/lib/components/menu/src/sub-menu.js.map +1 -1
- package/lib/components/message/src/instance.d.ts +3 -3
- package/lib/components/message/src/instance.js +1 -1
- package/lib/components/message/src/instance.js.map +1 -1
- package/lib/components/message/src/method.js +3 -4
- package/lib/components/message/src/method.js.map +1 -1
- package/lib/components/radio/index.d.ts +1 -1
- package/lib/components/radio/src/radio.vue.d.ts +1 -1
- package/lib/components/radio/src/radio2.js +2 -2
- package/lib/components/radio/src/radio2.js.map +1 -1
- package/lib/components/tabs/index.d.ts +64 -18
- package/lib/components/tabs/src/tab-bar.d.ts +4 -4
- package/lib/components/tabs/src/tab-bar.vue.d.ts +13 -13
- package/lib/components/tabs/src/tab-nav.d.ts +13 -13
- package/lib/components/tabs/src/tab-nav.js +3 -3
- package/lib/components/tabs/src/tab-nav.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.d.ts +6 -1
- package/lib/components/tabs/src/tab-pane.js +1 -2
- package/lib/components/tabs/src/tab-pane.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.vue.d.ts +19 -5
- package/lib/components/tabs/src/tab-pane2.js +8 -2
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/tabs/src/tabs.d.ts +38 -10
- package/lib/components/tabs/src/tabs.js +12 -12
- package/lib/components/tabs/src/tabs.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/theme-chalk/el-select-dropdown-v2.css +1 -1
- package/theme-chalk/el-select-dropdown.css +1 -1
- package/theme-chalk/el-select-v2.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/select-dropdown-v2.scss +21 -0
- package/theme-chalk/src/select-dropdown.scss +10 -0
- package/web-types.json +1 -1
|
@@ -8,10 +8,10 @@ export declare const tabBarProps: {
|
|
|
8
8
|
}>;
|
|
9
9
|
props: {
|
|
10
10
|
readonly disabled: boolean;
|
|
11
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
12
11
|
readonly label: string;
|
|
13
12
|
readonly closable: boolean;
|
|
14
13
|
readonly lazy: boolean;
|
|
14
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
15
15
|
};
|
|
16
16
|
paneName: string | number | undefined;
|
|
17
17
|
active: boolean;
|
|
@@ -24,10 +24,10 @@ export declare const tabBarProps: {
|
|
|
24
24
|
}>;
|
|
25
25
|
props: {
|
|
26
26
|
readonly disabled: boolean;
|
|
27
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
28
27
|
readonly label: string;
|
|
29
28
|
readonly closable: boolean;
|
|
30
29
|
readonly lazy: boolean;
|
|
30
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
31
31
|
};
|
|
32
32
|
paneName: string | number | undefined;
|
|
33
33
|
active: boolean;
|
|
@@ -40,10 +40,10 @@ export declare const tabBarProps: {
|
|
|
40
40
|
}>;
|
|
41
41
|
props: {
|
|
42
42
|
readonly disabled: boolean;
|
|
43
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
44
43
|
readonly label: string;
|
|
45
44
|
readonly closable: boolean;
|
|
46
45
|
readonly lazy: boolean;
|
|
46
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
47
47
|
};
|
|
48
48
|
paneName: string | number | undefined;
|
|
49
49
|
active: boolean;
|
|
@@ -56,10 +56,10 @@ export declare const tabBarProps: {
|
|
|
56
56
|
}>;
|
|
57
57
|
props: {
|
|
58
58
|
readonly disabled: boolean;
|
|
59
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
60
59
|
readonly label: string;
|
|
61
60
|
readonly closable: boolean;
|
|
62
61
|
readonly lazy: boolean;
|
|
62
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
63
63
|
};
|
|
64
64
|
paneName: string | number | undefined;
|
|
65
65
|
active: boolean;
|
|
@@ -7,10 +7,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
7
7
|
}>;
|
|
8
8
|
props: {
|
|
9
9
|
readonly disabled: boolean;
|
|
10
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
11
10
|
readonly label: string;
|
|
12
11
|
readonly closable: boolean;
|
|
13
12
|
readonly lazy: boolean;
|
|
13
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
14
14
|
};
|
|
15
15
|
paneName: string | number | undefined;
|
|
16
16
|
active: boolean;
|
|
@@ -23,10 +23,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
23
23
|
}>;
|
|
24
24
|
props: {
|
|
25
25
|
readonly disabled: boolean;
|
|
26
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
27
26
|
readonly label: string;
|
|
28
27
|
readonly closable: boolean;
|
|
29
28
|
readonly lazy: boolean;
|
|
29
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
30
30
|
};
|
|
31
31
|
paneName: string | number | undefined;
|
|
32
32
|
active: boolean;
|
|
@@ -39,10 +39,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
39
39
|
}>;
|
|
40
40
|
props: {
|
|
41
41
|
readonly disabled: boolean;
|
|
42
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
43
42
|
readonly label: string;
|
|
44
43
|
readonly closable: boolean;
|
|
45
44
|
readonly lazy: boolean;
|
|
45
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
46
46
|
};
|
|
47
47
|
paneName: string | number | undefined;
|
|
48
48
|
active: boolean;
|
|
@@ -55,10 +55,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
55
55
|
}>;
|
|
56
56
|
props: {
|
|
57
57
|
readonly disabled: boolean;
|
|
58
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
59
58
|
readonly label: string;
|
|
60
59
|
readonly closable: boolean;
|
|
61
60
|
readonly lazy: boolean;
|
|
61
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
62
62
|
};
|
|
63
63
|
paneName: string | number | undefined;
|
|
64
64
|
active: boolean;
|
|
@@ -75,10 +75,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
75
75
|
}>;
|
|
76
76
|
props: {
|
|
77
77
|
readonly disabled: boolean;
|
|
78
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
79
78
|
readonly label: string;
|
|
80
79
|
readonly closable: boolean;
|
|
81
80
|
readonly lazy: boolean;
|
|
81
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
82
82
|
};
|
|
83
83
|
paneName: string | number | undefined;
|
|
84
84
|
active: boolean;
|
|
@@ -91,10 +91,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
91
91
|
}>;
|
|
92
92
|
props: {
|
|
93
93
|
readonly disabled: boolean;
|
|
94
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
95
94
|
readonly label: string;
|
|
96
95
|
readonly closable: boolean;
|
|
97
96
|
readonly lazy: boolean;
|
|
97
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
98
98
|
};
|
|
99
99
|
paneName: string | number | undefined;
|
|
100
100
|
active: boolean;
|
|
@@ -107,10 +107,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
107
107
|
}>;
|
|
108
108
|
props: {
|
|
109
109
|
readonly disabled: boolean;
|
|
110
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
111
110
|
readonly label: string;
|
|
112
111
|
readonly closable: boolean;
|
|
113
112
|
readonly lazy: boolean;
|
|
113
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
114
114
|
};
|
|
115
115
|
paneName: string | number | undefined;
|
|
116
116
|
active: boolean;
|
|
@@ -123,10 +123,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
123
123
|
}>;
|
|
124
124
|
props: {
|
|
125
125
|
readonly disabled: boolean;
|
|
126
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
127
126
|
readonly label: string;
|
|
128
127
|
readonly closable: boolean;
|
|
129
128
|
readonly lazy: boolean;
|
|
129
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
130
130
|
};
|
|
131
131
|
paneName: string | number | undefined;
|
|
132
132
|
active: boolean;
|
|
@@ -168,10 +168,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
168
168
|
}>;
|
|
169
169
|
props: {
|
|
170
170
|
readonly disabled: boolean;
|
|
171
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
172
171
|
readonly label: string;
|
|
173
172
|
readonly closable: boolean;
|
|
174
173
|
readonly lazy: boolean;
|
|
174
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
175
175
|
};
|
|
176
176
|
paneName: string | number | undefined;
|
|
177
177
|
active: boolean;
|
|
@@ -184,10 +184,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
184
184
|
}>;
|
|
185
185
|
props: {
|
|
186
186
|
readonly disabled: boolean;
|
|
187
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
188
187
|
readonly label: string;
|
|
189
188
|
readonly closable: boolean;
|
|
190
189
|
readonly lazy: boolean;
|
|
190
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
191
191
|
};
|
|
192
192
|
paneName: string | number | undefined;
|
|
193
193
|
active: boolean;
|
|
@@ -200,10 +200,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
200
200
|
}>;
|
|
201
201
|
props: {
|
|
202
202
|
readonly disabled: boolean;
|
|
203
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
204
203
|
readonly label: string;
|
|
205
204
|
readonly closable: boolean;
|
|
206
205
|
readonly lazy: boolean;
|
|
206
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
207
207
|
};
|
|
208
208
|
paneName: string | number | undefined;
|
|
209
209
|
active: boolean;
|
|
@@ -216,10 +216,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
216
216
|
}>;
|
|
217
217
|
props: {
|
|
218
218
|
readonly disabled: boolean;
|
|
219
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
220
219
|
readonly label: string;
|
|
221
220
|
readonly closable: boolean;
|
|
222
221
|
readonly lazy: boolean;
|
|
222
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
223
223
|
};
|
|
224
224
|
paneName: string | number | undefined;
|
|
225
225
|
active: boolean;
|
|
@@ -234,10 +234,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
234
234
|
}>;
|
|
235
235
|
props: {
|
|
236
236
|
readonly disabled: boolean;
|
|
237
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
238
237
|
readonly label: string;
|
|
239
238
|
readonly closable: boolean;
|
|
240
239
|
readonly lazy: boolean;
|
|
240
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
241
241
|
};
|
|
242
242
|
paneName: string | number | undefined;
|
|
243
243
|
active: boolean;
|
|
@@ -9,10 +9,10 @@ export declare const tabNavProps: {
|
|
|
9
9
|
}>;
|
|
10
10
|
props: {
|
|
11
11
|
readonly disabled: boolean;
|
|
12
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
13
12
|
readonly label: string;
|
|
14
13
|
readonly closable: boolean;
|
|
15
14
|
readonly lazy: boolean;
|
|
15
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
16
16
|
};
|
|
17
17
|
paneName: string | number | undefined;
|
|
18
18
|
active: boolean;
|
|
@@ -25,10 +25,10 @@ export declare const tabNavProps: {
|
|
|
25
25
|
}>;
|
|
26
26
|
props: {
|
|
27
27
|
readonly disabled: boolean;
|
|
28
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
29
28
|
readonly label: string;
|
|
30
29
|
readonly closable: boolean;
|
|
31
30
|
readonly lazy: boolean;
|
|
31
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
32
32
|
};
|
|
33
33
|
paneName: string | number | undefined;
|
|
34
34
|
active: boolean;
|
|
@@ -41,10 +41,10 @@ export declare const tabNavProps: {
|
|
|
41
41
|
}>;
|
|
42
42
|
props: {
|
|
43
43
|
readonly disabled: boolean;
|
|
44
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
45
44
|
readonly label: string;
|
|
46
45
|
readonly closable: boolean;
|
|
47
46
|
readonly lazy: boolean;
|
|
47
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
48
48
|
};
|
|
49
49
|
paneName: string | number | undefined;
|
|
50
50
|
active: boolean;
|
|
@@ -57,10 +57,10 @@ export declare const tabNavProps: {
|
|
|
57
57
|
}>;
|
|
58
58
|
props: {
|
|
59
59
|
readonly disabled: boolean;
|
|
60
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
61
60
|
readonly label: string;
|
|
62
61
|
readonly closable: boolean;
|
|
63
62
|
readonly lazy: boolean;
|
|
63
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
64
64
|
};
|
|
65
65
|
paneName: string | number | undefined;
|
|
66
66
|
active: boolean;
|
|
@@ -99,10 +99,10 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
|
99
99
|
}>;
|
|
100
100
|
props: {
|
|
101
101
|
readonly disabled: boolean;
|
|
102
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
103
102
|
readonly label: string;
|
|
104
103
|
readonly closable: boolean;
|
|
105
104
|
readonly lazy: boolean;
|
|
105
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
106
106
|
};
|
|
107
107
|
paneName: string | number | undefined;
|
|
108
108
|
active: boolean;
|
|
@@ -115,10 +115,10 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
|
115
115
|
}>;
|
|
116
116
|
props: {
|
|
117
117
|
readonly disabled: boolean;
|
|
118
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
119
118
|
readonly label: string;
|
|
120
119
|
readonly closable: boolean;
|
|
121
120
|
readonly lazy: boolean;
|
|
121
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
122
122
|
};
|
|
123
123
|
paneName: string | number | undefined;
|
|
124
124
|
active: boolean;
|
|
@@ -131,10 +131,10 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
|
131
131
|
}>;
|
|
132
132
|
props: {
|
|
133
133
|
readonly disabled: boolean;
|
|
134
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
135
134
|
readonly label: string;
|
|
136
135
|
readonly closable: boolean;
|
|
137
136
|
readonly lazy: boolean;
|
|
137
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
138
138
|
};
|
|
139
139
|
paneName: string | number | undefined;
|
|
140
140
|
active: boolean;
|
|
@@ -147,10 +147,10 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
|
147
147
|
}>;
|
|
148
148
|
props: {
|
|
149
149
|
readonly disabled: boolean;
|
|
150
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
151
150
|
readonly label: string;
|
|
152
151
|
readonly closable: boolean;
|
|
153
152
|
readonly lazy: boolean;
|
|
153
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
154
154
|
};
|
|
155
155
|
paneName: string | number | undefined;
|
|
156
156
|
active: boolean;
|
|
@@ -187,10 +187,10 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
|
187
187
|
}>;
|
|
188
188
|
props: {
|
|
189
189
|
readonly disabled: boolean;
|
|
190
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
191
190
|
readonly label: string;
|
|
192
191
|
readonly closable: boolean;
|
|
193
192
|
readonly lazy: boolean;
|
|
193
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
194
194
|
};
|
|
195
195
|
paneName: string | number | undefined;
|
|
196
196
|
active: boolean;
|
|
@@ -203,10 +203,10 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
|
203
203
|
}>;
|
|
204
204
|
props: {
|
|
205
205
|
readonly disabled: boolean;
|
|
206
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
207
206
|
readonly label: string;
|
|
208
207
|
readonly closable: boolean;
|
|
209
208
|
readonly lazy: boolean;
|
|
209
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
210
210
|
};
|
|
211
211
|
paneName: string | number | undefined;
|
|
212
212
|
active: boolean;
|
|
@@ -219,10 +219,10 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
|
219
219
|
}>;
|
|
220
220
|
props: {
|
|
221
221
|
readonly disabled: boolean;
|
|
222
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
223
222
|
readonly label: string;
|
|
224
223
|
readonly closable: boolean;
|
|
225
224
|
readonly lazy: boolean;
|
|
225
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
226
226
|
};
|
|
227
227
|
paneName: string | number | undefined;
|
|
228
228
|
active: boolean;
|
|
@@ -235,10 +235,10 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
|
235
235
|
}>;
|
|
236
236
|
props: {
|
|
237
237
|
readonly disabled: boolean;
|
|
238
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
239
238
|
readonly label: string;
|
|
240
239
|
readonly closable: boolean;
|
|
241
240
|
readonly lazy: boolean;
|
|
241
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
242
242
|
};
|
|
243
243
|
paneName: string | number | undefined;
|
|
244
244
|
active: boolean;
|
|
@@ -278,10 +278,10 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
|
278
278
|
}>;
|
|
279
279
|
props: {
|
|
280
280
|
readonly disabled: boolean;
|
|
281
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
282
281
|
readonly label: string;
|
|
283
282
|
readonly closable: boolean;
|
|
284
283
|
readonly lazy: boolean;
|
|
284
|
+
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
285
285
|
};
|
|
286
286
|
paneName: string | number | undefined;
|
|
287
287
|
active: boolean;
|
|
@@ -215,8 +215,8 @@ const TabNav = defineComponent({
|
|
|
215
215
|
default: () => [createVNode(ArrowRight, null, null)]
|
|
216
216
|
})])] : null;
|
|
217
217
|
const tabs = props.panes.map((pane, index) => {
|
|
218
|
-
var _a, _b;
|
|
219
|
-
const tabName = pane.props.name
|
|
218
|
+
var _a, _b, _c, _d;
|
|
219
|
+
const tabName = (_b = (_a = pane.props.name) != null ? _a : pane.index) != null ? _b : `${index}`;
|
|
220
220
|
const closable = pane.isClosable || props.editable;
|
|
221
221
|
pane.index = `${index}`;
|
|
222
222
|
const btnClose = closable ? createVNode(ElIcon, {
|
|
@@ -225,7 +225,7 @@ const TabNav = defineComponent({
|
|
|
225
225
|
}, {
|
|
226
226
|
default: () => [createVNode(Close, null, null)]
|
|
227
227
|
}) : null;
|
|
228
|
-
const tabLabelContent = ((
|
|
228
|
+
const tabLabelContent = ((_d = (_c = pane.slots).label) == null ? void 0 : _d.call(_c)) || pane.props.label;
|
|
229
229
|
const tabindex = pane.active ? 0 : -1;
|
|
230
230
|
return createVNode("div", {
|
|
231
231
|
"ref": `tab-${tabName}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nimport type { TabPanelName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const vm = getCurrentInstance()!\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus() // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post' }\n )\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const tabName = pane.props.name || pane.index || `${index}`\n const closable: boolean = pane.isClosable || props.editable\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => props.onTabRemove(pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${tabName}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', pane.props.disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${tabName}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n props.onTabRemove(pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? <TabBar tabs={[...props.panes]} /> : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["TabBar","tabNavProps","panes","type","definePropType","Array","default","currentName","String","editable","Boolean","onTabClick","onTabRemove","values","stretch","COMPONENT_NAME","TabNav","defineComponent","name","props","expose","vm","getCurrentInstance","throwError","ns","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","sizeName","computed","dir","transform","scrollPrev","value","containerSize","newOffset","currentOffset","scrollNext","navSize","capitalize","scrollToActiveTab","nav","activeTab","activeTabBounding","navScrollBounding","maxOffset","isHorizontal","right","top","bottom","update","prev","changeTab","code","up","EVENT_CODE","currentIndex","nextIndex","tabList","focus","setFocus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","removeFocus","flush","is","map","pane","closable","index","btnClose","ev","tabindex","tabName","rootTabs","tabLabelContent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nimport type { TabPanelName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const vm = getCurrentInstance()!\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus() // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post' }\n )\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable: boolean = pane.isClosable || props.editable\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => props.onTabRemove(pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${tabName}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', pane.props.disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${tabName}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n props.onTabRemove(pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? <TabBar tabs={[...props.panes]} /> : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["TabBar","tabNavProps","panes","type","definePropType","Array","default","currentName","String","editable","Boolean","onTabClick","onTabRemove","values","stretch","COMPONENT_NAME","TabNav","defineComponent","name","props","expose","vm","getCurrentInstance","throwError","ns","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","sizeName","computed","dir","transform","scrollPrev","value","containerSize","newOffset","currentOffset","scrollNext","navSize","capitalize","scrollToActiveTab","nav","activeTab","activeTabBounding","navScrollBounding","maxOffset","isHorizontal","right","top","bottom","update","prev","changeTab","code","up","EVENT_CODE","currentIndex","nextIndex","tabList","focus","setFocus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","removeFocus","flush","is","map","pane","closable","index","btnClose","ev","tabindex","tabName","rootTabs","tabLabelContent"],"mappings":"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"}
|
|
@@ -2,7 +2,12 @@ import type { ExtractPropTypes } from 'vue';
|
|
|
2
2
|
import type TabPane from './tab-pane.vue';
|
|
3
3
|
export declare const tabPaneProps: {
|
|
4
4
|
readonly label: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
5
|
-
readonly name:
|
|
5
|
+
readonly name: {
|
|
6
|
+
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
7
|
+
readonly required: false;
|
|
8
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
9
|
+
__epPropKey: true;
|
|
10
|
+
};
|
|
6
11
|
readonly closable: BooleanConstructor;
|
|
7
12
|
readonly disabled: BooleanConstructor;
|
|
8
13
|
readonly lazy: BooleanConstructor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n label: {\n type: String,\n default: '',\n },\n name: {\n type: [String, Number],\n
|
|
1
|
+
{"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n label: {\n type: String,\n default: '',\n },\n name: {\n type: [String, Number],\n },\n closable: Boolean,\n disabled: Boolean,\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane>\n"],"names":[],"mappings":";;;AACY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<{
|
|
2
2
|
readonly label: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
3
|
-
readonly name:
|
|
3
|
+
readonly name: {
|
|
4
|
+
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
5
|
+
readonly required: false;
|
|
6
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
7
|
+
__epPropKey: true;
|
|
8
|
+
};
|
|
4
9
|
readonly closable: BooleanConstructor;
|
|
5
10
|
readonly disabled: BooleanConstructor;
|
|
6
11
|
readonly lazy: BooleanConstructor;
|
|
@@ -8,7 +13,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
8
13
|
COMPONENT_NAME: string;
|
|
9
14
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
10
15
|
readonly label: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
11
|
-
readonly name:
|
|
16
|
+
readonly name: {
|
|
17
|
+
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
18
|
+
readonly required: false;
|
|
19
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
20
|
+
__epPropKey: true;
|
|
21
|
+
};
|
|
12
22
|
readonly closable: BooleanConstructor;
|
|
13
23
|
readonly disabled: BooleanConstructor;
|
|
14
24
|
readonly lazy: BooleanConstructor;
|
|
@@ -52,7 +62,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
52
62
|
props: {
|
|
53
63
|
[x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
|
|
54
64
|
readonly disabled: boolean;
|
|
55
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown
|
|
65
|
+
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
56
66
|
readonly label: string;
|
|
57
67
|
readonly closable: boolean;
|
|
58
68
|
readonly lazy: boolean;
|
|
@@ -64,13 +74,17 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
64
74
|
};
|
|
65
75
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
66
76
|
readonly label: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
67
|
-
readonly name:
|
|
77
|
+
readonly name: {
|
|
78
|
+
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
79
|
+
readonly required: false;
|
|
80
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
81
|
+
__epPropKey: true;
|
|
82
|
+
};
|
|
68
83
|
readonly closable: BooleanConstructor;
|
|
69
84
|
readonly disabled: BooleanConstructor;
|
|
70
85
|
readonly lazy: BooleanConstructor;
|
|
71
86
|
}>>, {
|
|
72
87
|
readonly disabled: boolean;
|
|
73
|
-
readonly name: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
74
88
|
readonly label: string;
|
|
75
89
|
readonly closable: boolean;
|
|
76
90
|
readonly lazy: boolean;
|
|
@@ -27,9 +27,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
27
27
|
const ns = useNamespace("tab-pane");
|
|
28
28
|
const index = ref();
|
|
29
29
|
const isClosable = computed(() => props.closable || tabsRoot.props.closable);
|
|
30
|
-
const active = eagerComputed(() =>
|
|
30
|
+
const active = eagerComputed(() => {
|
|
31
|
+
var _a;
|
|
32
|
+
return tabsRoot.currentName.value === ((_a = props.name) != null ? _a : index.value);
|
|
33
|
+
});
|
|
31
34
|
const loaded = ref(active.value);
|
|
32
|
-
const paneName = computed(() =>
|
|
35
|
+
const paneName = computed(() => {
|
|
36
|
+
var _a;
|
|
37
|
+
return (_a = props.name) != null ? _a : index.value;
|
|
38
|
+
});
|
|
33
39
|
const shouldBeRender = eagerComputed(() => !props.lazy || loaded.value || active.value);
|
|
34
40
|
watch(active, (val) => {
|
|
35
41
|
if (val)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n name: 'ElTabPane',\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <el-tabs><el-tab-pane /></el-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name
|
|
1
|
+
{"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n name: 'ElTabPane',\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <el-tabs><el-tab-pane /></el-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name ?? index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name ?? index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\nconst pane = reactive({\n uid: instance.uid,\n slots,\n props,\n paneName,\n active,\n index,\n isClosable,\n})\n\nonMounted(() => {\n tabsRoot.registerPane(pane)\n})\n\nonUnmounted(() => {\n tabsRoot.unregisterPane(pane.uid)\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA+BA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AAMA,IAAA,MAAA,WAAA,kBAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAA,OAAA,kBAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA;AACA,MAAA,UAAA,CAAA,gBAAA,4CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,QAAA,CAAA,MAAA,MAAA,QAAA,IAAA,QAAA,CAAA,MAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,cACA,MAAA;AAEA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,eAAA,CAAA,WAAA,CAAA,KAAA,MAAA,CAAA,EAAA,QAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AACA,KAAA,CAAA,CAAA;AAIA,IAAA,MAAA,MAAA,GAAA,GAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,QAAA,CAAA,MAAA;AAAA,MAAA,IAAA,EAAA,CAAA;AAAA,MACA,OAAA,CAAA,EAAA,GAAA,KAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AAEA,KAAA,CAAA,CAAA;AAAA,IAAA,oBACA,GAAA,aAAA,CAAA,MAAA,CAAA,KAAA,CAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IACA,KAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AAAA,MACA,IAAA,GAAA;AAAA,QACA,MAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACA,MAAA,IAAA,GAAA,QAAA,CAAA;AAAA,MACA,GAAA,EAAA,QAAA,CAAA,GAAA;AAAA,MACA,KAAA;AAEA,MAAA,KAAA;AACA,MAAA,QAAA;AAAA,MACA,MAAA;AAEA,MAAA,KAAA;AACA,MAAA,UAAA;AAAA,KACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|