UNPKG

@jdcfe/yep-react

Version:

一套移动端的React组件库

206 lines (176 loc) 8.1 kB
import _extends from "@babel/runtime/helpers/extends"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(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 = this && this.__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; }; import * as React from 'react'; import TouchFeedback from '../touch-feedback'; import classNames from 'classnames'; var NumberKeyboard = /*#__PURE__*/function (_React$PureComponent) { _inherits(NumberKeyboard, _React$PureComponent); var _super = _createSuper(NumberKeyboard); function NumberKeyboard(props) { var _this; _classCallCheck(this, NumberKeyboard); _this = _super.call(this, props); _this.onKeyboardClick = function (e) { var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; e.nativeEvent.stopImmediatePropagation(); if (value) { if (value === 'delete') { _this.props.delete && _this.props.delete(); } else if (value === 'confirm') { _this.props.confirm && _this.props.confirm(); } else if (value === 'null') { return null; } else { _this.props.input && _this.props.input(value); } } else { return null; } }; _this.renderKeyboardItem = function (item, index) { return /*#__PURE__*/React.createElement(KeyboardItem, { onClick: _this.onKeyboardClick, key: "item-".concat(item, "-").concat(index) }, item); }; return _this; } _createClass(NumberKeyboard, [{ key: "renderDefault", value: function renderDefault() { var _this2 = this; var theme = this.props.theme; return /*#__PURE__*/React.createElement("table", null, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, ['1', '2', '3'].map(function (item, i) { return _this2.renderKeyboardItem(item, i); })), /*#__PURE__*/React.createElement("tr", null, ['4', '5', '6'].map(function (item, i) { return _this2.renderKeyboardItem(item, i); })), /*#__PURE__*/React.createElement("tr", null, ['7', '8', '9'].map(function (item, i) { return _this2.renderKeyboardItem(item, i); })), /*#__PURE__*/React.createElement("tr", null, ["".concat(theme === 'default' ? '.' : ''), '0'].map(function (item, i) { return _this2.renderKeyboardItem(item, i); }), /*#__PURE__*/React.createElement(KeyboardItem, { className: 'keyboard-delete', onClick: this.onKeyboardClick, key: "item-delete" }, "\u5220\u9664")))); } }, { key: "renderCustom", value: function renderCustom() { var _this3 = this; return /*#__PURE__*/React.createElement("table", null, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, ['1', '2', '3'].map(function (item, i) { return _this3.renderKeyboardItem(item, i); }), /*#__PURE__*/React.createElement(KeyboardItem, { className: "keyboard-delete", rowSpan: 2, onClick: this.onKeyboardClick }, "\u5220\u9664")), /*#__PURE__*/React.createElement("tr", null, ['4', '5', '6'].map(function (item, i) { return _this3.renderKeyboardItem(item, i); })), /*#__PURE__*/React.createElement("tr", null, ['7', '8', '9'].map(function (item, i) { return _this3.renderKeyboardItem(item, i); }), /*#__PURE__*/React.createElement(KeyboardItem, { className: "keyboard-confirm", rowSpan: 2, onClick: this.onKeyboardClick }, "\u786E\u5B9A")), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement(KeyboardItem, { onClick: this.onKeyboardClick, colSpan: 2, key: "item-0" }, "0"), ['.'].map(function (item, i) { return _this3.renderKeyboardItem(item, i); })))); } }, { key: "render", value: function render() { var _this$props = this.props, prefixCls = _this$props.prefixCls, header = _this$props.header, theme = _this$props.theme, show = _this$props.show, className = _this$props.className; var wrapperCls = classNames("".concat(prefixCls, "-wrapper"), _defineProperty({}, "".concat(prefixCls, "-wrapper-custom"), theme === 'custom'), _defineProperty({}, "".concat(prefixCls, "-wrapper-hide"), !show), className); return /*#__PURE__*/React.createElement("div", { className: wrapperCls }, header && /*#__PURE__*/React.cloneElement(header(), { onClick: this.onKeyboardClick }), theme === 'default' ? this.renderDefault() : theme === 'custom' ? this.renderCustom() : theme === 'password' ? this.renderDefault() : this.renderDefault()); } }]); return NumberKeyboard; }(React.PureComponent); export { NumberKeyboard as default }; NumberKeyboard.defaultProps = { prefixCls: 'Yep-number-keyboard', style: {}, show: false, theme: 'default', transition: true, zIndex: 100, input: function input() {}, delete: function _delete() {}, confirm: function confirm() {} }; var KeyboardItem = /*#__PURE__*/function (_React$PureComponent2) { _inherits(KeyboardItem, _React$PureComponent2); var _super2 = _createSuper(KeyboardItem); function KeyboardItem(props) { _classCallCheck(this, KeyboardItem); return _super2.call(this, props); } _createClass(KeyboardItem, [{ key: "render", value: function render() { var _a = this.props, prefixCls = _a.prefixCls, className = _a.className, _onClick = _a.onClick, children = _a.children, resetProps = __rest(_a, ["prefixCls", "className", "onClick", "children"]); var KeyboardItemCls = classNames("".concat(prefixCls, "-item"), className); var value = children; if (className === 'keyboard-delete') { value = 'delete'; } else if (className === 'keyboard-hide') { value = 'hide'; } else if (className === 'keyboard-confirm') { value = 'confirm'; } else if (value === '') { value = 'null'; } return /*#__PURE__*/React.createElement(TouchFeedback, { activeClassName: "".concat(prefixCls, "-item-active") }, /*#__PURE__*/React.createElement("td", _extends({ className: KeyboardItemCls, onClick: function onClick(e) { _onClick(e, value); } }, resetProps, { "data-value": children }), children)); } }]); return KeyboardItem; }(React.PureComponent); KeyboardItem.defaultProps = { prefixCls: 'Yep-number-keyboard', style: {}, onClick: function onClick() {} };