oneframe-react
Version:
Oneframe React ## Components, Hooks, Helper Functions & State Management
45 lines (44 loc) • 2.32 kB
JavaScript
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;
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importStar(require("react"));
const react_text_mask_1 = __importDefault(require("react-text-mask"));
const prop_types_1 = __importDefault(require("prop-types"));
const lodash_1 = require("lodash");
const MaskInputComponent = (props) => {
const { inputRef, className } = props, other = __rest(props, ["inputRef", "className"]);
return react_1.useMemo(() => {
return (react_1.default.createElement(react_text_mask_1.default, Object.assign({}, other, { ref: (ref) => {
inputRef(ref ? ref.inputElement : null);
}, mask: props.mask, placeholderChar: props.placeholderChar && props.placeholderChar === 'underscore' ? '_' : '\u2000', showMask: props.showMask && true, guide: props.guide || false, keepCharPositions: props.keepCharPositions || false, className: `${className} oneframe-form-mask-input` })));
}, [className, inputRef, props, other]);
};
MaskInputComponent.propTypes = {
inputRef: prop_types_1.default.func,
mask: prop_types_1.default.any,
guide: prop_types_1.default.bool,
showMask: prop_types_1.default.bool,
keepCharPositions: prop_types_1.default.bool,
placeholderChar: prop_types_1.default.oneOf(['space', 'underscore', undefined]),
};
exports.default = react_1.default.memo(MaskInputComponent, (p, n) => lodash_1.isEqual(p, n));
;