Skip to content

Releases: tobitege/Flowery.NET

v1.9.2

13 Mar 06:07
67303bd

Choose a tag to compare

📋 What's Changed

Changed

  • Bumped Avalonia package references across the library, gallery, desktop, browser, capture, and test projects to 11.3.12, including Avalonia.Skia, Avalonia.Desktop, Avalonia.Browser, Avalonia.Diagnostics, Avalonia.Fonts.Inter, Avalonia.Headless, Avalonia.Headless.XUnit, and Avalonia.Themes.Fluent.
  • Bumped System.Text.Json to 10.0.3.
  • Updated test infrastructure packages: Microsoft.NET.Test.Sdk to 18.3.0 and coverlet.collector to 8.0.0.

📦 Library

Asset Description
Flowery.NET.1.9.2.nupkg NuGet package (also on nuget.org)
Flowery.NET-lib.zip Compiled DLL and PDB

🌸 Gallery Demo App

Self-contained executables - no .NET installation required!

Platform Download
Windows x64 Flowery.Gallery-Windows-x64.zip

What's Changed

  • Bump Avalonia.Desktop from 11.3.11 to 11.3.12 by @dependabot[bot] in #13
  • Bump Avalonia, Avalonia.Headless and Avalonia.Headless.XUnit by @dependabot[bot] in #15
  • Bump coverlet.collector from 6.0.4 to 8.0.0 by @dependabot[bot] in #16
  • Bump System.Text.Json from 10.0.2 to 10.0.3 by @dependabot[bot] in #17
  • Bump Microsoft.NET.Test.Sdk from 18.0.1 to 18.3.0 by @dependabot[bot] in #18
  • Bump Avalonia.Browser from 11.3.11 to 11.3.12 by @dependabot[bot] in #20
  • Bump Avalonia and Avalonia.Diagnostics by @dependabot[bot] in #21
  • Bump Avalonia and Avalonia.Fonts.Inter by @dependabot[bot] in #22
  • Bump Avalonia and Avalonia.Skia by @dependabot[bot] in #23
  • Bump Avalonia and Avalonia.Themes.Fluent by @dependabot[bot] in #24

Full Changelog: v1.9.1...v1.9.2

v1.9.1

08 Feb 07:31
5b03537

Choose a tag to compare

📋 What's Changed

Changed

  • Theme Controls: Exposed IsCurrentThemeDark as a read-only pass-through to DaisyThemeManager.IsCurrentThemeDark.
  • Bump Avalonia NuGet refs to 11.3.11 from 11.3.10.
  • Centralize version metadata in Directory.Build.targets. Keeping it in lib project for workflows, though.

📦 Library

Asset Description
Flowery.NET.1.9.1.nupkg NuGet package (also on nuget.org)
Flowery.NET-lib.zip Compiled DLL and PDB

🌸 Gallery Demo App

Self-contained executables - no .NET installation required!

Platform Download
Windows x64 Flowery.Gallery-Windows-x64.zip

Full Changelog: v1.9.0...v1.9.1

v1.9.0

07 Feb 13:57
653d7a1

Choose a tag to compare

📋 What's Changed

New

  • DaisyClock: New multi-mode time control with Clock, Timer, and Stopwatch modes; supports segmented/flip/text display styles, labels, 12h/24h formatting, and lap support.
  • DaisyPasswordBox: New themed password input with reveal toggle, label modes (including floating), helper text, validation states, and icon slots.
  • DaisySlideToConfirm: New drag-to-confirm interaction control with variant colors, depth styles, auto-reset behavior, and completion events.
  • DaisyIconText: New reusable icon+text composition control with placement, size, spacing, and variant support.
  • DaisyPatternedCard: New decorative card with pattern backgrounds and ornaments, backed by new pattern assets and rendering helpers.
  • DaisyProductThemeDropdown: New dropdown for product-specific palettes with runtime theme registration via DaisyThemeManager.
  • Added foundational helper utilities for lifecycle wiring, alarms/timers, slide transitions/effects, path/color helpers, and pattern loading/tiling.

