Files
sharper.ly/apps/web/app/components/ui/Card/index.ts
2026-09-11 02:46:56 +02:00

72 lines
2.2 KiB
TypeScript

/* ============================================================================
CARD - Figma frame 25:809
----------------------------------------------------------------------------
Five card types that share one surface, one link mechanism and one icon
strategy. Import the namespace for readable markup:
import { Card } from "~/components/ui/Card";
<Card.Content … /> <Card.Team … /> <Card.Horizontal … />
<Card.Stat … /> <Card.CTA … />
or the components directly when you want the narrowest import:
import { CardStat } from "~/components/ui/Card";
Every card is correct on both surfaces without a prop: colour comes only
from tier-2 roles, which [data-surface="dark"] and [data-surface="light"]
re-point. See CardShell.tsx for the styling rules this directory follows.
========================================================================= */
export { CardContent } from "./CardContent";
export { CardTeam } from "./CardTeam";
export { CardHorizontal } from "./CardHorizontal";
export { CardStat } from "./CardStat";
export { CardCTA } from "./CardCTA";
export {
CardShell,
CardMedia,
CardIcon,
CardLink,
CardEyebrow,
CardActionHint,
} from "./CardShell";
export type { CardContentProps } from "./CardContent";
export type {
CardTeamProps,
CardTeamSocial,
CardTeamSocialKind,
} from "./CardTeam";
export type { CardHorizontalProps } from "./CardHorizontal";
export type { CardStatProps, CardStatTrend } from "./CardStat";
export type { CardCTAProps, CardCTAAction } from "./CardCTA";
export type {
CardShellProps,
CardMediaProps,
CardIconProps,
CardLinkProps,
} from "./CardShell";
export type {
CardElement,
CardIconName,
CardImage,
CardLinkTarget,
CardTitleElement,
} from "./types";
import { CardContent } from "./CardContent";
import { CardTeam } from "./CardTeam";
import { CardHorizontal } from "./CardHorizontal";
import { CardStat } from "./CardStat";
import { CardCTA } from "./CardCTA";
/** The card family, namespaced: Card.Content, Card.Team, Card.Horizontal, Card.Stat, Card.CTA. */
export const Card = {
Content: CardContent,
Team: CardTeam,
Horizontal: CardHorizontal,
Stat: CardStat,
CTA: CardCTA,
} as const;