3030 Commits

Author SHA1 Message Date
Zachary Bear
0cb3a2768c feat(components): [color-picker-panel] add hue-slider-class and hue-slider-style props (#23499)
* fix(style): [color-picker-panel] removed unnecessary background

* feat(components): [color-picker-panel] added props for hue-slider

- Added prop `hue-slider-class` to  define
custom class names for hue-slider
- Added prop `hue-slider-style` to define hue-slider's style

* test(components): [color-picker-panel] tests for new props

testing `hueSliderStyle` and `hueSliderClass`

* perf(types): [color-picker-panel] updated ColorPickerPanelProps

* perf(docs): [color-picker-panel] add descriptions about new props

* Revert "fix(style): [color-picker-panel] removed unnecessary background"

This reverts commit 5e34317c30.

* feat(types): [color-picker-panel] new props

Added `hueSliderClass` and `hueSliderStyle` to
deprecated colorPickerPanelProps.

* fix(components): [color-picker-panel] correct document nits

* test(components): optimized test case

* chore: remove conflict pending state & fix grammar

* chore: bump version

* docs(components): [color-picker-panel] modified version tag

* perf(components): [color-picker-panel] updated types

---------

Co-authored-by: Dsaquel <291874700n@gmail.com>
2026-03-12 21:26:11 +08:00
Mrbigshot
dfe0f58351 fix(components): [tree-v2] update expanded state when defaultExpandedKeys change (#23557)
* fix(components): [tree-v2] sync expanded state with defaultExpandedKeys

- guard setExpandedKeys against stale keys
- remove isExpanded, use node.expanded in template
- move defaultExpandedKeys apply logic to data watch
- remove redundant comments in tests

fix #23546

Made-with: Cursor

* fix: update

* fix: move the position of the watch

* fix: revert

---------

Co-authored-by: cye2 <cye2@leqee.com>
Co-authored-by: keeplearning66 <1256734885@qq.com>
2026-03-12 21:24:24 +08:00
rzzf
341a08c353 fix(components): [table] expanded rows cannot be updated using array methods (#23761)
* fix(components): [table] expanded rows cannot be updated using array methods

* test: add case

* test: apply coderabbit suggest
2026-03-12 09:03:27 +08:00
rzzf
b128fbc79e improvement(components): [tabs] navigation wheel scrolling experience (#23775)
* improvement(components): [tabs] navigation wheel scrolling experience

* fix: update
2026-03-11 17:17:12 +08:00
知晓同丶
3387031d21 feat(components): [input] add password-icon slot (#23772)
* feat(components): [input] add `password-icon` slot

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

* docs: simply example

* docs: improve example

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-03-11 04:12:13 +00:00
rzzf
1a484aac7b fix(components): [tab] incorrect boundary detection when container size is a float number (#23774)
fix(components): [tab] incorrect boundary detection when container size is a decimal
2026-03-11 10:50:40 +08:00
rzzf
d5c8de0b5f fix(components): [mention] remove the whole input containing a split (#23753) 2026-03-11 10:30:30 +08:00
snowbitx
0b9556240b fix(components): [tooltip] sync visible after disabled toggle (#23738) 2026-03-09 14:36:25 +01:00
知晓同丶
ef4832863e feat(components): [slider] allow step to be set to "mark" (#23685)
* feat(components): [slider] add prop `restrictToMarks`

* rerun test

* fix: fix issues

* fix: fix issues

* fix: fix issues

* refactor: replace `restrictToMarks` with step 'mark'

* fix: types issue

* fix: fix issue

* refactor: optimize code & add range test

* Update slider.md for version 2.13.4

* refactor: simpify code & add warn

* chore: enhance step prop description

* fix: fix docs & add warn

* refactor: optimize markList computation and validation logic

* chore: sync description

* chore: bump `2.13.6`

---------

Co-authored-by: zhixiaotong <947803089@qq.com>
Co-authored-by: rzzf <cszhjh@gmail.com>
2026-03-09 10:49:59 +08: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
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
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
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
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
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
@长久同学
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
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
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
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
efc729e3e0 fix(components): [textarea] unexpected page scrolling when typing in Firefox (#23606)
* fix(components): [textarea] unexpected page scrolling when typing in Firefox

* docs: add issue number
2026-02-10 23:50:00 +01:00
E66
a005d766e6 fix(components): [watermark] correct fontWeight type definition (#23641) 2026-02-10 09:09:20 +08:00
btea
9ffd7ce279 feat(components): [config-provider] add table config (#23610)
* feat(components): [config-provider] add table config

* fix: update

* Update packages/components/table/src/table-column/watcher-helper.ts

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

* fix: update

* docs: update

* docs: update

---------

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>
2026-02-10 09:07:40 +08:00
E66
1a5c4467ad chore: [calendar] fix typo (#23639)
chore(components)[calendar]: fix typo
2026-02-09 15:00:20 +08:00
snowbitx
a908e29038 fix(components): [time-select] duplicate end time with format (#23626)
* fix(components): [time-select] duplicate end time with format

* test: add test case
2026-02-09 13:30:44 +08:00
snowbitx
d359c5f4a3 feat(components): [time-select] add name prop (#23633)
* fix(components): [time-select] duplicate end time with format

* docs: add name version

* test: add test case
2026-02-09 09:23:21 +08:00
snowbitx
0c8b492dab fix(components): [upload] keep delete icon visible on focus-within (#23561)
* fix(components): [upload] keep delete icon visible on focus-within

* chore: add aria-label

* Update packages/components/upload/src/upload-list.vue

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

* fix: tip style

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-02-06 17:22:53 +08:00
btea
8f7ecf6b9f fix(types): [message-box] MessageBoxData cross type (#23614)
* fix(types): [message-box] MessageBoxData cross type

* fix: add test case
2026-02-06 16:13:31 +08:00
snowbitx
8ad85b3e66 fix(components): [rate] avoid capturing focus when disabled (#23589)
* fix(components): [select] avoid capturing focus when disabled

* chore: revert handlekey
2026-02-05 10:33:50 +08:00
E66
bdf2fe7d51 fix(components): [carousel] fix vertical indicator layout with label and outside (#23368)
* fix(style): [carousel] fix vertical indicator layout with label prop

* fix(style): [carousel] fix outside indicator in vertical mode

* refactor(style): [carousel] optimize style control

* Update carousel.vue

* Update carousel.scss

* Update packages/theme-chalk/src/carousel.scss

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

* Update carousel.scss

* Update carousel.scss

* Update carousel.scss

* Update packages/theme-chalk/src/carousel.scss

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
Co-authored-by: keeplearning66 <1256734885@qq.com>
2026-02-03 22:03:49 +08:00
Kylin
f154ce27c6 feat(components): [button] add dashed prop (#22738)
* feat(components): [input] add the dashed attribute

* docs: update tag

* refactor: update the documentation of config-provider

* refactor: update config-provider test

* refactor: update button test

* refactor: update test

* test: update

* refactor: update css

* refactor: reset

* refactor: update css

* refactor: delete blank lines

* docs: update version

* docs: update button type

* docs: update button type

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-02-03 10:39:54 +08:00
snowbitx
4a4fc2559c chore(components): [drawer] mark deprecate exposed afterEnter/afterLeave (#23554)
* docs(components): [drawer] document afterEnter and afterLeave in expose

* chore(components): [drawer] remove afterEnter and afterLeave from expose

* chore: deprecated after 2.14.0

* test: remove rAF mock

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-02-02 14:52:24 +08:00