@jdcfe/yep-react
Version:
一套移动端的React组件库
220 lines (185 loc) • 8.94 kB
JavaScript
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() {}
};
;