FAutocomplete constructor

FAutocomplete({
  1. required List<String> items,
  2. FAutocompleteControl control = const .managed(),
  3. FPopoverControl popoverControl = const .managed(),
  4. FTextFieldSizeVariant size = .md,
  5. FAutocompleteStyleDelta style = const .context(),
  6. Widget? label,
  7. String? hint,
  8. Widget? description,
  9. TextMagnifierConfiguration? magnifierConfiguration,
  10. Object groupId = EditableText,
  11. FocusNode? focusNode,
  12. TextInputType? keyboardType,
  13. TextInputAction? textInputAction,
  14. TextCapitalization textCapitalization = .none,
  15. TextAlign textAlign = .start,
  16. TextAlignVertical? textAlignVertical,
  17. TextDirection? textDirection,
  18. VoidCallback? contentOnTapHide,
  19. bool autofocus = false,
  20. String obscuringCharacter = '•',
  21. bool obscureText = false,
  22. bool autocorrect = true,
  23. SmartDashesType? smartDashesType,
  24. SmartQuotesType? smartQuotesType,
  25. bool enableSuggestions = true,
  26. int? minLines,
  27. int? maxLines = 1,
  28. bool expands = false,
  29. bool readOnly = false,
  30. bool? showCursor,
  31. int? maxLength,
  32. MaxLengthEnforcement? maxLengthEnforcement,
  33. bool onTapAlwaysCalled = false,
  34. VoidCallback? onEditingComplete,
  35. ValueChanged<String>? onSubmit,
  36. AppPrivateCommandCallback? onAppPrivateCommand,
  37. List<TextInputFormatter>? inputFormatters,
  38. bool enabled = true,
  39. bool? ignorePointers,
  40. bool enableInteractiveSelection = true,
  41. TextSelectionControls? selectionControls,
  42. DragStartBehavior dragStartBehavior = .start,
  43. MouseCursor? mouseCursor,
  44. FTextFieldCounterBuilder? counterBuilder,
  45. ScrollPhysics? scrollPhysics,
  46. ScrollController? scrollController,
  47. Iterable<String>? autofillHints,
  48. String? restorationId,
  49. bool stylusHandwritingEnabled = true,
  50. bool enableIMEPersonalizedLearning = true,
  51. ContentInsertionConfiguration? contentInsertionConfiguration,
  52. EditableTextContextMenuBuilder? contextMenuBuilder,
  53. bool canRequestFocus = true,
  54. UndoHistoryController? undoController,
  55. SpellCheckConfiguration? spellCheckConfiguration,
  56. FFieldIconBuilder<FAutocompleteStyle>? prefixBuilder,
  57. FFieldIconBuilder<FAutocompleteStyle>? suffixBuilder,
  58. bool clearable(
    1. TextEditingValue value
    ) = FTextField.defaultClearable,
  59. FAutocompletePopoverBuilder popoverBuilder = FPopover.defaultPopoverBuilder,
  60. FormFieldSetter<String>? onSaved,
  61. VoidCallback? onReset,
  62. FormFieldValidator<String>? validator,
  63. AutovalidateMode autovalidateMode = .disabled,
  64. String? forceErrorText,
  65. Widget errorBuilder(
    1. BuildContext context,
    2. String message
    ) = FFormFieldProperties.defaultErrorBuilder,
  66. AlignmentGeometry contentAnchor = .topStart,
  67. AlignmentGeometry fieldAnchor = .bottomStart,
  68. FPortalConstraints contentConstraints = const FAutoWidthPortalConstraints(maxHeight: 300),
  69. FPortalSpacing contentSpacing = const .spacing(4),
  70. FPortalOverflow contentOverflow = .flip,
  71. Offset contentOffset = .zero,
  72. bool contentUseViewPadding = true,
  73. bool contentUseViewInsets = true,
  74. FPopoverHideRegion contentHideRegion = .excludeChild,
  75. Object? contentGroupId,
  76. bool contentCutout = true,
  77. void contentCutoutBuilder(
    1. Path path,
    2. Rect bounds
    ) = FModalBarrier.defaultCutoutBuilder,
  78. bool autoHide = true,
  79. bool? retainFocus,
  80. FFieldBuilder<FAutocompleteStyle> builder = FTextField.defaultBuilder,
  81. bool rightArrowToComplete = false,
  82. FutureOr<Iterable<String>> filter(
    1. String query
    )?,
  83. FAutoCompleteContentBuilder? contentBuilder,
  84. ScrollController? contentScrollController,
  85. ScrollPhysics contentPhysics = const ClampingScrollPhysics(),
  86. FItemDivider contentDivider = .none,
  87. Widget contentEmptyBuilder(
    1. BuildContext context,
    2. FAutocompleteContentStyle style
    ) = defaultContentEmptyBuilder,
  88. Widget contentLoadingBuilder(
    1. BuildContext context,
    2. FAutocompleteContentStyle style
    ) = defaultContentLoadingBuilder,
  89. Widget contentErrorBuilder(
    1. BuildContext context,
    2. Object? error,
    3. StackTrace stackTrace
    )?,
  90. Key? key,
})

