unping_ui library
Desktop & Web first flutter component library
Classes
- AvatarBadge
- A badge widget for showing status indicators on avatars
- AvatarGroup
- A widget that displays multiple avatars in a stacked/overlapped layout
- Avatars
- Predefined avatar configurations matching common design patterns
- AvatarSizeHelper
- Helper class for avatar size calculations
- BadgeCount
- Count badge widget for badges
- BadgeDot
- Dot indicator widget for badges
- BadgeImage
- Avatar widget for badges
- Badges
- Predefined badge configurations matching common design patterns
- BaseAvatar
- A base avatar widget that supports images, initials, and icons
- BaseBadge
- A base badge widget that matches the Figma design pattern. Supports customizable text, left widgets (up to 2), right widget (up to 1), and removable functionality.
- BaseButton
- A base button widget that matches the Figma design pattern. Supports customizable text, icon, and styling with flexible positioning.
- BaseCheckbox
- A base checkbox widget that follows the same pattern as BaseBadge. Supports customizable states, shapes, sizes, and styling options.
-
BaseDropdown<
T> - A base dropdown widget that provides customizable dropdown functionality.
- BaseInput
- A base, token-driven input field that matches the Figma design system.
- Buttons
- Predefined button configurations matching common design patterns
- Checkboxes
- Predefined checkbox configurations matching common design patterns
- ColorGenerator
- Helper class for generating consistent colors from strings
- DropdownConfig
- Configuration for dropdown menu appearance and behavior
- DropdownMenu
- The dropdown menu overlay that contains menu items
- DropdownMenuAction
- Action item for menu-style dropdowns
- DropdownMenuItem
- A menu item in a dropdown list
-
DropdownOption<
T> - A selectable option in a dropdown menu
- Dropdowns
- Predefined dropdown configurations matching common design patterns
- DropdownSizeTokens
- Size tokens for different dropdown sizes
- InitialsHelper
- Helper class for extracting initials from names
- Inputs
- Predefined input configurations matching common design patterns.
- InputSizeSpec
- Signature for validating input values. Return a string to show an error message, or null when valid. Compact spec describing paddings and text style derived from InputSize.
- InputSizeTokens
- Maps InputSize to concrete paddings, min heights and typography. Uses design tokens from UiTextStyles where possible, with sensible fallbacks.
- PasswordStrengthColors
- Configuration for password strength calculation.
- PopoverTooltip
-
RadioGroup<
T> - Radio button group for managing multiple radio buttons
-
RadioOption<
T> - Radio option data class
- ResizableBox
- A resizable wrapper that adds a bottom-right drag handle.
- ResizeHandlePainter
- SearchIconPainter
- Toggles
- Central place to define toggle variants
- ToggleSwitch
- Tooltips
- UiColors
- Unping-UI color palette These colors form the foundation of the Unping design system Based on the Figma design system with consistent scales
- UiRadius
- Unping-UI border radius system Provides consistent border radius values throughout the design system
- UiRadiusExtension
- Theme extension for radius system Provides access to radius values through the theme system
- UiSpacing
- Unping-UI spacing system Provides consistent spacing values throughout the design system
- UiSpacingExtension
- Theme extension for spacing system Provides access to spacing values through the theme system
- UiTextStyles
- Unping-UI typography system Provides consistent text styles throughout the design system Based on the Figma design system with Outfit font family
- UiTheme
- Main theme configuration for Unping-UI This class provides the complete theme system that integrates with Flutter's ThemeData
- UiTooltip
- UiTooltipStyle
- Style container
- UnpingColorExtension
- Theme extension for Unping-UI specific colors This integrates with Flutter's theme system while providing custom colors
- UnpingTextStyleExtension
- Theme extension for typography Allows customization of text styles through the theme system
- UnpingUi
- Desktop & Web first flutter component library
- VisibilityIconPainter
- VisibilityOffIconPainter
- XIconPainter
Enums
- AvatarShape
- Avatar shape variants
- AvatarSize
- Avatar size variants
- BadgePosition
- Badge position on the avatar
- BadgeSize
- Badge size variants
- ButtonState
- Button visual states
- CheckboxShape
- Checkbox shape variants
- CheckboxSize
- Checkbox size variants
- CheckboxState
- Checkbox state variants
- CheckboxVisualState
- Checkbox visual states (for styling)
- DropdownMenuPosition
- Position of the dropdown menu relative to the trigger
- DropdownSize
- Size variants for dropdown components
- DropdownState
- Visual states for dropdown components
- DropdownType
- Type of dropdown menu
- IconPosition
- Position of the icon relative to the text
- InputSize
- Input size variants
- InputState
- Input visual states (can be forced for showcasing)
- PasswordStrength
- Password strength buckets
- RadioState
- Radio button state variants (only supports checked/unchecked)
- ToggleSize
- Toggle size variants
- ToggleVisualState
- Toggle visual states (for styling)
- UiTooltipPlacement
- Enums
- UiTooltipVariant
- UserStatus
- User status for badge indicators
Extensions
- UiRadiusContext on BuildContext
- Extension on BuildContext to easily access radius values
- UiSpacingContext on BuildContext
- Extension on BuildContext to easily access spacing values
- UiThemeContext on BuildContext
- Extension on BuildContext to easily access theme colors, spacing, and other design tokens
- UnpingColorContext on BuildContext
- Extension on BuildContext to easily access Unping-UI colors
- UnpingTextStyleContext on BuildContext
- Extension on BuildContext to easily access text styles
Constants
- kTooltipGap → const double
- kTooltipHideDuration → const Duration
- kTooltipMaxWidth → const double
- kTooltipPadding → const EdgeInsets
- kTooltipRadius → const BorderRadius
-
kTooltipShadow
→ const List<
BoxShadow> - kTooltipShowDelay → const Duration
- kTooltipShowDuration → const Duration
Functions
-
buildTooltipOverlay(
{required BuildContext context, required LayerLink link, required AnimationController controller, required String message, Widget? content, required UiTooltipPlacement placement, required UiTooltipStyle style, bool interactive = false, bool dismissOnTapOutside = false, VoidCallback? onTapOutside}) → OverlayEntry -
resolvePlacement(
{required BuildContext context, required UiTooltipPlacement explicit}) → UiTooltipPlacement - Placement resolver
-
styleFor(
UiTooltipVariant variant, double viewportWidth) → UiTooltipStyle - UiTooltipStyle