Answers
Frequently asked questions
Licensing, framework support, theming, bundle size, accessibility, and versioning.
What is oks-ui?
oks-ui is a React component library written in strict TypeScript, with a design system driven entirely by CSS custom properties. It ships roughly 55 components — buttons, modals, drawers, forms, tables, charts, toasts, a command palette, a Kanban board, a block editor and more — has zero runtime dependencies beyond React, needs no theme provider or configuration, and has keyboard support, visible focus, ARIA roles and reduced-motion handling built into every component. It is open source under the MIT License.
Is oks-ui free? What license is it under?
Yes, oks-ui is free. The package is open source under the MIT License, which permits use in personal and commercial projects at no cost. The documentation website's terms apply only to the site, not to your use of the package.
How do I install oks-ui?
Run `npm install oks-ui` (or `pnpm add oks-ui` / `yarn add oks-ui`). Import the stylesheet once in your app entry or root layout with `import "oks-ui/styles.css"`. Then import components as named exports, for example `import { Button } from "oks-ui"`. There is no provider to add and no configuration step.
Does oks-ui work with Next.js and React Server Components?
Yes. oks-ui works with the Next.js App Router. The package ships one bundled entry without per-component "use client" markers, so render oks-ui components from Client Components — add "use client" to the files that use them. Next.js still statically prerenders those components' initial HTML at build time, so you keep static generation.
Does oks-ui need a provider or configuration?
No. There is no theme provider, no configuration object, and no required setup beyond importing the stylesheet once. The one exception is Toast, which uses its own provider to manage the notification queue.
How do I theme oks-ui or change its colors?
Every color, space, radius and shadow is an --oks-* CSS custom property. Override any token from your own CSS with no build step or config file, for example `:root { --oks-color-primary-500: #7c3aed; }`. Semantic roles such as primary, secondary, success, warning and danger are aliases you can point at any built-in palette or your own scale. Dark mode is driven by a data-theme="dark" attribute on the html element.
Does oks-ui have runtime dependencies?
No. The only peer dependencies are react and react-dom. Nothing else is added to your bundle, which keeps install size small and avoids transitive version conflicts.
Is oks-ui accessible?
Accessibility is a core design goal. Every component ships with keyboard navigation, :focus-visible focus rings, appropriate ARIA roles and attributes, and prefers-reduced-motion support. Overlay components such as Modal and Drawer include focus trapping and restore focus on close.
Do I have to use TypeScript to use oks-ui?
No. oks-ui is written in strict TypeScript and ships complete type definitions, so TypeScript users get full type checking and editor hints, but the package works the same in plain JavaScript projects.
Which React versions does oks-ui support?
oks-ui supports React 18 and newer, including React 19.
How big is oks-ui and does it tree-shake?
oks-ui has no runtime dependencies, so the only code that reaches your bundle is the components you import. Components are named exports and the package is side-effect-free apart from the CSS you import explicitly, so bundlers can drop the components you do not use. Per-component subpaths (for example `oks-ui/button`) let you import just one component and its CSS without pulling in the rest of the library at all.
Is oks-ui production-ready and how is it versioned?
oks-ui is published to npm and follows semantic versioning, so breaking changes come only in major releases. The current version is always shown on the npm page at https://www.npmjs.com/package/oks-ui.
Where are the docs and how do I get help?
Documentation lives at https://www.oks-ui.com/docs, with an interactive props playground for every component at https://www.oks-ui.com/components. Full application examples are at https://www.oks-ui.com/templates and https://www.oks-ui.com/patterns.