{"version":3,"file":"PopoverPanel.mjs","names":["Flexbox"],"sources":["../../../../src/mdx/mdxComponents/Citation/PopoverPanel.tsx"],"sourcesContent":["'use client';\n\nimport { Popover } from 'antd';\nimport { ArrowRightIcon } from 'lucide-react';\nimport { type FC, type ReactNode, useMemo } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\n\nimport { styles } from './style';\n\ninterface PopoverPanelProps {\n  alt?: string;\n  children?: ReactNode;\n  title?: string;\n  url?: string;\n  usePopover?: boolean;\n}\n\nconst PopoverPanel: FC<PopoverPanelProps> = ({ children, usePopover, title, alt, url }) => {\n  const [displayTitle, domain, host] = useMemo(() => {\n    try {\n      const urlObj = new URL(url!);\n      const hostForUrl = urlObj.host;\n\n      let displayTitle = title;\n\n      if (title === url) {\n        displayTitle = '';\n      }\n\n      let domain = urlObj.hostname.replace('www.', '');\n      if (!displayTitle) domain = url!;\n\n      return [displayTitle, domain, hostForUrl];\n    } catch {\n      return [title, url, url];\n    }\n  }, [url, title]);\n\n  return usePopover && url ? (\n    <Popover\n      arrow={false}\n      trigger={'hover'}\n      content={\n        <Flexbox gap={8}>\n          <Flexbox\n            horizontal\n            className={styles.link}\n            gap={12}\n            justify={'space-between'}\n            onClick={() => {\n              window.open(url, '_blank');\n            }}\n          >\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                style={{ borderRadius: 4 }}\n                width={14}\n              />\n              <span className={styles.url}>{domain}</span>\n            </Flexbox>\n            <Icon icon={ArrowRightIcon} />\n          </Flexbox>\n          {displayTitle}\n        </Flexbox>\n      }\n    >\n      {children}\n    </Popover>\n  ) : (\n    children\n  );\n};\n\nPopoverPanel.displayName = 'MdxPopoverPanel';\n\nexport default PopoverPanel;\n"],"mappings":";;;;;;;;;AAmBA,MAAM,gBAAuC,EAAE,UAAU,YAAY,OAAO,KAAK,UAAU;CACzF,MAAM,CAAC,cAAc,QAAQ,QAAQ,cAAc;AACjD,MAAI;GACF,MAAM,SAAS,IAAI,IAAI,IAAK;GAC5B,MAAM,aAAa,OAAO;GAE1B,IAAI,eAAe;AAEnB,OAAI,UAAU,IACZ,gBAAe;GAGjB,IAAI,SAAS,OAAO,SAAS,QAAQ,QAAQ,GAAG;AAChD,OAAI,CAAC,aAAc,UAAS;AAE5B,UAAO;IAAC;IAAc;IAAQ;IAAW;UACnC;AACN,UAAO;IAAC;IAAO;IAAK;IAAI;;IAEzB,CAAC,KAAK,MAAM,CAAC;AAEhB,QAAO,cAAc,MACnB,oBAAC,SAAD;EACE,OAAO;EACP,SAAS;EACT,SACE,qBAACA,mBAAD;GAAS,KAAK;aAAd,CACE,qBAACA,mBAAD;IACE,YAAA;IACA,WAAW,OAAO;IAClB,KAAK;IACL,SAAS;IACT,eAAe;AACb,YAAO,KAAK,KAAK,SAAS;;cAN9B,CASE,qBAACA,mBAAD;KAAS,YAAA;KAAW,OAAO;KAAU,KAAK;eAA1C,CACE,oBAAC,OAAD;MACE,KAAK,OAAO,SAAS;MACrB,QAAQ;MACR,KAAK,oCAAoC,KAAK;MAC9C,OAAO,EAAE,cAAc,GAAG;MAC1B,OAAO;MACP,CAAA,EACF,oBAAC,QAAD;MAAM,WAAW,OAAO;gBAAM;MAAc,CAAA,CACpC;QACV,oBAAC,MAAD,EAAM,MAAM,gBAAkB,CAAA,CACtB;OACT,aACO;;EAGX;EACO,CAAA,GAEV;;AAIJ,aAAa,cAAc"}