{"version":3,"file":"NavLink.cjs","sources":["../../../../src/lib/Navigation/NavLink.tsx"],"sourcesContent":["import type {FC, ElementType, HTMLAttributes, AriaAttributes, ReactNode, ForwardedRef} from 'react';\nimport {forwardRef} from 'react';\nimport classNames from 'classnames';\n\nimport type {DataAttributes, LibraryProps} from '@/internal/LibraryAPI';\n\nimport classes from './Navigation.module.css';\n\nexport type Props = DataAttributes &\n    LibraryProps & {\n        title: string;\n        href: string;\n        as?: ElementType<\n            AriaAttributes &\n                DataAttributes & {\n                    href: string;\n                    className?: string;\n                    title?: string;\n                    children?: ReactNode;\n                    ref?: ForwardedRef<HTMLElement>;\n                } & unknown\n        >;\n        icon?: FC<HTMLAttributes<HTMLOrSVGElement> & unknown>;\n        shift?: boolean;\n        isCurrent?: boolean;\n    };\n\nexport const NavLink = forwardRef<HTMLElement, Props>(\n    (\n        {\n            title,\n            as: Component = 'a',\n            href,\n            icon: Icon,\n            shift = false,\n            className,\n            isCurrent,\n            ...nativeProps\n        },\n        ref\n    ) => {\n        return (\n            <Component\n                {...nativeProps}\n                ref={ref}\n                title={title}\n                className={classNames(\n                    classes.navLink,\n                    {\n                        [classes.shift]: shift,\n                        [classes.current]: isCurrent,\n                    },\n                    className\n                )}\n                href={href}>\n                {Icon && <span>{<Icon className={classes.navLinkIcon} title={title} />}</span>}\n                <span className={classes.navLinkTitle}>{title}</span>\n            </Component>\n        );\n    }\n);\n\nNavLink.displayName = 'NavLink';\n"],"names":["NavLink","forwardRef","title","Component","href","Icon","shift","className","isCurrent","nativeProps","ref","jsxs","classNames","classes","jsx"],"mappings":"sNA2BaA,EAAUC,EAAAA,WACnB,CACI,CACI,MAAAC,EACA,GAAIC,EAAY,IAChB,KAAAC,EACA,KAAMC,EACN,MAAAC,EAAQ,GACR,UAAAC,EACA,UAAAC,EACA,GAAGC,CAAA,EAEPC,IAGIC,EAAAA,KAACR,EAAA,CACI,GAAGM,EACJ,IAAAC,EACA,MAAAR,EACA,UAAWU,EACPC,EAAAA,QAAQ,QACR,CACI,CAACA,EAAAA,QAAQ,KAAK,EAAGP,EACjB,CAACO,EAAAA,QAAQ,OAAO,EAAGL,CAAA,EAEvBD,CAAA,EAEJ,KAAAH,EACC,SAAA,CAAAC,GAAQS,EAAAA,IAAC,QAAM,SAAAA,EAAAA,IAACT,EAAA,CAAK,UAAWQ,EAAAA,QAAQ,YAAa,MAAAX,EAAc,CAAA,CAAG,EACvEY,EAAAA,IAAC,OAAA,CAAK,UAAWD,EAAAA,QAAQ,aAAe,SAAAX,CAAA,CAAM,CAAA,CAAA,CAAA,CAI9D,EAEAF,EAAQ,YAAc"}