UNPKG

@chakra-ui/layout

Version:

Chakra UI layout components that give you massive speed

1 lines 2.88 kB
{"version":3,"sources":["../src/link-box.tsx"],"sourcesContent":["import { chakra, forwardRef, HTMLChakraProps } from \"@chakra-ui/system\"\nimport { cx } from \"@chakra-ui/shared-utils\"\n\nexport interface LinkOverlayProps extends HTMLChakraProps<\"a\"> {\n /**\n * If `true`, the link will open in new tab\n *\n * @default false\n */\n isExternal?: boolean\n}\n\nexport const LinkOverlay = forwardRef<LinkOverlayProps, \"a\">(\n function LinkOverlay(props, ref) {\n const { isExternal, target, rel, className, ...rest } = props\n return (\n <chakra.a\n {...rest}\n ref={ref}\n className={cx(\"chakra-linkbox__overlay\", className)}\n rel={isExternal ? \"noopener noreferrer\" : rel}\n target={isExternal ? \"_blank\" : target}\n __css={{\n position: \"static\",\n \"&::before\": {\n content: \"''\",\n cursor: \"inherit\",\n display: \"block\",\n position: \"absolute\",\n top: 0,\n left: 0,\n zIndex: 0,\n width: \"100%\",\n height: \"100%\",\n },\n }}\n />\n )\n },\n)\n\nexport interface LinkBoxProps extends HTMLChakraProps<\"div\"> {}\n\n/**\n * `LinkBox` is used to wrap content areas within a link while ensuring semantic html\n *\n * @see Docs https://chakra-ui.com/docs/navigation/link-overlay\n * @see Resources https://www.sarasoueidan.com/blog/nested-links\n */\nexport const LinkBox = forwardRef<LinkBoxProps, \"div\">(function LinkBox(\n props,\n ref,\n) {\n const { className, ...rest } = props\n\n return (\n <chakra.div\n ref={ref}\n position=\"relative\"\n {...rest}\n className={cx(\"chakra-linkbox\", className)}\n __css={{\n /* Elevate the links and abbreviations up */\n \"a[href]:not(.chakra-linkbox__overlay), abbr[title]\": {\n position: \"relative\",\n zIndex: 1,\n },\n }}\n />\n )\n})\n"],"mappings":";;;AAAA,SAAS,QAAQ,kBAAmC;AACpD,SAAS,UAAU;AAeb;AAJC,IAAM,cAAc;AAAA,EACzB,SAASA,aAAY,OAAO,KAAK;AAC/B,UAAM,EAAE,YAAY,QAAQ,KAAK,WAAW,GAAG,KAAK,IAAI;AACxD,WACE;AAAA,MAAC,OAAO;AAAA,MAAP;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA,WAAW,GAAG,2BAA2B,SAAS;AAAA,QAClD,KAAK,aAAa,wBAAwB;AAAA,QAC1C,QAAQ,aAAa,WAAW;AAAA,QAChC,OAAO;AAAA,UACL,UAAU;AAAA,UACV,aAAa;AAAA,YACX,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,UAAU;AAAA,YACV,KAAK;AAAA,YACL,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,QAAQ;AAAA,UACV;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAUO,IAAM,UAAU,WAAgC,SAASC,SAC9D,OACA,KACA;AACA,QAAM,EAAE,WAAW,GAAG,KAAK,IAAI;AAE/B,SACE;AAAA,IAAC,OAAO;AAAA,IAAP;AAAA,MACC;AAAA,MACA,UAAS;AAAA,MACR,GAAG;AAAA,MACJ,WAAW,GAAG,kBAAkB,SAAS;AAAA,MACzC,OAAO;AAAA;AAAA,QAEL,sDAAsD;AAAA,UACpD,UAAU;AAAA,UACV,QAAQ;AAAA,QACV;AAAA,MACF;AAAA;AAAA,EACF;AAEJ,CAAC;","names":["LinkOverlay","LinkBox"]}