{"version":3,"file":"AccordionTitle.cjs","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":["useAccordionContext","mergeDeep","getTheme","jsxs","twMerge","jsx"],"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,GAAGA,yCAAmB,EAAE,CAAC;AACjF,EAAE,MAAM,OAAO,GAAG,MAAM,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,EAAE,CAAC;AACpE,EAAE,MAAM,KAAK,GAAGC,mBAAS,CAACC,cAAQ,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AACnE,EAAE,uBAAuBC,eAAI;AAC7B,IAAI,QAAQ;AACZ,IAAI;AACJ,MAAM,SAAS,EAAEC,qBAAO,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,wBAAwBC,cAAG,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC;AACzH,QAAQ,SAAS,oBAAoBA,cAAG;AACxC,UAAU,SAAS;AACnB,UAAU;AACV,YAAY,aAAa,EAAE,IAAI;AAC/B,YAAY,SAAS,EAAED,qBAAO,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;;;;"}