{"version":3,"sources":["../src/accordion/accordion.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { AccordionItem, type AccordionItemProps } from \"./accordion-item\";\nimport { AccordionHeader } from \"./accordion-header\";\nimport { AccordionContent } from \"./accordion-content\";\n\nexport interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {\n  /**\n   * Accepts type of <AccordionItem/>\n   */\n  children: ReactElement<AccordionItemProps> | ReactElement<AccordionItemProps>[];\n\n  /**\n   * Adds padding to the left of the accordion\n   */\n  indent?: boolean;\n}\n\n/**\n * Displays collapsible content sections\n *\n * @example\n * ```tsx\n * <Accordion>\n *   <Accordion.Item defaultOpen>\n *     <Accordion.Header>Item one</Accordion.Header>\n *     <Accordion.Content>\n *       Some content\n *     </Accordion.Content>\n *   </Accordion.Item>\n *   <Accordion.Item>\n *     <Accordion.Header>Item two</Accordion.Header>\n *     <Accordion.Content>\n *       Some more content\n *     </Accordion.Content>\n *   </Accordion.Item>\n * </Accordion>\n * ```\n */\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n  ({ children, className, indent = true, ...rest }, ref) => {\n    return (\n      <div\n        {...rest}\n        className={clsx(\n          \"hds-accordion\",\n          !indent && \"hds-accordion--no-indent\",\n          className as undefined,\n        )}\n        ref={ref}\n      >\n        {children}\n      </div>\n    );\n  },\n) as AccordionType;\nAccordion.displayName = \"Accordion\";\n\nAccordion.Item = AccordionItem;\nAccordion.Header = AccordionHeader;\nAccordion.Content = AccordionContent;\n\ntype AccordionType = ReturnType<typeof forwardRef<HTMLDivElement, AccordionProps>> & {\n  Item: typeof AccordionItem;\n  Header: typeof AccordionHeader;\n  Content: typeof AccordionContent;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AACA,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AAyCf;AAHC,IAAM,YAAY;AAAA,EACvB,CAAC,IAAiD,QAAQ;AAAzD,iBAAE,YAAU,WAAW,SAAS,KAzCnC,IAyCG,IAAyC,iBAAzC,IAAyC,CAAvC,YAAU,aAAW;AACtB,WACE;AAAA,MAAC;AAAA,uCACK,OADL;AAAA,QAEC,WAAW;AAAA,UACT;AAAA,UACA,CAAC,UAAU;AAAA,UACX;AAAA,QACF;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,UAAU,cAAc;AAExB,UAAU,OAAO;AACjB,UAAU,SAAS;AACnB,UAAU,UAAU;","names":[]}