Method
how it was madeHow big is the vocabulary?
Smaller than it looks. The eight systems list between 23 and 115 component directories each, and 391 different names between them — but 325 of those names appear in exactly one system.
- 41 names are shipped by three or more of the eight, 66 by two or more, and only 3 by all eight.
- Counting a directory is not counting a component. The lists include layout helpers, utilities and internal pieces (a focus manager, a portal, feature flags), and some of the same control under two names.
- Publishers who state their own count say fewer: of the 60 systems in the register that do, the median is 22 and the largest is 45. Nothing here suggests a single system ships hundreds of components.
Merging the names is what changes the answer. By name alone the census finds 41 components shipped by three or more systems. The canonical index places all 1,434 things the eight systems document onto 211 canonical entries by the job each does for a person, and 73 atoms, molecules and organisms are shipped by three or more systems (106 by two or more, 162 by at least one). That is the shared vocabulary, and the gallery draws 74 of it (the 73 plus Side panel, already drawn and kept below the bar). The remainder, a long tail that one house has and no other does, is a different question (what is each house’s own vocabulary?) and a different page.
How a component gets in
A component is admitted if at least three of the eight design systems ship it once their names for it are merged into one canonical entry by what it does for a person. The merge is the canonical index (/gallery/index/review/); the owner has decided its contested cases.
That rule admits 74 components once alternate names are merged, which is why “banner” folded into alert and “upload” and “sheet” became file upload and drawer. Membership is computed from the census, not typed; the alias lists are the only authored input and the thing most worth arguing with.
Left out on purpose: layout, grid, header, image, portal and text are structure or utilities, not controls a person operates. A form is the container the exhibit is built from, and a label is a part of every field rather than a component of its own.
A caution on the count. Some “shipped by” totals include systems whose only match is a neighbour: GOV.UK and USWDS have no badge, and are counted because their Tag is described as one. Where that happens the row says so, and the component page marks it as contested or a subset. Treat the totals as a ceiling.
How it was read
Every cell was read twice, by machine. A first pass read each system’s documentation and source. A second, independent pass re-read all of it from raw sources — HTML, repository files, package contents — without relying on the first. It confirmed 2997 fields, corrected 356 and could not verify 3. Each correction is shown on the component page, with what it said before. No person has checked a cell.
The components shown are the real ones: each system’s own package, built into an isolated frame at the version named on the component page, with no request to any third party. Where a system could not be drawn honestly — a component it does not ship, an overlay its script moves out of the frame — the page says so instead of drawing something close.