password static method

Widget password({
  1. FTextFieldControl control = const .managed(),
  2. FObscureTextControl obscureTextControl = const .managed(),
  3. FTextFieldStyle style(
    1. FTextFieldStyle style
    )?,
  4. FFieldBuilder<FTextFieldStyle> builder = Input.defaultBuilder,
  5. Widget? label = const LocalizedText.password(),
  6. String? hint,
  7. Widget? description,
  8. Widget? error,
  9. TextMagnifierConfiguration? magnifierConfiguration,
  10. Object groupId = EditableText,
  11. FocusNode? focusNode,
  12. TextInputType? keyboardType,
  13. TextInputAction textInputAction = .next,
  14. TextCapitalization textCapitalization = .none,
  15. TextAlign textAlign = .start,
  16. TextAlignVertical? textAlignVertical,
  17. TextDirection? textDirection,
  18. bool autofocus = false,
  19. WidgetStatesController? statesController,
  20. String obscuringCharacter = '•',
  21. bool autocorrect = false,
  22. SmartDashesType? smartDashesType,
  23. SmartQuotesType? smartQuotesType,
  24. bool enableSuggestions = false,
  25. int? minLines,
  26. int maxLines = 1,
  27. bool expands = false,
  28. bool readOnly = false,
  29. bool? showCursor,
  30. int? maxLength,
  31. MaxLengthEnforcement? maxLengthEnforcement,
  32. GestureTapCallback? onTap,
  33. TapRegionCallback? onTapOutside,
  34. bool onTapAlwaysCalled = false,
  35. VoidCallback? onEditingComplete,
  36. ValueChanged<String>? onSubmit,
  37. AppPrivateCommandCallback? onAppPrivateCommand,
  38. List<TextInputFormatter>? inputFormatters,
  39. bool enabled = true,
  40. bool? ignorePointers,
  41. bool enableInteractiveSelection = true,
  42. bool? selectAllOnFocus,
  43. TextSelectionControls? selectionControls,
  44. DragStartBehavior dragStartBehavior = .start,
  45. MouseCursor? mouseCursor,
  46. FTextFieldCounterBuilder? counterBuilder,
  47. ScrollPhysics? scrollPhysics,
  48. ScrollController? scrollController,
  49. Iterable<String> autofillHints = const [AutofillHints.password],
  50. String? restorationId,
  51. bool stylusHandwritingEnabled = true,
  52. bool enableIMEPersonalizedLearning = true,
  53. ContentInsertionConfiguration? contentInsertionConfiguration,
  54. EditableTextContextMenuBuilder contextMenuBuilder = Input.defaultContextMenuBuilder,
  55. bool canRequestFocus = true,
  56. UndoHistoryController? undoController,
  57. SpellCheckConfiguration? spellCheckConfiguration,
  58. FPasswordFieldIconBuilder<FTextFieldStyle>? prefixBuilder,
  59. FPasswordFieldIconBuilder<FTextFieldStyle>? suffixBuilder = PasswordField.defaultToggleBuilder,
  60. bool clearable(
    1. TextEditingValue
    ) = Input.defaultClearable,
  61. FFieldClearIconBuilder clearIconBuilder = Input.defaultClearIconBuilder,
  62. Key? key,
})

Creates a FTextField configured for password entry with a visibility toggle.

By default, suffixBuilder is an eye icon that toggles showing and hiding the password. Replace the toggle by providing a custom suffixBuilder, or disable it by setting it to null.

The obscureTextControl parameter controls the obscuring state.

autofillHints defaults to AutofillHints.password. Use AutofillHints.newPassword for new-password inputs.

Implementation

