React and shadcn/ui guides
Practical guides to React and shadcn/ui components, accessible animation, async interaction states, and copy-paste interface blocks.

Introducing TentUI
A component library for the details that make an interface feel thoughtful, expressive, and unmistakably yours.
Build an Accessible Password Input with shadcn/uiSS
Build a React password input with shadcn/ui, a keyboard-accessible show and hide control, password-manager autocomplete, and clear validation.
Fix an OTP Input Cursor That Stays in One Place on MobileSS
Fix a stuck mobile OTP cursor with one native input, mirrored slots, a fake caret, one-time-code autofill, and paste-safe React state.
How to Add Animations to shadcn ComponentsSS
Build accessible shadcn animations with source-owned code, shared-layout transitions, async feedback, and reduced-motion support.
Shadcn Missing Components: Find and Install Them SafelySS
Find components that shadcn does not include, inspect community registry code before installing it, and diagnose broken namespace or JSON responses.
Shadcn Landing Page: Build One with Copy-Paste BlocksSS
Build a shadcn landing page from editable hero, testimonial, pricing, FAQ, CTA, and footer blocks without adding a Tent UI runtime package.
Git Branching for UI Component LibrariesSS
Practical Git branching patterns for component library repos. How to organize feature branches, handle breaking changes, and keep your main branch sta…
Shadcn Loading Button with Success and Error StatesSS
Build an accessible shadcn loading button with success and error states, duplicate-action protection, live updates, and reduced motion.
Fixing Next.js ISR Cache on CloudflareSS
How TentUI's daily GitHub-star revalidation exposed a read-only OpenNext cache.
Motion that earns its placeSS
A practical standard for deciding when interface animation improves understanding and when it only adds noise.
Why copy-paste components scaleSS
Owning component source creates a better boundary for specialized UI than adding another permanent abstraction.