236 Commits

Author SHA1 Message Date
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
Noblet Ouways
a5d2064936 chore: refine process.env judgment (#23019)
* Revert "chore: only show warnings in dev mode (#22675)"

This reverts commit 1f7cdc3915.

* chore: single condition

* Revert "chore(build): replace process (#21584)"

This reverts commit 86f49acafd.
2025-12-09 13:07:23 +08:00
sea
1f7cdc3915 chore: only show warnings in dev mode (#22675)
* chore: only show warnings in dev mode

* chore: test

* chore: test2

* chore: test3

* chore: test3

* chore: update 4

* chore: update

* chore: update

* chore: update

* chore: update

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

* chore: add security checks to all process

---------

Co-authored-by: btea <2356281422@qq.com>
2025-11-10 09:25:01 +08:00
Meet you
b82d8575e7 fix(hooks): [use-lockscreen] fix lock-scroll not working (#19711)
* fix(hooks): [use-lockscreen] fix lock-scroll not working

closed #19708

* fix(hooks): update

* chore: add test

---------

Co-authored-by: qiang <qw13131wang@gmail.com>
2025-10-30 17:47:37 +08:00
Xc
b1f3b6602c docs(components): [tooltip, popover] controlled mode warnings (#12088)
* docs(components): [tooltip, popover]
* Add controlled mode api description

* docs: add code lost

* chore: add missing comments

---------

Co-authored-by: Dsaquel <291874700n@gmail.com>
2025-09-29 14:18:39 +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
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
micaiguai
eef0aed8bc fix(components): [date-picker-panel] sync clear value with valueOnClear (#22059)
* fix(components): [date-picker-panel] The value after cleared

* chore: refactor logic to isEmptyValue method
2025-09-16 14:19:40 +02:00
sea
ffd886da55 fix(components): [dropdown]: hover trigger click item close stuck (#22078)
* fix(components): [drppdown]: hover trigger close stuck

* chore: update

* refactor: update

* chore: update
2025-09-16 14:46:09 +08:00
qiang
6847d4fbb0 chore(hooks): [useLocale] autocomplete locale field keys (#21876) 2025-08-24 00:03:46 +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
知晓同丶
9ac2da6c07 feat(components): add isDragging to useDraggable for dialog/message-box (#21703)
* feat(components): add isDragging to useDraggable for dialog/message-box

* refactor: perf code
2025-08-16 11:09:07 +02:00
Jeremy
a9f7bcb54f feat(project): organize dependencies properly (#21683) 2025-08-09 09:33:16 +08:00
Noblet Ouways
bce22dd10d fix(components): allow null type on empty-values components (#21582)
* fix(components): allow null type on empty-values components

* refactor(hooks): [empty-values]: allow plain null for `value-on-clear`
2025-08-01 12:27:19 +02:00
thinkasany
8a17fe8178 refactor: improve nodes type for getOrderedChildren hook (#21450)
perf: improve nodes type for splitter hook
2025-07-21 21:02:53 +02: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
w2xi
a37b793fae fix(components): [tabs] update tabs order correctly when reordering (#21064)
* fix(components): [tabs] update tabs order correctly when reordering

* fix

* perf: reorder only if child components have been moved

* chore: tweak the test

---------

Co-authored-by: dopamine <coderzyou@gmail.com>
2025-07-04 19:00:39 +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
dopamine
d05f87b6fd refactor(hooks): [useOrderedChildren] sort child components on patch (#21124) 2025-06-26 17:17:02 +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
qiang
9539c19b40 style(eslint-config): add rules to restrict the imports of element-plus (#20959)
* style(eslint-config): add rules to restrict the imports of element-plus

* chore: added validation for tsx files

* chore: revert the shell
2025-06-13 17:07:39 +08:00
qiang
14806fe8f8 fix(hooks): [use-focus-controller] repeatedly trigger focus when clicked (#17148)
* fix(components): [input] the focus event is triggered twice

closed #16959, #16961

* fix(hooks): [use-focus-controller] repeatedly trigger focus when clicked

* chore: remove @click.stop
2025-06-12 21:55:22 +08:00
sea
2c29081621 fix(hooks): [use-focus-controller] form-disabled-status not trigger blur (#20891)
* fix(components): [input] form-disabled-status blur not validate

* fix: update hooks

Co-authored-by: xingyixiang <452282988@qq.com>

* test: add form disabled case

* fix: test import

* Update packages/hooks/use-focus-controller/index.ts

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

* refactor: import path

---------

Co-authored-by: xingyixiang <452282988@qq.com>
Co-authored-by: btea <2356281422@qq.com>
2025-06-04 10:44:53 +08:00
Nick Wu
a48b496ba5 fix(components): [dialog] drag into view when content is too high (#20595) 2025-06-03 22:59:49 +08:00
btea
d9ed47ec64 fix(components): useProp import circular dep (#20574) 2025-04-27 21:51:02 +08:00
kooriookami
9465d87212 fix(components): [dialog] fix draggable when window resize (#20505)
fix(components): [dialog] Fix draggable when window resize

closed #20500
2025-04-22 20:39:14 +08:00
DDDDD12138
16d7e64b24 fix(component): resolve 'cursor' style loss caused by 'pointer-events: none' (#19464)
* feat: remove tabindex when disabled

* fix: resolve 'cursor' style loss caused by 'pointer-events: none'

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

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

* chore: update use-focus-controller watch

* chore: remove unnecessary styles

* feat: [select] restore and remove cursor: not-allowed

* feat: override input:disabled use agent stylesheet

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

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

---------

Co-authored-by: qiang <qw13131wang@gmail.com>
Co-authored-by: btea <2356281422@qq.com>
2025-04-17 07:48:53 +08:00
sea
31f08e0954 test: use test fn replace sleep (#19977)
* test: use test fn replace sleep

* test: update
2025-02-26 16:21:04 +08:00
Liao-js
a116f0ef71 fix(hooks): [use-lockscreen] remove hiddenCls (#19429)
* fix(hooks): [use-lockscreen] remove hiddenCls

* fix(hooks): [useLockscreen] unit test

* test(hooks): [useLockscreen] should not cleanup when not all unmounted

* test(hooks): [useLockscreen] update test

* test(hooks): [useLockscreen] update test
2025-01-05 23:07:27 +08:00
dopamine
f4d3547fa5 chore: stop re-exporting isVNode (#19108) 2024-12-05 10:30:00 +08:00
qiang
d416dd74b0 feat(components): [input-tag] new component (#18885)
* feat(components): [input-tag] add input-tag component

* feat: styles

* test: add test

* docs: add docs

* docs: updata

* docs: uopdata

* docs: updata

* fix: optimize the style when input too long text

* feat: add draggable attribute

* fix: regain focus after dragged

* fix: regain focus on dragend

* refactor: useDragTag

* fix: style of disabled

* refactor: rename event name

* refactor: move useCalcInputWidth to hooks

* feat: add aria-label
2024-11-29 10:50:21 +08:00
qiang
343cacf5cc fix(components): numpadEnter does not work like the Enter (#18855) 2024-11-14 21:14:51 +08:00
chenweiyi
3eb734ccc4 feat(components): [skeleton] throttle supports values ​​as object (#17041)
* fix(components): [skeleton] `throttle` property not working

* fix: lint fix

* feat: add func & doc & test

* feat: remove test modify

* feat: increase document examples, improve document descriptions

* fix(components): [skeleton] `throttle` property not working

* fix: lint fix

* feat: add func & doc & test

* feat: remove test modify

* feat: increase document examples, improve document descriptions

* feat: 重构`useThrottleRender`钩子以提高代码可读性和效率

- 简化了对`throttle`参数的判断逻辑,通过`isNumber`函数判断是否为数字
- 将`leadingDispatch`和`trailingDispatch`函数合并为`dispatcher`函数,根据传入的类型判断执行逻辑
- 优化了`watch`回调函数,使用`dispatcher`函数替代重复的判断逻辑

* feat: 写法优化

* feat: 引入`isObject`函数替代原有的`typeof throttle === 'object'`判断方式

* feat: 优化骨架屏文档结构和示例

* feat: 完善文字描述和修改对应的文件名

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

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

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

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

* feat: Optimize code writing

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

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

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

* feat: modify doc

* feat: md

* feat: 补充 useThrottleRender 钩子的测试用例

* feat: 将 SkeletonThrottle 类型移动到hook中, 重命名为 ThrottleType 以提高通用性

---------

Co-authored-by: btea <2356281422@qq.com>
2024-11-07 21:31:16 +08:00
qiang
f2a65850b4 fix(hooks): [useId] SSR hydration error caused by id in vue@3.5+ (#18647) 2024-10-27 15:49:43 +08:00
qiang
f23ae6237a fix(hooks): rendering multiple popper container DOM in SSR/SSG (#18482) 2024-10-11 09:49:23 +08:00
btea
ef822ded7a fix(hooks): [lockscreen] compatible with document non-existence (#18445) 2024-10-04 21:59:47 +08:00
kimverchan
29a21e86ba fix(hooks): PopperContainer cannot be recreated when body is recreated (#18121)
In the micro-front-end scenario, the body is recreated; Because PopperContainer determines that the
cache exists and does not recreate it, teleport cannot find the element to mount.

closed #18115,#17710

Co-authored-by: chenjingwen <chenjingwen@sie.com>
2024-09-03 20:25:15 +08:00
btea
d7e5f193cd fix: the disabled state should not trigger focus (#18108) 2024-08-31 19:48:48 +08:00
dopamine
8618a6bcd0 refactor: import shared utilities from @element-plus/utils (#18048)
chore: import shared utilities from `@element-plus/utils`
2024-08-29 09:04:03 +08:00
btea
19eaae7171 fix: the disabled state should not trigger focus (#18012)
* fix: the disabled state should not trigger focus

* fix: update

* chore: update

* chore: update test

* Update packages/hooks/__tests__/use-focus-controller.test.tsx

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

---------

Co-authored-by: qiang <qw13131wang@gmail.com>
2024-08-26 20:46:15 +08:00
于智勇
6b7e204e5b fix(components): [dialog] rename resetPostion to resetPosition (#17900)
* fix(components): [dialog] rename resetPostion to resetPosition

* chore: fix lint

* chore: reset CHANGELOG.en-US.md

---------

Co-authored-by: tolking <qw13131wang@gmail.com>
2024-08-21 22:34:12 +08:00
qiang
949479699b refactor(hooks): determine the focus by event listening (#17719)
* refactor(hooks): determine the focus by event listening

* test: skip the focus test

* test: fix test

* feat(hooks): add beforeFocus

* fix: optimize blur

* chore(components): [mention] remove focus & blur
2024-08-07 18:35:30 +08:00
donga-gao
77920735cc feat(hooks): use-draggable support resetPostion (#17699)
* feat(hooks): use-draggable support resetPostion

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

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

* fix: lint

---------

Co-authored-by: gao.dong <gao.dong@bestv.com.cn>
Co-authored-by: btea <2356281422@qq.com>
Co-authored-by: qiang <qw13131wang@gmail.com>
2024-08-06 17:11:59 +08:00
thinkasany
785761ab89 chore(utils): improve setTimeout type (#17763)
* chore(utils): improve setTimeout type

* revert
2024-08-05 21:10:14 +08:00
赵添
0456c790db feat: add mention component (#17586)
* feat: add mention component

* fix: build error

* fix: build error

* feat: delete as a whole

* fix: update docs

* fix: update global.d.ts

* fix: update

* fix: update code

* fix: update code

* fix: update code

* fix: rename

* fix: update code

* fix: upload code

* fix: update code

* fix: fixed cursor position abnormality

* fix: update code

* fix: docs add avatar

* fix: tooltip position is wrong when placing on top

* feat: add overview icon

* fix: overview icon color
2024-08-02 11:00:26 +08:00
wzc520pyfm
a9b91d1f0f fix(components): [select-v2] corrent focus to input when select clicked (#17362)
* fix(components): [select-v2] fix remote init

remote-search scenarios shoule be not initialized

* Revert "fix(components): [select-v2] fix remote init"

This reverts commit d8326888e3df96dee482b9c8098738bc698215af.

* fix(components): [select-v2] no trigger init-states when filter/remote

* test(components): [select-v2] add test for no init when remote search

* fix(components): [select-v2] add back the necessary condition

* fix(components): [select-v2] correct input focus

input shoule be fouce when click el-select

* fix(components): [select-v2] focus first and then completed taggle-menu
2024-07-30 10:49:46 +08:00
dopamine
ae0439df9f fix(components): [tabs] optimize SSR (#15183) 2024-07-29 18:01:07 +08:00
qiang
233d38b631 refactor(hooks): rewrite composition as a composable function (#14240)
* refactor(hooks): rewrite composition as a composable function

* fix(components): [select] avoid navigateOptions when composing Chinese

* fix: error

* chore: change afterComposition
2024-07-28 21:11:20 +08:00
Polaris-tl
ce0220612e perf(hooks): replace the ref object with a plain object (#15061)
Co-authored-by: 唐铃 <ling.tang01@geely.com>
2024-07-28 18:22:44 +08:00