@themesberg/react-bootstrap
Version:
Unofficial release of the react-bootstrap library with Bootstrap 5 components built with React
72 lines (54 loc) • 2.81 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _classnames = _interopRequireDefault(require("classnames"));
var _react = _interopRequireWildcard(require("react"));
var _uncontrollable = require("uncontrollable");
var _ThemeProvider = require("./ThemeProvider");
var _AccordionBody = _interopRequireDefault(require("./AccordionBody"));
var _AccordionButton = _interopRequireDefault(require("./AccordionButton"));
var _AccordionCollapse = _interopRequireDefault(require("./AccordionCollapse"));
var _AccordionContext = _interopRequireDefault(require("./AccordionContext"));
var _AccordionHeader = _interopRequireDefault(require("./AccordionHeader"));
var _AccordionItem = _interopRequireDefault(require("./AccordionItem"));
var Accordion = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
var _useUncontrolled = (0, _uncontrollable.useUncontrolled)(props, {
activeKey: 'onSelect'
}),
_useUncontrolled$as = _useUncontrolled.as,
Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
activeKey = _useUncontrolled.activeKey,
bsPrefix = _useUncontrolled.bsPrefix,
children = _useUncontrolled.children,
className = _useUncontrolled.className,
onSelect = _useUncontrolled.onSelect,
flush = _useUncontrolled.flush,
controlledProps = (0, _objectWithoutPropertiesLoose2.default)(_useUncontrolled, ["as", "activeKey", "bsPrefix", "children", "className", "onSelect", "flush"]);
var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'accordion');
var contextValue = (0, _react.useMemo)(function () {
return {
activeEventKey: activeKey,
onSelect: onSelect
};
}, [activeKey, onSelect]);
return /*#__PURE__*/_react.default.createElement(_AccordionContext.default.Provider, {
value: contextValue
}, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
ref: ref
}, controlledProps, {
className: (0, _classnames.default)(className, prefix, flush && prefix + "-flush")
}), children));
});
Accordion.displayName = 'Accordion';
Accordion.Button = _AccordionButton.default;
Accordion.Collapse = _AccordionCollapse.default;
Accordion.Item = _AccordionItem.default;
Accordion.Header = _AccordionHeader.default;
Accordion.Body = _AccordionBody.default;
var _default = Accordion;
exports.default = _default;
module.exports = exports["default"];