chinboy
046f2441b6
feat(Message,Breadcrumb): port Message control and Breadcrumb showcase from release/5.0
2026-05-01 08:23:32 +08:00
chinboy
a640ddb397
gallery(Splitter,SplitButton): port Splitter and SplitButton showcases from release/5.0
2026-05-01 07:48:18 +08:00
chinboy
d4247c9c72
gallery(Icon,Button): port Icon and Button showcases and enable OptionButtonGroup theme
2026-05-01 00:00:30 +08:00
chinboy
43d7237228
feat(TabControl): port TabControl from release/5.0 with Avalonia 12 adaptation
...
- Migrate selection model to Avalonia 12 item-side triggering pattern
- Remove inaccessible IPopupHostProvider and RawPointerEventArgs usage
- Fix PresetPalettes light/dark palette generation being swapped
- Enable TabControl themes and register gallery showcases
2026-04-30 22:27:06 +08:00
chinboy
77d5a39f98
feat(DropdownButton,SplitButton): port DropdownButton and SplitButton from release/5.0 with Avalonia 12 adaptation
2026-04-30 21:03:29 +08:00
chinboy
3fb8c2abab
fix(Menu): enable CheckBox and RadioButton themes and keep menu open on toggle click
2026-04-30 19:54:31 +08:00
chinboy
51b40bef40
fix(Menu,Popup): fix popup placement and migrate gallery to AtomUI Menu
...
- Fix Popup.HandleCustomPlacement early return when PlacementTarget is
null by falling back to Parent, enabling custom placement for Menu
- Adjust PopupUtils primaryMargin to use marginToAnchor directly when
set, instead of Max with shadow offset
- Migrate WorkspaceWindow from native Menu/MenuItem to atom:Menu
- Share ShouldUseOverlayLayer property between Menu and Popup
- Enable overlay layer for Menu and configure per-mode MarginToAnchor
2026-04-30 19:05:09 +08:00
chinboy
9795625070
feat(Menu): port Menu infrastructure from release/5.0 with Avalonia 12 adaptation
2026-04-30 17:04:00 +08:00
chinboy
7277f14b86
gallery: port gallery framework skeleton from release/5.0 with Avalonia 12 adaptation
2026-04-30 14:58:55 +08:00
chinboy
ade1349b5f
refactor(NavMenu): align interaction handler and menu item with Avalonia 12 Menu patterns
2026-04-30 14:34:16 +08:00
chinboy
7cf36fde14
feat(Popup): implement IsPointAtCenter to align arrow with anchor center
2026-04-30 14:01:22 +08:00
chinboy
dad8deadcb
fix(Flyout): enable MarginToAnchor and custom placement for Flyout popup
...
Add missing MarginToAnchor binding in Flyout.CreatePopup, fix theme to
use FlyoutHostTokenResource instead of PopupHostTokenResource, and
intercept Placement changes in Popup to redirect through custom
placement logic when set externally by PopupFlyoutBase.
2026-04-30 13:16:43 +08:00
chinboy
90956c5dc6
refactor(Popup): extract shared motion logic and optimize close animation re-entry
...
Extract duplicated ConfigureMotion into PopupUtils.CreateMotionForPlacement, replace
Flyout's 16-branch arrow flip with ArrowPositionUtils.FlipArrowPosition, and add
CancelCloseAnimation to Popup so FlyoutStateHelper can cancel in-flight close
animations on fast hover re-entry instead of doing destructive Hide+ShowAt.
2026-04-30 11:48:29 +08:00
chinboy
3fdfd5af89
feat(Flyout): add open/close motion and fix close animation being interrupted by HideCore cleanup
2026-04-30 11:21:07 +08:00
chinboy
6c9f47c87d
feat(Flyout): add FlyoutHost with Hover, Click and Focus trigger modes
...
Implement FlyoutHost control and FlyoutStateHelper supporting three trigger types,
with proper overlay/windowed mode handling. Add subtle stroke to ArrowIndicator
for arrow tip visibility beyond shadow coverage. Fix Popup crash by setting
CustomPopupPlacementCallback before PlacementMode.Custom assignment.
2026-04-30 10:43:05 +08:00
chinboy
0f655b384e
refactor(Popup): unify shadow management with per-mode PopupRootShadow and OverlayHostShadow tokens
2026-04-29 21:39:04 +08:00
chinboy
36add2c789
feat(ToolTip): add IsCustomShowAndHide to support externally controlled tooltip visibility
2026-04-29 18:59:25 +08:00
chinboy
cbf63df1a7
refactor(Popup): move custom placement logic from ToolTip into Popup
2026-04-29 18:52:12 +08:00
chinboy
beb2c404ae
refactor(ListBox): migrate ListBox module to Avalonia 12
2026-04-29 18:04:50 +08:00
chinboy
10a9d79132
refactor(AddOnDecoratedBox): migrate AddOnDecoratedBox module to Avalonia 12
2026-04-29 17:54:06 +08:00
chinboy
46aa408576
refactor(Input): migrate Input module to Avalonia 12
2026-04-29 17:20:55 +08:00
chinboy
9309739f28
refactor(Card): migrate Card module to Avalonia 12
2026-04-29 17:14:45 +08:00
chinboy
bfa69db50b
refactor(Calendar): migrate Calendar module to Avalonia 12
2026-04-29 17:09:07 +08:00
chinboy
2a9d1243e0
refactor(Expander): migrate Expander module to Avalonia 12
2026-04-29 17:05:02 +08:00
chinboy
03ec864f22
refactor(Collapse): migrate Collapse module to Avalonia 12
2026-04-29 17:02:11 +08:00
chinboy
1644972a4f
refactor(FlexPanel): migrate FlexPanel module to Avalonia 12
2026-04-29 16:59:19 +08:00
chinboy
7eca9fc002
refactor(OptionButtonGroup): migrate OptionButtonGroup module to Avalonia 12
2026-04-29 16:56:17 +08:00
chinboy
6766149da3
refactor(Statistic): migrate Statistic module to Avalonia 12
2026-04-29 16:48:13 +08:00
chinboy
ea0eb7e654
refactor(Watermark): migrate Watermark module to Avalonia 12
2026-04-29 16:45:22 +08:00
chinboy
89465966dd
refactor(Steps): migrate Steps module to Avalonia 12
2026-04-29 16:39:39 +08:00
chinboy
3f3ce31d82
refactor(Spin): migrate Spin module to Avalonia 12
2026-04-29 16:35:09 +08:00
chinboy
b409909124
refactor(GroupBox,Separator): migrate GroupBox and Separator modules to Avalonia 12
2026-04-29 16:28:10 +08:00
chinboy
588c0a8240
refactor(Empty): migrate Empty module to Avalonia 12
2026-04-29 16:23:01 +08:00
chinboy
96145e0060
refactor(Carousel): migrate Carousel module to Avalonia 12
2026-04-29 16:17:08 +08:00
chinboy
97e84cfea9
chore(Generator): register Tag and Timeline token types
2026-04-29 15:54:24 +08:00
chinboy
0a749494ed
refactor(Tag): migrate Tag module to Avalonia 12
2026-04-29 15:46:49 +08:00
chinboy
6325eaedc2
refactor(Switch): migrate Switch module to Avalonia 12
2026-04-29 15:45:17 +08:00
chinboy
ef97d2a5f1
refactor(Splitter,Buttons): migrate Splitter and Button controls to Avalonia 12
2026-04-29 15:40:12 +08:00
chinboy
c41accde5a
refactor(Segmented): migrate Segmented module to Avalonia 12
2026-04-29 15:03:01 +08:00
chinboy
ab23e88f2e
refactor(Result): migrate Result module to Avalonia 12
2026-04-29 14:57:18 +08:00
chinboy
6290a52f46
refactor(Rate): migrate Rate module to Avalonia 12
2026-04-29 14:47:41 +08:00
chinboy
eff04b0675
refactor(RadioButton): migrate RadioButton module to Avalonia 12
2026-04-29 14:32:02 +08:00
chinboy
c5593a836a
refactor(ProgressBar): migrate ProgressBar module to Avalonia 12
2026-04-29 14:25:44 +08:00
chinboy
9af427fc41
refactor(MarqueeLabel): migrate MarqueeLabel module to Avalonia 12
2026-04-29 14:18:13 +08:00
chinboy
8b0f93c534
refactor(CheckBox): migrate CheckBox module to Avalonia 12
2026-04-29 14:12:46 +08:00
chinboy
525a8f570a
refactor(Breadcrumb): migrate Breadcrumb module to Avalonia 12
2026-04-29 13:57:12 +08:00
chinboy
a04a8e7a7c
refactor(AdornerLayer): migrate AdornerLayer module to Avalonia 12 and update dependency path with axaml-aware analysis
2026-04-29 13:39:58 +08:00
chinboy
42fb2b04ce
add migration path doc
2026-04-29 13:05:16 +08:00
chinboy
144d5f123f
fix(Avalonia12): add MotionAwareClose/Open removal rule (Category 52) to migration skill
...
In AtomUI 6.0, Popup.MotionAwareClose and Popup.MotionAwareOpen are removed.
Replace with direct Popup.IsOpen assignment.
2026-04-29 12:47:43 +08:00
chinboy
5420c04ed6
refactor(ScrollViewer): migrate ScrollViewer module to Avalonia 12 and add base-class scanning rule to migration skill
2026-04-29 10:51:05 +08:00