Frequently asked questions
Answers to the common questions about VivekUI: what it is, whether it is free, how it compares to shadcn/ui, whether it needs Tailwind, and how it works with React Server Components.
VivekUI is a free, MIT-licensed React component library with 83 accessible components and 6 SVG charts. It has zero runtime dependencies: React and React DOM are peer dependencies, and everything else is written in-house. It is installed as @the_viveksingh/vivek-ui from npm.
Yes. VivekUI is MIT licensed, which permits commercial use, modification and redistribution with no fee, no licence key and no attribution requirement. There is no paid tier and no account to create.
Yes. The published package.json has no dependencies field at all. React and React DOM are declared as peer dependencies supporting version 18 or 19. Utilities that libraries usually pull in — class-name merging, ref merging, focus trapping, positioning and the chart maths — are implemented inside the package, so installing it adds one entry to your lockfile.
No. VivekUI ships static CSS and design tokens as CSS custom properties, so it needs no Tailwind, no CSS-in-JS runtime and no build plugin. You import one stylesheet once. It does work alongside Tailwind: every VivekUI selector is wrapped in :where(), which gives it zero specificity, so a Tailwind utility on the same element wins without !important.
Pass a className. Every VivekUI selector is wrapped in :where(), so it has a specificity of zero and any single plain class of your own overrides it without !important. For sitewide changes, redefine the --vk-* custom properties in your own :root — for example --vk-color-primary or --vk-radius-md — and every component follows.
Yes. 49 of the 83 components render in a Server Component with no client boundary, so they add nothing to your JavaScript bundle. The rest declare their own use client directive, which the unbundled per-file build preserves in both the ESM and CommonJS output. No wrapper or provider is required for a component to work on the server.
Every component has an automated vitest-axe assertion in its test suite, interactive components implement the keyboard map from the WAI-ARIA Authoring Practices, and the colour palette is verified arithmetically: each token pair is checked against WCAG 2.1 contrast ratios, and the chart palette is additionally checked for separation under simulated protanopia, deuteranopia and tritanopia.
shadcn/ui copies component source into your project, where you own and maintain it, and it depends on Tailwind CSS and Radix UI. VivekUI is a versioned npm package you install and upgrade, with zero runtime dependencies and no Tailwind requirement. VivekUI also ships charts in the same package. The trade-off is real: copied source is maximally editable, while a package upgrades in one step.
Yes. Six chart types — line, area, bar, pie and donut, sparkline and progress ring — ship in the same package under @the_viveksingh/vivek-ui/charts, with no charting dependency. They are inline SVG, render on the server, and each one emits an accessible HTML table containing the underlying numbers for screen-reader users.
The entire library is about 41 kB minified and compressed, and it is tree-shakeable, so you pay only for what you import — a single Button is under 1 kB. The stylesheet is about 23 kB compressed. Size budgets are enforced in CI, so a change that exceeds them fails the build.
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.