On this page

DataTable

  • Draft
  • Not reviewed for accessibility
On this page

Props

DataTable

NameTypeDefaultDescription
aria-describedby
string
Provide an id to an element which uniquely describes this table
aria-labelledby
string
Provide an id to an element which uniquely labels this table
data
Array<Data>
Provide a collection of the rows which will be rendered inside of the table
columns
Array<Column<Data>>
Provide the columns for the table and the fields in `data` to which they correspond
cellPadding
'condensed' | 'normal' | 'spacious'
Specify the amount of space that should be available around the contents of a cell

Table

NameTypeDefaultDescription
aria-describedby
string
Provide an id to an element which uniquely describes this table
aria-labelledby
string
Provide an id to an element which uniquely labels this table
children
React.ReactNode
cellPadding
'condensed' | 'normal' | 'spacious'
Specify the amount of space that should be available around the contents of a cell

Table.Head

NameTypeDefaultDescription
children
React.ReactNode

Table.Body

NameTypeDefaultDescription
children
React.ReactNode

Table.Row

NameTypeDefaultDescription
children
React.ReactNode

Table.Header

NameTypeDefaultDescription
children
React.ReactNode

Table.Cell

NameTypeDefaultDescription
children
React.ReactNode
scope
'row'
Provide the scope for a table cell, useful for defining a row header using `scope="row"`

Table.Container

NameTypeDefaultDescription
children
React.ReactNode

Table.Title

NameTypeDefaultDescription
children
React.ReactNode
id Required
string

Table.Subtitle

NameTypeDefaultDescription
children
React.ReactNode
id Required
string

Table.Skeleton

NameTypeDefaultDescription
cellPadding
'condensed' | 'normal' | 'spacious'
Specify the amount of space that should be available around the contents of a cell
columns
Array<Column<Data>>
rows
number
Optionally specify the number of rows which should be included in the skeleton state of the component

Table.Pagination

NameTypeDefaultDescription
aria-label Required
string
defaultPageIndex
string
id
string
onChange
({ pageIndex }: { pageIndex: number }) => void
pageSize
number
totalCount Required
number

Table.ErrorDialog

NameTypeDefaultDescription
children Required
React.ReactNode
The content of the dialog. This is usually a message explaining the error.
title
string
'Error'The title of the dialog. This is usually a short description of the error.
onRetry
() => void
Event handler called when the user clicks the retry button.
onDismiss
() => void
Event handler called when the dialog is dismissed.

Status

Alpha

  • Component props and basic example usage of the component are documented on primer.style/react.
  • Component does not have any unnecessary third-party dependencies.
  • Component can adapt to different themes.
  • Component can adapt to different screen sizes.
  • Component has robust unit test coverage (100% where achievable).
  • Component has visual regression coverage of its default and interactive states.
  • Component does not introduce any axe violations.
  • Component has been manually reviewed by the accessibility team and any resulting issues have been addressed.

Beta

  • Component is used in a production application.
  • Common usage examples are documented on primer.style/react.
  • Common usage examples are documented in storybook stories.
  • Component has been reviewed by a systems designer and any resulting issues have been addressed.
  • Component does not introduce any performance regressions.

Stable

  • Component API has been stable with no breaking changes for at least one month.
  • Feedback on API usability has been sought from developers using the component and any resulting issues have been addressed.
  • Component has corresponding design guidelines documented in the interface guidelines.
  • Component has corresponding Figma component in the Primer Web library.
  • Tooling (such as linters, codemods, etc.) exists to prevent further use of alternatives.