@element-plus/nightly 0.0.20220112 → 0.0.20220116
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/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +2337 -983
- package/dist/index.full.min.js +11 -9
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +12 -10
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +2337 -984
- package/es/components/button/index.d.ts +31 -2
- package/es/components/button/src/button-group.vue.d.ts +11 -1
- package/es/components/button/src/button-group.vue_vue_type_script_lang.mjs +6 -0
- package/es/components/button/src/button-group.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/button/src/button-group.vue_vue_type_template_id_1bab7d77_lang.mjs +5 -4
- package/es/components/button/src/button-group.vue_vue_type_template_id_1bab7d77_lang.mjs.map +1 -1
- package/es/components/button/src/button.vue.d.ts +9 -0
- package/es/components/button/src/button.vue_vue_type_script_lang.mjs +4 -1
- package/es/components/button/src/button.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.mjs +4 -4
- package/es/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.mjs.map +1 -1
- package/es/components/config-provider/index.d.ts +6 -1
- package/es/components/config-provider/src/config-provider.d.ts +7 -1
- package/es/components/config-provider/src/config-provider.mjs +4 -0
- package/es/components/config-provider/src/config-provider.mjs.map +1 -1
- package/es/components/dropdown/index.d.ts +4 -0
- package/es/components/dropdown/src/dropdown.d.ts +2 -0
- package/es/components/dropdown/src/dropdown.mjs +4 -0
- package/es/components/dropdown/src/dropdown.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +4 -0
- package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs +3 -2
- package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
- package/es/components/tree/index.d.ts +8 -8
- package/es/components/tree/src/tree.type.d.ts +4 -4
- package/es/components/tree/src/tree.vue.d.ts +4 -4
- package/es/defaults.d.ts +4 -1
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/index.mjs +1 -0
- package/es/hooks/index.mjs.map +1 -1
- package/es/hooks/use-global-config/index.d.ts +4 -1
- package/es/hooks/use-namespace/index.d.ts +9 -0
- package/es/hooks/use-namespace/index.mjs +38 -0
- package/es/hooks/use-namespace/index.mjs.map +1 -0
- package/es/index.d.ts +4 -1
- package/es/index.mjs +1 -0
- package/es/index.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/button/index.d.ts +31 -2
- package/lib/components/button/src/button-group.vue.d.ts +11 -1
- package/lib/components/button/src/button-group.vue_vue_type_script_lang.js +6 -0
- package/lib/components/button/src/button-group.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/button/src/button-group.vue_vue_type_template_id_1bab7d77_lang.js +4 -3
- package/lib/components/button/src/button-group.vue_vue_type_template_id_1bab7d77_lang.js.map +1 -1
- package/lib/components/button/src/button.vue.d.ts +9 -0
- package/lib/components/button/src/button.vue_vue_type_script_lang.js +9 -6
- package/lib/components/button/src/button.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.js +4 -4
- package/lib/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.js.map +1 -1
- package/lib/components/config-provider/index.d.ts +6 -1
- package/lib/components/config-provider/src/config-provider.d.ts +7 -1
- package/lib/components/config-provider/src/config-provider.js +4 -0
- package/lib/components/config-provider/src/config-provider.js.map +1 -1
- package/lib/components/dropdown/index.d.ts +4 -0
- package/lib/components/dropdown/src/dropdown.d.ts +2 -0
- package/lib/components/dropdown/src/dropdown.js +4 -0
- package/lib/components/dropdown/src/dropdown.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +4 -0
- package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js +3 -2
- package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
- package/lib/components/tree/index.d.ts +8 -8
- package/lib/components/tree/src/tree.type.d.ts +4 -4
- package/lib/components/tree/src/tree.vue.d.ts +4 -4
- package/lib/defaults.d.ts +4 -1
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +2 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-global-config/index.d.ts +4 -1
- package/lib/hooks/use-namespace/index.d.ts +9 -0
- package/lib/hooks/use-namespace/index.js +46 -0
- package/lib/hooks/use-namespace/index.js.map +1 -0
- package/lib/index.d.ts +4 -1
- package/lib/index.js +2 -0
- package/lib/index.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/tags.json +1 -1
- package/theme-chalk/el-dropdown.css +1 -1
- package/theme-chalk/el-message-box.css +1 -1
- package/theme-chalk/el-space.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/dropdown.scss +2 -0
- package/theme-chalk/src/message-box.scss +4 -1
- package/theme-chalk/src/space.scss +10 -0
- package/web-types.json +1 -1
|
@@ -19,6 +19,15 @@ export declare const ElButton: import("../../utils/types").SFCWithInstall<import
|
|
|
19
19
|
buttonDisabled: import("vue").ComputedRef<boolean>;
|
|
20
20
|
shouldAddSpace: import("vue").ComputedRef<boolean>;
|
|
21
21
|
handleClick: (evt: MouseEvent) => void;
|
|
22
|
+
ns: {
|
|
23
|
+
namespace: import("vue").ComputedRef<string>;
|
|
24
|
+
b: (blockSuffix?: string) => string;
|
|
25
|
+
e: (element?: string | undefined) => string;
|
|
26
|
+
m: (modifier?: string | undefined) => string;
|
|
27
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
28
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
29
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
30
|
+
};
|
|
22
31
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
23
32
|
click: (evt: MouseEvent) => boolean;
|
|
24
33
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
@@ -66,7 +75,17 @@ export declare const ElButton: import("../../utils/types").SFCWithInstall<import
|
|
|
66
75
|
ButtonGroup: import("vue").DefineComponent<{
|
|
67
76
|
readonly size: import("../../utils/props").BuildPropReturn<StringConstructor, "", false, "" | "small" | "default" | "large", never>;
|
|
68
77
|
readonly type: import("../../utils/props").BuildPropReturn<StringConstructor, "", unknown, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
|
|
69
|
-
},
|
|
78
|
+
}, {
|
|
79
|
+
ns: {
|
|
80
|
+
namespace: import("vue").ComputedRef<string>;
|
|
81
|
+
b: (blockSuffix?: string) => string;
|
|
82
|
+
e: (element?: string | undefined) => string;
|
|
83
|
+
m: (modifier?: string | undefined) => string;
|
|
84
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
85
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
86
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
87
|
+
};
|
|
88
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
70
89
|
readonly size?: unknown;
|
|
71
90
|
readonly type?: unknown;
|
|
72
91
|
} & {
|
|
@@ -80,7 +99,17 @@ export declare const ElButton: import("../../utils/types").SFCWithInstall<import
|
|
|
80
99
|
export declare const ElButtonGroup: import("../../utils/types").SFCWithInstall<import("vue").DefineComponent<{
|
|
81
100
|
readonly size: import("../../utils/props").BuildPropReturn<StringConstructor, "", false, "" | "small" | "default" | "large", never>;
|
|
82
101
|
readonly type: import("../../utils/props").BuildPropReturn<StringConstructor, "", unknown, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
|
|
83
|
-
},
|
|
102
|
+
}, {
|
|
103
|
+
ns: {
|
|
104
|
+
namespace: import("vue").ComputedRef<string>;
|
|
105
|
+
b: (blockSuffix?: string) => string;
|
|
106
|
+
e: (element?: string | undefined) => string;
|
|
107
|
+
m: (modifier?: string | undefined) => string;
|
|
108
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
109
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
110
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
111
|
+
};
|
|
112
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
84
113
|
readonly size?: unknown;
|
|
85
114
|
readonly type?: unknown;
|
|
86
115
|
} & {
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<{
|
|
2
2
|
readonly size: import("../../../utils/props").BuildPropReturn<StringConstructor, "", false, "" | "small" | "default" | "large", never>;
|
|
3
3
|
readonly type: import("../../../utils/props").BuildPropReturn<StringConstructor, "", unknown, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
|
|
4
|
-
},
|
|
4
|
+
}, {
|
|
5
|
+
ns: {
|
|
6
|
+
namespace: import("vue").ComputedRef<string>;
|
|
7
|
+
b: (blockSuffix?: string) => string;
|
|
8
|
+
e: (element?: string | undefined) => string;
|
|
9
|
+
m: (modifier?: string | undefined) => string;
|
|
10
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
11
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
12
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
13
|
+
};
|
|
14
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
5
15
|
readonly size?: unknown;
|
|
6
16
|
readonly type?: unknown;
|
|
7
17
|
} & {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { defineComponent, provide, reactive, toRef } from 'vue';
|
|
2
2
|
import '../../../tokens/index.mjs';
|
|
3
|
+
import '../../../hooks/index.mjs';
|
|
3
4
|
import { buttonGroupProps } from './button-group.mjs';
|
|
4
5
|
import { buttonGroupContextKey } from '../../../tokens/button.mjs';
|
|
6
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
5
7
|
|
|
6
8
|
var script = defineComponent({
|
|
7
9
|
name: "ElButtonGroup",
|
|
@@ -11,6 +13,10 @@ var script = defineComponent({
|
|
|
11
13
|
size: toRef(props, "size"),
|
|
12
14
|
type: toRef(props, "type")
|
|
13
15
|
}));
|
|
16
|
+
const ns = useNamespace("button");
|
|
17
|
+
return {
|
|
18
|
+
ns
|
|
19
|
+
};
|
|
14
20
|
}
|
|
15
21
|
});
|
|
16
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/button/src/button-group.vue"],"sourcesContent":["<template>\n <div class=\"
|
|
1
|
+
{"version":3,"file":"button-group.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/button/src/button-group.vue"],"sourcesContent":["<template>\n <div :class=\"`${ns.b('group')}`\">\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, provide, reactive, toRef } from 'vue'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { buttonGroupProps } from './button-group'\n\nexport default defineComponent({\n name: 'ElButtonGroup',\n props: buttonGroupProps,\n\n setup(props) {\n provide(\n buttonGroupContextKey,\n reactive({\n size: toRef(props, 'size'),\n type: toRef(props, 'type'),\n })\n )\n const ns = useNamespace('button')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;AASA,aAAe,eAAe,CAAC;;AAE/B,EAAE,KAAK,EAAE,gBAAgB;EACvB,MAAM,KAAK,EAAE;IACX,OAAO,CAAC;;MAEN,IAAI,EAAE;KACP,CAAC,CAAC,CAAC;UACE,EAAE,GAAG,YAAY;WAChB;QACH;;;;;;;"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { openBlock, createElementBlock, renderSlot } from 'vue';
|
|
1
|
+
import { openBlock, createElementBlock, normalizeClass, renderSlot } from 'vue';
|
|
2
2
|
|
|
3
|
-
const _hoisted_1 = { class: "el-button-group" };
|
|
4
3
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
5
|
-
return openBlock(), createElementBlock("div",
|
|
4
|
+
return openBlock(), createElementBlock("div", {
|
|
5
|
+
class: normalizeClass(`${_ctx.ns.b("group")}`)
|
|
6
|
+
}, [
|
|
6
7
|
renderSlot(_ctx.$slots, "default")
|
|
7
|
-
]);
|
|
8
|
+
], 2);
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
export { render };
|
package/es/components/button/src/button-group.vue_vue_type_template_id_1bab7d77_lang.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group.vue_vue_type_template_id_1bab7d77_lang.mjs","sources":[
|
|
1
|
+
{"version":3,"file":"button-group.vue_vue_type_template_id_1bab7d77_lang.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -19,6 +19,15 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
19
19
|
buttonDisabled: import("vue").ComputedRef<boolean>;
|
|
20
20
|
shouldAddSpace: import("vue").ComputedRef<boolean>;
|
|
21
21
|
handleClick: (evt: MouseEvent) => void;
|
|
22
|
+
ns: {
|
|
23
|
+
namespace: import("vue").ComputedRef<string>;
|
|
24
|
+
b: (blockSuffix?: string) => string;
|
|
25
|
+
e: (element?: string | undefined) => string;
|
|
26
|
+
m: (modifier?: string | undefined) => string;
|
|
27
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
28
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
29
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
30
|
+
};
|
|
22
31
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
23
32
|
click: (evt: MouseEvent) => boolean;
|
|
24
33
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
@@ -8,6 +8,7 @@ import { Loading } from '@element-plus/icons-vue';
|
|
|
8
8
|
import { buttonProps, buttonEmits } from './button.mjs';
|
|
9
9
|
import { buttonGroupContextKey } from '../../../tokens/button.mjs';
|
|
10
10
|
import { useGlobalConfig } from '../../../hooks/use-global-config/index.mjs';
|
|
11
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
11
12
|
import { useFormItem } from '../../../hooks/use-form-item/index.mjs';
|
|
12
13
|
import { useSize, useDisabled } from '../../../hooks/use-common-props/index.mjs';
|
|
13
14
|
|
|
@@ -23,6 +24,7 @@ var script = defineComponent({
|
|
|
23
24
|
const buttonRef = ref();
|
|
24
25
|
const buttonGroupContext = inject(buttonGroupContextKey, void 0);
|
|
25
26
|
const globalConfig = useGlobalConfig("button");
|
|
27
|
+
const ns = useNamespace("button");
|
|
26
28
|
const autoInsertSpace = computed(() => {
|
|
27
29
|
var _a, _b, _c;
|
|
28
30
|
return (_c = (_b = props.autoInsertSpace) != null ? _b : (_a = globalConfig.value) == null ? void 0 : _a.autoInsertSpace) != null ? _c : false;
|
|
@@ -92,7 +94,8 @@ var script = defineComponent({
|
|
|
92
94
|
buttonType,
|
|
93
95
|
buttonDisabled,
|
|
94
96
|
shouldAddSpace,
|
|
95
|
-
handleClick
|
|
97
|
+
handleClick,
|
|
98
|
+
ns
|
|
96
99
|
};
|
|
97
100
|
}
|
|
98
101
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<template>\n <button\n ref=\"buttonRef\"\n :class=\"[\n
|
|
1
|
+
{"version":3,"file":"button.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<template>\n <button\n ref=\"buttonRef\"\n :class=\"[\n `${ns.b()}`,\n `${ns.m(buttonType)}`,\n `${ns.m(buttonSize)}`,\n {\n 'is-disabled': buttonDisabled,\n 'is-loading': loading,\n 'is-plain': plain,\n 'is-round': round,\n 'is-circle': circle,\n },\n ]\"\n :disabled=\"buttonDisabled || loading\"\n :autofocus=\"autofocus\"\n :type=\"nativeType\"\n :style=\"buttonStyle\"\n @click=\"handleClick\"\n >\n <el-icon v-if=\"loading\" class=\"is-loading\">\n <loading />\n </el-icon>\n <el-icon v-else-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <span\n v-if=\"$slots.default\"\n :class=\"[shouldAddSpace ? `${ns.em('text', 'expand')}` : '']\"\n >\n <slot></slot>\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport { computed, inject, defineComponent, Text, ref } from 'vue'\nimport { useCssVar } from '@vueuse/core'\nimport { TinyColor } from '@ctrl/tinycolor'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n useDisabled,\n useFormItem,\n useGlobalConfig,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport { buttonEmits, buttonProps } from './button'\n\nexport default defineComponent({\n name: 'ElButton',\n\n components: {\n ElIcon,\n Loading,\n },\n\n props: buttonProps,\n emits: buttonEmits,\n\n setup(props, { emit, slots }) {\n const buttonRef = ref()\n const buttonGroupContext = inject(buttonGroupContextKey, undefined)\n const globalConfig = useGlobalConfig('button')\n const ns = useNamespace('button')\n const autoInsertSpace = computed(\n () =>\n props.autoInsertSpace ?? globalConfig.value?.autoInsertSpace ?? false\n )\n\n // add space between two characters in Chinese\n const shouldAddSpace = computed(() => {\n const defaultSlot = slots.default?.()\n if (autoInsertSpace.value && defaultSlot?.length === 1) {\n const slot = defaultSlot[0]\n if (slot?.type === Text) {\n const text = slot.children\n return /^\\p{Unified_Ideograph}{2}$/u.test(text as string)\n }\n }\n return false\n })\n\n const { form } = useFormItem()\n const buttonSize = useSize(computed(() => buttonGroupContext?.size))\n const buttonDisabled = useDisabled()\n const buttonType = computed(\n () => props.type || buttonGroupContext?.type || ''\n )\n\n // calculate hover & active color by color\n const typeColor = computed(\n () => useCssVar(`--el-color-${props.type}`).value\n )\n const buttonStyle = computed(() => {\n let styles = {}\n\n const buttonColor = props.color || typeColor.value\n\n if (buttonColor) {\n const shadeBgColor = new TinyColor(buttonColor).shade(10).toString()\n if (props.plain) {\n styles = {\n '--el-button-bg-color': new TinyColor(buttonColor)\n .tint(90)\n .toString(),\n '--el-button-text-color': buttonColor,\n '--el-button-hover-text-color': 'var(--el-color-white)',\n '--el-button-hover-bg-color': buttonColor,\n '--el-button-hover-border-color': buttonColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-text-color': 'var(--el-color-white)',\n '--el-button-active-border-color': shadeBgColor,\n }\n } else {\n const tintBgColor = new TinyColor(buttonColor).tint(20).toString()\n styles = {\n '--el-button-bg-color': buttonColor,\n '--el-button-border-color': buttonColor,\n '--el-button-hover-bg-color': tintBgColor,\n '--el-button-hover-border-color': tintBgColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-border-color': shadeBgColor,\n }\n }\n\n if (buttonDisabled.value) {\n const disabledButtonColor = new TinyColor(buttonColor)\n .tint(50)\n .toString()\n styles['--el-button-disabled-bg-color'] = disabledButtonColor\n styles['--el-button-disabled-border-color'] = disabledButtonColor\n }\n }\n\n return styles\n })\n\n const handleClick = (evt: MouseEvent) => {\n if (props.nativeType === 'reset') {\n form?.resetFields()\n }\n emit('click', evt)\n }\n\n return {\n buttonRef,\n buttonStyle,\n\n buttonSize,\n buttonType,\n buttonDisabled,\n\n shouldAddSpace,\n\n handleClick,\n\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAmDA,EAAE,gBAAgB;;AAElB,IAAI,MAAM;IACN,OAAO;;EAET,KAAK,EAAE;OACF,EAAE;OACF,CAAC;;;IAGJ,MAAM;IACN,MAAM,EAAE,GAAG;;MAET,IAAI,EAAE,MAAM,EAAE,CAAC;MACf,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG;KACpB,CAAC,CAAC;IACH,MAAM,iBAAiB,QAAQ,CAAC,MAAM;MACpC,IAAI,GAAG;MACP,MAAM,WAAW,GAAG,GAAG,GAAG;MAC1B,IAAI;QACF,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC;;;iBAGnB,6BAA6B,CAAC;;OAExC;MACD,OAAO,KAAK,CAAC;;YAEP,IAAI,EAAE,GAAG;UACX,aAAa,OAAO,CAAC;UACrB,cAAc,GAAG,WAAW,EAAE,CAAC;;;UAG/B;;;MAGJ,IAAI,WAAW,EAAE;QACf,MAAM,YAAY,GAAG,IAAI,UAAU,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,KAAK,EAAE;UACf,MAAM,GAAG;YACP,sBAAsB,EAAE,IAAI,SAAS;;;YAGrC,8BAA8B;YAC9B;YACA,6BAA6B,EAAE;;YAE/B;WACD,CAAC;;UAEF,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,WAAW;;YAE3C;YACA,0BAA0B,EAAE,WAAW;YACvC;YACA;YACA,6BAA6B,EAAE,YAAY;;;;YAI3C,cAAc,CAAC,KAAK,EAAE;gBAClB,mBAAmB,GAAG,IAAI,SAAS,CAAC;gBACpC,CAAC,+BAA+B,CAAC,GAAG;gBACpC,CAAC,mCAAmC,CAAC;;;;;UAK3C,WAAW,GAAG,CAAC,GAAG;UAClB,KAAK;YACH,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;;kBAEnB,EAAE,GAAG,CAAC,CAAC;;;eAGV;;;;oBAIK;oBACA;iBACH;;;;;;;;"}
|
|
@@ -7,9 +7,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
7
7
|
return openBlock(), createElementBlock("button", {
|
|
8
8
|
ref: "buttonRef",
|
|
9
9
|
class: normalizeClass([
|
|
10
|
-
|
|
11
|
-
_ctx.
|
|
12
|
-
_ctx.
|
|
10
|
+
`${_ctx.ns.b()}`,
|
|
11
|
+
`${_ctx.ns.m(_ctx.buttonType)}`,
|
|
12
|
+
`${_ctx.ns.m(_ctx.buttonSize)}`,
|
|
13
13
|
{
|
|
14
14
|
"is-disabled": _ctx.buttonDisabled,
|
|
15
15
|
"is-loading": _ctx.loading,
|
|
@@ -40,7 +40,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
40
40
|
})) : createCommentVNode("v-if", true),
|
|
41
41
|
_ctx.$slots.default ? (openBlock(), createElementBlock("span", {
|
|
42
42
|
key: 2,
|
|
43
|
-
class: normalizeClass({ "
|
|
43
|
+
class: normalizeClass([_ctx.shouldAddSpace ? `${_ctx.ns.em("text", "expand")}` : ""])
|
|
44
44
|
}, [
|
|
45
45
|
renderSlot(_ctx.$slots, "default")
|
|
46
46
|
], 2)) : createCommentVNode("v-if", true)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.vue_vue_type_template_id_802c5c76_lang.mjs","sources":["../../../../../../packages/components/button/src/button.vue?vue&type=template&id=802c5c76&lang.js"],"sourcesContent":["<template>\n <button\n ref=\"buttonRef\"\n :class=\"[\n
|
|
1
|
+
{"version":3,"file":"button.vue_vue_type_template_id_802c5c76_lang.mjs","sources":["../../../../../../packages/components/button/src/button.vue?vue&type=template&id=802c5c76&lang.js"],"sourcesContent":["<template>\n <button\n ref=\"buttonRef\"\n :class=\"[\n `${ns.b()}`,\n `${ns.m(buttonType)}`,\n `${ns.m(buttonSize)}`,\n {\n 'is-disabled': buttonDisabled,\n 'is-loading': loading,\n 'is-plain': plain,\n 'is-round': round,\n 'is-circle': circle,\n },\n ]\"\n :disabled=\"buttonDisabled || loading\"\n :autofocus=\"autofocus\"\n :type=\"nativeType\"\n :style=\"buttonStyle\"\n @click=\"handleClick\"\n >\n <el-icon v-if=\"loading\" class=\"is-loading\">\n <loading />\n </el-icon>\n <el-icon v-else-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <span\n v-if=\"$slots.default\"\n :class=\"[shouldAddSpace ? `${ns.em('text', 'expand')}` : '']\"\n >\n <slot></slot>\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport { computed, inject, defineComponent, Text, ref } from 'vue'\nimport { useCssVar } from '@vueuse/core'\nimport { TinyColor } from '@ctrl/tinycolor'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n useDisabled,\n useFormItem,\n useGlobalConfig,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport { buttonEmits, buttonProps } from './button'\n\nexport default defineComponent({\n name: 'ElButton',\n\n components: {\n ElIcon,\n Loading,\n },\n\n props: buttonProps,\n emits: buttonEmits,\n\n setup(props, { emit, slots }) {\n const buttonRef = ref()\n const buttonGroupContext = inject(buttonGroupContextKey, undefined)\n const globalConfig = useGlobalConfig('button')\n const ns = useNamespace('button')\n const autoInsertSpace = computed(\n () =>\n props.autoInsertSpace ?? globalConfig.value?.autoInsertSpace ?? false\n )\n\n // add space between two characters in Chinese\n const shouldAddSpace = computed(() => {\n const defaultSlot = slots.default?.()\n if (autoInsertSpace.value && defaultSlot?.length === 1) {\n const slot = defaultSlot[0]\n if (slot?.type === Text) {\n const text = slot.children\n return /^\\p{Unified_Ideograph}{2}$/u.test(text as string)\n }\n }\n return false\n })\n\n const { form } = useFormItem()\n const buttonSize = useSize(computed(() => buttonGroupContext?.size))\n const buttonDisabled = useDisabled()\n const buttonType = computed(\n () => props.type || buttonGroupContext?.type || ''\n )\n\n // calculate hover & active color by color\n const typeColor = computed(\n () => useCssVar(`--el-color-${props.type}`).value\n )\n const buttonStyle = computed(() => {\n let styles = {}\n\n const buttonColor = props.color || typeColor.value\n\n if (buttonColor) {\n const shadeBgColor = new TinyColor(buttonColor).shade(10).toString()\n if (props.plain) {\n styles = {\n '--el-button-bg-color': new TinyColor(buttonColor)\n .tint(90)\n .toString(),\n '--el-button-text-color': buttonColor,\n '--el-button-hover-text-color': 'var(--el-color-white)',\n '--el-button-hover-bg-color': buttonColor,\n '--el-button-hover-border-color': buttonColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-text-color': 'var(--el-color-white)',\n '--el-button-active-border-color': shadeBgColor,\n }\n } else {\n const tintBgColor = new TinyColor(buttonColor).tint(20).toString()\n styles = {\n '--el-button-bg-color': buttonColor,\n '--el-button-border-color': buttonColor,\n '--el-button-hover-bg-color': tintBgColor,\n '--el-button-hover-border-color': tintBgColor,\n '--el-button-active-bg-color': shadeBgColor,\n '--el-button-active-border-color': shadeBgColor,\n }\n }\n\n if (buttonDisabled.value) {\n const disabledButtonColor = new TinyColor(buttonColor)\n .tint(50)\n .toString()\n styles['--el-button-disabled-bg-color'] = disabledButtonColor\n styles['--el-button-disabled-border-color'] = disabledButtonColor\n }\n }\n\n return styles\n })\n\n const handleClick = (evt: MouseEvent) => {\n if (props.nativeType === 'reset') {\n form?.resetFields()\n }\n emit('click', evt)\n }\n\n return {\n buttonRef,\n buttonStyle,\n\n buttonSize,\n buttonType,\n buttonDisabled,\n\n shouldAddSpace,\n\n handleClick,\n\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;OAEO,EAAC;SACE;;;;;;;;;;;;IAYL;IACA,SAAS;;IAET,KAAK;WACA;;KAES;sBAAf;;;;;;;;;;;;4BAIE;;;;;;;;;"}
|
|
@@ -4,6 +4,7 @@ export declare const ElConfigProvider: import("../../utils/types").SFCWithInstal
|
|
|
4
4
|
readonly button: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<import("..").ButtonConfigContext>, unknown, unknown, unknown, unknown>;
|
|
5
5
|
readonly message: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<import("..").MessageConfigContext>, unknown, unknown, unknown, unknown>;
|
|
6
6
|
readonly zIndex: import("../../utils/props").BuildPropReturn<NumberConstructor, unknown, unknown, unknown, unknown>;
|
|
7
|
+
readonly namespace: import("../../utils/props").BuildPropReturn<StringConstructor, "el", unknown, unknown, unknown>;
|
|
7
8
|
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
8
9
|
[key: string]: any;
|
|
9
10
|
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
@@ -12,7 +13,10 @@ export declare const ElConfigProvider: import("../../utils/types").SFCWithInstal
|
|
|
12
13
|
readonly button?: unknown;
|
|
13
14
|
readonly message?: unknown;
|
|
14
15
|
readonly zIndex?: unknown;
|
|
15
|
-
|
|
16
|
+
readonly namespace?: unknown;
|
|
17
|
+
} & {
|
|
18
|
+
namespace: string;
|
|
19
|
+
} & {
|
|
16
20
|
button?: import("..").ButtonConfigContext | undefined;
|
|
17
21
|
size?: import("../../utils/props").BuildPropType<StringConstructor, "small" | "default" | "large", unknown> | undefined;
|
|
18
22
|
locale?: import("../../locale").Language | undefined;
|
|
@@ -24,6 +28,7 @@ export declare const ElConfigProvider: import("../../utils/types").SFCWithInstal
|
|
|
24
28
|
locale: import("../../locale").Language;
|
|
25
29
|
message: import("..").MessageConfigContext;
|
|
26
30
|
zIndex: number;
|
|
31
|
+
namespace: string;
|
|
27
32
|
}>> & Record<string, any>;
|
|
28
33
|
export default ElConfigProvider;
|
|
29
34
|
export * from './src/config-provider';
|
|
@@ -8,6 +8,7 @@ export declare const configProviderProps: {
|
|
|
8
8
|
readonly button: import("element-plus/es/utils/props").BuildPropReturn<import("element-plus/es/utils/props").PropWrapper<ButtonConfigContext>, unknown, unknown, unknown, unknown>;
|
|
9
9
|
readonly message: import("element-plus/es/utils/props").BuildPropReturn<import("element-plus/es/utils/props").PropWrapper<MessageConfigContext>, unknown, unknown, unknown, unknown>;
|
|
10
10
|
readonly zIndex: import("element-plus/es/utils/props").BuildPropReturn<NumberConstructor, unknown, unknown, unknown, unknown>;
|
|
11
|
+
readonly namespace: import("element-plus/es/utils/props").BuildPropReturn<StringConstructor, "el", unknown, unknown, unknown>;
|
|
11
12
|
};
|
|
12
13
|
declare const _default: import("vue").DefineComponent<{
|
|
13
14
|
readonly locale: import("element-plus/es/utils/props").BuildPropReturn<import("element-plus/es/utils/props").PropWrapper<Language>, unknown, unknown, unknown, unknown>;
|
|
@@ -15,6 +16,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
15
16
|
readonly button: import("element-plus/es/utils/props").BuildPropReturn<import("element-plus/es/utils/props").PropWrapper<ButtonConfigContext>, unknown, unknown, unknown, unknown>;
|
|
16
17
|
readonly message: import("element-plus/es/utils/props").BuildPropReturn<import("element-plus/es/utils/props").PropWrapper<MessageConfigContext>, unknown, unknown, unknown, unknown>;
|
|
17
18
|
readonly zIndex: import("element-plus/es/utils/props").BuildPropReturn<NumberConstructor, unknown, unknown, unknown, unknown>;
|
|
19
|
+
readonly namespace: import("element-plus/es/utils/props").BuildPropReturn<StringConstructor, "el", unknown, unknown, unknown>;
|
|
18
20
|
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
19
21
|
[key: string]: any;
|
|
20
22
|
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
@@ -23,7 +25,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
23
25
|
readonly button?: unknown;
|
|
24
26
|
readonly message?: unknown;
|
|
25
27
|
readonly zIndex?: unknown;
|
|
26
|
-
|
|
28
|
+
readonly namespace?: unknown;
|
|
29
|
+
} & {
|
|
30
|
+
namespace: string;
|
|
31
|
+
} & {
|
|
27
32
|
button?: ButtonConfigContext | undefined;
|
|
28
33
|
size?: import("element-plus/es/utils/props").BuildPropType<StringConstructor, "small" | "default" | "large", unknown> | undefined;
|
|
29
34
|
locale?: Language | undefined;
|
|
@@ -35,5 +40,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
35
40
|
locale: Language;
|
|
36
41
|
message: MessageConfigContext;
|
|
37
42
|
zIndex: number;
|
|
43
|
+
namespace: string;
|
|
38
44
|
}>;
|
|
39
45
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-provider.mjs","sources":["../../../../../../packages/components/config-provider/src/config-provider.ts"],"sourcesContent":["import { defineComponent, renderSlot, watch } from 'vue'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { provideGlobalConfig } from '@element-plus/hooks'\nimport type { Language } from '@element-plus/locale'\nimport type { ButtonConfigContext } from '@element-plus/components/button'\nimport type { MessageConfigContext } from '@element-plus/components/message'\n\nexport const messageConfig: MessageConfigContext = {}\n\nexport const configProviderProps = buildProps({\n locale: {\n type: definePropType<Language>(Object),\n },\n\n size: {\n type: String,\n values: ['large', 'default', 'small'],\n },\n\n button: {\n type: definePropType<ButtonConfigContext>(Object),\n },\n\n message: {\n type: definePropType<MessageConfigContext>(Object),\n },\n\n zIndex: {\n type: Number,\n },\n} as const)\n\nexport default defineComponent({\n name: 'ElConfigProvider',\n props: configProviderProps,\n\n setup(props, { slots }) {\n watch(\n () => props.message,\n (val) => {\n Object.assign(messageConfig, val ?? {})\n },\n { immediate: true, deep: true }\n )\n const config = provideGlobalConfig(props)\n return () => renderSlot(slots, 'default', { config: config?.value })\n },\n})\n"],"names":[],"mappings":";;;;;AAGY,MAAC,aAAa,GAAG,GAAG;AACpB,MAAC,mBAAmB,GAAG,UAAU,CAAC;AAC9C,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;AACzC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC,EAAE;AACH,qBAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,mBAAmB;AAC5B,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;AAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK;AACxC,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;AAC3D,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,IAAI,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAI,OAAO,MAAM,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAClG,GAAG;AACH,CAAC,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"config-provider.mjs","sources":["../../../../../../packages/components/config-provider/src/config-provider.ts"],"sourcesContent":["import { defineComponent, renderSlot, watch } from 'vue'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { provideGlobalConfig } from '@element-plus/hooks'\nimport type { Language } from '@element-plus/locale'\nimport type { ButtonConfigContext } from '@element-plus/components/button'\nimport type { MessageConfigContext } from '@element-plus/components/message'\n\nexport const messageConfig: MessageConfigContext = {}\n\nexport const configProviderProps = buildProps({\n locale: {\n type: definePropType<Language>(Object),\n },\n\n size: {\n type: String,\n values: ['large', 'default', 'small'],\n },\n\n button: {\n type: definePropType<ButtonConfigContext>(Object),\n },\n\n message: {\n type: definePropType<MessageConfigContext>(Object),\n },\n\n zIndex: {\n type: Number,\n },\n\n namespace: {\n type: String,\n default: 'el',\n },\n} as const)\n\nexport default defineComponent({\n name: 'ElConfigProvider',\n props: configProviderProps,\n\n setup(props, { slots }) {\n watch(\n () => props.message,\n (val) => {\n Object.assign(messageConfig, val ?? {})\n },\n { immediate: true, deep: true }\n )\n const config = provideGlobalConfig(props)\n return () => renderSlot(slots, 'default', { config: config?.value })\n },\n})\n"],"names":[],"mappings":";;;;;AAGY,MAAC,aAAa,GAAG,GAAG;AACpB,MAAC,mBAAmB,GAAG,UAAU,CAAC;AAC9C,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;AACzC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACH,qBAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,mBAAmB;AAC5B,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;AAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK;AACxC,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;AAC3D,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,IAAI,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAI,OAAO,MAAM,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAClG,GAAG;AACH,CAAC,CAAC;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const ElDropdown: import("../../utils/types").SFCWithInstall<import("vue").DefineComponent<{
|
|
2
2
|
readonly type: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<import("../../utils/props").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown, unknown, unknown>;
|
|
3
3
|
readonly placement: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<import("@popperjs/core").Placement>, "bottom", unknown, unknown, unknown>;
|
|
4
|
+
readonly popperOptions: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
|
|
4
5
|
readonly size: import("../../utils/props").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
5
6
|
readonly splitButton: BooleanConstructor;
|
|
6
7
|
readonly hideOnClick: import("../../utils/props").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
|
|
@@ -698,6 +699,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
698
699
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "visible-change" | "command")[], "click" | "visible-change" | "command", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
699
700
|
readonly type?: unknown;
|
|
700
701
|
readonly placement?: unknown;
|
|
702
|
+
readonly popperOptions?: unknown;
|
|
701
703
|
readonly size?: unknown;
|
|
702
704
|
readonly splitButton?: unknown;
|
|
703
705
|
readonly hideOnClick?: unknown;
|
|
@@ -713,6 +715,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
713
715
|
size: string;
|
|
714
716
|
effect: string;
|
|
715
717
|
placement: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<import("@popperjs/core").Placement>, unknown, unknown>;
|
|
718
|
+
popperOptions: Partial<import("@popperjs/core").Options>;
|
|
716
719
|
popperClass: string;
|
|
717
720
|
maxHeight: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
|
|
718
721
|
trigger: "click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[];
|
|
@@ -733,6 +736,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
|
|
|
733
736
|
size: string;
|
|
734
737
|
effect: string;
|
|
735
738
|
placement: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<import("@popperjs/core").Placement>, unknown, unknown>;
|
|
739
|
+
popperOptions: Partial<import("@popperjs/core").Options>;
|
|
736
740
|
popperClass: string;
|
|
737
741
|
maxHeight: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
|
|
738
742
|
trigger: "click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Options } from '@popperjs/core';
|
|
1
2
|
import type { Placement } from 'element-plus/es/components/popper';
|
|
2
3
|
import type { ComponentInternalInstance, Component, ComputedRef, Ref } from 'vue';
|
|
3
4
|
import type { Nullable } from 'element-plus/es/utils/types';
|
|
@@ -16,6 +17,7 @@ export interface IElDropdownInstance {
|
|
|
16
17
|
export declare const dropdownProps: {
|
|
17
18
|
readonly type: import("element-plus/es/utils/props").BuildPropReturn<import("element-plus/es/utils/props").PropWrapper<import("element-plus/es/utils/props").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown, unknown, unknown>;
|
|
18
19
|
readonly placement: import("element-plus/es/utils/props").BuildPropReturn<import("element-plus/es/utils/props").PropWrapper<Placement>, "bottom", unknown, unknown, unknown>;
|
|
20
|
+
readonly popperOptions: import("element-plus/es/utils/props").BuildPropReturn<import("element-plus/es/utils/props").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
|
|
19
21
|
readonly size: import("element-plus/es/utils/props").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
20
22
|
readonly splitButton: BooleanConstructor;
|
|
21
23
|
readonly hideOnClick: import("element-plus/es/utils/props").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.ts"],"sourcesContent":["import { EVENT_CODE } from '@element-plus/utils/aria'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { createCollectionWithScope } from '@element-plus/components/collection'\nimport {\n useTooltipTriggerProps,\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\n\nimport type { ButtonType } from '@element-plus/components/button'\nimport type { Placement } from '@element-plus/components/popper'\nimport type {\n ComponentInternalInstance,\n Component,\n ComputedRef,\n Ref,\n} from 'vue'\nimport type { Nullable } from '@element-plus/utils/types'\n\nexport interface IElDropdownInstance {\n instance?: ComponentInternalInstance\n dropdownSize?: ComputedRef<string>\n visible?: Ref<boolean>\n handleClick?: () => void\n commandHandler?: (...arg) => void\n show?: () => void\n hide?: () => void\n trigger?: ComputedRef<string>\n hideOnClick?: ComputedRef<boolean>\n triggerElm?: ComputedRef<Nullable<HTMLButtonElement>>\n}\n\nexport const dropdownProps = {\n trigger: useTooltipTriggerProps.trigger,\n\n effect: {\n ...useTooltipContentProps.effect,\n default: 'light',\n },\n ...buildProps({\n type: {\n type: definePropType<ButtonType>(String),\n },\n placement: {\n type: definePropType<Placement>(String),\n default: 'bottom',\n },\n size: {\n type: String,\n default: '',\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n loop: {\n type: Boolean,\n },\n
|
|
1
|
+
{"version":3,"file":"dropdown.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.ts"],"sourcesContent":["import { EVENT_CODE } from '@element-plus/utils/aria'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { createCollectionWithScope } from '@element-plus/components/collection'\nimport {\n useTooltipTriggerProps,\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport type { Options } from '@popperjs/core'\n\nimport type { ButtonType } from '@element-plus/components/button'\nimport type { Placement } from '@element-plus/components/popper'\nimport type {\n ComponentInternalInstance,\n Component,\n ComputedRef,\n Ref,\n} from 'vue'\nimport type { Nullable } from '@element-plus/utils/types'\n\nexport interface IElDropdownInstance {\n instance?: ComponentInternalInstance\n dropdownSize?: ComputedRef<string>\n visible?: Ref<boolean>\n handleClick?: () => void\n commandHandler?: (...arg) => void\n show?: () => void\n hide?: () => void\n trigger?: ComputedRef<string>\n hideOnClick?: ComputedRef<boolean>\n triggerElm?: ComputedRef<Nullable<HTMLButtonElement>>\n}\n\nexport const dropdownProps = {\n trigger: useTooltipTriggerProps.trigger,\n\n effect: {\n ...useTooltipContentProps.effect,\n default: 'light',\n },\n ...buildProps({\n type: {\n type: definePropType<ButtonType>(String),\n },\n placement: {\n type: definePropType<Placement>(String),\n default: 'bottom',\n },\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}),\n },\n size: {\n type: String,\n default: '',\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n loop: {\n type: Boolean,\n },\n showTimeout: {\n type: Number,\n default: 150,\n },\n hideTimeout: {\n type: Number,\n default: 150,\n },\n tabindex: {\n type: definePropType<number | string>([Number, String]),\n default: 0,\n },\n maxHeight: {\n type: definePropType<number | string>([Number, String]),\n default: '',\n },\n popperClass: {\n type: String,\n default: '',\n },\n } as const),\n} as const\n\nexport const dropdownItemProps = buildProps({\n command: {\n type: [Object, String, Number],\n default: () => ({}),\n },\n disabled: Boolean,\n divided: Boolean,\n textValue: String,\n icon: {\n type: definePropType<string | Component>([String, Object]),\n },\n} as const)\n\nexport const dropdownMenuProps = buildProps({\n onKeydown: { type: definePropType<(e: KeyboardEvent) => void>(Function) },\n})\n\nexport const FIRST_KEYS = [\n EVENT_CODE.down,\n EVENT_CODE.pageDown,\n EVENT_CODE.home,\n]\n\nexport const LAST_KEYS = [EVENT_CODE.up, EVENT_CODE.pageUp, EVENT_CODE.end]\n\nexport const FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS]\n\nconst {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY,\n} = createCollectionWithScope('Dropdown')\n\nexport {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY as DROPDOWN_COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY as DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n}\n"],"names":[],"mappings":";;;;;;;AAOY,MAAC,aAAa,GAAG;AAC7B,EAAE,OAAO,EAAE,sBAAsB,CAAC,OAAO;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,GAAG,sBAAsB,CAAC,MAAM;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,GAAG,UAAU,CAAC;AAChB,IAAI,IAAI,EAAE;AACV,MAAM,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAClC,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAClC,MAAM,OAAO,EAAE,QAAQ;AACvB,KAAK;AACL,IAAI,aAAa,EAAE;AACnB,MAAM,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAClC,MAAM,OAAO,EAAE,OAAO,EAAE,CAAC;AACzB,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,EAAE;AACjB,KAAK;AACL,IAAI,WAAW,EAAE,OAAO;AACxB,IAAI,WAAW,EAAE;AACjB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,OAAO,EAAE,IAAI;AACnB,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,IAAI,EAAE,OAAO;AACnB,KAAK;AACL,IAAI,WAAW,EAAE;AACjB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,GAAG;AAClB,KAAK;AACL,IAAI,WAAW,EAAE;AACjB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,GAAG;AAClB,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,MAAM,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,OAAO,EAAE,EAAE;AACjB,KAAK;AACL,IAAI,WAAW,EAAE;AACjB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,EAAE;AACjB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE;AACU,MAAC,iBAAiB,GAAG,UAAU,CAAC;AAC5C,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAClC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;AACvB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,CAAC,EAAE;AACS,MAAC,iBAAiB,GAAG,UAAU,CAAC;AAC5C,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;AAC/C,CAAC,EAAE;AACS,MAAC,UAAU,GAAG;AAC1B,EAAE,UAAU,CAAC,IAAI;AACjB,EAAE,UAAU,CAAC,QAAQ;AACrB,EAAE,UAAU,CAAC,IAAI;AACjB,EAAE;AACU,MAAC,SAAS,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE;AAChE,MAAC,eAAe,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,SAAS,EAAE;AACxD,MAAC;AACN,EAAE,YAAY;AACd,EAAE,gBAAgB;AAClB,EAAE,wBAAwB;AAC1B,EAAE,6BAA6B;AAC/B,CAAC,GAAG,yBAAyB,CAAC,UAAU;;;;"}
|
|
@@ -2,6 +2,7 @@ import type { CSSProperties } from 'vue';
|
|
|
2
2
|
declare const _default: import("vue").DefineComponent<{
|
|
3
3
|
readonly type: import("../../../utils/props").BuildPropReturn<import("../../../utils/props").PropWrapper<import("../../../utils/props").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown, unknown, unknown>;
|
|
4
4
|
readonly placement: import("../../../utils/props").BuildPropReturn<import("../../../utils/props").PropWrapper<import("@popperjs/core").Placement>, "bottom", unknown, unknown, unknown>;
|
|
5
|
+
readonly popperOptions: import("../../../utils/props").BuildPropReturn<import("../../../utils/props").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
|
|
5
6
|
readonly size: import("../../../utils/props").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
6
7
|
readonly splitButton: BooleanConstructor;
|
|
7
8
|
readonly hideOnClick: import("../../../utils/props").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
|
|
@@ -699,6 +700,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
699
700
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "visible-change" | "command")[], "click" | "visible-change" | "command", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
700
701
|
readonly type?: unknown;
|
|
701
702
|
readonly placement?: unknown;
|
|
703
|
+
readonly popperOptions?: unknown;
|
|
702
704
|
readonly size?: unknown;
|
|
703
705
|
readonly splitButton?: unknown;
|
|
704
706
|
readonly hideOnClick?: unknown;
|
|
@@ -714,6 +716,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
714
716
|
size: string;
|
|
715
717
|
effect: string;
|
|
716
718
|
placement: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<import("@popperjs/core").Placement>, unknown, unknown>;
|
|
719
|
+
popperOptions: Partial<import("@popperjs/core").Options>;
|
|
717
720
|
popperClass: string;
|
|
718
721
|
maxHeight: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | number>, unknown, unknown>;
|
|
719
722
|
trigger: "click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[];
|
|
@@ -734,6 +737,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
734
737
|
size: string;
|
|
735
738
|
effect: string;
|
|
736
739
|
placement: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<import("@popperjs/core").Placement>, unknown, unknown>;
|
|
740
|
+
popperOptions: Partial<import("@popperjs/core").Options>;
|
|
737
741
|
popperClass: string;
|
|
738
742
|
maxHeight: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | number>, unknown, unknown>;
|
|
739
743
|
trigger: "click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top'
|
|
1
|
+
{"version":3,"file":"dropdown.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"hideTimeout\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"`el-dropdown__popper ${popperClass}`\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :show-after=\"showTimeout\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n append-to-body\n pure\n transition=\"el-zoom-in-top\"\n persistent\n @show=\"$emit('visible-change', true)\"\n @hide=\"$emit('visible-change', false)\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"ul\"\n view-class=\"el-dropdown__list\"\n >\n <el-focus-trap trapped @mount-on-focus=\"onMountOnFocus\">\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\"></slot>\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-focus-trap>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <div :class=\"dropdownTriggerKls\">\n <slot name=\"default\" />\n </div>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n ref=\"triggeringElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n class=\"el-dropdown__caret-button\"\n >\n <el-icon class=\"el-dropdown__icon\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n toRef,\n unref,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { addUnit } from '@element-plus/utils/util'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElFocusTrap,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const visible = ref(false)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [\n [dropdownSize.value ? `el-dropdown--${dropdownSize.value}` : ''],\n ])\n\n function handleClick() {\n popperRef.value?.onClose()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n visible,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onMountOnFocus = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n visible,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n onMountOnFocus,\n popperRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollection","ElRovingFocusGroup"],"mappings":";;;;;;;;;;;;;;;;AA+FA,mBAAmB,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;;AAEhD,EAAE,MAAM,YAAY;;AAEpB,IAAI,QAAQ;;AAEZ,IAAI,aAAa;IACb,WAAW;0BACXA;IACA;wBACAC;IACA,MAAM;IACN,SAAS;;OAEN,EAAE;OACF,EAAE,CAAC;OACH,CAAC;IACJ,MAAM;;IAEN,MAAM;IACN,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG;IACnB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;;IAE3B,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,eAAe,GAAG,IAAI;IAC5B,MAAM,YAAY,QAAQ,CAAC,OAAO;MAChC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;KACpC,CAAC,CAAC,CAAC;IACJ,MAAM,kBAAkB;MACtB,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,aAAa,EAAE;KACvC,CAAC,CAAC;;MAED,IAAI,EAAE,CAAC;MACP,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,KAAK,IAAI,GAAG;KAClC;IACD,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;aACtB,eAAe,GAAG,IAAI,EAAE;;;IAGjC,SAAS,WAAW,GAAG;;IAEvB;;MAEE,SAAS,IAAI,IAAI,GAAG,KAAK,CAAC;;KAE3B;aACQ;;;IAGT,SAAS;MACP,IAAI,CAAC;;;OAGJ;;;MAGD,UAAU;MACV,eAAe;;;KAGhB,CAAC,CAAC;WACI,CAAC;;;MAGN,OAAO;MACP,WAAW;oBACG;aACP,EAAE,KAAK,CAAC,KAAK,EAAE;MACtB;;;MAGA,IAAI,EAAE,EAAE,EAAE,CAAC;MACX,CAAC,CAAC;MACF,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG;QACV;OACD,CAAC,CAAC;KACJ;;MAEC,IAAI,CAAC,OAAO,EAAE,MAAM;MACpB;WACK;MACL,OAAO;MACP,SAAS;MACT,SAAS;MACT,kBAAkB;MAClB;;;MAGA,sBAAsB;MACtB,gBAAgB;MAChB,cAAc;eACL;MACT;;;;;;;;"}
|
|
@@ -16,7 +16,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
16
16
|
createVNode(_component_el_tooltip, {
|
|
17
17
|
ref: "popperRef",
|
|
18
18
|
effect: _ctx.effect,
|
|
19
|
-
"fallback-placements": ["bottom", "top"
|
|
19
|
+
"fallback-placements": ["bottom", "top"],
|
|
20
|
+
"popper-options": _ctx.popperOptions,
|
|
20
21
|
"gpu-acceleration": false,
|
|
21
22
|
"hide-after": _ctx.hideTimeout,
|
|
22
23
|
"manual-mode": true,
|
|
@@ -84,7 +85,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
84
85
|
], 2)
|
|
85
86
|
])
|
|
86
87
|
} : void 0
|
|
87
|
-
]), 1032, ["effect", "hide-after", "placement", "popper-class", "reference-element", "trigger", "show-after", "virtual-ref", "virtual-triggering"]),
|
|
88
|
+
]), 1032, ["effect", "popper-options", "hide-after", "placement", "popper-class", "reference-element", "trigger", "show-after", "virtual-ref", "virtual-triggering"]),
|
|
88
89
|
_ctx.splitButton ? (openBlock(), createBlock(_component_el_button_group, { key: 0 }, {
|
|
89
90
|
default: withCtx(() => [
|
|
90
91
|
createVNode(_component_el_button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue?vue&type=template&id=3ed790a5&lang.js"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top'
|
|
1
|
+
{"version":3,"file":"dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue?vue&type=template&id=3ed790a5&lang.js"],"sourcesContent":["<template>\n <div class=\"el-dropdown\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"hideTimeout\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"`el-dropdown__popper ${popperClass}`\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :show-after=\"showTimeout\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n append-to-body\n pure\n transition=\"el-zoom-in-top\"\n persistent\n @show=\"$emit('visible-change', true)\"\n @hide=\"$emit('visible-change', false)\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"ul\"\n view-class=\"el-dropdown__list\"\n >\n <el-focus-trap trapped @mount-on-focus=\"onMountOnFocus\">\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\"></slot>\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-focus-trap>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <div :class=\"dropdownTriggerKls\">\n <slot name=\"default\" />\n </div>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n ref=\"triggeringElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n class=\"el-dropdown__caret-button\"\n >\n <el-icon class=\"el-dropdown__icon\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n toRef,\n unref,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { addUnit } from '@element-plus/utils/util'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElFocusTrap,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const visible = ref(false)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [\n [dropdownSize.value ? `el-dropdown--${dropdownSize.value}` : ''],\n ])\n\n function handleClick() {\n popperRef.value?.onClose()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n visible,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onMountOnFocus = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n visible,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n onMountOnFocus,\n popperRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["_withCtx"],"mappings":";;;;;;;;;;;;;;;;;;MAGM;MACC;MACA;MACA,kBAAgB;MAChB;MACA;MACA;MACA;MACA,cAAY;MACZ,mBAAiB;MACjB;MACA;MACA,2BAAyB;MACzB;MACA;MACD;MACA;MACA;MACA;;MAEC;;aAEiB;;UAEd,GAAG,EAAC;UACH,YAAU,EAAE;;UAEb;;;;;cAEwB;;;;kBAEnB;kBACA;kBACD;;kBAEC;;;;;;;;;;;;;;;;;;;;;QASQ;;;;;;;gBAEb;;;;;;qBAIqB;;;;iBAGlB,EAACA;oCACe;;cAElB;;;;;;;;iBAKE,EAACA;;cAEH;;;;;;;;;;;;;;;;"}
|