MiniCardOptions class

Configuration options for the MiniCard widget.

Provides properties to customize the appearance of a small participant avatar/badge, displaying either an image or text initials with extensive styling options.

Core Display Properties:

  • initials: Text fallback when no image provided (e.g., "JD" for "John Doe")
  • fontSize: Text size for initials (default: 14)
  • imageSource: Optional network image URL; if null/empty, displays initials
  • roundedImage: If true, applies circular clipping (borderRadius=9999); default=true

Container Styling:

  • customStyle: BoxDecoration for outer container (background, border, etc.)
  • padding/margin/alignment: Positioning and spacing for outer container

Initials Styling:

  • initialsDecoration: BoxDecoration for initials wrapper (background color, etc.)
  • initialsPadding: Padding around initials text
  • initialsTextStyle: TextStyle override (font, color, weight); default=black/600

Image Styling:

  • imageStyle: BoxDecoration for image wrapper (border radius extracted for ClipRRect)
  • imageContainerDecoration: BoxDecoration for image wrapper container
  • imageContainerPadding/imageContainerMargin: Spacing for image wrapper
  • imageFit: How image fills bounds (default: BoxFit.cover)
  • imageAlignment: Image alignment within bounds (default: Alignment.center)

Builder Hooks (3):

  • customBuilder: Full widget replacement; receives MiniCardOptions
  • containerBuilder: Override outer Container; receives MiniCardContainerContext + default
  • imageBuilder: Override image display; receives MiniCardImageContext + default
  • initialsBuilder: Override initials display; receives MiniCardInitialsContext + default

Usage Patterns:

  1. Default Initials Display:

    MiniCard(
      options: MiniCardOptions(
        initials: 'JD',
        customStyle: BoxDecoration(color: Colors.blue, shape: BoxShape.circle),
      ),
    )
    
  2. Image Avatar:

    MiniCard(
      options: MiniCardOptions(
        initials: 'JD',
        imageSource: 'https://example.com/avatar.jpg',
        roundedImage: true,
      ),
    )
    
  3. Custom Builder Hook:

    MiniCard(
      options: MiniCardOptions(
        initials: 'JD',
        containerBuilder: (context, defaultContainer) {
          return GestureDetector(
            onTap: () => print('Avatar tapped'),
            child: defaultContainer,
          );
        },
      ),
    )
    

Override Integration: Can be overridden via MediasfuUICustomOverrides using ComponentOverride<MiniCardOptions>:

overrides: MediasfuUICustomOverrides(
  miniCardOptions: ComponentOverride<MiniCardOptions>(
    builder: (existingOptions) => MiniCardOptions(
      initials: existingOptions.initials,
      imageSource: existingOptions.imageSource,
      customStyle: BoxDecoration(border: Border.all(color: Colors.gold, width: 2)),
    ),
  ),
),

Implementation Notes:

  • Image loading failures automatically fallback to initials display
  • Border radius extraction from imageStyle.borderRadius for ClipRRect compatibility
  • Builder hooks receive both context and default widget for wrapping patterns

Constructors

MiniCardOptions.new({required String initials, double fontSize = 14, BoxDecoration customStyle = const BoxDecoration(), String? imageSource, bool roundedImage = true, BoxDecoration? imageStyle, MiniCardType? customBuilder, EdgeInsetsGeometry? padding, EdgeInsetsGeometry? margin, AlignmentGeometry? alignment, BoxDecoration? initialsDecoration, EdgeInsetsGeometry? initialsPadding, TextStyle? initialsTextStyle, BoxDecoration? imageContainerDecoration, EdgeInsetsGeometry? imageContainerPadding, EdgeInsetsGeometry? imageContainerMargin, BoxFit imageFit = BoxFit.cover, AlignmentGeometry imageAlignment = Alignment.center, MiniCardContainerBuilder? containerBuilder, MiniCardImageBuilder? imageBuilder, MiniCardInitialsBuilder? initialsBuilder, double size = 40.0, bool enableGlassmorphism = false, bool showGradientBackground = false, Gradient? gradient, bool isDarkMode = false, bool showBorder = false, Color? borderColor, double borderWidth = 1.0, bool showShadow = false, List<BoxShadow>? customShadow, Color? initialsBackgroundColor, bool enableGlow = false, Color? glowColor, double glowIntensity = 0.5, bool enablePremiumBorder = false})
const

Properties

alignment → AlignmentGeometry?
final
borderColor → Color?
Border color. Used by modern styling.
final
borderWidth → double
Border width. Used by modern styling.
final
containerBuilder → MiniCardContainerBuilder?
final
customBuilder → MiniCardType?
final
customShadow → List<BoxShadow>?
Custom shadow. Used by modern styling.
final
customStyle → BoxDecoration
final
enableGlassmorphism → bool
Enable glassmorphism effects. Used by modern styling for blur effects.
final
enableGlow → bool
Enable glow effect. Used by modern premium styling.
final
enablePremiumBorder → bool
Enable premium border styling. Used by modern premium styling.
final
fontSize → double
final
glowColor → Color?
Glow color. Used by modern premium styling.
final
glowIntensity → double
Glow intensity. Used by modern premium styling.
final
gradient → Gradient?
Optional gradient. Used by modern styling.
final
hashCode → int
The hash code for this object.
no setterinherited
imageAlignment → AlignmentGeometry
final
imageBuilder → MiniCardImageBuilder?
final
imageContainerDecoration → BoxDecoration?
final
imageContainerMargin → EdgeInsetsGeometry?
final
imageContainerPadding → EdgeInsetsGeometry?
final
imageFit → BoxFit
final
imageSource → String?
final
imageStyle → BoxDecoration?
final
initials → String
final
initialsBackgroundColor → Color?
Initials background color. Used by modern styling.
final
initialsBuilder → MiniCardInitialsBuilder?
final
initialsDecoration → BoxDecoration?
final
initialsPadding → EdgeInsetsGeometry?
final
initialsTextStyle → TextStyle?
final
isDarkMode → bool
Dark mode toggle. Used by modern styling for theme.
final
margin → EdgeInsetsGeometry?
final
padding → EdgeInsetsGeometry?
final
roundedImage → bool
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
showBorder → bool
Show border. Used by modern styling.
final
showGradientBackground → bool
Show gradient background. Used by modern styling.
final
showShadow → bool
Show shadow. Used by modern styling.
final
size → double
Size of the mini card. Used by modern styling.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited