Flowery.WinUI
1.4.1
See the version list below for details.
dotnet add package Flowery.WinUI --version 1.4.1
NuGet\Install-Package Flowery.WinUI -Version 1.4.1
<PackageReference Include="Flowery.WinUI" Version="1.4.1" />
<PackageVersion Include="Flowery.WinUI" Version="1.4.1" />
<PackageReference Include="Flowery.WinUI" />
paket add Flowery.WinUI --version 1.4.1
#r "nuget: Flowery.WinUI, 1.4.1"
#:package Flowery.WinUI@1.4.1
#addin nuget:?package=Flowery.WinUI&version=1.4.1
#tool nuget:?package=Flowery.WinUI&version=1.4.1
<div align="center">
🌼 Flowery.WinUI
DaisyUI-inspired controls, themes, and native Composition effects for WinUI 3.
NuGet packages
Documentation · Control reference · Demo apps · Changelog
12 languages · Native Windows controls · Runtime themes · Kanban · Win2D
</div>
Flowery.WinUI is a native WinUI 3 control library for the Windows App SDK. Build themed Windows applications with Flowery controls and optional Kanban, Win2D, and authentication packages. Version 1.2.1 is available on NuGet.
Features
- DaisyUI themes and runtime theme changes.
- Input, selection, navigation, popup, dialog, layout, and data display controls.
- Twelve localization languages.
- Native Composition shadows and animations.
- Kanban boards, persistence, undo and redo, filtering, and user integrations.
- Optional Win2D graphics support.
- Shader-effect hosts through native WinUI 3 WebView2 controls.
- A Windows Gallery with the existing control examples.
- A Photos demo app for viewing photos and making basic edits.
- A native Windows Kiosk with six showcase slides.
- A native test host for the existing unit and runtime tests.
Demo apps
The repository includes three Windows apps built with Flowery.WinUI.
| App | What it shows |
|---|---|
Gallery (Flowery.WinUI.Gallery) |
Every control with live examples, themes, sizes and languages. It also hosts the runtime tests. |
Photos (Flowery.WinUI.Photos) |
A complete everyday app: photo library, viewer and basic editor with Win2D. See the Photos README. |
Kiosk (Flowery.WinUI.Kiosk) |
A showcase slideshow with six slides. |
More Photos screenshots are in Flowery.WinUI.Photos/Screenies.
See Build and run for the commands.
Requirements
- Windows 10 version 2004 or later.
- A .NET SDK selected by
global.json, or an explicit-SdkVersion. - Visual Studio with MSBuild and the WinUI development tools.
- Microsoft Edge WebView2 Runtime for the shader-effect views.
- The package versions in
Directory.Packages.props.
The source build uses the native Windows XAML compiler. The repository builds native Windows projects only. SkiaSharp remains a separate image-processing dependency. The projects target .NET 10 for Windows. The build scripts also support early compiler testing with .NET 11 SDK RC2; this does not change the target runtime. See SDK selection for exact-version and local SDK commands.
Use the library
- Add the
Flowery.WinUINuGet package to a WinUI 3 application.
dotnet add package Flowery.WinUI --version 1.2.1
- Merge the library resources after
XamlControlsResourcesin the application resources.
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<ResourceDictionary Source="ms-appx:///Flowery.WinUI/Themes/Generic.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
- Use the existing control namespace.
xmlns:daisy="using:Flowery.Controls"
<daisy:DaisyButton Content="Primary Button" Variant="Primary" />
<daisy:DaisyInput PlaceholderText="Type here" Variant="Bordered" />
<daisy:DaisyThemeDropdown MinWidth="220" />
- For Kanban, add the
Flowery.WinUI.Kanbanpackage and mergems-appx:///Flowery.WinUI.Kanban/Themes/Generic.xaml.
Core controls use Flowery.Controls.
Kanban controls use Flowery.WinUI.Kanban.Controls.
Integrations use Flowery.Integrations.WinUI.
Project, assembly, and package names use Flowery.WinUI.
For source builds, use project references or build local packages.
Build and run
Run these commands in native PowerShell 7 from the repository root:
pwsh -NoProfile -File ./scripts/build_all.ps1 -Configuration Debug -NoRun
pwsh -NoProfile -File ./scripts/build_all.ps1 -Configuration Release -NoRun
pwsh -NoProfile -File ./scripts/run-windows.ps1 -Configuration Debug
For the Gallery and its project references only, use scripts/build_windows.ps1.
After a full build, start Photos with ./bin/Debug/Flowery.WinUI.Photos/net10.0-windows10.0.19041/win-x64/Flowery.WinUI.Photos.exe.
Build logs are in logs/.
The scripts retain a separate log for each run.
Tests
The existing unit tests create WinUI objects. They run with the runtime tests inside the native Gallery test host.
pwsh -NoProfile -File ./scripts/test_windows.ps1 -Configuration Debug
After a successful build, use -SkipBuild to run the same prebuilt binaries.
For a specific display, use -Monitor 2 -WindowRegion LowerHalf to place the test window in its lower half.
The Windows runner passes an isolated results path to the Gallery.
The Gallery stores test state beside that path, separate from personal Gallery settings.
Results and logs are in TestResults/ and logs/.
Projects
| Project | Purpose |
|---|---|
Flowery.WinUI |
Core controls, resources, themes, and localization |
Flowery.WinUI.Kanban |
Kanban controls and board persistence |
Flowery.Integrations.WinUI |
User providers and authentication integrations |
Flowery.WinUI.Win2D |
Optional native Win2D graphics |
Flowery.WinUI.Gallery.Core |
Gallery views, examples, and assets |
Flowery.WinUI.Gallery |
Native Windows application and test host |
Flowery.WinUI.Kiosk |
Native showcase slideshow application |
Flowery.WinUI.Photos |
Photos demo application (library, viewer, editor) |
Flowery.WinUI.RuntimeTests |
Runtime tests and linked unit tests |
Flowery.WinUI.RuntimeTests.WindowsRunner |
External process runner and result assertions |
The current source tree targets native Windows. The shader-effect and kiosk implementations use native hosts with their functions preserved. See the migration record for dated build results and runtime verification scope.
The Kiosk advances every eight seconds and supports manual navigation. See Kiosk scripts for build, run, and verification commands. See Shader effects for the native host API and rendering scope.
Components
Actions
- Button (
DaisyButton): Buttons with color variants, button styles, shapes, and five sizes from ExtraSmall to ExtraLarge. - Fab (
DaisyFab): Floating Action Button (Speed Dial) with support for multiple actions. - Modal (
DaisyModal): Dialog box with backdrop overlay. - Swap (
DaisySwap): Toggle control that swaps between two content states with optional Rotate/Flip effects.
Data Display
- Accordion (
DaisyAccordion): Group of collapse items that ensures only one item is expanded at a time. - Alert (
DaisyAlert): Feedback messages (Info, Success, Warning, Error). - Avatar (
DaisyAvatar): User profile image container (Circle, Square) with online/offline status indicators. - Avatar Group (
DaisyAvatarGroup): Groups multiple avatars with automatic overflow into "+N" placeholder. - Badge (
DaisyBadge): Small status indicators with color variants, five sizes, and anIsOutlineoption. - Card (
DaisyCard): Content container with padding and shadow. - Carousel (
DaisyCarousel): Scrollable container for items. - Chat Bubble (
DaisyChatBubble): Message bubbles with header, footer, and alignment (Start/End). - Collapse (
DaisyCollapse): Accordion/Expander with animated arrow or plus/minus icon. - Countdown (
DaisyCountdown): Monospace digit display. - Diff (
DaisyDiff): Image comparison slider (Before/After). - Kbd (
DaisyKbd): Keyboard key visual style. - Stat (
DaisyStat): Statistics block with Title, Value, and Description. - Timeline (
DaisyTimeline): Vertical list of events with connecting lines.
Data Input
- Checkbox (
DaisyCheckBox): Checkbox with themed colors. - File Input (
DaisyFileInput): Styled button/label for file selection. - Input (
DaisyInput): Text input field with variants (Bordered, Ghost, Primary, etc.). - Radio (
DaisyRadio): Radio button with themed colors. - Range (
DaisyRange): Slider control. - Rating (
DaisyRating): Star rating control with interactivity and partial fill support. - Select (
DaisySelect): ComboBox with themed styles. - Textarea (
DaisyTextArea): Multiline text input. - Toggle (
DaisyToggle): Switch toggle control.
Layout
- Divider (
DaisyDivider): Separation line with optional text. - Drawer (
DaisyDrawer): Sidebar navigation with overlay. - Hero (
DaisyHero): Large banner component. - Join (
DaisyJoin): Container that groups children (buttons/inputs) by merging their borders. - Stack (
DaisyStack): Container that stacks children visually with offsets.
Navigation
- Breadcrumbs (
DaisyBreadcrumbs): Navigation path with separators. - Dock (
DaisyDock): Bottom navigation bar (macOS-style dock) with item selection events. - Menu (
DaisyMenu): Vertical or horizontal list of links/actions. - Navbar (
DaisyNavbar): Top navigation bar container. - Pagination (
DaisyPagination): Group of buttons for page navigation. - Steps (
DaisySteps): Progress tracker steps. - Tabs (
DaisyTabs): Tabbed navigation (Bordered, Lifted, Boxed).
Feedback & Utils
- Indicator (
DaisyIndicator): Utility to place a badge on the corner of another element. - Loading (
DaisyLoading): Animated loading indicators with multiple variants. - Mask (
DaisyMask): Applies shapes (Squircle, Heart, Hexagon, etc.) to content. - Progress (
DaisyProgress): Linear progress bar. - Radial Progress (
DaisyRadialProgress): Circular progress indicator. - Skeleton (
DaisySkeleton): Animated placeholder for loading states. - Toast (
DaisyToast): Container for stacking alerts (fixed positioning).
Theme Controls
- Size Dropdown (
DaisySizeDropdown): Global size selector with localized size names. - Theme Controller (
DaisyThemeController): Flexible toggle with multiple modes. - Theme Dropdown (
DaisyThemeDropdown): Dropdown to select from all 35+ themes. - Theme Manager (
DaisyThemeManager): Static class for programmatic theme control.
✨ Flowery.WinUI extensions
Beyond DaisyUI - The following features and controls are not part of the original DaisyUI CSS specification. They are unique to Flowery, built for WinUI 3.
Utility Controls
- Animated Number (
DaisyAnimatedNumber): Animated numeric display with slide transitions. - Button Group (
DaisyButtonGroup): Segmented button-group container for joined buttons. - Component Sidebar (
FloweryComponentSidebar): Pre-built documentation/admin sidebar with categories and search. - Contribution Graph (
DaisyContributionGraph): GitHub-style contribution heatmap. - Copy Button (
DaisyCopyButton): Copy-to-clipboard button with temporary success state. - Dropdown (
DaisyDropdown): Menu-style dropdown for action menus. - Expandable Card (
DaisyExpandableCard): Card that expands to reveal secondary content. - OTP Input (
DaisyOtpInput): Multi-slot verification-code input with auto-advance. - Tag Picker (
DaisyTagPicker): Multi-select chip/tag picker with add/remove icons.
Color Picker Suite
A complete color picker suite rebuilt natively for WinUI with DaisyUI styling:
- Color Wheel (
DaisyColorWheel): Circular HSL color wheel. - Color Grid (
DaisyColorGrid): Grid-based palette selector. - Color Slider (
DaisyColorSlider): Channel-specific sliders (R/G/B/A/H/S/L). - Color Editor (
DaisyColorEditor): Comprehensive RGB/HSL editor. - Color Picker Dialog (
DaisyColorPickerDialog): Full-featured modal dialog. - Screen Color Picker (
DaisyScreenColorPicker): Screen sampling tool (Windows).
Date Timeline
A horizontal scrollable date picker:
- Date Timeline (
DaisyDateTimeline): Scrollable date picker with selectable date items. - Date Timeline Item (
DaisyDateTimelineItem): Individual date cell with selection states.
Documentation
- Theming
- Localization
- Control documentation
- Style resources
- Kanban
- Migration record and validation status
Historical changelog entries describe their original releases.
License and credits
MIT. The project retains its original implementation and Git history. DaisyUI supplies the design language. WinUI 3 and the Windows App SDK supply the native Windows framework.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-windows10.0.19041 is compatible. |
-
net10.0-windows10.0.19041
- Microsoft.WindowsAppSDK (>= 2.5.1)
- SkiaSharp (>= 3.119.2)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Flowery.WinUI:
| Package | Downloads |
|---|---|
|
Flowery.WinUI.Win2D
Native Win2D effects for Flowery WinUI 3 controls. |
|
|
Flowery.Integrations.WinUI
External user management integrations for FlowKanban (Teams, Slack, GitHub, OAuth). |
|
|
Flowery.WinUI.Kanban
Native WinUI 3 Kanban controls for Flowery. |
GitHub repositories
This package is not used by any popular GitHub repositories.
See CHANGELOG.md