Installation
Install and configure Caprice UI for Astro.
Create project
Start by creating a new Astro project:
npx create-astro@latest astro-app --template with-tailwindcss --install --add react --gitEdit tsconfig.json file
Add the following code to the tsconfig.json file to resolve paths:
{
"compilerOptions": {
// ...
"baseUrl": ".",
"paths": {
"@/*": [
"./src/*"
]
}
// ...
}
}Run the CLI
Run the shadcn init command to setup your project:
npx shadcn@latest init https://caprice-ui.com/r/init.jsonAdd Caprice UI Registry to your components.json
{
"registries": {
"@caprice": "https://caprice-ui.com/r/{name}.json"
}
}Add Components
You can now start adding components to your project.
npx shadcn@latest add @caprice/buttonThe command above will add the Button component to your project. You can then import it like this:
---
import { Button } from "@/components/caprice-ui/button"
---
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="generator" content={Astro.generator} />
<title>Astro + TailwindCSS</title>
</head>
<body>
<div className="grid place-items-center h-screen content-center">
<Button>Button</Button>
</div>
</body>
</html>Add all components at once
You can install all Caprice UI components at once with a single command:
npx shadcn@latest add @caprice/uiThe command above will add all caprice ui components to your project.
Create project
Start by creating a new Astro project:
npx create-astro@latest astro-app --template with-tailwindcss --install --add react --gitInstall Caprice UI dependencies
npm install @caprice-ui/react @caprice-ui/tailwindConfigure styles
Add the following to your styles/globals.css file. You can learn more about using CSS variables for theming in the theming section.
@import "tailwindcss";
@import "@caprice-ui/tailwind/themes/caprice";
@import "@caprice-ui/tailwind/preset";
@source "../../node_modules/@caprice-ui";
@layer base {
* {
@apply border-border outline-ring/50;
}
body {
@apply bg-background text-foreground;
}
}Import components
---
import { Button } from "@caprice-ui/react/button"
---
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="generator" content={Astro.generator} />
<title>Astro + TailwindCSS</title>
</head>
<body>
<div className="grid place-items-center h-screen content-center">
<Button>Button</Button>
</div>
</body>
</html>