UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

98 lines (85 loc) 3.57 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/utils/brazilianFormatters.ts var MASK_TYPE = /* @__PURE__ */ ((MASK_TYPE2) => { MASK_TYPE2["CNPJ"] = "CNPJ"; MASK_TYPE2["CPF"] = "CPF"; MASK_TYPE2["PHONE"] = "PHONE"; MASK_TYPE2["CEP"] = "CEP"; return MASK_TYPE2; })(MASK_TYPE || {}); var MASK_MAX_DIGITS = { ["CNPJ" /* CNPJ */]: 14, ["CPF" /* CPF */]: 11, ["PHONE" /* PHONE */]: 11, ["CEP" /* CEP */]: 8 }; var extractDigits = (value) => value.replaceAll(/\D/g, ""); var onlyDigits = (value, type) => extractDigits(value).slice(0, MASK_MAX_DIGITS[type]); function formatCnpj(value) { const digits = extractDigits(value); if (digits.length !== MASK_MAX_DIGITS["CNPJ" /* CNPJ */]) return value; return digits.replace( /^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/, "$1.$2.$3/$4-$5" ); } function formatCpf(value) { const digits = extractDigits(value); if (digits.length !== MASK_MAX_DIGITS["CPF" /* CPF */]) return value; return digits.replace(/^(\d{3})(\d{3})(\d{3})(\d{2})$/, "$1.$2.$3-$4"); } function formatPhone(value) { const digits = extractDigits(value); if (digits.length === 11) { return digits.replace(/^(\d{2})(\d{5})(\d{4})$/, "($1) $2-$3"); } if (digits.length === 10) { return digits.replace(/^(\d{2})(\d{4})(\d{4})$/, "($1) $2-$3"); } return value; } function formatCep(value) { const digits = extractDigits(value); if (digits.length !== MASK_MAX_DIGITS["CEP" /* CEP */]) return value; return digits.replace(/^(\d{5})(\d{3})$/, "$1-$2"); } function maskCnpjInput(value) { const digits = onlyDigits(value, "CNPJ" /* CNPJ */); return digits.replace(/^(\d{2})(\d)/, "$1.$2").replace(/^(\d{2})\.(\d{3})(\d)/, "$1.$2.$3").replace(/^(\d{2})\.(\d{3})\.(\d{3})(\d)/, "$1.$2.$3/$4").replace(/^(\d{2})\.(\d{3})\.(\d{3})\/(\d{4})(\d)/, "$1.$2.$3/$4-$5"); } function maskCpfInput(value) { const digits = onlyDigits(value, "CPF" /* CPF */); return digits.replace(/^(\d{3})(\d)/, "$1.$2").replace(/^(\d{3})\.(\d{3})(\d)/, "$1.$2.$3").replace(/^(\d{3})\.(\d{3})\.(\d{3})(\d)/, "$1.$2.$3-$4"); } function maskPhoneInput(value) { const digits = onlyDigits(value, "PHONE" /* PHONE */); if (digits.length === 0) return ""; if (digits.length <= 2) return `(${digits}`; if (digits.length <= 6) return digits.replace(/^(\d{2})(\d{0,4})/, "($1) $2"); if (digits.length <= 10) return digits.replace(/^(\d{2})(\d{4})(\d{0,4})/, "($1) $2-$3"); return digits.replace(/^(\d{2})(\d{5})(\d{0,4})/, "($1) $2-$3"); } function maskCepInput(value) { const digits = onlyDigits(value, "CEP" /* CEP */); return digits.replace(/^(\d{5})(\d)/, "$1-$2"); } var MASKERS = { ["CNPJ" /* CNPJ */]: maskCnpjInput, ["CPF" /* CPF */]: maskCpfInput, ["PHONE" /* PHONE */]: maskPhoneInput, ["CEP" /* CEP */]: maskCepInput }; var FORMATTERS = { ["CNPJ" /* CNPJ */]: formatCnpj, ["CPF" /* CPF */]: formatCpf, ["PHONE" /* PHONE */]: formatPhone, ["CEP" /* CEP */]: formatCep }; function applyInputMask(value, type) { return MASKERS[type](value); } function formatDocument(value, type) { return FORMATTERS[type](value); } exports.MASK_TYPE = MASK_TYPE; exports.formatCnpj = formatCnpj; exports.formatCpf = formatCpf; exports.formatPhone = formatPhone; exports.formatCep = formatCep; exports.maskCnpjInput = maskCnpjInput; exports.maskCpfInput = maskCpfInput; exports.maskPhoneInput = maskPhoneInput; exports.maskCepInput = maskCepInput; exports.applyInputMask = applyInputMask; exports.formatDocument = formatDocument; //# sourceMappingURL=chunk-V5PIDBHE.js.map