{"version":3,"file":"ImageCell.cjs","sources":["../../../../../../src/components/Table/TableNG/Cells/ImageCell.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport { useState } from 'react';\n\nimport { TableCellDisplayMode } from '../../types';\nimport { MaybeWrapWithLink } from '../components/MaybeWrapWithLink';\nimport { ImageCellProps, TableCellStyles } from '../types';\n\nexport const ImageCell = ({ cellOptions, field, value, rowIdx }: ImageCellProps) => {\n  const [error, setError] = useState(false);\n  const { text } = field.display!(value);\n  const { alt, title } =\n    cellOptions.type === TableCellDisplayMode.Image ? cellOptions : { alt: undefined, title: undefined };\n\n  if (!text) {\n    return null;\n  }\n\n  return (\n    <MaybeWrapWithLink field={field} rowIdx={rowIdx}>\n      {error ? text : <img alt={alt} src={text} title={title} onError={() => setError(true)} />}\n    </MaybeWrapWithLink>\n  );\n};\n\nexport const getStyles: TableCellStyles = () =>\n  css({\n    '&, a, img': {\n      width: '100%',\n      height: '100%',\n    },\n    img: {\n      objectFit: 'contain',\n    },\n  });\n"],"names":["useState","TableCellDisplayMode","MaybeWrapWithLink","jsx","css"],"mappings":";;;;;;;;;;;;AAOO,MAAM,YAAY,CAAC,EAAE,aAAa,KAAA,EAAO,KAAA,EAAO,QAAO,KAAsB;AAClF,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,eAAS,KAAK,CAAA;AACxC,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,KAAA,CAAM,QAAS,KAAK,CAAA;AACrC,EAAA,MAAM,EAAE,GAAA,EAAK,KAAA,EAAM,GACjB,WAAA,CAAY,IAAA,KAASC,2BAAA,CAAqB,KAAA,GAAQ,WAAA,GAAc,EAAE,GAAA,EAAK,KAAA,CAAA,EAAW,OAAO,KAAA,CAAA,EAAU;AAErG,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,sCACGC,mCAAA,EAAA,EAAkB,KAAA,EAAc,MAAA,EAC9B,QAAA,EAAA,KAAA,GAAQ,uBAAOC,cAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,GAAA,EAAK,MAAM,KAAA,EAAc,OAAA,EAAS,MAAM,QAAA,CAAS,IAAI,GAAG,CAAA,EACzF,CAAA;AAEJ;AAEO,MAAM,SAAA,GAA6B,MACxCC,OAAA,CAAI;AAAA,EACF,WAAA,EAAa;AAAA,IACX,KAAA,EAAO,MAAA;AAAA,IACP,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,GAAA,EAAK;AAAA,IACH,SAAA,EAAW;AAAA;AAEf,CAAC;;;;;"}