Changed

  • DaisyThemeManager / Theming: Extended to support runtime theme registration and palette factories, including a large generated product palette catalog.
  • DaisyLoading: Expanded with business and retro Win95 animation families, increasing overall variant coverage.
  • DaisyStatusIndicator: Refactored into partial classes and expanded with glyph-driven variants (battery, traffic lights, wifi/cellular signal) plus richer motion/effect styles.
  • DaisyCarousel: Refactored to internal slide container architecture with improved navigation, slideshow modes, and transition options.
  • DaisyDrawer: Added responsive/overlay behavior tuning, swipe interactions, and improved SplitView sync compatibility.
  • DaisyPagination: Added generated page ranges (TotalPages, MaxVisiblePages, centering), optional nav/jump buttons, ellipsis logic, wheel navigation, and press-and-hold repeat.
  • DaisyExpandableCard: Added batteries-included content mode, configurable animation duration, and improved expansion shaping behavior.
  • DaisyButtonGroup, DaisyDivider, DaisyIndicator, DaisyJoin, DaisySteps, DaisyTabs, and DaisyCountdown received substantial feature parity, tokenization, and behavior updates.

Gallery App

  • Added and expanded demos across Actions, Cards, Data Display, Data Input, Divider, Feedback, Layout, and Navigation example pages.
  • Added gallery coverage for newly ported controls and expanded Status/Loading/interactive scenarios.
  • Updated gallery sidebar/category metadata and added refreshed visual assets (including new banner artwork).

Localization

  • Synced and expanded localization keys across all supported languages in both library and gallery resources (ar, de, en, es, fr, he, it, ja, ko, tr, uk, zh-CN).

Documentation

  • Updated theming and localization guides (THEMING.md, LOCALIZATION.md).
  • Updated LLM-facing docs for control behavior/token changes and added new docs for DaisyClock.

📦 Library

Asset Description
Flowery.NET.1.9.0.nupkg NuGet package (also on nuget.org)
Flowery.NET-lib.zip Compiled DLL and PDB

🌸 Gallery Demo App

Self-contained executables - no .NET installation required!

Platform Download
Windows x64 Flowery.Gallery-Windows-x64.zip

What's Changed

  • Bump Avalonia.Desktop from 11.3.10 to 11.3.11 by @dependabot[bot] in #8
  • Bump Avalonia, Avalonia.Headless and Avalonia.Headless.XUnit by @dependabot[bot] in #10
  • Bump System.Text.Json from 10.0.1 to 10.0.2 by @dependabot[bot] in #11
  • v1.9.0 feature bump by @tobitege in #12

New Contributors

Full Changelog: v1.8.0...v1.9.0

Gallery 1.8.0-gallery.1

23 Dec 06:23
7599bfa

Choose a tag to compare

Gallery Demo App Update

What's Changed

Minor Gallery visual fixes in Showcase examples

This is a Gallery-only release containing updates to the demo application.
The underlying Flowery.NET library version remains at 1.8.0.

Downloads

Self-contained executables - no .NET installation required!

Platform Download
Windows x64 Flowery.Gallery-Windows-x64.zip
Linux x64 Flowery.Gallery-Linux-x64.tar.gz
macOS Intel Flowery.Gallery-macOS-x64.tar.gz
macOS Apple Silicon Flowery.Gallery-macOS-arm64.tar.gz

For the NuGet package, see the latest library release: v1.8.0

Full Changelog: v1.8.0...v1.8.0-gallery.1

v1.8.0

20 Dec 08:39
be8e85f

Choose a tag to compare

📋 What's Changed

New

This is planned to be last v1.x release and will be kept stable.
Further development will go into upcoming alpha branch.
At least that's the plan. Happy holidays 2025!

Changed

  • Used NuGet packages versions updated, e.g. for Avalonia UI.

Fixed

  • DaisyPopover / DaisyDropdown / DaisySelect: Fixed shutdown-time binding warnings caused by Popup.MinWidth bindings to trigger Bounds.Width during teardown.

