{"version":3,"file":"SearchResultCard.mjs","names":["Flexbox"],"sources":["../../../../src/Markdown/components/SearchResultCards/SearchResultCard.tsx"],"sourcesContent":["'use client';\n\nimport { memo, type Ref, useMemo } from 'react';\n\nimport A from '@/A';\nimport Block from '@/Block';\nimport { Flexbox } from '@/Flex';\nimport Img from '@/Img';\nimport Text from '@/Text';\nimport { type AProps } from '@/types';\n\nimport { styles } from './style';\n\nexport interface SearchResultCardProps extends AProps {\n  alt?: string;\n  ref?: Ref<HTMLAnchorElement>;\n  title?: string;\n  url: string;\n}\n\nconst SearchResultCard = memo<SearchResultCardProps>(({ ref, url, title, alt, ...rest }) => {\n  const [displayTitle, domain, host] = useMemo(() => {\n    try {\n      const urlObj = new URL(url);\n      const domain = urlObj.hostname.replace('www.', '');\n      const hostForUrl = urlObj.host;\n\n      let displayTitle = title;\n      if (title === url) {\n        displayTitle = hostForUrl + urlObj.pathname;\n      }\n\n      return [displayTitle, domain, hostForUrl];\n    } catch {\n      return [title, url, url];\n    }\n  }, [url, title]);\n\n  return (\n    <A href={url} ref={ref} rel=\"noreferrer\" target={'_blank'} {...rest}>\n      <Block\n        clickable\n        className={styles.container}\n        gap={2}\n        justify={'space-between'}\n        key={url}\n        paddingBlock={6}\n        paddingInline={8}\n        variant={'outlined'}\n      >\n        <Text ellipsis={{ rows: 2 }}>{displayTitle}</Text>\n        <Flexbox horizontal align={'center'} gap={4}>\n          <Img\n            alt={alt || title || url}\n            height={14}\n            src={`https://icons.duckduckgo.com/ip3/${host}.ico`}\n            width={14}\n          />\n          <Text ellipsis className={styles.url} type={'secondary'}>\n            {domain}\n          </Text>\n        </Flexbox>\n      </Block>\n    </A>\n  );\n});\n\nSearchResultCard.displayName = 'SearchResultCard';\n\nexport default SearchResultCard;\n"],"mappings":";;;;;;;;;;AAoBA,MAAM,mBAAmB,MAA6B,EAAE,KAAK,KAAK,OAAO,KAAK,GAAG,WAAW;CAC1F,MAAM,CAAC,cAAc,QAAQ,QAAQ,cAAc;AACjD,MAAI;GACF,MAAM,SAAS,IAAI,IAAI,IAAI;GAC3B,MAAM,SAAS,OAAO,SAAS,QAAQ,QAAQ,GAAG;GAClD,MAAM,aAAa,OAAO;GAE1B,IAAI,eAAe;AACnB,OAAI,UAAU,IACZ,gBAAe,aAAa,OAAO;AAGrC,UAAO;IAAC;IAAc;IAAQ;IAAW;UACnC;AACN,UAAO;IAAC;IAAO;IAAK;IAAI;;IAEzB,CAAC,KAAK,MAAM,CAAC;AAEhB,QACE,oBAAC,GAAD;EAAG,MAAM;EAAU;EAAK,KAAI;EAAa,QAAQ;EAAU,GAAI;YAC7D,qBAAC,OAAD;GACE,WAAA;GACA,WAAW,OAAO;GAClB,KAAK;GACL,SAAS;GAET,cAAc;GACd,eAAe;GACf,SAAS;aARX,CAUE,oBAAC,MAAD;IAAM,UAAU,EAAE,MAAM,GAAG;cAAG;IAAoB,CAAA,EAClD,qBAACA,mBAAD;IAAS,YAAA;IAAW,OAAO;IAAU,KAAK;cAA1C,CACE,oBAAC,KAAD;KACE,KAAK,OAAO,SAAS;KACrB,QAAQ;KACR,KAAK,oCAAoC,KAAK;KAC9C,OAAO;KACP,CAAA,EACF,oBAAC,MAAD;KAAM,UAAA;KAAS,WAAW,OAAO;KAAK,MAAM;eACzC;KACI,CAAA,CACC;MACJ;KAjBD,IAiBC;EACN,CAAA;EAEN;AAEF,iBAAiB,cAAc"}