chinboy
|
69f5c9b662
|
fix(Cascader): 对齐 Ant Design 键盘交互并修复搜索焦点路由 (#502)
|
2026-10-18 12:44:10 +08:00 |
|
chinboy
|
89ddaefc3d
|
fix(NumericUpDown): 修复清除按钮命中及步进按钮方形布局
|
2026-10-18 12:44:10 +08:00 |
|
chinboy
|
646f0abe1f
|
fix(Skeleton): 改用样式动画驱动 shimmer 并修复未观察 Task 异常
|
2026-10-18 12:44:10 +08:00 |
|
chinboy
|
45e2b832c8
|
fix(Window): 修复 TitleBarFrameBackground 标题栏背景不生效
|
2026-10-18 12:44:10 +08:00 |
|
chinboy
|
264c31eafa
|
fix(Dialog): 修复 Overlay 自然尺寸恢复与单轴状态隔离 (#499)
|
2026-10-17 14:48:21 +08:00 |
|
chinboy
|
5b761a48a5
|
fix(ImagePreviewer): 统一缩放变换并完善成员布局检查
|
2026-10-17 14:40:23 +08:00 |
|
chinboy
|
19df039d53
|
fix(DesktopControls): 修复 Dialog 缩放偏移并校正回归测试
|
2026-10-17 13:33:16 +08:00 |
|
chinboy
|
c1b950e8e9
|
refactor(Startup)!: unify bootstrap, package loading and Splash
|
2026-10-16 12:07:12 +08:00 |
|
chinboy
|
f55ecf794f
|
refactor(Core)!: 统一启动生命周期并优化分阶段注册、主题缓存与资源管理
|
2026-10-13 09:21:40 +08:00 |
|
chinboy
|
d0aa66d0c5
|
fix(Window): 修复主题切换时窗口内容背景未更新 (#496)
|
2026-10-09 22:08:27 +08:00 |
|
CHINBOY
|
06f8320c7f
|
fix(OverlayDialog): 移除遮罩动画并修正弹窗动画完成时序
|
2026-10-07 16:28:47 +08:00 |
|
chinboy
|
b685b5185b
|
feat(TimePicker): 重构候选值提交与滚动交互并同步示例文档
|
2026-10-07 12:17:38 +08:00 |
|
chinboy
|
a8f6e14b3c
|
feat(ColorPicker): 添加可配置确认与取消及配套示例文档
|
2026-10-06 20:47:56 +08:00 |
|
chinboy
|
d45f8cde8a
|
merge: 整合 release/6.0 输入修复与水印布局优化
|
2026-10-05 11:34:58 +08:00 |
|
chinboy
|
25b2f4aada
|
fix(Controls): 修复水印资源生命周期与放大布局及输入边界
|
2026-10-05 11:28:21 +08:00 |
|
chinboy
|
f8e770d607
|
fix(DateControls): align panel visuals, picker ranges and showcases
|
2026-10-05 10:47:07 +08:00 |
|
chinboy
|
55b5b97807
|
fix(DatePicker): align range panel anchor and endpoint highlights
|
2026-10-04 15:07:13 +08:00 |
|
chinboy
|
a307d79e06
|
fix(CandidateList): remove inherited dropdown dividers
|
2026-10-04 14:31:27 +08:00 |
|
chinboy
|
256afe5ec3
|
feat(DateViewer)!: share date panels across Calendar and DatePicker
|
2026-10-04 14:31:00 +08:00 |
|
chinboy
|
12e4a1a8a9
|
fix(Input): 修复跨窗口输入串扰与窗口关闭时的生命周期竞态
|
2026-10-04 13:30:04 +08:00 |
|
chinboy
|
e862e58034
|
chore(deps): 升级 Avalonia 至 12.1.3 并精简反射适配
|
2026-09-29 08:31:33 +08:00 |
|
chinboy
|
6664466c1a
|
fix(Steps): 修复自然尺寸测量并保留连接线
|
2026-09-28 17:41:03 +08:00 |
|
chinboy
|
d39bf271b7
|
chore(Docs): 移除已迁出的 LLMs 生成器及全部 LLMS 相关内容
|
2026-09-28 17:24:10 +08:00 |
|
chinboy
|
3cc6cd4cbb
|
refactor(AOT)!: 使用 TypeMap 替换旧注册与裁剪管线
|
2026-09-28 11:12:49 +08:00 |
|
chinboy
|
7be6cf2afb
|
fix(RibbonBadge): 修复折角绘制坐标模型
|
2026-09-27 13:56:39 +08:00 |
|
chinboy
|
0218f665d2
|
perf(Dialog,Motion): 将 Overlay 动效迁移至合成器并统一 Zoom 状态
|
2026-09-27 09:44:30 +08:00 |
|
chinboy
|
45c361e546
|
feat(DataGrid): 增加分页 Extra Content 与页大小选择器
|
2026-09-26 12:12:23 +08:00 |
|
chinboy
|
0efaf9f2de
|
fix(WindowTitleBar): 统一 AddOn 与 caption band 几何并抽取 CaptionButtonFrame
|
2026-09-26 09:43:46 +08:00 |
|
chinboy
|
24526c67c9
|
feat(Pagination,Menu): 添加自定义页大小组件并修复子菜单状态
|
2026-09-22 17:15:33 +08:00 |
|
chinboy
|
0cc7ffe588
|
fix(Feedback): 修复 Message 与 Notification 跨管理器叠放顺序
|
2026-09-22 09:51:32 +08:00 |
|
chinboy
|
39721373b8
|
fix(Pagination): preserve jump hover after navigation
|
2026-09-21 22:28:23 +08:00 |
|
chinboy
|
171740dc50
|
feat(Pagination): align jump navigation with Ant Design
|
2026-09-21 21:30:15 +08:00 |
|
CHINBOY
|
3b6b792c6f
|
fix(Steps): 修复垂直副标题叠印并对齐 Inline hover 背景与 Panel 裁剪的 antd v6 视觉
|
2026-09-21 11:34:54 +08:00 |
|
chinboy
|
a135880834
|
release: prepare AtomUI 6.2.0
|
2026-09-18 22:08:23 +08:00 |
|
chinboy
|
c8f40d9a4c
|
fix(Semantic): 修复弹层钉住、语义作用域、布局及资源生命周期
|
2026-09-18 14:21:06 +08:00 |
|
CHINBOY
|
b17b6b229c
|
fix(Dialog): 修复窗口宿主请求尺寸覆写 ClientSize 的黑带渲染并补齐原生标题栏下正文留白
|
2026-09-18 08:40:48 +08:00 |
|
chinboy
|
550cd34e91
|
fix(Segmented): 对齐 antd 选中滑块动效并由滑块独占承载选中背景
|
2026-09-17 15:07:00 +08:00 |
|
chinboy
|
b3d53f32a4
|
feat(Semantic): 增加 Splash 语义部件并对齐预览双进度态与示例 logo 尺寸
|
2026-09-17 11:13:22 +08:00 |
|
chinboy
|
1ec73c6015
|
feat(Semantic): 增加 ComboBox 语义部件并修复钉住遮罩与根边框定制
|
2026-09-17 11:13:22 +08:00 |
|
chinboy
|
8a227e61af
|
feat(Semantic): 增加 ButtonSpinner 语义部件并修复输入族根边框定制失效
将 ButtonSpinner 纳入 Semantic Part 改造(原排除判定撤销),按全量改造设计 §2.1
第 4 条以产品职责直接对应建立映射。
准入依据:上游稳定版 InputNumberSemanticType 公开并实际消费 root / prefix /
suffix / input / actions 五个分区键,其中 actions 应用于包裹上、下步进按钮的容器,
对应 AtomUI 的 ButtonSpinnerHandle;原判定「InputNumber 的 handle 属内部区域」的
事实前提不再成立。边界如实记录:上游至今没有独立 spinner owner,本项准入依据的是
上游 actions 键叠加用户指令,而非原触发条件(新稳定版出现独立 spinner owner)自动
满足。
实现:
- 新增 ButtonSpinner.SemanticParts.cs 声明六个 Part,ButtonSpinner 声明为 partial:
content / innerLeftContent / innerRightContent 位于帧模板,actions 位于 owner 模板
内的手柄,increaseButton / decreaseButton 位于手柄模板;后五者声明
CrossNestedOwners。含隐式 root 共七个 Part,均为 Single。
- 帧内容槽不复用 semantic-prefix / semantic-suffix:NumericUpDown 已发布的 prefix
route 是宽松后代(/template/ .semantic-scope-spinner >> .semantic-prefix),而
ButtonSpinner 的帧节点位于 NumericUpDownSpinner 子树内,复用会让该 route 命中两个
节点并破坏其已发布的 Single 契约;改用与自身公开 API 同名的
innerLeftContent / innerRightContent。
- 修复根边框定制失效:可见外框由共享帧绘制、其状态机拥有 BorderBrush,owner 的
BorderBrush 此前完全落不到帧上(ButtonSpinner、Select、TreeSelect、Cascader、
OtpLineEdit 均如此)。改为以 LocalValue 中继到帧,并带接管标记,避免嵌套 owner
(NumericUpDown 的 spinner 即 ButtonSpinner)的中继被内层清除。
- 修复帧动效接线缺失:ButtonSpinner、NumericUpDown 两个模式、Select / TreeSelect /
Cascader 的帧未接收 owner 的 IsMotionEnabled,回落到帧主题的共享默认值而使过渡
常开;进行中的 SolidColorBrush 过渡优先级高于中继写入的 LocalValue,令运行中的根
边框定制静默失效。模板应用前赋值不存在过渡基线,故早期测试无法暴露该缺陷。
- OtpLineEdit 保留 CellBorderBrush 的 cell 专用优先级,根 BorderBrush 作为其回落;
Background 不参与中继,避免控件级透明背景覆盖 cell 主题填充。
测试:
- 新增 ButtonSpinnerSemanticPartTests(9 例):descriptor 字段与顺序、六类 marker
契约、生成样式各精确命中目标、状态切换后 marker 稳定、默认主题不消费 .semantic-*,
并锁定帧槽位不复用 semantic-prefix / suffix 的回归护栏。
- 新增 ButtonSpinnerRootSurfaceTests(5 例)、NumericUpDownRootSurfaceTests 扩至 7 例、
SelectRootSurfaceRelayTests(15 例)、OtpLineEditRootSurfaceRelayTests(4 例),覆盖
定制压过 hover / focus 状态机、置空恢复状态机、模板前赋值、未定制保持 rest 状态、
实时改边框立即生效、以及帧动效接线。
- NumericUpDownSemanticPartTests 作为共享帧回归护栏全绿,证明未破坏其已发布契约。
Gallery:
- ButtonSpinnerShowCase 迁移到 GalleryShowCaseHost,新增 Semantic Parts 页签与
SemanticStyles 示例(含根边框定制),补齐 9 个资源键 × 4 语言。
- Semantic Parts 页签收敛为单个预览:初版误发两个预览(Floating handle 与
Inline handle),但 IsButtonSpinnerFloatable 默认 False 且前者未显式设置,两者
渲染同一个默认常驻手柄、七行部件说明完全重复;页面测试改为断言恰好一个预览。
文档:
- 新增 semantic-part.md,并重写 overview.md 中过期的 root/trigger/item/popup/motion
语义表为真实契约;补齐 ButtonSpinner 与四个输入族控件的 changelog,并在
semantic-part.md 标明「默认是常驻手柄」以免再现上述预览误判。
- 记录范围撤销:改造设计 §2.3 / §2.4、计划新增第六批任务;新增真机验收步骤文档。
验证:Desktop 4068/4068、Gallery 645/645、GalleryBase 185/185、Generator
SemanticPart 54/54、AtomUI.slnx 构建 0 warning / 0 error、LLMS verify 通过
(79 控件 / 161 文件)、git diff --check 干净。真机视觉验收待用户回传截图,未宣称通过。
(cherry-pick 自 feature/semantic-buttonspinner 的 6d693d13a,并按新基线适配)
- Since 统一由 6.0 改为 6.2.0:新基线的生成器新增 SemanticPartInvalidSince 校验,只接受
major.minor.patch 三段式发布版本,原值在合并后会直接阻断生成。
- 合并当日两次范围纳入:GroupBox(无上游 owner,用户指令纳入)与本 ButtonSpinner 各自使
准入家族 +1、排除控件 -1;合并后准入家族 65、排除控件 12(非任一分支单独记录的 64/13)。
- 本地化单元计数按新基线重算为 4749(原分支 4741 基于旧基线,已失效)。
|
2026-09-17 11:13:21 +08:00 |
|
chinboy
|
21903f7a30
|
fix(Generator): 统一语义部件 Since 为三段式发布版本并校验格式
|
2026-09-17 11:13:21 +08:00 |
|
chinboy
|
41c27a9ea3
|
feat(Semantic): 增加 GroupBox 语义部件并对齐边框定制入口与示例
|
2026-09-17 11:13:21 +08:00 |
|
chinboy
|
e4ba7ee512
|
docs(Semantic): 修正 SearchEdit 语义契约占位表并补正 public surface 描述
overview.md 的 LLMS 语义区域表原为生成器默认占位(root / input / trigger /
popup / validation,"相关 API" 列写「见 API 与契约模型」),与实际 descriptor
完全不符,且被逐字投射进对外生成的 semantic-cn.md,等于公开传播错误契约。
按 SearchEdit.SemanticParts.cs 的真实声明替换为 prefix / input / suffix /
clear / button 五个 Selector 部件,并记录路由锚点
(semantic-scope-input-frame / -prefix / -suffix),说明 semantic-content 与
semantic-placeholder 是非 Part 的辅助 marker,不注册 descriptor、不生成
Style,不属于对外语义契约。
同时补正同一文档中两处与源码不符的 public surface 描述:
- SearchButtonText 实际类型为 object?,原文写 string。
- 内部前后缀入口只有 InnerLeftContentTemplate / InnerRightContentTemplate,
LineEdit 基类上没有非 Template 版本(文档照搬了别处的命名)。
全量审计(116 个声明部件名 vs 全部目标家族生成文档)确认这是 63 个家族中
唯一的契约与代码不符项。
验证:
- LLMS generate + verify 通过(79 控件 / 161 文件),影响面精确覆盖
search-edit/semantic-cn.md 与两个聚合文件。
- SearchEdit 24/24、Docs.LLMsGenerator.Tests 23/23、Gallery 644/644、
Desktop Controls 4031/4031 全绿,git diff --check 干净。
|
2026-09-17 11:13:21 +08:00 |
|
chinboy
|
2e96cb6e0d
|
feat(Semantic): 增加 Expander 语义部件并修复圆角裁剪失效
将 Expander 纳入 Semantic Part 改造(原排除判定撤销),对齐上游 Collapse
已公开的五个语义键 root / header / icon / title / body。
实现:
- 新增 Expander.SemanticParts.cs 声明五个 Part;ExpanderTheme.axaml 增加
semantic-header / semantic-icon / semantic-title / semantic-body 四个静态 marker。
- body 声明 cardinality Optional:其承载节点位于 PART_ContentMotionActor 内,
折叠稳定态下 actor IsVisible=False,ContentPresenter 不挂接视觉子级、节点从
视觉树完全缺席,首次展开才物化;再次收起时节点保持存在(ContentPresenter
转不可见不解除挂接)。header / icon / title 为常驻节点,声明 Single。
- 修复 PART_Frame 圆角被覆盖:该节点只做矩形裁剪,紧贴左上角且带不透明背景的
header 会盖住圆弧。新增 ClipContentToCornerRadius="True",由根节点统一把整棵
子树裁到圆角内框,与展开状态、方向、视觉模式无关。默认 HeaderBg alpha≈2% 使该
缺陷几乎不可见,但 IsGhostStyle 与任何不透明 Part 背景都会暴露它。
测试:
- 新增 ExpanderSemanticPartTests(11 例):descriptor 字段与顺序、四个静态 marker
契约、生成样式各精确命中一个节点、状态与视觉模式切换后数量不变、body 三阶段
呈现语义,并证明 header 位于 PART_HeaderLayoutTransform 内仍由单一 /template/
路由命中。
- ExpanderBehaviorTests 新增圆角裁剪回归(展开/收起 × Ghost × Borderless)。
Gallery:
- ExpanderShowCase 迁移到 GalleryShowCaseHost,新增 Semantic Parts 页签
(1 个预览 + 5 张 Part 描述卡)与 SemanticStyles 示例,补齐 7 个资源键 × 4 语言。
- 同步页面测试、快照提取范围、目录顺序基线与单元计数。
验证:Desktop 4030/4031(唯一失败为预存在抖动,隔离复跑全绿)、Generator 528/528、
GalleryBase 185/185、Gallery 644/644、LLMS generate + verify、git diff --check 均通过;
圆角裁剪已在真实 Skia 后端(Gallery 桌面宿主)完成视觉验收。
|
2026-09-17 11:13:20 +08:00 |
|
chinboy
|
ce813e0579
|
feat(Semantic): 增加 SplitButton 语义部件并修复弹层钉住与子菜单状态递归
|
2026-09-17 11:13:20 +08:00 |
|
chinboy
|
50abd88be7
|
feat(Masonry): 对齐 antd item 动效与 RTL 镜像并同步文档与示例文案
|
2026-09-17 11:13:20 +08:00 |
|
chinboy
|
955d77b792
|
fix(Feedback): 适配 Message 与 Notification 语义部件至堆叠架构并同步示例文档与本地化
|
2026-09-17 11:13:20 +08:00 |
|
chinboy
|
1b61a9df1f
|
feat(Semantic): 增加 DataGrid 语义部件并对齐上游示例
|
2026-09-17 11:13:20 +08:00 |
|
chinboy
|
557a212b12
|
feat(Semantic): 增加 NavMenu 与 Menu 语义部件并修复弹层钉住与子菜单状态递归
|
2026-09-17 11:13:04 +08:00 |
|
chinboy
|
eb8270b7ad
|
fix(Semantic): 修复 Window 宿主 Dialog 语义样式跨根级联失效并完善示例文案
|
2026-09-17 11:13:04 +08:00 |
|