WingoUI
Buttons & Actions
ButtonButton GroupCopy ButtonDelete ButtonTheme ToggleToggleToggle Group
Inputs
Avatar UploadCalendarCheckboxColor PickerComboboxCron PickerCurrency InputDate PickerDate Range PickerDate Time PickerDuration PickerFile UploadFilter BuilderInputInput GroupListboxMasked InputMention InputMonth PickerMulti SelectNumber InputOTP InputPassword InputPhone InputRadio GroupRatingSearch InputSegmented ControlSelectSignature PadSliderSwitchTag InputTextareaTime Picker
Forms
Address InputCSV ImportFieldForm WizardInline EditInvoice line itemsRich Text Editor
Navigation
Back To TopBounce SidebarBreadcrumbCommand MenuGlobal SearchGooey NavHook SidebarNav MenuNav TabsPaginationProximity SidebarScroll ProgressSidebarStepsTable Of ContentsTabsTopbarUser MenuWorkspace Switcher
Overlays
Alert DialogContext MenuDialogDrawerDropdown MenuFamily DrawerHover CardPopoverSheetShortcuts DialogTooltipTour
Feedback
AlertBannerCookie ConsentEmoji ReactionEmpty StateNotification BellNotification CenterProgressRoute ProgressSkeletonSpinnerToast
Data Display
Approval FlowAvatarBadgeCalendar ViewCode BlockComment ThreadContact cardCountdownDescription ListDiff ViewerFile ListFile managerFolderGanttJSON ViewerKbdLog ViewerMarkdownPresenceSchedulerTagTimelineTree View
Tables & Lists
Audit LogData TableDeal PipelineEditable GridKanbanListMembers tablePermissions MatrixTableTask ListVirtual List
Charts & Stats
Animated CounterArea chartBar chartDonut chartFunnel chartGaugeGitHub ActivityHeatmap calendarLeaderboardLine chartRadial barSparklineStat CardTrackerTrend badge
Layout
AccordionApp ShellCardCollapsibleDetail LayoutEntity HeaderPage HeaderScroll AreaSeparatorSettings LayoutSplit ViewToolbar
Media
Audio PlayerCarouselImage CropperImage LightboxLocation MapQR CodeStep PlayerVideo Player
AI Kit
Agent Status CardChat MessageChat ThreadConversation ListFluid OrbGrid RevealMatrix OrbModel PickerPrompt InputReasoning IndicatorRule BuilderSuggestion ChipsTool Call TimelineUsage MeterVoice InputWorkflow Canvas
Text & Effects
Gravity Letters
Mobile
Action SheetBottom Tab BarFABHaptic ButtonHero HeaderInstall PromptLarge Title HeaderNotification BannerOnboarding CarouselPicker WheelPull To RefreshSlide To ConfirmSticky CTA BarSwipe DeckSwipeable Tabs
Commerce
Cart drawerCategory pickerCheckout stepsCoupon inputFavorite buttonFilter panelListing cardListing gridOrder trackerPricePrice rangePricing tableProduct galleryQuantity stepperReviewsSeller card
Blocks
Admin Dashboard PageAdmin ShellAI Chat PageAutomation Builder PageCheckout PageCRM Contact PageCRM Pipeline PageError PagesInbox PageInvoice PageKPI DashboardListing Detail PageLogin PageMarketplace Home PageMarketplace Search PageMarketplace ShellMobile App HomeOnboarding FlowPost Listing WizardPricing PageRegister PageSettings PageUsers Admin Page
Hooks & Utilities
AI ChatChart kitCommerceDate utilsFile exportFile typesFiltersForm validationHapticsInvoicingMotion presetsNavigationNumber formatRelative timeRomanian locationsSpreadsheetText matchTonesUIProvideruseClipboarduseConsentuseControllableStateuseCooldownuseDebounceuseKeyboardInsetuseLocaleuseLongPressuseMediaControlsuseMediaQueryuseOverflowItemsusePersistedStateuseScrollEdgesuseScrollStateuseSelectionuseShortcutuseStickToBottom
GalleryThemeCredits

Tables & Lists

Data Table

Tables & ListsData Table
Audit LogDeal Pipeline
Live props
Content
caption
searchPlaceholder
locale
Behavior
mode
pagination
selectionMode
selectAllScope
expandable
viewOptions
columnMenu
columnReorder
columnResizing
virtualize
persistKey
State
defaultPage
loadingMore
defaultGlobalFilter
loading
skeletonCount8
refreshing
error
Layout
defaultPageSize
toolbar
stickyHeader
stickyFirstColumn
maxHeightPage scroll
mobileLayout
mobilePagination
Appearance
defaultDensity
variant
striped
Code
import { DataTable } from "@/components/ui/data-table"

<DataTable />
Pro

v1.0.1·Updated in 1.0.1

