@braineet/ui
Version:
Braineet design system
29 lines • 916 B
JavaScript
import React from 'react';
import { AccordionItem, AccordionButton, AccordionIcon, AccordionPanel } from './components';
import { AccordionProvider } from './context';
import { jsx as _jsx } from "react/jsx-runtime";
var Accordion = function Accordion(_ref) {
var children = _ref.children,
allowMultiple = _ref.allowMultiple,
index = _ref.index;
var c = React.Children.toArray(children).filter(Boolean);
var items = React.Children.map(c, function (child, i) {
return /*#__PURE__*/React.cloneElement(child, {
index: i + 1
});
});
return /*#__PURE__*/_jsx(AccordionProvider, {
allowMultiple: allowMultiple,
index: index,
children: items
});
};
Accordion.defaultProps = {
allowMultiple: false,
children: []
};
Accordion.Item = AccordionItem;
Accordion.Button = AccordionButton;
Accordion.Icon = AccordionIcon;
Accordion.Panel = AccordionPanel;
export default Accordion;