Releases: accntech/shad-ui
Releases · accntech/shad-ui
0.2.3
Fixes
- Window: handle
WM_NCCALCSIZE(0x0083) so the client area covers the full native window bounds on Windows 10 when not maximized. Previously the left/right/bottom edges showed unpainted native frame; the message is now intercepted unconditionally (independent of_snapLayoutEnabled), whileWM_NCLBUTTONDOWN/WM_NCHITTESTsnap-layout handling remains gated. Fixes #79.
Full Changelog: 0.2.2...0.2.3
0.2.2
Fixes
- Window: dropped the Avalonia 11
Marginworkarounds (-1for FullScreen,7for Windows Maximized). The Avalonia 12 breaking-changes guide says these are no longer needed, and on macOS the-1 → 0reset raced with the system FullScreen-exit animation, leaving content misaligned after restore. Fixes #78. - Window: titlebar drag region now stays hit-testable when
ShowTitlebarBackground=False. TheIsVisiblebinding onPART_TitleBarBackgroundwas collapsing the drag surface, silently disablingBeginMoveDrag. Fixes #65. - Window: fixed a startup crash on Avalonia 12 (
InvalidOperationException: Duplicate setter encountered for property 'ExtendClientAreaToDecorationsHint' in 'Window'). The namedWindowTheme+ emptyBasedOndefaultControlThemepattern produced duplicated setters under v12's stricterStyleInstance.Add. Collapsed into a singleControlThemekeyed{x:Type shadui:Window}.
Full Changelog: 0.2.1...0.2.2
0.2.1
Breaking
- DialogHost: removed the
Ownerproperty and the implicit coupling toShadUI.Window. Code that setDialogHost.Owner=...should drop the binding — the host now resolves its ancestorWindowvia the visual tree automatically.
New Features
- DialogHost: context-aware overlay. Dialog hosts can now live inside any container (not just the top-level
ShadUI.Window), making in-content dialogs and nested hosts work correctly. - Demo (Dialog): new in-content dialog example demonstrating a
DialogHostplaced inside a page section.
Enhancements
- Window: observes
DialogHost.HasOpenDialogacross itsHostscollection, including dynamic add/remove of hosts.
Fixes
- TextBox: respect explicit
Heightset on the control. Previously the inner border double-bound toHeight, squeezing the input area whenLabelorHintwere present.
Chore
- Internal test surface exposed to
ShadUI.Tests; expanded coverage forDialogHostregression and dynamicHostsmembership.
Full Changelog: 0.2.0...0.2.1
0.2.0 - Avalonia 12
Breaking
- Migrated the library and demo to Avalonia 12. Consumers must upgrade to Avalonia 12 to use this release.
New Features
- Tabs: sliding pill indicator with stretch-and-snap motion as the active tab moves between items.
- Demo (ControlBlock): matching sliding pill underline for the demo's example/code tabs.
Enhancements
- Theme: corner radius scale realigned to shadcn defaults.
- Typography: type scale realigned to shadcn defaults.
- Animations:
- New cubic-bezier easing tokens shared across controls.
- Reworked dialog, tooltip, and toast motion.
- Tuned popover open transitions.
- Tightened button press feedback.
EaseOutapplied consistently to remaining transitions.
- Demo (Dashboard): chart tooltip backgrounds now respect the active theme.
Fixes
- ColorPicker: reworked bindings to resolve runtime errors.
Performance
- Demo: deferred TextMate setup so AvaloniaEdit no longer locks the UI on startup.
Chore
- Demo bumped to 1.2.0; copyright year updated to 2026.
Full Changelog: 0.1.6...0.2.0
0.1.6
New Feature
- Implementation of Smooth Scroll behavior
Enhancements
- Window:
- Improve title bar behaviors for macOs and Windows
- Ensure events and timers are properly disposed and unsubscribed
- NumericDropdown:
- disallow input other than numeric and other related characters
What's Changed
- Fix segmentation fault in Demo project on Linux by @congard in #41
- feat(smooth-scroll) Added custom Smooth Scroll behavior by @IcySnex in #62
New Contributors
Full Changelog: 0.1.5...0.1.6
0.1.5
0.1.4
0.1.3
Full Changelog: 0.1.2...0.1.3
Enhancements
- Window
- Ensure maximize button respect CanResize property
- Ensure minimize button is disabled when CanMinimize is set to False
- Prevent drag when CanMove is set to False
- Refactor ResizeGrip application for Linux
- Demo
- Set PlatformTarget to AnyCPU