UNPKG

1.5 kBJavaScriptView Raw
1import _objectSpread2 from "@babel/runtime/helpers/esm/objectSpread";
2import _extends from "@babel/runtime/helpers/esm/extends";
3import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
4import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
5import React, { Component } from 'react';
6import PropTypes from 'prop-types';
7import Dropdown from './Dropdown';
8import { omit } from './utils';
9var omitKeys = ['defaultOpen'];
10
11var UncontrolledDropdown =
12/*#__PURE__*/
13function (_Component) {
14 _inheritsLoose(UncontrolledDropdown, _Component);
15
16 function UncontrolledDropdown(props) {
17 var _this;
18
19 _this = _Component.call(this, props) || this;
20 _this.state = {
21 isOpen: props.defaultOpen || false
22 };
23 _this.toggle = _this.toggle.bind(_assertThisInitialized(_this));
24 return _this;
25 }
26
27 var _proto = UncontrolledDropdown.prototype;
28
29 _proto.toggle = function toggle(e) {
30 this.setState({
31 isOpen: !this.state.isOpen
32 });
33
34 if (this.props.onToggle) {
35 this.props.onToggle(e, !this.state.isOpen);
36 }
37 };
38
39 _proto.render = function render() {
40 return React.createElement(Dropdown, _extends({
41 isOpen: this.state.isOpen,
42 toggle: this.toggle
43 }, omit(this.props, omitKeys)));
44 };
45
46 return UncontrolledDropdown;
47}(Component);
48
49export { UncontrolledDropdown as default };
50UncontrolledDropdown.propTypes = _objectSpread2({
51 defaultOpen: PropTypes.bool,
52 onToggle: PropTypes.func
53}, Dropdown.propTypes);
\No newline at end of file