@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.
Files changed (98) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +2337 -983
  4. package/dist/index.full.min.js +11 -9
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +12 -10
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +2337 -984
  9. package/es/components/button/index.d.ts +31 -2
  10. package/es/components/button/src/button-group.vue.d.ts +11 -1
  11. package/es/components/button/src/button-group.vue_vue_type_script_lang.mjs +6 -0
  12. package/es/components/button/src/button-group.vue_vue_type_script_lang.mjs.map +1 -1
  13. package/es/components/button/src/button-group.vue_vue_type_template_id_1bab7d77_lang.mjs +5 -4
  14. package/es/components/button/src/button-group.vue_vue_type_template_id_1bab7d77_lang.mjs.map +1 -1
  15. package/es/components/button/src/button.vue.d.ts +9 -0
  16. package/es/components/button/src/button.vue_vue_type_script_lang.mjs +4 -1
  17. package/es/components/button/src/button.vue_vue_type_script_lang.mjs.map +1 -1
  18. package/es/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.mjs +4 -4
  19. package/es/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.mjs.map +1 -1
  20. package/es/components/config-provider/index.d.ts +6 -1
  21. package/es/components/config-provider/src/config-provider.d.ts +7 -1
  22. package/es/components/config-provider/src/config-provider.mjs +4 -0
  23. package/es/components/config-provider/src/config-provider.mjs.map +1 -1
  24. package/es/components/dropdown/index.d.ts +4 -0
  25. package/es/components/dropdown/src/dropdown.d.ts +2 -0
  26. package/es/components/dropdown/src/dropdown.mjs +4 -0
  27. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  28. package/es/components/dropdown/src/dropdown.vue.d.ts +4 -0
  29. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs.map +1 -1
  30. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs +3 -2
  31. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
  32. package/es/components/tree/index.d.ts +8 -8
  33. package/es/components/tree/src/tree.type.d.ts +4 -4
  34. package/es/components/tree/src/tree.vue.d.ts +4 -4
  35. package/es/defaults.d.ts +4 -1
  36. package/es/hooks/index.d.ts +1 -0
  37. package/es/hooks/index.mjs +1 -0
  38. package/es/hooks/index.mjs.map +1 -1
  39. package/es/hooks/use-global-config/index.d.ts +4 -1
  40. package/es/hooks/use-namespace/index.d.ts +9 -0
  41. package/es/hooks/use-namespace/index.mjs +38 -0
  42. package/es/hooks/use-namespace/index.mjs.map +1 -0
  43. package/es/index.d.ts +4 -1
  44. package/es/index.mjs +1 -0
  45. package/es/index.mjs.map +1 -1
  46. package/es/version.d.ts +1 -1
  47. package/es/version.mjs +1 -1
  48. package/es/version.mjs.map +1 -1
  49. package/lib/components/button/index.d.ts +31 -2
  50. package/lib/components/button/src/button-group.vue.d.ts +11 -1
  51. package/lib/components/button/src/button-group.vue_vue_type_script_lang.js +6 -0
  52. package/lib/components/button/src/button-group.vue_vue_type_script_lang.js.map +1 -1
  53. package/lib/components/button/src/button-group.vue_vue_type_template_id_1bab7d77_lang.js +4 -3
  54. package/lib/components/button/src/button-group.vue_vue_type_template_id_1bab7d77_lang.js.map +1 -1
  55. package/lib/components/button/src/button.vue.d.ts +9 -0
  56. package/lib/components/button/src/button.vue_vue_type_script_lang.js +9 -6
  57. package/lib/components/button/src/button.vue_vue_type_script_lang.js.map +1 -1
  58. package/lib/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.js +4 -4
  59. package/lib/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.js.map +1 -1
  60. package/lib/components/config-provider/index.d.ts +6 -1
  61. package/lib/components/config-provider/src/config-provider.d.ts +7 -1
  62. package/lib/components/config-provider/src/config-provider.js +4 -0
  63. package/lib/components/config-provider/src/config-provider.js.map +1 -1
  64. package/lib/components/dropdown/index.d.ts +4 -0
  65. package/lib/components/dropdown/src/dropdown.d.ts +2 -0
  66. package/lib/components/dropdown/src/dropdown.js +4 -0
  67. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  68. package/lib/components/dropdown/src/dropdown.vue.d.ts +4 -0
  69. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js.map +1 -1
  70. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js +3 -2
  71. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
  72. package/lib/components/tree/index.d.ts +8 -8
  73. package/lib/components/tree/src/tree.type.d.ts +4 -4
  74. package/lib/components/tree/src/tree.vue.d.ts +4 -4
  75. package/lib/defaults.d.ts +4 -1
  76. package/lib/hooks/index.d.ts +1 -0
  77. package/lib/hooks/index.js +2 -0
  78. package/lib/hooks/index.js.map +1 -1
  79. package/lib/hooks/use-global-config/index.d.ts +4 -1
  80. package/lib/hooks/use-namespace/index.d.ts +9 -0
  81. package/lib/hooks/use-namespace/index.js +46 -0
  82. package/lib/hooks/use-namespace/index.js.map +1 -0
  83. package/lib/index.d.ts +4 -1
  84. package/lib/index.js +2 -0
  85. package/lib/index.js.map +1 -1
  86. package/lib/version.d.ts +1 -1
  87. package/lib/version.js +1 -1
  88. package/lib/version.js.map +1 -1
  89. package/package.json +2 -2
  90. package/tags.json +1 -1
  91. package/theme-chalk/el-dropdown.css +1 -1
  92. package/theme-chalk/el-message-box.css +1 -1
  93. package/theme-chalk/el-space.css +1 -1
  94. package/theme-chalk/index.css +1 -1
  95. package/theme-chalk/src/dropdown.scss +2 -0
  96. package/theme-chalk/src/message-box.scss +4 -1
  97. package/theme-chalk/src/space.scss +10 -0
  98. 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
