UNPKG

calcite-react

Version:
70 lines (56 loc) 2.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _AccordionStyled = require("./Accordion-styled"); var _helpers = require("../utils/helpers"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var AccordionSection = function AccordionSection(_ref) { var children = _ref.children, active = _ref.active, sectionIndex = _ref.sectionIndex, onAccordionChange = _ref.onAccordionChange, iconPosition = _ref.iconPosition, other = _objectWithoutProperties(_ref, ["children", "active", "sectionIndex", "onAccordionChange", "iconPosition"]); var childArray = _react.default.Children.toArray(children); var childrenWithProps = childArray.map(function (child, i) { switch ((0, _helpers.getChildType)(child)) { case 'AccordionTitle': var title; title = _react.default.cloneElement(child, { key: i, active: active, sectionIndex: sectionIndex, onAccordionChange: onAccordionChange, iconPosition: iconPosition }); return title; case 'AccordionContent': var content; content = _react.default.cloneElement(child, { key: i, active: active, sectionIndex: sectionIndex }); return content; default: return child; } }); return _react.default.createElement(_AccordionStyled.StyledAccordionSection, other, childrenWithProps); }; AccordionSection.propTypes = { /** The content of the component; should be AccordionTitle and AccordionContent. */ children: _propTypes.default.node }; AccordionSection.defaultProps = { onAccordionChange: function onAccordionChange() {} }; AccordionSection.displayName = 'AccordionSection'; var _default = AccordionSection; exports.default = _default;