UNPKG

flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

1 lines 3.11 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":[],"mappings":";;;;;;AAOY,MAAC,cAAc,GAAG,CAAC;AAC/B,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI;AACpB,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,KAAK,EAAE,WAAW,GAAG,EAAE;AACzB,EAAE,GAAG,KAAK;AACV,CAAC,KAAK;AACN,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,EAAE,CAAC;AACjF,EAAE,MAAM,OAAO,GAAG,MAAM,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,EAAE,CAAC;AACpE,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AACnE,EAAE,uBAAuB,IAAI;AAC7B,IAAI,QAAQ;AACZ,IAAI;AACJ,MAAM,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,SAAS,CAAC;AACrH,MAAM,OAAO;AACb,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,GAAG,KAAK;AACd,MAAM,QAAQ,EAAE;AAChB,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC;AACzH,QAAQ,SAAS,oBAAoB,GAAG;AACxC,UAAU,SAAS;AACnB,UAAU;AACV,YAAY,aAAa,EAAE,IAAI;AAC/B,YAAY,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;AACzF,YAAY,aAAa,EAAE,0BAA0B;AACrD,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}