📦 Library

Asset Description
Flowery.NET.1.8.0.nupkg NuGet package (also on nuget.org)
Flowery.NET-lib.zip Compiled DLL and PDB

🌸 Gallery Demo App

Self-contained executables - no .NET installation required!

Platform Download
Windows x64 Flowery.Gallery-Windows-x64.zip
Linux x64 Flowery.Gallery-Linux-x64.tar.gz
macOS Intel Flowery.Gallery-macOS-x64.tar.gz
macOS Apple Silicon Flowery.Gallery-macOS-arm64.tar.gz

What's Changed

  • Bump System.Text.Json from 8.0.5 to 10.0.1 by @dependabot[bot] in #7
  • Bump Avalonia, Avalonia.Headless and Avalonia.Headless.XUnit by @dependabot[bot] in #6
  • Bump Avalonia.Desktop from 11.3.9 to 11.3.10 by @dependabot[bot] in #4

New Contributors

Full Changelog: v1.7.2...v1.8.0

v1.7.2

19 Dec 19:54
df69aa7

Choose a tag to compare

📋 What's Changed

Fixed

  • Gallery App: Improved Avatar examples so content scales with the avatar (removed hardcoded icon sizes); placeholder and avatar-group demos now participate in global size scaling.
  • Gallery App: Card Stack demo now hides navigation buttons when there is no previous/next card.
  • Gallery App: Fixed clipping in Card demo on Android.
  • Gallery App: Fixed Contribution Graph sizing to work on narrow Android screens.
  • DaisyAvatar: Avatar content now scales correctly with global size tiers (FontSize mapped via design tokens)
  • DaisyCollapse: Now participates in global size tiers (added Size property + theme uses design tokens for sizing)
  • DaisyButtonGroup / DaisyJoin / DaisyDock: Fixed FluentTheme hover state overriding joined segment borders (borders/dividers “disappearing”) by targeting ContentPresenter#PART_ContentPresenter in scoped styles
  • DaisyList: Fixed row hover divider contrast and embedded icon-button hover feedback to prevent flicker/inconsistent hover states
  • DaisyNumberFlow: Fixed Browser/WASM button-hold repeat causing flickering/skipped digits by preventing repeat from outpacing the animation and normalizing animation step timing

New

  • DaisyButtonGroup: New segmented button-group container for joined buttons and non-clickable parts (counters/labels), with size/variant/shape options and optional auto-selection.

DaisyButtonGroup Examples


📦 Library

Asset Description
Flowery.NET.1.7.2.nupkg NuGet package (also on nuget.org)
Flowery.NET-lib.zip Compiled DLL and PDB

🌸 Gallery Demo App

Self-contained executables - no .NET installation required!

Platform Download
Windows x64 Flowery.Gallery-Windows-x64.zip
Linux x64 Flowery.Gallery-Linux-x64.tar.gz
macOS Intel Flowery.Gallery-macOS-x64.tar.gz
macOS Apple Silicon Flowery.Gallery-macOS-arm64.tar.gz

Full Changelog: v1.7.1...v1.7.2

v1.7.1

18 Dec 22:01
44c8534

Choose a tag to compare

📋 What's Changed

Fixed

  • Binding Errors: Fixed runtime binding errors when using converters with structural types
    • DaisyInput/DaisyMaskInput: Fixed Margin binding to StartIcon that incorrectly used ObjectConverters.IsNotNull (returns bool) with a ConverterParameter expecting Thickness output
    • ScaleExtension: Fixed Padding/Margin bindings to ScaledValue failing because double cannot auto-convert to Thickness
  • Gallery App: Global Size selection is now remembered across restarts (persisted like Theme/Language); renamed ThemeSettings.cs to GallerySettings.cs
  • DaisyToast: Fixed default transparent toast container background which could make toast content unreadable depending on what's behind it

