import { CardProps, CardHeaderProps, CardBodyProps, CardFooterProps } from "@chakra-ui/react"; /** Mirrors Chakra Card's own variant strings — forwarded to the underlying Card unchanged. */ export type ProfileCardVariant = "elevated" | "outline" | "filled" | "unstyled"; /** @deprecated Misspelling kept for existing callers — use "outline". */ export type ProfileCardVariantLegacy = "outlein"; /** borderTopColor/borderLeftColor are booleans toggling a fixed accent border color, not custom-color props; borderLeftColor wins if both are true. */ export type ProfileCardProps = Pick & { /** Only ProfileCardHeader/Body/Footer children render, matched by type through nested Fragments; any other sibling is dropped. */ children: React.ReactNode; /** Chakra Card variant; "outlein" is mapped to "outline". */ variant?: ProfileCardVariant | ProfileCardVariantLegacy; /** Padding scale of header, body and footer. */ size?: "sm" | "md" | "lg"; /** @deprecated No visual effect: forwarded as colorScheme, which the Card styles never read. */ color?: "whiteAlpha" | "blackAlpha" | "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink"; /** CSS colour of the rule under the header, drawn only with a header slot. */ dividercolor?: string; /** Thickness of the header rule; defaults to "1px". */ dividersize?: string; /** Border style of the header rule; defaults to "solid". */ dividervariant?: "solid" | "dashed" | "dotted" | "double" | "groove" | "ridge" | "inset" | "outset"; /** Inline style on the card root; an accent border replaces its own borderTop/borderLeft. */ CardStyle?: React.CSSProperties; /** Applied as the header's sx; an `sx` on ProfileCardHeader replaces it entirely. */ CardHeaderStyle?: React.CSSProperties; /** Applied as the body's sx; an `sx` on ProfileCardBody replaces it entirely. */ CardBodyStyle?: React.CSSProperties; /** True draws a 2px brand-primary border along the top. */ borderTopColor?: boolean; /** True draws a 2px brand-primary border down the left; wins over borderTopColor. */ borderLeftColor?: boolean; }; /** Chakra style props (padding, borderBottom, gap, sx, ...) spread onto the rendered CardHeader; omit to keep theme/CardHeaderStyle defaults. */ export type ProfileCardHeaderSlotProps = CardHeaderProps; /** Chakra style props (padding, gap, sx, ...) spread onto the rendered CardBody; omit to keep theme/CardBodyStyle defaults. */ export type ProfileCardBodySlotProps = CardBodyProps; /** Chakra style props (padding, gap, sx, ...) spread onto the rendered CardFooter; omit to keep theme defaults. */ export type ProfileCardFooterSlotProps = CardFooterProps;