UNPKG

2.38 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12var _classnames = _interopRequireDefault(require("classnames"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _uncontrollable = require("uncontrollable");
17
18var _ThemeProvider = require("./ThemeProvider");
19
20var _AccordionToggle = _interopRequireDefault(require("./AccordionToggle"));
21
22var _SelectableContext = _interopRequireDefault(require("./SelectableContext"));
23
24var _AccordionCollapse = _interopRequireDefault(require("./AccordionCollapse"));
25
26var _AccordionContext = _interopRequireDefault(require("./AccordionContext"));
27
28var _excluded = ["as", "activeKey", "bsPrefix", "children", "className", "onSelect"];
29
30var Accordion = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
31 var _useUncontrolled = (0, _uncontrollable.useUncontrolled)(props, {
32 activeKey: 'onSelect'
33 }),
34 _useUncontrolled$as = _useUncontrolled.as,
35 Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
36 activeKey = _useUncontrolled.activeKey,
37 bsPrefix = _useUncontrolled.bsPrefix,
38 children = _useUncontrolled.children,
39 className = _useUncontrolled.className,
40 onSelect = _useUncontrolled.onSelect,
41 controlledProps = (0, _objectWithoutPropertiesLoose2.default)(_useUncontrolled, _excluded);
42
43 var finalClassName = (0, _classnames.default)(className, (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'accordion'));
44 return /*#__PURE__*/_react.default.createElement(_AccordionContext.default.Provider, {
45 value: activeKey || null
46 }, /*#__PURE__*/_react.default.createElement(_SelectableContext.default.Provider, {
47 value: onSelect || null
48 }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
49 ref: ref
50 }, controlledProps, {
51 className: finalClassName
52 }), children)));
53});
54
55Accordion.displayName = 'Accordion';
56Accordion.Toggle = _AccordionToggle.default;
57Accordion.Collapse = _AccordionCollapse.default;
58var _default = Accordion;
59exports.default = _default;
60module.exports = exports["default"];
\No newline at end of file