The admin table on TanStack Table v9: search, filters, sorting, bulk actions, pinning, resizing, virtualization and cards on phones.

Type in the search to filter every searchable column at once (accents do not matter, so "cafe" finds Café and "12480" finds $12,480.00). Press a quick filter chip to toggle it; applied column filters show as removable chips with Clear filters. Click a header to sort (text A to Z first, numbers and dates biggest or newest first, a third click clears it) and Shift-click to add a second sort. The chevron on a header opens its menu: sort, filter (checkboxes for statuses and cities, a text box, a number range or a date range), pin left or right, move left or right, hide. Drag a header sideways to reorder columns; with columnResizing drag its edge (double-click resets, or focus the edge and use the arrows). The Columns panel shows and hides columns, reorders them by dragging the handle or with the arrow buttons, switches density and resets the layout. With selection on, click the checkbox (Shift-click selects a range) or the row; the toolbar turns into the bulk bar with its actions, and when the whole page is selected a banner offers every matching row. Rows can expand into a detail panel with the chevron (or a click anywhere on the row when it has no onRowClick and no selection). The ⋯ button and a right-click open the row's actions. Keyboard: the header's sort buttons and menus come first in the Tab order, then the rows are one tab stop (whenever they can be selected, opened, expanded or have actions): Up / Down, Home / End and PageUp / PageDown move between them, Space selects (Shift + Space or Shift + arrows extend), Ctrl/Cmd + A selects all, Escape clears the selection, Enter opens the row (or expands it when that is all it does), Right / Left expand and collapse, Shift+F10 or the context menu key opens the row menu. On a phone every row is a card: long press a card to start selecting, then tap to add more while the bulk bar floats at the bottom; sort, filters and row menus open as bottom sheets, and Load more appends the next rows. 10,000 rows scroll at 60fps because only the visible ones are in the DOM.

Add to a project

npx wingo-ui@latest add data-table

Pro item: the CLI needs a Pro account. See plans

Dependencies

@tanstack/react-table@tanstack/react-virtual@dnd-kit/core@dnd-kit/sortable@dnd-kit/utilitiesmotionlucide-reacttableprogressempty-statetoolbarpaginationcheckboxdropdown-menucontext-menupopoverbuttonbadgeavatarinputnumber-inputdate-range-pickersegmented-controlskeletontooltiptext-matchuse-selectionuse-persisted-stateuse-debounceuse-long-pressuse-media-queryuse-controllable-stateuse-localenumber-formatdate-utilsrelative-timemotiontonesui-config

Files

  • components/ui/data-table.tsx

See also

