{"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,EAAA,WACnB,CACI,CACI,MAAAC,EACA,GAAIC,EAAY,IAChB,KAAAC,EACA,KAAMC,EACN,MAAAC,EAAQ,GACR,UAAAC,EACA,UAAAC,EACA,GAAGC,GAEPC,IAGIC,EAAA,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,CACvB,EACAD,CACJ,EACA,KAAAH,EACC,SAAA,CAAQC,GAAAS,EAAAA,IAAC,QAAM,SAACA,EAAAA,IAAAT,EAAA,CAAK,UAAWQ,EAAAA,QAAQ,YAAa,MAAAX,EAAc,CAAG,CAAA,EACtEY,EAAA,IAAA,OAAA,CAAK,UAAWD,EAAA,QAAQ,aAAe,SAAMX,CAAA,CAAA,CAAA,CAAA,CAClD,CAGZ,EAEAF,EAAQ,YAAc"}