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 kindstyle with the matching slot layered over it — or null.