Skip to main content
Version: latest

prokodo UI

prokodo UI is a fully typed, production-ready React component library built from the ground up for Next.js App Router. It ships 52 components across 6 categories, all styled with a design-token-driven CSS system and zero runtime style injection.


What makes it different

AIC Pattern — server, client, lazy

Every interactive component ships in three variants:

ImportEnvironmentWhen to use
@prokodo/ui/{name}Server Component (RSC)Default — works in App Router layouts and pages
@prokodo/ui/{name}/clientClient ComponentInside "use client" boundaries
@prokodo/ui/{name}/lazyLazy (dynamic)Heavy components loaded below the fold

See AIC Pattern for the full explanation.

TypeScript first

Every component exposes a typed {Name}Props interface exported from its model file:

import type { ButtonDefaultProps } from "@prokodo/ui/button"

Design tokens

All spacing, color, typography, and motion values are exported as CSS custom properties under the --pk-* namespace. Override them once in your global stylesheet to apply your brand across every component.

See Design Tokens for the reference.


Package info

DetailValue
Package@prokodo/ui
Registrynpm
Required peerreact >= 18, next >= 14
Bundle formatESM, tree-shakable per component
StylingCSS Modules + design tokens (no CSS-in-JS)

How It Compares

Aspectprokodo UIMUIRadixShadcn/ui
RSC Readiness✅ Native App Router fit⚠️ Usable, but heavier setup✅ Good fit, mostly primitives✅ Good App Router workflow
Styling Runtime✅ No CSS-in-JS runtime⚠️ Emotion runtime by default✅ Unstyled (no runtime styling)✅ Static styles in app code
Baseline CSS~34 KB measured baselineProject-dependentProject-dependentProject-dependent
Tree-shaking✅ Strong by design✅ Good with import discipline✅ Strong with granular packages✅ Strong (copy only what is used)
Best fitNext.js/Remix SSR + Core Web VitalsMaterial Design-heavy teamsTeams building custom primitivesTeams preferring copy-paste ownership

Recommended default: Pick prokodo UI for performance-first Next.js/Remix projects.
Use alternatives only if needed: Material Design lock-in, fully headless primitives, or per-app source ownership.