SubZeroBadge class
A versatile badge component following the SubZero 2.0 Design System.
Supports two variants:
- Dot: A simple indicator without count
- Count: Displays a numeric value with overflow handling (99+)
Can be used standalone or attached to a child widget (e.g., Avatar, Icon).
Example usage:
// Standalone count badge
SubZeroBadge(
variant: SubZeroBadgeVariant.count,
count: 5,
)
// Badge attached to an icon
SubZeroBadge(
variant: SubZeroBadgeVariant.dot,
child: Icon(Icons.notifications),
)
// Count badge with custom style
SubZeroBadge(
variant: SubZeroBadgeVariant.count,
count: 150,
maxCount: 99,
style: SubZeroBadgeStyle.outlined,
child: SubZeroAvatar(name: 'John'),
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- SubZeroBadge
- Available extensions
Constructors
- SubZeroBadge({Key? key, SubZeroBadgeVariant variant = SubZeroBadgeVariant.dot, int count = 0, int maxCount = 99, SubZeroBadgeStyle style = SubZeroBadgeStyle.filled, SubZeroBadgeSize size = SubZeroBadgeSize.medium, Widget? child, SubZeroBadgeAlignment alignment = const SubZeroBadgeAlignment(), bool showBadge = true, Color? backgroundColor, Color? foregroundColor, String? semanticLabel})
-
const
- SubZeroBadge.count({Key? key, required int count, int maxCount = 99, SubZeroBadgeStyle style = SubZeroBadgeStyle.filled, SubZeroBadgeSize size = SubZeroBadgeSize.medium, Widget? child, SubZeroBadgeAlignment alignment = const SubZeroBadgeAlignment(), bool showBadge = true, Color? backgroundColor, Color? foregroundColor, String? semanticLabel})
-
Factory constructor for a count badge
factory
- SubZeroBadge.dot({Key? key, SubZeroBadgeStyle style = SubZeroBadgeStyle.filled, SubZeroBadgeSize size = SubZeroBadgeSize.medium, Widget? child, SubZeroBadgeAlignment alignment = const SubZeroBadgeAlignment(), bool showBadge = true, Color? backgroundColor, String? semanticLabel})
-
Factory constructor for a dot badge
factory
Properties
- alignment → SubZeroBadgeAlignment
-
Badge alignment configuration when attached to a child
final
- backgroundColor → Color?
-
Custom background color (overrides style)
final
- child → Widget?
-
The widget to attach the badge to (optional)
final
- count → int
-
The count to display (only used when variant is SubZeroBadgeVariant.count)
final
- foregroundColor → Color?
-
Custom text/border color (overrides style)
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- maxCount → int
-
Maximum count before showing overflow (e.g., 99+)
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- semanticLabel → String?
-
Semantic label for accessibility
final
- showBadge → bool
-
Whether to show the badge (useful for conditionally hiding)
final
- size → SubZeroBadgeSize
-
The size preset for the badge
final
- style → SubZeroBadgeStyle
-
The visual style of the badge
final
- variant → SubZeroBadgeVariant
-
The badge variant (dot or count)
final
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
-
withCountBadge(
{required int count, int maxCount = 99, SubZeroBadgeStyle style = SubZeroBadgeStyle.filled, SubZeroBadgeSize size = SubZeroBadgeSize.medium, SubZeroBadgeAlignment alignment = const SubZeroBadgeAlignment(), bool show = true}) → Widget -
Available on Widget, provided by the SubZeroBadgeExtension extension
Wrap this widget with a count badge -
withDotBadge(
{SubZeroBadgeStyle style = SubZeroBadgeStyle.filled, SubZeroBadgeSize size = SubZeroBadgeSize.medium, SubZeroBadgeAlignment alignment = const SubZeroBadgeAlignment(), bool show = true}) → Widget -
Available on Widget, provided by the SubZeroBadgeExtension extension
Wrap this widget with a dot badge
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited