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

3 лет назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  6. var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
  7. var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
  8. var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
  9. var _react = _interopRequireDefault(require("react"));
  10. var _propTypes = _interopRequireDefault(require("prop-types"));
  11. var _classnames = _interopRequireDefault(require("classnames"));
  12. var _reactPopper = require("react-popper");
  13. var _utils = require("./utils");
  14. var _Button = _interopRequireDefault(require("./Button"));
  15. var propTypes = {
  16. caret: _propTypes.default.bool,
  17. color: _propTypes.default.string,
  18. children: _propTypes.default.node,
  19. className: _propTypes.default.string,
  20. cssModule: _propTypes.default.object,
  21. disabled: _propTypes.default.bool,
  22. onClick: _propTypes.default.func,
  23. 'aria-haspopup': _propTypes.default.bool,
  24. split: _propTypes.default.bool,
  25. tag: _utils.tagPropType,
  26. nav: _propTypes.default.bool
  27. };
  28. var defaultProps = {
  29. 'aria-haspopup': true,
  30. color: 'secondary'
  31. };
  32. var contextTypes = {
  33. isOpen: _propTypes.default.bool.isRequired,
  34. toggle: _propTypes.default.func.isRequired,
  35. inNavbar: _propTypes.default.bool.isRequired
  36. };
  37. var DropdownToggle =
  38. /*#__PURE__*/
  39. function (_React$Component) {
  40. (0, _inheritsLoose2.default)(DropdownToggle, _React$Component);
  41. function DropdownToggle(props) {
  42. var _this;
  43. _this = _React$Component.call(this, props) || this;
  44. _this.onClick = _this.onClick.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
  45. return _this;
  46. }
  47. var _proto = DropdownToggle.prototype;
  48. _proto.onClick = function onClick(e) {
  49. if (this.props.disabled) {
  50. e.preventDefault();
  51. return;
  52. }
  53. if (this.props.nav && !this.props.tag) {
  54. e.preventDefault();
  55. }
  56. if (this.props.onClick) {
  57. this.props.onClick(e);
  58. }
  59. this.context.toggle(e);
  60. };
  61. _proto.render = function render() {
  62. var _this$props = this.props,
  63. className = _this$props.className,
  64. color = _this$props.color,
  65. cssModule = _this$props.cssModule,
  66. caret = _this$props.caret,
  67. split = _this$props.split,
  68. nav = _this$props.nav,
  69. tag = _this$props.tag,
  70. props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["className", "color", "cssModule", "caret", "split", "nav", "tag"]);
  71. var ariaLabel = props['aria-label'] || 'Toggle Dropdown';
  72. var classes = (0, _utils.mapToCssModules)((0, _classnames.default)(className, {
  73. 'dropdown-toggle': caret || split,
  74. 'dropdown-toggle-split': split,
  75. 'nav-link': nav
  76. }), cssModule);
  77. var children = props.children || _react.default.createElement("span", {
  78. className: "sr-only"
  79. }, ariaLabel);
  80. var Tag;
  81. if (nav && !tag) {
  82. Tag = 'a';
  83. props.href = '#';
  84. } else if (!tag) {
  85. Tag = _Button.default;
  86. props.color = color;
  87. props.cssModule = cssModule;
  88. } else {
  89. Tag = tag;
  90. }
  91. if (this.context.inNavbar) {
  92. return _react.default.createElement(Tag, (0, _extends2.default)({}, props, {
  93. className: classes,
  94. onClick: this.onClick,
  95. "aria-expanded": this.context.isOpen,
  96. children: children
  97. }));
  98. }
  99. return _react.default.createElement(_reactPopper.Target, (0, _extends2.default)({}, props, {
  100. className: classes,
  101. component: Tag,
  102. onClick: this.onClick,
  103. "aria-expanded": this.context.isOpen,
  104. children: children
  105. }));
  106. };
  107. return DropdownToggle;
  108. }(_react.default.Component);
  109. DropdownToggle.propTypes = propTypes;
  110. DropdownToggle.defaultProps = defaultProps;
  111. DropdownToggle.contextTypes = contextTypes;
  112. var _default = DropdownToggle;
  113. exports.default = _default;