- }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
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
- }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
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
- }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
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=\"el-button-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 { 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 },\n})\n</script>\n"],"names":[],"mappings":";;;;;AAQA,aAAe,eAAe,CAAC;;AAE/B,EAAE,KAAK,EAAE,gBAAgB;EACvB,MAAM,KAAK,EAAE;IACX,OAAO,CAAC;;MAEN,IAAI,EAAE;KACP,CAAC,CAAC,CAAC;;;;;;"}
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", _hoisted_1, [
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 };
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.vue_vue_type_template_id_1bab7d77_lang.mjs","sources":["../../../../../../packages/components/button/src/button-group.vue?vue&type=template&id=1bab7d77&lang.js"],"sourcesContent":["<template>\n <div class=\"el-button-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 { 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 },\n})\n</script>\n"],"names":[],"mappings":";;;sCAC8B;;;;;;;;"}
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 'el-button',\n buttonType ? 'el-button--' + buttonType : '',\n buttonSize ? 'el-button--' + 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=\"{ 'el-button__text--expand': shouldAddSpace }\"\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 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 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 },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAkDA,EAAE,gBAAgB;;AAElB,IAAI,MAAM;IACN,OAAO;;EAET,KAAK,EAAE;OACF,EAAE;OACF,CAAC;;;IAGJ,MAAM;IACN,MAAM;;MAEJ,OAAO,MAAM,CAAC,KAAK,KAAK;KACzB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM;MACpC,IAAI,EAAE,CAAC;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;;;;;;;"}
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
- "el-button",
11
- _ctx.buttonType ? "el-button--" + _ctx.buttonType : "",
12
- _ctx.buttonSize ? "el-button--" + _ctx.buttonSize : "",
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({ "el-button__text--expand": _ctx.shouldAddSpace })
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 'el-button',\n buttonType ? 'el-button--' + buttonType : '',\n buttonSize ? 'el-button--' + 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=\"{ 'el-button__text--expand': shouldAddSpace }\"\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 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 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 },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;IAeK;IACA,SAAS;;IAET,KAAK;WACA;;KAES;sBAAf;;;;;;;;;;;;4BAIE;;;;;;;;;"}
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;
@@ -20,6 +20,10 @@ const configProviderProps = buildProps({
20
20
  },
21
21
  zIndex: {
22
22
  type: Number
23
+ },
24
+ namespace: {
25
+ type: String,
26
+ default: "el"
23
27
  }
24
28
  });
25
29
  var ConfigProvider = defineComponent({
@@ -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>;
@@ -19,6 +19,10 @@ const dropdownProps = {
19
19
  type: definePropType(String),
20
20
  default: "bottom"
21
21
  },
22
+ popperOptions: {
23
+ type: definePropType(Object),
24
+ default: () => ({})
25
+ },
22
26
  size: {
23
27
  type: String,
24
28
  default: ""
@@ -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\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\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,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;;;;"}
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', 'right', 'left']\"\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":";;;;;;;;;;;;;;;;AA8FA,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;;;;;;;;"}
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", "right", "left"],
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', 'right', 'left']\"\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;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;;;;;;;;;;;;;;;;"}
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;;;;;;;;;;;;;;;;"}