ZaidanHomeDocsComponentsBlocksChartsTypesetCreate

Command Palette

Search for a command to run...

GitHub
New
Sections
  • Introduction
  • Components
  • Blocks
  • Installation
  • Customization
  • Dark Mode
  • Typeset
  • Zaidan Skills
  • FAQ
  • Roadmap
  • Changelog
Installation
  • Astro
  • Manual
  • Solid Start
  • TanStack Router
  • TanStack Start
  • Vite
Blocks
  • Data Grid
  • Event Calendar
  • Filters
  • Gantt
  • Image Crop
  • Kanban
  • Message Scroller
  • Questionnaire
  • Sortable
Components
  • Accordion
  • Alert
  • Alert Dialog
  • Aspect Ratio
  • Attachment
  • Avatar
  • Badge
  • Breadcrumb
  • Bubble
  • Button
  • Button Group
  • Calendar
  • Card
  • Carousel
  • Chart
  • Checkbox
  • Collapsible
  • Combobox
  • Command
  • Context Menu
  • Dialog
  • Drawer
  • Dropdown Menu
  • Empty
  • Field
  • Hover Card
  • Input
  • Input Group
  • Input OTP
  • Item
  • Kbd
  • Label
  • Marker
  • Menubar
  • Message
  • Native Select
  • Navigation Menu
  • Pagination
  • Popover
  • Progress
  • Radio Group
  • Resizable
  • Scroll Area
  • Select
  • Separator
  • Sheet
  • Sidebar
  • Skeleton
  • Slider
  • Spinner
  • Switch
  • Table
  • Tabs
  • Textarea
  • Toast
  • Toggle
  • Toggle Group
  • Tooltip

TanStack Start

Install and configure shadcn/ui with Zaidan for TanStack Start.

Create project

Run the following command to create a new TanStack Start project with shadcn/ui:

pnpm dlx @tanstack/cli@latest create --framework Solid --tailwind
npx @tanstack/cli@latest create --framework Solid --tailwind
yarn dlx @tanstack/cli@latest create --framework Solid --tailwind
bunx --bun @tanstack/cli@latest create --framework Solid --tailwind

Run the CLI

Run the shadcn init command to setup your project:

pnpm dlx shadcn@latest init
npx shadcn@latest init
yarn dlx shadcn@latest init
bunx --bun shadcn@latest init

Configure your Shadcn installation

Update the components.json file to point to the Zaidan registry and use the kobalte style:

components.json
1
{
2
"$schema": "https://ui.shadcn.com/schema.json",
3
"style": "kobalte",
4
"rsc": false,
5
"tsx": true,
6
"tailwind": {
7
"config": "",
8
"css": "src/styles/globals.css",
9
"baseColor": "neutral", // or "gray", "stone", "zinc"
10
"cssVariables": true,
11
"prefix": ""
12
},
13
"iconLibrary": "lucide",
14
"rtl": false,
15
"aliases": {
16
"components": "@/components",
17
"utils": "@/lib/utils",
18
"ui": "@/components/ui",
19
"lib": "@/lib",
20
"hooks": "@/hooks"
21
},
22
"menuColor": "default", // or "inverted"
23
"menuAccent": "subtle", // or "bold"
24
"registries": {
25
"@zaidan": "https://zaidan.carere.dev/r/{style}/{name}.json"
26
}
27
}

Customize your Design System

Customize your Design System then

Add Components

You can now start adding components to your project.

pnpm dlx shadcn@latest add @zaidan/button
npx shadcn@latest add @zaidan/button
yarn dlx shadcn@latest add @zaidan/button
bunx --bun shadcn@latest add @zaidan/button

The command above will add the Button component to your project. You can then import it like this:

src/routes/index.tsx
1
import { createFileRoute } from "@tanstack/solid-router"
2
3
import { Button } from "@/components/ui/button"
4
5
export const Route = createFileRoute("/")({
6
component: App,
7
})
8
9
function App() {
10
return (
11
<div>
12
<Button>Click me</Button>
13
</div>
14
)
15
}
Built by Kevin Abatan. The source code is available on GitHub.