{"version":3,"file":"Tile.mjs","sources":["../../src/tile/Tile.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Body from '../body';\nimport { Size, Typography } from '../common';\nimport Title from '../title';\n\nexport interface TileProps {\n  /** Classes to apply to the Tile container */\n  /** A label for the accordion item, used for accessibility purposes. */\n  'aria-label'?: string;\n  className?: string;\n  description?: React.ReactNode;\n  disabled?: boolean;\n  href?: string;\n  target?: React.HTMLAttributeAnchorTarget;\n  /** Accepts only Avatar and images */\n  media: React.ReactNode;\n  /** Function called onClick or onKeyDown */\n  onClick?: (event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n  /** The size applied to Tile */\n  size?: `${Size.SMALL | Size.MEDIUM}`;\n  title: React.ReactNode;\n}\n\nexport default function Tile({\n  'aria-label': ariaLabel,\n  className,\n  description,\n  disabled,\n  href,\n  target,\n  media,\n  onClick,\n  size = 'md',\n  title,\n}: TileProps) {\n  const isSmall = size === 'sm';\n  const Element = href ? 'a' : 'button';\n\n  return (\n    <Element\n      className={clsx(\n        'decision',\n        'flex-column',\n        'np-tile',\n        'text-no-decoration',\n        'text-xs-center',\n        className,\n        {\n          'p-a-3': !isSmall,\n          'p-a-2 np-tile--small': isSmall,\n        },\n        disabled && 'disabled',\n      )}\n      href={href}\n      target={target}\n      aria-label={ariaLabel}\n      onClick={disabled ? undefined : onClick}\n      onKeyDown={\n        disabled\n          ? undefined\n          : ({ key }) => {\n              if (key === 'Enter' || key === ' ') {\n                onClick?.();\n              }\n            }\n      }\n    >\n      <div className=\"np-tile__media d-flex justify-content-center\">{media}</div>\n      <Title type={Typography.TITLE_SUBSECTION} className={clsx(isSmall ? 'm-t-1' : 'm-t-2')}>\n        {title}\n      </Title>\n      {description ? (\n        <Body as=\"span\" type={Typography.BODY_DEFAULT} className=\"m-t-1\">\n          {description}\n        </Body>\n      ) : null}\n    </Element>\n  );\n}\n"],"names":["Tile","ariaLabel","className","description","disabled","href","target","media","onClick","size","title","isSmall","Element","_jsxs","clsx","undefined","onKeyDown","key","children","_jsx","Title","type","Typography","TITLE_SUBSECTION","Body","as","BODY_DEFAULT"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBc,SAAUA,IAAIA,CAAC;AAC3B,EAAA,YAAY,EAAEC,SAAS;EACvBC,SAAS;EACTC,WAAW;EACXC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,KAAK;EACLC,OAAO;AACPC,EAAAA,IAAI,GAAG,IAAI;AACXC,EAAAA;AAAK,CACK,EAAA;AACV,EAAA,MAAMC,OAAO,GAAGF,IAAI,KAAK,IAAI;AAC7B,EAAA,MAAMG,OAAO,GAAGP,IAAI,GAAG,GAAG,GAAG,QAAQ;EAErC,oBACEQ,IAAA,CAACD,OAAO,EAAA;AACNV,IAAAA,SAAS,EAAEY,IAAI,CACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChBZ,SAAS,EACT;MACE,OAAO,EAAE,CAACS,OAAO;AACjB,MAAA,sBAAsB,EAAEA;AACzB,KAAA,EACDP,QAAQ,IAAI,UAAU,CACtB;AACFC,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACf,IAAA,YAAA,EAAYL,SAAU;AACtBO,IAAAA,OAAO,EAAEJ,QAAQ,GAAGW,SAAS,GAAGP,OAAQ;AACxCQ,IAAAA,SAAS,EACPZ,QAAQ,GACJW,SAAS,GACT,CAAC;AAAEE,MAAAA;AAAG,KAAE,KAAI;AACV,MAAA,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,GAAG,EAAE;AAClCT,QAAAA,OAAO,IAAI;AACb,MAAA;IACF,CACL;AAAAU,IAAAA,QAAA,gBAEDC,GAAA,CAAA,KAAA,EAAA;AAAKjB,MAAAA,SAAS,EAAC,8CAA8C;AAAAgB,MAAAA,QAAA,EAAEX;AAAK,KAAM,CAC1E,eAAAY,GAAA,CAACC,KAAK,EAAA;MAACC,IAAI,EAAEC,UAAU,CAACC,gBAAiB;MAACrB,SAAS,EAAEY,IAAI,CAACH,OAAO,GAAG,OAAO,GAAG,OAAO,CAAE;AAAAO,MAAAA,QAAA,EACpFR;AAAK,KACD,CACP,EAACP,WAAW,gBACVgB,GAAA,CAACK,IAAI,EAAA;AAACC,MAAAA,EAAE,EAAC,MAAM;MAACJ,IAAI,EAAEC,UAAU,CAACI,YAAa;AAACxB,MAAAA,SAAS,EAAC,OAAO;AAAAgB,MAAAA,QAAA,EAC7Df;KACG,CAAC,GACL,IAAI;AAAA,GACD,CAAC;AAEd;;;;"}