{
  "id": "table-header",
  "name": "TableHeader",
  "level": "molecule",
  "status": "stable",
  "purpose": "DataTable header cells with sort indicators.",
  "description": "Header row for div-based tables / pseudo-tables. Sentence-case labels at text-xs. Sortable cells render as <button> with aria-sort; inactive chevrons stay visible. `trailing` mirrors TableRow.action and `align` mirrors the row cell align, so columns line up. Pair the same flex template with TableRow so cells line up. Patterns consulted: Patterns/Information Architecture · MetadataAndActions.",
  "role": "content",
  "import": "@rrios-forge/ui/molecules/table-header",
  "exports": [
    "TableHeader",
    "TABLE_HEADER_ALIGNS",
    "TABLE_HEADER_DENSITIES",
    "TABLE_HEADER_SORT_DIRECTIONS",
    "tableHeaderCellAlignClass",
    "tableHeaderVariants"
  ],
  "source": "packages/ui/src/molecules/table-header",
  "axes": [
    {
      "axis": "density",
      "part": null,
      "values": [
        "compact",
        "comfortable"
      ],
      "default": null,
      "meaning": null
    },
    {
      "axis": "align",
      "part": null,
      "values": [
        "start",
        "center",
        "end"
      ],
      "default": null,
      "meaning": "Distribution along the main axis."
    }
  ],
  "needs": [
    {
      "need": "Table",
      "answer": "`DataTable`, or `TableHeader` + `TableRow` + `TablePagination`"
    }
  ],
  "patterns": [],
  "a11yExceptions": [],
  "decisions": [],
  "stories": [
    {
      "name": "Playground",
      "id": "components-molecules-tableheader--playground",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-tableheader--playground",
      "frame": "/iframe.html?id=components-molecules-tableheader--playground&viewMode=story"
    },
    {
      "name": "Sortable",
      "id": "components-molecules-tableheader--sortable",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-tableheader--sortable",
      "frame": "/iframe.html?id=components-molecules-tableheader--sortable&viewMode=story"
    },
    {
      "name": "Densities",
      "id": "components-molecules-tableheader--densities",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-tableheader--densities",
      "frame": "/iframe.html?id=components-molecules-tableheader--densities&viewMode=story"
    },
    {
      "name": "In data surface",
      "id": "components-molecules-tableheader--in-data-surface",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-tableheader--in-data-surface",
      "frame": "/iframe.html?id=components-molecules-tableheader--in-data-surface&viewMode=story"
    }
  ],
  "storyFile": "tooling/storybook/stories/components/molecules/table-header.stories.tsx"
}
