React Router
Add PanelUI web components to a React Router app.
For React Router in framework mode. Its default import alias is ~, so imports start with ~/ where the other guides have @/.
A new project
Create the project
The shadcn CLI creates the app, sets up Tailwind CSS and writes the theme tokens in one go:
npx shadcn@latest init -t react-routerpnpm dlx shadcn@latest init -t react-routeryarn dlx shadcn@latest init -t react-routerbunx shadcn@latest init -t react-routerAdd a component
npx shadcn@latest add https://panelui.dev/r/web/rolling-number.jsonpnpm dlx shadcn@latest add https://panelui.dev/r/web/rolling-number.jsonyarn dlx shadcn@latest add https://panelui.dev/r/web/rolling-number.jsonbunx shadcn@latest add https://panelui.dev/r/web/rolling-number.jsonThe source is written to components/panelui/rolling-number.tsx, and the packages it uses are
installed for you.
Use it
import { RollingNumber } from "~/components/panelui/rolling-number"
export default function Home() {
return (
<main className="flex min-h-svh items-center justify-center">
<RollingNumber value={121} className="text-6xl font-semibold" />
</main>
)
}An existing project
Run the CLI in the project. It adds the theme tokens to your CSS and writes components.json:
npx shadcn@latest initpnpm dlx shadcn@latest inityarn dlx shadcn@latest initbunx shadcn@latest initThen add a component as in the steps above.
From npm
To install the package instead of copying source, follow From npm once the project has its shadcn theme.