{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "comp-225",
  "type": "registry:component",
  "title": "Comp 225",
  "description": "Comp 225",
  "files": [
    {
      "path": "registry/ui-basic/comp-225.tsx",
      "content": "import { useId } from \"react\";\n\nimport { Label } from \"@/components/ui/label\";\nimport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\n\nconst countries = [\n\t{\n\t\tcontinent: \"America\",\n\t\titems: [\n\t\t\t{ value: \"1\", label: \"United States\", flag: \"🇺🇸\" },\n\t\t\t{ value: \"2\", label: \"Canada\", flag: \"🇨🇦\" },\n\t\t\t{ value: \"3\", label: \"Mexico\", flag: \"🇲🇽\" },\n\t\t],\n\t},\n\t{\n\t\tcontinent: \"Africa\",\n\t\titems: [\n\t\t\t{ value: \"4\", label: \"South Africa\", flag: \"🇿🇦\" },\n\t\t\t{ value: \"5\", label: \"Nigeria\", flag: \"🇳🇬\" },\n\t\t\t{ value: \"6\", label: \"Morocco\", flag: \"🇲🇦\" },\n\t\t],\n\t},\n\t{\n\t\tcontinent: \"Asia\",\n\t\titems: [\n\t\t\t{ value: \"7\", label: \"China\", flag: \"🇨🇳\" },\n\t\t\t{ value: \"8\", label: \"Japan\", flag: \"🇯🇵\" },\n\t\t\t{ value: \"9\", label: \"India\", flag: \"🇮🇳\" },\n\t\t],\n\t},\n\t{\n\t\tcontinent: \"Europe\",\n\t\titems: [\n\t\t\t{ value: \"10\", label: \"United Kingdom\", flag: \"🇬🇧\" },\n\t\t\t{ value: \"11\", label: \"France\", flag: \"🇫🇷\" },\n\t\t\t{ value: \"12\", label: \"Germany\", flag: \"🇩🇪\" },\n\t\t],\n\t},\n\t{\n\t\tcontinent: \"Oceania\",\n\t\titems: [\n\t\t\t{ value: \"13\", label: \"Australia\", flag: \"🇦🇺\" },\n\t\t\t{ value: \"14\", label: \"New Zealand\", flag: \"🇳🇿\" },\n\t\t],\n\t},\n];\n\nexport default function Component() {\n\tconst id = useId();\n\treturn (\n\t\t<div className=\"not-first:*:mt-2\">\n\t\t\t<Label htmlFor={id}>Options with flag</Label>\n\t\t\t<Select defaultValue=\"2\">\n\t\t\t\t<SelectTrigger\n\t\t\t\t\tid={id}\n\t\t\t\t\tclassName=\"[&>span_svg]:text-muted-foreground/80 [&>span]:flex [&>span]:items-center [&>span]:gap-2 [&>span_svg]:shrink-0\"\n\t\t\t\t>\n\t\t\t\t\t<SelectValue placeholder=\"Select framework\" />\n\t\t\t\t</SelectTrigger>\n\t\t\t\t<SelectContent className=\"[&_*[role=option]>span>svg]:text-muted-foreground/80 [&_*[role=option]]:ps-2 [&_*[role=option]]:pe-8 [&_*[role=option]>span]:start-auto [&_*[role=option]>span]:inset-e-2 [&_*[role=option]>span]:flex [&_*[role=option]>span]:items-center [&_*[role=option]>span]:gap-2 [&_*[role=option]>span>svg]:shrink-0\">\n\t\t\t\t\t{countries.map((continent) => (\n\t\t\t\t\t\t<SelectGroup key={continent.continent}>\n\t\t\t\t\t\t\t<SelectLabel className=\"ps-2\">\n\t\t\t\t\t\t\t\t{continent.continent}\n\t\t\t\t\t\t\t</SelectLabel>\n\t\t\t\t\t\t\t{continent.items.map((item) => (\n\t\t\t\t\t\t\t\t<SelectItem key={item.value} value={item.value}>\n\t\t\t\t\t\t\t\t\t<span className=\"text-lg leading-none\">\n\t\t\t\t\t\t\t\t\t\t{item.flag}\n\t\t\t\t\t\t\t\t\t</span>{\" \"}\n\t\t\t\t\t\t\t\t\t<span className=\"truncate\">{item.label}</span>\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t))}\n\t\t\t\t</SelectContent>\n\t\t\t</Select>\n\t\t</div>\n\t);\n}\n",
      "type": "registry:ui"
    },
    {
      "path": "components/ui/label.tsx",
      "content": "\"use client\";\n\nimport React from \"react\";\n\nimport { cn } from \"@/registry/utilities/cn\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nconst labelVariants = cva(\n\t\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n);\n\nconst Label = React.forwardRef<\n\tReact.ElementRef<typeof LabelPrimitive.Root>,\n\tReact.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n\t\tVariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n\t<LabelPrimitive.Root\n\t\tref={ref}\n\t\tclassName={cn(labelVariants(), className)}\n\t\t{...props}\n\t/>\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\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"
    }
  ]
}