{"version":3,"file":"landingLink.mjs","names":[],"sources":["../../src/awesome/landingLink.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport interface LandingLinkProps {\n  children: ReactNode;\n  className?: string;\n  external?: boolean;\n  href: string;\n}\n\nexport type LandingLinkRender = (props: LandingLinkProps) => ReactNode;\n\nexport const isExternalHref = (href: string) => /^[a-z][\\d+.a-z-]*:/i.test(href);\n\nexport const renderLandingLink = (\n  renderLink: LandingLinkRender | undefined,\n  { external, href, ...props }: LandingLinkProps,\n): ReactNode => {\n  const isExternal = external ?? isExternalHref(href);\n  if (renderLink) return renderLink({ ...props, external: isExternal, href });\n\n  return (\n    <a href={href} {...(isExternal ? { rel: 'noreferrer', target: '_blank' } : {})} {...props} />\n  );\n};\n"],"mappings":";;AAWA,MAAa,kBAAkB,SAAiB,sBAAsB,KAAK,IAAI;AAE/E,MAAa,qBACX,YACA,EAAE,UAAU,MAAM,GAAG,YACP;CACd,MAAM,aAAa,YAAY,eAAe,IAAI;CAClD,IAAI,YAAY,OAAO,WAAW;EAAE,GAAG;EAAO,UAAU;EAAY;CAAK,CAAC;CAE1E,OACE,oBAAC,KAAD;EAAS;EAAM,GAAK,aAAa;GAAE,KAAK;GAAc,QAAQ;EAAS,IAAI,CAAC;EAAI,GAAI;CAAQ,CAAA;AAEhG"}