Dashboard sipadu mbip
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

AccordionToggle.js 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  4. exports.__esModule = true;
  5. exports.useAccordionToggle = useAccordionToggle;
  6. exports.default = void 0;
  7. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  8. var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
  9. var _react = _interopRequireWildcard(require("react"));
  10. var _SelectableContext = _interopRequireDefault(require("./SelectableContext"));
  11. var _AccordionContext = _interopRequireDefault(require("./AccordionContext"));
  12. function useAccordionToggle(eventKey, onClick) {
  13. var contextEventKey = (0, _react.useContext)(_AccordionContext.default);
  14. var onSelect = (0, _react.useContext)(_SelectableContext.default);
  15. return function (e) {
  16. /*
  17. Compare the event key in context with the given event key.
  18. If they are the same, then collapse the component.
  19. */
  20. var eventKeyPassed = eventKey === contextEventKey ? null : eventKey;
  21. onSelect(eventKeyPassed, e);
  22. if (onClick) onClick(e);
  23. };
  24. }
  25. var AccordionToggle = _react.default.forwardRef(function (_ref, ref) {
  26. var _ref$as = _ref.as,
  27. Component = _ref$as === void 0 ? 'button' : _ref$as,
  28. children = _ref.children,
  29. eventKey = _ref.eventKey,
  30. onClick = _ref.onClick,
  31. props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "children", "eventKey", "onClick"]);
  32. var accordionOnClick = useAccordionToggle(eventKey, onClick);
  33. return _react.default.createElement(Component, (0, _extends2.default)({
  34. ref: ref,
  35. onClick: accordionOnClick
  36. }, props), children);
  37. });
  38. var _default = AccordionToggle;
  39. exports.default = _default;