New

  • DaisyNumberFlow: New high-quality numeric display with individual digit scrolling animations
    • Smooth, granular animation: only changed digits are animated
    • Fully locale-aware: supports all standard .NET format strings (C2, P0, N2, etc.)
    • Configurable easing and duration
    • WASM-compatible manual interpolation for consistent performance
  • FloweryConverters: Added new converter utilities in Flowery.Services
    • NullToThicknessConverter: Returns a Thickness from ConverterParameter when value is not null, zero otherwise
    • DoubleToThicknessConverter: Converts a double to a uniform Thickness

Enhanced

  • ScaleExtension: Now automatically detects when the target property type is Thickness (Padding, Margin, etc.) and applies DoubleToThicknessConverter internally

Design Tokens

  • Font Size Tiers: Added comprehensive typography scale to DaisyTokens.axaml
    • DaisySize{Size}SecondaryFontSize: For hint text, helper text, captions (~0.8x of primary)
    • DaisySize{Size}TertiaryFontSize: For very small captions, counters (~0.7x of primary)
    • DaisySize{Size}HeaderFontSize: For section titles, headings (~1.4x of primary)
  • FlowerySizeManager.ResponsiveFont: New attached property for responsive font sizing
    • Tiers: Primary, Secondary, Tertiary, Header
    • Usage: <TextBlock controls:FlowerySizeManager.ResponsiveFont="Primary" />
    • Automatically subscribes to SizeChanged event and updates font size programmatically

Gallery App

  • Responsive Example Descriptions: All example section descriptions now scale with the global size selector using ResponsiveFont attached property

Documentation

  • FlowerySizeManager.md: New dedicated documentation for global size management
    • API reference, attached properties (IgnoreGlobalSize, ResponsiveFont)
    • Custom control integration patterns
    • Comparison with FloweryScaleManager
  • SizingScaling.md: Added "Responsive Font for TextBlocks" section
    • Documents the ResponsiveFont attached property
    • Explains why DynamicResource doesn't work for this use case
  • DesignTokens.md: Updated font size documentation with attached property usage

Refactored

  • Localization: Centralized supported languages list to eliminate code duplication
    • FloweryLocalization.SupportedLanguages: Public static list of all language codes
    • FloweryLocalization.LanguageDisplayNames: Public dictionary of native display names
    • SidebarLanguage.CreateAll(): Factory method using centralized data
    • Gallery app now consumes library's list instead of hardcoding languages
    • Updated LOCALIZATION.md with new API documentation

📦 Library

Asset Description
Flowery.NET.1.7.1.nupkg NuGet package (also on nuget.org)
Flowery.NET-lib.zip Compiled DLL and PDB

🌸 Gallery Demo App

Self-contained executables - no .NET installation required!

Platform Download
Windows x64 Flowery.Gallery-Windows-x64.zip
Linux x64 Flowery.Gallery-Linux-x64.tar.gz
macOS Intel Flowery.Gallery-macOS-x64.tar.gz
macOS Apple Silicon Flowery.Gallery-macOS-arm64.tar.gz

Full Changelog: v1.7.0...v1.7.1

v1.7.0

18 Dec 00:32
4a4cc31

Choose a tag to compare

📋 What's Changed

New

  • DaisyContributionGraph: New GitHub-style contribution heatmap control (7×53 grid) with month/day labels, tooltips, and legend
    • Added HighlightMonthStartBorders option to accent the 1st of each month with a secondary border
  • DaisyOtpInput: New multi-slot verification-code/OTP input
    • Features animated focus transitions and auto-advance support
    • Supports custom separators and grouping
  • DaisyPopover: New Popup-based popover control for rich hover/click content
  • DaisyDropdown: New menu-style dropdown (Popup + DaisyMenu) for action menus
  • DaisyCopyButton: New copy-to-clipboard button with temporary success state
  • DaisyTagPicker: New multi-select chip/tag picker
  • DaisyAnimatedNumber: New animated numeric display control (slide transition on value changes)
  • DaisyExpandableCard: New card control that expands to reveal a secondary content area with smooth width animation
  • TypewriterBehavior: New behavior for sequential character reveal animations
  • ScrollRevealBehavior: New behavior for viewport-aware reveal animations
  • New controls inspired by SmoothUI

