@flexis/ui
Version:
Styleless React Components
140 lines (110 loc) • 7.2 kB
JavaScript
"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