@coreui/react
Version:
UI Components Library for React.js
26 lines (22 loc) • 1.36 kB
JavaScript
var tslib_es6 = require('../../node_modules/tslib/tslib.es6.js');
var React = require('react');
var PropTypes = require('prop-types');
var index = require('../../_virtual/index.js');
var CAccordionContext = require('./CAccordionContext.js');
var CAccordion = React.forwardRef(function (_a, ref) {
var children = _a.children, activeItemKey = _a.activeItemKey, _b = _a.alwaysOpen, alwaysOpen = _b === void 0 ? false : _b, className = _a.className, flush = _a.flush, rest = tslib_es6.__rest(_a, ["children", "activeItemKey", "alwaysOpen", "className", "flush"]);
var _c = React.useState(activeItemKey), _activeItemKey = _c[0], setActiveKey = _c[1];
return (React.createElement("div", tslib_es6.__assign({ className: index.default('accordion', { 'accordion-flush': flush }, className) }, rest, { ref: ref }),
React.createElement(CAccordionContext.CAccordionContext.Provider, { value: { _activeItemKey: _activeItemKey, alwaysOpen: alwaysOpen, setActiveKey: setActiveKey } }, children)));
});
CAccordion.propTypes = {
activeItemKey: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
alwaysOpen: PropTypes.bool,
children: PropTypes.node,
className: PropTypes.string,
flush: PropTypes.bool,
};
CAccordion.displayName = 'CAccordion';
exports.CAccordion = CAccordion;
//# sourceMappingURL=CAccordion.js.map
;