v0.3.1 · MIT

Every building block of a website. Zero dependencies.

83 accessible React components and 6 SVG charts. One install, one CSS import, no configuration. Works in React 18 and 19, and in Next.js with both routers.

Measured, not claimed

size-limit figures from the published build, minified and brotlied, React excluded.

One component
773 B
importing Button
All 83 components
40.8 kB
if you import everything
Runtime dependencies
0
verifiable with npm ls
Server-safe components
49
no client boundary needed
Why this exists

A dependency, not a copy-paste snippet

Copy-paste kits hand you the source and the maintenance burden with it. This is a normal package: npm update and you have the fixes.

  • Zero runtime dependencies

    No Tailwind, no Radix, no clsx, no Emotion. react and react-dom are peers and are never bundled, so you cannot end up with two copies of React.

  • Server-safe by default

    49 of 83 components carry no use-client directive. The build is unbundled per file so each one keeps its own, and CI proves it survives in both ESM and CJS.

  • Your CSS always wins

    Every selector is wrapped in :where(), which has specificity zero. One flat class of your own beats the library — no !important, ever.

  • Responsive with no props

    Container queries, not viewport queries. A card grid inside a narrow sidebar stacks exactly as it would on a phone, even on a 27-inch display.

  • Accessible by construction

    IconButton requires aria-label at the type level. Alert picks alert vs status by tone. Every component is covered by automated axe assertions.

  • Charts with no chart library

    6 chart types in pure SVG, 8.14 kB for all of them. Each renders a real table fallback, and never encodes a series by colour alone.

What it replaces

  • A pricing table, a command palette, a data table, a chart and a chat panel — from one install, with nothing else in package.json.
    The pointin one sentence
Pricing

Free. All of it. Forever.

MIT licensed. There is no paid tier, no pro components, and no telemetry.

  • Open source

    Only tier
    $0

    Everything, for any use including commercial.

    • All 83 components
    • All 6 charts
    • Full TypeScript types
    • Server Components support
    • MIT licence

Questions

How is it genuinely zero-dependency?

The published package has no dependencies field at all — run npm ls --omit=dev to confirm. Utilities other libraries pull in, like clsx or a focus trap, are written in-house. CI fails the build if a runtime dependency ever appears.

Does it work with Next.js App Router?

Yes, and this site is the proof — it is a Next.js App Router app whose landing page is a Server Component built from these section components. Only genuinely interactive components carry use-client.

How do I use my own colours and fonts?

Override the --vk-* custom properties in your own stylesheet. There is no config file, no theme object and no build step — it is plain CSS you already know.

What is the catch?

The CSS is one stylesheet, so an app using five components still downloads all 23 kB gzipped. That is the trade for one import and no build configuration. Chart CSS is a separate import.

Install it and see

npm install @the_viveksingh/vivek-ui — then one CSS import, and you are done.

Free forever, MIT licensed

There is no paid tier, no pro components and no telemetry. If it saved you a weekend, a coffee is a kind way to say so — and a star on the repo helps other people find it.