TableToolbarPaginationListVirtual List
PreviousAudit LogNext Deal Pipeline
1,240 results
Acme CRM clients
Owner
Invoiced and not yet collected, tax included
Row actions
TITech Solutions Inc.12-3456789ChicagoActiveEmma Carter$12,480.0009/18/2026, 12:00 AM
SLSummit Logistics23-4567812DenverActiveLiam Walker$48,920.5009/22/2026, 12:00 AM
CLCarter Consulting LLC34-5678123AustinProspectNoah Hayes$0.00–
GPGreenleaf Pharmacy45-6781234PortlandOverdueOlivia Bennett$7,315.2008/02/2026, 12:00 AM
CIConstruct Group Inc.56-7812345DallasActiveLiam Walker$103,400.0009/20/2026, 12:00 AM
OLOld Mill Bakery LLC67-8123456NashvilleInactiveNoah Hayes$1,250.0003/14/2026, 12:00 AM
DCDental Art Clinic78-1234567MiamiActiveEmma Carter$5,600.0009/12/2026, 12:00 AM
WBWestside Books81-2345678PortlandOverdueOlivia Bennett$2,980.7507/29/2026, 12:00 AM
BBistro 2191-2345680New YorkProspectMia Turner$0.00–
NSNorthwind Studio19-2837460ChicagoActiveRyan Brooks$9,870.0009/23/2026, 12:00 AM
GRGreen House Realty28-3746510SeattleNegotiatingNoah Hayes$0.00–
PSPixel Studio37-4651920San FranciscoActiveMia Turner$3,450.0009/21/2026, 12:00 AM
DCDelta Trans Co.13-840130AustinActiveEmma Carter$100,602.9608/31/2026, 12:00 AM
SISummit Trans Inc.94-798330San AntonioActiveJames Miller$208,531.9309/02/2026, 12:00 AM
HLHarbor Construct LLC45-541654PortlandInactiveOlivia Bennett$1,505.9307/26/2025, 12:00 AM
CICedar Tech Inc.88-273966DetroitActiveSophia Reed$232,010.3308/22/2026, 12:00 AM
BLBluebird Service LLC17-192606AtlantaProspectLiam Walker$0.00–
SLSummit Service LLC63-835878DenverActiveMia Turner$222,323.6208/20/2026, 12:00 AM
RIRiver Tech Inc.92-386891AtlantaActiveJames Miller$225,004.3808/18/2026, 12:00 AM
PLPrairie Trans LLC59-665296NashvilleActiveLiam Walker$20,626.1508/27/2026, 12:00 AM
SLSummit Food LLC67-589725San AntonioActiveJames Miller$198,697.1009/10/2026, 12:00 AM
PIPrairie Service Inc.38-357348ChicagoActiveEmma Carter$227,759.7009/19/2026, 12:00 AM
MLMaple Design LLC55-686267DenverNegotiatingLiam Walker$0.00–
MLMaple Logistic LLC29-668991DallasActiveOlivia Bennett$2,518.4309/18/2026, 12:00 AM
RIRedwood Trans Inc.60-479706PhoenixInactiveJames Miller$4,678.5208/05/2025, 12:00 AM
Totals$59,994,825.61
  • Active
    City
    Chicago
    Owner
    Emma Carter
    Balance
    $12,480.00
    Last invoice
    09/18/2026, 12:00 AM
  • Active
    City
    Denver
    Owner
    Liam Walker
    Balance
    $48,920.50
    Last invoice
    09/22/2026, 12:00 AM
  • Prospect
    City
    Austin
    Owner
    Noah Hayes
    Balance
    $0.00
    Last invoice
    –
  • Overdue
    City
    Portland
    Owner
    Olivia Bennett
    Balance
    $7,315.20
    Last invoice
    08/02/2026, 12:00 AM
  • Active
    City
    Dallas
    Owner
    Liam Walker
    Balance
    $103,400.00
    Last invoice
    09/20/2026, 12:00 AM
  • Inactive
    City
    Nashville
    Owner
    Noah Hayes
    Balance
    $1,250.00
    Last invoice
    03/14/2026, 12:00 AM
  • Active
    City
    Miami
    Owner
    Emma Carter
    Balance
    $5,600.00
    Last invoice
    09/12/2026, 12:00 AM
  • Overdue
    City
    Portland
    Owner
    Olivia Bennett
    Balance
    $2,980.75
    Last invoice
    07/29/2026, 12:00 AM
  • Prospect
    City
    New York
    Owner
    Mia Turner
    Balance
    $0.00
    Last invoice
    –
  • Active
    City
    Chicago
    Owner
    Ryan Brooks
    Balance
    $9,870.00
    Last invoice
    09/23/2026, 12:00 AM
  • Negotiating
    City
    Seattle
    Owner
    Noah Hayes
    Balance
    $0.00
    Last invoice
    –
  • Active
    City
    San Francisco
    Owner
    Mia Turner
    Balance
    $3,450.00
    Last invoice
    09/21/2026, 12:00 AM
  • Active
    City
    Austin
    Owner
    Emma Carter
    Balance
    $100,602.96
    Last invoice
    08/31/2026, 12:00 AM
  • Active
    City
    San Antonio
    Owner
    James Miller
    Balance
    $208,531.93
    Last invoice
    09/02/2026, 12:00 AM
  • Inactive
    City
    Portland
    Owner
    Olivia Bennett
    Balance
    $1,505.93
    Last invoice
    07/26/2025, 12:00 AM
  • Active
    City
    Detroit
    Owner
    Sophia Reed
    Balance
    $232,010.33
    Last invoice
    08/22/2026, 12:00 AM
  • Prospect
    City
    Atlanta
    Owner
    Liam Walker
    Balance
    $0.00
    Last invoice
    –
  • Active
    City
    Denver
    Owner
    Mia Turner
    Balance
    $222,323.62
    Last invoice
    08/20/2026, 12:00 AM
  • Active
    City
    Atlanta
    Owner
    James Miller
    Balance
    $225,004.38
    Last invoice
    08/18/2026, 12:00 AM
  • Active
    City
    Nashville
    Owner
    Liam Walker
    Balance
    $20,626.15
    Last invoice
    08/27/2026, 12:00 AM
  • Active
    City
    San Antonio
    Owner
    James Miller
    Balance
    $198,697.10
    Last invoice
    09/10/2026, 12:00 AM
  • Active
    City
    Chicago
    Owner
    Emma Carter
    Balance
    $227,759.70
    Last invoice
    09/19/2026, 12:00 AM
  • Negotiating
    City
    Denver
    Owner
    Liam Walker
    Balance
    $0.00
    Last invoice
    –
  • Active
    City
    Dallas
    Owner
    Olivia Bennett
    Balance
    $2,518.43
    Last invoice
    09/18/2026, 12:00 AM
  • Inactive
    City
    Phoenix
    Owner
    James Miller
    Balance
    $4,678.52
    Last invoice
    08/05/2025, 12:00 AM
Balance$59,994,825.61

1–25 of 1,240

  • …

Showing 25 of 1,240

last action: none