UNPKG

@transkripid/flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS - Transkrip.id fork

1 lines 3.94 kB
{"version":3,"file":"AccordionTitle.mjs","sources":["../../../src/components/Accordion/AccordionTitle.tsx"],"sourcesContent":["'use client';\n\nimport type { ComponentProps, FC } from 'react';\nimport { twMerge } from 'tailwind-merge';\nimport { mergeDeep } from '../../helpers/merge-deep';\nimport { getTheme } from '../../theme-store';\nimport type { DeepPartial } from '../../types';\nimport type { FlowbiteBoolean, FlowbiteHeadingLevel } from '../Flowbite';\nimport { useAccordionContext } from './AccordionPanelContext';\n\nexport interface FlowbiteAccordionTitleTheme {\n arrow: {\n base: string;\n open: FlowbiteBoolean;\n };\n base: string;\n flush: FlowbiteBoolean;\n heading: string;\n open: FlowbiteBoolean;\n}\n\nexport interface AccordionTitleProps extends ComponentProps<'button'> {\n arrowIcon?: FC<ComponentProps<'svg'>>;\n as?: FlowbiteHeadingLevel;\n theme?: DeepPartial<FlowbiteAccordionTitleTheme>;\n}\n\nexport const AccordionTitle: FC<AccordionTitleProps> = ({\n as: Heading = 'h2',\n children,\n className,\n theme: customTheme = {},\n ...props\n}) => {\n const { arrowIcon: ArrowIcon, flush, isOpen, setOpen } = useAccordionContext();\n const onClick = () => typeof setOpen !== 'undefined' && setOpen();\n\n const theme = mergeDeep(getTheme().accordion.title, customTheme);\n\n return (\n <button\n className={twMerge(theme.base, theme.flush[flush ? 'on' : 'off'], theme.open[isOpen ? 'on' : 'off'], className)}\n onClick={onClick}\n type=\"button\"\n {...props}\n >\n <Heading className={theme.heading} data-testid=\"flowbite-accordion-heading\">\n {children}\n </Heading>\n {ArrowIcon && (\n <ArrowIcon\n aria-hidden\n className={twMerge(theme.arrow.base, theme.arrow.open[isOpen ? 'on' : 'off'])}\n data-testid=\"flowbite-accordion-arrow\"\n />\n )}\n </button>\n );\n};\n"],"names":["AccordionTitle","t0","$","_c","children","className","props","t1","t2","as","theme","Heading","undefined","t3","customTheme","arrowIcon","ArrowIcon","flush","isOpen","setOpen","useAccordionContext","t4","onClick","t5","mergeDeep","getTheme","accordion","title","jsxs","twMerge","base","open","jsx","heading","arrow"],"mappings":";;;;;;AA2BO,MAAMA,IAA0CC,CAAAA,MAAA;AAAAC,QAAAA,IAAAC,EAAA,EAAA;AAAAC,MAAAA,GAAAC,GAAAC,GAAAC,GAAAC;AAAAN,EAAAA,SAAAD,KAAC;AAAA,IAAAQ,IAAAF;AAAAA,IAAAH,UAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAK,OAAAF;AAAAA,IAAA,GAAAF;AAAAA,EAAAL,IAAAA,GAMvDC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,MAAAJ,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA,GAAAM,IAAAN,EAAA,CAAA;AALKS,QAAAA,IAAAJ,MAAcK,SAAJ,OAAVL;AAAcM,MAAAA;AAAAX,EAAAA,SAAAM,KAGXA,IAAAA,MAAgBI,cAAhBJ,GAAgBN,OAAAM,GAAAN,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAhB,QAAAY,IAAAD,GAGP;AAAA,IAAAE,WAAAC;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,SAAAA;AAAAA,MAAyDC,EAAoB;AAAEC,MAAAA;AAAAnB,EAAAA,SAAAiB,KAC/DE,IAAAA,MAAM,OAAOF,IAAY,OAAeA,EAAQ,GAACjB,OAAAiB,GAAAjB,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA;AAAjE,QAAAoB,IAAgBD;AAAkDE,MAAAA;AAAA,MAAArB,EAAA,EAAA,MAAAc,KAAAd,EAAAS,EAAAA,MAAAA,KAAAT,UAAAE,KAAAF,EAAA,EAAA,MAAAG,KAAAH,EAAAY,EAAAA,MAAAA,KAAAZ,EAAAe,EAAAA,MAAAA,KAAAf,EAAA,EAAA,MAAAgB,KAAAhB,EAAAoB,EAAAA,MAAAA,KAAApB,UAAAI,GAAA;AAElE,UAAAI,IAAcc,EAAUC,EAAAA,EAAUC,UAAAC,OAAkBb,CAAW;AAG7D,IAAAS,IAAA,gBAAAK,EAAA,UACa,EAAA,WAAAC,EAAQnB,EAAKoB,MAAOpB,EAAKO,MAAOA,IAAQ,OAAO,KAAK,GAAGP,EAAKqB,KAAMb,IAAS,OAAO,KAAK,GAAGb,CAAS,GACrGiB,SAAAA,GACJ,MAAA,UACDhB,GAAAA,GAEJ,UAAA;AAAA,MAAA,gBAAA0B,EAACrB,KAAmB,WAAAD,EAAKuB,SAAsB,eAAA,8BACpC,UAAA7B,GACX;AAAA,MACCY,KACE,gBAAAgB,EAAAhB,GAAA,EACC,mBACW,WAAAa,EAAQnB,EAAKwB,MAAAJ,MAAapB,EAAKwB,MAAAH,KAAYb,IAAS,OAAO,KAAK,CAAC,GAChE,eAAA,4BAA0B;AAAA,IAG5C,EAAA,CAAA,GAAShB,QAAAc,GAAAd,QAAAS,GAAAT,QAAAE,GAAAF,QAAAG,GAAAH,QAAAY,GAAAZ,QAAAe,GAAAf,QAAAgB,GAAAhB,QAAAoB,GAAApB,QAAAI,GAAAJ,QAAAqB;AAAAA,EAAAA;AAAAA,IAAAA,IAAArB,EAAA,EAAA;AAhBTqB,SAAAA;AAgBS;"}