@flexis/ui
Version:
Styleless React Components
118 lines (102 loc) • 6.55 kB
JavaScript
import _extends from "@babel/runtime-corejs3/helpers/extends";
import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/objectWithoutProperties";
import _classCallCheck from "@babel/runtime-corejs3/helpers/classCallCheck";
import _createClass from "@babel/runtime-corejs3/helpers/createClass";
import _possibleConstructorReturn from "@babel/runtime-corejs3/helpers/possibleConstructorReturn";
import _getPrototypeOf from "@babel/runtime-corejs3/helpers/getPrototypeOf";
import _inherits from "@babel/runtime-corejs3/helpers/inherits";
import { __decorate } from "tslib";
import React from 'react';
var _createElement = React.createElement;
var PureComponent = React.PureComponent;
import PropTypes from 'prop-types';
import MaskedInput from 'react-input-mask';
import { Bind } from '../../helpers';
import { InputValuePropType } from '../common/types';
import { style, classes } from './Input.st.css';
var Input =
/** @class */
function () {
var Input = /*#__PURE__*/function (_PureComponent) {
_inherits(Input, _PureComponent);
function Input() {
_classCallCheck(this, Input);
return _possibleConstructorReturn(this, _getPrototypeOf(Input).apply(this, arguments));
}
_createClass(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 = _objectWithoutProperties(_this$props, ["className", "elementRef", "mask", "maskChar", "formatChars", "alwaysShowMask"]);
var Input = 'input';
var maskedInputProps = {};
if (typeof mask === 'string') {
Input = MaskedInput;
maskedInputProps = {
mask: mask,
maskChar: maskChar,
formatChars: formatChars,
alwaysShowMask: alwaysShowMask
};
}
return _createElement(Input, _extends({
ref: elementRef && mapRef(elementRef)
}, props, {
className: style(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.func,
type: PropTypes.string,
onChange: PropTypes.func,
value: InputValuePropType,
defaultValue: InputValuePropType,
mask: PropTypes.string,
maskChar: PropTypes.string,
formatChars: PropTypes.object,
alwaysShowMask: PropTypes.bool
} : void 0;
Input.defaultProps = {
type: 'text',
alwaysShowMask: true
};
__decorate([Bind()], Input.prototype, "onChange", null);
return Input;
}();
export default Input;
function mapRef(elementRef) {
return function (ref) {
return elementRef(ref instanceof MaskedInput ? 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0lucHV0L0lucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLE9BQU8sS0FBUCxNQUtPLE9BTFA7OztBQU1BLE9BQU8sU0FBUCxNQUFzQixZQUF0QjtBQUNBLE9BQU8sV0FBUCxNQUF3QixrQkFBeEI7QUFDQSxTQUVDLElBRkQsUUFHTyxlQUhQO0FBSUEsU0FFQyxrQkFGRCxRQUdPLGlCQUhQO0FBSUEsU0FDQyxLQURELEVBRUMsT0FGRCxRQUdPLGdCQUhQOztBQXNCQSxJQUFBLEtBQUE7QUFBQTtBQUFBLFlBQUE7QUFBQSxNQUFxQixLQUFyQjtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUEsK0JBbUJPO0FBQUEsMEJBVUQsS0FBSyxLQVZKO0FBQUEsWUFHSixTQUhJLGVBR0osU0FISTtBQUFBLFlBSUosVUFKSSxlQUlKLFVBSkk7QUFBQSxZQUtKLElBTEksZUFLSixJQUxJO0FBQUEsWUFNSixRQU5JLGVBTUosUUFOSTtBQUFBLFlBT0osV0FQSSxlQU9KLFdBUEk7QUFBQSxZQVFKLGNBUkksZUFRSixjQVJJO0FBQUEsWUFTRCxLQVRDOztBQVdMLFlBQUksS0FBSyxHQUFRLE9BQWpCO0FBQ0EsWUFBSSxnQkFBZ0IsR0FBRyxFQUF2Qjs7QUFFQSxZQUFJLE9BQU8sSUFBUCxLQUFnQixRQUFwQixFQUE4QjtBQUM3QixVQUFBLEtBQUssR0FBRyxXQUFSO0FBQ0EsVUFBQSxnQkFBZ0IsR0FBRztBQUNsQixZQUFBLElBQUksRUFBSixJQURrQjtBQUVsQixZQUFBLFFBQVEsRUFBUixRQUZrQjtBQUdsQixZQUFBLFdBQVcsRUFBWCxXQUhrQjtBQUlsQixZQUFBLGNBQWMsRUFBZDtBQUprQixXQUFuQjtBQU1BOztBQUVELGVBQ0MsZUFBQyxLQUFEO0FBQ0MsVUFBQSxHQUFHLEVBQUUsVUFBVSxJQUFJLE1BQU0sQ0FBQyxVQUFEO0FBRDFCLFdBRUssS0FGTDtBQUdDLFVBQUEsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBVCxFQUFlLFNBQWYsQ0FIakI7QUFJQyxVQUFBLFFBQVEsRUFBRSxLQUFLO0FBSmhCLFdBS0ssZ0JBTEwsRUFERDtBQVNBO0FBcERGO0FBQUE7QUFBQSwrQkF1RGtCLEtBdkRsQixFQXVEc0Q7QUFBQSwyQkFLaEQsS0FBSyxLQUwyQztBQUFBLFlBR25ELFFBSG1ELGdCQUduRCxRQUhtRDtBQUFBLFlBSW5ELElBSm1ELGdCQUluRCxJQUptRDs7QUFPcEQsWUFBSSxPQUFPLFFBQVAsS0FBb0IsVUFBeEIsRUFBb0M7QUFBQSxjQUdsQyxLQUhrQyxHQUkvQixLQUFLLENBQUMsYUFKeUIsQ0FHbEMsS0FIa0M7QUFNbkMsVUFBQSxRQUFRLENBQ1AsWUFBWSxDQUFDLElBQUQsQ0FBWixHQUNHLE1BQU0sQ0FBQyxLQUFELENBRFQsR0FFRyxLQUhJLEVBSVAsS0FKTyxDQUFSO0FBTUE7QUFDRDtBQTNFRjs7QUFBQTtBQUFBLElBQW1DLGFBQW5DOztBQUVRLDBDQUFBLEtBQUEsQ0FBQSxTQUFBLEdBQVk7QUFDbEIsSUFBQSxVQUFVLEVBQU0sU0FBUyxDQUFDLElBRFI7QUFFbEIsSUFBQSxJQUFJLEVBQVksU0FBUyxDQUFDLE1BRlI7QUFHbEIsSUFBQSxRQUFRLEVBQVEsU0FBUyxDQUFDLElBSFI7QUFJbEIsSUFBQSxLQUFLLEVBQVcsa0JBSkU7QUFLbEIsSUFBQSxZQUFZLEVBQUksa0JBTEU7QUFNbEIsSUFBQSxJQUFJLEVBQVksU0FBUyxDQUFDLE1BTlI7QUFPbEIsSUFBQSxRQUFRLEVBQVEsU0FBUyxDQUFDLE1BUFI7QUFRbEIsSUFBQSxXQUFXLEVBQUssU0FBUyxDQUFDLE1BUlI7QUFTbEIsSUFBQSxjQUFjLEVBQUUsU0FBUyxDQUFDO0FBVFIsR0FBWjtBQVlBLEVBQUEsS0FBQSxDQUFBLFlBQUEsR0FBZTtBQUNyQixJQUFBLElBQUksRUFBWSxNQURLO0FBRXJCLElBQUEsY0FBYyxFQUFFO0FBRkssR0FBZjs7QUF5Q1AsRUFBQSxVQUFBLENBQUEsQ0FEQyxJQUFJLEVBQ0wsQ0FBQSxFLGVBQUEsRSxVQUFBLEVBb0JDLElBcEJELENBQUE7O0FBcUJELFNBQUEsS0FBQTtBQUFDLENBNUVELEVBQUE7O2VBQXFCLEs7O0FBOEVyQixTQUFTLE1BQVQsQ0FBZ0IsVUFBaEIsRUFBMEI7QUFDekIsU0FBTyxVQUFBLEdBQUc7QUFBQSxXQUFJLFVBQVUsQ0FDdkIsR0FBRyxZQUFZLFdBQWYsR0FDRyxHQUFHLENBQUMsS0FEUCxHQUVHLEdBSG9CLENBQWQ7QUFBQSxHQUFWO0FBS0E7O0FBRUQsU0FBUyxZQUFULENBQXNCLElBQXRCLEVBQWtDO0FBRWpDLFVBQVEsSUFBUjtBQUVDLFNBQUssUUFBTDtBQUNBLFNBQUssT0FBTDtBQUNDLGFBQU8sSUFBUDs7QUFFRDtBQUNDLGFBQU8sS0FBUDtBQVBGO0FBU0EiLCJzb3VyY2VSb290IjoiIn0=