Appica UIUI 1.0.0

Installation

Add Appica UI to your React project.


Appica UI ships as a single tree-shakeable package. Components are built on Base UI primitives and styled with Tailwind CSS v4 design tokens, so installation is two steps: add the package, then point Tailwind at it.

Prerequisites

Appica UI targets modern React and Tailwind. Make sure your project has:

React 19 is a hard requirement: components use the modern ref-as-prop API and other React 19 patterns, with no forwardRef shims. If you're on React 18, upgrade before installing.

Install

pnpm add @appica/ui-react

Configure Tailwind

Import the design tokens after Tailwind in your global stylesheet, and add a @source directive so Tailwind scans the compiled library for class names.

globals.css

The styles.css import brings in the full token system — colors, radii, shadows, typography, and the light/dark themes. See Theming to customize it.

Why there's no prebuilt CSS to import

Appica UI ships its components' class names as source for your Tailwind to compile, rather than a prebuilt stylesheet you drop in. That extra @source line buys a lot:

  • One deduplicated build. The utilities the components use are generated into the same pass as your own, so shared classes (flex, rounded-lg, px-4…) are emitted once instead of shipping twice.
  • Only what you use. Tailwind tree-shakes across your app and the library together — utilities for components you never import are never generated.
  • Your tokens win. Because the classes are compiled against your Tailwind config, overrides to the design tokens in Theming — colors, radii, spacing, fonts — flow into the components automatically. A prebuilt stylesheet would freeze those values at publish time.
  • No version-locked CSS. There's no compiled stylesheet to drift out of sync with your Tailwind version; the components restyle themselves against whatever Tailwind v4 you're on.

Add the provider

Wrap your app in ThemeProvider to enable theming and dark mode. It injects a small inline script that applies the stored theme before first paint, so there's no flash of the wrong theme. In Next.js that's the root layout's <body>; in a Vite/CRA app, wrap your root the same way.

app/layout.tsx (Next.js)

That's all you need to start. See Theme Provider for the full API — custom themes, forcing a theme, and flash-prevention details — and the optional DirectionProvider (RTL) and ReducedMotionProvider, which you add only when you need them.

Framework notes

Appica UI is a plain package, so the steps above are the same everywhere — unlike a file-scaffolding CLI, there's no per-framework setup to learn. The only things that move are which Tailwind build plugin you install, where your global stylesheet lives, and where the provider goes:

Everything else — the @imports and the subpath imports — is identical regardless of framework. The one value that tracks the stylesheet is the @source path: count the ../ needed to reach node_modules from wherever your global CSS lives (see Configure Tailwind above).

Use a component

Import components from their subpath for the smallest bundle, and you're ready:

Next steps

  • Usage — import conventions, variants, and composition basics.
  • Theming — customize colors, radii, and tokens.
  • Dark Mode — build a theme toggle.
  • Components — browse the full catalog.

© 2026 Appica UI. A free component library, crafted by the Appica team.