Skip to content

Describe every documented prop - #225

Merged
deebov merged 3 commits into
mainfrom
docs/prop-descriptions
Oct 9, 2026
Merged

deebov merged 3 commits into
mainfrom
docs/prop-descriptions

Conversation

@deebov

@deebov deebov commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Description

The docs site now generates its API reference tables from these sources with the TypeScript compiler, so any prop without a JSDoc comment shows an empty Description cell. This PR adds a description to every prop that lacked one.

  • Descriptions are written from how each prop is actually used in the component body, not from its name.
  • No @default tags were added. The generator reads defaults from the destructuring in each signature, so a second copy would only drift.
  • Fixes the stale @default "sm" on the input sizes (they all destructure size = "md"). input-file.tsx keeps "sm", which is correct there.
  • Comments only. A few single-line type literals became multi-line because a per-property JSDoc block can't sit on one line.

Targets main: the changes are comments only, with no runtime or type changes, so existing installs and fresh adds behave exactly as before. v9 picks this up when main is next merged into it.

Related

  • Website API reference PR (links to this one)
  • react-pro counterpart: untitleduico/react-pro#9 (→ main)

Type of change

  • Documentation update

Testing

  • oxfmt --check, oxlint and tsc --noEmit pass.
  • In the website, the generated prop tables have no empty descriptions, and the registry drift and wire-golden tests pass with the re-pinned hashes.

🤖 Generated with Claude Code

deebov added 3 commits October 9, 2026 16:04
The docs site now generates its API reference tables from these sources
with the TypeScript compiler, so any prop without a JSDoc comment renders
an empty Description cell.

Adds a description to every prop that lacked one. Descriptions were
written from how each prop is actually consumed in the component body,
not from its name. No `@default` tags were added — the generator reads
defaults from the destructuring in each signature, so a second copy would
only drift; the few exceptions are props whose default is applied outside
the signature and so isn't otherwise visible.

Comments only. The single-line type literals that changed shape did so
because a per-property JSDoc block cannot sit on one line.
Every one of these components destructures `size = "md"`, but the JSDoc
above the prop claimed `"sm"`. The generated API tables read the real
destructured value, so the published docs were right — the comment was
lying to anyone reading the source, and it had already misled the FAQ on
the inputs page into stating both the wrong count and the wrong default.

`input-file.tsx` keeps `@default "sm"`: that one genuinely is "sm".
@deebov
deebov changed the base branch from v9 to main October 9, 2026 14:04
@deebov
deebov force-pushed the docs/prop-descriptions branch from 5edc6a1 to ad8833c Compare October 9, 2026 14:04
@deebov
deebov merged commit 1d410cb into main Oct 9, 2026
1 of 2 checks passed
@deebov
deebov deleted the docs/prop-descriptions branch October 9, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant