Dashboard sipadu mbip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Accordion.js 1.6KB

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