{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "comp-318",
  "type": "registry:component",
  "title": "Comp 318",
  "description": "Comp 318",
  "files": [
    {
      "path": "registry/ui-basic/comp-318.tsx",
      "content": "import { Button } from \"@/components/ui/button\";\r\nimport {\r\n\tDialog,\r\n\tDialogClose,\r\n\tDialogContent,\r\n\tDialogDescription,\r\n\tDialogFooter,\r\n\tDialogHeader,\r\n\tDialogTitle,\r\n\tDialogTrigger,\r\n} from \"@/components/ui/dialog\";\r\n\r\nexport default function Component() {\r\n\treturn (\r\n\t\t<Dialog>\r\n\t\t\t<DialogTrigger asChild>\r\n\t\t\t\t<Button variant=\"outline\">Scrollable (sticky footer)</Button>\r\n\t\t\t</DialogTrigger>\r\n\t\t\t<DialogContent className=\"flex flex-col gap-0 p-0 sm:max-h-[min(640px,80vh)] sm:max-w-lg [&>button:last-child]:hidden\">\r\n\t\t\t\t<div className=\"overflow-y-auto\">\r\n\t\t\t\t\t<DialogHeader className=\"contents space-y-0 text-left\">\r\n\t\t\t\t\t\t<DialogTitle className=\"px-6 pt-6 text-base\">\r\n\t\t\t\t\t\t\tFrequently Asked Questions (FAQ)\r\n\t\t\t\t\t\t</DialogTitle>\r\n\t\t\t\t\t\t<DialogDescription asChild>\r\n\t\t\t\t\t\t\t<div className=\"p-6\">\r\n\t\t\t\t\t\t\t\t<div className=\"[&_strong]:text-foreground space-y-4 [&_strong]:font-semibold\">\r\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>Account Management</strong>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\tNavigate to the registration page, provide\r\n\t\t\t\t\t\t\t\t\t\t\trequired information, and verify your email\r\n\t\t\t\t\t\t\t\t\t\t\taddress. You can sign up using your email or\r\n\t\t\t\t\t\t\t\t\t\t\tthrough social media platforms.\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>Password Reset Process</strong>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\tUsers can reset their password through the\r\n\t\t\t\t\t\t\t\t\t\t\taccount settings page. Click &quot;Forgot\r\n\t\t\t\t\t\t\t\t\t\t\tPassword&quot; and follow the email\r\n\t\t\t\t\t\t\t\t\t\t\tverification steps to regain account access\r\n\t\t\t\t\t\t\t\t\t\t\tquickly and securely.\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>Service Pricing Tiers</strong>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\tWe offer three primary subscription levels\r\n\t\t\t\t\t\t\t\t\t\t\tdesigned to meet diverse user needs: Basic\r\n\t\t\t\t\t\t\t\t\t\t\t(free with limited features), Professional\r\n\t\t\t\t\t\t\t\t\t\t\t(monthly fee with comprehensive access), and\r\n\t\t\t\t\t\t\t\t\t\t\tEnterprise (custom pricing with full platform\r\n\t\t\t\t\t\t\t\t\t\t\tcapabilities).\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>Technical Support Channels</strong>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\tCustomer support is accessible through multiple\r\n\t\t\t\t\t\t\t\t\t\t\tcommunication methods including email support,\r\n\t\t\t\t\t\t\t\t\t\t\tlive chat during business hours, an integrated\r\n\t\t\t\t\t\t\t\t\t\t\tsupport ticket system, and phone support\r\n\t\t\t\t\t\t\t\t\t\t\tspecifically for enterprise-level customers.\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>Data Protection Strategies</strong>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\tOur platform implements rigorous security\r\n\t\t\t\t\t\t\t\t\t\t\tmeasures including 256-bit SSL encryption,\r\n\t\t\t\t\t\t\t\t\t\t\tregular comprehensive security audits, strict\r\n\t\t\t\t\t\t\t\t\t\t\tdata access controls, and compliance with\r\n\t\t\t\t\t\t\t\t\t\t\tinternational privacy protection standards.\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>Platform Compatibility</strong>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\tThe service supports multiple device and\r\n\t\t\t\t\t\t\t\t\t\t\toperating system environments, including web\r\n\t\t\t\t\t\t\t\t\t\t\tbrowsers like Chrome and Firefox, mobile\r\n\t\t\t\t\t\t\t\t\t\t\tapplications for iOS and Android, and desktop\r\n\t\t\t\t\t\t\t\t\t\t\tapplications compatible with Windows and macOS.\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>Subscription Management</strong>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\tSubscriptions can be cancelled at any time\r\n\t\t\t\t\t\t\t\t\t\t\tthrough account settings, with pro-rated\r\n\t\t\t\t\t\t\t\t\t\t\trefunds available within 30 days of payment.\r\n\t\t\t\t\t\t\t\t\t\t\tBoth monthly and annual billing options are\r\n\t\t\t\t\t\t\t\t\t\t\tprovided, with special discounts offered for\r\n\t\t\t\t\t\t\t\t\t\t\tannual commitments.\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>Payment Method Options</strong>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\tWe accept a wide range of payment methods\r\n\t\t\t\t\t\t\t\t\t\t\tincluding major credit cards such as Visa,\r\n\t\t\t\t\t\t\t\t\t\t\tMasterCard, and American Express, digital\r\n\t\t\t\t\t\t\t\t\t\t\tpayment platforms like PayPal, and direct bank\r\n\t\t\t\t\t\t\t\t\t\t\ttransfers. Regional payment options may also be\r\n\t\t\t\t\t\t\t\t\t\t\tavailable depending on user location.\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>Customer Support</strong>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\tOur dedicated customer support team is\r\n\t\t\t\t\t\t\t\t\t\t\tavailable 24/7, providing quick and efficient\r\n\t\t\t\t\t\t\t\t\t\t\tassistance to address any inquiries or issues\r\n\t\t\t\t\t\t\t\t\t\t\tyou may have.\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>Privacy Policy</strong>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t\t\tOur privacy policy outlines how we collect,\r\n\t\t\t\t\t\t\t\t\t\t\tuse, and protect your personal data, ensuring\r\n\t\t\t\t\t\t\t\t\t\t\tyour privacy is protected at all times.\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</DialogDescription>\r\n\t\t\t\t\t</DialogHeader>\r\n\t\t\t\t</div>\r\n\t\t\t\t<DialogFooter className=\"border-t px-6 py-4\">\r\n\t\t\t\t\t<DialogClose asChild>\r\n\t\t\t\t\t\t<Button type=\"button\" variant=\"outline\">\r\n\t\t\t\t\t\t\tCancel\r\n\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t</DialogClose>\r\n\t\t\t\t\t<DialogClose asChild>\r\n\t\t\t\t\t\t<Button type=\"button\">Okay</Button>\r\n\t\t\t\t\t</DialogClose>\r\n\t\t\t\t</DialogFooter>\r\n\t\t\t</DialogContent>\r\n\t\t</Dialog>\r\n\t);\r\n}\r\n",
      "type": "registry:ui"
    },
    {
      "path": "components/ui/button.tsx",
      "content": "import * as React from \"react\";\r\n\r\nimport { cn } from \"@/registry/utilities/cn\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\n\r\nconst buttonVariants = cva(\r\n\t\"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm text-white hover:text-gray-400 font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tsimple:\r\n\t\t\t\t\t\"bg-secondary relative z-10 bg-transparent hover:border-secondary hover:bg-secondary/50  border border-transparent dark:text-white text-sm md:text-sm transition font-medium duration-200  rounded-md px-4 py-2  flex items-center justify-center\",\r\n\t\t\t\tdefault: \"bg-primary text-primary-foreground hover:bg-primary/90\",\r\n\t\t\t\tdestructive:\r\n\t\t\t\t\t\"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\r\n\t\t\t\toutline:\r\n\t\t\t\t\t\"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\r\n\t\t\t\tsecondary:\r\n\t\t\t\t\t\"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\r\n\t\t\t\tghost: \"hover:bg-accent hover:text-black hover:stroke-black dark:text-white text-black\",\r\n\t\t\t\tlink: \"text-primary underline-offset-4 hover:underline\",\r\n\t\t\t},\r\n\t\t\tsize: {\r\n\t\t\t\tdefault: \"h-10 px-4 py-2\",\r\n\t\t\t\tsm: \"h-9 rounded-md px-3\",\r\n\t\t\t\tlg: \"h-11 rounded-md px-8\",\r\n\t\t\t\ticon: \"h-10 w-10\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: \"default\",\r\n\t\t\tsize: \"default\",\r\n\t\t},\r\n\t}\r\n);\r\n\r\nexport interface ButtonProps\r\n\textends React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n\t\tVariantProps<typeof buttonVariants> {\r\n\tasChild?: boolean;\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n\t({ className, variant, size, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : \"button\";\r\n\t\treturn (\r\n\t\t\t<Comp\r\n\t\t\t\tclassName={cn(buttonVariants({ variant, size, className }))}\r\n\t\t\t\tref={ref}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\nButton.displayName = \"Button\";\r\n\r\nexport { Button, buttonVariants };\r\n",
      "type": "registry:ui"
    },
    {
      "path": "registry/utilities/cn.ts",
      "content": "import { ClassValue, clsx } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n\treturn twMerge(clsx(inputs));\r\n}\r\n",
      "type": "registry:ui"
    }
  ]
}