diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000000..9e4646c61cb --- /dev/null +++ b/.eslintignore @@ -0,0 +1,8 @@ +node_modules/ +target/ +.next/ +build/ +dist/ + +/templates/ +/fixtures/ diff --git a/.github/workflows/prerelease-comment.yml b/.github/workflows/prerelease-comment.yml index 7d4089ae1ac..41e7f693a25 100644 --- a/.github/workflows/prerelease-comment.yml +++ b/.github/workflows/prerelease-comment.yml @@ -49,7 +49,7 @@ jobs: A new prerelease is available for testing: ```sh - npx shadcn@${{ env.BETA_PACKAGE_VERSION }} + pnpm dlx shadcn@${{ env.BETA_PACKAGE_VERSION }} ``` - name: "Remove the autorelease label once published" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f45807d242e..fd64b7878a7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -91,6 +91,42 @@ pnpm --filter=www dev pnpm --filter=shadcn-ui dev ``` +## Running the CLI Locally + +To run the CLI locally, you can follow the workflow: + +1. Start by running the registry (main site) to make sure the components are up to date: + + ```bash + pnpm www:dev + ``` + +2. Run the development script for the CLI: + + ```bash + pnpm shadcn:dev + ``` + +3. In another terminal tab, test the CLI by running: + + ```bash + pnpm shadcn + ``` + + To test the CLI in a specific app, use a command like: + + ```bash + pnpm shadcn -c ~/Desktop/my-app + ``` + +4. To run the tests for the CLI: + + ```bash + pnpm --filter=shadcn test + ``` + +This workflow ensures that you are running the most recent version of the registry and testing the CLI properly in your local environment. + ## Documentation The documentation for this project is located in the `www` workspace. You can run the documentation locally by running the following command: diff --git a/apps/www/__registry__/default/block/authentication-01.tsx b/apps/www/__registry__/default/block/authentication-01.tsx deleted file mode 100644 index ad62585fa44..00000000000 --- a/apps/www/__registry__/default/block/authentication-01.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { Button } from "@/registry/default/ui/button" -import { - Card, - CardContent, - CardDescription, - CardFooter, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { Input } from "@/registry/default/ui/input" -import { Label } from "@/registry/default/ui/label" - -export const description = - "A simple login form with email and password. The submit button says 'Sign in'." - -export const iframeHeight = "600px" - -export const containerClassName = - "w-full h-screen flex items-center justify-center px-4" - -export default function LoginForm() { - return ( - - - Login - - Enter your email below to login to your account. - - - -
- - -
-
- - -
-
- - - -
- ) -} diff --git a/apps/www/__registry__/default/block/authentication-02.tsx b/apps/www/__registry__/default/block/authentication-02.tsx deleted file mode 100644 index b4ccaddd92b..00000000000 --- a/apps/www/__registry__/default/block/authentication-02.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import Link from "next/link" - -import { Button } from "@/registry/default/ui/button" -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { Input } from "@/registry/default/ui/input" -import { Label } from "@/registry/default/ui/label" - -export const description = - "A login form with email and password. There's an option to login with Google and a link to sign up if you don't have an account." - -export const iframeHeight = "600px" - -export const containerClassName = - "w-full h-screen flex items-center justify-center px-4" - -export default function LoginForm() { - return ( - - - Login - - Enter your email below to login to your account - - - -
-
- - -
-
-
- - - Forgot your password? - -
- -
- - -
-
- Don't have an account?{" "} - - Sign up - -
-
-
- ) -} diff --git a/apps/www/__registry__/default/block/authentication-03.tsx b/apps/www/__registry__/default/block/authentication-03.tsx deleted file mode 100644 index 65e7c939a7a..00000000000 --- a/apps/www/__registry__/default/block/authentication-03.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import Link from "next/link" - -import { Button } from "@/registry/default/ui/button" -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { Input } from "@/registry/default/ui/input" -import { Label } from "@/registry/default/ui/label" - -export const description = - "A sign up form with first name, last name, email and password inside a card. There's an option to sign up with GitHub and a link to login if you already have an account" - -export const iframeHeight = "600px" - -export const containerClassName = - "w-full h-screen flex items-center justify-center px-4" - -export default function LoginForm() { - return ( - - - Sign Up - - Enter your information to create an account - - - -
-
-
- - -
-
- - -
-
-
- - -
-
- - -
- - -
-
- Already have an account?{" "} - - Sign in - -
-
-
- ) -} diff --git a/apps/www/__registry__/default/block/authentication-04.tsx b/apps/www/__registry__/default/block/authentication-04.tsx deleted file mode 100644 index 1ccce939230..00000000000 --- a/apps/www/__registry__/default/block/authentication-04.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import Image from "next/image" -import Link from "next/link" - -import { Button } from "@/registry/default/ui/button" -import { Input } from "@/registry/default/ui/input" -import { Label } from "@/registry/default/ui/label" - -export const description = - "A login page with two columns. The first column has the login form with email and password. There's a Forgot your passwork link and a link to sign up if you do not have an account. The second column has a cover image." - -export const iframeHeight = "800px" - -export const containerClassName = "w-full h-full p-4 lg:p-0" - -export default function Dashboard() { - return ( -
-
-
-
-

Login

-

- Enter your email below to login to your account -

-
-
-
- - -
-
-
- - - Forgot your password? - -
- -
- - -
-
- Don't have an account?{" "} - - Sign up - -
-
-
-
- Image -
-
- ) -} diff --git a/apps/www/__registry__/default/block/chart-area-interactive.tsx b/apps/www/__registry__/default/block/chart-area-interactive.tsx deleted file mode 100644 index 3044b7357a6..00000000000 --- a/apps/www/__registry__/default/block/chart-area-interactive.tsx +++ /dev/null @@ -1,265 +0,0 @@ -"use client" - -import * as React from "react" -import { Area, AreaChart, CartesianGrid, XAxis } from "recharts" - -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { - ChartConfig, - ChartContainer, - ChartLegend, - ChartLegendContent, - ChartTooltip, - ChartTooltipContent, -} from "@/registry/default/ui/chart" -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/registry/default/ui/select" - -export const description = "An interactive area chart" - -const chartData = [ - { date: "2024-04-01", desktop: 222, mobile: 150 }, - { date: "2024-04-02", desktop: 97, mobile: 180 }, - { date: "2024-04-03", desktop: 167, mobile: 120 }, - { date: "2024-04-04", desktop: 242, mobile: 260 }, - { date: "2024-04-05", desktop: 373, mobile: 290 }, - { date: "2024-04-06", desktop: 301, mobile: 340 }, - { date: "2024-04-07", desktop: 245, mobile: 180 }, - { date: "2024-04-08", desktop: 409, mobile: 320 }, - { date: "2024-04-09", desktop: 59, mobile: 110 }, - { date: "2024-04-10", desktop: 261, mobile: 190 }, - { date: "2024-04-11", desktop: 327, mobile: 350 }, - { date: "2024-04-12", desktop: 292, mobile: 210 }, - { date: "2024-04-13", desktop: 342, mobile: 380 }, - { date: "2024-04-14", desktop: 137, mobile: 220 }, - { date: "2024-04-15", desktop: 120, mobile: 170 }, - { date: "2024-04-16", desktop: 138, mobile: 190 }, - { date: "2024-04-17", desktop: 446, mobile: 360 }, - { date: "2024-04-18", desktop: 364, mobile: 410 }, - { date: "2024-04-19", desktop: 243, mobile: 180 }, - { date: "2024-04-20", desktop: 89, mobile: 150 }, - { date: "2024-04-21", desktop: 137, mobile: 200 }, - { date: "2024-04-22", desktop: 224, mobile: 170 }, - { date: "2024-04-23", desktop: 138, mobile: 230 }, - { date: "2024-04-24", desktop: 387, mobile: 290 }, - { date: "2024-04-25", desktop: 215, mobile: 250 }, - { date: "2024-04-26", desktop: 75, mobile: 130 }, - { date: "2024-04-27", desktop: 383, mobile: 420 }, - { date: "2024-04-28", desktop: 122, mobile: 180 }, - { date: "2024-04-29", desktop: 315, mobile: 240 }, - { date: "2024-04-30", desktop: 454, mobile: 380 }, - { date: "2024-05-01", desktop: 165, mobile: 220 }, - { date: "2024-05-02", desktop: 293, mobile: 310 }, - { date: "2024-05-03", desktop: 247, mobile: 190 }, - { date: "2024-05-04", desktop: 385, mobile: 420 }, - { date: "2024-05-05", desktop: 481, mobile: 390 }, - { date: "2024-05-06", desktop: 498, mobile: 520 }, - { date: "2024-05-07", desktop: 388, mobile: 300 }, - { date: "2024-05-08", desktop: 149, mobile: 210 }, - { date: "2024-05-09", desktop: 227, mobile: 180 }, - { date: "2024-05-10", desktop: 293, mobile: 330 }, - { date: "2024-05-11", desktop: 335, mobile: 270 }, - { date: "2024-05-12", desktop: 197, mobile: 240 }, - { date: "2024-05-13", desktop: 197, mobile: 160 }, - { date: "2024-05-14", desktop: 448, mobile: 490 }, - { date: "2024-05-15", desktop: 473, mobile: 380 }, - { date: "2024-05-16", desktop: 338, mobile: 400 }, - { date: "2024-05-17", desktop: 499, mobile: 420 }, - { date: "2024-05-18", desktop: 315, mobile: 350 }, - { date: "2024-05-19", desktop: 235, mobile: 180 }, - { date: "2024-05-20", desktop: 177, mobile: 230 }, - { date: "2024-05-21", desktop: 82, mobile: 140 }, - { date: "2024-05-22", desktop: 81, mobile: 120 }, - { date: "2024-05-23", desktop: 252, mobile: 290 }, - { date: "2024-05-24", desktop: 294, mobile: 220 }, - { date: "2024-05-25", desktop: 201, mobile: 250 }, - { date: "2024-05-26", desktop: 213, mobile: 170 }, - { date: "2024-05-27", desktop: 420, mobile: 460 }, - { date: "2024-05-28", desktop: 233, mobile: 190 }, - { date: "2024-05-29", desktop: 78, mobile: 130 }, - { date: "2024-05-30", desktop: 340, mobile: 280 }, - { date: "2024-05-31", desktop: 178, mobile: 230 }, - { date: "2024-06-01", desktop: 178, mobile: 200 }, - { date: "2024-06-02", desktop: 470, mobile: 410 }, - { date: "2024-06-03", desktop: 103, mobile: 160 }, - { date: "2024-06-04", desktop: 439, mobile: 380 }, - { date: "2024-06-05", desktop: 88, mobile: 140 }, - { date: "2024-06-06", desktop: 294, mobile: 250 }, - { date: "2024-06-07", desktop: 323, mobile: 370 }, - { date: "2024-06-08", desktop: 385, mobile: 320 }, - { date: "2024-06-09", desktop: 438, mobile: 480 }, - { date: "2024-06-10", desktop: 155, mobile: 200 }, - { date: "2024-06-11", desktop: 92, mobile: 150 }, - { date: "2024-06-12", desktop: 492, mobile: 420 }, - { date: "2024-06-13", desktop: 81, mobile: 130 }, - { date: "2024-06-14", desktop: 426, mobile: 380 }, - { date: "2024-06-15", desktop: 307, mobile: 350 }, - { date: "2024-06-16", desktop: 371, mobile: 310 }, - { date: "2024-06-17", desktop: 475, mobile: 520 }, - { date: "2024-06-18", desktop: 107, mobile: 170 }, - { date: "2024-06-19", desktop: 341, mobile: 290 }, - { date: "2024-06-20", desktop: 408, mobile: 450 }, - { date: "2024-06-21", desktop: 169, mobile: 210 }, - { date: "2024-06-22", desktop: 317, mobile: 270 }, - { date: "2024-06-23", desktop: 480, mobile: 530 }, - { date: "2024-06-24", desktop: 132, mobile: 180 }, - { date: "2024-06-25", desktop: 141, mobile: 190 }, - { date: "2024-06-26", desktop: 434, mobile: 380 }, - { date: "2024-06-27", desktop: 448, mobile: 490 }, - { date: "2024-06-28", desktop: 149, mobile: 200 }, - { date: "2024-06-29", desktop: 103, mobile: 160 }, - { date: "2024-06-30", desktop: 446, mobile: 400 }, -] - -const chartConfig = { - visitors: { - label: "Visitors", - }, - desktop: { - label: "Desktop", - color: "hsl(var(--chart-1))", - }, - mobile: { - label: "Mobile", - color: "hsl(var(--chart-2))", - }, -} satisfies ChartConfig - -export default function Component() { - const [timeRange, setTimeRange] = React.useState("90d") - - const filteredData = chartData.filter((item) => { - const date = new Date(item.date) - const now = new Date() - let daysToSubtract = 90 - if (timeRange === "30d") { - daysToSubtract = 30 - } else if (timeRange === "7d") { - daysToSubtract = 7 - } - now.setDate(now.getDate() - daysToSubtract) - return date >= now - }) - - return ( - - -
- Area Chart - Interactive - - Showing total visitors for the last 3 months - -
- -
- - - - - - - - - - - - - - - { - const date = new Date(value) - return date.toLocaleDateString("en-US", { - month: "short", - day: "numeric", - }) - }} - /> - { - return new Date(value).toLocaleDateString("en-US", { - month: "short", - day: "numeric", - }) - }} - indicator="dot" - /> - } - /> - - - } /> - - - -
- ) -} diff --git a/apps/www/__registry__/default/block/chart-pie-label-custom.tsx b/apps/www/__registry__/default/block/chart-pie-label-custom.tsx deleted file mode 100644 index 647712d505b..00000000000 --- a/apps/www/__registry__/default/block/chart-pie-label-custom.tsx +++ /dev/null @@ -1,110 +0,0 @@ -"use client" - -import { TrendingUp } from "lucide-react" -import { Pie, PieChart } from "recharts" - -import { - Card, - CardContent, - CardDescription, - CardFooter, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { - ChartConfig, - ChartContainer, - ChartTooltip, - ChartTooltipContent, -} from "@/registry/default/ui/chart" - -export const description = "A pie chart with a custom label" - -const chartData = [ - { browser: "chrome", visitors: 275, fill: "var(--color-chrome)" }, - { browser: "safari", visitors: 200, fill: "var(--color-safari)" }, - { browser: "firefox", visitors: 187, fill: "var(--color-firefox)" }, - { browser: "edge", visitors: 173, fill: "var(--color-edge)" }, - { browser: "other", visitors: 90, fill: "var(--color-other)" }, -] - -const chartConfig = { - visitors: { - label: "Visitors", - }, - chrome: { - label: "Chrome", - color: "hsl(var(--chart-1))", - }, - safari: { - label: "Safari", - color: "hsl(var(--chart-2))", - }, - firefox: { - label: "Firefox", - color: "hsl(var(--chart-3))", - }, - edge: { - label: "Edge", - color: "hsl(var(--chart-4))", - }, - other: { - label: "Other", - color: "hsl(var(--chart-5))", - }, -} satisfies ChartConfig - -export default function Component() { - return ( - - - Pie Chart - Custom Label - January - June 2024 - - - - - } - /> - { - return ( - - {`${ - chartConfig[payload.browser as keyof typeof chartConfig] - ?.label - } (${payload.visitors})`} - - ) - }} - nameKey="browser" - /> - - - - -
- Trending up by 5.2% this month -
-
- Showing total visitors for the last 6 months -
-
-
- ) -} diff --git a/apps/www/__registry__/default/block/chart-pie-label-list.tsx b/apps/www/__registry__/default/block/chart-pie-label-list.tsx deleted file mode 100644 index fa5f0038ce6..00000000000 --- a/apps/www/__registry__/default/block/chart-pie-label-list.tsx +++ /dev/null @@ -1,97 +0,0 @@ -"use client" - -import { TrendingUp } from "lucide-react" -import { LabelList, Pie, PieChart } from "recharts" - -import { - Card, - CardContent, - CardDescription, - CardFooter, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { - ChartConfig, - ChartContainer, - ChartTooltip, - ChartTooltipContent, -} from "@/registry/default/ui/chart" - -export const description = "A pie chart with a label list" - -const chartData = [ - { browser: "chrome", visitors: 275, fill: "var(--color-chrome)" }, - { browser: "safari", visitors: 200, fill: "var(--color-safari)" }, - { browser: "firefox", visitors: 187, fill: "var(--color-firefox)" }, - { browser: "edge", visitors: 173, fill: "var(--color-edge)" }, - { browser: "other", visitors: 90, fill: "var(--color-other)" }, -] - -const chartConfig = { - visitors: { - label: "Visitors", - }, - chrome: { - label: "Chrome", - color: "hsl(var(--chart-1))", - }, - safari: { - label: "Safari", - color: "hsl(var(--chart-2))", - }, - firefox: { - label: "Firefox", - color: "hsl(var(--chart-3))", - }, - edge: { - label: "Edge", - color: "hsl(var(--chart-4))", - }, - other: { - label: "Other", - color: "hsl(var(--chart-5))", - }, -} satisfies ChartConfig - -export default function Component() { - return ( - - - Pie Chart - Label List - January - June 2024 - - - - - } - /> - - - chartConfig[value]?.label - } - /> - - - - - -
- Trending up by 5.2% this month -
-
- Showing total visitors for the last 6 months -
-
-
- ) -} diff --git a/apps/www/__registry__/default/block/chart-tooltip-default.tsx b/apps/www/__registry__/default/block/chart-tooltip-default.tsx deleted file mode 100644 index a4951569374..00000000000 --- a/apps/www/__registry__/default/block/chart-tooltip-default.tsx +++ /dev/null @@ -1,86 +0,0 @@ -"use client" - -import { Bar, BarChart, XAxis } from "recharts" - -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { - ChartConfig, - ChartContainer, - ChartTooltip, - ChartTooltipContent, -} from "@/registry/default/ui/chart" - -export const description = "A stacked bar chart with a legend" - -const chartData = [ - { date: "2024-07-15", running: 450, swimming: 300 }, - { date: "2024-07-16", running: 380, swimming: 420 }, - { date: "2024-07-17", running: 520, swimming: 120 }, - { date: "2024-07-18", running: 140, swimming: 550 }, - { date: "2024-07-19", running: 600, swimming: 350 }, - { date: "2024-07-20", running: 480, swimming: 400 }, -] - -const chartConfig = { - running: { - label: "Running", - color: "hsl(var(--chart-1))", - }, - swimming: { - label: "Swimming", - color: "hsl(var(--chart-2))", - }, -} satisfies ChartConfig - -export default function Component() { - return ( - - - Tooltip - Default - - Default tooltip with ChartTooltipContent. - - - - - - { - return new Date(value).toLocaleDateString("en-US", { - weekday: "short", - }) - }} - /> - - - } - cursor={false} - defaultIndex={1} - /> - - - - - ) -} diff --git a/apps/www/__registry__/default/block/chart-tooltip-indicator-line.tsx b/apps/www/__registry__/default/block/chart-tooltip-indicator-line.tsx deleted file mode 100644 index c5cc9a676dc..00000000000 --- a/apps/www/__registry__/default/block/chart-tooltip-indicator-line.tsx +++ /dev/null @@ -1,84 +0,0 @@ -"use client" - -import { Bar, BarChart, XAxis } from "recharts" - -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { - ChartConfig, - ChartContainer, - ChartTooltip, - ChartTooltipContent, -} from "@/registry/default/ui/chart" - -export const description = "A stacked bar chart with a legend" - -const chartData = [ - { date: "2024-07-15", running: 450, swimming: 300 }, - { date: "2024-07-16", running: 380, swimming: 420 }, - { date: "2024-07-17", running: 520, swimming: 120 }, - { date: "2024-07-18", running: 140, swimming: 550 }, - { date: "2024-07-19", running: 600, swimming: 350 }, - { date: "2024-07-20", running: 480, swimming: 400 }, -] - -const chartConfig = { - running: { - label: "Running", - color: "hsl(var(--chart-1))", - }, - swimming: { - label: "Swimming", - color: "hsl(var(--chart-2))", - }, -} satisfies ChartConfig - -export default function Component() { - return ( - - - Tooltip - Line Indicator - Tooltip with line indicator. - - - - - { - return new Date(value).toLocaleDateString("en-US", { - weekday: "short", - }) - }} - /> - - - } - cursor={false} - defaultIndex={1} - /> - - - - - ) -} diff --git a/apps/www/__registry__/default/block/charts-01.tsx b/apps/www/__registry__/default/block/charts-01.tsx deleted file mode 100644 index 806272513be..00000000000 --- a/apps/www/__registry__/default/block/charts-01.tsx +++ /dev/null @@ -1,871 +0,0 @@ -"use client" - -import { - Area, - AreaChart, - Bar, - BarChart, - CartesianGrid, - Label, - LabelList, - Line, - LineChart, - PolarAngleAxis, - RadialBar, - RadialBarChart, - Rectangle, - ReferenceLine, - XAxis, - YAxis, -} from "recharts" - -import { - Card, - CardContent, - CardDescription, - CardFooter, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { - ChartContainer, - ChartTooltip, - ChartTooltipContent, -} from "@/registry/default/ui/chart" -import { Separator } from "@/registry/default/ui/separator" - -export const description = "A collection of health charts." - -export const iframeHeight = "900px" - -export const containerClassName = "min-h-screen py-12" - -export default function Charts() { - return ( -
-
- - - Today - - 12,584{" "} - - steps - - - - - - - } - /> - { - return new Date(value).toLocaleDateString("en-US", { - weekday: "short", - }) - }} - /> - { - return new Date(value).toLocaleDateString("en-US", { - day: "numeric", - month: "long", - year: "numeric", - }) - }} - /> - } - cursor={false} - /> - - - - - - - - Over the past 7 days, you have walked{" "} - 53,305 steps. - - - You need{" "} - 12,584 more - steps to reach your goal. - - - - - -
- Resting HR - - 62 - - bpm - - -
-
- Variability - - 35 - - ms - - -
-
- - - - - - { - return new Date(value).toLocaleDateString("en-US", { - weekday: "short", - }) - }} - /> - - { - return new Date(value).toLocaleDateString("en-US", { - day: "numeric", - month: "long", - year: "numeric", - }) - }} - /> - } - cursor={false} - /> - - - -
-
-
- - - Progress - - You're average more steps a day this year than last year. - - - -
-
- 12,453 - - steps/day - -
- - - - - - - - - -
-
-
- 10,103 - - steps/day - -
- - - - - - - - - -
-
-
- - - Walking Distance - - Over the last 7 days, your distance walked and run was 12.5 miles - per day. - - - -
- 12.5 - - miles/day - -
- - - } - /> - - - -
-
- - - - - - - - - - - - - -
-
-
Move
-
- 562 - - kcal - -
-
- -
-
Exercise
-
- 73 - - min - -
-
- -
-
Stand
-
- 14 - - hr - -
-
-
-
-
-
-
- - -
-
-
Move
-
- 562/600 - - kcal - -
-
-
-
Exercise
-
- 73/120 - - min - -
-
-
-
Stand
-
- 8/12 - - hr - -
-
-
- - - - - - -
-
- - - Active Energy - - You're burning an average of 754 calories per day. Good job! - - - -
- 1,254 - - kcal/day - -
- - - } - /> - - - -
-
- - - Time in Bed - - 8 - - hr - - 35 - - min - - - - - - - - - - - - - - - - } - formatter={(value) => ( -
- Time in bed -
- {value} - - hr - -
-
- )} - /> -
-
-
-
-
-
- ) -} diff --git a/apps/www/__registry__/default/block/dashboard-01.tsx b/apps/www/__registry__/default/block/dashboard-01.tsx deleted file mode 100644 index 74bc72a8cde..00000000000 --- a/apps/www/__registry__/default/block/dashboard-01.tsx +++ /dev/null @@ -1,455 +0,0 @@ -import Link from "next/link" -import { - Activity, - ArrowUpRight, - CircleUser, - CreditCard, - DollarSign, - Menu, - Package2, - Search, - Users, -} from "lucide-react" - -import { - Avatar, - AvatarFallback, - AvatarImage, -} from "@/registry/default/ui/avatar" -import { Badge } from "@/registry/default/ui/badge" -import { Button } from "@/registry/default/ui/button" -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuLabel, - DropdownMenuSeparator, - DropdownMenuTrigger, -} from "@/registry/default/ui/dropdown-menu" -import { Input } from "@/registry/default/ui/input" -import { Sheet, SheetContent, SheetTrigger } from "@/registry/default/ui/sheet" -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "@/registry/default/ui/table" - -export const description = - "An application shell with a header and main content area. The header has a navbar, a search input and and a user nav dropdown. The user nav is toggled by a button with an avatar image." - -export const iframeHeight = "825px" - -export const containerClassName = "w-full h-full" - -export default function Dashboard() { - return ( -
-
- - - - - - - - - -
-
-
- - -
-
- - - - - - My Account - - Settings - Support - - Logout - - -
-
-
-
- - - - Total Revenue - - - - -
$45,231.89
-

- +20.1% from last month -

-
-
- - - - Subscriptions - - - - -
+2350
-

- +180.1% from last month -

-
-
- - - Sales - - - -
+12,234
-

- +19% from last month -

-
-
- - - Active Now - - - -
+573
-

- +201 since last hour -

-
-
-
-
- - -
- Transactions - - Recent transactions from your store. - -
- -
- - - - - Customer - - Type - - - Status - - - Date - - Amount - - - - - -
Liam Johnson
-
- liam@example.com -
-
- - Sale - - - - Approved - - - - 2023-06-23 - - $250.00 -
- - -
Olivia Smith
-
- olivia@example.com -
-
- - Refund - - - - Declined - - - - 2023-06-24 - - $150.00 -
- - -
Noah Williams
-
- noah@example.com -
-
- - Subscription - - - - Approved - - - - 2023-06-25 - - $350.00 -
- - -
Emma Brown
-
- emma@example.com -
-
- - Sale - - - - Approved - - - - 2023-06-26 - - $450.00 -
- - -
Liam Johnson
-
- liam@example.com -
-
- - Sale - - - - Approved - - - - 2023-06-27 - - $550.00 -
-
-
-
-
- - - Recent Sales - - -
- - - OM - -
-

- Olivia Martin -

-

- olivia.martin@email.com -

-
-
+$1,999.00
-
-
- - - JL - -
-

- Jackson Lee -

-

- jackson.lee@email.com -

-
-
+$39.00
-
-
- - - IN - -
-

- Isabella Nguyen -

-

- isabella.nguyen@email.com -

-
-
+$299.00
-
-
- - - WK - -
-

- William Kim -

-

- will@email.com -

-
-
+$99.00
-
-
- - - SD - -
-

- Sofia Davis -

-

- sofia.davis@email.com -

-
-
+$39.00
-
-
-
-
-
-
- ) -} diff --git a/apps/www/__registry__/default/block/dashboard-02.tsx b/apps/www/__registry__/default/block/dashboard-02.tsx deleted file mode 100644 index 10e217352a4..00000000000 --- a/apps/www/__registry__/default/block/dashboard-02.tsx +++ /dev/null @@ -1,247 +0,0 @@ -import Link from "next/link" -import { - Bell, - CircleUser, - Home, - LineChart, - Menu, - Package, - Package2, - Search, - ShoppingCart, - Users, -} from "lucide-react" - -import { Badge } from "@/registry/default/ui/badge" -import { Button } from "@/registry/default/ui/button" -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuLabel, - DropdownMenuSeparator, - DropdownMenuTrigger, -} from "@/registry/default/ui/dropdown-menu" -import { Input } from "@/registry/default/ui/input" -import { Sheet, SheetContent, SheetTrigger } from "@/registry/default/ui/sheet" - -export const description = - "A products dashboard with a sidebar navigation and a main content area. The dashboard has a header with a search input and a user menu. The sidebar has a logo, navigation links, and a card with a call to action. The main content area shows an empty state with a call to action." - -export const iframeHeight = "800px" - -export const containerClassName = "w-full h-full" - -export default function Dashboard() { - return ( -
-
-
-
- - - Acme Inc - - -
-
- -
-
- - - Upgrade to Pro - - Unlock all features and get unlimited access to our support - team. - - - - - - -
-
-
-
-
- - - - - - -
- - - Upgrade to Pro - - Unlock all features and get unlimited access to our - support team. - - - - - - -
-
-
-
-
-
- - -
-
-
- - - - - - My Account - - Settings - Support - - Logout - - -
-
-
-

Inventory

-
-
-
-

- You have no products -

-

- You can start selling as soon as you add a product. -

- -
-
-
-
-
- ) -} diff --git a/apps/www/__registry__/default/block/dashboard-03.tsx b/apps/www/__registry__/default/block/dashboard-03.tsx deleted file mode 100644 index a5bbbed32b2..00000000000 --- a/apps/www/__registry__/default/block/dashboard-03.tsx +++ /dev/null @@ -1,464 +0,0 @@ -import { - Bird, - Book, - Bot, - Code2, - CornerDownLeft, - LifeBuoy, - Mic, - Paperclip, - Rabbit, - Settings, - Settings2, - Share, - SquareTerminal, - SquareUser, - Triangle, - Turtle, -} from "lucide-react" - -import { Badge } from "@/registry/default/ui/badge" -import { Button } from "@/registry/default/ui/button" -import { - Drawer, - DrawerContent, - DrawerDescription, - DrawerHeader, - DrawerTitle, - DrawerTrigger, -} from "@/registry/default/ui/drawer" -import { Input } from "@/registry/default/ui/input" -import { Label } from "@/registry/default/ui/label" -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/registry/default/ui/select" -import { Textarea } from "@/registry/default/ui/textarea" -import { - Tooltip, - TooltipContent, - TooltipTrigger, -} from "@/registry/default/ui/tooltip" - -export const description = - "An AI playground with a sidebar navigation and a main content area. The playground has a header with a settings drawer and a share button. The sidebar has navigation links and a user menu. The main content area shows a form to configure the model and messages." - -export const iframeHeight = "740px" - -export const containerClassName = "w-full h-full" - -export default function Dashboard() { - return ( -
- -
-
-

Playground

- - - - - - - Configuration - - Configure the settings for the model and messages. - - -
-
- - Settings - -
- - -
-
- - -
-
- - -
-
- - -
-
-
- - Messages - -
- - -
-
- -