224 Commits

Author SHA1 Message Date
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
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
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
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
keeplearning66
c7e64279b6 fix(components): [select/select-v2] avoid triggering multiple visible-change during the first search (#23507)
fix: avoid triggering multiple visible-change during the first search
2026-01-30 16:48:41 +08:00
rzzf
287af74f6e fix(components): [select/select-v2] dropdown requires two clicks to open (#23344)
fix(components): [select/select-v2] requires two clicks to open the dropdown when automaticDropdown is enabled
2026-01-10 10:21:50 +08:00
YXY-cell
4b04769769 fix(components): [select/select-v2] show empty slot when remote search empty (#23195)
* fix(components): [Select] show empty slot when remote search empty

Fixes #23191

* fix(components): [Select] show empty slot when remote empty,add test

* test(components): fix false test in select

* test(components): fix false test in select

* test(components): select-v2 repaired like select
2026-01-02 22:44:51 +01:00
Rainbow
53c7b64a93 fix(components): [select/select-v2] apply popper-options to tag tooltip (#22255)
* fix(components): [select] popper-options control activation of popper

* fix: synchronize modifications to select-v2

* fix: update

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2026-01-02 21:04:30 +08:00
rzzf
08808f2ed6 Revert "fix(components): [select/select-v2] prevent dropdown closing on mixed input (#22869)" (#23224)
This reverts commit 3ba25b9759.
2025-12-27 20:36:48 +01:00
dopamine
0ca1570aa1 chore: upgrade to Vue 3.5 (#22096)
* chore: upgrade deps

* chore: replace __ExtractPublicPropTypes with ExtractPublicPropTypes

* fix: get rid of type errors

* fix: resolve test errors with @vue/test-utils v2.4.6

* fix: resolve test errors with Vue 3.5.22

* ci: set pnpm flag

* chore: update the Vue peer dependency version

* Apply suggestion from @tolking

Co-authored-by: qiang <qw13131wang@gmail.com>

* docs: update example code

Co-authored-by: warmthsea <2586244885@qq.com>

* chore: remove csstype (#22487)

* chore: fix merge code type error

* chore: fix test:ssr error

- Cannot read properties of undefined (reading 'getSSRProps')

* chore: fix typecheck:vitest error

* chore: update pnpm yaml file

* test: fix collapse accordion error

* chore: update deps

* chore: fix type error

* chore: lock file

* chore: sync change

sync with the remove of vue macro

* refactor: use computed instead of eagerComputed

* fix: timeline.test.tsx typecheck

* chore: clean lock file

try dont throw CodeFactor issues in ci

did:
- rm pnpm-lock.yaml
- rm -rf ./**/node_modules
- pnpm store prune
- pnpm cache delete
- pnpm install

Also stay in 3.1.0 for vue-tsc in order to avoid the warnings of
template refs, see https://github.com/vuejs/language-tools/issues/5815

* chore: format code

---------

Co-authored-by: Dsaquel <291874700n@gmail.com>
Co-authored-by: qiang <qw13131wang@gmail.com>
Co-authored-by: warmthsea <2586244885@qq.com>
Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>
Co-authored-by: sea <45450994+warmthsea@users.noreply.github.com>
Co-authored-by: btea <2356281422@qq.com>
2025-12-16 09:34:03 +08:00
Jeff
663607ad8b test(components): add case about the disabled value of component has the highest priority (#23042)
* test: button add form disabled case

* test: cascader add test case

* test: checkbox add test case

* test: colorPicker add test case

* test: inputNumber add test case

* test: input add test case

* test: radio add test case

* feat: rate add test case

* test: segemented add test case

* test: select add test case

* test: selectV2 add test case

* test: slider add test case

* test: switch add test case

* test: timeselect add test case

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

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

* test: modify desc

* test(components):  clean annotation

* Update packages/components/time-select/__tests__/time-select.test.tsx

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

* Update packages/components/time-select/__tests__/time-select.test.tsx

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

---------

Co-authored-by: btea <2356281422@qq.com>
Co-authored-by: rzzf <cszhjh@gmail.com>
2025-12-11 13:11:08 +08:00
Spaceman
3ba25b9759 fix(components): [select/select-v2] prevent dropdown closing on mixed input (#22869)
* fix(components): [select] prevent dropdown closing on mixed input

fix #22853

* fix(components): [select] prevent dropdown closing on mixed input
2025-12-09 09:35:47 +08:00
qiang
f23c2d3ee1 fix(components): [select] ensure dropdown remains open when filterable (#22975) 2025-12-01 21:21:26 +08:00
btea
2d64179491 refactor!: the disabled value of component has the highest priority (#18739)
* refactor!: the disabled value of component has the highest priority

* fix: update

* fix: compatible with switch loading

* feat: apply to cascader, select, select-v2

* fix: update

* fix: update selectv2

* fix: update autocomplete

* fix: date-picker-panel

* fix: update rate/slider/upload

* fix: slider error

* fix: update checkbox

* fix: checkbox error
2025-12-01 21:20:57 +08:00
qiang
183360f316 perf(components): [select-v2] avoid duplicate render after props change (#22935)
closed #17175, close #19725
2025-11-26 18:44:08 +08:00
Dun Lu
9cd07b798e feat(components): [select-v2] add remote-show-suffix prop (#22885)
* fix(components): [selectV2] fix computed logic&add remoteShowSuffix prop

* fix(components): add test case and add prop in docs

* docs(components): [select-v2](remote) add example and version info

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2025-11-25 10:16:49 +08:00
Rainbow
0b1a57f23d fix(components): [select/select-v2] correct the trigger timing of visible-change (#22897)
fix(components): correct the trigger timing of visible-change
2025-11-22 23:14:53 +08:00
Rainbow
074e82700e fix(components): [select-v2] ResizeObserver loop completed with undelivered notifications (#22895)
fix: ResizeObserver loop completed with undelivered notifications
2025-11-22 15:54:29 +08:00
Rainbow
439c0b5b88 improvement(components): [select/select-v2] hoveringIndex stays on the most recently selected option with multiple (#22782)
* improvement: hoveringIndex stays on the last selected option

* improvement: update

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2025-11-20 15:09:16 +08:00
Rainbow
0c378d43f3 refactor(components): [select-v2] reduce repeated property access (#22801) 2025-11-14 15:24:12 +08:00
Rainbow
5cae7273af fix(components): [select-v2] avoid wrong style when disabled (#22780) 2025-11-13 11:10:19 +08:00
Rainbow
c03171e52d fix(components): [select-v2] avoid invalid positioning when using filterable and default-first-option (#22725)
* fix: avoid invalid positioning

* fix: update

* fix: update

* test: add test case

* test: update
2025-11-11 23:07:23 +01:00
Rainbow
b917fafccc feat(components): [select/select-v2] support debounce prop (#22471)
* feat(components): [select/select-v2] support debounce prop

* feat: update

* feat: update

* feat: update

* docs: update version number

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update
2025-10-20 10:46:24 +08:00
Rainbow
72f9ba2ba5 fix(components): [select-v2] avoid displaying 'false' incorrectly during remote search (#22495)
fix(components): [select-v2] avoid displaying 'false' incorrectly
2025-10-18 11:23:52 +02:00
Zhong
3508d4f676 fix(components): [select-v2] use correct labelKey in selectedLabel (#22516)
* fix(components): [select-v2] use correct labelKey in selectedLabel

* test: add case

* test: update
2025-10-18 16:24:17 +08:00
一只前端汪
7c16480bcd refactor(style): Update Eslint to V9 and Prettier to V3 (#21949)
* refactor(style): Update Eslint to V9 and Prettier to V3

* fix: vscode color

* fix: vscode color

* chore: remove Useless dependence and old config file

* chore: format

* Merge branch 'dev' into eslintV9

* fix: fix

* fix: ssr test

* fix: ssr test

* fix: use defineConfig

* fix: prettier format and ignore docs dist

* fix: index.mjs => index.js

* fix: Vscode color

* fix: prettier ignore global.d.ts

* fix: format

---------

Co-authored-by: 2586740555 <15972343+CYJ090915@user.noreply.gitee.com>
2025-09-29 14:14:30 +08:00
qiang
2f8436571a feat(components): [select-v2] accessibility enhancement (#22153)
* feat(components): [select-v2] accessibility enhancement

* chore: test
2025-09-25 10:15:13 +08:00
Zhong
a4cdb69638 fix(components): replace KeyboardEvent.code with getEventCode (#22268)
fix(components): replace `event.code` with `getEventCode`
2025-09-21 20:57:25 +08:00
qiang
9043e16d94 fix: the KeyboardEvent.code is always empty string on Android (#22228)
closed #20330
2025-09-21 01:23:38 +02:00
sea
cd2285f5bb chore: add consistent-type-imports eslint rules to .ts file (#22195)
* chore: add import type rules to .ts

* chore: update

* chore: update
2025-09-17 10:11:26 +08:00
DDDDD12138
8a91f204fd feat(components): [select/v2] avoid unnecessary model updates when value unchanged (#20123)
* feat: avoid unnecessary model updates when value unchanged

* chore: update cSpell words

* fix: correct test case

* feat: support select-v2

* Update .vscode/settings.json

Co-authored-by: sea <45450994+warmthsea@users.noreply.github.com>

---------

Co-authored-by: sea <45450994+warmthsea@users.noreply.github.com>
2025-09-14 10:37:45 +08:00
一只前端汪
3d7fcdadab fix(components): [select/v2] width of drop-down panel exceeds the input (#21910)
* fix(components): [select/V2] width of dropdown panel exceeds the input

* fix(components): [select/V2] width of drop-down panel exceeds the input

* fix: select constants

* fix: select

---------

Co-authored-by: 2586740555 <15972343+CYJ090915@user.noreply.gitee.com>
2025-08-29 15:10:36 +08:00
Noblet Ouways
853df25476 feat(components): [select/v2] add index to label slot (#21884)
* feat(components): [select/v2] add index to label slot

* chore: simplify

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

* chore: fix edge cases

---------

Co-authored-by: btea <2356281422@qq.com>
2025-08-25 18:49:02 +02:00
micaiguai
2ccb268e82 fix(components): [select & select-v2] avoid line break when input is empty (#21844)
* fix(components): select

Give some space to the input field

* fix(components): [select]

fix(components): [select] Add the judgement of filterable

* fix(components): [select-v2] Give some space to the input field

Give some space to the input field

* fix(components): [select-v2 & select & input] Create constants/form.ts

Create a form.ts file to store the MINIMUM_INPUT_WIDTH constant
2025-08-22 16:10:21 +08:00
Noblet Ouways
7644c1fe4a feat(components): [cascader/select/date-picker] add popper-style (#21807)
* feat(components): add popper style

* test: enforce ci passing

* chore: handle select-v2 & apply review

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

* chore: bump for select component

---------

Co-authored-by: btea <2356281422@qq.com>
2025-08-21 10:46:06 +02:00
Noblet Ouways
c83b99d2f2 feat(components): unify clear btn display on focus (#21732)
* feat(components): unify clear btn display on focus

* test: add tests

* chore: apply review
2025-08-18 10:54:32 +02:00
qiang
826373a133 fix(components): [select] click outside should lose focus (#21702)
* fix(components): [select] click outside should lose focus

* chore: add test
2025-08-11 14:44:03 +08:00
btea
64e9316547 fix(components): [select-v2] stop the click event propagation of header/footer slot (#21617)
fix(components): [select-v2] stop the click event propagation of header/footer slot
2025-08-04 13:20:39 +02:00
Rainbow
b1cd22fb14 fix(components): [select-v2] avoid abnormal display of new options (#21538)
* fix(components): [select-v2] avoid abnormal display of new options

* fix: update

* fix: update

* fix: update

---------

Co-authored-by: Zhong <58726932+cszhjh@users.noreply.github.com>
2025-07-31 16:27:26 +08:00
Noblet Ouways
822a5796b9 fix(components): [select-v2] set model-value default to undefined (#21540)
* fix(components): [select-v2] set `model-value` default to `undefined`

* test: test
2025-07-31 11:31:43 +08:00
Zhong
62edc0c906 fix(components): [select-v2] resolve invalid filter and remote methods (#21419)
* fix(components): [select-v2] resolve invalid filter and remote methods

* refactor(components): [select-v2] delete redundant comparisons

---------

Co-authored-by: cszhjh <cszhjh@192.168.0.104>
2025-07-21 08:59:07 +08:00
Noblet Ouways
ed29cf0dfb docs: fix examples & type consistency (#21333)
* docs(components): [select] fix consistency

* chore: remove all `:height="208"`
2025-07-14 09:42:58 +08:00
Spaceman
94a5d9bb1c fix(components): [select-v2] scrollbar resets to top after select item (#21257)
* fix(components): [select-v2] scrollbar resets to top after select item

issue #21225

* fix(components): [select-v2] scrollbar resets to top after select item

使用函数包裹能解决isFunction(props.remoteMethod)触发watchEffect的问题

* fix(components): [select-v2] scrollbar resets to top after select item
2025-07-10 17:05:06 +08:00
yuhengshen
cfc661c626 feat(types): [components] add public prop types (#21222)
* feat(types): [utils] add ExtractPublicPropTypes type

* feat(types): [components] add props public type

* chore(types): use type-only import for Prop from 'vue'

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

---------

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>
2025-07-07 00:51:32 +08:00
btea
1e28b08bcb fix(components): [select/select-v2] apply popper-class to tag tooltip (#21212) 2025-07-02 17:15:42 +08:00
qiang
b881ef25cb refactor(hooks): [useFocusController] add disabled attribute (#21032)
refactor(hooks): [useFocusController] add disabled prop

Co-authored-by: warmthsea <2586244885@qq.com>
2025-07-01 08:41:35 +00:00
Noblet Ouways
4f8cca0f6c feat(components): [select/select-v2/cascader] expose more tag options (#21157)
* feat(components): [select/select-v2] bind `data` for tag slot

* chore: remove console.log

* feat: expose `deleteTag` aswell

---------

Co-authored-by: warmthsea <2586244885@qq.com>
2025-06-29 13:17:20 +00:00
baozj
524f901045 feat(components): [select] expose selectDisabled prop to #tag slot (#21093)
* feat(components): [select] expose selectDisabled prop to #tag slot

* feat(components): [select] expose selectDisabled and update docs

* feat(components): [select-v2] expose selectDisabled to #tag slot

Add example demonstrating how to use selectDisabled in custom tag rendering.

* docs(components): [select, select-v2] add selectDisabled to #tag slot

* docs(components): [select, select-v2] remove tag-disabled.vue examples

---------

Co-authored-by: baozhangjie <jay.bao@photonpay.com>
2025-06-29 20:59:04 +08:00
Noblet Ouways
2f17df1209 style(eslint-config): newline before import type (#21036)
* perf: change to import-x

* feat: add rules

* chore: fix rule

* chore: fix

* chore: fix

* chore: fix

* style: `pnpm lint:fix`

* Revert "style: `pnpm lint:fix`"

This reverts commit db0116a288.

* Revert "chore: fix"

This reverts commit 69c82a90c0.

* chore: fix

* style: `pnpm lint:fix`

* fix: lint

* chore: `pnpm format`
2025-06-16 15:37:12 +08:00
sea
47bf23be53 refactor: [select, select-v2]: unified name & supplement type (#20050)
* chore: update

* chore: update
2025-06-04 17:46:56 +08:00