{"version":3,"file":"index.tsx.cjs","sources":["../../../src/lib/kapwa/article/index.tsx"],"sourcesContent":["import { Card, CardImage, CardContent } from '@kapwa/card';\nimport { Button } from '@kapwa/button';\n\ntype ArticleCardItem = {\n  id: number;\n  image: string;\n  imageAlt: string;\n  category: string;\n  title: string;\n  description: string;\n  hasOverlay?: boolean;\n};\n\ntype ArticleContentSection = {\n  id: number;\n  type: 'heading' | 'paragraph';\n  level?: 1 | 2 | 3;\n  content: string;\n};\n\nconst ArticleCard = ({ article }: { article: ArticleCardItem }) => {\n  return (\n    <Card>\n      {article.hasOverlay ? (\n        <div className='relative'>\n          <CardImage src={article.image} alt={article.imageAlt} />\n          <div className='absolute inset-0 bg-linear-to-t from-black/75 to-transparent flex items-end p-6'>\n            <div className='text-white'>\n              <span className='inline-block px-2 py-1 text-xs font-medium rounded-sm bg-white/20 mb-2'>\n                {article.category}\n              </span>\n              <h3 className='text-xl font-semibold mb-2'>{article.title}</h3>\n              <p className='text-white/80'>{article.description}</p>\n            </div>\n          </div>\n        </div>\n      ) : (\n        <>\n          <CardImage src={article.image} alt={article.imageAlt} />\n          <CardContent>\n            <span className='mb-2 inline-block rounded-sm bg-[var(--color-kapwa-bg-brand-weak)] px-2 py-1 text-xs font-medium text-[var(--color-kapwa-text-brand)]'>\n              {article.category}\n            </span>\n            <h3 className='text-xl font-semibold mb-2'>{article.title}</h3>\n            <p className='mb-4 text-[var(--color-kapwa-text-support)]'>\n              {article.description}\n            </p>\n            <Button variant='link'>Read More</Button>\n          </CardContent>\n        </>\n      )}\n    </Card>\n  );\n};\n\nconst ArticleContent = ({\n  articleContentTitle,\n  articleContent,\n}: {\n  articleContentTitle: string;\n  articleContent: ArticleContentSection[];\n}) => {\n  return (\n    <div>\n      <h3 className='font-medium mb-4'>{articleContentTitle}</h3>\n      <div className='prose max-w-none'>\n        {articleContent.map(section => {\n          if (section.type === 'heading') {\n            const HeadingTag =\n              `h${section.level}` as keyof JSX.IntrinsicElements;\n            const headingClass =\n              section.level === 1\n                ? 'text-3xl font-bold mb-4'\n                : section.level === 2\n                  ? 'text-2xl font-semibold mb-3'\n                  : 'text-xl font-semibold mb-2';\n            return (\n              <HeadingTag key={section.id} className={headingClass}>\n                {section.content}\n              </HeadingTag>\n            );\n          }\n          return (\n            <p\n              key={section.id}\n              className='mb-4 text-[var(--color-kapwa-text-support)]'\n            >\n              {section.content}\n            </p>\n          );\n        })}\n      </div>\n    </div>\n  );\n};\n\nexport { ArticleCard, ArticleContent };\nexport type { ArticleCardItem, ArticleContentSection };\n"],"names":["ArticleCard","article","Card","jsxs","jsx","CardImage","Fragment","CardContent","Button","ArticleContent","articleContentTitle","articleContent","section","HeadingTag","headingClass"],"mappings":"0MAoBMA,EAAc,CAAC,CAAE,QAAAC,6BAElBC,EAAAA,KAAA,CACE,SAAAD,EAAQ,WACPE,EAAAA,kBAAAA,KAAC,MAAA,CAAI,UAAU,WACb,SAAA,CAAAC,wBAACC,EAAAA,WAAU,IAAKJ,EAAQ,MAAO,IAAKA,EAAQ,SAAU,0BACrD,MAAA,CAAI,UAAU,kFACb,SAAAE,EAAAA,kBAAAA,KAAC,MAAA,CAAI,UAAU,aACb,SAAA,CAAAC,EAAAA,kBAAAA,IAAC,OAAA,CAAK,UAAU,yEACb,SAAAH,EAAQ,SACX,EACAG,EAAAA,kBAAAA,IAAC,KAAA,CAAG,UAAU,6BAA8B,WAAQ,MAAM,EAC1DA,EAAAA,kBAAAA,IAAC,IAAA,CAAE,UAAU,gBAAiB,WAAQ,WAAA,CAAY,CAAA,CAAA,CACpD,CAAA,CACF,CAAA,CAAA,CACF,EAEAD,EAAAA,kBAAAA,KAAAG,EAAAA,kBAAAA,SAAA,CACE,SAAA,CAAAF,wBAACC,EAAAA,WAAU,IAAKJ,EAAQ,MAAO,IAAKA,EAAQ,SAAU,2BACrDM,EAAAA,YAAA,CACC,SAAA,CAAAH,EAAAA,kBAAAA,IAAC,OAAA,CAAK,UAAU,wIACb,SAAAH,EAAQ,SACX,EACAG,EAAAA,kBAAAA,IAAC,KAAA,CAAG,UAAU,6BAA8B,WAAQ,MAAM,EAC1DA,EAAAA,kBAAAA,IAAC,IAAA,CAAE,UAAU,8CACV,WAAQ,YACX,EACAA,EAAAA,kBAAAA,IAACI,EAAAA,OAAA,CAAO,QAAQ,OAAO,SAAA,WAAA,CAAS,CAAA,CAAA,CAClC,CAAA,CAAA,CACF,CAAA,CAEJ,EAIEC,EAAiB,CAAC,CACtB,oBAAAC,EACA,eAAAC,CACF,6BAKK,MAAA,CACC,SAAA,CAAAP,EAAAA,kBAAAA,IAAC,KAAA,CAAG,UAAU,mBAAoB,SAAAM,EAAoB,0BACrD,MAAA,CAAI,UAAU,mBACZ,SAAAC,EAAe,IAAIC,GAAW,CAC7B,GAAIA,EAAQ,OAAS,UAAW,CAC9B,MAAMC,EACJ,IAAID,EAAQ,KAAK,GACbE,EACJF,EAAQ,QAAU,EACd,0BACAA,EAAQ,QAAU,EAChB,8BACA,6BACR,+BACGC,EAAA,CAA4B,UAAWC,EACrC,SAAAF,EAAQ,OAAA,EADMA,EAAQ,EAEzB,CAEJ,CACA,OACER,EAAAA,kBAAAA,IAAC,IAAA,CAEC,UAAU,8CAET,SAAAQ,EAAQ,OAAA,EAHJA,EAAQ,EAAA,CAMnB,CAAC,CAAA,CACH,CAAA,EACF"}