UNPKG

@jdcfe/yep-react

Version:

一套移动端的React组件库

220 lines (185 loc) 8.94 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); 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 React = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _CircleOutlined = _interopRequireDefault(require("@jdcfe/icons-react/CircleOutlined")); var _CircleTwoTone = _interopRequireDefault(require("@jdcfe/icons-react/CircleTwoTone")); var _CheckCircleFilled = _interopRequireDefault(require("@jdcfe/icons-react/CheckCircleFilled")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { 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); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var __rest = void 0 && (void 0).__rest || function (s, e) { var t = {}; for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; } if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; var BaseCheckbox = /*#__PURE__*/function (_React$PureComponent) { (0, _inherits2.default)(BaseCheckbox, _React$PureComponent); var _super = _createSuper(BaseCheckbox); function BaseCheckbox(props) { var _this; (0, _classCallCheck2.default)(this, BaseCheckbox); _this = _super.call(this, props); var checked = 'checked' in props ? props.checked : props.defaultChecked; _this.state = { checked: checked }; _this.createRef = _this.createRef.bind((0, _assertThisInitialized2.default)(_this)); _this.blur = _this.blur.bind((0, _assertThisInitialized2.default)(_this)); _this.focus = _this.focus.bind((0, _assertThisInitialized2.default)(_this)); _this.handleChange = _this.handleChange.bind((0, _assertThisInitialized2.default)(_this)); return _this; } (0, _createClass2.default)(BaseCheckbox, [{ key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { if ('checked' in nextProps) { this.setState({ checked: nextProps.checked }); } } }, { key: "focus", value: function focus() { this.input.focus(); } }, { key: "blur", value: function blur() { this.input.blur(); } }, { key: "createRef", value: function createRef(node) { this.input = node; } }, { key: "handleChange", value: function handleChange(e) { var _this$props = this.props, disabled = _this$props.disabled, onChange = _this$props.onChange; if (disabled) { return; } if (!('checked' in this.props)) { this.setState({ checked: e.target.checked }); } onChange({ target: Object.assign(Object.assign({}, this.props), { checked: e.target.checked }), stopPropagation: function stopPropagation() { e.stopPropagation(); }, preventDefault: function preventDefault() { e.preventDefault(); }, nativeEvent: e.nativeEvent }); } }, { key: "render", value: function render() { var _classNames; var _a = this.props, prefixCls = _a.prefixCls, className = _a.className, style = _a.style, name = _a.name, id = _a.id, type = _a.type, disabled = _a.disabled, readOnly = _a.readOnly, tabIndex = _a.tabIndex, onClick = _a.onClick, onFocus = _a.onFocus, onBlur = _a.onBlur, autoFocus = _a.autoFocus, value = _a.value, label = _a.label, icon = _a.icon, others = __rest(_a, ["prefixCls", "className", "style", "name", "id", "type", "disabled", "readOnly", "tabIndex", "onClick", "onFocus", "onBlur", "autoFocus", "value", "label", "icon"]); var globalProps = Object.keys(others).reduce(function (prev, key) { if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') { //@ts-ignore prev[key] = others[key]; } return prev; }, {}); var checked = this.state.checked; var classString = (0, _classnames.default)(prefixCls, className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-checked"), checked), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-disabled"), disabled), _classNames)); return /*#__PURE__*/React.createElement("span", { className: classString, style: style }, /*#__PURE__*/React.createElement("input", (0, _extends2.default)({ name: name, id: id, type: type, readOnly: readOnly, disabled: disabled, tabIndex: tabIndex, className: "".concat(prefixCls, "-input"), checked: !!checked, onClick: onClick, onFocus: onFocus, onBlur: onBlur, onChange: this.handleChange, autoFocus: autoFocus, ref: this.createRef, value: value }, globalProps)), checked ? icon ? icon : type === 'checkbox' ? /*#__PURE__*/React.createElement(_CheckCircleFilled.default, { className: "".concat(prefixCls, "-inner"), style: { color: '#F0250F' } }) : /*#__PURE__*/React.createElement(_CircleTwoTone.default, { style: { color: '#F0250F' }, className: "".concat(prefixCls, "-inner") }) : /*#__PURE__*/React.createElement(_CircleOutlined.default, { className: "".concat(prefixCls, "-inner"), style: { color: '#8c8c8c' } }), /*#__PURE__*/React.createElement("span", { className: "".concat(prefixCls, "-label") }, label)); } }]); return BaseCheckbox; }(React.PureComponent); exports.default = BaseCheckbox; BaseCheckbox.defaultProps = { prefixCls: 'Yep-checkbox', className: '', style: {}, type: 'checkbox', defaultChecked: false, onFocus: function onFocus() {}, onBlur: function onBlur() {}, onChange: function onChange() {} };