Dashboard sipadu mbip
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

DropdownToggle.js 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
  3. import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
  4. import classNames from 'classnames';
  5. import { findDOMNode } from 'react-dom';
  6. import isRequiredForA11y from 'prop-types-extra/lib/isRequiredForA11y';
  7. import BaseDropdownToggle from 'react-overlays/DropdownToggle';
  8. import React from 'react';
  9. import Button from './Button';
  10. import { createBootstrapComponent } from './ThemeProvider';
  11. var wrapRef = function wrapRef(props) {
  12. var ref = props.ref;
  13. props.ref = ref.__wrapped || (ref.__wrapped = function (r) {
  14. return ref(findDOMNode(r));
  15. });
  16. return props;
  17. };
  18. var DropdownToggle =
  19. /*#__PURE__*/
  20. function (_React$Component) {
  21. _inheritsLoose(DropdownToggle, _React$Component);
  22. function DropdownToggle() {
  23. return _React$Component.apply(this, arguments) || this;
  24. }
  25. var _proto = DropdownToggle.prototype;
  26. _proto.render = function render() {
  27. var _this$props = this.props,
  28. bsPrefix = _this$props.bsPrefix,
  29. split = _this$props.split,
  30. className = _this$props.className,
  31. children = _this$props.children,
  32. childBsPrefix = _this$props.childBsPrefix,
  33. Component = _this$props.as,
  34. props = _objectWithoutPropertiesLoose(_this$props, ["bsPrefix", "split", "className", "children", "childBsPrefix", "as"]);
  35. if (childBsPrefix !== undefined) {
  36. props.bsPrefix = childBsPrefix;
  37. } // This intentionally forwards size and variant (if set) to the
  38. // underlying component, to allow it to render size and style variants.
  39. return React.createElement(BaseDropdownToggle, null, function (_ref) {
  40. var toggle = _ref.toggle,
  41. toggleProps = _ref.props;
  42. return React.createElement(Component, _extends({
  43. onClick: toggle,
  44. className: classNames(className, bsPrefix, split && bsPrefix + "-split")
  45. }, wrapRef(toggleProps), props), children);
  46. });
  47. };
  48. return DropdownToggle;
  49. }(React.Component); // Needs to be a class FTM, because it needs to accept a ref that can be used with findDOMNode
  50. DropdownToggle.defaultProps = {
  51. as: Button
  52. };
  53. export default createBootstrapComponent(DropdownToggle, 'dropdown-toggle');