
What Is Yumma UI?
A set of ready-to-use UI components based on Base UI for accessibility and keyboard navigation, styled with Yumma CSS utility classes, giving you full control over the final look and feel without any hidden abstractions.
Getting Started
Yumma UI components are copied into your project rather than installed as a dependency — once a component is in your codebase, it is yours to edit. Set up Yumma CSS first, then use the CLI to copy in whatever you need.
Vite (React)
- 1
Create Project
Initialize a new React project with Vite.
pnpm create vite my-app --template react-ts - 2
Install Dependencies
Install the core dependencies for Yumma UI.
pnpm add yummacss @yummacss/vite @base-ui/react iconoir-react motion - 3
Add the Plugin
Register the Yumma CSS plugin in your Vite configuration.
vite.config.tsimport react from "@vitejs/plugin-react";import { defineConfig } from "vite";import yummacss from "@yummacss/vite";
export default defineConfig({ plugins: [react(), yummacss()],}); - 4
Configure Yumma CSS
Specify the locations of all your project files in the config file.
yumma.config.mjsimport { defineConfig } from "yummacss";
export default defineConfig({ source: ["./src/**/*.{ts,tsx}"],}); - 5
Import Styles
Create a CSS file containing the
@yummacss;marker & import it in your root entry file. The plugin replaces the marker with generated CSS.@yummacss; - 6
Add Components
Set up
yummaui.json, then copy in whatever you need.initdetects your framework, package manager & import alias, and asks where components should live.pnpm dlx yummaui init pnpm dlx yummaui add buttonEach component lands as a single file you own. Run
yummaui listto see everything available.
Next.js (App Router)
- 1
Create Project
Initialize a new Next.js project if you haven't already.
pnpm create next-app@latest my-app - 2
Install Dependencies
Install the core dependencies for Yumma UI.
pnpm add yummacss @yummacss/postcss @base-ui/react iconoir-react motion - 3
Configure PostCSS
Register the Yumma CSS plugin in your PostCSS configuration. It works with both Turbopack & Webpack.
postcss.config.mjsexport default { plugins: { "@yummacss/postcss": {}, },}; - 4
Configure Yumma CSS
Specify the locations of all your project files in the config file.
yumma.config.mjsimport { defineConfig } from "yummacss";
export default defineConfig({ source: ["./src/**/*.{ts,tsx}"],}); - 5
Import Styles
Create a global CSS file containing the
@yummacss;marker & import it in your root layout. The plugin replaces the marker with generated CSS.@yummacss; - 6
Add Components
Set up
yummaui.json, then copy in whatever you need.initdetects your framework, package manager & import alias, and asks where components should live.pnpm dlx yummaui init pnpm dlx yummaui add buttonEach component lands as a single file you own. Run
yummaui listto see everything available.