import type { VariantProps } from "class-variance-authority"
import { cva } from "class-variance-authority"

export { default as HoverableImage } from "./HoverableImage.vue"

export const imageVariants = cva(
    "relative group cursor-pointer overflow-hidden rounded-lg",
    {
        variants: {
            variant: {
                default: "border border-border",
                rounded: "rounded-full overflow-hidden",
                elevated: "shadow-lg hover:shadow-xl",
                minimal: "border-0",
            },
            size: {
                xsm: "max-w-40",
                sm: "max-w-xs",
                md: "max-w-md",
                lg: "max-w-lg",
                xl: "max-w-xl",
                full: "w-full",
            }
        },
        defaultVariants: {
            variant: "default",
            size: "md",
        },
    }
)

export type HoverableImageVariants = VariantProps<typeof imageVariants>
