UNPKG

oneframe-react

Version:

Oneframe React ## Components, Hooks, Helper Functions & State Management

45 lines (44 loc) 2.32 kB
"use strict"; 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));