@starley/ion-directives 1.3.14 → 1.3.16

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.
@@ -16,11 +16,13 @@ var IonInputRemoveDirective = /** @class */ (function () {
16
16
  if (this.pattern) {
17
17
  value = value.normalize('NFD').replace(this.getPattern(this.pattern), '');
18
18
  input.value = value;
19
- this.model.control.setValue(value, {
20
- emitEvent: true,
21
- emitModelToViewChange: true,
22
- emitViewToModelChange: true
23
- });
19
+ if (this.model) {
20
+ this.model.control.setValue(value, {
21
+ emitEvent: true,
22
+ emitModelToViewChange: true,
23
+ emitViewToModelChange: true
24
+ });
25
+ }
24
26
  }
25
27
  };
26
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"input-remove.directive.js","sourceRoot":"","sources":["../../src/input-remove/input-remove.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;;;AAGvE;IASI,iCAA+C,KAAc;QAAd,UAAK,GAAL,KAAK,CAAS;IAAI,CAAC;IAElE;;;;OAIG;IACH,4CAAU,GAAV,UAAW,KAAU;QACjB,IAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC/C,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAExB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1E,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;gBAC/B,SAAS,EAAE,IAAI;gBACf,qBAAqB,EAAE,IAAI;gBAC3B,qBAAqB,EAAE,IAAI;aAC9B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,4CAAU,GAAV,UAAW,UAAkB;QACzB,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC;QACjD,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC7C,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,2BAA2B,CAAC;QACjE,IAAI,UAAU,KAAK,aAAa;YAAE,OAAO,iBAAiB,CAAC;QAC3D,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;kIAtCQ,uBAAuB;8EAAvB,uBAAuB;YAAvB,wGAAA,sBAAkB,IAAK;;kCATpC;CAgDC,AA7CD,IA6CC;SAvCY,uBAAuB;uFAAvB,uBAAuB;cANnC,SAAS;eAAC;gBACP,QAAQ,EAAE,sBAAsB;gBAChC,IAAI,EAAE;oBACF,YAAY,EAAE,oBAAoB;iBACrC;aACJ;;sBAIgB,QAAQ;;sBAAI,IAAI;;sBAAI,IAAI;wBAFR,OAAO;kBAAnC,KAAK;mBAAC,oBAAoB","sourcesContent":["import { Directive, Host, Input, Optional, Self } from '@angular/core';\nimport { NgModel } from \"@angular/forms\";\n\n@Directive({\n selector: '[appRemoveFromInput]',\n host: {\n '(ionInput)': 'onIonInput($event)'\n }\n})\nexport class IonInputRemoveDirective {\n @Input('appRemoveFromInput') pattern: string;\n\n constructor(@Optional() @Host() @Self() public model: NgModel) { }\n\n /**\n * Determines whether ion input on\n * @author Starley Cazorla\n * @param event\n */\n onIonInput(event: any) {\n const input = event.target as HTMLInputElement;\n let value = input.value;\n\n if (this.pattern) {\n value = value.normalize('NFD').replace(this.getPattern(this.pattern), '');\n input.value = value;\n\n this.model.control.setValue(value, {\n emitEvent: true,\n emitModelToViewChange: true,\n emitViewToModelChange: true\n });\n }\n }\n\n /**\n * Gets pattern\n * @author Starley Cazorla\n * @param typePatter\n * @returns pattern - letter - number - special - punctuation\n */\n getPattern(typePatter: string): RegExp {\n if (typePatter === 'letter') return /[a-zA-Z]+/g;\n if (typePatter === 'number') return /[0-9]/g;\n if (typePatter === 'special') return /[^a-zA-Z0-9\\s.,!?'\"():;]/g;\n if (typePatter === 'punctuation') return /[.,!?'\"():;_-]/g;\n return new RegExp(typePatter, 'g');\n }\n}\n"]}
1
+ {"version":3,"file":"input-remove.directive.js","sourceRoot":"","sources":["../../src/input-remove/input-remove.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;;;AAGvE;IASI,iCAA+C,KAAc;QAAd,UAAK,GAAL,KAAK,CAAS;IAAI,CAAC;IAElE;;;;OAIG;IACH,4CAAU,GAAV,UAAW,KAAU;QACjB,IAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC/C,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAExB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1E,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;oBAC/B,SAAS,EAAE,IAAI;oBACf,qBAAqB,EAAE,IAAI;oBAC3B,qBAAqB,EAAE,IAAI;iBAC9B,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,4CAAU,GAAV,UAAW,UAAkB;QACzB,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC;QACjD,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC7C,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,2BAA2B,CAAC;QACjE,IAAI,UAAU,KAAK,aAAa;YAAE,OAAO,iBAAiB,CAAC;QAC3D,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;kIAxCQ,uBAAuB;8EAAvB,uBAAuB;YAAvB,wGAAA,sBAAkB,IAAK;;kCATpC;CAkDC,AA/CD,IA+CC;SAzCY,uBAAuB;uFAAvB,uBAAuB;cANnC,SAAS;eAAC;gBACP,QAAQ,EAAE,sBAAsB;gBAChC,IAAI,EAAE;oBACF,YAAY,EAAE,oBAAoB;iBACrC;aACJ;;sBAIgB,QAAQ;;sBAAI,IAAI;;sBAAI,IAAI;wBAFR,OAAO;kBAAnC,KAAK;mBAAC,oBAAoB","sourcesContent":["import { Directive, Host, Input, Optional, Self } from '@angular/core';\nimport { NgModel } from \"@angular/forms\";\n\n@Directive({\n selector: '[appRemoveFromInput]',\n host: {\n '(ionInput)': 'onIonInput($event)'\n }\n})\nexport class IonInputRemoveDirective {\n @Input('appRemoveFromInput') pattern: string;\n\n constructor(@Optional() @Host() @Self() public model: NgModel) { }\n\n /**\n * Determines whether ion input on\n * @author Starley Cazorla\n * @param event\n */\n onIonInput(event: any) {\n const input = event.target as HTMLInputElement;\n let value = input.value;\n\n if (this.pattern) {\n value = value.normalize('NFD').replace(this.getPattern(this.pattern), '');\n input.value = value;\n\n if (this.model) {\n this.model.control.setValue(value, {\n emitEvent: true,\n emitModelToViewChange: true,\n emitViewToModelChange: true\n });\n }\n }\n }\n\n /**\n * Gets pattern\n * @author Starley Cazorla\n * @param typePatter\n * @returns pattern - letter - number - special - punctuation\n */\n getPattern(typePatter: string): RegExp {\n if (typePatter === 'letter') return /[a-zA-Z]+/g;\n if (typePatter === 'number') return /[0-9]/g;\n if (typePatter === 'special') return /[^a-zA-Z0-9\\s.,!?'\"():;]/g;\n if (typePatter === 'punctuation') return /[.,!?'\"():;_-]/g;\n return new RegExp(typePatter, 'g');\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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;AAE3C;;;GAGG;AAEH;IAaI;QAVA,oCAAoC;QAC5B,qBAAgB,GAAG,EAAE,CAAC;QACtB,mBAAc,GAAG,iBAAiB,CAAC;QACnC,cAAS,GAAG,wBAAwB,CAAC;QACrC,iCAA4B,GAAG,cAAc,CAAC;QAC9C,2BAAsB,GAAG,QAAQ,CAAC;QAClC,eAAU,GAAG,gBAAgB,CAAC;QAC9B,YAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,cAAS,GAAW,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAE9B,CAAC;IAEjB;;;;;MAKE;IACM,qCAAU,GAAlB,UAAmB,GAAW;QAC1B,IAAM,WAAW,GAAG;YAChB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;YAC3D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;YACvB,IAAI,EAAE,IAAI,EAAE,KAAK;YACjB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;YAC/C,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;YACzC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;YACvB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;YAC7B,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,EAAE,KAAK;YACjB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI,EAAE,KAAK;YACjB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;YACnC,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI,EAAE,KAAK;YACjB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI,EAAE,KAAK;YACjB,IAAI,EAAE,IAAI,EAAE,KAAK;YACjB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;YACvB,IAAI,EAAE,IAAI,EAAE,KAAK;YACjB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI,EAAE,KAAK;SACpB,CAAC;QAEF,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAEO,kDAAuB,GAA/B,UAAgC,MAAc;QAC1C,IAAM,mBAAmB,GAAG;YACxB,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;SACb,CAAC;QAEF,OAAO,mBAAmB,CAAC,IAAI,CAAC,UAAA,SAAS,IAAI,OAAA,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAA1B,CAA0B,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACI,gDAAqB,GAA5B,UAA6B,QAAgB;QACzC,mCAAmC;QACnC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEvC,sEAAsE;QACtE,kCAAkC;QAElC,IAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,oCAAoC;QACpC,4CAA4C;QAC5C,4CAA4C;QAC5C,0DAA0D;QAC1D,IAAI;QAEJ,yEAAyE;QACzE,IAAM,cAAc,GAAG,UAAU,CAAC;QAElC,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,IAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,IAAM,QAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACrC,IAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,GAAG,KAAK,GAAG;gBAAE,OAAO,KAAK,CAAC;YAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,8BAA8B;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,qCAAU,GAAV,UAAW,GAAW;QAElB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE7B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,KAAK,CAAC;QAEV,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC/B,KAAK,GAAG,CAAC,CAAC;QACd,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,GAAG,CAAC,CAAC;QAET,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC/B,KAAK,GAAG,CAAC,CAAC;QACd,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,sCAAW,GAAX,UAAY,IAAY;QAEpB,2CAA2C;QAC3C,IAAI,OAAO,GAAG,UAAU,CAAC;QACzB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,mCAAmC;QACnC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAElC,wCAAwC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,2DAA2D;QAC3D,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACzC,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;YAC1D,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACV,GAAG,GAAG,CAAC,CAAC;YACZ,CAAC;QACL,CAAC;QAED,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAErD,0CAA0C;QAC1C,IAAI,SAAS,KAAK,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,EAAE,CAAC;QACV,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrC,IAAI,GAAG,CAAC,CAAC;QACT,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;QAElB,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;YAC1D,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACV,GAAG,GAAG,CAAC,CAAC;YACZ,CAAC;QACL,CAAC;QAED,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAEjD,yCAAyC;QACzC,IAAI,SAAS,KAAK,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,cAAc;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,gDAAqB,GAArB,UAAsB,IAAY;QAC9B,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,cAAc,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,cAAc,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5E,IAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACpE,IAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACtG,OAAO,WAAW,KAAK,WAAW,CAAC;YACvC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,mDAAwB,GAAxB,UAAyB,IAAY;QACjC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,cAAc,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACrH,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,IAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBAClE,YAAY,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClD,YAAY,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;gBACD,IAAM,GAAG,GAAG,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;gBACjE,YAAY,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC1D,IAAM,GAAG,GAAG,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;gBACjE,OAAO,UAAG,GAAG,SAAG,GAAG,CAAE,CAAC;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;IAED,uDAA4B,GAA5B,UAA6B,IAAY;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACH,qCAAU,GAAV,UAAW,cAAsB,EAAE,SAAkB;QACjD,IAAM,QAAQ,GAAG,UAAU,CAAC;QAC5B,IAAM,SAAS,GAAG,UAAU,CAAC;QAC7B,IAAM,YAAY,GAAG,aAAa,CAAC;QAEnC,IAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE1D,IAAI,YAAY,GAAG;YACf,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,KAAK;SACjB,CAAC;QAEF,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9M,sCAAsC;YACtC,YAAY,CAAC,IAAI,GAAG,WAAI,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,eAAK,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,cAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC;YACrH,YAAY,CAAC,SAAS,GAAG,UAAU,CAAC;QACxC,CAAC;aAAM,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,KAAK,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC3J,wBAAwB;YACxB,YAAY,CAAC,IAAI,GAAG,UAAG,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,cAAI,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,cAAI,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,cAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC;YACnJ,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,CAAC;aAAM,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,MAAM,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9J,yBAAyB;YACzB,YAAY,CAAC,IAAI,GAAG,UAAG,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,cAAI,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,cAAI,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,cAAI,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,cAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAE,CAAC;YACpL,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,gDAAgD;YAChD,YAAY,CAAC,IAAI,GAAG,cAAc,CAAC;YACnC,YAAY,CAAC,SAAS,GAAG,UAAU,CAAC;QACxC,CAAC;QAED,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,SAAS,KAAK,UAAU,CAAC;QAE7D,OAAO,YAAY,CAAC;IACxB,CAAC;oHAjUQ,gBAAgB;0EAAhB,gBAAgB,WAAhB,gBAAgB,mBADH,MAAM;2BAPhC;CA2UC,AApUD,IAoUC;SAnUY,gBAAgB;uFAAhB,gBAAgB;cAD5B,UAAU;eAAC,EAAE,UAAU,EAAE,MAAM,EAAE","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.14",
3
+ "version": "1.3.16",
4
4
  "description": "Directivas internas para ionic",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -39,7 +39,7 @@
39
39
  "devDependencies": {
40
40
  "@angular/common": "^19.2.2",
41
41
  "@angular/compiler": "^19.2.2",
42
- "@angular/compiler-cli": "^18.0.00",
42
+ "@angular/compiler-cli": "^18.0.0",
43
43
  "@angular/core": "^19.2.2",
44
44
  "@angular/forms": "^19.2.2",
45
45
  "@types/node": "^22.13.10",