diff --git a/.github/DISCUSSION_TEMPLATE/blocks-request.yml b/.github/DISCUSSION_TEMPLATE/blocks-request.yml new file mode 100644 index 00000000000..d23ca304a3e --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/blocks-request.yml @@ -0,0 +1,25 @@ +title: "[blocks]: " +labels: ["Blocks Request"] +body: + - type: markdown + attributes: + value: | + ### Thanks for taking the time to create a block request! Please search open/closed requests before submitting, as the block or a similar one may have already been requested. + + - type: textarea + id: block-description + attributes: + label: Description + description: Tell us about your block request + placeholder: "A dashboard for an e-commerce website showing sales, orders, and customers..." + validations: + required: true + + - type: input + id: block-example-url + attributes: + label: Example + description: Link to an example of the block + placeholder: ex. https://example.com + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 1f8e283839f..52219469df4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,6 +1,6 @@ name: "Bug report" description: Report an issue -title: '[Bug]: ' +title: '[bug]: ' labels: ["bug"] body: - type: markdown diff --git a/.nvmrc b/.nvmrc index 7950a445767..8c60e1e54f3 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.17.0 +v20.5.1 diff --git a/apps/www/__registry__/default/block/authentication-01.tsx b/apps/www/__registry__/default/block/authentication-01.tsx new file mode 100644 index 00000000000..ad62585fa44 --- /dev/null +++ b/apps/www/__registry__/default/block/authentication-01.tsx @@ -0,0 +1,45 @@ +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 new file mode 100644 index 00000000000..b4ccaddd92b --- /dev/null +++ b/apps/www/__registry__/default/block/authentication-02.tsx @@ -0,0 +1,67 @@ +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 new file mode 100644 index 00000000000..65e7c939a7a --- /dev/null +++ b/apps/www/__registry__/default/block/authentication-03.tsx @@ -0,0 +1,72 @@ +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 new file mode 100644 index 00000000000..1ccce939230 --- /dev/null +++ b/apps/www/__registry__/default/block/authentication-04.tsx @@ -0,0 +1,74 @@ +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/dashboard-01.tsx b/apps/www/__registry__/default/block/dashboard-01.tsx new file mode 100644 index 00000000000..74bc72a8cde --- /dev/null +++ b/apps/www/__registry__/default/block/dashboard-01.tsx @@ -0,0 +1,455 @@ +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 new file mode 100644 index 00000000000..10e217352a4 --- /dev/null +++ b/apps/www/__registry__/default/block/dashboard-02.tsx @@ -0,0 +1,247 @@ +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 new file mode 100644 index 00000000000..ea89e0e67a9 --- /dev/null +++ b/apps/www/__registry__/default/block/dashboard-03.tsx @@ -0,0 +1,464 @@ +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 + +
+ + +
+
+ +