@transkripid/flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS - Transkrip.id fork
1 lines • 3.97 kB
Source Map (JSON)
{"version":3,"file":"NavbarLink.mjs","sources":["../../../src/components/Navbar/NavbarLink.tsx"],"sourcesContent":["'use client';\n\nimport type { ComponentProps, ElementType, FC, MouseEvent } from 'react';\nimport { twMerge } from 'tailwind-merge';\nimport { mergeDeep } from '../../helpers/merge-deep';\nimport type { DeepPartial } from '../../types';\nimport type { FlowbiteBoolean } from '../Flowbite';\nimport { useNavbarContext } from './NavbarContext';\n\nexport interface FlowbiteNavbarLinkTheme {\n base: string;\n active: FlowbiteBoolean;\n disabled: FlowbiteBoolean;\n}\n\nexport interface NavbarLinkProps extends ComponentProps<'a'>, Record<string, unknown> {\n active?: boolean;\n as?: ElementType;\n disabled?: boolean;\n href?: string;\n theme?: DeepPartial<FlowbiteNavbarLinkTheme>;\n}\n\nexport const NavbarLink: FC<NavbarLinkProps> = ({\n active,\n as: Component = 'a',\n disabled,\n children,\n className,\n theme: customTheme = {},\n onClick,\n ...props\n}) => {\n const { theme: rootTheme, setIsOpen } = useNavbarContext();\n\n const theme = mergeDeep(rootTheme.link, customTheme);\n\n const handleClick = (event: MouseEvent<HTMLAnchorElement>) => {\n setIsOpen(false);\n onClick?.(event);\n };\n\n return (\n <li>\n <Component\n className={twMerge(\n theme.base,\n active && theme.active.on,\n !active && !disabled && theme.active.off,\n theme.disabled[disabled ? 'on' : 'off'],\n className,\n )}\n onClick={handleClick}\n {...props}\n >\n {children}\n </Component>\n </li>\n );\n};\n"],"names":["NavbarLink","t0","$","_c","active","children","className","disabled","onClick","props","t1","t2","as","theme","Component","undefined","t3","customTheme","rootTheme","setIsOpen","useNavbarContext","T0","handleClick","t4","link","mergeDeep","t5","event","twMerge","base","on","off","jsx"],"mappings":";;;;;AAuBO,MAAMA,IAAkCC,CAAAA,MAAA;AAAAC,QAAAA,IAAAC,EAAA,EAAA;AAAAC,MAAAA,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AAAAT,EAAAA,SAAAD,KAAC;AAAA,IAAAG,QAAAA;AAAAA,IAAAQ,IAAAF;AAAAA,IAAAH,UAAAA;AAAAA,IAAAF,UAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAO,OAAAF;AAAAA,IAAAH,SAAAA;AAAAA,IAAA,GAAAC;AAAAA,EAAAR,IAAAA,GAS/CC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,GAAAN,OAAAO,GAAAP,OAAAQ,GAAAR,OAAAS,MAAAP,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA,GAAAM,IAAAN,EAAA,CAAA,GAAAO,IAAAP,EAAA,CAAA,GAAAQ,IAAAR,EAAA,CAAA,GAAAS,IAAAT,EAAA,CAAA;AAPKY,QAAAA,IAAAJ,MAAeK,SAAH,MAAZL;AAAeM,MAAAA;AAAAd,EAAAA,SAAAS,KAIZA,IAAAA,MAAgBI,cAAhBJ,GAAgBT,OAAAS,GAAAT,QAAAc,KAAAA,IAAAd,EAAA,EAAA;AAAhB,QAAAe,IAAAD,GAIP;AAAA,IAAAH,OAAAK;AAAAA,IAAAC,WAAAA;AAAAA,MAAwCC,EAAiB;AAAEC,MAAAA,GAAAC,GAAAC;AAAA,MAAArB,EAAA,EAAA,MAAAY,KAAAZ,EAAAE,EAAAA,MAAAA,KAAAF,EAAAI,EAAAA,MAAAA,KAAAJ,UAAAe,KAAAf,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAAM,KAAAN,EAAAgB,EAAAA,MAAAA,EAAAM,QAAAtB,UAAAiB,GAAA;AAE3D,UAAAN,IAAcY,EAAUP,EAASM,MAAOP,CAAW;AAAES,QAAAA;AAAA,IAAAxB,EAAAM,EAAAA,MAAAA,KAAAN,UAAAiB,KAEjCO,IAAAC,CAAAA,MAAA;AAClBR,MAAAA,IAAe,GACfX,KAAAA,QAAAA,EAAUmB;AAAAA,IAAK,GAChBzB,QAAAM,GAAAN,QAAAiB,GAAAjB,QAAAwB,KAAAA,IAAAxB,EAAA,EAAA,GAHmBwB,IAAAA,GAOfZ,IAAAA,GACYc,IAAAA,EACTf,EAAKgB,MACLzB,KAAUS,EAAKT,OAAA0B,IACf,CAAC1B,KAAM,CAAKG,KAAYM,EAAKT,OAAA2B,KAC7BlB,EAAKN,SAAUA,IAAW,OAAO,KAAK,GACtCD,CACF,GAACJ,QAAAY,GAAAZ,QAAAE,GAAAF,QAAAI,GAAAJ,QAAAe,GAAAf,QAAAK,GAAAL,QAAAM,GAAAN,EAAA,EAAA,IAAAgB,EAAAM,MAAAtB,QAAAiB,GAAAjB,QAAAmB,GAAAnB,QAAAoB,GAAApB,QAAAqB;AAAAA,EAAAA;AAAAF,IAAAA,IAAAnB,EAAA,EAAA,GAAAoB,IAAApB,EAAA,EAAA,GAAAqB,IAAArB,EAAA,EAAA;AAAAwB,MAAAA;AAAA,SAAAxB,EAAAmB,EAAAA,MAAAA,KAAAnB,EAAA,EAAA,MAAAG,KAAAH,EAAAoB,EAAAA,MAAAA,KAAApB,EAAA,EAAA,MAAAO,KAAAP,UAAAqB,KARLG,IAAA,gBAAAM,EAAA,MACE,EAAA,UAAA,gBAAAA,EAACX,GACY,EAAA,WAAAE,GAOFD,SAAWA,GAAA,GAChBb,GAEHJ,UAAAA,EAAAA,CACH,EACF,CAAA,GAAKH,QAAAmB,GAAAnB,QAAAG,GAAAH,QAAAoB,GAAApB,QAAAO,GAAAP,QAAAqB,GAAArB,QAAAwB,KAAAA,IAAAxB,EAAA,EAAA,GAdLwB;AAcK;"}