{"version":3,"sources":["../../../src/components/layout/Tile.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport Image from 'next/image'\nimport clsx from 'clsx'\n\nexport type TileProps = {\n  title: { value: string, className?: string },\n  description?: { value: string, className?: string },\n  prefix?: ReactNode,\n  suffix?: ReactNode,\n  className?: string,\n}\n\n/**\n * A component for creating a tile similar to the flutter ListTile\n */\nexport const Tile = ({\n  title,\n  description,\n  prefix,\n  suffix,\n  className\n}: TileProps) => {\n  return (\n    <div className={clsx('row gap-x-4 w-full items-center', className)}>\n      {prefix}\n      <div className=\"col w-full\">\n        <span className={clsx(title.className)}>{title.value}</span>\n        {!!description &&\n          <span className={clsx(description.className ?? 'textstyle-description')}>{description.value}</span>}\n      </div>\n      {suffix}\n    </div>\n  )\n}\n\ntype ImageLocation = 'prefix' | 'suffix'\ntype ImageSize = {\n  width: number,\n  height: number,\n}\n\nexport type TileWithImageProps = Omit<TileProps, 'suffix' | 'prefix'> & {\n  url: string,\n  imageLocation?: ImageLocation,\n  imageSize?: ImageSize,\n  imageClassName?: string,\n}\n\n/**\n * A Tile with an image as prefix or suffix\n */\nexport const TileWithImage = ({\n  url,\n  imageLocation = 'prefix',\n  imageSize = { width: 24, height: 24 },\n  imageClassName = '',\n  ...tileProps\n}: TileWithImageProps) => {\n  const image = <Image src={url} alt=\"\" {...imageSize} className={clsx(imageClassName)}/>\n  return (\n    <Tile\n      {...tileProps}\n      prefix={imageLocation === 'prefix' ? image : undefined}\n      suffix={imageLocation === 'suffix' ? image : undefined}\n    />\n  )\n}\n"],"mappings":";AACA,OAAO,WAAW;AAClB,OAAO,UAAU;AAuBX,SACE,KADF;AAVC,IAAM,OAAO,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAiB;AACf,SACE,qBAAC,SAAI,WAAW,KAAK,mCAAmC,SAAS,GAC9D;AAAA;AAAA,IACD,qBAAC,SAAI,WAAU,cACb;AAAA,0BAAC,UAAK,WAAW,KAAK,MAAM,SAAS,GAAI,gBAAM,OAAM;AAAA,MACpD,CAAC,CAAC,eACD,oBAAC,UAAK,WAAW,KAAK,YAAY,aAAa,uBAAuB,GAAI,sBAAY,OAAM;AAAA,OAChG;AAAA,IACC;AAAA,KACH;AAEJ;AAkBO,IAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA,gBAAgB;AAAA,EAChB,YAAY,EAAE,OAAO,IAAI,QAAQ,GAAG;AAAA,EACpC,iBAAiB;AAAA,EACjB,GAAG;AACL,MAA0B;AACxB,QAAM,QAAQ,oBAAC,SAAM,KAAK,KAAK,KAAI,IAAI,GAAG,WAAW,WAAW,KAAK,cAAc,GAAE;AACrF,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,QAAQ,kBAAkB,WAAW,QAAQ;AAAA,MAC7C,QAAQ,kBAAkB,WAAW,QAAQ;AAAA;AAAA,EAC/C;AAEJ;","names":[]}