Contributing
Proposing and building new components.
The bar for a new component
- It solves a real interface problem and its motion carries meaning.
- It is a single self-contained file: React plus, at most,
motion. - It is keyboard operable, has a reduced-motion state and a touch story.
- Continuous work pauses off-screen; pointer effects avoid React re-renders.
- It has a typed control schema, honest accessibility notes and at least one meaningful preset.
Repository structure
registry/
registry/
ui/<slug>.tsx # shipped source — the only file users receive
meta/<slug>.ts # metadata + control schema (validated with Zod)
demos/<slug>.tsx # renders ui/<slug> with control values
__generated__/ # written by the build — do not editLocal workflow
pnpm installpnpm registry:buildpnpm devregistry:build fails if metadata is invalid, a demo is missing, or declared dependencies do not match the imports in the source. Run pnpm test and pnpm typecheck before proposing a change.
Proposing work
The public repository is not open for contributions yet. To suggest a component or report a problem, get in touch through wanstudio.my.