{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "p-select-17",
  "description": "Select with country flags",
  "registryDependencies": [
    "@coss/select"
  ],
  "files": [
    {
      "path": "registry/default/particles/p-select-17.tsx",
      "content": "\"use client\";\n\nimport {\n  Select,\n  SelectGroup,\n  SelectGroupLabel,\n  SelectItem,\n  SelectPopup,\n  SelectSeparator,\n  SelectTrigger,\n  SelectValue,\n} from \"@/registry/default/ui/select\";\n\nconst countries = [\n  {\n    continent: \"America\",\n    items: [\n      { flag: \"\\u{1F1FA}\\u{1F1F8}\", label: \"United States\", value: \"us\" },\n      { flag: \"\\u{1F1E8}\\u{1F1E6}\", label: \"Canada\", value: \"ca\" },\n      { flag: \"\\u{1F1F2}\\u{1F1FD}\", label: \"Mexico\", value: \"mx\" },\n    ],\n  },\n  {\n    continent: \"Europe\",\n    items: [\n      { flag: \"\\u{1F1EC}\\u{1F1E7}\", label: \"United Kingdom\", value: \"gb\" },\n      { flag: \"\\u{1F1EB}\\u{1F1F7}\", label: \"France\", value: \"fr\" },\n      { flag: \"\\u{1F1E9}\\u{1F1EA}\", label: \"Germany\", value: \"de\" },\n    ],\n  },\n  {\n    continent: \"Asia\",\n    items: [\n      { flag: \"\\u{1F1E8}\\u{1F1F3}\", label: \"China\", value: \"cn\" },\n      { flag: \"\\u{1F1EF}\\u{1F1F5}\", label: \"Japan\", value: \"jp\" },\n      { flag: \"\\u{1F1EE}\\u{1F1F3}\", label: \"India\", value: \"in\" },\n    ],\n  },\n];\n\nconst allItems = countries.flatMap((c) => c.items);\n\nexport default function Particle() {\n  return (\n    <Select\n      aria-label=\"Select country\"\n      defaultValue={allItems.find((item) => item.value === \"ca\")}\n      itemToStringValue={(item) => item.value}\n    >\n      <SelectTrigger>\n        <SelectValue>\n          {(item) => (\n            <span className=\"flex items-center gap-2\">\n              <span className=\"text-base leading-none\">{item.flag}</span>\n              <span className=\"truncate\">{item.label}</span>\n            </span>\n          )}\n        </SelectValue>\n      </SelectTrigger>\n      <SelectPopup>\n        {countries.map((group, index) => (\n          <SelectGroup key={group.continent}>\n            {index > 0 && <SelectSeparator />}\n            <SelectGroupLabel>{group.continent}</SelectGroupLabel>\n            {group.items.map((item) => (\n              <SelectItem key={item.value} value={item}>\n                <span className=\"flex items-center gap-2\">\n                  <span className=\"text-base leading-none\">{item.flag}</span>\n                  <span className=\"truncate\">{item.label}</span>\n                </span>\n              </SelectItem>\n            ))}\n          </SelectGroup>\n        ))}\n      </SelectPopup>\n    </Select>\n  );\n}\n",
      "type": "registry:block"
    }
  ],
  "meta": {
    "className": "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64"
  },
  "categories": [
    "select"
  ],
  "type": "registry:block"
}