AdaptTable for Chakra

Mobile cards in Chakra

Below the mobile breakpoint every row becomes a Chakra card. Same columns, same row content, same query state — there is nothing to configure and no second layout to build.

paginationMode="auto" resolves to infinite scroll on phones and a pager on desktop. Per column, mobileLabel and hideOnMobile tune what a card shows.

renderCard replaces the card's body with your own layout while the shell keeps selection, row actions and expansion — so a custom card is a layout decision, not a rewrite.

Each card is a Card.Root with a Card.Body, labels and values are Text at Chakra's own scale, and compact density tightens the body padding and the gap between fields.

The code

import { DataTable } from "@adapttable/chakra";

export function People({ rows, columns }) {
  return (
    <DataTable
      data={rows}
      columns={columns}
      rowKey={(row) => row.id}
      paginationMode="auto"
      mobileBreakpoint={768}
      renderCard={(row, card) => (
        <MyCard row={row} {...card} />
      )}
    />
  );
}

Install

pnpm add @adapttable/chakra @adapttable/core @chakra-ui/react @emotion/react

The same feature in the other kits

More Chakra features

Reference: mobile. More of this kit: AdaptTable for Chakra, or the live demo.