Skip to content
oks-ui

Features

React component library with zero dependencies

One package to install, nothing else to audit.

The short answer

oks-ui is a React component library with zero runtime dependencies. Its package.json lists no dependencies, only react and react-dom (version 18 or newer) as peer dependencies, so installing it adds one package to your project and nothing else to audit or keep in sync.

What zero dependencies means here

  • No dependencies entry. The package declares none, so installing it adds a single package to your lockfile.
  • Only React is required. react and react-dom, version 18 or newer, are peer dependencies that your app already provides.
  • No provider to wrap your app in. Theming is CSS custom properties. Toast has its own provider for its notification queue; nothing else does.

Check it yourself:

npm view oks-ui dependencies
# prints nothing, because there are none

npm view oks-ui peerDependencies
# { react: '>=18', 'react-dom': '>=18' }

Why it matters

  • Less to audit. Every dependency is another licence to read and another source of security advisories. There is nothing extra to review.
  • No version conflicts. There is no transitive package to disagree with the versions you already use.
  • Nothing to keep in step. Upgrading oks-ui is one version bump, not a chain of related packages.

What you actually download

Gzipped sizes measured on oks-ui 1.2.1 on , minified with esbuild and React left out, importing each component from its own subpath.

Measured gzip size of oks-ui parts
What you importJavaScriptCSS
Button5.7 KB3.6 KB
Modal7.2 KB2.5 KB
Table (the largest component)41.1 KB19.1 KB
Design tokens (tokens.css)none4.6 KB
Utility classes (utilities.css)none3.1 KB
Every component through the main entry121.0 KBnot measured

Numbers move with each release. The last row is the ceiling if you used every component, which almost no page does: import only what a page renders and a bundler ships only that.

Import one component and its styles

Every component has its own entry point, and its stylesheet ships beside it, so you can load exactly one.

Example.tsx
import { Button } from "oks-ui/button";
import "oks-ui/button.css";

export function Example() {
  return <Button color="primary">Save changes</Button>;
}

Questions

Does oks-ui have any dependencies?

No. oks-ui declares no runtime dependencies. Its only requirements are react and react-dom, version 18 or newer, as peer dependencies, which your React app already has.

How big is oks-ui?

It depends on what you import. Measured on oks-ui 1.2.1, minified and gzipped with React excluded, the Button component is about 5.7 KB of JavaScript and 3.6 KB of CSS, and the Modal is about 7.2 KB of JavaScript and 2.5 KB of CSS. Importing the entire library is about 121 KB of JavaScript, but a bundler only includes what you import.

Do I need to install anything besides oks-ui?

No. Install oks-ui, import the stylesheet once, and use the components. There is no styling engine, theme provider or configuration file to add. The one exception is Toast, which uses its own small provider to manage the notification queue.

Keep exploring

Figures and claims on this page were last checked on 2026-09-24.