SubZeroHeader class

A responsive header component following SubZero 2.0 Design System.

Features:

  • Two variants: Primary (burgundy) and Surface (white)
  • Distinctive angled/clipped corner design
  • Responsive layout (mobile/tablet/desktop)
  • Scrolled state with elevated shadow
  • Flexible slots for branding, navigation, and actions

Example usage:

SubZeroHeader(
  variant: SubZeroHeaderVariant.primary,
  brandName: 'AXIS BANK',
  logo: Image.asset('assets/logo.png'),
  isScrolled: _isScrolled,
  navigationItems: [
    SubZeroHeaderNavItem(label: 'Home', onTap: () {}),
    SubZeroHeaderNavItem(label: 'Products', onTap: () {}),
  ],
  actions: [
    IconButton(icon: Icon(Icons.notifications), onPressed: () {}),
  ],
)
Inheritance
Available extensions

Constructors

SubZeroHeader({Key? key, SubZeroHeaderVariant variant = SubZeroHeaderVariant.primary, String? brandName, String? productName, List<SubZeroHeaderNavItem> navigationItems = const [], List<Widget> actions = const [], bool isScrolled = false, VoidCallback? onMenuPressed, double? height, bool showAngledEdge = true, VoidCallback? onLogoTap})
const

Properties

actions → List<Widget>
Action widgets on the right (icons, avatar, etc.)
final
brandName → String?
Main brand name (e.g., "AXIS BANK")
final
hashCode → int
The hash code for this object.
no setterinherited
height → double?
Custom height (defaults based on variant and screen size)
final
isScrolled → bool
Whether the page has been scrolled (adds elevation)
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
Logo widget (typically an Image or Icon)
final
Navigation items for desktop view
final
onLogoTap → VoidCallback?
Callback when logo/brand is tapped
final
onMenuPressed → VoidCallback?
Callback for mobile menu button
final
productName → String?
Product/sub-brand name (e.g., "PRODUCT NAME" in "open | PRODUCT NAME")
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
showAngledEdge → bool
Whether to show the angled/clipped edge
final
variant → SubZeroHeaderVariant
Header style variant
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