smart_search_list library
A highly performant, customizable searchable list and grid widget for Flutter.
Provides offline and async data modes, fuzzy search, grouped lists and grids, multi-select, pagination, and accessibility support — with zero dependencies.
Classes
- AccessibilityConfiguration
- Configuration for accessibility and screen reader behavior.
- DefaultEmptySearchWidget
- Default empty search widget for when search returns no results.
- DefaultEmptyWidget
- Default empty widget for when there's no data initially.
- DefaultErrorWidget
- Displays an error icon, message, and retry button.
- DefaultGroupHeader
- Default group header widget for grouped lists.
- DefaultLoadingWidget
- Displays a centered circular progress indicator for loading states.
- DefaultLoadMoreWidget
- Displays a centered progress indicator for pagination loading.
- DefaultSearchField
- A Material Design search text field with clear and submit buttons.
- FuzzyMatcher
- Provides fuzzy-matching via static, pure methods for subsequence and edit-distance searches.
- FuzzyMatchResult
- Result of a fuzzy match attempt.
- GridConfiguration
- Configuration for grid layout behavior.
- ListConfiguration
- Configuration for list behavior.
- PaginationConfiguration
- Configuration for pagination behavior.
- SearchConfiguration
- Configuration for search behavior.
- SearchHighlightText
- A widget that highlights matched portions of text based on searchTerms.
- SelectionConfiguration
- Configuration for multi-select behavior.
-
SliverSmartSearchGrid<
T extends Object> - A sliver version of SmartSearchGrid for use in CustomScrollView.
-
SliverSmartSearchList<
T extends Object> - A sliver version of SmartSearchList for use in CustomScrollView.
-
SmartSearchController<
T extends Object> - Controller for managing search, filter, sort, and pagination state.
-
SmartSearchGrid<
T extends Object> - A highly customizable searchable grid widget.
-
SmartSearchList<
T extends Object> - A highly customizable searchable list widget.
Enums
- CheckboxPosition
- Position of selection checkbox relative to item content.
- SearchTriggerMode
- Controls when search is triggered.
Typedefs
- EmptySearchStateBuilder = Widget Function(BuildContext context, String searchQuery)
- Builder for the full-screen empty state shown when a search returns no results.
- EmptyStateBuilder = Widget Function(BuildContext context)
- Builder for the full-screen empty state shown when no data exists.
- ErrorStateBuilder = Widget Function(BuildContext context, Object error, VoidCallback onRetry)
- Builder for the full-screen error state shown when an async operation fails.
-
FilterBuilder<
T> = Widget Function(BuildContext context, Map< String, bool Function(T)> activeFilters, void onFilterChanged(String key, bool predicate(T)), void onFilterRemoved(String key)) - Builder function for filter controls.
- GroupHeaderBuilder = Widget Function(BuildContext context, Object groupValue, int itemCount)
- Builder function for group section headers.
-
ItemBuilder<
T> = Widget Function(BuildContext context, T item, int index, {List< String> searchTerms}) - Builder function for list items.
- LoadingStateBuilder = Widget Function(BuildContext context)
- Builder for the full-screen loading state shown when data is first loading and no items exist yet.
- ProgressIndicatorBuilder = Widget Function(BuildContext context, bool isLoading)
- Builder for an inline progress indicator shown during async operations.
- SearchFieldBuilder = Widget Function(BuildContext context, TextEditingController textController, FocusNode focusNode, VoidCallback onClear)
- Builder function for a custom search field.
- SeparatorBuilder = Widget Function(BuildContext context, int index)
- Builder function for separators.
-
SortBuilder<
T> = Widget Function(BuildContext context, int currentComparator(T, T)?, void onSortChanged(int (T, T)?)) - Builder function for sort controls.