Data Display Standard
Tables, lists, cards — null handling, date formatting, status badges, all 4 states (loading/empty/error/populated), sorting, filters, pagination.
1. Core Rule
Non-Negotiable
Search and filters always go to the backend. Never filter or sort a pre-loaded client-side array. A client-side filter only works on the current page — it misses all other pages.
2. Table & List Standards
3. Data Display Rules
Formatting
Images & Avatars
4. State Requirements
Every table or list must handle all four states:
| State | What to Show |
|---|---|
| Loading | Skeleton rows matching page size — column headers visible |
| Empty (no data) | Illustration/icon + specific message + create action CTA |
| Empty (filter mismatch) | "No results match your filters." + clear filters button |
| Error | Error message + retry button — never a blank area |
5. Sorting
6. Search
Behavior
Technical
Autocomplete / Suggestions
7. Filters
Display
Behavior
Filter Inputs
8. Pagination
Display
Behavior
9. Infinite Scroll / Load More
Use for browsing contexts (feeds, galleries, activity logs). Not for data that needs precise navigation.
10. URL State
All search, filter, sort, and pagination state must live in URL params.
11. Empty States
No Data Exists
Search Returned No Results
Filter Returned No Results
Combination (search + filter)
Rule: Never show a blank table body or an empty list without a message.