UNPKG

@flexis/ui

Version:

Styleless React Components

140 lines (110 loc) 7.2 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits")); var _tslib = require("tslib"); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactInputMask = _interopRequireDefault(require("react-input-mask")); var _helpers = require("../../helpers"); var _types = require("../common/types"); var _InputSt = require("./Input.st.css"); var _createElement = _react.default.createElement; var PureComponent = _react.default.PureComponent; var Input = /** @class */ function () { var Input = /*#__PURE__*/function (_PureComponent) { (0, _inherits2.default)(Input, _PureComponent); function Input() { (0, _classCallCheck2.default)(this, Input); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Input).apply(this, arguments)); } (0, _createClass2.default)(Input, [{ key: "render", value: function render() { var _this$props = this.props, className = _this$props.className, elementRef = _this$props.elementRef, mask = _this$props.mask, maskChar = _this$props.maskChar, formatChars = _this$props.formatChars, alwaysShowMask = _this$props.alwaysShowMask, props = (0, _objectWithoutProperties2.default)(_this$props, ["className", "elementRef", "mask", "maskChar", "formatChars", "alwaysShowMask"]); var Input = 'input'; var maskedInputProps = {}; if (typeof mask === 'string') { Input = _reactInputMask.default; maskedInputProps = { mask: mask, maskChar: maskChar, formatChars: formatChars, alwaysShowMask: alwaysShowMask }; } return _createElement(Input, (0, _extends2.default)({ ref: elementRef && mapRef(elementRef) }, props, { className: (0, _InputSt.style)(_InputSt.classes.root, className), onChange: this.onChange }, maskedInputProps)); } }, { key: "onChange", value: function onChange(event) { var _this$props2 = this.props, onChange = _this$props2.onChange, type = _this$props2.type; if (typeof onChange === 'function') { var value = event.currentTarget.value; onChange(isNumberType(type) ? Number(value) : value, event); } } }]); return Input; }(PureComponent); process.env.NODE_ENV !== "production" ? Input.propTypes = { elementRef: _propTypes.default.func, type: _propTypes.default.string, onChange: _propTypes.default.func, value: _types.InputValuePropType, defaultValue: _types.InputValuePropType, mask: _propTypes.default.string, maskChar: _propTypes.default.string, formatChars: _propTypes.default.object, alwaysShowMask: _propTypes.default.bool } : void 0; Input.defaultProps = { type: 'text', alwaysShowMask: true }; (0, _tslib.__decorate)([(0, _helpers.Bind)()], Input.prototype, "onChange", null); return Input; }(); var _default = Input; exports.default = _default; function mapRef(elementRef) { return function (ref) { return elementRef(ref instanceof _reactInputMask.default ? ref.input : ref); }; } function isNumberType(type) { switch (type) { case 'number': case 'range': return true; default: return false; } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0lucHV0L0lucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBSUE7Ozs7O0FBc0JBLElBQUEsS0FBQTtBQUFBO0FBQUEsWUFBQTtBQUFBLE1BQXFCLEtBQXJCO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBLCtCQW1CTztBQUFBLDBCQVVELEtBQUssS0FWSjtBQUFBLFlBR0osU0FISSxlQUdKLFNBSEk7QUFBQSxZQUlKLFVBSkksZUFJSixVQUpJO0FBQUEsWUFLSixJQUxJLGVBS0osSUFMSTtBQUFBLFlBTUosUUFOSSxlQU1KLFFBTkk7QUFBQSxZQU9KLFdBUEksZUFPSixXQVBJO0FBQUEsWUFRSixjQVJJLGVBUUosY0FSSTtBQUFBLFlBU0QsS0FUQztBQVdMLFlBQUksS0FBSyxHQUFRLE9BQWpCO0FBQ0EsWUFBSSxnQkFBZ0IsR0FBRyxFQUF2Qjs7QUFFQSxZQUFJLE9BQU8sSUFBUCxLQUFnQixRQUFwQixFQUE4QjtBQUM3QixVQUFBLEtBQUssR0FBRyx1QkFBUjtBQUNBLFVBQUEsZ0JBQWdCLEdBQUc7QUFDbEIsWUFBQSxJQUFJLEVBQUosSUFEa0I7QUFFbEIsWUFBQSxRQUFRLEVBQVIsUUFGa0I7QUFHbEIsWUFBQSxXQUFXLEVBQVgsV0FIa0I7QUFJbEIsWUFBQSxjQUFjLEVBQWQ7QUFKa0IsV0FBbkI7QUFNQTs7QUFFRCxlQUNDLGVBQUMsS0FBRDtBQUNDLFVBQUEsR0FBRyxFQUFFLFVBQVUsSUFBSSxNQUFNLENBQUMsVUFBRDtBQUQxQixXQUVLLEtBRkw7QUFHQyxVQUFBLFNBQVMsRUFBRSxvQkFBTSxpQkFBUSxJQUFkLEVBQW9CLFNBQXBCLENBSFo7QUFJQyxVQUFBLFFBQVEsRUFBRSxLQUFLO0FBSmhCLFdBS0ssZ0JBTEwsRUFERDtBQVNBO0FBcERGO0FBQUE7QUFBQSwrQkF1RGtCLEtBdkRsQixFQXVEc0Q7QUFBQSwyQkFLaEQsS0FBSyxLQUwyQztBQUFBLFlBR25ELFFBSG1ELGdCQUduRCxRQUhtRDtBQUFBLFlBSW5ELElBSm1ELGdCQUluRCxJQUptRDs7QUFPcEQsWUFBSSxPQUFPLFFBQVAsS0FBb0IsVUFBeEIsRUFBb0M7QUFBQSxjQUdsQyxLQUhrQyxHQUkvQixLQUFLLENBQUMsYUFKeUIsQ0FHbEMsS0FIa0M7QUFNbkMsVUFBQSxRQUFRLENBQ1AsWUFBWSxDQUFDLElBQUQsQ0FBWixHQUNHLE1BQU0sQ0FBQyxLQUFELENBRFQsR0FFRyxLQUhJLEVBSVAsS0FKTyxDQUFSO0FBTUE7QUFDRDtBQTNFRjtBQUFBO0FBQUEsSUFBbUMsYUFBbkM7O0FBRVEsMENBQUEsS0FBQSxDQUFBLFNBQUEsR0FBWTtBQUNsQixJQUFBLFVBQVUsRUFBTSxtQkFBVSxJQURSO0FBRWxCLElBQUEsSUFBSSxFQUFZLG1CQUFVLE1BRlI7QUFHbEIsSUFBQSxRQUFRLEVBQVEsbUJBQVUsSUFIUjtBQUlsQixJQUFBLEtBQUssRUFBVyx5QkFKRTtBQUtsQixJQUFBLFlBQVksRUFBSSx5QkFMRTtBQU1sQixJQUFBLElBQUksRUFBWSxtQkFBVSxNQU5SO0FBT2xCLElBQUEsUUFBUSxFQUFRLG1CQUFVLE1BUFI7QUFRbEIsSUFBQSxXQUFXLEVBQUssbUJBQVUsTUFSUjtBQVNsQixJQUFBLGNBQWMsRUFBRSxtQkFBVTtBQVRSLEdBQVo7QUFZQSxFQUFBLEtBQUEsQ0FBQSxZQUFBLEdBQWU7QUFDckIsSUFBQSxJQUFJLEVBQVksTUFESztBQUVyQixJQUFBLGNBQWMsRUFBRTtBQUZLLEdBQWY7QUF5Q1AseUJBQUEsQ0FEQyxvQkFDRCxDQUFBLEUsZUFBQSxFLFVBQUEsRUFvQkMsSUFwQkQ7QUFxQkQsU0FBQSxLQUFBO0FBQUMsQ0E1RUQsRUFBQTs7ZUFBcUIsSzs7O0FBOEVyQixTQUFTLE1BQVQsQ0FBZ0IsVUFBaEIsRUFBMEI7QUFDekIsU0FBTyxVQUFBLEdBQUc7QUFBQSxXQUFJLFVBQVUsQ0FDdkIsR0FBRyxZQUFZLHVCQUFmLEdBQ0csR0FBRyxDQUFDLEtBRFAsR0FFRyxHQUhvQixDQUFkO0FBQUEsR0FBVjtBQUtBOztBQUVELFNBQVMsWUFBVCxDQUFzQixJQUF0QixFQUFrQztBQUVqQyxVQUFRLElBQVI7QUFFQyxTQUFLLFFBQUw7QUFDQSxTQUFLLE9BQUw7QUFDQyxhQUFPLElBQVA7O0FBRUQ7QUFDQyxhQUFPLEtBQVA7QUFQRjtBQVNBIiwic291cmNlUm9vdCI6IiJ9