Enhanced

  • DaisyTagPicker: Refactored to a templated control matching "Animated Tags" UI
    • Separates selected tags into a distinct, bordered area with "remove" icons
    • Keeps available tags in a separate list with "add" icons
    • Added Title property for the selected tags section
  • DaisyInput: Implemented high-fidelity "Floating" label interaction (LabelPosition="Floating")
    • Features an "identity clone" start state (matches watermark size/position) with instant style snap and delayed smooth float animation
    • Added :hastext pseudo-class for state tracking
    • Added dedicated Design Tokens for floating input heights to ensure consistent vertical headroom
  • DaisyProgress: Added smooth width transitions for value updates
  • WaveTextBehavior: Added true per-character ripple effect using IsPerCharacter="True" and StaggerDelay support
  • RevealBehavior: Added ManualTriggerOnly property to prevent auto-triggering (essential for ScrollReveal integration)

Gallery App

  • Added/updated examples for Contribution Graph, OTP Input, Tag Picker, Copy Button, Popover, Dropdown Menu, and Animated Number
  • Interactive Demos: Added new live examples for Floating Labels, Animated Progress (slider-driven), and Per-Character Wave text effects
  • Contribution Graph example includes a toggle to enable/disable month-start border highlighting
  • Added a SmoothUI “Phototab” recipe example built from DaisyTabs
  • Showcase (Eye Candy): Added new high-fidelity interaction demos:
    • Expandable Cards: Interactive card grid that expands to detail view
    • Power-Off Slide: Smooth slide-to-confirm interaction pattern
    • Typewriter Text: Sequential text reveal animation
    • Scroll Reveal: Elements that animate into view as they enter the scroll viewport
    • Figma Comment: Interactive expandable comment bubble recipe
    • Card Stack: Stacked card interface with depth effects and navigation

Design Tokens

  • Added new DaisyInputFloating*Height tokens to DaisyTokens.axaml for floating label headroom
  • Updated DesignTokens.md documentation with new height references

📦 Library

Asset Description
Flowery.NET.1.7.0.nupkg NuGet package (also on nuget.org)
Flowery.NET-lib.zip Compiled DLL and PDB

🌸 Gallery Demo App

Self-contained executables - no .NET installation required!

Platform Download
Windows x64 Flowery.Gallery-Windows-x64.zip
Linux x64 Flowery.Gallery-Linux-x64.tar.gz
macOS Intel Flowery.Gallery-macOS-x64.tar.gz
macOS Apple Silicon Flowery.Gallery-macOS-arm64.tar.gz

Full Changelog: v1.6.0...v1.7.0

v1.6.0

17 Dec 06:44
4da850c

Choose a tag to compare

📋 What's Changed

