# Flowery.NET Component Library Flowery.NET is an Avalonia UI component library inspired by DaisyUI. It provides styled controls for building modern desktop applications. ## Quick Start Add the namespace to your AXAML: ```xml xmlns:controls="clr-namespace:Flowery.Controls;assembly=Flowery.NET" ``` ## Controls Overview | Control | Description | |---------|-------------| | [DaisyAccordion](controls/DaisyAccordion.html) | DaisyAccordion is an ItemsControl for stacked, single-open sections built from `DaisyAccordionItem`. It offers **two indicator variants** (arrow or plus) and enforces **one expanded item at a time** through the `ExpandedIndex` property. Use it to organize FAQ-style content or any list of collapsible panels where only one section should stay open. | | [DaisyAlert](controls/DaisyAlert.html) | DaisyAlert is a compact callout for inline status messages. It provides **4 semantic variants** (Info, Success, Warning, Error), optional icon content, and a simple two-column layout that keeps messages readable without dominating the page. Use it for persistent notices inside forms, cards, or panels; pair with DaisyToast for transient alerts. | | [DaisyAnimatedNumber](controls/DaisyAnimatedNumber.html) | DaisyAnimatedNumber is a numeric text display that animates value changes with a vertical slide transition. It's useful for counters, KPIs, and any UI where you want motion feedback when the number updates. | | [DaisyAvatar](controls/DaisyAvatar.html) | DaisyAvatar renders user/profile images or initials with **5 sizes**, **3 shapes**, optional **status dot**, and **ring accent** colors. It accepts any content (images, icons, initials) and can show placeholders while real media loads. Pair with `DaisyAvatarGroup` to overlap multiple avatars. | | [DaisyAvatarGroup](controls/DaisyAvatarGroup.html) | DaisyAvatarGroup arranges multiple `DaisyAvatar` items in an overlapping row. It uses a custom panel that offsets each avatar by a configurable overlap while keeping earlier items on top (higher z-order). Ideal for showing participants, teams, or contributors in a compact space. | | [DaisyBadge](controls/DaisyBadge.html) | DaisyBadge is a compact label for counts, statuses, or tags. It supports **10 color variants**, **4 size presets**, and an **outline** mode for low-emphasis contexts. Works standalone or nested inside other controls (e.g., buttons, lists) to highlight small bits of information without overwhelming the layout. | | [DaisyBreadcrumbs](controls/DaisyBreadcrumbs.html) | DaisyBreadcrumbs shows a horizontal trail of navigation steps. It auto-builds `DaisyBreadcrumbItem` containers, applies separators between items, and marks only the trailing item as non-clickable. Supports custom separators, icons, command execution on intermediate items, and horizontal scrolling when content overflows. | | [DaisyButton](controls/DaisyButton.html) | DaisyButton delivers DaisyUI-styled actions with **11 color variants**, **4 visual styles**, **5 sizes**, and **shape modifiers** for wide, block, square, or circular buttons. It supports active state scaling, optional shadows, and link/ghost modes for text-like actions. Use it for everything from primary calls-to-action to subtle icon buttons. | | [DaisyButtonGroup](controls/DaisyButtonGroup.html) | `DaisyButtonGroup` arranges multiple segments (typically `Button` / `ToggleButton`) into a single joined control with shared borders and unified rounding, similar to shadcn's “Button Group”. | | [DaisyCard](controls/DaisyCard.html) | DaisyCard provides a panel for grouping content with padding, rounded corners, and optional glass effects. It supports **3 layout variants** (Normal, Compact, Side), configurable body/title typography, and an opt-in glassmorphism stack with tint/blur controls. Use it for dashboards, feature tiles, or content groupings; compose headers, bodies, and action rows inside. | | [DaisyCarousel](controls/DaisyCarousel.html) | DaisyCarousel is a slide container with built-in previous/next buttons and directional slide transitions. It uses `TransitioningContentControl` under the hood to animate between items and flips the animation direction based on which arrow you press. Perfect for small galleries or showcasing featured items without autoplay. | | [DaisyChatBubble](controls/DaisyChatBubble.html) | DaisyChatBubble renders chat-style message bubbles with alignment control, optional avatar image, header/footer text, and **9 color variants**. `IsEnd` flips the bubble to the right side and mirrors the tail rounding for responder messages. Use it for conversation threads, comments, or inline messaging UIs. | | [DaisyCheckBox](controls/DaisyCheckBox.html) | DaisyCheckBox is a styled checkbox with **9 color variants** and **5 size presets**. It uses a filled box with a checkmark when checked and inherits Avalonia's standard `IsChecked`/`IsThreeState` behavior. Use variants for semantic meaning and sizes to match surrounding controls. | | [DaisyCollapse](controls/DaisyCollapse.html) | DaisyCollapse is an `Expander`-based container for revealing content under a clickable header. It offers **Arrow** and **Plus** indicator variants with a 0.2s rotation animation, uses configurable padding/corners from the theme, and hides content when collapsed. Ideal for short disclosures, FAQs, or inline details. | | [DaisyColorEditor](controls/DaisyColorEditor.html) | DaisyColorEditor is a comprehensive color editing control that combines RGB and HSL sliders with numeric inputs and a hex color field. It provides precise color manipulation through multiple input methods, making it ideal for professional color selection interfaces. | | [DaisyColorGrid](controls/DaisyColorGrid.html) | DaisyColorGrid is a grid control for displaying and selecting colors from predefined or custom palettes. It supports multiple built-in palettes (Named Colors, Office 2010, Paint, Web Safe), configurable cell sizes, and a separate custom colors section for user-defined colors. | | [DaisyColorPickerDialog](controls/DaisyColorPickerDialog.html) | DaisyColorPickerDialog is a comprehensive color picker dialog that combines all color picker components into a single, professional interface. | | [DaisyColorSlider](controls/DaisyColorSlider.html) | DaisyColorSlider is a slider control for selecting individual color channel values. It supports **7 color channels** (RGB + Alpha + HSL) with automatic gradient rendering and a draggable thumb indicator. The slider displays a visual gradient representing the channel's range and supports both horizontal and vertical orientations. | | [DaisyColorWheel](controls/DaisyColorWheel.html) | DaisyColorWheel is a circular color wheel control for selecting hue and saturation values in the HSL color space. It renders a full-spectrum color wheel with a draggable selection marker, allowing intuitive color picking through mouse interaction. The wheel displays colors at a configurable lightness level. | | [DaisyContributionGraph](controls/DaisyContributionGraph.html) | DaisyContributionGraph is a GitHub-style contribution heatmap graph (7 rows × 53 weeks). Provide day entries via `Contributions`, and the control renders a compact year overview with optional month/day labels, hover tooltips, and a “Less/More” legend. | | [DaisyCopyButton](controls/DaisyCopyButton.html) | DaisyCopyButton is a `DaisyButton` that copies text to the clipboard on click and briefly switches to a success state. It's ideal for “copy invite link”, “copy token”, and similar flows where immediate feedback matters. | | [DaisyCountdown](controls/DaisyCountdown.html) | DaisyCountdown is a templated numeric timer that can show live clock units (hours/minutes/seconds) or run a countdown/looping counter. It supports 1–3 digit formatting, configurable tick interval, looping from a custom value, and raises `CountdownCompleted` when a non-looping countdown hits zero. Defaults to a monospace font for stable width. | | [DaisyDateTimeline](controls/DaisyDateTimeline.html) | DaisyDateTimeline is a **horizontal scrollable date picker** inspired by FadyFayezYounan's [easy_date_timeline](https://github.com/FadyFayezYounan/easy_date_timeline) package. It displays dates in a horizontal strip where each date appears as a card showing the day name, day number, and month. Perfect for booking systems, scheduling apps, calendars, and any UI requiring date selection from a visible range. | | [DaisyDateTimelineItem](controls/DaisyDateTimelineItem.html) | DaisyDateTimelineItem represents a single date card within the `DaisyDateTimeline` control. While typically auto-generated by the parent container, understanding its properties helps with custom styling and advanced scenarios. | | [DaisyDiff](controls/DaisyDiff.html) | DaisyDiff is a before/after comparison control with a draggable grip. It overlays `Image1` atop `Image2` and clips the top layer based on `Offset` (0–100%). Users can drag the grip horizontally to reveal more or less of each side; layout adjusts automatically on resize. | | [DaisyDivider](controls/DaisyDivider.html) | DaisyDivider separates content with a line that can run horizontally (default) or vertically (`Horizontal=True`). It supports **9 color options**, **start/end placement** to hide one side of the line, optional inline content, and adjustable margins. | | [DaisyDock](controls/DaisyDock.html) | DaisyDock arranges action buttons in a pill-shaped bar, similar to a bottom navigation dock. It supports **5 sizes**, optional auto-selection that applies the `dock-active` class, and raises an `ItemSelected` event when a button is clicked. Commonly used for app bars or compact nav strips. | | [DaisyDrawer](controls/DaisyDrawer.html) | DaisyDrawer wraps Avalonia's `SplitView` to create a sidebar drawer. Defaults to an inline drawer on the left with a 300px open width and no compact pane. The template includes a slide-in animation and optional overlay support for overlay mode. Use it to host navigation or settings panels that toggle in/out of view. | | [DaisyDropdown](controls/DaisyDropdown.html) | DaisyDropdown is a lightweight dropdown menu control built on a `Popup`. It displays a trigger area with a placeholder/selection, and shows a menu (via `DaisyMenu`) when opened. Use it for compact menu-style pickers and small action lists. | | [DaisyExpandableCard](controls/DaisyExpandableCard.html) | DaisyExpandableCard is a versatile card component that can reveal a secondary content area when triggered. It is ideal for "Showcase" or "Detail" views where initial high-level information is presented, and additional details are revealed on demand (e.g., clicking a "Learn More" or "Play" button). | | [DaisyFab](controls/DaisyFab.html) | DaisyFab is a Floating Action Button container with built-in trigger and child action buttons. It supports **Vertical** stacking or **Flower** fan-out layouts, auto-closes when an action is clicked, and lets you customize trigger content, size, and variant. Ideal for exposing a small set of secondary actions from a single FAB. | | [DaisyFileInput](controls/DaisyFileInput.html) | DaisyFileInput is a button-styled file selector that displays a “Choose File” affordance with the current file name beside it. It supports DaisyButton variants, size presets, and a customizable `FileName` placeholder. Use it when you need a themed file picker entry point; wire it up to your file dialog logic in code-behind. | | [DaisyGlass](controls/DaisyGlass.html) | DaisyGlass is a frosted-glass container with multiple blur strategies: simulated gradients, bitmap capture, or SkiaSharp GPU blur. It exposes tint/opacity controls, saturation, reflection parameters, and a toggle for real backdrop capture. Use it to create translucent panels over imagery or colorful backgrounds. | | [DaisyHero](controls/DaisyHero.html) | DaisyHero is a full-width banner container for impactful headlines. It provides padding, a large minimum height, and centers its content over a background color or image you provide. Use it for marketing hero sections, page intros, or prominent callouts. | | [DaisyHoverGallery](controls/DaisyHoverGallery.html) | DaisyHoverGallery displays one item at a time from an item collection, switching the visible item based on horizontal pointer position. It optionally renders vertical divider lines to hint at each region. Great for “hover to preview” galleries or swatches without clicks. | | [DaisyIndicator](controls/DaisyIndicator.html) | DaisyIndicator overlays a badge on top of any content (often an icon or card). You provide the main `Content` and a `Badge` slot; the badge is positioned via alignment properties and offset with a half-size translate to sit on the corner. Use it for notification dots, counts, or status chips. | | [DaisyInput](controls/DaisyInput.html) | DaisyInput is a styled TextBox with **10 variants** and **4 size presets**. It supports bordered, ghost, filled, and semantic colored borders, plus labels, helper text, icons, and inner content slots. Defaults to a padded, rounded text field that matches DaisyUI forms. | | [DaisyJoin](controls/DaisyJoin.html) | DaisyJoin groups adjacent controls into a seamless, connected set by trimming internal corners and overlapping borders. It works horizontally by default and supports vertical orientation. Ideal for segmented buttons, grouped inputs, or stacked radio/button groups. | | [DaisyKbd](controls/DaisyKbd.html) | DaisyKbd renders keyboard keycaps for inline hints (e.g., shortcuts). It provides **5 size presets**, monospace text, a subtle 3D border, and centered content. Use it to display keys like `Ctrl`, `Shift`, or `Cmd` in docs and tooltips. | | [DaisyList](controls/DaisyList.html) | DaisyList is a vertical list container with row and column primitives for structured content. `DaisyListRow` uses a custom panel that can designate a grow column and wrap specific columns onto new lines. Use it for media lists, stats rows, or mixed text/icon layouts with consistent spacing. | | [DaisyLoading](controls/DaisyLoading.html) | DaisyLoading provides animated loading indicators with **27 different animation styles**, **5 size options**, and **9 color variants**. The control includes standard DaisyUI animations, creative terminal-inspired variants, Matrix/retro variants, and unique special effect variants. All animations scale properly across all sizes using Viewbox-based rendering. | | [DaisyMask](controls/DaisyMask.html) | DaisyMask clips its content to preset shapes: squircle, heart, hexagon, circle, square, diamond, or triangle. It scales vector paths to the control's bounds on arrange, making it easy to mask images or backgrounds into decorative silhouettes. | | [DaisyMaskInput](controls/DaisyMaskInput.html) | DaisyMaskInput is a `MaskedTextBox` styled like `DaisyInput`, intended for **structured input** such as times, dates, IDs, and payment details. It supports the same Daisy input API (variants, sizes, labels, helper text, and icons) and adds masked-editing via the built-in `Mask` property. | | [DaisyMenu](controls/DaisyMenu.html) | DaisyMenu is a styled `ListBox` for navigation menus. It supports vertical or horizontal layout, size presets, and customizable active colors for selected items. Submenus can be nested via another DaisyMenu or Expander. Use it for sidebars, nav bars, and contextual menus that need DaisyUI styling. | | [DaisyMockup](controls/DaisyMockup.html) | DaisyMockup frames content in simulated shells: **Code**, **Window**, or **Browser**. It provides the chrome (dots, toolbar/address bar) and padding so you can showcase code, UI previews, or pages in a themed wrapper. | | [DaisyModal](controls/DaisyModal.html) | DaisyModal is an overlay dialog container with backdrop and configurable corner radii. It toggles visibility via `IsOpen` and centers its content with a max width of 500px, default padding, and drop shadow. Use it for confirmations, forms, or focused flows that require blocking UI beneath. | | [DaisyModifierKeys](controls/DaisyModifierKeys.html) | A visual indicator that displays the current state of keyboard modifier keys (Shift, Ctrl, Alt) and lock keys (Caps Lock, Num Lock, Scroll Lock). Automatically syncs with the OS keyboard state. | | [DaisyNavbar](controls/DaisyNavbar.html) | DaisyNavbar is a top navigation bar with optional start, center, and end slots. It provides padding, corner radius, and an optional shadow. If no slots are set, it renders its `Content` as a simple fallback. Use it for headers, app bars, or hero-top navigation. | | [DaisyNumberFlow](controls/DaisyNumberFlow.html) | > **Added in v1.7.1** | | [DaisyNumericUpDown](controls/DaisyNumericUpDown.html) | > **Added in v1.0.8** | | [DaisyOtpInput](controls/DaisyOtpInput.html) | DaisyOtpInput is an OTP / verification code input composed of multiple single-character slots. It features **animated focus states**, auto-advance, backspace support, and digit-only filtering. It is designed for high-fidelity "Verify Code" screens with support for grouping (separators) and varying sizes. | | [DaisyPagination](controls/DaisyPagination.html) | DaisyPagination renders joined page buttons with support for numeric and non-numeric items (prev/next/ellipsis). It tracks the current page, toggles `IsActive` on page items, and raises `PageChanged` when a numeric item is clicked. Orientation and size presets let you use it horizontally or vertically. | | [DaisyPopover](controls/DaisyPopover.html) | DaisyPopover is a lightweight popover control that hosts content inside a `Popup` anchored to a trigger. It's useful for rich tooltips, small forms, contextual menus, and “more actions” surfaces. | | [DaisyProgress](controls/DaisyProgress.html) | DaisyProgress is a styled progress bar with **8 color variants**, **4 size presets**, and indeterminate support. It inherits `ProgressBar` behavior for `Value`, `Minimum`, `Maximum`, and `IsIndeterminate`, using theme colors for the indicator fill. | | [DaisyRadialProgress](controls/DaisyRadialProgress.html) | DaisyRadialProgress is a circular progress indicator with **8 color variants**, **3 size presets**, and configurable stroke thickness. It inherits `RangeBase` for `Minimum`, `Maximum`, and `Value`, converting the range to a 0–360° sweep. Shows a percentage label by default. | | [DaisyRadio](controls/DaisyRadio.html) | DaisyRadio is a styled `RadioButton` with **8 color variants** and **5 size presets**. It shows a filled inner circle when checked and supports standard radio grouping via `GroupName`. Use variants for semantic meaning or brand alignment in forms and option groups. | | [DaisyRange](controls/DaisyRange.html) | DaisyRange is a styled slider with **8 color variants**, **4 size presets**, and customizable thumb/track colors. It exposes thumb size and optional progress fill properties while inheriting standard `Slider` behavior for `Minimum`, `Maximum`, and `Value`. | | [DaisyRating](controls/DaisyRating.html) | DaisyRating is a star rating control built on `RangeBase`. It supports **precision modes** (full/half/0.1), **3 size presets**, and respects `Minimum/Maximum/Value` (default 0–5). | | [DaisyScreenColorPicker](controls/DaisyScreenColorPicker.html) | DaisyScreenColorPicker is an eyedropper tool that allows picking colors from anywhere on the screen using a **click-and-drag** interaction. Unlike traditional color pickers that require clicking to start and clicking again to select, this control uses a more intuitive drag gesture: click and hold to start, drag anywhere on screen while watching the live color preview, then release to capture the color. | | [DaisySelect](controls/DaisySelect.html) | DaisySelect is a styled ComboBox with **9 variants** and **4 size presets**. It provides a chevron toggle, placeholder text, and themed dropdown. Use it for single-select dropdowns that need DaisyUI styling. | | [DaisySkeleton](controls/DaisySkeleton.html) | DaisySkeleton provides loading placeholders with a pulsing animation. It can render as a block (default) or animate text color when `IsTextMode=True`. Use it to indicate content is loading for avatars, text lines, cards, or any element you want to reserve space for. | | [DaisyStack](controls/DaisyStack.html) | DaisyStack displays children in a stacked arrangement with optional navigation. It inherits from `ItemsControl` so children overlap in a Grid panel. In static mode (default), theme styles apply Z-index, translation, scale, and opacity per child order creating a deck-of-cards effect. When navigation is enabled, only one item is visible at a time with animated transitions. | | [DaisyStat](controls/DaisyStat.html) | DaisyStat displays a metric with title, value, optional description, figure (icon/media), and action slot. `DaisyStats` groups multiple stats horizontally or vertically, adding separators between items. Variants color the value text; `DescriptionVariant` colors the description independently. | | [DaisyStatusIndicator](controls/DaisyStatusIndicator.html) | DaisyStatusIndicator shows a status dot with **27 animation variants**. It supports **9 colors** and **5 sizes**, making it suitable for online/offline markers, alerts, or activity indicators. | | [DaisySteps](controls/DaisySteps.html) | DaisySteps renders a sequence of step items with lines and circles. It supports horizontal or vertical layouts, **5 sizes**, colored states per step, and an `SelectedIndex` to mark completed/active steps. Each `DaisyStepItem` can show custom text or icons via `Content`/`DataContent`. | | [DaisySwap](controls/DaisySwap.html) | DaisySwap is a toggle that swaps between `OnContent`, `OffContent`, and optional `IndeterminateContent`. It supports transition effects (none, rotate, flip) to animate the content change. Use it for icon toggles, play/pause, theme switches, or stateful actions. | | [DaisyTable](controls/DaisyTable.html) | DaisyTable provides a styled table layout with header, body, and footer sections plus row/cell primitives. It supports **zebra striping**, **pinned headers/columns** (via the template), **row active/hover states**, and **size presets** that adjust padding and font size. Use `DaisyTableHead`, `DaisyTableBody`, and `DaisyTableFoot` to structure content; rows/cells handle layout and styling. | | [DaisyTabs](controls/DaisyTabs.html) | DaisyTabs is a styled `TabControl` with four header variants (None, Bordered, Lifted, Boxed) and size presets. It uses a WrapPanel for tab headers and supports standard tab behaviors (`SelectedIndex`, `Items`, `TabItem` content). | | [DaisyTagPicker](controls/DaisyTagPicker.html) | DaisyTagPicker is an organized tag selection component inspired by "Animated Tags". It separates selected tags into a distinct, bordered area with "remove" icons, while keeping available tags in a separate list with "add" icons. | | [DaisyTextArea](controls/DaisyTextArea.html) | DaisyTextArea is a multiline variant of DaisyInput. It inherits all input variants/sizes/properties, sets `AcceptsReturn`/`AcceptsTab=True`, and enables `TextWrapping`. It additionally supports textarea-specific features like character counters, auto-growing, and action buttons. | | [DaisyTextRotate](controls/DaisyTextRotate.html) | DaisyTextRotate cycles through its items with fade transitions, auto-advancing on a timer. It supports custom duration, per-transition timing, easing, pause-on-hover, and manual pausing. Ideal for rotating taglines or small sets of text snippets. | | [DaisyThemeController](controls/DaisyThemeController.html) | DaisyThemeController is a toggle-based switch for applying Daisy themes via `DaisyThemeManager`. It supports multiple display modes (toggle, checkbox, swap, text/icon variants) and syncs `IsChecked` with the current theme. Switching updates `CheckedTheme`/`UncheckedTheme` and can auto-adopt new themes. | | [DaisyThemeDropdown](controls/DaisyThemeDropdown.html) | DaisyThemeDropdown is a ComboBox listing available themes from `DaisyThemeManager`. It previews theme colors in a 2×2 dot grid and applies the selected theme. It syncs selection with the current theme when themes change externally. | | [DaisyThemeManager](controls/DaisyThemeManager.html) | DaisyThemeManager is the central theme loader/applicator for the **35 built-in DaisyUI themes**. It tracks available themes, applies palette ResourceDictionaries, updates Avalonia `RequestedThemeVariant`, and notifies listeners via `ThemeChanged`. Helpers expose current/alternate theme names and light/dark metadata. | | [DaisyThemeRadio](controls/DaisyThemeRadio.html) | DaisyThemeRadio is a theme-selecting RadioButton. When checked, it applies its `ThemeName` via `DaisyThemeManager`. It can render as a standard radio or styled button (`Mode=Button`) and supports Daisy size presets. It syncs checked state when themes change externally. | | [DaisyThemeSwap](controls/DaisyThemeSwap.html) | DaisyThemeSwap is a themed variant of DaisySwap for toggling light/dark (or any two) themes. It defaults to a rotate transition and keeps `IsChecked` in sync with the current theme's light/dark status. Clicking applies `LightTheme` or `DarkTheme` via `DaisyThemeManager`. | | [DaisyTimeline](controls/DaisyTimeline.html) | DaisyTimeline lays out timeline items horizontally or vertically. Each `DaisyTimelineItem` can show start/end content (labels), an optional middle icon, lines before/after, boxed styles, and active states. Supports compact mode and icon snapping for consistent alignment. | | [DaisyToast](controls/DaisyToast.html) | DaisyToast is a simple toast container (ItemsControl) that stacks toast items such as `DaisyAlert`. You control its screen position via alignment and offset properties. Place it in an overlay/top layer to float above other content; set `ZIndex` accordingly. | | [DaisyToggle](controls/DaisyToggle.html) | DaisyToggle is a styled `ToggleSwitch` with **8 color variants** and **4 size presets**. It offers customizable thumb size via `TogglePadding` (knob margin) and uses smooth knob animation on state changes. Use it for binary on/off controls. | | [DaisyWeatherCard](controls/DaisyWeatherCard.html) | DaisyWeatherCard is a flexible container that combines multiple weather display components. You can show/hide sections as needed and either bind data manually or provide an `IWeatherService` implementation for automatic fetching. | | [DaisyWeatherCurrent](controls/DaisyWeatherCurrent.html) | DaisyWeatherCurrent is a standalone widget for showing the current weather state. It features a large animated weather icon, prominent temperature display, and supporting information like "feels like" and sun times. | | [DaisyWeatherForecast](controls/DaisyWeatherForecast.html) | DaisyWeatherForecast is an `ItemsControl` that renders a row of forecast cards. Each card shows the day name, an animated weather icon, and the temperature range. Ideal for showing 5-7 day forecasts. | | [DaisyWeatherIcon](controls/DaisyWeatherIcon.html) | Animated weather condition icon with unique animations per weather type. Supports 21 weather conditions with condition-appropriate animations that can be toggled on/off. | | [DaisyWeatherMetrics](controls/DaisyWeatherMetrics.html) | DaisyWeatherMetrics shows supplementary weather data in a structured grid. Each metric displays a label, icon, current value, and a progress bar showing the value relative to a maximum. | ### Helper Classes | Class | Description | |-------|-------------| | [ColorCollection](controls/ColorCollection.html) | ColorCollection is a collection class for managing colors with support for predefined palettes. It implements `IList` and provides factory methods for creating standard color palettes like Named Colors, Office 2010, MS Paint, Web Safe, and custom grayscale gradients. | | [DaisyAccessibility](controls/DaisyAccessibility.html) | A static helper class providing accessibility utilities for Daisy controls. It simplifies setting up screen reader support across all controls. | | [DaisyPaginationItem](controls/DaisyPaginationItem.html) | A button control representing a single page in a `DaisyPagination` control. This is a helper class typically created automatically by the parent pagination control. | | [DaisySizeDropdown](controls/DaisySizeDropdown.html) | A dropdown control for selecting a global size (`DaisySize`) that affects (almost) all Flowery.NET controls. | | [FloweryComponentSidebar](controls/FloweryComponentSidebar.html) | FloweryComponentSidebar is a navigational sidebar composed of collapsible categories and clickable items. It provides built-in search filtering, a routed `ItemSelected` event, optional badges per item, and persistence of expanded state/last selection to local app data. **You must supply your own Categories collection** - the control initializes with an empty collection. | | [FloweryResponsive](controls/FloweryResponsive.html) | FloweryResponsive provides responsive layout functionality via attached properties. It calculates responsive widths based on available container space and exposes standard breakpoint constants for consistent responsive behavior across your app. | | [FloweryScaleConverter](controls/FloweryScaleConverter.html) | Flowery.NET provides two approaches for responsive scaling based on window size: | | [FloweryScaleManager](controls/FloweryScaleManager.html) | Opt-in automatic font scaling for Daisy controls based on window size. Set `EnableScaling="True"` on any container to make all child Daisy controls automatically scale their fonts as the window resizes. | | [FlowerySizeManager](controls/FlowerySizeManager.html) | Static service for global size management across all Daisy controls. Provides discrete size tiers (ExtraSmall to ExtraLarge) that all controls respond to simultaneously. | | [HslColor](controls/HslColor.html) | HslColor is a struct representing colors in the HSL (Hue, Saturation, Lightness) color space. It provides seamless conversion between HSL and RGB color spaces, making it essential for color picker controls that need intuitive color manipulation. | ## Common Patterns ### Shared Enums **DaisyColor** - Theme colors used across many controls: ``` Default, Primary, Secondary, Accent, Neutral, Info, Success, Warning, Error ``` **DaisySize** - Size variants: ``` ExtraSmall, Small, Medium (default), Large, ExtraLarge ``` **DaisyPlacement** - Position options: ``` Top, Bottom, Start, End ``` ### Control-Specific Enums - **DaisyButtonStyle**: `Default`, `Outline`, `Dash`, `Soft` - **DaisyButtonShape**: `Default`, `Wide`, `Block`, `Square`, `Circle` - **DaisyMaskVariant**: `Squircle`, `Heart`, `Hexagon`, `Circle`, `Square`, `Diamond`, `Triangle` - **DaisyAvatarShape**: `Square`, `Rounded`, `Circle` - **DaisyStatus**: `None`, `Online`, `Offline` - **DaisyAlertVariant**: `Info`, `Success`, `Warning`, `Error` - **DaisyLoadingVariant**: `Spinner`, `Dots`, `Ring`, `Ball`, `Bars`, `Infinity`, `Orbit`, `Snake`, `Pulse`, `Wave`, `Bounce`, `Matrix`, `Hourglass`, `Heartbeat`, `CursorBlink`, ... - **DaisyStatusIndicatorVariant**: `Default`, `Ping`, `Bounce`, `Pulse`, `Blink`, `Ripple`, `Heartbeat`, `Spin`, `Wave`, `Glow`, `Radar`, `Sonar`, `Beacon`, ... - **WeatherCondition**: `Sunny`, `PartlyCloudy`, `Cloudy`, `Overcast`, `Mist`, `Fog`, `LightRain`, `Rain`, `HeavyRain`, `Drizzle`, `Showers`, `Thunderstorm`, `LightSnow`, `Snow`, `HeavySnow`, `Sleet`, `FreezingRain`, `Hail`, `Windy`, `Clear` - **ColorSliderChannel**: `Red`, `Green`, `Blue`, `Alpha`, `Hue`, `Saturation`, `Lightness` ### Theming Use `DaisyThemeManager` to switch themes: ```csharp DaisyThemeManager.ApplyTheme("dracula"); ``` **Light themes:** acid, autumn, bumblebee, cmyk, corporate, cupcake, emerald, fantasy, garden, lemonade, light, lofi, nord, pastel, retro, valentine, winter, wireframe **Dark themes:** aqua, black, business, coffee, cyberpunk, dark, dim, dracula, forest, halloween, luxury, night, sunset, synthwave