UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

177 lines (148 loc) 7.33 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames = _interopRequireDefault(require("classnames")); var _noop = _interopRequireDefault(require("lodash/noop")); var _PanelContent = _interopRequireDefault(require("./PanelContent")); var _animate = _interopRequireDefault(require("../../animate")); function _createSuper(Derived) { function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } return function () { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } var CollapsePanel = /*#__PURE__*/ function (_Component) { (0, _inherits2["default"])(CollapsePanel, _Component); var _super = _createSuper(CollapsePanel); function CollapsePanel() { (0, _classCallCheck2["default"])(this, CollapsePanel); return _super.apply(this, arguments); } (0, _createClass2["default"])(CollapsePanel, [{ key: "handleItemClick", value: function handleItemClick() { if (this.props.onItemClick) { this.props.onItemClick(); } } }, { key: "render", value: function render() { var _classNames, _classNames2, _classNames3; var _this$props = this.props, className = _this$props.className, id = _this$props.id, style = _this$props.style, prefixCls = _this$props.prefixCls, header = _this$props.header, headerClass = _this$props.headerClass, children = _this$props.children, isActive = _this$props.isActive, showArrow = _this$props.showArrow, destroyInactivePanel = _this$props.destroyInactivePanel, disabled = _this$props.disabled, accordion = _this$props.accordion, forceRender = _this$props.forceRender, expandIcon = _this$props.expandIcon, expandIconPosition = _this$props.expandIconPosition, extra = _this$props.extra, trigger = _this$props.trigger; var headerCls = (0, _classnames["default"])("".concat(prefixCls, "-header"), (_classNames = {}, (0, _defineProperty2["default"])(_classNames, headerClass, headerClass), (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-item-expand-renderer"), showArrow && typeof expandIcon === 'function'), _classNames)); var itemCls = (0, _classnames["default"])((_classNames2 = {}, (0, _defineProperty2["default"])(_classNames2, "".concat(prefixCls, "-item"), true), (0, _defineProperty2["default"])(_classNames2, "".concat(prefixCls, "-item-active"), isActive), (0, _defineProperty2["default"])(_classNames2, "".concat(prefixCls, "-item-disabled"), disabled), _classNames2), className); var iconCls = (0, _classnames["default"])((_classNames3 = {}, (0, _defineProperty2["default"])(_classNames3, "".concat(prefixCls, "-expand-icon"), true), (0, _defineProperty2["default"])(_classNames3, "".concat(prefixCls, "-expanded"), isActive), (0, _defineProperty2["default"])(_classNames3, "".concat(prefixCls, "-collapsed"), !isActive), _classNames3)); var icon = null; if (showArrow) { icon = _react["default"].createElement("span", { className: "".concat(prefixCls, "-expand-icon-wrapper"), onClick: trigger === 'icon' ? this.handleItemClick.bind(this) : _noop["default"] }, typeof expandIcon === 'function' ? expandIcon(this.props) : _react["default"].createElement("i", { className: iconCls })); } return _react["default"].createElement("div", { className: itemCls, style: style, id: id }, _react["default"].createElement("div", { className: headerCls, onClick: trigger === 'header' ? this.handleItemClick.bind(this) : _noop["default"], role: accordion ? 'tab' : 'button', tabIndex: disabled ? -1 : 0, "aria-expanded": "".concat(isActive), onKeyPress: this.handleKeyPress }, showArrow && expandIconPosition !== 'text-right' && icon, header, showArrow && expandIconPosition === 'text-right' && icon, extra && _react["default"].createElement("div", { className: "".concat(prefixCls, "-extra") }, extra)), _react["default"].createElement(_animate["default"], { hiddenProp: "isInactive", exclusive: true, component: "", animation: this.props.openAnimation }, _react["default"].createElement(_PanelContent["default"], { prefixCls: prefixCls, isInactive: !isActive, destroyInactivePanel: destroyInactivePanel, forceRender: forceRender, role: accordion ? 'tabpanel' : null }, children))); } }]); return CollapsePanel; }(_react.Component); exports["default"] = CollapsePanel; (0, _defineProperty2["default"])(CollapsePanel, "propTypes", { className: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]), id: _propTypes["default"].string, children: _propTypes["default"].any, openAnimation: _propTypes["default"].object, prefixCls: _propTypes["default"].string, header: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].node]), headerClass: _propTypes["default"].string, showArrow: _propTypes["default"].bool, isActive: _propTypes["default"].bool, onItemClick: _propTypes["default"].func, style: _propTypes["default"].object, destroyInactivePanel: _propTypes["default"].bool, disabled: _propTypes["default"].bool, forceRender: _propTypes["default"].bool }); (0, _defineProperty2["default"])(CollapsePanel, "defaultProps", { showArrow: true, isActive: false, destroyInactivePanel: false, onItemClick: function onItemClick() {}, headerClass: '', forceRender: false }); //# sourceMappingURL=Panel.js.map