7395 Commits

Author SHA1 Message Date
btea
fb0ee9de04 Merge pull request #23744 from element-plus/dev
D2M
2.13.5
2026-03-07 23:15:07 +08:00
Element
637874b8c2 chore: Update changelog 2.13.5 (#23745)
chore: update changelog 2.13.5
2026-03-07 23:09:11 +08:00
rzzf
fe437c84ca chore: fix locale/lang/*.ts dts default export (#23741) 2026-03-07 12:13:12 +01:00
btea
39076202ec chore: fix build (#23737)
* chore: fix build

* chore: update
2026-03-07 10:49:54 +01:00
iamkun
043a6dd459 Merge pull request #23732 from element-plus/dev
D2M
2.13.4
2026-03-06 19:36:49 +08:00
Element
ad99f7300a chore: Update changelog 2.13.4 (#23733)
chore: update changelog 2.13.4
2026-03-06 11:28:51 +00:00
Zachary Bear
ada3b2a206 feat(components): [popover] expose hide() through slot (#23694)
* feat(components): [popover] expose hide() through slot

* docs(components): [popover] update slots section

* Update docs/en-US/component/popover.md

Co-authored-by: btea <2356281422@qq.com>

* style(docs): [popover] formatted descriptions

* Update docs/en-US/component/popover.md

Co-authored-by: keeplearning66 <1256734885@qq.com>

---------

Co-authored-by: btea <2356281422@qq.com>
Co-authored-by: keeplearning66 <1256734885@qq.com>
2026-03-06 12:29:08 +08:00
rzzf
2e05c91335 docs: add component changelog drawer and open issues button (#23724)
* docs: add component changelog drawer and open issues button

* docs: update comp name

* docs: optimize code

* docs: apply cb review

* Apply suggestions from code review

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* docs: apply cb review

* docs: apply cb review

* docs: add in-memory cache for issue count requests

Cache GitHub API responses for 5 minutes to avoid redundant
requests when navigating between component pages.

Co-authored-by: GitHub Copilot <noreply@github.com>

* Update docs/.vitepress/vitepress/components/globals/vp-component-meta.vue

Co-authored-by: btea <2356281422@qq.com>

* docs: optimaze code

* docs: fix i18n

* style: update version color

* docs: fix ts error

* docs: improve style and display condition

* fix: alias comp parser

* docs: show the last 20 versions

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: GitHub Copilot <noreply@github.com>
Co-authored-by: btea <2356281422@qq.com>
2026-03-06 08:16:47 +08:00
snowbitx
f695f8f05e feat(components): [time-picker] add save-on-blur prop (#23531)
* feat(components): [time-picker] prevent auto-fill on focus when empty

* docs: add doc

* docs: update doc

* 更新 time-picker.md

* fix: propagate the effect until confirm

* Update time-picker.md

* fix: clear bug

* fix: clear bug

* fix: clear bug

* fix: time-range clear bug

* fix: test error

* test: add test case

* docs: update doc

* fix: clear bug refactor

* Update packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue

Co-authored-by: rzzf <cszhjh@gmail.com>

* refactor: use rAF

* refactor: optimize useOldValue options

* chore: use unknown

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-03-05 14:08:35 +00:00
btea
ea926472df feat(components): [input] textarea supports clearing effects (#23723)
* feat(components): [input] textarea supports clearing effects

* Update packages/components/input/__tests__/input.test.tsx

Co-authored-by: rzzf <cszhjh@gmail.com>

* feat: update

* Apply suggestions from code review

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>

* style: update

* Update packages/components/input/src/input.vue

Co-authored-by: rzzf <cszhjh@gmail.com>

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>
2026-03-05 12:08:29 +01:00
rzzf
25a3595ede docs(components): [watermark] improve text color readability in dark (#23721) 2026-03-04 10:51:28 +08:00
snowbitx
17627647e3 fix(components): [color-picker-panel] set showAlpha default to false (#23709)
fix(components): [color-picker-panel] fix typecheck error
2026-03-03 21:30:06 +00:00
Noblet Ouways
d1a60f599d fix(components): [tree] reconcile parent states in setCheckedKeys (#23697)
closed #22032
2026-03-03 16:49:47 +08:00
rzzf
fea1ae7a86 test(components): [carousel] use fake timers instead of real timers (#23712)
test(components): [carousel] use mock timers instead of real timers
2026-03-03 11:48:20 +08:00
btea
4e44f16bac chore: css build compatibility is consistent with the docs (#23711) 2026-03-03 10:32:11 +08:00
btea
484f2cb298 feat(components): [input] emit clear event pass event parameter (#23696)
* fix(components): [input] click clear icon should trigger the event

* fix: update

* fix: update

* test: update

* docs: update
2026-03-03 10:15:23 +08:00
Noblet Ouways
76787fdedf chore: refresh build toolchain (#23365)
* chore: refresh js build

* chore: remove fs-extra

* chore: try lightningcss

* chore: correct build

* chore: rolldown minimal

* chore: WIP

* chore: WIP

* fix: WIP

* chore: cleanup

* chore: remove unused

* fix: windows path

* chore: update

* fix: exports missing in nested barrel files

* chore: self review

* chore: apply cb review

* chore: no any

* chore: apply review

Co-authored-by: btea <2356281422@qq.com>

* chore: set import

* chore: apply review

* chore: upgrade rolldown & plugin dts

* chore: apply review

Co-authored-by: rzzf <cszhjh@gmail.com>

---------

Co-authored-by: btea <2356281422@qq.com>
Co-authored-by: rzzf <cszhjh@gmail.com>
2026-03-02 21:21:24 +01:00
Bryan Qiu
074e9c022b docs(components): [autocomplete] fix invalid placement enum value (#23708) 2026-03-02 23:36:13 +08:00
0song
125e05d617 chore: update doc (#23707) 2026-03-02 06:53:03 +00:00
btea
245722bd8e chore: upgrade @ctrl/tinycolor (#23704) 2026-03-01 20:54:59 +08:00
btea
5090c5ec26 Merge pull request #23702 from element-plus/dev
D2M
2.13.3
2026-02-28 21:08:58 +08:00
Element
6a826e56e7 chore: Update changelog 2.13.3 (#23703)
chore: update changelog 2.13.3
2026-02-28 20:55:31 +08:00
leihaohao
91b46a7594 fix(components): [form/form-item] initial value and reset func (#23597)
* fix(components): [form][form-item] initial value and reset func

* fix: resetFields

* fix: coderabbitai

* fix: resetFields

* fix: coderabbitai

* fix: resetFields

* fix: setInitialValues

* chore: simplify

* docs: better doc

* chore: sync doc

Co-authored-by: btea <2356281422@qq.com>

* docs: update

* docs: update

---------

Co-authored-by: Dsaquel <291874700n@gmail.com>
Co-authored-by: btea <2356281422@qq.com>
2026-02-27 11:22:32 +08:00
btea
6ac113696e fix(components): [affix] update logic caused infinite loop (#23599)
* fix(components): [affix] update logic caused infinite loop

* fix: update

* fix: update
2026-02-27 10:54:42 +08:00
Jeff
cf6426336f style(theme-chalk): [message] resolve incorrect position during transition in Firefox (#23686)
* style(theme-chalk): [message] refacter center style

* style(theme-chalk): [message] refactor center style

* recover style

* fix compatible
2026-02-27 09:49:53 +08:00
Noblet Ouways
1dc034570d fix(components): [select/v2] stop change event bubbling (#23669)
fix(components): [select] stop change event bubbling
2026-02-27 08:03:59 +08:00
知晓同丶
69db3d92b8 style(components): [tabs] add disabled style for prev and next buttons (#23688)
* style(components): [tabs] add disabled style

* style: avoid override cursor in left/right
2026-02-26 15:36:16 +08:00
@长久同学
7475ac8eeb fix(components): [select] Slot default invoked outside of the render (#23232)
* fix(components): [select] Slot default invoked outside of the render

* test: fix expect error

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-02-26 15:26:39 +08:00
rzzf
de70ad1ac9 fix(components): [input-tag] delimiter does not support pasted line breaks (#23674)
* fix(components): [input-tag] delimiter prop does not support \n

* test: format

* fix: update

* fix: unexpected additions and pasting over input
2026-02-26 10:18:00 +08:00
Noblet Ouways
aef049776f fix(components): [form] support nested FormRules (#23668) 2026-02-26 10:12:26 +08:00
Noblet Ouways
ed94e7b61e fix(components): [upload] append all values in formdata (#23664)
* fix(components): [upload] append all values in formdata

* chore: apply cb review

* fix(components): [upload] support both array and tuple in formdata

* chore: more guards

* chore: improve type

* Update packages/components/upload/src/ajax.ts

Co-authored-by: rzzf <cszhjh@gmail.com>

* fix: import

* chore: address cb review

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-02-25 11:36:38 +08:00
Noblet Ouways
bd450fb409 style(theme-chalk): [checkbox-button] add disabled+checked visual distinction (#23665) 2026-02-25 11:29:44 +08:00
Noblet Ouways
e35eb5ad3f fix(components): [tree] focus error after switching tree (#23659)
* fix(components): [tree] focus error after switching tree

* test: set test case

* fix: test case
2026-02-25 10:07:39 +08:00
Noblet Ouways
94866508b5 fix(components): [select/v2] always clear input after create option (#23662)
* fix(components): [select/v2] always clear input after create option

* test: set tests case
2026-02-24 23:14:00 +08:00
E66
b5d66fc69d fix(components): [tree] requireNodeKey arg in updateKeyChildren (#23676)
fix(components): [tree]  update `requireNodeKey` param
2026-02-22 21:12:54 +08:00
E66
590ae8ced3 chore: [cascader-panel] fix typo (#23675) 2026-02-22 19:28:39 +08:00
E66
e5ec61d748 fix(components): [transfer] prevent title width overflow (#23166)
* fix(components): [transfer] fix header and footer layout issues

* test(components): [transfer] fix header count selector in customize test

* Update transfer-panel.vue

* Update transfer-panel.vue

* Update packages/components/transfer/src/transfer-panel.vue

Co-authored-by: rzzf <cszhjh@gmail.com>

* Update transfer.scss

* fix(components): [transfer] Update  transfer.scss

* fix(components): [transfer] Update  transfer.scss

* fix(components): [transfer] Update  transfer.scss

* Apply suggestions from code review

Co-authored-by: rzzf <cszhjh@gmail.com>

* Apply suggestion from @rzzf

Co-authored-by: rzzf <cszhjh@gmail.com>

* Apply suggestion from @rzzf

Co-authored-by: rzzf <cszhjh@gmail.com>

* revert: flex-grow

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-02-22 18:04:42 +08:00
rzzf
be0b56574e fix(components): [table-v2] navigation back triggered by trackpad scrolling (#23673)
* fix(components): [table-v2] navigation back triggered by trackpad scrolling

* fix: apply coderabbit suggest

* fix: simplify the code
2026-02-20 21:59:06 +01:00
E66
e53399fae4 fix(components): [select/select-v2] prevent empty input from causing unnecessary line breaks (#23394)
* fix(components): [select] prevent empty input from taking space

* fix(components): [select-v2] prevent empty input from taking space

* test(components): Supplement related test cases

* test: update test case
2026-02-19 21:46:17 +08:00
Noblet Ouways
83365c8fad fix(components): [badge] dot becomes rectangle on transition leave (#23667)
* fix(components): [badge] dot becomes rectangle on transition leave

closed #11166

* fix: build

* perf: use v-if instead of v-show

thanks rzzf for the tip

Co-authored-by: rzzf <cszhjh@gmail.com>

* test: fix test

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-02-18 21:24:41 +08:00
mortis.yi
e53956863a fix(components): [tree-select] emit change when toggling node labels (#22863)
* fix(components): [tree-select] emit change when toggling node labels

closed #22862

* fix(components): [tree-select] avoid double change on checkbox

closed #22862

* refactor(components): [tree-select] extract update helper

closed #22862

---------

Co-authored-by: alex.yang <alex.yang@hytechc.com>
Co-authored-by: 云游君 <me@yunyoujun.cn>
2026-02-18 00:35:09 +01:00
snowbitx
90ffc112d8 docs(components): [timeline] fix color prop type (#23642) 2026-02-17 22:28:17 +01:00
E66
fdea0ddff0 fix(components): [autocomplete] reset ignoreFocusEvent on outside click (#23513)
* fix(components): [autocomplete] reset ignoreFocusEvent on outside click

* Update autocomplete.vue

* Update autocomplete.vue

* Update autocomplete.vue

* Update autocomplete.vue
2026-02-17 21:36:39 +01:00
E66
0192470da6 fix(components): [color-picker] add colorFormat prop validation (#23587)
* feat(components): [color-picker] add type hints for colorFormat prop

* feat(components): [color-picker] add type hints for colorFormat prop

* docs: align color-format type with ColorFormats
2026-02-15 13:51:57 +01:00
rzzf
de984256ab feat(utils): add setPropsDefaults method (#23612)
* feat(components): add `setPropsDefaults` method

* chore: cleanup

* test: add test

* docs: add Custom Defaults

* fix: apply coderabbit suggest

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: support array props

* chore: fix type error

* refactor: use fromPairs replace zipObject

* fix: correct type

* refactor: apply coderabbit suggest

* docs: detail tip

* docs: add warning

* Update docs/en-US/guide/custom-defaults.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: revert main.ts

* docs: update

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-02-14 13:37:05 +01:00
lostElk
2b1ab441e3 feat(components): [select/select-v2] add tag-tooltip config object prop (#23556)
* feat(components): [select] add collapseTagsTooltipAppendTo & test

Add collapseTagsTooltipAppendTo prop to control where the collapse-tags tooltip is appended. Wire it
to the tag tooltip with fallback to appendTo. Add unit test to verify prop is passed correctly.

* docs(docs): add collapseTagsTooltipAppendTo doc

* refactor(components): [select]rename collapseTagsTooltipAppendTo prop

Rename collapseTagsTooltipAppendTo to tooltipAppendTo
Simplify the prop name by removing redundant context
Behavior remains unchanged

* docs(components): [select] add version tag for tooltipAppendTo prop

* Update packages/components/select/__tests__/select.test.ts

Co-authored-by: rzzf <cszhjh@gmail.com>

* feat(components): [select] add tagTooltip config object

Add TagTooltip to support appendTo, placement, fallbackPlacements, effect, popperClass, popperStyle,
teleported, popperOptions, showAfter, and offsetWire all tagTooltip properties to the collapse-tags
tooltip with fallback to existing select propsProvides more granular control over tooltip behavior
while maintaining backward compatibility

* docs(components): [select] add tag-tooltip config object doc

* docs(components): [select] add default value for fallback-placements

* docs(components): [select]  update tag-tooltip default value to {}

* docs(components): [select]remove string type from TagTooltipProps effect

* docs(components): [select] add fallback mechanism tip for tag-tooltip

* feat(components): [select] extend TagTooltipProps

Add transition, hideAfter, and autoClose properties to TagTooltipProps

Update popperStyle type to accept both string and CSSProperties

* docs(components): [select] enhance tag-tooltip documentation

Add transition, hide-after, and auto-close properties to TagTooltip API table

Clarify fallback mechanism with priority order explanation

Add custom container positioning tip for append-to usage

* docs(components): [select] refine tag-tooltip priority description

Co-authored-by: keeplearning66 <1256734885@qq.com>

* docs(components): [select] refine effect prop type in tag-tooltip

Co-authored-by: keeplearning66 <1256734885@qq.com>

* chore: format

* docs: apply rabbit comment

* feat(components): [select-v2] add TagTooltipProps interface

Add TagTooltipProps interface with popper configuration options

* feat(components): [select-v2] implement tagTooltip prop

* test(components): [select-v2] add tag-tooltip prop test case

Add test case to verify tagTooltip prop functionality with appendTo option

* docs(components): [select-v2] add tag-tooltip API documentation

Add tag-tooltip configuration object to Select V2 API table

Add comprehensive tag-tooltip properties section with fallback mechanism explanation and custom
container positioning tip

* docs(components): [select-v2] add version tag to tag-tooltip prop

* fix(components): [select-v2] Optional chain tagTooltip access

* fix(components): [select] optional chain tagTooltip access

* feat(components): [select-v2] Fix tooltip teleport timing

* docs(components): [select-v] add version tag for tag-tooltip

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>

* docs(components): [select] add version tag for tag-tooltip

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
Co-authored-by: keeplearning66 <1256734885@qq.com>
Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>
2026-02-14 00:00:16 +01:00
snowbitx
5a997a62c5 fix(components): [time-select] prevent freeze when step is invalid (#23635)
* fix(components): [time-select] prevent freeze when step is 00:00

* test: add test case

* fix: handle invalid step value formats "00:" and ":00"

* refactor: invalidStep use default value

* refactor: step use computed

* chore: typo

* refactor: step use computed
2026-02-13 23:58:39 +01:00
snowbitx
2d316c0e85 test(components): [image] add a test case for lazy image (#23655)
* test(components): [image] add a test case for lazy image

* fix: add clear logic

* chore: format

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-02-13 06:43:29 +00:00
E66
d473123ba3 fix(components): [mention] avoid selecting disabled items by pressing Enter (#23645)
* Update mention-dropdown.vue

* fix(components): [mention] disabled item selected on enter

* Update mention-dropdown.vue

* test(components): [mention] add test cases for disabled options

* Update packages/components/mention/src/mention-dropdown.vue

Co-authored-by: rzzf <cszhjh@gmail.com>

* Apply suggestion from @rzzf

Co-authored-by: rzzf <cszhjh@gmail.com>

* Apply suggestion from @rzzf

Co-authored-by: rzzf <cszhjh@gmail.com>

* Apply suggestion from @rzzf

Co-authored-by: rzzf <cszhjh@gmail.com>

* Apply suggestion from @rzzf

Co-authored-by: rzzf <cszhjh@gmail.com>

* Apply suggestion from @rzzf

Co-authored-by: rzzf <cszhjh@gmail.com>

* Update mention.test.tsx

* Update packages/components/mention/__tests__/mention.test.tsx

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-02-12 18:15:57 +08:00
rzzf
c4b70ffa6b docs(components): [input-tag] correct svg size (#23647) 2026-02-11 11:55:17 +01:00