From 5155a5336ce1943f3cca289dbf71f0096015c531 Mon Sep 17 00:00:00 2001 From: kevinmitch14 <55989505+kevinmitch14@users.noreply.github.com> Date: Tue, 30 Jan 2024 18:54:42 -0300 Subject: [PATCH 1/5] feat: bump `cmdk` + use data attributes for styling --- .../playground/components/model-selector.tsx | 2 +- apps/www/package.json | 2 +- .../www/public/registry/styles/default/command.json | 2 +- .../public/registry/styles/new-york/command.json | 2 +- apps/www/registry/default/ui/command.tsx | 2 +- apps/www/registry/new-york/ui/command.tsx | 2 +- pnpm-lock.yaml | 13 ++++--------- 7 files changed, 10 insertions(+), 15 deletions(-) diff --git a/apps/www/app/examples/playground/components/model-selector.tsx b/apps/www/app/examples/playground/components/model-selector.tsx index 6eefef49459..c26571a11f1 100644 --- a/apps/www/app/examples/playground/components/model-selector.tsx +++ b/apps/www/app/examples/playground/components/model-selector.tsx @@ -149,7 +149,7 @@ function ModelItem({ model, isSelected, onSelect, onPeek }: ModelItemProps) { key={model.id} onSelect={onSelect} ref={ref} - className="aria-selected:bg-primary aria-selected:text-primary-foreground" + className="data-[selected]:bg-primary data-[selected]:text-primary-foreground" > {model.name} ,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n
\n \n \n
\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>((props, ref) => (\n \n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes) => {\n return (\n \n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n" + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { Search } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Dialog, DialogContent } from \"@/registry/default/ui/dialog\"\n\nconst Command = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n
\n \n \n
\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>((props, ref) => (\n \n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes) => {\n return (\n \n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n" } ], "type": "components:ui" diff --git a/apps/www/public/registry/styles/new-york/command.json b/apps/www/public/registry/styles/new-york/command.json index fc7f644f237..8072938651c 100644 --- a/apps/www/public/registry/styles/new-york/command.json +++ b/apps/www/public/registry/styles/new-york/command.json @@ -9,7 +9,7 @@ "files": [ { "name": "command.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\nimport { MagnifyingGlassIcon } from \"@radix-ui/react-icons\"\nimport { Command as CommandPrimitive } from \"cmdk\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Dialog, DialogContent } from \"@/registry/new-york/ui/dialog\"\n\nconst Command = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n
\n \n \n
\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>((props, ref) => (\n \n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes) => {\n return (\n \n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n" + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\nimport { MagnifyingGlassIcon } from \"@radix-ui/react-icons\"\nimport { Command as CommandPrimitive } from \"cmdk\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Dialog, DialogContent } from \"@/registry/new-york/ui/dialog\"\n\nconst Command = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n
\n \n \n
\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>((props, ref) => (\n \n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes) => {\n return (\n \n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n" } ], "type": "components:ui" diff --git a/apps/www/registry/default/ui/command.tsx b/apps/www/registry/default/ui/command.tsx index 40f34c13c6a..aa840b12b64 100644 --- a/apps/www/registry/default/ui/command.tsx +++ b/apps/www/registry/default/ui/command.tsx @@ -117,7 +117,7 @@ const CommandItem = React.forwardRef< =6'} dev: false - /cmdk@0.2.0(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-JQpKvEOb86SnvMZbYaFKYhvzFntWBeSZdyii0rZPhKJj9uwJBxu4DaVYDrRN7r3mPop56oPhRw+JYWTKs66TYw==} + /cmdk@0.2.1(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-U6//9lQ6JvT47+6OF6Gi8BvkxYQ8SCRRSKIJkthIMsFsLZRG0cKvTtuTaefyIKMQb8rvvXy0wGdpTNq/jPtm+g==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0) - command-score: 0.1.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -5461,10 +5460,6 @@ packages: /comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - /command-score@0.1.2: - resolution: {integrity: sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w==} - dev: false - /commander@10.0.0: resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} engines: {node: '>=14'} From 430c1b3a2f5fe2bddd4e40086a16ffd7b31dc285 Mon Sep 17 00:00:00 2001 From: kevinmitch14 <55989505+kevinmitch14@users.noreply.github.com> Date: Fri, 8 Mar 2024 10:52:38 -0300 Subject: [PATCH 2/5] refactor: bump again --- .../playground/components/model-selector.tsx | 2 +- apps/www/package.json | 2 +- .../registry/styles/default/command.json | 2 +- .../registry/styles/new-york/command.json | 2 +- apps/www/registry/default/ui/command.tsx | 2 +- apps/www/registry/new-york/ui/command.tsx | 2 +- pnpm-lock.yaml | 244 +++--------------- 7 files changed, 44 insertions(+), 212 deletions(-) diff --git a/apps/www/app/examples/playground/components/model-selector.tsx b/apps/www/app/examples/playground/components/model-selector.tsx index c26571a11f1..98cffaf6129 100644 --- a/apps/www/app/examples/playground/components/model-selector.tsx +++ b/apps/www/app/examples/playground/components/model-selector.tsx @@ -149,7 +149,7 @@ function ModelItem({ model, isSelected, onSelect, onPeek }: ModelItemProps) { key={model.id} onSelect={onSelect} ref={ref} - className="data-[selected]:bg-primary data-[selected]:text-primary-foreground" + className="data-[selected=true]:bg-primary data-[selected=true]:text-primary-foreground" > {model.name} ,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n
\n \n \n
\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>((props, ref) => (\n \n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes) => {\n return (\n \n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n" + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { Search } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Dialog, DialogContent } from \"@/registry/default/ui/dialog\"\n\nconst Command = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n
\n \n \n
\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>((props, ref) => (\n \n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes) => {\n return (\n \n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n" } ], "type": "components:ui" diff --git a/apps/www/public/registry/styles/new-york/command.json b/apps/www/public/registry/styles/new-york/command.json index 8072938651c..87be16f4933 100644 --- a/apps/www/public/registry/styles/new-york/command.json +++ b/apps/www/public/registry/styles/new-york/command.json @@ -9,7 +9,7 @@ "files": [ { "name": "command.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\nimport { MagnifyingGlassIcon } from \"@radix-ui/react-icons\"\nimport { Command as CommandPrimitive } from \"cmdk\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Dialog, DialogContent } from \"@/registry/new-york/ui/dialog\"\n\nconst Command = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n
\n \n \n
\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>((props, ref) => (\n \n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes) => {\n return (\n \n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n" + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\nimport { MagnifyingGlassIcon } from \"@radix-ui/react-icons\"\nimport { Command as CommandPrimitive } from \"cmdk\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Dialog, DialogContent } from \"@/registry/new-york/ui/dialog\"\n\nconst Command = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n
\n \n \n
\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>((props, ref) => (\n \n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes) => {\n return (\n \n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n" } ], "type": "components:ui" diff --git a/apps/www/registry/default/ui/command.tsx b/apps/www/registry/default/ui/command.tsx index aa840b12b64..870be1f959c 100644 --- a/apps/www/registry/default/ui/command.tsx +++ b/apps/www/registry/default/ui/command.tsx @@ -117,7 +117,7 @@ const CommandItem = React.forwardRef< =6'} dev: false - /cmdk@0.2.1(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-U6//9lQ6JvT47+6OF6Gi8BvkxYQ8SCRRSKIJkthIMsFsLZRG0cKvTtuTaefyIKMQb8rvvXy0wGdpTNq/jPtm+g==} + /cmdk@1.0.0(@types/react-dom@18.2.4)(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-gDzVf0a09TvoJ5jnuPvygTB77+XdOSwEmJ88L6XPFPlv7T3RxbP9jgenfylrAMD0+Le1aO0nVjQUzl2g+vjz5Q==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.4)(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.4)(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - '@types/react' + - '@types/react-dom' dev: false /code-block-writer@12.0.0: @@ -9896,25 +9747,6 @@ packages: tslib: 2.5.2 dev: false - /react-remove-scroll@2.5.4(@types/react@18.2.7)(react@18.2.0): - resolution: {integrity: sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.7 - react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.7)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.7)(react@18.2.0) - tslib: 2.6.0 - use-callback-ref: 1.3.0(@types/react@18.2.7)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.7)(react@18.2.0) - dev: false - /react-remove-scroll@2.5.5(@types/react@18.2.7)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} From d74be6bb60f92078b726aa379cbe612b7038603b Mon Sep 17 00:00:00 2001 From: kevinmitch14 <55989505+kevinmitch14@users.noreply.github.com> Date: Sun, 2 Jun 2024 13:56:02 -0400 Subject: [PATCH 3/5] Merge remote-tracking branch 'upstream/main' into cmdk-bump-and-styles --- .../DISCUSSION_TEMPLATE/blocks-request.yml | 25 + .github/ISSUE_TEMPLATE/bug_report.yml | 85 + .github/ISSUE_TEMPLATE/config.yml | 5 + .github/ISSUE_TEMPLATE/feature_request.yml | 55 + .github/workflows/issue-stale.yml | 3 +- .nvmrc | 2 +- .../default/block/authentication-01.tsx | 45 + .../default/block/authentication-02.tsx | 67 + .../default/block/authentication-03.tsx | 72 + .../default/block/authentication-04.tsx | 74 + .../default/block/dashboard-01.tsx | 455 ++++ .../default/block/dashboard-02.tsx | 247 ++ .../default/block/dashboard-03.tsx | 464 ++++ .../default/block/dashboard-04.tsx | 223 ++ .../default/block/dashboard-05.tsx | 720 +++++ .../default/block/dashboard-06.tsx | 637 +++++ .../default/block/dashboard-07.tsx | 610 +++++ .../default/example/accordion-demo.tsx | 33 + .../default/example/alert-demo.tsx | 19 + .../default/example/alert-destructive.tsx | 19 + .../default/example/alert-dialog-demo.tsx | 35 + .../default/example/aspect-ratio-demo.tsx | 16 + .../default/example/avatar-demo.tsx | 14 + .../default/example/badge-demo.tsx | 5 + .../default/example/badge-destructive.tsx | 5 + .../default/example/badge-outline.tsx | 5 + .../default/example/badge-secondary.tsx | 5 + .../default/example/breadcrumb-demo.tsx | 49 + .../default/example/breadcrumb-dropdown.tsx | 50 + .../default/example/breadcrumb-ellipsis.tsx | 39 + .../default/example/breadcrumb-link.tsx | 34 + .../default/example/breadcrumb-responsive.tsx | 133 + .../default/example/breadcrumb-separator.tsx | 34 + .../default/example/button-as-child.tsx | 11 + .../default/example/button-demo.tsx | 5 + .../default/example/button-destructive.tsx | 5 + .../default/example/button-ghost.tsx | 5 + .../default/example/button-icon.tsx | 11 + .../default/example/button-link.tsx | 5 + .../default/example/button-loading.tsx | 12 + .../default/example/button-outline.tsx | 5 + .../default/example/button-secondary.tsx | 5 + .../default/example/button-with-icon.tsx | 11 + .../default/example/calendar-demo.tsx | 18 + .../default/example/calendar-form.tsx | 101 + .../default/example/card-demo.tsx | 78 + .../default/example/card-with-form.tsx | 59 + .../default/example/carousel-api.tsx | 54 + .../default/example/carousel-demo.tsx | 32 + .../default/example/carousel-orientation.tsx | 38 + .../default/example/carousel-plugin.tsx | 42 + .../default/example/carousel-size.tsx | 37 + .../default/example/carousel-spacing.tsx | 32 + .../default/example/checkbox-demo.tsx | 17 + .../default/example/checkbox-disabled.tsx | 15 + .../example/checkbox-form-multiple.tsx | 127 + .../default/example/checkbox-form-single.tsx | 73 + .../default/example/checkbox-with-text.tsx | 22 + .../default/example/collapsible-demo.tsx | 46 + .../default/example/combobox-demo.tsx | 91 + .../example/combobox-dropdown-menu.tsx | 111 + .../default/example/combobox-form.tsx | 135 + .../default/example/combobox-popover.tsx | 125 + .../default/example/combobox-responsive.tsx | 123 + .../default/example/command-demo.tsx | 62 + .../default/example/command-dialog.tsx | 87 + .../default/example/context-menu-demo.tsx | 67 + .../default/example/data-table-demo.tsx | 312 +++ .../default/example/date-picker-demo.tsx | 43 + .../default/example/date-picker-form.tsx | 101 + .../example/date-picker-with-presets.tsx | 62 + .../example/date-picker-with-range.tsx | 65 + .../default/example/dialog-close-button.tsx | 56 + .../default/example/dialog-demo.tsx | 55 + .../default/example/drawer-demo.tsx | 134 + .../default/example/drawer-dialog.tsx | 87 + .../example/dropdown-menu-checkboxes.tsx | 53 + .../default/example/dropdown-menu-demo.tsx | 122 + .../example/dropdown-menu-radio-group.tsx | 35 + .../default/example/hover-card-demo.tsx | 43 + .../default/example/input-demo.tsx | 5 + .../default/example/input-disabled.tsx | 5 + .../default/example/input-file.tsx | 11 + .../default/example/input-form.tsx | 68 + .../default/example/input-otp-controlled.tsx | 39 + .../default/example/input-otp-demo.tsx | 24 + .../default/example/input-otp-form.tsx | 82 + .../default/example/input-otp-pattern.tsx | 22 + .../default/example/input-otp-separator.tsx | 29 + .../default/example/input-with-button.tsx | 11 + .../default/example/input-with-label.tsx | 11 + .../default/example/input-with-text.tsx | 12 + .../default/example/label-demo.tsx | 13 + .../default/example/menubar-demo.tsx | 107 + .../default/example/mode-toggle.tsx | 40 + .../default/example/navigation-menu-demo.tsx | 146 ++ .../default/example/pagination-demo.tsx | 38 + .../default/example/popover-demo.tsx | 62 + .../default/example/progress-demo.tsx | 16 + .../default/example/radio-group-demo.tsx | 21 + .../default/example/radio-group-form.tsx | 88 + .../example/resizable-demo-with-handle.tsx | 36 + .../default/example/resizable-demo.tsx | 36 + .../default/example/resizable-handle.tsx | 26 + .../default/example/resizable-vertical.tsx | 26 + .../default/example/scroll-area-demo.tsx | 26 + .../example/scroll-area-horizontal-demo.tsx | 53 + .../default/example/select-demo.tsx | 31 + .../default/example/select-form.tsx | 84 + .../default/example/select-scrollable.tsx | 75 + .../default/example/separator-demo.tsx | 22 + .../default/example/sheet-demo.tsx | 50 + .../default/example/sheet-side.tsx | 60 + .../default/example/skeleton-card.tsx | 13 + .../default/example/skeleton-demo.tsx | 13 + .../default/example/slider-demo.tsx | 16 + .../default/example/sonner-demo.tsx | 22 + .../default/example/switch-demo.tsx | 11 + .../default/example/switch-form.tsx | 99 + .../default/example/table-demo.tsx | 87 + .../default/example/tabs-demo.tsx | 74 + .../default/example/textarea-demo.tsx | 5 + .../default/example/textarea-disabled.tsx | 5 + .../default/example/textarea-form.tsx | 74 + .../default/example/textarea-with-button.tsx | 11 + .../default/example/textarea-with-label.tsx | 11 + .../default/example/textarea-with-text.tsx | 14 + .../default/example/toast-demo.tsx | 26 + .../default/example/toast-destructive.tsx | 25 + .../default/example/toast-simple.tsx | 21 + .../default/example/toast-with-action.tsx | 24 + .../default/example/toast-with-title.tsx | 22 + .../default/example/toggle-demo.tsx | 11 + .../default/example/toggle-disabled.tsx | 11 + .../default/example/toggle-group-demo.tsx | 22 + .../default/example/toggle-group-disabled.tsx | 22 + .../default/example/toggle-group-lg.tsx | 22 + .../default/example/toggle-group-outline.tsx | 22 + .../default/example/toggle-group-single.tsx | 22 + .../default/example/toggle-group-sm.tsx | 22 + .../default/example/toggle-lg.tsx | 11 + .../default/example/toggle-outline.tsx | 11 + .../default/example/toggle-sm.tsx | 11 + .../default/example/toggle-with-text.tsx | 12 + .../default/example/tooltip-demo.tsx | 22 + .../default/example/typography-blockquote.tsx | 8 + .../default/example/typography-demo.tsx | 119 + .../default/example/typography-h1.tsx | 7 + .../default/example/typography-h2.tsx | 7 + .../default/example/typography-h3.tsx | 7 + .../default/example/typography-h4.tsx | 7 + .../example/typography-inline-code.tsx | 7 + .../default/example/typography-large.tsx | 3 + .../default/example/typography-lead.tsx | 8 + .../default/example/typography-list.tsx | 9 + .../default/example/typography-muted.tsx | 5 + .../default/example/typography-p.tsx | 8 + .../default/example/typography-small.tsx | 5 + .../default/example/typography-table.tsx | 44 + .../www/__registry__/default/ui/accordion.tsx | 58 + .../__registry__/default/ui/alert-dialog.tsx | 141 + apps/www/__registry__/default/ui/alert.tsx | 59 + .../__registry__/default/ui/aspect-ratio.tsx | 7 + apps/www/__registry__/default/ui/avatar.tsx | 50 + apps/www/__registry__/default/ui/badge.tsx | 36 + .../__registry__/default/ui/breadcrumb.tsx | 115 + apps/www/__registry__/default/ui/button.tsx | 56 + apps/www/__registry__/default/ui/calendar.tsx | 66 + apps/www/__registry__/default/ui/card.tsx | 79 + apps/www/__registry__/default/ui/carousel.tsx | 262 ++ apps/www/__registry__/default/ui/checkbox.tsx | 30 + .../__registry__/default/ui/collapsible.tsx | 11 + apps/www/__registry__/default/ui/command.tsx | 155 ++ .../__registry__/default/ui/context-menu.tsx | 200 ++ apps/www/__registry__/default/ui/dialog.tsx | 122 + apps/www/__registry__/default/ui/drawer.tsx | 118 + .../__registry__/default/ui/dropdown-menu.tsx | 200 ++ apps/www/__registry__/default/ui/form.tsx | 176 ++ .../__registry__/default/ui/hover-card.tsx | 29 + .../www/__registry__/default/ui/input-otp.tsx | 71 + apps/www/__registry__/default/ui/input.tsx | 25 + apps/www/__registry__/default/ui/label.tsx | 26 + apps/www/__registry__/default/ui/menubar.tsx | 236 ++ .../default/ui/navigation-menu.tsx | 128 + .../__registry__/default/ui/pagination.tsx | 117 + apps/www/__registry__/default/ui/popover.tsx | 31 + apps/www/__registry__/default/ui/progress.tsx | 28 + .../__registry__/default/ui/radio-group.tsx | 44 + .../www/__registry__/default/ui/resizable.tsx | 45 + .../__registry__/default/ui/scroll-area.tsx | 48 + apps/www/__registry__/default/ui/select.tsx | 160 ++ .../www/__registry__/default/ui/separator.tsx | 31 + apps/www/__registry__/default/ui/sheet.tsx | 140 + apps/www/__registry__/default/ui/skeleton.tsx | 15 + apps/www/__registry__/default/ui/slider.tsx | 28 + apps/www/__registry__/default/ui/sonner.tsx | 31 + apps/www/__registry__/default/ui/switch.tsx | 29 + apps/www/__registry__/default/ui/table.tsx | 117 + apps/www/__registry__/default/ui/tabs.tsx | 55 + apps/www/__registry__/default/ui/textarea.tsx | 24 + apps/www/__registry__/default/ui/toast.tsx | 129 + .../__registry__/default/ui/toggle-group.tsx | 61 + apps/www/__registry__/default/ui/toggle.tsx | 45 + apps/www/__registry__/default/ui/tooltip.tsx | 30 + apps/www/__registry__/index.tsx | 2336 +++++++++++++++++ .../new-york/block/authentication-01.tsx | 45 + .../new-york/block/authentication-02.tsx | 67 + .../new-york/block/authentication-03.tsx | 72 + .../new-york/block/authentication-04.tsx | 74 + .../new-york/block/dashboard-01.tsx | 455 ++++ .../new-york/block/dashboard-02.tsx | 247 ++ .../new-york/block/dashboard-03.tsx | 464 ++++ .../new-york/block/dashboard-04.tsx | 223 ++ .../new-york/block/dashboard-05.tsx | 721 +++++ .../new-york/block/dashboard-06.tsx | 623 +++++ .../new-york/block/dashboard-07.tsx | 610 +++++ apps/www/actions/edit-in-v0.ts | 50 + apps/www/app/(app)/blocks/layout.tsx | 52 + apps/www/app/(app)/blocks/page.tsx | 10 + .../app/{ => (app)}/docs/[[...slug]]/page.tsx | 0 apps/www/app/{ => (app)}/docs/layout.tsx | 0 .../components/user-auth-form.tsx | 0 .../examples/authentication/page.tsx | 2 +- .../cards/components/cookie-settings.tsx | 0 .../cards/components/create-account.tsx | 0 .../examples/cards/components/date-picker.tsx | 0 .../examples/cards/components/github-card.tsx | 0 .../cards/components/notifications.tsx | 0 .../cards/components/payment-method.tsx | 0 .../cards/components/report-an-issue.tsx | 0 .../cards/components/share-document.tsx | 0 .../cards/components/team-members.tsx | 0 .../app/{ => (app)}/examples/cards/page.tsx | 0 .../components/date-range-picker.tsx | 0 .../dashboard/components/main-nav.tsx | 0 .../dashboard/components/overview.tsx | 0 .../dashboard/components/recent-sales.tsx | 0 .../examples/dashboard/components/search.tsx | 0 .../dashboard/components/team-switcher.tsx | 0 .../dashboard/components/user-nav.tsx | 0 .../{ => (app)}/examples/dashboard/page.tsx | 14 +- .../examples/forms/account/account-form.tsx | 0 .../examples/forms/account/page.tsx | 2 +- .../forms/appearance/appearance-form.tsx | 0 .../examples/forms/appearance/page.tsx | 2 +- .../examples/forms/components/sidebar-nav.tsx | 0 .../examples/forms/display/display-form.tsx | 0 .../examples/forms/display/page.tsx | 2 +- .../app/{ => (app)}/examples/forms/layout.tsx | 2 +- .../notifications/notifications-form.tsx | 0 .../examples/forms/notifications/page.tsx | 2 +- .../app/{ => (app)}/examples/forms/page.tsx | 2 +- .../examples/forms/profile-form.tsx | 0 apps/www/app/(app)/examples/layout.tsx | 60 + .../mail/components/account-switcher.tsx | 0 .../examples/mail/components/mail-display.tsx | 2 +- .../examples/mail/components/mail-list.tsx | 4 +- .../examples/mail/components/mail.tsx | 48 +- .../examples/mail/components/nav.tsx | 0 .../app/{ => (app)}/examples/mail/data.tsx | 0 .../app/{ => (app)}/examples/mail/page.tsx | 4 +- .../app/{ => (app)}/examples/mail/use-mail.ts | 2 +- .../music/components/album-artwork.tsx | 0 .../examples/music/components/menu.tsx | 0 .../components/podcast-empty-placeholder.tsx | 0 .../examples/music/components/sidebar.tsx | 0 .../{ => (app)}/examples/music/data/albums.ts | 0 .../examples/music/data/playlists.ts | 0 .../app/{ => (app)}/examples/music/page.tsx | 0 .../playground/components/code-viewer.tsx | 0 .../components/maxlength-selector.tsx | 0 .../playground/components/model-selector.tsx | 0 .../playground/components/preset-actions.tsx | 0 .../playground/components/preset-save.tsx | 0 .../playground/components/preset-selector.tsx | 0 .../playground/components/preset-share.tsx | 0 .../components/temperature-selector.tsx | 0 .../playground/components/top-p-selector.tsx | 0 .../examples/playground/data/models.ts | 0 .../examples/playground/data/presets.ts | 0 .../{ => (app)}/examples/playground/page.tsx | 0 .../examples/tasks/components/columns.tsx | 0 .../components/data-table-column-header.tsx | 0 .../components/data-table-faceted-filter.tsx | 0 .../components/data-table-pagination.tsx | 0 .../components/data-table-row-actions.tsx | 0 .../tasks/components/data-table-toolbar.tsx | 2 +- .../components/data-table-view-options.tsx | 0 .../examples/tasks/components/data-table.tsx | 4 +- .../examples/tasks/components/user-nav.tsx | 0 .../{ => (app)}/examples/tasks/data/data.tsx | 0 .../{ => (app)}/examples/tasks/data/schema.ts | 0 .../{ => (app)}/examples/tasks/data/seed.ts | 0 .../examples/tasks/data/tasks.json | 0 .../app/{ => (app)}/examples/tasks/page.tsx | 2 +- apps/www/app/(app)/layout.tsx | 16 + apps/www/app/{ => (app)}/page.tsx | 4 +- apps/www/app/{ => (app)}/sink/layout.tsx | 0 .../app/{ => (app)}/sink/new-york/page.tsx | 0 apps/www/app/{ => (app)}/sink/page.tsx | 0 apps/www/app/{ => (app)}/themes/page.tsx | 2 +- apps/www/app/{ => (app)}/themes/tabs.tsx | 0 .../(blocks)/blocks/[style]/[name]/page.tsx | 107 + apps/www/app/examples/layout.tsx | 65 - apps/www/app/layout.tsx | 8 +- apps/www/components/announcement.tsx | 9 +- apps/www/components/block-chunk.tsx | 65 + apps/www/components/block-copy-button.tsx | 58 + apps/www/components/block-display.tsx | 29 + apps/www/components/block-preview.tsx | 92 + apps/www/components/block-toolbar.tsx | 198 ++ apps/www/components/block-wrapper.tsx | 69 + apps/www/components/component-preview.tsx | 26 +- apps/www/components/copy-button.tsx | 21 +- apps/www/components/examples-nav.tsx | 16 +- apps/www/components/main-nav.tsx | 13 +- apps/www/components/mdx-components.tsx | 1 + apps/www/components/page-header.tsx | 4 +- apps/www/components/providers.tsx | 9 +- apps/www/components/style-switcher.tsx | 3 +- apps/www/components/v0-button.tsx | 189 ++ apps/www/config/docs.ts | 31 +- apps/www/content/docs/changelog.mdx | 146 ++ .../www/content/docs/components/accordion.mdx | 1 + .../content/docs/components/alert-dialog.mdx | 5 +- apps/www/content/docs/components/alert.mdx | 15 +- apps/www/content/docs/components/avatar.mdx | 2 +- apps/www/content/docs/components/badge.mdx | 16 +- .../content/docs/components/breadcrumb.mdx | 212 ++ apps/www/content/docs/components/button.mdx | 40 +- apps/www/content/docs/components/card.mdx | 7 +- apps/www/content/docs/components/checkbox.mdx | 9 +- .../content/docs/components/collapsible.mdx | 5 +- apps/www/content/docs/components/command.mdx | 1 + .../content/docs/components/context-menu.mdx | 5 +- .../content/docs/components/data-table.mdx | 6 +- apps/www/content/docs/components/dialog.mdx | 5 +- .../content/docs/components/dropdown-menu.mdx | 15 +- .../content/docs/components/hover-card.mdx | 2 +- .../www/content/docs/components/input-otp.mdx | 276 ++ apps/www/content/docs/components/input.mdx | 36 +- apps/www/content/docs/components/label.mdx | 2 +- .../content/docs/components/pagination.mdx | 5 +- apps/www/content/docs/components/popover.mdx | 5 +- .../content/docs/components/radio-group.mdx | 5 +- .../www/content/docs/components/resizable.mdx | 15 +- apps/www/content/docs/components/select.mdx | 10 +- .../www/content/docs/components/separator.mdx | 2 +- apps/www/content/docs/components/sheet.mdx | 2 +- apps/www/content/docs/components/skeleton.mdx | 7 +- apps/www/content/docs/components/slider.mdx | 2 +- apps/www/content/docs/components/switch.mdx | 2 +- apps/www/content/docs/components/tabs.mdx | 5 +- apps/www/content/docs/components/textarea.mdx | 22 +- .../content/docs/components/toggle-group.mdx | 35 +- apps/www/content/docs/components/toggle.mdx | 23 +- apps/www/content/docs/components/tooltip.mdx | 2 +- .../content/docs/components/typography.mdx | 3 +- apps/www/content/docs/installation/next.mdx | 11 +- apps/www/contentlayer.config.js | 2 +- apps/www/hooks/use-config.ts | 2 +- apps/www/hooks/use-lift-mode.ts | 21 + apps/www/lib/blocks.ts | 148 ++ apps/www/lib/events.ts | 3 + apps/www/lib/highlight-code.ts | 35 + apps/www/lib/utils.ts | 1 + apps/www/package.json | 34 +- apps/www/public/images/dashboard-1-dark.jpg | Bin 0 -> 186693 bytes apps/www/public/images/dashboard-1.jpg | Bin 0 -> 159643 bytes apps/www/public/images/dashboard-2-dark.jpg | Bin 0 -> 114718 bytes apps/www/public/images/dashboard-2.jpg | Bin 0 -> 101104 bytes apps/www/public/images/dashboard-3-dark.jpg | Bin 0 -> 117282 bytes apps/www/public/images/dashboard-3.jpg | Bin 0 -> 105382 bytes apps/www/public/images/lift-mode-dark.png | Bin 0 -> 372487 bytes apps/www/public/images/lift-mode-light.png | Bin 0 -> 364645 bytes apps/www/public/placeholder-logo.svg | 1 + apps/www/public/placeholder-user.jpg | Bin 0 -> 1635 bytes apps/www/public/placeholder.svg | 1 + apps/www/public/registry/colors/gray.json | 4 +- apps/www/public/registry/colors/neutral.json | 4 +- apps/www/public/registry/colors/slate.json | 4 +- apps/www/public/registry/colors/stone.json | 4 +- apps/www/public/registry/colors/zinc.json | 4 +- apps/www/public/registry/index.json | 20 + .../registry/styles/default/breadcrumb.json | 13 + .../registry/styles/default/input-otp.json | 13 + .../public/registry/styles/default/toast.json | 4 +- .../registry/styles/new-york/breadcrumb.json | 13 + .../registry/styles/new-york/calendar.json | 2 +- .../registry/styles/new-york/input-otp.json | 13 + .../registry/styles/new-york/toast.json | 4 +- apps/www/public/registry/themes.css | 1534 +++++------ apps/www/registry/blocks.ts | 140 + .../default/block/authentication-01.tsx | 45 + .../default/block/authentication-02.tsx | 67 + .../default/block/authentication-03.tsx | 72 + .../default/block/authentication-04.tsx | 74 + .../default/block/dashboard-01-chunk-0.tsx | 23 + .../default/block/dashboard-01-chunk-1.tsx | 23 + .../default/block/dashboard-01-chunk-2.tsx | 23 + .../default/block/dashboard-01-chunk-3.tsx | 23 + .../default/block/dashboard-01-chunk-4.tsx | 148 ++ .../default/block/dashboard-01-chunk-5.tsx | 86 + .../registry/default/block/dashboard-01.tsx | 458 ++++ .../default/block/dashboard-02-chunk-0.tsx | 26 + .../default/block/dashboard-02-chunk-1.tsx | 20 + .../registry/default/block/dashboard-02.tsx | 247 ++ .../default/block/dashboard-03-chunk-0.tsx | 126 + .../default/block/dashboard-03-chunk-1.tsx | 52 + .../registry/default/block/dashboard-03.tsx | 464 ++++ .../default/block/dashboard-04-chunk-0.tsx | 19 + .../default/block/dashboard-04-chunk-1.tsx | 31 + .../default/block/dashboard-04-chunk-2.tsx | 41 + .../registry/default/block/dashboard-04.tsx | 224 ++ .../default/block/dashboard-05-chunk-0.tsx | 25 + .../default/block/dashboard-05-chunk-1.tsx | 26 + .../default/block/dashboard-05-chunk-2.tsx | 28 + .../default/block/dashboard-05-chunk-3.tsx | 172 ++ .../default/block/dashboard-05-chunk-4.tsx | 187 ++ .../registry/default/block/dashboard-05.tsx | 726 +++++ .../default/block/dashboard-06-chunk-0.tsx | 287 ++ .../registry/default/block/dashboard-06.tsx | 637 +++++ .../default/block/dashboard-07-chunk-0.tsx | 44 + .../default/block/dashboard-07-chunk-1.tsx | 124 + .../default/block/dashboard-07-chunk-2.tsx | 54 + .../default/block/dashboard-07-chunk-3.tsx | 41 + .../default/block/dashboard-07-chunk-4.tsx | 58 + .../default/block/dashboard-07-chunk-5.tsx | 27 + .../registry/default/block/dashboard-07.tsx | 610 +++++ .../default/example/breadcrumb-demo.tsx | 49 + .../default/example/breadcrumb-dropdown.tsx | 50 + .../default/example/breadcrumb-ellipsis.tsx | 39 + .../default/example/breadcrumb-link.tsx | 34 + .../default/example/breadcrumb-responsive.tsx | 133 + .../default/example/breadcrumb-separator.tsx | 34 + .../registry/default/example/carousel-api.tsx | 1 - .../default/example/input-otp-controlled.tsx | 39 + .../default/example/input-otp-demo.tsx | 24 + .../default/example/input-otp-form.tsx | 82 + .../default/example/input-otp-pattern.tsx | 22 + .../default/example/input-otp-separator.tsx | 29 + apps/www/registry/default/ui/breadcrumb.tsx | 115 + apps/www/registry/default/ui/input-otp.tsx | 71 + apps/www/registry/default/ui/toast.tsx | 2 + apps/www/registry/default/ui/use-toast.ts | 2 + apps/www/registry/examples.ts | 850 ++++++ .../new-york/block/authentication-01.tsx | 45 + .../new-york/block/authentication-02.tsx | 67 + .../new-york/block/authentication-03.tsx | 72 + .../new-york/block/authentication-04.tsx | 74 + .../new-york/block/dashboard-01-chunk-0.tsx | 23 + .../new-york/block/dashboard-01-chunk-1.tsx | 23 + .../new-york/block/dashboard-01-chunk-2.tsx | 23 + .../new-york/block/dashboard-01-chunk-3.tsx | 23 + .../new-york/block/dashboard-01-chunk-4.tsx | 148 ++ .../new-york/block/dashboard-01-chunk-5.tsx | 86 + .../registry/new-york/block/dashboard-01.tsx | 458 ++++ .../new-york/block/dashboard-02-chunk-0.tsx | 26 + .../new-york/block/dashboard-02-chunk-1.tsx | 20 + .../registry/new-york/block/dashboard-02.tsx | 247 ++ .../new-york/block/dashboard-03-chunk-0.tsx | 126 + .../new-york/block/dashboard-03-chunk-1.tsx | 52 + .../registry/new-york/block/dashboard-03.tsx | 464 ++++ .../new-york/block/dashboard-04-chunk-0.tsx | 19 + .../new-york/block/dashboard-04-chunk-1.tsx | 31 + .../new-york/block/dashboard-04-chunk-2.tsx | 41 + .../registry/new-york/block/dashboard-04.tsx | 224 ++ .../new-york/block/dashboard-05-chunk-0.tsx | 25 + .../new-york/block/dashboard-05-chunk-1.tsx | 26 + .../new-york/block/dashboard-05-chunk-2.tsx | 28 + .../new-york/block/dashboard-05-chunk-3.tsx | 176 ++ .../new-york/block/dashboard-05-chunk-4.tsx | 187 ++ .../new-york/block/dashboard-05-chunk-5.tsx | 187 ++ .../registry/new-york/block/dashboard-05.tsx | 727 +++++ .../new-york/block/dashboard-06-chunk-0.tsx | 34 + .../new-york/block/dashboard-06-chunk-1.tsx | 287 ++ .../registry/new-york/block/dashboard-06.tsx | 623 +++++ .../new-york/block/dashboard-07-chunk-0.tsx | 44 + .../new-york/block/dashboard-07-chunk-1.tsx | 124 + .../new-york/block/dashboard-07-chunk-2.tsx | 54 + .../new-york/block/dashboard-07-chunk-3.tsx | 41 + .../new-york/block/dashboard-07-chunk-4.tsx | 58 + .../new-york/block/dashboard-07-chunk-5.tsx | 27 + .../registry/new-york/block/dashboard-07.tsx | 610 +++++ .../new-york/example/breadcrumb-demo.tsx | 49 + .../new-york/example/breadcrumb-dropdown.tsx | 50 + .../new-york/example/breadcrumb-ellipsis.tsx | 39 + .../new-york/example/breadcrumb-link.tsx | 34 + .../example/breadcrumb-responsive.tsx | 133 + .../new-york/example/breadcrumb-separator.tsx | 34 + .../new-york/example/input-otp-controlled.tsx | 39 + .../new-york/example/input-otp-demo.tsx | 24 + .../new-york/example/input-otp-form.tsx | 82 + .../new-york/example/input-otp-pattern.tsx | 22 + .../new-york/example/input-otp-separator.tsx | 29 + .../example/resizable-demo-with-handle.tsx | 2 +- apps/www/registry/new-york/ui/breadcrumb.tsx | 115 + apps/www/registry/new-york/ui/calendar.tsx | 2 +- apps/www/registry/new-york/ui/input-otp.tsx | 71 + apps/www/registry/new-york/ui/toast.tsx | 2 + apps/www/registry/new-york/ui/use-toast.ts | 4 +- apps/www/registry/registry.ts | 1054 +------- apps/www/registry/schema.ts | 67 +- apps/www/registry/ui.ts | 279 ++ apps/www/scripts/build-registry.mts | 642 +++++ apps/www/scripts/build-registry.ts | 430 --- apps/www/styles/globals.css | 12 + apps/www/styles/mdx.css | 6 +- apps/www/tsconfig.json | 2 +- apps/www/tsconfig.scripts.json | 3 +- package.json | 10 +- pnpm-lock.yaml | 1738 ++++++------ tailwind.config.cjs | 5 + templates/next-template/components/icons.tsx | 7 +- templates/next-template/package.json | 14 +- turbo.json | 5 +- 516 files changed, 37414 insertions(+), 3477 deletions(-) create mode 100644 .github/DISCUSSION_TEMPLATE/blocks-request.yml create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 apps/www/__registry__/default/block/authentication-01.tsx create mode 100644 apps/www/__registry__/default/block/authentication-02.tsx create mode 100644 apps/www/__registry__/default/block/authentication-03.tsx create mode 100644 apps/www/__registry__/default/block/authentication-04.tsx create mode 100644 apps/www/__registry__/default/block/dashboard-01.tsx create mode 100644 apps/www/__registry__/default/block/dashboard-02.tsx create mode 100644 apps/www/__registry__/default/block/dashboard-03.tsx create mode 100644 apps/www/__registry__/default/block/dashboard-04.tsx create mode 100644 apps/www/__registry__/default/block/dashboard-05.tsx create mode 100644 apps/www/__registry__/default/block/dashboard-06.tsx create mode 100644 apps/www/__registry__/default/block/dashboard-07.tsx create mode 100644 apps/www/__registry__/default/example/accordion-demo.tsx create mode 100644 apps/www/__registry__/default/example/alert-demo.tsx create mode 100644 apps/www/__registry__/default/example/alert-destructive.tsx create mode 100644 apps/www/__registry__/default/example/alert-dialog-demo.tsx create mode 100644 apps/www/__registry__/default/example/aspect-ratio-demo.tsx create mode 100644 apps/www/__registry__/default/example/avatar-demo.tsx create mode 100644 apps/www/__registry__/default/example/badge-demo.tsx create mode 100644 apps/www/__registry__/default/example/badge-destructive.tsx create mode 100644 apps/www/__registry__/default/example/badge-outline.tsx create mode 100644 apps/www/__registry__/default/example/badge-secondary.tsx create mode 100644 apps/www/__registry__/default/example/breadcrumb-demo.tsx create mode 100644 apps/www/__registry__/default/example/breadcrumb-dropdown.tsx create mode 100644 apps/www/__registry__/default/example/breadcrumb-ellipsis.tsx create mode 100644 apps/www/__registry__/default/example/breadcrumb-link.tsx create mode 100644 apps/www/__registry__/default/example/breadcrumb-responsive.tsx create mode 100644 apps/www/__registry__/default/example/breadcrumb-separator.tsx create mode 100644 apps/www/__registry__/default/example/button-as-child.tsx create mode 100644 apps/www/__registry__/default/example/button-demo.tsx create mode 100644 apps/www/__registry__/default/example/button-destructive.tsx create mode 100644 apps/www/__registry__/default/example/button-ghost.tsx create mode 100644 apps/www/__registry__/default/example/button-icon.tsx create mode 100644 apps/www/__registry__/default/example/button-link.tsx create mode 100644 apps/www/__registry__/default/example/button-loading.tsx create mode 100644 apps/www/__registry__/default/example/button-outline.tsx create mode 100644 apps/www/__registry__/default/example/button-secondary.tsx create mode 100644 apps/www/__registry__/default/example/button-with-icon.tsx create mode 100644 apps/www/__registry__/default/example/calendar-demo.tsx create mode 100644 apps/www/__registry__/default/example/calendar-form.tsx create mode 100644 apps/www/__registry__/default/example/card-demo.tsx create mode 100644 apps/www/__registry__/default/example/card-with-form.tsx create mode 100644 apps/www/__registry__/default/example/carousel-api.tsx create mode 100644 apps/www/__registry__/default/example/carousel-demo.tsx create mode 100644 apps/www/__registry__/default/example/carousel-orientation.tsx create mode 100644 apps/www/__registry__/default/example/carousel-plugin.tsx create mode 100644 apps/www/__registry__/default/example/carousel-size.tsx create mode 100644 apps/www/__registry__/default/example/carousel-spacing.tsx create mode 100644 apps/www/__registry__/default/example/checkbox-demo.tsx create mode 100644 apps/www/__registry__/default/example/checkbox-disabled.tsx create mode 100644 apps/www/__registry__/default/example/checkbox-form-multiple.tsx create mode 100644 apps/www/__registry__/default/example/checkbox-form-single.tsx create mode 100644 apps/www/__registry__/default/example/checkbox-with-text.tsx create mode 100644 apps/www/__registry__/default/example/collapsible-demo.tsx create mode 100644 apps/www/__registry__/default/example/combobox-demo.tsx create mode 100644 apps/www/__registry__/default/example/combobox-dropdown-menu.tsx create mode 100644 apps/www/__registry__/default/example/combobox-form.tsx create mode 100644 apps/www/__registry__/default/example/combobox-popover.tsx create mode 100644 apps/www/__registry__/default/example/combobox-responsive.tsx create mode 100644 apps/www/__registry__/default/example/command-demo.tsx create mode 100644 apps/www/__registry__/default/example/command-dialog.tsx create mode 100644 apps/www/__registry__/default/example/context-menu-demo.tsx create mode 100644 apps/www/__registry__/default/example/data-table-demo.tsx create mode 100644 apps/www/__registry__/default/example/date-picker-demo.tsx create mode 100644 apps/www/__registry__/default/example/date-picker-form.tsx create mode 100644 apps/www/__registry__/default/example/date-picker-with-presets.tsx create mode 100644 apps/www/__registry__/default/example/date-picker-with-range.tsx create mode 100644 apps/www/__registry__/default/example/dialog-close-button.tsx create mode 100644 apps/www/__registry__/default/example/dialog-demo.tsx create mode 100644 apps/www/__registry__/default/example/drawer-demo.tsx create mode 100644 apps/www/__registry__/default/example/drawer-dialog.tsx create mode 100644 apps/www/__registry__/default/example/dropdown-menu-checkboxes.tsx create mode 100644 apps/www/__registry__/default/example/dropdown-menu-demo.tsx create mode 100644 apps/www/__registry__/default/example/dropdown-menu-radio-group.tsx create mode 100644 apps/www/__registry__/default/example/hover-card-demo.tsx create mode 100644 apps/www/__registry__/default/example/input-demo.tsx create mode 100644 apps/www/__registry__/default/example/input-disabled.tsx create mode 100644 apps/www/__registry__/default/example/input-file.tsx create mode 100644 apps/www/__registry__/default/example/input-form.tsx create mode 100644 apps/www/__registry__/default/example/input-otp-controlled.tsx create mode 100644 apps/www/__registry__/default/example/input-otp-demo.tsx create mode 100644 apps/www/__registry__/default/example/input-otp-form.tsx create mode 100644 apps/www/__registry__/default/example/input-otp-pattern.tsx create mode 100644 apps/www/__registry__/default/example/input-otp-separator.tsx create mode 100644 apps/www/__registry__/default/example/input-with-button.tsx create mode 100644 apps/www/__registry__/default/example/input-with-label.tsx create mode 100644 apps/www/__registry__/default/example/input-with-text.tsx create mode 100644 apps/www/__registry__/default/example/label-demo.tsx create mode 100644 apps/www/__registry__/default/example/menubar-demo.tsx create mode 100644 apps/www/__registry__/default/example/mode-toggle.tsx create mode 100644 apps/www/__registry__/default/example/navigation-menu-demo.tsx create mode 100644 apps/www/__registry__/default/example/pagination-demo.tsx create mode 100644 apps/www/__registry__/default/example/popover-demo.tsx create mode 100644 apps/www/__registry__/default/example/progress-demo.tsx create mode 100644 apps/www/__registry__/default/example/radio-group-demo.tsx create mode 100644 apps/www/__registry__/default/example/radio-group-form.tsx create mode 100644 apps/www/__registry__/default/example/resizable-demo-with-handle.tsx create mode 100644 apps/www/__registry__/default/example/resizable-demo.tsx create mode 100644 apps/www/__registry__/default/example/resizable-handle.tsx create mode 100644 apps/www/__registry__/default/example/resizable-vertical.tsx create mode 100644 apps/www/__registry__/default/example/scroll-area-demo.tsx create mode 100644 apps/www/__registry__/default/example/scroll-area-horizontal-demo.tsx create mode 100644 apps/www/__registry__/default/example/select-demo.tsx create mode 100644 apps/www/__registry__/default/example/select-form.tsx create mode 100644 apps/www/__registry__/default/example/select-scrollable.tsx create mode 100644 apps/www/__registry__/default/example/separator-demo.tsx create mode 100644 apps/www/__registry__/default/example/sheet-demo.tsx create mode 100644 apps/www/__registry__/default/example/sheet-side.tsx create mode 100644 apps/www/__registry__/default/example/skeleton-card.tsx create mode 100644 apps/www/__registry__/default/example/skeleton-demo.tsx create mode 100644 apps/www/__registry__/default/example/slider-demo.tsx create mode 100644 apps/www/__registry__/default/example/sonner-demo.tsx create mode 100644 apps/www/__registry__/default/example/switch-demo.tsx create mode 100644 apps/www/__registry__/default/example/switch-form.tsx create mode 100644 apps/www/__registry__/default/example/table-demo.tsx create mode 100644 apps/www/__registry__/default/example/tabs-demo.tsx create mode 100644 apps/www/__registry__/default/example/textarea-demo.tsx create mode 100644 apps/www/__registry__/default/example/textarea-disabled.tsx create mode 100644 apps/www/__registry__/default/example/textarea-form.tsx create mode 100644 apps/www/__registry__/default/example/textarea-with-button.tsx create mode 100644 apps/www/__registry__/default/example/textarea-with-label.tsx create mode 100644 apps/www/__registry__/default/example/textarea-with-text.tsx create mode 100644 apps/www/__registry__/default/example/toast-demo.tsx create mode 100644 apps/www/__registry__/default/example/toast-destructive.tsx create mode 100644 apps/www/__registry__/default/example/toast-simple.tsx create mode 100644 apps/www/__registry__/default/example/toast-with-action.tsx create mode 100644 apps/www/__registry__/default/example/toast-with-title.tsx create mode 100644 apps/www/__registry__/default/example/toggle-demo.tsx create mode 100644 apps/www/__registry__/default/example/toggle-disabled.tsx create mode 100644 apps/www/__registry__/default/example/toggle-group-demo.tsx create mode 100644 apps/www/__registry__/default/example/toggle-group-disabled.tsx create mode 100644 apps/www/__registry__/default/example/toggle-group-lg.tsx create mode 100644 apps/www/__registry__/default/example/toggle-group-outline.tsx create mode 100644 apps/www/__registry__/default/example/toggle-group-single.tsx create mode 100644 apps/www/__registry__/default/example/toggle-group-sm.tsx create mode 100644 apps/www/__registry__/default/example/toggle-lg.tsx create mode 100644 apps/www/__registry__/default/example/toggle-outline.tsx create mode 100644 apps/www/__registry__/default/example/toggle-sm.tsx create mode 100644 apps/www/__registry__/default/example/toggle-with-text.tsx create mode 100644 apps/www/__registry__/default/example/tooltip-demo.tsx create mode 100644 apps/www/__registry__/default/example/typography-blockquote.tsx create mode 100644 apps/www/__registry__/default/example/typography-demo.tsx create mode 100644 apps/www/__registry__/default/example/typography-h1.tsx create mode 100644 apps/www/__registry__/default/example/typography-h2.tsx create mode 100644 apps/www/__registry__/default/example/typography-h3.tsx create mode 100644 apps/www/__registry__/default/example/typography-h4.tsx create mode 100644 apps/www/__registry__/default/example/typography-inline-code.tsx create mode 100644 apps/www/__registry__/default/example/typography-large.tsx create mode 100644 apps/www/__registry__/default/example/typography-lead.tsx create mode 100644 apps/www/__registry__/default/example/typography-list.tsx create mode 100644 apps/www/__registry__/default/example/typography-muted.tsx create mode 100644 apps/www/__registry__/default/example/typography-p.tsx create mode 100644 apps/www/__registry__/default/example/typography-small.tsx create mode 100644 apps/www/__registry__/default/example/typography-table.tsx create mode 100644 apps/www/__registry__/default/ui/accordion.tsx create mode 100644 apps/www/__registry__/default/ui/alert-dialog.tsx create mode 100644 apps/www/__registry__/default/ui/alert.tsx create mode 100644 apps/www/__registry__/default/ui/aspect-ratio.tsx create mode 100644 apps/www/__registry__/default/ui/avatar.tsx create mode 100644 apps/www/__registry__/default/ui/badge.tsx create mode 100644 apps/www/__registry__/default/ui/breadcrumb.tsx create mode 100644 apps/www/__registry__/default/ui/button.tsx create mode 100644 apps/www/__registry__/default/ui/calendar.tsx create mode 100644 apps/www/__registry__/default/ui/card.tsx create mode 100644 apps/www/__registry__/default/ui/carousel.tsx create mode 100644 apps/www/__registry__/default/ui/checkbox.tsx create mode 100644 apps/www/__registry__/default/ui/collapsible.tsx create mode 100644 apps/www/__registry__/default/ui/command.tsx create mode 100644 apps/www/__registry__/default/ui/context-menu.tsx create mode 100644 apps/www/__registry__/default/ui/dialog.tsx create mode 100644 apps/www/__registry__/default/ui/drawer.tsx create mode 100644 apps/www/__registry__/default/ui/dropdown-menu.tsx create mode 100644 apps/www/__registry__/default/ui/form.tsx create mode 100644 apps/www/__registry__/default/ui/hover-card.tsx create mode 100644 apps/www/__registry__/default/ui/input-otp.tsx create mode 100644 apps/www/__registry__/default/ui/input.tsx create mode 100644 apps/www/__registry__/default/ui/label.tsx create mode 100644 apps/www/__registry__/default/ui/menubar.tsx create mode 100644 apps/www/__registry__/default/ui/navigation-menu.tsx create mode 100644 apps/www/__registry__/default/ui/pagination.tsx create mode 100644 apps/www/__registry__/default/ui/popover.tsx create mode 100644 apps/www/__registry__/default/ui/progress.tsx create mode 100644 apps/www/__registry__/default/ui/radio-group.tsx create mode 100644 apps/www/__registry__/default/ui/resizable.tsx create mode 100644 apps/www/__registry__/default/ui/scroll-area.tsx create mode 100644 apps/www/__registry__/default/ui/select.tsx create mode 100644 apps/www/__registry__/default/ui/separator.tsx create mode 100644 apps/www/__registry__/default/ui/sheet.tsx create mode 100644 apps/www/__registry__/default/ui/skeleton.tsx create mode 100644 apps/www/__registry__/default/ui/slider.tsx create mode 100644 apps/www/__registry__/default/ui/sonner.tsx create mode 100644 apps/www/__registry__/default/ui/switch.tsx create mode 100644 apps/www/__registry__/default/ui/table.tsx create mode 100644 apps/www/__registry__/default/ui/tabs.tsx create mode 100644 apps/www/__registry__/default/ui/textarea.tsx create mode 100644 apps/www/__registry__/default/ui/toast.tsx create mode 100644 apps/www/__registry__/default/ui/toggle-group.tsx create mode 100644 apps/www/__registry__/default/ui/toggle.tsx create mode 100644 apps/www/__registry__/default/ui/tooltip.tsx create mode 100644 apps/www/__registry__/new-york/block/authentication-01.tsx create mode 100644 apps/www/__registry__/new-york/block/authentication-02.tsx create mode 100644 apps/www/__registry__/new-york/block/authentication-03.tsx create mode 100644 apps/www/__registry__/new-york/block/authentication-04.tsx create mode 100644 apps/www/__registry__/new-york/block/dashboard-01.tsx create mode 100644 apps/www/__registry__/new-york/block/dashboard-02.tsx create mode 100644 apps/www/__registry__/new-york/block/dashboard-03.tsx create mode 100644 apps/www/__registry__/new-york/block/dashboard-04.tsx create mode 100644 apps/www/__registry__/new-york/block/dashboard-05.tsx create mode 100644 apps/www/__registry__/new-york/block/dashboard-06.tsx create mode 100644 apps/www/__registry__/new-york/block/dashboard-07.tsx create mode 100644 apps/www/actions/edit-in-v0.ts create mode 100644 apps/www/app/(app)/blocks/layout.tsx create mode 100644 apps/www/app/(app)/blocks/page.tsx rename apps/www/app/{ => (app)}/docs/[[...slug]]/page.tsx (100%) rename apps/www/app/{ => (app)}/docs/layout.tsx (100%) rename apps/www/app/{ => (app)}/examples/authentication/components/user-auth-form.tsx (100%) rename apps/www/app/{ => (app)}/examples/authentication/page.tsx (97%) rename apps/www/app/{ => (app)}/examples/cards/components/cookie-settings.tsx (100%) rename apps/www/app/{ => (app)}/examples/cards/components/create-account.tsx (100%) rename apps/www/app/{ => (app)}/examples/cards/components/date-picker.tsx (100%) rename apps/www/app/{ => (app)}/examples/cards/components/github-card.tsx (100%) rename apps/www/app/{ => (app)}/examples/cards/components/notifications.tsx (100%) rename apps/www/app/{ => (app)}/examples/cards/components/payment-method.tsx (100%) rename apps/www/app/{ => (app)}/examples/cards/components/report-an-issue.tsx (100%) rename apps/www/app/{ => (app)}/examples/cards/components/share-document.tsx (100%) rename apps/www/app/{ => (app)}/examples/cards/components/team-members.tsx (100%) rename apps/www/app/{ => (app)}/examples/cards/page.tsx (100%) rename apps/www/app/{ => (app)}/examples/dashboard/components/date-range-picker.tsx (100%) rename apps/www/app/{ => (app)}/examples/dashboard/components/main-nav.tsx (100%) rename apps/www/app/{ => (app)}/examples/dashboard/components/overview.tsx (100%) rename apps/www/app/{ => (app)}/examples/dashboard/components/recent-sales.tsx (100%) rename apps/www/app/{ => (app)}/examples/dashboard/components/search.tsx (100%) rename apps/www/app/{ => (app)}/examples/dashboard/components/team-switcher.tsx (100%) rename apps/www/app/{ => (app)}/examples/dashboard/components/user-nav.tsx (100%) rename apps/www/app/{ => (app)}/examples/dashboard/page.tsx (93%) rename apps/www/app/{ => (app)}/examples/forms/account/account-form.tsx (100%) rename apps/www/app/{ => (app)}/examples/forms/account/page.tsx (85%) rename apps/www/app/{ => (app)}/examples/forms/appearance/appearance-form.tsx (100%) rename apps/www/app/{ => (app)}/examples/forms/appearance/page.tsx (84%) rename apps/www/app/{ => (app)}/examples/forms/components/sidebar-nav.tsx (100%) rename apps/www/app/{ => (app)}/examples/forms/display/display-form.tsx (100%) rename apps/www/app/{ => (app)}/examples/forms/display/page.tsx (84%) rename apps/www/app/{ => (app)}/examples/forms/layout.tsx (95%) rename apps/www/app/{ => (app)}/examples/forms/notifications/notifications-form.tsx (100%) rename apps/www/app/{ => (app)}/examples/forms/notifications/page.tsx (81%) rename apps/www/app/{ => (app)}/examples/forms/page.tsx (85%) rename apps/www/app/{ => (app)}/examples/forms/profile-form.tsx (100%) create mode 100644 apps/www/app/(app)/examples/layout.tsx rename apps/www/app/{ => (app)}/examples/mail/components/account-switcher.tsx (100%) rename apps/www/app/{ => (app)}/examples/mail/components/mail-display.tsx (99%) rename apps/www/app/{ => (app)}/examples/mail/components/mail-list.tsx (95%) rename apps/www/app/{ => (app)}/examples/mail/components/mail.tsx (80%) rename apps/www/app/{ => (app)}/examples/mail/components/nav.tsx (100%) rename apps/www/app/{ => (app)}/examples/mail/data.tsx (100%) rename apps/www/app/{ => (app)}/examples/mail/page.tsx (89%) rename apps/www/app/{ => (app)}/examples/mail/use-mail.ts (77%) rename apps/www/app/{ => (app)}/examples/music/components/album-artwork.tsx (100%) rename apps/www/app/{ => (app)}/examples/music/components/menu.tsx (100%) rename apps/www/app/{ => (app)}/examples/music/components/podcast-empty-placeholder.tsx (100%) rename apps/www/app/{ => (app)}/examples/music/components/sidebar.tsx (100%) rename apps/www/app/{ => (app)}/examples/music/data/albums.ts (100%) rename apps/www/app/{ => (app)}/examples/music/data/playlists.ts (100%) rename apps/www/app/{ => (app)}/examples/music/page.tsx (100%) rename apps/www/app/{ => (app)}/examples/playground/components/code-viewer.tsx (100%) rename apps/www/app/{ => (app)}/examples/playground/components/maxlength-selector.tsx (100%) rename apps/www/app/{ => (app)}/examples/playground/components/model-selector.tsx (100%) rename apps/www/app/{ => (app)}/examples/playground/components/preset-actions.tsx (100%) rename apps/www/app/{ => (app)}/examples/playground/components/preset-save.tsx (100%) rename apps/www/app/{ => (app)}/examples/playground/components/preset-selector.tsx (100%) rename apps/www/app/{ => (app)}/examples/playground/components/preset-share.tsx (100%) rename apps/www/app/{ => (app)}/examples/playground/components/temperature-selector.tsx (100%) rename apps/www/app/{ => (app)}/examples/playground/components/top-p-selector.tsx (100%) rename apps/www/app/{ => (app)}/examples/playground/data/models.ts (100%) rename apps/www/app/{ => (app)}/examples/playground/data/presets.ts (100%) rename apps/www/app/{ => (app)}/examples/playground/page.tsx (100%) rename apps/www/app/{ => (app)}/examples/tasks/components/columns.tsx (100%) rename apps/www/app/{ => (app)}/examples/tasks/components/data-table-column-header.tsx (100%) rename apps/www/app/{ => (app)}/examples/tasks/components/data-table-faceted-filter.tsx (100%) rename apps/www/app/{ => (app)}/examples/tasks/components/data-table-pagination.tsx (100%) rename apps/www/app/{ => (app)}/examples/tasks/components/data-table-row-actions.tsx (100%) rename apps/www/app/{ => (app)}/examples/tasks/components/data-table-toolbar.tsx (94%) rename apps/www/app/{ => (app)}/examples/tasks/components/data-table-view-options.tsx (100%) rename apps/www/app/{ => (app)}/examples/tasks/components/data-table.tsx (96%) rename apps/www/app/{ => (app)}/examples/tasks/components/user-nav.tsx (100%) rename apps/www/app/{ => (app)}/examples/tasks/data/data.tsx (100%) rename apps/www/app/{ => (app)}/examples/tasks/data/schema.ts (100%) rename apps/www/app/{ => (app)}/examples/tasks/data/seed.ts (100%) rename apps/www/app/{ => (app)}/examples/tasks/data/tasks.json (100%) rename apps/www/app/{ => (app)}/examples/tasks/page.tsx (95%) create mode 100644 apps/www/app/(app)/layout.tsx rename apps/www/app/{ => (app)}/page.tsx (96%) rename apps/www/app/{ => (app)}/sink/layout.tsx (100%) rename apps/www/app/{ => (app)}/sink/new-york/page.tsx (100%) rename apps/www/app/{ => (app)}/sink/page.tsx (100%) rename apps/www/app/{ => (app)}/themes/page.tsx (96%) rename apps/www/app/{ => (app)}/themes/tabs.tsx (100%) create mode 100644 apps/www/app/(blocks)/blocks/[style]/[name]/page.tsx delete mode 100644 apps/www/app/examples/layout.tsx create mode 100644 apps/www/components/block-chunk.tsx create mode 100644 apps/www/components/block-copy-button.tsx create mode 100644 apps/www/components/block-display.tsx create mode 100644 apps/www/components/block-preview.tsx create mode 100644 apps/www/components/block-toolbar.tsx create mode 100644 apps/www/components/block-wrapper.tsx create mode 100644 apps/www/components/v0-button.tsx create mode 100644 apps/www/content/docs/components/breadcrumb.mdx create mode 100644 apps/www/content/docs/components/input-otp.mdx create mode 100644 apps/www/hooks/use-lift-mode.ts create mode 100644 apps/www/lib/blocks.ts create mode 100644 apps/www/lib/highlight-code.ts create mode 100644 apps/www/public/images/dashboard-1-dark.jpg create mode 100644 apps/www/public/images/dashboard-1.jpg create mode 100644 apps/www/public/images/dashboard-2-dark.jpg create mode 100644 apps/www/public/images/dashboard-2.jpg create mode 100644 apps/www/public/images/dashboard-3-dark.jpg create mode 100644 apps/www/public/images/dashboard-3.jpg create mode 100644 apps/www/public/images/lift-mode-dark.png create mode 100644 apps/www/public/images/lift-mode-light.png create mode 100644 apps/www/public/placeholder-logo.svg create mode 100644 apps/www/public/placeholder-user.jpg create mode 100644 apps/www/public/placeholder.svg create mode 100644 apps/www/public/registry/styles/default/breadcrumb.json create mode 100644 apps/www/public/registry/styles/default/input-otp.json create mode 100644 apps/www/public/registry/styles/new-york/breadcrumb.json create mode 100644 apps/www/public/registry/styles/new-york/input-otp.json create mode 100644 apps/www/registry/blocks.ts create mode 100644 apps/www/registry/default/block/authentication-01.tsx create mode 100644 apps/www/registry/default/block/authentication-02.tsx create mode 100644 apps/www/registry/default/block/authentication-03.tsx create mode 100644 apps/www/registry/default/block/authentication-04.tsx create mode 100644 apps/www/registry/default/block/dashboard-01-chunk-0.tsx create mode 100644 apps/www/registry/default/block/dashboard-01-chunk-1.tsx create mode 100644 apps/www/registry/default/block/dashboard-01-chunk-2.tsx create mode 100644 apps/www/registry/default/block/dashboard-01-chunk-3.tsx create mode 100644 apps/www/registry/default/block/dashboard-01-chunk-4.tsx create mode 100644 apps/www/registry/default/block/dashboard-01-chunk-5.tsx create mode 100644 apps/www/registry/default/block/dashboard-01.tsx create mode 100644 apps/www/registry/default/block/dashboard-02-chunk-0.tsx create mode 100644 apps/www/registry/default/block/dashboard-02-chunk-1.tsx create mode 100644 apps/www/registry/default/block/dashboard-02.tsx create mode 100644 apps/www/registry/default/block/dashboard-03-chunk-0.tsx create mode 100644 apps/www/registry/default/block/dashboard-03-chunk-1.tsx create mode 100644 apps/www/registry/default/block/dashboard-03.tsx create mode 100644 apps/www/registry/default/block/dashboard-04-chunk-0.tsx create mode 100644 apps/www/registry/default/block/dashboard-04-chunk-1.tsx create mode 100644 apps/www/registry/default/block/dashboard-04-chunk-2.tsx create mode 100644 apps/www/registry/default/block/dashboard-04.tsx create mode 100644 apps/www/registry/default/block/dashboard-05-chunk-0.tsx create mode 100644 apps/www/registry/default/block/dashboard-05-chunk-1.tsx create mode 100644 apps/www/registry/default/block/dashboard-05-chunk-2.tsx create mode 100644 apps/www/registry/default/block/dashboard-05-chunk-3.tsx create mode 100644 apps/www/registry/default/block/dashboard-05-chunk-4.tsx create mode 100644 apps/www/registry/default/block/dashboard-05.tsx create mode 100644 apps/www/registry/default/block/dashboard-06-chunk-0.tsx create mode 100644 apps/www/registry/default/block/dashboard-06.tsx create mode 100644 apps/www/registry/default/block/dashboard-07-chunk-0.tsx create mode 100644 apps/www/registry/default/block/dashboard-07-chunk-1.tsx create mode 100644 apps/www/registry/default/block/dashboard-07-chunk-2.tsx create mode 100644 apps/www/registry/default/block/dashboard-07-chunk-3.tsx create mode 100644 apps/www/registry/default/block/dashboard-07-chunk-4.tsx create mode 100644 apps/www/registry/default/block/dashboard-07-chunk-5.tsx create mode 100644 apps/www/registry/default/block/dashboard-07.tsx create mode 100644 apps/www/registry/default/example/breadcrumb-demo.tsx create mode 100644 apps/www/registry/default/example/breadcrumb-dropdown.tsx create mode 100644 apps/www/registry/default/example/breadcrumb-ellipsis.tsx create mode 100644 apps/www/registry/default/example/breadcrumb-link.tsx create mode 100644 apps/www/registry/default/example/breadcrumb-responsive.tsx create mode 100644 apps/www/registry/default/example/breadcrumb-separator.tsx create mode 100644 apps/www/registry/default/example/input-otp-controlled.tsx create mode 100644 apps/www/registry/default/example/input-otp-demo.tsx create mode 100644 apps/www/registry/default/example/input-otp-form.tsx create mode 100644 apps/www/registry/default/example/input-otp-pattern.tsx create mode 100644 apps/www/registry/default/example/input-otp-separator.tsx create mode 100644 apps/www/registry/default/ui/breadcrumb.tsx create mode 100644 apps/www/registry/default/ui/input-otp.tsx create mode 100644 apps/www/registry/examples.ts create mode 100644 apps/www/registry/new-york/block/authentication-01.tsx create mode 100644 apps/www/registry/new-york/block/authentication-02.tsx create mode 100644 apps/www/registry/new-york/block/authentication-03.tsx create mode 100644 apps/www/registry/new-york/block/authentication-04.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-01-chunk-0.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-01-chunk-1.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-01-chunk-2.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-01-chunk-3.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-01-chunk-4.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-01-chunk-5.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-01.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-02-chunk-0.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-02-chunk-1.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-02.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-03-chunk-0.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-03-chunk-1.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-03.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-04-chunk-0.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-04-chunk-1.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-04-chunk-2.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-04.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-05-chunk-0.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-05-chunk-1.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-05-chunk-2.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-05-chunk-3.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-05-chunk-4.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-05-chunk-5.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-05.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-06-chunk-0.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-06-chunk-1.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-06.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-07-chunk-0.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-07-chunk-1.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-07-chunk-2.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-07-chunk-3.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-07-chunk-4.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-07-chunk-5.tsx create mode 100644 apps/www/registry/new-york/block/dashboard-07.tsx create mode 100644 apps/www/registry/new-york/example/breadcrumb-demo.tsx create mode 100644 apps/www/registry/new-york/example/breadcrumb-dropdown.tsx create mode 100644 apps/www/registry/new-york/example/breadcrumb-ellipsis.tsx create mode 100644 apps/www/registry/new-york/example/breadcrumb-link.tsx create mode 100644 apps/www/registry/new-york/example/breadcrumb-responsive.tsx create mode 100644 apps/www/registry/new-york/example/breadcrumb-separator.tsx create mode 100644 apps/www/registry/new-york/example/input-otp-controlled.tsx create mode 100644 apps/www/registry/new-york/example/input-otp-demo.tsx create mode 100644 apps/www/registry/new-york/example/input-otp-form.tsx create mode 100644 apps/www/registry/new-york/example/input-otp-pattern.tsx create mode 100644 apps/www/registry/new-york/example/input-otp-separator.tsx create mode 100644 apps/www/registry/new-york/ui/breadcrumb.tsx create mode 100644 apps/www/registry/new-york/ui/input-otp.tsx create mode 100644 apps/www/registry/ui.ts create mode 100644 apps/www/scripts/build-registry.mts delete mode 100644 apps/www/scripts/build-registry.ts 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 new file mode 100644 index 00000000000..52219469df4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,85 @@ +name: "Bug report" +description: Report an issue +title: '[bug]: ' +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + ### Thanks for taking the time to create a bug report. Please search open/closed issues before submitting, as the issue may have already been reported/addressed. + + - type: markdown + attributes: + value: | + #### If you aren't sure this is a bug or not, please open a discussion instead: + - [Discussions](https://github.com/shadcn-ui/ui/discussions/new?category=general) + + - type: textarea + id: bug-description + attributes: + label: Describe the bug + description: A clear and concise description of what the bug is. If you intend to submit a PR for this issue, tell us how in the description. Thanks! + placeholder: Bug description + validations: + required: true + + - type: input + id: components-affected + attributes: + label: Affected component/components + description: Which shadcn/ui components are affected? + placeholder: ex. Button, Checkbox... + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: How to reproduce + description: A step-by-step description of how to reproduce the bug. + placeholder: | + 1. Go to '...' + 2. Click on '....' + 3. See error + validations: + required: true + + - type: input + id: codesandbox-stackblitz + attributes: + label: Codesandbox/StackBlitz link + description: | + A link to a CodeSandbox or StackBlitz that includes a minimal reproduction of the problem. In rare cases when not applicable, you can link to a GitHub repository that we can easily run to recreate the issue. If a report is vague and does not have a reproduction, it will be closed without warning. + + > [!CAUTION] + > If you skip this step, this issue might be **labeled** with `please add a reproduction` and **closed**. + validations: + required: false + + - type: textarea + id: logs + attributes: + label: Logs + description: "Please include browser console and server logs around the time this bug occurred. Optional if provided reproduction. Please try not to insert an image but copy paste the log text." + render: bash + + - type: textarea + id: system-info + attributes: + label: System Info + description: Information about browsers, system or binaries that's relevant. + render: bash + placeholder: System, Binaries, Browsers + validations: + required: true + + - type: checkboxes + id: terms + attributes: + label: Before submitting + description: By submitting this issue, you agree to follow our [Contributing Guidelines](https://github.com/shadcn-ui/ui/blob/main/CONTRIBUTING.md). + options: + - label: I've made research efforts and searched the documentation + required: true + - label: I've searched for existing issues + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000000..c5942150437 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Get Help + url: https://github.com/shadcn-ui/ui/discussions/new?category=general + about: If you can't get something to work the way you expect, open a question in our discussion forums. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000000..0640a75dcdf --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,55 @@ +name: "Feature request" +description: Create a feature request for shadcn/ui +title: '[feat]: ' +labels: ['area: request'] +body: + - type: markdown + attributes: + value: | + ### Thanks for taking the time to create a feature request! Please search open/closed issues before submitting, as the issue may have already been reported/addressed. + + - type: markdown + attributes: + value: | + #### If you aren't sure this is a bug or not, please open a discussion instead: + - [Discussions](https://github.com/shadcn-ui/ui/discussions/new?category=general) + + - type: textarea + id: feature-description + attributes: + label: Feature description + description: Tell us about your feature request + placeholder: 'I think this feature would be great because...' + value: 'Describe your feature request...' + validations: + required: true + + - type: input + id: components-affected + attributes: + label: Affected component/components + description: Is this feature request relevant to any of the already existing components? + placeholder: ex. Button, Checkbox... + validations: + required: false + + - type: textarea + id: context + attributes: + label: Additional Context + description: Add any other context about the feature here. + placeholder: ex. screenshots, Stack Overflow links, forum links, etc. + value: 'Additional details here...' + validations: + required: false + + - type: checkboxes + id: terms + attributes: + label: Before submitting + description: By submitting this issue, you agree to follow our [Contributing Guidelines](https://github.com/shadcn-ui/ui/blob/main/CONTRIBUTING.md). + options: + - label: I've made research efforts and searched the documentation + required: true + - label: I've searched for existing issues and PRs + required: true diff --git a/.github/workflows/issue-stale.yml b/.github/workflows/issue-stale.yml index e509e0c0586..e34856dad69 100644 --- a/.github/workflows/issue-stale.yml +++ b/.github/workflows/issue-stale.yml @@ -17,8 +17,9 @@ jobs: with: repo-token: ${{ secrets.STALE_TOKEN }} close-issue-message: "This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you." - days-before-issue-close: 1 + days-before-issue-close: 7 days-before-issue-stale: 15 + stale-pr-label: "stale?" days-before-pr-close: -1 days-before-pr-stale: -1 exempt-issue-labels: "roadmap,next,bug" 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 + +
+ + +
+
+ +