Loading...
Loading...
Designs optimal filtering UX for data tables. Use when building a table that needs filters - analyzes the data columns and determines the best filter type for each. Outputs a unified filter field with inline header filters.
npx skill4agent add shipshitdev/library table-filters| Data Pattern | Filter Type | Example Columns |
|---|---|---|
| Free text, names, descriptions | Contains | Product Name, Notes, Customer |
| Fixed set of values (<20 options) | Checkboxes | Status, Category, Priority, Type |
| Numeric values | Range | Price, Quantity, Age, Score |
| Dates | Date Range | Created, Updated, Due Date |
| Boolean | Toggle | Active, Verified, Published |
┌─────────────────────────────────────────────────────────┐
│ [Filter chips go here...] [🔍 Filter or search...] [✕] │ ← Unified filter field
└─────────────────────────────────────────────────────────┘
Sort by: [Dropdown ▾]
┌──────────────┬──────────────┬──────────────┬──────────────┐
│ Name ▼ │ Status ▼ │ Price ▼ │ Created ▼ │ ← Clickable headers with filter icon
├──────────────┼──────────────┼──────────────┼──────────────┤
│ ... │ ... │ ... │ ... │┌─ Product Name ──────────── ✕ ─┐
│ ┌────────────────────────────┐│
│ │ Search... ││
│ └────────────────────────────┘│
└───────────────────────────────┘Product Name: system┌─ Status ──────────────── ✕ ─┐
│ ☑ Active │
│ ☑ Pending │
│ ☐ Archived │
│ ☐ Deleted │
│ [Clear] [Apply] │
└──────────────────────────────┘Status: Active, PendingStatus: Active, +2┌─ Price ─────────────────── ✕ ─┐
│ Min Max │
│ ┌─────┐ ┌─────┐ │
│ │ 0 │ - │ 100 │ │
│ └─────┘ └─────┘ │
│ ○───────────────●─────○ │ ← Optional slider
│ [Apply] │
└───────────────────────────────┘Price: $0 - $100┌─ Created ─────────────────── ✕ ─┐
│ From To │
│ ┌──────────┐ ┌──────────┐ │
│ │ 01/01/25 │ - │ 12/31/25 │ │
│ └──────────┘ └──────────┘ │
│ [Today] [This week] [This month]│
│ [Apply] │
└─────────────────────────────────┘Created: Jan 1 - Dec 31, 2025Status: Active, Pending, +3 ┌─────────────┐
│ (╯°□°)╯ │
│ ︵ ┻━┻ │
└─────────────┘
No results found
Try adjusting your filters
[Clear all filters]html-style| Element | Class | Purpose |
|---|---|---|
| Filter container | | Top-level filter row |
| Chip container | | Holds all active chips |
| Individual chip | | Single filter chip |
| Chip remove | | X button on chip |
| Search input | | Text search field |
| Clear all | | Clear all filters button |
| Sort control | | Sort dropdown container |
| Filter menu | | Dropdown filter panel |
| Empty state | | No results container |
data-columndata-filter-typehtml-style