Frequently asked questions
Common questions about VivekUI: is it free, does it need Tailwind, how does it compare to shadcn/ui, and does it work with React Server Components?
VivekUI is a free, MIT-licensed React component library with 109 accessible components and 10 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. 50 of the 109 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 66.6 kB minified and compressed, and it is tree-shakeable, so you pay only for what you import — a single Button is 780 B. The stylesheet is 33.8 kB gzipped. Size budgets are enforced in CI, so a change that exceeds them fails the build.
Yes. Twelve complete pages — landing, pricing, contact, sign in, create account, dashboard, settings, checkout, product detail, blog index, about and 404 — are published at /pages with a live demo and the full source for each. They are built only from exports of the published package, which a build step enforces, so the code shown runs as-is once you install VivekUI and import its stylesheet. Everything is MIT licensed with no attribution requirement.
Five controls no other free React library ships: EditableGrid, VirtualList, FileTree, KanbanBoard and Scheduler. In each case what is missing elsewhere is the keyboard support. The clearest example is the Kanban board — the HTML5 drag-and-drop API has no keyboard equivalent at all, so a board built on it cannot be used without a mouse, and almost every board on the web is. VivekUI ships two complete input paths: dragging, and a pick-up / move / drop model announced through a live region. MUI does have a scheduler, but it is behind a paid licence.
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.