1 | import _objectSpread2 from "@babel/runtime/helpers/esm/objectSpread";
|
2 | import _extends from "@babel/runtime/helpers/esm/extends";
|
3 | import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
4 | import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
5 | import React, { Component } from 'react';
|
6 | import PropTypes from 'prop-types';
|
7 | import Dropdown from './Dropdown';
|
8 | import { omit } from './utils';
|
9 | var omitKeys = ['defaultOpen'];
|
10 |
|
11 | var UncontrolledDropdown =
|
12 |
|
13 | function (_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 |
|
49 | export { UncontrolledDropdown as default };
|
50 | UncontrolledDropdown.propTypes = _objectSpread2({
|
51 | defaultOpen: PropTypes.bool,
|
52 | onToggle: PropTypes.func
|
53 | }, Dropdown.propTypes); |
\ | No newline at end of file |