金毛88
86531425e9
Merge branch 'fork/dream-weave/refactor/typed-supported-languages'
22 hours ago
金毛88
6e448fda92
Merge branch 'fork/HaroldZhangCode91/fix/layout-footer-position'
22 hours ago
金毛88
92c9e42c5d
Merge branch 'fork/xueyitt/feat/2026082503'
22 hours ago
金毛88
5bb4aefd53
chore: fix lint
22 hours ago
金毛88
9bfebc17cb
refactor: 重构 lint 错误处理机制
- 移除 node:child_process 的 execSync 导入
- 添加 colors 工具导入用于错误信息着色
- 创建统一的 LintError 类处理 lint 失败错误
- 串行和并行执行模式统一使用 LintError 抛出错误
- 并行执行改为等待全部完成后再汇总失败命令
- 移除并行执行中的进程强制终止逻辑
- 在主入口捕获 LintError 并显示友好的错误信息
- 导出 LintError 类供外部使用
22 hours ago
Dream
6ee0f0b566
chore: remove changeset
本 PR 不触发版本发布,由维护者按发布节奏统一安排。
22 hours ago
Dream
bc483dcd33
Merge remote-tracking branch 'upstream/main' into refactor/typed-supported-languages
# Conflicts:
# playground/src/views/demos/features/vue-query/concurrency-caching.vue
22 hours ago
Dream
514bde73ed
chore: add changeset
23 hours ago
Dream
64c22fb7ba
docs: 修正新增语言包指引中的目录路径
核心语言包目录为 packages/locales/src/langs,中英文档
同步修正。
23 hours ago
Dream
6594c5f82e
refactor( @vben/playground ): vue-query 演示改用 fetchQuery 读取缓存
refetch 每次调用都会强制刷新(cancelRefetch 默认 true 会取消
进行中的请求另起新请求),绕过 staleTime 缓存;且 refetch 默认
不抛错,失败时会静默退化为空选项列表。
改用 queryClient.fetchQuery:缓存新鲜期内直接命中缓存,并发
调用共享同一次请求,真正演示"并发与缓存"主题;请求失败显式
捕获并记录日志。
23 hours ago
Dream
9acd09d8d8
fix( @vben/playground ): 补充 antd locale 回退并修正繁体翻译错字
loadAntdLocale 为未打包语言包的语言增加 default 分支回退
en-US,避免切换到此类语言时残留上一次的 antd 语言;
「使用者名稱稱」去掉重复的「稱」。
23 hours ago
Dream
25ed93a6ac
fix( @vben/locales ): 修正繁体偏好设置翻译错字
「顯示覆制」应为「顯示複製」。
23 hours ago
金毛88
82108769c0
chore: 修复并发缓存示例中的查询方法调用
- 使用 queryOptions 创建公共查询配置对象
- 添加 useQueryClient 引入缓存时间配置
- 移除重复的 refetch 函数定义
- 实现 fetchQuery 用于并发请求合并
- 统一查询配置避免代码重复
1 day ago
Dream
e3cd986008
docs: 重写新增语言包指南为模块增强三步法
按新的类型扩展机制更新中英文档:语言包目录、d.ts 模块
增强、setSupportLanguages 运行时注册三步,并以 zh-TW 为
例给出可运行的完整代码。
24 hours ago
Dream
13c4def8f0
feat( @vben/playground ): 新增繁体中文语言包演示语言扩展机制
以 zh-TW 为活体示例展示新增语言的完整三步:
- packages/locales 与 playground 各自新增 zh-TW 语言包
目录(核心语言包由 glob 自动捕获,无需注册)
- languages.d.ts 通过 declare module 增强
SupportedLanguages 接口,联合类型自动扩展出 zh-TW
- bootstrap 中 setSupportLanguages 注册三语运行时列表,
dayjs / antd locale 同步接入繁体包
演示未增强接口时联合自动回到默认两语言、demo 应用零改动
的向后兼容性。
24 hours ago
Dream
58f06c7925
refactor( @vben/layouts ): user-dropdown 语言切换回调对齐联合类型
下拉菜单回调参数为 string,写入偏好设置前断言收窄到
SupportedLanguagesType,与 language-toggle 的边界处理一致。
24 hours ago
Dream
8a3f5ffb54
refactor( @vben/plugins ): vxe-table 语言映射恢复字面量键约束
localMap 恢复为 Partial<Record<SupportedLanguagesType, ...>>,
语言代码拼写错误重新回到编译期报错;应用扩展语言未打包
对应 vxe 语言包时仍回退 en-US(断言保留并说明原因:
vxe-table 仅为内置语言提供类型定义)。
24 hours ago
Dream
702d7ea7ee
refactor( @vben-core/typings ): 语言类型改为可声明合并扩展的接口注册表
53b1529 为支持运行时动态语言注册,将 SupportedLanguagesType
等四处语言类型从字面量联合放宽为 string,换来扩展便利的同时
完全丢失了编译期类型约束。
本提交以 keyof interface 注册表恢复类型安全:
- typings 新增 SupportedLanguages 接口(默认 en-US / zh-CN),
SupportedLanguagesType = keyof SupportedLanguages 派生联合
- locales / composables / preferences / constants 恢复引用该
联合,LanguageOption 泛型化(默认 string 保留运行时注册
自定义语言的逃生舱),SUPPORT_LANGUAGES 默认列表约束回联合
- 应用扩展语言时无需改动核心包:在应用内 d.ts 通过
declare module '@vben-core/typings' 追加接口键即可让联合
自动扩展(先例:vue-router 的 RouteMeta 增强)
- 运行时语言列表仍由 setSupportLanguages 注册,53b1529 的
动态注册机制与 en-US 回退行为完整保留
- 声明依赖的五个包补齐 @vben-core/typings workspace 依赖
24 hours ago
Dream
912f0cddf6
style: format docs to satisfy oxfmt
对齐 markdown 表格列宽,修复 main 分支上 oxfmt --check
的存量格式错误,恢复 lint 检查通过。
24 hours ago
Dream
25a73a8c41
fix( @vben/playground ): 修复 vue-query 演示的类型错误
@tanstack/vue-query 升级后已移除 experimental_prefetchInRender
选项与返回值上的 promise 属性,导致类型检查失败。
改用 refetch 提供选项数据:多个组件并发调用时,query 层会将
请求去重合并为同一次,保持"共用一个数据源"的演示语义不变。
24 hours ago
Harold Zhang
02d6e5cdd1
Merge branch 'main' into fix/layout-footer-position
1 day ago
xueyitt
56f765f25a
feat: 支持提示弹框内容为空(兼容部分场景只有标题无需内容场景) ( #8291 )
1 day ago
xueyitt
e9e387d602
feat: 左上Logo与文案允许通过props传入; 适配场景:多应用or多项目,不同项目从后台或者其他形式设置各自独立的logo与名称
feat: 左上Logo与文案允许通过props传入;
适配场景:多应用or多项目,不同项目从后台或者其他形式设置各自独立的logo与名称
2 days ago
Harold Zhang
e18882d107
Merge branch 'main' into fix/layout-footer-position
2 days ago
徐蒙恩
dbac4e4c30
feat(tree): 新增 keepParentOnUncheck 属性,取消勾选子节点时保持父节点选中 ( #8281 )
权限树等父子节点均为独立授权项的场景中,checkStrictly 与 autoCheckParent 组合下取消勾选子节点会级联清空父节点,用户显式勾选的父级授权被误清空。
- types.ts:TreeProps 新增 keepParentOnUncheck 可选属性,默认 false(与现有级联取消行为一致)
- tree.vue:onSelect 取消勾选分支的级联条件追加该属性取反判定,勾选方向的级联不受影响
3 days ago
Harold Zhang
1d95f298bd
fix( @vben/plugins ): register echarts GraphicComponent for empty-state text
3 days ago
Harold Zhang
9036bef71b
fix( @vben-core/layout-ui ): keep in-flow footer below page content
3 days ago
金毛88
c5c8eb2515
chore(deps): 更新项目依赖版本
- 将 cspell 从 10.0.1 更新到 10.1.0
- 将 eslint 从 10.8.1 更新到 10.9.0
- 将 happy-dom 从 20.11.2 更新到 20.11.6
- 将 oxlint 从 1.78.0 更新到 1.79.0
- 将 turbo 从 2.10.10 更新到 2.10.11
- 将 vite 从 8.2.1 更新到 8.2.2
- 将 vitest 从 4.1.10 更新到 4.1.11
- 将 vue-tsc 从 3.3.9 更新到 3.3.11
4 days ago
徐蒙恩
53b1529298
feat(locales): support runtime dynamic language list ( #8279 )
* feat(locales): support runtime dynamic language list
- 将 SupportedLanguagesType 从硬编码的 'en-US' | 'zh-CN' 联合类型放宽为 string,支持应用在运行时注册自定义语言
- @vben/constants 新增 setSupportLanguages / onSupportLanguagesChange / getSupportLanguages,以发布订阅方式动态管理语言列表(订阅时立即回调当前值)
- language-toggle 与 user-dropdown 组件改为订阅动态列表,不再直接引入静态 SUPPORT_LANGUAGES
- use-simple-locale 对未知语言回退到 en-US
- vxe-table 集成对未打包的自定义语言回退到 en-US 语言包
向后兼容:不调用 setSupportLanguages 时,行为与之前完全一致。
* fix(constants): 语言列表注册表返回独立快照
getSupportLanguages 与监听器回调改为返回克隆快照,存储时也做克隆,避免外部直接修改数组或元素对象污染注册表内部状态、绕过 setSupportLanguages 导致其他订阅者不同步。
* fix(constants): 偏好设置面板语言列表改为订阅动态注册表
- general.vue 不再直接引入静态 SUPPORT_LANGUAGES,改为通过 onSupportLanguagesChange 订阅,运行时替换语言列表后设置面板同步刷新
- setSupportLanguages 通知时迭代监听器快照,避免监听器在回调中取消订阅导致跳过后续监听器
* fix(constants): 固化本次更新快照后再通知监听器
监听器回调中嵌套调用 setSupportLanguages 时,后续监听器仍收到本次更新的列表,而不是嵌套调用的新列表。
4 days ago
Liu
e3369bd635
docs: 补充工具、状态管理、缓存模块文档 ( #8266 )
* docs: 补充工具、状态管理、缓存模块文档
- 新增 essentials/utils、stores、cache 三篇中英文档
- 基础导航下新增工具、状态管理、缓存入口
- utils 文档为每个方法配独立示例,第三方再导出补官方文档链接
- 缓存模块独立成篇,utils 移除缓存与底层时区函数说明
* docs: 修正 review 反馈
- cache: 补全 driver 省略时回退说明、空前缀 clear/keys 警告、setItem 移除不支持的泛型
- stores: getTimezoneOptions 示例补 await
- utils: mergeWithArrayOverride 改名、triggerDownload 位置签名、downloadFileFromUrl 校验说明、formatDateTime 固定日期、createMerge 回调契约
* docs: 修正工具与状态管理文档并补全导航配置
- 工具文档:移除 createMerge 章节,修正 mergeWithArrayOverride 示例结果为 { a: [1] }(defu 回调保留首个参数数组)
- 状态管理文档:澄清 useTimezoneStore.$reset 不会同步 dayjs 默认时区,补充 VITE_APP_STORE_SECURE_KEY 加密配置说明
- 工具/状态管理/缓存文档:添加 outline: deep 以显示 H2/H3 二级方法导航
* docs: 移除文档中多余的对象合并章节内容
整理了中英文版的状态管理和工具函数文档,删除了过时的对象合并相关文档内容,优化文档结构。
1 week ago
dream-weave
4e0208c93e
Merge branch 'main' into fix/layout-css-scroll-background
1 week ago
Dream
522a83b2fb
fix( @vben-core/layout-ui ): add overlay viewport height fallback
1 week ago
金毛88
154b727491
chore: 更新项目依赖包版本
- 更新 @tsdown/css 从 0.22.13 到 0.22.14
- 更新 eslint 从 10.7.0 到 10.8.1
- 更新 happy-dom 从 20.11.1 到 20.11.2
- 更新 oxlint 从 1.75.0 到 1.78.0
- 更新 playwright 从 1.61.1 到 1.62.1
- 更新 tsdown 从 0.22.13 到 0.22.14
- 更新 turbo 从 2.10.6 到 2.10.10
- 更新 vite 从 8.1.5 到 8.2.1
- 更新 vue-tsc 从 3.3.8 到 3.3.9
2 weeks ago
金毛88
f83252d443
Merge branch 'fork/HaroldZhangCode91/feature/fix_modal_defects'
2 weeks ago
OctoBored
c6e196f1d2
docs: fix broken star history chart ( #8254 )
The star history chart in the README is broken because the upstream endpoint is no longer able to read GitHub stargazer data reliably. Switch the chart image and its link to the alternative star-history domain so the chart renders correctly again.
Co-authored-by: OctoBored <212877535+OctoBored@users.noreply.github.com>
2 weeks ago
Harold Zhang
de78a87f38
fix( @vben/vite-config ): 修复生产构建下组件库 css 层顺序错误导致样式被覆盖
viteCssLayerPlugin 把组件库 css 包进 @layer 依赖 theme.css 中的层顺序声明
先被注册。生产构建下 css 按 chunk 注入,若组件库 css chunk 先于 theme.css
加载,层名会被注册为最低优先级,Tailwind base/utilities 覆盖组件样式。
由于 rolldown-vite 的 css 合并会剥离「层顺序声明 + @layer 规则」模块的层
(规则被脱层),压缩阶段也会丢弃 transform 输出的声明,改为在
generateBundle 阶段向含组件库层的 css 产物顶部统一注入层顺序声明,无论
chunk 加载顺序如何层优先级都正确(theme.css 先加载时声明为幂等 no-op)。
properties(Tailwind --tw-* 回退变量层)排在首位保持最低优先级,theme.css
中的声明同步更新以保持一致。
2 weeks ago
Harold Zhang
fbd8ffac75
fix( @vben-core/shadcn-ui ): 修复弹窗关闭动画被取消时 closed 事件丢失导致弹窗无法关闭
closed/opened 事件仅由内容元素自身的 animationend 确认,当退出动画被跳过或
取消(reduced motion、动画中断、关闭中 class 变化)时事件永远不会触发,
弹窗保持可见、destroy-on-close 重挂载和 onClosed 监听器挂起。
提取共享 useDialogStateEvents 组合式函数(dialog/alert-dialog/sheet 三处
重复实现统一),同时监听 animationend/animationcancel(对齐 reka-ui Presence
语义),并在动画窗口后增加 300ms 兜底触发,配合 exactly-once 守卫保证关闭
链路恰好完成一次;onScopeDispose 清理定时器。补充 popup-ui 单测覆盖兜底
与恰好一次两条路径。
2 weeks ago
Dream
aa36114181
fix( @vben-core/layout-ui ): address layout review findings
2 weeks ago
Dream
63667e46ee
fix( @vben-core/layout-ui ): avoid nested sidebar ternary
2 weeks ago
dream-weave
3b9cc44bc5
Merge branch 'main' into fix/layout-css-scroll-background
2 weeks ago
Dream
8f60e8063a
test( @vben/playground ): cover layout behavior and performance
2 weeks ago
Dream
fa2b1ec243
refactor( @vben/common-ui ): simplify page content sizing
2 weeks ago
Dream
89c05f8274
refactor( @vben-core/layout-ui ): move layout sizing and scrolling to CSS
2 weeks ago
Zehui Chan
51ce0ecdd6
feat( @vben-core/form-ui ): support labelWidth auto alignment ( #8245 )
* feat(@vben-core/form-ui ): support labelWidth auto alignment
Measure horizontal labels and align them to the widest one when
labelWidth is set to auto, allow string widths, and expose a single
form-render context that also carries the label-width registry.
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat(@vben/playground ): add form labelWidth auto demo
Provide an interactive example under Examples -> Form -> Label Auto
Width, with locales and route wiring, to showcase auto alignment.
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
2 weeks ago
MistyMoon
0b9ecbb6c9
fix( @vben-core/menu-ui ): menu badge overflow, font-size & default color ( #8244 )
* fix(@vben-core/menu-ui ): menu badge ping ring clipped by overflow
The .vben-menu-item__content span rule applied the menu-title mixin
(overflow:hidden, for text ellipsis) to ALL descendant spans, including
the badge dot spans. This clipped the animate-ping expanding ring, so
the leaf-menu badge dot only pulsed (opacity fade) instead of pinging,
while the sub-menu (directory) badge pinged correctly because it lives
under .vben-sub-menu-content which has no such rule.
Fix: scope the menu-title mixin to the title span (.vben-menu__name)
and wrap the menu-item title slot accordingly.
* fix(@vben-core/menu-ui ): allow custom font-size on sub-menu-content descendants
* fix(@vben-core/menu-ui ): correct default badge variant color
2 weeks ago
JyQAQ
e8d35a7471
fix( @vben/styles ): 修复弹窗内 tooltip 层级被遮挡问题 ( #8240 )
将 antd-tooltip 的 z-index 提升至 2001,避免在 Modal/弹窗等高 z-index 容器内的 tooltip 被遮挡
3 weeks ago
yshbyy
f038166681
chore: 更新.gitattributes文件配置 ( #8178 )
git 不支持 Shell 的花括号展开语法
3 weeks ago
dependabot[bot]
88cc837f6a
build(deps): bump actions/stale from 10 to 11 ( #8227 )
Bumps [actions/stale](https://github.com/actions/stale ) from 10 to 11.
- [Release notes](https://github.com/actions/stale/releases )
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/stale/compare/v10...v11 )
---
updated-dependencies:
- dependency-name: actions/stale
dependency-version: '11'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 weeks ago
金毛88
82d790a6ab
Merge branch 'fork/dream-weave/fix/popup-route-reentry'
3 weeks ago
金毛88
9c3ba53990
Merge branch 'fork/ming4762/fix-transition-20260805'
3 weeks ago