[
  {
    "name": "id",
    "type": "string",
    "required": false,
    "description": "The ID of the table.",
    "released": "10.0.0"
  },
  {
    "name": "border",
    "type": "boolean",
    "required": false,
    "description": "If set to `false`, remove separating borders from all rows.",
    "released": "10.6.0"
  },
  {
    "name": "lastRowBorder",
    "type": "boolean",
    "required": false,
    "description": "If set to `false`, remove separating border from the last row.",
    "released": "10.6.0"
  },
  {
    "name": "rows",
    "type": "array",
    "required": true,
    "description": "Array of table rows and cells.",
    "released": "1.0.0",
    "params": [
      {
        "name": "text",
        "type": "string",
        "required": true,
        "description": "If `html` is set, this is not required. Text for cells in table rows. If `html` is provided, the `text` option will be ignored.",
        "released": "1.0.0"
      },
      {
        "name": "html",
        "type": "string",
        "required": true,
        "description": "If `text` is set, this is not required. HTML for cells in table rows. If `html` is provided, the `text` option will be ignored.",
        "released": "1.0.0"
      },
      {
        "name": "visuallyHiddenText",
        "type": "string",
        "required": false,
        "description": "A visually hidden suffix added to the table cell.",
        "released": "10.6.0"
      },
      {
        "name": "header",
        "type": "string",
        "required": false,
        "description": "Set automatically by table head cells in the `head` option.",
        "released": "4.0.0",
        "deprecated": "10.6.0"
      },
      {
        "name": "href",
        "type": "string",
        "required": false,
        "description": "If set, the table cell will become a link.",
        "released": "10.6.0"
      },
      {
        "name": "format",
        "type": "string",
        "required": false,
        "description": "Specify format of a cell – `\"numeric\"` or `\"string\"`. Defaults to `\"string\"`",
        "released": "1.0.0"
      },
      {
        "name": "sortValue",
        "type": "string",
        "required": false,
        "description": "Sort value text for cells in table rows.",
        "released": "10.6.0"
      },
      {
        "name": "colspan",
        "type": "integer",
        "required": false,
        "description": "Specify how many columns a cell spans.",
        "released": "1.0.0"
      },
      {
        "name": "rowspan",
        "type": "integer",
        "required": false,
        "description": "Specify how many rows a cell spans.",
        "released": "1.0.0"
      },
      {
        "name": "align",
        "type": "string",
        "required": false,
        "description": "Specify the table cell alignment – `\"left\"`, `\"centre\"`, or `\"right\"`. Defaults to `\"left\"`",
        "released": "10.6.0"
      },
      {
        "name": "width",
        "type": "string",
        "required": false,
        "description": "Specify the table cell width. You can pass any design system grid width here – for example, `\"one-third\"`, `\"two-thirds\"` or `\"one-half\"`.",
        "released": "10.6.0"
      },
      {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the table cell.",
        "released": "9.4.0"
      },
      {
        "name": "attributes",
        "type": "object",
        "required": false,
        "description": "HTML attributes (for example data attributes) to add to the table cell.",
        "released": "9.4.0"
      }
    ]
  },
  {
    "name": "head",
    "type": "array",
    "required": false,
    "description": "Array of table head cells.",
    "released": "1.0.0",
    "params": [
      {
        "name": "text",
        "type": "string",
        "required": false,
        "description": "If `html` is set, this is not required. Text for table head cells. If `html` is provided, the `text` option will be ignored.",
        "released": "1.0.0"
      },
      {
        "name": "html",
        "type": "string",
        "required": false,
        "description": "If `text` is set, this is not required. HTML for table head cells. If `html` is provided, the `text` option will be ignored.",
        "released": "1.0.0"
      },
      {
        "name": "visuallyHiddenText",
        "type": "string",
        "required": false,
        "description": "A visually hidden suffix added to the table head cell.",
        "released": "10.6.0"
      },
      {
        "name": "href",
        "type": "string",
        "required": false,
        "description": "If set, the table header will become a link for server-side table sorting. Use `sort` to set the column sort direction.",
        "released": "10.6.0"
      },
      {
        "name": "format",
        "type": "string",
        "required": false,
        "description": "Specify format of a cell – `\"numeric\"` or `\"string\"`. Defaults to `\"string\"`",
        "released": "1.0.0"
      },
      {
        "name": "colspan",
        "type": "integer",
        "required": false,
        "description": "Specify how many columns a cell spans.",
        "released": "1.0.0"
      },
      {
        "name": "rowspan",
        "type": "integer",
        "required": false,
        "description": "Specify how many rows a cell spans.",
        "released": "1.0.0"
      },
      {
        "name": "align",
        "type": "string",
        "required": false,
        "description": "Specify the table head cell alignment – `\"left\"`, `\"centre\"`, or `\"right\"`. Defaults to `\"left\"`",
        "released": "10.6.0"
      },
      {
        "name": "width",
        "type": "string",
        "required": false,
        "description": "Specify the table head cell width. You can pass any design system grid width here – for example, `\"one-third\"`, `\"two-thirds\"` or `\"one-half\"`.",
        "released": "10.6.0"
      },
      {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the table head cell.",
        "released": "9.4.0"
      },
      {
        "name": "attributes",
        "type": "object",
        "required": false,
        "description": "HTML attributes (for example data attributes) to add to the table head cell.",
        "released": "9.4.0"
      },
      {
        "name": "sort",
        "type": "string",
        "required": false,
        "description": "The sort direction applied to the column using `aria-sort` – `\"ascending\"`, `\"descending\"`, `\"none\"` or `true`. To enable sorting without a default direction, set `sort` to `\"none\"` or `true`.",
        "released": "10.6.0"
      },
      {
        "name": "sortNext",
        "type": "string",
        "required": false,
        "description": "The next sort direction applied to the column using `aria-sort` when clicked – `\"ascending\"` or `\"descending\"`. Defaults to `\"ascending\"`. If you set `sort` to `\"ascending\"`, `sortNext` defaults to `\"descending\"`.",
        "released": "10.6.0"
      }
    ]
  },
  {
    "name": "caption",
    "type": "object",
    "required": false,
    "description": "Table caption.",
    "alias": "heading",
    "released": "10.6.0",
    "isComponent": true,
    "params": [
      {
        "name": "id",
        "type": "string",
        "required": false,
        "description": "The ID of the table caption and the `aria-labelledby` attribute in the scrolling container. Defaults to the table `id` option suffixed with `\"-caption\"`. If neither are provided, the ID is generated from the caption `text` option.",
        "released": "10.6.0"
      },
      {
        "name": "text",
        "type": "string",
        "required": true,
        "description": "If `html` is set, this is not required. Text for the table caption. If `html` is provided, the `text` option will be ignored.",
        "released": "10.6.0"
      },
      {
        "name": "html",
        "type": "string",
        "required": true,
        "description": "If `text` is set, this is not required. HTML for the table caption. If `html` is provided, the `text` option will be ignored.",
        "released": "10.6.0"
      },
      {
        "name": "visuallyHiddenText",
        "type": "string",
        "required": false,
        "description": "Message made available to assistive technologies to describe that the table is sortable. Defaults to `\"Column headers are sortable\"`.",
        "released": "10.6.0"
      },
      {
        "name": "caption",
        "type": "object",
        "required": false,
        "description": "Optional caption for the table caption.",
        "released": "10.6.0",
        "isComponent": true
      },
      {
        "name": "size",
        "type": "string",
        "required": false,
        "description": "Size of the table caption – `\"s\"`, `\"m\"`, `\"l\"` or `\"xl\"`.",
        "released": "10.6.0"
      },
      {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the table caption, for example `\"nhsuk-table__caption--l\"`.",
        "released": "10.6.0"
      },
      {
        "name": "attributes",
        "type": "object",
        "required": false,
        "description": "HTML attributes (for example data attributes) to add to the table caption.",
        "released": "10.6.0"
      }
    ]
  },
  {
    "name": "captionClasses",
    "type": "string",
    "required": false,
    "description": "Replaced by the `caption.classes` option.",
    "released": "1.0.0",
    "deprecated": "10.6.0"
  },
  {
    "name": "captionSize",
    "type": "string",
    "required": false,
    "description": "Replaced by the `caption.size` option.",
    "released": "10.2.0",
    "deprecated": "10.6.0"
  },
  {
    "name": "firstCellIsHeader",
    "type": "boolean",
    "required": false,
    "description": "If set to `true`, first cell in table row will be a `th` instead of a `td`.",
    "released": "1.0.0"
  },
  {
    "name": "compact",
    "type": "boolean",
    "required": false,
    "description": "If set to `true`, vertical padding will be reduced for table cells.",
    "released": "10.6.0"
  },
  {
    "name": "responsive",
    "type": "boolean",
    "required": false,
    "description": "If set to `true`, responsive table classes will be applied.",
    "released": "4.0.0"
  },
  {
    "name": "scroll",
    "type": "boolean",
    "required": false,
    "description": "If set to `true`, wrap a scrolling container around the table component. Scrolling tables require the `caption.text` and `caption.id` options.",
    "released": "10.6.0"
  },
  {
    "name": "striped",
    "type": "boolean",
    "required": false,
    "description": "If set to `true`, striped background colours will be applied to table rows.",
    "released": "10.6.0"
  },
  {
    "name": "variant",
    "type": "string",
    "required": false,
    "description": "Optional variant of table. You can use only `\"reverse\"` or empty values with this option.",
    "released": "10.4.0"
  },
  {
    "name": "card",
    "type": "object",
    "required": false,
    "description": "Can be used to wrap a card around the table component. If any of these options are present, a card will wrap around the table.",
    "released": "10.3.0",
    "isComponent": true
  },
  {
    "name": "panel",
    "type": "boolean",
    "required": false,
    "description": "Replaced by the `card` option.",
    "released": "1.0.0",
    "deprecated": "10.3.0"
  },
  {
    "name": "panelClasses",
    "type": "string",
    "required": false,
    "description": "Replaced by the `card.classes` option.",
    "released": "1.0.0",
    "deprecated": "10.3.0"
  },
  {
    "name": "heading",
    "type": "string",
    "required": false,
    "description": "Replaced by the `card.heading.text` option.",
    "released": "1.0.0",
    "deprecated": "10.3.0"
  },
  {
    "name": "headingLevel",
    "type": "integer",
    "required": false,
    "description": "Replaced by the `card.heading.level` option.",
    "released": "1.0.0",
    "deprecated": "10.3.0"
  },
  {
    "name": "classes",
    "type": "string",
    "required": false,
    "description": "Classes to add to the table container.",
    "released": "10.3.0"
  },
  {
    "name": "tableClasses",
    "type": "string",
    "required": false,
    "description": "Replaced by the `classes` option.",
    "released": "1.0.0",
    "deprecated": "10.3.0"
  },
  {
    "name": "attributes",
    "type": "object",
    "required": false,
    "description": "HTML attributes (for example data attributes) to add to the table container.",
    "released": "1.0.0"
  },
  {
    "name": "ascendingText",
    "type": "string",
    "required": false,
    "description": "Text for columns in ascending sort order, used to populate the `%{direction}` placeholder in `sortAnnouncementText`. Defaults to `\"ascending\"`.",
    "released": "10.6.0"
  },
  {
    "name": "descendingText",
    "type": "string",
    "required": false,
    "description": "Text for columns in descending sort order, used to populate the `%{direction}` placeholder in `sortAnnouncementText`. Defaults to `\"descending\"`.",
    "released": "10.6.0"
  },
  {
    "name": "sortAnnouncementText",
    "type": "string",
    "required": false,
    "description": "Announcement made to screen reader users when a table column has been sorted. The component will replace the `%{header}` placeholder with the column header, and the `%{direction}` placeholder with the `ascendingText` or `descendingText` option value.",
    "released": "10.6.0"
  }
]
