{"version":3,"file":"NavLink.cjs","sources":["../../../../src/components/nav-link/NavLink.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport type { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ArrowRightIcon } from \"../icon/icons/ArrowRightIcon.js\";\nimport { ArrowLeftIcon } from \"../icon/index.js\";\nimport type { NavLinkProps } from \"./types.js\";\n\ntype LinkComponent = <ElementType extends React.ElementType = \"a\">(\n    props: NavLinkProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const NavLink = React.forwardRef(function NavLink<\n    ElementType extends React.ElementType = \"a\",\n>(props: NavLinkProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n    const {\n        active = false,\n        back = false,\n        className,\n        children,\n        as = \"a\",\n        ...rest\n    } = props;\n    const Component = as;\n\n    return (\n        <Component\n            ref={ref}\n            className={clsx(\n                \"jkl-nav-link\",\n                {\n                    \"jkl-nav-link--active\": active,\n                    \"jkl-nav-link--back\": back,\n                },\n                className,\n            )}\n            {...rest}\n        >\n            {back && (\n                <ArrowLeftIcon variant=\"small\" className=\"jkl-nav-link__icon\" />\n            )}\n            {children}\n            {!back && (\n                <ArrowRightIcon\n                    variant=\"small\"\n                    className=\"jkl-nav-link__icon\"\n                />\n            )}\n        </Component>\n    );\n}) as LinkComponent;\n"],"names":["NavLink","React","forwardRef","props","ref","active","back","className","children","as","rest","Component","jsxs","clsx","jsx","ArrowLeftIcon","variant","ArrowRightIcon"],"mappings":"orDAWO,MAAMA,EAAUC,EAAMC,WAAW,SAEtCC,EAAkCC,GAChC,MACIC,OAAAA,GAAS,EACTC,KAAAA,GAAO,EACPC,UAAAA,EACAC,SAAAA,EACAC,GAAAA,EAAK,OACFC,GACHP,EACEQ,EAAYF,EAElB,OACIG,EAAAA,KAACD,EAAA,CACGP,IAAAA,EACAG,UAAWM,EAAAA,KACP,eACA,CACI,uBAAwBR,EACxB,qBAAsBC,GAE1BC,MAEAG,EAEHF,SAAA,CAAAF,GACGQ,EAAAA,IAACC,gBAAA,CAAcC,QAAQ,QAAQT,UAAU,uBAE5CC,GACCF,GACEQ,EAAAA,IAACG,EAAAA,eAAA,CACGD,QAAQ,QACRT,UAAU,yBAK9B"}