@coreui/react
Version:
UI Components Library for React.js
24 lines (21 loc) • 1.32 kB
JavaScript
import { __rest, __assign } from '../../node_modules/tslib/tslib.es6.js';
import React, { forwardRef, useState } from 'react';
import PropTypes from 'prop-types';
import classNames from '../../_virtual/index.js';
import { CAccordionContext } from './CAccordionContext.js';
var CAccordion = 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 = __rest(_a, ["children", "activeItemKey", "alwaysOpen", "className", "flush"]);
var _c = useState(activeItemKey), _activeItemKey = _c[0], setActiveKey = _c[1];
return (React.createElement("div", __assign({ className: classNames('accordion', { 'accordion-flush': flush }, className) }, rest, { ref: ref }),
React.createElement(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';
export { CAccordion };
//# sourceMappingURL=CAccordion.js.map