@starley/ion-directives 1.3.15 → 1.3.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -45,6 +45,7 @@ export declare class DateUtilProvider {
45
45
  * Gets diff days by today
46
46
  * @author Starley Cazorla
47
47
  * @param date1
48
+ * @deprecated
48
49
  * @returns
49
50
  */
50
51
  getDiffDaysByToday(date1: any): number;
@@ -59,6 +60,13 @@ export declare class DateUtilProvider {
59
60
  dayName: string;
60
61
  dayNumber: number;
61
62
  };
63
+ /**
64
+ * Gets diff days by date
65
+ * @author Starley Cazorla
66
+ * @param date
67
+ * @returns
68
+ */
69
+ getDiffDaysByDate(date: Date): number;
62
70
  static ɵfac: i0.ɵɵFactoryDeclaration<DateUtilProvider, never>;
63
71
  static ɵprov: i0.ɵɵInjectableDeclaration<DateUtilProvider>;
64
72
  }
@@ -89,6 +89,7 @@ var DateUtilProvider = /** @class */ (function () {
89
89
  * Gets diff days by today
90
90
  * @author Starley Cazorla
91
91
  * @param date1
92
+ * @deprecated
92
93
  * @returns
93
94
  */
94
95
  DateUtilProvider.prototype.getDiffDaysByToday = function (date1) {
@@ -114,6 +115,20 @@ var DateUtilProvider = /** @class */ (function () {
114
115
  'dayNumber': d.getDate()
115
116
  };
116
117
  };
118
+ /**
119
+ * Gets diff days by date
120
+ * @author Starley Cazorla
121
+ * @param date
122
+ * @returns
123
+ */
124
+ DateUtilProvider.prototype.getDiffDaysByDate = function (date) {
125
+ if (!date)
126
+ return 0;
127
+ var today = new Date();
128
+ var diffTime = Math.abs(date.getTime() - today.getTime());
129
+ var diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
130
+ return diffDays;
131
+ };
117
132
  DateUtilProvider.ɵfac = function DateUtilProvider_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DateUtilProvider)(); };
118
133
  DateUtilProvider.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DateUtilProvider, factory: DateUtilProvider.ɵfac });
119
134
  return DateUtilProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"date-util-provider.js","sourceRoot":"","sources":["../../src/provider/date-util-provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from \"@angular/core\";\nimport moment from 'moment';\n\n/**\n * Date utils\n * @author Starley Cazorla\n */\n\n@Injectable()\nexport class DateUtilProvider {\n newDate = new Date();\n\n constructor() { }\n\n /**\n * Veifica se a data e valida\n * @param date \n * @returns \n */\n isValidDate(date: string) {\n if (!date) return false;\n // Regex format: DD/MM/YYYY | DD-MM-YYYY | DD.MM.YYYY\n const re = /^(?:(?:31(\\/|-|\\.)(?:0?[13578]|1[02]))\\1|(?:(?:29|30)(\\/|-|\\.)(?:0?[1,3-9]|1[0-2])\\2))(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$|^(?:29(\\/|-|\\.)0?2\\3(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\\d|2[0-8])(\\/|-|\\.)(?:(?:0?[1-9])|(?:1[0-2]))\\4(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$/;\n return re.test(date);\n }\n\n /**\n * Converts date to int\n * @author Starley Cazorla\n * @param data \n * @returns date to int \n */\n convertDateToInt(data: string): number {\n let temp: any;\n\n if (data === null || data === undefined || data.length <= 0) {\n return 0;\n }\n data = data.substring(0, 10);\n\n if (data.includes('/')) {\n temp = data.split('/');\n } else if (data.includes('-')) {\n temp = data.split('-');\n }\n\n if (temp === undefined) {\n return 0;\n } else if (temp[0].length > 2) {\n return temp[0] + temp[1] + temp[2];\n } else {\n return temp[2] + temp[1] + temp[0];\n }\n }\n\n /**\n * Determines whether today is\n * @author Starley Cazorla\n * @param dateInput \n * @returns true if today \n */\n isToday(dateInput: any): boolean {\n if (dateInput && this.convertDateToInt(dateInput) === this.convertDateToInt(new Date().toLocaleDateString('pt-Br'))) return true;\n return false;\n }\n\n /**\n * Determines whether date is bigger today is\n * @author Starley Cazorla\n * @param dateInput \n * @returns true if date is bigger today \n */\n isDateIsSmallerToday(dateInput: any): boolean {\n if (dateInput === null || dateInput === undefined) return false;\n if (this.convertDateToInt(dateInput) < this.convertDateToInt(new Date().toLocaleDateString('pt-Br'))) return true;\n return false;\n }\n\n /**\n * Firsts bigger than second\n * @author Starley Cazorla\n * @param firstDate \n * @param lastDate \n * @returns true if bigger than second \n */\n firstBiggerThanSecond(firstDate: any, lastDate: any): boolean {\n if (this.convertDateToInt(firstDate) < this.convertDateToInt(lastDate)) return true;\n return false;\n }\n\n /**\n * Gets diff days by today\n * @author Starley Cazorla\n * @param date1 \n * @returns \n */\n getDiffDaysByToday(date1: any) {\n var momentA = moment(date1, 'DD/MM/YYYY');\n var momentB = moment(new Intl.DateTimeFormat('pt-BR').format(this.newDate), 'DD/MM/YYYY');\n var diff = momentB.valueOf() - momentA.valueOf();\n var diffDays = Math.ceil(diff / (1000 * 3600 * 24));\n return diffDays;\n }\n\n /**\n * Gets name day\n * @author Starley Cazorla\n * @param date \n * @param nmDays \n * @returns \n */\n getNameDay(date: any, nmDays: any) {\n var days = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sabado'];\n var d = new Date(date);\n d.setDate(d.getDate() + nmDays)\n return {\n 'dayName': days[d.getDay()],\n 'dayNumber': d.getDate()\n };\n }\n}"]}
