{"version":3,"file":"AccordionPanel.cjs","names":["factory","useProps","useAccordionItemContext","useAccordionContext","Collapse","classes"],"sources":["../../../../src/components/Accordion/AccordionPanel/AccordionPanel.tsx"],"sourcesContent":["import {\n  BoxProps,\n  CompoundStylesApiProps,\n  ElementProps,\n  factory,\n  Factory,\n  useProps,\n} from '../../../core';\nimport { Collapse } from '../../Collapse';\nimport { useAccordionContext } from '../Accordion.context';\nimport { useAccordionItemContext } from '../AccordionItem.context';\nimport classes from '../Accordion.module.css';\n\nexport type AccordionPanelStylesNames = 'panel' | 'content';\n\nexport interface AccordionPanelProps\n  extends BoxProps, CompoundStylesApiProps<AccordionPanelFactory>, ElementProps<'div'> {\n  /** Called when the panel animation completes */\n  onTransitionEnd?: () => void;\n\n  /** Called when the panel animation starts */\n  onTransitionStart?: () => void;\n\n  /** If set, overrides the Accordion-level `keepMounted` value. When undefined (default), uses Accordion's `keepMounted` setting. */\n  keepMounted?: boolean;\n}\n\nexport type AccordionPanelFactory = Factory<{\n  props: AccordionPanelProps;\n  ref: HTMLDivElement;\n  stylesNames: AccordionPanelStylesNames;\n  compound: true;\n}>;\n\nexport const AccordionPanel = factory<AccordionPanelFactory>((props) => {\n  const { classNames, className, style, styles, vars, children, keepMounted, ...others } = useProps(\n    'AccordionPanel',\n    null,\n    props\n  );\n\n  const { value } = useAccordionItemContext();\n  const ctx = useAccordionContext();\n\n  return (\n    <Collapse\n      {...ctx.getStyles('panel', { className, classNames, style, styles })}\n      expanded={ctx.isItemActive(value)}\n      transitionDuration={ctx.transitionDuration ?? 200}\n      role=\"region\"\n      id={ctx.getRegionId(value)}\n      aria-labelledby={ctx.getControlId(value)}\n      keepMounted={keepMounted ?? ctx.keepMounted}\n      {...others}\n    >\n      <div {...ctx.getStyles('content', { classNames, styles })}>{children}</div>\n    </Collapse>\n  );\n});\n\nAccordionPanel.displayName = '@mantine/core/AccordionPanel';\nAccordionPanel.classes = classes;\n"],"mappings":";;;;;;;;;;AAkCA,MAAa,iBAAiBA,gBAAAA,SAAgC,UAAU;CACtE,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,MAAM,UAAU,aAAa,GAAG,WAAWC,kBAAAA,SACvF,kBACA,MACA,MACD;CAED,MAAM,EAAE,UAAUC,8BAAAA,yBAAyB;CAC3C,MAAM,MAAMC,0BAAAA,qBAAqB;AAEjC,QACE,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,UAAD;EACE,GAAI,IAAI,UAAU,SAAS;GAAE;GAAW;GAAY;GAAO;GAAQ,CAAC;EACpE,UAAU,IAAI,aAAa,MAAM;EACjC,oBAAoB,IAAI,sBAAsB;EAC9C,MAAK;EACL,IAAI,IAAI,YAAY,MAAM;EAC1B,mBAAiB,IAAI,aAAa,MAAM;EACxC,aAAa,eAAe,IAAI;EAChC,GAAI;YAEJ,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,GAAI,IAAI,UAAU,WAAW;IAAE;IAAY;IAAQ,CAAC;GAAG;GAAe,CAAA;EAClE,CAAA;EAEb;AAEF,eAAe,cAAc;AAC7B,eAAe,UAAUC,yBAAAA"}