{
  "@/registry/examples/accordion-demo/accordion-demo": {
    "content": "import {\r\n  Accordion,\r\n  AccordionContent,\r\n  AccordionItem,\r\n  AccordionTrigger,\r\n} from \"@/components/ui/accordion\"\r\n\r\nexport default function AccordionDemo() {\r\n  return (\r\n    <Accordion type=\"multiple\" className=\"w-full max-w-2xl\">\r\n      <AccordionItem value=\"tech-1\">\r\n        <AccordionTrigger>MacOS</AccordionTrigger>\r\n        <AccordionContent>\r\n          macOS is Apple's desktop operating system that powers Mac computers.\r\n          It features a sleek user interface, robust security features, and\r\n          seamless integration with other Apple devices and services.\r\n        </AccordionContent>\r\n      </AccordionItem>\r\n      <AccordionItem value=\"tech-2\">\r\n        <AccordionTrigger>iOS</AccordionTrigger>\r\n        <AccordionContent>\r\n          iOS is Apple's mobile operating system for iPhone. It's known for its\r\n          intuitive interface, app ecosystem, security, and consistent\r\n          performance across devices.\r\n        </AccordionContent>\r\n      </AccordionItem>\r\n      <AccordionItem value=\"tech-3\">\r\n        <AccordionTrigger>iPadOS</AccordionTrigger>\r\n        <AccordionContent>\r\n          iPadOS is a variant of iOS designed specifically for iPad, with\r\n          features optimized for the larger display, including improved\r\n          multitasking, Apple Pencil support, and desktop-class browsing.\r\n        </AccordionContent>\r\n      </AccordionItem>\r\n    </Accordion>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/alert-dialog-demo/alert-dialog-demo": {
    "content": "import {\r\n  AlertDialog,\r\n  AlertDialogAction,\r\n  AlertDialogCancel,\r\n  AlertDialogContent,\r\n  AlertDialogDescription,\r\n  AlertDialogFooter,\r\n  AlertDialogHeader,\r\n  AlertDialogTitle,\r\n  AlertDialogTrigger,\r\n} from \"@/components/ui/alert-dialog\"\r\nimport { Button } from \"@/components/ui/button\"\r\n\r\nexport default function AlertDialogDemo() {\r\n  return (\r\n    <AlertDialog>\r\n      <AlertDialogTrigger asChild>\r\n        <Button variant=\"outline\">Open Dialog</Button>\r\n      </AlertDialogTrigger>\r\n      <AlertDialogContent>\r\n        <AlertDialogHeader>\r\n          <AlertDialogTitle>Are you sure ?</AlertDialogTitle>\r\n          <AlertDialogDescription>\r\n            This action cannot be undone. The data will be permanently deleted\r\n            from the servers.\r\n          </AlertDialogDescription>\r\n        </AlertDialogHeader>\r\n        <AlertDialogFooter>\r\n          <AlertDialogCancel>Cancel</AlertDialogCancel>\r\n          <AlertDialogAction>Continue</AlertDialogAction>\r\n        </AlertDialogFooter>\r\n      </AlertDialogContent>\r\n    </AlertDialog>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/alert-dialog-demo/alert-dialog-destructive-demo": {
    "content": "import {\r\n  AlertDialog,\r\n  AlertDialogAction,\r\n  AlertDialogCancel,\r\n  AlertDialogContent,\r\n  AlertDialogDescription,\r\n  AlertDialogFooter,\r\n  AlertDialogHeader,\r\n  AlertDialogTitle,\r\n  AlertDialogTrigger,\r\n} from \"@/components/ui/alert-dialog\"\r\nimport { Button } from \"@/components/ui/button\"\r\n\r\nexport default function AlertDialogDemo() {\r\n  return (\r\n    <AlertDialog>\r\n      <AlertDialogTrigger asChild>\r\n        <Button variant=\"destructive\">Open Dialog</Button>\r\n      </AlertDialogTrigger>\r\n      <AlertDialogContent>\r\n        <AlertDialogHeader>\r\n          <AlertDialogTitle>Are you sure?</AlertDialogTitle>\r\n          <AlertDialogDescription>\r\n            This action cannot be undone. The data will be permanently deleted\r\n            from the servers.\r\n          </AlertDialogDescription>\r\n        </AlertDialogHeader>\r\n        <AlertDialogFooter>\r\n          <AlertDialogCancel>Cancel</AlertDialogCancel>\r\n          <AlertDialogAction variant=\"destructive\">Continue</AlertDialogAction>\r\n        </AlertDialogFooter>\r\n      </AlertDialogContent>\r\n    </AlertDialog>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/alert-dialog-demo/alert-dialog-lg-demo": {
    "content": "import {\r\n  AlertDialog,\r\n  AlertDialogAction,\r\n  AlertDialogCancel,\r\n  AlertDialogContent,\r\n  AlertDialogDescription,\r\n  AlertDialogFooter,\r\n  AlertDialogHeader,\r\n  AlertDialogTitle,\r\n  AlertDialogTrigger,\r\n} from \"@/components/ui/alert-dialog\"\r\nimport { Button } from \"@/components/ui/button\"\r\n\r\nexport default function AlertDialogLgDemo() {\r\n  return (\r\n    <AlertDialog>\r\n      <AlertDialogTrigger asChild>\r\n        <Button variant=\"outline\">Large Dialog</Button>\r\n      </AlertDialogTrigger>\r\n      <AlertDialogContent size=\"lg\">\r\n        <AlertDialogHeader>\r\n          <AlertDialogTitle>Large Dialog</AlertDialogTitle>\r\n          <AlertDialogDescription>\r\n            This is an example of a large dialog. It can be used to display\r\n            larger content.\r\n          </AlertDialogDescription>\r\n        </AlertDialogHeader>\r\n        <AlertDialogFooter>\r\n          <AlertDialogCancel>Cancel</AlertDialogCancel>\r\n          <AlertDialogAction>Continue</AlertDialogAction>\r\n        </AlertDialogFooter>\r\n      </AlertDialogContent>\r\n    </AlertDialog>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/alert-dialog-demo/alert-dialog-sm-demo": {
    "content": "import {\r\n  AlertDialog,\r\n  AlertDialogAction,\r\n  AlertDialogCancel,\r\n  AlertDialogContent,\r\n  AlertDialogDescription,\r\n  AlertDialogFooter,\r\n  AlertDialogHeader,\r\n  AlertDialogTitle,\r\n  AlertDialogTrigger,\r\n} from \"@/components/ui/alert-dialog\"\r\nimport { Button } from \"@/components/ui/button\"\r\n\r\nexport default function AlertDialogLgDemo() {\r\n  return (\r\n    <div className=\"flex flex-col gap-4\">\r\n      <AlertDialog>\r\n        <AlertDialogTrigger asChild>\r\n          <Button variant=\"outline\">Small Dialog</Button>\r\n        </AlertDialogTrigger>\r\n        <AlertDialogContent size=\"sm\">\r\n          <AlertDialogHeader>\r\n            <AlertDialogTitle>Small Dialog</AlertDialogTitle>\r\n            <AlertDialogDescription>\r\n              This is an example of a small dialog.\r\n            </AlertDialogDescription>\r\n          </AlertDialogHeader>\r\n          <AlertDialogFooter>\r\n            <AlertDialogCancel>Cancel</AlertDialogCancel>\r\n            <AlertDialogAction>Continue</AlertDialogAction>\r\n          </AlertDialogFooter>\r\n        </AlertDialogContent>\r\n      </AlertDialog>\r\n    </div>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/aspect-ratio-demo/aspect-ratio-demo": {
    "content": "import { AspectRatio } from \"@/components/ui/aspect-ratio\"\r\nimport Image from \"next/image\"\r\n\r\nexport default function AspectRatioDemo() {\r\n    return (\r\n        <AspectRatio ratio={16 / 9} className=\"bg-muted rounded-2xl\">\r\n            <Image\r\n                src=\"https://images.unsplash.com/photo-1588345921523-c2dcdb7f1dcd?w=800&dpr=2&q=80\"\r\n                alt=\"Photo by Drew Beamer\"\r\n                fill\r\n                className=\"h-full w-full rounded-2xl object-cover dark:brightness-[0.2] dark:grayscale\"\r\n            />\r\n        </AspectRatio>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/avatar-demo": {
    "content": "import {\r\n    Avatar,\r\n    AvatarFallback,\r\n    AvatarImage,\r\n} from \"@/components/ui/avatar\"\r\n\r\nexport default function AvatarDemo() {\r\n    return (\r\n        <div className=\"flex flex-row flex-wrap items-center gap-12\">\r\n            <Avatar>\r\n                <AvatarImage src=\"https://github.com/shadcn.png\" alt=\"@shadcn\" />\r\n                <AvatarFallback>CN</AvatarFallback>\r\n            </Avatar>\r\n            <Avatar className=\"rounded-lg\">\r\n                <AvatarImage\r\n                    src=\"https://github.com/evilrabbit.png\"\r\n                    alt=\"@evilrabbit\"\r\n                />\r\n                <AvatarFallback>ER</AvatarFallback>\r\n            </Avatar>\r\n            <div className=\"*:data-[slot=avatar]:ring-background flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:grayscale\">\r\n                <Avatar>\r\n                    <AvatarImage src=\"https://github.com/shadcn.png\" alt=\"@shadcn\" />\r\n                    <AvatarFallback>CN</AvatarFallback>\r\n                </Avatar>\r\n                <Avatar>\r\n                    <AvatarImage\r\n                        src=\"https://github.com/maxleiter.png\"\r\n                        alt=\"@maxleiter\"\r\n                    />\r\n                    <AvatarFallback>LR</AvatarFallback>\r\n                </Avatar>\r\n                <Avatar>\r\n                    <AvatarImage\r\n                        src=\"https://github.com/evilrabbit.png\"\r\n                        alt=\"@evilrabbit\"\r\n                    />\r\n                    <AvatarFallback>ER</AvatarFallback>\r\n                </Avatar>\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/badge-demo/badge-demo": {
    "content": "import { Badge } from \"@/components/ui/badge\"\r\n\r\nexport default function BadgeDemo() {\r\n  return (\r\n    <Badge>Badge</Badge>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/badge-demo/badge-destructive-demo": {
    "content": "import { Badge } from \"@/components/ui/badge\"\r\n\r\nexport default function BadgeDestructiveDemo() {\r\n  return (\r\n    <Badge variant=\"destructive\">Destructive</Badge>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/badge-demo/badge-icon-demo": {
    "content": "import { Badge } from \"@/components/ui/badge\"\r\nimport { Lock } from \"lucide-react\"\r\n\r\nexport default function BadgeIconDemo() {\r\n  return (\r\n    <Badge variant=\"default\" icon={<Lock size={12} />}>\r\n      Secure\r\n    </Badge>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/badge-demo/badge-info-demo": {
    "content": "import { Badge } from \"@/components/ui/badge\"\r\n\r\nexport default function BadgeInfoDemo() {\r\n  return (\r\n    <Badge variant=\"info\">Info</Badge>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/badge-demo/badge-outline-demo": {
    "content": "import { Badge } from \"@/components/ui/badge\"\r\n\r\nexport default function BadgeOutlineDemo() {\r\n  return (\r\n    <Badge variant=\"outline\">Outline</Badge>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/badge-demo/badge-removable-demo": {
    "content": "\"use client\"\r\n\r\nimport { Badge } from \"@/components/ui/badge\"\r\nimport { useState } from \"react\"\r\n\r\nexport default function BadgeRemovableDemo() {\r\n  const [isVisible, setIsVisible] = useState(true)\r\n\r\n  if (!isVisible) {\r\n    return null\r\n  }\r\n\r\n  return (\r\n    <Badge\r\n      variant=\"outline\"\r\n      removable={true}\r\n      onRemove={() => setIsVisible(false)}\r\n    >\r\n      Apple\r\n    </Badge>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/badge-demo/badge-secondary-demo": {
    "content": "import { Badge } from \"@/components/ui/badge\"\r\n\r\nexport default function BadgeSecondaryDemo() {\r\n  return (\r\n    <Badge variant=\"secondary\">Secondary</Badge>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/badge-demo/badge-success-demo": {
    "content": "import { Badge } from \"@/components/ui/badge\"\r\n\r\nexport default function BadgeSuccessDemo() {\r\n  return (\r\n    <Badge variant=\"success\">Success</Badge>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/badge-demo/badge-warning-demo": {
    "content": "import { Badge } from \"@/components/ui/badge\"\r\n\r\nexport default function BadgeWarningDemo() {\r\n  return (\r\n    <Badge variant=\"warning\">Warning</Badge>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/breadcrumb-demo/breadcrumb-custom-separator-demo": {
    "content": "import {\r\n  Breadcrumb,\r\n  BreadcrumbItem,\r\n  BreadcrumbLink,\r\n  BreadcrumbList,\r\n  BreadcrumbSeparator,\r\n} from \"@/components/ui/breadcrumb\"\r\n\r\nexport default function BreadcrumbCustomSeparatorDemo() {\r\n  return (\r\n    <Breadcrumb>\r\n      <BreadcrumbList>\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"/\">Home</BreadcrumbLink>\r\n          {/* Here You can add any icon you want inside the BreadcrumbSeparator */}\r\n          <BreadcrumbSeparator>/</BreadcrumbSeparator>\r\n        </BreadcrumbItem>\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"/about\">About</BreadcrumbLink>\r\n          <BreadcrumbSeparator>/</BreadcrumbSeparator>\r\n        </BreadcrumbItem>\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"/about/team\">Team</BreadcrumbLink>\r\n        </BreadcrumbItem>\r\n      </BreadcrumbList>\r\n    </Breadcrumb>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/breadcrumb-demo/breadcrumb-demo": {
    "content": "import {\r\n  Breadcrumb,\r\n  BreadcrumbItem,\r\n  BreadcrumbLink,\r\n  BreadcrumbList,\r\n  BreadcrumbPage,\r\n  BreadcrumbSeparator,\r\n} from \"@/components/ui/breadcrumb\"\r\nimport { HiHome } from \"react-icons/hi2\"\r\n\r\nexport default function BreadcrumbDemo() {\r\n  return (\r\n    <Breadcrumb>\r\n      <BreadcrumbList>\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"#\">\r\n            <HiHome className=\"h-4 w-4\" />\r\n          </BreadcrumbLink>\r\n        </BreadcrumbItem>\r\n        <BreadcrumbSeparator />\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"#\">Documents</BreadcrumbLink>\r\n        </BreadcrumbItem>\r\n        <BreadcrumbSeparator />\r\n        <BreadcrumbItem>\r\n          <BreadcrumbPage>Current Page</BreadcrumbPage>\r\n        </BreadcrumbItem>\r\n      </BreadcrumbList>\r\n    </Breadcrumb>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/breadcrumb-demo/breadcrumb-dropdown-demo": {
    "content": "import {\r\n  Breadcrumb,\r\n  BreadcrumbEllipsis,\r\n  BreadcrumbItem,\r\n  BreadcrumbLink,\r\n  BreadcrumbList,\r\n  BreadcrumbSeparator,\r\n} from \"@/components/ui/breadcrumb\"\r\nimport {\r\n  DropdownMenu,\r\n  DropdownMenuContent,\r\n  DropdownMenuItem,\r\n  DropdownMenuTrigger,\r\n} from \"@/components/ui/dropdown-menu\"\r\n\r\nexport default function BreadcrumbDropdownDemo() {\r\n  return (\r\n    <Breadcrumb>\r\n      <BreadcrumbList>\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"/\">Home</BreadcrumbLink>\r\n          <BreadcrumbSeparator />\r\n        </BreadcrumbItem>\r\n        <BreadcrumbItem>\r\n          <DropdownMenu>\r\n            <DropdownMenuTrigger asChild>\r\n              <span className=\"cursor-pointer\">\r\n                <BreadcrumbEllipsis />\r\n              </span>\r\n            </DropdownMenuTrigger>\r\n            <DropdownMenuContent>\r\n              <DropdownMenuItem>\r\n                <BreadcrumbLink href=\"/products\">Products</BreadcrumbLink>\r\n              </DropdownMenuItem>\r\n              <DropdownMenuItem>\r\n                <BreadcrumbLink href=\"/services\">Services</BreadcrumbLink>\r\n              </DropdownMenuItem>\r\n              <DropdownMenuItem>\r\n                <BreadcrumbLink href=\"/blog\">Blog</BreadcrumbLink>\r\n              </DropdownMenuItem>\r\n            </DropdownMenuContent>\r\n          </DropdownMenu>\r\n          <BreadcrumbSeparator />\r\n        </BreadcrumbItem>\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"/current\">Current Page</BreadcrumbLink>\r\n        </BreadcrumbItem>\r\n      </BreadcrumbList>\r\n    </Breadcrumb>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/breadcrumb-demo/breadcrumb-ellipsis-demo": {
    "content": "import {\r\n  Breadcrumb,\r\n  BreadcrumbEllipsis,\r\n  BreadcrumbItem,\r\n  BreadcrumbLink,\r\n  BreadcrumbList,\r\n  BreadcrumbPage,\r\n  BreadcrumbSeparator,\r\n} from \"@/components/ui/breadcrumb\"\r\nimport { HiHome } from \"react-icons/hi2\"\r\n\r\nexport default function BreadcrumbEllipsisDemo() {\r\n  return (\r\n    <Breadcrumb>\r\n      <BreadcrumbList>\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"#\">\r\n            <HiHome className=\"h-4 w-4\" />\r\n          </BreadcrumbLink>\r\n        </BreadcrumbItem>\r\n        <BreadcrumbSeparator />\r\n        <BreadcrumbItem>\r\n          <BreadcrumbEllipsis />\r\n        </BreadcrumbItem>\r\n        <BreadcrumbSeparator />\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"#\">Projects</BreadcrumbLink>\r\n        </BreadcrumbItem>\r\n        <BreadcrumbSeparator />\r\n        <BreadcrumbItem>\r\n          <BreadcrumbPage>Current Page</BreadcrumbPage>\r\n        </BreadcrumbItem>\r\n      </BreadcrumbList>\r\n    </Breadcrumb>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/breadcrumb-demo/breadcrumb-icons-demo": {
    "content": "import { HiDocument, HiFolder, HiHome } from \"react-icons/hi2\"\r\n\r\nimport {\r\n  Breadcrumb,\r\n  BreadcrumbItem,\r\n  BreadcrumbLink,\r\n  BreadcrumbList,\r\n  BreadcrumbPage,\r\n  BreadcrumbSeparator,\r\n} from \"@/components/ui/breadcrumb\"\r\n\r\nexport default function BreadcrumbIconsDemo() {\r\n  return (\r\n    <Breadcrumb>\r\n      <BreadcrumbList>\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"#\" className=\"flex items-center gap-1\">\r\n            <HiHome className=\"h-4 w-4\" />\r\n            <span>Home</span>\r\n          </BreadcrumbLink>\r\n        </BreadcrumbItem>\r\n        <BreadcrumbSeparator />\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"#\" className=\"flex items-center gap-1\">\r\n            <HiFolder className=\"h-4 w-4\" />\r\n            <span>Projects</span>\r\n          </BreadcrumbLink>\r\n        </BreadcrumbItem>\r\n        <BreadcrumbSeparator />\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"#\" className=\"flex items-center gap-1\">\r\n            <HiFolder className=\"h-4 w-4\" />\r\n            <span>Web Development</span>\r\n          </BreadcrumbLink>\r\n        </BreadcrumbItem>\r\n        <BreadcrumbSeparator />\r\n        <BreadcrumbItem>\r\n          <BreadcrumbPage className=\"flex items-center gap-1\">\r\n            <HiDocument className=\"h-4 w-4\" />\r\n            <span>Project Details</span>\r\n          </BreadcrumbPage>\r\n        </BreadcrumbItem>\r\n      </BreadcrumbList>\r\n    </Breadcrumb>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/breadcrumb-demo/breadcrumb-responsive-demo": {
    "content": "import {\r\n  Breadcrumb,\r\n  BreadcrumbItem,\r\n  BreadcrumbLink,\r\n  BreadcrumbList,\r\n  BreadcrumbSeparator,\r\n} from \"@/components/ui/breadcrumb\"\r\n\r\nexport default function BreadcrumbResponsiveDemo() {\r\n  return (\r\n    <Breadcrumb>\r\n      <BreadcrumbList className=\"flex flex-wrap\">\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"/\">Home</BreadcrumbLink>\r\n          <BreadcrumbSeparator />\r\n        </BreadcrumbItem>\r\n        <BreadcrumbItem className=\"hidden sm:flex\">\r\n          <BreadcrumbLink href=\"/category\">Category</BreadcrumbLink>\r\n          <BreadcrumbSeparator />\r\n        </BreadcrumbItem>\r\n        <BreadcrumbItem className=\"hidden md:flex\">\r\n          <BreadcrumbLink href=\"/category/subcategory\">\r\n            Subcategory\r\n          </BreadcrumbLink>\r\n          <BreadcrumbSeparator />\r\n        </BreadcrumbItem>\r\n        <BreadcrumbItem>\r\n          <BreadcrumbLink href=\"/category/subcategory/item\">\r\n            Item\r\n          </BreadcrumbLink>\r\n        </BreadcrumbItem>\r\n      </BreadcrumbList>\r\n    </Breadcrumb>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-bounce-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\n\r\nexport default function ButtonBounceDemo() {\r\n  return (\r\n    <Button animation={\"bounce\"}>Bounce Animation</Button>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\n\r\nexport default function ButtonDemo() {\r\n  return <Button variant={\"default\"}>Getting Started</Button>\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-destructive-demo": {
    "content": "\r\nimport { Button } from \"@/components/ui/button\"\r\n\r\nexport default function ButtonDestructiveDemo() {\r\n  return (\r\n    <Button variant=\"destructive\">Destructive</Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-ghost-demo": {
    "content": "import { Button } from \"@/components/ui/button\";\r\n\r\n\r\nexport default function ButtonGhostDemo() {\r\n  return (\r\n    <Button variant=\"ghost\">Ghost</Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-icon-demo": {
    "content": "import React from \"react\"\r\nimport { ChevronRightIcon } from \"lucide-react\"\r\nimport { Button } from \"@/components/ui/button\"\r\n\r\nexport default function ButtonIconDemo() {\r\n  return (\r\n    <Button variant=\"default\" icon={<ChevronRightIcon size={16} />}>\r\n      Next\r\n    </Button>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-link-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport Link from \"next/link\"\r\n\r\nexport default function ButtonLinkDemo() {\r\n  return (\r\n    <Button variant=\"link\" asChild>\r\n      <Link href={\"/href\"}>Link</Link>\r\n    </Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-loading-demo": {
    "content": "import { Button } from \"@/components/ui/button\";\r\n\r\n\r\nexport default function ButtonLoadingDemo() {\r\n  return (\r\n    <Button variant=\"default\" isLoading>\r\n      Loading\r\n    </Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-neural-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\n\r\nexport default function ButtonNeuralDemo() {\r\n  return (\r\n    <Button variant=\"neural\">Neural</Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-outline-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\n\r\nexport default function ButtonOutlineDemo() {\r\n  return (\r\n    <Button variant=\"outline\">Outline</Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-primary-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\n\r\nexport default function ButtonPrimaryDemo() {\r\n  return (\r\n    <Button variant=\"default\">\r\n      Primary\r\n    </Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-pulse-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\n\r\nexport default function ButtonPulseDemo() {\r\n  return (\r\n    <Button animation=\"pulse\">Pulse Animation</Button>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/button-demo/button-secondary-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\n\r\nexport default function ButtonSecondaryDemo() {\r\n  return (\r\n    <Button variant=\"secondary\">Secondary</Button>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-demo": {
    "content": "\"use client\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport {\n    DropdownMenu,\n    DropdownMenuContent,\n    DropdownMenuGroup,\n    DropdownMenuItem,\n    DropdownMenuRadioGroup,\n    DropdownMenuRadioItem,\n    DropdownMenuSeparator,\n    DropdownMenuSub,\n    DropdownMenuSubContent,\n    DropdownMenuSubTrigger,\n    DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\nimport {\n    ArchiveIcon,\n    ArrowLeftIcon,\n    CalendarPlusIcon,\n    ClockIcon,\n    ListFilterPlusIcon,\n    MailCheckIcon,\n    MoreHorizontalIcon,\n    TagIcon,\n    Trash2Icon,\n} from \"lucide-react\"\nimport * as React from \"react\"\n\nexport function ButtonGroupDemo() {\n    const [label, setLabel] = React.useState(\"personal\")\n\n    return (\n        <ButtonGroup>\n            <ButtonGroup className=\"hidden sm:flex\">\n                <Button variant=\"outline\" size=\"icon\" aria-label=\"Go Back\">\n                    <ArrowLeftIcon />\n                </Button>\n            </ButtonGroup>\n            <ButtonGroup>\n                <Button variant=\"outline\">Archive</Button>\n                <Button variant=\"outline\">Report</Button>\n            </ButtonGroup>\n            <ButtonGroup>\n                <Button variant=\"outline\">Snooze</Button>\n                <DropdownMenu>\n                    <DropdownMenuTrigger asChild>\n                        <Button variant=\"outline\" size=\"icon\" aria-label=\"More Options\">\n                            <MoreHorizontalIcon />\n                        </Button>\n                    </DropdownMenuTrigger>\n                    <DropdownMenuContent align=\"end\" className=\"w-52\">\n                        <DropdownMenuGroup>\n                            <DropdownMenuItem>\n                                <MailCheckIcon />\n                                Mark as Read\n                            </DropdownMenuItem>\n                            <DropdownMenuItem>\n                                <ArchiveIcon />\n                                Archive\n                            </DropdownMenuItem>\n                        </DropdownMenuGroup>\n                        <DropdownMenuSeparator />\n                        <DropdownMenuGroup>\n                            <DropdownMenuItem>\n                                <ClockIcon />\n                                Snooze\n                            </DropdownMenuItem>\n                            <DropdownMenuItem>\n                                <CalendarPlusIcon />\n                                Add to Calendar\n                            </DropdownMenuItem>\n                            <DropdownMenuItem>\n                                <ListFilterPlusIcon />\n                                Add to List\n                            </DropdownMenuItem>\n                            <DropdownMenuSub>\n                                <DropdownMenuSubTrigger>\n                                    <TagIcon />\n                                    Label As...\n                                </DropdownMenuSubTrigger>\n                                <DropdownMenuSubContent>\n                                    <DropdownMenuRadioGroup\n                                        value={label}\n                                        onValueChange={setLabel}\n                                    >\n                                        <DropdownMenuRadioItem value=\"personal\">\n                                            Personal\n                                        </DropdownMenuRadioItem>\n                                        <DropdownMenuRadioItem value=\"work\">\n                                            Work\n                                        </DropdownMenuRadioItem>\n                                        <DropdownMenuRadioItem value=\"other\">\n                                            Other\n                                        </DropdownMenuRadioItem>\n                                    </DropdownMenuRadioGroup>\n                                </DropdownMenuSubContent>\n                            </DropdownMenuSub>\n                        </DropdownMenuGroup>\n                        <DropdownMenuSeparator />\n                        <DropdownMenuGroup>\n                            <DropdownMenuItem>\n                                <Trash2Icon />\n                                Trash\n                            </DropdownMenuItem>\n                        </DropdownMenuGroup>\n                    </DropdownMenuContent>\n                </DropdownMenu>\n            </ButtonGroup>\n        </ButtonGroup>\n    )\n}\n\nexport default ButtonGroupDemo",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-dropdown-menu-demo": {
    "content": "\"use client\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport {\n    DropdownMenu,\n    DropdownMenuContent,\n    DropdownMenuGroup,\n    DropdownMenuItem,\n    DropdownMenuSeparator,\n    DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\nimport {\n    AlertTriangleIcon,\n    CheckIcon,\n    ChevronDownIcon,\n    CopyIcon,\n    ShareIcon,\n    TrashIcon,\n    UserRoundXIcon,\n    VolumeOffIcon,\n} from \"lucide-react\"\n\nexport function ButtonGroupDropdownMenuDemo() {\n    return (\n        <ButtonGroup>\n            <Button variant=\"outline\">Follow</Button>\n            <DropdownMenu>\n                <DropdownMenuTrigger asChild>\n                    <Button variant=\"outline\" className=\"!pl-2\">\n                        <ChevronDownIcon />\n                    </Button>\n                </DropdownMenuTrigger>\n                <DropdownMenuContent align=\"end\" className=\"[--radius:1rem]\">\n                    <DropdownMenuGroup>\n                        <DropdownMenuItem>\n                            <VolumeOffIcon />\n                            Mute Conversation\n                        </DropdownMenuItem>\n                        <DropdownMenuItem>\n                            <CheckIcon />\n                            Mark as Read\n                        </DropdownMenuItem>\n                        <DropdownMenuItem>\n                            <AlertTriangleIcon />\n                            Report Conversation\n                        </DropdownMenuItem>\n                        <DropdownMenuItem>\n                            <UserRoundXIcon />\n                            Block User\n                        </DropdownMenuItem>\n                        <DropdownMenuItem>\n                            <ShareIcon />\n                            Share Conversation\n                        </DropdownMenuItem>\n                        <DropdownMenuItem>\n                            <CopyIcon />\n                            Copy Conversation\n                        </DropdownMenuItem>\n                    </DropdownMenuGroup>\n                    <DropdownMenuSeparator />\n                    <DropdownMenuGroup>\n                        <DropdownMenuItem>\n                            <TrashIcon />\n                            Delete Conversation\n                        </DropdownMenuItem>\n                    </DropdownMenuGroup>\n                </DropdownMenuContent>\n            </DropdownMenu>\n        </ButtonGroup>\n    )\n}\n\nexport default ButtonGroupDropdownMenuDemo",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-input-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { ButtonGroup } from \"@/components/ui/button-group\"\r\nimport { Input } from \"@/components/ui/input\"\r\nimport { SearchIcon } from \"lucide-react\"\r\n\r\nexport default function ButtonGroupInput() {\r\n    return (\r\n        <ButtonGroup>\r\n            <Input placeholder=\"Search...\" />\r\n            <Button variant=\"outline\" aria-label=\"Search\" size=\"sm\">\r\n                <SearchIcon />\r\n            </Button>\r\n        </ButtonGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-input-group-demo": {
    "content": "\"use client\"\r\n\r\nimport { Button } from \"@/components/ui/button\"\r\nimport { ButtonGroup } from \"@/components/ui/button-group\"\r\nimport {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupButton,\r\n    InputGroupInput,\r\n} from \"@/components/ui/input-group\"\r\nimport {\r\n    Tooltip,\r\n    TooltipContent,\r\n    TooltipTrigger,\r\n    TooltipProvider\r\n} from \"@/components/ui/tooltip\"\r\nimport { AudioLinesIcon, PlusIcon } from \"lucide-react\"\r\nimport * as React from \"react\"\r\n\r\nexport function ButtonGroupInputGroupDemo() {\r\n    const [voiceEnabled, setVoiceEnabled] = React.useState(false)\r\n\r\n    return (\r\n        <ButtonGroup className=\"[--radius:9999rem]\">\r\n            <ButtonGroup>\r\n                <Button variant=\"outline\" size=\"icon\">\r\n                    <PlusIcon />\r\n                </Button>\r\n            </ButtonGroup>\r\n            <ButtonGroup>\r\n                <InputGroup>\r\n                    <InputGroupInput\r\n                        placeholder={\r\n                            voiceEnabled ? \"Record and send audio...\" : \"Send a message...\"\r\n                        }\r\n                        disabled={voiceEnabled}\r\n                    />\r\n                    <InputGroupAddon align=\"inline-end\">\r\n                        <TooltipProvider>\r\n                            <Tooltip>\r\n                                <TooltipTrigger asChild>\r\n                                    <InputGroupButton\r\n                                        onClick={() => setVoiceEnabled(!voiceEnabled)}\r\n                                        size=\"icon-xs\"\r\n                                        data-active={voiceEnabled}\r\n                                        className=\"data-[active=true]:bg-orange-100 data-[active=true]:text-orange-700 dark:data-[active=true]:bg-orange-800 dark:data-[active=true]:text-orange-100\"\r\n                                        aria-pressed={voiceEnabled}\r\n                                    >\r\n                                        <AudioLinesIcon />\r\n                                    </InputGroupButton>\r\n                                </TooltipTrigger>\r\n                                <TooltipContent>Voice Mode</TooltipContent>\r\n                            </Tooltip>\r\n                        </TooltipProvider>\r\n                    </InputGroupAddon>\r\n                </InputGroup>\r\n            </ButtonGroup>\r\n        </ButtonGroup>\r\n    )\r\n}\r\n\r\nexport default ButtonGroupInputGroupDemo",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-nested-demo": {
    "content": "\"use client\"\n\nimport { ArrowLeftIcon, ArrowRightIcon } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\n\nexport function ButtonGroupNested() {\n    return (\n        <ButtonGroup>\n            <ButtonGroup>\n                <Button variant=\"outline\" size=\"sm\">\n                    1\n                </Button>\n                <Button variant=\"outline\" size=\"sm\">\n                    2\n                </Button>\n                <Button variant=\"outline\" size=\"sm\">\n                    3\n                </Button>\n                <Button variant=\"outline\" size=\"sm\">\n                    4\n                </Button>\n                <Button variant=\"outline\" size=\"sm\">\n                    5\n                </Button>\n            </ButtonGroup>\n            <ButtonGroup>\n                <Button variant=\"outline\" size=\"sm\" aria-label=\"Previous\">\n                    <ArrowLeftIcon />\n                </Button>\n                <Button variant=\"outline\" size=\"sm\" aria-label=\"Next\">\n                    <ArrowRightIcon />\n                </Button>\n            </ButtonGroup>\n        </ButtonGroup>\n    )\n}\n\nexport default ButtonGroupNested",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-orientation-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport { MinusIcon, PlusIcon } from \"lucide-react\"\n\nexport function ButtonGroupOrientation() {\n    return (\n        <ButtonGroup\n            orientation=\"vertical\"\n            aria-label=\"Media controls\"\n            className=\"h-fit\"\n        >\n            <Button variant=\"outline\" size=\"icon\">\n                <PlusIcon />\n            </Button>\n            <Button variant=\"outline\" size=\"icon\">\n                <MinusIcon />\n            </Button>\n        </ButtonGroup>\n    )\n}\n\nexport default ButtonGroupOrientation",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-popover-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport {\n    Popover,\n    PopoverContent,\n    PopoverTrigger,\n} from \"@/components/ui/popover\"\nimport { Separator } from \"@/components/ui/separator\"\nimport { Checkbox } from \"@/components/ui/checkbox\"\nimport { Input } from \"@/components/ui/input\"\nimport { BotIcon, ChevronDownIcon, PlayIcon, UsersIcon } from \"lucide-react\"\n\nexport function ButtonGroupPopoverDemo() {\n    return (\n        <ButtonGroup>\n            <Button variant=\"outline\">\n                <BotIcon /> AI Sprint Planner\n            </Button>\n            <Popover>\n                <PopoverTrigger asChild>\n                    <Button variant=\"outline\" size=\"icon\" aria-label=\"Open sprint planner\">\n                        <ChevronDownIcon />\n                    </Button>\n                </PopoverTrigger>\n                <PopoverContent align=\"end\" className=\"w-80 rounded-xl p-0 text-sm\">\n                    <div className=\"px-4 py-3\">\n                        <div className=\"text-sm font-medium\">Sprint setup</div>\n                        <p className=\"text-xs text-muted-foreground\">Define a goal and pick quick tasks</p>\n                    </div>\n                    <Separator />\n                    <div className=\"p-4 grid gap-3\">\n                        <div className=\"grid gap-2\">\n                            <label className=\"text-xs font-medium\" htmlFor=\"sprint-goal\">\n                                Sprint goal\n                            </label>\n                            <Input id=\"sprint-goal\" placeholder=\"e.g. Ship onboarding v2\" />\n                        </div>\n                        <div className=\"grid gap-2\">\n                            <div className=\"text-xs font-medium\">Quick tasks</div>\n                            <ul className=\"space-y-2\">\n                                <li className=\"flex items-center gap-2\">\n                                    <Checkbox id=\"task-schemas\" aria-label=\"Generate DB schemas\" />\n                                    <label htmlFor=\"task-schemas\" className=\"cursor-pointer text-sm\">\n                                        Generate DB schemas\n                                    </label>\n                                </li>\n                                <li className=\"flex items-center gap-2\">\n                                    <Checkbox id=\"task-ci\" aria-label=\"Setup CI\" />\n                                    <label htmlFor=\"task-ci\" className=\"cursor-pointer text-sm\">\n                                        Setup CI\n                                    </label>\n                                </li>\n                                <li className=\"flex items-center gap-2\">\n                                    <Checkbox id=\"task-stories\" aria-label=\"Draft user stories\" />\n                                    <label htmlFor=\"task-stories\" className=\"cursor-pointer text-sm\">\n                                        Draft user stories\n                                    </label>\n                                </li>\n                            </ul>\n                        </div>\n                        <div className=\"flex items-center justify-end gap-2 pt-1\">\n                            <Button variant=\"ghost\" size=\"sm\">\n                                <UsersIcon className=\"mr-1 h-4 w-4\" /> Assign\n                            </Button>\n                            <Button size=\"sm\">\n                                <PlayIcon className=\"mr-1 h-4 w-4\" /> Start\n                            </Button>\n                        </div>\n                    </div>\n                </PopoverContent>\n            </Popover>\n        </ButtonGroup>\n    )\n}\n\nexport default ButtonGroupPopoverDemo",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-select-demo": {
    "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { ArrowRightIcon, RefreshCcwIcon } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\nimport { Input } from \"@/components/ui/input\"\nimport {\n    Select,\n    SelectContent,\n    SelectItem,\n    SelectTrigger,\n} from \"@/components/ui/select\"\n\nconst UNITS = [\n    { value: \"km\", label: \"Kilometers\" },\n    { value: \"mi\", label: \"Miles\" },\n]\n\nexport function ButtonGroupSelect() {\n    const [unit, setUnit] = React.useState<\"km\" | \"mi\">(\"km\")\n    const [amount, setAmount] = React.useState(\"\")\n\n    const parsed = Number(amount)\n    const valid = amount === \"\" || (!Number.isNaN(parsed) && parsed >= 0)\n    const converted = React.useMemo(() => {\n        if (Number.isNaN(parsed) || amount === \"\") return \"\"\n        return unit === \"km\"\n            ? (parsed * 0.621371).toFixed(2) + \" mi\"\n            : (parsed / 0.621371).toFixed(2) + \" km\"\n    }, [amount, parsed, unit])\n\n    return (\n        <ButtonGroup>\n            <ButtonGroup>\n                <Select value={unit} onValueChange={(v) => setUnit(v as \"km\" | \"mi\")}>\n                    <SelectTrigger className=\"w-28\">\n                        {unit === \"km\" ? \"Kilometers\" : \"Miles\"}\n                    </SelectTrigger>\n                    <SelectContent className=\"min-w-36\">\n                        {UNITS.map((u) => (\n                            <SelectItem key={u.value} value={u.value}>\n                                {u.label}\n                            </SelectItem>\n                        ))}\n                    </SelectContent>\n                </Select>\n                <Input\n                    inputMode=\"decimal\"\n                    placeholder={unit === \"km\" ? \"Distance in km\" : \"Distance in mi\"}\n                    value={amount}\n                    onChange={(e) => setAmount(e.target.value)}\n                    aria-invalid={!valid}\n                    className={!valid ? \"border-destructive\" : undefined}\n                />\n            </ButtonGroup>\n            <ButtonGroup>\n                <Button aria-label=\"Convert\" size=\"icon\" variant=\"outline\" disabled={!valid || amount === \"\"}>\n                    <ArrowRightIcon />\n                </Button>\n                <Button aria-label=\"Swap units\" size=\"icon\" variant=\"outline\" onClick={() => setUnit(unit === \"km\" ? \"mi\" : \"km\")}>\n                    <RefreshCcwIcon />\n                </Button>\n            </ButtonGroup>\n            <ButtonGroup>\n                <Button variant=\"ghost\" disabled className=\"pointer-events-none\">\n                    {converted || \"—\"}\n                </Button>\n            </ButtonGroup>\n        </ButtonGroup>\n    )\n}\n\nexport default ButtonGroupSelect",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-separator-demo": {
    "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n    ButtonGroup,\n    ButtonGroupSeparator,\n} from \"@/components/ui/button-group\"\nimport { AlignLeft, AlignCenter, AlignRight } from \"lucide-react\"\n\nexport function ButtonGroupSeparatorDemo() {\n    const [align, setAlign] = React.useState<\"left\" | \"center\" | \"right\">(\"left\")\n\n    return (\n        <ButtonGroup>\n            <Button\n                variant={align === \"left\" ? \"secondary\" : \"ghost\"}\n                size=\"sm\"\n                aria-pressed={align === \"left\"}\n                onClick={() => setAlign(\"left\")}\n                aria-label=\"Align left\"\n            >\n                <AlignLeft className=\"mr-1 h-4 w-4\" /> Left\n            </Button>\n            <ButtonGroupSeparator />\n            <Button\n                variant={align === \"center\" ? \"secondary\" : \"ghost\"}\n                size=\"sm\"\n                aria-pressed={align === \"center\"}\n                onClick={() => setAlign(\"center\")}\n                aria-label=\"Align center\"\n            >\n                <AlignCenter className=\"mr-1 h-4 w-4\" /> Center\n            </Button>\n            <ButtonGroupSeparator />\n            <Button\n                variant={align === \"right\" ? \"secondary\" : \"ghost\"}\n                size=\"sm\"\n                aria-pressed={align === \"right\"}\n                onClick={() => setAlign(\"right\")}\n                aria-label=\"Align right\"\n            >\n                <AlignRight className=\"mr-1 h-4 w-4\" /> Right\n            </Button>\n        </ButtonGroup>\n    )\n}\n\nexport default ButtonGroupSeparatorDemo",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-size-demo": {
    "content": "import { PlusIcon, CheckIcon } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport { ButtonGroup } from \"@/components/ui/button-group\"\n\nexport function ButtonGroupSize() {\n    return (\n        <div className=\"flex flex-col items-start gap-8\">\n            <ButtonGroup>\n                <Button variant=\"outline\" size=\"sm\">Tiny</Button>\n                <Button variant=\"secondary\" size=\"sm\">Label</Button>\n                <Button variant=\"secondary\" size=\"sm\" disabled>\n                    Disabled\n                </Button>\n                <Button variant=\"outline\" size=\"sm\" aria-label=\"Add\">\n                    <PlusIcon />\n                </Button>\n            </ButtonGroup>\n            <ButtonGroup>\n                <Button variant=\"default\">Default</Button>\n                <Button variant=\"outline\">Primary</Button>\n                <Button variant=\"ghost\">Ghost</Button>\n                <Button variant=\"outline\" size=\"icon\" aria-label=\"Confirm\">\n                    <CheckIcon />\n                </Button>\n            </ButtonGroup>\n            <ButtonGroup>\n                <Button variant=\"outline\" size=\"lg\">Large</Button>\n                <Button variant=\"secondary\" size=\"lg\">Action</Button>\n                <Button variant=\"secondary\" size=\"lg\">Review</Button>\n                <Button variant=\"outline\" size=\"lg\" aria-label=\"Add large\">\n                    <PlusIcon />\n                </Button>\n            </ButtonGroup>\n        </div>\n    )\n}\n\nexport default ButtonGroupSize",
    "language": "tsx"
  },
  "@/registry/examples/button-group-demo/button-group-split-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\nimport {\n    ButtonGroup,\n    ButtonGroupSeparator,\n} from \"@/components/ui/button-group\"\nimport { IconPlus, IconChevronDown } from \"@tabler/icons-react\"\n\nexport function ButtonGroupSplit() {\n    return (\n        <ButtonGroup>\n            <Button variant=\"secondary\" aria-label=\"Create item\">\n                New\n            </Button>\n            <ButtonGroupSeparator />\n            <Button size=\"icon\" variant=\"secondary\" aria-label=\"Quick add\">\n                <IconPlus />\n            </Button>\n            <Button size=\"icon\" variant=\"secondary\" aria-label=\"More create options\">\n                <IconChevronDown />\n            </Button>\n        </ButtonGroup>\n    )\n}\n\nexport default ButtonGroupSplit",
    "language": "tsx"
  },
  "@/registry/examples/calendar-demo/calendar-arabic-demo": {
    "content": "\"use client\"\r\n\r\nimport { Calendar } from \"@/components/ui/calendar\"\r\nimport { arSA } from \"date-fns/locale\"\r\nimport * as React from \"react\"\r\n\r\nconst convertToArabicDigits = (num: number): string => {\r\n  const arabicDigits = [\"٠\", \"١\", \"٢\", \"٣\", \"٤\", \"٥\", \"٦\", \"٧\", \"٨\", \"٩\"]\r\n  return num.toString().replace(/[0-9]/g, (w) => arabicDigits[+w])\r\n}\r\n\r\nexport default function CalendarArabicDemo() {\r\n  const [date, setDate] = React.useState<Date | undefined>(new Date())\r\n\r\n  const formatters = {\r\n    formatDay: (day: Date) => convertToArabicDigits(day.getDate()),\r\n  }\r\n\r\n  return (\r\n    <Calendar\r\n      locale={arSA}\r\n      dir=\"rtl\"\r\n      mode=\"single\"\r\n      selected={date}\r\n      onSelect={setDate}\r\n      formatters={formatters}\r\n    />\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/calendar-demo/calendar-demo": {
    "content": "\"use client\"\r\n\r\nimport { Calendar } from \"@/components/ui/calendar\"\r\nimport * as React from \"react\"\r\n\r\nexport default function CalendarDemo() {\r\n  const [date, setDate] = React.useState<Date | undefined>(new Date())\r\n\r\n  return <Calendar mode=\"single\" selected={date} onSelect={setDate} />\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/card-demo": {
    "content": "\"use client\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n    Card,\r\n    CardContent,\r\n    CardDescription,\r\n    CardHeader,\r\n    CardTitle,\r\n} from \"@/components/ui/card\"\r\nimport { Input } from \"@/components/ui/input\"\r\nimport { Label } from \"@/components/ui/label\"\r\nimport Link from \"next/link\"\r\nimport type React from \"react\"\r\nimport { useState } from \"react\"\r\nimport { FcGoogle } from \"react-icons/fc\"\r\nimport { FiEye, FiEyeOff } from \"react-icons/fi\"\r\n\r\nexport default function CardDemo({\r\n    className,\r\n    ...props\r\n}: React.ComponentPropsWithoutRef<\"div\">) {\r\n    const [showPassword, setShowPassword] = useState(false)\r\n\r\n    const togglePasswordVisibility = () => {\r\n        setShowPassword(!showPassword)\r\n    }\r\n\r\n    return (\r\n        <div className={cn(\"flex flex-col gap-6\", className)} {...props}>\r\n            <Card>\r\n                <CardHeader>\r\n                    <CardTitle className=\"text-2xl\">Login</CardTitle>\r\n                    <CardDescription>\r\n                        Enter your email below to login to your account\r\n                    </CardDescription>\r\n                </CardHeader>\r\n                <CardContent>\r\n                    <form>\r\n                        <div className=\"flex flex-col gap-6\">\r\n                            <div className=\"grid gap-2\">\r\n                                <Label htmlFor=\"email\">Email</Label>\r\n                                <Input\r\n                                    id=\"email\"\r\n                                    type=\"email\"\r\n                                    placeholder=\"m@example.com\"\r\n                                    required\r\n                                />\r\n                            </div>\r\n                            <div className=\"grid gap-2\">\r\n                                <div className=\"flex items-center\">\r\n                                    <Label htmlFor=\"password\">Password</Label>\r\n                                    <a\r\n                                        href=\"#\"\r\n                                        className=\"ml-auto inline-block text-sm underline-offset-4 hover:underline\"\r\n                                    >\r\n                                        Forgot your password?\r\n                                    </a>\r\n                                </div>\r\n                                <div className=\"relative\">\r\n                                    <Input\r\n                                        id=\"password\"\r\n                                        type={showPassword ? \"text\" : \"password\"}\r\n                                        required\r\n                                    />\r\n                                    <Button\r\n                                        type=\"button\"\r\n                                        variant=\"ghost\"\r\n                                        size=\"sm\"\r\n                                        className=\"absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent\"\r\n                                        onClick={togglePasswordVisibility}\r\n                                        aria-label={\r\n                                            showPassword ? \"Hide password\" : \"Show password\"\r\n                                        }\r\n                                    >\r\n                                        {showPassword ? (\r\n                                            <FiEyeOff className=\"h-4 w-4 text-gray-500\" />\r\n                                        ) : (\r\n                                            <FiEye className=\"h-4 w-4 text-gray-500\" />\r\n                                        )}\r\n                                        <span className=\"sr-only\">\r\n                                            {showPassword ? \"Hide password\" : \"Show password\"}\r\n                                        </span>\r\n                                    </Button>\r\n                                </div>\r\n                            </div>\r\n                            <Button type=\"submit\" className=\"w-full\">\r\n                                Login\r\n                            </Button>\r\n                            <Button variant=\"outline\" className=\"w-full\">\r\n                                <FcGoogle className=\"inline-block text-lg \" />\r\n                                Login with Google\r\n                            </Button>\r\n                        </div>\r\n                        <div className=\"mt-4 text-center text-sm\">\r\n                            Don&apos;t have an account?{\" \"}\r\n                            <Link\r\n                                href=\"/view/signup-1\"\r\n                                className=\"underline underline-offset-4\"\r\n                            >\r\n                                Sign up\r\n                            </Link>\r\n                        </div>\r\n                    </form>\r\n                </CardContent>\r\n            </Card>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/carousel-demo/carousel-demo": {
    "content": "\r\nimport { Card, CardContent } from \"@/components/ui/card\"\r\nimport {\r\n    Carousel,\r\n    CarouselContent,\r\n    CarouselItem,\r\n    CarouselNext,\r\n    CarouselPrevious,\r\n} from \"@/components/ui/carousel\"\r\n\r\nexport default function CarouselDemo() {\r\n    return (\r\n        <Carousel className=\"w-full max-w-xs\">\r\n            <CarouselContent>\r\n                {Array.from({ length: 5 }).map((_, index) => (\r\n                    <CarouselItem key={index}>\r\n                        <div className=\"p-1\">\r\n                            <Card>\r\n                                <CardContent className=\"flex aspect-square items-center justify-center p-6\">\r\n                                    <span className=\"text-4xl font-semibold\">{index + 1}</span>\r\n                                </CardContent>\r\n                            </Card>\r\n                        </div>\r\n                    </CarouselItem>\r\n                ))}\r\n            </CarouselContent>\r\n            <CarouselPrevious />\r\n            <CarouselNext />\r\n        </Carousel>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/carousel-demo/carousel-orientation-demo": {
    "content": "\r\nimport { Card, CardContent } from \"@/components/ui/card\"\r\nimport {\r\n    Carousel,\r\n    CarouselContent,\r\n    CarouselItem,\r\n    CarouselNext,\r\n    CarouselPrevious,\r\n} from \"@/components/ui/carousel\"\r\n\r\nexport default function CarouselOrientationDemo() {\r\n    return (\r\n        <Carousel\r\n            opts={{\r\n                align: \"start\",\r\n            }}\r\n            orientation=\"vertical\"\r\n            className=\"w-full max-w-xs\"\r\n        >\r\n            <CarouselContent className=\"-mt-1 h-[200px]\">\r\n                {Array.from({ length: 5 }).map((_, index) => (\r\n                    <CarouselItem key={index} className=\"pt-1 md:basis-1/2\">\r\n                        <div className=\"p-1\">\r\n                            <Card>\r\n                                <CardContent className=\"flex items-center justify-center p-6\">\r\n                                    <span className=\"text-3xl font-semibold\">{index + 1}</span>\r\n                                </CardContent>\r\n                            </Card>\r\n                        </div>\r\n                    </CarouselItem>\r\n                ))}\r\n            </CarouselContent>\r\n            <CarouselPrevious />\r\n            <CarouselNext />\r\n        </Carousel>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/carousel-demo/carousel-sizes-demo": {
    "content": "\r\nimport { Card, CardContent } from \"@/components/ui/card\"\r\nimport {\r\n    Carousel,\r\n    CarouselContent,\r\n    CarouselItem,\r\n    CarouselNext,\r\n    CarouselPrevious,\r\n} from \"@/components/ui/carousel\"\r\n\r\nexport default function CarouselSizeDemo() {\r\n    return (\r\n        <Carousel\r\n            opts={{\r\n                align: \"start\",\r\n            }}\r\n            className=\"w-full max-w-sm\"\r\n        >\r\n            <CarouselContent>\r\n                {Array.from({ length: 5 }).map((_, index) => (\r\n                    <CarouselItem key={index} className=\"md:basis-1/2 lg:basis-1/3\">\r\n                        <div className=\"p-1\">\r\n                            <Card>\r\n                                <CardContent className=\"flex aspect-square items-center justify-center p-6\">\r\n                                    <span className=\"text-3xl font-semibold\">{index + 1}</span>\r\n                                </CardContent>\r\n                            </Card>\r\n                        </div>\r\n                    </CarouselItem>\r\n                ))}\r\n            </CarouselContent>\r\n            <CarouselPrevious />\r\n            <CarouselNext />\r\n        </Carousel>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/carousel-demo/carousel-spacing-demo": {
    "content": "\r\nimport { Card, CardContent } from \"@/components/ui/card\"\r\nimport {\r\n    Carousel,\r\n    CarouselContent,\r\n    CarouselItem,\r\n    CarouselNext,\r\n    CarouselPrevious,\r\n} from \"@/components/ui/carousel\"\r\n\r\nexport default function CarouselSpacingDemo() {\r\n    return (\r\n        <Carousel className=\"w-full max-w-sm\">\r\n            <CarouselContent className=\"-ml-1\">\r\n                {Array.from({ length: 5 }).map((_, index) => (\r\n                    <CarouselItem key={index} className=\"pl-1 md:basis-1/2 lg:basis-1/3\">\r\n                        <div className=\"p-1\">\r\n                            <Card>\r\n                                <CardContent className=\"flex aspect-square items-center justify-center p-6\">\r\n                                    <span className=\"text-2xl font-semibold\">{index + 1}</span>\r\n                                </CardContent>\r\n                            </Card>\r\n                        </div>\r\n                    </CarouselItem>\r\n                ))}\r\n            </CarouselContent>\r\n            <CarouselPrevious />\r\n            <CarouselNext />\r\n        </Carousel>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/checkbox-demo": {
    "content": "\"use client\"\r\n\r\nimport { Checkbox } from \"@/components/ui/checkbox\"\r\nimport { Label } from \"@/components/ui/label\"\r\n\r\nexport default function CheckboxDemo() {\r\n    return (\r\n        <div className=\"flex flex-col gap-6\">\r\n            <div className=\"flex items-center gap-3\">\r\n                <Checkbox id=\"terms\" />\r\n                <Label htmlFor=\"terms\">Accept terms and conditions</Label>\r\n            </div>\r\n            <div className=\"flex items-start gap-3\">\r\n                <Checkbox id=\"terms-2\" defaultChecked />\r\n                <div className=\"grid gap-2\">\r\n                    <Label htmlFor=\"terms-2\">Accept terms and conditions</Label>\r\n                    <p className=\"text-muted-foreground text-sm\">\r\n                        By clicking this checkbox, you agree to the terms and conditions.\r\n                    </p>\r\n                </div>\r\n            </div>\r\n            <div className=\"flex items-start gap-3\">\r\n                <Checkbox id=\"toggle\" disabled />\r\n                <Label htmlFor=\"toggle\">Enable notifications</Label>\r\n            </div>\r\n            <Label className=\"hover:bg-accent/50 flex items-start gap-3 rounded-lg border p-3 has-[[aria-checked=true]]:border-blue-600 has-[[aria-checked=true]]:bg-blue-50 dark:has-[[aria-checked=true]]:border-blue-900 dark:has-[[aria-checked=true]]:bg-blue-950\">\r\n                <Checkbox\r\n                    id=\"toggle-2\"\r\n                    defaultChecked\r\n                    className=\"data-[state=checked]:border-blue-600 data-[state=checked]:bg-blue-600 data-[state=checked]:text-white dark:data-[state=checked]:border-blue-700 dark:data-[state=checked]:bg-blue-700\"\r\n                />\r\n                <div className=\"grid gap-1.5 font-normal\">\r\n                    <p className=\"text-sm leading-none font-medium\">\r\n                        Enable notifications\r\n                    </p>\r\n                    <p className=\"text-muted-foreground text-sm\">\r\n                        You can enable or disable notifications at any time.\r\n                    </p>\r\n                </div>\r\n            </Label>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/code-block-demo": {
    "content": "import { cn } from \"@/lib/utils\"\nimport Pre from \"@/components/pre\"\n\nexport default function CodeBlockDemo({ className }: { className?: string }) {\n  const exampleCode = `import React from 'react'\nimport { Button } from '@/components/ui/button'\n\ninterface Props {\n  title: string\n  description?: string\n  onAction?: () => void\n}\n\nexport function MyComponent({ title, description, onAction }: Props) {\n  return (\n    <div className=\"p-6 bg-background border rounded-lg\">\n      <h2 className=\"text-2xl font-bold mb-2\">{title}</h2>\n      {description && (\n        <p className=\"text-muted-foreground mb-4\">{description}</p>\n      )}\n      <Button onClick={onAction} className=\"w-full\">\n        Click me\n      </Button>\n    </div>\n  )\n}`\n\n  return (\n    <Pre\n      className={cn(\"language-tsx\", className)}\n      title=\"MyComponent.tsx\"\n      description=\"A reusable React component with TypeScript\"\n      highlightLines={[4, 12]}\n      showLineNumbers={true}\n      enableSearch={true}\n      maxHeight={400}\n    >\n      {exampleCode}\n    </Pre>\n  )\n}\n",
    "language": "tsx"
  },
  "@/registry/examples/collapsible-demo/collapsible-demo": {
    "content": "\"use client\"\r\n\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Collapsible,\r\n  CollapsibleContent,\r\n  CollapsibleTrigger,\r\n} from \"@/components/ui/collapsible\"\r\nimport { ChevronsUpDown } from \"lucide-react\"\r\nimport * as React from \"react\"\r\n\r\nexport default function CollapsibleDemo() {\r\n  const [isOpen, setIsOpen] = React.useState(false)\r\n  return (\r\n    <Collapsible\r\n      open={isOpen}\r\n      onOpenChange={setIsOpen}\r\n      className=\"w-[350px] space-y-2\"\r\n    >\r\n      <div className=\"flex items-center justify-between space-x-4 px-4\">\r\n        <h4 className=\"text-sm font-semibold\">\r\n          @peduarte starred 3 repositories\r\n        </h4>\r\n        <CollapsibleTrigger asChild>\r\n          <Button variant=\"ghost\" size=\"sm\">\r\n            <ChevronsUpDown className=\"h-4 w-4\" />\r\n            <span className=\"sr-only\">Toggle</span>\r\n          </Button>\r\n        </CollapsibleTrigger>\r\n      </div>\r\n      <div className=\"rounded-md border px-4 py-2 font-mono text-sm shadow-sm\">\r\n        @radix-ui/primitives\r\n      </div>\r\n      <CollapsibleContent className=\"space-y-2\">\r\n        <div className=\"rounded-md border px-4 py-2 font-mono text-sm shadow-sm\">\r\n          @radix-ui/colors\r\n        </div>\r\n        <div className=\"rounded-md border px-4 py-2 font-mono text-sm shadow-sm\">\r\n          @stitches/react\r\n        </div>\r\n      </CollapsibleContent>\r\n    </Collapsible>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/context-menu-demo": {
    "content": "import {\r\n    ContextMenu,\r\n    ContextMenuCheckboxItem,\r\n    ContextMenuContent,\r\n    ContextMenuItem,\r\n    ContextMenuLabel,\r\n    ContextMenuRadioGroup,\r\n    ContextMenuRadioItem,\r\n    ContextMenuSeparator,\r\n    ContextMenuShortcut,\r\n    ContextMenuSub,\r\n    ContextMenuSubContent,\r\n    ContextMenuSubTrigger,\r\n    ContextMenuTrigger,\r\n} from \"@/components/ui/context-menu\"\r\n\r\nexport default function ContextMenuDemo() {\r\n    return (\r\n        <ContextMenu>\r\n            <ContextMenuTrigger className=\"flex h-[150px] w-[300px] items-center justify-center rounded-md border border-dashed text-sm\">\r\n                Right click here\r\n            </ContextMenuTrigger>\r\n            <ContextMenuContent className=\"w-52\">\r\n                <ContextMenuItem inset>\r\n                    Back\r\n                    <ContextMenuShortcut>⌘[</ContextMenuShortcut>\r\n                </ContextMenuItem>\r\n                <ContextMenuItem inset disabled>\r\n                    Forward\r\n                    <ContextMenuShortcut>⌘]</ContextMenuShortcut>\r\n                </ContextMenuItem>\r\n                <ContextMenuItem inset>\r\n                    Reload\r\n                    <ContextMenuShortcut>⌘R</ContextMenuShortcut>\r\n                </ContextMenuItem>\r\n                <ContextMenuSub>\r\n                    <ContextMenuSubTrigger inset>More Tools</ContextMenuSubTrigger>\r\n                    <ContextMenuSubContent className=\"w-44\">\r\n                        <ContextMenuItem>Save Page...</ContextMenuItem>\r\n                        <ContextMenuItem>Create Shortcut...</ContextMenuItem>\r\n                        <ContextMenuItem>Name Window...</ContextMenuItem>\r\n                        <ContextMenuSeparator />\r\n                        <ContextMenuItem>Developer Tools</ContextMenuItem>\r\n                        <ContextMenuSeparator />\r\n                        <ContextMenuItem className=\"text-destructive focus:text-destructive\">Delete</ContextMenuItem>\r\n                    </ContextMenuSubContent>\r\n                </ContextMenuSub>\r\n                <ContextMenuSeparator />\r\n                <ContextMenuCheckboxItem checked>\r\n                    Show Bookmarks\r\n                </ContextMenuCheckboxItem>\r\n                <ContextMenuCheckboxItem>Show Full URLs</ContextMenuCheckboxItem>\r\n                <ContextMenuSeparator />\r\n                <ContextMenuRadioGroup value=\"pedro\">\r\n                    <ContextMenuLabel inset>People</ContextMenuLabel>\r\n                    <ContextMenuRadioItem value=\"pedro\">\r\n                        Pedro Duarte\r\n                    </ContextMenuRadioItem>\r\n                    <ContextMenuRadioItem value=\"colm\">Colm Tuite</ContextMenuRadioItem>\r\n                </ContextMenuRadioGroup>\r\n            </ContextMenuContent>\r\n        </ContextMenu>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/date-picker-demo/date-picker-demo": {
    "content": "\"use client\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport { Calendar } from \"@/components/ui/calendar\"\r\nimport {\r\n  Popover,\r\n  PopoverContent,\r\n  PopoverTrigger,\r\n} from \"@/components/ui/popover\"\r\nimport { format } from \"date-fns\"\r\nimport { CalendarIcon } from \"lucide-react\"\r\nimport * as React from \"react\"\r\n\r\nexport default function DatePickerDemo() {\r\n  const [date, setDate] = React.useState<Date>()\r\n\r\n  return (\r\n    <Popover>\r\n      <PopoverTrigger asChild>\r\n        <Button\r\n          variant={\"outline\"}\r\n          className={cn(\r\n            \"w-[240px] justify-start text-left font-normal\",\r\n            !date && \"text-muted-foreground\"\r\n          )}\r\n        >\r\n          <CalendarIcon strokeWidth={2.1} absoluteStrokeWidth />\r\n          {date ? (\r\n            format(date, \"PPP\")\r\n          ) : (\r\n            <span className=\"font-normal\">Pick a date</span>\r\n          )}\r\n        </Button>\r\n      </PopoverTrigger>\r\n      <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n        <Calendar\r\n          mode=\"single\"\r\n          selected={date}\r\n          onSelect={setDate}\r\n          initialFocus\r\n        />\r\n      </PopoverContent>\r\n    </Popover>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/date-picker-demo/date-picker-range-demo": {
    "content": "\"use client\"\r\n\r\nimport { Button } from \"@/components/ui/button\"\r\nimport { Calendar } from \"@/components/ui/calendar\"\r\nimport {\r\n  Popover,\r\n  PopoverContent,\r\n  PopoverTrigger,\r\n} from \"@/components/ui/popover\"\r\nimport { cn } from \"@/lib/utils\"\r\nimport { addDays, format } from \"date-fns\"\r\nimport { CalendarIcon } from \"lucide-react\"\r\nimport * as React from \"react\"\r\nimport type { DateRange } from \"react-day-picker\"\r\n\r\nexport default function DatePickerRangeDemo({\r\n  className,\r\n}: React.HTMLAttributes<HTMLDivElement>) {\r\n  const [date, setDate] = React.useState<DateRange | undefined>({\r\n    from: new Date(),\r\n    to: addDays(new Date(), 7),\r\n  })\r\n\r\n  return (\r\n    <div className={cn(\"grid gap-2\", className)}>\r\n      <Popover>\r\n        <PopoverTrigger asChild>\r\n          <Button\r\n            id=\"date\"\r\n            variant={\"outline\"}\r\n            className={cn(\r\n              \"w-full justify-start text-left font-normal\",\r\n              !date && \"text-muted-foreground\"\r\n            )}\r\n          >\r\n            <CalendarIcon strokeWidth={2.1} className=\"mr-2 h-4 w-4\" />\r\n            {date?.from ? (\r\n              date.to ? (\r\n                <span className=\"font-normal\">\r\n                  {format(date.from, \"LLL dd, y\")} -{\" \"}\r\n                  {format(date.to, \"LLL dd, y\")}\r\n                </span>\r\n              ) : (\r\n                format(date.from, \"LLL dd, y\")\r\n              )\r\n            ) : (\r\n              <span className=\"font-normal\">Pick a date</span>\r\n            )}\r\n          </Button>\r\n        </PopoverTrigger>\r\n        <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n          <Calendar\r\n            initialFocus\r\n            mode=\"range\"\r\n            defaultMonth={date?.from}\r\n            selected={date}\r\n            onSelect={setDate}\r\n            numberOfMonths={2}\r\n          />\r\n        </PopoverContent>\r\n      </Popover>\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/diagram-demo/diagram-decision-tree-demo": {
    "content": "import Mermaid from \"@/components/ui/mermaid\"\r\nimport React from \"react\"\r\n\r\nconst DiagramDecisionTreeDemo = () => {\r\n  return (\r\n    <Mermaid\r\n      chart={`graph TD;\r\n    A[Start] --> B{Is it raining?};\r\n    B -->|Yes| C[Take an umbrella];\r\n    B -->|No| D[Enjoy the weather];\r\n    C --> E[Go outside];\r\n    D --> E;`}\r\n    />\r\n  )\r\n}\r\n\r\nexport default DiagramDecisionTreeDemo\r\n",
    "language": "tsx"
  },
  "@/registry/examples/diagram-demo/diagram-demo": {
    "content": "import Mermaid from \"@/components/ui/mermaid\"\r\n\r\nconst DiagramsDemo = () => {\r\n  return (\r\n    <Mermaid\r\n      chart={`graph TD;\r\n    Start --> Task1;\r\n    Task1 --> Task2;\r\n    Task2 --> End;`}\r\n    />\r\n  )\r\n}\r\n\r\nexport default DiagramsDemo\r\n",
    "language": "tsx"
  },
  "@/registry/examples/diagram-demo/diagram-entity-relationship-demo": {
    "content": "import Mermaid from \"@/components/ui/mermaid\"\r\n\r\nconst DiagramsEntityRelationShipDemo = () => {\r\n  return (\r\n    <Mermaid\r\n      chart={`erDiagram\r\n    CUSTOMER ||--o{ ORDER : places\r\n    ORDER ||--|{ LINE-ITEM : contains\r\n    PRODUCT ||--o{ LINE-ITEM : \"included in\"\r\n    CUSTOMER {\r\n        string name\r\n        string email\r\n    }\r\n    ORDER {\r\n        int orderNumber\r\n        date orderDate\r\n    }\r\n    LINE-ITEM {\r\n        int quantity\r\n        float price\r\n    }\r\n    PRODUCT {\r\n        int productId\r\n        string name\r\n        float price\r\n    }`}\r\n    />\r\n  )\r\n}\r\n\r\nexport default DiagramsEntityRelationShipDemo\r\n",
    "language": "tsx"
  },
  "@/registry/examples/dialog-demo/dialog-bottom-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Dialog,\r\n  DialogContent,\r\n  DialogDescription,\r\n  DialogHeader,\r\n  DialogTitle,\r\n  DialogTrigger,\r\n} from \"@/components/ui/dialog\"\r\n\r\nexport default function DialogBottomDemo() {\r\n  return (\r\n    <Dialog>\r\n      <DialogTrigger asChild>\r\n        <Button variant=\"outline\">Bottom Dialog</Button>\r\n      </DialogTrigger>\r\n      <DialogContent position=\"bottom\">\r\n        <DialogHeader>\r\n          <DialogTitle>Bottom Dialog</DialogTitle>\r\n          <DialogDescription>\r\n            This is an example of a dialog positioned at the bottom.\r\n          </DialogDescription>\r\n        </DialogHeader>\r\n      </DialogContent>\r\n    </Dialog>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/dialog-demo/dialog-demo": {
    "content": "\"use client\"\r\n\r\nimport { Button } from \"@/components/ui/button\"\r\nimport { Checkbox } from \"@/components/ui/checkbox\"\r\nimport {\r\n  Dialog,\r\n  DialogAction,\r\n  DialogContent,\r\n  DialogDescription,\r\n  DialogFooter,\r\n  DialogHeader,\r\n  DialogTitle,\r\n  DialogTrigger,\r\n} from \"@/components/ui/dialog\"\r\nimport { Label } from \"@/components/ui/label\"\r\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\"\r\nimport { useState } from \"react\"\r\n\r\nexport default function DialogDemo() {\r\n  const [isOpen, setIsOpen] = useState(false)\r\n  return (\r\n    <Dialog open={isOpen} onOpenChange={setIsOpen}>\r\n      <DialogTrigger asChild>\r\n        <Button variant=\"outline\">Open Dialog</Button>\r\n      </DialogTrigger>\r\n      <DialogContent>\r\n        <DialogHeader>\r\n          <DialogTitle>Account Settings</DialogTitle>\r\n          <DialogDescription>\r\n            Manage your account preferences and settings.\r\n          </DialogDescription>\r\n        </DialogHeader>\r\n        <div className=\"space-y-4 py-4\">\r\n          <div>\r\n            <label className=\"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2\">\r\n              Email Notifications\r\n            </label>\r\n            <div className=\"flex items-center\">\r\n              <Checkbox />\r\n              <span className=\"ml-2 text-sm text-gray-600 dark:text-gray-400\">\r\n                Receive email updates\r\n              </span>\r\n            </div>\r\n          </div>\r\n          <div>\r\n            <Label className=\"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2\">\r\n              Profile Visibility\r\n            </Label>\r\n            <Select>\r\n              <SelectTrigger>\r\n                <SelectValue placeholder=\"Public\" />\r\n              </SelectTrigger>\r\n              <SelectContent>\r\n                <SelectItem value=\"public\">Public</SelectItem>\r\n                <SelectItem value=\"private\">Private</SelectItem>\r\n                <SelectItem value=\"friends-only\">Friends Only</SelectItem>\r\n              </SelectContent>\r\n            </Select>\r\n          </div>\r\n        </div>\r\n        <DialogFooter>\r\n          <DialogAction onClick={() => setIsOpen(false)}>\r\n            Save Changes\r\n          </DialogAction>\r\n        </DialogFooter>\r\n      </DialogContent>\r\n    </Dialog>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/dialog-demo/dialog-destructive-demo": {
    "content": "\"use client\"\r\n\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Dialog,\r\n  DialogAction,\r\n  DialogContent,\r\n  DialogDescription,\r\n  DialogFooter,\r\n  DialogHeader,\r\n  DialogTitle,\r\n  DialogTrigger,\r\n} from \"@/components/ui/dialog\"\r\nimport { AlertTriangle, Trash2 } from \"lucide-react\"\r\nimport { useState } from \"react\"\r\n\r\nexport default function DestructiveDialogDemo() {\r\n  const [isDeleting, setIsDeleting] = useState(false)\r\n  const [itemDeleted, setItemDeleted] = useState(false)\r\n\r\n  const handleDelete = () => {\r\n    setIsDeleting(true)\r\n    setTimeout(() => {\r\n      setIsDeleting(false)\r\n      setItemDeleted(true)\r\n    }, 1500)\r\n  }\r\n\r\n  return (\r\n    <div>\r\n      {itemDeleted ? (\r\n        <div className=\"bg-green-50 border border-green-200 p-4 rounded-lg text-center\">\r\n          <p className=\"text-green-700 font-medium\">\r\n            Item successfully deleted\r\n          </p>\r\n        </div>\r\n      ) : (\r\n        <Dialog>\r\n          <DialogTrigger asChild>\r\n            <Button variant=\"destructive\">\r\n              <Trash2 className=\"mr-1.5\" /> Delete Project\r\n            </Button>\r\n          </DialogTrigger>\r\n          <DialogContent appearance={\"destructive\"}>\r\n            <DialogHeader>\r\n              <DialogTitle className=\"text-destructive\">\r\n                Delete Permanent Project\r\n              </DialogTitle>\r\n              <DialogDescription className=\"text-muted-foreground\">\r\n                This will permanently delete the project \"Marketing Campaign\r\n                2024\" and all associated data. This action cannot be undone.\r\n              </DialogDescription>\r\n            </DialogHeader>\r\n            <div className=\"bg-red-50 dark:bg-red-950/50 p-4 rounded-lg mb-4\">\r\n              <div className=\"flex items-center\">\r\n                <AlertTriangle className=\"text-red-500 mr-3 flex-shrink-0\" />\r\n                <p className=\"text-destructive text-sm\">\r\n                  Warning: Deleting this project will remove all tasks,\r\n                  documents, and analytics permanently.\r\n                </p>\r\n              </div>\r\n            </div>\r\n            <DialogFooter>\r\n              <DialogAction\r\n                variant=\"destructive\"\r\n                disabled={isDeleting}\r\n                onClick={handleDelete}\r\n                className=\"w-full\"\r\n              >\r\n                {isDeleting ? \"Deleting...\" : \"Permanently Delete Project\"}\r\n              </DialogAction>\r\n            </DialogFooter>\r\n          </DialogContent>\r\n        </Dialog>\r\n      )}\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/dialog-demo/dialog-top-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Dialog,\r\n  DialogContent,\r\n  DialogDescription,\r\n  DialogHeader,\r\n  DialogTitle,\r\n  DialogTrigger,\r\n} from \"@/components/ui/dialog\"\r\n\r\nexport default function DialogDemo() {\r\n  return (\r\n    <Dialog>\r\n      <DialogTrigger asChild>\r\n        <Button variant=\"outline\">Top Dialog</Button>\r\n      </DialogTrigger>\r\n      <DialogContent position=\"top\">\r\n        <DialogHeader>\r\n          <DialogTitle>Top Dialog</DialogTitle>\r\n          <DialogDescription>\r\n            This is an example of a dialog positioned at the top.\r\n          </DialogDescription>\r\n        </DialogHeader>\r\n      </DialogContent>\r\n    </Dialog>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/drawer-demo/drawer-demo": {
    "content": "\"use client\"\r\n\r\nimport {\r\n  Drawer,\r\n  DrawerClose,\r\n  DrawerContent,\r\n  DrawerDescription,\r\n  DrawerFooter,\r\n  DrawerHeader,\r\n  DrawerTitle,\r\n  DrawerTrigger,\r\n} from \"@/components/ui/drawer\"\r\nimport { Button } from \"@/components/ui/button\"\r\n\r\nexport default function DrawerDemo() {\r\n  return (\r\n    <div>\r\n      <Drawer>\r\n        <DrawerTrigger asChild>\r\n          <Button variant={\"outline\"}>Open Drawer</Button>\r\n        </DrawerTrigger>\r\n        <DrawerContent>\r\n          <div className=\"mx-auto rounded-2xl max-w-md\">\r\n            <DrawerHeader>\r\n              <DrawerTitle>Edit Profile</DrawerTitle>\r\n              <DrawerDescription>\r\n                Make changes to your profile here.\r\n              </DrawerDescription>\r\n            </DrawerHeader>\r\n            <div className=\"p-4\">\r\n              <div className=\"grid gap-4\">\r\n                <div className=\"grid gap-2\">\r\n                  <label htmlFor=\"name\" className=\"text-sm font-medium\">\r\n                    Name\r\n                  </label>\r\n                  <input\r\n                    id=\"name\"\r\n                    placeholder=\"Enter your name\"\r\n                    className=\"w-full rounded-md border p-2\"\r\n                  />\r\n                </div>\r\n                <div className=\"grid gap-2\">\r\n                  <label htmlFor=\"email\" className=\"text-sm font-medium\">\r\n                    Email\r\n                  </label>\r\n                  <input\r\n                    id=\"email\"\r\n                    type=\"email\"\r\n                    placeholder=\"Enter your email\"\r\n                    className=\"w-full rounded-md border p-2\"\r\n                  />\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <DrawerFooter className=\"flex-row justify-end space-x-2\">\r\n              <DrawerClose asChild>\r\n                <Button variant=\"ghost\">Cancel</Button>\r\n              </DrawerClose>\r\n              <Button>Save Changes</Button>\r\n            </DrawerFooter>\r\n          </div>\r\n        </DrawerContent>\r\n      </Drawer>\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/drawer-demo/drawer-nested-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Drawer,\r\n  DrawerClose,\r\n  DrawerContent,\r\n  DrawerDescription,\r\n  DrawerFooter,\r\n  DrawerHeader,\r\n  DrawerTitle,\r\n  DrawerTrigger,\r\n} from \"@/components/ui/drawer\"\r\n\r\nexport default function NestedDrawerDemo() {\r\n  return (\r\n    <Drawer>\r\n      <DrawerTrigger asChild>\r\n        <Button variant=\"outline\">Open Nested Drawer</Button>\r\n      </DrawerTrigger>\r\n      <DrawerContent>\r\n        <div className=\"max-w-sm w-full mx-auto\">\r\n          <DrawerHeader>\r\n            <DrawerTitle>First Level Drawer</DrawerTitle>\r\n            <DrawerDescription>\r\n              You can open another drawer from here.\r\n            </DrawerDescription>\r\n          </DrawerHeader>\r\n          <div className=\"flex justify-center  p-4\">\r\n            <Drawer>\r\n              <DrawerTrigger asChild>\r\n                <Button>Open Second Drawer</Button>\r\n              </DrawerTrigger>\r\n              <DrawerContent>\r\n                <div className=\"max-w-sm w-full mx-auto\">\r\n                  <DrawerHeader>\r\n                    <DrawerTitle>Second Level Drawer</DrawerTitle>\r\n                    <DrawerDescription>\r\n                      This is a nested drawer.\r\n                    </DrawerDescription>\r\n                  </DrawerHeader>\r\n                  <div className=\"p-4\">\r\n                    <p>\r\n                      You can have multiple levels of drawers for complex UIs.\r\n                    </p>\r\n                  </div>\r\n                  <DrawerFooter>\r\n                    <DrawerClose asChild>\r\n                      <Button variant=\"outline\">Close</Button>\r\n                    </DrawerClose>\r\n                  </DrawerFooter>\r\n                </div>\r\n              </DrawerContent>\r\n            </Drawer>\r\n          </div>\r\n          <DrawerFooter>\r\n            <DrawerClose asChild>\r\n              <Button variant=\"outline\">Close</Button>\r\n            </DrawerClose>\r\n          </DrawerFooter>\r\n        </div>\r\n      </DrawerContent>\r\n    </Drawer>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/dropdown-menu-demo/dropdown-menu-checkbox-demo": {
    "content": "\"use client\"\r\n\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n  DropdownMenu,\r\n  DropdownMenuCheckboxItem,\r\n  DropdownMenuContent,\r\n  DropdownMenuLabel,\r\n  DropdownMenuSeparator,\r\n  DropdownMenuTrigger,\r\n} from \"@/components/ui/dropdown-menu\"\r\nimport { useState } from \"react\"\r\n\r\nexport default function DropdownMenuCheckBoxDemo() {\r\n    const [showIcons, setShowIcons] = useState(false)\r\n  return (\r\n    <DropdownMenu>\r\n      <DropdownMenuTrigger asChild>\r\n        <Button variant=\"outline\">View Options</Button>\r\n      </DropdownMenuTrigger>\r\n      <DropdownMenuContent className=\"w-56\">\r\n        <DropdownMenuLabel>Preferences</DropdownMenuLabel>\r\n        <DropdownMenuSeparator />\r\n        <DropdownMenuCheckboxItem\r\n          checked={showIcons}\r\n          onCheckedChange={setShowIcons}\r\n        >\r\n          Show Icons\r\n        </DropdownMenuCheckboxItem>\r\n      </DropdownMenuContent>\r\n    </DropdownMenu>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/dropdown-menu-demo/dropdown-menu-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  DropdownMenu,\r\n  DropdownMenuContent,\r\n  DropdownMenuItem,\r\n  DropdownMenuLabel,\r\n  DropdownMenuSeparator,\r\n  DropdownMenuTrigger,\r\n} from \"@/components/ui/dropdown-menu\"\r\nimport { Download, Edit, Share } from \"lucide-react\"\r\n\r\nexport default function DropdownMenuDemo() {\r\n  return (\r\n    <DropdownMenu>\r\n      <DropdownMenuTrigger asChild>\r\n        <Button variant=\"outline\">Open Menu</Button>\r\n      </DropdownMenuTrigger>\r\n      <DropdownMenuContent className=\"w-56\">\r\n        <DropdownMenuLabel>My Account</DropdownMenuLabel>\r\n        <DropdownMenuSeparator />\r\n        <DropdownMenuItem>\r\n          <Edit className=\"mr-2 h-4 w-4\" />\r\n          <span>Edit Profile</span>\r\n        </DropdownMenuItem>\r\n        <DropdownMenuItem>\r\n          <Download className=\"mr-2 h-4 w-4\" />\r\n          <span>Download</span>\r\n        </DropdownMenuItem>\r\n        <DropdownMenuItem disabled>\r\n          <Share className=\"mr-2 h-4 w-4\" />\r\n          <span>Share (Disabled)</span>\r\n        </DropdownMenuItem>\r\n      </DropdownMenuContent>\r\n    </DropdownMenu>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/dropdown-menu-demo/dropdown-menu-nested-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  DropdownMenu,\r\n  DropdownMenuContent,\r\n  DropdownMenuGroup,\r\n  DropdownMenuItem,\r\n  DropdownMenuSub,\r\n  DropdownMenuSubContent,\r\n  DropdownMenuSubTrigger,\r\n  DropdownMenuTrigger,\r\n} from \"@/components/ui/dropdown-menu\"\r\nimport { Camera, Trash2 } from \"lucide-react\"\r\n\r\nexport default function DropdownNestedDemo() {\r\n  return (\r\n    <DropdownMenu>\r\n      <DropdownMenuTrigger asChild>\r\n        <Button variant=\"outline\">Actions</Button>\r\n      </DropdownMenuTrigger>\r\n      <DropdownMenuContent className=\"w-56\">\r\n        <DropdownMenuGroup>\r\n          <DropdownMenuItem>\r\n            <Camera className=\"mr-2 h-4 w-4\" />\r\n            <span>Camera</span>\r\n          </DropdownMenuItem>\r\n          <DropdownMenuSub>\r\n            <DropdownMenuSubTrigger>\r\n              <Trash2 className=\"mr-2 h-4 w-4\" />\r\n              <span>Delete</span>\r\n            </DropdownMenuSubTrigger>\r\n            <DropdownMenuSubContent>\r\n              <DropdownMenuItem>Delete Item</DropdownMenuItem>\r\n              <DropdownMenuItem>Delete All</DropdownMenuItem>\r\n            </DropdownMenuSubContent>\r\n          </DropdownMenuSub>\r\n        </DropdownMenuGroup>\r\n      </DropdownMenuContent>\r\n    </DropdownMenu>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/dropdown-menu-demo/dropdown-menu-radio-demo": {
    "content": "\"use client\"\r\n\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n  DropdownMenu,\r\n  DropdownMenuContent,\r\n  DropdownMenuLabel,\r\n  DropdownMenuRadioGroup,\r\n  DropdownMenuRadioItem,\r\n  DropdownMenuSeparator,\r\n  DropdownMenuTrigger,\r\n} from \"@/components/ui/dropdown-menu\"\r\nimport { useState } from \"react\"\r\n\r\nexport default function DropdownMenuRadioDemo() {\r\n  const [selectedPlan, setSelectedPlan] = useState(\"basic\")\r\n  return (\r\n    <DropdownMenu>\r\n      <DropdownMenuTrigger asChild>\r\n        <Button variant=\"outline\">Select Plan</Button>\r\n      </DropdownMenuTrigger>\r\n      <DropdownMenuContent className=\"w-56\">\r\n        <DropdownMenuLabel>Subscription Plan</DropdownMenuLabel>\r\n        <DropdownMenuSeparator />\r\n        <DropdownMenuRadioGroup\r\n          value={selectedPlan}\r\n          onValueChange={setSelectedPlan}\r\n        >\r\n          <DropdownMenuRadioItem value=\"basic\">Basic</DropdownMenuRadioItem>\r\n          <DropdownMenuRadioItem value=\"pro\">Pro</DropdownMenuRadioItem>\r\n          <DropdownMenuRadioItem value=\"enterprise\">\r\n            Enterprise\r\n          </DropdownMenuRadioItem>\r\n        </DropdownMenuRadioGroup>\r\n      </DropdownMenuContent>\r\n    </DropdownMenu>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/empty-demo/empty-avatar-demo": {
    "content": "\"use client\"\r\n\r\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle } from \"@/components/ui/empty\"\r\nimport { PlusIcon } from \"lucide-react\"\r\nimport { useState, type ReactNode } from \"react\"\r\n\r\ninterface TeamMember {\r\n    id: string\r\n    name: string\r\n    image: string\r\n    initials: string\r\n}\r\n\r\ninterface EmptyAvatarGroupProps {\r\n    onInvite?: () => void\r\n    title?: string\r\n    description?: string\r\n    buttonText?: string\r\n}\r\n\r\nconst defaultMembers: TeamMember[] = [\r\n    {\r\n        id: \"1\",\r\n        name: \"Alex Chen\",\r\n        image: \"https://github.com/shadcn.png\",\r\n        initials: \"AC\",\r\n    },\r\n    {\r\n        id: \"2\",\r\n        name: \"Sarah Kim\",\r\n        image: \"https://github.com/maxleiter.png\",\r\n        initials: \"SK\",\r\n    },\r\n    {\r\n        id: \"3\",\r\n        name: \"Mike Johnson\",\r\n        image: \"https://github.com/evilrabbit.png\",\r\n        initials: \"MJ\",\r\n    },\r\n]\r\n\r\nexport default function EmptyAvatarGroupDemo({\r\n    onInvite,\r\n    title = \"Development Team\",\r\n    description = \"Connect with your development team to start building amazing projects together.\",\r\n    buttonText = \"Add Team Member\",\r\n}: EmptyAvatarGroupProps): ReactNode {\r\n    const [isLoading, setIsLoading] = useState<boolean>(false)\r\n\r\n    const handleInviteClick = async (): Promise<void> => {\r\n        setIsLoading(true)\r\n        try {\r\n            if (onInvite) {\r\n                await onInvite()\r\n            }\r\n        } finally {\r\n            setIsLoading(false)\r\n        }\r\n    }\r\n\r\n    return (\r\n        <Empty className=\"border bg-gradient-to-br from-background to-muted/30 shadow-sm\">\r\n            <EmptyHeader>\r\n                <EmptyMedia>\r\n                    <div className=\"flex -space-x-3 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background *:data-[slot=avatar]:size-14 *:data-[slot=avatar]:transition-transform *:data-[slot=avatar]:hover:scale-110\">\r\n                        {defaultMembers.map((member: TeamMember) => (\r\n                            <Avatar key={member.id} className=\"border-2 border-background\">\r\n                                <AvatarImage src={member.image || \"/placeholder.svg\"} alt={member.name} className=\"object-cover\" />\r\n                                <AvatarFallback className=\"bg-muted text-sm font-semibold\">{member.initials}</AvatarFallback>\r\n                            </Avatar>\r\n                        ))}\r\n                    </div>\r\n                </EmptyMedia>\r\n                <EmptyTitle className=\"text-2xl font-semibold tracking-tight\">{title}</EmptyTitle>\r\n                <EmptyDescription className=\"text-base text-muted-foreground\">{description}</EmptyDescription>\r\n            </EmptyHeader>\r\n            <EmptyContent>\r\n                <Button\r\n                    onClick={handleInviteClick}\r\n                    disabled={isLoading}\r\n                    size=\"default\"\r\n                    className=\"gap-2 rounded-lg px-3 py-1.5 font-medium transition-all hover:shadow-md\"\r\n                >\r\n                    <PlusIcon className=\"size-5\" />\r\n                    {isLoading ? \"Adding...\" : buttonText}\r\n                </Button>\r\n            </EmptyContent>\r\n        </Empty>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/empty-demo/empty-demo": {
    "content": "import {\r\n    Empty,\r\n    EmptyContent,\r\n    EmptyDescription,\r\n    EmptyHeader,\r\n    EmptyTitle,\r\n} from \"@/components/ui/empty\"\r\nimport {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupInput,\r\n} from \"@/components/ui/input-group\"\r\nimport { Kbd } from \"@/components/ui/kbd\"\r\nimport { SearchIcon } from \"lucide-react\"\r\n\r\nexport default function EmptyDemo() {\r\n    return (\r\n        <Empty>\r\n            <EmptyHeader>\r\n                <EmptyTitle>No Products Found</EmptyTitle>\r\n                <EmptyDescription>\r\n                    No products match your search criteria. Try searching for\r\n                    what you need below.\r\n                </EmptyDescription>\r\n            </EmptyHeader>\r\n            <EmptyContent>\r\n                <InputGroup className=\"w-3/4\">\r\n                    <InputGroupInput placeholder=\"Search for products, brands, or categories...\" />\r\n                    <InputGroupAddon>\r\n                        <SearchIcon />\r\n                    </InputGroupAddon>\r\n                    <InputGroupAddon align=\"inline-end\">\r\n                        <Kbd>/</Kbd>\r\n                    </InputGroupAddon>\r\n                </InputGroup>\r\n                <EmptyDescription>\r\n                    Need help? <a href=\"#\">Contact Support</a>\r\n                </EmptyDescription>\r\n            </EmptyContent>\r\n        </Empty>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/folder-tree-demo": {
    "content": "\"use client\"\r\n\r\nimport { FolderTreeComponent } from \"@/components/ui/FolderTreeComponent\"\r\n\r\ntype FileItem = {\r\n  id: string\r\n  name: string\r\n  type: \"file\" | \"folder\"\r\n  path?: string\r\n  items?: FileItem[]\r\n}\r\n\r\nconst fileStructure: FileItem[] = [\r\n  {\r\n    id: \"app\",\r\n    name: \"app\",\r\n    type: \"folder\",\r\n    items: [\r\n      {\r\n        id: \"layout\",\r\n        name: \"layout.js\",\r\n        type: \"file\",\r\n      },\r\n      {\r\n        id: \"marketing\",\r\n        name: \"(marketing)\",\r\n        type: \"folder\",\r\n        items: [\r\n          {\r\n            id: \"about\",\r\n            name: \"about\",\r\n            type: \"folder\",\r\n            path: \"/about\",\r\n            items: [\r\n              {\r\n                id: \"about-page\",\r\n                name: \"page.js\",\r\n                type: \"file\",\r\n              },\r\n            ],\r\n          },\r\n          {\r\n            id: \"blog\",\r\n            name: \"blog\",\r\n            type: \"folder\",\r\n            path: \"/blog\",\r\n            items: [\r\n              {\r\n                id: \"blog-page\",\r\n                name: \"page.js\",\r\n                type: \"file\",\r\n              },\r\n            ],\r\n          },\r\n        ],\r\n      },\r\n      {\r\n        id: \"shop\",\r\n        name: \"(shop)\",\r\n        type: \"folder\",\r\n        items: [\r\n          {\r\n            id: \"account\",\r\n            name: \"account\",\r\n            type: \"folder\",\r\n            path: \"/account\",\r\n            items: [\r\n              {\r\n                id: \"account-page\",\r\n                name: \"page.js\",\r\n                type: \"file\",\r\n              },\r\n            ],\r\n          },\r\n        ],\r\n      },\r\n    ],\r\n  },\r\n]\r\n\r\nexport default function FolderTreeDemo() {\r\n  return (\r\n    <div className=\"flex items-center justify-center \">\r\n      <FolderTreeComponent items={fileStructure} />\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/hover-card-demo": {
    "content": "import {\r\n    Avatar,\r\n    AvatarFallback,\r\n    AvatarImage,\r\n} from \"@/components/ui/avatar\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n    HoverCard,\r\n    HoverCardContent,\r\n    HoverCardTrigger,\r\n} from \"@/components/ui/hover-card\"\r\n\r\nexport default function HoverCardDemo() {\r\n    return (\r\n        <HoverCard>\r\n            <HoverCardTrigger asChild>\r\n                <Button variant=\"link\">@nextjs</Button>\r\n            </HoverCardTrigger>\r\n            <HoverCardContent className=\"w-80\">\r\n                <div className=\"flex justify-between gap-4\">\r\n                    <Avatar>\r\n                        <AvatarImage src=\"https://github.com/vercel.png\" />\r\n                        <AvatarFallback>VC</AvatarFallback>\r\n                    </Avatar>\r\n                    <div className=\"space-y-1\">\r\n                        <h4 className=\"text-sm font-semibold\">@nextjs</h4>\r\n                        <p className=\"text-sm\">\r\n                            The React Framework – created and maintained by @vercel.\r\n                        </p>\r\n                        <div className=\"text-muted-foreground text-xs\">\r\n                            Joined December 2021\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </HoverCardContent>\r\n        </HoverCard>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-demo/input-button-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { Input } from \"@/components/ui/input\"\r\n\r\nexport default function InputWithButtonDemo() {\r\n  return (\r\n    <div className=\"flex w-full max-w-sm items-center space-x-2\">\r\n      <Input type=\"email\" placeholder=\"Email\" />\r\n      <Button type=\"submit\" size={\"sm\"}>\r\n        Subscribe\r\n      </Button>\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-demo/input-demo": {
    "content": "import { Input } from \"@/components/ui/input\"\r\n\r\nexport default function InputDemo() {\r\n  return (\r\n    <Input className=\"w-56\" type=\"email\" placeholder=\"Email\" />\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/input-demo/input-disabled-demo": {
    "content": "import { Input } from \"@/components/ui/input\"\r\n\r\nexport default function InputDisabledDemo() {\r\n  return (\r\n    <Input disabled type=\"email\" placeholder=\"Email\" />\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-demo/input-file-demo": {
    "content": "import { Input } from \"@/components/ui/input\"\r\nimport { Label } from \"@/components/ui/label\"\r\n\r\nexport default function InputFileDemo() {\r\n  return (\r\n    <div className=\"grid w-full max-w-sm items-center gap-1.5\">\r\n      <Label htmlFor=\"picture\">Picture</Label>\r\n      <Input id=\"picture\" type=\"file\" />\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-demo/input-label-demo": {
    "content": "import { Input } from \"@/components/ui/input\"\r\nimport { Label } from \"@/components/ui/label\"\r\n\r\nexport default function InputWithLabel() {\r\n  return (\r\n    <div className=\"grid w-full max-w-sm items-center gap-1.5\">\r\n      <Label htmlFor=\"email\">Email</Label>\r\n      <Input type=\"email\" id=\"email\" placeholder=\"Email\" />\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-button-demo": {
    "content": "\"use client\"\r\n\r\nimport {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupButton,\r\n    InputGroupInput,\r\n} from \"@/components/ui/input-group\"\r\nimport { Label } from \"@/components/ui/label\"\r\nimport {\r\n    Popover,\r\n    PopoverContent,\r\n    PopoverTrigger,\r\n} from \"@/components/ui/popover\"\r\nimport { IconInfoCircle, IconStar } from \"@tabler/icons-react\"\r\nimport * as React from \"react\"\r\n\r\nexport default function InputGroupButtonDemo() {\r\n    const [isFavorite, setIsFavorite] = React.useState(false)\r\n\r\n    return (\r\n        <div className=\"grid w-full max-w-sm gap-6\">\r\n            <Label htmlFor=\"input-secure-19\" className=\"sr-only\">\r\n                Repository URL\r\n            </Label>\r\n            <InputGroup className=\"[--radius:9999px]\">\r\n                <InputGroupInput id=\"input-secure-19\" placeholder=\"my-awesome-project\" className=\"!pl-0.5\" />\r\n                <Popover>\r\n                    <PopoverTrigger asChild>\r\n                        <InputGroupAddon>\r\n                            <InputGroupButton\r\n                                variant=\"secondary\"\r\n                                size=\"icon-xs\"\r\n                                aria-label=\"Info\"\r\n                            >\r\n                                <IconInfoCircle />\r\n                            </InputGroupButton>\r\n                        </InputGroupAddon>\r\n                    </PopoverTrigger>\r\n                    <PopoverContent\r\n                        align=\"start\"\r\n                        alignOffset={10}\r\n                        className=\"flex flex-col gap-1 rounded-xl text-sm\"\r\n                    >\r\n                        <p className=\"font-medium\">Repository URL is valid.</p>\r\n                        <p>This repository is ready for AI-powered development.</p>\r\n                    </PopoverContent>\r\n                </Popover>\r\n                <InputGroupAddon className=\"text-muted-foreground !pl-1\">\r\n                    github.com/\r\n                </InputGroupAddon>\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupButton\r\n                        onClick={() => setIsFavorite(!isFavorite)}\r\n                        size=\"icon-xs\"\r\n                        aria-label=\"Favorite\"\r\n                    >\r\n                        <IconStar\r\n                            data-favorite={isFavorite}\r\n                            className=\"data-[favorite=true]:fill-yellow-500 data-[favorite=true]:stroke-yellow-500\"\r\n                        />\r\n                    </InputGroupButton>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-button-group-demo": {
    "content": "import {\r\n    ButtonGroup,\r\n    ButtonGroupText,\r\n} from \"@/components/ui/button-group\"\r\nimport {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupInput,\r\n} from \"@/components/ui/input-group\"\r\nimport { Label } from \"@/components/ui/label\"\r\nimport { Link2Icon } from \"lucide-react\"\r\n\r\nexport default function InputGroupButtonGroupDemo() {\r\n    return (\r\n        <div className=\"grid w-full max-w-sm gap-6\">\r\n            <ButtonGroup>\r\n                <ButtonGroupText asChild>\r\n                    <Label htmlFor=\"url\">https://</Label>\r\n                </ButtonGroupText>\r\n                <InputGroup>\r\n                    <InputGroupInput id=\"url\" />\r\n                    <InputGroupAddon align=\"inline-end\">\r\n                        <Link2Icon />\r\n                    </InputGroupAddon>\r\n                </InputGroup>\r\n                <ButtonGroupText>.com</ButtonGroupText>\r\n            </ButtonGroup>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-demo": {
    "content": "\"use client\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupButton,\r\n    InputGroupText,\r\n    InputGroupTextarea,\r\n} from \"@/components/ui/input-group\"\r\nimport {\r\n    IconCornerDownLeft,\r\n    IconMoodSmile,\r\n    IconPaperclip,\r\n} from \"@tabler/icons-react\"\r\nimport { ArrowRight } from \"lucide-react\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\n\r\nexport default function InputGroupDemo() {\r\n    const [message, setMessage] = useState(\"\")\r\n    const [platform, setPlatform] = useState<\"mac\" | \"windows\">(\"windows\")\r\n    const [isSending, setIsSending] = useState(false)\r\n    const MAX_CHARS = 500\r\n\r\n    const handleSend = async () => {\r\n        if (!message.trim() || isSending) return\r\n\r\n        setIsSending(true)\r\n        await new Promise(resolve => setTimeout(resolve, 1000))\r\n        console.log(\"Message sent:\", message)\r\n        setMessage(\"\")\r\n        setIsSending(false)\r\n    }\r\n\r\n    const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\r\n        if (e.key === \"Enter\" && (e.metaKey || e.ctrlKey)) {\r\n            e.preventDefault()\r\n            handleSend()\r\n        }\r\n    }\r\n    const componentMountedRef = useRef(true)\r\n    useEffect(() => {\r\n        const platformStr = navigator.platform.toLowerCase()\r\n        const userAgentStr = navigator.userAgent.toLowerCase()\r\n        if (platformStr.includes(\"mac\") || userAgentStr.includes(\"mac\")) {\r\n            setPlatform(\"mac\")\r\n        }\r\n        return () => {\r\n            componentMountedRef.current = false\r\n        }\r\n    }, [])\r\n\r\n    const remainingChars = MAX_CHARS - message.length\r\n    const isOverLimit = remainingChars < 0\r\n    const isNearLimit = remainingChars <= 50 && remainingChars > 0\r\n\r\n    return (\r\n        <div className=\"w-full max-w-2xl\">\r\n            <InputGroup className=\"rounded-xl\">\r\n                <InputGroupTextarea\r\n                    id=\"textarea-message\"\r\n                    placeholder=\"Type your message here...\"\r\n                    className=\"min-h-[140px] resize-none\"\r\n                    value={message}\r\n                    onChange={(e) => setMessage(e.target.value)}\r\n                    onKeyDown={handleKeyDown}\r\n                    disabled={isSending}\r\n                />\r\n                <InputGroupAddon align=\"block-end\" className=\"border-t bg-muted/30 pb-1.5\">\r\n                    <div className=\"flex items-center gap-1\">\r\n                        <Button\r\n                            size=\"icon\"\r\n                            variant=\"ghost\"\r\n                            className=\"h-8 w-8\"\r\n                            disabled={isSending}\r\n                            aria-label=\"Attach file\"\r\n                        >\r\n                            <IconPaperclip className=\"h-4 w-4\" />\r\n                        </Button>\r\n                        <Button\r\n                            size=\"icon\"\r\n                            variant=\"ghost\"\r\n                            className=\"h-8 w-8\"\r\n                            disabled={isSending}\r\n                            aria-label=\"Add emoji\"\r\n                        >\r\n                            <IconMoodSmile className=\"h-4 w-4\" />\r\n                        </Button>\r\n                    </div>\r\n                    <InputGroupText\r\n                        className={`text-xs transition-colors ${isOverLimit\r\n                            ? \"text-destructive font-medium\"\r\n                            : isNearLimit\r\n                                ? \"text-orange-500 font-medium\"\r\n                                : \"text-muted-foreground\"\r\n                            }`}\r\n                    >\r\n                        {remainingChars}/{MAX_CHARS}\r\n                    </InputGroupText>\r\n                    <InputGroupButton\r\n                        size=\"sm\"\r\n                        className=\"ml-auto gap-2\"\r\n                        variant=\"default\"\r\n                        onClick={handleSend}\r\n                        disabled={!message.trim() || isOverLimit || isSending}\r\n                    >\r\n                        {isSending ? \"Sending...\" : \"Send\"}\r\n                        <IconCornerDownLeft className=\"h-4 w-4\" />\r\n                    </InputGroupButton>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <div className=\"mt-2 text-xs text-muted-foreground\">\r\n                Press <kbd className=\"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted  font-mono text-[10px] font-medium opacity-100\">\r\n                    <span className=\"hidden lg:flex items-center gap-0.5\">\r\n                        <kbd className=\"pointer-events-none h-5 select-none items-center gap-1 rounded  px-1.5 font-mono text-[10px] font-medium hidden lg:flex\">\r\n                            {platform === \"mac\" ? \"⌘\" : \"Ctrl\"}\r\n                        </kbd>\r\n                        <ArrowRight className=\"w-2.5 h-2.5\" />\r\n                        <kbd className=\"pointer-events-none h-5 select-none items-center gap-1 rounded px-1.5 font-mono text-[10px] font-medium hidden lg:flex\">\r\n                            Enter\r\n                        </kbd>\r\n                    </span>\r\n                </kbd> to send\r\n            </div>\r\n        </div>\r\n    )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-dropdown-demo": {
    "content": "import {\r\n    DropdownMenu,\r\n    DropdownMenuContent,\r\n    DropdownMenuItem,\r\n    DropdownMenuTrigger,\r\n} from \"@/components/ui/dropdown-menu\"\r\nimport {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupButton,\r\n    InputGroupInput,\r\n} from \"@/components/ui/input-group\"\r\nimport { ChevronDownIcon, MoreHorizontal } from \"lucide-react\"\r\n\r\nexport default function InputGroupDropdownDemo() {\r\n    return (\r\n        <div className=\"grid w-full max-w-sm gap-4\">\r\n            <InputGroup>\r\n                <InputGroupInput placeholder=\"Enter file name\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <DropdownMenu>\r\n                        <DropdownMenuTrigger asChild>\r\n                            <InputGroupButton\r\n                                variant=\"ghost\"\r\n                                aria-label=\"More\"\r\n                                size=\"icon-xs\"\r\n                            >\r\n                                <MoreHorizontal />\r\n                            </InputGroupButton>\r\n                        </DropdownMenuTrigger>\r\n                        <DropdownMenuContent align=\"end\">\r\n                            <DropdownMenuItem>Settings</DropdownMenuItem>\r\n                            <DropdownMenuItem>Copy path</DropdownMenuItem>\r\n                            <DropdownMenuItem>Open location</DropdownMenuItem>\r\n                        </DropdownMenuContent>\r\n                    </DropdownMenu>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup className=\"[--radius:1rem]\">\r\n                <InputGroupInput placeholder=\"Enter search query\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <DropdownMenu>\r\n                        <DropdownMenuTrigger asChild>\r\n                            <InputGroupButton variant=\"ghost\" className=\"!pr-1.5 text-xs\">\r\n                                Search In... <ChevronDownIcon className=\"size-3\" />\r\n                            </InputGroupButton>\r\n                        </DropdownMenuTrigger>\r\n                        <DropdownMenuContent align=\"end\" className=\"[--radius:0.95rem]\">\r\n                            <DropdownMenuItem>Documentation</DropdownMenuItem>\r\n                            <DropdownMenuItem>Blog Posts</DropdownMenuItem>\r\n                            <DropdownMenuItem>Changelog</DropdownMenuItem>\r\n                        </DropdownMenuContent>\r\n                    </DropdownMenu>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-icon-demo": {
    "content": "import {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupInput,\r\n} from \"@/components/ui/input-group\"\r\nimport {\r\n    CheckIcon,\r\n    CreditCardIcon,\r\n    InfoIcon,\r\n    MailIcon,\r\n    SearchIcon,\r\n    StarIcon,\r\n} from \"lucide-react\"\r\n\r\nexport default function InputGroupIconDemo() {\r\n    return (\r\n        <div className=\"grid w-full max-w-sm gap-6\">\r\n            <InputGroup>\r\n                <InputGroupInput placeholder=\"Search...\" />\r\n                <InputGroupAddon>\r\n                    <SearchIcon />\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupInput type=\"email\" placeholder=\"Enter your email\" />\r\n                <InputGroupAddon>\r\n                    <MailIcon />\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupInput placeholder=\"Card number\" />\r\n                <InputGroupAddon>\r\n                    <CreditCardIcon />\r\n                </InputGroupAddon>\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <CheckIcon />\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupInput placeholder=\"Card number\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <StarIcon />\r\n                    <InfoIcon />\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-label-demo": {
    "content": "import {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupButton,\r\n    InputGroupInput,\r\n} from \"@/components/ui/input-group\"\r\nimport { Label } from \"@/components/ui/label\"\r\nimport {\r\n    Tooltip,\r\n    TooltipContent,\r\n    TooltipTrigger,\r\n} from \"@/components/ui/tooltip\"\r\nimport { TooltipProvider } from \"@radix-ui/react-tooltip\"\r\nimport { InfoIcon } from \"lucide-react\"\r\n\r\nexport default function InputGroupLabelDemo() {\r\n    return (\r\n        <div className=\"grid w-full max-w-sm gap-4\">\r\n            <InputGroup>\r\n                <InputGroupInput id=\"email\" placeholder=\"shadcn\" />\r\n                <InputGroupAddon>\r\n                    <Label htmlFor=\"email\">@</Label>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupInput id=\"email-2\" placeholder=\"shadcn@vercel.com\" />\r\n                <InputGroupAddon align=\"block-start\">\r\n                    <Label htmlFor=\"email-2\" className=\"text-foreground\">\r\n                        Email\r\n                    </Label>\r\n                    <TooltipProvider>\r\n                        <Tooltip>\r\n                            <TooltipTrigger asChild>\r\n                                <InputGroupButton\r\n                                    variant=\"ghost\"\r\n                                    aria-label=\"Help\"\r\n                                    className=\"ml-auto rounded-full\"\r\n                                    size=\"icon-xs\"\r\n                                >\r\n                                    <InfoIcon />\r\n                                </InputGroupButton>\r\n                            </TooltipTrigger>\r\n                            <TooltipContent>\r\n                                <p>We&apos;ll use this to send you notifications</p>\r\n                            </TooltipContent>\r\n                        </Tooltip>\r\n                    </TooltipProvider>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-loading-demo": {
    "content": "import {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupInput,\r\n    InputGroupText,\r\n} from \"@/components/ui/input-group\"\r\nimport { Loading } from \"@/components/ui/loading\"\r\nimport { LoaderIcon } from \"lucide-react\"\r\n\r\nexport default function InputGroupLoading() {\r\n    return (\r\n        <div className=\"grid w-full max-w-sm gap-4\">\r\n            <InputGroup data-disabled>\r\n                <InputGroupInput placeholder=\"Searching...\" disabled />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <Loading />\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup data-disabled>\r\n                <InputGroupInput placeholder=\"Processing...\" disabled />\r\n                <InputGroupAddon>\r\n                    <Loading />\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup data-disabled>\r\n                <InputGroupInput placeholder=\"Saving changes...\" disabled />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupText>Saving...</InputGroupText>\r\n                    <Loading />\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup data-disabled>\r\n                <InputGroupInput placeholder=\"Refreshing data...\" disabled />\r\n                <InputGroupAddon>\r\n                    <LoaderIcon className=\"animate-spin\" />\r\n                </InputGroupAddon>\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupText className=\"text-muted-foreground\">\r\n                        Please wait...\r\n                    </InputGroupText>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-multiple-addons-demo": {
    "content": "import {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupButton,\r\n    InputGroupInput,\r\n    InputGroupText,\r\n} from \"@/components/ui/input-group\"\r\nimport { CheckIcon, InfoIcon, SearchIcon, XIcon } from \"lucide-react\"\r\n\r\nexport default function InputGroupMultipleAddonsDemo() {\r\n    return (\r\n        <div className=\"grid w-full max-w-sm gap-6\">\r\n            <InputGroup>\r\n                <InputGroupAddon>\r\n                    <InputGroupText>$</InputGroupText>\r\n                </InputGroupAddon>\r\n                <InputGroupAddon>\r\n                    <SearchIcon />\r\n                </InputGroupAddon>\r\n                <InputGroupInput placeholder=\"Search amount\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupText>USD</InputGroupText>\r\n                </InputGroupAddon>\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <CheckIcon />\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupInput placeholder=\"Enter repository name\" className=\"!pl-0.5\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupText>github.com/</InputGroupText>\r\n                </InputGroupAddon>\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupButton\r\n                        variant=\"ghost\"\r\n                        size=\"icon-xs\"\r\n                        aria-label=\"Clear\"\r\n                    >\r\n                        <XIcon />\r\n                    </InputGroupButton>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupAddon>\r\n                    <InputGroupText>https://</InputGroupText>\r\n                </InputGroupAddon>\r\n                <InputGroupAddon>\r\n                    <InfoIcon />\r\n                </InputGroupAddon>\r\n                <InputGroupInput placeholder=\"example.com\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupText>.com</InputGroupText>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupAddon>\r\n                    <InputGroupButton\r\n                        variant=\"ghost\"\r\n                        size=\"icon-xs\"\r\n                        aria-label=\"Search\"\r\n                    >\r\n                        <SearchIcon />\r\n                    </InputGroupButton>\r\n                </InputGroupAddon>\r\n                <InputGroupAddon>\r\n                    <InputGroupText>@</InputGroupText>\r\n                </InputGroupAddon>\r\n                <InputGroupInput placeholder=\"username\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupText className=\"text-muted-foreground text-xs\">\r\n                        12 results\r\n                    </InputGroupText>\r\n                </InputGroupAddon>\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupButton\r\n                        variant=\"ghost\"\r\n                        size=\"icon-xs\"\r\n                        aria-label=\"Info\"\r\n                    >\r\n                        <InfoIcon />\r\n                    </InputGroupButton>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupAddon>\r\n                    <SearchIcon />\r\n                </InputGroupAddon>\r\n                <InputGroupAddon>\r\n                    <InputGroupText>Filter:</InputGroupText>\r\n                </InputGroupAddon>\r\n                <InputGroupInput placeholder=\"Search products...\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupText className=\"text-muted-foreground text-xs\">\r\n                        24 items\r\n                    </InputGroupText>\r\n                </InputGroupAddon>\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupButton\r\n                        variant=\"ghost\"\r\n                        size=\"icon-xs\"\r\n                        aria-label=\"Clear filters\"\r\n                    >\r\n                        <XIcon />\r\n                    </InputGroupButton>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-text-demo": {
    "content": "import {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupInput,\r\n    InputGroupText,\r\n    InputGroupTextarea,\r\n} from \"@/components/ui/input-group\"\r\n\r\nexport default function InputGroupTextDemo() {\r\n    return (\r\n        <div className=\"grid w-full max-w-sm gap-6\">\r\n            <InputGroup>\r\n                <InputGroupAddon>\r\n                    <InputGroupText>$</InputGroupText>\r\n                </InputGroupAddon>\r\n                <InputGroupInput placeholder=\"0.00\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupText>USD</InputGroupText>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupAddon>\r\n                    <InputGroupText>https://</InputGroupText>\r\n                </InputGroupAddon>\r\n                <InputGroupInput placeholder=\"example.com\" className=\"!pl-0.5\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupText>.com</InputGroupText>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupInput placeholder=\"Enter your username\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <InputGroupText>@company.com</InputGroupText>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupTextarea placeholder=\"Enter your message\" />\r\n                <InputGroupAddon align=\"block-end\">\r\n                    <InputGroupText className=\"text-muted-foreground text-xs\">\r\n                        120 characters left\r\n                    </InputGroupText>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-textarea-demo": {
    "content": "\"use client\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupButton,\r\n    InputGroupText,\r\n    InputGroupTextarea,\r\n} from \"@/components/ui/input-group\"\r\nimport {\r\n    IconCornerDownLeft,\r\n    IconMoodSmile,\r\n    IconPaperclip,\r\n} from \"@tabler/icons-react\"\r\nimport { ArrowRight } from \"lucide-react\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\n\r\nexport default function InputGroupTextareaExample() {\r\n    const [message, setMessage] = useState(\"\")\r\n    const [platform, setPlatform] = useState<\"mac\" | \"windows\">(\"windows\")\r\n    const [isSending, setIsSending] = useState(false)\r\n    const MAX_CHARS = 500\r\n\r\n    const handleSend = async () => {\r\n        if (!message.trim() || isSending) return\r\n\r\n        setIsSending(true)\r\n        await new Promise(resolve => setTimeout(resolve, 1000))\r\n        console.log(\"Message sent:\", message)\r\n        setMessage(\"\")\r\n        setIsSending(false)\r\n    }\r\n\r\n    const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\r\n        if (e.key === \"Enter\" && (e.metaKey || e.ctrlKey)) {\r\n            e.preventDefault()\r\n            handleSend()\r\n        }\r\n    }\r\n    const componentMountedRef = useRef(true)\r\n    useEffect(() => {\r\n        const platformStr = navigator.platform.toLowerCase()\r\n        const userAgentStr = navigator.userAgent.toLowerCase()\r\n        if (platformStr.includes(\"mac\") || userAgentStr.includes(\"mac\")) {\r\n            setPlatform(\"mac\")\r\n        }\r\n        return () => {\r\n            componentMountedRef.current = false\r\n        }\r\n    }, [])\r\n\r\n    const remainingChars = MAX_CHARS - message.length\r\n    const isOverLimit = remainingChars < 0\r\n    const isNearLimit = remainingChars <= 50 && remainingChars > 0\r\n\r\n    return (\r\n        <div className=\"w-full max-w-2xl\">\r\n            <InputGroup className=\"rounded-xl\">\r\n                <InputGroupTextarea\r\n                    id=\"textarea-message\"\r\n                    placeholder=\"Type your message here...\"\r\n                    className=\"min-h-[140px] resize-none\"\r\n                    value={message}\r\n                    onChange={(e) => setMessage(e.target.value)}\r\n                    onKeyDown={handleKeyDown}\r\n                    disabled={isSending}\r\n                />\r\n                <InputGroupAddon align=\"block-end\" className=\"border-t bg-muted/30 pb-1.5\">\r\n                    <div className=\"flex items-center gap-1\">\r\n                        <Button\r\n                            size=\"icon\"\r\n                            variant=\"ghost\"\r\n                            className=\"h-8 w-8\"\r\n                            disabled={isSending}\r\n                            aria-label=\"Attach file\"\r\n                        >\r\n                            <IconPaperclip className=\"h-4 w-4\" />\r\n                        </Button>\r\n                        <Button\r\n                            size=\"icon\"\r\n                            variant=\"ghost\"\r\n                            className=\"h-8 w-8\"\r\n                            disabled={isSending}\r\n                            aria-label=\"Add emoji\"\r\n                        >\r\n                            <IconMoodSmile className=\"h-4 w-4\" />\r\n                        </Button>\r\n                    </div>\r\n                    <InputGroupText\r\n                        className={`text-xs transition-colors ${isOverLimit\r\n                            ? \"text-destructive font-medium\"\r\n                            : isNearLimit\r\n                                ? \"text-orange-500 font-medium\"\r\n                                : \"text-muted-foreground\"\r\n                            }`}\r\n                    >\r\n                        {remainingChars}/{MAX_CHARS}\r\n                    </InputGroupText>\r\n                    <InputGroupButton\r\n                        size=\"sm\"\r\n                        className=\"ml-auto gap-2\"\r\n                        variant=\"default\"\r\n                        onClick={handleSend}\r\n                        disabled={!message.trim() || isOverLimit || isSending}\r\n                    >\r\n                        {isSending ? \"Sending...\" : \"Send\"}\r\n                        <IconCornerDownLeft className=\"h-4 w-4\" />\r\n                    </InputGroupButton>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <div className=\"mt-2 text-xs text-muted-foreground\">\r\n                Press <kbd className=\"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted  font-mono text-[10px] font-medium opacity-100\">\r\n                    <span className=\"hidden lg:flex items-center gap-0.5\">\r\n                        <kbd className=\"pointer-events-none h-5 select-none items-center gap-1 rounded  px-1.5 font-mono text-[10px] font-medium hidden lg:flex\">\r\n                            {platform === \"mac\" ? \"⌘\" : \"Ctrl\"}\r\n                        </kbd>\r\n                        <ArrowRight className=\"w-2.5 h-2.5\" />\r\n                        <kbd className=\"pointer-events-none h-5 select-none items-center gap-1 rounded px-1.5 font-mono text-[10px] font-medium hidden lg:flex\">\r\n                            Enter\r\n                        </kbd>\r\n                    </span>\r\n                </kbd> to send\r\n            </div>\r\n        </div>\r\n    )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/input-group-demo/input-group-tooltip-demo": {
    "content": "import {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupButton,\r\n    InputGroupInput,\r\n} from \"@/components/ui/input-group\"\r\nimport {\r\n    Tooltip,\r\n    TooltipContent,\r\n    TooltipProvider,\r\n    TooltipTrigger,\r\n} from \"@/components/ui/tooltip\"\r\nimport { HelpCircle, InfoIcon } from \"lucide-react\"\r\n\r\nexport default function InputGroupTooltipDemo() {\r\n    return (\r\n        <div className=\"grid w-full max-w-sm gap-4\">\r\n            <InputGroup>\r\n                <InputGroupInput placeholder=\"Enter password\" type=\"password\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <TooltipProvider>\r\n                        <Tooltip>\r\n                            <TooltipTrigger asChild>\r\n                                <InputGroupButton\r\n                                    variant=\"ghost\"\r\n                                    aria-label=\"Info\"\r\n                                    size=\"icon-xs\"\r\n                                >\r\n                                    <InfoIcon />\r\n                                </InputGroupButton>\r\n                            </TooltipTrigger>\r\n                            <TooltipContent>\r\n                                <p>Password must be at least 8 characters</p>\r\n                            </TooltipContent>\r\n                        </Tooltip>\r\n                    </TooltipProvider>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupInput placeholder=\"Your email address\" />\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <TooltipProvider>\r\n                        <Tooltip>\r\n                            <TooltipTrigger asChild>\r\n                                <InputGroupButton\r\n                                    variant=\"ghost\"\r\n                                    aria-label=\"Help\"\r\n                                    size=\"icon-xs\"\r\n                                >\r\n                                    <HelpCircle />\r\n                                </InputGroupButton>\r\n                            </TooltipTrigger>\r\n                            <TooltipContent>\r\n                                <p>We&apos;ll use this to send you notifications</p>\r\n                            </TooltipContent>\r\n                        </Tooltip>\r\n                    </TooltipProvider>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n            <InputGroup>\r\n                <InputGroupInput placeholder=\"Enter API key\" />\r\n                <TooltipProvider>\r\n                    <Tooltip>\r\n                        <TooltipTrigger asChild>\r\n                            <InputGroupAddon>\r\n                                <InputGroupButton\r\n                                    variant=\"ghost\"\r\n                                    aria-label=\"Help\"\r\n                                    size=\"icon-xs\"\r\n                                >\r\n                                    <HelpCircle />\r\n                                </InputGroupButton>\r\n                            </InputGroupAddon>\r\n                        </TooltipTrigger>\r\n                        <TooltipContent side=\"left\">\r\n                            <p>Click for help with API keys</p>\r\n                        </TooltipContent>\r\n                    </Tooltip>\r\n                </TooltipProvider>\r\n            </InputGroup>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-otp-demo/input-otp-4-digit-demo": {
    "content": "import {\r\n    InputOTP,\r\n    InputOTPGroup,\r\n    InputOTPSlot,\r\n} from \"@/components/ui/input-otp\"\r\n\r\nexport default function InputOTP4DigitDemo() {\r\n    return (\r\n        <div className=\"flex flex-col items-center gap-6\">\r\n            <InputOTP maxLength={4}>\r\n                <InputOTPGroup>\r\n                    <InputOTPSlot index={0} />\r\n                    <InputOTPSlot index={1} />\r\n                    <InputOTPSlot index={2} />\r\n                    <InputOTPSlot index={3} />\r\n                </InputOTPGroup>\r\n            </InputOTP>\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-otp-demo/input-otp-8-digit-demo": {
    "content": "import {\r\n    InputOTP,\r\n    InputOTPGroup,\r\n    InputOTPSeparator,\r\n    InputOTPSlot,\r\n} from \"@/components/ui/input-otp\"\r\n\r\nexport default function InputOTP8DigitDemo() {\r\n    return (\r\n        <div className=\"flex flex-col items-center gap-6\">\r\n            <InputOTP maxLength={8}>\r\n                <InputOTPGroup>\r\n                    <InputOTPSlot index={0} />\r\n                    <InputOTPSlot index={1} />\r\n                    <InputOTPSlot index={2} />\r\n                    <InputOTPSlot index={3} />\r\n                </InputOTPGroup>\r\n                <InputOTPSeparator />\r\n                <InputOTPGroup>\r\n                    <InputOTPSlot index={4} />\r\n                    <InputOTPSlot index={5} />\r\n                    <InputOTPSlot index={6} />\r\n                    <InputOTPSlot index={7} />\r\n                </InputOTPGroup>\r\n            </InputOTP>\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-otp-demo/input-otp-controlled-demo": {
    "content": "\"use client\"\r\n\r\nimport {\r\n    InputOTP,\r\n    InputOTPGroup,\r\n    InputOTPSlot,\r\n} from \"@/components/ui/input-otp\"\r\nimport * as React from \"react\"\r\n\r\nexport default function InputOTPControlledDemo() {\r\n    const [value, setValue] = React.useState(\"\")\r\n\r\n    return (\r\n        <div className=\"space-y-2\">\r\n            <InputOTP\r\n                maxLength={6}\r\n                value={value}\r\n                onChange={(value) => setValue(value)}\r\n            >\r\n                <InputOTPGroup>\r\n                    <InputOTPSlot index={0} />\r\n                    <InputOTPSlot index={1} />\r\n                    <InputOTPSlot index={2} />\r\n                    <InputOTPSlot index={3} />\r\n                    <InputOTPSlot index={4} />\r\n                    <InputOTPSlot index={5} />\r\n                </InputOTPGroup>\r\n            </InputOTP>\r\n            <div className=\"text-center text-sm\">\r\n                {value === \"\" ? (\r\n                    <>Enter your one-time password.</>\r\n                ) : (\r\n                    <>You entered: {value}</>\r\n                )}\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-otp-demo/input-otp-demo": {
    "content": "import {\r\n    InputOTP,\r\n    InputOTPGroup,\r\n    InputOTPSeparator,\r\n    InputOTPSlot,\r\n} from \"@/components/ui/input-otp\"\r\n\r\nexport default function InputOTPDemo() {\r\n    return (\r\n        <div className=\"flex flex-col items-center gap-6\">\r\n            <InputOTP maxLength={6}>\r\n                <InputOTPGroup>\r\n                    <InputOTPSlot index={0} />\r\n                    <InputOTPSlot index={1} />\r\n                    <InputOTPSlot index={2} />\r\n                </InputOTPGroup>\r\n                <InputOTPSeparator />\r\n                <InputOTPGroup>\r\n                    <InputOTPSlot index={3} />\r\n                    <InputOTPSlot index={4} />\r\n                    <InputOTPSlot index={5} />\r\n                </InputOTPGroup>\r\n            </InputOTP>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-otp-demo/input-otp-form-demo": {
    "content": "\"use client\"\r\n\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n    Form,\r\n    FormControl,\r\n    FormDescription,\r\n    FormField,\r\n    FormItem,\r\n    FormLabel,\r\n    FormMessage,\r\n} from \"@/components/ui/form\"\r\nimport {\r\n    InputOTP,\r\n    InputOTPGroup,\r\n    InputOTPSlot,\r\n} from \"@/components/ui/input-otp\"\r\nimport { zodResolver } from \"@hookform/resolvers/zod\"\r\nimport { useForm } from \"react-hook-form\"\r\nimport { toast } from \"sonner\"\r\nimport { z } from \"zod\"\r\n\r\nconst FormSchema = z.object({\r\n    pin: z.string().min(6, {\r\n        message: \"Your one-time password must be 6 characters.\",\r\n    }),\r\n})\r\n\r\nexport default function InputOTPForm() {\r\n    const form = useForm<z.infer<typeof FormSchema>>({\r\n        resolver: zodResolver(FormSchema),\r\n        defaultValues: {\r\n            pin: \"\",\r\n        },\r\n    })\r\n\r\n    function onSubmit(data: z.infer<typeof FormSchema>) {\r\n        toast(\"You submitted the following values\", {\r\n            description: (\r\n                <pre className=\"mt-2 w-[320px] rounded-md bg-neutral-950 p-4\">\r\n                    <code className=\"text-white\">{JSON.stringify(data, null, 2)}</code>\r\n                </pre>\r\n            ),\r\n        })\r\n    }\r\n\r\n    return (\r\n        <Form {...form}>\r\n            <form onSubmit={form.handleSubmit(onSubmit)} className=\"w-2/3 space-y-6\">\r\n                <FormField\r\n                    control={form.control}\r\n                    name=\"pin\"\r\n                    render={({ field }) => (\r\n                        <FormItem>\r\n                            <FormLabel>One-Time Password</FormLabel>\r\n                            <FormControl>\r\n                                <InputOTP maxLength={6} {...field}>\r\n                                    <InputOTPGroup>\r\n                                        <InputOTPSlot index={0} />\r\n                                        <InputOTPSlot index={1} />\r\n                                        <InputOTPSlot index={2} />\r\n                                        <InputOTPSlot index={3} />\r\n                                        <InputOTPSlot index={4} />\r\n                                        <InputOTPSlot index={5} />\r\n                                    </InputOTPGroup>\r\n                                </InputOTP>\r\n                            </FormControl>\r\n                            <FormDescription>\r\n                                Please enter the one-time password sent to your phone.\r\n                            </FormDescription>\r\n                            <FormMessage />\r\n                        </FormItem>\r\n                    )}\r\n                />\r\n\r\n                <Button type=\"submit\">Submit</Button>\r\n            </form>\r\n        </Form>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-otp-demo/input-otp-password-demo": {
    "content": "\"use client\"\r\n\r\nimport {\r\n    InputOTP,\r\n    InputOTPGroup,\r\n    InputOTPSlot,\r\n} from \"@/components/ui/input-otp\"\r\nimport * as React from \"react\"\r\n\r\nexport default function InputOTPPasswordDemo() {\r\n    const [value, setValue] = React.useState(\"\")\r\n\r\n    return (\r\n        <div className=\"flex flex-col items-center gap-6\">\r\n            <InputOTP \r\n                maxLength={6}\r\n                value={value}\r\n                onChange={setValue}\r\n                containerClassName=\"gap-2\"\r\n            >\r\n                <InputOTPGroup>\r\n                    <InputOTPSlot index={0} />\r\n                    <InputOTPSlot index={1} />\r\n                    <InputOTPSlot index={2} />\r\n                    <InputOTPSlot index={3} />\r\n                    <InputOTPSlot index={4} />\r\n                    <InputOTPSlot index={5} />\r\n                </InputOTPGroup>\r\n            </InputOTP>\r\n            {value && (\r\n                <p className=\"text-muted-foreground text-sm\">\r\n                    Entered: {value}\r\n                </p>\r\n            )}\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-otp-demo/input-otp-pattern-demo": {
    "content": "\"use client\"\r\n\r\nimport { REGEXP_ONLY_DIGITS_AND_CHARS } from \"input-otp\"\r\nimport {\r\n    InputOTP,\r\n    InputOTPGroup,\r\n    InputOTPSlot,\r\n} from \"@/components/ui/input-otp\"\r\n\r\nexport default function InputOTPPattern() {\r\n    return (\r\n        <InputOTP maxLength={6} pattern={REGEXP_ONLY_DIGITS_AND_CHARS}>\r\n            <InputOTPGroup>\r\n                <InputOTPSlot index={0} />\r\n                <InputOTPSlot index={1} />\r\n                <InputOTPSlot index={2} />\r\n                <InputOTPSlot index={3} />\r\n                <InputOTPSlot index={4} />\r\n                <InputOTPSlot index={5} />\r\n            </InputOTPGroup>\r\n        </InputOTP>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-otp-demo/input-otp-simple-demo": {
    "content": "import {\r\n    InputOTP,\r\n    InputOTPGroup,\r\n    InputOTPSlot,\r\n} from \"@/components/ui/input-otp\"\r\n\r\nexport default function InputOTPSimpleDemo() {\r\n    return (\r\n        <div className=\"flex flex-col items-center gap-6\">\r\n            <InputOTP maxLength={6}>\r\n                <InputOTPGroup>\r\n                    <InputOTPSlot index={0} />\r\n                    <InputOTPSlot index={1} />\r\n                    <InputOTPSlot index={2} />\r\n                    <InputOTPSlot index={3} />\r\n                    <InputOTPSlot index={4} />\r\n                    <InputOTPSlot index={5} />\r\n                </InputOTPGroup>\r\n            </InputOTP>\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/input-otp-demo/input-otp-verification-demo": {
    "content": "\"use client\"\r\n\r\nimport {\r\n    InputOTP,\r\n    InputOTPGroup,\r\n    InputOTPSeparator,\r\n    InputOTPSlot,\r\n} from \"@/components/ui/input-otp\"\r\nimport * as React from \"react\"\r\n\r\nexport default function InputOTPVerificationDemo() {\r\n    const [value, setValue] = React.useState(\"\")\r\n    const [isComplete, setIsComplete] = React.useState(false)\r\n\r\n    React.useEffect(() => {\r\n        setIsComplete(value.length === 6)\r\n    }, [value])\r\n\r\n    return (\r\n        <div className=\"flex flex-col items-center gap-6\">\r\n            <div className=\"flex flex-col items-center gap-4\">\r\n                <h3 className=\"font-medium text-lg\">Enter verification code</h3>\r\n                <p className=\"text-muted-foreground text-sm text-center max-w-sm\">\r\n                    We've sent a 6-digit code to your email. Please enter it below.\r\n                </p>\r\n            </div>\r\n            \r\n            <InputOTP \r\n                maxLength={6}\r\n                value={value}\r\n                onChange={setValue}\r\n            >\r\n                <InputOTPGroup>\r\n                    <InputOTPSlot index={0} />\r\n                    <InputOTPSlot index={1} />\r\n                    <InputOTPSlot index={2} />\r\n                </InputOTPGroup>\r\n                <InputOTPSeparator />\r\n                <InputOTPGroup>\r\n                    <InputOTPSlot index={3} />\r\n                    <InputOTPSlot index={4} />\r\n                    <InputOTPSlot index={5} />\r\n                </InputOTPGroup>\r\n            </InputOTP>\r\n\r\n            {isComplete && (\r\n                <div className=\"flex items-center gap-2 text-sm text-green-600 dark:text-green-400\">\r\n                    <svg\r\n                        className=\"h-4 w-4\"\r\n                        fill=\"none\"\r\n                        strokeLinecap=\"round\"\r\n                        strokeLinejoin=\"round\"\r\n                        strokeWidth=\"2\"\r\n                        viewBox=\"0 0 24 24\"\r\n                        stroke=\"currentColor\"\r\n                    >\r\n                        <path d=\"M5 13l4 4L19 7\" />\r\n                    </svg>\r\n                    <span>Code verified!</span>\r\n                </div>\r\n            )}\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/kdb-demo/kdb-button-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { Kbd } from \"@/components/ui/kbd\"\r\n\r\nexport default function KbdButtonDemo() {\r\n    return (\r\n        <div className=\"flex flex-wrap items-center gap-4\">\r\n            <Button variant=\"outline\" size=\"sm\" className=\"pr-2\">\r\n                Accept <Kbd>⏎</Kbd>\r\n            </Button>\r\n            <Button variant=\"outline\" size=\"sm\" className=\"pr-2\">\r\n                Cancel <Kbd>Esc</Kbd>\r\n            </Button>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/kdb-demo/kdb-demo": {
    "content": "import { Kbd, KbdGroup } from \"@/components/ui/kbd\"\r\n\r\nexport default function KbdDemo() {\r\n    return (\r\n        <div className=\"flex flex-col items-center gap-6\">\r\n            <KbdGroup>\r\n                <Kbd>⌘</Kbd>\r\n                <Kbd>⇧</Kbd>\r\n                <Kbd>⌥</Kbd>\r\n                <Kbd>⌃</Kbd>\r\n            </KbdGroup>\r\n            <KbdGroup>\r\n                <Kbd>Ctrl</Kbd>\r\n                <span className=\"text-muted-foreground\">+</span>\r\n                <Kbd>B</Kbd>\r\n            </KbdGroup>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/kdb-demo/kdb-group-demo": {
    "content": "import { Kbd, KbdGroup } from \"@/components/ui/kbd\"\r\n\r\nexport default function KbdGroupDemo() {\r\n    return (\r\n        <div className=\"flex flex-col items-center gap-4\">\r\n            <p className=\"text-muted-foreground text-sm text-center\">\r\n                Use{\" \"}\r\n                <KbdGroup>\r\n                    <Kbd>Ctrl</Kbd>\r\n                    <span className=\"text-muted-foreground\">+</span>\r\n                    <Kbd>B</Kbd>\r\n                </KbdGroup>{\" \"}\r\n                or{\" \"}\r\n                <KbdGroup>\r\n                    <Kbd>Ctrl</Kbd>\r\n                    <span className=\"text-muted-foreground\">+</span>\r\n                    <Kbd>K</Kbd>\r\n                </KbdGroup>{\" \"}\r\n                to open the command palette\r\n            </p>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/kdb-demo/kdb-input-group-demo": {
    "content": "import {\r\n    InputGroup,\r\n    InputGroupAddon,\r\n    InputGroupInput,\r\n} from \"@/components/ui/input-group\"\r\nimport { Kbd } from \"@/components/ui/kbd\"\r\nimport { SearchIcon } from \"lucide-react\"\r\n\r\nexport default function KbdInputGroupDemo() {\r\n    return (\r\n        <div className=\"flex w-full max-w-xs flex-col gap-6\">\r\n            <InputGroup>\r\n                <InputGroupInput placeholder=\"Search...\" />\r\n                <InputGroupAddon>\r\n                    <SearchIcon />\r\n                </InputGroupAddon>\r\n                <InputGroupAddon align=\"inline-end\">\r\n                    <Kbd>⌘</Kbd>\r\n                    <Kbd>K</Kbd>\r\n                </InputGroupAddon>\r\n            </InputGroup>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/kdb-demo/kdb-tooltip-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { ButtonGroup } from \"@/components/ui/button-group\"\r\nimport { Kbd, KbdGroup } from \"@/components/ui/kbd\"\r\nimport {\r\n    Tooltip,\r\n    TooltipContent,\r\n    TooltipProvider,\r\n    TooltipTrigger,\r\n} from \"@/components/ui/tooltip\"\r\n\r\nexport default function KbdTooltipDemo() {\r\n    return (\r\n        <div className=\"flex flex-wrap gap-4\">\r\n            <ButtonGroup>\r\n                <TooltipProvider>\r\n                    <Tooltip>\r\n                        <TooltipTrigger asChild>\r\n                            <Button size=\"sm\" variant=\"outline\">\r\n                                Save\r\n                            </Button>\r\n                        </TooltipTrigger>\r\n                        <TooltipContent>\r\n                            <div className=\"flex items-center gap-2\">\r\n                                Save Changes <Kbd>S</Kbd>\r\n                            </div>\r\n                        </TooltipContent>\r\n                    </Tooltip>\r\n                </TooltipProvider>\r\n                <TooltipProvider>\r\n                    <Tooltip>\r\n                        <TooltipTrigger asChild>\r\n                            <Button size=\"sm\" variant=\"outline\">\r\n                                Print\r\n                            </Button>\r\n                        </TooltipTrigger>\r\n                        <TooltipContent>\r\n                            <div className=\"flex items-center gap-2\">\r\n                                Print Document{\" \"}\r\n                                <KbdGroup>\r\n                                    <Kbd>Ctrl</Kbd>\r\n                                    <Kbd>P</Kbd>\r\n                                </KbdGroup>\r\n                            </div>\r\n                        </TooltipContent>\r\n                    </Tooltip>\r\n                </TooltipProvider>\r\n            </ButtonGroup>\r\n        </div>\r\n    )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/label-demo": {
    "content": "import { Checkbox } from \"@/components/ui/checkbox\"\r\nimport { Label } from \"@/components/ui/label\"\r\n\r\nexport default function LabelDemo() {\r\n  return (\r\n    <div className=\"flex items-center space-x-2\">\r\n      <Checkbox id=\"terms\" />\r\n      <Label\r\n        htmlFor=\"terms\"\r\n        className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\r\n      >\r\n        Accept terms and conditions\r\n      </Label>\r\n    </div>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/list-item-demo/list-item-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n    ListItem,\r\n    ListItemActions,\r\n    ListItemContent,\r\n    ListItemDescription,\r\n    ListItemMedia,\r\n    ListItemTitle,\r\n} from \"@/components/ui/list-item\"\r\nimport { BadgeCheckIcon, ChevronRightIcon, SparklesIcon } from \"lucide-react\"\r\n\r\nexport default function ListItemDemo() {\r\n    return (\r\n        <div className=\"flex w-full max-w-md flex-col gap-4\">\r\n            <ListItem variant=\"outline\">\r\n                <ListItemContent>\r\n                    <ListItemTitle>AI Code Assistant</ListItemTitle>\r\n                    <ListItemDescription>\r\n                        Get intelligent code suggestions and auto-completion powered by advanced AI.\r\n                    </ListItemDescription>\r\n                </ListItemContent>\r\n                <ListItemActions>\r\n                    <Button size=\"sm\" variant=\"default\">\r\n                        Activate\r\n                    </Button>\r\n                </ListItemActions>\r\n            </ListItem>\r\n\r\n            <ListItem variant=\"elevated\" size=\"sm\" asChild>\r\n                <a href=\"#\">\r\n                    <ListItemMedia variant=\"icon\">\r\n                        <BadgeCheckIcon className=\"size-5 text-green-600\" />\r\n                    </ListItemMedia>\r\n                    <ListItemContent>\r\n                        <ListItemTitle>Development Environment Ready</ListItemTitle>\r\n                        <ListItemDescription>\r\n                            Your workspace is configured and ready for development.\r\n                        </ListItemDescription>\r\n                    </ListItemContent>\r\n                    <ListItemActions>\r\n                        <ChevronRightIcon className=\"size-4 text-muted-foreground\" />\r\n                    </ListItemActions>\r\n                </a>\r\n            </ListItem>\r\n\r\n            <ListItem variant=\"filled\" asChild>\r\n                <a href=\"#\">\r\n                    <ListItemMedia variant=\"icon\">\r\n                        <SparklesIcon className=\"size-5\" />\r\n                    </ListItemMedia>\r\n                    <ListItemContent>\r\n                        <ListItemTitle>New Features Available</ListItemTitle>\r\n                        <ListItemDescription>\r\n                            Discover the latest updates and enhancements.\r\n                        </ListItemDescription>\r\n                    </ListItemContent>\r\n                </a>\r\n            </ListItem>\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/list-item-demo/list-item-group-demo": {
    "content": "import {\r\n    ListItem,\r\n    ListItemActions,\r\n    ListItemContent,\r\n    ListItemDescription,\r\n    ListItemGroup,\r\n    ListItemMedia,\r\n    ListItemSeparator,\r\n    ListItemTitle,\r\n} from \"@/components/ui/list-item\"\r\nimport {\r\n    BellIcon,\r\n    ChevronRightIcon,\r\n    LockIcon,\r\n    SettingsIcon,\r\n    UserIcon,\r\n} from \"lucide-react\"\r\n\r\nexport default function ListItemGroupDemo() {\r\n    return (\r\n        <div className=\"flex w-full max-w-md flex-col gap-6\">\r\n            <ListItemGroup>\r\n                <ListItem variant=\"outline\" size=\"sm\" asChild>\r\n                    <a href=\"#\">\r\n                        <ListItemMedia variant=\"icon\">\r\n                            <UserIcon className=\"size-5\" />\r\n                        </ListItemMedia>\r\n                        <ListItemContent>\r\n                            <ListItemTitle>Profile Settings</ListItemTitle>\r\n                            <ListItemDescription>\r\n                                Manage your account and personal information\r\n                            </ListItemDescription>\r\n                        </ListItemContent>\r\n                        <ListItemActions>\r\n                            <ChevronRightIcon className=\"size-4 text-muted-foreground\" />\r\n                        </ListItemActions>\r\n                    </a>\r\n                </ListItem>\r\n\r\n                <ListItemSeparator />\r\n\r\n                <ListItem variant=\"outline\" size=\"sm\" asChild>\r\n                    <a href=\"#\">\r\n                        <ListItemMedia variant=\"icon\">\r\n                            <BellIcon className=\"size-5\" />\r\n                        </ListItemMedia>\r\n                        <ListItemContent>\r\n                            <ListItemTitle>Notifications</ListItemTitle>\r\n                            <ListItemDescription>\r\n                                Configure your notification preferences\r\n                            </ListItemDescription>\r\n                        </ListItemContent>\r\n                        <ListItemActions>\r\n                            <ChevronRightIcon className=\"size-4 text-muted-foreground\" />\r\n                        </ListItemActions>\r\n                    </a>\r\n                </ListItem>\r\n\r\n                <ListItemSeparator />\r\n\r\n                <ListItem variant=\"outline\" size=\"sm\" asChild>\r\n                    <a href=\"#\">\r\n                        <ListItemMedia variant=\"icon\">\r\n                            <LockIcon className=\"size-5\" />\r\n                        </ListItemMedia>\r\n                        <ListItemContent>\r\n                            <ListItemTitle>Security & Privacy</ListItemTitle>\r\n                            <ListItemDescription>\r\n                                Control your security settings and privacy options\r\n                            </ListItemDescription>\r\n                        </ListItemContent>\r\n                        <ListItemActions>\r\n                            <ChevronRightIcon className=\"size-4 text-muted-foreground\" />\r\n                        </ListItemActions>\r\n                    </a>\r\n                </ListItem>\r\n\r\n                <ListItemSeparator />\r\n\r\n                <ListItem variant=\"outline\" size=\"sm\" asChild>\r\n                    <a href=\"#\">\r\n                        <ListItemMedia variant=\"icon\">\r\n                            <SettingsIcon className=\"size-5\" />\r\n                        </ListItemMedia>\r\n                        <ListItemContent>\r\n                            <ListItemTitle>General Settings</ListItemTitle>\r\n                            <ListItemDescription>\r\n                                App preferences and customization options\r\n                            </ListItemDescription>\r\n                        </ListItemContent>\r\n                        <ListItemActions>\r\n                            <ChevronRightIcon className=\"size-4 text-muted-foreground\" />\r\n                        </ListItemActions>\r\n                    </a>\r\n                </ListItem>\r\n            </ListItemGroup>\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/list-item-demo/list-item-sizes-demo": {
    "content": "import {\r\n    ListItem,\r\n    ListItemContent,\r\n    ListItemDescription,\r\n    ListItemMedia,\r\n    ListItemTitle\r\n} from \"@/components/ui/list-item\"\r\nimport { SparklesIcon } from \"lucide-react\"\r\n\r\nexport default function ListItemSizesDemo() {\r\n    return (\r\n        <div className=\"flex w-full max-w-md flex-col gap-6\">\r\n            <div className=\"space-y-3\">\r\n                <h3 className=\"font-semibold text-sm text-muted-foreground\">\r\n                    Small Size\r\n                </h3>\r\n                <ListItem variant=\"outline\" size=\"sm\">\r\n                    <ListItemMedia variant=\"icon\">\r\n                        <SparklesIcon className=\"size-4\" />\r\n                    </ListItemMedia>\r\n                    <ListItemContent>\r\n                        <ListItemTitle>Compact Item</ListItemTitle>\r\n                        <ListItemDescription>\r\n                            Perfect for dense lists and navigation menus\r\n                        </ListItemDescription>\r\n                    </ListItemContent>\r\n                </ListItem>\r\n            </div>\r\n\r\n            <div className=\"space-y-3\">\r\n                <h3 className=\"font-semibold text-sm text-muted-foreground\">\r\n                    Default Size\r\n                </h3>\r\n                <ListItem variant=\"outline\" size=\"default\">\r\n                    <ListItemMedia variant=\"icon\">\r\n                        <SparklesIcon className=\"size-5\" />\r\n                    </ListItemMedia>\r\n                    <ListItemContent>\r\n                        <ListItemTitle>Standard Item</ListItemTitle>\r\n                        <ListItemDescription>\r\n                            Balanced spacing for most use cases and comfortable reading\r\n                        </ListItemDescription>\r\n                    </ListItemContent>\r\n                </ListItem>\r\n            </div>\r\n\r\n            <div className=\"space-y-3\">\r\n                <h3 className=\"font-semibold text-sm text-muted-foreground\">\r\n                    Large Size\r\n                </h3>\r\n                <ListItem variant=\"outline\" size=\"lg\">\r\n                    <ListItemMedia variant=\"icon\">\r\n                        <SparklesIcon className=\"size-6\" />\r\n                    </ListItemMedia>\r\n                    <ListItemContent>\r\n                        <ListItemTitle>Spacious Item</ListItemTitle>\r\n                        <ListItemDescription>\r\n                            Extra padding for emphasis and improved touch targets on mobile devices\r\n                        </ListItemDescription>\r\n                    </ListItemContent>\r\n                </ListItem>\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/list-item-demo/list-item-variants-demo": {
    "content": "import {\r\n    ListItem,\r\n    ListItemContent,\r\n    ListItemDescription,\r\n    ListItemMedia,\r\n    ListItemTitle\r\n} from \"@/components/ui/list-item\"\r\nimport { SparklesIcon } from \"lucide-react\"\r\n\r\nexport default function ListItemVariantsDemo() {\r\n    return (\r\n        <div className=\"flex w-full max-w-md flex-col gap-6\">\r\n            <div className=\"space-y-3\">\r\n                <h3 className=\"font-semibold text-sm text-muted-foreground\">\r\n                    Default Variant\r\n                </h3>\r\n                <ListItem>\r\n                    <ListItemMedia variant=\"icon\">\r\n                        <SparklesIcon className=\"size-5\" />\r\n                    </ListItemMedia>\r\n                    <ListItemContent>\r\n                        <ListItemTitle>Default Style</ListItemTitle>\r\n                        <ListItemDescription>\r\n                            Clean and minimal with subtle hover effects\r\n                        </ListItemDescription>\r\n                    </ListItemContent>\r\n                </ListItem>\r\n            </div>\r\n\r\n            <div className=\"space-y-3\">\r\n                <h3 className=\"font-semibold text-sm text-muted-foreground\">\r\n                    Outline Variant\r\n                </h3>\r\n                <ListItem variant=\"outline\">\r\n                    <ListItemMedia variant=\"icon\">\r\n                        <SparklesIcon className=\"size-5\" />\r\n                    </ListItemMedia>\r\n                    <ListItemContent>\r\n                        <ListItemTitle>Outline Style</ListItemTitle>\r\n                        <ListItemDescription>\r\n                            Features a visible border with soft shadow\r\n                        </ListItemDescription>\r\n                    </ListItemContent>\r\n                </ListItem>\r\n            </div>\r\n\r\n            <div className=\"space-y-3\">\r\n                <h3 className=\"font-semibold text-sm text-muted-foreground\">\r\n                    Elevated Variant\r\n                </h3>\r\n                <ListItem variant=\"elevated\">\r\n                    <ListItemMedia variant=\"icon\">\r\n                        <SparklesIcon className=\"size-5\" />\r\n                    </ListItemMedia>\r\n                    <ListItemContent>\r\n                        <ListItemTitle>Elevated Style</ListItemTitle>\r\n                        <ListItemDescription>\r\n                            Enhanced shadow for a floating effect\r\n                        </ListItemDescription>\r\n                    </ListItemContent>\r\n                </ListItem>\r\n            </div>\r\n\r\n            <div className=\"space-y-3\">\r\n                <h3 className=\"font-semibold text-sm text-muted-foreground\">\r\n                    Filled Variant\r\n                </h3>\r\n                <ListItem variant=\"filled\">\r\n                    <ListItemMedia variant=\"icon\">\r\n                        <SparklesIcon className=\"size-5\" />\r\n                    </ListItemMedia>\r\n                    <ListItemContent>\r\n                        <ListItemTitle>Filled Style</ListItemTitle>\r\n                        <ListItemDescription>\r\n                            Subtle background color for emphasis\r\n                        </ListItemDescription>\r\n                    </ListItemContent>\r\n                </ListItem>\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/list-item-demo/list-item-with-avatar-demo": {
    "content": "import { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\"\r\nimport { Badge } from \"@/components/ui/badge\"\r\nimport {\r\n    ListItem,\r\n    ListItemContent,\r\n    ListItemDescription,\r\n    ListItemGroup,\r\n    ListItemMedia,\r\n    ListItemSeparator,\r\n    ListItemTitle,\r\n} from \"@/components/ui/list-item\"\r\n\r\nexport default function ListItemWithAvatarDemo() {\r\n    return (\r\n        <div className=\"flex w-full max-w-md flex-col gap-6\">\r\n            <ListItemGroup>\r\n                <ListItem variant=\"outline\" size=\"sm\" asChild>\r\n                    <a href=\"#\">\r\n                        <ListItemMedia variant=\"avatar\">\r\n                            <Avatar>\r\n                                <AvatarImage src=\"https://github.com/shadcn.png\" />\r\n                                <AvatarFallback>CN</AvatarFallback>\r\n                            </Avatar>\r\n                        </ListItemMedia>\r\n                        <ListItemContent>\r\n                            <ListItemTitle className=\"flex items-center gap-2\">\r\n                                Sarah Chen\r\n                                <Badge variant=\"secondary\" className=\"text-xs\">\r\n                                    Pro\r\n                                </Badge>\r\n                            </ListItemTitle>\r\n                            <ListItemDescription>\r\n                                Senior Product Designer · Active now\r\n                            </ListItemDescription>\r\n                        </ListItemContent>\r\n                    </a>\r\n                </ListItem>\r\n\r\n                <ListItemSeparator />\r\n\r\n                <ListItem variant=\"outline\" size=\"sm\" asChild>\r\n                    <a href=\"#\">\r\n                        <ListItemMedia variant=\"avatar\">\r\n                            <Avatar>\r\n                                <AvatarImage src=\"https://github.com/vercel.png\" />\r\n                                <AvatarFallback>VC</AvatarFallback>\r\n                            </Avatar>\r\n                        </ListItemMedia>\r\n                        <ListItemContent>\r\n                            <ListItemTitle className=\"flex items-center gap-2\">\r\n                                Alex Rodriguez\r\n                                <Badge variant=\"outline\" className=\"text-xs\">\r\n                                    Free\r\n                                </Badge>\r\n                            </ListItemTitle>\r\n                            <ListItemDescription>\r\n                                Frontend Developer · 2 min ago\r\n                            </ListItemDescription>\r\n                        </ListItemContent>\r\n                    </a>\r\n                </ListItem>\r\n\r\n                <ListItemSeparator />\r\n\r\n                <ListItem variant=\"outline\" size=\"sm\" asChild>\r\n                    <a href=\"#\">\r\n                        <ListItemMedia variant=\"avatar\">\r\n                            <Avatar>\r\n                                <AvatarImage src=\"https://github.com/nextjs.png\" />\r\n                                <AvatarFallback>NJ</AvatarFallback>\r\n                            </Avatar>\r\n                        </ListItemMedia>\r\n                        <ListItemContent>\r\n                            <ListItemTitle className=\"flex items-center gap-2\">\r\n                                Emma Wilson\r\n                                <Badge variant=\"secondary\" className=\"text-xs\">\r\n                                    Pro\r\n                                </Badge>\r\n                            </ListItemTitle>\r\n                            <ListItemDescription>\r\n                                UX Researcher · 1 hour ago\r\n                            </ListItemDescription>\r\n                        </ListItemContent>\r\n                    </a>\r\n                </ListItem>\r\n            </ListItemGroup>\r\n        </div>\r\n    )\r\n}\r\n\r\n",
    "language": "tsx"
  },
  "@/registry/examples/loading-demo/loading-badge-demo": {
    "content": "import { Badge } from \"@/components/ui/badge\"\r\nimport { Loading } from \"@/components/ui/loading\"\r\n\r\nexport default function LoadingBadgeDemo() {\r\n    return (\r\n        <div className=\"flex items-center gap-6\">\r\n            <Badge variant=\"default\" icon={<Loading className=\"size-4\" />}>\r\n                Loading...\r\n            </Badge>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/loading-demo/loading-button-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { Loading } from \"@/components/ui/loading\"\r\n\r\nexport default function LoadingButtonDemo() {\r\n    return (\r\n        <div className=\"flex items-center gap-6\">\r\n            <Button variant=\"default\" icon={<Loading className=\"size-4\" />}>\r\n                Loading...\r\n            </Button>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/loading-demo/loading-color-demo": {
    "content": "import { Loading } from \"@/components/ui/loading\"\r\n\r\nexport default function LoadingColorDemo() {\r\n    return (\r\n        <div className=\"flex items-center gap-6\">\r\n            <Loading className=\"size-6 text-red-500\" />\r\n            <Loading className=\"size-6 text-green-500\" />\r\n            <Loading className=\"size-6 text-blue-500\" />\r\n            <Loading className=\"size-6 text-yellow-500\" />\r\n            <Loading className=\"size-6 text-purple-500\" />\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/loading-demo/loading-demo": {
    "content": "import {\r\n    ListItem,\r\n    ListItemContent,\r\n    ListItemMedia,\r\n    ListItemTitle,\r\n} from \"@/components/ui/list-item\"\r\nimport { Loading } from \"@/components/ui/loading\"\r\n\r\nexport default function LoadingDemo() {\r\n    return (\r\n        <div className=\"flex w-full max-w-xs flex-col gap-4 [--radius:1rem]\">\r\n            <ListItem variant=\"outline\">\r\n                <ListItemMedia>\r\n                    <Loading />\r\n                </ListItemMedia>\r\n                <ListItemContent>\r\n                    <ListItemTitle className=\"line-clamp-1\">Processing payment...</ListItemTitle>\r\n                </ListItemContent>\r\n                <ListItemContent className=\"flex-none justify-end\">\r\n                    <span className=\"text-sm tabular-nums\">$100.00</span>\r\n                </ListItemContent>\r\n            </ListItem>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/loading-demo/loading-size-demo": {
    "content": "import { Loading } from \"@/components/ui/loading\"\r\n\r\nexport default function LoadingSizeDemo() {\r\n    return (\r\n        <div className=\"flex items-center gap-6\">\r\n            <Loading className=\"size-3\" />\r\n            <Loading className=\"size-4\" />\r\n            <Loading className=\"size-6\" />\r\n            <Loading className=\"size-8\" />\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/menubar-demo": {
    "content": "import {\r\n    Menubar,\r\n    MenubarCheckboxItem,\r\n    MenubarContent,\r\n    MenubarItem,\r\n    MenubarMenu,\r\n    MenubarRadioGroup,\r\n    MenubarRadioItem,\r\n    MenubarSeparator,\r\n    MenubarShortcut,\r\n    MenubarSub,\r\n    MenubarSubContent,\r\n    MenubarSubTrigger,\r\n    MenubarTrigger,\r\n} from \"@/components/ui/menubar\"\r\n\r\nexport default function MenubarDemo() {\r\n    return (\r\n        <Menubar>\r\n            <MenubarMenu>\r\n                <MenubarTrigger>File</MenubarTrigger>\r\n                <MenubarContent>\r\n                    <MenubarItem>\r\n                        New Tab <MenubarShortcut>⌘T</MenubarShortcut>\r\n                    </MenubarItem>\r\n                    <MenubarItem>\r\n                        New Window <MenubarShortcut>⌘N</MenubarShortcut>\r\n                    </MenubarItem>\r\n                    <MenubarItem disabled>New Incognito Window</MenubarItem>\r\n                    <MenubarSeparator />\r\n                    <MenubarSub>\r\n                        <MenubarSubTrigger>Share</MenubarSubTrigger>\r\n                        <MenubarSubContent>\r\n                            <MenubarItem>Email link</MenubarItem>\r\n                            <MenubarItem>Messages</MenubarItem>\r\n                            <MenubarItem>Notes</MenubarItem>\r\n                        </MenubarSubContent>\r\n                    </MenubarSub>\r\n                    <MenubarSeparator />\r\n                    <MenubarItem>\r\n                        Print... <MenubarShortcut>⌘P</MenubarShortcut>\r\n                    </MenubarItem>\r\n                </MenubarContent>\r\n            </MenubarMenu>\r\n            <MenubarMenu>\r\n                <MenubarTrigger>Edit</MenubarTrigger>\r\n                <MenubarContent>\r\n                    <MenubarItem>\r\n                        Undo <MenubarShortcut>⌘Z</MenubarShortcut>\r\n                    </MenubarItem>\r\n                    <MenubarItem>\r\n                        Redo <MenubarShortcut>⇧⌘Z</MenubarShortcut>\r\n                    </MenubarItem>\r\n                    <MenubarSeparator />\r\n                    <MenubarSub>\r\n                        <MenubarSubTrigger>Find</MenubarSubTrigger>\r\n                        <MenubarSubContent>\r\n                            <MenubarItem>Search the web</MenubarItem>\r\n                            <MenubarSeparator />\r\n                            <MenubarItem>Find...</MenubarItem>\r\n                            <MenubarItem>Find Next</MenubarItem>\r\n                            <MenubarItem>Find Previous</MenubarItem>\r\n                        </MenubarSubContent>\r\n                    </MenubarSub>\r\n                    <MenubarSeparator />\r\n                    <MenubarItem>Cut</MenubarItem>\r\n                    <MenubarItem>Copy</MenubarItem>\r\n                    <MenubarItem>Paste</MenubarItem>\r\n                </MenubarContent>\r\n            </MenubarMenu>\r\n            <MenubarMenu>\r\n                <MenubarTrigger>View</MenubarTrigger>\r\n                <MenubarContent>\r\n                    <MenubarCheckboxItem>Always Show Bookmarks Bar</MenubarCheckboxItem>\r\n                    <MenubarCheckboxItem checked>\r\n                        Always Show Full URLs\r\n                    </MenubarCheckboxItem>\r\n                    <MenubarSeparator />\r\n                    <MenubarItem inset>\r\n                        Reload <MenubarShortcut>⌘R</MenubarShortcut>\r\n                    </MenubarItem>\r\n                    <MenubarItem disabled inset>\r\n                        Force Reload <MenubarShortcut>⇧⌘R</MenubarShortcut>\r\n                    </MenubarItem>\r\n                    <MenubarSeparator />\r\n                    <MenubarItem inset>Toggle Fullscreen</MenubarItem>\r\n                    <MenubarSeparator />\r\n                    <MenubarItem inset>Hide Sidebar</MenubarItem>\r\n                </MenubarContent>\r\n            </MenubarMenu>\r\n            <MenubarMenu>\r\n                <MenubarTrigger>Profiles</MenubarTrigger>\r\n                <MenubarContent>\r\n                    <MenubarRadioGroup value=\"benoit\">\r\n                        <MenubarRadioItem value=\"andy\">Andy</MenubarRadioItem>\r\n                        <MenubarRadioItem value=\"benoit\">Benoit</MenubarRadioItem>\r\n                        <MenubarRadioItem value=\"Luis\">Luis</MenubarRadioItem>\r\n                    </MenubarRadioGroup>\r\n                    <MenubarSeparator />\r\n                    <MenubarItem inset>Edit...</MenubarItem>\r\n                    <MenubarSeparator />\r\n                    <MenubarItem inset>Add Profile...</MenubarItem>\r\n                </MenubarContent>\r\n            </MenubarMenu>\r\n        </Menubar>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/navigation-menu-demo": {
    "content": "\"use client\"\r\n\r\nimport {\r\n    NavigationMenu,\r\n    NavigationMenuContent,\r\n    NavigationMenuItem,\r\n    NavigationMenuLink,\r\n    NavigationMenuList,\r\n    NavigationMenuTrigger,\r\n    navigationMenuTriggerStyle,\r\n} from \"@/components/ui/navigation-menu\"\r\nimport { useIsMobile } from \"@/hooks/use-mobile\"\r\nimport { CircleCheckIcon, CircleHelpIcon, CircleIcon } from \"lucide-react\"\r\nimport Link from \"next/link\"\r\nimport * as React from \"react\"\r\n\r\nconst components: { title: string; href: string; description: string }[] = [\r\n    {\r\n        title: \"Alert Dialog\",\r\n        href: \"/docs/primitives/alert-dialog\",\r\n        description:\r\n            \"A modal dialog that interrupts the user with important content and expects a response.\",\r\n    },\r\n    {\r\n        title: \"Hover Card\",\r\n        href: \"/docs/primitives/hover-card\",\r\n        description:\r\n            \"For sighted users to preview content available behind a link.\",\r\n    },\r\n    {\r\n        title: \"Progress\",\r\n        href: \"/docs/primitives/progress\",\r\n        description:\r\n            \"Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.\",\r\n    },\r\n    {\r\n        title: \"Scroll-area\",\r\n        href: \"/docs/primitives/scroll-area\",\r\n        description: \"Visually or semantically separates content.\",\r\n    },\r\n    {\r\n        title: \"Tabs\",\r\n        href: \"/docs/primitives/tabs\",\r\n        description:\r\n            \"A set of layered sections of content—known as tab panels—that are displayed one at a time.\",\r\n    },\r\n    {\r\n        title: \"Tooltip\",\r\n        href: \"/docs/primitives/tooltip\",\r\n        description:\r\n            \"A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.\",\r\n    },\r\n]\r\n\r\nexport default function NavigationMenuDemo() {\r\n    const isMobile = useIsMobile()\r\n\r\n    return (\r\n        <div className=\"flex z-50\">\r\n            <NavigationMenu viewport={isMobile}>\r\n                <NavigationMenuList className=\"flex-wrap\">\r\n                    <NavigationMenuItem>\r\n                        <NavigationMenuTrigger>Home</NavigationMenuTrigger>\r\n                        <NavigationMenuContent>\r\n                            <ul className=\"grid gap-2 md:w-[400px] lg:w-[500px] lg:grid-cols-[.75fr_1fr] z-50\">\r\n                                <li className=\"row-span-3\">\r\n                                    <NavigationMenuLink asChild>\r\n                                        <a\r\n                                            className=\"from-muted/50 to-muted flex h-full w-full flex-col justify-end rounded-md bg-linear-to-b p-4 no-underline outline-hidden transition-all duration-200 select-none focus:shadow-md md:p-6\"\r\n                                            href=\"/\"\r\n                                        >\r\n                                            <div className=\"mb-2 text-lg font-medium sm:mt-4\">\r\n                                                shadcn/ui\r\n                                            </div>\r\n                                            <p className=\"text-muted-foreground text-sm leading-tight\">\r\n                                                Beautifully designed components built with Tailwind CSS.\r\n                                            </p>\r\n                                        </a>\r\n                                    </NavigationMenuLink>\r\n                                </li>\r\n                                <ListItem href=\"/docs\" title=\"Introduction\">\r\n                                    Re-usable components built using Radix UI and Tailwind CSS.\r\n                                </ListItem>\r\n                                <ListItem href=\"/docs/installation\" title=\"Installation\">\r\n                                    How to install dependencies and structure your app.\r\n                                </ListItem>\r\n                                <ListItem href=\"/docs/primitives/typography\" title=\"Typography\">\r\n                                    Styles for headings, paragraphs, lists...etc\r\n                                </ListItem>\r\n                            </ul>\r\n                        </NavigationMenuContent>\r\n                    </NavigationMenuItem>\r\n                    <NavigationMenuItem>\r\n                        <NavigationMenuTrigger>Components</NavigationMenuTrigger>\r\n                        <NavigationMenuContent>\r\n                            <ul className=\"grid gap-2 sm:w-[400px] md:w-[500px] md:grid-cols-2 lg:w-[600px]\">\r\n                                {components.map((component) => (\r\n                                    <ListItem\r\n                                        key={component.title}\r\n                                        title={component.title}\r\n                                        href={component.href}\r\n                                    >\r\n                                        {component.description}\r\n                                    </ListItem>\r\n                                ))}\r\n                            </ul>\r\n                        </NavigationMenuContent>\r\n                    </NavigationMenuItem>\r\n                    <NavigationMenuItem>\r\n                        <NavigationMenuLink asChild className={navigationMenuTriggerStyle()}>\r\n                            <Link href=\"/docs\">Docs</Link>\r\n                        </NavigationMenuLink>\r\n                    </NavigationMenuItem>\r\n                    <NavigationMenuItem className=\"hidden md:block\">\r\n                        <NavigationMenuTrigger>List</NavigationMenuTrigger>\r\n                        <NavigationMenuContent>\r\n                            <ul className=\"grid w-[300px] gap-4\">\r\n                                <li>\r\n                                    <NavigationMenuLink asChild>\r\n                                        <Link href=\"#\">\r\n                                            <div className=\"font-medium\">Components</div>\r\n                                            <div className=\"text-muted-foreground\">\r\n                                                Browse all components in the library.\r\n                                            </div>\r\n                                        </Link>\r\n                                    </NavigationMenuLink>\r\n                                    <NavigationMenuLink asChild>\r\n                                        <Link href=\"#\">\r\n                                            <div className=\"font-medium\">Documentation</div>\r\n                                            <div className=\"text-muted-foreground\">\r\n                                                Learn how to use the library.\r\n                                            </div>\r\n                                        </Link>\r\n                                    </NavigationMenuLink>\r\n                                    <NavigationMenuLink asChild>\r\n                                        <Link href=\"#\">\r\n                                            <div className=\"font-medium\">Blog</div>\r\n                                            <div className=\"text-muted-foreground\">\r\n                                                Read our latest blog posts.\r\n                                            </div>\r\n                                        </Link>\r\n                                    </NavigationMenuLink>\r\n                                </li>\r\n                            </ul>\r\n                        </NavigationMenuContent>\r\n                    </NavigationMenuItem>\r\n                    <NavigationMenuItem className=\"hidden md:block\">\r\n                        <NavigationMenuTrigger>Simple</NavigationMenuTrigger>\r\n                        <NavigationMenuContent>\r\n                            <ul className=\"grid w-[200px] gap-4\">\r\n                                <li>\r\n                                    <NavigationMenuLink asChild>\r\n                                        <Link href=\"#\">Components</Link>\r\n                                    </NavigationMenuLink>\r\n                                    <NavigationMenuLink asChild>\r\n                                        <Link href=\"#\">Documentation</Link>\r\n                                    </NavigationMenuLink>\r\n                                    <NavigationMenuLink asChild>\r\n                                        <Link href=\"#\">Blocks</Link>\r\n                                    </NavigationMenuLink>\r\n                                </li>\r\n                            </ul>\r\n                        </NavigationMenuContent>\r\n                    </NavigationMenuItem>\r\n                    <NavigationMenuItem className=\"hidden md:block\">\r\n                        <NavigationMenuTrigger>With Icon</NavigationMenuTrigger>\r\n                        <NavigationMenuContent>\r\n                            <ul className=\"grid w-[200px] gap-4\">\r\n                                <li>\r\n                                    <NavigationMenuLink asChild>\r\n                                        <Link href=\"#\" className=\"flex-row items-center gap-2\">\r\n                                            <CircleHelpIcon />\r\n                                            Backlog\r\n                                        </Link>\r\n                                    </NavigationMenuLink>\r\n                                    <NavigationMenuLink asChild>\r\n                                        <Link href=\"#\" className=\"flex-row items-center gap-2\">\r\n                                            <CircleIcon />\r\n                                            To Do\r\n                                        </Link>\r\n                                    </NavigationMenuLink>\r\n                                    <NavigationMenuLink asChild>\r\n                                        <Link href=\"#\" className=\"flex-row items-center gap-2\">\r\n                                            <CircleCheckIcon />\r\n                                            Done\r\n                                        </Link>\r\n                                    </NavigationMenuLink>\r\n                                </li>\r\n                            </ul>\r\n                        </NavigationMenuContent>\r\n                    </NavigationMenuItem>\r\n                </NavigationMenuList>\r\n            </NavigationMenu>\r\n        </div>\r\n    )\r\n}\r\n\r\nfunction ListItem({\r\n    title,\r\n    children,\r\n    href,\r\n    ...props\r\n}: React.ComponentPropsWithoutRef<\"li\"> & { href: string }) {\r\n    return (\r\n        <li {...props}>\r\n            <NavigationMenuLink asChild>\r\n                <Link href={href}>\r\n                    <div className=\"text-sm leading-none font-medium\">{title}</div>\r\n                    <p className=\"text-muted-foreground line-clamp-2 text-sm leading-snug\">\r\n                        {children}\r\n                    </p>\r\n                </Link>\r\n            </NavigationMenuLink>\r\n        </li>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/note-demo/note-closable-demo": {
    "content": "import { Note } from \"@/components/ui/note\"\r\n\r\nexport default function NoteClosableDemo() {\r\n  return (\r\n    <Note variant=\"info\" closable>\r\n      **Turbopack** is a high-performance bundler and dev server for Next.js.\r\n      Enabling this option ensures faster builds and an improved development\r\n      experience.\r\n    </Note>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/note-demo/note-demo": {
    "content": "import { Note } from \"@/components/ui/note\"\r\n\r\nexport default function NoteDemo() {\r\n  return (\r\n    <Note variant=\"info\">This is an informational note.</Note>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/note-demo/note-error-demo": {
    "content": "import { Note } from \"@/components/ui/note\"\r\n\r\nexport default function NoteErrorDemo() {\r\n  return (\r\n    <Note variant=\"error\">An error has occurred. Please try again.</Note>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/note-demo/note-success-demo": {
    "content": "import { Note } from \"@/components/ui/note\"\r\n\r\nexport default function NoteSuccessDemo() {\r\n  return (\r\n    <Note variant=\"success\">\r\n      Your action was successful! Everything is working as expected.\r\n    </Note>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/note-demo/note-warning-demo": {
    "content": "import { Note } from \"@/components/ui/note\"\r\n\r\nexport default function NoteWarningDemo() {\r\n  return (\r\n    <Note variant=\"warning\">\r\n      This is a warning note. Please be cautious with your actions.\r\n    </Note>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/pagination-demo": {
    "content": "import {\r\n    Pagination,\r\n    PaginationContent,\r\n    PaginationEllipsis,\r\n    PaginationItem,\r\n    PaginationLink,\r\n    PaginationNext,\r\n    PaginationPrevious,\r\n} from \"@/components/ui/pagination\"\r\n\r\nexport default function PaginationDemo() {\r\n    return (\r\n        <Pagination>\r\n            <PaginationContent>\r\n                <PaginationItem>\r\n                    <PaginationPrevious href=\"#\" />\r\n                </PaginationItem>\r\n                <PaginationItem>\r\n                    <PaginationLink href=\"#\">1</PaginationLink>\r\n                </PaginationItem>\r\n                <PaginationItem>\r\n                    <PaginationLink href=\"#\" isActive>\r\n                        2\r\n                    </PaginationLink>\r\n                </PaginationItem>\r\n                <PaginationItem>\r\n                    <PaginationLink href=\"#\">3</PaginationLink>\r\n                </PaginationItem>\r\n                <PaginationItem>\r\n                    <PaginationEllipsis />\r\n                </PaginationItem>\r\n                <PaginationItem>\r\n                    <PaginationNext href=\"#\" />\r\n                </PaginationItem>\r\n            </PaginationContent>\r\n        </Pagination>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/popover-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Popover,\r\n  PopoverContent,\r\n  PopoverTrigger,\r\n} from \"@/components/ui/popover\"\r\n\r\nexport default function PopoverDemo() {\r\n  return (\r\n    <div className=\"flex justify-center\">\r\n      <Popover>\r\n        <PopoverTrigger asChild>\r\n          <Button variant=\"outline\">Click for Information</Button>\r\n        </PopoverTrigger>\r\n        <PopoverContent>\r\n          <div className=\"space-y-2\">\r\n            <h3 className=\"font-medium\">What is a Popover?</h3>\r\n            <p className=\"text-sm text-gray-500\">\r\n              A popover is a floating card that appears when a user interacts\r\n              with a trigger element. It's commonly used for additional\r\n              information or controls.\r\n            </p>\r\n          </div>\r\n        </PopoverContent>\r\n      </Popover>\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/pre-demo": {
    "content": "import { cn } from \"@/lib/utils\"\r\nimport Pre from \"@/components/ui/pre\"\r\n\r\nexport default function PreDemo({ className }: { className?: string }) {\r\n  const ExampleCode = `function MyComponent(props) {\r\n   return (\r\n      <div>\r\n         <h1>Hello, {props.name}!</h1>\r\n         <p>This is an example React component.</p>\r\n      </div>\r\n   )};`\r\n  return (\r\n    <Pre\r\n      className={cn(\"\", className)}\r\n      highlightLines={[4]}\r\n      showLineNumbers={true}\r\n    >\r\n      {ExampleCode}\r\n    </Pre>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/product-card-demo": {
    "content": "\"use client\"\r\n\r\nimport { Badge } from \"@/components/ui/badge\"\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Truck } from \"lucide-react\"\r\nimport { useState } from \"react\"\r\n\r\nexport default function ProductCardDemo() {\r\n  const [isDetailsClicked, setIsDetailsClicked] = useState(false)\r\n  return (\r\n    <div className=\"select-none max-w-[300px] relative\">\r\n      <div className=\"absolute top-[3%] -left-[3%] z-10 px-[5px] py-[7px] flex items-center justify-center gap-2 text-background text-xs rounded-tl-[0] rounded-br-[5px] rounded-tr-[5px] rounded-bl-[0] bg-[#676769] dark:bg-[#dad4d4]\">\r\n        <Truck className=\"w-4 h-4\" />\r\n        Fast shipping\r\n      </div>\r\n      <div className=\"absolute right-[0px] z-10  flex items-center justify-center text-background text-xs\">\r\n        <Badge className=\"rounded-none text-sm\" variant={\"destructive\"}>\r\n          20%\r\n        </Badge>\r\n      </div>\r\n      <div className=\"p-0\">\r\n        <div className=\"relative\">\r\n          <img\r\n            src=\"\\components\\product-card-1.png\"\r\n            alt=\"LED Chandelier\"\r\n            className=\"object-contain\"\r\n          />\r\n        </div>\r\n        <div className=\"space-y-1\">\r\n          <p className=\"text-[19px] mt-[10px] font-medium\">PRODUCT-MC6015-H3</p>\r\n          <h3 className=\" leading-tight text-zinc-500\">\r\n            Aluminum Shade + Glass LED Chandelier With E27 Base & 36W\r\n          </h3>\r\n          <div className=\"flex items-baseline gap-2\">\r\n            <span className=\"text-lg font-bold text-red-500\">EGP 2576.00</span>\r\n            <span className=\"text-sm text-zinc-400 line-through\">\r\n              EGP 3219.00\r\n            </span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div className=\"flex justify-between gap-2 mt-[10px]\">\r\n        <button\r\n          className={cn(\"flex-1 border border-black py-2 px-2 rounded-md\", {\r\n            \"bg-gray-100\": isDetailsClicked,\r\n          })}\r\n          onClick={() => setIsDetailsClicked(true)}\r\n        >\r\n          More details\r\n        </button>\r\n        <button className=\"shrink-0 bg-black rounded-md py-1 px-2 \">\r\n          <svg\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            viewBox=\"0 0 576 512\"\r\n            width={20}\r\n            height={20}\r\n            fill=\"white\"\r\n          >\r\n            <path d=\"M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\" />\r\n          </svg>\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/progress-demo": {
    "content": "\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { Progress } from \"@/components/ui/progress\"\r\n\r\nexport default function ProgressDemo() {\r\n    const [progress, setProgress] = React.useState(13)\r\n\r\n    React.useEffect(() => {\r\n        const timer = setTimeout(() => setProgress(66), 500)\r\n        return () => clearTimeout(timer)\r\n    }, [])\r\n\r\n    return <Progress value={progress} className=\"w-[60%]\" />\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/radio-group-demo": {
    "content": "import { Label } from \"@/components/ui/label\"\r\nimport {\r\n    RadioGroup,\r\n    RadioGroupItem,\r\n} from \"@/components/ui/radio-group\"\r\n\r\nexport default function RadioGroupDemo() {\r\n    return (\r\n        <RadioGroup defaultValue=\"comfortable\">\r\n            <div className=\"flex items-center gap-3\">\r\n                <RadioGroupItem value=\"default\" id=\"r1\" />\r\n                <Label htmlFor=\"r1\" className=\"cursor-pointer\">\r\n                    Default\r\n                </Label>\r\n            </div>\r\n            <div className=\"flex items-center gap-3\">\r\n                <RadioGroupItem value=\"comfortable\" id=\"r2\" />\r\n                <Label htmlFor=\"r2\" className=\"cursor-pointer\">\r\n                    Comfortable\r\n                </Label>\r\n            </div>\r\n            <div className=\"flex items-center gap-3\">\r\n                <RadioGroupItem value=\"compact\" id=\"r3\" />\r\n                <Label htmlFor=\"r3\" className=\"cursor-pointer\">\r\n                    Compact\r\n                </Label>\r\n            </div>\r\n        </RadioGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/resizable-demo/resizable-demo": {
    "content": "import {\r\n    ResizableHandle,\r\n    ResizablePanel,\r\n    ResizablePanelGroup,\r\n} from \"@/components/ui/resizable\"\r\n\r\nexport default function ResizableDemo() {\r\n    return (\r\n        <ResizablePanelGroup\r\n            direction=\"horizontal\"\r\n            className=\"max-w-md rounded-2xl border border-border/60 bg-background shadow-sm md:min-w-[450px]\"\r\n        >\r\n            <ResizablePanel defaultSize={50}>\r\n                <div className=\"flex h-[200px] items-center justify-center p-6\">\r\n                    <span className=\"font-semibold text-foreground\">One</span>\r\n                </div>\r\n            </ResizablePanel>\r\n            <ResizableHandle />\r\n            <ResizablePanel defaultSize={50}>\r\n                <ResizablePanelGroup direction=\"vertical\">\r\n                    <ResizablePanel defaultSize={25}>\r\n                        <div className=\"flex h-full items-center justify-center p-6\">\r\n                            <span className=\"font-semibold text-foreground\">Two</span>\r\n                        </div>\r\n                    </ResizablePanel>\r\n                    <ResizableHandle />\r\n                    <ResizablePanel defaultSize={75}>\r\n                        <div className=\"flex h-full items-center justify-center p-6\">\r\n                            <span className=\"font-semibold text-foreground\">Three</span>\r\n                        </div>\r\n                    </ResizablePanel>\r\n                </ResizablePanelGroup>\r\n            </ResizablePanel>\r\n        </ResizablePanelGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/resizable-demo/resizable-handle-demo": {
    "content": "import {\r\n    ResizableHandle,\r\n    ResizablePanel,\r\n    ResizablePanelGroup,\r\n} from \"@/components/ui/resizable\"\r\n\r\nexport default function ResizableHandleDemo() {\r\n    return (\r\n        <ResizablePanelGroup\r\n            direction=\"horizontal\"\r\n            className=\"min-h-[200px] max-w-md rounded-2xl border border-border/60 bg-background shadow-sm md:min-w-[450px]\"\r\n        >\r\n            <ResizablePanel defaultSize={25}>\r\n                <div className=\"flex h-full items-center justify-center p-6\">\r\n                    <span className=\"font-semibold text-foreground\">Sidebar</span>\r\n                </div>\r\n            </ResizablePanel>\r\n            <ResizableHandle withHandle />\r\n            <ResizablePanel defaultSize={75}>\r\n                <div className=\"flex h-full items-center justify-center p-6\">\r\n                    <span className=\"font-semibold text-foreground\">Content</span>\r\n                </div>\r\n            </ResizablePanel>\r\n        </ResizablePanelGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/resizable-demo/resizable-vertical-demo": {
    "content": "import {\r\n    ResizableHandle,\r\n    ResizablePanel,\r\n    ResizablePanelGroup,\r\n} from \"@/components/ui/resizable\"\r\n\r\nexport default function ResizableVerticalDemo() {\r\n    return (\r\n        <ResizablePanelGroup\r\n            direction=\"vertical\"\r\n            className=\"min-h-[200px] max-w-md rounded-2xl border border-border/60 bg-background shadow-sm md:min-w-[450px]\"\r\n        >\r\n            <ResizablePanel defaultSize={25}>\r\n                <div className=\"flex h-full items-center justify-center p-6\">\r\n                    <span className=\"font-semibold text-foreground\">Header</span>\r\n                </div>\r\n            </ResizablePanel>\r\n            <ResizableHandle />\r\n            <ResizablePanel defaultSize={75}>\r\n                <div className=\"flex h-full items-center justify-center p-6\">\r\n                    <span className=\"font-semibold text-foreground\">Content</span>\r\n                </div>\r\n            </ResizablePanel>\r\n        </ResizablePanelGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/scroll-area-demo/scroll-area-demo": {
    "content": "import { ScrollArea } from \"@/components/ui/scroll-area\"\r\n\r\nexport default function ScrollAreaDemo() {\r\n  return (\r\n    <div className=\"mt-12 space-y-3\">\r\n      <div className=\"border rounded-lg border-gray-200 dark:border-gray-800 h-96 flex flex-col\">\r\n        <div className=\"p-4 border-b flex items-center space-x-2\">\r\n          <div className=\"w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center text-blue-600 font-medium\">\r\n            UI\r\n          </div>\r\n          <div>\r\n            <h3 className=\"font-medium\">UI Library Discussion</h3>\r\n            <p className=\"text-xs text-gray-500\">3 participants</p>\r\n          </div>\r\n        </div>\r\n        <div className=\"flex-1 flex flex-col\">\r\n          <ScrollArea className=\"h-72\">\r\n            <div\r\n              aria-hidden=\"true\"\r\n              className=\"absolute z-10 inset-x-0 bottom-0 h-12 bg-gradient-to-t from-white to-transparent dark:from-[#252525] dark:to-transparent pointer-events-none\"\r\n            />\r\n            <div className=\"p-4 space-y-6\">\r\n              {[\r\n                {\r\n                  user: \"Alex\",\r\n                  message: \"Has anyone used the new ScrollArea component?\",\r\n                  time: \"10:15 AM\",\r\n                  isCurrentUser: false,\r\n                },\r\n                {\r\n                  user: \"Taylor\",\r\n                  message:\r\n                    \"Yes, I've been using it for a dashboard project. It works great with complex layouts.\",\r\n                  time: \"10:17 AM\",\r\n                  isCurrentUser: false,\r\n                },\r\n                {\r\n                  user: \"You\",\r\n                  message:\r\n                    \"I just integrated it into our design system. The auto-hiding scrollbar is a nice touch!\",\r\n                  time: \"10:20 AM\",\r\n                  isCurrentUser: true,\r\n                },\r\n                {\r\n                  user: \"Alex\",\r\n                  message: \"Can it handle horizontal scrolling as well?\",\r\n                  time: \"10:22 AM\",\r\n                  isCurrentUser: false,\r\n                },\r\n                {\r\n                  user: \"You\",\r\n                  message:\r\n                    \"Yes, it supports both vertical and horizontal scrolling out of the box. You can also customize the scrollbar's appearance and behavior.\",\r\n                  time: \"10:25 AM\",\r\n                  isCurrentUser: true,\r\n                },\r\n                {\r\n                  user: \"Taylor\",\r\n                  message:\r\n                    \"I found the alwaysShowScrollbar prop useful for touch devices where users might not know content is scrollable otherwise.\",\r\n                  time: \"10:27 AM\",\r\n                  isCurrentUser: false,\r\n                },\r\n                {\r\n                  user: \"Alex\",\r\n                  message: \"Does it handle window resize events properly?\",\r\n                  time: \"10:30 AM\",\r\n                  isCurrentUser: false,\r\n                },\r\n                {\r\n                  user: \"You\",\r\n                  message:\r\n                    \"Yes, it updates appropriately on window resize. The component also manages scroll position effectively when content changes.\",\r\n                  time: \"10:32 AM\",\r\n                  isCurrentUser: true,\r\n                },\r\n                {\r\n                  user: \"Taylor\",\r\n                  message:\r\n                    \"The fade-in/fade-out animations are smooth. I like how it doesn't distract from the content.\",\r\n                  time: \"10:35 AM\",\r\n                  isCurrentUser: false,\r\n                },\r\n                {\r\n                  user: \"Alex\",\r\n                  message: \"Any performance issues with larger content?\",\r\n                  time: \"10:37 AM\",\r\n                  isCurrentUser: false,\r\n                },\r\n                {\r\n                  user: \"You\",\r\n                  message:\r\n                    \"It performs well even with very long content. It's built on Radix UI primitives, which are optimized for performance.\",\r\n                  time: \"10:40 AM\",\r\n                  isCurrentUser: true,\r\n                },\r\n              ].map((message, index) => (\r\n                <div\r\n                  key={index}\r\n                  className={`flex ${message.isCurrentUser ? \"justify-end\" : \"justify-start\"}`}\r\n                >\r\n                  <div\r\n                    className={`max-w-[70%] rounded-lg p-3 ${\r\n                      message.isCurrentUser\r\n                        ? \"bg-blue-500 text-white\"\r\n                        : \"bg-gray-100 dark:bg-gray-800\"\r\n                    }`}\r\n                  >\r\n                    {!message.isCurrentUser && (\r\n                      <p className=\"font-medium text-sm mb-1\">{message.user}</p>\r\n                    )}\r\n                    <p className=\"text-sm\">{message.message}</p>\r\n                    <p\r\n                      className={`text-xs mt-1 ${\r\n                        message.isCurrentUser\r\n                          ? \"text-blue-100\"\r\n                          : \"text-gray-500\"\r\n                      }`}\r\n                    >\r\n                      {message.time}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n              ))}\r\n            </div>\r\n          </ScrollArea>\r\n        </div>\r\n        <div className=\"p-4 border-t\">\r\n          <div className=\"flex space-x-2\">\r\n            <input\r\n              type=\"text\"\r\n              placeholder=\"Type a message...\"\r\n              className=\"flex-1 rounded-lg border border-gray-300 dark:border-gray-700 p-2 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-gray-800\"\r\n            />\r\n            <button className=\"bg-blue-500 text-white px-4 py-2 rounded-lg text-sm font-medium\">\r\n              Send\r\n            </button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/scroll-area-demo/scroll-area-horizontal-demo": {
    "content": "import { ScrollArea } from \"@/components/ui/scroll-area\"\r\n\r\nexport default function ScrollAreaHorizontalDemo() {\r\n  return (\r\n    <div className=\"w-full max-w-3xl mx-auto p-6 border rounded-md\">\r\n      <ScrollArea className=\"h-[200px] w-full\">\r\n        <div className=\"flex p-4 gap-4\">\r\n          {Array.from({ length: 20 }).map((_, i) => (\r\n            <div\r\n              key={i}\r\n              className=\"flex-shrink-0 !w-[200px] !h-[150px] rounded-md bg-muted flex items-center justify-center\"\r\n            >\r\n              Card {i + 1}\r\n            </div>\r\n          ))}\r\n        </div>\r\n      </ScrollArea>\r\n    </div>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/select-demo/select-demo": {
    "content": "import {\r\n    Select,\r\n    SelectContent,\r\n    SelectGroup,\r\n    SelectItem,\r\n    SelectLabel,\r\n    SelectTrigger,\r\n    SelectValue,\r\n} from \"@/components/ui/select\"\r\n\r\nexport default function SelectDemo() {\r\n    return (\r\n        <div className=\"grid gap-6 md:grid-cols-2 lg:grid-cols-3\">\r\n            {/* Theme Selector */}\r\n            <div className=\"space-y-2\">\r\n                <label className=\"text-sm font-medium text-foreground\">\r\n                    Theme\r\n                </label>\r\n                <Select defaultValue=\"system\">\r\n                    <SelectTrigger className=\"w-full\">\r\n                        <SelectValue placeholder=\"Select theme\" />\r\n                    </SelectTrigger>\r\n                    <SelectContent>\r\n                        <SelectItem value=\"light\">Light</SelectItem>\r\n                        <SelectItem value=\"dark\">Dark</SelectItem>\r\n                        <SelectItem value=\"system\">System</SelectItem>\r\n                    </SelectContent>\r\n                </Select>\r\n            </div>\r\n\r\n            {/* Language Selector */}\r\n            <div className=\"space-y-2\">\r\n                <label className=\"text-sm font-medium text-foreground\">\r\n                    Language\r\n                </label>\r\n                <Select defaultValue=\"typescript\">\r\n                    <SelectTrigger className=\"w-full\">\r\n                        <SelectValue placeholder=\"Select language\" />\r\n                    </SelectTrigger>\r\n                    <SelectContent>\r\n                        <SelectGroup>\r\n                            <SelectLabel>Popular</SelectLabel>\r\n                            <SelectItem value=\"typescript\">TypeScript</SelectItem>\r\n                            <SelectItem value=\"javascript\">JavaScript</SelectItem>\r\n                            <SelectItem value=\"python\">Python</SelectItem>\r\n                            <SelectItem value=\"rust\">Rust</SelectItem>\r\n                        </SelectGroup>\r\n                        <SelectGroup>\r\n                            <SelectLabel>Others</SelectLabel>\r\n                            <SelectItem value=\"go\">Go</SelectItem>\r\n                            <SelectItem value=\"java\">Java</SelectItem>\r\n                            <SelectItem value=\"cpp\">C++</SelectItem>\r\n                        </SelectGroup>\r\n                    </SelectContent>\r\n                </Select>\r\n            </div>\r\n\r\n            {/* Framework Selector */}\r\n            <div className=\"space-y-2\">\r\n                <label className=\"text-sm font-medium text-foreground\">\r\n                    Framework\r\n                </label>\r\n                <Select defaultValue=\"nextjs\">\r\n                    <SelectTrigger className=\"w-full\">\r\n                        <SelectValue placeholder=\"Select framework\" />\r\n                    </SelectTrigger>\r\n                    <SelectContent>\r\n                        <SelectItem value=\"nextjs\">Next.js</SelectItem>\r\n                        <SelectItem value=\"react\">React</SelectItem>\r\n                        <SelectItem value=\"vue\">Vue</SelectItem>\r\n                        <SelectItem value=\"svelte\">Svelte</SelectItem>\r\n                        <SelectItem value=\"angular\">Angular</SelectItem>\r\n                    </SelectContent>\r\n                </Select>\r\n            </div>\r\n\r\n            {/* Status Selector */}\r\n            <div className=\"space-y-2\">\r\n                <label className=\"text-sm font-medium text-foreground\">\r\n                    Status\r\n                </label>\r\n                <Select defaultValue=\"active\">\r\n                    <SelectTrigger className=\"w-full\">\r\n                        <SelectValue placeholder=\"Select status\" />\r\n                    </SelectTrigger>\r\n                    <SelectContent>\r\n                        <SelectItem value=\"active\">Active</SelectItem>\r\n                        <SelectItem value=\"inactive\">Inactive</SelectItem>\r\n                        <SelectItem value=\"pending\">Pending</SelectItem>\r\n                        <SelectItem value=\"archived\">Archived</SelectItem>\r\n                    </SelectContent>\r\n                </Select>\r\n            </div>\r\n\r\n            {/* Region Selector */}\r\n            <div className=\"space-y-2\">\r\n                <label className=\"text-sm font-medium text-foreground\">\r\n                    Region\r\n                </label>\r\n                <Select defaultValue=\"us-east\">\r\n                    <SelectTrigger className=\"w-full\">\r\n                        <SelectValue placeholder=\"Select region\" />\r\n                    </SelectTrigger>\r\n                    <SelectContent>\r\n                        <SelectGroup>\r\n                            <SelectLabel>United States</SelectLabel>\r\n                            <SelectItem value=\"us-east\">US East</SelectItem>\r\n                            <SelectItem value=\"us-west\">US West</SelectItem>\r\n                        </SelectGroup>\r\n                        <SelectGroup>\r\n                            <SelectLabel>Europe</SelectLabel>\r\n                            <SelectItem value=\"eu-west\">EU West</SelectItem>\r\n                            <SelectItem value=\"eu-central\">EU Central</SelectItem>\r\n                        </SelectGroup>\r\n                        <SelectGroup>\r\n                            <SelectLabel>Asia Pacific</SelectLabel>\r\n                            <SelectItem value=\"ap-south\">Asia Pacific South</SelectItem>\r\n                            <SelectItem value=\"ap-northeast\">Asia Pacific Northeast</SelectItem>\r\n                        </SelectGroup>\r\n                    </SelectContent>\r\n                </Select>\r\n            </div>\r\n\r\n            {/* Priority Selector */}\r\n            <div className=\"space-y-2\">\r\n                <label className=\"text-sm font-medium text-foreground\">\r\n                    Priority\r\n                </label>\r\n                <Select defaultValue=\"medium\">\r\n                    <SelectTrigger className=\"w-full\">\r\n                        <SelectValue placeholder=\"Select priority\" />\r\n                    </SelectTrigger>\r\n                    <SelectContent>\r\n                        <SelectItem value=\"low\">Low</SelectItem>\r\n                        <SelectItem value=\"medium\">Medium</SelectItem>\r\n                        <SelectItem value=\"high\">High</SelectItem>\r\n                        <SelectItem value=\"urgent\">Urgent</SelectItem>\r\n                    </SelectContent>\r\n                </Select>\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/select-demo/select-scrollable-demo": {
    "content": "import {\r\n    Select,\r\n    SelectContent,\r\n    SelectGroup,\r\n    SelectItem,\r\n    SelectLabel,\r\n    SelectTrigger,\r\n    SelectValue,\r\n} from \"@/components/ui/select\"\r\n\r\nexport default function SelectScrollableDemo() {\r\n    return (\r\n        <div className=\"space-y-2\">\r\n            <label className=\"text-sm font-medium text-foreground\">\r\n                Timezone\r\n            </label>\r\n            <Select defaultValue=\"est\">\r\n                <SelectTrigger className=\"w-full max-w-[280px]\">\r\n                    <SelectValue placeholder=\"Select a timezone\" />\r\n                </SelectTrigger>\r\n                <SelectContent>\r\n                    <SelectGroup>\r\n                        <SelectLabel>North America</SelectLabel>\r\n                        <SelectItem value=\"est\">Eastern Standard Time (EST)</SelectItem>\r\n                        <SelectItem value=\"cst\">Central Standard Time (CST)</SelectItem>\r\n                        <SelectItem value=\"mst\">Mountain Standard Time (MST)</SelectItem>\r\n                        <SelectItem value=\"pst\">Pacific Standard Time (PST)</SelectItem>\r\n                        <SelectItem value=\"akst\">Alaska Standard Time (AKST)</SelectItem>\r\n                        <SelectItem value=\"hst\">Hawaii Standard Time (HST)</SelectItem>\r\n                    </SelectGroup>\r\n                    <SelectGroup>\r\n                        <SelectLabel>Europe & Africa</SelectLabel>\r\n                        <SelectItem value=\"gmt\">Greenwich Mean Time (GMT)</SelectItem>\r\n                        <SelectItem value=\"cet\">Central European Time (CET)</SelectItem>\r\n                        <SelectItem value=\"eet\">Eastern European Time (EET)</SelectItem>\r\n                        <SelectItem value=\"west\">\r\n                            Western European Summer Time (WEST)\r\n                        </SelectItem>\r\n                        <SelectItem value=\"cat\">Central Africa Time (CAT)</SelectItem>\r\n                        <SelectItem value=\"eat\">East Africa Time (EAT)</SelectItem>\r\n                    </SelectGroup>\r\n                    <SelectGroup>\r\n                        <SelectLabel>Asia</SelectLabel>\r\n                        <SelectItem value=\"msk\">Moscow Time (MSK)</SelectItem>\r\n                        <SelectItem value=\"ist\">India Standard Time (IST)</SelectItem>\r\n                        <SelectItem value=\"cst_china\">China Standard Time (CST)</SelectItem>\r\n                        <SelectItem value=\"jst\">Japan Standard Time (JST)</SelectItem>\r\n                        <SelectItem value=\"kst\">Korea Standard Time (KST)</SelectItem>\r\n                        <SelectItem value=\"ist_indonesia\">\r\n                            Indonesia Central Standard Time (WITA)\r\n                        </SelectItem>\r\n                    </SelectGroup>\r\n                    <SelectGroup>\r\n                        <SelectLabel>Australia & Pacific</SelectLabel>\r\n                        <SelectItem value=\"awst\">\r\n                            Australian Western Standard Time (AWST)\r\n                        </SelectItem>\r\n                        <SelectItem value=\"acst\">\r\n                            Australian Central Standard Time (ACST)\r\n                        </SelectItem>\r\n                        <SelectItem value=\"aest\">\r\n                            Australian Eastern Standard Time (AEST)\r\n                        </SelectItem>\r\n                        <SelectItem value=\"nzst\">New Zealand Standard Time (NZST)</SelectItem>\r\n                        <SelectItem value=\"fjt\">Fiji Time (FJT)</SelectItem>\r\n                    </SelectGroup>\r\n                    <SelectGroup>\r\n                        <SelectLabel>South America</SelectLabel>\r\n                        <SelectItem value=\"art\">Argentina Time (ART)</SelectItem>\r\n                        <SelectItem value=\"bot\">Bolivia Time (BOT)</SelectItem>\r\n                        <SelectItem value=\"brt\">Brasilia Time (BRT)</SelectItem>\r\n                        <SelectItem value=\"clt\">Chile Standard Time (CLT)</SelectItem>\r\n                    </SelectGroup>\r\n                </SelectContent>\r\n            </Select>\r\n            <p className=\"text-xs text-muted-foreground\">\r\n                Scroll through the list to see all available timezones\r\n            </p>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/separator-demo/separator-demo": {
    "content": "import { Separator } from \"@/components/ui/separator\"\r\n\r\nexport default function SeparatorDemo() {\r\n  return (\r\n    <div className=\"p-4 rounded-lg\">\r\n      <div className=\"p-4\">Content Above</div>\r\n      <Separator weight=\"regular\" />\r\n      <div className=\"p-4\">Content Below</div>\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/separator-demo/separator-horizontal-demo": {
    "content": "import { Separator } from \"@/components/ui/separator\"\r\n\r\nexport default function SeparatorHorizontalDemo() {\r\n  return (\r\n    <div className=\"p-4 rounded-lg\">\r\n      <div className=\"p-4\">Content Above</div>\r\n      <Separator weight=\"regular\" orientation=\"horizontal\" />\r\n      <div className=\"p-4\">Content Below</div>\r\n    </div>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/separator-demo/separator-regular-demo": {
    "content": "import { Separator } from \"@/components/ui/separator\"\r\n\r\nexport default function SeparatorRegularDemo() {\r\n  return (\r\n    <div className=\"p-4 rounded-lg \">\r\n      <div className=\"p-4\">Content Above</div>\r\n      <Separator weight=\"regular\" />\r\n      <div className=\"p-4\">Content Below</div>\r\n    </div>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/separator-demo/separator-ultralight-demo": {
    "content": "import { Separator } from \"@/components/ui/separator\"\r\n\r\nexport default function SeparatorUltralightDemo() {\r\n  return (\r\n    <div className=\"p-4 rounded-lg \">\r\n      <div className=\"p-4\">Content Above</div>\r\n      <Separator weight=\"ultralight\" />\r\n      <div className=\"p-4\">Content Below</div>\r\n    </div>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/sheet-demo/sheet-bottom-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Sheet,\r\n  SheetContent,\r\n  SheetDescription,\r\n  SheetHeader,\r\n  SheetTitle,\r\n  SheetTrigger,\r\n} from \"@/components/ui/sheet\"\r\nimport { Heart, ShoppingCart, User } from \"lucide-react\"\r\n\r\nexport default function SheetBottomDemo() {\r\n  return (\r\n    <Sheet>\r\n      <SheetTrigger asChild>\r\n        <Button variant=\"outline\" className=\"flex items-center gap-2\">\r\n          Show Actions\r\n        </Button>\r\n      </SheetTrigger>\r\n      <SheetContent side=\"bottom\" className=\"h-64\">\r\n        <div className=\"max-w-md mx-auto\">\r\n          <SheetHeader>\r\n            <SheetTitle>Actions</SheetTitle>\r\n            <SheetDescription>Choose an action to perform</SheetDescription>\r\n          </SheetHeader>\r\n          <div className=\"py-4\">\r\n            <div className=\"grid grid-cols-3 gap-4\">\r\n              <Button\r\n                variant=\"outline\"\r\n                className=\"h-24 flex flex-col items-center justify-center gap-2\"\r\n              >\r\n                <User size={24} />\r\n                <span>Profile</span>\r\n              </Button>\r\n              <Button\r\n                variant=\"outline\"\r\n                className=\"h-24 flex flex-col items-center justify-center gap-2\"\r\n              >\r\n                <ShoppingCart size={24} />\r\n                <span>Cart</span>\r\n              </Button>\r\n              <Button\r\n                variant=\"outline\"\r\n                className=\"h-24 flex flex-col items-center justify-center gap-2\"\r\n              >\r\n                <Heart size={24} />\r\n                <span>Favorites</span>\r\n              </Button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </SheetContent>\r\n    </Sheet>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/sheet-demo/sheet-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { Checkbox } from \"@/components/ui/checkbox\"\r\nimport { Label } from \"@/components/ui/label\"\r\nimport {\r\n  Sheet,\r\n  SheetClose,\r\n  SheetContent,\r\n  SheetDescription,\r\n  SheetFooter,\r\n  SheetHeader,\r\n  SheetTitle,\r\n  SheetTrigger,\r\n} from \"@/components/ui/sheet\"\r\nimport { Settings } from \"lucide-react\"\r\n\r\nexport default function SheetDemo() {\r\n  return (\r\n    <Sheet>\r\n      <SheetTrigger asChild>\r\n        <Button variant=\"outline\" className=\"flex items-center gap-2\">\r\n          <Settings size={16} />\r\n          Open Settings\r\n        </Button>\r\n      </SheetTrigger>\r\n      <SheetContent side=\"right\">\r\n        <SheetHeader>\r\n          <SheetTitle>Settings</SheetTitle>\r\n          <SheetDescription>\r\n            Configure your application preferences here\r\n          </SheetDescription>\r\n        </SheetHeader>\r\n        <div className=\"py-6\">\r\n          <div className=\"space-y-4\">\r\n            <div className=\"flex items-center justify-between\">\r\n              <Label\r\n                htmlFor=\"dark-mode\"\r\n                className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\r\n              >\r\n                Dark Mode\r\n              </Label>\r\n              <Checkbox id=\"dark-mood\" />\r\n            </div>\r\n            <div className=\"flex items-center justify-between\">\r\n              <Label\r\n                htmlFor=\"notification\"\r\n                className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\r\n              >\r\n                Notification\r\n              </Label>\r\n              <Checkbox id=\"notification\" />\r\n            </div>\r\n            <div className=\"flex items-center justify-between\">\r\n              <Label\r\n                htmlFor=\"email-updates\"\r\n                className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\r\n              >\r\n                Email Updates\r\n              </Label>\r\n              <Checkbox id=\"email-updates\" />\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <SheetFooter>\r\n          <SheetClose asChild>\r\n            <Button>Save Changes</Button>\r\n          </SheetClose>\r\n        </SheetFooter>\r\n      </SheetContent>\r\n    </Sheet>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/sheet-demo/sheet-left-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Sheet,\r\n  SheetContent,\r\n  SheetHeader,\r\n  SheetTitle,\r\n  SheetTrigger,\r\n} from \"@/components/ui/sheet\"\r\nimport { Heart, Menu, Settings, ShoppingCart, User } from \"lucide-react\"\r\nimport Link from \"next/link\"\r\n\r\nexport default function SheetLeftDemo() {\r\n  return (\r\n    <Sheet>\r\n      <SheetTrigger asChild>\r\n        <Button variant=\"outline\" className=\"flex items-center gap-2\">\r\n          <Menu size={16} />\r\n          Open Menu\r\n        </Button>\r\n      </SheetTrigger>\r\n      <SheetContent side=\"left\">\r\n        <SheetHeader>\r\n          <SheetTitle>Navigation</SheetTitle>\r\n        </SheetHeader>\r\n        <nav className=\"py-6\">\r\n          <ul className=\"space-y-4\">\r\n            <li>\r\n              <Link\r\n                href=\"#\"\r\n                className=\"flex items-center gap-3 p-2 hover:bg-slate-100 rounded\"\r\n              >\r\n                <User size={18} />\r\n                <span>Profile</span>\r\n              </Link>\r\n            </li>\r\n            <li>\r\n              <Link\r\n                href=\"#\"\r\n                className=\"flex items-center gap-3 p-2 hover:bg-slate-100 rounded\"\r\n              >\r\n                <ShoppingCart size={18} />\r\n                <span>Orders</span>\r\n              </Link>\r\n            </li>\r\n            <li>\r\n              <Link\r\n                href=\"#\"\r\n                className=\"flex items-center gap-3 p-2 hover:bg-slate-100 rounded\"\r\n              >\r\n                <Heart size={18} />\r\n                <span>Wishlist</span>\r\n              </Link>\r\n            </li>\r\n            <li>\r\n              <Link\r\n                href=\"#\"\r\n                className=\"flex items-center gap-3 p-2 hover:bg-slate-100 rounded\"\r\n              >\r\n                <Settings size={18} />\r\n                <span>Settings</span>\r\n              </Link>\r\n            </li>\r\n          </ul>\r\n        </nav>\r\n      </SheetContent>\r\n    </Sheet>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/sheet-demo/sheet-right-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { Checkbox } from \"@/components/ui/checkbox\"\r\nimport { Label } from \"@/components/ui/label\"\r\nimport {\r\n  Sheet,\r\n  SheetClose,\r\n  SheetContent,\r\n  SheetDescription,\r\n  SheetFooter,\r\n  SheetHeader,\r\n  SheetTitle,\r\n  SheetTrigger,\r\n} from \"@/components/ui/sheet\"\r\nimport { Settings } from \"lucide-react\"\r\n\r\nexport default function SheetDemo() {\r\n  return (\r\n    <Sheet>\r\n      <SheetTrigger asChild>\r\n        <Button variant=\"outline\" className=\"flex items-center gap-2\">\r\n          <Settings size={16} />\r\n          Open Settings\r\n        </Button>\r\n      </SheetTrigger>\r\n      <SheetContent side=\"right\">\r\n        <SheetHeader>\r\n          <SheetTitle>Settings</SheetTitle>\r\n          <SheetDescription>\r\n            Configure your application preferences here\r\n          </SheetDescription>\r\n        </SheetHeader>\r\n        <div className=\"py-6\">\r\n          <div className=\"space-y-4\">\r\n            <div className=\"flex items-center justify-between\">\r\n              <Label\r\n                htmlFor=\"dark-mode\"\r\n                className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\r\n              >\r\n                Dark Mode\r\n              </Label>\r\n              <Checkbox id=\"dark-mood\" />\r\n            </div>\r\n            <div className=\"flex items-center justify-between\">\r\n              <Label\r\n                htmlFor=\"notification\"\r\n                className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\r\n              >\r\n                Notification\r\n              </Label>\r\n              <Checkbox id=\"notification\" />\r\n            </div>\r\n            <div className=\"flex items-center justify-between\">\r\n              <Label\r\n                htmlFor=\"email-updates\"\r\n                className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\r\n              >\r\n                Email Updates\r\n              </Label>\r\n              <Checkbox id=\"email-updates\" />\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <SheetFooter>\r\n          <SheetClose asChild>\r\n            <Button>Save Changes</Button>\r\n          </SheetClose>\r\n        </SheetFooter>\r\n      </SheetContent>\r\n    </Sheet>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/sheet-demo/sheet-top-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Sheet,\r\n  SheetContent,\r\n  SheetDescription,\r\n  SheetHeader,\r\n  SheetTitle,\r\n  SheetTrigger,\r\n} from \"@/components/ui/sheet\"\r\n\r\nexport default function SheetTopDemo() {\r\n  return (\r\n    <Sheet>\r\n      <SheetTrigger asChild>\r\n        <Button variant=\"outline\" className=\"flex items-center gap-2\">\r\n          Open Notifications\r\n        </Button>\r\n      </SheetTrigger>\r\n      <SheetContent side=\"top\" className=\"h-64\">\r\n        <div className=\"max-w-md mx-auto\">\r\n          <SheetHeader>\r\n            <SheetTitle>Notifications</SheetTitle>\r\n            <SheetDescription>Your recent notifications</SheetDescription>\r\n          </SheetHeader>\r\n          <div className=\"py-4\">\r\n            <div className=\"space-y-3\">\r\n              <div className=\"p-3 bg-slate-50 rounded-2xl border border-border\">\r\n                <p className=\"text-sm font-medium\">New message from Alice</p>\r\n                <p className=\"text-xs text-gray-500\">2 minutes ago</p>\r\n              </div>\r\n              <div className=\"p-3 bg-slate-50 rounded-2xl border border-border\">\r\n                <p className=\"text-sm font-medium\">Order #1234 has shipped</p>\r\n                <p className=\"text-xs text-gray-500\">1 hour ago</p>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </SheetContent>\r\n    </Sheet>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/skeleton-demo/skeleton-card-demo": {
    "content": "import { Skeleton } from \"@/components/ui/skeleton\"\r\n\r\nexport default function SkeletonCardDemo() {\r\n    return (\r\n        <div className=\"w-[280px] rounded-2xl border border-border/60 bg-background/50 p-4 shadow-sm\">\r\n            <div className=\"flex flex-col space-y-3\">\r\n                <Skeleton className=\"h-32 w-full rounded-xl\" />\r\n                <div className=\"space-y-2\">\r\n                    <Skeleton className=\"h-4 w-[220px] rounded-lg\" />\r\n                    <Skeleton className=\"h-4 w-[160px] rounded-lg\" />\r\n                </div>\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/skeleton-demo/skeleton-demo": {
    "content": "import { Skeleton } from \"@/components/ui/skeleton\"\r\n\r\nexport default function SkeletonDemo() {\r\n    return (\r\n        <div className=\"flex items-center gap-4\">\r\n            <Skeleton className=\"h-12 w-12 rounded-full\" />\r\n            <div className=\"space-y-2\">\r\n                <Skeleton className=\"h-4 w-[240px] rounded-lg\" />\r\n                <Skeleton className=\"h-4 w-[180px] rounded-lg\" />\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/slider-demo/slider-demo": {
    "content": "import { cn } from \"@/lib/utils\"\r\nimport { Slider } from \"@/components/ui/slider\"\r\n\r\ntype SliderProps = React.ComponentProps<typeof Slider>\r\n\r\nexport default function SliderDemo({ className, ...props }: SliderProps) {\r\n    return (\r\n        <Slider\r\n            defaultValue={[50]}\r\n            max={100}\r\n            step={1}\r\n            className={cn(\"w-[60%]\", className)}\r\n            {...props}\r\n        />\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/slider-demo/slider-range-demo": {
    "content": "\"use client\"\r\n\r\nimport { Field, FieldDescription, FieldTitle } from \"@/components/ui/field\"\r\nimport { Slider } from \"@/components/ui/slider\"\r\nimport type React from \"react\"\r\nimport { useState } from \"react\"\r\n\r\nexport default function SliderRangeDemo(): React.ReactElement {\r\n    const [value, setValue] = useState<number[]>([20, 80])\r\n\r\n    const handleValueChange = (newValue: number[]): void => {\r\n        setValue(newValue)\r\n    }\r\n\r\n    return (\r\n        <div className=\"w-full max-w-md\">\r\n            <Field>\r\n                <FieldTitle>Performance Settings</FieldTitle>\r\n                <FieldDescription>\r\n                    Adjust your system performance (<span className=\"font-semibold text-foreground\">{value[0]}%</span>\r\n                    {\" - \"}\r\n                    <span className=\"font-semibold text-foreground\">{value[1]}%</span>)\r\n                </FieldDescription>\r\n                <div className=\"mt-6 space-y-4\">\r\n                    <Slider\r\n                        value={value}\r\n                        onValueChange={handleValueChange}\r\n                        max={100}\r\n                        min={0}\r\n                        step={1}\r\n                        className=\"w-full\"\r\n                        aria-label=\"Performance Range\"\r\n                    />\r\n                    <div className=\"flex justify-between text-xs text-muted-foreground\">\r\n                        <span>{value[0]}%</span>\r\n                        <span>{value[1]}%</span>\r\n                    </div>\r\n                </div>\r\n            </Field>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/smart-select-demo/smart-select-demo": {
    "content": "\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { Check, Search } from \"lucide-react\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n    Command,\r\n    CommandEmpty,\r\n    CommandGroup,\r\n    CommandInput,\r\n    CommandItem,\r\n    CommandList,\r\n} from \"@/components/ui/command\"\r\nimport {\r\n    Popover,\r\n    PopoverContent,\r\n    PopoverTrigger,\r\n} from \"@/components/ui/popover\"\r\n\r\nconst programmingLanguages = [\r\n    {\r\n        value: \"javascript\",\r\n        label: \"JavaScript\",\r\n    },\r\n    {\r\n        value: \"typescript\",\r\n        label: \"TypeScript\",\r\n    },\r\n    {\r\n        value: \"python\",\r\n        label: \"Python\",\r\n    },\r\n    {\r\n        value: \"java\",\r\n        label: \"Java\",\r\n    },\r\n    {\r\n        value: \"go\",\r\n        label: \"Go\",\r\n    },\r\n    {\r\n        value: \"rust\",\r\n        label: \"Rust\",\r\n    },\r\n    {\r\n        value: \"php\",\r\n        label: \"PHP\",\r\n    },\r\n]\r\n\r\nexport default function SmartSelectDemo() {\r\n    const [open, setOpen] = React.useState(false)\r\n    const [selectedLanguage, setSelectedLanguage] = React.useState(\"\")\r\n\r\n    return (\r\n        <Popover open={open} onOpenChange={setOpen}>\r\n            <PopoverTrigger asChild>\r\n                <Button\r\n                    variant=\"outline\"\r\n                    role=\"combobox\"\r\n                    aria-expanded={open}\r\n                    className=\"w-[240px] justify-between\"\r\n                >\r\n                    {selectedLanguage\r\n                        ? programmingLanguages.find((lang) => lang.value === selectedLanguage)?.label\r\n                        : \"اختر لغة البرمجة...\"}\r\n                    <Search className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\r\n                </Button>\r\n            </PopoverTrigger>\r\n            <PopoverContent className=\"w-[240px] p-0\">\r\n                <Command>\r\n                    <CommandInput placeholder=\"ابحث عن لغة...\" className=\"h-9\" />\r\n                    <CommandList>\r\n                        <CommandEmpty>لا توجد لغة بهذا الاسم.</CommandEmpty>\r\n                        <CommandGroup>\r\n                            {programmingLanguages.map((language) => (\r\n                                <CommandItem\r\n                                    key={language.value}\r\n                                    value={language.value}\r\n                                    onSelect={(currentValue) => {\r\n                                        setSelectedLanguage(currentValue === selectedLanguage ? \"\" : currentValue)\r\n                                        setOpen(false)\r\n                                    }}\r\n                                >\r\n                                    {language.label}\r\n                                    <Check\r\n                                        className={cn(\r\n                                            \"ml-auto h-4 w-4\",\r\n                                            selectedLanguage === language.value ? \"opacity-100\" : \"opacity-0\"\r\n                                        )}\r\n                                    />\r\n                                </CommandItem>\r\n                            ))}\r\n                        </CommandGroup>\r\n                    </CommandList>\r\n                </Command>\r\n            </PopoverContent>\r\n        </Popover>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/smart-select-demo/smart-select-dropdown-menu-demo": {
    "content": "\"use client\"\r\n\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n    Command,\r\n    CommandEmpty,\r\n    CommandGroup,\r\n    CommandInput,\r\n    CommandItem,\r\n    CommandList,\r\n} from \"@/components/ui/command\"\r\nimport {\r\n    DropdownMenu,\r\n    DropdownMenuContent,\r\n    DropdownMenuGroup,\r\n    DropdownMenuItem,\r\n    DropdownMenuLabel,\r\n    DropdownMenuSeparator,\r\n    DropdownMenuShortcut,\r\n    DropdownMenuSub,\r\n    DropdownMenuSubContent,\r\n    DropdownMenuSubTrigger,\r\n    DropdownMenuTrigger,\r\n} from \"@/components/ui/dropdown-menu\"\r\nimport { MoreHorizontal, Tag } from \"lucide-react\"\r\nimport * as React from \"react\"\r\n\r\nconst productCategories = [\r\n    \"إلكترونيات\",\r\n    \"ملابس\",\r\n    \"أجهزة منزلية\",\r\n    \"كتب\",\r\n    \"ألعاب\",\r\n    \"أثاث\",\r\n    \"رياضة\",\r\n    \"مواد غذائية\",\r\n]\r\n\r\nexport default function SmartSelectDropdownMenuDemo() {\r\n    const [category, setCategory] = React.useState(\"إلكترونيات\")\r\n    const [open, setOpen] = React.useState(false)\r\n\r\n    return (\r\n        <div className=\"flex w-full flex-col items-start justify-between rounded-lg border bg-card px-4 py-3 shadow-sm sm:flex-row sm:items-center\">\r\n            <div className=\"flex items-center gap-3\">\r\n                <Tag className=\"h-4 w-4 text-muted-foreground\" />\r\n                <div className=\"flex flex-col gap-1\">\r\n                    <span className=\"text-sm font-medium\">منتج جديد</span>\r\n                    <span className=\"inline-flex items-center gap-2 text-xs text-muted-foreground\">\r\n                        <span className=\"rounded-md bg-primary/10 px-2 py-0.5 text-primary\">\r\n                            {category}\r\n                        </span>\r\n                        جاهز للنشر\r\n                    </span>\r\n                </div>\r\n            </div>\r\n            <DropdownMenu open={open} onOpenChange={setOpen}>\r\n                <DropdownMenuTrigger asChild>\r\n                    <Button variant=\"ghost\" size=\"sm\">\r\n                        <MoreHorizontal />\r\n                    </Button>\r\n                </DropdownMenuTrigger>\r\n                <DropdownMenuContent align=\"end\" className=\"w-[220px]\">\r\n                    <DropdownMenuLabel>الإجراءات</DropdownMenuLabel>\r\n                    <DropdownMenuGroup>\r\n                        <DropdownMenuItem>إضافة صورة</DropdownMenuItem>\r\n                        <DropdownMenuItem>تحديث السعر</DropdownMenuItem>\r\n                        <DropdownMenuSeparator />\r\n                        <DropdownMenuSub>\r\n                            <DropdownMenuSubTrigger>تغيير التصنيف</DropdownMenuSubTrigger>\r\n                            <DropdownMenuSubContent className=\"p-0\">\r\n                                <Command>\r\n                                    <CommandInput\r\n                                        placeholder=\"ابحث عن تصنيف...\"\r\n                                        autoFocus={true}\r\n                                        className=\"h-9\"\r\n                                    />\r\n                                    <CommandList>\r\n                                        <CommandEmpty>لا يوجد تصنيف بهذا الاسم.</CommandEmpty>\r\n                                        <CommandGroup>\r\n                                            {productCategories.map((cat) => (\r\n                                                <CommandItem\r\n                                                    key={cat}\r\n                                                    value={cat}\r\n                                                    onSelect={(value) => {\r\n                                                        setCategory(value)\r\n                                                        setOpen(false)\r\n                                                    }}\r\n                                                >\r\n                                                    {cat}\r\n                                                </CommandItem>\r\n                                            ))}\r\n                                        </CommandGroup>\r\n                                    </CommandList>\r\n                                </Command>\r\n                            </DropdownMenuSubContent>\r\n                        </DropdownMenuSub>\r\n                        <DropdownMenuSeparator />\r\n                        <DropdownMenuItem className=\"text-destructive\">\r\n                            حذف المنتج\r\n                            <DropdownMenuShortcut>⌘⌫</DropdownMenuShortcut>\r\n                        </DropdownMenuItem>\r\n                    </DropdownMenuGroup>\r\n                </DropdownMenuContent>\r\n            </DropdownMenu>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/smart-select-demo/smart-select-popover-demo": {
    "content": "\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport {\r\n    Command,\r\n    CommandEmpty,\r\n    CommandGroup,\r\n    CommandInput,\r\n    CommandItem,\r\n    CommandList,\r\n} from \"@/components/ui/command\"\r\nimport {\r\n    Popover,\r\n    PopoverContent,\r\n    PopoverTrigger,\r\n} from \"@/components/ui/popover\"\r\nimport { Flag } from \"lucide-react\"\r\n\r\ntype Priority = {\r\n    value: string\r\n    label: string\r\n    color: string\r\n}\r\n\r\nconst priorities: Priority[] = [\r\n    {\r\n        value: \"low\",\r\n        label: \"منخفضة\",\r\n        color: \"bg-blue-500\",\r\n    },\r\n    {\r\n        value: \"medium\",\r\n        label: \"متوسطة\",\r\n        color: \"bg-yellow-500\",\r\n    },\r\n    {\r\n        value: \"high\",\r\n        label: \"عالية\",\r\n        color: \"bg-orange-500\",\r\n    },\r\n    {\r\n        value: \"urgent\",\r\n        label: \"عاجلة\",\r\n        color: \"bg-red-500\",\r\n    },\r\n]\r\n\r\nexport default function SmartSelectPopoverDemo() {\r\n    const [open, setOpen] = React.useState(false)\r\n    const [selectedPriority, setSelectedPriority] = React.useState<Priority | null>(\r\n        null\r\n    )\r\n\r\n    return (\r\n        <div className=\"flex items-center gap-4\">\r\n            <div className=\"flex items-center gap-2\">\r\n                <Flag className=\"h-4 w-4 text-muted-foreground\" />\r\n                <span className=\"text-sm text-muted-foreground\">الأولوية</span>\r\n            </div>\r\n            <Popover open={open} onOpenChange={setOpen}>\r\n                <PopoverTrigger asChild>\r\n                    <Button variant=\"outline\" className=\"w-[180px] justify-start gap-2\">\r\n                        {selectedPriority ? (\r\n                            <>\r\n                                <span className={`h-2 w-2 rounded-full ${selectedPriority.color}`} />\r\n                                {selectedPriority.label}\r\n                            </>\r\n                        ) : (\r\n                            <>+ تحديد الأولوية</>\r\n                        )}\r\n                    </Button>\r\n                </PopoverTrigger>\r\n                <PopoverContent className=\"p-0\" side=\"right\" align=\"start\">\r\n                    <Command>\r\n                        <CommandInput placeholder=\"ابحث عن الأولوية...\" />\r\n                        <CommandList>\r\n                            <CommandEmpty>لا توجد نتائج.</CommandEmpty>\r\n                            <CommandGroup>\r\n                                {priorities.map((priority) => (\r\n                                    <CommandItem\r\n                                        key={priority.value}\r\n                                        value={priority.value}\r\n                                        onSelect={(value) => {\r\n                                            setSelectedPriority(\r\n                                                priorities.find((p) => p.value === value) ||\r\n                                                null\r\n                                            )\r\n                                            setOpen(false)\r\n                                        }}\r\n                                    >\r\n                                        <span className={`mr-2 h-2 w-2 rounded-full ${priority.color}`} />\r\n                                        {priority.label}\r\n                                    </CommandItem>\r\n                                ))}\r\n                            </CommandGroup>\r\n                        </CommandList>\r\n                    </Command>\r\n                </PopoverContent>\r\n            </Popover>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/sonner-demo/sonner-custom-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { toast } from \"sonner\"\r\n\r\nexport default function SonnerCustomDemo() {\r\n  const promise = () =>\r\n    new Promise((resolve) =>\r\n      setTimeout(() => resolve({ name: \"Sonner\" }), 2000)\r\n    )\r\n  return (\r\n    <Button\r\n      variant=\"outline\"\r\n      onClick={() =>\r\n        toast.promise(promise, {\r\n          loading: \"Loading...\",\r\n          success: () => {\r\n            return `Sonner toast has been added`\r\n          },\r\n          error: \"Error\",\r\n        })\r\n      }\r\n    >\r\n      Show Toast\r\n    </Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/sonner-demo/sonner-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { toast } from \"sonner\"\r\n\r\nexport default function SonnerDemo() {\r\n  return (\r\n    <Button\r\n      variant=\"outline\"\r\n      onClick={() =>\r\n        toast(\"Event has been created\", {\r\n          description: \"Sunday, December 03, 2023 at 9:00 AM\",\r\n          action: {\r\n            label: \"Undo\",\r\n            onClick: () => console.log(\"Undo\"),\r\n          },\r\n        })\r\n      }\r\n    >\r\n      Show Toast\r\n    </Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/sonner-demo/sonner-error-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { toast } from \"sonner\"\r\n\r\nexport default function SonnerErrorDemo() {\r\n  return (\r\n    <Button\r\n      variant=\"outline\"\r\n      onClick={() => toast.error(\"Unexpected error while creating event\")}\r\n    >\r\n      Show Toast\r\n    </Button>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/sonner-demo/sonner-info-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { toast } from \"sonner\"\r\n\r\nexport default function SonnerInfoDemo() {\r\n  return (\r\n    <Button\r\n      variant=\"outline\"\r\n      onClick={() =>\r\n        toast.info(\"Event has been created\", {\r\n          description: \"Sunday, December 03, 2023 at 9:00 AM\",\r\n          action: {\r\n            label: \"Undo\",\r\n            onClick: () => console.log(\"Undo\"),\r\n          },\r\n        })\r\n      }\r\n    >\r\n      Show Toast\r\n    </Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/sonner-demo/sonner-loading-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { toast } from \"sonner\"\r\n\r\nexport default function SonnerLoadingDemo() {\r\n  return (\r\n    <Button variant=\"outline\" onClick={() => toast.loading(\"Event is loading\")}>\r\n      Show Toast\r\n    </Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/sonner-demo/sonner-success-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { toast } from \"sonner\"\r\n\r\nexport default function SonnerSuccessDemo() {\r\n  return (\r\n    <Button\r\n      variant=\"outline\"\r\n      onClick={() => toast.success(\"Event has been created successfully\")}\r\n    >\r\n      Show Toast\r\n    </Button>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/sonner-demo/sonner-warning-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { toast } from \"sonner\"\r\n\r\nexport default function sonnerWarningDemo() {\r\n  return (\r\n    <Button\r\n      variant=\"outline\"\r\n      onClick={() => toast.warning(\"You can't undo this action\")}\r\n    >\r\n      Show Toast\r\n    </Button>\r\n  )\r\n}   ",
    "language": "tsx"
  },
  "@/registry/examples/step-demo": {
    "content": "import { Step, StepItem } from \"@/components/ui/step\"\r\nimport Link from \"next/link\"\r\n\r\nconst StepDemo = () => {\r\n  return (\r\n    <Step>\r\n      <StepItem title=\"Step one\">\r\n        Make sure you have Node.js installed on your machine.{\" \"}\r\n        <Link href={\"https://nodejs.org\"} className=\"!underline\">\r\n          You can download it from here\r\n        </Link>\r\n        .\r\n      </StepItem>\r\n      <StepItem title=\"Step two\">\r\n        After cloning the repository, navigate to the project directory and\r\n        install the necessary dependencies:\r\n      </StepItem>\r\n      <StepItem title=\"step three\">Start the development server:</StepItem>\r\n    </Step>\r\n  )\r\n}\r\n\r\nexport default StepDemo",
    "language": "tsx"
  },
  "@/registry/examples/switch-demo/switch-demo": {
    "content": "import { Switch } from \"@/components/ui/switch\";\r\nimport { useState } from 'react';\r\n\r\nexport default function SwitchDemo() {\r\n    const [basicSwitch, setBasicSwitch] = useState(false);\r\n\r\n    return (\r\n        <div>\r\n            <Switch\r\n                checked={basicSwitch}\r\n                onCheckedChange={setBasicSwitch}\r\n            />\r\n        </div>\r\n    );\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/table-demo": {
    "content": "import { formatPrice } from \"@/lib/utils\"\r\nimport {\r\n    Table,\r\n    TableBody,\r\n    TableCaption,\r\n    TableCell,\r\n    TableFooter,\r\n    TableHead,\r\n    TableHeader,\r\n    TableRow,\r\n} from \"@/components/ui/table\"\r\n\r\nconst invoices = [\r\n    {\r\n        invoice: \"INV001\",\r\n        paymentStatus: \"Paid\",\r\n        totalAmount: \"250.00\",\r\n        paymentMethod: \"Credit Card\",\r\n    },\r\n    {\r\n        invoice: \"INV002\",\r\n        paymentStatus: \"Pending\",\r\n        totalAmount: \"150.00\",\r\n        paymentMethod: \"PayPal\",\r\n    },\r\n    {\r\n        invoice: \"INV003\",\r\n        paymentStatus: \"Unpaid\",\r\n        totalAmount: \"350.00\",\r\n        paymentMethod: \"Bank Transfer\",\r\n    },\r\n    {\r\n        invoice: \"INV004\",\r\n        paymentStatus: \"Paid\",\r\n        totalAmount: \"450.00\",\r\n        paymentMethod: \"Credit Card\",\r\n    },\r\n    {\r\n        invoice: \"INV005\",\r\n        paymentStatus: \"Paid\",\r\n        totalAmount: \"550.00\",\r\n        paymentMethod: \"PayPal\",\r\n    },\r\n    {\r\n        invoice: \"INV006\",\r\n        paymentStatus: \"Pending\",\r\n        totalAmount: \"200.00\",\r\n        paymentMethod: \"Bank Transfer\",\r\n    },\r\n    {\r\n        invoice: \"INV007\",\r\n        paymentStatus: \"Unpaid\",\r\n        totalAmount: \"300.00\",\r\n        paymentMethod: \"Credit Card\",\r\n    },\r\n]\r\n\r\nexport default function TableDemo() {\r\n    return (\r\n        <Table>\r\n            <TableCaption>A list of your recent invoices.</TableCaption>\r\n            <TableHeader>\r\n                <TableRow>\r\n                    <TableHead className=\"w-[100px]\">Invoice</TableHead>\r\n                    <TableHead>Status</TableHead>\r\n                    <TableHead>Method</TableHead>\r\n                    <TableHead className=\"text-right\">Amount</TableHead>\r\n                </TableRow>\r\n            </TableHeader>\r\n            <TableBody>\r\n                {invoices.map((invoice) => (\r\n                    <TableRow key={invoice.invoice}>\r\n                        <TableCell className=\"font-medium\">{invoice.invoice}</TableCell>\r\n                        <TableCell>{invoice.paymentStatus}</TableCell>\r\n                        <TableCell>{invoice.paymentMethod}</TableCell>\r\n                        <TableCell className=\"text-right\">{formatPrice(parseFloat(invoice.totalAmount))}</TableCell>\r\n                    </TableRow>\r\n                ))}\r\n            </TableBody>\r\n            <TableFooter>\r\n                <TableRow>\r\n                    <TableCell colSpan={3}>Total</TableCell>\r\n                    <TableCell className=\"text-right\">{formatPrice(2500)}</TableCell>\r\n                </TableRow>\r\n            </TableFooter>\r\n        </Table>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/tabs-demo/tabs-demo": {
    "content": "import {\r\n  Tabs,\r\n  TabsContent,\r\n  TabsList,\r\n  TabsTrigger,\r\n} from \"@/components/ui/tabs\"\r\n\r\nexport default function TabsDemo() {\r\n  return (\r\n    <Tabs defaultValue=\"tab1\">\r\n      <TabsList>\r\n        <TabsTrigger value=\"tab1\">Tab 1</TabsTrigger>\r\n        <TabsTrigger value=\"tab2\">Tab 2</TabsTrigger>\r\n        <TabsTrigger value=\"tab3\">Tab 3</TabsTrigger>\r\n        <TabsTrigger value=\"tab4\">Tab 4</TabsTrigger>\r\n      </TabsList>\r\n      <TabsContent value=\"tab1\">\r\n        <div className=\"p-4 border rounded-lg\">\r\n          <h3 className=\"font-medium\">First Tab</h3>\r\n          <div className=\"text-muted-foreground\">Content for the first tab.</div>\r\n        </div>\r\n      </TabsContent>\r\n      <TabsContent value=\"tab2\">\r\n        <div className=\"p-4 border rounded-lg\">\r\n          <h3 className=\"font-medium\">Second Tab</h3>\r\n          <div className=\"text-muted-foreground\">Content for the second tab.</div>\r\n        </div>\r\n      </TabsContent>\r\n      <TabsContent value=\"tab3\">\r\n        <div className=\"p-4 border rounded-lg\">\r\n          <h3 className=\"font-medium\">Third Tab</h3>\r\n          <div className=\"text-muted-foreground\">Content for the third tab.</div>\r\n        </div>\r\n      </TabsContent>\r\n      <TabsContent value=\"tab4\">\r\n        <div className=\"p-4 border rounded-lg\">\r\n          <h3 className=\"font-medium\">Fourth Tab</h3>\r\n          <div className=\"text-muted-foreground\">Content for the fourth tab.</div>\r\n        </div>\r\n      </TabsContent>\r\n    </Tabs>\r\n  )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/tabs-demo/tabs-vertical-demo": {
    "content": "import {\r\n    Tabs,\r\n    TabsContent,\r\n    TabsList,\r\n    TabsTrigger,\r\n} from \"@/components/ui/tabs\"\r\nimport { Bell, Settings, Shield, User } from \"lucide-react\"\r\n\r\nexport default function TabsVerticalDemo() {\r\n    return (\r\n        <Tabs defaultValue=\"general\" orientation=\"vertical\" className=\"w-full\">\r\n            <div className=\"flex gap-4\">\r\n                <TabsList className=\"flex-col h-fit\">\r\n                    <TabsTrigger value=\"general\">\r\n                        <Settings className=\"w-4 h-4 mr-2\" />\r\n                        General\r\n                    </TabsTrigger>\r\n                    <TabsTrigger value=\"security\">\r\n                        <Shield className=\"w-4 h-4 mr-2\" />\r\n                        Security\r\n                    </TabsTrigger>\r\n                    <TabsTrigger value=\"notifications\">\r\n                        <Bell className=\"w-4 h-4 mr-2\" />\r\n                        Notifications\r\n                    </TabsTrigger>\r\n                    <TabsTrigger value=\"account\">\r\n                        <User className=\"w-4 h-4 mr-2\" />\r\n                        Account\r\n                    </TabsTrigger>\r\n                </TabsList>\r\n                <div className=\"flex-1\">\r\n                    <TabsContent value=\"general\">\r\n                        <div className=\"space-y-4\">\r\n                            <h3 className=\"text-lg font-medium\">General Settings</h3>\r\n                            <div className=\"text-muted-foreground\">Configure your general application settings.</div>\r\n                        </div>\r\n                    </TabsContent>\r\n                    <TabsContent value=\"security\">\r\n                        <div className=\"space-y-4\">\r\n                            <h3 className=\"text-lg font-medium\">Security Settings</h3>\r\n                            <div className=\"text-muted-foreground\">Manage your security settings.</div>\r\n                        </div>\r\n                    </TabsContent>\r\n                    <TabsContent value=\"notifications\">\r\n                        <div className=\"space-y-4\">\r\n                            <h3 className=\"text-lg font-medium\">Notification Settings</h3>\r\n                            <div className=\"text-muted-foreground\">Control your notifications.</div>\r\n                        </div>\r\n                    </TabsContent>\r\n                    <TabsContent value=\"account\">\r\n                        <div className=\"space-y-4\">\r\n                            <h3 className=\"text-lg font-medium\">Account Settings</h3>\r\n                            <div className=\"text-muted-foreground\">Manage your account information.</div>\r\n                        </div>\r\n                    </TabsContent>\r\n                </div>\r\n            </div>\r\n        </Tabs>\r\n    )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/textarea-demo/textarea-button-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport { Textarea } from \"@/components/ui/textarea\"\r\n\r\nexport default function TextareaWithButtonDemo() {\r\n    return (\r\n        <div className=\"grid w-full gap-2\">\r\n            <Textarea placeholder=\"Type your message here.\" />\r\n            <Button>Send message</Button>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/textarea-demo/textarea-demo": {
    "content": "import { Textarea } from \"@/components/ui/textarea\"\r\n\r\nexport default function TextareaDemo() {\r\n    return <Textarea placeholder=\"Type your message here.\" />\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/textarea-demo/textarea-disabled-demo": {
    "content": "import { Textarea } from \"@/components/ui/textarea\"\r\n\r\nexport default function TextareaDisabled() {\r\n    return <Textarea placeholder=\"Type your message here.\" disabled />\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/textarea-demo/textarea-with-label-demo": {
    "content": "import { Label } from \"@/components/ui/label\"\r\nimport { Textarea } from \"@/components/ui/textarea\"\r\n\r\nexport default function TextareaWithLabelDemo() {\r\n    return (\r\n        <div className=\"grid w-full gap-3\">\r\n            <Label htmlFor=\"message\">Your message</Label>\r\n            <Textarea placeholder=\"Type your message here.\" id=\"message\" />\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/textarea-demo/textarea-with-text-demo": {
    "content": "import { Label } from \"@/components/ui/label\"\r\nimport { Textarea } from \"@/components/ui/textarea\"\r\n\r\nexport default function TextareaWithTextDemo() {\r\n    return (\r\n        <div className=\"grid w-full gap-3\">\r\n            <Label htmlFor=\"message-2\">Your Message</Label>\r\n            <Textarea placeholder=\"Type your message here.\" id=\"message-2\" />\r\n            <p className=\"text-muted-foreground text-sm\">\r\n                Your message will be copied to the support team.\r\n            </p>\r\n        </div>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-demo/toggle-demo": {
    "content": "import { Toggle } from \"@/components/ui/toggle\"\r\nimport { BookmarkIcon } from \"lucide-react\"\r\n\r\nexport default function ToggleDemo() {\r\n    return (\r\n        <Toggle\r\n            aria-label=\"Toggle bookmark\"\r\n            size=\"sm\"\r\n            variant=\"outline\"\r\n            className=\"group\"\r\n        >\r\n            <BookmarkIcon className=\"h-4 w-4 transition-colors group-data-[state=on]:fill-blue-500 group-data-[state=on]:stroke-blue-500\" />\r\n            Bookmark\r\n        </Toggle>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-demo/toggle-disable-demo": {
    "content": "import { Underline } from \"lucide-react\"\r\nimport { Toggle } from \"@/components/ui/toggle\"\r\n\r\nexport default function ToggleDisabledDemo() {\r\n    return (\r\n        <Toggle aria-label=\"Toggle italic\" disabled>\r\n            <Underline className=\"h-4 w-4\" />\r\n        </Toggle>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-demo/toggle-ghost-demo": {
    "content": "import { Italic } from \"lucide-react\"\r\nimport { Toggle } from \"@/components/ui/toggle\"\r\n\r\nexport default function ToggleGhostDemo() {\r\n    return (\r\n        <Toggle variant=\"ghost\" aria-label=\"Toggle italic\">\r\n            <Italic />\r\n        </Toggle>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-demo/toggle-glass-demo": {
    "content": "import { Italic } from \"lucide-react\"\r\nimport { Toggle } from \"@/components/ui/toggle\"\r\n\r\nexport default function ToggleGlassDemo() {\r\n    return (\r\n        <Toggle variant=\"glass\" aria-label=\"Toggle italic\">\r\n            <Italic />\r\n        </Toggle>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-demo/toggle-large-demo": {
    "content": "import { Italic } from \"lucide-react\"\r\nimport { Toggle } from \"@/components/ui/toggle\"\r\n\r\nexport default function ToggleLgDemo() {\r\n    return (\r\n        <Toggle size=\"lg\" aria-label=\"Toggle italic\">\r\n            <Italic />\r\n        </Toggle>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-demo/toggle-outline-demo": {
    "content": "import { Italic } from \"lucide-react\"\r\nimport { Toggle } from \"@/components/ui/toggle\"\r\n\r\nexport default function ToggleOutlineDemo() {\r\n    return (\r\n        <Toggle variant=\"outline\" aria-label=\"Toggle italic\">\r\n            <Italic />\r\n        </Toggle>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-demo/toggle-small-demo": {
    "content": "import { Italic } from \"lucide-react\"\r\nimport { Toggle } from \"@/components/ui/toggle\"\r\n\r\nexport default function ToggleSmallDemo() {\r\n    return (\r\n        <Toggle size=\"sm\" aria-label=\"Toggle italic\">\r\n            <Italic />\r\n        </Toggle>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-demo/toggle-with-text-demo": {
    "content": "import { Italic } from \"lucide-react\"\r\nimport { Toggle } from \"@/components/ui/toggle\"\r\n\r\nexport default function ToggleWithTextDemo() {\r\n    return (\r\n        <Toggle aria-label=\"Toggle italic\">\r\n            <Italic />\r\n            Italic\r\n        </Toggle>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-group-demo/toggle-group-demo": {
    "content": "import {\r\n    ToggleGroup,\r\n    ToggleGroupItem,\r\n} from \"@/components/ui/toggle-group\"\r\nimport { BookmarkIcon, HeartIcon, StarIcon } from \"lucide-react\"\r\n\r\nexport default function ToggleGroupDemo() {\r\n    return (\r\n        <ToggleGroup type=\"multiple\" variant=\"outline\" size=\"sm\">\r\n            <ToggleGroupItem value=\"star\" aria-label=\"Toggle star\" className=\"group\">\r\n                <StarIcon className=\"h-4 w-4 transition-colors group-data-[state=on]:fill-yellow-500 group-data-[state=on]:stroke-yellow-500\" />\r\n                Star\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"heart\" aria-label=\"Toggle heart\" className=\"group\">\r\n                <HeartIcon className=\"h-4 w-4 transition-colors group-data-[state=on]:fill-red-500 group-data-[state=on]:stroke-red-500\" />\r\n                Heart\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"bookmark\" aria-label=\"Toggle bookmark\" className=\"group\">\r\n                <BookmarkIcon className=\"h-4 w-4 transition-colors group-data-[state=on]:fill-blue-500 group-data-[state=on]:stroke-blue-500\" />\r\n                Bookmark\r\n            </ToggleGroupItem>\r\n        </ToggleGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-group-demo/toggle-group-disabled-demo": {
    "content": "import {\r\n    ToggleGroup,\r\n    ToggleGroupItem,\r\n} from \"@/components/ui/toggle-group\"\r\nimport { Bold, Italic, Underline } from \"lucide-react\"\r\n\r\nexport default function ToggleGroupDisabledDemo() {\r\n    return (\r\n        <ToggleGroup type=\"multiple\" disabled>\r\n            <ToggleGroupItem value=\"bold\" aria-label=\"Toggle bold\">\r\n                <Bold className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"italic\" aria-label=\"Toggle italic\">\r\n                <Italic className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"strikethrough\" aria-label=\"Toggle strikethrough\">\r\n                <Underline className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n        </ToggleGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-group-demo/toggle-group-large-demo": {
    "content": "import {\r\n    ToggleGroup,\r\n    ToggleGroupItem,\r\n} from \"@/components/ui/toggle-group\"\r\nimport { Bold, Italic, Underline } from \"lucide-react\"\r\n\r\nexport default function ToggleGroupLargeDemo() {\r\n    return (\r\n        <ToggleGroup type=\"multiple\" size=\"lg\">\r\n            <ToggleGroupItem value=\"bold\" aria-label=\"Toggle bold\">\r\n                <Bold className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"italic\" aria-label=\"Toggle italic\">\r\n                <Italic className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"strikethrough\" aria-label=\"Toggle strikethrough\">\r\n                <Underline className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n        </ToggleGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-group-demo/toggle-group-outline-demo": {
    "content": "import {\r\n    ToggleGroup,\r\n    ToggleGroupItem,\r\n} from \"@/components/ui/toggle-group\"\r\nimport { Bold, Italic, Underline } from \"lucide-react\"\r\n\r\nexport default function ToggleGroupOutlineDemo() {\r\n    return (\r\n        <ToggleGroup type=\"multiple\" variant=\"outline\">\r\n            <ToggleGroupItem value=\"bold\" aria-label=\"Toggle bold\">\r\n                <Bold className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"italic\" aria-label=\"Toggle italic\">\r\n                <Italic className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"strikethrough\" aria-label=\"Toggle strikethrough\">\r\n                <Underline className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n        </ToggleGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-group-demo/toggle-group-single-demo": {
    "content": "import {\r\n    ToggleGroup,\r\n    ToggleGroupItem,\r\n} from \"@/components/ui/toggle-group\"\r\nimport { Bold, Italic, Underline } from \"lucide-react\"\r\n\r\nexport default function ToggleGroupSingleDemo() {\r\n    return (\r\n        <ToggleGroup type=\"single\">\r\n            <ToggleGroupItem value=\"bold\" aria-label=\"Toggle bold\">\r\n                <Bold className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"italic\" aria-label=\"Toggle italic\">\r\n                <Italic className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"strikethrough\" aria-label=\"Toggle strikethrough\">\r\n                <Underline className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n        </ToggleGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/toggle-group-demo/toggle-group-small-demo": {
    "content": "import {\r\n    ToggleGroup,\r\n    ToggleGroupItem,\r\n} from \"@/components/ui/toggle-group\"\r\nimport { Bold, Italic, Underline } from \"lucide-react\"\r\n\r\nexport default function ToggleGroupSmallDemo() {\r\n    return (\r\n        <ToggleGroup type=\"single\" size=\"sm\">\r\n            <ToggleGroupItem value=\"bold\" aria-label=\"Toggle bold\">\r\n                <Bold className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"italic\" aria-label=\"Toggle italic\">\r\n                <Italic className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n            <ToggleGroupItem value=\"strikethrough\" aria-label=\"Toggle strikethrough\">\r\n                <Underline className=\"h-4 w-4\" />\r\n            </ToggleGroupItem>\r\n        </ToggleGroup>\r\n    )\r\n}\r\n",
    "language": "tsx"
  },
  "@/registry/examples/tooltip-demo/tooltip-bottom-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Tooltip,\r\n  TooltipContent,\r\n  TooltipProvider,\r\n  TooltipTrigger,\r\n} from \"@/components/ui/tooltip\"\r\n\r\nexport default function TooltipBottomDemo() {\r\n  return (\r\n    <TooltipProvider>\r\n      <Tooltip>\r\n        <TooltipTrigger asChild>\r\n          <Button variant=\"outline\">Hover</Button>\r\n        </TooltipTrigger>\r\n        <TooltipContent side=\"bottom\">\r\n          <p>Bottom Tooltip</p>\r\n        </TooltipContent>\r\n      </Tooltip>\r\n    </TooltipProvider>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/tooltip-demo/tooltip-delay-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Tooltip,\r\n  TooltipContent,\r\n  TooltipProvider,\r\n  TooltipTrigger,\r\n} from \"@/components/ui/tooltip\"\r\n\r\nexport default function TooltipDelayDemo() {\r\n  return (\r\n    <TooltipProvider delayDuration={500}>\r\n      <Tooltip>\r\n        <TooltipTrigger asChild>\r\n          <Button variant=\"outline\">Hover</Button>\r\n        </TooltipTrigger>\r\n        <TooltipContent>\r\n          <p>Delay Tooltip</p>\r\n        </TooltipContent>\r\n      </Tooltip>\r\n    </TooltipProvider>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/tooltip-demo/tooltip-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Tooltip,\r\n  TooltipContent,\r\n  TooltipProvider,\r\n  TooltipTrigger,\r\n} from \"@/components/ui/tooltip\"\r\n\r\nexport default function TooltipDemo() {\r\n  return (\r\n    <TooltipProvider>\r\n      <Tooltip>\r\n        <TooltipTrigger asChild>\r\n          <Button variant=\"outline\">Hover</Button>\r\n        </TooltipTrigger>\r\n        <TooltipContent>\r\n          <p>Default Tooltip</p>\r\n        </TooltipContent>\r\n      </Tooltip>\r\n    </TooltipProvider>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/tooltip-demo/tooltip-left-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Tooltip,\r\n  TooltipContent,\r\n  TooltipProvider,\r\n  TooltipTrigger,\r\n} from \"@/components/ui/tooltip\"\r\n\r\nexport default function TooltipLeftDemo() {\r\n  return (\r\n    <TooltipProvider>\r\n      <Tooltip>\r\n        <TooltipTrigger asChild>\r\n          <Button variant=\"outline\">Hover</Button>\r\n        </TooltipTrigger>\r\n        <TooltipContent side=\"left\">\r\n          <p>Left Tooltip</p>\r\n        </TooltipContent>\r\n      </Tooltip>\r\n    </TooltipProvider>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/tooltip-demo/tooltip-right-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Tooltip,\r\n  TooltipContent,\r\n  TooltipProvider,\r\n  TooltipTrigger,\r\n} from \"@/components/ui/tooltip\"\r\n\r\nexport default function TooltipRightDemo() {\r\n  return (\r\n    <TooltipProvider>\r\n      <Tooltip>\r\n        <TooltipTrigger asChild>\r\n          <Button variant=\"outline\">Hover</Button>\r\n        </TooltipTrigger>\r\n        <TooltipContent side=\"right\">\r\n          <p>Right Tooltip</p>\r\n        </TooltipContent>\r\n      </Tooltip>\r\n    </TooltipProvider>\r\n  )\r\n}",
    "language": "tsx"
  },
  "@/registry/examples/tooltip-demo/tooltip-top-demo": {
    "content": "import { Button } from \"@/components/ui/button\"\r\nimport {\r\n  Tooltip,\r\n  TooltipContent,\r\n  TooltipProvider,\r\n  TooltipTrigger,\r\n} from \"@/components/ui/tooltip\"\r\n\r\nexport default function TooltipTopDemo() {\r\n  return (\r\n    <TooltipProvider>\r\n      <Tooltip>\r\n        <TooltipTrigger asChild>\r\n          <Button variant=\"outline\">Hover</Button>\r\n        </TooltipTrigger>\r\n        <TooltipContent side=\"top\">\r\n          <p>Top Tooltip</p>\r\n        </TooltipContent>\r\n      </Tooltip>\r\n    </TooltipProvider>\r\n  )\r\n}\r\n",
    "language": "tsx"
  }
}