static Widget password({
  FTextFieldControl control = const .managed(),
  FObscureTextControl obscureTextControl = const .managed(),
  FTextFieldStyle Function(FTextFieldStyle style)? style,
  FFieldBuilder<FTextFieldStyle> builder = Input.defaultBuilder,
  Widget? label = const LocalizedText.password(),
  String? hint,
  Widget? description,
  Widget? error,
  TextMagnifierConfiguration? magnifierConfiguration,
  Object groupId = EditableText,
  FocusNode? focusNode,
  TextInputType? keyboardType,
  TextInputAction textInputAction = .next,
  TextCapitalization textCapitalization = .none,
  TextAlign textAlign = .start,
  TextAlignVertical? textAlignVertical,
  TextDirection? textDirection,
  bool autofocus = false,
  WidgetStatesController? statesController,
  String obscuringCharacter = '•',
  bool autocorrect = false,
  SmartDashesType? smartDashesType,
  SmartQuotesType? smartQuotesType,
  bool enableSuggestions = false,
  int? minLines,
  int maxLines = 1,
  bool expands = false,
  bool readOnly = false,
  bool? showCursor,
  int? maxLength,
  MaxLengthEnforcement? maxLengthEnforcement,
  GestureTapCallback? onTap,
  TapRegionCallback? onTapOutside,
  bool onTapAlwaysCalled = false,
  VoidCallback? onEditingComplete,
  ValueChanged<String>? onSubmit,
  AppPrivateCommandCallback? onAppPrivateCommand,
  List<TextInputFormatter>? inputFormatters,
  bool enabled = true,
  bool? ignorePointers,
  bool enableInteractiveSelection = true,
  bool? selectAllOnFocus,
  TextSelectionControls? selectionControls,
  DragStartBehavior dragStartBehavior = .start,
  MouseCursor? mouseCursor,
  FTextFieldCounterBuilder? counterBuilder,
  ScrollPhysics? scrollPhysics,
  ScrollController? scrollController,
  Iterable<String> autofillHints = const [AutofillHints.password],
  String? restorationId,
  bool stylusHandwritingEnabled = true,
  bool enableIMEPersonalizedLearning = true,
  ContentInsertionConfiguration? contentInsertionConfiguration,
  EditableTextContextMenuBuilder contextMenuBuilder = Input.defaultContextMenuBuilder,
  bool canRequestFocus = true,
  UndoHistoryController? undoController,
  SpellCheckConfiguration? spellCheckConfiguration,
  FPasswordFieldIconBuilder<FTextFieldStyle>? prefixBuilder,
  FPasswordFieldIconBuilder<FTextFieldStyle>? suffixBuilder = PasswordField.defaultToggleBuilder,
  bool Function(TextEditingValue) clearable = Input.defaultClearable,
  FFieldClearIconBuilder clearIconBuilder = Input.defaultClearIconBuilder,
  Key? key,
}) => TextFieldControl(
  key: key,
  control: control,
  builder: (context, controller, _) => PasswordField(
    controller: controller,
    properties: PasswordFieldProperties(
      style: style,
      builder: builder,
      label: label,
      hint: hint,
      description: description,
      error: error,
      magnifierConfiguration: magnifierConfiguration,
      groupId: groupId,
      focusNode: focusNode,
      keyboardType: keyboardType,
      textInputAction: textInputAction,
      textCapitalization: textCapitalization,
      textAlign: textAlign,
      textAlignVertical: textAlignVertical,
      textDirection: textDirection,
      autofocus: autofocus,
      statesController: statesController,
      obscuringCharacter: obscuringCharacter,
      autocorrect: autocorrect,
      smartDashesType: smartDashesType,
      smartQuotesType: smartQuotesType,
      enableSuggestions: enableSuggestions,
      minLines: minLines,
      maxLines: maxLines,
      expands: expands,
      readOnly: readOnly,
      showCursor: showCursor,
      maxLength: maxLength,
      maxLengthEnforcement: maxLengthEnforcement,
      onTap: onTap,
      onTapOutside: onTapOutside,
      onTapAlwaysCalled: onTapAlwaysCalled,
      onEditingComplete: onEditingComplete,
      onSubmit: onSubmit,
      onAppPrivateCommand: onAppPrivateCommand,
      inputFormatters: inputFormatters,
      enabled: enabled,
      ignorePointers: ignorePointers,
      enableInteractiveSelection: enableInteractiveSelection,
      selectAllOnFocus: selectAllOnFocus,
      selectionControls: selectionControls,
      dragStartBehavior: dragStartBehavior,
      mouseCursor: mouseCursor,
      counterBuilder: counterBuilder,
      scrollPhysics: scrollPhysics,
      scrollController: scrollController,
      autofillHints: autofillHints,
      restorationId: restorationId,
      stylusHandwritingEnabled: stylusHandwritingEnabled,
      enableIMEPersonalizedLearning: enableIMEPersonalizedLearning,
      contentInsertionConfiguration: contentInsertionConfiguration,
      contextMenuBuilder: contextMenuBuilder,
      canRequestFocus: canRequestFocus,
      undoController: undoController,
      spellCheckConfiguration: spellCheckConfiguration,
      prefixBuilder: prefixBuilder,
      suffixBuilder: suffixBuilder,
      clearable: clearable,
      clearIconBuilder: clearIconBuilder,
      obscureTextControl: obscureTextControl,
    ),
  ),
);