UiSmartActionGroup class
Experimental inline action group for replacing "More" sheets with morphing buttons.
This renderer is geometry-first: every frame is solved as a list of exact button rectangles before any widgets are built. That keeps width, gaps, opacity, and hit testing coordinated and avoids transient Flex overflows.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- UiSmartActionGroup
Constructors
-
UiSmartActionGroup({Key? key, required List<
UiSmartActionGroupAction> actions, int collapsedCount = 1, bool? expanded, bool initiallyExpanded = false, ValueChanged<bool> ? onExpandedChanged, UiSize size = UiSize.sm, String moreLabel = 'More', String collapseLabel = 'Less', Widget moreIcon = const Icon(LucideIcons.ellipsis), Widget collapseIcon = const Icon(LucideIcons.chevronUp), UiIntent moreIntent = UiIntent.neutral, UiIntent collapseIntent = UiIntent.neutral, bool showCollapseAction = true, bool collapseOnAction = false, UiSmartActionGroupExpandedLayout expandedLayout = UiSmartActionGroupExpandedLayout.equal, double? moreButtonWidth, double? collapseButtonWidth, double compactBreakpoint = 420, double? spacing, UiMotionDuration duration = UiMotionDuration.slow, Curve? curve, String? semanticLabel}) -
const
Properties
-
actions
→ List<
UiSmartActionGroupAction> -
Ordered actions. The first collapsedCount stay visible while collapsed.
final
- collapseButtonWidth → double?
-
Fixed wide-layout width for the expanded collapse control.
final
- collapsedCount → int
-
Number of leading actions shown before the "more" control.
final
- collapseIcon → Widget
-
Leading icon for the expanded collapse control.
final
- collapseIntent → UiIntent
-
Intent for the expanded collapse control.
final
- collapseLabel → String
-
Label for the expanded collapse control.
final
- collapseOnAction → bool
-
Whether activating a non-toggle action collapses the group first.
final
- compactBreakpoint → double
-
Below this width the group falls back to a horizontal scroll viewport.
final
- curve → Curve?
-
Override transition curve. Defaults to theme standard curve.
final
- duration → UiMotionDuration
-
final
- expanded → bool?
-
Controlled expanded state. When
null, the widget owns its state.final - expandedLayout → UiSmartActionGroupExpandedLayout
-
Width policy once the hidden actions are shown in wide layouts.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- initiallyExpanded → bool
-
Initial uncontrolled expanded state.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- moreButtonWidth → double?
-
Fixed wide-layout width for the collapsed overflow control.
final
- moreIcon → Widget
-
Leading icon for the collapsed overflow control.
final
- moreIntent → UiIntent
-
Intent for the collapsed overflow control.
final
- moreLabel → String
-
Label for the collapsed overflow control.
final
-
onExpandedChanged
→ ValueChanged<
bool> ? -
Called whenever the expanded state should change.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- semanticLabel → String?
-
Spoken label for the semantic group.
final
- showCollapseAction → bool
-
Whether to append a collapse button when expanded.
final
- size → UiSize
-
Button size applied to every action.
final
- spacing → double?
-
Gap between buttons. Defaults to the token x2 spacing.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< UiSmartActionGroup> -
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