New

  • ScaleExtension: New markup extension for responsive scaling with minimal XAML (Flowery.Services)
    • Semantic presets: FontTitle, FontBody, SpacingMedium, CardWidth, etc. (24 built-in presets)
    • Automatic window size detection - no more verbose $parent[Window] bindings
    • Usage: <TextBlock FontSize="{services:Scale FontTitle}"/> instead of long converter bindings
    • Supports custom values: {services:Scale 24,12} for base 24, min 12
  • FloweryScaleConfig: Configuration for scale presets
    • Override preset values at app startup: FloweryScaleConfig.SetPresetValues(FloweryScalePreset.CardWidth, 450)
    • Adjust reference dimensions (default: 1920×1080 HD)
    • Adjust minimum scale factor (default: 0.5)
  • FloweryScaleConverter: Proportional scaling converter for advanced scenarios
    • Real-time continuous scaling as window resizes (unlike discrete breakpoints)
    • Configurable ReferenceWidth, ReferenceHeight, MinScaleFactor properties
  • DaisyButton: Added IconLeft, IconRight, and IconSpacing properties
    • Place icons alongside button text without manual StackPanel wrappers
    • Icons auto-hide when null, auto-show when set
    • IconSpacing controls gap between icons and content (default: 6px)
    • Usage: <controls:DaisyButton Content="Add"><controls:DaisyButton.IconLeft><PathIcon .../></controls:DaisyButton.IconLeft></controls:DaisyButton>
  • LocalizeExtensionBase: Abstract base class for localization markup extensions
    • Apps inherit and plug in their localization source via GetLocalizedString() and SubscribeToCultureChanged()
    • Eliminates boilerplate code duplication across projects
    • Flowery.NET and Gallery now use this base class
  • FloweryLocalization.CustomResolver: New extensibility point for app-specific localization
    • Apps can set FloweryLocalization.CustomResolver = MyAppLocalization.GetString to provide translations for library controls
    • Enables FloweryComponentSidebar to display localized sidebar item names from the consuming app
    • Library's internal keys (Size_*, Theme_*, Accessibility_*) remain unaffected
  • FlowerySizeManager: New FlowerySizeManager service for app-wide size control (ExtraSmall to ExtraLarge)
  • DaisySizeDropdown: Standalone control with localized size names (12 languages)
    • New SizeOptions property for full customization
    • SizePreviewInfo.IsVisible to hide unwanted sizes
    • SizePreviewInfo.DisplayNameOverride for custom labels (overrides localized text)
    • Example: Show only "Compact", "Normal", "Large" instead of all 5 sizes
  • IgnoreGlobalSize attached property for size demonstration exemptions
  • GlobalSizing.md documentation with usage examples
  • Gallery applies global size on startup and category navigation
  • FloweryScaleConverter.md: Comprehensive documentation covering both ScaleExtension and FloweryScaleConverter
  • LocalizeExtensionBase.md: Documentation for creating app-specific LocalizeExtension classes
  • FloweryScaleManager: Opt-in automatic font scaling for Daisy controls (Flowery.Services)
    • Set services:FloweryScaleManager.EnableScaling="True" on any container to enable
    • All child Daisy controls (DaisyInput, DaisyButton, DaisySelect, DaisyBadge, etc.) auto-scale their fonts
    • Non-breaking: controls behave normally unless EnableScaling is explicitly enabled
    • IScalableControl interface for custom control scaling support
    • OverrideScaleFactor: Optional manual zoom override (bypasses window-size calculation)
  • Hebrew Localization: Added Hebrew (he) as the 12th supported language across both library and Gallery

Gallery App

  • Scaling Examples: New showcase page demonstrating ScaleExtension with real-world customer details form
    • Address, Contact, Payment, Customer Group, Activity, and Notes cards
    • All elements scale proportionally as window resizes
    • Auto Scaling panel includes Max Scale, optional manual Zoom slider (5% steps), and desktop-only Resolution presets
    • Available Scale Presets reference section with live examples
  • Sidebar Localization: All sidebar category and item names now display localized text instead of keys
    • Uses CustomResolver to provide Gallery-specific translations to FloweryComponentSidebar

Changed

  • LocalizeExtension (Flowery.NET): Now inherits from LocalizeExtensionBase, reducing code duplication
  • LOCALIZATION.md: Updated to document LocalizeExtensionBase pattern and CustomResolver for app localization
  • Carousel hides left navigation button at 1st, right button on last slide
  • Design Tokens: Rebalanced Global Size scaling to be text-focused
    • Heights now scale modestly (ExtraLarge: 80→48px, Large: 64→48px, Medium: 48→40px)
    • Button/Input/Tab/Menu padding reduced proportionally to font size growth
    • Result: larger sizes now feel like "bigger text" rather than "bloated boxes with excessive whitespace"

Fixed

  • DaisyBadge: Auto Scaling now also scales Height and Padding to prevent clipped text at high zoom
  • DaisyStatusIndicator: Added Auto Scaling support (scales dot size within EnableScaling regions)
  • Gallery (Desktop): Switching away (alt-tab) and back no longer snaps the Scaling demo page scroll to the top

📦 Library

Asset Description
Flowery.NET.1.6.0.nupkg NuGet package (also on nuget.org)
Flowery.NET-lib.zip Compiled DLL and PDB

