super_search_delegate 1.0.0 copy "super_search_delegate: ^1.0.0" to clipboard
super_search_delegate: ^1.0.0 copied to clipboard

A highly flexible search delegate with customizable filtering and UI for Flutter applications

🔍 Super Search Delegate #

Pub Version License: MIT

A highly customizable, easy-to-use, and generic search delegate for Flutter. Works with any data model, supports both property-based and custom filtering, and gives you full control over the search result UI.


✨ Key Features #

  • ✅ Search through any data model (String, Map, custom class, etc.)
  • 🎯 Search by specific properties or use custom filtering logic
  • 🖌️ Fully customizable result UI using your own widgets
  • ⚡ Optimized for performance, even with large datasets
  • 📱 Keyboard and accessibility friendly

🔧 Installation #

Add the latest version to your pubspec.yaml:

dependencies:
  super_search_delegate: ^1.0.0



💻 Usage

await SuperSearchDelegate.show<String>(
  context: context,
  config: SearchConfig<String>(
    items: ['Apple', 'Banana', 'Mango', 'Orange'],
    itemBuilder: (context, item, query) => ListTile(title: Text(item)),
    propertySelector: (item) => [item],
    onItemSelected: (item) => print('You selected: $item'),
  ),
);


🧩 Search with Custom Model

class Fruit {
  final String id;
  final String name;

  Fruit(this.id, this.name);
}

final fruits = [
  Fruit('001', 'Apple'),
  Fruit('002', 'Banana'),
  Fruit('003', 'Mango'),
];

await SuperSearchDelegate.show<Fruit>(
  context: context,
  config: SearchConfig<Fruit>(
    items: fruits,
    itemBuilder: (context, item, query) => ListTile(
      title: Text(item.name),
      subtitle: Text('ID: ${item.id}'),
    ),
    propertySelector: (item) => [item.id, item.name],
    onItemSelected: (item) => print('Selected: ${item.name}'),
  ),
);

⚙️ API Reference

| Property           | Type                       | Description                                                |
| ------------------ | -------------------------- | ---------------------------------------------------------- |
| `items`            | `List<T>`                  | The full list of items to search through.                  |
| `itemBuilder`      | `ItemBuilder<T>`           | Widget builder for each filtered item.                     |
| `propertySelector` | `List<String> Function(T)` | Optional. Defines which properties are searchable.         |
| `customFilter`     | `bool Function(T, String)` | Optional. Use custom logic to filter items.                |
| `searchFieldLabel` | `String`                   | Placeholder for the search bar. Defaults to `"Search..."`. |
| `noResultsWidget`  | `Widget?`                  | Widget shown when no results are found.                    |
| `onItemSelected`   | `void Function(T)`         | Callback triggered when an item is tapped.                 |


🙌 Maintained and Powered by @hanifinno @hanifuddin.dev@gmail.com @hanifuddin15
2
likes
0
points
96
downloads

Publisher

unverified uploader

Weekly Downloads

A highly flexible search delegate with customizable filtering and UI for Flutter applications

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on super_search_delegate