李琦
82b10bd122
Merge remote-tracking branch 'vben/main' into vben-dev
...
# Conflicts:
# .gitignore
# .husky/pre-commit
# .vscode/extensions.json
# .vscode/settings.json
# README.ja-JP.md
# README.md
# README.zh-CN.md
# apps/backend-mock/api/auth/codes.ts
# apps/backend-mock/api/auth/login.post.ts
# apps/backend-mock/api/auth/logout.post.ts
# apps/backend-mock/api/auth/refresh.post.ts
# apps/backend-mock/api/menu/all.ts
# apps/backend-mock/api/status.ts
# apps/backend-mock/api/table/list.ts
# apps/backend-mock/api/test.get.ts
# apps/backend-mock/api/test.post.ts
# apps/backend-mock/api/user/info.ts
# apps/backend-mock/middleware/1.api.ts
# apps/backend-mock/nitro.config.ts
# apps/backend-mock/package.json
# apps/backend-mock/routes/[...].ts
# apps/backend-mock/tsconfig.json
# apps/backend-mock/utils/cookie-utils.ts
# apps/backend-mock/utils/jwt-utils.ts
# apps/backend-mock/utils/mock-data.ts
# apps/backend-mock/utils/response.ts
# apps/web-antd/.env
# apps/web-antd/src/adapter/component/index.ts
# apps/web-antd/src/adapter/form.ts
# apps/web-antd/src/api/request.ts
# apps/web-antd/src/layouts/auth.vue
# apps/web-antd/src/layouts/basic.vue
# apps/web-antd/src/preferences.ts
# apps/web-antd/src/router/guard.ts
# apps/web-antd/src/router/routes/modules/demos.ts
# apps/web-antd/src/store/auth.ts
# apps/web-antd/src/views/demos/antd/index.vue
# apps/web-antdv-next/vite.config.ts
# apps/web-ele/.env
# apps/web-ele/index.html
# apps/web-ele/package.json
# apps/web-ele/src/adapter/component/index.ts
# apps/web-ele/src/adapter/form.ts
# apps/web-ele/src/adapter/vxe-table.ts
# apps/web-ele/src/api/request.ts
# apps/web-ele/src/bootstrap.ts
# apps/web-ele/src/layouts/auth.vue
# apps/web-ele/src/layouts/basic.vue
# apps/web-ele/src/locales/index.ts
# apps/web-ele/src/locales/langs/en-US/demos.json
# apps/web-ele/src/locales/langs/en-US/page.json
# apps/web-ele/src/locales/langs/zh-CN/demos.json
# apps/web-ele/src/locales/langs/zh-CN/page.json
# apps/web-ele/src/preferences.ts
# apps/web-ele/src/router/guard.ts
# apps/web-ele/src/router/routes/core.ts
# apps/web-ele/src/router/routes/modules/dashboard.ts
# apps/web-ele/src/router/routes/modules/demos.ts
# apps/web-ele/src/router/routes/modules/vben.ts
# apps/web-ele/src/store/auth.ts
# apps/web-ele/src/views/_core/authentication/code-login.vue
# apps/web-ele/src/views/_core/authentication/forget-password.vue
# apps/web-ele/src/views/_core/authentication/register.vue
# apps/web-ele/src/views/dashboard/analytics/analytics-trends.vue
# apps/web-ele/src/views/dashboard/analytics/analytics-visits-data.vue
# apps/web-ele/src/views/dashboard/analytics/analytics-visits-sales.vue
# apps/web-ele/src/views/dashboard/analytics/analytics-visits-source.vue
# apps/web-ele/src/views/dashboard/analytics/analytics-visits.vue
# apps/web-ele/src/views/dashboard/analytics/index.vue
# apps/web-ele/src/views/demos/element/index.vue
# apps/web-ele/src/views/demos/form/basic.vue
# apps/web-ele/tsconfig.json
# apps/web-ele/tsconfig.node.json
# apps/web-naive/.env
# apps/web-naive/index.html
# apps/web-naive/package.json
# apps/web-naive/src/adapter/component/index.ts
# apps/web-naive/src/adapter/form.ts
# apps/web-naive/src/adapter/vxe-table.ts
# apps/web-naive/src/api/request.ts
# apps/web-naive/src/bootstrap.ts
# apps/web-naive/src/layouts/auth.vue
# apps/web-naive/src/layouts/basic.vue
# apps/web-naive/src/locales/index.ts
# apps/web-naive/src/locales/langs/en-US/demos.json
# apps/web-naive/src/locales/langs/en-US/page.json
# apps/web-naive/src/locales/langs/zh-CN/demos.json
# apps/web-naive/src/locales/langs/zh-CN/page.json
# apps/web-naive/src/preferences.ts
# apps/web-naive/src/router/guard.ts
# apps/web-naive/src/router/routes/core.ts
# apps/web-naive/src/router/routes/modules/dashboard.ts
# apps/web-naive/src/router/routes/modules/demos.ts
# apps/web-naive/src/router/routes/modules/vben.ts
# apps/web-naive/src/store/auth.ts
# apps/web-naive/src/views/_core/authentication/code-login.vue
# apps/web-naive/src/views/_core/authentication/forget-password.vue
# apps/web-naive/src/views/_core/authentication/register.vue
# apps/web-naive/src/views/dashboard/analytics/analytics-trends.vue
# apps/web-naive/src/views/dashboard/analytics/analytics-visits-data.vue
# apps/web-naive/src/views/dashboard/analytics/analytics-visits-sales.vue
# apps/web-naive/src/views/dashboard/analytics/analytics-visits-source.vue
# apps/web-naive/src/views/dashboard/analytics/analytics-visits.vue
# apps/web-naive/src/views/dashboard/analytics/index.vue
# apps/web-naive/src/views/demos/form/basic.vue
# apps/web-naive/src/views/demos/naive/index.vue
# apps/web-naive/tsconfig.json
# apps/web-naive/tsconfig.node.json
# apps/web-naive/vite.config.ts
# docs/.vitepress/components/demo-preview.vue
# docs/.vitepress/components/preview-group.vue
# docs/.vitepress/config/en.mts
# docs/.vitepress/config/index.mts
# docs/.vitepress/config/plugins/demo-preview.ts
# docs/.vitepress/config/shared.mts
# docs/.vitepress/config/zh.mts
# docs/.vitepress/theme/components/site-layout.vue
# docs/.vitepress/theme/components/vben-contributors.vue
# docs/.vitepress/theme/styles/variables.css
# docs/package.json
# docs/src/_env/adapter/component.ts
# docs/src/_env/adapter/form.ts
# docs/src/_env/adapter/vxe-table.ts
# docs/src/commercial/community.md
# docs/src/components/common-ui/vben-count-to-animator.md
# docs/src/components/common-ui/vben-drawer.md
# docs/src/components/common-ui/vben-form.md
# docs/src/components/common-ui/vben-modal.md
# docs/src/components/common-ui/vben-vxe-table.md
# docs/src/components/layout-ui/page.md
# docs/src/demos/vben-drawer/auto-height/drawer.vue
# docs/src/demos/vben-drawer/basic/index.vue
# docs/src/demos/vben-drawer/dynamic/index.vue
# docs/src/demos/vben-drawer/shared-data/drawer.vue
# docs/src/demos/vben-drawer/shared-data/index.vue
# docs/src/demos/vben-form/api/index.vue
# docs/src/demos/vben-form/basic/index.vue
# docs/src/demos/vben-form/custom/index.vue
# docs/src/demos/vben-form/dynamic/index.vue
# docs/src/demos/vben-form/query/index.vue
# docs/src/demos/vben-form/rules/index.vue
# docs/src/demos/vben-modal/auto-height/modal.vue
# docs/src/demos/vben-modal/basic/index.vue
# docs/src/demos/vben-modal/dynamic/index.vue
# docs/src/demos/vben-modal/shared-data/index.vue
# docs/src/demos/vben-modal/shared-data/modal.vue
# docs/src/demos/vben-vxe-table/basic/index.vue
# docs/src/demos/vben-vxe-table/custom-cell/index.vue
# docs/src/demos/vben-vxe-table/edit-row/index.vue
# docs/src/demos/vben-vxe-table/fixed/index.vue
# docs/src/demos/vben-vxe-table/form/index.vue
# docs/src/demos/vben-vxe-table/remote/index.vue
# docs/src/demos/vben-vxe-table/tree/index.vue
# docs/src/demos/vben-vxe-table/virtual/index.vue
# docs/src/en/guide/essentials/development.md
# docs/src/en/guide/essentials/external-module.md
# docs/src/en/guide/essentials/route.md
# docs/src/en/guide/essentials/server.md
# docs/src/en/guide/essentials/settings.md
# docs/src/en/guide/in-depth/access.md
# docs/src/en/guide/in-depth/loading.md
# docs/src/en/guide/in-depth/locale.md
# docs/src/en/guide/in-depth/theme.md
# docs/src/en/guide/introduction/quick-start.md
# docs/src/en/guide/introduction/thin.md
# docs/src/en/guide/introduction/vben.md
# docs/src/en/guide/other/faq.md
# docs/src/en/guide/project/dir.md
# docs/src/en/guide/project/standard.md
# docs/src/en/guide/project/tailwindcss.md
# docs/src/en/index.md
# docs/src/friend-links/index.md
# docs/src/guide/essentials/build.md
# docs/src/guide/essentials/development.md
# docs/src/guide/essentials/external-module.md
# docs/src/guide/essentials/route.md
# docs/src/guide/essentials/server.md
# docs/src/guide/essentials/settings.md
# docs/src/guide/in-depth/access.md
# docs/src/guide/in-depth/check-updates.md
# docs/src/guide/in-depth/loading.md
# docs/src/guide/in-depth/locale.md
# docs/src/guide/in-depth/theme.md
# docs/src/guide/introduction/quick-start.md
# docs/src/guide/introduction/thin.md
# docs/src/guide/introduction/vben.md
# docs/src/guide/introduction/why.md
# docs/src/guide/other/faq.md
# docs/src/guide/project/dir.md
# docs/src/guide/project/standard.md
# docs/src/guide/project/tailwindcss.md
# docs/src/index.md
# docs/tsconfig.json
# package.json
# packages/@core/ui-kit/shadcn-ui/src/components/logo/logo.vue
# packages/constants/src/core.ts
# packages/effects/common-ui/src/components/index.ts
# packages/effects/common-ui/src/ui/dashboard/analysis/analysis-overview.vue
# packages/effects/common-ui/src/ui/dashboard/workbench/workbench-header.vue
# packages/effects/common-ui/src/ui/dashboard/workbench/workbench-project.vue
# packages/effects/layouts/src/authentication/authentication.vue
# packages/effects/layouts/src/basic/layout.vue
# packages/effects/layouts/src/widgets/notification/notification.vue
# packages/effects/layouts/src/widgets/notification/types.ts
# packages/icons/src/iconify/index.ts
# packages/icons/src/svg/index.ts
# packages/stores/src/modules/user.ts
# playground/src/adapter/component/index.ts
# playground/src/store/auth.ts
# pnpm-lock.yaml
# vben-admin.code-workspace
2026-08-10 16:55:17 +08:00
Dream
0a47dc8a3d
fix(@vben/playground): reset popup form state
2026-08-05 10:24:28 +08:00
Dream
ebe0eadee4
feat(@vben/playground): add typed popup data examples
2026-08-05 09:50:55 +08:00
Dream
3cbb1e8411
refactor(@vben/playground): type popup data consumers
2026-08-05 09:48:27 +08:00
dream-weave
9f5b1cd9fb
fix(@vben-core/form-ui)!: group field slot component props ( #8215 )
...
* refactor(@vben-core/form-ui)!: group field slot component props
* fix(@vben-core/form-ui): stabilize grouped field slot bindings
Resolve function-based common component props with field context.
Preserve internal model and event bindings when custom field slots spread componentProps.
Add regression coverage for array contexts, disabled precedence, and stale binding isolation.
* feat(@vben/vite-config): warn about field slot migration
Print the temporary field-slot migration warning when the development server starts.
Inject the same message into the browser console and keep the plugin serve-only.
* docs(@vben/docs): document field slot migration
Place the breaking field-slot notice at the start of both form documents.
Explain old and new bindings, development warnings, and planned notice removal.
* feat(@vben/playground): extend custom form example
Add a switchable input and select field to demonstrate schema component updates.
Update the composite phone field to emit new tuple values so validation observes changes.
2026-07-31 18:13:49 +08:00
JyQAQ
44483db9af
fix(project): 修复弹窗中表单上传组件预览图片层级问题 ( #8205 )
...
将 PreviewGroupComponent 的 hidden class 替换为通过 classes.popup.root
设置更高 z-index,避免在弹窗内被遮挡
2026-07-27 22:37:33 +08:00
xingyu4j
33f4522bff
fix: 补充 i18n 缺失的英文
2026-07-24 15:26:08 +08:00
xingyu4j
255a76d79a
feat: canonical tailwind class
2026-07-24 15:04:10 +08:00
dream-weave
dcdbfe5dfc
fix(@vben-core/form-ui): restore lock screen form submission ( #8195 )
...
* fix(@vben-core/form-ui): avoid stale form context access
* fix(@vben/playground): constrain date range codec fields
* test(@vben-core/form-ui): harden benchmark fixtures
* docs(@vben/docs): document form runtime and benchmarks
* fix(@vben/docs): 明确 getValues/submit 返回值及 submit 参数类型
2026-07-24 10:05:27 +08:00
金毛88
eaf585d03a
Merge branch 'fork/dream-weave/update-zod'
2026-07-23 20:35:00 +08:00
xingyu4j
0a45cb41fb
fix: 添加 StyleProvider 以支持 Tailwind 样式覆盖;移除 InputNumber 组件的宽度样式,优化组件适配;antdv 暂不支持
2026-07-23 17:50:22 +08:00
Dream
2e69c3fefc
fix(@vben/playground): address form codec edge cases
2026-07-23 17:47:57 +08:00
Dream
43b78da024
refactor(@vben/playground): share date range codecs
2026-07-23 17:47:57 +08:00
dream-weave
98dea92225
feat(@vben-core/form-ui): add typed form value codecs ( #8189 )
...
* feat(@vben-core/form-ui): add typed form value codecs
* test(@vben-core/form-ui): cover codec value boundaries
* refactor(project): propagate form codec generics
* feat(@vben/plugins): propagate form codecs through vxe grids
* refactor(@vben/playground): migrate form codec examples
* refactor(@vben/playground): migrate query forms to codecs
* docs(@vben/docs): document form value codecs
2026-07-23 15:09:31 +08:00
dream-weave
28757fb9c8
refactor(@vben-core/form-ui): migrate to Zod 4 and TanStack Form ( #8176 )
...
* build(@vben-core/form-ui): update form validation dependencies
* refactor(@vben-core/form-ui): replace vee-validate with TanStack Form
* test(@vben-core/form-ui): cover TanStack Form migration
* docs(@vben/docs): document Zod 4 form migration
* refactor(project): update form adapters
* refactor(project): migrate application form consumers
* refactor(@vben/playground): migrate form examples
* docs(@vben/docs): fix validate return type and required rule empty check in form docs
* fix(@vben-core/form-ui): resolve oxlint and eslint errors
- rewrite nested ternary expressions as if/else in form-field-array.vue and form-runtime.ts
- sort @tanstack/vue-form before @vben-core/composables in package.json
* chore: fix merge artifacts and formatting
- move dependencies before devDependencies in root package.json
- update preferences snapshot for widget positioning fields
- format form-array demo README
* refactor(@vben-core/form-ui): optimize form runtime and value flow
- add fine-grained field selectors and atomic dependency resolution
- expose raw and formatted value snapshots with focused regression coverage
* fix(@vben/layouts): dispose sortable instance on unmount
* docs(@vben/docs): document form runtime API changes
- list added, changed, removed, and deprecated form APIs
- document atomic dependencies and raw versus formatted values
2026-07-22 19:47:07 +08:00
xingyu
6b6708bcf2
fix: 修复点击退出图标确认后不能退出 && 图标排序等数组字段需顺序敏感比较 ( #8179 )
...
* chore: 调整 sortablejs 的位置,只在用到的模块引入
* fix: non-null assertion lint error
* fix: 修复点击退出图标确认后不能退出
* fix: 图标排序等数组字段需顺序敏感比较
* feat: 配置中增加 refresh 并统一位置
2026-07-22 17:44:10 +08:00
金毛88
899910547f
Merge branch 'fork/xingyu4j/deps'
2026-07-22 09:55:03 +08:00
xingyu4j
b330f08ef4
fix: lint
2026-07-20 18:36:48 +08:00
陆伯言
772286fb73
fix: 路由地址不强制以斜杠开头
...
兼容新dashboard路由配置
2026-07-20 00:46:27 +08:00
陆伯言
5936ff2e0f
fix: 系统菜单管理上级菜单无法显示名称的问题
...
antdv-next TreeSelect组件没有title插槽
2026-07-20 00:20:00 +08:00
金毛88
31d3bd18f3
Merge branch 'fork/LayHuts/feature/form-field-arry'
2026-07-18 19:18:14 +08:00
JyQAQ
8ac66a96bc
fix: 修复弹窗中使用裁剪图片会出现层级问题 ( #8156 )
...
* fix(@vben/playground): 弹窗中使用裁剪图片会出现层级问题
* fix(project): 修复弹窗中裁剪图片在 web-antd 与 web-antdv-next 的层级问题
2026-07-17 15:17:37 +08:00
layhuts
c56bb7d320
docs: 更新文档
2026-07-01 15:07:56 +08:00
layhuts
fdf2abb702
refactor: 修改form-field-array支持dependencies
2026-07-01 11:08:35 +08:00
Evan
feb0265744
Merge branch 'main' into refactor/router-redirect
2026-06-30 14:26:23 +08:00
Harold Zhang
31c31b914b
feat: fix check error ( #8094 )
2026-06-30 14:23:27 +08:00
Evan
f00a881295
refactor(@vben/access): 重构路由的重定向逻辑
...
@vben-core/shared
@vben/playground
@vben/backend-mock
@vben/web-antd
@vben/web-antdv-next
@vben/web-ele
@vben/naive
@vben/tdesign
2026-06-30 13:36:37 +08:00
vben
a8c3729850
feat: add ICP filing number to copyright across app
2026-06-24 10:04:10 +08:00
xingyu4j
d85ac2c976
feat: form 表单赋值
2026-06-06 19:33:31 +08:00
xingyu
04fbb7a556
chore: 升级 shadcn-vue 组件到v4最新版 ( #7972 )
...
* fix: useStore is deprecated
* chore: update deps
* feat: 升级shadcn-ui v4
* fix: workbench style
* feat: 升级shadcn-ui v4 step2
* feat: 升级shadcn-ui v4 step3
* chore: 升级shadcn v4
* fix: pagination
* fix: dark style
* fix: doc import
* feat: 增加详情组件,参考 antdv-next
* docs: descriptions docs
* docs: Browser Support
* feat: add table action
* feat: icon use vbenIcon
* fix: type error
* fix: dropdown popConfirm
* feat: 使用默认的文字交互
* feat: 优化渲染性能
2026-05-31 15:18:46 +08:00
xingyu
00990d9453
Merge branch 'main' into fix/lint
2026-05-20 17:38:19 +08:00
PanFu
2a84b590b5
feat: 偏好设置按钮,支持在右上角用户的下拉框中展示;偏好设置中支持设置时区(多一个入口); ( #7931 )
...
* feat: 偏好设置按钮支持显示在用户下拉窗中的特性
* feat: 时区设置功能支持在偏好设置列表进行配置
* feat: 偏好设置按钮支持显示在用户下拉窗中的特性 - 完善示例代码
* feat: 时区设置功能支持在偏好设置列表进行配置
* feat: 时区设置功能支持在偏好设置列表进行配置-单元测试报错问题
* feat: 时区设置功能支持在偏好设置列表进行配置-修改代码QC问题
---------
Co-authored-by: PanFu <panfu@zhihuaai.com >
2026-05-20 17:24:53 +08:00
xingyu4j
74d8942f39
chore: remove Unused deps
2026-05-20 16:24:59 +08:00
xingyu4j
9ec98f0846
refactor: replace depcheck with knip for dependency checking
...
Migrate vsh check-dep from depcheck to knip, reducing
315 transitive dependencies. Config is inlined in
DEFAULT_CONFIG, matching the check-circular pattern.
Also re-export CollapsibleParams from @vben/common-ui.
2026-05-20 16:14:21 +08:00
xingyu4j
03fcecadcc
fix: lefthook config
2026-05-19 16:13:00 +08:00
xingyu4j
3a88adb8a6
feat: test
2026-05-19 16:10:18 +08:00
xingyu4j
aac626da32
feat: add system user view
2026-05-18 21:45:17 +08:00
xingyu4j
0c1b737325
fix: fix lint && typecheck
2026-05-18 16:50:14 +08:00
xingyu4j
5bbdcffb97
Merge branch 'main' into antdv-next
2026-05-18 16:38:56 +08:00
xingyu4j
1867015e97
Merge branch 'antdv-next' of https://github.com/xingyu4j/vue-vben-admin into antdv-next
2026-05-18 16:35:28 +08:00
xingyu
b6aeadd9a2
Merge branch 'main' into antdv-next
2026-05-18 16:35:18 +08:00
xingyu4j
1e44b87359
refactor: migrate playground deprecated antdv-next APIs
...
- Modal: destroyOnClose → destroyOnHidden
- Card: body-style → styles.body
- Alert: message prop/slot → title
- Spin: tip → description, wrapper-class-name → classes.root
2026-05-18 16:35:06 +08:00
xingyu4j
9bb2026b4d
fix: 修复 InputNumber 组件宽度在表单中不占满的问题
2026-05-18 16:25:49 +08:00
xingyu4j
4554cd016a
fix: lint
2026-05-18 16:19:53 +08:00
xingyu4j
350d5ee60e
refactor: playground use antdv-next
2026-05-18 16:18:46 +08:00
Jin Mao
b04c10aab6
Merge branch 'fork/LayHuts/feature/vxe-table-viewed'
2026-05-16 10:48:00 +08:00
JyQAQ
f5feddc6c7
feat(@vben/plugins): tiptap 组件新增 maxHeight 属性支持及文档 ( #7897 )
...
* feat(@vben/plugins): tiptap 组件新增 maxHeight 属性支持
- 新增 maxHeight prop 支持限制编辑器最大高度
- 编辑器内容区超出最大高度时自动滚动
- 移除 style.css 中未使用的 CSS 规则
* docs(@vben/plugins): 添加 tiptap 富文本编辑器组件文档
- 新增中文文档 docs/src/components/common-ui/vben-tiptap.md
- 新增英文文档 docs/src/en/components/common-ui/vben-tiptap.md
- 新增基础用法示例 demos/vben-tiptap/basic
- 新增图片上传示例 demos/vben-tiptap/image-upload
- 更新文档侧边栏配置
* fix(@vben/plugins): extract URL from response in image upload callback
The upload callback was incorrectly passing the AxiosResponse object
to resolve() instead of extracting the actual image URL string.
This caused the editor to insert [object Object] as image src,
resulting in broken images.
* chore: add changeset for tiptap maxHeight feature
* Revert "chore: add changeset for tiptap maxHeight feature"
This reverts commit a28fc4441f14641f6af6c1a143aa6959591315b2.
2026-05-10 10:38:21 +08:00
layhuts
71f2e5f504
fix: 去除onConfirm中的setTimeout
2026-05-09 22:51:39 +08:00
layhuts
4bbd34fab9
fix: 修复 labelField 和 nameField
2026-05-09 22:28:03 +08:00
layhuts
08e4bb40b4
style: reformat code
2026-05-09 18:28:23 +08:00