import { forwardRef, type HTMLAttributes } from "react";
import { cx } from "../lib/cx";
export interface GlassCardProps extends HTMLAttributes {
/**
* `default` — static, sits at rest elevation.
* `interactive` — lifts on hover-capable devices, settles down 1px + shadow
* softens on press (not a full inward "pressed" look — that's reserved
* for `Button`; a card is a container you tap into, not a switch).
*/
variant?: "default" | "interactive";
}
/**
* Elevated Surface Card — the primary container of the design system.
*
* Low-transparency (not see-through glass): a solid-reading surface fill
* (~90% opaque) with a visible drop shadow for real elevation, plus a faint
* top-light/bottom-shadow bevel on the edge so it reads as raised off the
* page rather than flat or floating-glass.
*
* Structure (three stacked layers, all inside one rounded-3xl shell):
* 1. Base: subtle surface gradient (--surface-gradient) for texture.
* 2. Surface fill: ~90% opaque fill + 8px blur (softens whatever's behind
* it without reading as transparent) + masked bevel border.
* 3. Content: rendered above both, in normal flow.
*/
export const GlassCard = forwardRef(
({ variant = "default", className, children, ...props }, ref) => {
const interactive = variant === "interactive";
return (