Creates a FAutocomplete from the given items.

For more control over the appearance of items, use FAutocomplete.builder.

Implementation

FAutocomplete({
  required List<String> items,
  FAutocompleteControl control = const .managed(),
  FPopoverControl popoverControl = const .managed(),
  FTextFieldSizeVariant size = .md,
  FAutocompleteStyleDelta style = const .context(),
  Widget? label,
  String? hint,
  Widget? description,
  TextMagnifierConfiguration? magnifierConfiguration,
  Object groupId = EditableText,
  FocusNode? focusNode,
  TextInputType? keyboardType,
  TextInputAction? textInputAction,
  TextCapitalization textCapitalization = .none,
  TextAlign textAlign = .start,
  TextAlignVertical? textAlignVertical,
  TextDirection? textDirection,
  VoidCallback? contentOnTapHide,
  bool autofocus = false,
  String obscuringCharacter = '•',
  bool obscureText = false,
  bool autocorrect = true,
  SmartDashesType? smartDashesType,
  SmartQuotesType? smartQuotesType,
  bool enableSuggestions = true,
  int? minLines,
  int? maxLines = 1,
  bool expands = false,
  bool readOnly = false,
  bool? showCursor,
  int? maxLength,
  MaxLengthEnforcement? maxLengthEnforcement,
  bool onTapAlwaysCalled = false,
  VoidCallback? onEditingComplete,
  ValueChanged<String>? onSubmit,
  AppPrivateCommandCallback? onAppPrivateCommand,
  List<TextInputFormatter>? inputFormatters,
  bool enabled = true,
  bool? ignorePointers,
  bool enableInteractiveSelection = true,
  TextSelectionControls? selectionControls,
  DragStartBehavior dragStartBehavior = .start,
  MouseCursor? mouseCursor,
  FTextFieldCounterBuilder? counterBuilder,
  ScrollPhysics? scrollPhysics,
  ScrollController? scrollController,
  Iterable<String>? autofillHints,
  String? restorationId,
  bool stylusHandwritingEnabled = true,
  bool enableIMEPersonalizedLearning = true,
  ContentInsertionConfiguration? contentInsertionConfiguration,
  EditableTextContextMenuBuilder? contextMenuBuilder,
  bool canRequestFocus = true,
  UndoHistoryController? undoController,
  SpellCheckConfiguration? spellCheckConfiguration,
  FFieldIconBuilder<FAutocompleteStyle>? prefixBuilder,
  FFieldIconBuilder<FAutocompleteStyle>? suffixBuilder,
  bool Function(TextEditingValue value) clearable = FTextField.defaultClearable,
  FAutocompletePopoverBuilder popoverBuilder = FPopover.defaultPopoverBuilder,
  FormFieldSetter<String>? onSaved,
  VoidCallback? onReset,
  FormFieldValidator<String>? validator,
  AutovalidateMode autovalidateMode = .disabled,
  String? forceErrorText,
  Widget Function(BuildContext context, String message) errorBuilder = FFormFieldProperties.defaultErrorBuilder,
  AlignmentGeometry contentAnchor = .topStart,
  AlignmentGeometry fieldAnchor = .bottomStart,
  FPortalConstraints contentConstraints = const FAutoWidthPortalConstraints(maxHeight: 300),
  FPortalSpacing contentSpacing = const .spacing(4),
  FPortalOverflow contentOverflow = .flip,
  Offset contentOffset = .zero,
  bool contentUseViewPadding = true,
  bool contentUseViewInsets = true,
  FPopoverHideRegion contentHideRegion = .excludeChild,
  Object? contentGroupId,
  bool contentCutout = true,
  void Function(Path path, Rect bounds) contentCutoutBuilder = FModalBarrier.defaultCutoutBuilder,
  bool autoHide = true,
  bool? retainFocus,
  FFieldBuilder<FAutocompleteStyle> builder = FTextField.defaultBuilder,
  bool rightArrowToComplete = false,
  FutureOr<Iterable<String>> Function(String query)? filter,
  FAutoCompleteContentBuilder? contentBuilder,
  ScrollController? contentScrollController,
  ScrollPhysics contentPhysics = const ClampingScrollPhysics(),
  FItemDivider contentDivider = .none,
  Widget Function(BuildContext context, FAutocompleteContentStyle style) contentEmptyBuilder =
      defaultContentEmptyBuilder,
  Widget Function(BuildContext context, FAutocompleteContentStyle style) contentLoadingBuilder =
      defaultContentLoadingBuilder,
  Widget Function(BuildContext context, Object? error, StackTrace stackTrace)? contentErrorBuilder,
  Key? key,
}) : this.builder(
       filter: filter ?? (query) => items.where((item) => item.toLowerCase().startsWith(query.toLowerCase())),
       contentBuilder:
           contentBuilder ?? (context, query, values) => [for (final value in values) .item(value: value)],
       control: control,
       popoverControl: popoverControl,
       size: size,
       style: style,
       label: label,
       hint: hint,
       description: description,
       magnifierConfiguration: magnifierConfiguration,
       groupId: groupId,
       focusNode: focusNode,
       keyboardType: keyboardType,
       textInputAction: textInputAction,
       textCapitalization: textCapitalization,
       textAlign: textAlign,
       textAlignVertical: textAlignVertical,
       textDirection: textDirection,
       contentOnTapHide: contentOnTapHide,
       autofocus: autofocus,
       obscuringCharacter: obscuringCharacter,
       obscureText: obscureText,
       autocorrect: autocorrect,
       smartDashesType: smartDashesType,
       smartQuotesType: smartQuotesType,
       enableSuggestions: enableSuggestions,
       minLines: minLines,
       maxLines: maxLines,
       expands: expands,
       readOnly: readOnly,
       showCursor: showCursor,
       maxLength: maxLength,
       maxLengthEnforcement: maxLengthEnforcement,
       onTapAlwaysCalled: onTapAlwaysCalled,
       onEditingComplete: onEditingComplete,
       onSubmit: onSubmit,
       onAppPrivateCommand: onAppPrivateCommand,
       inputFormatters: inputFormatters,
       enabled: enabled,
       ignorePointers: ignorePointers,
       enableInteractiveSelection: enableInteractiveSelection,
       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,
       popoverBuilder: popoverBuilder,
       onSaved: onSaved,
       onReset: onReset,
       validator: validator,
       autovalidateMode: autovalidateMode,
       forceErrorText: forceErrorText,
       errorBuilder: errorBuilder,
       contentAnchor: contentAnchor,
       fieldAnchor: fieldAnchor,
       contentConstraints: contentConstraints,
       contentSpacing: contentSpacing,
       contentOverflow: contentOverflow,
       contentOffset: contentOffset,
       contentUseViewPadding: contentUseViewPadding,
       contentUseViewInsets: contentUseViewInsets,
       contentHideRegion: contentHideRegion,
       contentGroupId: contentGroupId,
       contentCutout: contentCutout,
       contentCutoutBuilder: contentCutoutBuilder,
       autoHide: autoHide,
       retainFocus: retainFocus,
       builder: builder,
       rightArrowToComplete: rightArrowToComplete,
       contentScrollController: contentScrollController,
       contentPhysics: contentPhysics,
       contentDivider: contentDivider,
       contentEmptyBuilder: contentEmptyBuilder,
       contentLoadingBuilder: contentLoadingBuilder,
       contentErrorBuilder: contentErrorBuilder,
       key: key,
     );