Table

A semantic data table for the OCSS Trust-List / registry use case. Renders a real <table> with <thead>/<tbody>, sortable column headers (aria-sort, click + Enter/Space, arrow sort icons), an optional <caption>, a sticky-header option, and a dense size variant. Zebra striping is off by default — rows are separated by hairline borders. Numeric cells right-align with tabular monospace numerals. Author it two ways: a declarative columns + data prop API, or composable subcomponents (Table, TableHead, TableRow, TableCell). Ref forwards to the <table>.

Declarative columns + data — uncontrolled sort

OCSS Trust List — accredited authorities
AuthorityJurisdictionTierEndpoints
AuraUST2880
BarkUST1120
CloudflareGlobalT34200
QustodioEUT21530

Controlled sort (page owns ordering) — click Authority or Endpoints

Controlled — sort state lifted into the page
AuthorityJurisdictionTierEndpoints
CloudflareGlobalT34200
QustodioEUT21530
AuraUST2880
BarkUST1120

Dense + sticky header (scrolls inside a fixed-height container)

AuthorityJurisdictionTierEndpoints
CloudflareGlobalT34200
AuraUST2880
BarkUST1120
QustodioEUT21530
CloudflareGlobalT34200
AuraUST2880
BarkUST1120
QustodioEUT21530
CloudflareGlobalT34200
AuraUST2880
BarkUST1120
QustodioEUT21530

Striped (opt-in escape hatch — not the default)

AuthorityJurisdictionTierEndpoints
CloudflareGlobalT34200
AuraUST2880
BarkUST1120
QustodioEUT21530

Composable subcomponents — with a footer + selected row

Endpoint summary
AuthorityEndpoints
Cloudflare4,200
Aura880
Bark120
Total5,200