{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "item",
  "registryDependencies": [
    "@fulldev/separator"
  ],
  "files": [
    {
      "path": "src/components/ui/item/item.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = VariantProps<typeof variants> &\n  HTMLAttributes<\"div\"> &\n  HTMLAttributes<\"a\">\n\nconst variants = cva(\n  \"[a]:hover:bg-muted group/item focus-visible:border-ring focus-visible:ring-ring/50 flex w-full flex-wrap items-center rounded-md border text-sm transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors\",\n  {\n    variants: {\n      variant: {\n        default: \"border-transparent\",\n        inset: \"border-transparent\",\n        outline: \"border-border\",\n        muted: \"bg-muted/50 border-transparent\",\n      },\n      size: {\n        default: \"gap-3.5 px-4 py-3.5\",\n        sm: \"gap-2.5 px-3 py-2.5\",\n        xs: \"gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0\",\n      },\n    },\n    compoundVariants: [\n      {\n        variant: \"inset\",\n        size: \"default\",\n        class: \"-mx-4\",\n      },\n      {\n        variant: \"inset\",\n        size: \"sm\",\n        class: \"-mx-3\",\n      },\n      {\n        variant: \"inset\",\n        size: \"xs\",\n        class: \"-mx-2.5\",\n      },\n    ],\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n    },\n  }\n)\n\nconst {\n  class: className,\n  variant = \"default\",\n  size = \"default\",\n  href,\n  ...props\n} = Astro.props\n\nconst Comp = href ? \"a\" : \"div\"\n---\n\n<Comp\n  data-slot=\"item\"\n  data-variant={variant}\n  data-size={size}\n  class={cn(variants({ variant, size }), className)}\n  href={href}\n  {...props}\n>\n  <slot />\n</Comp>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/item/item-actions.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"div\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<div\n  data-slot=\"item-actions\"\n  class={cn(\"flex items-center gap-2\", className)}\n  {...props}\n>\n  <slot />\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/item/item-content.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"div\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<div\n  data-slot=\"item-content\"\n  class={cn(\n    \"flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0\",\n    \"[&+[data-slot=item-content]]:flex-none\",\n    className\n  )}\n  {...props}\n>\n  <slot />\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/item/item-description.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"p\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<p\n  data-slot=\"item-description\"\n  class={cn(\n    \"text-muted-foreground [&>a:hover]:text-primary line-clamp-2 text-left text-sm leading-normal font-normal group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4\",\n    className\n  )}\n  {...props}\n>\n  <slot />\n</p>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/item/item-footer.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"div\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<div\n  data-slot=\"item-footer\"\n  class={cn(\"flex basis-full items-center justify-between gap-2\", className)}\n  {...props}\n>\n  <slot />\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/item/item-group.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"div\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<div\n  role=\"list\"\n  data-slot=\"item-group\"\n  class={cn(\n    \"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2\",\n    className\n  )}\n  {...props}\n>\n  <slot />\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/item/item-header.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"div\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<div\n  data-slot=\"item-header\"\n  class={cn(\"flex basis-full items-center justify-between gap-2\", className)}\n  {...props}\n>\n  <slot />\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/item/item-media.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst variants = cva(\n  \"flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none\",\n  {\n    variants: {\n      variant: {\n        default: \"bg-transparent\",\n        icon: \"[&_svg:not([class*='size-'])]:size-4\",\n        image:\n          \"size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n    },\n  }\n)\n\ntype Props = HTMLAttributes<\"div\"> & VariantProps<typeof variants>\n\nconst { class: className, variant, ...props } = Astro.props\n---\n\n<div\n  data-slot=\"item-media\"\n  data-variant={variant}\n  class={cn(variants({ variant }), className)}\n  {...props}\n>\n  <slot />\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/item/item-separator.astro",
      "content": "---\nimport type { ComponentProps } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Separator } from \"@/components/ui/separator\"\n\ntype Props = ComponentProps<typeof Separator>\n\nconst { class: className, ...props } = Astro.props\n---\n\n<Separator\n  data-slot=\"item-separator\"\n  orientation=\"horizontal\"\n  class={cn(\"my-2\", className)}\n  {...props}\n/>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/item/item-title.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"div\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<div\n  data-slot=\"item-title\"\n  class={cn(\n    \"line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4\",\n    className\n  )}\n  {...props}\n>\n  <slot />\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/item/index.ts",
      "content": "export { default as Item } from \"./item.astro\"\nexport { default as ItemActions } from \"./item-actions.astro\"\nexport { default as ItemContent } from \"./item-content.astro\"\nexport { default as ItemDescription } from \"./item-description.astro\"\nexport { default as ItemFooter } from \"./item-footer.astro\"\nexport { default as ItemGroup } from \"./item-group.astro\"\nexport { default as ItemHeader } from \"./item-header.astro\"\nexport { default as ItemMedia } from \"./item-media.astro\"\nexport { default as ItemSeparator } from \"./item-separator.astro\"\nexport { default as ItemTitle } from \"./item-title.astro\"\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}