{"$schema":"https:\/\/ui.particle.academy\/schema\/registry-item.json","name":"card","type":"registry:ui","title":"Card","description":"Card from react-fancy","package":"react-fancy","dependencies":[],"registryDependencies":[],"files":[{"path":"components\/fancy\/card\/Card.tsx","content":"import { forwardRef } from \"react\";\r\nimport { cn } from \"..\/..\/utils\/cn\";\r\nimport { CardHeader } from \".\/CardHeader\";\r\nimport { CardBody } from \".\/CardBody\";\r\nimport { CardFooter } from \".\/CardFooter\";\r\nimport type { CardProps } from \".\/Card.types\";\r\n\r\nconst variantClasses: Record<NonNullable<CardProps[\"variant\"]>, string> = {\r\n  outlined: \"border border-zinc-200 dark:border-zinc-700\",\r\n  elevated: \"shadow-md border border-zinc-100 dark:border-zinc-800\",\r\n  flat: \"bg-zinc-50 dark:bg-zinc-800\/50\",\r\n};\r\n\r\nconst paddingClasses: Record<NonNullable<CardProps[\"padding\"]>, string> = {\r\n  none: \"\",\r\n  sm: \"[&>div]:px-3 [&>div]:py-2\",\r\n  md: \"[&>div]:px-4 [&>div]:py-3\",\r\n  lg: \"[&>div]:px-6 [&>div]:py-4\",\r\n};\r\n\r\nconst CardRoot = forwardRef<HTMLDivElement, CardProps>(\r\n  (\r\n    {\r\n      variant = \"outlined\",\r\n      padding = \"md\",\r\n      className,\r\n      children,\r\n      ...props\r\n    },\r\n    ref,\r\n  ) => {\r\n    return (\r\n      <div\r\n        ref={ref}\r\n        data-react-fancy-card=\"\"\r\n        className={cn(\r\n          \"rounded-lg bg-white dark:bg-zinc-900\",\r\n          variantClasses[variant],\r\n          paddingClasses[padding],\r\n          className,\r\n        )}\r\n        {...props}\r\n      >\r\n        {children}\r\n      <\/div>\r\n    );\r\n  },\r\n);\r\n\r\nCardRoot.displayName = \"Card\";\r\n\r\nexport const Card = Object.assign(CardRoot, {\r\n  Header: CardHeader,\r\n  Body: CardBody,\r\n  Footer: CardFooter,\r\n});\r\n","type":"registry:ui","target":"components\/fancy\/card\/Card.tsx"},{"path":"components\/fancy\/card\/Card.types.ts","content":"import type { HTMLAttributes } from \"react\";\r\n\r\nexport interface CardProps extends HTMLAttributes<HTMLDivElement> {\r\n  variant?: \"outlined\" | \"elevated\" | \"flat\";\r\n  padding?: \"none\" | \"sm\" | \"md\" | \"lg\";\r\n}\r\n\r\nexport interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport interface CardBodyProps extends HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport interface CardFooterProps extends HTMLAttributes<HTMLDivElement> {}\r\n","type":"registry:ui","target":"components\/fancy\/card\/Card.types.ts"},{"path":"components\/fancy\/card\/CardBody.tsx","content":"import { forwardRef } from \"react\";\r\nimport { cn } from \"..\/..\/utils\/cn\";\r\nimport type { CardBodyProps } from \".\/Card.types\";\r\n\r\nexport const CardBody = forwardRef<HTMLDivElement, CardBodyProps>(\r\n  ({ className, children, ...props }, ref) => {\r\n    return (\r\n      <div\r\n        ref={ref}\r\n        data-react-fancy-card-body=\"\"\r\n        className={cn(className)}\r\n        {...props}\r\n      >\r\n        {children}\r\n      <\/div>\r\n    );\r\n  },\r\n);\r\n\r\nCardBody.displayName = \"CardBody\";\r\n","type":"registry:ui","target":"components\/fancy\/card\/CardBody.tsx"},{"path":"components\/fancy\/card\/CardFooter.tsx","content":"import { forwardRef } from \"react\";\r\nimport { cn } from \"..\/..\/utils\/cn\";\r\nimport type { CardFooterProps } from \".\/Card.types\";\r\n\r\nexport const CardFooter = forwardRef<HTMLDivElement, CardFooterProps>(\r\n  ({ className, children, ...props }, ref) => {\r\n    return (\r\n      <div\r\n        ref={ref}\r\n        data-react-fancy-card-footer=\"\"\r\n        className={cn(\r\n          \"border-t border-zinc-200 dark:border-zinc-700\",\r\n          className,\r\n        )}\r\n        {...props}\r\n      >\r\n        {children}\r\n      <\/div>\r\n    );\r\n  },\r\n);\r\n\r\nCardFooter.displayName = \"CardFooter\";\r\n","type":"registry:ui","target":"components\/fancy\/card\/CardFooter.tsx"},{"path":"components\/fancy\/card\/CardHeader.tsx","content":"import { forwardRef } from \"react\";\r\nimport { cn } from \"..\/..\/utils\/cn\";\r\nimport type { CardHeaderProps } from \".\/Card.types\";\r\n\r\nexport const CardHeader = forwardRef<HTMLDivElement, CardHeaderProps>(\r\n  ({ className, children, ...props }, ref) => {\r\n    return (\r\n      <div\r\n        ref={ref}\r\n        data-react-fancy-card-header=\"\"\r\n        className={cn(\r\n          \"border-b border-zinc-200 dark:border-zinc-700\",\r\n          className,\r\n        )}\r\n        {...props}\r\n      >\r\n        {children}\r\n      <\/div>\r\n    );\r\n  },\r\n);\r\n\r\nCardHeader.displayName = \"CardHeader\";\r\n","type":"registry:ui","target":"components\/fancy\/card\/CardHeader.tsx"},{"path":"components\/fancy\/card\/index.ts","content":"export { Card } from \".\/Card\";\r\nexport { CardHeader } from \".\/CardHeader\";\r\nexport { CardBody } from \".\/CardBody\";\r\nexport { CardFooter } from \".\/CardFooter\";\r\nexport type {\r\n  CardProps,\r\n  CardHeaderProps,\r\n  CardBodyProps,\r\n  CardFooterProps,\r\n} from \".\/Card.types\";\r\n","type":"registry:ui","target":"components\/fancy\/card\/index.ts"}]}