UNPKG

@uifabric/experiments

Version:

Experimental React components for building experiences for Office 365.

39 lines 1.35 kB
import * as tslib_1 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 view = 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, tslib_1.__assign({}, defaultItemProps, child.props)); } return withSlots(CollapsibleSection, tslib_1.__assign({}, defaultItemProps), " ", child, " "); }); var Slots = getSlots(props, { root: 'div' }); return withSlots(Slots.root, null, children); }; var AccordionStatics = { Item: CollapsibleSection, defaultProps: {} }; export var Accordion = createComponent({ displayName: 'Accordion', styles: styles, view: view, statics: AccordionStatics }); export default Accordion; //# sourceMappingURL=Accordion.js.map