1
+ {"version":3,"file":"date-util-provider.js","sourceRoot":"","sources":["../../src/provider/date-util-provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from \"@angular/core\";\nimport moment from 'moment';\n\n/**\n * Date utils\n * @author Starley Cazorla\n */\n\n@Injectable()\nexport class DateUtilProvider {\n newDate = new Date();\n\n constructor() { }\n\n /**\n * Veifica se a data e valida\n * @param date\n * @returns\n */\n isValidDate(date: string) {\n if (!date) return false;\n // Regex format: DD/MM/YYYY | DD-MM-YYYY | DD.MM.YYYY\n const re = /^(?:(?:31(\\/|-|\\.)(?:0?[13578]|1[02]))\\1|(?:(?:29|30)(\\/|-|\\.)(?:0?[1,3-9]|1[0-2])\\2))(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$|^(?:29(\\/|-|\\.)0?2\\3(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\\d|2[0-8])(\\/|-|\\.)(?:(?:0?[1-9])|(?:1[0-2]))\\4(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$/;\n return re.test(date);\n }\n\n /**\n * Converts date to int\n * @author Starley Cazorla\n * @param data\n * @returns date to int\n */\n convertDateToInt(data: string): number {\n let temp: any;\n\n if (data === null || data === undefined || data.length <= 0) {\n return 0;\n }\n data = data.substring(0, 10);\n\n if (data.includes('/')) {\n temp = data.split('/');\n } else if (data.includes('-')) {\n temp = data.split('-');\n }\n\n if (temp === undefined) {\n return 0;\n } else if (temp[0].length > 2) {\n return temp[0] + temp[1] + temp[2];\n } else {\n return temp[2] + temp[1] + temp[0];\n }\n }\n\n /**\n * Determines whether today is\n * @author Starley Cazorla\n * @param dateInput\n * @returns true if today\n */\n isToday(dateInput: any): boolean {\n if (dateInput && this.convertDateToInt(dateInput) === this.convertDateToInt(new Date().toLocaleDateString('pt-Br'))) return true;\n return false;\n }\n\n /**\n * Determines whether date is bigger today is\n * @author Starley Cazorla\n * @param dateInput\n * @returns true if date is bigger today\n */\n isDateIsSmallerToday(dateInput: any): boolean {\n if (dateInput === null || dateInput === undefined) return false;\n if (this.convertDateToInt(dateInput) < this.convertDateToInt(new Date().toLocaleDateString('pt-Br'))) return true;\n return false;\n }\n\n /**\n * Firsts bigger than second\n * @author Starley Cazorla\n * @param firstDate\n * @param lastDate\n * @returns true if bigger than second\n */\n firstBiggerThanSecond(firstDate: any, lastDate: any): boolean {\n if (this.convertDateToInt(firstDate) < this.convertDateToInt(lastDate)) return true;\n return false;\n }\n\n /**\n * Gets diff days by today\n * @author Starley Cazorla\n * @param date1\n * @deprecated\n * @returns\n */\n getDiffDaysByToday(date1: any) {\n var momentA = moment(date1, 'DD/MM/YYYY');\n var momentB = moment(new Intl.DateTimeFormat('pt-BR').format(this.newDate), 'DD/MM/YYYY');\n var diff = momentB.valueOf() - momentA.valueOf();\n var diffDays = Math.ceil(diff / (1000 * 3600 * 24));\n return diffDays;\n }\n\n /**\n * Gets name day\n * @author Starley Cazorla\n * @param date\n * @param nmDays\n * @returns\n */\n getNameDay(date: any, nmDays: any) {\n var days = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sabado'];\n var d = new Date(date);\n d.setDate(d.getDate() + nmDays)\n return {\n 'dayName': days[d.getDay()],\n 'dayNumber': d.getDate()\n };\n }\n\n /**\n * Gets diff days by date\n * @author Starley Cazorla\n * @param date\n * @returns\n */\n getDiffDaysByDate(date: Date) {\n if (!date) return 0;\n const today = new Date();\n const diffTime = Math.abs(date.getTime() - today.getTime());\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n return diffDays;\n }\n}\n"]}
@@ -110,32 +110,33 @@ var IonValidateFilds = /** @class */ (function () {
110
110
  */
111
111
  IonValidateFilds.prototype.validarCPF = function (cpf) {
112
112
  cpf = cpf.replace(/\D/g, '');
113
+ // CPF precisa ter 11 dígitos
114
+ if (cpf.length !== 11)
115
+ return false;
116
+ // Elimina CPFs inválidos conhecidos (sequências repetidas)
117
+ if (/^(\d)\1{10}$/.test(cpf))
118
+ return false;
113
119
  var soma = 0;
114
120
  var resto;
115
- if (cpf === '00000000000') {
116
- return false;
117
- }
121
+ // Valida primeiro dígito
118
122
  for (var i = 1; i <= 9; i++) {
119
- soma = soma + parseInt(cpf.substring(i - 1, i), 10) * (11 - i);
123
+ soma += parseInt(cpf.substring(i - 1, i), 10) * (11 - i);
120
124
  }
121
125
  resto = (soma * 10) % 11;
122
- if (resto === 10 || resto === 11) {
126
+ if (resto === 10 || resto === 11)
123
127
  resto = 0;
124
- }
125
- if (resto !== parseInt(cpf.substring(9, 10), 10)) {
128
+ if (resto !== parseInt(cpf.substring(9, 10), 10))
126
129
  return false;
127
- }
130
+ // Valida segundo dígito
128
131
  soma = 0;
129
132
  for (var i = 1; i <= 10; i++) {
130
- soma = soma + parseInt(cpf.substring(i - 1, i), 10) * (12 - i);
133
+ soma += parseInt(cpf.substring(i - 1, i), 10) * (12 - i);
131
134
  }
132
135
  resto = (soma * 10) % 11;
133
- if (resto === 10 || resto === 11) {
136
+ if (resto === 10 || resto === 11)
134
137
  resto = 0;
135
- }
136
- if (resto !== parseInt(cpf.substring(10, 11), 10)) {
138
+ if (resto !== parseInt(cpf.substring(10, 11), 10))
137
139
  return false;
138
- }
139
140
  return true;
140
141
  };
141
142
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ion-validate-filds.js","sourceRoot":"","sources":["../../src/provider/ion-validate-filds.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from \"@angular/core\";\n\n/**\n * Classe responsavel gerenciar os utils\n * @author Starley Cazorla\n */\n\n@Injectable({ providedIn: 'root' })\nexport class IonValidateFilds {\n\n // Novo formato de validação de CNPJ\n private tamanhoCNPJSemDV = 12;\n private regexCNPJSemDV = /^([A-Z\\d]){12}$/;\n private regexCNPJ = /^([A-Z\\d]){12}(\\d){2}$/;\n private regexCaracteresNaoPermitidos = /[^A-Z\\d./-]/i;\n private regexCaracteresMascara = /[./-]/g;\n private cnpjZerado = \"00000000000000\";\n private pesosDV = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\n private valorBase: number = \"0\".charCodeAt(0);\n\n constructor() { }\n\n /**\n * Validar ddd de todos os estados brasileiros\n * @author Starley Cazorla\n * @param ddd\n * @returns true if ddd\n */\n private validarDDD(ddd: string): boolean {\n const dddsValidos = [\n '11', '12', '13', '14', '15', '16', '17', '18', '19', // SP\n '21', '22', '24', // RJ\n '27', '28', // ES\n '31', '32', '33', '34', '35', '37', '38', // MG\n '41', '42', '43', '44', '45', '46', // PR\n '47', '48', '49', // SC\n '51', '53', '54', '55', // RS\n '61', // DF e GO\n '62', '64', // GO\n '63', // TO\n '65', '66', // MT\n '67', // MS\n '68', // AC\n '69', // RO\n '71', '73', '74', '75', '77', // BA\n '79', // SE\n '81', '87', // PE\n '82', // AL\n '83', // PB\n '84', // RN\n '85', '88', // CE\n '86', '89', // PI\n '91', '93', '94', // PA\n '92', '97', // AM\n '95', // RR\n '96', // AP\n '98', '99', // MA\n ];\n\n return dddsValidos.includes(ddd);\n }\n\n private contemSequenciaRepetida(numero: string): boolean {\n const sequenciasRepetidas = [\n '00000000',\n '11111111',\n '22222222',\n '33333333',\n '44444444',\n '55555555',\n '66666666',\n '77777777',\n '88888888',\n '99999999'\n ];\n\n return sequenciasRepetidas.some(sequencia => numero.includes(sequencia));\n }\n\n /**\n * Validar numero telefone\n * @author Starley Cazorla\n * @param telefone\n * @returns true if numero telefone\n */\n public validarNumeroTelefone(telefone: string): boolean {\n // Remover caracteres não numéricos\n telefone = telefone.replace(/\\D/g, '');\n\n // Verificar o formato do número de telefone fixo (10 dígitos) com DDD\n // const formatoFixo = /^\\d{10}$/;\n\n const numero = telefone.substring(2);\n if (this.contemSequenciaRepetida(numero)) {\n return false;\n }\n\n // if (formatoFixo.test(telefone)) {\n // const ddd = telefone.substring(0, 2);\n // const numero = telefone.substring(2);\n // return this.validarDDD(ddd) && numero.length === 8;\n // }\n\n // Verificar o formato do número de telefone celular (11 dígitos) com DDD\n const formatoCelular = /^\\d{11}$/;\n\n if (formatoCelular.test(telefone)) {\n const ddd = telefone.substring(0, 2);\n const numero = telefone.substring(2);\n const dig = telefone[2];\n if (dig !== '9') return false;\n return this.validarDDD(ddd) && numero.length === 9;\n }\n\n // Número de telefone inválido\n return false;\n }\n\n /**\n * Validar cpf\n * @author Starley Cazorla\n * @param cpf\n * @returns true if cpf\n */\n validarCPF(cpf: string): boolean {\n\n cpf = cpf.replace(/\\D/g, '');\n\n let soma = 0;\n let resto;\n\n if (cpf === '00000000000') {\n return false;\n }\n\n for (let i = 1; i <= 9; i++) {\n soma = soma + parseInt(cpf.substring(i - 1, i), 10) * (11 - i);\n }\n\n resto = (soma * 10) % 11;\n\n if (resto === 10 || resto === 11) {\n resto = 0;\n }\n\n if (resto !== parseInt(cpf.substring(9, 10), 10)) {\n return false;\n }\n\n soma = 0;\n\n for (let i = 1; i <= 10; i++) {\n soma = soma + parseInt(cpf.substring(i - 1, i), 10) * (12 - i);\n }\n\n resto = (soma * 10) % 11;\n\n if (resto === 10 || resto === 11) {\n resto = 0;\n }\n\n if (resto !== parseInt(cpf.substring(10, 11), 10)) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Validar cnpj\n * @author Starley Cazorla\n * @param cnpj\n * @returns true if cnpj\n */\n validarCNPJ(cnpj: string): boolean {\n\n // Novo formato de validação do CNPJ - 2026\n let newCnpj = /[A-Za-z]/;\n if (newCnpj.test(cnpj)) {\n return this.validaNovoFormatoCNPJ(cnpj);\n }\n\n // Remover caracteres não numéricos\n cnpj = cnpj.replace(/[^\\d]/g, '');\n\n // Verificar se o CNPJ possui 14 dígitos\n if (cnpj.length !== 14) {\n return false;\n }\n\n // Verificar se todos os dígitos são iguais (CNPJ inválido)\n if (/^(\\d)\\1+$/.test(cnpj)) {\n return false;\n }\n\n // Calcular os dígitos verificadores\n let tamanho = cnpj.length - 2;\n let numeros = cnpj.substring(0, tamanho);\n const digitos = cnpj.substring(tamanho);\n let soma = 0;\n let pos = tamanho - 7;\n\n for (let i = tamanho; i >= 1; i--) {\n soma += parseInt(numeros.charAt(tamanho - i), 10) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n\n let resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\n\n // Verificar o primeiro dígito verificador\n if (resultado !== parseInt(digitos.charAt(0), 10)) {\n return false;\n }\n\n tamanho++;\n numeros = cnpj.substring(0, tamanho);\n soma = 0;\n pos = tamanho - 7;\n\n for (let i = tamanho; i >= 1; i--) {\n soma += parseInt(numeros.charAt(tamanho - i), 10) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n\n resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\n\n // Verificar o segundo dígito verificador\n if (resultado !== parseInt(digitos.charAt(1), 10)) {\n return false;\n }\n\n // CNPJ válido\n return true;\n }\n\n /**\n * Validas novo formato cnpj\n * @author Starley Cazorla\n * @param cnpj\n * @returns\n */\n validaNovoFormatoCNPJ(cnpj: string) {\n cnpj = cnpj.toUpperCase();\n if (!this.regexCaracteresNaoPermitidos.test(cnpj)) {\n let cnpjSemMascara = this.removeMascaraNovoFormatoCNPJ(cnpj);\n if (this.regexCNPJ.test(cnpjSemMascara) && cnpjSemMascara !== this.cnpjZerado) {\n const dvInformado = cnpjSemMascara.substring(this.tamanhoCNPJSemDV);\n const dvCalculado = this.calculaDvNovoFormatoCNPJ(cnpjSemMascara.substring(0, this.tamanhoCNPJSemDV));\n return dvInformado === dvCalculado;\n }\n }\n return false;\n }\n\n /**\n * Calculas dv novo formato cnpj\n * @author Starley Cazorla\n * @param cnpj\n * @returns\n */\n calculaDvNovoFormatoCNPJ(cnpj: string) {\n cnpj = cnpj.toUpperCase();\n if (!this.regexCaracteresNaoPermitidos.test(cnpj)) {\n let cnpjSemMascara = cnpj.replace(this.regexCaracteresMascara, '');\n if (this.regexCNPJSemDV.test(cnpjSemMascara) && cnpjSemMascara !== this.cnpjZerado.substring(0, this.tamanhoCNPJSemDV)) {\n let somatorioDV1 = 0;\n let somatorioDV2 = 0;\n for (let i = 0; i < this.tamanhoCNPJSemDV; i++) {\n const asciiDigito = cnpjSemMascara.charCodeAt(i) - this.valorBase;\n somatorioDV1 += asciiDigito * this.pesosDV[i + 1];\n somatorioDV2 += asciiDigito * this.pesosDV[i];\n }\n const dv1 = somatorioDV1 % 11 < 2 ? 0 : 11 - (somatorioDV1 % 11);\n somatorioDV2 += dv1 * this.pesosDV[this.tamanhoCNPJSemDV];\n const dv2 = somatorioDV2 % 11 < 2 ? 0 : 11 - (somatorioDV2 % 11);\n return `${dv1}${dv2}`;\n }\n }\n }\n\n removeMascaraNovoFormatoCNPJ(cnpj: string): string {\n return cnpj.replace(this.regexCaracteresMascara, \"\");\n }\n\n /**\n * Formats fild\n * @author Starley Cazorla\n * @param inputFildValue\n * @param [tipoChave] - celular - cpf - cnpj\n * @returns fild\n */\n formatFild(inputFildValue: string, tipoChave?: string): any {\n const regexCPF = /^\\d{11}$/;\n const regexCNPJ = /^\\d{14}$/;\n const regexCelular = /^\\d{10,11}$/;\n\n const chaveSemMascara = inputFildValue.replace(/\\W/g, '');\n\n let fildFormated = {\n fild: '',\n tipoChave: '',\n isValid: false\n };\n\n if ((tipoChave !== undefined && tipoChave === 'celular' || (tipoChave === undefined && regexCelular.test(chaveSemMascara)) && this.validarNumeroTelefone(chaveSemMascara)) && !this.validarCPF(chaveSemMascara)) {\n // Chave é um número de celular válido\n fildFormated.fild = `(${chaveSemMascara.substr(0, 2)}) ${chaveSemMascara.substr(2, 5)}-${chaveSemMascara.substr(7)}`;\n fildFormated.tipoChave = 'TELEFONE';\n } else if (tipoChave !== undefined && tipoChave === 'cpf' || (tipoChave === undefined && regexCPF.test(chaveSemMascara)) && this.validarCPF(chaveSemMascara)) {\n // Chave é um CPF válido\n fildFormated.fild = `${chaveSemMascara.substr(0, 3)}.${chaveSemMascara.substr(3, 3)}.${chaveSemMascara.substr(6, 3)}-${chaveSemMascara.substr(9)}`;\n fildFormated.tipoChave = 'CPF';\n } else if (tipoChave !== undefined && tipoChave === 'cnpj' || (tipoChave === undefined && regexCNPJ.test(chaveSemMascara)) && this.validarCNPJ(chaveSemMascara)) {\n // Chave é um CNPJ válido\n fildFormated.fild = `${chaveSemMascara.substr(0, 2)}.${chaveSemMascara.substr(2, 3)}.${chaveSemMascara.substr(5, 3)}/${chaveSemMascara.substr(8, 4)}-${chaveSemMascara.substr(12)}`;\n fildFormated.tipoChave = 'CNPJ';\n } else {\n // Chave não corresponde a nenhum formato válido\n fildFormated.fild = inputFildValue;\n fildFormated.tipoChave = 'INVÁLIDA';\n }\n\n fildFormated.isValid = fildFormated.tipoChave !== 'INVÁLIDA';\n\n return fildFormated;\n }\n\n}\n"]}
1
+ {"version":3,"file":"ion-validate-filds.js","sourceRoot":"","sources":["../../src/provider/ion-validate-filds.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from \"@angular/core\";\n\n/**\n * Classe responsavel gerenciar os utils\n * @author Starley Cazorla\n */\n\n@Injectable({ providedIn: 'root' })\nexport class IonValidateFilds {\n\n // Novo formato de validação de CNPJ\n private tamanhoCNPJSemDV = 12;\n private regexCNPJSemDV = /^([A-Z\\d]){12}$/;\n private regexCNPJ = /^([A-Z\\d]){12}(\\d){2}$/;\n private regexCaracteresNaoPermitidos = /[^A-Z\\d./-]/i;\n private regexCaracteresMascara = /[./-]/g;\n private cnpjZerado = \"00000000000000\";\n private pesosDV = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\n private valorBase: number = \"0\".charCodeAt(0);\n\n constructor() { }\n\n /**\n * Validar ddd de todos os estados brasileiros\n * @author Starley Cazorla\n * @param ddd\n * @returns true if ddd\n */\n private validarDDD(ddd: string): boolean {\n const dddsValidos = [\n '11', '12', '13', '14', '15', '16', '17', '18', '19', // SP\n '21', '22', '24', // RJ\n '27', '28', // ES\n '31', '32', '33', '34', '35', '37', '38', // MG\n '41', '42', '43', '44', '45', '46', // PR\n '47', '48', '49', // SC\n '51', '53', '54', '55', // RS\n '61', // DF e GO\n '62', '64', // GO\n '63', // TO\n '65', '66', // MT\n '67', // MS\n '68', // AC\n '69', // RO\n '71', '73', '74', '75', '77', // BA\n '79', // SE\n '81', '87', // PE\n '82', // AL\n '83', // PB\n '84', // RN\n '85', '88', // CE\n '86', '89', // PI\n '91', '93', '94', // PA\n '92', '97', // AM\n '95', // RR\n '96', // AP\n '98', '99', // MA\n ];\n\n return dddsValidos.includes(ddd);\n }\n\n private contemSequenciaRepetida(numero: string): boolean {\n const sequenciasRepetidas = [\n '00000000',\n '11111111',\n '22222222',\n '33333333',\n '44444444',\n '55555555',\n '66666666',\n '77777777',\n '88888888',\n '99999999'\n ];\n\n return sequenciasRepetidas.some(sequencia => numero.includes(sequencia));\n }\n\n /**\n * Validar numero telefone\n * @author Starley Cazorla\n * @param telefone\n * @returns true if numero telefone\n */\n public validarNumeroTelefone(telefone: string): boolean {\n // Remover caracteres não numéricos\n telefone = telefone.replace(/\\D/g, '');\n\n // Verificar o formato do número de telefone fixo (10 dígitos) com DDD\n // const formatoFixo = /^\\d{10}$/;\n\n const numero = telefone.substring(2);\n if (this.contemSequenciaRepetida(numero)) {\n return false;\n }\n\n // if (formatoFixo.test(telefone)) {\n // const ddd = telefone.substring(0, 2);\n // const numero = telefone.substring(2);\n // return this.validarDDD(ddd) && numero.length === 8;\n // }\n\n // Verificar o formato do número de telefone celular (11 dígitos) com DDD\n const formatoCelular = /^\\d{11}$/;\n\n if (formatoCelular.test(telefone)) {\n const ddd = telefone.substring(0, 2);\n const numero = telefone.substring(2);\n const dig = telefone[2];\n if (dig !== '9') return false;\n return this.validarDDD(ddd) && numero.length === 9;\n }\n\n // Número de telefone inválido\n return false;\n }\n\n /**\n * Validar cpf\n * @author Starley Cazorla\n * @param cpf\n * @returns true if cpf\n */\n validarCPF(cpf: string): boolean {\n cpf = cpf.replace(/\\D/g, '');\n\n // CPF precisa ter 11 dígitos\n if (cpf.length !== 11) return false;\n\n // Elimina CPFs inválidos conhecidos (sequências repetidas)\n if (/^(\\d)\\1{10}$/.test(cpf)) return false;\n\n let soma = 0;\n let resto;\n\n // Valida primeiro dígito\n for (let i = 1; i <= 9; i++) {\n soma += parseInt(cpf.substring(i - 1, i), 10) * (11 - i);\n }\n resto = (soma * 10) % 11;\n if (resto === 10 || resto === 11) resto = 0;\n if (resto !== parseInt(cpf.substring(9, 10), 10)) return false;\n\n // Valida segundo dígito\n soma = 0;\n for (let i = 1; i <= 10; i++) {\n soma += parseInt(cpf.substring(i - 1, i), 10) * (12 - i);\n }\n resto = (soma * 10) % 11;\n if (resto === 10 || resto === 11) resto = 0;\n if (resto !== parseInt(cpf.substring(10, 11), 10)) return false;\n\n return true;\n }\n\n /**\n * Validar cnpj\n * @author Starley Cazorla\n * @param cnpj\n * @returns true if cnpj\n */\n validarCNPJ(cnpj: string): boolean {\n\n // Novo formato de validação do CNPJ - 2026\n let newCnpj = /[A-Za-z]/;\n if (newCnpj.test(cnpj)) {\n return this.validaNovoFormatoCNPJ(cnpj);\n }\n\n // Remover caracteres não numéricos\n cnpj = cnpj.replace(/[^\\d]/g, '');\n\n // Verificar se o CNPJ possui 14 dígitos\n if (cnpj.length !== 14) {\n return false;\n }\n\n // Verificar se todos os dígitos são iguais (CNPJ inválido)\n if (/^(\\d)\\1+$/.test(cnpj)) {\n return false;\n }\n\n // Calcular os dígitos verificadores\n let tamanho = cnpj.length - 2;\n let numeros = cnpj.substring(0, tamanho);\n const digitos = cnpj.substring(tamanho);\n let soma = 0;\n let pos = tamanho - 7;\n\n for (let i = tamanho; i >= 1; i--) {\n soma += parseInt(numeros.charAt(tamanho - i), 10) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n\n let resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\n\n // Verificar o primeiro dígito verificador\n if (resultado !== parseInt(digitos.charAt(0), 10)) {\n return false;\n }\n\n tamanho++;\n numeros = cnpj.substring(0, tamanho);\n soma = 0;\n pos = tamanho - 7;\n\n for (let i = tamanho; i >= 1; i--) {\n soma += parseInt(numeros.charAt(tamanho - i), 10) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n\n resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\n\n // Verificar o segundo dígito verificador\n if (resultado !== parseInt(digitos.charAt(1), 10)) {\n return false;\n }\n\n // CNPJ válido\n return true;\n }\n\n /**\n * Validas novo formato cnpj\n * @author Starley Cazorla\n * @param cnpj\n * @returns\n */\n validaNovoFormatoCNPJ(cnpj: string) {\n cnpj = cnpj.toUpperCase();\n if (!this.regexCaracteresNaoPermitidos.test(cnpj)) {\n let cnpjSemMascara = this.removeMascaraNovoFormatoCNPJ(cnpj);\n if (this.regexCNPJ.test(cnpjSemMascara) && cnpjSemMascara !== this.cnpjZerado) {\n const dvInformado = cnpjSemMascara.substring(this.tamanhoCNPJSemDV);\n const dvCalculado = this.calculaDvNovoFormatoCNPJ(cnpjSemMascara.substring(0, this.tamanhoCNPJSemDV));\n return dvInformado === dvCalculado;\n }\n }\n return false;\n }\n\n /**\n * Calculas dv novo formato cnpj\n * @author Starley Cazorla\n * @param cnpj\n * @returns\n */\n calculaDvNovoFormatoCNPJ(cnpj: string) {\n cnpj = cnpj.toUpperCase();\n if (!this.regexCaracteresNaoPermitidos.test(cnpj)) {\n let cnpjSemMascara = cnpj.replace(this.regexCaracteresMascara, '');\n if (this.regexCNPJSemDV.test(cnpjSemMascara) && cnpjSemMascara !== this.cnpjZerado.substring(0, this.tamanhoCNPJSemDV)) {\n let somatorioDV1 = 0;\n let somatorioDV2 = 0;\n for (let i = 0; i < this.tamanhoCNPJSemDV; i++) {\n const asciiDigito = cnpjSemMascara.charCodeAt(i) - this.valorBase;\n somatorioDV1 += asciiDigito * this.pesosDV[i + 1];\n somatorioDV2 += asciiDigito * this.pesosDV[i];\n }\n const dv1 = somatorioDV1 % 11 < 2 ? 0 : 11 - (somatorioDV1 % 11);\n somatorioDV2 += dv1 * this.pesosDV[this.tamanhoCNPJSemDV];\n const dv2 = somatorioDV2 % 11 < 2 ? 0 : 11 - (somatorioDV2 % 11);\n return `${dv1}${dv2}`;\n }\n }\n }\n\n removeMascaraNovoFormatoCNPJ(cnpj: string): string {\n return cnpj.replace(this.regexCaracteresMascara, \"\");\n }\n\n /**\n * Formats fild\n * @author Starley Cazorla\n * @param inputFildValue\n * @param [tipoChave] - celular - cpf - cnpj\n * @returns fild\n */\n formatFild(inputFildValue: string, tipoChave?: string): any {\n const regexCPF = /^\\d{11}$/;\n const regexCNPJ = /^\\d{14}$/;\n const regexCelular = /^\\d{10,11}$/;\n\n const chaveSemMascara = inputFildValue.replace(/\\W/g, '');\n\n let fildFormated = {\n fild: '',\n tipoChave: '',\n isValid: false\n };\n\n if ((tipoChave !== undefined && tipoChave === 'celular' || (tipoChave === undefined && regexCelular.test(chaveSemMascara)) && this.validarNumeroTelefone(chaveSemMascara)) && !this.validarCPF(chaveSemMascara)) {\n // Chave é um número de celular válido\n fildFormated.fild = `(${chaveSemMascara.substr(0, 2)}) ${chaveSemMascara.substr(2, 5)}-${chaveSemMascara.substr(7)}`;\n fildFormated.tipoChave = 'TELEFONE';\n } else if (tipoChave !== undefined && tipoChave === 'cpf' || (tipoChave === undefined && regexCPF.test(chaveSemMascara)) && this.validarCPF(chaveSemMascara)) {\n // Chave é um CPF válido\n fildFormated.fild = `${chaveSemMascara.substr(0, 3)}.${chaveSemMascara.substr(3, 3)}.${chaveSemMascara.substr(6, 3)}-${chaveSemMascara.substr(9)}`;\n fildFormated.tipoChave = 'CPF';\n } else if (tipoChave !== undefined && tipoChave === 'cnpj' || (tipoChave === undefined && regexCNPJ.test(chaveSemMascara)) && this.validarCNPJ(chaveSemMascara)) {\n // Chave é um CNPJ válido\n fildFormated.fild = `${chaveSemMascara.substr(0, 2)}.${chaveSemMascara.substr(2, 3)}.${chaveSemMascara.substr(5, 3)}/${chaveSemMascara.substr(8, 4)}-${chaveSemMascara.substr(12)}`;\n fildFormated.tipoChave = 'CNPJ';\n } else {\n // Chave não corresponde a nenhum formato válido\n fildFormated.fild = inputFildValue;\n fildFormated.tipoChave = 'INVÁLIDA';\n }\n\n fildFormated.isValid = fildFormated.tipoChave !== 'INVÁLIDA';\n\n return fildFormated;\n }\n\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starley/ion-directives",
3
- "version": "1.3.15",
3
+ "version": "1.3.17",
4
4
  "description": "Directivas internas para ionic",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",