UNPKG

dtd

Version:

根据数梦工场视觉规范打造的组件库,感谢react-components和ant design

1 lines 6.41 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _extends2=require("babel-runtime/helpers/extends"),_extends3=_interopRequireDefault(_extends2),_defineProperty2=require("babel-runtime/helpers/defineProperty"),_defineProperty3=_interopRequireDefault(_defineProperty2),_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),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_omit=require("omit.js"),_omit2=_interopRequireDefault(_omit);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function fixControlledValue(e){return null==e?"":e}var isPlaceholderSupported="undefined"!=typeof document&&"placeholder"in document.createElement("input"),Input=function(e){function t(){(0,_classCallCheck3.default)(this,t);var n=(0,_possibleConstructorReturn3.default)(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return n.state={showPlaceholding:!0},n.handleKeyDown=function(e){var t=n.props,r=t.onPressEnter,s=t.onKeyDown;13===e.keyCode&&r&&r(e),s&&s(e)},n.onFocus=function(e){n.props.onFocus&&n.props.onFocus(e),n.setState({showPlaceholding:!1})},n.onBlur=function(e){n.props.onBlur&&n.props.onBlur(e),""===n.input.value&&n.setState({showPlaceholding:!0})},n.saveInput=function(e){n.input=e},n.saveSpan=function(e){n.span=e},n.handleClick=function(){n.input.focus()},n}return(0,_inherits3.default)(t,e),(0,_createClass3.default)(t,[{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"componentWillMount",value:function(){this.needsPlaceholding=!(!this.props.placeholder||isPlaceholderSupported),"value"in this.props&&this.props.value&&this.setState({showPlaceholding:!1})}},{key:"componentWillReceiveProps",value:function(e){this.needsPlaceholding=e.placeholder&&!isPlaceholderSupported}},{key:"getInputClassName",value:function(){var e,t=this.props,r=t.prefixCls,s=t.size,n=t.disabled;return(0,_classnames2.default)(r,(e={},(0,_defineProperty3.default)(e,r+"-sm","small"===s),(0,_defineProperty3.default)(e,r+"-lg","large"===s),(0,_defineProperty3.default)(e,r+"-disabled",n),e))}},{key:"renderLabeledInput",value:function(e){var t,r=this.props;if(!r.addonBefore&&!r.addonAfter)return e;var s=r.prefixCls+"-group",n=s+"-addon",a=r.addonBefore?React.createElement("span",{className:n},r.addonBefore):null,l=r.addonAfter?React.createElement("span",{className:n},r.addonAfter):null,p=(0,_classnames2.default)(r.prefixCls+"-wrapper",(0,_defineProperty3.default)({},s,a||l)),o=(0,_classnames2.default)(r.prefixCls+"-group-wrapper",(t={},(0,_defineProperty3.default)(t,r.prefixCls+"-group-wrapper-sm","small"===r.size),(0,_defineProperty3.default)(t,r.prefixCls+"-group-wrapper-lg","large"===r.size),t));return a||l?React.createElement("span",{className:o,style:r.style},React.createElement("span",{className:p},a,React.cloneElement(e,{style:null}),l)):React.createElement("span",{className:p},a,e,l)}},{key:"renderLabeledIcon",value:function(e){var t,r=this.props,s=r.placeholder;if(!("prefix"in r||"suffix"in r))return this.needsPlaceholding?React.createElement("span",{style:{position:"relative"}},e,this.state.showPlaceholding&&React.createElement("span",{className:"dt-input-placeholder-span",ref:this.saveSpan,onClick:this.handleClick},s)):e;var n=r.prefix?React.createElement("span",{className:r.prefixCls+"-prefix"},r.prefix):null,a=r.suffix?React.createElement("span",{className:r.prefixCls+"-suffix"},r.suffix):null,l=(0,_classnames2.default)(r.className,r.prefixCls+"-affix-wrapper",(t={},(0,_defineProperty3.default)(t,r.prefixCls+"-affix-wrapper-sm","small"===r.size),(0,_defineProperty3.default)(t,r.prefixCls+"-affix-wrapper-lg","large"===r.size),t));return React.createElement("span",{className:l,style:r.style},n,React.cloneElement(e,{style:null,className:this.getInputClassName()}),this.needsPlaceholding&&this.state.showPlaceholding&&React.createElement("span",{className:r.prefix?(0,_classnames2.default)("dt-input-placeholder-span","dt-input-placeholder-span-prefix"):"dt-input-placeholder-span",ref:this.saveSpan,onClick:this.handleClick},s),a)}},{key:"renderInput",value:function(){var e=this.props,t=e.value,r=e.className,s=(0,_omit2.default)(this.props,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix"]);return"value"in this.props&&(s.value=fixControlledValue(t),delete s.defaultValue),this.renderLabeledIcon(this.needsPlaceholding?React.createElement("input",(0,_extends3.default)({},s,{className:(0,_classnames2.default)(this.getInputClassName(),r),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.handleKeyDown,ref:this.saveInput})):React.createElement("input",(0,_extends3.default)({},s,{className:(0,_classnames2.default)(this.getInputClassName(),r),onKeyDown:this.handleKeyDown,ref:this.saveInput})))}},{key:"render",value:function(){return this.renderLabeledInput(this.renderInput())}}]),t}(React.Component);(exports.default=Input).defaultProps={prefixCls:"dt-input",type:"text",disabled:!1},Input.propTypes={type:PropTypes.string,id:PropTypes.oneOfType([PropTypes.string,PropTypes.number]),size:PropTypes.oneOf(["small","default","large"]),maxLength:PropTypes.oneOfType([PropTypes.string,PropTypes.number]),disabled:PropTypes.bool,value:PropTypes.any,defaultValue:PropTypes.any,className:PropTypes.string,addonBefore:PropTypes.node,addonAfter:PropTypes.node,prefixCls:PropTypes.string,autosize:PropTypes.oneOfType([PropTypes.bool,PropTypes.object]),onPressEnter:PropTypes.func,onKeyDown:PropTypes.func,onKeyUp:PropTypes.func,onFocus:PropTypes.func,onBlur:PropTypes.func,prefix:PropTypes.node,suffix:PropTypes.node},module.exports=exports.default;