dtd
Version:
根据数梦工场视觉规范打造的组件库,感谢react-components和ant design
1 lines • 5.46 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _extends2=require("babel-runtime/helpers/extends"),_extends3=_interopRequireDefault(_extends2),_classCallCheck2=require("babel-runtime/helpers/classCallCheck"),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require("babel-runtime/helpers/createClass"),_createClass3=_interopRequireDefault(_createClass2),_possibleConstructorReturn2=require("babel-runtime/helpers/possibleConstructorReturn"),_possibleConstructorReturn3=_interopRequireDefault(_possibleConstructorReturn2),_inherits2=require("babel-runtime/helpers/inherits"),_inherits3=_interopRequireDefault(_inherits2),_react=require("react"),React=_interopRequireWildcard(_react),_propTypes=require("prop-types"),PropTypes=_interopRequireWildcard(_propTypes),_rcDrawer=require("rc-drawer"),_rcDrawer2=_interopRequireDefault(_rcDrawer),_createReactContext=require("create-react-context"),_createReactContext2=_interopRequireDefault(_createReactContext),_warning=require("warning"),_warning2=_interopRequireDefault(_warning),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_icon=require("../icon"),_icon2=_interopRequireDefault(_icon);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __rest=function(e,r){var t={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&r.indexOf(s)<0&&(t[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(s=Object.getOwnPropertySymbols(e);a<s.length;a++)r.indexOf(s[a])<0&&(t[s[a]]=e[s[a]])}return t},DrawerContext=(0,_createReactContext2.default)(null),Drawer=function(e){function r(){(0,_classCallCheck3.default)(this,r);var p=(0,_possibleConstructorReturn3.default)(this,(r.__proto__||Object.getPrototypeOf(r)).apply(this,arguments));return p.state={push:!1},p.close=function(e){void 0===p.props.visible||p.props.onClose&&p.props.onClose(e)},p.onMaskClick=function(e){p.props.maskClosable&&p.close(e)},p.push=function(){p.setState({push:!0})},p.pull=function(){p.setState({push:!1})},p.onDestoryTransitionEnd=function(){p.getDestoryOnClose()&&(p.props.visible||(p.destoryClose=!0,p.forceUpdate()))},p.getDestoryOnClose=function(){return p.props.destroyOnClose&&!p.props.visible},p.getPushTransform=function(e){return"left"===e||"right"===e?"translateX("+("left"===e?180:-180)+"px)":"top"===e||"bottom"===e?"translateY("+("top"===e?180:-180)+"px)":void 0},p.renderBody=function(){if(p.destoryClose&&!p.props.visible)return null;p.destoryClose=!1;var e=p.props.placement,r="left"===e||"right"===e?{overflow:"auto",height:"100%"}:{};p.getDestoryOnClose()&&(r.opacity=0,r.transition="opacity .3s");var t=p.props,s=t.prefixCls,a=t.title,o=t.closable,l=void 0;a&&(l=React.createElement("div",{className:s+"-header"},React.createElement("div",{className:s+"-title"},a)));var n=void 0;return o&&(n=React.createElement("button",{onClick:p.close,"aria-label":"Close",className:s+"-close"},React.createElement("span",{className:s+"-close-x"},React.createElement(_icon2.default,{type:"close"})))),React.createElement("div",{className:s+"-wrapper-body",style:r,onTransitionEnd:p.onDestoryTransitionEnd},l,n,React.createElement("div",{className:s+"-body",style:p.props.style},p.props.children))},p.getRcDrawerStyle=function(){var e=p.props,r=e.zIndex,t=e.placement,s=e.maskStyle;return p.state.push?(0,_extends3.default)({},s,{zIndex:r,transform:p.getPushTransform(t)}):(0,_extends3.default)({},s,{zIndex:r})},p.renderProvider=function(e){var r=p.props,t=(r.zIndex,r.style,r.placement),s=r.className,a=r.wrapClassName,o=r.width,l=r.height,n=(r.closable,r.visible,r.maskClosable,__rest(r,["zIndex","style","placement","className","wrapClassName","width","height","closable","visible","maskClosable"]));(0,_warning2.default)(void 0===a,"wrapClassName is deprecated, please use className instead."),p.parentDrawer=e;var i={};return"left"===t||"right"===t?i.width=o:i.height=l,React.createElement(DrawerContext.Provider,{value:p},React.createElement(_rcDrawer2.default,(0,_extends3.default)({handler:!1},n,i,{open:p.props.visible,onMaskClick:p.onMaskClick,showMask:p.props.mask,placement:t,style:p.getRcDrawerStyle(),className:(0,_classnames2.default)(a,s),title:""}),p.renderBody()))},p}return(0,_inherits3.default)(r,e),(0,_createClass3.default)(r,[{key:"componentDidUpdate",value:function(e){e.visible!==this.props.visible&&this.parentDrawer&&(this.props.visible?this.parentDrawer.push():this.parentDrawer.pull())}},{key:"render",value:function(){return React.createElement(DrawerContext.Consumer,null,this.renderProvider)}}]),r}(React.Component);(exports.default=Drawer).propTypes={closable:PropTypes.bool,destroyOnClose:PropTypes.bool,getContainer:PropTypes.oneOfType([PropTypes.string,PropTypes.object,PropTypes.func,PropTypes.bool]),maskClosable:PropTypes.bool,mask:PropTypes.bool,maskStyle:PropTypes.object,style:PropTypes.object,title:PropTypes.node,visible:PropTypes.bool,width:PropTypes.oneOfType([PropTypes.string,PropTypes.number]),zIndex:PropTypes.number,prefixCls:PropTypes.string,placement:PropTypes.string,onClose:PropTypes.func,className:PropTypes.string},Drawer.defaultProps={prefixCls:"dt-drawer",width:256,height:256,closable:!0,placement:"right",maskClosable:!0,level:null},module.exports=exports.default;