FluentNavItemTheme class

Overrides the nav row style for a subtree.

The middle rungs of the resolution order: theme defaults, then style, then the slot matching the row's own FluentNavItemKind, then the widget's own style. Placing this above a FluentNav restyles every row in it.

The kind slots exist because React styles the four sets through separate hooks — useNavItemStyles, useNavCategoryItemStyles, useNavSubItemStyles — so a consumer can restyle one without touching the others. Without them, "make categories read differently from their children" means passing style: to every widget by hand.

FluentNavItemTheme(
  style: everyRow,
  categoryStyle: headersOnly,
  child: FluentNav(children: <Widget>[…]),
)
Inheritance

Constructors

FluentNavItemTheme({Key? key, FluentNavItemStyle? style, FluentNavItemStyle? appItemStyle, FluentNavItemStyle? categoryStyle, FluentNavItemStyle? itemStyle, FluentNavItemStyle? subItemStyle, required Widget child})
Applies style and the kind slots to every nav row in child.
const

Properties

appItemStyle → FluentNavItemStyle?
Layered over style for FluentNavItemKind.appItem rows.
final
categoryStyle → FluentNavItemStyle?
Layered over style for FluentNavItemKind.category rows.
final
child → Widget
The widget below this widget in the tree.
finalinherited
hashCode → int
The hash code for this object.
no setterinherited
itemStyle → FluentNavItemStyle?
Layered over style for FluentNavItemKind.item rows.
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
style → FluentNavItemStyle?
The style layered over every kind's defaults.
final
subItemStyle → FluentNavItemStyle?
Layered over style for FluentNavItemKind.subItem rows.
final

Methods

createElement() → InheritedElement
Inflates this configuration to a concrete instance.
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
updateShouldNotify(covariant FluentNavItemTheme oldWidget) → bool
Whether the framework should notify widgets that inherit from this widget.
override
wrap(BuildContext context, Widget child) → Widget
Return a copy of this inherited theme with the specified child.
override

Operators

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

Static Methods

maybeOf(BuildContext context) → FluentNavItemStyle?
The nearest catch-all nav row style, or null.
maybeOfKind(BuildContext context, FluentNavItemKind kind) → FluentNavItemStyle?
The nearest nav row style for kind — style with the matching slot layered over it — or null.