WDS Shadcn Registry
Five shadcn components for async actions, loading states and hard form inputs
WDS Shadcn Registry is Web Dev Simplified's small, deliberately narrow shadcn registry. It ships five components — action-button, loading-swap, number-input, multi-select and password-input — each solving a specific problem shadcn/ui leaves to you: running an async action with a pending state, swapping content for a spinner without layout shift, validated numeric entry, multi-value selection, and password fields with reveal. Each also has an -experimental variant with wider icon-library support, for ten registry items total. It is a gap-filler for an existing shadcn app, not a library to start from.
npx shadcn@latest add https://wds-shadcn-registry.netlify.app/r/action-button.jsonPull individual items from here, never the whole registry — the value is action-button and loading-swap, which correctly handle the async-submit pending state that developers otherwise reimplement badly on every form. Its multi-select and number-input predate and are simpler than the shadcn combobox and input-group patterns, so prefer the upstream shadcn versions if the project already has them and take only the async pieces. Skip the -experimental duplicates unless you need a non-Lucide icon library; they are the same components with a different icon dependency.
Why it is here. A rare example of a registry that is honest about being five components rather than padding to a hundred — the async-action pattern it encodes is a real, widely repeated gap in shadcn/ui.
- async action-button with pending state
- loading-swap avoids layout shift
- only 5 components, no padding
- by Web Dev Simplified (Kyle Cook)
- MIT
Verified 2026-08-15. HTTP 200. https://wds-shadcn-registry.netlify.app, https://wds-shadcn-registry.netlify.app/r/registry.json (10-item enumeration), https://github.com/WebDevSimplified/wds-shadcn-registry, https://wds-shadcn-registry.netlify.app/r/action-button.json (200)








