{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "glass-select",
  "title": "Glass Select",
  "description": "Glass Select with five variants: clear, frosted, subtle, liquid, and liquid-refract",
  "registryDependencies": [
    "@glasscn/utils",
    "@glasscn/select",
    "@glasscn/glass-variants",
    "@glasscn/liquid-glass"
  ],
  "files": [
    {
      "path": "components/ui/glasscn/glass-select.tsx",
      "content": "\"use client\";\n\nimport * as React from \"react\";\n\nimport { type FrostGlassVariant, type FrostGlassVariantProp, glassVariantStyles } from \"@/lib/glass-variants\";\nimport { cn } from \"@/lib/utils\";\n\nimport { Select, SelectContent, SelectTrigger } from \"../select\";\nimport { LiquidGlass } from \"./liquid-glass\";\n\nconst GlassSelectVariantContext = React.createContext<FrostGlassVariant>(\"liquid-refract\");\n\ntype GlassSelectProps = React.ComponentProps<typeof Select> & FrostGlassVariantProp;\n\nfunction GlassSelect({ glassVariant = \"liquid-refract\", ...props }: GlassSelectProps) {\n  return (\n    <GlassSelectVariantContext.Provider value={glassVariant}>\n      <Select data-slot=\"glass-select\" {...props} />\n    </GlassSelectVariantContext.Provider>\n  );\n}\n\nfunction GlassSelectTrigger({ className, ...props }: React.ComponentProps<typeof SelectTrigger>) {\n  const variant = React.useContext(GlassSelectVariantContext);\n\n  const baseStyles =\n    \"border-white/40 bg-white/40 text-foreground shadow-[0_8px_30px_rgba(255,255,255,0.08)] data-placeholder:text-foreground/75 dark:data-placeholder:text-foreground/60 dark:border-white/12 dark:bg-black/40\";\n\n  if (variant === \"liquid-refract\") {\n    return (\n      <LiquidGlass className={cn(\"rounded-lg\", className)}>\n        <SelectTrigger\n          data-slot=\"glass-select-trigger\"\n          className={cn(\"bg-transparent border-0 shadow-none\", baseStyles, className)}\n          {...props}\n        />\n      </LiquidGlass>\n    );\n  }\n\n  return (\n    <SelectTrigger\n      data-slot=\"glass-select-trigger\"\n      className={cn(glassVariantStyles[variant], baseStyles, className)}\n      {...props}\n    />\n  );\n}\n\nfunction GlassSelectContent({ className, ...props }: React.ComponentProps<typeof SelectContent>) {\n  const variant = React.useContext(GlassSelectVariantContext);\n\n  return (\n    <SelectContent\n      data-slot=\"glass-select-content\"\n      className={cn(\n        variant !== \"liquid-refract\" && glassVariantStyles[variant],\n        \"rounded-xl border border-white/30 bg-white/60 text-foreground shadow-2xl ring-1 ring-white/20 dark:border-white/10 dark:bg-black/55 dark:ring-white/10\",\n        \"[&_[data-slot=select-item]:focus]:bg-white/70 [&_[data-slot=select-item]:focus]:text-black dark:[&_[data-slot=select-item]:focus]:bg-white/12 dark:[&_[data-slot=select-item]:focus]:text-white\",\n        className,\n      )}\n      {...props}\n    />\n  );\n}\n\nexport { GlassSelect, GlassSelectContent, GlassSelectTrigger };\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:component"
}