{"version":3,"file":"index.tsx.cjs","sources":["../../../src/lib/kapwa/card/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@kapwa/utils';\n\ninterface CardProps extends React.HTMLAttributes<HTMLDivElement> {\n  children: React.ReactNode;\n  className?: string;\n  hoverable?: boolean;\n}\n\nconst Card = ({\n  children,\n  className,\n  hoverable = false,\n  ...props\n}: CardProps) => {\n  return (\n    <div\n      className={cn(\n        'overflow-hidden rounded-lg border border-[var(--color-kapwa-border-weak)] bg-[var(--color-kapwa-bg-surface)] shadow-xs',\n        hoverable &&\n          'transition-all duration-300 hover:shadow-md hover:-translate-y-1',\n        className\n      )}\n      role='article'\n      aria-label='Service card'\n      {...props}\n    >\n      {children}\n    </div>\n  );\n};\n\ninterface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n  children: React.ReactNode;\n  className?: string;\n}\n\nconst CardHeader = ({ children, className, ...props }: CardHeaderProps) => {\n  return (\n    <div\n      className={cn(\n        'border-b border-[var(--color-kapwa-border-weak)] p-4 md:p-6',\n        className\n      )}\n      role='heading'\n      aria-level={2}\n      {...props}\n    >\n      {children}\n    </div>\n  );\n};\n\ninterface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {\n  children: React.ReactNode;\n  className?: string;\n}\n\nconst CardContent = ({ children, className, ...props }: CardContentProps) => {\n  return (\n    <div\n      className={cn('p-4 md:p-6', className)}\n      role='region'\n      aria-label='Service details'\n      {...props}\n    >\n      {children}\n    </div>\n  );\n};\n\ninterface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {\n  children: React.ReactNode;\n  className?: string;\n}\n\nconst CardFooter = ({ children, className, ...props }: CardFooterProps) => {\n  return (\n    <div\n      className={cn(\n        'border-t border-[var(--color-kapwa-border-weak)] bg-[var(--color-kapwa-bg-surface-raised)] p-4 md:p-6',\n        className\n      )}\n      {...props}\n    >\n      {children}\n    </div>\n  );\n};\n\ninterface CardImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n  className?: string;\n}\n\nconst CardImage = ({ className, ...props }: CardImageProps) => {\n  return (\n    <div className='relative w-full h-48 overflow-hidden'>\n      <img\n        className={cn('w-full h-full object-cover', className)}\n        {...props}\n        alt={props.alt || 'Card image'}\n      />\n    </div>\n  );\n};\n\nexport { Card, CardHeader, CardContent, CardFooter, CardImage };\n"],"names":["Card","children","className","hoverable","props","jsx","cn","CardHeader","CardContent","CardFooter","CardImage"],"mappings":"wKASMA,EAAO,CAAC,CACZ,SAAAC,EACA,UAAAC,EACA,UAAAC,EAAY,GACZ,GAAGC,CACL,IAEIC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,yHACAH,GACE,mEACFD,CAAA,EAEF,KAAK,UACL,aAAW,eACV,GAAGE,EAEH,SAAAH,CAAA,CAAA,EAUDM,EAAa,CAAC,CAAE,SAAAN,EAAU,UAAAC,EAAW,GAAGE,KAE1CC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,8DACAJ,CAAA,EAEF,KAAK,UACL,aAAY,EACX,GAAGE,EAEH,SAAAH,CAAA,CAAA,EAUDO,EAAc,CAAC,CAAE,SAAAP,EAAU,UAAAC,EAAW,GAAGE,KAE3CC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,aAAcJ,CAAS,EACrC,KAAK,SACL,aAAW,kBACV,GAAGE,EAEH,SAAAH,CAAA,CAAA,EAUDQ,EAAa,CAAC,CAAE,SAAAR,EAAU,UAAAC,EAAW,GAAGE,KAE1CC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,wGACAJ,CAAA,EAED,GAAGE,EAEH,SAAAH,CAAA,CAAA,EASDS,EAAY,CAAC,CAAE,UAAAR,EAAW,GAAGE,KAE/BC,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,uCACb,SAAAA,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,6BAA8BJ,CAAS,EACpD,GAAGE,EACJ,IAAKA,EAAM,KAAO,YAAA,CAAA,EAEtB"}