npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

kaven-ui-base

v0.1.0-alpha.1

Published

Kaven Design System — Frost theme, React + Tailwind component library

Readme

kaven-ui-base

License Version Node

The Kaven Design System base component library. 97 React + Tailwind components built on atomic design principles, powered by the Frost design theme.

Alpha: Component APIs may change before v1.0.0.


Installation

npm install kaven-ui-base@alpha
# or
pnpm add kaven-ui-base@alpha

Peer dependencies: React >= 18, Tailwind CSS >= 3


Quick Start

// 1. Import the Tailwind preset in your tailwind.config.ts
import kavenPreset from 'kaven-ui-base/tailwind-preset';

export default {
  presets: [kavenPreset],
  content: [
    './src/**/*.{ts,tsx}',
    './node_modules/kaven-ui-base/dist/**/*.mjs',
  ],
};

// 2. Import tokens in your global CSS
// @import 'kaven-ui-base/tokens.css';

// 3. Use components
import { Button, Input, Card, Badge } from 'kaven-ui-base';

export function App() {
  return (
    <Card>
      <Input placeholder="Email" />
      <Button>Sign Up</Button>
      <Badge>New</Badge>
    </Card>
  );
}

Entry Points

| Import | Contents | Use case | |--------|----------|----------| | kaven-ui-base | All 97 components | Full applications | | kaven-ui-base/lite | Atoms + molecules + tokens (27 components) | Landing pages, small apps | | kaven-ui-base/tailwind-preset | Tailwind config preset (no React) | Tailwind configuration | | kaven-ui-base/tokens.css | CSS custom properties | Tailwind v4 or vanilla CSS |

Lite Build

The /lite entry point ships only atoms, molecules, and tokens — roughly 40% of the full bundle. Use it when you don't need the full admin/tenant component suite:

import { Button, Input, Badge, Card } from 'kaven-ui-base/lite';
import 'kaven-ui-base/tokens.css';

Architecture

The component library follows Brad Frost's Atomic Design methodology:

src/
  tokens/       Design tokens (brand colors, sizing, component contracts)
  atoms/        Button, Input, Label, Icon, Avatar, Badge, Card, Spinner, Typography
  molecules/    SearchInput, IconButtonWithTooltip, PaginationControl, FormField
  organisms/    AppHeader, SidebarNav, DataTable, SettingsPanel, PricingGrid
  templates/    DashboardTemplate, AuthTemplate, SettingsTemplate, MarketingTemplate
  compat/       70 bridge components (Shadcn/Radix wrappers: Dialog, Table, Tabs, etc.)
  brand/        BrandLogo, KaiIcon
  patterns/     Utility functions (cn, cva helpers)
  themes/       Glassmorphism theme (optional CSS)
  styles/       tokens.css (CSS custom properties)

Component Layers

| Layer | Count | Description | |-------|-------|-------------| | Atoms | 10 | Smallest building blocks (Button, Input, Badge) | | Molecules | 7 | Composed atoms (SearchInput, FormField, PaginationControl) | | Organisms | 6 | Complex UI sections (DataTable, SidebarNav, PricingGrid) | | Templates | 4 | Page-level layouts (DashboardTemplate, AuthTemplate) | | Compat | 70 | Bridge components wrapping Radix/Shadcn primitives |

Bridge Pattern

The compat/ layer provides familiar component APIs (Dialog, Table, Tabs, Select, etc.) built on top of Radix UI primitives with Frost styling applied. This gives you Shadcn-style components that follow the Frost design language out of the box.


Frost Design Theme

Frost is the default visual language of kaven-ui-base:

  • Primary: Amber (#F59E0B) — warm, approachable brand color
  • Secondary: Blue (#3B82F6) — trust, action
  • Surfaces: Slate palette — dark-first design (slate-900 base)
  • Typography: Geist Sans (display), DM Sans (body), Geist Mono (code)
  • Border radius: Conservative (2px–10px), no excessive rounding
  • No glass effects in base — glassmorphism available as optional theme

Dark Mode

Dark mode activates automatically via:

<html class="dark">
<!-- or -->
<div data-theme="dark">

Tokens switch via CSS custom properties — no JS runtime needed.

CSS Tokens

Import kaven-ui-base/tokens.css for the full token set:

:root {
  --surface-base, --surface-elevated, --surface-border
  --text-primary, --text-secondary, --text-muted
  --accent-primary (#F59E0B), --accent-secondary (#3B82F6)
  --success, --warning, --error, --info
  --background, --foreground, --card, --border, --ring
  --sidebar, --sidebar-border, --sidebar-foreground
}

Tailwind Preset

The preset configures colors, fonts, border-radius, and animations:

import kavenPreset from 'kaven-ui-base/tailwind-preset';

export default {
  presets: [kavenPreset],
  content: ['./src/**/*.{ts,tsx}'],
};

For Tailwind v4 (CSS-first), import tokens directly:

@import 'kaven-ui-base/tokens.css';

Themes

Glassmorphism (Optional)

@import 'kaven-ui-base/themes/glassmorphism/glass-tokens.css';
@import 'kaven-ui-base/themes/glassmorphism/glass-panel.css';

Adds frosted glass effects for overlay panels. Not included in the default build.


Development

git clone https://github.com/kaven-co/kaven-ui-base
cd kaven-ui-base
pnpm install
pnpm run build       # Build with tsup
pnpm run typecheck   # TypeScript check
pnpm run dev         # Watch mode

Build Output

tsup produces ESM bundles with "use client" directives for Next.js compatibility:

dist/
  index.mjs          Full build (all 97 components)
  index.d.ts         Type declarations
  lite.mjs           Lite build (atoms + molecules)
  lite.d.ts          Lite type declarations
  tailwind-preset.mjs  Tailwind config (no React dependency)

Part of the Kaven Ecosystem

kaven-ui-base is the foundational design system for the Kaven SaaS boilerplate. It works standalone with any React + Tailwind project — no Kaven backend required.

| Package | Purpose | |---------|---------| | kaven-ui-base | Design system components (this package) | | kaven-cli | CLI for project scaffolding and module management | | kaven-framework | Full SaaS boilerplate (Fastify + Next.js + Prisma) |


License

MIT — see LICENSE


GitHub: https://github.com/kaven-co/kaven-ui-base