AdaptiveExplorer<T> class

A compound browsing surface that combines filters, results, and detail panels into one adaptive workspace.

Inheritance

Constructors

AdaptiveExplorer({Key? key, required List<T> results, required Widget filters, required String filtersTitle, required Widget itemBuilder(BuildContext context, T result, bool selected, VoidCallback onTap), required Widget detailBuilder(BuildContext context, T result), String? filtersDescription, Widget? filtersLeading, List<Widget> activeFilters = const [], String activeFiltersLabel = 'Active filters', Widget? header, Widget? emptyState, AdaptiveSize dockedAt = AdaptiveSize.expanded, AdaptiveHeight minimumDockedHeight = AdaptiveHeight.medium, bool useContainerConstraints = true, bool considerOrientation = false, int? selectedIndex, int initialIndex = 0, ValueChanged<int>? onSelectedIndexChanged, String modalFilterLabel = 'Open filters', Widget modalFilterIcon = const Icon(Icons.tune_outlined), double spacing = 16, int filtersFlex = 2, int resultsFlex = 2, int detailFlex = 3, double itemSpacing = 12, EdgeInsetsGeometry filtersPadding = const EdgeInsets.all(16), EdgeInsetsGeometry resultsPadding = const EdgeInsets.all(16), EdgeInsetsGeometry detailPadding = const EdgeInsets.all(16), EdgeInsetsGeometry activeFiltersPadding = const EdgeInsets.all(12), double modalHeightFactor = 0.72, bool showModalDragHandle = true, bool animateSize = true, Duration animationDuration = const Duration(milliseconds: 250), Curve animationCurve = Curves.easeInOutCubic})
Creates an adaptive explorer.
const

Properties

activeFilters List<Widget>
Active filter chips or badges shown above the results.
final
activeFiltersLabel String
Label shown above activeFilters.
final
activeFiltersPadding EdgeInsetsGeometry
Padding applied inside the active filters surface.
final
animateSize bool
Whether to animate size changes when the mode changes.
final
animationCurve Curve
Curve used by AnimatedSize.
final
animationDuration Duration
Duration used by AnimatedSize.
final
considerOrientation bool
Whether orientation should influence container-based breakpoint selection.
final
detailBuilder Widget Function(BuildContext context, T result)
Builds the detail content for the selected result.
final
detailFlex int
Flex used by the detail region in docked mode.
final
detailPadding EdgeInsetsGeometry
Padding applied inside the detail surface.
final
dockedAt AdaptiveSize
Semantic size at which the explorer should dock inline.
final
emptyState Widget?
Optional empty state shown when results is empty.
final
filters Widget
Filter controls shown inline or in a modal sheet.
final
filtersDescription String?
Optional description shown below the filter title.
final
filtersFlex int
Flex used by the filter region in docked mode.
final
filtersLeading Widget?
Optional leading widget shown beside the filter title.
final
filtersPadding EdgeInsetsGeometry
Padding applied inside the filter surface.
final
filtersTitle String
Title shown above the filter controls.
final
hashCode int
The hash code for this object.
no setterinherited
Optional header shown above the results.
final
initialIndex int
Initial selected result index for uncontrolled usage.
final
itemBuilder Widget Function(BuildContext context, T result, bool selected, VoidCallback onTap)
Builds an individual result row or card.
final
itemSpacing double
Space between adjacent result items.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
minimumDockedHeight AdaptiveHeight
Minimum height class required before the explorer can dock inline.
final
modalFilterIcon Widget
Icon used by the compact filter trigger.
final
modalFilterLabel String
Label used by the compact filter trigger.
final
modalHeightFactor double
Height factor used by compact modal sheets.
final
onSelectedIndexChanged ValueChanged<int>?
Called when the active result changes.
final
results List<T>
Records shown in the result list.
final
resultsFlex int
Flex used by the results region in docked mode.
final
resultsPadding EdgeInsetsGeometry
Padding applied inside the result surface.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectedIndex int?
Optional controlled selected result index.
final
showModalDragHandle bool
Whether to show a drag handle in modal sheets.
final
spacing double
Space between the docked regions.
final
useContainerConstraints bool
Whether to derive the layout mode from parent constraints.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<AdaptiveExplorer<T>>
Creates the mutable state for this widget at a given location in the tree.
override
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

Operators

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