MemberPulse
Style Guide

Tables & Datagrids

MemberPulse table and datagrid patterns for displaying structured data

Tables & Datagrids

Tables display structured data in rows and columns. They support sorting, filtering, pagination, and row actions.


Basic Table

NameEmailRoleStatus
John Smithjohn@example.comAdminActive
Sarah Johnsonsarah@example.comMemberActive
Mike Wilsonmike@example.comMemberPending
Emma Davisemma@example.comMemberExpired

Table Styling

Header Styles

PropertyValue
Backgroundvar(--muted) / #F5F5F7
Text Colorvar(--foreground)
Font Weight600 (Semibold)
Font Size12px / 0.75rem
Text TransformUppercase
Letter Spacing0.05em
Padding0.75rem 1rem

Row Styles

PropertyValue
Backgroundvar(--background) / #FFFFFF
Alternate Rowvar(--muted) / #F8F8FA
Border1px solid var(--border)
Padding0.75rem 1rem
Font Size14px / 0.875rem

Hover State

PropertyValue
Backgroundvar(--accent) / #F0F7FF
Transitionbackground-color 0.15s ease

Table with Actions

MemberPlanStatusActions
JS
ProfessionalActiveEditDelete
SJ
Sarah Johnson
BasicPendingEditDelete

Table Features

Sorting

Sort Indicators
  • Clickable column headers for sortable columns
  • Up arrow (↑) for ascending order
  • Down arrow (↓) for descending order
  • Neutral indicator for unsorted columns
  • Multi-column sort with Shift+click
Implementation
<th onClick={() => handleSort('name')}>
  Name
  {sortColumn === 'name' && (
    sortDirection === 'asc' ? <ArrowUp /> : <ArrowDown />
  )}
</th>

Filtering

🔍 Search members...

Status: All ▼

Plan: All ▼

Filter Types:

  • Global search: Search across all columns
  • Column filters: Filter specific columns
  • Date range: Filter by date ranges
  • Multi-select: Select multiple filter values

Pagination

Showing 1-10 of 156 results

Rows per page:
10 ▼
1
2
3

Page Sizes: 10, 25, 50, 100


Row Selection

NameEmail
John Smithjohn@example.com
Sarah Johnsonsarah@example.com

Selection Features:

  • Checkbox in first column
  • Select all checkbox in header
  • Selected row highlight
  • Bulk action toolbar appears when rows selected

Bulk Actions Toolbar

3 items selected
ExportArchiveDelete

Empty State

📋

No members found

Get started by adding your first member.

+ Add Member

Loading State

NameEmailStatus

Responsive Tables

Horizontal Scroll

On small screens, tables use horizontal scrolling:

.table-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

Card View

For mobile, complex tables can transform into cards:

John SmithActive
Professional Plan
Sarah JohnsonPending
Basic Plan

Column Types

TypeAlignmentExample
TextLeftNames, descriptions
NumberRightAmounts, quantities
DateLeftCreated at, due date
StatusLeftBadges, pills
ActionsRightEdit, delete buttons
AvatarLeftUser with image
CheckboxCenterRow selection

On this page