Skip to content
Frauthy Brand
Frauthy index

Go anywhere.

    No exact contract found. Try a component family, product name, prop, or keyboard key.

    ↑↓ move↵ openesc close

    Table

    data

    Sortable, responsive data table with sticky-header and zebra-stripe options. Wraps in a keyboard-accessible scroll region for wide content.

    Preview

    Sortable with zebra striping
    Vehicle inventory
    VIN
    1HGCG5655WAHondaAccord2023Active
    2T1BURHE0JCToyotaCorolla2024Pending
    3FA6P0HD7LRFordFusion2020Sold
    5YJ3E1EA7LFTeslaModel 32022Active
    WBAJB0C51JBBMW530i2021Active
    Sticky header
    Model
    HondaAccord2023
    ToyotaCorolla2024
    FordFusion2020
    TeslaModel 32022
    BMW530i2021

    Usage

    import { Table } from 'PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED';
    
    const columns = [
      { key: 'name', header: 'Name', sortable: true },
      { key: 'role', header: 'Role' },
      { key: 'count', header: 'Count', align: 'right', sortable: true },
    ];
    
    <Table
      columns={columns}
      rows={data}
      caption="Team members"
      zebra
      sticky
    />

    Props

    PropTypeDefaultDescription
    columnsTableColumn<T>[]--Column definitions (key, header, sortable, align)
    rowsT[]--Row data; each object must contain the keys declared in columns
    captionstring--Visible caption rendered above the table
    aria-labelstring--Accessible label (used when no visible caption)
    stickybooleanfalseStick the header row while the body scrolls
    zebrabooleanfalseAlternate-row background shading
    scrollLabelstring'Data table'Accessible label for the scroll wrapper region
    classstring--Additional CSS classes on the wrapper

    Accessibility

    Do / Don't

    Do

    Always provide a caption or aria-label. Use sortable only on columns where sorting aids comprehension.

    Don't

    Don't make every column sortable by default. Avoid tables for layout; use CSS grid or flex instead.