{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "poyraz-recipes",
  "title": "Poyraz Recipes",
  "author": "Poyraz Avsever",
  "description": "Poyraz Soft Glass poyraz-recipes component.",
  "dependencies": [
    "class-variance-authority@^0.7.1"
  ],
  "registryDependencies": [
    "@poyraz/poyraz-utils",
    "@poyraz/poyraz-theme"
  ],
  "files": [
    {
      "path": "registry/poyraz/ui/phase5/recipes.ts",
      "content": "import { cva, type VariantProps } from \"class-variance-authority\";\n\nconst fieldVariants = cva(\n  \"flex w-full border text-sm text-foreground outline-none transition-[color,background-color,border-color] duration-[var(--poyraz-motion-duration-fast)] ease-[var(--poyraz-motion-ease-out)] placeholder:text-placeholder focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/20 disabled:cursor-not-allowed disabled:bg-disabled disabled:text-disabled-foreground disabled:opacity-100 aria-invalid:border-invalid aria-invalid:ring-[3px] aria-invalid:ring-invalid/15\",\n  {\n    variants: {\n      variant: {\n        default: \"border-input bg-surface shadow-xs\",\n        soft: \"border-transparent bg-surface-subtle shadow-none hover:border-border-strong\",\n        glass:\n          \"poyraz-glass-field border-glass-border-outer bg-glass !text-foreground placeholder:!text-muted-foreground caret-foreground shadow-sm backdrop-blur-glass\",\n      },\n      radius: {\n        none: \"rounded-none\",\n        sm: \"rounded-sm\",\n        md: \"rounded-md\",\n        lg: \"rounded-lg\",\n        xl: \"rounded-xl\",\n        full: \"rounded-full\",\n      },\n    },\n    defaultVariants: { variant: \"default\", radius: \"md\" },\n  },\n);\n\nconst floatingSurfaceVariants = cva(\n  \"poyraz-floating-surface overflow-hidden border text-foreground outline-none transition-[background-color,border-color] duration-[var(--poyraz-motion-duration-fast)]\",\n  {\n    variants: {\n      surface: {\n        solid: \"border-border bg-background shadow-lg\",\n        soft: \"border-border/80 bg-surface-subtle shadow-md\",\n        glass:\n          \"border-glass-border-outer bg-glass shadow-lg backdrop-blur-glass supports-[backdrop-filter]:bg-glass\",\n      },\n      radius: {\n        none: \"rounded-none\",\n        sm: \"rounded-sm\",\n        md: \"rounded-md\",\n        lg: \"rounded-lg\",\n        xl: \"rounded-xl\",\n      },\n    },\n    defaultVariants: { surface: \"solid\", radius: \"lg\" },\n  },\n);\n\nconst floatingMotion = [\n  \"origin-[var(--poyraz-floating-transform-origin)]\",\n  \"data-[state=open]:animate-poyraz-floating-in data-[state=closed]:animate-poyraz-floating-out\",\n].join(\" \");\n\nconst controlMotion =\n  \"transition-[color,background-color,border-color,opacity,transform] duration-[var(--poyraz-motion-duration-fast)] ease-[var(--poyraz-motion-ease-out)] active:scale-[var(--poyraz-motion-scale-press-medium)] motion-reduce:transition-none motion-reduce:active:scale-100\";\n\nconst iconMotion =\n  \"transition-[color,opacity] duration-[var(--poyraz-motion-duration-fast)] ease-[var(--poyraz-motion-ease-out)] motion-reduce:transition-none\";\n\nconst accordionMotion =\n  \"data-[state=open]:animate-poyraz-accordion-down data-[state=closed]:animate-poyraz-accordion-up\";\n\nconst toastMotion =\n  \"poyraz-toast-motion data-[swiping=true]:transition-none data-[swiped=true]:transition-none motion-reduce:transition-none\";\n\nconst floatingItemVariants = cva(\n  \"relative flex w-full select-none items-center outline-none transition-[color,background-color,transform] duration-[var(--poyraz-motion-duration-fast)] ease-[var(--poyraz-motion-ease-out)] data-[disabled]:pointer-events-none data-[disabled]:opacity-45 focus:bg-accent focus:text-accent-foreground data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground\",\n  {\n    variants: {\n      size: {\n        sm: \"min-h-8 gap-2 px-2 py-1 text-xs\",\n        md: \"min-h-9 gap-2.5 px-2.5 py-1.5 text-sm\",\n        lg: \"min-h-11 gap-3 px-3 py-2 text-sm\",\n      },\n      radius: {\n        none: \"rounded-none\",\n        sm: \"rounded-sm\",\n        md: \"rounded-md\",\n        lg: \"rounded-lg\",\n      },\n      inset: { true: \"pl-8\", false: null },\n      interactiveMotion: { none: null, shift: null },\n    },\n    defaultVariants: {\n      size: \"md\",\n      radius: \"md\",\n      inset: false,\n      interactiveMotion: \"shift\",\n    },\n  },\n);\n\nconst overlayVariants = cva(\n  \"fixed inset-0 z-50 backdrop-blur-[var(--poyraz-overlay-blur,6px)] data-[state=open]:animate-poyraz-overlay-in data-[state=closed]:animate-poyraz-overlay-out\",\n  {\n    variants: {\n      tone: {\n        dim: \"bg-overlay\",\n        soft: \"bg-overlay/80\",\n        glass: \"bg-overlay-light/80 backdrop-saturate-150\",\n      },\n    },\n    defaultVariants: { tone: \"dim\" },\n  },\n);\n\nconst overlaySurfaceVariants = cva(\"border text-foreground outline-none\", {\n  variants: {\n    surface: {\n      solid: \"border-border bg-background shadow-xl\",\n      soft: \"border-border/80 bg-surface-subtle shadow-xl\",\n      glass:\n        \"border-glass-border-outer bg-glass shadow-xl backdrop-blur-glass supports-[backdrop-filter]:bg-glass\",\n    },\n    radius: {\n      none: \"rounded-none\",\n      sm: \"rounded-sm\",\n      md: \"rounded-md\",\n      lg: \"rounded-lg\",\n      xl: \"rounded-xl\",\n    },\n  },\n  defaultVariants: { surface: \"solid\", radius: \"xl\" },\n});\n\ntype FloatingSurfaceProps = VariantProps<typeof floatingSurfaceVariants>;\ntype FloatingItemProps = VariantProps<typeof floatingItemVariants>;\ntype OverlayProps = VariantProps<typeof overlayVariants>;\ntype OverlaySurfaceProps = VariantProps<typeof overlaySurfaceVariants>;\n\nexport {\n  fieldVariants,\n  floatingSurfaceVariants,\n  floatingMotion,\n  controlMotion,\n  iconMotion,\n  accordionMotion,\n  toastMotion,\n  floatingItemVariants,\n  overlayVariants,\n  overlaySurfaceVariants,\n};\nexport type { FloatingSurfaceProps, FloatingItemProps, OverlayProps, OverlaySurfaceProps };\n",
      "type": "registry:ui",
      "target": "@ui/recipes.ts"
    }
  ],
  "meta": {
    "category": "phase-5-foundation",
    "phase": "beta"
  },
  "type": "registry:ui"
}