25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1 line
2.3 KiB

  1. {"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Collapse from './Collapse';\nimport { omit, findDOMElements, defaultToggleEvents, addMultipleEventListeners } from './utils';\nvar omitKeys = ['toggleEvents', 'defaultOpen'];\nvar propTypes = {\n defaultOpen: PropTypes.bool,\n toggler: PropTypes.string.isRequired,\n toggleEvents: PropTypes.arrayOf(PropTypes.string)\n};\nvar defaultProps = {\n toggleEvents: defaultToggleEvents\n};\n\nvar UncontrolledCollapse = /*#__PURE__*/function (_Component) {\n _inheritsLoose(UncontrolledCollapse, _Component);\n\n function UncontrolledCollapse(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n _this.togglers = null;\n _this.removeEventListeners = null;\n _this.toggle = _this.toggle.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.state = {\n isOpen: props.defaultOpen || false\n };\n return _this;\n }\n\n var _proto = UncontrolledCollapse.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.togglers = findDOMElements(this.props.toggler);\n\n if (this.togglers.length) {\n this.removeEventListeners = addMultipleEventListeners(this.togglers, this.toggle, this.props.toggleEvents);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.togglers.length && this.removeEventListeners) {\n this.removeEventListeners();\n }\n };\n\n _proto.toggle = function toggle(e) {\n this.setState(function (_ref) {\n var isOpen = _ref.isOpen;\n return {\n isOpen: !isOpen\n };\n });\n e.preventDefault();\n };\n\n _proto.render = function render() {\n return React.createElement(Collapse, _extends({\n isOpen: this.state.isOpen\n }, omit(this.props, omitKeys)));\n };\n\n return UncontrolledCollapse;\n}(Component);\n\nUncontrolledCollapse.propTypes = propTypes;\nUncontrolledCollapse.defaultProps = defaultProps;\nexport default UncontrolledCollapse;","map":null,"metadata":{},"sourceType":"module"}