UNPKG

@coreui/react

Version:

UI Components Library for React.js

26 lines (22 loc) 1.36 kB
'use strict'; 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