1 | import _extends from "@babel/runtime/helpers/esm/extends";
|
2 | import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
3 | var _excluded = ["as", "activeKey", "bsPrefix", "children", "className", "onSelect"];
|
4 | import classNames from 'classnames';
|
5 | import React from 'react';
|
6 | import { useUncontrolled } from 'uncontrollable';
|
7 | import { useBootstrapPrefix } from './ThemeProvider';
|
8 | import AccordionToggle from './AccordionToggle';
|
9 | import SelectableContext from './SelectableContext';
|
10 | import AccordionCollapse from './AccordionCollapse';
|
11 | import AccordionContext from './AccordionContext';
|
12 | var Accordion = React.forwardRef(function (props, ref) {
|
13 | var _useUncontrolled = useUncontrolled(props, {
|
14 | activeKey: 'onSelect'
|
15 | }),
|
16 | _useUncontrolled$as = _useUncontrolled.as,
|
17 | Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
|
18 | activeKey = _useUncontrolled.activeKey,
|
19 | bsPrefix = _useUncontrolled.bsPrefix,
|
20 | children = _useUncontrolled.children,
|
21 | className = _useUncontrolled.className,
|
22 | onSelect = _useUncontrolled.onSelect,
|
23 | controlledProps = _objectWithoutPropertiesLoose(_useUncontrolled, _excluded);
|
24 |
|
25 | var finalClassName = classNames(className, useBootstrapPrefix(bsPrefix, 'accordion'));
|
26 | return React.createElement(AccordionContext.Provider, {
|
27 | value: activeKey || null
|
28 | }, React.createElement(SelectableContext.Provider, {
|
29 | value: onSelect || null
|
30 | }, React.createElement(Component, _extends({
|
31 | ref: ref
|
32 | }, controlledProps, {
|
33 | className: finalClassName
|
34 | }), children)));
|
35 | });
|
36 | Accordion.displayName = 'Accordion';
|
37 | Accordion.Toggle = AccordionToggle;
|
38 | Accordion.Collapse = AccordionCollapse;
|
39 | export default Accordion; |
\ | No newline at end of file |