DESIGN·FORGE
Library

Component vault

Components move DISCOVERED → REVIEWING → APPROVED, and only verified licences can reach APPROVED. Quality is scored on eight dimensions — GitHub stars are deliberately not one of them.

APPROVED

12

Button

action
APPROVED
License
first-party (yours)
Source
first-party
Framework
React 19 + Tailwind v4
Dependencies
none
Code
src/components/ui/button.tsx
A11y
Native <button>, focus-visible ring ≥3:1, disabled via attribute, loading sets aria-busy
Motion
press-settle (120ms), no hover-scale
responsivekeyboarddarklightv1.0.0
Overall quality
4.9/5
visual5/5
accessibility5/5
responsive5/5
performance5/5
dependencyWeight5/5
customizability5/5
documentation4/5
licenseConfidence5/5

All 8 states implemented and rendered in the playground.

Input

input
APPROVED
License
first-party (yours)
Source
first-party
Framework
React 19 + Tailwind v4
Dependencies
none
Code
src/components/ui/input.tsx
A11y
Label association required, error via aria-invalid + aria-describedby, 44px height
Motion
none (focus ring instant)
responsivekeyboarddarklightv1.0.0
Overall quality
4.8/5
visual4/5
accessibility5/5
responsive5/5
performance5/5
dependencyWeight5/5
customizability5/5
documentation4/5
licenseConfidence5/5

Border-width never changes between states; helper slot reserves 1lh to prevent shift.

Panel

layout
APPROVED
License
first-party (yours)
Source
first-party
Framework
React 19 + Tailwind v4
Dependencies
none
Code
src/components/ui/panel.tsx
A11y
Semantic section + labelled heading; never nests inside another panel
Motion
none
responsivekeyboarddarklightv1.0.0
Overall quality
4.8/5
visual5/5
accessibility5/5
responsive5/5
performance5/5
dependencyWeight5/5
customizability4/5
documentation4/5
licenseConfidence5/5

The anti-card: one surface level, hairline border, no shadow.

Stat Tile

data
APPROVED
License
first-party (yours)
Source
first-party
Framework
React 19 + Tailwind v4
Dependencies
none
Code
src/components/ui/stat-tile.tsx
A11y
Value + label association; trend has text, not color alone
Motion
count-up once (optional, reduced-motion safe)
responsivedarklightv1.0.0
Overall quality
4.8/5
visual5/5
accessibility5/5
responsive5/5
performance5/5
dependencyWeight5/5
customizability4/5
documentation4/5
licenseConfidence5/5

Renders an explicit '— metric to confirm' state instead of fabricating numbers.

Status Badge

display
APPROVED
License
first-party (yours)
Source
first-party
Framework
React 19 + Tailwind v4
Dependencies
none
Code
src/components/ui/status-badge.tsx
A11y
Never color-only: every badge carries a text label (and optional shape)
Motion
status-pulse for live states only
responsivedarklightv1.0.0
Overall quality
4.9/5
visual5/5
accessibility5/5
responsive5/5
performance5/5
dependencyWeight5/5
customizability5/5
documentation4/5
licenseConfidence5/5

Data Table

data
APPROVED
License
first-party (yours)
Source
first-party
Framework
React 19 + Tailwind v4
Dependencies
none
Code
src/components/ui/data-table.tsx
A11y
Real <table> semantics, scope on headers, caption support, row focus
Motion
hover-reveal-actions
responsivekeyboarddarklightv1.0.0
Overall quality
4.5/5
visual5/5
accessibility5/5
responsive4/5
performance4/5
dependencyWeight5/5
customizability4/5
documentation4/5
licenseConfidence5/5

Overflow container scrolls; page body never does.

Command Palette

overlay
APPROVED
License
first-party (yours) — pattern studied from Raycast
Source
first-party
Framework
React 19 + Tailwind v4
Dependencies
none
Code
src/components/command-palette.tsx
A11y
role=dialog + aria-modal, listbox semantics, focus trap, Esc closes, arrow navigation
Motion
instant filter, ≤150ms panel fade
responsivekeyboarddarklightv1.0.0
Overall quality
4.6/5
visual5/5
accessibility5/5
responsive4/5
performance5/5
dependencyWeight5/5
customizability4/5
documentation4/5
licenseConfidence5/5

Written first-party rather than adopting cmdk, so the dependency stays at zero.

Empty State

