InputFeature class abstract
Abstract factory for creating input field feature components.
Provides factory constructors for common text field features like password toggles, clear buttons, hints, autocomplete, and spinners. Features can be conditionally shown based on field state using InputFeatureVisibility.
Example:
TextField(
leading: [
InputFeature.hint(
popupBuilder: (context) => Text('Enter email'),
),
],
trailing: [
InputFeature.clear(),
InputFeature.passwordToggle(),
],
)
Constructors
- InputFeature({InputFeatureVisibility visibility = InputFeatureVisibility.always, bool skipFocusTraversal = true})
-
Creates an input feature.
const
- InputFeature.above(Widget? child, {InputFeatureVisibility visibility, bool skipFocusTraversal})
-
Creates a custom widget feature displayed above the input text.
constfactory
- InputFeature.autoComplete({InputFeatureVisibility visibility, required SuggestionBuilder querySuggestions, required Widget child, BoxConstraints? popoverConstraints, PopoverConstraint? popoverWidthConstraint, AlignmentDirectional? popoverAnchorAlignment, AlignmentDirectional? popoverAlignment, AutoCompleteMode mode, bool skipFocusTraversal})
-
Creates an autocomplete feature.
constfactory
- InputFeature.below(Widget? child, {InputFeatureVisibility visibility, bool skipFocusTraversal})
-
Creates a custom widget feature displayed below the input text.
constfactory
- InputFeature.clear({InputFeatureVisibility visibility, InputFeaturePosition position, Widget? icon, bool skipFocusTraversal})
-
Creates a clear text button feature.
constfactory
- InputFeature.copy({InputFeatureVisibility visibility, InputFeaturePosition position, Widget? icon, bool skipFocusTraversal})
-
Creates a copy to clipboard button feature.
constfactory
- InputFeature.decrementButton({InputFeatureVisibility visibility, InputFeaturePosition position, double step, double? invalidValue, double? min, double? max, Widget? icon, bool skipFocusTraversal})
-
Creates a decrement button feature for numeric inputs.
constfactory
- InputFeature.hint({InputFeatureVisibility visibility, required WidgetBuilder popupBuilder, Widget? icon, InputFeaturePosition position, bool enableShortcuts, bool skipFocusTraversal})
-
Creates a hint/tooltip feature for the input field.
constfactory
- InputFeature.incrementButton({InputFeatureVisibility visibility, InputFeaturePosition position, double step, double? invalidValue, double? min, double? max, Widget? icon, bool skipFocusTraversal})
-
Creates an increment button feature for numeric inputs.
constfactory
- InputFeature.leading(Widget child, {InputFeatureVisibility visibility, bool skipFocusTraversal})
-
Creates a custom leading widget feature.
constfactory
- InputFeature.passwordToggle({InputFeatureVisibility visibility, PasswordPeekMode mode, InputFeaturePosition position, Widget? icon, Widget? iconShow, bool skipFocusTraversal})
-
Creates a password visibility toggle feature.
constfactory
- InputFeature.paste({InputFeatureVisibility visibility, InputFeaturePosition position, Widget? icon, bool skipFocusTraversal})
-
Creates a paste from clipboard button feature.
constfactory
- InputFeature.revalidate({InputFeatureVisibility visibility, InputFeaturePosition position, Widget? icon, bool skipFocusTraversal})
-
Creates a revalidate button feature.
constfactory
- InputFeature.spinner({InputFeatureVisibility visibility, double step, bool enableGesture, double? invalidValue, double? min, double? max, bool skipFocusTraversal})
-
Creates a numeric spinner feature for incrementing/decrementing values.
constfactory
- InputFeature.trailing(Widget child, {InputFeatureVisibility visibility, bool skipFocusTraversal})
-
Creates a custom trailing widget feature.
constfactory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- skipFocusTraversal → bool
-
Whether to skip this feature in focus traversal.
final
- visibility → InputFeatureVisibility
-
Visibility mode for this input feature.
final
Methods
-
createState(
) → InputFeatureState< InputFeature> - Creates the state for this input feature.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
canUpdate(
InputFeature oldFeature, InputFeature newFeature) → bool - Checks if an old feature can be updated to a new feature.