{
  "name": "TableBody",
  "source": "src/components/Table.tsx",
  "propsType": null,
  "import": "import { TableBody } from 'ionbase-ui';",
  "status": "stable",
  "summary": "The <tbody> section. Takes no props — it places the data rows and gives their cells body context.",
  "useWhen": [
    "every Table — the data rows go here"
  ],
  "useInstead": [
    {
      "when": "the row names the columns",
      "use": "TableHead"
    }
  ],
  "composition": {
    "order": [
      "Table",
      "TableBody",
      "TableRow",
      "TableCell"
    ],
    "note": "Zebra striping is read from each row's position inside this section rather than a prop repeated on every TableRow.",
    "example": "<TableBody><TableRow><TableCell>Ada</TableCell></TableRow></TableBody>"
  },
  "a11y": {
    "guarantees": [
      "cells inside it default to <td>, and `scope` is inferred as `row` when a cell is marked `header`"
    ]
  },
  "antiPatterns": [
    {
      "dont": "rendering rows directly under Table with no TableBody",
      "why": "the browser inserts a tbody anyway, but the head-or-body context does not exist, so cells cannot infer their scope"
    },
    {
      "dont": "an empty TableBody with no empty state",
      "why": "an empty table looks like a broken one — Table has no empty state of its own, so it is the caller's"
    }
  ],
  "stylesheet": "src/styles/table.css",
  "tokens": [
    "--border-default",
    "--border-focus",
    "--border-strong",
    "--border-width-default",
    "--border-width-thick",
    "--font-family-sans",
    "--font-weight-medium",
    "--font-weight-regular",
    "--icon-default",
    "--icon-interactive",
    "--icon-secondary",
    "--icon-size-sm",
    "--icon-tertiary",
    "--ion-duration-base",
    "--ion-ease-out",
    "--ion-shadow-shadow-md",
    "--ion-table-head-height",
    "--ion-table-held-width",
    "--ion-table-sticky-left",
    "--radius-full",
    "--radius-md",
    "--radius-xs",
    "--ring-focus",
    "--spacing-16",
    "--spacing-20",
    "--spacing-24",
    "--spacing-6",
    "--spacing-8",
    "--surface-default",
    "--surface-hover",
    "--surface-page",
    "--surface-primary-subtle",
    "--text-default",
    "--text-link",
    "--text-secondary",
    "--type-body-sm",
    "--type-body-sm-line-height"
  ],
  "props": {},
  "propCounts": {
    "own": 0,
    "aria": 0,
    "dom": 0,
    "other": 0
  }
}