🌸 Gallery Demo App

Self-contained executables - no .NET installation required!

Platform Download
Windows x64 Flowery.Gallery-Windows-x64.zip
Linux x64 Flowery.Gallery-Linux-x64.tar.gz
macOS Intel Flowery.Gallery-macOS-x64.tar.gz
macOS Apple Silicon Flowery.Gallery-macOS-arm64.tar.gz

Full Changelog: v1.5.1...v1.6.0

v1.5.1

15 Dec 13:19
f881779

Choose a tag to compare

📋 What's Changed

New

  • FloweryResponsive: New responsive layout helper moved from Gallery to library (Flowery.Services)
    • Attached properties: IsEnabled, BaseMaxWidth, ResponsiveMaxWidth, CurrentBreakpoint
    • FloweryBreakpoints static class with predefined breakpoints (ExtraSmall 430px, Small 640px, Medium 768px, Large 1024px, ExtraLarge 1280px, TwoXL 1536px)
    • Helper methods: GetBreakpointName(), IsAtLeast(), IsBelow()
    • Documentation added to llms-static/ and categorized as Helper on the docs site
  • FloweryComponentSidebar: Added SidebarThemeSelectorItem marker class for theme dropdown rendering
  • Run scripts added specifically for Android and Desktop for faster iterations

Changed

  • BREAKING: Renamed DaisyComponentSidebar to FloweryComponentSidebar (no original DaisyUI equivalent)
    • Update XAML: <controls:DaisyComponentSidebar><controls:FloweryComponentSidebar>
    • Theme file renamed from DaisyComponentSidebar.axaml to FloweryComponentSidebar.axaml
  • BREAKING: FloweryComponentSidebar no longer initializes with default categories
    • Callers must now set Categories and AvailableLanguages properties explicitly
    • Refactored to be a generic, reusable control without hardcoded Gallery-specific data
    • Added OnCategoriesChanged handler to support external category assignment
  • Gallery: All 12 example views now use FloweryResponsive helper for responsive layout behavior
    • Carousel, ChatBubble, Collapse, Diff, Tables now adapt to screen size
    • Tables wrapped in ScrollViewer for horizontal scrolling on narrow screens
  • FloweryComponentSidebar: Enhanced documentation with language/translation support section

Gallery App

  • Created GallerySidebarData.cs with all showcase categories, items, and languages
  • Created GalleryThemeSelectorItem and GalleryLanguageSelectorItem classes
  • Updated MainView.axaml.cs to initialize sidebar with Gallery-specific data
  • Moved theme selector from header to sidebar (above language selector)
  • Android version works much better now due to improved responsive layout with content-aware sidebar and title-bar collapsing

UI/UX Improvements

  • Added theme dropdown template to sidebar theme file
  • Adjusted margins to prevent dropdown cutoff in sidebar
  • Unified font sizes to 12px across sidebar components
  • Improved hamburger button styling (Size="Small", Variant="Ghost", 18×18 icon)
  • Added smarter responsive breakpoint logic based on content width

Fixed

  • FloweryComponentSidebar: Fixed hamburger button not showing on narrow windows
    • Added OnLoaded handler to apply responsive layout on initial load
    • Refactored collapse logic to be content-aware, not pixel-based:
      • Collapse if content area would be < 400px
      • Collapse if sidebar takes > 35% of screen width
    • Works on all platforms: desktop resize, mobile orientation, foldables

📦 Library

Asset Description
Flowery.NET.1.5.1.nupkg NuGet package (also on nuget.org)
Flowery.NET-lib.zip Compiled DLL and PDB

🌸 Gallery Demo App

Self-contained executables - no .NET installation required!

Platform Download
Windows x64 Flowery.Gallery-Windows-x64.zip
Linux x64 Flowery.Gallery-Linux-x64.tar.gz
macOS Intel Flowery.Gallery-macOS-x64.tar.gz
macOS Apple Silicon Flowery.Gallery-macOS-arm64.tar.gz

Full Changelog: v1.5.0...v1.5.1