diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md
index 6fbd3a24c4090..ce575b4da1662 100644
--- a/CHANGELOG.en-US.md
+++ b/CHANGELOG.en-US.md
@@ -1,4 +1,22 @@
## Changelog
+
+### 2.7.1
+
+_2024-04-20_
+
+#### Features
+
+- Components [badge] Add badge-style and badge-class (#16585 by @kooriookami)
+
+#### Bug fixes
+
+- Hooks [empty-values] warning on modifying computead value (#16508 by @btea)
+- Components [input-number] fix binding wheel event warning (#16495 by @Canroc)
+- Components [table] fix cell tooltip display error (#16449 by @electroluxcode)
+- Components [table] hover style error (#16517 by @dowinweb)
+- Components [table] fix grouping head when dynamic column (#16433 by @Liao-js)
+- Components [select-v2] fix has existing option when allow create (#16590 by @Liao-js)
+- Components [table] table body rerendered when use row-key (#16544 by @Liao-js)
### 2.7.0
diff --git a/README.md b/README.md
index d7282b77f8099..1b915019d5550 100644
--- a/README.md
+++ b/README.md
@@ -66,11 +66,6 @@ You can also try Element Plus out with the components built-in playground.
-
-
-
-
- |
@@ -78,12 +73,12 @@ You can also try Element Plus out with the components built-in playground.
|
-
+
|
-
+
|
diff --git a/docs/.vitepress/config/sponsors.ts b/docs/.vitepress/config/sponsors.ts
index 7140175b401bd..97aa0cb3f7ded 100644
--- a/docs/.vitepress/config/sponsors.ts
+++ b/docs/.vitepress/config/sponsors.ts
@@ -32,15 +32,6 @@ export const rightLogoSmallSponsors = [
]
export const leftCustomImgSponsors = [
- {
- name: 'JSDesign',
- name_cn: '即时设计',
- img: '/images/js-design.png',
- url: 'https://js.design/?source=element-plus&plan=sy',
- slogan: 'Professional online UI design tool',
- slogan_cn: '专业在线UI设计工具',
- banner_img: '/images/js-design-banner.jpg',
- },
{
name: 'VForm',
img: '/images/vform.png',
diff --git a/docs/.vitepress/crowdin/en-US/pages/resource.json b/docs/.vitepress/crowdin/en-US/pages/resource.json
index 96021b4adb21e..d89eb9fca66c1 100644
--- a/docs/.vitepress/crowdin/en-US/pages/resource.json
+++ b/docs/.vitepress/crowdin/en-US/pages/resource.json
@@ -12,5 +12,7 @@
"figmaVariables": "Figma Variables",
"figmaVariablesIntro": "Components all use variables to quickly switch between dark and light modes.",
"figma2023": "2023 Figma UI Kit",
- "figma2023Intro": "Components designed using Figma's latest variable configuration provide Light/Dark/Dark Alpha theme switching to help you quickly build interface designs."
+ "figma2023Intro": "Components designed using Figma's latest variable configuration provide Light/Dark/Dark Alpha theme switching to help you quickly build interface designs.",
+ "masterGo2024": "2024 MasterGo UI Kit",
+ "masterGo2024Intro": "MasterGo component library with optimized adaptive layouts, more complete component states, and variant switching."
}
diff --git a/docs/.vitepress/vitepress/components/globals/resource.vue b/docs/.vitepress/vitepress/components/globals/resource.vue
index 11bde362c8b75..cf8034afca041 100644
--- a/docs/.vitepress/vitepress/components/globals/resource.vue
+++ b/docs/.vitepress/vitepress/components/globals/resource.vue
@@ -10,6 +10,7 @@ import SketchTemplateSvg from './resources/sketch-template-svg.vue'
import FigmaTemplateSvg from './resources/figma-template-svg.vue'
import FigmaVariablesSvg from './resources/figma-variables-svg.vue'
import FigmaUiKitSvg from './resources/figma-ui-kit-svg.vue'
+import MasterGoUiKitSvg from './resources/master-go-ui-kit-svg.vue'
const mirrorUrl = 'element-plus.gitee.io'
const isMirrorUrl = () => {
@@ -60,6 +61,14 @@ const resourceCards = computed(() => [
intro: resourceLang.value.figmaIntro,
url: 'https://www.figma.com/community/file/1021254029764378306',
},
+ {
+ key: '2024-master-go-ui-kit',
+ title: resourceLang.value.masterGo2024,
+ description: '2024 MasterGo UI Kit',
+ icon: MasterGoUiKitSvg,
+ intro: resourceLang.value.masterGo2024Intro,
+ url: 'https://mastergo.com/community/resource/124855257836266',
+ },
{
key: 'sketch',
title: resourceLang.value.sketch,
diff --git a/docs/.vitepress/vitepress/components/globals/resources/master-go-ui-kit-svg.vue b/docs/.vitepress/vitepress/components/globals/resources/master-go-ui-kit-svg.vue
new file mode 100644
index 0000000000000..d12660c72e50e
--- /dev/null
+++ b/docs/.vitepress/vitepress/components/globals/resources/master-go-ui-kit-svg.vue
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+
diff --git a/docs/components.d.ts b/docs/components.d.ts
index ee20732615a4c..c4152fd89f29c 100644
--- a/docs/components.d.ts
+++ b/docs/components.d.ts
@@ -41,6 +41,8 @@ declare module '@vue/runtime-core' {
LeftLayerSvg: typeof import('./.vitepress/vitepress/components/home/svg/left-layer-svg.vue')['default']
Light: typeof import('./.vitepress/vitepress/components/icons/light.vue')['default']
MainColor: typeof import('./.vitepress/vitepress/components/globals/main-color.vue')['default']
+ MasterGoUiKit: typeof import('./.vitepress/vitepress/components/globals/resources/master-go-ui-kit.vue')['default']
+ MasterGoUiKitSvg: typeof import('./.vitepress/vitepress/components/globals/resources/master-go-ui-kit-svg.vue')['default']
NeutralColor: typeof import('./.vitepress/vitepress/components/globals/neutral-color.vue')['default']
OvAffix: typeof import('./.vitepress/vitepress/components/overview-icons/ov-affix.vue')['default']
OvAlert: typeof import('./.vitepress/vitepress/components/overview-icons/ov-alert.vue')['default']
diff --git a/docs/en-US/component/badge.md b/docs/en-US/component/badge.md
index e4a2c5e632834..9905f8093f4f4 100644
--- a/docs/en-US/component/badge.md
+++ b/docs/en-US/component/badge.md
@@ -59,21 +59,21 @@ badge/offset
### Attributes
-| Name | Description | Type | Default |
-| ------------------ | ----------------------------------------------------------------------------- | ------------------------------------------------------------------ | ------- |
-| value | display value. | ^[string] / ^[number] | '' |
-| max | maximum value, shows `{max}+` when exceeded. Only works if value is a number. | ^[number] | 99 |
-| is-dot | if a little dot is displayed. | ^[boolean] | false |
-| hidden | hidden badge. | ^[boolean] | false |
-| type | badge type. | ^[enum]`'primary' \| 'success' \| 'warning' \| 'danger' \| 'info'` | danger |
-| show-zero ^(2.6.0) | Whether to show badge when value is zero. | ^[boolean] | true |
-| color ^(2.6.3) | background color of the dot | ^[string] | |
-| offset ^(2.7.0) | Set offset of dot | [ `number` , `number` ] | — |
-| dot-style ^(2.7.0) | CSS style of dot | ^[object]`CSSProperties` | — |
-| dot-class ^(2.7.0) | custom class name of dot | ^[string] | — |
+| Name | Description | Type | Default |
+|----------------------|-------------------------------------------------------------------------------|--------------------------------------------------------------------|---------|
+| value | display value. | ^[string] / ^[number] | '' |
+| max | maximum value, shows `{max}+` when exceeded. Only works if value is a number. | ^[number] | 99 |
+| is-dot | if a little dot is displayed. | ^[boolean] | false |
+| hidden | hidden badge. | ^[boolean] | false |
+| type | badge type. | ^[enum]`'primary' \| 'success' \| 'warning' \| 'danger' \| 'info'` | danger |
+| show-zero ^(2.6.0) | Whether to show badge when value is zero. | ^[boolean] | true |
+| color ^(2.6.3) | background color of the dot | ^[string] | |
+| offset ^(2.7.0) | offset of badge | [ `number` , `number` ] | — |
+| badge-style ^(2.7.1) | custom style of badge | ^[object]`CSSProperties` | — |
+| badge-class ^(2.7.1) | custom class of badge | ^[string] | — |
### Slots
| Name | Description |
-| ------- | ------------------------- |
+|---------|---------------------------|
| default | customize default content |
diff --git a/docs/examples/avatar/fit.vue b/docs/examples/avatar/fit.vue
index b1a81a36bc4f1..7ff0cd310db7c 100644
--- a/docs/examples/avatar/fit.vue
+++ b/docs/examples/avatar/fit.vue
@@ -8,9 +8,16 @@
diff --git a/docs/examples/layout/column-offset.vue b/docs/examples/layout/column-offset.vue
index 913ac4c44f9d2..7b9c97851a92c 100644
--- a/docs/examples/layout/column-offset.vue
+++ b/docs/examples/layout/column-offset.vue
@@ -1,22 +1,22 @@
-
+
+
+
-
-
+
+
+
+
+
+
-
+
+
+
diff --git a/docs/examples/message-box/customization.vue b/docs/examples/message-box/customization.vue
index 5008245b1a033..3f4e78c0403e8 100644
--- a/docs/examples/message-box/customization.vue
+++ b/docs/examples/message-box/customization.vue
@@ -5,6 +5,7 @@
+