koval-ui
Version:
React components collection with minimalistic design. Supports theming, layout, and input validation.
1 lines • 2.7 kB
Source Map (JSON)
{"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"}