Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
791 commits
Select commit Hold shift + click to select a range
e535162
fix: 修复日历卡片在jd下的demo展示 (#3074)
xiaoyatong Mar 12, 2025
a73cf6b
chore: 类型文件中增加 jsdoc (#3073)
oasis-cloud Mar 12, 2025
076808e
fix: migrate docs (#3077)
oasis-cloud Mar 12, 2025
cb1e4e7
refactor(pagination): data abstraction via hooks (#2988)
oasis-cloud Mar 12, 2025
f74b3c1
refactor: cascader (#3007)
oasis-cloud Mar 12, 2025
3a94dfe
fix(inputnumber): 增加 beforeChange,优化异步逻辑 (#3006)
oasis-cloud Mar 12, 2025
930b746
chore(release): v3.0.3
oasis-cloud Mar 12, 2025
75be547
chore(deps): update actions/github-script action to v7 (#3012)
renovate[bot] Mar 13, 2025
4acf6ea
fix: correct usages about toast (#3083)
Miles-hxy Mar 14, 2025
fd0c0df
chore: remove migrate ci-workflow (#3085)
Miles-hxy Mar 14, 2025
c2e74b6
fix(sidebar): disabled props and content display abnormal in harmony …
Miles-hxy Mar 14, 2025
33b3745
chore(release): v3.0.4
oasis-cloud Mar 14, 2025
31dd4ee
fix: 开发环境中导出 types 下的类型 (#3090)
oasis-cloud Mar 17, 2025
41d4495
fix: correct import paths (#3089)
Miles-hxy Mar 18, 2025
3fd5483
fix(swipe): 调整 demo 中字体为 12 (#3093)
oasis-cloud Mar 18, 2025
a338dcc
feat(pickerview): 选中值增加class类名用于自定义样式 (#3097)
irisSong Mar 19, 2025
72d74c0
refactor(fixednav): support harmony (#3095)
irisSong Mar 19, 2025
34758ef
fix: adjust site style (#3096)
Miles-hxy Mar 19, 2025
febca3e
docs: 补充web 设置 px 转 rem时的文档 (#3098)
xiaoyatong Mar 19, 2025
52269c2
fix(SearchBar): demo 样式变量修订 (#3101)
xiaoyatong Mar 19, 2025
9ada0f8
fix(resultpage): 引入button样式 (#3103)
irisSong Mar 19, 2025
2a74f0f
feat: 优化了一下文档样式,更紧凑清晰 (#3105)
xiaoyatong Mar 20, 2025
2cf72cc
fix(inputnumber): value 大于 max 图标应处于禁用态 (#3107)
oasis-cloud Mar 21, 2025
e049b0e
test(uploader): optimize async test cases stability (#3104)
Miles-hxy Mar 21, 2025
0ed86df
fix(ImagePreview): 优化代码,fix 因为popup最大宽度导致的问题 (#2939)
xiaoyatong Mar 21, 2025
8e1468c
feat(pickerview): 小程序支持自定义列表行高 (#3102)
irisSong Mar 21, 2025
464f0a9
fix(badge): 解决中文偏上问题 (#3111)
irisSong Mar 21, 2025
9a903a0
chore(release): v3.0.5
oasis-cloud Mar 21, 2025
e7349fc
feat(demoblock): code block scrolling behavior, CodesandBox function …
Miles-hxy Mar 25, 2025
384bca0
fix: update pkgjson title (#3119)
Miles-hxy Mar 25, 2025
671d996
fix(badge): 修正css变量定义 (#3123)
irisSong Mar 26, 2025
ccacc38
chore: support ui review (#3121)
oasis-cloud Mar 26, 2025
c56941d
fix(pickerview): 解决小程序获取高度计算错误 (#3120)
irisSong Mar 26, 2025
2e3c490
refactor(badge): 支持禁用模式 (#3118)
irisSong Mar 26, 2025
41b3a0d
fix(overlay): 扩大点击范围 (#3117)
oasis-cloud Mar 26, 2025
2fee43c
feat(lottie): 支持京东小程序 (#3080)
oasis-cloud Mar 27, 2025
2bdf207
feat(notify): v15 (#3082)
irisSong Mar 27, 2025
e0b33d1
fix: doc css (#3126)
xiaoyatong Mar 27, 2025
f873839
fix(searchbar): 支付宝小程序设置 enableInPageRenderInput 后无法触发 onChange (#3130)
oasis-cloud Mar 28, 2025
6ca45c1
feat(switch): 异步切换支持受控loading态 (#3122)
irisSong Mar 28, 2025
99fac51
feat(indicator): 增加 UI 变体的类型 (#3114)
oasis-cloud Mar 28, 2025
a745bf7
feat(Tabbar): v15 样式适配;增加 icon/value/title 的function类型,支持根据active状态渲染…
xiaoyatong Mar 28, 2025
546e005
feat(skeleton): v15 (#3086)
oasis-cloud Mar 28, 2025
989e1d0
chore(release): v3.0.6
oasis-cloud Mar 28, 2025
f1257bd
fix: tabbar config json (#3134)
Miles-hxy Mar 28, 2025
d6f1f6e
chore: 修复正式环境的 publicPath (#3137)
oasis-cloud Mar 31, 2025
ecb47df
fix(switch): 简化props使用 (#3132)
irisSong Mar 31, 2025
b79dcbe
fix: contribution img failed to display (#3141)
Miles-hxy Apr 2, 2025
e392273
feat(collapse): 适配鸿蒙 (#3139)
oasis-cloud Apr 2, 2025
f1acf0e
feat: 修订变量名 (#3127)
xiaoyatong Apr 2, 2025
706dae6
fix: popover 无法关闭的问题,删除无用代码和无用的样式变量 (#3129)
xiaoyatong Apr 2, 2025
ce920b6
fix(Popup): 调整最小高度设定为 26% (#3144)
xiaoyatong Apr 2, 2025
78e5c54
fix(button): 样式变量无法生效问题修复 (#3142)
xiaoyatong Apr 3, 2025
c5f266a
fix(dialog):修复函数式调用时 hidecancel 不生效问题 (#3145)
xiaoyatong Apr 3, 2025
5545133
refactor(dialog): 抽离types到标准spec下,去掉web h5 wrap层。 (#3147)
xiaoyatong Apr 3, 2025
ab8edd5
fix(tabs): 兼容16的处理 (#3150)
xiaoyatong Apr 3, 2025
abd2516
chore(release): v3.0.7
oasis-cloud Apr 3, 2025
2d1f970
chore: 增加 useHtmlComponents 模式 (#3156)
xiaoyatong Apr 9, 2025
c6f48b2
fix(skeleton): 废弃inline 导致的警告问题修复 (#3154)
xiaoyatong Apr 9, 2025
4b1a408
fix(docs): 修复 markdown 无法正确编译注释 (#3158)
oasis-cloud Apr 9, 2025
cc94ce3
fix: codesandbox displays abnormal (#3159)
Miles-hxy Apr 9, 2025
79a9900
fix(cascader): 选中后 tab 应展示 text 字段的值 (#3167)
oasis-cloud Apr 11, 2025
22905b5
feat(dialog): 添加变量处理 (#3172)
xiaoyatong Apr 11, 2025
d2b14a2
fix(image): 组件内部的style处理覆盖传入的className (#3165)
Miles-hxy Apr 11, 2025
a7f79dd
fix: jmapp demo build (#3146)
Miles-hxy Apr 11, 2025
53f286c
fix(switch): 异步操作中抛错可中断 loading 态 (#3143)
irisSong Apr 11, 2025
794a53f
docs: 补充快速上手和主题中的配置项的解释 (#3163)
oasis-cloud Apr 11, 2025
16ee064
feat(v15): swipe 增加 v15 的 demo (#3160)
oasis-cloud Apr 11, 2025
2c421d0
fix(sidebar): scroll animation not working with sidebarDuration prop …
Miles-hxy Apr 11, 2025
7752221
chore(release): v3.0.8
oasis-cloud Apr 11, 2025
8796d6e
chore: 调整 utils 和 hooks 的导出方式 (#3162)
oasis-cloud Apr 14, 2025
ed2cda9
chore(release): v3.0.9-beta.0
oasis-cloud Apr 14, 2025
ea9d0ed
chore(release): v3.0.9-beta.1
oasis-cloud Apr 14, 2025
4602b2f
fix(image): update image props tsType (#3178)
Miles-hxy Apr 15, 2025
202cf07
docs(audio): 修订audio taro 端文档,不再支持taro多端 (#3187)
xiaoyatong Apr 16, 2025
e036405
feat(button): 兼容 taro components (#3188)
xiaoyatong Apr 16, 2025
99cde89
chore: update taro version (#3186)
xiaoyatong Apr 17, 2025
f8913fb
refactor(loading): 移除内置的 lottie,可通过 icon 属性加载 lottie (#3184)
oasis-cloud Apr 18, 2025
aa06cc7
feat(input): 增加 taro components 属性的支持 (#3181)
oasis-cloud Apr 18, 2025
1b91b83
feat(form): 增加 taro components 属性的支持,抽象类型 (#3182)
oasis-cloud Apr 18, 2025
9a3c9e7
refactor: 打包组件不同主题的 css 文件 (#3189)
oasis-cloud Apr 18, 2025
118165a
chore(release): v3.0.9
oasis-cloud Apr 18, 2025
8ddee7c
chore: update publich path
oasis-cloud Apr 18, 2025
b7a6a20
docs: jmapp 不判断环境,直接打开 (#3193)
oasis-cloud Apr 21, 2025
8876f47
fix: 兼容选中值为0的情况 (#3192)
irisSong Apr 22, 2025
10ad039
chore: release: v3.0.10-beta.0
irisSong Apr 22, 2025
cb336b2
fix: 删掉无用console (#3197)
xiaoyatong Apr 22, 2025
436d712
chore: 更新壳工程分支 (#3200)
irisSong Apr 22, 2025
f80257b
feat(radio): 支持自定义icon的classname (#3196)
xiaoyatong Apr 22, 2025
4e8f3c9
feat(video): 兼容taro Component属性 (#3185)
xiaoyatong Apr 24, 2025
f594bc9
feat(uploader): add listUploadRender prop for custom list mode upload…
Miles-hxy Apr 25, 2025
55a5bb4
feat(switch): loading 态受控 (#3149)
irisSong Apr 25, 2025
7aad8bd
fix(tabs): 修复滚动计算问题,优化定位逻辑 (#3183)
Miles-hxy Apr 25, 2025
31a8c72
chore: release v3.0.10
irisSong Apr 25, 2025
44ab1a6
perf: optimize the performance issues caused by style injection (#3203)
mingquan5830 Apr 25, 2025
bc1f644
docs: 升级文档补充 (#3204)
Miles-hxy Apr 25, 2025
bd9f30b
fix(picker): 解决透传popup的round属性不生效问题 (#3205)
irisSong Apr 29, 2025
e84f671
fix: 修复编译单个组件在小程序下路径异常的问题 (#3215)
xiaoyatong May 1, 2025
56f239d
feat(address): v15 适配 (#3171)
xiaoyatong May 5, 2025
8b8d973
chore(release): v3.0.11
Miles-hxy May 9, 2025
1a958d5
fix(address): 构建单一样式文件 (#3220)
oasis-cloud May 9, 2025
9499ec7
chore: release 3.0.11-patch.0
Miles-hxy May 9, 2025
ece37a2
fix(uploader): 多端上传媒体文件逻辑与2x保持一致 (#3223)
Miles-hxy May 15, 2025
9b99c2c
feat(searchbar): v15 适配,增加了受控和默认值 (#3209)
xiaoyatong May 15, 2025
854658e
feat(progress): 兼容并支持taro components的progressProps & v15适配 (#3202)
Miles-hxy May 17, 2025
8588c4e
fix(uploader): beforeUpload failed to work (#3219)
Miles-hxy May 17, 2025
a532330
refactor(steps): v15 (#3216)
irisSong May 17, 2025
5758b5d
feat(range): 鸿蒙适配,修订NaN,纵向mark时异常问题 (#3217)
xiaoyatong May 17, 2025
8ba6dfb
chore(release): v3.0.12
oasis-cloud May 17, 2025
77cf449
feat(Swiper): 修订autoplay属性,并在taro版本上对齐了tc属性值 (#3225)
xiaoyatong May 22, 2025
4d47408
fix(configprovider): 调整demo展示 (#3232)
xiaoyatong May 22, 2025
f8d88d3
fix(textarea): 修订没有写placeholder时无法展示默认值的情况 (#3233)
xiaoyatong May 22, 2025
c20801d
feat(Textarea): 增加 ref 属性 (#3229)
xiaoyatong May 23, 2025
1ff0221
feat(lottie): 支持显示设置 dpr 设置宽高 (#3237)
oasis-cloud May 27, 2025
221b579
fix(uploader): 修复官网蒙层层级、demo中ListItem类型的引入并更新文档 (#3239)
Miles-hxy May 30, 2025
02ef6b8
fix(pickerview): 高度获取失败兜底值变更 (#3230)
irisSong May 30, 2025
b96ec80
fix(input): 不需要加 get 属性的,用 nativeElement 就可了 (#3235)
xiaoyatong May 30, 2025
cdbae0d
fix: 适配td (#3241)
xiaoyatong May 30, 2025
87228ef
fix: 删除无用代码
xiaoyatong May 30, 2025
acff5f5
fix(price): 适配td (#3243)
irisSong May 30, 2025
2be2459
feat: v3.0.13
xiaoyatong May 30, 2025
bab9aa7
fix(elevator): v15 适配 & 选中值支持受控 (#3210)
irisSong Jun 7, 2025
3b03fa0
fix(configprovider): 调整demo,修复web h5 下引入不一致问题,修复文档 (#3244)
xiaoyatong Jun 7, 2025
fd247f0
fix(navbar): 支持background的配置,补充了部分demo (#3258)
xiaoyatong Jun 9, 2025
d0eaabc
fix(tabs): correct tabpane-background-color css variables (#3255)
Miles-hxy Jun 9, 2025
838cffb
fix(switch): 移除重复的onchange回调 (#3259)
irisSong Jun 11, 2025
c17af68
fix(image): 修复内联样式不生效 (#3254)
Miles-hxy Jun 11, 2025
2b8fd54
fix(input): handleBlur callback value is undefined in mini-programs (…
Miles-hxy Jun 13, 2025
94333d4
fix(datepicker): 解决未传默认值时限制时间边界不准确问题 (#3265)
irisSong Jun 13, 2025
9bf2b8c
chore(site): adjust online debugging visibility (#3257)
Miles-hxy Jun 13, 2025
cfafd5d
feat(image): support custom error state class name (#3263)
Miles-hxy Jun 13, 2025
f16f82a
fix: docs (#3268)
xiaoyatong Jun 13, 2025
2627778
chore(release): v3.0.14
Miles-hxy Jun 13, 2025
737d9e2
docs(checkbox): 修订数据类型 (#3273)
xiaoyatong Jun 20, 2025
70427e6
fix(pickerview): 修改快速滚动偶现滑动错位问题 (#3278)
irisSong Jun 26, 2025
04c7443
fix(datepicker): 修改不设置事件类型的返回值 (#3270)
irisSong Jun 26, 2025
cf9845b
fix(button): 禁用样式修订 (#3279)
xiaoyatong Jun 26, 2025
f6f1e06
fix: remove -zIndex CSS variable due to lower priority and default va…
Miles-hxy Jun 26, 2025
5b7eb80
fix(form): label无法修改字号 (#3280)
xiaoyatong Jun 26, 2025
e1faac3
feat(calendarcard): 对函数做了优化处理 (#3284)
xiaoyatong Jun 26, 2025
27382ce
fix(form): 修复右侧星星无法展示的问题 (#3283)
xiaoyatong Jun 26, 2025
c415f48
feat(calendarcard): 增加自定义头 (#3285)
xiaoyatong Jun 26, 2025
5a52205
fix(noticebar): first item is not visible when scrolling vertically (…
mingquan5830 Jun 26, 2025
1bdfbad
feat(dialog): close和cancel各司其职 (#3282)
xiaoyatong Jun 27, 2025
c7accd4
fix(form): 单测错误修复 (#3286)
xiaoyatong Jun 27, 2025
74f7f75
fix(configprovider): 修订路径别名 (#3287)
xiaoyatong Jun 27, 2025
949ad30
chore(release): v3.0.15
Miles-hxy Jun 27, 2025
f819320
fix(noticebar): children cannot update responsively in vertical mode…
mingquan5830 Jun 30, 2025
1e7d44c
fix(swiper): 修改初始值时不生效问题 (#3293)
xiaoyatong Jul 4, 2025
6063eb3
fix(calendar): 类型修订 (#3292)
xiaoyatong Jul 4, 2025
c559879
chore: 发包
xiaoyatong Jul 4, 2025
77de439
fix: 修复日历只有一个月的情况 (#3306)
xiaoyatong Jul 16, 2025
cf907bb
fix(pulltorefresh): 增加 catchMove 属性,用于显示控制 (#3311)
oasis-cloud Jul 22, 2025
8a1c4a0
fix(skeleton): correct v3 update docs (#3313)
Miles-hxy Jul 24, 2025
09227c8
chore(harmonycss): 每个组件构建全量的css (#3316)
oasis-cloud Jul 31, 2025
6ac50fd
feat: add plugin for bizui using nutui (#3318)
xiaoyatong Aug 1, 2025
cc5f2a4
chore(release): v3.0.17
oasis-cloud Aug 1, 2025
b2a4166
chore: 发布taro下的样式按需插件
oasis-cloud Aug 1, 2025
48f4973
docs: 更新介绍部分内容 (#3324)
Miles-hxy Aug 6, 2025
2ab966f
feat(notify): 支持promise调用notice (#3319)
Aug 6, 2025
68103d5
feat(price): 支持自定义颜色&数据原样输出 (#3328)
irisSong Aug 15, 2025
c1dc515
chore: 升级icon库 (#3330)
xiaoyatong Aug 15, 2025
2d0aa82
feat: Ellipsis校验越界不走缓存配置 (#3329)
Aug 15, 2025
6f80776
Fix icons svg (#3331)
xiaoyatong Aug 15, 2025
842c48b
fix(noticebar): 适配鸿蒙样式修复 (#3332)
xiaoyatong Aug 15, 2025
bb3056c
chore(release): v3.0.18
Miles-hxy Aug 15, 2025
e6e678f
fix(swiper): duration属性透传 (#3337)
Aug 19, 2025
6331fc3
fix(range): taro环境异步渲染useReady不会触发 (#3297)
Ryan-CW-Code Aug 20, 2025
b8c3fd2
fix(input): 兼容h5和小程序获取原生input标签 (#3341)
Aug 21, 2025
3dbc7bc
feat(Popup): 新增弹层可上下滑动 (#3340)
xiaoyatong Aug 21, 2025
dcfd2f0
fix(uploader): 处理非图片文件类型问题 (#3343)
Aug 22, 2025
8b6326b
feat(theme): 升级8月份主题的微调,修订dialog 样式的鸿蒙适配等 (#3351)
xiaoyatong Sep 3, 2025
52d84bd
fix: dialog.taro中defaultProps使用ts断言确认类型 (#3347)
Coder-Jack04 Sep 3, 2025
7802a1e
fix: 兼容nextjs ssr,初始状态class=""元素会闪一下 (#3358)
KouSum Sep 22, 2025
b5f41f9
perf(col): 使用hooks优化 (#3361)
xiaoyatong Sep 22, 2025
f1c8cd9
fix: 更正正黑字体 (#3363)
irisSong Sep 29, 2025
e9a80b8
fix: fix showCount props is invalid in alipay (#3366)
iambinlin Oct 16, 2025
b6b0345
feat(ascf): 支持ASCF鸿蒙元服务 (#3402)
2extliuweijian32 Dec 15, 2025
74a35a0
feat(language): 添加日语语言包 (#3384)
plh97 Dec 23, 2025
da29016
fix(datepicker): 修复在使用 DatePicker 时页面会短暂出现 0 的问题 (#3399)
shincurry Dec 23, 2025
2060383
feat(avatar): support image fill mode in taro avatar component (#3405)
mingquan5830 Dec 25, 2025
89d5c97
feat(toast): add functionality to make toast persistent until manuall…
kalu5 Dec 26, 2025
56f3a8e
feat: 给 searchbar 暴露 input 更多属性 (#3416)
xiaoyatong Jan 8, 2026
0d8f9d0
fix(countup): 修改千分位展示异常问题 (#3417)
irisSong Jan 8, 2026
8af6041
fix: 修订导入方式,兼容五端处理 (#3419)
xiaoyatong Feb 2, 2026
06fac0e
feat: 合并近期跨原生改动点,增加了无障碍,部分组件增加了新功能。 (#3420)
xiaoyatong Feb 3, 2026
7f231a2
fix(tag): 修订样式 (#3425)
xiaoyatong Mar 6, 2026
e409673
chore: release v3.0.19
irisSong Mar 9, 2026
cb508df
feat: 日历组件无障碍 (#3437)
m186 Apr 26, 2026
e8e64ea
Revert "feat: 日历组件无障碍 (#3437)" (#3438)
xiaoyatong Apr 26, 2026
4888d4a
build: 添加postinstall脚本以收集使用统计信息 (#3436)
kaxium Apr 29, 2026
4e85a40
feat(language): 添加越南语语言包 (#3378)
Mumu0727 Apr 29, 2026
9e4abc3
feat: enhance SafeArea with className/style props and constant() iOS …
iambinlin Apr 29, 2026
35a5264
chore(deps): update actions/github-script action to v9 (#3432)
renovate[bot] Apr 30, 2026
ba7ea3a
chore(deps): update commitlint monorepo to v20 (#3428)
renovate[bot] Apr 30, 2026
e7d5b3e
chore(deps): update dependency jest to v30 (#3288)
renovate[bot] Apr 30, 2026
2affd43
fix: 修订demo
xiaoyatong May 6, 2026
7b71d8e
fix: 修改多语言
xiaoyatong May 6, 2026
02994ef
chore(release): v3.0.20-beta.0
xiaoyatong May 6, 2026
70c7885
refactor: 更新版本
xiaoyatong May 6, 2026
57eef16
chore: release v3.0.20
xiaoyatong May 20, 2026
84bf369
chore: release H5 v3.0.20
xiaoyatong May 20, 2026
fdbdf66
feat: merge阶段1: 新增文件合并及适配 (#3459)
xiyehutao May 21, 2026
33d64ee
feat: 等比适配 (#3463)
irisSong May 22, 2026
11c956e
feat(merge): 合并3.x_cpp版本至3.x (#3462)
xiyehutao May 22, 2026
109261a
refactor: 启动新版本,16设计规范
xiaoyatong May 25, 2026
1adacfa
feat: 修订新版样式变量值,并处理了一批未使用样式变量的色值硬编码,处理了暗黑模式下不生效的问题
xiaoyatong May 25, 2026
e81e1f1
feat: 添加更多基础设定,删除无用的定义
xiaoyatong May 25, 2026
72d4c08
feat(button): 适配v16设计规范
xiaoyatong May 25, 2026
956ce97
docs: 修订文档
xiaoyatong May 30, 2026
4eecb6a
feat(button): v16 重构+无障碍支持 (#3465)
xiaoyatong Jun 2, 2026
23c58b8
fix: conflicts
xiaoyatong Jun 2, 2026
8cf260a
feat(test): 单测处理 (#3467)
xiaoyatong Jun 2, 2026
7029c8d
feat(radio): 适配V16 (#3468)
xiaoyatong Jun 2, 2026
d2c2a0d
feat(checkbox): 适配v16并补充主题相关文档 (#3469)
xiaoyatong Jun 3, 2026
e9d7dbc
feat: inputnumber更新 (#3466)
xiyehutao Jun 3, 2026
7b69d13
feat: inputnumber暗黑适配 (#3470)
xiyehutao Jun 3, 2026
74279fc
feat(toast): 适配v16,增加升级v4版本的文档 (#3471)
xiaoyatong Jun 3, 2026
fa0f666
fix(datepicker): 解决时间解析为 Invalid Date 的 Bug (#3472)
xiaoyatong Jun 3, 2026
d3cd847
refactor: 添加GitHub Actions 自动化的 workflow 配置文件 (#3473)
xiaoyatong Jun 3, 2026
2f62ae0
refactor: 添加手动触发 (#3474)
xiaoyatong Jun 3, 2026
cccd42f
ci: add strict error handling and exit codes to issue resolver agent
xiaoyatong Jun 3, 2026
5cc31d1
feat(agents): add local issue watcher daemon script
xiaoyatong Jun 3, 2026
c783bce
fix(swipe): resolve infinite re-render loop causing page freeze
xiaoyatong Jun 3, 2026
a938cf8
test(swipe): add touch interaction tests for coverage
xiaoyatong Jun 4, 2026
5f4a35a
Merge pull request #3475 from jdf2e/fix/issue-3433
xiyehutao Jun 4, 2026
6b0ad32
chore: release v4.0.0-beta.1
irisSong Jun 8, 2026
8666c6a
fix: 移除jmfe桥接方式 (#3479)
irisSong Jun 8, 2026
11fcbd0
chore: release v4.0.0-beta.2
irisSong Jun 8, 2026
d8246db
feat: indicator基础升级完成 (#3480)
xiyehutao Jun 12, 2026
91088ba
chore(deps): update actions/setup-python action to v6 (#3477)
renovate[bot] Jun 12, 2026
fcc05b8
fix: 解决taro版本demo变量文件重复注入导致超时的问题 (#3482)
irisSong Jun 12, 2026
8235496
feat(switch): 适配 v16 (#3483)
irisSong Jun 12, 2026
d8d6088
chore: release v4.0.0-beta.3
irisSong Jun 12, 2026
6c5fcdb
docs: 更新站点版本
irisSong Jun 12, 2026
5d49996
refactor(Empty): v16适配 (#3486)
irisSong Jun 17, 2026
72a4dc3
refactor(Rate): v16 适配 (#3487)
xiyehutao Jun 18, 2026
79f7ea1
chore: release v4.0.0-beta.4
irisSong Jun 18, 2026
f292ac5
feat: 新增面向 AI Coding 的 LLMs 文档生成 (#3495)
alvinhui Jul 10, 2026
d306aea
feat: 新增组件样式结构(Semantic)文档,完善面向 AI Coding 的站点接入 (#3496)
alvinhui Jul 15, 2026
480efc9
feature: MCP Server + Skill (#3497)
alvinhui Jul 20, 2026
d6ee5b9
chore: release v4.0.0-beta.5
irisSong Jul 22, 2026
6efc38c
feat: 为 @nutui/nutui-react-taro 补齐 AI-Coding 能力(CLI / MCP / Skill + 站…
alvinhui Jul 30, 2026
0dbfc9d
fix(Cascader): preserve normalized option keys (#3501)
chengluliu Aug 3, 2026
98b4036
chore(deps): update actions/setup-node action to v7 (#3499)
renovate[bot] Aug 9, 2026
390abde
chore(deps): update actions/checkout action to v7 (#3489)
renovate[bot] Aug 9, 2026
326f12d
chore(deps): update codecov/codecov-action action to v7 (#3485)
renovate[bot] Aug 9, 2026
693a626
chore: release v4.0.0-beta.6
irisSong Aug 10, 2026
a2d7360
feat(Dialog): v16 升级 - 新增 subtitle/titleIcon/autoClose/confirmBadge/c…
xiaoyatong Aug 17, 2026
de9712f
fix(ci): add feat_v4.x branch coverage and release version assertion
xiaoyatong Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
42 changes: 42 additions & 0 deletions .agents/A11Y-WORKFLOW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# NutUI-React AI 无障碍开发协同指南 (A11Y Workflow)

本指南旨在教开发者如何利用 `.agents/skills-a11y.md` 指令库,驱动 AI 助手自动完成组件的无障碍(A11y)适配。

## 1. 核心原理

AI 助手在加载 `.agents/skills-a11y.md` 后,会自动获得以下“常识”:

- **双端规范**:Web 端用 `aria-xxx` (kebab-case),Taro 端用 `ariaXxx` (CamelCase)。
- **状态绑定**:自动将 `checked/disabled/loading` 映射至 ARIA 属性。
- **视觉去噪**:自动为装饰性图标添加 `aria-hidden` / `ariaHidden`。

## 2. 如何下达指令 (Best Practices)

### 场景 A:新组件开发

**指令建议**:

> “请帮我开发一个新的 `Slider` 组件,并根据 `.agents/skills-a11y.md` 同步实现 Web 和 Taro 的无障碍支持。”

### 场景 B:现有组件重构

**指令建议**:

> “请对比 `.agents/skills-a11y.md` 中的校验清单,审计 `src/packages/xxx/xxx.tsx` 的无障碍实现,并给出重构代码。”

### 场景 C:批量 A11y 检查

**指令建议**:

> “检查当前组件是否在 Taro 环境下正确使用了驼峰式的 `ariaLabel` 而非 `aria-label`。”

## 3. 常见避坑指南

- **Taro 属性丢失**:如果发现 `ariaLabel` 没生效,检查是否在 `View` 标签上透传了 `...rest`。
- **重复 Label**:如果组件已经通过 `children` 渲染了文字,不必再在 `ariaLabel` 中重复,除非是为了给读屏器提供更清晰的上下文。
- **图标隐藏**:不要忘记给所有的辅助性 Icon 加上 `ariaHidden` / `aria-hidden="true"`,否则读屏器会尝试读取图标的 Unicode 字符。

## 4. 验证方式

- **Web 端**:使用 Chrome DevTools 的 `Accessibility` 面板查看 `Accessibility Tree`。
- **Taro 端**:在真机读屏模式(iOS VoiceOver / Android TalkBack)下测试。
139 changes: 139 additions & 0 deletions .agents/skills-a11y.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# Agent Skill: NutUI-React Accessibility (A11y) Adaptation

本技能库指导 AI 助手如何根据 NutUI-React 的多端架构(Web & Taro)进行精准的无障碍适配。

## 1. 环境感知与属性规范 (Context & Convention)

AI 必须根据当前编辑的文件后缀切换属性命名风格:

| 平台 | 文件后缀 | 属性格式 | 示例 |
| --- | --- | --- | --- |
| **Web H5** | `*.tsx` | **Kebab-case** | `aria-label`, `aria-disabled` |
| **Taro** | `*.taro.tsx` | **CamelCase** | `ariaLabel`, `ariaDisabled` |

---

## 2. 核心适配规则 (Core Rules)

### 2.1 状态映射逻辑

自动将组件的逻辑状态映射到无障碍状态:

- **选中状态**:
- Web: `aria-checked={checked}`
- Taro: `ariaChecked={checked}`
- **禁用状态**:
- Web: `aria-disabled={disabled || loading}`
- Taro: `ariaDisabled={disabled || loading}`
- **忙碌/加载状态**:
- Web: `aria-busy={loading}`
- Taro: `ariaBusy={loading}`

### 2.2 角色显式声明 (Roles)

交互式容器或承载特定功能的组件必须声明 `role` (Web) 或 `ariaRole` (Taro):

- **Button**: `role="button"` / `ariaRole="button"`
- **Dialog/Popup**: `role="dialog"` / `ariaRole="dialog"` + `aria-modal="true"` / `ariaModal={true}`
- **TabItem**: `role="tab"` / `ariaRole="tab"`

### 2.3 视觉隐藏处理

- **装饰性元素**: Icon、装饰线等对视障用户无意义的元素必须隐藏。
- Web: `aria-hidden="true"`
- Taro: `ariaHidden` (Boolean 属性)

### 2.4 图标治理决策树 (Icon Strategy)

治理图标时,必须识别其在上下文中的角色:

1. **装饰性 (Icon + Text)**:
- **场景**:图标旁边有力所能及的文字说明。
- **规则**:彻底隐藏图标,避免信息重复。
- **实现**:`<Icon aria-hidden="true" />`。
2. **交互式 (Standalone Icon as Button)**:
- **场景**:图标是唯一的点击入口(如关闭按钮、搜索提交)。
- **规则**:**容器承载语义,内部图标隐藏**。
- **实现**:
```tsx
<span role="button" aria-label="搜索" tabIndex={0}>
<Search aria-hidden="true" />
</span>
```
3. **语义化 (Standalone Icon as Status)**:
- **场景**:图标独立表示某种状态(如“成功/失败”徽标)。
- **规则**:图标直接承载语义,**严禁使用 aria-hidden**。
- **实现**:`<Icon aria-label="已完成" />`。

---

## 3. 实现范式 (Implementation Patterns)

### 3.1 Web H5 示例 (`button.tsx`)

```tsx
<button
className={classes}
aria-disabled={disabled || loading}
aria-busy={loading}
aria-label={props['aria-label'] || props.ariaLabel}
>
<div className="nut-button-wrap" aria-hidden="true">
{icon}
<span>{children}</span>
</div>
</button>
```

### 3.2 Taro 示例 (`button.taro.tsx`)

```tsx
<View
className={classes}
ariaRole="button"
ariaDisabled={disabled || loading}
ariaBusy={loading}
ariaLabel={props.ariaLabel}
>
<View className="nut-button-wrap">
<View ariaHidden>{icon}</View>
<View>{children}</View>
</View>
</View>
```

---

## 4. 键盘与焦点管理 (Keyboard & Focus)

- **Tab 键支持**: 确保通过原生标签或 `tabIndex={0}` 使元素可聚焦。
- **Esc 交互**: 弹出层必须支持 Esc 键触发 `onClose`。
- **焦点捕获**: 复杂弹出层(Modal/Drawer)应引导用户使用 `FocusTrap` 逻辑或在文档中提示焦点管理。

## 5. 校验清单 (A11y Reviewer)

AI 在生成的代码中必须自检:

1. [ ] 所有的图片/图标是否有 `alt` 或 `aria-hidden`?
2. [ ] 无文字的按钮是否强制要求了 `aria-label`/`ariaLabel`?
3. [ ] 状态(Disabled/Busy)是否双向绑定到 ARIA?
4. [ ] 弹出层是否设置了 `role="dialog"` 和 `modal` 标记?

## 6. 自动化治理工具 (Automation Tools)

项目提供了一个统一的自动化修复脚本 `scripts/a11y-governance.mjs`,该脚本集成了属性映射、图标隐藏与语法修复功能。

### 脚本功能:

- **图标安全隐藏**: 自动为 Web/Taro 端的图标添加隐藏属性,具备组件识别过滤机制(自动避开 SearchBar 等)。
- **多端属性对齐**: 自动将 `.taro.tsx` 文件中的 `aria-*` 转换为驼峰式规范。
- **语法自动修复**: 修复 JSX 中的语法瑕疵,并保护箭头函数不受损。

### 使用建议:

- 在开展新批次治理前运行:
```bash
/usr/local/bin/node scripts/a11y-governance.mjs
```
- AI 在生成代码时,应参考该脚本的逻辑,确保装饰性图标默认隐藏,交互式图标通过容器承载语义。
- AI 在生成新组件代码时,应参考该脚本的逻辑,确保图标默认携带隐藏属性,除非该图标具有独立的交互功能。
27 changes: 27 additions & 0 deletions .agents/skills/performance_audit/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# NutUI-React Performance Audit Skill

## Overview

This skill provides a unified workflow for auditing the performance, footprint, and codebase health of the NutUI-React component library.

## Commands

### `npm run performance:audit`

Executes all associated scripts and generates a Markdown report at `scripts/performance/audit-report.md`.

## Included Audits

1. **Bundle Size Audit**: Calculates individual component file sizes (pre/post-gzip).
2. **Tree-shaking Verification**: Validates the correct elimination of unused code during bundling.
3. **Render Performance Audit**: Checks for unnecessary re-renders in React components.

## When to Run

- **Before major releases**: To ensure no regression in bundle size.
- **Reviewing new components**: To verify they align with the library's performance standards.
- **Refactoring core logic**: To ensure Tree-shaking is not accidentally broken.

## Reporting

The results are output to the terminal in a formatted Markdown table for easy copy-pasting into PR reviews or documentation.
81 changes: 81 additions & 0 deletions .claude/commands/nutui-analyze.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# NutUI 组件需求分析

你是 NutUI React 组件库的需求分析专家。根据用户描述的需求,对目标组件进行全面分析。

## 输入

用户会描述一个组件变更需求,可能是:新增组件、修改组件、修复 Bug、样式调整、API 变更等。

## 分析步骤

### 1. 组件现状扫描

读取目标组件的所有相关文件,建立完整视图:

- `src/packages/<component>/<component>.tsx` — H5 主文件
- `src/packages/<component>/<component>.taro.tsx` — Taro 跨端文件
- `src/packages/<component>/<component>.harmony.css` — 鸿蒙样式
- `src/packages/<component>/<component>.scss` — 样式文件
- `src/packages/<component>/__tests__/` — 测试文件
- `src/styles/variables.scss` — 全局样式变量(grep 组件前缀)
- `src/packages/<component>/doc.md` 或 `doc.zh-TW.md` — 文档
- `src/packages/<component>/demo.tsx` — 示例代码

### 2. 影响面分析

- 列出所有需要修改的文件
- 标注跨端一致性要求(H5 / Taro / Harmony 三端需同步的变更)
- 识别样式变量的新增、修改、删除
- 识别对外 API(Props/Events)的变化,评估是否 Breaking Change
- 检查是否有其他组件依赖当前组件

### 3. 风险评估

- 向后兼容性风险(CSS 变量重命名/删除、Props 变更)
- 跨端差异风险(某端不支持的特性)
- 样式回归风险(布局变化可能影响使用方)

## 输出

将分析结果写入 `.claude/nutui-analysis.json`,格式如下:

```json
{
"component": "组件名",
"requirement": "需求简述",
"currentFiles": ["涉及的现有文件列表"],
"changes": [
{
"file": "文件路径",
"type": "modify|create|delete",
"description": "变更说明"
}
],
"variableChanges": [
{
"action": "add|modify|delete",
"name": "变量名",
"oldValue": "旧值(如适用)",
"newValue": "新值(如适用)"
}
],
"apiChanges": [
{
"prop": "属性名",
"action": "add|modify|deprecate|remove",
"breaking": true/false,
"description": "说明"
}
],
"risks": ["风险项列表"],
"crossPlatform": {
"h5": true/false,
"taro": true/false,
"harmony": true/false
}
}
```

分析完成后,告知用户分析结果摘要,并提示运行 `/nutui-plan` 进入下一阶段。

$ARGUMENTS
70 changes: 70 additions & 0 deletions .claude/commands/nutui-execute.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# NutUI 组件开发执行

你是 NutUI React 组件库的代码实施专家。按照开发计划逐步执行任务。

## 输入

读取 `.claude/nutui-plan.json` 获取开发计划。如果文件不存在,提示用户先运行 `/nutui-plan`。

## 执行规则

### 1. 代码规范

- **JSX 拆分**:避免生成过长的 JSX,将长内容分成多块渲染
- **类型校验**:关键变量进行类型和空值校验,避免异常渲染
- **注释**:仅对复杂逻辑添加简短注释
- **样式变量**:新增的 CSS 变量必须遵循 `$组件名-属性名` 命名规范,使用 `var(--nutui-组件名-属性名, 默认值)` 格式
- **scale-px**:注意 `scale-px()` 在 CSS 变量 fallback 中嵌套时可能有编译问题,简单值可直接用 `1px` 等

### 2. 跨端同步

修改 `.tsx` 后必须同步 `.taro.tsx`:

- `<div>` → `<View>`,`<span>` → `<Text>` 等标签替换
- 事件绑定方式差异
- 保持 Props 和逻辑完全一致

### 3. 执行流程

按 `nutui-plan.json` 中的任务顺序执行:

1. 执行当前任务
2. 更新任务状态为 `done`
3. 到达 checkpoint 时运行验证(测试等)
4. 如果验证失败,修复后再继续
5. 全部任务完成后运行完整测试

### 5. 样式变量同步检查

修改 `src/styles/variables.scss` 中的组件变量后,必须同步:

- `src/packages/configprovider/types.ts` — 新增/删除对应类型
- 组件 4 个 doc 文件(`doc.md`、`doc.en-US.md`、`doc.zh-TW.md`、`doc.taro.md`)的 CSS 变量表 — 更新名称、说明、默认值
- 各 variant 文件(`variables-daojia.scss`、`variables-jmapp.scss`、`variables-jrkf.scss`)— 新增/删除对应变量

### 6. 测试要求

- 新增/修改的 Props 必须有对应测试
- 结构变更需更新结构断言测试
- 使用 `vitest` 运行:`npx vitest run src/packages/<component>`

## 输出

每完成一个任务,更新 `.claude/nutui-plan.json` 中对应任务的 `status` 为 `"done"`。

全部完成后,生成执行报告写入 `.claude/nutui-execution-report.json`:

```json
{
"component": "组件名",
"tasksCompleted": 7,
"tasksFailed": 0,
"testResult": "pass",
"filesModified": ["修改的文件列表"],
"summary": "执行摘要"
}
```

提示用户运行 `/nutui-review` 进行代码评审。

$ARGUMENTS
Loading
Loading