{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "select",
  "title": "Pixelact Select",
  "description": "A simple select component.",
  "registryDependencies": [
    "select"
  ],
  "files": [
    {
      "path": "components/ui/pixelact-ui/select.tsx",
      "content": "import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { type VariantProps, cva } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport {\n  Select as ShadcnSelect,\n  SelectContent as ShadcnSelectContent,\n  SelectGroup as ShadcnSelectGroup,\n  SelectItem as ShadcnSelectItem,\n  SelectLabel as ShadcnSelectLabel,\n  SelectSeparator as ShadcnSelectSeparator,\n  SelectValue as ShadcnSelectValue,\n} from \"@/components/ui/select\";\n\nimport \"@/components/ui/pixelact-ui/styles/styles.css\";\n\nexport const inputVariants = cva(\"text-foreground\", {\n  variants: {\n    font: {\n      normal: \"\",\n      pixel: \"pixel-font\",\n    },\n  },\n  defaultVariants: {\n    font: \"pixel\",\n  },\n});\n\nexport interface SelectProps\n  extends React.SelectHTMLAttributes<HTMLSelectElement>,\n    VariantProps<typeof inputVariants> {\n  asChild?: boolean;\n}\n\nfunction Select({ ...props }: React.ComponentProps<typeof ShadcnSelect>) {\n  return <ShadcnSelect {...props} />;\n}\n\nfunction SelectGroup({\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n  return <ShadcnSelectGroup {...props} />;\n}\n\ninterface SelectValueProps\n  extends React.ComponentProps<typeof SelectPrimitive.Value>,\n    VariantProps<typeof inputVariants> {\n  asChild?: boolean;\n}\n\nfunction SelectValue({ font, ...props }: SelectValueProps) {\n  return (\n    <ShadcnSelectValue className={cn(inputVariants({ font }))} {...props} />\n  );\n}\n\nfunction SelectTrigger({\n  children,\n  className,\n  font,\n  size = \"default\",\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n  size?: \"sm\" | \"default\";\n  font?: \"normal\" | \"pixel\";\n}) {\n  return (\n    <div\n      className={cn(\n        \"relative shadow-(--pixel-box-shadow) box-shadow-margin\",\n        inputVariants({ font }),\n        className\n      )}\n    >\n      <SelectPrimitive.Trigger\n        data-slot=\"select-trigger\"\n        data-size={size}\n        className={cn(\n          \"rounded-none bg-background dark:bg-background ring-0 w-full border-0 border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:hover:bg-input/50 flex items-center justify-between gap-2 px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n          className\n        )}\n        {...props}\n      >\n        {children}\n        <SelectPrimitive.Icon asChild>\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"32\"\n            height=\"32\"\n            viewBox=\"0 0 24 24\"\n            className=\"size-6 opacity-50\"\n          >\n            <path\n              className=\"fill-foreground\"\n              d=\"M7 8H5v2h2v2h2v2h2v2h2v-2h2v-2h2v-2h2V8h-2v2h-2v2h-2v2h-2v-2H9v-2H7z\"\n            />\n          </svg>\n        </SelectPrimitive.Icon>\n      </SelectPrimitive.Trigger>\n    </div>\n  );\n}\n\nexport interface SelectContentProps\n  extends React.ComponentProps<typeof SelectPrimitive.Content>,\n    VariantProps<typeof inputVariants> {\n  asChild?: boolean;\n}\n\nfunction SelectContent({\n  className,\n  children,\n  font,\n  ...props\n}: SelectContentProps) {\n  return (\n    <ShadcnSelectContent\n      className={cn(\n        \"relative bg-background rounded-none border-none shadow-(--pixel-box-shadow) mt-2\",\n        inputVariants({ font }),\n        className\n      )}\n      {...props}\n    >\n      {children}\n    </ShadcnSelectContent>\n  );\n}\n\nfunction SelectLabel({\n  className,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n  return <ShadcnSelectLabel className={cn(className)} {...props} />;\n}\n\nfunction SelectItem({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n  return (\n    <ShadcnSelectItem\n      className={cn(\n        className,\n        \"rounded-none border-y-3 border-dashed border-ring/0 hover:border-foreground dark:hover:border-ring\"\n      )}\n      {...props}\n    >\n      {children}\n    </ShadcnSelectItem>\n  );\n}\n\nfunction SelectSeparator({\n  className,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n  return <ShadcnSelectSeparator className={cn(className)} {...props} />;\n}\n\nfunction SelectScrollDownButton({\n  className,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n  return (\n    <SelectPrimitive.ScrollDownButton\n      data-slot=\"select-scroll-down-button\"\n      className={cn(\n        \"flex cursor-default items-center justify-center py-1\",\n        className\n      )}\n      {...props}\n    >\n      <svg\n        xmlns=\"http://www.w3.org/2000/svg\"\n        width=\"32\"\n        height=\"32\"\n        viewBox=\"0 0 24 24\"\n        className=\"size-4\"\n      >\n        <path\n          className=\"fill-foreground\"\n          d=\"M7 8H5v2h2v2h2v2h2v2h2v-2h2v-2h2v-2h2V8h-2v2h-2v2h-2v2h-2v-2H9v-2H7z\"\n        />\n      </svg>\n    </SelectPrimitive.ScrollDownButton>\n  );\n}\n\nfunction SelectScrollUpButton({\n  className,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n  return (\n    <SelectPrimitive.ScrollUpButton\n      data-slot=\"select-scroll-up-button\"\n      className={cn(\n        \"flex cursor-default items-center justify-center py-1\",\n        className\n      )}\n      {...props}\n    >\n      <svg\n        xmlns=\"http://www.w3.org/2000/svg\"\n        width=\"32\"\n        height=\"32\"\n        viewBox=\"0 0 24 24\"\n        className=\"size-4\"\n      >\n        <path\n          className=\"fill-foreground\"\n          d=\"M7 16H5v-2h2v-2h2v-2h2V8h2v2h2v2h2v2h2v2h-2v-2h-2v-2h-2v-2h-2v2H9v2H7z\"\n        />\n      </svg>\n    </SelectPrimitive.ScrollUpButton>\n  );\n}\n\nexport {\n  Select,\n  SelectContent,\n  SelectGroup,\n  SelectItem,\n  SelectLabel,\n  SelectScrollDownButton,\n  SelectScrollUpButton,\n  SelectSeparator,\n  SelectTrigger,\n  SelectValue,\n};\n",
      "type": "registry:component",
      "target": "components/ui/pixelact-ui/select.tsx"
    },
    {
      "path": "components/ui/pixelact-ui/styles/styles.css",
      "content": "@import url(\"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap\");\n\n:root {\n  --box-shadow-width: 4px;\n  --pixel-box-shadow: calc(-1 * (var(--box-shadow-width))) 0 0 0 black,\n    var(--box-shadow-width) 0 0 0 black, 0 var(--box-shadow-width) 0 0 black,\n    0 calc(-1 * (var(--box-shadow-width))) 0 0 black;\n  --pixel-box-shadow-destructive: calc(-1 * (var(--box-shadow-width))) 0 0 0\n      var(--destructive),\n    var(--box-shadow-width) 0 0 0 var(--destructive),\n    0 var(--box-shadow-width) 0 0 var(--destructive),\n    0 calc(-1 * (var(--box-shadow-width))) 0 0 var(--destructive);\n  --default-inner-border-color: rgb(200, 200, 200);\n}\n\n.dark {\n  --pixel-box-shadow: calc(-1 * (var(--box-shadow-width))) 0 0 0 var(--ring),\n    var(--box-shadow-width) 0 0 0 var(--ring),\n    0 var(--box-shadow-width) 0 0 var(--ring),\n    0 calc(-1 * (var(--box-shadow-width))) 0 0 var(--ring);\n}\n\n.pixel-font {\n  font-family: \"Press Start 2P\", system-ui, -apple-system, sans-serif;\n  line-height: 1.5;\n  letter-spacing: 0.5px;\n}\n\n.box-shadow-margin {\n  margin: var(--box-shadow-width);\n}\n",
      "type": "registry:style",
      "target": "components/ui/pixelact-ui/styles/styles.css"
    }
  ],
  "type": "registry:component"
}