feedback
APPROVED
License
first-party (yours)
Source
first-party
Framework
React 19 + Tailwind v4
Dependencies
none
Code
src/components/ui/empty-state.tsx
A11y
Heading + explanation + one primary action; no decorative-only illustration
Motion
none
responsivekeyboarddarklightv1.0.0
Overall quality
4.8/5
visual4/5
accessibility5/5
responsive5/5
performance5/5
dependencyWeight5/5
customizability5/5
documentation4/5
licenseConfidence5/5

Field Row

input
APPROVED
License
first-party (yours)
Source
first-party
Framework
React 19 + Tailwind v4
Dependencies
none
Code
src/components/ui/field-row.tsx
A11y
Label + description + error wired via ids; error announced politely
Motion
none
responsivekeyboarddarklightv1.0.0
Overall quality
4.8/5
visual4/5
accessibility5/5
responsive5/5
performance5/5
dependencyWeight5/5
customizability5/5
documentation4/5
licenseConfidence5/5

Tabs

navigation
APPROVED
License
first-party (yours)
Source
first-party
Framework
React 19 + Tailwind v4
Dependencies
none
Code
src/components/ui/tabs.tsx
A11y
role=tablist/tab/tabpanel, roving tabindex, arrow keys, no scroll-jump
Motion
none (instant panel swap)
responsivekeyboarddarklightv1.0.0
Overall quality
4.6/5
visual4/5
accessibility5/5
responsive5/5
performance5/5
dependencyWeight5/5
customizability4/5
documentation4/5
licenseConfidence5/5

shadcn Dialog (Radix)

overlay
APPROVED
License
MIT
Source
shadcn/ui (VERIFIED_OPEN_SOURCE)
Framework
React + Radix + Tailwind
Dependencies
@radix-ui/react-dialog
A11y
Radix handles focus trap, aria-modal, Esc, scroll lock
Motion
fade + 2% scale, reduced-motion safe when configured
responsivekeyboarddarklightvlatest
Overall quality
4.5/5
visual4/5
accessibility5/5
responsive5/5
performance4/5
dependencyWeight3/5
customizability5/5
documentation5/5
licenseConfidence5/5

Approved for projects that already carry Radix; Forge itself stays dependency-free.

shadcn Select (Radix)

input
APPROVED
License
MIT
Source
shadcn/ui (VERIFIED_OPEN_SOURCE)
Framework
React + Radix + Tailwind
Dependencies
@radix-ui/react-select
A11y
Full listbox semantics + typeahead from Radix
Motion
content fade
responsivekeyboarddarklightvlatest
Overall quality
4.4/5
visual4/5
accessibility5/5
responsive4/5
performance4/5
dependencyWeight3/5
customizability5/5
documentation5/5
licenseConfidence5/5

Prefer native <select> on UTILITARIAN contracts.

REVIEWING

1

21st.dev hero blocks (various)

layout
REVIEWING
License
per-author — verify individually
Source
21st.dev (REFERENCE_ONLY)
Framework
React + Tailwind
Dependencies
varies
A11y
unverified per component
Motion
varies (often violates house motion rules)
responsivedarklightvn/a
Overall quality
2.9/5
visual4/5
accessibility2/5
responsive3/5
performance3/5
dependencyWeight2/5
customizability4/5
documentation3/5
licenseConfidence2/5

Discovery source only. Each candidate needs its author license checked before APPROVED.

DISCOVERED

1

FeralUI physics elements

display
DISCOVERED
License
not stated
Source
FeralUI (LICENSE_UNCLEAR)
Framework
React
Dependencies
unknown
A11y
unverified
Motion
physics-driven (expressive)
darkvn/a
Overall quality
2.3/5
visual4/5
accessibility2/5
responsive2/5
performance2/5
dependencyWeight2/5
customizability3/5
documentation2/5
licenseConfidence1/5

LICENSE_UNCLEAR → cannot be approved. Study only for PLAYFUL motion voice.

REJECTED

1

complete-shelf 3D book viewer

media
REJECTED
License
none found
Source
complete-shelf (MengTo) (REFERENCE_ONLY)
Framework
Three.js
Dependencies
three
A11y
HTML controls layered over WebGL (good pattern)
Motion
deterministic camera transitions
responsivekeyboardlightvn/a
Overall quality
3.1/5
visual5/5
accessibility4/5
responsive4/5
performance3/5
dependencyWeight2/5
customizability3/5
documentation3/5
licenseConfidence1/5

REJECTED for reuse — no LICENSE file means all rights reserved. Kept as a reference study.