UNPKG

@uifabric/experiments

Version:

Experimental React components for building experiences for Microsoft 365.

38 lines 1.32 kB
import { __assign } from "tslib"; /** @jsx withSlots */ import * as React from 'react'; import { withSlots, getSlots } from '../../Foundation'; import { createComponent } from '../../Foundation'; import { CollapsibleSection } from '../../CollapsibleSection'; import { styles } from './Accordion.styles'; var AccordionItemType = (withSlots(CollapsibleSection, null)).type; var AccordionView = function (props) { var collapseItems = props.collapseItems; var children = React.Children.map(props.children, function (child, index) { var defaultItemProps = { defaultCollapsed: collapseItems, }; if (child.type === AccordionItemType) { return React.cloneElement(child, __assign(__assign({}, defaultItemProps), child.props)); } return withSlots(CollapsibleSection, __assign({}, defaultItemProps), " ", child, " "); }); var Slots = getSlots(props, { root: 'div', }); return withSlots(Slots.root, null, children); }; var AccordionStatics = { Item: CollapsibleSection, defaultProps: {}, }; export var Accordion = createComponent(AccordionView, { displayName: 'Accordion', styles: styles, statics: AccordionStatics, }); export default Accordion; //# sourceMappingURL=Accordion.js.map